aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/DocBook/Makefile5
-rw-r--r--Documentation/DocBook/kgdb.tmpl2
-rw-r--r--Documentation/filesystems/Locking24
-rw-r--r--Documentation/input/bcm5974.txt65
-rw-r--r--Documentation/input/multi-touch-protocol.txt140
-rw-r--r--Documentation/kernel-doc-nano-HOWTO.txt7
-rw-r--r--Documentation/kernel-parameters.txt12
-rw-r--r--Documentation/lockdep-design.txt6
-rw-r--r--Documentation/sysctl/vm.txt32
-rw-r--r--Documentation/sysfs-rules.txt2
-rw-r--r--MAINTAINERS23
-rw-r--r--Makefile8
-rw-r--r--arch/alpha/include/asm/barrier.h2
-rw-r--r--arch/alpha/include/asm/futex.h118
-rw-r--r--arch/alpha/include/asm/percpu.h26
-rw-r--r--arch/alpha/include/asm/uaccess.h2
-rw-r--r--arch/alpha/kernel/Makefile6
-rw-r--r--arch/alpha/kernel/binfmt_loader.c2
-rw-r--r--arch/alpha/kernel/err_ev6.c2
-rw-r--r--arch/alpha/kernel/err_ev7.c4
-rw-r--r--arch/alpha/kernel/err_impl.h10
-rw-r--r--arch/alpha/kernel/err_marvel.c2
-rw-r--r--arch/alpha/kernel/err_titan.c4
-rw-r--r--arch/alpha/kernel/proto.h5
-rw-r--r--arch/alpha/mm/extable.c40
-rw-r--r--arch/arm/Kconfig61
-rw-r--r--arch/arm/configs/davinci_all_defconfig1784
-rw-r--r--arch/arm/configs/kirkwood_defconfig92
-rw-r--r--arch/arm/configs/mv78xx0_defconfig429
-rw-r--r--arch/arm/configs/mx31moboard_defconfig790
-rw-r--r--arch/arm/configs/mx3_defconfig2
-rw-r--r--arch/arm/configs/orion5x_defconfig363
-rw-r--r--arch/arm/configs/viper_defconfig1
-rw-r--r--arch/arm/include/asm/elf.h16
-rw-r--r--arch/arm/kernel/module.c15
-rw-r--r--arch/arm/mach-davinci/Kconfig47
-rw-r--r--arch/arm/mach-davinci/Makefile9
-rw-r--r--arch/arm/mach-davinci/board-dm644x-evm.c (renamed from arch/arm/mach-davinci/board-evm.c)318
-rw-r--r--arch/arm/mach-davinci/clock.c385
-rw-r--r--arch/arm/mach-davinci/clock.h87
-rw-r--r--arch/arm/mach-davinci/devices.c7
-rw-r--r--arch/arm/mach-davinci/dm644x.c461
-rw-r--r--arch/arm/mach-davinci/dma.c1135
-rw-r--r--arch/arm/mach-davinci/gpio.c82
-rw-r--r--arch/arm/mach-davinci/id.c35
-rw-r--r--arch/arm/mach-davinci/include/mach/asp.h25
-rw-r--r--arch/arm/mach-davinci/include/mach/board-dm6446evm.h20
-rw-r--r--arch/arm/mach-davinci/include/mach/clkdev.h13
-rw-r--r--arch/arm/mach-davinci/include/mach/clock.h1
-rw-r--r--arch/arm/mach-davinci/include/mach/common.h6
-rw-r--r--arch/arm/mach-davinci/include/mach/cputype.h49
-rw-r--r--arch/arm/mach-davinci/include/mach/dm644x.h37
-rw-r--r--arch/arm/mach-davinci/include/mach/edma.h228
-rw-r--r--arch/arm/mach-davinci/include/mach/gpio.h27
-rw-r--r--arch/arm/mach-davinci/include/mach/hardware.h51
-rw-r--r--arch/arm/mach-davinci/include/mach/io.h20
-rw-r--r--arch/arm/mach-davinci/include/mach/irqs.h103
-rw-r--r--arch/arm/mach-davinci/include/mach/mux.h220
-rw-r--r--arch/arm/mach-davinci/include/mach/psc.h53
-rw-r--r--arch/arm/mach-davinci/include/mach/serial.h21
-rw-r--r--arch/arm/mach-davinci/io.c23
-rw-r--r--arch/arm/mach-davinci/irq.c156
-rw-r--r--arch/arm/mach-davinci/mux.c100
-rw-r--r--arch/arm/mach-davinci/mux.h51
-rw-r--r--arch/arm/mach-davinci/psc.c98
-rw-r--r--arch/arm/mach-davinci/serial.c95
-rw-r--r--arch/arm/mach-davinci/time.c103
-rw-r--r--arch/arm/mach-davinci/usb.c2
-rw-r--r--arch/arm/mach-ixp4xx/ixp4xx_npe.c2
-rw-r--r--arch/arm/mach-omap1/board-h2-mmc.c14
-rw-r--r--arch/arm/mach-omap1/board-h3-mmc.c6
-rw-r--r--arch/arm/mach-omap1/board-h3.c101
-rw-r--r--arch/arm/mach-omap1/board-nokia770.c6
-rw-r--r--arch/arm/mach-omap1/mcbsp.c4
-rw-r--r--arch/arm/mach-omap2/board-h4.c95
-rw-r--r--arch/arm/mach-omap2/board-omap3beagle.c4
-rw-r--r--arch/arm/mach-omap2/board-rx51.c1
-rw-r--r--arch/arm/mach-omap2/clock24xx.c19
-rw-r--r--arch/arm/mach-omap2/clock24xx.h10
-rw-r--r--arch/arm/mach-omap2/clock34xx.h7
-rw-r--r--arch/arm/mach-omap2/devices.c33
-rw-r--r--arch/arm/mach-omap2/irq.c4
-rw-r--r--arch/arm/mach-omap2/timer-gp.c48
-rw-r--r--arch/arm/mach-omap2/usb-tusb6010.c2
-rw-r--r--arch/arm/mach-pxa/Kconfig4
-rw-r--r--arch/arm/mach-pxa/corgi.c10
-rw-r--r--arch/arm/mach-pxa/littleton.c9
-rw-r--r--arch/arm/mach-pxa/spitz.c10
-rw-r--r--arch/arm/mach-pxa/zylonite_pxa300.c5
-rw-r--r--arch/arm/mach-pxa/zylonite_pxa320.c1
-rw-r--r--arch/arm/mach-s3c2412/pm.c3
-rw-r--r--arch/arm/mach-s3c6400/include/mach/map.h2
-rw-r--r--arch/arm/mach-sa1100/lart.c1
-rw-r--r--arch/arm/mm/cache-v6.S33
-rw-r--r--arch/arm/mm/flush.c23
-rw-r--r--arch/arm/mm/proc-v7.S19
-rw-r--r--arch/arm/plat-mxc/dma-mx1-mx2.c17
-rw-r--r--arch/arm/plat-mxc/gpio.c2
-rw-r--r--arch/arm/plat-mxc/include/mach/board-mx27ads.h2
-rw-r--r--arch/arm/plat-omap/clock.c7
-rw-r--r--arch/arm/plat-omap/dma.c13
-rw-r--r--arch/arm/plat-omap/dmtimer.c28
-rw-r--r--arch/arm/plat-omap/gpio.c20
-rw-r--r--arch/arm/plat-omap/include/mach/dmtimer.h2
-rw-r--r--arch/arm/plat-omap/include/mach/eac.h100
-rw-r--r--arch/arm/plat-omap/include/mach/gpioexpander.h35
-rw-r--r--arch/arm/plat-omap/include/mach/irda.h4
-rw-r--r--arch/arm/plat-omap/include/mach/mmc.h1
-rw-r--r--arch/arm/plat-omap/include/mach/timer-gp.h17
-rw-r--r--arch/arm/plat-pxa/gpio.c23
-rw-r--r--arch/avr32/Makefile2
-rw-r--r--arch/cris/Makefile14
-rw-r--r--arch/cris/arch-v10/boot/compressed/README25
-rw-r--r--arch/cris/arch-v10/boot/compressed/misc.c246
-rw-r--r--arch/cris/arch-v10/kernel/entry.S14
-rw-r--r--arch/cris/arch-v32/boot/Makefile20
-rw-r--r--arch/cris/arch-v32/boot/compressed/Makefile26
-rw-r--r--arch/cris/arch-v32/boot/rescue/Makefile26
-rw-r--r--arch/cris/arch-v32/drivers/mach-a3/gpio.c4
-rw-r--r--arch/cris/arch-v32/kernel/Makefile2
-rw-r--r--arch/cris/arch-v32/kernel/entry.S8
-rw-r--r--arch/cris/boot/.gitignore (renamed from arch/cris/arch-v10/boot/.gitignore)0
-rw-r--r--arch/cris/boot/Makefile (renamed from arch/cris/arch-v10/boot/Makefile)8
-rw-r--r--arch/cris/boot/compressed/Makefile (renamed from arch/cris/arch-v10/boot/compressed/Makefile)19
-rw-r--r--arch/cris/boot/compressed/README (renamed from arch/cris/arch-v32/boot/compressed/README)0
-rw-r--r--arch/cris/boot/compressed/decompress_v10.lds (renamed from arch/cris/arch-v10/boot/compressed/decompress.lds)0
-rw-r--r--arch/cris/boot/compressed/decompress_v32.lds (renamed from arch/cris/arch-v32/boot/compressed/decompress.lds)0
-rw-r--r--arch/cris/boot/compressed/head_v10.S (renamed from arch/cris/arch-v10/boot/compressed/head.S)4
-rw-r--r--arch/cris/boot/compressed/head_v32.S (renamed from arch/cris/arch-v32/boot/compressed/head.S)10
-rw-r--r--arch/cris/boot/compressed/misc.c (renamed from arch/cris/arch-v32/boot/compressed/misc.c)193
-rw-r--r--arch/cris/boot/rescue/Makefile (renamed from arch/cris/arch-v10/boot/rescue/Makefile)22
-rw-r--r--arch/cris/boot/rescue/head_v10.S (renamed from arch/cris/arch-v10/boot/rescue/head.S)2
-rw-r--r--arch/cris/boot/rescue/head_v32.S (renamed from arch/cris/arch-v32/boot/rescue/head.S)0
-rw-r--r--arch/cris/boot/rescue/kimagerescue.S (renamed from arch/cris/arch-v10/boot/rescue/kimagerescue.S)0
-rw-r--r--arch/cris/boot/rescue/rescue_v10.lds (renamed from arch/cris/arch-v10/boot/rescue/rescue.lds)0
-rw-r--r--arch/cris/boot/rescue/rescue_v32.lds (renamed from arch/cris/arch-v32/boot/rescue/rescue.lds)0
-rw-r--r--arch/cris/boot/rescue/testrescue.S (renamed from arch/cris/arch-v10/boot/rescue/testrescue.S)0
-rw-r--r--arch/cris/boot/tools/build.c (renamed from arch/cris/arch-v10/boot/tools/build.c)0
-rw-r--r--arch/cris/include/asm/unistd.h12
-rw-r--r--arch/ia64/include/asm/idle.h7
-rw-r--r--arch/ia64/include/asm/xen/events.h7
-rw-r--r--arch/ia64/xen/xensetup.S2
-rw-r--r--arch/m32r/boot/compressed/Makefile1
-rw-r--r--arch/m32r/include/asm/assembler.h7
-rw-r--r--arch/m32r/kernel/Makefile2
-rw-r--r--arch/microblaze/include/asm/of_platform.h10
-rw-r--r--arch/microblaze/kernel/cpu/cpuinfo-static.c4
-rw-r--r--arch/microblaze/kernel/sys_microblaze.c2
-rw-r--r--arch/mips/Kconfig20
-rw-r--r--arch/mips/Makefile5
-rw-r--r--arch/mips/alchemy/common/time.c2
-rw-r--r--arch/mips/cavium-octeon/csrc-octeon.c2
-rw-r--r--arch/mips/include/asm/bitops.h4
-rw-r--r--arch/mips/include/asm/checksum.h4
-rw-r--r--arch/mips/include/asm/compat.h1
-rw-r--r--arch/mips/include/asm/cpu-features.h9
-rw-r--r--arch/mips/include/asm/div64.h142
-rw-r--r--arch/mips/include/asm/dma-mapping.h9
-rw-r--r--arch/mips/include/asm/fixmap.h3
-rw-r--r--arch/mips/include/asm/hazards.h5
-rw-r--r--arch/mips/include/asm/highmem.h6
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1000.h6
-rw-r--r--arch/mips/include/asm/mach-au1x00/au1xxx_ide.h17
-rw-r--r--arch/mips/include/asm/mach-lemote/cpu-feature-overrides.h59
-rw-r--r--arch/mips/include/asm/mipsregs.h38
-rw-r--r--arch/mips/include/asm/page.h3
-rw-r--r--arch/mips/include/asm/pgtable-64.h6
-rw-r--r--arch/mips/include/asm/sn/addrs.h4
-rw-r--r--arch/mips/include/asm/sn/nmi.h4
-rw-r--r--arch/mips/include/asm/thread_info.h3
-rw-r--r--arch/mips/include/asm/time.h6
-rw-r--r--arch/mips/include/asm/uaccess.h66
-rw-r--r--arch/mips/kernel/cevt-smtc.c2
-rw-r--r--arch/mips/kernel/scall64-n32.S4
-rw-r--r--arch/mips/kernel/scall64-o32.S4
-rw-r--r--arch/mips/kernel/unaligned.c6
-rw-r--r--arch/mips/lib/dump_tlb.c9
-rw-r--r--arch/mips/mm/c-r4k.c2
-rw-r--r--arch/mips/mm/dma-default.c19
-rw-r--r--arch/mips/mm/highmem.c25
-rw-r--r--arch/mips/mm/init.c26
-rw-r--r--arch/mips/mm/sc-rm7k.c4
-rw-r--r--arch/mips/pmc-sierra/Kconfig12
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_prom.c60
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_setup.c8
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_time.c7
-rw-r--r--arch/mips/sgi-ip32/ip32-berr.c2
-rw-r--r--arch/mips/sgi-ip32/ip32-irq.c4
-rw-r--r--arch/mips/sibyte/bcm1480/irq.c7
-rw-r--r--arch/mips/sibyte/sb1250/irq.c7
-rw-r--r--arch/mips/txx9/generic/setup_tx4927.c2
-rw-r--r--arch/mips/txx9/generic/setup_tx4938.c2
-rw-r--r--arch/mips/txx9/generic/setup_tx4939.c2
-rw-r--r--arch/mips/txx9/rbtx4939/setup.c2
-rw-r--r--arch/powerpc/Kconfig4
-rw-r--r--arch/powerpc/boot/Makefile69
-rw-r--r--arch/powerpc/boot/mktree.c10
-rw-r--r--arch/powerpc/boot/simpleboot.c2
-rw-r--r--arch/powerpc/configs/83xx/asp8347_defconfig104
-rw-r--r--arch/powerpc/configs/83xx/mpc8313_rdb_defconfig114
-rw-r--r--arch/powerpc/configs/83xx/mpc8315_rdb_defconfig114
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_mds_defconfig107
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_rdb_defconfig113
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itx_defconfig108
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig108
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_mds_defconfig103
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_mds_defconfig108
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_rdk_defconfig96
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_mds_defconfig104
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_rdb_defconfig111
-rw-r--r--arch/powerpc/configs/83xx/sbc834x_defconfig96
-rw-r--r--arch/powerpc/configs/85xx/ksi8560_defconfig86
-rw-r--r--arch/powerpc/configs/85xx/mpc8540_ads_defconfig82
-rw-r--r--arch/powerpc/configs/85xx/mpc8560_ads_defconfig89
-rw-r--r--arch/powerpc/configs/85xx/mpc85xx_cds_defconfig88
-rw-r--r--arch/powerpc/configs/85xx/sbc8548_defconfig84
-rw-r--r--arch/powerpc/configs/85xx/sbc8560_defconfig83
-rw-r--r--arch/powerpc/configs/85xx/socrates_defconfig385
-rw-r--r--arch/powerpc/configs/85xx/stx_gp3_defconfig105
-rw-r--r--arch/powerpc/configs/85xx/tqm8540_defconfig100
-rw-r--r--arch/powerpc/configs/85xx/tqm8541_defconfig101
-rw-r--r--arch/powerpc/configs/85xx/tqm8548_defconfig64
-rw-r--r--arch/powerpc/configs/85xx/tqm8555_defconfig101
-rw-r--r--arch/powerpc/configs/85xx/tqm8560_defconfig101
-rw-r--r--arch/powerpc/configs/86xx/gef_ppc9a_defconfig92
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc310_defconfig92
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc610_defconfig122
-rw-r--r--arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig100
-rw-r--r--arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig211
-rw-r--r--arch/powerpc/configs/86xx/sbc8641d_defconfig114
-rw-r--r--arch/powerpc/configs/adder875_defconfig65
-rw-r--r--arch/powerpc/configs/c2k_defconfig128
-rw-r--r--arch/powerpc/configs/ep8248e_defconfig74
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig63
-rw-r--r--arch/powerpc/configs/linkstation_defconfig96
-rw-r--r--arch/powerpc/configs/mgcoge_defconfig74
-rw-r--r--arch/powerpc/configs/mgsuvd_defconfig72
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig91
-rw-r--r--arch/powerpc/configs/mpc8272_ads_defconfig77
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig115
-rw-r--r--arch/powerpc/configs/mpc866_ads_defconfig77
-rw-r--r--arch/powerpc/configs/mpc86xx_defconfig211
-rw-r--r--arch/powerpc/configs/mpc885_ads_defconfig63
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig90
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig120
-rw-r--r--arch/powerpc/configs/storcenter_defconfig71
-rw-r--r--arch/powerpc/include/asm/iseries/iommu.h4
-rw-r--r--arch/powerpc/include/asm/of_platform.h10
-rw-r--r--arch/powerpc/include/asm/system.h2
-rw-r--r--arch/powerpc/kernel/cputable.c15
-rw-r--r--arch/powerpc/kernel/machine_kexec.c4
-rw-r--r--arch/powerpc/kernel/pci-common.c21
-rw-r--r--arch/powerpc/kernel/pci_64.c15
-rw-r--r--arch/powerpc/kernel/prom.c8
-rw-r--r--arch/powerpc/mm/mem.c2
-rw-r--r--arch/powerpc/oprofile/op_model_power4.c9
-rw-r--r--arch/powerpc/platforms/40x/Kconfig1
-rw-r--r--arch/powerpc/platforms/44x/Kconfig1
-rw-r--r--arch/powerpc/platforms/cell/ras.c17
-rw-r--r--arch/powerpc/platforms/iseries/Kconfig1
-rw-r--r--arch/powerpc/platforms/iseries/iommu.c6
-rw-r--r--arch/powerpc/platforms/iseries/pci.c1
-rw-r--r--arch/powerpc/sysdev/fsl_soc.c46
-rw-r--r--arch/powerpc/sysdev/mpic.c16
-rw-r--r--arch/powerpc/sysdev/xilinx_intc.c117
-rw-r--r--arch/x86/include/asm/mce.h1
-rw-r--r--arch/x86/kernel/amd_iommu_init.c16
-rw-r--r--arch/x86/kernel/cpu/common.c2
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce_64.c33
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce_intel_64.c10
-rw-r--r--arch/x86/kernel/cpu/proc.c2
-rw-r--r--arch/x86/kernel/e820.c11
-rw-r--r--arch/x86/kernel/kgdb.c3
-rw-r--r--arch/x86/kernel/machine_kexec_32.c4
-rw-r--r--arch/x86/kernel/machine_kexec_64.c4
-rw-r--r--arch/x86/kvm/svm.c8
-rw-r--r--arch/x86/kvm/x86.c6
-rw-r--r--arch/x86/mm/init.c18
-rw-r--r--arch/x86/mm/kmmio.c2
-rw-r--r--arch/x86/mm/srat_32.c2
-rw-r--r--arch/x86/mm/srat_64.c1
-rw-r--r--arch/x86/vdso/vclock_gettime.c12
-rw-r--r--arch/x86/xen/mmu.c5
-rw-r--r--arch/xtensa/Kconfig7
-rw-r--r--arch/xtensa/configs/s6105_defconfig3
-rw-r--r--arch/xtensa/include/asm/checksum.h6
-rw-r--r--arch/xtensa/include/asm/timex.h4
-rw-r--r--arch/xtensa/kernel/Makefile21
-rw-r--r--arch/xtensa/kernel/traps.c16
-rw-r--r--arch/xtensa/kernel/vmlinux.lds.S4
-rw-r--r--arch/xtensa/platforms/s6105/setup.c3
-rw-r--r--arch/xtensa/variants/s6000/Makefile1
-rw-r--r--arch/xtensa/variants/s6000/delay.c27
-rw-r--r--arch/xtensa/variants/s6000/gpio.c3
-rw-r--r--arch/xtensa/variants/s6000/include/variant/gpio.h6
-rw-r--r--block/blk-core.c4
-rw-r--r--drivers/acpi/acpica/rscalc.c7
-rw-r--r--drivers/ata/ata_piix.c18
-rw-r--r--drivers/ata/libata-core.c4
-rw-r--r--drivers/ata/libata-eh.c34
-rw-r--r--drivers/ata/libata-scsi.c38
-rw-r--r--drivers/ata/pata_pdc202xx_old.c6
-rw-r--r--drivers/ata/sata_fsl.c15
-rw-r--r--drivers/ata/sata_mv.c69
-rw-r--r--drivers/ata/sata_sx4.c180
-rw-r--r--drivers/base/iommu.c2
-rw-r--r--drivers/base/platform.c22
-rw-r--r--drivers/char/random.c19
-rw-r--r--drivers/char/sysrq.c4
-rw-r--r--drivers/char/vt_ioctl.c6
-rw-r--r--drivers/dma/dmaengine.c17
-rw-r--r--drivers/dma/dmatest.c4
-rw-r--r--drivers/dma/ioat_dma.c45
-rw-r--r--drivers/dma/ipu/ipu_idmac.c7
-rw-r--r--drivers/firmware/iscsi_ibft.c4
-rw-r--r--drivers/gpu/drm/Kconfig1
-rw-r--r--drivers/gpu/drm/drm_crtc_helper.c19
-rw-r--r--drivers/gpu/drm/drm_drv.c3
-rw-r--r--drivers/gpu/drm/drm_stub.c15
-rw-r--r--drivers/gpu/drm/drm_sysfs.c2
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c13
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h11
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c9
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h1
-rw-r--r--drivers/gpu/drm/i915/i915_suspend.c24
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c2
-rw-r--r--drivers/gpu/drm/i915/intel_display.c31
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h4
-rw-r--r--drivers/gpu/drm/i915/intel_fb.c4
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c17
-rw-r--r--drivers/gpu/drm/i915/intel_i2c.c17
-rw-r--r--drivers/gpu/drm/i915/intel_lvds.c54
-rw-r--r--drivers/gpu/drm/i915/intel_modes.c6
-rw-r--r--drivers/gpu/drm/r128/r128_cce.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_drv.h3
-rw-r--r--drivers/hid/hid-apple.c2
-rw-r--r--drivers/hid/hid-core.c4
-rw-r--r--drivers/hid/hid-ids.h6
-rw-r--r--drivers/hid/hid-lg.c2
-rw-r--r--drivers/hid/hidraw.c12
-rw-r--r--drivers/hid/usbhid/hid-core.c4
-rw-r--r--drivers/hid/usbhid/hid-quirks.c3
-rw-r--r--drivers/hwmon/asus_atk0110.c2
-rw-r--r--drivers/hwmon/w83781d.c3
-rw-r--r--drivers/i2c/algos/i2c-algo-bit.c2
-rw-r--r--drivers/i2c/algos/i2c-algo-pca.c11
-rw-r--r--drivers/i2c/busses/Kconfig2
-rw-r--r--drivers/i2c/busses/i2c-ali1535.c2
-rw-r--r--drivers/i2c/busses/i2c-ali15x3.c2
-rw-r--r--drivers/i2c/busses/i2c-amd756.c4
-rw-r--r--drivers/i2c/busses/i2c-cpm.c16
-rw-r--r--drivers/i2c/busses/i2c-i801.c8
-rw-r--r--drivers/i2c/busses/i2c-isch.c2
-rw-r--r--drivers/i2c/busses/i2c-mpc.c34
-rw-r--r--drivers/i2c/busses/i2c-nforce2.c2
-rw-r--r--drivers/i2c/busses/i2c-pxa.c6
-rw-r--r--drivers/i2c/busses/i2c-sis5595.c2
-rw-r--r--drivers/i2c/busses/i2c-sis630.c2
-rw-r--r--drivers/i2c/busses/i2c-sis96x.c2
-rw-r--r--drivers/ide/ide-cd.c9
-rw-r--r--drivers/infiniband/hw/cxgb3/cxio_hal.c1
-rw-r--r--drivers/infiniband/hw/ipath/ipath_fs.c2
-rw-r--r--drivers/infiniband/hw/mlx4/mlx4_ib.h1
-rw-r--r--drivers/infiniband/hw/mlx4/mr.c10
-rw-r--r--drivers/infiniband/hw/mlx4/qp.c2
-rw-r--r--drivers/infiniband/ulp/iser/iscsi_iser.c1
-rw-r--r--drivers/input/ff-memless.c2
-rw-r--r--drivers/input/input.c36
-rw-r--r--drivers/input/joydev.c8
-rw-r--r--drivers/input/keyboard/atkbd.c16
-rw-r--r--drivers/input/keyboard/omap-keypad.c16
-rw-r--r--drivers/input/mouse/alps.c1
-rw-r--r--drivers/input/mouse/appletouch.c24
-rw-r--r--drivers/input/mouse/bcm5974.c108
-rw-r--r--drivers/input/mouse/elantech.c48
-rw-r--r--drivers/input/mouse/elantech.h5
-rw-r--r--drivers/input/mouse/lifebook.c6
-rw-r--r--drivers/input/serio/sa1111ps2.c2
-rw-r--r--drivers/input/tablet/wacom.h5
-rw-r--r--drivers/input/tablet/wacom_sys.c13
-rw-r--r--drivers/input/touchscreen/tsc2007.c7
-rw-r--r--drivers/input/touchscreen/ucb1400_ts.c2
-rw-r--r--drivers/isdn/capi/capifs.c11
-rw-r--r--drivers/md/bitmap.c29
-rw-r--r--drivers/md/md.c70
-rw-r--r--drivers/md/raid10.c12
-rw-r--r--drivers/media/radio/radio-sf16fmi.c2
-rw-r--r--drivers/media/radio/radio-sf16fmr2.c2
-rw-r--r--drivers/media/video/cafe_ccic.c1
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c2
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.c9
-rw-r--r--drivers/media/video/ivtv/ivtv-gpio.c4
-rw-r--r--drivers/media/video/ivtv/ivtv-ioctl.c5
-rw-r--r--drivers/media/video/ivtv/ivtv-irq.c2
-rw-r--r--drivers/media/video/ivtv/ivtv-yuv.c3
-rw-r--r--drivers/media/video/ivtv/ivtvfb.c3
-rw-r--r--drivers/media/video/uvc/uvc_driver.c9
-rw-r--r--drivers/media/video/uvc/uvc_video.c2
-rw-r--r--drivers/media/video/v4l2-ioctl.c45
-rw-r--r--drivers/media/video/zoran/zoran_driver.c28
-rw-r--r--drivers/misc/isl29003.c9
-rw-r--r--drivers/mmc/card/block.c8
-rw-r--r--drivers/mmc/core/core.c4
-rw-r--r--drivers/mmc/host/mmci.c2
-rw-r--r--drivers/mmc/host/mvsdio.c11
-rw-r--r--drivers/mmc/host/omap.c2
-rw-r--r--drivers/mmc/host/sdhci-pci.c8
-rw-r--r--drivers/mmc/host/sdhci.h2
-rw-r--r--drivers/mtd/devices/m25p80.c26
-rw-r--r--drivers/mtd/mtdcore.c18
-rw-r--r--drivers/mtd/mtdsuper.c3
-rw-r--r--drivers/net/arm/ixp4xx_eth.c31
-rw-r--r--drivers/net/bnx2.c6
-rw-r--r--drivers/net/bonding/bond_alb.c12
-rw-r--r--drivers/net/bonding/bond_main.c44
-rw-r--r--drivers/net/cxgb3/t3_hw.c2
-rw-r--r--drivers/net/e1000/e1000_main.c2
-rw-r--r--drivers/net/ehea/ehea.h2
-rw-r--r--drivers/net/ehea/ehea_main.c31
-rw-r--r--drivers/net/igb/igb_main.c12
-rw-r--r--drivers/net/mlx4/en_rx.c1
-rw-r--r--drivers/net/mv643xx_eth.c24
-rw-r--r--drivers/net/ne2k-pci.c7
-rw-r--r--drivers/net/netconsole.c11
-rw-r--r--drivers/net/usb/Kconfig14
-rw-r--r--drivers/net/usb/Makefile1
-rw-r--r--drivers/net/usb/cdc_eem.c381
-rw-r--r--drivers/net/usb/smsc95xx.c15
-rw-r--r--drivers/net/usb/smsc95xx.h3
-rw-r--r--drivers/net/virtio_net.c24
-rw-r--r--drivers/net/wan/ixp4xx_hss.c4
-rw-r--r--drivers/net/wireless/airo.c10
-rw-r--r--drivers/net/wireless/ath5k/base.c22
-rw-r--r--drivers/net/wireless/ath5k/debug.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c8
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-scan.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-sta.c21
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c2
-rw-r--r--drivers/net/wireless/rndis_wlan.c14
-rw-r--r--drivers/net/wireless/rtl818x/rtl8187.h57
-rw-r--r--drivers/net/wireless/rtl818x/rtl8187_dev.c13
-rw-r--r--drivers/net/wireless/rtl818x/rtl8187_rtl8225.c8
-rw-r--r--drivers/pci/intel-iommu.c13
-rw-r--r--drivers/pci/msi.c8
-rw-r--r--drivers/pci/pcie/aer/aerdrv.h3
-rw-r--r--drivers/pci/pcie/portdrv_pci.c2
-rw-r--r--drivers/rtc/rtc-twl4030.c4
-rw-r--r--drivers/s390/scsi/zfcp_aux.c11
-rw-r--r--drivers/s390/scsi/zfcp_ccw.c1
-rw-r--r--drivers/s390/scsi/zfcp_cfdc.c3
-rw-r--r--drivers/s390/scsi/zfcp_def.h2
-rw-r--r--drivers/s390/scsi/zfcp_erp.c60
-rw-r--r--drivers/s390/scsi/zfcp_ext.h2
-rw-r--r--drivers/s390/scsi/zfcp_fc.c33
-rw-r--r--drivers/s390/scsi/zfcp_fsf.c59
-rw-r--r--drivers/s390/scsi/zfcp_scsi.c44
-rw-r--r--drivers/s390/scsi/zfcp_sysfs.c21
-rw-r--r--drivers/scsi/cxgb3i/cxgb3i.h2
-rw-r--r--drivers/scsi/cxgb3i/cxgb3i_ddp.c32
-rw-r--r--drivers/scsi/cxgb3i/cxgb3i_iscsi.c5
-rw-r--r--drivers/scsi/cxgb3i/cxgb3i_offload.c4
-rw-r--r--drivers/scsi/cxgb3i/cxgb3i_pdu.c19
-rw-r--r--drivers/scsi/fcoe/fcoe.c59
-rw-r--r--drivers/scsi/fcoe/libfcoe.c2
-rw-r--r--drivers/scsi/ipr.c13
-rw-r--r--drivers/scsi/iscsi_tcp.c3
-rw-r--r--drivers/scsi/libfc/fc_disc.c54
-rw-r--r--drivers/scsi/libfc/fc_elsct.c2
-rw-r--r--drivers/scsi/libfc/fc_fcp.c7
-rw-r--r--drivers/scsi/libfc/fc_lport.c74
-rw-r--r--drivers/scsi/libfc/fc_rport.c82
-rw-r--r--drivers/scsi/libiscsi.c10
-rw-r--r--drivers/scsi/libiscsi_tcp.c5
-rw-r--r--drivers/scsi/lpfc/lpfc.h2
-rw-r--r--drivers/scsi/lpfc/lpfc_attr.c266
-rw-r--r--drivers/scsi/lpfc/lpfc_crtn.h2
-rw-r--r--drivers/scsi/lpfc/lpfc_debugfs.c45
-rw-r--r--drivers/scsi/lpfc/lpfc_disc.h1
-rw-r--r--drivers/scsi/lpfc/lpfc_els.c245
-rw-r--r--drivers/scsi/lpfc/lpfc_hbadisc.c88
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c205
-rw-r--r--drivers/scsi/lpfc/lpfc_logmsg.h2
-rw-r--r--drivers/scsi/lpfc/lpfc_mbox.c63
-rw-r--r--drivers/scsi/lpfc/lpfc_mem.c19
-rw-r--r--drivers/scsi/lpfc/lpfc_nportdisc.c18
-rw-r--r--drivers/scsi/lpfc/lpfc_scsi.c126
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c401
-rw-r--r--drivers/scsi/lpfc/lpfc_version.h6
-rw-r--r--drivers/scsi/lpfc/lpfc_vport.c10
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_base.c75
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_base.h30
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_ctl.c216
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_ctl.h7
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_scsih.c29
-rw-r--r--drivers/scsi/osd/osd_initiator.c125
-rw-r--r--drivers/scsi/osd/osd_uld.c20
-rw-r--r--drivers/scsi/scsi_lib.c4
-rw-r--r--drivers/scsi/sd.c15
-rw-r--r--drivers/scsi/sg.c13
-rw-r--r--drivers/scsi/sr_ioctl.c5
-rw-r--r--drivers/serial/crisv10.c173
-rw-r--r--drivers/serial/jsm/jsm.h2
-rw-r--r--drivers/serial/jsm/jsm_driver.c1
-rw-r--r--drivers/serial/nwpserial.c4
-rw-r--r--drivers/serial/s3c6400.c1
-rw-r--r--drivers/serial/samsung.c61
-rw-r--r--drivers/serial/samsung.h4
-rw-r--r--drivers/spi/pxa2xx_spi.c3
-rw-r--r--drivers/staging/comedi/TODO1
-rw-r--r--drivers/staging/rt2870/rt2870.h1
-rw-r--r--drivers/staging/rtl8187se/r8180.h2
-rw-r--r--drivers/staging/rtl8187se/r8180_core.c46
-rw-r--r--drivers/staging/winbond/wbusb.c9
-rw-r--r--drivers/usb/Makefile2
-rw-r--r--drivers/usb/atm/cxacru.c10
-rw-r--r--drivers/usb/gadget/usbstring.c6
-rw-r--r--drivers/usb/serial/ftdi_sio.c20
-rw-r--r--drivers/usb/serial/ftdi_sio.h6
-rw-r--r--drivers/usb/storage/unusual_devs.h5
-rw-r--r--drivers/video/Kconfig23
-rw-r--r--drivers/video/Makefile1
-rw-r--r--drivers/video/cfbfillrect.c36
-rw-r--r--drivers/video/console/vgacon.c2
-rw-r--r--drivers/video/fb_draw.h21
-rw-r--r--drivers/video/gbefb.c14
-rw-r--r--drivers/video/mx3fb.c14
-rw-r--r--drivers/video/sysfillrect.c30
-rw-r--r--drivers/video/via/viafbdev.c6
-rw-r--r--drivers/xen/balloon.c3
-rw-r--r--fs/9p/vfs_super.c12
-rw-r--r--fs/affs/super.c3
-rw-r--r--fs/afs/super.c7
-rw-r--r--fs/autofs4/expire.c4
-rw-r--r--fs/binfmt_elf_fdpic.c4
-rw-r--r--fs/btrfs/ctree.c39
-rw-r--r--fs/btrfs/disk-io.c2
-rw-r--r--fs/btrfs/extent-tree.c2
-rw-r--r--fs/btrfs/inode.c2
-rw-r--r--fs/btrfs/ioctl.c4
-rw-r--r--fs/btrfs/super.c16
-rw-r--r--fs/buffer.c10
-rw-r--r--fs/cifs/CHANGES13
-rw-r--r--fs/cifs/README10
-rw-r--r--fs/cifs/cifs_dfs_ref.c32
-rw-r--r--fs/cifs/cifs_unicode.c198
-rw-r--r--fs/cifs/cifs_unicode.h23
-rw-r--r--fs/cifs/cifsfs.c6
-rw-r--r--fs/cifs/cifsfs.h2
-rw-r--r--fs/cifs/cifsglob.h16
-rw-r--r--fs/cifs/cifsproto.h5
-rw-r--r--fs/cifs/cifssmb.c215
-rw-r--r--fs/cifs/connect.c1190
-rw-r--r--fs/cifs/dir.c15
-rw-r--r--fs/cifs/file.c14
-rw-r--r--fs/cifs/inode.c21
-rw-r--r--fs/cifs/link.c114
-rw-r--r--fs/cifs/misc.c71
-rw-r--r--fs/cifs/netmisc.c2
-rw-r--r--fs/cifs/nterr.h9
-rw-r--r--fs/cifs/ntlmssp.h68
-rw-r--r--fs/cifs/readdir.c72
-rw-r--r--fs/cifs/sess.c340
-rw-r--r--fs/cifs/smberr.h1
-rw-r--r--fs/configfs/symlink.c2
-rw-r--r--fs/dcache.c2
-rw-r--r--fs/devpts/inode.c23
-rw-r--r--fs/ecryptfs/main.c5
-rw-r--r--fs/eventpoll.c2
-rw-r--r--fs/exec.c86
-rw-r--r--fs/ext4/extents.c19
-rw-r--r--fs/ext4/inode.c26
-rw-r--r--fs/fcntl.c6
-rw-r--r--fs/fuse/inode.c4
-rw-r--r--fs/gfs2/glock.c1
-rw-r--r--fs/gfs2/ops_fstype.c8
-rw-r--r--fs/hpfs/super.c3
-rw-r--r--fs/hugetlbfs/inode.c11
-rw-r--r--fs/inode.c81
-rw-r--r--fs/ioctl.c75
-rw-r--r--fs/libfs.c3
-rw-r--r--fs/lockd/svc.c15
-rw-r--r--fs/namei.c13
-rw-r--r--fs/namespace.c23
-rw-r--r--fs/nfs/file.c6
-rw-r--r--fs/nfs/super.c22
-rw-r--r--fs/nfsd/nfs4recover.c4
-rw-r--r--fs/nfsd/nfs4state.c1
-rw-r--r--fs/nfsd/nfs4xdr.c16
-rw-r--r--fs/nilfs2/ioctl.c281
-rw-r--r--fs/nilfs2/mdt.c15
-rw-r--r--fs/nilfs2/nilfs.h3
-rw-r--r--fs/nilfs2/page.c3
-rw-r--r--fs/nilfs2/recovery.c6
-rw-r--r--fs/nilfs2/segment.c5
-rw-r--r--fs/nilfs2/segment.h3
-rw-r--r--fs/notify/inotify/inotify_user.c2
-rw-r--r--fs/ocfs2/dcache.c15
-rw-r--r--fs/ocfs2/dir.c4
-rw-r--r--fs/ocfs2/export.c9
-rw-r--r--fs/ocfs2/journal.h5
-rw-r--r--fs/ocfs2/namei.c4
-rw-r--r--fs/ocfs2/suballoc.c21
-rw-r--r--fs/ocfs2/symlink.c77
-rw-r--r--fs/open.c2
-rw-r--r--fs/proc/array.c13
-rw-r--r--fs/proc/base.c5
-rw-r--r--fs/proc/meminfo.c2
-rw-r--r--fs/proc/root.c3
-rw-r--r--fs/proc/task_mmu.c4
-rw-r--r--fs/reiserfs/dir.c24
-rw-r--r--fs/reiserfs/namei.c17
-rw-r--r--fs/reiserfs/super.c9
-rw-r--r--fs/reiserfs/xattr.c181
-rw-r--r--fs/reiserfs/xattr_security.c12
-rw-r--r--fs/romfs/super.c3
-rw-r--r--fs/squashfs/Makefile1
-rw-r--r--fs/squashfs/cache.c1
-rw-r--r--fs/squashfs/super.c10
-rw-r--r--fs/super.c48
-rw-r--r--fs/ubifs/super.c3
-rw-r--r--fs/ufs/dir.c2
-rw-r--r--fs/ufs/file.c2
-rw-r--r--fs/ufs/ufs.h2
-rw-r--r--fs/xfs/xfs_bmap.c192
-rw-r--r--fs/xfs/xfs_inode.c2
-rw-r--r--fs/xfs/xfs_mount.c3
-rw-r--r--include/asm-generic/atomic.h4
-rw-r--r--include/asm-generic/bug.h7
-rw-r--r--include/drm/i915_drm.h10
-rw-r--r--include/linux/Kbuild2
-rw-r--r--include/linux/ata.h28
-rw-r--r--include/linux/binfmts.h14
-rw-r--r--include/linux/blkdev.h1
-rw-r--r--include/linux/device.h9
-rw-r--r--include/linux/dmaengine.h6
-rw-r--r--include/linux/fs.h4
-rw-r--r--include/linux/input.h24
-rw-r--r--include/linux/memcontrol.h4
-rw-r--r--include/linux/mman.h9
-rw-r--r--include/linux/namei.h1
-rw-r--r--include/linux/netfilter/x_tables.h4
-rw-r--r--include/linux/netfilter/xt_LED.h2
-rw-r--r--include/linux/netfilter/xt_cluster.h2
-rw-r--r--include/linux/nls.h19
-rw-r--r--include/linux/of_platform.h10
-rw-r--r--include/linux/platform_device.h1
-rw-r--r--include/linux/reiserfs_fs_sb.h3
-rw-r--r--include/linux/reiserfs_xattr.h3
-rw-r--r--include/linux/romfs_fs.h5
-rw-r--r--include/linux/sunrpc/xprt.h1
-rw-r--r--include/linux/syscalls.h1
-rw-r--r--include/linux/usb/cdc.h3
-rw-r--r--include/linux/virtio_net.h1
-rw-r--r--include/linux/writeback.h2
-rw-r--r--include/net/9p/client.h1
-rw-r--r--include/net/bluetooth/hci_core.h1
-rw-r--r--include/net/tcp.h14
-rw-r--r--include/scsi/fc/fc_fs.h1
-rw-r--r--include/scsi/libfc.h1
-rw-r--r--include/scsi/libiscsi.h2
-rw-r--r--include/scsi/osd_protocol.h96
-rw-r--r--include/sound/version.h2
-rw-r--r--init/initramfs.c13
-rw-r--r--kernel/auditfilter.c4
-rw-r--r--kernel/cgroup.c3
-rw-r--r--kernel/irq/handle.c2
-rw-r--r--kernel/kgdb.c4
-rw-r--r--kernel/kprobes.c31
-rw-r--r--kernel/panic.c13
-rw-r--r--kernel/posix-cpu-timers.c8
-rw-r--r--kernel/sched.c2
-rw-r--r--kernel/sysctl.c28
-rw-r--r--kernel/time/tick-common.c12
-rw-r--r--kernel/trace/trace.c1
-rw-r--r--lib/Kconfig.debug1
-rw-r--r--lib/dma-debug.c53
-rw-r--r--mm/Kconfig28
-rw-r--r--mm/memcontrol.c38
-rw-r--r--mm/memory.c112
-rw-r--r--mm/mmap.c12
-rw-r--r--mm/nommu.c17
-rw-r--r--mm/oom_kill.c44
-rw-r--r--mm/page_alloc.c20
-rw-r--r--mm/pdflush.c31
-rw-r--r--mm/shmem.c8
-rw-r--r--mm/swap.c46
-rw-r--r--mm/vmalloc.c1
-rw-r--r--mm/vmscan.c2
-rw-r--r--net/9p/client.c114
-rw-r--r--net/9p/trans_fd.c14
-rw-r--r--net/9p/trans_rdma.c1
-rw-r--r--net/9p/trans_virtio.c1
-rw-r--r--net/Kconfig6
-rw-r--r--net/atm/br2684.c1
-rw-r--r--net/bluetooth/hci_conn.c8
-rw-r--r--net/bluetooth/hci_event.c2
-rw-r--r--net/bluetooth/hci_sysfs.c74
-rw-r--r--net/core/dev.c9
-rw-r--r--net/core/skbuff.c29
-rw-r--r--net/ipv4/Kconfig2
-rw-r--r--net/ipv4/tcp_input.c10
-rw-r--r--net/ipv6/netfilter/ip6t_ipv6header.c6
-rw-r--r--net/mac80211/main.c20
-rw-r--r--net/mac80211/rc80211_minstrel.c4
-rw-r--r--net/mac80211/rc80211_pid_algo.c73
-rw-r--r--net/mac80211/tx.c2
-rw-r--r--net/netfilter/Kconfig1
-rw-r--r--net/netfilter/ipvs/ip_vs_conn.c9
-rw-r--r--net/netfilter/ipvs/ip_vs_core.c4
-rw-r--r--net/netfilter/nf_conntrack_netlink.c48
-rw-r--r--net/netfilter/xt_cluster.c8
-rw-r--r--net/sched/cls_api.c2
-rw-r--r--net/sched/sch_fifo.c2
-rw-r--r--net/sunrpc/xprt.c6
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_recvfrom.c2
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_sendto.c3
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_transport.c3
-rw-r--r--net/sunrpc/xprtsock.c26
-rw-r--r--net/wimax/op-msg.c11
-rw-r--r--net/wimax/stack.c17
-rw-r--r--net/wireless/reg.c17
-rw-r--r--net/wireless/scan.c1
-rw-r--r--scripts/Makefile1
-rw-r--r--scripts/dtc/Makefile54
-rw-r--r--scripts/dtc/Makefile.dtc (renamed from arch/powerpc/boot/dtc-src/Makefile.dtc)0
-rw-r--r--scripts/dtc/checks.c (renamed from arch/powerpc/boot/dtc-src/checks.c)0
-rw-r--r--scripts/dtc/data.c (renamed from arch/powerpc/boot/dtc-src/data.c)0
-rw-r--r--scripts/dtc/dtc-lexer.l (renamed from arch/powerpc/boot/dtc-src/dtc-lexer.l)0
-rw-r--r--scripts/dtc/dtc-lexer.lex.c_shipped (renamed from arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped)0
-rw-r--r--scripts/dtc/dtc-parser.tab.c_shipped (renamed from arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped)0
-rw-r--r--scripts/dtc/dtc-parser.tab.h_shipped (renamed from arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped)0
-rw-r--r--scripts/dtc/dtc-parser.y (renamed from arch/powerpc/boot/dtc-src/dtc-parser.y)0
-rw-r--r--scripts/dtc/dtc.c (renamed from arch/powerpc/boot/dtc-src/dtc.c)0
-rw-r--r--scripts/dtc/dtc.h (renamed from arch/powerpc/boot/dtc-src/dtc.h)0
-rw-r--r--scripts/dtc/flattree.c (renamed from arch/powerpc/boot/dtc-src/flattree.c)0
-rw-r--r--scripts/dtc/fstree.c (renamed from arch/powerpc/boot/dtc-src/fstree.c)0
-rw-r--r--scripts/dtc/libfdt/Makefile.libfdt (renamed from arch/powerpc/boot/libfdt/Makefile.libfdt)0
-rw-r--r--scripts/dtc/libfdt/fdt.c (renamed from arch/powerpc/boot/libfdt/fdt.c)0
-rw-r--r--scripts/dtc/libfdt/fdt.h (renamed from arch/powerpc/boot/libfdt/fdt.h)0
-rw-r--r--scripts/dtc/libfdt/fdt_ro.c (renamed from arch/powerpc/boot/libfdt/fdt_ro.c)0
-rw-r--r--scripts/dtc/libfdt/fdt_rw.c (renamed from arch/powerpc/boot/libfdt/fdt_rw.c)0
-rw-r--r--scripts/dtc/libfdt/fdt_strerror.c (renamed from arch/powerpc/boot/libfdt/fdt_strerror.c)0
-rw-r--r--scripts/dtc/libfdt/fdt_sw.c (renamed from arch/powerpc/boot/libfdt/fdt_sw.c)0
-rw-r--r--scripts/dtc/libfdt/fdt_wip.c (renamed from arch/powerpc/boot/libfdt/fdt_wip.c)0
-rw-r--r--scripts/dtc/libfdt/libfdt.h (renamed from arch/powerpc/boot/libfdt/libfdt.h)0
-rw-r--r--scripts/dtc/libfdt/libfdt_env.h (renamed from arch/powerpc/boot/dtc-src/libfdt_env.h)0
-rw-r--r--scripts/dtc/libfdt/libfdt_internal.h (renamed from arch/powerpc/boot/libfdt/libfdt_internal.h)0
-rw-r--r--scripts/dtc/livetree.c (renamed from arch/powerpc/boot/dtc-src/livetree.c)0
-rw-r--r--scripts/dtc/srcpos.c (renamed from arch/powerpc/boot/dtc-src/srcpos.c)0
-rw-r--r--scripts/dtc/srcpos.h (renamed from arch/powerpc/boot/dtc-src/srcpos.h)0
-rw-r--r--scripts/dtc/treesource.c (renamed from arch/powerpc/boot/dtc-src/treesource.c)0
-rw-r--r--scripts/dtc/version_gen.h (renamed from arch/powerpc/boot/dtc-src/version_gen.h)0
-rwxr-xr-xscripts/kernel-doc7
-rw-r--r--scripts/mod/modpost.c100
-rwxr-xr-xscripts/setlocalversion13
-rwxr-xr-xscripts/tags.sh2
-rw-r--r--security/selinux/hooks.c2
-rw-r--r--security/tomoyo/common.c6
-rw-r--r--security/tomoyo/realpath.c16
-rw-r--r--sound/arm/pxa2xx-ac97-lib.c2
-rw-r--r--sound/core/pcm_lib.c7
-rw-r--r--sound/drivers/pcsp/pcsp_mixer.c2
-rw-r--r--sound/drivers/serial-u16550.c11
-rw-r--r--sound/isa/msnd/msnd.c6
-rw-r--r--sound/pci/bt87x.c6
-rw-r--r--sound/pci/echoaudio/indigodjx.c1
-rw-r--r--sound/pci/echoaudio/indigoiox.c1
-rw-r--r--sound/pci/hda/patch_sigmatel.c7
-rw-r--r--sound/pci/korg1212/korg1212.c6
-rw-r--r--sound/pci/riptide/riptide.c10
-rw-r--r--sound/pci/via82xx.c2
-rw-r--r--sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c3
-rw-r--r--sound/soc/au1x/dbdma2.c2
-rw-r--r--sound/soc/codecs/twl4030.c8
-rw-r--r--sound/soc/codecs/wm8350.c2
-rw-r--r--sound/soc/codecs/wm8990.c40
-rw-r--r--sound/soc/davinci/Kconfig7
-rw-r--r--sound/soc/davinci/davinci-evm.c63
-rw-r--r--sound/soc/davinci/davinci-i2s.c26
-rw-r--r--sound/soc/davinci/davinci-pcm.c71
-rw-r--r--sound/soc/fsl/mpc5200_psc_i2s.c3
-rw-r--r--sound/soc/sh/dma-sh7760.c3
-rw-r--r--sound/soc/soc-core.c3
-rw-r--r--sound/sparc/dbri.c3
-rw-r--r--sound/usb/usx2y/usbusx2yaudio.c3
786 files changed, 17774 insertions, 9550 deletions
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index 8918a32c6b3a..b1eb661e6302 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -143,7 +143,8 @@ quiet_cmd_db2pdf = PDF $@
143 $(call cmd,db2pdf) 143 $(call cmd,db2pdf)
144 144
145 145
146main_idx = Documentation/DocBook/index.html 146index = index.html
147main_idx = Documentation/DocBook/$(index)
147build_main_index = rm -rf $(main_idx) && \ 148build_main_index = rm -rf $(main_idx) && \
148 echo '<h1>Linux Kernel HTML Documentation</h1>' >> $(main_idx) && \ 149 echo '<h1>Linux Kernel HTML Documentation</h1>' >> $(main_idx) && \
149 echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> $(main_idx) && \ 150 echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> $(main_idx) && \
@@ -232,7 +233,7 @@ clean-files := $(DOCBOOKS) \
232 $(patsubst %.xml, %.pdf, $(DOCBOOKS)) \ 233 $(patsubst %.xml, %.pdf, $(DOCBOOKS)) \
233 $(patsubst %.xml, %.html, $(DOCBOOKS)) \ 234 $(patsubst %.xml, %.html, $(DOCBOOKS)) \
234 $(patsubst %.xml, %.9, $(DOCBOOKS)) \ 235 $(patsubst %.xml, %.9, $(DOCBOOKS)) \
235 $(C-procfs-example) 236 $(C-procfs-example) $(index)
236 237
237clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man 238clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man
238 239
diff --git a/Documentation/DocBook/kgdb.tmpl b/Documentation/DocBook/kgdb.tmpl
index 372dec20c8da..5cff41a5fa7c 100644
--- a/Documentation/DocBook/kgdb.tmpl
+++ b/Documentation/DocBook/kgdb.tmpl
@@ -281,7 +281,7 @@
281 seriously wrong while debugging, it will most often be the case 281 seriously wrong while debugging, it will most often be the case
282 that you want to enable gdb to be verbose about its target 282 that you want to enable gdb to be verbose about its target
283 communications. You do this prior to issuing the <constant>target 283 communications. You do this prior to issuing the <constant>target
284 remote</constant> command by typing in: <constant>set remote debug 1</constant> 284 remote</constant> command by typing in: <constant>set debug remote 1</constant>
285 </para> 285 </para>
286 </chapter> 286 </chapter>
287 <chapter id="KGDBTestSuite"> 287 <chapter id="KGDBTestSuite">
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index 76efe5b71d7d..3120f8dd2c31 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -512,16 +512,24 @@ locking rules:
512 BKL mmap_sem PageLocked(page) 512 BKL mmap_sem PageLocked(page)
513open: no yes 513open: no yes
514close: no yes 514close: no yes
515fault: no yes 515fault: no yes can return with page locked
516page_mkwrite: no yes no 516page_mkwrite: no yes can return with page locked
517access: no yes 517access: no yes
518 518
519 ->page_mkwrite() is called when a previously read-only page is 519 ->fault() is called when a previously not present pte is about
520about to become writeable. The file system is responsible for 520to be faulted in. The filesystem must find and return the page associated
521protecting against truncate races. Once appropriate action has been 521with the passed in "pgoff" in the vm_fault structure. If it is possible that
522taking to lock out truncate, the page range should be verified to be 522the page may be truncated and/or invalidated, then the filesystem must lock
523within i_size. The page mapping should also be checked that it is not 523the page, then ensure it is not already truncated (the page lock will block
524NULL. 524subsequent truncate), and then return with VM_FAULT_LOCKED, and the page
525locked. The VM will unlock the page.
526
527 ->page_mkwrite() is called when a previously read-only pte is
528about to become writeable. The filesystem again must ensure that there are
529no truncate/invalidate races, and then return with the page locked. If
530the page has been truncated, the filesystem should not look up a new page
531like the ->fault() handler, but simply return with VM_FAULT_NOPAGE, which
532will cause the VM to retry the fault.
525 533
526 ->access() is called when get_user_pages() fails in 534 ->access() is called when get_user_pages() fails in
527acces_process_vm(), typically used to debug a process through 535acces_process_vm(), typically used to debug a process through
diff --git a/Documentation/input/bcm5974.txt b/Documentation/input/bcm5974.txt
new file mode 100644
index 000000000000..5e22dcf6d48d
--- /dev/null
+++ b/Documentation/input/bcm5974.txt
@@ -0,0 +1,65 @@
1BCM5974 Driver (bcm5974)
2------------------------
3 Copyright (C) 2008-2009 Henrik Rydberg <rydberg@euromail.se>
4
5The USB initialization and package decoding was made by Scott Shawcroft as
6part of the touchd user-space driver project:
7 Copyright (C) 2008 Scott Shawcroft (scott.shawcroft@gmail.com)
8
9The BCM5974 driver is based on the appletouch driver:
10 Copyright (C) 2001-2004 Greg Kroah-Hartman (greg@kroah.com)
11 Copyright (C) 2005 Johannes Berg (johannes@sipsolutions.net)
12 Copyright (C) 2005 Stelian Pop (stelian@popies.net)
13 Copyright (C) 2005 Frank Arnold (frank@scirocco-5v-turbo.de)
14 Copyright (C) 2005 Peter Osterlund (petero2@telia.com)
15 Copyright (C) 2005 Michael Hanselmann (linux-kernel@hansmi.ch)
16 Copyright (C) 2006 Nicolas Boichat (nicolas@boichat.ch)
17
18This driver adds support for the multi-touch trackpad on the new Apple
19Macbook Air and Macbook Pro laptops. It replaces the appletouch driver on
20those computers, and integrates well with the synaptics driver of the Xorg
21system.
22
23Known to work on Macbook Air, Macbook Pro Penryn and the new unibody
24Macbook 5 and Macbook Pro 5.
25
26Usage
27-----
28
29The driver loads automatically for the supported usb device ids, and
30becomes available both as an event device (/dev/input/event*) and as a
31mouse via the mousedev driver (/dev/input/mice).
32
33USB Race
34--------
35
36The Apple multi-touch trackpads report both mouse and keyboard events via
37different interfaces of the same usb device. This creates a race condition
38with the HID driver, which, if not told otherwise, will find the standard
39HID mouse and keyboard, and claim the whole device. To remedy, the usb
40product id must be listed in the mouse_ignore list of the hid driver.
41
42Debug output
43------------
44
45To ease the development for new hardware version, verbose packet output can
46be switched on with the debug kernel module parameter. The range [1-9]
47yields different levels of verbosity. Example (as root):
48
49echo -n 9 > /sys/module/bcm5974/parameters/debug
50
51tail -f /var/log/debug
52
53echo -n 0 > /sys/module/bcm5974/parameters/debug
54
55Trivia
56------
57
58The driver was developed at the ubuntu forums in June 2008 [1], and now has
59a more permanent home at bitmath.org [2].
60
61Links
62-----
63
64[1] http://ubuntuforums.org/showthread.php?t=840040
65[2] http://http://bitmath.org/code/
diff --git a/Documentation/input/multi-touch-protocol.txt b/Documentation/input/multi-touch-protocol.txt
new file mode 100644
index 000000000000..9f09557aea39
--- /dev/null
+++ b/Documentation/input/multi-touch-protocol.txt
@@ -0,0 +1,140 @@
1Multi-touch (MT) Protocol
2-------------------------
3 Copyright (C) 2009 Henrik Rydberg <rydberg@euromail.se>
4
5
6Introduction
7------------
8
9In order to utilize the full power of the new multi-touch devices, a way to
10report detailed finger data to user space is needed. This document
11describes the multi-touch (MT) protocol which allows kernel drivers to
12report details for an arbitrary number of fingers.
13
14
15Usage
16-----
17
18Anonymous finger details are sent sequentially as separate packets of ABS
19events. Only the ABS_MT events are recognized as part of a finger
20packet. The end of a packet is marked by calling the input_mt_sync()
21function, which generates a SYN_MT_REPORT event. The end of multi-touch
22transfer is marked by calling the usual input_sync() function.
23
24A set of ABS_MT events with the desired properties is defined. The events
25are divided into categories, to allow for partial implementation. The
26minimum set consists of ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X and
27ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked. If the
28device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide the size
29of the approaching finger. Anisotropy and direction may be specified with
30ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and ABS_MT_ORIENTATION. Devices with
31more granular information may specify general shapes as blobs, i.e., as a
32sequence of rectangular shapes grouped together by an
33ABS_MT_BLOB_ID. Finally, the ABS_MT_TOOL_TYPE may be used to specify
34whether the touching tool is a finger or a pen or something else.
35
36
37Event Semantics
38---------------
39
40The word "contact" is used to describe a tool which is in direct contact
41with the surface. A finger, a pen or a rubber all classify as contacts.
42
43ABS_MT_TOUCH_MAJOR
44
45The length of the major axis of the contact. The length should be given in
46surface units. If the surface has an X times Y resolution, the largest
47possible value of ABS_MT_TOUCH_MAJOR is sqrt(X^2 + Y^2), the diagonal.
48
49ABS_MT_TOUCH_MINOR
50
51The length, in surface units, of the minor axis of the contact. If the
52contact is circular, this event can be omitted.
53
54ABS_MT_WIDTH_MAJOR
55
56The length, in surface units, of the major axis of the approaching
57tool. This should be understood as the size of the tool itself. The
58orientation of the contact and the approaching tool are assumed to be the
59same.
60
61ABS_MT_WIDTH_MINOR
62
63The length, in surface units, of the minor axis of the approaching
64tool. Omit if circular.
65
66The above four values can be used to derive additional information about
67the contact. The ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR approximates
68the notion of pressure. The fingers of the hand and the palm all have
69different characteristic widths [1].
70
71ABS_MT_ORIENTATION
72
73The orientation of the ellipse. The value should describe half a revolution
74clockwise around the touch center. The scale of the value is arbitrary, but
75zero should be returned for an ellipse aligned along the Y axis of the
76surface. As an example, an index finger placed straight onto the axis could
77return zero orientation, something negative when twisted to the left, and
78something positive when twisted to the right. This value can be omitted if
79the touching object is circular, or if the information is not available in
80the kernel driver.
81
82ABS_MT_POSITION_X
83
84The surface X coordinate of the center of the touching ellipse.
85
86ABS_MT_POSITION_Y
87
88The surface Y coordinate of the center of the touching ellipse.
89
90ABS_MT_TOOL_TYPE
91
92The type of approaching tool. A lot of kernel drivers cannot distinguish
93between different tool types, such as a finger or a pen. In such cases, the
94event should be omitted. The protocol currently supports MT_TOOL_FINGER and
95MT_TOOL_PEN [2].
96
97ABS_MT_BLOB_ID
98
99The BLOB_ID groups several packets together into one arbitrarily shaped
100contact. This is a low-level anonymous grouping, and should not be confused
101with the high-level contactID, explained below. Most kernel drivers will
102not have this capability, and can safely omit the event.
103
104
105Finger Tracking
106---------------
107
108The kernel driver should generate an arbitrary enumeration of the set of
109anonymous contacts currently on the surface. The order in which the packets
110appear in the event stream is not important.
111
112The process of finger tracking, i.e., to assign a unique contactID to each
113initiated contact on the surface, is left to user space; preferably the
114multi-touch X driver [3]. In that driver, the contactID stays the same and
115unique until the contact vanishes (when the finger leaves the surface). The
116problem of assigning a set of anonymous fingers to a set of identified
117fingers is a euclidian bipartite matching problem at each event update, and
118relies on a sufficiently rapid update rate.
119
120Notes
121-----
122
123In order to stay compatible with existing applications, the data
124reported in a finger packet must not be recognized as single-touch
125events. In addition, all finger data must bypass input filtering,
126since subsequent events of the same type refer to different fingers.
127
128The first kernel driver to utilize the MT protocol is the bcm5974 driver,
129where examples can be found.
130
131[1] With the extension ABS_MT_APPROACH_X and ABS_MT_APPROACH_Y, the
132difference between the contact position and the approaching tool position
133could be used to derive tilt.
134[2] The list can of course be extended.
135[3] The multi-touch X driver is currently in the prototyping stage. At the
136time of writing (April 2009), the MT protocol is not yet merged, and the
137prototype implements finger matching, basic mouse support and two-finger
138scrolling. The project aims at improving the quality of current multi-touch
139functionality available in the synaptics X driver, and in addition
140implement more advanced gestures.
diff --git a/Documentation/kernel-doc-nano-HOWTO.txt b/Documentation/kernel-doc-nano-HOWTO.txt
index 026ec7d57384..4d04572b6549 100644
--- a/Documentation/kernel-doc-nano-HOWTO.txt
+++ b/Documentation/kernel-doc-nano-HOWTO.txt
@@ -269,7 +269,10 @@ Use the argument mechanism to document members or constants.
269 269
270Inside a struct description, you can use the "private:" and "public:" 270Inside a struct description, you can use the "private:" and "public:"
271comment tags. Structure fields that are inside a "private:" area 271comment tags. Structure fields that are inside a "private:" area
272are not listed in the generated output documentation. 272are not listed in the generated output documentation. The "private:"
273and "public:" tags must begin immediately following a "/*" comment
274marker. They may optionally include comments between the ":" and the
275ending "*/" marker.
273 276
274Example: 277Example:
275 278
@@ -283,7 +286,7 @@ Example:
283struct my_struct { 286struct my_struct {
284 int a; 287 int a;
285 int b; 288 int b;
286/* private: */ 289/* private: internal use only */
287 int c; 290 int c;
288}; 291};
289 292
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 90b3924071b6..e87bdbfbcc75 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -17,6 +17,12 @@ are specified on the kernel command line with the module name plus
17 17
18 usbcore.blinkenlights=1 18 usbcore.blinkenlights=1
19 19
20Hyphens (dashes) and underscores are equivalent in parameter names, so
21 log_buf_len=1M print-fatal-signals=1
22can also be entered as
23 log-buf-len=1M print_fatal_signals=1
24
25
20This document may not be entirely up to date and comprehensive. The command 26This document may not be entirely up to date and comprehensive. The command
21"modinfo -p ${modulename}" shows a current list of all parameters of a loadable 27"modinfo -p ${modulename}" shows a current list of all parameters of a loadable
22module. Loadable modules, after being loaded into the running kernel, also 28module. Loadable modules, after being loaded into the running kernel, also
@@ -345,7 +351,7 @@ and is between 256 and 4096 characters. It is defined in the file
345 not play well with APC CPU idle - disable it if you have 351 not play well with APC CPU idle - disable it if you have
346 APC and your system crashes randomly. 352 APC and your system crashes randomly.
347 353
348 apic= [APIC,i386] Advanced Programmable Interrupt Controller 354 apic= [APIC,X86-32] Advanced Programmable Interrupt Controller
349 Change the output verbosity whilst booting 355 Change the output verbosity whilst booting
350 Format: { quiet (default) | verbose | debug } 356 Format: { quiet (default) | verbose | debug }
351 Change the amount of debugging information output 357 Change the amount of debugging information output
@@ -702,7 +708,7 @@ and is between 256 and 4096 characters. It is defined in the file
702 to discrete, to make X server driver able to add WB 708 to discrete, to make X server driver able to add WB
703 entry later. This parameter enables that. 709 entry later. This parameter enables that.
704 710
705 enable_timer_pin_1 [i386,x86-64] 711 enable_timer_pin_1 [X86]
706 Enable PIN 1 of APIC timer 712 Enable PIN 1 of APIC timer
707 Can be useful to work around chipset bugs 713 Can be useful to work around chipset bugs
708 (in particular on some ATI chipsets). 714 (in particular on some ATI chipsets).
@@ -775,7 +781,7 @@ and is between 256 and 4096 characters. It is defined in the file
775 781
776 hashdist= [KNL,NUMA] Large hashes allocated during boot 782 hashdist= [KNL,NUMA] Large hashes allocated during boot
777 are distributed across NUMA nodes. Defaults on 783 are distributed across NUMA nodes. Defaults on
778 for IA-64, off otherwise. 784 for 64bit NUMA, off otherwise.
779 Format: 0 | 1 (for off | on) 785 Format: 0 | 1 (for off | on)
780 786
781 hcl= [IA-64] SGI's Hardware Graph compatibility layer 787 hcl= [IA-64] SGI's Hardware Graph compatibility layer
diff --git a/Documentation/lockdep-design.txt b/Documentation/lockdep-design.txt
index 938ea22f2cc0..e20d913d5914 100644
--- a/Documentation/lockdep-design.txt
+++ b/Documentation/lockdep-design.txt
@@ -54,9 +54,9 @@ locking error messages, inside curlies. A contrived example:
54The bit position indicates STATE, STATE-read, for each of the states listed 54The bit position indicates STATE, STATE-read, for each of the states listed
55above, and the character displayed in each indicates: 55above, and the character displayed in each indicates:
56 56
57 '.' acquired while irqs disabled 57 '.' acquired while irqs disabled and not in irq context
58 '+' acquired in irq context 58 '-' acquired in irq context
59 '-' acquired with irqs enabled 59 '+' acquired with irqs enabled
60 '?' acquired in irq context with irqs enabled. 60 '?' acquired in irq context with irqs enabled.
61 61
62Unused mutexes cannot be part of the cause of an error. 62Unused mutexes cannot be part of the cause of an error.
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index 97c4b3284329..c302ddf629a0 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -39,8 +39,6 @@ Currently, these files are in /proc/sys/vm:
39- nr_hugepages 39- nr_hugepages
40- nr_overcommit_hugepages 40- nr_overcommit_hugepages
41- nr_pdflush_threads 41- nr_pdflush_threads
42- nr_pdflush_threads_min
43- nr_pdflush_threads_max
44- nr_trim_pages (only if CONFIG_MMU=n) 42- nr_trim_pages (only if CONFIG_MMU=n)
45- numa_zonelist_order 43- numa_zonelist_order
46- oom_dump_tasks 44- oom_dump_tasks
@@ -90,6 +88,10 @@ will itself start writeback.
90If dirty_bytes is written, dirty_ratio becomes a function of its value 88If dirty_bytes is written, dirty_ratio becomes a function of its value
91(dirty_bytes / the amount of dirtyable system memory). 89(dirty_bytes / the amount of dirtyable system memory).
92 90
91Note: the minimum value allowed for dirty_bytes is two pages (in bytes); any
92value lower than this limit will be ignored and the old configuration will be
93retained.
94
93============================================================== 95==============================================================
94 96
95dirty_expire_centisecs 97dirty_expire_centisecs
@@ -465,32 +467,6 @@ The default value is 0.
465 467
466============================================================== 468==============================================================
467 469
468nr_pdflush_threads_min
469
470This value controls the minimum number of pdflush threads.
471
472At boot time, the kernel will create and maintain 'nr_pdflush_threads_min'
473threads for the kernel's lifetime.
474
475The default value is 2. The minimum value you can specify is 1, and
476the maximum value is the current setting of 'nr_pdflush_threads_max'.
477
478See 'nr_pdflush_threads_max' below for more information.
479
480==============================================================
481
482nr_pdflush_threads_max
483
484This value controls the maximum number of pdflush threads that can be
485created. The pdflush algorithm will create a new pdflush thread (up to
486this maximum) if no pdflush threads have been available for >= 1 second.
487
488The default value is 8. The minimum value you can specify is the
489current value of 'nr_pdflush_threads_min' and the
490maximum is 1000.
491
492==============================================================
493
494overcommit_memory: 470overcommit_memory:
495 471
496This value contains a flag that enables memory overcommitment. 472This value contains a flag that enables memory overcommitment.
diff --git a/Documentation/sysfs-rules.txt b/Documentation/sysfs-rules.txt
index 6049a2a84dda..5d8bc2cd250c 100644
--- a/Documentation/sysfs-rules.txt
+++ b/Documentation/sysfs-rules.txt
@@ -113,7 +113,7 @@ versions of the sysfs interface.
113 "devices" directory at /sys/subsystem/<name>/devices. 113 "devices" directory at /sys/subsystem/<name>/devices.
114 114
115 If /sys/subsystem exists, /sys/bus, /sys/class and /sys/block can be 115 If /sys/subsystem exists, /sys/bus, /sys/class and /sys/block can be
116 ignored. If it does not exist, you have always to scan all three 116 ignored. If it does not exist, you always have to scan all three
117 places, as the kernel is free to move a subsystem from one place to 117 places, as the kernel is free to move a subsystem from one place to
118 the other, as long as the devices are still reachable by the same 118 the other, as long as the devices are still reachable by the same
119 subsystem name. 119 subsystem name.
diff --git a/MAINTAINERS b/MAINTAINERS
index 5114b5341df4..8f4a8b601a15 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3434,11 +3434,10 @@ L: linuxppc-dev@ozlabs.org
3434S: Maintained 3434S: Maintained
3435 3435
3436LINUX FOR POWERPC EMBEDDED MPC5XXX 3436LINUX FOR POWERPC EMBEDDED MPC5XXX
3437P: Sylvain Munaut
3438M: tnt@246tNt.com
3439P: Grant Likely 3437P: Grant Likely
3440M: grant.likely@secretlab.ca 3438M: grant.likely@secretlab.ca
3441L: linuxppc-dev@ozlabs.org 3439L: linuxppc-dev@ozlabs.org
3440T: git git://git.secretlab.ca/git/linux-2.6.git
3442S: Maintained 3441S: Maintained
3443 3442
3444LINUX FOR POWERPC EMBEDDED PPC4XX 3443LINUX FOR POWERPC EMBEDDED PPC4XX
@@ -3456,6 +3455,7 @@ P: Grant Likely
3456M: grant.likely@secretlab.ca 3455M: grant.likely@secretlab.ca
3457W: http://wiki.secretlab.ca/index.php/Linux_on_Xilinx_Virtex 3456W: http://wiki.secretlab.ca/index.php/Linux_on_Xilinx_Virtex
3458L: linuxppc-dev@ozlabs.org 3457L: linuxppc-dev@ozlabs.org
3458T: git git://git.secretlab.ca/git/linux-2.6.git
3459S: Maintained 3459S: Maintained
3460 3460
3461LINUX FOR POWERPC EMBEDDED PPC8XX 3461LINUX FOR POWERPC EMBEDDED PPC8XX
@@ -4189,7 +4189,7 @@ P: Joel Becker
4189M: joel.becker@oracle.com 4189M: joel.becker@oracle.com
4190L: ocfs2-devel@oss.oracle.com (moderated for non-subscribers) 4190L: ocfs2-devel@oss.oracle.com (moderated for non-subscribers)
4191W: http://oss.oracle.com/projects/ocfs2/ 4191W: http://oss.oracle.com/projects/ocfs2/
4192T: git git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git 4192T: git git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2.git
4193S: Supported 4193S: Supported
4194F: Documentation/filesystems/ocfs2.txt 4194F: Documentation/filesystems/ocfs2.txt
4195F: Documentation/filesystems/dlmfs.txt 4195F: Documentation/filesystems/dlmfs.txt
@@ -4531,6 +4531,19 @@ M: jim@jtan.com
4531L: cbe-oss-dev@ozlabs.org 4531L: cbe-oss-dev@ozlabs.org
4532S: Maintained 4532S: Maintained
4533 4533
4534PTRACE SUPPORT
4535P: Roland McGrath
4536M: roland@redhat.com
4537P: Oleg Nesterov
4538M: oleg@redhat.com
4539L: linux-kernel@vger.kernel.org
4540S: Maintained
4541F: include/asm-generic/syscall.h
4542F: include/linux/ptrace.h
4543F: include/linux/regset.h
4544F: include/linux/tracehook.h
4545F: kernel/ptrace.c
4546
4534PVRUSB2 VIDEO4LINUX DRIVER 4547PVRUSB2 VIDEO4LINUX DRIVER
4535P: Mike Isely 4548P: Mike Isely
4536M: isely@pobox.com 4549M: isely@pobox.com
@@ -4676,13 +4689,13 @@ F: kernel/rcutorture.c
4676 4689
4677RDC R-321X SoC 4690RDC R-321X SoC
4678P: Florian Fainelli 4691P: Florian Fainelli
4679M: florian.fainelli@telecomint.eu 4692M: florian@openwrt.org
4680L: linux-kernel@vger.kernel.org 4693L: linux-kernel@vger.kernel.org
4681S: Maintained 4694S: Maintained
4682 4695
4683RDC R6040 FAST ETHERNET DRIVER 4696RDC R6040 FAST ETHERNET DRIVER
4684P: Florian Fainelli 4697P: Florian Fainelli
4685M: florian.fainelli@telecomint.eu 4698M: florian@openwrt.org
4686L: netdev@vger.kernel.org 4699L: netdev@vger.kernel.org
4687S: Maintained 4700S: Maintained
4688F: drivers/net/r6040.c 4701F: drivers/net/r6040.c
diff --git a/Makefile b/Makefile
index eb38c8399261..b57e1f539e83 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 30 3SUBLEVEL = 30
4EXTRAVERSION = -rc4 4EXTRAVERSION = -rc6
5NAME = Vindictive Armadillo 5NAME = Vindictive Armadillo
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
@@ -1293,7 +1293,7 @@ help:
1293 @echo ' dir/ - Build all files in dir and below' 1293 @echo ' dir/ - Build all files in dir and below'
1294 @echo ' dir/file.[ois] - Build specified target only' 1294 @echo ' dir/file.[ois] - Build specified target only'
1295 @echo ' dir/file.ko - Build module including final link' 1295 @echo ' dir/file.ko - Build module including final link'
1296 @echo ' prepare - Set up for building external modules' 1296 @echo ' modules_prepare - Set up for building external modules'
1297 @echo ' tags/TAGS - Generate tags file for editors' 1297 @echo ' tags/TAGS - Generate tags file for editors'
1298 @echo ' cscope - Generate cscope index' 1298 @echo ' cscope - Generate cscope index'
1299 @echo ' kernelrelease - Output the release version string' 1299 @echo ' kernelrelease - Output the release version string'
@@ -1421,7 +1421,9 @@ $(clean-dirs):
1421 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@) 1421 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
1422 1422
1423clean: rm-dirs := $(MODVERDIR) 1423clean: rm-dirs := $(MODVERDIR)
1424clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers 1424clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers \
1425 $(KBUILD_EXTMOD)/Module.markers \
1426 $(KBUILD_EXTMOD)/modules.order
1425clean: $(clean-dirs) 1427clean: $(clean-dirs)
1426 $(call cmd,rmdirs) 1428 $(call cmd,rmdirs)
1427 $(call cmd,rmfiles) 1429 $(call cmd,rmfiles)
diff --git a/arch/alpha/include/asm/barrier.h b/arch/alpha/include/asm/barrier.h
index ac78eba909bc..ce8860a0b32d 100644
--- a/arch/alpha/include/asm/barrier.h
+++ b/arch/alpha/include/asm/barrier.h
@@ -16,11 +16,13 @@ __asm__ __volatile__("wmb": : :"memory")
16__asm__ __volatile__("mb": : :"memory") 16__asm__ __volatile__("mb": : :"memory")
17 17
18#ifdef CONFIG_SMP 18#ifdef CONFIG_SMP
19#define __ASM_SMP_MB "\tmb\n"
19#define smp_mb() mb() 20#define smp_mb() mb()
20#define smp_rmb() rmb() 21#define smp_rmb() rmb()
21#define smp_wmb() wmb() 22#define smp_wmb() wmb()
22#define smp_read_barrier_depends() read_barrier_depends() 23#define smp_read_barrier_depends() read_barrier_depends()
23#else 24#else
25#define __ASM_SMP_MB
24#define smp_mb() barrier() 26#define smp_mb() barrier()
25#define smp_rmb() barrier() 27#define smp_rmb() barrier()
26#define smp_wmb() barrier() 28#define smp_wmb() barrier()
diff --git a/arch/alpha/include/asm/futex.h b/arch/alpha/include/asm/futex.h
index 6a332a9f099c..945de222ab91 100644
--- a/arch/alpha/include/asm/futex.h
+++ b/arch/alpha/include/asm/futex.h
@@ -1,6 +1,116 @@
1#ifndef _ASM_FUTEX_H 1#ifndef _ASM_ALPHA_FUTEX_H
2#define _ASM_FUTEX_H 2#define _ASM_ALPHA_FUTEX_H
3 3
4#include <asm-generic/futex.h> 4#ifdef __KERNEL__
5 5
6#endif 6#include <linux/futex.h>
7#include <linux/uaccess.h>
8#include <asm/errno.h>
9#include <asm/barrier.h>
10
11#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
12 __asm__ __volatile__( \
13 __ASM_SMP_MB \
14 "1: ldl_l %0,0(%2)\n" \
15 insn \
16 "2: stl_c %1,0(%2)\n" \
17 " beq %1,4f\n" \
18 " mov $31,%1\n" \
19 "3: .subsection 2\n" \
20 "4: br 1b\n" \
21 " .previous\n" \
22 " .section __ex_table,\"a\"\n" \
23 " .long 1b-.\n" \
24 " lda $31,3b-1b(%1)\n" \
25 " .long 2b-.\n" \
26 " lda $31,3b-2b(%1)\n" \
27 " .previous\n" \
28 : "=&r" (oldval), "=&r"(ret) \
29 : "r" (uaddr), "r"(oparg) \
30 : "memory")
31
32static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr)
33{
34 int op = (encoded_op >> 28) & 7;
35 int cmp = (encoded_op >> 24) & 15;
36 int oparg = (encoded_op << 8) >> 20;
37 int cmparg = (encoded_op << 20) >> 20;
38 int oldval = 0, ret;
39 if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
40 oparg = 1 << oparg;
41
42 if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int)))
43 return -EFAULT;
44
45 pagefault_disable();
46
47 switch (op) {
48 case FUTEX_OP_SET:
49 __futex_atomic_op("mov %3,%1\n", ret, oldval, uaddr, oparg);
50 break;
51 case FUTEX_OP_ADD:
52 __futex_atomic_op("addl %0,%3,%1\n", ret, oldval, uaddr, oparg);
53 break;
54 case FUTEX_OP_OR:
55 __futex_atomic_op("or %0,%3,%1\n", ret, oldval, uaddr, oparg);
56 break;
57 case FUTEX_OP_ANDN:
58 __futex_atomic_op("andnot %0,%3,%1\n", ret, oldval, uaddr, oparg);
59 break;
60 case FUTEX_OP_XOR:
61 __futex_atomic_op("xor %0,%3,%1\n", ret, oldval, uaddr, oparg);
62 break;
63 default:
64 ret = -ENOSYS;
65 }
66
67 pagefault_enable();
68
69 if (!ret) {
70 switch (cmp) {
71 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break;
72 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break;
73 case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break;
74 case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break;
75 case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break;
76 case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break;
77 default: ret = -ENOSYS;
78 }
79 }
80 return ret;
81}
82
83static inline int
84futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval)
85{
86 int prev, cmp;
87
88 if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int)))
89 return -EFAULT;
90
91 __asm__ __volatile__ (
92 __ASM_SMP_MB
93 "1: ldl_l %0,0(%2)\n"
94 " cmpeq %0,%3,%1\n"
95 " beq %1,3f\n"
96 " mov %4,%1\n"
97 "2: stl_c %1,0(%2)\n"
98 " beq %1,4f\n"
99 "3: .subsection 2\n"
100 "4: br 1b\n"
101 " .previous\n"
102 " .section __ex_table,\"a\"\n"
103 " .long 1b-.\n"
104 " lda $31,3b-1b(%0)\n"
105 " .long 2b-.\n"
106 " lda $31,3b-2b(%0)\n"
107 " .previous\n"
108 : "=&r"(prev), "=&r"(cmp)
109 : "r"(uaddr), "r"((long)oldval), "r"(newval)
110 : "memory");
111
112 return prev;
113}
114
115#endif /* __KERNEL__ */
116#endif /* _ASM_ALPHA_FUTEX_H */
diff --git a/arch/alpha/include/asm/percpu.h b/arch/alpha/include/asm/percpu.h
index e9e0bb5a23bf..06c5c7a4afd3 100644
--- a/arch/alpha/include/asm/percpu.h
+++ b/arch/alpha/include/asm/percpu.h
@@ -1,7 +1,9 @@
1#ifndef __ALPHA_PERCPU_H 1#ifndef __ALPHA_PERCPU_H
2#define __ALPHA_PERCPU_H 2#define __ALPHA_PERCPU_H
3
3#include <linux/compiler.h> 4#include <linux/compiler.h>
4#include <linux/threads.h> 5#include <linux/threads.h>
6#include <linux/percpu-defs.h>
5 7
6/* 8/*
7 * Determine the real variable name from the name visible in the 9 * Determine the real variable name from the name visible in the
@@ -73,6 +75,28 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
73 75
74#endif /* SMP */ 76#endif /* SMP */
75 77
76#include <asm-generic/percpu.h> 78#ifdef CONFIG_SMP
79#define PER_CPU_BASE_SECTION ".data.percpu"
80#else
81#define PER_CPU_BASE_SECTION ".data"
82#endif
83
84#ifdef CONFIG_SMP
85
86#ifdef MODULE
87#define PER_CPU_SHARED_ALIGNED_SECTION ""
88#else
89#define PER_CPU_SHARED_ALIGNED_SECTION ".shared_aligned"
90#endif
91#define PER_CPU_FIRST_SECTION ".first"
92
93#else
94
95#define PER_CPU_SHARED_ALIGNED_SECTION ""
96#define PER_CPU_FIRST_SECTION ""
97
98#endif
99
100#define PER_CPU_ATTRIBUTES
77 101
78#endif /* __ALPHA_PERCPU_H */ 102#endif /* __ALPHA_PERCPU_H */
diff --git a/arch/alpha/include/asm/uaccess.h b/arch/alpha/include/asm/uaccess.h
index 163f3053001c..b49ec2f8d6e3 100644
--- a/arch/alpha/include/asm/uaccess.h
+++ b/arch/alpha/include/asm/uaccess.h
@@ -507,5 +507,7 @@ struct exception_table_entry
507 (pc) + (_fixup)->fixup.bits.nextinsn; \ 507 (pc) + (_fixup)->fixup.bits.nextinsn; \
508}) 508})
509 509
510#define ARCH_HAS_SORT_EXTABLE
511#define ARCH_HAS_SEARCH_EXTABLE
510 512
511#endif /* __ALPHA_UACCESS_H */ 513#endif /* __ALPHA_UACCESS_H */
diff --git a/arch/alpha/kernel/Makefile b/arch/alpha/kernel/Makefile
index a427538252f8..7739a62440a7 100644
--- a/arch/alpha/kernel/Makefile
+++ b/arch/alpha/kernel/Makefile
@@ -8,7 +8,7 @@ EXTRA_CFLAGS := -Werror -Wno-sign-compare
8 8
9obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \ 9obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \
10 irq_alpha.o signal.o setup.o ptrace.o time.o \ 10 irq_alpha.o signal.o setup.o ptrace.o time.o \
11 alpha_ksyms.o systbls.o err_common.o io.o binfmt_loader.o 11 alpha_ksyms.o systbls.o err_common.o io.o
12 12
13obj-$(CONFIG_VGA_HOSE) += console.o 13obj-$(CONFIG_VGA_HOSE) += console.o
14obj-$(CONFIG_SMP) += smp.o 14obj-$(CONFIG_SMP) += smp.o
@@ -43,6 +43,10 @@ else
43# Misc support 43# Misc support
44obj-$(CONFIG_ALPHA_SRM) += srmcons.o 44obj-$(CONFIG_ALPHA_SRM) += srmcons.o
45 45
46ifdef CONFIG_BINFMT_AOUT
47obj-y += binfmt_loader.o
48endif
49
46# Core logic support 50# Core logic support
47obj-$(CONFIG_ALPHA_APECS) += core_apecs.o 51obj-$(CONFIG_ALPHA_APECS) += core_apecs.o
48obj-$(CONFIG_ALPHA_CIA) += core_cia.o 52obj-$(CONFIG_ALPHA_CIA) += core_cia.o
diff --git a/arch/alpha/kernel/binfmt_loader.c b/arch/alpha/kernel/binfmt_loader.c
index 4a0af906b00a..3fcfad410130 100644
--- a/arch/alpha/kernel/binfmt_loader.c
+++ b/arch/alpha/kernel/binfmt_loader.c
@@ -46,6 +46,6 @@ static struct linux_binfmt loader_format = {
46 46
47static int __init init_loader_binfmt(void) 47static int __init init_loader_binfmt(void)
48{ 48{
49 return register_binfmt(&loader_format); 49 return insert_binfmt(&loader_format);
50} 50}
51arch_initcall(init_loader_binfmt); 51arch_initcall(init_loader_binfmt);
diff --git a/arch/alpha/kernel/err_ev6.c b/arch/alpha/kernel/err_ev6.c
index 985e5c1681ac..8ca6345bf131 100644
--- a/arch/alpha/kernel/err_ev6.c
+++ b/arch/alpha/kernel/err_ev6.c
@@ -229,7 +229,7 @@ ev6_process_logout_frame(struct el_common *mchk_header, int print)
229} 229}
230 230
231void 231void
232ev6_machine_check(u64 vector, u64 la_ptr) 232ev6_machine_check(unsigned long vector, unsigned long la_ptr)
233{ 233{
234 struct el_common *mchk_header = (struct el_common *)la_ptr; 234 struct el_common *mchk_header = (struct el_common *)la_ptr;
235 235
diff --git a/arch/alpha/kernel/err_ev7.c b/arch/alpha/kernel/err_ev7.c
index 73770c6ca013..d738a67112d4 100644
--- a/arch/alpha/kernel/err_ev7.c
+++ b/arch/alpha/kernel/err_ev7.c
@@ -117,7 +117,7 @@ ev7_collect_logout_frame_subpackets(struct el_subpacket *el_ptr,
117} 117}
118 118
119void 119void
120ev7_machine_check(u64 vector, u64 la_ptr) 120ev7_machine_check(unsigned long vector, unsigned long la_ptr)
121{ 121{
122 struct el_subpacket *el_ptr = (struct el_subpacket *)la_ptr; 122 struct el_subpacket *el_ptr = (struct el_subpacket *)la_ptr;
123 char *saved_err_prefix = err_print_prefix; 123 char *saved_err_prefix = err_print_prefix;
@@ -246,7 +246,7 @@ ev7_process_pal_subpacket(struct el_subpacket *header)
246 246
247 switch(header->type) { 247 switch(header->type) {
248 case EL_TYPE__PAL__LOGOUT_FRAME: 248 case EL_TYPE__PAL__LOGOUT_FRAME:
249 printk("%s*** MCHK occurred on LPID %ld (RBOX %llx)\n", 249 printk("%s*** MCHK occurred on LPID %lld (RBOX %llx)\n",
250 err_print_prefix, 250 err_print_prefix,
251 packet->by_type.logout.whami, 251 packet->by_type.logout.whami,
252 packet->by_type.logout.rbox_whami); 252 packet->by_type.logout.rbox_whami);
diff --git a/arch/alpha/kernel/err_impl.h b/arch/alpha/kernel/err_impl.h
index 3c12258158e6..0c010ca4611e 100644
--- a/arch/alpha/kernel/err_impl.h
+++ b/arch/alpha/kernel/err_impl.h
@@ -60,26 +60,26 @@ extern struct ev7_lf_subpackets *
60ev7_collect_logout_frame_subpackets(struct el_subpacket *, 60ev7_collect_logout_frame_subpackets(struct el_subpacket *,
61 struct ev7_lf_subpackets *); 61 struct ev7_lf_subpackets *);
62extern void ev7_register_error_handlers(void); 62extern void ev7_register_error_handlers(void);
63extern void ev7_machine_check(u64, u64); 63extern void ev7_machine_check(unsigned long, unsigned long);
64 64
65/* 65/*
66 * err_ev6.c 66 * err_ev6.c
67 */ 67 */
68extern void ev6_register_error_handlers(void); 68extern void ev6_register_error_handlers(void);
69extern int ev6_process_logout_frame(struct el_common *, int); 69extern int ev6_process_logout_frame(struct el_common *, int);
70extern void ev6_machine_check(u64, u64); 70extern void ev6_machine_check(unsigned long, unsigned long);
71 71
72/* 72/*
73 * err_marvel.c 73 * err_marvel.c
74 */ 74 */
75extern void marvel_machine_check(u64, u64); 75extern void marvel_machine_check(unsigned long, unsigned long);
76extern void marvel_register_error_handlers(void); 76extern void marvel_register_error_handlers(void);
77 77
78/* 78/*
79 * err_titan.c 79 * err_titan.c
80 */ 80 */
81extern int titan_process_logout_frame(struct el_common *, int); 81extern int titan_process_logout_frame(struct el_common *, int);
82extern void titan_machine_check(u64, u64); 82extern void titan_machine_check(unsigned long, unsigned long);
83extern void titan_register_error_handlers(void); 83extern void titan_register_error_handlers(void);
84extern int privateer_process_logout_frame(struct el_common *, int); 84extern int privateer_process_logout_frame(struct el_common *, int);
85extern void privateer_machine_check(u64, u64); 85extern void privateer_machine_check(unsigned long, unsigned long);
diff --git a/arch/alpha/kernel/err_marvel.c b/arch/alpha/kernel/err_marvel.c
index 6bfd243efba3..52a79dfc13c6 100644
--- a/arch/alpha/kernel/err_marvel.c
+++ b/arch/alpha/kernel/err_marvel.c
@@ -1042,7 +1042,7 @@ marvel_process_logout_frame(struct ev7_lf_subpackets *lf_subpackets, int print)
1042} 1042}
1043 1043
1044void 1044void
1045marvel_machine_check(u64 vector, u64 la_ptr) 1045marvel_machine_check(unsigned long vector, unsigned long la_ptr)
1046{ 1046{
1047 struct el_subpacket *el_ptr = (struct el_subpacket *)la_ptr; 1047 struct el_subpacket *el_ptr = (struct el_subpacket *)la_ptr;
1048 int (*process_frame)(struct ev7_lf_subpackets *, int) = NULL; 1048 int (*process_frame)(struct ev7_lf_subpackets *, int) = NULL;
diff --git a/arch/alpha/kernel/err_titan.c b/arch/alpha/kernel/err_titan.c
index c7e28a88d6e3..f7ed97ce0dfd 100644
--- a/arch/alpha/kernel/err_titan.c
+++ b/arch/alpha/kernel/err_titan.c
@@ -380,7 +380,7 @@ titan_process_logout_frame(struct el_common *mchk_header, int print)
380} 380}
381 381
382void 382void
383titan_machine_check(u64 vector, u64 la_ptr) 383titan_machine_check(unsigned long vector, unsigned long la_ptr)
384{ 384{
385 struct el_common *mchk_header = (struct el_common *)la_ptr; 385 struct el_common *mchk_header = (struct el_common *)la_ptr;
386 struct el_TITAN_sysdata_mcheck *tmchk = 386 struct el_TITAN_sysdata_mcheck *tmchk =
@@ -702,7 +702,7 @@ privateer_process_logout_frame(struct el_common *mchk_header, int print)
702} 702}
703 703
704void 704void
705privateer_machine_check(u64 vector, u64 la_ptr) 705privateer_machine_check(unsigned long vector, unsigned long la_ptr)
706{ 706{
707 struct el_common *mchk_header = (struct el_common *)la_ptr; 707 struct el_common *mchk_header = (struct el_common *)la_ptr;
708 struct el_TITAN_sysdata_mcheck *tmchk = 708 struct el_TITAN_sysdata_mcheck *tmchk =
diff --git a/arch/alpha/kernel/proto.h b/arch/alpha/kernel/proto.h
index 567f2598d090..3d2627ec9860 100644
--- a/arch/alpha/kernel/proto.h
+++ b/arch/alpha/kernel/proto.h
@@ -36,7 +36,6 @@ extern void cia_pci_tbi(struct pci_controller *, dma_addr_t, dma_addr_t);
36extern struct pci_ops irongate_pci_ops; 36extern struct pci_ops irongate_pci_ops;
37extern int irongate_pci_clr_err(void); 37extern int irongate_pci_clr_err(void);
38extern void irongate_init_arch(void); 38extern void irongate_init_arch(void);
39extern void irongate_machine_check(u64, u64);
40#define irongate_pci_tbi ((void *)0) 39#define irongate_pci_tbi ((void *)0)
41 40
42/* core_lca.c */ 41/* core_lca.c */
@@ -49,7 +48,7 @@ extern void lca_pci_tbi(struct pci_controller *, dma_addr_t, dma_addr_t);
49extern struct pci_ops marvel_pci_ops; 48extern struct pci_ops marvel_pci_ops;
50extern void marvel_init_arch(void); 49extern void marvel_init_arch(void);
51extern void marvel_kill_arch(int); 50extern void marvel_kill_arch(int);
52extern void marvel_machine_check(u64, u64); 51extern void marvel_machine_check(unsigned long, unsigned long);
53extern void marvel_pci_tbi(struct pci_controller *, dma_addr_t, dma_addr_t); 52extern void marvel_pci_tbi(struct pci_controller *, dma_addr_t, dma_addr_t);
54extern int marvel_pa_to_nid(unsigned long); 53extern int marvel_pa_to_nid(unsigned long);
55extern int marvel_cpuid_to_nid(int); 54extern int marvel_cpuid_to_nid(int);
@@ -86,7 +85,7 @@ extern void t2_pci_tbi(struct pci_controller *, dma_addr_t, dma_addr_t);
86extern struct pci_ops titan_pci_ops; 85extern struct pci_ops titan_pci_ops;
87extern void titan_init_arch(void); 86extern void titan_init_arch(void);
88extern void titan_kill_arch(int); 87extern void titan_kill_arch(int);
89extern void titan_machine_check(u64, u64); 88extern void titan_machine_check(unsigned long, unsigned long);
90extern void titan_pci_tbi(struct pci_controller *, dma_addr_t, dma_addr_t); 89extern void titan_pci_tbi(struct pci_controller *, dma_addr_t, dma_addr_t);
91extern struct _alpha_agp_info *titan_agp_info(void); 90extern struct _alpha_agp_info *titan_agp_info(void);
92 91
diff --git a/arch/alpha/mm/extable.c b/arch/alpha/mm/extable.c
index dc7aeda15773..62dc379d301a 100644
--- a/arch/alpha/mm/extable.c
+++ b/arch/alpha/mm/extable.c
@@ -3,11 +3,49 @@
3 */ 3 */
4 4
5#include <linux/module.h> 5#include <linux/module.h>
6#include <linux/sort.h>
6#include <asm/uaccess.h> 7#include <asm/uaccess.h>
7 8
9static inline unsigned long ex_to_addr(const struct exception_table_entry *x)
10{
11 return (unsigned long)&x->insn + x->insn;
12}
13
14static void swap_ex(void *a, void *b, int size)
15{
16 struct exception_table_entry *ex_a = a, *ex_b = b;
17 unsigned long addr_a = ex_to_addr(ex_a), addr_b = ex_to_addr(ex_b);
18 unsigned int t = ex_a->fixup.unit;
19
20 ex_a->fixup.unit = ex_b->fixup.unit;
21 ex_b->fixup.unit = t;
22 ex_a->insn = (int)(addr_b - (unsigned long)&ex_a->insn);
23 ex_b->insn = (int)(addr_a - (unsigned long)&ex_b->insn);
24}
25
26/*
27 * The exception table needs to be sorted so that the binary
28 * search that we use to find entries in it works properly.
29 * This is used both for the kernel exception table and for
30 * the exception tables of modules that get loaded.
31 */
32static int cmp_ex(const void *a, const void *b)
33{
34 const struct exception_table_entry *x = a, *y = b;
35
36 /* avoid overflow */
37 if (ex_to_addr(x) > ex_to_addr(y))
38 return 1;
39 if (ex_to_addr(x) < ex_to_addr(y))
40 return -1;
41 return 0;
42}
43
8void sort_extable(struct exception_table_entry *start, 44void sort_extable(struct exception_table_entry *start,
9 struct exception_table_entry *finish) 45 struct exception_table_entry *finish)
10{ 46{
47 sort(start, finish - start, sizeof(struct exception_table_entry),
48 cmp_ex, swap_ex);
11} 49}
12 50
13const struct exception_table_entry * 51const struct exception_table_entry *
@@ -20,7 +58,7 @@ search_extable(const struct exception_table_entry *first,
20 unsigned long mid_value; 58 unsigned long mid_value;
21 59
22 mid = (last - first) / 2 + first; 60 mid = (last - first) / 2 + first;
23 mid_value = (unsigned long)&mid->insn + mid->insn; 61 mid_value = ex_to_addr(mid);
24 if (mid_value == value) 62 if (mid_value == value)
25 return mid; 63 return mid;
26 else if (mid_value < value) 64 else if (mid_value < value)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e02b893fb909..e60ec54df334 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -454,6 +454,7 @@ config ARCH_MXC
454 select ARCH_MTD_XIP 454 select ARCH_MTD_XIP
455 select GENERIC_GPIO 455 select GENERIC_GPIO
456 select ARCH_REQUIRE_GPIOLIB 456 select ARCH_REQUIRE_GPIOLIB
457 select HAVE_CLK
457 help 458 help
458 Support for Freescale MXC/iMX-based family of processors 459 Support for Freescale MXC/iMX-based family of processors
459 460
@@ -486,8 +487,6 @@ config ARCH_PXA
486 select HAVE_CLK 487 select HAVE_CLK
487 select COMMON_CLKDEV 488 select COMMON_CLKDEV
488 select ARCH_REQUIRE_GPIOLIB 489 select ARCH_REQUIRE_GPIOLIB
489 select HAVE_CLK
490 select COMMON_CLKDEV
491 select GENERIC_TIME 490 select GENERIC_TIME
492 select GENERIC_CLOCKEVENTS 491 select GENERIC_CLOCKEVENTS
493 select TICK_ONESHOT 492 select TICK_ONESHOT
@@ -585,6 +584,8 @@ config ARCH_DAVINCI
585 select ARCH_REQUIRE_GPIOLIB 584 select ARCH_REQUIRE_GPIOLIB
586 select HAVE_CLK 585 select HAVE_CLK
587 select ZONE_DMA 586 select ZONE_DMA
587 select HAVE_IDE
588 select COMMON_CLKDEV
588 help 589 help
589 Support for TI's DaVinci platform. 590 Support for TI's DaVinci platform.
590 591
@@ -740,6 +741,56 @@ if !MMU
740source "arch/arm/Kconfig-nommu" 741source "arch/arm/Kconfig-nommu"
741endif 742endif
742 743
744config ARM_ERRATA_411920
745 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
746 depends on CPU_V6 && !SMP
747 help
748 Invalidation of the Instruction Cache operation can
749 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
750 It does not affect the MPCore. This option enables the ARM Ltd.
751 recommended workaround.
752
753config ARM_ERRATA_430973
754 bool "ARM errata: Stale prediction on replaced interworking branch"
755 depends on CPU_V7
756 help
757 This option enables the workaround for the 430973 Cortex-A8
758 (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
759 interworking branch is replaced with another code sequence at the
760 same virtual address, whether due to self-modifying code or virtual
761 to physical address re-mapping, Cortex-A8 does not recover from the
762 stale interworking branch prediction. This results in Cortex-A8
763 executing the new code sequence in the incorrect ARM or Thumb state.
764 The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
765 and also flushes the branch target cache at every context switch.
766 Note that setting specific bits in the ACTLR register may not be
767 available in non-secure mode.
768
769config ARM_ERRATA_458693
770 bool "ARM errata: Processor deadlock when a false hazard is created"
771 depends on CPU_V7
772 help
773 This option enables the workaround for the 458693 Cortex-A8 (r2p0)
774 erratum. For very specific sequences of memory operations, it is
775 possible for a hazard condition intended for a cache line to instead
776 be incorrectly associated with a different cache line. This false
777 hazard might then cause a processor deadlock. The workaround enables
778 the L1 caching of the NEON accesses and disables the PLD instruction
779 in the ACTLR register. Note that setting specific bits in the ACTLR
780 register may not be available in non-secure mode.
781
782config ARM_ERRATA_460075
783 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
784 depends on CPU_V7
785 help
786 This option enables the workaround for the 460075 Cortex-A8 (r2p0)
787 erratum. Any asynchronous access to the L2 cache may encounter a
788 situation in which recent store transactions to the L2 cache are lost
789 and overwritten with stale memory contents from external memory. The
790 workaround disables the write-allocate mode for the L2 cache via the
791 ACTLR register. Note that setting specific bits in the ACTLR register
792 may not be available in non-secure mode.
793
743endmenu 794endmenu
744 795
745source "arch/arm/common/Kconfig" 796source "arch/arm/common/Kconfig"
@@ -1171,12 +1222,6 @@ config CPU_FREQ_IMX
1171 1222
1172 If in doubt, say N. 1223 If in doubt, say N.
1173 1224
1174config CPU_FREQ_PXA
1175 bool
1176 depends on CPU_FREQ && ARCH_PXA && PXA25x
1177 default y
1178 select CPU_FREQ_DEFAULT_GOV_USERSPACE
1179
1180endif 1225endif
1181 1226
1182source "drivers/cpuidle/Kconfig" 1227source "drivers/cpuidle/Kconfig"
diff --git a/arch/arm/configs/davinci_all_defconfig b/arch/arm/configs/davinci_all_defconfig
new file mode 100644
index 000000000000..eb2738b5be5f
--- /dev/null
+++ b/arch/arm/configs/davinci_all_defconfig
@@ -0,0 +1,1784 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.30-rc2
4# Wed Apr 15 08:16:53 2009
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y
16CONFIG_LOCKDEP_SUPPORT=y
17CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y
21# CONFIG_ARCH_HAS_ILOG2_U32 is not set
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_ZONE_DMA=y
26CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
27CONFIG_VECTORS_BASE=0xffff0000
28CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
29
30#
31# General setup
32#
33CONFIG_EXPERIMENTAL=y
34CONFIG_BROKEN_ON_SMP=y
35CONFIG_LOCK_KERNEL=y
36CONFIG_INIT_ENV_ARG_LIMIT=32
37CONFIG_LOCALVERSION=""
38CONFIG_LOCALVERSION_AUTO=y
39# CONFIG_SWAP is not set
40CONFIG_SYSVIPC=y
41CONFIG_SYSVIPC_SYSCTL=y
42CONFIG_POSIX_MQUEUE=y
43CONFIG_POSIX_MQUEUE_SYSCTL=y
44# CONFIG_BSD_PROCESS_ACCT is not set
45# CONFIG_TASKSTATS is not set
46# CONFIG_AUDIT is not set
47
48#
49# RCU Subsystem
50#
51CONFIG_CLASSIC_RCU=y
52# CONFIG_TREE_RCU is not set
53# CONFIG_PREEMPT_RCU is not set
54# CONFIG_TREE_RCU_TRACE is not set
55# CONFIG_PREEMPT_RCU_TRACE is not set
56CONFIG_IKCONFIG=y
57CONFIG_IKCONFIG_PROC=y
58CONFIG_LOG_BUF_SHIFT=14
59CONFIG_GROUP_SCHED=y
60CONFIG_FAIR_GROUP_SCHED=y
61# CONFIG_RT_GROUP_SCHED is not set
62CONFIG_USER_SCHED=y
63# CONFIG_CGROUP_SCHED is not set
64# CONFIG_CGROUPS is not set
65CONFIG_SYSFS_DEPRECATED=y
66CONFIG_SYSFS_DEPRECATED_V2=y
67# CONFIG_RELAY is not set
68# CONFIG_NAMESPACES is not set
69CONFIG_BLK_DEV_INITRD=y
70CONFIG_INITRAMFS_SOURCE=""
71CONFIG_RD_GZIP=y
72# CONFIG_RD_BZIP2 is not set
73# CONFIG_RD_LZMA is not set
74CONFIG_CC_OPTIMIZE_FOR_SIZE=y
75CONFIG_SYSCTL=y
76CONFIG_ANON_INODES=y
77CONFIG_EMBEDDED=y
78CONFIG_UID16=y
79CONFIG_SYSCTL_SYSCALL=y
80CONFIG_KALLSYMS=y
81# CONFIG_KALLSYMS_ALL is not set
82# CONFIG_KALLSYMS_EXTRA_PASS is not set
83# CONFIG_STRIP_ASM_SYMS is not set
84CONFIG_HOTPLUG=y
85CONFIG_PRINTK=y
86CONFIG_BUG=y
87CONFIG_ELF_CORE=y
88CONFIG_BASE_FULL=y
89CONFIG_FUTEX=y
90CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y
92CONFIG_TIMERFD=y
93CONFIG_EVENTFD=y
94CONFIG_SHMEM=y
95CONFIG_AIO=y
96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLUB_DEBUG=y
98CONFIG_COMPAT_BRK=y
99# CONFIG_SLAB is not set
100CONFIG_SLUB=y
101# CONFIG_SLOB is not set
102# CONFIG_PROFILING is not set
103# CONFIG_MARKERS is not set
104CONFIG_HAVE_OPROFILE=y
105# CONFIG_KPROBES is not set
106CONFIG_HAVE_KPROBES=y
107CONFIG_HAVE_KRETPROBES=y
108CONFIG_HAVE_CLK=y
109# CONFIG_SLOW_WORK is not set
110CONFIG_HAVE_GENERIC_DMA_COHERENT=y
111CONFIG_SLABINFO=y
112CONFIG_RT_MUTEXES=y
113CONFIG_BASE_SMALL=0
114CONFIG_MODULES=y
115# CONFIG_MODULE_FORCE_LOAD is not set
116CONFIG_MODULE_UNLOAD=y
117CONFIG_MODULE_FORCE_UNLOAD=y
118CONFIG_MODVERSIONS=y
119# CONFIG_MODULE_SRCVERSION_ALL is not set
120CONFIG_BLOCK=y
121# CONFIG_LBD is not set
122# CONFIG_BLK_DEV_BSG is not set
123# CONFIG_BLK_DEV_INTEGRITY is not set
124
125#
126# IO Schedulers
127#
128CONFIG_IOSCHED_NOOP=y
129CONFIG_IOSCHED_AS=y
130# CONFIG_IOSCHED_DEADLINE is not set
131# CONFIG_IOSCHED_CFQ is not set
132CONFIG_DEFAULT_AS=y
133# CONFIG_DEFAULT_DEADLINE is not set
134# CONFIG_DEFAULT_CFQ is not set
135# CONFIG_DEFAULT_NOOP is not set
136CONFIG_DEFAULT_IOSCHED="anticipatory"
137# CONFIG_FREEZER is not set
138
139#
140# System Type
141#
142# CONFIG_ARCH_AAEC2000 is not set
143# CONFIG_ARCH_INTEGRATOR is not set
144# CONFIG_ARCH_REALVIEW is not set
145# CONFIG_ARCH_VERSATILE is not set
146# CONFIG_ARCH_AT91 is not set
147# CONFIG_ARCH_CLPS711X is not set
148# CONFIG_ARCH_EBSA110 is not set
149# CONFIG_ARCH_EP93XX is not set
150# CONFIG_ARCH_GEMINI is not set
151# CONFIG_ARCH_FOOTBRIDGE is not set
152# CONFIG_ARCH_NETX is not set
153# CONFIG_ARCH_H720X is not set
154# CONFIG_ARCH_IMX is not set
155# CONFIG_ARCH_IOP13XX is not set
156# CONFIG_ARCH_IOP32X is not set
157# CONFIG_ARCH_IOP33X is not set
158# CONFIG_ARCH_IXP23XX is not set
159# CONFIG_ARCH_IXP2000 is not set
160# CONFIG_ARCH_IXP4XX is not set
161# CONFIG_ARCH_L7200 is not set
162# CONFIG_ARCH_KIRKWOOD is not set
163# CONFIG_ARCH_KS8695 is not set
164# CONFIG_ARCH_NS9XXX is not set
165# CONFIG_ARCH_LOKI is not set
166# CONFIG_ARCH_MV78XX0 is not set
167# CONFIG_ARCH_MXC is not set
168# CONFIG_ARCH_ORION5X is not set
169# CONFIG_ARCH_PNX4008 is not set
170# CONFIG_ARCH_PXA is not set
171# CONFIG_ARCH_MMP is not set
172# CONFIG_ARCH_RPC is not set
173# CONFIG_ARCH_SA1100 is not set
174# CONFIG_ARCH_S3C2410 is not set
175# CONFIG_ARCH_S3C64XX is not set
176# CONFIG_ARCH_SHARK is not set
177# CONFIG_ARCH_LH7A40X is not set
178CONFIG_ARCH_DAVINCI=y
179# CONFIG_ARCH_OMAP is not set
180# CONFIG_ARCH_MSM is not set
181# CONFIG_ARCH_W90X900 is not set
182
183#
184# TI DaVinci Implementations
185#
186
187#
188# DaVinci Core Type
189#
190CONFIG_ARCH_DAVINCI_DM644x=y
191
192#
193# DaVinci Board Type
194#
195CONFIG_MACH_DAVINCI_EVM=y
196CONFIG_DAVINCI_MUX=y
197CONFIG_DAVINCI_MUX_DEBUG=y
198CONFIG_DAVINCI_MUX_WARNINGS=y
199CONFIG_DAVINCI_RESET_CLOCKS=y
200
201#
202# Processor Type
203#
204CONFIG_CPU_32=y
205CONFIG_CPU_ARM926T=y
206CONFIG_CPU_32v5=y
207CONFIG_CPU_ABRT_EV5TJ=y
208CONFIG_CPU_PABRT_NOIFAR=y
209CONFIG_CPU_CACHE_VIVT=y
210CONFIG_CPU_COPY_V4WB=y
211CONFIG_CPU_TLB_V4WBI=y
212CONFIG_CPU_CP15=y
213CONFIG_CPU_CP15_MMU=y
214
215#
216# Processor Features
217#
218CONFIG_ARM_THUMB=y
219# CONFIG_CPU_ICACHE_DISABLE is not set
220# CONFIG_CPU_DCACHE_DISABLE is not set
221# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
222# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
223# CONFIG_OUTER_CACHE is not set
224CONFIG_COMMON_CLKDEV=y
225
226#
227# Bus support
228#
229# CONFIG_PCI_SYSCALL is not set
230# CONFIG_ARCH_SUPPORTS_MSI is not set
231# CONFIG_PCCARD is not set
232
233#
234# Kernel Features
235#
236CONFIG_TICK_ONESHOT=y
237CONFIG_NO_HZ=y
238CONFIG_HIGH_RES_TIMERS=y
239CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
240CONFIG_VMSPLIT_3G=y
241# CONFIG_VMSPLIT_2G is not set
242# CONFIG_VMSPLIT_1G is not set
243CONFIG_PAGE_OFFSET=0xC0000000
244CONFIG_PREEMPT=y
245CONFIG_HZ=100
246CONFIG_AEABI=y
247# CONFIG_OABI_COMPAT is not set
248CONFIG_ARCH_FLATMEM_HAS_HOLES=y
249# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
250# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
251# CONFIG_HIGHMEM is not set
252CONFIG_SELECT_MEMORY_MODEL=y
253CONFIG_FLATMEM_MANUAL=y
254# CONFIG_DISCONTIGMEM_MANUAL is not set
255# CONFIG_SPARSEMEM_MANUAL is not set
256CONFIG_FLATMEM=y
257CONFIG_FLAT_NODE_MEM_MAP=y
258CONFIG_PAGEFLAGS_EXTENDED=y
259CONFIG_SPLIT_PTLOCK_CPUS=4096
260# CONFIG_PHYS_ADDR_T_64BIT is not set
261CONFIG_ZONE_DMA_FLAG=1
262CONFIG_BOUNCE=y
263CONFIG_VIRT_TO_BUS=y
264CONFIG_UNEVICTABLE_LRU=y
265CONFIG_HAVE_MLOCK=y
266CONFIG_HAVE_MLOCKED_PAGE_BIT=y
267CONFIG_LEDS=y
268# CONFIG_LEDS_CPU is not set
269CONFIG_ALIGNMENT_TRAP=y
270
271#
272# Boot options
273#
274CONFIG_ZBOOT_ROM_TEXT=0x0
275CONFIG_ZBOOT_ROM_BSS=0x0
276CONFIG_CMDLINE=""
277# CONFIG_XIP_KERNEL is not set
278# CONFIG_KEXEC is not set
279
280#
281# CPU Power Management
282#
283# CONFIG_CPU_IDLE is not set
284
285#
286# Floating point emulation
287#
288
289#
290# At least one emulation must be selected
291#
292# CONFIG_VFP is not set
293
294#
295# Userspace binary formats
296#
297CONFIG_BINFMT_ELF=y
298# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
299CONFIG_HAVE_AOUT=y
300# CONFIG_BINFMT_AOUT is not set
301# CONFIG_BINFMT_MISC is not set
302
303#
304# Power management options
305#
306# CONFIG_PM is not set
307CONFIG_ARCH_SUSPEND_POSSIBLE=y
308CONFIG_NET=y
309
310#
311# Networking options
312#
313CONFIG_PACKET=y
314# CONFIG_PACKET_MMAP is not set
315CONFIG_UNIX=y
316CONFIG_XFRM=y
317# CONFIG_XFRM_USER is not set
318# CONFIG_XFRM_SUB_POLICY is not set
319# CONFIG_XFRM_MIGRATE is not set
320# CONFIG_XFRM_STATISTICS is not set
321# CONFIG_NET_KEY is not set
322CONFIG_INET=y
323# CONFIG_IP_MULTICAST is not set
324# CONFIG_IP_ADVANCED_ROUTER is not set
325CONFIG_IP_FIB_HASH=y
326CONFIG_IP_PNP=y
327CONFIG_IP_PNP_DHCP=y
328# CONFIG_IP_PNP_BOOTP is not set
329# CONFIG_IP_PNP_RARP is not set
330# CONFIG_NET_IPIP is not set
331# CONFIG_NET_IPGRE is not set
332# CONFIG_ARPD is not set
333# CONFIG_SYN_COOKIES is not set
334# CONFIG_INET_AH is not set
335# CONFIG_INET_ESP is not set
336# CONFIG_INET_IPCOMP is not set
337# CONFIG_INET_XFRM_TUNNEL is not set
338CONFIG_INET_TUNNEL=m
339CONFIG_INET_XFRM_MODE_TRANSPORT=y
340CONFIG_INET_XFRM_MODE_TUNNEL=y
341CONFIG_INET_XFRM_MODE_BEET=y
342# CONFIG_INET_LRO is not set
343CONFIG_INET_DIAG=y
344CONFIG_INET_TCP_DIAG=y
345# CONFIG_TCP_CONG_ADVANCED is not set
346CONFIG_TCP_CONG_CUBIC=y
347CONFIG_DEFAULT_TCP_CONG="cubic"
348# CONFIG_TCP_MD5SIG is not set
349CONFIG_IPV6=m
350# CONFIG_IPV6_PRIVACY is not set
351# CONFIG_IPV6_ROUTER_PREF is not set
352# CONFIG_IPV6_OPTIMISTIC_DAD is not set
353# CONFIG_INET6_AH is not set
354# CONFIG_INET6_ESP is not set
355# CONFIG_INET6_IPCOMP is not set
356# CONFIG_IPV6_MIP6 is not set
357# CONFIG_INET6_XFRM_TUNNEL is not set
358# CONFIG_INET6_TUNNEL is not set
359CONFIG_INET6_XFRM_MODE_TRANSPORT=m
360CONFIG_INET6_XFRM_MODE_TUNNEL=m
361CONFIG_INET6_XFRM_MODE_BEET=m
362# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
363CONFIG_IPV6_SIT=m
364CONFIG_IPV6_NDISC_NODETYPE=y
365# CONFIG_IPV6_TUNNEL is not set
366# CONFIG_IPV6_MULTIPLE_TABLES is not set
367# CONFIG_IPV6_MROUTE is not set
368# CONFIG_NETWORK_SECMARK is not set
369CONFIG_NETFILTER=y
370# CONFIG_NETFILTER_DEBUG is not set
371CONFIG_NETFILTER_ADVANCED=y
372
373#
374# Core Netfilter Configuration
375#
376# CONFIG_NETFILTER_NETLINK_QUEUE is not set
377# CONFIG_NETFILTER_NETLINK_LOG is not set
378# CONFIG_NF_CONNTRACK is not set
379# CONFIG_NETFILTER_XTABLES is not set
380# CONFIG_IP_VS is not set
381
382#
383# IP: Netfilter Configuration
384#
385# CONFIG_NF_DEFRAG_IPV4 is not set
386# CONFIG_IP_NF_QUEUE is not set
387# CONFIG_IP_NF_IPTABLES is not set
388# CONFIG_IP_NF_ARPTABLES is not set
389
390#
391# IPv6: Netfilter Configuration
392#
393# CONFIG_IP6_NF_QUEUE is not set
394# CONFIG_IP6_NF_IPTABLES is not set
395# CONFIG_IP_DCCP is not set
396# CONFIG_IP_SCTP is not set
397# CONFIG_TIPC is not set
398# CONFIG_ATM is not set
399# CONFIG_BRIDGE is not set
400# CONFIG_NET_DSA is not set
401# CONFIG_VLAN_8021Q is not set
402# CONFIG_DECNET is not set
403# CONFIG_LLC2 is not set
404# CONFIG_IPX is not set
405# CONFIG_ATALK is not set
406# CONFIG_X25 is not set
407# CONFIG_LAPB is not set
408# CONFIG_ECONET is not set
409# CONFIG_WAN_ROUTER is not set
410# CONFIG_PHONET is not set
411# CONFIG_NET_SCHED is not set
412# CONFIG_DCB is not set
413
414#
415# Network testing
416#
417# CONFIG_NET_PKTGEN is not set
418# CONFIG_HAMRADIO is not set
419# CONFIG_CAN is not set
420# CONFIG_IRDA is not set
421# CONFIG_BT is not set
422# CONFIG_AF_RXRPC is not set
423# CONFIG_WIRELESS is not set
424# CONFIG_WIMAX is not set
425# CONFIG_RFKILL is not set
426# CONFIG_NET_9P is not set
427
428#
429# Device Drivers
430#
431
432#
433# Generic Driver Options
434#
435CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
436CONFIG_STANDALONE=y
437CONFIG_PREVENT_FIRMWARE_BUILD=y
438# CONFIG_FW_LOADER is not set
439# CONFIG_DEBUG_DRIVER is not set
440# CONFIG_DEBUG_DEVRES is not set
441# CONFIG_SYS_HYPERVISOR is not set
442# CONFIG_CONNECTOR is not set
443CONFIG_MTD=m
444# CONFIG_MTD_DEBUG is not set
445# CONFIG_MTD_CONCAT is not set
446CONFIG_MTD_PARTITIONS=y
447# CONFIG_MTD_TESTS is not set
448# CONFIG_MTD_REDBOOT_PARTS is not set
449# CONFIG_MTD_AFS_PARTS is not set
450# CONFIG_MTD_AR7_PARTS is not set
451
452#
453# User Modules And Translation Layers
454#
455CONFIG_MTD_CHAR=m
456CONFIG_MTD_BLKDEVS=m
457CONFIG_MTD_BLOCK=m
458# CONFIG_MTD_BLOCK_RO is not set
459# CONFIG_FTL is not set
460# CONFIG_NFTL is not set
461# CONFIG_INFTL is not set
462# CONFIG_RFD_FTL is not set
463# CONFIG_SSFDC is not set
464# CONFIG_MTD_OOPS is not set
465
466#
467# RAM/ROM/Flash chip drivers
468#
469CONFIG_MTD_CFI=m
470# CONFIG_MTD_JEDECPROBE is not set
471CONFIG_MTD_GEN_PROBE=m
472# CONFIG_MTD_CFI_ADV_OPTIONS is not set
473CONFIG_MTD_MAP_BANK_WIDTH_1=y
474CONFIG_MTD_MAP_BANK_WIDTH_2=y
475CONFIG_MTD_MAP_BANK_WIDTH_4=y
476# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
477# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
478# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
479CONFIG_MTD_CFI_I1=y
480CONFIG_MTD_CFI_I2=y
481# CONFIG_MTD_CFI_I4 is not set
482# CONFIG_MTD_CFI_I8 is not set
483# CONFIG_MTD_CFI_INTELEXT is not set
484CONFIG_MTD_CFI_AMDSTD=m
485# CONFIG_MTD_CFI_STAA is not set
486CONFIG_MTD_CFI_UTIL=m
487# CONFIG_MTD_RAM is not set
488# CONFIG_MTD_ROM is not set
489# CONFIG_MTD_ABSENT is not set
490
491#
492# Mapping drivers for chip access
493#
494# CONFIG_MTD_COMPLEX_MAPPINGS is not set
495CONFIG_MTD_PHYSMAP=m
496# CONFIG_MTD_PHYSMAP_COMPAT is not set
497# CONFIG_MTD_ARM_INTEGRATOR is not set
498# CONFIG_MTD_PLATRAM is not set
499
500#
501# Self-contained MTD device drivers
502#
503# CONFIG_MTD_SLRAM is not set
504# CONFIG_MTD_PHRAM is not set
505# CONFIG_MTD_MTDRAM is not set
506# CONFIG_MTD_BLOCK2MTD is not set
507
508#
509# Disk-On-Chip Device Drivers
510#
511# CONFIG_MTD_DOC2000 is not set
512# CONFIG_MTD_DOC2001 is not set
513# CONFIG_MTD_DOC2001PLUS is not set
514CONFIG_MTD_NAND=m
515# CONFIG_MTD_NAND_VERIFY_WRITE is not set
516# CONFIG_MTD_NAND_ECC_SMC is not set
517# CONFIG_MTD_NAND_MUSEUM_IDS is not set
518# CONFIG_MTD_NAND_GPIO is not set
519CONFIG_MTD_NAND_IDS=m
520# CONFIG_MTD_NAND_DISKONCHIP is not set
521# CONFIG_MTD_NAND_NANDSIM is not set
522# CONFIG_MTD_NAND_PLATFORM is not set
523# CONFIG_MTD_ALAUDA is not set
524CONFIG_MTD_NAND_DAVINCI=m
525# CONFIG_MTD_ONENAND is not set
526
527#
528# LPDDR flash memory drivers
529#
530# CONFIG_MTD_LPDDR is not set
531
532#
533# UBI - Unsorted block images
534#
535# CONFIG_MTD_UBI is not set
536# CONFIG_PARPORT is not set
537CONFIG_BLK_DEV=y
538# CONFIG_BLK_DEV_COW_COMMON is not set
539CONFIG_BLK_DEV_LOOP=m
540# CONFIG_BLK_DEV_CRYPTOLOOP is not set
541# CONFIG_BLK_DEV_NBD is not set
542# CONFIG_BLK_DEV_UB is not set
543CONFIG_BLK_DEV_RAM=y
544CONFIG_BLK_DEV_RAM_COUNT=1
545CONFIG_BLK_DEV_RAM_SIZE=32768
546# CONFIG_BLK_DEV_XIP is not set
547# CONFIG_CDROM_PKTCDVD is not set
548# CONFIG_ATA_OVER_ETH is not set
549CONFIG_MISC_DEVICES=y
550# CONFIG_ICS932S401 is not set
551# CONFIG_ENCLOSURE_SERVICES is not set
552# CONFIG_ISL29003 is not set
553# CONFIG_C2PORT is not set
554
555#
556# EEPROM support
557#
558CONFIG_EEPROM_AT24=y
559# CONFIG_EEPROM_LEGACY is not set
560# CONFIG_EEPROM_93CX6 is not set
561CONFIG_HAVE_IDE=y
562CONFIG_IDE=m
563
564#
565# Please see Documentation/ide/ide.txt for help/info on IDE drives
566#
567CONFIG_IDE_XFER_MODE=y
568CONFIG_IDE_TIMINGS=y
569# CONFIG_BLK_DEV_IDE_SATA is not set
570CONFIG_IDE_GD=m
571CONFIG_IDE_GD_ATA=y
572# CONFIG_IDE_GD_ATAPI is not set
573# CONFIG_BLK_DEV_IDECD is not set
574# CONFIG_BLK_DEV_IDETAPE is not set
575# CONFIG_IDE_TASK_IOCTL is not set
576CONFIG_IDE_PROC_FS=y
577
578#
579# IDE chipset support/bugfixes
580#
581# CONFIG_BLK_DEV_PLATFORM is not set
582CONFIG_BLK_DEV_IDEDMA_SFF=y
583CONFIG_BLK_DEV_PALMCHIP_BK3710=m
584CONFIG_BLK_DEV_IDEDMA=y
585
586#
587# SCSI device support
588#
589# CONFIG_RAID_ATTRS is not set
590CONFIG_SCSI=m
591CONFIG_SCSI_DMA=y
592# CONFIG_SCSI_TGT is not set
593# CONFIG_SCSI_NETLINK is not set
594CONFIG_SCSI_PROC_FS=y
595
596#
597# SCSI support type (disk, tape, CD-ROM)
598#
599CONFIG_BLK_DEV_SD=m
600# CONFIG_CHR_DEV_ST is not set
601# CONFIG_CHR_DEV_OSST is not set
602# CONFIG_BLK_DEV_SR is not set
603# CONFIG_CHR_DEV_SG is not set
604# CONFIG_CHR_DEV_SCH is not set
605
606#
607# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
608#
609# CONFIG_SCSI_MULTI_LUN is not set
610# CONFIG_SCSI_CONSTANTS is not set
611# CONFIG_SCSI_LOGGING is not set
612# CONFIG_SCSI_SCAN_ASYNC is not set
613CONFIG_SCSI_WAIT_SCAN=m
614
615#
616# SCSI Transports
617#
618# CONFIG_SCSI_SPI_ATTRS is not set
619# CONFIG_SCSI_FC_ATTRS is not set
620# CONFIG_SCSI_ISCSI_ATTRS is not set
621# CONFIG_SCSI_SAS_LIBSAS is not set
622# CONFIG_SCSI_SRP_ATTRS is not set
623CONFIG_SCSI_LOWLEVEL=y
624# CONFIG_ISCSI_TCP is not set
625# CONFIG_LIBFC is not set
626# CONFIG_LIBFCOE is not set
627# CONFIG_SCSI_DEBUG is not set
628# CONFIG_SCSI_DH is not set
629# CONFIG_SCSI_OSD_INITIATOR is not set
630# CONFIG_ATA is not set
631# CONFIG_MD is not set
632CONFIG_NETDEVICES=y
633CONFIG_COMPAT_NET_DEV_OPS=y
634# CONFIG_DUMMY is not set
635# CONFIG_BONDING is not set
636# CONFIG_MACVLAN is not set
637# CONFIG_EQUALIZER is not set
638CONFIG_TUN=m
639# CONFIG_VETH is not set
640CONFIG_PHYLIB=y
641
642#
643# MII PHY device drivers
644#
645# CONFIG_MARVELL_PHY is not set
646# CONFIG_DAVICOM_PHY is not set
647# CONFIG_QSEMI_PHY is not set
648CONFIG_LXT_PHY=y
649# CONFIG_CICADA_PHY is not set
650# CONFIG_VITESSE_PHY is not set
651# CONFIG_SMSC_PHY is not set
652# CONFIG_BROADCOM_PHY is not set
653# CONFIG_ICPLUS_PHY is not set
654# CONFIG_REALTEK_PHY is not set
655# CONFIG_NATIONAL_PHY is not set
656# CONFIG_STE10XP is not set
657CONFIG_LSI_ET1011C_PHY=y
658# CONFIG_FIXED_PHY is not set
659# CONFIG_MDIO_BITBANG is not set
660CONFIG_NET_ETHERNET=y
661CONFIG_MII=y
662# CONFIG_AX88796 is not set
663# CONFIG_SMC91X is not set
664# CONFIG_DM9000 is not set
665# CONFIG_ETHOC is not set
666# CONFIG_SMC911X is not set
667# CONFIG_SMSC911X is not set
668# CONFIG_DNET is not set
669# CONFIG_IBM_NEW_EMAC_ZMII is not set
670# CONFIG_IBM_NEW_EMAC_RGMII is not set
671# CONFIG_IBM_NEW_EMAC_TAH is not set
672# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
673# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
674# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
675# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
676# CONFIG_B44 is not set
677# CONFIG_NETDEV_1000 is not set
678# CONFIG_NETDEV_10000 is not set
679
680#
681# Wireless LAN
682#
683# CONFIG_WLAN_PRE80211 is not set
684# CONFIG_WLAN_80211 is not set
685
686#
687# Enable WiMAX (Networking options) to see the WiMAX drivers
688#
689
690#
691# USB Network Adapters
692#
693# CONFIG_USB_CATC is not set
694# CONFIG_USB_KAWETH is not set
695# CONFIG_USB_PEGASUS is not set
696# CONFIG_USB_RTL8150 is not set
697# CONFIG_USB_USBNET is not set
698# CONFIG_WAN is not set
699CONFIG_PPP=m
700# CONFIG_PPP_MULTILINK is not set
701# CONFIG_PPP_FILTER is not set
702CONFIG_PPP_ASYNC=m
703CONFIG_PPP_SYNC_TTY=m
704CONFIG_PPP_DEFLATE=m
705# CONFIG_PPP_BSDCOMP is not set
706# CONFIG_PPP_MPPE is not set
707# CONFIG_PPPOE is not set
708# CONFIG_PPPOL2TP is not set
709# CONFIG_SLIP is not set
710CONFIG_SLHC=m
711CONFIG_NETCONSOLE=y
712# CONFIG_NETCONSOLE_DYNAMIC is not set
713CONFIG_NETPOLL=y
714CONFIG_NETPOLL_TRAP=y
715CONFIG_NET_POLL_CONTROLLER=y
716# CONFIG_ISDN is not set
717
718#
719# Input device support
720#
721CONFIG_INPUT=y
722# CONFIG_INPUT_FF_MEMLESS is not set
723# CONFIG_INPUT_POLLDEV is not set
724
725#
726# Userland interfaces
727#
728CONFIG_INPUT_MOUSEDEV=m
729CONFIG_INPUT_MOUSEDEV_PSAUX=y
730CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
731CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
732# CONFIG_INPUT_JOYDEV is not set
733CONFIG_INPUT_EVDEV=m
734CONFIG_INPUT_EVBUG=m
735
736#
737# Input Device Drivers
738#
739CONFIG_INPUT_KEYBOARD=y
740CONFIG_KEYBOARD_ATKBD=m
741# CONFIG_KEYBOARD_SUNKBD is not set
742# CONFIG_KEYBOARD_LKKBD is not set
743CONFIG_KEYBOARD_XTKBD=m
744# CONFIG_KEYBOARD_NEWTON is not set
745# CONFIG_KEYBOARD_STOWAWAY is not set
746CONFIG_KEYBOARD_GPIO=y
747# CONFIG_INPUT_MOUSE is not set
748# CONFIG_INPUT_JOYSTICK is not set
749# CONFIG_INPUT_TABLET is not set
750CONFIG_INPUT_TOUCHSCREEN=y
751# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
752# CONFIG_TOUCHSCREEN_AD7879 is not set
753# CONFIG_TOUCHSCREEN_FUJITSU is not set
754# CONFIG_TOUCHSCREEN_GUNZE is not set
755# CONFIG_TOUCHSCREEN_ELO is not set
756# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
757# CONFIG_TOUCHSCREEN_MTOUCH is not set
758# CONFIG_TOUCHSCREEN_INEXIO is not set
759# CONFIG_TOUCHSCREEN_MK712 is not set
760# CONFIG_TOUCHSCREEN_PENMOUNT is not set
761# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
762# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
763# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
764# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
765# CONFIG_TOUCHSCREEN_TSC2007 is not set
766# CONFIG_INPUT_MISC is not set
767
768#
769# Hardware I/O ports
770#
771CONFIG_SERIO=y
772CONFIG_SERIO_SERPORT=y
773CONFIG_SERIO_LIBPS2=y
774# CONFIG_SERIO_RAW is not set
775# CONFIG_GAMEPORT is not set
776
777#
778# Character devices
779#
780CONFIG_VT=y
781CONFIG_CONSOLE_TRANSLATIONS=y
782# CONFIG_VT_CONSOLE is not set
783CONFIG_HW_CONSOLE=y
784# CONFIG_VT_HW_CONSOLE_BINDING is not set
785CONFIG_DEVKMEM=y
786# CONFIG_SERIAL_NONSTANDARD is not set
787
788#
789# Serial drivers
790#
791CONFIG_SERIAL_8250=y
792CONFIG_SERIAL_8250_CONSOLE=y
793CONFIG_SERIAL_8250_NR_UARTS=3
794CONFIG_SERIAL_8250_RUNTIME_UARTS=3
795# CONFIG_SERIAL_8250_EXTENDED is not set
796
797#
798# Non-8250 serial port support
799#
800CONFIG_SERIAL_CORE=y
801CONFIG_SERIAL_CORE_CONSOLE=y
802CONFIG_UNIX98_PTYS=y
803# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
804CONFIG_LEGACY_PTYS=y
805CONFIG_LEGACY_PTY_COUNT=256
806# CONFIG_IPMI_HANDLER is not set
807CONFIG_HW_RANDOM=m
808# CONFIG_HW_RANDOM_TIMERIOMEM is not set
809# CONFIG_R3964 is not set
810# CONFIG_RAW_DRIVER is not set
811# CONFIG_TCG_TPM is not set
812CONFIG_I2C=y
813CONFIG_I2C_BOARDINFO=y
814CONFIG_I2C_CHARDEV=y
815CONFIG_I2C_HELPER_AUTO=y
816
817#
818# I2C Hardware Bus support
819#
820
821#
822# I2C system bus drivers (mostly embedded / system-on-chip)
823#
824CONFIG_I2C_DAVINCI=y
825# CONFIG_I2C_GPIO is not set
826# CONFIG_I2C_OCORES is not set
827# CONFIG_I2C_SIMTEC is not set
828
829#
830# External I2C/SMBus adapter drivers
831#
832# CONFIG_I2C_PARPORT_LIGHT is not set
833# CONFIG_I2C_TAOS_EVM is not set
834# CONFIG_I2C_TINY_USB is not set
835
836#
837# Other I2C/SMBus bus drivers
838#
839# CONFIG_I2C_PCA_PLATFORM is not set
840# CONFIG_I2C_STUB is not set
841
842#
843# Miscellaneous I2C Chip support
844#
845# CONFIG_DS1682 is not set
846# CONFIG_SENSORS_PCA9539 is not set
847# CONFIG_SENSORS_MAX6875 is not set
848# CONFIG_SENSORS_TSL2550 is not set
849# CONFIG_I2C_DEBUG_CORE is not set
850# CONFIG_I2C_DEBUG_ALGO is not set
851# CONFIG_I2C_DEBUG_BUS is not set
852# CONFIG_I2C_DEBUG_CHIP is not set
853# CONFIG_SPI is not set
854CONFIG_ARCH_REQUIRE_GPIOLIB=y
855CONFIG_GPIOLIB=y
856# CONFIG_DEBUG_GPIO is not set
857# CONFIG_GPIO_SYSFS is not set
858
859#
860# Memory mapped GPIO expanders:
861#
862
863#
864# I2C GPIO expanders:
865#
866# CONFIG_GPIO_MAX732X is not set
867# CONFIG_GPIO_PCA953X is not set
868CONFIG_GPIO_PCF857X=m
869
870#
871# PCI GPIO expanders:
872#
873
874#
875# SPI GPIO expanders:
876#
877# CONFIG_W1 is not set
878# CONFIG_POWER_SUPPLY is not set
879CONFIG_HWMON=y
880# CONFIG_HWMON_VID is not set
881# CONFIG_SENSORS_AD7414 is not set
882# CONFIG_SENSORS_AD7418 is not set
883# CONFIG_SENSORS_ADM1021 is not set
884# CONFIG_SENSORS_ADM1025 is not set
885# CONFIG_SENSORS_ADM1026 is not set
886# CONFIG_SENSORS_ADM1029 is not set
887# CONFIG_SENSORS_ADM1031 is not set
888# CONFIG_SENSORS_ADM9240 is not set
889# CONFIG_SENSORS_ADT7462 is not set
890# CONFIG_SENSORS_ADT7470 is not set
891# CONFIG_SENSORS_ADT7473 is not set
892# CONFIG_SENSORS_ADT7475 is not set
893# CONFIG_SENSORS_ATXP1 is not set
894# CONFIG_SENSORS_DS1621 is not set
895# CONFIG_SENSORS_F71805F is not set
896# CONFIG_SENSORS_F71882FG is not set
897# CONFIG_SENSORS_F75375S is not set
898# CONFIG_SENSORS_G760A is not set
899# CONFIG_SENSORS_GL518SM is not set
900# CONFIG_SENSORS_GL520SM is not set
901# CONFIG_SENSORS_IT87 is not set
902# CONFIG_SENSORS_LM63 is not set
903# CONFIG_SENSORS_LM75 is not set
904# CONFIG_SENSORS_LM77 is not set
905# CONFIG_SENSORS_LM78 is not set
906# CONFIG_SENSORS_LM80 is not set
907# CONFIG_SENSORS_LM83 is not set
908# CONFIG_SENSORS_LM85 is not set
909# CONFIG_SENSORS_LM87 is not set
910# CONFIG_SENSORS_LM90 is not set
911# CONFIG_SENSORS_LM92 is not set
912# CONFIG_SENSORS_LM93 is not set
913# CONFIG_SENSORS_LTC4215 is not set
914# CONFIG_SENSORS_LTC4245 is not set
915# CONFIG_SENSORS_LM95241 is not set
916# CONFIG_SENSORS_MAX1619 is not set
917# CONFIG_SENSORS_MAX6650 is not set
918# CONFIG_SENSORS_PC87360 is not set
919# CONFIG_SENSORS_PC87427 is not set
920# CONFIG_SENSORS_PCF8591 is not set
921# CONFIG_SENSORS_SHT15 is not set
922# CONFIG_SENSORS_DME1737 is not set
923# CONFIG_SENSORS_SMSC47M1 is not set
924# CONFIG_SENSORS_SMSC47M192 is not set
925# CONFIG_SENSORS_SMSC47B397 is not set
926# CONFIG_SENSORS_ADS7828 is not set
927# CONFIG_SENSORS_THMC50 is not set
928# CONFIG_SENSORS_VT1211 is not set
929# CONFIG_SENSORS_W83781D is not set
930# CONFIG_SENSORS_W83791D is not set
931# CONFIG_SENSORS_W83792D is not set
932# CONFIG_SENSORS_W83793 is not set
933# CONFIG_SENSORS_W83L785TS is not set
934# CONFIG_SENSORS_W83L786NG is not set
935# CONFIG_SENSORS_W83627HF is not set
936# CONFIG_SENSORS_W83627EHF is not set
937# CONFIG_HWMON_DEBUG_CHIP is not set
938# CONFIG_THERMAL is not set
939# CONFIG_THERMAL_HWMON is not set
940CONFIG_WATCHDOG=y
941# CONFIG_WATCHDOG_NOWAYOUT is not set
942
943#
944# Watchdog Device Drivers
945#
946# CONFIG_SOFT_WATCHDOG is not set
947CONFIG_DAVINCI_WATCHDOG=m
948
949#
950# USB-based Watchdog Cards
951#
952# CONFIG_USBPCWATCHDOG is not set
953CONFIG_SSB_POSSIBLE=y
954
955#
956# Sonics Silicon Backplane
957#
958# CONFIG_SSB is not set
959
960#
961# Multifunction device drivers
962#
963# CONFIG_MFD_CORE is not set
964# CONFIG_MFD_SM501 is not set
965# CONFIG_MFD_ASIC3 is not set
966# CONFIG_HTC_EGPIO is not set
967# CONFIG_HTC_PASIC3 is not set
968# CONFIG_TPS65010 is not set
969# CONFIG_TWL4030_CORE is not set
970# CONFIG_MFD_TMIO is not set
971# CONFIG_MFD_T7L66XB is not set
972# CONFIG_MFD_TC6387XB is not set
973# CONFIG_MFD_TC6393XB is not set
974# CONFIG_PMIC_DA903X is not set
975# CONFIG_MFD_WM8400 is not set
976# CONFIG_MFD_WM8350_I2C is not set
977# CONFIG_MFD_PCF50633 is not set
978
979#
980# Multimedia devices
981#
982
983#
984# Multimedia core support
985#
986CONFIG_VIDEO_DEV=y
987CONFIG_VIDEO_V4L2_COMMON=y
988CONFIG_VIDEO_ALLOW_V4L1=y
989CONFIG_VIDEO_V4L1_COMPAT=y
990# CONFIG_DVB_CORE is not set
991CONFIG_VIDEO_MEDIA=y
992
993#
994# Multimedia drivers
995#
996# CONFIG_MEDIA_ATTACH is not set
997CONFIG_MEDIA_TUNER=y
998# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
999CONFIG_MEDIA_TUNER_SIMPLE=y
1000CONFIG_MEDIA_TUNER_TDA8290=y
1001CONFIG_MEDIA_TUNER_TDA9887=y
1002CONFIG_MEDIA_TUNER_TEA5761=y
1003CONFIG_MEDIA_TUNER_TEA5767=y
1004CONFIG_MEDIA_TUNER_MT20XX=y
1005CONFIG_MEDIA_TUNER_XC2028=y
1006CONFIG_MEDIA_TUNER_XC5000=y
1007CONFIG_MEDIA_TUNER_MC44S803=y
1008CONFIG_VIDEO_V4L2=y
1009CONFIG_VIDEO_V4L1=y
1010CONFIG_VIDEO_CAPTURE_DRIVERS=y
1011# CONFIG_VIDEO_ADV_DEBUG is not set
1012# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
1013CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1014# CONFIG_VIDEO_VIVI is not set
1015# CONFIG_VIDEO_CPIA is not set
1016# CONFIG_VIDEO_CPIA2 is not set
1017# CONFIG_VIDEO_SAA5246A is not set
1018# CONFIG_VIDEO_SAA5249 is not set
1019# CONFIG_SOC_CAMERA is not set
1020# CONFIG_V4L_USB_DRIVERS is not set
1021# CONFIG_RADIO_ADAPTERS is not set
1022CONFIG_DAB=y
1023# CONFIG_USB_DABUSB is not set
1024
1025#
1026# Graphics support
1027#
1028# CONFIG_VGASTATE is not set
1029CONFIG_VIDEO_OUTPUT_CONTROL=m
1030CONFIG_FB=y
1031CONFIG_FIRMWARE_EDID=y
1032# CONFIG_FB_DDC is not set
1033# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1034# CONFIG_FB_CFB_FILLRECT is not set
1035# CONFIG_FB_CFB_COPYAREA is not set
1036# CONFIG_FB_CFB_IMAGEBLIT is not set
1037# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1038# CONFIG_FB_SYS_FILLRECT is not set
1039# CONFIG_FB_SYS_COPYAREA is not set
1040# CONFIG_FB_SYS_IMAGEBLIT is not set
1041# CONFIG_FB_FOREIGN_ENDIAN is not set
1042# CONFIG_FB_SYS_FOPS is not set
1043# CONFIG_FB_SVGALIB is not set
1044# CONFIG_FB_MACMODES is not set
1045# CONFIG_FB_BACKLIGHT is not set
1046# CONFIG_FB_MODE_HELPERS is not set
1047# CONFIG_FB_TILEBLITTING is not set
1048
1049#
1050# Frame buffer hardware drivers
1051#
1052# CONFIG_FB_S1D13XXX is not set
1053# CONFIG_FB_VIRTUAL is not set
1054# CONFIG_FB_METRONOME is not set
1055# CONFIG_FB_MB862XX is not set
1056# CONFIG_FB_BROADSHEET is not set
1057# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1058
1059#
1060# Display device support
1061#
1062# CONFIG_DISPLAY_SUPPORT is not set
1063
1064#
1065# Console display driver support
1066#
1067# CONFIG_VGA_CONSOLE is not set
1068CONFIG_DUMMY_CONSOLE=y
1069CONFIG_FRAMEBUFFER_CONSOLE=y
1070# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1071# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1072# CONFIG_FONTS is not set
1073CONFIG_FONT_8x8=y
1074CONFIG_FONT_8x16=y
1075CONFIG_LOGO=y
1076CONFIG_LOGO_LINUX_MONO=y
1077CONFIG_LOGO_LINUX_VGA16=y
1078CONFIG_LOGO_LINUX_CLUT224=y
1079CONFIG_SOUND=m
1080# CONFIG_SOUND_OSS_CORE is not set
1081CONFIG_SND=m
1082CONFIG_SND_TIMER=m
1083CONFIG_SND_PCM=m
1084CONFIG_SND_JACK=y
1085# CONFIG_SND_SEQUENCER is not set
1086# CONFIG_SND_MIXER_OSS is not set
1087# CONFIG_SND_PCM_OSS is not set
1088# CONFIG_SND_HRTIMER is not set
1089# CONFIG_SND_DYNAMIC_MINORS is not set
1090CONFIG_SND_SUPPORT_OLD_API=y
1091CONFIG_SND_VERBOSE_PROCFS=y
1092# CONFIG_SND_VERBOSE_PRINTK is not set
1093# CONFIG_SND_DEBUG is not set
1094CONFIG_SND_DRIVERS=y
1095# CONFIG_SND_DUMMY is not set
1096# CONFIG_SND_MTPAV is not set
1097# CONFIG_SND_SERIAL_U16550 is not set
1098# CONFIG_SND_MPU401 is not set
1099CONFIG_SND_ARM=y
1100CONFIG_SND_USB=y
1101# CONFIG_SND_USB_AUDIO is not set
1102# CONFIG_SND_USB_CAIAQ is not set
1103CONFIG_SND_SOC=m
1104# CONFIG_SND_DAVINCI_SOC is not set
1105CONFIG_SND_SOC_I2C_AND_SPI=m
1106# CONFIG_SND_SOC_ALL_CODECS is not set
1107# CONFIG_SOUND_PRIME is not set
1108CONFIG_HID_SUPPORT=y
1109CONFIG_HID=m
1110# CONFIG_HID_DEBUG is not set
1111# CONFIG_HIDRAW is not set
1112
1113#
1114# USB Input Devices
1115#
1116CONFIG_USB_HID=m
1117# CONFIG_HID_PID is not set
1118# CONFIG_USB_HIDDEV is not set
1119
1120#
1121# USB HID Boot Protocol drivers
1122#
1123# CONFIG_USB_KBD is not set
1124# CONFIG_USB_MOUSE is not set
1125
1126#
1127# Special HID drivers
1128#
1129CONFIG_HID_A4TECH=m
1130CONFIG_HID_APPLE=m
1131CONFIG_HID_BELKIN=m
1132CONFIG_HID_CHERRY=m
1133CONFIG_HID_CHICONY=m
1134CONFIG_HID_CYPRESS=m
1135# CONFIG_DRAGONRISE_FF is not set
1136CONFIG_HID_EZKEY=m
1137# CONFIG_HID_KYE is not set
1138CONFIG_HID_GYRATION=m
1139# CONFIG_HID_KENSINGTON is not set
1140CONFIG_HID_LOGITECH=m
1141# CONFIG_LOGITECH_FF is not set
1142# CONFIG_LOGIRUMBLEPAD2_FF is not set
1143CONFIG_HID_MICROSOFT=m
1144CONFIG_HID_MONTEREY=m
1145# CONFIG_HID_NTRIG is not set
1146CONFIG_HID_PANTHERLORD=m
1147# CONFIG_PANTHERLORD_FF is not set
1148CONFIG_HID_PETALYNX=m
1149CONFIG_HID_SAMSUNG=m
1150CONFIG_HID_SONY=m
1151CONFIG_HID_SUNPLUS=m
1152# CONFIG_GREENASIA_FF is not set
1153# CONFIG_HID_TOPSEED is not set
1154# CONFIG_THRUSTMASTER_FF is not set
1155# CONFIG_ZEROPLUS_FF is not set
1156CONFIG_USB_SUPPORT=y
1157CONFIG_USB_ARCH_HAS_HCD=y
1158# CONFIG_USB_ARCH_HAS_OHCI is not set
1159# CONFIG_USB_ARCH_HAS_EHCI is not set
1160CONFIG_USB=m
1161# CONFIG_USB_DEBUG is not set
1162# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1163
1164#
1165# Miscellaneous USB options
1166#
1167CONFIG_USB_DEVICEFS=y
1168CONFIG_USB_DEVICE_CLASS=y
1169# CONFIG_USB_DYNAMIC_MINORS is not set
1170# CONFIG_USB_OTG is not set
1171# CONFIG_USB_OTG_WHITELIST is not set
1172# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1173CONFIG_USB_MON=m
1174# CONFIG_USB_WUSB is not set
1175# CONFIG_USB_WUSB_CBAF is not set
1176
1177#
1178# USB Host Controller Drivers
1179#
1180# CONFIG_USB_C67X00_HCD is not set
1181# CONFIG_USB_OXU210HP_HCD is not set
1182# CONFIG_USB_ISP116X_HCD is not set
1183# CONFIG_USB_ISP1760_HCD is not set
1184# CONFIG_USB_SL811_HCD is not set
1185# CONFIG_USB_R8A66597_HCD is not set
1186# CONFIG_USB_HWA_HCD is not set
1187CONFIG_USB_MUSB_HDRC=m
1188CONFIG_USB_MUSB_SOC=y
1189
1190#
1191# DaVinci 35x and 644x USB support
1192#
1193# CONFIG_USB_MUSB_HOST is not set
1194CONFIG_USB_MUSB_PERIPHERAL=y
1195# CONFIG_USB_MUSB_OTG is not set
1196CONFIG_USB_GADGET_MUSB_HDRC=y
1197CONFIG_MUSB_PIO_ONLY=y
1198# CONFIG_USB_MUSB_DEBUG is not set
1199
1200#
1201# USB Device Class drivers
1202#
1203# CONFIG_USB_ACM is not set
1204# CONFIG_USB_PRINTER is not set
1205# CONFIG_USB_WDM is not set
1206# CONFIG_USB_TMC is not set
1207
1208#
1209# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1210#
1211
1212#
1213# also be needed; see USB_STORAGE Help for more info
1214#
1215CONFIG_USB_STORAGE=m
1216# CONFIG_USB_STORAGE_DEBUG is not set
1217# CONFIG_USB_STORAGE_DATAFAB is not set
1218# CONFIG_USB_STORAGE_FREECOM is not set
1219# CONFIG_USB_STORAGE_ISD200 is not set
1220# CONFIG_USB_STORAGE_USBAT is not set
1221# CONFIG_USB_STORAGE_SDDR09 is not set
1222# CONFIG_USB_STORAGE_SDDR55 is not set
1223# CONFIG_USB_STORAGE_JUMPSHOT is not set
1224# CONFIG_USB_STORAGE_ALAUDA is not set
1225# CONFIG_USB_STORAGE_ONETOUCH is not set
1226# CONFIG_USB_STORAGE_KARMA is not set
1227# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1228# CONFIG_USB_LIBUSUAL is not set
1229
1230#
1231# USB Imaging devices
1232#
1233# CONFIG_USB_MDC800 is not set
1234# CONFIG_USB_MICROTEK is not set
1235
1236#
1237# USB port drivers
1238#
1239# CONFIG_USB_SERIAL is not set
1240
1241#
1242# USB Miscellaneous drivers
1243#
1244# CONFIG_USB_EMI62 is not set
1245# CONFIG_USB_EMI26 is not set
1246# CONFIG_USB_ADUTUX is not set
1247# CONFIG_USB_SEVSEG is not set
1248# CONFIG_USB_RIO500 is not set
1249# CONFIG_USB_LEGOTOWER is not set
1250# CONFIG_USB_LCD is not set
1251# CONFIG_USB_BERRY_CHARGE is not set
1252# CONFIG_USB_LED is not set
1253# CONFIG_USB_CYPRESS_CY7C63 is not set
1254# CONFIG_USB_CYTHERM is not set
1255# CONFIG_USB_IDMOUSE is not set
1256# CONFIG_USB_FTDI_ELAN is not set
1257# CONFIG_USB_APPLEDISPLAY is not set
1258# CONFIG_USB_LD is not set
1259# CONFIG_USB_TRANCEVIBRATOR is not set
1260# CONFIG_USB_IOWARRIOR is not set
1261CONFIG_USB_TEST=m
1262# CONFIG_USB_ISIGHTFW is not set
1263# CONFIG_USB_VST is not set
1264CONFIG_USB_GADGET=m
1265# CONFIG_USB_GADGET_DEBUG is not set
1266CONFIG_USB_GADGET_DEBUG_FILES=y
1267CONFIG_USB_GADGET_DEBUG_FS=y
1268CONFIG_USB_GADGET_VBUS_DRAW=2
1269CONFIG_USB_GADGET_SELECTED=y
1270# CONFIG_USB_GADGET_AT91 is not set
1271# CONFIG_USB_GADGET_ATMEL_USBA is not set
1272# CONFIG_USB_GADGET_FSL_USB2 is not set
1273# CONFIG_USB_GADGET_LH7A40X is not set
1274# CONFIG_USB_GADGET_OMAP is not set
1275# CONFIG_USB_GADGET_PXA25X is not set
1276# CONFIG_USB_GADGET_PXA27X is not set
1277# CONFIG_USB_GADGET_S3C2410 is not set
1278# CONFIG_USB_GADGET_IMX is not set
1279# CONFIG_USB_GADGET_M66592 is not set
1280# CONFIG_USB_GADGET_AMD5536UDC is not set
1281# CONFIG_USB_GADGET_FSL_QE is not set
1282# CONFIG_USB_GADGET_CI13XXX is not set
1283# CONFIG_USB_GADGET_NET2280 is not set
1284# CONFIG_USB_GADGET_GOKU is not set
1285# CONFIG_USB_GADGET_DUMMY_HCD is not set
1286CONFIG_USB_GADGET_DUALSPEED=y
1287CONFIG_USB_ZERO=m
1288CONFIG_USB_ETH=m
1289CONFIG_USB_ETH_RNDIS=y
1290CONFIG_USB_GADGETFS=m
1291CONFIG_USB_FILE_STORAGE=m
1292# CONFIG_USB_FILE_STORAGE_TEST is not set
1293CONFIG_USB_G_SERIAL=m
1294# CONFIG_USB_MIDI_GADGET is not set
1295CONFIG_USB_G_PRINTER=m
1296CONFIG_USB_CDC_COMPOSITE=m
1297
1298#
1299# OTG and related infrastructure
1300#
1301CONFIG_USB_OTG_UTILS=y
1302# CONFIG_USB_GPIO_VBUS is not set
1303# CONFIG_NOP_USB_XCEIV is not set
1304CONFIG_MMC=m
1305# CONFIG_MMC_DEBUG is not set
1306# CONFIG_MMC_UNSAFE_RESUME is not set
1307
1308#
1309# MMC/SD/SDIO Card Drivers
1310#
1311CONFIG_MMC_BLOCK=m
1312# CONFIG_MMC_BLOCK_BOUNCE is not set
1313# CONFIG_SDIO_UART is not set
1314# CONFIG_MMC_TEST is not set
1315
1316#
1317# MMC/SD/SDIO Host Controller Drivers
1318#
1319# CONFIG_MMC_SDHCI is not set
1320# CONFIG_MEMSTICK is not set
1321# CONFIG_ACCESSIBILITY is not set
1322CONFIG_NEW_LEDS=y
1323CONFIG_LEDS_CLASS=m
1324
1325#
1326# LED drivers
1327#
1328# CONFIG_LEDS_PCA9532 is not set
1329CONFIG_LEDS_GPIO=m
1330CONFIG_LEDS_GPIO_PLATFORM=y
1331# CONFIG_LEDS_LP5521 is not set
1332# CONFIG_LEDS_PCA955X is not set
1333# CONFIG_LEDS_BD2802 is not set
1334
1335#
1336# LED Triggers
1337#
1338CONFIG_LEDS_TRIGGERS=y
1339CONFIG_LEDS_TRIGGER_TIMER=m
1340# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
1341CONFIG_LEDS_TRIGGER_HEARTBEAT=m
1342# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1343# CONFIG_LEDS_TRIGGER_GPIO is not set
1344# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
1345
1346#
1347# iptables trigger is under Netfilter config (LED target)
1348#
1349CONFIG_RTC_LIB=y
1350CONFIG_RTC_CLASS=m
1351
1352#
1353# RTC interfaces
1354#
1355CONFIG_RTC_INTF_SYSFS=y
1356CONFIG_RTC_INTF_PROC=y
1357CONFIG_RTC_INTF_DEV=y
1358# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1359# CONFIG_RTC_DRV_TEST is not set
1360
1361#
1362# I2C RTC drivers
1363#
1364# CONFIG_RTC_DRV_DS1307 is not set
1365# CONFIG_RTC_DRV_DS1374 is not set
1366# CONFIG_RTC_DRV_DS1672 is not set
1367# CONFIG_RTC_DRV_MAX6900 is not set
1368# CONFIG_RTC_DRV_RS5C372 is not set
1369# CONFIG_RTC_DRV_ISL1208 is not set
1370# CONFIG_RTC_DRV_X1205 is not set
1371# CONFIG_RTC_DRV_PCF8563 is not set
1372# CONFIG_RTC_DRV_PCF8583 is not set
1373# CONFIG_RTC_DRV_M41T80 is not set
1374# CONFIG_RTC_DRV_S35390A is not set
1375# CONFIG_RTC_DRV_FM3130 is not set
1376# CONFIG_RTC_DRV_RX8581 is not set
1377
1378#
1379# SPI RTC drivers
1380#
1381
1382#
1383# Platform RTC drivers
1384#
1385# CONFIG_RTC_DRV_CMOS is not set
1386# CONFIG_RTC_DRV_DS1286 is not set
1387# CONFIG_RTC_DRV_DS1511 is not set
1388# CONFIG_RTC_DRV_DS1553 is not set
1389# CONFIG_RTC_DRV_DS1742 is not set
1390# CONFIG_RTC_DRV_STK17TA8 is not set
1391# CONFIG_RTC_DRV_M48T86 is not set
1392# CONFIG_RTC_DRV_M48T35 is not set
1393# CONFIG_RTC_DRV_M48T59 is not set
1394# CONFIG_RTC_DRV_BQ4802 is not set
1395# CONFIG_RTC_DRV_V3020 is not set
1396
1397#
1398# on-CPU RTC drivers
1399#
1400# CONFIG_DMADEVICES is not set
1401# CONFIG_AUXDISPLAY is not set
1402# CONFIG_REGULATOR is not set
1403# CONFIG_UIO is not set
1404# CONFIG_STAGING is not set
1405
1406#
1407# File systems
1408#
1409CONFIG_EXT2_FS=y
1410# CONFIG_EXT2_FS_XATTR is not set
1411# CONFIG_EXT2_FS_XIP is not set
1412CONFIG_EXT3_FS=y
1413# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1414CONFIG_EXT3_FS_XATTR=y
1415# CONFIG_EXT3_FS_POSIX_ACL is not set
1416# CONFIG_EXT3_FS_SECURITY is not set
1417# CONFIG_EXT4_FS is not set
1418CONFIG_JBD=y
1419# CONFIG_JBD_DEBUG is not set
1420CONFIG_FS_MBCACHE=y
1421# CONFIG_REISERFS_FS is not set
1422# CONFIG_JFS_FS is not set
1423# CONFIG_FS_POSIX_ACL is not set
1424CONFIG_FILE_LOCKING=y
1425CONFIG_XFS_FS=m
1426# CONFIG_XFS_QUOTA is not set
1427# CONFIG_XFS_POSIX_ACL is not set
1428# CONFIG_XFS_RT is not set
1429# CONFIG_XFS_DEBUG is not set
1430# CONFIG_OCFS2_FS is not set
1431# CONFIG_BTRFS_FS is not set
1432CONFIG_DNOTIFY=y
1433CONFIG_INOTIFY=y
1434CONFIG_INOTIFY_USER=y
1435# CONFIG_QUOTA is not set
1436# CONFIG_AUTOFS_FS is not set
1437CONFIG_AUTOFS4_FS=m
1438# CONFIG_FUSE_FS is not set
1439
1440#
1441# Caches
1442#
1443# CONFIG_FSCACHE is not set
1444
1445#
1446# CD-ROM/DVD Filesystems
1447#
1448# CONFIG_ISO9660_FS is not set
1449# CONFIG_UDF_FS is not set
1450
1451#
1452# DOS/FAT/NT Filesystems
1453#
1454CONFIG_FAT_FS=y
1455CONFIG_MSDOS_FS=y
1456CONFIG_VFAT_FS=y
1457CONFIG_FAT_DEFAULT_CODEPAGE=437
1458CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1459# CONFIG_NTFS_FS is not set
1460
1461#
1462# Pseudo filesystems
1463#
1464CONFIG_PROC_FS=y
1465CONFIG_PROC_SYSCTL=y
1466CONFIG_PROC_PAGE_MONITOR=y
1467CONFIG_SYSFS=y
1468CONFIG_TMPFS=y
1469# CONFIG_TMPFS_POSIX_ACL is not set
1470# CONFIG_HUGETLB_PAGE is not set
1471# CONFIG_CONFIGFS_FS is not set
1472CONFIG_MISC_FILESYSTEMS=y
1473# CONFIG_ADFS_FS is not set
1474# CONFIG_AFFS_FS is not set
1475# CONFIG_HFS_FS is not set
1476# CONFIG_HFSPLUS_FS is not set
1477# CONFIG_BEFS_FS is not set
1478# CONFIG_BFS_FS is not set
1479# CONFIG_EFS_FS is not set
1480CONFIG_JFFS2_FS=m
1481CONFIG_JFFS2_FS_DEBUG=0
1482CONFIG_JFFS2_FS_WRITEBUFFER=y
1483# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1484# CONFIG_JFFS2_SUMMARY is not set
1485# CONFIG_JFFS2_FS_XATTR is not set
1486# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1487CONFIG_JFFS2_ZLIB=y
1488# CONFIG_JFFS2_LZO is not set
1489CONFIG_JFFS2_RTIME=y
1490# CONFIG_JFFS2_RUBIN is not set
1491CONFIG_CRAMFS=y
1492# CONFIG_SQUASHFS is not set
1493# CONFIG_VXFS_FS is not set
1494CONFIG_MINIX_FS=m
1495# CONFIG_OMFS_FS is not set
1496# CONFIG_HPFS_FS is not set
1497# CONFIG_QNX4FS_FS is not set
1498# CONFIG_ROMFS_FS is not set
1499# CONFIG_SYSV_FS is not set
1500# CONFIG_UFS_FS is not set
1501# CONFIG_NILFS2_FS is not set
1502CONFIG_NETWORK_FILESYSTEMS=y
1503CONFIG_NFS_FS=y
1504CONFIG_NFS_V3=y
1505# CONFIG_NFS_V3_ACL is not set
1506# CONFIG_NFS_V4 is not set
1507CONFIG_ROOT_NFS=y
1508CONFIG_NFSD=m
1509CONFIG_NFSD_V3=y
1510# CONFIG_NFSD_V3_ACL is not set
1511# CONFIG_NFSD_V4 is not set
1512CONFIG_LOCKD=y
1513CONFIG_LOCKD_V4=y
1514CONFIG_EXPORTFS=m
1515CONFIG_NFS_COMMON=y
1516CONFIG_SUNRPC=y
1517# CONFIG_RPCSEC_GSS_KRB5 is not set
1518# CONFIG_RPCSEC_GSS_SPKM3 is not set
1519CONFIG_SMB_FS=m
1520# CONFIG_SMB_NLS_DEFAULT is not set
1521# CONFIG_CIFS is not set
1522# CONFIG_NCP_FS is not set
1523# CONFIG_CODA_FS is not set
1524# CONFIG_AFS_FS is not set
1525
1526#
1527# Partition Types
1528#
1529CONFIG_PARTITION_ADVANCED=y
1530# CONFIG_ACORN_PARTITION is not set
1531# CONFIG_OSF_PARTITION is not set
1532# CONFIG_AMIGA_PARTITION is not set
1533# CONFIG_ATARI_PARTITION is not set
1534# CONFIG_MAC_PARTITION is not set
1535CONFIG_MSDOS_PARTITION=y
1536# CONFIG_BSD_DISKLABEL is not set
1537# CONFIG_MINIX_SUBPARTITION is not set
1538# CONFIG_SOLARIS_X86_PARTITION is not set
1539# CONFIG_UNIXWARE_DISKLABEL is not set
1540# CONFIG_LDM_PARTITION is not set
1541# CONFIG_SGI_PARTITION is not set
1542# CONFIG_ULTRIX_PARTITION is not set
1543# CONFIG_SUN_PARTITION is not set
1544# CONFIG_KARMA_PARTITION is not set
1545# CONFIG_EFI_PARTITION is not set
1546# CONFIG_SYSV68_PARTITION is not set
1547CONFIG_NLS=y
1548CONFIG_NLS_DEFAULT="iso8859-1"
1549CONFIG_NLS_CODEPAGE_437=y
1550# CONFIG_NLS_CODEPAGE_737 is not set
1551# CONFIG_NLS_CODEPAGE_775 is not set
1552# CONFIG_NLS_CODEPAGE_850 is not set
1553# CONFIG_NLS_CODEPAGE_852 is not set
1554# CONFIG_NLS_CODEPAGE_855 is not set
1555# CONFIG_NLS_CODEPAGE_857 is not set
1556# CONFIG_NLS_CODEPAGE_860 is not set
1557# CONFIG_NLS_CODEPAGE_861 is not set
1558# CONFIG_NLS_CODEPAGE_862 is not set
1559# CONFIG_NLS_CODEPAGE_863 is not set
1560# CONFIG_NLS_CODEPAGE_864 is not set
1561# CONFIG_NLS_CODEPAGE_865 is not set
1562# CONFIG_NLS_CODEPAGE_866 is not set
1563# CONFIG_NLS_CODEPAGE_869 is not set
1564# CONFIG_NLS_CODEPAGE_936 is not set
1565# CONFIG_NLS_CODEPAGE_950 is not set
1566# CONFIG_NLS_CODEPAGE_932 is not set
1567# CONFIG_NLS_CODEPAGE_949 is not set
1568# CONFIG_NLS_CODEPAGE_874 is not set
1569# CONFIG_NLS_ISO8859_8 is not set
1570# CONFIG_NLS_CODEPAGE_1250 is not set
1571# CONFIG_NLS_CODEPAGE_1251 is not set
1572CONFIG_NLS_ASCII=m
1573CONFIG_NLS_ISO8859_1=y
1574# CONFIG_NLS_ISO8859_2 is not set
1575# CONFIG_NLS_ISO8859_3 is not set
1576# CONFIG_NLS_ISO8859_4 is not set
1577# CONFIG_NLS_ISO8859_5 is not set
1578# CONFIG_NLS_ISO8859_6 is not set
1579# CONFIG_NLS_ISO8859_7 is not set
1580# CONFIG_NLS_ISO8859_9 is not set
1581# CONFIG_NLS_ISO8859_13 is not set
1582# CONFIG_NLS_ISO8859_14 is not set
1583# CONFIG_NLS_ISO8859_15 is not set
1584# CONFIG_NLS_KOI8_R is not set
1585# CONFIG_NLS_KOI8_U is not set
1586CONFIG_NLS_UTF8=m
1587# CONFIG_DLM is not set
1588
1589#
1590# Kernel hacking
1591#
1592# CONFIG_PRINTK_TIME is not set
1593CONFIG_ENABLE_WARN_DEPRECATED=y
1594CONFIG_ENABLE_MUST_CHECK=y
1595CONFIG_FRAME_WARN=1024
1596# CONFIG_MAGIC_SYSRQ is not set
1597# CONFIG_UNUSED_SYMBOLS is not set
1598CONFIG_DEBUG_FS=y
1599# CONFIG_HEADERS_CHECK is not set
1600CONFIG_DEBUG_KERNEL=y
1601# CONFIG_DEBUG_SHIRQ is not set
1602CONFIG_DETECT_SOFTLOCKUP=y
1603# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1604CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1605CONFIG_DETECT_HUNG_TASK=y
1606# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1607CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1608CONFIG_SCHED_DEBUG=y
1609# CONFIG_SCHEDSTATS is not set
1610CONFIG_TIMER_STATS=y
1611# CONFIG_DEBUG_OBJECTS is not set
1612# CONFIG_SLUB_DEBUG_ON is not set
1613# CONFIG_SLUB_STATS is not set
1614CONFIG_DEBUG_PREEMPT=y
1615CONFIG_DEBUG_RT_MUTEXES=y
1616CONFIG_DEBUG_PI_LIST=y
1617# CONFIG_RT_MUTEX_TESTER is not set
1618# CONFIG_DEBUG_SPINLOCK is not set
1619CONFIG_DEBUG_MUTEXES=y
1620# CONFIG_DEBUG_LOCK_ALLOC is not set
1621# CONFIG_PROVE_LOCKING is not set
1622# CONFIG_LOCK_STAT is not set
1623# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1624# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1625# CONFIG_DEBUG_KOBJECT is not set
1626CONFIG_DEBUG_BUGVERBOSE=y
1627# CONFIG_DEBUG_INFO is not set
1628# CONFIG_DEBUG_VM is not set
1629# CONFIG_DEBUG_WRITECOUNT is not set
1630# CONFIG_DEBUG_MEMORY_INIT is not set
1631# CONFIG_DEBUG_LIST is not set
1632# CONFIG_DEBUG_SG is not set
1633# CONFIG_DEBUG_NOTIFIERS is not set
1634# CONFIG_BOOT_PRINTK_DELAY is not set
1635# CONFIG_RCU_TORTURE_TEST is not set
1636# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1637# CONFIG_BACKTRACE_SELF_TEST is not set
1638# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1639# CONFIG_FAULT_INJECTION is not set
1640# CONFIG_LATENCYTOP is not set
1641# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1642# CONFIG_PAGE_POISONING is not set
1643CONFIG_HAVE_FUNCTION_TRACER=y
1644CONFIG_TRACING_SUPPORT=y
1645
1646#
1647# Tracers
1648#
1649# CONFIG_FUNCTION_TRACER is not set
1650# CONFIG_IRQSOFF_TRACER is not set
1651# CONFIG_PREEMPT_TRACER is not set
1652# CONFIG_SCHED_TRACER is not set
1653# CONFIG_CONTEXT_SWITCH_TRACER is not set
1654# CONFIG_EVENT_TRACER is not set
1655# CONFIG_BOOT_TRACER is not set
1656# CONFIG_TRACE_BRANCH_PROFILING is not set
1657# CONFIG_STACK_TRACER is not set
1658# CONFIG_KMEMTRACE is not set
1659# CONFIG_WORKQUEUE_TRACER is not set
1660# CONFIG_BLK_DEV_IO_TRACE is not set
1661# CONFIG_DYNAMIC_DEBUG is not set
1662# CONFIG_SAMPLES is not set
1663CONFIG_HAVE_ARCH_KGDB=y
1664# CONFIG_KGDB is not set
1665CONFIG_ARM_UNWIND=y
1666CONFIG_DEBUG_USER=y
1667CONFIG_DEBUG_ERRORS=y
1668# CONFIG_DEBUG_STACK_USAGE is not set
1669# CONFIG_DEBUG_LL is not set
1670
1671#
1672# Security options
1673#
1674# CONFIG_KEYS is not set
1675# CONFIG_SECURITY is not set
1676# CONFIG_SECURITYFS is not set
1677# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1678CONFIG_CRYPTO=y
1679
1680#
1681# Crypto core or helper
1682#
1683# CONFIG_CRYPTO_FIPS is not set
1684# CONFIG_CRYPTO_MANAGER is not set
1685# CONFIG_CRYPTO_MANAGER2 is not set
1686# CONFIG_CRYPTO_GF128MUL is not set
1687# CONFIG_CRYPTO_NULL is not set
1688# CONFIG_CRYPTO_CRYPTD is not set
1689# CONFIG_CRYPTO_AUTHENC is not set
1690# CONFIG_CRYPTO_TEST is not set
1691
1692#
1693# Authenticated Encryption with Associated Data
1694#
1695# CONFIG_CRYPTO_CCM is not set
1696# CONFIG_CRYPTO_GCM is not set
1697# CONFIG_CRYPTO_SEQIV is not set
1698
1699#
1700# Block modes
1701#
1702# CONFIG_CRYPTO_CBC is not set
1703# CONFIG_CRYPTO_CTR is not set
1704# CONFIG_CRYPTO_CTS is not set
1705# CONFIG_CRYPTO_ECB is not set
1706# CONFIG_CRYPTO_LRW is not set
1707# CONFIG_CRYPTO_PCBC is not set
1708# CONFIG_CRYPTO_XTS is not set
1709
1710#
1711# Hash modes
1712#
1713# CONFIG_CRYPTO_HMAC is not set
1714# CONFIG_CRYPTO_XCBC is not set
1715
1716#
1717# Digest
1718#
1719# CONFIG_CRYPTO_CRC32C is not set
1720# CONFIG_CRYPTO_MD4 is not set
1721# CONFIG_CRYPTO_MD5 is not set
1722# CONFIG_CRYPTO_MICHAEL_MIC is not set
1723# CONFIG_CRYPTO_RMD128 is not set
1724# CONFIG_CRYPTO_RMD160 is not set
1725# CONFIG_CRYPTO_RMD256 is not set
1726# CONFIG_CRYPTO_RMD320 is not set
1727# CONFIG_CRYPTO_SHA1 is not set
1728# CONFIG_CRYPTO_SHA256 is not set
1729# CONFIG_CRYPTO_SHA512 is not set
1730# CONFIG_CRYPTO_TGR192 is not set
1731# CONFIG_CRYPTO_WP512 is not set
1732
1733#
1734# Ciphers
1735#
1736# CONFIG_CRYPTO_AES is not set
1737# CONFIG_CRYPTO_ANUBIS is not set
1738# CONFIG_CRYPTO_ARC4 is not set
1739# CONFIG_CRYPTO_BLOWFISH is not set
1740# CONFIG_CRYPTO_CAMELLIA is not set
1741# CONFIG_CRYPTO_CAST5 is not set
1742# CONFIG_CRYPTO_CAST6 is not set
1743# CONFIG_CRYPTO_DES is not set
1744# CONFIG_CRYPTO_FCRYPT is not set
1745# CONFIG_CRYPTO_KHAZAD is not set
1746# CONFIG_CRYPTO_SALSA20 is not set
1747# CONFIG_CRYPTO_SEED is not set
1748# CONFIG_CRYPTO_SERPENT is not set
1749# CONFIG_CRYPTO_TEA is not set
1750# CONFIG_CRYPTO_TWOFISH is not set
1751
1752#
1753# Compression
1754#
1755# CONFIG_CRYPTO_DEFLATE is not set
1756# CONFIG_CRYPTO_ZLIB is not set
1757# CONFIG_CRYPTO_LZO is not set
1758
1759#
1760# Random Number Generation
1761#
1762# CONFIG_CRYPTO_ANSI_CPRNG is not set
1763# CONFIG_CRYPTO_HW is not set
1764# CONFIG_BINARY_PRINTF is not set
1765
1766#
1767# Library routines
1768#
1769CONFIG_BITREVERSE=y
1770CONFIG_GENERIC_FIND_LAST_BIT=y
1771CONFIG_CRC_CCITT=m
1772# CONFIG_CRC16 is not set
1773CONFIG_CRC_T10DIF=m
1774# CONFIG_CRC_ITU_T is not set
1775CONFIG_CRC32=y
1776# CONFIG_CRC7 is not set
1777# CONFIG_LIBCRC32C is not set
1778CONFIG_ZLIB_INFLATE=y
1779CONFIG_ZLIB_DEFLATE=m
1780CONFIG_DECOMPRESS_GZIP=y
1781CONFIG_HAS_IOMEM=y
1782CONFIG_HAS_IOPORT=y
1783CONFIG_HAS_DMA=y
1784CONFIG_NLATTR=y
diff --git a/arch/arm/configs/kirkwood_defconfig b/arch/arm/configs/kirkwood_defconfig
index c367ae44012e..dcf8153a947d 100644
--- a/arch/arm/configs/kirkwood_defconfig
+++ b/arch/arm/configs/kirkwood_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.29-rc5 3# Linux kernel version: 2.6.30-rc4
4# Tue Mar 3 21:45:57 2009 4# Mon May 4 11:58:57 2009
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -66,20 +66,20 @@ CONFIG_NAMESPACES=y
66# CONFIG_BLK_DEV_INITRD is not set 66# CONFIG_BLK_DEV_INITRD is not set
67CONFIG_CC_OPTIMIZE_FOR_SIZE=y 67CONFIG_CC_OPTIMIZE_FOR_SIZE=y
68CONFIG_SYSCTL=y 68CONFIG_SYSCTL=y
69CONFIG_ANON_INODES=y
69# CONFIG_EMBEDDED is not set 70# CONFIG_EMBEDDED is not set
70CONFIG_UID16=y 71CONFIG_UID16=y
71CONFIG_SYSCTL_SYSCALL=y 72CONFIG_SYSCTL_SYSCALL=y
72CONFIG_KALLSYMS=y 73CONFIG_KALLSYMS=y
73# CONFIG_KALLSYMS_ALL is not set 74# CONFIG_KALLSYMS_ALL is not set
74# CONFIG_KALLSYMS_EXTRA_PASS is not set 75# CONFIG_KALLSYMS_EXTRA_PASS is not set
76# CONFIG_STRIP_ASM_SYMS is not set
75CONFIG_HOTPLUG=y 77CONFIG_HOTPLUG=y
76CONFIG_PRINTK=y 78CONFIG_PRINTK=y
77CONFIG_BUG=y 79CONFIG_BUG=y
78CONFIG_ELF_CORE=y 80CONFIG_ELF_CORE=y
79CONFIG_COMPAT_BRK=y
80CONFIG_BASE_FULL=y 81CONFIG_BASE_FULL=y
81CONFIG_FUTEX=y 82CONFIG_FUTEX=y
82CONFIG_ANON_INODES=y
83CONFIG_EPOLL=y 83CONFIG_EPOLL=y
84CONFIG_SIGNALFD=y 84CONFIG_SIGNALFD=y
85CONFIG_TIMERFD=y 85CONFIG_TIMERFD=y
@@ -89,6 +89,7 @@ CONFIG_AIO=y
89CONFIG_VM_EVENT_COUNTERS=y 89CONFIG_VM_EVENT_COUNTERS=y
90CONFIG_PCI_QUIRKS=y 90CONFIG_PCI_QUIRKS=y
91CONFIG_SLUB_DEBUG=y 91CONFIG_SLUB_DEBUG=y
92CONFIG_COMPAT_BRK=y
92# CONFIG_SLAB is not set 93# CONFIG_SLAB is not set
93CONFIG_SLUB=y 94CONFIG_SLUB=y
94# CONFIG_SLOB is not set 95# CONFIG_SLOB is not set
@@ -101,6 +102,7 @@ CONFIG_KPROBES=y
101CONFIG_KRETPROBES=y 102CONFIG_KRETPROBES=y
102CONFIG_HAVE_KPROBES=y 103CONFIG_HAVE_KPROBES=y
103CONFIG_HAVE_KRETPROBES=y 104CONFIG_HAVE_KRETPROBES=y
105# CONFIG_SLOW_WORK is not set
104CONFIG_HAVE_GENERIC_DMA_COHERENT=y 106CONFIG_HAVE_GENERIC_DMA_COHERENT=y
105CONFIG_SLABINFO=y 107CONFIG_SLABINFO=y
106CONFIG_RT_MUTEXES=y 108CONFIG_RT_MUTEXES=y
@@ -113,7 +115,6 @@ CONFIG_MODULE_UNLOAD=y
113# CONFIG_MODULE_SRCVERSION_ALL is not set 115# CONFIG_MODULE_SRCVERSION_ALL is not set
114CONFIG_BLOCK=y 116CONFIG_BLOCK=y
115# CONFIG_LBD is not set 117# CONFIG_LBD is not set
116# CONFIG_BLK_DEV_IO_TRACE is not set
117# CONFIG_BLK_DEV_BSG is not set 118# CONFIG_BLK_DEV_BSG is not set
118# CONFIG_BLK_DEV_INTEGRITY is not set 119# CONFIG_BLK_DEV_INTEGRITY is not set
119 120
@@ -142,6 +143,7 @@ CONFIG_DEFAULT_IOSCHED="cfq"
142# CONFIG_ARCH_CLPS711X is not set 143# CONFIG_ARCH_CLPS711X is not set
143# CONFIG_ARCH_EBSA110 is not set 144# CONFIG_ARCH_EBSA110 is not set
144# CONFIG_ARCH_EP93XX is not set 145# CONFIG_ARCH_EP93XX is not set
146# CONFIG_ARCH_GEMINI is not set
145# CONFIG_ARCH_FOOTBRIDGE is not set 147# CONFIG_ARCH_FOOTBRIDGE is not set
146# CONFIG_ARCH_NETX is not set 148# CONFIG_ARCH_NETX is not set
147# CONFIG_ARCH_H720X is not set 149# CONFIG_ARCH_H720X is not set
@@ -162,6 +164,7 @@ CONFIG_ARCH_KIRKWOOD=y
162# CONFIG_ARCH_ORION5X is not set 164# CONFIG_ARCH_ORION5X is not set
163# CONFIG_ARCH_PNX4008 is not set 165# CONFIG_ARCH_PNX4008 is not set
164# CONFIG_ARCH_PXA is not set 166# CONFIG_ARCH_PXA is not set
167# CONFIG_ARCH_MMP is not set
165# CONFIG_ARCH_RPC is not set 168# CONFIG_ARCH_RPC is not set
166# CONFIG_ARCH_SA1100 is not set 169# CONFIG_ARCH_SA1100 is not set
167# CONFIG_ARCH_S3C2410 is not set 170# CONFIG_ARCH_S3C2410 is not set
@@ -217,6 +220,7 @@ CONFIG_PCI_SYSCALL=y
217CONFIG_PCI_LEGACY=y 220CONFIG_PCI_LEGACY=y
218# CONFIG_PCI_DEBUG is not set 221# CONFIG_PCI_DEBUG is not set
219# CONFIG_PCI_STUB is not set 222# CONFIG_PCI_STUB is not set
223# CONFIG_PCI_IOV is not set
220# CONFIG_PCCARD is not set 224# CONFIG_PCCARD is not set
221 225
222# 226#
@@ -237,6 +241,7 @@ CONFIG_AEABI=y
237CONFIG_ARCH_FLATMEM_HAS_HOLES=y 241CONFIG_ARCH_FLATMEM_HAS_HOLES=y
238# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set 242# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
239# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set 243# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
244# CONFIG_HIGHMEM is not set
240CONFIG_SELECT_MEMORY_MODEL=y 245CONFIG_SELECT_MEMORY_MODEL=y
241CONFIG_FLATMEM_MANUAL=y 246CONFIG_FLATMEM_MANUAL=y
242# CONFIG_DISCONTIGMEM_MANUAL is not set 247# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -249,6 +254,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096
249CONFIG_ZONE_DMA_FLAG=0 254CONFIG_ZONE_DMA_FLAG=0
250CONFIG_VIRT_TO_BUS=y 255CONFIG_VIRT_TO_BUS=y
251CONFIG_UNEVICTABLE_LRU=y 256CONFIG_UNEVICTABLE_LRU=y
257CONFIG_HAVE_MLOCK=y
258CONFIG_HAVE_MLOCKED_PAGE_BIT=y
252CONFIG_ALIGNMENT_TRAP=y 259CONFIG_ALIGNMENT_TRAP=y
253 260
254# 261#
@@ -293,7 +300,6 @@ CONFIG_NET=y
293# 300#
294# Networking options 301# Networking options
295# 302#
296CONFIG_COMPAT_NET_DEV_OPS=y
297CONFIG_PACKET=y 303CONFIG_PACKET=y
298CONFIG_PACKET_MMAP=y 304CONFIG_PACKET_MMAP=y
299CONFIG_UNIX=y 305CONFIG_UNIX=y
@@ -324,7 +330,7 @@ CONFIG_IP_PNP_BOOTP=y
324CONFIG_INET_XFRM_MODE_TRANSPORT=y 330CONFIG_INET_XFRM_MODE_TRANSPORT=y
325CONFIG_INET_XFRM_MODE_TUNNEL=y 331CONFIG_INET_XFRM_MODE_TUNNEL=y
326CONFIG_INET_XFRM_MODE_BEET=y 332CONFIG_INET_XFRM_MODE_BEET=y
327# CONFIG_INET_LRO is not set 333CONFIG_INET_LRO=y
328CONFIG_INET_DIAG=y 334CONFIG_INET_DIAG=y
329CONFIG_INET_TCP_DIAG=y 335CONFIG_INET_TCP_DIAG=y
330# CONFIG_TCP_CONG_ADVANCED is not set 336# CONFIG_TCP_CONG_ADVANCED is not set
@@ -357,6 +363,7 @@ CONFIG_NET_DSA_MV88E6123_61_65=y
357# CONFIG_LAPB is not set 363# CONFIG_LAPB is not set
358# CONFIG_ECONET is not set 364# CONFIG_ECONET is not set
359# CONFIG_WAN_ROUTER is not set 365# CONFIG_WAN_ROUTER is not set
366# CONFIG_PHONET is not set
360# CONFIG_NET_SCHED is not set 367# CONFIG_NET_SCHED is not set
361# CONFIG_DCB is not set 368# CONFIG_DCB is not set
362 369
@@ -365,20 +372,20 @@ CONFIG_NET_DSA_MV88E6123_61_65=y
365# 372#
366CONFIG_NET_PKTGEN=m 373CONFIG_NET_PKTGEN=m
367# CONFIG_NET_TCPPROBE is not set 374# CONFIG_NET_TCPPROBE is not set
375# CONFIG_NET_DROP_MONITOR is not set
368# CONFIG_HAMRADIO is not set 376# CONFIG_HAMRADIO is not set
369# CONFIG_CAN is not set 377# CONFIG_CAN is not set
370# CONFIG_IRDA is not set 378# CONFIG_IRDA is not set
371# CONFIG_BT is not set 379# CONFIG_BT is not set
372# CONFIG_AF_RXRPC is not set 380# CONFIG_AF_RXRPC is not set
373# CONFIG_PHONET is not set
374CONFIG_WIRELESS=y 381CONFIG_WIRELESS=y
375CONFIG_CFG80211=y 382CONFIG_CFG80211=y
376# CONFIG_CFG80211_REG_DEBUG is not set 383# CONFIG_CFG80211_REG_DEBUG is not set
377# CONFIG_NL80211 is not set
378CONFIG_WIRELESS_OLD_REGULATORY=y 384CONFIG_WIRELESS_OLD_REGULATORY=y
379CONFIG_WIRELESS_EXT=y 385CONFIG_WIRELESS_EXT=y
380CONFIG_WIRELESS_EXT_SYSFS=y 386CONFIG_WIRELESS_EXT_SYSFS=y
381CONFIG_LIB80211=y 387CONFIG_LIB80211=y
388# CONFIG_LIB80211_DEBUG is not set
382CONFIG_MAC80211=y 389CONFIG_MAC80211=y
383 390
384# 391#
@@ -513,7 +520,6 @@ CONFIG_MTD_NAND_ORION=y
513# LPDDR flash memory drivers 520# LPDDR flash memory drivers
514# 521#
515# CONFIG_MTD_LPDDR is not set 522# CONFIG_MTD_LPDDR is not set
516# CONFIG_MTD_QINFO_PROBE is not set
517 523
518# 524#
519# UBI - Unsorted block images 525# UBI - Unsorted block images
@@ -592,8 +598,10 @@ CONFIG_SCSI_LOWLEVEL=y
592# CONFIG_MEGARAID_NEWGEN is not set 598# CONFIG_MEGARAID_NEWGEN is not set
593# CONFIG_MEGARAID_LEGACY is not set 599# CONFIG_MEGARAID_LEGACY is not set
594# CONFIG_MEGARAID_SAS is not set 600# CONFIG_MEGARAID_SAS is not set
601# CONFIG_SCSI_MPT2SAS is not set
595# CONFIG_SCSI_HPTIOP is not set 602# CONFIG_SCSI_HPTIOP is not set
596# CONFIG_LIBFC is not set 603# CONFIG_LIBFC is not set
604# CONFIG_LIBFCOE is not set
597# CONFIG_FCOE is not set 605# CONFIG_FCOE is not set
598# CONFIG_SCSI_DMX3191D is not set 606# CONFIG_SCSI_DMX3191D is not set
599# CONFIG_SCSI_FUTURE_DOMAIN is not set 607# CONFIG_SCSI_FUTURE_DOMAIN is not set
@@ -614,6 +622,7 @@ CONFIG_SCSI_LOWLEVEL=y
614# CONFIG_SCSI_DEBUG is not set 622# CONFIG_SCSI_DEBUG is not set
615# CONFIG_SCSI_SRP is not set 623# CONFIG_SCSI_SRP is not set
616# CONFIG_SCSI_DH is not set 624# CONFIG_SCSI_DH is not set
625# CONFIG_SCSI_OSD_INITIATOR is not set
617CONFIG_ATA=y 626CONFIG_ATA=y
618# CONFIG_ATA_NONSTANDARD is not set 627# CONFIG_ATA_NONSTANDARD is not set
619CONFIG_SATA_PMP=y 628CONFIG_SATA_PMP=y
@@ -687,6 +696,7 @@ CONFIG_SATA_MV=y
687# CONFIG_IEEE1394 is not set 696# CONFIG_IEEE1394 is not set
688# CONFIG_I2O is not set 697# CONFIG_I2O is not set
689CONFIG_NETDEVICES=y 698CONFIG_NETDEVICES=y
699CONFIG_COMPAT_NET_DEV_OPS=y
690# CONFIG_DUMMY is not set 700# CONFIG_DUMMY is not set
691# CONFIG_BONDING is not set 701# CONFIG_BONDING is not set
692# CONFIG_MACVLAN is not set 702# CONFIG_MACVLAN is not set
@@ -724,8 +734,10 @@ CONFIG_MII=y
724# CONFIG_SMC91X is not set 734# CONFIG_SMC91X is not set
725# CONFIG_DM9000 is not set 735# CONFIG_DM9000 is not set
726# CONFIG_ENC28J60 is not set 736# CONFIG_ENC28J60 is not set
737# CONFIG_ETHOC is not set
727# CONFIG_SMC911X is not set 738# CONFIG_SMC911X is not set
728# CONFIG_SMSC911X is not set 739# CONFIG_SMSC911X is not set
740# CONFIG_DNET is not set
729# CONFIG_NET_TULIP is not set 741# CONFIG_NET_TULIP is not set
730# CONFIG_HP100 is not set 742# CONFIG_HP100 is not set
731# CONFIG_IBM_NEW_EMAC_ZMII is not set 743# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -763,6 +775,7 @@ CONFIG_NETDEV_1000=y
763# CONFIG_E1000E is not set 775# CONFIG_E1000E is not set
764# CONFIG_IP1000 is not set 776# CONFIG_IP1000 is not set
765# CONFIG_IGB is not set 777# CONFIG_IGB is not set
778# CONFIG_IGBVF is not set
766# CONFIG_NS83820 is not set 779# CONFIG_NS83820 is not set
767# CONFIG_HAMACHI is not set 780# CONFIG_HAMACHI is not set
768# CONFIG_YELLOWFIN is not set 781# CONFIG_YELLOWFIN is not set
@@ -777,6 +790,7 @@ CONFIG_MV643XX_ETH=y
777# CONFIG_QLA3XXX is not set 790# CONFIG_QLA3XXX is not set
778# CONFIG_ATL1 is not set 791# CONFIG_ATL1 is not set
779# CONFIG_ATL1E is not set 792# CONFIG_ATL1E is not set
793# CONFIG_ATL1C is not set
780# CONFIG_JME is not set 794# CONFIG_JME is not set
781# CONFIG_NETDEV_10000 is not set 795# CONFIG_NETDEV_10000 is not set
782# CONFIG_TR is not set 796# CONFIG_TR is not set
@@ -789,10 +803,11 @@ CONFIG_WLAN_80211=y
789CONFIG_LIBERTAS=y 803CONFIG_LIBERTAS=y
790# CONFIG_LIBERTAS_USB is not set 804# CONFIG_LIBERTAS_USB is not set
791CONFIG_LIBERTAS_SDIO=y 805CONFIG_LIBERTAS_SDIO=y
806# CONFIG_LIBERTAS_SPI is not set
792# CONFIG_LIBERTAS_DEBUG is not set 807# CONFIG_LIBERTAS_DEBUG is not set
793# CONFIG_LIBERTAS_THINFIRM is not set 808# CONFIG_LIBERTAS_THINFIRM is not set
794# CONFIG_HERMES is not set
795# CONFIG_ATMEL is not set 809# CONFIG_ATMEL is not set
810# CONFIG_AT76C50X_USB is not set
796# CONFIG_PRISM54 is not set 811# CONFIG_PRISM54 is not set
797# CONFIG_USB_ZD1201 is not set 812# CONFIG_USB_ZD1201 is not set
798# CONFIG_USB_NET_RNDIS_WLAN is not set 813# CONFIG_USB_NET_RNDIS_WLAN is not set
@@ -800,20 +815,20 @@ CONFIG_LIBERTAS_SDIO=y
800# CONFIG_RTL8187 is not set 815# CONFIG_RTL8187 is not set
801# CONFIG_ADM8211 is not set 816# CONFIG_ADM8211 is not set
802# CONFIG_MAC80211_HWSIM is not set 817# CONFIG_MAC80211_HWSIM is not set
818# CONFIG_MWL8K is not set
803# CONFIG_P54_COMMON is not set 819# CONFIG_P54_COMMON is not set
804# CONFIG_ATH5K is not set 820# CONFIG_ATH5K is not set
805# CONFIG_ATH9K is not set 821# CONFIG_ATH9K is not set
822# CONFIG_AR9170_USB is not set
806# CONFIG_IPW2100 is not set 823# CONFIG_IPW2100 is not set
807# CONFIG_IPW2200 is not set 824# CONFIG_IPW2200 is not set
808# CONFIG_IWLCORE is not set 825# CONFIG_IWLWIFI is not set
809# CONFIG_IWLWIFI_LEDS is not set
810# CONFIG_IWLAGN is not set
811# CONFIG_IWL3945 is not set
812# CONFIG_HOSTAP is not set 826# CONFIG_HOSTAP is not set
813# CONFIG_B43 is not set 827# CONFIG_B43 is not set
814# CONFIG_B43LEGACY is not set 828# CONFIG_B43LEGACY is not set
815# CONFIG_ZD1211RW is not set 829# CONFIG_ZD1211RW is not set
816# CONFIG_RT2X00 is not set 830# CONFIG_RT2X00 is not set
831# CONFIG_HERMES is not set
817 832
818# 833#
819# Enable WiMAX (Networking options) to see the WiMAX drivers 834# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -908,6 +923,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=2
908# 923#
909# Non-8250 serial port support 924# Non-8250 serial port support
910# 925#
926# CONFIG_SERIAL_MAX3100 is not set
911CONFIG_SERIAL_CORE=y 927CONFIG_SERIAL_CORE=y
912CONFIG_SERIAL_CORE_CONSOLE=y 928CONFIG_SERIAL_CORE_CONSOLE=y
913# CONFIG_SERIAL_JSM is not set 929# CONFIG_SERIAL_JSM is not set
@@ -982,7 +998,6 @@ CONFIG_I2C_MV64XXX=y
982# CONFIG_SENSORS_PCF8574 is not set 998# CONFIG_SENSORS_PCF8574 is not set
983# CONFIG_PCF8575 is not set 999# CONFIG_PCF8575 is not set
984# CONFIG_SENSORS_PCA9539 is not set 1000# CONFIG_SENSORS_PCA9539 is not set
985# CONFIG_SENSORS_PCF8591 is not set
986# CONFIG_SENSORS_MAX6875 is not set 1001# CONFIG_SENSORS_MAX6875 is not set
987# CONFIG_SENSORS_TSL2550 is not set 1002# CONFIG_SENSORS_TSL2550 is not set
988# CONFIG_I2C_DEBUG_CORE is not set 1003# CONFIG_I2C_DEBUG_CORE is not set
@@ -1082,15 +1097,17 @@ CONFIG_USB_HID=y
1082# 1097#
1083# Special HID drivers 1098# Special HID drivers
1084# 1099#
1085CONFIG_HID_COMPAT=y
1086CONFIG_HID_A4TECH=y 1100CONFIG_HID_A4TECH=y
1087CONFIG_HID_APPLE=y 1101CONFIG_HID_APPLE=y
1088CONFIG_HID_BELKIN=y 1102CONFIG_HID_BELKIN=y
1089CONFIG_HID_CHERRY=y 1103CONFIG_HID_CHERRY=y
1090CONFIG_HID_CHICONY=y 1104CONFIG_HID_CHICONY=y
1091CONFIG_HID_CYPRESS=y 1105CONFIG_HID_CYPRESS=y
1106# CONFIG_DRAGONRISE_FF is not set
1092CONFIG_HID_EZKEY=y 1107CONFIG_HID_EZKEY=y
1108CONFIG_HID_KYE=y
1093CONFIG_HID_GYRATION=y 1109CONFIG_HID_GYRATION=y
1110CONFIG_HID_KENSINGTON=y
1094CONFIG_HID_LOGITECH=y 1111CONFIG_HID_LOGITECH=y
1095# CONFIG_LOGITECH_FF is not set 1112# CONFIG_LOGITECH_FF is not set
1096# CONFIG_LOGIRUMBLEPAD2_FF is not set 1113# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1152,11 +1169,11 @@ CONFIG_USB_PRINTER=m
1152# CONFIG_USB_TMC is not set 1169# CONFIG_USB_TMC is not set
1153 1170
1154# 1171#
1155# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1172# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1156# 1173#
1157 1174
1158# 1175#
1159# see USB_STORAGE Help for more information 1176# also be needed; see USB_STORAGE Help for more info
1160# 1177#
1161CONFIG_USB_STORAGE=y 1178CONFIG_USB_STORAGE=y
1162# CONFIG_USB_STORAGE_DEBUG is not set 1179# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1198,7 +1215,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1198# CONFIG_USB_LED is not set 1215# CONFIG_USB_LED is not set
1199# CONFIG_USB_CYPRESS_CY7C63 is not set 1216# CONFIG_USB_CYPRESS_CY7C63 is not set
1200# CONFIG_USB_CYTHERM is not set 1217# CONFIG_USB_CYTHERM is not set
1201# CONFIG_USB_PHIDGET is not set
1202# CONFIG_USB_IDMOUSE is not set 1218# CONFIG_USB_IDMOUSE is not set
1203# CONFIG_USB_FTDI_ELAN is not set 1219# CONFIG_USB_FTDI_ELAN is not set
1204# CONFIG_USB_APPLEDISPLAY is not set 1220# CONFIG_USB_APPLEDISPLAY is not set
@@ -1215,6 +1231,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1215# OTG and related infrastructure 1231# OTG and related infrastructure
1216# 1232#
1217# CONFIG_USB_GPIO_VBUS is not set 1233# CONFIG_USB_GPIO_VBUS is not set
1234# CONFIG_NOP_USB_XCEIV is not set
1218# CONFIG_UWB is not set 1235# CONFIG_UWB is not set
1219CONFIG_MMC=y 1236CONFIG_MMC=y
1220# CONFIG_MMC_DEBUG is not set 1237# CONFIG_MMC_DEBUG is not set
@@ -1245,7 +1262,11 @@ CONFIG_LEDS_CLASS=y
1245# 1262#
1246# CONFIG_LEDS_PCA9532 is not set 1263# CONFIG_LEDS_PCA9532 is not set
1247CONFIG_LEDS_GPIO=y 1264CONFIG_LEDS_GPIO=y
1265CONFIG_LEDS_GPIO_PLATFORM=y
1266# CONFIG_LEDS_LP5521 is not set
1248# CONFIG_LEDS_PCA955X is not set 1267# CONFIG_LEDS_PCA955X is not set
1268# CONFIG_LEDS_DAC124S085 is not set
1269# CONFIG_LEDS_BD2802 is not set
1249 1270
1250# 1271#
1251# LED Triggers 1272# LED Triggers
@@ -1255,6 +1276,10 @@ CONFIG_LEDS_TRIGGER_TIMER=y
1255CONFIG_LEDS_TRIGGER_HEARTBEAT=y 1276CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1256# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set 1277# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1257CONFIG_LEDS_TRIGGER_DEFAULT_ON=y 1278CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1279
1280#
1281# iptables trigger is under Netfilter config (LED target)
1282#
1258CONFIG_RTC_LIB=y 1283CONFIG_RTC_LIB=y
1259CONFIG_RTC_CLASS=y 1284CONFIG_RTC_CLASS=y
1260CONFIG_RTC_HCTOSYS=y 1285CONFIG_RTC_HCTOSYS=y
@@ -1329,7 +1354,9 @@ CONFIG_DMA_ENGINE=y
1329# DMA Clients 1354# DMA Clients
1330# 1355#
1331# CONFIG_NET_DMA is not set 1356# CONFIG_NET_DMA is not set
1357# CONFIG_ASYNC_TX_DMA is not set
1332# CONFIG_DMATEST is not set 1358# CONFIG_DMATEST is not set
1359# CONFIG_AUXDISPLAY is not set
1333# CONFIG_REGULATOR is not set 1360# CONFIG_REGULATOR is not set
1334# CONFIG_UIO is not set 1361# CONFIG_UIO is not set
1335# CONFIG_STAGING is not set 1362# CONFIG_STAGING is not set
@@ -1341,6 +1368,7 @@ CONFIG_EXT2_FS=y
1341# CONFIG_EXT2_FS_XATTR is not set 1368# CONFIG_EXT2_FS_XATTR is not set
1342# CONFIG_EXT2_FS_XIP is not set 1369# CONFIG_EXT2_FS_XIP is not set
1343CONFIG_EXT3_FS=y 1370CONFIG_EXT3_FS=y
1371# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1344# CONFIG_EXT3_FS_XATTR is not set 1372# CONFIG_EXT3_FS_XATTR is not set
1345# CONFIG_EXT4_FS is not set 1373# CONFIG_EXT4_FS is not set
1346CONFIG_JBD=y 1374CONFIG_JBD=y
@@ -1361,6 +1389,11 @@ CONFIG_INOTIFY_USER=y
1361# CONFIG_FUSE_FS is not set 1389# CONFIG_FUSE_FS is not set
1362 1390
1363# 1391#
1392# Caches
1393#
1394# CONFIG_FSCACHE is not set
1395
1396#
1364# CD-ROM/DVD Filesystems 1397# CD-ROM/DVD Filesystems
1365# 1398#
1366CONFIG_ISO9660_FS=m 1399CONFIG_ISO9660_FS=m
@@ -1419,6 +1452,7 @@ CONFIG_CRAMFS=y
1419# CONFIG_ROMFS_FS is not set 1452# CONFIG_ROMFS_FS is not set
1420# CONFIG_SYSV_FS is not set 1453# CONFIG_SYSV_FS is not set
1421# CONFIG_UFS_FS is not set 1454# CONFIG_UFS_FS is not set
1455# CONFIG_NILFS2_FS is not set
1422CONFIG_NETWORK_FILESYSTEMS=y 1456CONFIG_NETWORK_FILESYSTEMS=y
1423CONFIG_NFS_FS=y 1457CONFIG_NFS_FS=y
1424CONFIG_NFS_V3=y 1458CONFIG_NFS_V3=y
@@ -1430,7 +1464,6 @@ CONFIG_LOCKD=y
1430CONFIG_LOCKD_V4=y 1464CONFIG_LOCKD_V4=y
1431CONFIG_NFS_COMMON=y 1465CONFIG_NFS_COMMON=y
1432CONFIG_SUNRPC=y 1466CONFIG_SUNRPC=y
1433# CONFIG_SUNRPC_REGISTER_V4 is not set
1434# CONFIG_RPCSEC_GSS_KRB5 is not set 1467# CONFIG_RPCSEC_GSS_KRB5 is not set
1435# CONFIG_RPCSEC_GSS_SPKM3 is not set 1468# CONFIG_RPCSEC_GSS_SPKM3 is not set
1436# CONFIG_SMB_FS is not set 1469# CONFIG_SMB_FS is not set
@@ -1502,6 +1535,9 @@ CONFIG_DEBUG_KERNEL=y
1502CONFIG_DETECT_SOFTLOCKUP=y 1535CONFIG_DETECT_SOFTLOCKUP=y
1503# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1536# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1504CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1537CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1538CONFIG_DETECT_HUNG_TASK=y
1539# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1540CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1505# CONFIG_SCHED_DEBUG is not set 1541# CONFIG_SCHED_DEBUG is not set
1506# CONFIG_SCHEDSTATS is not set 1542# CONFIG_SCHEDSTATS is not set
1507# CONFIG_TIMER_STATS is not set 1543# CONFIG_TIMER_STATS is not set
@@ -1538,10 +1574,12 @@ CONFIG_DEBUG_MEMORY_INIT=y
1538# CONFIG_FAULT_INJECTION is not set 1574# CONFIG_FAULT_INJECTION is not set
1539# CONFIG_LATENCYTOP is not set 1575# CONFIG_LATENCYTOP is not set
1540CONFIG_SYSCTL_SYSCALL_CHECK=y 1576CONFIG_SYSCTL_SYSCALL_CHECK=y
1577# CONFIG_PAGE_POISONING is not set
1541CONFIG_NOP_TRACER=y 1578CONFIG_NOP_TRACER=y
1542CONFIG_HAVE_FUNCTION_TRACER=y 1579CONFIG_HAVE_FUNCTION_TRACER=y
1543CONFIG_RING_BUFFER=y 1580CONFIG_RING_BUFFER=y
1544CONFIG_TRACING=y 1581CONFIG_TRACING=y
1582CONFIG_TRACING_SUPPORT=y
1545 1583
1546# 1584#
1547# Tracers 1585# Tracers
@@ -1551,11 +1589,15 @@ CONFIG_TRACING=y
1551# CONFIG_PREEMPT_TRACER is not set 1589# CONFIG_PREEMPT_TRACER is not set
1552# CONFIG_SCHED_TRACER is not set 1590# CONFIG_SCHED_TRACER is not set
1553# CONFIG_CONTEXT_SWITCH_TRACER is not set 1591# CONFIG_CONTEXT_SWITCH_TRACER is not set
1592# CONFIG_EVENT_TRACER is not set
1554# CONFIG_BOOT_TRACER is not set 1593# CONFIG_BOOT_TRACER is not set
1555# CONFIG_TRACE_BRANCH_PROFILING is not set 1594# CONFIG_TRACE_BRANCH_PROFILING is not set
1556# CONFIG_STACK_TRACER is not set 1595# CONFIG_STACK_TRACER is not set
1596# CONFIG_KMEMTRACE is not set
1597# CONFIG_WORKQUEUE_TRACER is not set
1598# CONFIG_BLK_DEV_IO_TRACE is not set
1557# CONFIG_FTRACE_STARTUP_TEST is not set 1599# CONFIG_FTRACE_STARTUP_TEST is not set
1558# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1600# CONFIG_DYNAMIC_DEBUG is not set
1559# CONFIG_SAMPLES is not set 1601# CONFIG_SAMPLES is not set
1560CONFIG_HAVE_ARCH_KGDB=y 1602CONFIG_HAVE_ARCH_KGDB=y
1561# CONFIG_KGDB is not set 1603# CONFIG_KGDB is not set
@@ -1587,10 +1629,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1587CONFIG_CRYPTO_HASH=y 1629CONFIG_CRYPTO_HASH=y
1588CONFIG_CRYPTO_HASH2=y 1630CONFIG_CRYPTO_HASH2=y
1589CONFIG_CRYPTO_RNG2=y 1631CONFIG_CRYPTO_RNG2=y
1632CONFIG_CRYPTO_PCOMP=y
1590CONFIG_CRYPTO_MANAGER=y 1633CONFIG_CRYPTO_MANAGER=y
1591CONFIG_CRYPTO_MANAGER2=y 1634CONFIG_CRYPTO_MANAGER2=y
1592# CONFIG_CRYPTO_GF128MUL is not set 1635# CONFIG_CRYPTO_GF128MUL is not set
1593# CONFIG_CRYPTO_NULL is not set 1636# CONFIG_CRYPTO_NULL is not set
1637CONFIG_CRYPTO_WORKQUEUE=y
1594# CONFIG_CRYPTO_CRYPTD is not set 1638# CONFIG_CRYPTO_CRYPTD is not set
1595# CONFIG_CRYPTO_AUTHENC is not set 1639# CONFIG_CRYPTO_AUTHENC is not set
1596# CONFIG_CRYPTO_TEST is not set 1640# CONFIG_CRYPTO_TEST is not set
@@ -1659,6 +1703,7 @@ CONFIG_CRYPTO_ARC4=y
1659# Compression 1703# Compression
1660# 1704#
1661# CONFIG_CRYPTO_DEFLATE is not set 1705# CONFIG_CRYPTO_DEFLATE is not set
1706# CONFIG_CRYPTO_ZLIB is not set
1662# CONFIG_CRYPTO_LZO is not set 1707# CONFIG_CRYPTO_LZO is not set
1663 1708
1664# 1709#
@@ -1667,6 +1712,7 @@ CONFIG_CRYPTO_ARC4=y
1667# CONFIG_CRYPTO_ANSI_CPRNG is not set 1712# CONFIG_CRYPTO_ANSI_CPRNG is not set
1668CONFIG_CRYPTO_HW=y 1713CONFIG_CRYPTO_HW=y
1669# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1714# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1715CONFIG_BINARY_PRINTF=y
1670 1716
1671# 1717#
1672# Library routines 1718# Library routines
@@ -1682,7 +1728,7 @@ CONFIG_CRC32=y
1682CONFIG_LIBCRC32C=y 1728CONFIG_LIBCRC32C=y
1683CONFIG_ZLIB_INFLATE=y 1729CONFIG_ZLIB_INFLATE=y
1684CONFIG_ZLIB_DEFLATE=y 1730CONFIG_ZLIB_DEFLATE=y
1685CONFIG_PLIST=y
1686CONFIG_HAS_IOMEM=y 1731CONFIG_HAS_IOMEM=y
1687CONFIG_HAS_IOPORT=y 1732CONFIG_HAS_IOPORT=y
1688CONFIG_HAS_DMA=y 1733CONFIG_HAS_DMA=y
1734CONFIG_NLATTR=y
diff --git a/arch/arm/configs/mv78xx0_defconfig b/arch/arm/configs/mv78xx0_defconfig
index b0698722e0cb..398274b0771a 100644
--- a/arch/arm/configs/mv78xx0_defconfig
+++ b/arch/arm/configs/mv78xx0_defconfig
@@ -1,11 +1,11 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.30-rc4
4# Fri Jun 13 02:57:32 2008 4# Mon May 4 14:22:12 2009
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8# CONFIG_GENERIC_GPIO is not set 8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y 9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y 10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y 11CONFIG_MMU=y
@@ -22,8 +22,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set 22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_GENERIC_HWEIGHT=y 23CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y 24CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_ARCH_SUPPORTS_AOUT=y 25CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
26CONFIG_ZONE_DMA=y
27CONFIG_VECTORS_BASE=0xffff0000 26CONFIG_VECTORS_BASE=0xffff0000
28CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
29 28
@@ -43,10 +42,19 @@ CONFIG_SYSVIPC_SYSCTL=y
43# CONFIG_BSD_PROCESS_ACCT is not set 42# CONFIG_BSD_PROCESS_ACCT is not set
44# CONFIG_TASKSTATS is not set 43# CONFIG_TASKSTATS is not set
45# CONFIG_AUDIT is not set 44# CONFIG_AUDIT is not set
45
46#
47# RCU Subsystem
48#
49CONFIG_CLASSIC_RCU=y
50# CONFIG_TREE_RCU is not set
51# CONFIG_PREEMPT_RCU is not set
52# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_PREEMPT_RCU_TRACE is not set
46# CONFIG_IKCONFIG is not set 54# CONFIG_IKCONFIG is not set
47CONFIG_LOG_BUF_SHIFT=14 55CONFIG_LOG_BUF_SHIFT=14
48# CONFIG_CGROUPS is not set
49# CONFIG_GROUP_SCHED is not set 56# CONFIG_GROUP_SCHED is not set
57# CONFIG_CGROUPS is not set
50CONFIG_SYSFS_DEPRECATED=y 58CONFIG_SYSFS_DEPRECATED=y
51CONFIG_SYSFS_DEPRECATED_V2=y 59CONFIG_SYSFS_DEPRECATED_V2=y
52# CONFIG_RELAY is not set 60# CONFIG_RELAY is not set
@@ -54,32 +62,35 @@ CONFIG_SYSFS_DEPRECATED_V2=y
54# CONFIG_BLK_DEV_INITRD is not set 62# CONFIG_BLK_DEV_INITRD is not set
55CONFIG_CC_OPTIMIZE_FOR_SIZE=y 63CONFIG_CC_OPTIMIZE_FOR_SIZE=y
56CONFIG_SYSCTL=y 64CONFIG_SYSCTL=y
65CONFIG_ANON_INODES=y
57CONFIG_EMBEDDED=y 66CONFIG_EMBEDDED=y
58CONFIG_UID16=y 67CONFIG_UID16=y
59CONFIG_SYSCTL_SYSCALL=y 68CONFIG_SYSCTL_SYSCALL=y
60CONFIG_SYSCTL_SYSCALL_CHECK=y
61CONFIG_KALLSYMS=y 69CONFIG_KALLSYMS=y
62CONFIG_KALLSYMS_ALL=y 70CONFIG_KALLSYMS_ALL=y
63# CONFIG_KALLSYMS_EXTRA_PASS is not set 71# CONFIG_KALLSYMS_EXTRA_PASS is not set
72# CONFIG_STRIP_ASM_SYMS is not set
64CONFIG_HOTPLUG=y 73CONFIG_HOTPLUG=y
65CONFIG_PRINTK=y 74CONFIG_PRINTK=y
66CONFIG_BUG=y 75CONFIG_BUG=y
67CONFIG_ELF_CORE=y 76CONFIG_ELF_CORE=y
68CONFIG_COMPAT_BRK=y
69CONFIG_BASE_FULL=y 77CONFIG_BASE_FULL=y
70CONFIG_FUTEX=y 78CONFIG_FUTEX=y
71CONFIG_ANON_INODES=y
72CONFIG_EPOLL=y 79CONFIG_EPOLL=y
73CONFIG_SIGNALFD=y 80CONFIG_SIGNALFD=y
74CONFIG_TIMERFD=y 81CONFIG_TIMERFD=y
75CONFIG_EVENTFD=y 82CONFIG_EVENTFD=y
76CONFIG_SHMEM=y 83CONFIG_SHMEM=y
84CONFIG_AIO=y
77CONFIG_VM_EVENT_COUNTERS=y 85CONFIG_VM_EVENT_COUNTERS=y
86CONFIG_PCI_QUIRKS=y
78# CONFIG_SLUB_DEBUG is not set 87# CONFIG_SLUB_DEBUG is not set
88CONFIG_COMPAT_BRK=y
79# CONFIG_SLAB is not set 89# CONFIG_SLAB is not set
80CONFIG_SLUB=y 90CONFIG_SLUB=y
81# CONFIG_SLOB is not set 91# CONFIG_SLOB is not set
82CONFIG_PROFILING=y 92CONFIG_PROFILING=y
93CONFIG_TRACEPOINTS=y
83# CONFIG_MARKERS is not set 94# CONFIG_MARKERS is not set
84CONFIG_OPROFILE=y 95CONFIG_OPROFILE=y
85CONFIG_HAVE_OPROFILE=y 96CONFIG_HAVE_OPROFILE=y
@@ -87,10 +98,9 @@ CONFIG_KPROBES=y
87CONFIG_KRETPROBES=y 98CONFIG_KRETPROBES=y
88CONFIG_HAVE_KPROBES=y 99CONFIG_HAVE_KPROBES=y
89CONFIG_HAVE_KRETPROBES=y 100CONFIG_HAVE_KRETPROBES=y
90# CONFIG_HAVE_DMA_ATTRS is not set 101# CONFIG_SLOW_WORK is not set
91CONFIG_PROC_PAGE_MONITOR=y 102CONFIG_HAVE_GENERIC_DMA_COHERENT=y
92CONFIG_RT_MUTEXES=y 103CONFIG_RT_MUTEXES=y
93# CONFIG_TINY_SHMEM is not set
94CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
95CONFIG_MODULES=y 105CONFIG_MODULES=y
96# CONFIG_MODULE_FORCE_LOAD is not set 106# CONFIG_MODULE_FORCE_LOAD is not set
@@ -98,12 +108,10 @@ CONFIG_MODULE_UNLOAD=y
98# CONFIG_MODULE_FORCE_UNLOAD is not set 108# CONFIG_MODULE_FORCE_UNLOAD is not set
99# CONFIG_MODVERSIONS is not set 109# CONFIG_MODVERSIONS is not set
100# CONFIG_MODULE_SRCVERSION_ALL is not set 110# CONFIG_MODULE_SRCVERSION_ALL is not set
101# CONFIG_KMOD is not set
102CONFIG_BLOCK=y 111CONFIG_BLOCK=y
103# CONFIG_LBD is not set 112# CONFIG_LBD is not set
104# CONFIG_BLK_DEV_IO_TRACE is not set
105# CONFIG_LSF is not set
106# CONFIG_BLK_DEV_BSG is not set 113# CONFIG_BLK_DEV_BSG is not set
114# CONFIG_BLK_DEV_INTEGRITY is not set
107 115
108# 116#
109# IO Schedulers 117# IO Schedulers
@@ -117,7 +125,7 @@ CONFIG_IOSCHED_CFQ=y
117CONFIG_DEFAULT_CFQ=y 125CONFIG_DEFAULT_CFQ=y
118# CONFIG_DEFAULT_NOOP is not set 126# CONFIG_DEFAULT_NOOP is not set
119CONFIG_DEFAULT_IOSCHED="cfq" 127CONFIG_DEFAULT_IOSCHED="cfq"
120CONFIG_CLASSIC_RCU=y 128# CONFIG_FREEZER is not set
121 129
122# 130#
123# System Type 131# System Type
@@ -127,11 +135,10 @@ CONFIG_CLASSIC_RCU=y
127# CONFIG_ARCH_REALVIEW is not set 135# CONFIG_ARCH_REALVIEW is not set
128# CONFIG_ARCH_VERSATILE is not set 136# CONFIG_ARCH_VERSATILE is not set
129# CONFIG_ARCH_AT91 is not set 137# CONFIG_ARCH_AT91 is not set
130# CONFIG_ARCH_CLPS7500 is not set
131# CONFIG_ARCH_CLPS711X is not set 138# CONFIG_ARCH_CLPS711X is not set
132# CONFIG_ARCH_CO285 is not set
133# CONFIG_ARCH_EBSA110 is not set 139# CONFIG_ARCH_EBSA110 is not set
134# CONFIG_ARCH_EP93XX is not set 140# CONFIG_ARCH_EP93XX is not set
141# CONFIG_ARCH_GEMINI is not set
135# CONFIG_ARCH_FOOTBRIDGE is not set 142# CONFIG_ARCH_FOOTBRIDGE is not set
136# CONFIG_ARCH_NETX is not set 143# CONFIG_ARCH_NETX is not set
137# CONFIG_ARCH_H720X is not set 144# CONFIG_ARCH_H720X is not set
@@ -152,28 +159,23 @@ CONFIG_ARCH_MV78XX0=y
152# CONFIG_ARCH_ORION5X is not set 159# CONFIG_ARCH_ORION5X is not set
153# CONFIG_ARCH_PNX4008 is not set 160# CONFIG_ARCH_PNX4008 is not set
154# CONFIG_ARCH_PXA is not set 161# CONFIG_ARCH_PXA is not set
162# CONFIG_ARCH_MMP is not set
155# CONFIG_ARCH_RPC is not set 163# CONFIG_ARCH_RPC is not set
156# CONFIG_ARCH_SA1100 is not set 164# CONFIG_ARCH_SA1100 is not set
157# CONFIG_ARCH_S3C2410 is not set 165# CONFIG_ARCH_S3C2410 is not set
166# CONFIG_ARCH_S3C64XX is not set
158# CONFIG_ARCH_SHARK is not set 167# CONFIG_ARCH_SHARK is not set
159# CONFIG_ARCH_LH7A40X is not set 168# CONFIG_ARCH_LH7A40X is not set
160# CONFIG_ARCH_DAVINCI is not set 169# CONFIG_ARCH_DAVINCI is not set
161# CONFIG_ARCH_OMAP is not set 170# CONFIG_ARCH_OMAP is not set
162# CONFIG_ARCH_MSM7X00A is not set 171# CONFIG_ARCH_MSM is not set
172# CONFIG_ARCH_W90X900 is not set
163 173
164# 174#
165# Marvell MV78xx0 Implementations 175# Marvell MV78xx0 Implementations
166# 176#
167CONFIG_MACH_DB78X00_BP=y 177CONFIG_MACH_DB78X00_BP=y
168CONFIG_MACH_RD78X00_MASA=y 178CONFIG_MACH_RD78X00_MASA=y
169
170#
171# Boot options
172#
173
174#
175# Power management
176#
177CONFIG_PLAT_ORION=y 179CONFIG_PLAT_ORION=y
178 180
179# 181#
@@ -199,6 +201,7 @@ CONFIG_ARM_THUMB=y
199# CONFIG_CPU_DCACHE_DISABLE is not set 201# CONFIG_CPU_DCACHE_DISABLE is not set
200CONFIG_OUTER_CACHE=y 202CONFIG_OUTER_CACHE=y
201CONFIG_CACHE_FEROCEON_L2=y 203CONFIG_CACHE_FEROCEON_L2=y
204# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
202 205
203# 206#
204# Bus support 207# Bus support
@@ -208,6 +211,8 @@ CONFIG_PCI_SYSCALL=y
208# CONFIG_ARCH_SUPPORTS_MSI is not set 211# CONFIG_ARCH_SUPPORTS_MSI is not set
209CONFIG_PCI_LEGACY=y 212CONFIG_PCI_LEGACY=y
210# CONFIG_PCI_DEBUG is not set 213# CONFIG_PCI_DEBUG is not set
214# CONFIG_PCI_STUB is not set
215# CONFIG_PCI_IOV is not set
211# CONFIG_PCCARD is not set 216# CONFIG_PCCARD is not set
212 217
213# 218#
@@ -217,25 +222,33 @@ CONFIG_TICK_ONESHOT=y
217CONFIG_NO_HZ=y 222CONFIG_NO_HZ=y
218CONFIG_HIGH_RES_TIMERS=y 223CONFIG_HIGH_RES_TIMERS=y
219CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 224CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
225CONFIG_VMSPLIT_3G=y
226# CONFIG_VMSPLIT_2G is not set
227# CONFIG_VMSPLIT_1G is not set
228CONFIG_PAGE_OFFSET=0xC0000000
220CONFIG_PREEMPT=y 229CONFIG_PREEMPT=y
221CONFIG_HZ=100 230CONFIG_HZ=100
222CONFIG_AEABI=y 231CONFIG_AEABI=y
223CONFIG_OABI_COMPAT=y 232CONFIG_OABI_COMPAT=y
224# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set 233CONFIG_ARCH_FLATMEM_HAS_HOLES=y
234# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
235# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
236CONFIG_HIGHMEM=y
225CONFIG_SELECT_MEMORY_MODEL=y 237CONFIG_SELECT_MEMORY_MODEL=y
226CONFIG_FLATMEM_MANUAL=y 238CONFIG_FLATMEM_MANUAL=y
227# CONFIG_DISCONTIGMEM_MANUAL is not set 239# CONFIG_DISCONTIGMEM_MANUAL is not set
228# CONFIG_SPARSEMEM_MANUAL is not set 240# CONFIG_SPARSEMEM_MANUAL is not set
229CONFIG_FLATMEM=y 241CONFIG_FLATMEM=y
230CONFIG_FLAT_NODE_MEM_MAP=y 242CONFIG_FLAT_NODE_MEM_MAP=y
231# CONFIG_SPARSEMEM_STATIC is not set
232# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
233CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
234CONFIG_SPLIT_PTLOCK_CPUS=4096 244CONFIG_SPLIT_PTLOCK_CPUS=4096
235# CONFIG_RESOURCES_64BIT is not set 245# CONFIG_PHYS_ADDR_T_64BIT is not set
236CONFIG_ZONE_DMA_FLAG=1 246CONFIG_ZONE_DMA_FLAG=0
237CONFIG_BOUNCE=y 247CONFIG_BOUNCE=y
238CONFIG_VIRT_TO_BUS=y 248CONFIG_VIRT_TO_BUS=y
249CONFIG_UNEVICTABLE_LRU=y
250CONFIG_HAVE_MLOCK=y
251CONFIG_HAVE_MLOCKED_PAGE_BIT=y
239CONFIG_ALIGNMENT_TRAP=y 252CONFIG_ALIGNMENT_TRAP=y
240 253
241# 254#
@@ -248,6 +261,11 @@ CONFIG_CMDLINE=""
248# CONFIG_KEXEC is not set 261# CONFIG_KEXEC is not set
249 262
250# 263#
264# CPU Power Management
265#
266# CONFIG_CPU_IDLE is not set
267
268#
251# Floating point emulation 269# Floating point emulation
252# 270#
253 271
@@ -263,6 +281,8 @@ CONFIG_VFP=y
263# Userspace binary formats 281# Userspace binary formats
264# 282#
265CONFIG_BINFMT_ELF=y 283CONFIG_BINFMT_ELF=y
284# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
285CONFIG_HAVE_AOUT=y
266# CONFIG_BINFMT_AOUT is not set 286# CONFIG_BINFMT_AOUT is not set
267# CONFIG_BINFMT_MISC is not set 287# CONFIG_BINFMT_MISC is not set
268 288
@@ -271,10 +291,6 @@ CONFIG_BINFMT_ELF=y
271# 291#
272# CONFIG_PM is not set 292# CONFIG_PM is not set
273CONFIG_ARCH_SUSPEND_POSSIBLE=y 293CONFIG_ARCH_SUSPEND_POSSIBLE=y
274
275#
276# Networking
277#
278CONFIG_NET=y 294CONFIG_NET=y
279 295
280# 296#
@@ -310,7 +326,7 @@ CONFIG_IP_PNP_BOOTP=y
310CONFIG_INET_XFRM_MODE_TRANSPORT=y 326CONFIG_INET_XFRM_MODE_TRANSPORT=y
311CONFIG_INET_XFRM_MODE_TUNNEL=y 327CONFIG_INET_XFRM_MODE_TUNNEL=y
312CONFIG_INET_XFRM_MODE_BEET=y 328CONFIG_INET_XFRM_MODE_BEET=y
313# CONFIG_INET_LRO is not set 329CONFIG_INET_LRO=y
314CONFIG_INET_DIAG=y 330CONFIG_INET_DIAG=y
315CONFIG_INET_TCP_DIAG=y 331CONFIG_INET_TCP_DIAG=y
316# CONFIG_TCP_CONG_ADVANCED is not set 332# CONFIG_TCP_CONG_ADVANCED is not set
@@ -325,6 +341,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
325# CONFIG_TIPC is not set 341# CONFIG_TIPC is not set
326# CONFIG_ATM is not set 342# CONFIG_ATM is not set
327# CONFIG_BRIDGE is not set 343# CONFIG_BRIDGE is not set
344# CONFIG_NET_DSA is not set
328# CONFIG_VLAN_8021Q is not set 345# CONFIG_VLAN_8021Q is not set
329# CONFIG_DECNET is not set 346# CONFIG_DECNET is not set
330# CONFIG_LLC2 is not set 347# CONFIG_LLC2 is not set
@@ -334,26 +351,23 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
334# CONFIG_LAPB is not set 351# CONFIG_LAPB is not set
335# CONFIG_ECONET is not set 352# CONFIG_ECONET is not set
336# CONFIG_WAN_ROUTER is not set 353# CONFIG_WAN_ROUTER is not set
354# CONFIG_PHONET is not set
337# CONFIG_NET_SCHED is not set 355# CONFIG_NET_SCHED is not set
356# CONFIG_DCB is not set
338 357
339# 358#
340# Network testing 359# Network testing
341# 360#
342CONFIG_NET_PKTGEN=m 361CONFIG_NET_PKTGEN=m
343# CONFIG_NET_TCPPROBE is not set 362# CONFIG_NET_TCPPROBE is not set
363# CONFIG_NET_DROP_MONITOR is not set
344# CONFIG_HAMRADIO is not set 364# CONFIG_HAMRADIO is not set
345# CONFIG_CAN is not set 365# CONFIG_CAN is not set
346# CONFIG_IRDA is not set 366# CONFIG_IRDA is not set
347# CONFIG_BT is not set 367# CONFIG_BT is not set
348# CONFIG_AF_RXRPC is not set 368# CONFIG_AF_RXRPC is not set
349 369# CONFIG_WIRELESS is not set
350# 370# CONFIG_WIMAX is not set
351# Wireless
352#
353# CONFIG_CFG80211 is not set
354CONFIG_WIRELESS_EXT=y
355# CONFIG_MAC80211 is not set
356# CONFIG_IEEE80211 is not set
357# CONFIG_RFKILL is not set 371# CONFIG_RFKILL is not set
358# CONFIG_NET_9P is not set 372# CONFIG_NET_9P is not set
359 373
@@ -368,6 +382,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
368CONFIG_STANDALONE=y 382CONFIG_STANDALONE=y
369CONFIG_PREVENT_FIRMWARE_BUILD=y 383CONFIG_PREVENT_FIRMWARE_BUILD=y
370CONFIG_FW_LOADER=y 384CONFIG_FW_LOADER=y
385# CONFIG_FIRMWARE_IN_KERNEL is not set
386CONFIG_EXTRA_FIRMWARE=""
371# CONFIG_DEBUG_DRIVER is not set 387# CONFIG_DEBUG_DRIVER is not set
372# CONFIG_DEBUG_DEVRES is not set 388# CONFIG_DEBUG_DEVRES is not set
373# CONFIG_SYS_HYPERVISOR is not set 389# CONFIG_SYS_HYPERVISOR is not set
@@ -376,6 +392,7 @@ CONFIG_MTD=y
376# CONFIG_MTD_DEBUG is not set 392# CONFIG_MTD_DEBUG is not set
377# CONFIG_MTD_CONCAT is not set 393# CONFIG_MTD_CONCAT is not set
378CONFIG_MTD_PARTITIONS=y 394CONFIG_MTD_PARTITIONS=y
395# CONFIG_MTD_TESTS is not set
379# CONFIG_MTD_REDBOOT_PARTS is not set 396# CONFIG_MTD_REDBOOT_PARTS is not set
380CONFIG_MTD_CMDLINE_PARTS=y 397CONFIG_MTD_CMDLINE_PARTS=y
381# CONFIG_MTD_AFS_PARTS is not set 398# CONFIG_MTD_AFS_PARTS is not set
@@ -429,9 +446,7 @@ CONFIG_MTD_CFI_UTIL=y
429# 446#
430# CONFIG_MTD_COMPLEX_MAPPINGS is not set 447# CONFIG_MTD_COMPLEX_MAPPINGS is not set
431CONFIG_MTD_PHYSMAP=y 448CONFIG_MTD_PHYSMAP=y
432CONFIG_MTD_PHYSMAP_START=0x0 449# CONFIG_MTD_PHYSMAP_COMPAT is not set
433CONFIG_MTD_PHYSMAP_LEN=0x0
434CONFIG_MTD_PHYSMAP_BANKWIDTH=0
435# CONFIG_MTD_ARM_INTEGRATOR is not set 450# CONFIG_MTD_ARM_INTEGRATOR is not set
436# CONFIG_MTD_IMPA7 is not set 451# CONFIG_MTD_IMPA7 is not set
437# CONFIG_MTD_INTEL_VR_NOR is not set 452# CONFIG_MTD_INTEL_VR_NOR is not set
@@ -456,6 +471,7 @@ CONFIG_MTD_NAND=y
456CONFIG_MTD_NAND_VERIFY_WRITE=y 471CONFIG_MTD_NAND_VERIFY_WRITE=y
457# CONFIG_MTD_NAND_ECC_SMC is not set 472# CONFIG_MTD_NAND_ECC_SMC is not set
458# CONFIG_MTD_NAND_MUSEUM_IDS is not set 473# CONFIG_MTD_NAND_MUSEUM_IDS is not set
474# CONFIG_MTD_NAND_GPIO is not set
459CONFIG_MTD_NAND_IDS=y 475CONFIG_MTD_NAND_IDS=y
460# CONFIG_MTD_NAND_DISKONCHIP is not set 476# CONFIG_MTD_NAND_DISKONCHIP is not set
461# CONFIG_MTD_NAND_CAFE is not set 477# CONFIG_MTD_NAND_CAFE is not set
@@ -466,6 +482,11 @@ CONFIG_MTD_NAND_ORION=y
466# CONFIG_MTD_ONENAND is not set 482# CONFIG_MTD_ONENAND is not set
467 483
468# 484#
485# LPDDR flash memory drivers
486#
487# CONFIG_MTD_LPDDR is not set
488
489#
469# UBI - Unsorted block images 490# UBI - Unsorted block images
470# 491#
471# CONFIG_MTD_UBI is not set 492# CONFIG_MTD_UBI is not set
@@ -486,10 +507,20 @@ CONFIG_BLK_DEV_LOOP=y
486# CONFIG_ATA_OVER_ETH is not set 507# CONFIG_ATA_OVER_ETH is not set
487CONFIG_MISC_DEVICES=y 508CONFIG_MISC_DEVICES=y
488# CONFIG_PHANTOM is not set 509# CONFIG_PHANTOM is not set
489# CONFIG_EEPROM_93CX6 is not set
490# CONFIG_SGI_IOC4 is not set 510# CONFIG_SGI_IOC4 is not set
491# CONFIG_TIFM_CORE is not set 511# CONFIG_TIFM_CORE is not set
512# CONFIG_ICS932S401 is not set
492# CONFIG_ENCLOSURE_SERVICES is not set 513# CONFIG_ENCLOSURE_SERVICES is not set
514# CONFIG_HP_ILO is not set
515# CONFIG_ISL29003 is not set
516# CONFIG_C2PORT is not set
517
518#
519# EEPROM support
520#
521# CONFIG_EEPROM_AT24 is not set
522# CONFIG_EEPROM_LEGACY is not set
523# CONFIG_EEPROM_93CX6 is not set
493CONFIG_HAVE_IDE=y 524CONFIG_HAVE_IDE=y
494# CONFIG_IDE is not set 525# CONFIG_IDE is not set
495 526
@@ -547,7 +578,11 @@ CONFIG_SCSI_LOWLEVEL=y
547# CONFIG_MEGARAID_NEWGEN is not set 578# CONFIG_MEGARAID_NEWGEN is not set
548# CONFIG_MEGARAID_LEGACY is not set 579# CONFIG_MEGARAID_LEGACY is not set
549# CONFIG_MEGARAID_SAS is not set 580# CONFIG_MEGARAID_SAS is not set
581# CONFIG_SCSI_MPT2SAS is not set
550# CONFIG_SCSI_HPTIOP is not set 582# CONFIG_SCSI_HPTIOP is not set
583# CONFIG_LIBFC is not set
584# CONFIG_LIBFCOE is not set
585# CONFIG_FCOE is not set
551# CONFIG_SCSI_DMX3191D is not set 586# CONFIG_SCSI_DMX3191D is not set
552# CONFIG_SCSI_FUTURE_DOMAIN is not set 587# CONFIG_SCSI_FUTURE_DOMAIN is not set
553# CONFIG_SCSI_IPS is not set 588# CONFIG_SCSI_IPS is not set
@@ -566,6 +601,8 @@ CONFIG_SCSI_LOWLEVEL=y
566# CONFIG_SCSI_NSP32 is not set 601# CONFIG_SCSI_NSP32 is not set
567# CONFIG_SCSI_DEBUG is not set 602# CONFIG_SCSI_DEBUG is not set
568# CONFIG_SCSI_SRP is not set 603# CONFIG_SCSI_SRP is not set
604# CONFIG_SCSI_DH is not set
605# CONFIG_SCSI_OSD_INITIATOR is not set
569CONFIG_ATA=y 606CONFIG_ATA=y
570# CONFIG_ATA_NONSTANDARD is not set 607# CONFIG_ATA_NONSTANDARD is not set
571CONFIG_SATA_PMP=y 608CONFIG_SATA_PMP=y
@@ -632,11 +669,15 @@ CONFIG_SATA_MV=y
632# 669#
633# IEEE 1394 (FireWire) support 670# IEEE 1394 (FireWire) support
634# 671#
672
673#
674# Enable only one of the two stacks, unless you know what you are doing
675#
635# CONFIG_FIREWIRE is not set 676# CONFIG_FIREWIRE is not set
636# CONFIG_IEEE1394 is not set 677# CONFIG_IEEE1394 is not set
637# CONFIG_I2O is not set 678# CONFIG_I2O is not set
638CONFIG_NETDEVICES=y 679CONFIG_NETDEVICES=y
639# CONFIG_NETDEVICES_MULTIQUEUE is not set 680CONFIG_COMPAT_NET_DEV_OPS=y
640# CONFIG_DUMMY is not set 681# CONFIG_DUMMY is not set
641# CONFIG_BONDING is not set 682# CONFIG_BONDING is not set
642# CONFIG_MACVLAN is not set 683# CONFIG_MACVLAN is not set
@@ -644,7 +685,26 @@ CONFIG_NETDEVICES=y
644# CONFIG_TUN is not set 685# CONFIG_TUN is not set
645# CONFIG_VETH is not set 686# CONFIG_VETH is not set
646# CONFIG_ARCNET is not set 687# CONFIG_ARCNET is not set
647# CONFIG_PHYLIB is not set 688CONFIG_PHYLIB=y
689
690#
691# MII PHY device drivers
692#
693CONFIG_MARVELL_PHY=y
694# CONFIG_DAVICOM_PHY is not set
695# CONFIG_QSEMI_PHY is not set
696# CONFIG_LXT_PHY is not set
697# CONFIG_CICADA_PHY is not set
698# CONFIG_VITESSE_PHY is not set
699# CONFIG_SMSC_PHY is not set
700# CONFIG_BROADCOM_PHY is not set
701# CONFIG_ICPLUS_PHY is not set
702# CONFIG_REALTEK_PHY is not set
703# CONFIG_NATIONAL_PHY is not set
704# CONFIG_STE10XP is not set
705# CONFIG_LSI_ET1011C_PHY is not set
706# CONFIG_FIXED_PHY is not set
707# CONFIG_MDIO_BITBANG is not set
648CONFIG_NET_ETHERNET=y 708CONFIG_NET_ETHERNET=y
649CONFIG_MII=y 709CONFIG_MII=y
650# CONFIG_AX88796 is not set 710# CONFIG_AX88796 is not set
@@ -654,19 +714,25 @@ CONFIG_MII=y
654# CONFIG_NET_VENDOR_3COM is not set 714# CONFIG_NET_VENDOR_3COM is not set
655# CONFIG_SMC91X is not set 715# CONFIG_SMC91X is not set
656# CONFIG_DM9000 is not set 716# CONFIG_DM9000 is not set
717# CONFIG_ETHOC is not set
718# CONFIG_SMC911X is not set
719# CONFIG_SMSC911X is not set
720# CONFIG_DNET is not set
657# CONFIG_NET_TULIP is not set 721# CONFIG_NET_TULIP is not set
658# CONFIG_HP100 is not set 722# CONFIG_HP100 is not set
659# CONFIG_IBM_NEW_EMAC_ZMII is not set 723# CONFIG_IBM_NEW_EMAC_ZMII is not set
660# CONFIG_IBM_NEW_EMAC_RGMII is not set 724# CONFIG_IBM_NEW_EMAC_RGMII is not set
661# CONFIG_IBM_NEW_EMAC_TAH is not set 725# CONFIG_IBM_NEW_EMAC_TAH is not set
662# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 726# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
727# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
728# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
729# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
663CONFIG_NET_PCI=y 730CONFIG_NET_PCI=y
664# CONFIG_PCNET32 is not set 731# CONFIG_PCNET32 is not set
665# CONFIG_AMD8111_ETH is not set 732# CONFIG_AMD8111_ETH is not set
666# CONFIG_ADAPTEC_STARFIRE is not set 733# CONFIG_ADAPTEC_STARFIRE is not set
667# CONFIG_B44 is not set 734# CONFIG_B44 is not set
668# CONFIG_FORCEDETH is not set 735# CONFIG_FORCEDETH is not set
669# CONFIG_EEPRO100 is not set
670# CONFIG_E100 is not set 736# CONFIG_E100 is not set
671# CONFIG_FEALNX is not set 737# CONFIG_FEALNX is not set
672# CONFIG_NATSEMI is not set 738# CONFIG_NATSEMI is not set
@@ -676,18 +742,20 @@ CONFIG_NET_PCI=y
676# CONFIG_R6040 is not set 742# CONFIG_R6040 is not set
677# CONFIG_SIS900 is not set 743# CONFIG_SIS900 is not set
678# CONFIG_EPIC100 is not set 744# CONFIG_EPIC100 is not set
745# CONFIG_SMSC9420 is not set
679# CONFIG_SUNDANCE is not set 746# CONFIG_SUNDANCE is not set
680# CONFIG_TLAN is not set 747# CONFIG_TLAN is not set
681# CONFIG_VIA_RHINE is not set 748# CONFIG_VIA_RHINE is not set
682# CONFIG_SC92031 is not set 749# CONFIG_SC92031 is not set
750# CONFIG_ATL2 is not set
683CONFIG_NETDEV_1000=y 751CONFIG_NETDEV_1000=y
684# CONFIG_ACENIC is not set 752# CONFIG_ACENIC is not set
685# CONFIG_DL2K is not set 753# CONFIG_DL2K is not set
686# CONFIG_E1000 is not set 754# CONFIG_E1000 is not set
687# CONFIG_E1000E is not set 755# CONFIG_E1000E is not set
688# CONFIG_E1000E_ENABLED is not set
689# CONFIG_IP1000 is not set 756# CONFIG_IP1000 is not set
690# CONFIG_IGB is not set 757# CONFIG_IGB is not set
758# CONFIG_IGBVF is not set
691# CONFIG_NS83820 is not set 759# CONFIG_NS83820 is not set
692# CONFIG_HAMACHI is not set 760# CONFIG_HAMACHI is not set
693# CONFIG_YELLOWFIN is not set 761# CONFIG_YELLOWFIN is not set
@@ -701,6 +769,9 @@ CONFIG_NETDEV_1000=y
701CONFIG_MV643XX_ETH=y 769CONFIG_MV643XX_ETH=y
702# CONFIG_QLA3XXX is not set 770# CONFIG_QLA3XXX is not set
703# CONFIG_ATL1 is not set 771# CONFIG_ATL1 is not set
772# CONFIG_ATL1E is not set
773# CONFIG_ATL1C is not set
774# CONFIG_JME is not set
704# CONFIG_NETDEV_10000 is not set 775# CONFIG_NETDEV_10000 is not set
705# CONFIG_TR is not set 776# CONFIG_TR is not set
706 777
@@ -709,7 +780,10 @@ CONFIG_MV643XX_ETH=y
709# 780#
710# CONFIG_WLAN_PRE80211 is not set 781# CONFIG_WLAN_PRE80211 is not set
711# CONFIG_WLAN_80211 is not set 782# CONFIG_WLAN_80211 is not set
712# CONFIG_IWLWIFI_LEDS is not set 783
784#
785# Enable WiMAX (Networking options) to see the WiMAX drivers
786#
713 787
714# 788#
715# USB Network Adapters 789# USB Network Adapters
@@ -786,11 +860,11 @@ CONFIG_SERIAL_CORE=y
786CONFIG_SERIAL_CORE_CONSOLE=y 860CONFIG_SERIAL_CORE_CONSOLE=y
787# CONFIG_SERIAL_JSM is not set 861# CONFIG_SERIAL_JSM is not set
788CONFIG_UNIX98_PTYS=y 862CONFIG_UNIX98_PTYS=y
863# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
789CONFIG_LEGACY_PTYS=y 864CONFIG_LEGACY_PTYS=y
790CONFIG_LEGACY_PTY_COUNT=16 865CONFIG_LEGACY_PTY_COUNT=16
791# CONFIG_IPMI_HANDLER is not set 866# CONFIG_IPMI_HANDLER is not set
792# CONFIG_HW_RANDOM is not set 867# CONFIG_HW_RANDOM is not set
793# CONFIG_NVRAM is not set
794# CONFIG_R3964 is not set 868# CONFIG_R3964 is not set
795# CONFIG_APPLICOM is not set 869# CONFIG_APPLICOM is not set
796# CONFIG_RAW_DRIVER is not set 870# CONFIG_RAW_DRIVER is not set
@@ -799,44 +873,63 @@ CONFIG_DEVPORT=y
799CONFIG_I2C=y 873CONFIG_I2C=y
800CONFIG_I2C_BOARDINFO=y 874CONFIG_I2C_BOARDINFO=y
801CONFIG_I2C_CHARDEV=y 875CONFIG_I2C_CHARDEV=y
876CONFIG_I2C_HELPER_AUTO=y
802 877
803# 878#
804# I2C Hardware Bus support 879# I2C Hardware Bus support
805# 880#
881
882#
883# PC SMBus host controller drivers
884#
806# CONFIG_I2C_ALI1535 is not set 885# CONFIG_I2C_ALI1535 is not set
807# CONFIG_I2C_ALI1563 is not set 886# CONFIG_I2C_ALI1563 is not set
808# CONFIG_I2C_ALI15X3 is not set 887# CONFIG_I2C_ALI15X3 is not set
809# CONFIG_I2C_AMD756 is not set 888# CONFIG_I2C_AMD756 is not set
810# CONFIG_I2C_AMD8111 is not set 889# CONFIG_I2C_AMD8111 is not set
811# CONFIG_I2C_I801 is not set 890# CONFIG_I2C_I801 is not set
812# CONFIG_I2C_I810 is not set 891# CONFIG_I2C_ISCH is not set
813# CONFIG_I2C_PIIX4 is not set 892# CONFIG_I2C_PIIX4 is not set
814# CONFIG_I2C_NFORCE2 is not set 893# CONFIG_I2C_NFORCE2 is not set
815# CONFIG_I2C_OCORES is not set
816# CONFIG_I2C_PARPORT_LIGHT is not set
817# CONFIG_I2C_PROSAVAGE is not set
818# CONFIG_I2C_SAVAGE4 is not set
819# CONFIG_I2C_SIMTEC is not set
820# CONFIG_I2C_SIS5595 is not set 894# CONFIG_I2C_SIS5595 is not set
821# CONFIG_I2C_SIS630 is not set 895# CONFIG_I2C_SIS630 is not set
822# CONFIG_I2C_SIS96X is not set 896# CONFIG_I2C_SIS96X is not set
823# CONFIG_I2C_TAOS_EVM is not set
824# CONFIG_I2C_STUB is not set
825# CONFIG_I2C_TINY_USB is not set
826# CONFIG_I2C_VIA is not set 897# CONFIG_I2C_VIA is not set
827# CONFIG_I2C_VIAPRO is not set 898# CONFIG_I2C_VIAPRO is not set
899
900#
901# I2C system bus drivers (mostly embedded / system-on-chip)
902#
903# CONFIG_I2C_GPIO is not set
904CONFIG_I2C_MV64XXX=y
905# CONFIG_I2C_OCORES is not set
906# CONFIG_I2C_SIMTEC is not set
907
908#
909# External I2C/SMBus adapter drivers
910#
911# CONFIG_I2C_PARPORT_LIGHT is not set
912# CONFIG_I2C_TAOS_EVM is not set
913# CONFIG_I2C_TINY_USB is not set
914
915#
916# Graphics adapter I2C/DDC channel drivers
917#
828# CONFIG_I2C_VOODOO3 is not set 918# CONFIG_I2C_VOODOO3 is not set
919
920#
921# Other I2C/SMBus bus drivers
922#
829# CONFIG_I2C_PCA_PLATFORM is not set 923# CONFIG_I2C_PCA_PLATFORM is not set
830CONFIG_I2C_MV64XXX=y 924# CONFIG_I2C_STUB is not set
831 925
832# 926#
833# Miscellaneous I2C Chip support 927# Miscellaneous I2C Chip support
834# 928#
835# CONFIG_DS1682 is not set 929# CONFIG_DS1682 is not set
836# CONFIG_EEPROM_LEGACY is not set
837# CONFIG_SENSORS_PCF8574 is not set 930# CONFIG_SENSORS_PCF8574 is not set
838# CONFIG_PCF8575 is not set 931# CONFIG_PCF8575 is not set
839# CONFIG_SENSORS_PCF8591 is not set 932# CONFIG_SENSORS_PCA9539 is not set
840# CONFIG_SENSORS_MAX6875 is not set 933# CONFIG_SENSORS_MAX6875 is not set
841# CONFIG_SENSORS_TSL2550 is not set 934# CONFIG_SENSORS_TSL2550 is not set
842# CONFIG_I2C_DEBUG_CORE is not set 935# CONFIG_I2C_DEBUG_CORE is not set
@@ -848,6 +941,7 @@ CONFIG_I2C_MV64XXX=y
848# CONFIG_POWER_SUPPLY is not set 941# CONFIG_POWER_SUPPLY is not set
849CONFIG_HWMON=y 942CONFIG_HWMON=y
850# CONFIG_HWMON_VID is not set 943# CONFIG_HWMON_VID is not set
944# CONFIG_SENSORS_AD7414 is not set
851# CONFIG_SENSORS_AD7418 is not set 945# CONFIG_SENSORS_AD7418 is not set
852# CONFIG_SENSORS_ADM1021 is not set 946# CONFIG_SENSORS_ADM1021 is not set
853# CONFIG_SENSORS_ADM1025 is not set 947# CONFIG_SENSORS_ADM1025 is not set
@@ -855,14 +949,17 @@ CONFIG_HWMON=y
855# CONFIG_SENSORS_ADM1029 is not set 949# CONFIG_SENSORS_ADM1029 is not set
856# CONFIG_SENSORS_ADM1031 is not set 950# CONFIG_SENSORS_ADM1031 is not set
857# CONFIG_SENSORS_ADM9240 is not set 951# CONFIG_SENSORS_ADM9240 is not set
952# CONFIG_SENSORS_ADT7462 is not set
858# CONFIG_SENSORS_ADT7470 is not set 953# CONFIG_SENSORS_ADT7470 is not set
859# CONFIG_SENSORS_ADT7473 is not set 954# CONFIG_SENSORS_ADT7473 is not set
955# CONFIG_SENSORS_ADT7475 is not set
860# CONFIG_SENSORS_ATXP1 is not set 956# CONFIG_SENSORS_ATXP1 is not set
861# CONFIG_SENSORS_DS1621 is not set 957# CONFIG_SENSORS_DS1621 is not set
862# CONFIG_SENSORS_I5K_AMB is not set 958# CONFIG_SENSORS_I5K_AMB is not set
863# CONFIG_SENSORS_F71805F is not set 959# CONFIG_SENSORS_F71805F is not set
864# CONFIG_SENSORS_F71882FG is not set 960# CONFIG_SENSORS_F71882FG is not set
865# CONFIG_SENSORS_F75375S is not set 961# CONFIG_SENSORS_F75375S is not set
962# CONFIG_SENSORS_G760A is not set
866# CONFIG_SENSORS_GL518SM is not set 963# CONFIG_SENSORS_GL518SM is not set
867# CONFIG_SENSORS_GL520SM is not set 964# CONFIG_SENSORS_GL520SM is not set
868# CONFIG_SENSORS_IT87 is not set 965# CONFIG_SENSORS_IT87 is not set
@@ -877,10 +974,15 @@ CONFIG_HWMON=y
877# CONFIG_SENSORS_LM90 is not set 974# CONFIG_SENSORS_LM90 is not set
878# CONFIG_SENSORS_LM92 is not set 975# CONFIG_SENSORS_LM92 is not set
879# CONFIG_SENSORS_LM93 is not set 976# CONFIG_SENSORS_LM93 is not set
977# CONFIG_SENSORS_LTC4215 is not set
978# CONFIG_SENSORS_LTC4245 is not set
979# CONFIG_SENSORS_LM95241 is not set
880# CONFIG_SENSORS_MAX1619 is not set 980# CONFIG_SENSORS_MAX1619 is not set
881# CONFIG_SENSORS_MAX6650 is not set 981# CONFIG_SENSORS_MAX6650 is not set
882# CONFIG_SENSORS_PC87360 is not set 982# CONFIG_SENSORS_PC87360 is not set
883# CONFIG_SENSORS_PC87427 is not set 983# CONFIG_SENSORS_PC87427 is not set
984# CONFIG_SENSORS_PCF8591 is not set
985# CONFIG_SENSORS_SHT15 is not set
884# CONFIG_SENSORS_SIS5595 is not set 986# CONFIG_SENSORS_SIS5595 is not set
885# CONFIG_SENSORS_DME1737 is not set 987# CONFIG_SENSORS_DME1737 is not set
886# CONFIG_SENSORS_SMSC47M1 is not set 988# CONFIG_SENSORS_SMSC47M1 is not set
@@ -900,20 +1002,28 @@ CONFIG_HWMON=y
900# CONFIG_SENSORS_W83627HF is not set 1002# CONFIG_SENSORS_W83627HF is not set
901# CONFIG_SENSORS_W83627EHF is not set 1003# CONFIG_SENSORS_W83627EHF is not set
902# CONFIG_HWMON_DEBUG_CHIP is not set 1004# CONFIG_HWMON_DEBUG_CHIP is not set
1005# CONFIG_THERMAL is not set
1006# CONFIG_THERMAL_HWMON is not set
903# CONFIG_WATCHDOG is not set 1007# CONFIG_WATCHDOG is not set
1008CONFIG_SSB_POSSIBLE=y
904 1009
905# 1010#
906# Sonics Silicon Backplane 1011# Sonics Silicon Backplane
907# 1012#
908CONFIG_SSB_POSSIBLE=y
909# CONFIG_SSB is not set 1013# CONFIG_SSB is not set
910 1014
911# 1015#
912# Multifunction device drivers 1016# Multifunction device drivers
913# 1017#
1018# CONFIG_MFD_CORE is not set
914# CONFIG_MFD_SM501 is not set 1019# CONFIG_MFD_SM501 is not set
915# CONFIG_MFD_ASIC3 is not set
916# CONFIG_HTC_PASIC3 is not set 1020# CONFIG_HTC_PASIC3 is not set
1021# CONFIG_TWL4030_CORE is not set
1022# CONFIG_MFD_TMIO is not set
1023# CONFIG_PMIC_DA903X is not set
1024# CONFIG_MFD_WM8400 is not set
1025# CONFIG_MFD_WM8350_I2C is not set
1026# CONFIG_MFD_PCF50633 is not set
917 1027
918# 1028#
919# Multimedia devices 1029# Multimedia devices
@@ -944,10 +1054,6 @@ CONFIG_SSB_POSSIBLE=y
944# Display device support 1054# Display device support
945# 1055#
946# CONFIG_DISPLAY_SUPPORT is not set 1056# CONFIG_DISPLAY_SUPPORT is not set
947
948#
949# Sound
950#
951# CONFIG_SOUND is not set 1057# CONFIG_SOUND is not set
952CONFIG_HID_SUPPORT=y 1058CONFIG_HID_SUPPORT=y
953CONFIG_HID=y 1059CONFIG_HID=y
@@ -958,9 +1064,36 @@ CONFIG_HID=y
958# USB Input Devices 1064# USB Input Devices
959# 1065#
960CONFIG_USB_HID=y 1066CONFIG_USB_HID=y
961# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1067# CONFIG_HID_PID is not set
962# CONFIG_HID_FF is not set
963# CONFIG_USB_HIDDEV is not set 1068# CONFIG_USB_HIDDEV is not set
1069
1070#
1071# Special HID drivers
1072#
1073# CONFIG_HID_A4TECH is not set
1074# CONFIG_HID_APPLE is not set
1075# CONFIG_HID_BELKIN is not set
1076# CONFIG_HID_CHERRY is not set
1077# CONFIG_HID_CHICONY is not set
1078# CONFIG_HID_CYPRESS is not set
1079# CONFIG_DRAGONRISE_FF is not set
1080# CONFIG_HID_EZKEY is not set
1081# CONFIG_HID_KYE is not set
1082# CONFIG_HID_GYRATION is not set
1083# CONFIG_HID_KENSINGTON is not set
1084# CONFIG_HID_LOGITECH is not set
1085# CONFIG_HID_MICROSOFT is not set
1086# CONFIG_HID_MONTEREY is not set
1087# CONFIG_HID_NTRIG is not set
1088# CONFIG_HID_PANTHERLORD is not set
1089# CONFIG_HID_PETALYNX is not set
1090# CONFIG_HID_SAMSUNG is not set
1091# CONFIG_HID_SONY is not set
1092# CONFIG_HID_SUNPLUS is not set
1093# CONFIG_GREENASIA_FF is not set
1094# CONFIG_HID_TOPSEED is not set
1095# CONFIG_THRUSTMASTER_FF is not set
1096# CONFIG_ZEROPLUS_FF is not set
964CONFIG_USB_SUPPORT=y 1097CONFIG_USB_SUPPORT=y
965CONFIG_USB_ARCH_HAS_HCD=y 1098CONFIG_USB_ARCH_HAS_HCD=y
966CONFIG_USB_ARCH_HAS_OHCI=y 1099CONFIG_USB_ARCH_HAS_OHCI=y
@@ -978,6 +1111,9 @@ CONFIG_USB_DEVICE_CLASS=y
978# CONFIG_USB_OTG is not set 1111# CONFIG_USB_OTG is not set
979# CONFIG_USB_OTG_WHITELIST is not set 1112# CONFIG_USB_OTG_WHITELIST is not set
980# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1113# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1114# CONFIG_USB_MON is not set
1115# CONFIG_USB_WUSB is not set
1116# CONFIG_USB_WUSB_CBAF is not set
981 1117
982# 1118#
983# USB Host Controller Drivers 1119# USB Host Controller Drivers
@@ -986,12 +1122,15 @@ CONFIG_USB_DEVICE_CLASS=y
986CONFIG_USB_EHCI_HCD=y 1122CONFIG_USB_EHCI_HCD=y
987CONFIG_USB_EHCI_ROOT_HUB_TT=y 1123CONFIG_USB_EHCI_ROOT_HUB_TT=y
988CONFIG_USB_EHCI_TT_NEWSCHED=y 1124CONFIG_USB_EHCI_TT_NEWSCHED=y
1125# CONFIG_USB_OXU210HP_HCD is not set
989# CONFIG_USB_ISP116X_HCD is not set 1126# CONFIG_USB_ISP116X_HCD is not set
990# CONFIG_USB_ISP1760_HCD is not set 1127# CONFIG_USB_ISP1760_HCD is not set
991# CONFIG_USB_OHCI_HCD is not set 1128# CONFIG_USB_OHCI_HCD is not set
992# CONFIG_USB_UHCI_HCD is not set 1129# CONFIG_USB_UHCI_HCD is not set
993# CONFIG_USB_SL811_HCD is not set 1130# CONFIG_USB_SL811_HCD is not set
994# CONFIG_USB_R8A66597_HCD is not set 1131# CONFIG_USB_R8A66597_HCD is not set
1132# CONFIG_USB_WHCI_HCD is not set
1133# CONFIG_USB_HWA_HCD is not set
995 1134
996# 1135#
997# USB Device Class drivers 1136# USB Device Class drivers
@@ -999,20 +1138,20 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y
999# CONFIG_USB_ACM is not set 1138# CONFIG_USB_ACM is not set
1000CONFIG_USB_PRINTER=y 1139CONFIG_USB_PRINTER=y
1001# CONFIG_USB_WDM is not set 1140# CONFIG_USB_WDM is not set
1141# CONFIG_USB_TMC is not set
1002 1142
1003# 1143#
1004# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1144# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1005# 1145#
1006 1146
1007# 1147#
1008# may also be needed; see USB_STORAGE Help for more information 1148# also be needed; see USB_STORAGE Help for more info
1009# 1149#
1010CONFIG_USB_STORAGE=y 1150CONFIG_USB_STORAGE=y
1011# CONFIG_USB_STORAGE_DEBUG is not set 1151# CONFIG_USB_STORAGE_DEBUG is not set
1012CONFIG_USB_STORAGE_DATAFAB=y 1152CONFIG_USB_STORAGE_DATAFAB=y
1013CONFIG_USB_STORAGE_FREECOM=y 1153CONFIG_USB_STORAGE_FREECOM=y
1014# CONFIG_USB_STORAGE_ISD200 is not set 1154# CONFIG_USB_STORAGE_ISD200 is not set
1015CONFIG_USB_STORAGE_DPCM=y
1016# CONFIG_USB_STORAGE_USBAT is not set 1155# CONFIG_USB_STORAGE_USBAT is not set
1017CONFIG_USB_STORAGE_SDDR09=y 1156CONFIG_USB_STORAGE_SDDR09=y
1018CONFIG_USB_STORAGE_SDDR55=y 1157CONFIG_USB_STORAGE_SDDR55=y
@@ -1028,7 +1167,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1028# 1167#
1029# CONFIG_USB_MDC800 is not set 1168# CONFIG_USB_MDC800 is not set
1030# CONFIG_USB_MICROTEK is not set 1169# CONFIG_USB_MICROTEK is not set
1031# CONFIG_USB_MON is not set
1032 1170
1033# 1171#
1034# USB port drivers 1172# USB port drivers
@@ -1041,7 +1179,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1041# CONFIG_USB_EMI62 is not set 1179# CONFIG_USB_EMI62 is not set
1042# CONFIG_USB_EMI26 is not set 1180# CONFIG_USB_EMI26 is not set
1043# CONFIG_USB_ADUTUX is not set 1181# CONFIG_USB_ADUTUX is not set
1044# CONFIG_USB_AUERSWALD is not set 1182# CONFIG_USB_SEVSEG is not set
1045# CONFIG_USB_RIO500 is not set 1183# CONFIG_USB_RIO500 is not set
1046# CONFIG_USB_LEGOTOWER is not set 1184# CONFIG_USB_LEGOTOWER is not set
1047# CONFIG_USB_LCD is not set 1185# CONFIG_USB_LCD is not set
@@ -1049,7 +1187,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1049# CONFIG_USB_LED is not set 1187# CONFIG_USB_LED is not set
1050# CONFIG_USB_CYPRESS_CY7C63 is not set 1188# CONFIG_USB_CYPRESS_CY7C63 is not set
1051# CONFIG_USB_CYTHERM is not set 1189# CONFIG_USB_CYTHERM is not set
1052# CONFIG_USB_PHIDGET is not set
1053# CONFIG_USB_IDMOUSE is not set 1190# CONFIG_USB_IDMOUSE is not set
1054# CONFIG_USB_FTDI_ELAN is not set 1191# CONFIG_USB_FTDI_ELAN is not set
1055# CONFIG_USB_APPLEDISPLAY is not set 1192# CONFIG_USB_APPLEDISPLAY is not set
@@ -1059,14 +1196,29 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1059# CONFIG_USB_IOWARRIOR is not set 1196# CONFIG_USB_IOWARRIOR is not set
1060# CONFIG_USB_TEST is not set 1197# CONFIG_USB_TEST is not set
1061# CONFIG_USB_ISIGHTFW is not set 1198# CONFIG_USB_ISIGHTFW is not set
1199# CONFIG_USB_VST is not set
1062# CONFIG_USB_GADGET is not set 1200# CONFIG_USB_GADGET is not set
1201
1202#
1203# OTG and related infrastructure
1204#
1205# CONFIG_USB_GPIO_VBUS is not set
1206# CONFIG_NOP_USB_XCEIV is not set
1207# CONFIG_UWB is not set
1063# CONFIG_MMC is not set 1208# CONFIG_MMC is not set
1209# CONFIG_MEMSTICK is not set
1210# CONFIG_ACCESSIBILITY is not set
1064CONFIG_NEW_LEDS=y 1211CONFIG_NEW_LEDS=y
1065CONFIG_LEDS_CLASS=y 1212CONFIG_LEDS_CLASS=y
1066 1213
1067# 1214#
1068# LED drivers 1215# LED drivers
1069# 1216#
1217# CONFIG_LEDS_PCA9532 is not set
1218# CONFIG_LEDS_GPIO is not set
1219# CONFIG_LEDS_LP5521 is not set
1220# CONFIG_LEDS_PCA955X is not set
1221# CONFIG_LEDS_BD2802 is not set
1070 1222
1071# 1223#
1072# LED Triggers 1224# LED Triggers
@@ -1074,7 +1226,12 @@ CONFIG_LEDS_CLASS=y
1074CONFIG_LEDS_TRIGGERS=y 1226CONFIG_LEDS_TRIGGERS=y
1075CONFIG_LEDS_TRIGGER_TIMER=y 1227CONFIG_LEDS_TRIGGER_TIMER=y
1076CONFIG_LEDS_TRIGGER_HEARTBEAT=y 1228CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1229# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1077# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set 1230# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
1231
1232#
1233# iptables trigger is under Netfilter config (LED target)
1234#
1078CONFIG_RTC_LIB=y 1235CONFIG_RTC_LIB=y
1079CONFIG_RTC_CLASS=y 1236CONFIG_RTC_CLASS=y
1080CONFIG_RTC_HCTOSYS=y 1237CONFIG_RTC_HCTOSYS=y
@@ -1105,6 +1262,8 @@ CONFIG_RTC_DRV_RS5C372=y
1105CONFIG_RTC_DRV_M41T80=y 1262CONFIG_RTC_DRV_M41T80=y
1106# CONFIG_RTC_DRV_M41T80_WDT is not set 1263# CONFIG_RTC_DRV_M41T80_WDT is not set
1107# CONFIG_RTC_DRV_S35390A is not set 1264# CONFIG_RTC_DRV_S35390A is not set
1265# CONFIG_RTC_DRV_FM3130 is not set
1266# CONFIG_RTC_DRV_RX8581 is not set
1108 1267
1109# 1268#
1110# SPI RTC drivers 1269# SPI RTC drivers
@@ -1114,18 +1273,25 @@ CONFIG_RTC_DRV_M41T80=y
1114# Platform RTC drivers 1273# Platform RTC drivers
1115# 1274#
1116# CONFIG_RTC_DRV_CMOS is not set 1275# CONFIG_RTC_DRV_CMOS is not set
1276# CONFIG_RTC_DRV_DS1286 is not set
1117# CONFIG_RTC_DRV_DS1511 is not set 1277# CONFIG_RTC_DRV_DS1511 is not set
1118# CONFIG_RTC_DRV_DS1553 is not set 1278# CONFIG_RTC_DRV_DS1553 is not set
1119# CONFIG_RTC_DRV_DS1742 is not set 1279# CONFIG_RTC_DRV_DS1742 is not set
1120# CONFIG_RTC_DRV_STK17TA8 is not set 1280# CONFIG_RTC_DRV_STK17TA8 is not set
1121# CONFIG_RTC_DRV_M48T86 is not set 1281# CONFIG_RTC_DRV_M48T86 is not set
1282# CONFIG_RTC_DRV_M48T35 is not set
1122# CONFIG_RTC_DRV_M48T59 is not set 1283# CONFIG_RTC_DRV_M48T59 is not set
1284# CONFIG_RTC_DRV_BQ4802 is not set
1123# CONFIG_RTC_DRV_V3020 is not set 1285# CONFIG_RTC_DRV_V3020 is not set
1124 1286
1125# 1287#
1126# on-CPU RTC drivers 1288# on-CPU RTC drivers
1127# 1289#
1290# CONFIG_DMADEVICES is not set
1291# CONFIG_AUXDISPLAY is not set
1292# CONFIG_REGULATOR is not set
1128# CONFIG_UIO is not set 1293# CONFIG_UIO is not set
1294# CONFIG_STAGING is not set
1129 1295
1130# 1296#
1131# File systems 1297# File systems
@@ -1134,14 +1300,25 @@ CONFIG_EXT2_FS=y
1134# CONFIG_EXT2_FS_XATTR is not set 1300# CONFIG_EXT2_FS_XATTR is not set
1135# CONFIG_EXT2_FS_XIP is not set 1301# CONFIG_EXT2_FS_XIP is not set
1136CONFIG_EXT3_FS=y 1302CONFIG_EXT3_FS=y
1303# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1137# CONFIG_EXT3_FS_XATTR is not set 1304# CONFIG_EXT3_FS_XATTR is not set
1138# CONFIG_EXT4DEV_FS is not set 1305CONFIG_EXT4_FS=m
1306# CONFIG_EXT4DEV_COMPAT is not set
1307CONFIG_EXT4_FS_XATTR=y
1308# CONFIG_EXT4_FS_POSIX_ACL is not set
1309# CONFIG_EXT4_FS_SECURITY is not set
1139CONFIG_JBD=y 1310CONFIG_JBD=y
1311# CONFIG_JBD_DEBUG is not set
1312CONFIG_JBD2=m
1313# CONFIG_JBD2_DEBUG is not set
1314CONFIG_FS_MBCACHE=m
1140# CONFIG_REISERFS_FS is not set 1315# CONFIG_REISERFS_FS is not set
1141# CONFIG_JFS_FS is not set 1316# CONFIG_JFS_FS is not set
1142# CONFIG_FS_POSIX_ACL is not set 1317# CONFIG_FS_POSIX_ACL is not set
1318CONFIG_FILE_LOCKING=y
1143# CONFIG_XFS_FS is not set 1319# CONFIG_XFS_FS is not set
1144# CONFIG_OCFS2_FS is not set 1320# CONFIG_OCFS2_FS is not set
1321# CONFIG_BTRFS_FS is not set
1145CONFIG_DNOTIFY=y 1322CONFIG_DNOTIFY=y
1146CONFIG_INOTIFY=y 1323CONFIG_INOTIFY=y
1147CONFIG_INOTIFY_USER=y 1324CONFIG_INOTIFY_USER=y
@@ -1151,6 +1328,11 @@ CONFIG_INOTIFY_USER=y
1151# CONFIG_FUSE_FS is not set 1328# CONFIG_FUSE_FS is not set
1152 1329
1153# 1330#
1331# Caches
1332#
1333# CONFIG_FSCACHE is not set
1334
1335#
1154# CD-ROM/DVD Filesystems 1336# CD-ROM/DVD Filesystems
1155# 1337#
1156CONFIG_ISO9660_FS=m 1338CONFIG_ISO9660_FS=m
@@ -1174,15 +1356,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1174# 1356#
1175CONFIG_PROC_FS=y 1357CONFIG_PROC_FS=y
1176CONFIG_PROC_SYSCTL=y 1358CONFIG_PROC_SYSCTL=y
1359CONFIG_PROC_PAGE_MONITOR=y
1177CONFIG_SYSFS=y 1360CONFIG_SYSFS=y
1178CONFIG_TMPFS=y 1361CONFIG_TMPFS=y
1179# CONFIG_TMPFS_POSIX_ACL is not set 1362# CONFIG_TMPFS_POSIX_ACL is not set
1180# CONFIG_HUGETLB_PAGE is not set 1363# CONFIG_HUGETLB_PAGE is not set
1181# CONFIG_CONFIGFS_FS is not set 1364# CONFIG_CONFIGFS_FS is not set
1182 1365CONFIG_MISC_FILESYSTEMS=y
1183#
1184# Miscellaneous filesystems
1185#
1186# CONFIG_ADFS_FS is not set 1366# CONFIG_ADFS_FS is not set
1187# CONFIG_AFFS_FS is not set 1367# CONFIG_AFFS_FS is not set
1188# CONFIG_HFS_FS is not set 1368# CONFIG_HFS_FS is not set
@@ -1202,25 +1382,27 @@ CONFIG_JFFS2_ZLIB=y
1202CONFIG_JFFS2_RTIME=y 1382CONFIG_JFFS2_RTIME=y
1203# CONFIG_JFFS2_RUBIN is not set 1383# CONFIG_JFFS2_RUBIN is not set
1204CONFIG_CRAMFS=y 1384CONFIG_CRAMFS=y
1385# CONFIG_SQUASHFS is not set
1205# CONFIG_VXFS_FS is not set 1386# CONFIG_VXFS_FS is not set
1206# CONFIG_MINIX_FS is not set 1387# CONFIG_MINIX_FS is not set
1388# CONFIG_OMFS_FS is not set
1207# CONFIG_HPFS_FS is not set 1389# CONFIG_HPFS_FS is not set
1208# CONFIG_QNX4FS_FS is not set 1390# CONFIG_QNX4FS_FS is not set
1209# CONFIG_ROMFS_FS is not set 1391# CONFIG_ROMFS_FS is not set
1210# CONFIG_SYSV_FS is not set 1392# CONFIG_SYSV_FS is not set
1211# CONFIG_UFS_FS is not set 1393# CONFIG_UFS_FS is not set
1394# CONFIG_NILFS2_FS is not set
1212CONFIG_NETWORK_FILESYSTEMS=y 1395CONFIG_NETWORK_FILESYSTEMS=y
1213CONFIG_NFS_FS=y 1396CONFIG_NFS_FS=y
1214CONFIG_NFS_V3=y 1397CONFIG_NFS_V3=y
1215# CONFIG_NFS_V3_ACL is not set 1398# CONFIG_NFS_V3_ACL is not set
1216# CONFIG_NFS_V4 is not set 1399# CONFIG_NFS_V4 is not set
1217# CONFIG_NFSD is not set
1218CONFIG_ROOT_NFS=y 1400CONFIG_ROOT_NFS=y
1401# CONFIG_NFSD is not set
1219CONFIG_LOCKD=y 1402CONFIG_LOCKD=y
1220CONFIG_LOCKD_V4=y 1403CONFIG_LOCKD_V4=y
1221CONFIG_NFS_COMMON=y 1404CONFIG_NFS_COMMON=y
1222CONFIG_SUNRPC=y 1405CONFIG_SUNRPC=y
1223# CONFIG_SUNRPC_BIND34 is not set
1224# CONFIG_RPCSEC_GSS_KRB5 is not set 1406# CONFIG_RPCSEC_GSS_KRB5 is not set
1225# CONFIG_RPCSEC_GSS_SPKM3 is not set 1407# CONFIG_RPCSEC_GSS_SPKM3 is not set
1226# CONFIG_SMB_FS is not set 1408# CONFIG_SMB_FS is not set
@@ -1301,11 +1483,16 @@ CONFIG_ENABLE_MUST_CHECK=y
1301CONFIG_FRAME_WARN=1024 1483CONFIG_FRAME_WARN=1024
1302CONFIG_MAGIC_SYSRQ=y 1484CONFIG_MAGIC_SYSRQ=y
1303# CONFIG_UNUSED_SYMBOLS is not set 1485# CONFIG_UNUSED_SYMBOLS is not set
1304# CONFIG_DEBUG_FS is not set 1486CONFIG_DEBUG_FS=y
1305# CONFIG_HEADERS_CHECK is not set 1487# CONFIG_HEADERS_CHECK is not set
1306CONFIG_DEBUG_KERNEL=y 1488CONFIG_DEBUG_KERNEL=y
1307# CONFIG_DEBUG_SHIRQ is not set 1489# CONFIG_DEBUG_SHIRQ is not set
1308CONFIG_DETECT_SOFTLOCKUP=y 1490CONFIG_DETECT_SOFTLOCKUP=y
1491# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1492CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1493CONFIG_DETECT_HUNG_TASK=y
1494# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1495CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1309CONFIG_SCHED_DEBUG=y 1496CONFIG_SCHED_DEBUG=y
1310CONFIG_SCHEDSTATS=y 1497CONFIG_SCHEDSTATS=y
1311# CONFIG_TIMER_STATS is not set 1498# CONFIG_TIMER_STATS is not set
@@ -1320,22 +1507,55 @@ CONFIG_DEBUG_PREEMPT=y
1320# CONFIG_LOCK_STAT is not set 1507# CONFIG_LOCK_STAT is not set
1321# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1508# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1322# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1509# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1510CONFIG_STACKTRACE=y
1323# CONFIG_DEBUG_KOBJECT is not set 1511# CONFIG_DEBUG_KOBJECT is not set
1512# CONFIG_DEBUG_HIGHMEM is not set
1324# CONFIG_DEBUG_BUGVERBOSE is not set 1513# CONFIG_DEBUG_BUGVERBOSE is not set
1325CONFIG_DEBUG_INFO=y 1514CONFIG_DEBUG_INFO=y
1326# CONFIG_DEBUG_VM is not set 1515# CONFIG_DEBUG_VM is not set
1327# CONFIG_DEBUG_WRITECOUNT is not set 1516# CONFIG_DEBUG_WRITECOUNT is not set
1517# CONFIG_DEBUG_MEMORY_INIT is not set
1328# CONFIG_DEBUG_LIST is not set 1518# CONFIG_DEBUG_LIST is not set
1329# CONFIG_DEBUG_SG is not set 1519# CONFIG_DEBUG_SG is not set
1330CONFIG_FRAME_POINTER=y 1520# CONFIG_DEBUG_NOTIFIERS is not set
1331# CONFIG_BOOT_PRINTK_DELAY is not set 1521# CONFIG_BOOT_PRINTK_DELAY is not set
1332# CONFIG_RCU_TORTURE_TEST is not set 1522# CONFIG_RCU_TORTURE_TEST is not set
1523# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1333# CONFIG_KPROBES_SANITY_TEST is not set 1524# CONFIG_KPROBES_SANITY_TEST is not set
1334# CONFIG_BACKTRACE_SELF_TEST is not set 1525# CONFIG_BACKTRACE_SELF_TEST is not set
1526# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1335# CONFIG_LKDTM is not set 1527# CONFIG_LKDTM is not set
1336# CONFIG_FAULT_INJECTION is not set 1528# CONFIG_FAULT_INJECTION is not set
1337# CONFIG_LATENCYTOP is not set 1529# CONFIG_LATENCYTOP is not set
1530CONFIG_SYSCTL_SYSCALL_CHECK=y
1531# CONFIG_PAGE_POISONING is not set
1532CONFIG_NOP_TRACER=y
1533CONFIG_HAVE_FUNCTION_TRACER=y
1534CONFIG_RING_BUFFER=y
1535CONFIG_TRACING=y
1536CONFIG_TRACING_SUPPORT=y
1537
1538#
1539# Tracers
1540#
1541# CONFIG_FUNCTION_TRACER is not set
1542# CONFIG_IRQSOFF_TRACER is not set
1543# CONFIG_PREEMPT_TRACER is not set
1544# CONFIG_SCHED_TRACER is not set
1545# CONFIG_CONTEXT_SWITCH_TRACER is not set
1546# CONFIG_EVENT_TRACER is not set
1547# CONFIG_BOOT_TRACER is not set
1548# CONFIG_TRACE_BRANCH_PROFILING is not set
1549# CONFIG_STACK_TRACER is not set
1550# CONFIG_KMEMTRACE is not set
1551# CONFIG_WORKQUEUE_TRACER is not set
1552# CONFIG_BLK_DEV_IO_TRACE is not set
1553# CONFIG_FTRACE_STARTUP_TEST is not set
1554# CONFIG_DYNAMIC_DEBUG is not set
1338# CONFIG_SAMPLES is not set 1555# CONFIG_SAMPLES is not set
1556CONFIG_HAVE_ARCH_KGDB=y
1557# CONFIG_KGDB is not set
1558CONFIG_ARM_UNWIND=y
1339CONFIG_DEBUG_USER=y 1559CONFIG_DEBUG_USER=y
1340CONFIG_DEBUG_ERRORS=y 1560CONFIG_DEBUG_ERRORS=y
1341# CONFIG_DEBUG_STACK_USAGE is not set 1561# CONFIG_DEBUG_STACK_USAGE is not set
@@ -1347,17 +1567,27 @@ CONFIG_DEBUG_LL=y
1347# 1567#
1348# CONFIG_KEYS is not set 1568# CONFIG_KEYS is not set
1349# CONFIG_SECURITY is not set 1569# CONFIG_SECURITY is not set
1570# CONFIG_SECURITYFS is not set
1350# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1571# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1351CONFIG_CRYPTO=y 1572CONFIG_CRYPTO=y
1352 1573
1353# 1574#
1354# Crypto core or helper 1575# Crypto core or helper
1355# 1576#
1577# CONFIG_CRYPTO_FIPS is not set
1356CONFIG_CRYPTO_ALGAPI=m 1578CONFIG_CRYPTO_ALGAPI=m
1579CONFIG_CRYPTO_ALGAPI2=m
1580CONFIG_CRYPTO_AEAD2=m
1357CONFIG_CRYPTO_BLKCIPHER=m 1581CONFIG_CRYPTO_BLKCIPHER=m
1582CONFIG_CRYPTO_BLKCIPHER2=m
1583CONFIG_CRYPTO_HASH2=m
1584CONFIG_CRYPTO_RNG2=m
1585CONFIG_CRYPTO_PCOMP=m
1358CONFIG_CRYPTO_MANAGER=m 1586CONFIG_CRYPTO_MANAGER=m
1587CONFIG_CRYPTO_MANAGER2=m
1359# CONFIG_CRYPTO_GF128MUL is not set 1588# CONFIG_CRYPTO_GF128MUL is not set
1360# CONFIG_CRYPTO_NULL is not set 1589# CONFIG_CRYPTO_NULL is not set
1590CONFIG_CRYPTO_WORKQUEUE=m
1361# CONFIG_CRYPTO_CRYPTD is not set 1591# CONFIG_CRYPTO_CRYPTD is not set
1362# CONFIG_CRYPTO_AUTHENC is not set 1592# CONFIG_CRYPTO_AUTHENC is not set
1363# CONFIG_CRYPTO_TEST is not set 1593# CONFIG_CRYPTO_TEST is not set
@@ -1393,6 +1623,10 @@ CONFIG_CRYPTO_PCBC=m
1393# CONFIG_CRYPTO_MD4 is not set 1623# CONFIG_CRYPTO_MD4 is not set
1394# CONFIG_CRYPTO_MD5 is not set 1624# CONFIG_CRYPTO_MD5 is not set
1395# CONFIG_CRYPTO_MICHAEL_MIC is not set 1625# CONFIG_CRYPTO_MICHAEL_MIC is not set
1626# CONFIG_CRYPTO_RMD128 is not set
1627# CONFIG_CRYPTO_RMD160 is not set
1628# CONFIG_CRYPTO_RMD256 is not set
1629# CONFIG_CRYPTO_RMD320 is not set
1396# CONFIG_CRYPTO_SHA1 is not set 1630# CONFIG_CRYPTO_SHA1 is not set
1397# CONFIG_CRYPTO_SHA256 is not set 1631# CONFIG_CRYPTO_SHA256 is not set
1398# CONFIG_CRYPTO_SHA512 is not set 1632# CONFIG_CRYPTO_SHA512 is not set
@@ -1422,25 +1656,32 @@ CONFIG_CRYPTO_PCBC=m
1422# Compression 1656# Compression
1423# 1657#
1424# CONFIG_CRYPTO_DEFLATE is not set 1658# CONFIG_CRYPTO_DEFLATE is not set
1659# CONFIG_CRYPTO_ZLIB is not set
1425# CONFIG_CRYPTO_LZO is not set 1660# CONFIG_CRYPTO_LZO is not set
1661
1662#
1663# Random Number Generation
1664#
1665# CONFIG_CRYPTO_ANSI_CPRNG is not set
1426CONFIG_CRYPTO_HW=y 1666CONFIG_CRYPTO_HW=y
1427# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1667# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1668CONFIG_BINARY_PRINTF=y
1428 1669
1429# 1670#
1430# Library routines 1671# Library routines
1431# 1672#
1432CONFIG_BITREVERSE=y 1673CONFIG_BITREVERSE=y
1433# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1674CONFIG_GENERIC_FIND_LAST_BIT=y
1434# CONFIG_GENERIC_FIND_NEXT_BIT is not set
1435# CONFIG_CRC_CCITT is not set 1675# CONFIG_CRC_CCITT is not set
1436# CONFIG_CRC16 is not set 1676CONFIG_CRC16=m
1677# CONFIG_CRC_T10DIF is not set
1437CONFIG_CRC_ITU_T=m 1678CONFIG_CRC_ITU_T=m
1438CONFIG_CRC32=y 1679CONFIG_CRC32=y
1439# CONFIG_CRC7 is not set 1680# CONFIG_CRC7 is not set
1440# CONFIG_LIBCRC32C is not set 1681# CONFIG_LIBCRC32C is not set
1441CONFIG_ZLIB_INFLATE=y 1682CONFIG_ZLIB_INFLATE=y
1442CONFIG_ZLIB_DEFLATE=y 1683CONFIG_ZLIB_DEFLATE=y
1443CONFIG_PLIST=y
1444CONFIG_HAS_IOMEM=y 1684CONFIG_HAS_IOMEM=y
1445CONFIG_HAS_IOPORT=y 1685CONFIG_HAS_IOPORT=y
1446CONFIG_HAS_DMA=y 1686CONFIG_HAS_DMA=y
1687CONFIG_NLATTR=y
diff --git a/arch/arm/configs/mx31moboard_defconfig b/arch/arm/configs/mx31moboard_defconfig
deleted file mode 100644
index e90f86d6deef..000000000000
--- a/arch/arm/configs/mx31moboard_defconfig
+++ /dev/null
@@ -1,790 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc5
4# Fri Oct 24 11:41:22 2008
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y
16CONFIG_LOCKDEP_SUPPORT=y
17CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y
21# CONFIG_ARCH_HAS_ILOG2_U32 is not set
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_ARCH_SUPPORTS_AOUT=y
26CONFIG_ZONE_DMA=y
27CONFIG_ARCH_MTD_XIP=y
28CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
29CONFIG_VECTORS_BASE=0xffff0000
30CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
31
32#
33# General setup
34#
35CONFIG_EXPERIMENTAL=y
36CONFIG_BROKEN_ON_SMP=y
37CONFIG_LOCK_KERNEL=y
38CONFIG_INIT_ENV_ARG_LIMIT=32
39CONFIG_LOCALVERSION=""
40CONFIG_LOCALVERSION_AUTO=y
41CONFIG_SWAP=y
42CONFIG_SYSVIPC=y
43CONFIG_SYSVIPC_SYSCTL=y
44# CONFIG_POSIX_MQUEUE is not set
45# CONFIG_BSD_PROCESS_ACCT is not set
46# CONFIG_TASKSTATS is not set
47# CONFIG_AUDIT is not set
48CONFIG_IKCONFIG=y
49CONFIG_IKCONFIG_PROC=y
50CONFIG_LOG_BUF_SHIFT=14
51# CONFIG_CGROUPS is not set
52CONFIG_GROUP_SCHED=y
53CONFIG_FAIR_GROUP_SCHED=y
54# CONFIG_RT_GROUP_SCHED is not set
55CONFIG_USER_SCHED=y
56# CONFIG_CGROUP_SCHED is not set
57CONFIG_SYSFS_DEPRECATED=y
58CONFIG_SYSFS_DEPRECATED_V2=y
59# CONFIG_RELAY is not set
60# CONFIG_NAMESPACES is not set
61# CONFIG_BLK_DEV_INITRD is not set
62CONFIG_CC_OPTIMIZE_FOR_SIZE=y
63CONFIG_SYSCTL=y
64CONFIG_EMBEDDED=y
65CONFIG_UID16=y
66CONFIG_SYSCTL_SYSCALL=y
67CONFIG_KALLSYMS=y
68# CONFIG_KALLSYMS_EXTRA_PASS is not set
69CONFIG_HOTPLUG=y
70CONFIG_PRINTK=y
71CONFIG_BUG=y
72CONFIG_ELF_CORE=y
73CONFIG_COMPAT_BRK=y
74CONFIG_BASE_FULL=y
75CONFIG_FUTEX=y
76CONFIG_ANON_INODES=y
77CONFIG_EPOLL=y
78CONFIG_SIGNALFD=y
79CONFIG_TIMERFD=y
80CONFIG_EVENTFD=y
81CONFIG_SHMEM=y
82CONFIG_VM_EVENT_COUNTERS=y
83CONFIG_SLAB=y
84# CONFIG_SLUB is not set
85# CONFIG_SLOB is not set
86# CONFIG_PROFILING is not set
87# CONFIG_MARKERS is not set
88CONFIG_HAVE_OPROFILE=y
89# CONFIG_KPROBES is not set
90# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
91# CONFIG_HAVE_IOREMAP_PROT is not set
92CONFIG_HAVE_KPROBES=y
93CONFIG_HAVE_KRETPROBES=y
94# CONFIG_HAVE_ARCH_TRACEHOOK is not set
95# CONFIG_HAVE_DMA_ATTRS is not set
96# CONFIG_USE_GENERIC_SMP_HELPERS is not set
97# CONFIG_HAVE_CLK is not set
98CONFIG_PROC_PAGE_MONITOR=y
99CONFIG_HAVE_GENERIC_DMA_COHERENT=y
100CONFIG_SLABINFO=y
101CONFIG_RT_MUTEXES=y
102# CONFIG_TINY_SHMEM is not set
103CONFIG_BASE_SMALL=0
104CONFIG_MODULES=y
105# CONFIG_MODULE_FORCE_LOAD is not set
106CONFIG_MODULE_UNLOAD=y
107CONFIG_MODULE_FORCE_UNLOAD=y
108CONFIG_MODVERSIONS=y
109# CONFIG_MODULE_SRCVERSION_ALL is not set
110CONFIG_KMOD=y
111CONFIG_BLOCK=y
112# CONFIG_LBD is not set
113# CONFIG_BLK_DEV_IO_TRACE is not set
114# CONFIG_LSF is not set
115# CONFIG_BLK_DEV_BSG is not set
116# CONFIG_BLK_DEV_INTEGRITY is not set
117
118#
119# IO Schedulers
120#
121CONFIG_IOSCHED_NOOP=y
122CONFIG_IOSCHED_AS=y
123CONFIG_IOSCHED_DEADLINE=y
124CONFIG_IOSCHED_CFQ=y
125# CONFIG_DEFAULT_AS is not set
126# CONFIG_DEFAULT_DEADLINE is not set
127CONFIG_DEFAULT_CFQ=y
128# CONFIG_DEFAULT_NOOP is not set
129CONFIG_DEFAULT_IOSCHED="cfq"
130CONFIG_CLASSIC_RCU=y
131
132#
133# System Type
134#
135# CONFIG_ARCH_AAEC2000 is not set
136# CONFIG_ARCH_INTEGRATOR is not set
137# CONFIG_ARCH_REALVIEW is not set
138# CONFIG_ARCH_VERSATILE is not set
139# CONFIG_ARCH_AT91 is not set
140# CONFIG_ARCH_CLPS7500 is not set
141# CONFIG_ARCH_CLPS711X is not set
142# CONFIG_ARCH_EBSA110 is not set
143# CONFIG_ARCH_EP93XX is not set
144# CONFIG_ARCH_FOOTBRIDGE is not set
145# CONFIG_ARCH_NETX is not set
146# CONFIG_ARCH_H720X is not set
147# CONFIG_ARCH_IMX is not set
148# CONFIG_ARCH_IOP13XX is not set
149# CONFIG_ARCH_IOP32X is not set
150# CONFIG_ARCH_IOP33X is not set
151# CONFIG_ARCH_IXP23XX is not set
152# CONFIG_ARCH_IXP2000 is not set
153# CONFIG_ARCH_IXP4XX is not set
154# CONFIG_ARCH_L7200 is not set
155# CONFIG_ARCH_KIRKWOOD is not set
156# CONFIG_ARCH_KS8695 is not set
157# CONFIG_ARCH_NS9XXX is not set
158# CONFIG_ARCH_LOKI is not set
159# CONFIG_ARCH_MV78XX0 is not set
160CONFIG_ARCH_MXC=y
161# CONFIG_ARCH_ORION5X is not set
162# CONFIG_ARCH_PNX4008 is not set
163# CONFIG_ARCH_PXA is not set
164# CONFIG_ARCH_RPC is not set
165# CONFIG_ARCH_SA1100 is not set
166# CONFIG_ARCH_S3C2410 is not set
167# CONFIG_ARCH_SHARK is not set
168# CONFIG_ARCH_LH7A40X is not set
169# CONFIG_ARCH_DAVINCI is not set
170# CONFIG_ARCH_OMAP is not set
171# CONFIG_ARCH_MSM7X00A is not set
172
173#
174# Boot options
175#
176
177#
178# Power management
179#
180
181#
182# Freescale MXC Implementations
183#
184# CONFIG_ARCH_MX2 is not set
185CONFIG_ARCH_MX3=y
186
187#
188# MX3 Options
189#
190# CONFIG_MACH_MX31ADS is not set
191# CONFIG_MACH_PCM037 is not set
192# CONFIG_MACH_MX31LITE is not set
193CONFIG_MACH_MX31MOBOARD=y
194# CONFIG_MXC_IRQ_PRIOR is not set
195
196#
197# Processor Type
198#
199CONFIG_CPU_32=y
200CONFIG_CPU_V6=y
201# CONFIG_CPU_32v6K is not set
202CONFIG_CPU_32v6=y
203CONFIG_CPU_ABRT_EV6=y
204CONFIG_CPU_PABRT_NOIFAR=y
205CONFIG_CPU_CACHE_V6=y
206CONFIG_CPU_CACHE_VIPT=y
207CONFIG_CPU_COPY_V6=y
208CONFIG_CPU_TLB_V6=y
209CONFIG_CPU_HAS_ASID=y
210CONFIG_CPU_CP15=y
211CONFIG_CPU_CP15_MMU=y
212
213#
214# Processor Features
215#
216CONFIG_ARM_THUMB=y
217# CONFIG_CPU_ICACHE_DISABLE is not set
218# CONFIG_CPU_DCACHE_DISABLE is not set
219# CONFIG_CPU_BPREDICT_DISABLE is not set
220# CONFIG_OUTER_CACHE is not set
221
222#
223# Bus support
224#
225# CONFIG_PCI_SYSCALL is not set
226# CONFIG_ARCH_SUPPORTS_MSI is not set
227# CONFIG_PCCARD is not set
228
229#
230# Kernel Features
231#
232CONFIG_TICK_ONESHOT=y
233CONFIG_NO_HZ=y
234CONFIG_HIGH_RES_TIMERS=y
235CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
236CONFIG_PREEMPT=y
237CONFIG_HZ=100
238CONFIG_AEABI=y
239# CONFIG_OABI_COMPAT is not set
240CONFIG_ARCH_FLATMEM_HAS_HOLES=y
241# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
242CONFIG_SELECT_MEMORY_MODEL=y
243CONFIG_FLATMEM_MANUAL=y
244# CONFIG_DISCONTIGMEM_MANUAL is not set
245# CONFIG_SPARSEMEM_MANUAL is not set
246CONFIG_FLATMEM=y
247CONFIG_FLAT_NODE_MEM_MAP=y
248# CONFIG_SPARSEMEM_STATIC is not set
249# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
250CONFIG_PAGEFLAGS_EXTENDED=y
251CONFIG_SPLIT_PTLOCK_CPUS=4
252# CONFIG_RESOURCES_64BIT is not set
253CONFIG_ZONE_DMA_FLAG=1
254CONFIG_BOUNCE=y
255CONFIG_VIRT_TO_BUS=y
256CONFIG_ALIGNMENT_TRAP=y
257
258#
259# Boot options
260#
261CONFIG_ZBOOT_ROM_TEXT=0x0
262CONFIG_ZBOOT_ROM_BSS=0x0
263CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off"
264# CONFIG_XIP_KERNEL is not set
265# CONFIG_KEXEC is not set
266
267#
268# Floating point emulation
269#
270
271#
272# At least one emulation must be selected
273#
274CONFIG_VFP=y
275
276#
277# Userspace binary formats
278#
279CONFIG_BINFMT_ELF=y
280# CONFIG_BINFMT_AOUT is not set
281# CONFIG_BINFMT_MISC is not set
282
283#
284# Power management options
285#
286# CONFIG_PM is not set
287CONFIG_ARCH_SUSPEND_POSSIBLE=y
288CONFIG_NET=y
289
290#
291# Networking options
292#
293CONFIG_PACKET=y
294# CONFIG_PACKET_MMAP is not set
295CONFIG_UNIX=y
296# CONFIG_NET_KEY is not set
297CONFIG_INET=y
298# CONFIG_IP_MULTICAST is not set
299# CONFIG_IP_ADVANCED_ROUTER is not set
300CONFIG_IP_FIB_HASH=y
301CONFIG_IP_PNP=y
302CONFIG_IP_PNP_DHCP=y
303# CONFIG_IP_PNP_BOOTP is not set
304# CONFIG_IP_PNP_RARP is not set
305# CONFIG_NET_IPIP is not set
306# CONFIG_NET_IPGRE is not set
307# CONFIG_ARPD is not set
308# CONFIG_SYN_COOKIES is not set
309# CONFIG_INET_AH is not set
310# CONFIG_INET_ESP is not set
311# CONFIG_INET_IPCOMP is not set
312# CONFIG_INET_XFRM_TUNNEL is not set
313# CONFIG_INET_TUNNEL is not set
314# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
315# CONFIG_INET_XFRM_MODE_TUNNEL is not set
316# CONFIG_INET_XFRM_MODE_BEET is not set
317# CONFIG_INET_LRO is not set
318# CONFIG_INET_DIAG is not set
319# CONFIG_TCP_CONG_ADVANCED is not set
320CONFIG_TCP_CONG_CUBIC=y
321CONFIG_DEFAULT_TCP_CONG="cubic"
322# CONFIG_TCP_MD5SIG is not set
323# CONFIG_IPV6 is not set
324# CONFIG_NETWORK_SECMARK is not set
325# CONFIG_NETFILTER is not set
326# CONFIG_IP_DCCP is not set
327# CONFIG_IP_SCTP is not set
328# CONFIG_TIPC is not set
329# CONFIG_ATM is not set
330# CONFIG_BRIDGE is not set
331# CONFIG_VLAN_8021Q is not set
332# CONFIG_DECNET is not set
333# CONFIG_LLC2 is not set
334# CONFIG_IPX is not set
335# CONFIG_ATALK is not set
336# CONFIG_X25 is not set
337# CONFIG_LAPB is not set
338# CONFIG_ECONET is not set
339# CONFIG_WAN_ROUTER is not set
340# CONFIG_NET_SCHED is not set
341
342#
343# Network testing
344#
345# CONFIG_NET_PKTGEN is not set
346# CONFIG_HAMRADIO is not set
347# CONFIG_CAN is not set
348# CONFIG_IRDA is not set
349# CONFIG_BT is not set
350# CONFIG_AF_RXRPC is not set
351
352#
353# Wireless
354#
355# CONFIG_CFG80211 is not set
356# CONFIG_WIRELESS_EXT is not set
357# CONFIG_MAC80211 is not set
358# CONFIG_IEEE80211 is not set
359# CONFIG_RFKILL is not set
360# CONFIG_NET_9P is not set
361
362#
363# Device Drivers
364#
365
366#
367# Generic Driver Options
368#
369CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
370CONFIG_STANDALONE=y
371CONFIG_PREVENT_FIRMWARE_BUILD=y
372CONFIG_FW_LOADER=m
373CONFIG_FIRMWARE_IN_KERNEL=y
374CONFIG_EXTRA_FIRMWARE=""
375# CONFIG_SYS_HYPERVISOR is not set
376# CONFIG_CONNECTOR is not set
377CONFIG_MTD=y
378# CONFIG_MTD_DEBUG is not set
379# CONFIG_MTD_CONCAT is not set
380CONFIG_MTD_PARTITIONS=y
381CONFIG_MTD_REDBOOT_PARTS=y
382CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
383# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
384CONFIG_MTD_REDBOOT_PARTS_READONLY=y
385# CONFIG_MTD_CMDLINE_PARTS is not set
386# CONFIG_MTD_AFS_PARTS is not set
387# CONFIG_MTD_AR7_PARTS is not set
388
389#
390# User Modules And Translation Layers
391#
392CONFIG_MTD_CHAR=y
393CONFIG_MTD_BLKDEVS=y
394CONFIG_MTD_BLOCK=y
395# CONFIG_FTL is not set
396# CONFIG_NFTL is not set
397# CONFIG_INFTL is not set
398# CONFIG_RFD_FTL is not set
399# CONFIG_SSFDC is not set
400# CONFIG_MTD_OOPS is not set
401
402#
403# RAM/ROM/Flash chip drivers
404#
405CONFIG_MTD_CFI=y
406# CONFIG_MTD_JEDECPROBE is not set
407CONFIG_MTD_GEN_PROBE=y
408CONFIG_MTD_CFI_ADV_OPTIONS=y
409CONFIG_MTD_CFI_NOSWAP=y
410# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
411# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
412CONFIG_MTD_CFI_GEOMETRY=y
413# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
414CONFIG_MTD_MAP_BANK_WIDTH_2=y
415# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
416# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
417# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
418# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
419CONFIG_MTD_CFI_I1=y
420# CONFIG_MTD_CFI_I2 is not set
421# CONFIG_MTD_CFI_I4 is not set
422# CONFIG_MTD_CFI_I8 is not set
423# CONFIG_MTD_OTP is not set
424# CONFIG_MTD_CFI_INTELEXT is not set
425CONFIG_MTD_CFI_AMDSTD=y
426# CONFIG_MTD_CFI_STAA is not set
427CONFIG_MTD_CFI_UTIL=y
428# CONFIG_MTD_RAM is not set
429# CONFIG_MTD_ROM is not set
430# CONFIG_MTD_ABSENT is not set
431# CONFIG_MTD_XIP is not set
432
433#
434# Mapping drivers for chip access
435#
436# CONFIG_MTD_COMPLEX_MAPPINGS is not set
437CONFIG_MTD_PHYSMAP=y
438CONFIG_MTD_PHYSMAP_START=0x0
439CONFIG_MTD_PHYSMAP_LEN=0x0
440CONFIG_MTD_PHYSMAP_BANKWIDTH=2
441# CONFIG_MTD_ARM_INTEGRATOR is not set
442# CONFIG_MTD_PLATRAM is not set
443
444#
445# Self-contained MTD device drivers
446#
447# CONFIG_MTD_SLRAM is not set
448# CONFIG_MTD_PHRAM is not set
449# CONFIG_MTD_MTDRAM is not set
450# CONFIG_MTD_BLOCK2MTD is not set
451
452#
453# Disk-On-Chip Device Drivers
454#
455# CONFIG_MTD_DOC2000 is not set
456# CONFIG_MTD_DOC2001 is not set
457# CONFIG_MTD_DOC2001PLUS is not set
458# CONFIG_MTD_NAND is not set
459# CONFIG_MTD_ONENAND is not set
460
461#
462# UBI - Unsorted block images
463#
464# CONFIG_MTD_UBI is not set
465# CONFIG_PARPORT is not set
466# CONFIG_BLK_DEV is not set
467# CONFIG_MISC_DEVICES is not set
468CONFIG_HAVE_IDE=y
469# CONFIG_IDE is not set
470
471#
472# SCSI device support
473#
474# CONFIG_RAID_ATTRS is not set
475# CONFIG_SCSI is not set
476# CONFIG_SCSI_DMA is not set
477# CONFIG_SCSI_NETLINK is not set
478# CONFIG_ATA is not set
479# CONFIG_MD is not set
480CONFIG_NETDEVICES=y
481# CONFIG_DUMMY is not set
482# CONFIG_BONDING is not set
483# CONFIG_MACVLAN is not set
484# CONFIG_EQUALIZER is not set
485# CONFIG_TUN is not set
486# CONFIG_VETH is not set
487# CONFIG_PHYLIB is not set
488CONFIG_NET_ETHERNET=y
489CONFIG_MII=y
490# CONFIG_AX88796 is not set
491CONFIG_SMC91X=y
492# CONFIG_DM9000 is not set
493# CONFIG_IBM_NEW_EMAC_ZMII is not set
494# CONFIG_IBM_NEW_EMAC_RGMII is not set
495# CONFIG_IBM_NEW_EMAC_TAH is not set
496# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
497# CONFIG_B44 is not set
498# CONFIG_NETDEV_1000 is not set
499# CONFIG_NETDEV_10000 is not set
500
501#
502# Wireless LAN
503#
504# CONFIG_WLAN_PRE80211 is not set
505# CONFIG_WLAN_80211 is not set
506# CONFIG_IWLWIFI_LEDS is not set
507# CONFIG_WAN is not set
508# CONFIG_PPP is not set
509# CONFIG_SLIP is not set
510# CONFIG_NETCONSOLE is not set
511# CONFIG_NETPOLL is not set
512# CONFIG_NET_POLL_CONTROLLER is not set
513# CONFIG_ISDN is not set
514
515#
516# Input device support
517#
518# CONFIG_INPUT is not set
519
520#
521# Hardware I/O ports
522#
523# CONFIG_SERIO is not set
524# CONFIG_GAMEPORT is not set
525
526#
527# Character devices
528#
529# CONFIG_VT is not set
530CONFIG_DEVKMEM=y
531# CONFIG_SERIAL_NONSTANDARD is not set
532
533#
534# Serial drivers
535#
536# CONFIG_SERIAL_8250 is not set
537
538#
539# Non-8250 serial port support
540#
541CONFIG_SERIAL_IMX=y
542CONFIG_SERIAL_IMX_CONSOLE=y
543CONFIG_SERIAL_CORE=y
544CONFIG_SERIAL_CORE_CONSOLE=y
545CONFIG_UNIX98_PTYS=y
546# CONFIG_LEGACY_PTYS is not set
547# CONFIG_IPMI_HANDLER is not set
548# CONFIG_HW_RANDOM is not set
549# CONFIG_NVRAM is not set
550# CONFIG_R3964 is not set
551# CONFIG_RAW_DRIVER is not set
552# CONFIG_TCG_TPM is not set
553# CONFIG_I2C is not set
554# CONFIG_SPI is not set
555CONFIG_ARCH_REQUIRE_GPIOLIB=y
556CONFIG_GPIOLIB=y
557# CONFIG_GPIO_SYSFS is not set
558
559#
560# I2C GPIO expanders:
561#
562
563#
564# PCI GPIO expanders:
565#
566
567#
568# SPI GPIO expanders:
569#
570# CONFIG_W1 is not set
571# CONFIG_POWER_SUPPLY is not set
572# CONFIG_HWMON is not set
573# CONFIG_WATCHDOG is not set
574
575#
576# Sonics Silicon Backplane
577#
578CONFIG_SSB_POSSIBLE=y
579# CONFIG_SSB is not set
580
581#
582# Multifunction device drivers
583#
584# CONFIG_MFD_CORE is not set
585# CONFIG_MFD_SM501 is not set
586# CONFIG_HTC_EGPIO is not set
587# CONFIG_HTC_PASIC3 is not set
588# CONFIG_MFD_TMIO is not set
589# CONFIG_MFD_T7L66XB is not set
590# CONFIG_MFD_TC6387XB is not set
591# CONFIG_MFD_TC6393XB is not set
592
593#
594# Multimedia devices
595#
596
597#
598# Multimedia core support
599#
600# CONFIG_VIDEO_DEV is not set
601# CONFIG_DVB_CORE is not set
602# CONFIG_VIDEO_MEDIA is not set
603
604#
605# Multimedia drivers
606#
607# CONFIG_DAB is not set
608
609#
610# Graphics support
611#
612# CONFIG_VGASTATE is not set
613# CONFIG_VIDEO_OUTPUT_CONTROL is not set
614# CONFIG_FB is not set
615# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
616
617#
618# Display device support
619#
620# CONFIG_DISPLAY_SUPPORT is not set
621# CONFIG_SOUND is not set
622# CONFIG_USB_SUPPORT is not set
623# CONFIG_MMC is not set
624# CONFIG_NEW_LEDS is not set
625CONFIG_RTC_LIB=y
626# CONFIG_RTC_CLASS is not set
627# CONFIG_DMADEVICES is not set
628
629#
630# Voltage and Current regulators
631#
632# CONFIG_REGULATOR is not set
633# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
634# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
635# CONFIG_REGULATOR_BQ24022 is not set
636# CONFIG_UIO is not set
637
638#
639# File systems
640#
641# CONFIG_EXT2_FS is not set
642# CONFIG_EXT3_FS is not set
643# CONFIG_EXT4DEV_FS is not set
644# CONFIG_REISERFS_FS is not set
645# CONFIG_JFS_FS is not set
646# CONFIG_FS_POSIX_ACL is not set
647# CONFIG_XFS_FS is not set
648# CONFIG_OCFS2_FS is not set
649# CONFIG_DNOTIFY is not set
650CONFIG_INOTIFY=y
651CONFIG_INOTIFY_USER=y
652# CONFIG_QUOTA is not set
653# CONFIG_AUTOFS_FS is not set
654# CONFIG_AUTOFS4_FS is not set
655# CONFIG_FUSE_FS is not set
656
657#
658# CD-ROM/DVD Filesystems
659#
660# CONFIG_ISO9660_FS is not set
661# CONFIG_UDF_FS is not set
662
663#
664# DOS/FAT/NT Filesystems
665#
666# CONFIG_MSDOS_FS is not set
667# CONFIG_VFAT_FS is not set
668# CONFIG_NTFS_FS is not set
669
670#
671# Pseudo filesystems
672#
673CONFIG_PROC_FS=y
674CONFIG_PROC_SYSCTL=y
675CONFIG_SYSFS=y
676CONFIG_TMPFS=y
677# CONFIG_TMPFS_POSIX_ACL is not set
678# CONFIG_HUGETLB_PAGE is not set
679# CONFIG_CONFIGFS_FS is not set
680
681#
682# Miscellaneous filesystems
683#
684# CONFIG_ADFS_FS is not set
685# CONFIG_AFFS_FS is not set
686# CONFIG_HFS_FS is not set
687# CONFIG_HFSPLUS_FS is not set
688# CONFIG_BEFS_FS is not set
689# CONFIG_BFS_FS is not set
690# CONFIG_EFS_FS is not set
691CONFIG_JFFS2_FS=y
692CONFIG_JFFS2_FS_DEBUG=0
693CONFIG_JFFS2_FS_WRITEBUFFER=y
694# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
695# CONFIG_JFFS2_SUMMARY is not set
696# CONFIG_JFFS2_FS_XATTR is not set
697# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
698CONFIG_JFFS2_ZLIB=y
699# CONFIG_JFFS2_LZO is not set
700CONFIG_JFFS2_RTIME=y
701# CONFIG_JFFS2_RUBIN is not set
702# CONFIG_CRAMFS is not set
703# CONFIG_VXFS_FS is not set
704# CONFIG_MINIX_FS is not set
705# CONFIG_OMFS_FS is not set
706# CONFIG_HPFS_FS is not set
707# CONFIG_QNX4FS_FS is not set
708# CONFIG_ROMFS_FS is not set
709# CONFIG_SYSV_FS is not set
710# CONFIG_UFS_FS is not set
711CONFIG_NETWORK_FILESYSTEMS=y
712CONFIG_NFS_FS=y
713# CONFIG_NFS_V3 is not set
714# CONFIG_NFS_V4 is not set
715CONFIG_ROOT_NFS=y
716# CONFIG_NFSD is not set
717CONFIG_LOCKD=y
718CONFIG_NFS_COMMON=y
719CONFIG_SUNRPC=y
720# CONFIG_RPCSEC_GSS_KRB5 is not set
721# CONFIG_RPCSEC_GSS_SPKM3 is not set
722# CONFIG_SMB_FS is not set
723# CONFIG_CIFS is not set
724# CONFIG_NCP_FS is not set
725# CONFIG_CODA_FS is not set
726# CONFIG_AFS_FS is not set
727
728#
729# Partition Types
730#
731# CONFIG_PARTITION_ADVANCED is not set
732CONFIG_MSDOS_PARTITION=y
733# CONFIG_NLS is not set
734# CONFIG_DLM is not set
735
736#
737# Kernel hacking
738#
739# CONFIG_PRINTK_TIME is not set
740# CONFIG_ENABLE_WARN_DEPRECATED is not set
741# CONFIG_ENABLE_MUST_CHECK is not set
742CONFIG_FRAME_WARN=1024
743# CONFIG_MAGIC_SYSRQ is not set
744# CONFIG_UNUSED_SYMBOLS is not set
745# CONFIG_DEBUG_FS is not set
746# CONFIG_HEADERS_CHECK is not set
747# CONFIG_DEBUG_KERNEL is not set
748# CONFIG_DEBUG_BUGVERBOSE is not set
749# CONFIG_DEBUG_MEMORY_INIT is not set
750CONFIG_FRAME_POINTER=y
751# CONFIG_LATENCYTOP is not set
752CONFIG_SYSCTL_SYSCALL_CHECK=y
753CONFIG_HAVE_FTRACE=y
754CONFIG_HAVE_DYNAMIC_FTRACE=y
755# CONFIG_FTRACE is not set
756# CONFIG_IRQSOFF_TRACER is not set
757# CONFIG_PREEMPT_TRACER is not set
758# CONFIG_SCHED_TRACER is not set
759# CONFIG_CONTEXT_SWITCH_TRACER is not set
760# CONFIG_SAMPLES is not set
761CONFIG_HAVE_ARCH_KGDB=y
762# CONFIG_DEBUG_USER is not set
763
764#
765# Security options
766#
767# CONFIG_KEYS is not set
768# CONFIG_SECURITY is not set
769# CONFIG_SECURITY_FILE_CAPABILITIES is not set
770# CONFIG_CRYPTO is not set
771
772#
773# Library routines
774#
775CONFIG_BITREVERSE=y
776# CONFIG_GENERIC_FIND_FIRST_BIT is not set
777# CONFIG_GENERIC_FIND_NEXT_BIT is not set
778# CONFIG_CRC_CCITT is not set
779# CONFIG_CRC16 is not set
780# CONFIG_CRC_T10DIF is not set
781# CONFIG_CRC_ITU_T is not set
782CONFIG_CRC32=y
783# CONFIG_CRC7 is not set
784# CONFIG_LIBCRC32C is not set
785CONFIG_ZLIB_INFLATE=y
786CONFIG_ZLIB_DEFLATE=y
787CONFIG_PLIST=y
788CONFIG_HAS_IOMEM=y
789CONFIG_HAS_IOPORT=y
790CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/mx3_defconfig b/arch/arm/configs/mx3_defconfig
index 72a8201a5370..20ada526f6de 100644
--- a/arch/arm/configs/mx3_defconfig
+++ b/arch/arm/configs/mx3_defconfig
@@ -197,7 +197,7 @@ CONFIG_MXC_PWM=y
197# 197#
198CONFIG_CPU_32=y 198CONFIG_CPU_32=y
199CONFIG_CPU_V6=y 199CONFIG_CPU_V6=y
200CONFIG_CPU_32v6K=y 200# CONFIG_CPU_32v6K is not set
201CONFIG_CPU_32v6=y 201CONFIG_CPU_32v6=y
202CONFIG_CPU_ABRT_EV6=y 202CONFIG_CPU_ABRT_EV6=y
203CONFIG_CPU_PABRT_NOIFAR=y 203CONFIG_CPU_PABRT_NOIFAR=y
diff --git a/arch/arm/configs/orion5x_defconfig b/arch/arm/configs/orion5x_defconfig
index 020e6a8a9e5c..5b98f7645119 100644
--- a/arch/arm/configs/orion5x_defconfig
+++ b/arch/arm/configs/orion5x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc4 3# Linux kernel version: 2.6.30-rc4
4# Fri Aug 22 12:38:51 2008 4# Mon May 4 14:07:25 2009
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -22,8 +22,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set 22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_GENERIC_HWEIGHT=y 23CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y 24CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_ARCH_SUPPORTS_AOUT=y
26CONFIG_ZONE_DMA=y
27CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 25CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
28CONFIG_VECTORS_BASE=0xffff0000 26CONFIG_VECTORS_BASE=0xffff0000
29CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -44,10 +42,19 @@ CONFIG_SYSVIPC_SYSCTL=y
44# CONFIG_BSD_PROCESS_ACCT is not set 42# CONFIG_BSD_PROCESS_ACCT is not set
45# CONFIG_TASKSTATS is not set 43# CONFIG_TASKSTATS is not set
46# CONFIG_AUDIT is not set 44# CONFIG_AUDIT is not set
45
46#
47# RCU Subsystem
48#
49CONFIG_CLASSIC_RCU=y
50# CONFIG_TREE_RCU is not set
51# CONFIG_PREEMPT_RCU is not set
52# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_PREEMPT_RCU_TRACE is not set
47# CONFIG_IKCONFIG is not set 54# CONFIG_IKCONFIG is not set
48CONFIG_LOG_BUF_SHIFT=14 55CONFIG_LOG_BUF_SHIFT=14
49# CONFIG_CGROUPS is not set
50# CONFIG_GROUP_SCHED is not set 56# CONFIG_GROUP_SCHED is not set
57# CONFIG_CGROUPS is not set
51CONFIG_SYSFS_DEPRECATED=y 58CONFIG_SYSFS_DEPRECATED=y
52CONFIG_SYSFS_DEPRECATED_V2=y 59CONFIG_SYSFS_DEPRECATED_V2=y
53# CONFIG_RELAY is not set 60# CONFIG_RELAY is not set
@@ -55,48 +62,45 @@ CONFIG_SYSFS_DEPRECATED_V2=y
55# CONFIG_BLK_DEV_INITRD is not set 62# CONFIG_BLK_DEV_INITRD is not set
56CONFIG_CC_OPTIMIZE_FOR_SIZE=y 63CONFIG_CC_OPTIMIZE_FOR_SIZE=y
57CONFIG_SYSCTL=y 64CONFIG_SYSCTL=y
65CONFIG_ANON_INODES=y
58CONFIG_EMBEDDED=y 66CONFIG_EMBEDDED=y
59CONFIG_UID16=y 67CONFIG_UID16=y
60CONFIG_SYSCTL_SYSCALL=y 68CONFIG_SYSCTL_SYSCALL=y
61CONFIG_KALLSYMS=y 69CONFIG_KALLSYMS=y
62CONFIG_KALLSYMS_ALL=y 70CONFIG_KALLSYMS_ALL=y
63# CONFIG_KALLSYMS_EXTRA_PASS is not set 71# CONFIG_KALLSYMS_EXTRA_PASS is not set
72# CONFIG_STRIP_ASM_SYMS is not set
64CONFIG_HOTPLUG=y 73CONFIG_HOTPLUG=y
65CONFIG_PRINTK=y 74CONFIG_PRINTK=y
66CONFIG_BUG=y 75CONFIG_BUG=y
67CONFIG_ELF_CORE=y 76CONFIG_ELF_CORE=y
68CONFIG_COMPAT_BRK=y
69CONFIG_BASE_FULL=y 77CONFIG_BASE_FULL=y
70CONFIG_FUTEX=y 78CONFIG_FUTEX=y
71CONFIG_ANON_INODES=y
72CONFIG_EPOLL=y 79CONFIG_EPOLL=y
73CONFIG_SIGNALFD=y 80CONFIG_SIGNALFD=y
74CONFIG_TIMERFD=y 81CONFIG_TIMERFD=y
75CONFIG_EVENTFD=y 82CONFIG_EVENTFD=y
76CONFIG_SHMEM=y 83CONFIG_SHMEM=y
84CONFIG_AIO=y
77CONFIG_VM_EVENT_COUNTERS=y 85CONFIG_VM_EVENT_COUNTERS=y
86CONFIG_PCI_QUIRKS=y
78# CONFIG_SLUB_DEBUG is not set 87# CONFIG_SLUB_DEBUG is not set
88CONFIG_COMPAT_BRK=y
79# CONFIG_SLAB is not set 89# CONFIG_SLAB is not set
80CONFIG_SLUB=y 90CONFIG_SLUB=y
81# CONFIG_SLOB is not set 91# CONFIG_SLOB is not set
82CONFIG_PROFILING=y 92CONFIG_PROFILING=y
93CONFIG_TRACEPOINTS=y
83# CONFIG_MARKERS is not set 94# CONFIG_MARKERS is not set
84CONFIG_OPROFILE=y 95CONFIG_OPROFILE=y
85CONFIG_HAVE_OPROFILE=y 96CONFIG_HAVE_OPROFILE=y
86CONFIG_KPROBES=y 97CONFIG_KPROBES=y
87# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
88CONFIG_KRETPROBES=y 98CONFIG_KRETPROBES=y
89# CONFIG_HAVE_IOREMAP_PROT is not set
90CONFIG_HAVE_KPROBES=y 99CONFIG_HAVE_KPROBES=y
91CONFIG_HAVE_KRETPROBES=y 100CONFIG_HAVE_KRETPROBES=y
92# CONFIG_HAVE_ARCH_TRACEHOOK is not set 101# CONFIG_SLOW_WORK is not set
93# CONFIG_HAVE_DMA_ATTRS is not set
94# CONFIG_USE_GENERIC_SMP_HELPERS is not set
95# CONFIG_HAVE_CLK is not set
96CONFIG_PROC_PAGE_MONITOR=y
97CONFIG_HAVE_GENERIC_DMA_COHERENT=y 102CONFIG_HAVE_GENERIC_DMA_COHERENT=y
98CONFIG_RT_MUTEXES=y 103CONFIG_RT_MUTEXES=y
99# CONFIG_TINY_SHMEM is not set
100CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
101CONFIG_MODULES=y 105CONFIG_MODULES=y
102# CONFIG_MODULE_FORCE_LOAD is not set 106# CONFIG_MODULE_FORCE_LOAD is not set
@@ -104,11 +108,8 @@ CONFIG_MODULE_UNLOAD=y
104# CONFIG_MODULE_FORCE_UNLOAD is not set 108# CONFIG_MODULE_FORCE_UNLOAD is not set
105# CONFIG_MODVERSIONS is not set 109# CONFIG_MODVERSIONS is not set
106# CONFIG_MODULE_SRCVERSION_ALL is not set 110# CONFIG_MODULE_SRCVERSION_ALL is not set
107CONFIG_KMOD=y
108CONFIG_BLOCK=y 111CONFIG_BLOCK=y
109# CONFIG_LBD is not set 112# CONFIG_LBD is not set
110# CONFIG_BLK_DEV_IO_TRACE is not set
111# CONFIG_LSF is not set
112# CONFIG_BLK_DEV_BSG is not set 113# CONFIG_BLK_DEV_BSG is not set
113# CONFIG_BLK_DEV_INTEGRITY is not set 114# CONFIG_BLK_DEV_INTEGRITY is not set
114 115
@@ -124,7 +125,7 @@ CONFIG_IOSCHED_CFQ=y
124CONFIG_DEFAULT_CFQ=y 125CONFIG_DEFAULT_CFQ=y
125# CONFIG_DEFAULT_NOOP is not set 126# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="cfq" 127CONFIG_DEFAULT_IOSCHED="cfq"
127CONFIG_CLASSIC_RCU=y 128# CONFIG_FREEZER is not set
128 129
129# 130#
130# System Type 131# System Type
@@ -134,10 +135,10 @@ CONFIG_CLASSIC_RCU=y
134# CONFIG_ARCH_REALVIEW is not set 135# CONFIG_ARCH_REALVIEW is not set
135# CONFIG_ARCH_VERSATILE is not set 136# CONFIG_ARCH_VERSATILE is not set
136# CONFIG_ARCH_AT91 is not set 137# CONFIG_ARCH_AT91 is not set
137# CONFIG_ARCH_CLPS7500 is not set
138# CONFIG_ARCH_CLPS711X is not set 138# CONFIG_ARCH_CLPS711X is not set
139# CONFIG_ARCH_EBSA110 is not set 139# CONFIG_ARCH_EBSA110 is not set
140# CONFIG_ARCH_EP93XX is not set 140# CONFIG_ARCH_EP93XX is not set
141# CONFIG_ARCH_GEMINI is not set
141# CONFIG_ARCH_FOOTBRIDGE is not set 142# CONFIG_ARCH_FOOTBRIDGE is not set
142# CONFIG_ARCH_NETX is not set 143# CONFIG_ARCH_NETX is not set
143# CONFIG_ARCH_H720X is not set 144# CONFIG_ARCH_H720X is not set
@@ -158,14 +159,17 @@ CONFIG_CLASSIC_RCU=y
158CONFIG_ARCH_ORION5X=y 159CONFIG_ARCH_ORION5X=y
159# CONFIG_ARCH_PNX4008 is not set 160# CONFIG_ARCH_PNX4008 is not set
160# CONFIG_ARCH_PXA is not set 161# CONFIG_ARCH_PXA is not set
162# CONFIG_ARCH_MMP is not set
161# CONFIG_ARCH_RPC is not set 163# CONFIG_ARCH_RPC is not set
162# CONFIG_ARCH_SA1100 is not set 164# CONFIG_ARCH_SA1100 is not set
163# CONFIG_ARCH_S3C2410 is not set 165# CONFIG_ARCH_S3C2410 is not set
166# CONFIG_ARCH_S3C64XX is not set
164# CONFIG_ARCH_SHARK is not set 167# CONFIG_ARCH_SHARK is not set
165# CONFIG_ARCH_LH7A40X is not set 168# CONFIG_ARCH_LH7A40X is not set
166# CONFIG_ARCH_DAVINCI is not set 169# CONFIG_ARCH_DAVINCI is not set
167# CONFIG_ARCH_OMAP is not set 170# CONFIG_ARCH_OMAP is not set
168# CONFIG_ARCH_MSM7X00A is not set 171# CONFIG_ARCH_MSM is not set
172# CONFIG_ARCH_W90X900 is not set
169 173
170# 174#
171# Orion Implementations 175# Orion Implementations
@@ -175,6 +179,7 @@ CONFIG_MACH_RD88F5182=y
175CONFIG_MACH_KUROBOX_PRO=y 179CONFIG_MACH_KUROBOX_PRO=y
176CONFIG_MACH_DNS323=y 180CONFIG_MACH_DNS323=y
177CONFIG_MACH_TS209=y 181CONFIG_MACH_TS209=y
182CONFIG_MACH_TERASTATION_PRO2=y
178CONFIG_MACH_LINKSTATION_PRO=y 183CONFIG_MACH_LINKSTATION_PRO=y
179CONFIG_MACH_LINKSTATION_MINI=y 184CONFIG_MACH_LINKSTATION_MINI=y
180CONFIG_MACH_TS409=y 185CONFIG_MACH_TS409=y
@@ -187,14 +192,6 @@ CONFIG_MACH_WNR854T=y
187CONFIG_MACH_RD88F5181L_GE=y 192CONFIG_MACH_RD88F5181L_GE=y
188CONFIG_MACH_RD88F5181L_FXO=y 193CONFIG_MACH_RD88F5181L_FXO=y
189CONFIG_MACH_RD88F6183AP_GE=y 194CONFIG_MACH_RD88F6183AP_GE=y
190
191#
192# Boot options
193#
194
195#
196# Power management
197#
198CONFIG_PLAT_ORION=y 195CONFIG_PLAT_ORION=y
199 196
200# 197#
@@ -228,6 +225,8 @@ CONFIG_PCI_SYSCALL=y
228# CONFIG_ARCH_SUPPORTS_MSI is not set 225# CONFIG_ARCH_SUPPORTS_MSI is not set
229CONFIG_PCI_LEGACY=y 226CONFIG_PCI_LEGACY=y
230# CONFIG_PCI_DEBUG is not set 227# CONFIG_PCI_DEBUG is not set
228# CONFIG_PCI_STUB is not set
229# CONFIG_PCI_IOV is not set
231# CONFIG_PCCARD is not set 230# CONFIG_PCCARD is not set
232 231
233# 232#
@@ -237,25 +236,32 @@ CONFIG_TICK_ONESHOT=y
237CONFIG_NO_HZ=y 236CONFIG_NO_HZ=y
238CONFIG_HIGH_RES_TIMERS=y 237CONFIG_HIGH_RES_TIMERS=y
239CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 238CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
239CONFIG_VMSPLIT_3G=y
240# CONFIG_VMSPLIT_2G is not set
241# CONFIG_VMSPLIT_1G is not set
242CONFIG_PAGE_OFFSET=0xC0000000
240CONFIG_PREEMPT=y 243CONFIG_PREEMPT=y
241CONFIG_HZ=100 244CONFIG_HZ=100
242CONFIG_AEABI=y 245CONFIG_AEABI=y
243CONFIG_OABI_COMPAT=y 246CONFIG_OABI_COMPAT=y
244# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set 247CONFIG_ARCH_FLATMEM_HAS_HOLES=y
248# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
249# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
250# CONFIG_HIGHMEM is not set
245CONFIG_SELECT_MEMORY_MODEL=y 251CONFIG_SELECT_MEMORY_MODEL=y
246CONFIG_FLATMEM_MANUAL=y 252CONFIG_FLATMEM_MANUAL=y
247# CONFIG_DISCONTIGMEM_MANUAL is not set 253# CONFIG_DISCONTIGMEM_MANUAL is not set
248# CONFIG_SPARSEMEM_MANUAL is not set 254# CONFIG_SPARSEMEM_MANUAL is not set
249CONFIG_FLATMEM=y 255CONFIG_FLATMEM=y
250CONFIG_FLAT_NODE_MEM_MAP=y 256CONFIG_FLAT_NODE_MEM_MAP=y
251# CONFIG_SPARSEMEM_STATIC is not set
252# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
253CONFIG_PAGEFLAGS_EXTENDED=y 257CONFIG_PAGEFLAGS_EXTENDED=y
254CONFIG_SPLIT_PTLOCK_CPUS=4096 258CONFIG_SPLIT_PTLOCK_CPUS=4096
255# CONFIG_RESOURCES_64BIT is not set 259# CONFIG_PHYS_ADDR_T_64BIT is not set
256CONFIG_ZONE_DMA_FLAG=1 260CONFIG_ZONE_DMA_FLAG=0
257CONFIG_BOUNCE=y
258CONFIG_VIRT_TO_BUS=y 261CONFIG_VIRT_TO_BUS=y
262CONFIG_UNEVICTABLE_LRU=y
263CONFIG_HAVE_MLOCK=y
264CONFIG_HAVE_MLOCKED_PAGE_BIT=y
259CONFIG_LEDS=y 265CONFIG_LEDS=y
260CONFIG_LEDS_CPU=y 266CONFIG_LEDS_CPU=y
261CONFIG_ALIGNMENT_TRAP=y 267CONFIG_ALIGNMENT_TRAP=y
@@ -270,6 +276,11 @@ CONFIG_CMDLINE=""
270# CONFIG_KEXEC is not set 276# CONFIG_KEXEC is not set
271 277
272# 278#
279# CPU Power Management
280#
281# CONFIG_CPU_IDLE is not set
282
283#
273# Floating point emulation 284# Floating point emulation
274# 285#
275 286
@@ -285,13 +296,18 @@ CONFIG_VFP=y
285# Userspace binary formats 296# Userspace binary formats
286# 297#
287CONFIG_BINFMT_ELF=y 298CONFIG_BINFMT_ELF=y
299# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
300CONFIG_HAVE_AOUT=y
288# CONFIG_BINFMT_AOUT is not set 301# CONFIG_BINFMT_AOUT is not set
289# CONFIG_BINFMT_MISC is not set 302# CONFIG_BINFMT_MISC is not set
290 303
291# 304#
292# Power management options 305# Power management options
293# 306#
294# CONFIG_PM is not set 307CONFIG_PM=y
308# CONFIG_PM_DEBUG is not set
309# CONFIG_SUSPEND is not set
310# CONFIG_APM_EMULATION is not set
295CONFIG_ARCH_SUSPEND_POSSIBLE=y 311CONFIG_ARCH_SUSPEND_POSSIBLE=y
296CONFIG_NET=y 312CONFIG_NET=y
297 313
@@ -328,7 +344,7 @@ CONFIG_IP_PNP_BOOTP=y
328CONFIG_INET_XFRM_MODE_TRANSPORT=y 344CONFIG_INET_XFRM_MODE_TRANSPORT=y
329CONFIG_INET_XFRM_MODE_TUNNEL=y 345CONFIG_INET_XFRM_MODE_TUNNEL=y
330CONFIG_INET_XFRM_MODE_BEET=y 346CONFIG_INET_XFRM_MODE_BEET=y
331# CONFIG_INET_LRO is not set 347CONFIG_INET_LRO=y
332CONFIG_INET_DIAG=y 348CONFIG_INET_DIAG=y
333CONFIG_INET_TCP_DIAG=y 349CONFIG_INET_TCP_DIAG=y
334# CONFIG_TCP_CONG_ADVANCED is not set 350# CONFIG_TCP_CONG_ADVANCED is not set
@@ -343,6 +359,15 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_TIPC is not set 359# CONFIG_TIPC is not set
344# CONFIG_ATM is not set 360# CONFIG_ATM is not set
345# CONFIG_BRIDGE is not set 361# CONFIG_BRIDGE is not set
362CONFIG_NET_DSA=y
363CONFIG_NET_DSA_TAG_DSA=y
364CONFIG_NET_DSA_TAG_EDSA=y
365# CONFIG_NET_DSA_TAG_TRAILER is not set
366CONFIG_NET_DSA_MV88E6XXX=y
367# CONFIG_NET_DSA_MV88E6060 is not set
368CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
369CONFIG_NET_DSA_MV88E6131=y
370CONFIG_NET_DSA_MV88E6123_61_65=y
346# CONFIG_VLAN_8021Q is not set 371# CONFIG_VLAN_8021Q is not set
347# CONFIG_DECNET is not set 372# CONFIG_DECNET is not set
348# CONFIG_LLC2 is not set 373# CONFIG_LLC2 is not set
@@ -352,27 +377,29 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
352# CONFIG_LAPB is not set 377# CONFIG_LAPB is not set
353# CONFIG_ECONET is not set 378# CONFIG_ECONET is not set
354# CONFIG_WAN_ROUTER is not set 379# CONFIG_WAN_ROUTER is not set
380# CONFIG_PHONET is not set
355# CONFIG_NET_SCHED is not set 381# CONFIG_NET_SCHED is not set
382# CONFIG_DCB is not set
356 383
357# 384#
358# Network testing 385# Network testing
359# 386#
360CONFIG_NET_PKTGEN=m 387CONFIG_NET_PKTGEN=m
361# CONFIG_NET_TCPPROBE is not set 388# CONFIG_NET_TCPPROBE is not set
389# CONFIG_NET_DROP_MONITOR is not set
362# CONFIG_HAMRADIO is not set 390# CONFIG_HAMRADIO is not set
363# CONFIG_CAN is not set 391# CONFIG_CAN is not set
364# CONFIG_IRDA is not set 392# CONFIG_IRDA is not set
365# CONFIG_BT is not set 393# CONFIG_BT is not set
366# CONFIG_AF_RXRPC is not set 394# CONFIG_AF_RXRPC is not set
367 395CONFIG_WIRELESS=y
368#
369# Wireless
370#
371# CONFIG_CFG80211 is not set 396# CONFIG_CFG80211 is not set
397# CONFIG_WIRELESS_OLD_REGULATORY is not set
372CONFIG_WIRELESS_EXT=y 398CONFIG_WIRELESS_EXT=y
373CONFIG_WIRELESS_EXT_SYSFS=y 399CONFIG_WIRELESS_EXT_SYSFS=y
400# CONFIG_LIB80211 is not set
374# CONFIG_MAC80211 is not set 401# CONFIG_MAC80211 is not set
375# CONFIG_IEEE80211 is not set 402# CONFIG_WIMAX is not set
376# CONFIG_RFKILL is not set 403# CONFIG_RFKILL is not set
377# CONFIG_NET_9P is not set 404# CONFIG_NET_9P is not set
378 405
@@ -397,6 +424,7 @@ CONFIG_MTD=y
397# CONFIG_MTD_DEBUG is not set 424# CONFIG_MTD_DEBUG is not set
398# CONFIG_MTD_CONCAT is not set 425# CONFIG_MTD_CONCAT is not set
399CONFIG_MTD_PARTITIONS=y 426CONFIG_MTD_PARTITIONS=y
427# CONFIG_MTD_TESTS is not set
400# CONFIG_MTD_REDBOOT_PARTS is not set 428# CONFIG_MTD_REDBOOT_PARTS is not set
401CONFIG_MTD_CMDLINE_PARTS=y 429CONFIG_MTD_CMDLINE_PARTS=y
402# CONFIG_MTD_AFS_PARTS is not set 430# CONFIG_MTD_AFS_PARTS is not set
@@ -450,9 +478,7 @@ CONFIG_MTD_CFI_UTIL=y
450# 478#
451# CONFIG_MTD_COMPLEX_MAPPINGS is not set 479# CONFIG_MTD_COMPLEX_MAPPINGS is not set
452CONFIG_MTD_PHYSMAP=y 480CONFIG_MTD_PHYSMAP=y
453CONFIG_MTD_PHYSMAP_START=0x0 481# CONFIG_MTD_PHYSMAP_COMPAT is not set
454CONFIG_MTD_PHYSMAP_LEN=0x0
455CONFIG_MTD_PHYSMAP_BANKWIDTH=0
456# CONFIG_MTD_ARM_INTEGRATOR is not set 482# CONFIG_MTD_ARM_INTEGRATOR is not set
457# CONFIG_MTD_IMPA7 is not set 483# CONFIG_MTD_IMPA7 is not set
458# CONFIG_MTD_INTEL_VR_NOR is not set 484# CONFIG_MTD_INTEL_VR_NOR is not set
@@ -477,6 +503,7 @@ CONFIG_MTD_NAND=y
477CONFIG_MTD_NAND_VERIFY_WRITE=y 503CONFIG_MTD_NAND_VERIFY_WRITE=y
478# CONFIG_MTD_NAND_ECC_SMC is not set 504# CONFIG_MTD_NAND_ECC_SMC is not set
479# CONFIG_MTD_NAND_MUSEUM_IDS is not set 505# CONFIG_MTD_NAND_MUSEUM_IDS is not set
506# CONFIG_MTD_NAND_GPIO is not set
480CONFIG_MTD_NAND_IDS=y 507CONFIG_MTD_NAND_IDS=y
481# CONFIG_MTD_NAND_DISKONCHIP is not set 508# CONFIG_MTD_NAND_DISKONCHIP is not set
482# CONFIG_MTD_NAND_CAFE is not set 509# CONFIG_MTD_NAND_CAFE is not set
@@ -487,6 +514,11 @@ CONFIG_MTD_NAND_ORION=y
487# CONFIG_MTD_ONENAND is not set 514# CONFIG_MTD_ONENAND is not set
488 515
489# 516#
517# LPDDR flash memory drivers
518#
519# CONFIG_MTD_LPDDR is not set
520
521#
490# UBI - Unsorted block images 522# UBI - Unsorted block images
491# 523#
492# CONFIG_MTD_UBI is not set 524# CONFIG_MTD_UBI is not set
@@ -507,11 +539,20 @@ CONFIG_BLK_DEV_LOOP=y
507# CONFIG_ATA_OVER_ETH is not set 539# CONFIG_ATA_OVER_ETH is not set
508CONFIG_MISC_DEVICES=y 540CONFIG_MISC_DEVICES=y
509# CONFIG_PHANTOM is not set 541# CONFIG_PHANTOM is not set
510# CONFIG_EEPROM_93CX6 is not set
511# CONFIG_SGI_IOC4 is not set 542# CONFIG_SGI_IOC4 is not set
512# CONFIG_TIFM_CORE is not set 543# CONFIG_TIFM_CORE is not set
544# CONFIG_ICS932S401 is not set
513# CONFIG_ENCLOSURE_SERVICES is not set 545# CONFIG_ENCLOSURE_SERVICES is not set
514# CONFIG_HP_ILO is not set 546# CONFIG_HP_ILO is not set
547# CONFIG_ISL29003 is not set
548# CONFIG_C2PORT is not set
549
550#
551# EEPROM support
552#
553# CONFIG_EEPROM_AT24 is not set
554# CONFIG_EEPROM_LEGACY is not set
555# CONFIG_EEPROM_93CX6 is not set
515CONFIG_HAVE_IDE=y 556CONFIG_HAVE_IDE=y
516# CONFIG_IDE is not set 557# CONFIG_IDE is not set
517 558
@@ -569,7 +610,11 @@ CONFIG_SCSI_LOWLEVEL=y
569# CONFIG_MEGARAID_NEWGEN is not set 610# CONFIG_MEGARAID_NEWGEN is not set
570# CONFIG_MEGARAID_LEGACY is not set 611# CONFIG_MEGARAID_LEGACY is not set
571# CONFIG_MEGARAID_SAS is not set 612# CONFIG_MEGARAID_SAS is not set
613# CONFIG_SCSI_MPT2SAS is not set
572# CONFIG_SCSI_HPTIOP is not set 614# CONFIG_SCSI_HPTIOP is not set
615# CONFIG_LIBFC is not set
616# CONFIG_LIBFCOE is not set
617# CONFIG_FCOE is not set
573# CONFIG_SCSI_DMX3191D is not set 618# CONFIG_SCSI_DMX3191D is not set
574# CONFIG_SCSI_FUTURE_DOMAIN is not set 619# CONFIG_SCSI_FUTURE_DOMAIN is not set
575# CONFIG_SCSI_IPS is not set 620# CONFIG_SCSI_IPS is not set
@@ -589,6 +634,7 @@ CONFIG_SCSI_LOWLEVEL=y
589# CONFIG_SCSI_DEBUG is not set 634# CONFIG_SCSI_DEBUG is not set
590# CONFIG_SCSI_SRP is not set 635# CONFIG_SCSI_SRP is not set
591# CONFIG_SCSI_DH is not set 636# CONFIG_SCSI_DH is not set
637# CONFIG_SCSI_OSD_INITIATOR is not set
592CONFIG_ATA=y 638CONFIG_ATA=y
593# CONFIG_ATA_NONSTANDARD is not set 639# CONFIG_ATA_NONSTANDARD is not set
594CONFIG_SATA_PMP=y 640CONFIG_SATA_PMP=y
@@ -663,6 +709,7 @@ CONFIG_SATA_MV=y
663# CONFIG_IEEE1394 is not set 709# CONFIG_IEEE1394 is not set
664# CONFIG_I2O is not set 710# CONFIG_I2O is not set
665CONFIG_NETDEVICES=y 711CONFIG_NETDEVICES=y
712CONFIG_COMPAT_NET_DEV_OPS=y
666# CONFIG_DUMMY is not set 713# CONFIG_DUMMY is not set
667# CONFIG_BONDING is not set 714# CONFIG_BONDING is not set
668# CONFIG_MACVLAN is not set 715# CONFIG_MACVLAN is not set
@@ -670,7 +717,26 @@ CONFIG_NETDEVICES=y
670# CONFIG_TUN is not set 717# CONFIG_TUN is not set
671# CONFIG_VETH is not set 718# CONFIG_VETH is not set
672# CONFIG_ARCNET is not set 719# CONFIG_ARCNET is not set
673# CONFIG_PHYLIB is not set 720CONFIG_PHYLIB=y
721
722#
723# MII PHY device drivers
724#
725CONFIG_MARVELL_PHY=y
726# CONFIG_DAVICOM_PHY is not set
727# CONFIG_QSEMI_PHY is not set
728# CONFIG_LXT_PHY is not set
729# CONFIG_CICADA_PHY is not set
730# CONFIG_VITESSE_PHY is not set
731# CONFIG_SMSC_PHY is not set
732# CONFIG_BROADCOM_PHY is not set
733# CONFIG_ICPLUS_PHY is not set
734# CONFIG_REALTEK_PHY is not set
735# CONFIG_NATIONAL_PHY is not set
736# CONFIG_STE10XP is not set
737# CONFIG_LSI_ET1011C_PHY is not set
738# CONFIG_FIXED_PHY is not set
739# CONFIG_MDIO_BITBANG is not set
674CONFIG_NET_ETHERNET=y 740CONFIG_NET_ETHERNET=y
675CONFIG_MII=y 741CONFIG_MII=y
676# CONFIG_AX88796 is not set 742# CONFIG_AX88796 is not set
@@ -680,19 +746,25 @@ CONFIG_MII=y
680# CONFIG_NET_VENDOR_3COM is not set 746# CONFIG_NET_VENDOR_3COM is not set
681# CONFIG_SMC91X is not set 747# CONFIG_SMC91X is not set
682# CONFIG_DM9000 is not set 748# CONFIG_DM9000 is not set
749# CONFIG_ETHOC is not set
750# CONFIG_SMC911X is not set
751# CONFIG_SMSC911X is not set
752# CONFIG_DNET is not set
683# CONFIG_NET_TULIP is not set 753# CONFIG_NET_TULIP is not set
684# CONFIG_HP100 is not set 754# CONFIG_HP100 is not set
685# CONFIG_IBM_NEW_EMAC_ZMII is not set 755# CONFIG_IBM_NEW_EMAC_ZMII is not set
686# CONFIG_IBM_NEW_EMAC_RGMII is not set 756# CONFIG_IBM_NEW_EMAC_RGMII is not set
687# CONFIG_IBM_NEW_EMAC_TAH is not set 757# CONFIG_IBM_NEW_EMAC_TAH is not set
688# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 758# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
759# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
760# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
761# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
689CONFIG_NET_PCI=y 762CONFIG_NET_PCI=y
690# CONFIG_PCNET32 is not set 763# CONFIG_PCNET32 is not set
691# CONFIG_AMD8111_ETH is not set 764# CONFIG_AMD8111_ETH is not set
692# CONFIG_ADAPTEC_STARFIRE is not set 765# CONFIG_ADAPTEC_STARFIRE is not set
693# CONFIG_B44 is not set 766# CONFIG_B44 is not set
694# CONFIG_FORCEDETH is not set 767# CONFIG_FORCEDETH is not set
695# CONFIG_EEPRO100 is not set
696# CONFIG_E100 is not set 768# CONFIG_E100 is not set
697# CONFIG_FEALNX is not set 769# CONFIG_FEALNX is not set
698# CONFIG_NATSEMI is not set 770# CONFIG_NATSEMI is not set
@@ -702,10 +774,12 @@ CONFIG_NET_PCI=y
702# CONFIG_R6040 is not set 774# CONFIG_R6040 is not set
703# CONFIG_SIS900 is not set 775# CONFIG_SIS900 is not set
704# CONFIG_EPIC100 is not set 776# CONFIG_EPIC100 is not set
777# CONFIG_SMSC9420 is not set
705# CONFIG_SUNDANCE is not set 778# CONFIG_SUNDANCE is not set
706# CONFIG_TLAN is not set 779# CONFIG_TLAN is not set
707# CONFIG_VIA_RHINE is not set 780# CONFIG_VIA_RHINE is not set
708# CONFIG_SC92031 is not set 781# CONFIG_SC92031 is not set
782# CONFIG_ATL2 is not set
709CONFIG_NETDEV_1000=y 783CONFIG_NETDEV_1000=y
710# CONFIG_ACENIC is not set 784# CONFIG_ACENIC is not set
711# CONFIG_DL2K is not set 785# CONFIG_DL2K is not set
@@ -713,6 +787,7 @@ CONFIG_NETDEV_1000=y
713# CONFIG_E1000E is not set 787# CONFIG_E1000E is not set
714# CONFIG_IP1000 is not set 788# CONFIG_IP1000 is not set
715# CONFIG_IGB is not set 789# CONFIG_IGB is not set
790# CONFIG_IGBVF is not set
716# CONFIG_NS83820 is not set 791# CONFIG_NS83820 is not set
717# CONFIG_HAMACHI is not set 792# CONFIG_HAMACHI is not set
718# CONFIG_YELLOWFIN is not set 793# CONFIG_YELLOWFIN is not set
@@ -727,6 +802,8 @@ CONFIG_MV643XX_ETH=y
727# CONFIG_QLA3XXX is not set 802# CONFIG_QLA3XXX is not set
728# CONFIG_ATL1 is not set 803# CONFIG_ATL1 is not set
729# CONFIG_ATL1E is not set 804# CONFIG_ATL1E is not set
805# CONFIG_ATL1C is not set
806# CONFIG_JME is not set
730# CONFIG_NETDEV_10000 is not set 807# CONFIG_NETDEV_10000 is not set
731# CONFIG_TR is not set 808# CONFIG_TR is not set
732 809
@@ -735,7 +812,10 @@ CONFIG_MV643XX_ETH=y
735# 812#
736# CONFIG_WLAN_PRE80211 is not set 813# CONFIG_WLAN_PRE80211 is not set
737# CONFIG_WLAN_80211 is not set 814# CONFIG_WLAN_80211 is not set
738# CONFIG_IWLWIFI_LEDS is not set 815
816#
817# Enable WiMAX (Networking options) to see the WiMAX drivers
818#
739 819
740# 820#
741# USB Network Adapters 821# USB Network Adapters
@@ -819,11 +899,11 @@ CONFIG_SERIAL_CORE=y
819CONFIG_SERIAL_CORE_CONSOLE=y 899CONFIG_SERIAL_CORE_CONSOLE=y
820# CONFIG_SERIAL_JSM is not set 900# CONFIG_SERIAL_JSM is not set
821CONFIG_UNIX98_PTYS=y 901CONFIG_UNIX98_PTYS=y
902# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
822CONFIG_LEGACY_PTYS=y 903CONFIG_LEGACY_PTYS=y
823CONFIG_LEGACY_PTY_COUNT=16 904CONFIG_LEGACY_PTY_COUNT=16
824# CONFIG_IPMI_HANDLER is not set 905# CONFIG_IPMI_HANDLER is not set
825# CONFIG_HW_RANDOM is not set 906# CONFIG_HW_RANDOM is not set
826# CONFIG_NVRAM is not set
827# CONFIG_R3964 is not set 907# CONFIG_R3964 is not set
828# CONFIG_APPLICOM is not set 908# CONFIG_APPLICOM is not set
829# CONFIG_RAW_DRIVER is not set 909# CONFIG_RAW_DRIVER is not set
@@ -886,12 +966,9 @@ CONFIG_I2C_MV64XXX=y
886# Miscellaneous I2C Chip support 966# Miscellaneous I2C Chip support
887# 967#
888# CONFIG_DS1682 is not set 968# CONFIG_DS1682 is not set
889# CONFIG_EEPROM_AT24 is not set
890# CONFIG_EEPROM_LEGACY is not set
891# CONFIG_SENSORS_PCF8574 is not set 969# CONFIG_SENSORS_PCF8574 is not set
892# CONFIG_PCF8575 is not set 970# CONFIG_PCF8575 is not set
893# CONFIG_SENSORS_PCA9539 is not set 971# CONFIG_SENSORS_PCA9539 is not set
894# CONFIG_SENSORS_PCF8591 is not set
895# CONFIG_SENSORS_MAX6875 is not set 972# CONFIG_SENSORS_MAX6875 is not set
896# CONFIG_SENSORS_TSL2550 is not set 973# CONFIG_SENSORS_TSL2550 is not set
897# CONFIG_I2C_DEBUG_CORE is not set 974# CONFIG_I2C_DEBUG_CORE is not set
@@ -911,14 +988,17 @@ CONFIG_HWMON=y
911# CONFIG_SENSORS_ADM1029 is not set 988# CONFIG_SENSORS_ADM1029 is not set
912# CONFIG_SENSORS_ADM1031 is not set 989# CONFIG_SENSORS_ADM1031 is not set
913# CONFIG_SENSORS_ADM9240 is not set 990# CONFIG_SENSORS_ADM9240 is not set
991# CONFIG_SENSORS_ADT7462 is not set
914# CONFIG_SENSORS_ADT7470 is not set 992# CONFIG_SENSORS_ADT7470 is not set
915# CONFIG_SENSORS_ADT7473 is not set 993# CONFIG_SENSORS_ADT7473 is not set
994# CONFIG_SENSORS_ADT7475 is not set
916# CONFIG_SENSORS_ATXP1 is not set 995# CONFIG_SENSORS_ATXP1 is not set
917# CONFIG_SENSORS_DS1621 is not set 996# CONFIG_SENSORS_DS1621 is not set
918# CONFIG_SENSORS_I5K_AMB is not set 997# CONFIG_SENSORS_I5K_AMB is not set
919# CONFIG_SENSORS_F71805F is not set 998# CONFIG_SENSORS_F71805F is not set
920# CONFIG_SENSORS_F71882FG is not set 999# CONFIG_SENSORS_F71882FG is not set
921# CONFIG_SENSORS_F75375S is not set 1000# CONFIG_SENSORS_F75375S is not set
1001# CONFIG_SENSORS_G760A is not set
922# CONFIG_SENSORS_GL518SM is not set 1002# CONFIG_SENSORS_GL518SM is not set
923# CONFIG_SENSORS_GL520SM is not set 1003# CONFIG_SENSORS_GL520SM is not set
924# CONFIG_SENSORS_IT87 is not set 1004# CONFIG_SENSORS_IT87 is not set
@@ -933,10 +1013,15 @@ CONFIG_SENSORS_LM75=y
933# CONFIG_SENSORS_LM90 is not set 1013# CONFIG_SENSORS_LM90 is not set
934# CONFIG_SENSORS_LM92 is not set 1014# CONFIG_SENSORS_LM92 is not set
935# CONFIG_SENSORS_LM93 is not set 1015# CONFIG_SENSORS_LM93 is not set
1016# CONFIG_SENSORS_LTC4215 is not set
1017# CONFIG_SENSORS_LTC4245 is not set
1018# CONFIG_SENSORS_LM95241 is not set
936# CONFIG_SENSORS_MAX1619 is not set 1019# CONFIG_SENSORS_MAX1619 is not set
937# CONFIG_SENSORS_MAX6650 is not set 1020# CONFIG_SENSORS_MAX6650 is not set
938# CONFIG_SENSORS_PC87360 is not set 1021# CONFIG_SENSORS_PC87360 is not set
939# CONFIG_SENSORS_PC87427 is not set 1022# CONFIG_SENSORS_PC87427 is not set
1023# CONFIG_SENSORS_PCF8591 is not set
1024# CONFIG_SENSORS_SHT15 is not set
940# CONFIG_SENSORS_SIS5595 is not set 1025# CONFIG_SENSORS_SIS5595 is not set
941# CONFIG_SENSORS_DME1737 is not set 1026# CONFIG_SENSORS_DME1737 is not set
942# CONFIG_SENSORS_SMSC47M1 is not set 1027# CONFIG_SENSORS_SMSC47M1 is not set
@@ -956,12 +1041,14 @@ CONFIG_SENSORS_LM75=y
956# CONFIG_SENSORS_W83627HF is not set 1041# CONFIG_SENSORS_W83627HF is not set
957# CONFIG_SENSORS_W83627EHF is not set 1042# CONFIG_SENSORS_W83627EHF is not set
958# CONFIG_HWMON_DEBUG_CHIP is not set 1043# CONFIG_HWMON_DEBUG_CHIP is not set
1044# CONFIG_THERMAL is not set
1045# CONFIG_THERMAL_HWMON is not set
959# CONFIG_WATCHDOG is not set 1046# CONFIG_WATCHDOG is not set
1047CONFIG_SSB_POSSIBLE=y
960 1048
961# 1049#
962# Sonics Silicon Backplane 1050# Sonics Silicon Backplane
963# 1051#
964CONFIG_SSB_POSSIBLE=y
965# CONFIG_SSB is not set 1052# CONFIG_SSB is not set
966 1053
967# 1054#
@@ -970,9 +1057,12 @@ CONFIG_SSB_POSSIBLE=y
970# CONFIG_MFD_CORE is not set 1057# CONFIG_MFD_CORE is not set
971# CONFIG_MFD_SM501 is not set 1058# CONFIG_MFD_SM501 is not set
972# CONFIG_HTC_PASIC3 is not set 1059# CONFIG_HTC_PASIC3 is not set
1060# CONFIG_TWL4030_CORE is not set
973# CONFIG_MFD_TMIO is not set 1061# CONFIG_MFD_TMIO is not set
974# CONFIG_MFD_T7L66XB is not set 1062# CONFIG_PMIC_DA903X is not set
975# CONFIG_MFD_TC6387XB is not set 1063# CONFIG_MFD_WM8400 is not set
1064# CONFIG_MFD_WM8350_I2C is not set
1065# CONFIG_MFD_PCF50633 is not set
976 1066
977# 1067#
978# Multimedia devices 1068# Multimedia devices
@@ -1013,9 +1103,36 @@ CONFIG_HID=y
1013# USB Input Devices 1103# USB Input Devices
1014# 1104#
1015CONFIG_USB_HID=y 1105CONFIG_USB_HID=y
1016# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1106# CONFIG_HID_PID is not set
1017# CONFIG_HID_FF is not set
1018# CONFIG_USB_HIDDEV is not set 1107# CONFIG_USB_HIDDEV is not set
1108
1109#
1110# Special HID drivers
1111#
1112# CONFIG_HID_A4TECH is not set
1113# CONFIG_HID_APPLE is not set
1114# CONFIG_HID_BELKIN is not set
1115# CONFIG_HID_CHERRY is not set
1116# CONFIG_HID_CHICONY is not set
1117# CONFIG_HID_CYPRESS is not set
1118# CONFIG_DRAGONRISE_FF is not set
1119# CONFIG_HID_EZKEY is not set
1120# CONFIG_HID_KYE is not set
1121# CONFIG_HID_GYRATION is not set
1122# CONFIG_HID_KENSINGTON is not set
1123# CONFIG_HID_LOGITECH is not set
1124# CONFIG_HID_MICROSOFT is not set
1125# CONFIG_HID_MONTEREY is not set
1126# CONFIG_HID_NTRIG is not set
1127# CONFIG_HID_PANTHERLORD is not set
1128# CONFIG_HID_PETALYNX is not set
1129# CONFIG_HID_SAMSUNG is not set
1130# CONFIG_HID_SONY is not set
1131# CONFIG_HID_SUNPLUS is not set
1132# CONFIG_GREENASIA_FF is not set
1133# CONFIG_HID_TOPSEED is not set
1134# CONFIG_THRUSTMASTER_FF is not set
1135# CONFIG_ZEROPLUS_FF is not set
1019CONFIG_USB_SUPPORT=y 1136CONFIG_USB_SUPPORT=y
1020CONFIG_USB_ARCH_HAS_HCD=y 1137CONFIG_USB_ARCH_HAS_HCD=y
1021CONFIG_USB_ARCH_HAS_OHCI=y 1138CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1030,10 +1147,13 @@ CONFIG_USB=y
1030CONFIG_USB_DEVICEFS=y 1147CONFIG_USB_DEVICEFS=y
1031CONFIG_USB_DEVICE_CLASS=y 1148CONFIG_USB_DEVICE_CLASS=y
1032# CONFIG_USB_DYNAMIC_MINORS is not set 1149# CONFIG_USB_DYNAMIC_MINORS is not set
1150# CONFIG_USB_SUSPEND is not set
1033# CONFIG_USB_OTG is not set 1151# CONFIG_USB_OTG is not set
1034# CONFIG_USB_OTG_WHITELIST is not set 1152# CONFIG_USB_OTG_WHITELIST is not set
1035# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1153# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1036# CONFIG_USB_MON is not set 1154# CONFIG_USB_MON is not set
1155# CONFIG_USB_WUSB is not set
1156# CONFIG_USB_WUSB_CBAF is not set
1037 1157
1038# 1158#
1039# USB Host Controller Drivers 1159# USB Host Controller Drivers
@@ -1042,12 +1162,15 @@ CONFIG_USB_DEVICE_CLASS=y
1042CONFIG_USB_EHCI_HCD=y 1162CONFIG_USB_EHCI_HCD=y
1043CONFIG_USB_EHCI_ROOT_HUB_TT=y 1163CONFIG_USB_EHCI_ROOT_HUB_TT=y
1044CONFIG_USB_EHCI_TT_NEWSCHED=y 1164CONFIG_USB_EHCI_TT_NEWSCHED=y
1165# CONFIG_USB_OXU210HP_HCD is not set
1045# CONFIG_USB_ISP116X_HCD is not set 1166# CONFIG_USB_ISP116X_HCD is not set
1046# CONFIG_USB_ISP1760_HCD is not set 1167# CONFIG_USB_ISP1760_HCD is not set
1047# CONFIG_USB_OHCI_HCD is not set 1168# CONFIG_USB_OHCI_HCD is not set
1048# CONFIG_USB_UHCI_HCD is not set 1169# CONFIG_USB_UHCI_HCD is not set
1049# CONFIG_USB_SL811_HCD is not set 1170# CONFIG_USB_SL811_HCD is not set
1050# CONFIG_USB_R8A66597_HCD is not set 1171# CONFIG_USB_R8A66597_HCD is not set
1172# CONFIG_USB_WHCI_HCD is not set
1173# CONFIG_USB_HWA_HCD is not set
1051 1174
1052# 1175#
1053# USB Device Class drivers 1176# USB Device Class drivers
@@ -1055,20 +1178,20 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y
1055# CONFIG_USB_ACM is not set 1178# CONFIG_USB_ACM is not set
1056CONFIG_USB_PRINTER=y 1179CONFIG_USB_PRINTER=y
1057# CONFIG_USB_WDM is not set 1180# CONFIG_USB_WDM is not set
1181# CONFIG_USB_TMC is not set
1058 1182
1059# 1183#
1060# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1184# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1061# 1185#
1062 1186
1063# 1187#
1064# may also be needed; see USB_STORAGE Help for more information 1188# also be needed; see USB_STORAGE Help for more info
1065# 1189#
1066CONFIG_USB_STORAGE=y 1190CONFIG_USB_STORAGE=y
1067# CONFIG_USB_STORAGE_DEBUG is not set 1191# CONFIG_USB_STORAGE_DEBUG is not set
1068CONFIG_USB_STORAGE_DATAFAB=y 1192CONFIG_USB_STORAGE_DATAFAB=y
1069CONFIG_USB_STORAGE_FREECOM=y 1193CONFIG_USB_STORAGE_FREECOM=y
1070# CONFIG_USB_STORAGE_ISD200 is not set 1194# CONFIG_USB_STORAGE_ISD200 is not set
1071CONFIG_USB_STORAGE_DPCM=y
1072# CONFIG_USB_STORAGE_USBAT is not set 1195# CONFIG_USB_STORAGE_USBAT is not set
1073CONFIG_USB_STORAGE_SDDR09=y 1196CONFIG_USB_STORAGE_SDDR09=y
1074CONFIG_USB_STORAGE_SDDR55=y 1197CONFIG_USB_STORAGE_SDDR55=y
@@ -1076,7 +1199,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1076# CONFIG_USB_STORAGE_ALAUDA is not set 1199# CONFIG_USB_STORAGE_ALAUDA is not set
1077# CONFIG_USB_STORAGE_ONETOUCH is not set 1200# CONFIG_USB_STORAGE_ONETOUCH is not set
1078# CONFIG_USB_STORAGE_KARMA is not set 1201# CONFIG_USB_STORAGE_KARMA is not set
1079# CONFIG_USB_STORAGE_SIERRA is not set
1080# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1202# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1081# CONFIG_USB_LIBUSUAL is not set 1203# CONFIG_USB_LIBUSUAL is not set
1082 1204
@@ -1097,6 +1219,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1097# CONFIG_USB_EMI62 is not set 1219# CONFIG_USB_EMI62 is not set
1098# CONFIG_USB_EMI26 is not set 1220# CONFIG_USB_EMI26 is not set
1099# CONFIG_USB_ADUTUX is not set 1221# CONFIG_USB_ADUTUX is not set
1222# CONFIG_USB_SEVSEG is not set
1100# CONFIG_USB_RIO500 is not set 1223# CONFIG_USB_RIO500 is not set
1101# CONFIG_USB_LEGOTOWER is not set 1224# CONFIG_USB_LEGOTOWER is not set
1102# CONFIG_USB_LCD is not set 1225# CONFIG_USB_LCD is not set
@@ -1104,7 +1227,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1104# CONFIG_USB_LED is not set 1227# CONFIG_USB_LED is not set
1105# CONFIG_USB_CYPRESS_CY7C63 is not set 1228# CONFIG_USB_CYPRESS_CY7C63 is not set
1106# CONFIG_USB_CYTHERM is not set 1229# CONFIG_USB_CYTHERM is not set
1107# CONFIG_USB_PHIDGET is not set
1108# CONFIG_USB_IDMOUSE is not set 1230# CONFIG_USB_IDMOUSE is not set
1109# CONFIG_USB_FTDI_ELAN is not set 1231# CONFIG_USB_FTDI_ELAN is not set
1110# CONFIG_USB_APPLEDISPLAY is not set 1232# CONFIG_USB_APPLEDISPLAY is not set
@@ -1114,8 +1236,18 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1114# CONFIG_USB_IOWARRIOR is not set 1236# CONFIG_USB_IOWARRIOR is not set
1115# CONFIG_USB_TEST is not set 1237# CONFIG_USB_TEST is not set
1116# CONFIG_USB_ISIGHTFW is not set 1238# CONFIG_USB_ISIGHTFW is not set
1239# CONFIG_USB_VST is not set
1117# CONFIG_USB_GADGET is not set 1240# CONFIG_USB_GADGET is not set
1241
1242#
1243# OTG and related infrastructure
1244#
1245# CONFIG_USB_GPIO_VBUS is not set
1246# CONFIG_NOP_USB_XCEIV is not set
1247# CONFIG_UWB is not set
1118# CONFIG_MMC is not set 1248# CONFIG_MMC is not set
1249# CONFIG_MEMSTICK is not set
1250# CONFIG_ACCESSIBILITY is not set
1119CONFIG_NEW_LEDS=y 1251CONFIG_NEW_LEDS=y
1120CONFIG_LEDS_CLASS=y 1252CONFIG_LEDS_CLASS=y
1121 1253
@@ -1124,7 +1256,10 @@ CONFIG_LEDS_CLASS=y
1124# 1256#
1125# CONFIG_LEDS_PCA9532 is not set 1257# CONFIG_LEDS_PCA9532 is not set
1126CONFIG_LEDS_GPIO=y 1258CONFIG_LEDS_GPIO=y
1259CONFIG_LEDS_GPIO_PLATFORM=y
1260# CONFIG_LEDS_LP5521 is not set
1127# CONFIG_LEDS_PCA955X is not set 1261# CONFIG_LEDS_PCA955X is not set
1262# CONFIG_LEDS_BD2802 is not set
1128 1263
1129# 1264#
1130# LED Triggers 1265# LED Triggers
@@ -1132,7 +1267,12 @@ CONFIG_LEDS_GPIO=y
1132CONFIG_LEDS_TRIGGERS=y 1267CONFIG_LEDS_TRIGGERS=y
1133CONFIG_LEDS_TRIGGER_TIMER=y 1268CONFIG_LEDS_TRIGGER_TIMER=y
1134CONFIG_LEDS_TRIGGER_HEARTBEAT=y 1269CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1270# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1135CONFIG_LEDS_TRIGGER_DEFAULT_ON=y 1271CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1272
1273#
1274# iptables trigger is under Netfilter config (LED target)
1275#
1136CONFIG_RTC_LIB=y 1276CONFIG_RTC_LIB=y
1137CONFIG_RTC_CLASS=y 1277CONFIG_RTC_CLASS=y
1138CONFIG_RTC_HCTOSYS=y 1278CONFIG_RTC_HCTOSYS=y
@@ -1164,6 +1304,7 @@ CONFIG_RTC_DRV_M41T80=y
1164# CONFIG_RTC_DRV_M41T80_WDT is not set 1304# CONFIG_RTC_DRV_M41T80_WDT is not set
1165CONFIG_RTC_DRV_S35390A=y 1305CONFIG_RTC_DRV_S35390A=y
1166# CONFIG_RTC_DRV_FM3130 is not set 1306# CONFIG_RTC_DRV_FM3130 is not set
1307# CONFIG_RTC_DRV_RX8581 is not set
1167 1308
1168# 1309#
1169# SPI RTC drivers 1310# SPI RTC drivers
@@ -1173,12 +1314,15 @@ CONFIG_RTC_DRV_S35390A=y
1173# Platform RTC drivers 1314# Platform RTC drivers
1174# 1315#
1175# CONFIG_RTC_DRV_CMOS is not set 1316# CONFIG_RTC_DRV_CMOS is not set
1317# CONFIG_RTC_DRV_DS1286 is not set
1176# CONFIG_RTC_DRV_DS1511 is not set 1318# CONFIG_RTC_DRV_DS1511 is not set
1177# CONFIG_RTC_DRV_DS1553 is not set 1319# CONFIG_RTC_DRV_DS1553 is not set
1178# CONFIG_RTC_DRV_DS1742 is not set 1320# CONFIG_RTC_DRV_DS1742 is not set
1179# CONFIG_RTC_DRV_STK17TA8 is not set 1321# CONFIG_RTC_DRV_STK17TA8 is not set
1180CONFIG_RTC_DRV_M48T86=y 1322CONFIG_RTC_DRV_M48T86=y
1323# CONFIG_RTC_DRV_M48T35 is not set
1181# CONFIG_RTC_DRV_M48T59 is not set 1324# CONFIG_RTC_DRV_M48T59 is not set
1325# CONFIG_RTC_DRV_BQ4802 is not set
1182# CONFIG_RTC_DRV_V3020 is not set 1326# CONFIG_RTC_DRV_V3020 is not set
1183 1327
1184# 1328#
@@ -1196,16 +1340,12 @@ CONFIG_DMA_ENGINE=y
1196# DMA Clients 1340# DMA Clients
1197# 1341#
1198# CONFIG_NET_DMA is not set 1342# CONFIG_NET_DMA is not set
1343# CONFIG_ASYNC_TX_DMA is not set
1199# CONFIG_DMATEST is not set 1344# CONFIG_DMATEST is not set
1200 1345# CONFIG_AUXDISPLAY is not set
1201#
1202# Voltage and Current regulators
1203#
1204# CONFIG_REGULATOR is not set 1346# CONFIG_REGULATOR is not set
1205# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1206# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1207# CONFIG_REGULATOR_BQ24022 is not set
1208# CONFIG_UIO is not set 1347# CONFIG_UIO is not set
1348# CONFIG_STAGING is not set
1209 1349
1210# 1350#
1211# File systems 1351# File systems
@@ -1214,14 +1354,25 @@ CONFIG_EXT2_FS=y
1214# CONFIG_EXT2_FS_XATTR is not set 1354# CONFIG_EXT2_FS_XATTR is not set
1215# CONFIG_EXT2_FS_XIP is not set 1355# CONFIG_EXT2_FS_XIP is not set
1216CONFIG_EXT3_FS=y 1356CONFIG_EXT3_FS=y
1357# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1217# CONFIG_EXT3_FS_XATTR is not set 1358# CONFIG_EXT3_FS_XATTR is not set
1218# CONFIG_EXT4DEV_FS is not set 1359CONFIG_EXT4_FS=m
1360# CONFIG_EXT4DEV_COMPAT is not set
1361CONFIG_EXT4_FS_XATTR=y
1362# CONFIG_EXT4_FS_POSIX_ACL is not set
1363# CONFIG_EXT4_FS_SECURITY is not set
1219CONFIG_JBD=y 1364CONFIG_JBD=y
1365# CONFIG_JBD_DEBUG is not set
1366CONFIG_JBD2=m
1367# CONFIG_JBD2_DEBUG is not set
1368CONFIG_FS_MBCACHE=m
1220# CONFIG_REISERFS_FS is not set 1369# CONFIG_REISERFS_FS is not set
1221# CONFIG_JFS_FS is not set 1370# CONFIG_JFS_FS is not set
1222# CONFIG_FS_POSIX_ACL is not set 1371# CONFIG_FS_POSIX_ACL is not set
1372CONFIG_FILE_LOCKING=y
1223# CONFIG_XFS_FS is not set 1373# CONFIG_XFS_FS is not set
1224# CONFIG_OCFS2_FS is not set 1374# CONFIG_OCFS2_FS is not set
1375# CONFIG_BTRFS_FS is not set
1225CONFIG_DNOTIFY=y 1376CONFIG_DNOTIFY=y
1226CONFIG_INOTIFY=y 1377CONFIG_INOTIFY=y
1227CONFIG_INOTIFY_USER=y 1378CONFIG_INOTIFY_USER=y
@@ -1231,6 +1382,11 @@ CONFIG_INOTIFY_USER=y
1231# CONFIG_FUSE_FS is not set 1382# CONFIG_FUSE_FS is not set
1232 1383
1233# 1384#
1385# Caches
1386#
1387# CONFIG_FSCACHE is not set
1388
1389#
1234# CD-ROM/DVD Filesystems 1390# CD-ROM/DVD Filesystems
1235# 1391#
1236CONFIG_ISO9660_FS=m 1392CONFIG_ISO9660_FS=m
@@ -1254,15 +1410,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1254# 1410#
1255CONFIG_PROC_FS=y 1411CONFIG_PROC_FS=y
1256CONFIG_PROC_SYSCTL=y 1412CONFIG_PROC_SYSCTL=y
1413CONFIG_PROC_PAGE_MONITOR=y
1257CONFIG_SYSFS=y 1414CONFIG_SYSFS=y
1258CONFIG_TMPFS=y 1415CONFIG_TMPFS=y
1259# CONFIG_TMPFS_POSIX_ACL is not set 1416# CONFIG_TMPFS_POSIX_ACL is not set
1260# CONFIG_HUGETLB_PAGE is not set 1417# CONFIG_HUGETLB_PAGE is not set
1261# CONFIG_CONFIGFS_FS is not set 1418# CONFIG_CONFIGFS_FS is not set
1262 1419CONFIG_MISC_FILESYSTEMS=y
1263#
1264# Miscellaneous filesystems
1265#
1266# CONFIG_ADFS_FS is not set 1420# CONFIG_ADFS_FS is not set
1267# CONFIG_AFFS_FS is not set 1421# CONFIG_AFFS_FS is not set
1268# CONFIG_HFS_FS is not set 1422# CONFIG_HFS_FS is not set
@@ -1282,6 +1436,7 @@ CONFIG_JFFS2_ZLIB=y
1282CONFIG_JFFS2_RTIME=y 1436CONFIG_JFFS2_RTIME=y
1283# CONFIG_JFFS2_RUBIN is not set 1437# CONFIG_JFFS2_RUBIN is not set
1284CONFIG_CRAMFS=y 1438CONFIG_CRAMFS=y
1439# CONFIG_SQUASHFS is not set
1285# CONFIG_VXFS_FS is not set 1440# CONFIG_VXFS_FS is not set
1286# CONFIG_MINIX_FS is not set 1441# CONFIG_MINIX_FS is not set
1287# CONFIG_OMFS_FS is not set 1442# CONFIG_OMFS_FS is not set
@@ -1290,6 +1445,7 @@ CONFIG_CRAMFS=y
1290# CONFIG_ROMFS_FS is not set 1445# CONFIG_ROMFS_FS is not set
1291# CONFIG_SYSV_FS is not set 1446# CONFIG_SYSV_FS is not set
1292# CONFIG_UFS_FS is not set 1447# CONFIG_UFS_FS is not set
1448# CONFIG_NILFS2_FS is not set
1293CONFIG_NETWORK_FILESYSTEMS=y 1449CONFIG_NETWORK_FILESYSTEMS=y
1294CONFIG_NFS_FS=y 1450CONFIG_NFS_FS=y
1295CONFIG_NFS_V3=y 1451CONFIG_NFS_V3=y
@@ -1381,13 +1537,16 @@ CONFIG_ENABLE_MUST_CHECK=y
1381CONFIG_FRAME_WARN=1024 1537CONFIG_FRAME_WARN=1024
1382CONFIG_MAGIC_SYSRQ=y 1538CONFIG_MAGIC_SYSRQ=y
1383# CONFIG_UNUSED_SYMBOLS is not set 1539# CONFIG_UNUSED_SYMBOLS is not set
1384# CONFIG_DEBUG_FS is not set 1540CONFIG_DEBUG_FS=y
1385# CONFIG_HEADERS_CHECK is not set 1541# CONFIG_HEADERS_CHECK is not set
1386CONFIG_DEBUG_KERNEL=y 1542CONFIG_DEBUG_KERNEL=y
1387# CONFIG_DEBUG_SHIRQ is not set 1543# CONFIG_DEBUG_SHIRQ is not set
1388CONFIG_DETECT_SOFTLOCKUP=y 1544CONFIG_DETECT_SOFTLOCKUP=y
1389# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1545# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1390CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1546CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1547CONFIG_DETECT_HUNG_TASK=y
1548# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1549CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1391CONFIG_SCHED_DEBUG=y 1550CONFIG_SCHED_DEBUG=y
1392CONFIG_SCHEDSTATS=y 1551CONFIG_SCHEDSTATS=y
1393# CONFIG_TIMER_STATS is not set 1552# CONFIG_TIMER_STATS is not set
@@ -1411,25 +1570,46 @@ CONFIG_DEBUG_INFO=y
1411# CONFIG_DEBUG_MEMORY_INIT is not set 1570# CONFIG_DEBUG_MEMORY_INIT is not set
1412# CONFIG_DEBUG_LIST is not set 1571# CONFIG_DEBUG_LIST is not set
1413# CONFIG_DEBUG_SG is not set 1572# CONFIG_DEBUG_SG is not set
1573# CONFIG_DEBUG_NOTIFIERS is not set
1414CONFIG_FRAME_POINTER=y 1574CONFIG_FRAME_POINTER=y
1415# CONFIG_BOOT_PRINTK_DELAY is not set 1575# CONFIG_BOOT_PRINTK_DELAY is not set
1416# CONFIG_RCU_TORTURE_TEST is not set 1576# CONFIG_RCU_TORTURE_TEST is not set
1577# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1417# CONFIG_KPROBES_SANITY_TEST is not set 1578# CONFIG_KPROBES_SANITY_TEST is not set
1418# CONFIG_BACKTRACE_SELF_TEST is not set 1579# CONFIG_BACKTRACE_SELF_TEST is not set
1580# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1419# CONFIG_LKDTM is not set 1581# CONFIG_LKDTM is not set
1420# CONFIG_FAULT_INJECTION is not set 1582# CONFIG_FAULT_INJECTION is not set
1421CONFIG_LATENCYTOP=y 1583CONFIG_LATENCYTOP=y
1422CONFIG_SYSCTL_SYSCALL_CHECK=y 1584CONFIG_SYSCTL_SYSCALL_CHECK=y
1423CONFIG_HAVE_FTRACE=y 1585# CONFIG_PAGE_POISONING is not set
1424CONFIG_HAVE_DYNAMIC_FTRACE=y 1586CONFIG_NOP_TRACER=y
1425# CONFIG_FTRACE is not set 1587CONFIG_HAVE_FUNCTION_TRACER=y
1588CONFIG_RING_BUFFER=y
1589CONFIG_TRACING=y
1590CONFIG_TRACING_SUPPORT=y
1591
1592#
1593# Tracers
1594#
1595# CONFIG_FUNCTION_TRACER is not set
1426# CONFIG_IRQSOFF_TRACER is not set 1596# CONFIG_IRQSOFF_TRACER is not set
1427# CONFIG_PREEMPT_TRACER is not set 1597# CONFIG_PREEMPT_TRACER is not set
1428# CONFIG_SCHED_TRACER is not set 1598# CONFIG_SCHED_TRACER is not set
1429# CONFIG_CONTEXT_SWITCH_TRACER is not set 1599# CONFIG_CONTEXT_SWITCH_TRACER is not set
1600# CONFIG_EVENT_TRACER is not set
1601# CONFIG_BOOT_TRACER is not set
1602# CONFIG_TRACE_BRANCH_PROFILING is not set
1603# CONFIG_STACK_TRACER is not set
1604# CONFIG_KMEMTRACE is not set
1605# CONFIG_WORKQUEUE_TRACER is not set
1606# CONFIG_BLK_DEV_IO_TRACE is not set
1607# CONFIG_FTRACE_STARTUP_TEST is not set
1608# CONFIG_DYNAMIC_DEBUG is not set
1430# CONFIG_SAMPLES is not set 1609# CONFIG_SAMPLES is not set
1431CONFIG_HAVE_ARCH_KGDB=y 1610CONFIG_HAVE_ARCH_KGDB=y
1432# CONFIG_KGDB is not set 1611# CONFIG_KGDB is not set
1612CONFIG_ARM_UNWIND=y
1433CONFIG_DEBUG_USER=y 1613CONFIG_DEBUG_USER=y
1434CONFIG_DEBUG_ERRORS=y 1614CONFIG_DEBUG_ERRORS=y
1435# CONFIG_DEBUG_STACK_USAGE is not set 1615# CONFIG_DEBUG_STACK_USAGE is not set
@@ -1441,18 +1621,27 @@ CONFIG_DEBUG_LL=y
1441# 1621#
1442# CONFIG_KEYS is not set 1622# CONFIG_KEYS is not set
1443# CONFIG_SECURITY is not set 1623# CONFIG_SECURITY is not set
1624# CONFIG_SECURITYFS is not set
1444# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1625# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1445CONFIG_ASYNC_CORE=y
1446CONFIG_CRYPTO=y 1626CONFIG_CRYPTO=y
1447 1627
1448# 1628#
1449# Crypto core or helper 1629# Crypto core or helper
1450# 1630#
1631# CONFIG_CRYPTO_FIPS is not set
1451CONFIG_CRYPTO_ALGAPI=m 1632CONFIG_CRYPTO_ALGAPI=m
1633CONFIG_CRYPTO_ALGAPI2=m
1634CONFIG_CRYPTO_AEAD2=m
1452CONFIG_CRYPTO_BLKCIPHER=m 1635CONFIG_CRYPTO_BLKCIPHER=m
1636CONFIG_CRYPTO_BLKCIPHER2=m
1637CONFIG_CRYPTO_HASH2=m
1638CONFIG_CRYPTO_RNG2=m
1639CONFIG_CRYPTO_PCOMP=m
1453CONFIG_CRYPTO_MANAGER=m 1640CONFIG_CRYPTO_MANAGER=m
1641CONFIG_CRYPTO_MANAGER2=m
1454# CONFIG_CRYPTO_GF128MUL is not set 1642# CONFIG_CRYPTO_GF128MUL is not set
1455# CONFIG_CRYPTO_NULL is not set 1643# CONFIG_CRYPTO_NULL is not set
1644CONFIG_CRYPTO_WORKQUEUE=m
1456# CONFIG_CRYPTO_CRYPTD is not set 1645# CONFIG_CRYPTO_CRYPTD is not set
1457# CONFIG_CRYPTO_AUTHENC is not set 1646# CONFIG_CRYPTO_AUTHENC is not set
1458# CONFIG_CRYPTO_TEST is not set 1647# CONFIG_CRYPTO_TEST is not set
@@ -1521,18 +1710,24 @@ CONFIG_CRYPTO_PCBC=m
1521# Compression 1710# Compression
1522# 1711#
1523# CONFIG_CRYPTO_DEFLATE is not set 1712# CONFIG_CRYPTO_DEFLATE is not set
1713# CONFIG_CRYPTO_ZLIB is not set
1524# CONFIG_CRYPTO_LZO is not set 1714# CONFIG_CRYPTO_LZO is not set
1715
1716#
1717# Random Number Generation
1718#
1719# CONFIG_CRYPTO_ANSI_CPRNG is not set
1525CONFIG_CRYPTO_HW=y 1720CONFIG_CRYPTO_HW=y
1526# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1721# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1722CONFIG_BINARY_PRINTF=y
1527 1723
1528# 1724#
1529# Library routines 1725# Library routines
1530# 1726#
1531CONFIG_BITREVERSE=y 1727CONFIG_BITREVERSE=y
1532# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1728CONFIG_GENERIC_FIND_LAST_BIT=y
1533# CONFIG_GENERIC_FIND_NEXT_BIT is not set
1534# CONFIG_CRC_CCITT is not set 1729# CONFIG_CRC_CCITT is not set
1535# CONFIG_CRC16 is not set 1730CONFIG_CRC16=m
1536CONFIG_CRC_T10DIF=y 1731CONFIG_CRC_T10DIF=y
1537CONFIG_CRC_ITU_T=m 1732CONFIG_CRC_ITU_T=m
1538CONFIG_CRC32=y 1733CONFIG_CRC32=y
@@ -1540,7 +1735,7 @@ CONFIG_CRC32=y
1540# CONFIG_LIBCRC32C is not set 1735# CONFIG_LIBCRC32C is not set
1541CONFIG_ZLIB_INFLATE=y 1736CONFIG_ZLIB_INFLATE=y
1542CONFIG_ZLIB_DEFLATE=y 1737CONFIG_ZLIB_DEFLATE=y
1543CONFIG_PLIST=y
1544CONFIG_HAS_IOMEM=y 1738CONFIG_HAS_IOMEM=y
1545CONFIG_HAS_IOPORT=y 1739CONFIG_HAS_IOPORT=y
1546CONFIG_HAS_DMA=y 1740CONFIG_HAS_DMA=y
1741CONFIG_NLATTR=y
diff --git a/arch/arm/configs/viper_defconfig b/arch/arm/configs/viper_defconfig
index 30f463d2fa8a..6ab5dd5868de 100644
--- a/arch/arm/configs/viper_defconfig
+++ b/arch/arm/configs/viper_defconfig
@@ -298,7 +298,6 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=m
298CONFIG_CPU_FREQ_GOV_USERSPACE=m 298CONFIG_CPU_FREQ_GOV_USERSPACE=m
299CONFIG_CPU_FREQ_GOV_ONDEMAND=m 299CONFIG_CPU_FREQ_GOV_ONDEMAND=m
300CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m 300CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
301CONFIG_CPU_FREQ_PXA=y
302 301
303# 302#
304# Floating point emulation 303# Floating point emulation
diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h
index d7da19bcf928..c207504de84d 100644
--- a/arch/arm/include/asm/elf.h
+++ b/arch/arm/include/asm/elf.h
@@ -45,13 +45,15 @@ typedef struct user_fp elf_fpregset_t;
45#define EF_ARM_HASENTRY 0x00000002 /* All */ 45#define EF_ARM_HASENTRY 0x00000002 /* All */
46#define EF_ARM_RELEXEC 0x00000001 /* All */ 46#define EF_ARM_RELEXEC 0x00000001 /* All */
47 47
48#define R_ARM_NONE 0 48#define R_ARM_NONE 0
49#define R_ARM_PC24 1 49#define R_ARM_PC24 1
50#define R_ARM_ABS32 2 50#define R_ARM_ABS32 2
51#define R_ARM_CALL 28 51#define R_ARM_CALL 28
52#define R_ARM_JUMP24 29 52#define R_ARM_JUMP24 29
53#define R_ARM_V4BX 40 53#define R_ARM_V4BX 40
54#define R_ARM_PREL31 42 54#define R_ARM_PREL31 42
55#define R_ARM_MOVW_ABS_NC 43
56#define R_ARM_MOVT_ABS 44
55 57
56/* 58/*
57 * These are used to set parameters in the core dumps. 59 * These are used to set parameters in the core dumps.
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c
index d1731e39b496..bac03c81489d 100644
--- a/arch/arm/kernel/module.c
+++ b/arch/arm/kernel/module.c
@@ -169,6 +169,21 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex,
169 *(u32 *)loc = offset & 0x7fffffff; 169 *(u32 *)loc = offset & 0x7fffffff;
170 break; 170 break;
171 171
172 case R_ARM_MOVW_ABS_NC:
173 case R_ARM_MOVT_ABS:
174 offset = *(u32 *)loc;
175 offset = ((offset & 0xf0000) >> 4) | (offset & 0xfff);
176 offset = (offset ^ 0x8000) - 0x8000;
177
178 offset += sym->st_value;
179 if (ELF32_R_TYPE(rel->r_info) == R_ARM_MOVT_ABS)
180 offset >>= 16;
181
182 *(u32 *)loc &= 0xfff0f000;
183 *(u32 *)loc |= ((offset & 0xf000) << 4) |
184 (offset & 0x0fff);
185 break;
186
172 default: 187 default:
173 printk(KERN_ERR "%s: unknown relocation: %u\n", 188 printk(KERN_ERR "%s: unknown relocation: %u\n",
174 module->name, ELF32_R_TYPE(rel->r_info)); 189 module->name, ELF32_R_TYPE(rel->r_info));
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index bac988e7a4c3..a9c78bc72b84 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -4,19 +4,56 @@ menu "TI DaVinci Implementations"
4 4
5comment "DaVinci Core Type" 5comment "DaVinci Core Type"
6 6
7config ARCH_DAVINCI644x 7config ARCH_DAVINCI_DM644x
8 default y
9 bool "DaVinci 644x based system" 8 bool "DaVinci 644x based system"
10 9
11comment "DaVinci Board Type" 10comment "DaVinci Board Type"
12 11
13config MACH_DAVINCI_EVM 12config MACH_DAVINCI_EVM
14 bool "TI DaVinci EVM" 13 bool "TI DM644x EVM"
15 default y 14 default y
16 depends on ARCH_DAVINCI644x 15 depends on ARCH_DAVINCI_DM644x
17 help 16 help
18 Configure this option to specify the whether the board used 17 Configure this option to specify the whether the board used
19 for development is a DaVinci EVM 18 for development is a DM644x EVM
19
20
21config DAVINCI_MUX
22 bool "DAVINCI multiplexing support"
23 depends on ARCH_DAVINCI
24 default y
25 help
26 Pin multiplexing support for DAVINCI boards. If your bootloader
27 sets the multiplexing correctly, say N. Otherwise, or if unsure,
28 say Y.
29
30config DAVINCI_MUX_DEBUG
31 bool "Multiplexing debug output"
32 depends on DAVINCI_MUX
33 help
34 Makes the multiplexing functions print out a lot of debug info.
35 This is useful if you want to find out the correct values of the
36 multiplexing registers.
37
38config DAVINCI_MUX_WARNINGS
39 bool "Warn about pins the bootloader didn't set up"
40 depends on DAVINCI_MUX
41 help
42 Choose Y here to warn whenever driver initialization logic needs
43 to change the pin multiplexing setup. When there are no warnings
44 printed, it's safe to deselect DAVINCI_MUX for your product.
45
46config DAVINCI_RESET_CLOCKS
47 bool "Reset unused clocks during boot"
48 depends on ARCH_DAVINCI
49 help
50 Say Y if you want to reset unused clocks during boot.
51 This option saves power, but assumes all drivers are
52 using the clock framework. Broken drivers that do not
53 yet use clock framework may not work with this option.
54 If you are booting from another operating system, you
55 probably do not want this option enabled until your
56 device drivers work properly.
20 57
21endmenu 58endmenu
22 59
diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile
index 4dc458597f40..1674661942f3 100644
--- a/arch/arm/mach-davinci/Makefile
+++ b/arch/arm/mach-davinci/Makefile
@@ -5,7 +5,12 @@
5 5
6# Common objects 6# Common objects
7obj-y := time.o irq.o clock.o serial.o io.o id.o psc.o \ 7obj-y := time.o irq.o clock.o serial.o io.o id.o psc.o \
8 gpio.o mux.o devices.o usb.o 8 gpio.o devices.o dma.o usb.o
9
10obj-$(CONFIG_DAVINCI_MUX) += mux.o
11
12# Chip specific
13obj-$(CONFIG_ARCH_DAVINCI_DM644x) += dm644x.o
9 14
10# Board specific 15# Board specific
11obj-$(CONFIG_MACH_DAVINCI_EVM) += board-evm.o 16obj-$(CONFIG_MACH_DAVINCI_EVM) += board-dm644x-evm.o
diff --git a/arch/arm/mach-davinci/board-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index 0b97a528902b..b2e7f9c63bc5 100644
--- a/arch/arm/mach-davinci/board-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -15,15 +15,20 @@
15#include <linux/platform_device.h> 15#include <linux/platform_device.h>
16#include <linux/gpio.h> 16#include <linux/gpio.h>
17#include <linux/leds.h> 17#include <linux/leds.h>
18#include <linux/memory.h>
19#include <linux/etherdevice.h>
18 20
19#include <linux/i2c.h> 21#include <linux/i2c.h>
20#include <linux/i2c/pcf857x.h> 22#include <linux/i2c/pcf857x.h>
21#include <linux/i2c/at24.h> 23#include <linux/i2c/at24.h>
22 24
23#include <linux/mtd/mtd.h> 25#include <linux/mtd/mtd.h>
26#include <linux/mtd/nand.h>
24#include <linux/mtd/partitions.h> 27#include <linux/mtd/partitions.h>
25#include <linux/mtd/physmap.h> 28#include <linux/mtd/physmap.h>
26#include <linux/io.h> 29#include <linux/io.h>
30#include <linux/phy.h>
31#include <linux/clk.h>
27 32
28#include <asm/setup.h> 33#include <asm/setup.h>
29#include <asm/mach-types.h> 34#include <asm/mach-types.h>
@@ -32,25 +37,34 @@
32#include <asm/mach/map.h> 37#include <asm/mach/map.h>
33#include <asm/mach/flash.h> 38#include <asm/mach/flash.h>
34 39
35#include <mach/hardware.h> 40#include <mach/dm644x.h>
36#include <mach/common.h> 41#include <mach/common.h>
37#include <mach/i2c.h> 42#include <mach/i2c.h>
43#include <mach/serial.h>
44#include <mach/mux.h>
45#include <mach/psc.h>
46#include <mach/nand.h>
38 47
39/* other misc. init functions */ 48#define DM644X_EVM_PHY_MASK (0x2)
40void __init davinci_psc_init(void); 49#define DM644X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */
41void __init davinci_irq_init(void);
42void __init davinci_map_common_io(void);
43void __init davinci_init_common_hw(void);
44 50
45#if defined(CONFIG_MTD_PHYSMAP) || \ 51#define DAVINCI_CFC_ATA_BASE 0x01C66000
46 defined(CONFIG_MTD_PHYSMAP_MODULE) 52
53#define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e00000
54#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
55#define DAVINCI_ASYNC_EMIF_DATA_CE1_BASE 0x04000000
56#define DAVINCI_ASYNC_EMIF_DATA_CE2_BASE 0x06000000
57#define DAVINCI_ASYNC_EMIF_DATA_CE3_BASE 0x08000000
58
59#define LXT971_PHY_ID (0x001378e2)
60#define LXT971_PHY_MASK (0xfffffff0)
47 61
48static struct mtd_partition davinci_evm_norflash_partitions[] = { 62static struct mtd_partition davinci_evm_norflash_partitions[] = {
49 /* bootloader (U-Boot, etc) in first 4 sectors */ 63 /* bootloader (UBL, U-Boot, etc) in first 5 sectors */
50 { 64 {
51 .name = "bootloader", 65 .name = "bootloader",
52 .offset = 0, 66 .offset = 0,
53 .size = 4 * SZ_64K, 67 .size = 5 * SZ_64K,
54 .mask_flags = MTD_WRITEABLE, /* force read-only */ 68 .mask_flags = MTD_WRITEABLE, /* force read-only */
55 }, 69 },
56 /* bootloader params in the next 1 sectors */ 70 /* bootloader params in the next 1 sectors */
@@ -100,10 +114,89 @@ static struct platform_device davinci_evm_norflash_device = {
100 .resource = &davinci_evm_norflash_resource, 114 .resource = &davinci_evm_norflash_resource,
101}; 115};
102 116
103#endif 117/* DM644x EVM includes a 64 MByte small-page NAND flash (16K blocks).
118 * It may used instead of the (default) NOR chip to boot, using TI's
119 * tools to install the secondary boot loader (UBL) and U-Boot.
120 */
121struct mtd_partition davinci_evm_nandflash_partition[] = {
122 /* Bootloader layout depends on whose u-boot is installed, but we
123 * can hide all the details.
124 * - block 0 for u-boot environment ... in mainline u-boot
125 * - block 1 for UBL (plus up to four backup copies in blocks 2..5)
126 * - blocks 6...? for u-boot
127 * - blocks 16..23 for u-boot environment ... in TI's u-boot
128 */
129 {
130 .name = "bootloader",
131 .offset = 0,
132 .size = SZ_256K + SZ_128K,
133 .mask_flags = MTD_WRITEABLE, /* force read-only */
134 },
135 /* Kernel */
136 {
137 .name = "kernel",
138 .offset = MTDPART_OFS_APPEND,
139 .size = SZ_4M,
140 .mask_flags = 0,
141 },
142 /* File system (older GIT kernels started this on the 5MB mark) */
143 {
144 .name = "filesystem",
145 .offset = MTDPART_OFS_APPEND,
146 .size = MTDPART_SIZ_FULL,
147 .mask_flags = 0,
148 }
149 /* A few blocks at end hold a flash BBT ... created by TI's CCS
150 * using flashwriter_nand.out, but ignored by TI's versions of
151 * Linux and u-boot. We boot faster by using them.
152 */
153};
104 154
105#if defined(CONFIG_BLK_DEV_PALMCHIP_BK3710) || \ 155static struct davinci_nand_pdata davinci_evm_nandflash_data = {
106 defined(CONFIG_BLK_DEV_PALMCHIP_BK3710_MODULE) 156 .parts = davinci_evm_nandflash_partition,
157 .nr_parts = ARRAY_SIZE(davinci_evm_nandflash_partition),
158 .ecc_mode = NAND_ECC_HW,
159 .options = NAND_USE_FLASH_BBT,
160};
161
162static struct resource davinci_evm_nandflash_resource[] = {
163 {
164 .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
165 .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1,
166 .flags = IORESOURCE_MEM,
167 }, {
168 .start = DAVINCI_ASYNC_EMIF_CONTROL_BASE,
169 .end = DAVINCI_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
170 .flags = IORESOURCE_MEM,
171 },
172};
173
174static struct platform_device davinci_evm_nandflash_device = {
175 .name = "davinci_nand",
176 .id = 0,
177 .dev = {
178 .platform_data = &davinci_evm_nandflash_data,
179 },
180 .num_resources = ARRAY_SIZE(davinci_evm_nandflash_resource),
181 .resource = davinci_evm_nandflash_resource,
182};
183
184static u64 davinci_fb_dma_mask = DMA_BIT_MASK(32);
185
186static struct platform_device davinci_fb_device = {
187 .name = "davincifb",
188 .id = -1,
189 .dev = {
190 .dma_mask = &davinci_fb_dma_mask,
191 .coherent_dma_mask = DMA_BIT_MASK(32),
192 },
193 .num_resources = 0,
194};
195
196static struct platform_device rtc_dev = {
197 .name = "rtc_davinci_evm",
198 .id = -1,
199};
107 200
108static struct resource ide_resources[] = { 201static struct resource ide_resources[] = {
109 { 202 {
@@ -131,8 +224,6 @@ static struct platform_device ide_dev = {
131 }, 224 },
132}; 225};
133 226
134#endif
135
136/*----------------------------------------------------------------------*/ 227/*----------------------------------------------------------------------*/
137 228
138/* 229/*
@@ -311,7 +402,9 @@ evm_u35_setup(struct i2c_client *client, int gpio, unsigned ngpio, void *c)
311 gpio_request(gpio + 7, "nCF_SEL"); 402 gpio_request(gpio + 7, "nCF_SEL");
312 gpio_direction_output(gpio + 7, 1); 403 gpio_direction_output(gpio + 7, 1);
313 404
314 /* irlml6401 sustains over 3A, switches 5V in under 8 msec */ 405 /* irlml6401 switches over 1A, in under 8 msec;
406 * now it can be managed by nDRV_VBUS ...
407 */
315 setup_usb(500, 8); 408 setup_usb(500, 8);
316 409
317 return 0; 410 return 0;
@@ -343,14 +436,120 @@ static struct pcf857x_platform_data pcf_data_u35 = {
343 * - 0x0039, 1 byte NTSC vs PAL (bit 0x80 == PAL) 436 * - 0x0039, 1 byte NTSC vs PAL (bit 0x80 == PAL)
344 * - ... newer boards may have more 437 * - ... newer boards may have more
345 */ 438 */
439static struct memory_accessor *at24_mem_acc;
440
441static void at24_setup(struct memory_accessor *mem_acc, void *context)
442{
443 DECLARE_MAC_BUF(mac_str);
444 char mac_addr[6];
445
446 at24_mem_acc = mem_acc;
447
448 /* Read MAC addr from EEPROM */
449 if (at24_mem_acc->read(at24_mem_acc, mac_addr, 0x7f00, 6) == 6) {
450 printk(KERN_INFO "Read MAC addr from EEPROM: %s\n",
451 print_mac(mac_str, mac_addr));
452 }
453}
454
346static struct at24_platform_data eeprom_info = { 455static struct at24_platform_data eeprom_info = {
347 .byte_len = (256*1024) / 8, 456 .byte_len = (256*1024) / 8,
348 .page_size = 64, 457 .page_size = 64,
349 .flags = AT24_FLAG_ADDR16, 458 .flags = AT24_FLAG_ADDR16,
459 .setup = at24_setup,
350}; 460};
351 461
462int dm6446evm_eeprom_read(void *buf, off_t off, size_t count)
463{
464 if (at24_mem_acc)
465 return at24_mem_acc->read(at24_mem_acc, buf, off, count);
466 return -ENODEV;
467}
468EXPORT_SYMBOL(dm6446evm_eeprom_read);
469
470int dm6446evm_eeprom_write(void *buf, off_t off, size_t count)
471{
472 if (at24_mem_acc)
473 return at24_mem_acc->write(at24_mem_acc, buf, off, count);
474 return -ENODEV;
475}
476EXPORT_SYMBOL(dm6446evm_eeprom_write);
477
478/*
479 * MSP430 supports RTC, card detection, input from IR remote, and
480 * a bit more. It triggers interrupts on GPIO(7) from pressing
481 * buttons on the IR remote, and for card detect switches.
482 */
483static struct i2c_client *dm6446evm_msp;
484
485static int dm6446evm_msp_probe(struct i2c_client *client,
486 const struct i2c_device_id *id)
487{
488 dm6446evm_msp = client;
489 return 0;
490}
491
492static int dm6446evm_msp_remove(struct i2c_client *client)
493{
494 dm6446evm_msp = NULL;
495 return 0;
496}
497
498static const struct i2c_device_id dm6446evm_msp_ids[] = {
499 { "dm6446evm_msp", 0, },
500 { /* end of list */ },
501};
502
503static struct i2c_driver dm6446evm_msp_driver = {
504 .driver.name = "dm6446evm_msp",
505 .id_table = dm6446evm_msp_ids,
506 .probe = dm6446evm_msp_probe,
507 .remove = dm6446evm_msp_remove,
508};
509
510static int dm6444evm_msp430_get_pins(void)
511{
512 static const char txbuf[2] = { 2, 4, };
513 char buf[4];
514 struct i2c_msg msg[2] = {
515 {
516 .addr = dm6446evm_msp->addr,
517 .flags = 0,
518 .len = 2,
519 .buf = (void __force *)txbuf,
520 },
521 {
522 .addr = dm6446evm_msp->addr,
523 .flags = I2C_M_RD,
524 .len = 4,
525 .buf = buf,
526 },
527 };
528 int status;
529
530 if (!dm6446evm_msp)
531 return -ENXIO;
532
533 /* Command 4 == get input state, returns port 2 and port3 data
534 * S Addr W [A] len=2 [A] cmd=4 [A]
535 * RS Addr R [A] [len=4] A [cmd=4] A [port2] A [port3] N P
536 */
537 status = i2c_transfer(dm6446evm_msp->adapter, msg, 2);
538 if (status < 0)
539 return status;
540
541 dev_dbg(&dm6446evm_msp->dev,
542 "PINS: %02x %02x %02x %02x\n",
543 buf[0], buf[1], buf[2], buf[3]);
544
545 return (buf[3] << 8) | buf[2];
546}
547
352static struct i2c_board_info __initdata i2c_info[] = { 548static struct i2c_board_info __initdata i2c_info[] = {
353 { 549 {
550 I2C_BOARD_INFO("dm6446evm_msp", 0x23),
551 },
552 {
354 I2C_BOARD_INFO("pcf8574", 0x38), 553 I2C_BOARD_INFO("pcf8574", 0x38),
355 .platform_data = &pcf_data_u2, 554 .platform_data = &pcf_data_u2,
356 }, 555 },
@@ -368,7 +567,6 @@ static struct i2c_board_info __initdata i2c_info[] = {
368 }, 567 },
369 /* ALSO: 568 /* ALSO:
370 * - tvl320aic33 audio codec (0x1b) 569 * - tvl320aic33 audio codec (0x1b)
371 * - msp430 microcontroller (0x23)
372 * - tvp5146 video decoder (0x5d) 570 * - tvp5146 video decoder (0x5d)
373 */ 571 */
374}; 572};
@@ -384,51 +582,109 @@ static struct davinci_i2c_platform_data i2c_pdata = {
384static void __init evm_init_i2c(void) 582static void __init evm_init_i2c(void)
385{ 583{
386 davinci_init_i2c(&i2c_pdata); 584 davinci_init_i2c(&i2c_pdata);
585 i2c_add_driver(&dm6446evm_msp_driver);
387 i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info)); 586 i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info));
388} 587}
389 588
390static struct platform_device *davinci_evm_devices[] __initdata = { 589static struct platform_device *davinci_evm_devices[] __initdata = {
391#if defined(CONFIG_MTD_PHYSMAP) || \ 590 &davinci_fb_device,
392 defined(CONFIG_MTD_PHYSMAP_MODULE) 591 &rtc_dev,
393 &davinci_evm_norflash_device, 592};
394#endif 593
395#if defined(CONFIG_BLK_DEV_PALMCHIP_BK3710) || \ 594static struct davinci_uart_config uart_config __initdata = {
396 defined(CONFIG_BLK_DEV_PALMCHIP_BK3710_MODULE) 595 .enabled_uarts = (1 << 0),
397 &ide_dev,
398#endif
399}; 596};
400 597
401static void __init 598static void __init
402davinci_evm_map_io(void) 599davinci_evm_map_io(void)
403{ 600{
404 davinci_map_common_io(); 601 davinci_map_common_io();
602 dm644x_init();
405} 603}
406 604
407static __init void davinci_evm_init(void) 605static int davinci_phy_fixup(struct phy_device *phydev)
408{ 606{
409 davinci_psc_init(); 607 unsigned int control;
608 /* CRITICAL: Fix for increasing PHY signal drive strength for
609 * TX lockup issue. On DaVinci EVM, the Intel LXT971 PHY
610 * signal strength was low causing TX to fail randomly. The
611 * fix is to Set bit 11 (Increased MII drive strength) of PHY
612 * register 26 (Digital Config register) on this phy. */
613 control = phy_read(phydev, 26);
614 phy_write(phydev, 26, (control | 0x800));
615 return 0;
616}
410 617
411#if defined(CONFIG_BLK_DEV_PALMCHIP_BK3710) || \ 618#if defined(CONFIG_BLK_DEV_PALMCHIP_BK3710) || \
412 defined(CONFIG_BLK_DEV_PALMCHIP_BK3710_MODULE) 619 defined(CONFIG_BLK_DEV_PALMCHIP_BK3710_MODULE)
620#define HAS_ATA 1
621#else
622#define HAS_ATA 0
623#endif
624
413#if defined(CONFIG_MTD_PHYSMAP) || \ 625#if defined(CONFIG_MTD_PHYSMAP) || \
414 defined(CONFIG_MTD_PHYSMAP_MODULE) 626 defined(CONFIG_MTD_PHYSMAP_MODULE)
415 printk(KERN_WARNING "WARNING: both IDE and NOR flash are enabled, " 627#define HAS_NOR 1
416 "but share pins.\n\t Disable IDE for NOR support.\n"); 628#else
629#define HAS_NOR 0
417#endif 630#endif
631
632#if defined(CONFIG_MTD_NAND_DAVINCI) || \
633 defined(CONFIG_MTD_NAND_DAVINCI_MODULE)
634#define HAS_NAND 1
635#else
636#define HAS_NAND 0
418#endif 637#endif
419 638
639static __init void davinci_evm_init(void)
640{
641 struct clk *aemif_clk;
642
643 aemif_clk = clk_get(NULL, "aemif");
644 clk_enable(aemif_clk);
645
646 if (HAS_ATA) {
647 if (HAS_NAND || HAS_NOR)
648 pr_warning("WARNING: both IDE and Flash are "
649 "enabled, but they share AEMIF pins.\n"
650 "\tDisable IDE for NAND/NOR support.\n");
651 davinci_cfg_reg(DM644X_HPIEN_DISABLE);
652 davinci_cfg_reg(DM644X_ATAEN);
653 davinci_cfg_reg(DM644X_HDIREN);
654 platform_device_register(&ide_dev);
655 } else if (HAS_NAND || HAS_NOR) {
656 davinci_cfg_reg(DM644X_HPIEN_DISABLE);
657 davinci_cfg_reg(DM644X_ATAEN_DISABLE);
658
659 /* only one device will be jumpered and detected */
660 if (HAS_NAND) {
661 platform_device_register(&davinci_evm_nandflash_device);
662 evm_leds[7].default_trigger = "nand-disk";
663 if (HAS_NOR)
664 pr_warning("WARNING: both NAND and NOR flash "
665 "are enabled; disable one of them.\n");
666 } else if (HAS_NOR)
667 platform_device_register(&davinci_evm_norflash_device);
668 }
669
420 platform_add_devices(davinci_evm_devices, 670 platform_add_devices(davinci_evm_devices,
421 ARRAY_SIZE(davinci_evm_devices)); 671 ARRAY_SIZE(davinci_evm_devices));
422 evm_init_i2c(); 672 evm_init_i2c();
673
674 davinci_serial_init(&uart_config);
675
676 /* Register the fixup for PHY on DaVinci */
677 phy_register_fixup_for_uid(LXT971_PHY_ID, LXT971_PHY_MASK,
678 davinci_phy_fixup);
679
423} 680}
424 681
425static __init void davinci_evm_irq_init(void) 682static __init void davinci_evm_irq_init(void)
426{ 683{
427 davinci_init_common_hw();
428 davinci_irq_init(); 684 davinci_irq_init();
429} 685}
430 686
431MACHINE_START(DAVINCI_EVM, "DaVinci EVM") 687MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM")
432 /* Maintainer: MontaVista Software <source@mvista.com> */ 688 /* Maintainer: MontaVista Software <source@mvista.com> */
433 .phys_io = IO_PHYS, 689 .phys_io = IO_PHYS,
434 .io_pg_offst = (__IO_ADDRESS(IO_PHYS) >> 18) & 0xfffc, 690 .io_pg_offst = (__IO_ADDRESS(IO_PHYS) >> 18) & 0xfffc,
diff --git a/arch/arm/mach-davinci/clock.c b/arch/arm/mach-davinci/clock.c
index abb92b7eca0c..f0baaa15a57e 100644
--- a/arch/arm/mach-davinci/clock.c
+++ b/arch/arm/mach-davinci/clock.c
@@ -1,7 +1,8 @@
1/* 1/*
2 * TI DaVinci clock config file 2 * Clock and PLL control for DaVinci devices
3 * 3 *
4 * Copyright (C) 2006 Texas Instruments. 4 * Copyright (C) 2006-2007 Texas Instruments.
5 * Copyright (C) 2008-2009 Deep Root Systems, LLC
5 * 6 *
6 * This program is free software; you can redistribute it and/or modify 7 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 8 * it under the terms of the GNU General Public License as published by
@@ -13,6 +14,7 @@
13#include <linux/kernel.h> 14#include <linux/kernel.h>
14#include <linux/init.h> 15#include <linux/init.h>
15#include <linux/errno.h> 16#include <linux/errno.h>
17#include <linux/clk.h>
16#include <linux/err.h> 18#include <linux/err.h>
17#include <linux/mutex.h> 19#include <linux/mutex.h>
18#include <linux/platform_device.h> 20#include <linux/platform_device.h>
@@ -21,98 +23,50 @@
21#include <mach/hardware.h> 23#include <mach/hardware.h>
22 24
23#include <mach/psc.h> 25#include <mach/psc.h>
26#include <mach/cputype.h>
24#include "clock.h" 27#include "clock.h"
25 28
26/* PLL/Reset register offsets */
27#define PLLM 0x110
28
29static LIST_HEAD(clocks); 29static LIST_HEAD(clocks);
30static DEFINE_MUTEX(clocks_mutex); 30static DEFINE_MUTEX(clocks_mutex);
31static DEFINE_SPINLOCK(clockfw_lock); 31static DEFINE_SPINLOCK(clockfw_lock);
32 32
33static unsigned int commonrate; 33static unsigned psc_domain(struct clk *clk)
34static unsigned int armrate;
35static unsigned int fixedrate = 27000000; /* 27 MHZ */
36
37extern void davinci_psc_config(unsigned int domain, unsigned int id, char enable);
38
39/*
40 * Returns a clock. Note that we first try to use device id on the bus
41 * and clock name. If this fails, we try to use clock name only.
42 */
43struct clk *clk_get(struct device *dev, const char *id)
44{ 34{
45 struct clk *p, *clk = ERR_PTR(-ENOENT); 35 return (clk->flags & PSC_DSP)
46 int idno; 36 ? DAVINCI_GPSC_DSPDOMAIN
47 37 : DAVINCI_GPSC_ARMDOMAIN;
48 if (dev == NULL || dev->bus != &platform_bus_type)
49 idno = -1;
50 else
51 idno = to_platform_device(dev)->id;
52
53 mutex_lock(&clocks_mutex);
54
55 list_for_each_entry(p, &clocks, node) {
56 if (p->id == idno &&
57 strcmp(id, p->name) == 0 && try_module_get(p->owner)) {
58 clk = p;
59 goto found;
60 }
61 }
62
63 list_for_each_entry(p, &clocks, node) {
64 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) {
65 clk = p;
66 break;
67 }
68 }
69
70found:
71 mutex_unlock(&clocks_mutex);
72
73 return clk;
74} 38}
75EXPORT_SYMBOL(clk_get);
76 39
77void clk_put(struct clk *clk) 40static void __clk_enable(struct clk *clk)
78{ 41{
79 if (clk && !IS_ERR(clk)) 42 if (clk->parent)
80 module_put(clk->owner); 43 __clk_enable(clk->parent);
81} 44 if (clk->usecount++ == 0 && (clk->flags & CLK_PSC))
82EXPORT_SYMBOL(clk_put); 45 davinci_psc_config(psc_domain(clk), clk->lpsc, 1);
83
84static int __clk_enable(struct clk *clk)
85{
86 if (clk->flags & ALWAYS_ENABLED)
87 return 0;
88
89 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, clk->lpsc, 1);
90 return 0;
91} 46}
92 47
93static void __clk_disable(struct clk *clk) 48static void __clk_disable(struct clk *clk)
94{ 49{
95 if (clk->usecount) 50 if (WARN_ON(clk->usecount == 0))
96 return; 51 return;
97 52 if (--clk->usecount == 0 && !(clk->flags & CLK_PLL))
98 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, clk->lpsc, 0); 53 davinci_psc_config(psc_domain(clk), clk->lpsc, 0);
54 if (clk->parent)
55 __clk_disable(clk->parent);
99} 56}
100 57
101int clk_enable(struct clk *clk) 58int clk_enable(struct clk *clk)
102{ 59{
103 unsigned long flags; 60 unsigned long flags;
104 int ret = 0;
105 61
106 if (clk == NULL || IS_ERR(clk)) 62 if (clk == NULL || IS_ERR(clk))
107 return -EINVAL; 63 return -EINVAL;
108 64
109 if (clk->usecount++ == 0) { 65 spin_lock_irqsave(&clockfw_lock, flags);
110 spin_lock_irqsave(&clockfw_lock, flags); 66 __clk_enable(clk);
111 ret = __clk_enable(clk); 67 spin_unlock_irqrestore(&clockfw_lock, flags);
112 spin_unlock_irqrestore(&clockfw_lock, flags);
113 }
114 68
115 return ret; 69 return 0;
116} 70}
117EXPORT_SYMBOL(clk_enable); 71EXPORT_SYMBOL(clk_enable);
118 72
@@ -123,11 +77,9 @@ void clk_disable(struct clk *clk)
123 if (clk == NULL || IS_ERR(clk)) 77 if (clk == NULL || IS_ERR(clk))
124 return; 78 return;
125 79
126 if (clk->usecount > 0 && !(--clk->usecount)) { 80 spin_lock_irqsave(&clockfw_lock, flags);
127 spin_lock_irqsave(&clockfw_lock, flags); 81 __clk_disable(clk);
128 __clk_disable(clk); 82 spin_unlock_irqrestore(&clockfw_lock, flags);
129 spin_unlock_irqrestore(&clockfw_lock, flags);
130 }
131} 83}
132EXPORT_SYMBOL(clk_disable); 84EXPORT_SYMBOL(clk_disable);
133 85
@@ -136,7 +88,7 @@ unsigned long clk_get_rate(struct clk *clk)
136 if (clk == NULL || IS_ERR(clk)) 88 if (clk == NULL || IS_ERR(clk))
137 return -EINVAL; 89 return -EINVAL;
138 90
139 return *(clk->rate); 91 return clk->rate;
140} 92}
141EXPORT_SYMBOL(clk_get_rate); 93EXPORT_SYMBOL(clk_get_rate);
142 94
@@ -145,7 +97,7 @@ long clk_round_rate(struct clk *clk, unsigned long rate)
145 if (clk == NULL || IS_ERR(clk)) 97 if (clk == NULL || IS_ERR(clk))
146 return -EINVAL; 98 return -EINVAL;
147 99
148 return *(clk->rate); 100 return clk->rate;
149} 101}
150EXPORT_SYMBOL(clk_round_rate); 102EXPORT_SYMBOL(clk_round_rate);
151 103
@@ -164,10 +116,23 @@ int clk_register(struct clk *clk)
164 if (clk == NULL || IS_ERR(clk)) 116 if (clk == NULL || IS_ERR(clk))
165 return -EINVAL; 117 return -EINVAL;
166 118
119 if (WARN(clk->parent && !clk->parent->rate,
120 "CLK: %s parent %s has no rate!\n",
121 clk->name, clk->parent->name))
122 return -EINVAL;
123
167 mutex_lock(&clocks_mutex); 124 mutex_lock(&clocks_mutex);
168 list_add(&clk->node, &clocks); 125 list_add_tail(&clk->node, &clocks);
169 mutex_unlock(&clocks_mutex); 126 mutex_unlock(&clocks_mutex);
170 127
128 /* If rate is already set, use it */
129 if (clk->rate)
130 return 0;
131
132 /* Otherwise, default to parent rate */
133 if (clk->parent)
134 clk->rate = clk->parent->rate;
135
171 return 0; 136 return 0;
172} 137}
173EXPORT_SYMBOL(clk_register); 138EXPORT_SYMBOL(clk_register);
@@ -183,84 +148,150 @@ void clk_unregister(struct clk *clk)
183} 148}
184EXPORT_SYMBOL(clk_unregister); 149EXPORT_SYMBOL(clk_unregister);
185 150
186static struct clk davinci_clks[] = { 151#ifdef CONFIG_DAVINCI_RESET_CLOCKS
187 { 152/*
188 .name = "ARMCLK", 153 * Disable any unused clocks left on by the bootloader
189 .rate = &armrate, 154 */
190 .lpsc = -1, 155static int __init clk_disable_unused(void)
191 .flags = ALWAYS_ENABLED, 156{
192 }, 157 struct clk *ck;
193 { 158
194 .name = "UART", 159 spin_lock_irq(&clockfw_lock);
195 .rate = &fixedrate, 160 list_for_each_entry(ck, &clocks, node) {
196 .lpsc = DAVINCI_LPSC_UART0, 161 if (ck->usecount > 0)
197 }, 162 continue;
198 { 163 if (!(ck->flags & CLK_PSC))
199 .name = "EMACCLK", 164 continue;
200 .rate = &commonrate, 165
201 .lpsc = DAVINCI_LPSC_EMAC_WRAPPER, 166 /* ignore if in Disabled or SwRstDisable states */
202 }, 167 if (!davinci_psc_is_clk_active(ck->lpsc))
203 { 168 continue;
204 .name = "I2CCLK", 169
205 .rate = &fixedrate, 170 pr_info("Clocks: disable unused %s\n", ck->name);
206 .lpsc = DAVINCI_LPSC_I2C, 171 davinci_psc_config(psc_domain(ck), ck->lpsc, 0);
207 },
208 {
209 .name = "IDECLK",
210 .rate = &commonrate,
211 .lpsc = DAVINCI_LPSC_ATA,
212 },
213 {
214 .name = "McBSPCLK",
215 .rate = &commonrate,
216 .lpsc = DAVINCI_LPSC_McBSP,
217 },
218 {
219 .name = "MMCSDCLK",
220 .rate = &commonrate,
221 .lpsc = DAVINCI_LPSC_MMC_SD,
222 },
223 {
224 .name = "SPICLK",
225 .rate = &commonrate,
226 .lpsc = DAVINCI_LPSC_SPI,
227 },
228 {
229 .name = "gpio",
230 .rate = &commonrate,
231 .lpsc = DAVINCI_LPSC_GPIO,
232 },
233 {
234 .name = "usb",
235 .rate = &commonrate,
236 .lpsc = DAVINCI_LPSC_USB,
237 },
238 {
239 .name = "AEMIFCLK",
240 .rate = &commonrate,
241 .lpsc = DAVINCI_LPSC_AEMIF,
242 .usecount = 1,
243 } 172 }
244}; 173 spin_unlock_irq(&clockfw_lock);
174
175 return 0;
176}
177late_initcall(clk_disable_unused);
178#endif
245 179
246int __init davinci_clk_init(void) 180static void clk_sysclk_recalc(struct clk *clk)
247{ 181{
248 struct clk *clkp; 182 u32 v, plldiv;
249 int count = 0; 183 struct pll_data *pll;
250 u32 pll_mult; 184
251 185 /* If this is the PLL base clock, no more calculations needed */
252 pll_mult = davinci_readl(DAVINCI_PLL_CNTRL0_BASE + PLLM); 186 if (clk->pll_data)
253 commonrate = ((pll_mult + 1) * 27000000) / 6; 187 return;
254 armrate = ((pll_mult + 1) * 27000000) / 2; 188
255 189 if (WARN_ON(!clk->parent))
256 for (clkp = davinci_clks; count < ARRAY_SIZE(davinci_clks); 190 return;
257 count++, clkp++) { 191
258 clk_register(clkp); 192 clk->rate = clk->parent->rate;
259 193
260 /* Turn on clocks that have been enabled in the 194 /* Otherwise, the parent must be a PLL */
261 * table above */ 195 if (WARN_ON(!clk->parent->pll_data))
262 if (clkp->usecount) 196 return;
263 clk_enable(clkp); 197
198 pll = clk->parent->pll_data;
199
200 /* If pre-PLL, source clock is before the multiplier and divider(s) */
201 if (clk->flags & PRE_PLL)
202 clk->rate = pll->input_rate;
203
204 if (!clk->div_reg)
205 return;
206
207 v = __raw_readl(pll->base + clk->div_reg);
208 if (v & PLLDIV_EN) {
209 plldiv = (v & PLLDIV_RATIO_MASK) + 1;
210 if (plldiv)
211 clk->rate /= plldiv;
212 }
213}
214
215static void __init clk_pll_init(struct clk *clk)
216{
217 u32 ctrl, mult = 1, prediv = 1, postdiv = 1;
218 u8 bypass;
219 struct pll_data *pll = clk->pll_data;
220
221 pll->base = IO_ADDRESS(pll->phys_base);
222 ctrl = __raw_readl(pll->base + PLLCTL);
223 clk->rate = pll->input_rate = clk->parent->rate;
224
225 if (ctrl & PLLCTL_PLLEN) {
226 bypass = 0;
227 mult = __raw_readl(pll->base + PLLM);
228 mult = (mult & PLLM_PLLM_MASK) + 1;
229 } else
230 bypass = 1;
231
232 if (pll->flags & PLL_HAS_PREDIV) {
233 prediv = __raw_readl(pll->base + PREDIV);
234 if (prediv & PLLDIV_EN)
235 prediv = (prediv & PLLDIV_RATIO_MASK) + 1;
236 else
237 prediv = 1;
238 }
239
240 /* pre-divider is fixed, but (some?) chips won't report that */
241 if (cpu_is_davinci_dm355() && pll->num == 1)
242 prediv = 8;
243
244 if (pll->flags & PLL_HAS_POSTDIV) {
245 postdiv = __raw_readl(pll->base + POSTDIV);
246 if (postdiv & PLLDIV_EN)
247 postdiv = (postdiv & PLLDIV_RATIO_MASK) + 1;
248 else
249 postdiv = 1;
250 }
251
252 if (!bypass) {
253 clk->rate /= prediv;
254 clk->rate *= mult;
255 clk->rate /= postdiv;
256 }
257
258 pr_debug("PLL%d: input = %lu MHz [ ",
259 pll->num, clk->parent->rate / 1000000);
260 if (bypass)
261 pr_debug("bypass ");
262 if (prediv > 1)
263 pr_debug("/ %d ", prediv);
264 if (mult > 1)
265 pr_debug("* %d ", mult);
266 if (postdiv > 1)
267 pr_debug("/ %d ", postdiv);
268 pr_debug("] --> %lu MHz output.\n", clk->rate / 1000000);
269}
270
271int __init davinci_clk_init(struct davinci_clk *clocks)
272 {
273 struct davinci_clk *c;
274 struct clk *clk;
275
276 for (c = clocks; c->lk.clk; c++) {
277 clk = c->lk.clk;
278
279 if (clk->pll_data)
280 clk_pll_init(clk);
281
282 /* Calculate rates for PLL-derived clocks */
283 else if (clk->flags & CLK_PLL)
284 clk_sysclk_recalc(clk);
285
286 if (clk->lpsc)
287 clk->flags |= CLK_PSC;
288
289 clkdev_add(&c->lk);
290 clk_register(clk);
291
292 /* Turn on clocks that Linux doesn't otherwise manage */
293 if (clk->flags & ALWAYS_ENABLED)
294 clk_enable(clk);
264 } 295 }
265 296
266 return 0; 297 return 0;
@@ -285,12 +316,52 @@ static void davinci_ck_stop(struct seq_file *m, void *v)
285{ 316{
286} 317}
287 318
288static int davinci_ck_show(struct seq_file *m, void *v) 319#define CLKNAME_MAX 10 /* longest clock name */
320#define NEST_DELTA 2
321#define NEST_MAX 4
322
323static void
324dump_clock(struct seq_file *s, unsigned nest, struct clk *parent)
289{ 325{
290 struct clk *cp; 326 char *state;
327 char buf[CLKNAME_MAX + NEST_DELTA * NEST_MAX];
328 struct clk *clk;
329 unsigned i;
330
331 if (parent->flags & CLK_PLL)
332 state = "pll";
333 else if (parent->flags & CLK_PSC)
334 state = "psc";
335 else
336 state = "";
337
338 /* <nest spaces> name <pad to end> */
339 memset(buf, ' ', sizeof(buf) - 1);
340 buf[sizeof(buf) - 1] = 0;
341 i = strlen(parent->name);
342 memcpy(buf + nest, parent->name,
343 min(i, (unsigned)(sizeof(buf) - 1 - nest)));
344
345 seq_printf(s, "%s users=%2d %-3s %9ld Hz\n",
346 buf, parent->usecount, state, clk_get_rate(parent));
347 /* REVISIT show device associations too */
348
349 /* cost is now small, but not linear... */
350 list_for_each_entry(clk, &clocks, node) {
351 if (clk->parent == parent)
352 dump_clock(s, nest + NEST_DELTA, clk);
353 }
354}
291 355
292 list_for_each_entry(cp, &clocks, node) 356static int davinci_ck_show(struct seq_file *m, void *v)
293 seq_printf(m,"%s %d %d\n", cp->name, *(cp->rate), cp->usecount); 357{
358 /* Show clock tree; we know the main oscillator is first.
359 * We trust nonzero usecounts equate to PSC enables...
360 */
361 mutex_lock(&clocks_mutex);
362 if (!list_empty(&clocks))
363 dump_clock(m, 0, list_first_entry(&clocks, struct clk, node));
364 mutex_unlock(&clocks_mutex);
294 365
295 return 0; 366 return 0;
296} 367}
@@ -321,4 +392,4 @@ static int __init davinci_ck_proc_init(void)
321 392
322} 393}
323__initcall(davinci_ck_proc_init); 394__initcall(davinci_ck_proc_init);
324#endif /* CONFIG_DEBUG_PROC_FS */ 395#endif /* CONFIG_DEBUG_PROC_FS */
diff --git a/arch/arm/mach-davinci/clock.h b/arch/arm/mach-davinci/clock.h
index ed47079a52e4..35736ec202f8 100644
--- a/arch/arm/mach-davinci/clock.h
+++ b/arch/arm/mach-davinci/clock.h
@@ -1,7 +1,8 @@
1/* 1/*
2 * TI DaVinci clock definitions 2 * TI DaVinci clock definitions
3 * 3 *
4 * Copyright (C) 2006 Texas Instruments. 4 * Copyright (C) 2006-2007 Texas Instruments.
5 * Copyright (C) 2008-2009 Deep Root Systems, LLC
5 * 6 *
6 * This program is free software; you can redistribute it and/or modify 7 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as 8 * it under the terms of the GNU General Public License version 2 as
@@ -11,23 +12,85 @@
11#ifndef __ARCH_ARM_DAVINCI_CLOCK_H 12#ifndef __ARCH_ARM_DAVINCI_CLOCK_H
12#define __ARCH_ARM_DAVINCI_CLOCK_H 13#define __ARCH_ARM_DAVINCI_CLOCK_H
13 14
15#include <linux/list.h>
16#include <asm/clkdev.h>
17
18#define DAVINCI_PLL1_BASE 0x01c40800
19#define DAVINCI_PLL2_BASE 0x01c40c00
20#define MAX_PLL 2
21
22/* PLL/Reset register offsets */
23#define PLLCTL 0x100
24#define PLLCTL_PLLEN BIT(0)
25#define PLLCTL_CLKMODE BIT(8)
26
27#define PLLM 0x110
28#define PLLM_PLLM_MASK 0xff
29
30#define PREDIV 0x114
31#define PLLDIV1 0x118
32#define PLLDIV2 0x11c
33#define PLLDIV3 0x120
34#define POSTDIV 0x128
35#define BPDIV 0x12c
36#define PLLCMD 0x138
37#define PLLSTAT 0x13c
38#define PLLALNCTL 0x140
39#define PLLDCHANGE 0x144
40#define PLLCKEN 0x148
41#define PLLCKSTAT 0x14c
42#define PLLSYSTAT 0x150
43#define PLLDIV4 0x160
44#define PLLDIV5 0x164
45#define PLLDIV6 0x168
46#define PLLDIV7 0x16c
47#define PLLDIV8 0x170
48#define PLLDIV9 0x174
49#define PLLDIV_EN BIT(15)
50#define PLLDIV_RATIO_MASK 0x1f
51
52struct pll_data {
53 u32 phys_base;
54 void __iomem *base;
55 u32 num;
56 u32 flags;
57 u32 input_rate;
58};
59#define PLL_HAS_PREDIV 0x01
60#define PLL_HAS_POSTDIV 0x02
61
14struct clk { 62struct clk {
15 struct list_head node; 63 struct list_head node;
16 struct module *owner; 64 struct module *owner;
17 const char *name; 65 const char *name;
18 unsigned int *rate; 66 unsigned long rate;
19 int id; 67 u8 usecount;
20 __s8 usecount; 68 u8 flags;
21 __u8 flags; 69 u8 lpsc;
22 __u8 lpsc; 70 struct clk *parent;
71 struct pll_data *pll_data;
72 u32 div_reg;
23}; 73};
24 74
25/* Clock flags */ 75/* Clock flags */
26#define RATE_CKCTL 1 76#define ALWAYS_ENABLED BIT(1)
27#define RATE_FIXED 2 77#define CLK_PSC BIT(2)
28#define RATE_PROPAGATES 4 78#define PSC_DSP BIT(3) /* PSC uses DSP domain, not ARM */
29#define VIRTUAL_CLOCK 8 79#define CLK_PLL BIT(4) /* PLL-derived clock */
30#define ALWAYS_ENABLED 16 80#define PRE_PLL BIT(5) /* source is before PLL mult/div */
31#define ENABLE_REG_32BIT 32 81
82struct davinci_clk {
83 struct clk_lookup lk;
84};
85
86#define CLK(dev, con, ck) \
87 { \
88 .lk = { \
89 .dev_id = dev, \
90 .con_id = con, \
91 .clk = ck, \
92 }, \
93 }
32 94
95int davinci_clk_init(struct davinci_clk *clocks);
33#endif 96#endif
diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c
index 808633f9f03c..a31370b93dd2 100644
--- a/arch/arm/mach-davinci/devices.c
+++ b/arch/arm/mach-davinci/devices.c
@@ -21,6 +21,10 @@
21#include <mach/hardware.h> 21#include <mach/hardware.h>
22#include <mach/i2c.h> 22#include <mach/i2c.h>
23#include <mach/irqs.h> 23#include <mach/irqs.h>
24#include <mach/cputype.h>
25#include <mach/mux.h>
26
27#define DAVINCI_I2C_BASE 0x01C21000
24 28
25static struct resource i2c_resources[] = { 29static struct resource i2c_resources[] = {
26 { 30 {
@@ -43,6 +47,9 @@ static struct platform_device davinci_i2c_device = {
43 47
44void __init davinci_init_i2c(struct davinci_i2c_platform_data *pdata) 48void __init davinci_init_i2c(struct davinci_i2c_platform_data *pdata)
45{ 49{
50 if (cpu_is_davinci_dm644x())
51 davinci_cfg_reg(DM644X_I2C);
52
46 davinci_i2c_device.dev.platform_data = pdata; 53 davinci_i2c_device.dev.platform_data = pdata;
47 (void) platform_device_register(&davinci_i2c_device); 54 (void) platform_device_register(&davinci_i2c_device);
48} 55}
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
new file mode 100644
index 000000000000..d428ef192eac
--- /dev/null
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -0,0 +1,461 @@
1/*
2 * TI DaVinci DM644x chip specific setup
3 *
4 * Author: Kevin Hilman, Deep Root Systems, LLC
5 *
6 * 2007 (c) Deep Root Systems, LLC. This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 */
11#include <linux/kernel.h>
12#include <linux/init.h>
13#include <linux/clk.h>
14#include <linux/platform_device.h>
15
16#include <mach/dm644x.h>
17#include <mach/clock.h>
18#include <mach/cputype.h>
19#include <mach/edma.h>
20#include <mach/irqs.h>
21#include <mach/psc.h>
22#include <mach/mux.h>
23
24#include "clock.h"
25#include "mux.h"
26
27/*
28 * Device specific clocks
29 */
30#define DM644X_REF_FREQ 27000000
31
32static struct pll_data pll1_data = {
33 .num = 1,
34 .phys_base = DAVINCI_PLL1_BASE,
35};
36
37static struct pll_data pll2_data = {
38 .num = 2,
39 .phys_base = DAVINCI_PLL2_BASE,
40};
41
42static struct clk ref_clk = {
43 .name = "ref_clk",
44 .rate = DM644X_REF_FREQ,
45};
46
47static struct clk pll1_clk = {
48 .name = "pll1",
49 .parent = &ref_clk,
50 .pll_data = &pll1_data,
51 .flags = CLK_PLL,
52};
53
54static struct clk pll1_sysclk1 = {
55 .name = "pll1_sysclk1",
56 .parent = &pll1_clk,
57 .flags = CLK_PLL,
58 .div_reg = PLLDIV1,
59};
60
61static struct clk pll1_sysclk2 = {
62 .name = "pll1_sysclk2",
63 .parent = &pll1_clk,
64 .flags = CLK_PLL,
65 .div_reg = PLLDIV2,
66};
67
68static struct clk pll1_sysclk3 = {
69 .name = "pll1_sysclk3",
70 .parent = &pll1_clk,
71 .flags = CLK_PLL,
72 .div_reg = PLLDIV3,
73};
74
75static struct clk pll1_sysclk5 = {
76 .name = "pll1_sysclk5",
77 .parent = &pll1_clk,
78 .flags = CLK_PLL,
79 .div_reg = PLLDIV5,
80};
81
82static struct clk pll1_aux_clk = {
83 .name = "pll1_aux_clk",
84 .parent = &pll1_clk,
85 .flags = CLK_PLL | PRE_PLL,
86};
87
88static struct clk pll1_sysclkbp = {
89 .name = "pll1_sysclkbp",
90 .parent = &pll1_clk,
91 .flags = CLK_PLL | PRE_PLL,
92 .div_reg = BPDIV
93};
94
95static struct clk pll2_clk = {
96 .name = "pll2",
97 .parent = &ref_clk,
98 .pll_data = &pll2_data,
99 .flags = CLK_PLL,
100};
101
102static struct clk pll2_sysclk1 = {
103 .name = "pll2_sysclk1",
104 .parent = &pll2_clk,
105 .flags = CLK_PLL,
106 .div_reg = PLLDIV1,
107};
108
109static struct clk pll2_sysclk2 = {
110 .name = "pll2_sysclk2",
111 .parent = &pll2_clk,
112 .flags = CLK_PLL,
113 .div_reg = PLLDIV2,
114};
115
116static struct clk pll2_sysclkbp = {
117 .name = "pll2_sysclkbp",
118 .parent = &pll2_clk,
119 .flags = CLK_PLL | PRE_PLL,
120 .div_reg = BPDIV
121};
122
123static struct clk dsp_clk = {
124 .name = "dsp",
125 .parent = &pll1_sysclk1,
126 .lpsc = DAVINCI_LPSC_GEM,
127 .flags = PSC_DSP,
128 .usecount = 1, /* REVISIT how to disable? */
129};
130
131static struct clk arm_clk = {
132 .name = "arm",
133 .parent = &pll1_sysclk2,
134 .lpsc = DAVINCI_LPSC_ARM,
135 .flags = ALWAYS_ENABLED,
136};
137
138static struct clk vicp_clk = {
139 .name = "vicp",
140 .parent = &pll1_sysclk2,
141 .lpsc = DAVINCI_LPSC_IMCOP,
142 .flags = PSC_DSP,
143 .usecount = 1, /* REVISIT how to disable? */
144};
145
146static struct clk vpss_master_clk = {
147 .name = "vpss_master",
148 .parent = &pll1_sysclk3,
149 .lpsc = DAVINCI_LPSC_VPSSMSTR,
150 .flags = CLK_PSC,
151};
152
153static struct clk vpss_slave_clk = {
154 .name = "vpss_slave",
155 .parent = &pll1_sysclk3,
156 .lpsc = DAVINCI_LPSC_VPSSSLV,
157};
158
159static struct clk uart0_clk = {
160 .name = "uart0",
161 .parent = &pll1_aux_clk,
162 .lpsc = DAVINCI_LPSC_UART0,
163};
164
165static struct clk uart1_clk = {
166 .name = "uart1",
167 .parent = &pll1_aux_clk,
168 .lpsc = DAVINCI_LPSC_UART1,
169};
170
171static struct clk uart2_clk = {
172 .name = "uart2",
173 .parent = &pll1_aux_clk,
174 .lpsc = DAVINCI_LPSC_UART2,
175};
176
177static struct clk emac_clk = {
178 .name = "emac",
179 .parent = &pll1_sysclk5,
180 .lpsc = DAVINCI_LPSC_EMAC_WRAPPER,
181};
182
183static struct clk i2c_clk = {
184 .name = "i2c",
185 .parent = &pll1_aux_clk,
186 .lpsc = DAVINCI_LPSC_I2C,
187};
188
189static struct clk ide_clk = {
190 .name = "ide",
191 .parent = &pll1_sysclk5,
192 .lpsc = DAVINCI_LPSC_ATA,
193};
194
195static struct clk asp_clk = {
196 .name = "asp0",
197 .parent = &pll1_sysclk5,
198 .lpsc = DAVINCI_LPSC_McBSP,
199};
200
201static struct clk mmcsd_clk = {
202 .name = "mmcsd",
203 .parent = &pll1_sysclk5,
204 .lpsc = DAVINCI_LPSC_MMC_SD,
205};
206
207static struct clk spi_clk = {
208 .name = "spi",
209 .parent = &pll1_sysclk5,
210 .lpsc = DAVINCI_LPSC_SPI,
211};
212
213static struct clk gpio_clk = {
214 .name = "gpio",
215 .parent = &pll1_sysclk5,
216 .lpsc = DAVINCI_LPSC_GPIO,
217};
218
219static struct clk usb_clk = {
220 .name = "usb",
221 .parent = &pll1_sysclk5,
222 .lpsc = DAVINCI_LPSC_USB,
223};
224
225static struct clk vlynq_clk = {
226 .name = "vlynq",
227 .parent = &pll1_sysclk5,
228 .lpsc = DAVINCI_LPSC_VLYNQ,
229};
230
231static struct clk aemif_clk = {
232 .name = "aemif",
233 .parent = &pll1_sysclk5,
234 .lpsc = DAVINCI_LPSC_AEMIF,
235};
236
237static struct clk pwm0_clk = {
238 .name = "pwm0",
239 .parent = &pll1_aux_clk,
240 .lpsc = DAVINCI_LPSC_PWM0,
241};
242
243static struct clk pwm1_clk = {
244 .name = "pwm1",
245 .parent = &pll1_aux_clk,
246 .lpsc = DAVINCI_LPSC_PWM1,
247};
248
249static struct clk pwm2_clk = {
250 .name = "pwm2",
251 .parent = &pll1_aux_clk,
252 .lpsc = DAVINCI_LPSC_PWM2,
253};
254
255static struct clk timer0_clk = {
256 .name = "timer0",
257 .parent = &pll1_aux_clk,
258 .lpsc = DAVINCI_LPSC_TIMER0,
259};
260
261static struct clk timer1_clk = {
262 .name = "timer1",
263 .parent = &pll1_aux_clk,
264 .lpsc = DAVINCI_LPSC_TIMER1,
265};
266
267static struct clk timer2_clk = {
268 .name = "timer2",
269 .parent = &pll1_aux_clk,
270 .lpsc = DAVINCI_LPSC_TIMER2,
271 .usecount = 1, /* REVISIT: why cant' this be disabled? */
272};
273
274struct davinci_clk dm644x_clks[] = {
275 CLK(NULL, "ref", &ref_clk),
276 CLK(NULL, "pll1", &pll1_clk),
277 CLK(NULL, "pll1_sysclk1", &pll1_sysclk1),
278 CLK(NULL, "pll1_sysclk2", &pll1_sysclk2),
279 CLK(NULL, "pll1_sysclk3", &pll1_sysclk3),
280 CLK(NULL, "pll1_sysclk5", &pll1_sysclk5),
281 CLK(NULL, "pll1_aux", &pll1_aux_clk),
282 CLK(NULL, "pll1_sysclkbp", &pll1_sysclkbp),
283 CLK(NULL, "pll2", &pll2_clk),
284 CLK(NULL, "pll2_sysclk1", &pll2_sysclk1),
285 CLK(NULL, "pll2_sysclk2", &pll2_sysclk2),
286 CLK(NULL, "pll2_sysclkbp", &pll2_sysclkbp),
287 CLK(NULL, "dsp", &dsp_clk),
288 CLK(NULL, "arm", &arm_clk),
289 CLK(NULL, "vicp", &vicp_clk),
290 CLK(NULL, "vpss_master", &vpss_master_clk),
291 CLK(NULL, "vpss_slave", &vpss_slave_clk),
292 CLK(NULL, "arm", &arm_clk),
293 CLK(NULL, "uart0", &uart0_clk),
294 CLK(NULL, "uart1", &uart1_clk),
295 CLK(NULL, "uart2", &uart2_clk),
296 CLK("davinci_emac.1", NULL, &emac_clk),
297 CLK("i2c_davinci.1", NULL, &i2c_clk),
298 CLK("palm_bk3710", NULL, &ide_clk),
299 CLK("soc-audio.0", NULL, &asp_clk),
300 CLK("davinci_mmc.0", NULL, &mmcsd_clk),
301 CLK(NULL, "spi", &spi_clk),
302 CLK(NULL, "gpio", &gpio_clk),
303 CLK(NULL, "usb", &usb_clk),
304 CLK(NULL, "vlynq", &vlynq_clk),
305 CLK(NULL, "aemif", &aemif_clk),
306 CLK(NULL, "pwm0", &pwm0_clk),
307 CLK(NULL, "pwm1", &pwm1_clk),
308 CLK(NULL, "pwm2", &pwm2_clk),
309 CLK(NULL, "timer0", &timer0_clk),
310 CLK(NULL, "timer1", &timer1_clk),
311 CLK("watchdog", NULL, &timer2_clk),
312 CLK(NULL, NULL, NULL),
313};
314
315#if defined(CONFIG_TI_DAVINCI_EMAC) || defined(CONFIG_TI_DAVINCI_EMAC_MODULE)
316
317static struct resource dm644x_emac_resources[] = {
318 {
319 .start = DM644X_EMAC_BASE,
320 .end = DM644X_EMAC_BASE + 0x47ff,
321 .flags = IORESOURCE_MEM,
322 },
323 {
324 .start = IRQ_EMACINT,
325 .end = IRQ_EMACINT,
326 .flags = IORESOURCE_IRQ,
327 },
328};
329
330static struct platform_device dm644x_emac_device = {
331 .name = "davinci_emac",
332 .id = 1,
333 .num_resources = ARRAY_SIZE(dm644x_emac_resources),
334 .resource = dm644x_emac_resources,
335};
336
337#endif
338
339/*
340 * Device specific mux setup
341 *
342 * soc description mux mode mode mux dbg
343 * reg offset mask mode
344 */
345static const struct mux_config dm644x_pins[] = {
346MUX_CFG(DM644X, HDIREN, 0, 16, 1, 1, true)
347MUX_CFG(DM644X, ATAEN, 0, 17, 1, 1, true)
348MUX_CFG(DM644X, ATAEN_DISABLE, 0, 17, 1, 0, true)
349
350MUX_CFG(DM644X, HPIEN_DISABLE, 0, 29, 1, 0, true)
351
352MUX_CFG(DM644X, AEAW, 0, 0, 31, 31, true)
353
354MUX_CFG(DM644X, MSTK, 1, 9, 1, 0, false)
355
356MUX_CFG(DM644X, I2C, 1, 7, 1, 1, false)
357
358MUX_CFG(DM644X, MCBSP, 1, 10, 1, 1, false)
359
360MUX_CFG(DM644X, UART1, 1, 1, 1, 1, true)
361MUX_CFG(DM644X, UART2, 1, 2, 1, 1, true)
362
363MUX_CFG(DM644X, PWM0, 1, 4, 1, 1, false)
364
365MUX_CFG(DM644X, PWM1, 1, 5, 1, 1, false)
366
367MUX_CFG(DM644X, PWM2, 1, 6, 1, 1, false)
368
369MUX_CFG(DM644X, VLYNQEN, 0, 15, 1, 1, false)
370MUX_CFG(DM644X, VLSCREN, 0, 14, 1, 1, false)
371MUX_CFG(DM644X, VLYNQWD, 0, 12, 3, 3, false)
372
373MUX_CFG(DM644X, EMACEN, 0, 31, 1, 1, true)
374
375MUX_CFG(DM644X, GPIO3V, 0, 31, 1, 0, true)
376
377MUX_CFG(DM644X, GPIO0, 0, 24, 1, 0, true)
378MUX_CFG(DM644X, GPIO3, 0, 25, 1, 0, false)
379MUX_CFG(DM644X, GPIO43_44, 1, 7, 1, 0, false)
380MUX_CFG(DM644X, GPIO46_47, 0, 22, 1, 0, true)
381
382MUX_CFG(DM644X, RGB666, 0, 22, 1, 1, true)
383
384MUX_CFG(DM644X, LOEEN, 0, 24, 1, 1, true)
385MUX_CFG(DM644X, LFLDEN, 0, 25, 1, 1, false)
386};
387
388
389/*----------------------------------------------------------------------*/
390
391static const s8 dma_chan_dm644x_no_event[] = {
392 0, 1, 12, 13, 14,
393 15, 25, 30, 31, 45,
394 46, 47, 55, 56, 57,
395 58, 59, 60, 61, 62,
396 63,
397 -1
398};
399
400static struct edma_soc_info dm644x_edma_info = {
401 .n_channel = 64,
402 .n_region = 4,
403 .n_slot = 128,
404 .n_tc = 2,
405 .noevent = dma_chan_dm644x_no_event,
406};
407
408static struct resource edma_resources[] = {
409 {
410 .name = "edma_cc",
411 .start = 0x01c00000,
412 .end = 0x01c00000 + SZ_64K - 1,
413 .flags = IORESOURCE_MEM,
414 },
415 {
416 .name = "edma_tc0",
417 .start = 0x01c10000,
418 .end = 0x01c10000 + SZ_1K - 1,
419 .flags = IORESOURCE_MEM,
420 },
421 {
422 .name = "edma_tc1",
423 .start = 0x01c10400,
424 .end = 0x01c10400 + SZ_1K - 1,
425 .flags = IORESOURCE_MEM,
426 },
427 {
428 .start = IRQ_CCINT0,
429 .flags = IORESOURCE_IRQ,
430 },
431 {
432 .start = IRQ_CCERRINT,
433 .flags = IORESOURCE_IRQ,
434 },
435 /* not using TC*_ERR */
436};
437
438static struct platform_device dm644x_edma_device = {
439 .name = "edma",
440 .id = -1,
441 .dev.platform_data = &dm644x_edma_info,
442 .num_resources = ARRAY_SIZE(edma_resources),
443 .resource = edma_resources,
444};
445
446/*----------------------------------------------------------------------*/
447void __init dm644x_init(void)
448{
449 davinci_clk_init(dm644x_clks);
450 davinci_mux_register(dm644x_pins, ARRAY_SIZE(dm644x_pins));
451}
452
453static int __init dm644x_init_devices(void)
454{
455 if (!cpu_is_davinci_dm644x())
456 return 0;
457
458 platform_device_register(&dm644x_edma_device);
459 return 0;
460}
461postcore_initcall(dm644x_init_devices);
diff --git a/arch/arm/mach-davinci/dma.c b/arch/arm/mach-davinci/dma.c
new file mode 100644
index 000000000000..15e9eb158bb7
--- /dev/null
+++ b/arch/arm/mach-davinci/dma.c
@@ -0,0 +1,1135 @@
1/*
2 * EDMA3 support for DaVinci
3 *
4 * Copyright (C) 2006-2009 Texas Instruments.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20#include <linux/kernel.h>
21#include <linux/sched.h>
22#include <linux/init.h>
23#include <linux/module.h>
24#include <linux/interrupt.h>
25#include <linux/platform_device.h>
26#include <linux/spinlock.h>
27#include <linux/compiler.h>
28#include <linux/io.h>
29
30#include <mach/cputype.h>
31#include <mach/memory.h>
32#include <mach/hardware.h>
33#include <mach/irqs.h>
34#include <mach/edma.h>
35#include <mach/mux.h>
36
37
38/* Offsets matching "struct edmacc_param" */
39#define PARM_OPT 0x00
40#define PARM_SRC 0x04
41#define PARM_A_B_CNT 0x08
42#define PARM_DST 0x0c
43#define PARM_SRC_DST_BIDX 0x10
44#define PARM_LINK_BCNTRLD 0x14
45#define PARM_SRC_DST_CIDX 0x18
46#define PARM_CCNT 0x1c
47
48#define PARM_SIZE 0x20
49
50/* Offsets for EDMA CC global channel registers and their shadows */
51#define SH_ER 0x00 /* 64 bits */
52#define SH_ECR 0x08 /* 64 bits */
53#define SH_ESR 0x10 /* 64 bits */
54#define SH_CER 0x18 /* 64 bits */
55#define SH_EER 0x20 /* 64 bits */
56#define SH_EECR 0x28 /* 64 bits */
57#define SH_EESR 0x30 /* 64 bits */
58#define SH_SER 0x38 /* 64 bits */
59#define SH_SECR 0x40 /* 64 bits */
60#define SH_IER 0x50 /* 64 bits */
61#define SH_IECR 0x58 /* 64 bits */
62#define SH_IESR 0x60 /* 64 bits */
63#define SH_IPR 0x68 /* 64 bits */
64#define SH_ICR 0x70 /* 64 bits */
65#define SH_IEVAL 0x78
66#define SH_QER 0x80
67#define SH_QEER 0x84
68#define SH_QEECR 0x88
69#define SH_QEESR 0x8c
70#define SH_QSER 0x90
71#define SH_QSECR 0x94
72#define SH_SIZE 0x200
73
74/* Offsets for EDMA CC global registers */
75#define EDMA_REV 0x0000
76#define EDMA_CCCFG 0x0004
77#define EDMA_QCHMAP 0x0200 /* 8 registers */
78#define EDMA_DMAQNUM 0x0240 /* 8 registers (4 on OMAP-L1xx) */
79#define EDMA_QDMAQNUM 0x0260
80#define EDMA_QUETCMAP 0x0280
81#define EDMA_QUEPRI 0x0284
82#define EDMA_EMR 0x0300 /* 64 bits */
83#define EDMA_EMCR 0x0308 /* 64 bits */
84#define EDMA_QEMR 0x0310
85#define EDMA_QEMCR 0x0314
86#define EDMA_CCERR 0x0318
87#define EDMA_CCERRCLR 0x031c
88#define EDMA_EEVAL 0x0320
89#define EDMA_DRAE 0x0340 /* 4 x 64 bits*/
90#define EDMA_QRAE 0x0380 /* 4 registers */
91#define EDMA_QUEEVTENTRY 0x0400 /* 2 x 16 registers */
92#define EDMA_QSTAT 0x0600 /* 2 registers */
93#define EDMA_QWMTHRA 0x0620
94#define EDMA_QWMTHRB 0x0624
95#define EDMA_CCSTAT 0x0640
96
97#define EDMA_M 0x1000 /* global channel registers */
98#define EDMA_ECR 0x1008
99#define EDMA_ECRH 0x100C
100#define EDMA_SHADOW0 0x2000 /* 4 regions shadowing global channels */
101#define EDMA_PARM 0x4000 /* 128 param entries */
102
103#define DAVINCI_DMA_3PCC_BASE 0x01C00000
104
105#define PARM_OFFSET(param_no) (EDMA_PARM + ((param_no) << 5))
106
107#define EDMA_MAX_DMACH 64
108#define EDMA_MAX_PARAMENTRY 512
109#define EDMA_MAX_EVQUE 2 /* FIXME too small */
110
111
112/*****************************************************************************/
113
114static void __iomem *edmacc_regs_base;
115
116static inline unsigned int edma_read(int offset)
117{
118 return (unsigned int)__raw_readl(edmacc_regs_base + offset);
119}
120
121static inline void edma_write(int offset, int val)
122{
123 __raw_writel(val, edmacc_regs_base + offset);
124}
125static inline void edma_modify(int offset, unsigned and, unsigned or)
126{
127 unsigned val = edma_read(offset);
128 val &= and;
129 val |= or;
130 edma_write(offset, val);
131}
132static inline void edma_and(int offset, unsigned and)
133{
134 unsigned val = edma_read(offset);
135 val &= and;
136 edma_write(offset, val);
137}
138static inline void edma_or(int offset, unsigned or)
139{
140 unsigned val = edma_read(offset);
141 val |= or;
142 edma_write(offset, val);
143}
144static inline unsigned int edma_read_array(int offset, int i)
145{
146 return edma_read(offset + (i << 2));
147}
148static inline void edma_write_array(int offset, int i, unsigned val)
149{
150 edma_write(offset + (i << 2), val);
151}
152static inline void edma_modify_array(int offset, int i,
153 unsigned and, unsigned or)
154{
155 edma_modify(offset + (i << 2), and, or);
156}
157static inline void edma_or_array(int offset, int i, unsigned or)
158{
159 edma_or(offset + (i << 2), or);
160}
161static inline void edma_or_array2(int offset, int i, int j, unsigned or)
162{
163 edma_or(offset + ((i*2 + j) << 2), or);
164}
165static inline void edma_write_array2(int offset, int i, int j, unsigned val)
166{
167 edma_write(offset + ((i*2 + j) << 2), val);
168}
169static inline unsigned int edma_shadow0_read(int offset)
170{
171 return edma_read(EDMA_SHADOW0 + offset);
172}
173static inline unsigned int edma_shadow0_read_array(int offset, int i)
174{
175 return edma_read(EDMA_SHADOW0 + offset + (i << 2));
176}
177static inline void edma_shadow0_write(int offset, unsigned val)
178{
179 edma_write(EDMA_SHADOW0 + offset, val);
180}
181static inline void edma_shadow0_write_array(int offset, int i, unsigned val)
182{
183 edma_write(EDMA_SHADOW0 + offset + (i << 2), val);
184}
185static inline unsigned int edma_parm_read(int offset, int param_no)
186{
187 return edma_read(EDMA_PARM + offset + (param_no << 5));
188}
189static inline void edma_parm_write(int offset, int param_no, unsigned val)
190{
191 edma_write(EDMA_PARM + offset + (param_no << 5), val);
192}
193static inline void edma_parm_modify(int offset, int param_no,
194 unsigned and, unsigned or)
195{
196 edma_modify(EDMA_PARM + offset + (param_no << 5), and, or);
197}
198static inline void edma_parm_and(int offset, int param_no, unsigned and)
199{
200 edma_and(EDMA_PARM + offset + (param_no << 5), and);
201}
202static inline void edma_parm_or(int offset, int param_no, unsigned or)
203{
204 edma_or(EDMA_PARM + offset + (param_no << 5), or);
205}
206
207/*****************************************************************************/
208
209/* actual number of DMA channels and slots on this silicon */
210static unsigned num_channels;
211static unsigned num_slots;
212
213static struct dma_interrupt_data {
214 void (*callback)(unsigned channel, unsigned short ch_status,
215 void *data);
216 void *data;
217} intr_data[EDMA_MAX_DMACH];
218
219/* The edma_inuse bit for each PaRAM slot is clear unless the
220 * channel is in use ... by ARM or DSP, for QDMA, or whatever.
221 */
222static DECLARE_BITMAP(edma_inuse, EDMA_MAX_PARAMENTRY);
223
224/* The edma_noevent bit for each channel is clear unless
225 * it doesn't trigger DMA events on this platform. It uses a
226 * bit of SOC-specific initialization code.
227 */
228static DECLARE_BITMAP(edma_noevent, EDMA_MAX_DMACH);
229
230/* dummy param set used to (re)initialize parameter RAM slots */
231static const struct edmacc_param dummy_paramset = {
232 .link_bcntrld = 0xffff,
233 .ccnt = 1,
234};
235
236static const int __initconst
237queue_tc_mapping[EDMA_MAX_EVQUE + 1][2] = {
238/* {event queue no, TC no} */
239 {0, 0},
240 {1, 1},
241 {-1, -1}
242};
243
244static const int __initconst
245queue_priority_mapping[EDMA_MAX_EVQUE + 1][2] = {
246 /* {event queue no, Priority} */
247 {0, 3},
248 {1, 7},
249 {-1, -1}
250};
251
252/*****************************************************************************/
253
254static void map_dmach_queue(unsigned ch_no, enum dma_event_q queue_no)
255{
256 int bit = (ch_no & 0x7) * 4;
257
258 /* default to low priority queue */
259 if (queue_no == EVENTQ_DEFAULT)
260 queue_no = EVENTQ_1;
261
262 queue_no &= 7;
263 edma_modify_array(EDMA_DMAQNUM, (ch_no >> 3),
264 ~(0x7 << bit), queue_no << bit);
265}
266
267static void __init map_queue_tc(int queue_no, int tc_no)
268{
269 int bit = queue_no * 4;
270 edma_modify(EDMA_QUETCMAP, ~(0x7 << bit), ((tc_no & 0x7) << bit));
271}
272
273static void __init assign_priority_to_queue(int queue_no, int priority)
274{
275 int bit = queue_no * 4;
276 edma_modify(EDMA_QUEPRI, ~(0x7 << bit), ((priority & 0x7) << bit));
277}
278
279static inline void
280setup_dma_interrupt(unsigned lch,
281 void (*callback)(unsigned channel, u16 ch_status, void *data),
282 void *data)
283{
284 if (!callback) {
285 edma_shadow0_write_array(SH_IECR, lch >> 5,
286 (1 << (lch & 0x1f)));
287 }
288
289 intr_data[lch].callback = callback;
290 intr_data[lch].data = data;
291
292 if (callback) {
293 edma_shadow0_write_array(SH_ICR, lch >> 5,
294 (1 << (lch & 0x1f)));
295 edma_shadow0_write_array(SH_IESR, lch >> 5,
296 (1 << (lch & 0x1f)));
297 }
298}
299
300/******************************************************************************
301 *
302 * DMA interrupt handler
303 *
304 *****************************************************************************/
305static irqreturn_t dma_irq_handler(int irq, void *data)
306{
307 int i;
308 unsigned int cnt = 0;
309
310 dev_dbg(data, "dma_irq_handler\n");
311
312 if ((edma_shadow0_read_array(SH_IPR, 0) == 0)
313 && (edma_shadow0_read_array(SH_IPR, 1) == 0))
314 return IRQ_NONE;
315
316 while (1) {
317 int j;
318 if (edma_shadow0_read_array(SH_IPR, 0))
319 j = 0;
320 else if (edma_shadow0_read_array(SH_IPR, 1))
321 j = 1;
322 else
323 break;
324 dev_dbg(data, "IPR%d %08x\n", j,
325 edma_shadow0_read_array(SH_IPR, j));
326 for (i = 0; i < 32; i++) {
327 int k = (j << 5) + i;
328 if (edma_shadow0_read_array(SH_IPR, j) & (1 << i)) {
329 /* Clear the corresponding IPR bits */
330 edma_shadow0_write_array(SH_ICR, j, (1 << i));
331 if (intr_data[k].callback) {
332 intr_data[k].callback(k, DMA_COMPLETE,
333 intr_data[k].data);
334 }
335 }
336 }
337 cnt++;
338 if (cnt > 10)
339 break;
340 }
341 edma_shadow0_write(SH_IEVAL, 1);
342 return IRQ_HANDLED;
343}
344
345/******************************************************************************
346 *
347 * DMA error interrupt handler
348 *
349 *****************************************************************************/
350static irqreturn_t dma_ccerr_handler(int irq, void *data)
351{
352 int i;
353 unsigned int cnt = 0;
354
355 dev_dbg(data, "dma_ccerr_handler\n");
356
357 if ((edma_read_array(EDMA_EMR, 0) == 0) &&
358 (edma_read_array(EDMA_EMR, 1) == 0) &&
359 (edma_read(EDMA_QEMR) == 0) && (edma_read(EDMA_CCERR) == 0))
360 return IRQ_NONE;
361
362 while (1) {
363 int j = -1;
364 if (edma_read_array(EDMA_EMR, 0))
365 j = 0;
366 else if (edma_read_array(EDMA_EMR, 1))
367 j = 1;
368 if (j >= 0) {
369 dev_dbg(data, "EMR%d %08x\n", j,
370 edma_read_array(EDMA_EMR, j));
371 for (i = 0; i < 32; i++) {
372 int k = (j << 5) + i;
373 if (edma_read_array(EDMA_EMR, j) & (1 << i)) {
374 /* Clear the corresponding EMR bits */
375 edma_write_array(EDMA_EMCR, j, 1 << i);
376 /* Clear any SER */
377 edma_shadow0_write_array(SH_SECR, j,
378 (1 << i));
379 if (intr_data[k].callback) {
380 intr_data[k].callback(k,
381 DMA_CC_ERROR,
382 intr_data
383 [k].data);
384 }
385 }
386 }
387 } else if (edma_read(EDMA_QEMR)) {
388 dev_dbg(data, "QEMR %02x\n",
389 edma_read(EDMA_QEMR));
390 for (i = 0; i < 8; i++) {
391 if (edma_read(EDMA_QEMR) & (1 << i)) {
392 /* Clear the corresponding IPR bits */
393 edma_write(EDMA_QEMCR, 1 << i);
394 edma_shadow0_write(SH_QSECR, (1 << i));
395
396 /* NOTE: not reported!! */
397 }
398 }
399 } else if (edma_read(EDMA_CCERR)) {
400 dev_dbg(data, "CCERR %08x\n",
401 edma_read(EDMA_CCERR));
402 /* FIXME: CCERR.BIT(16) ignored! much better
403 * to just write CCERRCLR with CCERR value...
404 */
405 for (i = 0; i < 8; i++) {
406 if (edma_read(EDMA_CCERR) & (1 << i)) {
407 /* Clear the corresponding IPR bits */
408 edma_write(EDMA_CCERRCLR, 1 << i);
409
410 /* NOTE: not reported!! */
411 }
412 }
413 }
414 if ((edma_read_array(EDMA_EMR, 0) == 0)
415 && (edma_read_array(EDMA_EMR, 1) == 0)
416 && (edma_read(EDMA_QEMR) == 0)
417 && (edma_read(EDMA_CCERR) == 0)) {
418 break;
419 }
420 cnt++;
421 if (cnt > 10)
422 break;
423 }
424 edma_write(EDMA_EEVAL, 1);
425 return IRQ_HANDLED;
426}
427
428/******************************************************************************
429 *
430 * Transfer controller error interrupt handlers
431 *
432 *****************************************************************************/
433
434#define tc_errs_handled false /* disabled as long as they're NOPs */
435
436static irqreturn_t dma_tc0err_handler(int irq, void *data)
437{
438 dev_dbg(data, "dma_tc0err_handler\n");
439 return IRQ_HANDLED;
440}
441
442static irqreturn_t dma_tc1err_handler(int irq, void *data)
443{
444 dev_dbg(data, "dma_tc1err_handler\n");
445 return IRQ_HANDLED;
446}
447
448/*-----------------------------------------------------------------------*/
449
450/* Resource alloc/free: dma channels, parameter RAM slots */
451
452/**
453 * edma_alloc_channel - allocate DMA channel and paired parameter RAM
454 * @channel: specific channel to allocate; negative for "any unmapped channel"
455 * @callback: optional; to be issued on DMA completion or errors
456 * @data: passed to callback
457 * @eventq_no: an EVENTQ_* constant, used to choose which Transfer
458 * Controller (TC) executes requests using this channel. Use
459 * EVENTQ_DEFAULT unless you really need a high priority queue.
460 *
461 * This allocates a DMA channel and its associated parameter RAM slot.
462 * The parameter RAM is initialized to hold a dummy transfer.
463 *
464 * Normal use is to pass a specific channel number as @channel, to make
465 * use of hardware events mapped to that channel. When the channel will
466 * be used only for software triggering or event chaining, channels not
467 * mapped to hardware events (or mapped to unused events) are preferable.
468 *
469 * DMA transfers start from a channel using edma_start(), or by
470 * chaining. When the transfer described in that channel's parameter RAM
471 * slot completes, that slot's data may be reloaded through a link.
472 *
473 * DMA errors are only reported to the @callback associated with the
474 * channel driving that transfer, but transfer completion callbacks can
475 * be sent to another channel under control of the TCC field in
476 * the option word of the transfer's parameter RAM set. Drivers must not
477 * use DMA transfer completion callbacks for channels they did not allocate.
478 * (The same applies to TCC codes used in transfer chaining.)
479 *
480 * Returns the number of the channel, else negative errno.
481 */
482int edma_alloc_channel(int channel,
483 void (*callback)(unsigned channel, u16 ch_status, void *data),
484 void *data,
485 enum dma_event_q eventq_no)
486{
487 if (channel < 0) {
488 channel = 0;
489 for (;;) {
490 channel = find_next_bit(edma_noevent,
491 num_channels, channel);
492 if (channel == num_channels)
493 return -ENOMEM;
494 if (!test_and_set_bit(channel, edma_inuse))
495 break;
496 channel++;
497 }
498 } else if (channel >= num_channels) {
499 return -EINVAL;
500 } else if (test_and_set_bit(channel, edma_inuse)) {
501 return -EBUSY;
502 }
503
504 /* ensure access through shadow region 0 */
505 edma_or_array2(EDMA_DRAE, 0, channel >> 5, 1 << (channel & 0x1f));
506
507 /* ensure no events are pending */
508 edma_stop(channel);
509 memcpy_toio(edmacc_regs_base + PARM_OFFSET(channel),
510 &dummy_paramset, PARM_SIZE);
511
512 if (callback)
513 setup_dma_interrupt(channel, callback, data);
514
515 map_dmach_queue(channel, eventq_no);
516
517 return channel;
518}
519EXPORT_SYMBOL(edma_alloc_channel);
520
521
522/**
523 * edma_free_channel - deallocate DMA channel
524 * @channel: dma channel returned from edma_alloc_channel()
525 *
526 * This deallocates the DMA channel and associated parameter RAM slot
527 * allocated by edma_alloc_channel().
528 *
529 * Callers are responsible for ensuring the channel is inactive, and
530 * will not be reactivated by linking, chaining, or software calls to
531 * edma_start().
532 */
533void edma_free_channel(unsigned channel)
534{
535 if (channel >= num_channels)
536 return;
537
538 setup_dma_interrupt(channel, NULL, NULL);
539 /* REVISIT should probably take out of shadow region 0 */
540
541 memcpy_toio(edmacc_regs_base + PARM_OFFSET(channel),
542 &dummy_paramset, PARM_SIZE);
543 clear_bit(channel, edma_inuse);
544}
545EXPORT_SYMBOL(edma_free_channel);
546
547/**
548 * edma_alloc_slot - allocate DMA parameter RAM
549 * @slot: specific slot to allocate; negative for "any unused slot"
550 *
551 * This allocates a parameter RAM slot, initializing it to hold a
552 * dummy transfer. Slots allocated using this routine have not been
553 * mapped to a hardware DMA channel, and will normally be used by
554 * linking to them from a slot associated with a DMA channel.
555 *
556 * Normal use is to pass EDMA_SLOT_ANY as the @slot, but specific
557 * slots may be allocated on behalf of DSP firmware.
558 *
559 * Returns the number of the slot, else negative errno.
560 */
561int edma_alloc_slot(int slot)
562{
563 if (slot < 0) {
564 slot = num_channels;
565 for (;;) {
566 slot = find_next_zero_bit(edma_inuse,
567 num_slots, slot);
568 if (slot == num_slots)
569 return -ENOMEM;
570 if (!test_and_set_bit(slot, edma_inuse))
571 break;
572 }
573 } else if (slot < num_channels || slot >= num_slots) {
574 return -EINVAL;
575 } else if (test_and_set_bit(slot, edma_inuse)) {
576 return -EBUSY;
577 }
578
579 memcpy_toio(edmacc_regs_base + PARM_OFFSET(slot),
580 &dummy_paramset, PARM_SIZE);
581
582 return slot;
583}
584EXPORT_SYMBOL(edma_alloc_slot);
585
586/**
587 * edma_free_slot - deallocate DMA parameter RAM
588 * @slot: parameter RAM slot returned from edma_alloc_slot()
589 *
590 * This deallocates the parameter RAM slot allocated by edma_alloc_slot().
591 * Callers are responsible for ensuring the slot is inactive, and will
592 * not be activated.
593 */
594void edma_free_slot(unsigned slot)
595{
596 if (slot < num_channels || slot >= num_slots)
597 return;
598
599 memcpy_toio(edmacc_regs_base + PARM_OFFSET(slot),
600 &dummy_paramset, PARM_SIZE);
601 clear_bit(slot, edma_inuse);
602}
603EXPORT_SYMBOL(edma_free_slot);
604
605/*-----------------------------------------------------------------------*/
606
607/* Parameter RAM operations (i) -- read/write partial slots */
608
609/**
610 * edma_set_src - set initial DMA source address in parameter RAM slot
611 * @slot: parameter RAM slot being configured
612 * @src_port: physical address of source (memory, controller FIFO, etc)
613 * @addressMode: INCR, except in very rare cases
614 * @fifoWidth: ignored unless @addressMode is FIFO, else specifies the
615 * width to use when addressing the fifo (e.g. W8BIT, W32BIT)
616 *
617 * Note that the source address is modified during the DMA transfer
618 * according to edma_set_src_index().
619 */
620void edma_set_src(unsigned slot, dma_addr_t src_port,
621 enum address_mode mode, enum fifo_width width)
622{
623 if (slot < num_slots) {
624 unsigned int i = edma_parm_read(PARM_OPT, slot);
625
626 if (mode) {
627 /* set SAM and program FWID */
628 i = (i & ~(EDMA_FWID)) | (SAM | ((width & 0x7) << 8));
629 } else {
630 /* clear SAM */
631 i &= ~SAM;
632 }
633 edma_parm_write(PARM_OPT, slot, i);
634
635 /* set the source port address
636 in source register of param structure */
637 edma_parm_write(PARM_SRC, slot, src_port);
638 }
639}
640EXPORT_SYMBOL(edma_set_src);
641
642/**
643 * edma_set_dest - set initial DMA destination address in parameter RAM slot
644 * @slot: parameter RAM slot being configured
645 * @dest_port: physical address of destination (memory, controller FIFO, etc)
646 * @addressMode: INCR, except in very rare cases
647 * @fifoWidth: ignored unless @addressMode is FIFO, else specifies the
648 * width to use when addressing the fifo (e.g. W8BIT, W32BIT)
649 *
650 * Note that the destination address is modified during the DMA transfer
651 * according to edma_set_dest_index().
652 */
653void edma_set_dest(unsigned slot, dma_addr_t dest_port,
654 enum address_mode mode, enum fifo_width width)
655{
656 if (slot < num_slots) {
657 unsigned int i = edma_parm_read(PARM_OPT, slot);
658
659 if (mode) {
660 /* set DAM and program FWID */
661 i = (i & ~(EDMA_FWID)) | (DAM | ((width & 0x7) << 8));
662 } else {
663 /* clear DAM */
664 i &= ~DAM;
665 }
666 edma_parm_write(PARM_OPT, slot, i);
667 /* set the destination port address
668 in dest register of param structure */
669 edma_parm_write(PARM_DST, slot, dest_port);
670 }
671}
672EXPORT_SYMBOL(edma_set_dest);
673
674/**
675 * edma_get_position - returns the current transfer points
676 * @slot: parameter RAM slot being examined
677 * @src: pointer to source port position
678 * @dst: pointer to destination port position
679 *
680 * Returns current source and destination addresses for a particular
681 * parameter RAM slot. Its channel should not be active when this is called.
682 */
683void edma_get_position(unsigned slot, dma_addr_t *src, dma_addr_t *dst)
684{
685 struct edmacc_param temp;
686
687 edma_read_slot(slot, &temp);
688 if (src != NULL)
689 *src = temp.src;
690 if (dst != NULL)
691 *dst = temp.dst;
692}
693EXPORT_SYMBOL(edma_get_position);
694
695/**
696 * edma_set_src_index - configure DMA source address indexing
697 * @slot: parameter RAM slot being configured
698 * @src_bidx: byte offset between source arrays in a frame
699 * @src_cidx: byte offset between source frames in a block
700 *
701 * Offsets are specified to support either contiguous or discontiguous
702 * memory transfers, or repeated access to a hardware register, as needed.
703 * When accessing hardware registers, both offsets are normally zero.
704 */
705void edma_set_src_index(unsigned slot, s16 src_bidx, s16 src_cidx)
706{
707 if (slot < num_slots) {
708 edma_parm_modify(PARM_SRC_DST_BIDX, slot,
709 0xffff0000, src_bidx);
710 edma_parm_modify(PARM_SRC_DST_CIDX, slot,
711 0xffff0000, src_cidx);
712 }
713}
714EXPORT_SYMBOL(edma_set_src_index);
715
716/**
717 * edma_set_dest_index - configure DMA destination address indexing
718 * @slot: parameter RAM slot being configured
719 * @dest_bidx: byte offset between destination arrays in a frame
720 * @dest_cidx: byte offset between destination frames in a block
721 *
722 * Offsets are specified to support either contiguous or discontiguous
723 * memory transfers, or repeated access to a hardware register, as needed.
724 * When accessing hardware registers, both offsets are normally zero.
725 */
726void edma_set_dest_index(unsigned slot, s16 dest_bidx, s16 dest_cidx)
727{
728 if (slot < num_slots) {
729 edma_parm_modify(PARM_SRC_DST_BIDX, slot,
730 0x0000ffff, dest_bidx << 16);
731 edma_parm_modify(PARM_SRC_DST_CIDX, slot,
732 0x0000ffff, dest_cidx << 16);
733 }
734}
735EXPORT_SYMBOL(edma_set_dest_index);
736
737/**
738 * edma_set_transfer_params - configure DMA transfer parameters
739 * @slot: parameter RAM slot being configured
740 * @acnt: how many bytes per array (at least one)
741 * @bcnt: how many arrays per frame (at least one)
742 * @ccnt: how many frames per block (at least one)
743 * @bcnt_rld: used only for A-Synchronized transfers; this specifies
744 * the value to reload into bcnt when it decrements to zero
745 * @sync_mode: ASYNC or ABSYNC
746 *
747 * See the EDMA3 documentation to understand how to configure and link
748 * transfers using the fields in PaRAM slots. If you are not doing it
749 * all at once with edma_write_slot(), you will use this routine
750 * plus two calls each for source and destination, setting the initial
751 * address and saying how to index that address.
752 *
753 * An example of an A-Synchronized transfer is a serial link using a
754 * single word shift register. In that case, @acnt would be equal to
755 * that word size; the serial controller issues a DMA synchronization
756 * event to transfer each word, and memory access by the DMA transfer
757 * controller will be word-at-a-time.
758 *
759 * An example of an AB-Synchronized transfer is a device using a FIFO.
760 * In that case, @acnt equals the FIFO width and @bcnt equals its depth.
761 * The controller with the FIFO issues DMA synchronization events when
762 * the FIFO threshold is reached, and the DMA transfer controller will
763 * transfer one frame to (or from) the FIFO. It will probably use
764 * efficient burst modes to access memory.
765 */
766void edma_set_transfer_params(unsigned slot,
767 u16 acnt, u16 bcnt, u16 ccnt,
768 u16 bcnt_rld, enum sync_dimension sync_mode)
769{
770 if (slot < num_slots) {
771 edma_parm_modify(PARM_LINK_BCNTRLD, slot,
772 0x0000ffff, bcnt_rld << 16);
773 if (sync_mode == ASYNC)
774 edma_parm_and(PARM_OPT, slot, ~SYNCDIM);
775 else
776 edma_parm_or(PARM_OPT, slot, SYNCDIM);
777 /* Set the acount, bcount, ccount registers */
778 edma_parm_write(PARM_A_B_CNT, slot, (bcnt << 16) | acnt);
779 edma_parm_write(PARM_CCNT, slot, ccnt);
780 }
781}
782EXPORT_SYMBOL(edma_set_transfer_params);
783
784/**
785 * edma_link - link one parameter RAM slot to another
786 * @from: parameter RAM slot originating the link
787 * @to: parameter RAM slot which is the link target
788 *
789 * The originating slot should not be part of any active DMA transfer.
790 */
791void edma_link(unsigned from, unsigned to)
792{
793 if (from >= num_slots)
794 return;
795 if (to >= num_slots)
796 return;
797 edma_parm_modify(PARM_LINK_BCNTRLD, from, 0xffff0000, PARM_OFFSET(to));
798}
799EXPORT_SYMBOL(edma_link);
800
801/**
802 * edma_unlink - cut link from one parameter RAM slot
803 * @from: parameter RAM slot originating the link
804 *
805 * The originating slot should not be part of any active DMA transfer.
806 * Its link is set to 0xffff.
807 */
808void edma_unlink(unsigned from)
809{
810 if (from >= num_slots)
811 return;
812 edma_parm_or(PARM_LINK_BCNTRLD, from, 0xffff);
813}
814EXPORT_SYMBOL(edma_unlink);
815
816/*-----------------------------------------------------------------------*/
817
818/* Parameter RAM operations (ii) -- read/write whole parameter sets */
819
820/**
821 * edma_write_slot - write parameter RAM data for slot
822 * @slot: number of parameter RAM slot being modified
823 * @param: data to be written into parameter RAM slot
824 *
825 * Use this to assign all parameters of a transfer at once. This
826 * allows more efficient setup of transfers than issuing multiple
827 * calls to set up those parameters in small pieces, and provides
828 * complete control over all transfer options.
829 */
830void edma_write_slot(unsigned slot, const struct edmacc_param *param)
831{
832 if (slot >= num_slots)
833 return;
834 memcpy_toio(edmacc_regs_base + PARM_OFFSET(slot), param, PARM_SIZE);
835}
836EXPORT_SYMBOL(edma_write_slot);
837
838/**
839 * edma_read_slot - read parameter RAM data from slot
840 * @slot: number of parameter RAM slot being copied
841 * @param: where to store copy of parameter RAM data
842 *
843 * Use this to read data from a parameter RAM slot, perhaps to
844 * save them as a template for later reuse.
845 */
846void edma_read_slot(unsigned slot, struct edmacc_param *param)
847{
848 if (slot >= num_slots)
849 return;
850 memcpy_fromio(param, edmacc_regs_base + PARM_OFFSET(slot), PARM_SIZE);
851}
852EXPORT_SYMBOL(edma_read_slot);
853
854/*-----------------------------------------------------------------------*/
855
856/* Various EDMA channel control operations */
857
858/**
859 * edma_pause - pause dma on a channel
860 * @channel: on which edma_start() has been called
861 *
862 * This temporarily disables EDMA hardware events on the specified channel,
863 * preventing them from triggering new transfers on its behalf
864 */
865void edma_pause(unsigned channel)
866{
867 if (channel < num_channels) {
868 unsigned int mask = (1 << (channel & 0x1f));
869
870 edma_shadow0_write_array(SH_EECR, channel >> 5, mask);
871 }
872}
873EXPORT_SYMBOL(edma_pause);
874
875/**
876 * edma_resume - resumes dma on a paused channel
877 * @channel: on which edma_pause() has been called
878 *
879 * This re-enables EDMA hardware events on the specified channel.
880 */
881void edma_resume(unsigned channel)
882{
883 if (channel < num_channels) {
884 unsigned int mask = (1 << (channel & 0x1f));
885
886 edma_shadow0_write_array(SH_EESR, channel >> 5, mask);
887 }
888}
889EXPORT_SYMBOL(edma_resume);
890
891/**
892 * edma_start - start dma on a channel
893 * @channel: channel being activated
894 *
895 * Channels with event associations will be triggered by their hardware
896 * events, and channels without such associations will be triggered by
897 * software. (At this writing there is no interface for using software
898 * triggers except with channels that don't support hardware triggers.)
899 *
900 * Returns zero on success, else negative errno.
901 */
902int edma_start(unsigned channel)
903{
904 if (channel < num_channels) {
905 int j = channel >> 5;
906 unsigned int mask = (1 << (channel & 0x1f));
907
908 /* EDMA channels without event association */
909 if (test_bit(channel, edma_noevent)) {
910 pr_debug("EDMA: ESR%d %08x\n", j,
911 edma_shadow0_read_array(SH_ESR, j));
912 edma_shadow0_write_array(SH_ESR, j, mask);
913 return 0;
914 }
915
916 /* EDMA channel with event association */
917 pr_debug("EDMA: ER%d %08x\n", j,
918 edma_shadow0_read_array(SH_ER, j));
919 /* Clear any pending error */
920 edma_write_array(EDMA_EMCR, j, mask);
921 /* Clear any SER */
922 edma_shadow0_write_array(SH_SECR, j, mask);
923 edma_shadow0_write_array(SH_EESR, j, mask);
924 pr_debug("EDMA: EER%d %08x\n", j,
925 edma_shadow0_read_array(SH_EER, j));
926 return 0;
927 }
928
929 return -EINVAL;
930}
931EXPORT_SYMBOL(edma_start);
932
933/**
934 * edma_stop - stops dma on the channel passed
935 * @channel: channel being deactivated
936 *
937 * When @lch is a channel, any active transfer is paused and
938 * all pending hardware events are cleared. The current transfer
939 * may not be resumed, and the channel's Parameter RAM should be
940 * reinitialized before being reused.
941 */
942void edma_stop(unsigned channel)
943{
944 if (channel < num_channels) {
945 int j = channel >> 5;
946 unsigned int mask = (1 << (channel & 0x1f));
947
948 edma_shadow0_write_array(SH_EECR, j, mask);
949 edma_shadow0_write_array(SH_ECR, j, mask);
950 edma_shadow0_write_array(SH_SECR, j, mask);
951 edma_write_array(EDMA_EMCR, j, mask);
952
953 pr_debug("EDMA: EER%d %08x\n", j,
954 edma_shadow0_read_array(SH_EER, j));
955
956 /* REVISIT: consider guarding against inappropriate event
957 * chaining by overwriting with dummy_paramset.
958 */
959 }
960}
961EXPORT_SYMBOL(edma_stop);
962
963/******************************************************************************
964 *
965 * It cleans ParamEntry qand bring back EDMA to initial state if media has
966 * been removed before EDMA has finished.It is usedful for removable media.
967 * Arguments:
968 * ch_no - channel no
969 *
970 * Return: zero on success, or corresponding error no on failure
971 *
972 * FIXME this should not be needed ... edma_stop() should suffice.
973 *
974 *****************************************************************************/
975
976void edma_clean_channel(unsigned channel)
977{
978 if (channel < num_channels) {
979 int j = (channel >> 5);
980 unsigned int mask = 1 << (channel & 0x1f);
981
982 pr_debug("EDMA: EMR%d %08x\n", j,
983 edma_read_array(EDMA_EMR, j));
984 edma_shadow0_write_array(SH_ECR, j, mask);
985 /* Clear the corresponding EMR bits */
986 edma_write_array(EDMA_EMCR, j, mask);
987 /* Clear any SER */
988 edma_shadow0_write_array(SH_SECR, j, mask);
989 edma_write(EDMA_CCERRCLR, (1 << 16) | 0x3);
990 }
991}
992EXPORT_SYMBOL(edma_clean_channel);
993
994/*
995 * edma_clear_event - clear an outstanding event on the DMA channel
996 * Arguments:
997 * channel - channel number
998 */
999void edma_clear_event(unsigned channel)
1000{
1001 if (channel >= num_channels)
1002 return;
1003 if (channel < 32)
1004 edma_write(EDMA_ECR, 1 << channel);
1005 else
1006 edma_write(EDMA_ECRH, 1 << (channel - 32));
1007}
1008EXPORT_SYMBOL(edma_clear_event);
1009
1010/*-----------------------------------------------------------------------*/
1011
1012static int __init edma_probe(struct platform_device *pdev)
1013{
1014 struct edma_soc_info *info = pdev->dev.platform_data;
1015 int i;
1016 int status;
1017 const s8 *noevent;
1018 int irq = 0, err_irq = 0;
1019 struct resource *r;
1020 resource_size_t len;
1021
1022 if (!info)
1023 return -ENODEV;
1024
1025 r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "edma_cc");
1026 if (!r)
1027 return -ENODEV;
1028
1029 len = r->end - r->start + 1;
1030
1031 r = request_mem_region(r->start, len, r->name);
1032 if (!r)
1033 return -EBUSY;
1034
1035 edmacc_regs_base = ioremap(r->start, len);
1036 if (!edmacc_regs_base) {
1037 status = -EBUSY;
1038 goto fail1;
1039 }
1040
1041 num_channels = min_t(unsigned, info->n_channel, EDMA_MAX_DMACH);
1042 num_slots = min_t(unsigned, info->n_slot, EDMA_MAX_PARAMENTRY);
1043
1044 dev_dbg(&pdev->dev, "DMA REG BASE ADDR=%p\n", edmacc_regs_base);
1045
1046 for (i = 0; i < num_slots; i++)
1047 memcpy_toio(edmacc_regs_base + PARM_OFFSET(i),
1048 &dummy_paramset, PARM_SIZE);
1049
1050 noevent = info->noevent;
1051 if (noevent) {
1052 while (*noevent != -1)
1053 set_bit(*noevent++, edma_noevent);
1054 }
1055
1056 irq = platform_get_irq(pdev, 0);
1057 status = request_irq(irq, dma_irq_handler, 0, "edma", &pdev->dev);
1058 if (status < 0) {
1059 dev_dbg(&pdev->dev, "request_irq %d failed --> %d\n",
1060 irq, status);
1061 goto fail;
1062 }
1063
1064 err_irq = platform_get_irq(pdev, 1);
1065 status = request_irq(err_irq, dma_ccerr_handler, 0,
1066 "edma_error", &pdev->dev);
1067 if (status < 0) {
1068 dev_dbg(&pdev->dev, "request_irq %d failed --> %d\n",
1069 err_irq, status);
1070 goto fail;
1071 }
1072
1073 if (tc_errs_handled) {
1074 status = request_irq(IRQ_TCERRINT0, dma_tc0err_handler, 0,
1075 "edma_tc0", &pdev->dev);
1076 if (status < 0) {
1077 dev_dbg(&pdev->dev, "request_irq %d failed --> %d\n",
1078 IRQ_TCERRINT0, status);
1079 return status;
1080 }
1081 status = request_irq(IRQ_TCERRINT, dma_tc1err_handler, 0,
1082 "edma_tc1", &pdev->dev);
1083 if (status < 0) {
1084 dev_dbg(&pdev->dev, "request_irq %d --> %d\n",
1085 IRQ_TCERRINT, status);
1086 return status;
1087 }
1088 }
1089
1090 /* Everything lives on transfer controller 1 until otherwise specified.
1091 * This way, long transfers on the low priority queue
1092 * started by the codec engine will not cause audio defects.
1093 */
1094 for (i = 0; i < num_channels; i++)
1095 map_dmach_queue(i, EVENTQ_1);
1096
1097 /* Event queue to TC mapping */
1098 for (i = 0; queue_tc_mapping[i][0] != -1; i++)
1099 map_queue_tc(queue_tc_mapping[i][0], queue_tc_mapping[i][1]);
1100
1101 /* Event queue priority mapping */
1102 for (i = 0; queue_priority_mapping[i][0] != -1; i++)
1103 assign_priority_to_queue(queue_priority_mapping[i][0],
1104 queue_priority_mapping[i][1]);
1105
1106 for (i = 0; i < info->n_region; i++) {
1107 edma_write_array2(EDMA_DRAE, i, 0, 0x0);
1108 edma_write_array2(EDMA_DRAE, i, 1, 0x0);
1109 edma_write_array(EDMA_QRAE, i, 0x0);
1110 }
1111
1112 return 0;
1113
1114fail:
1115 if (err_irq)
1116 free_irq(err_irq, NULL);
1117 if (irq)
1118 free_irq(irq, NULL);
1119 iounmap(edmacc_regs_base);
1120fail1:
1121 release_mem_region(r->start, len);
1122 return status;
1123}
1124
1125
1126static struct platform_driver edma_driver = {
1127 .driver.name = "edma",
1128};
1129
1130static int __init edma_init(void)
1131{
1132 return platform_driver_probe(&edma_driver, edma_probe);
1133}
1134arch_initcall(edma_init);
1135
diff --git a/arch/arm/mach-davinci/gpio.c b/arch/arm/mach-davinci/gpio.c
index b49e9d092aab..1aba41c6351e 100644
--- a/arch/arm/mach-davinci/gpio.c
+++ b/arch/arm/mach-davinci/gpio.c
@@ -20,6 +20,7 @@
20#include <linux/irq.h> 20#include <linux/irq.h>
21#include <linux/bitops.h> 21#include <linux/bitops.h>
22 22
23#include <mach/cputype.h>
23#include <mach/irqs.h> 24#include <mach/irqs.h>
24#include <mach/hardware.h> 25#include <mach/hardware.h>
25#include <mach/gpio.h> 26#include <mach/gpio.h>
@@ -36,9 +37,10 @@ struct davinci_gpio {
36 37
37static struct davinci_gpio chips[DIV_ROUND_UP(DAVINCI_N_GPIO, 32)]; 38static struct davinci_gpio chips[DIV_ROUND_UP(DAVINCI_N_GPIO, 32)];
38 39
40static unsigned __initdata ngpio;
39 41
40/* create a non-inlined version */ 42/* create a non-inlined version */
41static struct gpio_controller *__iomem __init gpio2controller(unsigned gpio) 43static struct gpio_controller __iomem * __init gpio2controller(unsigned gpio)
42{ 44{
43 return __gpio_to_controller(gpio); 45 return __gpio_to_controller(gpio);
44} 46}
@@ -114,9 +116,30 @@ static int __init davinci_gpio_setup(void)
114{ 116{
115 int i, base; 117 int i, base;
116 118
117 for (i = 0, base = 0; 119 /* The gpio banks conceptually expose a segmented bitmap,
118 i < ARRAY_SIZE(chips); 120 * and "ngpio" is one more than the largest zero-based
119 i++, base += 32) { 121 * bit index that's valid.
122 */
123 if (cpu_is_davinci_dm355()) { /* or dm335() */
124 ngpio = 104;
125 } else if (cpu_is_davinci_dm644x()) { /* or dm337() */
126 ngpio = 71;
127 } else if (cpu_is_davinci_dm646x()) {
128 /* NOTE: each bank has several "reserved" bits,
129 * unusable as GPIOs. Only 33 of the GPIO numbers
130 * are usable, and we're not rejecting the others.
131 */
132 ngpio = 43;
133 } else {
134 /* if cpu_is_davinci_dm643x() ngpio = 111 */
135 pr_err("GPIO setup: how many GPIOs?\n");
136 return -EINVAL;
137 }
138
139 if (WARN_ON(DAVINCI_N_GPIO < ngpio))
140 ngpio = DAVINCI_N_GPIO;
141
142 for (i = 0, base = 0; base < ngpio; i++, base += 32) {
120 chips[i].chip.label = "DaVinci"; 143 chips[i].chip.label = "DaVinci";
121 144
122 chips[i].chip.direction_input = davinci_direction_in; 145 chips[i].chip.direction_input = davinci_direction_in;
@@ -125,7 +148,7 @@ static int __init davinci_gpio_setup(void)
125 chips[i].chip.set = davinci_gpio_set; 148 chips[i].chip.set = davinci_gpio_set;
126 149
127 chips[i].chip.base = base; 150 chips[i].chip.base = base;
128 chips[i].chip.ngpio = DAVINCI_N_GPIO - base; 151 chips[i].chip.ngpio = ngpio - base;
129 if (chips[i].chip.ngpio > 32) 152 if (chips[i].chip.ngpio > 32)
130 chips[i].chip.ngpio = 32; 153 chips[i].chip.ngpio = 32;
131 154
@@ -143,11 +166,11 @@ pure_initcall(davinci_gpio_setup);
143 * We expect irqs will normally be set up as input pins, but they can also be 166 * We expect irqs will normally be set up as input pins, but they can also be
144 * used as output pins ... which is convenient for testing. 167 * used as output pins ... which is convenient for testing.
145 * 168 *
146 * NOTE: GPIO0..GPIO7 also have direct INTC hookups, which work in addition 169 * NOTE: The first few GPIOs also have direct INTC hookups in addition
147 * to their GPIOBNK0 irq (but with a bit less overhead). But we don't have 170 * to their GPIOBNK0 irq, with a bit less overhead but less flexibility
148 * a good way to hook those up ... 171 * on triggering (e.g. no edge options). We don't try to use those.
149 * 172 *
150 * All those INTC hookups (GPIO0..GPIO7 plus five IRQ banks) can also 173 * All those INTC hookups (direct, plus several IRQ banks) can also
151 * serve as EDMA event triggers. 174 * serve as EDMA event triggers.
152 */ 175 */
153 176
@@ -235,29 +258,42 @@ gpio_irq_handler(unsigned irq, struct irq_desc *desc)
235} 258}
236 259
237/* 260/*
238 * NOTE: for suspend/resume, probably best to make a sysdev (and class) 261 * NOTE: for suspend/resume, probably best to make a platform_device with
239 * with its suspend/resume calls hooking into the results of the set_wake() 262 * suspend_late/resume_resume calls hooking into results of the set_wake()
240 * calls ... so if no gpios are wakeup events the clock can be disabled, 263 * calls ... so if no gpios are wakeup events the clock can be disabled,
241 * with outputs left at previously set levels, and so that VDD3P3V.IOPWDN0 264 * with outputs left at previously set levels, and so that VDD3P3V.IOPWDN0
242 * can be set appropriately for GPIOV33 pins. 265 * (dm6446) can be set appropriately for GPIOV33 pins.
243 */ 266 */
244 267
245static int __init davinci_gpio_irq_setup(void) 268static int __init davinci_gpio_irq_setup(void)
246{ 269{
247 unsigned gpio, irq, bank; 270 unsigned gpio, irq, bank;
271 unsigned bank_irq;
248 struct clk *clk; 272 struct clk *clk;
273 u32 binten = 0;
274
275 if (cpu_is_davinci_dm355()) { /* or dm335() */
276 bank_irq = IRQ_DM355_GPIOBNK0;
277 } else if (cpu_is_davinci_dm644x()) {
278 bank_irq = IRQ_GPIOBNK0;
279 } else if (cpu_is_davinci_dm646x()) {
280 bank_irq = IRQ_DM646X_GPIOBNK0;
281 } else {
282 printk(KERN_ERR "Don't know first GPIO bank IRQ.\n");
283 return -EINVAL;
284 }
249 285
250 clk = clk_get(NULL, "gpio"); 286 clk = clk_get(NULL, "gpio");
251 if (IS_ERR(clk)) { 287 if (IS_ERR(clk)) {
252 printk(KERN_ERR "Error %ld getting gpio clock?\n", 288 printk(KERN_ERR "Error %ld getting gpio clock?\n",
253 PTR_ERR(clk)); 289 PTR_ERR(clk));
254 return 0; 290 return PTR_ERR(clk);
255 } 291 }
256
257 clk_enable(clk); 292 clk_enable(clk);
258 293
259 for (gpio = 0, irq = gpio_to_irq(0), bank = IRQ_GPIOBNK0; 294 for (gpio = 0, irq = gpio_to_irq(0), bank = 0;
260 gpio < DAVINCI_N_GPIO; bank++) { 295 gpio < ngpio;
296 bank++, bank_irq++) {
261 struct gpio_controller *__iomem g = gpio2controller(gpio); 297 struct gpio_controller *__iomem g = gpio2controller(gpio);
262 unsigned i; 298 unsigned i;
263 299
@@ -265,28 +301,28 @@ static int __init davinci_gpio_irq_setup(void)
265 __raw_writel(~0, &g->clr_rising); 301 __raw_writel(~0, &g->clr_rising);
266 302
267 /* set up all irqs in this bank */ 303 /* set up all irqs in this bank */
268 set_irq_chained_handler(bank, gpio_irq_handler); 304 set_irq_chained_handler(bank_irq, gpio_irq_handler);
269 set_irq_chip_data(bank, g); 305 set_irq_chip_data(bank_irq, g);
270 set_irq_data(bank, (void *)irq); 306 set_irq_data(bank_irq, (void *)irq);
271 307
272 for (i = 0; i < 16 && gpio < DAVINCI_N_GPIO; 308 for (i = 0; i < 16 && gpio < ngpio; i++, irq++, gpio++) {
273 i++, irq++, gpio++) {
274 set_irq_chip(irq, &gpio_irqchip); 309 set_irq_chip(irq, &gpio_irqchip);
275 set_irq_chip_data(irq, g); 310 set_irq_chip_data(irq, g);
276 set_irq_handler(irq, handle_simple_irq); 311 set_irq_handler(irq, handle_simple_irq);
277 set_irq_flags(irq, IRQF_VALID); 312 set_irq_flags(irq, IRQF_VALID);
278 } 313 }
314
315 binten |= BIT(bank);
279 } 316 }
280 317
281 /* BINTEN -- per-bank interrupt enable. genirq would also let these 318 /* BINTEN -- per-bank interrupt enable. genirq would also let these
282 * bits be set/cleared dynamically. 319 * bits be set/cleared dynamically.
283 */ 320 */
284 __raw_writel(0x1f, (void *__iomem) 321 __raw_writel(binten, (void *__iomem)
285 IO_ADDRESS(DAVINCI_GPIO_BASE + 0x08)); 322 IO_ADDRESS(DAVINCI_GPIO_BASE + 0x08));
286 323
287 printk(KERN_INFO "DaVinci: %d gpio irqs\n", irq - gpio_to_irq(0)); 324 printk(KERN_INFO "DaVinci: %d gpio irqs\n", irq - gpio_to_irq(0));
288 325
289 return 0; 326 return 0;
290} 327}
291
292arch_initcall(davinci_gpio_irq_setup); 328arch_initcall(davinci_gpio_irq_setup);
diff --git a/arch/arm/mach-davinci/id.c b/arch/arm/mach-davinci/id.c
index bf067d604918..018b994cd794 100644
--- a/arch/arm/mach-davinci/id.c
+++ b/arch/arm/mach-davinci/id.c
@@ -15,7 +15,9 @@
15#include <linux/init.h> 15#include <linux/init.h>
16#include <linux/io.h> 16#include <linux/io.h>
17 17
18#define JTAG_ID_BASE 0x01c40028 18#define JTAG_ID_BASE IO_ADDRESS(0x01c40028)
19
20static unsigned int davinci_revision;
19 21
20struct davinci_id { 22struct davinci_id {
21 u8 variant; /* JTAG ID bits 31:28 */ 23 u8 variant; /* JTAG ID bits 31:28 */
@@ -33,6 +35,20 @@ static struct davinci_id davinci_ids[] __initdata = {
33 .manufacturer = 0x017, 35 .manufacturer = 0x017,
34 .type = 0x64460000, 36 .type = 0x64460000,
35 }, 37 },
38 {
39 /* DM646X */
40 .part_no = 0xb770,
41 .variant = 0x0,
42 .manufacturer = 0x017,
43 .type = 0x64670000,
44 },
45 {
46 /* DM355 */
47 .part_no = 0xb73b,
48 .variant = 0x0,
49 .manufacturer = 0x00f,
50 .type = 0x03550000,
51 },
36}; 52};
37 53
38/* 54/*
@@ -42,7 +58,7 @@ static u16 __init davinci_get_part_no(void)
42{ 58{
43 u32 dev_id, part_no; 59 u32 dev_id, part_no;
44 60
45 dev_id = davinci_readl(JTAG_ID_BASE); 61 dev_id = __raw_readl(JTAG_ID_BASE);
46 62
47 part_no = ((dev_id >> 12) & 0xffff); 63 part_no = ((dev_id >> 12) & 0xffff);
48 64
@@ -56,13 +72,19 @@ static u8 __init davinci_get_variant(void)
56{ 72{
57 u32 variant; 73 u32 variant;
58 74
59 variant = davinci_readl(JTAG_ID_BASE); 75 variant = __raw_readl(JTAG_ID_BASE);
60 76
61 variant = (variant >> 28) & 0xf; 77 variant = (variant >> 28) & 0xf;
62 78
63 return variant; 79 return variant;
64} 80}
65 81
82unsigned int davinci_rev(void)
83{
84 return davinci_revision >> 16;
85}
86EXPORT_SYMBOL(davinci_rev);
87
66void __init davinci_check_revision(void) 88void __init davinci_check_revision(void)
67{ 89{
68 int i; 90 int i;
@@ -75,7 +97,7 @@ void __init davinci_check_revision(void)
75 /* First check only the major version in a safe way */ 97 /* First check only the major version in a safe way */
76 for (i = 0; i < ARRAY_SIZE(davinci_ids); i++) { 98 for (i = 0; i < ARRAY_SIZE(davinci_ids); i++) {
77 if (part_no == (davinci_ids[i].part_no)) { 99 if (part_no == (davinci_ids[i].part_no)) {
78 system_rev = davinci_ids[i].type; 100 davinci_revision = davinci_ids[i].type;
79 break; 101 break;
80 } 102 }
81 } 103 }
@@ -84,10 +106,11 @@ void __init davinci_check_revision(void)
84 for (i = 0; i < ARRAY_SIZE(davinci_ids); i++) { 106 for (i = 0; i < ARRAY_SIZE(davinci_ids); i++) {
85 if (part_no == davinci_ids[i].part_no && 107 if (part_no == davinci_ids[i].part_no &&
86 variant == davinci_ids[i].variant) { 108 variant == davinci_ids[i].variant) {
87 system_rev = davinci_ids[i].type; 109 davinci_revision = davinci_ids[i].type;
88 break; 110 break;
89 } 111 }
90 } 112 }
91 113
92 printk("DaVinci DM%04x variant 0x%x\n", system_rev >> 16, variant); 114 printk(KERN_INFO "DaVinci DM%04x variant 0x%x\n",
115 davinci_rev(), variant);
93} 116}
diff --git a/arch/arm/mach-davinci/include/mach/asp.h b/arch/arm/mach-davinci/include/mach/asp.h
new file mode 100644
index 000000000000..e0abc437d796
--- /dev/null
+++ b/arch/arm/mach-davinci/include/mach/asp.h
@@ -0,0 +1,25 @@
1/*
2 * <mach/asp.h> - DaVinci Audio Serial Port support
3 */
4#ifndef __ASM_ARCH_DAVINCI_ASP_H
5#define __ASM_ARCH_DAVINCI_ASP_H
6
7#include <mach/irqs.h>
8
9/* Bases of register banks */
10#define DAVINCI_ASP0_BASE 0x01E02000
11#define DAVINCI_ASP1_BASE 0x01E04000
12
13/* EDMA channels */
14#define DAVINCI_DMA_ASP0_TX 2
15#define DAVINCI_DMA_ASP0_RX 3
16#define DAVINCI_DMA_ASP1_TX 8
17#define DAVINCI_DMA_ASP1_RX 9
18
19/* Interrupts */
20#define DAVINCI_ASP0_RX_INT IRQ_MBRINT
21#define DAVINCI_ASP0_TX_INT IRQ_MBXINT
22#define DAVINCI_ASP1_RX_INT IRQ_MBRINT
23#define DAVINCI_ASP1_TX_INT IRQ_MBXINT
24
25#endif /* __ASM_ARCH_DAVINCI_ASP_H */
diff --git a/arch/arm/mach-davinci/include/mach/board-dm6446evm.h b/arch/arm/mach-davinci/include/mach/board-dm6446evm.h
new file mode 100644
index 000000000000..3216f21c1238
--- /dev/null
+++ b/arch/arm/mach-davinci/include/mach/board-dm6446evm.h
@@ -0,0 +1,20 @@
1/*
2 * DaVinci DM6446 EVM board specific headers
3 *
4 * Author: Kevin Hilman, Deep Root Systems, LLC
5 *
6 * 2007 (c) Deep Root Systems, LLC. This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or ifndef.
10 */
11
12#ifndef _MACH_DAVINCI_DM6446EVM_H
13#define _MACH_DAVINCI_DM6446EVM_H
14
15#include <linux/types.h>
16
17int dm6446evm_eeprom_read(char *buf, off_t off, size_t count);
18int dm6446evm_eeprom_write(char *buf, off_t off, size_t count);
19
20#endif
diff --git a/arch/arm/mach-davinci/include/mach/clkdev.h b/arch/arm/mach-davinci/include/mach/clkdev.h
new file mode 100644
index 000000000000..730c49d1ebd8
--- /dev/null
+++ b/arch/arm/mach-davinci/include/mach/clkdev.h
@@ -0,0 +1,13 @@
1#ifndef __MACH_CLKDEV_H
2#define __MACH_CLKDEV_H
3
4static inline int __clk_get(struct clk *clk)
5{
6 return 1;
7}
8
9static inline void __clk_put(struct clk *clk)
10{
11}
12
13#endif
diff --git a/arch/arm/mach-davinci/include/mach/clock.h b/arch/arm/mach-davinci/include/mach/clock.h
index 38bdd49bc181..a3b040219876 100644
--- a/arch/arm/mach-davinci/include/mach/clock.h
+++ b/arch/arm/mach-davinci/include/mach/clock.h
@@ -17,6 +17,5 @@ struct clk;
17 17
18extern int clk_register(struct clk *clk); 18extern int clk_register(struct clk *clk);
19extern void clk_unregister(struct clk *clk); 19extern void clk_unregister(struct clk *clk);
20extern int davinci_clk_init(void);
21 20
22#endif 21#endif
diff --git a/arch/arm/mach-davinci/include/mach/common.h b/arch/arm/mach-davinci/include/mach/common.h
index 4b522e5c70ec..191770976250 100644
--- a/arch/arm/mach-davinci/include/mach/common.h
+++ b/arch/arm/mach-davinci/include/mach/common.h
@@ -16,6 +16,12 @@ struct sys_timer;
16 16
17extern struct sys_timer davinci_timer; 17extern struct sys_timer davinci_timer;
18 18
19extern void davinci_irq_init(void);
20extern void davinci_map_common_io(void);
21
22/* parameters describe VBUS sourcing for host mode */
23extern void setup_usb(unsigned mA, unsigned potpgt_msec);
24
19/* parameters describe VBUS sourcing for host mode */ 25/* parameters describe VBUS sourcing for host mode */
20extern void setup_usb(unsigned mA, unsigned potpgt_msec); 26extern void setup_usb(unsigned mA, unsigned potpgt_msec);
21 27
diff --git a/arch/arm/mach-davinci/include/mach/cputype.h b/arch/arm/mach-davinci/include/mach/cputype.h
new file mode 100644
index 000000000000..27cfb1b3a662
--- /dev/null
+++ b/arch/arm/mach-davinci/include/mach/cputype.h
@@ -0,0 +1,49 @@
1/*
2 * DaVinci CPU type detection
3 *
4 * Author: Kevin Hilman, Deep Root Systems, LLC
5 *
6 * Defines the cpu_is_*() macros for runtime detection of DaVinci
7 * device type. In addtion, if support for a given device is not
8 * compiled in to the kernel, the macros return 0 so that
9 * resulting code can be optimized out.
10 *
11 * 2009 (c) Deep Root Systems, LLC. This file is licensed under
12 * the terms of the GNU General Public License version 2. This program
13 * is licensed "as is" without any warranty of any kind, whether express
14 * or implied.
15 */
16#ifndef _ASM_ARCH_CPU_H
17#define _ASM_ARCH_CPU_H
18
19extern unsigned int davinci_rev(void);
20
21#define IS_DAVINCI_CPU(type, id) \
22static inline int is_davinci_dm ##type(void) \
23{ \
24 return (davinci_rev() == (id)) ? 1 : 0; \
25}
26
27IS_DAVINCI_CPU(644x, 0x6446)
28IS_DAVINCI_CPU(646x, 0x6467)
29IS_DAVINCI_CPU(355, 0x355)
30
31#ifdef CONFIG_ARCH_DAVINCI_DM644x
32#define cpu_is_davinci_dm644x() is_davinci_dm644x()
33#else
34#define cpu_is_davinci_dm644x() 0
35#endif
36
37#ifdef CONFIG_ARCH_DAVINCI_DM646x
38#define cpu_is_davinci_dm646x() is_davinci_dm646x()
39#else
40#define cpu_is_davinci_dm646x() 0
41#endif
42
43#ifdef CONFIG_ARCH_DAVINCI_DM355
44#define cpu_is_davinci_dm355() is_davinci_dm355()
45#else
46#define cpu_is_davinci_dm355() 0
47#endif
48
49#endif
diff --git a/arch/arm/mach-davinci/include/mach/dm644x.h b/arch/arm/mach-davinci/include/mach/dm644x.h
new file mode 100644
index 000000000000..3dcb9f4e58b4
--- /dev/null
+++ b/arch/arm/mach-davinci/include/mach/dm644x.h
@@ -0,0 +1,37 @@
1/*
2 * This file contains the processor specific definitions
3 * of the TI DM644x.
4 *
5 * Copyright (C) 2008 Texas Instruments.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 *
21 */
22#ifndef __ASM_ARCH_DM644X_H
23#define __ASM_ARCH_DM644X_H
24
25#include <linux/platform_device.h>
26#include <mach/hardware.h>
27
28#define DM644X_EMAC_BASE (0x01C80000)
29#define DM644X_EMAC_CNTRL_OFFSET (0x0000)
30#define DM644X_EMAC_CNTRL_MOD_OFFSET (0x1000)
31#define DM644X_EMAC_CNTRL_RAM_OFFSET (0x2000)
32#define DM644X_EMAC_MDIO_OFFSET (0x4000)
33#define DM644X_EMAC_CNTRL_RAM_SIZE (0x2000)
34
35void __init dm644x_init(void);
36
37#endif /* __ASM_ARCH_DM644X_H */
diff --git a/arch/arm/mach-davinci/include/mach/edma.h b/arch/arm/mach-davinci/include/mach/edma.h
new file mode 100644
index 000000000000..f6fc5396dafc
--- /dev/null
+++ b/arch/arm/mach-davinci/include/mach/edma.h
@@ -0,0 +1,228 @@
1/*
2 * TI DAVINCI dma definitions
3 *
4 * Copyright (C) 2006-2009 Texas Instruments.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 *
11 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
12 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
13 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
14 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
15 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
17 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
18 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
19 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
20 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21 *
22 * You should have received a copy of the GNU General Public License along
23 * with this program; if not, write to the Free Software Foundation, Inc.,
24 * 675 Mass Ave, Cambridge, MA 02139, USA.
25 *
26 */
27
28/*
29 * This EDMA3 programming framework exposes two basic kinds of resource:
30 *
31 * Channel Triggers transfers, usually from a hardware event but
32 * also manually or by "chaining" from DMA completions.
33 * Each channel is coupled to a Parameter RAM (PaRAM) slot.
34 *
35 * Slot Each PaRAM slot holds a DMA transfer descriptor (PaRAM
36 * "set"), source and destination addresses, a link to a
37 * next PaRAM slot (if any), options for the transfer, and
38 * instructions for updating those addresses. There are
39 * more than twice as many slots as event channels.
40 *
41 * Each PaRAM set describes a sequence of transfers, either for one large
42 * buffer or for several discontiguous smaller buffers. An EDMA transfer
43 * is driven only from a channel, which performs the transfers specified
44 * in its PaRAM slot until there are no more transfers. When that last
45 * transfer completes, the "link" field may be used to reload the channel's
46 * PaRAM slot with a new transfer descriptor.
47 *
48 * The EDMA Channel Controller (CC) maps requests from channels into physical
49 * Transfer Controller (TC) requests when the channel triggers (by hardware
50 * or software events, or by chaining). The two physical DMA channels provided
51 * by the TCs are thus shared by many logical channels.
52 *
53 * DaVinci hardware also has a "QDMA" mechanism which is not currently
54 * supported through this interface. (DSP firmware uses it though.)
55 */
56
57#ifndef EDMA_H_
58#define EDMA_H_
59
60/* PaRAM slots are laid out like this */
61struct edmacc_param {
62 unsigned int opt;
63 unsigned int src;
64 unsigned int a_b_cnt;
65 unsigned int dst;
66 unsigned int src_dst_bidx;
67 unsigned int link_bcntrld;
68 unsigned int src_dst_cidx;
69 unsigned int ccnt;
70};
71
72#define CCINT0_INTERRUPT 16
73#define CCERRINT_INTERRUPT 17
74#define TCERRINT0_INTERRUPT 18
75#define TCERRINT1_INTERRUPT 19
76
77/* fields in edmacc_param.opt */
78#define SAM BIT(0)
79#define DAM BIT(1)
80#define SYNCDIM BIT(2)
81#define STATIC BIT(3)
82#define EDMA_FWID (0x07 << 8)
83#define TCCMODE BIT(11)
84#define EDMA_TCC(t) ((t) << 12)
85#define TCINTEN BIT(20)
86#define ITCINTEN BIT(21)
87#define TCCHEN BIT(22)
88#define ITCCHEN BIT(23)
89
90#define TRWORD (0x7<<2)
91#define PAENTRY (0x1ff<<5)
92
93/* Drivers should avoid using these symbolic names for dm644x
94 * channels, and use platform_device IORESOURCE_DMA resources
95 * instead. (Other DaVinci chips have different peripherals
96 * and thus have different DMA channel mappings.)
97 */
98#define DAVINCI_DMA_MCBSP_TX 2
99#define DAVINCI_DMA_MCBSP_RX 3
100#define DAVINCI_DMA_VPSS_HIST 4
101#define DAVINCI_DMA_VPSS_H3A 5
102#define DAVINCI_DMA_VPSS_PRVU 6
103#define DAVINCI_DMA_VPSS_RSZ 7
104#define DAVINCI_DMA_IMCOP_IMXINT 8
105#define DAVINCI_DMA_IMCOP_VLCDINT 9
106#define DAVINCI_DMA_IMCO_PASQINT 10
107#define DAVINCI_DMA_IMCOP_DSQINT 11
108#define DAVINCI_DMA_SPI_SPIX 16
109#define DAVINCI_DMA_SPI_SPIR 17
110#define DAVINCI_DMA_UART0_URXEVT0 18
111#define DAVINCI_DMA_UART0_UTXEVT0 19
112#define DAVINCI_DMA_UART1_URXEVT1 20
113#define DAVINCI_DMA_UART1_UTXEVT1 21
114#define DAVINCI_DMA_UART2_URXEVT2 22
115#define DAVINCI_DMA_UART2_UTXEVT2 23
116#define DAVINCI_DMA_MEMSTK_MSEVT 24
117#define DAVINCI_DMA_MMCRXEVT 26
118#define DAVINCI_DMA_MMCTXEVT 27
119#define DAVINCI_DMA_I2C_ICREVT 28
120#define DAVINCI_DMA_I2C_ICXEVT 29
121#define DAVINCI_DMA_GPIO_GPINT0 32
122#define DAVINCI_DMA_GPIO_GPINT1 33
123#define DAVINCI_DMA_GPIO_GPINT2 34
124#define DAVINCI_DMA_GPIO_GPINT3 35
125#define DAVINCI_DMA_GPIO_GPINT4 36
126#define DAVINCI_DMA_GPIO_GPINT5 37
127#define DAVINCI_DMA_GPIO_GPINT6 38
128#define DAVINCI_DMA_GPIO_GPINT7 39
129#define DAVINCI_DMA_GPIO_GPBNKINT0 40
130#define DAVINCI_DMA_GPIO_GPBNKINT1 41
131#define DAVINCI_DMA_GPIO_GPBNKINT2 42
132#define DAVINCI_DMA_GPIO_GPBNKINT3 43
133#define DAVINCI_DMA_GPIO_GPBNKINT4 44
134#define DAVINCI_DMA_TIMER0_TINT0 48
135#define DAVINCI_DMA_TIMER1_TINT1 49
136#define DAVINCI_DMA_TIMER2_TINT2 50
137#define DAVINCI_DMA_TIMER3_TINT3 51
138#define DAVINCI_DMA_PWM0 52
139#define DAVINCI_DMA_PWM1 53
140#define DAVINCI_DMA_PWM2 54
141
142/*ch_status paramater of callback function possible values*/
143#define DMA_COMPLETE 1
144#define DMA_CC_ERROR 2
145#define DMA_TC1_ERROR 3
146#define DMA_TC2_ERROR 4
147
148enum address_mode {
149 INCR = 0,
150 FIFO = 1
151};
152
153enum fifo_width {
154 W8BIT = 0,
155 W16BIT = 1,
156 W32BIT = 2,
157 W64BIT = 3,
158 W128BIT = 4,
159 W256BIT = 5
160};
161
162enum dma_event_q {
163 EVENTQ_0 = 0,
164 EVENTQ_1 = 1,
165 EVENTQ_DEFAULT = -1
166};
167
168enum sync_dimension {
169 ASYNC = 0,
170 ABSYNC = 1
171};
172
173#define EDMA_CHANNEL_ANY -1 /* for edma_alloc_channel() */
174#define EDMA_SLOT_ANY -1 /* for edma_alloc_slot() */
175
176/* alloc/free DMA channels and their dedicated parameter RAM slots */
177int edma_alloc_channel(int channel,
178 void (*callback)(unsigned channel, u16 ch_status, void *data),
179 void *data, enum dma_event_q);
180void edma_free_channel(unsigned channel);
181
182/* alloc/free parameter RAM slots */
183int edma_alloc_slot(int slot);
184void edma_free_slot(unsigned slot);
185
186/* calls that operate on part of a parameter RAM slot */
187void edma_set_src(unsigned slot, dma_addr_t src_port,
188 enum address_mode mode, enum fifo_width);
189void edma_set_dest(unsigned slot, dma_addr_t dest_port,
190 enum address_mode mode, enum fifo_width);
191void edma_get_position(unsigned slot, dma_addr_t *src, dma_addr_t *dst);
192void edma_set_src_index(unsigned slot, s16 src_bidx, s16 src_cidx);
193void edma_set_dest_index(unsigned slot, s16 dest_bidx, s16 dest_cidx);
194void edma_set_transfer_params(unsigned slot, u16 acnt, u16 bcnt, u16 ccnt,
195 u16 bcnt_rld, enum sync_dimension sync_mode);
196void edma_link(unsigned from, unsigned to);
197void edma_unlink(unsigned from);
198
199/* calls that operate on an entire parameter RAM slot */
200void edma_write_slot(unsigned slot, const struct edmacc_param *params);
201void edma_read_slot(unsigned slot, struct edmacc_param *params);
202
203/* channel control operations */
204int edma_start(unsigned channel);
205void edma_stop(unsigned channel);
206void edma_clean_channel(unsigned channel);
207void edma_clear_event(unsigned channel);
208void edma_pause(unsigned channel);
209void edma_resume(unsigned channel);
210
211/* UNRELATED TO DMA */
212int davinci_alloc_iram(unsigned size);
213void davinci_free_iram(unsigned addr, unsigned size);
214
215/* platform_data for EDMA driver */
216struct edma_soc_info {
217
218 /* how many dma resources of each type */
219 unsigned n_channel;
220 unsigned n_region;
221 unsigned n_slot;
222 unsigned n_tc;
223
224 /* list of channels with no even trigger; terminated by "-1" */
225 const s8 *noevent;
226};
227
228#endif
diff --git a/arch/arm/mach-davinci/include/mach/gpio.h b/arch/arm/mach-davinci/include/mach/gpio.h
index b456f079f43f..efe3281364e6 100644
--- a/arch/arm/mach-davinci/include/mach/gpio.h
+++ b/arch/arm/mach-davinci/include/mach/gpio.h
@@ -15,9 +15,11 @@
15 15
16#include <linux/io.h> 16#include <linux/io.h>
17#include <asm-generic/gpio.h> 17#include <asm-generic/gpio.h>
18#include <mach/hardware.h> 18
19#include <mach/irqs.h> 19#include <mach/irqs.h>
20 20
21#define DAVINCI_GPIO_BASE 0x01C67000
22
21/* 23/*
22 * basic gpio routines 24 * basic gpio routines
23 * 25 *
@@ -26,23 +28,18 @@
26 * go through boot loaders. 28 * go through boot loaders.
27 * 29 *
28 * the gpio clock will be turned on when gpios are used, and you may also 30 * the gpio clock will be turned on when gpios are used, and you may also
29 * need to pay attention to PINMUX0 and PINMUX1 to be sure those pins are 31 * need to pay attention to PINMUX registers to be sure those pins are
30 * used as gpios, not with other peripherals. 32 * used as gpios, not with other peripherals.
31 * 33 *
32 * On-chip GPIOs are numbered 0..(DAVINCI_N_GPIO-1). For documentation, 34 * On-chip GPIOs are numbered 0..(DAVINCI_N_GPIO-1). For documentation,
33 * and maybe for later updates, code should write GPIO(N) or: 35 * and maybe for later updates, code may write GPIO(N). These may be
34 * - GPIOV18(N) for 1.8V pins, N in 0..53; same as GPIO(0)..GPIO(53) 36 * all 1.8V signals, all 3.3V ones, or a mix of the two. A given chip
35 * - GPIOV33(N) for 3.3V pins, N in 0..17; same as GPIO(54)..GPIO(70) 37 * may not support all the GPIOs in that range.
36 *
37 * For GPIO IRQs use gpio_to_irq(GPIO(N)) or gpio_to_irq(GPIOV33(N)) etc
38 * for now, that's != GPIO(N)
39 * 38 *
40 * GPIOs can also be on external chips, numbered after the ones built-in 39 * GPIOs can also be on external chips, numbered after the ones built-in
41 * to the DaVinci chip. For now, they won't be usable as IRQ sources. 40 * to the DaVinci chip. For now, they won't be usable as IRQ sources.
42 */ 41 */
43#define GPIO(X) (X) /* 0 <= X <= 70 */ 42#define GPIO(X) (X) /* 0 <= X <= (DAVINCI_N_GPIO - 1) */
44#define GPIOV18(X) (X) /* 1.8V i/o; 0 <= X <= 53 */
45#define GPIOV33(X) ((X)+54) /* 3.3V i/o; 0 <= X <= 17 */
46 43
47struct gpio_controller { 44struct gpio_controller {
48 u32 dir; 45 u32 dir;
@@ -71,12 +68,14 @@ __gpio_to_controller(unsigned gpio)
71{ 68{
72 void *__iomem ptr; 69 void *__iomem ptr;
73 70
74 if (gpio < 32) 71 if (gpio < 32 * 1)
75 ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x10); 72 ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x10);
76 else if (gpio < 64) 73 else if (gpio < 32 * 2)
77 ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x38); 74 ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x38);
78 else if (gpio < DAVINCI_N_GPIO) 75 else if (gpio < 32 * 3)
79 ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x60); 76 ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x60);
77 else if (gpio < 32 * 4)
78 ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x88);
80 else 79 else
81 ptr = NULL; 80 ptr = NULL;
82 return ptr; 81 return ptr;
diff --git a/arch/arm/mach-davinci/include/mach/hardware.h b/arch/arm/mach-davinci/include/mach/hardware.h
index a2e8969afaca..48c77934d519 100644
--- a/arch/arm/mach-davinci/include/mach/hardware.h
+++ b/arch/arm/mach-davinci/include/mach/hardware.h
@@ -1,9 +1,9 @@
1/* 1/*
2 * Common hardware definitions 2 * Hardware definitions common to all DaVinci family processors
3 * 3 *
4 * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com> 4 * Author: Kevin Hilman, Deep Root Systems, LLC
5 * 5 *
6 * 2007 (c) MontaVista Software, Inc. This file is licensed under 6 * 2007 (c) Deep Root Systems, LLC. This file is licensed under
7 * the terms of the GNU General Public License version 2. This program 7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express 8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied. 9 * or implied.
@@ -12,41 +12,16 @@
12#define __ASM_ARCH_HARDWARE_H 12#define __ASM_ARCH_HARDWARE_H
13 13
14/* 14/*
15 * Base register addresses 15 * Before you add anything to ths file:
16 *
17 * This header is for defines common to ALL DaVinci family chips.
18 * Anything that is chip specific should go in <chipname>.h,
19 * and the chip/board init code should then explicitly include
20 * <chipname>.h
16 */ 21 */
17#define DAVINCI_DMA_3PCC_BASE (0x01C00000) 22#define DAVINCI_SYSTEM_MODULE_BASE 0x01C40000
18#define DAVINCI_DMA_3PTC0_BASE (0x01C10000) 23
19#define DAVINCI_DMA_3PTC1_BASE (0x01C10400) 24/* System control register offsets */
20#define DAVINCI_I2C_BASE (0x01C21000) 25#define DM64XX_VDD3P3V_PWDN 0x48
21#define DAVINCI_PWM0_BASE (0x01C22000)
22#define DAVINCI_PWM1_BASE (0x01C22400)
23#define DAVINCI_PWM2_BASE (0x01C22800)
24#define DAVINCI_SYSTEM_MODULE_BASE (0x01C40000)
25#define DAVINCI_PLL_CNTRL0_BASE (0x01C40800)
26#define DAVINCI_PLL_CNTRL1_BASE (0x01C40C00)
27#define DAVINCI_PWR_SLEEP_CNTRL_BASE (0x01C41000)
28#define DAVINCI_SYSTEM_DFT_BASE (0x01C42000)
29#define DAVINCI_IEEE1394_BASE (0x01C60000)
30#define DAVINCI_USB_OTG_BASE (0x01C64000)
31#define DAVINCI_CFC_ATA_BASE (0x01C66000)
32#define DAVINCI_SPI_BASE (0x01C66800)
33#define DAVINCI_GPIO_BASE (0x01C67000)
34#define DAVINCI_UHPI_BASE (0x01C67800)
35#define DAVINCI_VPSS_REGS_BASE (0x01C70000)
36#define DAVINCI_EMAC_CNTRL_REGS_BASE (0x01C80000)
37#define DAVINCI_EMAC_WRAPPER_CNTRL_REGS_BASE (0x01C81000)
38#define DAVINCI_EMAC_WRAPPER_RAM_BASE (0x01C82000)
39#define DAVINCI_MDIO_CNTRL_REGS_BASE (0x01C84000)
40#define DAVINCI_IMCOP_BASE (0x01CC0000)
41#define DAVINCI_ASYNC_EMIF_CNTRL_BASE (0x01E00000)
42#define DAVINCI_VLYNQ_BASE (0x01E01000)
43#define DAVINCI_MCBSP_BASE (0x01E02000)
44#define DAVINCI_MMC_SD_BASE (0x01E10000)
45#define DAVINCI_MS_BASE (0x01E20000)
46#define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE (0x02000000)
47#define DAVINCI_ASYNC_EMIF_DATA_CE1_BASE (0x04000000)
48#define DAVINCI_ASYNC_EMIF_DATA_CE2_BASE (0x06000000)
49#define DAVINCI_ASYNC_EMIF_DATA_CE3_BASE (0x08000000)
50#define DAVINCI_VLYNQ_REMOTE_BASE (0x0C000000)
51 26
52#endif /* __ASM_ARCH_HARDWARE_H */ 27#endif /* __ASM_ARCH_HARDWARE_H */
diff --git a/arch/arm/mach-davinci/include/mach/io.h b/arch/arm/mach-davinci/include/mach/io.h
index a48795fd2417..2479785405af 100644
--- a/arch/arm/mach-davinci/include/mach/io.h
+++ b/arch/arm/mach-davinci/include/mach/io.h
@@ -40,22 +40,12 @@
40#else 40#else
41#define IOMEM(x) ((void __force __iomem *)(x)) 41#define IOMEM(x) ((void __force __iomem *)(x))
42 42
43/* 43#define __arch_ioremap(p, s, t) davinci_ioremap(p, s, t)
44 * Functions to access the DaVinci IO region 44#define __arch_iounmap(v) davinci_iounmap(v)
45 *
46 * NOTE: - Use davinci_read/write[bwl] for physical register addresses
47 * - Use __raw_read/write[bwl]() for virtual register addresses
48 * - Use IO_ADDRESS(phys_addr) to convert registers to virtual addresses
49 * - DO NOT use hardcoded virtual addresses to allow changing the
50 * IO address space again if needed
51 */
52#define davinci_readb(a) __raw_readb(IO_ADDRESS(a))
53#define davinci_readw(a) __raw_readw(IO_ADDRESS(a))
54#define davinci_readl(a) __raw_readl(IO_ADDRESS(a))
55 45
56#define davinci_writeb(v, a) __raw_writeb(v, IO_ADDRESS(a)) 46void __iomem *davinci_ioremap(unsigned long phys, size_t size,
57#define davinci_writew(v, a) __raw_writew(v, IO_ADDRESS(a)) 47 unsigned int type);
58#define davinci_writel(v, a) __raw_writel(v, IO_ADDRESS(a)) 48void davinci_iounmap(volatile void __iomem *addr);
59 49
60#endif /* __ASSEMBLER__ */ 50#endif /* __ASSEMBLER__ */
61#endif /* __ASM_ARCH_IO_H */ 51#endif /* __ASM_ARCH_IO_H */
diff --git a/arch/arm/mach-davinci/include/mach/irqs.h b/arch/arm/mach-davinci/include/mach/irqs.h
index f4c5ca6da9f4..18066074c995 100644
--- a/arch/arm/mach-davinci/include/mach/irqs.h
+++ b/arch/arm/mach-davinci/include/mach/irqs.h
@@ -96,10 +96,111 @@
96#define IRQ_EMUINT 63 96#define IRQ_EMUINT 63
97 97
98#define DAVINCI_N_AINTC_IRQ 64 98#define DAVINCI_N_AINTC_IRQ 64
99#define DAVINCI_N_GPIO 71 99#define DAVINCI_N_GPIO 104
100 100
101#define NR_IRQS (DAVINCI_N_AINTC_IRQ + DAVINCI_N_GPIO) 101#define NR_IRQS (DAVINCI_N_AINTC_IRQ + DAVINCI_N_GPIO)
102 102
103#define ARCH_TIMER_IRQ IRQ_TINT1_TINT34 103#define ARCH_TIMER_IRQ IRQ_TINT1_TINT34
104 104
105/* DaVinci DM6467-specific Interrupts */
106#define IRQ_DM646X_VP_VERTINT0 0
107#define IRQ_DM646X_VP_VERTINT1 1
108#define IRQ_DM646X_VP_VERTINT2 2
109#define IRQ_DM646X_VP_VERTINT3 3
110#define IRQ_DM646X_VP_ERRINT 4
111#define IRQ_DM646X_RESERVED_1 5
112#define IRQ_DM646X_RESERVED_2 6
113#define IRQ_DM646X_WDINT 7
114#define IRQ_DM646X_CRGENINT0 8
115#define IRQ_DM646X_CRGENINT1 9
116#define IRQ_DM646X_TSIFINT0 10
117#define IRQ_DM646X_TSIFINT1 11
118#define IRQ_DM646X_VDCEINT 12
119#define IRQ_DM646X_USBINT 13
120#define IRQ_DM646X_USBDMAINT 14
121#define IRQ_DM646X_PCIINT 15
122#define IRQ_DM646X_TCERRINT2 20
123#define IRQ_DM646X_TCERRINT3 21
124#define IRQ_DM646X_IDE 22
125#define IRQ_DM646X_HPIINT 23
126#define IRQ_DM646X_EMACRXTHINT 24
127#define IRQ_DM646X_EMACRXINT 25
128#define IRQ_DM646X_EMACTXINT 26
129#define IRQ_DM646X_EMACMISCINT 27
130#define IRQ_DM646X_MCASP0TXINT 28
131#define IRQ_DM646X_MCASP0RXINT 29
132#define IRQ_DM646X_RESERVED_3 31
133#define IRQ_DM646X_MCASP1TXINT 32
134#define IRQ_DM646X_VLQINT 38
135#define IRQ_DM646X_UARTINT2 42
136#define IRQ_DM646X_SPINT0 43
137#define IRQ_DM646X_SPINT1 44
138#define IRQ_DM646X_DSP2ARMINT 45
139#define IRQ_DM646X_RESERVED_4 46
140#define IRQ_DM646X_PSCINT 47
141#define IRQ_DM646X_GPIO0 48
142#define IRQ_DM646X_GPIO1 49
143#define IRQ_DM646X_GPIO2 50
144#define IRQ_DM646X_GPIO3 51
145#define IRQ_DM646X_GPIO4 52
146#define IRQ_DM646X_GPIO5 53
147#define IRQ_DM646X_GPIO6 54
148#define IRQ_DM646X_GPIO7 55
149#define IRQ_DM646X_GPIOBNK0 56
150#define IRQ_DM646X_GPIOBNK1 57
151#define IRQ_DM646X_GPIOBNK2 58
152#define IRQ_DM646X_DDRINT 59
153#define IRQ_DM646X_AEMIFINT 60
154
155/* DaVinci DM355-specific Interrupts */
156#define IRQ_DM355_CCDC_VDINT0 0
157#define IRQ_DM355_CCDC_VDINT1 1
158#define IRQ_DM355_CCDC_VDINT2 2
159#define IRQ_DM355_IPIPE_HST 3
160#define IRQ_DM355_H3AINT 4
161#define IRQ_DM355_IPIPE_SDR 5
162#define IRQ_DM355_IPIPEIFINT 6
163#define IRQ_DM355_OSDINT 7
164#define IRQ_DM355_VENCINT 8
165#define IRQ_DM355_IMCOPINT 11
166#define IRQ_DM355_RTOINT 13
167#define IRQ_DM355_TINT4 13
168#define IRQ_DM355_TINT2_TINT12 13
169#define IRQ_DM355_UARTINT2 14
170#define IRQ_DM355_TINT5 14
171#define IRQ_DM355_TINT2_TINT34 14
172#define IRQ_DM355_TINT6 15
173#define IRQ_DM355_TINT3_TINT12 15
174#define IRQ_DM355_SPINT1_0 17
175#define IRQ_DM355_SPINT1_1 18
176#define IRQ_DM355_SPINT2_0 19
177#define IRQ_DM355_SPINT2_1 21
178#define IRQ_DM355_TINT7 22
179#define IRQ_DM355_TINT3_TINT34 22
180#define IRQ_DM355_SDIOINT0 23
181#define IRQ_DM355_MMCINT0 26
182#define IRQ_DM355_MSINT 26
183#define IRQ_DM355_MMCINT1 27
184#define IRQ_DM355_PWMINT3 28
185#define IRQ_DM355_SDIOINT1 31
186#define IRQ_DM355_SPINT0_0 42
187#define IRQ_DM355_SPINT0_1 43
188#define IRQ_DM355_GPIO0 44
189#define IRQ_DM355_GPIO1 45
190#define IRQ_DM355_GPIO2 46
191#define IRQ_DM355_GPIO3 47
192#define IRQ_DM355_GPIO4 48
193#define IRQ_DM355_GPIO5 49
194#define IRQ_DM355_GPIO6 50
195#define IRQ_DM355_GPIO7 51
196#define IRQ_DM355_GPIO8 52
197#define IRQ_DM355_GPIO9 53
198#define IRQ_DM355_GPIOBNK0 54
199#define IRQ_DM355_GPIOBNK1 55
200#define IRQ_DM355_GPIOBNK2 56
201#define IRQ_DM355_GPIOBNK3 57
202#define IRQ_DM355_GPIOBNK4 58
203#define IRQ_DM355_GPIOBNK5 59
204#define IRQ_DM355_GPIOBNK6 60
205
105#endif /* __ASM_ARCH_IRQS_H */ 206#endif /* __ASM_ARCH_IRQS_H */
diff --git a/arch/arm/mach-davinci/include/mach/mux.h b/arch/arm/mach-davinci/include/mach/mux.h
index c24b6782804d..bae22cb3e27b 100644
--- a/arch/arm/mach-davinci/include/mach/mux.h
+++ b/arch/arm/mach-davinci/include/mach/mux.h
@@ -1,55 +1,183 @@
1/* 1/*
2 * DaVinci pin multiplexing defines 2 * Table of the DAVINCI register configurations for the PINMUX combinations
3 * 3 *
4 * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com> 4 * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com>
5 * 5 *
6 * Based on linux/include/asm-arm/arch-omap/mux.h:
7 * Copyright (C) 2003 - 2005 Nokia Corporation
8 *
9 * Written by Tony Lindgren
10 *
6 * 2007 (c) MontaVista Software, Inc. This file is licensed under 11 * 2007 (c) MontaVista Software, Inc. This file is licensed under
7 * the terms of the GNU General Public License version 2. This program 12 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express 13 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied. 14 * or implied.
15 *
16 * Copyright (C) 2008 Texas Instruments.
10 */ 17 */
11#ifndef __ASM_ARCH_MUX_H 18
12#define __ASM_ARCH_MUX_H 19#ifndef __INC_MACH_MUX_H
13 20#define __INC_MACH_MUX_H
14#define DAVINCI_MUX_AEAW0 0 21
15#define DAVINCI_MUX_AEAW1 1 22/* System module registers */
16#define DAVINCI_MUX_AEAW2 2 23#define PINMUX0 0x00
17#define DAVINCI_MUX_AEAW3 3 24#define PINMUX1 0x04
18#define DAVINCI_MUX_AEAW4 4 25/* dm355 only */
19#define DAVINCI_MUX_AECS4 10 26#define PINMUX2 0x08
20#define DAVINCI_MUX_AECS5 11 27#define PINMUX3 0x0c
21#define DAVINCI_MUX_VLYNQWD0 12 28#define PINMUX4 0x10
22#define DAVINCI_MUX_VLYNQWD1 13 29#define INTMUX 0x18
23#define DAVINCI_MUX_VLSCREN 14 30#define EVTMUX 0x1c
24#define DAVINCI_MUX_VLYNQEN 15 31
25#define DAVINCI_MUX_HDIREN 16 32struct mux_config {
26#define DAVINCI_MUX_ATAEN 17 33 const char *name;
27#define DAVINCI_MUX_RGB666 22 34 const char *mux_reg_name;
28#define DAVINCI_MUX_RGB888 23 35 const unsigned char mux_reg;
29#define DAVINCI_MUX_LOEEN 24 36 const unsigned char mask_offset;
30#define DAVINCI_MUX_LFLDEN 25 37 const unsigned char mask;
31#define DAVINCI_MUX_CWEN 26 38 const unsigned char mode;
32#define DAVINCI_MUX_CFLDEN 27 39 bool debug;
33#define DAVINCI_MUX_HPIEN 29 40};
34#define DAVINCI_MUX_1394EN 30 41
35#define DAVINCI_MUX_EMACEN 31 42enum davinci_dm644x_index {
36 43 /* ATA and HDDIR functions */
37#define DAVINCI_MUX_LEVEL2 32 44 DM644X_HDIREN,
38#define DAVINCI_MUX_UART0 (DAVINCI_MUX_LEVEL2 + 0) 45 DM644X_ATAEN,
39#define DAVINCI_MUX_UART1 (DAVINCI_MUX_LEVEL2 + 1) 46 DM644X_ATAEN_DISABLE,
40#define DAVINCI_MUX_UART2 (DAVINCI_MUX_LEVEL2 + 2) 47
41#define DAVINCI_MUX_U2FLO (DAVINCI_MUX_LEVEL2 + 3) 48 /* HPI functions */
42#define DAVINCI_MUX_PWM0 (DAVINCI_MUX_LEVEL2 + 4) 49 DM644X_HPIEN_DISABLE,
43#define DAVINCI_MUX_PWM1 (DAVINCI_MUX_LEVEL2 + 5) 50
44#define DAVINCI_MUX_PWM2 (DAVINCI_MUX_LEVEL2 + 6) 51 /* AEAW functions */
45#define DAVINCI_MUX_I2C (DAVINCI_MUX_LEVEL2 + 7) 52 DM644X_AEAW,
46#define DAVINCI_MUX_SPI (DAVINCI_MUX_LEVEL2 + 8) 53
47#define DAVINCI_MUX_MSTK (DAVINCI_MUX_LEVEL2 + 9) 54 /* Memory Stick */
48#define DAVINCI_MUX_ASP (DAVINCI_MUX_LEVEL2 + 10) 55 DM644X_MSTK,
49#define DAVINCI_MUX_CLK0 (DAVINCI_MUX_LEVEL2 + 16) 56
50#define DAVINCI_MUX_CLK1 (DAVINCI_MUX_LEVEL2 + 17) 57 /* I2C */
51#define DAVINCI_MUX_TIMIN (DAVINCI_MUX_LEVEL2 + 18) 58 DM644X_I2C,
52 59
53extern void davinci_mux_peripheral(unsigned int mux, unsigned int enable); 60 /* ASP function */
54 61 DM644X_MCBSP,
55#endif /* __ASM_ARCH_MUX_H */ 62
63 /* UART1 */
64 DM644X_UART1,
65
66 /* UART2 */
67 DM644X_UART2,
68
69 /* PWM0 */
70 DM644X_PWM0,
71
72 /* PWM1 */
73 DM644X_PWM1,
74
75 /* PWM2 */
76 DM644X_PWM2,
77
78 /* VLYNQ function */
79 DM644X_VLYNQEN,
80 DM644X_VLSCREN,
81 DM644X_VLYNQWD,
82
83 /* EMAC and MDIO function */
84 DM644X_EMACEN,
85
86 /* GPIO3V[0:16] pins */
87 DM644X_GPIO3V,
88
89 /* GPIO pins */
90 DM644X_GPIO0,
91 DM644X_GPIO3,
92 DM644X_GPIO43_44,
93 DM644X_GPIO46_47,
94
95 /* VPBE */
96 DM644X_RGB666,
97
98 /* LCD */
99 DM644X_LOEEN,
100 DM644X_LFLDEN,
101};
102
103enum davinci_dm646x_index {
104 /* ATA function */
105 DM646X_ATAEN,
106
107 /* AUDIO Clock */
108 DM646X_AUDCK1,
109 DM646X_AUDCK0,
110
111 /* CRGEN Control */
112 DM646X_CRGMUX,
113
114 /* VPIF Control */
115 DM646X_STSOMUX_DISABLE,
116 DM646X_STSIMUX_DISABLE,
117 DM646X_PTSOMUX_DISABLE,
118 DM646X_PTSIMUX_DISABLE,
119
120 /* TSIF Control */
121 DM646X_STSOMUX,
122 DM646X_STSIMUX,
123 DM646X_PTSOMUX_PARALLEL,
124 DM646X_PTSIMUX_PARALLEL,
125 DM646X_PTSOMUX_SERIAL,
126 DM646X_PTSIMUX_SERIAL,
127};
128
129enum davinci_dm355_index {
130 /* MMC/SD 0 */
131 DM355_MMCSD0,
132
133 /* MMC/SD 1 */
134 DM355_SD1_CLK,
135 DM355_SD1_CMD,
136 DM355_SD1_DATA3,
137 DM355_SD1_DATA2,
138 DM355_SD1_DATA1,
139 DM355_SD1_DATA0,
140
141 /* I2C */
142 DM355_I2C_SDA,
143 DM355_I2C_SCL,
144
145 /* ASP0 function */
146 DM355_MCBSP0_BDX,
147 DM355_MCBSP0_X,
148 DM355_MCBSP0_BFSX,
149 DM355_MCBSP0_BDR,
150 DM355_MCBSP0_R,
151 DM355_MCBSP0_BFSR,
152
153 /* SPI0 */
154 DM355_SPI0_SDI,
155 DM355_SPI0_SDENA0,
156 DM355_SPI0_SDENA1,
157
158 /* IRQ muxing */
159 DM355_INT_EDMA_CC,
160 DM355_INT_EDMA_TC0_ERR,
161 DM355_INT_EDMA_TC1_ERR,
162
163 /* EDMA event muxing */
164 DM355_EVT8_ASP1_TX,
165 DM355_EVT9_ASP1_RX,
166 DM355_EVT26_MMC0_RX,
167};
168
169#ifdef CONFIG_DAVINCI_MUX
170/* setup pin muxing */
171extern void davinci_mux_init(void);
172extern int davinci_mux_register(const struct mux_config *pins,
173 unsigned long size);
174extern int davinci_cfg_reg(unsigned long reg_cfg);
175#else
176/* boot loader does it all (no warnings from CONFIG_DAVINCI_MUX_WARNINGS) */
177static inline void davinci_mux_init(void) {}
178static inline int davinci_mux_register(const struct mux_config *pins,
179 unsigned long size) { return 0; }
180static inline int davinci_cfg_reg(unsigned long reg_cfg) { return 0; }
181#endif
182
183#endif /* __INC_MACH_MUX_H */
diff --git a/arch/arm/mach-davinci/include/mach/psc.h b/arch/arm/mach-davinci/include/mach/psc.h
index 4977aa071e1e..55a90d419fac 100644
--- a/arch/arm/mach-davinci/include/mach/psc.h
+++ b/arch/arm/mach-davinci/include/mach/psc.h
@@ -38,8 +38,6 @@
38#define DAVINCI_LPSC_TPTC1 4 38#define DAVINCI_LPSC_TPTC1 4
39#define DAVINCI_LPSC_EMAC 5 39#define DAVINCI_LPSC_EMAC 5
40#define DAVINCI_LPSC_EMAC_WRAPPER 6 40#define DAVINCI_LPSC_EMAC_WRAPPER 6
41#define DAVINCI_LPSC_MDIO 7
42#define DAVINCI_LPSC_IEEE1394 8
43#define DAVINCI_LPSC_USB 9 41#define DAVINCI_LPSC_USB 9
44#define DAVINCI_LPSC_ATA 10 42#define DAVINCI_LPSC_ATA 10
45#define DAVINCI_LPSC_VLYNQ 11 43#define DAVINCI_LPSC_VLYNQ 11
@@ -47,7 +45,6 @@
47#define DAVINCI_LPSC_DDR_EMIF 13 45#define DAVINCI_LPSC_DDR_EMIF 13
48#define DAVINCI_LPSC_AEMIF 14 46#define DAVINCI_LPSC_AEMIF 14
49#define DAVINCI_LPSC_MMC_SD 15 47#define DAVINCI_LPSC_MMC_SD 15
50#define DAVINCI_LPSC_MEMSTICK 16
51#define DAVINCI_LPSC_McBSP 17 48#define DAVINCI_LPSC_McBSP 17
52#define DAVINCI_LPSC_I2C 18 49#define DAVINCI_LPSC_I2C 18
53#define DAVINCI_LPSC_UART0 19 50#define DAVINCI_LPSC_UART0 19
@@ -73,4 +70,54 @@
73#define DAVINCI_LPSC_GEM 39 70#define DAVINCI_LPSC_GEM 39
74#define DAVINCI_LPSC_IMCOP 40 71#define DAVINCI_LPSC_IMCOP 40
75 72
73#define DM355_LPSC_TIMER3 5
74#define DM355_LPSC_SPI1 6
75#define DM355_LPSC_MMC_SD1 7
76#define DM355_LPSC_McBSP1 8
77#define DM355_LPSC_PWM3 10
78#define DM355_LPSC_SPI2 11
79#define DM355_LPSC_RTO 12
80#define DM355_LPSC_VPSS_DAC 41
81
82/*
83 * LPSC Assignments
84 */
85#define DM646X_LPSC_ARM 0
86#define DM646X_LPSC_C64X_CPU 1
87#define DM646X_LPSC_HDVICP0 2
88#define DM646X_LPSC_HDVICP1 3
89#define DM646X_LPSC_TPCC 4
90#define DM646X_LPSC_TPTC0 5
91#define DM646X_LPSC_TPTC1 6
92#define DM646X_LPSC_TPTC2 7
93#define DM646X_LPSC_TPTC3 8
94#define DM646X_LPSC_PCI 13
95#define DM646X_LPSC_EMAC 14
96#define DM646X_LPSC_VDCE 15
97#define DM646X_LPSC_VPSSMSTR 16
98#define DM646X_LPSC_VPSSSLV 17
99#define DM646X_LPSC_TSIF0 18
100#define DM646X_LPSC_TSIF1 19
101#define DM646X_LPSC_DDR_EMIF 20
102#define DM646X_LPSC_AEMIF 21
103#define DM646X_LPSC_McASP0 22
104#define DM646X_LPSC_McASP1 23
105#define DM646X_LPSC_CRGEN0 24
106#define DM646X_LPSC_CRGEN1 25
107#define DM646X_LPSC_UART0 26
108#define DM646X_LPSC_UART1 27
109#define DM646X_LPSC_UART2 28
110#define DM646X_LPSC_PWM0 29
111#define DM646X_LPSC_PWM1 30
112#define DM646X_LPSC_I2C 31
113#define DM646X_LPSC_SPI 32
114#define DM646X_LPSC_GPIO 33
115#define DM646X_LPSC_TIMER0 34
116#define DM646X_LPSC_TIMER1 35
117#define DM646X_LPSC_ARM_INTC 45
118
119extern int davinci_psc_is_clk_active(unsigned int id);
120extern void davinci_psc_config(unsigned int domain, unsigned int id,
121 char enable);
122
76#endif /* __ASM_ARCH_PSC_H */ 123#endif /* __ASM_ARCH_PSC_H */
diff --git a/arch/arm/mach-davinci/include/mach/serial.h b/arch/arm/mach-davinci/include/mach/serial.h
index fb8cb229bfd2..632847d74a1c 100644
--- a/arch/arm/mach-davinci/include/mach/serial.h
+++ b/arch/arm/mach-davinci/include/mach/serial.h
@@ -13,8 +13,23 @@
13 13
14#include <mach/io.h> 14#include <mach/io.h>
15 15
16#define DAVINCI_UART0_BASE (IO_PHYS + 0x20000) 16#define DAVINCI_MAX_NR_UARTS 3
17#define DAVINCI_UART1_BASE (IO_PHYS + 0x20400) 17#define DAVINCI_UART0_BASE (IO_PHYS + 0x20000)
18#define DAVINCI_UART2_BASE (IO_PHYS + 0x20800) 18#define DAVINCI_UART1_BASE (IO_PHYS + 0x20400)
19#define DAVINCI_UART2_BASE (IO_PHYS + 0x20800)
20
21#define DM355_UART2_BASE (IO_PHYS + 0x206000)
22
23/* DaVinci UART register offsets */
24#define UART_DAVINCI_PWREMU 0x0c
25#define UART_DM646X_SCR 0x10
26#define UART_DM646X_SCR_TX_WATERMARK 0x08
27
28struct davinci_uart_config {
29 /* Bit field of UARTs present; bit 0 --> UART1 */
30 unsigned int enabled_uarts;
31};
32
33extern void davinci_serial_init(struct davinci_uart_config *);
19 34
20#endif /* __ASM_ARCH_SERIAL_H */ 35#endif /* __ASM_ARCH_SERIAL_H */
diff --git a/arch/arm/mach-davinci/io.c b/arch/arm/mach-davinci/io.c
index 299515f70b8b..a548abb513e2 100644
--- a/arch/arm/mach-davinci/io.c
+++ b/arch/arm/mach-davinci/io.c
@@ -51,7 +51,26 @@ void __init davinci_map_common_io(void)
51 davinci_check_revision(); 51 davinci_check_revision();
52} 52}
53 53
54void __init davinci_init_common_hw(void) 54#define BETWEEN(p, st, sz) ((p) >= (st) && (p) < ((st) + (sz)))
55#define XLATE(p, pst, vst) ((void __iomem *)((p) - (pst) + (vst)))
56
57/*
58 * Intercept ioremap() requests for addresses in our fixed mapping regions.
59 */
60void __iomem *davinci_ioremap(unsigned long p, size_t size, unsigned int type)
61{
62 if (BETWEEN(p, IO_PHYS, IO_SIZE))
63 return XLATE(p, IO_PHYS, IO_VIRT);
64
65 return __arm_ioremap(p, size, type);
66}
67EXPORT_SYMBOL(davinci_ioremap);
68
69void davinci_iounmap(volatile void __iomem *addr)
55{ 70{
56 davinci_clk_init(); 71 unsigned long virt = (unsigned long)addr;
72
73 if (virt >= VMALLOC_START && virt < VMALLOC_END)
74 __iounmap(addr);
57} 75}
76EXPORT_SYMBOL(davinci_iounmap);
diff --git a/arch/arm/mach-davinci/irq.c b/arch/arm/mach-davinci/irq.c
index 38021af8359a..5a324c90e291 100644
--- a/arch/arm/mach-davinci/irq.c
+++ b/arch/arm/mach-davinci/irq.c
@@ -25,6 +25,7 @@
25#include <linux/io.h> 25#include <linux/io.h>
26 26
27#include <mach/hardware.h> 27#include <mach/hardware.h>
28#include <mach/cputype.h>
28#include <asm/mach/irq.h> 29#include <asm/mach/irq.h>
29 30
30#define IRQ_BIT(irq) ((irq) & 0x1f) 31#define IRQ_BIT(irq) ((irq) & 0x1f)
@@ -40,14 +41,18 @@
40#define IRQ_INTPRI0_REG_OFFSET 0x0030 41#define IRQ_INTPRI0_REG_OFFSET 0x0030
41#define IRQ_INTPRI7_REG_OFFSET 0x004C 42#define IRQ_INTPRI7_REG_OFFSET 0x004C
42 43
44const u8 *davinci_def_priorities;
45
46#define INTC_BASE IO_ADDRESS(DAVINCI_ARM_INTC_BASE)
47
43static inline unsigned int davinci_irq_readl(int offset) 48static inline unsigned int davinci_irq_readl(int offset)
44{ 49{
45 return davinci_readl(DAVINCI_ARM_INTC_BASE + offset); 50 return __raw_readl(INTC_BASE + offset);
46} 51}
47 52
48static inline void davinci_irq_writel(unsigned long value, int offset) 53static inline void davinci_irq_writel(unsigned long value, int offset)
49{ 54{
50 davinci_writel(value, DAVINCI_ARM_INTC_BASE + offset); 55 __raw_writel(value, INTC_BASE + offset);
51} 56}
52 57
53/* Disable interrupt */ 58/* Disable interrupt */
@@ -108,9 +113,8 @@ static struct irq_chip davinci_irq_chip_0 = {
108 .unmask = davinci_unmask_irq, 113 .unmask = davinci_unmask_irq,
109}; 114};
110 115
111
112/* FIQ are pri 0-1; otherwise 2-7, with 7 lowest priority */ 116/* FIQ are pri 0-1; otherwise 2-7, with 7 lowest priority */
113static const u8 default_priorities[DAVINCI_N_AINTC_IRQ] __initdata = { 117static const u8 dm644x_default_priorities[DAVINCI_N_AINTC_IRQ] __initdata = {
114 [IRQ_VDINT0] = 2, 118 [IRQ_VDINT0] = 2,
115 [IRQ_VDINT1] = 6, 119 [IRQ_VDINT1] = 6,
116 [IRQ_VDINT2] = 6, 120 [IRQ_VDINT2] = 6,
@@ -177,11 +181,149 @@ static const u8 default_priorities[DAVINCI_N_AINTC_IRQ] __initdata = {
177 [IRQ_EMUINT] = 7, 181 [IRQ_EMUINT] = 7,
178}; 182};
179 183
184static const u8 dm646x_default_priorities[DAVINCI_N_AINTC_IRQ] = {
185 [IRQ_DM646X_VP_VERTINT0] = 7,
186 [IRQ_DM646X_VP_VERTINT1] = 7,
187 [IRQ_DM646X_VP_VERTINT2] = 7,
188 [IRQ_DM646X_VP_VERTINT3] = 7,
189 [IRQ_DM646X_VP_ERRINT] = 7,
190 [IRQ_DM646X_RESERVED_1] = 7,
191 [IRQ_DM646X_RESERVED_2] = 7,
192 [IRQ_DM646X_WDINT] = 7,
193 [IRQ_DM646X_CRGENINT0] = 7,
194 [IRQ_DM646X_CRGENINT1] = 7,
195 [IRQ_DM646X_TSIFINT0] = 7,
196 [IRQ_DM646X_TSIFINT1] = 7,
197 [IRQ_DM646X_VDCEINT] = 7,
198 [IRQ_DM646X_USBINT] = 7,
199 [IRQ_DM646X_USBDMAINT] = 7,
200 [IRQ_DM646X_PCIINT] = 7,
201 [IRQ_CCINT0] = 7, /* dma */
202 [IRQ_CCERRINT] = 7, /* dma */
203 [IRQ_TCERRINT0] = 7, /* dma */
204 [IRQ_TCERRINT] = 7, /* dma */
205 [IRQ_DM646X_TCERRINT2] = 7,
206 [IRQ_DM646X_TCERRINT3] = 7,
207 [IRQ_DM646X_IDE] = 7,
208 [IRQ_DM646X_HPIINT] = 7,
209 [IRQ_DM646X_EMACRXTHINT] = 7,
210 [IRQ_DM646X_EMACRXINT] = 7,
211 [IRQ_DM646X_EMACTXINT] = 7,
212 [IRQ_DM646X_EMACMISCINT] = 7,
213 [IRQ_DM646X_MCASP0TXINT] = 7,
214 [IRQ_DM646X_MCASP0RXINT] = 7,
215 [IRQ_AEMIFINT] = 7,
216 [IRQ_DM646X_RESERVED_3] = 7,
217 [IRQ_DM646X_MCASP1TXINT] = 7, /* clockevent */
218 [IRQ_TINT0_TINT34] = 7, /* clocksource */
219 [IRQ_TINT1_TINT12] = 7, /* DSP timer */
220 [IRQ_TINT1_TINT34] = 7, /* system tick */
221 [IRQ_PWMINT0] = 7,
222 [IRQ_PWMINT1] = 7,
223 [IRQ_DM646X_VLQINT] = 7,
224 [IRQ_I2C] = 7,
225 [IRQ_UARTINT0] = 7,
226 [IRQ_UARTINT1] = 7,
227 [IRQ_DM646X_UARTINT2] = 7,
228 [IRQ_DM646X_SPINT0] = 7,
229 [IRQ_DM646X_SPINT1] = 7,
230 [IRQ_DM646X_DSP2ARMINT] = 7,
231 [IRQ_DM646X_RESERVED_4] = 7,
232 [IRQ_DM646X_PSCINT] = 7,
233 [IRQ_DM646X_GPIO0] = 7,
234 [IRQ_DM646X_GPIO1] = 7,
235 [IRQ_DM646X_GPIO2] = 7,
236 [IRQ_DM646X_GPIO3] = 7,
237 [IRQ_DM646X_GPIO4] = 7,
238 [IRQ_DM646X_GPIO5] = 7,
239 [IRQ_DM646X_GPIO6] = 7,
240 [IRQ_DM646X_GPIO7] = 7,
241 [IRQ_DM646X_GPIOBNK0] = 7,
242 [IRQ_DM646X_GPIOBNK1] = 7,
243 [IRQ_DM646X_GPIOBNK2] = 7,
244 [IRQ_DM646X_DDRINT] = 7,
245 [IRQ_DM646X_AEMIFINT] = 7,
246 [IRQ_COMMTX] = 7,
247 [IRQ_COMMRX] = 7,
248 [IRQ_EMUINT] = 7,
249};
250
251static const u8 dm355_default_priorities[DAVINCI_N_AINTC_IRQ] = {
252 [IRQ_DM355_CCDC_VDINT0] = 2,
253 [IRQ_DM355_CCDC_VDINT1] = 6,
254 [IRQ_DM355_CCDC_VDINT2] = 6,
255 [IRQ_DM355_IPIPE_HST] = 6,
256 [IRQ_DM355_H3AINT] = 6,
257 [IRQ_DM355_IPIPE_SDR] = 6,
258 [IRQ_DM355_IPIPEIFINT] = 6,
259 [IRQ_DM355_OSDINT] = 7,
260 [IRQ_DM355_VENCINT] = 6,
261 [IRQ_ASQINT] = 6,
262 [IRQ_IMXINT] = 6,
263 [IRQ_USBINT] = 4,
264 [IRQ_DM355_RTOINT] = 4,
265 [IRQ_DM355_UARTINT2] = 7,
266 [IRQ_DM355_TINT6] = 7,
267 [IRQ_CCINT0] = 5, /* dma */
268 [IRQ_CCERRINT] = 5, /* dma */
269 [IRQ_TCERRINT0] = 5, /* dma */
270 [IRQ_TCERRINT] = 5, /* dma */
271 [IRQ_DM355_SPINT2_1] = 7,
272 [IRQ_DM355_TINT7] = 4,
273 [IRQ_DM355_SDIOINT0] = 7,
274 [IRQ_MBXINT] = 7,
275 [IRQ_MBRINT] = 7,
276 [IRQ_MMCINT] = 7,
277 [IRQ_DM355_MMCINT1] = 7,
278 [IRQ_DM355_PWMINT3] = 7,
279 [IRQ_DDRINT] = 7,
280 [IRQ_AEMIFINT] = 7,
281 [IRQ_DM355_SDIOINT1] = 4,
282 [IRQ_TINT0_TINT12] = 2, /* clockevent */
283 [IRQ_TINT0_TINT34] = 2, /* clocksource */
284 [IRQ_TINT1_TINT12] = 7, /* DSP timer */
285 [IRQ_TINT1_TINT34] = 7, /* system tick */
286 [IRQ_PWMINT0] = 7,
287 [IRQ_PWMINT1] = 7,
288 [IRQ_PWMINT2] = 7,
289 [IRQ_I2C] = 3,
290 [IRQ_UARTINT0] = 3,
291 [IRQ_UARTINT1] = 3,
292 [IRQ_DM355_SPINT0_0] = 3,
293 [IRQ_DM355_SPINT0_1] = 3,
294 [IRQ_DM355_GPIO0] = 3,
295 [IRQ_DM355_GPIO1] = 7,
296 [IRQ_DM355_GPIO2] = 4,
297 [IRQ_DM355_GPIO3] = 4,
298 [IRQ_DM355_GPIO4] = 7,
299 [IRQ_DM355_GPIO5] = 7,
300 [IRQ_DM355_GPIO6] = 7,
301 [IRQ_DM355_GPIO7] = 7,
302 [IRQ_DM355_GPIO8] = 7,
303 [IRQ_DM355_GPIO9] = 7,
304 [IRQ_DM355_GPIOBNK0] = 7,
305 [IRQ_DM355_GPIOBNK1] = 7,
306 [IRQ_DM355_GPIOBNK2] = 7,
307 [IRQ_DM355_GPIOBNK3] = 7,
308 [IRQ_DM355_GPIOBNK4] = 7,
309 [IRQ_DM355_GPIOBNK5] = 7,
310 [IRQ_DM355_GPIOBNK6] = 7,
311 [IRQ_COMMTX] = 7,
312 [IRQ_COMMRX] = 7,
313 [IRQ_EMUINT] = 7,
314};
315
180/* ARM Interrupt Controller Initialization */ 316/* ARM Interrupt Controller Initialization */
181void __init davinci_irq_init(void) 317void __init davinci_irq_init(void)
182{ 318{
183 unsigned i; 319 unsigned i;
184 const u8 *priority = default_priorities; 320
321 if (cpu_is_davinci_dm644x())
322 davinci_def_priorities = dm644x_default_priorities;
323 else if (cpu_is_davinci_dm646x())
324 davinci_def_priorities = dm646x_default_priorities;
325 else if (cpu_is_davinci_dm355())
326 davinci_def_priorities = dm355_default_priorities;
185 327
186 /* Clear all interrupt requests */ 328 /* Clear all interrupt requests */
187 davinci_irq_writel(~0x0, FIQ_REG0_OFFSET); 329 davinci_irq_writel(~0x0, FIQ_REG0_OFFSET);
@@ -209,8 +351,8 @@ void __init davinci_irq_init(void)
209 unsigned j; 351 unsigned j;
210 u32 pri; 352 u32 pri;
211 353
212 for (j = 0, pri = 0; j < 32; j += 4, priority++) 354 for (j = 0, pri = 0; j < 32; j += 4, davinci_def_priorities++)
213 pri |= (*priority & 0x07) << j; 355 pri |= (*davinci_def_priorities & 0x07) << j;
214 davinci_irq_writel(pri, i); 356 davinci_irq_writel(pri, i);
215 } 357 }
216 358
diff --git a/arch/arm/mach-davinci/mux.c b/arch/arm/mach-davinci/mux.c
index 8ff9d8aca60b..bbba0b247a44 100644
--- a/arch/arm/mach-davinci/mux.c
+++ b/arch/arm/mach-davinci/mux.c
@@ -1,41 +1,103 @@
1/* 1/*
2 * DaVinci pin multiplexing configurations 2 * Utility to set the DAVINCI MUX register from a table in mux.h
3 * 3 *
4 * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com> 4 * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com>
5 * 5 *
6 * Based on linux/arch/arm/plat-omap/mux.c:
7 * Copyright (C) 2003 - 2005 Nokia Corporation
8 *
9 * Written by Tony Lindgren
10 *
6 * 2007 (c) MontaVista Software, Inc. This file is licensed under 11 * 2007 (c) MontaVista Software, Inc. This file is licensed under
7 * the terms of the GNU General Public License version 2. This program 12 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express 13 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied. 14 * or implied.
15 *
16 * Copyright (C) 2008 Texas Instruments.
10 */ 17 */
11#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/module.h>
12#include <linux/spinlock.h> 20#include <linux/spinlock.h>
13 21
14#include <mach/hardware.h> 22#include <mach/hardware.h>
15
16#include <mach/mux.h> 23#include <mach/mux.h>
17 24
18/* System control register offsets */ 25static const struct mux_config *mux_table;
19#define PINMUX0 0x00 26static unsigned long pin_table_sz;
20#define PINMUX1 0x04 27
28int __init davinci_mux_register(const struct mux_config *pins,
29 unsigned long size)
30{
31 mux_table = pins;
32 pin_table_sz = size;
21 33
22static DEFINE_SPINLOCK(mux_lock); 34 return 0;
35}
23 36
24void davinci_mux_peripheral(unsigned int mux, unsigned int enable) 37/*
38 * Sets the DAVINCI MUX register based on the table
39 */
40int __init_or_module davinci_cfg_reg(const unsigned long index)
25{ 41{
26 u32 pinmux, muxreg = PINMUX0; 42 static DEFINE_SPINLOCK(mux_spin_lock);
43 void __iomem *base = IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE);
44 unsigned long flags;
45 const struct mux_config *cfg;
46 unsigned int reg_orig = 0, reg = 0;
47 unsigned int mask, warn = 0;
48
49 if (!mux_table)
50 BUG();
51
52 if (index >= pin_table_sz) {
53 printk(KERN_ERR "Invalid pin mux index: %lu (%lu)\n",
54 index, pin_table_sz);
55 dump_stack();
56 return -ENODEV;
57 }
58
59 cfg = &mux_table[index];
60
61 if (cfg->name == NULL) {
62 printk(KERN_ERR "No entry for the specified index\n");
63 return -ENODEV;
64 }
65
66 /* Update the mux register in question */
67 if (cfg->mask) {
68 unsigned tmp1, tmp2;
69
70 spin_lock_irqsave(&mux_spin_lock, flags);
71 reg_orig = __raw_readl(base + cfg->mux_reg);
72
73 mask = (cfg->mask << cfg->mask_offset);
74 tmp1 = reg_orig & mask;
75 reg = reg_orig & ~mask;
76
77 tmp2 = (cfg->mode << cfg->mask_offset);
78 reg |= tmp2;
79
80 if (tmp1 != tmp2)
81 warn = 1;
82
83 __raw_writel(reg, base + cfg->mux_reg);
84 spin_unlock_irqrestore(&mux_spin_lock, flags);
85 }
86
87 if (warn) {
88#ifdef CONFIG_DAVINCI_MUX_WARNINGS
89 printk(KERN_WARNING "MUX: initialized %s\n", cfg->name);
90#endif
91 }
27 92
28 if (mux >= DAVINCI_MUX_LEVEL2) { 93#ifdef CONFIG_DAVINCI_MUX_DEBUG
29 muxreg = PINMUX1; 94 if (cfg->debug || warn) {
30 mux -= DAVINCI_MUX_LEVEL2; 95 printk(KERN_WARNING "MUX: Setting register %s\n", cfg->name);
96 printk(KERN_WARNING " %s (0x%08x) = 0x%08x -> 0x%08x\n",
97 cfg->mux_reg_name, cfg->mux_reg, reg_orig, reg);
31 } 98 }
99#endif
32 100
33 spin_lock(&mux_lock); 101 return 0;
34 pinmux = davinci_readl(DAVINCI_SYSTEM_MODULE_BASE + muxreg);
35 if (enable)
36 pinmux |= (1 << mux);
37 else
38 pinmux &= ~(1 << mux);
39 davinci_writel(pinmux, DAVINCI_SYSTEM_MODULE_BASE + muxreg);
40 spin_unlock(&mux_lock);
41} 102}
103EXPORT_SYMBOL(davinci_cfg_reg);
diff --git a/arch/arm/mach-davinci/mux.h b/arch/arm/mach-davinci/mux.h
new file mode 100644
index 000000000000..adc869413371
--- /dev/null
+++ b/arch/arm/mach-davinci/mux.h
@@ -0,0 +1,51 @@
1/*
2 * Pin-multiplex helper macros for TI DaVinci family devices
3 *
4 * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com>
5 *
6 * 2007 (c) MontaVista Software, Inc. This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 *
11 * Copyright (C) 2008 Texas Instruments.
12 */
13#ifndef _MACH_DAVINCI_MUX_H_
14#define _MACH_DAVINCI_MUX_H_
15
16#include <mach/mux.h>
17
18#define MUX_CFG(soc, desc, muxreg, mode_offset, mode_mask, mux_mode, dbg)\
19[soc##_##desc] = { \
20 .name = #desc, \
21 .debug = dbg, \
22 .mux_reg_name = "PINMUX"#muxreg, \
23 .mux_reg = PINMUX##muxreg, \
24 .mask_offset = mode_offset, \
25 .mask = mode_mask, \
26 .mode = mux_mode, \
27 },
28
29#define INT_CFG(soc, desc, mode_offset, mode_mask, mux_mode, dbg) \
30[soc##_##desc] = { \
31 .name = #desc, \
32 .debug = dbg, \
33 .mux_reg_name = "INTMUX", \
34 .mux_reg = INTMUX, \
35 .mask_offset = mode_offset, \
36 .mask = mode_mask, \
37 .mode = mux_mode, \
38 },
39
40#define EVT_CFG(soc, desc, mode_offset, mode_mask, mux_mode, dbg) \
41[soc##_##desc] = { \
42 .name = #desc, \
43 .debug = dbg, \
44 .mux_reg_name = "EVTMUX", \
45 .mux_reg = EVTMUX, \
46 .mask_offset = mode_offset, \
47 .mask = mode_mask, \
48 .mode = mux_mode, \
49 },
50
51#endif /* _MACH_DAVINCI_MUX_H */
diff --git a/arch/arm/mach-davinci/psc.c b/arch/arm/mach-davinci/psc.c
index 58754f066d5b..84171abf5f7b 100644
--- a/arch/arm/mach-davinci/psc.c
+++ b/arch/arm/mach-davinci/psc.c
@@ -23,10 +23,13 @@
23#include <linux/init.h> 23#include <linux/init.h>
24#include <linux/io.h> 24#include <linux/io.h>
25 25
26#include <mach/cputype.h>
26#include <mach/hardware.h> 27#include <mach/hardware.h>
27#include <mach/psc.h> 28#include <mach/psc.h>
28#include <mach/mux.h> 29#include <mach/mux.h>
29 30
31#define DAVINCI_PWR_SLEEP_CNTRL_BASE 0x01C41000
32
30/* PSC register offsets */ 33/* PSC register offsets */
31#define EPCPR 0x070 34#define EPCPR 0x070
32#define PTCMD 0x120 35#define PTCMD 0x120
@@ -36,102 +39,61 @@
36#define MDSTAT 0x800 39#define MDSTAT 0x800
37#define MDCTL 0xA00 40#define MDCTL 0xA00
38 41
39/* System control register offsets */ 42#define MDSTAT_STATE_MASK 0x1f
40#define VDD3P3V_PWDN 0x48
41 43
42static void davinci_psc_mux(unsigned int id) 44/* Return nonzero iff the domain's clock is active */
45int __init davinci_psc_is_clk_active(unsigned int id)
43{ 46{
44 switch (id) { 47 void __iomem *psc_base = IO_ADDRESS(DAVINCI_PWR_SLEEP_CNTRL_BASE);
45 case DAVINCI_LPSC_ATA: 48 u32 mdstat = __raw_readl(psc_base + MDSTAT + 4 * id);
46 davinci_mux_peripheral(DAVINCI_MUX_HDIREN, 1); 49
47 davinci_mux_peripheral(DAVINCI_MUX_ATAEN, 1); 50 /* if clocked, state can be "Enable" or "SyncReset" */
48 break; 51 return mdstat & BIT(12);
49 case DAVINCI_LPSC_MMC_SD:
50 /* VDD power manupulations are done in U-Boot for CPMAC
51 * so applies to MMC as well
52 */
53 /*Set up the pull regiter for MMC */
54 davinci_writel(0, DAVINCI_SYSTEM_MODULE_BASE + VDD3P3V_PWDN);
55 davinci_mux_peripheral(DAVINCI_MUX_MSTK, 0);
56 break;
57 case DAVINCI_LPSC_I2C:
58 davinci_mux_peripheral(DAVINCI_MUX_I2C, 1);
59 break;
60 case DAVINCI_LPSC_McBSP:
61 davinci_mux_peripheral(DAVINCI_MUX_ASP, 1);
62 break;
63 default:
64 break;
65 }
66} 52}
67 53
68/* Enable or disable a PSC domain */ 54/* Enable or disable a PSC domain */
69void davinci_psc_config(unsigned int domain, unsigned int id, char enable) 55void davinci_psc_config(unsigned int domain, unsigned int id, char enable)
70{ 56{
71 u32 epcpr, ptcmd, ptstat, pdstat, pdctl1, mdstat, mdctl, mdstat_mask; 57 u32 epcpr, ptcmd, ptstat, pdstat, pdctl1, mdstat, mdctl;
58 void __iomem *psc_base = IO_ADDRESS(DAVINCI_PWR_SLEEP_CNTRL_BASE);
59 u32 next_state = enable ? 0x3 : 0x2; /* 0x3 enables, 0x2 disables */
72 60
73 mdctl = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + MDCTL + 4 * id); 61 mdctl = __raw_readl(psc_base + MDCTL + 4 * id);
74 if (enable) 62 mdctl &= ~MDSTAT_STATE_MASK;
75 mdctl |= 0x00000003; /* Enable Module */ 63 mdctl |= next_state;
76 else 64 __raw_writel(mdctl, psc_base + MDCTL + 4 * id);
77 mdctl &= 0xFFFFFFF2; /* Disable Module */
78 davinci_writel(mdctl, DAVINCI_PWR_SLEEP_CNTRL_BASE + MDCTL + 4 * id);
79 65
80 pdstat = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + PDSTAT); 66 pdstat = __raw_readl(psc_base + PDSTAT);
81 if ((pdstat & 0x00000001) == 0) { 67 if ((pdstat & 0x00000001) == 0) {
82 pdctl1 = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + PDCTL1); 68 pdctl1 = __raw_readl(psc_base + PDCTL1);
83 pdctl1 |= 0x1; 69 pdctl1 |= 0x1;
84 davinci_writel(pdctl1, DAVINCI_PWR_SLEEP_CNTRL_BASE + PDCTL1); 70 __raw_writel(pdctl1, psc_base + PDCTL1);
85 71
86 ptcmd = 1 << domain; 72 ptcmd = 1 << domain;
87 davinci_writel(ptcmd, DAVINCI_PWR_SLEEP_CNTRL_BASE + PTCMD); 73 __raw_writel(ptcmd, psc_base + PTCMD);
88 74
89 do { 75 do {
90 epcpr = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + 76 epcpr = __raw_readl(psc_base + EPCPR);
91 EPCPR);
92 } while ((((epcpr >> domain) & 1) == 0)); 77 } while ((((epcpr >> domain) & 1) == 0));
93 78
94 pdctl1 = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + PDCTL1); 79 pdctl1 = __raw_readl(psc_base + PDCTL1);
95 pdctl1 |= 0x100; 80 pdctl1 |= 0x100;
96 davinci_writel(pdctl1, DAVINCI_PWR_SLEEP_CNTRL_BASE + PDCTL1); 81 __raw_writel(pdctl1, psc_base + PDCTL1);
97 82
98 do { 83 do {
99 ptstat = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + 84 ptstat = __raw_readl(psc_base +
100 PTSTAT); 85 PTSTAT);
101 } while (!(((ptstat >> domain) & 1) == 0)); 86 } while (!(((ptstat >> domain) & 1) == 0));
102 } else { 87 } else {
103 ptcmd = 1 << domain; 88 ptcmd = 1 << domain;
104 davinci_writel(ptcmd, DAVINCI_PWR_SLEEP_CNTRL_BASE + PTCMD); 89 __raw_writel(ptcmd, psc_base + PTCMD);
105 90
106 do { 91 do {
107 ptstat = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + 92 ptstat = __raw_readl(psc_base + PTSTAT);
108 PTSTAT);
109 } while (!(((ptstat >> domain) & 1) == 0)); 93 } while (!(((ptstat >> domain) & 1) == 0));
110 } 94 }
111 95
112 if (enable)
113 mdstat_mask = 0x3;
114 else
115 mdstat_mask = 0x2;
116
117 do { 96 do {
118 mdstat = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + 97 mdstat = __raw_readl(psc_base + MDSTAT + 4 * id);
119 MDSTAT + 4 * id); 98 } while (!((mdstat & MDSTAT_STATE_MASK) == next_state));
120 } while (!((mdstat & 0x0000001F) == mdstat_mask));
121
122 if (enable)
123 davinci_psc_mux(id);
124}
125
126void __init davinci_psc_init(void)
127{
128 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_VPSSMSTR, 1);
129 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_VPSSSLV, 1);
130 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_TPCC, 1);
131 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_TPTC0, 1);
132 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_TPTC1, 1);
133 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_GPIO, 1);
134
135 /* Turn on WatchDog timer LPSC. Needed for RESET to work */
136 davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_TIMER2, 1);
137} 99}
diff --git a/arch/arm/mach-davinci/serial.c b/arch/arm/mach-davinci/serial.c
index 3010f9971255..695075796522 100644
--- a/arch/arm/mach-davinci/serial.c
+++ b/arch/arm/mach-davinci/serial.c
@@ -32,32 +32,47 @@
32#include <mach/hardware.h> 32#include <mach/hardware.h>
33#include <mach/serial.h> 33#include <mach/serial.h>
34#include <mach/irqs.h> 34#include <mach/irqs.h>
35#include <mach/cputype.h>
36#include "clock.h"
35 37
36#define UART_DAVINCI_PWREMU 0x0c 38static inline unsigned int serial_read_reg(struct plat_serial8250_port *up,
37 39 int offset)
38static inline unsigned int davinci_serial_in(struct plat_serial8250_port *up,
39 int offset)
40{ 40{
41 offset <<= up->regshift; 41 offset <<= up->regshift;
42 return (unsigned int)__raw_readb(up->membase + offset); 42 return (unsigned int)__raw_readl(IO_ADDRESS(up->mapbase) + offset);
43} 43}
44 44
45static inline void davinci_serial_outp(struct plat_serial8250_port *p, 45static inline void serial_write_reg(struct plat_serial8250_port *p, int offset,
46 int offset, int value) 46 int value)
47{ 47{
48 offset <<= p->regshift; 48 offset <<= p->regshift;
49 __raw_writeb(value, p->membase + offset); 49 __raw_writel(value, IO_ADDRESS(p->mapbase) + offset);
50} 50}
51 51
52static struct plat_serial8250_port serial_platform_data[] = { 52static struct plat_serial8250_port serial_platform_data[] = {
53 { 53 {
54 .membase = (char *)IO_ADDRESS(DAVINCI_UART0_BASE), 54 .mapbase = DAVINCI_UART0_BASE,
55 .mapbase = (unsigned long)DAVINCI_UART0_BASE,
56 .irq = IRQ_UARTINT0, 55 .irq = IRQ_UARTINT0,
57 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, 56 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST |
57 UPF_IOREMAP,
58 .iotype = UPIO_MEM,
59 .regshift = 2,
60 },
61 {
62 .mapbase = DAVINCI_UART1_BASE,
63 .irq = IRQ_UARTINT1,
64 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST |
65 UPF_IOREMAP,
66 .iotype = UPIO_MEM,
67 .regshift = 2,
68 },
69 {
70 .mapbase = DAVINCI_UART2_BASE,
71 .irq = IRQ_UARTINT2,
72 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST |
73 UPF_IOREMAP,
58 .iotype = UPIO_MEM, 74 .iotype = UPIO_MEM,
59 .regshift = 2, 75 .regshift = 2,
60 .uartclk = 27000000,
61 }, 76 },
62 { 77 {
63 .flags = 0 78 .flags = 0
@@ -74,22 +89,68 @@ static struct platform_device serial_device = {
74 89
75static void __init davinci_serial_reset(struct plat_serial8250_port *p) 90static void __init davinci_serial_reset(struct plat_serial8250_port *p)
76{ 91{
77 /* reset both transmitter and receiver: bits 14,13 = UTRST, URRST */
78 unsigned int pwremu = 0; 92 unsigned int pwremu = 0;
79 93
80 davinci_serial_outp(p, UART_IER, 0); /* disable all interrupts */ 94 serial_write_reg(p, UART_IER, 0); /* disable all interrupts */
81 95
82 davinci_serial_outp(p, UART_DAVINCI_PWREMU, pwremu); 96 /* reset both transmitter and receiver: bits 14,13 = UTRST, URRST */
97 serial_write_reg(p, UART_DAVINCI_PWREMU, pwremu);
83 mdelay(10); 98 mdelay(10);
84 99
85 pwremu |= (0x3 << 13); 100 pwremu |= (0x3 << 13);
86 pwremu |= 0x1; 101 pwremu |= 0x1;
87 davinci_serial_outp(p, UART_DAVINCI_PWREMU, pwremu); 102 serial_write_reg(p, UART_DAVINCI_PWREMU, pwremu);
103
104 if (cpu_is_davinci_dm646x())
105 serial_write_reg(p, UART_DM646X_SCR,
106 UART_DM646X_SCR_TX_WATERMARK);
107}
108
109void __init davinci_serial_init(struct davinci_uart_config *info)
110{
111 int i;
112 char name[16];
113 struct clk *uart_clk;
114 struct device *dev = &serial_device.dev;
115
116 /*
117 * Make sure the serial ports are muxed on at this point.
118 * You have to mux them off in device drivers later on
119 * if not needed.
120 */
121 for (i = 0; i < DAVINCI_MAX_NR_UARTS; i++) {
122 struct plat_serial8250_port *p = serial_platform_data + i;
123
124 if (!(info->enabled_uarts & (1 << i))) {
125 p->flags = 0;
126 continue;
127 }
128
129 if (cpu_is_davinci_dm646x())
130 p->iotype = UPIO_MEM32;
131
132 if (cpu_is_davinci_dm355()) {
133 if (i == 2) {
134 p->mapbase = (unsigned long)DM355_UART2_BASE;
135 p->irq = IRQ_DM355_UARTINT2;
136 }
137 }
138
139 sprintf(name, "uart%d", i);
140 uart_clk = clk_get(dev, name);
141 if (IS_ERR(uart_clk))
142 printk(KERN_ERR "%s:%d: failed to get UART%d clock\n",
143 __func__, __LINE__, i);
144 else {
145 clk_enable(uart_clk);
146 p->uartclk = clk_get_rate(uart_clk);
147 davinci_serial_reset(p);
148 }
149 }
88} 150}
89 151
90static int __init davinci_init(void) 152static int __init davinci_init(void)
91{ 153{
92 davinci_serial_reset(&serial_platform_data[0]);
93 return platform_device_register(&serial_device); 154 return platform_device_register(&serial_device);
94} 155}
95 156
diff --git a/arch/arm/mach-davinci/time.c b/arch/arm/mach-davinci/time.c
index 6c227d4ba998..494e01bff5c3 100644
--- a/arch/arm/mach-davinci/time.c
+++ b/arch/arm/mach-davinci/time.c
@@ -16,6 +16,9 @@
16#include <linux/clockchips.h> 16#include <linux/clockchips.h>
17#include <linux/spinlock.h> 17#include <linux/spinlock.h>
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/clk.h>
20#include <linux/err.h>
21#include <linux/device.h>
19 22
20#include <mach/hardware.h> 23#include <mach/hardware.h>
21#include <asm/system.h> 24#include <asm/system.h>
@@ -24,8 +27,11 @@
24#include <asm/mach/time.h> 27#include <asm/mach/time.h>
25#include <asm/errno.h> 28#include <asm/errno.h>
26#include <mach/io.h> 29#include <mach/io.h>
30#include <mach/cputype.h>
31#include "clock.h"
27 32
28static struct clock_event_device clockevent_davinci; 33static struct clock_event_device clockevent_davinci;
34static unsigned int davinci_clock_tick_rate;
29 35
30#define DAVINCI_TIMER0_BASE (IO_PHYS + 0x21400) 36#define DAVINCI_TIMER0_BASE (IO_PHYS + 0x21400)
31#define DAVINCI_TIMER1_BASE (IO_PHYS + 0x21800) 37#define DAVINCI_TIMER1_BASE (IO_PHYS + 0x21800)
@@ -99,9 +105,9 @@ struct timer_s {
99 unsigned int id; 105 unsigned int id;
100 unsigned long period; 106 unsigned long period;
101 unsigned long opts; 107 unsigned long opts;
102 unsigned long reg_base; 108 void __iomem *base;
103 unsigned long tim_reg; 109 unsigned long tim_off;
104 unsigned long prd_reg; 110 unsigned long prd_off;
105 unsigned long enamode_shift; 111 unsigned long enamode_shift;
106 struct irqaction irqaction; 112 struct irqaction irqaction;
107}; 113};
@@ -114,15 +120,15 @@ static struct timer_s timers[];
114 120
115static int timer32_config(struct timer_s *t) 121static int timer32_config(struct timer_s *t)
116{ 122{
117 u32 tcr = davinci_readl(t->reg_base + TCR); 123 u32 tcr = __raw_readl(t->base + TCR);
118 124
119 /* disable timer */ 125 /* disable timer */
120 tcr &= ~(TCR_ENAMODE_MASK << t->enamode_shift); 126 tcr &= ~(TCR_ENAMODE_MASK << t->enamode_shift);
121 davinci_writel(tcr, t->reg_base + TCR); 127 __raw_writel(tcr, t->base + TCR);
122 128
123 /* reset counter to zero, set new period */ 129 /* reset counter to zero, set new period */
124 davinci_writel(0, t->tim_reg); 130 __raw_writel(0, t->base + t->tim_off);
125 davinci_writel(t->period, t->prd_reg); 131 __raw_writel(t->period, t->base + t->prd_off);
126 132
127 /* Set enable mode */ 133 /* Set enable mode */
128 if (t->opts & TIMER_OPTS_ONESHOT) { 134 if (t->opts & TIMER_OPTS_ONESHOT) {
@@ -131,13 +137,13 @@ static int timer32_config(struct timer_s *t)
131 tcr |= TCR_ENAMODE_PERIODIC << t->enamode_shift; 137 tcr |= TCR_ENAMODE_PERIODIC << t->enamode_shift;
132 } 138 }
133 139
134 davinci_writel(tcr, t->reg_base + TCR); 140 __raw_writel(tcr, t->base + TCR);
135 return 0; 141 return 0;
136} 142}
137 143
138static inline u32 timer32_read(struct timer_s *t) 144static inline u32 timer32_read(struct timer_s *t)
139{ 145{
140 return davinci_readl(t->tim_reg); 146 return __raw_readl(t->base + t->tim_off);
141} 147}
142 148
143static irqreturn_t timer_interrupt(int irq, void *dev_id) 149static irqreturn_t timer_interrupt(int irq, void *dev_id)
@@ -176,51 +182,54 @@ static struct timer_s timers[] = {
176 182
177static void __init timer_init(void) 183static void __init timer_init(void)
178{ 184{
179 u32 bases[] = {DAVINCI_TIMER0_BASE, DAVINCI_TIMER1_BASE}; 185 u32 phys_bases[] = {DAVINCI_TIMER0_BASE, DAVINCI_TIMER1_BASE};
180 int i; 186 int i;
181 187
182 /* Global init of each 64-bit timer as a whole */ 188 /* Global init of each 64-bit timer as a whole */
183 for(i=0; i<2; i++) { 189 for(i=0; i<2; i++) {
184 u32 tgcr, base = bases[i]; 190 u32 tgcr;
191 void __iomem *base = IO_ADDRESS(phys_bases[i]);
185 192
186 /* Disabled, Internal clock source */ 193 /* Disabled, Internal clock source */
187 davinci_writel(0, base + TCR); 194 __raw_writel(0, base + TCR);
188 195
189 /* reset both timers, no pre-scaler for timer34 */ 196 /* reset both timers, no pre-scaler for timer34 */
190 tgcr = 0; 197 tgcr = 0;
191 davinci_writel(tgcr, base + TGCR); 198 __raw_writel(tgcr, base + TGCR);
192 199
193 /* Set both timers to unchained 32-bit */ 200 /* Set both timers to unchained 32-bit */
194 tgcr = TGCR_TIMMODE_32BIT_UNCHAINED << TGCR_TIMMODE_SHIFT; 201 tgcr = TGCR_TIMMODE_32BIT_UNCHAINED << TGCR_TIMMODE_SHIFT;
195 davinci_writel(tgcr, base + TGCR); 202 __raw_writel(tgcr, base + TGCR);
196 203
197 /* Unreset timers */ 204 /* Unreset timers */
198 tgcr |= (TGCR_UNRESET << TGCR_TIM12RS_SHIFT) | 205 tgcr |= (TGCR_UNRESET << TGCR_TIM12RS_SHIFT) |
199 (TGCR_UNRESET << TGCR_TIM34RS_SHIFT); 206 (TGCR_UNRESET << TGCR_TIM34RS_SHIFT);
200 davinci_writel(tgcr, base + TGCR); 207 __raw_writel(tgcr, base + TGCR);
201 208
202 /* Init both counters to zero */ 209 /* Init both counters to zero */
203 davinci_writel(0, base + TIM12); 210 __raw_writel(0, base + TIM12);
204 davinci_writel(0, base + TIM34); 211 __raw_writel(0, base + TIM34);
205 } 212 }
206 213
207 /* Init of each timer as a 32-bit timer */ 214 /* Init of each timer as a 32-bit timer */
208 for (i=0; i< ARRAY_SIZE(timers); i++) { 215 for (i=0; i< ARRAY_SIZE(timers); i++) {
209 struct timer_s *t = &timers[i]; 216 struct timer_s *t = &timers[i];
217 u32 phys_base;
210 218
211 if (t->name) { 219 if (t->name) {
212 t->id = i; 220 t->id = i;
213 t->reg_base = (IS_TIMER1(t->id) ? 221 phys_base = (IS_TIMER1(t->id) ?
214 DAVINCI_TIMER1_BASE : DAVINCI_TIMER0_BASE); 222 DAVINCI_TIMER1_BASE : DAVINCI_TIMER0_BASE);
223 t->base = IO_ADDRESS(phys_base);
215 224
216 if (IS_TIMER_BOT(t->id)) { 225 if (IS_TIMER_BOT(t->id)) {
217 t->enamode_shift = 6; 226 t->enamode_shift = 6;
218 t->tim_reg = t->reg_base + TIM12; 227 t->tim_off = TIM12;
219 t->prd_reg = t->reg_base + PRD12; 228 t->prd_off = PRD12;
220 } else { 229 } else {
221 t->enamode_shift = 22; 230 t->enamode_shift = 22;
222 t->tim_reg = t->reg_base + TIM34; 231 t->tim_off = TIM34;
223 t->prd_reg = t->reg_base + PRD34; 232 t->prd_off = PRD34;
224 } 233 }
225 234
226 /* Register interrupt */ 235 /* Register interrupt */
@@ -274,7 +283,7 @@ static void davinci_set_mode(enum clock_event_mode mode,
274 283
275 switch (mode) { 284 switch (mode) {
276 case CLOCK_EVT_MODE_PERIODIC: 285 case CLOCK_EVT_MODE_PERIODIC:
277 t->period = CLOCK_TICK_RATE / (HZ); 286 t->period = davinci_clock_tick_rate / (HZ);
278 t->opts = TIMER_OPTS_PERIODIC; 287 t->opts = TIMER_OPTS_PERIODIC;
279 timer32_config(t); 288 timer32_config(t);
280 break; 289 break;
@@ -301,21 +310,29 @@ static struct clock_event_device clockevent_davinci = {
301 310
302static void __init davinci_timer_init(void) 311static void __init davinci_timer_init(void)
303{ 312{
313 struct clk *timer_clk;
314
304 static char err[] __initdata = KERN_ERR 315 static char err[] __initdata = KERN_ERR
305 "%s: can't register clocksource!\n"; 316 "%s: can't register clocksource!\n";
306 317
307 /* init timer hw */ 318 /* init timer hw */
308 timer_init(); 319 timer_init();
309 320
321 timer_clk = clk_get(NULL, "timer0");
322 BUG_ON(IS_ERR(timer_clk));
323 clk_enable(timer_clk);
324
325 davinci_clock_tick_rate = clk_get_rate(timer_clk);
326
310 /* setup clocksource */ 327 /* setup clocksource */
311 clocksource_davinci.mult = 328 clocksource_davinci.mult =
312 clocksource_khz2mult(CLOCK_TICK_RATE/1000, 329 clocksource_khz2mult(davinci_clock_tick_rate/1000,
313 clocksource_davinci.shift); 330 clocksource_davinci.shift);
314 if (clocksource_register(&clocksource_davinci)) 331 if (clocksource_register(&clocksource_davinci))
315 printk(err, clocksource_davinci.name); 332 printk(err, clocksource_davinci.name);
316 333
317 /* setup clockevent */ 334 /* setup clockevent */
318 clockevent_davinci.mult = div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, 335 clockevent_davinci.mult = div_sc(davinci_clock_tick_rate, NSEC_PER_SEC,
319 clockevent_davinci.shift); 336 clockevent_davinci.shift);
320 clockevent_davinci.max_delta_ns = 337 clockevent_davinci.max_delta_ns =
321 clockevent_delta2ns(0xfffffffe, &clockevent_davinci); 338 clockevent_delta2ns(0xfffffffe, &clockevent_davinci);
@@ -333,42 +350,52 @@ struct sys_timer davinci_timer = {
333 350
334/* reset board using watchdog timer */ 351/* reset board using watchdog timer */
335void davinci_watchdog_reset(void) { 352void davinci_watchdog_reset(void) {
336 u32 tgcr, wdtcr, base = DAVINCI_WDOG_BASE; 353 u32 tgcr, wdtcr;
354 void __iomem *base = IO_ADDRESS(DAVINCI_WDOG_BASE);
355 struct device dev;
356 struct clk *wd_clk;
357 char *name = "watchdog";
358
359 dev_set_name(&dev, name);
360 wd_clk = clk_get(&dev, NULL);
361 if (WARN_ON(IS_ERR(wd_clk)))
362 return;
363 clk_enable(wd_clk);
337 364
338 /* disable, internal clock source */ 365 /* disable, internal clock source */
339 davinci_writel(0, base + TCR); 366 __raw_writel(0, base + TCR);
340 367
341 /* reset timer, set mode to 64-bit watchdog, and unreset */ 368 /* reset timer, set mode to 64-bit watchdog, and unreset */
342 tgcr = 0; 369 tgcr = 0;
343 davinci_writel(tgcr, base + TCR); 370 __raw_writel(tgcr, base + TCR);
344 tgcr = TGCR_TIMMODE_64BIT_WDOG << TGCR_TIMMODE_SHIFT; 371 tgcr = TGCR_TIMMODE_64BIT_WDOG << TGCR_TIMMODE_SHIFT;
345 tgcr |= (TGCR_UNRESET << TGCR_TIM12RS_SHIFT) | 372 tgcr |= (TGCR_UNRESET << TGCR_TIM12RS_SHIFT) |
346 (TGCR_UNRESET << TGCR_TIM34RS_SHIFT); 373 (TGCR_UNRESET << TGCR_TIM34RS_SHIFT);
347 davinci_writel(tgcr, base + TCR); 374 __raw_writel(tgcr, base + TCR);
348 375
349 /* clear counter and period regs */ 376 /* clear counter and period regs */
350 davinci_writel(0, base + TIM12); 377 __raw_writel(0, base + TIM12);
351 davinci_writel(0, base + TIM34); 378 __raw_writel(0, base + TIM34);
352 davinci_writel(0, base + PRD12); 379 __raw_writel(0, base + PRD12);
353 davinci_writel(0, base + PRD34); 380 __raw_writel(0, base + PRD34);
354 381
355 /* enable */ 382 /* enable */
356 wdtcr = davinci_readl(base + WDTCR); 383 wdtcr = __raw_readl(base + WDTCR);
357 wdtcr |= WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT; 384 wdtcr |= WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT;
358 davinci_writel(wdtcr, base + WDTCR); 385 __raw_writel(wdtcr, base + WDTCR);
359 386
360 /* put watchdog in pre-active state */ 387 /* put watchdog in pre-active state */
361 wdtcr = (WDTCR_WDKEY_SEQ0 << WDTCR_WDKEY_SHIFT) | 388 wdtcr = (WDTCR_WDKEY_SEQ0 << WDTCR_WDKEY_SHIFT) |
362 (WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT); 389 (WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT);
363 davinci_writel(wdtcr, base + WDTCR); 390 __raw_writel(wdtcr, base + WDTCR);
364 391
365 /* put watchdog in active state */ 392 /* put watchdog in active state */
366 wdtcr = (WDTCR_WDKEY_SEQ1 << WDTCR_WDKEY_SHIFT) | 393 wdtcr = (WDTCR_WDKEY_SEQ1 << WDTCR_WDKEY_SHIFT) |
367 (WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT); 394 (WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT);
368 davinci_writel(wdtcr, base + WDTCR); 395 __raw_writel(wdtcr, base + WDTCR);
369 396
370 /* write an invalid value to the WDKEY field to trigger 397 /* write an invalid value to the WDKEY field to trigger
371 * a watchdog reset */ 398 * a watchdog reset */
372 wdtcr = 0x00004000; 399 wdtcr = 0x00004000;
373 davinci_writel(wdtcr, base + WDTCR); 400 __raw_writel(wdtcr, base + WDTCR);
374} 401}
diff --git a/arch/arm/mach-davinci/usb.c b/arch/arm/mach-davinci/usb.c
index 2429b79f6da2..abedb6337182 100644
--- a/arch/arm/mach-davinci/usb.c
+++ b/arch/arm/mach-davinci/usb.c
@@ -14,6 +14,8 @@
14#include <mach/hardware.h> 14#include <mach/hardware.h>
15#include <mach/irqs.h> 15#include <mach/irqs.h>
16 16
17#define DAVINCI_USB_OTG_BASE 0x01C64000
18
17#if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) 19#if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE)
18static struct musb_hdrc_eps_bits musb_eps[] = { 20static struct musb_hdrc_eps_bits musb_eps[] = {
19 { "ep1_tx", 8, }, 21 { "ep1_tx", 8, },
diff --git a/arch/arm/mach-ixp4xx/ixp4xx_npe.c b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
index 252310234903..7bb8e778e4b6 100644
--- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c
+++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
@@ -714,7 +714,7 @@ static int __init npe_init_module(void)
714 } 714 }
715 715
716 if (!found) 716 if (!found)
717 return -ENOSYS; 717 return -ENODEV;
718 return 0; 718 return 0;
719} 719}
720 720
diff --git a/arch/arm/mach-omap1/board-h2-mmc.c b/arch/arm/mach-omap1/board-h2-mmc.c
index 44d4a966bed9..46098f546824 100644
--- a/arch/arm/mach-omap1/board-h2-mmc.c
+++ b/arch/arm/mach-omap1/board-h2-mmc.c
@@ -26,19 +26,13 @@
26static int mmc_set_power(struct device *dev, int slot, int power_on, 26static int mmc_set_power(struct device *dev, int slot, int power_on,
27 int vdd) 27 int vdd)
28{ 28{
29 if (power_on) 29 gpio_set_value(H2_TPS_GPIO_MMC_PWR_EN, power_on);
30 gpio_direction_output(H2_TPS_GPIO_MMC_PWR_EN, 1);
31 else
32 gpio_direction_output(H2_TPS_GPIO_MMC_PWR_EN, 0);
33
34 return 0; 30 return 0;
35} 31}
36 32
37static int mmc_late_init(struct device *dev) 33static int mmc_late_init(struct device *dev)
38{ 34{
39 int ret; 35 int ret = gpio_request(H2_TPS_GPIO_MMC_PWR_EN, "MMC power");
40
41 ret = gpio_request(H2_TPS_GPIO_MMC_PWR_EN, "MMC power");
42 if (ret < 0) 36 if (ret < 0)
43 return ret; 37 return ret;
44 38
@@ -47,7 +41,7 @@ static int mmc_late_init(struct device *dev)
47 return ret; 41 return ret;
48} 42}
49 43
50static void mmc_shutdown(struct device *dev) 44static void mmc_cleanup(struct device *dev)
51{ 45{
52 gpio_free(H2_TPS_GPIO_MMC_PWR_EN); 46 gpio_free(H2_TPS_GPIO_MMC_PWR_EN);
53} 47}
@@ -60,7 +54,7 @@ static void mmc_shutdown(struct device *dev)
60static struct omap_mmc_platform_data mmc1_data = { 54static struct omap_mmc_platform_data mmc1_data = {
61 .nr_slots = 1, 55 .nr_slots = 1,
62 .init = mmc_late_init, 56 .init = mmc_late_init,
63 .shutdown = mmc_shutdown, 57 .cleanup = mmc_cleanup,
64 .dma_mask = 0xffffffff, 58 .dma_mask = 0xffffffff,
65 .slots[0] = { 59 .slots[0] = {
66 .set_power = mmc_set_power, 60 .set_power = mmc_set_power,
diff --git a/arch/arm/mach-omap1/board-h3-mmc.c b/arch/arm/mach-omap1/board-h3-mmc.c
index 0d8a3c195e2e..5e8877ce35e0 100644
--- a/arch/arm/mach-omap1/board-h3-mmc.c
+++ b/arch/arm/mach-omap1/board-h3-mmc.c
@@ -26,11 +26,7 @@
26static int mmc_set_power(struct device *dev, int slot, int power_on, 26static int mmc_set_power(struct device *dev, int slot, int power_on,
27 int vdd) 27 int vdd)
28{ 28{
29 if (power_on) 29 gpio_set_value(H3_TPS_GPIO_MMC_PWR_EN, power_on);
30 gpio_direction_output(H3_TPS_GPIO_MMC_PWR_EN, 1);
31 else
32 gpio_direction_output(H3_TPS_GPIO_MMC_PWR_EN, 0);
33
34 return 0; 30 return 0;
35} 31}
36 32
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
index 4695965114c4..f597968733b4 100644
--- a/arch/arm/mach-omap1/board-h3.c
+++ b/arch/arm/mach-omap1/board-h3.c
@@ -39,12 +39,10 @@
39#include <asm/mach/flash.h> 39#include <asm/mach/flash.h>
40#include <asm/mach/map.h> 40#include <asm/mach/map.h>
41 41
42#include <mach/gpioexpander.h>
43#include <mach/irqs.h> 42#include <mach/irqs.h>
44#include <mach/mux.h> 43#include <mach/mux.h>
45#include <mach/tc.h> 44#include <mach/tc.h>
46#include <mach/nand.h> 45#include <mach/nand.h>
47#include <mach/irda.h>
48#include <mach/usb.h> 46#include <mach/usb.h>
49#include <mach/keypad.h> 47#include <mach/keypad.h>
50#include <mach/dma.h> 48#include <mach/dma.h>
@@ -276,104 +274,6 @@ static struct platform_device h3_kp_device = {
276 .resource = h3_kp_resources, 274 .resource = h3_kp_resources,
277}; 275};
278 276
279
280/* Select between the IrDA and aGPS module
281 */
282static int h3_select_irda(struct device *dev, int state)
283{
284 unsigned char expa;
285 int err = 0;
286
287 if ((err = read_gpio_expa(&expa, 0x26))) {
288 printk(KERN_ERR "Error reading from I/O EXPANDER \n");
289 return err;
290 }
291
292 /* 'P6' enable/disable IRDA_TX and IRDA_RX */
293 if (state & IR_SEL) { /* IrDA */
294 if ((err = write_gpio_expa(expa | 0x40, 0x26))) {
295 printk(KERN_ERR "Error writing to I/O EXPANDER \n");
296 return err;
297 }
298 } else {
299 if ((err = write_gpio_expa(expa & ~0x40, 0x26))) {
300 printk(KERN_ERR "Error writing to I/O EXPANDER \n");
301 return err;
302 }
303 }
304 return err;
305}
306
307static void set_trans_mode(struct work_struct *work)
308{
309 struct omap_irda_config *irda_config =
310 container_of(work, struct omap_irda_config, gpio_expa.work);
311 int mode = irda_config->mode;
312 unsigned char expa;
313 int err = 0;
314
315 if ((err = read_gpio_expa(&expa, 0x27)) != 0) {
316 printk(KERN_ERR "Error reading from I/O expander\n");
317 }
318
319 expa &= ~0x03;
320
321 if (mode & IR_SIRMODE) {
322 expa |= 0x01;
323 } else { /* MIR/FIR */
324 expa |= 0x03;
325 }
326
327 if ((err = write_gpio_expa(expa, 0x27)) != 0) {
328 printk(KERN_ERR "Error writing to I/O expander\n");
329 }
330}
331
332static int h3_transceiver_mode(struct device *dev, int mode)
333{
334 struct omap_irda_config *irda_config = dev->platform_data;
335
336 irda_config->mode = mode;
337 cancel_delayed_work(&irda_config->gpio_expa);
338 PREPARE_DELAYED_WORK(&irda_config->gpio_expa, set_trans_mode);
339 schedule_delayed_work(&irda_config->gpio_expa, 0);
340
341 return 0;
342}
343
344static struct omap_irda_config h3_irda_data = {
345 .transceiver_cap = IR_SIRMODE | IR_MIRMODE | IR_FIRMODE,
346 .transceiver_mode = h3_transceiver_mode,
347 .select_irda = h3_select_irda,
348 .rx_channel = OMAP_DMA_UART3_RX,
349 .tx_channel = OMAP_DMA_UART3_TX,
350 .dest_start = UART3_THR,
351 .src_start = UART3_RHR,
352 .tx_trigger = 0,
353 .rx_trigger = 0,
354};
355
356static struct resource h3_irda_resources[] = {
357 [0] = {
358 .start = INT_UART3,
359 .end = INT_UART3,
360 .flags = IORESOURCE_IRQ,
361 },
362};
363
364static u64 irda_dmamask = 0xffffffff;
365
366static struct platform_device h3_irda_device = {
367 .name = "omapirda",
368 .id = 0,
369 .dev = {
370 .platform_data = &h3_irda_data,
371 .dma_mask = &irda_dmamask,
372 },
373 .num_resources = ARRAY_SIZE(h3_irda_resources),
374 .resource = h3_irda_resources,
375};
376
377static struct platform_device h3_lcd_device = { 277static struct platform_device h3_lcd_device = {
378 .name = "lcd_h3", 278 .name = "lcd_h3",
379 .id = -1, 279 .id = -1,
@@ -395,7 +295,6 @@ static struct platform_device *devices[] __initdata = {
395 &nand_device, 295 &nand_device,
396 &smc91x_device, 296 &smc91x_device,
397 &intlat_device, 297 &intlat_device,
398 &h3_irda_device,
399 &h3_kp_device, 298 &h3_kp_device,
400 &h3_lcd_device, 299 &h3_lcd_device,
401}; 300};
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
index 7bc7a3cb9c51..d1ed1365319e 100644
--- a/arch/arm/mach-omap1/board-nokia770.c
+++ b/arch/arm/mach-omap1/board-nokia770.c
@@ -181,11 +181,7 @@ static struct omap_usb_config nokia770_usb_config __initdata = {
181static int nokia770_mmc_set_power(struct device *dev, int slot, int power_on, 181static int nokia770_mmc_set_power(struct device *dev, int slot, int power_on,
182 int vdd) 182 int vdd)
183{ 183{
184 if (power_on) 184 gpio_set_value(NOKIA770_GPIO_MMC_POWER, power_on);
185 gpio_set_value(NOKIA770_GPIO_MMC_POWER, 1);
186 else
187 gpio_set_value(NOKIA770_GPIO_MMC_POWER, 0);
188
189 return 0; 185 return 0;
190} 186}
191 187
diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
index d040c3f1027f..a2d7814896be 100644
--- a/arch/arm/mach-omap1/mcbsp.c
+++ b/arch/arm/mach-omap1/mcbsp.c
@@ -40,8 +40,8 @@ static void omap1_mcbsp_request(unsigned int id)
40 */ 40 */
41 if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3) { 41 if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3) {
42 if (dsp_use++ == 0) { 42 if (dsp_use++ == 0) {
43 api_clk = clk_get(NULL, "api_clk"); 43 api_clk = clk_get(NULL, "api_ck");
44 dsp_clk = clk_get(NULL, "dsp_clk"); 44 dsp_clk = clk_get(NULL, "dsp_ck");
45 if (!IS_ERR(api_clk) && !IS_ERR(dsp_clk)) { 45 if (!IS_ERR(api_clk) && !IS_ERR(dsp_clk)) {
46 clk_enable(api_clk); 46 clk_enable(api_clk);
47 clk_enable(dsp_clk); 47 clk_enable(dsp_clk);
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index a0267a9ab466..e7d017cdc438 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -33,10 +33,8 @@
33 33
34#include <mach/control.h> 34#include <mach/control.h>
35#include <mach/gpio.h> 35#include <mach/gpio.h>
36#include <mach/gpioexpander.h>
37#include <mach/mux.h> 36#include <mach/mux.h>
38#include <mach/usb.h> 37#include <mach/usb.h>
39#include <mach/irda.h>
40#include <mach/board.h> 38#include <mach/board.h>
41#include <mach/common.h> 39#include <mach/common.h>
42#include <mach/keypad.h> 40#include <mach/keypad.h>
@@ -138,98 +136,6 @@ static struct platform_device h4_flash_device = {
138 .resource = &h4_flash_resource, 136 .resource = &h4_flash_resource,
139}; 137};
140 138
141/* Select between the IrDA and aGPS module
142 */
143static int h4_select_irda(struct device *dev, int state)
144{
145 unsigned char expa;
146 int err = 0;
147
148 if ((err = read_gpio_expa(&expa, 0x21))) {
149 printk(KERN_ERR "Error reading from I/O expander\n");
150 return err;
151 }
152
153 /* 'P6' enable/disable IRDA_TX and IRDA_RX */
154 if (state & IR_SEL) { /* IrDa */
155 if ((err = write_gpio_expa(expa | 0x01, 0x21))) {
156 printk(KERN_ERR "Error writing to I/O expander\n");
157 return err;
158 }
159 } else {
160 if ((err = write_gpio_expa(expa & ~0x01, 0x21))) {
161 printk(KERN_ERR "Error writing to I/O expander\n");
162 return err;
163 }
164 }
165 return err;
166}
167
168static void set_trans_mode(struct work_struct *work)
169{
170 struct omap_irda_config *irda_config =
171 container_of(work, struct omap_irda_config, gpio_expa.work);
172 int mode = irda_config->mode;
173 unsigned char expa;
174 int err = 0;
175
176 if ((err = read_gpio_expa(&expa, 0x20)) != 0) {
177 printk(KERN_ERR "Error reading from I/O expander\n");
178 }
179
180 expa &= ~0x01;
181
182 if (!(mode & IR_SIRMODE)) { /* MIR/FIR */
183 expa |= 0x01;
184 }
185
186 if ((err = write_gpio_expa(expa, 0x20)) != 0) {
187 printk(KERN_ERR "Error writing to I/O expander\n");
188 }
189}
190
191static int h4_transceiver_mode(struct device *dev, int mode)
192{
193 struct omap_irda_config *irda_config = dev->platform_data;
194
195 irda_config->mode = mode;
196 cancel_delayed_work(&irda_config->gpio_expa);
197 PREPARE_DELAYED_WORK(&irda_config->gpio_expa, set_trans_mode);
198 schedule_delayed_work(&irda_config->gpio_expa, 0);
199
200 return 0;
201}
202
203static struct omap_irda_config h4_irda_data = {
204 .transceiver_cap = IR_SIRMODE | IR_MIRMODE | IR_FIRMODE,
205 .transceiver_mode = h4_transceiver_mode,
206 .select_irda = h4_select_irda,
207 .rx_channel = OMAP24XX_DMA_UART3_RX,
208 .tx_channel = OMAP24XX_DMA_UART3_TX,
209 .dest_start = OMAP_UART3_BASE,
210 .src_start = OMAP_UART3_BASE,
211 .tx_trigger = OMAP24XX_DMA_UART3_TX,
212 .rx_trigger = OMAP24XX_DMA_UART3_RX,
213};
214
215static struct resource h4_irda_resources[] = {
216 [0] = {
217 .start = INT_24XX_UART3_IRQ,
218 .end = INT_24XX_UART3_IRQ,
219 .flags = IORESOURCE_IRQ,
220 },
221};
222
223static struct platform_device h4_irda_device = {
224 .name = "omapirda",
225 .id = -1,
226 .dev = {
227 .platform_data = &h4_irda_data,
228 },
229 .num_resources = 1,
230 .resource = h4_irda_resources,
231};
232
233static struct omap_kp_platform_data h4_kp_data = { 139static struct omap_kp_platform_data h4_kp_data = {
234 .rows = 6, 140 .rows = 6,
235 .cols = 7, 141 .cols = 7,
@@ -255,7 +161,6 @@ static struct platform_device h4_lcd_device = {
255 161
256static struct platform_device *h4_devices[] __initdata = { 162static struct platform_device *h4_devices[] __initdata = {
257 &h4_flash_device, 163 &h4_flash_device,
258 &h4_irda_device,
259 &h4_kp_device, 164 &h4_kp_device,
260 &h4_lcd_device, 165 &h4_lcd_device,
261}; 166};
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 744740ae1b9c..3a7a29d1f9a7 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -42,6 +42,7 @@
42#include <mach/nand.h> 42#include <mach/nand.h>
43#include <mach/mux.h> 43#include <mach/mux.h>
44#include <mach/usb.h> 44#include <mach/usb.h>
45#include <mach/timer-gp.h>
45 46
46#include "mmc-twl4030.h" 47#include "mmc-twl4030.h"
47 48
@@ -186,6 +187,9 @@ static void __init omap3_beagle_init_irq(void)
186{ 187{
187 omap2_init_common_hw(NULL); 188 omap2_init_common_hw(NULL);
188 omap_init_irq(); 189 omap_init_irq();
190#ifdef CONFIG_OMAP_32K_TIMER
191 omap2_gp_clockevent_set_gptimer(12);
192#endif
189 omap_gpio_init(); 193 omap_gpio_init();
190} 194}
191 195
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
index 3a0daac6c839..374ff63c3eb2 100644
--- a/arch/arm/mach-omap2/board-rx51.c
+++ b/arch/arm/mach-omap2/board-rx51.c
@@ -15,7 +15,6 @@
15#include <linux/err.h> 15#include <linux/err.h>
16#include <linux/clk.h> 16#include <linux/clk.h>
17#include <linux/io.h> 17#include <linux/io.h>
18#include <linux/delay.h>
19#include <linux/gpio.h> 18#include <linux/gpio.h>
20 19
21#include <mach/hardware.h> 20#include <mach/hardware.h>
diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c
index 1e839c5a28c5..efc59c49341b 100644
--- a/arch/arm/mach-omap2/clock24xx.c
+++ b/arch/arm/mach-omap2/clock24xx.c
@@ -60,12 +60,13 @@ struct omap_clk {
60 }, \ 60 }, \
61 } 61 }
62 62
63#define CK_243X (1 << 0) 63#define CK_243X RATE_IN_243X
64#define CK_242X (1 << 1) 64#define CK_242X RATE_IN_242X
65 65
66static struct omap_clk omap24xx_clks[] = { 66static struct omap_clk omap24xx_clks[] = {
67 /* external root sources */ 67 /* external root sources */
68 CLK(NULL, "func_32k_ck", &func_32k_ck, CK_243X | CK_242X), 68 CLK(NULL, "func_32k_ck", &func_32k_ck, CK_243X | CK_242X),
69 CLK(NULL, "secure_32k_ck", &secure_32k_ck, CK_243X | CK_242X),
69 CLK(NULL, "osc_ck", &osc_ck, CK_243X | CK_242X), 70 CLK(NULL, "osc_ck", &osc_ck, CK_243X | CK_242X),
70 CLK(NULL, "sys_ck", &sys_ck, CK_243X | CK_242X), 71 CLK(NULL, "sys_ck", &sys_ck, CK_243X | CK_242X),
71 CLK(NULL, "alt_ck", &alt_ck, CK_243X | CK_242X), 72 CLK(NULL, "alt_ck", &alt_ck, CK_243X | CK_242X),
@@ -711,7 +712,7 @@ int __init omap2_clk_init(void)
711{ 712{
712 struct prcm_config *prcm; 713 struct prcm_config *prcm;
713 struct omap_clk *c; 714 struct omap_clk *c;
714 u32 clkrate, cpu_mask; 715 u32 clkrate;
715 716
716 if (cpu_is_omap242x()) 717 if (cpu_is_omap242x())
717 cpu_mask = RATE_IN_242X; 718 cpu_mask = RATE_IN_242X;
@@ -720,21 +721,15 @@ int __init omap2_clk_init(void)
720 721
721 clk_init(&omap2_clk_functions); 722 clk_init(&omap2_clk_functions);
722 723
724 for (c = omap24xx_clks; c < omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++)
725 clk_init_one(c->lk.clk);
726
723 osc_ck.rate = omap2_osc_clk_recalc(&osc_ck); 727 osc_ck.rate = omap2_osc_clk_recalc(&osc_ck);
724 propagate_rate(&osc_ck); 728 propagate_rate(&osc_ck);
725 sys_ck.rate = omap2_sys_clk_recalc(&sys_ck); 729 sys_ck.rate = omap2_sys_clk_recalc(&sys_ck);
726 propagate_rate(&sys_ck); 730 propagate_rate(&sys_ck);
727 731
728 for (c = omap24xx_clks; c < omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) 732 for (c = omap24xx_clks; c < omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++)
729 clk_init_one(c->lk.clk);
730
731 cpu_mask = 0;
732 if (cpu_is_omap2420())
733 cpu_mask |= CK_242X;
734 if (cpu_is_omap2430())
735 cpu_mask |= CK_243X;
736
737 for (c = omap24xx_clks; c < omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++)
738 if (c->cpu & cpu_mask) { 733 if (c->cpu & cpu_mask) {
739 clkdev_add(&c->lk); 734 clkdev_add(&c->lk);
740 clk_register(c->lk.clk); 735 clk_register(c->lk.clk);
diff --git a/arch/arm/mach-omap2/clock24xx.h b/arch/arm/mach-omap2/clock24xx.h
index 33c3e5b14323..88c5acb40fcf 100644
--- a/arch/arm/mach-omap2/clock24xx.h
+++ b/arch/arm/mach-omap2/clock24xx.h
@@ -625,6 +625,14 @@ static struct clk func_32k_ck = {
625 .clkdm_name = "wkup_clkdm", 625 .clkdm_name = "wkup_clkdm",
626}; 626};
627 627
628static struct clk secure_32k_ck = {
629 .name = "secure_32k_ck",
630 .ops = &clkops_null,
631 .rate = 32768,
632 .flags = RATE_FIXED,
633 .clkdm_name = "wkup_clkdm",
634};
635
628/* Typical 12/13MHz in standalone mode, will be 26Mhz in chassis mode */ 636/* Typical 12/13MHz in standalone mode, will be 26Mhz in chassis mode */
629static struct clk osc_ck = { /* (*12, *13, 19.2, *26, 38.4)MHz */ 637static struct clk osc_ck = { /* (*12, *13, 19.2, *26, 38.4)MHz */
630 .name = "osc_ck", 638 .name = "osc_ck",
@@ -1790,7 +1798,7 @@ static struct clk gpt12_ick = {
1790static struct clk gpt12_fck = { 1798static struct clk gpt12_fck = {
1791 .name = "gpt12_fck", 1799 .name = "gpt12_fck",
1792 .ops = &clkops_omap2_dflt_wait, 1800 .ops = &clkops_omap2_dflt_wait,
1793 .parent = &func_32k_ck, 1801 .parent = &secure_32k_ck,
1794 .clkdm_name = "core_l4_clkdm", 1802 .clkdm_name = "core_l4_clkdm",
1795 .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1), 1803 .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
1796 .enable_bit = OMAP24XX_EN_GPT12_SHIFT, 1804 .enable_bit = OMAP24XX_EN_GPT12_SHIFT,
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index 70ec10deb654..6763b8f73028 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -2052,7 +2052,7 @@ static struct clk dss_ick = {
2052 2052
2053static struct clk cam_mclk = { 2053static struct clk cam_mclk = {
2054 .name = "cam_mclk", 2054 .name = "cam_mclk",
2055 .ops = &clkops_omap2_dflt_wait, 2055 .ops = &clkops_omap2_dflt,
2056 .parent = &dpll4_m5x2_ck, 2056 .parent = &dpll4_m5x2_ck,
2057 .enable_reg = OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_FCLKEN), 2057 .enable_reg = OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_FCLKEN),
2058 .enable_bit = OMAP3430_EN_CAM_SHIFT, 2058 .enable_bit = OMAP3430_EN_CAM_SHIFT,
@@ -2063,7 +2063,7 @@ static struct clk cam_mclk = {
2063static struct clk cam_ick = { 2063static struct clk cam_ick = {
2064 /* Handles both L3 and L4 clocks */ 2064 /* Handles both L3 and L4 clocks */
2065 .name = "cam_ick", 2065 .name = "cam_ick",
2066 .ops = &clkops_omap2_dflt_wait, 2066 .ops = &clkops_omap2_dflt,
2067 .parent = &l4_ick, 2067 .parent = &l4_ick,
2068 .init = &omap2_init_clk_clkdm, 2068 .init = &omap2_init_clk_clkdm,
2069 .enable_reg = OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_ICLKEN), 2069 .enable_reg = OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_ICLKEN),
@@ -2074,7 +2074,7 @@ static struct clk cam_ick = {
2074 2074
2075static struct clk csi2_96m_fck = { 2075static struct clk csi2_96m_fck = {
2076 .name = "csi2_96m_fck", 2076 .name = "csi2_96m_fck",
2077 .ops = &clkops_omap2_dflt_wait, 2077 .ops = &clkops_omap2_dflt,
2078 .parent = &core_96m_fck, 2078 .parent = &core_96m_fck,
2079 .init = &omap2_init_clk_clkdm, 2079 .init = &omap2_init_clk_clkdm,
2080 .enable_reg = OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_FCLKEN), 2080 .enable_reg = OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_FCLKEN),
@@ -2901,7 +2901,6 @@ static struct clk sr_l4_ick = {
2901 2901
2902/* SECURE_32K_FCK clocks */ 2902/* SECURE_32K_FCK clocks */
2903 2903
2904/* XXX This clock no longer exists in 3430 TRM rev F */
2905static struct clk gpt12_fck = { 2904static struct clk gpt12_fck = {
2906 .name = "gpt12_fck", 2905 .name = "gpt12_fck",
2907 .ops = &clkops_null, 2906 .ops = &clkops_null,
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index d6b4b2f8722f..496983ade97e 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -25,7 +25,6 @@
25#include <mach/board.h> 25#include <mach/board.h>
26#include <mach/mux.h> 26#include <mach/mux.h>
27#include <mach/gpio.h> 27#include <mach/gpio.h>
28#include <mach/eac.h>
29#include <mach/mmc.h> 28#include <mach/mmc.h>
30 29
31#if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE) 30#if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
@@ -366,38 +365,6 @@ static void omap_init_mcspi(void)
366static inline void omap_init_mcspi(void) {} 365static inline void omap_init_mcspi(void) {}
367#endif 366#endif
368 367
369#ifdef CONFIG_SND_OMAP24XX_EAC
370
371#define OMAP2_EAC_BASE 0x48090000
372
373static struct resource omap2_eac_resources[] = {
374 {
375 .start = OMAP2_EAC_BASE,
376 .end = OMAP2_EAC_BASE + 0x109,
377 .flags = IORESOURCE_MEM,
378 },
379};
380
381static struct platform_device omap2_eac_device = {
382 .name = "omap24xx-eac",
383 .id = -1,
384 .num_resources = ARRAY_SIZE(omap2_eac_resources),
385 .resource = omap2_eac_resources,
386 .dev = {
387 .platform_data = NULL,
388 },
389};
390
391void omap_init_eac(struct eac_platform_data *pdata)
392{
393 omap2_eac_device.dev.platform_data = pdata;
394 platform_device_register(&omap2_eac_device);
395}
396
397#else
398void omap_init_eac(struct eac_platform_data *pdata) {}
399#endif
400
401#ifdef CONFIG_OMAP_SHA1_MD5 368#ifdef CONFIG_OMAP_SHA1_MD5
402static struct resource sha1_md5_resources[] = { 369static struct resource sha1_md5_resources[] = {
403 { 370 {
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 9ba20d985dda..998c5c45587e 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -73,9 +73,9 @@ static int omap_check_spurious(unsigned int irq)
73 u32 sir, spurious; 73 u32 sir, spurious;
74 74
75 sir = intc_bank_read_reg(&irq_banks[0], INTC_SIR); 75 sir = intc_bank_read_reg(&irq_banks[0], INTC_SIR);
76 spurious = sir >> 6; 76 spurious = sir >> 7;
77 77
78 if (spurious > 1) { 78 if (spurious) {
79 printk(KERN_WARNING "Spurious irq %i: 0x%08x, please flush " 79 printk(KERN_WARNING "Spurious irq %i: 0x%08x, please flush "
80 "posted write for irq %i\n", 80 "posted write for irq %i\n",
81 irq, sir, previous_irq); 81 irq, sir, previous_irq);
diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
index 1cb2c0909c2b..f36aba12090e 100644
--- a/arch/arm/mach-omap2/timer-gp.c
+++ b/arch/arm/mach-omap2/timer-gp.c
@@ -3,6 +3,8 @@
3 * 3 *
4 * OMAP2 GP timer support. 4 * OMAP2 GP timer support.
5 * 5 *
6 * Copyright (C) 2009 Nokia Corporation
7 *
6 * Update to use new clocksource/clockevent layers 8 * Update to use new clocksource/clockevent layers
7 * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com> 9 * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com>
8 * Copyright (C) 2007 MontaVista Software, Inc. 10 * Copyright (C) 2007 MontaVista Software, Inc.
@@ -36,8 +38,13 @@
36#include <asm/mach/time.h> 38#include <asm/mach/time.h>
37#include <mach/dmtimer.h> 39#include <mach/dmtimer.h>
38 40
41/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
42#define MAX_GPTIMER_ID 12
43
39static struct omap_dm_timer *gptimer; 44static struct omap_dm_timer *gptimer;
40static struct clock_event_device clockevent_gpt; 45static struct clock_event_device clockevent_gpt;
46static u8 __initdata gptimer_id = 1;
47static u8 __initdata inited;
41 48
42static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id) 49static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
43{ 50{
@@ -95,20 +102,53 @@ static struct clock_event_device clockevent_gpt = {
95 .set_mode = omap2_gp_timer_set_mode, 102 .set_mode = omap2_gp_timer_set_mode,
96}; 103};
97 104
105/**
106 * omap2_gp_clockevent_set_gptimer - set which GPTIMER is used for clockevents
107 * @id: GPTIMER to use (1..MAX_GPTIMER_ID)
108 *
109 * Define the GPTIMER that the system should use for the tick timer.
110 * Meant to be called from board-*.c files in the event that GPTIMER1, the
111 * default, is unsuitable. Returns -EINVAL on error or 0 on success.
112 */
113int __init omap2_gp_clockevent_set_gptimer(u8 id)
114{
115 if (id < 1 || id > MAX_GPTIMER_ID)
116 return -EINVAL;
117
118 BUG_ON(inited);
119
120 gptimer_id = id;
121
122 return 0;
123}
124
98static void __init omap2_gp_clockevent_init(void) 125static void __init omap2_gp_clockevent_init(void)
99{ 126{
100 u32 tick_rate; 127 u32 tick_rate;
128 int src;
129
130 inited = 1;
101 131
102 gptimer = omap_dm_timer_request_specific(1); 132 gptimer = omap_dm_timer_request_specific(gptimer_id);
103 BUG_ON(gptimer == NULL); 133 BUG_ON(gptimer == NULL);
104 134
105#if defined(CONFIG_OMAP_32K_TIMER) 135#if defined(CONFIG_OMAP_32K_TIMER)
106 omap_dm_timer_set_source(gptimer, OMAP_TIMER_SRC_32_KHZ); 136 src = OMAP_TIMER_SRC_32_KHZ;
107#else 137#else
108 omap_dm_timer_set_source(gptimer, OMAP_TIMER_SRC_SYS_CLK); 138 src = OMAP_TIMER_SRC_SYS_CLK;
139 WARN(gptimer_id == 12, "WARNING: GPTIMER12 can only use the "
140 "secure 32KiHz clock source\n");
109#endif 141#endif
142
143 if (gptimer_id != 12)
144 WARN(IS_ERR_VALUE(omap_dm_timer_set_source(gptimer, src)),
145 "timer-gp: omap_dm_timer_set_source() failed\n");
146
110 tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer)); 147 tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer));
111 148
149 pr_info("OMAP clockevent source: GPTIMER%d at %u Hz\n",
150 gptimer_id, tick_rate);
151
112 omap2_gp_timer_irq.dev_id = (void *)gptimer; 152 omap2_gp_timer_irq.dev_id = (void *)gptimer;
113 setup_irq(omap_dm_timer_get_irq(gptimer), &omap2_gp_timer_irq); 153 setup_irq(omap_dm_timer_get_irq(gptimer), &omap2_gp_timer_irq);
114 omap_dm_timer_set_int_enable(gptimer, OMAP_TIMER_INT_OVERFLOW); 154 omap_dm_timer_set_int_enable(gptimer, OMAP_TIMER_INT_OVERFLOW);
@@ -125,6 +165,8 @@ static void __init omap2_gp_clockevent_init(void)
125 clockevents_register_device(&clockevent_gpt); 165 clockevents_register_device(&clockevent_gpt);
126} 166}
127 167
168/* Clocksource code */
169
128#ifdef CONFIG_OMAP_32K_TIMER 170#ifdef CONFIG_OMAP_32K_TIMER
129/* 171/*
130 * When 32k-timer is enabled, don't use GPTimer for clocksource 172 * When 32k-timer is enabled, don't use GPTimer for clocksource
diff --git a/arch/arm/mach-omap2/usb-tusb6010.c b/arch/arm/mach-omap2/usb-tusb6010.c
index 15e509013def..8df55f40f4c0 100644
--- a/arch/arm/mach-omap2/usb-tusb6010.c
+++ b/arch/arm/mach-omap2/usb-tusb6010.c
@@ -187,7 +187,7 @@ int tusb6010_platform_retime(unsigned is_refclk)
187 unsigned sysclk_ps; 187 unsigned sysclk_ps;
188 int status; 188 int status;
189 189
190 if (!refclk_psec) 190 if (!refclk_psec || sysclk_ps == 0)
191 return -ENODEV; 191 return -ENODEV;
192 192
193 sysclk_ps = is_refclk ? refclk_psec : TUSB6010_OSCCLK_60; 193 sysclk_ps = is_refclk ? refclk_psec : TUSB6010_OSCCLK_60;
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 3e66d9099eab..17d3fbd368a3 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -289,12 +289,12 @@ config MACH_LITTLETON
289config MACH_TAVOREVB 289config MACH_TAVOREVB
290 bool "PXA930 Evaluation Board (aka TavorEVB)" 290 bool "PXA930 Evaluation Board (aka TavorEVB)"
291 select PXA3xx 291 select PXA3xx
292 select PXA930 292 select CPU_PXA930
293 293
294config MACH_SAAR 294config MACH_SAAR
295 bool "PXA930 Handheld Platform (aka SAAR)" 295 bool "PXA930 Handheld Platform (aka SAAR)"
296 select PXA3xx 296 select PXA3xx
297 select PXA930 297 select CPU_PXA930
298 298
299config MACH_ARMCORE 299config MACH_ARMCORE
300 bool "CompuLab CM-X255/CM-X270 modules" 300 bool "CompuLab CM-X255/CM-X270 modules"
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c
index cdf21dd135b4..930e364ccde9 100644
--- a/arch/arm/mach-pxa/corgi.c
+++ b/arch/arm/mach-pxa/corgi.c
@@ -427,12 +427,22 @@ static struct pxa2xx_spi_master corgi_spi_info = {
427 .num_chipselect = 3, 427 .num_chipselect = 3,
428}; 428};
429 429
430static void corgi_wait_for_hsync(void)
431{
432 while (gpio_get_value(CORGI_GPIO_HSYNC))
433 cpu_relax();
434
435 while (!gpio_get_value(CORGI_GPIO_HSYNC))
436 cpu_relax();
437}
438
430static struct ads7846_platform_data corgi_ads7846_info = { 439static struct ads7846_platform_data corgi_ads7846_info = {
431 .model = 7846, 440 .model = 7846,
432 .vref_delay_usecs = 100, 441 .vref_delay_usecs = 100,
433 .x_plate_ohms = 419, 442 .x_plate_ohms = 419,
434 .y_plate_ohms = 486, 443 .y_plate_ohms = 486,
435 .gpio_pendown = CORGI_GPIO_TP_INT, 444 .gpio_pendown = CORGI_GPIO_TP_INT,
445 .wait_for_sync = corgi_wait_for_hsync,
436}; 446};
437 447
438static void corgi_ads7846_cs(u32 command) 448static void corgi_ads7846_cs(u32 command)
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c
index e13f6a81c223..c872b9feb4d4 100644
--- a/arch/arm/mach-pxa/littleton.c
+++ b/arch/arm/mach-pxa/littleton.c
@@ -334,6 +334,11 @@ static struct led_info littleton_da9034_leds[] = {
334 }, 334 },
335}; 335};
336 336
337static struct da9034_touch_pdata littleton_da9034_touch = {
338 .x_inverted = 1,
339 .interval_ms = 20,
340};
341
337static struct da903x_subdev_info littleton_da9034_subdevs[] = { 342static struct da903x_subdev_info littleton_da9034_subdevs[] = {
338 { 343 {
339 .name = "da903x-led", 344 .name = "da903x-led",
@@ -350,6 +355,10 @@ static struct da903x_subdev_info littleton_da9034_subdevs[] = {
350 }, { 355 }, {
351 .name = "da903x-backlight", 356 .name = "da903x-backlight",
352 .id = DA9034_ID_WLED, 357 .id = DA9034_ID_WLED,
358 }, {
359 .name = "da9034-touch",
360 .id = DA9034_ID_TOUCH,
361 .platform_data = &littleton_da9034_touch,
353 }, 362 },
354}; 363};
355 364
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index 8c61ddac119e..c18e34acafcb 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -299,12 +299,22 @@ static struct pxa2xx_spi_master spitz_spi_info = {
299 .num_chipselect = 3, 299 .num_chipselect = 3,
300}; 300};
301 301
302static void spitz_wait_for_hsync(void)
303{
304 while (gpio_get_value(SPITZ_GPIO_HSYNC))
305 cpu_relax();
306
307 while (!gpio_get_value(SPITZ_GPIO_HSYNC))
308 cpu_relax();
309}
310
302static struct ads7846_platform_data spitz_ads7846_info = { 311static struct ads7846_platform_data spitz_ads7846_info = {
303 .model = 7846, 312 .model = 7846,
304 .vref_delay_usecs = 100, 313 .vref_delay_usecs = 100,
305 .x_plate_ohms = 419, 314 .x_plate_ohms = 419,
306 .y_plate_ohms = 486, 315 .y_plate_ohms = 486,
307 .gpio_pendown = SPITZ_GPIO_TP_INT, 316 .gpio_pendown = SPITZ_GPIO_TP_INT,
317 .wait_for_sync = spitz_wait_for_hsync,
308}; 318};
309 319
310static void spitz_ads7846_cs(u32 command) 320static void spitz_ads7846_cs(u32 command)
diff --git a/arch/arm/mach-pxa/zylonite_pxa300.c b/arch/arm/mach-pxa/zylonite_pxa300.c
index c1f73205d078..c256c57642c0 100644
--- a/arch/arm/mach-pxa/zylonite_pxa300.c
+++ b/arch/arm/mach-pxa/zylonite_pxa300.c
@@ -72,6 +72,7 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = {
72 GPIO25_AC97_SDATA_IN_0, 72 GPIO25_AC97_SDATA_IN_0,
73 GPIO27_AC97_SDATA_OUT, 73 GPIO27_AC97_SDATA_OUT,
74 GPIO28_AC97_SYNC, 74 GPIO28_AC97_SYNC,
75 GPIO17_GPIO, /* SDATA_IN_1 but unused - configure to GPIO */
75 76
76 /* SSP3 */ 77 /* SSP3 */
77 GPIO91_SSP3_SCLK, 78 GPIO91_SSP3_SCLK,
@@ -126,6 +127,10 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = {
126 /* Standard I2C */ 127 /* Standard I2C */
127 GPIO21_I2C_SCL, 128 GPIO21_I2C_SCL,
128 GPIO22_I2C_SDA, 129 GPIO22_I2C_SDA,
130
131 /* GPIO */
132 GPIO18_GPIO, /* GPIO Expander #0 INT_N */
133 GPIO19_GPIO, /* GPIO Expander #1 INT_N */
129}; 134};
130 135
131static mfp_cfg_t pxa300_mfp_cfg[] __initdata = { 136static mfp_cfg_t pxa300_mfp_cfg[] __initdata = {
diff --git a/arch/arm/mach-pxa/zylonite_pxa320.c b/arch/arm/mach-pxa/zylonite_pxa320.c
index 4e1c488c6906..cc5a22833605 100644
--- a/arch/arm/mach-pxa/zylonite_pxa320.c
+++ b/arch/arm/mach-pxa/zylonite_pxa320.c
@@ -68,6 +68,7 @@ static mfp_cfg_t mfp_cfg[] __initdata = {
68 GPIO38_AC97_SYNC, 68 GPIO38_AC97_SYNC,
69 GPIO39_AC97_BITCLK, 69 GPIO39_AC97_BITCLK,
70 GPIO40_AC97_nACRESET, 70 GPIO40_AC97_nACRESET,
71 GPIO36_GPIO, /* SDATA_IN_1 but unused - configure to GPIO */
71 72
72 /* SSP3 */ 73 /* SSP3 */
73 GPIO89_SSP3_SCLK, 74 GPIO89_SSP3_SCLK,
diff --git a/arch/arm/mach-s3c2412/pm.c b/arch/arm/mach-s3c2412/pm.c
index c9cfe40e21f6..a7417c479ffe 100644
--- a/arch/arm/mach-s3c2412/pm.c
+++ b/arch/arm/mach-s3c2412/pm.c
@@ -21,6 +21,7 @@
21#include <linux/io.h> 21#include <linux/io.h>
22 22
23#include <mach/hardware.h> 23#include <mach/hardware.h>
24#include <asm/cacheflush.h>
24#include <asm/irq.h> 25#include <asm/irq.h>
25 26
26#include <mach/regs-power.h> 27#include <mach/regs-power.h>
@@ -39,6 +40,8 @@ static void s3c2412_cpu_suspend(void)
39{ 40{
40 unsigned long tmp; 41 unsigned long tmp;
41 42
43 flush_cache_all();
44
42 /* set our standby method to sleep */ 45 /* set our standby method to sleep */
43 46
44 tmp = __raw_readl(S3C2412_PWRCFG); 47 tmp = __raw_readl(S3C2412_PWRCFG);
diff --git a/arch/arm/mach-s3c6400/include/mach/map.h b/arch/arm/mach-s3c6400/include/mach/map.h
index baf1c0f1ea5a..8199972ed5bd 100644
--- a/arch/arm/mach-s3c6400/include/mach/map.h
+++ b/arch/arm/mach-s3c6400/include/mach/map.h
@@ -40,6 +40,8 @@
40 40
41#define S3C64XX_PA_FB (0x77100000) 41#define S3C64XX_PA_FB (0x77100000)
42#define S3C64XX_PA_SYSCON (0x7E00F000) 42#define S3C64XX_PA_SYSCON (0x7E00F000)
43#define S3C64XX_PA_IIS0 (0x7F002000)
44#define S3C64XX_PA_IIS1 (0x7F003000)
43#define S3C64XX_PA_TIMER (0x7F006000) 45#define S3C64XX_PA_TIMER (0x7F006000)
44#define S3C64XX_PA_IIC0 (0x7F004000) 46#define S3C64XX_PA_IIC0 (0x7F004000)
45#define S3C64XX_PA_IIC1 (0x7F00F000) 47#define S3C64XX_PA_IIC1 (0x7F00F000)
diff --git a/arch/arm/mach-sa1100/lart.c b/arch/arm/mach-sa1100/lart.c
index 0cd52692d2f7..1f940df0e5af 100644
--- a/arch/arm/mach-sa1100/lart.c
+++ b/arch/arm/mach-sa1100/lart.c
@@ -9,6 +9,7 @@
9#include <mach/hardware.h> 9#include <mach/hardware.h>
10#include <asm/setup.h> 10#include <asm/setup.h>
11#include <asm/mach-types.h> 11#include <asm/mach-types.h>
12#include <asm/page.h>
12 13
13#include <asm/mach/arch.h> 14#include <asm/mach/arch.h>
14#include <asm/mach/map.h> 15#include <asm/mach/map.h>
diff --git a/arch/arm/mm/cache-v6.S b/arch/arm/mm/cache-v6.S
index 2c6c2a7c05a0..8f5c13f4c936 100644
--- a/arch/arm/mm/cache-v6.S
+++ b/arch/arm/mm/cache-v6.S
@@ -20,6 +20,31 @@
20#define D_CACHE_LINE_SIZE 32 20#define D_CACHE_LINE_SIZE 32
21#define BTB_FLUSH_SIZE 8 21#define BTB_FLUSH_SIZE 8
22 22
23#ifdef CONFIG_ARM_ERRATA_411920
24/*
25 * Invalidate the entire I cache (this code is a workaround for the ARM1136
26 * erratum 411920 - Invalidate Instruction Cache operation can fail. This
27 * erratum is present in 1136, 1156 and 1176. It does not affect the MPCore.
28 *
29 * Registers:
30 * r0 - set to 0
31 * r1 - corrupted
32 */
33ENTRY(v6_icache_inval_all)
34 mov r0, #0
35 mrs r1, cpsr
36 cpsid ifa @ disable interrupts
37 mcr p15, 0, r0, c7, c5, 0 @ invalidate entire I-cache
38 mcr p15, 0, r0, c7, c5, 0 @ invalidate entire I-cache
39 mcr p15, 0, r0, c7, c5, 0 @ invalidate entire I-cache
40 mcr p15, 0, r0, c7, c5, 0 @ invalidate entire I-cache
41 msr cpsr_cx, r1 @ restore interrupts
42 .rept 11 @ ARM Ltd recommends at least
43 nop @ 11 NOPs
44 .endr
45 mov pc, lr
46#endif
47
23/* 48/*
24 * v6_flush_cache_all() 49 * v6_flush_cache_all()
25 * 50 *
@@ -31,8 +56,12 @@ ENTRY(v6_flush_kern_cache_all)
31 mov r0, #0 56 mov r0, #0
32#ifdef HARVARD_CACHE 57#ifdef HARVARD_CACHE
33 mcr p15, 0, r0, c7, c14, 0 @ D cache clean+invalidate 58 mcr p15, 0, r0, c7, c14, 0 @ D cache clean+invalidate
59#ifndef CONFIG_ARM_ERRATA_411920
34 mcr p15, 0, r0, c7, c5, 0 @ I+BTB cache invalidate 60 mcr p15, 0, r0, c7, c5, 0 @ I+BTB cache invalidate
35#else 61#else
62 b v6_icache_inval_all
63#endif
64#else
36 mcr p15, 0, r0, c7, c15, 0 @ Cache clean+invalidate 65 mcr p15, 0, r0, c7, c15, 0 @ Cache clean+invalidate
37#endif 66#endif
38 mov pc, lr 67 mov pc, lr
@@ -103,8 +132,12 @@ ENTRY(v6_coherent_user_range)
103 mov r0, #0 132 mov r0, #0
104#ifdef HARVARD_CACHE 133#ifdef HARVARD_CACHE
105 mcr p15, 0, r0, c7, c10, 4 @ drain write buffer 134 mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
135#ifndef CONFIG_ARM_ERRATA_411920
106 mcr p15, 0, r0, c7, c5, 0 @ I+BTB cache invalidate 136 mcr p15, 0, r0, c7, c5, 0 @ I+BTB cache invalidate
107#else 137#else
138 b v6_icache_inval_all
139#endif
140#else
108 mcr p15, 0, r0, c7, c5, 6 @ invalidate BTB 141 mcr p15, 0, r0, c7, c5, 6 @ invalidate BTB
109#endif 142#endif
110 mov pc, lr 143 mov pc, lr
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c
index 4e283481cee1..c07222eb5ce0 100644
--- a/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c
@@ -18,6 +18,10 @@
18 18
19#include "mm.h" 19#include "mm.h"
20 20
21#ifdef CONFIG_ARM_ERRATA_411920
22extern void v6_icache_inval_all(void);
23#endif
24
21#ifdef CONFIG_CPU_CACHE_VIPT 25#ifdef CONFIG_CPU_CACHE_VIPT
22 26
23#define ALIAS_FLUSH_START 0xffff4000 27#define ALIAS_FLUSH_START 0xffff4000
@@ -32,10 +36,15 @@ static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
32 36
33 asm( "mcrr p15, 0, %1, %0, c14\n" 37 asm( "mcrr p15, 0, %1, %0, c14\n"
34 " mcr p15, 0, %2, c7, c10, 4\n" 38 " mcr p15, 0, %2, c7, c10, 4\n"
39#ifndef CONFIG_ARM_ERRATA_411920
35 " mcr p15, 0, %2, c7, c5, 0\n" 40 " mcr p15, 0, %2, c7, c5, 0\n"
41#endif
36 : 42 :
37 : "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES), "r" (zero) 43 : "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES), "r" (zero)
38 : "cc"); 44 : "cc");
45#ifdef CONFIG_ARM_ERRATA_411920
46 v6_icache_inval_all();
47#endif
39} 48}
40 49
41void flush_cache_mm(struct mm_struct *mm) 50void flush_cache_mm(struct mm_struct *mm)
@@ -48,11 +57,16 @@ void flush_cache_mm(struct mm_struct *mm)
48 57
49 if (cache_is_vipt_aliasing()) { 58 if (cache_is_vipt_aliasing()) {
50 asm( "mcr p15, 0, %0, c7, c14, 0\n" 59 asm( "mcr p15, 0, %0, c7, c14, 0\n"
60 " mcr p15, 0, %0, c7, c10, 4\n"
61#ifndef CONFIG_ARM_ERRATA_411920
51 " mcr p15, 0, %0, c7, c5, 0\n" 62 " mcr p15, 0, %0, c7, c5, 0\n"
52 " mcr p15, 0, %0, c7, c10, 4" 63#endif
53 : 64 :
54 : "r" (0) 65 : "r" (0)
55 : "cc"); 66 : "cc");
67#ifdef CONFIG_ARM_ERRATA_411920
68 v6_icache_inval_all();
69#endif
56 } 70 }
57} 71}
58 72
@@ -67,11 +81,16 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned
67 81
68 if (cache_is_vipt_aliasing()) { 82 if (cache_is_vipt_aliasing()) {
69 asm( "mcr p15, 0, %0, c7, c14, 0\n" 83 asm( "mcr p15, 0, %0, c7, c14, 0\n"
84 " mcr p15, 0, %0, c7, c10, 4\n"
85#ifndef CONFIG_ARM_ERRATA_411920
70 " mcr p15, 0, %0, c7, c5, 0\n" 86 " mcr p15, 0, %0, c7, c5, 0\n"
71 " mcr p15, 0, %0, c7, c10, 4" 87#endif
72 : 88 :
73 : "r" (0) 89 : "r" (0)
74 : "cc"); 90 : "cc");
91#ifdef CONFIG_ARM_ERRATA_411920
92 v6_icache_inval_all();
93#endif
75 } 94 }
76} 95}
77 96
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index c221e26ac1d3..3397f1e64d76 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -96,6 +96,9 @@ ENTRY(cpu_v7_switch_mm)
96 mov r2, #0 96 mov r2, #0
97 ldr r1, [r1, #MM_CONTEXT_ID] @ get mm->context.id 97 ldr r1, [r1, #MM_CONTEXT_ID] @ get mm->context.id
98 orr r0, r0, #TTB_FLAGS 98 orr r0, r0, #TTB_FLAGS
99#ifdef CONFIG_ARM_ERRATA_430973
100 mcr p15, 0, r2, c7, c5, 6 @ flush BTAC/BTB
101#endif
99 mcr p15, 0, r2, c13, c0, 1 @ set reserved context ID 102 mcr p15, 0, r2, c13, c0, 1 @ set reserved context ID
100 isb 103 isb
1011: mcr p15, 0, r0, c2, c0, 0 @ set TTB 0 1041: mcr p15, 0, r0, c2, c0, 0 @ set TTB 0
@@ -181,6 +184,22 @@ __v7_setup:
181 stmia r12, {r0-r5, r7, r9, r11, lr} 184 stmia r12, {r0-r5, r7, r9, r11, lr}
182 bl v7_flush_dcache_all 185 bl v7_flush_dcache_all
183 ldmia r12, {r0-r5, r7, r9, r11, lr} 186 ldmia r12, {r0-r5, r7, r9, r11, lr}
187#ifdef CONFIG_ARM_ERRATA_430973
188 mrc p15, 0, r10, c1, c0, 1 @ read aux control register
189 orr r10, r10, #(1 << 6) @ set IBE to 1
190 mcr p15, 0, r10, c1, c0, 1 @ write aux control register
191#endif
192#ifdef CONFIG_ARM_ERRATA_458693
193 mrc p15, 0, r10, c1, c0, 1 @ read aux control register
194 orr r10, r10, #(1 << 5) @ set L1NEON to 1
195 orr r10, r10, #(1 << 9) @ set PLDNOP to 1
196 mcr p15, 0, r10, c1, c0, 1 @ write aux control register
197#endif
198#ifdef CONFIG_ARM_ERRATA_460075
199 mrc p15, 1, r10, c9, c0, 2 @ read L2 cache aux ctrl register
200 orr r10, r10, #(1 << 22) @ set the Write Allocate disable bit
201 mcr p15, 1, r10, c9, c0, 2 @ write the L2 cache aux ctrl register
202#endif
184 mov r10, #0 203 mov r10, #0
185#ifdef HARVARD_CACHE 204#ifdef HARVARD_CACHE
186 mcr p15, 0, r10, c7, c5, 0 @ I+BTB cache invalidate 205 mcr p15, 0, r10, c7, c5, 0 @ I+BTB cache invalidate
diff --git a/arch/arm/plat-mxc/dma-mx1-mx2.c b/arch/arm/plat-mxc/dma-mx1-mx2.c
index e364a5ed10f1..77646436c00e 100644
--- a/arch/arm/plat-mxc/dma-mx1-mx2.c
+++ b/arch/arm/plat-mxc/dma-mx1-mx2.c
@@ -693,12 +693,15 @@ int imx_dma_request(int channel, const char *name)
693 local_irq_restore(flags); 693 local_irq_restore(flags);
694 return -EBUSY; 694 return -EBUSY;
695 } 695 }
696 memset(imxdma, 0, sizeof(imxdma));
697 imxdma->name = name;
698 local_irq_restore(flags); /* request_irq() can block */
696 699
697#ifdef CONFIG_ARCH_MX2 700#ifdef CONFIG_ARCH_MX2
698 ret = request_irq(MXC_INT_DMACH0 + channel, dma_irq_handler, 0, "DMA", 701 ret = request_irq(MXC_INT_DMACH0 + channel, dma_irq_handler, 0, "DMA",
699 NULL); 702 NULL);
700 if (ret) { 703 if (ret) {
701 local_irq_restore(flags); 704 imxdma->name = NULL;
702 printk(KERN_CRIT "Can't register IRQ %d for DMA channel %d\n", 705 printk(KERN_CRIT "Can't register IRQ %d for DMA channel %d\n",
703 MXC_INT_DMACH0 + channel, channel); 706 MXC_INT_DMACH0 + channel, channel);
704 return ret; 707 return ret;
@@ -708,13 +711,6 @@ int imx_dma_request(int channel, const char *name)
708 imxdma->watchdog.data = channel; 711 imxdma->watchdog.data = channel;
709#endif 712#endif
710 713
711 imxdma->name = name;
712 imxdma->irq_handler = NULL;
713 imxdma->err_handler = NULL;
714 imxdma->data = NULL;
715 imxdma->sg = NULL;
716
717 local_irq_restore(flags);
718 return ret; 714 return ret;
719} 715}
720EXPORT_SYMBOL(imx_dma_request); 716EXPORT_SYMBOL(imx_dma_request);
@@ -737,10 +733,7 @@ void imx_dma_free(int channel)
737 733
738 local_irq_save(flags); 734 local_irq_save(flags);
739 /* Disable interrupts */ 735 /* Disable interrupts */
740 __raw_writel(__raw_readl(DMA_BASE + DMA_DIMR) | (1 << channel), 736 imx_dma_disable(channel);
741 DMA_BASE + DMA_DIMR);
742 __raw_writel(__raw_readl(DMA_BASE + DMA_CCR(channel)) & ~CCR_CEN,
743 DMA_BASE + DMA_CCR(channel));
744 imxdma->name = NULL; 737 imxdma->name = NULL;
745 738
746#ifdef CONFIG_ARCH_MX2 739#ifdef CONFIG_ARCH_MX2
diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c
index c6483bad8a26..89e95798cc3b 100644
--- a/arch/arm/plat-mxc/gpio.c
+++ b/arch/arm/plat-mxc/gpio.c
@@ -124,7 +124,7 @@ static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc)
124 124
125 irq_stat = __raw_readl(port->base + GPIO_ISR) & 125 irq_stat = __raw_readl(port->base + GPIO_ISR) &
126 __raw_readl(port->base + GPIO_IMR); 126 __raw_readl(port->base + GPIO_IMR);
127 BUG_ON(!irq_stat); 127
128 mxc_gpio_irq_handler(port, irq_stat); 128 mxc_gpio_irq_handler(port, irq_stat);
129} 129}
130#endif 130#endif
diff --git a/arch/arm/plat-mxc/include/mach/board-mx27ads.h b/arch/arm/plat-mxc/include/mach/board-mx27ads.h
index 1cac9d1135cd..d42f4e6116f8 100644
--- a/arch/arm/plat-mxc/include/mach/board-mx27ads.h
+++ b/arch/arm/plat-mxc/include/mach/board-mx27ads.h
@@ -47,7 +47,7 @@
47/* 47/*
48 * Base address of PBC controller, CS4 48 * Base address of PBC controller, CS4
49 */ 49 */
50#define PBC_BASE_ADDRESS 0xEB000000 50#define PBC_BASE_ADDRESS 0xf4300000
51#define PBC_REG_ADDR(offset) (void __force __iomem *) \ 51#define PBC_REG_ADDR(offset) (void __force __iomem *) \
52 (PBC_BASE_ADDRESS + (offset)) 52 (PBC_BASE_ADDRESS + (offset))
53 53
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
index 2e0614552ac8..29efc279287a 100644
--- a/arch/arm/plat-omap/clock.c
+++ b/arch/arm/plat-omap/clock.c
@@ -239,6 +239,13 @@ void recalculate_root_clocks(void)
239 } 239 }
240} 240}
241 241
242/**
243 * clk_init_one - initialize any fields in the struct clk before clk init
244 * @clk: struct clk * to initialize
245 *
246 * Initialize any struct clk fields needed before normal clk initialization
247 * can run. No return value.
248 */
242void clk_init_one(struct clk *clk) 249void clk_init_one(struct clk *clk)
243{ 250{
244 INIT_LIST_HEAD(&clk->children); 251 INIT_LIST_HEAD(&clk->children);
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 21cc0142b97a..7fc8c045ad5d 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -760,19 +760,12 @@ void omap_free_dma(int lch)
760{ 760{
761 unsigned long flags; 761 unsigned long flags;
762 762
763 spin_lock_irqsave(&dma_chan_lock, flags);
764 if (dma_chan[lch].dev_id == -1) { 763 if (dma_chan[lch].dev_id == -1) {
765 pr_err("omap_dma: trying to free unallocated DMA channel %d\n", 764 pr_err("omap_dma: trying to free unallocated DMA channel %d\n",
766 lch); 765 lch);
767 spin_unlock_irqrestore(&dma_chan_lock, flags);
768 return; 766 return;
769 } 767 }
770 768
771 dma_chan[lch].dev_id = -1;
772 dma_chan[lch].next_lch = -1;
773 dma_chan[lch].callback = NULL;
774 spin_unlock_irqrestore(&dma_chan_lock, flags);
775
776 if (cpu_class_is_omap1()) { 769 if (cpu_class_is_omap1()) {
777 /* Disable all DMA interrupts for the channel. */ 770 /* Disable all DMA interrupts for the channel. */
778 dma_write(0, CICR(lch)); 771 dma_write(0, CICR(lch));
@@ -798,6 +791,12 @@ void omap_free_dma(int lch)
798 dma_write(0, CCR(lch)); 791 dma_write(0, CCR(lch));
799 omap_clear_dma(lch); 792 omap_clear_dma(lch);
800 } 793 }
794
795 spin_lock_irqsave(&dma_chan_lock, flags);
796 dma_chan[lch].dev_id = -1;
797 dma_chan[lch].next_lch = -1;
798 dma_chan[lch].callback = NULL;
799 spin_unlock_irqrestore(&dma_chan_lock, flags);
801} 800}
802EXPORT_SYMBOL(omap_free_dma); 801EXPORT_SYMBOL(omap_free_dma);
803 802
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
index bfd47570cc91..55bb99631292 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -238,7 +238,7 @@ static struct omap_dm_timer omap3_dm_timers[] = {
238 { .phys_base = 0x49040000, .irq = INT_24XX_GPTIMER9 }, 238 { .phys_base = 0x49040000, .irq = INT_24XX_GPTIMER9 },
239 { .phys_base = 0x48086000, .irq = INT_24XX_GPTIMER10 }, 239 { .phys_base = 0x48086000, .irq = INT_24XX_GPTIMER10 },
240 { .phys_base = 0x48088000, .irq = INT_24XX_GPTIMER11 }, 240 { .phys_base = 0x48088000, .irq = INT_24XX_GPTIMER11 },
241 { .phys_base = 0x48304000, .irq = INT_24XX_GPTIMER12 }, 241 { .phys_base = 0x48304000, .irq = INT_34XX_GPT12_IRQ },
242}; 242};
243 243
244static const char *omap3_dm_source_names[] __initdata = { 244static const char *omap3_dm_source_names[] __initdata = {
@@ -321,11 +321,9 @@ static void omap_dm_timer_reset(struct omap_dm_timer *timer)
321 l |= 0x2 << 8; /* Set clock activity to perserve f-clock on idle */ 321 l |= 0x2 << 8; /* Set clock activity to perserve f-clock on idle */
322 322
323 /* 323 /*
324 * Enable wake-up only for GPT1 on OMAP2 CPUs. 324 * Enable wake-up on OMAP2 CPUs.
325 * FIXME: All timers should have wake-up enabled and clear
326 * PRCM status.
327 */ 325 */
328 if (cpu_class_is_omap2() && (timer == &dm_timers[0])) 326 if (cpu_class_is_omap2())
329 l |= 1 << 2; 327 l |= 1 << 2;
330 omap_dm_timer_write_reg(timer, OMAP_TIMER_OCP_CFG_REG, l); 328 omap_dm_timer_write_reg(timer, OMAP_TIMER_OCP_CFG_REG, l);
331 329
@@ -511,7 +509,7 @@ EXPORT_SYMBOL_GPL(omap_dm_timer_stop);
511 509
512#ifdef CONFIG_ARCH_OMAP1 510#ifdef CONFIG_ARCH_OMAP1
513 511
514void omap_dm_timer_set_source(struct omap_dm_timer *timer, int source) 512int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)
515{ 513{
516 int n = (timer - dm_timers) << 1; 514 int n = (timer - dm_timers) << 1;
517 u32 l; 515 u32 l;
@@ -519,23 +517,31 @@ void omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)
519 l = omap_readl(MOD_CONF_CTRL_1) & ~(0x03 << n); 517 l = omap_readl(MOD_CONF_CTRL_1) & ~(0x03 << n);
520 l |= source << n; 518 l |= source << n;
521 omap_writel(l, MOD_CONF_CTRL_1); 519 omap_writel(l, MOD_CONF_CTRL_1);
520
521 return 0;
522} 522}
523EXPORT_SYMBOL_GPL(omap_dm_timer_set_source); 523EXPORT_SYMBOL_GPL(omap_dm_timer_set_source);
524 524
525#else 525#else
526 526
527void omap_dm_timer_set_source(struct omap_dm_timer *timer, int source) 527int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)
528{ 528{
529 int ret = -EINVAL;
530
529 if (source < 0 || source >= 3) 531 if (source < 0 || source >= 3)
530 return; 532 return -EINVAL;
531 533
532 clk_disable(timer->fclk); 534 clk_disable(timer->fclk);
533 clk_set_parent(timer->fclk, dm_source_clocks[source]); 535 ret = clk_set_parent(timer->fclk, dm_source_clocks[source]);
534 clk_enable(timer->fclk); 536 clk_enable(timer->fclk);
535 537
536 /* When the functional clock disappears, too quick writes seem to 538 /*
537 * cause an abort. */ 539 * When the functional clock disappears, too quick writes seem
540 * to cause an abort. XXX Is this still necessary?
541 */
538 __delay(150000); 542 __delay(150000);
543
544 return ret;
539} 545}
540EXPORT_SYMBOL_GPL(omap_dm_timer_set_source); 546EXPORT_SYMBOL_GPL(omap_dm_timer_set_source);
541 547
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index d3fa41e3d8c5..17d7afe42b83 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -758,8 +758,12 @@ static void _clear_gpio_irqbank(struct gpio_bank *bank, int gpio_mask)
758 758
759 /* Workaround for clearing DSP GPIO interrupts to allow retention */ 759 /* Workaround for clearing DSP GPIO interrupts to allow retention */
760#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) 760#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
761 reg = bank->base + OMAP24XX_GPIO_IRQSTATUS2;
761 if (cpu_is_omap24xx() || cpu_is_omap34xx()) 762 if (cpu_is_omap24xx() || cpu_is_omap34xx())
762 __raw_writel(gpio_mask, bank->base + OMAP24XX_GPIO_IRQSTATUS2); 763 __raw_writel(gpio_mask, reg);
764
765 /* Flush posted write for the irq status to avoid spurious interrupts */
766 __raw_readl(reg);
763#endif 767#endif
764} 768}
765 769
@@ -921,13 +925,10 @@ static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable)
921 case METHOD_MPUIO: 925 case METHOD_MPUIO:
922 case METHOD_GPIO_1610: 926 case METHOD_GPIO_1610:
923 spin_lock_irqsave(&bank->lock, flags); 927 spin_lock_irqsave(&bank->lock, flags);
924 if (enable) { 928 if (enable)
925 bank->suspend_wakeup |= (1 << gpio); 929 bank->suspend_wakeup |= (1 << gpio);
926 enable_irq_wake(bank->irq); 930 else
927 } else {
928 disable_irq_wake(bank->irq);
929 bank->suspend_wakeup &= ~(1 << gpio); 931 bank->suspend_wakeup &= ~(1 << gpio);
930 }
931 spin_unlock_irqrestore(&bank->lock, flags); 932 spin_unlock_irqrestore(&bank->lock, flags);
932 return 0; 933 return 0;
933#endif 934#endif
@@ -940,13 +941,10 @@ static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable)
940 return -EINVAL; 941 return -EINVAL;
941 } 942 }
942 spin_lock_irqsave(&bank->lock, flags); 943 spin_lock_irqsave(&bank->lock, flags);
943 if (enable) { 944 if (enable)
944 bank->suspend_wakeup |= (1 << gpio); 945 bank->suspend_wakeup |= (1 << gpio);
945 enable_irq_wake(bank->irq); 946 else
946 } else {
947 disable_irq_wake(bank->irq);
948 bank->suspend_wakeup &= ~(1 << gpio); 947 bank->suspend_wakeup &= ~(1 << gpio);
949 }
950 spin_unlock_irqrestore(&bank->lock, flags); 948 spin_unlock_irqrestore(&bank->lock, flags);
951 return 0; 949 return 0;
952#endif 950#endif
diff --git a/arch/arm/plat-omap/include/mach/dmtimer.h b/arch/arm/plat-omap/include/mach/dmtimer.h
index 6dc703138210..20f1054c0a80 100644
--- a/arch/arm/plat-omap/include/mach/dmtimer.h
+++ b/arch/arm/plat-omap/include/mach/dmtimer.h
@@ -64,7 +64,7 @@ void omap_dm_timer_trigger(struct omap_dm_timer *timer);
64void omap_dm_timer_start(struct omap_dm_timer *timer); 64void omap_dm_timer_start(struct omap_dm_timer *timer);
65void omap_dm_timer_stop(struct omap_dm_timer *timer); 65void omap_dm_timer_stop(struct omap_dm_timer *timer);
66 66
67void omap_dm_timer_set_source(struct omap_dm_timer *timer, int source); 67int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source);
68void omap_dm_timer_set_load(struct omap_dm_timer *timer, int autoreload, unsigned int value); 68void omap_dm_timer_set_load(struct omap_dm_timer *timer, int autoreload, unsigned int value);
69void omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload, unsigned int value); 69void omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload, unsigned int value);
70void omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable, unsigned int match); 70void omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable, unsigned int match);
diff --git a/arch/arm/plat-omap/include/mach/eac.h b/arch/arm/plat-omap/include/mach/eac.h
deleted file mode 100644
index 9e62cf030270..000000000000
--- a/arch/arm/plat-omap/include/mach/eac.h
+++ /dev/null
@@ -1,100 +0,0 @@
1/*
2 * arch/arm/plat-omap/include/mach2/eac.h
3 *
4 * Defines for Enhanced Audio Controller
5 *
6 * Contact: Jarkko Nikula <jarkko.nikula@nokia.com>
7 *
8 * Copyright (C) 2006 Nokia Corporation
9 * Copyright (C) 2004 Texas Instruments, Inc.
10 *
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * version 2 as published by the Free Software Foundation.
14 *
15 * This program is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
23 * 02110-1301 USA
24 *
25 */
26
27#ifndef __ASM_ARM_ARCH_OMAP2_EAC_H
28#define __ASM_ARM_ARCH_OMAP2_EAC_H
29
30#include <mach/io.h>
31#include <mach/hardware.h>
32#include <asm/irq.h>
33
34#include <sound/core.h>
35
36/* master codec clock source */
37#define EAC_MCLK_EXT_MASK 0x100
38enum eac_mclk_src {
39 EAC_MCLK_INT_11290000, /* internal 96 MHz / 8.5 = 11.29 Mhz */
40 EAC_MCLK_EXT_11289600 = EAC_MCLK_EXT_MASK,
41 EAC_MCLK_EXT_12288000,
42 EAC_MCLK_EXT_2x11289600,
43 EAC_MCLK_EXT_2x12288000,
44};
45
46/* codec port interface mode */
47enum eac_codec_mode {
48 EAC_CODEC_PCM,
49 EAC_CODEC_AC97,
50 EAC_CODEC_I2S_MASTER, /* codec port, I.e. EAC is the master */
51 EAC_CODEC_I2S_SLAVE,
52};
53
54/* configuration structure for I2S mode */
55struct eac_i2s_conf {
56 /* if enabled, then first data slot (left channel) is signaled as
57 * positive level of frame sync EAC.AC_FS */
58 unsigned polarity_changed_mode:1;
59 /* if enabled, then serial data starts one clock cycle after the
60 * of EAC.AC_FS for first audio slot */
61 unsigned sync_delay_enable:1;
62};
63
64/* configuration structure for EAC codec port */
65struct eac_codec {
66 enum eac_mclk_src mclk_src;
67
68 enum eac_codec_mode codec_mode;
69 union {
70 struct eac_i2s_conf i2s;
71 } codec_conf;
72
73 int default_rate; /* audio sampling rate */
74
75 int (* set_power)(void *private_data, int dac, int adc);
76 int (* register_controls)(void *private_data,
77 struct snd_card *card);
78 const char *short_name;
79
80 void *private_data;
81};
82
83/* structure for passing platform dependent data to the EAC driver */
84struct eac_platform_data {
85 int (* init)(struct device *eac_dev);
86 void (* cleanup)(struct device *eac_dev);
87 /* these callbacks are used to configure & control external MCLK
88 * source. NULL if not used */
89 int (* enable_ext_clocks)(struct device *eac_dev);
90 void (* disable_ext_clocks)(struct device *eac_dev);
91};
92
93extern void omap_init_eac(struct eac_platform_data *pdata);
94
95extern int eac_register_codec(struct device *eac_dev, struct eac_codec *codec);
96extern void eac_unregister_codec(struct device *eac_dev);
97
98extern int eac_set_mode(struct device *eac_dev, int play, int rec);
99
100#endif /* __ASM_ARM_ARCH_OMAP2_EAC_H */
diff --git a/arch/arm/plat-omap/include/mach/gpioexpander.h b/arch/arm/plat-omap/include/mach/gpioexpander.h
deleted file mode 100644
index 90444a0d6b1a..000000000000
--- a/arch/arm/plat-omap/include/mach/gpioexpander.h
+++ /dev/null
@@ -1,35 +0,0 @@
1/*
2 * arch/arm/plat-omap/include/mach/gpioexpander.h
3 *
4 *
5 * Copyright (C) 2004 Texas Instruments, Inc.
6 *
7 * This package is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 *
11 * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
12 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
13 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
14 */
15
16#ifndef __ASM_ARCH_OMAP_GPIOEXPANDER_H
17#define __ASM_ARCH_OMAP_GPIOEXPANDER_H
18
19/* Function Prototypes for GPIO Expander functions */
20
21#ifdef CONFIG_GPIOEXPANDER_OMAP
22int read_gpio_expa(u8 *, int);
23int write_gpio_expa(u8 , int);
24#else
25static inline int read_gpio_expa(u8 *val, int addr)
26{
27 return 0;
28}
29static inline int write_gpio_expa(u8 val, int addr)
30{
31 return 0;
32}
33#endif
34
35#endif /* __ASM_ARCH_OMAP_GPIOEXPANDER_H */
diff --git a/arch/arm/plat-omap/include/mach/irda.h b/arch/arm/plat-omap/include/mach/irda.h
index 8372a00d8e0b..40f60339d1c6 100644
--- a/arch/arm/plat-omap/include/mach/irda.h
+++ b/arch/arm/plat-omap/include/mach/irda.h
@@ -21,10 +21,6 @@ struct omap_irda_config {
21 int transceiver_cap; 21 int transceiver_cap;
22 int (*transceiver_mode)(struct device *dev, int mode); 22 int (*transceiver_mode)(struct device *dev, int mode);
23 int (*select_irda)(struct device *dev, int state); 23 int (*select_irda)(struct device *dev, int state);
24 /* Very specific to the needs of some platforms (h3,h4)
25 * having calls which can sleep in irda_set_speed.
26 */
27 struct delayed_work gpio_expa;
28 int rx_channel; 24 int rx_channel;
29 int tx_channel; 25 int tx_channel;
30 unsigned long dest_start; 26 unsigned long dest_start;
diff --git a/arch/arm/plat-omap/include/mach/mmc.h b/arch/arm/plat-omap/include/mach/mmc.h
index 4435bd434e17..81d5b36534b3 100644
--- a/arch/arm/plat-omap/include/mach/mmc.h
+++ b/arch/arm/plat-omap/include/mach/mmc.h
@@ -79,7 +79,6 @@ struct omap_mmc_platform_data {
79 79
80 /* use the internal clock */ 80 /* use the internal clock */
81 unsigned internal_clock:1; 81 unsigned internal_clock:1;
82 s16 power_pin;
83 82
84 int switch_pin; /* gpio (card detect) */ 83 int switch_pin; /* gpio (card detect) */
85 int gpio_wp; /* gpio (write protect) */ 84 int gpio_wp; /* gpio (write protect) */
diff --git a/arch/arm/plat-omap/include/mach/timer-gp.h b/arch/arm/plat-omap/include/mach/timer-gp.h
new file mode 100644
index 000000000000..c88d346b59d9
--- /dev/null
+++ b/arch/arm/plat-omap/include/mach/timer-gp.h
@@ -0,0 +1,17 @@
1/*
2 * OMAP2/3 GPTIMER support.headers
3 *
4 * Copyright (C) 2009 Nokia Corporation
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 */
10
11#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_TIMER_GP_H
12#define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_TIMER_GP_H
13
14int __init omap2_gp_clockevent_set_gptimer(u8 id);
15
16#endif
17
diff --git a/arch/arm/plat-pxa/gpio.c b/arch/arm/plat-pxa/gpio.c
index af819bf21b63..abc79d44acaa 100644
--- a/arch/arm/plat-pxa/gpio.c
+++ b/arch/arm/plat-pxa/gpio.c
@@ -121,6 +121,8 @@ static int __init pxa_init_gpio_chip(int gpio_end)
121 return -ENOMEM; 121 return -ENOMEM;
122 } 122 }
123 123
124 memset(chips, 0, nbanks * sizeof(struct pxa_gpio_chip));
125
124 for (i = 0, gpio = 0; i < nbanks; i++, gpio += 32) { 126 for (i = 0, gpio = 0; i < nbanks; i++, gpio += 32) {
125 struct gpio_chip *c = &chips[i].chip; 127 struct gpio_chip *c = &chips[i].chip;
126 128
@@ -143,6 +145,21 @@ static int __init pxa_init_gpio_chip(int gpio_end)
143 return 0; 145 return 0;
144} 146}
145 147
148/* Update only those GRERx and GFERx edge detection register bits if those
149 * bits are set in c->irq_mask
150 */
151static inline void update_edge_detect(struct pxa_gpio_chip *c)
152{
153 uint32_t grer, gfer;
154
155 grer = __raw_readl(c->regbase + GRER_OFFSET) & ~c->irq_mask;
156 gfer = __raw_readl(c->regbase + GFER_OFFSET) & ~c->irq_mask;
157 grer |= c->irq_edge_rise & c->irq_mask;
158 gfer |= c->irq_edge_fall & c->irq_mask;
159 __raw_writel(grer, c->regbase + GRER_OFFSET);
160 __raw_writel(gfer, c->regbase + GFER_OFFSET);
161}
162
146static int pxa_gpio_irq_type(unsigned int irq, unsigned int type) 163static int pxa_gpio_irq_type(unsigned int irq, unsigned int type)
147{ 164{
148 struct pxa_gpio_chip *c; 165 struct pxa_gpio_chip *c;
@@ -181,8 +198,7 @@ static int pxa_gpio_irq_type(unsigned int irq, unsigned int type)
181 else 198 else
182 c->irq_edge_fall &= ~mask; 199 c->irq_edge_fall &= ~mask;
183 200
184 __raw_writel(c->irq_edge_rise & c->irq_mask, c->regbase + GRER_OFFSET); 201 update_edge_detect(c);
185 __raw_writel(c->irq_edge_fall & c->irq_mask, c->regbase + GFER_OFFSET);
186 202
187 pr_debug("%s: IRQ%d (GPIO%d) - edge%s%s\n", __func__, irq, gpio, 203 pr_debug("%s: IRQ%d (GPIO%d) - edge%s%s\n", __func__, irq, gpio,
188 ((type & IRQ_TYPE_EDGE_RISING) ? " rising" : ""), 204 ((type & IRQ_TYPE_EDGE_RISING) ? " rising" : ""),
@@ -244,8 +260,7 @@ static void pxa_unmask_muxed_gpio(unsigned int irq)
244 struct pxa_gpio_chip *c = gpio_to_chip(gpio); 260 struct pxa_gpio_chip *c = gpio_to_chip(gpio);
245 261
246 c->irq_mask |= GPIO_bit(gpio); 262 c->irq_mask |= GPIO_bit(gpio);
247 __raw_writel(c->irq_edge_rise & c->irq_mask, c->regbase + GRER_OFFSET); 263 update_edge_detect(c);
248 __raw_writel(c->irq_edge_fall & c->irq_mask, c->regbase + GFER_OFFSET);
249} 264}
250 265
251static struct irq_chip pxa_muxed_gpio_chip = { 266static struct irq_chip pxa_muxed_gpio_chip = {
diff --git a/arch/avr32/Makefile b/arch/avr32/Makefile
index 0b97e14f73f6..c21a3290d542 100644
--- a/arch/avr32/Makefile
+++ b/arch/avr32/Makefile
@@ -43,8 +43,6 @@ core-y += arch/avr32/mm/
43drivers-$(CONFIG_OPROFILE) += arch/avr32/oprofile/ 43drivers-$(CONFIG_OPROFILE) += arch/avr32/oprofile/
44libs-y += arch/avr32/lib/ 44libs-y += arch/avr32/lib/
45 45
46CLEAN_FILES += include/asm-avr32/.arch include/asm-avr32/arch
47
48BOOT_TARGETS := vmlinux.elf vmlinux.bin uImage uImage.srec 46BOOT_TARGETS := vmlinux.elf vmlinux.bin uImage uImage.srec
49 47
50.PHONY: $(BOOT_TARGETS) install 48.PHONY: $(BOOT_TARGETS) install
diff --git a/arch/cris/Makefile b/arch/cris/Makefile
index 3662cfb7b61d..71e17d3eeddb 100644
--- a/arch/cris/Makefile
+++ b/arch/cris/Makefile
@@ -70,7 +70,7 @@ SRC_ARCH = $(srctree)/arch/cris
70# cris object files path 70# cris object files path
71OBJ_ARCH = $(objtree)/arch/cris 71OBJ_ARCH = $(objtree)/arch/cris
72 72
73boot := arch/cris/$(SARCH)/boot 73boot := arch/cris/boot
74MACHINE := arch/cris/$(SARCH) 74MACHINE := arch/cris/$(SARCH)
75 75
76all: zImage 76all: zImage
@@ -81,15 +81,15 @@ zImage Image: vmlinux
81archprepare: 81archprepare:
82 82
83archclean: 83archclean:
84 $(Q)if [ -e arch/cris/$(SARCH)/boot ]; then \ 84 $(Q)if [ -e arch/cris/boot ]; then \
85 $(MAKE) $(clean)=arch/cris/$(SARCH)/boot; \ 85 $(MAKE) $(clean)=arch/cris/boot; \
86 fi 86 fi
87 87
88CLEAN_FILES += \ 88CLEAN_FILES += \
89 $(MACHINE)/boot/zImage \ 89 $(boot)/zImage \
90 $(MACHINE)/boot/compressed/decompress.bin \ 90 $(boot)/compressed/decompress.bin \
91 $(MACHINE)/boot/compressed/piggy.gz \ 91 $(boot)/compressed/piggy.gz \
92 $(MACHINE)/boot/rescue/rescue.bin 92 $(boot)/rescue/rescue.bin
93 93
94 94
95# MRPROPER_FILES += 95# MRPROPER_FILES +=
diff --git a/arch/cris/arch-v10/boot/compressed/README b/arch/cris/arch-v10/boot/compressed/README
deleted file mode 100644
index 48b3db9924b9..000000000000
--- a/arch/cris/arch-v10/boot/compressed/README
+++ /dev/null
@@ -1,25 +0,0 @@
1Creation of the self-extracting compressed kernel image (vmlinuz)
2-----------------------------------------------------------------
3$Id: README,v 1.1 2001/12/17 13:59:27 bjornw Exp $
4
5This can be slightly confusing because it's a process with many steps.
6
7The kernel object built by the arch/etrax100/Makefile, vmlinux, is split
8by that makefile into text and data binary files, vmlinux.text and
9vmlinux.data.
10
11Those files together with a ROM filesystem can be catted together and
12burned into a flash or executed directly at the DRAM origin.
13
14They can also be catted together and compressed with gzip, which is what
15happens in this makefile. Together they make up piggy.img.
16
17The decompressor is built into the file decompress.o. It is turned into
18the binary file decompress.bin, which is catted together with piggy.img
19into the file vmlinuz. It can be executed in an arbitrary place in flash.
20
21Be careful - it assumes some things about free locations in DRAM. It
22assumes the DRAM starts at 0x40000000 and that it is at least 8 MB,
23so it puts its code at 0x40700000, and initial stack at 0x40800000.
24
25-Bjorn
diff --git a/arch/cris/arch-v10/boot/compressed/misc.c b/arch/cris/arch-v10/boot/compressed/misc.c
deleted file mode 100644
index a4db1507d3b1..000000000000
--- a/arch/cris/arch-v10/boot/compressed/misc.c
+++ /dev/null
@@ -1,246 +0,0 @@
1/*
2 * misc.c
3 *
4 * This is a collection of several routines from gzip-1.0.3
5 * adapted for Linux.
6 *
7 * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
8 * puts by Nick Holloway 1993, better puts by Martin Mares 1995
9 * adaptation for Linux/CRIS Axis Communications AB, 1999
10 *
11 */
12
13/* where the piggybacked kernel image expects itself to live.
14 * it is the same address we use when we network load an uncompressed
15 * image into DRAM, and it is the address the kernel is linked to live
16 * at by vmlinux.lds.S
17 */
18
19#define KERNEL_LOAD_ADR 0x40004000
20
21
22#include <linux/types.h>
23#include <arch/svinto.h>
24
25/*
26 * gzip declarations
27 */
28
29#define OF(args) args
30#define STATIC static
31
32void *memset(void *s, int c, size_t n);
33void *memcpy(void *__dest, __const void *__src, size_t __n);
34
35#define memzero(s, n) memset((s), 0, (n))
36
37typedef unsigned char uch;
38typedef unsigned short ush;
39typedef unsigned long ulg;
40
41#define WSIZE 0x8000 /* Window size must be at least 32k, */
42 /* and a power of two */
43
44static uch *inbuf; /* input buffer */
45static uch window[WSIZE]; /* Sliding window buffer */
46
47unsigned inptr = 0; /* index of next byte to be processed in inbuf
48 * After decompression it will contain the
49 * compressed size, and head.S will read it.
50 */
51
52static unsigned outcnt = 0; /* bytes in output buffer */
53
54/* gzip flag byte */
55#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
56#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */
57#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
58#define ORIG_NAME 0x08 /* bit 3 set: original file name present */
59#define COMMENT 0x10 /* bit 4 set: file comment present */
60#define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */
61#define RESERVED 0xC0 /* bit 6,7: reserved */
62
63#define get_byte() (inbuf[inptr++])
64
65/* Diagnostic functions */
66#ifdef DEBUG
67# define Assert(cond, msg) do { \
68 if (!(cond)) \
69 error(msg); \
70 } while (0)
71# define Trace(x) fprintf x
72# define Tracev(x) do { \
73 if (verbose) \
74 fprintf x; \
75 } while (0)
76# define Tracevv(x) do { \
77 if (verbose > 1) \
78 fprintf x; \
79 } while (0)
80# define Tracec(c, x) do { \
81 if (verbose && (c)) \
82 fprintf x; \
83 } while (0)
84# define Tracecv(c, x) do { \
85 if (verbose > 1 && (c)) \
86 fprintf x; \
87 } while (0)
88#else
89# define Assert(cond, msg)
90# define Trace(x)
91# define Tracev(x)
92# define Tracevv(x)
93# define Tracec(c, x)
94# define Tracecv(c, x)
95#endif
96
97static void flush_window(void);
98static void error(char *m);
99
100extern char *input_data; /* lives in head.S */
101
102static long bytes_out = 0;
103static uch *output_data;
104static unsigned long output_ptr = 0;
105static void puts(const char *);
106
107/* the "heap" is put directly after the BSS ends, at end */
108
109extern int _end;
110static long free_mem_ptr = (long)&_end;
111static long free_mem_end_ptr;
112
113#include "../../../../../lib/inflate.c"
114
115/* decompressor info and error messages to serial console */
116
117static void
118puts(const char *s)
119{
120#ifndef CONFIG_ETRAX_DEBUG_PORT_NULL
121 while (*s) {
122#ifdef CONFIG_ETRAX_DEBUG_PORT0
123 while (!(*R_SERIAL0_STATUS & (1 << 5))) ;
124 *R_SERIAL0_TR_DATA = *s++;
125#endif
126#ifdef CONFIG_ETRAX_DEBUG_PORT1
127 while (!(*R_SERIAL1_STATUS & (1 << 5))) ;
128 *R_SERIAL1_TR_DATA = *s++;
129#endif
130#ifdef CONFIG_ETRAX_DEBUG_PORT2
131 while (!(*R_SERIAL2_STATUS & (1 << 5))) ;
132 *R_SERIAL2_TR_DATA = *s++;
133#endif
134#ifdef CONFIG_ETRAX_DEBUG_PORT3
135 while (!(*R_SERIAL3_STATUS & (1 << 5))) ;
136 *R_SERIAL3_TR_DATA = *s++;
137#endif
138 }
139#endif
140}
141
142void *memset(void *s, int c, size_t n)
143{
144 int i;
145 char *ss = (char *)s;
146
147 for (i = 0; i < n; i++)
148 ss[i] = c;
149
150 return s;
151}
152
153void *memcpy(void *__dest, __const void *__src, size_t __n)
154{
155 int i;
156 char *d = (char *)__dest, *s = (char *)__src;
157
158 for (i = 0; i < __n; i++)
159 d[i] = s[i];
160
161 return __dest;
162}
163
164/* ===========================================================================
165 * Write the output window window[0..outcnt-1] and update crc and bytes_out.
166 * (Used for the decompressed data only.)
167 */
168
169static void flush_window(void)
170{
171 ulg c = crc; /* temporary variable */
172 unsigned n;
173 uch *in, *out, ch;
174
175 in = window;
176 out = &output_data[output_ptr];
177 for (n = 0; n < outcnt; n++) {
178 ch = *out = *in;
179 out++;
180 in++;
181 c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
182 }
183 crc = c;
184 bytes_out += (ulg)outcnt;
185 output_ptr += (ulg)outcnt;
186 outcnt = 0;
187}
188
189static void error(char *x)
190{
191 puts("\n\n");
192 puts(x);
193 puts("\n\n -- System halted\n");
194
195 while (1); /* Halt */
196}
197
198void setup_normal_output_buffer(void)
199{
200 output_data = (char *)KERNEL_LOAD_ADR;
201}
202
203void decompress_kernel(void)
204{
205 char revision;
206
207 /* input_data is set in head.S */
208 inbuf = input_data;
209
210#ifdef CONFIG_ETRAX_DEBUG_PORT0
211 *R_SERIAL0_XOFF = 0;
212 *R_SERIAL0_BAUD = 0x99;
213 *R_SERIAL0_TR_CTRL = 0x40;
214#endif
215#ifdef CONFIG_ETRAX_DEBUG_PORT1
216 *R_SERIAL1_XOFF = 0;
217 *R_SERIAL1_BAUD = 0x99;
218 *R_SERIAL1_TR_CTRL = 0x40;
219#endif
220#ifdef CONFIG_ETRAX_DEBUG_PORT2
221 *R_GEN_CONFIG = 0x08;
222 *R_SERIAL2_XOFF = 0;
223 *R_SERIAL2_BAUD = 0x99;
224 *R_SERIAL2_TR_CTRL = 0x40;
225#endif
226#ifdef CONFIG_ETRAX_DEBUG_PORT3
227 *R_GEN_CONFIG = 0x100;
228 *R_SERIAL3_XOFF = 0;
229 *R_SERIAL3_BAUD = 0x99;
230 *R_SERIAL3_TR_CTRL = 0x40;
231#endif
232
233 setup_normal_output_buffer();
234
235 makecrc();
236
237 __asm__ volatile ("move $vr,%0" : "=rm" (revision));
238 if (revision < 10) {
239 puts("You need an ETRAX 100LX to run linux 2.6\n");
240 while (1);
241 }
242
243 puts("Uncompressing Linux...\n");
244 gunzip();
245 puts("Done. Now booting the kernel.\n");
246}
diff --git a/arch/cris/arch-v10/kernel/entry.S b/arch/cris/arch-v10/kernel/entry.S
index 72f5cd319b97..2c18d08cd913 100644
--- a/arch/cris/arch-v10/kernel/entry.S
+++ b/arch/cris/arch-v10/kernel/entry.S
@@ -536,10 +536,10 @@ multiple_interrupt:
536 movem $r13, [$sp] 536 movem $r13, [$sp]
537 push $r10 ; push orig_r10 537 push $r10 ; push orig_r10
538 clear.d [$sp=$sp-4] ; frametype == 0, normal frame 538 clear.d [$sp=$sp-4] ; frametype == 0, normal frame
539 539
540 move.d $sp, $r10 540 move.d $sp, $r10
541 jsr do_multiple_IRQ 541 jsr do_multiple_IRQ
542 542
543 jump ret_from_intr 543 jump ret_from_intr
544 544
545do_sigtrap: 545do_sigtrap:
@@ -585,7 +585,7 @@ _ugdb_handle_breakpoint:
585 pop $r0 ; Restore r0. 585 pop $r0 ; Restore r0.
586 ba do_sigtrap ; SIGTRAP the offending process. 586 ba do_sigtrap ; SIGTRAP the offending process.
587 pop $dccr ; Restore dccr in delay slot. 587 pop $dccr ; Restore dccr in delay slot.
588 588
589 .global kernel_execve 589 .global kernel_execve
590kernel_execve: 590kernel_execve:
591 move.d __NR_execve, $r9 591 move.d __NR_execve, $r9
@@ -929,6 +929,14 @@ sys_call_table:
929 .long sys_fallocate 929 .long sys_fallocate
930 .long sys_timerfd_settime /* 325 */ 930 .long sys_timerfd_settime /* 325 */
931 .long sys_timerfd_gettime 931 .long sys_timerfd_gettime
932 .long sys_signalfd4
933 .long sys_eventfd2
934 .long sys_epoll_create1
935 .long sys_dup3 /* 330 */
936 .long sys_pipe2
937 .long sys_inotify_init1
938 .long sys_preadv
939 .long sys_pwritev
932 940
933 /* 941 /*
934 * NOTE!! This doesn't have to be exact - we just have 942 * NOTE!! This doesn't have to be exact - we just have
diff --git a/arch/cris/arch-v32/boot/Makefile b/arch/cris/arch-v32/boot/Makefile
deleted file mode 100644
index 99896ad60b30..000000000000
--- a/arch/cris/arch-v32/boot/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
1#
2# arch/cris/arch-v32/boot/Makefile
3#
4
5OBJCOPYFLAGS = -O binary -R .note -R .comment
6
7subdir- := compressed rescue
8targets := Image
9
10$(obj)/Image: vmlinux FORCE
11 $(call if_changed,objcopy)
12 @echo ' Kernel: $@ is ready'
13
14$(obj)/compressed/vmlinux: $(obj)/Image FORCE
15 $(Q)$(MAKE) $(build)=$(obj)/compressed $@
16 $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
17
18$(obj)/zImage: $(obj)/compressed/vmlinux
19 @cp $< $@
20 @echo ' Kernel: $@ is ready'
diff --git a/arch/cris/arch-v32/boot/compressed/Makefile b/arch/cris/arch-v32/boot/compressed/Makefile
deleted file mode 100644
index e176b8b69d92..000000000000
--- a/arch/cris/arch-v32/boot/compressed/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
1#
2# arch/cris/arch-v32/boot/compressed/Makefile
3#
4
5asflags-y += -I$(srctree)/include/asm/mach/ -I$(srctree)/include/asm/arch
6ccflags-y += -O2 -I$(srctree)/include/asm/mach/ -I$(srctree)/include/asm/arch
7ldflags-y += -T$(srctree)/$(src)/decompress.lds
8OBJECTS = $(obj)/head.o $(obj)/misc.o
9OBJCOPYFLAGS = -O binary --remove-section=.bss
10
11quiet_cmd_image = BUILD $@
12cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
13
14targets := vmlinux piggy.gz decompress.o decompress.bin
15
16$(obj)/decompress.o: $(OBJECTS) FORCE
17 $(call if_changed,ld)
18
19$(obj)/decompress.bin: $(obj)/decompress.o FORCE
20 $(call if_changed,objcopy)
21
22$(obj)/vmlinux: $(obj)/piggy.gz $(obj)/decompress.bin FORCE
23 $(call if_changed,image)
24
25$(obj)/piggy.gz: $(obj)/../Image FORCE
26 $(call if_changed,gzip)
diff --git a/arch/cris/arch-v32/boot/rescue/Makefile b/arch/cris/arch-v32/boot/rescue/Makefile
deleted file mode 100644
index 566aac663a38..000000000000
--- a/arch/cris/arch-v32/boot/rescue/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
1#
2# Makefile for rescue (bootstrap) code
3#
4
5CC = gcc-cris -mlinux -march=v32 $(LINUXINCLUDE)
6ccflags-y += -O2 -I $(srctree)/include/asm/arch/mach/ \
7 -I $(srctree)/include/asm/arch
8asflags-y += -I $(srctree)/include/asm/arch/mach/ -I $(srctree)/include/asm/arch
9LD = gcc-cris -mlinux -march=v32 -nostdlib
10ldflags-y += -T $(srctree)/$(src)/rescue.lds
11LDPOSTFLAGS = -lgcc
12OBJCOPYFLAGS = -O binary --remove-section=.bss
13obj-$(CONFIG_ETRAX_AXISFLASHMAP) = head.o
14OBJECT := $(obj)/head.o
15
16targets := rescue.o rescue.bin
17
18quiet_cmd_ldlibgcc = LD $@
19cmd_ldlibgcc = $(LD) $(LDFLAGS) $(filter-out FORCE,$^) $(LDPOSTFLAGS) -o $@
20
21$(obj)/rescue.o: $(OBJECTS) FORCE
22 $(call if_changed,ldlibgcc)
23
24$(obj)/rescue.bin: $(obj)/rescue.o FORCE
25 $(call if_changed,objcopy)
26 cp -p $(obj)/rescue.bin $(objtree)
diff --git a/arch/cris/arch-v32/drivers/mach-a3/gpio.c b/arch/cris/arch-v32/drivers/mach-a3/gpio.c
index 7a87bc0ae2e8..97357cfd17bb 100644
--- a/arch/cris/arch-v32/drivers/mach-a3/gpio.c
+++ b/arch/cris/arch-v32/drivers/mach-a3/gpio.c
@@ -681,7 +681,7 @@ static int virtual_gpio_ioctl(struct file *file, unsigned int cmd,
681 shadow |= ~readl(dir_oe[priv->minor]) | 681 shadow |= ~readl(dir_oe[priv->minor]) |
682 (arg & changeable_bits[priv->minor]); 682 (arg & changeable_bits[priv->minor]);
683 i2c_write(VIRT_I2C_ADDR, (void *)&shadow, sizeof(shadow)); 683 i2c_write(VIRT_I2C_ADDR, (void *)&shadow, sizeof(shadow));
684 spin_lock_irqrestore(&gpio_lock, flags); 684 spin_unlock_irqrestore(&gpio_lock, flags);
685 break; 685 break;
686 case IO_CLRBITS: 686 case IO_CLRBITS:
687 spin_lock_irqsave(&gpio_lock, flags); 687 spin_lock_irqsave(&gpio_lock, flags);
@@ -690,7 +690,7 @@ static int virtual_gpio_ioctl(struct file *file, unsigned int cmd,
690 shadow |= ~readl(dir_oe[priv->minor]) & 690 shadow |= ~readl(dir_oe[priv->minor]) &
691 ~(arg & changeable_bits[priv->minor]); 691 ~(arg & changeable_bits[priv->minor]);
692 i2c_write(VIRT_I2C_ADDR, (void *)&shadow, sizeof(shadow)); 692 i2c_write(VIRT_I2C_ADDR, (void *)&shadow, sizeof(shadow));
693 spin_lock_irqrestore(&gpio_lock, flags); 693 spin_unlock_irqrestore(&gpio_lock, flags);
694 break; 694 break;
695 case IO_HIGHALARM: 695 case IO_HIGHALARM:
696 /* Set alarm when bits with 1 in arg go high. */ 696 /* Set alarm when bits with 1 in arg go high. */
diff --git a/arch/cris/arch-v32/kernel/Makefile b/arch/cris/arch-v32/kernel/Makefile
index 993d987b0078..40358355d0cb 100644
--- a/arch/cris/arch-v32/kernel/Makefile
+++ b/arch/cris/arch-v32/kernel/Makefile
@@ -9,8 +9,6 @@ obj-y := entry.o traps.o irq.o debugport.o \
9 process.o ptrace.o setup.o signal.o traps.o time.o \ 9 process.o ptrace.o setup.o signal.o traps.o time.o \
10 cache.o cacheflush.o 10 cache.o cacheflush.o
11 11
12obj-$(CONFIG_ETRAXFS_SIM) += vcs_hook.o
13
14obj-$(CONFIG_SMP) += smp.o 12obj-$(CONFIG_SMP) += smp.o
15obj-$(CONFIG_ETRAX_KGDB) += kgdb.o kgdb_asm.o 13obj-$(CONFIG_ETRAX_KGDB) += kgdb.o kgdb_asm.o
16obj-$(CONFIG_ETRAX_FAST_TIMER) += fasttimer.o 14obj-$(CONFIG_ETRAX_FAST_TIMER) += fasttimer.o
diff --git a/arch/cris/arch-v32/kernel/entry.S b/arch/cris/arch-v32/kernel/entry.S
index 5e674c8f7c51..435b9671bd4b 100644
--- a/arch/cris/arch-v32/kernel/entry.S
+++ b/arch/cris/arch-v32/kernel/entry.S
@@ -852,6 +852,14 @@ sys_call_table:
852 .long sys_fallocate 852 .long sys_fallocate
853 .long sys_timerfd_settime /* 325 */ 853 .long sys_timerfd_settime /* 325 */
854 .long sys_timerfd_gettime 854 .long sys_timerfd_gettime
855 .long sys_signalfd4
856 .long sys_eventfd2
857 .long sys_epoll_create1
858 .long sys_dup3 /* 330 */
859 .long sys_pipe2
860 .long sys_inotify_init1
861 .long sys_preadv
862 .long sys_pwritev
855 863
856 /* 864 /*
857 * NOTE!! This doesn't have to be exact - we just have 865 * NOTE!! This doesn't have to be exact - we just have
diff --git a/arch/cris/arch-v10/boot/.gitignore b/arch/cris/boot/.gitignore
index 171a0853caf8..171a0853caf8 100644
--- a/arch/cris/arch-v10/boot/.gitignore
+++ b/arch/cris/boot/.gitignore
diff --git a/arch/cris/arch-v10/boot/Makefile b/arch/cris/boot/Makefile
index 217203014433..144f3afa0119 100644
--- a/arch/cris/arch-v10/boot/Makefile
+++ b/arch/cris/boot/Makefile
@@ -1,8 +1,12 @@
1# 1#
2# arch/cris/arch-v10/boot/Makefile 2# arch/cris/boot/Makefile
3# 3#
4 4
5OBJCOPYFLAGS = -O binary --remove-section=.bss 5objcopyflags-$(CONFIG_ETRAX_ARCH_V10) += -R .note -R .comment
6objcopyflags-$(CONFIG_ETRAX_ARCH_V32) += --remove-section=.bss
7
8OBJCOPYFLAGS = -O binary $(objcopyflags-y)
9
6 10
7subdir- := compressed rescue 11subdir- := compressed rescue
8targets := Image 12targets := Image
diff --git a/arch/cris/arch-v10/boot/compressed/Makefile b/arch/cris/boot/compressed/Makefile
index 6fe0ffaf3be6..8fe9338c1775 100644
--- a/arch/cris/arch-v10/boot/compressed/Makefile
+++ b/arch/cris/boot/compressed/Makefile
@@ -1,11 +1,23 @@
1# 1#
2# arch/cris/arch-v10/boot/compressed/Makefile 2# arch/cris/boot/compressed/Makefile
3# 3#
4 4
5asflags-y += $(LINUXINCLUDE) 5asflags-y += $(LINUXINCLUDE)
6ccflags-y += -O2 $(LINUXINCLUDE) 6ccflags-y += -O2 $(LINUXINCLUDE)
7ldflags-y += -T $(srctree)/$(src)/decompress.lds 7
8OBJECTS = $(obj)/head.o $(obj)/misc.o 8# asflags-$(CONFIG_ETRAX_ARCH_V32) += -I$(srctree)/include/asm/mach \
9# -I$(srctree)/include/asm/arch
10# ccflags-$(CONFIG_ETRAX_ARCH_V32) += -O2 -I$(srctree)/include/asm/mach
11# -I$(srctree)/include/asm/arch
12
13arch-$(CONFIG_ETRAX_ARCH_V10) = v10
14arch-$(CONFIG_ETRAX_ARCH_V32) = v32
15
16ldflags-y += -T $(srctree)/$(src)/decompress_$(arch-y).lds
17
18OBJECTS-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
19OBJECTS-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
20OBJECTS= $(OBJECTS-y) $(obj)/misc.o
9OBJCOPYFLAGS = -O binary --remove-section=.bss 21OBJCOPYFLAGS = -O binary --remove-section=.bss
10 22
11quiet_cmd_image = BUILD $@ 23quiet_cmd_image = BUILD $@
@@ -24,4 +36,3 @@ $(obj)/vmlinux: $(obj)/piggy.gz $(obj)/decompress.bin FORCE
24 36
25$(obj)/piggy.gz: $(obj)/../Image FORCE 37$(obj)/piggy.gz: $(obj)/../Image FORCE
26 $(call if_changed,gzip) 38 $(call if_changed,gzip)
27
diff --git a/arch/cris/arch-v32/boot/compressed/README b/arch/cris/boot/compressed/README
index 182c5d75784b..182c5d75784b 100644
--- a/arch/cris/arch-v32/boot/compressed/README
+++ b/arch/cris/boot/compressed/README
diff --git a/arch/cris/arch-v10/boot/compressed/decompress.lds b/arch/cris/boot/compressed/decompress_v10.lds
index e80f4594d543..e80f4594d543 100644
--- a/arch/cris/arch-v10/boot/compressed/decompress.lds
+++ b/arch/cris/boot/compressed/decompress_v10.lds
diff --git a/arch/cris/arch-v32/boot/compressed/decompress.lds b/arch/cris/boot/compressed/decompress_v32.lds
index 3c837feca3ac..3c837feca3ac 100644
--- a/arch/cris/arch-v32/boot/compressed/decompress.lds
+++ b/arch/cris/boot/compressed/decompress_v32.lds
diff --git a/arch/cris/arch-v10/boot/compressed/head.S b/arch/cris/boot/compressed/head_v10.S
index 0bb4dcc29254..9edb8ade7e1f 100644
--- a/arch/cris/arch-v10/boot/compressed/head.S
+++ b/arch/cris/boot/compressed/head_v10.S
@@ -30,7 +30,7 @@
30 beq dram_init_finished 30 beq dram_init_finished
31 nop 31 nop
32 32
33#include "../../lib/dram_init.S" 33#include "../../arch-v10/lib/dram_init.S"
34 34
35dram_init_finished: 35dram_init_finished:
36 36
@@ -123,4 +123,4 @@ _cmd_line_magic:
123 .dword 0 123 .dword 0
124_cmd_line_addr: 124_cmd_line_addr:
125 .dword 0 125 .dword 0
126#include "../../lib/hw_settings.S" 126#include "../../arch-v10/lib/hw_settings.S"
diff --git a/arch/cris/arch-v32/boot/compressed/head.S b/arch/cris/boot/compressed/head_v32.S
index a4a65c5c669e..f483005f3d48 100644
--- a/arch/cris/arch-v32/boot/compressed/head.S
+++ b/arch/cris/boot/compressed/head_v32.S
@@ -17,7 +17,7 @@
17 .globl input_data 17 .globl input_data
18 18
19 .text 19 .text
20_start: 20start:
21 di 21 di
22 22
23 ;; Start clocks for used blocks. 23 ;; Start clocks for used blocks.
@@ -29,9 +29,9 @@ _start:
29 nop 29 nop
30 30
31#if defined CONFIG_ETRAXFS 31#if defined CONFIG_ETRAXFS
32#include "../../mach-fs/dram_init.S" 32#include "../../arch-v32/mach-fs/dram_init.S"
33#elif defined CONFIG_CRIS_MACH_ARTPEC3 33#elif defined CONFIG_CRIS_MACH_ARTPEC3
34#include "../../mach-a3/dram_init.S" 34#include "../../arch-v32/mach-a3/dram_init.S"
35#else 35#else
36#error Only ETRAXFS and ARTPEC-3 supported! 36#error Only ETRAXFS and ARTPEC-3 supported!
37#endif 37#endif
@@ -137,9 +137,9 @@ _boot_source:
137 .dword 0 137 .dword 0
138 138
139#if defined CONFIG_ETRAXFS 139#if defined CONFIG_ETRAXFS
140#include "../../mach-fs/hw_settings.S" 140#include "../../arch-v32/mach-fs/hw_settings.S"
141#elif defined CONFIG_CRIS_MACH_ARTPEC3 141#elif defined CONFIG_CRIS_MACH_ARTPEC3
142#include "../../mach-a3/hw_settings.S" 142#include "../../arch-v32/mach-a3/hw_settings.S"
143#else 143#else
144#error Only ETRAXFS and ARTPEC-3 supported! 144#error Only ETRAXFS and ARTPEC-3 supported!
145#endif 145#endif
diff --git a/arch/cris/arch-v32/boot/compressed/misc.c b/arch/cris/boot/compressed/misc.c
index 3595e16e82bc..47bc190ba6d4 100644
--- a/arch/cris/arch-v32/boot/compressed/misc.c
+++ b/arch/cris/boot/compressed/misc.c
@@ -18,8 +18,9 @@
18 18
19#define KERNEL_LOAD_ADR 0x40004000 19#define KERNEL_LOAD_ADR 0x40004000
20 20
21
22#include <linux/types.h> 21#include <linux/types.h>
22
23#ifdef CONFIG_ETRAX_ARCH_V32
23#include <hwregs/reg_rdwr.h> 24#include <hwregs/reg_rdwr.h>
24#include <hwregs/reg_map.h> 25#include <hwregs/reg_map.h>
25#include <hwregs/ser_defs.h> 26#include <hwregs/ser_defs.h>
@@ -27,6 +28,9 @@
27#ifdef CONFIG_CRIS_MACH_ARTPEC3 28#ifdef CONFIG_CRIS_MACH_ARTPEC3
28#include <hwregs/clkgen_defs.h> 29#include <hwregs/clkgen_defs.h>
29#endif 30#endif
31#else
32#include <arch/svinto.h>
33#endif
30 34
31/* 35/*
32 * gzip declarations 36 * gzip declarations
@@ -35,12 +39,10 @@
35#define OF(args) args 39#define OF(args) args
36#define STATIC static 40#define STATIC static
37 41
38void* memset(void* s, int c, size_t n); 42void *memset(void *s, int c, size_t n);
39void* memcpy(void* __dest, __const void* __src, 43void *memcpy(void *__dest, __const void *__src, size_t __n);
40 size_t __n);
41
42#define memzero(s, n) memset ((s), 0, (n))
43 44
45#define memzero(s, n) memset((s), 0, (n))
44 46
45typedef unsigned char uch; 47typedef unsigned char uch;
46typedef unsigned short ush; 48typedef unsigned short ush;
@@ -68,27 +70,43 @@ static unsigned outcnt = 0; /* bytes in output buffer */
68#define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */ 70#define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */
69#define RESERVED 0xC0 /* bit 6,7: reserved */ 71#define RESERVED 0xC0 /* bit 6,7: reserved */
70 72
71#define get_byte() inbuf[inptr++] 73#define get_byte() (inbuf[inptr++])
72 74
73/* Diagnostic functions */ 75/* Diagnostic functions */
74#ifdef DEBUG 76#ifdef DEBUG
75# define Assert(cond,msg) {if(!(cond)) error(msg);} 77# define Assert(cond, msg) do { \
78 if (!(cond)) \
79 error(msg); \
80 } while (0)
76# define Trace(x) fprintf x 81# define Trace(x) fprintf x
77# define Tracev(x) {if (verbose) fprintf x ;} 82# define Tracev(x) do { \
78# define Tracevv(x) {if (verbose>1) fprintf x ;} 83 if (verbose) \
79# define Tracec(c,x) {if (verbose && (c)) fprintf x ;} 84 fprintf x; \
80# define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;} 85 } while (0)
86# define Tracevv(x) do { \
87 if (verbose > 1) \
88 fprintf x; \
89 } while (0)
90# define Tracec(c, x) do { \
91 if (verbose && (c)) \
92 fprintf x; \
93 } while (0)
94# define Tracecv(c, x) do { \
95 if (verbose > 1 && (c)) \
96 fprintf x; \
97 } while (0)
81#else 98#else
82# define Assert(cond,msg) 99# define Assert(cond, msg)
83# define Trace(x) 100# define Trace(x)
84# define Tracev(x) 101# define Tracev(x)
85# define Tracevv(x) 102# define Tracevv(x)
86# define Tracec(c,x) 103# define Tracec(c, x)
87# define Tracecv(c,x) 104# define Tracecv(c, x)
88#endif 105#endif
89 106
90static void flush_window(void); 107static void flush_window(void);
91static void error(char *m); 108static void error(char *m);
109static void puts(const char *);
92 110
93extern char *input_data; /* lives in head.S */ 111extern char *input_data; /* lives in head.S */
94 112
@@ -96,10 +114,6 @@ static long bytes_out;
96static uch *output_data; 114static uch *output_data;
97static unsigned long output_ptr; 115static unsigned long output_ptr;
98 116
99static void error(char *m);
100
101static void puts(const char *);
102
103/* the "heap" is put directly after the BSS ends, at end */ 117/* the "heap" is put directly after the BSS ends, at end */
104 118
105extern int _end; 119extern int _end;
@@ -110,8 +124,8 @@ static long free_mem_end_ptr;
110 124
111/* decompressor info and error messages to serial console */ 125/* decompressor info and error messages to serial console */
112 126
113static inline void 127#ifdef CONFIG_ETRAX_ARCH_V32
114serout(const char *s, reg_scope_instances regi_ser) 128static inline void serout(const char *s, reg_scope_instances regi_ser)
115{ 129{
116 reg_ser_rs_stat_din rs; 130 reg_ser_rs_stat_din rs;
117 reg_ser_rw_dout dout = {.data = *s}; 131 reg_ser_rw_dout dout = {.data = *s};
@@ -123,23 +137,47 @@ serout(const char *s, reg_scope_instances regi_ser)
123 137
124 REG_WR(ser, regi_ser, rw_dout, dout); 138 REG_WR(ser, regi_ser, rw_dout, dout);
125} 139}
140#endif
126 141
127static void 142static void puts(const char *s)
128puts(const char *s)
129{ 143{
130#ifndef CONFIG_ETRAX_DEBUG_PORT_NULL 144#ifndef CONFIG_ETRAX_DEBUG_PORT_NULL
131 while (*s) { 145 while (*s) {
132#ifdef CONFIG_ETRAX_DEBUG_PORT0 146#ifdef CONFIG_ETRAX_DEBUG_PORT0
147#ifdef CONFIG_ETRAX_ARCH_V32
133 serout(s, regi_ser0); 148 serout(s, regi_ser0);
149#else
150 while (!(*R_SERIAL0_STATUS & (1 << 5)))
151 ;
152 *R_SERIAL0_TR_DATA = *s++;
153#endif
134#endif 154#endif
135#ifdef CONFIG_ETRAX_DEBUG_PORT1 155#ifdef CONFIG_ETRAX_DEBUG_PORT1
156#ifdef CONFIG_ETRAX_ARCH_V32
136 serout(s, regi_ser1); 157 serout(s, regi_ser1);
158#else
159 while (!(*R_SERIAL1_STATUS & (1 << 5)))
160 ;
161 *R_SERIAL1_TR_DATA = *s++;
162#endif
137#endif 163#endif
138#ifdef CONFIG_ETRAX_DEBUG_PORT2 164#ifdef CONFIG_ETRAX_DEBUG_PORT2
165#ifdef CONFIG_ETRAX_ARCH_V32
139 serout(s, regi_ser2); 166 serout(s, regi_ser2);
167#else
168 while (!(*R_SERIAL2_STATUS & (1 << 5)))
169 ;
170 *R_SERIAL2_TR_DATA = *s++;
171#endif
140#endif 172#endif
141#ifdef CONFIG_ETRAX_DEBUG_PORT3 173#ifdef CONFIG_ETRAX_DEBUG_PORT3
174#ifdef CONFIG_ETRAX_ARCH_V32
142 serout(s, regi_ser3); 175 serout(s, regi_ser3);
176#else
177 while (!(*R_SERIAL3_STATUS & (1 << 5)))
178 ;
179 *R_SERIAL3_TR_DATA = *s++;
180#endif
143#endif 181#endif
144 *s++; 182 *s++;
145 } 183 }
@@ -147,8 +185,7 @@ puts(const char *s)
147#endif 185#endif
148} 186}
149 187
150void* 188void *memset(void *s, int c, size_t n)
151memset(void* s, int c, size_t n)
152{ 189{
153 int i; 190 int i;
154 char *ss = (char*)s; 191 char *ss = (char*)s;
@@ -158,14 +195,13 @@ memset(void* s, int c, size_t n)
158 return s; 195 return s;
159} 196}
160 197
161void* 198void *memcpy(void *__dest, __const void *__src, size_t __n)
162memcpy(void* __dest, __const void* __src,
163 size_t __n)
164{ 199{
165 int i; 200 int i;
166 char *d = (char *)__dest, *s = (char *)__src; 201 char *d = (char *)__dest, *s = (char *)__src;
167 202
168 for (i=0;i<__n;i++) d[i] = s[i]; 203 for (i = 0; i < __n; i++)
204 d[i] = s[i];
169 205
170 return __dest; 206 return __dest;
171} 207}
@@ -175,43 +211,42 @@ memcpy(void* __dest, __const void* __src,
175 * (Used for the decompressed data only.) 211 * (Used for the decompressed data only.)
176 */ 212 */
177 213
178static void 214static void flush_window(void)
179flush_window()
180{ 215{
181 ulg c = crc; /* temporary variable */ 216 ulg c = crc; /* temporary variable */
182 unsigned n; 217 unsigned n;
183 uch *in, *out, ch; 218 uch *in, *out, ch;
184 219
185 in = window; 220 in = window;
186 out = &output_data[output_ptr]; 221 out = &output_data[output_ptr];
187 for (n = 0; n < outcnt; n++) { 222 for (n = 0; n < outcnt; n++) {
188 ch = *out++ = *in++; 223 ch = *out = *in;
189 c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8); 224 out++;
190 } 225 in++;
191 crc = c; 226 c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
192 bytes_out += (ulg)outcnt; 227 }
193 output_ptr += (ulg)outcnt; 228 crc = c;
194 outcnt = 0; 229 bytes_out += (ulg)outcnt;
230 output_ptr += (ulg)outcnt;
231 outcnt = 0;
195} 232}
196 233
197static void 234static void error(char *x)
198error(char *x)
199{ 235{
200 puts("\r\n\n"); 236 puts("\n\n");
201 puts(x); 237 puts(x);
202 puts("\r\n\n -- System halted\n"); 238 puts("\n\n -- System halted\n");
203 239
204 while(1); /* Halt */ 240 while(1); /* Halt */
205} 241}
206 242
207void 243void setup_normal_output_buffer(void)
208setup_normal_output_buffer(void)
209{ 244{
210 output_data = (char *)KERNEL_LOAD_ADR; 245 output_data = (char *)KERNEL_LOAD_ADR;
211} 246}
212 247
213static inline void 248#ifdef CONFIG_ETRAX_ARCH_V32
214serial_setup(reg_scope_instances regi_ser) 249static inline void serial_setup(reg_scope_instances regi_ser)
215{ 250{
216 reg_ser_rw_xoff xoff; 251 reg_ser_rw_xoff xoff;
217 reg_ser_rw_tr_ctrl tr_ctrl; 252 reg_ser_rw_tr_ctrl tr_ctrl;
@@ -252,12 +287,16 @@ serial_setup(reg_scope_instances regi_ser)
252 REG_WR(ser, regi_ser, rw_rec_ctrl, rec_ctrl); 287 REG_WR(ser, regi_ser, rw_rec_ctrl, rec_ctrl);
253 REG_WR(ser, regi_ser, rw_rec_baud_div, rec_baud); 288 REG_WR(ser, regi_ser, rw_rec_baud_div, rec_baud);
254} 289}
290#endif
255 291
256void 292void decompress_kernel(void)
257decompress_kernel(void)
258{ 293{
259 char revision; 294 char revision;
295 char compile_rev;
260 296
297#ifdef CONFIG_ETRAX_ARCH_V32
298 /* Need at least a CRISv32 to run. */
299 compile_rev = 32;
261#if defined(CONFIG_ETRAX_DEBUG_PORT1) || \ 300#if defined(CONFIG_ETRAX_DEBUG_PORT1) || \
262 defined(CONFIG_ETRAX_DEBUG_PORT2) || \ 301 defined(CONFIG_ETRAX_DEBUG_PORT2) || \
263 defined(CONFIG_ETRAX_DEBUG_PORT3) 302 defined(CONFIG_ETRAX_DEBUG_PORT3)
@@ -277,6 +316,7 @@ decompress_kernel(void)
277 hwprot = REG_RD(pinmux, regi_pinmux, rw_hwprot); 316 hwprot = REG_RD(pinmux, regi_pinmux, rw_hwprot);
278#endif 317#endif
279 318
319
280#ifdef CONFIG_ETRAX_DEBUG_PORT0 320#ifdef CONFIG_ETRAX_DEBUG_PORT0
281 serial_setup(regi_ser0); 321 serial_setup(regi_ser0);
282#endif 322#endif
@@ -300,19 +340,52 @@ decompress_kernel(void)
300 340
301 /* input_data is set in head.S */ 341 /* input_data is set in head.S */
302 inbuf = input_data; 342 inbuf = input_data;
343#else /* CRISv10 */
344 /* Need at least a crisv10 to run. */
345 compile_rev = 10;
346
347 /* input_data is set in head.S */
348 inbuf = input_data;
349
350#ifdef CONFIG_ETRAX_DEBUG_PORT0
351 *R_SERIAL0_XOFF = 0;
352 *R_SERIAL0_BAUD = 0x99;
353 *R_SERIAL0_TR_CTRL = 0x40;
354#endif
355#ifdef CONFIG_ETRAX_DEBUG_PORT1
356 *R_SERIAL1_XOFF = 0;
357 *R_SERIAL1_BAUD = 0x99;
358 *R_SERIAL1_TR_CTRL = 0x40;
359#endif
360#ifdef CONFIG_ETRAX_DEBUG_PORT2
361 *R_GEN_CONFIG = 0x08;
362 *R_SERIAL2_XOFF = 0;
363 *R_SERIAL2_BAUD = 0x99;
364 *R_SERIAL2_TR_CTRL = 0x40;
365#endif
366#ifdef CONFIG_ETRAX_DEBUG_PORT3
367 *R_GEN_CONFIG = 0x100;
368 *R_SERIAL3_XOFF = 0;
369 *R_SERIAL3_BAUD = 0x99;
370 *R_SERIAL3_TR_CTRL = 0x40;
371#endif
372#endif
303 373
304 setup_normal_output_buffer(); 374 setup_normal_output_buffer();
305 375
306 makecrc(); 376 makecrc();
307 377
308 __asm__ volatile ("move $vr,%0" : "=rm" (revision)); 378 __asm__ volatile ("move $vr,%0" : "=rm" (revision));
309 if (revision < 32) 379 if (revision < compile_rev) {
310 { 380#ifdef CONFIG_ETRAX_ARCH_V32
311 puts("You need an ETRAX FS to run Linux 2.6/crisv32.\r\n"); 381 puts("You need an ETRAX FS to run Linux 2.6/crisv32\n");
382#else
383 puts("You need an ETRAX 100LX to run linux 2.6\n");
384#endif
312 while(1); 385 while(1);
313 } 386 }
314 387
315 puts("Uncompressing Linux...\r\n"); 388 puts("Uncompressing Linux...\n");
316 gunzip(); 389 gunzip();
317 puts("Done. Now booting the kernel.\r\n"); 390 puts("Done. Now booting the kernel\n");
318} 391}
diff --git a/arch/cris/arch-v10/boot/rescue/Makefile b/arch/cris/boot/rescue/Makefile
index 82ab59b968e5..52bd0bd1dd22 100644
--- a/arch/cris/arch-v10/boot/rescue/Makefile
+++ b/arch/cris/boot/rescue/Makefile
@@ -2,16 +2,26 @@
2# Makefile for rescue (bootstrap) code 2# Makefile for rescue (bootstrap) code
3# 3#
4 4
5ccflags-y += -O2 $(LINUXINCLUDE) 5# CC = gcc-cris -mlinux -march=v32 $(LINUXINCLUDE)
6# ccflags-$(CONFIG_ETRAX_ARCH_V32) += -I$(srctree)/include/asm/arch/mach/ \
7# -I$(srctree)/include/asm/arch
8# asflags-y += -I $(srctree)/include/asm/arch/mach/ -I $(srctree)/include/asm/arch
9# LD = gcc-cris -mlinux -march=v32 -nostdlib
10
6asflags-y += $(LINUXINCLUDE) 11asflags-y += $(LINUXINCLUDE)
7ldflags-y += -T $(srctree)/$(src)/rescue.lds 12ccflags-y += -O2 $(LINUXINCLUDE)
13arch-$(CONFIG_ETRAX_ARCH_V10) = v10
14arch-$(CONFIG_ETRAX_ARCH_V32) = v32
15
16ldflags-y += -T $(srctree)/$(src)/rescue_$(arch-y).lds
8OBJCOPYFLAGS = -O binary --remove-section=.bss 17OBJCOPYFLAGS = -O binary --remove-section=.bss
9obj-$(CONFIG_ETRAX_AXISFLASHMAP) = head.o 18obj-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
10OBJECT := $(obj)/head.o 19obj-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
20OBJECTS := $(obj-y)
11 21
12targets := rescue.o rescue.bin 22targets := rescue.o rescue.bin
13 23
14$(obj)/rescue.o: $(OBJECT) FORCE 24$(obj)/rescue.o: $(OBJECTS) FORCE
15 $(call if_changed,ld) 25 $(call if_changed,ld)
16 26
17$(obj)/rescue.bin: $(obj)/rescue.o FORCE 27$(obj)/rescue.bin: $(obj)/rescue.o FORCE
@@ -26,6 +36,7 @@ $(obj)/testrescue.bin: $(obj)/testrescue.o
26 dd if=testrescue_tmp.bin of=$(obj)/testrescue.bin bs=1 count=784 36 dd if=testrescue_tmp.bin of=$(obj)/testrescue.bin bs=1 count=784
27 rm tr.bin tmp2423 testrescue_tmp.bin 37 rm tr.bin tmp2423 testrescue_tmp.bin
28 38
39
29$(obj)/kimagerescue.bin: $(obj)/kimagerescue.o 40$(obj)/kimagerescue.bin: $(obj)/kimagerescue.o
30 $(OBJCOPY) $(OBJCOPYFLAGS) $(obj)/kimagerescue.o ktr.bin 41 $(OBJCOPY) $(OBJCOPYFLAGS) $(obj)/kimagerescue.o ktr.bin
31# Pad it to 784 bytes, that's what the rescue loader expects 42# Pad it to 784 bytes, that's what the rescue loader expects
@@ -33,3 +44,4 @@ $(obj)/kimagerescue.bin: $(obj)/kimagerescue.o
33 cat ktr.bin tmp2423 >kimagerescue_tmp.bin 44 cat ktr.bin tmp2423 >kimagerescue_tmp.bin
34 dd if=kimagerescue_tmp.bin of=$(obj)/kimagerescue.bin bs=1 count=784 45 dd if=kimagerescue_tmp.bin of=$(obj)/kimagerescue.bin bs=1 count=784
35 rm ktr.bin tmp2423 kimagerescue_tmp.bin 46 rm ktr.bin tmp2423 kimagerescue_tmp.bin
47
diff --git a/arch/cris/arch-v10/boot/rescue/head.S b/arch/cris/boot/rescue/head_v10.S
index fb503d1eeea4..2fafe247a25b 100644
--- a/arch/cris/arch-v10/boot/rescue/head.S
+++ b/arch/cris/boot/rescue/head_v10.S
@@ -155,7 +155,7 @@ no_newjump:
155#endif 155#endif
156 156
157 ;; We need to setup the bus registers before we start using the DRAM 157 ;; We need to setup the bus registers before we start using the DRAM
158#include "../../lib/dram_init.S" 158#include "../../../arch-v10/lib/dram_init.S"
159 159
160 ;; we now should go through the checksum-table and check the listed 160 ;; we now should go through the checksum-table and check the listed
161 ;; partitions for errors. 161 ;; partitions for errors.
diff --git a/arch/cris/arch-v32/boot/rescue/head.S b/arch/cris/boot/rescue/head_v32.S
index 5f846b7700a3..5f846b7700a3 100644
--- a/arch/cris/arch-v32/boot/rescue/head.S
+++ b/arch/cris/boot/rescue/head_v32.S
diff --git a/arch/cris/arch-v10/boot/rescue/kimagerescue.S b/arch/cris/boot/rescue/kimagerescue.S
index 6f7b3e61260b..6f7b3e61260b 100644
--- a/arch/cris/arch-v10/boot/rescue/kimagerescue.S
+++ b/arch/cris/boot/rescue/kimagerescue.S
diff --git a/arch/cris/arch-v10/boot/rescue/rescue.lds b/arch/cris/boot/rescue/rescue_v10.lds
index 0b52a9490db6..0b52a9490db6 100644
--- a/arch/cris/arch-v10/boot/rescue/rescue.lds
+++ b/arch/cris/boot/rescue/rescue_v10.lds
diff --git a/arch/cris/arch-v32/boot/rescue/rescue.lds b/arch/cris/boot/rescue/rescue_v32.lds
index 8ac646bc1a2b..8ac646bc1a2b 100644
--- a/arch/cris/arch-v32/boot/rescue/rescue.lds
+++ b/arch/cris/boot/rescue/rescue_v32.lds
diff --git a/arch/cris/arch-v10/boot/rescue/testrescue.S b/arch/cris/boot/rescue/testrescue.S
index fc7ec674eca5..fc7ec674eca5 100644
--- a/arch/cris/arch-v10/boot/rescue/testrescue.S
+++ b/arch/cris/boot/rescue/testrescue.S
diff --git a/arch/cris/arch-v10/boot/tools/build.c b/arch/cris/boot/tools/build.c
index c8adef364160..c8adef364160 100644
--- a/arch/cris/arch-v10/boot/tools/build.c
+++ b/arch/cris/boot/tools/build.c
diff --git a/arch/cris/include/asm/unistd.h b/arch/cris/include/asm/unistd.h
index 235d076379d5..c17079388bb9 100644
--- a/arch/cris/include/asm/unistd.h
+++ b/arch/cris/include/asm/unistd.h
@@ -281,7 +281,7 @@
281#define __NR_mbind 274 281#define __NR_mbind 274
282#define __NR_get_mempolicy 275 282#define __NR_get_mempolicy 275
283#define __NR_set_mempolicy 276 283#define __NR_set_mempolicy 276
284#define __NR_mq_open 277 284#define __NR_mq_open 277
285#define __NR_mq_unlink (__NR_mq_open+1) 285#define __NR_mq_unlink (__NR_mq_open+1)
286#define __NR_mq_timedsend (__NR_mq_open+2) 286#define __NR_mq_timedsend (__NR_mq_open+2)
287#define __NR_mq_timedreceive (__NR_mq_open+3) 287#define __NR_mq_timedreceive (__NR_mq_open+3)
@@ -331,10 +331,18 @@
331#define __NR_fallocate 324 331#define __NR_fallocate 324
332#define __NR_timerfd_settime 325 332#define __NR_timerfd_settime 325
333#define __NR_timerfd_gettime 326 333#define __NR_timerfd_gettime 326
334#define __NR_signalfd4 327
335#define __NR_eventfd2 328
336#define __NR_epoll_create1 329
337#define __NR_dup3 330
338#define __NR_pipe2 331
339#define __NR_inotify_init1 332
340#define __NR_preadv 333
341#define __NR_pwritev 334
334 342
335#ifdef __KERNEL__ 343#ifdef __KERNEL__
336 344
337#define NR_syscalls 327 345#define NR_syscalls 335
338 346
339#include <arch/unistd.h> 347#include <arch/unistd.h>
340 348
diff --git a/arch/ia64/include/asm/idle.h b/arch/ia64/include/asm/idle.h
new file mode 100644
index 000000000000..b7685015a8ba
--- /dev/null
+++ b/arch/ia64/include/asm/idle.h
@@ -0,0 +1,7 @@
1#ifndef _ASM_IA64_IDLE_H
2#define _ASM_IA64_IDLE_H
3
4static inline void enter_idle(void) { }
5static inline void exit_idle(void) { }
6
7#endif /* _ASM_IA64_IDLE_H */
diff --git a/arch/ia64/include/asm/xen/events.h b/arch/ia64/include/asm/xen/events.h
index 73248781fba8..b8370c8b6198 100644
--- a/arch/ia64/include/asm/xen/events.h
+++ b/arch/ia64/include/asm/xen/events.h
@@ -36,14 +36,9 @@ static inline int xen_irqs_disabled(struct pt_regs *regs)
36 return !(ia64_psr(regs)->i); 36 return !(ia64_psr(regs)->i);
37} 37}
38 38
39static inline void xen_do_IRQ(int irq, struct pt_regs *regs) 39static inline void handle_irq(int irq, struct pt_regs *regs)
40{ 40{
41 struct pt_regs *old_regs;
42 old_regs = set_irq_regs(regs);
43 irq_enter();
44 __do_IRQ(irq); 41 __do_IRQ(irq);
45 irq_exit();
46 set_irq_regs(old_regs);
47} 42}
48#define irq_ctx_init(cpu) do { } while (0) 43#define irq_ctx_init(cpu) do { } while (0)
49 44
diff --git a/arch/ia64/xen/xensetup.S b/arch/ia64/xen/xensetup.S
index 28fed1fcc079..aff8346ea193 100644
--- a/arch/ia64/xen/xensetup.S
+++ b/arch/ia64/xen/xensetup.S
@@ -54,8 +54,6 @@ END(startup_xen)
54 54
55#define isBP p3 // are we the Bootstrap Processor? 55#define isBP p3 // are we the Bootstrap Processor?
56 56
57 .text
58
59GLOBAL_ENTRY(xen_setup_hook) 57GLOBAL_ENTRY(xen_setup_hook)
60 mov r8=XEN_PV_DOMAIN_ASM 58 mov r8=XEN_PV_DOMAIN_ASM
61(isBP) movl r9=xen_domain_type;; 59(isBP) movl r9=xen_domain_type;;
diff --git a/arch/m32r/boot/compressed/Makefile b/arch/m32r/boot/compressed/Makefile
index d908e1d3c07f..560484ae35ec 100644
--- a/arch/m32r/boot/compressed/Makefile
+++ b/arch/m32r/boot/compressed/Makefile
@@ -6,7 +6,6 @@
6 6
7targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o \ 7targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o \
8 piggy.o vmlinux.lds 8 piggy.o vmlinux.lds
9EXTRA_AFLAGS := -traditional
10 9
11OBJECTS = $(obj)/head.o $(obj)/misc.o 10OBJECTS = $(obj)/head.o $(obj)/misc.o
12 11
diff --git a/arch/m32r/include/asm/assembler.h b/arch/m32r/include/asm/assembler.h
index 26351539b5ff..728799fc70aa 100644
--- a/arch/m32r/include/asm/assembler.h
+++ b/arch/m32r/include/asm/assembler.h
@@ -9,14 +9,15 @@
9 * This file contains M32R architecture specific macro definitions. 9 * This file contains M32R architecture specific macro definitions.
10 */ 10 */
11 11
12#include <linux/stringify.h>
13
14#undef __STR
12 15
13#ifndef __STR
14#ifdef __ASSEMBLY__ 16#ifdef __ASSEMBLY__
15#define __STR(x) x 17#define __STR(x) x
16#else 18#else
17#define __STR(x) #x 19#define __STR(x) __stringify(x)
18#endif 20#endif
19#endif /* __STR */
20 21
21#ifdef CONFIG_SMP 22#ifdef CONFIG_SMP
22#define M32R_LOCK __STR(lock) 23#define M32R_LOCK __STR(lock)
diff --git a/arch/m32r/kernel/Makefile b/arch/m32r/kernel/Makefile
index 09200d4886e3..b1a4b6036591 100644
--- a/arch/m32r/kernel/Makefile
+++ b/arch/m32r/kernel/Makefile
@@ -9,5 +9,3 @@ obj-y := process.o entry.o traps.o align.o irq.o setup.o time.o \
9 9
10obj-$(CONFIG_SMP) += smp.o smpboot.o 10obj-$(CONFIG_SMP) += smp.o smpboot.o
11obj-$(CONFIG_MODULES) += module.o 11obj-$(CONFIG_MODULES) += module.o
12
13EXTRA_AFLAGS := -traditional
diff --git a/arch/microblaze/include/asm/of_platform.h b/arch/microblaze/include/asm/of_platform.h
index 187c0eedaece..37491276c6ca 100644
--- a/arch/microblaze/include/asm/of_platform.h
+++ b/arch/microblaze/include/asm/of_platform.h
@@ -36,16 +36,6 @@ static const struct of_device_id of_default_bus_ids[] = {
36 {}, 36 {},
37}; 37};
38 38
39/* Platform drivers register/unregister */
40static inline int of_register_platform_driver(struct of_platform_driver *drv)
41{
42 return of_register_driver(drv, &of_platform_bus_type);
43}
44static inline void of_unregister_platform_driver(struct of_platform_driver *drv)
45{
46 of_unregister_driver(drv);
47}
48
49/* Platform devices and busses creation */ 39/* Platform devices and busses creation */
50extern struct of_device *of_platform_device_create(struct device_node *np, 40extern struct of_device *of_platform_device_create(struct device_node *np,
51 const char *bus_id, 41 const char *bus_id,
diff --git a/arch/microblaze/kernel/cpu/cpuinfo-static.c b/arch/microblaze/kernel/cpu/cpuinfo-static.c
index cfe44effdb77..450ca6bb828d 100644
--- a/arch/microblaze/kernel/cpu/cpuinfo-static.c
+++ b/arch/microblaze/kernel/cpu/cpuinfo-static.c
@@ -14,8 +14,8 @@
14#include <asm/cpuinfo.h> 14#include <asm/cpuinfo.h>
15#include <asm/pvr.h> 15#include <asm/pvr.h>
16 16
17const static char family_string[] = CONFIG_XILINX_MICROBLAZE0_FAMILY; 17static const char family_string[] = CONFIG_XILINX_MICROBLAZE0_FAMILY;
18const static char cpu_ver_string[] = CONFIG_XILINX_MICROBLAZE0_HW_VER; 18static const char cpu_ver_string[] = CONFIG_XILINX_MICROBLAZE0_HW_VER;
19 19
20#define err_printk(x) \ 20#define err_printk(x) \
21 early_printk("ERROR: Microblaze " x "- different for kernel and DTS\n"); 21 early_printk("ERROR: Microblaze " x "- different for kernel and DTS\n");
diff --git a/arch/microblaze/kernel/sys_microblaze.c b/arch/microblaze/kernel/sys_microblaze.c
index ba0568c2cc1c..31905ff590b7 100644
--- a/arch/microblaze/kernel/sys_microblaze.c
+++ b/arch/microblaze/kernel/sys_microblaze.c
@@ -131,7 +131,7 @@ sys_ipc(uint call, int first, int second, int third, void *ptr, long fifth)
131 ret = sys_shmctl(first, second, (struct shmid_ds *) ptr); 131 ret = sys_shmctl(first, second, (struct shmid_ds *) ptr);
132 break; 132 break;
133 } 133 }
134 return -EINVAL; 134 return ret;
135} 135}
136 136
137asmlinkage int sys_vfork(struct pt_regs *regs) 137asmlinkage int sys_vfork(struct pt_regs *regs)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 998e5db8cc0f..09b1287a92ce 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1411,13 +1411,12 @@ config PAGE_SIZE_4KB
1411 1411
1412config PAGE_SIZE_8KB 1412config PAGE_SIZE_8KB
1413 bool "8kB" 1413 bool "8kB"
1414 depends on EXPERIMENTAL && CPU_R8000 1414 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1415 help 1415 help
1416 Using 8kB page size will result in higher performance kernel at 1416 Using 8kB page size will result in higher performance kernel at
1417 the price of higher memory consumption. This option is available 1417 the price of higher memory consumption. This option is available
1418 only on the R8000 processor. Not that at the time of this writing 1418 only on R8000 and cnMIPS processors. Note that you will need a
1419 this option is still high experimental; there are also issues with 1419 suitable Linux distribution to support this.
1420 compatibility of user applications.
1421 1420
1422config PAGE_SIZE_16KB 1421config PAGE_SIZE_16KB
1423 bool "16kB" 1422 bool "16kB"
@@ -1428,6 +1427,15 @@ config PAGE_SIZE_16KB
1428 all non-R3000 family processors. Note that you will need a suitable 1427 all non-R3000 family processors. Note that you will need a suitable
1429 Linux distribution to support this. 1428 Linux distribution to support this.
1430 1429
1430config PAGE_SIZE_32KB
1431 bool "32kB"
1432 depends on CPU_CAVIUM_OCTEON
1433 help
1434 Using 32kB page size will result in higher performance kernel at
1435 the price of higher memory consumption. This option is available
1436 only on cnMIPS cores. Note that you will need a suitable Linux
1437 distribution to support this.
1438
1431config PAGE_SIZE_64KB 1439config PAGE_SIZE_64KB
1432 bool "64kB" 1440 bool "64kB"
1433 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX 1441 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
@@ -1958,10 +1966,6 @@ config SECCOMP
1958 1966
1959endmenu 1967endmenu
1960 1968
1961config RWSEM_GENERIC_SPINLOCK
1962 bool
1963 default y
1964
1965config LOCKDEP_SUPPORT 1969config LOCKDEP_SUPPORT
1966 bool 1970 bool
1967 default y 1971 default y
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 8d544c7c9fe9..26947ab85260 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -14,8 +14,6 @@
14 14
15KBUILD_DEFCONFIG := ip22_defconfig 15KBUILD_DEFCONFIG := ip22_defconfig
16 16
17cflags-y := -ffunction-sections
18
19# 17#
20# Select the object file format to substitute into the linker script. 18# Select the object file format to substitute into the linker script.
21# 19#
@@ -50,6 +48,9 @@ ifneq ($(SUBARCH),$(ARCH))
50 endif 48 endif
51endif 49endif
52 50
51cflags-y := -ffunction-sections
52cflags-y += $(call cc-option, -mno-check-zero-division)
53
53ifdef CONFIG_32BIT 54ifdef CONFIG_32BIT
54ld-emul = $(32bit-emul) 55ld-emul = $(32bit-emul)
55vmlinux-32 = vmlinux 56vmlinux-32 = vmlinux
diff --git a/arch/mips/alchemy/common/time.c b/arch/mips/alchemy/common/time.c
index f58d4ffb8945..33fbae79af5e 100644
--- a/arch/mips/alchemy/common/time.c
+++ b/arch/mips/alchemy/common/time.c
@@ -44,7 +44,7 @@
44 44
45extern int allow_au1k_wait; /* default off for CP0 Counter */ 45extern int allow_au1k_wait; /* default off for CP0 Counter */
46 46
47static cycle_t au1x_counter1_read(void) 47static cycle_t au1x_counter1_read(struct clocksource *cs)
48{ 48{
49 return au_readl(SYS_RTCREAD); 49 return au_readl(SYS_RTCREAD);
50} 50}
diff --git a/arch/mips/cavium-octeon/csrc-octeon.c b/arch/mips/cavium-octeon/csrc-octeon.c
index 70fd92c31657..96110f217dcd 100644
--- a/arch/mips/cavium-octeon/csrc-octeon.c
+++ b/arch/mips/cavium-octeon/csrc-octeon.c
@@ -38,7 +38,7 @@ void octeon_init_cvmcount(void)
38 local_irq_restore(flags); 38 local_irq_restore(flags);
39} 39}
40 40
41static cycle_t octeon_cvmcount_read(void) 41static cycle_t octeon_cvmcount_read(struct clocksource *cs)
42{ 42{
43 return read_c0_cvmcount(); 43 return read_c0_cvmcount();
44} 44}
diff --git a/arch/mips/include/asm/bitops.h b/arch/mips/include/asm/bitops.h
index bac4a960b24c..b1e9e97a9c78 100644
--- a/arch/mips/include/asm/bitops.h
+++ b/arch/mips/include/asm/bitops.h
@@ -567,7 +567,7 @@ static inline unsigned long __fls(unsigned long word)
567 int num; 567 int num;
568 568
569 if (BITS_PER_LONG == 32 && 569 if (BITS_PER_LONG == 32 &&
570 __builtin_constant_p(cpu_has_mips_r) && cpu_has_mips_r) { 570 __builtin_constant_p(cpu_has_clo_clz) && cpu_has_clo_clz) {
571 __asm__( 571 __asm__(
572 " .set push \n" 572 " .set push \n"
573 " .set mips32 \n" 573 " .set mips32 \n"
@@ -644,7 +644,7 @@ static inline int fls(int x)
644{ 644{
645 int r; 645 int r;
646 646
647 if (__builtin_constant_p(cpu_has_mips_r) && cpu_has_mips_r) { 647 if (__builtin_constant_p(cpu_has_clo_clz) && cpu_has_clo_clz) {
648 __asm__("clz %0, %1" : "=r" (x) : "r" (x)); 648 __asm__("clz %0, %1" : "=r" (x) : "r" (x));
649 649
650 return 32 - x; 650 return 32 - x;
diff --git a/arch/mips/include/asm/checksum.h b/arch/mips/include/asm/checksum.h
index 290485ac5407..f2f7c6c264da 100644
--- a/arch/mips/include/asm/checksum.h
+++ b/arch/mips/include/asm/checksum.h
@@ -40,7 +40,7 @@ static inline
40__wsum csum_partial_copy_from_user(const void __user *src, void *dst, int len, 40__wsum csum_partial_copy_from_user(const void __user *src, void *dst, int len,
41 __wsum sum, int *err_ptr) 41 __wsum sum, int *err_ptr)
42{ 42{
43 might_sleep(); 43 might_fault();
44 return __csum_partial_copy_user((__force void *)src, dst, 44 return __csum_partial_copy_user((__force void *)src, dst,
45 len, sum, err_ptr); 45 len, sum, err_ptr);
46} 46}
@@ -53,7 +53,7 @@ static inline
53__wsum csum_and_copy_to_user(const void *src, void __user *dst, int len, 53__wsum csum_and_copy_to_user(const void *src, void __user *dst, int len,
54 __wsum sum, int *err_ptr) 54 __wsum sum, int *err_ptr)
55{ 55{
56 might_sleep(); 56 might_fault();
57 if (access_ok(VERIFY_WRITE, dst, len)) 57 if (access_ok(VERIFY_WRITE, dst, len))
58 return __csum_partial_copy_user(src, (__force void *)dst, 58 return __csum_partial_copy_user(src, (__force void *)dst,
59 len, sum, err_ptr); 59 len, sum, err_ptr);
diff --git a/arch/mips/include/asm/compat.h b/arch/mips/include/asm/compat.h
index 6c5b40905dd6..f58aed354bfd 100644
--- a/arch/mips/include/asm/compat.h
+++ b/arch/mips/include/asm/compat.h
@@ -3,7 +3,6 @@
3/* 3/*
4 * Architecture specific compatibility types 4 * Architecture specific compatibility types
5 */ 5 */
6#include <linux/seccomp.h>
7#include <linux/thread_info.h> 6#include <linux/thread_info.h>
8#include <linux/types.h> 7#include <linux/types.h>
9#include <asm/page.h> 8#include <asm/page.h>
diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h
index a0d14f85b781..c0047f861337 100644
--- a/arch/mips/include/asm/cpu-features.h
+++ b/arch/mips/include/asm/cpu-features.h
@@ -147,6 +147,15 @@
147#define cpu_has_mips_r (cpu_has_mips32r1 | cpu_has_mips32r2 | \ 147#define cpu_has_mips_r (cpu_has_mips32r1 | cpu_has_mips32r2 | \
148 cpu_has_mips64r1 | cpu_has_mips64r2) 148 cpu_has_mips64r1 | cpu_has_mips64r2)
149 149
150/*
151 * MIPS32, MIPS64, VR5500, IDT32332, IDT32334 and maybe a few other
152 * pre-MIPS32/MIPS53 processors have CLO, CLZ. For 64-bit kernels
153 * cpu_has_clo_clz also indicates the availability of DCLO and DCLZ.
154 */
155# ifndef cpu_has_clo_clz
156# define cpu_has_clo_clz cpu_has_mips_r
157# endif
158
150#ifndef cpu_has_dsp 159#ifndef cpu_has_dsp
151#define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP) 160#define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP)
152#endif 161#endif
diff --git a/arch/mips/include/asm/div64.h b/arch/mips/include/asm/div64.h
index d1d699105c11..dc5ea5736440 100644
--- a/arch/mips/include/asm/div64.h
+++ b/arch/mips/include/asm/div64.h
@@ -6,105 +6,63 @@
6 * License. See the file "COPYING" in the main directory of this archive 6 * License. See the file "COPYING" in the main directory of this archive
7 * for more details. 7 * for more details.
8 */ 8 */
9#ifndef _ASM_DIV64_H 9#ifndef __ASM_DIV64_H
10#define _ASM_DIV64_H 10#define __ASM_DIV64_H
11 11
12#include <linux/types.h> 12#include <asm-generic/div64.h>
13 13
14#if (_MIPS_SZLONG == 32) 14#if BITS_PER_LONG == 64
15 15
16#include <asm/compiler.h> 16#include <linux/types.h>
17 17
18/* 18/*
19 * No traps on overflows for any of these... 19 * No traps on overflows for any of these...
20 */ 20 */
21 21
22#define do_div64_32(res, high, low, base) ({ \ 22#define __div64_32(n, base) \
23 unsigned long __quot32, __mod32; \ 23({ \
24 unsigned long __cf, __tmp, __tmp2, __i; \ 24 unsigned long __cf, __tmp, __tmp2, __i; \
25 \ 25 unsigned long __quot32, __mod32; \
26 __asm__(".set push\n\t" \ 26 unsigned long __high, __low; \
27 ".set noat\n\t" \ 27 unsigned long long __n; \
28 ".set noreorder\n\t" \ 28 \
29 "move %2, $0\n\t" \ 29 __high = *__n >> 32; \
30 "move %3, $0\n\t" \ 30 __low = __n; \
31 "b 1f\n\t" \ 31 __asm__( \
32 " li %4, 0x21\n" \ 32 " .set push \n" \
33 "0:\n\t" \ 33 " .set noat \n" \
34 "sll $1, %0, 0x1\n\t" \ 34 " .set noreorder \n" \
35 "srl %3, %0, 0x1f\n\t" \ 35 " move %2, $0 \n" \
36 "or %0, $1, %5\n\t" \ 36 " move %3, $0 \n" \
37 "sll %1, %1, 0x1\n\t" \ 37 " b 1f \n" \
38 "sll %2, %2, 0x1\n" \ 38 " li %4, 0x21 \n" \
39 "1:\n\t" \ 39 "0: \n" \
40 "bnez %3, 2f\n\t" \ 40 " sll $1, %0, 0x1 \n" \
41 " sltu %5, %0, %z6\n\t" \ 41 " srl %3, %0, 0x1f \n" \
42 "bnez %5, 3f\n" \ 42 " or %0, $1, %5 \n" \
43 "2:\n\t" \ 43 " sll %1, %1, 0x1 \n" \
44 " addiu %4, %4, -1\n\t" \ 44 " sll %2, %2, 0x1 \n" \
45 "subu %0, %0, %z6\n\t" \ 45 "1: \n" \
46 "addiu %2, %2, 1\n" \ 46 " bnez %3, 2f \n" \
47 "3:\n\t" \ 47 " sltu %5, %0, %z6 \n" \
48 "bnez %4, 0b\n\t" \ 48 " bnez %5, 3f \n" \
49 " srl %5, %1, 0x1f\n\t" \ 49 "2: \n" \
50 ".set pop" \ 50 " addiu %4, %4, -1 \n" \
51 : "=&r" (__mod32), "=&r" (__tmp), \ 51 " subu %0, %0, %z6 \n" \
52 "=&r" (__quot32), "=&r" (__cf), \ 52 " addiu %2, %2, 1 \n" \
53 "=&r" (__i), "=&r" (__tmp2) \ 53 "3: \n" \
54 : "Jr" (base), "0" (high), "1" (low)); \ 54 " bnez %4, 0b\n\t" \
55 \ 55 " srl %5, %1, 0x1f\n\t" \
56 (res) = __quot32; \ 56 " .set pop" \
57 __mod32; }) 57 : "=&r" (__mod32), "=&r" (__tmp), \
58 58 "=&r" (__quot32), "=&r" (__cf), \
59#define do_div(n, base) ({ \ 59 "=&r" (__i), "=&r" (__tmp2) \
60 unsigned long long __quot; \ 60 : "Jr" (base), "0" (__high), "1" (__low)); \
61 unsigned long __mod; \ 61 \
62 unsigned long long __div; \ 62 (__n) = __quot32; \
63 unsigned long __upper, __low, __high, __base; \ 63 __mod32; \
64 \ 64})
65 __div = (n); \
66 __base = (base); \
67 \
68 __high = __div >> 32; \
69 __low = __div; \
70 __upper = __high; \
71 \
72 if (__high) \
73 __asm__("divu $0, %z2, %z3" \
74 : "=h" (__upper), "=l" (__high) \
75 : "Jr" (__high), "Jr" (__base) \
76 : GCC_REG_ACCUM); \
77 \
78 __mod = do_div64_32(__low, __upper, __low, __base); \
79 \
80 __quot = __high; \
81 __quot = __quot << 32 | __low; \
82 (n) = __quot; \
83 __mod; })
84
85#endif /* (_MIPS_SZLONG == 32) */
86
87#if (_MIPS_SZLONG == 64)
88
89/*
90 * Hey, we're already 64-bit, no
91 * need to play games..
92 */
93#define do_div(n, base) ({ \
94 unsigned long __quot; \
95 unsigned int __mod; \
96 unsigned long __div; \
97 unsigned int __base; \
98 \
99 __div = (n); \
100 __base = (base); \
101 \
102 __mod = __div % __base; \
103 __quot = __div / __base; \
104 \
105 (n) = __quot; \
106 __mod; })
107 65
108#endif /* (_MIPS_SZLONG == 64) */ 66#endif /* BITS_PER_LONG == 64 */
109 67
110#endif /* _ASM_DIV64_H */ 68#endif /* __ASM_DIV64_H */
diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h
index c64afb40cd06..d16afddb09a9 100644
--- a/arch/mips/include/asm/dma-mapping.h
+++ b/arch/mips/include/asm/dma-mapping.h
@@ -24,8 +24,13 @@ extern int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
24 enum dma_data_direction direction); 24 enum dma_data_direction direction);
25extern dma_addr_t dma_map_page(struct device *dev, struct page *page, 25extern dma_addr_t dma_map_page(struct device *dev, struct page *page,
26 unsigned long offset, size_t size, enum dma_data_direction direction); 26 unsigned long offset, size_t size, enum dma_data_direction direction);
27extern void dma_unmap_page(struct device *dev, dma_addr_t dma_address, 27
28 size_t size, enum dma_data_direction direction); 28static inline void dma_unmap_page(struct device *dev, dma_addr_t dma_address,
29 size_t size, enum dma_data_direction direction)
30{
31 dma_unmap_single(dev, dma_address, size, direction);
32}
33
29extern void dma_unmap_sg(struct device *dev, struct scatterlist *sg, 34extern void dma_unmap_sg(struct device *dev, struct scatterlist *sg,
30 int nhwentries, enum dma_data_direction direction); 35 int nhwentries, enum dma_data_direction direction);
31extern void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, 36extern void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle,
diff --git a/arch/mips/include/asm/fixmap.h b/arch/mips/include/asm/fixmap.h
index 9cc8522a394f..0f5caa1307f1 100644
--- a/arch/mips/include/asm/fixmap.h
+++ b/arch/mips/include/asm/fixmap.h
@@ -108,6 +108,9 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr)
108 return __virt_to_fix(vaddr); 108 return __virt_to_fix(vaddr);
109} 109}
110 110
111#define kmap_get_fixmap_pte(vaddr) \
112 pte_offset_kernel(pmd_offset(pud_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr)), (vaddr))
113
111/* 114/*
112 * Called from pgtable_init() 115 * Called from pgtable_init()
113 */ 116 */
diff --git a/arch/mips/include/asm/hazards.h b/arch/mips/include/asm/hazards.h
index a12d971db4f9..0eaf77ffbc4f 100644
--- a/arch/mips/include/asm/hazards.h
+++ b/arch/mips/include/asm/hazards.h
@@ -138,8 +138,9 @@ do { \
138 __instruction_hazard(); \ 138 __instruction_hazard(); \
139} while (0) 139} while (0)
140 140
141#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \ 141#elif defined(CONFIG_MACH_ALCHEMY) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \
142 defined(CONFIG_CPU_R5500) || defined(CONFIG_MACH_ALCHEMY) 142 defined(CONFIG_CPU_LOONGSON2) || defined(CONFIG_CPU_R10000) || \
143 defined(CONFIG_CPU_R5500)
143 144
144/* 145/*
145 * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer. 146 * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer.
diff --git a/arch/mips/include/asm/highmem.h b/arch/mips/include/asm/highmem.h
index 4374ab2adc75..25adfb02923d 100644
--- a/arch/mips/include/asm/highmem.h
+++ b/arch/mips/include/asm/highmem.h
@@ -30,8 +30,6 @@
30/* declarations for highmem.c */ 30/* declarations for highmem.c */
31extern unsigned long highstart_pfn, highend_pfn; 31extern unsigned long highstart_pfn, highend_pfn;
32 32
33extern pte_t *kmap_pte;
34extern pgprot_t kmap_prot;
35extern pte_t *pkmap_page_table; 33extern pte_t *pkmap_page_table;
36 34
37/* 35/*
@@ -62,6 +60,10 @@ extern struct page *__kmap_atomic_to_page(void *ptr);
62 60
63#define flush_cache_kmaps() flush_cache_all() 61#define flush_cache_kmaps() flush_cache_all()
64 62
63extern void kmap_init(void);
64
65#define kmap_prot PAGE_KERNEL
66
65#endif /* __KERNEL__ */ 67#endif /* __KERNEL__ */
66 68
67#endif /* _ASM_HIGHMEM_H */ 69#endif /* _ASM_HIGHMEM_H */
diff --git a/arch/mips/include/asm/mach-au1x00/au1000.h b/arch/mips/include/asm/mach-au1x00/au1000.h
index 62f91f50b5b5..854e95f1b07c 100644
--- a/arch/mips/include/asm/mach-au1x00/au1000.h
+++ b/arch/mips/include/asm/mach-au1x00/au1000.h
@@ -715,7 +715,7 @@ enum soc_au1500_ints {
715#ifdef CONFIG_SOC_AU1100 715#ifdef CONFIG_SOC_AU1100
716enum soc_au1100_ints { 716enum soc_au1100_ints {
717 AU1100_FIRST_INT = MIPS_CPU_IRQ_BASE + 8, 717 AU1100_FIRST_INT = MIPS_CPU_IRQ_BASE + 8,
718 AU1100_UART0_INT, 718 AU1100_UART0_INT = AU1100_FIRST_INT,
719 AU1100_UART1_INT, 719 AU1100_UART1_INT,
720 AU1100_SD_INT, 720 AU1100_SD_INT,
721 AU1100_UART3_INT, 721 AU1100_UART3_INT,
@@ -902,8 +902,8 @@ enum soc_au1200_ints {
902 AU1000_RTC_MATCH0_INT, 902 AU1000_RTC_MATCH0_INT,
903 AU1000_RTC_MATCH1_INT, 903 AU1000_RTC_MATCH1_INT,
904 AU1000_RTC_MATCH2_INT, 904 AU1000_RTC_MATCH2_INT,
905 905 AU1200_GPIO_203,
906 AU1200_NAND_INT = AU1200_FIRST_INT + 23, 906 AU1200_NAND_INT,
907 AU1200_GPIO_204, 907 AU1200_GPIO_204,
908 AU1200_GPIO_205, 908 AU1200_GPIO_205,
909 AU1200_GPIO_206, 909 AU1200_GPIO_206,
diff --git a/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h b/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h
index 60638b8969ba..5656c72de6d3 100644
--- a/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h
+++ b/arch/mips/include/asm/mach-au1x00/au1xxx_ide.h
@@ -46,20 +46,6 @@
46#define CONFIG_BLK_DEV_IDE_AU1XXX_BURSTABLE_ON 0 46#define CONFIG_BLK_DEV_IDE_AU1XXX_BURSTABLE_ON 0
47#endif 47#endif
48 48
49#ifdef CONFIG_PM
50/*
51 * This will enable the device to be powered up when write() or read()
52 * is called. If this is not defined, the driver will return -EBUSY.
53 */
54#define WAKE_ON_ACCESS 1
55
56typedef struct {
57 spinlock_t lock; /* Used to block on state transitions */
58 au1xxx_power_dev_t *dev; /* Power Managers device structure */
59 unsigned stopped; /* Used to signal device is stopped */
60} pm_state;
61#endif
62
63typedef struct { 49typedef struct {
64 u32 tx_dev_id, rx_dev_id, target_dev_id; 50 u32 tx_dev_id, rx_dev_id, target_dev_id;
65 u32 tx_chan, rx_chan; 51 u32 tx_chan, rx_chan;
@@ -72,9 +58,6 @@ typedef struct {
72#endif 58#endif
73 int irq; 59 int irq;
74 u32 regbase; 60 u32 regbase;
75#ifdef CONFIG_PM
76 pm_state pm;
77#endif
78} _auide_hwif; 61} _auide_hwif;
79 62
80/******************************************************************************/ 63/******************************************************************************/
diff --git a/arch/mips/include/asm/mach-lemote/cpu-feature-overrides.h b/arch/mips/include/asm/mach-lemote/cpu-feature-overrides.h
new file mode 100644
index 000000000000..550a10dc9dba
--- /dev/null
+++ b/arch/mips/include/asm/mach-lemote/cpu-feature-overrides.h
@@ -0,0 +1,59 @@
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) 2009 Wu Zhangjin <wuzj@lemote.com>
7 * Copyright (C) 2009 Philippe Vachon <philippe@cowpig.ca>
8 * Copyright (C) 2009 Zhang Le <r0bertz@gentoo.org>
9 *
10 * reference: /proc/cpuinfo,
11 * arch/mips/kernel/cpu-probe.c(cpu_probe_legacy),
12 * arch/mips/kernel/proc.c(show_cpuinfo),
13 * loongson2f user manual.
14 */
15
16#ifndef __ASM_MACH_LEMOTE_CPU_FEATURE_OVERRIDES_H
17#define __ASM_MACH_LEMOTE_CPU_FEATURE_OVERRIDES_H
18
19#define cpu_dcache_line_size() 32
20#define cpu_icache_line_size() 32
21#define cpu_scache_line_size() 32
22
23
24#define cpu_has_32fpr 1
25#define cpu_has_3k_cache 0
26#define cpu_has_4k_cache 1
27#define cpu_has_4kex 1
28#define cpu_has_64bits 1
29#define cpu_has_cache_cdex_p 0
30#define cpu_has_cache_cdex_s 0
31#define cpu_has_counter 1
32#define cpu_has_dc_aliases 1
33#define cpu_has_divec 0
34#define cpu_has_dsp 0
35#define cpu_has_ejtag 0
36#define cpu_has_fpu 1
37#define cpu_has_ic_fills_f_dc 0
38#define cpu_has_inclusive_pcaches 1
39#define cpu_has_llsc 1
40#define cpu_has_mcheck 0
41#define cpu_has_mdmx 0
42#define cpu_has_mips16 0
43#define cpu_has_mips32r1 0
44#define cpu_has_mips32r2 0
45#define cpu_has_mips3d 0
46#define cpu_has_mips64r1 0
47#define cpu_has_mips64r2 0
48#define cpu_has_mipsmt 0
49#define cpu_has_prefetch 0
50#define cpu_has_smartmips 0
51#define cpu_has_tlb 1
52#define cpu_has_tx39_cache 0
53#define cpu_has_userlocal 0
54#define cpu_has_vce 0
55#define cpu_has_vtag_icache 0
56#define cpu_has_watch 1
57#define cpu_icache_snoops_remote_store 1
58
59#endif /* __ASM_MACH_LEMOTE_CPU_FEATURE_OVERRIDES_H */
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
index 526f327475ce..32ef8bec5c85 100644
--- a/arch/mips/include/asm/mipsregs.h
+++ b/arch/mips/include/asm/mipsregs.h
@@ -184,12 +184,19 @@
184#else 184#else
185 185
186#define PM_4K 0x00000000 186#define PM_4K 0x00000000
187#define PM_8K 0x00002000
187#define PM_16K 0x00006000 188#define PM_16K 0x00006000
189#define PM_32K 0x0000e000
188#define PM_64K 0x0001e000 190#define PM_64K 0x0001e000
191#define PM_128K 0x0003e000
189#define PM_256K 0x0007e000 192#define PM_256K 0x0007e000
193#define PM_512K 0x000fe000
190#define PM_1M 0x001fe000 194#define PM_1M 0x001fe000
195#define PM_2M 0x003fe000
191#define PM_4M 0x007fe000 196#define PM_4M 0x007fe000
197#define PM_8M 0x00ffe000
192#define PM_16M 0x01ffe000 198#define PM_16M 0x01ffe000
199#define PM_32M 0x03ffe000
193#define PM_64M 0x07ffe000 200#define PM_64M 0x07ffe000
194#define PM_256M 0x1fffe000 201#define PM_256M 0x1fffe000
195#define PM_1G 0x7fffe000 202#define PM_1G 0x7fffe000
@@ -201,8 +208,12 @@
201 */ 208 */
202#ifdef CONFIG_PAGE_SIZE_4KB 209#ifdef CONFIG_PAGE_SIZE_4KB
203#define PM_DEFAULT_MASK PM_4K 210#define PM_DEFAULT_MASK PM_4K
211#elif defined(CONFIG_PAGE_SIZE_8KB)
212#define PM_DEFAULT_MASK PM_8K
204#elif defined(CONFIG_PAGE_SIZE_16KB) 213#elif defined(CONFIG_PAGE_SIZE_16KB)
205#define PM_DEFAULT_MASK PM_16K 214#define PM_DEFAULT_MASK PM_16K
215#elif defined(CONFIG_PAGE_SIZE_32KB)
216#define PM_DEFAULT_MASK PM_32K
206#elif defined(CONFIG_PAGE_SIZE_64KB) 217#elif defined(CONFIG_PAGE_SIZE_64KB)
207#define PM_DEFAULT_MASK PM_64K 218#define PM_DEFAULT_MASK PM_64K
208#else 219#else
@@ -717,8 +728,8 @@ do { \
717 ".set\tmips64\n\t" \ 728 ".set\tmips64\n\t" \
718 "dmfc0\t%M0, " #source "\n\t" \ 729 "dmfc0\t%M0, " #source "\n\t" \
719 "dsll\t%L0, %M0, 32\n\t" \ 730 "dsll\t%L0, %M0, 32\n\t" \
720 "dsrl\t%M0, %M0, 32\n\t" \ 731 "dsra\t%M0, %M0, 32\n\t" \
721 "dsrl\t%L0, %L0, 32\n\t" \ 732 "dsra\t%L0, %L0, 32\n\t" \
722 ".set\tmips0" \ 733 ".set\tmips0" \
723 : "=r" (__val)); \ 734 : "=r" (__val)); \
724 else \ 735 else \
@@ -726,8 +737,8 @@ do { \
726 ".set\tmips64\n\t" \ 737 ".set\tmips64\n\t" \
727 "dmfc0\t%M0, " #source ", " #sel "\n\t" \ 738 "dmfc0\t%M0, " #source ", " #sel "\n\t" \
728 "dsll\t%L0, %M0, 32\n\t" \ 739 "dsll\t%L0, %M0, 32\n\t" \
729 "dsrl\t%M0, %M0, 32\n\t" \ 740 "dsra\t%M0, %M0, 32\n\t" \
730 "dsrl\t%L0, %L0, 32\n\t" \ 741 "dsra\t%L0, %L0, 32\n\t" \
731 ".set\tmips0" \ 742 ".set\tmips0" \
732 : "=r" (__val)); \ 743 : "=r" (__val)); \
733 local_irq_restore(__flags); \ 744 local_irq_restore(__flags); \
@@ -1484,14 +1495,15 @@ static inline unsigned int \
1484set_c0_##name(unsigned int set) \ 1495set_c0_##name(unsigned int set) \
1485{ \ 1496{ \
1486 unsigned int res; \ 1497 unsigned int res; \
1498 unsigned int new; \
1487 unsigned int omt; \ 1499 unsigned int omt; \
1488 unsigned long flags; \ 1500 unsigned long flags; \
1489 \ 1501 \
1490 local_irq_save(flags); \ 1502 local_irq_save(flags); \
1491 omt = __dmt(); \ 1503 omt = __dmt(); \
1492 res = read_c0_##name(); \ 1504 res = read_c0_##name(); \
1493 res |= set; \ 1505 new = res | set; \
1494 write_c0_##name(res); \ 1506 write_c0_##name(new); \
1495 __emt(omt); \ 1507 __emt(omt); \
1496 local_irq_restore(flags); \ 1508 local_irq_restore(flags); \
1497 \ 1509 \
@@ -1502,14 +1514,15 @@ static inline unsigned int \
1502clear_c0_##name(unsigned int clear) \ 1514clear_c0_##name(unsigned int clear) \
1503{ \ 1515{ \
1504 unsigned int res; \ 1516 unsigned int res; \
1517 unsigned int new; \
1505 unsigned int omt; \ 1518 unsigned int omt; \
1506 unsigned long flags; \ 1519 unsigned long flags; \
1507 \ 1520 \
1508 local_irq_save(flags); \ 1521 local_irq_save(flags); \
1509 omt = __dmt(); \ 1522 omt = __dmt(); \
1510 res = read_c0_##name(); \ 1523 res = read_c0_##name(); \
1511 res &= ~clear; \ 1524 new = res & ~clear; \
1512 write_c0_##name(res); \ 1525 write_c0_##name(new); \
1513 __emt(omt); \ 1526 __emt(omt); \
1514 local_irq_restore(flags); \ 1527 local_irq_restore(flags); \
1515 \ 1528 \
@@ -1517,9 +1530,10 @@ clear_c0_##name(unsigned int clear) \
1517} \ 1530} \
1518 \ 1531 \
1519static inline unsigned int \ 1532static inline unsigned int \
1520change_c0_##name(unsigned int change, unsigned int new) \ 1533change_c0_##name(unsigned int change, unsigned int newbits) \
1521{ \ 1534{ \
1522 unsigned int res; \ 1535 unsigned int res; \
1536 unsigned int new; \
1523 unsigned int omt; \ 1537 unsigned int omt; \
1524 unsigned long flags; \ 1538 unsigned long flags; \
1525 \ 1539 \
@@ -1527,9 +1541,9 @@ change_c0_##name(unsigned int change, unsigned int new) \
1527 \ 1541 \
1528 omt = __dmt(); \ 1542 omt = __dmt(); \
1529 res = read_c0_##name(); \ 1543 res = read_c0_##name(); \
1530 res &= ~change; \ 1544 new = res & ~change; \
1531 res |= (new & change); \ 1545 new |= (newbits & change); \
1532 write_c0_##name(res); \ 1546 write_c0_##name(new); \
1533 __emt(omt); \ 1547 __emt(omt); \
1534 local_irq_restore(flags); \ 1548 local_irq_restore(flags); \
1535 \ 1549 \
diff --git a/arch/mips/include/asm/page.h b/arch/mips/include/asm/page.h
index fe7a88ea066e..9f946e4ca057 100644
--- a/arch/mips/include/asm/page.h
+++ b/arch/mips/include/asm/page.h
@@ -23,6 +23,9 @@
23#ifdef CONFIG_PAGE_SIZE_16KB 23#ifdef CONFIG_PAGE_SIZE_16KB
24#define PAGE_SHIFT 14 24#define PAGE_SHIFT 14
25#endif 25#endif
26#ifdef CONFIG_PAGE_SIZE_32KB
27#define PAGE_SHIFT 15
28#endif
26#ifdef CONFIG_PAGE_SIZE_64KB 29#ifdef CONFIG_PAGE_SIZE_64KB
27#define PAGE_SHIFT 16 30#define PAGE_SHIFT 16
28#endif 31#endif
diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h
index 943515f0ef87..4ed9d1bba2ba 100644
--- a/arch/mips/include/asm/pgtable-64.h
+++ b/arch/mips/include/asm/pgtable-64.h
@@ -83,6 +83,12 @@
83#define PMD_ORDER 0 83#define PMD_ORDER 0
84#define PTE_ORDER 0 84#define PTE_ORDER 0
85#endif 85#endif
86#ifdef CONFIG_PAGE_SIZE_32KB
87#define PGD_ORDER 0
88#define PUD_ORDER aieeee_attempt_to_allocate_pud
89#define PMD_ORDER 0
90#define PTE_ORDER 0
91#endif
86#ifdef CONFIG_PAGE_SIZE_64KB 92#ifdef CONFIG_PAGE_SIZE_64KB
87#define PGD_ORDER 0 93#define PGD_ORDER 0
88#define PUD_ORDER aieeee_attempt_to_allocate_pud 94#define PUD_ORDER aieeee_attempt_to_allocate_pud
diff --git a/arch/mips/include/asm/sn/addrs.h b/arch/mips/include/asm/sn/addrs.h
index fec9bdd34913..3a56d90abfa6 100644
--- a/arch/mips/include/asm/sn/addrs.h
+++ b/arch/mips/include/asm/sn/addrs.h
@@ -359,11 +359,11 @@
359 TO_NODE_UNCAC((nasid), LAUNCH_OFFSET(nasid, slice)) 359 TO_NODE_UNCAC((nasid), LAUNCH_OFFSET(nasid, slice))
360#define LAUNCH_SIZE(nasid) KLD_LAUNCH(nasid)->size 360#define LAUNCH_SIZE(nasid) KLD_LAUNCH(nasid)->size
361 361
362#define NMI_OFFSET(nasid, slice) \ 362#define SN_NMI_OFFSET(nasid, slice) \
363 (KLD_NMI(nasid)->offset + \ 363 (KLD_NMI(nasid)->offset + \
364 KLD_NMI(nasid)->stride * (slice)) 364 KLD_NMI(nasid)->stride * (slice))
365#define NMI_ADDR(nasid, slice) \ 365#define NMI_ADDR(nasid, slice) \
366 TO_NODE_UNCAC((nasid), NMI_OFFSET(nasid, slice)) 366 TO_NODE_UNCAC((nasid), SN_NMI_OFFSET(nasid, slice))
367#define NMI_SIZE(nasid) KLD_NMI(nasid)->size 367#define NMI_SIZE(nasid) KLD_NMI(nasid)->size
368 368
369#define KLCONFIG_OFFSET(nasid) KLD_KLCONFIG(nasid)->offset 369#define KLCONFIG_OFFSET(nasid) KLD_KLCONFIG(nasid)->offset
diff --git a/arch/mips/include/asm/sn/nmi.h b/arch/mips/include/asm/sn/nmi.h
index 6b7b0b5f3729..1af49897d4e1 100644
--- a/arch/mips/include/asm/sn/nmi.h
+++ b/arch/mips/include/asm/sn/nmi.h
@@ -3,13 +3,13 @@
3 * License. See the file "COPYING" in the main directory of this archive 3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details. 4 * for more details.
5 * 5 *
6 * Derived from IRIX <sys/SN/nmi.h>, Revision 1.5.
7 *
6 * Copyright (C) 1992 - 1997 Silicon Graphics, Inc. 8 * Copyright (C) 1992 - 1997 Silicon Graphics, Inc.
7 */ 9 */
8#ifndef __ASM_SN_NMI_H 10#ifndef __ASM_SN_NMI_H
9#define __ASM_SN_NMI_H 11#define __ASM_SN_NMI_H
10 12
11#ident "$Revision: 1.5 $"
12
13#include <asm/sn/addrs.h> 13#include <asm/sn/addrs.h>
14 14
15/* 15/*
diff --git a/arch/mips/include/asm/thread_info.h b/arch/mips/include/asm/thread_info.h
index 676aa2ae1913..143a48136a4b 100644
--- a/arch/mips/include/asm/thread_info.h
+++ b/arch/mips/include/asm/thread_info.h
@@ -75,6 +75,9 @@ register struct thread_info *__current_thread_info __asm__("$28");
75#ifdef CONFIG_PAGE_SIZE_16KB 75#ifdef CONFIG_PAGE_SIZE_16KB
76#define THREAD_SIZE_ORDER (0) 76#define THREAD_SIZE_ORDER (0)
77#endif 77#endif
78#ifdef CONFIG_PAGE_SIZE_32KB
79#define THREAD_SIZE_ORDER (0)
80#endif
78#ifdef CONFIG_PAGE_SIZE_64KB 81#ifdef CONFIG_PAGE_SIZE_64KB
79#define THREAD_SIZE_ORDER (0) 82#define THREAD_SIZE_ORDER (0)
80#endif 83#endif
diff --git a/arch/mips/include/asm/time.h b/arch/mips/include/asm/time.h
index 38a30d2ee959..df6a430de5eb 100644
--- a/arch/mips/include/asm/time.h
+++ b/arch/mips/include/asm/time.h
@@ -57,7 +57,11 @@ extern int r4k_clockevent_init(void);
57 57
58static inline int mips_clockevent_init(void) 58static inline int mips_clockevent_init(void)
59{ 59{
60#ifdef CONFIG_CEVT_R4K 60#ifdef CONFIG_MIPS_MT_SMTC
61 extern int smtc_clockevent_init(void);
62
63 return smtc_clockevent_init();
64#elif defined(CONFIG_CEVT_R4K)
61 return r4k_clockevent_init(); 65 return r4k_clockevent_init();
62#else 66#else
63 return -ENXIO; 67 return -ENXIO;
diff --git a/arch/mips/include/asm/uaccess.h b/arch/mips/include/asm/uaccess.h
index 09ff5bb17445..8de858f5449f 100644
--- a/arch/mips/include/asm/uaccess.h
+++ b/arch/mips/include/asm/uaccess.h
@@ -105,10 +105,20 @@
105#define __access_mask get_fs().seg 105#define __access_mask get_fs().seg
106 106
107#define __access_ok(addr, size, mask) \ 107#define __access_ok(addr, size, mask) \
108 (((signed long)((mask) & ((addr) | ((addr) + (size)) | __ua_size(size)))) == 0) 108({ \
109 unsigned long __addr = (unsigned long) (addr); \
110 unsigned long __size = size; \
111 unsigned long __mask = mask; \
112 unsigned long __ok; \
113 \
114 __chk_user_ptr(addr); \
115 __ok = (signed long)(__mask & (__addr | (__addr + __size) | \
116 __ua_size(__size))); \
117 __ok == 0; \
118})
109 119
110#define access_ok(type, addr, size) \ 120#define access_ok(type, addr, size) \
111 likely(__access_ok((unsigned long)(addr), (size), __access_mask)) 121 likely(__access_ok((addr), (size), __access_mask))
112 122
113/* 123/*
114 * put_user: - Write a simple value into user space. 124 * put_user: - Write a simple value into user space.
@@ -225,6 +235,7 @@ do { \
225({ \ 235({ \
226 int __gu_err; \ 236 int __gu_err; \
227 \ 237 \
238 __chk_user_ptr(ptr); \
228 __get_user_common((x), size, ptr); \ 239 __get_user_common((x), size, ptr); \
229 __gu_err; \ 240 __gu_err; \
230}) 241})
@@ -234,6 +245,7 @@ do { \
234 int __gu_err = -EFAULT; \ 245 int __gu_err = -EFAULT; \
235 const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \ 246 const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \
236 \ 247 \
248 might_fault(); \
237 if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \ 249 if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \
238 __get_user_common((x), size, __gu_ptr); \ 250 __get_user_common((x), size, __gu_ptr); \
239 \ 251 \
@@ -305,6 +317,7 @@ do { \
305 __typeof__(*(ptr)) __pu_val; \ 317 __typeof__(*(ptr)) __pu_val; \
306 int __pu_err = 0; \ 318 int __pu_err = 0; \
307 \ 319 \
320 __chk_user_ptr(ptr); \
308 __pu_val = (x); \ 321 __pu_val = (x); \
309 switch (size) { \ 322 switch (size) { \
310 case 1: __put_user_asm("sb", ptr); break; \ 323 case 1: __put_user_asm("sb", ptr); break; \
@@ -322,6 +335,7 @@ do { \
322 __typeof__(*(ptr)) __pu_val = (x); \ 335 __typeof__(*(ptr)) __pu_val = (x); \
323 int __pu_err = -EFAULT; \ 336 int __pu_err = -EFAULT; \
324 \ 337 \
338 might_fault(); \
325 if (likely(access_ok(VERIFY_WRITE, __pu_addr, size))) { \ 339 if (likely(access_ok(VERIFY_WRITE, __pu_addr, size))) { \
326 switch (size) { \ 340 switch (size) { \
327 case 1: __put_user_asm("sb", __pu_addr); break; \ 341 case 1: __put_user_asm("sb", __pu_addr); break; \
@@ -696,10 +710,10 @@ extern size_t __copy_user(void *__to, const void *__from, size_t __n);
696 const void *__cu_from; \ 710 const void *__cu_from; \
697 long __cu_len; \ 711 long __cu_len; \
698 \ 712 \
699 might_sleep(); \
700 __cu_to = (to); \ 713 __cu_to = (to); \
701 __cu_from = (from); \ 714 __cu_from = (from); \
702 __cu_len = (n); \ 715 __cu_len = (n); \
716 might_fault(); \
703 __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, __cu_len); \ 717 __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, __cu_len); \
704 __cu_len; \ 718 __cu_len; \
705}) 719})
@@ -752,13 +766,14 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
752 const void *__cu_from; \ 766 const void *__cu_from; \
753 long __cu_len; \ 767 long __cu_len; \
754 \ 768 \
755 might_sleep(); \
756 __cu_to = (to); \ 769 __cu_to = (to); \
757 __cu_from = (from); \ 770 __cu_from = (from); \
758 __cu_len = (n); \ 771 __cu_len = (n); \
759 if (access_ok(VERIFY_WRITE, __cu_to, __cu_len)) \ 772 if (access_ok(VERIFY_WRITE, __cu_to, __cu_len)) { \
773 might_fault(); \
760 __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, \ 774 __cu_len = __invoke_copy_to_user(__cu_to, __cu_from, \
761 __cu_len); \ 775 __cu_len); \
776 } \
762 __cu_len; \ 777 __cu_len; \
763}) 778})
764 779
@@ -831,10 +846,10 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
831 const void __user *__cu_from; \ 846 const void __user *__cu_from; \
832 long __cu_len; \ 847 long __cu_len; \
833 \ 848 \
834 might_sleep(); \
835 __cu_to = (to); \ 849 __cu_to = (to); \
836 __cu_from = (from); \ 850 __cu_from = (from); \
837 __cu_len = (n); \ 851 __cu_len = (n); \
852 might_fault(); \
838 __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ 853 __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \
839 __cu_len); \ 854 __cu_len); \
840 __cu_len; \ 855 __cu_len; \
@@ -862,17 +877,31 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
862 const void __user *__cu_from; \ 877 const void __user *__cu_from; \
863 long __cu_len; \ 878 long __cu_len; \
864 \ 879 \
865 might_sleep(); \
866 __cu_to = (to); \ 880 __cu_to = (to); \
867 __cu_from = (from); \ 881 __cu_from = (from); \
868 __cu_len = (n); \ 882 __cu_len = (n); \
869 if (access_ok(VERIFY_READ, __cu_from, __cu_len)) \ 883 if (access_ok(VERIFY_READ, __cu_from, __cu_len)) { \
884 might_fault(); \
870 __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ 885 __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \
871 __cu_len); \ 886 __cu_len); \
887 } \
872 __cu_len; \ 888 __cu_len; \
873}) 889})
874 890
875#define __copy_in_user(to, from, n) __copy_from_user(to, from, n) 891#define __copy_in_user(to, from, n) \
892({ \
893 void __user *__cu_to; \
894 const void __user *__cu_from; \
895 long __cu_len; \
896 \
897 __cu_to = (to); \
898 __cu_from = (from); \
899 __cu_len = (n); \
900 might_fault(); \
901 __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \
902 __cu_len); \
903 __cu_len; \
904})
876 905
877#define copy_in_user(to, from, n) \ 906#define copy_in_user(to, from, n) \
878({ \ 907({ \
@@ -880,14 +909,15 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
880 const void __user *__cu_from; \ 909 const void __user *__cu_from; \
881 long __cu_len; \ 910 long __cu_len; \
882 \ 911 \
883 might_sleep(); \
884 __cu_to = (to); \ 912 __cu_to = (to); \
885 __cu_from = (from); \ 913 __cu_from = (from); \
886 __cu_len = (n); \ 914 __cu_len = (n); \
887 if (likely(access_ok(VERIFY_READ, __cu_from, __cu_len) && \ 915 if (likely(access_ok(VERIFY_READ, __cu_from, __cu_len) && \
888 access_ok(VERIFY_WRITE, __cu_to, __cu_len))) \ 916 access_ok(VERIFY_WRITE, __cu_to, __cu_len))) { \
917 might_fault(); \
889 __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \ 918 __cu_len = __invoke_copy_from_user(__cu_to, __cu_from, \
890 __cu_len); \ 919 __cu_len); \
920 } \
891 __cu_len; \ 921 __cu_len; \
892}) 922})
893 923
@@ -907,7 +937,7 @@ __clear_user(void __user *addr, __kernel_size_t size)
907{ 937{
908 __kernel_size_t res; 938 __kernel_size_t res;
909 939
910 might_sleep(); 940 might_fault();
911 __asm__ __volatile__( 941 __asm__ __volatile__(
912 "move\t$4, %1\n\t" 942 "move\t$4, %1\n\t"
913 "move\t$5, $0\n\t" 943 "move\t$5, $0\n\t"
@@ -956,7 +986,7 @@ __strncpy_from_user(char *__to, const char __user *__from, long __len)
956{ 986{
957 long res; 987 long res;
958 988
959 might_sleep(); 989 might_fault();
960 __asm__ __volatile__( 990 __asm__ __volatile__(
961 "move\t$4, %1\n\t" 991 "move\t$4, %1\n\t"
962 "move\t$5, %2\n\t" 992 "move\t$5, %2\n\t"
@@ -993,7 +1023,7 @@ strncpy_from_user(char *__to, const char __user *__from, long __len)
993{ 1023{
994 long res; 1024 long res;
995 1025
996 might_sleep(); 1026 might_fault();
997 __asm__ __volatile__( 1027 __asm__ __volatile__(
998 "move\t$4, %1\n\t" 1028 "move\t$4, %1\n\t"
999 "move\t$5, %2\n\t" 1029 "move\t$5, %2\n\t"
@@ -1012,7 +1042,7 @@ static inline long __strlen_user(const char __user *s)
1012{ 1042{
1013 long res; 1043 long res;
1014 1044
1015 might_sleep(); 1045 might_fault();
1016 __asm__ __volatile__( 1046 __asm__ __volatile__(
1017 "move\t$4, %1\n\t" 1047 "move\t$4, %1\n\t"
1018 __MODULE_JAL(__strlen_user_nocheck_asm) 1048 __MODULE_JAL(__strlen_user_nocheck_asm)
@@ -1042,7 +1072,7 @@ static inline long strlen_user(const char __user *s)
1042{ 1072{
1043 long res; 1073 long res;
1044 1074
1045 might_sleep(); 1075 might_fault();
1046 __asm__ __volatile__( 1076 __asm__ __volatile__(
1047 "move\t$4, %1\n\t" 1077 "move\t$4, %1\n\t"
1048 __MODULE_JAL(__strlen_user_asm) 1078 __MODULE_JAL(__strlen_user_asm)
@@ -1059,7 +1089,7 @@ static inline long __strnlen_user(const char __user *s, long n)
1059{ 1089{
1060 long res; 1090 long res;
1061 1091
1062 might_sleep(); 1092 might_fault();
1063 __asm__ __volatile__( 1093 __asm__ __volatile__(
1064 "move\t$4, %1\n\t" 1094 "move\t$4, %1\n\t"
1065 "move\t$5, %2\n\t" 1095 "move\t$5, %2\n\t"
@@ -1090,7 +1120,7 @@ static inline long strnlen_user(const char __user *s, long n)
1090{ 1120{
1091 long res; 1121 long res;
1092 1122
1093 might_sleep(); 1123 might_fault();
1094 __asm__ __volatile__( 1124 __asm__ __volatile__(
1095 "move\t$4, %1\n\t" 1125 "move\t$4, %1\n\t"
1096 "move\t$5, %2\n\t" 1126 "move\t$5, %2\n\t"
diff --git a/arch/mips/kernel/cevt-smtc.c b/arch/mips/kernel/cevt-smtc.c
index 6d45e24db5bf..df6f5bc60572 100644
--- a/arch/mips/kernel/cevt-smtc.c
+++ b/arch/mips/kernel/cevt-smtc.c
@@ -245,7 +245,7 @@ irqreturn_t c0_compare_interrupt(int irq, void *dev_id)
245} 245}
246 246
247 247
248int __cpuinit mips_clockevent_init(void) 248int __cpuinit smtc_clockevent_init(void)
249{ 249{
250 uint64_t mips_freq = mips_hpt_frequency; 250 uint64_t mips_freq = mips_hpt_frequency;
251 unsigned int cpu = smp_processor_id(); 251 unsigned int cpu = smp_processor_id();
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index c2c16ef9218f..93cc672f4522 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -405,8 +405,8 @@ EXPORT(sysn32_call_table)
405 PTR sys_eventfd 405 PTR sys_eventfd
406 PTR sys_fallocate 406 PTR sys_fallocate
407 PTR sys_timerfd_create 407 PTR sys_timerfd_create
408 PTR sys_timerfd_gettime /* 5285 */ 408 PTR compat_sys_timerfd_gettime /* 5285 */
409 PTR sys_timerfd_settime 409 PTR compat_sys_timerfd_settime
410 PTR sys_signalfd4 410 PTR sys_signalfd4
411 PTR sys_eventfd2 411 PTR sys_eventfd2
412 PTR sys_epoll_create1 412 PTR sys_epoll_create1
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index 002fac27021e..a5598b2339dd 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -525,8 +525,8 @@ sys_call_table:
525 PTR sys_eventfd 525 PTR sys_eventfd
526 PTR sys32_fallocate /* 4320 */ 526 PTR sys32_fallocate /* 4320 */
527 PTR sys_timerfd_create 527 PTR sys_timerfd_create
528 PTR sys_timerfd_gettime 528 PTR compat_sys_timerfd_gettime
529 PTR sys_timerfd_settime 529 PTR compat_sys_timerfd_settime
530 PTR compat_sys_signalfd4 530 PTR compat_sys_signalfd4
531 PTR sys_eventfd2 /* 4325 */ 531 PTR sys_eventfd2 /* 4325 */
532 PTR sys_epoll_create1 532 PTR sys_epoll_create1
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
index bf4c4a979abb..67bd626942ab 100644
--- a/arch/mips/kernel/unaligned.c
+++ b/arch/mips/kernel/unaligned.c
@@ -482,19 +482,19 @@ fault:
482 return; 482 return;
483 483
484 die_if_kernel("Unhandled kernel unaligned access", regs); 484 die_if_kernel("Unhandled kernel unaligned access", regs);
485 send_sig(SIGSEGV, current, 1); 485 force_sig(SIGSEGV, current);
486 486
487 return; 487 return;
488 488
489sigbus: 489sigbus:
490 die_if_kernel("Unhandled kernel unaligned access", regs); 490 die_if_kernel("Unhandled kernel unaligned access", regs);
491 send_sig(SIGBUS, current, 1); 491 force_sig(SIGBUS, current);
492 492
493 return; 493 return;
494 494
495sigill: 495sigill:
496 die_if_kernel("Unhandled kernel unaligned access or invalid instruction", regs); 496 die_if_kernel("Unhandled kernel unaligned access or invalid instruction", regs);
497 send_sig(SIGILL, current, 1); 497 force_sig(SIGILL, current);
498} 498}
499 499
500asmlinkage void do_ade(struct pt_regs *regs) 500asmlinkage void do_ade(struct pt_regs *regs)
diff --git a/arch/mips/lib/dump_tlb.c b/arch/mips/lib/dump_tlb.c
index 779821cd54ab..3f69725556af 100644
--- a/arch/mips/lib/dump_tlb.c
+++ b/arch/mips/lib/dump_tlb.c
@@ -19,6 +19,15 @@ static inline const char *msk2str(unsigned int mask)
19 case PM_16K: return "16kb"; 19 case PM_16K: return "16kb";
20 case PM_64K: return "64kb"; 20 case PM_64K: return "64kb";
21 case PM_256K: return "256kb"; 21 case PM_256K: return "256kb";
22#ifdef CONFIG_CPU_CAVIUM_OCTEON
23 case PM_8K: return "8kb";
24 case PM_32K: return "32kb";
25 case PM_128K: return "128kb";
26 case PM_512K: return "512kb";
27 case PM_2M: return "2Mb";
28 case PM_8M: return "8Mb";
29 case PM_32M: return "32Mb";
30#endif
22#ifndef CONFIG_CPU_VR41XX 31#ifndef CONFIG_CPU_VR41XX
23 case PM_1M: return "1Mb"; 32 case PM_1M: return "1Mb";
24 case PM_4M: return "4Mb"; 33 case PM_4M: return "4Mb";
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 58d9075e86fe..171951d2305b 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -1041,7 +1041,7 @@ static void __cpuinit probe_pcache(void)
1041 1041
1042 printk("Primary instruction cache %ldkB, %s, %s, linesize %d bytes.\n", 1042 printk("Primary instruction cache %ldkB, %s, %s, linesize %d bytes.\n",
1043 icache_size >> 10, 1043 icache_size >> 10,
1044 cpu_has_vtag_icache ? "VIVT" : "VIPT", 1044 c->icache.flags & MIPS_CACHE_VTAG ? "VIVT" : "VIPT",
1045 way_string[c->icache.ways], c->icache.linesz); 1045 way_string[c->icache.ways], c->icache.linesz);
1046 1046
1047 printk("Primary data cache %ldkB, %s, %s, %s, linesize %d bytes\n", 1047 printk("Primary data cache %ldkB, %s, %s, %s, linesize %d bytes\n",
diff --git a/arch/mips/mm/dma-default.c b/arch/mips/mm/dma-default.c
index bed56f1ac837..4fdb7f5216b9 100644
--- a/arch/mips/mm/dma-default.c
+++ b/arch/mips/mm/dma-default.c
@@ -209,7 +209,7 @@ dma_addr_t dma_map_page(struct device *dev, struct page *page,
209 unsigned long addr; 209 unsigned long addr;
210 210
211 addr = (unsigned long) page_address(page) + offset; 211 addr = (unsigned long) page_address(page) + offset;
212 dma_cache_wback_inv(addr, size); 212 __dma_sync(addr, size, direction);
213 } 213 }
214 214
215 return plat_map_dma_mem_page(dev, page) + offset; 215 return plat_map_dma_mem_page(dev, page) + offset;
@@ -217,23 +217,6 @@ dma_addr_t dma_map_page(struct device *dev, struct page *page,
217 217
218EXPORT_SYMBOL(dma_map_page); 218EXPORT_SYMBOL(dma_map_page);
219 219
220void dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size,
221 enum dma_data_direction direction)
222{
223 BUG_ON(direction == DMA_NONE);
224
225 if (!plat_device_is_coherent(dev) && direction != DMA_TO_DEVICE) {
226 unsigned long addr;
227
228 addr = dma_addr_to_virt(dma_address);
229 dma_cache_wback_inv(addr, size);
230 }
231
232 plat_unmap_dma_mem(dev, dma_address);
233}
234
235EXPORT_SYMBOL(dma_unmap_page);
236
237void dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries, 220void dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries,
238 enum dma_data_direction direction) 221 enum dma_data_direction direction)
239{ 222{
diff --git a/arch/mips/mm/highmem.c b/arch/mips/mm/highmem.c
index 4481656d1065..2b1309b2580a 100644
--- a/arch/mips/mm/highmem.c
+++ b/arch/mips/mm/highmem.c
@@ -1,7 +1,12 @@
1#include <linux/module.h> 1#include <linux/module.h>
2#include <linux/highmem.h> 2#include <linux/highmem.h>
3#include <asm/fixmap.h>
3#include <asm/tlbflush.h> 4#include <asm/tlbflush.h>
4 5
6static pte_t *kmap_pte;
7
8unsigned long highstart_pfn, highend_pfn;
9
5void *__kmap(struct page *page) 10void *__kmap(struct page *page)
6{ 11{
7 void *addr; 12 void *addr;
@@ -14,6 +19,7 @@ void *__kmap(struct page *page)
14 19
15 return addr; 20 return addr;
16} 21}
22EXPORT_SYMBOL(__kmap);
17 23
18void __kunmap(struct page *page) 24void __kunmap(struct page *page)
19{ 25{
@@ -22,6 +28,7 @@ void __kunmap(struct page *page)
22 return; 28 return;
23 kunmap_high(page); 29 kunmap_high(page);
24} 30}
31EXPORT_SYMBOL(__kunmap);
25 32
26/* 33/*
27 * kmap_atomic/kunmap_atomic is significantly faster than kmap/kunmap because 34 * kmap_atomic/kunmap_atomic is significantly faster than kmap/kunmap because
@@ -48,11 +55,12 @@ void *__kmap_atomic(struct page *page, enum km_type type)
48#ifdef CONFIG_DEBUG_HIGHMEM 55#ifdef CONFIG_DEBUG_HIGHMEM
49 BUG_ON(!pte_none(*(kmap_pte - idx))); 56 BUG_ON(!pte_none(*(kmap_pte - idx)));
50#endif 57#endif
51 set_pte(kmap_pte-idx, mk_pte(page, kmap_prot)); 58 set_pte(kmap_pte-idx, mk_pte(page, PAGE_KERNEL));
52 local_flush_tlb_one((unsigned long)vaddr); 59 local_flush_tlb_one((unsigned long)vaddr);
53 60
54 return (void*) vaddr; 61 return (void*) vaddr;
55} 62}
63EXPORT_SYMBOL(__kmap_atomic);
56 64
57void __kunmap_atomic(void *kvaddr, enum km_type type) 65void __kunmap_atomic(void *kvaddr, enum km_type type)
58{ 66{
@@ -77,6 +85,7 @@ void __kunmap_atomic(void *kvaddr, enum km_type type)
77 85
78 pagefault_enable(); 86 pagefault_enable();
79} 87}
88EXPORT_SYMBOL(__kunmap_atomic);
80 89
81/* 90/*
82 * This is the same as kmap_atomic() but can map memory that doesn't 91 * This is the same as kmap_atomic() but can map memory that doesn't
@@ -92,7 +101,7 @@ void *kmap_atomic_pfn(unsigned long pfn, enum km_type type)
92 debug_kmap_atomic(type); 101 debug_kmap_atomic(type);
93 idx = type + KM_TYPE_NR*smp_processor_id(); 102 idx = type + KM_TYPE_NR*smp_processor_id();
94 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); 103 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
95 set_pte(kmap_pte-idx, pfn_pte(pfn, kmap_prot)); 104 set_pte(kmap_pte-idx, pfn_pte(pfn, PAGE_KERNEL));
96 flush_tlb_one(vaddr); 105 flush_tlb_one(vaddr);
97 106
98 return (void*) vaddr; 107 return (void*) vaddr;
@@ -111,7 +120,11 @@ struct page *__kmap_atomic_to_page(void *ptr)
111 return pte_page(*pte); 120 return pte_page(*pte);
112} 121}
113 122
114EXPORT_SYMBOL(__kmap); 123void __init kmap_init(void)
115EXPORT_SYMBOL(__kunmap); 124{
116EXPORT_SYMBOL(__kmap_atomic); 125 unsigned long kmap_vstart;
117EXPORT_SYMBOL(__kunmap_atomic); 126
127 /* cache the first kmap pte */
128 kmap_vstart = __fix_to_virt(FIX_KMAP_BEGIN);
129 kmap_pte = kmap_get_fixmap_pte(kmap_vstart);
130}
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
index d9348946a19e..c5511294a9ee 100644
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
@@ -104,14 +104,6 @@ unsigned long setup_zero_pages(void)
104 return 1UL << order; 104 return 1UL << order;
105} 105}
106 106
107/*
108 * These are almost like kmap_atomic / kunmap_atmic except they take an
109 * additional address argument as the hint.
110 */
111
112#define kmap_get_fixmap_pte(vaddr) \
113 pte_offset_kernel(pmd_offset(pud_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr)), (vaddr))
114
115#ifdef CONFIG_MIPS_MT_SMTC 107#ifdef CONFIG_MIPS_MT_SMTC
116static pte_t *kmap_coherent_pte; 108static pte_t *kmap_coherent_pte;
117static void __init kmap_coherent_init(void) 109static void __init kmap_coherent_init(void)
@@ -264,24 +256,6 @@ void copy_from_user_page(struct vm_area_struct *vma,
264 } 256 }
265} 257}
266 258
267#ifdef CONFIG_HIGHMEM
268unsigned long highstart_pfn, highend_pfn;
269
270pte_t *kmap_pte;
271pgprot_t kmap_prot;
272
273static void __init kmap_init(void)
274{
275 unsigned long kmap_vstart;
276
277 /* cache the first kmap pte */
278 kmap_vstart = __fix_to_virt(FIX_KMAP_BEGIN);
279 kmap_pte = kmap_get_fixmap_pte(kmap_vstart);
280
281 kmap_prot = PAGE_KERNEL;
282}
283#endif /* CONFIG_HIGHMEM */
284
285void __init fixrange_init(unsigned long start, unsigned long end, 259void __init fixrange_init(unsigned long start, unsigned long end,
286 pgd_t *pgd_base) 260 pgd_t *pgd_base)
287{ 261{
diff --git a/arch/mips/mm/sc-rm7k.c b/arch/mips/mm/sc-rm7k.c
index e3abfb2d7e86..de69bfbf506e 100644
--- a/arch/mips/mm/sc-rm7k.c
+++ b/arch/mips/mm/sc-rm7k.c
@@ -29,7 +29,7 @@ extern unsigned long icache_way_size, dcache_way_size;
29 29
30#include <asm/r4kcache.h> 30#include <asm/r4kcache.h>
31 31
32int rm7k_tcache_enabled; 32static int rm7k_tcache_enabled;
33 33
34/* 34/*
35 * Writeback and invalidate the primary cache dcache before DMA. 35 * Writeback and invalidate the primary cache dcache before DMA.
@@ -121,7 +121,7 @@ static void rm7k_sc_disable(void)
121 clear_c0_config(RM7K_CONF_SE); 121 clear_c0_config(RM7K_CONF_SE);
122} 122}
123 123
124struct bcache_ops rm7k_sc_ops = { 124static struct bcache_ops rm7k_sc_ops = {
125 .bc_enable = rm7k_sc_enable, 125 .bc_enable = rm7k_sc_enable,
126 .bc_disable = rm7k_sc_disable, 126 .bc_disable = rm7k_sc_disable,
127 .bc_wback_inv = rm7k_sc_wback_inv, 127 .bc_wback_inv = rm7k_sc_wback_inv,
diff --git a/arch/mips/pmc-sierra/Kconfig b/arch/mips/pmc-sierra/Kconfig
index 90261b83db04..c139988bb85d 100644
--- a/arch/mips/pmc-sierra/Kconfig
+++ b/arch/mips/pmc-sierra/Kconfig
@@ -36,18 +36,6 @@ config PMC_MSP7120_FPGA
36 36
37endchoice 37endchoice
38 38
39menu "Options for PMC-Sierra MSP chipsets"
40 depends on PMC_MSP
41
42config PMC_MSP_EMBEDDED_ROOTFS
43 bool "Root filesystem embedded in kernel image"
44 select MTD
45 select MTD_BLOCK
46 select MTD_PMC_MSP_RAMROOT
47 select MTD_RAM
48
49endmenu
50
51config HYPERTRANSPORT 39config HYPERTRANSPORT
52 bool "Hypertransport Support for PMC-Sierra Yosemite" 40 bool "Hypertransport Support for PMC-Sierra Yosemite"
53 depends on PMC_YOSEMITE 41 depends on PMC_YOSEMITE
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_prom.c b/arch/mips/pmc-sierra/msp71xx/msp_prom.c
index e5bd5481d8db..c317a3623ce9 100644
--- a/arch/mips/pmc-sierra/msp71xx/msp_prom.c
+++ b/arch/mips/pmc-sierra/msp71xx/msp_prom.c
@@ -40,12 +40,6 @@
40#include <linux/string.h> 40#include <linux/string.h>
41#include <linux/interrupt.h> 41#include <linux/interrupt.h>
42#include <linux/mm.h> 42#include <linux/mm.h>
43#ifdef CONFIG_CRAMFS
44#include <linux/cramfs_fs.h>
45#endif
46#ifdef CONFIG_SQUASHFS
47#include <linux/squashfs_fs.h>
48#endif
49 43
50#include <asm/addrspace.h> 44#include <asm/addrspace.h>
51#include <asm/bootinfo.h> 45#include <asm/bootinfo.h>
@@ -435,10 +429,6 @@ struct prom_pmemblock *__init prom_getmdesc(void)
435 char *str; 429 char *str;
436 unsigned int memsize; 430 unsigned int memsize;
437 unsigned int heaptop; 431 unsigned int heaptop;
438#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
439 void *ramroot_start;
440 unsigned long ramroot_size;
441#endif
442 int i; 432 int i;
443 433
444 str = prom_getenv(memsz_env); 434 str = prom_getenv(memsz_env);
@@ -506,19 +496,7 @@ struct prom_pmemblock *__init prom_getmdesc(void)
506 i++; /* 3 */ 496 i++; /* 3 */
507 mdesc[i].type = BOOT_MEM_RESERVED; 497 mdesc[i].type = BOOT_MEM_RESERVED;
508 mdesc[i].base = CPHYSADDR((u32)_text); 498 mdesc[i].base = CPHYSADDR((u32)_text);
509#ifdef CONFIG_MTD_PMC_MSP_RAMROOT 499 mdesc[i].size = CPHYSADDR(PAGE_ALIGN((u32)_end)) - mdesc[i].base;
510 if (get_ramroot(&ramroot_start, &ramroot_size)) {
511 /*
512 * Rootfs in RAM -- follows kernel
513 * Combine rootfs image with kernel block so a
514 * page (4k) isn't wasted between memory blocks
515 */
516 mdesc[i].size = CPHYSADDR(PAGE_ALIGN(
517 (u32)ramroot_start + ramroot_size)) - mdesc[i].base;
518 } else
519#endif
520 mdesc[i].size = CPHYSADDR(PAGE_ALIGN(
521 (u32)_end)) - mdesc[i].base;
522 500
523 /* Remainder of RAM -- under memsize */ 501 /* Remainder of RAM -- under memsize */
524 i++; /* 5 */ 502 i++; /* 5 */
@@ -528,39 +506,3 @@ struct prom_pmemblock *__init prom_getmdesc(void)
528 506
529 return &mdesc[0]; 507 return &mdesc[0];
530} 508}
531
532/* rootfs functions */
533#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
534bool get_ramroot(void **start, unsigned long *size)
535{
536 extern char _end[];
537
538 /* Check for start following the end of the kernel */
539 void *check_start = (void *)_end;
540
541 /* Check for supported rootfs types */
542#ifdef CONFIG_CRAMFS
543 if (*(__u32 *)check_start == CRAMFS_MAGIC) {
544 /* Get CRAMFS size */
545 *start = check_start;
546 *size = PAGE_ALIGN(((struct cramfs_super *)
547 check_start)->size);
548
549 return true;
550 }
551#endif
552#ifdef CONFIG_SQUASHFS
553 if (*((unsigned int *)check_start) == SQUASHFS_MAGIC) {
554 /* Get SQUASHFS size */
555 *start = check_start;
556 *size = PAGE_ALIGN(((struct squashfs_super_block *)
557 check_start)->bytes_used);
558
559 return true;
560 }
561#endif
562
563 return false;
564}
565EXPORT_SYMBOL(get_ramroot);
566#endif
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_setup.c b/arch/mips/pmc-sierra/msp71xx/msp_setup.c
index c93675615f5d..a54e85b3cf29 100644
--- a/arch/mips/pmc-sierra/msp71xx/msp_setup.c
+++ b/arch/mips/pmc-sierra/msp71xx/msp_setup.c
@@ -21,7 +21,6 @@
21 21
22#if defined(CONFIG_PMC_MSP7120_GW) 22#if defined(CONFIG_PMC_MSP7120_GW)
23#include <msp_regops.h> 23#include <msp_regops.h>
24#include <msp_gpio.h>
25#define MSP_BOARD_RESET_GPIO 9 24#define MSP_BOARD_RESET_GPIO 9
26#endif 25#endif
27 26
@@ -88,11 +87,8 @@ void msp7120_reset(void)
88 * as GPIO char driver may not be enabled and it would look up 87 * as GPIO char driver may not be enabled and it would look up
89 * data inRAM! 88 * data inRAM!
90 */ 89 */
91 set_value_reg32(GPIO_CFG3_REG, 90 set_value_reg32(GPIO_CFG3_REG, 0xf000, 0x8000);
92 basic_mode_mask(MSP_BOARD_RESET_GPIO), 91 set_reg32(GPIO_DATA3_REG, 8);
93 basic_mode(MSP_GPIO_OUTPUT, MSP_BOARD_RESET_GPIO));
94 set_reg32(GPIO_DATA3_REG,
95 basic_data_mask(MSP_BOARD_RESET_GPIO));
96 92
97 /* 93 /*
98 * In case GPIO9 doesn't reset the board (jumper configurable!) 94 * In case GPIO9 doesn't reset the board (jumper configurable!)
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_time.c b/arch/mips/pmc-sierra/msp71xx/msp_time.c
index 7cfeda5a651b..cca64e15f57f 100644
--- a/arch/mips/pmc-sierra/msp71xx/msp_time.c
+++ b/arch/mips/pmc-sierra/msp71xx/msp_time.c
@@ -81,10 +81,7 @@ void __init plat_time_init(void)
81 mips_hpt_frequency = cpu_rate/2; 81 mips_hpt_frequency = cpu_rate/2;
82} 82}
83 83
84void __init plat_timer_setup(struct irqaction *irq) 84unsigned int __init get_c0_compare_int(void)
85{ 85{
86#ifdef CONFIG_IRQ_MSP_CIC 86 return MSP_INT_VPE0_TIMER;
87 /* we are using the vpe0 counter for timer interrupts */
88 setup_irq(MSP_INT_VPE0_TIMER, irq);
89#endif
90} 87}
diff --git a/arch/mips/sgi-ip32/ip32-berr.c b/arch/mips/sgi-ip32/ip32-berr.c
index a278e918a019..afc1cadbba37 100644
--- a/arch/mips/sgi-ip32/ip32-berr.c
+++ b/arch/mips/sgi-ip32/ip32-berr.c
@@ -16,7 +16,7 @@
16#include <asm/ptrace.h> 16#include <asm/ptrace.h>
17#include <asm/tlbdebug.h> 17#include <asm/tlbdebug.h>
18 18
19int ip32_be_handler(struct pt_regs *regs, int is_fixup) 19static int ip32_be_handler(struct pt_regs *regs, int is_fixup)
20{ 20{
21 int data = regs->cp0_cause & 4; 21 int data = regs->cp0_cause & 4;
22 22
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c
index 83a0b3c359da..5c2bf111ca67 100644
--- a/arch/mips/sgi-ip32/ip32-irq.c
+++ b/arch/mips/sgi-ip32/ip32-irq.c
@@ -112,13 +112,13 @@ static void inline flush_mace_bus(void)
112extern irqreturn_t crime_memerr_intr(int irq, void *dev_id); 112extern irqreturn_t crime_memerr_intr(int irq, void *dev_id);
113extern irqreturn_t crime_cpuerr_intr(int irq, void *dev_id); 113extern irqreturn_t crime_cpuerr_intr(int irq, void *dev_id);
114 114
115struct irqaction memerr_irq = { 115static struct irqaction memerr_irq = {
116 .handler = crime_memerr_intr, 116 .handler = crime_memerr_intr,
117 .flags = IRQF_DISABLED, 117 .flags = IRQF_DISABLED,
118 .name = "CRIME memory error", 118 .name = "CRIME memory error",
119}; 119};
120 120
121struct irqaction cpuerr_irq = { 121static struct irqaction cpuerr_irq = {
122 .handler = crime_cpuerr_intr, 122 .handler = crime_cpuerr_intr,
123 .flags = IRQF_DISABLED, 123 .flags = IRQF_DISABLED,
124 .name = "CRIME CPU error", 124 .name = "CRIME CPU error",
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c
index 352352b3cb2f..c147c4b35d3f 100644
--- a/arch/mips/sibyte/bcm1480/irq.c
+++ b/arch/mips/sibyte/bcm1480/irq.c
@@ -113,7 +113,6 @@ static void bcm1480_set_affinity(unsigned int irq, const struct cpumask *mask)
113{ 113{
114 int i = 0, old_cpu, cpu, int_on, k; 114 int i = 0, old_cpu, cpu, int_on, k;
115 u64 cur_ints; 115 u64 cur_ints;
116 struct irq_desc *desc = irq_desc + irq;
117 unsigned long flags; 116 unsigned long flags;
118 unsigned int irq_dirty; 117 unsigned int irq_dirty;
119 118
@@ -127,8 +126,7 @@ static void bcm1480_set_affinity(unsigned int irq, const struct cpumask *mask)
127 cpu = cpu_logical_map(i); 126 cpu = cpu_logical_map(i);
128 127
129 /* Protect against other affinity changers and IMR manipulation */ 128 /* Protect against other affinity changers and IMR manipulation */
130 spin_lock_irqsave(&desc->lock, flags); 129 spin_lock_irqsave(&bcm1480_imr_lock, flags);
131 spin_lock(&bcm1480_imr_lock);
132 130
133 /* Swizzle each CPU's IMR (but leave the IP selection alone) */ 131 /* Swizzle each CPU's IMR (but leave the IP selection alone) */
134 old_cpu = bcm1480_irq_owner[irq]; 132 old_cpu = bcm1480_irq_owner[irq];
@@ -153,8 +151,7 @@ static void bcm1480_set_affinity(unsigned int irq, const struct cpumask *mask)
153 ____raw_writeq(cur_ints, IOADDR(A_BCM1480_IMR_MAPPER(cpu) + R_BCM1480_IMR_INTERRUPT_MASK_H + (k*BCM1480_IMR_HL_SPACING))); 151 ____raw_writeq(cur_ints, IOADDR(A_BCM1480_IMR_MAPPER(cpu) + R_BCM1480_IMR_INTERRUPT_MASK_H + (k*BCM1480_IMR_HL_SPACING)));
154 } 152 }
155 } 153 }
156 spin_unlock(&bcm1480_imr_lock); 154 spin_unlock_irqrestore(&bcm1480_imr_lock, flags);
157 spin_unlock_irqrestore(&desc->lock, flags);
158} 155}
159#endif 156#endif
160 157
diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c
index c08ff582da6f..38cb998ade22 100644
--- a/arch/mips/sibyte/sb1250/irq.c
+++ b/arch/mips/sibyte/sb1250/irq.c
@@ -107,7 +107,6 @@ static void sb1250_set_affinity(unsigned int irq, const struct cpumask *mask)
107{ 107{
108 int i = 0, old_cpu, cpu, int_on; 108 int i = 0, old_cpu, cpu, int_on;
109 u64 cur_ints; 109 u64 cur_ints;
110 struct irq_desc *desc = irq_desc + irq;
111 unsigned long flags; 110 unsigned long flags;
112 111
113 i = cpumask_first(mask); 112 i = cpumask_first(mask);
@@ -121,8 +120,7 @@ static void sb1250_set_affinity(unsigned int irq, const struct cpumask *mask)
121 cpu = cpu_logical_map(i); 120 cpu = cpu_logical_map(i);
122 121
123 /* Protect against other affinity changers and IMR manipulation */ 122 /* Protect against other affinity changers and IMR manipulation */
124 spin_lock_irqsave(&desc->lock, flags); 123 spin_lock_irqsave(&sb1250_imr_lock, flags);
125 spin_lock(&sb1250_imr_lock);
126 124
127 /* Swizzle each CPU's IMR (but leave the IP selection alone) */ 125 /* Swizzle each CPU's IMR (but leave the IP selection alone) */
128 old_cpu = sb1250_irq_owner[irq]; 126 old_cpu = sb1250_irq_owner[irq];
@@ -144,8 +142,7 @@ static void sb1250_set_affinity(unsigned int irq, const struct cpumask *mask)
144 ____raw_writeq(cur_ints, IOADDR(A_IMR_MAPPER(cpu) + 142 ____raw_writeq(cur_ints, IOADDR(A_IMR_MAPPER(cpu) +
145 R_IMR_INTERRUPT_MASK)); 143 R_IMR_INTERRUPT_MASK));
146 } 144 }
147 spin_unlock(&sb1250_imr_lock); 145 spin_unlock_irqrestore(&sb1250_imr_lock, flags);
148 spin_unlock_irqrestore(&desc->lock, flags);
149} 146}
150#endif 147#endif
151 148
diff --git a/arch/mips/txx9/generic/setup_tx4927.c b/arch/mips/txx9/generic/setup_tx4927.c
index 914e93c62639..1093549df1a8 100644
--- a/arch/mips/txx9/generic/setup_tx4927.c
+++ b/arch/mips/txx9/generic/setup_tx4927.c
@@ -88,7 +88,7 @@ void __init tx4927_setup(void)
88{ 88{
89 int i; 89 int i;
90 __u32 divmode; 90 __u32 divmode;
91 int cpuclk = 0; 91 unsigned int cpuclk = 0;
92 u64 ccfg; 92 u64 ccfg;
93 93
94 txx9_reg_res_init(TX4927_REV_PCODE(), TX4927_REG_BASE, 94 txx9_reg_res_init(TX4927_REV_PCODE(), TX4927_REG_BASE,
diff --git a/arch/mips/txx9/generic/setup_tx4938.c b/arch/mips/txx9/generic/setup_tx4938.c
index f0844f891f0b..3925219b8973 100644
--- a/arch/mips/txx9/generic/setup_tx4938.c
+++ b/arch/mips/txx9/generic/setup_tx4938.c
@@ -93,7 +93,7 @@ void __init tx4938_setup(void)
93{ 93{
94 int i; 94 int i;
95 __u32 divmode; 95 __u32 divmode;
96 int cpuclk = 0; 96 unsigned int cpuclk = 0;
97 u64 ccfg; 97 u64 ccfg;
98 98
99 txx9_reg_res_init(TX4938_REV_PCODE(), TX4938_REG_BASE, 99 txx9_reg_res_init(TX4938_REV_PCODE(), TX4938_REG_BASE,
diff --git a/arch/mips/txx9/generic/setup_tx4939.c b/arch/mips/txx9/generic/setup_tx4939.c
index 7a25b573e9b0..c2bf150c8838 100644
--- a/arch/mips/txx9/generic/setup_tx4939.c
+++ b/arch/mips/txx9/generic/setup_tx4939.c
@@ -114,7 +114,7 @@ void __init tx4939_setup(void)
114 int i; 114 int i;
115 __u32 divmode; 115 __u32 divmode;
116 __u64 pcfg; 116 __u64 pcfg;
117 int cpuclk = 0; 117 unsigned int cpuclk = 0;
118 118
119 txx9_reg_res_init(TX4939_REV_PCODE(), TX4939_REG_BASE, 119 txx9_reg_res_init(TX4939_REV_PCODE(), TX4939_REG_BASE,
120 TX4939_REG_SIZE); 120 TX4939_REG_SIZE);
diff --git a/arch/mips/txx9/rbtx4939/setup.c b/arch/mips/txx9/rbtx4939/setup.c
index 011e1e332f47..4199c6fd4d1d 100644
--- a/arch/mips/txx9/rbtx4939/setup.c
+++ b/arch/mips/txx9/rbtx4939/setup.c
@@ -536,7 +536,7 @@ static void __init rbtx4939_setup(void)
536} 536}
537 537
538struct txx9_board_vec rbtx4939_vec __initdata = { 538struct txx9_board_vec rbtx4939_vec __initdata = {
539 .system = "Tothiba RBTX4939", 539 .system = "Toshiba RBTX4939",
540 .prom_init = rbtx4939_prom_init, 540 .prom_init = rbtx4939_prom_init,
541 .mem_setup = rbtx4939_setup, 541 .mem_setup = rbtx4939_setup,
542 .irq_setup = rbtx4939_irq_setup, 542 .irq_setup = rbtx4939_irq_setup,
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 4c7804551362..a0d1146a0578 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -181,6 +181,10 @@ config SYS_SUPPORTS_APM_EMULATION
181 default y if PMAC_APM_EMU 181 default y if PMAC_APM_EMU
182 bool 182 bool
183 183
184config DTC
185 bool
186 default y
187
184config DEFAULT_UIMAGE 188config DEFAULT_UIMAGE
185 bool 189 bool
186 help 190 help
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 4458abb67c51..9ae7b7e2ba71 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -33,7 +33,7 @@ ifeq ($(call cc-option-yn, -fstack-protector),y)
33BOOTCFLAGS += -fno-stack-protector 33BOOTCFLAGS += -fno-stack-protector
34endif 34endif
35 35
36BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) -I$(srctree)/$(src)/libfdt 36BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj)
37 37
38DTS_FLAGS ?= -p 1024 38DTS_FLAGS ?= -p 1024
39 39
@@ -53,9 +53,14 @@ zliblinuxheader := zlib.h zconf.h zutil.h
53$(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \ 53$(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \
54 $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) 54 $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
55 55
56src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c 56libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
57libfdtheader := fdt.h libfdt.h libfdt_internal.h
58
59$(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o): \
60 $(addprefix $(obj)/,$(libfdtheader))
61
57src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ 62src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \
58 $(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \ 63 $(libfdt) libfdt-wrapper.c \
59 ns16550.c serial.c simple_alloc.c div64.S util.S \ 64 ns16550.c serial.c simple_alloc.c div64.S util.S \
60 gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ 65 gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \
61 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \ 66 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \
@@ -96,6 +101,12 @@ $(addprefix $(obj)/,$(zlibheader)): $(obj)/%: $(srctree)/lib/zlib_inflate/%
96$(addprefix $(obj)/,$(zliblinuxheader)): $(obj)/%: $(srctree)/include/linux/% 101$(addprefix $(obj)/,$(zliblinuxheader)): $(obj)/%: $(srctree)/include/linux/%
97 $(call cmd,copy_zliblinuxheader) 102 $(call cmd,copy_zliblinuxheader)
98 103
104quiet_cmd_copy_libfdt = COPY $@
105 cmd_copy_libfdt = cp $< $@
106
107$(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/%
108 $(call cmd,copy_libfdt)
109
99$(obj)/empty.c: 110$(obj)/empty.c:
100 @touch $@ 111 @touch $@
101 112
@@ -103,6 +114,7 @@ $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds: $(obj)/%: $(srct
103 @cp $< $@ 114 @cp $< $@
104 115
105clean-files := $(zlib) $(zlibheader) $(zliblinuxheader) \ 116clean-files := $(zlib) $(zlibheader) $(zliblinuxheader) \
117 $(libfdt) $(libfdtheader) \
106 empty.c zImage.coff.lds zImage.ps3.lds zImage.lds 118 empty.c zImage.coff.lds zImage.ps3.lds zImage.lds
107 119
108quiet_cmd_bootcc = BOOTCC $@ 120quiet_cmd_bootcc = BOOTCC $@
@@ -114,6 +126,8 @@ quiet_cmd_bootas = BOOTAS $@
114quiet_cmd_bootar = BOOTAR $@ 126quiet_cmd_bootar = BOOTAR $@
115 cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@ 127 cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
116 128
129$(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE
130 $(call if_changed_dep,bootcc)
117$(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE 131$(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE
118 $(Q)mkdir -p $(dir $@) 132 $(Q)mkdir -p $(dir $@)
119 $(call if_changed_dep,bootcc) 133 $(call if_changed_dep,bootcc)
@@ -124,7 +138,7 @@ $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S FORCE
124$(obj)/wrapper.a: $(obj-wlib) FORCE 138$(obj)/wrapper.a: $(obj-wlib) FORCE
125 $(call if_changed,bootar) 139 $(call if_changed,bootar)
126 140
127hostprogs-y := addnote addRamDisk hack-coff mktree dtc 141hostprogs-y := addnote addRamDisk hack-coff mktree
128 142
129targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) 143targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a)
130extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ 144extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
@@ -133,47 +147,10 @@ extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
133dtstree := $(srctree)/$(src)/dts 147dtstree := $(srctree)/$(src)/dts
134 148
135wrapper :=$(srctree)/$(src)/wrapper 149wrapper :=$(srctree)/$(src)/wrapper
136wrapperbits := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree dtc) \ 150wrapperbits := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree) \
137 $(wrapper) FORCE 151 $(wrapper) FORCE
138 152
139############# 153#############
140# Bits for building dtc
141# DTC_GENPARSER := 1 # Uncomment to rebuild flex/bison output
142
143dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o srcpos.o checks.o
144dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o
145dtc-objs := $(addprefix dtc-src/, $(dtc-objs))
146
147# prerequisites on generated files needs to be explicit
148$(obj)/dtc-src/dtc-parser.tab.o: $(obj)/dtc-src/dtc-parser.tab.c $(obj)/dtc-src/dtc-parser.tab.h
149$(obj)/dtc-src/dtc-lexer.lex.o: $(obj)/dtc-src/dtc-lexer.lex.c $(obj)/dtc-src/dtc-parser.tab.h
150
151HOSTCFLAGS += -I$(src)/dtc-src/ -I$(src)/libfdt/
152
153targets += dtc-src/dtc-parser.tab.c
154targets += dtc-src/dtc-lexer.lex.c
155
156clean-files += dtc-src/dtc-parser.tab.h
157
158ifdef DTC_GENPARSER
159BISON = bison
160FLEX = flex
161
162quiet_cmd_bison = BISON $@
163 cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped
164quiet_cmd_flex = FLEX $@
165 cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped
166
167$(obj)/dtc-src/dtc-parser.tab.c: $(src)/dtc-src/dtc-parser.y FORCE
168 $(call if_changed,bison)
169
170$(obj)/dtc-src/dtc-parser.tab.h: $(obj)/dtc-src/dtc-parser.tab.c
171
172$(obj)/dtc-src/dtc-lexer.lex.c: $(src)/dtc-src/dtc-lexer.l FORCE
173 $(call if_changed,flex)
174endif
175
176#############
177# Bits for building various flavours of zImage 154# Bits for building various flavours of zImage
178 155
179ifneq ($(CROSS32_COMPILE),) 156ifneq ($(CROSS32_COMPILE),)
@@ -347,8 +324,10 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
347 $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb) 324 $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb)
348 325
349# Rule to build device tree blobs 326# Rule to build device tree blobs
350$(obj)/%.dtb: $(dtstree)/%.dts $(obj)/dtc 327DTC = $(objtree)/scripts/dtc/dtc
351 $(obj)/dtc -O dtb -o $(obj)/$*.dtb -b 0 $(DTS_FLAGS) $(dtstree)/$*.dts 328
329$(obj)/%.dtb: $(dtstree)/%.dts
330 $(DTC) -O dtb -o $(obj)/$*.dtb -b 0 $(DTS_FLAGS) $(dtstree)/$*.dts
352 331
353# If there isn't a platform selected then just strip the vmlinux. 332# If there isn't a platform selected then just strip the vmlinux.
354ifeq (,$(image-y)) 333ifeq (,$(image-y))
@@ -367,7 +346,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
367clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ 346clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \
368 zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ 347 zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \
369 zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ 348 zImage.iseries zImage.miboot zImage.pmac zImage.pseries \
370 otheros.bld *.dtb 349 simpleImage.* otheros.bld *.dtb
371 350
372# clean up files cached by wrapper 351# clean up files cached by wrapper
373clean-kernel := vmlinux.strip vmlinux.bin 352clean-kernel := vmlinux.strip vmlinux.bin
diff --git a/arch/powerpc/boot/mktree.c b/arch/powerpc/boot/mktree.c
index 45d06a8c7cd1..c2baae0a3d89 100644
--- a/arch/powerpc/boot/mktree.c
+++ b/arch/powerpc/boot/mktree.c
@@ -42,7 +42,7 @@ int main(int argc, char *argv[])
42{ 42{
43 int in_fd, out_fd; 43 int in_fd, out_fd;
44 int nblks, i; 44 int nblks, i;
45 uint cksum, *cp; 45 unsigned int cksum, *cp;
46 struct stat st; 46 struct stat st;
47 boot_block_t bt; 47 boot_block_t bt;
48 48
@@ -90,7 +90,7 @@ int main(int argc, char *argv[])
90 90
91 cksum = 0; 91 cksum = 0;
92 cp = (void *)&bt; 92 cp = (void *)&bt;
93 for (i=0; i<sizeof(bt)/sizeof(uint); i++) 93 for (i = 0; i < sizeof(bt) / sizeof(unsigned int); i++)
94 cksum += *cp++; 94 cksum += *cp++;
95 95
96 /* Assume zImage is an ELF file, and skip the 64K header. 96 /* Assume zImage is an ELF file, and skip the 64K header.
@@ -101,7 +101,7 @@ int main(int argc, char *argv[])
101 exit(4); 101 exit(4);
102 } 102 }
103 103
104 if ((*(uint *)tmpbuf) != htonl(0x7f454c46)) { 104 if ((*(unsigned int *)tmpbuf) != htonl(0x7f454c46)) {
105 fprintf(stderr, "%s is not an ELF image\n", argv[1]); 105 fprintf(stderr, "%s is not an ELF image\n", argv[1]);
106 exit(4); 106 exit(4);
107 } 107 }
@@ -125,8 +125,8 @@ int main(int argc, char *argv[])
125 perror("zImage read"); 125 perror("zImage read");
126 exit(5); 126 exit(5);
127 } 127 }
128 cp = (uint *)tmpbuf; 128 cp = (unsigned int *)tmpbuf;
129 for (i=0; i<sizeof(tmpbuf)/sizeof(uint); i++) 129 for (i = 0; i < sizeof(tmpbuf) / sizeof(unsigned int); i++)
130 cksum += *cp++; 130 cksum += *cp++;
131 if (write(out_fd, tmpbuf, sizeof(tmpbuf)) != sizeof(tmpbuf)) { 131 if (write(out_fd, tmpbuf, sizeof(tmpbuf)) != sizeof(tmpbuf)) {
132 perror("boot-image write"); 132 perror("boot-image write");
diff --git a/arch/powerpc/boot/simpleboot.c b/arch/powerpc/boot/simpleboot.c
index c58a0dada992..21cd48074ec8 100644
--- a/arch/powerpc/boot/simpleboot.c
+++ b/arch/powerpc/boot/simpleboot.c
@@ -19,7 +19,7 @@
19#include "types.h" 19#include "types.h"
20#include "io.h" 20#include "io.h"
21#include "stdio.h" 21#include "stdio.h"
22#include "libfdt/libfdt.h" 22#include <libfdt.h>
23 23
24BSS_STACK(4*1024); 24BSS_STACK(4*1024);
25 25
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig
index fc4a39a40e72..278939713775 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:47 2009 4# Wed May 13 17:22:05 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18CONFIG_FSL_EMB_PERFMON=y 19CONFIG_FSL_EMB_PERFMON=y
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -57,6 +58,7 @@ CONFIG_REDBOOT=y
57CONFIG_ARCH_SUSPEND_POSSIBLE=y 58CONFIG_ARCH_SUSPEND_POSSIBLE=y
58# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
59# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
61CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
61 63
62# 64#
@@ -74,6 +76,15 @@ CONFIG_SYSVIPC_SYSCTL=y
74# CONFIG_BSD_PROCESS_ACCT is not set 76# CONFIG_BSD_PROCESS_ACCT is not set
75# CONFIG_TASKSTATS is not set 77# CONFIG_TASKSTATS is not set
76# CONFIG_AUDIT is not set 78# CONFIG_AUDIT is not set
79
80#
81# RCU Subsystem
82#
83CONFIG_CLASSIC_RCU=y
84# CONFIG_TREE_RCU is not set
85# CONFIG_PREEMPT_RCU is not set
86# CONFIG_TREE_RCU_TRACE is not set
87# CONFIG_PREEMPT_RCU_TRACE is not set
77# CONFIG_IKCONFIG is not set 88# CONFIG_IKCONFIG is not set
78CONFIG_LOG_BUF_SHIFT=14 89CONFIG_LOG_BUF_SHIFT=14
79CONFIG_GROUP_SCHED=y 90CONFIG_GROUP_SCHED=y
@@ -88,19 +99,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
88# CONFIG_NAMESPACES is not set 99# CONFIG_NAMESPACES is not set
89CONFIG_BLK_DEV_INITRD=y 100CONFIG_BLK_DEV_INITRD=y
90CONFIG_INITRAMFS_SOURCE="" 101CONFIG_INITRAMFS_SOURCE=""
102CONFIG_RD_GZIP=y
103# CONFIG_RD_BZIP2 is not set
104# CONFIG_RD_LZMA is not set
91# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 105# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
92CONFIG_SYSCTL=y 106CONFIG_SYSCTL=y
107CONFIG_ANON_INODES=y
93CONFIG_EMBEDDED=y 108CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 109CONFIG_SYSCTL_SYSCALL=y
95# CONFIG_KALLSYMS is not set 110# CONFIG_KALLSYMS is not set
111# CONFIG_STRIP_ASM_SYMS is not set
96CONFIG_HOTPLUG=y 112CONFIG_HOTPLUG=y
97CONFIG_PRINTK=y 113CONFIG_PRINTK=y
98CONFIG_BUG=y 114CONFIG_BUG=y
99CONFIG_ELF_CORE=y 115CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
101CONFIG_BASE_FULL=y 116CONFIG_BASE_FULL=y
102CONFIG_FUTEX=y 117CONFIG_FUTEX=y
103CONFIG_ANON_INODES=y
104# CONFIG_EPOLL is not set 118# CONFIG_EPOLL is not set
105CONFIG_SIGNALFD=y 119CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 120CONFIG_TIMERFD=y
@@ -110,16 +124,19 @@ CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 124CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y 125CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 126CONFIG_SLUB_DEBUG=y
127CONFIG_COMPAT_BRK=y
113# CONFIG_SLAB is not set 128# CONFIG_SLAB is not set
114CONFIG_SLUB=y 129CONFIG_SLUB=y
115# CONFIG_SLOB is not set 130# CONFIG_SLOB is not set
116# CONFIG_PROFILING is not set 131# CONFIG_PROFILING is not set
132# CONFIG_MARKERS is not set
117CONFIG_HAVE_OPROFILE=y 133CONFIG_HAVE_OPROFILE=y
118CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 134CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
119CONFIG_HAVE_IOREMAP_PROT=y 135CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 136CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 137CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 138CONFIG_HAVE_ARCH_TRACEHOOK=y
139# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 140# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 141CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 142CONFIG_RT_MUTEXES=y
@@ -132,7 +149,6 @@ CONFIG_MODULE_UNLOAD=y
132# CONFIG_MODULE_SRCVERSION_ALL is not set 149# CONFIG_MODULE_SRCVERSION_ALL is not set
133CONFIG_BLOCK=y 150CONFIG_BLOCK=y
134# CONFIG_LBD is not set 151# CONFIG_LBD is not set
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 152# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 153# CONFIG_BLK_DEV_INTEGRITY is not set
138 154
@@ -148,18 +164,11 @@ CONFIG_DEFAULT_AS=y
148# CONFIG_DEFAULT_CFQ is not set 164# CONFIG_DEFAULT_CFQ is not set
149# CONFIG_DEFAULT_NOOP is not set 165# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 166CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y
152# CONFIG_TREE_RCU is not set
153# CONFIG_PREEMPT_RCU is not set
154# CONFIG_TREE_RCU_TRACE is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set
156# CONFIG_FREEZER is not set 167# CONFIG_FREEZER is not set
157 168
158# 169#
159# Platform support 170# Platform support
160# 171#
161CONFIG_PPC_MULTIPLATFORM=y
162CONFIG_CLASSIC32=y
163# CONFIG_PPC_CHRP is not set 172# CONFIG_PPC_CHRP is not set
164# CONFIG_MPC5121_ADS is not set 173# CONFIG_MPC5121_ADS is not set
165# CONFIG_MPC5121_GENERIC is not set 174# CONFIG_MPC5121_GENERIC is not set
@@ -184,6 +193,8 @@ CONFIG_ASP834x=y
184CONFIG_PPC_MPC834x=y 193CONFIG_PPC_MPC834x=y
185# CONFIG_PPC_86xx is not set 194# CONFIG_PPC_86xx is not set
186# CONFIG_EMBEDDED6xx is not set 195# CONFIG_EMBEDDED6xx is not set
196# CONFIG_AMIGAONE is not set
197CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
187CONFIG_IPIC=y 198CONFIG_IPIC=y
188# CONFIG_MPIC is not set 199# CONFIG_MPIC is not set
189# CONFIG_MPIC_WEIRD is not set 200# CONFIG_MPIC_WEIRD is not set
@@ -245,9 +256,12 @@ CONFIG_ZONE_DMA_FLAG=1
245CONFIG_BOUNCE=y 256CONFIG_BOUNCE=y
246CONFIG_VIRT_TO_BUS=y 257CONFIG_VIRT_TO_BUS=y
247CONFIG_UNEVICTABLE_LRU=y 258CONFIG_UNEVICTABLE_LRU=y
259CONFIG_HAVE_MLOCK=y
260CONFIG_HAVE_MLOCKED_PAGE_BIT=y
248CONFIG_PPC_4K_PAGES=y 261CONFIG_PPC_4K_PAGES=y
249# CONFIG_PPC_16K_PAGES is not set 262# CONFIG_PPC_16K_PAGES is not set
250# CONFIG_PPC_64K_PAGES is not set 263# CONFIG_PPC_64K_PAGES is not set
264# CONFIG_PPC_256K_PAGES is not set
251CONFIG_FORCE_MAX_ZONEORDER=11 265CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 266CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 267# CONFIG_CMDLINE_BOOL is not set
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 287# CONFIG_PCI_MSI is not set
274# CONFIG_PCI_LEGACY is not set 288# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCI_STUB is not set 289# CONFIG_PCI_STUB is not set
290# CONFIG_PCI_IOV is not set
276# CONFIG_PCCARD is not set 291# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 292# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 293# CONFIG_HAS_RAPIDIO is not set
@@ -295,7 +310,6 @@ CONFIG_NET=y
295# 310#
296# Networking options 311# Networking options
297# 312#
298CONFIG_COMPAT_NET_DEV_OPS=y
299CONFIG_PACKET=y 313CONFIG_PACKET=y
300# CONFIG_PACKET_MMAP is not set 314# CONFIG_PACKET_MMAP is not set
301CONFIG_UNIX=y 315CONFIG_UNIX=y
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_LAPB is not set 365# CONFIG_LAPB is not set
352# CONFIG_ECONET is not set 366# CONFIG_ECONET is not set
353# CONFIG_WAN_ROUTER is not set 367# CONFIG_WAN_ROUTER is not set
368# CONFIG_PHONET is not set
354# CONFIG_NET_SCHED is not set 369# CONFIG_NET_SCHED is not set
355# CONFIG_DCB is not set 370# CONFIG_DCB is not set
356 371
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# CONFIG_IRDA is not set 378# CONFIG_IRDA is not set
364# CONFIG_BT is not set 379# CONFIG_BT is not set
365# CONFIG_AF_RXRPC is not set 380# CONFIG_AF_RXRPC is not set
366# CONFIG_PHONET is not set
367CONFIG_WIRELESS=y 381CONFIG_WIRELESS=y
368# CONFIG_CFG80211 is not set 382# CONFIG_CFG80211 is not set
369CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -469,7 +483,6 @@ CONFIG_MTD_PHYSMAP_OF=y
469# LPDDR flash memory drivers 483# LPDDR flash memory drivers
470# 484#
471# CONFIG_MTD_LPDDR is not set 485# CONFIG_MTD_LPDDR is not set
472# CONFIG_MTD_QINFO_PROBE is not set
473 486
474# 487#
475# UBI - Unsorted block images 488# UBI - Unsorted block images
@@ -499,13 +512,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
499# CONFIG_BLK_DEV_HD is not set 512# CONFIG_BLK_DEV_HD is not set
500CONFIG_MISC_DEVICES=y 513CONFIG_MISC_DEVICES=y
501# CONFIG_PHANTOM is not set 514# CONFIG_PHANTOM is not set
502# CONFIG_EEPROM_93CX6 is not set
503# CONFIG_SGI_IOC4 is not set 515# CONFIG_SGI_IOC4 is not set
504# CONFIG_TIFM_CORE is not set 516# CONFIG_TIFM_CORE is not set
505# CONFIG_ICS932S401 is not set 517# CONFIG_ICS932S401 is not set
506# CONFIG_ENCLOSURE_SERVICES is not set 518# CONFIG_ENCLOSURE_SERVICES is not set
507# CONFIG_HP_ILO is not set 519# CONFIG_HP_ILO is not set
520# CONFIG_ISL29003 is not set
508# CONFIG_C2PORT is not set 521# CONFIG_C2PORT is not set
522
523#
524# EEPROM support
525#
526# CONFIG_EEPROM_AT24 is not set
527# CONFIG_EEPROM_LEGACY is not set
528# CONFIG_EEPROM_93CX6 is not set
509CONFIG_HAVE_IDE=y 529CONFIG_HAVE_IDE=y
510# CONFIG_IDE is not set 530# CONFIG_IDE is not set
511 531
@@ -532,6 +552,7 @@ CONFIG_HAVE_IDE=y
532# CONFIG_I2O is not set 552# CONFIG_I2O is not set
533# CONFIG_MACINTOSH_DRIVERS is not set 553# CONFIG_MACINTOSH_DRIVERS is not set
534CONFIG_NETDEVICES=y 554CONFIG_NETDEVICES=y
555CONFIG_COMPAT_NET_DEV_OPS=y
535# CONFIG_DUMMY is not set 556# CONFIG_DUMMY is not set
536# CONFIG_BONDING is not set 557# CONFIG_BONDING is not set
537# CONFIG_MACVLAN is not set 558# CONFIG_MACVLAN is not set
@@ -565,6 +586,8 @@ CONFIG_MII=y
565# CONFIG_SUNGEM is not set 586# CONFIG_SUNGEM is not set
566# CONFIG_CASSINI is not set 587# CONFIG_CASSINI is not set
567# CONFIG_NET_VENDOR_3COM is not set 588# CONFIG_NET_VENDOR_3COM is not set
589# CONFIG_ETHOC is not set
590# CONFIG_DNET is not set
568# CONFIG_NET_TULIP is not set 591# CONFIG_NET_TULIP is not set
569# CONFIG_HP100 is not set 592# CONFIG_HP100 is not set
570# CONFIG_IBM_NEW_EMAC_ZMII is not set 593# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -584,6 +607,7 @@ CONFIG_NETDEV_1000=y
584# CONFIG_E1000E is not set 607# CONFIG_E1000E is not set
585# CONFIG_IP1000 is not set 608# CONFIG_IP1000 is not set
586# CONFIG_IGB is not set 609# CONFIG_IGB is not set
610# CONFIG_IGBVF is not set
587# CONFIG_NS83820 is not set 611# CONFIG_NS83820 is not set
588# CONFIG_HAMACHI is not set 612# CONFIG_HAMACHI is not set
589# CONFIG_YELLOWFIN is not set 613# CONFIG_YELLOWFIN is not set
@@ -594,11 +618,12 @@ CONFIG_NETDEV_1000=y
594# CONFIG_VIA_VELOCITY is not set 618# CONFIG_VIA_VELOCITY is not set
595# CONFIG_TIGON3 is not set 619# CONFIG_TIGON3 is not set
596# CONFIG_BNX2 is not set 620# CONFIG_BNX2 is not set
621CONFIG_FSL_PQ_MDIO=y
597CONFIG_GIANFAR=y 622CONFIG_GIANFAR=y
598# CONFIG_MV643XX_ETH is not set
599# CONFIG_QLA3XXX is not set 623# CONFIG_QLA3XXX is not set
600# CONFIG_ATL1 is not set 624# CONFIG_ATL1 is not set
601# CONFIG_ATL1E is not set 625# CONFIG_ATL1E is not set
626# CONFIG_ATL1C is not set
602# CONFIG_JME is not set 627# CONFIG_JME is not set
603# CONFIG_NETDEV_10000 is not set 628# CONFIG_NETDEV_10000 is not set
604# CONFIG_TR is not set 629# CONFIG_TR is not set
@@ -608,7 +633,6 @@ CONFIG_GIANFAR=y
608# 633#
609# CONFIG_WLAN_PRE80211 is not set 634# CONFIG_WLAN_PRE80211 is not set
610# CONFIG_WLAN_80211 is not set 635# CONFIG_WLAN_80211 is not set
611# CONFIG_IWLWIFI_LEDS is not set
612 636
613# 637#
614# Enable WiMAX (Networking options) to see the WiMAX drivers 638# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -759,12 +783,9 @@ CONFIG_I2C_MPC=y
759# Miscellaneous I2C Chip support 783# Miscellaneous I2C Chip support
760# 784#
761# CONFIG_DS1682 is not set 785# CONFIG_DS1682 is not set
762# CONFIG_EEPROM_AT24 is not set
763# CONFIG_EEPROM_LEGACY is not set
764# CONFIG_SENSORS_PCF8574 is not set 786# CONFIG_SENSORS_PCF8574 is not set
765# CONFIG_PCF8575 is not set 787# CONFIG_PCF8575 is not set
766# CONFIG_SENSORS_PCA9539 is not set 788# CONFIG_SENSORS_PCA9539 is not set
767# CONFIG_SENSORS_PCF8591 is not set
768# CONFIG_SENSORS_MAX6875 is not set 789# CONFIG_SENSORS_MAX6875 is not set
769# CONFIG_SENSORS_TSL2550 is not set 790# CONFIG_SENSORS_TSL2550 is not set
770# CONFIG_I2C_DEBUG_CORE is not set 791# CONFIG_I2C_DEBUG_CORE is not set
@@ -796,6 +817,7 @@ CONFIG_HWMON=y
796# CONFIG_SENSORS_F71805F is not set 817# CONFIG_SENSORS_F71805F is not set
797# CONFIG_SENSORS_F71882FG is not set 818# CONFIG_SENSORS_F71882FG is not set
798# CONFIG_SENSORS_F75375S is not set 819# CONFIG_SENSORS_F75375S is not set
820# CONFIG_SENSORS_G760A is not set
799# CONFIG_SENSORS_GL518SM is not set 821# CONFIG_SENSORS_GL518SM is not set
800# CONFIG_SENSORS_GL520SM is not set 822# CONFIG_SENSORS_GL520SM is not set
801# CONFIG_SENSORS_IT87 is not set 823# CONFIG_SENSORS_IT87 is not set
@@ -810,11 +832,14 @@ CONFIG_HWMON=y
810# CONFIG_SENSORS_LM90 is not set 832# CONFIG_SENSORS_LM90 is not set
811# CONFIG_SENSORS_LM92 is not set 833# CONFIG_SENSORS_LM92 is not set
812# CONFIG_SENSORS_LM93 is not set 834# CONFIG_SENSORS_LM93 is not set
835# CONFIG_SENSORS_LTC4215 is not set
813# CONFIG_SENSORS_LTC4245 is not set 836# CONFIG_SENSORS_LTC4245 is not set
837# CONFIG_SENSORS_LM95241 is not set
814# CONFIG_SENSORS_MAX1619 is not set 838# CONFIG_SENSORS_MAX1619 is not set
815# CONFIG_SENSORS_MAX6650 is not set 839# CONFIG_SENSORS_MAX6650 is not set
816# CONFIG_SENSORS_PC87360 is not set 840# CONFIG_SENSORS_PC87360 is not set
817# CONFIG_SENSORS_PC87427 is not set 841# CONFIG_SENSORS_PC87427 is not set
842# CONFIG_SENSORS_PCF8591 is not set
818# CONFIG_SENSORS_SIS5595 is not set 843# CONFIG_SENSORS_SIS5595 is not set
819# CONFIG_SENSORS_DME1737 is not set 844# CONFIG_SENSORS_DME1737 is not set
820# CONFIG_SENSORS_SMSC47M1 is not set 845# CONFIG_SENSORS_SMSC47M1 is not set
@@ -959,11 +984,11 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
959# CONFIG_USB_TMC is not set 984# CONFIG_USB_TMC is not set
960 985
961# 986#
962# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 987# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
963# 988#
964 989
965# 990#
966# see USB_STORAGE Help for more information 991# also be needed; see USB_STORAGE Help for more info
967# 992#
968# CONFIG_USB_LIBUSUAL is not set 993# CONFIG_USB_LIBUSUAL is not set
969 994
@@ -991,7 +1016,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
991# CONFIG_USB_LED is not set 1016# CONFIG_USB_LED is not set
992# CONFIG_USB_CYPRESS_CY7C63 is not set 1017# CONFIG_USB_CYPRESS_CY7C63 is not set
993# CONFIG_USB_CYTHERM is not set 1018# CONFIG_USB_CYTHERM is not set
994# CONFIG_USB_PHIDGET is not set
995# CONFIG_USB_IDMOUSE is not set 1019# CONFIG_USB_IDMOUSE is not set
996# CONFIG_USB_FTDI_ELAN is not set 1020# CONFIG_USB_FTDI_ELAN is not set
997# CONFIG_USB_APPLEDISPLAY is not set 1021# CONFIG_USB_APPLEDISPLAY is not set
@@ -1006,6 +1030,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1006# 1030#
1007# OTG and related infrastructure 1031# OTG and related infrastructure
1008# 1032#
1033# CONFIG_NOP_USB_XCEIV is not set
1009# CONFIG_UWB is not set 1034# CONFIG_UWB is not set
1010# CONFIG_MMC is not set 1035# CONFIG_MMC is not set
1011# CONFIG_MEMSTICK is not set 1036# CONFIG_MEMSTICK is not set
@@ -1067,8 +1092,9 @@ CONFIG_RTC_DRV_DS1374=y
1067# 1092#
1068# on-CPU RTC drivers 1093# on-CPU RTC drivers
1069# 1094#
1070# CONFIG_RTC_DRV_PPC is not set 1095# CONFIG_RTC_DRV_GENERIC is not set
1071# CONFIG_DMADEVICES is not set 1096# CONFIG_DMADEVICES is not set
1097# CONFIG_AUXDISPLAY is not set
1072# CONFIG_UIO is not set 1098# CONFIG_UIO is not set
1073# CONFIG_STAGING is not set 1099# CONFIG_STAGING is not set
1074 1100
@@ -1079,6 +1105,7 @@ CONFIG_EXT2_FS=y
1079# CONFIG_EXT2_FS_XATTR is not set 1105# CONFIG_EXT2_FS_XATTR is not set
1080# CONFIG_EXT2_FS_XIP is not set 1106# CONFIG_EXT2_FS_XIP is not set
1081CONFIG_EXT3_FS=y 1107CONFIG_EXT3_FS=y
1108# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1082CONFIG_EXT3_FS_XATTR=y 1109CONFIG_EXT3_FS_XATTR=y
1083# CONFIG_EXT3_FS_POSIX_ACL is not set 1110# CONFIG_EXT3_FS_POSIX_ACL is not set
1084# CONFIG_EXT3_FS_SECURITY is not set 1111# CONFIG_EXT3_FS_SECURITY is not set
@@ -1101,6 +1128,11 @@ CONFIG_INOTIFY_USER=y
1101# CONFIG_FUSE_FS is not set 1128# CONFIG_FUSE_FS is not set
1102 1129
1103# 1130#
1131# Caches
1132#
1133# CONFIG_FSCACHE is not set
1134
1135#
1104# CD-ROM/DVD Filesystems 1136# CD-ROM/DVD Filesystems
1105# 1137#
1106# CONFIG_ISO9660_FS is not set 1138# CONFIG_ISO9660_FS is not set
@@ -1154,6 +1186,7 @@ CONFIG_JFFS2_RTIME=y
1154# CONFIG_ROMFS_FS is not set 1186# CONFIG_ROMFS_FS is not set
1155# CONFIG_SYSV_FS is not set 1187# CONFIG_SYSV_FS is not set
1156# CONFIG_UFS_FS is not set 1188# CONFIG_UFS_FS is not set
1189# CONFIG_NILFS2_FS is not set
1157CONFIG_NETWORK_FILESYSTEMS=y 1190CONFIG_NETWORK_FILESYSTEMS=y
1158CONFIG_NFS_FS=y 1191CONFIG_NFS_FS=y
1159CONFIG_NFS_V3=y 1192CONFIG_NFS_V3=y
@@ -1166,7 +1199,6 @@ CONFIG_LOCKD_V4=y
1166CONFIG_NFS_COMMON=y 1199CONFIG_NFS_COMMON=y
1167CONFIG_SUNRPC=y 1200CONFIG_SUNRPC=y
1168CONFIG_SUNRPC_GSS=y 1201CONFIG_SUNRPC_GSS=y
1169# CONFIG_SUNRPC_REGISTER_V4 is not set
1170CONFIG_RPCSEC_GSS_KRB5=y 1202CONFIG_RPCSEC_GSS_KRB5=y
1171# CONFIG_RPCSEC_GSS_SPKM3 is not set 1203# CONFIG_RPCSEC_GSS_SPKM3 is not set
1172# CONFIG_SMB_FS is not set 1204# CONFIG_SMB_FS is not set
@@ -1233,6 +1265,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1233# CONFIG_NLS_KOI8_U is not set 1265# CONFIG_NLS_KOI8_U is not set
1234# CONFIG_NLS_UTF8 is not set 1266# CONFIG_NLS_UTF8 is not set
1235# CONFIG_DLM is not set 1267# CONFIG_DLM is not set
1268# CONFIG_BINARY_PRINTF is not set
1236 1269
1237# 1270#
1238# Library routines 1271# Library routines
@@ -1248,11 +1281,12 @@ CONFIG_CRC32=y
1248# CONFIG_LIBCRC32C is not set 1281# CONFIG_LIBCRC32C is not set
1249CONFIG_ZLIB_INFLATE=y 1282CONFIG_ZLIB_INFLATE=y
1250CONFIG_ZLIB_DEFLATE=y 1283CONFIG_ZLIB_DEFLATE=y
1251CONFIG_PLIST=y 1284CONFIG_DECOMPRESS_GZIP=y
1252CONFIG_HAS_IOMEM=y 1285CONFIG_HAS_IOMEM=y
1253CONFIG_HAS_IOPORT=y 1286CONFIG_HAS_IOPORT=y
1254CONFIG_HAS_DMA=y 1287CONFIG_HAS_DMA=y
1255CONFIG_HAVE_LMB=y 1288CONFIG_HAVE_LMB=y
1289CONFIG_NLATTR=y
1256 1290
1257# 1291#
1258# Kernel hacking 1292# Kernel hacking
@@ -1274,13 +1308,24 @@ CONFIG_FRAME_WARN=1024
1274# CONFIG_LATENCYTOP is not set 1308# CONFIG_LATENCYTOP is not set
1275# CONFIG_SYSCTL_SYSCALL_CHECK is not set 1309# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1276CONFIG_HAVE_FUNCTION_TRACER=y 1310CONFIG_HAVE_FUNCTION_TRACER=y
1311CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1277CONFIG_HAVE_DYNAMIC_FTRACE=y 1312CONFIG_HAVE_DYNAMIC_FTRACE=y
1278CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1313CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1314CONFIG_TRACING_SUPPORT=y
1279 1315
1280# 1316#
1281# Tracers 1317# Tracers
1282# 1318#
1283# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1319# CONFIG_FUNCTION_TRACER is not set
1320# CONFIG_SCHED_TRACER is not set
1321# CONFIG_CONTEXT_SWITCH_TRACER is not set
1322# CONFIG_EVENT_TRACER is not set
1323# CONFIG_BOOT_TRACER is not set
1324# CONFIG_TRACE_BRANCH_PROFILING is not set
1325# CONFIG_STACK_TRACER is not set
1326# CONFIG_KMEMTRACE is not set
1327# CONFIG_WORKQUEUE_TRACER is not set
1328# CONFIG_BLK_DEV_IO_TRACE is not set
1284# CONFIG_SAMPLES is not set 1329# CONFIG_SAMPLES is not set
1285CONFIG_HAVE_ARCH_KGDB=y 1330CONFIG_HAVE_ARCH_KGDB=y
1286CONFIG_PRINT_STACK_DEPTH=64 1331CONFIG_PRINT_STACK_DEPTH=64
@@ -1309,10 +1354,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1309CONFIG_CRYPTO_HASH=y 1354CONFIG_CRYPTO_HASH=y
1310CONFIG_CRYPTO_HASH2=y 1355CONFIG_CRYPTO_HASH2=y
1311CONFIG_CRYPTO_RNG2=y 1356CONFIG_CRYPTO_RNG2=y
1357CONFIG_CRYPTO_PCOMP=y
1312CONFIG_CRYPTO_MANAGER=y 1358CONFIG_CRYPTO_MANAGER=y
1313CONFIG_CRYPTO_MANAGER2=y 1359CONFIG_CRYPTO_MANAGER2=y
1314# CONFIG_CRYPTO_GF128MUL is not set 1360# CONFIG_CRYPTO_GF128MUL is not set
1315# CONFIG_CRYPTO_NULL is not set 1361# CONFIG_CRYPTO_NULL is not set
1362CONFIG_CRYPTO_WORKQUEUE=y
1316# CONFIG_CRYPTO_CRYPTD is not set 1363# CONFIG_CRYPTO_CRYPTD is not set
1317# CONFIG_CRYPTO_AUTHENC is not set 1364# CONFIG_CRYPTO_AUTHENC is not set
1318# CONFIG_CRYPTO_TEST is not set 1365# CONFIG_CRYPTO_TEST is not set
@@ -1381,6 +1428,7 @@ CONFIG_CRYPTO_DES=y
1381# Compression 1428# Compression
1382# 1429#
1383# CONFIG_CRYPTO_DEFLATE is not set 1430# CONFIG_CRYPTO_DEFLATE is not set
1431# CONFIG_CRYPTO_ZLIB is not set
1384# CONFIG_CRYPTO_LZO is not set 1432# CONFIG_CRYPTO_LZO is not set
1385 1433
1386# 1434#
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
index 409d017621a8..c5c0fe71a438 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:48 2009 4# Wed May 13 17:22:06 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -109,16 +123,19 @@ CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 135CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
138# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 139# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 140CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 141CONFIG_RT_MUTEXES=y
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_SRCVERSION_ALL is not set 148# CONFIG_MODULE_SRCVERSION_ALL is not set
132CONFIG_BLOCK=y 149CONFIG_BLOCK=y
133# CONFIG_LBD is not set 150# CONFIG_LBD is not set
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 151# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 152# CONFIG_BLK_DEV_INTEGRITY is not set
137 153
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 163# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 165CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 166# CONFIG_FREEZER is not set
156 167
157# 168#
158# Platform support 169# Platform support
159# 170#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 171# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 172# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 173# CONFIG_MPC5121_GENERIC is not set
@@ -183,6 +192,8 @@ CONFIG_MPC831x_RDB=y
183CONFIG_PPC_MPC831x=y 192CONFIG_PPC_MPC831x=y
184# CONFIG_PPC_86xx is not set 193# CONFIG_PPC_86xx is not set
185# CONFIG_EMBEDDED6xx is not set 194# CONFIG_EMBEDDED6xx is not set
195# CONFIG_AMIGAONE is not set
196CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186CONFIG_IPIC=y 197CONFIG_IPIC=y
187# CONFIG_MPIC is not set 198# CONFIG_MPIC is not set
188# CONFIG_MPIC_WEIRD is not set 199# CONFIG_MPIC_WEIRD is not set
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 255CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 256CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y 257CONFIG_UNEVICTABLE_LRU=y
258CONFIG_HAVE_MLOCK=y
259CONFIG_HAVE_MLOCKED_PAGE_BIT=y
247CONFIG_PPC_4K_PAGES=y 260CONFIG_PPC_4K_PAGES=y
248# CONFIG_PPC_16K_PAGES is not set 261# CONFIG_PPC_16K_PAGES is not set
249# CONFIG_PPC_64K_PAGES is not set 262# CONFIG_PPC_64K_PAGES is not set
263# CONFIG_PPC_256K_PAGES is not set
250CONFIG_FORCE_MAX_ZONEORDER=11 264CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 265CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 266# CONFIG_CMDLINE_BOOL is not set
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCI_DEBUG is not set 288# CONFIG_PCI_DEBUG is not set
275# CONFIG_PCI_STUB is not set 289# CONFIG_PCI_STUB is not set
290# CONFIG_PCI_IOV is not set
276# CONFIG_PCCARD is not set 291# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 292# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 293# CONFIG_HAS_RAPIDIO is not set
@@ -295,7 +310,6 @@ CONFIG_NET=y
295# 310#
296# Networking options 311# Networking options
297# 312#
298CONFIG_COMPAT_NET_DEV_OPS=y
299CONFIG_PACKET=y 313CONFIG_PACKET=y
300# CONFIG_PACKET_MMAP is not set 314# CONFIG_PACKET_MMAP is not set
301CONFIG_UNIX=y 315CONFIG_UNIX=y
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_LAPB is not set 365# CONFIG_LAPB is not set
352# CONFIG_ECONET is not set 366# CONFIG_ECONET is not set
353# CONFIG_WAN_ROUTER is not set 367# CONFIG_WAN_ROUTER is not set
368# CONFIG_PHONET is not set
354# CONFIG_NET_SCHED is not set 369# CONFIG_NET_SCHED is not set
355# CONFIG_DCB is not set 370# CONFIG_DCB is not set
356 371
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# CONFIG_IRDA is not set 378# CONFIG_IRDA is not set
364# CONFIG_BT is not set 379# CONFIG_BT is not set
365# CONFIG_AF_RXRPC is not set 380# CONFIG_AF_RXRPC is not set
366# CONFIG_PHONET is not set
367CONFIG_WIRELESS=y 381CONFIG_WIRELESS=y
368# CONFIG_CFG80211 is not set 382# CONFIG_CFG80211 is not set
369CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -481,7 +495,6 @@ CONFIG_MTD_NAND_FSL_ELBC=y
481# LPDDR flash memory drivers 495# LPDDR flash memory drivers
482# 496#
483# CONFIG_MTD_LPDDR is not set 497# CONFIG_MTD_LPDDR is not set
484# CONFIG_MTD_QINFO_PROBE is not set
485 498
486# 499#
487# UBI - Unsorted block images 500# UBI - Unsorted block images
@@ -512,13 +525,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
512# CONFIG_BLK_DEV_HD is not set 525# CONFIG_BLK_DEV_HD is not set
513CONFIG_MISC_DEVICES=y 526CONFIG_MISC_DEVICES=y
514# CONFIG_PHANTOM is not set 527# CONFIG_PHANTOM is not set
515# CONFIG_EEPROM_93CX6 is not set
516# CONFIG_SGI_IOC4 is not set 528# CONFIG_SGI_IOC4 is not set
517# CONFIG_TIFM_CORE is not set 529# CONFIG_TIFM_CORE is not set
518# CONFIG_ICS932S401 is not set 530# CONFIG_ICS932S401 is not set
519# CONFIG_ENCLOSURE_SERVICES is not set 531# CONFIG_ENCLOSURE_SERVICES is not set
520# CONFIG_HP_ILO is not set 532# CONFIG_HP_ILO is not set
533# CONFIG_ISL29003 is not set
521# CONFIG_C2PORT is not set 534# CONFIG_C2PORT is not set
535
536#
537# EEPROM support
538#
539# CONFIG_EEPROM_AT24 is not set
540# CONFIG_EEPROM_AT25 is not set
541# CONFIG_EEPROM_LEGACY is not set
542# CONFIG_EEPROM_93CX6 is not set
522CONFIG_HAVE_IDE=y 543CONFIG_HAVE_IDE=y
523# CONFIG_IDE is not set 544# CONFIG_IDE is not set
524 545
@@ -576,9 +597,11 @@ CONFIG_SCSI_LOWLEVEL=y
576# CONFIG_MEGARAID_NEWGEN is not set 597# CONFIG_MEGARAID_NEWGEN is not set
577# CONFIG_MEGARAID_LEGACY is not set 598# CONFIG_MEGARAID_LEGACY is not set
578# CONFIG_MEGARAID_SAS is not set 599# CONFIG_MEGARAID_SAS is not set
600# CONFIG_SCSI_MPT2SAS is not set
579# CONFIG_SCSI_HPTIOP is not set 601# CONFIG_SCSI_HPTIOP is not set
580# CONFIG_SCSI_BUSLOGIC is not set 602# CONFIG_SCSI_BUSLOGIC is not set
581# CONFIG_LIBFC is not set 603# CONFIG_LIBFC is not set
604# CONFIG_LIBFCOE is not set
582# CONFIG_FCOE is not set 605# CONFIG_FCOE is not set
583# CONFIG_SCSI_DMX3191D is not set 606# CONFIG_SCSI_DMX3191D is not set
584# CONFIG_SCSI_EATA is not set 607# CONFIG_SCSI_EATA is not set
@@ -600,6 +623,7 @@ CONFIG_SCSI_LOWLEVEL=y
600# CONFIG_SCSI_DEBUG is not set 623# CONFIG_SCSI_DEBUG is not set
601# CONFIG_SCSI_SRP is not set 624# CONFIG_SCSI_SRP is not set
602# CONFIG_SCSI_DH is not set 625# CONFIG_SCSI_DH is not set
626# CONFIG_SCSI_OSD_INITIATOR is not set
603# CONFIG_ATA is not set 627# CONFIG_ATA is not set
604CONFIG_MD=y 628CONFIG_MD=y
605CONFIG_BLK_DEV_MD=y 629CONFIG_BLK_DEV_MD=y
@@ -626,6 +650,7 @@ CONFIG_MD_RAID1=y
626# CONFIG_I2O is not set 650# CONFIG_I2O is not set
627# CONFIG_MACINTOSH_DRIVERS is not set 651# CONFIG_MACINTOSH_DRIVERS is not set
628CONFIG_NETDEVICES=y 652CONFIG_NETDEVICES=y
653CONFIG_COMPAT_NET_DEV_OPS=y
629# CONFIG_DUMMY is not set 654# CONFIG_DUMMY is not set
630# CONFIG_BONDING is not set 655# CONFIG_BONDING is not set
631# CONFIG_MACVLAN is not set 656# CONFIG_MACVLAN is not set
@@ -660,6 +685,8 @@ CONFIG_MII=y
660# CONFIG_CASSINI is not set 685# CONFIG_CASSINI is not set
661# CONFIG_NET_VENDOR_3COM is not set 686# CONFIG_NET_VENDOR_3COM is not set
662# CONFIG_ENC28J60 is not set 687# CONFIG_ENC28J60 is not set
688# CONFIG_ETHOC is not set
689# CONFIG_DNET is not set
663# CONFIG_NET_TULIP is not set 690# CONFIG_NET_TULIP is not set
664# CONFIG_HP100 is not set 691# CONFIG_HP100 is not set
665# CONFIG_IBM_NEW_EMAC_ZMII is not set 692# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -697,6 +724,7 @@ CONFIG_NETDEV_1000=y
697# CONFIG_E1000E is not set 724# CONFIG_E1000E is not set
698# CONFIG_IP1000 is not set 725# CONFIG_IP1000 is not set
699# CONFIG_IGB is not set 726# CONFIG_IGB is not set
727# CONFIG_IGBVF is not set
700# CONFIG_NS83820 is not set 728# CONFIG_NS83820 is not set
701# CONFIG_HAMACHI is not set 729# CONFIG_HAMACHI is not set
702# CONFIG_YELLOWFIN is not set 730# CONFIG_YELLOWFIN is not set
@@ -707,11 +735,12 @@ CONFIG_NETDEV_1000=y
707# CONFIG_VIA_VELOCITY is not set 735# CONFIG_VIA_VELOCITY is not set
708# CONFIG_TIGON3 is not set 736# CONFIG_TIGON3 is not set
709# CONFIG_BNX2 is not set 737# CONFIG_BNX2 is not set
738CONFIG_FSL_PQ_MDIO=y
710CONFIG_GIANFAR=y 739CONFIG_GIANFAR=y
711# CONFIG_MV643XX_ETH is not set
712# CONFIG_QLA3XXX is not set 740# CONFIG_QLA3XXX is not set
713# CONFIG_ATL1 is not set 741# CONFIG_ATL1 is not set
714# CONFIG_ATL1E is not set 742# CONFIG_ATL1E is not set
743# CONFIG_ATL1C is not set
715# CONFIG_JME is not set 744# CONFIG_JME is not set
716CONFIG_NETDEV_10000=y 745CONFIG_NETDEV_10000=y
717# CONFIG_CHELSIO_T1 is not set 746# CONFIG_CHELSIO_T1 is not set
@@ -721,6 +750,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
721# CONFIG_IXGBE is not set 750# CONFIG_IXGBE is not set
722# CONFIG_IXGB is not set 751# CONFIG_IXGB is not set
723# CONFIG_S2IO is not set 752# CONFIG_S2IO is not set
753# CONFIG_VXGE is not set
724# CONFIG_MYRI10GE is not set 754# CONFIG_MYRI10GE is not set
725# CONFIG_NETXEN_NIC is not set 755# CONFIG_NETXEN_NIC is not set
726# CONFIG_NIU is not set 756# CONFIG_NIU is not set
@@ -730,6 +760,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
730# CONFIG_BNX2X is not set 760# CONFIG_BNX2X is not set
731# CONFIG_QLGE is not set 761# CONFIG_QLGE is not set
732# CONFIG_SFC is not set 762# CONFIG_SFC is not set
763# CONFIG_BE2NET is not set
733# CONFIG_TR is not set 764# CONFIG_TR is not set
734 765
735# 766#
@@ -737,7 +768,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
737# 768#
738# CONFIG_WLAN_PRE80211 is not set 769# CONFIG_WLAN_PRE80211 is not set
739# CONFIG_WLAN_80211 is not set 770# CONFIG_WLAN_80211 is not set
740# CONFIG_IWLWIFI_LEDS is not set
741 771
742# 772#
743# Enable WiMAX (Networking options) to see the WiMAX drivers 773# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -815,6 +845,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
815# 845#
816# Non-8250 serial port support 846# Non-8250 serial port support
817# 847#
848# CONFIG_SERIAL_MAX3100 is not set
818# CONFIG_SERIAL_UARTLITE is not set 849# CONFIG_SERIAL_UARTLITE is not set
819CONFIG_SERIAL_CORE=y 850CONFIG_SERIAL_CORE=y
820CONFIG_SERIAL_CORE_CONSOLE=y 851CONFIG_SERIAL_CORE_CONSOLE=y
@@ -827,6 +858,7 @@ CONFIG_LEGACY_PTY_COUNT=256
827# CONFIG_HVC_UDBG is not set 858# CONFIG_HVC_UDBG is not set
828# CONFIG_IPMI_HANDLER is not set 859# CONFIG_IPMI_HANDLER is not set
829CONFIG_HW_RANDOM=y 860CONFIG_HW_RANDOM=y
861# CONFIG_HW_RANDOM_TIMERIOMEM is not set
830# CONFIG_NVRAM is not set 862# CONFIG_NVRAM is not set
831# CONFIG_R3964 is not set 863# CONFIG_R3964 is not set
832# CONFIG_APPLICOM is not set 864# CONFIG_APPLICOM is not set
@@ -889,12 +921,9 @@ CONFIG_I2C_MPC=y
889# Miscellaneous I2C Chip support 921# Miscellaneous I2C Chip support
890# 922#
891# CONFIG_DS1682 is not set 923# CONFIG_DS1682 is not set
892# CONFIG_EEPROM_AT24 is not set
893# CONFIG_EEPROM_LEGACY is not set
894# CONFIG_SENSORS_PCF8574 is not set 924# CONFIG_SENSORS_PCF8574 is not set
895# CONFIG_PCF8575 is not set 925# CONFIG_PCF8575 is not set
896# CONFIG_SENSORS_PCA9539 is not set 926# CONFIG_SENSORS_PCA9539 is not set
897# CONFIG_SENSORS_PCF8591 is not set
898# CONFIG_SENSORS_MAX6875 is not set 927# CONFIG_SENSORS_MAX6875 is not set
899# CONFIG_SENSORS_TSL2550 is not set 928# CONFIG_SENSORS_TSL2550 is not set
900# CONFIG_I2C_DEBUG_CORE is not set 929# CONFIG_I2C_DEBUG_CORE is not set
@@ -914,7 +943,6 @@ CONFIG_SPI_MPC83xx=y
914# 943#
915# SPI Protocol Masters 944# SPI Protocol Masters
916# 945#
917# CONFIG_EEPROM_AT25 is not set
918# CONFIG_SPI_SPIDEV is not set 946# CONFIG_SPI_SPIDEV is not set
919# CONFIG_SPI_TLE62X0 is not set 947# CONFIG_SPI_TLE62X0 is not set
920CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 948CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
@@ -942,6 +970,7 @@ CONFIG_HWMON=y
942# CONFIG_SENSORS_F71805F is not set 970# CONFIG_SENSORS_F71805F is not set
943# CONFIG_SENSORS_F71882FG is not set 971# CONFIG_SENSORS_F71882FG is not set
944# CONFIG_SENSORS_F75375S is not set 972# CONFIG_SENSORS_F75375S is not set
973# CONFIG_SENSORS_G760A is not set
945# CONFIG_SENSORS_GL518SM is not set 974# CONFIG_SENSORS_GL518SM is not set
946# CONFIG_SENSORS_GL520SM is not set 975# CONFIG_SENSORS_GL520SM is not set
947# CONFIG_SENSORS_IT87 is not set 976# CONFIG_SENSORS_IT87 is not set
@@ -957,12 +986,15 @@ CONFIG_HWMON=y
957# CONFIG_SENSORS_LM90 is not set 986# CONFIG_SENSORS_LM90 is not set
958# CONFIG_SENSORS_LM92 is not set 987# CONFIG_SENSORS_LM92 is not set
959# CONFIG_SENSORS_LM93 is not set 988# CONFIG_SENSORS_LM93 is not set
989# CONFIG_SENSORS_LTC4215 is not set
960# CONFIG_SENSORS_LTC4245 is not set 990# CONFIG_SENSORS_LTC4245 is not set
991# CONFIG_SENSORS_LM95241 is not set
961# CONFIG_SENSORS_MAX1111 is not set 992# CONFIG_SENSORS_MAX1111 is not set
962# CONFIG_SENSORS_MAX1619 is not set 993# CONFIG_SENSORS_MAX1619 is not set
963# CONFIG_SENSORS_MAX6650 is not set 994# CONFIG_SENSORS_MAX6650 is not set
964# CONFIG_SENSORS_PC87360 is not set 995# CONFIG_SENSORS_PC87360 is not set
965# CONFIG_SENSORS_PC87427 is not set 996# CONFIG_SENSORS_PC87427 is not set
997# CONFIG_SENSORS_PCF8591 is not set
966# CONFIG_SENSORS_SIS5595 is not set 998# CONFIG_SENSORS_SIS5595 is not set
967# CONFIG_SENSORS_DME1737 is not set 999# CONFIG_SENSORS_DME1737 is not set
968# CONFIG_SENSORS_SMSC47M1 is not set 1000# CONFIG_SENSORS_SMSC47M1 is not set
@@ -981,6 +1013,7 @@ CONFIG_HWMON=y
981# CONFIG_SENSORS_W83L786NG is not set 1013# CONFIG_SENSORS_W83L786NG is not set
982# CONFIG_SENSORS_W83627HF is not set 1014# CONFIG_SENSORS_W83627HF is not set
983# CONFIG_SENSORS_W83627EHF is not set 1015# CONFIG_SENSORS_W83627EHF is not set
1016# CONFIG_SENSORS_LIS3_SPI is not set
984# CONFIG_HWMON_DEBUG_CHIP is not set 1017# CONFIG_HWMON_DEBUG_CHIP is not set
985# CONFIG_THERMAL is not set 1018# CONFIG_THERMAL is not set
986# CONFIG_THERMAL_HWMON is not set 1019# CONFIG_THERMAL_HWMON is not set
@@ -1077,7 +1110,6 @@ CONFIG_HID=y
1077# 1110#
1078# Special HID drivers 1111# Special HID drivers
1079# 1112#
1080CONFIG_HID_COMPAT=y
1081CONFIG_USB_SUPPORT=y 1113CONFIG_USB_SUPPORT=y
1082CONFIG_USB_ARCH_HAS_HCD=y 1114CONFIG_USB_ARCH_HAS_HCD=y
1083CONFIG_USB_ARCH_HAS_OHCI=y 1115CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1135,11 +1167,11 @@ CONFIG_USB_UHCI_HCD=y
1135# CONFIG_USB_TMC is not set 1167# CONFIG_USB_TMC is not set
1136 1168
1137# 1169#
1138# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1170# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1139# 1171#
1140 1172
1141# 1173#
1142# see USB_STORAGE Help for more information 1174# also be needed; see USB_STORAGE Help for more info
1143# 1175#
1144CONFIG_USB_STORAGE=y 1176CONFIG_USB_STORAGE=y
1145# CONFIG_USB_STORAGE_DEBUG is not set 1177# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1181,7 +1213,6 @@ CONFIG_USB_STORAGE=y
1181# CONFIG_USB_LED is not set 1213# CONFIG_USB_LED is not set
1182# CONFIG_USB_CYPRESS_CY7C63 is not set 1214# CONFIG_USB_CYPRESS_CY7C63 is not set
1183# CONFIG_USB_CYTHERM is not set 1215# CONFIG_USB_CYTHERM is not set
1184# CONFIG_USB_PHIDGET is not set
1185# CONFIG_USB_IDMOUSE is not set 1216# CONFIG_USB_IDMOUSE is not set
1186# CONFIG_USB_FTDI_ELAN is not set 1217# CONFIG_USB_FTDI_ELAN is not set
1187# CONFIG_USB_APPLEDISPLAY is not set 1218# CONFIG_USB_APPLEDISPLAY is not set
@@ -1228,6 +1259,7 @@ CONFIG_USB_ETH_RNDIS=y
1228# 1259#
1229# OTG and related infrastructure 1260# OTG and related infrastructure
1230# 1261#
1262# CONFIG_NOP_USB_XCEIV is not set
1231# CONFIG_UWB is not set 1263# CONFIG_UWB is not set
1232# CONFIG_MMC is not set 1264# CONFIG_MMC is not set
1233# CONFIG_MEMSTICK is not set 1265# CONFIG_MEMSTICK is not set
@@ -1296,8 +1328,9 @@ CONFIG_RTC_DRV_DS1307=y
1296# 1328#
1297# on-CPU RTC drivers 1329# on-CPU RTC drivers
1298# 1330#
1299# CONFIG_RTC_DRV_PPC is not set 1331# CONFIG_RTC_DRV_GENERIC is not set
1300# CONFIG_DMADEVICES is not set 1332# CONFIG_DMADEVICES is not set
1333# CONFIG_AUXDISPLAY is not set
1301# CONFIG_UIO is not set 1334# CONFIG_UIO is not set
1302# CONFIG_STAGING is not set 1335# CONFIG_STAGING is not set
1303 1336
@@ -1308,6 +1341,7 @@ CONFIG_EXT2_FS=y
1308# CONFIG_EXT2_FS_XATTR is not set 1341# CONFIG_EXT2_FS_XATTR is not set
1309# CONFIG_EXT2_FS_XIP is not set 1342# CONFIG_EXT2_FS_XIP is not set
1310CONFIG_EXT3_FS=y 1343CONFIG_EXT3_FS=y
1344# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1311CONFIG_EXT3_FS_XATTR=y 1345CONFIG_EXT3_FS_XATTR=y
1312# CONFIG_EXT3_FS_POSIX_ACL is not set 1346# CONFIG_EXT3_FS_POSIX_ACL is not set
1313# CONFIG_EXT3_FS_SECURITY is not set 1347# CONFIG_EXT3_FS_SECURITY is not set
@@ -1330,6 +1364,11 @@ CONFIG_INOTIFY_USER=y
1330# CONFIG_FUSE_FS is not set 1364# CONFIG_FUSE_FS is not set
1331 1365
1332# 1366#
1367# Caches
1368#
1369# CONFIG_FSCACHE is not set
1370
1371#
1333# CD-ROM/DVD Filesystems 1372# CD-ROM/DVD Filesystems
1334# 1373#
1335# CONFIG_ISO9660_FS is not set 1374# CONFIG_ISO9660_FS is not set
@@ -1383,6 +1422,7 @@ CONFIG_JFFS2_RTIME=y
1383# CONFIG_ROMFS_FS is not set 1422# CONFIG_ROMFS_FS is not set
1384# CONFIG_SYSV_FS is not set 1423# CONFIG_SYSV_FS is not set
1385# CONFIG_UFS_FS is not set 1424# CONFIG_UFS_FS is not set
1425# CONFIG_NILFS2_FS is not set
1386CONFIG_NETWORK_FILESYSTEMS=y 1426CONFIG_NETWORK_FILESYSTEMS=y
1387CONFIG_NFS_FS=y 1427CONFIG_NFS_FS=y
1388CONFIG_NFS_V3=y 1428CONFIG_NFS_V3=y
@@ -1395,7 +1435,6 @@ CONFIG_LOCKD_V4=y
1395CONFIG_NFS_COMMON=y 1435CONFIG_NFS_COMMON=y
1396CONFIG_SUNRPC=y 1436CONFIG_SUNRPC=y
1397CONFIG_SUNRPC_GSS=y 1437CONFIG_SUNRPC_GSS=y
1398# CONFIG_SUNRPC_REGISTER_V4 is not set
1399CONFIG_RPCSEC_GSS_KRB5=y 1438CONFIG_RPCSEC_GSS_KRB5=y
1400# CONFIG_RPCSEC_GSS_SPKM3 is not set 1439# CONFIG_RPCSEC_GSS_SPKM3 is not set
1401# CONFIG_SMB_FS is not set 1440# CONFIG_SMB_FS is not set
@@ -1427,6 +1466,7 @@ CONFIG_MSDOS_PARTITION=y
1427# CONFIG_SYSV68_PARTITION is not set 1466# CONFIG_SYSV68_PARTITION is not set
1428# CONFIG_NLS is not set 1467# CONFIG_NLS is not set
1429# CONFIG_DLM is not set 1468# CONFIG_DLM is not set
1469# CONFIG_BINARY_PRINTF is not set
1430 1470
1431# 1471#
1432# Library routines 1472# Library routines
@@ -1442,11 +1482,12 @@ CONFIG_CRC32=y
1442# CONFIG_LIBCRC32C is not set 1482# CONFIG_LIBCRC32C is not set
1443CONFIG_ZLIB_INFLATE=y 1483CONFIG_ZLIB_INFLATE=y
1444CONFIG_ZLIB_DEFLATE=y 1484CONFIG_ZLIB_DEFLATE=y
1445CONFIG_PLIST=y 1485CONFIG_DECOMPRESS_GZIP=y
1446CONFIG_HAS_IOMEM=y 1486CONFIG_HAS_IOMEM=y
1447CONFIG_HAS_IOPORT=y 1487CONFIG_HAS_IOPORT=y
1448CONFIG_HAS_DMA=y 1488CONFIG_HAS_DMA=y
1449CONFIG_HAVE_LMB=y 1489CONFIG_HAVE_LMB=y
1490CONFIG_NLATTR=y
1450 1491
1451# 1492#
1452# Kernel hacking 1493# Kernel hacking
@@ -1464,6 +1505,9 @@ CONFIG_DEBUG_KERNEL=y
1464CONFIG_DETECT_SOFTLOCKUP=y 1505CONFIG_DETECT_SOFTLOCKUP=y
1465# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1506# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1466CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1507CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1508CONFIG_DETECT_HUNG_TASK=y
1509# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1510CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1467CONFIG_SCHED_DEBUG=y 1511CONFIG_SCHED_DEBUG=y
1468# CONFIG_SCHEDSTATS is not set 1512# CONFIG_SCHEDSTATS is not set
1469# CONFIG_TIMER_STATS is not set 1513# CONFIG_TIMER_STATS is not set
@@ -1493,9 +1537,12 @@ CONFIG_SCHED_DEBUG=y
1493# CONFIG_FAULT_INJECTION is not set 1537# CONFIG_FAULT_INJECTION is not set
1494# CONFIG_LATENCYTOP is not set 1538# CONFIG_LATENCYTOP is not set
1495CONFIG_SYSCTL_SYSCALL_CHECK=y 1539CONFIG_SYSCTL_SYSCALL_CHECK=y
1540# CONFIG_DEBUG_PAGEALLOC is not set
1496CONFIG_HAVE_FUNCTION_TRACER=y 1541CONFIG_HAVE_FUNCTION_TRACER=y
1542CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1497CONFIG_HAVE_DYNAMIC_FTRACE=y 1543CONFIG_HAVE_DYNAMIC_FTRACE=y
1498CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1544CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1545CONFIG_TRACING_SUPPORT=y
1499 1546
1500# 1547#
1501# Tracers 1548# Tracers
@@ -1503,17 +1550,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1503# CONFIG_FUNCTION_TRACER is not set 1550# CONFIG_FUNCTION_TRACER is not set
1504# CONFIG_SCHED_TRACER is not set 1551# CONFIG_SCHED_TRACER is not set
1505# CONFIG_CONTEXT_SWITCH_TRACER is not set 1552# CONFIG_CONTEXT_SWITCH_TRACER is not set
1553# CONFIG_EVENT_TRACER is not set
1506# CONFIG_BOOT_TRACER is not set 1554# CONFIG_BOOT_TRACER is not set
1507# CONFIG_TRACE_BRANCH_PROFILING is not set 1555# CONFIG_TRACE_BRANCH_PROFILING is not set
1508# CONFIG_STACK_TRACER is not set 1556# CONFIG_STACK_TRACER is not set
1509# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1557# CONFIG_KMEMTRACE is not set
1558# CONFIG_WORKQUEUE_TRACER is not set
1559# CONFIG_BLK_DEV_IO_TRACE is not set
1510# CONFIG_SAMPLES is not set 1560# CONFIG_SAMPLES is not set
1511CONFIG_HAVE_ARCH_KGDB=y 1561CONFIG_HAVE_ARCH_KGDB=y
1512# CONFIG_KGDB is not set 1562# CONFIG_KGDB is not set
1513CONFIG_PRINT_STACK_DEPTH=64 1563CONFIG_PRINT_STACK_DEPTH=64
1514# CONFIG_DEBUG_STACKOVERFLOW is not set 1564# CONFIG_DEBUG_STACKOVERFLOW is not set
1515# CONFIG_DEBUG_STACK_USAGE is not set 1565# CONFIG_DEBUG_STACK_USAGE is not set
1516# CONFIG_DEBUG_PAGEALLOC is not set
1517# CONFIG_CODE_PATCHING_SELFTEST is not set 1566# CONFIG_CODE_PATCHING_SELFTEST is not set
1518# CONFIG_FTR_FIXUP_SELFTEST is not set 1567# CONFIG_FTR_FIXUP_SELFTEST is not set
1519# CONFIG_MSI_BITMAP_SELFTEST is not set 1568# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1544,10 +1593,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1544CONFIG_CRYPTO_HASH=y 1593CONFIG_CRYPTO_HASH=y
1545CONFIG_CRYPTO_HASH2=y 1594CONFIG_CRYPTO_HASH2=y
1546CONFIG_CRYPTO_RNG2=y 1595CONFIG_CRYPTO_RNG2=y
1596CONFIG_CRYPTO_PCOMP=y
1547CONFIG_CRYPTO_MANAGER=y 1597CONFIG_CRYPTO_MANAGER=y
1548CONFIG_CRYPTO_MANAGER2=y 1598CONFIG_CRYPTO_MANAGER2=y
1549# CONFIG_CRYPTO_GF128MUL is not set 1599# CONFIG_CRYPTO_GF128MUL is not set
1550# CONFIG_CRYPTO_NULL is not set 1600# CONFIG_CRYPTO_NULL is not set
1601CONFIG_CRYPTO_WORKQUEUE=y
1551# CONFIG_CRYPTO_CRYPTD is not set 1602# CONFIG_CRYPTO_CRYPTD is not set
1552# CONFIG_CRYPTO_AUTHENC is not set 1603# CONFIG_CRYPTO_AUTHENC is not set
1553# CONFIG_CRYPTO_TEST is not set 1604# CONFIG_CRYPTO_TEST is not set
@@ -1616,6 +1667,7 @@ CONFIG_CRYPTO_DES=y
1616# Compression 1667# Compression
1617# 1668#
1618# CONFIG_CRYPTO_DEFLATE is not set 1669# CONFIG_CRYPTO_DEFLATE is not set
1670# CONFIG_CRYPTO_ZLIB is not set
1619# CONFIG_CRYPTO_LZO is not set 1671# CONFIG_CRYPTO_LZO is not set
1620 1672
1621# 1673#
diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
index 03db97c6cf33..af4952feba36 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:49 2009 4# Wed May 13 17:22:06 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -109,16 +123,19 @@ CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 135CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
138# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 139# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 140CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 141CONFIG_RT_MUTEXES=y
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_SRCVERSION_ALL is not set 148# CONFIG_MODULE_SRCVERSION_ALL is not set
132CONFIG_BLOCK=y 149CONFIG_BLOCK=y
133# CONFIG_LBD is not set 150# CONFIG_LBD is not set
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 151# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 152# CONFIG_BLK_DEV_INTEGRITY is not set
137 153
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 163# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 165CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 166# CONFIG_FREEZER is not set
156 167
157# 168#
158# Platform support 169# Platform support
159# 170#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 171# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 172# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 173# CONFIG_MPC5121_GENERIC is not set
@@ -183,6 +192,8 @@ CONFIG_MPC831x_RDB=y
183CONFIG_PPC_MPC831x=y 192CONFIG_PPC_MPC831x=y
184# CONFIG_PPC_86xx is not set 193# CONFIG_PPC_86xx is not set
185# CONFIG_EMBEDDED6xx is not set 194# CONFIG_EMBEDDED6xx is not set
195# CONFIG_AMIGAONE is not set
196CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186CONFIG_IPIC=y 197CONFIG_IPIC=y
187# CONFIG_MPIC is not set 198# CONFIG_MPIC is not set
188# CONFIG_MPIC_WEIRD is not set 199# CONFIG_MPIC_WEIRD is not set
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 255CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 256CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y 257CONFIG_UNEVICTABLE_LRU=y
258CONFIG_HAVE_MLOCK=y
259CONFIG_HAVE_MLOCKED_PAGE_BIT=y
247CONFIG_PPC_4K_PAGES=y 260CONFIG_PPC_4K_PAGES=y
248# CONFIG_PPC_16K_PAGES is not set 261# CONFIG_PPC_16K_PAGES is not set
249# CONFIG_PPC_64K_PAGES is not set 262# CONFIG_PPC_64K_PAGES is not set
263# CONFIG_PPC_256K_PAGES is not set
250CONFIG_FORCE_MAX_ZONEORDER=11 264CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 265CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 266# CONFIG_CMDLINE_BOOL is not set
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCI_DEBUG is not set 288# CONFIG_PCI_DEBUG is not set
275# CONFIG_PCI_STUB is not set 289# CONFIG_PCI_STUB is not set
290# CONFIG_PCI_IOV is not set
276# CONFIG_PCCARD is not set 291# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 292# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 293# CONFIG_HAS_RAPIDIO is not set
@@ -295,7 +310,6 @@ CONFIG_NET=y
295# 310#
296# Networking options 311# Networking options
297# 312#
298CONFIG_COMPAT_NET_DEV_OPS=y
299CONFIG_PACKET=y 313CONFIG_PACKET=y
300# CONFIG_PACKET_MMAP is not set 314# CONFIG_PACKET_MMAP is not set
301CONFIG_UNIX=y 315CONFIG_UNIX=y
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_LAPB is not set 365# CONFIG_LAPB is not set
352# CONFIG_ECONET is not set 366# CONFIG_ECONET is not set
353# CONFIG_WAN_ROUTER is not set 367# CONFIG_WAN_ROUTER is not set
368# CONFIG_PHONET is not set
354# CONFIG_NET_SCHED is not set 369# CONFIG_NET_SCHED is not set
355# CONFIG_DCB is not set 370# CONFIG_DCB is not set
356 371
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# CONFIG_IRDA is not set 378# CONFIG_IRDA is not set
364# CONFIG_BT is not set 379# CONFIG_BT is not set
365# CONFIG_AF_RXRPC is not set 380# CONFIG_AF_RXRPC is not set
366# CONFIG_PHONET is not set
367CONFIG_WIRELESS=y 381CONFIG_WIRELESS=y
368# CONFIG_CFG80211 is not set 382# CONFIG_CFG80211 is not set
369CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -481,7 +495,6 @@ CONFIG_MTD_NAND_IDS=y
481# LPDDR flash memory drivers 495# LPDDR flash memory drivers
482# 496#
483# CONFIG_MTD_LPDDR is not set 497# CONFIG_MTD_LPDDR is not set
484# CONFIG_MTD_QINFO_PROBE is not set
485 498
486# 499#
487# UBI - Unsorted block images 500# UBI - Unsorted block images
@@ -512,13 +525,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
512# CONFIG_BLK_DEV_HD is not set 525# CONFIG_BLK_DEV_HD is not set
513CONFIG_MISC_DEVICES=y 526CONFIG_MISC_DEVICES=y
514# CONFIG_PHANTOM is not set 527# CONFIG_PHANTOM is not set
515# CONFIG_EEPROM_93CX6 is not set
516# CONFIG_SGI_IOC4 is not set 528# CONFIG_SGI_IOC4 is not set
517# CONFIG_TIFM_CORE is not set 529# CONFIG_TIFM_CORE is not set
518# CONFIG_ICS932S401 is not set 530# CONFIG_ICS932S401 is not set
519# CONFIG_ENCLOSURE_SERVICES is not set 531# CONFIG_ENCLOSURE_SERVICES is not set
520# CONFIG_HP_ILO is not set 532# CONFIG_HP_ILO is not set
533# CONFIG_ISL29003 is not set
521# CONFIG_C2PORT is not set 534# CONFIG_C2PORT is not set
535
536#
537# EEPROM support
538#
539# CONFIG_EEPROM_AT24 is not set
540# CONFIG_EEPROM_AT25 is not set
541# CONFIG_EEPROM_LEGACY is not set
542# CONFIG_EEPROM_93CX6 is not set
522CONFIG_HAVE_IDE=y 543CONFIG_HAVE_IDE=y
523# CONFIG_IDE is not set 544# CONFIG_IDE is not set
524 545
@@ -576,9 +597,11 @@ CONFIG_SCSI_LOWLEVEL=y
576# CONFIG_MEGARAID_NEWGEN is not set 597# CONFIG_MEGARAID_NEWGEN is not set
577# CONFIG_MEGARAID_LEGACY is not set 598# CONFIG_MEGARAID_LEGACY is not set
578# CONFIG_MEGARAID_SAS is not set 599# CONFIG_MEGARAID_SAS is not set
600# CONFIG_SCSI_MPT2SAS is not set
579# CONFIG_SCSI_HPTIOP is not set 601# CONFIG_SCSI_HPTIOP is not set
580# CONFIG_SCSI_BUSLOGIC is not set 602# CONFIG_SCSI_BUSLOGIC is not set
581# CONFIG_LIBFC is not set 603# CONFIG_LIBFC is not set
604# CONFIG_LIBFCOE is not set
582# CONFIG_FCOE is not set 605# CONFIG_FCOE is not set
583# CONFIG_SCSI_DMX3191D is not set 606# CONFIG_SCSI_DMX3191D is not set
584# CONFIG_SCSI_EATA is not set 607# CONFIG_SCSI_EATA is not set
@@ -601,6 +624,7 @@ CONFIG_SCSI_LOWLEVEL=y
601# CONFIG_SCSI_DEBUG is not set 624# CONFIG_SCSI_DEBUG is not set
602# CONFIG_SCSI_SRP is not set 625# CONFIG_SCSI_SRP is not set
603# CONFIG_SCSI_DH is not set 626# CONFIG_SCSI_DH is not set
627# CONFIG_SCSI_OSD_INITIATOR is not set
604CONFIG_ATA=y 628CONFIG_ATA=y
605# CONFIG_ATA_NONSTANDARD is not set 629# CONFIG_ATA_NONSTANDARD is not set
606CONFIG_SATA_PMP=y 630CONFIG_SATA_PMP=y
@@ -687,6 +711,7 @@ CONFIG_MD_RAID1=y
687# CONFIG_I2O is not set 711# CONFIG_I2O is not set
688# CONFIG_MACINTOSH_DRIVERS is not set 712# CONFIG_MACINTOSH_DRIVERS is not set
689CONFIG_NETDEVICES=y 713CONFIG_NETDEVICES=y
714CONFIG_COMPAT_NET_DEV_OPS=y
690# CONFIG_DUMMY is not set 715# CONFIG_DUMMY is not set
691# CONFIG_BONDING is not set 716# CONFIG_BONDING is not set
692# CONFIG_MACVLAN is not set 717# CONFIG_MACVLAN is not set
@@ -721,6 +746,8 @@ CONFIG_MII=y
721# CONFIG_CASSINI is not set 746# CONFIG_CASSINI is not set
722# CONFIG_NET_VENDOR_3COM is not set 747# CONFIG_NET_VENDOR_3COM is not set
723# CONFIG_ENC28J60 is not set 748# CONFIG_ENC28J60 is not set
749# CONFIG_ETHOC is not set
750# CONFIG_DNET is not set
724# CONFIG_NET_TULIP is not set 751# CONFIG_NET_TULIP is not set
725# CONFIG_HP100 is not set 752# CONFIG_HP100 is not set
726# CONFIG_IBM_NEW_EMAC_ZMII is not set 753# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -758,6 +785,7 @@ CONFIG_NETDEV_1000=y
758# CONFIG_E1000E is not set 785# CONFIG_E1000E is not set
759# CONFIG_IP1000 is not set 786# CONFIG_IP1000 is not set
760# CONFIG_IGB is not set 787# CONFIG_IGB is not set
788# CONFIG_IGBVF is not set
761# CONFIG_NS83820 is not set 789# CONFIG_NS83820 is not set
762# CONFIG_HAMACHI is not set 790# CONFIG_HAMACHI is not set
763# CONFIG_YELLOWFIN is not set 791# CONFIG_YELLOWFIN is not set
@@ -768,11 +796,12 @@ CONFIG_NETDEV_1000=y
768# CONFIG_VIA_VELOCITY is not set 796# CONFIG_VIA_VELOCITY is not set
769# CONFIG_TIGON3 is not set 797# CONFIG_TIGON3 is not set
770# CONFIG_BNX2 is not set 798# CONFIG_BNX2 is not set
799CONFIG_FSL_PQ_MDIO=y
771CONFIG_GIANFAR=y 800CONFIG_GIANFAR=y
772# CONFIG_MV643XX_ETH is not set
773# CONFIG_QLA3XXX is not set 801# CONFIG_QLA3XXX is not set
774# CONFIG_ATL1 is not set 802# CONFIG_ATL1 is not set
775# CONFIG_ATL1E is not set 803# CONFIG_ATL1E is not set
804# CONFIG_ATL1C is not set
776# CONFIG_JME is not set 805# CONFIG_JME is not set
777CONFIG_NETDEV_10000=y 806CONFIG_NETDEV_10000=y
778# CONFIG_CHELSIO_T1 is not set 807# CONFIG_CHELSIO_T1 is not set
@@ -782,6 +811,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
782# CONFIG_IXGBE is not set 811# CONFIG_IXGBE is not set
783# CONFIG_IXGB is not set 812# CONFIG_IXGB is not set
784# CONFIG_S2IO is not set 813# CONFIG_S2IO is not set
814# CONFIG_VXGE is not set
785# CONFIG_MYRI10GE is not set 815# CONFIG_MYRI10GE is not set
786# CONFIG_NETXEN_NIC is not set 816# CONFIG_NETXEN_NIC is not set
787# CONFIG_NIU is not set 817# CONFIG_NIU is not set
@@ -791,6 +821,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
791# CONFIG_BNX2X is not set 821# CONFIG_BNX2X is not set
792# CONFIG_QLGE is not set 822# CONFIG_QLGE is not set
793# CONFIG_SFC is not set 823# CONFIG_SFC is not set
824# CONFIG_BE2NET is not set
794# CONFIG_TR is not set 825# CONFIG_TR is not set
795 826
796# 827#
@@ -798,7 +829,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
798# 829#
799# CONFIG_WLAN_PRE80211 is not set 830# CONFIG_WLAN_PRE80211 is not set
800# CONFIG_WLAN_80211 is not set 831# CONFIG_WLAN_80211 is not set
801# CONFIG_IWLWIFI_LEDS is not set
802 832
803# 833#
804# Enable WiMAX (Networking options) to see the WiMAX drivers 834# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -876,6 +906,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
876# 906#
877# Non-8250 serial port support 907# Non-8250 serial port support
878# 908#
909# CONFIG_SERIAL_MAX3100 is not set
879# CONFIG_SERIAL_UARTLITE is not set 910# CONFIG_SERIAL_UARTLITE is not set
880CONFIG_SERIAL_CORE=y 911CONFIG_SERIAL_CORE=y
881CONFIG_SERIAL_CORE_CONSOLE=y 912CONFIG_SERIAL_CORE_CONSOLE=y
@@ -888,6 +919,7 @@ CONFIG_LEGACY_PTY_COUNT=256
888# CONFIG_HVC_UDBG is not set 919# CONFIG_HVC_UDBG is not set
889# CONFIG_IPMI_HANDLER is not set 920# CONFIG_IPMI_HANDLER is not set
890CONFIG_HW_RANDOM=y 921CONFIG_HW_RANDOM=y
922# CONFIG_HW_RANDOM_TIMERIOMEM is not set
891# CONFIG_NVRAM is not set 923# CONFIG_NVRAM is not set
892# CONFIG_R3964 is not set 924# CONFIG_R3964 is not set
893# CONFIG_APPLICOM is not set 925# CONFIG_APPLICOM is not set
@@ -950,12 +982,9 @@ CONFIG_I2C_MPC=y
950# Miscellaneous I2C Chip support 982# Miscellaneous I2C Chip support
951# 983#
952# CONFIG_DS1682 is not set 984# CONFIG_DS1682 is not set
953# CONFIG_EEPROM_AT24 is not set
954# CONFIG_EEPROM_LEGACY is not set
955# CONFIG_SENSORS_PCF8574 is not set 985# CONFIG_SENSORS_PCF8574 is not set
956# CONFIG_PCF8575 is not set 986# CONFIG_PCF8575 is not set
957# CONFIG_SENSORS_PCA9539 is not set 987# CONFIG_SENSORS_PCA9539 is not set
958# CONFIG_SENSORS_PCF8591 is not set
959# CONFIG_SENSORS_MAX6875 is not set 988# CONFIG_SENSORS_MAX6875 is not set
960# CONFIG_SENSORS_TSL2550 is not set 989# CONFIG_SENSORS_TSL2550 is not set
961# CONFIG_I2C_DEBUG_CORE is not set 990# CONFIG_I2C_DEBUG_CORE is not set
@@ -975,7 +1004,6 @@ CONFIG_SPI_MPC83xx=y
975# 1004#
976# SPI Protocol Masters 1005# SPI Protocol Masters
977# 1006#
978# CONFIG_EEPROM_AT25 is not set
979# CONFIG_SPI_SPIDEV is not set 1007# CONFIG_SPI_SPIDEV is not set
980# CONFIG_SPI_TLE62X0 is not set 1008# CONFIG_SPI_TLE62X0 is not set
981CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 1009CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
@@ -1003,6 +1031,7 @@ CONFIG_HWMON=y
1003# CONFIG_SENSORS_F71805F is not set 1031# CONFIG_SENSORS_F71805F is not set
1004# CONFIG_SENSORS_F71882FG is not set 1032# CONFIG_SENSORS_F71882FG is not set
1005# CONFIG_SENSORS_F75375S is not set 1033# CONFIG_SENSORS_F75375S is not set
1034# CONFIG_SENSORS_G760A is not set
1006# CONFIG_SENSORS_GL518SM is not set 1035# CONFIG_SENSORS_GL518SM is not set
1007# CONFIG_SENSORS_GL520SM is not set 1036# CONFIG_SENSORS_GL520SM is not set
1008# CONFIG_SENSORS_IT87 is not set 1037# CONFIG_SENSORS_IT87 is not set
@@ -1018,12 +1047,15 @@ CONFIG_HWMON=y
1018# CONFIG_SENSORS_LM90 is not set 1047# CONFIG_SENSORS_LM90 is not set
1019# CONFIG_SENSORS_LM92 is not set 1048# CONFIG_SENSORS_LM92 is not set
1020# CONFIG_SENSORS_LM93 is not set 1049# CONFIG_SENSORS_LM93 is not set
1050# CONFIG_SENSORS_LTC4215 is not set
1021# CONFIG_SENSORS_LTC4245 is not set 1051# CONFIG_SENSORS_LTC4245 is not set
1052# CONFIG_SENSORS_LM95241 is not set
1022# CONFIG_SENSORS_MAX1111 is not set 1053# CONFIG_SENSORS_MAX1111 is not set
1023# CONFIG_SENSORS_MAX1619 is not set 1054# CONFIG_SENSORS_MAX1619 is not set
1024# CONFIG_SENSORS_MAX6650 is not set 1055# CONFIG_SENSORS_MAX6650 is not set
1025# CONFIG_SENSORS_PC87360 is not set 1056# CONFIG_SENSORS_PC87360 is not set
1026# CONFIG_SENSORS_PC87427 is not set 1057# CONFIG_SENSORS_PC87427 is not set
1058# CONFIG_SENSORS_PCF8591 is not set
1027# CONFIG_SENSORS_SIS5595 is not set 1059# CONFIG_SENSORS_SIS5595 is not set
1028# CONFIG_SENSORS_DME1737 is not set 1060# CONFIG_SENSORS_DME1737 is not set
1029# CONFIG_SENSORS_SMSC47M1 is not set 1061# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1042,6 +1074,7 @@ CONFIG_HWMON=y
1042# CONFIG_SENSORS_W83L786NG is not set 1074# CONFIG_SENSORS_W83L786NG is not set
1043# CONFIG_SENSORS_W83627HF is not set 1075# CONFIG_SENSORS_W83627HF is not set
1044# CONFIG_SENSORS_W83627EHF is not set 1076# CONFIG_SENSORS_W83627EHF is not set
1077# CONFIG_SENSORS_LIS3_SPI is not set
1045# CONFIG_HWMON_DEBUG_CHIP is not set 1078# CONFIG_HWMON_DEBUG_CHIP is not set
1046# CONFIG_THERMAL is not set 1079# CONFIG_THERMAL is not set
1047# CONFIG_THERMAL_HWMON is not set 1080# CONFIG_THERMAL_HWMON is not set
@@ -1138,7 +1171,6 @@ CONFIG_HID=y
1138# 1171#
1139# Special HID drivers 1172# Special HID drivers
1140# 1173#
1141CONFIG_HID_COMPAT=y
1142CONFIG_USB_SUPPORT=y 1174CONFIG_USB_SUPPORT=y
1143CONFIG_USB_ARCH_HAS_HCD=y 1175CONFIG_USB_ARCH_HAS_HCD=y
1144CONFIG_USB_ARCH_HAS_OHCI=y 1176CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1196,11 +1228,11 @@ CONFIG_USB_UHCI_HCD=y
1196# CONFIG_USB_TMC is not set 1228# CONFIG_USB_TMC is not set
1197 1229
1198# 1230#
1199# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1231# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1200# 1232#
1201 1233
1202# 1234#
1203# see USB_STORAGE Help for more information 1235# also be needed; see USB_STORAGE Help for more info
1204# 1236#
1205CONFIG_USB_STORAGE=y 1237CONFIG_USB_STORAGE=y
1206# CONFIG_USB_STORAGE_DEBUG is not set 1238# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1242,7 +1274,6 @@ CONFIG_USB_STORAGE=y
1242# CONFIG_USB_LED is not set 1274# CONFIG_USB_LED is not set
1243# CONFIG_USB_CYPRESS_CY7C63 is not set 1275# CONFIG_USB_CYPRESS_CY7C63 is not set
1244# CONFIG_USB_CYTHERM is not set 1276# CONFIG_USB_CYTHERM is not set
1245# CONFIG_USB_PHIDGET is not set
1246# CONFIG_USB_IDMOUSE is not set 1277# CONFIG_USB_IDMOUSE is not set
1247# CONFIG_USB_FTDI_ELAN is not set 1278# CONFIG_USB_FTDI_ELAN is not set
1248# CONFIG_USB_APPLEDISPLAY is not set 1279# CONFIG_USB_APPLEDISPLAY is not set
@@ -1289,6 +1320,7 @@ CONFIG_USB_ETH_RNDIS=y
1289# 1320#
1290# OTG and related infrastructure 1321# OTG and related infrastructure
1291# 1322#
1323# CONFIG_NOP_USB_XCEIV is not set
1292# CONFIG_UWB is not set 1324# CONFIG_UWB is not set
1293# CONFIG_MMC is not set 1325# CONFIG_MMC is not set
1294# CONFIG_MEMSTICK is not set 1326# CONFIG_MEMSTICK is not set
@@ -1357,8 +1389,9 @@ CONFIG_RTC_DRV_DS1307=y
1357# 1389#
1358# on-CPU RTC drivers 1390# on-CPU RTC drivers
1359# 1391#
1360# CONFIG_RTC_DRV_PPC is not set 1392# CONFIG_RTC_DRV_GENERIC is not set
1361# CONFIG_DMADEVICES is not set 1393# CONFIG_DMADEVICES is not set
1394# CONFIG_AUXDISPLAY is not set
1362# CONFIG_UIO is not set 1395# CONFIG_UIO is not set
1363# CONFIG_STAGING is not set 1396# CONFIG_STAGING is not set
1364 1397
@@ -1369,6 +1402,7 @@ CONFIG_EXT2_FS=y
1369# CONFIG_EXT2_FS_XATTR is not set 1402# CONFIG_EXT2_FS_XATTR is not set
1370# CONFIG_EXT2_FS_XIP is not set 1403# CONFIG_EXT2_FS_XIP is not set
1371CONFIG_EXT3_FS=y 1404CONFIG_EXT3_FS=y
1405# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1372CONFIG_EXT3_FS_XATTR=y 1406CONFIG_EXT3_FS_XATTR=y
1373# CONFIG_EXT3_FS_POSIX_ACL is not set 1407# CONFIG_EXT3_FS_POSIX_ACL is not set
1374# CONFIG_EXT3_FS_SECURITY is not set 1408# CONFIG_EXT3_FS_SECURITY is not set
@@ -1391,6 +1425,11 @@ CONFIG_INOTIFY_USER=y
1391# CONFIG_FUSE_FS is not set 1425# CONFIG_FUSE_FS is not set
1392 1426
1393# 1427#
1428# Caches
1429#
1430# CONFIG_FSCACHE is not set
1431
1432#
1394# CD-ROM/DVD Filesystems 1433# CD-ROM/DVD Filesystems
1395# 1434#
1396# CONFIG_ISO9660_FS is not set 1435# CONFIG_ISO9660_FS is not set
@@ -1444,6 +1483,7 @@ CONFIG_JFFS2_RTIME=y
1444# CONFIG_ROMFS_FS is not set 1483# CONFIG_ROMFS_FS is not set
1445# CONFIG_SYSV_FS is not set 1484# CONFIG_SYSV_FS is not set
1446# CONFIG_UFS_FS is not set 1485# CONFIG_UFS_FS is not set
1486# CONFIG_NILFS2_FS is not set
1447CONFIG_NETWORK_FILESYSTEMS=y 1487CONFIG_NETWORK_FILESYSTEMS=y
1448CONFIG_NFS_FS=y 1488CONFIG_NFS_FS=y
1449CONFIG_NFS_V3=y 1489CONFIG_NFS_V3=y
@@ -1456,7 +1496,6 @@ CONFIG_LOCKD_V4=y
1456CONFIG_NFS_COMMON=y 1496CONFIG_NFS_COMMON=y
1457CONFIG_SUNRPC=y 1497CONFIG_SUNRPC=y
1458CONFIG_SUNRPC_GSS=y 1498CONFIG_SUNRPC_GSS=y
1459# CONFIG_SUNRPC_REGISTER_V4 is not set
1460CONFIG_RPCSEC_GSS_KRB5=y 1499CONFIG_RPCSEC_GSS_KRB5=y
1461# CONFIG_RPCSEC_GSS_SPKM3 is not set 1500# CONFIG_RPCSEC_GSS_SPKM3 is not set
1462# CONFIG_SMB_FS is not set 1501# CONFIG_SMB_FS is not set
@@ -1488,6 +1527,7 @@ CONFIG_MSDOS_PARTITION=y
1488# CONFIG_SYSV68_PARTITION is not set 1527# CONFIG_SYSV68_PARTITION is not set
1489# CONFIG_NLS is not set 1528# CONFIG_NLS is not set
1490# CONFIG_DLM is not set 1529# CONFIG_DLM is not set
1530# CONFIG_BINARY_PRINTF is not set
1491 1531
1492# 1532#
1493# Library routines 1533# Library routines
@@ -1503,11 +1543,12 @@ CONFIG_CRC32=y
1503# CONFIG_LIBCRC32C is not set 1543# CONFIG_LIBCRC32C is not set
1504CONFIG_ZLIB_INFLATE=y 1544CONFIG_ZLIB_INFLATE=y
1505CONFIG_ZLIB_DEFLATE=y 1545CONFIG_ZLIB_DEFLATE=y
1506CONFIG_PLIST=y 1546CONFIG_DECOMPRESS_GZIP=y
1507CONFIG_HAS_IOMEM=y 1547CONFIG_HAS_IOMEM=y
1508CONFIG_HAS_IOPORT=y 1548CONFIG_HAS_IOPORT=y
1509CONFIG_HAS_DMA=y 1549CONFIG_HAS_DMA=y
1510CONFIG_HAVE_LMB=y 1550CONFIG_HAVE_LMB=y
1551CONFIG_NLATTR=y
1511 1552
1512# 1553#
1513# Kernel hacking 1554# Kernel hacking
@@ -1525,6 +1566,9 @@ CONFIG_DEBUG_KERNEL=y
1525CONFIG_DETECT_SOFTLOCKUP=y 1566CONFIG_DETECT_SOFTLOCKUP=y
1526# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1567# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1527CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1568CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1569CONFIG_DETECT_HUNG_TASK=y
1570# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1571CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1528CONFIG_SCHED_DEBUG=y 1572CONFIG_SCHED_DEBUG=y
1529# CONFIG_SCHEDSTATS is not set 1573# CONFIG_SCHEDSTATS is not set
1530# CONFIG_TIMER_STATS is not set 1574# CONFIG_TIMER_STATS is not set
@@ -1554,9 +1598,12 @@ CONFIG_SCHED_DEBUG=y
1554# CONFIG_FAULT_INJECTION is not set 1598# CONFIG_FAULT_INJECTION is not set
1555# CONFIG_LATENCYTOP is not set 1599# CONFIG_LATENCYTOP is not set
1556CONFIG_SYSCTL_SYSCALL_CHECK=y 1600CONFIG_SYSCTL_SYSCALL_CHECK=y
1601# CONFIG_DEBUG_PAGEALLOC is not set
1557CONFIG_HAVE_FUNCTION_TRACER=y 1602CONFIG_HAVE_FUNCTION_TRACER=y
1603CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1558CONFIG_HAVE_DYNAMIC_FTRACE=y 1604CONFIG_HAVE_DYNAMIC_FTRACE=y
1559CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1605CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1606CONFIG_TRACING_SUPPORT=y
1560 1607
1561# 1608#
1562# Tracers 1609# Tracers
@@ -1564,17 +1611,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1564# CONFIG_FUNCTION_TRACER is not set 1611# CONFIG_FUNCTION_TRACER is not set
1565# CONFIG_SCHED_TRACER is not set 1612# CONFIG_SCHED_TRACER is not set
1566# CONFIG_CONTEXT_SWITCH_TRACER is not set 1613# CONFIG_CONTEXT_SWITCH_TRACER is not set
1614# CONFIG_EVENT_TRACER is not set
1567# CONFIG_BOOT_TRACER is not set 1615# CONFIG_BOOT_TRACER is not set
1568# CONFIG_TRACE_BRANCH_PROFILING is not set 1616# CONFIG_TRACE_BRANCH_PROFILING is not set
1569# CONFIG_STACK_TRACER is not set 1617# CONFIG_STACK_TRACER is not set
1570# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1618# CONFIG_KMEMTRACE is not set
1619# CONFIG_WORKQUEUE_TRACER is not set
1620# CONFIG_BLK_DEV_IO_TRACE is not set
1571# CONFIG_SAMPLES is not set 1621# CONFIG_SAMPLES is not set
1572CONFIG_HAVE_ARCH_KGDB=y 1622CONFIG_HAVE_ARCH_KGDB=y
1573# CONFIG_KGDB is not set 1623# CONFIG_KGDB is not set
1574CONFIG_PRINT_STACK_DEPTH=64 1624CONFIG_PRINT_STACK_DEPTH=64
1575# CONFIG_DEBUG_STACKOVERFLOW is not set 1625# CONFIG_DEBUG_STACKOVERFLOW is not set
1576# CONFIG_DEBUG_STACK_USAGE is not set 1626# CONFIG_DEBUG_STACK_USAGE is not set
1577# CONFIG_DEBUG_PAGEALLOC is not set
1578# CONFIG_CODE_PATCHING_SELFTEST is not set 1627# CONFIG_CODE_PATCHING_SELFTEST is not set
1579# CONFIG_FTR_FIXUP_SELFTEST is not set 1628# CONFIG_FTR_FIXUP_SELFTEST is not set
1580# CONFIG_MSI_BITMAP_SELFTEST is not set 1629# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1605,10 +1654,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1605CONFIG_CRYPTO_HASH=y 1654CONFIG_CRYPTO_HASH=y
1606CONFIG_CRYPTO_HASH2=y 1655CONFIG_CRYPTO_HASH2=y
1607CONFIG_CRYPTO_RNG2=y 1656CONFIG_CRYPTO_RNG2=y
1657CONFIG_CRYPTO_PCOMP=y
1608CONFIG_CRYPTO_MANAGER=y 1658CONFIG_CRYPTO_MANAGER=y
1609CONFIG_CRYPTO_MANAGER2=y 1659CONFIG_CRYPTO_MANAGER2=y
1610# CONFIG_CRYPTO_GF128MUL is not set 1660# CONFIG_CRYPTO_GF128MUL is not set
1611# CONFIG_CRYPTO_NULL is not set 1661# CONFIG_CRYPTO_NULL is not set
1662CONFIG_CRYPTO_WORKQUEUE=y
1612# CONFIG_CRYPTO_CRYPTD is not set 1663# CONFIG_CRYPTO_CRYPTD is not set
1613# CONFIG_CRYPTO_AUTHENC is not set 1664# CONFIG_CRYPTO_AUTHENC is not set
1614# CONFIG_CRYPTO_TEST is not set 1665# CONFIG_CRYPTO_TEST is not set
@@ -1677,6 +1728,7 @@ CONFIG_CRYPTO_DES=y
1677# Compression 1728# Compression
1678# 1729#
1679# CONFIG_CRYPTO_DEFLATE is not set 1730# CONFIG_CRYPTO_DEFLATE is not set
1731# CONFIG_CRYPTO_ZLIB is not set
1680# CONFIG_CRYPTO_LZO is not set 1732# CONFIG_CRYPTO_LZO is not set
1681 1733
1682# 1734#
diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
index fb17de53cc02..8c8f660b4fc7 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:50 2009 4# Wed May 13 17:22:07 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -109,16 +123,19 @@ CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 135CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
138# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 139# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 140CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 141CONFIG_RT_MUTEXES=y
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_SRCVERSION_ALL is not set 148# CONFIG_MODULE_SRCVERSION_ALL is not set
132CONFIG_BLOCK=y 149CONFIG_BLOCK=y
133# CONFIG_LBD is not set 150# CONFIG_LBD is not set
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 151# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 152# CONFIG_BLK_DEV_INTEGRITY is not set
137 153
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 163# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 165CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 166# CONFIG_FREEZER is not set
156 167
157# 168#
158# Platform support 169# Platform support
159# 170#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 171# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 172# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 173# CONFIG_MPC5121_GENERIC is not set
@@ -183,6 +192,8 @@ CONFIG_MPC832x_MDS=y
183CONFIG_PPC_MPC832x=y 192CONFIG_PPC_MPC832x=y
184# CONFIG_PPC_86xx is not set 193# CONFIG_PPC_86xx is not set
185# CONFIG_EMBEDDED6xx is not set 194# CONFIG_EMBEDDED6xx is not set
195# CONFIG_AMIGAONE is not set
196CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186CONFIG_IPIC=y 197CONFIG_IPIC=y
187# CONFIG_MPIC is not set 198# CONFIG_MPIC is not set
188# CONFIG_MPIC_WEIRD is not set 199# CONFIG_MPIC_WEIRD is not set
@@ -245,9 +256,12 @@ CONFIG_ZONE_DMA_FLAG=1
245CONFIG_BOUNCE=y 256CONFIG_BOUNCE=y
246CONFIG_VIRT_TO_BUS=y 257CONFIG_VIRT_TO_BUS=y
247CONFIG_UNEVICTABLE_LRU=y 258CONFIG_UNEVICTABLE_LRU=y
259CONFIG_HAVE_MLOCK=y
260CONFIG_HAVE_MLOCKED_PAGE_BIT=y
248CONFIG_PPC_4K_PAGES=y 261CONFIG_PPC_4K_PAGES=y
249# CONFIG_PPC_16K_PAGES is not set 262# CONFIG_PPC_16K_PAGES is not set
250# CONFIG_PPC_64K_PAGES is not set 263# CONFIG_PPC_64K_PAGES is not set
264# CONFIG_PPC_256K_PAGES is not set
251CONFIG_FORCE_MAX_ZONEORDER=11 265CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 266CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 267# CONFIG_CMDLINE_BOOL is not set
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 287# CONFIG_PCI_MSI is not set
274# CONFIG_PCI_LEGACY is not set 288# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCI_STUB is not set 289# CONFIG_PCI_STUB is not set
290# CONFIG_PCI_IOV is not set
276# CONFIG_PCCARD is not set 291# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 292# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 293# CONFIG_HAS_RAPIDIO is not set
@@ -295,7 +310,6 @@ CONFIG_NET=y
295# 310#
296# Networking options 311# Networking options
297# 312#
298CONFIG_COMPAT_NET_DEV_OPS=y
299CONFIG_PACKET=y 313CONFIG_PACKET=y
300# CONFIG_PACKET_MMAP is not set 314# CONFIG_PACKET_MMAP is not set
301CONFIG_UNIX=y 315CONFIG_UNIX=y
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_LAPB is not set 365# CONFIG_LAPB is not set
352# CONFIG_ECONET is not set 366# CONFIG_ECONET is not set
353# CONFIG_WAN_ROUTER is not set 367# CONFIG_WAN_ROUTER is not set
368# CONFIG_PHONET is not set
354# CONFIG_NET_SCHED is not set 369# CONFIG_NET_SCHED is not set
355# CONFIG_DCB is not set 370# CONFIG_DCB is not set
356 371
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# CONFIG_IRDA is not set 378# CONFIG_IRDA is not set
364# CONFIG_BT is not set 379# CONFIG_BT is not set
365# CONFIG_AF_RXRPC is not set 380# CONFIG_AF_RXRPC is not set
366# CONFIG_PHONET is not set
367CONFIG_WIRELESS=y 381CONFIG_WIRELESS=y
368# CONFIG_CFG80211 is not set 382# CONFIG_CFG80211 is not set
369CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -411,13 +425,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
411# CONFIG_BLK_DEV_HD is not set 425# CONFIG_BLK_DEV_HD is not set
412CONFIG_MISC_DEVICES=y 426CONFIG_MISC_DEVICES=y
413# CONFIG_PHANTOM is not set 427# CONFIG_PHANTOM is not set
414# CONFIG_EEPROM_93CX6 is not set
415# CONFIG_SGI_IOC4 is not set 428# CONFIG_SGI_IOC4 is not set
416# CONFIG_TIFM_CORE is not set 429# CONFIG_TIFM_CORE is not set
417# CONFIG_ICS932S401 is not set 430# CONFIG_ICS932S401 is not set
418# CONFIG_ENCLOSURE_SERVICES is not set 431# CONFIG_ENCLOSURE_SERVICES is not set
419# CONFIG_HP_ILO is not set 432# CONFIG_HP_ILO is not set
433# CONFIG_ISL29003 is not set
420# CONFIG_C2PORT is not set 434# CONFIG_C2PORT is not set
435
436#
437# EEPROM support
438#
439# CONFIG_EEPROM_AT24 is not set
440# CONFIG_EEPROM_LEGACY is not set
441# CONFIG_EEPROM_93CX6 is not set
421CONFIG_HAVE_IDE=y 442CONFIG_HAVE_IDE=y
422# CONFIG_IDE is not set 443# CONFIG_IDE is not set
423 444
@@ -475,9 +496,11 @@ CONFIG_SCSI_LOWLEVEL=y
475# CONFIG_MEGARAID_NEWGEN is not set 496# CONFIG_MEGARAID_NEWGEN is not set
476# CONFIG_MEGARAID_LEGACY is not set 497# CONFIG_MEGARAID_LEGACY is not set
477# CONFIG_MEGARAID_SAS is not set 498# CONFIG_MEGARAID_SAS is not set
499# CONFIG_SCSI_MPT2SAS is not set
478# CONFIG_SCSI_HPTIOP is not set 500# CONFIG_SCSI_HPTIOP is not set
479# CONFIG_SCSI_BUSLOGIC is not set 501# CONFIG_SCSI_BUSLOGIC is not set
480# CONFIG_LIBFC is not set 502# CONFIG_LIBFC is not set
503# CONFIG_LIBFCOE is not set
481# CONFIG_FCOE is not set 504# CONFIG_FCOE is not set
482# CONFIG_SCSI_DMX3191D is not set 505# CONFIG_SCSI_DMX3191D is not set
483# CONFIG_SCSI_EATA is not set 506# CONFIG_SCSI_EATA is not set
@@ -499,6 +522,7 @@ CONFIG_SCSI_LOWLEVEL=y
499# CONFIG_SCSI_DEBUG is not set 522# CONFIG_SCSI_DEBUG is not set
500# CONFIG_SCSI_SRP is not set 523# CONFIG_SCSI_SRP is not set
501# CONFIG_SCSI_DH is not set 524# CONFIG_SCSI_DH is not set
525# CONFIG_SCSI_OSD_INITIATOR is not set
502# CONFIG_ATA is not set 526# CONFIG_ATA is not set
503# CONFIG_MD is not set 527# CONFIG_MD is not set
504# CONFIG_FUSION is not set 528# CONFIG_FUSION is not set
@@ -515,6 +539,7 @@ CONFIG_SCSI_LOWLEVEL=y
515# CONFIG_I2O is not set 539# CONFIG_I2O is not set
516# CONFIG_MACINTOSH_DRIVERS is not set 540# CONFIG_MACINTOSH_DRIVERS is not set
517CONFIG_NETDEVICES=y 541CONFIG_NETDEVICES=y
542CONFIG_COMPAT_NET_DEV_OPS=y
518# CONFIG_DUMMY is not set 543# CONFIG_DUMMY is not set
519# CONFIG_BONDING is not set 544# CONFIG_BONDING is not set
520# CONFIG_MACVLAN is not set 545# CONFIG_MACVLAN is not set
@@ -548,6 +573,8 @@ CONFIG_MII=y
548# CONFIG_SUNGEM is not set 573# CONFIG_SUNGEM is not set
549# CONFIG_CASSINI is not set 574# CONFIG_CASSINI is not set
550# CONFIG_NET_VENDOR_3COM is not set 575# CONFIG_NET_VENDOR_3COM is not set
576# CONFIG_ETHOC is not set
577# CONFIG_DNET is not set
551# CONFIG_NET_TULIP is not set 578# CONFIG_NET_TULIP is not set
552# CONFIG_HP100 is not set 579# CONFIG_HP100 is not set
553# CONFIG_IBM_NEW_EMAC_ZMII is not set 580# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -567,6 +594,7 @@ CONFIG_NETDEV_1000=y
567# CONFIG_E1000E is not set 594# CONFIG_E1000E is not set
568# CONFIG_IP1000 is not set 595# CONFIG_IP1000 is not set
569# CONFIG_IGB is not set 596# CONFIG_IGB is not set
597# CONFIG_IGBVF is not set
570# CONFIG_NS83820 is not set 598# CONFIG_NS83820 is not set
571# CONFIG_HAMACHI is not set 599# CONFIG_HAMACHI is not set
572# CONFIG_YELLOWFIN is not set 600# CONFIG_YELLOWFIN is not set
@@ -577,14 +605,15 @@ CONFIG_NETDEV_1000=y
577# CONFIG_VIA_VELOCITY is not set 605# CONFIG_VIA_VELOCITY is not set
578# CONFIG_TIGON3 is not set 606# CONFIG_TIGON3 is not set
579# CONFIG_BNX2 is not set 607# CONFIG_BNX2 is not set
608CONFIG_FSL_PQ_MDIO=y
580# CONFIG_GIANFAR is not set 609# CONFIG_GIANFAR is not set
581CONFIG_UCC_GETH=y 610CONFIG_UCC_GETH=y
582# CONFIG_UGETH_MAGIC_PACKET is not set 611# CONFIG_UGETH_MAGIC_PACKET is not set
583# CONFIG_UGETH_TX_ON_DEMAND is not set 612# CONFIG_UGETH_TX_ON_DEMAND is not set
584# CONFIG_MV643XX_ETH is not set
585# CONFIG_QLA3XXX is not set 613# CONFIG_QLA3XXX is not set
586# CONFIG_ATL1 is not set 614# CONFIG_ATL1 is not set
587# CONFIG_ATL1E is not set 615# CONFIG_ATL1E is not set
616# CONFIG_ATL1C is not set
588# CONFIG_JME is not set 617# CONFIG_JME is not set
589CONFIG_NETDEV_10000=y 618CONFIG_NETDEV_10000=y
590# CONFIG_CHELSIO_T1 is not set 619# CONFIG_CHELSIO_T1 is not set
@@ -594,6 +623,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
594# CONFIG_IXGBE is not set 623# CONFIG_IXGBE is not set
595# CONFIG_IXGB is not set 624# CONFIG_IXGB is not set
596# CONFIG_S2IO is not set 625# CONFIG_S2IO is not set
626# CONFIG_VXGE is not set
597# CONFIG_MYRI10GE is not set 627# CONFIG_MYRI10GE is not set
598# CONFIG_NETXEN_NIC is not set 628# CONFIG_NETXEN_NIC is not set
599# CONFIG_NIU is not set 629# CONFIG_NIU is not set
@@ -603,6 +633,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
603# CONFIG_BNX2X is not set 633# CONFIG_BNX2X is not set
604# CONFIG_QLGE is not set 634# CONFIG_QLGE is not set
605# CONFIG_SFC is not set 635# CONFIG_SFC is not set
636# CONFIG_BE2NET is not set
606# CONFIG_TR is not set 637# CONFIG_TR is not set
607 638
608# 639#
@@ -610,7 +641,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
610# 641#
611# CONFIG_WLAN_PRE80211 is not set 642# CONFIG_WLAN_PRE80211 is not set
612# CONFIG_WLAN_80211 is not set 643# CONFIG_WLAN_80211 is not set
613# CONFIG_IWLWIFI_LEDS is not set
614 644
615# 645#
616# Enable WiMAX (Networking options) to see the WiMAX drivers 646# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -692,6 +722,7 @@ CONFIG_LEGACY_PTY_COUNT=256
692# CONFIG_HVC_UDBG is not set 722# CONFIG_HVC_UDBG is not set
693# CONFIG_IPMI_HANDLER is not set 723# CONFIG_IPMI_HANDLER is not set
694CONFIG_HW_RANDOM=y 724CONFIG_HW_RANDOM=y
725# CONFIG_HW_RANDOM_TIMERIOMEM is not set
695# CONFIG_NVRAM is not set 726# CONFIG_NVRAM is not set
696# CONFIG_R3964 is not set 727# CONFIG_R3964 is not set
697# CONFIG_APPLICOM is not set 728# CONFIG_APPLICOM is not set
@@ -753,12 +784,9 @@ CONFIG_I2C_MPC=y
753# Miscellaneous I2C Chip support 784# Miscellaneous I2C Chip support
754# 785#
755# CONFIG_DS1682 is not set 786# CONFIG_DS1682 is not set
756# CONFIG_EEPROM_AT24 is not set
757# CONFIG_EEPROM_LEGACY is not set
758# CONFIG_SENSORS_PCF8574 is not set 787# CONFIG_SENSORS_PCF8574 is not set
759# CONFIG_PCF8575 is not set 788# CONFIG_PCF8575 is not set
760# CONFIG_SENSORS_PCA9539 is not set 789# CONFIG_SENSORS_PCA9539 is not set
761# CONFIG_SENSORS_PCF8591 is not set
762# CONFIG_SENSORS_MAX6875 is not set 790# CONFIG_SENSORS_MAX6875 is not set
763# CONFIG_SENSORS_TSL2550 is not set 791# CONFIG_SENSORS_TSL2550 is not set
764# CONFIG_I2C_DEBUG_CORE is not set 792# CONFIG_I2C_DEBUG_CORE is not set
@@ -790,6 +818,7 @@ CONFIG_HWMON=y
790# CONFIG_SENSORS_F71805F is not set 818# CONFIG_SENSORS_F71805F is not set
791# CONFIG_SENSORS_F71882FG is not set 819# CONFIG_SENSORS_F71882FG is not set
792# CONFIG_SENSORS_F75375S is not set 820# CONFIG_SENSORS_F75375S is not set
821# CONFIG_SENSORS_G760A is not set
793# CONFIG_SENSORS_GL518SM is not set 822# CONFIG_SENSORS_GL518SM is not set
794# CONFIG_SENSORS_GL520SM is not set 823# CONFIG_SENSORS_GL520SM is not set
795# CONFIG_SENSORS_IT87 is not set 824# CONFIG_SENSORS_IT87 is not set
@@ -804,11 +833,14 @@ CONFIG_HWMON=y
804# CONFIG_SENSORS_LM90 is not set 833# CONFIG_SENSORS_LM90 is not set
805# CONFIG_SENSORS_LM92 is not set 834# CONFIG_SENSORS_LM92 is not set
806# CONFIG_SENSORS_LM93 is not set 835# CONFIG_SENSORS_LM93 is not set
836# CONFIG_SENSORS_LTC4215 is not set
807# CONFIG_SENSORS_LTC4245 is not set 837# CONFIG_SENSORS_LTC4245 is not set
838# CONFIG_SENSORS_LM95241 is not set
808# CONFIG_SENSORS_MAX1619 is not set 839# CONFIG_SENSORS_MAX1619 is not set
809# CONFIG_SENSORS_MAX6650 is not set 840# CONFIG_SENSORS_MAX6650 is not set
810# CONFIG_SENSORS_PC87360 is not set 841# CONFIG_SENSORS_PC87360 is not set
811# CONFIG_SENSORS_PC87427 is not set 842# CONFIG_SENSORS_PC87427 is not set
843# CONFIG_SENSORS_PCF8591 is not set
812# CONFIG_SENSORS_SIS5595 is not set 844# CONFIG_SENSORS_SIS5595 is not set
813# CONFIG_SENSORS_DME1737 is not set 845# CONFIG_SENSORS_DME1737 is not set
814# CONFIG_SENSORS_SMSC47M1 is not set 846# CONFIG_SENSORS_SMSC47M1 is not set
@@ -906,7 +938,6 @@ CONFIG_HID=y
906# 938#
907# Special HID drivers 939# Special HID drivers
908# 940#
909CONFIG_HID_COMPAT=y
910CONFIG_USB_SUPPORT=y 941CONFIG_USB_SUPPORT=y
911CONFIG_USB_ARCH_HAS_HCD=y 942CONFIG_USB_ARCH_HAS_HCD=y
912CONFIG_USB_ARCH_HAS_OHCI=y 943CONFIG_USB_ARCH_HAS_OHCI=y
@@ -920,7 +951,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
920# 951#
921 952
922# 953#
923# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 954# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
924# 955#
925# CONFIG_USB_GADGET is not set 956# CONFIG_USB_GADGET is not set
926 957
@@ -988,8 +1019,9 @@ CONFIG_RTC_DRV_DS1374=y
988# 1019#
989# on-CPU RTC drivers 1020# on-CPU RTC drivers
990# 1021#
991# CONFIG_RTC_DRV_PPC is not set 1022# CONFIG_RTC_DRV_GENERIC is not set
992# CONFIG_DMADEVICES is not set 1023# CONFIG_DMADEVICES is not set
1024# CONFIG_AUXDISPLAY is not set
993# CONFIG_UIO is not set 1025# CONFIG_UIO is not set
994# CONFIG_STAGING is not set 1026# CONFIG_STAGING is not set
995 1027
@@ -1000,6 +1032,7 @@ CONFIG_EXT2_FS=y
1000# CONFIG_EXT2_FS_XATTR is not set 1032# CONFIG_EXT2_FS_XATTR is not set
1001# CONFIG_EXT2_FS_XIP is not set 1033# CONFIG_EXT2_FS_XIP is not set
1002CONFIG_EXT3_FS=y 1034CONFIG_EXT3_FS=y
1035# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1003CONFIG_EXT3_FS_XATTR=y 1036CONFIG_EXT3_FS_XATTR=y
1004# CONFIG_EXT3_FS_POSIX_ACL is not set 1037# CONFIG_EXT3_FS_POSIX_ACL is not set
1005# CONFIG_EXT3_FS_SECURITY is not set 1038# CONFIG_EXT3_FS_SECURITY is not set
@@ -1022,6 +1055,11 @@ CONFIG_INOTIFY_USER=y
1022# CONFIG_FUSE_FS is not set 1055# CONFIG_FUSE_FS is not set
1023 1056
1024# 1057#
1058# Caches
1059#
1060# CONFIG_FSCACHE is not set
1061
1062#
1025# CD-ROM/DVD Filesystems 1063# CD-ROM/DVD Filesystems
1026# 1064#
1027# CONFIG_ISO9660_FS is not set 1065# CONFIG_ISO9660_FS is not set
@@ -1064,6 +1102,7 @@ CONFIG_MISC_FILESYSTEMS=y
1064# CONFIG_ROMFS_FS is not set 1102# CONFIG_ROMFS_FS is not set
1065# CONFIG_SYSV_FS is not set 1103# CONFIG_SYSV_FS is not set
1066# CONFIG_UFS_FS is not set 1104# CONFIG_UFS_FS is not set
1105# CONFIG_NILFS2_FS is not set
1067CONFIG_NETWORK_FILESYSTEMS=y 1106CONFIG_NETWORK_FILESYSTEMS=y
1068CONFIG_NFS_FS=y 1107CONFIG_NFS_FS=y
1069CONFIG_NFS_V3=y 1108CONFIG_NFS_V3=y
@@ -1076,7 +1115,6 @@ CONFIG_LOCKD_V4=y
1076CONFIG_NFS_COMMON=y 1115CONFIG_NFS_COMMON=y
1077CONFIG_SUNRPC=y 1116CONFIG_SUNRPC=y
1078CONFIG_SUNRPC_GSS=y 1117CONFIG_SUNRPC_GSS=y
1079# CONFIG_SUNRPC_REGISTER_V4 is not set
1080CONFIG_RPCSEC_GSS_KRB5=y 1118CONFIG_RPCSEC_GSS_KRB5=y
1081# CONFIG_RPCSEC_GSS_SPKM3 is not set 1119# CONFIG_RPCSEC_GSS_SPKM3 is not set
1082# CONFIG_SMB_FS is not set 1120# CONFIG_SMB_FS is not set
@@ -1106,6 +1144,7 @@ CONFIG_PARTITION_ADVANCED=y
1106# CONFIG_DLM is not set 1144# CONFIG_DLM is not set
1107CONFIG_UCC_FAST=y 1145CONFIG_UCC_FAST=y
1108CONFIG_UCC=y 1146CONFIG_UCC=y
1147# CONFIG_BINARY_PRINTF is not set
1109 1148
1110# 1149#
1111# Library routines 1150# Library routines
@@ -1119,11 +1158,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
1119CONFIG_CRC32=y 1158CONFIG_CRC32=y
1120# CONFIG_CRC7 is not set 1159# CONFIG_CRC7 is not set
1121# CONFIG_LIBCRC32C is not set 1160# CONFIG_LIBCRC32C is not set
1122CONFIG_PLIST=y 1161CONFIG_ZLIB_INFLATE=y
1162CONFIG_DECOMPRESS_GZIP=y
1123CONFIG_HAS_IOMEM=y 1163CONFIG_HAS_IOMEM=y
1124CONFIG_HAS_IOPORT=y 1164CONFIG_HAS_IOPORT=y
1125CONFIG_HAS_DMA=y 1165CONFIG_HAS_DMA=y
1126CONFIG_HAVE_LMB=y 1166CONFIG_HAVE_LMB=y
1167CONFIG_NLATTR=y
1127 1168
1128# 1169#
1129# Kernel hacking 1170# Kernel hacking
@@ -1145,13 +1186,24 @@ CONFIG_FRAME_WARN=1024
1145# CONFIG_LATENCYTOP is not set 1186# CONFIG_LATENCYTOP is not set
1146CONFIG_SYSCTL_SYSCALL_CHECK=y 1187CONFIG_SYSCTL_SYSCALL_CHECK=y
1147CONFIG_HAVE_FUNCTION_TRACER=y 1188CONFIG_HAVE_FUNCTION_TRACER=y
1189CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1148CONFIG_HAVE_DYNAMIC_FTRACE=y 1190CONFIG_HAVE_DYNAMIC_FTRACE=y
1149CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1191CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1192CONFIG_TRACING_SUPPORT=y
1150 1193
1151# 1194#
1152# Tracers 1195# Tracers
1153# 1196#
1154# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1197# CONFIG_FUNCTION_TRACER is not set
1198# CONFIG_SCHED_TRACER is not set
1199# CONFIG_CONTEXT_SWITCH_TRACER is not set
1200# CONFIG_EVENT_TRACER is not set
1201# CONFIG_BOOT_TRACER is not set
1202# CONFIG_TRACE_BRANCH_PROFILING is not set
1203# CONFIG_STACK_TRACER is not set
1204# CONFIG_KMEMTRACE is not set
1205# CONFIG_WORKQUEUE_TRACER is not set
1206# CONFIG_BLK_DEV_IO_TRACE is not set
1155# CONFIG_SAMPLES is not set 1207# CONFIG_SAMPLES is not set
1156CONFIG_HAVE_ARCH_KGDB=y 1208CONFIG_HAVE_ARCH_KGDB=y
1157CONFIG_PRINT_STACK_DEPTH=64 1209CONFIG_PRINT_STACK_DEPTH=64
@@ -1180,10 +1232,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1180CONFIG_CRYPTO_HASH=y 1232CONFIG_CRYPTO_HASH=y
1181CONFIG_CRYPTO_HASH2=y 1233CONFIG_CRYPTO_HASH2=y
1182CONFIG_CRYPTO_RNG2=y 1234CONFIG_CRYPTO_RNG2=y
1235CONFIG_CRYPTO_PCOMP=y
1183CONFIG_CRYPTO_MANAGER=y 1236CONFIG_CRYPTO_MANAGER=y
1184CONFIG_CRYPTO_MANAGER2=y 1237CONFIG_CRYPTO_MANAGER2=y
1185# CONFIG_CRYPTO_GF128MUL is not set 1238# CONFIG_CRYPTO_GF128MUL is not set
1186# CONFIG_CRYPTO_NULL is not set 1239# CONFIG_CRYPTO_NULL is not set
1240CONFIG_CRYPTO_WORKQUEUE=y
1187# CONFIG_CRYPTO_CRYPTD is not set 1241# CONFIG_CRYPTO_CRYPTD is not set
1188# CONFIG_CRYPTO_AUTHENC is not set 1242# CONFIG_CRYPTO_AUTHENC is not set
1189# CONFIG_CRYPTO_TEST is not set 1243# CONFIG_CRYPTO_TEST is not set
@@ -1252,6 +1306,7 @@ CONFIG_CRYPTO_DES=y
1252# Compression 1306# Compression
1253# 1307#
1254# CONFIG_CRYPTO_DEFLATE is not set 1308# CONFIG_CRYPTO_DEFLATE is not set
1309# CONFIG_CRYPTO_ZLIB is not set
1255# CONFIG_CRYPTO_LZO is not set 1310# CONFIG_CRYPTO_LZO is not set
1256 1311
1257# 1312#
diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
index a012ce235203..227dbba76795 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:52 2009 4# Wed May 13 17:22:08 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -109,16 +123,19 @@ CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 135CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
138# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 139# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 140CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 141CONFIG_RT_MUTEXES=y
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_SRCVERSION_ALL is not set 148# CONFIG_MODULE_SRCVERSION_ALL is not set
132CONFIG_BLOCK=y 149CONFIG_BLOCK=y
133# CONFIG_LBD is not set 150# CONFIG_LBD is not set
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 151# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 152# CONFIG_BLK_DEV_INTEGRITY is not set
137 153
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 163# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 165CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 166# CONFIG_FREEZER is not set
156 167
157# 168#
158# Platform support 169# Platform support
159# 170#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 171# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 172# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 173# CONFIG_MPC5121_GENERIC is not set
@@ -183,6 +192,8 @@ CONFIG_MPC832x_RDB=y
183CONFIG_PPC_MPC832x=y 192CONFIG_PPC_MPC832x=y
184# CONFIG_PPC_86xx is not set 193# CONFIG_PPC_86xx is not set
185# CONFIG_EMBEDDED6xx is not set 194# CONFIG_EMBEDDED6xx is not set
195# CONFIG_AMIGAONE is not set
196CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186CONFIG_IPIC=y 197CONFIG_IPIC=y
187# CONFIG_MPIC is not set 198# CONFIG_MPIC is not set
188# CONFIG_MPIC_WEIRD is not set 199# CONFIG_MPIC_WEIRD is not set
@@ -245,9 +256,12 @@ CONFIG_ZONE_DMA_FLAG=1
245CONFIG_BOUNCE=y 256CONFIG_BOUNCE=y
246CONFIG_VIRT_TO_BUS=y 257CONFIG_VIRT_TO_BUS=y
247CONFIG_UNEVICTABLE_LRU=y 258CONFIG_UNEVICTABLE_LRU=y
259CONFIG_HAVE_MLOCK=y
260CONFIG_HAVE_MLOCKED_PAGE_BIT=y
248CONFIG_PPC_4K_PAGES=y 261CONFIG_PPC_4K_PAGES=y
249# CONFIG_PPC_16K_PAGES is not set 262# CONFIG_PPC_16K_PAGES is not set
250# CONFIG_PPC_64K_PAGES is not set 263# CONFIG_PPC_64K_PAGES is not set
264# CONFIG_PPC_256K_PAGES is not set
251CONFIG_FORCE_MAX_ZONEORDER=11 265CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 266CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 267# CONFIG_CMDLINE_BOOL is not set
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 287# CONFIG_PCI_MSI is not set
274# CONFIG_PCI_LEGACY is not set 288# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCI_STUB is not set 289# CONFIG_PCI_STUB is not set
290# CONFIG_PCI_IOV is not set
276# CONFIG_PCCARD is not set 291# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 292# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 293# CONFIG_HAS_RAPIDIO is not set
@@ -295,7 +310,6 @@ CONFIG_NET=y
295# 310#
296# Networking options 311# Networking options
297# 312#
298CONFIG_COMPAT_NET_DEV_OPS=y
299CONFIG_PACKET=y 313CONFIG_PACKET=y
300# CONFIG_PACKET_MMAP is not set 314# CONFIG_PACKET_MMAP is not set
301CONFIG_UNIX=y 315CONFIG_UNIX=y
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_LAPB is not set 365# CONFIG_LAPB is not set
352# CONFIG_ECONET is not set 366# CONFIG_ECONET is not set
353# CONFIG_WAN_ROUTER is not set 367# CONFIG_WAN_ROUTER is not set
368# CONFIG_PHONET is not set
354# CONFIG_NET_SCHED is not set 369# CONFIG_NET_SCHED is not set
355# CONFIG_DCB is not set 370# CONFIG_DCB is not set
356 371
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# CONFIG_IRDA is not set 378# CONFIG_IRDA is not set
364# CONFIG_BT is not set 379# CONFIG_BT is not set
365# CONFIG_AF_RXRPC is not set 380# CONFIG_AF_RXRPC is not set
366# CONFIG_PHONET is not set
367CONFIG_WIRELESS=y 381CONFIG_WIRELESS=y
368# CONFIG_CFG80211 is not set 382# CONFIG_CFG80211 is not set
369CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -413,13 +427,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
413# CONFIG_BLK_DEV_HD is not set 427# CONFIG_BLK_DEV_HD is not set
414CONFIG_MISC_DEVICES=y 428CONFIG_MISC_DEVICES=y
415# CONFIG_PHANTOM is not set 429# CONFIG_PHANTOM is not set
416# CONFIG_EEPROM_93CX6 is not set
417# CONFIG_SGI_IOC4 is not set 430# CONFIG_SGI_IOC4 is not set
418# CONFIG_TIFM_CORE is not set 431# CONFIG_TIFM_CORE is not set
419# CONFIG_ICS932S401 is not set 432# CONFIG_ICS932S401 is not set
420# CONFIG_ENCLOSURE_SERVICES is not set 433# CONFIG_ENCLOSURE_SERVICES is not set
421# CONFIG_HP_ILO is not set 434# CONFIG_HP_ILO is not set
435# CONFIG_ISL29003 is not set
422# CONFIG_C2PORT is not set 436# CONFIG_C2PORT is not set
437
438#
439# EEPROM support
440#
441# CONFIG_EEPROM_AT24 is not set
442# CONFIG_EEPROM_AT25 is not set
443# CONFIG_EEPROM_LEGACY is not set
444# CONFIG_EEPROM_93CX6 is not set
423CONFIG_HAVE_IDE=y 445CONFIG_HAVE_IDE=y
424# CONFIG_IDE is not set 446# CONFIG_IDE is not set
425 447
@@ -477,9 +499,11 @@ CONFIG_SCSI_LOWLEVEL=y
477# CONFIG_MEGARAID_NEWGEN is not set 499# CONFIG_MEGARAID_NEWGEN is not set
478# CONFIG_MEGARAID_LEGACY is not set 500# CONFIG_MEGARAID_LEGACY is not set
479# CONFIG_MEGARAID_SAS is not set 501# CONFIG_MEGARAID_SAS is not set
502# CONFIG_SCSI_MPT2SAS is not set
480# CONFIG_SCSI_HPTIOP is not set 503# CONFIG_SCSI_HPTIOP is not set
481# CONFIG_SCSI_BUSLOGIC is not set 504# CONFIG_SCSI_BUSLOGIC is not set
482# CONFIG_LIBFC is not set 505# CONFIG_LIBFC is not set
506# CONFIG_LIBFCOE is not set
483# CONFIG_FCOE is not set 507# CONFIG_FCOE is not set
484# CONFIG_SCSI_DMX3191D is not set 508# CONFIG_SCSI_DMX3191D is not set
485# CONFIG_SCSI_EATA is not set 509# CONFIG_SCSI_EATA is not set
@@ -501,6 +525,7 @@ CONFIG_SCSI_LOWLEVEL=y
501# CONFIG_SCSI_DEBUG is not set 525# CONFIG_SCSI_DEBUG is not set
502# CONFIG_SCSI_SRP is not set 526# CONFIG_SCSI_SRP is not set
503# CONFIG_SCSI_DH is not set 527# CONFIG_SCSI_DH is not set
528# CONFIG_SCSI_OSD_INITIATOR is not set
504# CONFIG_ATA is not set 529# CONFIG_ATA is not set
505# CONFIG_MD is not set 530# CONFIG_MD is not set
506# CONFIG_FUSION is not set 531# CONFIG_FUSION is not set
@@ -517,6 +542,7 @@ CONFIG_SCSI_LOWLEVEL=y
517# CONFIG_I2O is not set 542# CONFIG_I2O is not set
518# CONFIG_MACINTOSH_DRIVERS is not set 543# CONFIG_MACINTOSH_DRIVERS is not set
519CONFIG_NETDEVICES=y 544CONFIG_NETDEVICES=y
545CONFIG_COMPAT_NET_DEV_OPS=y
520# CONFIG_DUMMY is not set 546# CONFIG_DUMMY is not set
521# CONFIG_BONDING is not set 547# CONFIG_BONDING is not set
522# CONFIG_MACVLAN is not set 548# CONFIG_MACVLAN is not set
@@ -551,6 +577,8 @@ CONFIG_MII=y
551# CONFIG_CASSINI is not set 577# CONFIG_CASSINI is not set
552# CONFIG_NET_VENDOR_3COM is not set 578# CONFIG_NET_VENDOR_3COM is not set
553# CONFIG_ENC28J60 is not set 579# CONFIG_ENC28J60 is not set
580# CONFIG_ETHOC is not set
581# CONFIG_DNET is not set
554# CONFIG_NET_TULIP is not set 582# CONFIG_NET_TULIP is not set
555# CONFIG_HP100 is not set 583# CONFIG_HP100 is not set
556# CONFIG_IBM_NEW_EMAC_ZMII is not set 584# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -570,6 +598,7 @@ CONFIG_E1000=y
570# CONFIG_E1000E is not set 598# CONFIG_E1000E is not set
571# CONFIG_IP1000 is not set 599# CONFIG_IP1000 is not set
572# CONFIG_IGB is not set 600# CONFIG_IGB is not set
601# CONFIG_IGBVF is not set
573# CONFIG_NS83820 is not set 602# CONFIG_NS83820 is not set
574# CONFIG_HAMACHI is not set 603# CONFIG_HAMACHI is not set
575# CONFIG_YELLOWFIN is not set 604# CONFIG_YELLOWFIN is not set
@@ -580,14 +609,15 @@ CONFIG_E1000=y
580# CONFIG_VIA_VELOCITY is not set 609# CONFIG_VIA_VELOCITY is not set
581# CONFIG_TIGON3 is not set 610# CONFIG_TIGON3 is not set
582# CONFIG_BNX2 is not set 611# CONFIG_BNX2 is not set
612CONFIG_FSL_PQ_MDIO=y
583# CONFIG_GIANFAR is not set 613# CONFIG_GIANFAR is not set
584CONFIG_UCC_GETH=y 614CONFIG_UCC_GETH=y
585# CONFIG_UGETH_MAGIC_PACKET is not set 615# CONFIG_UGETH_MAGIC_PACKET is not set
586# CONFIG_UGETH_TX_ON_DEMAND is not set 616# CONFIG_UGETH_TX_ON_DEMAND is not set
587# CONFIG_MV643XX_ETH is not set
588# CONFIG_QLA3XXX is not set 617# CONFIG_QLA3XXX is not set
589# CONFIG_ATL1 is not set 618# CONFIG_ATL1 is not set
590# CONFIG_ATL1E is not set 619# CONFIG_ATL1E is not set
620# CONFIG_ATL1C is not set
591# CONFIG_JME is not set 621# CONFIG_JME is not set
592CONFIG_NETDEV_10000=y 622CONFIG_NETDEV_10000=y
593# CONFIG_CHELSIO_T1 is not set 623# CONFIG_CHELSIO_T1 is not set
@@ -597,6 +627,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
597# CONFIG_IXGBE is not set 627# CONFIG_IXGBE is not set
598# CONFIG_IXGB is not set 628# CONFIG_IXGB is not set
599# CONFIG_S2IO is not set 629# CONFIG_S2IO is not set
630# CONFIG_VXGE is not set
600# CONFIG_MYRI10GE is not set 631# CONFIG_MYRI10GE is not set
601# CONFIG_NETXEN_NIC is not set 632# CONFIG_NETXEN_NIC is not set
602# CONFIG_NIU is not set 633# CONFIG_NIU is not set
@@ -606,6 +637,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
606# CONFIG_BNX2X is not set 637# CONFIG_BNX2X is not set
607# CONFIG_QLGE is not set 638# CONFIG_QLGE is not set
608# CONFIG_SFC is not set 639# CONFIG_SFC is not set
640# CONFIG_BE2NET is not set
609# CONFIG_TR is not set 641# CONFIG_TR is not set
610 642
611# 643#
@@ -613,7 +645,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
613# 645#
614# CONFIG_WLAN_PRE80211 is not set 646# CONFIG_WLAN_PRE80211 is not set
615# CONFIG_WLAN_80211 is not set 647# CONFIG_WLAN_80211 is not set
616# CONFIG_IWLWIFI_LEDS is not set
617 648
618# 649#
619# Enable WiMAX (Networking options) to see the WiMAX drivers 650# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -691,6 +722,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
691# 722#
692# Non-8250 serial port support 723# Non-8250 serial port support
693# 724#
725# CONFIG_SERIAL_MAX3100 is not set
694# CONFIG_SERIAL_UARTLITE is not set 726# CONFIG_SERIAL_UARTLITE is not set
695CONFIG_SERIAL_CORE=y 727CONFIG_SERIAL_CORE=y
696CONFIG_SERIAL_CORE_CONSOLE=y 728CONFIG_SERIAL_CORE_CONSOLE=y
@@ -704,6 +736,7 @@ CONFIG_LEGACY_PTY_COUNT=256
704# CONFIG_HVC_UDBG is not set 736# CONFIG_HVC_UDBG is not set
705# CONFIG_IPMI_HANDLER is not set 737# CONFIG_IPMI_HANDLER is not set
706CONFIG_HW_RANDOM=y 738CONFIG_HW_RANDOM=y
739# CONFIG_HW_RANDOM_TIMERIOMEM is not set
707# CONFIG_NVRAM is not set 740# CONFIG_NVRAM is not set
708CONFIG_GEN_RTC=y 741CONFIG_GEN_RTC=y
709# CONFIG_GEN_RTC_X is not set 742# CONFIG_GEN_RTC_X is not set
@@ -768,12 +801,9 @@ CONFIG_I2C_MPC=y
768# Miscellaneous I2C Chip support 801# Miscellaneous I2C Chip support
769# 802#
770# CONFIG_DS1682 is not set 803# CONFIG_DS1682 is not set
771# CONFIG_EEPROM_AT24 is not set
772# CONFIG_EEPROM_LEGACY is not set
773# CONFIG_SENSORS_PCF8574 is not set 804# CONFIG_SENSORS_PCF8574 is not set
774# CONFIG_PCF8575 is not set 805# CONFIG_PCF8575 is not set
775# CONFIG_SENSORS_PCA9539 is not set 806# CONFIG_SENSORS_PCA9539 is not set
776# CONFIG_SENSORS_PCF8591 is not set
777# CONFIG_SENSORS_MAX6875 is not set 807# CONFIG_SENSORS_MAX6875 is not set
778# CONFIG_SENSORS_TSL2550 is not set 808# CONFIG_SENSORS_TSL2550 is not set
779# CONFIG_I2C_DEBUG_CORE is not set 809# CONFIG_I2C_DEBUG_CORE is not set
@@ -792,7 +822,6 @@ CONFIG_SPI_MPC83xx=y
792# 822#
793# SPI Protocol Masters 823# SPI Protocol Masters
794# 824#
795# CONFIG_EEPROM_AT25 is not set
796# CONFIG_SPI_SPIDEV is not set 825# CONFIG_SPI_SPIDEV is not set
797# CONFIG_SPI_TLE62X0 is not set 826# CONFIG_SPI_TLE62X0 is not set
798CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 827CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
@@ -820,6 +849,7 @@ CONFIG_HWMON=y
820# CONFIG_SENSORS_F71805F is not set 849# CONFIG_SENSORS_F71805F is not set
821# CONFIG_SENSORS_F71882FG is not set 850# CONFIG_SENSORS_F71882FG is not set
822# CONFIG_SENSORS_F75375S is not set 851# CONFIG_SENSORS_F75375S is not set
852# CONFIG_SENSORS_G760A is not set
823# CONFIG_SENSORS_GL518SM is not set 853# CONFIG_SENSORS_GL518SM is not set
824# CONFIG_SENSORS_GL520SM is not set 854# CONFIG_SENSORS_GL520SM is not set
825# CONFIG_SENSORS_IT87 is not set 855# CONFIG_SENSORS_IT87 is not set
@@ -835,12 +865,15 @@ CONFIG_HWMON=y
835# CONFIG_SENSORS_LM90 is not set 865# CONFIG_SENSORS_LM90 is not set
836# CONFIG_SENSORS_LM92 is not set 866# CONFIG_SENSORS_LM92 is not set
837# CONFIG_SENSORS_LM93 is not set 867# CONFIG_SENSORS_LM93 is not set
868# CONFIG_SENSORS_LTC4215 is not set
838# CONFIG_SENSORS_LTC4245 is not set 869# CONFIG_SENSORS_LTC4245 is not set
870# CONFIG_SENSORS_LM95241 is not set
839# CONFIG_SENSORS_MAX1111 is not set 871# CONFIG_SENSORS_MAX1111 is not set
840# CONFIG_SENSORS_MAX1619 is not set 872# CONFIG_SENSORS_MAX1619 is not set
841# CONFIG_SENSORS_MAX6650 is not set 873# CONFIG_SENSORS_MAX6650 is not set
842# CONFIG_SENSORS_PC87360 is not set 874# CONFIG_SENSORS_PC87360 is not set
843# CONFIG_SENSORS_PC87427 is not set 875# CONFIG_SENSORS_PC87427 is not set
876# CONFIG_SENSORS_PCF8591 is not set
844# CONFIG_SENSORS_SIS5595 is not set 877# CONFIG_SENSORS_SIS5595 is not set
845# CONFIG_SENSORS_DME1737 is not set 878# CONFIG_SENSORS_DME1737 is not set
846# CONFIG_SENSORS_SMSC47M1 is not set 879# CONFIG_SENSORS_SMSC47M1 is not set
@@ -859,6 +892,7 @@ CONFIG_HWMON=y
859# CONFIG_SENSORS_W83L786NG is not set 892# CONFIG_SENSORS_W83L786NG is not set
860# CONFIG_SENSORS_W83627HF is not set 893# CONFIG_SENSORS_W83627HF is not set
861# CONFIG_SENSORS_W83627EHF is not set 894# CONFIG_SENSORS_W83627EHF is not set
895# CONFIG_SENSORS_LIS3_SPI is not set
862# CONFIG_HWMON_DEBUG_CHIP is not set 896# CONFIG_HWMON_DEBUG_CHIP is not set
863# CONFIG_THERMAL is not set 897# CONFIG_THERMAL is not set
864# CONFIG_THERMAL_HWMON is not set 898# CONFIG_THERMAL_HWMON is not set
@@ -955,7 +989,6 @@ CONFIG_HID=y
955# 989#
956# Special HID drivers 990# Special HID drivers
957# 991#
958CONFIG_HID_COMPAT=y
959CONFIG_USB_SUPPORT=y 992CONFIG_USB_SUPPORT=y
960CONFIG_USB_ARCH_HAS_HCD=y 993CONFIG_USB_ARCH_HAS_HCD=y
961CONFIG_USB_ARCH_HAS_OHCI=y 994CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1012,11 +1045,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1012# CONFIG_USB_TMC is not set 1045# CONFIG_USB_TMC is not set
1013 1046
1014# 1047#
1015# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1048# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1016# 1049#
1017 1050
1018# 1051#
1019# see USB_STORAGE Help for more information 1052# also be needed; see USB_STORAGE Help for more info
1020# 1053#
1021CONFIG_USB_STORAGE=y 1054CONFIG_USB_STORAGE=y
1022# CONFIG_USB_STORAGE_DEBUG is not set 1055# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1058,7 +1091,6 @@ CONFIG_USB_STORAGE=y
1058# CONFIG_USB_LED is not set 1091# CONFIG_USB_LED is not set
1059# CONFIG_USB_CYPRESS_CY7C63 is not set 1092# CONFIG_USB_CYPRESS_CY7C63 is not set
1060# CONFIG_USB_CYTHERM is not set 1093# CONFIG_USB_CYTHERM is not set
1061# CONFIG_USB_PHIDGET is not set
1062# CONFIG_USB_IDMOUSE is not set 1094# CONFIG_USB_IDMOUSE is not set
1063# CONFIG_USB_FTDI_ELAN is not set 1095# CONFIG_USB_FTDI_ELAN is not set
1064# CONFIG_USB_APPLEDISPLAY is not set 1096# CONFIG_USB_APPLEDISPLAY is not set
@@ -1074,6 +1106,7 @@ CONFIG_USB_STORAGE=y
1074# 1106#
1075# OTG and related infrastructure 1107# OTG and related infrastructure
1076# 1108#
1109# CONFIG_NOP_USB_XCEIV is not set
1077# CONFIG_UWB is not set 1110# CONFIG_UWB is not set
1078CONFIG_MMC=y 1111CONFIG_MMC=y
1079# CONFIG_MMC_DEBUG is not set 1112# CONFIG_MMC_DEBUG is not set
@@ -1101,6 +1134,7 @@ CONFIG_MMC_SPI=y
1101# CONFIG_EDAC is not set 1134# CONFIG_EDAC is not set
1102# CONFIG_RTC_CLASS is not set 1135# CONFIG_RTC_CLASS is not set
1103# CONFIG_DMADEVICES is not set 1136# CONFIG_DMADEVICES is not set
1137# CONFIG_AUXDISPLAY is not set
1104# CONFIG_UIO is not set 1138# CONFIG_UIO is not set
1105# CONFIG_STAGING is not set 1139# CONFIG_STAGING is not set
1106 1140
@@ -1111,6 +1145,7 @@ CONFIG_EXT2_FS=y
1111# CONFIG_EXT2_FS_XATTR is not set 1145# CONFIG_EXT2_FS_XATTR is not set
1112# CONFIG_EXT2_FS_XIP is not set 1146# CONFIG_EXT2_FS_XIP is not set
1113CONFIG_EXT3_FS=y 1147CONFIG_EXT3_FS=y
1148# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1114CONFIG_EXT3_FS_XATTR=y 1149CONFIG_EXT3_FS_XATTR=y
1115# CONFIG_EXT3_FS_POSIX_ACL is not set 1150# CONFIG_EXT3_FS_POSIX_ACL is not set
1116# CONFIG_EXT3_FS_SECURITY is not set 1151# CONFIG_EXT3_FS_SECURITY is not set
@@ -1133,6 +1168,11 @@ CONFIG_INOTIFY_USER=y
1133# CONFIG_FUSE_FS is not set 1168# CONFIG_FUSE_FS is not set
1134 1169
1135# 1170#
1171# Caches
1172#
1173# CONFIG_FSCACHE is not set
1174
1175#
1136# CD-ROM/DVD Filesystems 1176# CD-ROM/DVD Filesystems
1137# 1177#
1138# CONFIG_ISO9660_FS is not set 1178# CONFIG_ISO9660_FS is not set
@@ -1178,6 +1218,7 @@ CONFIG_MISC_FILESYSTEMS=y
1178# CONFIG_ROMFS_FS is not set 1218# CONFIG_ROMFS_FS is not set
1179# CONFIG_SYSV_FS is not set 1219# CONFIG_SYSV_FS is not set
1180# CONFIG_UFS_FS is not set 1220# CONFIG_UFS_FS is not set
1221# CONFIG_NILFS2_FS is not set
1181CONFIG_NETWORK_FILESYSTEMS=y 1222CONFIG_NETWORK_FILESYSTEMS=y
1182CONFIG_NFS_FS=y 1223CONFIG_NFS_FS=y
1183CONFIG_NFS_V3=y 1224CONFIG_NFS_V3=y
@@ -1190,7 +1231,6 @@ CONFIG_LOCKD_V4=y
1190CONFIG_NFS_COMMON=y 1231CONFIG_NFS_COMMON=y
1191CONFIG_SUNRPC=y 1232CONFIG_SUNRPC=y
1192CONFIG_SUNRPC_GSS=y 1233CONFIG_SUNRPC_GSS=y
1193# CONFIG_SUNRPC_REGISTER_V4 is not set
1194CONFIG_RPCSEC_GSS_KRB5=y 1234CONFIG_RPCSEC_GSS_KRB5=y
1195# CONFIG_RPCSEC_GSS_SPKM3 is not set 1235# CONFIG_RPCSEC_GSS_SPKM3 is not set
1196# CONFIG_SMB_FS is not set 1236# CONFIG_SMB_FS is not set
@@ -1264,6 +1304,7 @@ CONFIG_NLS_ISO8859_1=y
1264# CONFIG_DLM is not set 1304# CONFIG_DLM is not set
1265CONFIG_UCC_FAST=y 1305CONFIG_UCC_FAST=y
1266CONFIG_UCC=y 1306CONFIG_UCC=y
1307# CONFIG_BINARY_PRINTF is not set
1267 1308
1268# 1309#
1269# Library routines 1310# Library routines
@@ -1277,11 +1318,13 @@ CONFIG_CRC_ITU_T=y
1277CONFIG_CRC32=y 1318CONFIG_CRC32=y
1278CONFIG_CRC7=y 1319CONFIG_CRC7=y
1279# CONFIG_LIBCRC32C is not set 1320# CONFIG_LIBCRC32C is not set
1280CONFIG_PLIST=y 1321CONFIG_ZLIB_INFLATE=y
1322CONFIG_DECOMPRESS_GZIP=y
1281CONFIG_HAS_IOMEM=y 1323CONFIG_HAS_IOMEM=y
1282CONFIG_HAS_IOPORT=y 1324CONFIG_HAS_IOPORT=y
1283CONFIG_HAS_DMA=y 1325CONFIG_HAS_DMA=y
1284CONFIG_HAVE_LMB=y 1326CONFIG_HAVE_LMB=y
1327CONFIG_NLATTR=y
1285 1328
1286# 1329#
1287# Kernel hacking 1330# Kernel hacking
@@ -1303,13 +1346,24 @@ CONFIG_FRAME_WARN=1024
1303# CONFIG_LATENCYTOP is not set 1346# CONFIG_LATENCYTOP is not set
1304CONFIG_SYSCTL_SYSCALL_CHECK=y 1347CONFIG_SYSCTL_SYSCALL_CHECK=y
1305CONFIG_HAVE_FUNCTION_TRACER=y 1348CONFIG_HAVE_FUNCTION_TRACER=y
1349CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1306CONFIG_HAVE_DYNAMIC_FTRACE=y 1350CONFIG_HAVE_DYNAMIC_FTRACE=y
1307CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1351CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1352CONFIG_TRACING_SUPPORT=y
1308 1353
1309# 1354#
1310# Tracers 1355# Tracers
1311# 1356#
1312# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1357# CONFIG_FUNCTION_TRACER is not set
1358# CONFIG_SCHED_TRACER is not set
1359# CONFIG_CONTEXT_SWITCH_TRACER is not set
1360# CONFIG_EVENT_TRACER is not set
1361# CONFIG_BOOT_TRACER is not set
1362# CONFIG_TRACE_BRANCH_PROFILING is not set
1363# CONFIG_STACK_TRACER is not set
1364# CONFIG_KMEMTRACE is not set
1365# CONFIG_WORKQUEUE_TRACER is not set
1366# CONFIG_BLK_DEV_IO_TRACE is not set
1313# CONFIG_SAMPLES is not set 1367# CONFIG_SAMPLES is not set
1314CONFIG_HAVE_ARCH_KGDB=y 1368CONFIG_HAVE_ARCH_KGDB=y
1315CONFIG_PRINT_STACK_DEPTH=64 1369CONFIG_PRINT_STACK_DEPTH=64
@@ -1338,10 +1392,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1338CONFIG_CRYPTO_HASH=y 1392CONFIG_CRYPTO_HASH=y
1339CONFIG_CRYPTO_HASH2=y 1393CONFIG_CRYPTO_HASH2=y
1340CONFIG_CRYPTO_RNG2=y 1394CONFIG_CRYPTO_RNG2=y
1395CONFIG_CRYPTO_PCOMP=y
1341CONFIG_CRYPTO_MANAGER=y 1396CONFIG_CRYPTO_MANAGER=y
1342CONFIG_CRYPTO_MANAGER2=y 1397CONFIG_CRYPTO_MANAGER2=y
1343# CONFIG_CRYPTO_GF128MUL is not set 1398# CONFIG_CRYPTO_GF128MUL is not set
1344# CONFIG_CRYPTO_NULL is not set 1399# CONFIG_CRYPTO_NULL is not set
1400CONFIG_CRYPTO_WORKQUEUE=y
1345# CONFIG_CRYPTO_CRYPTD is not set 1401# CONFIG_CRYPTO_CRYPTD is not set
1346# CONFIG_CRYPTO_AUTHENC is not set 1402# CONFIG_CRYPTO_AUTHENC is not set
1347# CONFIG_CRYPTO_TEST is not set 1403# CONFIG_CRYPTO_TEST is not set
@@ -1410,6 +1466,7 @@ CONFIG_CRYPTO_DES=y
1410# Compression 1466# Compression
1411# 1467#
1412# CONFIG_CRYPTO_DEFLATE is not set 1468# CONFIG_CRYPTO_DEFLATE is not set
1469# CONFIG_CRYPTO_ZLIB is not set
1413# CONFIG_CRYPTO_LZO is not set 1470# CONFIG_CRYPTO_LZO is not set
1414 1471
1415# 1472#
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
index 4bcc4a1ff308..24ee7fcac87e 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:53 2009 4# Wed May 13 17:22:09 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -109,16 +123,19 @@ CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 135CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
138# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 139# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 140CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 141CONFIG_RT_MUTEXES=y
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_SRCVERSION_ALL is not set 148# CONFIG_MODULE_SRCVERSION_ALL is not set
132CONFIG_BLOCK=y 149CONFIG_BLOCK=y
133# CONFIG_LBD is not set 150# CONFIG_LBD is not set
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 151# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 152# CONFIG_BLK_DEV_INTEGRITY is not set
137 153
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 163# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 165CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 166# CONFIG_FREEZER is not set
156 167
157# 168#
158# Platform support 169# Platform support
159# 170#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 171# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 172# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 173# CONFIG_MPC5121_GENERIC is not set
@@ -183,6 +192,8 @@ CONFIG_MPC834x_ITX=y
183CONFIG_PPC_MPC834x=y 192CONFIG_PPC_MPC834x=y
184# CONFIG_PPC_86xx is not set 193# CONFIG_PPC_86xx is not set
185# CONFIG_EMBEDDED6xx is not set 194# CONFIG_EMBEDDED6xx is not set
195# CONFIG_AMIGAONE is not set
196CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186CONFIG_IPIC=y 197CONFIG_IPIC=y
187# CONFIG_MPIC is not set 198# CONFIG_MPIC is not set
188# CONFIG_MPIC_WEIRD is not set 199# CONFIG_MPIC_WEIRD is not set
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 255CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 256CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y 257CONFIG_UNEVICTABLE_LRU=y
258CONFIG_HAVE_MLOCK=y
259CONFIG_HAVE_MLOCKED_PAGE_BIT=y
247CONFIG_PPC_4K_PAGES=y 260CONFIG_PPC_4K_PAGES=y
248# CONFIG_PPC_16K_PAGES is not set 261# CONFIG_PPC_16K_PAGES is not set
249# CONFIG_PPC_64K_PAGES is not set 262# CONFIG_PPC_64K_PAGES is not set
263# CONFIG_PPC_256K_PAGES is not set
250CONFIG_FORCE_MAX_ZONEORDER=11 264CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 265CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 266# CONFIG_CMDLINE_BOOL is not set
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
272# CONFIG_PCI_MSI is not set 286# CONFIG_PCI_MSI is not set
273# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCI_STUB is not set 288# CONFIG_PCI_STUB is not set
289# CONFIG_PCI_IOV is not set
275# CONFIG_PCCARD is not set 290# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 291# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 292# CONFIG_HAS_RAPIDIO is not set
@@ -294,7 +309,6 @@ CONFIG_NET=y
294# 309#
295# Networking options 310# Networking options
296# 311#
297CONFIG_COMPAT_NET_DEV_OPS=y
298CONFIG_PACKET=y 312CONFIG_PACKET=y
299# CONFIG_PACKET_MMAP is not set 313# CONFIG_PACKET_MMAP is not set
300CONFIG_UNIX=y 314CONFIG_UNIX=y
@@ -350,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_LAPB is not set 364# CONFIG_LAPB is not set
351# CONFIG_ECONET is not set 365# CONFIG_ECONET is not set
352# CONFIG_WAN_ROUTER is not set 366# CONFIG_WAN_ROUTER is not set
367# CONFIG_PHONET is not set
353# CONFIG_NET_SCHED is not set 368# CONFIG_NET_SCHED is not set
354# CONFIG_DCB is not set 369# CONFIG_DCB is not set
355 370
@@ -362,7 +377,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
362# CONFIG_IRDA is not set 377# CONFIG_IRDA is not set
363# CONFIG_BT is not set 378# CONFIG_BT is not set
364# CONFIG_AF_RXRPC is not set 379# CONFIG_AF_RXRPC is not set
365# CONFIG_PHONET is not set
366CONFIG_WIRELESS=y 380CONFIG_WIRELESS=y
367# CONFIG_CFG80211 is not set 381# CONFIG_CFG80211 is not set
368CONFIG_WIRELESS_OLD_REGULATORY=y 382CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -465,7 +479,6 @@ CONFIG_MTD_PHYSMAP=y
465# LPDDR flash memory drivers 479# LPDDR flash memory drivers
466# 480#
467# CONFIG_MTD_LPDDR is not set 481# CONFIG_MTD_LPDDR is not set
468# CONFIG_MTD_QINFO_PROBE is not set
469 482
470# 483#
471# UBI - Unsorted block images 484# UBI - Unsorted block images
@@ -496,13 +509,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
496# CONFIG_BLK_DEV_HD is not set 509# CONFIG_BLK_DEV_HD is not set
497CONFIG_MISC_DEVICES=y 510CONFIG_MISC_DEVICES=y
498# CONFIG_PHANTOM is not set 511# CONFIG_PHANTOM is not set
499# CONFIG_EEPROM_93CX6 is not set
500# CONFIG_SGI_IOC4 is not set 512# CONFIG_SGI_IOC4 is not set
501# CONFIG_TIFM_CORE is not set 513# CONFIG_TIFM_CORE is not set
502# CONFIG_ICS932S401 is not set 514# CONFIG_ICS932S401 is not set
503# CONFIG_ENCLOSURE_SERVICES is not set 515# CONFIG_ENCLOSURE_SERVICES is not set
504# CONFIG_HP_ILO is not set 516# CONFIG_HP_ILO is not set
517# CONFIG_ISL29003 is not set
505# CONFIG_C2PORT is not set 518# CONFIG_C2PORT is not set
519
520#
521# EEPROM support
522#
523# CONFIG_EEPROM_AT24 is not set
524# CONFIG_EEPROM_AT25 is not set
525# CONFIG_EEPROM_LEGACY is not set
526# CONFIG_EEPROM_93CX6 is not set
506CONFIG_HAVE_IDE=y 527CONFIG_HAVE_IDE=y
507CONFIG_IDE=y 528CONFIG_IDE=y
508 529
@@ -608,9 +629,11 @@ CONFIG_SCSI_LOWLEVEL=y
608# CONFIG_MEGARAID_NEWGEN is not set 629# CONFIG_MEGARAID_NEWGEN is not set
609# CONFIG_MEGARAID_LEGACY is not set 630# CONFIG_MEGARAID_LEGACY is not set
610# CONFIG_MEGARAID_SAS is not set 631# CONFIG_MEGARAID_SAS is not set
632# CONFIG_SCSI_MPT2SAS is not set
611# CONFIG_SCSI_HPTIOP is not set 633# CONFIG_SCSI_HPTIOP is not set
612# CONFIG_SCSI_BUSLOGIC is not set 634# CONFIG_SCSI_BUSLOGIC is not set
613# CONFIG_LIBFC is not set 635# CONFIG_LIBFC is not set
636# CONFIG_LIBFCOE is not set
614# CONFIG_FCOE is not set 637# CONFIG_FCOE is not set
615# CONFIG_SCSI_DMX3191D is not set 638# CONFIG_SCSI_DMX3191D is not set
616# CONFIG_SCSI_EATA is not set 639# CONFIG_SCSI_EATA is not set
@@ -633,6 +656,7 @@ CONFIG_SCSI_LOWLEVEL=y
633# CONFIG_SCSI_DEBUG is not set 656# CONFIG_SCSI_DEBUG is not set
634# CONFIG_SCSI_SRP is not set 657# CONFIG_SCSI_SRP is not set
635# CONFIG_SCSI_DH is not set 658# CONFIG_SCSI_DH is not set
659# CONFIG_SCSI_OSD_INITIATOR is not set
636CONFIG_ATA=y 660CONFIG_ATA=y
637# CONFIG_ATA_NONSTANDARD is not set 661# CONFIG_ATA_NONSTANDARD is not set
638CONFIG_SATA_PMP=y 662CONFIG_SATA_PMP=y
@@ -720,6 +744,7 @@ CONFIG_MD_RAID1=y
720# CONFIG_I2O is not set 744# CONFIG_I2O is not set
721# CONFIG_MACINTOSH_DRIVERS is not set 745# CONFIG_MACINTOSH_DRIVERS is not set
722CONFIG_NETDEVICES=y 746CONFIG_NETDEVICES=y
747CONFIG_COMPAT_NET_DEV_OPS=y
723# CONFIG_DUMMY is not set 748# CONFIG_DUMMY is not set
724# CONFIG_BONDING is not set 749# CONFIG_BONDING is not set
725# CONFIG_MACVLAN is not set 750# CONFIG_MACVLAN is not set
@@ -755,6 +780,7 @@ CONFIG_NETDEV_1000=y
755# CONFIG_E1000E is not set 780# CONFIG_E1000E is not set
756# CONFIG_IP1000 is not set 781# CONFIG_IP1000 is not set
757# CONFIG_IGB is not set 782# CONFIG_IGB is not set
783# CONFIG_IGBVF is not set
758# CONFIG_NS83820 is not set 784# CONFIG_NS83820 is not set
759# CONFIG_HAMACHI is not set 785# CONFIG_HAMACHI is not set
760# CONFIG_YELLOWFIN is not set 786# CONFIG_YELLOWFIN is not set
@@ -765,11 +791,12 @@ CONFIG_NETDEV_1000=y
765# CONFIG_VIA_VELOCITY is not set 791# CONFIG_VIA_VELOCITY is not set
766# CONFIG_TIGON3 is not set 792# CONFIG_TIGON3 is not set
767# CONFIG_BNX2 is not set 793# CONFIG_BNX2 is not set
794CONFIG_FSL_PQ_MDIO=y
768CONFIG_GIANFAR=y 795CONFIG_GIANFAR=y
769# CONFIG_MV643XX_ETH is not set
770# CONFIG_QLA3XXX is not set 796# CONFIG_QLA3XXX is not set
771# CONFIG_ATL1 is not set 797# CONFIG_ATL1 is not set
772# CONFIG_ATL1E is not set 798# CONFIG_ATL1E is not set
799# CONFIG_ATL1C is not set
773# CONFIG_JME is not set 800# CONFIG_JME is not set
774CONFIG_NETDEV_10000=y 801CONFIG_NETDEV_10000=y
775# CONFIG_CHELSIO_T1 is not set 802# CONFIG_CHELSIO_T1 is not set
@@ -779,6 +806,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
779# CONFIG_IXGBE is not set 806# CONFIG_IXGBE is not set
780# CONFIG_IXGB is not set 807# CONFIG_IXGB is not set
781# CONFIG_S2IO is not set 808# CONFIG_S2IO is not set
809# CONFIG_VXGE is not set
782# CONFIG_MYRI10GE is not set 810# CONFIG_MYRI10GE is not set
783# CONFIG_NETXEN_NIC is not set 811# CONFIG_NETXEN_NIC is not set
784# CONFIG_NIU is not set 812# CONFIG_NIU is not set
@@ -788,6 +816,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
788# CONFIG_BNX2X is not set 816# CONFIG_BNX2X is not set
789# CONFIG_QLGE is not set 817# CONFIG_QLGE is not set
790# CONFIG_SFC is not set 818# CONFIG_SFC is not set
819# CONFIG_BE2NET is not set
791# CONFIG_TR is not set 820# CONFIG_TR is not set
792 821
793# 822#
@@ -795,7 +824,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
795# 824#
796# CONFIG_WLAN_PRE80211 is not set 825# CONFIG_WLAN_PRE80211 is not set
797# CONFIG_WLAN_80211 is not set 826# CONFIG_WLAN_80211 is not set
798# CONFIG_IWLWIFI_LEDS is not set
799 827
800# 828#
801# Enable WiMAX (Networking options) to see the WiMAX drivers 829# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -853,6 +881,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
853# 881#
854# Non-8250 serial port support 882# Non-8250 serial port support
855# 883#
884# CONFIG_SERIAL_MAX3100 is not set
856# CONFIG_SERIAL_UARTLITE is not set 885# CONFIG_SERIAL_UARTLITE is not set
857CONFIG_SERIAL_CORE=y 886CONFIG_SERIAL_CORE=y
858CONFIG_SERIAL_CORE_CONSOLE=y 887CONFIG_SERIAL_CORE_CONSOLE=y
@@ -865,6 +894,7 @@ CONFIG_LEGACY_PTY_COUNT=256
865# CONFIG_HVC_UDBG is not set 894# CONFIG_HVC_UDBG is not set
866# CONFIG_IPMI_HANDLER is not set 895# CONFIG_IPMI_HANDLER is not set
867CONFIG_HW_RANDOM=y 896CONFIG_HW_RANDOM=y
897# CONFIG_HW_RANDOM_TIMERIOMEM is not set
868# CONFIG_NVRAM is not set 898# CONFIG_NVRAM is not set
869# CONFIG_R3964 is not set 899# CONFIG_R3964 is not set
870# CONFIG_APPLICOM is not set 900# CONFIG_APPLICOM is not set
@@ -927,12 +957,9 @@ CONFIG_I2C_MPC=y
927# Miscellaneous I2C Chip support 957# Miscellaneous I2C Chip support
928# 958#
929# CONFIG_DS1682 is not set 959# CONFIG_DS1682 is not set
930# CONFIG_EEPROM_AT24 is not set
931# CONFIG_EEPROM_LEGACY is not set
932CONFIG_SENSORS_PCF8574=y 960CONFIG_SENSORS_PCF8574=y
933# CONFIG_PCF8575 is not set 961# CONFIG_PCF8575 is not set
934# CONFIG_SENSORS_PCA9539 is not set 962# CONFIG_SENSORS_PCA9539 is not set
935# CONFIG_SENSORS_PCF8591 is not set
936# CONFIG_SENSORS_MAX6875 is not set 963# CONFIG_SENSORS_MAX6875 is not set
937# CONFIG_SENSORS_TSL2550 is not set 964# CONFIG_SENSORS_TSL2550 is not set
938# CONFIG_I2C_DEBUG_CORE is not set 965# CONFIG_I2C_DEBUG_CORE is not set
@@ -951,7 +978,6 @@ CONFIG_SPI_MPC83xx=y
951# 978#
952# SPI Protocol Masters 979# SPI Protocol Masters
953# 980#
954# CONFIG_EEPROM_AT25 is not set
955# CONFIG_SPI_SPIDEV is not set 981# CONFIG_SPI_SPIDEV is not set
956# CONFIG_SPI_TLE62X0 is not set 982# CONFIG_SPI_TLE62X0 is not set
957CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 983CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
@@ -1083,11 +1109,11 @@ CONFIG_USB_UHCI_HCD=y
1083# CONFIG_USB_TMC is not set 1109# CONFIG_USB_TMC is not set
1084 1110
1085# 1111#
1086# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1112# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1087# 1113#
1088 1114
1089# 1115#
1090# see USB_STORAGE Help for more information 1116# also be needed; see USB_STORAGE Help for more info
1091# 1117#
1092CONFIG_USB_STORAGE=y 1118CONFIG_USB_STORAGE=y
1093# CONFIG_USB_STORAGE_DEBUG is not set 1119# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1128,7 +1154,6 @@ CONFIG_USB_STORAGE=y
1128# CONFIG_USB_LED is not set 1154# CONFIG_USB_LED is not set
1129# CONFIG_USB_CYPRESS_CY7C63 is not set 1155# CONFIG_USB_CYPRESS_CY7C63 is not set
1130# CONFIG_USB_CYTHERM is not set 1156# CONFIG_USB_CYTHERM is not set
1131# CONFIG_USB_PHIDGET is not set
1132# CONFIG_USB_IDMOUSE is not set 1157# CONFIG_USB_IDMOUSE is not set
1133# CONFIG_USB_FTDI_ELAN is not set 1158# CONFIG_USB_FTDI_ELAN is not set
1134# CONFIG_USB_APPLEDISPLAY is not set 1159# CONFIG_USB_APPLEDISPLAY is not set
@@ -1144,6 +1169,7 @@ CONFIG_USB_STORAGE=y
1144# 1169#
1145# OTG and related infrastructure 1170# OTG and related infrastructure
1146# 1171#
1172# CONFIG_NOP_USB_XCEIV is not set
1147# CONFIG_UWB is not set 1173# CONFIG_UWB is not set
1148# CONFIG_MMC is not set 1174# CONFIG_MMC is not set
1149# CONFIG_MEMSTICK is not set 1175# CONFIG_MEMSTICK is not set
@@ -1212,8 +1238,9 @@ CONFIG_RTC_DRV_DS1307=y
1212# 1238#
1213# on-CPU RTC drivers 1239# on-CPU RTC drivers
1214# 1240#
1215# CONFIG_RTC_DRV_PPC is not set 1241# CONFIG_RTC_DRV_GENERIC is not set
1216# CONFIG_DMADEVICES is not set 1242# CONFIG_DMADEVICES is not set
1243# CONFIG_AUXDISPLAY is not set
1217# CONFIG_UIO is not set 1244# CONFIG_UIO is not set
1218# CONFIG_STAGING is not set 1245# CONFIG_STAGING is not set
1219 1246
@@ -1224,6 +1251,7 @@ CONFIG_EXT2_FS=y
1224# CONFIG_EXT2_FS_XATTR is not set 1251# CONFIG_EXT2_FS_XATTR is not set
1225# CONFIG_EXT2_FS_XIP is not set 1252# CONFIG_EXT2_FS_XIP is not set
1226CONFIG_EXT3_FS=y 1253CONFIG_EXT3_FS=y
1254# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1227CONFIG_EXT3_FS_XATTR=y 1255CONFIG_EXT3_FS_XATTR=y
1228# CONFIG_EXT3_FS_POSIX_ACL is not set 1256# CONFIG_EXT3_FS_POSIX_ACL is not set
1229# CONFIG_EXT3_FS_SECURITY is not set 1257# CONFIG_EXT3_FS_SECURITY is not set
@@ -1246,6 +1274,11 @@ CONFIG_INOTIFY_USER=y
1246# CONFIG_FUSE_FS is not set 1274# CONFIG_FUSE_FS is not set
1247 1275
1248# 1276#
1277# Caches
1278#
1279# CONFIG_FSCACHE is not set
1280
1281#
1249# CD-ROM/DVD Filesystems 1282# CD-ROM/DVD Filesystems
1250# 1283#
1251# CONFIG_ISO9660_FS is not set 1284# CONFIG_ISO9660_FS is not set
@@ -1292,6 +1325,7 @@ CONFIG_MISC_FILESYSTEMS=y
1292# CONFIG_ROMFS_FS is not set 1325# CONFIG_ROMFS_FS is not set
1293# CONFIG_SYSV_FS is not set 1326# CONFIG_SYSV_FS is not set
1294# CONFIG_UFS_FS is not set 1327# CONFIG_UFS_FS is not set
1328# CONFIG_NILFS2_FS is not set
1295CONFIG_NETWORK_FILESYSTEMS=y 1329CONFIG_NETWORK_FILESYSTEMS=y
1296CONFIG_NFS_FS=y 1330CONFIG_NFS_FS=y
1297CONFIG_NFS_V3=y 1331CONFIG_NFS_V3=y
@@ -1304,7 +1338,6 @@ CONFIG_LOCKD_V4=y
1304CONFIG_NFS_COMMON=y 1338CONFIG_NFS_COMMON=y
1305CONFIG_SUNRPC=y 1339CONFIG_SUNRPC=y
1306CONFIG_SUNRPC_GSS=y 1340CONFIG_SUNRPC_GSS=y
1307# CONFIG_SUNRPC_REGISTER_V4 is not set
1308CONFIG_RPCSEC_GSS_KRB5=y 1341CONFIG_RPCSEC_GSS_KRB5=y
1309# CONFIG_RPCSEC_GSS_SPKM3 is not set 1342# CONFIG_RPCSEC_GSS_SPKM3 is not set
1310# CONFIG_SMB_FS is not set 1343# CONFIG_SMB_FS is not set
@@ -1375,6 +1408,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1375# CONFIG_NLS_KOI8_U is not set 1408# CONFIG_NLS_KOI8_U is not set
1376# CONFIG_NLS_UTF8 is not set 1409# CONFIG_NLS_UTF8 is not set
1377# CONFIG_DLM is not set 1410# CONFIG_DLM is not set
1411# CONFIG_BINARY_PRINTF is not set
1378 1412
1379# 1413#
1380# Library routines 1414# Library routines
@@ -1388,11 +1422,13 @@ CONFIG_CRC_T10DIF=y
1388CONFIG_CRC32=y 1422CONFIG_CRC32=y
1389# CONFIG_CRC7 is not set 1423# CONFIG_CRC7 is not set
1390# CONFIG_LIBCRC32C is not set 1424# CONFIG_LIBCRC32C is not set
1391CONFIG_PLIST=y 1425CONFIG_ZLIB_INFLATE=y
1426CONFIG_DECOMPRESS_GZIP=y
1392CONFIG_HAS_IOMEM=y 1427CONFIG_HAS_IOMEM=y
1393CONFIG_HAS_IOPORT=y 1428CONFIG_HAS_IOPORT=y
1394CONFIG_HAS_DMA=y 1429CONFIG_HAS_DMA=y
1395CONFIG_HAVE_LMB=y 1430CONFIG_HAVE_LMB=y
1431CONFIG_NLATTR=y
1396 1432
1397# 1433#
1398# Kernel hacking 1434# Kernel hacking
@@ -1414,13 +1450,24 @@ CONFIG_FRAME_WARN=1024
1414# CONFIG_LATENCYTOP is not set 1450# CONFIG_LATENCYTOP is not set
1415CONFIG_SYSCTL_SYSCALL_CHECK=y 1451CONFIG_SYSCTL_SYSCALL_CHECK=y
1416CONFIG_HAVE_FUNCTION_TRACER=y 1452CONFIG_HAVE_FUNCTION_TRACER=y
1453CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1417CONFIG_HAVE_DYNAMIC_FTRACE=y 1454CONFIG_HAVE_DYNAMIC_FTRACE=y
1418CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1455CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1456CONFIG_TRACING_SUPPORT=y
1419 1457
1420# 1458#
1421# Tracers 1459# Tracers
1422# 1460#
1423# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1461# CONFIG_FUNCTION_TRACER is not set
1462# CONFIG_SCHED_TRACER is not set
1463# CONFIG_CONTEXT_SWITCH_TRACER is not set
1464# CONFIG_EVENT_TRACER is not set
1465# CONFIG_BOOT_TRACER is not set
1466# CONFIG_TRACE_BRANCH_PROFILING is not set
1467# CONFIG_STACK_TRACER is not set
1468# CONFIG_KMEMTRACE is not set
1469# CONFIG_WORKQUEUE_TRACER is not set
1470# CONFIG_BLK_DEV_IO_TRACE is not set
1424# CONFIG_SAMPLES is not set 1471# CONFIG_SAMPLES is not set
1425CONFIG_HAVE_ARCH_KGDB=y 1472CONFIG_HAVE_ARCH_KGDB=y
1426CONFIG_PRINT_STACK_DEPTH=64 1473CONFIG_PRINT_STACK_DEPTH=64
@@ -1449,10 +1496,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1449CONFIG_CRYPTO_HASH=y 1496CONFIG_CRYPTO_HASH=y
1450CONFIG_CRYPTO_HASH2=y 1497CONFIG_CRYPTO_HASH2=y
1451CONFIG_CRYPTO_RNG2=y 1498CONFIG_CRYPTO_RNG2=y
1499CONFIG_CRYPTO_PCOMP=y
1452CONFIG_CRYPTO_MANAGER=y 1500CONFIG_CRYPTO_MANAGER=y
1453CONFIG_CRYPTO_MANAGER2=y 1501CONFIG_CRYPTO_MANAGER2=y
1454# CONFIG_CRYPTO_GF128MUL is not set 1502# CONFIG_CRYPTO_GF128MUL is not set
1455# CONFIG_CRYPTO_NULL is not set 1503# CONFIG_CRYPTO_NULL is not set
1504CONFIG_CRYPTO_WORKQUEUE=y
1456# CONFIG_CRYPTO_CRYPTD is not set 1505# CONFIG_CRYPTO_CRYPTD is not set
1457# CONFIG_CRYPTO_AUTHENC is not set 1506# CONFIG_CRYPTO_AUTHENC is not set
1458# CONFIG_CRYPTO_TEST is not set 1507# CONFIG_CRYPTO_TEST is not set
@@ -1521,6 +1570,7 @@ CONFIG_CRYPTO_DES=y
1521# Compression 1570# Compression
1522# 1571#
1523# CONFIG_CRYPTO_DEFLATE is not set 1572# CONFIG_CRYPTO_DEFLATE is not set
1573# CONFIG_CRYPTO_ZLIB is not set
1524# CONFIG_CRYPTO_LZO is not set 1574# CONFIG_CRYPTO_LZO is not set
1525 1575
1526# 1576#
diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
index 9ba5518ce8df..7f39543205a9 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:55 2009 4# Wed May 13 17:22:10 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -109,16 +123,19 @@ CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 135CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
138# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 139# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 140CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 141CONFIG_RT_MUTEXES=y
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_SRCVERSION_ALL is not set 148# CONFIG_MODULE_SRCVERSION_ALL is not set
132CONFIG_BLOCK=y 149CONFIG_BLOCK=y
133# CONFIG_LBD is not set 150# CONFIG_LBD is not set
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 151# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 152# CONFIG_BLK_DEV_INTEGRITY is not set
137 153
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 163# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 165CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 166# CONFIG_FREEZER is not set
156 167
157# 168#
158# Platform support 169# Platform support
159# 170#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 171# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 172# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 173# CONFIG_MPC5121_GENERIC is not set
@@ -183,6 +192,8 @@ CONFIG_MPC834x_ITX=y
183CONFIG_PPC_MPC834x=y 192CONFIG_PPC_MPC834x=y
184# CONFIG_PPC_86xx is not set 193# CONFIG_PPC_86xx is not set
185# CONFIG_EMBEDDED6xx is not set 194# CONFIG_EMBEDDED6xx is not set
195# CONFIG_AMIGAONE is not set
196CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186CONFIG_IPIC=y 197CONFIG_IPIC=y
187# CONFIG_MPIC is not set 198# CONFIG_MPIC is not set
188# CONFIG_MPIC_WEIRD is not set 199# CONFIG_MPIC_WEIRD is not set
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 255CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 256CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y 257CONFIG_UNEVICTABLE_LRU=y
258CONFIG_HAVE_MLOCK=y
259CONFIG_HAVE_MLOCKED_PAGE_BIT=y
247CONFIG_PPC_4K_PAGES=y 260CONFIG_PPC_4K_PAGES=y
248# CONFIG_PPC_16K_PAGES is not set 261# CONFIG_PPC_16K_PAGES is not set
249# CONFIG_PPC_64K_PAGES is not set 262# CONFIG_PPC_64K_PAGES is not set
263# CONFIG_PPC_256K_PAGES is not set
250CONFIG_FORCE_MAX_ZONEORDER=11 264CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 265CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 266# CONFIG_CMDLINE_BOOL is not set
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
272# CONFIG_PCI_MSI is not set 286# CONFIG_PCI_MSI is not set
273# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCI_STUB is not set 288# CONFIG_PCI_STUB is not set
289# CONFIG_PCI_IOV is not set
275# CONFIG_PCCARD is not set 290# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 291# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 292# CONFIG_HAS_RAPIDIO is not set
@@ -294,7 +309,6 @@ CONFIG_NET=y
294# 309#
295# Networking options 310# Networking options
296# 311#
297CONFIG_COMPAT_NET_DEV_OPS=y
298CONFIG_PACKET=y 312CONFIG_PACKET=y
299# CONFIG_PACKET_MMAP is not set 313# CONFIG_PACKET_MMAP is not set
300CONFIG_UNIX=y 314CONFIG_UNIX=y
@@ -350,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_LAPB is not set 364# CONFIG_LAPB is not set
351# CONFIG_ECONET is not set 365# CONFIG_ECONET is not set
352# CONFIG_WAN_ROUTER is not set 366# CONFIG_WAN_ROUTER is not set
367# CONFIG_PHONET is not set
353# CONFIG_NET_SCHED is not set 368# CONFIG_NET_SCHED is not set
354# CONFIG_DCB is not set 369# CONFIG_DCB is not set
355 370
@@ -362,7 +377,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
362# CONFIG_IRDA is not set 377# CONFIG_IRDA is not set
363# CONFIG_BT is not set 378# CONFIG_BT is not set
364# CONFIG_AF_RXRPC is not set 379# CONFIG_AF_RXRPC is not set
365# CONFIG_PHONET is not set
366CONFIG_WIRELESS=y 380CONFIG_WIRELESS=y
367# CONFIG_CFG80211 is not set 381# CONFIG_CFG80211 is not set
368CONFIG_WIRELESS_OLD_REGULATORY=y 382CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -465,7 +479,6 @@ CONFIG_MTD_PHYSMAP=y
465# LPDDR flash memory drivers 479# LPDDR flash memory drivers
466# 480#
467# CONFIG_MTD_LPDDR is not set 481# CONFIG_MTD_LPDDR is not set
468# CONFIG_MTD_QINFO_PROBE is not set
469 482
470# 483#
471# UBI - Unsorted block images 484# UBI - Unsorted block images
@@ -496,13 +509,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
496# CONFIG_BLK_DEV_HD is not set 509# CONFIG_BLK_DEV_HD is not set
497CONFIG_MISC_DEVICES=y 510CONFIG_MISC_DEVICES=y
498# CONFIG_PHANTOM is not set 511# CONFIG_PHANTOM is not set
499# CONFIG_EEPROM_93CX6 is not set
500# CONFIG_SGI_IOC4 is not set 512# CONFIG_SGI_IOC4 is not set
501# CONFIG_TIFM_CORE is not set 513# CONFIG_TIFM_CORE is not set
502# CONFIG_ICS932S401 is not set 514# CONFIG_ICS932S401 is not set
503# CONFIG_ENCLOSURE_SERVICES is not set 515# CONFIG_ENCLOSURE_SERVICES is not set
504# CONFIG_HP_ILO is not set 516# CONFIG_HP_ILO is not set
517# CONFIG_ISL29003 is not set
505# CONFIG_C2PORT is not set 518# CONFIG_C2PORT is not set
519
520#
521# EEPROM support
522#
523# CONFIG_EEPROM_AT24 is not set
524# CONFIG_EEPROM_AT25 is not set
525# CONFIG_EEPROM_LEGACY is not set
526# CONFIG_EEPROM_93CX6 is not set
506CONFIG_HAVE_IDE=y 527CONFIG_HAVE_IDE=y
507# CONFIG_IDE is not set 528# CONFIG_IDE is not set
508 529
@@ -560,9 +581,11 @@ CONFIG_SCSI_LOWLEVEL=y
560# CONFIG_MEGARAID_NEWGEN is not set 581# CONFIG_MEGARAID_NEWGEN is not set
561# CONFIG_MEGARAID_LEGACY is not set 582# CONFIG_MEGARAID_LEGACY is not set
562# CONFIG_MEGARAID_SAS is not set 583# CONFIG_MEGARAID_SAS is not set
584# CONFIG_SCSI_MPT2SAS is not set
563# CONFIG_SCSI_HPTIOP is not set 585# CONFIG_SCSI_HPTIOP is not set
564# CONFIG_SCSI_BUSLOGIC is not set 586# CONFIG_SCSI_BUSLOGIC is not set
565# CONFIG_LIBFC is not set 587# CONFIG_LIBFC is not set
588# CONFIG_LIBFCOE is not set
566# CONFIG_FCOE is not set 589# CONFIG_FCOE is not set
567# CONFIG_SCSI_DMX3191D is not set 590# CONFIG_SCSI_DMX3191D is not set
568# CONFIG_SCSI_EATA is not set 591# CONFIG_SCSI_EATA is not set
@@ -584,6 +607,7 @@ CONFIG_SCSI_LOWLEVEL=y
584# CONFIG_SCSI_DEBUG is not set 607# CONFIG_SCSI_DEBUG is not set
585# CONFIG_SCSI_SRP is not set 608# CONFIG_SCSI_SRP is not set
586# CONFIG_SCSI_DH is not set 609# CONFIG_SCSI_DH is not set
610# CONFIG_SCSI_OSD_INITIATOR is not set
587# CONFIG_ATA is not set 611# CONFIG_ATA is not set
588# CONFIG_MD is not set 612# CONFIG_MD is not set
589# CONFIG_FUSION is not set 613# CONFIG_FUSION is not set
@@ -600,6 +624,7 @@ CONFIG_SCSI_LOWLEVEL=y
600# CONFIG_I2O is not set 624# CONFIG_I2O is not set
601# CONFIG_MACINTOSH_DRIVERS is not set 625# CONFIG_MACINTOSH_DRIVERS is not set
602CONFIG_NETDEVICES=y 626CONFIG_NETDEVICES=y
627CONFIG_COMPAT_NET_DEV_OPS=y
603# CONFIG_DUMMY is not set 628# CONFIG_DUMMY is not set
604# CONFIG_BONDING is not set 629# CONFIG_BONDING is not set
605# CONFIG_MACVLAN is not set 630# CONFIG_MACVLAN is not set
@@ -635,6 +660,7 @@ CONFIG_NETDEV_1000=y
635# CONFIG_E1000E is not set 660# CONFIG_E1000E is not set
636# CONFIG_IP1000 is not set 661# CONFIG_IP1000 is not set
637# CONFIG_IGB is not set 662# CONFIG_IGB is not set
663# CONFIG_IGBVF is not set
638# CONFIG_NS83820 is not set 664# CONFIG_NS83820 is not set
639# CONFIG_HAMACHI is not set 665# CONFIG_HAMACHI is not set
640# CONFIG_YELLOWFIN is not set 666# CONFIG_YELLOWFIN is not set
@@ -645,11 +671,12 @@ CONFIG_NETDEV_1000=y
645# CONFIG_VIA_VELOCITY is not set 671# CONFIG_VIA_VELOCITY is not set
646# CONFIG_TIGON3 is not set 672# CONFIG_TIGON3 is not set
647# CONFIG_BNX2 is not set 673# CONFIG_BNX2 is not set
674CONFIG_FSL_PQ_MDIO=y
648CONFIG_GIANFAR=y 675CONFIG_GIANFAR=y
649# CONFIG_MV643XX_ETH is not set
650# CONFIG_QLA3XXX is not set 676# CONFIG_QLA3XXX is not set
651# CONFIG_ATL1 is not set 677# CONFIG_ATL1 is not set
652# CONFIG_ATL1E is not set 678# CONFIG_ATL1E is not set
679# CONFIG_ATL1C is not set
653# CONFIG_JME is not set 680# CONFIG_JME is not set
654CONFIG_NETDEV_10000=y 681CONFIG_NETDEV_10000=y
655# CONFIG_CHELSIO_T1 is not set 682# CONFIG_CHELSIO_T1 is not set
@@ -659,6 +686,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
659# CONFIG_IXGBE is not set 686# CONFIG_IXGBE is not set
660# CONFIG_IXGB is not set 687# CONFIG_IXGB is not set
661# CONFIG_S2IO is not set 688# CONFIG_S2IO is not set
689# CONFIG_VXGE is not set
662# CONFIG_MYRI10GE is not set 690# CONFIG_MYRI10GE is not set
663# CONFIG_NETXEN_NIC is not set 691# CONFIG_NETXEN_NIC is not set
664# CONFIG_NIU is not set 692# CONFIG_NIU is not set
@@ -668,6 +696,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
668# CONFIG_BNX2X is not set 696# CONFIG_BNX2X is not set
669# CONFIG_QLGE is not set 697# CONFIG_QLGE is not set
670# CONFIG_SFC is not set 698# CONFIG_SFC is not set
699# CONFIG_BE2NET is not set
671# CONFIG_TR is not set 700# CONFIG_TR is not set
672 701
673# 702#
@@ -675,7 +704,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
675# 704#
676# CONFIG_WLAN_PRE80211 is not set 705# CONFIG_WLAN_PRE80211 is not set
677# CONFIG_WLAN_80211 is not set 706# CONFIG_WLAN_80211 is not set
678# CONFIG_IWLWIFI_LEDS is not set
679 707
680# 708#
681# Enable WiMAX (Networking options) to see the WiMAX drivers 709# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -733,6 +761,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
733# 761#
734# Non-8250 serial port support 762# Non-8250 serial port support
735# 763#
764# CONFIG_SERIAL_MAX3100 is not set
736# CONFIG_SERIAL_UARTLITE is not set 765# CONFIG_SERIAL_UARTLITE is not set
737CONFIG_SERIAL_CORE=y 766CONFIG_SERIAL_CORE=y
738CONFIG_SERIAL_CORE_CONSOLE=y 767CONFIG_SERIAL_CORE_CONSOLE=y
@@ -745,6 +774,7 @@ CONFIG_LEGACY_PTY_COUNT=256
745# CONFIG_HVC_UDBG is not set 774# CONFIG_HVC_UDBG is not set
746# CONFIG_IPMI_HANDLER is not set 775# CONFIG_IPMI_HANDLER is not set
747CONFIG_HW_RANDOM=y 776CONFIG_HW_RANDOM=y
777# CONFIG_HW_RANDOM_TIMERIOMEM is not set
748# CONFIG_NVRAM is not set 778# CONFIG_NVRAM is not set
749# CONFIG_R3964 is not set 779# CONFIG_R3964 is not set
750# CONFIG_APPLICOM is not set 780# CONFIG_APPLICOM is not set
@@ -807,12 +837,9 @@ CONFIG_I2C_MPC=y
807# Miscellaneous I2C Chip support 837# Miscellaneous I2C Chip support
808# 838#
809# CONFIG_DS1682 is not set 839# CONFIG_DS1682 is not set
810# CONFIG_EEPROM_AT24 is not set
811# CONFIG_EEPROM_LEGACY is not set
812CONFIG_SENSORS_PCF8574=y 840CONFIG_SENSORS_PCF8574=y
813# CONFIG_PCF8575 is not set 841# CONFIG_PCF8575 is not set
814# CONFIG_SENSORS_PCA9539 is not set 842# CONFIG_SENSORS_PCA9539 is not set
815# CONFIG_SENSORS_PCF8591 is not set
816# CONFIG_SENSORS_MAX6875 is not set 843# CONFIG_SENSORS_MAX6875 is not set
817# CONFIG_SENSORS_TSL2550 is not set 844# CONFIG_SENSORS_TSL2550 is not set
818# CONFIG_I2C_DEBUG_CORE is not set 845# CONFIG_I2C_DEBUG_CORE is not set
@@ -831,7 +858,6 @@ CONFIG_SPI_MPC83xx=y
831# 858#
832# SPI Protocol Masters 859# SPI Protocol Masters
833# 860#
834# CONFIG_EEPROM_AT25 is not set
835# CONFIG_SPI_SPIDEV is not set 861# CONFIG_SPI_SPIDEV is not set
836# CONFIG_SPI_TLE62X0 is not set 862# CONFIG_SPI_TLE62X0 is not set
837CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 863CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
@@ -963,11 +989,11 @@ CONFIG_USB_UHCI_HCD=y
963# CONFIG_USB_TMC is not set 989# CONFIG_USB_TMC is not set
964 990
965# 991#
966# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 992# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
967# 993#
968 994
969# 995#
970# see USB_STORAGE Help for more information 996# also be needed; see USB_STORAGE Help for more info
971# 997#
972CONFIG_USB_STORAGE=y 998CONFIG_USB_STORAGE=y
973# CONFIG_USB_STORAGE_DEBUG is not set 999# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1008,7 +1034,6 @@ CONFIG_USB_STORAGE=y
1008# CONFIG_USB_LED is not set 1034# CONFIG_USB_LED is not set
1009# CONFIG_USB_CYPRESS_CY7C63 is not set 1035# CONFIG_USB_CYPRESS_CY7C63 is not set
1010# CONFIG_USB_CYTHERM is not set 1036# CONFIG_USB_CYTHERM is not set
1011# CONFIG_USB_PHIDGET is not set
1012# CONFIG_USB_IDMOUSE is not set 1037# CONFIG_USB_IDMOUSE is not set
1013# CONFIG_USB_FTDI_ELAN is not set 1038# CONFIG_USB_FTDI_ELAN is not set
1014# CONFIG_USB_APPLEDISPLAY is not set 1039# CONFIG_USB_APPLEDISPLAY is not set
@@ -1023,6 +1048,7 @@ CONFIG_USB_STORAGE=y
1023# 1048#
1024# OTG and related infrastructure 1049# OTG and related infrastructure
1025# 1050#
1051# CONFIG_NOP_USB_XCEIV is not set
1026# CONFIG_UWB is not set 1052# CONFIG_UWB is not set
1027# CONFIG_MMC is not set 1053# CONFIG_MMC is not set
1028# CONFIG_MEMSTICK is not set 1054# CONFIG_MEMSTICK is not set
@@ -1091,8 +1117,9 @@ CONFIG_RTC_DRV_DS1307=y
1091# 1117#
1092# on-CPU RTC drivers 1118# on-CPU RTC drivers
1093# 1119#
1094# CONFIG_RTC_DRV_PPC is not set 1120# CONFIG_RTC_DRV_GENERIC is not set
1095# CONFIG_DMADEVICES is not set 1121# CONFIG_DMADEVICES is not set
1122# CONFIG_AUXDISPLAY is not set
1096# CONFIG_UIO is not set 1123# CONFIG_UIO is not set
1097# CONFIG_STAGING is not set 1124# CONFIG_STAGING is not set
1098 1125
@@ -1103,6 +1130,7 @@ CONFIG_EXT2_FS=y
1103# CONFIG_EXT2_FS_XATTR is not set 1130# CONFIG_EXT2_FS_XATTR is not set
1104# CONFIG_EXT2_FS_XIP is not set 1131# CONFIG_EXT2_FS_XIP is not set
1105CONFIG_EXT3_FS=y 1132CONFIG_EXT3_FS=y
1133# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1106CONFIG_EXT3_FS_XATTR=y 1134CONFIG_EXT3_FS_XATTR=y
1107# CONFIG_EXT3_FS_POSIX_ACL is not set 1135# CONFIG_EXT3_FS_POSIX_ACL is not set
1108# CONFIG_EXT3_FS_SECURITY is not set 1136# CONFIG_EXT3_FS_SECURITY is not set
@@ -1125,6 +1153,11 @@ CONFIG_INOTIFY_USER=y
1125# CONFIG_FUSE_FS is not set 1153# CONFIG_FUSE_FS is not set
1126 1154
1127# 1155#
1156# Caches
1157#
1158# CONFIG_FSCACHE is not set
1159
1160#
1128# CD-ROM/DVD Filesystems 1161# CD-ROM/DVD Filesystems
1129# 1162#
1130# CONFIG_ISO9660_FS is not set 1163# CONFIG_ISO9660_FS is not set
@@ -1171,6 +1204,7 @@ CONFIG_MISC_FILESYSTEMS=y
1171# CONFIG_ROMFS_FS is not set 1204# CONFIG_ROMFS_FS is not set
1172# CONFIG_SYSV_FS is not set 1205# CONFIG_SYSV_FS is not set
1173# CONFIG_UFS_FS is not set 1206# CONFIG_UFS_FS is not set
1207# CONFIG_NILFS2_FS is not set
1174CONFIG_NETWORK_FILESYSTEMS=y 1208CONFIG_NETWORK_FILESYSTEMS=y
1175CONFIG_NFS_FS=y 1209CONFIG_NFS_FS=y
1176CONFIG_NFS_V3=y 1210CONFIG_NFS_V3=y
@@ -1183,7 +1217,6 @@ CONFIG_LOCKD_V4=y
1183CONFIG_NFS_COMMON=y 1217CONFIG_NFS_COMMON=y
1184CONFIG_SUNRPC=y 1218CONFIG_SUNRPC=y
1185CONFIG_SUNRPC_GSS=y 1219CONFIG_SUNRPC_GSS=y
1186# CONFIG_SUNRPC_REGISTER_V4 is not set
1187CONFIG_RPCSEC_GSS_KRB5=y 1220CONFIG_RPCSEC_GSS_KRB5=y
1188# CONFIG_RPCSEC_GSS_SPKM3 is not set 1221# CONFIG_RPCSEC_GSS_SPKM3 is not set
1189# CONFIG_SMB_FS is not set 1222# CONFIG_SMB_FS is not set
@@ -1254,6 +1287,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1254# CONFIG_NLS_KOI8_U is not set 1287# CONFIG_NLS_KOI8_U is not set
1255# CONFIG_NLS_UTF8 is not set 1288# CONFIG_NLS_UTF8 is not set
1256# CONFIG_DLM is not set 1289# CONFIG_DLM is not set
1290# CONFIG_BINARY_PRINTF is not set
1257 1291
1258# 1292#
1259# Library routines 1293# Library routines
@@ -1267,11 +1301,13 @@ CONFIG_CRC_T10DIF=y
1267CONFIG_CRC32=y 1301CONFIG_CRC32=y
1268# CONFIG_CRC7 is not set 1302# CONFIG_CRC7 is not set
1269# CONFIG_LIBCRC32C is not set 1303# CONFIG_LIBCRC32C is not set
1270CONFIG_PLIST=y 1304CONFIG_ZLIB_INFLATE=y
1305CONFIG_DECOMPRESS_GZIP=y
1271CONFIG_HAS_IOMEM=y 1306CONFIG_HAS_IOMEM=y
1272CONFIG_HAS_IOPORT=y 1307CONFIG_HAS_IOPORT=y
1273CONFIG_HAS_DMA=y 1308CONFIG_HAS_DMA=y
1274CONFIG_HAVE_LMB=y 1309CONFIG_HAVE_LMB=y
1310CONFIG_NLATTR=y
1275 1311
1276# 1312#
1277# Kernel hacking 1313# Kernel hacking
@@ -1293,13 +1329,24 @@ CONFIG_FRAME_WARN=1024
1293# CONFIG_LATENCYTOP is not set 1329# CONFIG_LATENCYTOP is not set
1294CONFIG_SYSCTL_SYSCALL_CHECK=y 1330CONFIG_SYSCTL_SYSCALL_CHECK=y
1295CONFIG_HAVE_FUNCTION_TRACER=y 1331CONFIG_HAVE_FUNCTION_TRACER=y
1332CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1296CONFIG_HAVE_DYNAMIC_FTRACE=y 1333CONFIG_HAVE_DYNAMIC_FTRACE=y
1297CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1334CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1335CONFIG_TRACING_SUPPORT=y
1298 1336
1299# 1337#
1300# Tracers 1338# Tracers
1301# 1339#
1302# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1340# CONFIG_FUNCTION_TRACER is not set
1341# CONFIG_SCHED_TRACER is not set
1342# CONFIG_CONTEXT_SWITCH_TRACER is not set
1343# CONFIG_EVENT_TRACER is not set
1344# CONFIG_BOOT_TRACER is not set
1345# CONFIG_TRACE_BRANCH_PROFILING is not set
1346# CONFIG_STACK_TRACER is not set
1347# CONFIG_KMEMTRACE is not set
1348# CONFIG_WORKQUEUE_TRACER is not set
1349# CONFIG_BLK_DEV_IO_TRACE is not set
1303# CONFIG_SAMPLES is not set 1350# CONFIG_SAMPLES is not set
1304CONFIG_HAVE_ARCH_KGDB=y 1351CONFIG_HAVE_ARCH_KGDB=y
1305CONFIG_PRINT_STACK_DEPTH=64 1352CONFIG_PRINT_STACK_DEPTH=64
@@ -1328,10 +1375,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1328CONFIG_CRYPTO_HASH=y 1375CONFIG_CRYPTO_HASH=y
1329CONFIG_CRYPTO_HASH2=y 1376CONFIG_CRYPTO_HASH2=y
1330CONFIG_CRYPTO_RNG2=y 1377CONFIG_CRYPTO_RNG2=y
1378CONFIG_CRYPTO_PCOMP=y
1331CONFIG_CRYPTO_MANAGER=y 1379CONFIG_CRYPTO_MANAGER=y
1332CONFIG_CRYPTO_MANAGER2=y 1380CONFIG_CRYPTO_MANAGER2=y
1333# CONFIG_CRYPTO_GF128MUL is not set 1381# CONFIG_CRYPTO_GF128MUL is not set
1334# CONFIG_CRYPTO_NULL is not set 1382# CONFIG_CRYPTO_NULL is not set
1383CONFIG_CRYPTO_WORKQUEUE=y
1335# CONFIG_CRYPTO_CRYPTD is not set 1384# CONFIG_CRYPTO_CRYPTD is not set
1336# CONFIG_CRYPTO_AUTHENC is not set 1385# CONFIG_CRYPTO_AUTHENC is not set
1337# CONFIG_CRYPTO_TEST is not set 1386# CONFIG_CRYPTO_TEST is not set
@@ -1400,6 +1449,7 @@ CONFIG_CRYPTO_DES=y
1400# Compression 1449# Compression
1401# 1450#
1402# CONFIG_CRYPTO_DEFLATE is not set 1451# CONFIG_CRYPTO_DEFLATE is not set
1452# CONFIG_CRYPTO_ZLIB is not set
1403# CONFIG_CRYPTO_LZO is not set 1453# CONFIG_CRYPTO_LZO is not set
1404 1454
1405# 1455#
diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
index 18e4bc0b3c11..1cd1fcac22c8 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:56 2009 4# Wed May 13 17:22:11 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -109,16 +123,19 @@ CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 135CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
138# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 139# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 140CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 141CONFIG_RT_MUTEXES=y
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_SRCVERSION_ALL is not set 148# CONFIG_MODULE_SRCVERSION_ALL is not set
132CONFIG_BLOCK=y 149CONFIG_BLOCK=y
133# CONFIG_LBD is not set 150# CONFIG_LBD is not set
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 151# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 152# CONFIG_BLK_DEV_INTEGRITY is not set
137 153
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 163# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 165CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 166# CONFIG_FREEZER is not set
156 167
157# 168#
158# Platform support 169# Platform support
159# 170#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 171# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 172# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 173# CONFIG_MPC5121_GENERIC is not set
@@ -183,6 +192,8 @@ CONFIG_MPC834x_MDS=y
183CONFIG_PPC_MPC834x=y 192CONFIG_PPC_MPC834x=y
184# CONFIG_PPC_86xx is not set 193# CONFIG_PPC_86xx is not set
185# CONFIG_EMBEDDED6xx is not set 194# CONFIG_EMBEDDED6xx is not set
195# CONFIG_AMIGAONE is not set
196CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186CONFIG_IPIC=y 197CONFIG_IPIC=y
187# CONFIG_MPIC is not set 198# CONFIG_MPIC is not set
188# CONFIG_MPIC_WEIRD is not set 199# CONFIG_MPIC_WEIRD is not set
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 255CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 256CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y 257CONFIG_UNEVICTABLE_LRU=y
258CONFIG_HAVE_MLOCK=y
259CONFIG_HAVE_MLOCKED_PAGE_BIT=y
247CONFIG_PPC_4K_PAGES=y 260CONFIG_PPC_4K_PAGES=y
248# CONFIG_PPC_16K_PAGES is not set 261# CONFIG_PPC_16K_PAGES is not set
249# CONFIG_PPC_64K_PAGES is not set 262# CONFIG_PPC_64K_PAGES is not set
263# CONFIG_PPC_256K_PAGES is not set
250CONFIG_FORCE_MAX_ZONEORDER=11 264CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 265CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 266# CONFIG_CMDLINE_BOOL is not set
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
272# CONFIG_PCI_MSI is not set 286# CONFIG_PCI_MSI is not set
273# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCI_STUB is not set 288# CONFIG_PCI_STUB is not set
289# CONFIG_PCI_IOV is not set
275# CONFIG_PCCARD is not set 290# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 291# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 292# CONFIG_HAS_RAPIDIO is not set
@@ -294,7 +309,6 @@ CONFIG_NET=y
294# 309#
295# Networking options 310# Networking options
296# 311#
297CONFIG_COMPAT_NET_DEV_OPS=y
298CONFIG_PACKET=y 312CONFIG_PACKET=y
299# CONFIG_PACKET_MMAP is not set 313# CONFIG_PACKET_MMAP is not set
300CONFIG_UNIX=y 314CONFIG_UNIX=y
@@ -350,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_LAPB is not set 364# CONFIG_LAPB is not set
351# CONFIG_ECONET is not set 365# CONFIG_ECONET is not set
352# CONFIG_WAN_ROUTER is not set 366# CONFIG_WAN_ROUTER is not set
367# CONFIG_PHONET is not set
353# CONFIG_NET_SCHED is not set 368# CONFIG_NET_SCHED is not set
354# CONFIG_DCB is not set 369# CONFIG_DCB is not set
355 370
@@ -362,7 +377,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
362# CONFIG_IRDA is not set 377# CONFIG_IRDA is not set
363# CONFIG_BT is not set 378# CONFIG_BT is not set
364# CONFIG_AF_RXRPC is not set 379# CONFIG_AF_RXRPC is not set
365# CONFIG_PHONET is not set
366CONFIG_WIRELESS=y 380CONFIG_WIRELESS=y
367# CONFIG_CFG80211 is not set 381# CONFIG_CFG80211 is not set
368CONFIG_WIRELESS_OLD_REGULATORY=y 382CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -410,13 +424,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
410# CONFIG_BLK_DEV_HD is not set 424# CONFIG_BLK_DEV_HD is not set
411CONFIG_MISC_DEVICES=y 425CONFIG_MISC_DEVICES=y
412# CONFIG_PHANTOM is not set 426# CONFIG_PHANTOM is not set
413# CONFIG_EEPROM_93CX6 is not set
414# CONFIG_SGI_IOC4 is not set 427# CONFIG_SGI_IOC4 is not set
415# CONFIG_TIFM_CORE is not set 428# CONFIG_TIFM_CORE is not set
416# CONFIG_ICS932S401 is not set 429# CONFIG_ICS932S401 is not set
417# CONFIG_ENCLOSURE_SERVICES is not set 430# CONFIG_ENCLOSURE_SERVICES is not set
418# CONFIG_HP_ILO is not set 431# CONFIG_HP_ILO is not set
432# CONFIG_ISL29003 is not set
419# CONFIG_C2PORT is not set 433# CONFIG_C2PORT is not set
434
435#
436# EEPROM support
437#
438# CONFIG_EEPROM_AT24 is not set
439# CONFIG_EEPROM_LEGACY is not set
440# CONFIG_EEPROM_93CX6 is not set
420CONFIG_HAVE_IDE=y 441CONFIG_HAVE_IDE=y
421# CONFIG_IDE is not set 442# CONFIG_IDE is not set
422 443
@@ -443,6 +464,7 @@ CONFIG_HAVE_IDE=y
443# CONFIG_I2O is not set 464# CONFIG_I2O is not set
444# CONFIG_MACINTOSH_DRIVERS is not set 465# CONFIG_MACINTOSH_DRIVERS is not set
445CONFIG_NETDEVICES=y 466CONFIG_NETDEVICES=y
467CONFIG_COMPAT_NET_DEV_OPS=y
446# CONFIG_DUMMY is not set 468# CONFIG_DUMMY is not set
447# CONFIG_BONDING is not set 469# CONFIG_BONDING is not set
448# CONFIG_MACVLAN is not set 470# CONFIG_MACVLAN is not set
@@ -476,6 +498,8 @@ CONFIG_MII=y
476# CONFIG_SUNGEM is not set 498# CONFIG_SUNGEM is not set
477# CONFIG_CASSINI is not set 499# CONFIG_CASSINI is not set
478# CONFIG_NET_VENDOR_3COM is not set 500# CONFIG_NET_VENDOR_3COM is not set
501# CONFIG_ETHOC is not set
502# CONFIG_DNET is not set
479# CONFIG_NET_TULIP is not set 503# CONFIG_NET_TULIP is not set
480# CONFIG_HP100 is not set 504# CONFIG_HP100 is not set
481# CONFIG_IBM_NEW_EMAC_ZMII is not set 505# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -513,6 +537,7 @@ CONFIG_NETDEV_1000=y
513# CONFIG_E1000E is not set 537# CONFIG_E1000E is not set
514# CONFIG_IP1000 is not set 538# CONFIG_IP1000 is not set
515# CONFIG_IGB is not set 539# CONFIG_IGB is not set
540# CONFIG_IGBVF is not set
516# CONFIG_NS83820 is not set 541# CONFIG_NS83820 is not set
517# CONFIG_HAMACHI is not set 542# CONFIG_HAMACHI is not set
518# CONFIG_YELLOWFIN is not set 543# CONFIG_YELLOWFIN is not set
@@ -523,11 +548,12 @@ CONFIG_NETDEV_1000=y
523# CONFIG_VIA_VELOCITY is not set 548# CONFIG_VIA_VELOCITY is not set
524# CONFIG_TIGON3 is not set 549# CONFIG_TIGON3 is not set
525# CONFIG_BNX2 is not set 550# CONFIG_BNX2 is not set
551CONFIG_FSL_PQ_MDIO=y
526CONFIG_GIANFAR=y 552CONFIG_GIANFAR=y
527# CONFIG_MV643XX_ETH is not set
528# CONFIG_QLA3XXX is not set 553# CONFIG_QLA3XXX is not set
529# CONFIG_ATL1 is not set 554# CONFIG_ATL1 is not set
530# CONFIG_ATL1E is not set 555# CONFIG_ATL1E is not set
556# CONFIG_ATL1C is not set
531# CONFIG_JME is not set 557# CONFIG_JME is not set
532CONFIG_NETDEV_10000=y 558CONFIG_NETDEV_10000=y
533# CONFIG_CHELSIO_T1 is not set 559# CONFIG_CHELSIO_T1 is not set
@@ -537,6 +563,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
537# CONFIG_IXGBE is not set 563# CONFIG_IXGBE is not set
538# CONFIG_IXGB is not set 564# CONFIG_IXGB is not set
539# CONFIG_S2IO is not set 565# CONFIG_S2IO is not set
566# CONFIG_VXGE is not set
540# CONFIG_MYRI10GE is not set 567# CONFIG_MYRI10GE is not set
541# CONFIG_NETXEN_NIC is not set 568# CONFIG_NETXEN_NIC is not set
542# CONFIG_NIU is not set 569# CONFIG_NIU is not set
@@ -546,6 +573,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
546# CONFIG_BNX2X is not set 573# CONFIG_BNX2X is not set
547# CONFIG_QLGE is not set 574# CONFIG_QLGE is not set
548# CONFIG_SFC is not set 575# CONFIG_SFC is not set
576# CONFIG_BE2NET is not set
549# CONFIG_TR is not set 577# CONFIG_TR is not set
550 578
551# 579#
@@ -553,7 +581,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
553# 581#
554# CONFIG_WLAN_PRE80211 is not set 582# CONFIG_WLAN_PRE80211 is not set
555# CONFIG_WLAN_80211 is not set 583# CONFIG_WLAN_80211 is not set
556# CONFIG_IWLWIFI_LEDS is not set
557 584
558# 585#
559# Enable WiMAX (Networking options) to see the WiMAX drivers 586# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -694,12 +721,9 @@ CONFIG_I2C_MPC=y
694# Miscellaneous I2C Chip support 721# Miscellaneous I2C Chip support
695# 722#
696# CONFIG_DS1682 is not set 723# CONFIG_DS1682 is not set
697# CONFIG_EEPROM_AT24 is not set
698# CONFIG_EEPROM_LEGACY is not set
699# CONFIG_SENSORS_PCF8574 is not set 724# CONFIG_SENSORS_PCF8574 is not set
700# CONFIG_PCF8575 is not set 725# CONFIG_PCF8575 is not set
701# CONFIG_SENSORS_PCA9539 is not set 726# CONFIG_SENSORS_PCA9539 is not set
702# CONFIG_SENSORS_PCF8591 is not set
703# CONFIG_SENSORS_MAX6875 is not set 727# CONFIG_SENSORS_MAX6875 is not set
704# CONFIG_SENSORS_TSL2550 is not set 728# CONFIG_SENSORS_TSL2550 is not set
705# CONFIG_I2C_DEBUG_CORE is not set 729# CONFIG_I2C_DEBUG_CORE is not set
@@ -731,6 +755,7 @@ CONFIG_HWMON=y
731# CONFIG_SENSORS_F71805F is not set 755# CONFIG_SENSORS_F71805F is not set
732# CONFIG_SENSORS_F71882FG is not set 756# CONFIG_SENSORS_F71882FG is not set
733# CONFIG_SENSORS_F75375S is not set 757# CONFIG_SENSORS_F75375S is not set
758# CONFIG_SENSORS_G760A is not set
734# CONFIG_SENSORS_GL518SM is not set 759# CONFIG_SENSORS_GL518SM is not set
735# CONFIG_SENSORS_GL520SM is not set 760# CONFIG_SENSORS_GL520SM is not set
736# CONFIG_SENSORS_IT87 is not set 761# CONFIG_SENSORS_IT87 is not set
@@ -745,11 +770,14 @@ CONFIG_HWMON=y
745# CONFIG_SENSORS_LM90 is not set 770# CONFIG_SENSORS_LM90 is not set
746# CONFIG_SENSORS_LM92 is not set 771# CONFIG_SENSORS_LM92 is not set
747# CONFIG_SENSORS_LM93 is not set 772# CONFIG_SENSORS_LM93 is not set
773# CONFIG_SENSORS_LTC4215 is not set
748# CONFIG_SENSORS_LTC4245 is not set 774# CONFIG_SENSORS_LTC4245 is not set
775# CONFIG_SENSORS_LM95241 is not set
749# CONFIG_SENSORS_MAX1619 is not set 776# CONFIG_SENSORS_MAX1619 is not set
750# CONFIG_SENSORS_MAX6650 is not set 777# CONFIG_SENSORS_MAX6650 is not set
751# CONFIG_SENSORS_PC87360 is not set 778# CONFIG_SENSORS_PC87360 is not set
752# CONFIG_SENSORS_PC87427 is not set 779# CONFIG_SENSORS_PC87427 is not set
780# CONFIG_SENSORS_PCF8591 is not set
753# CONFIG_SENSORS_SIS5595 is not set 781# CONFIG_SENSORS_SIS5595 is not set
754# CONFIG_SENSORS_DME1737 is not set 782# CONFIG_SENSORS_DME1737 is not set
755# CONFIG_SENSORS_SMSC47M1 is not set 783# CONFIG_SENSORS_SMSC47M1 is not set
@@ -847,7 +875,6 @@ CONFIG_HID=y
847# 875#
848# Special HID drivers 876# Special HID drivers
849# 877#
850CONFIG_HID_COMPAT=y
851CONFIG_USB_SUPPORT=y 878CONFIG_USB_SUPPORT=y
852CONFIG_USB_ARCH_HAS_HCD=y 879CONFIG_USB_ARCH_HAS_HCD=y
853CONFIG_USB_ARCH_HAS_OHCI=y 880CONFIG_USB_ARCH_HAS_OHCI=y
@@ -861,7 +888,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
861# 888#
862 889
863# 890#
864# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 891# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
865# 892#
866# CONFIG_USB_GADGET is not set 893# CONFIG_USB_GADGET is not set
867 894
@@ -929,8 +956,9 @@ CONFIG_RTC_DRV_DS1374=y
929# 956#
930# on-CPU RTC drivers 957# on-CPU RTC drivers
931# 958#
932# CONFIG_RTC_DRV_PPC is not set 959# CONFIG_RTC_DRV_GENERIC is not set
933# CONFIG_DMADEVICES is not set 960# CONFIG_DMADEVICES is not set
961# CONFIG_AUXDISPLAY is not set
934# CONFIG_UIO is not set 962# CONFIG_UIO is not set
935# CONFIG_STAGING is not set 963# CONFIG_STAGING is not set
936 964
@@ -941,6 +969,7 @@ CONFIG_EXT2_FS=y
941# CONFIG_EXT2_FS_XATTR is not set 969# CONFIG_EXT2_FS_XATTR is not set
942# CONFIG_EXT2_FS_XIP is not set 970# CONFIG_EXT2_FS_XIP is not set
943CONFIG_EXT3_FS=y 971CONFIG_EXT3_FS=y
972# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
944CONFIG_EXT3_FS_XATTR=y 973CONFIG_EXT3_FS_XATTR=y
945# CONFIG_EXT3_FS_POSIX_ACL is not set 974# CONFIG_EXT3_FS_POSIX_ACL is not set
946# CONFIG_EXT3_FS_SECURITY is not set 975# CONFIG_EXT3_FS_SECURITY is not set
@@ -963,6 +992,11 @@ CONFIG_INOTIFY_USER=y
963# CONFIG_FUSE_FS is not set 992# CONFIG_FUSE_FS is not set
964 993
965# 994#
995# Caches
996#
997# CONFIG_FSCACHE is not set
998
999#
966# CD-ROM/DVD Filesystems 1000# CD-ROM/DVD Filesystems
967# 1001#
968# CONFIG_ISO9660_FS is not set 1002# CONFIG_ISO9660_FS is not set
@@ -1005,6 +1039,7 @@ CONFIG_MISC_FILESYSTEMS=y
1005# CONFIG_ROMFS_FS is not set 1039# CONFIG_ROMFS_FS is not set
1006# CONFIG_SYSV_FS is not set 1040# CONFIG_SYSV_FS is not set
1007# CONFIG_UFS_FS is not set 1041# CONFIG_UFS_FS is not set
1042# CONFIG_NILFS2_FS is not set
1008CONFIG_NETWORK_FILESYSTEMS=y 1043CONFIG_NETWORK_FILESYSTEMS=y
1009CONFIG_NFS_FS=y 1044CONFIG_NFS_FS=y
1010CONFIG_NFS_V3=y 1045CONFIG_NFS_V3=y
@@ -1017,7 +1052,6 @@ CONFIG_LOCKD_V4=y
1017CONFIG_NFS_COMMON=y 1052CONFIG_NFS_COMMON=y
1018CONFIG_SUNRPC=y 1053CONFIG_SUNRPC=y
1019CONFIG_SUNRPC_GSS=y 1054CONFIG_SUNRPC_GSS=y
1020# CONFIG_SUNRPC_REGISTER_V4 is not set
1021CONFIG_RPCSEC_GSS_KRB5=y 1055CONFIG_RPCSEC_GSS_KRB5=y
1022# CONFIG_RPCSEC_GSS_SPKM3 is not set 1056# CONFIG_RPCSEC_GSS_SPKM3 is not set
1023# CONFIG_SMB_FS is not set 1057# CONFIG_SMB_FS is not set
@@ -1045,6 +1079,7 @@ CONFIG_PARTITION_ADVANCED=y
1045# CONFIG_SYSV68_PARTITION is not set 1079# CONFIG_SYSV68_PARTITION is not set
1046# CONFIG_NLS is not set 1080# CONFIG_NLS is not set
1047# CONFIG_DLM is not set 1081# CONFIG_DLM is not set
1082# CONFIG_BINARY_PRINTF is not set
1048 1083
1049# 1084#
1050# Library routines 1085# Library routines
@@ -1058,11 +1093,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
1058CONFIG_CRC32=y 1093CONFIG_CRC32=y
1059# CONFIG_CRC7 is not set 1094# CONFIG_CRC7 is not set
1060# CONFIG_LIBCRC32C is not set 1095# CONFIG_LIBCRC32C is not set
1061CONFIG_PLIST=y 1096CONFIG_ZLIB_INFLATE=y
1097CONFIG_DECOMPRESS_GZIP=y
1062CONFIG_HAS_IOMEM=y 1098CONFIG_HAS_IOMEM=y
1063CONFIG_HAS_IOPORT=y 1099CONFIG_HAS_IOPORT=y
1064CONFIG_HAS_DMA=y 1100CONFIG_HAS_DMA=y
1065CONFIG_HAVE_LMB=y 1101CONFIG_HAVE_LMB=y
1102CONFIG_NLATTR=y
1066 1103
1067# 1104#
1068# Kernel hacking 1105# Kernel hacking
@@ -1084,13 +1121,24 @@ CONFIG_FRAME_WARN=1024
1084# CONFIG_LATENCYTOP is not set 1121# CONFIG_LATENCYTOP is not set
1085CONFIG_SYSCTL_SYSCALL_CHECK=y 1122CONFIG_SYSCTL_SYSCALL_CHECK=y
1086CONFIG_HAVE_FUNCTION_TRACER=y 1123CONFIG_HAVE_FUNCTION_TRACER=y
1124CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1087CONFIG_HAVE_DYNAMIC_FTRACE=y 1125CONFIG_HAVE_DYNAMIC_FTRACE=y
1088CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1126CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1127CONFIG_TRACING_SUPPORT=y
1089 1128
1090# 1129#
1091# Tracers 1130# Tracers
1092# 1131#
1093# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1132# CONFIG_FUNCTION_TRACER is not set
1133# CONFIG_SCHED_TRACER is not set
1134# CONFIG_CONTEXT_SWITCH_TRACER is not set
1135# CONFIG_EVENT_TRACER is not set
1136# CONFIG_BOOT_TRACER is not set
1137# CONFIG_TRACE_BRANCH_PROFILING is not set
1138# CONFIG_STACK_TRACER is not set
1139# CONFIG_KMEMTRACE is not set
1140# CONFIG_WORKQUEUE_TRACER is not set
1141# CONFIG_BLK_DEV_IO_TRACE is not set
1094# CONFIG_SAMPLES is not set 1142# CONFIG_SAMPLES is not set
1095CONFIG_HAVE_ARCH_KGDB=y 1143CONFIG_HAVE_ARCH_KGDB=y
1096CONFIG_PRINT_STACK_DEPTH=64 1144CONFIG_PRINT_STACK_DEPTH=64
@@ -1119,10 +1167,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1119CONFIG_CRYPTO_HASH=y 1167CONFIG_CRYPTO_HASH=y
1120CONFIG_CRYPTO_HASH2=y 1168CONFIG_CRYPTO_HASH2=y
1121CONFIG_CRYPTO_RNG2=y 1169CONFIG_CRYPTO_RNG2=y
1170CONFIG_CRYPTO_PCOMP=y
1122CONFIG_CRYPTO_MANAGER=y 1171CONFIG_CRYPTO_MANAGER=y
1123CONFIG_CRYPTO_MANAGER2=y 1172CONFIG_CRYPTO_MANAGER2=y
1124# CONFIG_CRYPTO_GF128MUL is not set 1173# CONFIG_CRYPTO_GF128MUL is not set
1125# CONFIG_CRYPTO_NULL is not set 1174# CONFIG_CRYPTO_NULL is not set
1175CONFIG_CRYPTO_WORKQUEUE=y
1126# CONFIG_CRYPTO_CRYPTD is not set 1176# CONFIG_CRYPTO_CRYPTD is not set
1127# CONFIG_CRYPTO_AUTHENC is not set 1177# CONFIG_CRYPTO_AUTHENC is not set
1128# CONFIG_CRYPTO_TEST is not set 1178# CONFIG_CRYPTO_TEST is not set
@@ -1191,6 +1241,7 @@ CONFIG_CRYPTO_DES=y
1191# Compression 1241# Compression
1192# 1242#
1193# CONFIG_CRYPTO_DEFLATE is not set 1243# CONFIG_CRYPTO_DEFLATE is not set
1244# CONFIG_CRYPTO_ZLIB is not set
1194# CONFIG_CRYPTO_LZO is not set 1245# CONFIG_CRYPTO_LZO is not set
1195 1246
1196# 1247#
diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
index 76db8138eac7..ce5177393a0d 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:58 2009 4# Wed May 13 17:22:12 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -109,16 +123,19 @@ CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 135CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
138# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 139# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 140CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 141CONFIG_RT_MUTEXES=y
@@ -131,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_SRCVERSION_ALL is not set 148# CONFIG_MODULE_SRCVERSION_ALL is not set
132CONFIG_BLOCK=y 149CONFIG_BLOCK=y
133# CONFIG_LBD is not set 150# CONFIG_LBD is not set
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 151# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 152# CONFIG_BLK_DEV_INTEGRITY is not set
137 153
@@ -147,18 +163,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 163# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 165CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 166# CONFIG_FREEZER is not set
156 167
157# 168#
158# Platform support 169# Platform support
159# 170#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 171# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 172# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 173# CONFIG_MPC5121_GENERIC is not set
@@ -182,6 +191,8 @@ CONFIG_MPC836x_MDS=y
182# CONFIG_ASP834x is not set 191# CONFIG_ASP834x is not set
183# CONFIG_PPC_86xx is not set 192# CONFIG_PPC_86xx is not set
184# CONFIG_EMBEDDED6xx is not set 193# CONFIG_EMBEDDED6xx is not set
194# CONFIG_AMIGAONE is not set
195CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
185CONFIG_IPIC=y 196CONFIG_IPIC=y
186# CONFIG_MPIC is not set 197# CONFIG_MPIC is not set
187# CONFIG_MPIC_WEIRD is not set 198# CONFIG_MPIC_WEIRD is not set
@@ -243,9 +254,12 @@ CONFIG_ZONE_DMA_FLAG=1
243CONFIG_BOUNCE=y 254CONFIG_BOUNCE=y
244CONFIG_VIRT_TO_BUS=y 255CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y 256CONFIG_UNEVICTABLE_LRU=y
257CONFIG_HAVE_MLOCK=y
258CONFIG_HAVE_MLOCKED_PAGE_BIT=y
246CONFIG_PPC_4K_PAGES=y 259CONFIG_PPC_4K_PAGES=y
247# CONFIG_PPC_16K_PAGES is not set 260# CONFIG_PPC_16K_PAGES is not set
248# CONFIG_PPC_64K_PAGES is not set 261# CONFIG_PPC_64K_PAGES is not set
262# CONFIG_PPC_256K_PAGES is not set
249CONFIG_FORCE_MAX_ZONEORDER=11 263CONFIG_FORCE_MAX_ZONEORDER=11
250CONFIG_PROC_DEVICETREE=y 264CONFIG_PROC_DEVICETREE=y
251# CONFIG_CMDLINE_BOOL is not set 265# CONFIG_CMDLINE_BOOL is not set
@@ -271,6 +285,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
271# CONFIG_PCI_MSI is not set 285# CONFIG_PCI_MSI is not set
272# CONFIG_PCI_LEGACY is not set 286# CONFIG_PCI_LEGACY is not set
273# CONFIG_PCI_STUB is not set 287# CONFIG_PCI_STUB is not set
288# CONFIG_PCI_IOV is not set
274# CONFIG_PCCARD is not set 289# CONFIG_PCCARD is not set
275# CONFIG_HOTPLUG_PCI is not set 290# CONFIG_HOTPLUG_PCI is not set
276# CONFIG_HAS_RAPIDIO is not set 291# CONFIG_HAS_RAPIDIO is not set
@@ -293,7 +308,6 @@ CONFIG_NET=y
293# 308#
294# Networking options 309# Networking options
295# 310#
296CONFIG_COMPAT_NET_DEV_OPS=y
297CONFIG_PACKET=y 311CONFIG_PACKET=y
298# CONFIG_PACKET_MMAP is not set 312# CONFIG_PACKET_MMAP is not set
299CONFIG_UNIX=y 313CONFIG_UNIX=y
@@ -349,6 +363,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
349# CONFIG_LAPB is not set 363# CONFIG_LAPB is not set
350# CONFIG_ECONET is not set 364# CONFIG_ECONET is not set
351# CONFIG_WAN_ROUTER is not set 365# CONFIG_WAN_ROUTER is not set
366# CONFIG_PHONET is not set
352# CONFIG_NET_SCHED is not set 367# CONFIG_NET_SCHED is not set
353# CONFIG_DCB is not set 368# CONFIG_DCB is not set
354 369
@@ -361,7 +376,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
361# CONFIG_IRDA is not set 376# CONFIG_IRDA is not set
362# CONFIG_BT is not set 377# CONFIG_BT is not set
363# CONFIG_AF_RXRPC is not set 378# CONFIG_AF_RXRPC is not set
364# CONFIG_PHONET is not set
365CONFIG_WIRELESS=y 379CONFIG_WIRELESS=y
366# CONFIG_CFG80211 is not set 380# CONFIG_CFG80211 is not set
367CONFIG_WIRELESS_OLD_REGULATORY=y 381CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -464,7 +478,6 @@ CONFIG_MTD_PHYSMAP_OF=y
464# LPDDR flash memory drivers 478# LPDDR flash memory drivers
465# 479#
466# CONFIG_MTD_LPDDR is not set 480# CONFIG_MTD_LPDDR is not set
467# CONFIG_MTD_QINFO_PROBE is not set
468 481
469# 482#
470# UBI - Unsorted block images 483# UBI - Unsorted block images
@@ -493,13 +506,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
493# CONFIG_BLK_DEV_HD is not set 506# CONFIG_BLK_DEV_HD is not set
494CONFIG_MISC_DEVICES=y 507CONFIG_MISC_DEVICES=y
495# CONFIG_PHANTOM is not set 508# CONFIG_PHANTOM is not set
496# CONFIG_EEPROM_93CX6 is not set
497# CONFIG_SGI_IOC4 is not set 509# CONFIG_SGI_IOC4 is not set
498# CONFIG_TIFM_CORE is not set 510# CONFIG_TIFM_CORE is not set
499# CONFIG_ICS932S401 is not set 511# CONFIG_ICS932S401 is not set
500# CONFIG_ENCLOSURE_SERVICES is not set 512# CONFIG_ENCLOSURE_SERVICES is not set
501# CONFIG_HP_ILO is not set 513# CONFIG_HP_ILO is not set
514# CONFIG_ISL29003 is not set
502# CONFIG_C2PORT is not set 515# CONFIG_C2PORT is not set
516
517#
518# EEPROM support
519#
520# CONFIG_EEPROM_AT24 is not set
521# CONFIG_EEPROM_LEGACY is not set
522# CONFIG_EEPROM_93CX6 is not set
503CONFIG_HAVE_IDE=y 523CONFIG_HAVE_IDE=y
504# CONFIG_IDE is not set 524# CONFIG_IDE is not set
505 525
@@ -557,9 +577,11 @@ CONFIG_SCSI_LOWLEVEL=y
557# CONFIG_MEGARAID_NEWGEN is not set 577# CONFIG_MEGARAID_NEWGEN is not set
558# CONFIG_MEGARAID_LEGACY is not set 578# CONFIG_MEGARAID_LEGACY is not set
559# CONFIG_MEGARAID_SAS is not set 579# CONFIG_MEGARAID_SAS is not set
580# CONFIG_SCSI_MPT2SAS is not set
560# CONFIG_SCSI_HPTIOP is not set 581# CONFIG_SCSI_HPTIOP is not set
561# CONFIG_SCSI_BUSLOGIC is not set 582# CONFIG_SCSI_BUSLOGIC is not set
562# CONFIG_LIBFC is not set 583# CONFIG_LIBFC is not set
584# CONFIG_LIBFCOE is not set
563# CONFIG_FCOE is not set 585# CONFIG_FCOE is not set
564# CONFIG_SCSI_DMX3191D is not set 586# CONFIG_SCSI_DMX3191D is not set
565# CONFIG_SCSI_EATA is not set 587# CONFIG_SCSI_EATA is not set
@@ -581,6 +603,7 @@ CONFIG_SCSI_LOWLEVEL=y
581# CONFIG_SCSI_DEBUG is not set 603# CONFIG_SCSI_DEBUG is not set
582# CONFIG_SCSI_SRP is not set 604# CONFIG_SCSI_SRP is not set
583# CONFIG_SCSI_DH is not set 605# CONFIG_SCSI_DH is not set
606# CONFIG_SCSI_OSD_INITIATOR is not set
584# CONFIG_ATA is not set 607# CONFIG_ATA is not set
585# CONFIG_MD is not set 608# CONFIG_MD is not set
586# CONFIG_FUSION is not set 609# CONFIG_FUSION is not set
@@ -597,6 +620,7 @@ CONFIG_SCSI_LOWLEVEL=y
597# CONFIG_I2O is not set 620# CONFIG_I2O is not set
598# CONFIG_MACINTOSH_DRIVERS is not set 621# CONFIG_MACINTOSH_DRIVERS is not set
599CONFIG_NETDEVICES=y 622CONFIG_NETDEVICES=y
623CONFIG_COMPAT_NET_DEV_OPS=y
600# CONFIG_DUMMY is not set 624# CONFIG_DUMMY is not set
601# CONFIG_BONDING is not set 625# CONFIG_BONDING is not set
602# CONFIG_MACVLAN is not set 626# CONFIG_MACVLAN is not set
@@ -630,6 +654,8 @@ CONFIG_MII=y
630# CONFIG_SUNGEM is not set 654# CONFIG_SUNGEM is not set
631# CONFIG_CASSINI is not set 655# CONFIG_CASSINI is not set
632# CONFIG_NET_VENDOR_3COM is not set 656# CONFIG_NET_VENDOR_3COM is not set
657# CONFIG_ETHOC is not set
658# CONFIG_DNET is not set
633# CONFIG_NET_TULIP is not set 659# CONFIG_NET_TULIP is not set
634# CONFIG_HP100 is not set 660# CONFIG_HP100 is not set
635# CONFIG_IBM_NEW_EMAC_ZMII is not set 661# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -649,6 +675,7 @@ CONFIG_NETDEV_1000=y
649# CONFIG_E1000E is not set 675# CONFIG_E1000E is not set
650# CONFIG_IP1000 is not set 676# CONFIG_IP1000 is not set
651# CONFIG_IGB is not set 677# CONFIG_IGB is not set
678# CONFIG_IGBVF is not set
652# CONFIG_NS83820 is not set 679# CONFIG_NS83820 is not set
653# CONFIG_HAMACHI is not set 680# CONFIG_HAMACHI is not set
654# CONFIG_YELLOWFIN is not set 681# CONFIG_YELLOWFIN is not set
@@ -659,14 +686,15 @@ CONFIG_NETDEV_1000=y
659# CONFIG_VIA_VELOCITY is not set 686# CONFIG_VIA_VELOCITY is not set
660# CONFIG_TIGON3 is not set 687# CONFIG_TIGON3 is not set
661# CONFIG_BNX2 is not set 688# CONFIG_BNX2 is not set
689CONFIG_FSL_PQ_MDIO=y
662# CONFIG_GIANFAR is not set 690# CONFIG_GIANFAR is not set
663CONFIG_UCC_GETH=y 691CONFIG_UCC_GETH=y
664# CONFIG_UGETH_MAGIC_PACKET is not set 692# CONFIG_UGETH_MAGIC_PACKET is not set
665# CONFIG_UGETH_TX_ON_DEMAND is not set 693# CONFIG_UGETH_TX_ON_DEMAND is not set
666# CONFIG_MV643XX_ETH is not set
667# CONFIG_QLA3XXX is not set 694# CONFIG_QLA3XXX is not set
668# CONFIG_ATL1 is not set 695# CONFIG_ATL1 is not set
669# CONFIG_ATL1E is not set 696# CONFIG_ATL1E is not set
697# CONFIG_ATL1C is not set
670# CONFIG_JME is not set 698# CONFIG_JME is not set
671CONFIG_NETDEV_10000=y 699CONFIG_NETDEV_10000=y
672# CONFIG_CHELSIO_T1 is not set 700# CONFIG_CHELSIO_T1 is not set
@@ -676,6 +704,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
676# CONFIG_IXGBE is not set 704# CONFIG_IXGBE is not set
677# CONFIG_IXGB is not set 705# CONFIG_IXGB is not set
678# CONFIG_S2IO is not set 706# CONFIG_S2IO is not set
707# CONFIG_VXGE is not set
679# CONFIG_MYRI10GE is not set 708# CONFIG_MYRI10GE is not set
680# CONFIG_NETXEN_NIC is not set 709# CONFIG_NETXEN_NIC is not set
681# CONFIG_NIU is not set 710# CONFIG_NIU is not set
@@ -685,6 +714,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
685# CONFIG_BNX2X is not set 714# CONFIG_BNX2X is not set
686# CONFIG_QLGE is not set 715# CONFIG_QLGE is not set
687# CONFIG_SFC is not set 716# CONFIG_SFC is not set
717# CONFIG_BE2NET is not set
688# CONFIG_TR is not set 718# CONFIG_TR is not set
689 719
690# 720#
@@ -692,7 +722,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
692# 722#
693# CONFIG_WLAN_PRE80211 is not set 723# CONFIG_WLAN_PRE80211 is not set
694# CONFIG_WLAN_80211 is not set 724# CONFIG_WLAN_80211 is not set
695# CONFIG_IWLWIFI_LEDS is not set
696 725
697# 726#
698# Enable WiMAX (Networking options) to see the WiMAX drivers 727# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -774,6 +803,7 @@ CONFIG_LEGACY_PTY_COUNT=256
774# CONFIG_HVC_UDBG is not set 803# CONFIG_HVC_UDBG is not set
775# CONFIG_IPMI_HANDLER is not set 804# CONFIG_IPMI_HANDLER is not set
776CONFIG_HW_RANDOM=y 805CONFIG_HW_RANDOM=y
806# CONFIG_HW_RANDOM_TIMERIOMEM is not set
777# CONFIG_NVRAM is not set 807# CONFIG_NVRAM is not set
778# CONFIG_R3964 is not set 808# CONFIG_R3964 is not set
779# CONFIG_APPLICOM is not set 809# CONFIG_APPLICOM is not set
@@ -835,12 +865,9 @@ CONFIG_I2C_MPC=y
835# Miscellaneous I2C Chip support 865# Miscellaneous I2C Chip support
836# 866#
837# CONFIG_DS1682 is not set 867# CONFIG_DS1682 is not set
838# CONFIG_EEPROM_AT24 is not set
839# CONFIG_EEPROM_LEGACY is not set
840# CONFIG_SENSORS_PCF8574 is not set 868# CONFIG_SENSORS_PCF8574 is not set
841# CONFIG_PCF8575 is not set 869# CONFIG_PCF8575 is not set
842# CONFIG_SENSORS_PCA9539 is not set 870# CONFIG_SENSORS_PCA9539 is not set
843# CONFIG_SENSORS_PCF8591 is not set
844# CONFIG_SENSORS_MAX6875 is not set 871# CONFIG_SENSORS_MAX6875 is not set
845# CONFIG_SENSORS_TSL2550 is not set 872# CONFIG_SENSORS_TSL2550 is not set
846# CONFIG_I2C_DEBUG_CORE is not set 873# CONFIG_I2C_DEBUG_CORE is not set
@@ -872,6 +899,7 @@ CONFIG_HWMON=y
872# CONFIG_SENSORS_F71805F is not set 899# CONFIG_SENSORS_F71805F is not set
873# CONFIG_SENSORS_F71882FG is not set 900# CONFIG_SENSORS_F71882FG is not set
874# CONFIG_SENSORS_F75375S is not set 901# CONFIG_SENSORS_F75375S is not set
902# CONFIG_SENSORS_G760A is not set
875# CONFIG_SENSORS_GL518SM is not set 903# CONFIG_SENSORS_GL518SM is not set
876# CONFIG_SENSORS_GL520SM is not set 904# CONFIG_SENSORS_GL520SM is not set
877# CONFIG_SENSORS_IT87 is not set 905# CONFIG_SENSORS_IT87 is not set
@@ -886,11 +914,14 @@ CONFIG_HWMON=y
886# CONFIG_SENSORS_LM90 is not set 914# CONFIG_SENSORS_LM90 is not set
887# CONFIG_SENSORS_LM92 is not set 915# CONFIG_SENSORS_LM92 is not set
888# CONFIG_SENSORS_LM93 is not set 916# CONFIG_SENSORS_LM93 is not set
917# CONFIG_SENSORS_LTC4215 is not set
889# CONFIG_SENSORS_LTC4245 is not set 918# CONFIG_SENSORS_LTC4245 is not set
919# CONFIG_SENSORS_LM95241 is not set
890# CONFIG_SENSORS_MAX1619 is not set 920# CONFIG_SENSORS_MAX1619 is not set
891# CONFIG_SENSORS_MAX6650 is not set 921# CONFIG_SENSORS_MAX6650 is not set
892# CONFIG_SENSORS_PC87360 is not set 922# CONFIG_SENSORS_PC87360 is not set
893# CONFIG_SENSORS_PC87427 is not set 923# CONFIG_SENSORS_PC87427 is not set
924# CONFIG_SENSORS_PCF8591 is not set
894# CONFIG_SENSORS_SIS5595 is not set 925# CONFIG_SENSORS_SIS5595 is not set
895# CONFIG_SENSORS_DME1737 is not set 926# CONFIG_SENSORS_DME1737 is not set
896# CONFIG_SENSORS_SMSC47M1 is not set 927# CONFIG_SENSORS_SMSC47M1 is not set
@@ -988,7 +1019,6 @@ CONFIG_HID=y
988# 1019#
989# Special HID drivers 1020# Special HID drivers
990# 1021#
991CONFIG_HID_COMPAT=y
992CONFIG_USB_SUPPORT=y 1022CONFIG_USB_SUPPORT=y
993CONFIG_USB_ARCH_HAS_HCD=y 1023CONFIG_USB_ARCH_HAS_HCD=y
994CONFIG_USB_ARCH_HAS_OHCI=y 1024CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1002,7 +1032,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1002# 1032#
1003 1033
1004# 1034#
1005# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1035# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1006# 1036#
1007# CONFIG_USB_GADGET is not set 1037# CONFIG_USB_GADGET is not set
1008 1038
@@ -1070,8 +1100,9 @@ CONFIG_RTC_DRV_DS1374=y
1070# 1100#
1071# on-CPU RTC drivers 1101# on-CPU RTC drivers
1072# 1102#
1073# CONFIG_RTC_DRV_PPC is not set 1103# CONFIG_RTC_DRV_GENERIC is not set
1074# CONFIG_DMADEVICES is not set 1104# CONFIG_DMADEVICES is not set
1105# CONFIG_AUXDISPLAY is not set
1075# CONFIG_UIO is not set 1106# CONFIG_UIO is not set
1076# CONFIG_STAGING is not set 1107# CONFIG_STAGING is not set
1077 1108
@@ -1082,6 +1113,7 @@ CONFIG_EXT2_FS=y
1082# CONFIG_EXT2_FS_XATTR is not set 1113# CONFIG_EXT2_FS_XATTR is not set
1083# CONFIG_EXT2_FS_XIP is not set 1114# CONFIG_EXT2_FS_XIP is not set
1084CONFIG_EXT3_FS=y 1115CONFIG_EXT3_FS=y
1116# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1085CONFIG_EXT3_FS_XATTR=y 1117CONFIG_EXT3_FS_XATTR=y
1086# CONFIG_EXT3_FS_POSIX_ACL is not set 1118# CONFIG_EXT3_FS_POSIX_ACL is not set
1087# CONFIG_EXT3_FS_SECURITY is not set 1119# CONFIG_EXT3_FS_SECURITY is not set
@@ -1104,6 +1136,11 @@ CONFIG_INOTIFY_USER=y
1104# CONFIG_FUSE_FS is not set 1136# CONFIG_FUSE_FS is not set
1105 1137
1106# 1138#
1139# Caches
1140#
1141# CONFIG_FSCACHE is not set
1142
1143#
1107# CD-ROM/DVD Filesystems 1144# CD-ROM/DVD Filesystems
1108# 1145#
1109# CONFIG_ISO9660_FS is not set 1146# CONFIG_ISO9660_FS is not set
@@ -1147,6 +1184,7 @@ CONFIG_MISC_FILESYSTEMS=y
1147# CONFIG_ROMFS_FS is not set 1184# CONFIG_ROMFS_FS is not set
1148# CONFIG_SYSV_FS is not set 1185# CONFIG_SYSV_FS is not set
1149# CONFIG_UFS_FS is not set 1186# CONFIG_UFS_FS is not set
1187# CONFIG_NILFS2_FS is not set
1150CONFIG_NETWORK_FILESYSTEMS=y 1188CONFIG_NETWORK_FILESYSTEMS=y
1151CONFIG_NFS_FS=y 1189CONFIG_NFS_FS=y
1152CONFIG_NFS_V3=y 1190CONFIG_NFS_V3=y
@@ -1159,7 +1197,6 @@ CONFIG_LOCKD_V4=y
1159CONFIG_NFS_COMMON=y 1197CONFIG_NFS_COMMON=y
1160CONFIG_SUNRPC=y 1198CONFIG_SUNRPC=y
1161CONFIG_SUNRPC_GSS=y 1199CONFIG_SUNRPC_GSS=y
1162# CONFIG_SUNRPC_REGISTER_V4 is not set
1163CONFIG_RPCSEC_GSS_KRB5=y 1200CONFIG_RPCSEC_GSS_KRB5=y
1164# CONFIG_RPCSEC_GSS_SPKM3 is not set 1201# CONFIG_RPCSEC_GSS_SPKM3 is not set
1165# CONFIG_SMB_FS is not set 1202# CONFIG_SMB_FS is not set
@@ -1189,6 +1226,7 @@ CONFIG_PARTITION_ADVANCED=y
1189# CONFIG_DLM is not set 1226# CONFIG_DLM is not set
1190CONFIG_UCC_FAST=y 1227CONFIG_UCC_FAST=y
1191CONFIG_UCC=y 1228CONFIG_UCC=y
1229# CONFIG_BINARY_PRINTF is not set
1192 1230
1193# 1231#
1194# Library routines 1232# Library routines
@@ -1202,11 +1240,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
1202CONFIG_CRC32=y 1240CONFIG_CRC32=y
1203# CONFIG_CRC7 is not set 1241# CONFIG_CRC7 is not set
1204# CONFIG_LIBCRC32C is not set 1242# CONFIG_LIBCRC32C is not set
1205CONFIG_PLIST=y 1243CONFIG_ZLIB_INFLATE=y
1244CONFIG_DECOMPRESS_GZIP=y
1206CONFIG_HAS_IOMEM=y 1245CONFIG_HAS_IOMEM=y
1207CONFIG_HAS_IOPORT=y 1246CONFIG_HAS_IOPORT=y
1208CONFIG_HAS_DMA=y 1247CONFIG_HAS_DMA=y
1209CONFIG_HAVE_LMB=y 1248CONFIG_HAVE_LMB=y
1249CONFIG_NLATTR=y
1210 1250
1211# 1251#
1212# Kernel hacking 1252# Kernel hacking
@@ -1228,13 +1268,24 @@ CONFIG_FRAME_WARN=1024
1228# CONFIG_LATENCYTOP is not set 1268# CONFIG_LATENCYTOP is not set
1229CONFIG_SYSCTL_SYSCALL_CHECK=y 1269CONFIG_SYSCTL_SYSCALL_CHECK=y
1230CONFIG_HAVE_FUNCTION_TRACER=y 1270CONFIG_HAVE_FUNCTION_TRACER=y
1271CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1231CONFIG_HAVE_DYNAMIC_FTRACE=y 1272CONFIG_HAVE_DYNAMIC_FTRACE=y
1232CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1273CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1274CONFIG_TRACING_SUPPORT=y
1233 1275
1234# 1276#
1235# Tracers 1277# Tracers
1236# 1278#
1237# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1279# CONFIG_FUNCTION_TRACER is not set
1280# CONFIG_SCHED_TRACER is not set
1281# CONFIG_CONTEXT_SWITCH_TRACER is not set
1282# CONFIG_EVENT_TRACER is not set
1283# CONFIG_BOOT_TRACER is not set
1284# CONFIG_TRACE_BRANCH_PROFILING is not set
1285# CONFIG_STACK_TRACER is not set
1286# CONFIG_KMEMTRACE is not set
1287# CONFIG_WORKQUEUE_TRACER is not set
1288# CONFIG_BLK_DEV_IO_TRACE is not set
1238# CONFIG_SAMPLES is not set 1289# CONFIG_SAMPLES is not set
1239CONFIG_HAVE_ARCH_KGDB=y 1290CONFIG_HAVE_ARCH_KGDB=y
1240CONFIG_PRINT_STACK_DEPTH=64 1291CONFIG_PRINT_STACK_DEPTH=64
@@ -1263,10 +1314,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1263CONFIG_CRYPTO_HASH=y 1314CONFIG_CRYPTO_HASH=y
1264CONFIG_CRYPTO_HASH2=y 1315CONFIG_CRYPTO_HASH2=y
1265CONFIG_CRYPTO_RNG2=y 1316CONFIG_CRYPTO_RNG2=y
1317CONFIG_CRYPTO_PCOMP=y
1266CONFIG_CRYPTO_MANAGER=y 1318CONFIG_CRYPTO_MANAGER=y
1267CONFIG_CRYPTO_MANAGER2=y 1319CONFIG_CRYPTO_MANAGER2=y
1268# CONFIG_CRYPTO_GF128MUL is not set 1320# CONFIG_CRYPTO_GF128MUL is not set
1269# CONFIG_CRYPTO_NULL is not set 1321# CONFIG_CRYPTO_NULL is not set
1322CONFIG_CRYPTO_WORKQUEUE=y
1270# CONFIG_CRYPTO_CRYPTD is not set 1323# CONFIG_CRYPTO_CRYPTD is not set
1271# CONFIG_CRYPTO_AUTHENC is not set 1324# CONFIG_CRYPTO_AUTHENC is not set
1272# CONFIG_CRYPTO_TEST is not set 1325# CONFIG_CRYPTO_TEST is not set
@@ -1335,6 +1388,7 @@ CONFIG_CRYPTO_DES=y
1335# Compression 1388# Compression
1336# 1389#
1337# CONFIG_CRYPTO_DEFLATE is not set 1390# CONFIG_CRYPTO_DEFLATE is not set
1391# CONFIG_CRYPTO_ZLIB is not set
1338# CONFIG_CRYPTO_LZO is not set 1392# CONFIG_CRYPTO_LZO is not set
1339 1393
1340# 1394#
diff --git a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
index 0dc11c44306b..7f1d1383a249 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:01 2009 4# Wed May 13 17:22:13 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -57,6 +58,7 @@ CONFIG_DEFAULT_UIMAGE=y
57CONFIG_ARCH_SUSPEND_POSSIBLE=y 58CONFIG_ARCH_SUSPEND_POSSIBLE=y
58# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
59# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
61CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
61 63
62# 64#
@@ -74,6 +76,15 @@ CONFIG_SYSVIPC_SYSCTL=y
74# CONFIG_BSD_PROCESS_ACCT is not set 76# CONFIG_BSD_PROCESS_ACCT is not set
75# CONFIG_TASKSTATS is not set 77# CONFIG_TASKSTATS is not set
76# CONFIG_AUDIT is not set 78# CONFIG_AUDIT is not set
79
80#
81# RCU Subsystem
82#
83CONFIG_CLASSIC_RCU=y
84# CONFIG_TREE_RCU is not set
85# CONFIG_PREEMPT_RCU is not set
86# CONFIG_TREE_RCU_TRACE is not set
87# CONFIG_PREEMPT_RCU_TRACE is not set
77# CONFIG_IKCONFIG is not set 88# CONFIG_IKCONFIG is not set
78CONFIG_LOG_BUF_SHIFT=14 89CONFIG_LOG_BUF_SHIFT=14
79CONFIG_GROUP_SCHED=y 90CONFIG_GROUP_SCHED=y
@@ -88,19 +99,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
88# CONFIG_NAMESPACES is not set 99# CONFIG_NAMESPACES is not set
89CONFIG_BLK_DEV_INITRD=y 100CONFIG_BLK_DEV_INITRD=y
90CONFIG_INITRAMFS_SOURCE="" 101CONFIG_INITRAMFS_SOURCE=""
102CONFIG_RD_GZIP=y
103# CONFIG_RD_BZIP2 is not set
104# CONFIG_RD_LZMA is not set
91# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 105# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
92CONFIG_SYSCTL=y 106CONFIG_SYSCTL=y
107CONFIG_ANON_INODES=y
93CONFIG_EMBEDDED=y 108CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 109CONFIG_SYSCTL_SYSCALL=y
95# CONFIG_KALLSYMS is not set 110# CONFIG_KALLSYMS is not set
111# CONFIG_STRIP_ASM_SYMS is not set
96CONFIG_HOTPLUG=y 112CONFIG_HOTPLUG=y
97CONFIG_PRINTK=y 113CONFIG_PRINTK=y
98CONFIG_BUG=y 114CONFIG_BUG=y
99CONFIG_ELF_CORE=y 115CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
101CONFIG_BASE_FULL=y 116CONFIG_BASE_FULL=y
102CONFIG_FUTEX=y 117CONFIG_FUTEX=y
103CONFIG_ANON_INODES=y
104# CONFIG_EPOLL is not set 118# CONFIG_EPOLL is not set
105CONFIG_SIGNALFD=y 119CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 120CONFIG_TIMERFD=y
@@ -110,16 +124,19 @@ CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 124CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y 125CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 126CONFIG_SLUB_DEBUG=y
127CONFIG_COMPAT_BRK=y
113# CONFIG_SLAB is not set 128# CONFIG_SLAB is not set
114CONFIG_SLUB=y 129CONFIG_SLUB=y
115# CONFIG_SLOB is not set 130# CONFIG_SLOB is not set
116# CONFIG_PROFILING is not set 131# CONFIG_PROFILING is not set
132# CONFIG_MARKERS is not set
117CONFIG_HAVE_OPROFILE=y 133CONFIG_HAVE_OPROFILE=y
118CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 134CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
119CONFIG_HAVE_IOREMAP_PROT=y 135CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 136CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 137CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 138CONFIG_HAVE_ARCH_TRACEHOOK=y
139# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 140# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 141CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 142CONFIG_RT_MUTEXES=y
@@ -132,7 +149,6 @@ CONFIG_MODULE_UNLOAD=y
132# CONFIG_MODULE_SRCVERSION_ALL is not set 149# CONFIG_MODULE_SRCVERSION_ALL is not set
133CONFIG_BLOCK=y 150CONFIG_BLOCK=y
134# CONFIG_LBD is not set 151# CONFIG_LBD is not set
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 152# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 153# CONFIG_BLK_DEV_INTEGRITY is not set
138 154
@@ -148,18 +164,11 @@ CONFIG_DEFAULT_AS=y
148# CONFIG_DEFAULT_CFQ is not set 164# CONFIG_DEFAULT_CFQ is not set
149# CONFIG_DEFAULT_NOOP is not set 165# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 166CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y
152# CONFIG_TREE_RCU is not set
153# CONFIG_PREEMPT_RCU is not set
154# CONFIG_TREE_RCU_TRACE is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set
156# CONFIG_FREEZER is not set 167# CONFIG_FREEZER is not set
157 168
158# 169#
159# Platform support 170# Platform support
160# 171#
161CONFIG_PPC_MULTIPLATFORM=y
162CONFIG_CLASSIC32=y
163# CONFIG_PPC_CHRP is not set 172# CONFIG_PPC_CHRP is not set
164# CONFIG_MPC5121_ADS is not set 173# CONFIG_MPC5121_ADS is not set
165# CONFIG_MPC5121_GENERIC is not set 174# CONFIG_MPC5121_GENERIC is not set
@@ -183,6 +192,8 @@ CONFIG_MPC836x_RDK=y
183# CONFIG_ASP834x is not set 192# CONFIG_ASP834x is not set
184# CONFIG_PPC_86xx is not set 193# CONFIG_PPC_86xx is not set
185# CONFIG_EMBEDDED6xx is not set 194# CONFIG_EMBEDDED6xx is not set
195# CONFIG_AMIGAONE is not set
196CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186CONFIG_IPIC=y 197CONFIG_IPIC=y
187# CONFIG_MPIC is not set 198# CONFIG_MPIC is not set
188# CONFIG_MPIC_WEIRD is not set 199# CONFIG_MPIC_WEIRD is not set
@@ -243,9 +254,12 @@ CONFIG_ZONE_DMA_FLAG=1
243CONFIG_BOUNCE=y 254CONFIG_BOUNCE=y
244CONFIG_VIRT_TO_BUS=y 255CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y 256CONFIG_UNEVICTABLE_LRU=y
257CONFIG_HAVE_MLOCK=y
258CONFIG_HAVE_MLOCKED_PAGE_BIT=y
246CONFIG_PPC_4K_PAGES=y 259CONFIG_PPC_4K_PAGES=y
247# CONFIG_PPC_16K_PAGES is not set 260# CONFIG_PPC_16K_PAGES is not set
248# CONFIG_PPC_64K_PAGES is not set 261# CONFIG_PPC_64K_PAGES is not set
262# CONFIG_PPC_256K_PAGES is not set
249CONFIG_FORCE_MAX_ZONEORDER=11 263CONFIG_FORCE_MAX_ZONEORDER=11
250CONFIG_PROC_DEVICETREE=y 264CONFIG_PROC_DEVICETREE=y
251# CONFIG_CMDLINE_BOOL is not set 265# CONFIG_CMDLINE_BOOL is not set
@@ -273,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 287# CONFIG_PCI_MSI is not set
274# CONFIG_PCI_LEGACY is not set 288# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCI_STUB is not set 289# CONFIG_PCI_STUB is not set
290# CONFIG_PCI_IOV is not set
276# CONFIG_PCCARD is not set 291# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 292# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 293# CONFIG_HAS_RAPIDIO is not set
@@ -295,7 +310,6 @@ CONFIG_NET=y
295# 310#
296# Networking options 311# Networking options
297# 312#
298CONFIG_COMPAT_NET_DEV_OPS=y
299CONFIG_PACKET=y 313CONFIG_PACKET=y
300# CONFIG_PACKET_MMAP is not set 314# CONFIG_PACKET_MMAP is not set
301CONFIG_UNIX=y 315CONFIG_UNIX=y
@@ -351,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_LAPB is not set 365# CONFIG_LAPB is not set
352# CONFIG_ECONET is not set 366# CONFIG_ECONET is not set
353# CONFIG_WAN_ROUTER is not set 367# CONFIG_WAN_ROUTER is not set
368# CONFIG_PHONET is not set
354# CONFIG_NET_SCHED is not set 369# CONFIG_NET_SCHED is not set
355# CONFIG_DCB is not set 370# CONFIG_DCB is not set
356 371
@@ -363,7 +378,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# CONFIG_IRDA is not set 378# CONFIG_IRDA is not set
364# CONFIG_BT is not set 379# CONFIG_BT is not set
365# CONFIG_AF_RXRPC is not set 380# CONFIG_AF_RXRPC is not set
366# CONFIG_PHONET is not set
367CONFIG_WIRELESS=y 381CONFIG_WIRELESS=y
368# CONFIG_CFG80211 is not set 382# CONFIG_CFG80211 is not set
369CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -475,7 +489,6 @@ CONFIG_MTD_PHYSMAP_OF=y
475# LPDDR flash memory drivers 489# LPDDR flash memory drivers
476# 490#
477# CONFIG_MTD_LPDDR is not set 491# CONFIG_MTD_LPDDR is not set
478# CONFIG_MTD_QINFO_PROBE is not set
479 492
480# 493#
481# UBI - Unsorted block images 494# UBI - Unsorted block images
@@ -506,13 +519,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
506# CONFIG_BLK_DEV_HD is not set 519# CONFIG_BLK_DEV_HD is not set
507CONFIG_MISC_DEVICES=y 520CONFIG_MISC_DEVICES=y
508# CONFIG_PHANTOM is not set 521# CONFIG_PHANTOM is not set
509# CONFIG_EEPROM_93CX6 is not set
510# CONFIG_SGI_IOC4 is not set 522# CONFIG_SGI_IOC4 is not set
511# CONFIG_TIFM_CORE is not set 523# CONFIG_TIFM_CORE is not set
512# CONFIG_ICS932S401 is not set 524# CONFIG_ICS932S401 is not set
513# CONFIG_ENCLOSURE_SERVICES is not set 525# CONFIG_ENCLOSURE_SERVICES is not set
514# CONFIG_HP_ILO is not set 526# CONFIG_HP_ILO is not set
527# CONFIG_ISL29003 is not set
515# CONFIG_C2PORT is not set 528# CONFIG_C2PORT is not set
529
530#
531# EEPROM support
532#
533# CONFIG_EEPROM_AT24 is not set
534# CONFIG_EEPROM_AT25 is not set
535# CONFIG_EEPROM_LEGACY is not set
536# CONFIG_EEPROM_93CX6 is not set
516CONFIG_HAVE_IDE=y 537CONFIG_HAVE_IDE=y
517# CONFIG_IDE is not set 538# CONFIG_IDE is not set
518 539
@@ -539,6 +560,7 @@ CONFIG_HAVE_IDE=y
539# CONFIG_I2O is not set 560# CONFIG_I2O is not set
540# CONFIG_MACINTOSH_DRIVERS is not set 561# CONFIG_MACINTOSH_DRIVERS is not set
541CONFIG_NETDEVICES=y 562CONFIG_NETDEVICES=y
563CONFIG_COMPAT_NET_DEV_OPS=y
542# CONFIG_DUMMY is not set 564# CONFIG_DUMMY is not set
543# CONFIG_BONDING is not set 565# CONFIG_BONDING is not set
544# CONFIG_MACVLAN is not set 566# CONFIG_MACVLAN is not set
@@ -574,6 +596,7 @@ CONFIG_NETDEV_1000=y
574# CONFIG_E1000E is not set 596# CONFIG_E1000E is not set
575# CONFIG_IP1000 is not set 597# CONFIG_IP1000 is not set
576# CONFIG_IGB is not set 598# CONFIG_IGB is not set
599# CONFIG_IGBVF is not set
577# CONFIG_NS83820 is not set 600# CONFIG_NS83820 is not set
578# CONFIG_HAMACHI is not set 601# CONFIG_HAMACHI is not set
579# CONFIG_YELLOWFIN is not set 602# CONFIG_YELLOWFIN is not set
@@ -584,14 +607,15 @@ CONFIG_NETDEV_1000=y
584# CONFIG_VIA_VELOCITY is not set 607# CONFIG_VIA_VELOCITY is not set
585# CONFIG_TIGON3 is not set 608# CONFIG_TIGON3 is not set
586# CONFIG_BNX2 is not set 609# CONFIG_BNX2 is not set
610CONFIG_FSL_PQ_MDIO=y
587# CONFIG_GIANFAR is not set 611# CONFIG_GIANFAR is not set
588CONFIG_UCC_GETH=y 612CONFIG_UCC_GETH=y
589# CONFIG_UGETH_MAGIC_PACKET is not set 613# CONFIG_UGETH_MAGIC_PACKET is not set
590# CONFIG_UGETH_TX_ON_DEMAND is not set 614# CONFIG_UGETH_TX_ON_DEMAND is not set
591# CONFIG_MV643XX_ETH is not set
592# CONFIG_QLA3XXX is not set 615# CONFIG_QLA3XXX is not set
593# CONFIG_ATL1 is not set 616# CONFIG_ATL1 is not set
594# CONFIG_ATL1E is not set 617# CONFIG_ATL1E is not set
618# CONFIG_ATL1C is not set
595# CONFIG_JME is not set 619# CONFIG_JME is not set
596# CONFIG_NETDEV_10000 is not set 620# CONFIG_NETDEV_10000 is not set
597# CONFIG_TR is not set 621# CONFIG_TR is not set
@@ -601,7 +625,6 @@ CONFIG_UCC_GETH=y
601# 625#
602# CONFIG_WLAN_PRE80211 is not set 626# CONFIG_WLAN_PRE80211 is not set
603# CONFIG_WLAN_80211 is not set 627# CONFIG_WLAN_80211 is not set
604# CONFIG_IWLWIFI_LEDS is not set
605 628
606# 629#
607# Enable WiMAX (Networking options) to see the WiMAX drivers 630# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -673,6 +696,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
673# 696#
674# Non-8250 serial port support 697# Non-8250 serial port support
675# 698#
699# CONFIG_SERIAL_MAX3100 is not set
676# CONFIG_SERIAL_UARTLITE is not set 700# CONFIG_SERIAL_UARTLITE is not set
677CONFIG_SERIAL_CORE=y 701CONFIG_SERIAL_CORE=y
678CONFIG_SERIAL_CORE_CONSOLE=y 702CONFIG_SERIAL_CORE_CONSOLE=y
@@ -686,6 +710,7 @@ CONFIG_LEGACY_PTY_COUNT=256
686# CONFIG_HVC_UDBG is not set 710# CONFIG_HVC_UDBG is not set
687# CONFIG_IPMI_HANDLER is not set 711# CONFIG_IPMI_HANDLER is not set
688CONFIG_HW_RANDOM=y 712CONFIG_HW_RANDOM=y
713# CONFIG_HW_RANDOM_TIMERIOMEM is not set
689# CONFIG_NVRAM is not set 714# CONFIG_NVRAM is not set
690# CONFIG_GEN_RTC is not set 715# CONFIG_GEN_RTC is not set
691# CONFIG_R3964 is not set 716# CONFIG_R3964 is not set
@@ -749,12 +774,9 @@ CONFIG_I2C_MPC=y
749# Miscellaneous I2C Chip support 774# Miscellaneous I2C Chip support
750# 775#
751# CONFIG_DS1682 is not set 776# CONFIG_DS1682 is not set
752# CONFIG_EEPROM_AT24 is not set
753# CONFIG_EEPROM_LEGACY is not set
754# CONFIG_SENSORS_PCF8574 is not set 777# CONFIG_SENSORS_PCF8574 is not set
755# CONFIG_PCF8575 is not set 778# CONFIG_PCF8575 is not set
756# CONFIG_SENSORS_PCA9539 is not set 779# CONFIG_SENSORS_PCA9539 is not set
757# CONFIG_SENSORS_PCF8591 is not set
758# CONFIG_SENSORS_MAX6875 is not set 780# CONFIG_SENSORS_MAX6875 is not set
759# CONFIG_SENSORS_TSL2550 is not set 781# CONFIG_SENSORS_TSL2550 is not set
760# CONFIG_I2C_DEBUG_CORE is not set 782# CONFIG_I2C_DEBUG_CORE is not set
@@ -774,7 +796,6 @@ CONFIG_SPI_MPC83xx=y
774# 796#
775# SPI Protocol Masters 797# SPI Protocol Masters
776# 798#
777# CONFIG_EEPROM_AT25 is not set
778CONFIG_SPI_SPIDEV=y 799CONFIG_SPI_SPIDEV=y
779# CONFIG_SPI_TLE62X0 is not set 800# CONFIG_SPI_TLE62X0 is not set
780CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 801CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
@@ -924,6 +945,7 @@ CONFIG_FB_OF=y
924# CONFIG_FB_VIRTUAL is not set 945# CONFIG_FB_VIRTUAL is not set
925# CONFIG_FB_METRONOME is not set 946# CONFIG_FB_METRONOME is not set
926# CONFIG_FB_MB862XX is not set 947# CONFIG_FB_MB862XX is not set
948# CONFIG_FB_BROADSHEET is not set
927# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 949# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
928 950
929# 951#
@@ -956,7 +978,6 @@ CONFIG_HID=y
956# 978#
957# Special HID drivers 979# Special HID drivers
958# 980#
959CONFIG_HID_COMPAT=y
960# CONFIG_USB_SUPPORT is not set 981# CONFIG_USB_SUPPORT is not set
961# CONFIG_UWB is not set 982# CONFIG_UWB is not set
962# CONFIG_MMC is not set 983# CONFIG_MMC is not set
@@ -967,6 +988,7 @@ CONFIG_HID_COMPAT=y
967# CONFIG_EDAC is not set 988# CONFIG_EDAC is not set
968# CONFIG_RTC_CLASS is not set 989# CONFIG_RTC_CLASS is not set
969# CONFIG_DMADEVICES is not set 990# CONFIG_DMADEVICES is not set
991# CONFIG_AUXDISPLAY is not set
970# CONFIG_UIO is not set 992# CONFIG_UIO is not set
971# CONFIG_STAGING is not set 993# CONFIG_STAGING is not set
972 994
@@ -977,6 +999,7 @@ CONFIG_EXT2_FS=y
977# CONFIG_EXT2_FS_XATTR is not set 999# CONFIG_EXT2_FS_XATTR is not set
978# CONFIG_EXT2_FS_XIP is not set 1000# CONFIG_EXT2_FS_XIP is not set
979CONFIG_EXT3_FS=y 1001CONFIG_EXT3_FS=y
1002# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
980CONFIG_EXT3_FS_XATTR=y 1003CONFIG_EXT3_FS_XATTR=y
981# CONFIG_EXT3_FS_POSIX_ACL is not set 1004# CONFIG_EXT3_FS_POSIX_ACL is not set
982# CONFIG_EXT3_FS_SECURITY is not set 1005# CONFIG_EXT3_FS_SECURITY is not set
@@ -999,6 +1022,11 @@ CONFIG_INOTIFY_USER=y
999# CONFIG_FUSE_FS is not set 1022# CONFIG_FUSE_FS is not set
1000 1023
1001# 1024#
1025# Caches
1026#
1027# CONFIG_FSCACHE is not set
1028
1029#
1002# CD-ROM/DVD Filesystems 1030# CD-ROM/DVD Filesystems
1003# 1031#
1004# CONFIG_ISO9660_FS is not set 1032# CONFIG_ISO9660_FS is not set
@@ -1052,6 +1080,7 @@ CONFIG_JFFS2_RTIME=y
1052# CONFIG_ROMFS_FS is not set 1080# CONFIG_ROMFS_FS is not set
1053# CONFIG_SYSV_FS is not set 1081# CONFIG_SYSV_FS is not set
1054# CONFIG_UFS_FS is not set 1082# CONFIG_UFS_FS is not set
1083# CONFIG_NILFS2_FS is not set
1055CONFIG_NETWORK_FILESYSTEMS=y 1084CONFIG_NETWORK_FILESYSTEMS=y
1056CONFIG_NFS_FS=y 1085CONFIG_NFS_FS=y
1057CONFIG_NFS_V3=y 1086CONFIG_NFS_V3=y
@@ -1064,7 +1093,6 @@ CONFIG_LOCKD_V4=y
1064CONFIG_NFS_COMMON=y 1093CONFIG_NFS_COMMON=y
1065CONFIG_SUNRPC=y 1094CONFIG_SUNRPC=y
1066CONFIG_SUNRPC_GSS=y 1095CONFIG_SUNRPC_GSS=y
1067# CONFIG_SUNRPC_REGISTER_V4 is not set
1068CONFIG_RPCSEC_GSS_KRB5=y 1096CONFIG_RPCSEC_GSS_KRB5=y
1069# CONFIG_RPCSEC_GSS_SPKM3 is not set 1097# CONFIG_RPCSEC_GSS_SPKM3 is not set
1070# CONFIG_SMB_FS is not set 1098# CONFIG_SMB_FS is not set
@@ -1095,6 +1123,7 @@ CONFIG_PARTITION_ADVANCED=y
1095CONFIG_UCC_SLOW=y 1123CONFIG_UCC_SLOW=y
1096CONFIG_UCC_FAST=y 1124CONFIG_UCC_FAST=y
1097CONFIG_UCC=y 1125CONFIG_UCC=y
1126# CONFIG_BINARY_PRINTF is not set
1098 1127
1099# 1128#
1100# Library routines 1129# Library routines
@@ -1110,11 +1139,12 @@ CONFIG_CRC32=y
1110# CONFIG_LIBCRC32C is not set 1139# CONFIG_LIBCRC32C is not set
1111CONFIG_ZLIB_INFLATE=y 1140CONFIG_ZLIB_INFLATE=y
1112CONFIG_ZLIB_DEFLATE=y 1141CONFIG_ZLIB_DEFLATE=y
1113CONFIG_PLIST=y 1142CONFIG_DECOMPRESS_GZIP=y
1114CONFIG_HAS_IOMEM=y 1143CONFIG_HAS_IOMEM=y
1115CONFIG_HAS_IOPORT=y 1144CONFIG_HAS_IOPORT=y
1116CONFIG_HAS_DMA=y 1145CONFIG_HAS_DMA=y
1117CONFIG_HAVE_LMB=y 1146CONFIG_HAVE_LMB=y
1147CONFIG_NLATTR=y
1118 1148
1119# 1149#
1120# Kernel hacking 1150# Kernel hacking
@@ -1136,13 +1166,24 @@ CONFIG_FRAME_WARN=1024
1136# CONFIG_LATENCYTOP is not set 1166# CONFIG_LATENCYTOP is not set
1137CONFIG_SYSCTL_SYSCALL_CHECK=y 1167CONFIG_SYSCTL_SYSCALL_CHECK=y
1138CONFIG_HAVE_FUNCTION_TRACER=y 1168CONFIG_HAVE_FUNCTION_TRACER=y
1169CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1139CONFIG_HAVE_DYNAMIC_FTRACE=y 1170CONFIG_HAVE_DYNAMIC_FTRACE=y
1140CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1171CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1172CONFIG_TRACING_SUPPORT=y
1141 1173
1142# 1174#
1143# Tracers 1175# Tracers
1144# 1176#
1145# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1177# CONFIG_FUNCTION_TRACER is not set
1178# CONFIG_SCHED_TRACER is not set
1179# CONFIG_CONTEXT_SWITCH_TRACER is not set
1180# CONFIG_EVENT_TRACER is not set
1181# CONFIG_BOOT_TRACER is not set
1182# CONFIG_TRACE_BRANCH_PROFILING is not set
1183# CONFIG_STACK_TRACER is not set
1184# CONFIG_KMEMTRACE is not set
1185# CONFIG_WORKQUEUE_TRACER is not set
1186# CONFIG_BLK_DEV_IO_TRACE is not set
1146# CONFIG_SAMPLES is not set 1187# CONFIG_SAMPLES is not set
1147CONFIG_HAVE_ARCH_KGDB=y 1188CONFIG_HAVE_ARCH_KGDB=y
1148CONFIG_PRINT_STACK_DEPTH=64 1189CONFIG_PRINT_STACK_DEPTH=64
@@ -1182,10 +1223,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1182CONFIG_CRYPTO_HASH=y 1223CONFIG_CRYPTO_HASH=y
1183CONFIG_CRYPTO_HASH2=y 1224CONFIG_CRYPTO_HASH2=y
1184CONFIG_CRYPTO_RNG2=y 1225CONFIG_CRYPTO_RNG2=y
1226CONFIG_CRYPTO_PCOMP=y
1185CONFIG_CRYPTO_MANAGER=y 1227CONFIG_CRYPTO_MANAGER=y
1186CONFIG_CRYPTO_MANAGER2=y 1228CONFIG_CRYPTO_MANAGER2=y
1187# CONFIG_CRYPTO_GF128MUL is not set 1229# CONFIG_CRYPTO_GF128MUL is not set
1188# CONFIG_CRYPTO_NULL is not set 1230# CONFIG_CRYPTO_NULL is not set
1231CONFIG_CRYPTO_WORKQUEUE=y
1189# CONFIG_CRYPTO_CRYPTD is not set 1232# CONFIG_CRYPTO_CRYPTD is not set
1190# CONFIG_CRYPTO_AUTHENC is not set 1233# CONFIG_CRYPTO_AUTHENC is not set
1191# CONFIG_CRYPTO_TEST is not set 1234# CONFIG_CRYPTO_TEST is not set
@@ -1254,6 +1297,7 @@ CONFIG_CRYPTO_DES=y
1254# Compression 1297# Compression
1255# 1298#
1256# CONFIG_CRYPTO_DEFLATE is not set 1299# CONFIG_CRYPTO_DEFLATE is not set
1300# CONFIG_CRYPTO_ZLIB is not set
1257# CONFIG_CRYPTO_LZO is not set 1301# CONFIG_CRYPTO_LZO is not set
1258 1302
1259# 1303#
diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
index e42f6b3917d2..bf636fd560ad 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:59 2009 4# Wed May 13 17:22:12 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,20 +98,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94CONFIG_KALLSYMS=y 109CONFIG_KALLSYMS=y
95# CONFIG_KALLSYMS_EXTRA_PASS is not set 110# CONFIG_KALLSYMS_EXTRA_PASS is not set
111# CONFIG_STRIP_ASM_SYMS is not set
96CONFIG_HOTPLUG=y 112CONFIG_HOTPLUG=y
97CONFIG_PRINTK=y 113CONFIG_PRINTK=y
98CONFIG_BUG=y 114CONFIG_BUG=y
99CONFIG_ELF_CORE=y 115CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
101CONFIG_BASE_FULL=y 116CONFIG_BASE_FULL=y
102CONFIG_FUTEX=y 117CONFIG_FUTEX=y
103CONFIG_ANON_INODES=y
104# CONFIG_EPOLL is not set 118# CONFIG_EPOLL is not set
105CONFIG_SIGNALFD=y 119CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 120CONFIG_TIMERFD=y
@@ -109,10 +123,12 @@ CONFIG_SHMEM=y
109CONFIG_AIO=y 123CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 124CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y 125CONFIG_PCI_QUIRKS=y
126CONFIG_COMPAT_BRK=y
112CONFIG_SLAB=y 127CONFIG_SLAB=y
113# CONFIG_SLUB is not set 128# CONFIG_SLUB is not set
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set 133# CONFIG_KPROBES is not set
118CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 134CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -120,6 +136,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 136CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 137CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 138CONFIG_HAVE_ARCH_TRACEHOOK=y
139# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 140# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 141CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 142CONFIG_RT_MUTEXES=y
@@ -132,7 +149,6 @@ CONFIG_MODULE_UNLOAD=y
132# CONFIG_MODULE_SRCVERSION_ALL is not set 149# CONFIG_MODULE_SRCVERSION_ALL is not set
133CONFIG_BLOCK=y 150CONFIG_BLOCK=y
134# CONFIG_LBD is not set 151# CONFIG_LBD is not set
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 152# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 153# CONFIG_BLK_DEV_INTEGRITY is not set
138 154
@@ -148,18 +164,11 @@ CONFIG_DEFAULT_AS=y
148# CONFIG_DEFAULT_CFQ is not set 164# CONFIG_DEFAULT_CFQ is not set
149# CONFIG_DEFAULT_NOOP is not set 165# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 166CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y
152# CONFIG_TREE_RCU is not set
153# CONFIG_PREEMPT_RCU is not set
154# CONFIG_TREE_RCU_TRACE is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set
156# CONFIG_FREEZER is not set 167# CONFIG_FREEZER is not set
157 168
158# 169#
159# Platform support 170# Platform support
160# 171#
161CONFIG_PPC_MULTIPLATFORM=y
162CONFIG_CLASSIC32=y
163# CONFIG_PPC_CHRP is not set 172# CONFIG_PPC_CHRP is not set
164# CONFIG_MPC5121_ADS is not set 173# CONFIG_MPC5121_ADS is not set
165# CONFIG_MPC5121_GENERIC is not set 174# CONFIG_MPC5121_GENERIC is not set
@@ -184,6 +193,8 @@ CONFIG_MPC837x_MDS=y
184CONFIG_PPC_MPC837x=y 193CONFIG_PPC_MPC837x=y
185# CONFIG_PPC_86xx is not set 194# CONFIG_PPC_86xx is not set
186# CONFIG_EMBEDDED6xx is not set 195# CONFIG_EMBEDDED6xx is not set
196# CONFIG_AMIGAONE is not set
197CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
187CONFIG_IPIC=y 198CONFIG_IPIC=y
188# CONFIG_MPIC is not set 199# CONFIG_MPIC is not set
189# CONFIG_MPIC_WEIRD is not set 200# CONFIG_MPIC_WEIRD is not set
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 255CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 256CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y 257CONFIG_UNEVICTABLE_LRU=y
258CONFIG_HAVE_MLOCK=y
259CONFIG_HAVE_MLOCKED_PAGE_BIT=y
247CONFIG_PPC_4K_PAGES=y 260CONFIG_PPC_4K_PAGES=y
248# CONFIG_PPC_16K_PAGES is not set 261# CONFIG_PPC_16K_PAGES is not set
249# CONFIG_PPC_64K_PAGES is not set 262# CONFIG_PPC_64K_PAGES is not set
263# CONFIG_PPC_256K_PAGES is not set
250CONFIG_FORCE_MAX_ZONEORDER=11 264CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 265CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 266# CONFIG_CMDLINE_BOOL is not set
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
272# CONFIG_PCI_MSI is not set 286# CONFIG_PCI_MSI is not set
273# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCI_STUB is not set 288# CONFIG_PCI_STUB is not set
289# CONFIG_PCI_IOV is not set
275# CONFIG_PCCARD is not set 290# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 291# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 292# CONFIG_HAS_RAPIDIO is not set
@@ -294,7 +309,6 @@ CONFIG_NET=y
294# 309#
295# Networking options 310# Networking options
296# 311#
297CONFIG_COMPAT_NET_DEV_OPS=y
298CONFIG_PACKET=y 312CONFIG_PACKET=y
299# CONFIG_PACKET_MMAP is not set 313# CONFIG_PACKET_MMAP is not set
300CONFIG_UNIX=y 314CONFIG_UNIX=y
@@ -350,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_LAPB is not set 364# CONFIG_LAPB is not set
351# CONFIG_ECONET is not set 365# CONFIG_ECONET is not set
352# CONFIG_WAN_ROUTER is not set 366# CONFIG_WAN_ROUTER is not set
367# CONFIG_PHONET is not set
353# CONFIG_NET_SCHED is not set 368# CONFIG_NET_SCHED is not set
354# CONFIG_DCB is not set 369# CONFIG_DCB is not set
355 370
@@ -362,7 +377,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
362# CONFIG_IRDA is not set 377# CONFIG_IRDA is not set
363# CONFIG_BT is not set 378# CONFIG_BT is not set
364# CONFIG_AF_RXRPC is not set 379# CONFIG_AF_RXRPC is not set
365# CONFIG_PHONET is not set
366CONFIG_WIRELESS=y 380CONFIG_WIRELESS=y
367# CONFIG_CFG80211 is not set 381# CONFIG_CFG80211 is not set
368CONFIG_WIRELESS_OLD_REGULATORY=y 382CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -410,13 +424,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
410# CONFIG_BLK_DEV_HD is not set 424# CONFIG_BLK_DEV_HD is not set
411CONFIG_MISC_DEVICES=y 425CONFIG_MISC_DEVICES=y
412# CONFIG_PHANTOM is not set 426# CONFIG_PHANTOM is not set
413# CONFIG_EEPROM_93CX6 is not set
414# CONFIG_SGI_IOC4 is not set 427# CONFIG_SGI_IOC4 is not set
415# CONFIG_TIFM_CORE is not set 428# CONFIG_TIFM_CORE is not set
416# CONFIG_ICS932S401 is not set 429# CONFIG_ICS932S401 is not set
417# CONFIG_ENCLOSURE_SERVICES is not set 430# CONFIG_ENCLOSURE_SERVICES is not set
418# CONFIG_HP_ILO is not set 431# CONFIG_HP_ILO is not set
432# CONFIG_ISL29003 is not set
419# CONFIG_C2PORT is not set 433# CONFIG_C2PORT is not set
434
435#
436# EEPROM support
437#
438# CONFIG_EEPROM_AT24 is not set
439# CONFIG_EEPROM_LEGACY is not set
440# CONFIG_EEPROM_93CX6 is not set
420CONFIG_HAVE_IDE=y 441CONFIG_HAVE_IDE=y
421# CONFIG_IDE is not set 442# CONFIG_IDE is not set
422 443
@@ -474,9 +495,11 @@ CONFIG_SCSI_LOWLEVEL=y
474# CONFIG_MEGARAID_NEWGEN is not set 495# CONFIG_MEGARAID_NEWGEN is not set
475# CONFIG_MEGARAID_LEGACY is not set 496# CONFIG_MEGARAID_LEGACY is not set
476# CONFIG_MEGARAID_SAS is not set 497# CONFIG_MEGARAID_SAS is not set
498# CONFIG_SCSI_MPT2SAS is not set
477# CONFIG_SCSI_HPTIOP is not set 499# CONFIG_SCSI_HPTIOP is not set
478# CONFIG_SCSI_BUSLOGIC is not set 500# CONFIG_SCSI_BUSLOGIC is not set
479# CONFIG_LIBFC is not set 501# CONFIG_LIBFC is not set
502# CONFIG_LIBFCOE is not set
480# CONFIG_FCOE is not set 503# CONFIG_FCOE is not set
481# CONFIG_SCSI_DMX3191D is not set 504# CONFIG_SCSI_DMX3191D is not set
482# CONFIG_SCSI_EATA is not set 505# CONFIG_SCSI_EATA is not set
@@ -499,6 +522,7 @@ CONFIG_SCSI_LOWLEVEL=y
499# CONFIG_SCSI_DEBUG is not set 522# CONFIG_SCSI_DEBUG is not set
500# CONFIG_SCSI_SRP is not set 523# CONFIG_SCSI_SRP is not set
501# CONFIG_SCSI_DH is not set 524# CONFIG_SCSI_DH is not set
525# CONFIG_SCSI_OSD_INITIATOR is not set
502CONFIG_ATA=y 526CONFIG_ATA=y
503# CONFIG_ATA_NONSTANDARD is not set 527# CONFIG_ATA_NONSTANDARD is not set
504CONFIG_SATA_PMP=y 528CONFIG_SATA_PMP=y
@@ -575,6 +599,7 @@ CONFIG_ATA_SFF=y
575# CONFIG_I2O is not set 599# CONFIG_I2O is not set
576# CONFIG_MACINTOSH_DRIVERS is not set 600# CONFIG_MACINTOSH_DRIVERS is not set
577CONFIG_NETDEVICES=y 601CONFIG_NETDEVICES=y
602CONFIG_COMPAT_NET_DEV_OPS=y
578# CONFIG_DUMMY is not set 603# CONFIG_DUMMY is not set
579# CONFIG_BONDING is not set 604# CONFIG_BONDING is not set
580# CONFIG_MACVLAN is not set 605# CONFIG_MACVLAN is not set
@@ -608,6 +633,8 @@ CONFIG_MII=y
608# CONFIG_SUNGEM is not set 633# CONFIG_SUNGEM is not set
609# CONFIG_CASSINI is not set 634# CONFIG_CASSINI is not set
610# CONFIG_NET_VENDOR_3COM is not set 635# CONFIG_NET_VENDOR_3COM is not set
636# CONFIG_ETHOC is not set
637# CONFIG_DNET is not set
611# CONFIG_NET_TULIP is not set 638# CONFIG_NET_TULIP is not set
612# CONFIG_HP100 is not set 639# CONFIG_HP100 is not set
613# CONFIG_IBM_NEW_EMAC_ZMII is not set 640# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -627,6 +654,7 @@ CONFIG_NETDEV_1000=y
627# CONFIG_E1000E is not set 654# CONFIG_E1000E is not set
628# CONFIG_IP1000 is not set 655# CONFIG_IP1000 is not set
629# CONFIG_IGB is not set 656# CONFIG_IGB is not set
657# CONFIG_IGBVF is not set
630# CONFIG_NS83820 is not set 658# CONFIG_NS83820 is not set
631# CONFIG_HAMACHI is not set 659# CONFIG_HAMACHI is not set
632# CONFIG_YELLOWFIN is not set 660# CONFIG_YELLOWFIN is not set
@@ -637,11 +665,12 @@ CONFIG_NETDEV_1000=y
637# CONFIG_VIA_VELOCITY is not set 665# CONFIG_VIA_VELOCITY is not set
638# CONFIG_TIGON3 is not set 666# CONFIG_TIGON3 is not set
639# CONFIG_BNX2 is not set 667# CONFIG_BNX2 is not set
668CONFIG_FSL_PQ_MDIO=y
640CONFIG_GIANFAR=y 669CONFIG_GIANFAR=y
641# CONFIG_MV643XX_ETH is not set
642# CONFIG_QLA3XXX is not set 670# CONFIG_QLA3XXX is not set
643# CONFIG_ATL1 is not set 671# CONFIG_ATL1 is not set
644# CONFIG_ATL1E is not set 672# CONFIG_ATL1E is not set
673# CONFIG_ATL1C is not set
645# CONFIG_JME is not set 674# CONFIG_JME is not set
646CONFIG_NETDEV_10000=y 675CONFIG_NETDEV_10000=y
647# CONFIG_CHELSIO_T1 is not set 676# CONFIG_CHELSIO_T1 is not set
@@ -651,6 +680,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
651# CONFIG_IXGBE is not set 680# CONFIG_IXGBE is not set
652# CONFIG_IXGB is not set 681# CONFIG_IXGB is not set
653# CONFIG_S2IO is not set 682# CONFIG_S2IO is not set
683# CONFIG_VXGE is not set
654# CONFIG_MYRI10GE is not set 684# CONFIG_MYRI10GE is not set
655# CONFIG_NETXEN_NIC is not set 685# CONFIG_NETXEN_NIC is not set
656# CONFIG_NIU is not set 686# CONFIG_NIU is not set
@@ -660,6 +690,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
660# CONFIG_BNX2X is not set 690# CONFIG_BNX2X is not set
661# CONFIG_QLGE is not set 691# CONFIG_QLGE is not set
662# CONFIG_SFC is not set 692# CONFIG_SFC is not set
693# CONFIG_BE2NET is not set
663# CONFIG_TR is not set 694# CONFIG_TR is not set
664 695
665# 696#
@@ -667,7 +698,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
667# 698#
668# CONFIG_WLAN_PRE80211 is not set 699# CONFIG_WLAN_PRE80211 is not set
669# CONFIG_WLAN_80211 is not set 700# CONFIG_WLAN_80211 is not set
670# CONFIG_IWLWIFI_LEDS is not set
671 701
672# 702#
673# Enable WiMAX (Networking options) to see the WiMAX drivers 703# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -811,12 +841,9 @@ CONFIG_I2C_MPC=y
811# Miscellaneous I2C Chip support 841# Miscellaneous I2C Chip support
812# 842#
813# CONFIG_DS1682 is not set 843# CONFIG_DS1682 is not set
814# CONFIG_EEPROM_AT24 is not set
815# CONFIG_EEPROM_LEGACY is not set
816# CONFIG_SENSORS_PCF8574 is not set 844# CONFIG_SENSORS_PCF8574 is not set
817# CONFIG_PCF8575 is not set 845# CONFIG_PCF8575 is not set
818# CONFIG_SENSORS_PCA9539 is not set 846# CONFIG_SENSORS_PCA9539 is not set
819# CONFIG_SENSORS_PCF8591 is not set
820# CONFIG_SENSORS_MAX6875 is not set 847# CONFIG_SENSORS_MAX6875 is not set
821# CONFIG_SENSORS_TSL2550 is not set 848# CONFIG_SENSORS_TSL2550 is not set
822# CONFIG_I2C_DEBUG_CORE is not set 849# CONFIG_I2C_DEBUG_CORE is not set
@@ -848,6 +875,7 @@ CONFIG_HWMON=y
848# CONFIG_SENSORS_F71805F is not set 875# CONFIG_SENSORS_F71805F is not set
849# CONFIG_SENSORS_F71882FG is not set 876# CONFIG_SENSORS_F71882FG is not set
850# CONFIG_SENSORS_F75375S is not set 877# CONFIG_SENSORS_F75375S is not set
878# CONFIG_SENSORS_G760A is not set
851# CONFIG_SENSORS_GL518SM is not set 879# CONFIG_SENSORS_GL518SM is not set
852# CONFIG_SENSORS_GL520SM is not set 880# CONFIG_SENSORS_GL520SM is not set
853# CONFIG_SENSORS_IT87 is not set 881# CONFIG_SENSORS_IT87 is not set
@@ -862,11 +890,14 @@ CONFIG_HWMON=y
862# CONFIG_SENSORS_LM90 is not set 890# CONFIG_SENSORS_LM90 is not set
863# CONFIG_SENSORS_LM92 is not set 891# CONFIG_SENSORS_LM92 is not set
864# CONFIG_SENSORS_LM93 is not set 892# CONFIG_SENSORS_LM93 is not set
893# CONFIG_SENSORS_LTC4215 is not set
865# CONFIG_SENSORS_LTC4245 is not set 894# CONFIG_SENSORS_LTC4245 is not set
895# CONFIG_SENSORS_LM95241 is not set
866# CONFIG_SENSORS_MAX1619 is not set 896# CONFIG_SENSORS_MAX1619 is not set
867# CONFIG_SENSORS_MAX6650 is not set 897# CONFIG_SENSORS_MAX6650 is not set
868# CONFIG_SENSORS_PC87360 is not set 898# CONFIG_SENSORS_PC87360 is not set
869# CONFIG_SENSORS_PC87427 is not set 899# CONFIG_SENSORS_PC87427 is not set
900# CONFIG_SENSORS_PCF8591 is not set
870# CONFIG_SENSORS_SIS5595 is not set 901# CONFIG_SENSORS_SIS5595 is not set
871# CONFIG_SENSORS_DME1737 is not set 902# CONFIG_SENSORS_DME1737 is not set
872# CONFIG_SENSORS_SMSC47M1 is not set 903# CONFIG_SENSORS_SMSC47M1 is not set
@@ -964,7 +995,6 @@ CONFIG_HID=y
964# 995#
965# Special HID drivers 996# Special HID drivers
966# 997#
967CONFIG_HID_COMPAT=y
968CONFIG_USB_SUPPORT=y 998CONFIG_USB_SUPPORT=y
969CONFIG_USB_ARCH_HAS_HCD=y 999CONFIG_USB_ARCH_HAS_HCD=y
970CONFIG_USB_ARCH_HAS_OHCI=y 1000CONFIG_USB_ARCH_HAS_OHCI=y
@@ -978,7 +1008,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
978# 1008#
979 1009
980# 1010#
981# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1011# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
982# 1012#
983# CONFIG_USB_GADGET is not set 1013# CONFIG_USB_GADGET is not set
984 1014
@@ -994,6 +1024,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
994# CONFIG_EDAC is not set 1024# CONFIG_EDAC is not set
995# CONFIG_RTC_CLASS is not set 1025# CONFIG_RTC_CLASS is not set
996# CONFIG_DMADEVICES is not set 1026# CONFIG_DMADEVICES is not set
1027# CONFIG_AUXDISPLAY is not set
997# CONFIG_UIO is not set 1028# CONFIG_UIO is not set
998# CONFIG_STAGING is not set 1029# CONFIG_STAGING is not set
999 1030
@@ -1004,6 +1035,7 @@ CONFIG_EXT2_FS=y
1004# CONFIG_EXT2_FS_XATTR is not set 1035# CONFIG_EXT2_FS_XATTR is not set
1005# CONFIG_EXT2_FS_XIP is not set 1036# CONFIG_EXT2_FS_XIP is not set
1006CONFIG_EXT3_FS=y 1037CONFIG_EXT3_FS=y
1038# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
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
@@ -1026,6 +1058,11 @@ CONFIG_INOTIFY_USER=y
1026# CONFIG_FUSE_FS is not set 1058# CONFIG_FUSE_FS is not set
1027 1059
1028# 1060#
1061# Caches
1062#
1063# CONFIG_FSCACHE is not set
1064
1065#
1029# CD-ROM/DVD Filesystems 1066# CD-ROM/DVD Filesystems
1030# 1067#
1031# CONFIG_ISO9660_FS is not set 1068# CONFIG_ISO9660_FS is not set
@@ -1068,6 +1105,7 @@ CONFIG_MISC_FILESYSTEMS=y
1068# CONFIG_ROMFS_FS is not set 1105# CONFIG_ROMFS_FS is not set
1069# CONFIG_SYSV_FS is not set 1106# CONFIG_SYSV_FS is not set
1070# CONFIG_UFS_FS is not set 1107# CONFIG_UFS_FS is not set
1108# CONFIG_NILFS2_FS is not set
1071CONFIG_NETWORK_FILESYSTEMS=y 1109CONFIG_NETWORK_FILESYSTEMS=y
1072CONFIG_NFS_FS=y 1110CONFIG_NFS_FS=y
1073CONFIG_NFS_V3=y 1111CONFIG_NFS_V3=y
@@ -1080,7 +1118,6 @@ CONFIG_LOCKD_V4=y
1080CONFIG_NFS_COMMON=y 1118CONFIG_NFS_COMMON=y
1081CONFIG_SUNRPC=y 1119CONFIG_SUNRPC=y
1082CONFIG_SUNRPC_GSS=y 1120CONFIG_SUNRPC_GSS=y
1083# CONFIG_SUNRPC_REGISTER_V4 is not set
1084CONFIG_RPCSEC_GSS_KRB5=y 1121CONFIG_RPCSEC_GSS_KRB5=y
1085# CONFIG_RPCSEC_GSS_SPKM3 is not set 1122# CONFIG_RPCSEC_GSS_SPKM3 is not set
1086# CONFIG_SMB_FS is not set 1123# CONFIG_SMB_FS is not set
@@ -1112,6 +1149,7 @@ CONFIG_MSDOS_PARTITION=y
1112# CONFIG_SYSV68_PARTITION is not set 1149# CONFIG_SYSV68_PARTITION is not set
1113# CONFIG_NLS is not set 1150# CONFIG_NLS is not set
1114# CONFIG_DLM is not set 1151# CONFIG_DLM is not set
1152# CONFIG_BINARY_PRINTF is not set
1115 1153
1116# 1154#
1117# Library routines 1155# Library routines
@@ -1125,11 +1163,13 @@ CONFIG_CRC_T10DIF=y
1125CONFIG_CRC32=y 1163CONFIG_CRC32=y
1126# CONFIG_CRC7 is not set 1164# CONFIG_CRC7 is not set
1127# CONFIG_LIBCRC32C is not set 1165# CONFIG_LIBCRC32C is not set
1128CONFIG_PLIST=y 1166CONFIG_ZLIB_INFLATE=y
1167CONFIG_DECOMPRESS_GZIP=y
1129CONFIG_HAS_IOMEM=y 1168CONFIG_HAS_IOMEM=y
1130CONFIG_HAS_IOPORT=y 1169CONFIG_HAS_IOPORT=y
1131CONFIG_HAS_DMA=y 1170CONFIG_HAS_DMA=y
1132CONFIG_HAVE_LMB=y 1171CONFIG_HAVE_LMB=y
1172CONFIG_NLATTR=y
1133 1173
1134# 1174#
1135# Kernel hacking 1175# Kernel hacking
@@ -1149,13 +1189,24 @@ CONFIG_FRAME_WARN=1024
1149# CONFIG_LATENCYTOP is not set 1189# CONFIG_LATENCYTOP is not set
1150CONFIG_SYSCTL_SYSCALL_CHECK=y 1190CONFIG_SYSCTL_SYSCALL_CHECK=y
1151CONFIG_HAVE_FUNCTION_TRACER=y 1191CONFIG_HAVE_FUNCTION_TRACER=y
1192CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1152CONFIG_HAVE_DYNAMIC_FTRACE=y 1193CONFIG_HAVE_DYNAMIC_FTRACE=y
1153CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1194CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1195CONFIG_TRACING_SUPPORT=y
1154 1196
1155# 1197#
1156# Tracers 1198# Tracers
1157# 1199#
1158# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1200# CONFIG_FUNCTION_TRACER is not set
1201# CONFIG_SCHED_TRACER is not set
1202# CONFIG_CONTEXT_SWITCH_TRACER is not set
1203# CONFIG_EVENT_TRACER is not set
1204# CONFIG_BOOT_TRACER is not set
1205# CONFIG_TRACE_BRANCH_PROFILING is not set
1206# CONFIG_STACK_TRACER is not set
1207# CONFIG_KMEMTRACE is not set
1208# CONFIG_WORKQUEUE_TRACER is not set
1209# CONFIG_BLK_DEV_IO_TRACE is not set
1159# CONFIG_SAMPLES is not set 1210# CONFIG_SAMPLES is not set
1160CONFIG_HAVE_ARCH_KGDB=y 1211CONFIG_HAVE_ARCH_KGDB=y
1161CONFIG_PRINT_STACK_DEPTH=64 1212CONFIG_PRINT_STACK_DEPTH=64
@@ -1184,10 +1235,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1184CONFIG_CRYPTO_HASH=y 1235CONFIG_CRYPTO_HASH=y
1185CONFIG_CRYPTO_HASH2=y 1236CONFIG_CRYPTO_HASH2=y
1186CONFIG_CRYPTO_RNG2=y 1237CONFIG_CRYPTO_RNG2=y
1238CONFIG_CRYPTO_PCOMP=y
1187CONFIG_CRYPTO_MANAGER=y 1239CONFIG_CRYPTO_MANAGER=y
1188CONFIG_CRYPTO_MANAGER2=y 1240CONFIG_CRYPTO_MANAGER2=y
1189# CONFIG_CRYPTO_GF128MUL is not set 1241# CONFIG_CRYPTO_GF128MUL is not set
1190# CONFIG_CRYPTO_NULL is not set 1242# CONFIG_CRYPTO_NULL is not set
1243CONFIG_CRYPTO_WORKQUEUE=y
1191# CONFIG_CRYPTO_CRYPTD is not set 1244# CONFIG_CRYPTO_CRYPTD is not set
1192# CONFIG_CRYPTO_AUTHENC is not set 1245# CONFIG_CRYPTO_AUTHENC is not set
1193# CONFIG_CRYPTO_TEST is not set 1246# CONFIG_CRYPTO_TEST is not set
@@ -1256,6 +1309,7 @@ CONFIG_CRYPTO_DES=y
1256# Compression 1309# Compression
1257# 1310#
1258# CONFIG_CRYPTO_DEFLATE is not set 1311# CONFIG_CRYPTO_DEFLATE is not set
1312# CONFIG_CRYPTO_ZLIB is not set
1259# CONFIG_CRYPTO_LZO is not set 1313# CONFIG_CRYPTO_LZO is not set
1260 1314
1261# 1315#
diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
index 408022f79a50..fe6454eacbdb 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:01 2009 4# Wed May 13 17:22:14 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,20 +98,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94CONFIG_KALLSYMS=y 109CONFIG_KALLSYMS=y
95# CONFIG_KALLSYMS_EXTRA_PASS is not set 110# CONFIG_KALLSYMS_EXTRA_PASS is not set
111# CONFIG_STRIP_ASM_SYMS is not set
96CONFIG_HOTPLUG=y 112CONFIG_HOTPLUG=y
97CONFIG_PRINTK=y 113CONFIG_PRINTK=y
98CONFIG_BUG=y 114CONFIG_BUG=y
99CONFIG_ELF_CORE=y 115CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
101CONFIG_BASE_FULL=y 116CONFIG_BASE_FULL=y
102CONFIG_FUTEX=y 117CONFIG_FUTEX=y
103CONFIG_ANON_INODES=y
104# CONFIG_EPOLL is not set 118# CONFIG_EPOLL is not set
105CONFIG_SIGNALFD=y 119CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 120CONFIG_TIMERFD=y
@@ -109,10 +123,12 @@ CONFIG_SHMEM=y
109CONFIG_AIO=y 123CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 124CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y 125CONFIG_PCI_QUIRKS=y
126CONFIG_COMPAT_BRK=y
112CONFIG_SLAB=y 127CONFIG_SLAB=y
113# CONFIG_SLUB is not set 128# CONFIG_SLUB is not set
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set 133# CONFIG_KPROBES is not set
118CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 134CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -120,6 +136,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 136CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 137CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 138CONFIG_HAVE_ARCH_TRACEHOOK=y
139# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 140# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 141CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 142CONFIG_RT_MUTEXES=y
@@ -132,7 +149,6 @@ CONFIG_MODULE_UNLOAD=y
132# CONFIG_MODULE_SRCVERSION_ALL is not set 149# CONFIG_MODULE_SRCVERSION_ALL is not set
133CONFIG_BLOCK=y 150CONFIG_BLOCK=y
134# CONFIG_LBD is not set 151# CONFIG_LBD is not set
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 152# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 153# CONFIG_BLK_DEV_INTEGRITY is not set
138 154
@@ -148,18 +164,11 @@ CONFIG_DEFAULT_AS=y
148# CONFIG_DEFAULT_CFQ is not set 164# CONFIG_DEFAULT_CFQ is not set
149# CONFIG_DEFAULT_NOOP is not set 165# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 166CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y
152# CONFIG_TREE_RCU is not set
153# CONFIG_PREEMPT_RCU is not set
154# CONFIG_TREE_RCU_TRACE is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set
156# CONFIG_FREEZER is not set 167# CONFIG_FREEZER is not set
157 168
158# 169#
159# Platform support 170# Platform support
160# 171#
161CONFIG_PPC_MULTIPLATFORM=y
162CONFIG_CLASSIC32=y
163# CONFIG_PPC_CHRP is not set 172# CONFIG_PPC_CHRP is not set
164# CONFIG_MPC5121_ADS is not set 173# CONFIG_MPC5121_ADS is not set
165# CONFIG_MPC5121_GENERIC is not set 174# CONFIG_MPC5121_GENERIC is not set
@@ -184,6 +193,8 @@ CONFIG_MPC837x_RDB=y
184CONFIG_PPC_MPC837x=y 193CONFIG_PPC_MPC837x=y
185# CONFIG_PPC_86xx is not set 194# CONFIG_PPC_86xx is not set
186# CONFIG_EMBEDDED6xx is not set 195# CONFIG_EMBEDDED6xx is not set
196# CONFIG_AMIGAONE is not set
197CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
187CONFIG_IPIC=y 198CONFIG_IPIC=y
188# CONFIG_MPIC is not set 199# CONFIG_MPIC is not set
189# CONFIG_MPIC_WEIRD is not set 200# CONFIG_MPIC_WEIRD is not set
@@ -244,9 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 255CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 256CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y 257CONFIG_UNEVICTABLE_LRU=y
258CONFIG_HAVE_MLOCK=y
259CONFIG_HAVE_MLOCKED_PAGE_BIT=y
247CONFIG_PPC_4K_PAGES=y 260CONFIG_PPC_4K_PAGES=y
248# CONFIG_PPC_16K_PAGES is not set 261# CONFIG_PPC_16K_PAGES is not set
249# CONFIG_PPC_64K_PAGES is not set 262# CONFIG_PPC_64K_PAGES is not set
263# CONFIG_PPC_256K_PAGES is not set
250CONFIG_FORCE_MAX_ZONEORDER=11 264CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 265CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 266# CONFIG_CMDLINE_BOOL is not set
@@ -272,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
272# CONFIG_PCI_MSI is not set 286# CONFIG_PCI_MSI is not set
273# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCI_STUB is not set 288# CONFIG_PCI_STUB is not set
289# CONFIG_PCI_IOV is not set
275# CONFIG_PCCARD is not set 290# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 291# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 292# CONFIG_HAS_RAPIDIO is not set
@@ -294,7 +309,6 @@ CONFIG_NET=y
294# 309#
295# Networking options 310# Networking options
296# 311#
297CONFIG_COMPAT_NET_DEV_OPS=y
298CONFIG_PACKET=y 312CONFIG_PACKET=y
299# CONFIG_PACKET_MMAP is not set 313# CONFIG_PACKET_MMAP is not set
300CONFIG_UNIX=y 314CONFIG_UNIX=y
@@ -345,6 +359,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
345# CONFIG_LAPB is not set 359# CONFIG_LAPB is not set
346# CONFIG_ECONET is not set 360# CONFIG_ECONET is not set
347# CONFIG_WAN_ROUTER is not set 361# CONFIG_WAN_ROUTER is not set
362# CONFIG_PHONET is not set
348# CONFIG_NET_SCHED is not set 363# CONFIG_NET_SCHED is not set
349# CONFIG_DCB is not set 364# CONFIG_DCB is not set
350 365
@@ -357,7 +372,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
357# CONFIG_IRDA is not set 372# CONFIG_IRDA is not set
358# CONFIG_BT is not set 373# CONFIG_BT is not set
359# CONFIG_AF_RXRPC is not set 374# CONFIG_AF_RXRPC is not set
360# CONFIG_PHONET is not set
361CONFIG_WIRELESS=y 375CONFIG_WIRELESS=y
362# CONFIG_CFG80211 is not set 376# CONFIG_CFG80211 is not set
363CONFIG_WIRELESS_OLD_REGULATORY=y 377CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -406,13 +420,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
406# CONFIG_BLK_DEV_HD is not set 420# CONFIG_BLK_DEV_HD is not set
407CONFIG_MISC_DEVICES=y 421CONFIG_MISC_DEVICES=y
408# CONFIG_PHANTOM is not set 422# CONFIG_PHANTOM is not set
409# CONFIG_EEPROM_93CX6 is not set
410# CONFIG_SGI_IOC4 is not set 423# CONFIG_SGI_IOC4 is not set
411# CONFIG_TIFM_CORE is not set 424# CONFIG_TIFM_CORE is not set
412# CONFIG_ICS932S401 is not set 425# CONFIG_ICS932S401 is not set
413# CONFIG_ENCLOSURE_SERVICES is not set 426# CONFIG_ENCLOSURE_SERVICES is not set
414# CONFIG_HP_ILO is not set 427# CONFIG_HP_ILO is not set
428# CONFIG_ISL29003 is not set
415# CONFIG_C2PORT is not set 429# CONFIG_C2PORT is not set
430
431#
432# EEPROM support
433#
434# CONFIG_EEPROM_AT24 is not set
435# CONFIG_EEPROM_LEGACY is not set
436# CONFIG_EEPROM_93CX6 is not set
416CONFIG_HAVE_IDE=y 437CONFIG_HAVE_IDE=y
417# CONFIG_IDE is not set 438# CONFIG_IDE is not set
418 439
@@ -469,9 +490,11 @@ CONFIG_SCSI_LOWLEVEL=y
469# CONFIG_MEGARAID_NEWGEN is not set 490# CONFIG_MEGARAID_NEWGEN is not set
470# CONFIG_MEGARAID_LEGACY is not set 491# CONFIG_MEGARAID_LEGACY is not set
471# CONFIG_MEGARAID_SAS is not set 492# CONFIG_MEGARAID_SAS is not set
493# CONFIG_SCSI_MPT2SAS is not set
472# CONFIG_SCSI_HPTIOP is not set 494# CONFIG_SCSI_HPTIOP is not set
473# CONFIG_SCSI_BUSLOGIC is not set 495# CONFIG_SCSI_BUSLOGIC is not set
474# CONFIG_LIBFC is not set 496# CONFIG_LIBFC is not set
497# CONFIG_LIBFCOE is not set
475# CONFIG_FCOE is not set 498# CONFIG_FCOE is not set
476# CONFIG_SCSI_DMX3191D is not set 499# CONFIG_SCSI_DMX3191D is not set
477# CONFIG_SCSI_EATA is not set 500# CONFIG_SCSI_EATA is not set
@@ -494,6 +517,7 @@ CONFIG_SCSI_LOWLEVEL=y
494# CONFIG_SCSI_DEBUG is not set 517# CONFIG_SCSI_DEBUG is not set
495# CONFIG_SCSI_SRP is not set 518# CONFIG_SCSI_SRP is not set
496# CONFIG_SCSI_DH is not set 519# CONFIG_SCSI_DH is not set
520# CONFIG_SCSI_OSD_INITIATOR is not set
497CONFIG_ATA=y 521CONFIG_ATA=y
498# CONFIG_ATA_NONSTANDARD is not set 522# CONFIG_ATA_NONSTANDARD is not set
499CONFIG_SATA_PMP=y 523CONFIG_SATA_PMP=y
@@ -563,7 +587,7 @@ CONFIG_MD_AUTODETECT=y
563CONFIG_MD_RAID1=y 587CONFIG_MD_RAID1=y
564# CONFIG_MD_RAID10 is not set 588# CONFIG_MD_RAID10 is not set
565CONFIG_MD_RAID456=y 589CONFIG_MD_RAID456=y
566CONFIG_MD_RAID5_RESHAPE=y 590CONFIG_MD_RAID6_PQ=y
567# CONFIG_MD_MULTIPATH is not set 591# CONFIG_MD_MULTIPATH is not set
568# CONFIG_MD_FAULTY is not set 592# CONFIG_MD_FAULTY is not set
569# CONFIG_BLK_DEV_DM is not set 593# CONFIG_BLK_DEV_DM is not set
@@ -581,6 +605,7 @@ CONFIG_MD_RAID5_RESHAPE=y
581# CONFIG_I2O is not set 605# CONFIG_I2O is not set
582# CONFIG_MACINTOSH_DRIVERS is not set 606# CONFIG_MACINTOSH_DRIVERS is not set
583CONFIG_NETDEVICES=y 607CONFIG_NETDEVICES=y
608CONFIG_COMPAT_NET_DEV_OPS=y
584# CONFIG_DUMMY is not set 609# CONFIG_DUMMY is not set
585# CONFIG_BONDING is not set 610# CONFIG_BONDING is not set
586# CONFIG_MACVLAN is not set 611# CONFIG_MACVLAN is not set
@@ -614,6 +639,8 @@ CONFIG_MII=y
614# CONFIG_SUNGEM is not set 639# CONFIG_SUNGEM is not set
615# CONFIG_CASSINI is not set 640# CONFIG_CASSINI is not set
616# CONFIG_NET_VENDOR_3COM is not set 641# CONFIG_NET_VENDOR_3COM is not set
642# CONFIG_ETHOC is not set
643# CONFIG_DNET is not set
617# CONFIG_NET_TULIP is not set 644# CONFIG_NET_TULIP is not set
618# CONFIG_HP100 is not set 645# CONFIG_HP100 is not set
619# CONFIG_IBM_NEW_EMAC_ZMII is not set 646# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -633,6 +660,7 @@ CONFIG_NETDEV_1000=y
633# CONFIG_E1000E is not set 660# CONFIG_E1000E is not set
634# CONFIG_IP1000 is not set 661# CONFIG_IP1000 is not set
635# CONFIG_IGB is not set 662# CONFIG_IGB is not set
663# CONFIG_IGBVF is not set
636# CONFIG_NS83820 is not set 664# CONFIG_NS83820 is not set
637# CONFIG_HAMACHI is not set 665# CONFIG_HAMACHI is not set
638# CONFIG_YELLOWFIN is not set 666# CONFIG_YELLOWFIN is not set
@@ -643,11 +671,12 @@ CONFIG_NETDEV_1000=y
643# CONFIG_VIA_VELOCITY is not set 671# CONFIG_VIA_VELOCITY is not set
644# CONFIG_TIGON3 is not set 672# CONFIG_TIGON3 is not set
645# CONFIG_BNX2 is not set 673# CONFIG_BNX2 is not set
674CONFIG_FSL_PQ_MDIO=y
646CONFIG_GIANFAR=y 675CONFIG_GIANFAR=y
647# CONFIG_MV643XX_ETH is not set
648# CONFIG_QLA3XXX is not set 676# CONFIG_QLA3XXX is not set
649# CONFIG_ATL1 is not set 677# CONFIG_ATL1 is not set
650# CONFIG_ATL1E is not set 678# CONFIG_ATL1E is not set
679# CONFIG_ATL1C is not set
651# CONFIG_JME is not set 680# CONFIG_JME is not set
652# CONFIG_NETDEV_10000 is not set 681# CONFIG_NETDEV_10000 is not set
653# CONFIG_TR is not set 682# CONFIG_TR is not set
@@ -657,7 +686,6 @@ CONFIG_GIANFAR=y
657# 686#
658# CONFIG_WLAN_PRE80211 is not set 687# CONFIG_WLAN_PRE80211 is not set
659# CONFIG_WLAN_80211 is not set 688# CONFIG_WLAN_80211 is not set
660# CONFIG_IWLWIFI_LEDS is not set
661 689
662# 690#
663# Enable WiMAX (Networking options) to see the WiMAX drivers 691# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -811,12 +839,9 @@ CONFIG_I2C_MPC=y
811# Miscellaneous I2C Chip support 839# Miscellaneous I2C Chip support
812# 840#
813# CONFIG_DS1682 is not set 841# CONFIG_DS1682 is not set
814# CONFIG_EEPROM_AT24 is not set
815# CONFIG_EEPROM_LEGACY is not set
816# CONFIG_SENSORS_PCF8574 is not set 842# CONFIG_SENSORS_PCF8574 is not set
817# CONFIG_PCF8575 is not set 843# CONFIG_PCF8575 is not set
818# CONFIG_SENSORS_PCA9539 is not set 844# CONFIG_SENSORS_PCA9539 is not set
819# CONFIG_SENSORS_PCF8591 is not set
820# CONFIG_SENSORS_MAX6875 is not set 845# CONFIG_SENSORS_MAX6875 is not set
821# CONFIG_SENSORS_TSL2550 is not set 846# CONFIG_SENSORS_TSL2550 is not set
822# CONFIG_I2C_DEBUG_CORE is not set 847# CONFIG_I2C_DEBUG_CORE is not set
@@ -848,6 +873,7 @@ CONFIG_HWMON=y
848# CONFIG_SENSORS_F71805F is not set 873# CONFIG_SENSORS_F71805F is not set
849# CONFIG_SENSORS_F71882FG is not set 874# CONFIG_SENSORS_F71882FG is not set
850# CONFIG_SENSORS_F75375S is not set 875# CONFIG_SENSORS_F75375S is not set
876# CONFIG_SENSORS_G760A is not set
851# CONFIG_SENSORS_GL518SM is not set 877# CONFIG_SENSORS_GL518SM is not set
852# CONFIG_SENSORS_GL520SM is not set 878# CONFIG_SENSORS_GL520SM is not set
853# CONFIG_SENSORS_IT87 is not set 879# CONFIG_SENSORS_IT87 is not set
@@ -862,11 +888,14 @@ CONFIG_HWMON=y
862# CONFIG_SENSORS_LM90 is not set 888# CONFIG_SENSORS_LM90 is not set
863# CONFIG_SENSORS_LM92 is not set 889# CONFIG_SENSORS_LM92 is not set
864# CONFIG_SENSORS_LM93 is not set 890# CONFIG_SENSORS_LM93 is not set
891# CONFIG_SENSORS_LTC4215 is not set
865# CONFIG_SENSORS_LTC4245 is not set 892# CONFIG_SENSORS_LTC4245 is not set
893# CONFIG_SENSORS_LM95241 is not set
866# CONFIG_SENSORS_MAX1619 is not set 894# CONFIG_SENSORS_MAX1619 is not set
867# CONFIG_SENSORS_MAX6650 is not set 895# CONFIG_SENSORS_MAX6650 is not set
868# CONFIG_SENSORS_PC87360 is not set 896# CONFIG_SENSORS_PC87360 is not set
869# CONFIG_SENSORS_PC87427 is not set 897# CONFIG_SENSORS_PC87427 is not set
898# CONFIG_SENSORS_PCF8591 is not set
870# CONFIG_SENSORS_SIS5595 is not set 899# CONFIG_SENSORS_SIS5595 is not set
871# CONFIG_SENSORS_DME1737 is not set 900# CONFIG_SENSORS_DME1737 is not set
872# CONFIG_SENSORS_SMSC47M1 is not set 901# CONFIG_SENSORS_SMSC47M1 is not set
@@ -976,15 +1005,17 @@ CONFIG_USB_HID=y
976# 1005#
977# Special HID drivers 1006# Special HID drivers
978# 1007#
979CONFIG_HID_COMPAT=y
980CONFIG_HID_A4TECH=y 1008CONFIG_HID_A4TECH=y
981CONFIG_HID_APPLE=y 1009CONFIG_HID_APPLE=y
982CONFIG_HID_BELKIN=y 1010CONFIG_HID_BELKIN=y
983CONFIG_HID_CHERRY=y 1011CONFIG_HID_CHERRY=y
984CONFIG_HID_CHICONY=y 1012CONFIG_HID_CHICONY=y
985CONFIG_HID_CYPRESS=y 1013CONFIG_HID_CYPRESS=y
1014# CONFIG_DRAGONRISE_FF is not set
986CONFIG_HID_EZKEY=y 1015CONFIG_HID_EZKEY=y
1016# CONFIG_HID_KYE is not set
987CONFIG_HID_GYRATION=y 1017CONFIG_HID_GYRATION=y
1018# CONFIG_HID_KENSINGTON is not set
988CONFIG_HID_LOGITECH=y 1019CONFIG_HID_LOGITECH=y
989# CONFIG_LOGITECH_FF is not set 1020# CONFIG_LOGITECH_FF is not set
990# CONFIG_LOGIRUMBLEPAD2_FF is not set 1021# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1050,11 +1081,11 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1050# CONFIG_USB_TMC is not set 1081# CONFIG_USB_TMC is not set
1051 1082
1052# 1083#
1053# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1084# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1054# 1085#
1055 1086
1056# 1087#
1057# see USB_STORAGE Help for more information 1088# also be needed; see USB_STORAGE Help for more info
1058# 1089#
1059# CONFIG_USB_STORAGE is not set 1090# CONFIG_USB_STORAGE is not set
1060# CONFIG_USB_LIBUSUAL is not set 1091# CONFIG_USB_LIBUSUAL is not set
@@ -1084,7 +1115,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1084# CONFIG_USB_LED is not set 1115# CONFIG_USB_LED is not set
1085# CONFIG_USB_CYPRESS_CY7C63 is not set 1116# CONFIG_USB_CYPRESS_CY7C63 is not set
1086# CONFIG_USB_CYTHERM is not set 1117# CONFIG_USB_CYTHERM is not set
1087# CONFIG_USB_PHIDGET is not set
1088# CONFIG_USB_IDMOUSE is not set 1118# CONFIG_USB_IDMOUSE is not set
1089# CONFIG_USB_FTDI_ELAN is not set 1119# CONFIG_USB_FTDI_ELAN is not set
1090# CONFIG_USB_APPLEDISPLAY is not set 1120# CONFIG_USB_APPLEDISPLAY is not set
@@ -1099,6 +1129,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1099# 1129#
1100# OTG and related infrastructure 1130# OTG and related infrastructure
1101# 1131#
1132# CONFIG_NOP_USB_XCEIV is not set
1102# CONFIG_UWB is not set 1133# CONFIG_UWB is not set
1103# CONFIG_MMC is not set 1134# CONFIG_MMC is not set
1104# CONFIG_MEMSTICK is not set 1135# CONFIG_MEMSTICK is not set
@@ -1108,6 +1139,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1108# CONFIG_EDAC is not set 1139# CONFIG_EDAC is not set
1109# CONFIG_RTC_CLASS is not set 1140# CONFIG_RTC_CLASS is not set
1110# CONFIG_DMADEVICES is not set 1141# CONFIG_DMADEVICES is not set
1142# CONFIG_AUXDISPLAY is not set
1111# CONFIG_UIO is not set 1143# CONFIG_UIO is not set
1112# CONFIG_STAGING is not set 1144# CONFIG_STAGING is not set
1113 1145
@@ -1118,6 +1150,7 @@ CONFIG_EXT2_FS=y
1118# CONFIG_EXT2_FS_XATTR is not set 1150# CONFIG_EXT2_FS_XATTR is not set
1119# CONFIG_EXT2_FS_XIP is not set 1151# CONFIG_EXT2_FS_XIP is not set
1120CONFIG_EXT3_FS=y 1152CONFIG_EXT3_FS=y
1153# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1121CONFIG_EXT3_FS_XATTR=y 1154CONFIG_EXT3_FS_XATTR=y
1122# CONFIG_EXT3_FS_POSIX_ACL is not set 1155# CONFIG_EXT3_FS_POSIX_ACL is not set
1123# CONFIG_EXT3_FS_SECURITY is not set 1156# CONFIG_EXT3_FS_SECURITY is not set
@@ -1140,6 +1173,11 @@ CONFIG_INOTIFY_USER=y
1140# CONFIG_FUSE_FS is not set 1173# CONFIG_FUSE_FS is not set
1141 1174
1142# 1175#
1176# Caches
1177#
1178# CONFIG_FSCACHE is not set
1179
1180#
1143# CD-ROM/DVD Filesystems 1181# CD-ROM/DVD Filesystems
1144# 1182#
1145# CONFIG_ISO9660_FS is not set 1183# CONFIG_ISO9660_FS is not set
@@ -1182,6 +1220,7 @@ CONFIG_MISC_FILESYSTEMS=y
1182# CONFIG_ROMFS_FS is not set 1220# CONFIG_ROMFS_FS is not set
1183# CONFIG_SYSV_FS is not set 1221# CONFIG_SYSV_FS is not set
1184# CONFIG_UFS_FS is not set 1222# CONFIG_UFS_FS is not set
1223# CONFIG_NILFS2_FS is not set
1185CONFIG_NETWORK_FILESYSTEMS=y 1224CONFIG_NETWORK_FILESYSTEMS=y
1186CONFIG_NFS_FS=y 1225CONFIG_NFS_FS=y
1187CONFIG_NFS_V3=y 1226CONFIG_NFS_V3=y
@@ -1194,7 +1233,6 @@ CONFIG_LOCKD_V4=y
1194CONFIG_NFS_COMMON=y 1233CONFIG_NFS_COMMON=y
1195CONFIG_SUNRPC=y 1234CONFIG_SUNRPC=y
1196CONFIG_SUNRPC_GSS=y 1235CONFIG_SUNRPC_GSS=y
1197# CONFIG_SUNRPC_REGISTER_V4 is not set
1198CONFIG_RPCSEC_GSS_KRB5=y 1236CONFIG_RPCSEC_GSS_KRB5=y
1199# CONFIG_RPCSEC_GSS_SPKM3 is not set 1237# CONFIG_RPCSEC_GSS_SPKM3 is not set
1200# CONFIG_SMB_FS is not set 1238# CONFIG_SMB_FS is not set
@@ -1226,6 +1264,7 @@ CONFIG_MSDOS_PARTITION=y
1226# CONFIG_SYSV68_PARTITION is not set 1264# CONFIG_SYSV68_PARTITION is not set
1227# CONFIG_NLS is not set 1265# CONFIG_NLS is not set
1228# CONFIG_DLM is not set 1266# CONFIG_DLM is not set
1267# CONFIG_BINARY_PRINTF is not set
1229 1268
1230# 1269#
1231# Library routines 1270# Library routines
@@ -1239,11 +1278,13 @@ CONFIG_CRC_T10DIF=y
1239CONFIG_CRC32=y 1278CONFIG_CRC32=y
1240# CONFIG_CRC7 is not set 1279# CONFIG_CRC7 is not set
1241# CONFIG_LIBCRC32C is not set 1280# CONFIG_LIBCRC32C is not set
1242CONFIG_PLIST=y 1281CONFIG_ZLIB_INFLATE=y
1282CONFIG_DECOMPRESS_GZIP=y
1243CONFIG_HAS_IOMEM=y 1283CONFIG_HAS_IOMEM=y
1244CONFIG_HAS_IOPORT=y 1284CONFIG_HAS_IOPORT=y
1245CONFIG_HAS_DMA=y 1285CONFIG_HAS_DMA=y
1246CONFIG_HAVE_LMB=y 1286CONFIG_HAVE_LMB=y
1287CONFIG_NLATTR=y
1247 1288
1248# 1289#
1249# Kernel hacking 1290# Kernel hacking
@@ -1263,13 +1304,24 @@ CONFIG_FRAME_WARN=1024
1263# CONFIG_LATENCYTOP is not set 1304# CONFIG_LATENCYTOP is not set
1264CONFIG_SYSCTL_SYSCALL_CHECK=y 1305CONFIG_SYSCTL_SYSCALL_CHECK=y
1265CONFIG_HAVE_FUNCTION_TRACER=y 1306CONFIG_HAVE_FUNCTION_TRACER=y
1307CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1266CONFIG_HAVE_DYNAMIC_FTRACE=y 1308CONFIG_HAVE_DYNAMIC_FTRACE=y
1267CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1309CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1310CONFIG_TRACING_SUPPORT=y
1268 1311
1269# 1312#
1270# Tracers 1313# Tracers
1271# 1314#
1272# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1315# CONFIG_FUNCTION_TRACER is not set
1316# CONFIG_SCHED_TRACER is not set
1317# CONFIG_CONTEXT_SWITCH_TRACER is not set
1318# CONFIG_EVENT_TRACER is not set
1319# CONFIG_BOOT_TRACER is not set
1320# CONFIG_TRACE_BRANCH_PROFILING is not set
1321# CONFIG_STACK_TRACER is not set
1322# CONFIG_KMEMTRACE is not set
1323# CONFIG_WORKQUEUE_TRACER is not set
1324# CONFIG_BLK_DEV_IO_TRACE is not set
1273# CONFIG_SAMPLES is not set 1325# CONFIG_SAMPLES is not set
1274CONFIG_HAVE_ARCH_KGDB=y 1326CONFIG_HAVE_ARCH_KGDB=y
1275CONFIG_PRINT_STACK_DEPTH=64 1327CONFIG_PRINT_STACK_DEPTH=64
@@ -1302,10 +1354,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1302CONFIG_CRYPTO_HASH=y 1354CONFIG_CRYPTO_HASH=y
1303CONFIG_CRYPTO_HASH2=y 1355CONFIG_CRYPTO_HASH2=y
1304CONFIG_CRYPTO_RNG2=y 1356CONFIG_CRYPTO_RNG2=y
1357CONFIG_CRYPTO_PCOMP=y
1305CONFIG_CRYPTO_MANAGER=y 1358CONFIG_CRYPTO_MANAGER=y
1306CONFIG_CRYPTO_MANAGER2=y 1359CONFIG_CRYPTO_MANAGER2=y
1307# CONFIG_CRYPTO_GF128MUL is not set 1360# CONFIG_CRYPTO_GF128MUL is not set
1308# CONFIG_CRYPTO_NULL is not set 1361# CONFIG_CRYPTO_NULL is not set
1362CONFIG_CRYPTO_WORKQUEUE=y
1309# CONFIG_CRYPTO_CRYPTD is not set 1363# CONFIG_CRYPTO_CRYPTD is not set
1310# CONFIG_CRYPTO_AUTHENC is not set 1364# CONFIG_CRYPTO_AUTHENC is not set
1311# CONFIG_CRYPTO_TEST is not set 1365# CONFIG_CRYPTO_TEST is not set
@@ -1374,6 +1428,7 @@ CONFIG_CRYPTO_DES=y
1374# Compression 1428# Compression
1375# 1429#
1376# CONFIG_CRYPTO_DEFLATE is not set 1430# CONFIG_CRYPTO_DEFLATE is not set
1431# CONFIG_CRYPTO_ZLIB is not set
1377# CONFIG_CRYPTO_LZO is not set 1432# CONFIG_CRYPTO_LZO is not set
1378 1433
1379# 1434#
diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig
index a0c42fb65cb9..fe08f672cb27 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:02 2009 4# Wed May 13 17:22:15 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -56,6 +57,7 @@ CONFIG_DEFAULT_UIMAGE=y
56CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -87,19 +98,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94# CONFIG_KALLSYMS is not set 109# CONFIG_KALLSYMS is not set
110# CONFIG_STRIP_ASM_SYMS is not set
95CONFIG_HOTPLUG=y 111CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 112CONFIG_PRINTK=y
97CONFIG_BUG=y 113CONFIG_BUG=y
98CONFIG_ELF_CORE=y 114CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 115CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 116CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103# CONFIG_EPOLL is not set 117# CONFIG_EPOLL is not set
104CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 119CONFIG_TIMERFD=y
@@ -108,16 +122,19 @@ CONFIG_SHMEM=y
108CONFIG_AIO=y 122CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 123CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 124CONFIG_PCI_QUIRKS=y
125CONFIG_COMPAT_BRK=y
111CONFIG_SLAB=y 126CONFIG_SLAB=y
112# CONFIG_SLUB is not set 127# CONFIG_SLUB is not set
113# CONFIG_SLOB is not set 128# CONFIG_SLOB is not set
114# CONFIG_PROFILING is not set 129# CONFIG_PROFILING is not set
130# CONFIG_MARKERS is not set
115CONFIG_HAVE_OPROFILE=y 131CONFIG_HAVE_OPROFILE=y
116CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 132CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
117CONFIG_HAVE_IOREMAP_PROT=y 133CONFIG_HAVE_IOREMAP_PROT=y
118CONFIG_HAVE_KPROBES=y 134CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 135CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y 136CONFIG_HAVE_ARCH_TRACEHOOK=y
137# CONFIG_SLOW_WORK is not set
121# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 138# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
122CONFIG_SLABINFO=y 139CONFIG_SLABINFO=y
123CONFIG_RT_MUTEXES=y 140CONFIG_RT_MUTEXES=y
@@ -130,7 +147,6 @@ CONFIG_MODULE_UNLOAD=y
130# CONFIG_MODULE_SRCVERSION_ALL is not set 147# CONFIG_MODULE_SRCVERSION_ALL is not set
131CONFIG_BLOCK=y 148CONFIG_BLOCK=y
132# CONFIG_LBD is not set 149# CONFIG_LBD is not set
133# CONFIG_BLK_DEV_IO_TRACE is not set
134# CONFIG_BLK_DEV_BSG is not set 150# CONFIG_BLK_DEV_BSG is not set
135# CONFIG_BLK_DEV_INTEGRITY is not set 151# CONFIG_BLK_DEV_INTEGRITY is not set
136 152
@@ -146,18 +162,11 @@ CONFIG_DEFAULT_AS=y
146# CONFIG_DEFAULT_CFQ is not set 162# CONFIG_DEFAULT_CFQ is not set
147# CONFIG_DEFAULT_NOOP is not set 163# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 164CONFIG_DEFAULT_IOSCHED="anticipatory"
149CONFIG_CLASSIC_RCU=y
150# CONFIG_TREE_RCU is not set
151# CONFIG_PREEMPT_RCU is not set
152# CONFIG_TREE_RCU_TRACE is not set
153# CONFIG_PREEMPT_RCU_TRACE is not set
154# CONFIG_FREEZER is not set 165# CONFIG_FREEZER is not set
155 166
156# 167#
157# Platform support 168# Platform support
158# 169#
159CONFIG_PPC_MULTIPLATFORM=y
160CONFIG_CLASSIC32=y
161# CONFIG_PPC_CHRP is not set 170# CONFIG_PPC_CHRP is not set
162# CONFIG_MPC5121_ADS is not set 171# CONFIG_MPC5121_ADS is not set
163# CONFIG_MPC5121_GENERIC is not set 172# CONFIG_MPC5121_GENERIC is not set
@@ -182,6 +191,8 @@ CONFIG_SBC834x=y
182CONFIG_PPC_MPC834x=y 191CONFIG_PPC_MPC834x=y
183# CONFIG_PPC_86xx is not set 192# CONFIG_PPC_86xx is not set
184# CONFIG_EMBEDDED6xx is not set 193# CONFIG_EMBEDDED6xx is not set
194# CONFIG_AMIGAONE is not set
195CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
185CONFIG_IPIC=y 196CONFIG_IPIC=y
186# CONFIG_MPIC is not set 197# CONFIG_MPIC is not set
187# CONFIG_MPIC_WEIRD is not set 198# CONFIG_MPIC_WEIRD is not set
@@ -242,9 +253,12 @@ CONFIG_ZONE_DMA_FLAG=1
242CONFIG_BOUNCE=y 253CONFIG_BOUNCE=y
243CONFIG_VIRT_TO_BUS=y 254CONFIG_VIRT_TO_BUS=y
244CONFIG_UNEVICTABLE_LRU=y 255CONFIG_UNEVICTABLE_LRU=y
256CONFIG_HAVE_MLOCK=y
257CONFIG_HAVE_MLOCKED_PAGE_BIT=y
245CONFIG_PPC_4K_PAGES=y 258CONFIG_PPC_4K_PAGES=y
246# CONFIG_PPC_16K_PAGES is not set 259# CONFIG_PPC_16K_PAGES is not set
247# CONFIG_PPC_64K_PAGES is not set 260# CONFIG_PPC_64K_PAGES is not set
261# CONFIG_PPC_256K_PAGES is not set
248CONFIG_FORCE_MAX_ZONEORDER=11 262CONFIG_FORCE_MAX_ZONEORDER=11
249CONFIG_PROC_DEVICETREE=y 263CONFIG_PROC_DEVICETREE=y
250# CONFIG_CMDLINE_BOOL is not set 264# CONFIG_CMDLINE_BOOL is not set
@@ -270,6 +284,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
270# CONFIG_PCI_MSI is not set 284# CONFIG_PCI_MSI is not set
271# CONFIG_PCI_LEGACY is not set 285# CONFIG_PCI_LEGACY is not set
272# CONFIG_PCI_STUB is not set 286# CONFIG_PCI_STUB is not set
287# CONFIG_PCI_IOV is not set
273# CONFIG_PCCARD is not set 288# CONFIG_PCCARD is not set
274# CONFIG_HOTPLUG_PCI is not set 289# CONFIG_HOTPLUG_PCI is not set
275# CONFIG_HAS_RAPIDIO is not set 290# CONFIG_HAS_RAPIDIO is not set
@@ -292,7 +307,6 @@ CONFIG_NET=y
292# 307#
293# Networking options 308# Networking options
294# 309#
295CONFIG_COMPAT_NET_DEV_OPS=y
296CONFIG_PACKET=y 310CONFIG_PACKET=y
297# CONFIG_PACKET_MMAP is not set 311# CONFIG_PACKET_MMAP is not set
298CONFIG_UNIX=y 312CONFIG_UNIX=y
@@ -348,6 +362,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
348# CONFIG_LAPB is not set 362# CONFIG_LAPB is not set
349# CONFIG_ECONET is not set 363# CONFIG_ECONET is not set
350# CONFIG_WAN_ROUTER is not set 364# CONFIG_WAN_ROUTER is not set
365# CONFIG_PHONET is not set
351# CONFIG_NET_SCHED is not set 366# CONFIG_NET_SCHED is not set
352# CONFIG_DCB is not set 367# CONFIG_DCB is not set
353 368
@@ -360,7 +375,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
360# CONFIG_IRDA is not set 375# CONFIG_IRDA is not set
361# CONFIG_BT is not set 376# CONFIG_BT is not set
362# CONFIG_AF_RXRPC is not set 377# CONFIG_AF_RXRPC is not set
363# CONFIG_PHONET is not set
364CONFIG_WIRELESS=y 378CONFIG_WIRELESS=y
365# CONFIG_CFG80211 is not set 379# CONFIG_CFG80211 is not set
366CONFIG_WIRELESS_OLD_REGULATORY=y 380CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -408,13 +422,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
408# CONFIG_BLK_DEV_HD is not set 422# CONFIG_BLK_DEV_HD is not set
409CONFIG_MISC_DEVICES=y 423CONFIG_MISC_DEVICES=y
410# CONFIG_PHANTOM is not set 424# CONFIG_PHANTOM is not set
411# CONFIG_EEPROM_93CX6 is not set
412# CONFIG_SGI_IOC4 is not set 425# CONFIG_SGI_IOC4 is not set
413# CONFIG_TIFM_CORE is not set 426# CONFIG_TIFM_CORE is not set
414# CONFIG_ICS932S401 is not set 427# CONFIG_ICS932S401 is not set
415# CONFIG_ENCLOSURE_SERVICES is not set 428# CONFIG_ENCLOSURE_SERVICES is not set
416# CONFIG_HP_ILO is not set 429# CONFIG_HP_ILO is not set
430# CONFIG_ISL29003 is not set
417# CONFIG_C2PORT is not set 431# CONFIG_C2PORT is not set
432
433#
434# EEPROM support
435#
436# CONFIG_EEPROM_AT24 is not set
437# CONFIG_EEPROM_LEGACY is not set
438# CONFIG_EEPROM_93CX6 is not set
418CONFIG_HAVE_IDE=y 439CONFIG_HAVE_IDE=y
419# CONFIG_IDE is not set 440# CONFIG_IDE is not set
420 441
@@ -441,6 +462,7 @@ CONFIG_HAVE_IDE=y
441# CONFIG_I2O is not set 462# CONFIG_I2O is not set
442# CONFIG_MACINTOSH_DRIVERS is not set 463# CONFIG_MACINTOSH_DRIVERS is not set
443CONFIG_NETDEVICES=y 464CONFIG_NETDEVICES=y
465CONFIG_COMPAT_NET_DEV_OPS=y
444# CONFIG_DUMMY is not set 466# CONFIG_DUMMY is not set
445# CONFIG_BONDING is not set 467# CONFIG_BONDING is not set
446# CONFIG_MACVLAN is not set 468# CONFIG_MACVLAN is not set
@@ -474,6 +496,8 @@ CONFIG_MII=y
474# CONFIG_SUNGEM is not set 496# CONFIG_SUNGEM is not set
475# CONFIG_CASSINI is not set 497# CONFIG_CASSINI is not set
476# CONFIG_NET_VENDOR_3COM is not set 498# CONFIG_NET_VENDOR_3COM is not set
499# CONFIG_ETHOC is not set
500# CONFIG_DNET is not set
477# CONFIG_NET_TULIP is not set 501# CONFIG_NET_TULIP is not set
478# CONFIG_HP100 is not set 502# CONFIG_HP100 is not set
479# CONFIG_IBM_NEW_EMAC_ZMII is not set 503# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -493,6 +517,7 @@ CONFIG_NETDEV_1000=y
493# CONFIG_E1000E is not set 517# CONFIG_E1000E is not set
494# CONFIG_IP1000 is not set 518# CONFIG_IP1000 is not set
495# CONFIG_IGB is not set 519# CONFIG_IGB is not set
520# CONFIG_IGBVF is not set
496# CONFIG_NS83820 is not set 521# CONFIG_NS83820 is not set
497# CONFIG_HAMACHI is not set 522# CONFIG_HAMACHI is not set
498# CONFIG_YELLOWFIN is not set 523# CONFIG_YELLOWFIN is not set
@@ -503,11 +528,12 @@ CONFIG_NETDEV_1000=y
503# CONFIG_VIA_VELOCITY is not set 528# CONFIG_VIA_VELOCITY is not set
504# CONFIG_TIGON3 is not set 529# CONFIG_TIGON3 is not set
505# CONFIG_BNX2 is not set 530# CONFIG_BNX2 is not set
531CONFIG_FSL_PQ_MDIO=y
506CONFIG_GIANFAR=y 532CONFIG_GIANFAR=y
507# CONFIG_MV643XX_ETH is not set
508# CONFIG_QLA3XXX is not set 533# CONFIG_QLA3XXX is not set
509# CONFIG_ATL1 is not set 534# CONFIG_ATL1 is not set
510# CONFIG_ATL1E is not set 535# CONFIG_ATL1E is not set
536# CONFIG_ATL1C is not set
511# CONFIG_JME is not set 537# CONFIG_JME is not set
512# CONFIG_NETDEV_10000 is not set 538# CONFIG_NETDEV_10000 is not set
513# CONFIG_TR is not set 539# CONFIG_TR is not set
@@ -517,7 +543,6 @@ CONFIG_GIANFAR=y
517# 543#
518# CONFIG_WLAN_PRE80211 is not set 544# CONFIG_WLAN_PRE80211 is not set
519# CONFIG_WLAN_80211 is not set 545# CONFIG_WLAN_80211 is not set
520# CONFIG_IWLWIFI_LEDS is not set
521 546
522# 547#
523# Enable WiMAX (Networking options) to see the WiMAX drivers 548# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -660,12 +685,9 @@ CONFIG_I2C_MPC=y
660# Miscellaneous I2C Chip support 685# Miscellaneous I2C Chip support
661# 686#
662# CONFIG_DS1682 is not set 687# CONFIG_DS1682 is not set
663# CONFIG_EEPROM_AT24 is not set
664# CONFIG_EEPROM_LEGACY is not set
665# CONFIG_SENSORS_PCF8574 is not set 688# CONFIG_SENSORS_PCF8574 is not set
666# CONFIG_PCF8575 is not set 689# CONFIG_PCF8575 is not set
667# CONFIG_SENSORS_PCA9539 is not set 690# CONFIG_SENSORS_PCA9539 is not set
668# CONFIG_SENSORS_PCF8591 is not set
669# CONFIG_SENSORS_MAX6875 is not set 691# CONFIG_SENSORS_MAX6875 is not set
670# CONFIG_SENSORS_TSL2550 is not set 692# CONFIG_SENSORS_TSL2550 is not set
671# CONFIG_I2C_DEBUG_CORE is not set 693# CONFIG_I2C_DEBUG_CORE is not set
@@ -697,6 +719,7 @@ CONFIG_HWMON=y
697# CONFIG_SENSORS_F71805F is not set 719# CONFIG_SENSORS_F71805F is not set
698# CONFIG_SENSORS_F71882FG is not set 720# CONFIG_SENSORS_F71882FG is not set
699# CONFIG_SENSORS_F75375S is not set 721# CONFIG_SENSORS_F75375S is not set
722# CONFIG_SENSORS_G760A is not set
700# CONFIG_SENSORS_GL518SM is not set 723# CONFIG_SENSORS_GL518SM is not set
701# CONFIG_SENSORS_GL520SM is not set 724# CONFIG_SENSORS_GL520SM is not set
702# CONFIG_SENSORS_IT87 is not set 725# CONFIG_SENSORS_IT87 is not set
@@ -711,11 +734,14 @@ CONFIG_HWMON=y
711# CONFIG_SENSORS_LM90 is not set 734# CONFIG_SENSORS_LM90 is not set
712# CONFIG_SENSORS_LM92 is not set 735# CONFIG_SENSORS_LM92 is not set
713# CONFIG_SENSORS_LM93 is not set 736# CONFIG_SENSORS_LM93 is not set
737# CONFIG_SENSORS_LTC4215 is not set
714# CONFIG_SENSORS_LTC4245 is not set 738# CONFIG_SENSORS_LTC4245 is not set
739# CONFIG_SENSORS_LM95241 is not set
715# CONFIG_SENSORS_MAX1619 is not set 740# CONFIG_SENSORS_MAX1619 is not set
716# CONFIG_SENSORS_MAX6650 is not set 741# CONFIG_SENSORS_MAX6650 is not set
717# CONFIG_SENSORS_PC87360 is not set 742# CONFIG_SENSORS_PC87360 is not set
718# CONFIG_SENSORS_PC87427 is not set 743# CONFIG_SENSORS_PC87427 is not set
744# CONFIG_SENSORS_PCF8591 is not set
719# CONFIG_SENSORS_SIS5595 is not set 745# CONFIG_SENSORS_SIS5595 is not set
720# CONFIG_SENSORS_DME1737 is not set 746# CONFIG_SENSORS_DME1737 is not set
721# CONFIG_SENSORS_SMSC47M1 is not set 747# CONFIG_SENSORS_SMSC47M1 is not set
@@ -813,7 +839,6 @@ CONFIG_HID=y
813# 839#
814# Special HID drivers 840# Special HID drivers
815# 841#
816CONFIG_HID_COMPAT=y
817# CONFIG_USB_SUPPORT is not set 842# CONFIG_USB_SUPPORT is not set
818# CONFIG_UWB is not set 843# CONFIG_UWB is not set
819# CONFIG_MMC is not set 844# CONFIG_MMC is not set
@@ -824,6 +849,7 @@ CONFIG_HID_COMPAT=y
824# CONFIG_EDAC is not set 849# CONFIG_EDAC is not set
825# CONFIG_RTC_CLASS is not set 850# CONFIG_RTC_CLASS is not set
826# CONFIG_DMADEVICES is not set 851# CONFIG_DMADEVICES is not set
852# CONFIG_AUXDISPLAY is not set
827# CONFIG_UIO is not set 853# CONFIG_UIO is not set
828# CONFIG_STAGING is not set 854# CONFIG_STAGING is not set
829 855
@@ -849,6 +875,11 @@ CONFIG_INOTIFY_USER=y
849# CONFIG_FUSE_FS is not set 875# CONFIG_FUSE_FS is not set
850 876
851# 877#
878# Caches
879#
880# CONFIG_FSCACHE is not set
881
882#
852# CD-ROM/DVD Filesystems 883# CD-ROM/DVD Filesystems
853# 884#
854# CONFIG_ISO9660_FS is not set 885# CONFIG_ISO9660_FS is not set
@@ -891,6 +922,7 @@ CONFIG_MISC_FILESYSTEMS=y
891# CONFIG_ROMFS_FS is not set 922# CONFIG_ROMFS_FS is not set
892# CONFIG_SYSV_FS is not set 923# CONFIG_SYSV_FS is not set
893# CONFIG_UFS_FS is not set 924# CONFIG_UFS_FS is not set
925# CONFIG_NILFS2_FS is not set
894CONFIG_NETWORK_FILESYSTEMS=y 926CONFIG_NETWORK_FILESYSTEMS=y
895CONFIG_NFS_FS=y 927CONFIG_NFS_FS=y
896CONFIG_NFS_V3=y 928CONFIG_NFS_V3=y
@@ -903,7 +935,6 @@ CONFIG_LOCKD_V4=y
903CONFIG_NFS_COMMON=y 935CONFIG_NFS_COMMON=y
904CONFIG_SUNRPC=y 936CONFIG_SUNRPC=y
905CONFIG_SUNRPC_GSS=y 937CONFIG_SUNRPC_GSS=y
906# CONFIG_SUNRPC_REGISTER_V4 is not set
907CONFIG_RPCSEC_GSS_KRB5=y 938CONFIG_RPCSEC_GSS_KRB5=y
908# CONFIG_RPCSEC_GSS_SPKM3 is not set 939# CONFIG_RPCSEC_GSS_SPKM3 is not set
909# CONFIG_SMB_FS is not set 940# CONFIG_SMB_FS is not set
@@ -919,6 +950,7 @@ CONFIG_RPCSEC_GSS_KRB5=y
919CONFIG_MSDOS_PARTITION=y 950CONFIG_MSDOS_PARTITION=y
920# CONFIG_NLS is not set 951# CONFIG_NLS is not set
921# CONFIG_DLM is not set 952# CONFIG_DLM is not set
953# CONFIG_BINARY_PRINTF is not set
922 954
923# 955#
924# Library routines 956# Library routines
@@ -932,11 +964,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
932CONFIG_CRC32=y 964CONFIG_CRC32=y
933# CONFIG_CRC7 is not set 965# CONFIG_CRC7 is not set
934# CONFIG_LIBCRC32C is not set 966# CONFIG_LIBCRC32C is not set
935CONFIG_PLIST=y 967CONFIG_ZLIB_INFLATE=y
968CONFIG_DECOMPRESS_GZIP=y
936CONFIG_HAS_IOMEM=y 969CONFIG_HAS_IOMEM=y
937CONFIG_HAS_IOPORT=y 970CONFIG_HAS_IOPORT=y
938CONFIG_HAS_DMA=y 971CONFIG_HAS_DMA=y
939CONFIG_HAVE_LMB=y 972CONFIG_HAVE_LMB=y
973CONFIG_NLATTR=y
940 974
941# 975#
942# Kernel hacking 976# Kernel hacking
@@ -956,13 +990,24 @@ CONFIG_FRAME_WARN=1024
956# CONFIG_LATENCYTOP is not set 990# CONFIG_LATENCYTOP is not set
957CONFIG_SYSCTL_SYSCALL_CHECK=y 991CONFIG_SYSCTL_SYSCALL_CHECK=y
958CONFIG_HAVE_FUNCTION_TRACER=y 992CONFIG_HAVE_FUNCTION_TRACER=y
993CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
959CONFIG_HAVE_DYNAMIC_FTRACE=y 994CONFIG_HAVE_DYNAMIC_FTRACE=y
960CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 995CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
996CONFIG_TRACING_SUPPORT=y
961 997
962# 998#
963# Tracers 999# Tracers
964# 1000#
965# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1001# CONFIG_FUNCTION_TRACER is not set
1002# CONFIG_SCHED_TRACER is not set
1003# CONFIG_CONTEXT_SWITCH_TRACER is not set
1004# CONFIG_EVENT_TRACER is not set
1005# CONFIG_BOOT_TRACER is not set
1006# CONFIG_TRACE_BRANCH_PROFILING is not set
1007# CONFIG_STACK_TRACER is not set
1008# CONFIG_KMEMTRACE is not set
1009# CONFIG_WORKQUEUE_TRACER is not set
1010# CONFIG_BLK_DEV_IO_TRACE is not set
966# CONFIG_SAMPLES is not set 1011# CONFIG_SAMPLES is not set
967CONFIG_HAVE_ARCH_KGDB=y 1012CONFIG_HAVE_ARCH_KGDB=y
968CONFIG_PRINT_STACK_DEPTH=64 1013CONFIG_PRINT_STACK_DEPTH=64
@@ -991,10 +1036,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
991CONFIG_CRYPTO_HASH=y 1036CONFIG_CRYPTO_HASH=y
992CONFIG_CRYPTO_HASH2=y 1037CONFIG_CRYPTO_HASH2=y
993CONFIG_CRYPTO_RNG2=y 1038CONFIG_CRYPTO_RNG2=y
1039CONFIG_CRYPTO_PCOMP=y
994CONFIG_CRYPTO_MANAGER=y 1040CONFIG_CRYPTO_MANAGER=y
995CONFIG_CRYPTO_MANAGER2=y 1041CONFIG_CRYPTO_MANAGER2=y
996# CONFIG_CRYPTO_GF128MUL is not set 1042# CONFIG_CRYPTO_GF128MUL is not set
997# CONFIG_CRYPTO_NULL is not set 1043# CONFIG_CRYPTO_NULL is not set
1044CONFIG_CRYPTO_WORKQUEUE=y
998# CONFIG_CRYPTO_CRYPTD is not set 1045# CONFIG_CRYPTO_CRYPTD is not set
999# CONFIG_CRYPTO_AUTHENC is not set 1046# CONFIG_CRYPTO_AUTHENC is not set
1000# CONFIG_CRYPTO_TEST is not set 1047# CONFIG_CRYPTO_TEST is not set
@@ -1063,6 +1110,7 @@ CONFIG_CRYPTO_DES=y
1063# Compression 1110# Compression
1064# 1111#
1065# CONFIG_CRYPTO_DEFLATE is not set 1112# CONFIG_CRYPTO_DEFLATE is not set
1113# CONFIG_CRYPTO_ZLIB is not set
1066# CONFIG_CRYPTO_LZO is not set 1114# CONFIG_CRYPTO_LZO is not set
1067 1115
1068# 1116#
diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig
index 6479bb9f3f57..09146ddaa3ca 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:03 2009 4# Wed May 13 17:22:16 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y
59CONFIG_DEFAULT_UIMAGE=y 60CONFIG_DEFAULT_UIMAGE=y
60# CONFIG_PPC_DCR_NATIVE is not set 61# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 62# CONFIG_PPC_DCR_MMIO is not set
63CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 64CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
63 65
64# 66#
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y
76# CONFIG_BSD_PROCESS_ACCT is not set 78# CONFIG_BSD_PROCESS_ACCT is not set
77# CONFIG_TASKSTATS is not set 79# CONFIG_TASKSTATS is not set
78# CONFIG_AUDIT is not set 80# CONFIG_AUDIT is not set
81
82#
83# RCU Subsystem
84#
85CONFIG_CLASSIC_RCU=y
86# CONFIG_TREE_RCU is not set
87# CONFIG_PREEMPT_RCU is not set
88# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
79# CONFIG_IKCONFIG is not set 90# CONFIG_IKCONFIG is not set
80CONFIG_LOG_BUF_SHIFT=14 91CONFIG_LOG_BUF_SHIFT=14
81# CONFIG_GROUP_SCHED is not set 92# CONFIG_GROUP_SCHED is not set
@@ -86,21 +97,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
86# CONFIG_NAMESPACES is not set 97# CONFIG_NAMESPACES is not set
87CONFIG_BLK_DEV_INITRD=y 98CONFIG_BLK_DEV_INITRD=y
88CONFIG_INITRAMFS_SOURCE="" 99CONFIG_INITRAMFS_SOURCE=""
100CONFIG_RD_GZIP=y
101# CONFIG_RD_BZIP2 is not set
102# CONFIG_RD_LZMA is not set
89# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 103# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
90CONFIG_SYSCTL=y 104CONFIG_SYSCTL=y
105CONFIG_ANON_INODES=y
91CONFIG_EMBEDDED=y 106CONFIG_EMBEDDED=y
92CONFIG_SYSCTL_SYSCALL=y 107CONFIG_SYSCTL_SYSCALL=y
93CONFIG_KALLSYMS=y 108CONFIG_KALLSYMS=y
94# CONFIG_KALLSYMS_ALL is not set 109# CONFIG_KALLSYMS_ALL is not set
95# CONFIG_KALLSYMS_EXTRA_PASS is not set 110# CONFIG_KALLSYMS_EXTRA_PASS is not set
111# CONFIG_STRIP_ASM_SYMS is not set
96CONFIG_HOTPLUG=y 112CONFIG_HOTPLUG=y
97CONFIG_PRINTK=y 113CONFIG_PRINTK=y
98CONFIG_BUG=y 114CONFIG_BUG=y
99CONFIG_ELF_CORE=y 115CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
101CONFIG_BASE_FULL=y 116CONFIG_BASE_FULL=y
102CONFIG_FUTEX=y 117CONFIG_FUTEX=y
103CONFIG_ANON_INODES=y
104CONFIG_EPOLL=y 118CONFIG_EPOLL=y
105CONFIG_SIGNALFD=y 119CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 120CONFIG_TIMERFD=y
@@ -109,10 +123,12 @@ CONFIG_SHMEM=y
109CONFIG_AIO=y 123CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 124CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_SLUB_DEBUG=y 125CONFIG_SLUB_DEBUG=y
126CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 127# CONFIG_SLAB is not set
113CONFIG_SLUB=y 128CONFIG_SLUB=y
114# CONFIG_SLOB is not set 129# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set 130# CONFIG_PROFILING is not set
131# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 132CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y 134CONFIG_HAVE_IOREMAP_PROT=y
@@ -120,6 +136,7 @@ CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 136CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 137CONFIG_HAVE_ARCH_TRACEHOOK=y
122CONFIG_HAVE_CLK=y 138CONFIG_HAVE_CLK=y
139# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 140# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 141CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 142CONFIG_RT_MUTEXES=y
@@ -127,7 +144,6 @@ CONFIG_BASE_SMALL=0
127# CONFIG_MODULES is not set 144# CONFIG_MODULES is not set
128CONFIG_BLOCK=y 145CONFIG_BLOCK=y
129# CONFIG_LBD is not set 146# CONFIG_LBD is not set
130# CONFIG_BLK_DEV_IO_TRACE is not set
131# CONFIG_BLK_DEV_BSG is not set 147# CONFIG_BLK_DEV_BSG is not set
132# CONFIG_BLK_DEV_INTEGRITY is not set 148# CONFIG_BLK_DEV_INTEGRITY is not set
133 149
@@ -143,11 +159,6 @@ CONFIG_DEFAULT_AS=y
143# CONFIG_DEFAULT_CFQ is not set 159# CONFIG_DEFAULT_CFQ is not set
144# CONFIG_DEFAULT_NOOP is not set 160# CONFIG_DEFAULT_NOOP is not set
145CONFIG_DEFAULT_IOSCHED="anticipatory" 161CONFIG_DEFAULT_IOSCHED="anticipatory"
146CONFIG_CLASSIC_RCU=y
147# CONFIG_TREE_RCU is not set
148# CONFIG_PREEMPT_RCU is not set
149# CONFIG_TREE_RCU_TRACE is not set
150# CONFIG_PREEMPT_RCU_TRACE is not set
151# CONFIG_FREEZER is not set 162# CONFIG_FREEZER is not set
152 163
153# 164#
@@ -163,6 +174,7 @@ CONFIG_MPC85xx=y
163# CONFIG_MPC85xx_MDS is not set 174# CONFIG_MPC85xx_MDS is not set
164# CONFIG_MPC8536_DS is not set 175# CONFIG_MPC8536_DS is not set
165# CONFIG_MPC85xx_DS is not set 176# CONFIG_MPC85xx_DS is not set
177# CONFIG_SOCRATES is not set
166CONFIG_KSI8560=y 178CONFIG_KSI8560=y
167# CONFIG_STX_GP3 is not set 179# CONFIG_STX_GP3 is not set
168# CONFIG_TQM8540 is not set 180# CONFIG_TQM8540 is not set
@@ -231,9 +243,12 @@ CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
232CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
233CONFIG_UNEVICTABLE_LRU=y 245CONFIG_UNEVICTABLE_LRU=y
246CONFIG_HAVE_MLOCK=y
247CONFIG_HAVE_MLOCKED_PAGE_BIT=y
234CONFIG_PPC_4K_PAGES=y 248CONFIG_PPC_4K_PAGES=y
235# CONFIG_PPC_16K_PAGES is not set 249# CONFIG_PPC_16K_PAGES is not set
236# CONFIG_PPC_64K_PAGES is not set 250# CONFIG_PPC_64K_PAGES is not set
251# CONFIG_PPC_256K_PAGES is not set
237CONFIG_FORCE_MAX_ZONEORDER=11 252CONFIG_FORCE_MAX_ZONEORDER=11
238# CONFIG_PROC_DEVICETREE is not set 253# CONFIG_PROC_DEVICETREE is not set
239# CONFIG_CMDLINE_BOOL is not set 254# CONFIG_CMDLINE_BOOL is not set
@@ -264,17 +279,17 @@ CONFIG_PPC_PCI_CHOICE=y
264# Default settings for advanced configuration options are used 279# Default settings for advanced configuration options are used
265# 280#
266CONFIG_LOWMEM_SIZE=0x30000000 281CONFIG_LOWMEM_SIZE=0x30000000
282CONFIG_LOWMEM_CAM_NUM=3
267CONFIG_PAGE_OFFSET=0xc0000000 283CONFIG_PAGE_OFFSET=0xc0000000
268CONFIG_KERNEL_START=0xc0000000 284CONFIG_KERNEL_START=0xc0000000
269CONFIG_PHYSICAL_START=0x00000000 285CONFIG_PHYSICAL_START=0x00000000
270CONFIG_PHYSICAL_ALIGN=0x10000000 286CONFIG_PHYSICAL_ALIGN=0x04000000
271CONFIG_TASK_SIZE=0xc0000000 287CONFIG_TASK_SIZE=0xc0000000
272CONFIG_NET=y 288CONFIG_NET=y
273 289
274# 290#
275# Networking options 291# Networking options
276# 292#
277CONFIG_COMPAT_NET_DEV_OPS=y
278CONFIG_PACKET=y 293CONFIG_PACKET=y
279# CONFIG_PACKET_MMAP is not set 294# CONFIG_PACKET_MMAP is not set
280CONFIG_UNIX=y 295CONFIG_UNIX=y
@@ -330,6 +345,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
330# CONFIG_LAPB is not set 345# CONFIG_LAPB is not set
331# CONFIG_ECONET is not set 346# CONFIG_ECONET is not set
332# CONFIG_WAN_ROUTER is not set 347# CONFIG_WAN_ROUTER is not set
348# CONFIG_PHONET is not set
333# CONFIG_NET_SCHED is not set 349# CONFIG_NET_SCHED is not set
334# CONFIG_DCB is not set 350# CONFIG_DCB is not set
335 351
@@ -342,7 +358,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
342# CONFIG_IRDA is not set 358# CONFIG_IRDA is not set
343# CONFIG_BT is not set 359# CONFIG_BT is not set
344# CONFIG_AF_RXRPC is not set 360# CONFIG_AF_RXRPC is not set
345# CONFIG_PHONET is not set
346CONFIG_WIRELESS=y 361CONFIG_WIRELESS=y
347# CONFIG_CFG80211 is not set 362# CONFIG_CFG80211 is not set
348CONFIG_WIRELESS_OLD_REGULATORY=y 363CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -444,7 +459,6 @@ CONFIG_MTD_PHYSMAP_OF=y
444# LPDDR flash memory drivers 459# LPDDR flash memory drivers
445# 460#
446# CONFIG_MTD_LPDDR is not set 461# CONFIG_MTD_LPDDR is not set
447# CONFIG_MTD_QINFO_PROBE is not set
448 462
449# 463#
450# UBI - Unsorted block images 464# UBI - Unsorted block images
@@ -467,9 +481,13 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
467# CONFIG_ATA_OVER_ETH is not set 481# CONFIG_ATA_OVER_ETH is not set
468# CONFIG_BLK_DEV_HD is not set 482# CONFIG_BLK_DEV_HD is not set
469CONFIG_MISC_DEVICES=y 483CONFIG_MISC_DEVICES=y
470# CONFIG_EEPROM_93CX6 is not set
471# CONFIG_ENCLOSURE_SERVICES is not set 484# CONFIG_ENCLOSURE_SERVICES is not set
472# CONFIG_C2PORT is not set 485# CONFIG_C2PORT is not set
486
487#
488# EEPROM support
489#
490# CONFIG_EEPROM_93CX6 is not set
473CONFIG_HAVE_IDE=y 491CONFIG_HAVE_IDE=y
474CONFIG_IDE=y 492CONFIG_IDE=y
475 493
@@ -502,6 +520,7 @@ CONFIG_IDE_PROC_FS=y
502# CONFIG_MD is not set 520# CONFIG_MD is not set
503# CONFIG_MACINTOSH_DRIVERS is not set 521# CONFIG_MACINTOSH_DRIVERS is not set
504CONFIG_NETDEVICES=y 522CONFIG_NETDEVICES=y
523CONFIG_COMPAT_NET_DEV_OPS=y
505# CONFIG_DUMMY is not set 524# CONFIG_DUMMY is not set
506# CONFIG_BONDING is not set 525# CONFIG_BONDING is not set
507# CONFIG_MACVLAN is not set 526# CONFIG_MACVLAN is not set
@@ -531,6 +550,8 @@ CONFIG_MDIO_BITBANG=y
531# CONFIG_MDIO_GPIO is not set 550# CONFIG_MDIO_GPIO is not set
532CONFIG_NET_ETHERNET=y 551CONFIG_NET_ETHERNET=y
533CONFIG_MII=y 552CONFIG_MII=y
553# CONFIG_ETHOC is not set
554# CONFIG_DNET is not set
534# CONFIG_IBM_NEW_EMAC_ZMII is not set 555# CONFIG_IBM_NEW_EMAC_ZMII is not set
535# CONFIG_IBM_NEW_EMAC_RGMII is not set 556# CONFIG_IBM_NEW_EMAC_RGMII is not set
536# CONFIG_IBM_NEW_EMAC_TAH is not set 557# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -544,6 +565,7 @@ CONFIG_FS_ENET=y
544CONFIG_FS_ENET_HAS_FCC=y 565CONFIG_FS_ENET_HAS_FCC=y
545CONFIG_FS_ENET_MDIO_FCC=y 566CONFIG_FS_ENET_MDIO_FCC=y
546CONFIG_NETDEV_1000=y 567CONFIG_NETDEV_1000=y
568CONFIG_FSL_PQ_MDIO=y
547CONFIG_GIANFAR=y 569CONFIG_GIANFAR=y
548CONFIG_NETDEV_10000=y 570CONFIG_NETDEV_10000=y
549 571
@@ -552,7 +574,6 @@ CONFIG_NETDEV_10000=y
552# 574#
553# CONFIG_WLAN_PRE80211 is not set 575# CONFIG_WLAN_PRE80211 is not set
554# CONFIG_WLAN_80211 is not set 576# CONFIG_WLAN_80211 is not set
555# CONFIG_IWLWIFI_LEDS is not set
556 577
557# 578#
558# Enable WiMAX (Networking options) to see the WiMAX drivers 579# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -624,6 +645,7 @@ CONFIG_LEGACY_PTY_COUNT=256
624# CONFIG_HVC_UDBG is not set 645# CONFIG_HVC_UDBG is not set
625# CONFIG_IPMI_HANDLER is not set 646# CONFIG_IPMI_HANDLER is not set
626CONFIG_HW_RANDOM=y 647CONFIG_HW_RANDOM=y
648# CONFIG_HW_RANDOM_TIMERIOMEM is not set
627# CONFIG_NVRAM is not set 649# CONFIG_NVRAM is not set
628CONFIG_GEN_RTC=y 650CONFIG_GEN_RTC=y
629# CONFIG_GEN_RTC_X is not set 651# CONFIG_GEN_RTC_X is not set
@@ -663,6 +685,7 @@ CONFIG_HWMON=y
663# CONFIG_SENSORS_IT87 is not set 685# CONFIG_SENSORS_IT87 is not set
664# CONFIG_SENSORS_PC87360 is not set 686# CONFIG_SENSORS_PC87360 is not set
665# CONFIG_SENSORS_PC87427 is not set 687# CONFIG_SENSORS_PC87427 is not set
688# CONFIG_SENSORS_SHT15 is not set
666# CONFIG_SENSORS_SMSC47M1 is not set 689# CONFIG_SENSORS_SMSC47M1 is not set
667# CONFIG_SENSORS_SMSC47B397 is not set 690# CONFIG_SENSORS_SMSC47B397 is not set
668# CONFIG_SENSORS_VT1211 is not set 691# CONFIG_SENSORS_VT1211 is not set
@@ -726,7 +749,6 @@ CONFIG_HID=y
726# 749#
727# Special HID drivers 750# Special HID drivers
728# 751#
729CONFIG_HID_COMPAT=y
730CONFIG_USB_SUPPORT=y 752CONFIG_USB_SUPPORT=y
731# CONFIG_USB_ARCH_HAS_HCD is not set 753# CONFIG_USB_ARCH_HAS_HCD is not set
732# CONFIG_USB_ARCH_HAS_OHCI is not set 754# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -739,7 +761,7 @@ CONFIG_USB_SUPPORT=y
739# 761#
740 762
741# 763#
742# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 764# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
743# 765#
744# CONFIG_USB_GADGET is not set 766# CONFIG_USB_GADGET is not set
745 767
@@ -753,6 +775,7 @@ CONFIG_USB_SUPPORT=y
753# CONFIG_EDAC is not set 775# CONFIG_EDAC is not set
754# CONFIG_RTC_CLASS is not set 776# CONFIG_RTC_CLASS is not set
755# CONFIG_DMADEVICES is not set 777# CONFIG_DMADEVICES is not set
778# CONFIG_AUXDISPLAY is not set
756# CONFIG_UIO is not set 779# CONFIG_UIO is not set
757# CONFIG_STAGING is not set 780# CONFIG_STAGING is not set
758 781
@@ -763,6 +786,7 @@ CONFIG_EXT2_FS=y
763# CONFIG_EXT2_FS_XATTR is not set 786# CONFIG_EXT2_FS_XATTR is not set
764# CONFIG_EXT2_FS_XIP is not set 787# CONFIG_EXT2_FS_XIP is not set
765CONFIG_EXT3_FS=y 788CONFIG_EXT3_FS=y
789# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
766CONFIG_EXT3_FS_XATTR=y 790CONFIG_EXT3_FS_XATTR=y
767# CONFIG_EXT3_FS_POSIX_ACL is not set 791# CONFIG_EXT3_FS_POSIX_ACL is not set
768# CONFIG_EXT3_FS_SECURITY is not set 792# CONFIG_EXT3_FS_SECURITY is not set
@@ -786,6 +810,11 @@ CONFIG_INOTIFY_USER=y
786# CONFIG_FUSE_FS is not set 810# CONFIG_FUSE_FS is not set
787 811
788# 812#
813# Caches
814#
815# CONFIG_FSCACHE is not set
816
817#
789# CD-ROM/DVD Filesystems 818# CD-ROM/DVD Filesystems
790# 819#
791# CONFIG_ISO9660_FS is not set 820# CONFIG_ISO9660_FS is not set
@@ -829,6 +858,7 @@ CONFIG_MISC_FILESYSTEMS=y
829# CONFIG_ROMFS_FS is not set 858# CONFIG_ROMFS_FS is not set
830# CONFIG_SYSV_FS is not set 859# CONFIG_SYSV_FS is not set
831# CONFIG_UFS_FS is not set 860# CONFIG_UFS_FS is not set
861# CONFIG_NILFS2_FS is not set
832CONFIG_NETWORK_FILESYSTEMS=y 862CONFIG_NETWORK_FILESYSTEMS=y
833CONFIG_NFS_FS=y 863CONFIG_NFS_FS=y
834# CONFIG_NFS_V3 is not set 864# CONFIG_NFS_V3 is not set
@@ -838,7 +868,6 @@ CONFIG_ROOT_NFS=y
838CONFIG_LOCKD=y 868CONFIG_LOCKD=y
839CONFIG_NFS_COMMON=y 869CONFIG_NFS_COMMON=y
840CONFIG_SUNRPC=y 870CONFIG_SUNRPC=y
841# CONFIG_SUNRPC_REGISTER_V4 is not set
842# CONFIG_RPCSEC_GSS_KRB5 is not set 871# CONFIG_RPCSEC_GSS_KRB5 is not set
843# CONFIG_RPCSEC_GSS_SPKM3 is not set 872# CONFIG_RPCSEC_GSS_SPKM3 is not set
844# CONFIG_SMB_FS is not set 873# CONFIG_SMB_FS is not set
@@ -866,6 +895,7 @@ CONFIG_PARTITION_ADVANCED=y
866# CONFIG_SYSV68_PARTITION is not set 895# CONFIG_SYSV68_PARTITION is not set
867# CONFIG_NLS is not set 896# CONFIG_NLS is not set
868# CONFIG_DLM is not set 897# CONFIG_DLM is not set
898# CONFIG_BINARY_PRINTF is not set
869 899
870# 900#
871# Library routines 901# Library routines
@@ -879,11 +909,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
879CONFIG_CRC32=y 909CONFIG_CRC32=y
880# CONFIG_CRC7 is not set 910# CONFIG_CRC7 is not set
881# CONFIG_LIBCRC32C is not set 911# CONFIG_LIBCRC32C is not set
882CONFIG_PLIST=y 912CONFIG_ZLIB_INFLATE=y
913CONFIG_DECOMPRESS_GZIP=y
883CONFIG_HAS_IOMEM=y 914CONFIG_HAS_IOMEM=y
884CONFIG_HAS_IOPORT=y 915CONFIG_HAS_IOPORT=y
885CONFIG_HAS_DMA=y 916CONFIG_HAS_DMA=y
886CONFIG_HAVE_LMB=y 917CONFIG_HAVE_LMB=y
918CONFIG_NLATTR=y
887 919
888# 920#
889# Kernel hacking 921# Kernel hacking
@@ -901,6 +933,9 @@ CONFIG_DEBUG_KERNEL=y
901CONFIG_DETECT_SOFTLOCKUP=y 933CONFIG_DETECT_SOFTLOCKUP=y
902# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 934# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
903CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 935CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
936CONFIG_DETECT_HUNG_TASK=y
937# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
938CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
904CONFIG_SCHED_DEBUG=y 939CONFIG_SCHED_DEBUG=y
905# CONFIG_SCHEDSTATS is not set 940# CONFIG_SCHEDSTATS is not set
906# CONFIG_TIMER_STATS is not set 941# CONFIG_TIMER_STATS is not set
@@ -931,9 +966,12 @@ CONFIG_DEBUG_MUTEXES=y
931# CONFIG_FAULT_INJECTION is not set 966# CONFIG_FAULT_INJECTION is not set
932# CONFIG_LATENCYTOP is not set 967# CONFIG_LATENCYTOP is not set
933CONFIG_SYSCTL_SYSCALL_CHECK=y 968CONFIG_SYSCTL_SYSCALL_CHECK=y
969# CONFIG_DEBUG_PAGEALLOC is not set
934CONFIG_HAVE_FUNCTION_TRACER=y 970CONFIG_HAVE_FUNCTION_TRACER=y
971CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
935CONFIG_HAVE_DYNAMIC_FTRACE=y 972CONFIG_HAVE_DYNAMIC_FTRACE=y
936CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 973CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
974CONFIG_TRACING_SUPPORT=y
937 975
938# 976#
939# Tracers 977# Tracers
@@ -941,17 +979,20 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
941# CONFIG_FUNCTION_TRACER is not set 979# CONFIG_FUNCTION_TRACER is not set
942# CONFIG_SCHED_TRACER is not set 980# CONFIG_SCHED_TRACER is not set
943# CONFIG_CONTEXT_SWITCH_TRACER is not set 981# CONFIG_CONTEXT_SWITCH_TRACER is not set
982# CONFIG_EVENT_TRACER is not set
944# CONFIG_BOOT_TRACER is not set 983# CONFIG_BOOT_TRACER is not set
945# CONFIG_TRACE_BRANCH_PROFILING is not set 984# CONFIG_TRACE_BRANCH_PROFILING is not set
946# CONFIG_STACK_TRACER is not set 985# CONFIG_STACK_TRACER is not set
947# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 986# CONFIG_KMEMTRACE is not set
987# CONFIG_WORKQUEUE_TRACER is not set
988# CONFIG_BLK_DEV_IO_TRACE is not set
989# CONFIG_DYNAMIC_DEBUG is not set
948# CONFIG_SAMPLES is not set 990# CONFIG_SAMPLES is not set
949CONFIG_HAVE_ARCH_KGDB=y 991CONFIG_HAVE_ARCH_KGDB=y
950# CONFIG_KGDB is not set 992# CONFIG_KGDB is not set
951CONFIG_PRINT_STACK_DEPTH=64 993CONFIG_PRINT_STACK_DEPTH=64
952# CONFIG_DEBUG_STACKOVERFLOW is not set 994# CONFIG_DEBUG_STACKOVERFLOW is not set
953# CONFIG_DEBUG_STACK_USAGE is not set 995# CONFIG_DEBUG_STACK_USAGE is not set
954# CONFIG_DEBUG_PAGEALLOC is not set
955# CONFIG_CODE_PATCHING_SELFTEST is not set 996# CONFIG_CODE_PATCHING_SELFTEST is not set
956# CONFIG_FTR_FIXUP_SELFTEST is not set 997# CONFIG_FTR_FIXUP_SELFTEST is not set
957# CONFIG_MSI_BITMAP_SELFTEST is not set 998# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1045,6 +1086,7 @@ CONFIG_CRYPTO=y
1045# Compression 1086# Compression
1046# 1087#
1047# CONFIG_CRYPTO_DEFLATE is not set 1088# CONFIG_CRYPTO_DEFLATE is not set
1089# CONFIG_CRYPTO_ZLIB is not set
1048# CONFIG_CRYPTO_LZO is not set 1090# CONFIG_CRYPTO_LZO is not set
1049 1091
1050# 1092#
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
index 905e8a3388d6..7b43be7586b6 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:05 2009 4# Wed May 13 17:22:17 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y
58CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y
75# CONFIG_BSD_PROCESS_ACCT is not set 77# CONFIG_BSD_PROCESS_ACCT is not set
76# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 79# CONFIG_AUDIT is not set
80
81#
82# RCU Subsystem
83#
84CONFIG_CLASSIC_RCU=y
85# CONFIG_TREE_RCU is not set
86# CONFIG_PREEMPT_RCU is not set
87# CONFIG_TREE_RCU_TRACE is not set
88# CONFIG_PREEMPT_RCU_TRACE is not set
78# CONFIG_IKCONFIG is not set 89# CONFIG_IKCONFIG is not set
79CONFIG_LOG_BUF_SHIFT=14 90CONFIG_LOG_BUF_SHIFT=14
80CONFIG_GROUP_SCHED=y 91CONFIG_GROUP_SCHED=y
@@ -89,21 +100,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
89# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
90CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
91CONFIG_INITRAMFS_SOURCE="" 102CONFIG_INITRAMFS_SOURCE=""
103CONFIG_RD_GZIP=y
104# CONFIG_RD_BZIP2 is not set
105# CONFIG_RD_LZMA is not set
92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 106# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
93CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
108CONFIG_ANON_INODES=y
94CONFIG_EMBEDDED=y 109CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 110CONFIG_SYSCTL_SYSCALL=y
96CONFIG_KALLSYMS=y 111CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_ALL is not set 112# CONFIG_KALLSYMS_ALL is not set
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 113# CONFIG_KALLSYMS_EXTRA_PASS is not set
114# CONFIG_STRIP_ASM_SYMS is not set
99CONFIG_HOTPLUG=y 115CONFIG_HOTPLUG=y
100CONFIG_PRINTK=y 116CONFIG_PRINTK=y
101CONFIG_BUG=y 117CONFIG_BUG=y
102CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
103CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 120CONFIG_FUTEX=y
106CONFIG_ANON_INODES=y
107CONFIG_EPOLL=y 121CONFIG_EPOLL=y
108CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
@@ -112,16 +126,19 @@ CONFIG_SHMEM=y
112CONFIG_AIO=y 126CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 127CONFIG_VM_EVENT_COUNTERS=y
114CONFIG_SLUB_DEBUG=y 128CONFIG_SLUB_DEBUG=y
129CONFIG_COMPAT_BRK=y
115# CONFIG_SLAB is not set 130# CONFIG_SLAB is not set
116CONFIG_SLUB=y 131CONFIG_SLUB=y
117# CONFIG_SLOB is not set 132# CONFIG_SLOB is not set
118# CONFIG_PROFILING is not set 133# CONFIG_PROFILING is not set
134# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y 137CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 138CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
141# CONFIG_SLOW_WORK is not set
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 142# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 143CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 144CONFIG_RT_MUTEXES=y
@@ -129,7 +146,6 @@ CONFIG_BASE_SMALL=0
129# CONFIG_MODULES is not set 146# CONFIG_MODULES is not set
130CONFIG_BLOCK=y 147CONFIG_BLOCK=y
131# CONFIG_LBD is not set 148# CONFIG_LBD is not set
132# CONFIG_BLK_DEV_IO_TRACE is not set
133# CONFIG_BLK_DEV_BSG is not set 149# CONFIG_BLK_DEV_BSG is not set
134# CONFIG_BLK_DEV_INTEGRITY is not set 150# CONFIG_BLK_DEV_INTEGRITY is not set
135 151
@@ -145,11 +161,6 @@ CONFIG_DEFAULT_AS=y
145# CONFIG_DEFAULT_CFQ is not set 161# CONFIG_DEFAULT_CFQ is not set
146# CONFIG_DEFAULT_NOOP is not set 162# CONFIG_DEFAULT_NOOP is not set
147CONFIG_DEFAULT_IOSCHED="anticipatory" 163CONFIG_DEFAULT_IOSCHED="anticipatory"
148CONFIG_CLASSIC_RCU=y
149# CONFIG_TREE_RCU is not set
150# CONFIG_PREEMPT_RCU is not set
151# CONFIG_TREE_RCU_TRACE is not set
152# CONFIG_PREEMPT_RCU_TRACE is not set
153# CONFIG_FREEZER is not set 164# CONFIG_FREEZER is not set
154 165
155# 166#
@@ -165,6 +176,7 @@ CONFIG_MPC8540_ADS=y
165# CONFIG_MPC85xx_MDS is not set 176# CONFIG_MPC85xx_MDS is not set
166# CONFIG_MPC8536_DS is not set 177# CONFIG_MPC8536_DS is not set
167# CONFIG_MPC85xx_DS is not set 178# CONFIG_MPC85xx_DS is not set
179# CONFIG_SOCRATES is not set
168# CONFIG_KSI8560 is not set 180# CONFIG_KSI8560 is not set
169# CONFIG_STX_GP3 is not set 181# CONFIG_STX_GP3 is not set
170# CONFIG_TQM8540 is not set 182# CONFIG_TQM8540 is not set
@@ -233,9 +245,12 @@ CONFIG_ZONE_DMA_FLAG=1
233CONFIG_BOUNCE=y 245CONFIG_BOUNCE=y
234CONFIG_VIRT_TO_BUS=y 246CONFIG_VIRT_TO_BUS=y
235CONFIG_UNEVICTABLE_LRU=y 247CONFIG_UNEVICTABLE_LRU=y
248CONFIG_HAVE_MLOCK=y
249CONFIG_HAVE_MLOCKED_PAGE_BIT=y
236CONFIG_PPC_4K_PAGES=y 250CONFIG_PPC_4K_PAGES=y
237# CONFIG_PPC_16K_PAGES is not set 251# CONFIG_PPC_16K_PAGES is not set
238# CONFIG_PPC_64K_PAGES is not set 252# CONFIG_PPC_64K_PAGES is not set
253# CONFIG_PPC_256K_PAGES is not set
239CONFIG_FORCE_MAX_ZONEORDER=11 254CONFIG_FORCE_MAX_ZONEORDER=11
240CONFIG_PROC_DEVICETREE=y 255CONFIG_PROC_DEVICETREE=y
241# CONFIG_CMDLINE_BOOL is not set 256# CONFIG_CMDLINE_BOOL is not set
@@ -266,17 +281,17 @@ CONFIG_PPC_PCI_CHOICE=y
266# Default settings for advanced configuration options are used 281# Default settings for advanced configuration options are used
267# 282#
268CONFIG_LOWMEM_SIZE=0x30000000 283CONFIG_LOWMEM_SIZE=0x30000000
284CONFIG_LOWMEM_CAM_NUM=3
269CONFIG_PAGE_OFFSET=0xc0000000 285CONFIG_PAGE_OFFSET=0xc0000000
270CONFIG_KERNEL_START=0xc0000000 286CONFIG_KERNEL_START=0xc0000000
271CONFIG_PHYSICAL_START=0x00000000 287CONFIG_PHYSICAL_START=0x00000000
272CONFIG_PHYSICAL_ALIGN=0x10000000 288CONFIG_PHYSICAL_ALIGN=0x04000000
273CONFIG_TASK_SIZE=0xc0000000 289CONFIG_TASK_SIZE=0xc0000000
274CONFIG_NET=y 290CONFIG_NET=y
275 291
276# 292#
277# Networking options 293# Networking options
278# 294#
279CONFIG_COMPAT_NET_DEV_OPS=y
280CONFIG_PACKET=y 295CONFIG_PACKET=y
281# CONFIG_PACKET_MMAP is not set 296# CONFIG_PACKET_MMAP is not set
282CONFIG_UNIX=y 297CONFIG_UNIX=y
@@ -332,6 +347,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
332# CONFIG_LAPB is not set 347# CONFIG_LAPB is not set
333# CONFIG_ECONET is not set 348# CONFIG_ECONET is not set
334# CONFIG_WAN_ROUTER is not set 349# CONFIG_WAN_ROUTER is not set
350# CONFIG_PHONET is not set
335# CONFIG_NET_SCHED is not set 351# CONFIG_NET_SCHED is not set
336# CONFIG_DCB is not set 352# CONFIG_DCB is not set
337 353
@@ -344,7 +360,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
344# CONFIG_IRDA is not set 360# CONFIG_IRDA is not set
345# CONFIG_BT is not set 361# CONFIG_BT is not set
346# CONFIG_AF_RXRPC is not set 362# CONFIG_AF_RXRPC is not set
347# CONFIG_PHONET is not set
348CONFIG_WIRELESS=y 363CONFIG_WIRELESS=y
349# CONFIG_CFG80211 is not set 364# CONFIG_CFG80211 is not set
350CONFIG_WIRELESS_OLD_REGULATORY=y 365CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -387,9 +402,13 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
387# CONFIG_ATA_OVER_ETH is not set 402# CONFIG_ATA_OVER_ETH is not set
388# CONFIG_BLK_DEV_HD is not set 403# CONFIG_BLK_DEV_HD is not set
389CONFIG_MISC_DEVICES=y 404CONFIG_MISC_DEVICES=y
390# CONFIG_EEPROM_93CX6 is not set
391# CONFIG_ENCLOSURE_SERVICES is not set 405# CONFIG_ENCLOSURE_SERVICES is not set
392# CONFIG_C2PORT is not set 406# CONFIG_C2PORT is not set
407
408#
409# EEPROM support
410#
411# CONFIG_EEPROM_93CX6 is not set
393CONFIG_HAVE_IDE=y 412CONFIG_HAVE_IDE=y
394# CONFIG_IDE is not set 413# CONFIG_IDE is not set
395 414
@@ -404,6 +423,7 @@ CONFIG_HAVE_IDE=y
404# CONFIG_MD is not set 423# CONFIG_MD is not set
405# CONFIG_MACINTOSH_DRIVERS is not set 424# CONFIG_MACINTOSH_DRIVERS is not set
406CONFIG_NETDEVICES=y 425CONFIG_NETDEVICES=y
426CONFIG_COMPAT_NET_DEV_OPS=y
407# CONFIG_DUMMY is not set 427# CONFIG_DUMMY is not set
408# CONFIG_BONDING is not set 428# CONFIG_BONDING is not set
409# CONFIG_MACVLAN is not set 429# CONFIG_MACVLAN is not set
@@ -432,6 +452,8 @@ CONFIG_PHYLIB=y
432# CONFIG_MDIO_BITBANG is not set 452# CONFIG_MDIO_BITBANG is not set
433CONFIG_NET_ETHERNET=y 453CONFIG_NET_ETHERNET=y
434CONFIG_MII=y 454CONFIG_MII=y
455# CONFIG_ETHOC is not set
456# CONFIG_DNET is not set
435# CONFIG_IBM_NEW_EMAC_ZMII is not set 457# CONFIG_IBM_NEW_EMAC_ZMII is not set
436# CONFIG_IBM_NEW_EMAC_RGMII is not set 458# CONFIG_IBM_NEW_EMAC_RGMII is not set
437# CONFIG_IBM_NEW_EMAC_TAH is not set 459# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -441,6 +463,7 @@ CONFIG_MII=y
441# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 463# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
442# CONFIG_B44 is not set 464# CONFIG_B44 is not set
443CONFIG_NETDEV_1000=y 465CONFIG_NETDEV_1000=y
466CONFIG_FSL_PQ_MDIO=y
444CONFIG_GIANFAR=y 467CONFIG_GIANFAR=y
445CONFIG_NETDEV_10000=y 468CONFIG_NETDEV_10000=y
446 469
@@ -449,7 +472,6 @@ CONFIG_NETDEV_10000=y
449# 472#
450# CONFIG_WLAN_PRE80211 is not set 473# CONFIG_WLAN_PRE80211 is not set
451# CONFIG_WLAN_80211 is not set 474# CONFIG_WLAN_80211 is not set
452# CONFIG_IWLWIFI_LEDS is not set
453 475
454# 476#
455# Enable WiMAX (Networking options) to see the WiMAX drivers 477# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -607,7 +629,6 @@ CONFIG_HID=y
607# 629#
608# Special HID drivers 630# Special HID drivers
609# 631#
610CONFIG_HID_COMPAT=y
611CONFIG_USB_SUPPORT=y 632CONFIG_USB_SUPPORT=y
612# CONFIG_USB_ARCH_HAS_HCD is not set 633# CONFIG_USB_ARCH_HAS_HCD is not set
613# CONFIG_USB_ARCH_HAS_OHCI is not set 634# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -620,7 +641,7 @@ CONFIG_USB_SUPPORT=y
620# 641#
621 642
622# 643#
623# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 644# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
624# 645#
625# CONFIG_USB_GADGET is not set 646# CONFIG_USB_GADGET is not set
626 647
@@ -634,6 +655,7 @@ CONFIG_USB_SUPPORT=y
634# CONFIG_EDAC is not set 655# CONFIG_EDAC is not set
635# CONFIG_RTC_CLASS is not set 656# CONFIG_RTC_CLASS is not set
636# CONFIG_DMADEVICES is not set 657# CONFIG_DMADEVICES is not set
658# CONFIG_AUXDISPLAY is not set
637# CONFIG_UIO is not set 659# CONFIG_UIO is not set
638# CONFIG_STAGING is not set 660# CONFIG_STAGING is not set
639 661
@@ -644,6 +666,7 @@ CONFIG_EXT2_FS=y
644# CONFIG_EXT2_FS_XATTR is not set 666# CONFIG_EXT2_FS_XATTR is not set
645# CONFIG_EXT2_FS_XIP is not set 667# CONFIG_EXT2_FS_XIP is not set
646CONFIG_EXT3_FS=y 668CONFIG_EXT3_FS=y
669# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
647CONFIG_EXT3_FS_XATTR=y 670CONFIG_EXT3_FS_XATTR=y
648# CONFIG_EXT3_FS_POSIX_ACL is not set 671# CONFIG_EXT3_FS_POSIX_ACL is not set
649# CONFIG_EXT3_FS_SECURITY is not set 672# CONFIG_EXT3_FS_SECURITY is not set
@@ -666,6 +689,11 @@ CONFIG_INOTIFY_USER=y
666# CONFIG_FUSE_FS is not set 689# CONFIG_FUSE_FS is not set
667 690
668# 691#
692# Caches
693#
694# CONFIG_FSCACHE is not set
695
696#
669# CD-ROM/DVD Filesystems 697# CD-ROM/DVD Filesystems
670# 698#
671# CONFIG_ISO9660_FS is not set 699# CONFIG_ISO9660_FS is not set
@@ -708,6 +736,7 @@ CONFIG_MISC_FILESYSTEMS=y
708# CONFIG_ROMFS_FS is not set 736# CONFIG_ROMFS_FS is not set
709# CONFIG_SYSV_FS is not set 737# CONFIG_SYSV_FS is not set
710# CONFIG_UFS_FS is not set 738# CONFIG_UFS_FS is not set
739# CONFIG_NILFS2_FS is not set
711CONFIG_NETWORK_FILESYSTEMS=y 740CONFIG_NETWORK_FILESYSTEMS=y
712CONFIG_NFS_FS=y 741CONFIG_NFS_FS=y
713# CONFIG_NFS_V3 is not set 742# CONFIG_NFS_V3 is not set
@@ -717,7 +746,6 @@ CONFIG_ROOT_NFS=y
717CONFIG_LOCKD=y 746CONFIG_LOCKD=y
718CONFIG_NFS_COMMON=y 747CONFIG_NFS_COMMON=y
719CONFIG_SUNRPC=y 748CONFIG_SUNRPC=y
720# CONFIG_SUNRPC_REGISTER_V4 is not set
721# CONFIG_RPCSEC_GSS_KRB5 is not set 749# CONFIG_RPCSEC_GSS_KRB5 is not set
722# CONFIG_RPCSEC_GSS_SPKM3 is not set 750# CONFIG_RPCSEC_GSS_SPKM3 is not set
723# CONFIG_SMB_FS is not set 751# CONFIG_SMB_FS is not set
@@ -745,6 +773,7 @@ CONFIG_PARTITION_ADVANCED=y
745# CONFIG_SYSV68_PARTITION is not set 773# CONFIG_SYSV68_PARTITION is not set
746# CONFIG_NLS is not set 774# CONFIG_NLS is not set
747# CONFIG_DLM is not set 775# CONFIG_DLM is not set
776# CONFIG_BINARY_PRINTF is not set
748 777
749# 778#
750# Library routines 779# Library routines
@@ -758,11 +787,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
758CONFIG_CRC32=y 787CONFIG_CRC32=y
759# CONFIG_CRC7 is not set 788# CONFIG_CRC7 is not set
760# CONFIG_LIBCRC32C is not set 789# CONFIG_LIBCRC32C is not set
761CONFIG_PLIST=y 790CONFIG_ZLIB_INFLATE=y
791CONFIG_DECOMPRESS_GZIP=y
762CONFIG_HAS_IOMEM=y 792CONFIG_HAS_IOMEM=y
763CONFIG_HAS_IOPORT=y 793CONFIG_HAS_IOPORT=y
764CONFIG_HAS_DMA=y 794CONFIG_HAS_DMA=y
765CONFIG_HAVE_LMB=y 795CONFIG_HAVE_LMB=y
796CONFIG_NLATTR=y
766 797
767# 798#
768# Kernel hacking 799# Kernel hacking
@@ -780,6 +811,9 @@ CONFIG_DEBUG_KERNEL=y
780CONFIG_DETECT_SOFTLOCKUP=y 811CONFIG_DETECT_SOFTLOCKUP=y
781# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 812# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
782CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 813CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
814CONFIG_DETECT_HUNG_TASK=y
815# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
816CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
783CONFIG_SCHED_DEBUG=y 817CONFIG_SCHED_DEBUG=y
784# CONFIG_SCHEDSTATS is not set 818# CONFIG_SCHEDSTATS is not set
785# CONFIG_TIMER_STATS is not set 819# CONFIG_TIMER_STATS is not set
@@ -809,9 +843,12 @@ CONFIG_DEBUG_MUTEXES=y
809# CONFIG_FAULT_INJECTION is not set 843# CONFIG_FAULT_INJECTION is not set
810# CONFIG_LATENCYTOP is not set 844# CONFIG_LATENCYTOP is not set
811CONFIG_SYSCTL_SYSCALL_CHECK=y 845CONFIG_SYSCTL_SYSCALL_CHECK=y
846# CONFIG_DEBUG_PAGEALLOC is not set
812CONFIG_HAVE_FUNCTION_TRACER=y 847CONFIG_HAVE_FUNCTION_TRACER=y
848CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
813CONFIG_HAVE_DYNAMIC_FTRACE=y 849CONFIG_HAVE_DYNAMIC_FTRACE=y
814CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 850CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
851CONFIG_TRACING_SUPPORT=y
815 852
816# 853#
817# Tracers 854# Tracers
@@ -819,17 +856,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
819# CONFIG_FUNCTION_TRACER is not set 856# CONFIG_FUNCTION_TRACER is not set
820# CONFIG_SCHED_TRACER is not set 857# CONFIG_SCHED_TRACER is not set
821# CONFIG_CONTEXT_SWITCH_TRACER is not set 858# CONFIG_CONTEXT_SWITCH_TRACER is not set
859# CONFIG_EVENT_TRACER is not set
822# CONFIG_BOOT_TRACER is not set 860# CONFIG_BOOT_TRACER is not set
823# CONFIG_TRACE_BRANCH_PROFILING is not set 861# CONFIG_TRACE_BRANCH_PROFILING is not set
824# CONFIG_STACK_TRACER is not set 862# CONFIG_STACK_TRACER is not set
825# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 863# CONFIG_KMEMTRACE is not set
864# CONFIG_WORKQUEUE_TRACER is not set
865# CONFIG_BLK_DEV_IO_TRACE is not set
826# CONFIG_SAMPLES is not set 866# CONFIG_SAMPLES is not set
827CONFIG_HAVE_ARCH_KGDB=y 867CONFIG_HAVE_ARCH_KGDB=y
828# CONFIG_KGDB is not set 868# CONFIG_KGDB is not set
829CONFIG_PRINT_STACK_DEPTH=64 869CONFIG_PRINT_STACK_DEPTH=64
830# CONFIG_DEBUG_STACKOVERFLOW is not set 870# CONFIG_DEBUG_STACKOVERFLOW is not set
831# CONFIG_DEBUG_STACK_USAGE is not set 871# CONFIG_DEBUG_STACK_USAGE is not set
832# CONFIG_DEBUG_PAGEALLOC is not set
833# CONFIG_CODE_PATCHING_SELFTEST is not set 872# CONFIG_CODE_PATCHING_SELFTEST is not set
834# CONFIG_FTR_FIXUP_SELFTEST is not set 873# CONFIG_FTR_FIXUP_SELFTEST is not set
835# CONFIG_MSI_BITMAP_SELFTEST is not set 874# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -922,6 +961,7 @@ CONFIG_CRYPTO=y
922# Compression 961# Compression
923# 962#
924# CONFIG_CRYPTO_DEFLATE is not set 963# CONFIG_CRYPTO_DEFLATE is not set
964# CONFIG_CRYPTO_ZLIB is not set
925# CONFIG_CRYPTO_LZO is not set 965# CONFIG_CRYPTO_LZO is not set
926 966
927# 967#
diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
index 095e2ded6e8b..62adb71a5d4f 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:09 2009 4# Wed May 13 17:22:17 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y
59CONFIG_DEFAULT_UIMAGE=y 60CONFIG_DEFAULT_UIMAGE=y
60# CONFIG_PPC_DCR_NATIVE is not set 61# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 62# CONFIG_PPC_DCR_MMIO is not set
63CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 64CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
63 65
64# 66#
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y
76# CONFIG_BSD_PROCESS_ACCT is not set 78# CONFIG_BSD_PROCESS_ACCT is not set
77# CONFIG_TASKSTATS is not set 79# CONFIG_TASKSTATS is not set
78# CONFIG_AUDIT is not set 80# CONFIG_AUDIT is not set
81
82#
83# RCU Subsystem
84#
85CONFIG_CLASSIC_RCU=y
86# CONFIG_TREE_RCU is not set
87# CONFIG_PREEMPT_RCU is not set
88# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
79# CONFIG_IKCONFIG is not set 90# CONFIG_IKCONFIG is not set
80CONFIG_LOG_BUF_SHIFT=14 91CONFIG_LOG_BUF_SHIFT=14
81CONFIG_GROUP_SCHED=y 92CONFIG_GROUP_SCHED=y
@@ -90,21 +101,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
90# CONFIG_NAMESPACES is not set 101# CONFIG_NAMESPACES is not set
91CONFIG_BLK_DEV_INITRD=y 102CONFIG_BLK_DEV_INITRD=y
92CONFIG_INITRAMFS_SOURCE="" 103CONFIG_INITRAMFS_SOURCE=""
104CONFIG_RD_GZIP=y
105# CONFIG_RD_BZIP2 is not set
106# CONFIG_RD_LZMA is not set
93# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
94CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
109CONFIG_ANON_INODES=y
95CONFIG_EMBEDDED=y 110CONFIG_EMBEDDED=y
96CONFIG_SYSCTL_SYSCALL=y 111CONFIG_SYSCTL_SYSCALL=y
97CONFIG_KALLSYMS=y 112CONFIG_KALLSYMS=y
98# CONFIG_KALLSYMS_ALL is not set 113# CONFIG_KALLSYMS_ALL is not set
99# CONFIG_KALLSYMS_EXTRA_PASS is not set 114# CONFIG_KALLSYMS_EXTRA_PASS is not set
115# CONFIG_STRIP_ASM_SYMS is not set
100CONFIG_HOTPLUG=y 116CONFIG_HOTPLUG=y
101CONFIG_PRINTK=y 117CONFIG_PRINTK=y
102CONFIG_BUG=y 118CONFIG_BUG=y
103CONFIG_ELF_CORE=y 119CONFIG_ELF_CORE=y
104CONFIG_COMPAT_BRK=y
105CONFIG_BASE_FULL=y 120CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 121CONFIG_FUTEX=y
107CONFIG_ANON_INODES=y
108CONFIG_EPOLL=y 122CONFIG_EPOLL=y
109CONFIG_SIGNALFD=y 123CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 124CONFIG_TIMERFD=y
@@ -114,10 +128,12 @@ CONFIG_AIO=y
114CONFIG_VM_EVENT_COUNTERS=y 128CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y 129CONFIG_PCI_QUIRKS=y
116CONFIG_SLUB_DEBUG=y 130CONFIG_SLUB_DEBUG=y
131CONFIG_COMPAT_BRK=y
117# CONFIG_SLAB is not set 132# CONFIG_SLAB is not set
118CONFIG_SLUB=y 133CONFIG_SLUB=y
119# CONFIG_SLOB is not set 134# CONFIG_SLOB is not set
120# CONFIG_PROFILING is not set 135# CONFIG_PROFILING is not set
136# CONFIG_MARKERS is not set
121CONFIG_HAVE_OPROFILE=y 137CONFIG_HAVE_OPROFILE=y
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 138CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
123CONFIG_HAVE_IOREMAP_PROT=y 139CONFIG_HAVE_IOREMAP_PROT=y
@@ -125,6 +141,7 @@ CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 141CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 142CONFIG_HAVE_ARCH_TRACEHOOK=y
127CONFIG_HAVE_CLK=y 143CONFIG_HAVE_CLK=y
144# CONFIG_SLOW_WORK is not set
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 145# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 146CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 147CONFIG_RT_MUTEXES=y
@@ -132,7 +149,6 @@ CONFIG_BASE_SMALL=0
132# CONFIG_MODULES is not set 149# CONFIG_MODULES is not set
133CONFIG_BLOCK=y 150CONFIG_BLOCK=y
134# CONFIG_LBD is not set 151# CONFIG_LBD is not set
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 152# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 153# CONFIG_BLK_DEV_INTEGRITY is not set
138 154
@@ -148,11 +164,6 @@ CONFIG_DEFAULT_AS=y
148# CONFIG_DEFAULT_CFQ is not set 164# CONFIG_DEFAULT_CFQ is not set
149# CONFIG_DEFAULT_NOOP is not set 165# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 166CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y
152# CONFIG_TREE_RCU is not set
153# CONFIG_PREEMPT_RCU is not set
154# CONFIG_TREE_RCU_TRACE is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set
156# CONFIG_FREEZER is not set 167# CONFIG_FREEZER is not set
157 168
158# 169#
@@ -168,6 +179,7 @@ CONFIG_MPC8560_ADS=y
168# CONFIG_MPC85xx_MDS is not set 179# CONFIG_MPC85xx_MDS is not set
169# CONFIG_MPC8536_DS is not set 180# CONFIG_MPC8536_DS is not set
170# CONFIG_MPC85xx_DS is not set 181# CONFIG_MPC85xx_DS is not set
182# CONFIG_SOCRATES is not set
171# CONFIG_KSI8560 is not set 183# CONFIG_KSI8560 is not set
172# CONFIG_STX_GP3 is not set 184# CONFIG_STX_GP3 is not set
173# CONFIG_TQM8540 is not set 185# CONFIG_TQM8540 is not set
@@ -236,9 +248,12 @@ CONFIG_ZONE_DMA_FLAG=1
236CONFIG_BOUNCE=y 248CONFIG_BOUNCE=y
237CONFIG_VIRT_TO_BUS=y 249CONFIG_VIRT_TO_BUS=y
238CONFIG_UNEVICTABLE_LRU=y 250CONFIG_UNEVICTABLE_LRU=y
251CONFIG_HAVE_MLOCK=y
252CONFIG_HAVE_MLOCKED_PAGE_BIT=y
239CONFIG_PPC_4K_PAGES=y 253CONFIG_PPC_4K_PAGES=y
240# CONFIG_PPC_16K_PAGES is not set 254# CONFIG_PPC_16K_PAGES is not set
241# CONFIG_PPC_64K_PAGES is not set 255# CONFIG_PPC_64K_PAGES is not set
256# CONFIG_PPC_256K_PAGES is not set
242CONFIG_FORCE_MAX_ZONEORDER=11 257CONFIG_FORCE_MAX_ZONEORDER=11
243# CONFIG_PROC_DEVICETREE is not set 258# CONFIG_PROC_DEVICETREE is not set
244# CONFIG_CMDLINE_BOOL is not set 259# CONFIG_CMDLINE_BOOL is not set
@@ -264,6 +279,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
264# CONFIG_PCI_LEGACY is not set 279# CONFIG_PCI_LEGACY is not set
265CONFIG_PCI_DEBUG=y 280CONFIG_PCI_DEBUG=y
266# CONFIG_PCI_STUB is not set 281# CONFIG_PCI_STUB is not set
282# CONFIG_PCI_IOV is not set
267# CONFIG_PCCARD is not set 283# CONFIG_PCCARD is not set
268# CONFIG_HOTPLUG_PCI is not set 284# CONFIG_HOTPLUG_PCI is not set
269# CONFIG_HAS_RAPIDIO is not set 285# CONFIG_HAS_RAPIDIO is not set
@@ -277,17 +293,17 @@ CONFIG_PCI_DEBUG=y
277# Default settings for advanced configuration options are used 293# Default settings for advanced configuration options are used
278# 294#
279CONFIG_LOWMEM_SIZE=0x30000000 295CONFIG_LOWMEM_SIZE=0x30000000
296CONFIG_LOWMEM_CAM_NUM=3
280CONFIG_PAGE_OFFSET=0xc0000000 297CONFIG_PAGE_OFFSET=0xc0000000
281CONFIG_KERNEL_START=0xc0000000 298CONFIG_KERNEL_START=0xc0000000
282CONFIG_PHYSICAL_START=0x00000000 299CONFIG_PHYSICAL_START=0x00000000
283CONFIG_PHYSICAL_ALIGN=0x10000000 300CONFIG_PHYSICAL_ALIGN=0x04000000
284CONFIG_TASK_SIZE=0xc0000000 301CONFIG_TASK_SIZE=0xc0000000
285CONFIG_NET=y 302CONFIG_NET=y
286 303
287# 304#
288# Networking options 305# Networking options
289# 306#
290CONFIG_COMPAT_NET_DEV_OPS=y
291CONFIG_PACKET=y 307CONFIG_PACKET=y
292# CONFIG_PACKET_MMAP is not set 308# CONFIG_PACKET_MMAP is not set
293CONFIG_UNIX=y 309CONFIG_UNIX=y
@@ -343,6 +359,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_LAPB is not set 359# CONFIG_LAPB is not set
344# CONFIG_ECONET is not set 360# CONFIG_ECONET is not set
345# CONFIG_WAN_ROUTER is not set 361# CONFIG_WAN_ROUTER is not set
362# CONFIG_PHONET is not set
346# CONFIG_NET_SCHED is not set 363# CONFIG_NET_SCHED is not set
347# CONFIG_DCB is not set 364# CONFIG_DCB is not set
348 365
@@ -355,7 +372,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
355# CONFIG_IRDA is not set 372# CONFIG_IRDA is not set
356# CONFIG_BT is not set 373# CONFIG_BT is not set
357# CONFIG_AF_RXRPC is not set 374# CONFIG_AF_RXRPC is not set
358# CONFIG_PHONET is not set
359CONFIG_WIRELESS=y 375CONFIG_WIRELESS=y
360# CONFIG_CFG80211 is not set 376# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y 377CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -405,12 +421,16 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
405# CONFIG_BLK_DEV_HD is not set 421# CONFIG_BLK_DEV_HD is not set
406CONFIG_MISC_DEVICES=y 422CONFIG_MISC_DEVICES=y
407# CONFIG_PHANTOM is not set 423# CONFIG_PHANTOM is not set
408# CONFIG_EEPROM_93CX6 is not set
409# CONFIG_SGI_IOC4 is not set 424# CONFIG_SGI_IOC4 is not set
410# CONFIG_TIFM_CORE is not set 425# CONFIG_TIFM_CORE is not set
411# CONFIG_ENCLOSURE_SERVICES is not set 426# CONFIG_ENCLOSURE_SERVICES is not set
412# CONFIG_HP_ILO is not set 427# CONFIG_HP_ILO is not set
413# CONFIG_C2PORT is not set 428# CONFIG_C2PORT is not set
429
430#
431# EEPROM support
432#
433# CONFIG_EEPROM_93CX6 is not set
414CONFIG_HAVE_IDE=y 434CONFIG_HAVE_IDE=y
415# CONFIG_IDE is not set 435# CONFIG_IDE is not set
416 436
@@ -437,6 +457,7 @@ CONFIG_HAVE_IDE=y
437# CONFIG_I2O is not set 457# CONFIG_I2O is not set
438# CONFIG_MACINTOSH_DRIVERS is not set 458# CONFIG_MACINTOSH_DRIVERS is not set
439CONFIG_NETDEVICES=y 459CONFIG_NETDEVICES=y
460CONFIG_COMPAT_NET_DEV_OPS=y
440# CONFIG_DUMMY is not set 461# CONFIG_DUMMY is not set
441# CONFIG_BONDING is not set 462# CONFIG_BONDING is not set
442# CONFIG_MACVLAN is not set 463# CONFIG_MACVLAN is not set
@@ -470,6 +491,8 @@ CONFIG_MII=y
470# CONFIG_SUNGEM is not set 491# CONFIG_SUNGEM is not set
471# CONFIG_CASSINI is not set 492# CONFIG_CASSINI is not set
472# CONFIG_NET_VENDOR_3COM is not set 493# CONFIG_NET_VENDOR_3COM is not set
494# CONFIG_ETHOC is not set
495# CONFIG_DNET is not set
473# CONFIG_NET_TULIP is not set 496# CONFIG_NET_TULIP is not set
474# CONFIG_HP100 is not set 497# CONFIG_HP100 is not set
475# CONFIG_IBM_NEW_EMAC_ZMII is not set 498# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -493,6 +516,7 @@ CONFIG_E1000=y
493# CONFIG_E1000E is not set 516# CONFIG_E1000E is not set
494# CONFIG_IP1000 is not set 517# CONFIG_IP1000 is not set
495# CONFIG_IGB is not set 518# CONFIG_IGB is not set
519# CONFIG_IGBVF is not set
496# CONFIG_NS83820 is not set 520# CONFIG_NS83820 is not set
497# CONFIG_HAMACHI is not set 521# CONFIG_HAMACHI is not set
498# CONFIG_YELLOWFIN is not set 522# CONFIG_YELLOWFIN is not set
@@ -503,10 +527,12 @@ CONFIG_E1000=y
503# CONFIG_VIA_VELOCITY is not set 527# CONFIG_VIA_VELOCITY is not set
504# CONFIG_TIGON3 is not set 528# CONFIG_TIGON3 is not set
505# CONFIG_BNX2 is not set 529# CONFIG_BNX2 is not set
530CONFIG_FSL_PQ_MDIO=y
506CONFIG_GIANFAR=y 531CONFIG_GIANFAR=y
507# CONFIG_QLA3XXX is not set 532# CONFIG_QLA3XXX is not set
508# CONFIG_ATL1 is not set 533# CONFIG_ATL1 is not set
509# CONFIG_ATL1E is not set 534# CONFIG_ATL1E is not set
535# CONFIG_ATL1C is not set
510# CONFIG_JME is not set 536# CONFIG_JME is not set
511CONFIG_NETDEV_10000=y 537CONFIG_NETDEV_10000=y
512# CONFIG_CHELSIO_T1 is not set 538# CONFIG_CHELSIO_T1 is not set
@@ -516,6 +542,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
516# CONFIG_IXGBE is not set 542# CONFIG_IXGBE is not set
517# CONFIG_IXGB is not set 543# CONFIG_IXGB is not set
518# CONFIG_S2IO is not set 544# CONFIG_S2IO is not set
545# CONFIG_VXGE is not set
519# CONFIG_MYRI10GE is not set 546# CONFIG_MYRI10GE is not set
520# CONFIG_NETXEN_NIC is not set 547# CONFIG_NETXEN_NIC is not set
521# CONFIG_NIU is not set 548# CONFIG_NIU is not set
@@ -525,6 +552,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
525# CONFIG_BNX2X is not set 552# CONFIG_BNX2X is not set
526# CONFIG_QLGE is not set 553# CONFIG_QLGE is not set
527# CONFIG_SFC is not set 554# CONFIG_SFC is not set
555# CONFIG_BE2NET is not set
528# CONFIG_TR is not set 556# CONFIG_TR is not set
529 557
530# 558#
@@ -532,7 +560,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
532# 560#
533# CONFIG_WLAN_PRE80211 is not set 561# CONFIG_WLAN_PRE80211 is not set
534# CONFIG_WLAN_80211 is not set 562# CONFIG_WLAN_80211 is not set
535# CONFIG_IWLWIFI_LEDS is not set
536 563
537# 564#
538# Enable WiMAX (Networking options) to see the WiMAX drivers 565# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -608,6 +635,7 @@ CONFIG_LEGACY_PTY_COUNT=256
608# CONFIG_HVC_UDBG is not set 635# CONFIG_HVC_UDBG is not set
609# CONFIG_IPMI_HANDLER is not set 636# CONFIG_IPMI_HANDLER is not set
610CONFIG_HW_RANDOM=y 637CONFIG_HW_RANDOM=y
638# CONFIG_HW_RANDOM_TIMERIOMEM is not set
611# CONFIG_NVRAM is not set 639# CONFIG_NVRAM is not set
612CONFIG_GEN_RTC=y 640CONFIG_GEN_RTC=y
613# CONFIG_GEN_RTC_X is not set 641# CONFIG_GEN_RTC_X is not set
@@ -651,6 +679,7 @@ CONFIG_HWMON=y
651# CONFIG_SENSORS_IT87 is not set 679# CONFIG_SENSORS_IT87 is not set
652# CONFIG_SENSORS_PC87360 is not set 680# CONFIG_SENSORS_PC87360 is not set
653# CONFIG_SENSORS_PC87427 is not set 681# CONFIG_SENSORS_PC87427 is not set
682# CONFIG_SENSORS_SHT15 is not set
654# CONFIG_SENSORS_SIS5595 is not set 683# CONFIG_SENSORS_SIS5595 is not set
655# CONFIG_SENSORS_SMSC47M1 is not set 684# CONFIG_SENSORS_SMSC47M1 is not set
656# CONFIG_SENSORS_SMSC47B397 is not set 685# CONFIG_SENSORS_SMSC47B397 is not set
@@ -719,7 +748,6 @@ CONFIG_HID=y
719# 748#
720# Special HID drivers 749# Special HID drivers
721# 750#
722CONFIG_HID_COMPAT=y
723CONFIG_USB_SUPPORT=y 751CONFIG_USB_SUPPORT=y
724CONFIG_USB_ARCH_HAS_HCD=y 752CONFIG_USB_ARCH_HAS_HCD=y
725CONFIG_USB_ARCH_HAS_OHCI=y 753CONFIG_USB_ARCH_HAS_OHCI=y
@@ -733,7 +761,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
733# 761#
734 762
735# 763#
736# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 764# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
737# 765#
738# CONFIG_USB_GADGET is not set 766# CONFIG_USB_GADGET is not set
739 767
@@ -749,6 +777,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
749# CONFIG_EDAC is not set 777# CONFIG_EDAC is not set
750# CONFIG_RTC_CLASS is not set 778# CONFIG_RTC_CLASS is not set
751# CONFIG_DMADEVICES is not set 779# CONFIG_DMADEVICES is not set
780# CONFIG_AUXDISPLAY is not set
752# CONFIG_UIO is not set 781# CONFIG_UIO is not set
753# CONFIG_STAGING is not set 782# CONFIG_STAGING is not set
754 783
@@ -759,6 +788,7 @@ CONFIG_EXT2_FS=y
759# CONFIG_EXT2_FS_XATTR is not set 788# CONFIG_EXT2_FS_XATTR is not set
760# CONFIG_EXT2_FS_XIP is not set 789# CONFIG_EXT2_FS_XIP is not set
761CONFIG_EXT3_FS=y 790CONFIG_EXT3_FS=y
791# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
762CONFIG_EXT3_FS_XATTR=y 792CONFIG_EXT3_FS_XATTR=y
763# CONFIG_EXT3_FS_POSIX_ACL is not set 793# CONFIG_EXT3_FS_POSIX_ACL is not set
764# CONFIG_EXT3_FS_SECURITY is not set 794# CONFIG_EXT3_FS_SECURITY is not set
@@ -781,6 +811,11 @@ CONFIG_INOTIFY_USER=y
781# CONFIG_FUSE_FS is not set 811# CONFIG_FUSE_FS is not set
782 812
783# 813#
814# Caches
815#
816# CONFIG_FSCACHE is not set
817
818#
784# CD-ROM/DVD Filesystems 819# CD-ROM/DVD Filesystems
785# 820#
786# CONFIG_ISO9660_FS is not set 821# CONFIG_ISO9660_FS is not set
@@ -823,6 +858,7 @@ CONFIG_MISC_FILESYSTEMS=y
823# CONFIG_ROMFS_FS is not set 858# CONFIG_ROMFS_FS is not set
824# CONFIG_SYSV_FS is not set 859# CONFIG_SYSV_FS is not set
825# CONFIG_UFS_FS is not set 860# CONFIG_UFS_FS is not set
861# CONFIG_NILFS2_FS is not set
826CONFIG_NETWORK_FILESYSTEMS=y 862CONFIG_NETWORK_FILESYSTEMS=y
827CONFIG_NFS_FS=y 863CONFIG_NFS_FS=y
828# CONFIG_NFS_V3 is not set 864# CONFIG_NFS_V3 is not set
@@ -832,7 +868,6 @@ CONFIG_ROOT_NFS=y
832CONFIG_LOCKD=y 868CONFIG_LOCKD=y
833CONFIG_NFS_COMMON=y 869CONFIG_NFS_COMMON=y
834CONFIG_SUNRPC=y 870CONFIG_SUNRPC=y
835# CONFIG_SUNRPC_REGISTER_V4 is not set
836# CONFIG_RPCSEC_GSS_KRB5 is not set 871# CONFIG_RPCSEC_GSS_KRB5 is not set
837# CONFIG_RPCSEC_GSS_SPKM3 is not set 872# CONFIG_RPCSEC_GSS_SPKM3 is not set
838# CONFIG_SMB_FS is not set 873# CONFIG_SMB_FS is not set
@@ -860,6 +895,7 @@ CONFIG_PARTITION_ADVANCED=y
860# CONFIG_SYSV68_PARTITION is not set 895# CONFIG_SYSV68_PARTITION is not set
861# CONFIG_NLS is not set 896# CONFIG_NLS is not set
862# CONFIG_DLM is not set 897# CONFIG_DLM is not set
898# CONFIG_BINARY_PRINTF is not set
863 899
864# 900#
865# Library routines 901# Library routines
@@ -873,11 +909,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
873CONFIG_CRC32=y 909CONFIG_CRC32=y
874# CONFIG_CRC7 is not set 910# CONFIG_CRC7 is not set
875# CONFIG_LIBCRC32C is not set 911# CONFIG_LIBCRC32C is not set
876CONFIG_PLIST=y 912CONFIG_ZLIB_INFLATE=y
913CONFIG_DECOMPRESS_GZIP=y
877CONFIG_HAS_IOMEM=y 914CONFIG_HAS_IOMEM=y
878CONFIG_HAS_IOPORT=y 915CONFIG_HAS_IOPORT=y
879CONFIG_HAS_DMA=y 916CONFIG_HAS_DMA=y
880CONFIG_HAVE_LMB=y 917CONFIG_HAVE_LMB=y
918CONFIG_NLATTR=y
881 919
882# 920#
883# Kernel hacking 921# Kernel hacking
@@ -895,6 +933,9 @@ CONFIG_DEBUG_KERNEL=y
895CONFIG_DETECT_SOFTLOCKUP=y 933CONFIG_DETECT_SOFTLOCKUP=y
896# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 934# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
897CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 935CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
936CONFIG_DETECT_HUNG_TASK=y
937# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
938CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
898CONFIG_SCHED_DEBUG=y 939CONFIG_SCHED_DEBUG=y
899# CONFIG_SCHEDSTATS is not set 940# CONFIG_SCHEDSTATS is not set
900# CONFIG_TIMER_STATS is not set 941# CONFIG_TIMER_STATS is not set
@@ -924,9 +965,12 @@ CONFIG_DEBUG_MUTEXES=y
924# CONFIG_FAULT_INJECTION is not set 965# CONFIG_FAULT_INJECTION is not set
925# CONFIG_LATENCYTOP is not set 966# CONFIG_LATENCYTOP is not set
926CONFIG_SYSCTL_SYSCALL_CHECK=y 967CONFIG_SYSCTL_SYSCALL_CHECK=y
968# CONFIG_DEBUG_PAGEALLOC is not set
927CONFIG_HAVE_FUNCTION_TRACER=y 969CONFIG_HAVE_FUNCTION_TRACER=y
970CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
928CONFIG_HAVE_DYNAMIC_FTRACE=y 971CONFIG_HAVE_DYNAMIC_FTRACE=y
929CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 972CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
973CONFIG_TRACING_SUPPORT=y
930 974
931# 975#
932# Tracers 976# Tracers
@@ -934,17 +978,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
934# CONFIG_FUNCTION_TRACER is not set 978# CONFIG_FUNCTION_TRACER is not set
935# CONFIG_SCHED_TRACER is not set 979# CONFIG_SCHED_TRACER is not set
936# CONFIG_CONTEXT_SWITCH_TRACER is not set 980# CONFIG_CONTEXT_SWITCH_TRACER is not set
981# CONFIG_EVENT_TRACER is not set
937# CONFIG_BOOT_TRACER is not set 982# CONFIG_BOOT_TRACER is not set
938# CONFIG_TRACE_BRANCH_PROFILING is not set 983# CONFIG_TRACE_BRANCH_PROFILING is not set
939# CONFIG_STACK_TRACER is not set 984# CONFIG_STACK_TRACER is not set
940# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 985# CONFIG_KMEMTRACE is not set
986# CONFIG_WORKQUEUE_TRACER is not set
987# CONFIG_BLK_DEV_IO_TRACE is not set
941# CONFIG_SAMPLES is not set 988# CONFIG_SAMPLES is not set
942CONFIG_HAVE_ARCH_KGDB=y 989CONFIG_HAVE_ARCH_KGDB=y
943# CONFIG_KGDB is not set 990# CONFIG_KGDB is not set
944CONFIG_PRINT_STACK_DEPTH=64 991CONFIG_PRINT_STACK_DEPTH=64
945# CONFIG_DEBUG_STACKOVERFLOW is not set 992# CONFIG_DEBUG_STACKOVERFLOW is not set
946# CONFIG_DEBUG_STACK_USAGE is not set 993# CONFIG_DEBUG_STACK_USAGE is not set
947# CONFIG_DEBUG_PAGEALLOC is not set
948# CONFIG_CODE_PATCHING_SELFTEST is not set 994# CONFIG_CODE_PATCHING_SELFTEST is not set
949# CONFIG_FTR_FIXUP_SELFTEST is not set 995# CONFIG_FTR_FIXUP_SELFTEST is not set
950# CONFIG_MSI_BITMAP_SELFTEST is not set 996# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1037,6 +1083,7 @@ CONFIG_CRYPTO=y
1037# Compression 1083# Compression
1038# 1084#
1039# CONFIG_CRYPTO_DEFLATE is not set 1085# CONFIG_CRYPTO_DEFLATE is not set
1086# CONFIG_CRYPTO_ZLIB is not set
1040# CONFIG_CRYPTO_LZO is not set 1087# CONFIG_CRYPTO_LZO is not set
1041 1088
1042# 1089#
diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
index f95961c04a20..41209e3a6545 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:13 2009 4# Wed May 13 17:22:18 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y
58CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y
75# CONFIG_BSD_PROCESS_ACCT is not set 77# CONFIG_BSD_PROCESS_ACCT is not set
76# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 79# CONFIG_AUDIT is not set
80
81#
82# RCU Subsystem
83#
84CONFIG_CLASSIC_RCU=y
85# CONFIG_TREE_RCU is not set
86# CONFIG_PREEMPT_RCU is not set
87# CONFIG_TREE_RCU_TRACE is not set
88# CONFIG_PREEMPT_RCU_TRACE is not set
78# CONFIG_IKCONFIG is not set 89# CONFIG_IKCONFIG is not set
79CONFIG_LOG_BUF_SHIFT=14 90CONFIG_LOG_BUF_SHIFT=14
80CONFIG_GROUP_SCHED=y 91CONFIG_GROUP_SCHED=y
@@ -89,21 +100,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
89# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
90CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
91CONFIG_INITRAMFS_SOURCE="" 102CONFIG_INITRAMFS_SOURCE=""
103CONFIG_RD_GZIP=y
104# CONFIG_RD_BZIP2 is not set
105# CONFIG_RD_LZMA is not set
92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 106# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
93CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
108CONFIG_ANON_INODES=y
94CONFIG_EMBEDDED=y 109CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 110CONFIG_SYSCTL_SYSCALL=y
96CONFIG_KALLSYMS=y 111CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_ALL is not set 112# CONFIG_KALLSYMS_ALL is not set
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 113# CONFIG_KALLSYMS_EXTRA_PASS is not set
114# CONFIG_STRIP_ASM_SYMS is not set
99CONFIG_HOTPLUG=y 115CONFIG_HOTPLUG=y
100CONFIG_PRINTK=y 116CONFIG_PRINTK=y
101CONFIG_BUG=y 117CONFIG_BUG=y
102CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
103CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 120CONFIG_FUTEX=y
106CONFIG_ANON_INODES=y
107CONFIG_EPOLL=y 121CONFIG_EPOLL=y
108CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
@@ -113,16 +127,19 @@ CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 127CONFIG_VM_EVENT_COUNTERS=y
114CONFIG_PCI_QUIRKS=y 128CONFIG_PCI_QUIRKS=y
115CONFIG_SLUB_DEBUG=y 129CONFIG_SLUB_DEBUG=y
130CONFIG_COMPAT_BRK=y
116# CONFIG_SLAB is not set 131# CONFIG_SLAB is not set
117CONFIG_SLUB=y 132CONFIG_SLUB=y
118# CONFIG_SLOB is not set 133# CONFIG_SLOB is not set
119# CONFIG_PROFILING is not set 134# CONFIG_PROFILING is not set
135# CONFIG_MARKERS is not set
120CONFIG_HAVE_OPROFILE=y 136CONFIG_HAVE_OPROFILE=y
121CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 137CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
122CONFIG_HAVE_IOREMAP_PROT=y 138CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 139CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 140CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 141CONFIG_HAVE_ARCH_TRACEHOOK=y
142# CONFIG_SLOW_WORK is not set
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 143# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 144CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 145CONFIG_RT_MUTEXES=y
@@ -130,7 +147,6 @@ CONFIG_BASE_SMALL=0
130# CONFIG_MODULES is not set 147# CONFIG_MODULES is not set
131CONFIG_BLOCK=y 148CONFIG_BLOCK=y
132# CONFIG_LBD is not set 149# CONFIG_LBD is not set
133# CONFIG_BLK_DEV_IO_TRACE is not set
134# CONFIG_BLK_DEV_BSG is not set 150# CONFIG_BLK_DEV_BSG is not set
135# CONFIG_BLK_DEV_INTEGRITY is not set 151# CONFIG_BLK_DEV_INTEGRITY is not set
136 152
@@ -146,11 +162,6 @@ CONFIG_DEFAULT_AS=y
146# CONFIG_DEFAULT_CFQ is not set 162# CONFIG_DEFAULT_CFQ is not set
147# CONFIG_DEFAULT_NOOP is not set 163# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 164CONFIG_DEFAULT_IOSCHED="anticipatory"
149CONFIG_CLASSIC_RCU=y
150# CONFIG_TREE_RCU is not set
151# CONFIG_PREEMPT_RCU is not set
152# CONFIG_TREE_RCU_TRACE is not set
153# CONFIG_PREEMPT_RCU_TRACE is not set
154# CONFIG_FREEZER is not set 165# CONFIG_FREEZER is not set
155 166
156# 167#
@@ -166,6 +177,7 @@ CONFIG_MPC85xx_CDS=y
166# CONFIG_MPC85xx_MDS is not set 177# CONFIG_MPC85xx_MDS is not set
167# CONFIG_MPC8536_DS is not set 178# CONFIG_MPC8536_DS is not set
168# CONFIG_MPC85xx_DS is not set 179# CONFIG_MPC85xx_DS is not set
180# CONFIG_SOCRATES is not set
169# CONFIG_KSI8560 is not set 181# CONFIG_KSI8560 is not set
170# CONFIG_STX_GP3 is not set 182# CONFIG_STX_GP3 is not set
171# CONFIG_TQM8540 is not set 183# CONFIG_TQM8540 is not set
@@ -234,9 +246,12 @@ CONFIG_ZONE_DMA_FLAG=1
234CONFIG_BOUNCE=y 246CONFIG_BOUNCE=y
235CONFIG_VIRT_TO_BUS=y 247CONFIG_VIRT_TO_BUS=y
236CONFIG_UNEVICTABLE_LRU=y 248CONFIG_UNEVICTABLE_LRU=y
249CONFIG_HAVE_MLOCK=y
250CONFIG_HAVE_MLOCKED_PAGE_BIT=y
237CONFIG_PPC_4K_PAGES=y 251CONFIG_PPC_4K_PAGES=y
238# CONFIG_PPC_16K_PAGES is not set 252# CONFIG_PPC_16K_PAGES is not set
239# CONFIG_PPC_64K_PAGES is not set 253# CONFIG_PPC_64K_PAGES is not set
254# CONFIG_PPC_256K_PAGES is not set
240CONFIG_FORCE_MAX_ZONEORDER=11 255CONFIG_FORCE_MAX_ZONEORDER=11
241CONFIG_PROC_DEVICETREE=y 256CONFIG_PROC_DEVICETREE=y
242# CONFIG_CMDLINE_BOOL is not set 257# CONFIG_CMDLINE_BOOL is not set
@@ -262,6 +277,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
262# CONFIG_PCI_LEGACY is not set 277# CONFIG_PCI_LEGACY is not set
263# CONFIG_PCI_DEBUG is not set 278# CONFIG_PCI_DEBUG is not set
264# CONFIG_PCI_STUB is not set 279# CONFIG_PCI_STUB is not set
280# CONFIG_PCI_IOV is not set
265# CONFIG_PCCARD is not set 281# CONFIG_PCCARD is not set
266# CONFIG_HOTPLUG_PCI is not set 282# CONFIG_HOTPLUG_PCI is not set
267# CONFIG_HAS_RAPIDIO is not set 283# CONFIG_HAS_RAPIDIO is not set
@@ -275,17 +291,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y
275# Default settings for advanced configuration options are used 291# Default settings for advanced configuration options are used
276# 292#
277CONFIG_LOWMEM_SIZE=0x30000000 293CONFIG_LOWMEM_SIZE=0x30000000
294CONFIG_LOWMEM_CAM_NUM=3
278CONFIG_PAGE_OFFSET=0xc0000000 295CONFIG_PAGE_OFFSET=0xc0000000
279CONFIG_KERNEL_START=0xc0000000 296CONFIG_KERNEL_START=0xc0000000
280CONFIG_PHYSICAL_START=0x00000000 297CONFIG_PHYSICAL_START=0x00000000
281CONFIG_PHYSICAL_ALIGN=0x10000000 298CONFIG_PHYSICAL_ALIGN=0x04000000
282CONFIG_TASK_SIZE=0xc0000000 299CONFIG_TASK_SIZE=0xc0000000
283CONFIG_NET=y 300CONFIG_NET=y
284 301
285# 302#
286# Networking options 303# Networking options
287# 304#
288CONFIG_COMPAT_NET_DEV_OPS=y
289CONFIG_PACKET=y 305CONFIG_PACKET=y
290# CONFIG_PACKET_MMAP is not set 306# CONFIG_PACKET_MMAP is not set
291CONFIG_UNIX=y 307CONFIG_UNIX=y
@@ -341,6 +357,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
341# CONFIG_LAPB is not set 357# CONFIG_LAPB is not set
342# CONFIG_ECONET is not set 358# CONFIG_ECONET is not set
343# CONFIG_WAN_ROUTER is not set 359# CONFIG_WAN_ROUTER is not set
360# CONFIG_PHONET is not set
344# CONFIG_NET_SCHED is not set 361# CONFIG_NET_SCHED is not set
345# CONFIG_DCB is not set 362# CONFIG_DCB is not set
346 363
@@ -353,7 +370,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
353# CONFIG_IRDA is not set 370# CONFIG_IRDA is not set
354# CONFIG_BT is not set 371# CONFIG_BT is not set
355# CONFIG_AF_RXRPC is not set 372# CONFIG_AF_RXRPC is not set
356# CONFIG_PHONET is not set
357CONFIG_WIRELESS=y 373CONFIG_WIRELESS=y
358# CONFIG_CFG80211 is not set 374# CONFIG_CFG80211 is not set
359CONFIG_WIRELESS_OLD_REGULATORY=y 375CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -402,18 +418,23 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
402# CONFIG_BLK_DEV_HD is not set 418# CONFIG_BLK_DEV_HD is not set
403CONFIG_MISC_DEVICES=y 419CONFIG_MISC_DEVICES=y
404# CONFIG_PHANTOM is not set 420# CONFIG_PHANTOM is not set
405# CONFIG_EEPROM_93CX6 is not set
406# CONFIG_SGI_IOC4 is not set 421# CONFIG_SGI_IOC4 is not set
407# CONFIG_TIFM_CORE is not set 422# CONFIG_TIFM_CORE is not set
408# CONFIG_ENCLOSURE_SERVICES is not set 423# CONFIG_ENCLOSURE_SERVICES is not set
409# CONFIG_HP_ILO is not set 424# CONFIG_HP_ILO is not set
410# CONFIG_C2PORT is not set 425# CONFIG_C2PORT is not set
426
427#
428# EEPROM support
429#
430# CONFIG_EEPROM_93CX6 is not set
411CONFIG_HAVE_IDE=y 431CONFIG_HAVE_IDE=y
412CONFIG_IDE=y 432CONFIG_IDE=y
413 433
414# 434#
415# Please see Documentation/ide/ide.txt for help/info on IDE drives 435# Please see Documentation/ide/ide.txt for help/info on IDE drives
416# 436#
437CONFIG_IDE_XFER_MODE=y
417CONFIG_IDE_TIMINGS=y 438CONFIG_IDE_TIMINGS=y
418# CONFIG_BLK_DEV_IDE_SATA is not set 439# CONFIG_BLK_DEV_IDE_SATA is not set
419CONFIG_IDE_GD=y 440CONFIG_IDE_GD=y
@@ -488,6 +509,7 @@ CONFIG_BLK_DEV_IDEDMA=y
488# CONFIG_I2O is not set 509# CONFIG_I2O is not set
489# CONFIG_MACINTOSH_DRIVERS is not set 510# CONFIG_MACINTOSH_DRIVERS is not set
490CONFIG_NETDEVICES=y 511CONFIG_NETDEVICES=y
512CONFIG_COMPAT_NET_DEV_OPS=y
491# CONFIG_DUMMY is not set 513# CONFIG_DUMMY is not set
492# CONFIG_BONDING is not set 514# CONFIG_BONDING is not set
493# CONFIG_MACVLAN is not set 515# CONFIG_MACVLAN is not set
@@ -521,6 +543,8 @@ CONFIG_MII=y
521# CONFIG_SUNGEM is not set 543# CONFIG_SUNGEM is not set
522# CONFIG_CASSINI is not set 544# CONFIG_CASSINI is not set
523# CONFIG_NET_VENDOR_3COM is not set 545# CONFIG_NET_VENDOR_3COM is not set
546# CONFIG_ETHOC is not set
547# CONFIG_DNET is not set
524# CONFIG_NET_TULIP is not set 548# CONFIG_NET_TULIP is not set
525# CONFIG_HP100 is not set 549# CONFIG_HP100 is not set
526# CONFIG_IBM_NEW_EMAC_ZMII is not set 550# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -540,6 +564,7 @@ CONFIG_E1000=y
540# CONFIG_E1000E is not set 564# CONFIG_E1000E is not set
541# CONFIG_IP1000 is not set 565# CONFIG_IP1000 is not set
542# CONFIG_IGB is not set 566# CONFIG_IGB is not set
567# CONFIG_IGBVF is not set
543# CONFIG_NS83820 is not set 568# CONFIG_NS83820 is not set
544# CONFIG_HAMACHI is not set 569# CONFIG_HAMACHI is not set
545# CONFIG_YELLOWFIN is not set 570# CONFIG_YELLOWFIN is not set
@@ -550,10 +575,12 @@ CONFIG_E1000=y
550# CONFIG_VIA_VELOCITY is not set 575# CONFIG_VIA_VELOCITY is not set
551# CONFIG_TIGON3 is not set 576# CONFIG_TIGON3 is not set
552# CONFIG_BNX2 is not set 577# CONFIG_BNX2 is not set
578CONFIG_FSL_PQ_MDIO=y
553CONFIG_GIANFAR=y 579CONFIG_GIANFAR=y
554# CONFIG_QLA3XXX is not set 580# CONFIG_QLA3XXX is not set
555# CONFIG_ATL1 is not set 581# CONFIG_ATL1 is not set
556# CONFIG_ATL1E is not set 582# CONFIG_ATL1E is not set
583# CONFIG_ATL1C is not set
557# CONFIG_JME is not set 584# CONFIG_JME is not set
558CONFIG_NETDEV_10000=y 585CONFIG_NETDEV_10000=y
559# CONFIG_CHELSIO_T1 is not set 586# CONFIG_CHELSIO_T1 is not set
@@ -563,6 +590,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
563# CONFIG_IXGBE is not set 590# CONFIG_IXGBE is not set
564# CONFIG_IXGB is not set 591# CONFIG_IXGB is not set
565# CONFIG_S2IO is not set 592# CONFIG_S2IO is not set
593# CONFIG_VXGE is not set
566# CONFIG_MYRI10GE is not set 594# CONFIG_MYRI10GE is not set
567# CONFIG_NETXEN_NIC is not set 595# CONFIG_NETXEN_NIC is not set
568# CONFIG_NIU is not set 596# CONFIG_NIU is not set
@@ -572,6 +600,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
572# CONFIG_BNX2X is not set 600# CONFIG_BNX2X is not set
573# CONFIG_QLGE is not set 601# CONFIG_QLGE is not set
574# CONFIG_SFC is not set 602# CONFIG_SFC is not set
603# CONFIG_BE2NET is not set
575# CONFIG_TR is not set 604# CONFIG_TR is not set
576 605
577# 606#
@@ -579,7 +608,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
579# 608#
580# CONFIG_WLAN_PRE80211 is not set 609# CONFIG_WLAN_PRE80211 is not set
581# CONFIG_WLAN_80211 is not set 610# CONFIG_WLAN_80211 is not set
582# CONFIG_IWLWIFI_LEDS is not set
583 611
584# 612#
585# Enable WiMAX (Networking options) to see the WiMAX drivers 613# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -750,7 +778,6 @@ CONFIG_HID=y
750# 778#
751# Special HID drivers 779# Special HID drivers
752# 780#
753CONFIG_HID_COMPAT=y
754CONFIG_USB_SUPPORT=y 781CONFIG_USB_SUPPORT=y
755CONFIG_USB_ARCH_HAS_HCD=y 782CONFIG_USB_ARCH_HAS_HCD=y
756CONFIG_USB_ARCH_HAS_OHCI=y 783CONFIG_USB_ARCH_HAS_OHCI=y
@@ -764,7 +791,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
764# 791#
765 792
766# 793#
767# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 794# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
768# 795#
769# CONFIG_USB_GADGET is not set 796# CONFIG_USB_GADGET is not set
770 797
@@ -780,6 +807,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
780# CONFIG_EDAC is not set 807# CONFIG_EDAC is not set
781# CONFIG_RTC_CLASS is not set 808# CONFIG_RTC_CLASS is not set
782# CONFIG_DMADEVICES is not set 809# CONFIG_DMADEVICES is not set
810# CONFIG_AUXDISPLAY is not set
783# CONFIG_UIO is not set 811# CONFIG_UIO is not set
784# CONFIG_STAGING is not set 812# CONFIG_STAGING is not set
785 813
@@ -790,6 +818,7 @@ CONFIG_EXT2_FS=y
790# CONFIG_EXT2_FS_XATTR is not set 818# CONFIG_EXT2_FS_XATTR is not set
791# CONFIG_EXT2_FS_XIP is not set 819# CONFIG_EXT2_FS_XIP is not set
792CONFIG_EXT3_FS=y 820CONFIG_EXT3_FS=y
821# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
793CONFIG_EXT3_FS_XATTR=y 822CONFIG_EXT3_FS_XATTR=y
794# CONFIG_EXT3_FS_POSIX_ACL is not set 823# CONFIG_EXT3_FS_POSIX_ACL is not set
795# CONFIG_EXT3_FS_SECURITY is not set 824# CONFIG_EXT3_FS_SECURITY is not set
@@ -812,6 +841,11 @@ CONFIG_INOTIFY_USER=y
812# CONFIG_FUSE_FS is not set 841# CONFIG_FUSE_FS is not set
813 842
814# 843#
844# Caches
845#
846# CONFIG_FSCACHE is not set
847
848#
815# CD-ROM/DVD Filesystems 849# CD-ROM/DVD Filesystems
816# 850#
817# CONFIG_ISO9660_FS is not set 851# CONFIG_ISO9660_FS is not set
@@ -854,6 +888,7 @@ CONFIG_MISC_FILESYSTEMS=y
854# CONFIG_ROMFS_FS is not set 888# CONFIG_ROMFS_FS is not set
855# CONFIG_SYSV_FS is not set 889# CONFIG_SYSV_FS is not set
856# CONFIG_UFS_FS is not set 890# CONFIG_UFS_FS is not set
891# CONFIG_NILFS2_FS is not set
857CONFIG_NETWORK_FILESYSTEMS=y 892CONFIG_NETWORK_FILESYSTEMS=y
858CONFIG_NFS_FS=y 893CONFIG_NFS_FS=y
859# CONFIG_NFS_V3 is not set 894# CONFIG_NFS_V3 is not set
@@ -863,7 +898,6 @@ CONFIG_ROOT_NFS=y
863CONFIG_LOCKD=y 898CONFIG_LOCKD=y
864CONFIG_NFS_COMMON=y 899CONFIG_NFS_COMMON=y
865CONFIG_SUNRPC=y 900CONFIG_SUNRPC=y
866# CONFIG_SUNRPC_REGISTER_V4 is not set
867# CONFIG_RPCSEC_GSS_KRB5 is not set 901# CONFIG_RPCSEC_GSS_KRB5 is not set
868# CONFIG_RPCSEC_GSS_SPKM3 is not set 902# CONFIG_RPCSEC_GSS_SPKM3 is not set
869# CONFIG_SMB_FS is not set 903# CONFIG_SMB_FS is not set
@@ -891,6 +925,7 @@ CONFIG_PARTITION_ADVANCED=y
891# CONFIG_SYSV68_PARTITION is not set 925# CONFIG_SYSV68_PARTITION is not set
892# CONFIG_NLS is not set 926# CONFIG_NLS is not set
893# CONFIG_DLM is not set 927# CONFIG_DLM is not set
928# CONFIG_BINARY_PRINTF is not set
894 929
895# 930#
896# Library routines 931# Library routines
@@ -904,11 +939,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
904CONFIG_CRC32=y 939CONFIG_CRC32=y
905# CONFIG_CRC7 is not set 940# CONFIG_CRC7 is not set
906# CONFIG_LIBCRC32C is not set 941# CONFIG_LIBCRC32C is not set
907CONFIG_PLIST=y 942CONFIG_ZLIB_INFLATE=y
943CONFIG_DECOMPRESS_GZIP=y
908CONFIG_HAS_IOMEM=y 944CONFIG_HAS_IOMEM=y
909CONFIG_HAS_IOPORT=y 945CONFIG_HAS_IOPORT=y
910CONFIG_HAS_DMA=y 946CONFIG_HAS_DMA=y
911CONFIG_HAVE_LMB=y 947CONFIG_HAVE_LMB=y
948CONFIG_NLATTR=y
912 949
913# 950#
914# Kernel hacking 951# Kernel hacking
@@ -926,6 +963,9 @@ CONFIG_DEBUG_KERNEL=y
926CONFIG_DETECT_SOFTLOCKUP=y 963CONFIG_DETECT_SOFTLOCKUP=y
927# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 964# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
928CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 965CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
966CONFIG_DETECT_HUNG_TASK=y
967# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
968CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
929CONFIG_SCHED_DEBUG=y 969CONFIG_SCHED_DEBUG=y
930# CONFIG_SCHEDSTATS is not set 970# CONFIG_SCHEDSTATS is not set
931# CONFIG_TIMER_STATS is not set 971# CONFIG_TIMER_STATS is not set
@@ -955,9 +995,12 @@ CONFIG_DEBUG_MUTEXES=y
955# CONFIG_FAULT_INJECTION is not set 995# CONFIG_FAULT_INJECTION is not set
956# CONFIG_LATENCYTOP is not set 996# CONFIG_LATENCYTOP is not set
957CONFIG_SYSCTL_SYSCALL_CHECK=y 997CONFIG_SYSCTL_SYSCALL_CHECK=y
998# CONFIG_DEBUG_PAGEALLOC is not set
958CONFIG_HAVE_FUNCTION_TRACER=y 999CONFIG_HAVE_FUNCTION_TRACER=y
1000CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
959CONFIG_HAVE_DYNAMIC_FTRACE=y 1001CONFIG_HAVE_DYNAMIC_FTRACE=y
960CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1002CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1003CONFIG_TRACING_SUPPORT=y
961 1004
962# 1005#
963# Tracers 1006# Tracers
@@ -965,17 +1008,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
965# CONFIG_FUNCTION_TRACER is not set 1008# CONFIG_FUNCTION_TRACER is not set
966# CONFIG_SCHED_TRACER is not set 1009# CONFIG_SCHED_TRACER is not set
967# CONFIG_CONTEXT_SWITCH_TRACER is not set 1010# CONFIG_CONTEXT_SWITCH_TRACER is not set
1011# CONFIG_EVENT_TRACER is not set
968# CONFIG_BOOT_TRACER is not set 1012# CONFIG_BOOT_TRACER is not set
969# CONFIG_TRACE_BRANCH_PROFILING is not set 1013# CONFIG_TRACE_BRANCH_PROFILING is not set
970# CONFIG_STACK_TRACER is not set 1014# CONFIG_STACK_TRACER is not set
971# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1015# CONFIG_KMEMTRACE is not set
1016# CONFIG_WORKQUEUE_TRACER is not set
1017# CONFIG_BLK_DEV_IO_TRACE is not set
972# CONFIG_SAMPLES is not set 1018# CONFIG_SAMPLES is not set
973CONFIG_HAVE_ARCH_KGDB=y 1019CONFIG_HAVE_ARCH_KGDB=y
974# CONFIG_KGDB is not set 1020# CONFIG_KGDB is not set
975CONFIG_PRINT_STACK_DEPTH=64 1021CONFIG_PRINT_STACK_DEPTH=64
976# CONFIG_DEBUG_STACKOVERFLOW is not set 1022# CONFIG_DEBUG_STACKOVERFLOW is not set
977# CONFIG_DEBUG_STACK_USAGE is not set 1023# CONFIG_DEBUG_STACK_USAGE is not set
978# CONFIG_DEBUG_PAGEALLOC is not set
979# CONFIG_CODE_PATCHING_SELFTEST is not set 1024# CONFIG_CODE_PATCHING_SELFTEST is not set
980# CONFIG_FTR_FIXUP_SELFTEST is not set 1025# CONFIG_FTR_FIXUP_SELFTEST is not set
981# CONFIG_MSI_BITMAP_SELFTEST is not set 1026# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1068,6 +1113,7 @@ CONFIG_CRYPTO=y
1068# Compression 1113# Compression
1069# 1114#
1070# CONFIG_CRYPTO_DEFLATE is not set 1115# CONFIG_CRYPTO_DEFLATE is not set
1116# CONFIG_CRYPTO_ZLIB is not set
1071# CONFIG_CRYPTO_LZO is not set 1117# CONFIG_CRYPTO_LZO is not set
1072 1118
1073# 1119#
diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig
index e68e80987aa9..6c36c9c7abfd 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:15 2009 4# Wed May 13 17:22:19 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y
58CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y
75# CONFIG_BSD_PROCESS_ACCT is not set 77# CONFIG_BSD_PROCESS_ACCT is not set
76# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 79# CONFIG_AUDIT is not set
80
81#
82# RCU Subsystem
83#
84CONFIG_CLASSIC_RCU=y
85# CONFIG_TREE_RCU is not set
86# CONFIG_PREEMPT_RCU is not set
87# CONFIG_TREE_RCU_TRACE is not set
88# CONFIG_PREEMPT_RCU_TRACE is not set
78# CONFIG_IKCONFIG is not set 89# CONFIG_IKCONFIG is not set
79CONFIG_LOG_BUF_SHIFT=14 90CONFIG_LOG_BUF_SHIFT=14
80CONFIG_GROUP_SCHED=y 91CONFIG_GROUP_SCHED=y
@@ -89,20 +100,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y
89# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
90CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
91CONFIG_INITRAMFS_SOURCE="" 102CONFIG_INITRAMFS_SOURCE=""
103CONFIG_RD_GZIP=y
104# CONFIG_RD_BZIP2 is not set
105# CONFIG_RD_LZMA is not set
92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 106# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
93CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
108CONFIG_ANON_INODES=y
94CONFIG_EMBEDDED=y 109CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 110CONFIG_SYSCTL_SYSCALL=y
96CONFIG_KALLSYMS=y 111CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_EXTRA_PASS is not set 112# CONFIG_KALLSYMS_EXTRA_PASS is not set
113# CONFIG_STRIP_ASM_SYMS is not set
98CONFIG_HOTPLUG=y 114CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 115CONFIG_PRINTK=y
100CONFIG_BUG=y 116CONFIG_BUG=y
101CONFIG_ELF_CORE=y 117CONFIG_ELF_CORE=y
102CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 118CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 119CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106CONFIG_EPOLL=y 120CONFIG_EPOLL=y
107CONFIG_SIGNALFD=y 121CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 122CONFIG_TIMERFD=y
@@ -111,16 +125,19 @@ CONFIG_SHMEM=y
111CONFIG_AIO=y 125CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 126CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y 127CONFIG_PCI_QUIRKS=y
128CONFIG_COMPAT_BRK=y
114CONFIG_SLAB=y 129CONFIG_SLAB=y
115# CONFIG_SLUB is not set 130# CONFIG_SLUB is not set
116# CONFIG_SLOB is not set 131# CONFIG_SLOB is not set
117# CONFIG_PROFILING is not set 132# CONFIG_PROFILING is not set
133# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y 134CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y 136CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 137CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 138CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 139CONFIG_HAVE_ARCH_TRACEHOOK=y
140# CONFIG_SLOW_WORK is not set
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 141# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 142CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 143CONFIG_RT_MUTEXES=y
@@ -128,7 +145,6 @@ CONFIG_BASE_SMALL=0
128# CONFIG_MODULES is not set 145# CONFIG_MODULES is not set
129CONFIG_BLOCK=y 146CONFIG_BLOCK=y
130# CONFIG_LBD is not set 147# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_BLK_DEV_BSG is not set 148# CONFIG_BLK_DEV_BSG is not set
133# CONFIG_BLK_DEV_INTEGRITY is not set 149# CONFIG_BLK_DEV_INTEGRITY is not set
134 150
@@ -144,11 +160,6 @@ CONFIG_DEFAULT_AS=y
144# CONFIG_DEFAULT_CFQ is not set 160# CONFIG_DEFAULT_CFQ is not set
145# CONFIG_DEFAULT_NOOP is not set 161# CONFIG_DEFAULT_NOOP is not set
146CONFIG_DEFAULT_IOSCHED="anticipatory" 162CONFIG_DEFAULT_IOSCHED="anticipatory"
147CONFIG_CLASSIC_RCU=y
148# CONFIG_TREE_RCU is not set
149# CONFIG_PREEMPT_RCU is not set
150# CONFIG_TREE_RCU_TRACE is not set
151# CONFIG_PREEMPT_RCU_TRACE is not set
152# CONFIG_FREEZER is not set 163# CONFIG_FREEZER is not set
153 164
154# 165#
@@ -164,6 +175,7 @@ CONFIG_MPC85xx=y
164# CONFIG_MPC85xx_MDS is not set 175# CONFIG_MPC85xx_MDS is not set
165# CONFIG_MPC8536_DS is not set 176# CONFIG_MPC8536_DS is not set
166# CONFIG_MPC85xx_DS is not set 177# CONFIG_MPC85xx_DS is not set
178# CONFIG_SOCRATES is not set
167# CONFIG_KSI8560 is not set 179# CONFIG_KSI8560 is not set
168# CONFIG_STX_GP3 is not set 180# CONFIG_STX_GP3 is not set
169# CONFIG_TQM8540 is not set 181# CONFIG_TQM8540 is not set
@@ -231,9 +243,12 @@ CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
232CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
233CONFIG_UNEVICTABLE_LRU=y 245CONFIG_UNEVICTABLE_LRU=y
246CONFIG_HAVE_MLOCK=y
247CONFIG_HAVE_MLOCKED_PAGE_BIT=y
234CONFIG_PPC_4K_PAGES=y 248CONFIG_PPC_4K_PAGES=y
235# CONFIG_PPC_16K_PAGES is not set 249# CONFIG_PPC_16K_PAGES is not set
236# CONFIG_PPC_64K_PAGES is not set 250# CONFIG_PPC_64K_PAGES is not set
251# CONFIG_PPC_256K_PAGES is not set
237CONFIG_FORCE_MAX_ZONEORDER=11 252CONFIG_FORCE_MAX_ZONEORDER=11
238CONFIG_PROC_DEVICETREE=y 253CONFIG_PROC_DEVICETREE=y
239# CONFIG_CMDLINE_BOOL is not set 254# CONFIG_CMDLINE_BOOL is not set
@@ -258,6 +273,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
258# CONFIG_PCI_MSI is not set 273# CONFIG_PCI_MSI is not set
259# CONFIG_PCI_LEGACY is not set 274# CONFIG_PCI_LEGACY is not set
260# CONFIG_PCI_STUB is not set 275# CONFIG_PCI_STUB is not set
276# CONFIG_PCI_IOV is not set
261# CONFIG_PCCARD is not set 277# CONFIG_PCCARD is not set
262# CONFIG_HOTPLUG_PCI is not set 278# CONFIG_HOTPLUG_PCI is not set
263# CONFIG_HAS_RAPIDIO is not set 279# CONFIG_HAS_RAPIDIO is not set
@@ -271,17 +287,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y
271# Default settings for advanced configuration options are used 287# Default settings for advanced configuration options are used
272# 288#
273CONFIG_LOWMEM_SIZE=0x30000000 289CONFIG_LOWMEM_SIZE=0x30000000
290CONFIG_LOWMEM_CAM_NUM=3
274CONFIG_PAGE_OFFSET=0xc0000000 291CONFIG_PAGE_OFFSET=0xc0000000
275CONFIG_KERNEL_START=0xc0000000 292CONFIG_KERNEL_START=0xc0000000
276CONFIG_PHYSICAL_START=0x00000000 293CONFIG_PHYSICAL_START=0x00000000
277CONFIG_PHYSICAL_ALIGN=0x10000000 294CONFIG_PHYSICAL_ALIGN=0x04000000
278CONFIG_TASK_SIZE=0xc0000000 295CONFIG_TASK_SIZE=0xc0000000
279CONFIG_NET=y 296CONFIG_NET=y
280 297
281# 298#
282# Networking options 299# Networking options
283# 300#
284CONFIG_COMPAT_NET_DEV_OPS=y
285CONFIG_PACKET=y 301CONFIG_PACKET=y
286# CONFIG_PACKET_MMAP is not set 302# CONFIG_PACKET_MMAP is not set
287CONFIG_UNIX=y 303CONFIG_UNIX=y
@@ -337,6 +353,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
337# CONFIG_LAPB is not set 353# CONFIG_LAPB is not set
338# CONFIG_ECONET is not set 354# CONFIG_ECONET is not set
339# CONFIG_WAN_ROUTER is not set 355# CONFIG_WAN_ROUTER is not set
356# CONFIG_PHONET is not set
340# CONFIG_NET_SCHED is not set 357# CONFIG_NET_SCHED is not set
341# CONFIG_DCB is not set 358# CONFIG_DCB is not set
342 359
@@ -349,7 +366,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
349# CONFIG_IRDA is not set 366# CONFIG_IRDA is not set
350# CONFIG_BT is not set 367# CONFIG_BT is not set
351# CONFIG_AF_RXRPC is not set 368# CONFIG_AF_RXRPC is not set
352# CONFIG_PHONET is not set
353CONFIG_WIRELESS=y 369CONFIG_WIRELESS=y
354# CONFIG_CFG80211 is not set 370# CONFIG_CFG80211 is not set
355CONFIG_WIRELESS_OLD_REGULATORY=y 371CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -396,12 +412,16 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
396# CONFIG_BLK_DEV_HD is not set 412# CONFIG_BLK_DEV_HD is not set
397CONFIG_MISC_DEVICES=y 413CONFIG_MISC_DEVICES=y
398# CONFIG_PHANTOM is not set 414# CONFIG_PHANTOM is not set
399# CONFIG_EEPROM_93CX6 is not set
400# CONFIG_SGI_IOC4 is not set 415# CONFIG_SGI_IOC4 is not set
401# CONFIG_TIFM_CORE is not set 416# CONFIG_TIFM_CORE is not set
402# CONFIG_ENCLOSURE_SERVICES is not set 417# CONFIG_ENCLOSURE_SERVICES is not set
403# CONFIG_HP_ILO is not set 418# CONFIG_HP_ILO is not set
404# CONFIG_C2PORT is not set 419# CONFIG_C2PORT is not set
420
421#
422# EEPROM support
423#
424# CONFIG_EEPROM_93CX6 is not set
405CONFIG_HAVE_IDE=y 425CONFIG_HAVE_IDE=y
406# CONFIG_IDE is not set 426# CONFIG_IDE is not set
407 427
@@ -428,6 +448,7 @@ CONFIG_HAVE_IDE=y
428# CONFIG_I2O is not set 448# CONFIG_I2O is not set
429# CONFIG_MACINTOSH_DRIVERS is not set 449# CONFIG_MACINTOSH_DRIVERS is not set
430CONFIG_NETDEVICES=y 450CONFIG_NETDEVICES=y
451CONFIG_COMPAT_NET_DEV_OPS=y
431# CONFIG_DUMMY is not set 452# CONFIG_DUMMY is not set
432# CONFIG_BONDING is not set 453# CONFIG_BONDING is not set
433# CONFIG_MACVLAN is not set 454# CONFIG_MACVLAN is not set
@@ -461,6 +482,8 @@ CONFIG_MII=y
461# CONFIG_SUNGEM is not set 482# CONFIG_SUNGEM is not set
462# CONFIG_CASSINI is not set 483# CONFIG_CASSINI is not set
463# CONFIG_NET_VENDOR_3COM is not set 484# CONFIG_NET_VENDOR_3COM is not set
485# CONFIG_ETHOC is not set
486# CONFIG_DNET is not set
464# CONFIG_NET_TULIP is not set 487# CONFIG_NET_TULIP is not set
465# CONFIG_HP100 is not set 488# CONFIG_HP100 is not set
466# CONFIG_IBM_NEW_EMAC_ZMII is not set 489# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -480,6 +503,7 @@ CONFIG_NETDEV_1000=y
480# CONFIG_E1000E is not set 503# CONFIG_E1000E is not set
481# CONFIG_IP1000 is not set 504# CONFIG_IP1000 is not set
482# CONFIG_IGB is not set 505# CONFIG_IGB is not set
506# CONFIG_IGBVF is not set
483# CONFIG_NS83820 is not set 507# CONFIG_NS83820 is not set
484# CONFIG_HAMACHI is not set 508# CONFIG_HAMACHI is not set
485# CONFIG_YELLOWFIN is not set 509# CONFIG_YELLOWFIN is not set
@@ -490,10 +514,12 @@ CONFIG_NETDEV_1000=y
490# CONFIG_VIA_VELOCITY is not set 514# CONFIG_VIA_VELOCITY is not set
491# CONFIG_TIGON3 is not set 515# CONFIG_TIGON3 is not set
492# CONFIG_BNX2 is not set 516# CONFIG_BNX2 is not set
517CONFIG_FSL_PQ_MDIO=y
493CONFIG_GIANFAR=y 518CONFIG_GIANFAR=y
494# CONFIG_QLA3XXX is not set 519# CONFIG_QLA3XXX is not set
495# CONFIG_ATL1 is not set 520# CONFIG_ATL1 is not set
496# CONFIG_ATL1E is not set 521# CONFIG_ATL1E is not set
522# CONFIG_ATL1C is not set
497# CONFIG_JME is not set 523# CONFIG_JME is not set
498CONFIG_NETDEV_10000=y 524CONFIG_NETDEV_10000=y
499# CONFIG_CHELSIO_T1 is not set 525# CONFIG_CHELSIO_T1 is not set
@@ -503,6 +529,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
503# CONFIG_IXGBE is not set 529# CONFIG_IXGBE is not set
504# CONFIG_IXGB is not set 530# CONFIG_IXGB is not set
505# CONFIG_S2IO is not set 531# CONFIG_S2IO is not set
532# CONFIG_VXGE is not set
506# CONFIG_MYRI10GE is not set 533# CONFIG_MYRI10GE is not set
507# CONFIG_NETXEN_NIC is not set 534# CONFIG_NETXEN_NIC is not set
508# CONFIG_NIU is not set 535# CONFIG_NIU is not set
@@ -512,6 +539,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
512# CONFIG_BNX2X is not set 539# CONFIG_BNX2X is not set
513# CONFIG_QLGE is not set 540# CONFIG_QLGE is not set
514# CONFIG_SFC is not set 541# CONFIG_SFC is not set
542# CONFIG_BE2NET is not set
515# CONFIG_TR is not set 543# CONFIG_TR is not set
516 544
517# 545#
@@ -519,7 +547,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
519# 547#
520# CONFIG_WLAN_PRE80211 is not set 548# CONFIG_WLAN_PRE80211 is not set
521# CONFIG_WLAN_80211 is not set 549# CONFIG_WLAN_80211 is not set
522# CONFIG_IWLWIFI_LEDS is not set
523 550
524# 551#
525# Enable WiMAX (Networking options) to see the WiMAX drivers 552# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -692,6 +719,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
692# CONFIG_EDAC is not set 719# CONFIG_EDAC is not set
693# CONFIG_RTC_CLASS is not set 720# CONFIG_RTC_CLASS is not set
694# CONFIG_DMADEVICES is not set 721# CONFIG_DMADEVICES is not set
722# CONFIG_AUXDISPLAY is not set
695# CONFIG_UIO is not set 723# CONFIG_UIO is not set
696# CONFIG_STAGING is not set 724# CONFIG_STAGING is not set
697 725
@@ -717,6 +745,11 @@ CONFIG_INOTIFY_USER=y
717# CONFIG_FUSE_FS is not set 745# CONFIG_FUSE_FS is not set
718 746
719# 747#
748# Caches
749#
750# CONFIG_FSCACHE is not set
751
752#
720# CD-ROM/DVD Filesystems 753# CD-ROM/DVD Filesystems
721# 754#
722# CONFIG_ISO9660_FS is not set 755# CONFIG_ISO9660_FS is not set
@@ -759,6 +792,7 @@ CONFIG_MISC_FILESYSTEMS=y
759# CONFIG_ROMFS_FS is not set 792# CONFIG_ROMFS_FS is not set
760# CONFIG_SYSV_FS is not set 793# CONFIG_SYSV_FS is not set
761# CONFIG_UFS_FS is not set 794# CONFIG_UFS_FS is not set
795# CONFIG_NILFS2_FS is not set
762CONFIG_NETWORK_FILESYSTEMS=y 796CONFIG_NETWORK_FILESYSTEMS=y
763CONFIG_NFS_FS=y 797CONFIG_NFS_FS=y
764# CONFIG_NFS_V3 is not set 798# CONFIG_NFS_V3 is not set
@@ -768,7 +802,6 @@ CONFIG_ROOT_NFS=y
768CONFIG_LOCKD=y 802CONFIG_LOCKD=y
769CONFIG_NFS_COMMON=y 803CONFIG_NFS_COMMON=y
770CONFIG_SUNRPC=y 804CONFIG_SUNRPC=y
771# CONFIG_SUNRPC_REGISTER_V4 is not set
772# CONFIG_RPCSEC_GSS_KRB5 is not set 805# CONFIG_RPCSEC_GSS_KRB5 is not set
773# CONFIG_RPCSEC_GSS_SPKM3 is not set 806# CONFIG_RPCSEC_GSS_SPKM3 is not set
774# CONFIG_SMB_FS is not set 807# CONFIG_SMB_FS is not set
@@ -784,6 +817,7 @@ CONFIG_SUNRPC=y
784CONFIG_MSDOS_PARTITION=y 817CONFIG_MSDOS_PARTITION=y
785# CONFIG_NLS is not set 818# CONFIG_NLS is not set
786# CONFIG_DLM is not set 819# CONFIG_DLM is not set
820# CONFIG_BINARY_PRINTF is not set
787 821
788# 822#
789# Library routines 823# Library routines
@@ -797,11 +831,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
797CONFIG_CRC32=y 831CONFIG_CRC32=y
798# CONFIG_CRC7 is not set 832# CONFIG_CRC7 is not set
799# CONFIG_LIBCRC32C is not set 833# CONFIG_LIBCRC32C is not set
800CONFIG_PLIST=y 834CONFIG_ZLIB_INFLATE=y
835CONFIG_DECOMPRESS_GZIP=y
801CONFIG_HAS_IOMEM=y 836CONFIG_HAS_IOMEM=y
802CONFIG_HAS_IOPORT=y 837CONFIG_HAS_IOPORT=y
803CONFIG_HAS_DMA=y 838CONFIG_HAS_DMA=y
804CONFIG_HAVE_LMB=y 839CONFIG_HAVE_LMB=y
840CONFIG_NLATTR=y
805 841
806# 842#
807# Kernel hacking 843# Kernel hacking
@@ -821,13 +857,24 @@ CONFIG_FRAME_WARN=1024
821# CONFIG_LATENCYTOP is not set 857# CONFIG_LATENCYTOP is not set
822CONFIG_SYSCTL_SYSCALL_CHECK=y 858CONFIG_SYSCTL_SYSCALL_CHECK=y
823CONFIG_HAVE_FUNCTION_TRACER=y 859CONFIG_HAVE_FUNCTION_TRACER=y
860CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
824CONFIG_HAVE_DYNAMIC_FTRACE=y 861CONFIG_HAVE_DYNAMIC_FTRACE=y
825CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 862CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
863CONFIG_TRACING_SUPPORT=y
826 864
827# 865#
828# Tracers 866# Tracers
829# 867#
830# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 868# CONFIG_FUNCTION_TRACER is not set
869# CONFIG_SCHED_TRACER is not set
870# CONFIG_CONTEXT_SWITCH_TRACER is not set
871# CONFIG_EVENT_TRACER is not set
872# CONFIG_BOOT_TRACER is not set
873# CONFIG_TRACE_BRANCH_PROFILING is not set
874# CONFIG_STACK_TRACER is not set
875# CONFIG_KMEMTRACE is not set
876# CONFIG_WORKQUEUE_TRACER is not set
877# CONFIG_BLK_DEV_IO_TRACE is not set
831# CONFIG_SAMPLES is not set 878# CONFIG_SAMPLES is not set
832CONFIG_HAVE_ARCH_KGDB=y 879CONFIG_HAVE_ARCH_KGDB=y
833CONFIG_PRINT_STACK_DEPTH=64 880CONFIG_PRINT_STACK_DEPTH=64
@@ -918,6 +965,7 @@ CONFIG_CRYPTO=y
918# Compression 965# Compression
919# 966#
920# CONFIG_CRYPTO_DEFLATE is not set 967# CONFIG_CRYPTO_DEFLATE is not set
968# CONFIG_CRYPTO_ZLIB is not set
921# CONFIG_CRYPTO_LZO is not set 969# CONFIG_CRYPTO_LZO is not set
922 970
923# 971#
diff --git a/arch/powerpc/configs/85xx/sbc8560_defconfig b/arch/powerpc/configs/85xx/sbc8560_defconfig
index b1c766ef7e2e..4aaf1a6bdc7d 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:17 2009 4# Wed May 13 17:22:20 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y
58CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y
75# CONFIG_BSD_PROCESS_ACCT is not set 77# CONFIG_BSD_PROCESS_ACCT is not set
76# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 79# CONFIG_AUDIT is not set
80
81#
82# RCU Subsystem
83#
84CONFIG_CLASSIC_RCU=y
85# CONFIG_TREE_RCU is not set
86# CONFIG_PREEMPT_RCU is not set
87# CONFIG_TREE_RCU_TRACE is not set
88# CONFIG_PREEMPT_RCU_TRACE is not set
78# CONFIG_IKCONFIG is not set 89# CONFIG_IKCONFIG is not set
79CONFIG_LOG_BUF_SHIFT=14 90CONFIG_LOG_BUF_SHIFT=14
80CONFIG_GROUP_SCHED=y 91CONFIG_GROUP_SCHED=y
@@ -89,21 +100,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
89# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
90CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
91CONFIG_INITRAMFS_SOURCE="" 102CONFIG_INITRAMFS_SOURCE=""
103CONFIG_RD_GZIP=y
104# CONFIG_RD_BZIP2 is not set
105# CONFIG_RD_LZMA is not set
92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 106# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
93CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
108CONFIG_ANON_INODES=y
94CONFIG_EMBEDDED=y 109CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 110CONFIG_SYSCTL_SYSCALL=y
96CONFIG_KALLSYMS=y 111CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_ALL is not set 112# CONFIG_KALLSYMS_ALL is not set
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 113# CONFIG_KALLSYMS_EXTRA_PASS is not set
114# CONFIG_STRIP_ASM_SYMS is not set
99CONFIG_HOTPLUG=y 115CONFIG_HOTPLUG=y
100CONFIG_PRINTK=y 116CONFIG_PRINTK=y
101CONFIG_BUG=y 117CONFIG_BUG=y
102CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
103CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 120CONFIG_FUTEX=y
106CONFIG_ANON_INODES=y
107CONFIG_EPOLL=y 121CONFIG_EPOLL=y
108CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
@@ -111,16 +125,19 @@ CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 125CONFIG_SHMEM=y
112CONFIG_AIO=y 126CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 127CONFIG_VM_EVENT_COUNTERS=y
128CONFIG_COMPAT_BRK=y
114CONFIG_SLAB=y 129CONFIG_SLAB=y
115# CONFIG_SLUB is not set 130# CONFIG_SLUB is not set
116# CONFIG_SLOB is not set 131# CONFIG_SLOB is not set
117# CONFIG_PROFILING is not set 132# CONFIG_PROFILING is not set
133# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y 134CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y 136CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 137CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 138CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 139CONFIG_HAVE_ARCH_TRACEHOOK=y
140# CONFIG_SLOW_WORK is not set
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 141# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 142CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 143CONFIG_RT_MUTEXES=y
@@ -128,7 +145,6 @@ CONFIG_BASE_SMALL=0
128# CONFIG_MODULES is not set 145# CONFIG_MODULES is not set
129CONFIG_BLOCK=y 146CONFIG_BLOCK=y
130# CONFIG_LBD is not set 147# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_BLK_DEV_BSG is not set 148# CONFIG_BLK_DEV_BSG is not set
133# CONFIG_BLK_DEV_INTEGRITY is not set 149# CONFIG_BLK_DEV_INTEGRITY is not set
134 150
@@ -144,11 +160,6 @@ CONFIG_DEFAULT_AS=y
144# CONFIG_DEFAULT_CFQ is not set 160# CONFIG_DEFAULT_CFQ is not set
145# CONFIG_DEFAULT_NOOP is not set 161# CONFIG_DEFAULT_NOOP is not set
146CONFIG_DEFAULT_IOSCHED="anticipatory" 162CONFIG_DEFAULT_IOSCHED="anticipatory"
147CONFIG_CLASSIC_RCU=y
148# CONFIG_TREE_RCU is not set
149# CONFIG_PREEMPT_RCU is not set
150# CONFIG_TREE_RCU_TRACE is not set
151# CONFIG_PREEMPT_RCU_TRACE is not set
152# CONFIG_FREEZER is not set 163# CONFIG_FREEZER is not set
153 164
154# 165#
@@ -164,6 +175,7 @@ CONFIG_MPC85xx=y
164# CONFIG_MPC85xx_MDS is not set 175# CONFIG_MPC85xx_MDS is not set
165# CONFIG_MPC8536_DS is not set 176# CONFIG_MPC8536_DS is not set
166# CONFIG_MPC85xx_DS is not set 177# CONFIG_MPC85xx_DS is not set
178# CONFIG_SOCRATES is not set
167# CONFIG_KSI8560 is not set 179# CONFIG_KSI8560 is not set
168# CONFIG_STX_GP3 is not set 180# CONFIG_STX_GP3 is not set
169# CONFIG_TQM8540 is not set 181# CONFIG_TQM8540 is not set
@@ -231,9 +243,12 @@ CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
232CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
233CONFIG_UNEVICTABLE_LRU=y 245CONFIG_UNEVICTABLE_LRU=y
246CONFIG_HAVE_MLOCK=y
247CONFIG_HAVE_MLOCKED_PAGE_BIT=y
234CONFIG_PPC_4K_PAGES=y 248CONFIG_PPC_4K_PAGES=y
235# CONFIG_PPC_16K_PAGES is not set 249# CONFIG_PPC_16K_PAGES is not set
236# CONFIG_PPC_64K_PAGES is not set 250# CONFIG_PPC_64K_PAGES is not set
251# CONFIG_PPC_256K_PAGES is not set
237CONFIG_FORCE_MAX_ZONEORDER=11 252CONFIG_FORCE_MAX_ZONEORDER=11
238CONFIG_PROC_DEVICETREE=y 253CONFIG_PROC_DEVICETREE=y
239# CONFIG_CMDLINE_BOOL is not set 254# CONFIG_CMDLINE_BOOL is not set
@@ -264,17 +279,17 @@ CONFIG_PPC_PCI_CHOICE=y
264# Default settings for advanced configuration options are used 279# Default settings for advanced configuration options are used
265# 280#
266CONFIG_LOWMEM_SIZE=0x30000000 281CONFIG_LOWMEM_SIZE=0x30000000
282CONFIG_LOWMEM_CAM_NUM=3
267CONFIG_PAGE_OFFSET=0xc0000000 283CONFIG_PAGE_OFFSET=0xc0000000
268CONFIG_KERNEL_START=0xc0000000 284CONFIG_KERNEL_START=0xc0000000
269CONFIG_PHYSICAL_START=0x00000000 285CONFIG_PHYSICAL_START=0x00000000
270CONFIG_PHYSICAL_ALIGN=0x10000000 286CONFIG_PHYSICAL_ALIGN=0x04000000
271CONFIG_TASK_SIZE=0xc0000000 287CONFIG_TASK_SIZE=0xc0000000
272CONFIG_NET=y 288CONFIG_NET=y
273 289
274# 290#
275# Networking options 291# Networking options
276# 292#
277CONFIG_COMPAT_NET_DEV_OPS=y
278CONFIG_PACKET=y 293CONFIG_PACKET=y
279# CONFIG_PACKET_MMAP is not set 294# CONFIG_PACKET_MMAP is not set
280CONFIG_UNIX=y 295CONFIG_UNIX=y
@@ -330,6 +345,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
330# CONFIG_LAPB is not set 345# CONFIG_LAPB is not set
331# CONFIG_ECONET is not set 346# CONFIG_ECONET is not set
332# CONFIG_WAN_ROUTER is not set 347# CONFIG_WAN_ROUTER is not set
348# CONFIG_PHONET is not set
333# CONFIG_NET_SCHED is not set 349# CONFIG_NET_SCHED is not set
334# CONFIG_DCB is not set 350# CONFIG_DCB is not set
335 351
@@ -342,7 +358,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
342# CONFIG_IRDA is not set 358# CONFIG_IRDA is not set
343# CONFIG_BT is not set 359# CONFIG_BT is not set
344# CONFIG_AF_RXRPC is not set 360# CONFIG_AF_RXRPC is not set
345# CONFIG_PHONET is not set
346CONFIG_WIRELESS=y 361CONFIG_WIRELESS=y
347# CONFIG_CFG80211 is not set 362# CONFIG_CFG80211 is not set
348CONFIG_WIRELESS_OLD_REGULATORY=y 363CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -385,9 +400,13 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
385# CONFIG_ATA_OVER_ETH is not set 400# CONFIG_ATA_OVER_ETH is not set
386# CONFIG_BLK_DEV_HD is not set 401# CONFIG_BLK_DEV_HD is not set
387CONFIG_MISC_DEVICES=y 402CONFIG_MISC_DEVICES=y
388# CONFIG_EEPROM_93CX6 is not set
389# CONFIG_ENCLOSURE_SERVICES is not set 403# CONFIG_ENCLOSURE_SERVICES is not set
390# CONFIG_C2PORT is not set 404# CONFIG_C2PORT is not set
405
406#
407# EEPROM support
408#
409# CONFIG_EEPROM_93CX6 is not set
391CONFIG_HAVE_IDE=y 410CONFIG_HAVE_IDE=y
392# CONFIG_IDE is not set 411# CONFIG_IDE is not set
393 412
@@ -402,6 +421,7 @@ CONFIG_HAVE_IDE=y
402# CONFIG_MD is not set 421# CONFIG_MD is not set
403# CONFIG_MACINTOSH_DRIVERS is not set 422# CONFIG_MACINTOSH_DRIVERS is not set
404CONFIG_NETDEVICES=y 423CONFIG_NETDEVICES=y
424CONFIG_COMPAT_NET_DEV_OPS=y
405# CONFIG_DUMMY is not set 425# CONFIG_DUMMY is not set
406# CONFIG_BONDING is not set 426# CONFIG_BONDING is not set
407# CONFIG_MACVLAN is not set 427# CONFIG_MACVLAN is not set
@@ -430,6 +450,8 @@ CONFIG_BROADCOM_PHY=y
430# CONFIG_MDIO_BITBANG is not set 450# CONFIG_MDIO_BITBANG is not set
431CONFIG_NET_ETHERNET=y 451CONFIG_NET_ETHERNET=y
432CONFIG_MII=y 452CONFIG_MII=y
453# CONFIG_ETHOC is not set
454# CONFIG_DNET is not set
433# CONFIG_IBM_NEW_EMAC_ZMII is not set 455# CONFIG_IBM_NEW_EMAC_ZMII is not set
434# CONFIG_IBM_NEW_EMAC_RGMII is not set 456# CONFIG_IBM_NEW_EMAC_RGMII is not set
435# CONFIG_IBM_NEW_EMAC_TAH is not set 457# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -439,6 +461,7 @@ CONFIG_MII=y
439# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 461# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
440# CONFIG_B44 is not set 462# CONFIG_B44 is not set
441CONFIG_NETDEV_1000=y 463CONFIG_NETDEV_1000=y
464CONFIG_FSL_PQ_MDIO=y
442CONFIG_GIANFAR=y 465CONFIG_GIANFAR=y
443CONFIG_NETDEV_10000=y 466CONFIG_NETDEV_10000=y
444 467
@@ -447,7 +470,6 @@ CONFIG_NETDEV_10000=y
447# 470#
448# CONFIG_WLAN_PRE80211 is not set 471# CONFIG_WLAN_PRE80211 is not set
449# CONFIG_WLAN_80211 is not set 472# CONFIG_WLAN_80211 is not set
450# CONFIG_IWLWIFI_LEDS is not set
451 473
452# 474#
453# Enable WiMAX (Networking options) to see the WiMAX drivers 475# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -603,7 +625,6 @@ CONFIG_HID=y
603# 625#
604# Special HID drivers 626# Special HID drivers
605# 627#
606CONFIG_HID_COMPAT=y
607CONFIG_USB_SUPPORT=y 628CONFIG_USB_SUPPORT=y
608# CONFIG_USB_ARCH_HAS_HCD is not set 629# CONFIG_USB_ARCH_HAS_HCD is not set
609# CONFIG_USB_ARCH_HAS_OHCI is not set 630# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -616,7 +637,7 @@ CONFIG_USB_SUPPORT=y
616# 637#
617 638
618# 639#
619# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 640# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
620# 641#
621# CONFIG_USB_GADGET is not set 642# CONFIG_USB_GADGET is not set
622 643
@@ -665,8 +686,9 @@ CONFIG_RTC_DRV_M48T59=y
665# 686#
666# on-CPU RTC drivers 687# on-CPU RTC drivers
667# 688#
668# CONFIG_RTC_DRV_PPC is not set 689# CONFIG_RTC_DRV_GENERIC is not set
669# CONFIG_DMADEVICES is not set 690# CONFIG_DMADEVICES is not set
691# CONFIG_AUXDISPLAY is not set
670# CONFIG_UIO is not set 692# CONFIG_UIO is not set
671# CONFIG_STAGING is not set 693# CONFIG_STAGING is not set
672 694
@@ -692,6 +714,11 @@ CONFIG_INOTIFY_USER=y
692# CONFIG_FUSE_FS is not set 714# CONFIG_FUSE_FS is not set
693 715
694# 716#
717# Caches
718#
719# CONFIG_FSCACHE is not set
720
721#
695# CD-ROM/DVD Filesystems 722# CD-ROM/DVD Filesystems
696# 723#
697# CONFIG_ISO9660_FS is not set 724# CONFIG_ISO9660_FS is not set
@@ -734,6 +761,7 @@ CONFIG_MISC_FILESYSTEMS=y
734# CONFIG_ROMFS_FS is not set 761# CONFIG_ROMFS_FS is not set
735# CONFIG_SYSV_FS is not set 762# CONFIG_SYSV_FS is not set
736# CONFIG_UFS_FS is not set 763# CONFIG_UFS_FS is not set
764# CONFIG_NILFS2_FS is not set
737CONFIG_NETWORK_FILESYSTEMS=y 765CONFIG_NETWORK_FILESYSTEMS=y
738CONFIG_NFS_FS=y 766CONFIG_NFS_FS=y
739# CONFIG_NFS_V3 is not set 767# CONFIG_NFS_V3 is not set
@@ -743,7 +771,6 @@ CONFIG_ROOT_NFS=y
743CONFIG_LOCKD=y 771CONFIG_LOCKD=y
744CONFIG_NFS_COMMON=y 772CONFIG_NFS_COMMON=y
745CONFIG_SUNRPC=y 773CONFIG_SUNRPC=y
746# CONFIG_SUNRPC_REGISTER_V4 is not set
747# CONFIG_RPCSEC_GSS_KRB5 is not set 774# CONFIG_RPCSEC_GSS_KRB5 is not set
748# CONFIG_RPCSEC_GSS_SPKM3 is not set 775# CONFIG_RPCSEC_GSS_SPKM3 is not set
749# CONFIG_SMB_FS is not set 776# CONFIG_SMB_FS is not set
@@ -771,6 +798,7 @@ CONFIG_PARTITION_ADVANCED=y
771# CONFIG_SYSV68_PARTITION is not set 798# CONFIG_SYSV68_PARTITION is not set
772# CONFIG_NLS is not set 799# CONFIG_NLS is not set
773# CONFIG_DLM is not set 800# CONFIG_DLM is not set
801# CONFIG_BINARY_PRINTF is not set
774 802
775# 803#
776# Library routines 804# Library routines
@@ -784,11 +812,13 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
784CONFIG_CRC32=y 812CONFIG_CRC32=y
785# CONFIG_CRC7 is not set 813# CONFIG_CRC7 is not set
786# CONFIG_LIBCRC32C is not set 814# CONFIG_LIBCRC32C is not set
787CONFIG_PLIST=y 815CONFIG_ZLIB_INFLATE=y
816CONFIG_DECOMPRESS_GZIP=y
788CONFIG_HAS_IOMEM=y 817CONFIG_HAS_IOMEM=y
789CONFIG_HAS_IOPORT=y 818CONFIG_HAS_IOPORT=y
790CONFIG_HAS_DMA=y 819CONFIG_HAS_DMA=y
791CONFIG_HAVE_LMB=y 820CONFIG_HAVE_LMB=y
821CONFIG_NLATTR=y
792 822
793# 823#
794# Kernel hacking 824# Kernel hacking
@@ -806,6 +836,9 @@ CONFIG_DEBUG_KERNEL=y
806CONFIG_DETECT_SOFTLOCKUP=y 836CONFIG_DETECT_SOFTLOCKUP=y
807# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 837# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
808CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 838CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
839CONFIG_DETECT_HUNG_TASK=y
840# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
841CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
809CONFIG_SCHED_DEBUG=y 842CONFIG_SCHED_DEBUG=y
810# CONFIG_SCHEDSTATS is not set 843# CONFIG_SCHEDSTATS is not set
811# CONFIG_TIMER_STATS is not set 844# CONFIG_TIMER_STATS is not set
@@ -834,9 +867,12 @@ CONFIG_DEBUG_MUTEXES=y
834# CONFIG_FAULT_INJECTION is not set 867# CONFIG_FAULT_INJECTION is not set
835# CONFIG_LATENCYTOP is not set 868# CONFIG_LATENCYTOP is not set
836CONFIG_SYSCTL_SYSCALL_CHECK=y 869CONFIG_SYSCTL_SYSCALL_CHECK=y
870# CONFIG_DEBUG_PAGEALLOC is not set
837CONFIG_HAVE_FUNCTION_TRACER=y 871CONFIG_HAVE_FUNCTION_TRACER=y
872CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
838CONFIG_HAVE_DYNAMIC_FTRACE=y 873CONFIG_HAVE_DYNAMIC_FTRACE=y
839CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 874CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
875CONFIG_TRACING_SUPPORT=y
840 876
841# 877#
842# Tracers 878# Tracers
@@ -844,17 +880,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
844# CONFIG_FUNCTION_TRACER is not set 880# CONFIG_FUNCTION_TRACER is not set
845# CONFIG_SCHED_TRACER is not set 881# CONFIG_SCHED_TRACER is not set
846# CONFIG_CONTEXT_SWITCH_TRACER is not set 882# CONFIG_CONTEXT_SWITCH_TRACER is not set
883# CONFIG_EVENT_TRACER is not set
847# CONFIG_BOOT_TRACER is not set 884# CONFIG_BOOT_TRACER is not set
848# CONFIG_TRACE_BRANCH_PROFILING is not set 885# CONFIG_TRACE_BRANCH_PROFILING is not set
849# CONFIG_STACK_TRACER is not set 886# CONFIG_STACK_TRACER is not set
850# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 887# CONFIG_KMEMTRACE is not set
888# CONFIG_WORKQUEUE_TRACER is not set
889# CONFIG_BLK_DEV_IO_TRACE is not set
851# CONFIG_SAMPLES is not set 890# CONFIG_SAMPLES is not set
852CONFIG_HAVE_ARCH_KGDB=y 891CONFIG_HAVE_ARCH_KGDB=y
853# CONFIG_KGDB is not set 892# CONFIG_KGDB is not set
854CONFIG_PRINT_STACK_DEPTH=64 893CONFIG_PRINT_STACK_DEPTH=64
855# CONFIG_DEBUG_STACKOVERFLOW is not set 894# CONFIG_DEBUG_STACKOVERFLOW is not set
856# CONFIG_DEBUG_STACK_USAGE is not set 895# CONFIG_DEBUG_STACK_USAGE is not set
857# CONFIG_DEBUG_PAGEALLOC is not set
858# CONFIG_CODE_PATCHING_SELFTEST is not set 896# CONFIG_CODE_PATCHING_SELFTEST is not set
859# CONFIG_FTR_FIXUP_SELFTEST is not set 897# CONFIG_FTR_FIXUP_SELFTEST is not set
860# CONFIG_MSI_BITMAP_SELFTEST is not set 898# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -958,6 +996,7 @@ CONFIG_CRYPTO=y
958# Compression 996# Compression
959# 997#
960# CONFIG_CRYPTO_DEFLATE is not set 998# CONFIG_CRYPTO_DEFLATE is not set
999# CONFIG_CRYPTO_ZLIB is not set
961# CONFIG_CRYPTO_LZO is not set 1000# CONFIG_CRYPTO_LZO is not set
962 1001
963# 1002#
diff --git a/arch/powerpc/configs/85xx/socrates_defconfig b/arch/powerpc/configs/85xx/socrates_defconfig
index 0cc9048290a8..79984589db69 100644
--- a/arch/powerpc/configs/85xx/socrates_defconfig
+++ b/arch/powerpc/configs/85xx/socrates_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.2 3# Linux kernel version: 2.6.30-rc3
4# Sat Oct 18 11:06:13 2008 4# Wed May 13 17:22:21 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,15 +15,19 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
23# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set
24CONFIG_PPC32=y 28CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 29CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 30# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 31CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 32CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 33CONFIG_GENERIC_TIME=y
@@ -33,6 +37,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 41CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 42CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 43CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -43,7 +48,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
43CONFIG_PPC=y 48CONFIG_PPC=y
44CONFIG_EARLY_PRINTK=y 49CONFIG_EARLY_PRINTK=y
45CONFIG_GENERIC_NVRAM=y 50CONFIG_GENERIC_NVRAM=y
46CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 51CONFIG_SCHED_OMIT_FRAME_POINTER=y
47CONFIG_ARCH_MAY_HAVE_PC_FDC=y 52CONFIG_ARCH_MAY_HAVE_PC_FDC=y
48CONFIG_PPC_OF=y 53CONFIG_PPC_OF=y
49CONFIG_OF=y 54CONFIG_OF=y
@@ -54,6 +59,7 @@ CONFIG_GENERIC_BUG=y
54CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
55# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
56# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
57CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
58 64
59# 65#
@@ -71,54 +77,70 @@ CONFIG_SYSVIPC_SYSCTL=y
71# CONFIG_BSD_PROCESS_ACCT is not set 77# CONFIG_BSD_PROCESS_ACCT is not set
72# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
73# CONFIG_AUDIT is not set 79# CONFIG_AUDIT is not set
80
81#
82# RCU Subsystem
83#
84CONFIG_CLASSIC_RCU=y
85# CONFIG_TREE_RCU is not set
86# CONFIG_PREEMPT_RCU is not set
87# CONFIG_TREE_RCU_TRACE is not set
88# CONFIG_PREEMPT_RCU_TRACE is not set
74# CONFIG_IKCONFIG is not set 89# CONFIG_IKCONFIG is not set
75CONFIG_LOG_BUF_SHIFT=16 90CONFIG_LOG_BUF_SHIFT=16
76# CONFIG_CGROUPS is not set
77CONFIG_GROUP_SCHED=y 91CONFIG_GROUP_SCHED=y
78CONFIG_FAIR_GROUP_SCHED=y 92CONFIG_FAIR_GROUP_SCHED=y
79# CONFIG_RT_GROUP_SCHED is not set 93# CONFIG_RT_GROUP_SCHED is not set
80CONFIG_USER_SCHED=y 94CONFIG_USER_SCHED=y
81# CONFIG_CGROUP_SCHED is not set 95# CONFIG_CGROUP_SCHED is not set
96# CONFIG_CGROUPS is not set
82CONFIG_SYSFS_DEPRECATED=y 97CONFIG_SYSFS_DEPRECATED=y
83CONFIG_SYSFS_DEPRECATED_V2=y 98CONFIG_SYSFS_DEPRECATED_V2=y
84# CONFIG_RELAY is not set 99# CONFIG_RELAY is not set
85# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
86CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
87CONFIG_INITRAMFS_SOURCE="" 102CONFIG_INITRAMFS_SOURCE=""
103CONFIG_RD_GZIP=y
104# CONFIG_RD_BZIP2 is not set
105# CONFIG_RD_LZMA is not set
88# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 106# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
89CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
108CONFIG_ANON_INODES=y
90CONFIG_EMBEDDED=y 109CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 110CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93# CONFIG_KALLSYMS is not set 111# CONFIG_KALLSYMS is not set
112# CONFIG_STRIP_ASM_SYMS is not set
94# CONFIG_HOTPLUG is not set 113# CONFIG_HOTPLUG is not set
95CONFIG_PRINTK=y 114CONFIG_PRINTK=y
96CONFIG_BUG=y 115CONFIG_BUG=y
97CONFIG_ELF_CORE=y 116CONFIG_ELF_CORE=y
98CONFIG_COMPAT_BRK=y
99CONFIG_BASE_FULL=y 117CONFIG_BASE_FULL=y
100CONFIG_FUTEX=y 118CONFIG_FUTEX=y
101CONFIG_ANON_INODES=y
102# CONFIG_EPOLL is not set 119# CONFIG_EPOLL is not set
103CONFIG_SIGNALFD=y 120CONFIG_SIGNALFD=y
104CONFIG_TIMERFD=y 121CONFIG_TIMERFD=y
105CONFIG_EVENTFD=y 122CONFIG_EVENTFD=y
106CONFIG_SHMEM=y 123CONFIG_SHMEM=y
124CONFIG_AIO=y
107CONFIG_VM_EVENT_COUNTERS=y 125CONFIG_VM_EVENT_COUNTERS=y
126CONFIG_PCI_QUIRKS=y
108CONFIG_SLUB_DEBUG=y 127CONFIG_SLUB_DEBUG=y
128CONFIG_COMPAT_BRK=y
109# CONFIG_SLAB is not set 129# CONFIG_SLAB is not set
110CONFIG_SLUB=y 130CONFIG_SLUB=y
111# CONFIG_SLOB is not set 131# CONFIG_SLOB is not set
112# CONFIG_PROFILING is not set 132# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 133# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 134CONFIG_HAVE_OPROFILE=y
135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
136CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 137CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 138CONFIG_HAVE_KRETPROBES=y
117# CONFIG_HAVE_DMA_ATTRS is not set 139CONFIG_HAVE_ARCH_TRACEHOOK=y
118CONFIG_PROC_PAGE_MONITOR=y 140# CONFIG_SLOW_WORK is not set
141# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 142CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 143CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set
122CONFIG_BASE_SMALL=0 144CONFIG_BASE_SMALL=0
123CONFIG_MODULES=y 145CONFIG_MODULES=y
124# CONFIG_MODULE_FORCE_LOAD is not set 146# CONFIG_MODULE_FORCE_LOAD is not set
@@ -126,12 +148,10 @@ CONFIG_MODULE_UNLOAD=y
126CONFIG_MODULE_FORCE_UNLOAD=y 148CONFIG_MODULE_FORCE_UNLOAD=y
127# CONFIG_MODVERSIONS is not set 149# CONFIG_MODVERSIONS is not set
128# CONFIG_MODULE_SRCVERSION_ALL is not set 150# CONFIG_MODULE_SRCVERSION_ALL is not set
129# CONFIG_KMOD is not set
130CONFIG_BLOCK=y 151CONFIG_BLOCK=y
131# CONFIG_LBD is not set 152# CONFIG_LBD is not set
132# CONFIG_BLK_DEV_IO_TRACE is not set
133# CONFIG_LSF is not set
134# CONFIG_BLK_DEV_BSG is not set 153# CONFIG_BLK_DEV_BSG is not set
154# CONFIG_BLK_DEV_INTEGRITY is not set
135 155
136# 156#
137# IO Schedulers 157# IO Schedulers
@@ -145,13 +165,11 @@ CONFIG_DEFAULT_AS=y
145# CONFIG_DEFAULT_CFQ is not set 165# CONFIG_DEFAULT_CFQ is not set
146# CONFIG_DEFAULT_NOOP is not set 166# CONFIG_DEFAULT_NOOP is not set
147CONFIG_DEFAULT_IOSCHED="anticipatory" 167CONFIG_DEFAULT_IOSCHED="anticipatory"
148CONFIG_CLASSIC_RCU=y 168# CONFIG_FREEZER is not set
149 169
150# 170#
151# Platform support 171# Platform support
152# 172#
153# CONFIG_PPC_MPC512x is not set
154# CONFIG_PPC_MPC5121 is not set
155# CONFIG_PPC_CELL is not set 173# CONFIG_PPC_CELL is not set
156# CONFIG_PPC_CELL_NATIVE is not set 174# CONFIG_PPC_CELL_NATIVE is not set
157# CONFIG_PQ2ADS is not set 175# CONFIG_PQ2ADS is not set
@@ -160,12 +178,14 @@ CONFIG_MPC85xx=y
160# CONFIG_MPC8560_ADS is not set 178# CONFIG_MPC8560_ADS is not set
161# CONFIG_MPC85xx_CDS is not set 179# CONFIG_MPC85xx_CDS is not set
162# CONFIG_MPC85xx_MDS is not set 180# CONFIG_MPC85xx_MDS is not set
181# CONFIG_MPC8536_DS is not set
163# CONFIG_MPC85xx_DS is not set 182# CONFIG_MPC85xx_DS is not set
164CONFIG_SOCRATES=y 183CONFIG_SOCRATES=y
165# CONFIG_KSI8560 is not set 184# CONFIG_KSI8560 is not set
166# CONFIG_STX_GP3 is not set 185# CONFIG_STX_GP3 is not set
167# CONFIG_TQM8540 is not set 186# CONFIG_TQM8540 is not set
168# CONFIG_TQM8541 is not set 187# CONFIG_TQM8541 is not set
188# CONFIG_TQM8548 is not set
169# CONFIG_TQM8555 is not set 189# CONFIG_TQM8555 is not set
170# CONFIG_TQM8560 is not set 190# CONFIG_TQM8560 is not set
171# CONFIG_SBC8548 is not set 191# CONFIG_SBC8548 is not set
@@ -181,14 +201,16 @@ CONFIG_MPIC=y
181# CONFIG_PPC_INDIRECT_IO is not set 201# CONFIG_PPC_INDIRECT_IO is not set
182# CONFIG_GENERIC_IOMAP is not set 202# CONFIG_GENERIC_IOMAP is not set
183# CONFIG_CPU_FREQ is not set 203# CONFIG_CPU_FREQ is not set
204# CONFIG_QUICC_ENGINE is not set
184# CONFIG_CPM2 is not set 205# CONFIG_CPM2 is not set
185# CONFIG_FSL_ULI1575 is not set 206# CONFIG_FSL_ULI1575 is not set
207# CONFIG_MPC8xxx_GPIO is not set
208# CONFIG_SIMPLE_GPIO is not set
186 209
187# 210#
188# Kernel options 211# Kernel options
189# 212#
190# CONFIG_HIGHMEM is not set 213# CONFIG_HIGHMEM is not set
191# CONFIG_TICK_ONESHOT is not set
192# CONFIG_NO_HZ is not set 214# CONFIG_NO_HZ is not set
193# CONFIG_HIGH_RES_TIMERS is not set 215# CONFIG_HIGH_RES_TIMERS is not set
194CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 216CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -202,6 +224,8 @@ CONFIG_PREEMPT_NONE=y
202# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
203# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
204CONFIG_BINFMT_ELF=y 226CONFIG_BINFMT_ELF=y
227# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
228# CONFIG_HAVE_AOUT is not set
205# CONFIG_BINFMT_MISC is not set 229# CONFIG_BINFMT_MISC is not set
206CONFIG_MATH_EMULATION=y 230CONFIG_MATH_EMULATION=y
207# CONFIG_IOMMU_HELPER is not set 231# CONFIG_IOMMU_HELPER is not set
@@ -216,17 +240,24 @@ CONFIG_FLATMEM_MANUAL=y
216# CONFIG_SPARSEMEM_MANUAL is not set 240# CONFIG_SPARSEMEM_MANUAL is not set
217CONFIG_FLATMEM=y 241CONFIG_FLATMEM=y
218CONFIG_FLAT_NODE_MEM_MAP=y 242CONFIG_FLAT_NODE_MEM_MAP=y
219# CONFIG_SPARSEMEM_STATIC is not set
220# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
221CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
222CONFIG_SPLIT_PTLOCK_CPUS=4 244CONFIG_SPLIT_PTLOCK_CPUS=4
223# CONFIG_RESOURCES_64BIT is not set 245CONFIG_MIGRATION=y
246# CONFIG_PHYS_ADDR_T_64BIT is not set
224CONFIG_ZONE_DMA_FLAG=1 247CONFIG_ZONE_DMA_FLAG=1
225CONFIG_BOUNCE=y 248CONFIG_BOUNCE=y
226CONFIG_VIRT_TO_BUS=y 249CONFIG_VIRT_TO_BUS=y
250CONFIG_UNEVICTABLE_LRU=y
251CONFIG_HAVE_MLOCK=y
252CONFIG_HAVE_MLOCKED_PAGE_BIT=y
253CONFIG_PPC_4K_PAGES=y
254# CONFIG_PPC_16K_PAGES is not set
255# CONFIG_PPC_64K_PAGES is not set
256# CONFIG_PPC_256K_PAGES is not set
227CONFIG_FORCE_MAX_ZONEORDER=11 257CONFIG_FORCE_MAX_ZONEORDER=11
228# CONFIG_PROC_DEVICETREE is not set 258# CONFIG_PROC_DEVICETREE is not set
229# CONFIG_CMDLINE_BOOL is not set 259# CONFIG_CMDLINE_BOOL is not set
260CONFIG_EXTRA_TARGETS=""
230# CONFIG_PM is not set 261# CONFIG_PM is not set
231CONFIG_SECCOMP=y 262CONFIG_SECCOMP=y
232CONFIG_ISA_DMA_API=y 263CONFIG_ISA_DMA_API=y
@@ -238,6 +269,7 @@ CONFIG_ZONE_DMA=y
238CONFIG_PPC_INDIRECT_PCI=y 269CONFIG_PPC_INDIRECT_PCI=y
239CONFIG_FSL_SOC=y 270CONFIG_FSL_SOC=y
240CONFIG_FSL_PCI=y 271CONFIG_FSL_PCI=y
272CONFIG_PPC_PCI_CHOICE=y
241CONFIG_PCI=y 273CONFIG_PCI=y
242CONFIG_PCI_DOMAINS=y 274CONFIG_PCI_DOMAINS=y
243CONFIG_PCI_SYSCALL=y 275CONFIG_PCI_SYSCALL=y
@@ -245,6 +277,8 @@ CONFIG_PCI_SYSCALL=y
245CONFIG_ARCH_SUPPORTS_MSI=y 277CONFIG_ARCH_SUPPORTS_MSI=y
246# CONFIG_PCI_MSI is not set 278# CONFIG_PCI_MSI is not set
247CONFIG_PCI_LEGACY=y 279CONFIG_PCI_LEGACY=y
280# CONFIG_PCI_STUB is not set
281# CONFIG_PCI_IOV is not set
248# CONFIG_HAS_RAPIDIO is not set 282# CONFIG_HAS_RAPIDIO is not set
249 283
250# 284#
@@ -256,15 +290,12 @@ CONFIG_PCI_LEGACY=y
256# Default settings for advanced configuration options are used 290# Default settings for advanced configuration options are used
257# 291#
258CONFIG_LOWMEM_SIZE=0x30000000 292CONFIG_LOWMEM_SIZE=0x30000000
293CONFIG_LOWMEM_CAM_NUM=3
259CONFIG_PAGE_OFFSET=0xc0000000 294CONFIG_PAGE_OFFSET=0xc0000000
260CONFIG_KERNEL_START=0xc0000000 295CONFIG_KERNEL_START=0xc0000000
261CONFIG_PHYSICAL_START=0x00000000 296CONFIG_PHYSICAL_START=0x00000000
262CONFIG_PHYSICAL_ALIGN=0x10000000 297CONFIG_PHYSICAL_ALIGN=0x04000000
263CONFIG_TASK_SIZE=0xc0000000 298CONFIG_TASK_SIZE=0xc0000000
264
265#
266# Networking
267#
268CONFIG_NET=y 299CONFIG_NET=y
269 300
270# 301#
@@ -315,6 +346,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
315# CONFIG_TIPC is not set 346# CONFIG_TIPC is not set
316# CONFIG_ATM is not set 347# CONFIG_ATM is not set
317# CONFIG_BRIDGE is not set 348# CONFIG_BRIDGE is not set
349# CONFIG_NET_DSA is not set
318# CONFIG_VLAN_8021Q is not set 350# CONFIG_VLAN_8021Q is not set
319# CONFIG_DECNET is not set 351# CONFIG_DECNET is not set
320# CONFIG_LLC2 is not set 352# CONFIG_LLC2 is not set
@@ -324,7 +356,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
324# CONFIG_LAPB is not set 356# CONFIG_LAPB is not set
325# CONFIG_ECONET is not set 357# CONFIG_ECONET is not set
326# CONFIG_WAN_ROUTER is not set 358# CONFIG_WAN_ROUTER is not set
359# CONFIG_PHONET is not set
327# CONFIG_NET_SCHED is not set 360# CONFIG_NET_SCHED is not set
361# CONFIG_DCB is not set
328 362
329# 363#
330# Network testing 364# Network testing
@@ -339,27 +373,17 @@ CONFIG_CAN_BCM=y
339# CAN Device Drivers 373# CAN Device Drivers
340# 374#
341# CONFIG_CAN_VCAN is not set 375# CONFIG_CAN_VCAN is not set
342# CONFIG_CAN_OLD_DRIVERS is not set
343# CONFIG_CAN_SLCAN is not set
344CONFIG_CAN_SJA1000=y
345CONFIG_CAN_SJA1000_MEM_OF=y
346# CONFIG_CAN_EMS_PCI is not set
347# CONFIG_CAN_IXXAT_PCI is not set
348# CONFIG_CAN_PEAK_PCI is not set
349# CONFIG_CAN_KVASER_PCI is not set
350# CONFIG_CAN_MSCAN is not set
351# CONFIG_CAN_DEBUG_DEVICES is not set 376# CONFIG_CAN_DEBUG_DEVICES is not set
352# CONFIG_IRDA is not set 377# CONFIG_IRDA is not set
353# CONFIG_BT is not set 378# CONFIG_BT is not set
354# CONFIG_AF_RXRPC is not set 379# CONFIG_AF_RXRPC is not set
355 380CONFIG_WIRELESS=y
356#
357# Wireless
358#
359# CONFIG_CFG80211 is not set 381# CONFIG_CFG80211 is not set
382# CONFIG_WIRELESS_OLD_REGULATORY is not set
360# CONFIG_WIRELESS_EXT is not set 383# CONFIG_WIRELESS_EXT is not set
384# CONFIG_LIB80211 is not set
361# CONFIG_MAC80211 is not set 385# CONFIG_MAC80211 is not set
362# CONFIG_IEEE80211 is not set 386# CONFIG_WIMAX is not set
363# CONFIG_RFKILL is not set 387# CONFIG_RFKILL is not set
364# CONFIG_NET_9P is not set 388# CONFIG_NET_9P is not set
365 389
@@ -378,6 +402,7 @@ CONFIG_MTD=y
378# CONFIG_MTD_DEBUG is not set 402# CONFIG_MTD_DEBUG is not set
379CONFIG_MTD_CONCAT=y 403CONFIG_MTD_CONCAT=y
380CONFIG_MTD_PARTITIONS=y 404CONFIG_MTD_PARTITIONS=y
405# CONFIG_MTD_TESTS is not set
381# CONFIG_MTD_REDBOOT_PARTS is not set 406# CONFIG_MTD_REDBOOT_PARTS is not set
382CONFIG_MTD_CMDLINE_PARTS=y 407CONFIG_MTD_CMDLINE_PARTS=y
383CONFIG_MTD_OF_PARTS=y 408CONFIG_MTD_OF_PARTS=y
@@ -458,15 +483,22 @@ CONFIG_MTD_NAND_IDS=y
458# CONFIG_MTD_NAND_PLATFORM is not set 483# CONFIG_MTD_NAND_PLATFORM is not set
459# CONFIG_MTD_ALAUDA is not set 484# CONFIG_MTD_ALAUDA is not set
460# CONFIG_MTD_NAND_FSL_ELBC is not set 485# CONFIG_MTD_NAND_FSL_ELBC is not set
486# CONFIG_MTD_NAND_FSL_UPM is not set
461CONFIG_MTD_NAND_SOCRATES=y 487CONFIG_MTD_NAND_SOCRATES=y
462# CONFIG_MTD_ONENAND is not set 488# CONFIG_MTD_ONENAND is not set
463 489
464# 490#
491# LPDDR flash memory drivers
492#
493# CONFIG_MTD_LPDDR is not set
494
495#
465# UBI - Unsorted block images 496# UBI - Unsorted block images
466# 497#
467# CONFIG_MTD_UBI is not set 498# CONFIG_MTD_UBI is not set
468CONFIG_OF_DEVICE=y 499CONFIG_OF_DEVICE=y
469CONFIG_OF_I2C=y 500CONFIG_OF_I2C=y
501CONFIG_OF_SPI=y
470# CONFIG_PARPORT is not set 502# CONFIG_PARPORT is not set
471CONFIG_BLK_DEV=y 503CONFIG_BLK_DEV=y
472# CONFIG_BLK_DEV_FD is not set 504# CONFIG_BLK_DEV_FD is not set
@@ -486,12 +518,24 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
486# CONFIG_BLK_DEV_XIP is not set 518# CONFIG_BLK_DEV_XIP is not set
487# CONFIG_CDROM_PKTCDVD is not set 519# CONFIG_CDROM_PKTCDVD is not set
488# CONFIG_ATA_OVER_ETH is not set 520# CONFIG_ATA_OVER_ETH is not set
521# CONFIG_BLK_DEV_HD is not set
489CONFIG_MISC_DEVICES=y 522CONFIG_MISC_DEVICES=y
490# CONFIG_PHANTOM is not set 523# CONFIG_PHANTOM is not set
491# CONFIG_EEPROM_93CX6 is not set
492# CONFIG_SGI_IOC4 is not set 524# CONFIG_SGI_IOC4 is not set
493# CONFIG_TIFM_CORE is not set 525# CONFIG_TIFM_CORE is not set
526# CONFIG_ICS932S401 is not set
494# CONFIG_ENCLOSURE_SERVICES is not set 527# CONFIG_ENCLOSURE_SERVICES is not set
528# CONFIG_HP_ILO is not set
529# CONFIG_ISL29003 is not set
530# CONFIG_C2PORT is not set
531
532#
533# EEPROM support
534#
535# CONFIG_EEPROM_AT24 is not set
536# CONFIG_EEPROM_AT25 is not set
537# CONFIG_EEPROM_LEGACY is not set
538# CONFIG_EEPROM_93CX6 is not set
495CONFIG_HAVE_IDE=y 539CONFIG_HAVE_IDE=y
496# CONFIG_IDE is not set 540# CONFIG_IDE is not set
497 541
@@ -533,6 +577,8 @@ CONFIG_SCSI_WAIT_SCAN=m
533# CONFIG_SCSI_SAS_LIBSAS is not set 577# CONFIG_SCSI_SAS_LIBSAS is not set
534# CONFIG_SCSI_SRP_ATTRS is not set 578# CONFIG_SCSI_SRP_ATTRS is not set
535# CONFIG_SCSI_LOWLEVEL is not set 579# CONFIG_SCSI_LOWLEVEL is not set
580# CONFIG_SCSI_DH is not set
581# CONFIG_SCSI_OSD_INITIATOR is not set
536# CONFIG_ATA is not set 582# CONFIG_ATA is not set
537# CONFIG_MD is not set 583# CONFIG_MD is not set
538# CONFIG_FUSION is not set 584# CONFIG_FUSION is not set
@@ -549,7 +595,7 @@ CONFIG_SCSI_WAIT_SCAN=m
549# CONFIG_I2O is not set 595# CONFIG_I2O is not set
550# CONFIG_MACINTOSH_DRIVERS is not set 596# CONFIG_MACINTOSH_DRIVERS is not set
551CONFIG_NETDEVICES=y 597CONFIG_NETDEVICES=y
552# CONFIG_NETDEVICES_MULTIQUEUE is not set 598CONFIG_COMPAT_NET_DEV_OPS=y
553# CONFIG_DUMMY is not set 599# CONFIG_DUMMY is not set
554# CONFIG_BONDING is not set 600# CONFIG_BONDING is not set
555# CONFIG_MACVLAN is not set 601# CONFIG_MACVLAN is not set
@@ -572,6 +618,9 @@ CONFIG_MARVELL_PHY=y
572# CONFIG_BROADCOM_PHY is not set 618# CONFIG_BROADCOM_PHY is not set
573# CONFIG_ICPLUS_PHY is not set 619# CONFIG_ICPLUS_PHY is not set
574# CONFIG_REALTEK_PHY is not set 620# CONFIG_REALTEK_PHY is not set
621# CONFIG_NATIONAL_PHY is not set
622# CONFIG_STE10XP is not set
623# CONFIG_LSI_ET1011C_PHY is not set
575# CONFIG_FIXED_PHY is not set 624# CONFIG_FIXED_PHY is not set
576# CONFIG_MDIO_BITBANG is not set 625# CONFIG_MDIO_BITBANG is not set
577CONFIG_NET_ETHERNET=y 626CONFIG_NET_ETHERNET=y
@@ -581,22 +630,28 @@ CONFIG_MII=y
581# CONFIG_CASSINI is not set 630# CONFIG_CASSINI is not set
582# CONFIG_NET_VENDOR_3COM is not set 631# CONFIG_NET_VENDOR_3COM is not set
583# CONFIG_ENC28J60 is not set 632# CONFIG_ENC28J60 is not set
633# CONFIG_ETHOC is not set
634# CONFIG_DNET is not set
584# CONFIG_NET_TULIP is not set 635# CONFIG_NET_TULIP is not set
585# CONFIG_HP100 is not set 636# CONFIG_HP100 is not set
586# CONFIG_IBM_NEW_EMAC_ZMII is not set 637# CONFIG_IBM_NEW_EMAC_ZMII is not set
587# CONFIG_IBM_NEW_EMAC_RGMII is not set 638# CONFIG_IBM_NEW_EMAC_RGMII is not set
588# CONFIG_IBM_NEW_EMAC_TAH is not set 639# CONFIG_IBM_NEW_EMAC_TAH is not set
589# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 640# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
641# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
642# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
643# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
590# CONFIG_NET_PCI is not set 644# CONFIG_NET_PCI is not set
591# CONFIG_B44 is not set 645# CONFIG_B44 is not set
646# CONFIG_ATL2 is not set
592CONFIG_NETDEV_1000=y 647CONFIG_NETDEV_1000=y
593# CONFIG_ACENIC is not set 648# CONFIG_ACENIC is not set
594# CONFIG_DL2K is not set 649# CONFIG_DL2K is not set
595# CONFIG_E1000 is not set 650# CONFIG_E1000 is not set
596# CONFIG_E1000E is not set 651# CONFIG_E1000E is not set
597# CONFIG_E1000E_ENABLED is not set
598# CONFIG_IP1000 is not set 652# CONFIG_IP1000 is not set
599# CONFIG_IGB is not set 653# CONFIG_IGB is not set
654# CONFIG_IGBVF is not set
600# CONFIG_NS83820 is not set 655# CONFIG_NS83820 is not set
601# CONFIG_HAMACHI is not set 656# CONFIG_HAMACHI is not set
602# CONFIG_YELLOWFIN is not set 657# CONFIG_YELLOWFIN is not set
@@ -607,10 +662,13 @@ CONFIG_NETDEV_1000=y
607# CONFIG_VIA_VELOCITY is not set 662# CONFIG_VIA_VELOCITY is not set
608# CONFIG_TIGON3 is not set 663# CONFIG_TIGON3 is not set
609# CONFIG_BNX2 is not set 664# CONFIG_BNX2 is not set
665CONFIG_FSL_PQ_MDIO=y
610CONFIG_GIANFAR=y 666CONFIG_GIANFAR=y
611CONFIG_GFAR_NAPI=y
612# CONFIG_QLA3XXX is not set 667# CONFIG_QLA3XXX is not set
613# CONFIG_ATL1 is not set 668# CONFIG_ATL1 is not set
669# CONFIG_ATL1E is not set
670# CONFIG_ATL1C is not set
671# CONFIG_JME is not set
614# CONFIG_NETDEV_10000 is not set 672# CONFIG_NETDEV_10000 is not set
615# CONFIG_TR is not set 673# CONFIG_TR is not set
616 674
@@ -619,7 +677,10 @@ CONFIG_GFAR_NAPI=y
619# 677#
620# CONFIG_WLAN_PRE80211 is not set 678# CONFIG_WLAN_PRE80211 is not set
621# CONFIG_WLAN_80211 is not set 679# CONFIG_WLAN_80211 is not set
622# CONFIG_IWLWIFI_LEDS is not set 680
681#
682# Enable WiMAX (Networking options) to see the WiMAX drivers
683#
623 684
624# 685#
625# USB Network Adapters 686# USB Network Adapters
@@ -668,17 +729,23 @@ CONFIG_INPUT_EVDEV=y
668# CONFIG_INPUT_TABLET is not set 729# CONFIG_INPUT_TABLET is not set
669CONFIG_INPUT_TOUCHSCREEN=y 730CONFIG_INPUT_TOUCHSCREEN=y
670# CONFIG_TOUCHSCREEN_ADS7846 is not set 731# CONFIG_TOUCHSCREEN_ADS7846 is not set
732# CONFIG_TOUCHSCREEN_AD7877 is not set
733# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
734# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
735# CONFIG_TOUCHSCREEN_AD7879 is not set
671# CONFIG_TOUCHSCREEN_FUJITSU is not set 736# CONFIG_TOUCHSCREEN_FUJITSU is not set
672# CONFIG_TOUCHSCREEN_GUNZE is not set 737# CONFIG_TOUCHSCREEN_GUNZE is not set
673# CONFIG_TOUCHSCREEN_ELO is not set 738# CONFIG_TOUCHSCREEN_ELO is not set
739# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
674# CONFIG_TOUCHSCREEN_MTOUCH is not set 740# CONFIG_TOUCHSCREEN_MTOUCH is not set
741# CONFIG_TOUCHSCREEN_INEXIO is not set
675# CONFIG_TOUCHSCREEN_MK712 is not set 742# CONFIG_TOUCHSCREEN_MK712 is not set
676# CONFIG_TOUCHSCREEN_PENMOUNT is not set 743# CONFIG_TOUCHSCREEN_PENMOUNT is not set
677# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set 744# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
678# CONFIG_TOUCHSCREEN_TOUCHWIN is not set 745# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
679# CONFIG_TOUCHSCREEN_UCB1400 is not set
680CONFIG_TOUCHSCREEN_TSC2003=y
681# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set 746# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
747# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
748# CONFIG_TOUCHSCREEN_TSC2007 is not set
682# CONFIG_INPUT_MISC is not set 749# CONFIG_INPUT_MISC is not set
683 750
684# 751#
@@ -691,6 +758,7 @@ CONFIG_TOUCHSCREEN_TSC2003=y
691# Character devices 758# Character devices
692# 759#
693CONFIG_VT=y 760CONFIG_VT=y
761CONFIG_CONSOLE_TRANSLATIONS=y
694CONFIG_VT_CONSOLE=y 762CONFIG_VT_CONSOLE=y
695CONFIG_HW_CONSOLE=y 763CONFIG_HW_CONSOLE=y
696# CONFIG_VT_HW_CONSOLE_BINDING is not set 764# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -715,16 +783,20 @@ CONFIG_SERIAL_8250_RSA=y
715# 783#
716# Non-8250 serial port support 784# Non-8250 serial port support
717# 785#
786# CONFIG_SERIAL_MAX3100 is not set
718# CONFIG_SERIAL_UARTLITE is not set 787# CONFIG_SERIAL_UARTLITE is not set
719CONFIG_SERIAL_CORE=y 788CONFIG_SERIAL_CORE=y
720CONFIG_SERIAL_CORE_CONSOLE=y 789CONFIG_SERIAL_CORE_CONSOLE=y
721# CONFIG_SERIAL_JSM is not set 790# CONFIG_SERIAL_JSM is not set
722# CONFIG_SERIAL_OF_PLATFORM is not set 791# CONFIG_SERIAL_OF_PLATFORM is not set
723CONFIG_UNIX98_PTYS=y 792CONFIG_UNIX98_PTYS=y
793# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
724CONFIG_LEGACY_PTYS=y 794CONFIG_LEGACY_PTYS=y
725CONFIG_LEGACY_PTY_COUNT=256 795CONFIG_LEGACY_PTY_COUNT=256
796# CONFIG_HVC_UDBG is not set
726# CONFIG_IPMI_HANDLER is not set 797# CONFIG_IPMI_HANDLER is not set
727CONFIG_HW_RANDOM=y 798CONFIG_HW_RANDOM=y
799# CONFIG_HW_RANDOM_TIMERIOMEM is not set
728# CONFIG_NVRAM is not set 800# CONFIG_NVRAM is not set
729# CONFIG_R3964 is not set 801# CONFIG_R3964 is not set
730# CONFIG_APPLICOM is not set 802# CONFIG_APPLICOM is not set
@@ -734,44 +806,62 @@ CONFIG_DEVPORT=y
734CONFIG_I2C=y 806CONFIG_I2C=y
735CONFIG_I2C_BOARDINFO=y 807CONFIG_I2C_BOARDINFO=y
736CONFIG_I2C_CHARDEV=y 808CONFIG_I2C_CHARDEV=y
809CONFIG_I2C_HELPER_AUTO=y
737 810
738# 811#
739# I2C Hardware Bus support 812# I2C Hardware Bus support
740# 813#
814
815#
816# PC SMBus host controller drivers
817#
741# CONFIG_I2C_ALI1535 is not set 818# CONFIG_I2C_ALI1535 is not set
742# CONFIG_I2C_ALI1563 is not set 819# CONFIG_I2C_ALI1563 is not set
743# CONFIG_I2C_ALI15X3 is not set 820# CONFIG_I2C_ALI15X3 is not set
744# CONFIG_I2C_AMD756 is not set 821# CONFIG_I2C_AMD756 is not set
745# CONFIG_I2C_AMD8111 is not set 822# CONFIG_I2C_AMD8111 is not set
746# CONFIG_I2C_I801 is not set 823# CONFIG_I2C_I801 is not set
747# CONFIG_I2C_I810 is not set 824# CONFIG_I2C_ISCH is not set
748# CONFIG_I2C_PIIX4 is not set 825# CONFIG_I2C_PIIX4 is not set
749CONFIG_I2C_MPC=y
750# CONFIG_I2C_NFORCE2 is not set 826# CONFIG_I2C_NFORCE2 is not set
751# CONFIG_I2C_OCORES is not set
752# CONFIG_I2C_PARPORT_LIGHT is not set
753# CONFIG_I2C_PROSAVAGE is not set
754# CONFIG_I2C_SAVAGE4 is not set
755# CONFIG_I2C_SIMTEC is not set
756# CONFIG_I2C_SIS5595 is not set 827# CONFIG_I2C_SIS5595 is not set
757# CONFIG_I2C_SIS630 is not set 828# CONFIG_I2C_SIS630 is not set
758# CONFIG_I2C_SIS96X is not set 829# CONFIG_I2C_SIS96X is not set
759# CONFIG_I2C_TAOS_EVM is not set
760# CONFIG_I2C_STUB is not set
761# CONFIG_I2C_TINY_USB is not set
762# CONFIG_I2C_VIA is not set 830# CONFIG_I2C_VIA is not set
763# CONFIG_I2C_VIAPRO is not set 831# CONFIG_I2C_VIAPRO is not set
832
833#
834# I2C system bus drivers (mostly embedded / system-on-chip)
835#
836CONFIG_I2C_MPC=y
837# CONFIG_I2C_OCORES is not set
838# CONFIG_I2C_SIMTEC is not set
839
840#
841# External I2C/SMBus adapter drivers
842#
843# CONFIG_I2C_PARPORT_LIGHT is not set
844# CONFIG_I2C_TAOS_EVM is not set
845# CONFIG_I2C_TINY_USB is not set
846
847#
848# Graphics adapter I2C/DDC channel drivers
849#
764# CONFIG_I2C_VOODOO3 is not set 850# CONFIG_I2C_VOODOO3 is not set
851
852#
853# Other I2C/SMBus bus drivers
854#
765# CONFIG_I2C_PCA_PLATFORM is not set 855# CONFIG_I2C_PCA_PLATFORM is not set
856# CONFIG_I2C_STUB is not set
766 857
767# 858#
768# Miscellaneous I2C Chip support 859# Miscellaneous I2C Chip support
769# 860#
770# CONFIG_DS1682 is not set 861# CONFIG_DS1682 is not set
771# CONFIG_SENSORS_EEPROM is not set
772# CONFIG_SENSORS_PCF8574 is not set 862# CONFIG_SENSORS_PCF8574 is not set
773# CONFIG_PCF8575 is not set 863# CONFIG_PCF8575 is not set
774# CONFIG_SENSORS_PCF8591 is not set 864# CONFIG_SENSORS_PCA9539 is not set
775# CONFIG_SENSORS_MAX6875 is not set 865# CONFIG_SENSORS_MAX6875 is not set
776# CONFIG_SENSORS_TSL2550 is not set 866# CONFIG_SENSORS_TSL2550 is not set
777# CONFIG_I2C_DEBUG_CORE is not set 867# CONFIG_I2C_DEBUG_CORE is not set
@@ -785,33 +875,38 @@ CONFIG_SPI_MASTER=y
785# SPI Master Controller Drivers 875# SPI Master Controller Drivers
786# 876#
787# CONFIG_SPI_BITBANG is not set 877# CONFIG_SPI_BITBANG is not set
788CONFIG_SPI_SOCRATES=y
789 878
790# 879#
791# SPI Protocol Masters 880# SPI Protocol Masters
792# 881#
793# CONFIG_SPI_AT25 is not set
794# CONFIG_SPI_SPIDEV is not set 882# CONFIG_SPI_SPIDEV is not set
795# CONFIG_SPI_TLE62X0 is not set 883# CONFIG_SPI_TLE62X0 is not set
884CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
885# CONFIG_GPIOLIB is not set
796# CONFIG_W1 is not set 886# CONFIG_W1 is not set
797# CONFIG_POWER_SUPPLY is not set 887# CONFIG_POWER_SUPPLY is not set
798CONFIG_HWMON=y 888CONFIG_HWMON=y
799CONFIG_HWMON_VID=y 889CONFIG_HWMON_VID=y
890# CONFIG_SENSORS_AD7414 is not set
800# CONFIG_SENSORS_AD7418 is not set 891# CONFIG_SENSORS_AD7418 is not set
892# CONFIG_SENSORS_ADCXX is not set
801# CONFIG_SENSORS_ADM1021 is not set 893# CONFIG_SENSORS_ADM1021 is not set
802# CONFIG_SENSORS_ADM1025 is not set 894# CONFIG_SENSORS_ADM1025 is not set
803# CONFIG_SENSORS_ADM1026 is not set 895# CONFIG_SENSORS_ADM1026 is not set
804# CONFIG_SENSORS_ADM1029 is not set 896# CONFIG_SENSORS_ADM1029 is not set
805# CONFIG_SENSORS_ADM1031 is not set 897# CONFIG_SENSORS_ADM1031 is not set
806# CONFIG_SENSORS_ADM9240 is not set 898# CONFIG_SENSORS_ADM9240 is not set
899# CONFIG_SENSORS_ADT7462 is not set
807# CONFIG_SENSORS_ADT7470 is not set 900# CONFIG_SENSORS_ADT7470 is not set
808# CONFIG_SENSORS_ADT7473 is not set 901# CONFIG_SENSORS_ADT7473 is not set
902# CONFIG_SENSORS_ADT7475 is not set
809# CONFIG_SENSORS_ATXP1 is not set 903# CONFIG_SENSORS_ATXP1 is not set
810# CONFIG_SENSORS_DS1621 is not set 904# CONFIG_SENSORS_DS1621 is not set
811# CONFIG_SENSORS_I5K_AMB is not set 905# CONFIG_SENSORS_I5K_AMB is not set
812# CONFIG_SENSORS_F71805F is not set 906# CONFIG_SENSORS_F71805F is not set
813# CONFIG_SENSORS_F71882FG is not set 907# CONFIG_SENSORS_F71882FG is not set
814# CONFIG_SENSORS_F75375S is not set 908# CONFIG_SENSORS_F75375S is not set
909# CONFIG_SENSORS_G760A is not set
815# CONFIG_SENSORS_GL518SM is not set 910# CONFIG_SENSORS_GL518SM is not set
816# CONFIG_SENSORS_GL520SM is not set 911# CONFIG_SENSORS_GL520SM is not set
817# CONFIG_SENSORS_IT87 is not set 912# CONFIG_SENSORS_IT87 is not set
@@ -827,10 +922,15 @@ CONFIG_SENSORS_LM75=y
827# CONFIG_SENSORS_LM90 is not set 922# CONFIG_SENSORS_LM90 is not set
828# CONFIG_SENSORS_LM92 is not set 923# CONFIG_SENSORS_LM92 is not set
829# CONFIG_SENSORS_LM93 is not set 924# CONFIG_SENSORS_LM93 is not set
925# CONFIG_SENSORS_LTC4215 is not set
926# CONFIG_SENSORS_LTC4245 is not set
927# CONFIG_SENSORS_LM95241 is not set
928# CONFIG_SENSORS_MAX1111 is not set
830# CONFIG_SENSORS_MAX1619 is not set 929# CONFIG_SENSORS_MAX1619 is not set
831# CONFIG_SENSORS_MAX6650 is not set 930# CONFIG_SENSORS_MAX6650 is not set
832# CONFIG_SENSORS_PC87360 is not set 931# CONFIG_SENSORS_PC87360 is not set
833# CONFIG_SENSORS_PC87427 is not set 932# CONFIG_SENSORS_PC87427 is not set
933# CONFIG_SENSORS_PCF8591 is not set
834# CONFIG_SENSORS_SIS5595 is not set 934# CONFIG_SENSORS_SIS5595 is not set
835# CONFIG_SENSORS_DME1737 is not set 935# CONFIG_SENSORS_DME1737 is not set
836# CONFIG_SENSORS_SMSC47M1 is not set 936# CONFIG_SENSORS_SMSC47M1 is not set
@@ -849,22 +949,31 @@ CONFIG_SENSORS_W83781D=y
849# CONFIG_SENSORS_W83L786NG is not set 949# CONFIG_SENSORS_W83L786NG is not set
850# CONFIG_SENSORS_W83627HF is not set 950# CONFIG_SENSORS_W83627HF is not set
851# CONFIG_SENSORS_W83627EHF is not set 951# CONFIG_SENSORS_W83627EHF is not set
952# CONFIG_SENSORS_LIS3_SPI is not set
852CONFIG_HWMON_DEBUG_CHIP=y 953CONFIG_HWMON_DEBUG_CHIP=y
853# CONFIG_THERMAL is not set 954# CONFIG_THERMAL is not set
854# CONFIG_THERMAL_HWMON is not set 955# CONFIG_THERMAL_HWMON is not set
855# CONFIG_WATCHDOG is not set 956# CONFIG_WATCHDOG is not set
957CONFIG_SSB_POSSIBLE=y
856 958
857# 959#
858# Sonics Silicon Backplane 960# Sonics Silicon Backplane
859# 961#
860CONFIG_SSB_POSSIBLE=y
861# CONFIG_SSB is not set 962# CONFIG_SSB is not set
862 963
863# 964#
864# Multifunction device drivers 965# Multifunction device drivers
865# 966#
967# CONFIG_MFD_CORE is not set
866# CONFIG_MFD_SM501 is not set 968# CONFIG_MFD_SM501 is not set
867# CONFIG_HTC_PASIC3 is not set 969# CONFIG_HTC_PASIC3 is not set
970# CONFIG_TWL4030_CORE is not set
971# CONFIG_MFD_TMIO is not set
972# CONFIG_PMIC_DA903X is not set
973# CONFIG_MFD_WM8400 is not set
974# CONFIG_MFD_WM8350_I2C is not set
975# CONFIG_MFD_PCF50633 is not set
976# CONFIG_REGULATOR is not set
868 977
869# 978#
870# Multimedia devices 979# Multimedia devices
@@ -893,6 +1002,7 @@ CONFIG_DAB=y
893CONFIG_FB=y 1002CONFIG_FB=y
894# CONFIG_FIRMWARE_EDID is not set 1003# CONFIG_FIRMWARE_EDID is not set
895# CONFIG_FB_DDC is not set 1004# CONFIG_FB_DDC is not set
1005# CONFIG_FB_BOOT_VESA_SUPPORT is not set
896CONFIG_FB_CFB_FILLRECT=y 1006CONFIG_FB_CFB_FILLRECT=y
897CONFIG_FB_CFB_COPYAREA=y 1007CONFIG_FB_CFB_COPYAREA=y
898CONFIG_FB_CFB_IMAGEBLIT=y 1008CONFIG_FB_CFB_IMAGEBLIT=y
@@ -914,10 +1024,6 @@ CONFIG_FB_BOTH_ENDIAN=y
914# 1024#
915# Frame buffer hardware drivers 1025# Frame buffer hardware drivers
916# 1026#
917CONFIG_FB_MB862XX=y
918# CONFIG_FB_MB862XX_PCI_GDC is not set
919CONFIG_FB_MB862XX_LIME=y
920# CONFIG_FB_PRE_INIT_FB is not set
921# CONFIG_FB_CIRRUS is not set 1027# CONFIG_FB_CIRRUS is not set
922# CONFIG_FB_PM2 is not set 1028# CONFIG_FB_PM2 is not set
923# CONFIG_FB_CYBER2000 is not set 1029# CONFIG_FB_CYBER2000 is not set
@@ -936,6 +1042,7 @@ CONFIG_FB_MB862XX_LIME=y
936# CONFIG_FB_S3 is not set 1042# CONFIG_FB_S3 is not set
937# CONFIG_FB_SAVAGE is not set 1043# CONFIG_FB_SAVAGE is not set
938# CONFIG_FB_SIS is not set 1044# CONFIG_FB_SIS is not set
1045# CONFIG_FB_VIA is not set
939# CONFIG_FB_NEOMAGIC is not set 1046# CONFIG_FB_NEOMAGIC is not set
940# CONFIG_FB_KYRO is not set 1047# CONFIG_FB_KYRO is not set
941# CONFIG_FB_3DFX is not set 1048# CONFIG_FB_3DFX is not set
@@ -944,9 +1051,16 @@ CONFIG_FB_MB862XX_LIME=y
944# CONFIG_FB_TRIDENT is not set 1051# CONFIG_FB_TRIDENT is not set
945# CONFIG_FB_ARK is not set 1052# CONFIG_FB_ARK is not set
946# CONFIG_FB_PM3 is not set 1053# CONFIG_FB_PM3 is not set
1054# CONFIG_FB_CARMINE is not set
947# CONFIG_FB_FSL_DIU is not set 1055# CONFIG_FB_FSL_DIU is not set
948# CONFIG_FB_IBM_GXT4500 is not set 1056# CONFIG_FB_IBM_GXT4500 is not set
949# CONFIG_FB_VIRTUAL is not set 1057# CONFIG_FB_VIRTUAL is not set
1058# CONFIG_FB_METRONOME is not set
1059CONFIG_FB_MB862XX=y
1060# CONFIG_FB_MB862XX_PCI_GDC is not set
1061CONFIG_FB_MB862XX_LIME=y
1062# CONFIG_FB_PRE_INIT_FB is not set
1063# CONFIG_FB_BROADSHEET is not set
950# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1064# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
951 1065
952# 1066#
@@ -974,10 +1088,6 @@ CONFIG_FONT_8x16=y
974# CONFIG_FONT_SUN12x22 is not set 1088# CONFIG_FONT_SUN12x22 is not set
975# CONFIG_FONT_10x18 is not set 1089# CONFIG_FONT_10x18 is not set
976# CONFIG_LOGO is not set 1090# CONFIG_LOGO is not set
977
978#
979# Sound
980#
981# CONFIG_SOUND is not set 1091# CONFIG_SOUND is not set
982CONFIG_HID_SUPPORT=y 1092CONFIG_HID_SUPPORT=y
983CONFIG_HID=y 1093CONFIG_HID=y
@@ -988,9 +1098,36 @@ CONFIG_HID=y
988# USB Input Devices 1098# USB Input Devices
989# 1099#
990CONFIG_USB_HID=y 1100CONFIG_USB_HID=y
991# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1101# CONFIG_HID_PID is not set
992# CONFIG_HID_FF is not set
993# CONFIG_USB_HIDDEV is not set 1102# CONFIG_USB_HIDDEV is not set
1103
1104#
1105# Special HID drivers
1106#
1107# CONFIG_HID_A4TECH is not set
1108# CONFIG_HID_APPLE is not set
1109# CONFIG_HID_BELKIN is not set
1110# CONFIG_HID_CHERRY is not set
1111# CONFIG_HID_CHICONY is not set
1112# CONFIG_HID_CYPRESS is not set
1113# CONFIG_DRAGONRISE_FF is not set
1114# CONFIG_HID_EZKEY is not set
1115# CONFIG_HID_KYE is not set
1116# CONFIG_HID_GYRATION is not set
1117# CONFIG_HID_KENSINGTON is not set
1118# CONFIG_HID_LOGITECH is not set
1119# CONFIG_HID_MICROSOFT is not set
1120# CONFIG_HID_MONTEREY is not set
1121# CONFIG_HID_NTRIG is not set
1122# CONFIG_HID_PANTHERLORD is not set
1123# CONFIG_HID_PETALYNX is not set
1124# CONFIG_HID_SAMSUNG is not set
1125# CONFIG_HID_SONY is not set
1126# CONFIG_HID_SUNPLUS is not set
1127# CONFIG_GREENASIA_FF is not set
1128# CONFIG_HID_TOPSEED is not set
1129# CONFIG_THRUSTMASTER_FF is not set
1130# CONFIG_ZEROPLUS_FF is not set
994CONFIG_USB_SUPPORT=y 1131CONFIG_USB_SUPPORT=y
995CONFIG_USB_ARCH_HAS_HCD=y 1132CONFIG_USB_ARCH_HAS_HCD=y
996CONFIG_USB_ARCH_HAS_OHCI=y 1133CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1008,6 +1145,9 @@ CONFIG_USB_DEVICE_CLASS=y
1008# CONFIG_USB_OTG is not set 1145# CONFIG_USB_OTG is not set
1009# CONFIG_USB_OTG_WHITELIST is not set 1146# CONFIG_USB_OTG_WHITELIST is not set
1010# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1147# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1148CONFIG_USB_MON=y
1149# CONFIG_USB_WUSB is not set
1150# CONFIG_USB_WUSB_CBAF is not set
1011 1151
1012# 1152#
1013# USB Host Controller Drivers 1153# USB Host Controller Drivers
@@ -1018,6 +1158,7 @@ CONFIG_USB_EHCI_HCD=y
1018# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1158# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1019# CONFIG_USB_EHCI_FSL is not set 1159# CONFIG_USB_EHCI_FSL is not set
1020CONFIG_USB_EHCI_HCD_PPC_OF=y 1160CONFIG_USB_EHCI_HCD_PPC_OF=y
1161# CONFIG_USB_OXU210HP_HCD is not set
1021# CONFIG_USB_ISP116X_HCD is not set 1162# CONFIG_USB_ISP116X_HCD is not set
1022# CONFIG_USB_ISP1760_HCD is not set 1163# CONFIG_USB_ISP1760_HCD is not set
1023CONFIG_USB_OHCI_HCD=y 1164CONFIG_USB_OHCI_HCD=y
@@ -1031,6 +1172,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1031# CONFIG_USB_UHCI_HCD is not set 1172# CONFIG_USB_UHCI_HCD is not set
1032# CONFIG_USB_SL811_HCD is not set 1173# CONFIG_USB_SL811_HCD is not set
1033# CONFIG_USB_R8A66597_HCD is not set 1174# CONFIG_USB_R8A66597_HCD is not set
1175# CONFIG_USB_WHCI_HCD is not set
1176# CONFIG_USB_HWA_HCD is not set
1034 1177
1035# 1178#
1036# USB Device Class drivers 1179# USB Device Class drivers
@@ -1038,20 +1181,20 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1038# CONFIG_USB_ACM is not set 1181# CONFIG_USB_ACM is not set
1039# CONFIG_USB_PRINTER is not set 1182# CONFIG_USB_PRINTER is not set
1040# CONFIG_USB_WDM is not set 1183# CONFIG_USB_WDM is not set
1184# CONFIG_USB_TMC is not set
1041 1185
1042# 1186#
1043# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1187# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1044# 1188#
1045 1189
1046# 1190#
1047# may also be needed; see USB_STORAGE Help for more information 1191# also be needed; see USB_STORAGE Help for more info
1048# 1192#
1049CONFIG_USB_STORAGE=y 1193CONFIG_USB_STORAGE=y
1050# CONFIG_USB_STORAGE_DEBUG is not set 1194# CONFIG_USB_STORAGE_DEBUG is not set
1051# CONFIG_USB_STORAGE_DATAFAB is not set 1195# CONFIG_USB_STORAGE_DATAFAB is not set
1052# CONFIG_USB_STORAGE_FREECOM is not set 1196# CONFIG_USB_STORAGE_FREECOM is not set
1053# CONFIG_USB_STORAGE_ISD200 is not set 1197# CONFIG_USB_STORAGE_ISD200 is not set
1054# CONFIG_USB_STORAGE_DPCM is not set
1055# CONFIG_USB_STORAGE_USBAT is not set 1198# CONFIG_USB_STORAGE_USBAT is not set
1056# CONFIG_USB_STORAGE_SDDR09 is not set 1199# CONFIG_USB_STORAGE_SDDR09 is not set
1057# CONFIG_USB_STORAGE_SDDR55 is not set 1200# CONFIG_USB_STORAGE_SDDR55 is not set
@@ -1067,7 +1210,6 @@ CONFIG_USB_STORAGE=y
1067# 1210#
1068# CONFIG_USB_MDC800 is not set 1211# CONFIG_USB_MDC800 is not set
1069# CONFIG_USB_MICROTEK is not set 1212# CONFIG_USB_MICROTEK is not set
1070CONFIG_USB_MON=y
1071 1213
1072# 1214#
1073# USB port drivers 1215# USB port drivers
@@ -1080,7 +1222,7 @@ CONFIG_USB_MON=y
1080# CONFIG_USB_EMI62 is not set 1222# CONFIG_USB_EMI62 is not set
1081# CONFIG_USB_EMI26 is not set 1223# CONFIG_USB_EMI26 is not set
1082# CONFIG_USB_ADUTUX is not set 1224# CONFIG_USB_ADUTUX is not set
1083# CONFIG_USB_AUERSWALD is not set 1225# CONFIG_USB_SEVSEG is not set
1084# CONFIG_USB_RIO500 is not set 1226# CONFIG_USB_RIO500 is not set
1085# CONFIG_USB_LEGOTOWER is not set 1227# CONFIG_USB_LEGOTOWER is not set
1086# CONFIG_USB_LCD is not set 1228# CONFIG_USB_LCD is not set
@@ -1088,7 +1230,6 @@ CONFIG_USB_MON=y
1088# CONFIG_USB_LED is not set 1230# CONFIG_USB_LED is not set
1089# CONFIG_USB_CYPRESS_CY7C63 is not set 1231# CONFIG_USB_CYPRESS_CY7C63 is not set
1090# CONFIG_USB_CYTHERM is not set 1232# CONFIG_USB_CYTHERM is not set
1091# CONFIG_USB_PHIDGET is not set
1092# CONFIG_USB_IDMOUSE is not set 1233# CONFIG_USB_IDMOUSE is not set
1093# CONFIG_USB_FTDI_ELAN is not set 1234# CONFIG_USB_FTDI_ELAN is not set
1094# CONFIG_USB_APPLEDISPLAY is not set 1235# CONFIG_USB_APPLEDISPLAY is not set
@@ -1098,7 +1239,14 @@ CONFIG_USB_MON=y
1098# CONFIG_USB_IOWARRIOR is not set 1239# CONFIG_USB_IOWARRIOR is not set
1099# CONFIG_USB_TEST is not set 1240# CONFIG_USB_TEST is not set
1100# CONFIG_USB_ISIGHTFW is not set 1241# CONFIG_USB_ISIGHTFW is not set
1242# CONFIG_USB_VST is not set
1101# CONFIG_USB_GADGET is not set 1243# CONFIG_USB_GADGET is not set
1244
1245#
1246# OTG and related infrastructure
1247#
1248# CONFIG_NOP_USB_XCEIV is not set
1249# CONFIG_UWB is not set
1102# CONFIG_MMC is not set 1250# CONFIG_MMC is not set
1103# CONFIG_MEMSTICK is not set 1251# CONFIG_MEMSTICK is not set
1104# CONFIG_NEW_LEDS is not set 1252# CONFIG_NEW_LEDS is not set
@@ -1135,33 +1283,42 @@ CONFIG_RTC_INTF_DEV=y
1135# CONFIG_RTC_DRV_M41T80 is not set 1283# CONFIG_RTC_DRV_M41T80 is not set
1136# CONFIG_RTC_DRV_S35390A is not set 1284# CONFIG_RTC_DRV_S35390A is not set
1137# CONFIG_RTC_DRV_FM3130 is not set 1285# CONFIG_RTC_DRV_FM3130 is not set
1138CONFIG_RTC_DRV_RX8025=y 1286# CONFIG_RTC_DRV_RX8581 is not set
1139 1287
1140# 1288#
1141# SPI RTC drivers 1289# SPI RTC drivers
1142# 1290#
1291# CONFIG_RTC_DRV_M41T94 is not set
1292# CONFIG_RTC_DRV_DS1305 is not set
1293# CONFIG_RTC_DRV_DS1390 is not set
1143# CONFIG_RTC_DRV_MAX6902 is not set 1294# CONFIG_RTC_DRV_MAX6902 is not set
1144# CONFIG_RTC_DRV_R9701 is not set 1295# CONFIG_RTC_DRV_R9701 is not set
1145# CONFIG_RTC_DRV_RS5C348 is not set 1296# CONFIG_RTC_DRV_RS5C348 is not set
1297# CONFIG_RTC_DRV_DS3234 is not set
1146 1298
1147# 1299#
1148# Platform RTC drivers 1300# Platform RTC drivers
1149# 1301#
1150# CONFIG_RTC_DRV_CMOS is not set 1302# CONFIG_RTC_DRV_CMOS is not set
1303# CONFIG_RTC_DRV_DS1286 is not set
1151# CONFIG_RTC_DRV_DS1511 is not set 1304# CONFIG_RTC_DRV_DS1511 is not set
1152# CONFIG_RTC_DRV_DS1553 is not set 1305# CONFIG_RTC_DRV_DS1553 is not set
1153# CONFIG_RTC_DRV_DS1742 is not set 1306# CONFIG_RTC_DRV_DS1742 is not set
1154# CONFIG_RTC_DRV_STK17TA8 is not set 1307# CONFIG_RTC_DRV_STK17TA8 is not set
1155# CONFIG_RTC_DRV_M48T86 is not set 1308# CONFIG_RTC_DRV_M48T86 is not set
1309# CONFIG_RTC_DRV_M48T35 is not set
1156# CONFIG_RTC_DRV_M48T59 is not set 1310# CONFIG_RTC_DRV_M48T59 is not set
1311# CONFIG_RTC_DRV_BQ4802 is not set
1157# CONFIG_RTC_DRV_V3020 is not set 1312# CONFIG_RTC_DRV_V3020 is not set
1158 1313
1159# 1314#
1160# on-CPU RTC drivers 1315# on-CPU RTC drivers
1161# 1316#
1162CONFIG_RTC_DRV_PPC=y 1317# CONFIG_RTC_DRV_GENERIC is not set
1163# CONFIG_DMADEVICES is not set 1318# CONFIG_DMADEVICES is not set
1319# CONFIG_AUXDISPLAY is not set
1164# CONFIG_UIO is not set 1320# CONFIG_UIO is not set
1321# CONFIG_STAGING is not set
1165 1322
1166# 1323#
1167# File systems 1324# File systems
@@ -1170,17 +1327,20 @@ CONFIG_EXT2_FS=y
1170# CONFIG_EXT2_FS_XATTR is not set 1327# CONFIG_EXT2_FS_XATTR is not set
1171# CONFIG_EXT2_FS_XIP is not set 1328# CONFIG_EXT2_FS_XIP is not set
1172CONFIG_EXT3_FS=y 1329CONFIG_EXT3_FS=y
1330# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1173CONFIG_EXT3_FS_XATTR=y 1331CONFIG_EXT3_FS_XATTR=y
1174# CONFIG_EXT3_FS_POSIX_ACL is not set 1332# CONFIG_EXT3_FS_POSIX_ACL is not set
1175# CONFIG_EXT3_FS_SECURITY is not set 1333# CONFIG_EXT3_FS_SECURITY is not set
1176# CONFIG_EXT4DEV_FS is not set 1334# CONFIG_EXT4_FS is not set
1177CONFIG_JBD=y 1335CONFIG_JBD=y
1178CONFIG_FS_MBCACHE=y 1336CONFIG_FS_MBCACHE=y
1179# CONFIG_REISERFS_FS is not set 1337# CONFIG_REISERFS_FS is not set
1180# CONFIG_JFS_FS is not set 1338# CONFIG_JFS_FS is not set
1181# CONFIG_FS_POSIX_ACL is not set 1339# CONFIG_FS_POSIX_ACL is not set
1340CONFIG_FILE_LOCKING=y
1182# CONFIG_XFS_FS is not set 1341# CONFIG_XFS_FS is not set
1183# CONFIG_OCFS2_FS is not set 1342# CONFIG_OCFS2_FS is not set
1343# CONFIG_BTRFS_FS is not set
1184CONFIG_DNOTIFY=y 1344CONFIG_DNOTIFY=y
1185CONFIG_INOTIFY=y 1345CONFIG_INOTIFY=y
1186CONFIG_INOTIFY_USER=y 1346CONFIG_INOTIFY_USER=y
@@ -1190,6 +1350,11 @@ CONFIG_INOTIFY_USER=y
1190# CONFIG_FUSE_FS is not set 1350# CONFIG_FUSE_FS is not set
1191 1351
1192# 1352#
1353# Caches
1354#
1355# CONFIG_FSCACHE is not set
1356
1357#
1193# CD-ROM/DVD Filesystems 1358# CD-ROM/DVD Filesystems
1194# 1359#
1195# CONFIG_ISO9660_FS is not set 1360# CONFIG_ISO9660_FS is not set
@@ -1208,15 +1373,13 @@ CONFIG_INOTIFY_USER=y
1208CONFIG_PROC_FS=y 1373CONFIG_PROC_FS=y
1209CONFIG_PROC_KCORE=y 1374CONFIG_PROC_KCORE=y
1210CONFIG_PROC_SYSCTL=y 1375CONFIG_PROC_SYSCTL=y
1376CONFIG_PROC_PAGE_MONITOR=y
1211CONFIG_SYSFS=y 1377CONFIG_SYSFS=y
1212CONFIG_TMPFS=y 1378CONFIG_TMPFS=y
1213# CONFIG_TMPFS_POSIX_ACL is not set 1379# CONFIG_TMPFS_POSIX_ACL is not set
1214# CONFIG_HUGETLB_PAGE is not set 1380# CONFIG_HUGETLB_PAGE is not set
1215# CONFIG_CONFIGFS_FS is not set 1381# CONFIG_CONFIGFS_FS is not set
1216 1382CONFIG_MISC_FILESYSTEMS=y
1217#
1218# Miscellaneous filesystems
1219#
1220# CONFIG_ADFS_FS is not set 1383# CONFIG_ADFS_FS is not set
1221# CONFIG_AFFS_FS is not set 1384# CONFIG_AFFS_FS is not set
1222# CONFIG_HFS_FS is not set 1385# CONFIG_HFS_FS is not set
@@ -1236,25 +1399,27 @@ CONFIG_JFFS2_ZLIB=y
1236CONFIG_JFFS2_RTIME=y 1399CONFIG_JFFS2_RTIME=y
1237# CONFIG_JFFS2_RUBIN is not set 1400# CONFIG_JFFS2_RUBIN is not set
1238CONFIG_CRAMFS=y 1401CONFIG_CRAMFS=y
1402# CONFIG_SQUASHFS is not set
1239# CONFIG_VXFS_FS is not set 1403# CONFIG_VXFS_FS is not set
1240# CONFIG_MINIX_FS is not set 1404# CONFIG_MINIX_FS is not set
1405# CONFIG_OMFS_FS is not set
1241# CONFIG_HPFS_FS is not set 1406# CONFIG_HPFS_FS is not set
1242# CONFIG_QNX4FS_FS is not set 1407# CONFIG_QNX4FS_FS is not set
1243# CONFIG_ROMFS_FS is not set 1408# CONFIG_ROMFS_FS is not set
1244# CONFIG_SYSV_FS is not set 1409# CONFIG_SYSV_FS is not set
1245# CONFIG_UFS_FS is not set 1410# CONFIG_UFS_FS is not set
1411# CONFIG_NILFS2_FS is not set
1246CONFIG_NETWORK_FILESYSTEMS=y 1412CONFIG_NETWORK_FILESYSTEMS=y
1247CONFIG_NFS_FS=y 1413CONFIG_NFS_FS=y
1248CONFIG_NFS_V3=y 1414CONFIG_NFS_V3=y
1249# CONFIG_NFS_V3_ACL is not set 1415# CONFIG_NFS_V3_ACL is not set
1250# CONFIG_NFS_V4 is not set 1416# CONFIG_NFS_V4 is not set
1251# CONFIG_NFSD is not set
1252CONFIG_ROOT_NFS=y 1417CONFIG_ROOT_NFS=y
1418# CONFIG_NFSD is not set
1253CONFIG_LOCKD=y 1419CONFIG_LOCKD=y
1254CONFIG_LOCKD_V4=y 1420CONFIG_LOCKD_V4=y
1255CONFIG_NFS_COMMON=y 1421CONFIG_NFS_COMMON=y
1256CONFIG_SUNRPC=y 1422CONFIG_SUNRPC=y
1257# CONFIG_SUNRPC_BIND34 is not set
1258# CONFIG_RPCSEC_GSS_KRB5 is not set 1423# CONFIG_RPCSEC_GSS_KRB5 is not set
1259# CONFIG_RPCSEC_GSS_SPKM3 is not set 1424# CONFIG_RPCSEC_GSS_SPKM3 is not set
1260# CONFIG_SMB_FS is not set 1425# CONFIG_SMB_FS is not set
@@ -1286,25 +1451,28 @@ CONFIG_MSDOS_PARTITION=y
1286# CONFIG_SYSV68_PARTITION is not set 1451# CONFIG_SYSV68_PARTITION is not set
1287# CONFIG_NLS is not set 1452# CONFIG_NLS is not set
1288# CONFIG_DLM is not set 1453# CONFIG_DLM is not set
1454# CONFIG_BINARY_PRINTF is not set
1289 1455
1290# 1456#
1291# Library routines 1457# Library routines
1292# 1458#
1293CONFIG_BITREVERSE=y 1459CONFIG_BITREVERSE=y
1294# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1460CONFIG_GENERIC_FIND_LAST_BIT=y
1295# CONFIG_CRC_CCITT is not set 1461# CONFIG_CRC_CCITT is not set
1296# CONFIG_CRC16 is not set 1462# CONFIG_CRC16 is not set
1463# CONFIG_CRC_T10DIF is not set
1297# CONFIG_CRC_ITU_T is not set 1464# CONFIG_CRC_ITU_T is not set
1298CONFIG_CRC32=y 1465CONFIG_CRC32=y
1299# CONFIG_CRC7 is not set 1466# CONFIG_CRC7 is not set
1300# CONFIG_LIBCRC32C is not set 1467# CONFIG_LIBCRC32C is not set
1301CONFIG_ZLIB_INFLATE=y 1468CONFIG_ZLIB_INFLATE=y
1302CONFIG_ZLIB_DEFLATE=y 1469CONFIG_ZLIB_DEFLATE=y
1303CONFIG_PLIST=y 1470CONFIG_DECOMPRESS_GZIP=y
1304CONFIG_HAS_IOMEM=y 1471CONFIG_HAS_IOMEM=y
1305CONFIG_HAS_IOPORT=y 1472CONFIG_HAS_IOPORT=y
1306CONFIG_HAS_DMA=y 1473CONFIG_HAS_DMA=y
1307CONFIG_HAVE_LMB=y 1474CONFIG_HAVE_LMB=y
1475CONFIG_NLATTR=y
1308 1476
1309# 1477#
1310# Kernel hacking 1478# Kernel hacking
@@ -1321,7 +1489,32 @@ CONFIG_FRAME_WARN=1024
1321# CONFIG_SLUB_DEBUG_ON is not set 1489# CONFIG_SLUB_DEBUG_ON is not set
1322# CONFIG_SLUB_STATS is not set 1490# CONFIG_SLUB_STATS is not set
1323# CONFIG_DEBUG_BUGVERBOSE is not set 1491# CONFIG_DEBUG_BUGVERBOSE is not set
1492# CONFIG_DEBUG_MEMORY_INIT is not set
1493# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1494# CONFIG_LATENCYTOP is not set
1495CONFIG_SYSCTL_SYSCALL_CHECK=y
1496CONFIG_HAVE_FUNCTION_TRACER=y
1497CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1498CONFIG_HAVE_DYNAMIC_FTRACE=y
1499CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1500CONFIG_TRACING_SUPPORT=y
1501
1502#
1503# Tracers
1504#
1505# CONFIG_FUNCTION_TRACER is not set
1506# CONFIG_SCHED_TRACER is not set
1507# CONFIG_CONTEXT_SWITCH_TRACER is not set
1508# CONFIG_EVENT_TRACER is not set
1509# CONFIG_BOOT_TRACER is not set
1510# CONFIG_TRACE_BRANCH_PROFILING is not set
1511# CONFIG_STACK_TRACER is not set
1512# CONFIG_KMEMTRACE is not set
1513# CONFIG_WORKQUEUE_TRACER is not set
1514# CONFIG_BLK_DEV_IO_TRACE is not set
1324# CONFIG_SAMPLES is not set 1515# CONFIG_SAMPLES is not set
1516CONFIG_HAVE_ARCH_KGDB=y
1517CONFIG_PRINT_STACK_DEPTH=64
1325# CONFIG_IRQSTACKS is not set 1518# CONFIG_IRQSTACKS is not set
1326# CONFIG_PPC_EARLY_DEBUG is not set 1519# CONFIG_PPC_EARLY_DEBUG is not set
1327 1520
@@ -1330,13 +1523,16 @@ CONFIG_FRAME_WARN=1024
1330# 1523#
1331# CONFIG_KEYS is not set 1524# CONFIG_KEYS is not set
1332# CONFIG_SECURITY is not set 1525# CONFIG_SECURITY is not set
1526# CONFIG_SECURITYFS is not set
1333# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1527# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1334CONFIG_CRYPTO=y 1528CONFIG_CRYPTO=y
1335 1529
1336# 1530#
1337# Crypto core or helper 1531# Crypto core or helper
1338# 1532#
1533# CONFIG_CRYPTO_FIPS is not set
1339# CONFIG_CRYPTO_MANAGER is not set 1534# CONFIG_CRYPTO_MANAGER is not set
1535# CONFIG_CRYPTO_MANAGER2 is not set
1340# CONFIG_CRYPTO_GF128MUL is not set 1536# CONFIG_CRYPTO_GF128MUL is not set
1341# CONFIG_CRYPTO_NULL is not set 1537# CONFIG_CRYPTO_NULL is not set
1342# CONFIG_CRYPTO_CRYPTD is not set 1538# CONFIG_CRYPTO_CRYPTD is not set
@@ -1374,6 +1570,10 @@ CONFIG_CRYPTO=y
1374# CONFIG_CRYPTO_MD4 is not set 1570# CONFIG_CRYPTO_MD4 is not set
1375# CONFIG_CRYPTO_MD5 is not set 1571# CONFIG_CRYPTO_MD5 is not set
1376# CONFIG_CRYPTO_MICHAEL_MIC is not set 1572# CONFIG_CRYPTO_MICHAEL_MIC is not set
1573# CONFIG_CRYPTO_RMD128 is not set
1574# CONFIG_CRYPTO_RMD160 is not set
1575# CONFIG_CRYPTO_RMD256 is not set
1576# CONFIG_CRYPTO_RMD320 is not set
1377# CONFIG_CRYPTO_SHA1 is not set 1577# CONFIG_CRYPTO_SHA1 is not set
1378# CONFIG_CRYPTO_SHA256 is not set 1578# CONFIG_CRYPTO_SHA256 is not set
1379# CONFIG_CRYPTO_SHA512 is not set 1579# CONFIG_CRYPTO_SHA512 is not set
@@ -1403,8 +1603,15 @@ CONFIG_CRYPTO=y
1403# Compression 1603# Compression
1404# 1604#
1405# CONFIG_CRYPTO_DEFLATE is not set 1605# CONFIG_CRYPTO_DEFLATE is not set
1606# CONFIG_CRYPTO_ZLIB is not set
1406# CONFIG_CRYPTO_LZO is not set 1607# CONFIG_CRYPTO_LZO is not set
1608
1609#
1610# Random Number Generation
1611#
1612# CONFIG_CRYPTO_ANSI_CPRNG is not set
1407CONFIG_CRYPTO_HW=y 1613CONFIG_CRYPTO_HW=y
1408# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1614# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1615# CONFIG_CRYPTO_DEV_TALITOS is not set
1409# CONFIG_PPC_CLOCK is not set 1616# CONFIG_PPC_CLOCK is not set
1410# CONFIG_VIRTUALIZATION is not set 1617# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig
index eb4ba7a5f41f..bd1bfcddbd0c 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:18 2009 4# Wed May 13 17:22:22 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y
59CONFIG_DEFAULT_UIMAGE=y 60CONFIG_DEFAULT_UIMAGE=y
60# CONFIG_PPC_DCR_NATIVE is not set 61# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 62# CONFIG_PPC_DCR_MMIO is not set
63CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 64CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
63 65
64# 66#
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y
76# CONFIG_BSD_PROCESS_ACCT is not set 78# CONFIG_BSD_PROCESS_ACCT is not set
77# CONFIG_TASKSTATS is not set 79# CONFIG_TASKSTATS is not set
78# CONFIG_AUDIT is not set 80# CONFIG_AUDIT is not set
81
82#
83# RCU Subsystem
84#
85CONFIG_CLASSIC_RCU=y
86# CONFIG_TREE_RCU is not set
87# CONFIG_PREEMPT_RCU is not set
88# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
79# CONFIG_IKCONFIG is not set 90# CONFIG_IKCONFIG is not set
80CONFIG_LOG_BUF_SHIFT=14 91CONFIG_LOG_BUF_SHIFT=14
81CONFIG_GROUP_SCHED=y 92CONFIG_GROUP_SCHED=y
@@ -90,21 +101,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
90# CONFIG_NAMESPACES is not set 101# CONFIG_NAMESPACES is not set
91CONFIG_BLK_DEV_INITRD=y 102CONFIG_BLK_DEV_INITRD=y
92CONFIG_INITRAMFS_SOURCE="" 103CONFIG_INITRAMFS_SOURCE=""
104CONFIG_RD_GZIP=y
105# CONFIG_RD_BZIP2 is not set
106# CONFIG_RD_LZMA is not set
93# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
94CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
109CONFIG_ANON_INODES=y
95CONFIG_EMBEDDED=y 110CONFIG_EMBEDDED=y
96CONFIG_SYSCTL_SYSCALL=y 111CONFIG_SYSCTL_SYSCALL=y
97CONFIG_KALLSYMS=y 112CONFIG_KALLSYMS=y
98# CONFIG_KALLSYMS_ALL is not set 113# CONFIG_KALLSYMS_ALL is not set
99# CONFIG_KALLSYMS_EXTRA_PASS is not set 114# CONFIG_KALLSYMS_EXTRA_PASS is not set
115# CONFIG_STRIP_ASM_SYMS is not set
100CONFIG_HOTPLUG=y 116CONFIG_HOTPLUG=y
101CONFIG_PRINTK=y 117CONFIG_PRINTK=y
102CONFIG_BUG=y 118CONFIG_BUG=y
103CONFIG_ELF_CORE=y 119CONFIG_ELF_CORE=y
104CONFIG_COMPAT_BRK=y
105CONFIG_BASE_FULL=y 120CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 121CONFIG_FUTEX=y
107CONFIG_ANON_INODES=y
108CONFIG_EPOLL=y 122CONFIG_EPOLL=y
109CONFIG_SIGNALFD=y 123CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 124CONFIG_TIMERFD=y
@@ -114,10 +128,12 @@ CONFIG_AIO=y
114CONFIG_VM_EVENT_COUNTERS=y 128CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y 129CONFIG_PCI_QUIRKS=y
116CONFIG_SLUB_DEBUG=y 130CONFIG_SLUB_DEBUG=y
131CONFIG_COMPAT_BRK=y
117# CONFIG_SLAB is not set 132# CONFIG_SLAB is not set
118CONFIG_SLUB=y 133CONFIG_SLUB=y
119# CONFIG_SLOB is not set 134# CONFIG_SLOB is not set
120# CONFIG_PROFILING is not set 135# CONFIG_PROFILING is not set
136# CONFIG_MARKERS is not set
121CONFIG_HAVE_OPROFILE=y 137CONFIG_HAVE_OPROFILE=y
122# CONFIG_KPROBES is not set 138# CONFIG_KPROBES is not set
123CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 139CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -126,6 +142,7 @@ CONFIG_HAVE_KPROBES=y
126CONFIG_HAVE_KRETPROBES=y 142CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y 143CONFIG_HAVE_ARCH_TRACEHOOK=y
128CONFIG_HAVE_CLK=y 144CONFIG_HAVE_CLK=y
145# CONFIG_SLOW_WORK is not set
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 146# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 147CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 148CONFIG_RT_MUTEXES=y
@@ -137,7 +154,6 @@ CONFIG_MODVERSIONS=y
137# CONFIG_MODULE_SRCVERSION_ALL is not set 154# CONFIG_MODULE_SRCVERSION_ALL is not set
138CONFIG_BLOCK=y 155CONFIG_BLOCK=y
139# CONFIG_LBD is not set 156# CONFIG_LBD is not set
140# CONFIG_BLK_DEV_IO_TRACE is not set
141# CONFIG_BLK_DEV_BSG is not set 157# CONFIG_BLK_DEV_BSG is not set
142# CONFIG_BLK_DEV_INTEGRITY is not set 158# CONFIG_BLK_DEV_INTEGRITY is not set
143 159
@@ -153,11 +169,6 @@ CONFIG_IOSCHED_CFQ=y
153CONFIG_DEFAULT_CFQ=y 169CONFIG_DEFAULT_CFQ=y
154# CONFIG_DEFAULT_NOOP is not set 170# CONFIG_DEFAULT_NOOP is not set
155CONFIG_DEFAULT_IOSCHED="cfq" 171CONFIG_DEFAULT_IOSCHED="cfq"
156CONFIG_CLASSIC_RCU=y
157# CONFIG_TREE_RCU is not set
158# CONFIG_PREEMPT_RCU is not set
159# CONFIG_TREE_RCU_TRACE is not set
160# CONFIG_PREEMPT_RCU_TRACE is not set
161# CONFIG_FREEZER is not set 172# CONFIG_FREEZER is not set
162 173
163# 174#
@@ -173,6 +184,7 @@ CONFIG_MPC85xx=y
173# CONFIG_MPC85xx_MDS is not set 184# CONFIG_MPC85xx_MDS is not set
174# CONFIG_MPC8536_DS is not set 185# CONFIG_MPC8536_DS is not set
175# CONFIG_MPC85xx_DS is not set 186# CONFIG_MPC85xx_DS is not set
187# CONFIG_SOCRATES is not set
176# CONFIG_KSI8560 is not set 188# CONFIG_KSI8560 is not set
177CONFIG_STX_GP3=y 189CONFIG_STX_GP3=y
178# CONFIG_TQM8540 is not set 190# CONFIG_TQM8540 is not set
@@ -241,9 +253,12 @@ CONFIG_ZONE_DMA_FLAG=1
241CONFIG_BOUNCE=y 253CONFIG_BOUNCE=y
242CONFIG_VIRT_TO_BUS=y 254CONFIG_VIRT_TO_BUS=y
243CONFIG_UNEVICTABLE_LRU=y 255CONFIG_UNEVICTABLE_LRU=y
256CONFIG_HAVE_MLOCK=y
257CONFIG_HAVE_MLOCKED_PAGE_BIT=y
244CONFIG_PPC_4K_PAGES=y 258CONFIG_PPC_4K_PAGES=y
245# CONFIG_PPC_16K_PAGES is not set 259# CONFIG_PPC_16K_PAGES is not set
246# CONFIG_PPC_64K_PAGES is not set 260# CONFIG_PPC_64K_PAGES is not set
261# CONFIG_PPC_256K_PAGES is not set
247CONFIG_FORCE_MAX_ZONEORDER=11 262CONFIG_FORCE_MAX_ZONEORDER=11
248CONFIG_PROC_DEVICETREE=y 263CONFIG_PROC_DEVICETREE=y
249# CONFIG_CMDLINE_BOOL is not set 264# CONFIG_CMDLINE_BOOL is not set
@@ -269,6 +284,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
269# CONFIG_PCI_LEGACY is not set 284# CONFIG_PCI_LEGACY is not set
270# CONFIG_PCI_DEBUG is not set 285# CONFIG_PCI_DEBUG is not set
271# CONFIG_PCI_STUB is not set 286# CONFIG_PCI_STUB is not set
287# CONFIG_PCI_IOV is not set
272# CONFIG_PCCARD is not set 288# CONFIG_PCCARD is not set
273# CONFIG_HOTPLUG_PCI is not set 289# CONFIG_HOTPLUG_PCI is not set
274# CONFIG_HAS_RAPIDIO is not set 290# CONFIG_HAS_RAPIDIO is not set
@@ -282,17 +298,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y
282# Default settings for advanced configuration options are used 298# Default settings for advanced configuration options are used
283# 299#
284CONFIG_LOWMEM_SIZE=0x30000000 300CONFIG_LOWMEM_SIZE=0x30000000
301CONFIG_LOWMEM_CAM_NUM=3
285CONFIG_PAGE_OFFSET=0xc0000000 302CONFIG_PAGE_OFFSET=0xc0000000
286CONFIG_KERNEL_START=0xc0000000 303CONFIG_KERNEL_START=0xc0000000
287CONFIG_PHYSICAL_START=0x00000000 304CONFIG_PHYSICAL_START=0x00000000
288CONFIG_PHYSICAL_ALIGN=0x10000000 305CONFIG_PHYSICAL_ALIGN=0x04000000
289CONFIG_TASK_SIZE=0xc0000000 306CONFIG_TASK_SIZE=0xc0000000
290CONFIG_NET=y 307CONFIG_NET=y
291 308
292# 309#
293# Networking options 310# Networking options
294# 311#
295CONFIG_COMPAT_NET_DEV_OPS=y
296CONFIG_PACKET=y 312CONFIG_PACKET=y
297# CONFIG_PACKET_MMAP is not set 313# CONFIG_PACKET_MMAP is not set
298CONFIG_UNIX=y 314CONFIG_UNIX=y
@@ -353,6 +369,7 @@ CONFIG_NETFILTER_XTABLES=m
353# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 369# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
354# CONFIG_NETFILTER_XT_MATCH_ESP is not set 370# CONFIG_NETFILTER_XT_MATCH_ESP is not set
355# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 371# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
372# CONFIG_NETFILTER_XT_MATCH_HL is not set
356# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 373# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
357# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 374# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
358# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 375# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
@@ -389,6 +406,7 @@ CONFIG_IP_NF_FILTER=m
389# CONFIG_IP_NF_TARGET_LOG is not set 406# CONFIG_IP_NF_TARGET_LOG is not set
390# CONFIG_IP_NF_TARGET_ULOG is not set 407# CONFIG_IP_NF_TARGET_ULOG is not set
391# CONFIG_IP_NF_MANGLE is not set 408# CONFIG_IP_NF_MANGLE is not set
409# CONFIG_IP_NF_TARGET_TTL is not set
392# CONFIG_IP_NF_RAW is not set 410# CONFIG_IP_NF_RAW is not set
393# CONFIG_IP_NF_ARPTABLES is not set 411# CONFIG_IP_NF_ARPTABLES is not set
394# CONFIG_IP_DCCP is not set 412# CONFIG_IP_DCCP is not set
@@ -406,6 +424,7 @@ CONFIG_IP_NF_FILTER=m
406# CONFIG_LAPB is not set 424# CONFIG_LAPB is not set
407# CONFIG_ECONET is not set 425# CONFIG_ECONET is not set
408# CONFIG_WAN_ROUTER is not set 426# CONFIG_WAN_ROUTER is not set
427# CONFIG_PHONET is not set
409# CONFIG_NET_SCHED is not set 428# CONFIG_NET_SCHED is not set
410# CONFIG_DCB is not set 429# CONFIG_DCB is not set
411 430
@@ -418,7 +437,6 @@ CONFIG_NET_PKTGEN=y
418# CONFIG_IRDA is not set 437# CONFIG_IRDA is not set
419# CONFIG_BT is not set 438# CONFIG_BT is not set
420# CONFIG_AF_RXRPC is not set 439# CONFIG_AF_RXRPC is not set
421# CONFIG_PHONET is not set
422CONFIG_WIRELESS=y 440CONFIG_WIRELESS=y
423# CONFIG_CFG80211 is not set 441# CONFIG_CFG80211 is not set
424CONFIG_WIRELESS_OLD_REGULATORY=y 442CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -476,13 +494,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
476# CONFIG_BLK_DEV_HD is not set 494# CONFIG_BLK_DEV_HD is not set
477CONFIG_MISC_DEVICES=y 495CONFIG_MISC_DEVICES=y
478# CONFIG_PHANTOM is not set 496# CONFIG_PHANTOM is not set
479# CONFIG_EEPROM_93CX6 is not set
480# CONFIG_SGI_IOC4 is not set 497# CONFIG_SGI_IOC4 is not set
481# CONFIG_TIFM_CORE is not set 498# CONFIG_TIFM_CORE is not set
482# CONFIG_ICS932S401 is not set 499# CONFIG_ICS932S401 is not set
483# CONFIG_ENCLOSURE_SERVICES is not set 500# CONFIG_ENCLOSURE_SERVICES is not set
484# CONFIG_HP_ILO is not set 501# CONFIG_HP_ILO is not set
502# CONFIG_ISL29003 is not set
485# CONFIG_C2PORT is not set 503# CONFIG_C2PORT is not set
504
505#
506# EEPROM support
507#
508# CONFIG_EEPROM_AT24 is not set
509# CONFIG_EEPROM_LEGACY is not set
510# CONFIG_EEPROM_93CX6 is not set
486CONFIG_HAVE_IDE=y 511CONFIG_HAVE_IDE=y
487CONFIG_IDE=y 512CONFIG_IDE=y
488 513
@@ -591,9 +616,11 @@ CONFIG_SCSI_LOWLEVEL=y
591# CONFIG_MEGARAID_NEWGEN is not set 616# CONFIG_MEGARAID_NEWGEN is not set
592# CONFIG_MEGARAID_LEGACY is not set 617# CONFIG_MEGARAID_LEGACY is not set
593# CONFIG_MEGARAID_SAS is not set 618# CONFIG_MEGARAID_SAS is not set
619# CONFIG_SCSI_MPT2SAS is not set
594# CONFIG_SCSI_HPTIOP is not set 620# CONFIG_SCSI_HPTIOP is not set
595# CONFIG_SCSI_BUSLOGIC is not set 621# CONFIG_SCSI_BUSLOGIC is not set
596# CONFIG_LIBFC is not set 622# CONFIG_LIBFC is not set
623# CONFIG_LIBFCOE is not set
597# CONFIG_FCOE is not set 624# CONFIG_FCOE is not set
598# CONFIG_SCSI_DMX3191D is not set 625# CONFIG_SCSI_DMX3191D is not set
599# CONFIG_SCSI_EATA is not set 626# CONFIG_SCSI_EATA is not set
@@ -617,6 +644,7 @@ CONFIG_SCSI_LOWLEVEL=y
617# CONFIG_SCSI_DEBUG is not set 644# CONFIG_SCSI_DEBUG is not set
618# CONFIG_SCSI_SRP is not set 645# CONFIG_SCSI_SRP is not set
619# CONFIG_SCSI_DH is not set 646# CONFIG_SCSI_DH is not set
647# CONFIG_SCSI_OSD_INITIATOR is not set
620# CONFIG_ATA is not set 648# CONFIG_ATA is not set
621# CONFIG_MD is not set 649# CONFIG_MD is not set
622# CONFIG_FUSION is not set 650# CONFIG_FUSION is not set
@@ -633,6 +661,7 @@ CONFIG_SCSI_LOWLEVEL=y
633# CONFIG_I2O is not set 661# CONFIG_I2O is not set
634# CONFIG_MACINTOSH_DRIVERS is not set 662# CONFIG_MACINTOSH_DRIVERS is not set
635CONFIG_NETDEVICES=y 663CONFIG_NETDEVICES=y
664CONFIG_COMPAT_NET_DEV_OPS=y
636# CONFIG_DUMMY is not set 665# CONFIG_DUMMY is not set
637# CONFIG_BONDING is not set 666# CONFIG_BONDING is not set
638# CONFIG_MACVLAN is not set 667# CONFIG_MACVLAN is not set
@@ -666,6 +695,8 @@ CONFIG_NET_ETHERNET=y
666# CONFIG_SUNGEM is not set 695# CONFIG_SUNGEM is not set
667# CONFIG_CASSINI is not set 696# CONFIG_CASSINI is not set
668# CONFIG_NET_VENDOR_3COM is not set 697# CONFIG_NET_VENDOR_3COM is not set
698# CONFIG_ETHOC is not set
699# CONFIG_DNET is not set
669# CONFIG_NET_TULIP is not set 700# CONFIG_NET_TULIP is not set
670# CONFIG_HP100 is not set 701# CONFIG_HP100 is not set
671# CONFIG_IBM_NEW_EMAC_ZMII is not set 702# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -687,6 +718,7 @@ CONFIG_NETDEV_1000=y
687# CONFIG_E1000E is not set 718# CONFIG_E1000E is not set
688# CONFIG_IP1000 is not set 719# CONFIG_IP1000 is not set
689# CONFIG_IGB is not set 720# CONFIG_IGB is not set
721# CONFIG_IGBVF is not set
690# CONFIG_NS83820 is not set 722# CONFIG_NS83820 is not set
691# CONFIG_HAMACHI is not set 723# CONFIG_HAMACHI is not set
692# CONFIG_YELLOWFIN is not set 724# CONFIG_YELLOWFIN is not set
@@ -697,10 +729,12 @@ CONFIG_NETDEV_1000=y
697# CONFIG_VIA_VELOCITY is not set 729# CONFIG_VIA_VELOCITY is not set
698# CONFIG_TIGON3 is not set 730# CONFIG_TIGON3 is not set
699# CONFIG_BNX2 is not set 731# CONFIG_BNX2 is not set
732CONFIG_FSL_PQ_MDIO=y
700CONFIG_GIANFAR=y 733CONFIG_GIANFAR=y
701# CONFIG_QLA3XXX is not set 734# CONFIG_QLA3XXX is not set
702# CONFIG_ATL1 is not set 735# CONFIG_ATL1 is not set
703# CONFIG_ATL1E is not set 736# CONFIG_ATL1E is not set
737# CONFIG_ATL1C is not set
704# CONFIG_JME is not set 738# CONFIG_JME is not set
705CONFIG_NETDEV_10000=y 739CONFIG_NETDEV_10000=y
706# CONFIG_CHELSIO_T1 is not set 740# CONFIG_CHELSIO_T1 is not set
@@ -710,6 +744,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
710# CONFIG_IXGBE is not set 744# CONFIG_IXGBE is not set
711# CONFIG_IXGB is not set 745# CONFIG_IXGB is not set
712# CONFIG_S2IO is not set 746# CONFIG_S2IO is not set
747# CONFIG_VXGE is not set
713# CONFIG_MYRI10GE is not set 748# CONFIG_MYRI10GE is not set
714# CONFIG_NETXEN_NIC is not set 749# CONFIG_NETXEN_NIC is not set
715# CONFIG_NIU is not set 750# CONFIG_NIU is not set
@@ -719,6 +754,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
719# CONFIG_BNX2X is not set 754# CONFIG_BNX2X is not set
720# CONFIG_QLGE is not set 755# CONFIG_QLGE is not set
721# CONFIG_SFC is not set 756# CONFIG_SFC is not set
757# CONFIG_BE2NET is not set
722# CONFIG_TR is not set 758# CONFIG_TR is not set
723 759
724# 760#
@@ -726,7 +762,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
726# 762#
727# CONFIG_WLAN_PRE80211 is not set 763# CONFIG_WLAN_PRE80211 is not set
728# CONFIG_WLAN_80211 is not set 764# CONFIG_WLAN_80211 is not set
729# CONFIG_IWLWIFI_LEDS is not set
730 765
731# 766#
732# Enable WiMAX (Networking options) to see the WiMAX drivers 767# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -778,7 +813,6 @@ CONFIG_MOUSE_PS2=y
778CONFIG_MOUSE_PS2_ALPS=y 813CONFIG_MOUSE_PS2_ALPS=y
779CONFIG_MOUSE_PS2_LOGIPS2PP=y 814CONFIG_MOUSE_PS2_LOGIPS2PP=y
780CONFIG_MOUSE_PS2_SYNAPTICS=y 815CONFIG_MOUSE_PS2_SYNAPTICS=y
781CONFIG_MOUSE_PS2_LIFEBOOK=y
782CONFIG_MOUSE_PS2_TRACKPOINT=y 816CONFIG_MOUSE_PS2_TRACKPOINT=y
783# CONFIG_MOUSE_PS2_ELANTECH is not set 817# CONFIG_MOUSE_PS2_ELANTECH is not set
784# CONFIG_MOUSE_PS2_TOUCHKIT is not set 818# CONFIG_MOUSE_PS2_TOUCHKIT is not set
@@ -837,6 +871,7 @@ CONFIG_PRINTER=m
837# CONFIG_HVC_UDBG is not set 871# CONFIG_HVC_UDBG is not set
838# CONFIG_IPMI_HANDLER is not set 872# CONFIG_IPMI_HANDLER is not set
839CONFIG_HW_RANDOM=m 873CONFIG_HW_RANDOM=m
874# CONFIG_HW_RANDOM_TIMERIOMEM is not set
840# CONFIG_NVRAM is not set 875# CONFIG_NVRAM is not set
841# CONFIG_GEN_RTC is not set 876# CONFIG_GEN_RTC is not set
842# CONFIG_R3964 is not set 877# CONFIG_R3964 is not set
@@ -903,12 +938,9 @@ CONFIG_I2C_ALGOBIT=m
903# Miscellaneous I2C Chip support 938# Miscellaneous I2C Chip support
904# 939#
905# CONFIG_DS1682 is not set 940# CONFIG_DS1682 is not set
906# CONFIG_EEPROM_AT24 is not set
907# CONFIG_EEPROM_LEGACY is not set
908# CONFIG_SENSORS_PCF8574 is not set 941# CONFIG_SENSORS_PCF8574 is not set
909# CONFIG_PCF8575 is not set 942# CONFIG_PCF8575 is not set
910# CONFIG_SENSORS_PCA9539 is not set 943# CONFIG_SENSORS_PCA9539 is not set
911# CONFIG_SENSORS_PCF8591 is not set
912# CONFIG_SENSORS_MAX6875 is not set 944# CONFIG_SENSORS_MAX6875 is not set
913# CONFIG_SENSORS_TSL2550 is not set 945# CONFIG_SENSORS_TSL2550 is not set
914# CONFIG_I2C_DEBUG_CORE is not set 946# CONFIG_I2C_DEBUG_CORE is not set
@@ -964,6 +996,7 @@ CONFIG_HWMON=y
964# CONFIG_SENSORS_F71805F is not set 996# CONFIG_SENSORS_F71805F is not set
965# CONFIG_SENSORS_F71882FG is not set 997# CONFIG_SENSORS_F71882FG is not set
966# CONFIG_SENSORS_F75375S is not set 998# CONFIG_SENSORS_F75375S is not set
999# CONFIG_SENSORS_G760A is not set
967# CONFIG_SENSORS_GL518SM is not set 1000# CONFIG_SENSORS_GL518SM is not set
968# CONFIG_SENSORS_GL520SM is not set 1001# CONFIG_SENSORS_GL520SM is not set
969# CONFIG_SENSORS_IT87 is not set 1002# CONFIG_SENSORS_IT87 is not set
@@ -978,11 +1011,15 @@ CONFIG_HWMON=y
978# CONFIG_SENSORS_LM90 is not set 1011# CONFIG_SENSORS_LM90 is not set
979# CONFIG_SENSORS_LM92 is not set 1012# CONFIG_SENSORS_LM92 is not set
980# CONFIG_SENSORS_LM93 is not set 1013# CONFIG_SENSORS_LM93 is not set
1014# CONFIG_SENSORS_LTC4215 is not set
981# CONFIG_SENSORS_LTC4245 is not set 1015# CONFIG_SENSORS_LTC4245 is not set
1016# CONFIG_SENSORS_LM95241 is not set
982# CONFIG_SENSORS_MAX1619 is not set 1017# CONFIG_SENSORS_MAX1619 is not set
983# CONFIG_SENSORS_MAX6650 is not set 1018# CONFIG_SENSORS_MAX6650 is not set
984# CONFIG_SENSORS_PC87360 is not set 1019# CONFIG_SENSORS_PC87360 is not set
985# CONFIG_SENSORS_PC87427 is not set 1020# CONFIG_SENSORS_PC87427 is not set
1021# CONFIG_SENSORS_PCF8591 is not set
1022# CONFIG_SENSORS_SHT15 is not set
986# CONFIG_SENSORS_SIS5595 is not set 1023# CONFIG_SENSORS_SIS5595 is not set
987# CONFIG_SENSORS_DME1737 is not set 1024# CONFIG_SENSORS_DME1737 is not set
988# CONFIG_SENSORS_SMSC47M1 is not set 1025# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1075,7 +1112,6 @@ CONFIG_HID=y
1075# 1112#
1076# Special HID drivers 1113# Special HID drivers
1077# 1114#
1078CONFIG_HID_COMPAT=y
1079CONFIG_USB_SUPPORT=y 1115CONFIG_USB_SUPPORT=y
1080CONFIG_USB_ARCH_HAS_HCD=y 1116CONFIG_USB_ARCH_HAS_HCD=y
1081CONFIG_USB_ARCH_HAS_OHCI=y 1117CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1089,7 +1125,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1089# 1125#
1090 1126
1091# 1127#
1092# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1128# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1093# 1129#
1094# CONFIG_USB_GADGET is not set 1130# CONFIG_USB_GADGET is not set
1095 1131
@@ -1116,6 +1152,7 @@ CONFIG_EXT2_FS=y
1116# CONFIG_EXT2_FS_XATTR is not set 1152# CONFIG_EXT2_FS_XATTR is not set
1117# CONFIG_EXT2_FS_XIP is not set 1153# CONFIG_EXT2_FS_XIP is not set
1118CONFIG_EXT3_FS=y 1154CONFIG_EXT3_FS=y
1155# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1119CONFIG_EXT3_FS_XATTR=y 1156CONFIG_EXT3_FS_XATTR=y
1120# CONFIG_EXT3_FS_POSIX_ACL is not set 1157# CONFIG_EXT3_FS_POSIX_ACL is not set
1121# CONFIG_EXT3_FS_SECURITY is not set 1158# CONFIG_EXT3_FS_SECURITY is not set
@@ -1138,6 +1175,11 @@ CONFIG_AUTOFS4_FS=y
1138# CONFIG_FUSE_FS is not set 1175# CONFIG_FUSE_FS is not set
1139 1176
1140# 1177#
1178# Caches
1179#
1180# CONFIG_FSCACHE is not set
1181
1182#
1141# CD-ROM/DVD Filesystems 1183# CD-ROM/DVD Filesystems
1142# 1184#
1143CONFIG_ISO9660_FS=m 1185CONFIG_ISO9660_FS=m
@@ -1186,6 +1228,7 @@ CONFIG_CRAMFS=m
1186# CONFIG_ROMFS_FS is not set 1228# CONFIG_ROMFS_FS is not set
1187# CONFIG_SYSV_FS is not set 1229# CONFIG_SYSV_FS is not set
1188# CONFIG_UFS_FS is not set 1230# CONFIG_UFS_FS is not set
1231# CONFIG_NILFS2_FS is not set
1189CONFIG_NETWORK_FILESYSTEMS=y 1232CONFIG_NETWORK_FILESYSTEMS=y
1190CONFIG_NFS_FS=y 1233CONFIG_NFS_FS=y
1191CONFIG_NFS_V3=y 1234CONFIG_NFS_V3=y
@@ -1197,7 +1240,6 @@ CONFIG_LOCKD=y
1197CONFIG_LOCKD_V4=y 1240CONFIG_LOCKD_V4=y
1198CONFIG_NFS_COMMON=y 1241CONFIG_NFS_COMMON=y
1199CONFIG_SUNRPC=y 1242CONFIG_SUNRPC=y
1200# CONFIG_SUNRPC_REGISTER_V4 is not set
1201# CONFIG_RPCSEC_GSS_KRB5 is not set 1243# CONFIG_RPCSEC_GSS_KRB5 is not set
1202# CONFIG_RPCSEC_GSS_SPKM3 is not set 1244# CONFIG_RPCSEC_GSS_SPKM3 is not set
1203CONFIG_SMB_FS=m 1245CONFIG_SMB_FS=m
@@ -1253,6 +1295,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1253# CONFIG_NLS_KOI8_U is not set 1295# CONFIG_NLS_KOI8_U is not set
1254# CONFIG_NLS_UTF8 is not set 1296# CONFIG_NLS_UTF8 is not set
1255# CONFIG_DLM is not set 1297# CONFIG_DLM is not set
1298# CONFIG_BINARY_PRINTF is not set
1256 1299
1257# 1300#
1258# Library routines 1301# Library routines
@@ -1266,12 +1309,13 @@ CONFIG_CRC_ITU_T=m
1266CONFIG_CRC32=y 1309CONFIG_CRC32=y
1267# CONFIG_CRC7 is not set 1310# CONFIG_CRC7 is not set
1268# CONFIG_LIBCRC32C is not set 1311# CONFIG_LIBCRC32C is not set
1269CONFIG_ZLIB_INFLATE=m 1312CONFIG_ZLIB_INFLATE=y
1270CONFIG_PLIST=y 1313CONFIG_DECOMPRESS_GZIP=y
1271CONFIG_HAS_IOMEM=y 1314CONFIG_HAS_IOMEM=y
1272CONFIG_HAS_IOPORT=y 1315CONFIG_HAS_IOPORT=y
1273CONFIG_HAS_DMA=y 1316CONFIG_HAS_DMA=y
1274CONFIG_HAVE_LMB=y 1317CONFIG_HAVE_LMB=y
1318CONFIG_NLATTR=y
1275 1319
1276# 1320#
1277# Kernel hacking 1321# Kernel hacking
@@ -1289,6 +1333,9 @@ CONFIG_DEBUG_KERNEL=y
1289CONFIG_DETECT_SOFTLOCKUP=y 1333CONFIG_DETECT_SOFTLOCKUP=y
1290# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1334# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1291CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1335CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1336CONFIG_DETECT_HUNG_TASK=y
1337# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1338CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1292CONFIG_SCHED_DEBUG=y 1339CONFIG_SCHED_DEBUG=y
1293# CONFIG_SCHEDSTATS is not set 1340# CONFIG_SCHEDSTATS is not set
1294# CONFIG_TIMER_STATS is not set 1341# CONFIG_TIMER_STATS is not set
@@ -1319,9 +1366,12 @@ CONFIG_SCHED_DEBUG=y
1319# CONFIG_FAULT_INJECTION is not set 1366# CONFIG_FAULT_INJECTION is not set
1320# CONFIG_LATENCYTOP is not set 1367# CONFIG_LATENCYTOP is not set
1321CONFIG_SYSCTL_SYSCALL_CHECK=y 1368CONFIG_SYSCTL_SYSCALL_CHECK=y
1369# CONFIG_DEBUG_PAGEALLOC is not set
1322CONFIG_HAVE_FUNCTION_TRACER=y 1370CONFIG_HAVE_FUNCTION_TRACER=y
1371CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1323CONFIG_HAVE_DYNAMIC_FTRACE=y 1372CONFIG_HAVE_DYNAMIC_FTRACE=y
1324CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1373CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1374CONFIG_TRACING_SUPPORT=y
1325 1375
1326# 1376#
1327# Tracers 1377# Tracers
@@ -1329,17 +1379,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1329# CONFIG_FUNCTION_TRACER is not set 1379# CONFIG_FUNCTION_TRACER is not set
1330# CONFIG_SCHED_TRACER is not set 1380# CONFIG_SCHED_TRACER is not set
1331# CONFIG_CONTEXT_SWITCH_TRACER is not set 1381# CONFIG_CONTEXT_SWITCH_TRACER is not set
1382# CONFIG_EVENT_TRACER is not set
1332# CONFIG_BOOT_TRACER is not set 1383# CONFIG_BOOT_TRACER is not set
1333# CONFIG_TRACE_BRANCH_PROFILING is not set 1384# CONFIG_TRACE_BRANCH_PROFILING is not set
1334# CONFIG_STACK_TRACER is not set 1385# CONFIG_STACK_TRACER is not set
1335# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1386# CONFIG_KMEMTRACE is not set
1387# CONFIG_WORKQUEUE_TRACER is not set
1388# CONFIG_BLK_DEV_IO_TRACE is not set
1336# CONFIG_SAMPLES is not set 1389# CONFIG_SAMPLES is not set
1337CONFIG_HAVE_ARCH_KGDB=y 1390CONFIG_HAVE_ARCH_KGDB=y
1338# CONFIG_KGDB is not set 1391# CONFIG_KGDB is not set
1339CONFIG_PRINT_STACK_DEPTH=64 1392CONFIG_PRINT_STACK_DEPTH=64
1340# CONFIG_DEBUG_STACKOVERFLOW is not set 1393# CONFIG_DEBUG_STACKOVERFLOW is not set
1341# CONFIG_DEBUG_STACK_USAGE is not set 1394# CONFIG_DEBUG_STACK_USAGE is not set
1342# CONFIG_DEBUG_PAGEALLOC is not set
1343# CONFIG_CODE_PATCHING_SELFTEST is not set 1395# CONFIG_CODE_PATCHING_SELFTEST is not set
1344# CONFIG_FTR_FIXUP_SELFTEST is not set 1396# CONFIG_FTR_FIXUP_SELFTEST is not set
1345# CONFIG_MSI_BITMAP_SELFTEST is not set 1397# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1433,6 +1485,7 @@ CONFIG_CRYPTO=y
1433# Compression 1485# Compression
1434# 1486#
1435# CONFIG_CRYPTO_DEFLATE is not set 1487# CONFIG_CRYPTO_DEFLATE is not set
1488# CONFIG_CRYPTO_ZLIB is not set
1436# CONFIG_CRYPTO_LZO is not set 1489# CONFIG_CRYPTO_LZO is not set
1437 1490
1438# 1491#
diff --git a/arch/powerpc/configs/85xx/tqm8540_defconfig b/arch/powerpc/configs/85xx/tqm8540_defconfig
index f4379b1cf841..767600145fb2 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:19 2009 4# Wed May 13 17:22:23 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y
58CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y
75# CONFIG_BSD_PROCESS_ACCT is not set 77# CONFIG_BSD_PROCESS_ACCT is not set
76# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 79# CONFIG_AUDIT is not set
80
81#
82# RCU Subsystem
83#
84CONFIG_CLASSIC_RCU=y
85# CONFIG_TREE_RCU is not set
86# CONFIG_PREEMPT_RCU is not set
87# CONFIG_TREE_RCU_TRACE is not set
88# CONFIG_PREEMPT_RCU_TRACE is not set
78# CONFIG_IKCONFIG is not set 89# CONFIG_IKCONFIG is not set
79CONFIG_LOG_BUF_SHIFT=14 90CONFIG_LOG_BUF_SHIFT=14
80CONFIG_GROUP_SCHED=y 91CONFIG_GROUP_SCHED=y
@@ -89,19 +100,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
89# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
90CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
91CONFIG_INITRAMFS_SOURCE="" 102CONFIG_INITRAMFS_SOURCE=""
103CONFIG_RD_GZIP=y
104# CONFIG_RD_BZIP2 is not set
105# CONFIG_RD_LZMA is not set
92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 106# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
93CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
108CONFIG_ANON_INODES=y
94CONFIG_EMBEDDED=y 109CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 110CONFIG_SYSCTL_SYSCALL=y
96# CONFIG_KALLSYMS is not set 111# CONFIG_KALLSYMS is not set
112# CONFIG_STRIP_ASM_SYMS is not set
97# CONFIG_HOTPLUG is not set 113# CONFIG_HOTPLUG is not set
98CONFIG_PRINTK=y 114CONFIG_PRINTK=y
99CONFIG_BUG=y 115CONFIG_BUG=y
100CONFIG_ELF_CORE=y 116CONFIG_ELF_CORE=y
101CONFIG_COMPAT_BRK=y
102CONFIG_BASE_FULL=y 117CONFIG_BASE_FULL=y
103CONFIG_FUTEX=y 118CONFIG_FUTEX=y
104CONFIG_ANON_INODES=y
105# CONFIG_EPOLL is not set 119# CONFIG_EPOLL is not set
106CONFIG_SIGNALFD=y 120CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 121CONFIG_TIMERFD=y
@@ -111,16 +125,19 @@ CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 125CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y 126CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 127CONFIG_SLUB_DEBUG=y
128CONFIG_COMPAT_BRK=y
114# CONFIG_SLAB is not set 129# CONFIG_SLAB is not set
115CONFIG_SLUB=y 130CONFIG_SLUB=y
116# CONFIG_SLOB is not set 131# CONFIG_SLOB is not set
117# CONFIG_PROFILING is not set 132# CONFIG_PROFILING is not set
133# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y 134CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y 136CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 137CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 138CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 139CONFIG_HAVE_ARCH_TRACEHOOK=y
140# CONFIG_SLOW_WORK is not set
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 141# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 142CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 143CONFIG_RT_MUTEXES=y
@@ -128,7 +145,6 @@ CONFIG_BASE_SMALL=0
128# CONFIG_MODULES is not set 145# CONFIG_MODULES is not set
129CONFIG_BLOCK=y 146CONFIG_BLOCK=y
130# CONFIG_LBD is not set 147# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_BLK_DEV_BSG is not set 148# CONFIG_BLK_DEV_BSG is not set
133# CONFIG_BLK_DEV_INTEGRITY is not set 149# CONFIG_BLK_DEV_INTEGRITY is not set
134 150
@@ -144,11 +160,6 @@ CONFIG_DEFAULT_AS=y
144# CONFIG_DEFAULT_CFQ is not set 160# CONFIG_DEFAULT_CFQ is not set
145# CONFIG_DEFAULT_NOOP is not set 161# CONFIG_DEFAULT_NOOP is not set
146CONFIG_DEFAULT_IOSCHED="anticipatory" 162CONFIG_DEFAULT_IOSCHED="anticipatory"
147CONFIG_CLASSIC_RCU=y
148# CONFIG_TREE_RCU is not set
149# CONFIG_PREEMPT_RCU is not set
150# CONFIG_TREE_RCU_TRACE is not set
151# CONFIG_PREEMPT_RCU_TRACE is not set
152# CONFIG_FREEZER is not set 163# CONFIG_FREEZER is not set
153 164
154# 165#
@@ -164,6 +175,7 @@ CONFIG_MPC85xx=y
164# CONFIG_MPC85xx_MDS is not set 175# CONFIG_MPC85xx_MDS is not set
165# CONFIG_MPC8536_DS is not set 176# CONFIG_MPC8536_DS is not set
166# CONFIG_MPC85xx_DS is not set 177# CONFIG_MPC85xx_DS is not set
178# CONFIG_SOCRATES is not set
167# CONFIG_KSI8560 is not set 179# CONFIG_KSI8560 is not set
168# CONFIG_STX_GP3 is not set 180# CONFIG_STX_GP3 is not set
169CONFIG_TQM8540=y 181CONFIG_TQM8540=y
@@ -232,9 +244,12 @@ CONFIG_ZONE_DMA_FLAG=1
232CONFIG_BOUNCE=y 244CONFIG_BOUNCE=y
233CONFIG_VIRT_TO_BUS=y 245CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y 246CONFIG_UNEVICTABLE_LRU=y
247CONFIG_HAVE_MLOCK=y
248CONFIG_HAVE_MLOCKED_PAGE_BIT=y
235CONFIG_PPC_4K_PAGES=y 249CONFIG_PPC_4K_PAGES=y
236# CONFIG_PPC_16K_PAGES is not set 250# CONFIG_PPC_16K_PAGES is not set
237# CONFIG_PPC_64K_PAGES is not set 251# CONFIG_PPC_64K_PAGES is not set
252# CONFIG_PPC_256K_PAGES is not set
238CONFIG_FORCE_MAX_ZONEORDER=11 253CONFIG_FORCE_MAX_ZONEORDER=11
239# CONFIG_PROC_DEVICETREE is not set 254# CONFIG_PROC_DEVICETREE is not set
240# CONFIG_CMDLINE_BOOL is not set 255# CONFIG_CMDLINE_BOOL is not set
@@ -259,6 +274,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
259# CONFIG_PCI_MSI is not set 274# CONFIG_PCI_MSI is not set
260# CONFIG_PCI_LEGACY is not set 275# CONFIG_PCI_LEGACY is not set
261# CONFIG_PCI_STUB is not set 276# CONFIG_PCI_STUB is not set
277# CONFIG_PCI_IOV is not set
262# CONFIG_HAS_RAPIDIO is not set 278# CONFIG_HAS_RAPIDIO is not set
263 279
264# 280#
@@ -270,17 +286,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y
270# Default settings for advanced configuration options are used 286# Default settings for advanced configuration options are used
271# 287#
272CONFIG_LOWMEM_SIZE=0x30000000 288CONFIG_LOWMEM_SIZE=0x30000000
289CONFIG_LOWMEM_CAM_NUM=3
273CONFIG_PAGE_OFFSET=0xc0000000 290CONFIG_PAGE_OFFSET=0xc0000000
274CONFIG_KERNEL_START=0xc0000000 291CONFIG_KERNEL_START=0xc0000000
275CONFIG_PHYSICAL_START=0x00000000 292CONFIG_PHYSICAL_START=0x00000000
276CONFIG_PHYSICAL_ALIGN=0x10000000 293CONFIG_PHYSICAL_ALIGN=0x04000000
277CONFIG_TASK_SIZE=0xc0000000 294CONFIG_TASK_SIZE=0xc0000000
278CONFIG_NET=y 295CONFIG_NET=y
279 296
280# 297#
281# Networking options 298# Networking options
282# 299#
283CONFIG_COMPAT_NET_DEV_OPS=y
284CONFIG_PACKET=y 300CONFIG_PACKET=y
285# CONFIG_PACKET_MMAP is not set 301# CONFIG_PACKET_MMAP is not set
286CONFIG_UNIX=y 302CONFIG_UNIX=y
@@ -336,6 +352,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
336# CONFIG_LAPB is not set 352# CONFIG_LAPB is not set
337# CONFIG_ECONET is not set 353# CONFIG_ECONET is not set
338# CONFIG_WAN_ROUTER is not set 354# CONFIG_WAN_ROUTER is not set
355# CONFIG_PHONET is not set
339# CONFIG_NET_SCHED is not set 356# CONFIG_NET_SCHED is not set
340# CONFIG_DCB is not set 357# CONFIG_DCB is not set
341 358
@@ -348,7 +365,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
348# CONFIG_IRDA is not set 365# CONFIG_IRDA is not set
349# CONFIG_BT is not set 366# CONFIG_BT is not set
350# CONFIG_AF_RXRPC is not set 367# CONFIG_AF_RXRPC is not set
351# CONFIG_PHONET is not set
352CONFIG_WIRELESS=y 368CONFIG_WIRELESS=y
353# CONFIG_CFG80211 is not set 369# CONFIG_CFG80211 is not set
354CONFIG_WIRELESS_OLD_REGULATORY=y 370CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -448,7 +464,6 @@ CONFIG_MTD_CFI_UTIL=y
448# LPDDR flash memory drivers 464# LPDDR flash memory drivers
449# 465#
450# CONFIG_MTD_LPDDR is not set 466# CONFIG_MTD_LPDDR is not set
451# CONFIG_MTD_QINFO_PROBE is not set
452 467
453# 468#
454# UBI - Unsorted block images 469# UBI - Unsorted block images
@@ -477,19 +492,27 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
477# CONFIG_BLK_DEV_HD is not set 492# CONFIG_BLK_DEV_HD is not set
478CONFIG_MISC_DEVICES=y 493CONFIG_MISC_DEVICES=y
479# CONFIG_PHANTOM is not set 494# CONFIG_PHANTOM is not set
480# CONFIG_EEPROM_93CX6 is not set
481# CONFIG_SGI_IOC4 is not set 495# CONFIG_SGI_IOC4 is not set
482# CONFIG_TIFM_CORE is not set 496# CONFIG_TIFM_CORE is not set
483# CONFIG_ICS932S401 is not set 497# CONFIG_ICS932S401 is not set
484# CONFIG_ENCLOSURE_SERVICES is not set 498# CONFIG_ENCLOSURE_SERVICES is not set
485# CONFIG_HP_ILO is not set 499# CONFIG_HP_ILO is not set
500# CONFIG_ISL29003 is not set
486# CONFIG_C2PORT is not set 501# CONFIG_C2PORT is not set
502
503#
504# EEPROM support
505#
506# CONFIG_EEPROM_AT24 is not set
507# CONFIG_EEPROM_LEGACY is not set
508# CONFIG_EEPROM_93CX6 is not set
487CONFIG_HAVE_IDE=y 509CONFIG_HAVE_IDE=y
488CONFIG_IDE=y 510CONFIG_IDE=y
489 511
490# 512#
491# Please see Documentation/ide/ide.txt for help/info on IDE drives 513# Please see Documentation/ide/ide.txt for help/info on IDE drives
492# 514#
515CONFIG_IDE_XFER_MODE=y
493CONFIG_IDE_TIMINGS=y 516CONFIG_IDE_TIMINGS=y
494# CONFIG_BLK_DEV_IDE_SATA is not set 517# CONFIG_BLK_DEV_IDE_SATA is not set
495CONFIG_IDE_GD=y 518CONFIG_IDE_GD=y
@@ -564,6 +587,7 @@ CONFIG_BLK_DEV_IDEDMA=y
564# CONFIG_I2O is not set 587# CONFIG_I2O is not set
565# CONFIG_MACINTOSH_DRIVERS is not set 588# CONFIG_MACINTOSH_DRIVERS is not set
566CONFIG_NETDEVICES=y 589CONFIG_NETDEVICES=y
590CONFIG_COMPAT_NET_DEV_OPS=y
567# CONFIG_DUMMY is not set 591# CONFIG_DUMMY is not set
568# CONFIG_BONDING is not set 592# CONFIG_BONDING is not set
569# CONFIG_MACVLAN is not set 593# CONFIG_MACVLAN is not set
@@ -597,6 +621,8 @@ CONFIG_MII=y
597# CONFIG_SUNGEM is not set 621# CONFIG_SUNGEM is not set
598# CONFIG_CASSINI is not set 622# CONFIG_CASSINI is not set
599# CONFIG_NET_VENDOR_3COM is not set 623# CONFIG_NET_VENDOR_3COM is not set
624# CONFIG_ETHOC is not set
625# CONFIG_DNET is not set
600# CONFIG_NET_TULIP is not set 626# CONFIG_NET_TULIP is not set
601# CONFIG_HP100 is not set 627# CONFIG_HP100 is not set
602# CONFIG_IBM_NEW_EMAC_ZMII is not set 628# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -634,6 +660,7 @@ CONFIG_NETDEV_1000=y
634# CONFIG_E1000E is not set 660# CONFIG_E1000E is not set
635# CONFIG_IP1000 is not set 661# CONFIG_IP1000 is not set
636# CONFIG_IGB is not set 662# CONFIG_IGB is not set
663# CONFIG_IGBVF is not set
637# CONFIG_NS83820 is not set 664# CONFIG_NS83820 is not set
638# CONFIG_HAMACHI is not set 665# CONFIG_HAMACHI is not set
639# CONFIG_YELLOWFIN is not set 666# CONFIG_YELLOWFIN is not set
@@ -644,10 +671,12 @@ CONFIG_NETDEV_1000=y
644# CONFIG_VIA_VELOCITY is not set 671# CONFIG_VIA_VELOCITY is not set
645# CONFIG_TIGON3 is not set 672# CONFIG_TIGON3 is not set
646# CONFIG_BNX2 is not set 673# CONFIG_BNX2 is not set
674CONFIG_FSL_PQ_MDIO=y
647CONFIG_GIANFAR=y 675CONFIG_GIANFAR=y
648# CONFIG_QLA3XXX is not set 676# CONFIG_QLA3XXX is not set
649# CONFIG_ATL1 is not set 677# CONFIG_ATL1 is not set
650# CONFIG_ATL1E is not set 678# CONFIG_ATL1E is not set
679# CONFIG_ATL1C is not set
651# CONFIG_JME is not set 680# CONFIG_JME is not set
652CONFIG_NETDEV_10000=y 681CONFIG_NETDEV_10000=y
653# CONFIG_CHELSIO_T1 is not set 682# CONFIG_CHELSIO_T1 is not set
@@ -657,6 +686,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
657# CONFIG_IXGBE is not set 686# CONFIG_IXGBE is not set
658# CONFIG_IXGB is not set 687# CONFIG_IXGB is not set
659# CONFIG_S2IO is not set 688# CONFIG_S2IO is not set
689# CONFIG_VXGE is not set
660# CONFIG_MYRI10GE is not set 690# CONFIG_MYRI10GE is not set
661# CONFIG_NETXEN_NIC is not set 691# CONFIG_NETXEN_NIC is not set
662# CONFIG_NIU is not set 692# CONFIG_NIU is not set
@@ -666,6 +696,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
666# CONFIG_BNX2X is not set 696# CONFIG_BNX2X is not set
667# CONFIG_QLGE is not set 697# CONFIG_QLGE is not set
668# CONFIG_SFC is not set 698# CONFIG_SFC is not set
699# CONFIG_BE2NET is not set
669# CONFIG_TR is not set 700# CONFIG_TR is not set
670 701
671# 702#
@@ -673,7 +704,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
673# 704#
674# CONFIG_WLAN_PRE80211 is not set 705# CONFIG_WLAN_PRE80211 is not set
675# CONFIG_WLAN_80211 is not set 706# CONFIG_WLAN_80211 is not set
676# CONFIG_IWLWIFI_LEDS is not set
677 707
678# 708#
679# Enable WiMAX (Networking options) to see the WiMAX drivers 709# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -754,6 +784,7 @@ CONFIG_LEGACY_PTY_COUNT=256
754# CONFIG_HVC_UDBG is not set 784# CONFIG_HVC_UDBG is not set
755# CONFIG_IPMI_HANDLER is not set 785# CONFIG_IPMI_HANDLER is not set
756CONFIG_HW_RANDOM=y 786CONFIG_HW_RANDOM=y
787# CONFIG_HW_RANDOM_TIMERIOMEM is not set
757# CONFIG_NVRAM is not set 788# CONFIG_NVRAM is not set
758CONFIG_GEN_RTC=y 789CONFIG_GEN_RTC=y
759# CONFIG_GEN_RTC_X is not set 790# CONFIG_GEN_RTC_X is not set
@@ -816,12 +847,9 @@ CONFIG_I2C_MPC=y
816# Miscellaneous I2C Chip support 847# Miscellaneous I2C Chip support
817# 848#
818# CONFIG_DS1682 is not set 849# CONFIG_DS1682 is not set
819# CONFIG_EEPROM_AT24 is not set
820# CONFIG_EEPROM_LEGACY is not set
821# CONFIG_SENSORS_PCF8574 is not set 850# CONFIG_SENSORS_PCF8574 is not set
822# CONFIG_PCF8575 is not set 851# CONFIG_PCF8575 is not set
823# CONFIG_SENSORS_PCA9539 is not set 852# CONFIG_SENSORS_PCA9539 is not set
824# CONFIG_SENSORS_PCF8591 is not set
825# CONFIG_SENSORS_MAX6875 is not set 853# CONFIG_SENSORS_MAX6875 is not set
826# CONFIG_SENSORS_TSL2550 is not set 854# CONFIG_SENSORS_TSL2550 is not set
827# CONFIG_I2C_DEBUG_CORE is not set 855# CONFIG_I2C_DEBUG_CORE is not set
@@ -853,6 +881,7 @@ CONFIG_HWMON=y
853# CONFIG_SENSORS_F71805F is not set 881# CONFIG_SENSORS_F71805F is not set
854# CONFIG_SENSORS_F71882FG is not set 882# CONFIG_SENSORS_F71882FG is not set
855# CONFIG_SENSORS_F75375S is not set 883# CONFIG_SENSORS_F75375S is not set
884# CONFIG_SENSORS_G760A is not set
856# CONFIG_SENSORS_GL518SM is not set 885# CONFIG_SENSORS_GL518SM is not set
857# CONFIG_SENSORS_GL520SM is not set 886# CONFIG_SENSORS_GL520SM is not set
858# CONFIG_SENSORS_IT87 is not set 887# CONFIG_SENSORS_IT87 is not set
@@ -867,11 +896,14 @@ CONFIG_SENSORS_LM75=y
867# CONFIG_SENSORS_LM90 is not set 896# CONFIG_SENSORS_LM90 is not set
868# CONFIG_SENSORS_LM92 is not set 897# CONFIG_SENSORS_LM92 is not set
869# CONFIG_SENSORS_LM93 is not set 898# CONFIG_SENSORS_LM93 is not set
899# CONFIG_SENSORS_LTC4215 is not set
870# CONFIG_SENSORS_LTC4245 is not set 900# CONFIG_SENSORS_LTC4245 is not set
901# CONFIG_SENSORS_LM95241 is not set
871# CONFIG_SENSORS_MAX1619 is not set 902# CONFIG_SENSORS_MAX1619 is not set
872# CONFIG_SENSORS_MAX6650 is not set 903# CONFIG_SENSORS_MAX6650 is not set
873# CONFIG_SENSORS_PC87360 is not set 904# CONFIG_SENSORS_PC87360 is not set
874# CONFIG_SENSORS_PC87427 is not set 905# CONFIG_SENSORS_PC87427 is not set
906# CONFIG_SENSORS_PCF8591 is not set
875# CONFIG_SENSORS_SIS5595 is not set 907# CONFIG_SENSORS_SIS5595 is not set
876# CONFIG_SENSORS_DME1737 is not set 908# CONFIG_SENSORS_DME1737 is not set
877# CONFIG_SENSORS_SMSC47M1 is not set 909# CONFIG_SENSORS_SMSC47M1 is not set
@@ -955,7 +987,6 @@ CONFIG_HID=y
955# 987#
956# Special HID drivers 988# Special HID drivers
957# 989#
958CONFIG_HID_COMPAT=y
959CONFIG_USB_SUPPORT=y 990CONFIG_USB_SUPPORT=y
960CONFIG_USB_ARCH_HAS_HCD=y 991CONFIG_USB_ARCH_HAS_HCD=y
961CONFIG_USB_ARCH_HAS_OHCI=y 992CONFIG_USB_ARCH_HAS_OHCI=y
@@ -969,7 +1000,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
969# 1000#
970 1001
971# 1002#
972# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1003# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
973# 1004#
974# CONFIG_USB_GADGET is not set 1005# CONFIG_USB_GADGET is not set
975 1006
@@ -985,6 +1016,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
985# CONFIG_EDAC is not set 1016# CONFIG_EDAC is not set
986# CONFIG_RTC_CLASS is not set 1017# CONFIG_RTC_CLASS is not set
987# CONFIG_DMADEVICES is not set 1018# CONFIG_DMADEVICES is not set
1019# CONFIG_AUXDISPLAY is not set
988# CONFIG_UIO is not set 1020# CONFIG_UIO is not set
989# CONFIG_STAGING is not set 1021# CONFIG_STAGING is not set
990 1022
@@ -995,6 +1027,7 @@ CONFIG_EXT2_FS=y
995# CONFIG_EXT2_FS_XATTR is not set 1027# CONFIG_EXT2_FS_XATTR is not set
996# CONFIG_EXT2_FS_XIP is not set 1028# CONFIG_EXT2_FS_XIP is not set
997CONFIG_EXT3_FS=y 1029CONFIG_EXT3_FS=y
1030# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
998CONFIG_EXT3_FS_XATTR=y 1031CONFIG_EXT3_FS_XATTR=y
999# CONFIG_EXT3_FS_POSIX_ACL is not set 1032# CONFIG_EXT3_FS_POSIX_ACL is not set
1000# CONFIG_EXT3_FS_SECURITY is not set 1033# CONFIG_EXT3_FS_SECURITY is not set
@@ -1017,6 +1050,11 @@ CONFIG_INOTIFY_USER=y
1017# CONFIG_FUSE_FS is not set 1050# CONFIG_FUSE_FS is not set
1018 1051
1019# 1052#
1053# Caches
1054#
1055# CONFIG_FSCACHE is not set
1056
1057#
1020# CD-ROM/DVD Filesystems 1058# CD-ROM/DVD Filesystems
1021# 1059#
1022# CONFIG_ISO9660_FS is not set 1060# CONFIG_ISO9660_FS is not set
@@ -1070,6 +1108,7 @@ CONFIG_CRAMFS=y
1070# CONFIG_ROMFS_FS is not set 1108# CONFIG_ROMFS_FS is not set
1071# CONFIG_SYSV_FS is not set 1109# CONFIG_SYSV_FS is not set
1072# CONFIG_UFS_FS is not set 1110# CONFIG_UFS_FS is not set
1111# CONFIG_NILFS2_FS is not set
1073CONFIG_NETWORK_FILESYSTEMS=y 1112CONFIG_NETWORK_FILESYSTEMS=y
1074CONFIG_NFS_FS=y 1113CONFIG_NFS_FS=y
1075# CONFIG_NFS_V3 is not set 1114# CONFIG_NFS_V3 is not set
@@ -1079,7 +1118,6 @@ CONFIG_ROOT_NFS=y
1079CONFIG_LOCKD=y 1118CONFIG_LOCKD=y
1080CONFIG_NFS_COMMON=y 1119CONFIG_NFS_COMMON=y
1081CONFIG_SUNRPC=y 1120CONFIG_SUNRPC=y
1082# CONFIG_SUNRPC_REGISTER_V4 is not set
1083# CONFIG_RPCSEC_GSS_KRB5 is not set 1121# CONFIG_RPCSEC_GSS_KRB5 is not set
1084# CONFIG_RPCSEC_GSS_SPKM3 is not set 1122# CONFIG_RPCSEC_GSS_SPKM3 is not set
1085# CONFIG_SMB_FS is not set 1123# CONFIG_SMB_FS is not set
@@ -1107,6 +1145,7 @@ CONFIG_PARTITION_ADVANCED=y
1107# CONFIG_SYSV68_PARTITION is not set 1145# CONFIG_SYSV68_PARTITION is not set
1108# CONFIG_NLS is not set 1146# CONFIG_NLS is not set
1109# CONFIG_DLM is not set 1147# CONFIG_DLM is not set
1148# CONFIG_BINARY_PRINTF is not set
1110 1149
1111# 1150#
1112# Library routines 1151# Library routines
@@ -1122,11 +1161,12 @@ CONFIG_CRC32=y
1122# CONFIG_LIBCRC32C is not set 1161# CONFIG_LIBCRC32C is not set
1123CONFIG_ZLIB_INFLATE=y 1162CONFIG_ZLIB_INFLATE=y
1124CONFIG_ZLIB_DEFLATE=y 1163CONFIG_ZLIB_DEFLATE=y
1125CONFIG_PLIST=y 1164CONFIG_DECOMPRESS_GZIP=y
1126CONFIG_HAS_IOMEM=y 1165CONFIG_HAS_IOMEM=y
1127CONFIG_HAS_IOPORT=y 1166CONFIG_HAS_IOPORT=y
1128CONFIG_HAS_DMA=y 1167CONFIG_HAS_DMA=y
1129CONFIG_HAVE_LMB=y 1168CONFIG_HAVE_LMB=y
1169CONFIG_NLATTR=y
1130 1170
1131# 1171#
1132# Kernel hacking 1172# Kernel hacking
@@ -1148,13 +1188,24 @@ CONFIG_FRAME_WARN=1024
1148# CONFIG_LATENCYTOP is not set 1188# CONFIG_LATENCYTOP is not set
1149CONFIG_SYSCTL_SYSCALL_CHECK=y 1189CONFIG_SYSCTL_SYSCALL_CHECK=y
1150CONFIG_HAVE_FUNCTION_TRACER=y 1190CONFIG_HAVE_FUNCTION_TRACER=y
1191CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1151CONFIG_HAVE_DYNAMIC_FTRACE=y 1192CONFIG_HAVE_DYNAMIC_FTRACE=y
1152CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1193CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1194CONFIG_TRACING_SUPPORT=y
1153 1195
1154# 1196#
1155# Tracers 1197# Tracers
1156# 1198#
1157# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1199# CONFIG_FUNCTION_TRACER is not set
1200# CONFIG_SCHED_TRACER is not set
1201# CONFIG_CONTEXT_SWITCH_TRACER is not set
1202# CONFIG_EVENT_TRACER is not set
1203# CONFIG_BOOT_TRACER is not set
1204# CONFIG_TRACE_BRANCH_PROFILING is not set
1205# CONFIG_STACK_TRACER is not set
1206# CONFIG_KMEMTRACE is not set
1207# CONFIG_WORKQUEUE_TRACER is not set
1208# CONFIG_BLK_DEV_IO_TRACE is not set
1158# CONFIG_SAMPLES is not set 1209# CONFIG_SAMPLES is not set
1159CONFIG_HAVE_ARCH_KGDB=y 1210CONFIG_HAVE_ARCH_KGDB=y
1160CONFIG_PRINT_STACK_DEPTH=64 1211CONFIG_PRINT_STACK_DEPTH=64
@@ -1245,6 +1296,7 @@ CONFIG_CRYPTO=y
1245# Compression 1296# Compression
1246# 1297#
1247# CONFIG_CRYPTO_DEFLATE is not set 1298# CONFIG_CRYPTO_DEFLATE is not set
1299# CONFIG_CRYPTO_ZLIB is not set
1248# CONFIG_CRYPTO_LZO is not set 1300# CONFIG_CRYPTO_LZO is not set
1249 1301
1250# 1302#
diff --git a/arch/powerpc/configs/85xx/tqm8541_defconfig b/arch/powerpc/configs/85xx/tqm8541_defconfig
index b8669231c1fe..52fafc006dd0 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:20 2009 4# Wed May 13 17:22:23 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y
59CONFIG_DEFAULT_UIMAGE=y 60CONFIG_DEFAULT_UIMAGE=y
60# CONFIG_PPC_DCR_NATIVE is not set 61# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 62# CONFIG_PPC_DCR_MMIO is not set
63CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 64CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
63 65
64# 66#
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y
76# CONFIG_BSD_PROCESS_ACCT is not set 78# CONFIG_BSD_PROCESS_ACCT is not set
77# CONFIG_TASKSTATS is not set 79# CONFIG_TASKSTATS is not set
78# CONFIG_AUDIT is not set 80# CONFIG_AUDIT is not set
81
82#
83# RCU Subsystem
84#
85CONFIG_CLASSIC_RCU=y
86# CONFIG_TREE_RCU is not set
87# CONFIG_PREEMPT_RCU is not set
88# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
79# CONFIG_IKCONFIG is not set 90# CONFIG_IKCONFIG is not set
80CONFIG_LOG_BUF_SHIFT=14 91CONFIG_LOG_BUF_SHIFT=14
81CONFIG_GROUP_SCHED=y 92CONFIG_GROUP_SCHED=y
@@ -90,19 +101,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
90# CONFIG_NAMESPACES is not set 101# CONFIG_NAMESPACES is not set
91CONFIG_BLK_DEV_INITRD=y 102CONFIG_BLK_DEV_INITRD=y
92CONFIG_INITRAMFS_SOURCE="" 103CONFIG_INITRAMFS_SOURCE=""
104CONFIG_RD_GZIP=y
105# CONFIG_RD_BZIP2 is not set
106# CONFIG_RD_LZMA is not set
93# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
94CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
109CONFIG_ANON_INODES=y
95CONFIG_EMBEDDED=y 110CONFIG_EMBEDDED=y
96CONFIG_SYSCTL_SYSCALL=y 111CONFIG_SYSCTL_SYSCALL=y
97# CONFIG_KALLSYMS is not set 112# CONFIG_KALLSYMS is not set
113# CONFIG_STRIP_ASM_SYMS is not set
98# CONFIG_HOTPLUG is not set 114# CONFIG_HOTPLUG is not set
99CONFIG_PRINTK=y 115CONFIG_PRINTK=y
100CONFIG_BUG=y 116CONFIG_BUG=y
101CONFIG_ELF_CORE=y 117CONFIG_ELF_CORE=y
102CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 118CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 119CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106# CONFIG_EPOLL is not set 120# CONFIG_EPOLL is not set
107CONFIG_SIGNALFD=y 121CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 122CONFIG_TIMERFD=y
@@ -112,10 +126,12 @@ CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 126CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y 127CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 128CONFIG_SLUB_DEBUG=y
129CONFIG_COMPAT_BRK=y
115# CONFIG_SLAB is not set 130# CONFIG_SLAB is not set
116CONFIG_SLUB=y 131CONFIG_SLUB=y
117# CONFIG_SLOB is not set 132# CONFIG_SLOB is not set
118# CONFIG_PROFILING is not set 133# CONFIG_PROFILING is not set
134# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y 137CONFIG_HAVE_IOREMAP_PROT=y
@@ -123,6 +139,7 @@ CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
125CONFIG_HAVE_CLK=y 141CONFIG_HAVE_CLK=y
142# CONFIG_SLOW_WORK is not set
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 143# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 144CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 145CONFIG_RT_MUTEXES=y
@@ -130,7 +147,6 @@ CONFIG_BASE_SMALL=0
130# CONFIG_MODULES is not set 147# CONFIG_MODULES is not set
131CONFIG_BLOCK=y 148CONFIG_BLOCK=y
132# CONFIG_LBD is not set 149# CONFIG_LBD is not set
133# CONFIG_BLK_DEV_IO_TRACE is not set
134# CONFIG_BLK_DEV_BSG is not set 150# CONFIG_BLK_DEV_BSG is not set
135# CONFIG_BLK_DEV_INTEGRITY is not set 151# CONFIG_BLK_DEV_INTEGRITY is not set
136 152
@@ -146,11 +162,6 @@ CONFIG_DEFAULT_AS=y
146# CONFIG_DEFAULT_CFQ is not set 162# CONFIG_DEFAULT_CFQ is not set
147# CONFIG_DEFAULT_NOOP is not set 163# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 164CONFIG_DEFAULT_IOSCHED="anticipatory"
149CONFIG_CLASSIC_RCU=y
150# CONFIG_TREE_RCU is not set
151# CONFIG_PREEMPT_RCU is not set
152# CONFIG_TREE_RCU_TRACE is not set
153# CONFIG_PREEMPT_RCU_TRACE is not set
154# CONFIG_FREEZER is not set 165# CONFIG_FREEZER is not set
155 166
156# 167#
@@ -166,6 +177,7 @@ CONFIG_MPC85xx=y
166# CONFIG_MPC85xx_MDS is not set 177# CONFIG_MPC85xx_MDS is not set
167# CONFIG_MPC8536_DS is not set 178# CONFIG_MPC8536_DS is not set
168# CONFIG_MPC85xx_DS is not set 179# CONFIG_MPC85xx_DS is not set
180# CONFIG_SOCRATES is not set
169# CONFIG_KSI8560 is not set 181# CONFIG_KSI8560 is not set
170# CONFIG_STX_GP3 is not set 182# CONFIG_STX_GP3 is not set
171# CONFIG_TQM8540 is not set 183# CONFIG_TQM8540 is not set
@@ -235,9 +247,12 @@ CONFIG_ZONE_DMA_FLAG=1
235CONFIG_BOUNCE=y 247CONFIG_BOUNCE=y
236CONFIG_VIRT_TO_BUS=y 248CONFIG_VIRT_TO_BUS=y
237CONFIG_UNEVICTABLE_LRU=y 249CONFIG_UNEVICTABLE_LRU=y
250CONFIG_HAVE_MLOCK=y
251CONFIG_HAVE_MLOCKED_PAGE_BIT=y
238CONFIG_PPC_4K_PAGES=y 252CONFIG_PPC_4K_PAGES=y
239# CONFIG_PPC_16K_PAGES is not set 253# CONFIG_PPC_16K_PAGES is not set
240# CONFIG_PPC_64K_PAGES is not set 254# CONFIG_PPC_64K_PAGES is not set
255# CONFIG_PPC_256K_PAGES is not set
241CONFIG_FORCE_MAX_ZONEORDER=11 256CONFIG_FORCE_MAX_ZONEORDER=11
242# CONFIG_PROC_DEVICETREE is not set 257# CONFIG_PROC_DEVICETREE is not set
243# CONFIG_CMDLINE_BOOL is not set 258# CONFIG_CMDLINE_BOOL is not set
@@ -262,6 +277,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
262# CONFIG_PCI_MSI is not set 277# CONFIG_PCI_MSI is not set
263# CONFIG_PCI_LEGACY is not set 278# CONFIG_PCI_LEGACY is not set
264# CONFIG_PCI_STUB is not set 279# CONFIG_PCI_STUB is not set
280# CONFIG_PCI_IOV is not set
265# CONFIG_HAS_RAPIDIO is not set 281# CONFIG_HAS_RAPIDIO is not set
266 282
267# 283#
@@ -273,17 +289,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# Default settings for advanced configuration options are used 289# Default settings for advanced configuration options are used
274# 290#
275CONFIG_LOWMEM_SIZE=0x30000000 291CONFIG_LOWMEM_SIZE=0x30000000
292CONFIG_LOWMEM_CAM_NUM=3
276CONFIG_PAGE_OFFSET=0xc0000000 293CONFIG_PAGE_OFFSET=0xc0000000
277CONFIG_KERNEL_START=0xc0000000 294CONFIG_KERNEL_START=0xc0000000
278CONFIG_PHYSICAL_START=0x00000000 295CONFIG_PHYSICAL_START=0x00000000
279CONFIG_PHYSICAL_ALIGN=0x10000000 296CONFIG_PHYSICAL_ALIGN=0x04000000
280CONFIG_TASK_SIZE=0xc0000000 297CONFIG_TASK_SIZE=0xc0000000
281CONFIG_NET=y 298CONFIG_NET=y
282 299
283# 300#
284# Networking options 301# Networking options
285# 302#
286CONFIG_COMPAT_NET_DEV_OPS=y
287CONFIG_PACKET=y 303CONFIG_PACKET=y
288# CONFIG_PACKET_MMAP is not set 304# CONFIG_PACKET_MMAP is not set
289CONFIG_UNIX=y 305CONFIG_UNIX=y
@@ -339,6 +355,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_LAPB is not set 355# CONFIG_LAPB is not set
340# CONFIG_ECONET is not set 356# CONFIG_ECONET is not set
341# CONFIG_WAN_ROUTER is not set 357# CONFIG_WAN_ROUTER is not set
358# CONFIG_PHONET is not set
342# CONFIG_NET_SCHED is not set 359# CONFIG_NET_SCHED is not set
343# CONFIG_DCB is not set 360# CONFIG_DCB is not set
344 361
@@ -351,7 +368,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_IRDA is not set 368# CONFIG_IRDA is not set
352# CONFIG_BT is not set 369# CONFIG_BT is not set
353# CONFIG_AF_RXRPC is not set 370# CONFIG_AF_RXRPC is not set
354# CONFIG_PHONET is not set
355CONFIG_WIRELESS=y 371CONFIG_WIRELESS=y
356# CONFIG_CFG80211 is not set 372# CONFIG_CFG80211 is not set
357CONFIG_WIRELESS_OLD_REGULATORY=y 373CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -451,7 +467,6 @@ CONFIG_MTD_CFI_UTIL=y
451# LPDDR flash memory drivers 467# LPDDR flash memory drivers
452# 468#
453# CONFIG_MTD_LPDDR is not set 469# CONFIG_MTD_LPDDR is not set
454# CONFIG_MTD_QINFO_PROBE is not set
455 470
456# 471#
457# UBI - Unsorted block images 472# UBI - Unsorted block images
@@ -481,19 +496,27 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
481# CONFIG_BLK_DEV_HD is not set 496# CONFIG_BLK_DEV_HD is not set
482CONFIG_MISC_DEVICES=y 497CONFIG_MISC_DEVICES=y
483# CONFIG_PHANTOM is not set 498# CONFIG_PHANTOM is not set
484# CONFIG_EEPROM_93CX6 is not set
485# CONFIG_SGI_IOC4 is not set 499# CONFIG_SGI_IOC4 is not set
486# CONFIG_TIFM_CORE is not set 500# CONFIG_TIFM_CORE is not set
487# CONFIG_ICS932S401 is not set 501# CONFIG_ICS932S401 is not set
488# CONFIG_ENCLOSURE_SERVICES is not set 502# CONFIG_ENCLOSURE_SERVICES is not set
489# CONFIG_HP_ILO is not set 503# CONFIG_HP_ILO is not set
504# CONFIG_ISL29003 is not set
490# CONFIG_C2PORT is not set 505# CONFIG_C2PORT is not set
506
507#
508# EEPROM support
509#
510# CONFIG_EEPROM_AT24 is not set
511# CONFIG_EEPROM_LEGACY is not set
512# CONFIG_EEPROM_93CX6 is not set
491CONFIG_HAVE_IDE=y 513CONFIG_HAVE_IDE=y
492CONFIG_IDE=y 514CONFIG_IDE=y
493 515
494# 516#
495# Please see Documentation/ide/ide.txt for help/info on IDE drives 517# Please see Documentation/ide/ide.txt for help/info on IDE drives
496# 518#
519CONFIG_IDE_XFER_MODE=y
497CONFIG_IDE_TIMINGS=y 520CONFIG_IDE_TIMINGS=y
498# CONFIG_BLK_DEV_IDE_SATA is not set 521# CONFIG_BLK_DEV_IDE_SATA is not set
499CONFIG_IDE_GD=y 522CONFIG_IDE_GD=y
@@ -568,6 +591,7 @@ CONFIG_BLK_DEV_IDEDMA=y
568# CONFIG_I2O is not set 591# CONFIG_I2O is not set
569# CONFIG_MACINTOSH_DRIVERS is not set 592# CONFIG_MACINTOSH_DRIVERS is not set
570CONFIG_NETDEVICES=y 593CONFIG_NETDEVICES=y
594CONFIG_COMPAT_NET_DEV_OPS=y
571# CONFIG_DUMMY is not set 595# CONFIG_DUMMY is not set
572# CONFIG_BONDING is not set 596# CONFIG_BONDING is not set
573# CONFIG_MACVLAN is not set 597# CONFIG_MACVLAN is not set
@@ -601,6 +625,8 @@ CONFIG_MII=y
601# CONFIG_SUNGEM is not set 625# CONFIG_SUNGEM is not set
602# CONFIG_CASSINI is not set 626# CONFIG_CASSINI is not set
603# CONFIG_NET_VENDOR_3COM is not set 627# CONFIG_NET_VENDOR_3COM is not set
628# CONFIG_ETHOC is not set
629# CONFIG_DNET is not set
604# CONFIG_NET_TULIP is not set 630# CONFIG_NET_TULIP is not set
605# CONFIG_HP100 is not set 631# CONFIG_HP100 is not set
606# CONFIG_IBM_NEW_EMAC_ZMII is not set 632# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -639,6 +665,7 @@ CONFIG_NETDEV_1000=y
639# CONFIG_E1000E is not set 665# CONFIG_E1000E is not set
640# CONFIG_IP1000 is not set 666# CONFIG_IP1000 is not set
641# CONFIG_IGB is not set 667# CONFIG_IGB is not set
668# CONFIG_IGBVF is not set
642# CONFIG_NS83820 is not set 669# CONFIG_NS83820 is not set
643# CONFIG_HAMACHI is not set 670# CONFIG_HAMACHI is not set
644# CONFIG_YELLOWFIN is not set 671# CONFIG_YELLOWFIN is not set
@@ -649,10 +676,12 @@ CONFIG_NETDEV_1000=y
649# CONFIG_VIA_VELOCITY is not set 676# CONFIG_VIA_VELOCITY is not set
650# CONFIG_TIGON3 is not set 677# CONFIG_TIGON3 is not set
651# CONFIG_BNX2 is not set 678# CONFIG_BNX2 is not set
679CONFIG_FSL_PQ_MDIO=y
652CONFIG_GIANFAR=y 680CONFIG_GIANFAR=y
653# CONFIG_QLA3XXX is not set 681# CONFIG_QLA3XXX is not set
654# CONFIG_ATL1 is not set 682# CONFIG_ATL1 is not set
655# CONFIG_ATL1E is not set 683# CONFIG_ATL1E is not set
684# CONFIG_ATL1C is not set
656# CONFIG_JME is not set 685# CONFIG_JME is not set
657CONFIG_NETDEV_10000=y 686CONFIG_NETDEV_10000=y
658# CONFIG_CHELSIO_T1 is not set 687# CONFIG_CHELSIO_T1 is not set
@@ -662,6 +691,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
662# CONFIG_IXGBE is not set 691# CONFIG_IXGBE is not set
663# CONFIG_IXGB is not set 692# CONFIG_IXGB is not set
664# CONFIG_S2IO is not set 693# CONFIG_S2IO is not set
694# CONFIG_VXGE is not set
665# CONFIG_MYRI10GE is not set 695# CONFIG_MYRI10GE is not set
666# CONFIG_NETXEN_NIC is not set 696# CONFIG_NETXEN_NIC is not set
667# CONFIG_NIU is not set 697# CONFIG_NIU is not set
@@ -671,6 +701,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
671# CONFIG_BNX2X is not set 701# CONFIG_BNX2X is not set
672# CONFIG_QLGE is not set 702# CONFIG_QLGE is not set
673# CONFIG_SFC is not set 703# CONFIG_SFC is not set
704# CONFIG_BE2NET is not set
674# CONFIG_TR is not set 705# CONFIG_TR is not set
675 706
676# 707#
@@ -678,7 +709,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
678# 709#
679# CONFIG_WLAN_PRE80211 is not set 710# CONFIG_WLAN_PRE80211 is not set
680# CONFIG_WLAN_80211 is not set 711# CONFIG_WLAN_80211 is not set
681# CONFIG_IWLWIFI_LEDS is not set
682 712
683# 713#
684# Enable WiMAX (Networking options) to see the WiMAX drivers 714# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -761,6 +791,7 @@ CONFIG_LEGACY_PTY_COUNT=256
761# CONFIG_HVC_UDBG is not set 791# CONFIG_HVC_UDBG is not set
762# CONFIG_IPMI_HANDLER is not set 792# CONFIG_IPMI_HANDLER is not set
763CONFIG_HW_RANDOM=y 793CONFIG_HW_RANDOM=y
794# CONFIG_HW_RANDOM_TIMERIOMEM is not set
764# CONFIG_NVRAM is not set 795# CONFIG_NVRAM is not set
765CONFIG_GEN_RTC=y 796CONFIG_GEN_RTC=y
766# CONFIG_GEN_RTC_X is not set 797# CONFIG_GEN_RTC_X is not set
@@ -825,12 +856,9 @@ CONFIG_I2C_MPC=y
825# Miscellaneous I2C Chip support 856# Miscellaneous I2C Chip support
826# 857#
827# CONFIG_DS1682 is not set 858# CONFIG_DS1682 is not set
828# CONFIG_EEPROM_AT24 is not set
829# CONFIG_EEPROM_LEGACY is not set
830# CONFIG_SENSORS_PCF8574 is not set 859# CONFIG_SENSORS_PCF8574 is not set
831# CONFIG_PCF8575 is not set 860# CONFIG_PCF8575 is not set
832# CONFIG_SENSORS_PCA9539 is not set 861# CONFIG_SENSORS_PCA9539 is not set
833# CONFIG_SENSORS_PCF8591 is not set
834# CONFIG_SENSORS_MAX6875 is not set 862# CONFIG_SENSORS_MAX6875 is not set
835# CONFIG_SENSORS_TSL2550 is not set 863# CONFIG_SENSORS_TSL2550 is not set
836# CONFIG_I2C_DEBUG_CORE is not set 864# CONFIG_I2C_DEBUG_CORE is not set
@@ -885,6 +913,7 @@ CONFIG_HWMON=y
885# CONFIG_SENSORS_F71805F is not set 913# CONFIG_SENSORS_F71805F is not set
886# CONFIG_SENSORS_F71882FG is not set 914# CONFIG_SENSORS_F71882FG is not set
887# CONFIG_SENSORS_F75375S is not set 915# CONFIG_SENSORS_F75375S is not set
916# CONFIG_SENSORS_G760A is not set
888# CONFIG_SENSORS_GL518SM is not set 917# CONFIG_SENSORS_GL518SM is not set
889# CONFIG_SENSORS_GL520SM is not set 918# CONFIG_SENSORS_GL520SM is not set
890# CONFIG_SENSORS_IT87 is not set 919# CONFIG_SENSORS_IT87 is not set
@@ -899,11 +928,15 @@ CONFIG_SENSORS_LM75=y
899# CONFIG_SENSORS_LM90 is not set 928# CONFIG_SENSORS_LM90 is not set
900# CONFIG_SENSORS_LM92 is not set 929# CONFIG_SENSORS_LM92 is not set
901# CONFIG_SENSORS_LM93 is not set 930# CONFIG_SENSORS_LM93 is not set
931# CONFIG_SENSORS_LTC4215 is not set
902# CONFIG_SENSORS_LTC4245 is not set 932# CONFIG_SENSORS_LTC4245 is not set
933# CONFIG_SENSORS_LM95241 is not set
903# CONFIG_SENSORS_MAX1619 is not set 934# CONFIG_SENSORS_MAX1619 is not set
904# CONFIG_SENSORS_MAX6650 is not set 935# CONFIG_SENSORS_MAX6650 is not set
905# CONFIG_SENSORS_PC87360 is not set 936# CONFIG_SENSORS_PC87360 is not set
906# CONFIG_SENSORS_PC87427 is not set 937# CONFIG_SENSORS_PC87427 is not set
938# CONFIG_SENSORS_PCF8591 is not set
939# CONFIG_SENSORS_SHT15 is not set
907# CONFIG_SENSORS_SIS5595 is not set 940# CONFIG_SENSORS_SIS5595 is not set
908# CONFIG_SENSORS_DME1737 is not set 941# CONFIG_SENSORS_DME1737 is not set
909# CONFIG_SENSORS_SMSC47M1 is not set 942# CONFIG_SENSORS_SMSC47M1 is not set
@@ -988,7 +1021,6 @@ CONFIG_HID=y
988# 1021#
989# Special HID drivers 1022# Special HID drivers
990# 1023#
991CONFIG_HID_COMPAT=y
992CONFIG_USB_SUPPORT=y 1024CONFIG_USB_SUPPORT=y
993CONFIG_USB_ARCH_HAS_HCD=y 1025CONFIG_USB_ARCH_HAS_HCD=y
994CONFIG_USB_ARCH_HAS_OHCI=y 1026CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1002,7 +1034,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1002# 1034#
1003 1035
1004# 1036#
1005# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1037# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1006# 1038#
1007# CONFIG_USB_GADGET is not set 1039# CONFIG_USB_GADGET is not set
1008 1040
@@ -1018,6 +1050,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1018# CONFIG_EDAC is not set 1050# CONFIG_EDAC is not set
1019# CONFIG_RTC_CLASS is not set 1051# CONFIG_RTC_CLASS is not set
1020# CONFIG_DMADEVICES is not set 1052# CONFIG_DMADEVICES is not set
1053# CONFIG_AUXDISPLAY is not set
1021# CONFIG_UIO is not set 1054# CONFIG_UIO is not set
1022# CONFIG_STAGING is not set 1055# CONFIG_STAGING is not set
1023 1056
@@ -1028,6 +1061,7 @@ CONFIG_EXT2_FS=y
1028# CONFIG_EXT2_FS_XATTR is not set 1061# CONFIG_EXT2_FS_XATTR is not set
1029# CONFIG_EXT2_FS_XIP is not set 1062# CONFIG_EXT2_FS_XIP is not set
1030CONFIG_EXT3_FS=y 1063CONFIG_EXT3_FS=y
1064# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1031CONFIG_EXT3_FS_XATTR=y 1065CONFIG_EXT3_FS_XATTR=y
1032# CONFIG_EXT3_FS_POSIX_ACL is not set 1066# CONFIG_EXT3_FS_POSIX_ACL is not set
1033# CONFIG_EXT3_FS_SECURITY is not set 1067# CONFIG_EXT3_FS_SECURITY is not set
@@ -1050,6 +1084,11 @@ CONFIG_INOTIFY_USER=y
1050# CONFIG_FUSE_FS is not set 1084# CONFIG_FUSE_FS is not set
1051 1085
1052# 1086#
1087# Caches
1088#
1089# CONFIG_FSCACHE is not set
1090
1091#
1053# CD-ROM/DVD Filesystems 1092# CD-ROM/DVD Filesystems
1054# 1093#
1055# CONFIG_ISO9660_FS is not set 1094# CONFIG_ISO9660_FS is not set
@@ -1103,6 +1142,7 @@ CONFIG_CRAMFS=y
1103# CONFIG_ROMFS_FS is not set 1142# CONFIG_ROMFS_FS is not set
1104# CONFIG_SYSV_FS is not set 1143# CONFIG_SYSV_FS is not set
1105# CONFIG_UFS_FS is not set 1144# CONFIG_UFS_FS is not set
1145# CONFIG_NILFS2_FS is not set
1106CONFIG_NETWORK_FILESYSTEMS=y 1146CONFIG_NETWORK_FILESYSTEMS=y
1107CONFIG_NFS_FS=y 1147CONFIG_NFS_FS=y
1108# CONFIG_NFS_V3 is not set 1148# CONFIG_NFS_V3 is not set
@@ -1112,7 +1152,6 @@ CONFIG_ROOT_NFS=y
1112CONFIG_LOCKD=y 1152CONFIG_LOCKD=y
1113CONFIG_NFS_COMMON=y 1153CONFIG_NFS_COMMON=y
1114CONFIG_SUNRPC=y 1154CONFIG_SUNRPC=y
1115# CONFIG_SUNRPC_REGISTER_V4 is not set
1116# CONFIG_RPCSEC_GSS_KRB5 is not set 1155# CONFIG_RPCSEC_GSS_KRB5 is not set
1117# CONFIG_RPCSEC_GSS_SPKM3 is not set 1156# CONFIG_RPCSEC_GSS_SPKM3 is not set
1118# CONFIG_SMB_FS is not set 1157# CONFIG_SMB_FS is not set
@@ -1140,6 +1179,7 @@ CONFIG_PARTITION_ADVANCED=y
1140# CONFIG_SYSV68_PARTITION is not set 1179# CONFIG_SYSV68_PARTITION is not set
1141# CONFIG_NLS is not set 1180# CONFIG_NLS is not set
1142# CONFIG_DLM is not set 1181# CONFIG_DLM is not set
1182# CONFIG_BINARY_PRINTF is not set
1143 1183
1144# 1184#
1145# Library routines 1185# Library routines
@@ -1155,11 +1195,12 @@ CONFIG_CRC32=y
1155# CONFIG_LIBCRC32C is not set 1195# CONFIG_LIBCRC32C is not set
1156CONFIG_ZLIB_INFLATE=y 1196CONFIG_ZLIB_INFLATE=y
1157CONFIG_ZLIB_DEFLATE=y 1197CONFIG_ZLIB_DEFLATE=y
1158CONFIG_PLIST=y 1198CONFIG_DECOMPRESS_GZIP=y
1159CONFIG_HAS_IOMEM=y 1199CONFIG_HAS_IOMEM=y
1160CONFIG_HAS_IOPORT=y 1200CONFIG_HAS_IOPORT=y
1161CONFIG_HAS_DMA=y 1201CONFIG_HAS_DMA=y
1162CONFIG_HAVE_LMB=y 1202CONFIG_HAVE_LMB=y
1203CONFIG_NLATTR=y
1163 1204
1164# 1205#
1165# Kernel hacking 1206# Kernel hacking
@@ -1181,13 +1222,24 @@ CONFIG_FRAME_WARN=1024
1181# CONFIG_LATENCYTOP is not set 1222# CONFIG_LATENCYTOP is not set
1182CONFIG_SYSCTL_SYSCALL_CHECK=y 1223CONFIG_SYSCTL_SYSCALL_CHECK=y
1183CONFIG_HAVE_FUNCTION_TRACER=y 1224CONFIG_HAVE_FUNCTION_TRACER=y
1225CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1184CONFIG_HAVE_DYNAMIC_FTRACE=y 1226CONFIG_HAVE_DYNAMIC_FTRACE=y
1185CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1227CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1228CONFIG_TRACING_SUPPORT=y
1186 1229
1187# 1230#
1188# Tracers 1231# Tracers
1189# 1232#
1190# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1233# CONFIG_FUNCTION_TRACER is not set
1234# CONFIG_SCHED_TRACER is not set
1235# CONFIG_CONTEXT_SWITCH_TRACER is not set
1236# CONFIG_EVENT_TRACER is not set
1237# CONFIG_BOOT_TRACER is not set
1238# CONFIG_TRACE_BRANCH_PROFILING is not set
1239# CONFIG_STACK_TRACER is not set
1240# CONFIG_KMEMTRACE is not set
1241# CONFIG_WORKQUEUE_TRACER is not set
1242# CONFIG_BLK_DEV_IO_TRACE is not set
1191# CONFIG_SAMPLES is not set 1243# CONFIG_SAMPLES is not set
1192CONFIG_HAVE_ARCH_KGDB=y 1244CONFIG_HAVE_ARCH_KGDB=y
1193CONFIG_PRINT_STACK_DEPTH=64 1245CONFIG_PRINT_STACK_DEPTH=64
@@ -1278,6 +1330,7 @@ CONFIG_CRYPTO=y
1278# Compression 1330# Compression
1279# 1331#
1280# CONFIG_CRYPTO_DEFLATE is not set 1332# CONFIG_CRYPTO_DEFLATE is not set
1333# CONFIG_CRYPTO_ZLIB is not set
1281# CONFIG_CRYPTO_LZO is not set 1334# CONFIG_CRYPTO_LZO is not set
1282 1335
1283# 1336#
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig
index 43030fea2eee..8b4faae7a9a1 100644
--- a/arch/powerpc/configs/85xx/tqm8548_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8548_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.29-rc7 3# Linux kernel version: 2.6.30-rc3
4# Mon Mar 16 09:03:28 2009 4# Wed May 13 17:22:24 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -59,6 +59,7 @@ CONFIG_GENERIC_BUG=y
59CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
60# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
63 64
64# 65#
@@ -99,21 +100,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
99# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
100CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
101CONFIG_INITRAMFS_SOURCE="" 102CONFIG_INITRAMFS_SOURCE=""
103CONFIG_RD_GZIP=y
104# CONFIG_RD_BZIP2 is not set
105# CONFIG_RD_LZMA is not set
102# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 106# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
103CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
108CONFIG_ANON_INODES=y
104CONFIG_EMBEDDED=y 109CONFIG_EMBEDDED=y
105CONFIG_SYSCTL_SYSCALL=y 110CONFIG_SYSCTL_SYSCALL=y
106CONFIG_KALLSYMS=y 111CONFIG_KALLSYMS=y
107# CONFIG_KALLSYMS_ALL is not set 112# CONFIG_KALLSYMS_ALL is not set
108# CONFIG_KALLSYMS_EXTRA_PASS is not set 113# CONFIG_KALLSYMS_EXTRA_PASS is not set
114# CONFIG_STRIP_ASM_SYMS is not set
109CONFIG_HOTPLUG=y 115CONFIG_HOTPLUG=y
110CONFIG_PRINTK=y 116CONFIG_PRINTK=y
111CONFIG_BUG=y 117CONFIG_BUG=y
112CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
113CONFIG_COMPAT_BRK=y
114CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
115CONFIG_FUTEX=y 120CONFIG_FUTEX=y
116CONFIG_ANON_INODES=y
117CONFIG_EPOLL=y 121CONFIG_EPOLL=y
118CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
119CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
@@ -123,10 +127,12 @@ CONFIG_AIO=y
123CONFIG_VM_EVENT_COUNTERS=y 127CONFIG_VM_EVENT_COUNTERS=y
124CONFIG_PCI_QUIRKS=y 128CONFIG_PCI_QUIRKS=y
125CONFIG_SLUB_DEBUG=y 129CONFIG_SLUB_DEBUG=y
130CONFIG_COMPAT_BRK=y
126# CONFIG_SLAB is not set 131# CONFIG_SLAB is not set
127CONFIG_SLUB=y 132CONFIG_SLUB=y
128# CONFIG_SLOB is not set 133# CONFIG_SLOB is not set
129# CONFIG_PROFILING is not set 134# CONFIG_PROFILING is not set
135# CONFIG_MARKERS is not set
130CONFIG_HAVE_OPROFILE=y 136CONFIG_HAVE_OPROFILE=y
131# CONFIG_KPROBES is not set 137# CONFIG_KPROBES is not set
132CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 138CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -134,6 +140,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
134CONFIG_HAVE_KPROBES=y 140CONFIG_HAVE_KPROBES=y
135CONFIG_HAVE_KRETPROBES=y 141CONFIG_HAVE_KRETPROBES=y
136CONFIG_HAVE_ARCH_TRACEHOOK=y 142CONFIG_HAVE_ARCH_TRACEHOOK=y
143# CONFIG_SLOW_WORK is not set
137# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 144# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
138CONFIG_SLABINFO=y 145CONFIG_SLABINFO=y
139CONFIG_RT_MUTEXES=y 146CONFIG_RT_MUTEXES=y
@@ -146,7 +153,6 @@ CONFIG_MODULE_UNLOAD=y
146# CONFIG_MODULE_SRCVERSION_ALL is not set 153# CONFIG_MODULE_SRCVERSION_ALL is not set
147CONFIG_BLOCK=y 154CONFIG_BLOCK=y
148# CONFIG_LBD is not set 155# CONFIG_LBD is not set
149# CONFIG_BLK_DEV_IO_TRACE is not set
150# CONFIG_BLK_DEV_BSG is not set 156# CONFIG_BLK_DEV_BSG is not set
151# CONFIG_BLK_DEV_INTEGRITY is not set 157# CONFIG_BLK_DEV_INTEGRITY is not set
152 158
@@ -177,6 +183,7 @@ CONFIG_MPC85xx=y
177# CONFIG_MPC85xx_MDS is not set 183# CONFIG_MPC85xx_MDS is not set
178# CONFIG_MPC8536_DS is not set 184# CONFIG_MPC8536_DS is not set
179# CONFIG_MPC85xx_DS is not set 185# CONFIG_MPC85xx_DS is not set
186# CONFIG_SOCRATES is not set
180# CONFIG_KSI8560 is not set 187# CONFIG_KSI8560 is not set
181# CONFIG_STX_GP3 is not set 188# CONFIG_STX_GP3 is not set
182# CONFIG_TQM8540 is not set 189# CONFIG_TQM8540 is not set
@@ -246,6 +253,8 @@ CONFIG_ZONE_DMA_FLAG=1
246CONFIG_BOUNCE=y 253CONFIG_BOUNCE=y
247CONFIG_VIRT_TO_BUS=y 254CONFIG_VIRT_TO_BUS=y
248CONFIG_UNEVICTABLE_LRU=y 255CONFIG_UNEVICTABLE_LRU=y
256CONFIG_HAVE_MLOCK=y
257CONFIG_HAVE_MLOCKED_PAGE_BIT=y
249CONFIG_PPC_4K_PAGES=y 258CONFIG_PPC_4K_PAGES=y
250# CONFIG_PPC_16K_PAGES is not set 259# CONFIG_PPC_16K_PAGES is not set
251# CONFIG_PPC_64K_PAGES is not set 260# CONFIG_PPC_64K_PAGES is not set
@@ -278,6 +287,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
278# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
279# CONFIG_PCI_DEBUG is not set 288# CONFIG_PCI_DEBUG is not set
280# CONFIG_PCI_STUB is not set 289# CONFIG_PCI_STUB is not set
290# CONFIG_PCI_IOV is not set
281# CONFIG_PCCARD is not set 291# CONFIG_PCCARD is not set
282# CONFIG_HOTPLUG_PCI is not set 292# CONFIG_HOTPLUG_PCI is not set
283# CONFIG_HAS_RAPIDIO is not set 293# CONFIG_HAS_RAPIDIO is not set
@@ -302,7 +312,6 @@ CONFIG_NET=y
302# 312#
303# Networking options 313# Networking options
304# 314#
305CONFIG_COMPAT_NET_DEV_OPS=y
306CONFIG_PACKET=y 315CONFIG_PACKET=y
307# CONFIG_PACKET_MMAP is not set 316# CONFIG_PACKET_MMAP is not set
308CONFIG_UNIX=y 317CONFIG_UNIX=y
@@ -358,6 +367,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
358# CONFIG_LAPB is not set 367# CONFIG_LAPB is not set
359# CONFIG_ECONET is not set 368# CONFIG_ECONET is not set
360# CONFIG_WAN_ROUTER is not set 369# CONFIG_WAN_ROUTER is not set
370# CONFIG_PHONET is not set
361# CONFIG_NET_SCHED is not set 371# CONFIG_NET_SCHED is not set
362# CONFIG_DCB is not set 372# CONFIG_DCB is not set
363 373
@@ -370,7 +380,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
370# CONFIG_IRDA is not set 380# CONFIG_IRDA is not set
371# CONFIG_BT is not set 381# CONFIG_BT is not set
372# CONFIG_AF_RXRPC is not set 382# CONFIG_AF_RXRPC is not set
373# CONFIG_PHONET is not set
374# CONFIG_WIRELESS is not set 383# CONFIG_WIRELESS is not set
375# CONFIG_WIMAX is not set 384# CONFIG_WIMAX is not set
376# CONFIG_RFKILL is not set 385# CONFIG_RFKILL is not set
@@ -514,6 +523,7 @@ CONFIG_MISC_DEVICES=y
514# CONFIG_ICS932S401 is not set 523# CONFIG_ICS932S401 is not set
515# CONFIG_ENCLOSURE_SERVICES is not set 524# CONFIG_ENCLOSURE_SERVICES is not set
516# CONFIG_HP_ILO is not set 525# CONFIG_HP_ILO is not set
526# CONFIG_ISL29003 is not set
517# CONFIG_C2PORT is not set 527# CONFIG_C2PORT is not set
518 528
519# 529#
@@ -548,6 +558,7 @@ CONFIG_HAVE_IDE=y
548# CONFIG_I2O is not set 558# CONFIG_I2O is not set
549# CONFIG_MACINTOSH_DRIVERS is not set 559# CONFIG_MACINTOSH_DRIVERS is not set
550CONFIG_NETDEVICES=y 560CONFIG_NETDEVICES=y
561CONFIG_COMPAT_NET_DEV_OPS=y
551# CONFIG_DUMMY is not set 562# CONFIG_DUMMY is not set
552# CONFIG_BONDING is not set 563# CONFIG_BONDING is not set
553# CONFIG_MACVLAN is not set 564# CONFIG_MACVLAN is not set
@@ -581,6 +592,8 @@ CONFIG_MII=y
581# CONFIG_SUNGEM is not set 592# CONFIG_SUNGEM is not set
582# CONFIG_CASSINI is not set 593# CONFIG_CASSINI is not set
583# CONFIG_NET_VENDOR_3COM is not set 594# CONFIG_NET_VENDOR_3COM is not set
595# CONFIG_ETHOC is not set
596# CONFIG_DNET is not set
584# CONFIG_NET_TULIP is not set 597# CONFIG_NET_TULIP is not set
585# CONFIG_HP100 is not set 598# CONFIG_HP100 is not set
586# CONFIG_IBM_NEW_EMAC_ZMII is not set 599# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -600,6 +613,7 @@ CONFIG_NETDEV_1000=y
600# CONFIG_E1000E is not set 613# CONFIG_E1000E is not set
601# CONFIG_IP1000 is not set 614# CONFIG_IP1000 is not set
602# CONFIG_IGB is not set 615# CONFIG_IGB is not set
616# CONFIG_IGBVF is not set
603# CONFIG_NS83820 is not set 617# CONFIG_NS83820 is not set
604# CONFIG_HAMACHI is not set 618# CONFIG_HAMACHI is not set
605# CONFIG_YELLOWFIN is not set 619# CONFIG_YELLOWFIN is not set
@@ -610,6 +624,7 @@ CONFIG_NETDEV_1000=y
610# CONFIG_VIA_VELOCITY is not set 624# CONFIG_VIA_VELOCITY is not set
611# CONFIG_TIGON3 is not set 625# CONFIG_TIGON3 is not set
612# CONFIG_BNX2 is not set 626# CONFIG_BNX2 is not set
627CONFIG_FSL_PQ_MDIO=y
613CONFIG_GIANFAR=y 628CONFIG_GIANFAR=y
614# CONFIG_QLA3XXX is not set 629# CONFIG_QLA3XXX is not set
615# CONFIG_ATL1 is not set 630# CONFIG_ATL1 is not set
@@ -624,6 +639,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
624# CONFIG_IXGBE is not set 639# CONFIG_IXGBE is not set
625# CONFIG_IXGB is not set 640# CONFIG_IXGB is not set
626# CONFIG_S2IO is not set 641# CONFIG_S2IO is not set
642# CONFIG_VXGE is not set
627# CONFIG_MYRI10GE is not set 643# CONFIG_MYRI10GE is not set
628# CONFIG_NETXEN_NIC is not set 644# CONFIG_NETXEN_NIC is not set
629# CONFIG_NIU is not set 645# CONFIG_NIU is not set
@@ -633,6 +649,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
633# CONFIG_BNX2X is not set 649# CONFIG_BNX2X is not set
634# CONFIG_QLGE is not set 650# CONFIG_QLGE is not set
635# CONFIG_SFC is not set 651# CONFIG_SFC is not set
652# CONFIG_BE2NET is not set
636# CONFIG_TR is not set 653# CONFIG_TR is not set
637 654
638# 655#
@@ -640,7 +657,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
640# 657#
641# CONFIG_WLAN_PRE80211 is not set 658# CONFIG_WLAN_PRE80211 is not set
642# CONFIG_WLAN_80211 is not set 659# CONFIG_WLAN_80211 is not set
643# CONFIG_IWLWIFI_LEDS is not set
644 660
645# 661#
646# Enable WiMAX (Networking options) to see the WiMAX drivers 662# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -785,7 +801,6 @@ CONFIG_I2C_MPC=y
785# CONFIG_SENSORS_PCF8574 is not set 801# CONFIG_SENSORS_PCF8574 is not set
786# CONFIG_PCF8575 is not set 802# CONFIG_PCF8575 is not set
787# CONFIG_SENSORS_PCA9539 is not set 803# CONFIG_SENSORS_PCA9539 is not set
788# CONFIG_SENSORS_PCF8591 is not set
789# CONFIG_SENSORS_MAX6875 is not set 804# CONFIG_SENSORS_MAX6875 is not set
790# CONFIG_SENSORS_TSL2550 is not set 805# CONFIG_SENSORS_TSL2550 is not set
791# CONFIG_I2C_DEBUG_CORE is not set 806# CONFIG_I2C_DEBUG_CORE is not set
@@ -817,6 +832,7 @@ CONFIG_HWMON=y
817# CONFIG_SENSORS_F71805F is not set 832# CONFIG_SENSORS_F71805F is not set
818# CONFIG_SENSORS_F71882FG is not set 833# CONFIG_SENSORS_F71882FG is not set
819# CONFIG_SENSORS_F75375S is not set 834# CONFIG_SENSORS_F75375S is not set
835# CONFIG_SENSORS_G760A is not set
820# CONFIG_SENSORS_GL518SM is not set 836# CONFIG_SENSORS_GL518SM is not set
821# CONFIG_SENSORS_GL520SM is not set 837# CONFIG_SENSORS_GL520SM is not set
822# CONFIG_SENSORS_IT87 is not set 838# CONFIG_SENSORS_IT87 is not set
@@ -831,11 +847,14 @@ CONFIG_SENSORS_LM75=y
831# CONFIG_SENSORS_LM90 is not set 847# CONFIG_SENSORS_LM90 is not set
832# CONFIG_SENSORS_LM92 is not set 848# CONFIG_SENSORS_LM92 is not set
833# CONFIG_SENSORS_LM93 is not set 849# CONFIG_SENSORS_LM93 is not set
850# CONFIG_SENSORS_LTC4215 is not set
834# CONFIG_SENSORS_LTC4245 is not set 851# CONFIG_SENSORS_LTC4245 is not set
852# CONFIG_SENSORS_LM95241 is not set
835# CONFIG_SENSORS_MAX1619 is not set 853# CONFIG_SENSORS_MAX1619 is not set
836# CONFIG_SENSORS_MAX6650 is not set 854# CONFIG_SENSORS_MAX6650 is not set
837# CONFIG_SENSORS_PC87360 is not set 855# CONFIG_SENSORS_PC87360 is not set
838# CONFIG_SENSORS_PC87427 is not set 856# CONFIG_SENSORS_PC87427 is not set
857# CONFIG_SENSORS_PCF8591 is not set
839# CONFIG_SENSORS_SIS5595 is not set 858# CONFIG_SENSORS_SIS5595 is not set
840# CONFIG_SENSORS_DME1737 is not set 859# CONFIG_SENSORS_DME1737 is not set
841# CONFIG_SENSORS_SMSC47M1 is not set 860# CONFIG_SENSORS_SMSC47M1 is not set
@@ -919,7 +938,6 @@ CONFIG_HID=y
919# 938#
920# Special HID drivers 939# Special HID drivers
921# 940#
922CONFIG_HID_COMPAT=y
923# CONFIG_USB_SUPPORT is not set 941# CONFIG_USB_SUPPORT is not set
924# CONFIG_UWB is not set 942# CONFIG_UWB is not set
925# CONFIG_MMC is not set 943# CONFIG_MMC is not set
@@ -982,8 +1000,9 @@ CONFIG_RTC_DRV_DS1307=y
982# 1000#
983# on-CPU RTC drivers 1001# on-CPU RTC drivers
984# 1002#
985# CONFIG_RTC_DRV_PPC is not set 1003# CONFIG_RTC_DRV_GENERIC is not set
986# CONFIG_DMADEVICES is not set 1004# CONFIG_DMADEVICES is not set
1005# CONFIG_AUXDISPLAY is not set
987# CONFIG_UIO is not set 1006# CONFIG_UIO is not set
988# CONFIG_STAGING is not set 1007# CONFIG_STAGING is not set
989 1008
@@ -1009,6 +1028,11 @@ CONFIG_INOTIFY_USER=y
1009# CONFIG_FUSE_FS is not set 1028# CONFIG_FUSE_FS is not set
1010 1029
1011# 1030#
1031# Caches
1032#
1033# CONFIG_FSCACHE is not set
1034
1035#
1012# CD-ROM/DVD Filesystems 1036# CD-ROM/DVD Filesystems
1013# 1037#
1014# CONFIG_ISO9660_FS is not set 1038# CONFIG_ISO9660_FS is not set
@@ -1062,6 +1086,7 @@ CONFIG_JFFS2_RTIME=y
1062# CONFIG_ROMFS_FS is not set 1086# CONFIG_ROMFS_FS is not set
1063# CONFIG_SYSV_FS is not set 1087# CONFIG_SYSV_FS is not set
1064# CONFIG_UFS_FS is not set 1088# CONFIG_UFS_FS is not set
1089# CONFIG_NILFS2_FS is not set
1065CONFIG_NETWORK_FILESYSTEMS=y 1090CONFIG_NETWORK_FILESYSTEMS=y
1066CONFIG_NFS_FS=y 1091CONFIG_NFS_FS=y
1067# CONFIG_NFS_V3 is not set 1092# CONFIG_NFS_V3 is not set
@@ -1071,7 +1096,6 @@ CONFIG_ROOT_NFS=y
1071CONFIG_LOCKD=y 1096CONFIG_LOCKD=y
1072CONFIG_NFS_COMMON=y 1097CONFIG_NFS_COMMON=y
1073CONFIG_SUNRPC=y 1098CONFIG_SUNRPC=y
1074# CONFIG_SUNRPC_REGISTER_V4 is not set
1075# CONFIG_RPCSEC_GSS_KRB5 is not set 1099# CONFIG_RPCSEC_GSS_KRB5 is not set
1076# CONFIG_RPCSEC_GSS_SPKM3 is not set 1100# CONFIG_RPCSEC_GSS_SPKM3 is not set
1077# CONFIG_SMB_FS is not set 1101# CONFIG_SMB_FS is not set
@@ -1099,6 +1123,7 @@ CONFIG_PARTITION_ADVANCED=y
1099# CONFIG_SYSV68_PARTITION is not set 1123# CONFIG_SYSV68_PARTITION is not set
1100# CONFIG_NLS is not set 1124# CONFIG_NLS is not set
1101# CONFIG_DLM is not set 1125# CONFIG_DLM is not set
1126# CONFIG_BINARY_PRINTF is not set
1102 1127
1103# 1128#
1104# Library routines 1129# Library routines
@@ -1114,11 +1139,12 @@ CONFIG_CRC32=y
1114# CONFIG_LIBCRC32C is not set 1139# CONFIG_LIBCRC32C is not set
1115CONFIG_ZLIB_INFLATE=y 1140CONFIG_ZLIB_INFLATE=y
1116CONFIG_ZLIB_DEFLATE=y 1141CONFIG_ZLIB_DEFLATE=y
1117CONFIG_PLIST=y 1142CONFIG_DECOMPRESS_GZIP=y
1118CONFIG_HAS_IOMEM=y 1143CONFIG_HAS_IOMEM=y
1119CONFIG_HAS_IOPORT=y 1144CONFIG_HAS_IOPORT=y
1120CONFIG_HAS_DMA=y 1145CONFIG_HAS_DMA=y
1121CONFIG_HAVE_LMB=y 1146CONFIG_HAVE_LMB=y
1147CONFIG_NLATTR=y
1122 1148
1123# 1149#
1124# Kernel hacking 1150# Kernel hacking
@@ -1136,6 +1162,9 @@ CONFIG_DEBUG_KERNEL=y
1136CONFIG_DETECT_SOFTLOCKUP=y 1162CONFIG_DETECT_SOFTLOCKUP=y
1137# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1163# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1138CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1164CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1165CONFIG_DETECT_HUNG_TASK=y
1166# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1167CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1139CONFIG_SCHED_DEBUG=y 1168CONFIG_SCHED_DEBUG=y
1140# CONFIG_SCHEDSTATS is not set 1169# CONFIG_SCHEDSTATS is not set
1141# CONFIG_TIMER_STATS is not set 1170# CONFIG_TIMER_STATS is not set
@@ -1166,10 +1195,12 @@ CONFIG_DEBUG_MUTEXES=y
1166# CONFIG_FAULT_INJECTION is not set 1195# CONFIG_FAULT_INJECTION is not set
1167# CONFIG_LATENCYTOP is not set 1196# CONFIG_LATENCYTOP is not set
1168CONFIG_SYSCTL_SYSCALL_CHECK=y 1197CONFIG_SYSCTL_SYSCALL_CHECK=y
1198# CONFIG_DEBUG_PAGEALLOC is not set
1169CONFIG_HAVE_FUNCTION_TRACER=y 1199CONFIG_HAVE_FUNCTION_TRACER=y
1170CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y 1200CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1171CONFIG_HAVE_DYNAMIC_FTRACE=y 1201CONFIG_HAVE_DYNAMIC_FTRACE=y
1172CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1202CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1203CONFIG_TRACING_SUPPORT=y
1173 1204
1174# 1205#
1175# Tracers 1206# Tracers
@@ -1177,17 +1208,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1177# CONFIG_FUNCTION_TRACER is not set 1208# CONFIG_FUNCTION_TRACER is not set
1178# CONFIG_SCHED_TRACER is not set 1209# CONFIG_SCHED_TRACER is not set
1179# CONFIG_CONTEXT_SWITCH_TRACER is not set 1210# CONFIG_CONTEXT_SWITCH_TRACER is not set
1211# CONFIG_EVENT_TRACER is not set
1180# CONFIG_BOOT_TRACER is not set 1212# CONFIG_BOOT_TRACER is not set
1181# CONFIG_TRACE_BRANCH_PROFILING is not set 1213# CONFIG_TRACE_BRANCH_PROFILING is not set
1182# CONFIG_STACK_TRACER is not set 1214# CONFIG_STACK_TRACER is not set
1183# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1215# CONFIG_KMEMTRACE is not set
1216# CONFIG_WORKQUEUE_TRACER is not set
1217# CONFIG_BLK_DEV_IO_TRACE is not set
1184# CONFIG_SAMPLES is not set 1218# CONFIG_SAMPLES is not set
1185CONFIG_HAVE_ARCH_KGDB=y 1219CONFIG_HAVE_ARCH_KGDB=y
1186# CONFIG_KGDB is not set 1220# CONFIG_KGDB is not set
1187CONFIG_PRINT_STACK_DEPTH=64 1221CONFIG_PRINT_STACK_DEPTH=64
1188# CONFIG_DEBUG_STACKOVERFLOW is not set 1222# CONFIG_DEBUG_STACKOVERFLOW is not set
1189# CONFIG_DEBUG_STACK_USAGE is not set 1223# CONFIG_DEBUG_STACK_USAGE is not set
1190# CONFIG_DEBUG_PAGEALLOC is not set
1191# CONFIG_CODE_PATCHING_SELFTEST is not set 1224# CONFIG_CODE_PATCHING_SELFTEST is not set
1192# CONFIG_FTR_FIXUP_SELFTEST is not set 1225# CONFIG_FTR_FIXUP_SELFTEST is not set
1193# CONFIG_MSI_BITMAP_SELFTEST is not set 1226# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1281,6 +1314,7 @@ CONFIG_CRYPTO=y
1281# Compression 1314# Compression
1282# 1315#
1283# CONFIG_CRYPTO_DEFLATE is not set 1316# CONFIG_CRYPTO_DEFLATE is not set
1317# CONFIG_CRYPTO_ZLIB is not set
1284# CONFIG_CRYPTO_LZO is not set 1318# CONFIG_CRYPTO_LZO is not set
1285 1319
1286# 1320#
diff --git a/arch/powerpc/configs/85xx/tqm8555_defconfig b/arch/powerpc/configs/85xx/tqm8555_defconfig
index d5a864d74461..170360934cec 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:21 2009 4# Wed May 13 17:22:25 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y
59CONFIG_DEFAULT_UIMAGE=y 60CONFIG_DEFAULT_UIMAGE=y
60# CONFIG_PPC_DCR_NATIVE is not set 61# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 62# CONFIG_PPC_DCR_MMIO is not set
63CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 64CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
63 65
64# 66#
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y
76# CONFIG_BSD_PROCESS_ACCT is not set 78# CONFIG_BSD_PROCESS_ACCT is not set
77# CONFIG_TASKSTATS is not set 79# CONFIG_TASKSTATS is not set
78# CONFIG_AUDIT is not set 80# CONFIG_AUDIT is not set
81
82#
83# RCU Subsystem
84#
85CONFIG_CLASSIC_RCU=y
86# CONFIG_TREE_RCU is not set
87# CONFIG_PREEMPT_RCU is not set
88# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
79# CONFIG_IKCONFIG is not set 90# CONFIG_IKCONFIG is not set
80CONFIG_LOG_BUF_SHIFT=14 91CONFIG_LOG_BUF_SHIFT=14
81CONFIG_GROUP_SCHED=y 92CONFIG_GROUP_SCHED=y
@@ -90,19 +101,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
90# CONFIG_NAMESPACES is not set 101# CONFIG_NAMESPACES is not set
91CONFIG_BLK_DEV_INITRD=y 102CONFIG_BLK_DEV_INITRD=y
92CONFIG_INITRAMFS_SOURCE="" 103CONFIG_INITRAMFS_SOURCE=""
104CONFIG_RD_GZIP=y
105# CONFIG_RD_BZIP2 is not set
106# CONFIG_RD_LZMA is not set
93# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
94CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
109CONFIG_ANON_INODES=y
95CONFIG_EMBEDDED=y 110CONFIG_EMBEDDED=y
96CONFIG_SYSCTL_SYSCALL=y 111CONFIG_SYSCTL_SYSCALL=y
97# CONFIG_KALLSYMS is not set 112# CONFIG_KALLSYMS is not set
113# CONFIG_STRIP_ASM_SYMS is not set
98# CONFIG_HOTPLUG is not set 114# CONFIG_HOTPLUG is not set
99CONFIG_PRINTK=y 115CONFIG_PRINTK=y
100CONFIG_BUG=y 116CONFIG_BUG=y
101CONFIG_ELF_CORE=y 117CONFIG_ELF_CORE=y
102CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 118CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 119CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106# CONFIG_EPOLL is not set 120# CONFIG_EPOLL is not set
107CONFIG_SIGNALFD=y 121CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 122CONFIG_TIMERFD=y
@@ -112,10 +126,12 @@ CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 126CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y 127CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 128CONFIG_SLUB_DEBUG=y
129CONFIG_COMPAT_BRK=y
115# CONFIG_SLAB is not set 130# CONFIG_SLAB is not set
116CONFIG_SLUB=y 131CONFIG_SLUB=y
117# CONFIG_SLOB is not set 132# CONFIG_SLOB is not set
118# CONFIG_PROFILING is not set 133# CONFIG_PROFILING is not set
134# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y 137CONFIG_HAVE_IOREMAP_PROT=y
@@ -123,6 +139,7 @@ CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
125CONFIG_HAVE_CLK=y 141CONFIG_HAVE_CLK=y
142# CONFIG_SLOW_WORK is not set
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 143# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 144CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 145CONFIG_RT_MUTEXES=y
@@ -130,7 +147,6 @@ CONFIG_BASE_SMALL=0
130# CONFIG_MODULES is not set 147# CONFIG_MODULES is not set
131CONFIG_BLOCK=y 148CONFIG_BLOCK=y
132# CONFIG_LBD is not set 149# CONFIG_LBD is not set
133# CONFIG_BLK_DEV_IO_TRACE is not set
134# CONFIG_BLK_DEV_BSG is not set 150# CONFIG_BLK_DEV_BSG is not set
135# CONFIG_BLK_DEV_INTEGRITY is not set 151# CONFIG_BLK_DEV_INTEGRITY is not set
136 152
@@ -146,11 +162,6 @@ CONFIG_DEFAULT_AS=y
146# CONFIG_DEFAULT_CFQ is not set 162# CONFIG_DEFAULT_CFQ is not set
147# CONFIG_DEFAULT_NOOP is not set 163# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 164CONFIG_DEFAULT_IOSCHED="anticipatory"
149CONFIG_CLASSIC_RCU=y
150# CONFIG_TREE_RCU is not set
151# CONFIG_PREEMPT_RCU is not set
152# CONFIG_TREE_RCU_TRACE is not set
153# CONFIG_PREEMPT_RCU_TRACE is not set
154# CONFIG_FREEZER is not set 165# CONFIG_FREEZER is not set
155 166
156# 167#
@@ -166,6 +177,7 @@ CONFIG_MPC85xx=y
166# CONFIG_MPC85xx_MDS is not set 177# CONFIG_MPC85xx_MDS is not set
167# CONFIG_MPC8536_DS is not set 178# CONFIG_MPC8536_DS is not set
168# CONFIG_MPC85xx_DS is not set 179# CONFIG_MPC85xx_DS is not set
180# CONFIG_SOCRATES is not set
169# CONFIG_KSI8560 is not set 181# CONFIG_KSI8560 is not set
170# CONFIG_STX_GP3 is not set 182# CONFIG_STX_GP3 is not set
171# CONFIG_TQM8540 is not set 183# CONFIG_TQM8540 is not set
@@ -235,9 +247,12 @@ CONFIG_ZONE_DMA_FLAG=1
235CONFIG_BOUNCE=y 247CONFIG_BOUNCE=y
236CONFIG_VIRT_TO_BUS=y 248CONFIG_VIRT_TO_BUS=y
237CONFIG_UNEVICTABLE_LRU=y 249CONFIG_UNEVICTABLE_LRU=y
250CONFIG_HAVE_MLOCK=y
251CONFIG_HAVE_MLOCKED_PAGE_BIT=y
238CONFIG_PPC_4K_PAGES=y 252CONFIG_PPC_4K_PAGES=y
239# CONFIG_PPC_16K_PAGES is not set 253# CONFIG_PPC_16K_PAGES is not set
240# CONFIG_PPC_64K_PAGES is not set 254# CONFIG_PPC_64K_PAGES is not set
255# CONFIG_PPC_256K_PAGES is not set
241CONFIG_FORCE_MAX_ZONEORDER=11 256CONFIG_FORCE_MAX_ZONEORDER=11
242# CONFIG_PROC_DEVICETREE is not set 257# CONFIG_PROC_DEVICETREE is not set
243# CONFIG_CMDLINE_BOOL is not set 258# CONFIG_CMDLINE_BOOL is not set
@@ -262,6 +277,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
262# CONFIG_PCI_MSI is not set 277# CONFIG_PCI_MSI is not set
263# CONFIG_PCI_LEGACY is not set 278# CONFIG_PCI_LEGACY is not set
264# CONFIG_PCI_STUB is not set 279# CONFIG_PCI_STUB is not set
280# CONFIG_PCI_IOV is not set
265# CONFIG_HAS_RAPIDIO is not set 281# CONFIG_HAS_RAPIDIO is not set
266 282
267# 283#
@@ -273,17 +289,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# Default settings for advanced configuration options are used 289# Default settings for advanced configuration options are used
274# 290#
275CONFIG_LOWMEM_SIZE=0x30000000 291CONFIG_LOWMEM_SIZE=0x30000000
292CONFIG_LOWMEM_CAM_NUM=3
276CONFIG_PAGE_OFFSET=0xc0000000 293CONFIG_PAGE_OFFSET=0xc0000000
277CONFIG_KERNEL_START=0xc0000000 294CONFIG_KERNEL_START=0xc0000000
278CONFIG_PHYSICAL_START=0x00000000 295CONFIG_PHYSICAL_START=0x00000000
279CONFIG_PHYSICAL_ALIGN=0x10000000 296CONFIG_PHYSICAL_ALIGN=0x04000000
280CONFIG_TASK_SIZE=0xc0000000 297CONFIG_TASK_SIZE=0xc0000000
281CONFIG_NET=y 298CONFIG_NET=y
282 299
283# 300#
284# Networking options 301# Networking options
285# 302#
286CONFIG_COMPAT_NET_DEV_OPS=y
287CONFIG_PACKET=y 303CONFIG_PACKET=y
288# CONFIG_PACKET_MMAP is not set 304# CONFIG_PACKET_MMAP is not set
289CONFIG_UNIX=y 305CONFIG_UNIX=y
@@ -339,6 +355,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_LAPB is not set 355# CONFIG_LAPB is not set
340# CONFIG_ECONET is not set 356# CONFIG_ECONET is not set
341# CONFIG_WAN_ROUTER is not set 357# CONFIG_WAN_ROUTER is not set
358# CONFIG_PHONET is not set
342# CONFIG_NET_SCHED is not set 359# CONFIG_NET_SCHED is not set
343# CONFIG_DCB is not set 360# CONFIG_DCB is not set
344 361
@@ -351,7 +368,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_IRDA is not set 368# CONFIG_IRDA is not set
352# CONFIG_BT is not set 369# CONFIG_BT is not set
353# CONFIG_AF_RXRPC is not set 370# CONFIG_AF_RXRPC is not set
354# CONFIG_PHONET is not set
355CONFIG_WIRELESS=y 371CONFIG_WIRELESS=y
356# CONFIG_CFG80211 is not set 372# CONFIG_CFG80211 is not set
357CONFIG_WIRELESS_OLD_REGULATORY=y 373CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -451,7 +467,6 @@ CONFIG_MTD_CFI_UTIL=y
451# LPDDR flash memory drivers 467# LPDDR flash memory drivers
452# 468#
453# CONFIG_MTD_LPDDR is not set 469# CONFIG_MTD_LPDDR is not set
454# CONFIG_MTD_QINFO_PROBE is not set
455 470
456# 471#
457# UBI - Unsorted block images 472# UBI - Unsorted block images
@@ -481,19 +496,27 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
481# CONFIG_BLK_DEV_HD is not set 496# CONFIG_BLK_DEV_HD is not set
482CONFIG_MISC_DEVICES=y 497CONFIG_MISC_DEVICES=y
483# CONFIG_PHANTOM is not set 498# CONFIG_PHANTOM is not set
484# CONFIG_EEPROM_93CX6 is not set
485# CONFIG_SGI_IOC4 is not set 499# CONFIG_SGI_IOC4 is not set
486# CONFIG_TIFM_CORE is not set 500# CONFIG_TIFM_CORE is not set
487# CONFIG_ICS932S401 is not set 501# CONFIG_ICS932S401 is not set
488# CONFIG_ENCLOSURE_SERVICES is not set 502# CONFIG_ENCLOSURE_SERVICES is not set
489# CONFIG_HP_ILO is not set 503# CONFIG_HP_ILO is not set
504# CONFIG_ISL29003 is not set
490# CONFIG_C2PORT is not set 505# CONFIG_C2PORT is not set
506
507#
508# EEPROM support
509#
510# CONFIG_EEPROM_AT24 is not set
511# CONFIG_EEPROM_LEGACY is not set
512# CONFIG_EEPROM_93CX6 is not set
491CONFIG_HAVE_IDE=y 513CONFIG_HAVE_IDE=y
492CONFIG_IDE=y 514CONFIG_IDE=y
493 515
494# 516#
495# Please see Documentation/ide/ide.txt for help/info on IDE drives 517# Please see Documentation/ide/ide.txt for help/info on IDE drives
496# 518#
519CONFIG_IDE_XFER_MODE=y
497CONFIG_IDE_TIMINGS=y 520CONFIG_IDE_TIMINGS=y
498# CONFIG_BLK_DEV_IDE_SATA is not set 521# CONFIG_BLK_DEV_IDE_SATA is not set
499CONFIG_IDE_GD=y 522CONFIG_IDE_GD=y
@@ -568,6 +591,7 @@ CONFIG_BLK_DEV_IDEDMA=y
568# CONFIG_I2O is not set 591# CONFIG_I2O is not set
569# CONFIG_MACINTOSH_DRIVERS is not set 592# CONFIG_MACINTOSH_DRIVERS is not set
570CONFIG_NETDEVICES=y 593CONFIG_NETDEVICES=y
594CONFIG_COMPAT_NET_DEV_OPS=y
571# CONFIG_DUMMY is not set 595# CONFIG_DUMMY is not set
572# CONFIG_BONDING is not set 596# CONFIG_BONDING is not set
573# CONFIG_MACVLAN is not set 597# CONFIG_MACVLAN is not set
@@ -601,6 +625,8 @@ CONFIG_MII=y
601# CONFIG_SUNGEM is not set 625# CONFIG_SUNGEM is not set
602# CONFIG_CASSINI is not set 626# CONFIG_CASSINI is not set
603# CONFIG_NET_VENDOR_3COM is not set 627# CONFIG_NET_VENDOR_3COM is not set
628# CONFIG_ETHOC is not set
629# CONFIG_DNET is not set
604# CONFIG_NET_TULIP is not set 630# CONFIG_NET_TULIP is not set
605# CONFIG_HP100 is not set 631# CONFIG_HP100 is not set
606# CONFIG_IBM_NEW_EMAC_ZMII is not set 632# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -639,6 +665,7 @@ CONFIG_NETDEV_1000=y
639# CONFIG_E1000E is not set 665# CONFIG_E1000E is not set
640# CONFIG_IP1000 is not set 666# CONFIG_IP1000 is not set
641# CONFIG_IGB is not set 667# CONFIG_IGB is not set
668# CONFIG_IGBVF is not set
642# CONFIG_NS83820 is not set 669# CONFIG_NS83820 is not set
643# CONFIG_HAMACHI is not set 670# CONFIG_HAMACHI is not set
644# CONFIG_YELLOWFIN is not set 671# CONFIG_YELLOWFIN is not set
@@ -649,10 +676,12 @@ CONFIG_NETDEV_1000=y
649# CONFIG_VIA_VELOCITY is not set 676# CONFIG_VIA_VELOCITY is not set
650# CONFIG_TIGON3 is not set 677# CONFIG_TIGON3 is not set
651# CONFIG_BNX2 is not set 678# CONFIG_BNX2 is not set
679CONFIG_FSL_PQ_MDIO=y
652CONFIG_GIANFAR=y 680CONFIG_GIANFAR=y
653# CONFIG_QLA3XXX is not set 681# CONFIG_QLA3XXX is not set
654# CONFIG_ATL1 is not set 682# CONFIG_ATL1 is not set
655# CONFIG_ATL1E is not set 683# CONFIG_ATL1E is not set
684# CONFIG_ATL1C is not set
656# CONFIG_JME is not set 685# CONFIG_JME is not set
657CONFIG_NETDEV_10000=y 686CONFIG_NETDEV_10000=y
658# CONFIG_CHELSIO_T1 is not set 687# CONFIG_CHELSIO_T1 is not set
@@ -662,6 +691,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
662# CONFIG_IXGBE is not set 691# CONFIG_IXGBE is not set
663# CONFIG_IXGB is not set 692# CONFIG_IXGB is not set
664# CONFIG_S2IO is not set 693# CONFIG_S2IO is not set
694# CONFIG_VXGE is not set
665# CONFIG_MYRI10GE is not set 695# CONFIG_MYRI10GE is not set
666# CONFIG_NETXEN_NIC is not set 696# CONFIG_NETXEN_NIC is not set
667# CONFIG_NIU is not set 697# CONFIG_NIU is not set
@@ -671,6 +701,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
671# CONFIG_BNX2X is not set 701# CONFIG_BNX2X is not set
672# CONFIG_QLGE is not set 702# CONFIG_QLGE is not set
673# CONFIG_SFC is not set 703# CONFIG_SFC is not set
704# CONFIG_BE2NET is not set
674# CONFIG_TR is not set 705# CONFIG_TR is not set
675 706
676# 707#
@@ -678,7 +709,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
678# 709#
679# CONFIG_WLAN_PRE80211 is not set 710# CONFIG_WLAN_PRE80211 is not set
680# CONFIG_WLAN_80211 is not set 711# CONFIG_WLAN_80211 is not set
681# CONFIG_IWLWIFI_LEDS is not set
682 712
683# 713#
684# Enable WiMAX (Networking options) to see the WiMAX drivers 714# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -761,6 +791,7 @@ CONFIG_LEGACY_PTY_COUNT=256
761# CONFIG_HVC_UDBG is not set 791# CONFIG_HVC_UDBG is not set
762# CONFIG_IPMI_HANDLER is not set 792# CONFIG_IPMI_HANDLER is not set
763CONFIG_HW_RANDOM=y 793CONFIG_HW_RANDOM=y
794# CONFIG_HW_RANDOM_TIMERIOMEM is not set
764# CONFIG_NVRAM is not set 795# CONFIG_NVRAM is not set
765CONFIG_GEN_RTC=y 796CONFIG_GEN_RTC=y
766# CONFIG_GEN_RTC_X is not set 797# CONFIG_GEN_RTC_X is not set
@@ -825,12 +856,9 @@ CONFIG_I2C_MPC=y
825# Miscellaneous I2C Chip support 856# Miscellaneous I2C Chip support
826# 857#
827# CONFIG_DS1682 is not set 858# CONFIG_DS1682 is not set
828# CONFIG_EEPROM_AT24 is not set
829# CONFIG_EEPROM_LEGACY is not set
830# CONFIG_SENSORS_PCF8574 is not set 859# CONFIG_SENSORS_PCF8574 is not set
831# CONFIG_PCF8575 is not set 860# CONFIG_PCF8575 is not set
832# CONFIG_SENSORS_PCA9539 is not set 861# CONFIG_SENSORS_PCA9539 is not set
833# CONFIG_SENSORS_PCF8591 is not set
834# CONFIG_SENSORS_MAX6875 is not set 862# CONFIG_SENSORS_MAX6875 is not set
835# CONFIG_SENSORS_TSL2550 is not set 863# CONFIG_SENSORS_TSL2550 is not set
836# CONFIG_I2C_DEBUG_CORE is not set 864# CONFIG_I2C_DEBUG_CORE is not set
@@ -885,6 +913,7 @@ CONFIG_HWMON=y
885# CONFIG_SENSORS_F71805F is not set 913# CONFIG_SENSORS_F71805F is not set
886# CONFIG_SENSORS_F71882FG is not set 914# CONFIG_SENSORS_F71882FG is not set
887# CONFIG_SENSORS_F75375S is not set 915# CONFIG_SENSORS_F75375S is not set
916# CONFIG_SENSORS_G760A is not set
888# CONFIG_SENSORS_GL518SM is not set 917# CONFIG_SENSORS_GL518SM is not set
889# CONFIG_SENSORS_GL520SM is not set 918# CONFIG_SENSORS_GL520SM is not set
890# CONFIG_SENSORS_IT87 is not set 919# CONFIG_SENSORS_IT87 is not set
@@ -899,11 +928,15 @@ CONFIG_SENSORS_LM75=y
899# CONFIG_SENSORS_LM90 is not set 928# CONFIG_SENSORS_LM90 is not set
900# CONFIG_SENSORS_LM92 is not set 929# CONFIG_SENSORS_LM92 is not set
901# CONFIG_SENSORS_LM93 is not set 930# CONFIG_SENSORS_LM93 is not set
931# CONFIG_SENSORS_LTC4215 is not set
902# CONFIG_SENSORS_LTC4245 is not set 932# CONFIG_SENSORS_LTC4245 is not set
933# CONFIG_SENSORS_LM95241 is not set
903# CONFIG_SENSORS_MAX1619 is not set 934# CONFIG_SENSORS_MAX1619 is not set
904# CONFIG_SENSORS_MAX6650 is not set 935# CONFIG_SENSORS_MAX6650 is not set
905# CONFIG_SENSORS_PC87360 is not set 936# CONFIG_SENSORS_PC87360 is not set
906# CONFIG_SENSORS_PC87427 is not set 937# CONFIG_SENSORS_PC87427 is not set
938# CONFIG_SENSORS_PCF8591 is not set
939# CONFIG_SENSORS_SHT15 is not set
907# CONFIG_SENSORS_SIS5595 is not set 940# CONFIG_SENSORS_SIS5595 is not set
908# CONFIG_SENSORS_DME1737 is not set 941# CONFIG_SENSORS_DME1737 is not set
909# CONFIG_SENSORS_SMSC47M1 is not set 942# CONFIG_SENSORS_SMSC47M1 is not set
@@ -988,7 +1021,6 @@ CONFIG_HID=y
988# 1021#
989# Special HID drivers 1022# Special HID drivers
990# 1023#
991CONFIG_HID_COMPAT=y
992CONFIG_USB_SUPPORT=y 1024CONFIG_USB_SUPPORT=y
993CONFIG_USB_ARCH_HAS_HCD=y 1025CONFIG_USB_ARCH_HAS_HCD=y
994CONFIG_USB_ARCH_HAS_OHCI=y 1026CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1002,7 +1034,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1002# 1034#
1003 1035
1004# 1036#
1005# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1037# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1006# 1038#
1007# CONFIG_USB_GADGET is not set 1039# CONFIG_USB_GADGET is not set
1008 1040
@@ -1018,6 +1050,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1018# CONFIG_EDAC is not set 1050# CONFIG_EDAC is not set
1019# CONFIG_RTC_CLASS is not set 1051# CONFIG_RTC_CLASS is not set
1020# CONFIG_DMADEVICES is not set 1052# CONFIG_DMADEVICES is not set
1053# CONFIG_AUXDISPLAY is not set
1021# CONFIG_UIO is not set 1054# CONFIG_UIO is not set
1022# CONFIG_STAGING is not set 1055# CONFIG_STAGING is not set
1023 1056
@@ -1028,6 +1061,7 @@ CONFIG_EXT2_FS=y
1028# CONFIG_EXT2_FS_XATTR is not set 1061# CONFIG_EXT2_FS_XATTR is not set
1029# CONFIG_EXT2_FS_XIP is not set 1062# CONFIG_EXT2_FS_XIP is not set
1030CONFIG_EXT3_FS=y 1063CONFIG_EXT3_FS=y
1064# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1031CONFIG_EXT3_FS_XATTR=y 1065CONFIG_EXT3_FS_XATTR=y
1032# CONFIG_EXT3_FS_POSIX_ACL is not set 1066# CONFIG_EXT3_FS_POSIX_ACL is not set
1033# CONFIG_EXT3_FS_SECURITY is not set 1067# CONFIG_EXT3_FS_SECURITY is not set
@@ -1050,6 +1084,11 @@ CONFIG_INOTIFY_USER=y
1050# CONFIG_FUSE_FS is not set 1084# CONFIG_FUSE_FS is not set
1051 1085
1052# 1086#
1087# Caches
1088#
1089# CONFIG_FSCACHE is not set
1090
1091#
1053# CD-ROM/DVD Filesystems 1092# CD-ROM/DVD Filesystems
1054# 1093#
1055# CONFIG_ISO9660_FS is not set 1094# CONFIG_ISO9660_FS is not set
@@ -1103,6 +1142,7 @@ CONFIG_CRAMFS=y
1103# CONFIG_ROMFS_FS is not set 1142# CONFIG_ROMFS_FS is not set
1104# CONFIG_SYSV_FS is not set 1143# CONFIG_SYSV_FS is not set
1105# CONFIG_UFS_FS is not set 1144# CONFIG_UFS_FS is not set
1145# CONFIG_NILFS2_FS is not set
1106CONFIG_NETWORK_FILESYSTEMS=y 1146CONFIG_NETWORK_FILESYSTEMS=y
1107CONFIG_NFS_FS=y 1147CONFIG_NFS_FS=y
1108# CONFIG_NFS_V3 is not set 1148# CONFIG_NFS_V3 is not set
@@ -1112,7 +1152,6 @@ CONFIG_ROOT_NFS=y
1112CONFIG_LOCKD=y 1152CONFIG_LOCKD=y
1113CONFIG_NFS_COMMON=y 1153CONFIG_NFS_COMMON=y
1114CONFIG_SUNRPC=y 1154CONFIG_SUNRPC=y
1115# CONFIG_SUNRPC_REGISTER_V4 is not set
1116# CONFIG_RPCSEC_GSS_KRB5 is not set 1155# CONFIG_RPCSEC_GSS_KRB5 is not set
1117# CONFIG_RPCSEC_GSS_SPKM3 is not set 1156# CONFIG_RPCSEC_GSS_SPKM3 is not set
1118# CONFIG_SMB_FS is not set 1157# CONFIG_SMB_FS is not set
@@ -1140,6 +1179,7 @@ CONFIG_PARTITION_ADVANCED=y
1140# CONFIG_SYSV68_PARTITION is not set 1179# CONFIG_SYSV68_PARTITION is not set
1141# CONFIG_NLS is not set 1180# CONFIG_NLS is not set
1142# CONFIG_DLM is not set 1181# CONFIG_DLM is not set
1182# CONFIG_BINARY_PRINTF is not set
1143 1183
1144# 1184#
1145# Library routines 1185# Library routines
@@ -1155,11 +1195,12 @@ CONFIG_CRC32=y
1155# CONFIG_LIBCRC32C is not set 1195# CONFIG_LIBCRC32C is not set
1156CONFIG_ZLIB_INFLATE=y 1196CONFIG_ZLIB_INFLATE=y
1157CONFIG_ZLIB_DEFLATE=y 1197CONFIG_ZLIB_DEFLATE=y
1158CONFIG_PLIST=y 1198CONFIG_DECOMPRESS_GZIP=y
1159CONFIG_HAS_IOMEM=y 1199CONFIG_HAS_IOMEM=y
1160CONFIG_HAS_IOPORT=y 1200CONFIG_HAS_IOPORT=y
1161CONFIG_HAS_DMA=y 1201CONFIG_HAS_DMA=y
1162CONFIG_HAVE_LMB=y 1202CONFIG_HAVE_LMB=y
1203CONFIG_NLATTR=y
1163 1204
1164# 1205#
1165# Kernel hacking 1206# Kernel hacking
@@ -1181,13 +1222,24 @@ CONFIG_FRAME_WARN=1024
1181# CONFIG_LATENCYTOP is not set 1222# CONFIG_LATENCYTOP is not set
1182CONFIG_SYSCTL_SYSCALL_CHECK=y 1223CONFIG_SYSCTL_SYSCALL_CHECK=y
1183CONFIG_HAVE_FUNCTION_TRACER=y 1224CONFIG_HAVE_FUNCTION_TRACER=y
1225CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1184CONFIG_HAVE_DYNAMIC_FTRACE=y 1226CONFIG_HAVE_DYNAMIC_FTRACE=y
1185CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1227CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1228CONFIG_TRACING_SUPPORT=y
1186 1229
1187# 1230#
1188# Tracers 1231# Tracers
1189# 1232#
1190# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1233# CONFIG_FUNCTION_TRACER is not set
1234# CONFIG_SCHED_TRACER is not set
1235# CONFIG_CONTEXT_SWITCH_TRACER is not set
1236# CONFIG_EVENT_TRACER is not set
1237# CONFIG_BOOT_TRACER is not set
1238# CONFIG_TRACE_BRANCH_PROFILING is not set
1239# CONFIG_STACK_TRACER is not set
1240# CONFIG_KMEMTRACE is not set
1241# CONFIG_WORKQUEUE_TRACER is not set
1242# CONFIG_BLK_DEV_IO_TRACE is not set
1191# CONFIG_SAMPLES is not set 1243# CONFIG_SAMPLES is not set
1192CONFIG_HAVE_ARCH_KGDB=y 1244CONFIG_HAVE_ARCH_KGDB=y
1193CONFIG_PRINT_STACK_DEPTH=64 1245CONFIG_PRINT_STACK_DEPTH=64
@@ -1278,6 +1330,7 @@ CONFIG_CRYPTO=y
1278# Compression 1330# Compression
1279# 1331#
1280# CONFIG_CRYPTO_DEFLATE is not set 1332# CONFIG_CRYPTO_DEFLATE is not set
1333# CONFIG_CRYPTO_ZLIB is not set
1281# CONFIG_CRYPTO_LZO is not set 1334# CONFIG_CRYPTO_LZO is not set
1282 1335
1283# 1336#
diff --git a/arch/powerpc/configs/85xx/tqm8560_defconfig b/arch/powerpc/configs/85xx/tqm8560_defconfig
index a25009174f37..f41cc2444d48 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:22 2009 4# Wed May 13 17:22:26 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y
22# CONFIG_PHYS_64BIT is not set 22# CONFIG_PHYS_64BIT is not set
23CONFIG_SPE=y 23CONFIG_SPE=y
24CONFIG_PPC_MMU_NOHASH=y 24CONFIG_PPC_MMU_NOHASH=y
25CONFIG_PPC_BOOK3E_MMU=y
25# CONFIG_PPC_MM_SLICES is not set 26# CONFIG_PPC_MM_SLICES is not set
26# CONFIG_SMP is not set 27# CONFIG_SMP is not set
27CONFIG_PPC32=y 28CONFIG_PPC32=y
@@ -59,6 +60,7 @@ CONFIG_GENERIC_BUG=y
59CONFIG_DEFAULT_UIMAGE=y 60CONFIG_DEFAULT_UIMAGE=y
60# CONFIG_PPC_DCR_NATIVE is not set 61# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 62# CONFIG_PPC_DCR_MMIO is not set
63CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 64CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
63 65
64# 66#
@@ -76,6 +78,15 @@ CONFIG_SYSVIPC_SYSCTL=y
76# CONFIG_BSD_PROCESS_ACCT is not set 78# CONFIG_BSD_PROCESS_ACCT is not set
77# CONFIG_TASKSTATS is not set 79# CONFIG_TASKSTATS is not set
78# CONFIG_AUDIT is not set 80# CONFIG_AUDIT is not set
81
82#
83# RCU Subsystem
84#
85CONFIG_CLASSIC_RCU=y
86# CONFIG_TREE_RCU is not set
87# CONFIG_PREEMPT_RCU is not set
88# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
79# CONFIG_IKCONFIG is not set 90# CONFIG_IKCONFIG is not set
80CONFIG_LOG_BUF_SHIFT=14 91CONFIG_LOG_BUF_SHIFT=14
81CONFIG_GROUP_SCHED=y 92CONFIG_GROUP_SCHED=y
@@ -90,19 +101,22 @@ CONFIG_SYSFS_DEPRECATED_V2=y
90# CONFIG_NAMESPACES is not set 101# CONFIG_NAMESPACES is not set
91CONFIG_BLK_DEV_INITRD=y 102CONFIG_BLK_DEV_INITRD=y
92CONFIG_INITRAMFS_SOURCE="" 103CONFIG_INITRAMFS_SOURCE=""
104CONFIG_RD_GZIP=y
105# CONFIG_RD_BZIP2 is not set
106# CONFIG_RD_LZMA is not set
93# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
94CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
109CONFIG_ANON_INODES=y
95CONFIG_EMBEDDED=y 110CONFIG_EMBEDDED=y
96CONFIG_SYSCTL_SYSCALL=y 111CONFIG_SYSCTL_SYSCALL=y
97# CONFIG_KALLSYMS is not set 112# CONFIG_KALLSYMS is not set
113# CONFIG_STRIP_ASM_SYMS is not set
98# CONFIG_HOTPLUG is not set 114# CONFIG_HOTPLUG is not set
99CONFIG_PRINTK=y 115CONFIG_PRINTK=y
100CONFIG_BUG=y 116CONFIG_BUG=y
101CONFIG_ELF_CORE=y 117CONFIG_ELF_CORE=y
102CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 118CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 119CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106# CONFIG_EPOLL is not set 120# CONFIG_EPOLL is not set
107CONFIG_SIGNALFD=y 121CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 122CONFIG_TIMERFD=y
@@ -112,10 +126,12 @@ CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 126CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y 127CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 128CONFIG_SLUB_DEBUG=y
129CONFIG_COMPAT_BRK=y
115# CONFIG_SLAB is not set 130# CONFIG_SLAB is not set
116CONFIG_SLUB=y 131CONFIG_SLUB=y
117# CONFIG_SLOB is not set 132# CONFIG_SLOB is not set
118# CONFIG_PROFILING is not set 133# CONFIG_PROFILING is not set
134# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y 137CONFIG_HAVE_IOREMAP_PROT=y
@@ -123,6 +139,7 @@ CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
125CONFIG_HAVE_CLK=y 141CONFIG_HAVE_CLK=y
142# CONFIG_SLOW_WORK is not set
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 143# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 144CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 145CONFIG_RT_MUTEXES=y
@@ -130,7 +147,6 @@ CONFIG_BASE_SMALL=0
130# CONFIG_MODULES is not set 147# CONFIG_MODULES is not set
131CONFIG_BLOCK=y 148CONFIG_BLOCK=y
132# CONFIG_LBD is not set 149# CONFIG_LBD is not set
133# CONFIG_BLK_DEV_IO_TRACE is not set
134# CONFIG_BLK_DEV_BSG is not set 150# CONFIG_BLK_DEV_BSG is not set
135# CONFIG_BLK_DEV_INTEGRITY is not set 151# CONFIG_BLK_DEV_INTEGRITY is not set
136 152
@@ -146,11 +162,6 @@ CONFIG_DEFAULT_AS=y
146# CONFIG_DEFAULT_CFQ is not set 162# CONFIG_DEFAULT_CFQ is not set
147# CONFIG_DEFAULT_NOOP is not set 163# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 164CONFIG_DEFAULT_IOSCHED="anticipatory"
149CONFIG_CLASSIC_RCU=y
150# CONFIG_TREE_RCU is not set
151# CONFIG_PREEMPT_RCU is not set
152# CONFIG_TREE_RCU_TRACE is not set
153# CONFIG_PREEMPT_RCU_TRACE is not set
154# CONFIG_FREEZER is not set 165# CONFIG_FREEZER is not set
155 166
156# 167#
@@ -166,6 +177,7 @@ CONFIG_MPC85xx=y
166# CONFIG_MPC85xx_MDS is not set 177# CONFIG_MPC85xx_MDS is not set
167# CONFIG_MPC8536_DS is not set 178# CONFIG_MPC8536_DS is not set
168# CONFIG_MPC85xx_DS is not set 179# CONFIG_MPC85xx_DS is not set
180# CONFIG_SOCRATES is not set
169# CONFIG_KSI8560 is not set 181# CONFIG_KSI8560 is not set
170# CONFIG_STX_GP3 is not set 182# CONFIG_STX_GP3 is not set
171# CONFIG_TQM8540 is not set 183# CONFIG_TQM8540 is not set
@@ -235,9 +247,12 @@ CONFIG_ZONE_DMA_FLAG=1
235CONFIG_BOUNCE=y 247CONFIG_BOUNCE=y
236CONFIG_VIRT_TO_BUS=y 248CONFIG_VIRT_TO_BUS=y
237CONFIG_UNEVICTABLE_LRU=y 249CONFIG_UNEVICTABLE_LRU=y
250CONFIG_HAVE_MLOCK=y
251CONFIG_HAVE_MLOCKED_PAGE_BIT=y
238CONFIG_PPC_4K_PAGES=y 252CONFIG_PPC_4K_PAGES=y
239# CONFIG_PPC_16K_PAGES is not set 253# CONFIG_PPC_16K_PAGES is not set
240# CONFIG_PPC_64K_PAGES is not set 254# CONFIG_PPC_64K_PAGES is not set
255# CONFIG_PPC_256K_PAGES is not set
241CONFIG_FORCE_MAX_ZONEORDER=11 256CONFIG_FORCE_MAX_ZONEORDER=11
242# CONFIG_PROC_DEVICETREE is not set 257# CONFIG_PROC_DEVICETREE is not set
243# CONFIG_CMDLINE_BOOL is not set 258# CONFIG_CMDLINE_BOOL is not set
@@ -262,6 +277,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
262# CONFIG_PCI_MSI is not set 277# CONFIG_PCI_MSI is not set
263# CONFIG_PCI_LEGACY is not set 278# CONFIG_PCI_LEGACY is not set
264# CONFIG_PCI_STUB is not set 279# CONFIG_PCI_STUB is not set
280# CONFIG_PCI_IOV is not set
265# CONFIG_HAS_RAPIDIO is not set 281# CONFIG_HAS_RAPIDIO is not set
266 282
267# 283#
@@ -273,17 +289,17 @@ CONFIG_ARCH_SUPPORTS_MSI=y
273# Default settings for advanced configuration options are used 289# Default settings for advanced configuration options are used
274# 290#
275CONFIG_LOWMEM_SIZE=0x30000000 291CONFIG_LOWMEM_SIZE=0x30000000
292CONFIG_LOWMEM_CAM_NUM=3
276CONFIG_PAGE_OFFSET=0xc0000000 293CONFIG_PAGE_OFFSET=0xc0000000
277CONFIG_KERNEL_START=0xc0000000 294CONFIG_KERNEL_START=0xc0000000
278CONFIG_PHYSICAL_START=0x00000000 295CONFIG_PHYSICAL_START=0x00000000
279CONFIG_PHYSICAL_ALIGN=0x10000000 296CONFIG_PHYSICAL_ALIGN=0x04000000
280CONFIG_TASK_SIZE=0xc0000000 297CONFIG_TASK_SIZE=0xc0000000
281CONFIG_NET=y 298CONFIG_NET=y
282 299
283# 300#
284# Networking options 301# Networking options
285# 302#
286CONFIG_COMPAT_NET_DEV_OPS=y
287CONFIG_PACKET=y 303CONFIG_PACKET=y
288# CONFIG_PACKET_MMAP is not set 304# CONFIG_PACKET_MMAP is not set
289CONFIG_UNIX=y 305CONFIG_UNIX=y
@@ -339,6 +355,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_LAPB is not set 355# CONFIG_LAPB is not set
340# CONFIG_ECONET is not set 356# CONFIG_ECONET is not set
341# CONFIG_WAN_ROUTER is not set 357# CONFIG_WAN_ROUTER is not set
358# CONFIG_PHONET is not set
342# CONFIG_NET_SCHED is not set 359# CONFIG_NET_SCHED is not set
343# CONFIG_DCB is not set 360# CONFIG_DCB is not set
344 361
@@ -351,7 +368,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_IRDA is not set 368# CONFIG_IRDA is not set
352# CONFIG_BT is not set 369# CONFIG_BT is not set
353# CONFIG_AF_RXRPC is not set 370# CONFIG_AF_RXRPC is not set
354# CONFIG_PHONET is not set
355CONFIG_WIRELESS=y 371CONFIG_WIRELESS=y
356# CONFIG_CFG80211 is not set 372# CONFIG_CFG80211 is not set
357CONFIG_WIRELESS_OLD_REGULATORY=y 373CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -451,7 +467,6 @@ CONFIG_MTD_CFI_UTIL=y
451# LPDDR flash memory drivers 467# LPDDR flash memory drivers
452# 468#
453# CONFIG_MTD_LPDDR is not set 469# CONFIG_MTD_LPDDR is not set
454# CONFIG_MTD_QINFO_PROBE is not set
455 470
456# 471#
457# UBI - Unsorted block images 472# UBI - Unsorted block images
@@ -481,19 +496,27 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
481# CONFIG_BLK_DEV_HD is not set 496# CONFIG_BLK_DEV_HD is not set
482CONFIG_MISC_DEVICES=y 497CONFIG_MISC_DEVICES=y
483# CONFIG_PHANTOM is not set 498# CONFIG_PHANTOM is not set
484# CONFIG_EEPROM_93CX6 is not set
485# CONFIG_SGI_IOC4 is not set 499# CONFIG_SGI_IOC4 is not set
486# CONFIG_TIFM_CORE is not set 500# CONFIG_TIFM_CORE is not set
487# CONFIG_ICS932S401 is not set 501# CONFIG_ICS932S401 is not set
488# CONFIG_ENCLOSURE_SERVICES is not set 502# CONFIG_ENCLOSURE_SERVICES is not set
489# CONFIG_HP_ILO is not set 503# CONFIG_HP_ILO is not set
504# CONFIG_ISL29003 is not set
490# CONFIG_C2PORT is not set 505# CONFIG_C2PORT is not set
506
507#
508# EEPROM support
509#
510# CONFIG_EEPROM_AT24 is not set
511# CONFIG_EEPROM_LEGACY is not set
512# CONFIG_EEPROM_93CX6 is not set
491CONFIG_HAVE_IDE=y 513CONFIG_HAVE_IDE=y
492CONFIG_IDE=y 514CONFIG_IDE=y
493 515
494# 516#
495# Please see Documentation/ide/ide.txt for help/info on IDE drives 517# Please see Documentation/ide/ide.txt for help/info on IDE drives
496# 518#
519CONFIG_IDE_XFER_MODE=y
497CONFIG_IDE_TIMINGS=y 520CONFIG_IDE_TIMINGS=y
498# CONFIG_BLK_DEV_IDE_SATA is not set 521# CONFIG_BLK_DEV_IDE_SATA is not set
499CONFIG_IDE_GD=y 522CONFIG_IDE_GD=y
@@ -568,6 +591,7 @@ CONFIG_BLK_DEV_IDEDMA=y
568# CONFIG_I2O is not set 591# CONFIG_I2O is not set
569# CONFIG_MACINTOSH_DRIVERS is not set 592# CONFIG_MACINTOSH_DRIVERS is not set
570CONFIG_NETDEVICES=y 593CONFIG_NETDEVICES=y
594CONFIG_COMPAT_NET_DEV_OPS=y
571# CONFIG_DUMMY is not set 595# CONFIG_DUMMY is not set
572# CONFIG_BONDING is not set 596# CONFIG_BONDING is not set
573# CONFIG_MACVLAN is not set 597# CONFIG_MACVLAN is not set
@@ -601,6 +625,8 @@ CONFIG_MII=y
601# CONFIG_SUNGEM is not set 625# CONFIG_SUNGEM is not set
602# CONFIG_CASSINI is not set 626# CONFIG_CASSINI is not set
603# CONFIG_NET_VENDOR_3COM is not set 627# CONFIG_NET_VENDOR_3COM is not set
628# CONFIG_ETHOC is not set
629# CONFIG_DNET is not set
604# CONFIG_NET_TULIP is not set 630# CONFIG_NET_TULIP is not set
605# CONFIG_HP100 is not set 631# CONFIG_HP100 is not set
606# CONFIG_IBM_NEW_EMAC_ZMII is not set 632# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -639,6 +665,7 @@ CONFIG_NETDEV_1000=y
639# CONFIG_E1000E is not set 665# CONFIG_E1000E is not set
640# CONFIG_IP1000 is not set 666# CONFIG_IP1000 is not set
641# CONFIG_IGB is not set 667# CONFIG_IGB is not set
668# CONFIG_IGBVF is not set
642# CONFIG_NS83820 is not set 669# CONFIG_NS83820 is not set
643# CONFIG_HAMACHI is not set 670# CONFIG_HAMACHI is not set
644# CONFIG_YELLOWFIN is not set 671# CONFIG_YELLOWFIN is not set
@@ -649,10 +676,12 @@ CONFIG_NETDEV_1000=y
649# CONFIG_VIA_VELOCITY is not set 676# CONFIG_VIA_VELOCITY is not set
650# CONFIG_TIGON3 is not set 677# CONFIG_TIGON3 is not set
651# CONFIG_BNX2 is not set 678# CONFIG_BNX2 is not set
679CONFIG_FSL_PQ_MDIO=y
652CONFIG_GIANFAR=y 680CONFIG_GIANFAR=y
653# CONFIG_QLA3XXX is not set 681# CONFIG_QLA3XXX is not set
654# CONFIG_ATL1 is not set 682# CONFIG_ATL1 is not set
655# CONFIG_ATL1E is not set 683# CONFIG_ATL1E is not set
684# CONFIG_ATL1C is not set
656# CONFIG_JME is not set 685# CONFIG_JME is not set
657CONFIG_NETDEV_10000=y 686CONFIG_NETDEV_10000=y
658# CONFIG_CHELSIO_T1 is not set 687# CONFIG_CHELSIO_T1 is not set
@@ -662,6 +691,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
662# CONFIG_IXGBE is not set 691# CONFIG_IXGBE is not set
663# CONFIG_IXGB is not set 692# CONFIG_IXGB is not set
664# CONFIG_S2IO is not set 693# CONFIG_S2IO is not set
694# CONFIG_VXGE is not set
665# CONFIG_MYRI10GE is not set 695# CONFIG_MYRI10GE is not set
666# CONFIG_NETXEN_NIC is not set 696# CONFIG_NETXEN_NIC is not set
667# CONFIG_NIU is not set 697# CONFIG_NIU is not set
@@ -671,6 +701,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
671# CONFIG_BNX2X is not set 701# CONFIG_BNX2X is not set
672# CONFIG_QLGE is not set 702# CONFIG_QLGE is not set
673# CONFIG_SFC is not set 703# CONFIG_SFC is not set
704# CONFIG_BE2NET is not set
674# CONFIG_TR is not set 705# CONFIG_TR is not set
675 706
676# 707#
@@ -678,7 +709,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
678# 709#
679# CONFIG_WLAN_PRE80211 is not set 710# CONFIG_WLAN_PRE80211 is not set
680# CONFIG_WLAN_80211 is not set 711# CONFIG_WLAN_80211 is not set
681# CONFIG_IWLWIFI_LEDS is not set
682 712
683# 713#
684# Enable WiMAX (Networking options) to see the WiMAX drivers 714# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -761,6 +791,7 @@ CONFIG_LEGACY_PTY_COUNT=256
761# CONFIG_HVC_UDBG is not set 791# CONFIG_HVC_UDBG is not set
762# CONFIG_IPMI_HANDLER is not set 792# CONFIG_IPMI_HANDLER is not set
763CONFIG_HW_RANDOM=y 793CONFIG_HW_RANDOM=y
794# CONFIG_HW_RANDOM_TIMERIOMEM is not set
764# CONFIG_NVRAM is not set 795# CONFIG_NVRAM is not set
765CONFIG_GEN_RTC=y 796CONFIG_GEN_RTC=y
766# CONFIG_GEN_RTC_X is not set 797# CONFIG_GEN_RTC_X is not set
@@ -825,12 +856,9 @@ CONFIG_I2C_MPC=y
825# Miscellaneous I2C Chip support 856# Miscellaneous I2C Chip support
826# 857#
827# CONFIG_DS1682 is not set 858# CONFIG_DS1682 is not set
828# CONFIG_EEPROM_AT24 is not set
829# CONFIG_EEPROM_LEGACY is not set
830# CONFIG_SENSORS_PCF8574 is not set 859# CONFIG_SENSORS_PCF8574 is not set
831# CONFIG_PCF8575 is not set 860# CONFIG_PCF8575 is not set
832# CONFIG_SENSORS_PCA9539 is not set 861# CONFIG_SENSORS_PCA9539 is not set
833# CONFIG_SENSORS_PCF8591 is not set
834# CONFIG_SENSORS_MAX6875 is not set 862# CONFIG_SENSORS_MAX6875 is not set
835# CONFIG_SENSORS_TSL2550 is not set 863# CONFIG_SENSORS_TSL2550 is not set
836# CONFIG_I2C_DEBUG_CORE is not set 864# CONFIG_I2C_DEBUG_CORE is not set
@@ -885,6 +913,7 @@ CONFIG_HWMON=y
885# CONFIG_SENSORS_F71805F is not set 913# CONFIG_SENSORS_F71805F is not set
886# CONFIG_SENSORS_F71882FG is not set 914# CONFIG_SENSORS_F71882FG is not set
887# CONFIG_SENSORS_F75375S is not set 915# CONFIG_SENSORS_F75375S is not set
916# CONFIG_SENSORS_G760A is not set
888# CONFIG_SENSORS_GL518SM is not set 917# CONFIG_SENSORS_GL518SM is not set
889# CONFIG_SENSORS_GL520SM is not set 918# CONFIG_SENSORS_GL520SM is not set
890# CONFIG_SENSORS_IT87 is not set 919# CONFIG_SENSORS_IT87 is not set
@@ -899,11 +928,15 @@ CONFIG_SENSORS_LM75=y
899# CONFIG_SENSORS_LM90 is not set 928# CONFIG_SENSORS_LM90 is not set
900# CONFIG_SENSORS_LM92 is not set 929# CONFIG_SENSORS_LM92 is not set
901# CONFIG_SENSORS_LM93 is not set 930# CONFIG_SENSORS_LM93 is not set
931# CONFIG_SENSORS_LTC4215 is not set
902# CONFIG_SENSORS_LTC4245 is not set 932# CONFIG_SENSORS_LTC4245 is not set
933# CONFIG_SENSORS_LM95241 is not set
903# CONFIG_SENSORS_MAX1619 is not set 934# CONFIG_SENSORS_MAX1619 is not set
904# CONFIG_SENSORS_MAX6650 is not set 935# CONFIG_SENSORS_MAX6650 is not set
905# CONFIG_SENSORS_PC87360 is not set 936# CONFIG_SENSORS_PC87360 is not set
906# CONFIG_SENSORS_PC87427 is not set 937# CONFIG_SENSORS_PC87427 is not set
938# CONFIG_SENSORS_PCF8591 is not set
939# CONFIG_SENSORS_SHT15 is not set
907# CONFIG_SENSORS_SIS5595 is not set 940# CONFIG_SENSORS_SIS5595 is not set
908# CONFIG_SENSORS_DME1737 is not set 941# CONFIG_SENSORS_DME1737 is not set
909# CONFIG_SENSORS_SMSC47M1 is not set 942# CONFIG_SENSORS_SMSC47M1 is not set
@@ -988,7 +1021,6 @@ CONFIG_HID=y
988# 1021#
989# Special HID drivers 1022# Special HID drivers
990# 1023#
991CONFIG_HID_COMPAT=y
992CONFIG_USB_SUPPORT=y 1024CONFIG_USB_SUPPORT=y
993CONFIG_USB_ARCH_HAS_HCD=y 1025CONFIG_USB_ARCH_HAS_HCD=y
994CONFIG_USB_ARCH_HAS_OHCI=y 1026CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1002,7 +1034,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1002# 1034#
1003 1035
1004# 1036#
1005# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1037# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1006# 1038#
1007# CONFIG_USB_GADGET is not set 1039# CONFIG_USB_GADGET is not set
1008 1040
@@ -1018,6 +1050,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1018# CONFIG_EDAC is not set 1050# CONFIG_EDAC is not set
1019# CONFIG_RTC_CLASS is not set 1051# CONFIG_RTC_CLASS is not set
1020# CONFIG_DMADEVICES is not set 1052# CONFIG_DMADEVICES is not set
1053# CONFIG_AUXDISPLAY is not set
1021# CONFIG_UIO is not set 1054# CONFIG_UIO is not set
1022# CONFIG_STAGING is not set 1055# CONFIG_STAGING is not set
1023 1056
@@ -1028,6 +1061,7 @@ CONFIG_EXT2_FS=y
1028# CONFIG_EXT2_FS_XATTR is not set 1061# CONFIG_EXT2_FS_XATTR is not set
1029# CONFIG_EXT2_FS_XIP is not set 1062# CONFIG_EXT2_FS_XIP is not set
1030CONFIG_EXT3_FS=y 1063CONFIG_EXT3_FS=y
1064# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1031CONFIG_EXT3_FS_XATTR=y 1065CONFIG_EXT3_FS_XATTR=y
1032# CONFIG_EXT3_FS_POSIX_ACL is not set 1066# CONFIG_EXT3_FS_POSIX_ACL is not set
1033# CONFIG_EXT3_FS_SECURITY is not set 1067# CONFIG_EXT3_FS_SECURITY is not set
@@ -1050,6 +1084,11 @@ CONFIG_INOTIFY_USER=y
1050# CONFIG_FUSE_FS is not set 1084# CONFIG_FUSE_FS is not set
1051 1085
1052# 1086#
1087# Caches
1088#
1089# CONFIG_FSCACHE is not set
1090
1091#
1053# CD-ROM/DVD Filesystems 1092# CD-ROM/DVD Filesystems
1054# 1093#
1055# CONFIG_ISO9660_FS is not set 1094# CONFIG_ISO9660_FS is not set
@@ -1103,6 +1142,7 @@ CONFIG_CRAMFS=y
1103# CONFIG_ROMFS_FS is not set 1142# CONFIG_ROMFS_FS is not set
1104# CONFIG_SYSV_FS is not set 1143# CONFIG_SYSV_FS is not set
1105# CONFIG_UFS_FS is not set 1144# CONFIG_UFS_FS is not set
1145# CONFIG_NILFS2_FS is not set
1106CONFIG_NETWORK_FILESYSTEMS=y 1146CONFIG_NETWORK_FILESYSTEMS=y
1107CONFIG_NFS_FS=y 1147CONFIG_NFS_FS=y
1108# CONFIG_NFS_V3 is not set 1148# CONFIG_NFS_V3 is not set
@@ -1112,7 +1152,6 @@ CONFIG_ROOT_NFS=y
1112CONFIG_LOCKD=y 1152CONFIG_LOCKD=y
1113CONFIG_NFS_COMMON=y 1153CONFIG_NFS_COMMON=y
1114CONFIG_SUNRPC=y 1154CONFIG_SUNRPC=y
1115# CONFIG_SUNRPC_REGISTER_V4 is not set
1116# CONFIG_RPCSEC_GSS_KRB5 is not set 1155# CONFIG_RPCSEC_GSS_KRB5 is not set
1117# CONFIG_RPCSEC_GSS_SPKM3 is not set 1156# CONFIG_RPCSEC_GSS_SPKM3 is not set
1118# CONFIG_SMB_FS is not set 1157# CONFIG_SMB_FS is not set
@@ -1140,6 +1179,7 @@ CONFIG_PARTITION_ADVANCED=y
1140# CONFIG_SYSV68_PARTITION is not set 1179# CONFIG_SYSV68_PARTITION is not set
1141# CONFIG_NLS is not set 1180# CONFIG_NLS is not set
1142# CONFIG_DLM is not set 1181# CONFIG_DLM is not set
1182# CONFIG_BINARY_PRINTF is not set
1143 1183
1144# 1184#
1145# Library routines 1185# Library routines
@@ -1155,11 +1195,12 @@ CONFIG_CRC32=y
1155# CONFIG_LIBCRC32C is not set 1195# CONFIG_LIBCRC32C is not set
1156CONFIG_ZLIB_INFLATE=y 1196CONFIG_ZLIB_INFLATE=y
1157CONFIG_ZLIB_DEFLATE=y 1197CONFIG_ZLIB_DEFLATE=y
1158CONFIG_PLIST=y 1198CONFIG_DECOMPRESS_GZIP=y
1159CONFIG_HAS_IOMEM=y 1199CONFIG_HAS_IOMEM=y
1160CONFIG_HAS_IOPORT=y 1200CONFIG_HAS_IOPORT=y
1161CONFIG_HAS_DMA=y 1201CONFIG_HAS_DMA=y
1162CONFIG_HAVE_LMB=y 1202CONFIG_HAVE_LMB=y
1203CONFIG_NLATTR=y
1163 1204
1164# 1205#
1165# Kernel hacking 1206# Kernel hacking
@@ -1181,13 +1222,24 @@ CONFIG_FRAME_WARN=1024
1181# CONFIG_LATENCYTOP is not set 1222# CONFIG_LATENCYTOP is not set
1182CONFIG_SYSCTL_SYSCALL_CHECK=y 1223CONFIG_SYSCTL_SYSCALL_CHECK=y
1183CONFIG_HAVE_FUNCTION_TRACER=y 1224CONFIG_HAVE_FUNCTION_TRACER=y
1225CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1184CONFIG_HAVE_DYNAMIC_FTRACE=y 1226CONFIG_HAVE_DYNAMIC_FTRACE=y
1185CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1227CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1228CONFIG_TRACING_SUPPORT=y
1186 1229
1187# 1230#
1188# Tracers 1231# Tracers
1189# 1232#
1190# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1233# CONFIG_FUNCTION_TRACER is not set
1234# CONFIG_SCHED_TRACER is not set
1235# CONFIG_CONTEXT_SWITCH_TRACER is not set
1236# CONFIG_EVENT_TRACER is not set
1237# CONFIG_BOOT_TRACER is not set
1238# CONFIG_TRACE_BRANCH_PROFILING is not set
1239# CONFIG_STACK_TRACER is not set
1240# CONFIG_KMEMTRACE is not set
1241# CONFIG_WORKQUEUE_TRACER is not set
1242# CONFIG_BLK_DEV_IO_TRACE is not set
1191# CONFIG_SAMPLES is not set 1243# CONFIG_SAMPLES is not set
1192CONFIG_HAVE_ARCH_KGDB=y 1244CONFIG_HAVE_ARCH_KGDB=y
1193CONFIG_PRINT_STACK_DEPTH=64 1245CONFIG_PRINT_STACK_DEPTH=64
@@ -1278,6 +1330,7 @@ CONFIG_CRYPTO=y
1278# Compression 1330# Compression
1279# 1331#
1280# CONFIG_CRYPTO_DEFLATE is not set 1332# CONFIG_CRYPTO_DEFLATE is not set
1333# CONFIG_CRYPTO_ZLIB is not set
1281# CONFIG_CRYPTO_LZO is not set 1334# CONFIG_CRYPTO_LZO is not set
1282 1335
1283# 1336#
diff --git a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
index df2c16337794..b6a23af57f46 100644
--- a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
+++ b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.29-rc7 3# Linux kernel version: 2.6.30-rc3
4# Fri Mar 13 15:36:11 2009 4# Wed May 13 17:22:31 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_PHYS_64BIT is not set 19# CONFIG_PHYS_64BIT is not set
19CONFIG_ALTIVEC=y 20CONFIG_ALTIVEC=y
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y
58CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -72,6 +74,7 @@ CONFIG_SWAP=y
72CONFIG_SYSVIPC=y 74CONFIG_SYSVIPC=y
73CONFIG_SYSVIPC_SYSCTL=y 75CONFIG_SYSVIPC_SYSCTL=y
74CONFIG_POSIX_MQUEUE=y 76CONFIG_POSIX_MQUEUE=y
77CONFIG_POSIX_MQUEUE_SYSCTL=y
75CONFIG_BSD_PROCESS_ACCT=y 78CONFIG_BSD_PROCESS_ACCT=y
76CONFIG_BSD_PROCESS_ACCT_V3=y 79CONFIG_BSD_PROCESS_ACCT_V3=y
77# CONFIG_TASKSTATS is not set 80# CONFIG_TASKSTATS is not set
@@ -100,21 +103,24 @@ CONFIG_RELAY=y
100# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
101CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
102CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107# CONFIG_RD_BZIP2 is not set
108# CONFIG_RD_LZMA is not set
103# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
104CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
105CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
106CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
107CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
108# CONFIG_KALLSYMS_ALL is not set 115# CONFIG_KALLSYMS_ALL is not set
109# CONFIG_KALLSYMS_EXTRA_PASS is not set 116# CONFIG_KALLSYMS_EXTRA_PASS is not set
117# CONFIG_STRIP_ASM_SYMS is not set
110CONFIG_HOTPLUG=y 118CONFIG_HOTPLUG=y
111CONFIG_PRINTK=y 119CONFIG_PRINTK=y
112CONFIG_BUG=y 120CONFIG_BUG=y
113CONFIG_ELF_CORE=y 121CONFIG_ELF_CORE=y
114CONFIG_COMPAT_BRK=y
115CONFIG_BASE_FULL=y 122CONFIG_BASE_FULL=y
116CONFIG_FUTEX=y 123CONFIG_FUTEX=y
117CONFIG_ANON_INODES=y
118CONFIG_EPOLL=y 124CONFIG_EPOLL=y
119CONFIG_SIGNALFD=y 125CONFIG_SIGNALFD=y
120CONFIG_TIMERFD=y 126CONFIG_TIMERFD=y
@@ -123,10 +129,12 @@ CONFIG_SHMEM=y
123CONFIG_AIO=y 129CONFIG_AIO=y
124CONFIG_VM_EVENT_COUNTERS=y 130CONFIG_VM_EVENT_COUNTERS=y
125CONFIG_PCI_QUIRKS=y 131CONFIG_PCI_QUIRKS=y
132CONFIG_COMPAT_BRK=y
126CONFIG_SLAB=y 133CONFIG_SLAB=y
127# CONFIG_SLUB is not set 134# CONFIG_SLUB is not set
128# CONFIG_SLOB is not set 135# CONFIG_SLOB is not set
129# CONFIG_PROFILING is not set 136# CONFIG_PROFILING is not set
137# CONFIG_MARKERS is not set
130CONFIG_HAVE_OPROFILE=y 138CONFIG_HAVE_OPROFILE=y
131# CONFIG_KPROBES is not set 139# CONFIG_KPROBES is not set
132CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 140CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -135,6 +143,7 @@ CONFIG_HAVE_KPROBES=y
135CONFIG_HAVE_KRETPROBES=y 143CONFIG_HAVE_KRETPROBES=y
136CONFIG_HAVE_ARCH_TRACEHOOK=y 144CONFIG_HAVE_ARCH_TRACEHOOK=y
137CONFIG_USE_GENERIC_SMP_HELPERS=y 145CONFIG_USE_GENERIC_SMP_HELPERS=y
146# CONFIG_SLOW_WORK is not set
138# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 147# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
139CONFIG_SLABINFO=y 148CONFIG_SLABINFO=y
140CONFIG_RT_MUTEXES=y 149CONFIG_RT_MUTEXES=y
@@ -148,7 +157,6 @@ CONFIG_MODULE_UNLOAD=y
148CONFIG_STOP_MACHINE=y 157CONFIG_STOP_MACHINE=y
149CONFIG_BLOCK=y 158CONFIG_BLOCK=y
150# CONFIG_LBD is not set 159# CONFIG_LBD is not set
151# CONFIG_BLK_DEV_IO_TRACE is not set
152# CONFIG_BLK_DEV_BSG is not set 160# CONFIG_BLK_DEV_BSG is not set
153# CONFIG_BLK_DEV_INTEGRITY is not set 161# CONFIG_BLK_DEV_INTEGRITY is not set
154 162
@@ -169,8 +177,6 @@ CONFIG_DEFAULT_IOSCHED="cfq"
169# 177#
170# Platform support 178# Platform support
171# 179#
172CONFIG_PPC_MULTIPLATFORM=y
173CONFIG_CLASSIC32=y
174# CONFIG_PPC_CHRP is not set 180# CONFIG_PPC_CHRP is not set
175# CONFIG_MPC5121_ADS is not set 181# CONFIG_MPC5121_ADS is not set
176# CONFIG_MPC5121_GENERIC is not set 182# CONFIG_MPC5121_GENERIC is not set
@@ -189,6 +195,7 @@ CONFIG_GEF_PPC9A=y
189# CONFIG_GEF_SBC310 is not set 195# CONFIG_GEF_SBC310 is not set
190# CONFIG_GEF_SBC610 is not set 196# CONFIG_GEF_SBC610 is not set
191CONFIG_MPC8641=y 197CONFIG_MPC8641=y
198CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
192# CONFIG_IPIC is not set 199# CONFIG_IPIC is not set
193CONFIG_MPIC=y 200CONFIG_MPIC=y
194# CONFIG_MPIC_WEIRD is not set 201# CONFIG_MPIC_WEIRD is not set
@@ -250,9 +257,12 @@ CONFIG_ZONE_DMA_FLAG=1
250CONFIG_BOUNCE=y 257CONFIG_BOUNCE=y
251CONFIG_VIRT_TO_BUS=y 258CONFIG_VIRT_TO_BUS=y
252CONFIG_UNEVICTABLE_LRU=y 259CONFIG_UNEVICTABLE_LRU=y
260CONFIG_HAVE_MLOCK=y
261CONFIG_HAVE_MLOCKED_PAGE_BIT=y
253CONFIG_PPC_4K_PAGES=y 262CONFIG_PPC_4K_PAGES=y
254# CONFIG_PPC_16K_PAGES is not set 263# CONFIG_PPC_16K_PAGES is not set
255# CONFIG_PPC_64K_PAGES is not set 264# CONFIG_PPC_64K_PAGES is not set
265# CONFIG_PPC_256K_PAGES is not set
256CONFIG_FORCE_MAX_ZONEORDER=11 266CONFIG_FORCE_MAX_ZONEORDER=11
257# CONFIG_PROC_DEVICETREE is not set 267# CONFIG_PROC_DEVICETREE is not set
258# CONFIG_CMDLINE_BOOL is not set 268# CONFIG_CMDLINE_BOOL is not set
@@ -281,6 +291,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
281# CONFIG_PCI_LEGACY is not set 291# CONFIG_PCI_LEGACY is not set
282CONFIG_PCI_DEBUG=y 292CONFIG_PCI_DEBUG=y
283# CONFIG_PCI_STUB is not set 293# CONFIG_PCI_STUB is not set
294# CONFIG_PCI_IOV is not set
284# CONFIG_PCCARD is not set 295# CONFIG_PCCARD is not set
285# CONFIG_HOTPLUG_PCI is not set 296# CONFIG_HOTPLUG_PCI is not set
286# CONFIG_HAS_RAPIDIO is not set 297# CONFIG_HAS_RAPIDIO is not set
@@ -303,7 +314,6 @@ CONFIG_NET=y
303# 314#
304# Networking options 315# Networking options
305# 316#
306CONFIG_COMPAT_NET_DEV_OPS=y
307CONFIG_PACKET=y 317CONFIG_PACKET=y
308CONFIG_PACKET_MMAP=y 318CONFIG_PACKET_MMAP=y
309CONFIG_UNIX=y 319CONFIG_UNIX=y
@@ -383,9 +393,11 @@ CONFIG_BRIDGE_NETFILTER=y
383# CONFIG_NETFILTER_NETLINK_QUEUE is not set 393# CONFIG_NETFILTER_NETLINK_QUEUE is not set
384# CONFIG_NETFILTER_NETLINK_LOG is not set 394# CONFIG_NETFILTER_NETLINK_LOG is not set
385# CONFIG_NF_CONNTRACK is not set 395# CONFIG_NF_CONNTRACK is not set
396# CONFIG_NETFILTER_TPROXY is not set
386CONFIG_NETFILTER_XTABLES=m 397CONFIG_NETFILTER_XTABLES=m
387# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 398# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
388# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 399# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
400# CONFIG_NETFILTER_XT_TARGET_HL is not set
389# CONFIG_NETFILTER_XT_TARGET_MARK is not set 401# CONFIG_NETFILTER_XT_TARGET_MARK is not set
390# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 402# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
391# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 403# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
@@ -398,6 +410,7 @@ CONFIG_NETFILTER_XTABLES=m
398# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 410# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
399# CONFIG_NETFILTER_XT_MATCH_ESP is not set 411# CONFIG_NETFILTER_XT_MATCH_ESP is not set
400# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 412# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
413CONFIG_NETFILTER_XT_MATCH_HL=m
401# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 414# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
402# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 415# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
403# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 416# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
@@ -456,11 +469,11 @@ CONFIG_IP6_NF_MATCH_HL=m
456CONFIG_IP6_NF_MATCH_IPV6HEADER=m 469CONFIG_IP6_NF_MATCH_IPV6HEADER=m
457# CONFIG_IP6_NF_MATCH_MH is not set 470# CONFIG_IP6_NF_MATCH_MH is not set
458CONFIG_IP6_NF_MATCH_RT=m 471CONFIG_IP6_NF_MATCH_RT=m
472# CONFIG_IP6_NF_TARGET_HL is not set
459CONFIG_IP6_NF_TARGET_LOG=m 473CONFIG_IP6_NF_TARGET_LOG=m
460CONFIG_IP6_NF_FILTER=m 474CONFIG_IP6_NF_FILTER=m
461# CONFIG_IP6_NF_TARGET_REJECT is not set 475# CONFIG_IP6_NF_TARGET_REJECT is not set
462CONFIG_IP6_NF_MANGLE=m 476CONFIG_IP6_NF_MANGLE=m
463# CONFIG_IP6_NF_TARGET_HL is not set
464CONFIG_IP6_NF_RAW=m 477CONFIG_IP6_NF_RAW=m
465# CONFIG_IP6_NF_SECURITY is not set 478# CONFIG_IP6_NF_SECURITY is not set
466# CONFIG_BRIDGE_NF_EBTABLES is not set 479# CONFIG_BRIDGE_NF_EBTABLES is not set
@@ -495,6 +508,7 @@ CONFIG_LLC=m
495# CONFIG_LAPB is not set 508# CONFIG_LAPB is not set
496# CONFIG_ECONET is not set 509# CONFIG_ECONET is not set
497CONFIG_WAN_ROUTER=m 510CONFIG_WAN_ROUTER=m
511# CONFIG_PHONET is not set
498CONFIG_NET_SCHED=y 512CONFIG_NET_SCHED=y
499 513
500# 514#
@@ -545,7 +559,6 @@ CONFIG_NET_PKTGEN=m
545# CONFIG_IRDA is not set 559# CONFIG_IRDA is not set
546# CONFIG_BT is not set 560# CONFIG_BT is not set
547# CONFIG_AF_RXRPC is not set 561# CONFIG_AF_RXRPC is not set
548# CONFIG_PHONET is not set
549CONFIG_FIB_RULES=y 562CONFIG_FIB_RULES=y
550CONFIG_WIRELESS=y 563CONFIG_WIRELESS=y
551# CONFIG_CFG80211 is not set 564# CONFIG_CFG80211 is not set
@@ -686,6 +699,7 @@ CONFIG_MISC_DEVICES=y
686# CONFIG_ICS932S401 is not set 699# CONFIG_ICS932S401 is not set
687# CONFIG_ENCLOSURE_SERVICES is not set 700# CONFIG_ENCLOSURE_SERVICES is not set
688# CONFIG_HP_ILO is not set 701# CONFIG_HP_ILO is not set
702# CONFIG_ISL29003 is not set
689# CONFIG_C2PORT is not set 703# CONFIG_C2PORT is not set
690 704
691# 705#
@@ -751,9 +765,11 @@ CONFIG_SCSI_LOWLEVEL=y
751# CONFIG_MEGARAID_NEWGEN is not set 765# CONFIG_MEGARAID_NEWGEN is not set
752# CONFIG_MEGARAID_LEGACY is not set 766# CONFIG_MEGARAID_LEGACY is not set
753# CONFIG_MEGARAID_SAS is not set 767# CONFIG_MEGARAID_SAS is not set
768# CONFIG_SCSI_MPT2SAS is not set
754# CONFIG_SCSI_HPTIOP is not set 769# CONFIG_SCSI_HPTIOP is not set
755# CONFIG_SCSI_BUSLOGIC is not set 770# CONFIG_SCSI_BUSLOGIC is not set
756# CONFIG_LIBFC is not set 771# CONFIG_LIBFC is not set
772# CONFIG_LIBFCOE is not set
757# CONFIG_FCOE is not set 773# CONFIG_FCOE is not set
758# CONFIG_SCSI_DMX3191D is not set 774# CONFIG_SCSI_DMX3191D is not set
759# CONFIG_SCSI_EATA is not set 775# CONFIG_SCSI_EATA is not set
@@ -776,6 +792,7 @@ CONFIG_SCSI_LOWLEVEL=y
776# CONFIG_SCSI_DEBUG is not set 792# CONFIG_SCSI_DEBUG is not set
777# CONFIG_SCSI_SRP is not set 793# CONFIG_SCSI_SRP is not set
778# CONFIG_SCSI_DH is not set 794# CONFIG_SCSI_DH is not set
795# CONFIG_SCSI_OSD_INITIATOR is not set
779CONFIG_ATA=y 796CONFIG_ATA=y
780# CONFIG_ATA_NONSTANDARD is not set 797# CONFIG_ATA_NONSTANDARD is not set
781CONFIG_SATA_PMP=y 798CONFIG_SATA_PMP=y
@@ -852,6 +869,7 @@ CONFIG_SATA_SIL=y
852# CONFIG_I2O is not set 869# CONFIG_I2O is not set
853# CONFIG_MACINTOSH_DRIVERS is not set 870# CONFIG_MACINTOSH_DRIVERS is not set
854CONFIG_NETDEVICES=y 871CONFIG_NETDEVICES=y
872CONFIG_COMPAT_NET_DEV_OPS=y
855CONFIG_DUMMY=m 873CONFIG_DUMMY=m
856CONFIG_BONDING=m 874CONFIG_BONDING=m
857# CONFIG_MACVLAN is not set 875# CONFIG_MACVLAN is not set
@@ -885,6 +903,8 @@ CONFIG_MII=y
885# CONFIG_SUNGEM is not set 903# CONFIG_SUNGEM is not set
886# CONFIG_CASSINI is not set 904# CONFIG_CASSINI is not set
887# CONFIG_NET_VENDOR_3COM is not set 905# CONFIG_NET_VENDOR_3COM is not set
906# CONFIG_ETHOC is not set
907# CONFIG_DNET is not set
888# CONFIG_NET_TULIP is not set 908# CONFIG_NET_TULIP is not set
889# CONFIG_HP100 is not set 909# CONFIG_HP100 is not set
890# CONFIG_IBM_NEW_EMAC_ZMII is not set 910# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -904,6 +924,7 @@ CONFIG_NETDEV_1000=y
904# CONFIG_E1000E is not set 924# CONFIG_E1000E is not set
905# CONFIG_IP1000 is not set 925# CONFIG_IP1000 is not set
906# CONFIG_IGB is not set 926# CONFIG_IGB is not set
927# CONFIG_IGBVF is not set
907# CONFIG_NS83820 is not set 928# CONFIG_NS83820 is not set
908# CONFIG_HAMACHI is not set 929# CONFIG_HAMACHI is not set
909# CONFIG_YELLOWFIN is not set 930# CONFIG_YELLOWFIN is not set
@@ -914,8 +935,8 @@ CONFIG_NETDEV_1000=y
914# CONFIG_VIA_VELOCITY is not set 935# CONFIG_VIA_VELOCITY is not set
915# CONFIG_TIGON3 is not set 936# CONFIG_TIGON3 is not set
916# CONFIG_BNX2 is not set 937# CONFIG_BNX2 is not set
938CONFIG_FSL_PQ_MDIO=y
917CONFIG_GIANFAR=y 939CONFIG_GIANFAR=y
918# CONFIG_MV643XX_ETH is not set
919# CONFIG_QLA3XXX is not set 940# CONFIG_QLA3XXX is not set
920# CONFIG_ATL1 is not set 941# CONFIG_ATL1 is not set
921# CONFIG_ATL1E is not set 942# CONFIG_ATL1E is not set
@@ -929,7 +950,6 @@ CONFIG_GIANFAR=y
929# 950#
930# CONFIG_WLAN_PRE80211 is not set 951# CONFIG_WLAN_PRE80211 is not set
931# CONFIG_WLAN_80211 is not set 952# CONFIG_WLAN_80211 is not set
932# CONFIG_IWLWIFI_LEDS is not set
933 953
934# 954#
935# Enable WiMAX (Networking options) to see the WiMAX drivers 955# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -1056,6 +1076,7 @@ CONFIG_UNIX98_PTYS=y
1056# CONFIG_HVC_UDBG is not set 1076# CONFIG_HVC_UDBG is not set
1057# CONFIG_IPMI_HANDLER is not set 1077# CONFIG_IPMI_HANDLER is not set
1058CONFIG_HW_RANDOM=y 1078CONFIG_HW_RANDOM=y
1079# CONFIG_HW_RANDOM_TIMERIOMEM is not set
1059CONFIG_NVRAM=y 1080CONFIG_NVRAM=y
1060# CONFIG_R3964 is not set 1081# CONFIG_R3964 is not set
1061# CONFIG_APPLICOM is not set 1082# CONFIG_APPLICOM is not set
@@ -1122,7 +1143,6 @@ CONFIG_DS1682=y
1122# CONFIG_SENSORS_PCF8574 is not set 1143# CONFIG_SENSORS_PCF8574 is not set
1123# CONFIG_PCF8575 is not set 1144# CONFIG_PCF8575 is not set
1124# CONFIG_SENSORS_PCA9539 is not set 1145# CONFIG_SENSORS_PCA9539 is not set
1125# CONFIG_SENSORS_PCF8591 is not set
1126# CONFIG_SENSORS_MAX6875 is not set 1146# CONFIG_SENSORS_MAX6875 is not set
1127# CONFIG_SENSORS_TSL2550 is not set 1147# CONFIG_SENSORS_TSL2550 is not set
1128# CONFIG_I2C_DEBUG_CORE is not set 1148# CONFIG_I2C_DEBUG_CORE is not set
@@ -1178,6 +1198,7 @@ CONFIG_HWMON=y
1178# CONFIG_SENSORS_F71805F is not set 1198# CONFIG_SENSORS_F71805F is not set
1179# CONFIG_SENSORS_F71882FG is not set 1199# CONFIG_SENSORS_F71882FG is not set
1180# CONFIG_SENSORS_F75375S is not set 1200# CONFIG_SENSORS_F75375S is not set
1201# CONFIG_SENSORS_G760A is not set
1181# CONFIG_SENSORS_GL518SM is not set 1202# CONFIG_SENSORS_GL518SM is not set
1182# CONFIG_SENSORS_GL520SM is not set 1203# CONFIG_SENSORS_GL520SM is not set
1183# CONFIG_SENSORS_IT87 is not set 1204# CONFIG_SENSORS_IT87 is not set
@@ -1192,11 +1213,15 @@ CONFIG_HWMON=y
1192CONFIG_SENSORS_LM90=y 1213CONFIG_SENSORS_LM90=y
1193CONFIG_SENSORS_LM92=y 1214CONFIG_SENSORS_LM92=y
1194# CONFIG_SENSORS_LM93 is not set 1215# CONFIG_SENSORS_LM93 is not set
1216# CONFIG_SENSORS_LTC4215 is not set
1195# CONFIG_SENSORS_LTC4245 is not set 1217# CONFIG_SENSORS_LTC4245 is not set
1218# CONFIG_SENSORS_LM95241 is not set
1196# CONFIG_SENSORS_MAX1619 is not set 1219# CONFIG_SENSORS_MAX1619 is not set
1197# CONFIG_SENSORS_MAX6650 is not set 1220# CONFIG_SENSORS_MAX6650 is not set
1198# CONFIG_SENSORS_PC87360 is not set 1221# CONFIG_SENSORS_PC87360 is not set
1199# CONFIG_SENSORS_PC87427 is not set 1222# CONFIG_SENSORS_PC87427 is not set
1223# CONFIG_SENSORS_PCF8591 is not set
1224# CONFIG_SENSORS_SHT15 is not set
1200# CONFIG_SENSORS_SIS5595 is not set 1225# CONFIG_SENSORS_SIS5595 is not set
1201# CONFIG_SENSORS_DME1737 is not set 1226# CONFIG_SENSORS_DME1737 is not set
1202# CONFIG_SENSORS_SMSC47M1 is not set 1227# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1315,15 +1340,17 @@ CONFIG_USB_HID=y
1315# 1340#
1316# Special HID drivers 1341# Special HID drivers
1317# 1342#
1318CONFIG_HID_COMPAT=y
1319CONFIG_HID_A4TECH=y 1343CONFIG_HID_A4TECH=y
1320CONFIG_HID_APPLE=y 1344CONFIG_HID_APPLE=y
1321CONFIG_HID_BELKIN=y 1345CONFIG_HID_BELKIN=y
1322CONFIG_HID_CHERRY=y 1346CONFIG_HID_CHERRY=y
1323CONFIG_HID_CHICONY=y 1347CONFIG_HID_CHICONY=y
1324CONFIG_HID_CYPRESS=y 1348CONFIG_HID_CYPRESS=y
1349# CONFIG_DRAGONRISE_FF is not set
1325CONFIG_HID_EZKEY=y 1350CONFIG_HID_EZKEY=y
1351# CONFIG_HID_KYE is not set
1326CONFIG_HID_GYRATION=y 1352CONFIG_HID_GYRATION=y
1353# CONFIG_HID_KENSINGTON is not set
1327CONFIG_HID_LOGITECH=y 1354CONFIG_HID_LOGITECH=y
1328# CONFIG_LOGITECH_FF is not set 1355# CONFIG_LOGITECH_FF is not set
1329# CONFIG_LOGIRUMBLEPAD2_FF is not set 1356# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1393,11 +1420,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1393# CONFIG_USB_TMC is not set 1420# CONFIG_USB_TMC is not set
1394 1421
1395# 1422#
1396# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1423# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1397# 1424#
1398 1425
1399# 1426#
1400# see USB_STORAGE Help for more information 1427# also be needed; see USB_STORAGE Help for more info
1401# 1428#
1402CONFIG_USB_STORAGE=y 1429CONFIG_USB_STORAGE=y
1403# CONFIG_USB_STORAGE_DEBUG is not set 1430# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1439,7 +1466,6 @@ CONFIG_USB_STORAGE=y
1439# CONFIG_USB_LED is not set 1466# CONFIG_USB_LED is not set
1440# CONFIG_USB_CYPRESS_CY7C63 is not set 1467# CONFIG_USB_CYPRESS_CY7C63 is not set
1441# CONFIG_USB_CYTHERM is not set 1468# CONFIG_USB_CYTHERM is not set
1442# CONFIG_USB_PHIDGET is not set
1443# CONFIG_USB_IDMOUSE is not set 1469# CONFIG_USB_IDMOUSE is not set
1444# CONFIG_USB_FTDI_ELAN is not set 1470# CONFIG_USB_FTDI_ELAN is not set
1445# CONFIG_USB_APPLEDISPLAY is not set 1471# CONFIG_USB_APPLEDISPLAY is not set
@@ -1456,6 +1482,7 @@ CONFIG_USB_STORAGE=y
1456# OTG and related infrastructure 1482# OTG and related infrastructure
1457# 1483#
1458# CONFIG_USB_GPIO_VBUS is not set 1484# CONFIG_USB_GPIO_VBUS is not set
1485# CONFIG_NOP_USB_XCEIV is not set
1459# CONFIG_UWB is not set 1486# CONFIG_UWB is not set
1460# CONFIG_MMC is not set 1487# CONFIG_MMC is not set
1461# CONFIG_MEMSTICK is not set 1488# CONFIG_MEMSTICK is not set
@@ -1517,8 +1544,9 @@ CONFIG_RTC_DRV_RX8581=y
1517# 1544#
1518# on-CPU RTC drivers 1545# on-CPU RTC drivers
1519# 1546#
1520# CONFIG_RTC_DRV_PPC is not set 1547# CONFIG_RTC_DRV_GENERIC is not set
1521# CONFIG_DMADEVICES is not set 1548# CONFIG_DMADEVICES is not set
1549# CONFIG_AUXDISPLAY is not set
1522# CONFIG_UIO is not set 1550# CONFIG_UIO is not set
1523# CONFIG_STAGING is not set 1551# CONFIG_STAGING is not set
1524 1552
@@ -1531,6 +1559,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y
1531# CONFIG_EXT2_FS_SECURITY is not set 1559# CONFIG_EXT2_FS_SECURITY is not set
1532# CONFIG_EXT2_FS_XIP is not set 1560# CONFIG_EXT2_FS_XIP is not set
1533CONFIG_EXT3_FS=y 1561CONFIG_EXT3_FS=y
1562# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1534CONFIG_EXT3_FS_XATTR=y 1563CONFIG_EXT3_FS_XATTR=y
1535CONFIG_EXT3_FS_POSIX_ACL=y 1564CONFIG_EXT3_FS_POSIX_ACL=y
1536# CONFIG_EXT3_FS_SECURITY is not set 1565# CONFIG_EXT3_FS_SECURITY is not set
@@ -1553,6 +1582,11 @@ CONFIG_INOTIFY_USER=y
1553# CONFIG_FUSE_FS is not set 1582# CONFIG_FUSE_FS is not set
1554 1583
1555# 1584#
1585# Caches
1586#
1587# CONFIG_FSCACHE is not set
1588
1589#
1556# CD-ROM/DVD Filesystems 1590# CD-ROM/DVD Filesystems
1557# 1591#
1558# CONFIG_ISO9660_FS is not set 1592# CONFIG_ISO9660_FS is not set
@@ -1609,6 +1643,7 @@ CONFIG_JFFS2_RTIME=y
1609# CONFIG_ROMFS_FS is not set 1643# CONFIG_ROMFS_FS is not set
1610# CONFIG_SYSV_FS is not set 1644# CONFIG_SYSV_FS is not set
1611# CONFIG_UFS_FS is not set 1645# CONFIG_UFS_FS is not set
1646# CONFIG_NILFS2_FS is not set
1612CONFIG_NETWORK_FILESYSTEMS=y 1647CONFIG_NETWORK_FILESYSTEMS=y
1613CONFIG_NFS_FS=y 1648CONFIG_NFS_FS=y
1614CONFIG_NFS_V3=y 1649CONFIG_NFS_V3=y
@@ -1621,7 +1656,6 @@ CONFIG_LOCKD_V4=y
1621CONFIG_NFS_COMMON=y 1656CONFIG_NFS_COMMON=y
1622CONFIG_SUNRPC=y 1657CONFIG_SUNRPC=y
1623CONFIG_SUNRPC_GSS=y 1658CONFIG_SUNRPC_GSS=y
1624# CONFIG_SUNRPC_REGISTER_V4 is not set
1625CONFIG_RPCSEC_GSS_KRB5=y 1659CONFIG_RPCSEC_GSS_KRB5=y
1626# CONFIG_RPCSEC_GSS_SPKM3 is not set 1660# CONFIG_RPCSEC_GSS_SPKM3 is not set
1627# CONFIG_SMB_FS is not set 1661# CONFIG_SMB_FS is not set
@@ -1682,6 +1716,7 @@ CONFIG_NLS_KOI8_R=m
1682CONFIG_NLS_KOI8_U=m 1716CONFIG_NLS_KOI8_U=m
1683CONFIG_NLS_UTF8=m 1717CONFIG_NLS_UTF8=m
1684# CONFIG_DLM is not set 1718# CONFIG_DLM is not set
1719# CONFIG_BINARY_PRINTF is not set
1685 1720
1686# 1721#
1687# Library routines 1722# Library routines
@@ -1697,11 +1732,12 @@ CONFIG_CRC32=y
1697CONFIG_LIBCRC32C=m 1732CONFIG_LIBCRC32C=m
1698CONFIG_ZLIB_INFLATE=y 1733CONFIG_ZLIB_INFLATE=y
1699CONFIG_ZLIB_DEFLATE=y 1734CONFIG_ZLIB_DEFLATE=y
1700CONFIG_PLIST=y 1735CONFIG_DECOMPRESS_GZIP=y
1701CONFIG_HAS_IOMEM=y 1736CONFIG_HAS_IOMEM=y
1702CONFIG_HAS_IOPORT=y 1737CONFIG_HAS_IOPORT=y
1703CONFIG_HAS_DMA=y 1738CONFIG_HAS_DMA=y
1704CONFIG_HAVE_LMB=y 1739CONFIG_HAVE_LMB=y
1740CONFIG_NLATTR=y
1705 1741
1706# 1742#
1707# Kernel hacking 1743# Kernel hacking
@@ -1719,6 +1755,9 @@ CONFIG_DEBUG_KERNEL=y
1719CONFIG_DETECT_SOFTLOCKUP=y 1755CONFIG_DETECT_SOFTLOCKUP=y
1720# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1756# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1721CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1757CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1758CONFIG_DETECT_HUNG_TASK=y
1759# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1760CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1722CONFIG_SCHED_DEBUG=y 1761CONFIG_SCHED_DEBUG=y
1723# CONFIG_SCHEDSTATS is not set 1762# CONFIG_SCHEDSTATS is not set
1724# CONFIG_TIMER_STATS is not set 1763# CONFIG_TIMER_STATS is not set
@@ -1747,9 +1786,12 @@ CONFIG_DEBUG_INFO=y
1747# CONFIG_FAULT_INJECTION is not set 1786# CONFIG_FAULT_INJECTION is not set
1748# CONFIG_LATENCYTOP is not set 1787# CONFIG_LATENCYTOP is not set
1749CONFIG_SYSCTL_SYSCALL_CHECK=y 1788CONFIG_SYSCTL_SYSCALL_CHECK=y
1789# CONFIG_DEBUG_PAGEALLOC is not set
1750CONFIG_HAVE_FUNCTION_TRACER=y 1790CONFIG_HAVE_FUNCTION_TRACER=y
1791CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1751CONFIG_HAVE_DYNAMIC_FTRACE=y 1792CONFIG_HAVE_DYNAMIC_FTRACE=y
1752CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1793CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1794CONFIG_TRACING_SUPPORT=y
1753 1795
1754# 1796#
1755# Tracers 1797# Tracers
@@ -1758,17 +1800,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1758# CONFIG_PREEMPT_TRACER is not set 1800# CONFIG_PREEMPT_TRACER is not set
1759# CONFIG_SCHED_TRACER is not set 1801# CONFIG_SCHED_TRACER is not set
1760# CONFIG_CONTEXT_SWITCH_TRACER is not set 1802# CONFIG_CONTEXT_SWITCH_TRACER is not set
1803# CONFIG_EVENT_TRACER is not set
1761# CONFIG_BOOT_TRACER is not set 1804# CONFIG_BOOT_TRACER is not set
1762# CONFIG_TRACE_BRANCH_PROFILING is not set 1805# CONFIG_TRACE_BRANCH_PROFILING is not set
1763# CONFIG_STACK_TRACER is not set 1806# CONFIG_STACK_TRACER is not set
1764# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1807# CONFIG_KMEMTRACE is not set
1808# CONFIG_WORKQUEUE_TRACER is not set
1809# CONFIG_BLK_DEV_IO_TRACE is not set
1765# CONFIG_SAMPLES is not set 1810# CONFIG_SAMPLES is not set
1766CONFIG_HAVE_ARCH_KGDB=y 1811CONFIG_HAVE_ARCH_KGDB=y
1767# CONFIG_KGDB is not set 1812# CONFIG_KGDB is not set
1768CONFIG_PRINT_STACK_DEPTH=64 1813CONFIG_PRINT_STACK_DEPTH=64
1769# CONFIG_DEBUG_STACKOVERFLOW is not set 1814# CONFIG_DEBUG_STACKOVERFLOW is not set
1770# CONFIG_DEBUG_STACK_USAGE is not set 1815# CONFIG_DEBUG_STACK_USAGE is not set
1771# CONFIG_DEBUG_PAGEALLOC is not set
1772# CONFIG_CODE_PATCHING_SELFTEST is not set 1816# CONFIG_CODE_PATCHING_SELFTEST is not set
1773# CONFIG_FTR_FIXUP_SELFTEST is not set 1817# CONFIG_FTR_FIXUP_SELFTEST is not set
1774# CONFIG_MSI_BITMAP_SELFTEST is not set 1818# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1790,6 +1834,7 @@ CONFIG_SECURITY_NETWORK=y
1790# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1834# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1791# CONFIG_SECURITY_ROOTPLUG is not set 1835# CONFIG_SECURITY_ROOTPLUG is not set
1792CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 1836CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
1837# CONFIG_SECURITY_TOMOYO is not set
1793CONFIG_CRYPTO=y 1838CONFIG_CRYPTO=y
1794 1839
1795# 1840#
@@ -1805,10 +1850,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1805CONFIG_CRYPTO_HASH=y 1850CONFIG_CRYPTO_HASH=y
1806CONFIG_CRYPTO_HASH2=y 1851CONFIG_CRYPTO_HASH2=y
1807CONFIG_CRYPTO_RNG2=y 1852CONFIG_CRYPTO_RNG2=y
1853CONFIG_CRYPTO_PCOMP=y
1808CONFIG_CRYPTO_MANAGER=y 1854CONFIG_CRYPTO_MANAGER=y
1809CONFIG_CRYPTO_MANAGER2=y 1855CONFIG_CRYPTO_MANAGER2=y
1810# CONFIG_CRYPTO_GF128MUL is not set 1856# CONFIG_CRYPTO_GF128MUL is not set
1811CONFIG_CRYPTO_NULL=m 1857CONFIG_CRYPTO_NULL=m
1858CONFIG_CRYPTO_WORKQUEUE=y
1812# CONFIG_CRYPTO_CRYPTD is not set 1859# CONFIG_CRYPTO_CRYPTD is not set
1813CONFIG_CRYPTO_AUTHENC=m 1860CONFIG_CRYPTO_AUTHENC=m
1814CONFIG_CRYPTO_TEST=m 1861CONFIG_CRYPTO_TEST=m
@@ -1878,6 +1925,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1878# Compression 1925# Compression
1879# 1926#
1880CONFIG_CRYPTO_DEFLATE=m 1927CONFIG_CRYPTO_DEFLATE=m
1928# CONFIG_CRYPTO_ZLIB is not set
1881# CONFIG_CRYPTO_LZO is not set 1929# CONFIG_CRYPTO_LZO is not set
1882 1930
1883# 1931#
diff --git a/arch/powerpc/configs/86xx/gef_sbc310_defconfig b/arch/powerpc/configs/86xx/gef_sbc310_defconfig
index bd236b3d915a..a66910e63345 100644
--- a/arch/powerpc/configs/86xx/gef_sbc310_defconfig
+++ b/arch/powerpc/configs/86xx/gef_sbc310_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.29-rc3 3# Linux kernel version: 2.6.30-rc3
4# Wed Jan 28 23:05:34 2009 4# Wed May 13 17:22:29 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_PHYS_64BIT is not set 19# CONFIG_PHYS_64BIT is not set
19CONFIG_ALTIVEC=y 20CONFIG_ALTIVEC=y
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y
58CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -72,6 +74,7 @@ CONFIG_SWAP=y
72CONFIG_SYSVIPC=y 74CONFIG_SYSVIPC=y
73CONFIG_SYSVIPC_SYSCTL=y 75CONFIG_SYSVIPC_SYSCTL=y
74CONFIG_POSIX_MQUEUE=y 76CONFIG_POSIX_MQUEUE=y
77CONFIG_POSIX_MQUEUE_SYSCTL=y
75CONFIG_BSD_PROCESS_ACCT=y 78CONFIG_BSD_PROCESS_ACCT=y
76CONFIG_BSD_PROCESS_ACCT_V3=y 79CONFIG_BSD_PROCESS_ACCT_V3=y
77# CONFIG_TASKSTATS is not set 80# CONFIG_TASKSTATS is not set
@@ -96,20 +99,23 @@ CONFIG_RELAY=y
96# CONFIG_NAMESPACES is not set 99# CONFIG_NAMESPACES is not set
97CONFIG_BLK_DEV_INITRD=y 100CONFIG_BLK_DEV_INITRD=y
98CONFIG_INITRAMFS_SOURCE="" 101CONFIG_INITRAMFS_SOURCE=""
102CONFIG_RD_GZIP=y
103# CONFIG_RD_BZIP2 is not set
104# CONFIG_RD_LZMA is not set
99# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 105# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
100CONFIG_SYSCTL=y 106CONFIG_SYSCTL=y
107CONFIG_ANON_INODES=y
101CONFIG_EMBEDDED=y 108CONFIG_EMBEDDED=y
102CONFIG_SYSCTL_SYSCALL=y 109CONFIG_SYSCTL_SYSCALL=y
103CONFIG_KALLSYMS=y 110CONFIG_KALLSYMS=y
104# CONFIG_KALLSYMS_EXTRA_PASS is not set 111# CONFIG_KALLSYMS_EXTRA_PASS is not set
112# CONFIG_STRIP_ASM_SYMS is not set
105CONFIG_HOTPLUG=y 113CONFIG_HOTPLUG=y
106CONFIG_PRINTK=y 114CONFIG_PRINTK=y
107CONFIG_BUG=y 115CONFIG_BUG=y
108CONFIG_ELF_CORE=y 116CONFIG_ELF_CORE=y
109CONFIG_COMPAT_BRK=y
110CONFIG_BASE_FULL=y 117CONFIG_BASE_FULL=y
111CONFIG_FUTEX=y 118CONFIG_FUTEX=y
112CONFIG_ANON_INODES=y
113CONFIG_EPOLL=y 119CONFIG_EPOLL=y
114CONFIG_SIGNALFD=y 120CONFIG_SIGNALFD=y
115CONFIG_TIMERFD=y 121CONFIG_TIMERFD=y
@@ -118,10 +124,12 @@ CONFIG_SHMEM=y
118CONFIG_AIO=y 124CONFIG_AIO=y
119CONFIG_VM_EVENT_COUNTERS=y 125CONFIG_VM_EVENT_COUNTERS=y
120CONFIG_PCI_QUIRKS=y 126CONFIG_PCI_QUIRKS=y
127CONFIG_COMPAT_BRK=y
121CONFIG_SLAB=y 128CONFIG_SLAB=y
122# CONFIG_SLUB is not set 129# CONFIG_SLUB is not set
123# CONFIG_SLOB is not set 130# CONFIG_SLOB is not set
124# CONFIG_PROFILING is not set 131# CONFIG_PROFILING is not set
132# CONFIG_MARKERS is not set
125CONFIG_HAVE_OPROFILE=y 133CONFIG_HAVE_OPROFILE=y
126# CONFIG_KPROBES is not set 134# CONFIG_KPROBES is not set
127CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -130,6 +138,7 @@ CONFIG_HAVE_KPROBES=y
130CONFIG_HAVE_KRETPROBES=y 138CONFIG_HAVE_KRETPROBES=y
131CONFIG_HAVE_ARCH_TRACEHOOK=y 139CONFIG_HAVE_ARCH_TRACEHOOK=y
132CONFIG_USE_GENERIC_SMP_HELPERS=y 140CONFIG_USE_GENERIC_SMP_HELPERS=y
141# CONFIG_SLOW_WORK is not set
133# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 142# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
134CONFIG_SLABINFO=y 143CONFIG_SLABINFO=y
135CONFIG_RT_MUTEXES=y 144CONFIG_RT_MUTEXES=y
@@ -143,7 +152,6 @@ CONFIG_MODULE_UNLOAD=y
143CONFIG_STOP_MACHINE=y 152CONFIG_STOP_MACHINE=y
144CONFIG_BLOCK=y 153CONFIG_BLOCK=y
145# CONFIG_LBD is not set 154# CONFIG_LBD is not set
146# CONFIG_BLK_DEV_IO_TRACE is not set
147# CONFIG_BLK_DEV_BSG is not set 155# CONFIG_BLK_DEV_BSG is not set
148# CONFIG_BLK_DEV_INTEGRITY is not set 156# CONFIG_BLK_DEV_INTEGRITY is not set
149 157
@@ -165,8 +173,6 @@ CONFIG_PPC_MSI_BITMAP=y
165# 173#
166# Platform support 174# Platform support
167# 175#
168CONFIG_PPC_MULTIPLATFORM=y
169CONFIG_CLASSIC32=y
170# CONFIG_PPC_CHRP is not set 176# CONFIG_PPC_CHRP is not set
171# CONFIG_MPC5121_ADS is not set 177# CONFIG_MPC5121_ADS is not set
172# CONFIG_MPC5121_GENERIC is not set 178# CONFIG_MPC5121_GENERIC is not set
@@ -181,9 +187,11 @@ CONFIG_PPC_86xx=y
181# CONFIG_MPC8641_HPCN is not set 187# CONFIG_MPC8641_HPCN is not set
182# CONFIG_SBC8641D is not set 188# CONFIG_SBC8641D is not set
183# CONFIG_MPC8610_HPCD is not set 189# CONFIG_MPC8610_HPCD is not set
190# CONFIG_GEF_PPC9A is not set
184CONFIG_GEF_SBC310=y 191CONFIG_GEF_SBC310=y
185# CONFIG_GEF_SBC610 is not set 192# CONFIG_GEF_SBC610 is not set
186CONFIG_MPC8641=y 193CONFIG_MPC8641=y
194CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
187# CONFIG_IPIC is not set 195# CONFIG_IPIC is not set
188CONFIG_MPIC=y 196CONFIG_MPIC=y
189# CONFIG_MPIC_WEIRD is not set 197# CONFIG_MPIC_WEIRD is not set
@@ -245,9 +253,12 @@ CONFIG_ZONE_DMA_FLAG=1
245CONFIG_BOUNCE=y 253CONFIG_BOUNCE=y
246CONFIG_VIRT_TO_BUS=y 254CONFIG_VIRT_TO_BUS=y
247CONFIG_UNEVICTABLE_LRU=y 255CONFIG_UNEVICTABLE_LRU=y
256CONFIG_HAVE_MLOCK=y
257CONFIG_HAVE_MLOCKED_PAGE_BIT=y
248CONFIG_PPC_4K_PAGES=y 258CONFIG_PPC_4K_PAGES=y
249# CONFIG_PPC_16K_PAGES is not set 259# CONFIG_PPC_16K_PAGES is not set
250# CONFIG_PPC_64K_PAGES is not set 260# CONFIG_PPC_64K_PAGES is not set
261# CONFIG_PPC_256K_PAGES is not set
251CONFIG_FORCE_MAX_ZONEORDER=11 262CONFIG_FORCE_MAX_ZONEORDER=11
252# CONFIG_PROC_DEVICETREE is not set 263# CONFIG_PROC_DEVICETREE is not set
253# CONFIG_CMDLINE_BOOL is not set 264# CONFIG_CMDLINE_BOOL is not set
@@ -275,6 +286,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
275CONFIG_PCI_MSI=y 286CONFIG_PCI_MSI=y
276# CONFIG_PCI_LEGACY is not set 287# CONFIG_PCI_LEGACY is not set
277# CONFIG_PCI_STUB is not set 288# CONFIG_PCI_STUB is not set
289# CONFIG_PCI_IOV is not set
278# CONFIG_PCCARD is not set 290# CONFIG_PCCARD is not set
279# CONFIG_HOTPLUG_PCI is not set 291# CONFIG_HOTPLUG_PCI is not set
280# CONFIG_HAS_RAPIDIO is not set 292# CONFIG_HAS_RAPIDIO is not set
@@ -288,7 +300,6 @@ CONFIG_PCI_MSI=y
288# Default settings for advanced configuration options are used 300# Default settings for advanced configuration options are used
289# 301#
290CONFIG_LOWMEM_SIZE=0x30000000 302CONFIG_LOWMEM_SIZE=0x30000000
291CONFIG_LOWMEM_CAM_NUM=3
292CONFIG_PAGE_OFFSET=0xc0000000 303CONFIG_PAGE_OFFSET=0xc0000000
293CONFIG_KERNEL_START=0xc0000000 304CONFIG_KERNEL_START=0xc0000000
294CONFIG_PHYSICAL_START=0x00000000 305CONFIG_PHYSICAL_START=0x00000000
@@ -298,7 +309,6 @@ CONFIG_NET=y
298# 309#
299# Networking options 310# Networking options
300# 311#
301CONFIG_COMPAT_NET_DEV_OPS=y
302CONFIG_PACKET=y 312CONFIG_PACKET=y
303CONFIG_PACKET_MMAP=y 313CONFIG_PACKET_MMAP=y
304CONFIG_UNIX=y 314CONFIG_UNIX=y
@@ -382,6 +392,7 @@ CONFIG_IPV6_TUNNEL=m
382# CONFIG_LAPB is not set 392# CONFIG_LAPB is not set
383# CONFIG_ECONET is not set 393# CONFIG_ECONET is not set
384# CONFIG_WAN_ROUTER is not set 394# CONFIG_WAN_ROUTER is not set
395# CONFIG_PHONET is not set
385# CONFIG_NET_SCHED is not set 396# CONFIG_NET_SCHED is not set
386# CONFIG_DCB is not set 397# CONFIG_DCB is not set
387 398
@@ -394,7 +405,6 @@ CONFIG_NET_PKTGEN=m
394# CONFIG_IRDA is not set 405# CONFIG_IRDA is not set
395# CONFIG_BT is not set 406# CONFIG_BT is not set
396# CONFIG_AF_RXRPC is not set 407# CONFIG_AF_RXRPC is not set
397# CONFIG_PHONET is not set
398CONFIG_FIB_RULES=y 408CONFIG_FIB_RULES=y
399# CONFIG_WIRELESS is not set 409# CONFIG_WIRELESS is not set
400# CONFIG_WIMAX is not set 410# CONFIG_WIMAX is not set
@@ -493,7 +503,6 @@ CONFIG_MTD_PHYSMAP_OF=y
493# LPDDR flash memory drivers 503# LPDDR flash memory drivers
494# 504#
495# CONFIG_MTD_LPDDR is not set 505# CONFIG_MTD_LPDDR is not set
496# CONFIG_MTD_QINFO_PROBE is not set
497 506
498# 507#
499# UBI - Unsorted block images 508# UBI - Unsorted block images
@@ -529,6 +538,7 @@ CONFIG_MISC_DEVICES=y
529# CONFIG_ICS932S401 is not set 538# CONFIG_ICS932S401 is not set
530# CONFIG_ENCLOSURE_SERVICES is not set 539# CONFIG_ENCLOSURE_SERVICES is not set
531# CONFIG_HP_ILO is not set 540# CONFIG_HP_ILO is not set
541# CONFIG_ISL29003 is not set
532# CONFIG_C2PORT is not set 542# CONFIG_C2PORT is not set
533 543
534# 544#
@@ -594,9 +604,11 @@ CONFIG_SCSI_LOWLEVEL=y
594# CONFIG_MEGARAID_NEWGEN is not set 604# CONFIG_MEGARAID_NEWGEN is not set
595# CONFIG_MEGARAID_LEGACY is not set 605# CONFIG_MEGARAID_LEGACY is not set
596# CONFIG_MEGARAID_SAS is not set 606# CONFIG_MEGARAID_SAS is not set
607# CONFIG_SCSI_MPT2SAS is not set
597# CONFIG_SCSI_HPTIOP is not set 608# CONFIG_SCSI_HPTIOP is not set
598# CONFIG_SCSI_BUSLOGIC is not set 609# CONFIG_SCSI_BUSLOGIC is not set
599# CONFIG_LIBFC is not set 610# CONFIG_LIBFC is not set
611# CONFIG_LIBFCOE is not set
600# CONFIG_FCOE is not set 612# CONFIG_FCOE is not set
601# CONFIG_SCSI_DMX3191D is not set 613# CONFIG_SCSI_DMX3191D is not set
602# CONFIG_SCSI_EATA is not set 614# CONFIG_SCSI_EATA is not set
@@ -619,6 +631,7 @@ CONFIG_SCSI_LOWLEVEL=y
619# CONFIG_SCSI_DEBUG is not set 631# CONFIG_SCSI_DEBUG is not set
620# CONFIG_SCSI_SRP is not set 632# CONFIG_SCSI_SRP is not set
621# CONFIG_SCSI_DH is not set 633# CONFIG_SCSI_DH is not set
634# CONFIG_SCSI_OSD_INITIATOR is not set
622CONFIG_ATA=y 635CONFIG_ATA=y
623# CONFIG_ATA_NONSTANDARD is not set 636# CONFIG_ATA_NONSTANDARD is not set
624CONFIG_SATA_PMP=y 637CONFIG_SATA_PMP=y
@@ -641,6 +654,7 @@ CONFIG_SATA_SIL24=y
641# CONFIG_I2O is not set 654# CONFIG_I2O is not set
642# CONFIG_MACINTOSH_DRIVERS is not set 655# CONFIG_MACINTOSH_DRIVERS is not set
643CONFIG_NETDEVICES=y 656CONFIG_NETDEVICES=y
657CONFIG_COMPAT_NET_DEV_OPS=y
644CONFIG_DUMMY=m 658CONFIG_DUMMY=m
645CONFIG_BONDING=m 659CONFIG_BONDING=m
646# CONFIG_MACVLAN is not set 660# CONFIG_MACVLAN is not set
@@ -674,6 +688,8 @@ CONFIG_MII=y
674# CONFIG_SUNGEM is not set 688# CONFIG_SUNGEM is not set
675# CONFIG_CASSINI is not set 689# CONFIG_CASSINI is not set
676# CONFIG_NET_VENDOR_3COM is not set 690# CONFIG_NET_VENDOR_3COM is not set
691# CONFIG_ETHOC is not set
692# CONFIG_DNET is not set
677# CONFIG_NET_TULIP is not set 693# CONFIG_NET_TULIP is not set
678# CONFIG_HP100 is not set 694# CONFIG_HP100 is not set
679# CONFIG_IBM_NEW_EMAC_ZMII is not set 695# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -693,6 +709,7 @@ CONFIG_NETDEV_1000=y
693# CONFIG_E1000E is not set 709# CONFIG_E1000E is not set
694# CONFIG_IP1000 is not set 710# CONFIG_IP1000 is not set
695# CONFIG_IGB is not set 711# CONFIG_IGB is not set
712# CONFIG_IGBVF is not set
696# CONFIG_NS83820 is not set 713# CONFIG_NS83820 is not set
697# CONFIG_HAMACHI is not set 714# CONFIG_HAMACHI is not set
698# CONFIG_YELLOWFIN is not set 715# CONFIG_YELLOWFIN is not set
@@ -703,11 +720,12 @@ CONFIG_NETDEV_1000=y
703# CONFIG_VIA_VELOCITY is not set 720# CONFIG_VIA_VELOCITY is not set
704# CONFIG_TIGON3 is not set 721# CONFIG_TIGON3 is not set
705# CONFIG_BNX2 is not set 722# CONFIG_BNX2 is not set
723CONFIG_FSL_PQ_MDIO=y
706CONFIG_GIANFAR=y 724CONFIG_GIANFAR=y
707# CONFIG_MV643XX_ETH is not set
708# CONFIG_QLA3XXX is not set 725# CONFIG_QLA3XXX is not set
709# CONFIG_ATL1 is not set 726# CONFIG_ATL1 is not set
710# CONFIG_ATL1E is not set 727# CONFIG_ATL1E is not set
728# CONFIG_ATL1C is not set
711# CONFIG_JME is not set 729# CONFIG_JME is not set
712# CONFIG_NETDEV_10000 is not set 730# CONFIG_NETDEV_10000 is not set
713# CONFIG_TR is not set 731# CONFIG_TR is not set
@@ -717,7 +735,6 @@ CONFIG_GIANFAR=y
717# 735#
718# CONFIG_WLAN_PRE80211 is not set 736# CONFIG_WLAN_PRE80211 is not set
719# CONFIG_WLAN_80211 is not set 737# CONFIG_WLAN_80211 is not set
720# CONFIG_IWLWIFI_LEDS is not set
721 738
722# 739#
723# Enable WiMAX (Networking options) to see the WiMAX drivers 740# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -828,6 +845,7 @@ CONFIG_UNIX98_PTYS=y
828# CONFIG_HVC_UDBG is not set 845# CONFIG_HVC_UDBG is not set
829# CONFIG_IPMI_HANDLER is not set 846# CONFIG_IPMI_HANDLER is not set
830CONFIG_HW_RANDOM=y 847CONFIG_HW_RANDOM=y
848# CONFIG_HW_RANDOM_TIMERIOMEM is not set
831CONFIG_NVRAM=y 849CONFIG_NVRAM=y
832# CONFIG_R3964 is not set 850# CONFIG_R3964 is not set
833# CONFIG_APPLICOM is not set 851# CONFIG_APPLICOM is not set
@@ -894,7 +912,6 @@ CONFIG_DS1682=y
894# CONFIG_SENSORS_PCF8574 is not set 912# CONFIG_SENSORS_PCF8574 is not set
895# CONFIG_PCF8575 is not set 913# CONFIG_PCF8575 is not set
896# CONFIG_SENSORS_PCA9539 is not set 914# CONFIG_SENSORS_PCA9539 is not set
897# CONFIG_SENSORS_PCF8591 is not set
898# CONFIG_SENSORS_MAX6875 is not set 915# CONFIG_SENSORS_MAX6875 is not set
899# CONFIG_SENSORS_TSL2550 is not set 916# CONFIG_SENSORS_TSL2550 is not set
900# CONFIG_I2C_DEBUG_CORE is not set 917# CONFIG_I2C_DEBUG_CORE is not set
@@ -949,6 +966,7 @@ CONFIG_HWMON=y
949# CONFIG_SENSORS_F71805F is not set 966# CONFIG_SENSORS_F71805F is not set
950# CONFIG_SENSORS_F71882FG is not set 967# CONFIG_SENSORS_F71882FG is not set
951# CONFIG_SENSORS_F75375S is not set 968# CONFIG_SENSORS_F75375S is not set
969# CONFIG_SENSORS_G760A is not set
952# CONFIG_SENSORS_GL518SM is not set 970# CONFIG_SENSORS_GL518SM is not set
953# CONFIG_SENSORS_GL520SM is not set 971# CONFIG_SENSORS_GL520SM is not set
954# CONFIG_SENSORS_IT87 is not set 972# CONFIG_SENSORS_IT87 is not set
@@ -963,11 +981,15 @@ CONFIG_HWMON=y
963CONFIG_SENSORS_LM90=y 981CONFIG_SENSORS_LM90=y
964CONFIG_SENSORS_LM92=y 982CONFIG_SENSORS_LM92=y
965# CONFIG_SENSORS_LM93 is not set 983# CONFIG_SENSORS_LM93 is not set
984# CONFIG_SENSORS_LTC4215 is not set
966# CONFIG_SENSORS_LTC4245 is not set 985# CONFIG_SENSORS_LTC4245 is not set
986# CONFIG_SENSORS_LM95241 is not set
967# CONFIG_SENSORS_MAX1619 is not set 987# CONFIG_SENSORS_MAX1619 is not set
968# CONFIG_SENSORS_MAX6650 is not set 988# CONFIG_SENSORS_MAX6650 is not set
969# CONFIG_SENSORS_PC87360 is not set 989# CONFIG_SENSORS_PC87360 is not set
970# CONFIG_SENSORS_PC87427 is not set 990# CONFIG_SENSORS_PC87427 is not set
991# CONFIG_SENSORS_PCF8591 is not set
992# CONFIG_SENSORS_SHT15 is not set
971# CONFIG_SENSORS_SIS5595 is not set 993# CONFIG_SENSORS_SIS5595 is not set
972# CONFIG_SENSORS_DME1737 is not set 994# CONFIG_SENSORS_DME1737 is not set
973# CONFIG_SENSORS_SMSC47M1 is not set 995# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1086,15 +1108,17 @@ CONFIG_USB_HID=y
1086# 1108#
1087# Special HID drivers 1109# Special HID drivers
1088# 1110#
1089CONFIG_HID_COMPAT=y
1090CONFIG_HID_A4TECH=y 1111CONFIG_HID_A4TECH=y
1091CONFIG_HID_APPLE=y 1112CONFIG_HID_APPLE=y
1092CONFIG_HID_BELKIN=y 1113CONFIG_HID_BELKIN=y
1093CONFIG_HID_CHERRY=y 1114CONFIG_HID_CHERRY=y
1094CONFIG_HID_CHICONY=y 1115CONFIG_HID_CHICONY=y
1095CONFIG_HID_CYPRESS=y 1116CONFIG_HID_CYPRESS=y
1117# CONFIG_DRAGONRISE_FF is not set
1096CONFIG_HID_EZKEY=y 1118CONFIG_HID_EZKEY=y
1119# CONFIG_HID_KYE is not set
1097CONFIG_HID_GYRATION=y 1120CONFIG_HID_GYRATION=y
1121# CONFIG_HID_KENSINGTON is not set
1098CONFIG_HID_LOGITECH=y 1122CONFIG_HID_LOGITECH=y
1099# CONFIG_LOGITECH_FF is not set 1123# CONFIG_LOGITECH_FF is not set
1100# CONFIG_LOGIRUMBLEPAD2_FF is not set 1124# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1164,11 +1188,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1164# CONFIG_USB_TMC is not set 1188# CONFIG_USB_TMC is not set
1165 1189
1166# 1190#
1167# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1191# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1168# 1192#
1169 1193
1170# 1194#
1171# see USB_STORAGE Help for more information 1195# also be needed; see USB_STORAGE Help for more info
1172# 1196#
1173CONFIG_USB_STORAGE=y 1197CONFIG_USB_STORAGE=y
1174# CONFIG_USB_STORAGE_DEBUG is not set 1198# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1210,7 +1234,6 @@ CONFIG_USB_STORAGE=y
1210# CONFIG_USB_LED is not set 1234# CONFIG_USB_LED is not set
1211# CONFIG_USB_CYPRESS_CY7C63 is not set 1235# CONFIG_USB_CYPRESS_CY7C63 is not set
1212# CONFIG_USB_CYTHERM is not set 1236# CONFIG_USB_CYTHERM is not set
1213# CONFIG_USB_PHIDGET is not set
1214# CONFIG_USB_IDMOUSE is not set 1237# CONFIG_USB_IDMOUSE is not set
1215# CONFIG_USB_FTDI_ELAN is not set 1238# CONFIG_USB_FTDI_ELAN is not set
1216# CONFIG_USB_APPLEDISPLAY is not set 1239# CONFIG_USB_APPLEDISPLAY is not set
@@ -1226,6 +1249,7 @@ CONFIG_USB_STORAGE=y
1226# OTG and related infrastructure 1249# OTG and related infrastructure
1227# 1250#
1228# CONFIG_USB_GPIO_VBUS is not set 1251# CONFIG_USB_GPIO_VBUS is not set
1252# CONFIG_NOP_USB_XCEIV is not set
1229# CONFIG_UWB is not set 1253# CONFIG_UWB is not set
1230# CONFIG_MMC is not set 1254# CONFIG_MMC is not set
1231# CONFIG_MEMSTICK is not set 1255# CONFIG_MEMSTICK is not set
@@ -1287,8 +1311,9 @@ CONFIG_RTC_DRV_RX8581=y
1287# 1311#
1288# on-CPU RTC drivers 1312# on-CPU RTC drivers
1289# 1313#
1290# CONFIG_RTC_DRV_PPC is not set 1314# CONFIG_RTC_DRV_GENERIC is not set
1291# CONFIG_DMADEVICES is not set 1315# CONFIG_DMADEVICES is not set
1316# CONFIG_AUXDISPLAY is not set
1292# CONFIG_UIO is not set 1317# CONFIG_UIO is not set
1293# CONFIG_STAGING is not set 1318# CONFIG_STAGING is not set
1294 1319
@@ -1301,6 +1326,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y
1301# CONFIG_EXT2_FS_SECURITY is not set 1326# CONFIG_EXT2_FS_SECURITY is not set
1302# CONFIG_EXT2_FS_XIP is not set 1327# CONFIG_EXT2_FS_XIP is not set
1303CONFIG_EXT3_FS=y 1328CONFIG_EXT3_FS=y
1329# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1304CONFIG_EXT3_FS_XATTR=y 1330CONFIG_EXT3_FS_XATTR=y
1305CONFIG_EXT3_FS_POSIX_ACL=y 1331CONFIG_EXT3_FS_POSIX_ACL=y
1306# CONFIG_EXT3_FS_SECURITY is not set 1332# CONFIG_EXT3_FS_SECURITY is not set
@@ -1323,6 +1349,11 @@ CONFIG_INOTIFY_USER=y
1323# CONFIG_FUSE_FS is not set 1349# CONFIG_FUSE_FS is not set
1324 1350
1325# 1351#
1352# Caches
1353#
1354# CONFIG_FSCACHE is not set
1355
1356#
1326# CD-ROM/DVD Filesystems 1357# CD-ROM/DVD Filesystems
1327# 1358#
1328CONFIG_ISO9660_FS=y 1359CONFIG_ISO9660_FS=y
@@ -1382,6 +1413,7 @@ CONFIG_JFFS2_RTIME=y
1382# CONFIG_ROMFS_FS is not set 1413# CONFIG_ROMFS_FS is not set
1383# CONFIG_SYSV_FS is not set 1414# CONFIG_SYSV_FS is not set
1384# CONFIG_UFS_FS is not set 1415# CONFIG_UFS_FS is not set
1416# CONFIG_NILFS2_FS is not set
1385CONFIG_NETWORK_FILESYSTEMS=y 1417CONFIG_NETWORK_FILESYSTEMS=y
1386CONFIG_NFS_FS=y 1418CONFIG_NFS_FS=y
1387CONFIG_NFS_V3=y 1419CONFIG_NFS_V3=y
@@ -1394,7 +1426,6 @@ CONFIG_LOCKD_V4=y
1394CONFIG_NFS_COMMON=y 1426CONFIG_NFS_COMMON=y
1395CONFIG_SUNRPC=y 1427CONFIG_SUNRPC=y
1396CONFIG_SUNRPC_GSS=y 1428CONFIG_SUNRPC_GSS=y
1397# CONFIG_SUNRPC_REGISTER_V4 is not set
1398CONFIG_RPCSEC_GSS_KRB5=y 1429CONFIG_RPCSEC_GSS_KRB5=y
1399# CONFIG_RPCSEC_GSS_SPKM3 is not set 1430# CONFIG_RPCSEC_GSS_SPKM3 is not set
1400# CONFIG_SMB_FS is not set 1431# CONFIG_SMB_FS is not set
@@ -1455,6 +1486,7 @@ CONFIG_NLS_KOI8_R=m
1455CONFIG_NLS_KOI8_U=m 1486CONFIG_NLS_KOI8_U=m
1456CONFIG_NLS_UTF8=m 1487CONFIG_NLS_UTF8=m
1457# CONFIG_DLM is not set 1488# CONFIG_DLM is not set
1489# CONFIG_BINARY_PRINTF is not set
1458 1490
1459# 1491#
1460# Library routines 1492# Library routines
@@ -1470,11 +1502,12 @@ CONFIG_CRC32=y
1470CONFIG_LIBCRC32C=y 1502CONFIG_LIBCRC32C=y
1471CONFIG_ZLIB_INFLATE=y 1503CONFIG_ZLIB_INFLATE=y
1472CONFIG_ZLIB_DEFLATE=y 1504CONFIG_ZLIB_DEFLATE=y
1473CONFIG_PLIST=y 1505CONFIG_DECOMPRESS_GZIP=y
1474CONFIG_HAS_IOMEM=y 1506CONFIG_HAS_IOMEM=y
1475CONFIG_HAS_IOPORT=y 1507CONFIG_HAS_IOPORT=y
1476CONFIG_HAS_DMA=y 1508CONFIG_HAS_DMA=y
1477CONFIG_HAVE_LMB=y 1509CONFIG_HAVE_LMB=y
1510CONFIG_NLATTR=y
1478 1511
1479# 1512#
1480# Kernel hacking 1513# Kernel hacking
@@ -1494,13 +1527,25 @@ CONFIG_MAGIC_SYSRQ=y
1494# CONFIG_LATENCYTOP is not set 1527# CONFIG_LATENCYTOP is not set
1495CONFIG_SYSCTL_SYSCALL_CHECK=y 1528CONFIG_SYSCTL_SYSCALL_CHECK=y
1496CONFIG_HAVE_FUNCTION_TRACER=y 1529CONFIG_HAVE_FUNCTION_TRACER=y
1530CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1497CONFIG_HAVE_DYNAMIC_FTRACE=y 1531CONFIG_HAVE_DYNAMIC_FTRACE=y
1498CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1532CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1533CONFIG_TRACING_SUPPORT=y
1499 1534
1500# 1535#
1501# Tracers 1536# Tracers
1502# 1537#
1503# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1538# CONFIG_FUNCTION_TRACER is not set
1539# CONFIG_PREEMPT_TRACER is not set
1540# CONFIG_SCHED_TRACER is not set
1541# CONFIG_CONTEXT_SWITCH_TRACER is not set
1542# CONFIG_EVENT_TRACER is not set
1543# CONFIG_BOOT_TRACER is not set
1544# CONFIG_TRACE_BRANCH_PROFILING is not set
1545# CONFIG_STACK_TRACER is not set
1546# CONFIG_KMEMTRACE is not set
1547# CONFIG_WORKQUEUE_TRACER is not set
1548# CONFIG_BLK_DEV_IO_TRACE is not set
1504# CONFIG_SAMPLES is not set 1549# CONFIG_SAMPLES is not set
1505CONFIG_HAVE_ARCH_KGDB=y 1550CONFIG_HAVE_ARCH_KGDB=y
1506CONFIG_PRINT_STACK_DEPTH=64 1551CONFIG_PRINT_STACK_DEPTH=64
@@ -1530,10 +1575,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1530CONFIG_CRYPTO_HASH=y 1575CONFIG_CRYPTO_HASH=y
1531CONFIG_CRYPTO_HASH2=y 1576CONFIG_CRYPTO_HASH2=y
1532CONFIG_CRYPTO_RNG2=y 1577CONFIG_CRYPTO_RNG2=y
1578CONFIG_CRYPTO_PCOMP=y
1533CONFIG_CRYPTO_MANAGER=y 1579CONFIG_CRYPTO_MANAGER=y
1534CONFIG_CRYPTO_MANAGER2=y 1580CONFIG_CRYPTO_MANAGER2=y
1535# CONFIG_CRYPTO_GF128MUL is not set 1581# CONFIG_CRYPTO_GF128MUL is not set
1536# CONFIG_CRYPTO_NULL is not set 1582# CONFIG_CRYPTO_NULL is not set
1583CONFIG_CRYPTO_WORKQUEUE=y
1537# CONFIG_CRYPTO_CRYPTD is not set 1584# CONFIG_CRYPTO_CRYPTD is not set
1538CONFIG_CRYPTO_AUTHENC=m 1585CONFIG_CRYPTO_AUTHENC=m
1539# CONFIG_CRYPTO_TEST is not set 1586# CONFIG_CRYPTO_TEST is not set
@@ -1602,6 +1649,7 @@ CONFIG_CRYPTO_DES=y
1602# Compression 1649# Compression
1603# 1650#
1604CONFIG_CRYPTO_DEFLATE=m 1651CONFIG_CRYPTO_DEFLATE=m
1652# CONFIG_CRYPTO_ZLIB is not set
1605# CONFIG_CRYPTO_LZO is not set 1653# CONFIG_CRYPTO_LZO is not set
1606 1654
1607# 1655#
diff --git a/arch/powerpc/configs/86xx/gef_sbc610_defconfig b/arch/powerpc/configs/86xx/gef_sbc610_defconfig
index 1ab5abae00a2..c6a7fc82b69a 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:26 2009 4# Wed May 13 17:22:30 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_PHYS_64BIT is not set 19# CONFIG_PHYS_64BIT is not set
19CONFIG_ALTIVEC=y 20CONFIG_ALTIVEC=y
@@ -58,6 +59,7 @@ CONFIG_GENERIC_BUG=y
58CONFIG_DEFAULT_UIMAGE=y 59CONFIG_DEFAULT_UIMAGE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -72,10 +74,20 @@ CONFIG_SWAP=y
72CONFIG_SYSVIPC=y 74CONFIG_SYSVIPC=y
73CONFIG_SYSVIPC_SYSCTL=y 75CONFIG_SYSVIPC_SYSCTL=y
74CONFIG_POSIX_MQUEUE=y 76CONFIG_POSIX_MQUEUE=y
77CONFIG_POSIX_MQUEUE_SYSCTL=y
75CONFIG_BSD_PROCESS_ACCT=y 78CONFIG_BSD_PROCESS_ACCT=y
76CONFIG_BSD_PROCESS_ACCT_V3=y 79CONFIG_BSD_PROCESS_ACCT_V3=y
77# CONFIG_TASKSTATS is not set 80# CONFIG_TASKSTATS is not set
78# CONFIG_AUDIT is not set 81# CONFIG_AUDIT is not set
82
83#
84# RCU Subsystem
85#
86CONFIG_CLASSIC_RCU=y
87# CONFIG_TREE_RCU is not set
88# CONFIG_PREEMPT_RCU is not set
89# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_PREEMPT_RCU_TRACE is not set
79CONFIG_IKCONFIG=y 91CONFIG_IKCONFIG=y
80CONFIG_IKCONFIG_PROC=y 92CONFIG_IKCONFIG_PROC=y
81CONFIG_LOG_BUF_SHIFT=14 93CONFIG_LOG_BUF_SHIFT=14
@@ -91,21 +103,24 @@ CONFIG_RELAY=y
91# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
92CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
93CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107# CONFIG_RD_BZIP2 is not set
108# CONFIG_RD_LZMA is not set
94# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
95CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
96CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
97CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
98CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
99# CONFIG_KALLSYMS_ALL is not set 115# CONFIG_KALLSYMS_ALL is not set
100# CONFIG_KALLSYMS_EXTRA_PASS is not set 116# CONFIG_KALLSYMS_EXTRA_PASS is not set
117# CONFIG_STRIP_ASM_SYMS is not set
101CONFIG_HOTPLUG=y 118CONFIG_HOTPLUG=y
102CONFIG_PRINTK=y 119CONFIG_PRINTK=y
103CONFIG_BUG=y 120CONFIG_BUG=y
104CONFIG_ELF_CORE=y 121CONFIG_ELF_CORE=y
105CONFIG_COMPAT_BRK=y
106CONFIG_BASE_FULL=y 122CONFIG_BASE_FULL=y
107CONFIG_FUTEX=y 123CONFIG_FUTEX=y
108CONFIG_ANON_INODES=y
109CONFIG_EPOLL=y 124CONFIG_EPOLL=y
110CONFIG_SIGNALFD=y 125CONFIG_SIGNALFD=y
111CONFIG_TIMERFD=y 126CONFIG_TIMERFD=y
@@ -114,10 +129,12 @@ CONFIG_SHMEM=y
114CONFIG_AIO=y 129CONFIG_AIO=y
115CONFIG_VM_EVENT_COUNTERS=y 130CONFIG_VM_EVENT_COUNTERS=y
116CONFIG_PCI_QUIRKS=y 131CONFIG_PCI_QUIRKS=y
132CONFIG_COMPAT_BRK=y
117CONFIG_SLAB=y 133CONFIG_SLAB=y
118# CONFIG_SLUB is not set 134# CONFIG_SLUB is not set
119# CONFIG_SLOB is not set 135# CONFIG_SLOB is not set
120# CONFIG_PROFILING is not set 136# CONFIG_PROFILING is not set
137# CONFIG_MARKERS is not set
121CONFIG_HAVE_OPROFILE=y 138CONFIG_HAVE_OPROFILE=y
122# CONFIG_KPROBES is not set 139# CONFIG_KPROBES is not set
123CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 140CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -126,6 +143,7 @@ CONFIG_HAVE_KPROBES=y
126CONFIG_HAVE_KRETPROBES=y 143CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y 144CONFIG_HAVE_ARCH_TRACEHOOK=y
128CONFIG_USE_GENERIC_SMP_HELPERS=y 145CONFIG_USE_GENERIC_SMP_HELPERS=y
146# CONFIG_SLOW_WORK is not set
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 147# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 148CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 149CONFIG_RT_MUTEXES=y
@@ -139,7 +157,6 @@ CONFIG_MODULE_UNLOAD=y
139CONFIG_STOP_MACHINE=y 157CONFIG_STOP_MACHINE=y
140CONFIG_BLOCK=y 158CONFIG_BLOCK=y
141# CONFIG_LBD is not set 159# CONFIG_LBD is not set
142# CONFIG_BLK_DEV_IO_TRACE is not set
143# CONFIG_BLK_DEV_BSG is not set 160# CONFIG_BLK_DEV_BSG is not set
144# CONFIG_BLK_DEV_INTEGRITY is not set 161# CONFIG_BLK_DEV_INTEGRITY is not set
145 162
@@ -155,18 +172,11 @@ CONFIG_IOSCHED_CFQ=y
155CONFIG_DEFAULT_CFQ=y 172CONFIG_DEFAULT_CFQ=y
156# CONFIG_DEFAULT_NOOP is not set 173# CONFIG_DEFAULT_NOOP is not set
157CONFIG_DEFAULT_IOSCHED="cfq" 174CONFIG_DEFAULT_IOSCHED="cfq"
158CONFIG_CLASSIC_RCU=y
159# CONFIG_TREE_RCU is not set
160# CONFIG_PREEMPT_RCU is not set
161# CONFIG_TREE_RCU_TRACE is not set
162# CONFIG_PREEMPT_RCU_TRACE is not set
163# CONFIG_FREEZER is not set 175# CONFIG_FREEZER is not set
164 176
165# 177#
166# Platform support 178# Platform support
167# 179#
168CONFIG_PPC_MULTIPLATFORM=y
169CONFIG_CLASSIC32=y
170# CONFIG_PPC_CHRP is not set 180# CONFIG_PPC_CHRP is not set
171# CONFIG_MPC5121_ADS is not set 181# CONFIG_MPC5121_ADS is not set
172# CONFIG_MPC5121_GENERIC is not set 182# CONFIG_MPC5121_GENERIC is not set
@@ -181,8 +191,11 @@ CONFIG_PPC_86xx=y
181# CONFIG_MPC8641_HPCN is not set 191# CONFIG_MPC8641_HPCN is not set
182# CONFIG_SBC8641D is not set 192# CONFIG_SBC8641D is not set
183# CONFIG_MPC8610_HPCD is not set 193# CONFIG_MPC8610_HPCD is not set
194# CONFIG_GEF_PPC9A is not set
195# CONFIG_GEF_SBC310 is not set
184CONFIG_GEF_SBC610=y 196CONFIG_GEF_SBC610=y
185CONFIG_MPC8641=y 197CONFIG_MPC8641=y
198CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
186# CONFIG_IPIC is not set 199# CONFIG_IPIC is not set
187CONFIG_MPIC=y 200CONFIG_MPIC=y
188# CONFIG_MPIC_WEIRD is not set 201# CONFIG_MPIC_WEIRD is not set
@@ -244,9 +257,12 @@ CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 257CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 258CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y 259CONFIG_UNEVICTABLE_LRU=y
260CONFIG_HAVE_MLOCK=y
261CONFIG_HAVE_MLOCKED_PAGE_BIT=y
247CONFIG_PPC_4K_PAGES=y 262CONFIG_PPC_4K_PAGES=y
248# CONFIG_PPC_16K_PAGES is not set 263# CONFIG_PPC_16K_PAGES is not set
249# CONFIG_PPC_64K_PAGES is not set 264# CONFIG_PPC_64K_PAGES is not set
265# CONFIG_PPC_256K_PAGES is not set
250CONFIG_FORCE_MAX_ZONEORDER=11 266CONFIG_FORCE_MAX_ZONEORDER=11
251# CONFIG_PROC_DEVICETREE is not set 267# CONFIG_PROC_DEVICETREE is not set
252# CONFIG_CMDLINE_BOOL is not set 268# CONFIG_CMDLINE_BOOL is not set
@@ -275,6 +291,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
275# CONFIG_PCI_LEGACY is not set 291# CONFIG_PCI_LEGACY is not set
276CONFIG_PCI_DEBUG=y 292CONFIG_PCI_DEBUG=y
277# CONFIG_PCI_STUB is not set 293# CONFIG_PCI_STUB is not set
294# CONFIG_PCI_IOV is not set
278# CONFIG_PCCARD is not set 295# CONFIG_PCCARD is not set
279# CONFIG_HOTPLUG_PCI is not set 296# CONFIG_HOTPLUG_PCI is not set
280CONFIG_HAS_RAPIDIO=y 297CONFIG_HAS_RAPIDIO=y
@@ -298,7 +315,6 @@ CONFIG_NET=y
298# 315#
299# Networking options 316# Networking options
300# 317#
301CONFIG_COMPAT_NET_DEV_OPS=y
302CONFIG_PACKET=y 318CONFIG_PACKET=y
303CONFIG_PACKET_MMAP=y 319CONFIG_PACKET_MMAP=y
304CONFIG_UNIX=y 320CONFIG_UNIX=y
@@ -378,9 +394,11 @@ CONFIG_BRIDGE_NETFILTER=y
378# CONFIG_NETFILTER_NETLINK_QUEUE is not set 394# CONFIG_NETFILTER_NETLINK_QUEUE is not set
379# CONFIG_NETFILTER_NETLINK_LOG is not set 395# CONFIG_NETFILTER_NETLINK_LOG is not set
380# CONFIG_NF_CONNTRACK is not set 396# CONFIG_NF_CONNTRACK is not set
397# CONFIG_NETFILTER_TPROXY is not set
381CONFIG_NETFILTER_XTABLES=m 398CONFIG_NETFILTER_XTABLES=m
382# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 399# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
383# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 400# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
401# CONFIG_NETFILTER_XT_TARGET_HL is not set
384# CONFIG_NETFILTER_XT_TARGET_MARK is not set 402# CONFIG_NETFILTER_XT_TARGET_MARK is not set
385# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 403# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
386# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 404# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
@@ -393,6 +411,7 @@ CONFIG_NETFILTER_XTABLES=m
393# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 411# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
394# CONFIG_NETFILTER_XT_MATCH_ESP is not set 412# CONFIG_NETFILTER_XT_MATCH_ESP is not set
395# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 413# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
414CONFIG_NETFILTER_XT_MATCH_HL=m
396# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 415# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
397# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 416# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
398# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 417# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
@@ -451,11 +470,11 @@ CONFIG_IP6_NF_MATCH_HL=m
451CONFIG_IP6_NF_MATCH_IPV6HEADER=m 470CONFIG_IP6_NF_MATCH_IPV6HEADER=m
452# CONFIG_IP6_NF_MATCH_MH is not set 471# CONFIG_IP6_NF_MATCH_MH is not set
453CONFIG_IP6_NF_MATCH_RT=m 472CONFIG_IP6_NF_MATCH_RT=m
473# CONFIG_IP6_NF_TARGET_HL is not set
454CONFIG_IP6_NF_TARGET_LOG=m 474CONFIG_IP6_NF_TARGET_LOG=m
455CONFIG_IP6_NF_FILTER=m 475CONFIG_IP6_NF_FILTER=m
456# CONFIG_IP6_NF_TARGET_REJECT is not set 476# CONFIG_IP6_NF_TARGET_REJECT is not set
457CONFIG_IP6_NF_MANGLE=m 477CONFIG_IP6_NF_MANGLE=m
458# CONFIG_IP6_NF_TARGET_HL is not set
459CONFIG_IP6_NF_RAW=m 478CONFIG_IP6_NF_RAW=m
460# CONFIG_IP6_NF_SECURITY is not set 479# CONFIG_IP6_NF_SECURITY is not set
461# CONFIG_BRIDGE_NF_EBTABLES is not set 480# CONFIG_BRIDGE_NF_EBTABLES is not set
@@ -490,6 +509,7 @@ CONFIG_LLC=m
490# CONFIG_LAPB is not set 509# CONFIG_LAPB is not set
491# CONFIG_ECONET is not set 510# CONFIG_ECONET is not set
492CONFIG_WAN_ROUTER=m 511CONFIG_WAN_ROUTER=m
512# CONFIG_PHONET is not set
493CONFIG_NET_SCHED=y 513CONFIG_NET_SCHED=y
494 514
495# 515#
@@ -540,7 +560,6 @@ CONFIG_NET_PKTGEN=m
540# CONFIG_IRDA is not set 560# CONFIG_IRDA is not set
541# CONFIG_BT is not set 561# CONFIG_BT is not set
542# CONFIG_AF_RXRPC is not set 562# CONFIG_AF_RXRPC is not set
543# CONFIG_PHONET is not set
544CONFIG_FIB_RULES=y 563CONFIG_FIB_RULES=y
545CONFIG_WIRELESS=y 564CONFIG_WIRELESS=y
546# CONFIG_CFG80211 is not set 565# CONFIG_CFG80211 is not set
@@ -651,7 +670,6 @@ CONFIG_MTD_PHYSMAP_OF=y
651# LPDDR flash memory drivers 670# LPDDR flash memory drivers
652# 671#
653# CONFIG_MTD_LPDDR is not set 672# CONFIG_MTD_LPDDR is not set
654# CONFIG_MTD_QINFO_PROBE is not set
655 673
656# 674#
657# UBI - Unsorted block images 675# UBI - Unsorted block images
@@ -682,13 +700,20 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
682# CONFIG_BLK_DEV_HD is not set 700# CONFIG_BLK_DEV_HD is not set
683CONFIG_MISC_DEVICES=y 701CONFIG_MISC_DEVICES=y
684# CONFIG_PHANTOM is not set 702# CONFIG_PHANTOM is not set
685# CONFIG_EEPROM_93CX6 is not set
686# CONFIG_SGI_IOC4 is not set 703# CONFIG_SGI_IOC4 is not set
687# CONFIG_TIFM_CORE is not set 704# CONFIG_TIFM_CORE is not set
688# CONFIG_ICS932S401 is not set 705# CONFIG_ICS932S401 is not set
689# CONFIG_ENCLOSURE_SERVICES is not set 706# CONFIG_ENCLOSURE_SERVICES is not set
690# CONFIG_HP_ILO is not set 707# CONFIG_HP_ILO is not set
708# CONFIG_ISL29003 is not set
691# CONFIG_C2PORT is not set 709# CONFIG_C2PORT is not set
710
711#
712# EEPROM support
713#
714# CONFIG_EEPROM_AT24 is not set
715# CONFIG_EEPROM_LEGACY is not set
716# CONFIG_EEPROM_93CX6 is not set
692CONFIG_HAVE_IDE=y 717CONFIG_HAVE_IDE=y
693# CONFIG_IDE is not set 718# CONFIG_IDE is not set
694 719
@@ -746,9 +771,11 @@ CONFIG_SCSI_LOWLEVEL=y
746# CONFIG_MEGARAID_NEWGEN is not set 771# CONFIG_MEGARAID_NEWGEN is not set
747# CONFIG_MEGARAID_LEGACY is not set 772# CONFIG_MEGARAID_LEGACY is not set
748# CONFIG_MEGARAID_SAS is not set 773# CONFIG_MEGARAID_SAS is not set
774# CONFIG_SCSI_MPT2SAS is not set
749# CONFIG_SCSI_HPTIOP is not set 775# CONFIG_SCSI_HPTIOP is not set
750# CONFIG_SCSI_BUSLOGIC is not set 776# CONFIG_SCSI_BUSLOGIC is not set
751# CONFIG_LIBFC is not set 777# CONFIG_LIBFC is not set
778# CONFIG_LIBFCOE is not set
752# CONFIG_FCOE is not set 779# CONFIG_FCOE is not set
753# CONFIG_SCSI_DMX3191D is not set 780# CONFIG_SCSI_DMX3191D is not set
754# CONFIG_SCSI_EATA is not set 781# CONFIG_SCSI_EATA is not set
@@ -771,6 +798,7 @@ CONFIG_SCSI_LOWLEVEL=y
771# CONFIG_SCSI_DEBUG is not set 798# CONFIG_SCSI_DEBUG is not set
772# CONFIG_SCSI_SRP is not set 799# CONFIG_SCSI_SRP is not set
773# CONFIG_SCSI_DH is not set 800# CONFIG_SCSI_DH is not set
801# CONFIG_SCSI_OSD_INITIATOR is not set
774CONFIG_ATA=y 802CONFIG_ATA=y
775# CONFIG_ATA_NONSTANDARD is not set 803# CONFIG_ATA_NONSTANDARD is not set
776CONFIG_SATA_PMP=y 804CONFIG_SATA_PMP=y
@@ -847,6 +875,7 @@ CONFIG_SATA_SIL=y
847# CONFIG_I2O is not set 875# CONFIG_I2O is not set
848# CONFIG_MACINTOSH_DRIVERS is not set 876# CONFIG_MACINTOSH_DRIVERS is not set
849CONFIG_NETDEVICES=y 877CONFIG_NETDEVICES=y
878CONFIG_COMPAT_NET_DEV_OPS=y
850CONFIG_DUMMY=m 879CONFIG_DUMMY=m
851CONFIG_BONDING=m 880CONFIG_BONDING=m
852# CONFIG_MACVLAN is not set 881# CONFIG_MACVLAN is not set
@@ -880,6 +909,8 @@ CONFIG_MII=y
880# CONFIG_SUNGEM is not set 909# CONFIG_SUNGEM is not set
881# CONFIG_CASSINI is not set 910# CONFIG_CASSINI is not set
882# CONFIG_NET_VENDOR_3COM is not set 911# CONFIG_NET_VENDOR_3COM is not set
912# CONFIG_ETHOC is not set
913# CONFIG_DNET is not set
883# CONFIG_NET_TULIP is not set 914# CONFIG_NET_TULIP is not set
884# CONFIG_HP100 is not set 915# CONFIG_HP100 is not set
885# CONFIG_IBM_NEW_EMAC_ZMII is not set 916# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -899,6 +930,7 @@ CONFIG_NETDEV_1000=y
899# CONFIG_E1000E is not set 930# CONFIG_E1000E is not set
900# CONFIG_IP1000 is not set 931# CONFIG_IP1000 is not set
901# CONFIG_IGB is not set 932# CONFIG_IGB is not set
933# CONFIG_IGBVF is not set
902# CONFIG_NS83820 is not set 934# CONFIG_NS83820 is not set
903# CONFIG_HAMACHI is not set 935# CONFIG_HAMACHI is not set
904# CONFIG_YELLOWFIN is not set 936# CONFIG_YELLOWFIN is not set
@@ -909,11 +941,12 @@ CONFIG_NETDEV_1000=y
909# CONFIG_VIA_VELOCITY is not set 941# CONFIG_VIA_VELOCITY is not set
910# CONFIG_TIGON3 is not set 942# CONFIG_TIGON3 is not set
911# CONFIG_BNX2 is not set 943# CONFIG_BNX2 is not set
944CONFIG_FSL_PQ_MDIO=y
912CONFIG_GIANFAR=y 945CONFIG_GIANFAR=y
913# CONFIG_MV643XX_ETH is not set
914# CONFIG_QLA3XXX is not set 946# CONFIG_QLA3XXX is not set
915# CONFIG_ATL1 is not set 947# CONFIG_ATL1 is not set
916# CONFIG_ATL1E is not set 948# CONFIG_ATL1E is not set
949# CONFIG_ATL1C is not set
917# CONFIG_JME is not set 950# CONFIG_JME is not set
918# CONFIG_NETDEV_10000 is not set 951# CONFIG_NETDEV_10000 is not set
919# CONFIG_TR is not set 952# CONFIG_TR is not set
@@ -923,7 +956,6 @@ CONFIG_GIANFAR=y
923# 956#
924# CONFIG_WLAN_PRE80211 is not set 957# CONFIG_WLAN_PRE80211 is not set
925# CONFIG_WLAN_80211 is not set 958# CONFIG_WLAN_80211 is not set
926# CONFIG_IWLWIFI_LEDS is not set
927 959
928# 960#
929# Enable WiMAX (Networking options) to see the WiMAX drivers 961# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -1050,6 +1082,7 @@ CONFIG_UNIX98_PTYS=y
1050# CONFIG_HVC_UDBG is not set 1082# CONFIG_HVC_UDBG is not set
1051# CONFIG_IPMI_HANDLER is not set 1083# CONFIG_IPMI_HANDLER is not set
1052CONFIG_HW_RANDOM=y 1084CONFIG_HW_RANDOM=y
1085# CONFIG_HW_RANDOM_TIMERIOMEM is not set
1053# CONFIG_NVRAM is not set 1086# CONFIG_NVRAM is not set
1054# CONFIG_R3964 is not set 1087# CONFIG_R3964 is not set
1055# CONFIG_APPLICOM is not set 1088# CONFIG_APPLICOM is not set
@@ -1113,12 +1146,9 @@ CONFIG_I2C_MPC=y
1113# Miscellaneous I2C Chip support 1146# Miscellaneous I2C Chip support
1114# 1147#
1115CONFIG_DS1682=y 1148CONFIG_DS1682=y
1116# CONFIG_EEPROM_AT24 is not set
1117# CONFIG_EEPROM_LEGACY is not set
1118# CONFIG_SENSORS_PCF8574 is not set 1149# CONFIG_SENSORS_PCF8574 is not set
1119# CONFIG_PCF8575 is not set 1150# CONFIG_PCF8575 is not set
1120# CONFIG_SENSORS_PCA9539 is not set 1151# CONFIG_SENSORS_PCA9539 is not set
1121# CONFIG_SENSORS_PCF8591 is not set
1122# CONFIG_SENSORS_MAX6875 is not set 1152# CONFIG_SENSORS_MAX6875 is not set
1123# CONFIG_SENSORS_TSL2550 is not set 1153# CONFIG_SENSORS_TSL2550 is not set
1124# CONFIG_I2C_DEBUG_CORE is not set 1154# CONFIG_I2C_DEBUG_CORE is not set
@@ -1174,6 +1204,7 @@ CONFIG_HWMON=y
1174# CONFIG_SENSORS_F71805F is not set 1204# CONFIG_SENSORS_F71805F is not set
1175# CONFIG_SENSORS_F71882FG is not set 1205# CONFIG_SENSORS_F71882FG is not set
1176# CONFIG_SENSORS_F75375S is not set 1206# CONFIG_SENSORS_F75375S is not set
1207# CONFIG_SENSORS_G760A is not set
1177# CONFIG_SENSORS_GL518SM is not set 1208# CONFIG_SENSORS_GL518SM is not set
1178# CONFIG_SENSORS_GL520SM is not set 1209# CONFIG_SENSORS_GL520SM is not set
1179# CONFIG_SENSORS_IT87 is not set 1210# CONFIG_SENSORS_IT87 is not set
@@ -1188,11 +1219,15 @@ CONFIG_HWMON=y
1188CONFIG_SENSORS_LM90=y 1219CONFIG_SENSORS_LM90=y
1189CONFIG_SENSORS_LM92=y 1220CONFIG_SENSORS_LM92=y
1190# CONFIG_SENSORS_LM93 is not set 1221# CONFIG_SENSORS_LM93 is not set
1222# CONFIG_SENSORS_LTC4215 is not set
1191# CONFIG_SENSORS_LTC4245 is not set 1223# CONFIG_SENSORS_LTC4245 is not set
1224# CONFIG_SENSORS_LM95241 is not set
1192# CONFIG_SENSORS_MAX1619 is not set 1225# CONFIG_SENSORS_MAX1619 is not set
1193# CONFIG_SENSORS_MAX6650 is not set 1226# CONFIG_SENSORS_MAX6650 is not set
1194# CONFIG_SENSORS_PC87360 is not set 1227# CONFIG_SENSORS_PC87360 is not set
1195# CONFIG_SENSORS_PC87427 is not set 1228# CONFIG_SENSORS_PC87427 is not set
1229# CONFIG_SENSORS_PCF8591 is not set
1230# CONFIG_SENSORS_SHT15 is not set
1196# CONFIG_SENSORS_SIS5595 is not set 1231# CONFIG_SENSORS_SIS5595 is not set
1197# CONFIG_SENSORS_DME1737 is not set 1232# CONFIG_SENSORS_DME1737 is not set
1198# CONFIG_SENSORS_SMSC47M1 is not set 1233# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1311,15 +1346,17 @@ CONFIG_USB_HID=y
1311# 1346#
1312# Special HID drivers 1347# Special HID drivers
1313# 1348#
1314CONFIG_HID_COMPAT=y
1315CONFIG_HID_A4TECH=y 1349CONFIG_HID_A4TECH=y
1316CONFIG_HID_APPLE=y 1350CONFIG_HID_APPLE=y
1317CONFIG_HID_BELKIN=y 1351CONFIG_HID_BELKIN=y
1318CONFIG_HID_CHERRY=y 1352CONFIG_HID_CHERRY=y
1319CONFIG_HID_CHICONY=y 1353CONFIG_HID_CHICONY=y
1320CONFIG_HID_CYPRESS=y 1354CONFIG_HID_CYPRESS=y
1355# CONFIG_DRAGONRISE_FF is not set
1321CONFIG_HID_EZKEY=y 1356CONFIG_HID_EZKEY=y
1357# CONFIG_HID_KYE is not set
1322CONFIG_HID_GYRATION=y 1358CONFIG_HID_GYRATION=y
1359# CONFIG_HID_KENSINGTON is not set
1323CONFIG_HID_LOGITECH=y 1360CONFIG_HID_LOGITECH=y
1324# CONFIG_LOGITECH_FF is not set 1361# CONFIG_LOGITECH_FF is not set
1325# CONFIG_LOGIRUMBLEPAD2_FF is not set 1362# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1389,11 +1426,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1389# CONFIG_USB_TMC is not set 1426# CONFIG_USB_TMC is not set
1390 1427
1391# 1428#
1392# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1429# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1393# 1430#
1394 1431
1395# 1432#
1396# see USB_STORAGE Help for more information 1433# also be needed; see USB_STORAGE Help for more info
1397# 1434#
1398CONFIG_USB_STORAGE=y 1435CONFIG_USB_STORAGE=y
1399# CONFIG_USB_STORAGE_DEBUG is not set 1436# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1435,7 +1472,6 @@ CONFIG_USB_STORAGE=y
1435# CONFIG_USB_LED is not set 1472# CONFIG_USB_LED is not set
1436# CONFIG_USB_CYPRESS_CY7C63 is not set 1473# CONFIG_USB_CYPRESS_CY7C63 is not set
1437# CONFIG_USB_CYTHERM is not set 1474# CONFIG_USB_CYTHERM is not set
1438# CONFIG_USB_PHIDGET is not set
1439# CONFIG_USB_IDMOUSE is not set 1475# CONFIG_USB_IDMOUSE is not set
1440# CONFIG_USB_FTDI_ELAN is not set 1476# CONFIG_USB_FTDI_ELAN is not set
1441# CONFIG_USB_APPLEDISPLAY is not set 1477# CONFIG_USB_APPLEDISPLAY is not set
@@ -1452,6 +1488,7 @@ CONFIG_USB_STORAGE=y
1452# OTG and related infrastructure 1488# OTG and related infrastructure
1453# 1489#
1454# CONFIG_USB_GPIO_VBUS is not set 1490# CONFIG_USB_GPIO_VBUS is not set
1491# CONFIG_NOP_USB_XCEIV is not set
1455# CONFIG_UWB is not set 1492# CONFIG_UWB is not set
1456# CONFIG_MMC is not set 1493# CONFIG_MMC is not set
1457# CONFIG_MEMSTICK is not set 1494# CONFIG_MEMSTICK is not set
@@ -1513,8 +1550,9 @@ CONFIG_RTC_DRV_RX8581=y
1513# 1550#
1514# on-CPU RTC drivers 1551# on-CPU RTC drivers
1515# 1552#
1516# CONFIG_RTC_DRV_PPC is not set 1553# CONFIG_RTC_DRV_GENERIC is not set
1517# CONFIG_DMADEVICES is not set 1554# CONFIG_DMADEVICES is not set
1555# CONFIG_AUXDISPLAY is not set
1518# CONFIG_UIO is not set 1556# CONFIG_UIO is not set
1519# CONFIG_STAGING is not set 1557# CONFIG_STAGING is not set
1520 1558
@@ -1527,6 +1565,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y
1527# CONFIG_EXT2_FS_SECURITY is not set 1565# CONFIG_EXT2_FS_SECURITY is not set
1528# CONFIG_EXT2_FS_XIP is not set 1566# CONFIG_EXT2_FS_XIP is not set
1529CONFIG_EXT3_FS=y 1567CONFIG_EXT3_FS=y
1568# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1530CONFIG_EXT3_FS_XATTR=y 1569CONFIG_EXT3_FS_XATTR=y
1531CONFIG_EXT3_FS_POSIX_ACL=y 1570CONFIG_EXT3_FS_POSIX_ACL=y
1532# CONFIG_EXT3_FS_SECURITY is not set 1571# CONFIG_EXT3_FS_SECURITY is not set
@@ -1549,6 +1588,11 @@ CONFIG_INOTIFY_USER=y
1549# CONFIG_FUSE_FS is not set 1588# CONFIG_FUSE_FS is not set
1550 1589
1551# 1590#
1591# Caches
1592#
1593# CONFIG_FSCACHE is not set
1594
1595#
1552# CD-ROM/DVD Filesystems 1596# CD-ROM/DVD Filesystems
1553# 1597#
1554# CONFIG_ISO9660_FS is not set 1598# CONFIG_ISO9660_FS is not set
@@ -1595,6 +1639,7 @@ CONFIG_MISC_FILESYSTEMS=y
1595# CONFIG_ROMFS_FS is not set 1639# CONFIG_ROMFS_FS is not set
1596# CONFIG_SYSV_FS is not set 1640# CONFIG_SYSV_FS is not set
1597# CONFIG_UFS_FS is not set 1641# CONFIG_UFS_FS is not set
1642# CONFIG_NILFS2_FS is not set
1598CONFIG_NETWORK_FILESYSTEMS=y 1643CONFIG_NETWORK_FILESYSTEMS=y
1599CONFIG_NFS_FS=y 1644CONFIG_NFS_FS=y
1600CONFIG_NFS_V3=y 1645CONFIG_NFS_V3=y
@@ -1607,7 +1652,6 @@ CONFIG_LOCKD_V4=y
1607CONFIG_NFS_COMMON=y 1652CONFIG_NFS_COMMON=y
1608CONFIG_SUNRPC=y 1653CONFIG_SUNRPC=y
1609CONFIG_SUNRPC_GSS=y 1654CONFIG_SUNRPC_GSS=y
1610# CONFIG_SUNRPC_REGISTER_V4 is not set
1611CONFIG_RPCSEC_GSS_KRB5=y 1655CONFIG_RPCSEC_GSS_KRB5=y
1612# CONFIG_RPCSEC_GSS_SPKM3 is not set 1656# CONFIG_RPCSEC_GSS_SPKM3 is not set
1613# CONFIG_SMB_FS is not set 1657# CONFIG_SMB_FS is not set
@@ -1668,6 +1712,7 @@ CONFIG_NLS_KOI8_R=m
1668CONFIG_NLS_KOI8_U=m 1712CONFIG_NLS_KOI8_U=m
1669CONFIG_NLS_UTF8=m 1713CONFIG_NLS_UTF8=m
1670# CONFIG_DLM is not set 1714# CONFIG_DLM is not set
1715# CONFIG_BINARY_PRINTF is not set
1671 1716
1672# 1717#
1673# Library routines 1718# Library routines
@@ -1681,13 +1726,14 @@ CONFIG_CRC_CCITT=m
1681CONFIG_CRC32=y 1726CONFIG_CRC32=y
1682# CONFIG_CRC7 is not set 1727# CONFIG_CRC7 is not set
1683CONFIG_LIBCRC32C=m 1728CONFIG_LIBCRC32C=m
1684CONFIG_ZLIB_INFLATE=m 1729CONFIG_ZLIB_INFLATE=y
1685CONFIG_ZLIB_DEFLATE=m 1730CONFIG_ZLIB_DEFLATE=m
1686CONFIG_PLIST=y 1731CONFIG_DECOMPRESS_GZIP=y
1687CONFIG_HAS_IOMEM=y 1732CONFIG_HAS_IOMEM=y
1688CONFIG_HAS_IOPORT=y 1733CONFIG_HAS_IOPORT=y
1689CONFIG_HAS_DMA=y 1734CONFIG_HAS_DMA=y
1690CONFIG_HAVE_LMB=y 1735CONFIG_HAVE_LMB=y
1736CONFIG_NLATTR=y
1691 1737
1692# 1738#
1693# Kernel hacking 1739# Kernel hacking
@@ -1705,6 +1751,9 @@ CONFIG_DEBUG_KERNEL=y
1705CONFIG_DETECT_SOFTLOCKUP=y 1751CONFIG_DETECT_SOFTLOCKUP=y
1706# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1752# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1707CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1753CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1754CONFIG_DETECT_HUNG_TASK=y
1755# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1756CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1708CONFIG_SCHED_DEBUG=y 1757CONFIG_SCHED_DEBUG=y
1709# CONFIG_SCHEDSTATS is not set 1758# CONFIG_SCHEDSTATS is not set
1710# CONFIG_TIMER_STATS is not set 1759# CONFIG_TIMER_STATS is not set
@@ -1733,9 +1782,12 @@ CONFIG_DEBUG_INFO=y
1733# CONFIG_FAULT_INJECTION is not set 1782# CONFIG_FAULT_INJECTION is not set
1734# CONFIG_LATENCYTOP is not set 1783# CONFIG_LATENCYTOP is not set
1735CONFIG_SYSCTL_SYSCALL_CHECK=y 1784CONFIG_SYSCTL_SYSCALL_CHECK=y
1785# CONFIG_DEBUG_PAGEALLOC is not set
1736CONFIG_HAVE_FUNCTION_TRACER=y 1786CONFIG_HAVE_FUNCTION_TRACER=y
1787CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1737CONFIG_HAVE_DYNAMIC_FTRACE=y 1788CONFIG_HAVE_DYNAMIC_FTRACE=y
1738CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1789CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1790CONFIG_TRACING_SUPPORT=y
1739 1791
1740# 1792#
1741# Tracers 1793# Tracers
@@ -1744,17 +1796,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1744# CONFIG_PREEMPT_TRACER is not set 1796# CONFIG_PREEMPT_TRACER is not set
1745# CONFIG_SCHED_TRACER is not set 1797# CONFIG_SCHED_TRACER is not set
1746# CONFIG_CONTEXT_SWITCH_TRACER is not set 1798# CONFIG_CONTEXT_SWITCH_TRACER is not set
1799# CONFIG_EVENT_TRACER is not set
1747# CONFIG_BOOT_TRACER is not set 1800# CONFIG_BOOT_TRACER is not set
1748# CONFIG_TRACE_BRANCH_PROFILING is not set 1801# CONFIG_TRACE_BRANCH_PROFILING is not set
1749# CONFIG_STACK_TRACER is not set 1802# CONFIG_STACK_TRACER is not set
1750# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1803# CONFIG_KMEMTRACE is not set
1804# CONFIG_WORKQUEUE_TRACER is not set
1805# CONFIG_BLK_DEV_IO_TRACE is not set
1751# CONFIG_SAMPLES is not set 1806# CONFIG_SAMPLES is not set
1752CONFIG_HAVE_ARCH_KGDB=y 1807CONFIG_HAVE_ARCH_KGDB=y
1753# CONFIG_KGDB is not set 1808# CONFIG_KGDB is not set
1754CONFIG_PRINT_STACK_DEPTH=64 1809CONFIG_PRINT_STACK_DEPTH=64
1755# CONFIG_DEBUG_STACKOVERFLOW is not set 1810# CONFIG_DEBUG_STACKOVERFLOW is not set
1756# CONFIG_DEBUG_STACK_USAGE is not set 1811# CONFIG_DEBUG_STACK_USAGE is not set
1757# CONFIG_DEBUG_PAGEALLOC is not set
1758# CONFIG_CODE_PATCHING_SELFTEST is not set 1812# CONFIG_CODE_PATCHING_SELFTEST is not set
1759# CONFIG_FTR_FIXUP_SELFTEST is not set 1813# CONFIG_FTR_FIXUP_SELFTEST is not set
1760# CONFIG_MSI_BITMAP_SELFTEST is not set 1814# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1776,6 +1830,7 @@ CONFIG_SECURITY_NETWORK=y
1776# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1830# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1777# CONFIG_SECURITY_ROOTPLUG is not set 1831# CONFIG_SECURITY_ROOTPLUG is not set
1778CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 1832CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
1833# CONFIG_SECURITY_TOMOYO is not set
1779CONFIG_CRYPTO=y 1834CONFIG_CRYPTO=y
1780 1835
1781# 1836#
@@ -1791,10 +1846,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1791CONFIG_CRYPTO_HASH=y 1846CONFIG_CRYPTO_HASH=y
1792CONFIG_CRYPTO_HASH2=y 1847CONFIG_CRYPTO_HASH2=y
1793CONFIG_CRYPTO_RNG2=y 1848CONFIG_CRYPTO_RNG2=y
1849CONFIG_CRYPTO_PCOMP=y
1794CONFIG_CRYPTO_MANAGER=y 1850CONFIG_CRYPTO_MANAGER=y
1795CONFIG_CRYPTO_MANAGER2=y 1851CONFIG_CRYPTO_MANAGER2=y
1796# CONFIG_CRYPTO_GF128MUL is not set 1852# CONFIG_CRYPTO_GF128MUL is not set
1797CONFIG_CRYPTO_NULL=m 1853CONFIG_CRYPTO_NULL=m
1854CONFIG_CRYPTO_WORKQUEUE=y
1798# CONFIG_CRYPTO_CRYPTD is not set 1855# CONFIG_CRYPTO_CRYPTD is not set
1799CONFIG_CRYPTO_AUTHENC=m 1856CONFIG_CRYPTO_AUTHENC=m
1800CONFIG_CRYPTO_TEST=m 1857CONFIG_CRYPTO_TEST=m
@@ -1864,6 +1921,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1864# Compression 1921# Compression
1865# 1922#
1866CONFIG_CRYPTO_DEFLATE=m 1923CONFIG_CRYPTO_DEFLATE=m
1924# CONFIG_CRYPTO_ZLIB is not set
1867# CONFIG_CRYPTO_LZO is not set 1925# CONFIG_CRYPTO_LZO is not set
1868 1926
1869# 1927#
diff --git a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
index bbdf4bfc4327..cfd2efcc6bce 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:24 2009 4# Wed May 13 17:22:28 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_PHYS_64BIT is not set 19# CONFIG_PHYS_64BIT is not set
19CONFIG_ALTIVEC=y 20CONFIG_ALTIVEC=y
@@ -55,6 +56,7 @@ CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 56CONFIG_DEFAULT_UIMAGE=y
56# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
57# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
59 61
60# 62#
@@ -72,6 +74,15 @@ CONFIG_SYSVIPC_SYSCTL=y
72# CONFIG_BSD_PROCESS_ACCT is not set 74# CONFIG_BSD_PROCESS_ACCT is not set
73# CONFIG_TASKSTATS is not set 75# CONFIG_TASKSTATS is not set
74# CONFIG_AUDIT is not set 76# CONFIG_AUDIT is not set
77
78#
79# RCU Subsystem
80#
81CONFIG_CLASSIC_RCU=y
82# CONFIG_TREE_RCU is not set
83# CONFIG_PREEMPT_RCU is not set
84# CONFIG_TREE_RCU_TRACE is not set
85# CONFIG_PREEMPT_RCU_TRACE is not set
75CONFIG_IKCONFIG=y 86CONFIG_IKCONFIG=y
76CONFIG_IKCONFIG_PROC=y 87CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
@@ -87,21 +98,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_NAMESPACES is not set 98# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
101CONFIG_RD_GZIP=y
102# CONFIG_RD_BZIP2 is not set
103# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 104# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 105CONFIG_SYSCTL=y
106CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 107CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
94CONFIG_KALLSYMS=y 109CONFIG_KALLSYMS=y
95# CONFIG_KALLSYMS_ALL is not set 110# CONFIG_KALLSYMS_ALL is not set
96CONFIG_KALLSYMS_EXTRA_PASS=y 111CONFIG_KALLSYMS_EXTRA_PASS=y
112# CONFIG_STRIP_ASM_SYMS is not set
97CONFIG_HOTPLUG=y 113CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 114CONFIG_PRINTK=y
99CONFIG_BUG=y 115CONFIG_BUG=y
100# CONFIG_ELF_CORE is not set 116# CONFIG_ELF_CORE is not set
101CONFIG_COMPAT_BRK=y
102CONFIG_BASE_FULL=y 117CONFIG_BASE_FULL=y
103CONFIG_FUTEX=y 118CONFIG_FUTEX=y
104CONFIG_ANON_INODES=y
105CONFIG_EPOLL=y 119CONFIG_EPOLL=y
106CONFIG_SIGNALFD=y 120CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 121CONFIG_TIMERFD=y
@@ -111,10 +125,12 @@ CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 125CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y 126CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 127CONFIG_SLUB_DEBUG=y
128CONFIG_COMPAT_BRK=y
114# CONFIG_SLAB is not set 129# CONFIG_SLAB is not set
115CONFIG_SLUB=y 130CONFIG_SLUB=y
116# CONFIG_SLOB is not set 131# CONFIG_SLOB is not set
117# CONFIG_PROFILING is not set 132# CONFIG_PROFILING is not set
133# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y 134CONFIG_HAVE_OPROFILE=y
119# CONFIG_KPROBES is not set 135# CONFIG_KPROBES is not set
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -122,6 +138,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 138CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
141# CONFIG_SLOW_WORK is not set
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 142# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 143CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 144CONFIG_RT_MUTEXES=y
@@ -134,7 +151,6 @@ CONFIG_MODULE_UNLOAD=y
134# CONFIG_MODULE_SRCVERSION_ALL is not set 151# CONFIG_MODULE_SRCVERSION_ALL is not set
135CONFIG_BLOCK=y 152CONFIG_BLOCK=y
136# CONFIG_LBD is not set 153# CONFIG_LBD is not set
137# CONFIG_BLK_DEV_IO_TRACE is not set
138# CONFIG_BLK_DEV_BSG is not set 154# CONFIG_BLK_DEV_BSG is not set
139# CONFIG_BLK_DEV_INTEGRITY is not set 155# CONFIG_BLK_DEV_INTEGRITY is not set
140 156
@@ -150,18 +166,11 @@ CONFIG_DEFAULT_DEADLINE=y
150# CONFIG_DEFAULT_CFQ is not set 166# CONFIG_DEFAULT_CFQ is not set
151# CONFIG_DEFAULT_NOOP is not set 167# CONFIG_DEFAULT_NOOP is not set
152CONFIG_DEFAULT_IOSCHED="deadline" 168CONFIG_DEFAULT_IOSCHED="deadline"
153CONFIG_CLASSIC_RCU=y
154# CONFIG_TREE_RCU is not set
155# CONFIG_PREEMPT_RCU is not set
156# CONFIG_TREE_RCU_TRACE is not set
157# CONFIG_PREEMPT_RCU_TRACE is not set
158# CONFIG_FREEZER is not set 169# CONFIG_FREEZER is not set
159 170
160# 171#
161# Platform support 172# Platform support
162# 173#
163CONFIG_PPC_MULTIPLATFORM=y
164CONFIG_CLASSIC32=y
165# CONFIG_PPC_CHRP is not set 174# CONFIG_PPC_CHRP is not set
166# CONFIG_MPC5121_ADS is not set 175# CONFIG_MPC5121_ADS is not set
167# CONFIG_MPC5121_GENERIC is not set 176# CONFIG_MPC5121_GENERIC is not set
@@ -176,9 +185,13 @@ CONFIG_PPC_86xx=y
176# CONFIG_MPC8641_HPCN is not set 185# CONFIG_MPC8641_HPCN is not set
177# CONFIG_SBC8641D is not set 186# CONFIG_SBC8641D is not set
178CONFIG_MPC8610_HPCD=y 187CONFIG_MPC8610_HPCD=y
188# CONFIG_GEF_PPC9A is not set
189# CONFIG_GEF_SBC310 is not set
179# CONFIG_GEF_SBC610 is not set 190# CONFIG_GEF_SBC610 is not set
180CONFIG_MPC8610=y 191CONFIG_MPC8610=y
181# CONFIG_EMBEDDED6xx is not set 192# CONFIG_EMBEDDED6xx is not set
193# CONFIG_AMIGAONE is not set
194CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
182# CONFIG_IPIC is not set 195# CONFIG_IPIC is not set
183CONFIG_MPIC=y 196CONFIG_MPIC=y
184# CONFIG_MPIC_WEIRD is not set 197# CONFIG_MPIC_WEIRD is not set
@@ -238,9 +251,12 @@ CONFIG_ZONE_DMA_FLAG=1
238CONFIG_BOUNCE=y 251CONFIG_BOUNCE=y
239CONFIG_VIRT_TO_BUS=y 252CONFIG_VIRT_TO_BUS=y
240CONFIG_UNEVICTABLE_LRU=y 253CONFIG_UNEVICTABLE_LRU=y
254CONFIG_HAVE_MLOCK=y
255CONFIG_HAVE_MLOCKED_PAGE_BIT=y
241CONFIG_PPC_4K_PAGES=y 256CONFIG_PPC_4K_PAGES=y
242# CONFIG_PPC_16K_PAGES is not set 257# CONFIG_PPC_16K_PAGES is not set
243# CONFIG_PPC_64K_PAGES is not set 258# CONFIG_PPC_64K_PAGES is not set
259# CONFIG_PPC_256K_PAGES is not set
244CONFIG_FORCE_MAX_ZONEORDER=12 260CONFIG_FORCE_MAX_ZONEORDER=12
245CONFIG_PROC_DEVICETREE=y 261CONFIG_PROC_DEVICETREE=y
246# CONFIG_CMDLINE_BOOL is not set 262# CONFIG_CMDLINE_BOOL is not set
@@ -269,6 +285,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
269# CONFIG_PCI_LEGACY is not set 285# CONFIG_PCI_LEGACY is not set
270CONFIG_PCI_DEBUG=y 286CONFIG_PCI_DEBUG=y
271# CONFIG_PCI_STUB is not set 287# CONFIG_PCI_STUB is not set
288# CONFIG_PCI_IOV is not set
272# CONFIG_PCCARD is not set 289# CONFIG_PCCARD is not set
273# CONFIG_HOTPLUG_PCI is not set 290# CONFIG_HOTPLUG_PCI is not set
274# CONFIG_HAS_RAPIDIO is not set 291# CONFIG_HAS_RAPIDIO is not set
@@ -291,7 +308,6 @@ CONFIG_NET=y
291# 308#
292# Networking options 309# Networking options
293# 310#
294CONFIG_COMPAT_NET_DEV_OPS=y
295CONFIG_PACKET=y 311CONFIG_PACKET=y
296# CONFIG_PACKET_MMAP is not set 312# CONFIG_PACKET_MMAP is not set
297CONFIG_UNIX=y 313CONFIG_UNIX=y
@@ -364,6 +380,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
364# CONFIG_LAPB is not set 380# CONFIG_LAPB is not set
365# CONFIG_ECONET is not set 381# CONFIG_ECONET is not set
366# CONFIG_WAN_ROUTER is not set 382# CONFIG_WAN_ROUTER is not set
383# CONFIG_PHONET is not set
367# CONFIG_NET_SCHED is not set 384# CONFIG_NET_SCHED is not set
368# CONFIG_DCB is not set 385# CONFIG_DCB is not set
369 386
@@ -376,7 +393,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y
376# CONFIG_IRDA is not set 393# CONFIG_IRDA is not set
377# CONFIG_BT is not set 394# CONFIG_BT is not set
378# CONFIG_AF_RXRPC is not set 395# CONFIG_AF_RXRPC is not set
379# CONFIG_PHONET is not set
380CONFIG_WIRELESS=y 396CONFIG_WIRELESS=y
381# CONFIG_CFG80211 is not set 397# CONFIG_CFG80211 is not set
382CONFIG_WIRELESS_OLD_REGULATORY=y 398CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -492,7 +508,6 @@ CONFIG_MTD_NAND_FSL_ELBC=y
492# LPDDR flash memory drivers 508# LPDDR flash memory drivers
493# 509#
494# CONFIG_MTD_LPDDR is not set 510# CONFIG_MTD_LPDDR is not set
495# CONFIG_MTD_QINFO_PROBE is not set
496 511
497# 512#
498# UBI - Unsorted block images 513# UBI - Unsorted block images
@@ -521,13 +536,20 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
521# CONFIG_BLK_DEV_HD is not set 536# CONFIG_BLK_DEV_HD is not set
522CONFIG_MISC_DEVICES=y 537CONFIG_MISC_DEVICES=y
523# CONFIG_PHANTOM is not set 538# CONFIG_PHANTOM is not set
524# CONFIG_EEPROM_93CX6 is not set
525# CONFIG_SGI_IOC4 is not set 539# CONFIG_SGI_IOC4 is not set
526# CONFIG_TIFM_CORE is not set 540# CONFIG_TIFM_CORE is not set
527# CONFIG_ICS932S401 is not set 541# CONFIG_ICS932S401 is not set
528# CONFIG_ENCLOSURE_SERVICES is not set 542# CONFIG_ENCLOSURE_SERVICES is not set
529# CONFIG_HP_ILO is not set 543# CONFIG_HP_ILO is not set
544# CONFIG_ISL29003 is not set
530# CONFIG_C2PORT is not set 545# CONFIG_C2PORT is not set
546
547#
548# EEPROM support
549#
550# CONFIG_EEPROM_AT24 is not set
551# CONFIG_EEPROM_LEGACY is not set
552# CONFIG_EEPROM_93CX6 is not set
531CONFIG_HAVE_IDE=y 553CONFIG_HAVE_IDE=y
532CONFIG_IDE=y 554CONFIG_IDE=y
533 555
@@ -632,9 +654,11 @@ CONFIG_SCSI_LOWLEVEL=y
632# CONFIG_MEGARAID_NEWGEN is not set 654# CONFIG_MEGARAID_NEWGEN is not set
633# CONFIG_MEGARAID_LEGACY is not set 655# CONFIG_MEGARAID_LEGACY is not set
634# CONFIG_MEGARAID_SAS is not set 656# CONFIG_MEGARAID_SAS is not set
657# CONFIG_SCSI_MPT2SAS is not set
635# CONFIG_SCSI_HPTIOP is not set 658# CONFIG_SCSI_HPTIOP is not set
636# CONFIG_SCSI_BUSLOGIC is not set 659# CONFIG_SCSI_BUSLOGIC is not set
637# CONFIG_LIBFC is not set 660# CONFIG_LIBFC is not set
661# CONFIG_LIBFCOE is not set
638# CONFIG_FCOE is not set 662# CONFIG_FCOE is not set
639# CONFIG_SCSI_DMX3191D is not set 663# CONFIG_SCSI_DMX3191D is not set
640# CONFIG_SCSI_EATA is not set 664# CONFIG_SCSI_EATA is not set
@@ -657,6 +681,7 @@ CONFIG_SCSI_LOWLEVEL=y
657# CONFIG_SCSI_DEBUG is not set 681# CONFIG_SCSI_DEBUG is not set
658# CONFIG_SCSI_SRP is not set 682# CONFIG_SCSI_SRP is not set
659# CONFIG_SCSI_DH is not set 683# CONFIG_SCSI_DH is not set
684# CONFIG_SCSI_OSD_INITIATOR is not set
660CONFIG_ATA=y 685CONFIG_ATA=y
661# CONFIG_ATA_NONSTANDARD is not set 686# CONFIG_ATA_NONSTANDARD is not set
662CONFIG_SATA_PMP=y 687CONFIG_SATA_PMP=y
@@ -733,6 +758,7 @@ CONFIG_PATA_ALI=y
733# CONFIG_I2O is not set 758# CONFIG_I2O is not set
734# CONFIG_MACINTOSH_DRIVERS is not set 759# CONFIG_MACINTOSH_DRIVERS is not set
735CONFIG_NETDEVICES=y 760CONFIG_NETDEVICES=y
761CONFIG_COMPAT_NET_DEV_OPS=y
736CONFIG_DUMMY=y 762CONFIG_DUMMY=y
737# CONFIG_BONDING is not set 763# CONFIG_BONDING is not set
738# CONFIG_MACVLAN is not set 764# CONFIG_MACVLAN is not set
@@ -747,6 +773,8 @@ CONFIG_NET_ETHERNET=y
747# CONFIG_SUNGEM is not set 773# CONFIG_SUNGEM is not set
748# CONFIG_CASSINI is not set 774# CONFIG_CASSINI is not set
749# CONFIG_NET_VENDOR_3COM is not set 775# CONFIG_NET_VENDOR_3COM is not set
776# CONFIG_ETHOC is not set
777# CONFIG_DNET is not set
750CONFIG_NET_TULIP=y 778CONFIG_NET_TULIP=y
751# CONFIG_DE2104X is not set 779# CONFIG_DE2104X is not set
752# CONFIG_TULIP is not set 780# CONFIG_TULIP is not set
@@ -774,7 +802,6 @@ CONFIG_ULI526X=y
774# 802#
775# CONFIG_WLAN_PRE80211 is not set 803# CONFIG_WLAN_PRE80211 is not set
776# CONFIG_WLAN_80211 is not set 804# CONFIG_WLAN_80211 is not set
777# CONFIG_IWLWIFI_LEDS is not set
778 805
779# 806#
780# Enable WiMAX (Networking options) to see the WiMAX drivers 807# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -929,12 +956,9 @@ CONFIG_I2C_MPC=y
929# Miscellaneous I2C Chip support 956# Miscellaneous I2C Chip support
930# 957#
931# CONFIG_DS1682 is not set 958# CONFIG_DS1682 is not set
932# CONFIG_EEPROM_AT24 is not set
933# CONFIG_EEPROM_LEGACY is not set
934# CONFIG_SENSORS_PCF8574 is not set 959# CONFIG_SENSORS_PCF8574 is not set
935# CONFIG_PCF8575 is not set 960# CONFIG_PCF8575 is not set
936# CONFIG_SENSORS_PCA9539 is not set 961# CONFIG_SENSORS_PCA9539 is not set
937# CONFIG_SENSORS_PCF8591 is not set
938# CONFIG_SENSORS_MAX6875 is not set 962# CONFIG_SENSORS_MAX6875 is not set
939# CONFIG_SENSORS_TSL2550 is not set 963# CONFIG_SENSORS_TSL2550 is not set
940# CONFIG_I2C_DEBUG_CORE is not set 964# CONFIG_I2C_DEBUG_CORE is not set
@@ -1049,6 +1073,7 @@ CONFIG_FB_FSL_DIU=y
1049# CONFIG_FB_VIRTUAL is not set 1073# CONFIG_FB_VIRTUAL is not set
1050# CONFIG_FB_METRONOME is not set 1074# CONFIG_FB_METRONOME is not set
1051# CONFIG_FB_MB862XX is not set 1075# CONFIG_FB_MB862XX is not set
1076# CONFIG_FB_BROADSHEET is not set
1052# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1077# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1053 1078
1054# 1079#
@@ -1069,6 +1094,7 @@ CONFIG_SOUND_OSS_CORE=y
1069CONFIG_SND=y 1094CONFIG_SND=y
1070CONFIG_SND_TIMER=y 1095CONFIG_SND_TIMER=y
1071CONFIG_SND_PCM=y 1096CONFIG_SND_PCM=y
1097CONFIG_SND_JACK=y
1072# CONFIG_SND_SEQUENCER is not set 1098# CONFIG_SND_SEQUENCER is not set
1073CONFIG_SND_OSSEMUL=y 1099CONFIG_SND_OSSEMUL=y
1074CONFIG_SND_MIXER_OSS=y 1100CONFIG_SND_MIXER_OSS=y
@@ -1116,6 +1142,8 @@ CONFIG_SND_PCI=y
1116# CONFIG_SND_INDIGO is not set 1142# CONFIG_SND_INDIGO is not set
1117# CONFIG_SND_INDIGOIO is not set 1143# CONFIG_SND_INDIGOIO is not set
1118# CONFIG_SND_INDIGODJ is not set 1144# CONFIG_SND_INDIGODJ is not set
1145# CONFIG_SND_INDIGOIOX is not set
1146# CONFIG_SND_INDIGODJX is not set
1119# CONFIG_SND_EMU10K1 is not set 1147# CONFIG_SND_EMU10K1 is not set
1120# CONFIG_SND_EMU10K1X is not set 1148# CONFIG_SND_EMU10K1X is not set
1121# CONFIG_SND_ENS1370 is not set 1149# CONFIG_SND_ENS1370 is not set
@@ -1165,7 +1193,6 @@ CONFIG_HID=y
1165# 1193#
1166# Special HID drivers 1194# Special HID drivers
1167# 1195#
1168CONFIG_HID_COMPAT=y
1169CONFIG_USB_SUPPORT=y 1196CONFIG_USB_SUPPORT=y
1170CONFIG_USB_ARCH_HAS_HCD=y 1197CONFIG_USB_ARCH_HAS_HCD=y
1171CONFIG_USB_ARCH_HAS_OHCI=y 1198CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1179,7 +1206,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1179# 1206#
1180 1207
1181# 1208#
1182# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1209# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1183# 1210#
1184# CONFIG_USB_GADGET is not set 1211# CONFIG_USB_GADGET is not set
1185 1212
@@ -1247,8 +1274,9 @@ CONFIG_RTC_DRV_CMOS=y
1247# 1274#
1248# on-CPU RTC drivers 1275# on-CPU RTC drivers
1249# 1276#
1250# CONFIG_RTC_DRV_PPC is not set 1277# CONFIG_RTC_DRV_GENERIC is not set
1251# CONFIG_DMADEVICES is not set 1278# CONFIG_DMADEVICES is not set
1279# CONFIG_AUXDISPLAY is not set
1252# CONFIG_UIO is not set 1280# CONFIG_UIO is not set
1253# CONFIG_STAGING is not set 1281# CONFIG_STAGING is not set
1254 1282
@@ -1259,6 +1287,7 @@ CONFIG_EXT2_FS=y
1259# CONFIG_EXT2_FS_XATTR is not set 1287# CONFIG_EXT2_FS_XATTR is not set
1260# CONFIG_EXT2_FS_XIP is not set 1288# CONFIG_EXT2_FS_XIP is not set
1261CONFIG_EXT3_FS=y 1289CONFIG_EXT3_FS=y
1290# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1262CONFIG_EXT3_FS_XATTR=y 1291CONFIG_EXT3_FS_XATTR=y
1263# CONFIG_EXT3_FS_POSIX_ACL is not set 1292# CONFIG_EXT3_FS_POSIX_ACL is not set
1264# CONFIG_EXT3_FS_SECURITY is not set 1293# CONFIG_EXT3_FS_SECURITY is not set
@@ -1280,6 +1309,11 @@ CONFIG_FILE_LOCKING=y
1280# CONFIG_FUSE_FS is not set 1309# CONFIG_FUSE_FS is not set
1281 1310
1282# 1311#
1312# Caches
1313#
1314# CONFIG_FSCACHE is not set
1315
1316#
1283# CD-ROM/DVD Filesystems 1317# CD-ROM/DVD Filesystems
1284# 1318#
1285# CONFIG_ISO9660_FS is not set 1319# CONFIG_ISO9660_FS is not set
@@ -1323,6 +1357,7 @@ CONFIG_MISC_FILESYSTEMS=y
1323# CONFIG_ROMFS_FS is not set 1357# CONFIG_ROMFS_FS is not set
1324# CONFIG_SYSV_FS is not set 1358# CONFIG_SYSV_FS is not set
1325# CONFIG_UFS_FS is not set 1359# CONFIG_UFS_FS is not set
1360# CONFIG_NILFS2_FS is not set
1326CONFIG_NETWORK_FILESYSTEMS=y 1361CONFIG_NETWORK_FILESYSTEMS=y
1327CONFIG_NFS_FS=y 1362CONFIG_NFS_FS=y
1328CONFIG_NFS_V3=y 1363CONFIG_NFS_V3=y
@@ -1337,7 +1372,6 @@ CONFIG_LOCKD_V4=y
1337CONFIG_EXPORTFS=y 1372CONFIG_EXPORTFS=y
1338CONFIG_NFS_COMMON=y 1373CONFIG_NFS_COMMON=y
1339CONFIG_SUNRPC=y 1374CONFIG_SUNRPC=y
1340# CONFIG_SUNRPC_REGISTER_V4 is not set
1341# CONFIG_RPCSEC_GSS_KRB5 is not set 1375# CONFIG_RPCSEC_GSS_KRB5 is not set
1342# CONFIG_RPCSEC_GSS_SPKM3 is not set 1376# CONFIG_RPCSEC_GSS_SPKM3 is not set
1343# CONFIG_SMB_FS is not set 1377# CONFIG_SMB_FS is not set
@@ -1409,6 +1443,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1409# CONFIG_NLS_KOI8_U is not set 1443# CONFIG_NLS_KOI8_U is not set
1410# CONFIG_NLS_UTF8 is not set 1444# CONFIG_NLS_UTF8 is not set
1411# CONFIG_DLM is not set 1445# CONFIG_DLM is not set
1446# CONFIG_BINARY_PRINTF is not set
1412 1447
1413# 1448#
1414# Library routines 1449# Library routines
@@ -1422,11 +1457,13 @@ CONFIG_CRC_T10DIF=y
1422CONFIG_CRC32=y 1457CONFIG_CRC32=y
1423# CONFIG_CRC7 is not set 1458# CONFIG_CRC7 is not set
1424# CONFIG_LIBCRC32C is not set 1459# CONFIG_LIBCRC32C is not set
1425CONFIG_PLIST=y 1460CONFIG_ZLIB_INFLATE=y
1461CONFIG_DECOMPRESS_GZIP=y
1426CONFIG_HAS_IOMEM=y 1462CONFIG_HAS_IOMEM=y
1427CONFIG_HAS_IOPORT=y 1463CONFIG_HAS_IOPORT=y
1428CONFIG_HAS_DMA=y 1464CONFIG_HAS_DMA=y
1429CONFIG_HAVE_LMB=y 1465CONFIG_HAVE_LMB=y
1466CONFIG_NLATTR=y
1430 1467
1431# 1468#
1432# Kernel hacking 1469# Kernel hacking
@@ -1444,6 +1481,9 @@ CONFIG_DEBUG_SHIRQ=y
1444CONFIG_DETECT_SOFTLOCKUP=y 1481CONFIG_DETECT_SOFTLOCKUP=y
1445# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1482# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1446CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1483CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1484CONFIG_DETECT_HUNG_TASK=y
1485# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1486CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1447CONFIG_SCHED_DEBUG=y 1487CONFIG_SCHED_DEBUG=y
1448# CONFIG_SCHEDSTATS is not set 1488# CONFIG_SCHEDSTATS is not set
1449# CONFIG_TIMER_STATS is not set 1489# CONFIG_TIMER_STATS is not set
@@ -1474,9 +1514,12 @@ CONFIG_DEBUG_INFO=y
1474# CONFIG_FAULT_INJECTION is not set 1514# CONFIG_FAULT_INJECTION is not set
1475# CONFIG_LATENCYTOP is not set 1515# CONFIG_LATENCYTOP is not set
1476CONFIG_SYSCTL_SYSCALL_CHECK=y 1516CONFIG_SYSCTL_SYSCALL_CHECK=y
1517# CONFIG_DEBUG_PAGEALLOC is not set
1477CONFIG_HAVE_FUNCTION_TRACER=y 1518CONFIG_HAVE_FUNCTION_TRACER=y
1519CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1478CONFIG_HAVE_DYNAMIC_FTRACE=y 1520CONFIG_HAVE_DYNAMIC_FTRACE=y
1479CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1521CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1522CONFIG_TRACING_SUPPORT=y
1480 1523
1481# 1524#
1482# Tracers 1525# Tracers
@@ -1484,17 +1527,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1484# CONFIG_FUNCTION_TRACER is not set 1527# CONFIG_FUNCTION_TRACER is not set
1485# CONFIG_SCHED_TRACER is not set 1528# CONFIG_SCHED_TRACER is not set
1486# CONFIG_CONTEXT_SWITCH_TRACER is not set 1529# CONFIG_CONTEXT_SWITCH_TRACER is not set
1530# CONFIG_EVENT_TRACER is not set
1487# CONFIG_BOOT_TRACER is not set 1531# CONFIG_BOOT_TRACER is not set
1488# CONFIG_TRACE_BRANCH_PROFILING is not set 1532# CONFIG_TRACE_BRANCH_PROFILING is not set
1489# CONFIG_STACK_TRACER is not set 1533# CONFIG_STACK_TRACER is not set
1490# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1534# CONFIG_KMEMTRACE is not set
1535# CONFIG_WORKQUEUE_TRACER is not set
1536# CONFIG_BLK_DEV_IO_TRACE is not set
1491# CONFIG_SAMPLES is not set 1537# CONFIG_SAMPLES is not set
1492CONFIG_HAVE_ARCH_KGDB=y 1538CONFIG_HAVE_ARCH_KGDB=y
1493# CONFIG_KGDB is not set 1539# CONFIG_KGDB is not set
1494CONFIG_PRINT_STACK_DEPTH=64 1540CONFIG_PRINT_STACK_DEPTH=64
1495# CONFIG_DEBUG_STACKOVERFLOW is not set 1541# CONFIG_DEBUG_STACKOVERFLOW is not set
1496# CONFIG_DEBUG_STACK_USAGE is not set 1542# CONFIG_DEBUG_STACK_USAGE is not set
1497# CONFIG_DEBUG_PAGEALLOC is not set
1498# CONFIG_CODE_PATCHING_SELFTEST is not set 1543# CONFIG_CODE_PATCHING_SELFTEST is not set
1499# CONFIG_FTR_FIXUP_SELFTEST is not set 1544# CONFIG_FTR_FIXUP_SELFTEST is not set
1500# CONFIG_MSI_BITMAP_SELFTEST is not set 1545# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1589,6 +1634,7 @@ CONFIG_CRYPTO=y
1589# Compression 1634# Compression
1590# 1635#
1591# CONFIG_CRYPTO_DEFLATE is not set 1636# CONFIG_CRYPTO_DEFLATE is not set
1637# CONFIG_CRYPTO_ZLIB is not set
1592# CONFIG_CRYPTO_LZO is not set 1638# CONFIG_CRYPTO_LZO is not set
1593 1639
1594# 1640#
diff --git a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
index 92acfdf3540a..0bee3e303942 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:25 2009 4# Wed May 13 17:22:28 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_PHYS_64BIT is not set 19# CONFIG_PHYS_64BIT is not set
19CONFIG_ALTIVEC=y 20CONFIG_ALTIVEC=y
@@ -56,6 +57,7 @@ CONFIG_GENERIC_BUG=y
56CONFIG_DEFAULT_UIMAGE=y 57CONFIG_DEFAULT_UIMAGE=y
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -70,11 +72,21 @@ CONFIG_SWAP=y
70CONFIG_SYSVIPC=y 72CONFIG_SYSVIPC=y
71CONFIG_SYSVIPC_SYSCTL=y 73CONFIG_SYSVIPC_SYSCTL=y
72CONFIG_POSIX_MQUEUE=y 74CONFIG_POSIX_MQUEUE=y
75CONFIG_POSIX_MQUEUE_SYSCTL=y
73CONFIG_BSD_PROCESS_ACCT=y 76CONFIG_BSD_PROCESS_ACCT=y
74# CONFIG_BSD_PROCESS_ACCT_V3 is not set 77# CONFIG_BSD_PROCESS_ACCT_V3 is not set
75# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
76CONFIG_AUDIT=y 79CONFIG_AUDIT=y
77# CONFIG_AUDITSYSCALL is not set 80# CONFIG_AUDITSYSCALL is not set
81
82#
83# RCU Subsystem
84#
85CONFIG_CLASSIC_RCU=y
86# CONFIG_TREE_RCU is not set
87# CONFIG_PREEMPT_RCU is not set
88# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
78CONFIG_IKCONFIG=y 90CONFIG_IKCONFIG=y
79CONFIG_IKCONFIG_PROC=y 91CONFIG_IKCONFIG_PROC=y
80CONFIG_LOG_BUF_SHIFT=14 92CONFIG_LOG_BUF_SHIFT=14
@@ -90,22 +102,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
90# CONFIG_NAMESPACES is not set 102# CONFIG_NAMESPACES is not set
91CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
92CONFIG_INITRAMFS_SOURCE="" 104CONFIG_INITRAMFS_SOURCE=""
105CONFIG_RD_GZIP=y
106# CONFIG_RD_BZIP2 is not set
107# CONFIG_RD_LZMA is not set
93# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 108# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
94CONFIG_SYSCTL=y 109CONFIG_SYSCTL=y
110CONFIG_ANON_INODES=y
95CONFIG_EMBEDDED=y 111CONFIG_EMBEDDED=y
96CONFIG_SYSCTL_SYSCALL=y 112CONFIG_SYSCTL_SYSCALL=y
97CONFIG_KALLSYMS=y 113CONFIG_KALLSYMS=y
98CONFIG_KALLSYMS_ALL=y 114CONFIG_KALLSYMS_ALL=y
99CONFIG_KALLSYMS_STRIP_GENERATED=y
100CONFIG_KALLSYMS_EXTRA_PASS=y 115CONFIG_KALLSYMS_EXTRA_PASS=y
116# CONFIG_STRIP_ASM_SYMS is not set
101CONFIG_HOTPLUG=y 117CONFIG_HOTPLUG=y
102CONFIG_PRINTK=y 118CONFIG_PRINTK=y
103CONFIG_BUG=y 119CONFIG_BUG=y
104CONFIG_ELF_CORE=y 120CONFIG_ELF_CORE=y
105CONFIG_COMPAT_BRK=y
106CONFIG_BASE_FULL=y 121CONFIG_BASE_FULL=y
107CONFIG_FUTEX=y 122CONFIG_FUTEX=y
108CONFIG_ANON_INODES=y
109CONFIG_EPOLL=y 123CONFIG_EPOLL=y
110CONFIG_SIGNALFD=y 124CONFIG_SIGNALFD=y
111CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
@@ -115,10 +129,12 @@ CONFIG_AIO=y
115CONFIG_VM_EVENT_COUNTERS=y 129CONFIG_VM_EVENT_COUNTERS=y
116CONFIG_PCI_QUIRKS=y 130CONFIG_PCI_QUIRKS=y
117CONFIG_SLUB_DEBUG=y 131CONFIG_SLUB_DEBUG=y
132CONFIG_COMPAT_BRK=y
118# CONFIG_SLAB is not set 133# CONFIG_SLAB is not set
119CONFIG_SLUB=y 134CONFIG_SLUB=y
120# CONFIG_SLOB is not set 135# CONFIG_SLOB is not set
121# CONFIG_PROFILING is not set 136# CONFIG_PROFILING is not set
137# CONFIG_MARKERS is not set
122CONFIG_HAVE_OPROFILE=y 138CONFIG_HAVE_OPROFILE=y
123# CONFIG_KPROBES is not set 139# CONFIG_KPROBES is not set
124CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 140CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -127,6 +143,7 @@ CONFIG_HAVE_KPROBES=y
127CONFIG_HAVE_KRETPROBES=y 143CONFIG_HAVE_KRETPROBES=y
128CONFIG_HAVE_ARCH_TRACEHOOK=y 144CONFIG_HAVE_ARCH_TRACEHOOK=y
129CONFIG_USE_GENERIC_SMP_HELPERS=y 145CONFIG_USE_GENERIC_SMP_HELPERS=y
146# CONFIG_SLOW_WORK is not set
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 147# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 148CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 149CONFIG_RT_MUTEXES=y
@@ -140,7 +157,6 @@ CONFIG_MODVERSIONS=y
140CONFIG_STOP_MACHINE=y 157CONFIG_STOP_MACHINE=y
141CONFIG_BLOCK=y 158CONFIG_BLOCK=y
142CONFIG_LBD=y 159CONFIG_LBD=y
143# CONFIG_BLK_DEV_IO_TRACE is not set
144# CONFIG_BLK_DEV_BSG is not set 160# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set 161# CONFIG_BLK_DEV_INTEGRITY is not set
146 162
@@ -156,18 +172,11 @@ CONFIG_IOSCHED_CFQ=y
156CONFIG_DEFAULT_CFQ=y 172CONFIG_DEFAULT_CFQ=y
157# CONFIG_DEFAULT_NOOP is not set 173# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="cfq" 174CONFIG_DEFAULT_IOSCHED="cfq"
159CONFIG_CLASSIC_RCU=y
160# CONFIG_TREE_RCU is not set
161# CONFIG_PREEMPT_RCU is not set
162# CONFIG_TREE_RCU_TRACE is not set
163# CONFIG_PREEMPT_RCU_TRACE is not set
164# CONFIG_FREEZER is not set 175# CONFIG_FREEZER is not set
165 176
166# 177#
167# Platform support 178# Platform support
168# 179#
169CONFIG_PPC_MULTIPLATFORM=y
170CONFIG_CLASSIC32=y
171# CONFIG_PPC_CHRP is not set 180# CONFIG_PPC_CHRP is not set
172# CONFIG_MPC5121_ADS is not set 181# CONFIG_MPC5121_ADS is not set
173# CONFIG_MPC5121_GENERIC is not set 182# CONFIG_MPC5121_GENERIC is not set
@@ -182,8 +191,11 @@ CONFIG_PPC_86xx=y
182CONFIG_MPC8641_HPCN=y 191CONFIG_MPC8641_HPCN=y
183# CONFIG_SBC8641D is not set 192# CONFIG_SBC8641D is not set
184# CONFIG_MPC8610_HPCD is not set 193# CONFIG_MPC8610_HPCD is not set
194# CONFIG_GEF_PPC9A is not set
195# CONFIG_GEF_SBC310 is not set
185# CONFIG_GEF_SBC610 is not set 196# CONFIG_GEF_SBC610 is not set
186CONFIG_MPC8641=y 197CONFIG_MPC8641=y
198CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
187# CONFIG_IPIC is not set 199# CONFIG_IPIC is not set
188CONFIG_MPIC=y 200CONFIG_MPIC=y
189# CONFIG_MPIC_WEIRD is not set 201# CONFIG_MPIC_WEIRD is not set
@@ -245,9 +257,12 @@ CONFIG_ZONE_DMA_FLAG=1
245CONFIG_BOUNCE=y 257CONFIG_BOUNCE=y
246CONFIG_VIRT_TO_BUS=y 258CONFIG_VIRT_TO_BUS=y
247CONFIG_UNEVICTABLE_LRU=y 259CONFIG_UNEVICTABLE_LRU=y
260CONFIG_HAVE_MLOCK=y
261CONFIG_HAVE_MLOCKED_PAGE_BIT=y
248CONFIG_PPC_4K_PAGES=y 262CONFIG_PPC_4K_PAGES=y
249# CONFIG_PPC_16K_PAGES is not set 263# CONFIG_PPC_16K_PAGES is not set
250# CONFIG_PPC_64K_PAGES is not set 264# CONFIG_PPC_64K_PAGES is not set
265# CONFIG_PPC_256K_PAGES is not set
251CONFIG_FORCE_MAX_ZONEORDER=11 266CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 267CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 268# CONFIG_CMDLINE_BOOL is not set
@@ -274,6 +289,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
274# CONFIG_PCI_LEGACY is not set 289# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCI_DEBUG is not set 290# CONFIG_PCI_DEBUG is not set
276# CONFIG_PCI_STUB is not set 291# CONFIG_PCI_STUB is not set
292# CONFIG_PCI_IOV is not set
277# CONFIG_PCCARD is not set 293# CONFIG_PCCARD is not set
278# CONFIG_HOTPLUG_PCI is not set 294# CONFIG_HOTPLUG_PCI is not set
279CONFIG_HAS_RAPIDIO=y 295CONFIG_HAS_RAPIDIO=y
@@ -297,7 +313,6 @@ CONFIG_NET=y
297# 313#
298# Networking options 314# Networking options
299# 315#
300CONFIG_COMPAT_NET_DEV_OPS=y
301CONFIG_PACKET=y 316CONFIG_PACKET=y
302# CONFIG_PACKET_MMAP is not set 317# CONFIG_PACKET_MMAP is not set
303CONFIG_UNIX=y 318CONFIG_UNIX=y
@@ -385,6 +400,7 @@ CONFIG_SCTP_HMAC_MD5=y
385# CONFIG_LAPB is not set 400# CONFIG_LAPB is not set
386# CONFIG_ECONET is not set 401# CONFIG_ECONET is not set
387# CONFIG_WAN_ROUTER is not set 402# CONFIG_WAN_ROUTER is not set
403# CONFIG_PHONET is not set
388# CONFIG_NET_SCHED is not set 404# CONFIG_NET_SCHED is not set
389# CONFIG_DCB is not set 405# CONFIG_DCB is not set
390 406
@@ -397,7 +413,6 @@ CONFIG_SCTP_HMAC_MD5=y
397# CONFIG_IRDA is not set 413# CONFIG_IRDA is not set
398# CONFIG_BT is not set 414# CONFIG_BT is not set
399# CONFIG_AF_RXRPC is not set 415# CONFIG_AF_RXRPC is not set
400# CONFIG_PHONET is not set
401CONFIG_FIB_RULES=y 416CONFIG_FIB_RULES=y
402CONFIG_WIRELESS=y 417CONFIG_WIRELESS=y
403# CONFIG_CFG80211 is not set 418# CONFIG_CFG80211 is not set
@@ -451,13 +466,20 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
451# CONFIG_BLK_DEV_HD is not set 466# CONFIG_BLK_DEV_HD is not set
452CONFIG_MISC_DEVICES=y 467CONFIG_MISC_DEVICES=y
453# CONFIG_PHANTOM is not set 468# CONFIG_PHANTOM is not set
454# CONFIG_EEPROM_93CX6 is not set
455# CONFIG_SGI_IOC4 is not set 469# CONFIG_SGI_IOC4 is not set
456# CONFIG_TIFM_CORE is not set 470# CONFIG_TIFM_CORE is not set
457# CONFIG_ICS932S401 is not set 471# CONFIG_ICS932S401 is not set
458# CONFIG_ENCLOSURE_SERVICES is not set 472# CONFIG_ENCLOSURE_SERVICES is not set
459# CONFIG_HP_ILO is not set 473# CONFIG_HP_ILO is not set
474# CONFIG_ISL29003 is not set
460# CONFIG_C2PORT is not set 475# CONFIG_C2PORT is not set
476
477#
478# EEPROM support
479#
480# CONFIG_EEPROM_AT24 is not set
481CONFIG_EEPROM_LEGACY=y
482# CONFIG_EEPROM_93CX6 is not set
461CONFIG_HAVE_IDE=y 483CONFIG_HAVE_IDE=y
462# CONFIG_IDE is not set 484# CONFIG_IDE is not set
463 485
@@ -516,9 +538,11 @@ CONFIG_SCSI_LOWLEVEL=y
516# CONFIG_MEGARAID_NEWGEN is not set 538# CONFIG_MEGARAID_NEWGEN is not set
517# CONFIG_MEGARAID_LEGACY is not set 539# CONFIG_MEGARAID_LEGACY is not set
518# CONFIG_MEGARAID_SAS is not set 540# CONFIG_MEGARAID_SAS is not set
541# CONFIG_SCSI_MPT2SAS is not set
519# CONFIG_SCSI_HPTIOP is not set 542# CONFIG_SCSI_HPTIOP is not set
520# CONFIG_SCSI_BUSLOGIC is not set 543# CONFIG_SCSI_BUSLOGIC is not set
521# CONFIG_LIBFC is not set 544# CONFIG_LIBFC is not set
545# CONFIG_LIBFCOE is not set
522# CONFIG_FCOE is not set 546# CONFIG_FCOE is not set
523# CONFIG_SCSI_DMX3191D is not set 547# CONFIG_SCSI_DMX3191D is not set
524# CONFIG_SCSI_EATA is not set 548# CONFIG_SCSI_EATA is not set
@@ -541,6 +565,7 @@ CONFIG_SCSI_LOWLEVEL=y
541# CONFIG_SCSI_DEBUG is not set 565# CONFIG_SCSI_DEBUG is not set
542# CONFIG_SCSI_SRP is not set 566# CONFIG_SCSI_SRP is not set
543# CONFIG_SCSI_DH is not set 567# CONFIG_SCSI_DH is not set
568# CONFIG_SCSI_OSD_INITIATOR is not set
544CONFIG_ATA=y 569CONFIG_ATA=y
545# CONFIG_ATA_NONSTANDARD is not set 570# CONFIG_ATA_NONSTANDARD is not set
546CONFIG_SATA_PMP=y 571CONFIG_SATA_PMP=y
@@ -617,6 +642,7 @@ CONFIG_PATA_ALI=y
617# CONFIG_I2O is not set 642# CONFIG_I2O is not set
618# CONFIG_MACINTOSH_DRIVERS is not set 643# CONFIG_MACINTOSH_DRIVERS is not set
619CONFIG_NETDEVICES=y 644CONFIG_NETDEVICES=y
645CONFIG_COMPAT_NET_DEV_OPS=y
620CONFIG_DUMMY=y 646CONFIG_DUMMY=y
621# CONFIG_BONDING is not set 647# CONFIG_BONDING is not set
622# CONFIG_MACVLAN is not set 648# CONFIG_MACVLAN is not set
@@ -650,6 +676,8 @@ CONFIG_MII=y
650# CONFIG_SUNGEM is not set 676# CONFIG_SUNGEM is not set
651# CONFIG_CASSINI is not set 677# CONFIG_CASSINI is not set
652# CONFIG_NET_VENDOR_3COM is not set 678# CONFIG_NET_VENDOR_3COM is not set
679# CONFIG_ETHOC is not set
680# CONFIG_DNET is not set
653# CONFIG_NET_TULIP is not set 681# CONFIG_NET_TULIP is not set
654# CONFIG_HP100 is not set 682# CONFIG_HP100 is not set
655# CONFIG_IBM_NEW_EMAC_ZMII is not set 683# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -669,6 +697,7 @@ CONFIG_NETDEV_1000=y
669# CONFIG_E1000E is not set 697# CONFIG_E1000E is not set
670# CONFIG_IP1000 is not set 698# CONFIG_IP1000 is not set
671# CONFIG_IGB is not set 699# CONFIG_IGB is not set
700# CONFIG_IGBVF is not set
672# CONFIG_NS83820 is not set 701# CONFIG_NS83820 is not set
673# CONFIG_HAMACHI is not set 702# CONFIG_HAMACHI is not set
674# CONFIG_YELLOWFIN is not set 703# CONFIG_YELLOWFIN is not set
@@ -679,11 +708,12 @@ CONFIG_NETDEV_1000=y
679# CONFIG_VIA_VELOCITY is not set 708# CONFIG_VIA_VELOCITY is not set
680# CONFIG_TIGON3 is not set 709# CONFIG_TIGON3 is not set
681# CONFIG_BNX2 is not set 710# CONFIG_BNX2 is not set
711CONFIG_FSL_PQ_MDIO=y
682CONFIG_GIANFAR=y 712CONFIG_GIANFAR=y
683# CONFIG_MV643XX_ETH is not set
684# CONFIG_QLA3XXX is not set 713# CONFIG_QLA3XXX is not set
685# CONFIG_ATL1 is not set 714# CONFIG_ATL1 is not set
686# CONFIG_ATL1E is not set 715# CONFIG_ATL1E is not set
716# CONFIG_ATL1C is not set
687# CONFIG_JME is not set 717# CONFIG_JME is not set
688CONFIG_NETDEV_10000=y 718CONFIG_NETDEV_10000=y
689# CONFIG_CHELSIO_T1 is not set 719# CONFIG_CHELSIO_T1 is not set
@@ -693,6 +723,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
693# CONFIG_IXGBE is not set 723# CONFIG_IXGBE is not set
694# CONFIG_IXGB is not set 724# CONFIG_IXGB is not set
695# CONFIG_S2IO is not set 725# CONFIG_S2IO is not set
726# CONFIG_VXGE is not set
696# CONFIG_MYRI10GE is not set 727# CONFIG_MYRI10GE is not set
697# CONFIG_NETXEN_NIC is not set 728# CONFIG_NETXEN_NIC is not set
698# CONFIG_NIU is not set 729# CONFIG_NIU is not set
@@ -702,6 +733,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
702# CONFIG_BNX2X is not set 733# CONFIG_BNX2X is not set
703# CONFIG_QLGE is not set 734# CONFIG_QLGE is not set
704# CONFIG_SFC is not set 735# CONFIG_SFC is not set
736# CONFIG_BE2NET is not set
705# CONFIG_TR is not set 737# CONFIG_TR is not set
706 738
707# 739#
@@ -709,7 +741,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
709# 741#
710# CONFIG_WLAN_PRE80211 is not set 742# CONFIG_WLAN_PRE80211 is not set
711# CONFIG_WLAN_80211 is not set 743# CONFIG_WLAN_80211 is not set
712# CONFIG_IWLWIFI_LEDS is not set
713 744
714# 745#
715# Enable WiMAX (Networking options) to see the WiMAX drivers 746# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -875,12 +906,9 @@ CONFIG_I2C_MPC=y
875# Miscellaneous I2C Chip support 906# Miscellaneous I2C Chip support
876# 907#
877# CONFIG_DS1682 is not set 908# CONFIG_DS1682 is not set
878# CONFIG_EEPROM_AT24 is not set
879CONFIG_EEPROM_LEGACY=y
880# CONFIG_SENSORS_PCF8574 is not set 909# CONFIG_SENSORS_PCF8574 is not set
881# CONFIG_PCF8575 is not set 910# CONFIG_PCF8575 is not set
882# CONFIG_SENSORS_PCA9539 is not set 911# CONFIG_SENSORS_PCA9539 is not set
883# CONFIG_SENSORS_PCF8591 is not set
884# CONFIG_SENSORS_MAX6875 is not set 912# CONFIG_SENSORS_MAX6875 is not set
885# CONFIG_SENSORS_TSL2550 is not set 913# CONFIG_SENSORS_TSL2550 is not set
886# CONFIG_I2C_DEBUG_CORE is not set 914# CONFIG_I2C_DEBUG_CORE is not set
@@ -933,7 +961,7 @@ CONFIG_VIDEO_MEDIA=m
933# 961#
934# CONFIG_MEDIA_ATTACH is not set 962# CONFIG_MEDIA_ATTACH is not set
935CONFIG_MEDIA_TUNER=m 963CONFIG_MEDIA_TUNER=m
936# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set 964# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
937CONFIG_MEDIA_TUNER_SIMPLE=m 965CONFIG_MEDIA_TUNER_SIMPLE=m
938CONFIG_MEDIA_TUNER_TDA8290=m 966CONFIG_MEDIA_TUNER_TDA8290=m
939CONFIG_MEDIA_TUNER_TDA9887=m 967CONFIG_MEDIA_TUNER_TDA9887=m
@@ -942,6 +970,7 @@ CONFIG_MEDIA_TUNER_TEA5767=m
942CONFIG_MEDIA_TUNER_MT20XX=m 970CONFIG_MEDIA_TUNER_MT20XX=m
943CONFIG_MEDIA_TUNER_XC2028=m 971CONFIG_MEDIA_TUNER_XC2028=m
944CONFIG_MEDIA_TUNER_XC5000=m 972CONFIG_MEDIA_TUNER_XC5000=m
973CONFIG_MEDIA_TUNER_MC44S803=m
945# CONFIG_DVB_DYNAMIC_MINORS is not set 974# CONFIG_DVB_DYNAMIC_MINORS is not set
946CONFIG_DVB_CAPTURE_DRIVERS=y 975CONFIG_DVB_CAPTURE_DRIVERS=y
947 976
@@ -981,103 +1010,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
981# 1010#
982# Supported DVB Frontends 1011# Supported DVB Frontends
983# 1012#
984
985#
986# Customise DVB Frontends
987#
988# CONFIG_DVB_FE_CUSTOMISE is not set 1013# CONFIG_DVB_FE_CUSTOMISE is not set
989
990#
991# Multistandard (satellite) frontends
992#
993# CONFIG_DVB_STB0899 is not set
994# CONFIG_DVB_STB6100 is not set
995
996#
997# DVB-S (satellite) frontends
998#
999# CONFIG_DVB_CX24110 is not set
1000# CONFIG_DVB_CX24123 is not set
1001# CONFIG_DVB_MT312 is not set
1002# CONFIG_DVB_S5H1420 is not set
1003# CONFIG_DVB_STV0288 is not set
1004# CONFIG_DVB_STB6000 is not set
1005# CONFIG_DVB_STV0299 is not set
1006# CONFIG_DVB_TDA8083 is not set
1007# CONFIG_DVB_TDA10086 is not set
1008# CONFIG_DVB_TDA8261 is not set
1009# CONFIG_DVB_VES1X93 is not set
1010# CONFIG_DVB_TUNER_ITD1000 is not set
1011# CONFIG_DVB_TUNER_CX24113 is not set
1012# CONFIG_DVB_TDA826X is not set
1013# CONFIG_DVB_TUA6100 is not set
1014# CONFIG_DVB_CX24116 is not set
1015# CONFIG_DVB_SI21XX is not set
1016
1017#
1018# DVB-T (terrestrial) frontends
1019#
1020# CONFIG_DVB_SP8870 is not set
1021# CONFIG_DVB_SP887X is not set
1022# CONFIG_DVB_CX22700 is not set
1023# CONFIG_DVB_CX22702 is not set
1024# CONFIG_DVB_DRX397XD is not set
1025# CONFIG_DVB_L64781 is not set
1026# CONFIG_DVB_TDA1004X is not set
1027# CONFIG_DVB_NXT6000 is not set
1028# CONFIG_DVB_MT352 is not set
1029# CONFIG_DVB_ZL10353 is not set
1030# CONFIG_DVB_DIB3000MB is not set
1031# CONFIG_DVB_DIB3000MC is not set
1032# CONFIG_DVB_DIB7000M is not set
1033# CONFIG_DVB_DIB7000P is not set
1034# CONFIG_DVB_TDA10048 is not set
1035
1036#
1037# DVB-C (cable) frontends
1038#
1039# CONFIG_DVB_VES1820 is not set
1040# CONFIG_DVB_TDA10021 is not set
1041# CONFIG_DVB_TDA10023 is not set
1042# CONFIG_DVB_STV0297 is not set
1043
1044#
1045# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
1046#
1047# CONFIG_DVB_NXT200X is not set
1048# CONFIG_DVB_OR51211 is not set
1049# CONFIG_DVB_OR51132 is not set
1050# CONFIG_DVB_BCM3510 is not set
1051# CONFIG_DVB_LGDT330X is not set
1052# CONFIG_DVB_LGDT3304 is not set
1053# CONFIG_DVB_S5H1409 is not set
1054# CONFIG_DVB_AU8522 is not set
1055# CONFIG_DVB_S5H1411 is not set
1056
1057#
1058# ISDB-T (terrestrial) frontends
1059#
1060# CONFIG_DVB_S921 is not set
1061
1062#
1063# Digital terrestrial only tuners/PLL
1064#
1065# CONFIG_DVB_PLL is not set
1066# CONFIG_DVB_TUNER_DIB0070 is not set
1067
1068#
1069# SEC control devices for DVB-S
1070#
1071# CONFIG_DVB_LNBP21 is not set
1072# CONFIG_DVB_ISL6405 is not set
1073# CONFIG_DVB_ISL6421 is not set
1074# CONFIG_DVB_LGS8GL5 is not set
1075
1076#
1077# Tools to develop new frontends
1078#
1079# CONFIG_DVB_DUMMY_FE is not set
1080# CONFIG_DVB_AF9013 is not set
1081CONFIG_DAB=y 1014CONFIG_DAB=y
1082# CONFIG_USB_DABUSB is not set 1015# CONFIG_USB_DABUSB is not set
1083 1016
@@ -1157,6 +1090,8 @@ CONFIG_SND_PCI=y
1157# CONFIG_SND_INDIGO is not set 1090# CONFIG_SND_INDIGO is not set
1158# CONFIG_SND_INDIGOIO is not set 1091# CONFIG_SND_INDIGOIO is not set
1159# CONFIG_SND_INDIGODJ is not set 1092# CONFIG_SND_INDIGODJ is not set
1093# CONFIG_SND_INDIGOIOX is not set
1094# CONFIG_SND_INDIGODJX is not set
1160# CONFIG_SND_EMU10K1 is not set 1095# CONFIG_SND_EMU10K1 is not set
1161# CONFIG_SND_EMU10K1X is not set 1096# CONFIG_SND_EMU10K1X is not set
1162# CONFIG_SND_ENS1370 is not set 1097# CONFIG_SND_ENS1370 is not set
@@ -1211,15 +1146,17 @@ CONFIG_USB_HID=y
1211# 1146#
1212# Special HID drivers 1147# Special HID drivers
1213# 1148#
1214CONFIG_HID_COMPAT=y
1215CONFIG_HID_A4TECH=y 1149CONFIG_HID_A4TECH=y
1216CONFIG_HID_APPLE=y 1150CONFIG_HID_APPLE=y
1217CONFIG_HID_BELKIN=y 1151CONFIG_HID_BELKIN=y
1218CONFIG_HID_CHERRY=y 1152CONFIG_HID_CHERRY=y
1219CONFIG_HID_CHICONY=y 1153CONFIG_HID_CHICONY=y
1220CONFIG_HID_CYPRESS=y 1154CONFIG_HID_CYPRESS=y
1155# CONFIG_DRAGONRISE_FF is not set
1221CONFIG_HID_EZKEY=y 1156CONFIG_HID_EZKEY=y
1157# CONFIG_HID_KYE is not set
1222CONFIG_HID_GYRATION=y 1158CONFIG_HID_GYRATION=y
1159# CONFIG_HID_KENSINGTON is not set
1223CONFIG_HID_LOGITECH=y 1160CONFIG_HID_LOGITECH=y
1224# CONFIG_LOGITECH_FF is not set 1161# CONFIG_LOGITECH_FF is not set
1225# CONFIG_LOGIRUMBLEPAD2_FF is not set 1162# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1292,11 +1229,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1292# CONFIG_USB_TMC is not set 1229# CONFIG_USB_TMC is not set
1293 1230
1294# 1231#
1295# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1232# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1296# 1233#
1297 1234
1298# 1235#
1299# see USB_STORAGE Help for more information 1236# also be needed; see USB_STORAGE Help for more info
1300# 1237#
1301CONFIG_USB_STORAGE=y 1238CONFIG_USB_STORAGE=y
1302# CONFIG_USB_STORAGE_DEBUG is not set 1239# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1338,7 +1275,6 @@ CONFIG_USB_STORAGE=y
1338# CONFIG_USB_LED is not set 1275# CONFIG_USB_LED is not set
1339# CONFIG_USB_CYPRESS_CY7C63 is not set 1276# CONFIG_USB_CYPRESS_CY7C63 is not set
1340# CONFIG_USB_CYTHERM is not set 1277# CONFIG_USB_CYTHERM is not set
1341# CONFIG_USB_PHIDGET is not set
1342# CONFIG_USB_IDMOUSE is not set 1278# CONFIG_USB_IDMOUSE is not set
1343# CONFIG_USB_FTDI_ELAN is not set 1279# CONFIG_USB_FTDI_ELAN is not set
1344# CONFIG_USB_APPLEDISPLAY is not set 1280# CONFIG_USB_APPLEDISPLAY is not set
@@ -1354,6 +1290,7 @@ CONFIG_USB_STORAGE=y
1354# 1290#
1355# OTG and related infrastructure 1291# OTG and related infrastructure
1356# 1292#
1293# CONFIG_NOP_USB_XCEIV is not set
1357# CONFIG_UWB is not set 1294# CONFIG_UWB is not set
1358# CONFIG_MMC is not set 1295# CONFIG_MMC is not set
1359# CONFIG_MEMSTICK is not set 1296# CONFIG_MEMSTICK is not set
@@ -1415,8 +1352,9 @@ CONFIG_RTC_DRV_CMOS=y
1415# 1352#
1416# on-CPU RTC drivers 1353# on-CPU RTC drivers
1417# 1354#
1418# CONFIG_RTC_DRV_PPC is not set 1355# CONFIG_RTC_DRV_GENERIC is not set
1419# CONFIG_DMADEVICES is not set 1356# CONFIG_DMADEVICES is not set
1357# CONFIG_AUXDISPLAY is not set
1420# CONFIG_UIO is not set 1358# CONFIG_UIO is not set
1421# CONFIG_STAGING is not set 1359# CONFIG_STAGING is not set
1422 1360
@@ -1427,6 +1365,7 @@ CONFIG_EXT2_FS=y
1427# CONFIG_EXT2_FS_XATTR is not set 1365# CONFIG_EXT2_FS_XATTR is not set
1428# CONFIG_EXT2_FS_XIP is not set 1366# CONFIG_EXT2_FS_XIP is not set
1429CONFIG_EXT3_FS=y 1367CONFIG_EXT3_FS=y
1368# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1430CONFIG_EXT3_FS_XATTR=y 1369CONFIG_EXT3_FS_XATTR=y
1431# CONFIG_EXT3_FS_POSIX_ACL is not set 1370# CONFIG_EXT3_FS_POSIX_ACL is not set
1432# CONFIG_EXT3_FS_SECURITY is not set 1371# CONFIG_EXT3_FS_SECURITY is not set
@@ -1450,6 +1389,11 @@ CONFIG_INOTIFY_USER=y
1450# CONFIG_FUSE_FS is not set 1389# CONFIG_FUSE_FS is not set
1451 1390
1452# 1391#
1392# Caches
1393#
1394# CONFIG_FSCACHE is not set
1395
1396#
1453# CD-ROM/DVD Filesystems 1397# CD-ROM/DVD Filesystems
1454# 1398#
1455CONFIG_ISO9660_FS=m 1399CONFIG_ISO9660_FS=m
@@ -1504,6 +1448,7 @@ CONFIG_SYSV_FS=m
1504CONFIG_UFS_FS=m 1448CONFIG_UFS_FS=m
1505# CONFIG_UFS_FS_WRITE is not set 1449# CONFIG_UFS_FS_WRITE is not set
1506# CONFIG_UFS_DEBUG is not set 1450# CONFIG_UFS_DEBUG is not set
1451# CONFIG_NILFS2_FS is not set
1507CONFIG_NETWORK_FILESYSTEMS=y 1452CONFIG_NETWORK_FILESYSTEMS=y
1508CONFIG_NFS_FS=y 1453CONFIG_NFS_FS=y
1509CONFIG_NFS_V3=y 1454CONFIG_NFS_V3=y
@@ -1519,7 +1464,6 @@ CONFIG_EXPORTFS=y
1519CONFIG_NFS_COMMON=y 1464CONFIG_NFS_COMMON=y
1520CONFIG_SUNRPC=y 1465CONFIG_SUNRPC=y
1521CONFIG_SUNRPC_GSS=y 1466CONFIG_SUNRPC_GSS=y
1522# CONFIG_SUNRPC_REGISTER_V4 is not set
1523CONFIG_RPCSEC_GSS_KRB5=y 1467CONFIG_RPCSEC_GSS_KRB5=y
1524# CONFIG_RPCSEC_GSS_SPKM3 is not set 1468# CONFIG_RPCSEC_GSS_SPKM3 is not set
1525# CONFIG_SMB_FS is not set 1469# CONFIG_SMB_FS is not set
@@ -1590,6 +1534,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1590# CONFIG_NLS_KOI8_U is not set 1534# CONFIG_NLS_KOI8_U is not set
1591CONFIG_NLS_UTF8=m 1535CONFIG_NLS_UTF8=m
1592# CONFIG_DLM is not set 1536# CONFIG_DLM is not set
1537# CONFIG_BINARY_PRINTF is not set
1593 1538
1594# 1539#
1595# Library routines 1540# Library routines
@@ -1604,11 +1549,12 @@ CONFIG_CRC32=y
1604# CONFIG_CRC7 is not set 1549# CONFIG_CRC7 is not set
1605CONFIG_LIBCRC32C=m 1550CONFIG_LIBCRC32C=m
1606CONFIG_ZLIB_INFLATE=y 1551CONFIG_ZLIB_INFLATE=y
1607CONFIG_PLIST=y 1552CONFIG_DECOMPRESS_GZIP=y
1608CONFIG_HAS_IOMEM=y 1553CONFIG_HAS_IOMEM=y
1609CONFIG_HAS_IOPORT=y 1554CONFIG_HAS_IOPORT=y
1610CONFIG_HAS_DMA=y 1555CONFIG_HAS_DMA=y
1611CONFIG_HAVE_LMB=y 1556CONFIG_HAVE_LMB=y
1557CONFIG_NLATTR=y
1612 1558
1613# 1559#
1614# Kernel hacking 1560# Kernel hacking
@@ -1626,6 +1572,9 @@ CONFIG_DEBUG_KERNEL=y
1626CONFIG_DETECT_SOFTLOCKUP=y 1572CONFIG_DETECT_SOFTLOCKUP=y
1627# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1573# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1628CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1574CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1575CONFIG_DETECT_HUNG_TASK=y
1576# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1577CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1629CONFIG_SCHED_DEBUG=y 1578CONFIG_SCHED_DEBUG=y
1630# CONFIG_SCHEDSTATS is not set 1579# CONFIG_SCHEDSTATS is not set
1631# CONFIG_TIMER_STATS is not set 1580# CONFIG_TIMER_STATS is not set
@@ -1656,9 +1605,12 @@ CONFIG_DEBUG_INFO=y
1656# CONFIG_FAULT_INJECTION is not set 1605# CONFIG_FAULT_INJECTION is not set
1657# CONFIG_LATENCYTOP is not set 1606# CONFIG_LATENCYTOP is not set
1658CONFIG_SYSCTL_SYSCALL_CHECK=y 1607CONFIG_SYSCTL_SYSCALL_CHECK=y
1608# CONFIG_DEBUG_PAGEALLOC is not set
1659CONFIG_HAVE_FUNCTION_TRACER=y 1609CONFIG_HAVE_FUNCTION_TRACER=y
1610CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1660CONFIG_HAVE_DYNAMIC_FTRACE=y 1611CONFIG_HAVE_DYNAMIC_FTRACE=y
1661CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1612CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1613CONFIG_TRACING_SUPPORT=y
1662 1614
1663# 1615#
1664# Tracers 1616# Tracers
@@ -1666,17 +1618,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1666# CONFIG_FUNCTION_TRACER is not set 1618# CONFIG_FUNCTION_TRACER is not set
1667# CONFIG_SCHED_TRACER is not set 1619# CONFIG_SCHED_TRACER is not set
1668# CONFIG_CONTEXT_SWITCH_TRACER is not set 1620# CONFIG_CONTEXT_SWITCH_TRACER is not set
1621# CONFIG_EVENT_TRACER is not set
1669# CONFIG_BOOT_TRACER is not set 1622# CONFIG_BOOT_TRACER is not set
1670# CONFIG_TRACE_BRANCH_PROFILING is not set 1623# CONFIG_TRACE_BRANCH_PROFILING is not set
1671# CONFIG_STACK_TRACER is not set 1624# CONFIG_STACK_TRACER is not set
1672# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1625# CONFIG_KMEMTRACE is not set
1626# CONFIG_WORKQUEUE_TRACER is not set
1627# CONFIG_BLK_DEV_IO_TRACE is not set
1673# CONFIG_SAMPLES is not set 1628# CONFIG_SAMPLES is not set
1674CONFIG_HAVE_ARCH_KGDB=y 1629CONFIG_HAVE_ARCH_KGDB=y
1675# CONFIG_KGDB is not set 1630# CONFIG_KGDB is not set
1676CONFIG_PRINT_STACK_DEPTH=64 1631CONFIG_PRINT_STACK_DEPTH=64
1677# CONFIG_DEBUG_STACKOVERFLOW is not set 1632# CONFIG_DEBUG_STACKOVERFLOW is not set
1678# CONFIG_DEBUG_STACK_USAGE is not set 1633# CONFIG_DEBUG_STACK_USAGE is not set
1679# CONFIG_DEBUG_PAGEALLOC is not set
1680# CONFIG_CODE_PATCHING_SELFTEST is not set 1634# CONFIG_CODE_PATCHING_SELFTEST is not set
1681# CONFIG_FTR_FIXUP_SELFTEST is not set 1635# CONFIG_FTR_FIXUP_SELFTEST is not set
1682# CONFIG_MSI_BITMAP_SELFTEST is not set 1636# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1707,10 +1661,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1707CONFIG_CRYPTO_HASH=y 1661CONFIG_CRYPTO_HASH=y
1708CONFIG_CRYPTO_HASH2=y 1662CONFIG_CRYPTO_HASH2=y
1709CONFIG_CRYPTO_RNG2=y 1663CONFIG_CRYPTO_RNG2=y
1664CONFIG_CRYPTO_PCOMP=y
1710CONFIG_CRYPTO_MANAGER=y 1665CONFIG_CRYPTO_MANAGER=y
1711CONFIG_CRYPTO_MANAGER2=y 1666CONFIG_CRYPTO_MANAGER2=y
1712# CONFIG_CRYPTO_GF128MUL is not set 1667# CONFIG_CRYPTO_GF128MUL is not set
1713# CONFIG_CRYPTO_NULL is not set 1668# CONFIG_CRYPTO_NULL is not set
1669CONFIG_CRYPTO_WORKQUEUE=y
1714# CONFIG_CRYPTO_CRYPTD is not set 1670# CONFIG_CRYPTO_CRYPTD is not set
1715# CONFIG_CRYPTO_AUTHENC is not set 1671# CONFIG_CRYPTO_AUTHENC is not set
1716# CONFIG_CRYPTO_TEST is not set 1672# CONFIG_CRYPTO_TEST is not set
@@ -1779,6 +1735,7 @@ CONFIG_CRYPTO_DES=y
1779# Compression 1735# Compression
1780# 1736#
1781# CONFIG_CRYPTO_DEFLATE is not set 1737# CONFIG_CRYPTO_DEFLATE is not set
1738# CONFIG_CRYPTO_ZLIB is not set
1782# CONFIG_CRYPTO_LZO is not set 1739# CONFIG_CRYPTO_LZO is not set
1783 1740
1784# 1741#
diff --git a/arch/powerpc/configs/86xx/sbc8641d_defconfig b/arch/powerpc/configs/86xx/sbc8641d_defconfig
index 04797e730c5a..c30a0c715873 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:36:23 2009 4# Wed May 13 17:22:27 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_PHYS_64BIT is not set 19# CONFIG_PHYS_64BIT is not set
19CONFIG_ALTIVEC=y 20CONFIG_ALTIVEC=y
@@ -57,6 +58,7 @@ CONFIG_GENERIC_BUG=y
57CONFIG_DEFAULT_UIMAGE=y 58CONFIG_DEFAULT_UIMAGE=y
58# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
59# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
61CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
61 63
62# 64#
@@ -71,10 +73,20 @@ CONFIG_SWAP=y
71CONFIG_SYSVIPC=y 73CONFIG_SYSVIPC=y
72CONFIG_SYSVIPC_SYSCTL=y 74CONFIG_SYSVIPC_SYSCTL=y
73CONFIG_POSIX_MQUEUE=y 75CONFIG_POSIX_MQUEUE=y
76CONFIG_POSIX_MQUEUE_SYSCTL=y
74CONFIG_BSD_PROCESS_ACCT=y 77CONFIG_BSD_PROCESS_ACCT=y
75CONFIG_BSD_PROCESS_ACCT_V3=y 78CONFIG_BSD_PROCESS_ACCT_V3=y
76# CONFIG_TASKSTATS is not set 79# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 80# CONFIG_AUDIT is not set
81
82#
83# RCU Subsystem
84#
85CONFIG_CLASSIC_RCU=y
86# CONFIG_TREE_RCU is not set
87# CONFIG_PREEMPT_RCU is not set
88# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
78CONFIG_IKCONFIG=y 90CONFIG_IKCONFIG=y
79CONFIG_IKCONFIG_PROC=y 91CONFIG_IKCONFIG_PROC=y
80CONFIG_LOG_BUF_SHIFT=14 92CONFIG_LOG_BUF_SHIFT=14
@@ -90,21 +102,24 @@ CONFIG_RELAY=y
90# CONFIG_NAMESPACES is not set 102# CONFIG_NAMESPACES is not set
91CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
92CONFIG_INITRAMFS_SOURCE="" 104CONFIG_INITRAMFS_SOURCE=""
105CONFIG_RD_GZIP=y
106# CONFIG_RD_BZIP2 is not set
107# CONFIG_RD_LZMA is not set
93# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 108# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
94CONFIG_SYSCTL=y 109CONFIG_SYSCTL=y
110CONFIG_ANON_INODES=y
95CONFIG_EMBEDDED=y 111CONFIG_EMBEDDED=y
96CONFIG_SYSCTL_SYSCALL=y 112CONFIG_SYSCTL_SYSCALL=y
97CONFIG_KALLSYMS=y 113CONFIG_KALLSYMS=y
98# CONFIG_KALLSYMS_ALL is not set 114# CONFIG_KALLSYMS_ALL is not set
99# CONFIG_KALLSYMS_EXTRA_PASS is not set 115# CONFIG_KALLSYMS_EXTRA_PASS is not set
116# CONFIG_STRIP_ASM_SYMS is not set
100CONFIG_HOTPLUG=y 117CONFIG_HOTPLUG=y
101CONFIG_PRINTK=y 118CONFIG_PRINTK=y
102CONFIG_BUG=y 119CONFIG_BUG=y
103CONFIG_ELF_CORE=y 120CONFIG_ELF_CORE=y
104CONFIG_COMPAT_BRK=y
105CONFIG_BASE_FULL=y 121CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 122CONFIG_FUTEX=y
107CONFIG_ANON_INODES=y
108CONFIG_EPOLL=y 123CONFIG_EPOLL=y
109CONFIG_SIGNALFD=y 124CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
@@ -113,10 +128,12 @@ CONFIG_SHMEM=y
113CONFIG_AIO=y 128CONFIG_AIO=y
114CONFIG_VM_EVENT_COUNTERS=y 129CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y 130CONFIG_PCI_QUIRKS=y
131CONFIG_COMPAT_BRK=y
116CONFIG_SLAB=y 132CONFIG_SLAB=y
117# CONFIG_SLUB is not set 133# CONFIG_SLUB is not set
118# CONFIG_SLOB is not set 134# CONFIG_SLOB is not set
119# CONFIG_PROFILING is not set 135# CONFIG_PROFILING is not set
136# CONFIG_MARKERS is not set
120CONFIG_HAVE_OPROFILE=y 137CONFIG_HAVE_OPROFILE=y
121# CONFIG_KPROBES is not set 138# CONFIG_KPROBES is not set
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 139CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -125,6 +142,7 @@ CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 142CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 143CONFIG_HAVE_ARCH_TRACEHOOK=y
127CONFIG_USE_GENERIC_SMP_HELPERS=y 144CONFIG_USE_GENERIC_SMP_HELPERS=y
145# CONFIG_SLOW_WORK is not set
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 146# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 147CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 148CONFIG_RT_MUTEXES=y
@@ -138,7 +156,6 @@ CONFIG_MODULE_UNLOAD=y
138CONFIG_STOP_MACHINE=y 156CONFIG_STOP_MACHINE=y
139CONFIG_BLOCK=y 157CONFIG_BLOCK=y
140# CONFIG_LBD is not set 158# CONFIG_LBD is not set
141# CONFIG_BLK_DEV_IO_TRACE is not set
142# CONFIG_BLK_DEV_BSG is not set 159# CONFIG_BLK_DEV_BSG is not set
143# CONFIG_BLK_DEV_INTEGRITY is not set 160# CONFIG_BLK_DEV_INTEGRITY is not set
144 161
@@ -154,18 +171,11 @@ CONFIG_IOSCHED_CFQ=y
154CONFIG_DEFAULT_CFQ=y 171CONFIG_DEFAULT_CFQ=y
155# CONFIG_DEFAULT_NOOP is not set 172# CONFIG_DEFAULT_NOOP is not set
156CONFIG_DEFAULT_IOSCHED="cfq" 173CONFIG_DEFAULT_IOSCHED="cfq"
157CONFIG_CLASSIC_RCU=y
158# CONFIG_TREE_RCU is not set
159# CONFIG_PREEMPT_RCU is not set
160# CONFIG_TREE_RCU_TRACE is not set
161# CONFIG_PREEMPT_RCU_TRACE is not set
162# CONFIG_FREEZER is not set 174# CONFIG_FREEZER is not set
163 175
164# 176#
165# Platform support 177# Platform support
166# 178#
167CONFIG_PPC_MULTIPLATFORM=y
168CONFIG_CLASSIC32=y
169# CONFIG_PPC_CHRP is not set 179# CONFIG_PPC_CHRP is not set
170# CONFIG_MPC5121_ADS is not set 180# CONFIG_MPC5121_ADS is not set
171# CONFIG_MPC5121_GENERIC is not set 181# CONFIG_MPC5121_GENERIC is not set
@@ -180,8 +190,11 @@ CONFIG_PPC_86xx=y
180# CONFIG_MPC8641_HPCN is not set 190# CONFIG_MPC8641_HPCN is not set
181CONFIG_SBC8641D=y 191CONFIG_SBC8641D=y
182# CONFIG_MPC8610_HPCD is not set 192# CONFIG_MPC8610_HPCD is not set
193# CONFIG_GEF_PPC9A is not set
194# CONFIG_GEF_SBC310 is not set
183# CONFIG_GEF_SBC610 is not set 195# CONFIG_GEF_SBC610 is not set
184CONFIG_MPC8641=y 196CONFIG_MPC8641=y
197CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
185# CONFIG_IPIC is not set 198# CONFIG_IPIC is not set
186CONFIG_MPIC=y 199CONFIG_MPIC=y
187# CONFIG_MPIC_WEIRD is not set 200# CONFIG_MPIC_WEIRD is not set
@@ -243,9 +256,12 @@ CONFIG_ZONE_DMA_FLAG=1
243CONFIG_BOUNCE=y 256CONFIG_BOUNCE=y
244CONFIG_VIRT_TO_BUS=y 257CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y 258CONFIG_UNEVICTABLE_LRU=y
259CONFIG_HAVE_MLOCK=y
260CONFIG_HAVE_MLOCKED_PAGE_BIT=y
246CONFIG_PPC_4K_PAGES=y 261CONFIG_PPC_4K_PAGES=y
247# CONFIG_PPC_16K_PAGES is not set 262# CONFIG_PPC_16K_PAGES is not set
248# CONFIG_PPC_64K_PAGES is not set 263# CONFIG_PPC_64K_PAGES is not set
264# CONFIG_PPC_256K_PAGES is not set
249CONFIG_FORCE_MAX_ZONEORDER=11 265CONFIG_FORCE_MAX_ZONEORDER=11
250# CONFIG_PROC_DEVICETREE is not set 266# CONFIG_PROC_DEVICETREE is not set
251# CONFIG_CMDLINE_BOOL is not set 267# CONFIG_CMDLINE_BOOL is not set
@@ -274,6 +290,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
274# CONFIG_PCI_LEGACY is not set 290# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCI_DEBUG is not set 291# CONFIG_PCI_DEBUG is not set
276# CONFIG_PCI_STUB is not set 292# CONFIG_PCI_STUB is not set
293# CONFIG_PCI_IOV is not set
277# CONFIG_PCCARD is not set 294# CONFIG_PCCARD is not set
278# CONFIG_HOTPLUG_PCI is not set 295# CONFIG_HOTPLUG_PCI is not set
279# CONFIG_HAS_RAPIDIO is not set 296# CONFIG_HAS_RAPIDIO is not set
@@ -296,7 +313,6 @@ CONFIG_NET=y
296# 313#
297# Networking options 314# Networking options
298# 315#
299CONFIG_COMPAT_NET_DEV_OPS=y
300CONFIG_PACKET=y 316CONFIG_PACKET=y
301CONFIG_PACKET_MMAP=y 317CONFIG_PACKET_MMAP=y
302CONFIG_UNIX=y 318CONFIG_UNIX=y
@@ -376,9 +392,11 @@ CONFIG_BRIDGE_NETFILTER=y
376# CONFIG_NETFILTER_NETLINK_QUEUE is not set 392# CONFIG_NETFILTER_NETLINK_QUEUE is not set
377# CONFIG_NETFILTER_NETLINK_LOG is not set 393# CONFIG_NETFILTER_NETLINK_LOG is not set
378# CONFIG_NF_CONNTRACK is not set 394# CONFIG_NF_CONNTRACK is not set
395# CONFIG_NETFILTER_TPROXY is not set
379CONFIG_NETFILTER_XTABLES=m 396CONFIG_NETFILTER_XTABLES=m
380# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 397# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
381# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 398# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
399# CONFIG_NETFILTER_XT_TARGET_HL is not set
382# CONFIG_NETFILTER_XT_TARGET_MARK is not set 400# CONFIG_NETFILTER_XT_TARGET_MARK is not set
383# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 401# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
384# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 402# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
@@ -391,6 +409,7 @@ CONFIG_NETFILTER_XTABLES=m
391# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 409# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
392# CONFIG_NETFILTER_XT_MATCH_ESP is not set 410# CONFIG_NETFILTER_XT_MATCH_ESP is not set
393# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 411# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
412CONFIG_NETFILTER_XT_MATCH_HL=m
394# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 413# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
395# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 414# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
396# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 415# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
@@ -449,11 +468,11 @@ CONFIG_IP6_NF_MATCH_HL=m
449CONFIG_IP6_NF_MATCH_IPV6HEADER=m 468CONFIG_IP6_NF_MATCH_IPV6HEADER=m
450# CONFIG_IP6_NF_MATCH_MH is not set 469# CONFIG_IP6_NF_MATCH_MH is not set
451CONFIG_IP6_NF_MATCH_RT=m 470CONFIG_IP6_NF_MATCH_RT=m
471# CONFIG_IP6_NF_TARGET_HL is not set
452CONFIG_IP6_NF_TARGET_LOG=m 472CONFIG_IP6_NF_TARGET_LOG=m
453CONFIG_IP6_NF_FILTER=m 473CONFIG_IP6_NF_FILTER=m
454# CONFIG_IP6_NF_TARGET_REJECT is not set 474# CONFIG_IP6_NF_TARGET_REJECT is not set
455CONFIG_IP6_NF_MANGLE=m 475CONFIG_IP6_NF_MANGLE=m
456# CONFIG_IP6_NF_TARGET_HL is not set
457CONFIG_IP6_NF_RAW=m 476CONFIG_IP6_NF_RAW=m
458# CONFIG_IP6_NF_SECURITY is not set 477# CONFIG_IP6_NF_SECURITY is not set
459# CONFIG_BRIDGE_NF_EBTABLES is not set 478# CONFIG_BRIDGE_NF_EBTABLES is not set
@@ -488,6 +507,7 @@ CONFIG_LLC=m
488# CONFIG_LAPB is not set 507# CONFIG_LAPB is not set
489# CONFIG_ECONET is not set 508# CONFIG_ECONET is not set
490CONFIG_WAN_ROUTER=m 509CONFIG_WAN_ROUTER=m
510# CONFIG_PHONET is not set
491CONFIG_NET_SCHED=y 511CONFIG_NET_SCHED=y
492 512
493# 513#
@@ -538,7 +558,6 @@ CONFIG_NET_PKTGEN=m
538# CONFIG_IRDA is not set 558# CONFIG_IRDA is not set
539# CONFIG_BT is not set 559# CONFIG_BT is not set
540# CONFIG_AF_RXRPC is not set 560# CONFIG_AF_RXRPC is not set
541# CONFIG_PHONET is not set
542CONFIG_FIB_RULES=y 561CONFIG_FIB_RULES=y
543CONFIG_WIRELESS=y 562CONFIG_WIRELESS=y
544# CONFIG_CFG80211 is not set 563# CONFIG_CFG80211 is not set
@@ -649,7 +668,6 @@ CONFIG_MTD_PHYSMAP_OF=y
649# LPDDR flash memory drivers 668# LPDDR flash memory drivers
650# 669#
651# CONFIG_MTD_LPDDR is not set 670# CONFIG_MTD_LPDDR is not set
652# CONFIG_MTD_QINFO_PROBE is not set
653 671
654# 672#
655# UBI - Unsorted block images 673# UBI - Unsorted block images
@@ -678,13 +696,20 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
678# CONFIG_BLK_DEV_HD is not set 696# CONFIG_BLK_DEV_HD is not set
679CONFIG_MISC_DEVICES=y 697CONFIG_MISC_DEVICES=y
680# CONFIG_PHANTOM is not set 698# CONFIG_PHANTOM is not set
681# CONFIG_EEPROM_93CX6 is not set
682# CONFIG_SGI_IOC4 is not set 699# CONFIG_SGI_IOC4 is not set
683# CONFIG_TIFM_CORE is not set 700# CONFIG_TIFM_CORE is not set
684# CONFIG_ICS932S401 is not set 701# CONFIG_ICS932S401 is not set
685# CONFIG_ENCLOSURE_SERVICES is not set 702# CONFIG_ENCLOSURE_SERVICES is not set
686# CONFIG_HP_ILO is not set 703# CONFIG_HP_ILO is not set
704# CONFIG_ISL29003 is not set
687# CONFIG_C2PORT is not set 705# CONFIG_C2PORT is not set
706
707#
708# EEPROM support
709#
710# CONFIG_EEPROM_AT24 is not set
711# CONFIG_EEPROM_LEGACY is not set
712# CONFIG_EEPROM_93CX6 is not set
688CONFIG_HAVE_IDE=y 713CONFIG_HAVE_IDE=y
689# CONFIG_IDE is not set 714# CONFIG_IDE is not set
690 715
@@ -729,6 +754,7 @@ CONFIG_DM_ZERO=y
729# CONFIG_I2O is not set 754# CONFIG_I2O is not set
730# CONFIG_MACINTOSH_DRIVERS is not set 755# CONFIG_MACINTOSH_DRIVERS is not set
731CONFIG_NETDEVICES=y 756CONFIG_NETDEVICES=y
757CONFIG_COMPAT_NET_DEV_OPS=y
732CONFIG_DUMMY=m 758CONFIG_DUMMY=m
733CONFIG_BONDING=m 759CONFIG_BONDING=m
734# CONFIG_MACVLAN is not set 760# CONFIG_MACVLAN is not set
@@ -762,6 +788,8 @@ CONFIG_MII=y
762# CONFIG_SUNGEM is not set 788# CONFIG_SUNGEM is not set
763# CONFIG_CASSINI is not set 789# CONFIG_CASSINI is not set
764# CONFIG_NET_VENDOR_3COM is not set 790# CONFIG_NET_VENDOR_3COM is not set
791# CONFIG_ETHOC is not set
792# CONFIG_DNET is not set
765# CONFIG_NET_TULIP is not set 793# CONFIG_NET_TULIP is not set
766# CONFIG_HP100 is not set 794# CONFIG_HP100 is not set
767# CONFIG_IBM_NEW_EMAC_ZMII is not set 795# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -781,6 +809,7 @@ CONFIG_NETDEV_1000=y
781# CONFIG_E1000E is not set 809# CONFIG_E1000E is not set
782# CONFIG_IP1000 is not set 810# CONFIG_IP1000 is not set
783# CONFIG_IGB is not set 811# CONFIG_IGB is not set
812# CONFIG_IGBVF is not set
784# CONFIG_NS83820 is not set 813# CONFIG_NS83820 is not set
785# CONFIG_HAMACHI is not set 814# CONFIG_HAMACHI is not set
786# CONFIG_YELLOWFIN is not set 815# CONFIG_YELLOWFIN is not set
@@ -791,11 +820,12 @@ CONFIG_NETDEV_1000=y
791# CONFIG_VIA_VELOCITY is not set 820# CONFIG_VIA_VELOCITY is not set
792# CONFIG_TIGON3 is not set 821# CONFIG_TIGON3 is not set
793# CONFIG_BNX2 is not set 822# CONFIG_BNX2 is not set
823CONFIG_FSL_PQ_MDIO=y
794CONFIG_GIANFAR=y 824CONFIG_GIANFAR=y
795# CONFIG_MV643XX_ETH is not set
796# CONFIG_QLA3XXX is not set 825# CONFIG_QLA3XXX is not set
797# CONFIG_ATL1 is not set 826# CONFIG_ATL1 is not set
798# CONFIG_ATL1E is not set 827# CONFIG_ATL1E is not set
828# CONFIG_ATL1C is not set
799# CONFIG_JME is not set 829# CONFIG_JME is not set
800# CONFIG_NETDEV_10000 is not set 830# CONFIG_NETDEV_10000 is not set
801# CONFIG_TR is not set 831# CONFIG_TR is not set
@@ -805,7 +835,6 @@ CONFIG_GIANFAR=y
805# 835#
806# CONFIG_WLAN_PRE80211 is not set 836# CONFIG_WLAN_PRE80211 is not set
807# CONFIG_WLAN_80211 is not set 837# CONFIG_WLAN_80211 is not set
808# CONFIG_IWLWIFI_LEDS is not set
809 838
810# 839#
811# Enable WiMAX (Networking options) to see the WiMAX drivers 840# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -923,6 +952,7 @@ CONFIG_LEGACY_PTY_COUNT=256
923# CONFIG_HVC_UDBG is not set 952# CONFIG_HVC_UDBG is not set
924# CONFIG_IPMI_HANDLER is not set 953# CONFIG_IPMI_HANDLER is not set
925CONFIG_HW_RANDOM=m 954CONFIG_HW_RANDOM=m
955# CONFIG_HW_RANDOM_TIMERIOMEM is not set
926# CONFIG_NVRAM is not set 956# CONFIG_NVRAM is not set
927# CONFIG_GEN_RTC is not set 957# CONFIG_GEN_RTC is not set
928# CONFIG_R3964 is not set 958# CONFIG_R3964 is not set
@@ -985,12 +1015,9 @@ CONFIG_I2C_MPC=y
985# Miscellaneous I2C Chip support 1015# Miscellaneous I2C Chip support
986# 1016#
987# CONFIG_DS1682 is not set 1017# CONFIG_DS1682 is not set
988# CONFIG_EEPROM_AT24 is not set
989# CONFIG_EEPROM_LEGACY is not set
990# CONFIG_SENSORS_PCF8574 is not set 1018# CONFIG_SENSORS_PCF8574 is not set
991# CONFIG_PCF8575 is not set 1019# CONFIG_PCF8575 is not set
992# CONFIG_SENSORS_PCA9539 is not set 1020# CONFIG_SENSORS_PCA9539 is not set
993# CONFIG_SENSORS_PCF8591 is not set
994# CONFIG_SENSORS_MAX6875 is not set 1021# CONFIG_SENSORS_MAX6875 is not set
995# CONFIG_SENSORS_TSL2550 is not set 1022# CONFIG_SENSORS_TSL2550 is not set
996# CONFIG_I2C_DEBUG_CORE is not set 1023# CONFIG_I2C_DEBUG_CORE is not set
@@ -1022,6 +1049,7 @@ CONFIG_HWMON=y
1022# CONFIG_SENSORS_F71805F is not set 1049# CONFIG_SENSORS_F71805F is not set
1023# CONFIG_SENSORS_F71882FG is not set 1050# CONFIG_SENSORS_F71882FG is not set
1024# CONFIG_SENSORS_F75375S is not set 1051# CONFIG_SENSORS_F75375S is not set
1052# CONFIG_SENSORS_G760A is not set
1025# CONFIG_SENSORS_GL518SM is not set 1053# CONFIG_SENSORS_GL518SM is not set
1026# CONFIG_SENSORS_GL520SM is not set 1054# CONFIG_SENSORS_GL520SM is not set
1027# CONFIG_SENSORS_IT87 is not set 1055# CONFIG_SENSORS_IT87 is not set
@@ -1036,11 +1064,14 @@ CONFIG_HWMON=y
1036# CONFIG_SENSORS_LM90 is not set 1064# CONFIG_SENSORS_LM90 is not set
1037# CONFIG_SENSORS_LM92 is not set 1065# CONFIG_SENSORS_LM92 is not set
1038# CONFIG_SENSORS_LM93 is not set 1066# CONFIG_SENSORS_LM93 is not set
1067# CONFIG_SENSORS_LTC4215 is not set
1039# CONFIG_SENSORS_LTC4245 is not set 1068# CONFIG_SENSORS_LTC4245 is not set
1069# CONFIG_SENSORS_LM95241 is not set
1040# CONFIG_SENSORS_MAX1619 is not set 1070# CONFIG_SENSORS_MAX1619 is not set
1041# CONFIG_SENSORS_MAX6650 is not set 1071# CONFIG_SENSORS_MAX6650 is not set
1042# CONFIG_SENSORS_PC87360 is not set 1072# CONFIG_SENSORS_PC87360 is not set
1043# CONFIG_SENSORS_PC87427 is not set 1073# CONFIG_SENSORS_PC87427 is not set
1074# CONFIG_SENSORS_PCF8591 is not set
1044# CONFIG_SENSORS_SIS5595 is not set 1075# CONFIG_SENSORS_SIS5595 is not set
1045# CONFIG_SENSORS_DME1737 is not set 1076# CONFIG_SENSORS_DME1737 is not set
1046# CONFIG_SENSORS_SMSC47M1 is not set 1077# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1145,7 +1176,6 @@ CONFIG_HID=y
1145# 1176#
1146# Special HID drivers 1177# Special HID drivers
1147# 1178#
1148CONFIG_HID_COMPAT=y
1149CONFIG_USB_SUPPORT=y 1179CONFIG_USB_SUPPORT=y
1150CONFIG_USB_ARCH_HAS_HCD=y 1180CONFIG_USB_ARCH_HAS_HCD=y
1151CONFIG_USB_ARCH_HAS_OHCI=y 1181CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1159,7 +1189,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1159# 1189#
1160 1190
1161# 1191#
1162# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1192# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1163# 1193#
1164# CONFIG_USB_GADGET is not set 1194# CONFIG_USB_GADGET is not set
1165 1195
@@ -1175,6 +1205,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1175# CONFIG_EDAC is not set 1205# CONFIG_EDAC is not set
1176# CONFIG_RTC_CLASS is not set 1206# CONFIG_RTC_CLASS is not set
1177# CONFIG_DMADEVICES is not set 1207# CONFIG_DMADEVICES is not set
1208# CONFIG_AUXDISPLAY is not set
1178# CONFIG_UIO is not set 1209# CONFIG_UIO is not set
1179# CONFIG_STAGING is not set 1210# CONFIG_STAGING is not set
1180 1211
@@ -1187,6 +1218,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y
1187# CONFIG_EXT2_FS_SECURITY is not set 1218# CONFIG_EXT2_FS_SECURITY is not set
1188# CONFIG_EXT2_FS_XIP is not set 1219# CONFIG_EXT2_FS_XIP is not set
1189CONFIG_EXT3_FS=y 1220CONFIG_EXT3_FS=y
1221# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1190CONFIG_EXT3_FS_XATTR=y 1222CONFIG_EXT3_FS_XATTR=y
1191CONFIG_EXT3_FS_POSIX_ACL=y 1223CONFIG_EXT3_FS_POSIX_ACL=y
1192# CONFIG_EXT3_FS_SECURITY is not set 1224# CONFIG_EXT3_FS_SECURITY is not set
@@ -1228,6 +1260,11 @@ CONFIG_AUTOFS4_FS=m
1228# CONFIG_FUSE_FS is not set 1260# CONFIG_FUSE_FS is not set
1229 1261
1230# 1262#
1263# Caches
1264#
1265# CONFIG_FSCACHE is not set
1266
1267#
1231# CD-ROM/DVD Filesystems 1268# CD-ROM/DVD Filesystems
1232# 1269#
1233# CONFIG_ISO9660_FS is not set 1270# CONFIG_ISO9660_FS is not set
@@ -1269,8 +1306,13 @@ CONFIG_MINIX_FS=m
1269# CONFIG_HPFS_FS is not set 1306# CONFIG_HPFS_FS is not set
1270# CONFIG_QNX4FS_FS is not set 1307# CONFIG_QNX4FS_FS is not set
1271CONFIG_ROMFS_FS=m 1308CONFIG_ROMFS_FS=m
1309CONFIG_ROMFS_BACKED_BY_BLOCK=y
1310# CONFIG_ROMFS_BACKED_BY_MTD is not set
1311# CONFIG_ROMFS_BACKED_BY_BOTH is not set
1312CONFIG_ROMFS_ON_BLOCK=y
1272# CONFIG_SYSV_FS is not set 1313# CONFIG_SYSV_FS is not set
1273# CONFIG_UFS_FS is not set 1314# CONFIG_UFS_FS is not set
1315# CONFIG_NILFS2_FS is not set
1274CONFIG_NETWORK_FILESYSTEMS=y 1316CONFIG_NETWORK_FILESYSTEMS=y
1275CONFIG_NFS_FS=y 1317CONFIG_NFS_FS=y
1276CONFIG_NFS_V3=y 1318CONFIG_NFS_V3=y
@@ -1283,7 +1325,6 @@ CONFIG_LOCKD_V4=y
1283CONFIG_NFS_COMMON=y 1325CONFIG_NFS_COMMON=y
1284CONFIG_SUNRPC=y 1326CONFIG_SUNRPC=y
1285CONFIG_SUNRPC_GSS=y 1327CONFIG_SUNRPC_GSS=y
1286# CONFIG_SUNRPC_REGISTER_V4 is not set
1287CONFIG_RPCSEC_GSS_KRB5=y 1328CONFIG_RPCSEC_GSS_KRB5=y
1288# CONFIG_RPCSEC_GSS_SPKM3 is not set 1329# CONFIG_RPCSEC_GSS_SPKM3 is not set
1289CONFIG_SMB_FS=m 1330CONFIG_SMB_FS=m
@@ -1346,6 +1387,7 @@ CONFIG_NLS_KOI8_R=m
1346CONFIG_NLS_KOI8_U=m 1387CONFIG_NLS_KOI8_U=m
1347CONFIG_NLS_UTF8=m 1388CONFIG_NLS_UTF8=m
1348# CONFIG_DLM is not set 1389# CONFIG_DLM is not set
1390# CONFIG_BINARY_PRINTF is not set
1349 1391
1350# 1392#
1351# Library routines 1393# Library routines
@@ -1359,13 +1401,14 @@ CONFIG_CRC_CCITT=m
1359CONFIG_CRC32=y 1401CONFIG_CRC32=y
1360# CONFIG_CRC7 is not set 1402# CONFIG_CRC7 is not set
1361CONFIG_LIBCRC32C=m 1403CONFIG_LIBCRC32C=m
1362CONFIG_ZLIB_INFLATE=m 1404CONFIG_ZLIB_INFLATE=y
1363CONFIG_ZLIB_DEFLATE=m 1405CONFIG_ZLIB_DEFLATE=m
1364CONFIG_PLIST=y 1406CONFIG_DECOMPRESS_GZIP=y
1365CONFIG_HAS_IOMEM=y 1407CONFIG_HAS_IOMEM=y
1366CONFIG_HAS_IOPORT=y 1408CONFIG_HAS_IOPORT=y
1367CONFIG_HAS_DMA=y 1409CONFIG_HAS_DMA=y
1368CONFIG_HAVE_LMB=y 1410CONFIG_HAVE_LMB=y
1411CONFIG_NLATTR=y
1369 1412
1370# 1413#
1371# Kernel hacking 1414# Kernel hacking
@@ -1383,6 +1426,9 @@ CONFIG_DEBUG_KERNEL=y
1383CONFIG_DETECT_SOFTLOCKUP=y 1426CONFIG_DETECT_SOFTLOCKUP=y
1384# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1427# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1385CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1428CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1429CONFIG_DETECT_HUNG_TASK=y
1430# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1431CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1386CONFIG_SCHED_DEBUG=y 1432CONFIG_SCHED_DEBUG=y
1387# CONFIG_SCHEDSTATS is not set 1433# CONFIG_SCHEDSTATS is not set
1388# CONFIG_TIMER_STATS is not set 1434# CONFIG_TIMER_STATS is not set
@@ -1411,9 +1457,12 @@ CONFIG_DEBUG_INFO=y
1411# CONFIG_FAULT_INJECTION is not set 1457# CONFIG_FAULT_INJECTION is not set
1412# CONFIG_LATENCYTOP is not set 1458# CONFIG_LATENCYTOP is not set
1413CONFIG_SYSCTL_SYSCALL_CHECK=y 1459CONFIG_SYSCTL_SYSCALL_CHECK=y
1460# CONFIG_DEBUG_PAGEALLOC is not set
1414CONFIG_HAVE_FUNCTION_TRACER=y 1461CONFIG_HAVE_FUNCTION_TRACER=y
1462CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1415CONFIG_HAVE_DYNAMIC_FTRACE=y 1463CONFIG_HAVE_DYNAMIC_FTRACE=y
1416CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1464CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1465CONFIG_TRACING_SUPPORT=y
1417 1466
1418# 1467#
1419# Tracers 1468# Tracers
@@ -1422,17 +1471,20 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1422# CONFIG_PREEMPT_TRACER is not set 1471# CONFIG_PREEMPT_TRACER is not set
1423# CONFIG_SCHED_TRACER is not set 1472# CONFIG_SCHED_TRACER is not set
1424# CONFIG_CONTEXT_SWITCH_TRACER is not set 1473# CONFIG_CONTEXT_SWITCH_TRACER is not set
1474# CONFIG_EVENT_TRACER is not set
1425# CONFIG_BOOT_TRACER is not set 1475# CONFIG_BOOT_TRACER is not set
1426# CONFIG_TRACE_BRANCH_PROFILING is not set 1476# CONFIG_TRACE_BRANCH_PROFILING is not set
1427# CONFIG_STACK_TRACER is not set 1477# CONFIG_STACK_TRACER is not set
1428# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1478# CONFIG_KMEMTRACE is not set
1479# CONFIG_WORKQUEUE_TRACER is not set
1480# CONFIG_BLK_DEV_IO_TRACE is not set
1481# CONFIG_DYNAMIC_DEBUG is not set
1429# CONFIG_SAMPLES is not set 1482# CONFIG_SAMPLES is not set
1430CONFIG_HAVE_ARCH_KGDB=y 1483CONFIG_HAVE_ARCH_KGDB=y
1431# CONFIG_KGDB is not set 1484# CONFIG_KGDB is not set
1432CONFIG_PRINT_STACK_DEPTH=64 1485CONFIG_PRINT_STACK_DEPTH=64
1433# CONFIG_DEBUG_STACKOVERFLOW is not set 1486# CONFIG_DEBUG_STACKOVERFLOW is not set
1434# CONFIG_DEBUG_STACK_USAGE is not set 1487# CONFIG_DEBUG_STACK_USAGE is not set
1435# CONFIG_DEBUG_PAGEALLOC is not set
1436# CONFIG_CODE_PATCHING_SELFTEST is not set 1488# CONFIG_CODE_PATCHING_SELFTEST is not set
1437# CONFIG_FTR_FIXUP_SELFTEST is not set 1489# CONFIG_FTR_FIXUP_SELFTEST is not set
1438# CONFIG_MSI_BITMAP_SELFTEST is not set 1490# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1454,6 +1506,7 @@ CONFIG_SECURITY_NETWORK=y
1454# CONFIG_SECURITY_PATH is not set 1506# CONFIG_SECURITY_PATH is not set
1455# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1507# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1456CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 1508CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
1509# CONFIG_SECURITY_TOMOYO is not set
1457CONFIG_CRYPTO=y 1510CONFIG_CRYPTO=y
1458 1511
1459# 1512#
@@ -1469,10 +1522,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1469CONFIG_CRYPTO_HASH=y 1522CONFIG_CRYPTO_HASH=y
1470CONFIG_CRYPTO_HASH2=y 1523CONFIG_CRYPTO_HASH2=y
1471CONFIG_CRYPTO_RNG2=y 1524CONFIG_CRYPTO_RNG2=y
1525CONFIG_CRYPTO_PCOMP=y
1472CONFIG_CRYPTO_MANAGER=y 1526CONFIG_CRYPTO_MANAGER=y
1473CONFIG_CRYPTO_MANAGER2=y 1527CONFIG_CRYPTO_MANAGER2=y
1474# CONFIG_CRYPTO_GF128MUL is not set 1528# CONFIG_CRYPTO_GF128MUL is not set
1475CONFIG_CRYPTO_NULL=m 1529CONFIG_CRYPTO_NULL=m
1530CONFIG_CRYPTO_WORKQUEUE=y
1476# CONFIG_CRYPTO_CRYPTD is not set 1531# CONFIG_CRYPTO_CRYPTD is not set
1477CONFIG_CRYPTO_AUTHENC=m 1532CONFIG_CRYPTO_AUTHENC=m
1478CONFIG_CRYPTO_TEST=m 1533CONFIG_CRYPTO_TEST=m
@@ -1542,6 +1597,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1542# Compression 1597# Compression
1543# 1598#
1544CONFIG_CRYPTO_DEFLATE=m 1599CONFIG_CRYPTO_DEFLATE=m
1600# CONFIG_CRYPTO_ZLIB is not set
1545# CONFIG_CRYPTO_LZO is not set 1601# CONFIG_CRYPTO_LZO is not set
1546 1602
1547# 1603#
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
index aaab5cc3751c..74f7f7c6fdc4 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:24 2009 4# Wed May 13 17:21:50 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -53,6 +53,7 @@ CONFIG_GENERIC_BUG=y
53CONFIG_REDBOOT=y 53CONFIG_REDBOOT=y
54# CONFIG_PPC_DCR_NATIVE is not set 54# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 55# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 57CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
57 58
58# 59#
@@ -70,6 +71,15 @@ CONFIG_SYSVIPC_SYSCTL=y
70# CONFIG_BSD_PROCESS_ACCT is not set 71# CONFIG_BSD_PROCESS_ACCT is not set
71# CONFIG_TASKSTATS is not set 72# CONFIG_TASKSTATS is not set
72# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
74
75#
76# RCU Subsystem
77#
78CONFIG_CLASSIC_RCU=y
79# CONFIG_TREE_RCU is not set
80# CONFIG_PREEMPT_RCU is not set
81# CONFIG_TREE_RCU_TRACE is not set
82# CONFIG_PREEMPT_RCU_TRACE is not set
73# CONFIG_IKCONFIG is not set 83# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 84CONFIG_LOG_BUF_SHIFT=14
75CONFIG_GROUP_SCHED=y 85CONFIG_GROUP_SCHED=y
@@ -85,19 +95,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y
85# CONFIG_BLK_DEV_INITRD is not set 95# CONFIG_BLK_DEV_INITRD is not set
86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 96# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
87CONFIG_SYSCTL=y 97CONFIG_SYSCTL=y
98CONFIG_ANON_INODES=y
88CONFIG_EMBEDDED=y 99CONFIG_EMBEDDED=y
89# CONFIG_SYSCTL_SYSCALL is not set 100# CONFIG_SYSCTL_SYSCALL is not set
90CONFIG_KALLSYMS=y 101CONFIG_KALLSYMS=y
91# CONFIG_KALLSYMS_ALL is not set 102# CONFIG_KALLSYMS_ALL is not set
92# CONFIG_KALLSYMS_EXTRA_PASS is not set 103# CONFIG_KALLSYMS_EXTRA_PASS is not set
104# CONFIG_STRIP_ASM_SYMS is not set
93CONFIG_HOTPLUG=y 105CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 106CONFIG_PRINTK=y
95CONFIG_BUG=y 107CONFIG_BUG=y
96# CONFIG_ELF_CORE is not set 108# CONFIG_ELF_CORE is not set
97CONFIG_COMPAT_BRK=y
98# CONFIG_BASE_FULL is not set 109# CONFIG_BASE_FULL is not set
99# CONFIG_FUTEX is not set 110# CONFIG_FUTEX is not set
100CONFIG_ANON_INODES=y
101CONFIG_EPOLL=y 111CONFIG_EPOLL=y
102CONFIG_SIGNALFD=y 112CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y 113CONFIG_TIMERFD=y
@@ -106,10 +116,12 @@ CONFIG_SHMEM=y
106CONFIG_AIO=y 116CONFIG_AIO=y
107# CONFIG_VM_EVENT_COUNTERS is not set 117# CONFIG_VM_EVENT_COUNTERS is not set
108CONFIG_SLUB_DEBUG=y 118CONFIG_SLUB_DEBUG=y
119CONFIG_COMPAT_BRK=y
109# CONFIG_SLAB is not set 120# CONFIG_SLAB is not set
110CONFIG_SLUB=y 121CONFIG_SLUB=y
111# CONFIG_SLOB is not set 122# CONFIG_SLOB is not set
112# CONFIG_PROFILING is not set 123# CONFIG_PROFILING is not set
124# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 125CONFIG_HAVE_OPROFILE=y
114CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 126CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
115CONFIG_HAVE_IOREMAP_PROT=y 127CONFIG_HAVE_IOREMAP_PROT=y
@@ -117,13 +129,13 @@ CONFIG_HAVE_KPROBES=y
117CONFIG_HAVE_KRETPROBES=y 129CONFIG_HAVE_KRETPROBES=y
118CONFIG_HAVE_ARCH_TRACEHOOK=y 130CONFIG_HAVE_ARCH_TRACEHOOK=y
119CONFIG_HAVE_CLK=y 131CONFIG_HAVE_CLK=y
132# CONFIG_SLOW_WORK is not set
120# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 133# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
121CONFIG_SLABINFO=y 134CONFIG_SLABINFO=y
122CONFIG_BASE_SMALL=1 135CONFIG_BASE_SMALL=1
123# CONFIG_MODULES is not set 136# CONFIG_MODULES is not set
124CONFIG_BLOCK=y 137CONFIG_BLOCK=y
125# CONFIG_LBD is not set 138# CONFIG_LBD is not set
126# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_BLK_DEV_BSG is not set 139# CONFIG_BLK_DEV_BSG is not set
128# CONFIG_BLK_DEV_INTEGRITY is not set 140# CONFIG_BLK_DEV_INTEGRITY is not set
129 141
@@ -139,11 +151,6 @@ CONFIG_DEFAULT_DEADLINE=y
139# CONFIG_DEFAULT_CFQ is not set 151# CONFIG_DEFAULT_CFQ is not set
140# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
141CONFIG_DEFAULT_IOSCHED="deadline" 153CONFIG_DEFAULT_IOSCHED="deadline"
142CONFIG_CLASSIC_RCU=y
143# CONFIG_TREE_RCU is not set
144# CONFIG_PREEMPT_RCU is not set
145# CONFIG_TREE_RCU_TRACE is not set
146# CONFIG_PREEMPT_RCU_TRACE is not set
147# CONFIG_FREEZER is not set 154# CONFIG_FREEZER is not set
148 155
149# 156#
@@ -233,9 +240,12 @@ CONFIG_ZONE_DMA_FLAG=1
233CONFIG_BOUNCE=y 240CONFIG_BOUNCE=y
234CONFIG_VIRT_TO_BUS=y 241CONFIG_VIRT_TO_BUS=y
235CONFIG_UNEVICTABLE_LRU=y 242CONFIG_UNEVICTABLE_LRU=y
243CONFIG_HAVE_MLOCK=y
244CONFIG_HAVE_MLOCKED_PAGE_BIT=y
236CONFIG_PPC_4K_PAGES=y 245CONFIG_PPC_4K_PAGES=y
237# CONFIG_PPC_16K_PAGES is not set 246# CONFIG_PPC_16K_PAGES is not set
238# CONFIG_PPC_64K_PAGES is not set 247# CONFIG_PPC_64K_PAGES is not set
248# CONFIG_PPC_256K_PAGES is not set
239CONFIG_FORCE_MAX_ZONEORDER=11 249CONFIG_FORCE_MAX_ZONEORDER=11
240# CONFIG_PROC_DEVICETREE is not set 250# CONFIG_PROC_DEVICETREE is not set
241# CONFIG_CMDLINE_BOOL is not set 251# CONFIG_CMDLINE_BOOL is not set
@@ -270,14 +280,11 @@ CONFIG_PAGE_OFFSET=0xc0000000
270CONFIG_KERNEL_START=0xc0000000 280CONFIG_KERNEL_START=0xc0000000
271CONFIG_PHYSICAL_START=0x00000000 281CONFIG_PHYSICAL_START=0x00000000
272CONFIG_TASK_SIZE=0x80000000 282CONFIG_TASK_SIZE=0x80000000
273CONFIG_CONSISTENT_START=0xfd000000
274CONFIG_CONSISTENT_SIZE=0x00200000
275CONFIG_NET=y 283CONFIG_NET=y
276 284
277# 285#
278# Networking options 286# Networking options
279# 287#
280CONFIG_COMPAT_NET_DEV_OPS=y
281CONFIG_PACKET=y 288CONFIG_PACKET=y
282# CONFIG_PACKET_MMAP is not set 289# CONFIG_PACKET_MMAP is not set
283CONFIG_UNIX=y 290CONFIG_UNIX=y
@@ -328,6 +335,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
328# CONFIG_LAPB is not set 335# CONFIG_LAPB is not set
329# CONFIG_ECONET is not set 336# CONFIG_ECONET is not set
330# CONFIG_WAN_ROUTER is not set 337# CONFIG_WAN_ROUTER is not set
338# CONFIG_PHONET is not set
331# CONFIG_NET_SCHED is not set 339# CONFIG_NET_SCHED is not set
332# CONFIG_DCB is not set 340# CONFIG_DCB is not set
333 341
@@ -340,7 +348,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_IRDA is not set 348# CONFIG_IRDA is not set
341# CONFIG_BT is not set 349# CONFIG_BT is not set
342# CONFIG_AF_RXRPC is not set 350# CONFIG_AF_RXRPC is not set
343# CONFIG_PHONET is not set
344CONFIG_WIRELESS=y 351CONFIG_WIRELESS=y
345# CONFIG_CFG80211 is not set 352# CONFIG_CFG80211 is not set
346CONFIG_WIRELESS_OLD_REGULATORY=y 353CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -439,7 +446,6 @@ CONFIG_MTD_PHYSMAP_OF=y
439# LPDDR flash memory drivers 446# LPDDR flash memory drivers
440# 447#
441# CONFIG_MTD_LPDDR is not set 448# CONFIG_MTD_LPDDR is not set
442# CONFIG_MTD_QINFO_PROBE is not set
443 449
444# 450#
445# UBI - Unsorted block images 451# UBI - Unsorted block images
@@ -463,6 +469,7 @@ CONFIG_HAVE_IDE=y
463# CONFIG_MD is not set 469# CONFIG_MD is not set
464# CONFIG_MACINTOSH_DRIVERS is not set 470# CONFIG_MACINTOSH_DRIVERS is not set
465CONFIG_NETDEVICES=y 471CONFIG_NETDEVICES=y
472CONFIG_COMPAT_NET_DEV_OPS=y
466# CONFIG_DUMMY is not set 473# CONFIG_DUMMY is not set
467# CONFIG_BONDING is not set 474# CONFIG_BONDING is not set
468# CONFIG_MACVLAN is not set 475# CONFIG_MACVLAN is not set
@@ -491,6 +498,8 @@ CONFIG_DAVICOM_PHY=y
491# CONFIG_MDIO_BITBANG is not set 498# CONFIG_MDIO_BITBANG is not set
492CONFIG_NET_ETHERNET=y 499CONFIG_NET_ETHERNET=y
493CONFIG_MII=y 500CONFIG_MII=y
501# CONFIG_ETHOC is not set
502# CONFIG_DNET is not set
494# CONFIG_IBM_NEW_EMAC_ZMII is not set 503# CONFIG_IBM_NEW_EMAC_ZMII is not set
495# CONFIG_IBM_NEW_EMAC_RGMII is not set 504# CONFIG_IBM_NEW_EMAC_RGMII is not set
496# CONFIG_IBM_NEW_EMAC_TAH is not set 505# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -511,7 +520,6 @@ CONFIG_FS_ENET_MDIO_FEC=y
511# 520#
512# CONFIG_WLAN_PRE80211 is not set 521# CONFIG_WLAN_PRE80211 is not set
513# CONFIG_WLAN_80211 is not set 522# CONFIG_WLAN_80211 is not set
514# CONFIG_IWLWIFI_LEDS is not set
515 523
516# 524#
517# Enable WiMAX (Networking options) to see the WiMAX drivers 525# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -558,7 +566,6 @@ CONFIG_MOUSE_PS2=y
558CONFIG_MOUSE_PS2_ALPS=y 566CONFIG_MOUSE_PS2_ALPS=y
559CONFIG_MOUSE_PS2_LOGIPS2PP=y 567CONFIG_MOUSE_PS2_LOGIPS2PP=y
560CONFIG_MOUSE_PS2_SYNAPTICS=y 568CONFIG_MOUSE_PS2_SYNAPTICS=y
561CONFIG_MOUSE_PS2_LIFEBOOK=y
562CONFIG_MOUSE_PS2_TRACKPOINT=y 569CONFIG_MOUSE_PS2_TRACKPOINT=y
563# CONFIG_MOUSE_PS2_ELANTECH is not set 570# CONFIG_MOUSE_PS2_ELANTECH is not set
564# CONFIG_MOUSE_PS2_TOUCHKIT is not set 571# CONFIG_MOUSE_PS2_TOUCHKIT is not set
@@ -606,6 +613,7 @@ CONFIG_UNIX98_PTYS=y
606# CONFIG_HVC_UDBG is not set 613# CONFIG_HVC_UDBG is not set
607# CONFIG_IPMI_HANDLER is not set 614# CONFIG_IPMI_HANDLER is not set
608CONFIG_HW_RANDOM=y 615CONFIG_HW_RANDOM=y
616# CONFIG_HW_RANDOM_TIMERIOMEM is not set
609# CONFIG_NVRAM is not set 617# CONFIG_NVRAM is not set
610CONFIG_GEN_RTC=y 618CONFIG_GEN_RTC=y
611# CONFIG_GEN_RTC_X is not set 619# CONFIG_GEN_RTC_X is not set
@@ -675,6 +683,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
675# CONFIG_EDAC is not set 683# CONFIG_EDAC is not set
676# CONFIG_RTC_CLASS is not set 684# CONFIG_RTC_CLASS is not set
677# CONFIG_DMADEVICES is not set 685# CONFIG_DMADEVICES is not set
686# CONFIG_AUXDISPLAY is not set
678# CONFIG_UIO is not set 687# CONFIG_UIO is not set
679# CONFIG_STAGING is not set 688# CONFIG_STAGING is not set
680 689
@@ -699,6 +708,11 @@ CONFIG_FILE_LOCKING=y
699# CONFIG_FUSE_FS is not set 708# CONFIG_FUSE_FS is not set
700 709
701# 710#
711# Caches
712#
713# CONFIG_FSCACHE is not set
714
715#
702# CD-ROM/DVD Filesystems 716# CD-ROM/DVD Filesystems
703# 717#
704# CONFIG_ISO9660_FS is not set 718# CONFIG_ISO9660_FS is not set
@@ -742,6 +756,7 @@ CONFIG_CRAMFS=y
742# CONFIG_ROMFS_FS is not set 756# CONFIG_ROMFS_FS is not set
743# CONFIG_SYSV_FS is not set 757# CONFIG_SYSV_FS is not set
744# CONFIG_UFS_FS is not set 758# CONFIG_UFS_FS is not set
759# CONFIG_NILFS2_FS is not set
745CONFIG_NETWORK_FILESYSTEMS=y 760CONFIG_NETWORK_FILESYSTEMS=y
746CONFIG_NFS_FS=y 761CONFIG_NFS_FS=y
747CONFIG_NFS_V3=y 762CONFIG_NFS_V3=y
@@ -753,7 +768,6 @@ CONFIG_LOCKD=y
753CONFIG_LOCKD_V4=y 768CONFIG_LOCKD_V4=y
754CONFIG_NFS_COMMON=y 769CONFIG_NFS_COMMON=y
755CONFIG_SUNRPC=y 770CONFIG_SUNRPC=y
756# CONFIG_SUNRPC_REGISTER_V4 is not set
757# CONFIG_RPCSEC_GSS_KRB5 is not set 771# CONFIG_RPCSEC_GSS_KRB5 is not set
758# CONFIG_RPCSEC_GSS_SPKM3 is not set 772# CONFIG_RPCSEC_GSS_SPKM3 is not set
759# CONFIG_SMB_FS is not set 773# CONFIG_SMB_FS is not set
@@ -785,6 +799,7 @@ CONFIG_MSDOS_PARTITION=y
785# CONFIG_SYSV68_PARTITION is not set 799# CONFIG_SYSV68_PARTITION is not set
786# CONFIG_NLS is not set 800# CONFIG_NLS is not set
787# CONFIG_DLM is not set 801# CONFIG_DLM is not set
802# CONFIG_BINARY_PRINTF is not set
788 803
789# 804#
790# Library routines 805# Library routines
@@ -802,6 +817,7 @@ CONFIG_HAS_IOMEM=y
802CONFIG_HAS_IOPORT=y 817CONFIG_HAS_IOPORT=y
803CONFIG_HAS_DMA=y 818CONFIG_HAS_DMA=y
804CONFIG_HAVE_LMB=y 819CONFIG_HAVE_LMB=y
820CONFIG_NLATTR=y
805 821
806# 822#
807# Kernel hacking 823# Kernel hacking
@@ -819,6 +835,9 @@ CONFIG_DEBUG_KERNEL=y
819CONFIG_DETECT_SOFTLOCKUP=y 835CONFIG_DETECT_SOFTLOCKUP=y
820# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 836# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
821CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 837CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
838CONFIG_DETECT_HUNG_TASK=y
839# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
840CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
822CONFIG_SCHED_DEBUG=y 841CONFIG_SCHED_DEBUG=y
823# CONFIG_SCHEDSTATS is not set 842# CONFIG_SCHEDSTATS is not set
824# CONFIG_TIMER_STATS is not set 843# CONFIG_TIMER_STATS is not set
@@ -845,9 +864,12 @@ CONFIG_DEBUG_INFO=y
845# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 864# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
846# CONFIG_FAULT_INJECTION is not set 865# CONFIG_FAULT_INJECTION is not set
847# CONFIG_LATENCYTOP is not set 866# CONFIG_LATENCYTOP is not set
867# CONFIG_DEBUG_PAGEALLOC is not set
848CONFIG_HAVE_FUNCTION_TRACER=y 868CONFIG_HAVE_FUNCTION_TRACER=y
869CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
849CONFIG_HAVE_DYNAMIC_FTRACE=y 870CONFIG_HAVE_DYNAMIC_FTRACE=y
850CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 871CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
872CONFIG_TRACING_SUPPORT=y
851 873
852# 874#
853# Tracers 875# Tracers
@@ -855,17 +877,20 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
855# CONFIG_FUNCTION_TRACER is not set 877# CONFIG_FUNCTION_TRACER is not set
856# CONFIG_SCHED_TRACER is not set 878# CONFIG_SCHED_TRACER is not set
857# CONFIG_CONTEXT_SWITCH_TRACER is not set 879# CONFIG_CONTEXT_SWITCH_TRACER is not set
880# CONFIG_EVENT_TRACER is not set
858# CONFIG_BOOT_TRACER is not set 881# CONFIG_BOOT_TRACER is not set
859# CONFIG_TRACE_BRANCH_PROFILING is not set 882# CONFIG_TRACE_BRANCH_PROFILING is not set
860# CONFIG_STACK_TRACER is not set 883# CONFIG_STACK_TRACER is not set
861# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 884# CONFIG_KMEMTRACE is not set
885# CONFIG_WORKQUEUE_TRACER is not set
886# CONFIG_BLK_DEV_IO_TRACE is not set
887# CONFIG_DYNAMIC_DEBUG is not set
862# CONFIG_SAMPLES is not set 888# CONFIG_SAMPLES is not set
863CONFIG_HAVE_ARCH_KGDB=y 889CONFIG_HAVE_ARCH_KGDB=y
864# CONFIG_KGDB is not set 890# CONFIG_KGDB is not set
865CONFIG_PRINT_STACK_DEPTH=64 891CONFIG_PRINT_STACK_DEPTH=64
866# CONFIG_DEBUG_STACKOVERFLOW is not set 892# CONFIG_DEBUG_STACKOVERFLOW is not set
867# CONFIG_DEBUG_STACK_USAGE is not set 893# CONFIG_DEBUG_STACK_USAGE is not set
868# CONFIG_DEBUG_PAGEALLOC is not set
869# CONFIG_CODE_PATCHING_SELFTEST is not set 894# CONFIG_CODE_PATCHING_SELFTEST is not set
870# CONFIG_FTR_FIXUP_SELFTEST is not set 895# CONFIG_FTR_FIXUP_SELFTEST is not set
871# CONFIG_MSI_BITMAP_SELFTEST is not set 896# CONFIG_MSI_BITMAP_SELFTEST is not set
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig
index 5103319a7f56..9ffa8de92803 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:26 2009 4# Wed May 13 17:21:51 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set 19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -56,6 +57,7 @@ CONFIG_GENERIC_BUG=y
56# CONFIG_DEFAULT_UIMAGE is not set 57# CONFIG_DEFAULT_UIMAGE is not set
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -70,12 +72,22 @@ CONFIG_SWAP=y
70CONFIG_SYSVIPC=y 72CONFIG_SYSVIPC=y
71CONFIG_SYSVIPC_SYSCTL=y 73CONFIG_SYSVIPC_SYSCTL=y
72CONFIG_POSIX_MQUEUE=y 74CONFIG_POSIX_MQUEUE=y
75CONFIG_POSIX_MQUEUE_SYSCTL=y
73CONFIG_BSD_PROCESS_ACCT=y 76CONFIG_BSD_PROCESS_ACCT=y
74# CONFIG_BSD_PROCESS_ACCT_V3 is not set 77# CONFIG_BSD_PROCESS_ACCT_V3 is not set
75# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
76CONFIG_AUDIT=y 79CONFIG_AUDIT=y
77CONFIG_AUDITSYSCALL=y 80CONFIG_AUDITSYSCALL=y
78CONFIG_AUDIT_TREE=y 81CONFIG_AUDIT_TREE=y
82
83#
84# RCU Subsystem
85#
86CONFIG_CLASSIC_RCU=y
87# CONFIG_TREE_RCU is not set
88# CONFIG_PREEMPT_RCU is not set
89# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_PREEMPT_RCU_TRACE is not set
79# CONFIG_IKCONFIG is not set 91# CONFIG_IKCONFIG is not set
80CONFIG_LOG_BUF_SHIFT=17 92CONFIG_LOG_BUF_SHIFT=17
81CONFIG_GROUP_SCHED=y 93CONFIG_GROUP_SCHED=y
@@ -92,23 +104,27 @@ CONFIG_NAMESPACES=y
92# CONFIG_IPC_NS is not set 104# CONFIG_IPC_NS is not set
93# CONFIG_USER_NS is not set 105# CONFIG_USER_NS is not set
94# CONFIG_PID_NS is not set 106# CONFIG_PID_NS is not set
107# CONFIG_NET_NS is not set
95CONFIG_BLK_DEV_INITRD=y 108CONFIG_BLK_DEV_INITRD=y
96CONFIG_INITRAMFS_SOURCE="" 109CONFIG_INITRAMFS_SOURCE=""
110CONFIG_RD_GZIP=y
111CONFIG_RD_BZIP2=y
112CONFIG_RD_LZMA=y
97CONFIG_CC_OPTIMIZE_FOR_SIZE=y 113CONFIG_CC_OPTIMIZE_FOR_SIZE=y
98CONFIG_SYSCTL=y 114CONFIG_SYSCTL=y
115CONFIG_ANON_INODES=y
99# CONFIG_EMBEDDED is not set 116# CONFIG_EMBEDDED is not set
100CONFIG_SYSCTL_SYSCALL=y 117CONFIG_SYSCTL_SYSCALL=y
101CONFIG_KALLSYMS=y 118CONFIG_KALLSYMS=y
102# CONFIG_KALLSYMS_ALL is not set 119# CONFIG_KALLSYMS_ALL is not set
103CONFIG_KALLSYMS_EXTRA_PASS=y 120CONFIG_KALLSYMS_EXTRA_PASS=y
121# CONFIG_STRIP_ASM_SYMS is not set
104CONFIG_HOTPLUG=y 122CONFIG_HOTPLUG=y
105CONFIG_PRINTK=y 123CONFIG_PRINTK=y
106CONFIG_BUG=y 124CONFIG_BUG=y
107CONFIG_ELF_CORE=y 125CONFIG_ELF_CORE=y
108CONFIG_COMPAT_BRK=y
109CONFIG_BASE_FULL=y 126CONFIG_BASE_FULL=y
110CONFIG_FUTEX=y 127CONFIG_FUTEX=y
111CONFIG_ANON_INODES=y
112CONFIG_EPOLL=y 128CONFIG_EPOLL=y
113CONFIG_SIGNALFD=y 129CONFIG_SIGNALFD=y
114CONFIG_TIMERFD=y 130CONFIG_TIMERFD=y
@@ -118,6 +134,7 @@ CONFIG_AIO=y
118CONFIG_VM_EVENT_COUNTERS=y 134CONFIG_VM_EVENT_COUNTERS=y
119CONFIG_PCI_QUIRKS=y 135CONFIG_PCI_QUIRKS=y
120CONFIG_SLUB_DEBUG=y 136CONFIG_SLUB_DEBUG=y
137CONFIG_COMPAT_BRK=y
121# CONFIG_SLAB is not set 138# CONFIG_SLAB is not set
122CONFIG_SLUB=y 139CONFIG_SLUB=y
123# CONFIG_SLOB is not set 140# CONFIG_SLOB is not set
@@ -133,6 +150,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
133CONFIG_HAVE_KPROBES=y 150CONFIG_HAVE_KPROBES=y
134CONFIG_HAVE_KRETPROBES=y 151CONFIG_HAVE_KRETPROBES=y
135CONFIG_HAVE_ARCH_TRACEHOOK=y 152CONFIG_HAVE_ARCH_TRACEHOOK=y
153# CONFIG_SLOW_WORK is not set
136# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 154# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
137CONFIG_SLABINFO=y 155CONFIG_SLABINFO=y
138CONFIG_RT_MUTEXES=y 156CONFIG_RT_MUTEXES=y
@@ -145,7 +163,6 @@ CONFIG_MODVERSIONS=y
145# CONFIG_MODULE_SRCVERSION_ALL is not set 163# CONFIG_MODULE_SRCVERSION_ALL is not set
146CONFIG_BLOCK=y 164CONFIG_BLOCK=y
147CONFIG_LBD=y 165CONFIG_LBD=y
148# CONFIG_BLK_DEV_IO_TRACE is not set
149# CONFIG_BLK_DEV_BSG is not set 166# CONFIG_BLK_DEV_BSG is not set
150# CONFIG_BLK_DEV_INTEGRITY is not set 167# CONFIG_BLK_DEV_INTEGRITY is not set
151 168
@@ -161,18 +178,11 @@ CONFIG_IOSCHED_CFQ=y
161CONFIG_DEFAULT_CFQ=y 178CONFIG_DEFAULT_CFQ=y
162# CONFIG_DEFAULT_NOOP is not set 179# CONFIG_DEFAULT_NOOP is not set
163CONFIG_DEFAULT_IOSCHED="cfq" 180CONFIG_DEFAULT_IOSCHED="cfq"
164CONFIG_CLASSIC_RCU=y
165# CONFIG_TREE_RCU is not set
166# CONFIG_PREEMPT_RCU is not set
167# CONFIG_TREE_RCU_TRACE is not set
168# CONFIG_PREEMPT_RCU_TRACE is not set
169# CONFIG_FREEZER is not set 181# CONFIG_FREEZER is not set
170 182
171# 183#
172# Platform support 184# Platform support
173# 185#
174CONFIG_PPC_MULTIPLATFORM=y
175CONFIG_CLASSIC32=y
176# CONFIG_PPC_CHRP is not set 186# CONFIG_PPC_CHRP is not set
177# CONFIG_MPC5121_ADS is not set 187# CONFIG_MPC5121_ADS is not set
178# CONFIG_MPC5121_GENERIC is not set 188# CONFIG_MPC5121_GENERIC is not set
@@ -192,6 +202,8 @@ CONFIG_EMBEDDED6xx=y
192# CONFIG_PPC_PRPMC2800 is not set 202# CONFIG_PPC_PRPMC2800 is not set
193CONFIG_PPC_C2K=y 203CONFIG_PPC_C2K=y
194CONFIG_MV64X60=y 204CONFIG_MV64X60=y
205# CONFIG_AMIGAONE is not set
206CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
195# CONFIG_IPIC is not set 207# CONFIG_IPIC is not set
196# CONFIG_MPIC is not set 208# CONFIG_MPIC is not set
197# CONFIG_MPIC_WEIRD is not set 209# CONFIG_MPIC_WEIRD is not set
@@ -268,9 +280,12 @@ CONFIG_ZONE_DMA_FLAG=1
268CONFIG_BOUNCE=y 280CONFIG_BOUNCE=y
269CONFIG_VIRT_TO_BUS=y 281CONFIG_VIRT_TO_BUS=y
270CONFIG_UNEVICTABLE_LRU=y 282CONFIG_UNEVICTABLE_LRU=y
283CONFIG_HAVE_MLOCK=y
284CONFIG_HAVE_MLOCKED_PAGE_BIT=y
271CONFIG_PPC_4K_PAGES=y 285CONFIG_PPC_4K_PAGES=y
272# CONFIG_PPC_16K_PAGES is not set 286# CONFIG_PPC_16K_PAGES is not set
273# CONFIG_PPC_64K_PAGES is not set 287# CONFIG_PPC_64K_PAGES is not set
288# CONFIG_PPC_256K_PAGES is not set
274CONFIG_FORCE_MAX_ZONEORDER=11 289CONFIG_FORCE_MAX_ZONEORDER=11
275# CONFIG_PROC_DEVICETREE is not set 290# CONFIG_PROC_DEVICETREE is not set
276# CONFIG_CMDLINE_BOOL is not set 291# CONFIG_CMDLINE_BOOL is not set
@@ -295,6 +310,7 @@ CONFIG_PCI_MSI=y
295# CONFIG_PCI_LEGACY is not set 310# CONFIG_PCI_LEGACY is not set
296# CONFIG_PCI_DEBUG is not set 311# CONFIG_PCI_DEBUG is not set
297# CONFIG_PCI_STUB is not set 312# CONFIG_PCI_STUB is not set
313# CONFIG_PCI_IOV is not set
298# CONFIG_PCCARD is not set 314# CONFIG_PCCARD is not set
299CONFIG_HOTPLUG_PCI=y 315CONFIG_HOTPLUG_PCI=y
300# CONFIG_HOTPLUG_PCI_FAKE is not set 316# CONFIG_HOTPLUG_PCI_FAKE is not set
@@ -315,15 +331,11 @@ CONFIG_PAGE_OFFSET=0xc0000000
315CONFIG_KERNEL_START=0xc0000000 331CONFIG_KERNEL_START=0xc0000000
316CONFIG_PHYSICAL_START=0x00000000 332CONFIG_PHYSICAL_START=0x00000000
317CONFIG_TASK_SIZE=0xc0000000 333CONFIG_TASK_SIZE=0xc0000000
318CONFIG_CONSISTENT_START=0xff100000
319CONFIG_CONSISTENT_SIZE=0x00200000
320CONFIG_NET=y 334CONFIG_NET=y
321 335
322# 336#
323# Networking options 337# Networking options
324# 338#
325# CONFIG_NET_NS is not set
326CONFIG_COMPAT_NET_DEV_OPS=y
327CONFIG_PACKET=y 339CONFIG_PACKET=y
328CONFIG_PACKET_MMAP=y 340CONFIG_PACKET_MMAP=y
329CONFIG_UNIX=y 341CONFIG_UNIX=y
@@ -364,7 +376,7 @@ CONFIG_INET_TUNNEL=m
364CONFIG_INET_XFRM_MODE_TRANSPORT=y 376CONFIG_INET_XFRM_MODE_TRANSPORT=y
365CONFIG_INET_XFRM_MODE_TUNNEL=y 377CONFIG_INET_XFRM_MODE_TUNNEL=y
366CONFIG_INET_XFRM_MODE_BEET=y 378CONFIG_INET_XFRM_MODE_BEET=y
367CONFIG_INET_LRO=m 379CONFIG_INET_LRO=y
368CONFIG_INET_DIAG=y 380CONFIG_INET_DIAG=y
369CONFIG_INET_TCP_DIAG=y 381CONFIG_INET_TCP_DIAG=y
370# CONFIG_TCP_CONG_ADVANCED is not set 382# CONFIG_TCP_CONG_ADVANCED is not set
@@ -403,9 +415,11 @@ CONFIG_BRIDGE_NETFILTER=y
403# CONFIG_NETFILTER_NETLINK_QUEUE is not set 415# CONFIG_NETFILTER_NETLINK_QUEUE is not set
404# CONFIG_NETFILTER_NETLINK_LOG is not set 416# CONFIG_NETFILTER_NETLINK_LOG is not set
405# CONFIG_NF_CONNTRACK is not set 417# CONFIG_NF_CONNTRACK is not set
418# CONFIG_NETFILTER_TPROXY is not set
406CONFIG_NETFILTER_XTABLES=m 419CONFIG_NETFILTER_XTABLES=m
407# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 420# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
408# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 421# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
422# CONFIG_NETFILTER_XT_TARGET_HL is not set
409# CONFIG_NETFILTER_XT_TARGET_MARK is not set 423# CONFIG_NETFILTER_XT_TARGET_MARK is not set
410# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 424# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
411# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 425# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
@@ -419,6 +433,7 @@ CONFIG_NETFILTER_XTABLES=m
419# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 433# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
420# CONFIG_NETFILTER_XT_MATCH_ESP is not set 434# CONFIG_NETFILTER_XT_MATCH_ESP is not set
421# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 435# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
436CONFIG_NETFILTER_XT_MATCH_HL=m
422# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 437# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
423# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 438# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
424# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 439# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
@@ -508,11 +523,11 @@ CONFIG_IP6_NF_MATCH_HL=m
508CONFIG_IP6_NF_MATCH_IPV6HEADER=m 523CONFIG_IP6_NF_MATCH_IPV6HEADER=m
509# CONFIG_IP6_NF_MATCH_MH is not set 524# CONFIG_IP6_NF_MATCH_MH is not set
510CONFIG_IP6_NF_MATCH_RT=m 525CONFIG_IP6_NF_MATCH_RT=m
526# CONFIG_IP6_NF_TARGET_HL is not set
511CONFIG_IP6_NF_TARGET_LOG=m 527CONFIG_IP6_NF_TARGET_LOG=m
512CONFIG_IP6_NF_FILTER=m 528CONFIG_IP6_NF_FILTER=m
513# CONFIG_IP6_NF_TARGET_REJECT is not set 529# CONFIG_IP6_NF_TARGET_REJECT is not set
514CONFIG_IP6_NF_MANGLE=m 530CONFIG_IP6_NF_MANGLE=m
515# CONFIG_IP6_NF_TARGET_HL is not set
516CONFIG_IP6_NF_RAW=m 531CONFIG_IP6_NF_RAW=m
517# CONFIG_IP6_NF_SECURITY is not set 532# CONFIG_IP6_NF_SECURITY is not set
518CONFIG_BRIDGE_NF_EBTABLES=m 533CONFIG_BRIDGE_NF_EBTABLES=m
@@ -544,6 +559,7 @@ CONFIG_IP_SCTP=m
544# CONFIG_SCTP_HMAC_NONE is not set 559# CONFIG_SCTP_HMAC_NONE is not set
545# CONFIG_SCTP_HMAC_SHA1 is not set 560# CONFIG_SCTP_HMAC_SHA1 is not set
546CONFIG_SCTP_HMAC_MD5=y 561CONFIG_SCTP_HMAC_MD5=y
562# CONFIG_RDS is not set
547# CONFIG_TIPC is not set 563# CONFIG_TIPC is not set
548CONFIG_ATM=m 564CONFIG_ATM=m
549CONFIG_ATM_CLIP=m 565CONFIG_ATM_CLIP=m
@@ -566,6 +582,7 @@ CONFIG_LLC=m
566# CONFIG_LAPB is not set 582# CONFIG_LAPB is not set
567# CONFIG_ECONET is not set 583# CONFIG_ECONET is not set
568# CONFIG_WAN_ROUTER is not set 584# CONFIG_WAN_ROUTER is not set
585# CONFIG_PHONET is not set
569CONFIG_NET_SCHED=y 586CONFIG_NET_SCHED=y
570 587
571# 588#
@@ -612,6 +629,7 @@ CONFIG_NET_SCH_FIFO=y
612# 629#
613# CONFIG_NET_PKTGEN is not set 630# CONFIG_NET_PKTGEN is not set
614# CONFIG_NET_TCPPROBE is not set 631# CONFIG_NET_TCPPROBE is not set
632# CONFIG_NET_DROP_MONITOR is not set
615# CONFIG_HAMRADIO is not set 633# CONFIG_HAMRADIO is not set
616# CONFIG_CAN is not set 634# CONFIG_CAN is not set
617# CONFIG_IRDA is not set 635# CONFIG_IRDA is not set
@@ -638,7 +656,6 @@ CONFIG_BT_HCIBCM203X=m
638CONFIG_BT_HCIBFUSB=m 656CONFIG_BT_HCIBFUSB=m
639CONFIG_BT_HCIVHCI=m 657CONFIG_BT_HCIVHCI=m
640# CONFIG_AF_RXRPC is not set 658# CONFIG_AF_RXRPC is not set
641# CONFIG_PHONET is not set
642CONFIG_FIB_RULES=y 659CONFIG_FIB_RULES=y
643CONFIG_WIRELESS=y 660CONFIG_WIRELESS=y
644# CONFIG_CFG80211 is not set 661# CONFIG_CFG80211 is not set
@@ -748,7 +765,6 @@ CONFIG_MTD_PHYSMAP_OF=y
748# LPDDR flash memory drivers 765# LPDDR flash memory drivers
749# 766#
750# CONFIG_MTD_LPDDR is not set 767# CONFIG_MTD_LPDDR is not set
751# CONFIG_MTD_QINFO_PROBE is not set
752 768
753# 769#
754# UBI - Unsorted block images 770# UBI - Unsorted block images
@@ -846,9 +862,11 @@ CONFIG_MEGARAID_MM=m
846CONFIG_MEGARAID_MAILBOX=m 862CONFIG_MEGARAID_MAILBOX=m
847# CONFIG_MEGARAID_LEGACY is not set 863# CONFIG_MEGARAID_LEGACY is not set
848CONFIG_MEGARAID_SAS=m 864CONFIG_MEGARAID_SAS=m
865# CONFIG_SCSI_MPT2SAS is not set
849# CONFIG_SCSI_HPTIOP is not set 866# CONFIG_SCSI_HPTIOP is not set
850# CONFIG_SCSI_BUSLOGIC is not set 867# CONFIG_SCSI_BUSLOGIC is not set
851# CONFIG_LIBFC is not set 868# CONFIG_LIBFC is not set
869# CONFIG_LIBFCOE is not set
852# CONFIG_FCOE is not set 870# CONFIG_FCOE is not set
853# CONFIG_SCSI_DMX3191D is not set 871# CONFIG_SCSI_DMX3191D is not set
854# CONFIG_SCSI_EATA is not set 872# CONFIG_SCSI_EATA is not set
@@ -875,6 +893,7 @@ CONFIG_SCSI_LPFC=m
875# CONFIG_SCSI_DEBUG is not set 893# CONFIG_SCSI_DEBUG is not set
876# CONFIG_SCSI_SRP is not set 894# CONFIG_SCSI_SRP is not set
877# CONFIG_SCSI_DH is not set 895# CONFIG_SCSI_DH is not set
896# CONFIG_SCSI_OSD_INITIATOR is not set
878# CONFIG_ATA is not set 897# CONFIG_ATA is not set
879# CONFIG_MD is not set 898# CONFIG_MD is not set
880# CONFIG_FUSION is not set 899# CONFIG_FUSION is not set
@@ -891,6 +910,7 @@ CONFIG_SCSI_LPFC=m
891# CONFIG_I2O is not set 910# CONFIG_I2O is not set
892# CONFIG_MACINTOSH_DRIVERS is not set 911# CONFIG_MACINTOSH_DRIVERS is not set
893CONFIG_NETDEVICES=y 912CONFIG_NETDEVICES=y
913CONFIG_COMPAT_NET_DEV_OPS=y
894CONFIG_DUMMY=m 914CONFIG_DUMMY=m
895CONFIG_BONDING=m 915CONFIG_BONDING=m
896# CONFIG_MACVLAN is not set 916# CONFIG_MACVLAN is not set
@@ -924,6 +944,8 @@ CONFIG_MII=y
924# CONFIG_SUNGEM is not set 944# CONFIG_SUNGEM is not set
925# CONFIG_CASSINI is not set 945# CONFIG_CASSINI is not set
926# CONFIG_NET_VENDOR_3COM is not set 946# CONFIG_NET_VENDOR_3COM is not set
947# CONFIG_ETHOC is not set
948# CONFIG_DNET is not set
927# CONFIG_NET_TULIP is not set 949# CONFIG_NET_TULIP is not set
928# CONFIG_HP100 is not set 950# CONFIG_HP100 is not set
929# CONFIG_IBM_NEW_EMAC_ZMII is not set 951# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -943,6 +965,7 @@ CONFIG_NETDEV_1000=y
943# CONFIG_E1000E is not set 965# CONFIG_E1000E is not set
944# CONFIG_IP1000 is not set 966# CONFIG_IP1000 is not set
945# CONFIG_IGB is not set 967# CONFIG_IGB is not set
968# CONFIG_IGBVF is not set
946# CONFIG_NS83820 is not set 969# CONFIG_NS83820 is not set
947# CONFIG_HAMACHI is not set 970# CONFIG_HAMACHI is not set
948# CONFIG_YELLOWFIN is not set 971# CONFIG_YELLOWFIN is not set
@@ -957,6 +980,7 @@ CONFIG_MV643XX_ETH=y
957# CONFIG_QLA3XXX is not set 980# CONFIG_QLA3XXX is not set
958# CONFIG_ATL1 is not set 981# CONFIG_ATL1 is not set
959# CONFIG_ATL1E is not set 982# CONFIG_ATL1E is not set
983# CONFIG_ATL1C is not set
960# CONFIG_JME is not set 984# CONFIG_JME is not set
961# CONFIG_NETDEV_10000 is not set 985# CONFIG_NETDEV_10000 is not set
962# CONFIG_TR is not set 986# CONFIG_TR is not set
@@ -966,7 +990,6 @@ CONFIG_MV643XX_ETH=y
966# 990#
967# CONFIG_WLAN_PRE80211 is not set 991# CONFIG_WLAN_PRE80211 is not set
968# CONFIG_WLAN_80211 is not set 992# CONFIG_WLAN_80211 is not set
969# CONFIG_IWLWIFI_LEDS is not set
970 993
971# 994#
972# Enable WiMAX (Networking options) to see the WiMAX drivers 995# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -1084,6 +1107,7 @@ CONFIG_UNIX98_PTYS=y
1084# CONFIG_HVC_UDBG is not set 1107# CONFIG_HVC_UDBG is not set
1085# CONFIG_IPMI_HANDLER is not set 1108# CONFIG_IPMI_HANDLER is not set
1086CONFIG_HW_RANDOM=m 1109CONFIG_HW_RANDOM=m
1110# CONFIG_HW_RANDOM_TIMERIOMEM is not set
1087CONFIG_NVRAM=m 1111CONFIG_NVRAM=m
1088CONFIG_GEN_RTC=m 1112CONFIG_GEN_RTC=m
1089# CONFIG_GEN_RTC_X is not set 1113# CONFIG_GEN_RTC_X is not set
@@ -1150,12 +1174,9 @@ CONFIG_I2C_MV64XXX=m
1150# Miscellaneous I2C Chip support 1174# Miscellaneous I2C Chip support
1151# 1175#
1152# CONFIG_DS1682 is not set 1176# CONFIG_DS1682 is not set
1153# CONFIG_EEPROM_AT24 is not set
1154CONFIG_EEPROM_LEGACY=m
1155CONFIG_SENSORS_PCF8574=m 1177CONFIG_SENSORS_PCF8574=m
1156# CONFIG_PCF8575 is not set 1178# CONFIG_PCF8575 is not set
1157# CONFIG_SENSORS_PCA9539 is not set 1179# CONFIG_SENSORS_PCA9539 is not set
1158CONFIG_SENSORS_PCF8591=m
1159# CONFIG_SENSORS_MAX6875 is not set 1180# CONFIG_SENSORS_MAX6875 is not set
1160# CONFIG_SENSORS_TSL2550 is not set 1181# CONFIG_SENSORS_TSL2550 is not set
1161# CONFIG_I2C_DEBUG_CORE is not set 1182# CONFIG_I2C_DEBUG_CORE is not set
@@ -1187,6 +1208,7 @@ CONFIG_SENSORS_DS1621=m
1187# CONFIG_SENSORS_F71805F is not set 1208# CONFIG_SENSORS_F71805F is not set
1188# CONFIG_SENSORS_F71882FG is not set 1209# CONFIG_SENSORS_F71882FG is not set
1189# CONFIG_SENSORS_F75375S is not set 1210# CONFIG_SENSORS_F75375S is not set
1211# CONFIG_SENSORS_G760A is not set
1190CONFIG_SENSORS_GL518SM=m 1212CONFIG_SENSORS_GL518SM=m
1191# CONFIG_SENSORS_GL520SM is not set 1213# CONFIG_SENSORS_GL520SM is not set
1192CONFIG_SENSORS_IT87=m 1214CONFIG_SENSORS_IT87=m
@@ -1201,11 +1223,14 @@ CONFIG_SENSORS_LM87=m
1201CONFIG_SENSORS_LM90=m 1223CONFIG_SENSORS_LM90=m
1202# CONFIG_SENSORS_LM92 is not set 1224# CONFIG_SENSORS_LM92 is not set
1203# CONFIG_SENSORS_LM93 is not set 1225# CONFIG_SENSORS_LM93 is not set
1226# CONFIG_SENSORS_LTC4215 is not set
1204# CONFIG_SENSORS_LTC4245 is not set 1227# CONFIG_SENSORS_LTC4245 is not set
1228# CONFIG_SENSORS_LM95241 is not set
1205CONFIG_SENSORS_MAX1619=m 1229CONFIG_SENSORS_MAX1619=m
1206# CONFIG_SENSORS_MAX6650 is not set 1230# CONFIG_SENSORS_MAX6650 is not set
1207# CONFIG_SENSORS_PC87360 is not set 1231# CONFIG_SENSORS_PC87360 is not set
1208# CONFIG_SENSORS_PC87427 is not set 1232# CONFIG_SENSORS_PC87427 is not set
1233CONFIG_SENSORS_PCF8591=m
1209# CONFIG_SENSORS_SIS5595 is not set 1234# CONFIG_SENSORS_SIS5595 is not set
1210# CONFIG_SENSORS_DME1737 is not set 1235# CONFIG_SENSORS_DME1737 is not set
1211CONFIG_SENSORS_SMSC47M1=m 1236CONFIG_SENSORS_SMSC47M1=m
@@ -1363,21 +1388,21 @@ CONFIG_USB_PRINTER=m
1363# CONFIG_USB_TMC is not set 1388# CONFIG_USB_TMC is not set
1364 1389
1365# 1390#
1366# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1391# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1367# 1392#
1368 1393
1369# 1394#
1370# see USB_STORAGE Help for more information 1395# also be needed; see USB_STORAGE Help for more info
1371# 1396#
1372CONFIG_USB_STORAGE=m 1397CONFIG_USB_STORAGE=m
1373# CONFIG_USB_STORAGE_DEBUG is not set 1398# CONFIG_USB_STORAGE_DEBUG is not set
1374CONFIG_USB_STORAGE_DATAFAB=y 1399CONFIG_USB_STORAGE_DATAFAB=m
1375CONFIG_USB_STORAGE_FREECOM=y 1400CONFIG_USB_STORAGE_FREECOM=m
1376CONFIG_USB_STORAGE_ISD200=y 1401CONFIG_USB_STORAGE_ISD200=m
1377# CONFIG_USB_STORAGE_USBAT is not set 1402# CONFIG_USB_STORAGE_USBAT is not set
1378CONFIG_USB_STORAGE_SDDR09=y 1403CONFIG_USB_STORAGE_SDDR09=m
1379CONFIG_USB_STORAGE_SDDR55=y 1404CONFIG_USB_STORAGE_SDDR55=m
1380CONFIG_USB_STORAGE_JUMPSHOT=y 1405CONFIG_USB_STORAGE_JUMPSHOT=m
1381# CONFIG_USB_STORAGE_ALAUDA is not set 1406# CONFIG_USB_STORAGE_ALAUDA is not set
1382# CONFIG_USB_STORAGE_ONETOUCH is not set 1407# CONFIG_USB_STORAGE_ONETOUCH is not set
1383# CONFIG_USB_STORAGE_KARMA is not set 1408# CONFIG_USB_STORAGE_KARMA is not set
@@ -1402,7 +1427,7 @@ CONFIG_USB_SERIAL_BELKIN=m
1402# CONFIG_USB_SERIAL_CH341 is not set 1427# CONFIG_USB_SERIAL_CH341 is not set
1403CONFIG_USB_SERIAL_WHITEHEAT=m 1428CONFIG_USB_SERIAL_WHITEHEAT=m
1404CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m 1429CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1405# CONFIG_USB_SERIAL_CP2101 is not set 1430# CONFIG_USB_SERIAL_CP210X is not set
1406# CONFIG_USB_SERIAL_CYPRESS_M8 is not set 1431# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
1407CONFIG_USB_SERIAL_EMPEG=m 1432CONFIG_USB_SERIAL_EMPEG=m
1408CONFIG_USB_SERIAL_FTDI_SIO=m 1433CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -1438,12 +1463,14 @@ CONFIG_USB_SERIAL_MCT_U232=m
1438# CONFIG_USB_SERIAL_NAVMAN is not set 1463# CONFIG_USB_SERIAL_NAVMAN is not set
1439CONFIG_USB_SERIAL_PL2303=m 1464CONFIG_USB_SERIAL_PL2303=m
1440# CONFIG_USB_SERIAL_OTI6858 is not set 1465# CONFIG_USB_SERIAL_OTI6858 is not set
1466# CONFIG_USB_SERIAL_QUALCOMM is not set
1441# CONFIG_USB_SERIAL_SPCP8X5 is not set 1467# CONFIG_USB_SERIAL_SPCP8X5 is not set
1442# CONFIG_USB_SERIAL_HP4X is not set 1468# CONFIG_USB_SERIAL_HP4X is not set
1443CONFIG_USB_SERIAL_SAFE=m 1469CONFIG_USB_SERIAL_SAFE=m
1444CONFIG_USB_SERIAL_SAFE_PADDED=y 1470CONFIG_USB_SERIAL_SAFE_PADDED=y
1445# CONFIG_USB_SERIAL_SIEMENS_MPI is not set 1471# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
1446# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set 1472# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1473# CONFIG_USB_SERIAL_SYMBOL is not set
1447# CONFIG_USB_SERIAL_TI is not set 1474# CONFIG_USB_SERIAL_TI is not set
1448CONFIG_USB_SERIAL_CYBERJACK=m 1475CONFIG_USB_SERIAL_CYBERJACK=m
1449CONFIG_USB_SERIAL_XIRCOM=m 1476CONFIG_USB_SERIAL_XIRCOM=m
@@ -1466,7 +1493,6 @@ CONFIG_USB_LCD=m
1466CONFIG_USB_LED=m 1493CONFIG_USB_LED=m
1467# CONFIG_USB_CYPRESS_CY7C63 is not set 1494# CONFIG_USB_CYPRESS_CY7C63 is not set
1468# CONFIG_USB_CYTHERM is not set 1495# CONFIG_USB_CYTHERM is not set
1469# CONFIG_USB_PHIDGET is not set
1470# CONFIG_USB_IDMOUSE is not set 1496# CONFIG_USB_IDMOUSE is not set
1471# CONFIG_USB_FTDI_ELAN is not set 1497# CONFIG_USB_FTDI_ELAN is not set
1472# CONFIG_USB_APPLEDISPLAY is not set 1498# CONFIG_USB_APPLEDISPLAY is not set
@@ -1487,6 +1513,7 @@ CONFIG_USB_SPEEDTOUCH=m
1487# 1513#
1488# OTG and related infrastructure 1514# OTG and related infrastructure
1489# 1515#
1516# CONFIG_NOP_USB_XCEIV is not set
1490# CONFIG_UWB is not set 1517# CONFIG_UWB is not set
1491# CONFIG_MMC is not set 1518# CONFIG_MMC is not set
1492# CONFIG_MEMSTICK is not set 1519# CONFIG_MEMSTICK is not set
@@ -1516,6 +1543,7 @@ CONFIG_DMADEVICES=y
1516# 1543#
1517# DMA Devices 1544# DMA Devices
1518# 1545#
1546# CONFIG_AUXDISPLAY is not set
1519# CONFIG_UIO is not set 1547# CONFIG_UIO is not set
1520# CONFIG_STAGING is not set 1548# CONFIG_STAGING is not set
1521 1549
@@ -1524,6 +1552,7 @@ CONFIG_DMADEVICES=y
1524# 1552#
1525# CONFIG_EXT2_FS is not set 1553# CONFIG_EXT2_FS is not set
1526CONFIG_EXT3_FS=m 1554CONFIG_EXT3_FS=m
1555# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1527CONFIG_EXT3_FS_XATTR=y 1556CONFIG_EXT3_FS_XATTR=y
1528CONFIG_EXT3_FS_POSIX_ACL=y 1557CONFIG_EXT3_FS_POSIX_ACL=y
1529CONFIG_EXT3_FS_SECURITY=y 1558CONFIG_EXT3_FS_SECURITY=y
@@ -1554,6 +1583,11 @@ CONFIG_AUTOFS4_FS=m
1554# CONFIG_FUSE_FS is not set 1583# CONFIG_FUSE_FS is not set
1555 1584
1556# 1585#
1586# Caches
1587#
1588# CONFIG_FSCACHE is not set
1589
1590#
1557# CD-ROM/DVD Filesystems 1591# CD-ROM/DVD Filesystems
1558# 1592#
1559# CONFIG_ISO9660_FS is not set 1593# CONFIG_ISO9660_FS is not set
@@ -1612,6 +1646,7 @@ CONFIG_VXFS_FS=m
1612# CONFIG_ROMFS_FS is not set 1646# CONFIG_ROMFS_FS is not set
1613# CONFIG_SYSV_FS is not set 1647# CONFIG_SYSV_FS is not set
1614# CONFIG_UFS_FS is not set 1648# CONFIG_UFS_FS is not set
1649# CONFIG_NILFS2_FS is not set
1615CONFIG_NETWORK_FILESYSTEMS=y 1650CONFIG_NETWORK_FILESYSTEMS=y
1616CONFIG_NFS_FS=y 1651CONFIG_NFS_FS=y
1617CONFIG_NFS_V3=y 1652CONFIG_NFS_V3=y
@@ -1626,7 +1661,6 @@ CONFIG_NFS_COMMON=y
1626CONFIG_SUNRPC=y 1661CONFIG_SUNRPC=y
1627CONFIG_SUNRPC_GSS=y 1662CONFIG_SUNRPC_GSS=y
1628CONFIG_SUNRPC_XPRT_RDMA=m 1663CONFIG_SUNRPC_XPRT_RDMA=m
1629# CONFIG_SUNRPC_REGISTER_V4 is not set
1630CONFIG_RPCSEC_GSS_KRB5=y 1664CONFIG_RPCSEC_GSS_KRB5=y
1631CONFIG_RPCSEC_GSS_SPKM3=m 1665CONFIG_RPCSEC_GSS_SPKM3=m
1632# CONFIG_SMB_FS is not set 1666# CONFIG_SMB_FS is not set
@@ -1637,6 +1671,7 @@ CONFIG_CIFS=m
1637CONFIG_CIFS_XATTR=y 1671CONFIG_CIFS_XATTR=y
1638CONFIG_CIFS_POSIX=y 1672CONFIG_CIFS_POSIX=y
1639# CONFIG_CIFS_DEBUG2 is not set 1673# CONFIG_CIFS_DEBUG2 is not set
1674# CONFIG_CIFS_DFS_UPCALL is not set
1640# CONFIG_CIFS_EXPERIMENTAL is not set 1675# CONFIG_CIFS_EXPERIMENTAL is not set
1641# CONFIG_NCP_FS is not set 1676# CONFIG_NCP_FS is not set
1642# CONFIG_CODA_FS is not set 1677# CONFIG_CODA_FS is not set
@@ -1704,6 +1739,7 @@ CONFIG_NLS_KOI8_R=m
1704CONFIG_NLS_KOI8_U=m 1739CONFIG_NLS_KOI8_U=m
1705CONFIG_NLS_UTF8=m 1740CONFIG_NLS_UTF8=m
1706# CONFIG_DLM is not set 1741# CONFIG_DLM is not set
1742CONFIG_BINARY_PRINTF=y
1707 1743
1708# 1744#
1709# Library routines 1745# Library routines
@@ -1719,12 +1755,15 @@ CONFIG_CRC32=y
1719CONFIG_LIBCRC32C=m 1755CONFIG_LIBCRC32C=m
1720CONFIG_ZLIB_INFLATE=y 1756CONFIG_ZLIB_INFLATE=y
1721CONFIG_ZLIB_DEFLATE=y 1757CONFIG_ZLIB_DEFLATE=y
1722CONFIG_PLIST=y 1758CONFIG_DECOMPRESS_GZIP=y
1759CONFIG_DECOMPRESS_BZIP2=y
1760CONFIG_DECOMPRESS_LZMA=y
1723CONFIG_HAS_IOMEM=y 1761CONFIG_HAS_IOMEM=y
1724CONFIG_HAS_IOPORT=y 1762CONFIG_HAS_IOPORT=y
1725CONFIG_HAS_DMA=y 1763CONFIG_HAS_DMA=y
1726CONFIG_CHECK_SIGNATURE=y 1764CONFIG_CHECK_SIGNATURE=y
1727CONFIG_HAVE_LMB=y 1765CONFIG_HAVE_LMB=y
1766CONFIG_NLATTR=y
1728 1767
1729# 1768#
1730# Kernel hacking 1769# Kernel hacking
@@ -1742,6 +1781,9 @@ CONFIG_DEBUG_KERNEL=y
1742CONFIG_DETECT_SOFTLOCKUP=y 1781CONFIG_DETECT_SOFTLOCKUP=y
1743# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1782# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1744CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1783CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1784CONFIG_DETECT_HUNG_TASK=y
1785# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1786CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1745CONFIG_SCHED_DEBUG=y 1787CONFIG_SCHED_DEBUG=y
1746# CONFIG_SCHEDSTATS is not set 1788# CONFIG_SCHEDSTATS is not set
1747# CONFIG_TIMER_STATS is not set 1789# CONFIG_TIMER_STATS is not set
@@ -1775,12 +1817,15 @@ CONFIG_DEBUG_MEMORY_INIT=y
1775# CONFIG_FAULT_INJECTION is not set 1817# CONFIG_FAULT_INJECTION is not set
1776# CONFIG_LATENCYTOP is not set 1818# CONFIG_LATENCYTOP is not set
1777CONFIG_SYSCTL_SYSCALL_CHECK=y 1819CONFIG_SYSCTL_SYSCALL_CHECK=y
1820# CONFIG_DEBUG_PAGEALLOC is not set
1778CONFIG_NOP_TRACER=y 1821CONFIG_NOP_TRACER=y
1779CONFIG_HAVE_FUNCTION_TRACER=y 1822CONFIG_HAVE_FUNCTION_TRACER=y
1823CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1780CONFIG_HAVE_DYNAMIC_FTRACE=y 1824CONFIG_HAVE_DYNAMIC_FTRACE=y
1781CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1825CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1782CONFIG_RING_BUFFER=y 1826CONFIG_RING_BUFFER=y
1783CONFIG_TRACING=y 1827CONFIG_TRACING=y
1828CONFIG_TRACING_SUPPORT=y
1784 1829
1785# 1830#
1786# Tracers 1831# Tracers
@@ -1788,18 +1833,21 @@ CONFIG_TRACING=y
1788# CONFIG_FUNCTION_TRACER is not set 1833# CONFIG_FUNCTION_TRACER is not set
1789# CONFIG_SCHED_TRACER is not set 1834# CONFIG_SCHED_TRACER is not set
1790# CONFIG_CONTEXT_SWITCH_TRACER is not set 1835# CONFIG_CONTEXT_SWITCH_TRACER is not set
1836# CONFIG_EVENT_TRACER is not set
1791# CONFIG_BOOT_TRACER is not set 1837# CONFIG_BOOT_TRACER is not set
1792# CONFIG_TRACE_BRANCH_PROFILING is not set 1838# CONFIG_TRACE_BRANCH_PROFILING is not set
1793# CONFIG_STACK_TRACER is not set 1839# CONFIG_STACK_TRACER is not set
1840# CONFIG_KMEMTRACE is not set
1841# CONFIG_WORKQUEUE_TRACER is not set
1842# CONFIG_BLK_DEV_IO_TRACE is not set
1794# CONFIG_FTRACE_STARTUP_TEST is not set 1843# CONFIG_FTRACE_STARTUP_TEST is not set
1795# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1844# CONFIG_DYNAMIC_DEBUG is not set
1796# CONFIG_SAMPLES is not set 1845# CONFIG_SAMPLES is not set
1797CONFIG_HAVE_ARCH_KGDB=y 1846CONFIG_HAVE_ARCH_KGDB=y
1798# CONFIG_KGDB is not set 1847# CONFIG_KGDB is not set
1799CONFIG_PRINT_STACK_DEPTH=64 1848CONFIG_PRINT_STACK_DEPTH=64
1800CONFIG_DEBUG_STACKOVERFLOW=y 1849CONFIG_DEBUG_STACKOVERFLOW=y
1801CONFIG_DEBUG_STACK_USAGE=y 1850CONFIG_DEBUG_STACK_USAGE=y
1802# CONFIG_DEBUG_PAGEALLOC is not set
1803# CONFIG_CODE_PATCHING_SELFTEST is not set 1851# CONFIG_CODE_PATCHING_SELFTEST is not set
1804# CONFIG_FTR_FIXUP_SELFTEST is not set 1852# CONFIG_FTR_FIXUP_SELFTEST is not set
1805# CONFIG_MSI_BITMAP_SELFTEST is not set 1853# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1830,6 +1878,7 @@ CONFIG_SECURITY_SELINUX_DEVELOP=y
1830CONFIG_SECURITY_SELINUX_AVC_STATS=y 1878CONFIG_SECURITY_SELINUX_AVC_STATS=y
1831CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 1879CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
1832# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set 1880# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
1881# CONFIG_SECURITY_TOMOYO is not set
1833CONFIG_CRYPTO=y 1882CONFIG_CRYPTO=y
1834 1883
1835# 1884#
@@ -1845,10 +1894,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1845CONFIG_CRYPTO_HASH=y 1894CONFIG_CRYPTO_HASH=y
1846CONFIG_CRYPTO_HASH2=y 1895CONFIG_CRYPTO_HASH2=y
1847CONFIG_CRYPTO_RNG2=y 1896CONFIG_CRYPTO_RNG2=y
1897CONFIG_CRYPTO_PCOMP=y
1848CONFIG_CRYPTO_MANAGER=y 1898CONFIG_CRYPTO_MANAGER=y
1849CONFIG_CRYPTO_MANAGER2=y 1899CONFIG_CRYPTO_MANAGER2=y
1850# CONFIG_CRYPTO_GF128MUL is not set 1900# CONFIG_CRYPTO_GF128MUL is not set
1851CONFIG_CRYPTO_NULL=m 1901CONFIG_CRYPTO_NULL=m
1902CONFIG_CRYPTO_WORKQUEUE=y
1852# CONFIG_CRYPTO_CRYPTD is not set 1903# CONFIG_CRYPTO_CRYPTD is not set
1853CONFIG_CRYPTO_AUTHENC=m 1904CONFIG_CRYPTO_AUTHENC=m
1854# CONFIG_CRYPTO_TEST is not set 1905# CONFIG_CRYPTO_TEST is not set
@@ -1918,6 +1969,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1918# Compression 1969# Compression
1919# 1970#
1920CONFIG_CRYPTO_DEFLATE=m 1971CONFIG_CRYPTO_DEFLATE=m
1972# CONFIG_CRYPTO_ZLIB is not set
1921# CONFIG_CRYPTO_LZO is not set 1973# CONFIG_CRYPTO_LZO is not set
1922 1974
1923# 1975#
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index add6419c15d9..04915c3a43f6 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:27 2009 4# Wed May 13 17:21:52 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set 19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -55,6 +56,7 @@ CONFIG_GENERIC_BUG=y
55# CONFIG_DEFAULT_UIMAGE is not set 56# CONFIG_DEFAULT_UIMAGE is not set
56# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
57# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
59 61
60# 62#
@@ -71,6 +73,15 @@ CONFIG_SYSVIPC_SYSCTL=y
71# CONFIG_BSD_PROCESS_ACCT is not set 73# CONFIG_BSD_PROCESS_ACCT is not set
72# CONFIG_TASKSTATS is not set 74# CONFIG_TASKSTATS is not set
73# CONFIG_AUDIT is not set 75# CONFIG_AUDIT is not set
76
77#
78# RCU Subsystem
79#
80CONFIG_CLASSIC_RCU=y
81# CONFIG_TREE_RCU is not set
82# CONFIG_PREEMPT_RCU is not set
83# CONFIG_TREE_RCU_TRACE is not set
84# CONFIG_PREEMPT_RCU_TRACE is not set
74CONFIG_IKCONFIG=y 85CONFIG_IKCONFIG=y
75CONFIG_IKCONFIG_PROC=y 86CONFIG_IKCONFIG_PROC=y
76CONFIG_LOG_BUF_SHIFT=14 87CONFIG_LOG_BUF_SHIFT=14
@@ -82,20 +93,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y
82# CONFIG_BLK_DEV_INITRD is not set 93# CONFIG_BLK_DEV_INITRD is not set
83CONFIG_CC_OPTIMIZE_FOR_SIZE=y 94CONFIG_CC_OPTIMIZE_FOR_SIZE=y
84CONFIG_SYSCTL=y 95CONFIG_SYSCTL=y
96CONFIG_ANON_INODES=y
85CONFIG_EMBEDDED=y 97CONFIG_EMBEDDED=y
86CONFIG_SYSCTL_SYSCALL=y 98CONFIG_SYSCTL_SYSCALL=y
87CONFIG_KALLSYMS=y 99CONFIG_KALLSYMS=y
88CONFIG_KALLSYMS_ALL=y 100CONFIG_KALLSYMS_ALL=y
89CONFIG_KALLSYMS_STRIP_GENERATED=y
90# CONFIG_KALLSYMS_EXTRA_PASS is not set 101# CONFIG_KALLSYMS_EXTRA_PASS is not set
102# CONFIG_STRIP_ASM_SYMS is not set
91CONFIG_HOTPLUG=y 103CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 104CONFIG_PRINTK=y
93CONFIG_BUG=y 105CONFIG_BUG=y
94CONFIG_ELF_CORE=y 106CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
96CONFIG_BASE_FULL=y 107CONFIG_BASE_FULL=y
97CONFIG_FUTEX=y 108CONFIG_FUTEX=y
98CONFIG_ANON_INODES=y
99CONFIG_EPOLL=y 109CONFIG_EPOLL=y
100CONFIG_SIGNALFD=y 110CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y 111CONFIG_TIMERFD=y
@@ -104,10 +114,12 @@ CONFIG_SHMEM=y
104CONFIG_AIO=y 114CONFIG_AIO=y
105CONFIG_VM_EVENT_COUNTERS=y 115CONFIG_VM_EVENT_COUNTERS=y
106CONFIG_PCI_QUIRKS=y 116CONFIG_PCI_QUIRKS=y
117CONFIG_COMPAT_BRK=y
107CONFIG_SLAB=y 118CONFIG_SLAB=y
108# CONFIG_SLUB is not set 119# CONFIG_SLUB is not set
109# CONFIG_SLOB is not set 120# CONFIG_SLOB is not set
110# CONFIG_PROFILING is not set 121# CONFIG_PROFILING is not set
122# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y 123CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 124CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
113CONFIG_HAVE_IOREMAP_PROT=y 125CONFIG_HAVE_IOREMAP_PROT=y
@@ -115,6 +127,7 @@ CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 127CONFIG_HAVE_KRETPROBES=y
116CONFIG_HAVE_ARCH_TRACEHOOK=y 128CONFIG_HAVE_ARCH_TRACEHOOK=y
117CONFIG_HAVE_CLK=y 129CONFIG_HAVE_CLK=y
130# CONFIG_SLOW_WORK is not set
118# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 132CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 133CONFIG_RT_MUTEXES=y
@@ -122,7 +135,6 @@ CONFIG_BASE_SMALL=0
122# CONFIG_MODULES is not set 135# CONFIG_MODULES is not set
123CONFIG_BLOCK=y 136CONFIG_BLOCK=y
124# CONFIG_LBD is not set 137# CONFIG_LBD is not set
125# CONFIG_BLK_DEV_IO_TRACE is not set
126# CONFIG_BLK_DEV_INTEGRITY is not set 138# CONFIG_BLK_DEV_INTEGRITY is not set
127 139
128# 140#
@@ -137,18 +149,11 @@ CONFIG_DEFAULT_DEADLINE=y
137# CONFIG_DEFAULT_CFQ is not set 149# CONFIG_DEFAULT_CFQ is not set
138# CONFIG_DEFAULT_NOOP is not set 150# CONFIG_DEFAULT_NOOP is not set
139CONFIG_DEFAULT_IOSCHED="deadline" 151CONFIG_DEFAULT_IOSCHED="deadline"
140CONFIG_CLASSIC_RCU=y
141# CONFIG_TREE_RCU is not set
142# CONFIG_PREEMPT_RCU is not set
143# CONFIG_TREE_RCU_TRACE is not set
144# CONFIG_PREEMPT_RCU_TRACE is not set
145# CONFIG_FREEZER is not set 152# CONFIG_FREEZER is not set
146 153
147# 154#
148# Platform support 155# Platform support
149# 156#
150CONFIG_PPC_MULTIPLATFORM=y
151CONFIG_CLASSIC32=y
152# CONFIG_PPC_CHRP is not set 157# CONFIG_PPC_CHRP is not set
153# CONFIG_MPC5121_ADS is not set 158# CONFIG_MPC5121_ADS is not set
154# CONFIG_MPC5121_GENERIC is not set 159# CONFIG_MPC5121_GENERIC is not set
@@ -167,6 +172,8 @@ CONFIG_8272=y
167# CONFIG_PPC_83xx is not set 172# CONFIG_PPC_83xx is not set
168# CONFIG_PPC_86xx is not set 173# CONFIG_PPC_86xx is not set
169# CONFIG_EMBEDDED6xx is not set 174# CONFIG_EMBEDDED6xx is not set
175# CONFIG_AMIGAONE is not set
176CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
170# CONFIG_IPIC is not set 177# CONFIG_IPIC is not set
171# CONFIG_MPIC is not set 178# CONFIG_MPIC is not set
172# CONFIG_MPIC_WEIRD is not set 179# CONFIG_MPIC_WEIRD is not set
@@ -222,9 +229,12 @@ CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 229CONFIG_BOUNCE=y
223CONFIG_VIRT_TO_BUS=y 230CONFIG_VIRT_TO_BUS=y
224CONFIG_UNEVICTABLE_LRU=y 231CONFIG_UNEVICTABLE_LRU=y
232CONFIG_HAVE_MLOCK=y
233CONFIG_HAVE_MLOCKED_PAGE_BIT=y
225CONFIG_PPC_4K_PAGES=y 234CONFIG_PPC_4K_PAGES=y
226# CONFIG_PPC_16K_PAGES is not set 235# CONFIG_PPC_16K_PAGES is not set
227# CONFIG_PPC_64K_PAGES is not set 236# CONFIG_PPC_64K_PAGES is not set
237# CONFIG_PPC_256K_PAGES is not set
228CONFIG_FORCE_MAX_ZONEORDER=11 238CONFIG_FORCE_MAX_ZONEORDER=11
229CONFIG_PROC_DEVICETREE=y 239CONFIG_PROC_DEVICETREE=y
230# CONFIG_CMDLINE_BOOL is not set 240# CONFIG_CMDLINE_BOOL is not set
@@ -250,6 +260,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
250# CONFIG_PCI_LEGACY is not set 260# CONFIG_PCI_LEGACY is not set
251# CONFIG_PCI_DEBUG is not set 261# CONFIG_PCI_DEBUG is not set
252# CONFIG_PCI_STUB is not set 262# CONFIG_PCI_STUB is not set
263# CONFIG_PCI_IOV is not set
253# CONFIG_PCCARD is not set 264# CONFIG_PCCARD is not set
254# CONFIG_HOTPLUG_PCI is not set 265# CONFIG_HOTPLUG_PCI is not set
255# CONFIG_HAS_RAPIDIO is not set 266# CONFIG_HAS_RAPIDIO is not set
@@ -272,7 +283,6 @@ CONFIG_NET=y
272# 283#
273# Networking options 284# Networking options
274# 285#
275CONFIG_COMPAT_NET_DEV_OPS=y
276CONFIG_PACKET=y 286CONFIG_PACKET=y
277# CONFIG_PACKET_MMAP is not set 287# CONFIG_PACKET_MMAP is not set
278CONFIG_UNIX=y 288CONFIG_UNIX=y
@@ -353,6 +363,7 @@ CONFIG_NETFILTER_ADVANCED=y
353# CONFIG_LLC2 is not set 363# CONFIG_LLC2 is not set
354# CONFIG_IPX is not set 364# CONFIG_IPX is not set
355# CONFIG_ATALK is not set 365# CONFIG_ATALK is not set
366# CONFIG_PHONET is not set
356# CONFIG_NET_SCHED is not set 367# CONFIG_NET_SCHED is not set
357# CONFIG_DCB is not set 368# CONFIG_DCB is not set
358 369
@@ -364,7 +375,6 @@ CONFIG_NETFILTER_ADVANCED=y
364# CONFIG_CAN is not set 375# CONFIG_CAN is not set
365# CONFIG_IRDA is not set 376# CONFIG_IRDA is not set
366# CONFIG_BT is not set 377# CONFIG_BT is not set
367# CONFIG_PHONET is not set
368CONFIG_WIRELESS=y 378CONFIG_WIRELESS=y
369# CONFIG_CFG80211 is not set 379# CONFIG_CFG80211 is not set
370CONFIG_WIRELESS_OLD_REGULATORY=y 380CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -468,7 +478,6 @@ CONFIG_MTD_PHYSMAP_OF=y
468# LPDDR flash memory drivers 478# LPDDR flash memory drivers
469# 479#
470# CONFIG_MTD_LPDDR is not set 480# CONFIG_MTD_LPDDR is not set
471# CONFIG_MTD_QINFO_PROBE is not set
472 481
473# 482#
474# UBI - Unsorted block images 483# UBI - Unsorted block images
@@ -517,6 +526,7 @@ CONFIG_HAVE_IDE=y
517# CONFIG_I2O is not set 526# CONFIG_I2O is not set
518# CONFIG_MACINTOSH_DRIVERS is not set 527# CONFIG_MACINTOSH_DRIVERS is not set
519CONFIG_NETDEVICES=y 528CONFIG_NETDEVICES=y
529CONFIG_COMPAT_NET_DEV_OPS=y
520# CONFIG_DUMMY is not set 530# CONFIG_DUMMY is not set
521# CONFIG_BONDING is not set 531# CONFIG_BONDING is not set
522# CONFIG_EQUALIZER is not set 532# CONFIG_EQUALIZER is not set
@@ -550,6 +560,8 @@ CONFIG_MII=y
550# CONFIG_SUNGEM is not set 560# CONFIG_SUNGEM is not set
551# CONFIG_CASSINI is not set 561# CONFIG_CASSINI is not set
552# CONFIG_NET_VENDOR_3COM is not set 562# CONFIG_NET_VENDOR_3COM is not set
563# CONFIG_ETHOC is not set
564# CONFIG_DNET is not set
553# CONFIG_NET_TULIP is not set 565# CONFIG_NET_TULIP is not set
554# CONFIG_HP100 is not set 566# CONFIG_HP100 is not set
555# CONFIG_IBM_NEW_EMAC_ZMII is not set 567# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -572,6 +584,7 @@ CONFIG_NETDEV_1000=y
572# CONFIG_E1000 is not set 584# CONFIG_E1000 is not set
573# CONFIG_E1000E is not set 585# CONFIG_E1000E is not set
574# CONFIG_IGB is not set 586# CONFIG_IGB is not set
587# CONFIG_IGBVF is not set
575# CONFIG_NS83820 is not set 588# CONFIG_NS83820 is not set
576# CONFIG_HAMACHI is not set 589# CONFIG_HAMACHI is not set
577# CONFIG_R8169 is not set 590# CONFIG_R8169 is not set
@@ -581,8 +594,8 @@ CONFIG_NETDEV_1000=y
581# CONFIG_VIA_VELOCITY is not set 594# CONFIG_VIA_VELOCITY is not set
582# CONFIG_TIGON3 is not set 595# CONFIG_TIGON3 is not set
583# CONFIG_BNX2 is not set 596# CONFIG_BNX2 is not set
597# CONFIG_FSL_PQ_MDIO is not set
584# CONFIG_GIANFAR is not set 598# CONFIG_GIANFAR is not set
585# CONFIG_MV643XX_ETH is not set
586# CONFIG_QLA3XXX is not set 599# CONFIG_QLA3XXX is not set
587# CONFIG_ATL1 is not set 600# CONFIG_ATL1 is not set
588# CONFIG_JME is not set 601# CONFIG_JME is not set
@@ -594,6 +607,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
594# CONFIG_IXGBE is not set 607# CONFIG_IXGBE is not set
595# CONFIG_IXGB is not set 608# CONFIG_IXGB is not set
596# CONFIG_S2IO is not set 609# CONFIG_S2IO is not set
610# CONFIG_VXGE is not set
597# CONFIG_MYRI10GE is not set 611# CONFIG_MYRI10GE is not set
598# CONFIG_NETXEN_NIC is not set 612# CONFIG_NETXEN_NIC is not set
599# CONFIG_NIU is not set 613# CONFIG_NIU is not set
@@ -603,6 +617,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
603# CONFIG_BNX2X is not set 617# CONFIG_BNX2X is not set
604# CONFIG_QLGE is not set 618# CONFIG_QLGE is not set
605# CONFIG_SFC is not set 619# CONFIG_SFC is not set
620# CONFIG_BE2NET is not set
606# CONFIG_TR is not set 621# CONFIG_TR is not set
607 622
608# 623#
@@ -610,7 +625,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
610# 625#
611# CONFIG_WLAN_PRE80211 is not set 626# CONFIG_WLAN_PRE80211 is not set
612# CONFIG_WLAN_80211 is not set 627# CONFIG_WLAN_80211 is not set
613# CONFIG_IWLWIFI_LEDS is not set
614 628
615# 629#
616# Enable WiMAX (Networking options) to see the WiMAX drivers 630# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -662,6 +676,7 @@ CONFIG_LEGACY_PTYS=y
662CONFIG_LEGACY_PTY_COUNT=256 676CONFIG_LEGACY_PTY_COUNT=256
663# CONFIG_IPMI_HANDLER is not set 677# CONFIG_IPMI_HANDLER is not set
664CONFIG_HW_RANDOM=y 678CONFIG_HW_RANDOM=y
679# CONFIG_HW_RANDOM_TIMERIOMEM is not set
665# CONFIG_NVRAM is not set 680# CONFIG_NVRAM is not set
666# CONFIG_GEN_RTC is not set 681# CONFIG_GEN_RTC is not set
667# CONFIG_R3964 is not set 682# CONFIG_R3964 is not set
@@ -751,8 +766,10 @@ CONFIG_DAB=y
751# CONFIG_NEW_LEDS is not set 766# CONFIG_NEW_LEDS is not set
752# CONFIG_ACCESSIBILITY is not set 767# CONFIG_ACCESSIBILITY is not set
753# CONFIG_INFINIBAND is not set 768# CONFIG_INFINIBAND is not set
769# CONFIG_EDAC is not set
754# CONFIG_RTC_CLASS is not set 770# CONFIG_RTC_CLASS is not set
755# CONFIG_DMADEVICES is not set 771# CONFIG_DMADEVICES is not set
772# CONFIG_AUXDISPLAY is not set
756# CONFIG_UIO is not set 773# CONFIG_UIO is not set
757# CONFIG_STAGING is not set 774# CONFIG_STAGING is not set
758 775
@@ -763,6 +780,7 @@ CONFIG_EXT2_FS=y
763# CONFIG_EXT2_FS_XATTR is not set 780# CONFIG_EXT2_FS_XATTR is not set
764# CONFIG_EXT2_FS_XIP is not set 781# CONFIG_EXT2_FS_XIP is not set
765CONFIG_EXT3_FS=y 782CONFIG_EXT3_FS=y
783# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
766# CONFIG_EXT3_FS_XATTR is not set 784# CONFIG_EXT3_FS_XATTR is not set
767# CONFIG_EXT4_FS is not set 785# CONFIG_EXT4_FS is not set
768CONFIG_JBD=y 786CONFIG_JBD=y
@@ -781,6 +799,10 @@ CONFIG_AUTOFS4_FS=y
781# CONFIG_FUSE_FS is not set 799# CONFIG_FUSE_FS is not set
782 800
783# 801#
802# Caches
803#
804
805#
784# CD-ROM/DVD Filesystems 806# CD-ROM/DVD Filesystems
785# 807#
786# CONFIG_ISO9660_FS is not set 808# CONFIG_ISO9660_FS is not set
@@ -894,6 +916,7 @@ CONFIG_NLS_ISO8859_1=y
894# CONFIG_NLS_KOI8_R is not set 916# CONFIG_NLS_KOI8_R is not set
895# CONFIG_NLS_KOI8_U is not set 917# CONFIG_NLS_KOI8_U is not set
896CONFIG_NLS_UTF8=y 918CONFIG_NLS_UTF8=y
919# CONFIG_BINARY_PRINTF is not set
897 920
898# 921#
899# Library routines 922# Library routines
@@ -907,11 +930,11 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
907# CONFIG_CRC7 is not set 930# CONFIG_CRC7 is not set
908# CONFIG_LIBCRC32C is not set 931# CONFIG_LIBCRC32C is not set
909CONFIG_ZLIB_INFLATE=y 932CONFIG_ZLIB_INFLATE=y
910CONFIG_PLIST=y
911CONFIG_HAS_IOMEM=y 933CONFIG_HAS_IOMEM=y
912CONFIG_HAS_IOPORT=y 934CONFIG_HAS_IOPORT=y
913CONFIG_HAS_DMA=y 935CONFIG_HAS_DMA=y
914CONFIG_HAVE_LMB=y 936CONFIG_HAVE_LMB=y
937CONFIG_NLATTR=y
915 938
916# 939#
917# Kernel hacking 940# Kernel hacking
@@ -927,6 +950,7 @@ CONFIG_MAGIC_SYSRQ=y
927CONFIG_DEBUG_KERNEL=y 950CONFIG_DEBUG_KERNEL=y
928# CONFIG_DEBUG_SHIRQ is not set 951# CONFIG_DEBUG_SHIRQ is not set
929# CONFIG_DETECT_SOFTLOCKUP is not set 952# CONFIG_DETECT_SOFTLOCKUP is not set
953# CONFIG_DETECT_HUNG_TASK is not set
930# CONFIG_SCHED_DEBUG is not set 954# CONFIG_SCHED_DEBUG is not set
931# CONFIG_SCHEDSTATS is not set 955# CONFIG_SCHEDSTATS is not set
932# CONFIG_TIMER_STATS is not set 956# CONFIG_TIMER_STATS is not set
@@ -955,9 +979,12 @@ CONFIG_DEBUG_INFO=y
955# CONFIG_FAULT_INJECTION is not set 979# CONFIG_FAULT_INJECTION is not set
956# CONFIG_LATENCYTOP is not set 980# CONFIG_LATENCYTOP is not set
957CONFIG_SYSCTL_SYSCALL_CHECK=y 981CONFIG_SYSCTL_SYSCALL_CHECK=y
982# CONFIG_DEBUG_PAGEALLOC is not set
958CONFIG_HAVE_FUNCTION_TRACER=y 983CONFIG_HAVE_FUNCTION_TRACER=y
984CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
959CONFIG_HAVE_DYNAMIC_FTRACE=y 985CONFIG_HAVE_DYNAMIC_FTRACE=y
960CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 986CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
987CONFIG_TRACING_SUPPORT=y
961 988
962# 989#
963# Tracers 990# Tracers
@@ -965,16 +992,18 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
965# CONFIG_FUNCTION_TRACER is not set 992# CONFIG_FUNCTION_TRACER is not set
966# CONFIG_SCHED_TRACER is not set 993# CONFIG_SCHED_TRACER is not set
967# CONFIG_CONTEXT_SWITCH_TRACER is not set 994# CONFIG_CONTEXT_SWITCH_TRACER is not set
995# CONFIG_EVENT_TRACER is not set
968# CONFIG_BOOT_TRACER is not set 996# CONFIG_BOOT_TRACER is not set
969# CONFIG_TRACE_BRANCH_PROFILING is not set 997# CONFIG_TRACE_BRANCH_PROFILING is not set
970# CONFIG_STACK_TRACER is not set 998# CONFIG_STACK_TRACER is not set
971# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 999# CONFIG_KMEMTRACE is not set
1000# CONFIG_WORKQUEUE_TRACER is not set
1001# CONFIG_BLK_DEV_IO_TRACE is not set
972# CONFIG_SAMPLES is not set 1002# CONFIG_SAMPLES is not set
973CONFIG_HAVE_ARCH_KGDB=y 1003CONFIG_HAVE_ARCH_KGDB=y
974CONFIG_PRINT_STACK_DEPTH=64 1004CONFIG_PRINT_STACK_DEPTH=64
975# CONFIG_DEBUG_STACKOVERFLOW is not set 1005# CONFIG_DEBUG_STACKOVERFLOW is not set
976# CONFIG_DEBUG_STACK_USAGE is not set 1006# CONFIG_DEBUG_STACK_USAGE is not set
977# CONFIG_DEBUG_PAGEALLOC is not set
978# CONFIG_CODE_PATCHING_SELFTEST is not set 1007# CONFIG_CODE_PATCHING_SELFTEST is not set
979# CONFIG_FTR_FIXUP_SELFTEST is not set 1008# CONFIG_FTR_FIXUP_SELFTEST is not set
980# CONFIG_MSI_BITMAP_SELFTEST is not set 1009# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1005,9 +1034,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1005CONFIG_CRYPTO_HASH=y 1034CONFIG_CRYPTO_HASH=y
1006CONFIG_CRYPTO_HASH2=y 1035CONFIG_CRYPTO_HASH2=y
1007CONFIG_CRYPTO_RNG2=y 1036CONFIG_CRYPTO_RNG2=y
1037CONFIG_CRYPTO_PCOMP=y
1008CONFIG_CRYPTO_MANAGER=y 1038CONFIG_CRYPTO_MANAGER=y
1009CONFIG_CRYPTO_MANAGER2=y 1039CONFIG_CRYPTO_MANAGER2=y
1010# CONFIG_CRYPTO_NULL is not set 1040# CONFIG_CRYPTO_NULL is not set
1041CONFIG_CRYPTO_WORKQUEUE=y
1011# CONFIG_CRYPTO_CRYPTD is not set 1042# CONFIG_CRYPTO_CRYPTD is not set
1012# CONFIG_CRYPTO_AUTHENC is not set 1043# CONFIG_CRYPTO_AUTHENC is not set
1013 1044
@@ -1071,6 +1102,7 @@ CONFIG_CRYPTO_DES=y
1071# Compression 1102# Compression
1072# 1103#
1073# CONFIG_CRYPTO_DEFLATE is not set 1104# CONFIG_CRYPTO_DEFLATE is not set
1105# CONFIG_CRYPTO_ZLIB is not set
1074# CONFIG_CRYPTO_LZO is not set 1106# CONFIG_CRYPTO_LZO is not set
1075 1107
1076# 1108#
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index b2fdfd9e183c..c2a439595f4d 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:28 2009 4# Wed May 13 17:21:53 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -52,6 +52,7 @@ CONFIG_GENERIC_BUG=y
52# CONFIG_DEFAULT_UIMAGE is not set 52# CONFIG_DEFAULT_UIMAGE is not set
53# CONFIG_PPC_DCR_NATIVE is not set 53# CONFIG_PPC_DCR_NATIVE is not set
54# CONFIG_PPC_DCR_MMIO is not set 54# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
56 57
57# 58#
@@ -69,6 +70,15 @@ CONFIG_SYSVIPC_SYSCTL=y
69# CONFIG_BSD_PROCESS_ACCT is not set 70# CONFIG_BSD_PROCESS_ACCT is not set
70# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
73
74#
75# RCU Subsystem
76#
77CONFIG_CLASSIC_RCU=y
78# CONFIG_TREE_RCU is not set
79# CONFIG_PREEMPT_RCU is not set
80# CONFIG_TREE_RCU_TRACE is not set
81# CONFIG_PREEMPT_RCU_TRACE is not set
72# CONFIG_IKCONFIG is not set 82# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 83CONFIG_LOG_BUF_SHIFT=14
74CONFIG_GROUP_SCHED=y 84CONFIG_GROUP_SCHED=y
@@ -84,19 +94,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y
84# CONFIG_BLK_DEV_INITRD is not set 94# CONFIG_BLK_DEV_INITRD is not set
85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 95# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
86CONFIG_SYSCTL=y 96CONFIG_SYSCTL=y
97CONFIG_ANON_INODES=y
87CONFIG_EMBEDDED=y 98CONFIG_EMBEDDED=y
88# CONFIG_SYSCTL_SYSCALL is not set 99# CONFIG_SYSCTL_SYSCALL is not set
89CONFIG_KALLSYMS=y 100CONFIG_KALLSYMS=y
90# CONFIG_KALLSYMS_ALL is not set 101# CONFIG_KALLSYMS_ALL is not set
91# CONFIG_KALLSYMS_EXTRA_PASS is not set 102# CONFIG_KALLSYMS_EXTRA_PASS is not set
103# CONFIG_STRIP_ASM_SYMS is not set
92CONFIG_HOTPLUG=y 104CONFIG_HOTPLUG=y
93CONFIG_PRINTK=y 105CONFIG_PRINTK=y
94CONFIG_BUG=y 106CONFIG_BUG=y
95# CONFIG_ELF_CORE is not set 107# CONFIG_ELF_CORE is not set
96CONFIG_COMPAT_BRK=y
97# CONFIG_BASE_FULL is not set 108# CONFIG_BASE_FULL is not set
98# CONFIG_FUTEX is not set 109# CONFIG_FUTEX is not set
99CONFIG_ANON_INODES=y
100CONFIG_EPOLL=y 110CONFIG_EPOLL=y
101CONFIG_SIGNALFD=y 111CONFIG_SIGNALFD=y
102CONFIG_TIMERFD=y 112CONFIG_TIMERFD=y
@@ -105,10 +115,12 @@ CONFIG_SHMEM=y
105CONFIG_AIO=y 115CONFIG_AIO=y
106# CONFIG_VM_EVENT_COUNTERS is not set 116# CONFIG_VM_EVENT_COUNTERS is not set
107CONFIG_SLUB_DEBUG=y 117CONFIG_SLUB_DEBUG=y
118CONFIG_COMPAT_BRK=y
108# CONFIG_SLAB is not set 119# CONFIG_SLAB is not set
109CONFIG_SLUB=y 120CONFIG_SLUB=y
110# CONFIG_SLOB is not set 121# CONFIG_SLOB is not set
111# CONFIG_PROFILING is not set 122# CONFIG_PROFILING is not set
123# CONFIG_MARKERS is not set
112CONFIG_HAVE_OPROFILE=y 124CONFIG_HAVE_OPROFILE=y
113CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 125CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
114CONFIG_HAVE_IOREMAP_PROT=y 126CONFIG_HAVE_IOREMAP_PROT=y
@@ -116,13 +128,13 @@ CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 128CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y 129CONFIG_HAVE_ARCH_TRACEHOOK=y
118CONFIG_HAVE_CLK=y 130CONFIG_HAVE_CLK=y
131# CONFIG_SLOW_WORK is not set
119# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
120CONFIG_SLABINFO=y 133CONFIG_SLABINFO=y
121CONFIG_BASE_SMALL=1 134CONFIG_BASE_SMALL=1
122# CONFIG_MODULES is not set 135# CONFIG_MODULES is not set
123CONFIG_BLOCK=y 136CONFIG_BLOCK=y
124# CONFIG_LBD is not set 137# CONFIG_LBD is not set
125# CONFIG_BLK_DEV_IO_TRACE is not set
126# CONFIG_BLK_DEV_BSG is not set 138# CONFIG_BLK_DEV_BSG is not set
127# CONFIG_BLK_DEV_INTEGRITY is not set 139# CONFIG_BLK_DEV_INTEGRITY is not set
128 140
@@ -138,11 +150,6 @@ CONFIG_DEFAULT_DEADLINE=y
138# CONFIG_DEFAULT_CFQ is not set 150# CONFIG_DEFAULT_CFQ is not set
139# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
140CONFIG_DEFAULT_IOSCHED="deadline" 152CONFIG_DEFAULT_IOSCHED="deadline"
141CONFIG_CLASSIC_RCU=y
142# CONFIG_TREE_RCU is not set
143# CONFIG_PREEMPT_RCU is not set
144# CONFIG_TREE_RCU_TRACE is not set
145# CONFIG_PREEMPT_RCU_TRACE is not set
146# CONFIG_FREEZER is not set 153# CONFIG_FREEZER is not set
147 154
148# 155#
@@ -233,9 +240,12 @@ CONFIG_ZONE_DMA_FLAG=1
233CONFIG_BOUNCE=y 240CONFIG_BOUNCE=y
234CONFIG_VIRT_TO_BUS=y 241CONFIG_VIRT_TO_BUS=y
235CONFIG_UNEVICTABLE_LRU=y 242CONFIG_UNEVICTABLE_LRU=y
243CONFIG_HAVE_MLOCK=y
244CONFIG_HAVE_MLOCKED_PAGE_BIT=y
236CONFIG_PPC_4K_PAGES=y 245CONFIG_PPC_4K_PAGES=y
237# CONFIG_PPC_16K_PAGES is not set 246# CONFIG_PPC_16K_PAGES is not set
238# CONFIG_PPC_64K_PAGES is not set 247# CONFIG_PPC_64K_PAGES is not set
248# CONFIG_PPC_256K_PAGES is not set
239CONFIG_FORCE_MAX_ZONEORDER=11 249CONFIG_FORCE_MAX_ZONEORDER=11
240CONFIG_PROC_DEVICETREE=y 250CONFIG_PROC_DEVICETREE=y
241# CONFIG_CMDLINE_BOOL is not set 251# CONFIG_CMDLINE_BOOL is not set
@@ -270,14 +280,11 @@ CONFIG_PAGE_OFFSET=0xc0000000
270CONFIG_KERNEL_START=0xc0000000 280CONFIG_KERNEL_START=0xc0000000
271CONFIG_PHYSICAL_START=0x00000000 281CONFIG_PHYSICAL_START=0x00000000
272CONFIG_TASK_SIZE=0x80000000 282CONFIG_TASK_SIZE=0x80000000
273CONFIG_CONSISTENT_START=0xfd000000
274CONFIG_CONSISTENT_SIZE=0x00200000
275CONFIG_NET=y 283CONFIG_NET=y
276 284
277# 285#
278# Networking options 286# Networking options
279# 287#
280CONFIG_COMPAT_NET_DEV_OPS=y
281CONFIG_PACKET=y 288CONFIG_PACKET=y
282# CONFIG_PACKET_MMAP is not set 289# CONFIG_PACKET_MMAP is not set
283CONFIG_UNIX=y 290CONFIG_UNIX=y
@@ -328,6 +335,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
328# CONFIG_LAPB is not set 335# CONFIG_LAPB is not set
329# CONFIG_ECONET is not set 336# CONFIG_ECONET is not set
330# CONFIG_WAN_ROUTER is not set 337# CONFIG_WAN_ROUTER is not set
338# CONFIG_PHONET is not set
331# CONFIG_NET_SCHED is not set 339# CONFIG_NET_SCHED is not set
332# CONFIG_DCB is not set 340# CONFIG_DCB is not set
333 341
@@ -340,7 +348,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_IRDA is not set 348# CONFIG_IRDA is not set
341# CONFIG_BT is not set 349# CONFIG_BT is not set
342# CONFIG_AF_RXRPC is not set 350# CONFIG_AF_RXRPC is not set
343# CONFIG_PHONET is not set
344CONFIG_WIRELESS=y 351CONFIG_WIRELESS=y
345# CONFIG_CFG80211 is not set 352# CONFIG_CFG80211 is not set
346CONFIG_WIRELESS_OLD_REGULATORY=y 353CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -439,7 +446,6 @@ CONFIG_MTD_PHYSMAP_OF=y
439# LPDDR flash memory drivers 446# LPDDR flash memory drivers
440# 447#
441# CONFIG_MTD_LPDDR is not set 448# CONFIG_MTD_LPDDR is not set
442# CONFIG_MTD_QINFO_PROBE is not set
443 449
444# 450#
445# UBI - Unsorted block images 451# UBI - Unsorted block images
@@ -463,6 +469,7 @@ CONFIG_HAVE_IDE=y
463# CONFIG_MD is not set 469# CONFIG_MD is not set
464# CONFIG_MACINTOSH_DRIVERS is not set 470# CONFIG_MACINTOSH_DRIVERS is not set
465CONFIG_NETDEVICES=y 471CONFIG_NETDEVICES=y
472CONFIG_COMPAT_NET_DEV_OPS=y
466# CONFIG_DUMMY is not set 473# CONFIG_DUMMY is not set
467# CONFIG_BONDING is not set 474# CONFIG_BONDING is not set
468# CONFIG_MACVLAN is not set 475# CONFIG_MACVLAN is not set
@@ -491,6 +498,8 @@ CONFIG_LXT_PHY=y
491# CONFIG_MDIO_BITBANG is not set 498# CONFIG_MDIO_BITBANG is not set
492CONFIG_NET_ETHERNET=y 499CONFIG_NET_ETHERNET=y
493CONFIG_MII=y 500CONFIG_MII=y
501# CONFIG_ETHOC is not set
502# CONFIG_DNET is not set
494# CONFIG_IBM_NEW_EMAC_ZMII is not set 503# CONFIG_IBM_NEW_EMAC_ZMII is not set
495# CONFIG_IBM_NEW_EMAC_RGMII is not set 504# CONFIG_IBM_NEW_EMAC_RGMII is not set
496# CONFIG_IBM_NEW_EMAC_TAH is not set 505# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -511,7 +520,6 @@ CONFIG_FS_ENET_MDIO_FEC=y
511# 520#
512# CONFIG_WLAN_PRE80211 is not set 521# CONFIG_WLAN_PRE80211 is not set
513# CONFIG_WLAN_80211 is not set 522# CONFIG_WLAN_80211 is not set
514# CONFIG_IWLWIFI_LEDS is not set
515 523
516# 524#
517# Enable WiMAX (Networking options) to see the WiMAX drivers 525# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -562,6 +570,7 @@ CONFIG_UNIX98_PTYS=y
562# CONFIG_HVC_UDBG is not set 570# CONFIG_HVC_UDBG is not set
563# CONFIG_IPMI_HANDLER is not set 571# CONFIG_IPMI_HANDLER is not set
564CONFIG_HW_RANDOM=y 572CONFIG_HW_RANDOM=y
573# CONFIG_HW_RANDOM_TIMERIOMEM is not set
565# CONFIG_NVRAM is not set 574# CONFIG_NVRAM is not set
566CONFIG_GEN_RTC=y 575CONFIG_GEN_RTC=y
567# CONFIG_GEN_RTC_X is not set 576# CONFIG_GEN_RTC_X is not set
@@ -631,6 +640,7 @@ CONFIG_DAB=y
631# CONFIG_EDAC is not set 640# CONFIG_EDAC is not set
632# CONFIG_RTC_CLASS is not set 641# CONFIG_RTC_CLASS is not set
633# CONFIG_DMADEVICES is not set 642# CONFIG_DMADEVICES is not set
643# CONFIG_AUXDISPLAY is not set
634# CONFIG_UIO is not set 644# CONFIG_UIO is not set
635# CONFIG_STAGING is not set 645# CONFIG_STAGING is not set
636 646
@@ -655,6 +665,11 @@ CONFIG_FILE_LOCKING=y
655# CONFIG_FUSE_FS is not set 665# CONFIG_FUSE_FS is not set
656 666
657# 667#
668# Caches
669#
670# CONFIG_FSCACHE is not set
671
672#
658# CD-ROM/DVD Filesystems 673# CD-ROM/DVD Filesystems
659# 674#
660# CONFIG_ISO9660_FS is not set 675# CONFIG_ISO9660_FS is not set
@@ -698,6 +713,7 @@ CONFIG_CRAMFS=y
698# CONFIG_ROMFS_FS is not set 713# CONFIG_ROMFS_FS is not set
699# CONFIG_SYSV_FS is not set 714# CONFIG_SYSV_FS is not set
700# CONFIG_UFS_FS is not set 715# CONFIG_UFS_FS is not set
716# CONFIG_NILFS2_FS is not set
701CONFIG_NETWORK_FILESYSTEMS=y 717CONFIG_NETWORK_FILESYSTEMS=y
702CONFIG_NFS_FS=y 718CONFIG_NFS_FS=y
703CONFIG_NFS_V3=y 719CONFIG_NFS_V3=y
@@ -709,7 +725,6 @@ CONFIG_LOCKD=y
709CONFIG_LOCKD_V4=y 725CONFIG_LOCKD_V4=y
710CONFIG_NFS_COMMON=y 726CONFIG_NFS_COMMON=y
711CONFIG_SUNRPC=y 727CONFIG_SUNRPC=y
712# CONFIG_SUNRPC_REGISTER_V4 is not set
713# CONFIG_RPCSEC_GSS_KRB5 is not set 728# CONFIG_RPCSEC_GSS_KRB5 is not set
714# CONFIG_RPCSEC_GSS_SPKM3 is not set 729# CONFIG_RPCSEC_GSS_SPKM3 is not set
715# CONFIG_SMB_FS is not set 730# CONFIG_SMB_FS is not set
@@ -741,6 +756,7 @@ CONFIG_MSDOS_PARTITION=y
741# CONFIG_SYSV68_PARTITION is not set 756# CONFIG_SYSV68_PARTITION is not set
742# CONFIG_NLS is not set 757# CONFIG_NLS is not set
743# CONFIG_DLM is not set 758# CONFIG_DLM is not set
759# CONFIG_BINARY_PRINTF is not set
744 760
745# 761#
746# Library routines 762# Library routines
@@ -758,6 +774,7 @@ CONFIG_HAS_IOMEM=y
758CONFIG_HAS_IOPORT=y 774CONFIG_HAS_IOPORT=y
759CONFIG_HAS_DMA=y 775CONFIG_HAS_DMA=y
760CONFIG_HAVE_LMB=y 776CONFIG_HAVE_LMB=y
777CONFIG_NLATTR=y
761 778
762# 779#
763# Kernel hacking 780# Kernel hacking
@@ -775,6 +792,9 @@ CONFIG_DEBUG_KERNEL=y
775CONFIG_DETECT_SOFTLOCKUP=y 792CONFIG_DETECT_SOFTLOCKUP=y
776# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 793# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
777CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 794CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
795CONFIG_DETECT_HUNG_TASK=y
796# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
797CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
778CONFIG_SCHED_DEBUG=y 798CONFIG_SCHED_DEBUG=y
779# CONFIG_SCHEDSTATS is not set 799# CONFIG_SCHEDSTATS is not set
780# CONFIG_TIMER_STATS is not set 800# CONFIG_TIMER_STATS is not set
@@ -801,9 +821,12 @@ CONFIG_DEBUG_INFO=y
801# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 821# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
802# CONFIG_FAULT_INJECTION is not set 822# CONFIG_FAULT_INJECTION is not set
803# CONFIG_LATENCYTOP is not set 823# CONFIG_LATENCYTOP is not set
824# CONFIG_DEBUG_PAGEALLOC is not set
804CONFIG_HAVE_FUNCTION_TRACER=y 825CONFIG_HAVE_FUNCTION_TRACER=y
826CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
805CONFIG_HAVE_DYNAMIC_FTRACE=y 827CONFIG_HAVE_DYNAMIC_FTRACE=y
806CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 828CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
829CONFIG_TRACING_SUPPORT=y
807 830
808# 831#
809# Tracers 832# Tracers
@@ -811,17 +834,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
811# CONFIG_FUNCTION_TRACER is not set 834# CONFIG_FUNCTION_TRACER is not set
812# CONFIG_SCHED_TRACER is not set 835# CONFIG_SCHED_TRACER is not set
813# CONFIG_CONTEXT_SWITCH_TRACER is not set 836# CONFIG_CONTEXT_SWITCH_TRACER is not set
837# CONFIG_EVENT_TRACER is not set
814# CONFIG_BOOT_TRACER is not set 838# CONFIG_BOOT_TRACER is not set
815# CONFIG_TRACE_BRANCH_PROFILING is not set 839# CONFIG_TRACE_BRANCH_PROFILING is not set
816# CONFIG_STACK_TRACER is not set 840# CONFIG_STACK_TRACER is not set
817# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 841# CONFIG_KMEMTRACE is not set
842# CONFIG_WORKQUEUE_TRACER is not set
843# CONFIG_BLK_DEV_IO_TRACE is not set
818# CONFIG_SAMPLES is not set 844# CONFIG_SAMPLES is not set
819CONFIG_HAVE_ARCH_KGDB=y 845CONFIG_HAVE_ARCH_KGDB=y
820# CONFIG_KGDB is not set 846# CONFIG_KGDB is not set
821CONFIG_PRINT_STACK_DEPTH=64 847CONFIG_PRINT_STACK_DEPTH=64
822# CONFIG_DEBUG_STACKOVERFLOW is not set 848# CONFIG_DEBUG_STACKOVERFLOW is not set
823# CONFIG_DEBUG_STACK_USAGE is not set 849# CONFIG_DEBUG_STACK_USAGE is not set
824# CONFIG_DEBUG_PAGEALLOC is not set
825# CONFIG_CODE_PATCHING_SELFTEST is not set 850# CONFIG_CODE_PATCHING_SELFTEST is not set
826# CONFIG_FTR_FIXUP_SELFTEST is not set 851# CONFIG_FTR_FIXUP_SELFTEST is not set
827# CONFIG_MSI_BITMAP_SELFTEST is not set 852# CONFIG_MSI_BITMAP_SELFTEST is not set
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 15900dcf0bfa..a4053ab9e244 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.29-rc6 3# Linux kernel version: 2.6.30-rc3
4# Fri Mar 6 00:07:38 2009 4# Wed May 13 17:21:54 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set 19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -54,6 +55,7 @@ CONFIG_GENERIC_BUG=y
54CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
55# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
56# CONFIG_PPC_DCR_MMIO is not set 57# CONFIG_PPC_DCR_MMIO is not set
58CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
57CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
58 60
59# 61#
@@ -68,6 +70,7 @@ CONFIG_SWAP=y
68CONFIG_SYSVIPC=y 70CONFIG_SYSVIPC=y
69CONFIG_SYSVIPC_SYSCTL=y 71CONFIG_SYSVIPC_SYSCTL=y
70CONFIG_POSIX_MQUEUE=y 72CONFIG_POSIX_MQUEUE=y
73CONFIG_POSIX_MQUEUE_SYSCTL=y
71# CONFIG_BSD_PROCESS_ACCT is not set 74# CONFIG_BSD_PROCESS_ACCT is not set
72# CONFIG_TASKSTATS is not set 75# CONFIG_TASKSTATS is not set
73# CONFIG_AUDIT is not set 76# CONFIG_AUDIT is not set
@@ -100,21 +103,24 @@ CONFIG_NAMESPACES=y
100# CONFIG_NET_NS is not set 103# CONFIG_NET_NS is not set
101CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
102CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107CONFIG_RD_BZIP2=y
108CONFIG_RD_LZMA=y
103CONFIG_CC_OPTIMIZE_FOR_SIZE=y 109CONFIG_CC_OPTIMIZE_FOR_SIZE=y
104CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
105# CONFIG_EMBEDDED is not set 112# CONFIG_EMBEDDED is not set
106CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
107CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
108# CONFIG_KALLSYMS_ALL is not set 115# CONFIG_KALLSYMS_ALL is not set
109# CONFIG_KALLSYMS_EXTRA_PASS is not set 116# CONFIG_KALLSYMS_EXTRA_PASS is not set
117# CONFIG_STRIP_ASM_SYMS is not set
110CONFIG_HOTPLUG=y 118CONFIG_HOTPLUG=y
111CONFIG_PRINTK=y 119CONFIG_PRINTK=y
112CONFIG_BUG=y 120CONFIG_BUG=y
113CONFIG_ELF_CORE=y 121CONFIG_ELF_CORE=y
114# CONFIG_COMPAT_BRK is not set
115CONFIG_BASE_FULL=y 122CONFIG_BASE_FULL=y
116CONFIG_FUTEX=y 123CONFIG_FUTEX=y
117CONFIG_ANON_INODES=y
118CONFIG_EPOLL=y 124CONFIG_EPOLL=y
119CONFIG_SIGNALFD=y 125CONFIG_SIGNALFD=y
120CONFIG_TIMERFD=y 126CONFIG_TIMERFD=y
@@ -124,10 +130,12 @@ CONFIG_AIO=y
124CONFIG_VM_EVENT_COUNTERS=y 130CONFIG_VM_EVENT_COUNTERS=y
125CONFIG_PCI_QUIRKS=y 131CONFIG_PCI_QUIRKS=y
126CONFIG_SLUB_DEBUG=y 132CONFIG_SLUB_DEBUG=y
133# CONFIG_COMPAT_BRK is not set
127# CONFIG_SLAB is not set 134# CONFIG_SLAB is not set
128CONFIG_SLUB=y 135CONFIG_SLUB=y
129# CONFIG_SLOB is not set 136# CONFIG_SLOB is not set
130# CONFIG_PROFILING is not set 137# CONFIG_PROFILING is not set
138# CONFIG_MARKERS is not set
131CONFIG_HAVE_OPROFILE=y 139CONFIG_HAVE_OPROFILE=y
132# CONFIG_KPROBES is not set 140# CONFIG_KPROBES is not set
133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 141CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -135,6 +143,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
135CONFIG_HAVE_KPROBES=y 143CONFIG_HAVE_KPROBES=y
136CONFIG_HAVE_KRETPROBES=y 144CONFIG_HAVE_KRETPROBES=y
137CONFIG_HAVE_ARCH_TRACEHOOK=y 145CONFIG_HAVE_ARCH_TRACEHOOK=y
146# CONFIG_SLOW_WORK is not set
138# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 147# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
139CONFIG_SLABINFO=y 148CONFIG_SLABINFO=y
140CONFIG_RT_MUTEXES=y 149CONFIG_RT_MUTEXES=y
@@ -147,7 +156,6 @@ CONFIG_MODULE_UNLOAD=y
147# CONFIG_MODULE_SRCVERSION_ALL is not set 156# CONFIG_MODULE_SRCVERSION_ALL is not set
148CONFIG_BLOCK=y 157CONFIG_BLOCK=y
149# CONFIG_LBD is not set 158# CONFIG_LBD is not set
150# CONFIG_BLK_DEV_IO_TRACE is not set
151# CONFIG_BLK_DEV_BSG is not set 159# CONFIG_BLK_DEV_BSG is not set
152# CONFIG_BLK_DEV_INTEGRITY is not set 160# CONFIG_BLK_DEV_INTEGRITY is not set
153 161
@@ -168,8 +176,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
168# 176#
169# Platform support 177# Platform support
170# 178#
171CONFIG_PPC_MULTIPLATFORM=y
172CONFIG_CLASSIC32=y
173# CONFIG_PPC_CHRP is not set 179# CONFIG_PPC_CHRP is not set
174# CONFIG_MPC5121_ADS is not set 180# CONFIG_MPC5121_ADS is not set
175# CONFIG_MPC5121_GENERIC is not set 181# CONFIG_MPC5121_GENERIC is not set
@@ -191,6 +197,8 @@ CONFIG_LINKSTATION=y
191CONFIG_MPC10X_BRIDGE=y 197CONFIG_MPC10X_BRIDGE=y
192CONFIG_MPC10X_OPENPIC=y 198CONFIG_MPC10X_OPENPIC=y
193# CONFIG_MPC10X_STORE_GATHERING is not set 199# CONFIG_MPC10X_STORE_GATHERING is not set
200# CONFIG_AMIGAONE is not set
201CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
194# CONFIG_IPIC is not set 202# CONFIG_IPIC is not set
195CONFIG_MPIC=y 203CONFIG_MPIC=y
196# CONFIG_MPIC_WEIRD is not set 204# CONFIG_MPIC_WEIRD is not set
@@ -250,9 +258,12 @@ CONFIG_ZONE_DMA_FLAG=1
250CONFIG_BOUNCE=y 258CONFIG_BOUNCE=y
251CONFIG_VIRT_TO_BUS=y 259CONFIG_VIRT_TO_BUS=y
252CONFIG_UNEVICTABLE_LRU=y 260CONFIG_UNEVICTABLE_LRU=y
261CONFIG_HAVE_MLOCK=y
262CONFIG_HAVE_MLOCKED_PAGE_BIT=y
253CONFIG_PPC_4K_PAGES=y 263CONFIG_PPC_4K_PAGES=y
254# CONFIG_PPC_16K_PAGES is not set 264# CONFIG_PPC_16K_PAGES is not set
255# CONFIG_PPC_64K_PAGES is not set 265# CONFIG_PPC_64K_PAGES is not set
266# CONFIG_PPC_256K_PAGES is not set
256CONFIG_FORCE_MAX_ZONEORDER=11 267CONFIG_FORCE_MAX_ZONEORDER=11
257CONFIG_PROC_DEVICETREE=y 268CONFIG_PROC_DEVICETREE=y
258# CONFIG_CMDLINE_BOOL is not set 269# CONFIG_CMDLINE_BOOL is not set
@@ -277,6 +288,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
277# CONFIG_PCI_LEGACY is not set 288# CONFIG_PCI_LEGACY is not set
278# CONFIG_PCI_DEBUG is not set 289# CONFIG_PCI_DEBUG is not set
279# CONFIG_PCI_STUB is not set 290# CONFIG_PCI_STUB is not set
291# CONFIG_PCI_IOV is not set
280# CONFIG_PCCARD is not set 292# CONFIG_PCCARD is not set
281# CONFIG_HOTPLUG_PCI is not set 293# CONFIG_HOTPLUG_PCI is not set
282# CONFIG_HAS_RAPIDIO is not set 294# CONFIG_HAS_RAPIDIO is not set
@@ -299,7 +311,6 @@ CONFIG_NET=y
299# 311#
300# Networking options 312# Networking options
301# 313#
302CONFIG_COMPAT_NET_DEV_OPS=y
303CONFIG_PACKET=y 314CONFIG_PACKET=y
304CONFIG_PACKET_MMAP=y 315CONFIG_PACKET_MMAP=y
305CONFIG_UNIX=y 316CONFIG_UNIX=y
@@ -371,6 +382,7 @@ CONFIG_NETFILTER_XTABLES=m
371# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 382# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
372# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set 383# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
373# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 384# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
385CONFIG_NETFILTER_XT_TARGET_HL=m
374# CONFIG_NETFILTER_XT_TARGET_MARK is not set 386# CONFIG_NETFILTER_XT_TARGET_MARK is not set
375# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 387# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
376# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 388# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
@@ -379,6 +391,7 @@ CONFIG_NETFILTER_XTABLES=m
379# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 391# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
380# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 392# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
381# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set 393# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
394# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
382# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set 395# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
383# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set 396# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
384# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set 397# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
@@ -389,6 +402,7 @@ CONFIG_NETFILTER_XTABLES=m
389# CONFIG_NETFILTER_XT_MATCH_ESP is not set 402# CONFIG_NETFILTER_XT_MATCH_ESP is not set
390# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 403# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
391# CONFIG_NETFILTER_XT_MATCH_HELPER is not set 404# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
405# CONFIG_NETFILTER_XT_MATCH_HL is not set
392# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 406# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
393# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 407# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
394# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 408# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
@@ -465,6 +479,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
465# CONFIG_LAPB is not set 479# CONFIG_LAPB is not set
466# CONFIG_ECONET is not set 480# CONFIG_ECONET is not set
467# CONFIG_WAN_ROUTER is not set 481# CONFIG_WAN_ROUTER is not set
482# CONFIG_PHONET is not set
468# CONFIG_NET_SCHED is not set 483# CONFIG_NET_SCHED is not set
469# CONFIG_DCB is not set 484# CONFIG_DCB is not set
470 485
@@ -477,7 +492,6 @@ CONFIG_IP_NF_ARP_MANGLE=m
477# CONFIG_IRDA is not set 492# CONFIG_IRDA is not set
478# CONFIG_BT is not set 493# CONFIG_BT is not set
479# CONFIG_AF_RXRPC is not set 494# CONFIG_AF_RXRPC is not set
480# CONFIG_PHONET is not set
481CONFIG_WIRELESS=y 495CONFIG_WIRELESS=y
482# CONFIG_CFG80211 is not set 496# CONFIG_CFG80211 is not set
483CONFIG_WIRELESS_OLD_REGULATORY=y 497CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -625,6 +639,7 @@ CONFIG_MISC_DEVICES=y
625# CONFIG_ICS932S401 is not set 639# CONFIG_ICS932S401 is not set
626# CONFIG_ENCLOSURE_SERVICES is not set 640# CONFIG_ENCLOSURE_SERVICES is not set
627# CONFIG_HP_ILO is not set 641# CONFIG_HP_ILO is not set
642# CONFIG_ISL29003 is not set
628# CONFIG_C2PORT is not set 643# CONFIG_C2PORT is not set
629 644
630# 645#
@@ -690,9 +705,11 @@ CONFIG_SCSI_LOWLEVEL=y
690# CONFIG_MEGARAID_NEWGEN is not set 705# CONFIG_MEGARAID_NEWGEN is not set
691# CONFIG_MEGARAID_LEGACY is not set 706# CONFIG_MEGARAID_LEGACY is not set
692# CONFIG_MEGARAID_SAS is not set 707# CONFIG_MEGARAID_SAS is not set
708# CONFIG_SCSI_MPT2SAS is not set
693# CONFIG_SCSI_HPTIOP is not set 709# CONFIG_SCSI_HPTIOP is not set
694# CONFIG_SCSI_BUSLOGIC is not set 710# CONFIG_SCSI_BUSLOGIC is not set
695# CONFIG_LIBFC is not set 711# CONFIG_LIBFC is not set
712# CONFIG_LIBFCOE is not set
696# CONFIG_FCOE is not set 713# CONFIG_FCOE is not set
697# CONFIG_SCSI_DMX3191D is not set 714# CONFIG_SCSI_DMX3191D is not set
698# CONFIG_SCSI_EATA is not set 715# CONFIG_SCSI_EATA is not set
@@ -715,6 +732,7 @@ CONFIG_SCSI_LOWLEVEL=y
715# CONFIG_SCSI_DEBUG is not set 732# CONFIG_SCSI_DEBUG is not set
716# CONFIG_SCSI_SRP is not set 733# CONFIG_SCSI_SRP is not set
717# CONFIG_SCSI_DH is not set 734# CONFIG_SCSI_DH is not set
735# CONFIG_SCSI_OSD_INITIATOR is not set
718CONFIG_ATA=y 736CONFIG_ATA=y
719# CONFIG_ATA_NONSTANDARD is not set 737# CONFIG_ATA_NONSTANDARD is not set
720CONFIG_SATA_PMP=y 738CONFIG_SATA_PMP=y
@@ -791,6 +809,7 @@ CONFIG_PATA_SIL680=y
791# CONFIG_I2O is not set 809# CONFIG_I2O is not set
792# CONFIG_MACINTOSH_DRIVERS is not set 810# CONFIG_MACINTOSH_DRIVERS is not set
793CONFIG_NETDEVICES=y 811CONFIG_NETDEVICES=y
812CONFIG_COMPAT_NET_DEV_OPS=y
794# CONFIG_DUMMY is not set 813# CONFIG_DUMMY is not set
795# CONFIG_BONDING is not set 814# CONFIG_BONDING is not set
796# CONFIG_MACVLAN is not set 815# CONFIG_MACVLAN is not set
@@ -805,6 +824,8 @@ CONFIG_MII=y
805# CONFIG_SUNGEM is not set 824# CONFIG_SUNGEM is not set
806# CONFIG_CASSINI is not set 825# CONFIG_CASSINI is not set
807# CONFIG_NET_VENDOR_3COM is not set 826# CONFIG_NET_VENDOR_3COM is not set
827# CONFIG_ETHOC is not set
828# CONFIG_DNET is not set
808CONFIG_NET_TULIP=y 829CONFIG_NET_TULIP=y
809# CONFIG_DE2104X is not set 830# CONFIG_DE2104X is not set
810CONFIG_TULIP=y 831CONFIG_TULIP=y
@@ -833,6 +854,7 @@ CONFIG_NETDEV_1000=y
833# CONFIG_E1000E is not set 854# CONFIG_E1000E is not set
834# CONFIG_IP1000 is not set 855# CONFIG_IP1000 is not set
835# CONFIG_IGB is not set 856# CONFIG_IGB is not set
857# CONFIG_IGBVF is not set
836# CONFIG_NS83820 is not set 858# CONFIG_NS83820 is not set
837# CONFIG_HAMACHI is not set 859# CONFIG_HAMACHI is not set
838# CONFIG_YELLOWFIN is not set 860# CONFIG_YELLOWFIN is not set
@@ -843,8 +865,8 @@ CONFIG_R8169=y
843# CONFIG_VIA_VELOCITY is not set 865# CONFIG_VIA_VELOCITY is not set
844# CONFIG_TIGON3 is not set 866# CONFIG_TIGON3 is not set
845# CONFIG_BNX2 is not set 867# CONFIG_BNX2 is not set
868# CONFIG_FSL_PQ_MDIO is not set
846# CONFIG_GIANFAR is not set 869# CONFIG_GIANFAR is not set
847# CONFIG_MV643XX_ETH is not set
848# CONFIG_QLA3XXX is not set 870# CONFIG_QLA3XXX is not set
849# CONFIG_ATL1 is not set 871# CONFIG_ATL1 is not set
850# CONFIG_ATL1E is not set 872# CONFIG_ATL1E is not set
@@ -858,6 +880,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
858# CONFIG_IXGBE is not set 880# CONFIG_IXGBE is not set
859# CONFIG_IXGB is not set 881# CONFIG_IXGB is not set
860# CONFIG_S2IO is not set 882# CONFIG_S2IO is not set
883# CONFIG_VXGE is not set
861# CONFIG_MYRI10GE is not set 884# CONFIG_MYRI10GE is not set
862# CONFIG_NETXEN_NIC is not set 885# CONFIG_NETXEN_NIC is not set
863# CONFIG_NIU is not set 886# CONFIG_NIU is not set
@@ -867,6 +890,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
867# CONFIG_BNX2X is not set 890# CONFIG_BNX2X is not set
868# CONFIG_QLGE is not set 891# CONFIG_QLGE is not set
869# CONFIG_SFC is not set 892# CONFIG_SFC is not set
893# CONFIG_BE2NET is not set
870# CONFIG_TR is not set 894# CONFIG_TR is not set
871 895
872# 896#
@@ -874,7 +898,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
874# 898#
875# CONFIG_WLAN_PRE80211 is not set 899# CONFIG_WLAN_PRE80211 is not set
876# CONFIG_WLAN_80211 is not set 900# CONFIG_WLAN_80211 is not set
877# CONFIG_IWLWIFI_LEDS is not set
878 901
879# 902#
880# Enable WiMAX (Networking options) to see the WiMAX drivers 903# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -985,6 +1008,7 @@ CONFIG_LEGACY_PTY_COUNT=256
985# CONFIG_HVC_UDBG is not set 1008# CONFIG_HVC_UDBG is not set
986# CONFIG_IPMI_HANDLER is not set 1009# CONFIG_IPMI_HANDLER is not set
987CONFIG_HW_RANDOM=y 1010CONFIG_HW_RANDOM=y
1011# CONFIG_HW_RANDOM_TIMERIOMEM is not set
988# CONFIG_NVRAM is not set 1012# CONFIG_NVRAM is not set
989# CONFIG_R3964 is not set 1013# CONFIG_R3964 is not set
990# CONFIG_APPLICOM is not set 1014# CONFIG_APPLICOM is not set
@@ -1050,7 +1074,6 @@ CONFIG_I2C_MPC=y
1050# CONFIG_SENSORS_PCF8574 is not set 1074# CONFIG_SENSORS_PCF8574 is not set
1051# CONFIG_PCF8575 is not set 1075# CONFIG_PCF8575 is not set
1052# CONFIG_SENSORS_PCA9539 is not set 1076# CONFIG_SENSORS_PCA9539 is not set
1053# CONFIG_SENSORS_PCF8591 is not set
1054# CONFIG_SENSORS_MAX6875 is not set 1077# CONFIG_SENSORS_MAX6875 is not set
1055# CONFIG_SENSORS_TSL2550 is not set 1078# CONFIG_SENSORS_TSL2550 is not set
1056# CONFIG_I2C_DEBUG_CORE is not set 1079# CONFIG_I2C_DEBUG_CORE is not set
@@ -1082,6 +1105,7 @@ CONFIG_HWMON=y
1082# CONFIG_SENSORS_F71805F is not set 1105# CONFIG_SENSORS_F71805F is not set
1083# CONFIG_SENSORS_F71882FG is not set 1106# CONFIG_SENSORS_F71882FG is not set
1084# CONFIG_SENSORS_F75375S is not set 1107# CONFIG_SENSORS_F75375S is not set
1108# CONFIG_SENSORS_G760A is not set
1085# CONFIG_SENSORS_GL518SM is not set 1109# CONFIG_SENSORS_GL518SM is not set
1086# CONFIG_SENSORS_GL520SM is not set 1110# CONFIG_SENSORS_GL520SM is not set
1087# CONFIG_SENSORS_IT87 is not set 1111# CONFIG_SENSORS_IT87 is not set
@@ -1096,11 +1120,14 @@ CONFIG_HWMON=y
1096# CONFIG_SENSORS_LM90 is not set 1120# CONFIG_SENSORS_LM90 is not set
1097# CONFIG_SENSORS_LM92 is not set 1121# CONFIG_SENSORS_LM92 is not set
1098# CONFIG_SENSORS_LM93 is not set 1122# CONFIG_SENSORS_LM93 is not set
1123# CONFIG_SENSORS_LTC4215 is not set
1099# CONFIG_SENSORS_LTC4245 is not set 1124# CONFIG_SENSORS_LTC4245 is not set
1125# CONFIG_SENSORS_LM95241 is not set
1100# CONFIG_SENSORS_MAX1619 is not set 1126# CONFIG_SENSORS_MAX1619 is not set
1101# CONFIG_SENSORS_MAX6650 is not set 1127# CONFIG_SENSORS_MAX6650 is not set
1102# CONFIG_SENSORS_PC87360 is not set 1128# CONFIG_SENSORS_PC87360 is not set
1103# CONFIG_SENSORS_PC87427 is not set 1129# CONFIG_SENSORS_PC87427 is not set
1130# CONFIG_SENSORS_PCF8591 is not set
1104# CONFIG_SENSORS_SIS5595 is not set 1131# CONFIG_SENSORS_SIS5595 is not set
1105# CONFIG_SENSORS_DME1737 is not set 1132# CONFIG_SENSORS_DME1737 is not set
1106# CONFIG_SENSORS_SMSC47M1 is not set 1133# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1195,7 +1222,6 @@ CONFIG_HID=m
1195# 1222#
1196# Special HID drivers 1223# Special HID drivers
1197# 1224#
1198CONFIG_HID_COMPAT=y
1199CONFIG_USB_SUPPORT=y 1225CONFIG_USB_SUPPORT=y
1200CONFIG_USB_ARCH_HAS_HCD=y 1226CONFIG_USB_ARCH_HAS_HCD=y
1201CONFIG_USB_ARCH_HAS_OHCI=y 1227CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1250,11 +1276,11 @@ CONFIG_USB_PRINTER=m
1250# CONFIG_USB_TMC is not set 1276# CONFIG_USB_TMC is not set
1251 1277
1252# 1278#
1253# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1279# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1254# 1280#
1255 1281
1256# 1282#
1257# see USB_STORAGE Help for more information 1283# also be needed; see USB_STORAGE Help for more info
1258# 1284#
1259CONFIG_USB_STORAGE=m 1285CONFIG_USB_STORAGE=m
1260# CONFIG_USB_STORAGE_DEBUG is not set 1286# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1290,7 +1316,7 @@ CONFIG_USB_SERIAL_CONSOLE=y
1290# CONFIG_USB_SERIAL_CH341 is not set 1316# CONFIG_USB_SERIAL_CH341 is not set
1291# CONFIG_USB_SERIAL_WHITEHEAT is not set 1317# CONFIG_USB_SERIAL_WHITEHEAT is not set
1292# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set 1318# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
1293# CONFIG_USB_SERIAL_CP2101 is not set 1319# CONFIG_USB_SERIAL_CP210X is not set
1294# CONFIG_USB_SERIAL_CYPRESS_M8 is not set 1320# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
1295# CONFIG_USB_SERIAL_EMPEG is not set 1321# CONFIG_USB_SERIAL_EMPEG is not set
1296CONFIG_USB_SERIAL_FTDI_SIO=y 1322CONFIG_USB_SERIAL_FTDI_SIO=y
@@ -1314,11 +1340,13 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1314# CONFIG_USB_SERIAL_NAVMAN is not set 1340# CONFIG_USB_SERIAL_NAVMAN is not set
1315# CONFIG_USB_SERIAL_PL2303 is not set 1341# CONFIG_USB_SERIAL_PL2303 is not set
1316# CONFIG_USB_SERIAL_OTI6858 is not set 1342# CONFIG_USB_SERIAL_OTI6858 is not set
1343# CONFIG_USB_SERIAL_QUALCOMM is not set
1317# CONFIG_USB_SERIAL_SPCP8X5 is not set 1344# CONFIG_USB_SERIAL_SPCP8X5 is not set
1318# CONFIG_USB_SERIAL_HP4X is not set 1345# CONFIG_USB_SERIAL_HP4X is not set
1319# CONFIG_USB_SERIAL_SAFE is not set 1346# CONFIG_USB_SERIAL_SAFE is not set
1320# CONFIG_USB_SERIAL_SIEMENS_MPI is not set 1347# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
1321# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set 1348# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1349# CONFIG_USB_SERIAL_SYMBOL is not set
1322# CONFIG_USB_SERIAL_TI is not set 1350# CONFIG_USB_SERIAL_TI is not set
1323# CONFIG_USB_SERIAL_CYBERJACK is not set 1351# CONFIG_USB_SERIAL_CYBERJACK is not set
1324# CONFIG_USB_SERIAL_XIRCOM is not set 1352# CONFIG_USB_SERIAL_XIRCOM is not set
@@ -1341,7 +1369,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1341# CONFIG_USB_LED is not set 1369# CONFIG_USB_LED is not set
1342# CONFIG_USB_CYPRESS_CY7C63 is not set 1370# CONFIG_USB_CYPRESS_CY7C63 is not set
1343# CONFIG_USB_CYTHERM is not set 1371# CONFIG_USB_CYTHERM is not set
1344# CONFIG_USB_PHIDGET is not set
1345# CONFIG_USB_IDMOUSE is not set 1372# CONFIG_USB_IDMOUSE is not set
1346# CONFIG_USB_FTDI_ELAN is not set 1373# CONFIG_USB_FTDI_ELAN is not set
1347# CONFIG_USB_APPLEDISPLAY is not set 1374# CONFIG_USB_APPLEDISPLAY is not set
@@ -1357,6 +1384,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1357# 1384#
1358# OTG and related infrastructure 1385# OTG and related infrastructure
1359# 1386#
1387# CONFIG_NOP_USB_XCEIV is not set
1360# CONFIG_UWB is not set 1388# CONFIG_UWB is not set
1361# CONFIG_MMC is not set 1389# CONFIG_MMC is not set
1362# CONFIG_MEMSTICK is not set 1390# CONFIG_MEMSTICK is not set
@@ -1418,8 +1446,9 @@ CONFIG_RTC_DRV_RS5C372=y
1418# 1446#
1419# on-CPU RTC drivers 1447# on-CPU RTC drivers
1420# 1448#
1421# CONFIG_RTC_DRV_PPC is not set 1449# CONFIG_RTC_DRV_GENERIC is not set
1422# CONFIG_DMADEVICES is not set 1450# CONFIG_DMADEVICES is not set
1451# CONFIG_AUXDISPLAY is not set
1423# CONFIG_UIO is not set 1452# CONFIG_UIO is not set
1424# CONFIG_STAGING is not set 1453# CONFIG_STAGING is not set
1425 1454
@@ -1430,6 +1459,7 @@ CONFIG_EXT2_FS=y
1430# CONFIG_EXT2_FS_XATTR is not set 1459# CONFIG_EXT2_FS_XATTR is not set
1431# CONFIG_EXT2_FS_XIP is not set 1460# CONFIG_EXT2_FS_XIP is not set
1432CONFIG_EXT3_FS=y 1461CONFIG_EXT3_FS=y
1462# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1433CONFIG_EXT3_FS_XATTR=y 1463CONFIG_EXT3_FS_XATTR=y
1434# CONFIG_EXT3_FS_POSIX_ACL is not set 1464# CONFIG_EXT3_FS_POSIX_ACL is not set
1435# CONFIG_EXT3_FS_SECURITY is not set 1465# CONFIG_EXT3_FS_SECURITY is not set
@@ -1456,6 +1486,11 @@ CONFIG_INOTIFY_USER=y
1456# CONFIG_FUSE_FS is not set 1486# CONFIG_FUSE_FS is not set
1457 1487
1458# 1488#
1489# Caches
1490#
1491# CONFIG_FSCACHE is not set
1492
1493#
1459# CD-ROM/DVD Filesystems 1494# CD-ROM/DVD Filesystems
1460# 1495#
1461CONFIG_ISO9660_FS=m 1496CONFIG_ISO9660_FS=m
@@ -1507,6 +1542,7 @@ CONFIG_MISC_FILESYSTEMS=y
1507# CONFIG_ROMFS_FS is not set 1542# CONFIG_ROMFS_FS is not set
1508# CONFIG_SYSV_FS is not set 1543# CONFIG_SYSV_FS is not set
1509# CONFIG_UFS_FS is not set 1544# CONFIG_UFS_FS is not set
1545# CONFIG_NILFS2_FS is not set
1510CONFIG_NETWORK_FILESYSTEMS=y 1546CONFIG_NETWORK_FILESYSTEMS=y
1511CONFIG_NFS_FS=y 1547CONFIG_NFS_FS=y
1512CONFIG_NFS_V3=y 1548CONFIG_NFS_V3=y
@@ -1524,7 +1560,6 @@ CONFIG_NFS_ACL_SUPPORT=y
1524CONFIG_NFS_COMMON=y 1560CONFIG_NFS_COMMON=y
1525CONFIG_SUNRPC=y 1561CONFIG_SUNRPC=y
1526CONFIG_SUNRPC_GSS=y 1562CONFIG_SUNRPC_GSS=y
1527# CONFIG_SUNRPC_REGISTER_V4 is not set
1528CONFIG_RPCSEC_GSS_KRB5=y 1563CONFIG_RPCSEC_GSS_KRB5=y
1529# CONFIG_RPCSEC_GSS_SPKM3 is not set 1564# CONFIG_RPCSEC_GSS_SPKM3 is not set
1530# CONFIG_SMB_FS is not set 1565# CONFIG_SMB_FS is not set
@@ -1584,6 +1619,7 @@ CONFIG_NLS_ISO8859_1=m
1584# CONFIG_NLS_KOI8_U is not set 1619# CONFIG_NLS_KOI8_U is not set
1585CONFIG_NLS_UTF8=m 1620CONFIG_NLS_UTF8=m
1586# CONFIG_DLM is not set 1621# CONFIG_DLM is not set
1622# CONFIG_BINARY_PRINTF is not set
1587 1623
1588# 1624#
1589# Library routines 1625# Library routines
@@ -1597,15 +1633,18 @@ CONFIG_CRC_ITU_T=m
1597CONFIG_CRC32=y 1633CONFIG_CRC32=y
1598# CONFIG_CRC7 is not set 1634# CONFIG_CRC7 is not set
1599CONFIG_LIBCRC32C=m 1635CONFIG_LIBCRC32C=m
1600CONFIG_ZLIB_INFLATE=m 1636CONFIG_ZLIB_INFLATE=y
1601CONFIG_ZLIB_DEFLATE=m 1637CONFIG_ZLIB_DEFLATE=m
1638CONFIG_DECOMPRESS_GZIP=y
1639CONFIG_DECOMPRESS_BZIP2=y
1640CONFIG_DECOMPRESS_LZMA=y
1602CONFIG_TEXTSEARCH=y 1641CONFIG_TEXTSEARCH=y
1603CONFIG_TEXTSEARCH_KMP=m 1642CONFIG_TEXTSEARCH_KMP=m
1604CONFIG_PLIST=y
1605CONFIG_HAS_IOMEM=y 1643CONFIG_HAS_IOMEM=y
1606CONFIG_HAS_IOPORT=y 1644CONFIG_HAS_IOPORT=y
1607CONFIG_HAS_DMA=y 1645CONFIG_HAS_DMA=y
1608CONFIG_HAVE_LMB=y 1646CONFIG_HAVE_LMB=y
1647CONFIG_NLATTR=y
1609 1648
1610# 1649#
1611# Kernel hacking 1650# Kernel hacking
@@ -1623,6 +1662,9 @@ CONFIG_DEBUG_KERNEL=y
1623CONFIG_DETECT_SOFTLOCKUP=y 1662CONFIG_DETECT_SOFTLOCKUP=y
1624# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1663# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1625CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1664CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1665CONFIG_DETECT_HUNG_TASK=y
1666# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1667CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1626CONFIG_SCHED_DEBUG=y 1668CONFIG_SCHED_DEBUG=y
1627# CONFIG_SCHEDSTATS is not set 1669# CONFIG_SCHEDSTATS is not set
1628# CONFIG_TIMER_STATS is not set 1670# CONFIG_TIMER_STATS is not set
@@ -1652,9 +1694,12 @@ CONFIG_DEBUG_MEMORY_INIT=y
1652# CONFIG_FAULT_INJECTION is not set 1694# CONFIG_FAULT_INJECTION is not set
1653# CONFIG_LATENCYTOP is not set 1695# CONFIG_LATENCYTOP is not set
1654CONFIG_SYSCTL_SYSCALL_CHECK=y 1696CONFIG_SYSCTL_SYSCALL_CHECK=y
1697# CONFIG_DEBUG_PAGEALLOC is not set
1655CONFIG_HAVE_FUNCTION_TRACER=y 1698CONFIG_HAVE_FUNCTION_TRACER=y
1699CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1656CONFIG_HAVE_DYNAMIC_FTRACE=y 1700CONFIG_HAVE_DYNAMIC_FTRACE=y
1657CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1701CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1702CONFIG_TRACING_SUPPORT=y
1658 1703
1659# 1704#
1660# Tracers 1705# Tracers
@@ -1662,17 +1707,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1662# CONFIG_FUNCTION_TRACER is not set 1707# CONFIG_FUNCTION_TRACER is not set
1663# CONFIG_SCHED_TRACER is not set 1708# CONFIG_SCHED_TRACER is not set
1664# CONFIG_CONTEXT_SWITCH_TRACER is not set 1709# CONFIG_CONTEXT_SWITCH_TRACER is not set
1710# CONFIG_EVENT_TRACER is not set
1665# CONFIG_BOOT_TRACER is not set 1711# CONFIG_BOOT_TRACER is not set
1666# CONFIG_TRACE_BRANCH_PROFILING is not set 1712# CONFIG_TRACE_BRANCH_PROFILING is not set
1667# CONFIG_STACK_TRACER is not set 1713# CONFIG_STACK_TRACER is not set
1668# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1714# CONFIG_KMEMTRACE is not set
1715# CONFIG_WORKQUEUE_TRACER is not set
1716# CONFIG_BLK_DEV_IO_TRACE is not set
1669# CONFIG_SAMPLES is not set 1717# CONFIG_SAMPLES is not set
1670CONFIG_HAVE_ARCH_KGDB=y 1718CONFIG_HAVE_ARCH_KGDB=y
1671# CONFIG_KGDB is not set 1719# CONFIG_KGDB is not set
1672CONFIG_PRINT_STACK_DEPTH=64 1720CONFIG_PRINT_STACK_DEPTH=64
1673# CONFIG_DEBUG_STACKOVERFLOW is not set 1721# CONFIG_DEBUG_STACKOVERFLOW is not set
1674# CONFIG_DEBUG_STACK_USAGE is not set 1722# CONFIG_DEBUG_STACK_USAGE is not set
1675# CONFIG_DEBUG_PAGEALLOC is not set
1676# CONFIG_CODE_PATCHING_SELFTEST is not set 1723# CONFIG_CODE_PATCHING_SELFTEST is not set
1677# CONFIG_FTR_FIXUP_SELFTEST is not set 1724# CONFIG_FTR_FIXUP_SELFTEST is not set
1678# CONFIG_MSI_BITMAP_SELFTEST is not set 1725# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1703,10 +1750,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1703CONFIG_CRYPTO_HASH=y 1750CONFIG_CRYPTO_HASH=y
1704CONFIG_CRYPTO_HASH2=y 1751CONFIG_CRYPTO_HASH2=y
1705CONFIG_CRYPTO_RNG2=y 1752CONFIG_CRYPTO_RNG2=y
1753CONFIG_CRYPTO_PCOMP=y
1706CONFIG_CRYPTO_MANAGER=y 1754CONFIG_CRYPTO_MANAGER=y
1707CONFIG_CRYPTO_MANAGER2=y 1755CONFIG_CRYPTO_MANAGER2=y
1708# CONFIG_CRYPTO_GF128MUL is not set 1756# CONFIG_CRYPTO_GF128MUL is not set
1709# CONFIG_CRYPTO_NULL is not set 1757# CONFIG_CRYPTO_NULL is not set
1758CONFIG_CRYPTO_WORKQUEUE=y
1710# CONFIG_CRYPTO_CRYPTD is not set 1759# CONFIG_CRYPTO_CRYPTD is not set
1711# CONFIG_CRYPTO_AUTHENC is not set 1760# CONFIG_CRYPTO_AUTHENC is not set
1712# CONFIG_CRYPTO_TEST is not set 1761# CONFIG_CRYPTO_TEST is not set
@@ -1776,6 +1825,7 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1776# Compression 1825# Compression
1777# 1826#
1778CONFIG_CRYPTO_DEFLATE=m 1827CONFIG_CRYPTO_DEFLATE=m
1828# CONFIG_CRYPTO_ZLIB is not set
1779# CONFIG_CRYPTO_LZO is not set 1829# CONFIG_CRYPTO_LZO is not set
1780 1830
1781# 1831#
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
index c58c38d5b7a6..31e1df665157 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:30 2009 4# Wed May 13 17:21:55 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set 19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -57,6 +58,7 @@ CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y 58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
59# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
61CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
61 63
62# 64#
@@ -73,6 +75,15 @@ CONFIG_SYSVIPC_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 75# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 76# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 77# CONFIG_AUDIT is not set
78
79#
80# RCU Subsystem
81#
82CONFIG_CLASSIC_RCU=y
83# CONFIG_TREE_RCU is not set
84# CONFIG_PREEMPT_RCU is not set
85# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
76CONFIG_IKCONFIG=y 87CONFIG_IKCONFIG=y
77CONFIG_IKCONFIG_PROC=y 88CONFIG_IKCONFIG_PROC=y
78CONFIG_LOG_BUF_SHIFT=14 89CONFIG_LOG_BUF_SHIFT=14
@@ -83,23 +94,25 @@ CONFIG_SYSFS_DEPRECATED_V2=y
83# CONFIG_NAMESPACES is not set 94# CONFIG_NAMESPACES is not set
84CONFIG_BLK_DEV_INITRD=y 95CONFIG_BLK_DEV_INITRD=y
85CONFIG_INITRAMFS_SOURCE="" 96CONFIG_INITRAMFS_SOURCE=""
97CONFIG_RD_GZIP=y
98# CONFIG_RD_BZIP2 is not set
99# CONFIG_RD_LZMA is not set
86CONFIG_CC_OPTIMIZE_FOR_SIZE=y 100CONFIG_CC_OPTIMIZE_FOR_SIZE=y
87CONFIG_SYSCTL=y 101CONFIG_SYSCTL=y
102CONFIG_ANON_INODES=y
88CONFIG_EMBEDDED=y 103CONFIG_EMBEDDED=y
89CONFIG_SYSCTL_SYSCALL=y 104CONFIG_SYSCTL_SYSCALL=y
90CONFIG_KALLSYMS=y 105CONFIG_KALLSYMS=y
91CONFIG_KALLSYMS_ALL=y 106CONFIG_KALLSYMS_ALL=y
92CONFIG_KALLSYMS_STRIP_GENERATED=y
93# CONFIG_KALLSYMS_EXTRA_PASS is not set 107# CONFIG_KALLSYMS_EXTRA_PASS is not set
108# CONFIG_STRIP_ASM_SYMS is not set
94CONFIG_HOTPLUG=y 109CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y 110CONFIG_PRINTK=y
96CONFIG_BUG=y 111CONFIG_BUG=y
97CONFIG_ELF_CORE=y 112CONFIG_ELF_CORE=y
98CONFIG_PCSPKR_PLATFORM=y 113CONFIG_PCSPKR_PLATFORM=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 114CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 115CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103CONFIG_EPOLL=y 116CONFIG_EPOLL=y
104CONFIG_SIGNALFD=y 117CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 118CONFIG_TIMERFD=y
@@ -108,10 +121,12 @@ CONFIG_SHMEM=y
108CONFIG_AIO=y 121CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 122CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 123CONFIG_PCI_QUIRKS=y
124CONFIG_COMPAT_BRK=y
111CONFIG_SLAB=y 125CONFIG_SLAB=y
112# CONFIG_SLUB is not set 126# CONFIG_SLUB is not set
113# CONFIG_SLOB is not set 127# CONFIG_SLOB is not set
114# CONFIG_PROFILING is not set 128# CONFIG_PROFILING is not set
129# CONFIG_MARKERS is not set
115CONFIG_HAVE_OPROFILE=y 130CONFIG_HAVE_OPROFILE=y
116CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 131CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
117CONFIG_HAVE_IOREMAP_PROT=y 132CONFIG_HAVE_IOREMAP_PROT=y
@@ -119,6 +134,7 @@ CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 134CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y 135CONFIG_HAVE_ARCH_TRACEHOOK=y
121CONFIG_HAVE_CLK=y 136CONFIG_HAVE_CLK=y
137# CONFIG_SLOW_WORK is not set
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 138# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 139CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 140CONFIG_RT_MUTEXES=y
@@ -126,7 +142,6 @@ CONFIG_BASE_SMALL=0
126# CONFIG_MODULES is not set 142# CONFIG_MODULES is not set
127CONFIG_BLOCK=y 143CONFIG_BLOCK=y
128# CONFIG_LBD is not set 144# CONFIG_LBD is not set
129# CONFIG_BLK_DEV_IO_TRACE is not set
130# CONFIG_BLK_DEV_INTEGRITY is not set 145# CONFIG_BLK_DEV_INTEGRITY is not set
131 146
132# 147#
@@ -141,18 +156,11 @@ CONFIG_DEFAULT_DEADLINE=y
141# CONFIG_DEFAULT_CFQ is not set 156# CONFIG_DEFAULT_CFQ is not set
142# CONFIG_DEFAULT_NOOP is not set 157# CONFIG_DEFAULT_NOOP is not set
143CONFIG_DEFAULT_IOSCHED="deadline" 158CONFIG_DEFAULT_IOSCHED="deadline"
144CONFIG_CLASSIC_RCU=y
145# CONFIG_TREE_RCU is not set
146# CONFIG_PREEMPT_RCU is not set
147# CONFIG_TREE_RCU_TRACE is not set
148# CONFIG_PREEMPT_RCU_TRACE is not set
149# CONFIG_FREEZER is not set 159# CONFIG_FREEZER is not set
150 160
151# 161#
152# Platform support 162# Platform support
153# 163#
154CONFIG_PPC_MULTIPLATFORM=y
155CONFIG_CLASSIC32=y
156CONFIG_PPC_CHRP=y 164CONFIG_PPC_CHRP=y
157# CONFIG_MPC5121_ADS is not set 165# CONFIG_MPC5121_ADS is not set
158# CONFIG_MPC5121_GENERIC is not set 166# CONFIG_MPC5121_GENERIC is not set
@@ -171,7 +179,9 @@ CONFIG_8272=y
171# CONFIG_PPC_83xx is not set 179# CONFIG_PPC_83xx is not set
172# CONFIG_PPC_86xx is not set 180# CONFIG_PPC_86xx is not set
173# CONFIG_EMBEDDED6xx is not set 181# CONFIG_EMBEDDED6xx is not set
182# CONFIG_AMIGAONE is not set
174CONFIG_PPC_NATIVE=y 183CONFIG_PPC_NATIVE=y
184CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
175# CONFIG_UDBG_RTAS_CONSOLE is not set 185# CONFIG_UDBG_RTAS_CONSOLE is not set
176# CONFIG_IPIC is not set 186# CONFIG_IPIC is not set
177CONFIG_MPIC=y 187CONFIG_MPIC=y
@@ -231,9 +241,12 @@ CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 241CONFIG_BOUNCE=y
232CONFIG_VIRT_TO_BUS=y 242CONFIG_VIRT_TO_BUS=y
233CONFIG_UNEVICTABLE_LRU=y 243CONFIG_UNEVICTABLE_LRU=y
244CONFIG_HAVE_MLOCK=y
245CONFIG_HAVE_MLOCKED_PAGE_BIT=y
234CONFIG_PPC_4K_PAGES=y 246CONFIG_PPC_4K_PAGES=y
235# CONFIG_PPC_16K_PAGES is not set 247# CONFIG_PPC_16K_PAGES is not set
236# CONFIG_PPC_64K_PAGES is not set 248# CONFIG_PPC_64K_PAGES is not set
249# CONFIG_PPC_256K_PAGES is not set
237CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
238CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
239# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
@@ -260,6 +273,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
260# CONFIG_PCI_LEGACY is not set 273# CONFIG_PCI_LEGACY is not set
261# CONFIG_PCI_DEBUG is not set 274# CONFIG_PCI_DEBUG is not set
262# CONFIG_PCI_STUB is not set 275# CONFIG_PCI_STUB is not set
276# CONFIG_PCI_IOV is not set
263# CONFIG_PCCARD is not set 277# CONFIG_PCCARD is not set
264# CONFIG_HOTPLUG_PCI is not set 278# CONFIG_HOTPLUG_PCI is not set
265# CONFIG_HAS_RAPIDIO is not set 279# CONFIG_HAS_RAPIDIO is not set
@@ -282,7 +296,6 @@ CONFIG_NET=y
282# 296#
283# Networking options 297# Networking options
284# 298#
285CONFIG_COMPAT_NET_DEV_OPS=y
286CONFIG_PACKET=y 299CONFIG_PACKET=y
287# CONFIG_PACKET_MMAP is not set 300# CONFIG_PACKET_MMAP is not set
288CONFIG_UNIX=y 301CONFIG_UNIX=y
@@ -344,6 +357,7 @@ CONFIG_NETFILTER_ADVANCED=y
344# CONFIG_LLC2 is not set 357# CONFIG_LLC2 is not set
345# CONFIG_IPX is not set 358# CONFIG_IPX is not set
346# CONFIG_ATALK is not set 359# CONFIG_ATALK is not set
360# CONFIG_PHONET is not set
347# CONFIG_NET_SCHED is not set 361# CONFIG_NET_SCHED is not set
348# CONFIG_DCB is not set 362# CONFIG_DCB is not set
349 363
@@ -355,7 +369,6 @@ CONFIG_NETFILTER_ADVANCED=y
355# CONFIG_CAN is not set 369# CONFIG_CAN is not set
356# CONFIG_IRDA is not set 370# CONFIG_IRDA is not set
357# CONFIG_BT is not set 371# CONFIG_BT is not set
358# CONFIG_PHONET is not set
359CONFIG_WIRELESS=y 372CONFIG_WIRELESS=y
360# CONFIG_CFG80211 is not set 373# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y 374CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -464,7 +477,6 @@ CONFIG_MTD_PHYSMAP_OF=y
464# LPDDR flash memory drivers 477# LPDDR flash memory drivers
465# 478#
466# CONFIG_MTD_LPDDR is not set 479# CONFIG_MTD_LPDDR is not set
467# CONFIG_MTD_QINFO_PROBE is not set
468 480
469# 481#
470# UBI - Unsorted block images 482# UBI - Unsorted block images
@@ -517,6 +529,7 @@ CONFIG_HAVE_IDE=y
517# CONFIG_I2O is not set 529# CONFIG_I2O is not set
518# CONFIG_MACINTOSH_DRIVERS is not set 530# CONFIG_MACINTOSH_DRIVERS is not set
519CONFIG_NETDEVICES=y 531CONFIG_NETDEVICES=y
532CONFIG_COMPAT_NET_DEV_OPS=y
520# CONFIG_DUMMY is not set 533# CONFIG_DUMMY is not set
521# CONFIG_BONDING is not set 534# CONFIG_BONDING is not set
522# CONFIG_EQUALIZER is not set 535# CONFIG_EQUALIZER is not set
@@ -551,6 +564,8 @@ CONFIG_MII=y
551# CONFIG_SUNGEM is not set 564# CONFIG_SUNGEM is not set
552# CONFIG_CASSINI is not set 565# CONFIG_CASSINI is not set
553# CONFIG_NET_VENDOR_3COM is not set 566# CONFIG_NET_VENDOR_3COM is not set
567# CONFIG_ETHOC is not set
568# CONFIG_DNET is not set
554# CONFIG_NET_TULIP is not set 569# CONFIG_NET_TULIP is not set
555# CONFIG_HP100 is not set 570# CONFIG_HP100 is not set
556# CONFIG_IBM_NEW_EMAC_ZMII is not set 571# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -576,7 +591,6 @@ CONFIG_FS_ENET_HAS_SCC=y
576# 591#
577# CONFIG_WLAN_PRE80211 is not set 592# CONFIG_WLAN_PRE80211 is not set
578# CONFIG_WLAN_80211 is not set 593# CONFIG_WLAN_80211 is not set
579# CONFIG_IWLWIFI_LEDS is not set
580 594
581# 595#
582# Enable WiMAX (Networking options) to see the WiMAX drivers 596# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -631,6 +645,7 @@ CONFIG_LEGACY_PTY_COUNT=256
631# CONFIG_HVC_RTAS is not set 645# CONFIG_HVC_RTAS is not set
632# CONFIG_IPMI_HANDLER is not set 646# CONFIG_IPMI_HANDLER is not set
633CONFIG_HW_RANDOM=y 647CONFIG_HW_RANDOM=y
648# CONFIG_HW_RANDOM_TIMERIOMEM is not set
634# CONFIG_NVRAM is not set 649# CONFIG_NVRAM is not set
635# CONFIG_GEN_RTC is not set 650# CONFIG_GEN_RTC is not set
636# CONFIG_R3964 is not set 651# CONFIG_R3964 is not set
@@ -720,8 +735,10 @@ CONFIG_SSB_POSSIBLE=y
720# CONFIG_NEW_LEDS is not set 735# CONFIG_NEW_LEDS is not set
721# CONFIG_ACCESSIBILITY is not set 736# CONFIG_ACCESSIBILITY is not set
722# CONFIG_INFINIBAND is not set 737# CONFIG_INFINIBAND is not set
738# CONFIG_EDAC is not set
723# CONFIG_RTC_CLASS is not set 739# CONFIG_RTC_CLASS is not set
724# CONFIG_DMADEVICES is not set 740# CONFIG_DMADEVICES is not set
741# CONFIG_AUXDISPLAY is not set
725# CONFIG_UIO is not set 742# CONFIG_UIO is not set
726# CONFIG_STAGING is not set 743# CONFIG_STAGING is not set
727 744
@@ -732,6 +749,7 @@ CONFIG_EXT2_FS=y
732# CONFIG_EXT2_FS_XATTR is not set 749# CONFIG_EXT2_FS_XATTR is not set
733# CONFIG_EXT2_FS_XIP is not set 750# CONFIG_EXT2_FS_XIP is not set
734CONFIG_EXT3_FS=y 751CONFIG_EXT3_FS=y
752# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
735# CONFIG_EXT3_FS_XATTR is not set 753# CONFIG_EXT3_FS_XATTR is not set
736# CONFIG_EXT4_FS is not set 754# CONFIG_EXT4_FS is not set
737CONFIG_JBD=y 755CONFIG_JBD=y
@@ -751,6 +769,10 @@ CONFIG_AUTOFS4_FS=y
751# CONFIG_FUSE_FS is not set 769# CONFIG_FUSE_FS is not set
752 770
753# 771#
772# Caches
773#
774
775#
754# CD-ROM/DVD Filesystems 776# CD-ROM/DVD Filesystems
755# 777#
756# CONFIG_ISO9660_FS is not set 778# CONFIG_ISO9660_FS is not set
@@ -872,6 +894,7 @@ CONFIG_NLS_ISO8859_1=y
872# CONFIG_NLS_KOI8_R is not set 894# CONFIG_NLS_KOI8_R is not set
873# CONFIG_NLS_KOI8_U is not set 895# CONFIG_NLS_KOI8_U is not set
874CONFIG_NLS_UTF8=y 896CONFIG_NLS_UTF8=y
897# CONFIG_BINARY_PRINTF is not set
875 898
876# 899#
877# Library routines 900# Library routines
@@ -887,11 +910,12 @@ CONFIG_CRC32=y
887# CONFIG_LIBCRC32C is not set 910# CONFIG_LIBCRC32C is not set
888CONFIG_ZLIB_INFLATE=y 911CONFIG_ZLIB_INFLATE=y
889CONFIG_ZLIB_DEFLATE=y 912CONFIG_ZLIB_DEFLATE=y
890CONFIG_PLIST=y 913CONFIG_DECOMPRESS_GZIP=y
891CONFIG_HAS_IOMEM=y 914CONFIG_HAS_IOMEM=y
892CONFIG_HAS_IOPORT=y 915CONFIG_HAS_IOPORT=y
893CONFIG_HAS_DMA=y 916CONFIG_HAS_DMA=y
894CONFIG_HAVE_LMB=y 917CONFIG_HAVE_LMB=y
918CONFIG_NLATTR=y
895 919
896# 920#
897# Kernel hacking 921# Kernel hacking
@@ -907,6 +931,7 @@ CONFIG_DEBUG_FS=y
907CONFIG_DEBUG_KERNEL=y 931CONFIG_DEBUG_KERNEL=y
908# CONFIG_DEBUG_SHIRQ is not set 932# CONFIG_DEBUG_SHIRQ is not set
909# CONFIG_DETECT_SOFTLOCKUP is not set 933# CONFIG_DETECT_SOFTLOCKUP is not set
934# CONFIG_DETECT_HUNG_TASK is not set
910# CONFIG_SCHED_DEBUG is not set 935# CONFIG_SCHED_DEBUG is not set
911# CONFIG_SCHEDSTATS is not set 936# CONFIG_SCHEDSTATS is not set
912# CONFIG_TIMER_STATS is not set 937# CONFIG_TIMER_STATS is not set
@@ -935,9 +960,12 @@ CONFIG_DEBUG_INFO=y
935# CONFIG_FAULT_INJECTION is not set 960# CONFIG_FAULT_INJECTION is not set
936# CONFIG_LATENCYTOP is not set 961# CONFIG_LATENCYTOP is not set
937CONFIG_SYSCTL_SYSCALL_CHECK=y 962CONFIG_SYSCTL_SYSCALL_CHECK=y
963# CONFIG_DEBUG_PAGEALLOC is not set
938CONFIG_HAVE_FUNCTION_TRACER=y 964CONFIG_HAVE_FUNCTION_TRACER=y
965CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
939CONFIG_HAVE_DYNAMIC_FTRACE=y 966CONFIG_HAVE_DYNAMIC_FTRACE=y
940CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 967CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
968CONFIG_TRACING_SUPPORT=y
941 969
942# 970#
943# Tracers 971# Tracers
@@ -945,16 +973,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
945# CONFIG_FUNCTION_TRACER is not set 973# CONFIG_FUNCTION_TRACER is not set
946# CONFIG_SCHED_TRACER is not set 974# CONFIG_SCHED_TRACER is not set
947# CONFIG_CONTEXT_SWITCH_TRACER is not set 975# CONFIG_CONTEXT_SWITCH_TRACER is not set
976# CONFIG_EVENT_TRACER is not set
948# CONFIG_BOOT_TRACER is not set 977# CONFIG_BOOT_TRACER is not set
949# CONFIG_TRACE_BRANCH_PROFILING is not set 978# CONFIG_TRACE_BRANCH_PROFILING is not set
950# CONFIG_STACK_TRACER is not set 979# CONFIG_STACK_TRACER is not set
951# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 980# CONFIG_KMEMTRACE is not set
981# CONFIG_WORKQUEUE_TRACER is not set
982# CONFIG_BLK_DEV_IO_TRACE is not set
983# CONFIG_DYNAMIC_DEBUG is not set
952# CONFIG_SAMPLES is not set 984# CONFIG_SAMPLES is not set
953CONFIG_HAVE_ARCH_KGDB=y 985CONFIG_HAVE_ARCH_KGDB=y
954CONFIG_PRINT_STACK_DEPTH=64 986CONFIG_PRINT_STACK_DEPTH=64
955# CONFIG_DEBUG_STACKOVERFLOW is not set 987# CONFIG_DEBUG_STACKOVERFLOW is not set
956# CONFIG_DEBUG_STACK_USAGE is not set 988# CONFIG_DEBUG_STACK_USAGE is not set
957# CONFIG_DEBUG_PAGEALLOC is not set
958# CONFIG_CODE_PATCHING_SELFTEST is not set 989# CONFIG_CODE_PATCHING_SELFTEST is not set
959# CONFIG_FTR_FIXUP_SELFTEST is not set 990# CONFIG_FTR_FIXUP_SELFTEST is not set
960# CONFIG_MSI_BITMAP_SELFTEST is not set 991# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -986,9 +1017,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y
986CONFIG_CRYPTO_HASH=y 1017CONFIG_CRYPTO_HASH=y
987CONFIG_CRYPTO_HASH2=y 1018CONFIG_CRYPTO_HASH2=y
988CONFIG_CRYPTO_RNG2=y 1019CONFIG_CRYPTO_RNG2=y
1020CONFIG_CRYPTO_PCOMP=y
989CONFIG_CRYPTO_MANAGER=y 1021CONFIG_CRYPTO_MANAGER=y
990CONFIG_CRYPTO_MANAGER2=y 1022CONFIG_CRYPTO_MANAGER2=y
991# CONFIG_CRYPTO_NULL is not set 1023# CONFIG_CRYPTO_NULL is not set
1024CONFIG_CRYPTO_WORKQUEUE=y
992# CONFIG_CRYPTO_CRYPTD is not set 1025# CONFIG_CRYPTO_CRYPTD is not set
993# CONFIG_CRYPTO_AUTHENC is not set 1026# CONFIG_CRYPTO_AUTHENC is not set
994 1027
@@ -1052,6 +1085,7 @@ CONFIG_CRYPTO_DES=y
1052# Compression 1085# Compression
1053# 1086#
1054# CONFIG_CRYPTO_DEFLATE is not set 1087# CONFIG_CRYPTO_DEFLATE is not set
1088# CONFIG_CRYPTO_ZLIB is not set
1055# CONFIG_CRYPTO_LZO is not set 1089# CONFIG_CRYPTO_LZO is not set
1056 1090
1057# 1091#
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig
index 297b5d5042be..24fa90792c54 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:32 2009 4# Wed May 13 17:21:55 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -51,6 +51,7 @@ CONFIG_AUDIT_ARCH=y
51# CONFIG_DEFAULT_UIMAGE is not set 51# CONFIG_DEFAULT_UIMAGE is not set
52# CONFIG_PPC_DCR_NATIVE is not set 52# CONFIG_PPC_DCR_NATIVE is not set
53# CONFIG_PPC_DCR_MMIO is not set 53# CONFIG_PPC_DCR_MMIO is not set
54CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
54CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
55 56
56# 57#
@@ -68,6 +69,15 @@ CONFIG_SYSVIPC_SYSCTL=y
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
72
73#
74# RCU Subsystem
75#
76CONFIG_CLASSIC_RCU=y
77# CONFIG_TREE_RCU is not set
78# CONFIG_PREEMPT_RCU is not set
79# CONFIG_TREE_RCU_TRACE is not set
80# CONFIG_PREEMPT_RCU_TRACE is not set
71# CONFIG_IKCONFIG is not set 81# CONFIG_IKCONFIG is not set
72CONFIG_LOG_BUF_SHIFT=17 82CONFIG_LOG_BUF_SHIFT=17
73CONFIG_GROUP_SCHED=y 83CONFIG_GROUP_SCHED=y
@@ -82,20 +92,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y
82# CONFIG_NAMESPACES is not set 92# CONFIG_NAMESPACES is not set
83CONFIG_BLK_DEV_INITRD=y 93CONFIG_BLK_DEV_INITRD=y
84CONFIG_INITRAMFS_SOURCE="" 94CONFIG_INITRAMFS_SOURCE=""
95CONFIG_RD_GZIP=y
96# CONFIG_RD_BZIP2 is not set
97# CONFIG_RD_LZMA is not set
85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 98# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
86CONFIG_SYSCTL=y 99CONFIG_SYSCTL=y
100CONFIG_ANON_INODES=y
87CONFIG_EMBEDDED=y 101CONFIG_EMBEDDED=y
88# CONFIG_SYSCTL_SYSCALL is not set 102# CONFIG_SYSCTL_SYSCALL is not set
89CONFIG_KALLSYMS=y 103CONFIG_KALLSYMS=y
90# CONFIG_KALLSYMS_EXTRA_PASS is not set 104# CONFIG_KALLSYMS_EXTRA_PASS is not set
105# CONFIG_STRIP_ASM_SYMS is not set
91# CONFIG_HOTPLUG is not set 106# CONFIG_HOTPLUG is not set
92CONFIG_PRINTK=y 107CONFIG_PRINTK=y
93# CONFIG_BUG is not set 108# CONFIG_BUG is not set
94CONFIG_ELF_CORE=y 109CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
96# CONFIG_BASE_FULL is not set 110# CONFIG_BASE_FULL is not set
97CONFIG_FUTEX=y 111CONFIG_FUTEX=y
98CONFIG_ANON_INODES=y
99# CONFIG_EPOLL is not set 112# CONFIG_EPOLL is not set
100CONFIG_SIGNALFD=y 113CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y 114CONFIG_TIMERFD=y
@@ -103,10 +116,12 @@ CONFIG_EVENTFD=y
103CONFIG_SHMEM=y 116CONFIG_SHMEM=y
104CONFIG_AIO=y 117CONFIG_AIO=y
105# CONFIG_VM_EVENT_COUNTERS is not set 118# CONFIG_VM_EVENT_COUNTERS is not set
119CONFIG_COMPAT_BRK=y
106CONFIG_SLAB=y 120CONFIG_SLAB=y
107# CONFIG_SLUB is not set 121# CONFIG_SLUB is not set
108# CONFIG_SLOB is not set 122# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set 123# CONFIG_PROFILING is not set
124# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y 125CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 126CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
112CONFIG_HAVE_IOREMAP_PROT=y 127CONFIG_HAVE_IOREMAP_PROT=y
@@ -114,6 +129,7 @@ CONFIG_HAVE_KPROBES=y
114CONFIG_HAVE_KRETPROBES=y 129CONFIG_HAVE_KRETPROBES=y
115CONFIG_HAVE_ARCH_TRACEHOOK=y 130CONFIG_HAVE_ARCH_TRACEHOOK=y
116CONFIG_HAVE_CLK=y 131CONFIG_HAVE_CLK=y
132# CONFIG_SLOW_WORK is not set
117# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 133# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 134CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 135CONFIG_RT_MUTEXES=y
@@ -121,7 +137,6 @@ CONFIG_BASE_SMALL=1
121# CONFIG_MODULES is not set 137# CONFIG_MODULES is not set
122CONFIG_BLOCK=y 138CONFIG_BLOCK=y
123# CONFIG_LBD is not set 139# CONFIG_LBD is not set
124# CONFIG_BLK_DEV_IO_TRACE is not set
125# CONFIG_BLK_DEV_BSG is not set 140# CONFIG_BLK_DEV_BSG is not set
126# CONFIG_BLK_DEV_INTEGRITY is not set 141# CONFIG_BLK_DEV_INTEGRITY is not set
127 142
@@ -137,11 +152,6 @@ CONFIG_DEFAULT_AS=y
137# CONFIG_DEFAULT_CFQ is not set 152# CONFIG_DEFAULT_CFQ is not set
138# CONFIG_DEFAULT_NOOP is not set 153# CONFIG_DEFAULT_NOOP is not set
139CONFIG_DEFAULT_IOSCHED="anticipatory" 154CONFIG_DEFAULT_IOSCHED="anticipatory"
140CONFIG_CLASSIC_RCU=y
141# CONFIG_TREE_RCU is not set
142# CONFIG_PREEMPT_RCU is not set
143# CONFIG_TREE_RCU_TRACE is not set
144# CONFIG_PREEMPT_RCU_TRACE is not set
145# CONFIG_FREEZER is not set 155# CONFIG_FREEZER is not set
146 156
147# 157#
@@ -232,9 +242,12 @@ CONFIG_ZONE_DMA_FLAG=1
232CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
233CONFIG_VIRT_TO_BUS=y 243CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y 244CONFIG_UNEVICTABLE_LRU=y
245CONFIG_HAVE_MLOCK=y
246CONFIG_HAVE_MLOCKED_PAGE_BIT=y
235CONFIG_PPC_4K_PAGES=y 247CONFIG_PPC_4K_PAGES=y
236# CONFIG_PPC_16K_PAGES is not set 248# CONFIG_PPC_16K_PAGES is not set
237# CONFIG_PPC_64K_PAGES is not set 249# CONFIG_PPC_64K_PAGES is not set
250# CONFIG_PPC_256K_PAGES is not set
238CONFIG_FORCE_MAX_ZONEORDER=11 251CONFIG_FORCE_MAX_ZONEORDER=11
239# CONFIG_PROC_DEVICETREE is not set 252# CONFIG_PROC_DEVICETREE is not set
240# CONFIG_CMDLINE_BOOL is not set 253# CONFIG_CMDLINE_BOOL is not set
@@ -268,14 +281,11 @@ CONFIG_PAGE_OFFSET=0xc0000000
268CONFIG_KERNEL_START=0xc0000000 281CONFIG_KERNEL_START=0xc0000000
269CONFIG_PHYSICAL_START=0x00000000 282CONFIG_PHYSICAL_START=0x00000000
270CONFIG_TASK_SIZE=0x80000000 283CONFIG_TASK_SIZE=0x80000000
271CONFIG_CONSISTENT_START=0xfd000000
272CONFIG_CONSISTENT_SIZE=0x00200000
273CONFIG_NET=y 284CONFIG_NET=y
274 285
275# 286#
276# Networking options 287# Networking options
277# 288#
278CONFIG_COMPAT_NET_DEV_OPS=y
279CONFIG_PACKET=y 289CONFIG_PACKET=y
280# CONFIG_PACKET_MMAP is not set 290# CONFIG_PACKET_MMAP is not set
281CONFIG_UNIX=y 291CONFIG_UNIX=y
@@ -331,6 +341,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
331# CONFIG_LAPB is not set 341# CONFIG_LAPB is not set
332# CONFIG_ECONET is not set 342# CONFIG_ECONET is not set
333# CONFIG_WAN_ROUTER is not set 343# CONFIG_WAN_ROUTER is not set
344# CONFIG_PHONET is not set
334# CONFIG_NET_SCHED is not set 345# CONFIG_NET_SCHED is not set
335# CONFIG_DCB is not set 346# CONFIG_DCB is not set
336 347
@@ -343,7 +354,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_IRDA is not set 354# CONFIG_IRDA is not set
344# CONFIG_BT is not set 355# CONFIG_BT is not set
345# CONFIG_AF_RXRPC is not set 356# CONFIG_AF_RXRPC is not set
346# CONFIG_PHONET is not set
347CONFIG_WIRELESS=y 357CONFIG_WIRELESS=y
348# CONFIG_CFG80211 is not set 358# CONFIG_CFG80211 is not set
349CONFIG_WIRELESS_OLD_REGULATORY=y 359CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -447,7 +457,6 @@ CONFIG_MTD_PHYSMAP_OF=y
447# LPDDR flash memory drivers 457# LPDDR flash memory drivers
448# 458#
449# CONFIG_MTD_LPDDR is not set 459# CONFIG_MTD_LPDDR is not set
450# CONFIG_MTD_QINFO_PROBE is not set
451 460
452# 461#
453# UBI - Unsorted block images 462# UBI - Unsorted block images
@@ -483,6 +492,7 @@ CONFIG_HAVE_IDE=y
483# CONFIG_MD is not set 492# CONFIG_MD is not set
484# CONFIG_MACINTOSH_DRIVERS is not set 493# CONFIG_MACINTOSH_DRIVERS is not set
485CONFIG_NETDEVICES=y 494CONFIG_NETDEVICES=y
495CONFIG_COMPAT_NET_DEV_OPS=y
486# CONFIG_DUMMY is not set 496# CONFIG_DUMMY is not set
487# CONFIG_BONDING is not set 497# CONFIG_BONDING is not set
488# CONFIG_MACVLAN is not set 498# CONFIG_MACVLAN is not set
@@ -511,6 +521,8 @@ CONFIG_FIXED_PHY=y
511# CONFIG_MDIO_BITBANG is not set 521# CONFIG_MDIO_BITBANG is not set
512CONFIG_NET_ETHERNET=y 522CONFIG_NET_ETHERNET=y
513CONFIG_MII=y 523CONFIG_MII=y
524# CONFIG_ETHOC is not set
525# CONFIG_DNET is not set
514# CONFIG_IBM_NEW_EMAC_ZMII is not set 526# CONFIG_IBM_NEW_EMAC_ZMII is not set
515# CONFIG_IBM_NEW_EMAC_RGMII is not set 527# CONFIG_IBM_NEW_EMAC_RGMII is not set
516# CONFIG_IBM_NEW_EMAC_TAH is not set 528# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -531,7 +543,6 @@ CONFIG_FS_ENET_HAS_SCC=y
531# 543#
532# CONFIG_WLAN_PRE80211 is not set 544# CONFIG_WLAN_PRE80211 is not set
533# CONFIG_WLAN_80211 is not set 545# CONFIG_WLAN_80211 is not set
534# CONFIG_IWLWIFI_LEDS is not set
535 546
536# 547#
537# Enable WiMAX (Networking options) to see the WiMAX drivers 548# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -582,6 +593,7 @@ CONFIG_UNIX98_PTYS=y
582# CONFIG_HVC_UDBG is not set 593# CONFIG_HVC_UDBG is not set
583# CONFIG_IPMI_HANDLER is not set 594# CONFIG_IPMI_HANDLER is not set
584CONFIG_HW_RANDOM=y 595CONFIG_HW_RANDOM=y
596# CONFIG_HW_RANDOM_TIMERIOMEM is not set
585# CONFIG_NVRAM is not set 597# CONFIG_NVRAM is not set
586CONFIG_GEN_RTC=y 598CONFIG_GEN_RTC=y
587# CONFIG_GEN_RTC_X is not set 599# CONFIG_GEN_RTC_X is not set
@@ -651,6 +663,7 @@ CONFIG_SSB_POSSIBLE=y
651# CONFIG_EDAC is not set 663# CONFIG_EDAC is not set
652# CONFIG_RTC_CLASS is not set 664# CONFIG_RTC_CLASS is not set
653# CONFIG_DMADEVICES is not set 665# CONFIG_DMADEVICES is not set
666# CONFIG_AUXDISPLAY is not set
654# CONFIG_UIO is not set 667# CONFIG_UIO is not set
655# CONFIG_STAGING is not set 668# CONFIG_STAGING is not set
656 669
@@ -663,6 +676,7 @@ CONFIG_EXT2_FS_XATTR=y
663# CONFIG_EXT2_FS_SECURITY is not set 676# CONFIG_EXT2_FS_SECURITY is not set
664# CONFIG_EXT2_FS_XIP is not set 677# CONFIG_EXT2_FS_XIP is not set
665CONFIG_EXT3_FS=y 678CONFIG_EXT3_FS=y
679# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
666CONFIG_EXT3_FS_XATTR=y 680CONFIG_EXT3_FS_XATTR=y
667# CONFIG_EXT3_FS_POSIX_ACL is not set 681# CONFIG_EXT3_FS_POSIX_ACL is not set
668# CONFIG_EXT3_FS_SECURITY is not set 682# CONFIG_EXT3_FS_SECURITY is not set
@@ -686,6 +700,11 @@ CONFIG_INOTIFY_USER=y
686# CONFIG_FUSE_FS is not set 700# CONFIG_FUSE_FS is not set
687 701
688# 702#
703# Caches
704#
705# CONFIG_FSCACHE is not set
706
707#
689# CD-ROM/DVD Filesystems 708# CD-ROM/DVD Filesystems
690# 709#
691# CONFIG_ISO9660_FS is not set 710# CONFIG_ISO9660_FS is not set
@@ -739,6 +758,7 @@ CONFIG_CRAMFS=y
739# CONFIG_ROMFS_FS is not set 758# CONFIG_ROMFS_FS is not set
740# CONFIG_SYSV_FS is not set 759# CONFIG_SYSV_FS is not set
741# CONFIG_UFS_FS is not set 760# CONFIG_UFS_FS is not set
761# CONFIG_NILFS2_FS is not set
742CONFIG_NETWORK_FILESYSTEMS=y 762CONFIG_NETWORK_FILESYSTEMS=y
743CONFIG_NFS_FS=y 763CONFIG_NFS_FS=y
744CONFIG_NFS_V3=y 764CONFIG_NFS_V3=y
@@ -750,7 +770,6 @@ CONFIG_LOCKD=y
750CONFIG_LOCKD_V4=y 770CONFIG_LOCKD_V4=y
751CONFIG_NFS_COMMON=y 771CONFIG_NFS_COMMON=y
752CONFIG_SUNRPC=y 772CONFIG_SUNRPC=y
753# CONFIG_SUNRPC_REGISTER_V4 is not set
754# CONFIG_RPCSEC_GSS_KRB5 is not set 773# CONFIG_RPCSEC_GSS_KRB5 is not set
755# CONFIG_RPCSEC_GSS_SPKM3 is not set 774# CONFIG_RPCSEC_GSS_SPKM3 is not set
756# CONFIG_SMB_FS is not set 775# CONFIG_SMB_FS is not set
@@ -782,6 +801,7 @@ CONFIG_MSDOS_PARTITION=y
782# CONFIG_SYSV68_PARTITION is not set 801# CONFIG_SYSV68_PARTITION is not set
783# CONFIG_NLS is not set 802# CONFIG_NLS is not set
784# CONFIG_DLM is not set 803# CONFIG_DLM is not set
804# CONFIG_BINARY_PRINTF is not set
785 805
786# 806#
787# Library routines 807# Library routines
@@ -797,11 +817,12 @@ CONFIG_CRC32=y
797# CONFIG_LIBCRC32C is not set 817# CONFIG_LIBCRC32C is not set
798CONFIG_ZLIB_INFLATE=y 818CONFIG_ZLIB_INFLATE=y
799CONFIG_ZLIB_DEFLATE=y 819CONFIG_ZLIB_DEFLATE=y
800CONFIG_PLIST=y 820CONFIG_DECOMPRESS_GZIP=y
801CONFIG_HAS_IOMEM=y 821CONFIG_HAS_IOMEM=y
802CONFIG_HAS_IOPORT=y 822CONFIG_HAS_IOPORT=y
803CONFIG_HAS_DMA=y 823CONFIG_HAS_DMA=y
804CONFIG_HAVE_LMB=y 824CONFIG_HAVE_LMB=y
825CONFIG_NLATTR=y
805 826
806# 827#
807# Kernel hacking 828# Kernel hacking
@@ -819,13 +840,25 @@ CONFIG_DEBUG_FS=y
819# CONFIG_RCU_CPU_STALL_DETECTOR is not set 840# CONFIG_RCU_CPU_STALL_DETECTOR is not set
820# CONFIG_LATENCYTOP is not set 841# CONFIG_LATENCYTOP is not set
821CONFIG_HAVE_FUNCTION_TRACER=y 842CONFIG_HAVE_FUNCTION_TRACER=y
843CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
822CONFIG_HAVE_DYNAMIC_FTRACE=y 844CONFIG_HAVE_DYNAMIC_FTRACE=y
823CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 845CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
846CONFIG_TRACING_SUPPORT=y
824 847
825# 848#
826# Tracers 849# Tracers
827# 850#
828# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 851# CONFIG_FUNCTION_TRACER is not set
852# CONFIG_SCHED_TRACER is not set
853# CONFIG_CONTEXT_SWITCH_TRACER is not set
854# CONFIG_EVENT_TRACER is not set
855# CONFIG_BOOT_TRACER is not set
856# CONFIG_TRACE_BRANCH_PROFILING is not set
857# CONFIG_STACK_TRACER is not set
858# CONFIG_KMEMTRACE is not set
859# CONFIG_WORKQUEUE_TRACER is not set
860# CONFIG_BLK_DEV_IO_TRACE is not set
861# CONFIG_DYNAMIC_DEBUG is not set
829# CONFIG_SAMPLES is not set 862# CONFIG_SAMPLES is not set
830CONFIG_HAVE_ARCH_KGDB=y 863CONFIG_HAVE_ARCH_KGDB=y
831CONFIG_PRINT_STACK_DEPTH=64 864CONFIG_PRINT_STACK_DEPTH=64
@@ -917,6 +950,7 @@ CONFIG_CRYPTO=y
917# Compression 950# Compression
918# 951#
919# CONFIG_CRYPTO_DEFLATE is not set 952# CONFIG_CRYPTO_DEFLATE is not set
953# CONFIG_CRYPTO_ZLIB is not set
920# CONFIG_CRYPTO_LZO is not set 954# CONFIG_CRYPTO_LZO is not set
921 955
922# 956#
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index 38712e861c46..642ab67c8431 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:33 2009 4# Wed May 13 17:21:56 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18CONFIG_ALTIVEC=y 19CONFIG_ALTIVEC=y
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -54,6 +55,7 @@ CONFIG_GENERIC_BUG=y
54CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
55# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
56# CONFIG_PPC_DCR_MMIO is not set 57# CONFIG_PPC_DCR_MMIO is not set
58CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
57CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
58 60
59# 61#
@@ -71,6 +73,15 @@ CONFIG_SYSVIPC_SYSCTL=y
71# CONFIG_BSD_PROCESS_ACCT is not set 73# CONFIG_BSD_PROCESS_ACCT is not set
72# CONFIG_TASKSTATS is not set 74# CONFIG_TASKSTATS is not set
73# CONFIG_AUDIT is not set 75# CONFIG_AUDIT is not set
76
77#
78# RCU Subsystem
79#
80CONFIG_CLASSIC_RCU=y
81# CONFIG_TREE_RCU is not set
82# CONFIG_PREEMPT_RCU is not set
83# CONFIG_TREE_RCU_TRACE is not set
84# CONFIG_PREEMPT_RCU_TRACE is not set
74# CONFIG_IKCONFIG is not set 85# CONFIG_IKCONFIG is not set
75CONFIG_LOG_BUF_SHIFT=14 86CONFIG_LOG_BUF_SHIFT=14
76CONFIG_GROUP_SCHED=y 87CONFIG_GROUP_SCHED=y
@@ -85,20 +96,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y
85# CONFIG_NAMESPACES is not set 96# CONFIG_NAMESPACES is not set
86CONFIG_BLK_DEV_INITRD=y 97CONFIG_BLK_DEV_INITRD=y
87CONFIG_INITRAMFS_SOURCE="" 98CONFIG_INITRAMFS_SOURCE=""
99CONFIG_RD_GZIP=y
100# CONFIG_RD_BZIP2 is not set
101# CONFIG_RD_LZMA is not set
88# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 102# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
89CONFIG_SYSCTL=y 103CONFIG_SYSCTL=y
104CONFIG_ANON_INODES=y
90CONFIG_EMBEDDED=y 105CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 106CONFIG_SYSCTL_SYSCALL=y
92CONFIG_KALLSYMS=y 107CONFIG_KALLSYMS=y
93# CONFIG_KALLSYMS_EXTRA_PASS is not set 108# CONFIG_KALLSYMS_EXTRA_PASS is not set
109# CONFIG_STRIP_ASM_SYMS is not set
94CONFIG_HOTPLUG=y 110CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y 111CONFIG_PRINTK=y
96CONFIG_BUG=y 112CONFIG_BUG=y
97CONFIG_ELF_CORE=y 113CONFIG_ELF_CORE=y
98CONFIG_COMPAT_BRK=y
99CONFIG_BASE_FULL=y 114CONFIG_BASE_FULL=y
100CONFIG_FUTEX=y 115CONFIG_FUTEX=y
101CONFIG_ANON_INODES=y
102CONFIG_EPOLL=y 116CONFIG_EPOLL=y
103CONFIG_SIGNALFD=y 117CONFIG_SIGNALFD=y
104CONFIG_TIMERFD=y 118CONFIG_TIMERFD=y
@@ -108,16 +122,19 @@ CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 122CONFIG_VM_EVENT_COUNTERS=y
109CONFIG_PCI_QUIRKS=y 123CONFIG_PCI_QUIRKS=y
110CONFIG_SLUB_DEBUG=y 124CONFIG_SLUB_DEBUG=y
125CONFIG_COMPAT_BRK=y
111# CONFIG_SLAB is not set 126# CONFIG_SLAB is not set
112CONFIG_SLUB=y 127CONFIG_SLUB=y
113# CONFIG_SLOB is not set 128# CONFIG_SLOB is not set
114# CONFIG_PROFILING is not set 129# CONFIG_PROFILING is not set
130# CONFIG_MARKERS is not set
115CONFIG_HAVE_OPROFILE=y 131CONFIG_HAVE_OPROFILE=y
116CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 132CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
117CONFIG_HAVE_IOREMAP_PROT=y 133CONFIG_HAVE_IOREMAP_PROT=y
118CONFIG_HAVE_KPROBES=y 134CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 135CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y 136CONFIG_HAVE_ARCH_TRACEHOOK=y
137# CONFIG_SLOW_WORK is not set
121# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 138# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
122CONFIG_SLABINFO=y 139CONFIG_SLABINFO=y
123CONFIG_RT_MUTEXES=y 140CONFIG_RT_MUTEXES=y
@@ -125,7 +142,6 @@ CONFIG_BASE_SMALL=0
125# CONFIG_MODULES is not set 142# CONFIG_MODULES is not set
126CONFIG_BLOCK=y 143CONFIG_BLOCK=y
127CONFIG_LBD=y 144CONFIG_LBD=y
128# CONFIG_BLK_DEV_IO_TRACE is not set
129# CONFIG_BLK_DEV_BSG is not set 145# CONFIG_BLK_DEV_BSG is not set
130# CONFIG_BLK_DEV_INTEGRITY is not set 146# CONFIG_BLK_DEV_INTEGRITY is not set
131 147
@@ -141,18 +157,11 @@ CONFIG_DEFAULT_AS=y
141# CONFIG_DEFAULT_CFQ is not set 157# CONFIG_DEFAULT_CFQ is not set
142# CONFIG_DEFAULT_NOOP is not set 158# CONFIG_DEFAULT_NOOP is not set
143CONFIG_DEFAULT_IOSCHED="anticipatory" 159CONFIG_DEFAULT_IOSCHED="anticipatory"
144CONFIG_CLASSIC_RCU=y
145# CONFIG_TREE_RCU is not set
146# CONFIG_PREEMPT_RCU is not set
147# CONFIG_TREE_RCU_TRACE is not set
148# CONFIG_PREEMPT_RCU_TRACE is not set
149# CONFIG_FREEZER is not set 160# CONFIG_FREEZER is not set
150 161
151# 162#
152# Platform support 163# Platform support
153# 164#
154CONFIG_PPC_MULTIPLATFORM=y
155CONFIG_CLASSIC32=y
156# CONFIG_PPC_CHRP is not set 165# CONFIG_PPC_CHRP is not set
157# CONFIG_MPC5121_ADS is not set 166# CONFIG_MPC5121_ADS is not set
158# CONFIG_MPC5121_GENERIC is not set 167# CONFIG_MPC5121_GENERIC is not set
@@ -172,6 +181,8 @@ CONFIG_MPC7448HPC2=y
172# CONFIG_PPC_PRPMC2800 is not set 181# CONFIG_PPC_PRPMC2800 is not set
173# CONFIG_PPC_C2K is not set 182# CONFIG_PPC_C2K is not set
174CONFIG_TSI108_BRIDGE=y 183CONFIG_TSI108_BRIDGE=y
184# CONFIG_AMIGAONE is not set
185CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
175# CONFIG_IPIC is not set 186# CONFIG_IPIC is not set
176CONFIG_MPIC=y 187CONFIG_MPIC=y
177CONFIG_MPIC_WEIRD=y 188CONFIG_MPIC_WEIRD=y
@@ -230,9 +241,12 @@ CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 241CONFIG_BOUNCE=y
231CONFIG_VIRT_TO_BUS=y 242CONFIG_VIRT_TO_BUS=y
232CONFIG_UNEVICTABLE_LRU=y 243CONFIG_UNEVICTABLE_LRU=y
244CONFIG_HAVE_MLOCK=y
245CONFIG_HAVE_MLOCKED_PAGE_BIT=y
233CONFIG_PPC_4K_PAGES=y 246CONFIG_PPC_4K_PAGES=y
234# CONFIG_PPC_16K_PAGES is not set 247# CONFIG_PPC_16K_PAGES is not set
235# CONFIG_PPC_64K_PAGES is not set 248# CONFIG_PPC_64K_PAGES is not set
249# CONFIG_PPC_256K_PAGES is not set
236CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
237CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
238# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
@@ -255,6 +269,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
255# CONFIG_PCI_MSI is not set 269# CONFIG_PCI_MSI is not set
256# CONFIG_PCI_LEGACY is not set 270# CONFIG_PCI_LEGACY is not set
257# CONFIG_PCI_STUB is not set 271# CONFIG_PCI_STUB is not set
272# CONFIG_PCI_IOV is not set
258# CONFIG_PCCARD is not set 273# CONFIG_PCCARD is not set
259# CONFIG_HOTPLUG_PCI is not set 274# CONFIG_HOTPLUG_PCI is not set
260# CONFIG_HAS_RAPIDIO is not set 275# CONFIG_HAS_RAPIDIO is not set
@@ -277,7 +292,6 @@ CONFIG_NET=y
277# 292#
278# Networking options 293# Networking options
279# 294#
280CONFIG_COMPAT_NET_DEV_OPS=y
281CONFIG_PACKET=y 295CONFIG_PACKET=y
282# CONFIG_PACKET_MMAP is not set 296# CONFIG_PACKET_MMAP is not set
283CONFIG_UNIX=y 297CONFIG_UNIX=y
@@ -333,6 +347,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
333# CONFIG_LAPB is not set 347# CONFIG_LAPB is not set
334# CONFIG_ECONET is not set 348# CONFIG_ECONET is not set
335# CONFIG_WAN_ROUTER is not set 349# CONFIG_WAN_ROUTER is not set
350# CONFIG_PHONET is not set
336# CONFIG_NET_SCHED is not set 351# CONFIG_NET_SCHED is not set
337# CONFIG_DCB is not set 352# CONFIG_DCB is not set
338 353
@@ -345,7 +360,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
345# CONFIG_IRDA is not set 360# CONFIG_IRDA is not set
346# CONFIG_BT is not set 361# CONFIG_BT is not set
347# CONFIG_AF_RXRPC is not set 362# CONFIG_AF_RXRPC is not set
348# CONFIG_PHONET is not set
349CONFIG_WIRELESS=y 363CONFIG_WIRELESS=y
350# CONFIG_CFG80211 is not set 364# CONFIG_CFG80211 is not set
351CONFIG_WIRELESS_OLD_REGULATORY=y 365CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -392,12 +406,16 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
392# CONFIG_BLK_DEV_HD is not set 406# CONFIG_BLK_DEV_HD is not set
393CONFIG_MISC_DEVICES=y 407CONFIG_MISC_DEVICES=y
394# CONFIG_PHANTOM is not set 408# CONFIG_PHANTOM is not set
395# CONFIG_EEPROM_93CX6 is not set
396# CONFIG_SGI_IOC4 is not set 409# CONFIG_SGI_IOC4 is not set
397# CONFIG_TIFM_CORE is not set 410# CONFIG_TIFM_CORE is not set
398# CONFIG_ENCLOSURE_SERVICES is not set 411# CONFIG_ENCLOSURE_SERVICES is not set
399# CONFIG_HP_ILO is not set 412# CONFIG_HP_ILO is not set
400# CONFIG_C2PORT is not set 413# CONFIG_C2PORT is not set
414
415#
416# EEPROM support
417#
418# CONFIG_EEPROM_93CX6 is not set
401CONFIG_HAVE_IDE=y 419CONFIG_HAVE_IDE=y
402# CONFIG_IDE is not set 420# CONFIG_IDE is not set
403 421
@@ -454,9 +472,11 @@ CONFIG_SCSI_LOWLEVEL=y
454# CONFIG_MEGARAID_NEWGEN is not set 472# CONFIG_MEGARAID_NEWGEN is not set
455# CONFIG_MEGARAID_LEGACY is not set 473# CONFIG_MEGARAID_LEGACY is not set
456# CONFIG_MEGARAID_SAS is not set 474# CONFIG_MEGARAID_SAS is not set
475# CONFIG_SCSI_MPT2SAS is not set
457# CONFIG_SCSI_HPTIOP is not set 476# CONFIG_SCSI_HPTIOP is not set
458# CONFIG_SCSI_BUSLOGIC is not set 477# CONFIG_SCSI_BUSLOGIC is not set
459# CONFIG_LIBFC is not set 478# CONFIG_LIBFC is not set
479# CONFIG_LIBFCOE is not set
460# CONFIG_FCOE is not set 480# CONFIG_FCOE is not set
461# CONFIG_SCSI_DMX3191D is not set 481# CONFIG_SCSI_DMX3191D is not set
462# CONFIG_SCSI_EATA is not set 482# CONFIG_SCSI_EATA is not set
@@ -479,6 +499,7 @@ CONFIG_SCSI_LOWLEVEL=y
479# CONFIG_SCSI_DEBUG is not set 499# CONFIG_SCSI_DEBUG is not set
480# CONFIG_SCSI_SRP is not set 500# CONFIG_SCSI_SRP is not set
481# CONFIG_SCSI_DH is not set 501# CONFIG_SCSI_DH is not set
502# CONFIG_SCSI_OSD_INITIATOR is not set
482CONFIG_ATA=y 503CONFIG_ATA=y
483# CONFIG_ATA_NONSTANDARD is not set 504# CONFIG_ATA_NONSTANDARD is not set
484CONFIG_SATA_PMP=y 505CONFIG_SATA_PMP=y
@@ -554,6 +575,7 @@ CONFIG_SATA_MV=y
554# CONFIG_I2O is not set 575# CONFIG_I2O is not set
555# CONFIG_MACINTOSH_DRIVERS is not set 576# CONFIG_MACINTOSH_DRIVERS is not set
556CONFIG_NETDEVICES=y 577CONFIG_NETDEVICES=y
578CONFIG_COMPAT_NET_DEV_OPS=y
557# CONFIG_DUMMY is not set 579# CONFIG_DUMMY is not set
558# CONFIG_BONDING is not set 580# CONFIG_BONDING is not set
559# CONFIG_MACVLAN is not set 581# CONFIG_MACVLAN is not set
@@ -587,6 +609,8 @@ CONFIG_MII=y
587# CONFIG_SUNGEM is not set 609# CONFIG_SUNGEM is not set
588# CONFIG_CASSINI is not set 610# CONFIG_CASSINI is not set
589# CONFIG_NET_VENDOR_3COM is not set 611# CONFIG_NET_VENDOR_3COM is not set
612# CONFIG_ETHOC is not set
613# CONFIG_DNET is not set
590# CONFIG_NET_TULIP is not set 614# CONFIG_NET_TULIP is not set
591# CONFIG_HP100 is not set 615# CONFIG_HP100 is not set
592# CONFIG_IBM_NEW_EMAC_ZMII is not set 616# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -628,6 +652,7 @@ CONFIG_NETDEV_1000=y
628# CONFIG_E1000E is not set 652# CONFIG_E1000E is not set
629# CONFIG_IP1000 is not set 653# CONFIG_IP1000 is not set
630# CONFIG_IGB is not set 654# CONFIG_IGB is not set
655# CONFIG_IGBVF is not set
631# CONFIG_NS83820 is not set 656# CONFIG_NS83820 is not set
632# CONFIG_HAMACHI is not set 657# CONFIG_HAMACHI is not set
633# CONFIG_YELLOWFIN is not set 658# CONFIG_YELLOWFIN is not set
@@ -639,10 +664,10 @@ CONFIG_NETDEV_1000=y
639# CONFIG_TIGON3 is not set 664# CONFIG_TIGON3 is not set
640# CONFIG_BNX2 is not set 665# CONFIG_BNX2 is not set
641CONFIG_TSI108_ETH=y 666CONFIG_TSI108_ETH=y
642# CONFIG_MV643XX_ETH is not set
643# CONFIG_QLA3XXX is not set 667# CONFIG_QLA3XXX is not set
644# CONFIG_ATL1 is not set 668# CONFIG_ATL1 is not set
645# CONFIG_ATL1E is not set 669# CONFIG_ATL1E is not set
670# CONFIG_ATL1C is not set
646# CONFIG_JME is not set 671# CONFIG_JME is not set
647CONFIG_NETDEV_10000=y 672CONFIG_NETDEV_10000=y
648# CONFIG_CHELSIO_T1 is not set 673# CONFIG_CHELSIO_T1 is not set
@@ -652,6 +677,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
652# CONFIG_IXGBE is not set 677# CONFIG_IXGBE is not set
653# CONFIG_IXGB is not set 678# CONFIG_IXGB is not set
654# CONFIG_S2IO is not set 679# CONFIG_S2IO is not set
680# CONFIG_VXGE is not set
655# CONFIG_MYRI10GE is not set 681# CONFIG_MYRI10GE is not set
656# CONFIG_NETXEN_NIC is not set 682# CONFIG_NETXEN_NIC is not set
657# CONFIG_NIU is not set 683# CONFIG_NIU is not set
@@ -661,6 +687,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
661# CONFIG_BNX2X is not set 687# CONFIG_BNX2X is not set
662# CONFIG_QLGE is not set 688# CONFIG_QLGE is not set
663# CONFIG_SFC is not set 689# CONFIG_SFC is not set
690# CONFIG_BE2NET is not set
664# CONFIG_TR is not set 691# CONFIG_TR is not set
665 692
666# 693#
@@ -668,7 +695,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
668# 695#
669# CONFIG_WLAN_PRE80211 is not set 696# CONFIG_WLAN_PRE80211 is not set
670# CONFIG_WLAN_80211 is not set 697# CONFIG_WLAN_80211 is not set
671# CONFIG_IWLWIFI_LEDS is not set
672 698
673# 699#
674# Enable WiMAX (Networking options) to see the WiMAX drivers 700# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -839,7 +865,6 @@ CONFIG_HID=y
839# 865#
840# Special HID drivers 866# Special HID drivers
841# 867#
842CONFIG_HID_COMPAT=y
843CONFIG_USB_SUPPORT=y 868CONFIG_USB_SUPPORT=y
844CONFIG_USB_ARCH_HAS_HCD=y 869CONFIG_USB_ARCH_HAS_HCD=y
845CONFIG_USB_ARCH_HAS_OHCI=y 870CONFIG_USB_ARCH_HAS_OHCI=y
@@ -853,7 +878,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
853# 878#
854 879
855# 880#
856# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 881# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
857# 882#
858# CONFIG_USB_GADGET is not set 883# CONFIG_USB_GADGET is not set
859 884
@@ -869,6 +894,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
869# CONFIG_EDAC is not set 894# CONFIG_EDAC is not set
870# CONFIG_RTC_CLASS is not set 895# CONFIG_RTC_CLASS is not set
871# CONFIG_DMADEVICES is not set 896# CONFIG_DMADEVICES is not set
897# CONFIG_AUXDISPLAY is not set
872# CONFIG_UIO is not set 898# CONFIG_UIO is not set
873# CONFIG_STAGING is not set 899# CONFIG_STAGING is not set
874 900
@@ -879,6 +905,7 @@ CONFIG_EXT2_FS=y
879# CONFIG_EXT2_FS_XATTR is not set 905# CONFIG_EXT2_FS_XATTR is not set
880# CONFIG_EXT2_FS_XIP is not set 906# CONFIG_EXT2_FS_XIP is not set
881CONFIG_EXT3_FS=y 907CONFIG_EXT3_FS=y
908# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
882CONFIG_EXT3_FS_XATTR=y 909CONFIG_EXT3_FS_XATTR=y
883# CONFIG_EXT3_FS_POSIX_ACL is not set 910# CONFIG_EXT3_FS_POSIX_ACL is not set
884# CONFIG_EXT3_FS_SECURITY is not set 911# CONFIG_EXT3_FS_SECURITY is not set
@@ -902,6 +929,11 @@ CONFIG_INOTIFY_USER=y
902# CONFIG_FUSE_FS is not set 929# CONFIG_FUSE_FS is not set
903 930
904# 931#
932# Caches
933#
934# CONFIG_FSCACHE is not set
935
936#
905# CD-ROM/DVD Filesystems 937# CD-ROM/DVD Filesystems
906# 938#
907# CONFIG_ISO9660_FS is not set 939# CONFIG_ISO9660_FS is not set
@@ -944,6 +976,7 @@ CONFIG_MISC_FILESYSTEMS=y
944# CONFIG_ROMFS_FS is not set 976# CONFIG_ROMFS_FS is not set
945# CONFIG_SYSV_FS is not set 977# CONFIG_SYSV_FS is not set
946# CONFIG_UFS_FS is not set 978# CONFIG_UFS_FS is not set
979# CONFIG_NILFS2_FS is not set
947CONFIG_NETWORK_FILESYSTEMS=y 980CONFIG_NETWORK_FILESYSTEMS=y
948CONFIG_NFS_FS=y 981CONFIG_NFS_FS=y
949# CONFIG_NFS_V3 is not set 982# CONFIG_NFS_V3 is not set
@@ -953,7 +986,6 @@ CONFIG_ROOT_NFS=y
953CONFIG_LOCKD=y 986CONFIG_LOCKD=y
954CONFIG_NFS_COMMON=y 987CONFIG_NFS_COMMON=y
955CONFIG_SUNRPC=y 988CONFIG_SUNRPC=y
956# CONFIG_SUNRPC_REGISTER_V4 is not set
957# CONFIG_RPCSEC_GSS_KRB5 is not set 989# CONFIG_RPCSEC_GSS_KRB5 is not set
958# CONFIG_RPCSEC_GSS_SPKM3 is not set 990# CONFIG_RPCSEC_GSS_SPKM3 is not set
959# CONFIG_SMB_FS is not set 991# CONFIG_SMB_FS is not set
@@ -985,6 +1017,7 @@ CONFIG_MSDOS_PARTITION=y
985# CONFIG_SYSV68_PARTITION is not set 1017# CONFIG_SYSV68_PARTITION is not set
986# CONFIG_NLS is not set 1018# CONFIG_NLS is not set
987# CONFIG_DLM is not set 1019# CONFIG_DLM is not set
1020# CONFIG_BINARY_PRINTF is not set
988 1021
989# 1022#
990# Library routines 1023# Library routines
@@ -998,11 +1031,13 @@ CONFIG_CRC_T10DIF=y
998CONFIG_CRC32=y 1031CONFIG_CRC32=y
999# CONFIG_CRC7 is not set 1032# CONFIG_CRC7 is not set
1000# CONFIG_LIBCRC32C is not set 1033# CONFIG_LIBCRC32C is not set
1001CONFIG_PLIST=y 1034CONFIG_ZLIB_INFLATE=y
1035CONFIG_DECOMPRESS_GZIP=y
1002CONFIG_HAS_IOMEM=y 1036CONFIG_HAS_IOMEM=y
1003CONFIG_HAS_IOPORT=y 1037CONFIG_HAS_IOPORT=y
1004CONFIG_HAS_DMA=y 1038CONFIG_HAS_DMA=y
1005CONFIG_HAVE_LMB=y 1039CONFIG_HAVE_LMB=y
1040CONFIG_NLATTR=y
1006 1041
1007# 1042#
1008# Kernel hacking 1043# Kernel hacking
@@ -1024,13 +1059,24 @@ CONFIG_FRAME_WARN=1024
1024# CONFIG_LATENCYTOP is not set 1059# CONFIG_LATENCYTOP is not set
1025CONFIG_SYSCTL_SYSCALL_CHECK=y 1060CONFIG_SYSCTL_SYSCALL_CHECK=y
1026CONFIG_HAVE_FUNCTION_TRACER=y 1061CONFIG_HAVE_FUNCTION_TRACER=y
1062CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1027CONFIG_HAVE_DYNAMIC_FTRACE=y 1063CONFIG_HAVE_DYNAMIC_FTRACE=y
1028CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1064CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1065CONFIG_TRACING_SUPPORT=y
1029 1066
1030# 1067#
1031# Tracers 1068# Tracers
1032# 1069#
1033# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1070# CONFIG_FUNCTION_TRACER is not set
1071# CONFIG_SCHED_TRACER is not set
1072# CONFIG_CONTEXT_SWITCH_TRACER is not set
1073# CONFIG_EVENT_TRACER is not set
1074# CONFIG_BOOT_TRACER is not set
1075# CONFIG_TRACE_BRANCH_PROFILING is not set
1076# CONFIG_STACK_TRACER is not set
1077# CONFIG_KMEMTRACE is not set
1078# CONFIG_WORKQUEUE_TRACER is not set
1079# CONFIG_BLK_DEV_IO_TRACE is not set
1034# CONFIG_SAMPLES is not set 1080# CONFIG_SAMPLES is not set
1035CONFIG_HAVE_ARCH_KGDB=y 1081CONFIG_HAVE_ARCH_KGDB=y
1036CONFIG_PRINT_STACK_DEPTH=64 1082CONFIG_PRINT_STACK_DEPTH=64
@@ -1122,6 +1168,7 @@ CONFIG_CRYPTO=y
1122# Compression 1168# Compression
1123# 1169#
1124# CONFIG_CRYPTO_DEFLATE is not set 1170# CONFIG_CRYPTO_DEFLATE is not set
1171# CONFIG_CRYPTO_ZLIB is not set
1125# CONFIG_CRYPTO_LZO is not set 1172# CONFIG_CRYPTO_LZO is not set
1126 1173
1127# 1174#
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index d85a43cb821f..cb966ca2ce89 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:35 2009 4# Wed May 13 17:21:57 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set 19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -55,6 +56,7 @@ CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 56CONFIG_DEFAULT_UIMAGE=y
56# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
57# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
59 61
60# 62#
@@ -71,6 +73,15 @@ CONFIG_SYSVIPC_SYSCTL=y
71# CONFIG_BSD_PROCESS_ACCT is not set 73# CONFIG_BSD_PROCESS_ACCT is not set
72# CONFIG_TASKSTATS is not set 74# CONFIG_TASKSTATS is not set
73# CONFIG_AUDIT is not set 75# CONFIG_AUDIT is not set
76
77#
78# RCU Subsystem
79#
80CONFIG_CLASSIC_RCU=y
81# CONFIG_TREE_RCU is not set
82# CONFIG_PREEMPT_RCU is not set
83# CONFIG_TREE_RCU_TRACE is not set
84# CONFIG_PREEMPT_RCU_TRACE is not set
74CONFIG_IKCONFIG=y 85CONFIG_IKCONFIG=y
75CONFIG_IKCONFIG_PROC=y 86CONFIG_IKCONFIG_PROC=y
76CONFIG_LOG_BUF_SHIFT=14 87CONFIG_LOG_BUF_SHIFT=14
@@ -82,20 +93,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y
82# CONFIG_BLK_DEV_INITRD is not set 93# CONFIG_BLK_DEV_INITRD is not set
83CONFIG_CC_OPTIMIZE_FOR_SIZE=y 94CONFIG_CC_OPTIMIZE_FOR_SIZE=y
84CONFIG_SYSCTL=y 95CONFIG_SYSCTL=y
96CONFIG_ANON_INODES=y
85CONFIG_EMBEDDED=y 97CONFIG_EMBEDDED=y
86CONFIG_SYSCTL_SYSCALL=y 98CONFIG_SYSCTL_SYSCALL=y
87CONFIG_KALLSYMS=y 99CONFIG_KALLSYMS=y
88CONFIG_KALLSYMS_ALL=y 100CONFIG_KALLSYMS_ALL=y
89CONFIG_KALLSYMS_STRIP_GENERATED=y
90# CONFIG_KALLSYMS_EXTRA_PASS is not set 101# CONFIG_KALLSYMS_EXTRA_PASS is not set
102# CONFIG_STRIP_ASM_SYMS is not set
91CONFIG_HOTPLUG=y 103CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 104CONFIG_PRINTK=y
93CONFIG_BUG=y 105CONFIG_BUG=y
94CONFIG_ELF_CORE=y 106CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
96CONFIG_BASE_FULL=y 107CONFIG_BASE_FULL=y
97CONFIG_FUTEX=y 108CONFIG_FUTEX=y
98CONFIG_ANON_INODES=y
99CONFIG_EPOLL=y 109CONFIG_EPOLL=y
100CONFIG_SIGNALFD=y 110CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y 111CONFIG_TIMERFD=y
@@ -105,10 +115,12 @@ CONFIG_AIO=y
105CONFIG_VM_EVENT_COUNTERS=y 115CONFIG_VM_EVENT_COUNTERS=y
106CONFIG_PCI_QUIRKS=y 116CONFIG_PCI_QUIRKS=y
107CONFIG_SLUB_DEBUG=y 117CONFIG_SLUB_DEBUG=y
118CONFIG_COMPAT_BRK=y
108# CONFIG_SLAB is not set 119# CONFIG_SLAB is not set
109CONFIG_SLUB=y 120CONFIG_SLUB=y
110# CONFIG_SLOB is not set 121# CONFIG_SLOB is not set
111# CONFIG_PROFILING is not set 122# CONFIG_PROFILING is not set
123# CONFIG_MARKERS is not set
112CONFIG_HAVE_OPROFILE=y 124CONFIG_HAVE_OPROFILE=y
113CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 125CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
114CONFIG_HAVE_IOREMAP_PROT=y 126CONFIG_HAVE_IOREMAP_PROT=y
@@ -116,6 +128,7 @@ CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 128CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y 129CONFIG_HAVE_ARCH_TRACEHOOK=y
118CONFIG_HAVE_CLK=y 130CONFIG_HAVE_CLK=y
131# CONFIG_SLOW_WORK is not set
119# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
120CONFIG_SLABINFO=y 133CONFIG_SLABINFO=y
121CONFIG_RT_MUTEXES=y 134CONFIG_RT_MUTEXES=y
@@ -123,7 +136,6 @@ CONFIG_BASE_SMALL=0
123# CONFIG_MODULES is not set 136# CONFIG_MODULES is not set
124CONFIG_BLOCK=y 137CONFIG_BLOCK=y
125# CONFIG_LBD is not set 138# CONFIG_LBD is not set
126# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_BLK_DEV_INTEGRITY is not set 139# CONFIG_BLK_DEV_INTEGRITY is not set
128 140
129# 141#
@@ -138,18 +150,11 @@ CONFIG_DEFAULT_AS=y
138# CONFIG_DEFAULT_CFQ is not set 150# CONFIG_DEFAULT_CFQ is not set
139# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
140CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
141CONFIG_CLASSIC_RCU=y
142# CONFIG_TREE_RCU is not set
143# CONFIG_PREEMPT_RCU is not set
144# CONFIG_TREE_RCU_TRACE is not set
145# CONFIG_PREEMPT_RCU_TRACE is not set
146# CONFIG_FREEZER is not set 153# CONFIG_FREEZER is not set
147 154
148# 155#
149# Platform support 156# Platform support
150# 157#
151CONFIG_PPC_MULTIPLATFORM=y
152CONFIG_CLASSIC32=y
153# CONFIG_PPC_CHRP is not set 158# CONFIG_PPC_CHRP is not set
154# CONFIG_MPC5121_ADS is not set 159# CONFIG_MPC5121_ADS is not set
155# CONFIG_MPC5121_GENERIC is not set 160# CONFIG_MPC5121_GENERIC is not set
@@ -169,6 +174,8 @@ CONFIG_PQ2_ADS_PCI_PIC=y
169# CONFIG_PPC_83xx is not set 174# CONFIG_PPC_83xx is not set
170# CONFIG_PPC_86xx is not set 175# CONFIG_PPC_86xx is not set
171# CONFIG_EMBEDDED6xx is not set 176# CONFIG_EMBEDDED6xx is not set
177# CONFIG_AMIGAONE is not set
178CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
172# CONFIG_IPIC is not set 179# CONFIG_IPIC is not set
173# CONFIG_MPIC is not set 180# CONFIG_MPIC is not set
174# CONFIG_MPIC_WEIRD is not set 181# CONFIG_MPIC_WEIRD is not set
@@ -225,9 +232,12 @@ CONFIG_ZONE_DMA_FLAG=1
225CONFIG_BOUNCE=y 232CONFIG_BOUNCE=y
226CONFIG_VIRT_TO_BUS=y 233CONFIG_VIRT_TO_BUS=y
227CONFIG_UNEVICTABLE_LRU=y 234CONFIG_UNEVICTABLE_LRU=y
235CONFIG_HAVE_MLOCK=y
236CONFIG_HAVE_MLOCKED_PAGE_BIT=y
228CONFIG_PPC_4K_PAGES=y 237CONFIG_PPC_4K_PAGES=y
229# CONFIG_PPC_16K_PAGES is not set 238# CONFIG_PPC_16K_PAGES is not set
230# CONFIG_PPC_64K_PAGES is not set 239# CONFIG_PPC_64K_PAGES is not set
240# CONFIG_PPC_256K_PAGES is not set
231CONFIG_FORCE_MAX_ZONEORDER=11 241CONFIG_FORCE_MAX_ZONEORDER=11
232CONFIG_PROC_DEVICETREE=y 242CONFIG_PROC_DEVICETREE=y
233# CONFIG_CMDLINE_BOOL is not set 243# CONFIG_CMDLINE_BOOL is not set
@@ -253,6 +263,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
253# CONFIG_PCI_LEGACY is not set 263# CONFIG_PCI_LEGACY is not set
254# CONFIG_PCI_DEBUG is not set 264# CONFIG_PCI_DEBUG is not set
255# CONFIG_PCI_STUB is not set 265# CONFIG_PCI_STUB is not set
266# CONFIG_PCI_IOV is not set
256# CONFIG_PCCARD is not set 267# CONFIG_PCCARD is not set
257# CONFIG_HOTPLUG_PCI is not set 268# CONFIG_HOTPLUG_PCI is not set
258# CONFIG_HAS_RAPIDIO is not set 269# CONFIG_HAS_RAPIDIO is not set
@@ -275,7 +286,6 @@ CONFIG_NET=y
275# 286#
276# Networking options 287# Networking options
277# 288#
278CONFIG_COMPAT_NET_DEV_OPS=y
279CONFIG_PACKET=y 289CONFIG_PACKET=y
280# CONFIG_PACKET_MMAP is not set 290# CONFIG_PACKET_MMAP is not set
281CONFIG_UNIX=y 291CONFIG_UNIX=y
@@ -356,6 +366,7 @@ CONFIG_NETFILTER_ADVANCED=y
356# CONFIG_LLC2 is not set 366# CONFIG_LLC2 is not set
357# CONFIG_IPX is not set 367# CONFIG_IPX is not set
358# CONFIG_ATALK is not set 368# CONFIG_ATALK is not set
369# CONFIG_PHONET is not set
359# CONFIG_NET_SCHED is not set 370# CONFIG_NET_SCHED is not set
360# CONFIG_DCB is not set 371# CONFIG_DCB is not set
361 372
@@ -367,7 +378,6 @@ CONFIG_NETFILTER_ADVANCED=y
367# CONFIG_CAN is not set 378# CONFIG_CAN is not set
368# CONFIG_IRDA is not set 379# CONFIG_IRDA is not set
369# CONFIG_BT is not set 380# CONFIG_BT is not set
370# CONFIG_PHONET is not set
371CONFIG_WIRELESS=y 381CONFIG_WIRELESS=y
372# CONFIG_CFG80211 is not set 382# CONFIG_CFG80211 is not set
373CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -472,7 +482,6 @@ CONFIG_MTD_PHYSMAP_OF=y
472# LPDDR flash memory drivers 482# LPDDR flash memory drivers
473# 483#
474# CONFIG_MTD_LPDDR is not set 484# CONFIG_MTD_LPDDR is not set
475# CONFIG_MTD_QINFO_PROBE is not set
476 485
477# 486#
478# UBI - Unsorted block images 487# UBI - Unsorted block images
@@ -521,6 +530,7 @@ CONFIG_HAVE_IDE=y
521# CONFIG_I2O is not set 530# CONFIG_I2O is not set
522# CONFIG_MACINTOSH_DRIVERS is not set 531# CONFIG_MACINTOSH_DRIVERS is not set
523CONFIG_NETDEVICES=y 532CONFIG_NETDEVICES=y
533CONFIG_COMPAT_NET_DEV_OPS=y
524# CONFIG_DUMMY is not set 534# CONFIG_DUMMY is not set
525# CONFIG_BONDING is not set 535# CONFIG_BONDING is not set
526# CONFIG_EQUALIZER is not set 536# CONFIG_EQUALIZER is not set
@@ -554,6 +564,8 @@ CONFIG_MII=y
554# CONFIG_SUNGEM is not set 564# CONFIG_SUNGEM is not set
555# CONFIG_CASSINI is not set 565# CONFIG_CASSINI is not set
556# CONFIG_NET_VENDOR_3COM is not set 566# CONFIG_NET_VENDOR_3COM is not set
567# CONFIG_ETHOC is not set
568# CONFIG_DNET is not set
557# CONFIG_NET_TULIP is not set 569# CONFIG_NET_TULIP is not set
558# CONFIG_HP100 is not set 570# CONFIG_HP100 is not set
559# CONFIG_IBM_NEW_EMAC_ZMII is not set 571# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -576,6 +588,7 @@ CONFIG_NETDEV_1000=y
576# CONFIG_E1000 is not set 588# CONFIG_E1000 is not set
577# CONFIG_E1000E is not set 589# CONFIG_E1000E is not set
578# CONFIG_IGB is not set 590# CONFIG_IGB is not set
591# CONFIG_IGBVF is not set
579# CONFIG_NS83820 is not set 592# CONFIG_NS83820 is not set
580# CONFIG_HAMACHI is not set 593# CONFIG_HAMACHI is not set
581# CONFIG_R8169 is not set 594# CONFIG_R8169 is not set
@@ -585,8 +598,8 @@ CONFIG_NETDEV_1000=y
585# CONFIG_VIA_VELOCITY is not set 598# CONFIG_VIA_VELOCITY is not set
586# CONFIG_TIGON3 is not set 599# CONFIG_TIGON3 is not set
587# CONFIG_BNX2 is not set 600# CONFIG_BNX2 is not set
601# CONFIG_FSL_PQ_MDIO is not set
588# CONFIG_GIANFAR is not set 602# CONFIG_GIANFAR is not set
589# CONFIG_MV643XX_ETH is not set
590# CONFIG_QLA3XXX is not set 603# CONFIG_QLA3XXX is not set
591# CONFIG_ATL1 is not set 604# CONFIG_ATL1 is not set
592# CONFIG_JME is not set 605# CONFIG_JME is not set
@@ -598,6 +611,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
598# CONFIG_IXGBE is not set 611# CONFIG_IXGBE is not set
599# CONFIG_IXGB is not set 612# CONFIG_IXGB is not set
600# CONFIG_S2IO is not set 613# CONFIG_S2IO is not set
614# CONFIG_VXGE is not set
601# CONFIG_MYRI10GE is not set 615# CONFIG_MYRI10GE is not set
602# CONFIG_NETXEN_NIC is not set 616# CONFIG_NETXEN_NIC is not set
603# CONFIG_NIU is not set 617# CONFIG_NIU is not set
@@ -607,6 +621,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
607# CONFIG_BNX2X is not set 621# CONFIG_BNX2X is not set
608# CONFIG_QLGE is not set 622# CONFIG_QLGE is not set
609# CONFIG_SFC is not set 623# CONFIG_SFC is not set
624# CONFIG_BE2NET is not set
610# CONFIG_TR is not set 625# CONFIG_TR is not set
611 626
612# 627#
@@ -614,7 +629,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
614# 629#
615# CONFIG_WLAN_PRE80211 is not set 630# CONFIG_WLAN_PRE80211 is not set
616# CONFIG_WLAN_80211 is not set 631# CONFIG_WLAN_80211 is not set
617# CONFIG_IWLWIFI_LEDS is not set
618 632
619# 633#
620# Enable WiMAX (Networking options) to see the WiMAX drivers 634# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -668,7 +682,6 @@ CONFIG_MOUSE_PS2=y
668CONFIG_MOUSE_PS2_ALPS=y 682CONFIG_MOUSE_PS2_ALPS=y
669CONFIG_MOUSE_PS2_LOGIPS2PP=y 683CONFIG_MOUSE_PS2_LOGIPS2PP=y
670CONFIG_MOUSE_PS2_SYNAPTICS=y 684CONFIG_MOUSE_PS2_SYNAPTICS=y
671CONFIG_MOUSE_PS2_LIFEBOOK=y
672CONFIG_MOUSE_PS2_TRACKPOINT=y 685CONFIG_MOUSE_PS2_TRACKPOINT=y
673# CONFIG_MOUSE_PS2_ELANTECH is not set 686# CONFIG_MOUSE_PS2_ELANTECH is not set
674# CONFIG_MOUSE_PS2_TOUCHKIT is not set 687# CONFIG_MOUSE_PS2_TOUCHKIT is not set
@@ -719,6 +732,7 @@ CONFIG_LEGACY_PTYS=y
719CONFIG_LEGACY_PTY_COUNT=256 732CONFIG_LEGACY_PTY_COUNT=256
720# CONFIG_IPMI_HANDLER is not set 733# CONFIG_IPMI_HANDLER is not set
721CONFIG_HW_RANDOM=y 734CONFIG_HW_RANDOM=y
735# CONFIG_HW_RANDOM_TIMERIOMEM is not set
722# CONFIG_NVRAM is not set 736# CONFIG_NVRAM is not set
723# CONFIG_GEN_RTC is not set 737# CONFIG_GEN_RTC is not set
724# CONFIG_R3964 is not set 738# CONFIG_R3964 is not set
@@ -809,8 +823,10 @@ CONFIG_DAB=y
809# CONFIG_NEW_LEDS is not set 823# CONFIG_NEW_LEDS is not set
810# CONFIG_ACCESSIBILITY is not set 824# CONFIG_ACCESSIBILITY is not set
811# CONFIG_INFINIBAND is not set 825# CONFIG_INFINIBAND is not set
826# CONFIG_EDAC is not set
812# CONFIG_RTC_CLASS is not set 827# CONFIG_RTC_CLASS is not set
813# CONFIG_DMADEVICES is not set 828# CONFIG_DMADEVICES is not set
829# CONFIG_AUXDISPLAY is not set
814# CONFIG_UIO is not set 830# CONFIG_UIO is not set
815# CONFIG_STAGING is not set 831# CONFIG_STAGING is not set
816 832
@@ -821,6 +837,7 @@ CONFIG_EXT2_FS=y
821# CONFIG_EXT2_FS_XATTR is not set 837# CONFIG_EXT2_FS_XATTR is not set
822# CONFIG_EXT2_FS_XIP is not set 838# CONFIG_EXT2_FS_XIP is not set
823CONFIG_EXT3_FS=y 839CONFIG_EXT3_FS=y
840# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
824CONFIG_EXT3_FS_XATTR=y 841CONFIG_EXT3_FS_XATTR=y
825# CONFIG_EXT3_FS_POSIX_ACL is not set 842# CONFIG_EXT3_FS_POSIX_ACL is not set
826# CONFIG_EXT3_FS_SECURITY is not set 843# CONFIG_EXT3_FS_SECURITY is not set
@@ -842,6 +859,10 @@ CONFIG_AUTOFS4_FS=y
842# CONFIG_FUSE_FS is not set 859# CONFIG_FUSE_FS is not set
843 860
844# 861#
862# Caches
863#
864
865#
845# CD-ROM/DVD Filesystems 866# CD-ROM/DVD Filesystems
846# 867#
847# CONFIG_ISO9660_FS is not set 868# CONFIG_ISO9660_FS is not set
@@ -956,6 +977,7 @@ CONFIG_NLS_ISO8859_1=y
956# CONFIG_NLS_KOI8_R is not set 977# CONFIG_NLS_KOI8_R is not set
957# CONFIG_NLS_KOI8_U is not set 978# CONFIG_NLS_KOI8_U is not set
958CONFIG_NLS_UTF8=y 979CONFIG_NLS_UTF8=y
980# CONFIG_BINARY_PRINTF is not set
959 981
960# 982#
961# Library routines 983# Library routines
@@ -971,11 +993,11 @@ CONFIG_CRC32=y
971# CONFIG_LIBCRC32C is not set 993# CONFIG_LIBCRC32C is not set
972CONFIG_ZLIB_INFLATE=y 994CONFIG_ZLIB_INFLATE=y
973CONFIG_ZLIB_DEFLATE=y 995CONFIG_ZLIB_DEFLATE=y
974CONFIG_PLIST=y
975CONFIG_HAS_IOMEM=y 996CONFIG_HAS_IOMEM=y
976CONFIG_HAS_IOPORT=y 997CONFIG_HAS_IOPORT=y
977CONFIG_HAS_DMA=y 998CONFIG_HAS_DMA=y
978CONFIG_HAVE_LMB=y 999CONFIG_HAVE_LMB=y
1000CONFIG_NLATTR=y
979 1001
980# 1002#
981# Kernel hacking 1003# Kernel hacking
@@ -993,6 +1015,9 @@ CONFIG_DEBUG_KERNEL=y
993CONFIG_DETECT_SOFTLOCKUP=y 1015CONFIG_DETECT_SOFTLOCKUP=y
994# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1016# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
995CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1017CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1018CONFIG_DETECT_HUNG_TASK=y
1019# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1020CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
996CONFIG_SCHED_DEBUG=y 1021CONFIG_SCHED_DEBUG=y
997# CONFIG_SCHEDSTATS is not set 1022# CONFIG_SCHEDSTATS is not set
998# CONFIG_TIMER_STATS is not set 1023# CONFIG_TIMER_STATS is not set
@@ -1022,9 +1047,12 @@ CONFIG_DEBUG_INFO=y
1022# CONFIG_FAULT_INJECTION is not set 1047# CONFIG_FAULT_INJECTION is not set
1023# CONFIG_LATENCYTOP is not set 1048# CONFIG_LATENCYTOP is not set
1024CONFIG_SYSCTL_SYSCALL_CHECK=y 1049CONFIG_SYSCTL_SYSCALL_CHECK=y
1050# CONFIG_DEBUG_PAGEALLOC is not set
1025CONFIG_HAVE_FUNCTION_TRACER=y 1051CONFIG_HAVE_FUNCTION_TRACER=y
1052CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1026CONFIG_HAVE_DYNAMIC_FTRACE=y 1053CONFIG_HAVE_DYNAMIC_FTRACE=y
1027CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1054CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1055CONFIG_TRACING_SUPPORT=y
1028 1056
1029# 1057#
1030# Tracers 1058# Tracers
@@ -1032,16 +1060,18 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1032# CONFIG_FUNCTION_TRACER is not set 1060# CONFIG_FUNCTION_TRACER is not set
1033# CONFIG_SCHED_TRACER is not set 1061# CONFIG_SCHED_TRACER is not set
1034# CONFIG_CONTEXT_SWITCH_TRACER is not set 1062# CONFIG_CONTEXT_SWITCH_TRACER is not set
1063# CONFIG_EVENT_TRACER is not set
1035# CONFIG_BOOT_TRACER is not set 1064# CONFIG_BOOT_TRACER is not set
1036# CONFIG_TRACE_BRANCH_PROFILING is not set 1065# CONFIG_TRACE_BRANCH_PROFILING is not set
1037# CONFIG_STACK_TRACER is not set 1066# CONFIG_STACK_TRACER is not set
1038# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1067# CONFIG_KMEMTRACE is not set
1068# CONFIG_WORKQUEUE_TRACER is not set
1069# CONFIG_BLK_DEV_IO_TRACE is not set
1039# CONFIG_SAMPLES is not set 1070# CONFIG_SAMPLES is not set
1040CONFIG_HAVE_ARCH_KGDB=y 1071CONFIG_HAVE_ARCH_KGDB=y
1041CONFIG_PRINT_STACK_DEPTH=64 1072CONFIG_PRINT_STACK_DEPTH=64
1042# CONFIG_DEBUG_STACKOVERFLOW is not set 1073# CONFIG_DEBUG_STACKOVERFLOW is not set
1043# CONFIG_DEBUG_STACK_USAGE is not set 1074# CONFIG_DEBUG_STACK_USAGE is not set
1044# CONFIG_DEBUG_PAGEALLOC is not set
1045# CONFIG_CODE_PATCHING_SELFTEST is not set 1075# CONFIG_CODE_PATCHING_SELFTEST is not set
1046# CONFIG_FTR_FIXUP_SELFTEST is not set 1076# CONFIG_FTR_FIXUP_SELFTEST is not set
1047# CONFIG_MSI_BITMAP_SELFTEST is not set 1077# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1072,9 +1102,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1072CONFIG_CRYPTO_HASH=y 1102CONFIG_CRYPTO_HASH=y
1073CONFIG_CRYPTO_HASH2=y 1103CONFIG_CRYPTO_HASH2=y
1074CONFIG_CRYPTO_RNG2=y 1104CONFIG_CRYPTO_RNG2=y
1105CONFIG_CRYPTO_PCOMP=y
1075CONFIG_CRYPTO_MANAGER=y 1106CONFIG_CRYPTO_MANAGER=y
1076CONFIG_CRYPTO_MANAGER2=y 1107CONFIG_CRYPTO_MANAGER2=y
1077# CONFIG_CRYPTO_NULL is not set 1108# CONFIG_CRYPTO_NULL is not set
1109CONFIG_CRYPTO_WORKQUEUE=y
1078# CONFIG_CRYPTO_CRYPTD is not set 1110# CONFIG_CRYPTO_CRYPTD is not set
1079# CONFIG_CRYPTO_AUTHENC is not set 1111# CONFIG_CRYPTO_AUTHENC is not set
1080 1112
@@ -1138,6 +1170,7 @@ CONFIG_CRYPTO_DES=y
1138# Compression 1170# Compression
1139# 1171#
1140# CONFIG_CRYPTO_DEFLATE is not set 1172# CONFIG_CRYPTO_DEFLATE is not set
1173# CONFIG_CRYPTO_ZLIB is not set
1141# CONFIG_CRYPTO_LZO is not set 1174# CONFIG_CRYPTO_LZO is not set
1142 1175
1143# 1176#
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index 45f03cad8db6..433c303eb82b 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:36 2009 4# Wed May 13 17:21:58 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 19# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set 20# CONFIG_ALTIVEC is not set
@@ -58,6 +59,7 @@ CONFIG_REDBOOT=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 59CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
62 64
63# 65#
@@ -75,6 +77,15 @@ CONFIG_SYSVIPC_SYSCTL=y
75# CONFIG_BSD_PROCESS_ACCT is not set 77# CONFIG_BSD_PROCESS_ACCT is not set
76# CONFIG_TASKSTATS is not set 78# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 79# CONFIG_AUDIT is not set
80
81#
82# RCU Subsystem
83#
84CONFIG_CLASSIC_RCU=y
85# CONFIG_TREE_RCU is not set
86# CONFIG_PREEMPT_RCU is not set
87# CONFIG_TREE_RCU_TRACE is not set
88# CONFIG_PREEMPT_RCU_TRACE is not set
78# CONFIG_IKCONFIG is not set 89# CONFIG_IKCONFIG is not set
79CONFIG_LOG_BUF_SHIFT=14 90CONFIG_LOG_BUF_SHIFT=14
80CONFIG_GROUP_SCHED=y 91CONFIG_GROUP_SCHED=y
@@ -89,20 +100,23 @@ CONFIG_SYSFS_DEPRECATED_V2=y
89# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
90CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
91CONFIG_INITRAMFS_SOURCE="" 102CONFIG_INITRAMFS_SOURCE=""
103CONFIG_RD_GZIP=y
104# CONFIG_RD_BZIP2 is not set
105# CONFIG_RD_LZMA is not set
92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 106# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
93CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
108CONFIG_ANON_INODES=y
94CONFIG_EMBEDDED=y 109CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 110CONFIG_SYSCTL_SYSCALL=y
96CONFIG_KALLSYMS=y 111CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_EXTRA_PASS is not set 112# CONFIG_KALLSYMS_EXTRA_PASS is not set
113# CONFIG_STRIP_ASM_SYMS is not set
98CONFIG_HOTPLUG=y 114CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 115CONFIG_PRINTK=y
100CONFIG_BUG=y 116CONFIG_BUG=y
101CONFIG_ELF_CORE=y 117CONFIG_ELF_CORE=y
102CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 118CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 119CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106# CONFIG_EPOLL is not set 120# CONFIG_EPOLL is not set
107CONFIG_SIGNALFD=y 121CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 122CONFIG_TIMERFD=y
@@ -111,10 +125,12 @@ CONFIG_SHMEM=y
111CONFIG_AIO=y 125CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 126CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y 127CONFIG_PCI_QUIRKS=y
128CONFIG_COMPAT_BRK=y
114CONFIG_SLAB=y 129CONFIG_SLAB=y
115# CONFIG_SLUB is not set 130# CONFIG_SLUB is not set
116# CONFIG_SLOB is not set 131# CONFIG_SLOB is not set
117# CONFIG_PROFILING is not set 132# CONFIG_PROFILING is not set
133# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y 134CONFIG_HAVE_OPROFILE=y
119# CONFIG_KPROBES is not set 135# CONFIG_KPROBES is not set
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -122,6 +138,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 138CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
141# CONFIG_SLOW_WORK is not set
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 142# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 143CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 144CONFIG_RT_MUTEXES=y
@@ -134,7 +151,6 @@ CONFIG_MODULE_UNLOAD=y
134# CONFIG_MODULE_SRCVERSION_ALL is not set 151# CONFIG_MODULE_SRCVERSION_ALL is not set
135CONFIG_BLOCK=y 152CONFIG_BLOCK=y
136# CONFIG_LBD is not set 153# CONFIG_LBD is not set
137# CONFIG_BLK_DEV_IO_TRACE is not set
138# CONFIG_BLK_DEV_BSG is not set 154# CONFIG_BLK_DEV_BSG is not set
139# CONFIG_BLK_DEV_INTEGRITY is not set 155# CONFIG_BLK_DEV_INTEGRITY is not set
140 156
@@ -150,18 +166,11 @@ CONFIG_DEFAULT_AS=y
150# CONFIG_DEFAULT_CFQ is not set 166# CONFIG_DEFAULT_CFQ is not set
151# CONFIG_DEFAULT_NOOP is not set 167# CONFIG_DEFAULT_NOOP is not set
152CONFIG_DEFAULT_IOSCHED="anticipatory" 168CONFIG_DEFAULT_IOSCHED="anticipatory"
153CONFIG_CLASSIC_RCU=y
154# CONFIG_TREE_RCU is not set
155# CONFIG_PREEMPT_RCU is not set
156# CONFIG_TREE_RCU_TRACE is not set
157# CONFIG_PREEMPT_RCU_TRACE is not set
158# CONFIG_FREEZER is not set 169# CONFIG_FREEZER is not set
159 170
160# 171#
161# Platform support 172# Platform support
162# 173#
163CONFIG_PPC_MULTIPLATFORM=y
164CONFIG_CLASSIC32=y
165# CONFIG_PPC_CHRP is not set 174# CONFIG_PPC_CHRP is not set
166# CONFIG_MPC5121_ADS is not set 175# CONFIG_MPC5121_ADS is not set
167# CONFIG_MPC5121_GENERIC is not set 176# CONFIG_MPC5121_GENERIC is not set
@@ -189,6 +198,8 @@ CONFIG_PPC_MPC834x=y
189CONFIG_PPC_MPC837x=y 198CONFIG_PPC_MPC837x=y
190# CONFIG_PPC_86xx is not set 199# CONFIG_PPC_86xx is not set
191# CONFIG_EMBEDDED6xx is not set 200# CONFIG_EMBEDDED6xx is not set
201# CONFIG_AMIGAONE is not set
202CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
192CONFIG_IPIC=y 203CONFIG_IPIC=y
193# CONFIG_MPIC is not set 204# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 205# CONFIG_MPIC_WEIRD is not set
@@ -251,9 +262,12 @@ CONFIG_ZONE_DMA_FLAG=1
251CONFIG_BOUNCE=y 262CONFIG_BOUNCE=y
252CONFIG_VIRT_TO_BUS=y 263CONFIG_VIRT_TO_BUS=y
253CONFIG_UNEVICTABLE_LRU=y 264CONFIG_UNEVICTABLE_LRU=y
265CONFIG_HAVE_MLOCK=y
266CONFIG_HAVE_MLOCKED_PAGE_BIT=y
254CONFIG_PPC_4K_PAGES=y 267CONFIG_PPC_4K_PAGES=y
255# CONFIG_PPC_16K_PAGES is not set 268# CONFIG_PPC_16K_PAGES is not set
256# CONFIG_PPC_64K_PAGES is not set 269# CONFIG_PPC_64K_PAGES is not set
270# CONFIG_PPC_256K_PAGES is not set
257CONFIG_FORCE_MAX_ZONEORDER=11 271CONFIG_FORCE_MAX_ZONEORDER=11
258CONFIG_PROC_DEVICETREE=y 272CONFIG_PROC_DEVICETREE=y
259# CONFIG_CMDLINE_BOOL is not set 273# CONFIG_CMDLINE_BOOL is not set
@@ -281,6 +295,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
281# CONFIG_PCI_MSI is not set 295# CONFIG_PCI_MSI is not set
282# CONFIG_PCI_LEGACY is not set 296# CONFIG_PCI_LEGACY is not set
283# CONFIG_PCI_STUB is not set 297# CONFIG_PCI_STUB is not set
298# CONFIG_PCI_IOV is not set
284# CONFIG_PCCARD is not set 299# CONFIG_PCCARD is not set
285# CONFIG_HOTPLUG_PCI is not set 300# CONFIG_HOTPLUG_PCI is not set
286# CONFIG_HAS_RAPIDIO is not set 301# CONFIG_HAS_RAPIDIO is not set
@@ -303,7 +318,6 @@ CONFIG_NET=y
303# 318#
304# Networking options 319# Networking options
305# 320#
306CONFIG_COMPAT_NET_DEV_OPS=y
307CONFIG_PACKET=y 321CONFIG_PACKET=y
308# CONFIG_PACKET_MMAP is not set 322# CONFIG_PACKET_MMAP is not set
309CONFIG_UNIX=y 323CONFIG_UNIX=y
@@ -359,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359# CONFIG_LAPB is not set 373# CONFIG_LAPB is not set
360# CONFIG_ECONET is not set 374# CONFIG_ECONET is not set
361# CONFIG_WAN_ROUTER is not set 375# CONFIG_WAN_ROUTER is not set
376# CONFIG_PHONET is not set
362# CONFIG_NET_SCHED is not set 377# CONFIG_NET_SCHED is not set
363# CONFIG_DCB is not set 378# CONFIG_DCB is not set
364 379
@@ -371,7 +386,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
371# CONFIG_IRDA is not set 386# CONFIG_IRDA is not set
372# CONFIG_BT is not set 387# CONFIG_BT is not set
373# CONFIG_AF_RXRPC is not set 388# CONFIG_AF_RXRPC is not set
374# CONFIG_PHONET is not set
375CONFIG_WIRELESS=y 389CONFIG_WIRELESS=y
376# CONFIG_CFG80211 is not set 390# CONFIG_CFG80211 is not set
377CONFIG_WIRELESS_OLD_REGULATORY=y 391CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -485,7 +499,6 @@ CONFIG_MTD_NAND_FSL_ELBC=y
485# LPDDR flash memory drivers 499# LPDDR flash memory drivers
486# 500#
487# CONFIG_MTD_LPDDR is not set 501# CONFIG_MTD_LPDDR is not set
488# CONFIG_MTD_QINFO_PROBE is not set
489 502
490# 503#
491# UBI - Unsorted block images 504# UBI - Unsorted block images
@@ -516,13 +529,20 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
516# CONFIG_BLK_DEV_HD is not set 529# CONFIG_BLK_DEV_HD is not set
517CONFIG_MISC_DEVICES=y 530CONFIG_MISC_DEVICES=y
518# CONFIG_PHANTOM is not set 531# CONFIG_PHANTOM is not set
519# CONFIG_EEPROM_93CX6 is not set
520# CONFIG_SGI_IOC4 is not set 532# CONFIG_SGI_IOC4 is not set
521# CONFIG_TIFM_CORE is not set 533# CONFIG_TIFM_CORE is not set
522# CONFIG_ICS932S401 is not set 534# CONFIG_ICS932S401 is not set
523# CONFIG_ENCLOSURE_SERVICES is not set 535# CONFIG_ENCLOSURE_SERVICES is not set
524# CONFIG_HP_ILO is not set 536# CONFIG_HP_ILO is not set
537# CONFIG_ISL29003 is not set
525# CONFIG_C2PORT is not set 538# CONFIG_C2PORT is not set
539
540#
541# EEPROM support
542#
543# CONFIG_EEPROM_AT24 is not set
544# CONFIG_EEPROM_LEGACY is not set
545# CONFIG_EEPROM_93CX6 is not set
526CONFIG_HAVE_IDE=y 546CONFIG_HAVE_IDE=y
527# CONFIG_IDE is not set 547# CONFIG_IDE is not set
528 548
@@ -580,9 +600,11 @@ CONFIG_SCSI_LOWLEVEL=y
580# CONFIG_MEGARAID_NEWGEN is not set 600# CONFIG_MEGARAID_NEWGEN is not set
581# CONFIG_MEGARAID_LEGACY is not set 601# CONFIG_MEGARAID_LEGACY is not set
582# CONFIG_MEGARAID_SAS is not set 602# CONFIG_MEGARAID_SAS is not set
603# CONFIG_SCSI_MPT2SAS is not set
583# CONFIG_SCSI_HPTIOP is not set 604# CONFIG_SCSI_HPTIOP is not set
584# CONFIG_SCSI_BUSLOGIC is not set 605# CONFIG_SCSI_BUSLOGIC is not set
585# CONFIG_LIBFC is not set 606# CONFIG_LIBFC is not set
607# CONFIG_LIBFCOE is not set
586# CONFIG_FCOE is not set 608# CONFIG_FCOE is not set
587# CONFIG_SCSI_DMX3191D is not set 609# CONFIG_SCSI_DMX3191D is not set
588# CONFIG_SCSI_EATA is not set 610# CONFIG_SCSI_EATA is not set
@@ -605,6 +627,7 @@ CONFIG_SCSI_LOWLEVEL=y
605# CONFIG_SCSI_DEBUG is not set 627# CONFIG_SCSI_DEBUG is not set
606# CONFIG_SCSI_SRP is not set 628# CONFIG_SCSI_SRP is not set
607# CONFIG_SCSI_DH is not set 629# CONFIG_SCSI_DH is not set
630# CONFIG_SCSI_OSD_INITIATOR is not set
608CONFIG_ATA=y 631CONFIG_ATA=y
609# CONFIG_ATA_NONSTANDARD is not set 632# CONFIG_ATA_NONSTANDARD is not set
610CONFIG_SATA_PMP=y 633CONFIG_SATA_PMP=y
@@ -681,6 +704,7 @@ CONFIG_ATA_SFF=y
681# CONFIG_I2O is not set 704# CONFIG_I2O is not set
682# CONFIG_MACINTOSH_DRIVERS is not set 705# CONFIG_MACINTOSH_DRIVERS is not set
683CONFIG_NETDEVICES=y 706CONFIG_NETDEVICES=y
707CONFIG_COMPAT_NET_DEV_OPS=y
684# CONFIG_DUMMY is not set 708# CONFIG_DUMMY is not set
685# CONFIG_BONDING is not set 709# CONFIG_BONDING is not set
686# CONFIG_MACVLAN is not set 710# CONFIG_MACVLAN is not set
@@ -714,6 +738,8 @@ CONFIG_MII=y
714# CONFIG_SUNGEM is not set 738# CONFIG_SUNGEM is not set
715# CONFIG_CASSINI is not set 739# CONFIG_CASSINI is not set
716# CONFIG_NET_VENDOR_3COM is not set 740# CONFIG_NET_VENDOR_3COM is not set
741# CONFIG_ETHOC is not set
742# CONFIG_DNET is not set
717# CONFIG_NET_TULIP is not set 743# CONFIG_NET_TULIP is not set
718# CONFIG_HP100 is not set 744# CONFIG_HP100 is not set
719# CONFIG_IBM_NEW_EMAC_ZMII is not set 745# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -733,6 +759,7 @@ CONFIG_NETDEV_1000=y
733# CONFIG_E1000E is not set 759# CONFIG_E1000E is not set
734# CONFIG_IP1000 is not set 760# CONFIG_IP1000 is not set
735# CONFIG_IGB is not set 761# CONFIG_IGB is not set
762# CONFIG_IGBVF is not set
736# CONFIG_NS83820 is not set 763# CONFIG_NS83820 is not set
737# CONFIG_HAMACHI is not set 764# CONFIG_HAMACHI is not set
738# CONFIG_YELLOWFIN is not set 765# CONFIG_YELLOWFIN is not set
@@ -743,14 +770,15 @@ CONFIG_NETDEV_1000=y
743# CONFIG_VIA_VELOCITY is not set 770# CONFIG_VIA_VELOCITY is not set
744# CONFIG_TIGON3 is not set 771# CONFIG_TIGON3 is not set
745# CONFIG_BNX2 is not set 772# CONFIG_BNX2 is not set
773CONFIG_FSL_PQ_MDIO=y
746CONFIG_GIANFAR=y 774CONFIG_GIANFAR=y
747CONFIG_UCC_GETH=y 775CONFIG_UCC_GETH=y
748# CONFIG_UGETH_MAGIC_PACKET is not set 776# CONFIG_UGETH_MAGIC_PACKET is not set
749# CONFIG_UGETH_TX_ON_DEMAND is not set 777# CONFIG_UGETH_TX_ON_DEMAND is not set
750# CONFIG_MV643XX_ETH is not set
751# CONFIG_QLA3XXX is not set 778# CONFIG_QLA3XXX is not set
752# CONFIG_ATL1 is not set 779# CONFIG_ATL1 is not set
753# CONFIG_ATL1E is not set 780# CONFIG_ATL1E is not set
781# CONFIG_ATL1C is not set
754# CONFIG_JME is not set 782# CONFIG_JME is not set
755CONFIG_NETDEV_10000=y 783CONFIG_NETDEV_10000=y
756# CONFIG_CHELSIO_T1 is not set 784# CONFIG_CHELSIO_T1 is not set
@@ -760,6 +788,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
760# CONFIG_IXGBE is not set 788# CONFIG_IXGBE is not set
761# CONFIG_IXGB is not set 789# CONFIG_IXGB is not set
762# CONFIG_S2IO is not set 790# CONFIG_S2IO is not set
791# CONFIG_VXGE is not set
763# CONFIG_MYRI10GE is not set 792# CONFIG_MYRI10GE is not set
764# CONFIG_NETXEN_NIC is not set 793# CONFIG_NETXEN_NIC is not set
765# CONFIG_NIU is not set 794# CONFIG_NIU is not set
@@ -769,6 +798,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
769# CONFIG_BNX2X is not set 798# CONFIG_BNX2X is not set
770# CONFIG_QLGE is not set 799# CONFIG_QLGE is not set
771# CONFIG_SFC is not set 800# CONFIG_SFC is not set
801# CONFIG_BE2NET is not set
772# CONFIG_TR is not set 802# CONFIG_TR is not set
773 803
774# 804#
@@ -776,7 +806,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
776# 806#
777# CONFIG_WLAN_PRE80211 is not set 807# CONFIG_WLAN_PRE80211 is not set
778# CONFIG_WLAN_80211 is not set 808# CONFIG_WLAN_80211 is not set
779# CONFIG_IWLWIFI_LEDS is not set
780 809
781# 810#
782# Enable WiMAX (Networking options) to see the WiMAX drivers 811# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -867,6 +896,7 @@ CONFIG_LEGACY_PTY_COUNT=256
867# CONFIG_HVC_UDBG is not set 896# CONFIG_HVC_UDBG is not set
868# CONFIG_IPMI_HANDLER is not set 897# CONFIG_IPMI_HANDLER is not set
869CONFIG_HW_RANDOM=y 898CONFIG_HW_RANDOM=y
899# CONFIG_HW_RANDOM_TIMERIOMEM is not set
870# CONFIG_NVRAM is not set 900# CONFIG_NVRAM is not set
871CONFIG_GEN_RTC=y 901CONFIG_GEN_RTC=y
872# CONFIG_GEN_RTC_X is not set 902# CONFIG_GEN_RTC_X is not set
@@ -932,12 +962,9 @@ CONFIG_I2C_MPC=y
932# Miscellaneous I2C Chip support 962# Miscellaneous I2C Chip support
933# 963#
934# CONFIG_DS1682 is not set 964# CONFIG_DS1682 is not set
935# CONFIG_EEPROM_AT24 is not set
936# CONFIG_EEPROM_LEGACY is not set
937# CONFIG_SENSORS_PCF8574 is not set 965# CONFIG_SENSORS_PCF8574 is not set
938# CONFIG_PCF8575 is not set 966# CONFIG_PCF8575 is not set
939# CONFIG_SENSORS_PCA9539 is not set 967# CONFIG_SENSORS_PCA9539 is not set
940# CONFIG_SENSORS_PCF8591 is not set
941# CONFIG_SENSORS_MAX6875 is not set 968# CONFIG_SENSORS_MAX6875 is not set
942# CONFIG_SENSORS_TSL2550 is not set 969# CONFIG_SENSORS_TSL2550 is not set
943# CONFIG_I2C_DEBUG_CORE is not set 970# CONFIG_I2C_DEBUG_CORE is not set
@@ -992,6 +1019,7 @@ CONFIG_HWMON=y
992# CONFIG_SENSORS_F71805F is not set 1019# CONFIG_SENSORS_F71805F is not set
993# CONFIG_SENSORS_F71882FG is not set 1020# CONFIG_SENSORS_F71882FG is not set
994# CONFIG_SENSORS_F75375S is not set 1021# CONFIG_SENSORS_F75375S is not set
1022# CONFIG_SENSORS_G760A is not set
995# CONFIG_SENSORS_GL518SM is not set 1023# CONFIG_SENSORS_GL518SM is not set
996# CONFIG_SENSORS_GL520SM is not set 1024# CONFIG_SENSORS_GL520SM is not set
997# CONFIG_SENSORS_IT87 is not set 1025# CONFIG_SENSORS_IT87 is not set
@@ -1006,11 +1034,15 @@ CONFIG_HWMON=y
1006# CONFIG_SENSORS_LM90 is not set 1034# CONFIG_SENSORS_LM90 is not set
1007# CONFIG_SENSORS_LM92 is not set 1035# CONFIG_SENSORS_LM92 is not set
1008# CONFIG_SENSORS_LM93 is not set 1036# CONFIG_SENSORS_LM93 is not set
1037# CONFIG_SENSORS_LTC4215 is not set
1009# CONFIG_SENSORS_LTC4245 is not set 1038# CONFIG_SENSORS_LTC4245 is not set
1039# CONFIG_SENSORS_LM95241 is not set
1010# CONFIG_SENSORS_MAX1619 is not set 1040# CONFIG_SENSORS_MAX1619 is not set
1011# CONFIG_SENSORS_MAX6650 is not set 1041# CONFIG_SENSORS_MAX6650 is not set
1012# CONFIG_SENSORS_PC87360 is not set 1042# CONFIG_SENSORS_PC87360 is not set
1013# CONFIG_SENSORS_PC87427 is not set 1043# CONFIG_SENSORS_PC87427 is not set
1044# CONFIG_SENSORS_PCF8591 is not set
1045# CONFIG_SENSORS_SHT15 is not set
1014# CONFIG_SENSORS_SIS5595 is not set 1046# CONFIG_SENSORS_SIS5595 is not set
1015# CONFIG_SENSORS_DME1737 is not set 1047# CONFIG_SENSORS_DME1737 is not set
1016# CONFIG_SENSORS_SMSC47M1 is not set 1048# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1121,15 +1153,17 @@ CONFIG_USB_HID=y
1121# 1153#
1122# Special HID drivers 1154# Special HID drivers
1123# 1155#
1124CONFIG_HID_COMPAT=y
1125CONFIG_HID_A4TECH=y 1156CONFIG_HID_A4TECH=y
1126CONFIG_HID_APPLE=y 1157CONFIG_HID_APPLE=y
1127CONFIG_HID_BELKIN=y 1158CONFIG_HID_BELKIN=y
1128CONFIG_HID_CHERRY=y 1159CONFIG_HID_CHERRY=y
1129CONFIG_HID_CHICONY=y 1160CONFIG_HID_CHICONY=y
1130CONFIG_HID_CYPRESS=y 1161CONFIG_HID_CYPRESS=y
1162# CONFIG_DRAGONRISE_FF is not set
1131CONFIG_HID_EZKEY=y 1163CONFIG_HID_EZKEY=y
1164# CONFIG_HID_KYE is not set
1132CONFIG_HID_GYRATION=y 1165CONFIG_HID_GYRATION=y
1166# CONFIG_HID_KENSINGTON is not set
1133CONFIG_HID_LOGITECH=y 1167CONFIG_HID_LOGITECH=y
1134# CONFIG_LOGITECH_FF is not set 1168# CONFIG_LOGITECH_FF is not set
1135# CONFIG_LOGIRUMBLEPAD2_FF is not set 1169# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1181,6 +1215,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1181# CONFIG_USB_ISP1760_HCD is not set 1215# CONFIG_USB_ISP1760_HCD is not set
1182# CONFIG_USB_OHCI_HCD is not set 1216# CONFIG_USB_OHCI_HCD is not set
1183# CONFIG_USB_UHCI_HCD is not set 1217# CONFIG_USB_UHCI_HCD is not set
1218# CONFIG_USB_FHCI_HCD is not set
1184# CONFIG_USB_SL811_HCD is not set 1219# CONFIG_USB_SL811_HCD is not set
1185# CONFIG_USB_R8A66597_HCD is not set 1220# CONFIG_USB_R8A66597_HCD is not set
1186# CONFIG_USB_WHCI_HCD is not set 1221# CONFIG_USB_WHCI_HCD is not set
@@ -1195,11 +1230,11 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1195# CONFIG_USB_TMC is not set 1230# CONFIG_USB_TMC is not set
1196 1231
1197# 1232#
1198# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1233# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1199# 1234#
1200 1235
1201# 1236#
1202# see USB_STORAGE Help for more information 1237# also be needed; see USB_STORAGE Help for more info
1203# 1238#
1204# CONFIG_USB_STORAGE is not set 1239# CONFIG_USB_STORAGE is not set
1205# CONFIG_USB_LIBUSUAL is not set 1240# CONFIG_USB_LIBUSUAL is not set
@@ -1229,7 +1264,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1229# CONFIG_USB_LED is not set 1264# CONFIG_USB_LED is not set
1230# CONFIG_USB_CYPRESS_CY7C63 is not set 1265# CONFIG_USB_CYPRESS_CY7C63 is not set
1231# CONFIG_USB_CYTHERM is not set 1266# CONFIG_USB_CYTHERM is not set
1232# CONFIG_USB_PHIDGET is not set
1233# CONFIG_USB_IDMOUSE is not set 1267# CONFIG_USB_IDMOUSE is not set
1234# CONFIG_USB_FTDI_ELAN is not set 1268# CONFIG_USB_FTDI_ELAN is not set
1235# CONFIG_USB_APPLEDISPLAY is not set 1269# CONFIG_USB_APPLEDISPLAY is not set
@@ -1245,6 +1279,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1245# OTG and related infrastructure 1279# OTG and related infrastructure
1246# 1280#
1247# CONFIG_USB_GPIO_VBUS is not set 1281# CONFIG_USB_GPIO_VBUS is not set
1282# CONFIG_NOP_USB_XCEIV is not set
1248# CONFIG_UWB is not set 1283# CONFIG_UWB is not set
1249# CONFIG_MMC is not set 1284# CONFIG_MMC is not set
1250# CONFIG_MEMSTICK is not set 1285# CONFIG_MEMSTICK is not set
@@ -1254,6 +1289,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1254# CONFIG_EDAC is not set 1289# CONFIG_EDAC is not set
1255# CONFIG_RTC_CLASS is not set 1290# CONFIG_RTC_CLASS is not set
1256# CONFIG_DMADEVICES is not set 1291# CONFIG_DMADEVICES is not set
1292# CONFIG_AUXDISPLAY is not set
1257# CONFIG_UIO is not set 1293# CONFIG_UIO is not set
1258# CONFIG_STAGING is not set 1294# CONFIG_STAGING is not set
1259 1295
@@ -1264,6 +1300,7 @@ CONFIG_EXT2_FS=y
1264# CONFIG_EXT2_FS_XATTR is not set 1300# CONFIG_EXT2_FS_XATTR is not set
1265# CONFIG_EXT2_FS_XIP is not set 1301# CONFIG_EXT2_FS_XIP is not set
1266CONFIG_EXT3_FS=y 1302CONFIG_EXT3_FS=y
1303# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1267CONFIG_EXT3_FS_XATTR=y 1304CONFIG_EXT3_FS_XATTR=y
1268# CONFIG_EXT3_FS_POSIX_ACL is not set 1305# CONFIG_EXT3_FS_POSIX_ACL is not set
1269# CONFIG_EXT3_FS_SECURITY is not set 1306# CONFIG_EXT3_FS_SECURITY is not set
@@ -1286,6 +1323,11 @@ CONFIG_INOTIFY_USER=y
1286# CONFIG_FUSE_FS is not set 1323# CONFIG_FUSE_FS is not set
1287 1324
1288# 1325#
1326# Caches
1327#
1328# CONFIG_FSCACHE is not set
1329
1330#
1289# CD-ROM/DVD Filesystems 1331# CD-ROM/DVD Filesystems
1290# 1332#
1291# CONFIG_ISO9660_FS is not set 1333# CONFIG_ISO9660_FS is not set
@@ -1329,6 +1371,7 @@ CONFIG_MISC_FILESYSTEMS=y
1329# CONFIG_ROMFS_FS is not set 1371# CONFIG_ROMFS_FS is not set
1330# CONFIG_SYSV_FS is not set 1372# CONFIG_SYSV_FS is not set
1331# CONFIG_UFS_FS is not set 1373# CONFIG_UFS_FS is not set
1374# CONFIG_NILFS2_FS is not set
1332CONFIG_NETWORK_FILESYSTEMS=y 1375CONFIG_NETWORK_FILESYSTEMS=y
1333CONFIG_NFS_FS=y 1376CONFIG_NFS_FS=y
1334CONFIG_NFS_V3=y 1377CONFIG_NFS_V3=y
@@ -1341,7 +1384,6 @@ CONFIG_LOCKD_V4=y
1341CONFIG_NFS_COMMON=y 1384CONFIG_NFS_COMMON=y
1342CONFIG_SUNRPC=y 1385CONFIG_SUNRPC=y
1343CONFIG_SUNRPC_GSS=y 1386CONFIG_SUNRPC_GSS=y
1344# CONFIG_SUNRPC_REGISTER_V4 is not set
1345CONFIG_RPCSEC_GSS_KRB5=y 1387CONFIG_RPCSEC_GSS_KRB5=y
1346# CONFIG_RPCSEC_GSS_SPKM3 is not set 1388# CONFIG_RPCSEC_GSS_SPKM3 is not set
1347# CONFIG_SMB_FS is not set 1389# CONFIG_SMB_FS is not set
@@ -1375,6 +1417,7 @@ CONFIG_MSDOS_PARTITION=y
1375# CONFIG_DLM is not set 1417# CONFIG_DLM is not set
1376CONFIG_UCC_FAST=y 1418CONFIG_UCC_FAST=y
1377CONFIG_UCC=y 1419CONFIG_UCC=y
1420# CONFIG_BINARY_PRINTF is not set
1378 1421
1379# 1422#
1380# Library routines 1423# Library routines
@@ -1388,11 +1431,13 @@ CONFIG_CRC_T10DIF=y
1388CONFIG_CRC32=y 1431CONFIG_CRC32=y
1389# CONFIG_CRC7 is not set 1432# CONFIG_CRC7 is not set
1390# CONFIG_LIBCRC32C is not set 1433# CONFIG_LIBCRC32C is not set
1391CONFIG_PLIST=y 1434CONFIG_ZLIB_INFLATE=y
1435CONFIG_DECOMPRESS_GZIP=y
1392CONFIG_HAS_IOMEM=y 1436CONFIG_HAS_IOMEM=y
1393CONFIG_HAS_IOPORT=y 1437CONFIG_HAS_IOPORT=y
1394CONFIG_HAS_DMA=y 1438CONFIG_HAS_DMA=y
1395CONFIG_HAVE_LMB=y 1439CONFIG_HAVE_LMB=y
1440CONFIG_NLATTR=y
1396 1441
1397# 1442#
1398# Kernel hacking 1443# Kernel hacking
@@ -1412,13 +1457,24 @@ CONFIG_FRAME_WARN=1024
1412# CONFIG_LATENCYTOP is not set 1457# CONFIG_LATENCYTOP is not set
1413CONFIG_SYSCTL_SYSCALL_CHECK=y 1458CONFIG_SYSCTL_SYSCALL_CHECK=y
1414CONFIG_HAVE_FUNCTION_TRACER=y 1459CONFIG_HAVE_FUNCTION_TRACER=y
1460CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1415CONFIG_HAVE_DYNAMIC_FTRACE=y 1461CONFIG_HAVE_DYNAMIC_FTRACE=y
1416CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1462CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1463CONFIG_TRACING_SUPPORT=y
1417 1464
1418# 1465#
1419# Tracers 1466# Tracers
1420# 1467#
1421# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1468# CONFIG_FUNCTION_TRACER is not set
1469# CONFIG_SCHED_TRACER is not set
1470# CONFIG_CONTEXT_SWITCH_TRACER is not set
1471# CONFIG_EVENT_TRACER is not set
1472# CONFIG_BOOT_TRACER is not set
1473# CONFIG_TRACE_BRANCH_PROFILING is not set
1474# CONFIG_STACK_TRACER is not set
1475# CONFIG_KMEMTRACE is not set
1476# CONFIG_WORKQUEUE_TRACER is not set
1477# CONFIG_BLK_DEV_IO_TRACE is not set
1422# CONFIG_SAMPLES is not set 1478# CONFIG_SAMPLES is not set
1423CONFIG_HAVE_ARCH_KGDB=y 1479CONFIG_HAVE_ARCH_KGDB=y
1424CONFIG_PRINT_STACK_DEPTH=64 1480CONFIG_PRINT_STACK_DEPTH=64
@@ -1448,10 +1504,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1448CONFIG_CRYPTO_HASH=y 1504CONFIG_CRYPTO_HASH=y
1449CONFIG_CRYPTO_HASH2=y 1505CONFIG_CRYPTO_HASH2=y
1450CONFIG_CRYPTO_RNG2=y 1506CONFIG_CRYPTO_RNG2=y
1507CONFIG_CRYPTO_PCOMP=y
1451CONFIG_CRYPTO_MANAGER=y 1508CONFIG_CRYPTO_MANAGER=y
1452CONFIG_CRYPTO_MANAGER2=y 1509CONFIG_CRYPTO_MANAGER2=y
1453# CONFIG_CRYPTO_GF128MUL is not set 1510# CONFIG_CRYPTO_GF128MUL is not set
1454# CONFIG_CRYPTO_NULL is not set 1511# CONFIG_CRYPTO_NULL is not set
1512CONFIG_CRYPTO_WORKQUEUE=y
1455# CONFIG_CRYPTO_CRYPTD is not set 1513# CONFIG_CRYPTO_CRYPTD is not set
1456CONFIG_CRYPTO_AUTHENC=y 1514CONFIG_CRYPTO_AUTHENC=y
1457# CONFIG_CRYPTO_TEST is not set 1515# CONFIG_CRYPTO_TEST is not set
@@ -1520,6 +1578,7 @@ CONFIG_CRYPTO_DES=y
1520# Compression 1578# Compression
1521# 1579#
1522# CONFIG_CRYPTO_DEFLATE is not set 1580# CONFIG_CRYPTO_DEFLATE is not set
1581# CONFIG_CRYPTO_ZLIB is not set
1523# CONFIG_CRYPTO_LZO is not set 1582# CONFIG_CRYPTO_LZO is not set
1524 1583
1525# 1584#
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index 1793d08e9c01..3add6f62b21e 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:38 2009 4# Wed May 13 17:22:00 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -51,6 +51,7 @@ CONFIG_AUDIT_ARCH=y
51# CONFIG_DEFAULT_UIMAGE is not set 51# CONFIG_DEFAULT_UIMAGE is not set
52# CONFIG_PPC_DCR_NATIVE is not set 52# CONFIG_PPC_DCR_NATIVE is not set
53# CONFIG_PPC_DCR_MMIO is not set 53# CONFIG_PPC_DCR_MMIO is not set
54CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
54CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
55 56
56# 57#
@@ -68,6 +69,15 @@ CONFIG_SYSVIPC_SYSCTL=y
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
72
73#
74# RCU Subsystem
75#
76CONFIG_CLASSIC_RCU=y
77# CONFIG_TREE_RCU is not set
78# CONFIG_PREEMPT_RCU is not set
79# CONFIG_TREE_RCU_TRACE is not set
80# CONFIG_PREEMPT_RCU_TRACE is not set
71# CONFIG_IKCONFIG is not set 81# CONFIG_IKCONFIG is not set
72CONFIG_LOG_BUF_SHIFT=14 82CONFIG_LOG_BUF_SHIFT=14
73CONFIG_GROUP_SCHED=y 83CONFIG_GROUP_SCHED=y
@@ -83,18 +93,18 @@ CONFIG_SYSFS_DEPRECATED_V2=y
83# CONFIG_BLK_DEV_INITRD is not set 93# CONFIG_BLK_DEV_INITRD is not set
84# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 94# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
85CONFIG_SYSCTL=y 95CONFIG_SYSCTL=y
96CONFIG_ANON_INODES=y
86CONFIG_EMBEDDED=y 97CONFIG_EMBEDDED=y
87# CONFIG_SYSCTL_SYSCALL is not set 98# CONFIG_SYSCTL_SYSCALL is not set
88CONFIG_KALLSYMS=y 99CONFIG_KALLSYMS=y
89# CONFIG_KALLSYMS_EXTRA_PASS is not set 100# CONFIG_KALLSYMS_EXTRA_PASS is not set
101# CONFIG_STRIP_ASM_SYMS is not set
90# CONFIG_HOTPLUG is not set 102# CONFIG_HOTPLUG is not set
91CONFIG_PRINTK=y 103CONFIG_PRINTK=y
92# CONFIG_BUG is not set 104# CONFIG_BUG is not set
93CONFIG_ELF_CORE=y 105CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
95# CONFIG_BASE_FULL is not set 106# CONFIG_BASE_FULL is not set
96CONFIG_FUTEX=y 107CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y
98# CONFIG_EPOLL is not set 108# CONFIG_EPOLL is not set
99CONFIG_SIGNALFD=y 109CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
@@ -103,10 +113,12 @@ CONFIG_SHMEM=y
103CONFIG_AIO=y 113CONFIG_AIO=y
104# CONFIG_VM_EVENT_COUNTERS is not set 114# CONFIG_VM_EVENT_COUNTERS is not set
105CONFIG_SLUB_DEBUG=y 115CONFIG_SLUB_DEBUG=y
116CONFIG_COMPAT_BRK=y
106# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
107CONFIG_SLUB=y 118CONFIG_SLUB=y
108# CONFIG_SLOB is not set 119# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set 120# CONFIG_PROFILING is not set
121# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y 122CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 123CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
112CONFIG_HAVE_IOREMAP_PROT=y 124CONFIG_HAVE_IOREMAP_PROT=y
@@ -114,6 +126,7 @@ CONFIG_HAVE_KPROBES=y
114CONFIG_HAVE_KRETPROBES=y 126CONFIG_HAVE_KRETPROBES=y
115CONFIG_HAVE_ARCH_TRACEHOOK=y 127CONFIG_HAVE_ARCH_TRACEHOOK=y
116CONFIG_HAVE_CLK=y 128CONFIG_HAVE_CLK=y
129# CONFIG_SLOW_WORK is not set
117# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 131CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
@@ -121,7 +134,6 @@ CONFIG_BASE_SMALL=1
121# CONFIG_MODULES is not set 134# CONFIG_MODULES is not set
122CONFIG_BLOCK=y 135CONFIG_BLOCK=y
123# CONFIG_LBD is not set 136# CONFIG_LBD is not set
124# CONFIG_BLK_DEV_IO_TRACE is not set
125# CONFIG_BLK_DEV_BSG is not set 137# CONFIG_BLK_DEV_BSG is not set
126# CONFIG_BLK_DEV_INTEGRITY is not set 138# CONFIG_BLK_DEV_INTEGRITY is not set
127 139
@@ -137,11 +149,6 @@ CONFIG_DEFAULT_AS=y
137# CONFIG_DEFAULT_CFQ is not set 149# CONFIG_DEFAULT_CFQ is not set
138# CONFIG_DEFAULT_NOOP is not set 150# CONFIG_DEFAULT_NOOP is not set
139CONFIG_DEFAULT_IOSCHED="anticipatory" 151CONFIG_DEFAULT_IOSCHED="anticipatory"
140CONFIG_CLASSIC_RCU=y
141# CONFIG_TREE_RCU is not set
142# CONFIG_PREEMPT_RCU is not set
143# CONFIG_TREE_RCU_TRACE is not set
144# CONFIG_PREEMPT_RCU_TRACE is not set
145# CONFIG_FREEZER is not set 152# CONFIG_FREEZER is not set
146 153
147# 154#
@@ -232,9 +239,12 @@ CONFIG_ZONE_DMA_FLAG=1
232CONFIG_BOUNCE=y 239CONFIG_BOUNCE=y
233CONFIG_VIRT_TO_BUS=y 240CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y 241CONFIG_UNEVICTABLE_LRU=y
242CONFIG_HAVE_MLOCK=y
243CONFIG_HAVE_MLOCKED_PAGE_BIT=y
235CONFIG_PPC_4K_PAGES=y 244CONFIG_PPC_4K_PAGES=y
236# CONFIG_PPC_16K_PAGES is not set 245# CONFIG_PPC_16K_PAGES is not set
237# CONFIG_PPC_64K_PAGES is not set 246# CONFIG_PPC_64K_PAGES is not set
247# CONFIG_PPC_256K_PAGES is not set
238CONFIG_FORCE_MAX_ZONEORDER=11 248CONFIG_FORCE_MAX_ZONEORDER=11
239# CONFIG_PROC_DEVICETREE is not set 249# CONFIG_PROC_DEVICETREE is not set
240# CONFIG_CMDLINE_BOOL is not set 250# CONFIG_CMDLINE_BOOL is not set
@@ -268,14 +278,11 @@ CONFIG_PAGE_OFFSET=0xc0000000
268CONFIG_KERNEL_START=0xc0000000 278CONFIG_KERNEL_START=0xc0000000
269CONFIG_PHYSICAL_START=0x00000000 279CONFIG_PHYSICAL_START=0x00000000
270CONFIG_TASK_SIZE=0x80000000 280CONFIG_TASK_SIZE=0x80000000
271CONFIG_CONSISTENT_START=0xfd000000
272CONFIG_CONSISTENT_SIZE=0x00200000
273CONFIG_NET=y 281CONFIG_NET=y
274 282
275# 283#
276# Networking options 284# Networking options
277# 285#
278CONFIG_COMPAT_NET_DEV_OPS=y
279CONFIG_PACKET=y 286CONFIG_PACKET=y
280# CONFIG_PACKET_MMAP is not set 287# CONFIG_PACKET_MMAP is not set
281CONFIG_UNIX=y 288CONFIG_UNIX=y
@@ -331,6 +338,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
331# CONFIG_LAPB is not set 338# CONFIG_LAPB is not set
332# CONFIG_ECONET is not set 339# CONFIG_ECONET is not set
333# CONFIG_WAN_ROUTER is not set 340# CONFIG_WAN_ROUTER is not set
341# CONFIG_PHONET is not set
334# CONFIG_NET_SCHED is not set 342# CONFIG_NET_SCHED is not set
335# CONFIG_DCB is not set 343# CONFIG_DCB is not set
336 344
@@ -343,7 +351,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_IRDA is not set 351# CONFIG_IRDA is not set
344# CONFIG_BT is not set 352# CONFIG_BT is not set
345# CONFIG_AF_RXRPC is not set 353# CONFIG_AF_RXRPC is not set
346# CONFIG_PHONET is not set
347CONFIG_WIRELESS=y 354CONFIG_WIRELESS=y
348# CONFIG_CFG80211 is not set 355# CONFIG_CFG80211 is not set
349CONFIG_WIRELESS_OLD_REGULATORY=y 356CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -379,9 +386,13 @@ CONFIG_BLK_DEV_LOOP=y
379# CONFIG_ATA_OVER_ETH is not set 386# CONFIG_ATA_OVER_ETH is not set
380# CONFIG_BLK_DEV_HD is not set 387# CONFIG_BLK_DEV_HD is not set
381CONFIG_MISC_DEVICES=y 388CONFIG_MISC_DEVICES=y
382# CONFIG_EEPROM_93CX6 is not set
383# CONFIG_ENCLOSURE_SERVICES is not set 389# CONFIG_ENCLOSURE_SERVICES is not set
384# CONFIG_C2PORT is not set 390# CONFIG_C2PORT is not set
391
392#
393# EEPROM support
394#
395# CONFIG_EEPROM_93CX6 is not set
385CONFIG_HAVE_IDE=y 396CONFIG_HAVE_IDE=y
386# CONFIG_IDE is not set 397# CONFIG_IDE is not set
387 398
@@ -396,6 +407,7 @@ CONFIG_HAVE_IDE=y
396# CONFIG_MD is not set 407# CONFIG_MD is not set
397# CONFIG_MACINTOSH_DRIVERS is not set 408# CONFIG_MACINTOSH_DRIVERS is not set
398CONFIG_NETDEVICES=y 409CONFIG_NETDEVICES=y
410CONFIG_COMPAT_NET_DEV_OPS=y
399# CONFIG_DUMMY is not set 411# CONFIG_DUMMY is not set
400# CONFIG_BONDING is not set 412# CONFIG_BONDING is not set
401# CONFIG_MACVLAN is not set 413# CONFIG_MACVLAN is not set
@@ -424,6 +436,8 @@ CONFIG_FIXED_PHY=y
424# CONFIG_MDIO_BITBANG is not set 436# CONFIG_MDIO_BITBANG is not set
425CONFIG_NET_ETHERNET=y 437CONFIG_NET_ETHERNET=y
426CONFIG_MII=y 438CONFIG_MII=y
439# CONFIG_ETHOC is not set
440# CONFIG_DNET is not set
427# CONFIG_IBM_NEW_EMAC_ZMII is not set 441# CONFIG_IBM_NEW_EMAC_ZMII is not set
428# CONFIG_IBM_NEW_EMAC_RGMII is not set 442# CONFIG_IBM_NEW_EMAC_RGMII is not set
429# CONFIG_IBM_NEW_EMAC_TAH is not set 443# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -437,6 +451,7 @@ CONFIG_FS_ENET_HAS_SCC=y
437CONFIG_FS_ENET_HAS_FEC=y 451CONFIG_FS_ENET_HAS_FEC=y
438CONFIG_FS_ENET_MDIO_FEC=y 452CONFIG_FS_ENET_MDIO_FEC=y
439CONFIG_NETDEV_1000=y 453CONFIG_NETDEV_1000=y
454# CONFIG_FSL_PQ_MDIO is not set
440# CONFIG_GIANFAR is not set 455# CONFIG_GIANFAR is not set
441CONFIG_NETDEV_10000=y 456CONFIG_NETDEV_10000=y
442 457
@@ -445,7 +460,6 @@ CONFIG_NETDEV_10000=y
445# 460#
446# CONFIG_WLAN_PRE80211 is not set 461# CONFIG_WLAN_PRE80211 is not set
447# CONFIG_WLAN_80211 is not set 462# CONFIG_WLAN_80211 is not set
448# CONFIG_IWLWIFI_LEDS is not set
449 463
450# 464#
451# Enable WiMAX (Networking options) to see the WiMAX drivers 465# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -492,7 +506,6 @@ CONFIG_MOUSE_PS2=y
492CONFIG_MOUSE_PS2_ALPS=y 506CONFIG_MOUSE_PS2_ALPS=y
493CONFIG_MOUSE_PS2_LOGIPS2PP=y 507CONFIG_MOUSE_PS2_LOGIPS2PP=y
494CONFIG_MOUSE_PS2_SYNAPTICS=y 508CONFIG_MOUSE_PS2_SYNAPTICS=y
495CONFIG_MOUSE_PS2_LIFEBOOK=y
496CONFIG_MOUSE_PS2_TRACKPOINT=y 509CONFIG_MOUSE_PS2_TRACKPOINT=y
497# CONFIG_MOUSE_PS2_ELANTECH is not set 510# CONFIG_MOUSE_PS2_ELANTECH is not set
498# CONFIG_MOUSE_PS2_TOUCHKIT is not set 511# CONFIG_MOUSE_PS2_TOUCHKIT is not set
@@ -540,6 +553,7 @@ CONFIG_UNIX98_PTYS=y
540# CONFIG_HVC_UDBG is not set 553# CONFIG_HVC_UDBG is not set
541# CONFIG_IPMI_HANDLER is not set 554# CONFIG_IPMI_HANDLER is not set
542CONFIG_HW_RANDOM=y 555CONFIG_HW_RANDOM=y
556# CONFIG_HW_RANDOM_TIMERIOMEM is not set
543# CONFIG_NVRAM is not set 557# CONFIG_NVRAM is not set
544CONFIG_GEN_RTC=y 558CONFIG_GEN_RTC=y
545# CONFIG_GEN_RTC_X is not set 559# CONFIG_GEN_RTC_X is not set
@@ -622,7 +636,6 @@ CONFIG_HID=y
622# 636#
623# Special HID drivers 637# Special HID drivers
624# 638#
625CONFIG_HID_COMPAT=y
626CONFIG_USB_SUPPORT=y 639CONFIG_USB_SUPPORT=y
627# CONFIG_USB_ARCH_HAS_HCD is not set 640# CONFIG_USB_ARCH_HAS_HCD is not set
628# CONFIG_USB_ARCH_HAS_OHCI is not set 641# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -635,7 +648,7 @@ CONFIG_USB_SUPPORT=y
635# 648#
636 649
637# 650#
638# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 651# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
639# 652#
640# CONFIG_USB_GADGET is not set 653# CONFIG_USB_GADGET is not set
641 654
@@ -649,6 +662,7 @@ CONFIG_USB_SUPPORT=y
649# CONFIG_EDAC is not set 662# CONFIG_EDAC is not set
650# CONFIG_RTC_CLASS is not set 663# CONFIG_RTC_CLASS is not set
651# CONFIG_DMADEVICES is not set 664# CONFIG_DMADEVICES is not set
665# CONFIG_AUXDISPLAY is not set
652# CONFIG_UIO is not set 666# CONFIG_UIO is not set
653# CONFIG_STAGING is not set 667# CONFIG_STAGING is not set
654 668
@@ -661,6 +675,7 @@ CONFIG_EXT2_FS_XATTR=y
661# CONFIG_EXT2_FS_SECURITY is not set 675# CONFIG_EXT2_FS_SECURITY is not set
662# CONFIG_EXT2_FS_XIP is not set 676# CONFIG_EXT2_FS_XIP is not set
663CONFIG_EXT3_FS=y 677CONFIG_EXT3_FS=y
678# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
664CONFIG_EXT3_FS_XATTR=y 679CONFIG_EXT3_FS_XATTR=y
665# CONFIG_EXT3_FS_POSIX_ACL is not set 680# CONFIG_EXT3_FS_POSIX_ACL is not set
666# CONFIG_EXT3_FS_SECURITY is not set 681# CONFIG_EXT3_FS_SECURITY is not set
@@ -683,6 +698,11 @@ CONFIG_INOTIFY_USER=y
683# CONFIG_FUSE_FS is not set 698# CONFIG_FUSE_FS is not set
684 699
685# 700#
701# Caches
702#
703# CONFIG_FSCACHE is not set
704
705#
686# CD-ROM/DVD Filesystems 706# CD-ROM/DVD Filesystems
687# 707#
688# CONFIG_ISO9660_FS is not set 708# CONFIG_ISO9660_FS is not set
@@ -725,6 +745,7 @@ CONFIG_CRAMFS=y
725# CONFIG_ROMFS_FS is not set 745# CONFIG_ROMFS_FS is not set
726# CONFIG_SYSV_FS is not set 746# CONFIG_SYSV_FS is not set
727# CONFIG_UFS_FS is not set 747# CONFIG_UFS_FS is not set
748# CONFIG_NILFS2_FS is not set
728CONFIG_NETWORK_FILESYSTEMS=y 749CONFIG_NETWORK_FILESYSTEMS=y
729CONFIG_NFS_FS=y 750CONFIG_NFS_FS=y
730CONFIG_NFS_V3=y 751CONFIG_NFS_V3=y
@@ -736,7 +757,6 @@ CONFIG_LOCKD=y
736CONFIG_LOCKD_V4=y 757CONFIG_LOCKD_V4=y
737CONFIG_NFS_COMMON=y 758CONFIG_NFS_COMMON=y
738CONFIG_SUNRPC=y 759CONFIG_SUNRPC=y
739# CONFIG_SUNRPC_REGISTER_V4 is not set
740# CONFIG_RPCSEC_GSS_KRB5 is not set 760# CONFIG_RPCSEC_GSS_KRB5 is not set
741# CONFIG_RPCSEC_GSS_SPKM3 is not set 761# CONFIG_RPCSEC_GSS_SPKM3 is not set
742# CONFIG_SMB_FS is not set 762# CONFIG_SMB_FS is not set
@@ -768,6 +788,7 @@ CONFIG_MSDOS_PARTITION=y
768# CONFIG_SYSV68_PARTITION is not set 788# CONFIG_SYSV68_PARTITION is not set
769# CONFIG_NLS is not set 789# CONFIG_NLS is not set
770# CONFIG_DLM is not set 790# CONFIG_DLM is not set
791# CONFIG_BINARY_PRINTF is not set
771 792
772# 793#
773# Library routines 794# Library routines
@@ -782,11 +803,11 @@ CONFIG_CRC32=y
782# CONFIG_CRC7 is not set 803# CONFIG_CRC7 is not set
783# CONFIG_LIBCRC32C is not set 804# CONFIG_LIBCRC32C is not set
784CONFIG_ZLIB_INFLATE=y 805CONFIG_ZLIB_INFLATE=y
785CONFIG_PLIST=y
786CONFIG_HAS_IOMEM=y 806CONFIG_HAS_IOMEM=y
787CONFIG_HAS_IOPORT=y 807CONFIG_HAS_IOPORT=y
788CONFIG_HAS_DMA=y 808CONFIG_HAS_DMA=y
789CONFIG_HAVE_LMB=y 809CONFIG_HAVE_LMB=y
810CONFIG_NLATTR=y
790 811
791# 812#
792# Kernel hacking 813# Kernel hacking
@@ -806,13 +827,24 @@ CONFIG_FRAME_WARN=1024
806# CONFIG_RCU_CPU_STALL_DETECTOR is not set 827# CONFIG_RCU_CPU_STALL_DETECTOR is not set
807# CONFIG_LATENCYTOP is not set 828# CONFIG_LATENCYTOP is not set
808CONFIG_HAVE_FUNCTION_TRACER=y 829CONFIG_HAVE_FUNCTION_TRACER=y
830CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
809CONFIG_HAVE_DYNAMIC_FTRACE=y 831CONFIG_HAVE_DYNAMIC_FTRACE=y
810CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 832CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
833CONFIG_TRACING_SUPPORT=y
811 834
812# 835#
813# Tracers 836# Tracers
814# 837#
815# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 838# CONFIG_FUNCTION_TRACER is not set
839# CONFIG_SCHED_TRACER is not set
840# CONFIG_CONTEXT_SWITCH_TRACER is not set
841# CONFIG_EVENT_TRACER is not set
842# CONFIG_BOOT_TRACER is not set
843# CONFIG_TRACE_BRANCH_PROFILING is not set
844# CONFIG_STACK_TRACER is not set
845# CONFIG_KMEMTRACE is not set
846# CONFIG_WORKQUEUE_TRACER is not set
847# CONFIG_BLK_DEV_IO_TRACE is not set
816# CONFIG_SAMPLES is not set 848# CONFIG_SAMPLES is not set
817CONFIG_HAVE_ARCH_KGDB=y 849CONFIG_HAVE_ARCH_KGDB=y
818CONFIG_PRINT_STACK_DEPTH=64 850CONFIG_PRINT_STACK_DEPTH=64
@@ -903,6 +935,7 @@ CONFIG_CRYPTO=y
903# Compression 935# Compression
904# 936#
905# CONFIG_CRYPTO_DEFLATE is not set 937# CONFIG_CRYPTO_DEFLATE is not set
938# CONFIG_CRYPTO_ZLIB is not set
906# CONFIG_CRYPTO_LZO is not set 939# CONFIG_CRYPTO_LZO is not set
907 940
908# 941#
diff --git a/arch/powerpc/configs/mpc86xx_defconfig b/arch/powerpc/configs/mpc86xx_defconfig
index adc756e1f252..5bb1b8eb0b49 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:39 2009 4# Wed May 13 17:22:00 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_PHYS_64BIT is not set 19# CONFIG_PHYS_64BIT is not set
19CONFIG_ALTIVEC=y 20CONFIG_ALTIVEC=y
@@ -57,6 +58,7 @@ CONFIG_GENERIC_BUG=y
57CONFIG_DEFAULT_UIMAGE=y 58CONFIG_DEFAULT_UIMAGE=y
58# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
59# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
61CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
61 63
62# 64#
@@ -71,11 +73,21 @@ CONFIG_SWAP=y
71CONFIG_SYSVIPC=y 73CONFIG_SYSVIPC=y
72CONFIG_SYSVIPC_SYSCTL=y 74CONFIG_SYSVIPC_SYSCTL=y
73CONFIG_POSIX_MQUEUE=y 75CONFIG_POSIX_MQUEUE=y
76CONFIG_POSIX_MQUEUE_SYSCTL=y
74CONFIG_BSD_PROCESS_ACCT=y 77CONFIG_BSD_PROCESS_ACCT=y
75# CONFIG_BSD_PROCESS_ACCT_V3 is not set 78# CONFIG_BSD_PROCESS_ACCT_V3 is not set
76# CONFIG_TASKSTATS is not set 79# CONFIG_TASKSTATS is not set
77CONFIG_AUDIT=y 80CONFIG_AUDIT=y
78# CONFIG_AUDITSYSCALL is not set 81# CONFIG_AUDITSYSCALL is not set
82
83#
84# RCU Subsystem
85#
86CONFIG_CLASSIC_RCU=y
87# CONFIG_TREE_RCU is not set
88# CONFIG_PREEMPT_RCU is not set
89# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_PREEMPT_RCU_TRACE is not set
79CONFIG_IKCONFIG=y 91CONFIG_IKCONFIG=y
80CONFIG_IKCONFIG_PROC=y 92CONFIG_IKCONFIG_PROC=y
81CONFIG_LOG_BUF_SHIFT=14 93CONFIG_LOG_BUF_SHIFT=14
@@ -91,22 +103,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
91# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
92CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
93CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107# CONFIG_RD_BZIP2 is not set
108# CONFIG_RD_LZMA is not set
94# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
95CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
96CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
97CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
98CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
99CONFIG_KALLSYMS_ALL=y 115CONFIG_KALLSYMS_ALL=y
100CONFIG_KALLSYMS_STRIP_GENERATED=y
101CONFIG_KALLSYMS_EXTRA_PASS=y 116CONFIG_KALLSYMS_EXTRA_PASS=y
117# CONFIG_STRIP_ASM_SYMS is not set
102CONFIG_HOTPLUG=y 118CONFIG_HOTPLUG=y
103CONFIG_PRINTK=y 119CONFIG_PRINTK=y
104CONFIG_BUG=y 120CONFIG_BUG=y
105CONFIG_ELF_CORE=y 121CONFIG_ELF_CORE=y
106CONFIG_COMPAT_BRK=y
107CONFIG_BASE_FULL=y 122CONFIG_BASE_FULL=y
108CONFIG_FUTEX=y 123CONFIG_FUTEX=y
109CONFIG_ANON_INODES=y
110CONFIG_EPOLL=y 124CONFIG_EPOLL=y
111CONFIG_SIGNALFD=y 125CONFIG_SIGNALFD=y
112CONFIG_TIMERFD=y 126CONFIG_TIMERFD=y
@@ -116,10 +130,12 @@ CONFIG_AIO=y
116CONFIG_VM_EVENT_COUNTERS=y 130CONFIG_VM_EVENT_COUNTERS=y
117CONFIG_PCI_QUIRKS=y 131CONFIG_PCI_QUIRKS=y
118CONFIG_SLUB_DEBUG=y 132CONFIG_SLUB_DEBUG=y
133CONFIG_COMPAT_BRK=y
119# CONFIG_SLAB is not set 134# CONFIG_SLAB is not set
120CONFIG_SLUB=y 135CONFIG_SLUB=y
121# CONFIG_SLOB is not set 136# CONFIG_SLOB is not set
122# CONFIG_PROFILING is not set 137# CONFIG_PROFILING is not set
138# CONFIG_MARKERS is not set
123CONFIG_HAVE_OPROFILE=y 139CONFIG_HAVE_OPROFILE=y
124# CONFIG_KPROBES is not set 140# CONFIG_KPROBES is not set
125CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 141CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -128,6 +144,7 @@ CONFIG_HAVE_KPROBES=y
128CONFIG_HAVE_KRETPROBES=y 144CONFIG_HAVE_KRETPROBES=y
129CONFIG_HAVE_ARCH_TRACEHOOK=y 145CONFIG_HAVE_ARCH_TRACEHOOK=y
130CONFIG_USE_GENERIC_SMP_HELPERS=y 146CONFIG_USE_GENERIC_SMP_HELPERS=y
147# CONFIG_SLOW_WORK is not set
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 148# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 149CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 150CONFIG_RT_MUTEXES=y
@@ -141,7 +158,6 @@ CONFIG_MODVERSIONS=y
141CONFIG_STOP_MACHINE=y 158CONFIG_STOP_MACHINE=y
142CONFIG_BLOCK=y 159CONFIG_BLOCK=y
143CONFIG_LBD=y 160CONFIG_LBD=y
144# CONFIG_BLK_DEV_IO_TRACE is not set
145# CONFIG_BLK_DEV_BSG is not set 161# CONFIG_BLK_DEV_BSG is not set
146# CONFIG_BLK_DEV_INTEGRITY is not set 162# CONFIG_BLK_DEV_INTEGRITY is not set
147 163
@@ -157,18 +173,11 @@ CONFIG_IOSCHED_CFQ=y
157CONFIG_DEFAULT_CFQ=y 173CONFIG_DEFAULT_CFQ=y
158# CONFIG_DEFAULT_NOOP is not set 174# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="cfq" 175CONFIG_DEFAULT_IOSCHED="cfq"
160CONFIG_CLASSIC_RCU=y
161# CONFIG_TREE_RCU is not set
162# CONFIG_PREEMPT_RCU is not set
163# CONFIG_TREE_RCU_TRACE is not set
164# CONFIG_PREEMPT_RCU_TRACE is not set
165# CONFIG_FREEZER is not set 176# CONFIG_FREEZER is not set
166 177
167# 178#
168# Platform support 179# Platform support
169# 180#
170CONFIG_PPC_MULTIPLATFORM=y
171CONFIG_CLASSIC32=y
172# CONFIG_PPC_CHRP is not set 181# CONFIG_PPC_CHRP is not set
173# CONFIG_MPC5121_ADS is not set 182# CONFIG_MPC5121_ADS is not set
174# CONFIG_MPC5121_GENERIC is not set 183# CONFIG_MPC5121_GENERIC is not set
@@ -183,9 +192,12 @@ CONFIG_PPC_86xx=y
183CONFIG_MPC8641_HPCN=y 192CONFIG_MPC8641_HPCN=y
184CONFIG_SBC8641D=y 193CONFIG_SBC8641D=y
185CONFIG_MPC8610_HPCD=y 194CONFIG_MPC8610_HPCD=y
195# CONFIG_GEF_PPC9A is not set
196# CONFIG_GEF_SBC310 is not set
186CONFIG_GEF_SBC610=y 197CONFIG_GEF_SBC610=y
187CONFIG_MPC8641=y 198CONFIG_MPC8641=y
188CONFIG_MPC8610=y 199CONFIG_MPC8610=y
200CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
189# CONFIG_IPIC is not set 201# CONFIG_IPIC is not set
190CONFIG_MPIC=y 202CONFIG_MPIC=y
191# CONFIG_MPIC_WEIRD is not set 203# CONFIG_MPIC_WEIRD is not set
@@ -247,9 +259,12 @@ CONFIG_ZONE_DMA_FLAG=1
247CONFIG_BOUNCE=y 259CONFIG_BOUNCE=y
248CONFIG_VIRT_TO_BUS=y 260CONFIG_VIRT_TO_BUS=y
249CONFIG_UNEVICTABLE_LRU=y 261CONFIG_UNEVICTABLE_LRU=y
262CONFIG_HAVE_MLOCK=y
263CONFIG_HAVE_MLOCKED_PAGE_BIT=y
250CONFIG_PPC_4K_PAGES=y 264CONFIG_PPC_4K_PAGES=y
251# CONFIG_PPC_16K_PAGES is not set 265# CONFIG_PPC_16K_PAGES is not set
252# CONFIG_PPC_64K_PAGES is not set 266# CONFIG_PPC_64K_PAGES is not set
267# CONFIG_PPC_256K_PAGES is not set
253CONFIG_FORCE_MAX_ZONEORDER=11 268CONFIG_FORCE_MAX_ZONEORDER=11
254CONFIG_PROC_DEVICETREE=y 269CONFIG_PROC_DEVICETREE=y
255# CONFIG_CMDLINE_BOOL is not set 270# CONFIG_CMDLINE_BOOL is not set
@@ -276,6 +291,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
276# CONFIG_PCI_LEGACY is not set 291# CONFIG_PCI_LEGACY is not set
277# CONFIG_PCI_DEBUG is not set 292# CONFIG_PCI_DEBUG is not set
278# CONFIG_PCI_STUB is not set 293# CONFIG_PCI_STUB is not set
294# CONFIG_PCI_IOV is not set
279# CONFIG_PCCARD is not set 295# CONFIG_PCCARD is not set
280# CONFIG_HOTPLUG_PCI is not set 296# CONFIG_HOTPLUG_PCI is not set
281CONFIG_HAS_RAPIDIO=y 297CONFIG_HAS_RAPIDIO=y
@@ -299,7 +315,6 @@ CONFIG_NET=y
299# 315#
300# Networking options 316# Networking options
301# 317#
302CONFIG_COMPAT_NET_DEV_OPS=y
303CONFIG_PACKET=y 318CONFIG_PACKET=y
304# CONFIG_PACKET_MMAP is not set 319# CONFIG_PACKET_MMAP is not set
305CONFIG_UNIX=y 320CONFIG_UNIX=y
@@ -387,6 +402,7 @@ CONFIG_SCTP_HMAC_MD5=y
387# CONFIG_LAPB is not set 402# CONFIG_LAPB is not set
388# CONFIG_ECONET is not set 403# CONFIG_ECONET is not set
389# CONFIG_WAN_ROUTER is not set 404# CONFIG_WAN_ROUTER is not set
405# CONFIG_PHONET is not set
390# CONFIG_NET_SCHED is not set 406# CONFIG_NET_SCHED is not set
391# CONFIG_DCB is not set 407# CONFIG_DCB is not set
392 408
@@ -399,7 +415,6 @@ CONFIG_SCTP_HMAC_MD5=y
399# CONFIG_IRDA is not set 415# CONFIG_IRDA is not set
400# CONFIG_BT is not set 416# CONFIG_BT is not set
401# CONFIG_AF_RXRPC is not set 417# CONFIG_AF_RXRPC is not set
402# CONFIG_PHONET is not set
403CONFIG_FIB_RULES=y 418CONFIG_FIB_RULES=y
404CONFIG_WIRELESS=y 419CONFIG_WIRELESS=y
405# CONFIG_CFG80211 is not set 420# CONFIG_CFG80211 is not set
@@ -454,13 +469,20 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
454# CONFIG_BLK_DEV_HD is not set 469# CONFIG_BLK_DEV_HD is not set
455CONFIG_MISC_DEVICES=y 470CONFIG_MISC_DEVICES=y
456# CONFIG_PHANTOM is not set 471# CONFIG_PHANTOM is not set
457# CONFIG_EEPROM_93CX6 is not set
458# CONFIG_SGI_IOC4 is not set 472# CONFIG_SGI_IOC4 is not set
459# CONFIG_TIFM_CORE is not set 473# CONFIG_TIFM_CORE is not set
460# CONFIG_ICS932S401 is not set 474# CONFIG_ICS932S401 is not set
461# CONFIG_ENCLOSURE_SERVICES is not set 475# CONFIG_ENCLOSURE_SERVICES is not set
462# CONFIG_HP_ILO is not set 476# CONFIG_HP_ILO is not set
477# CONFIG_ISL29003 is not set
463# CONFIG_C2PORT is not set 478# CONFIG_C2PORT is not set
479
480#
481# EEPROM support
482#
483# CONFIG_EEPROM_AT24 is not set
484CONFIG_EEPROM_LEGACY=y
485# CONFIG_EEPROM_93CX6 is not set
464CONFIG_HAVE_IDE=y 486CONFIG_HAVE_IDE=y
465# CONFIG_IDE is not set 487# CONFIG_IDE is not set
466 488
@@ -519,9 +541,11 @@ CONFIG_SCSI_LOWLEVEL=y
519# CONFIG_MEGARAID_NEWGEN is not set 541# CONFIG_MEGARAID_NEWGEN is not set
520# CONFIG_MEGARAID_LEGACY is not set 542# CONFIG_MEGARAID_LEGACY is not set
521# CONFIG_MEGARAID_SAS is not set 543# CONFIG_MEGARAID_SAS is not set
544# CONFIG_SCSI_MPT2SAS is not set
522# CONFIG_SCSI_HPTIOP is not set 545# CONFIG_SCSI_HPTIOP is not set
523# CONFIG_SCSI_BUSLOGIC is not set 546# CONFIG_SCSI_BUSLOGIC is not set
524# CONFIG_LIBFC is not set 547# CONFIG_LIBFC is not set
548# CONFIG_LIBFCOE is not set
525# CONFIG_FCOE is not set 549# CONFIG_FCOE is not set
526# CONFIG_SCSI_DMX3191D is not set 550# CONFIG_SCSI_DMX3191D is not set
527# CONFIG_SCSI_EATA is not set 551# CONFIG_SCSI_EATA is not set
@@ -544,6 +568,7 @@ CONFIG_SCSI_LOWLEVEL=y
544# CONFIG_SCSI_DEBUG is not set 568# CONFIG_SCSI_DEBUG is not set
545# CONFIG_SCSI_SRP is not set 569# CONFIG_SCSI_SRP is not set
546# CONFIG_SCSI_DH is not set 570# CONFIG_SCSI_DH is not set
571# CONFIG_SCSI_OSD_INITIATOR is not set
547CONFIG_ATA=y 572CONFIG_ATA=y
548# CONFIG_ATA_NONSTANDARD is not set 573# CONFIG_ATA_NONSTANDARD is not set
549CONFIG_SATA_PMP=y 574CONFIG_SATA_PMP=y
@@ -620,6 +645,7 @@ CONFIG_PATA_ALI=y
620# CONFIG_I2O is not set 645# CONFIG_I2O is not set
621# CONFIG_MACINTOSH_DRIVERS is not set 646# CONFIG_MACINTOSH_DRIVERS is not set
622CONFIG_NETDEVICES=y 647CONFIG_NETDEVICES=y
648CONFIG_COMPAT_NET_DEV_OPS=y
623CONFIG_DUMMY=y 649CONFIG_DUMMY=y
624# CONFIG_BONDING is not set 650# CONFIG_BONDING is not set
625# CONFIG_MACVLAN is not set 651# CONFIG_MACVLAN is not set
@@ -653,6 +679,8 @@ CONFIG_MII=y
653# CONFIG_SUNGEM is not set 679# CONFIG_SUNGEM is not set
654# CONFIG_CASSINI is not set 680# CONFIG_CASSINI is not set
655# CONFIG_NET_VENDOR_3COM is not set 681# CONFIG_NET_VENDOR_3COM is not set
682# CONFIG_ETHOC is not set
683# CONFIG_DNET is not set
656# CONFIG_NET_TULIP is not set 684# CONFIG_NET_TULIP is not set
657# CONFIG_HP100 is not set 685# CONFIG_HP100 is not set
658# CONFIG_IBM_NEW_EMAC_ZMII is not set 686# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -672,6 +700,7 @@ CONFIG_NETDEV_1000=y
672# CONFIG_E1000E is not set 700# CONFIG_E1000E is not set
673# CONFIG_IP1000 is not set 701# CONFIG_IP1000 is not set
674# CONFIG_IGB is not set 702# CONFIG_IGB is not set
703# CONFIG_IGBVF is not set
675# CONFIG_NS83820 is not set 704# CONFIG_NS83820 is not set
676# CONFIG_HAMACHI is not set 705# CONFIG_HAMACHI is not set
677# CONFIG_YELLOWFIN is not set 706# CONFIG_YELLOWFIN is not set
@@ -682,11 +711,12 @@ CONFIG_NETDEV_1000=y
682# CONFIG_VIA_VELOCITY is not set 711# CONFIG_VIA_VELOCITY is not set
683# CONFIG_TIGON3 is not set 712# CONFIG_TIGON3 is not set
684# CONFIG_BNX2 is not set 713# CONFIG_BNX2 is not set
714CONFIG_FSL_PQ_MDIO=y
685CONFIG_GIANFAR=y 715CONFIG_GIANFAR=y
686# CONFIG_MV643XX_ETH is not set
687# CONFIG_QLA3XXX is not set 716# CONFIG_QLA3XXX is not set
688# CONFIG_ATL1 is not set 717# CONFIG_ATL1 is not set
689# CONFIG_ATL1E is not set 718# CONFIG_ATL1E is not set
719# CONFIG_ATL1C is not set
690# CONFIG_JME is not set 720# CONFIG_JME is not set
691CONFIG_NETDEV_10000=y 721CONFIG_NETDEV_10000=y
692# CONFIG_CHELSIO_T1 is not set 722# CONFIG_CHELSIO_T1 is not set
@@ -696,6 +726,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
696# CONFIG_IXGBE is not set 726# CONFIG_IXGBE is not set
697# CONFIG_IXGB is not set 727# CONFIG_IXGB is not set
698# CONFIG_S2IO is not set 728# CONFIG_S2IO is not set
729# CONFIG_VXGE is not set
699# CONFIG_MYRI10GE is not set 730# CONFIG_MYRI10GE is not set
700# CONFIG_NETXEN_NIC is not set 731# CONFIG_NETXEN_NIC is not set
701# CONFIG_NIU is not set 732# CONFIG_NIU is not set
@@ -705,6 +736,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
705# CONFIG_BNX2X is not set 736# CONFIG_BNX2X is not set
706# CONFIG_QLGE is not set 737# CONFIG_QLGE is not set
707# CONFIG_SFC is not set 738# CONFIG_SFC is not set
739# CONFIG_BE2NET is not set
708# CONFIG_TR is not set 740# CONFIG_TR is not set
709 741
710# 742#
@@ -712,7 +744,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
712# 744#
713# CONFIG_WLAN_PRE80211 is not set 745# CONFIG_WLAN_PRE80211 is not set
714# CONFIG_WLAN_80211 is not set 746# CONFIG_WLAN_80211 is not set
715# CONFIG_IWLWIFI_LEDS is not set
716 747
717# 748#
718# Enable WiMAX (Networking options) to see the WiMAX drivers 749# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -879,12 +910,9 @@ CONFIG_I2C_MPC=y
879# Miscellaneous I2C Chip support 910# Miscellaneous I2C Chip support
880# 911#
881# CONFIG_DS1682 is not set 912# CONFIG_DS1682 is not set
882# CONFIG_EEPROM_AT24 is not set
883CONFIG_EEPROM_LEGACY=y
884# CONFIG_SENSORS_PCF8574 is not set 913# CONFIG_SENSORS_PCF8574 is not set
885# CONFIG_PCF8575 is not set 914# CONFIG_PCF8575 is not set
886# CONFIG_SENSORS_PCA9539 is not set 915# CONFIG_SENSORS_PCA9539 is not set
887# CONFIG_SENSORS_PCF8591 is not set
888# CONFIG_SENSORS_MAX6875 is not set 916# CONFIG_SENSORS_MAX6875 is not set
889# CONFIG_SENSORS_TSL2550 is not set 917# CONFIG_SENSORS_TSL2550 is not set
890# CONFIG_I2C_DEBUG_CORE is not set 918# CONFIG_I2C_DEBUG_CORE is not set
@@ -963,7 +991,7 @@ CONFIG_VIDEO_MEDIA=m
963# 991#
964# CONFIG_MEDIA_ATTACH is not set 992# CONFIG_MEDIA_ATTACH is not set
965CONFIG_MEDIA_TUNER=m 993CONFIG_MEDIA_TUNER=m
966# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set 994# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
967CONFIG_MEDIA_TUNER_SIMPLE=m 995CONFIG_MEDIA_TUNER_SIMPLE=m
968CONFIG_MEDIA_TUNER_TDA8290=m 996CONFIG_MEDIA_TUNER_TDA8290=m
969CONFIG_MEDIA_TUNER_TDA9887=m 997CONFIG_MEDIA_TUNER_TDA9887=m
@@ -972,6 +1000,7 @@ CONFIG_MEDIA_TUNER_TEA5767=m
972CONFIG_MEDIA_TUNER_MT20XX=m 1000CONFIG_MEDIA_TUNER_MT20XX=m
973CONFIG_MEDIA_TUNER_XC2028=m 1001CONFIG_MEDIA_TUNER_XC2028=m
974CONFIG_MEDIA_TUNER_XC5000=m 1002CONFIG_MEDIA_TUNER_XC5000=m
1003CONFIG_MEDIA_TUNER_MC44S803=m
975# CONFIG_DVB_DYNAMIC_MINORS is not set 1004# CONFIG_DVB_DYNAMIC_MINORS is not set
976CONFIG_DVB_CAPTURE_DRIVERS=y 1005CONFIG_DVB_CAPTURE_DRIVERS=y
977 1006
@@ -1011,103 +1040,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
1011# 1040#
1012# Supported DVB Frontends 1041# Supported DVB Frontends
1013# 1042#
1014
1015#
1016# Customise DVB Frontends
1017#
1018# CONFIG_DVB_FE_CUSTOMISE is not set 1043# CONFIG_DVB_FE_CUSTOMISE is not set
1019
1020#
1021# Multistandard (satellite) frontends
1022#
1023# CONFIG_DVB_STB0899 is not set
1024# CONFIG_DVB_STB6100 is not set
1025
1026#
1027# DVB-S (satellite) frontends
1028#
1029# CONFIG_DVB_CX24110 is not set
1030# CONFIG_DVB_CX24123 is not set
1031# CONFIG_DVB_MT312 is not set
1032# CONFIG_DVB_S5H1420 is not set
1033# CONFIG_DVB_STV0288 is not set
1034# CONFIG_DVB_STB6000 is not set
1035# CONFIG_DVB_STV0299 is not set
1036# CONFIG_DVB_TDA8083 is not set
1037# CONFIG_DVB_TDA10086 is not set
1038# CONFIG_DVB_TDA8261 is not set
1039# CONFIG_DVB_VES1X93 is not set
1040# CONFIG_DVB_TUNER_ITD1000 is not set
1041# CONFIG_DVB_TUNER_CX24113 is not set
1042# CONFIG_DVB_TDA826X is not set
1043# CONFIG_DVB_TUA6100 is not set
1044# CONFIG_DVB_CX24116 is not set
1045# CONFIG_DVB_SI21XX is not set
1046
1047#
1048# DVB-T (terrestrial) frontends
1049#
1050# CONFIG_DVB_SP8870 is not set
1051# CONFIG_DVB_SP887X is not set
1052# CONFIG_DVB_CX22700 is not set
1053# CONFIG_DVB_CX22702 is not set
1054# CONFIG_DVB_DRX397XD is not set
1055# CONFIG_DVB_L64781 is not set
1056# CONFIG_DVB_TDA1004X is not set
1057# CONFIG_DVB_NXT6000 is not set
1058# CONFIG_DVB_MT352 is not set
1059# CONFIG_DVB_ZL10353 is not set
1060# CONFIG_DVB_DIB3000MB is not set
1061# CONFIG_DVB_DIB3000MC is not set
1062# CONFIG_DVB_DIB7000M is not set
1063# CONFIG_DVB_DIB7000P is not set
1064# CONFIG_DVB_TDA10048 is not set
1065
1066#
1067# DVB-C (cable) frontends
1068#
1069# CONFIG_DVB_VES1820 is not set
1070# CONFIG_DVB_TDA10021 is not set
1071# CONFIG_DVB_TDA10023 is not set
1072# CONFIG_DVB_STV0297 is not set
1073
1074#
1075# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
1076#
1077# CONFIG_DVB_NXT200X is not set
1078# CONFIG_DVB_OR51211 is not set
1079# CONFIG_DVB_OR51132 is not set
1080# CONFIG_DVB_BCM3510 is not set
1081# CONFIG_DVB_LGDT330X is not set
1082# CONFIG_DVB_LGDT3304 is not set
1083# CONFIG_DVB_S5H1409 is not set
1084# CONFIG_DVB_AU8522 is not set
1085# CONFIG_DVB_S5H1411 is not set
1086
1087#
1088# ISDB-T (terrestrial) frontends
1089#
1090# CONFIG_DVB_S921 is not set
1091
1092#
1093# Digital terrestrial only tuners/PLL
1094#
1095# CONFIG_DVB_PLL is not set
1096# CONFIG_DVB_TUNER_DIB0070 is not set
1097
1098#
1099# SEC control devices for DVB-S
1100#
1101# CONFIG_DVB_LNBP21 is not set
1102# CONFIG_DVB_ISL6405 is not set
1103# CONFIG_DVB_ISL6421 is not set
1104# CONFIG_DVB_LGS8GL5 is not set
1105
1106#
1107# Tools to develop new frontends
1108#
1109# CONFIG_DVB_DUMMY_FE is not set
1110# CONFIG_DVB_AF9013 is not set
1111CONFIG_DAB=y 1044CONFIG_DAB=y
1112# CONFIG_USB_DABUSB is not set 1045# CONFIG_USB_DABUSB is not set
1113 1046
@@ -1187,6 +1120,8 @@ CONFIG_SND_PCI=y
1187# CONFIG_SND_INDIGO is not set 1120# CONFIG_SND_INDIGO is not set
1188# CONFIG_SND_INDIGOIO is not set 1121# CONFIG_SND_INDIGOIO is not set
1189# CONFIG_SND_INDIGODJ is not set 1122# CONFIG_SND_INDIGODJ is not set
1123# CONFIG_SND_INDIGOIOX is not set
1124# CONFIG_SND_INDIGODJX is not set
1190# CONFIG_SND_EMU10K1 is not set 1125# CONFIG_SND_EMU10K1 is not set
1191# CONFIG_SND_EMU10K1X is not set 1126# CONFIG_SND_EMU10K1X is not set
1192# CONFIG_SND_ENS1370 is not set 1127# CONFIG_SND_ENS1370 is not set
@@ -1241,15 +1176,17 @@ CONFIG_USB_HID=y
1241# 1176#
1242# Special HID drivers 1177# Special HID drivers
1243# 1178#
1244CONFIG_HID_COMPAT=y
1245CONFIG_HID_A4TECH=y 1179CONFIG_HID_A4TECH=y
1246CONFIG_HID_APPLE=y 1180CONFIG_HID_APPLE=y
1247CONFIG_HID_BELKIN=y 1181CONFIG_HID_BELKIN=y
1248CONFIG_HID_CHERRY=y 1182CONFIG_HID_CHERRY=y
1249CONFIG_HID_CHICONY=y 1183CONFIG_HID_CHICONY=y
1250CONFIG_HID_CYPRESS=y 1184CONFIG_HID_CYPRESS=y
1185# CONFIG_DRAGONRISE_FF is not set
1251CONFIG_HID_EZKEY=y 1186CONFIG_HID_EZKEY=y
1187# CONFIG_HID_KYE is not set
1252CONFIG_HID_GYRATION=y 1188CONFIG_HID_GYRATION=y
1189# CONFIG_HID_KENSINGTON is not set
1253CONFIG_HID_LOGITECH=y 1190CONFIG_HID_LOGITECH=y
1254# CONFIG_LOGITECH_FF is not set 1191# CONFIG_LOGITECH_FF is not set
1255# CONFIG_LOGIRUMBLEPAD2_FF is not set 1192# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1322,11 +1259,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1322# CONFIG_USB_TMC is not set 1259# CONFIG_USB_TMC is not set
1323 1260
1324# 1261#
1325# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1262# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1326# 1263#
1327 1264
1328# 1265#
1329# see USB_STORAGE Help for more information 1266# also be needed; see USB_STORAGE Help for more info
1330# 1267#
1331CONFIG_USB_STORAGE=y 1268CONFIG_USB_STORAGE=y
1332# CONFIG_USB_STORAGE_DEBUG is not set 1269# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1368,7 +1305,6 @@ CONFIG_USB_STORAGE=y
1368# CONFIG_USB_LED is not set 1305# CONFIG_USB_LED is not set
1369# CONFIG_USB_CYPRESS_CY7C63 is not set 1306# CONFIG_USB_CYPRESS_CY7C63 is not set
1370# CONFIG_USB_CYTHERM is not set 1307# CONFIG_USB_CYTHERM is not set
1371# CONFIG_USB_PHIDGET is not set
1372# CONFIG_USB_IDMOUSE is not set 1308# CONFIG_USB_IDMOUSE is not set
1373# CONFIG_USB_FTDI_ELAN is not set 1309# CONFIG_USB_FTDI_ELAN is not set
1374# CONFIG_USB_APPLEDISPLAY is not set 1310# CONFIG_USB_APPLEDISPLAY is not set
@@ -1385,6 +1321,7 @@ CONFIG_USB_STORAGE=y
1385# OTG and related infrastructure 1321# OTG and related infrastructure
1386# 1322#
1387# CONFIG_USB_GPIO_VBUS is not set 1323# CONFIG_USB_GPIO_VBUS is not set
1324# CONFIG_NOP_USB_XCEIV is not set
1388# CONFIG_UWB is not set 1325# CONFIG_UWB is not set
1389# CONFIG_MMC is not set 1326# CONFIG_MMC is not set
1390# CONFIG_MEMSTICK is not set 1327# CONFIG_MEMSTICK is not set
@@ -1446,8 +1383,9 @@ CONFIG_RTC_DRV_CMOS=y
1446# 1383#
1447# on-CPU RTC drivers 1384# on-CPU RTC drivers
1448# 1385#
1449# CONFIG_RTC_DRV_PPC is not set 1386# CONFIG_RTC_DRV_GENERIC is not set
1450# CONFIG_DMADEVICES is not set 1387# CONFIG_DMADEVICES is not set
1388# CONFIG_AUXDISPLAY is not set
1451# CONFIG_UIO is not set 1389# CONFIG_UIO is not set
1452# CONFIG_STAGING is not set 1390# CONFIG_STAGING is not set
1453 1391
@@ -1458,6 +1396,7 @@ CONFIG_EXT2_FS=y
1458# CONFIG_EXT2_FS_XATTR is not set 1396# CONFIG_EXT2_FS_XATTR is not set
1459# CONFIG_EXT2_FS_XIP is not set 1397# CONFIG_EXT2_FS_XIP is not set
1460CONFIG_EXT3_FS=y 1398CONFIG_EXT3_FS=y
1399# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1461CONFIG_EXT3_FS_XATTR=y 1400CONFIG_EXT3_FS_XATTR=y
1462# CONFIG_EXT3_FS_POSIX_ACL is not set 1401# CONFIG_EXT3_FS_POSIX_ACL is not set
1463# CONFIG_EXT3_FS_SECURITY is not set 1402# CONFIG_EXT3_FS_SECURITY is not set
@@ -1481,6 +1420,11 @@ CONFIG_INOTIFY_USER=y
1481# CONFIG_FUSE_FS is not set 1420# CONFIG_FUSE_FS is not set
1482 1421
1483# 1422#
1423# Caches
1424#
1425# CONFIG_FSCACHE is not set
1426
1427#
1484# CD-ROM/DVD Filesystems 1428# CD-ROM/DVD Filesystems
1485# 1429#
1486CONFIG_ISO9660_FS=m 1430CONFIG_ISO9660_FS=m
@@ -1535,6 +1479,7 @@ CONFIG_SYSV_FS=m
1535CONFIG_UFS_FS=m 1479CONFIG_UFS_FS=m
1536# CONFIG_UFS_FS_WRITE is not set 1480# CONFIG_UFS_FS_WRITE is not set
1537# CONFIG_UFS_DEBUG is not set 1481# CONFIG_UFS_DEBUG is not set
1482# CONFIG_NILFS2_FS is not set
1538CONFIG_NETWORK_FILESYSTEMS=y 1483CONFIG_NETWORK_FILESYSTEMS=y
1539CONFIG_NFS_FS=y 1484CONFIG_NFS_FS=y
1540CONFIG_NFS_V3=y 1485CONFIG_NFS_V3=y
@@ -1550,7 +1495,6 @@ CONFIG_EXPORTFS=y
1550CONFIG_NFS_COMMON=y 1495CONFIG_NFS_COMMON=y
1551CONFIG_SUNRPC=y 1496CONFIG_SUNRPC=y
1552CONFIG_SUNRPC_GSS=y 1497CONFIG_SUNRPC_GSS=y
1553# CONFIG_SUNRPC_REGISTER_V4 is not set
1554CONFIG_RPCSEC_GSS_KRB5=y 1498CONFIG_RPCSEC_GSS_KRB5=y
1555# CONFIG_RPCSEC_GSS_SPKM3 is not set 1499# CONFIG_RPCSEC_GSS_SPKM3 is not set
1556# CONFIG_SMB_FS is not set 1500# CONFIG_SMB_FS is not set
@@ -1621,6 +1565,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1621# CONFIG_NLS_KOI8_U is not set 1565# CONFIG_NLS_KOI8_U is not set
1622CONFIG_NLS_UTF8=m 1566CONFIG_NLS_UTF8=m
1623# CONFIG_DLM is not set 1567# CONFIG_DLM is not set
1568# CONFIG_BINARY_PRINTF is not set
1624 1569
1625# 1570#
1626# Library routines 1571# Library routines
@@ -1635,11 +1580,12 @@ CONFIG_CRC32=y
1635# CONFIG_CRC7 is not set 1580# CONFIG_CRC7 is not set
1636CONFIG_LIBCRC32C=m 1581CONFIG_LIBCRC32C=m
1637CONFIG_ZLIB_INFLATE=y 1582CONFIG_ZLIB_INFLATE=y
1638CONFIG_PLIST=y 1583CONFIG_DECOMPRESS_GZIP=y
1639CONFIG_HAS_IOMEM=y 1584CONFIG_HAS_IOMEM=y
1640CONFIG_HAS_IOPORT=y 1585CONFIG_HAS_IOPORT=y
1641CONFIG_HAS_DMA=y 1586CONFIG_HAS_DMA=y
1642CONFIG_HAVE_LMB=y 1587CONFIG_HAVE_LMB=y
1588CONFIG_NLATTR=y
1643 1589
1644# 1590#
1645# Kernel hacking 1591# Kernel hacking
@@ -1657,6 +1603,9 @@ CONFIG_DEBUG_KERNEL=y
1657CONFIG_DETECT_SOFTLOCKUP=y 1603CONFIG_DETECT_SOFTLOCKUP=y
1658# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1604# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1659CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1605CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1606CONFIG_DETECT_HUNG_TASK=y
1607# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1608CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1660CONFIG_SCHED_DEBUG=y 1609CONFIG_SCHED_DEBUG=y
1661# CONFIG_SCHEDSTATS is not set 1610# CONFIG_SCHEDSTATS is not set
1662# CONFIG_TIMER_STATS is not set 1611# CONFIG_TIMER_STATS is not set
@@ -1687,9 +1636,12 @@ CONFIG_DEBUG_INFO=y
1687# CONFIG_FAULT_INJECTION is not set 1636# CONFIG_FAULT_INJECTION is not set
1688# CONFIG_LATENCYTOP is not set 1637# CONFIG_LATENCYTOP is not set
1689CONFIG_SYSCTL_SYSCALL_CHECK=y 1638CONFIG_SYSCTL_SYSCALL_CHECK=y
1639# CONFIG_DEBUG_PAGEALLOC is not set
1690CONFIG_HAVE_FUNCTION_TRACER=y 1640CONFIG_HAVE_FUNCTION_TRACER=y
1641CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1691CONFIG_HAVE_DYNAMIC_FTRACE=y 1642CONFIG_HAVE_DYNAMIC_FTRACE=y
1692CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1643CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1644CONFIG_TRACING_SUPPORT=y
1693 1645
1694# 1646#
1695# Tracers 1647# Tracers
@@ -1697,17 +1649,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1697# CONFIG_FUNCTION_TRACER is not set 1649# CONFIG_FUNCTION_TRACER is not set
1698# CONFIG_SCHED_TRACER is not set 1650# CONFIG_SCHED_TRACER is not set
1699# CONFIG_CONTEXT_SWITCH_TRACER is not set 1651# CONFIG_CONTEXT_SWITCH_TRACER is not set
1652# CONFIG_EVENT_TRACER is not set
1700# CONFIG_BOOT_TRACER is not set 1653# CONFIG_BOOT_TRACER is not set
1701# CONFIG_TRACE_BRANCH_PROFILING is not set 1654# CONFIG_TRACE_BRANCH_PROFILING is not set
1702# CONFIG_STACK_TRACER is not set 1655# CONFIG_STACK_TRACER is not set
1703# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1656# CONFIG_KMEMTRACE is not set
1657# CONFIG_WORKQUEUE_TRACER is not set
1658# CONFIG_BLK_DEV_IO_TRACE is not set
1704# CONFIG_SAMPLES is not set 1659# CONFIG_SAMPLES is not set
1705CONFIG_HAVE_ARCH_KGDB=y 1660CONFIG_HAVE_ARCH_KGDB=y
1706# CONFIG_KGDB is not set 1661# CONFIG_KGDB is not set
1707CONFIG_PRINT_STACK_DEPTH=64 1662CONFIG_PRINT_STACK_DEPTH=64
1708# CONFIG_DEBUG_STACKOVERFLOW is not set 1663# CONFIG_DEBUG_STACKOVERFLOW is not set
1709# CONFIG_DEBUG_STACK_USAGE is not set 1664# CONFIG_DEBUG_STACK_USAGE is not set
1710# CONFIG_DEBUG_PAGEALLOC is not set
1711# CONFIG_CODE_PATCHING_SELFTEST is not set 1665# CONFIG_CODE_PATCHING_SELFTEST is not set
1712# CONFIG_FTR_FIXUP_SELFTEST is not set 1666# CONFIG_FTR_FIXUP_SELFTEST is not set
1713# CONFIG_MSI_BITMAP_SELFTEST is not set 1667# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1738,10 +1692,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1738CONFIG_CRYPTO_HASH=y 1692CONFIG_CRYPTO_HASH=y
1739CONFIG_CRYPTO_HASH2=y 1693CONFIG_CRYPTO_HASH2=y
1740CONFIG_CRYPTO_RNG2=y 1694CONFIG_CRYPTO_RNG2=y
1695CONFIG_CRYPTO_PCOMP=y
1741CONFIG_CRYPTO_MANAGER=y 1696CONFIG_CRYPTO_MANAGER=y
1742CONFIG_CRYPTO_MANAGER2=y 1697CONFIG_CRYPTO_MANAGER2=y
1743# CONFIG_CRYPTO_GF128MUL is not set 1698# CONFIG_CRYPTO_GF128MUL is not set
1744# CONFIG_CRYPTO_NULL is not set 1699# CONFIG_CRYPTO_NULL is not set
1700CONFIG_CRYPTO_WORKQUEUE=y
1745# CONFIG_CRYPTO_CRYPTD is not set 1701# CONFIG_CRYPTO_CRYPTD is not set
1746# CONFIG_CRYPTO_AUTHENC is not set 1702# CONFIG_CRYPTO_AUTHENC is not set
1747# CONFIG_CRYPTO_TEST is not set 1703# CONFIG_CRYPTO_TEST is not set
@@ -1810,6 +1766,7 @@ CONFIG_CRYPTO_DES=y
1810# Compression 1766# Compression
1811# 1767#
1812# CONFIG_CRYPTO_DEFLATE is not set 1768# CONFIG_CRYPTO_DEFLATE is not set
1769# CONFIG_CRYPTO_ZLIB is not set
1813# CONFIG_CRYPTO_LZO is not set 1770# CONFIG_CRYPTO_LZO is not set
1814 1771
1815# 1772#
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index 4b76321c0ec4..42e64ebc279d 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:41 2009 4# Wed May 13 17:22:01 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -52,6 +52,7 @@ CONFIG_GENERIC_BUG=y
52# CONFIG_DEFAULT_UIMAGE is not set 52# CONFIG_DEFAULT_UIMAGE is not set
53# CONFIG_PPC_DCR_NATIVE is not set 53# CONFIG_PPC_DCR_NATIVE is not set
54# CONFIG_PPC_DCR_MMIO is not set 54# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
56 57
57# 58#
@@ -69,6 +70,15 @@ CONFIG_SYSVIPC_SYSCTL=y
69# CONFIG_BSD_PROCESS_ACCT is not set 70# CONFIG_BSD_PROCESS_ACCT is not set
70# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
73
74#
75# RCU Subsystem
76#
77CONFIG_CLASSIC_RCU=y
78# CONFIG_TREE_RCU is not set
79# CONFIG_PREEMPT_RCU is not set
80# CONFIG_TREE_RCU_TRACE is not set
81# CONFIG_PREEMPT_RCU_TRACE is not set
72# CONFIG_IKCONFIG is not set 82# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 83CONFIG_LOG_BUF_SHIFT=14
74CONFIG_GROUP_SCHED=y 84CONFIG_GROUP_SCHED=y
@@ -84,19 +94,19 @@ CONFIG_SYSFS_DEPRECATED_V2=y
84# CONFIG_BLK_DEV_INITRD is not set 94# CONFIG_BLK_DEV_INITRD is not set
85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 95# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
86CONFIG_SYSCTL=y 96CONFIG_SYSCTL=y
97CONFIG_ANON_INODES=y
87CONFIG_EMBEDDED=y 98CONFIG_EMBEDDED=y
88# CONFIG_SYSCTL_SYSCALL is not set 99# CONFIG_SYSCTL_SYSCALL is not set
89CONFIG_KALLSYMS=y 100CONFIG_KALLSYMS=y
90# CONFIG_KALLSYMS_ALL is not set 101# CONFIG_KALLSYMS_ALL is not set
91# CONFIG_KALLSYMS_EXTRA_PASS is not set 102# CONFIG_KALLSYMS_EXTRA_PASS is not set
103# CONFIG_STRIP_ASM_SYMS is not set
92CONFIG_HOTPLUG=y 104CONFIG_HOTPLUG=y
93CONFIG_PRINTK=y 105CONFIG_PRINTK=y
94CONFIG_BUG=y 106CONFIG_BUG=y
95# CONFIG_ELF_CORE is not set 107# CONFIG_ELF_CORE is not set
96CONFIG_COMPAT_BRK=y
97# CONFIG_BASE_FULL is not set 108# CONFIG_BASE_FULL is not set
98# CONFIG_FUTEX is not set 109# CONFIG_FUTEX is not set
99CONFIG_ANON_INODES=y
100CONFIG_EPOLL=y 110CONFIG_EPOLL=y
101CONFIG_SIGNALFD=y 111CONFIG_SIGNALFD=y
102CONFIG_TIMERFD=y 112CONFIG_TIMERFD=y
@@ -105,10 +115,12 @@ CONFIG_SHMEM=y
105CONFIG_AIO=y 115CONFIG_AIO=y
106# CONFIG_VM_EVENT_COUNTERS is not set 116# CONFIG_VM_EVENT_COUNTERS is not set
107CONFIG_SLUB_DEBUG=y 117CONFIG_SLUB_DEBUG=y
118CONFIG_COMPAT_BRK=y
108# CONFIG_SLAB is not set 119# CONFIG_SLAB is not set
109CONFIG_SLUB=y 120CONFIG_SLUB=y
110# CONFIG_SLOB is not set 121# CONFIG_SLOB is not set
111# CONFIG_PROFILING is not set 122# CONFIG_PROFILING is not set
123# CONFIG_MARKERS is not set
112CONFIG_HAVE_OPROFILE=y 124CONFIG_HAVE_OPROFILE=y
113CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 125CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
114CONFIG_HAVE_IOREMAP_PROT=y 126CONFIG_HAVE_IOREMAP_PROT=y
@@ -116,13 +128,13 @@ CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 128CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y 129CONFIG_HAVE_ARCH_TRACEHOOK=y
118CONFIG_HAVE_CLK=y 130CONFIG_HAVE_CLK=y
131# CONFIG_SLOW_WORK is not set
119# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
120CONFIG_SLABINFO=y 133CONFIG_SLABINFO=y
121CONFIG_BASE_SMALL=1 134CONFIG_BASE_SMALL=1
122# CONFIG_MODULES is not set 135# CONFIG_MODULES is not set
123CONFIG_BLOCK=y 136CONFIG_BLOCK=y
124# CONFIG_LBD is not set 137# CONFIG_LBD is not set
125# CONFIG_BLK_DEV_IO_TRACE is not set
126# CONFIG_BLK_DEV_BSG is not set 138# CONFIG_BLK_DEV_BSG is not set
127# CONFIG_BLK_DEV_INTEGRITY is not set 139# CONFIG_BLK_DEV_INTEGRITY is not set
128 140
@@ -138,11 +150,6 @@ CONFIG_DEFAULT_DEADLINE=y
138# CONFIG_DEFAULT_CFQ is not set 150# CONFIG_DEFAULT_CFQ is not set
139# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
140CONFIG_DEFAULT_IOSCHED="deadline" 152CONFIG_DEFAULT_IOSCHED="deadline"
141CONFIG_CLASSIC_RCU=y
142# CONFIG_TREE_RCU is not set
143# CONFIG_PREEMPT_RCU is not set
144# CONFIG_TREE_RCU_TRACE is not set
145# CONFIG_PREEMPT_RCU_TRACE is not set
146# CONFIG_FREEZER is not set 153# CONFIG_FREEZER is not set
147 154
148# 155#
@@ -240,9 +247,12 @@ CONFIG_ZONE_DMA_FLAG=1
240CONFIG_BOUNCE=y 247CONFIG_BOUNCE=y
241CONFIG_VIRT_TO_BUS=y 248CONFIG_VIRT_TO_BUS=y
242CONFIG_UNEVICTABLE_LRU=y 249CONFIG_UNEVICTABLE_LRU=y
250CONFIG_HAVE_MLOCK=y
251CONFIG_HAVE_MLOCKED_PAGE_BIT=y
243CONFIG_PPC_4K_PAGES=y 252CONFIG_PPC_4K_PAGES=y
244# CONFIG_PPC_16K_PAGES is not set 253# CONFIG_PPC_16K_PAGES is not set
245# CONFIG_PPC_64K_PAGES is not set 254# CONFIG_PPC_64K_PAGES is not set
255# CONFIG_PPC_256K_PAGES is not set
246CONFIG_FORCE_MAX_ZONEORDER=11 256CONFIG_FORCE_MAX_ZONEORDER=11
247CONFIG_PROC_DEVICETREE=y 257CONFIG_PROC_DEVICETREE=y
248# CONFIG_CMDLINE_BOOL is not set 258# CONFIG_CMDLINE_BOOL is not set
@@ -277,14 +287,11 @@ CONFIG_PAGE_OFFSET=0xc0000000
277CONFIG_KERNEL_START=0xc0000000 287CONFIG_KERNEL_START=0xc0000000
278CONFIG_PHYSICAL_START=0x00000000 288CONFIG_PHYSICAL_START=0x00000000
279CONFIG_TASK_SIZE=0x80000000 289CONFIG_TASK_SIZE=0x80000000
280CONFIG_CONSISTENT_START=0xfd000000
281CONFIG_CONSISTENT_SIZE=0x00200000
282CONFIG_NET=y 290CONFIG_NET=y
283 291
284# 292#
285# Networking options 293# Networking options
286# 294#
287CONFIG_COMPAT_NET_DEV_OPS=y
288CONFIG_PACKET=y 295CONFIG_PACKET=y
289# CONFIG_PACKET_MMAP is not set 296# CONFIG_PACKET_MMAP is not set
290CONFIG_UNIX=y 297CONFIG_UNIX=y
@@ -335,6 +342,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
335# CONFIG_LAPB is not set 342# CONFIG_LAPB is not set
336# CONFIG_ECONET is not set 343# CONFIG_ECONET is not set
337# CONFIG_WAN_ROUTER is not set 344# CONFIG_WAN_ROUTER is not set
345# CONFIG_PHONET is not set
338# CONFIG_NET_SCHED is not set 346# CONFIG_NET_SCHED is not set
339# CONFIG_DCB is not set 347# CONFIG_DCB is not set
340 348
@@ -347,7 +355,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
347# CONFIG_IRDA is not set 355# CONFIG_IRDA is not set
348# CONFIG_BT is not set 356# CONFIG_BT is not set
349# CONFIG_AF_RXRPC is not set 357# CONFIG_AF_RXRPC is not set
350# CONFIG_PHONET is not set
351CONFIG_WIRELESS=y 358CONFIG_WIRELESS=y
352# CONFIG_CFG80211 is not set 359# CONFIG_CFG80211 is not set
353CONFIG_WIRELESS_OLD_REGULATORY=y 360CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -450,7 +457,6 @@ CONFIG_MTD_PHYSMAP_OF=y
450# LPDDR flash memory drivers 457# LPDDR flash memory drivers
451# 458#
452# CONFIG_MTD_LPDDR is not set 459# CONFIG_MTD_LPDDR is not set
453# CONFIG_MTD_QINFO_PROBE is not set
454 460
455# 461#
456# UBI - Unsorted block images 462# UBI - Unsorted block images
@@ -474,6 +480,7 @@ CONFIG_HAVE_IDE=y
474# CONFIG_MD is not set 480# CONFIG_MD is not set
475# CONFIG_MACINTOSH_DRIVERS is not set 481# CONFIG_MACINTOSH_DRIVERS is not set
476CONFIG_NETDEVICES=y 482CONFIG_NETDEVICES=y
483CONFIG_COMPAT_NET_DEV_OPS=y
477# CONFIG_DUMMY is not set 484# CONFIG_DUMMY is not set
478# CONFIG_BONDING is not set 485# CONFIG_BONDING is not set
479# CONFIG_MACVLAN is not set 486# CONFIG_MACVLAN is not set
@@ -502,6 +509,8 @@ CONFIG_DAVICOM_PHY=y
502# CONFIG_MDIO_BITBANG is not set 509# CONFIG_MDIO_BITBANG is not set
503CONFIG_NET_ETHERNET=y 510CONFIG_NET_ETHERNET=y
504CONFIG_MII=y 511CONFIG_MII=y
512# CONFIG_ETHOC is not set
513# CONFIG_DNET is not set
505# CONFIG_IBM_NEW_EMAC_ZMII is not set 514# CONFIG_IBM_NEW_EMAC_ZMII is not set
506# CONFIG_IBM_NEW_EMAC_RGMII is not set 515# CONFIG_IBM_NEW_EMAC_RGMII is not set
507# CONFIG_IBM_NEW_EMAC_TAH is not set 516# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -522,7 +531,6 @@ CONFIG_FS_ENET_MDIO_FEC=y
522# 531#
523# CONFIG_WLAN_PRE80211 is not set 532# CONFIG_WLAN_PRE80211 is not set
524# CONFIG_WLAN_80211 is not set 533# CONFIG_WLAN_80211 is not set
525# CONFIG_IWLWIFI_LEDS is not set
526 534
527# 535#
528# Enable WiMAX (Networking options) to see the WiMAX drivers 536# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -573,6 +581,7 @@ CONFIG_UNIX98_PTYS=y
573# CONFIG_HVC_UDBG is not set 581# CONFIG_HVC_UDBG is not set
574# CONFIG_IPMI_HANDLER is not set 582# CONFIG_IPMI_HANDLER is not set
575CONFIG_HW_RANDOM=y 583CONFIG_HW_RANDOM=y
584# CONFIG_HW_RANDOM_TIMERIOMEM is not set
576# CONFIG_NVRAM is not set 585# CONFIG_NVRAM is not set
577CONFIG_GEN_RTC=y 586CONFIG_GEN_RTC=y
578# CONFIG_GEN_RTC_X is not set 587# CONFIG_GEN_RTC_X is not set
@@ -642,6 +651,7 @@ CONFIG_DAB=y
642# CONFIG_EDAC is not set 651# CONFIG_EDAC is not set
643# CONFIG_RTC_CLASS is not set 652# CONFIG_RTC_CLASS is not set
644# CONFIG_DMADEVICES is not set 653# CONFIG_DMADEVICES is not set
654# CONFIG_AUXDISPLAY is not set
645# CONFIG_UIO is not set 655# CONFIG_UIO is not set
646# CONFIG_STAGING is not set 656# CONFIG_STAGING is not set
647 657
@@ -666,6 +676,11 @@ CONFIG_FILE_LOCKING=y
666# CONFIG_FUSE_FS is not set 676# CONFIG_FUSE_FS is not set
667 677
668# 678#
679# Caches
680#
681# CONFIG_FSCACHE is not set
682
683#
669# CD-ROM/DVD Filesystems 684# CD-ROM/DVD Filesystems
670# 685#
671# CONFIG_ISO9660_FS is not set 686# CONFIG_ISO9660_FS is not set
@@ -709,6 +724,7 @@ CONFIG_CRAMFS=y
709# CONFIG_ROMFS_FS is not set 724# CONFIG_ROMFS_FS is not set
710# CONFIG_SYSV_FS is not set 725# CONFIG_SYSV_FS is not set
711# CONFIG_UFS_FS is not set 726# CONFIG_UFS_FS is not set
727# CONFIG_NILFS2_FS is not set
712CONFIG_NETWORK_FILESYSTEMS=y 728CONFIG_NETWORK_FILESYSTEMS=y
713CONFIG_NFS_FS=y 729CONFIG_NFS_FS=y
714CONFIG_NFS_V3=y 730CONFIG_NFS_V3=y
@@ -720,7 +736,6 @@ CONFIG_LOCKD=y
720CONFIG_LOCKD_V4=y 736CONFIG_LOCKD_V4=y
721CONFIG_NFS_COMMON=y 737CONFIG_NFS_COMMON=y
722CONFIG_SUNRPC=y 738CONFIG_SUNRPC=y
723# CONFIG_SUNRPC_REGISTER_V4 is not set
724# CONFIG_RPCSEC_GSS_KRB5 is not set 739# CONFIG_RPCSEC_GSS_KRB5 is not set
725# CONFIG_RPCSEC_GSS_SPKM3 is not set 740# CONFIG_RPCSEC_GSS_SPKM3 is not set
726# CONFIG_SMB_FS is not set 741# CONFIG_SMB_FS is not set
@@ -752,6 +767,7 @@ CONFIG_MSDOS_PARTITION=y
752# CONFIG_SYSV68_PARTITION is not set 767# CONFIG_SYSV68_PARTITION is not set
753# CONFIG_NLS is not set 768# CONFIG_NLS is not set
754# CONFIG_DLM is not set 769# CONFIG_DLM is not set
770# CONFIG_BINARY_PRINTF is not set
755 771
756# 772#
757# Library routines 773# Library routines
@@ -769,6 +785,7 @@ CONFIG_HAS_IOMEM=y
769CONFIG_HAS_IOPORT=y 785CONFIG_HAS_IOPORT=y
770CONFIG_HAS_DMA=y 786CONFIG_HAS_DMA=y
771CONFIG_HAVE_LMB=y 787CONFIG_HAVE_LMB=y
788CONFIG_NLATTR=y
772 789
773# 790#
774# Kernel hacking 791# Kernel hacking
@@ -786,6 +803,9 @@ CONFIG_DEBUG_KERNEL=y
786CONFIG_DETECT_SOFTLOCKUP=y 803CONFIG_DETECT_SOFTLOCKUP=y
787# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 804# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
788CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 805CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
806CONFIG_DETECT_HUNG_TASK=y
807# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
808CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
789CONFIG_SCHED_DEBUG=y 809CONFIG_SCHED_DEBUG=y
790# CONFIG_SCHEDSTATS is not set 810# CONFIG_SCHEDSTATS is not set
791# CONFIG_TIMER_STATS is not set 811# CONFIG_TIMER_STATS is not set
@@ -812,9 +832,12 @@ CONFIG_DEBUG_INFO=y
812# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 832# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
813# CONFIG_FAULT_INJECTION is not set 833# CONFIG_FAULT_INJECTION is not set
814# CONFIG_LATENCYTOP is not set 834# CONFIG_LATENCYTOP is not set
835# CONFIG_DEBUG_PAGEALLOC is not set
815CONFIG_HAVE_FUNCTION_TRACER=y 836CONFIG_HAVE_FUNCTION_TRACER=y
837CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
816CONFIG_HAVE_DYNAMIC_FTRACE=y 838CONFIG_HAVE_DYNAMIC_FTRACE=y
817CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 839CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
840CONFIG_TRACING_SUPPORT=y
818 841
819# 842#
820# Tracers 843# Tracers
@@ -822,17 +845,19 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
822# CONFIG_FUNCTION_TRACER is not set 845# CONFIG_FUNCTION_TRACER is not set
823# CONFIG_SCHED_TRACER is not set 846# CONFIG_SCHED_TRACER is not set
824# CONFIG_CONTEXT_SWITCH_TRACER is not set 847# CONFIG_CONTEXT_SWITCH_TRACER is not set
848# CONFIG_EVENT_TRACER is not set
825# CONFIG_BOOT_TRACER is not set 849# CONFIG_BOOT_TRACER is not set
826# CONFIG_TRACE_BRANCH_PROFILING is not set 850# CONFIG_TRACE_BRANCH_PROFILING is not set
827# CONFIG_STACK_TRACER is not set 851# CONFIG_STACK_TRACER is not set
828# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 852# CONFIG_KMEMTRACE is not set
853# CONFIG_WORKQUEUE_TRACER is not set
854# CONFIG_BLK_DEV_IO_TRACE is not set
829# CONFIG_SAMPLES is not set 855# CONFIG_SAMPLES is not set
830CONFIG_HAVE_ARCH_KGDB=y 856CONFIG_HAVE_ARCH_KGDB=y
831# CONFIG_KGDB is not set 857# CONFIG_KGDB is not set
832CONFIG_PRINT_STACK_DEPTH=64 858CONFIG_PRINT_STACK_DEPTH=64
833# CONFIG_DEBUG_STACKOVERFLOW is not set 859# CONFIG_DEBUG_STACKOVERFLOW is not set
834# CONFIG_DEBUG_STACK_USAGE is not set 860# CONFIG_DEBUG_STACK_USAGE is not set
835# CONFIG_DEBUG_PAGEALLOC is not set
836# CONFIG_CODE_PATCHING_SELFTEST is not set 861# CONFIG_CODE_PATCHING_SELFTEST is not set
837# CONFIG_FTR_FIXUP_SELFTEST is not set 862# CONFIG_FTR_FIXUP_SELFTEST is not set
838# CONFIG_MSI_BITMAP_SELFTEST is not set 863# CONFIG_MSI_BITMAP_SELFTEST is not set
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index fdded96633a1..129d80860f2a 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:42 2009 4# Wed May 13 17:22:02 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set 19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -55,6 +56,7 @@ CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 56CONFIG_DEFAULT_UIMAGE=y
56# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
57# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
59 61
60# 62#
@@ -71,6 +73,15 @@ CONFIG_SYSVIPC_SYSCTL=y
71# CONFIG_BSD_PROCESS_ACCT is not set 73# CONFIG_BSD_PROCESS_ACCT is not set
72# CONFIG_TASKSTATS is not set 74# CONFIG_TASKSTATS is not set
73# CONFIG_AUDIT is not set 75# CONFIG_AUDIT is not set
76
77#
78# RCU Subsystem
79#
80CONFIG_CLASSIC_RCU=y
81# CONFIG_TREE_RCU is not set
82# CONFIG_PREEMPT_RCU is not set
83# CONFIG_TREE_RCU_TRACE is not set
84# CONFIG_PREEMPT_RCU_TRACE is not set
74CONFIG_IKCONFIG=y 85CONFIG_IKCONFIG=y
75CONFIG_IKCONFIG_PROC=y 86CONFIG_IKCONFIG_PROC=y
76CONFIG_LOG_BUF_SHIFT=14 87CONFIG_LOG_BUF_SHIFT=14
@@ -81,22 +92,24 @@ CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_NAMESPACES is not set 92# CONFIG_NAMESPACES is not set
82CONFIG_BLK_DEV_INITRD=y 93CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE="" 94CONFIG_INITRAMFS_SOURCE=""
95CONFIG_RD_GZIP=y
96# CONFIG_RD_BZIP2 is not set
97# CONFIG_RD_LZMA is not set
84CONFIG_CC_OPTIMIZE_FOR_SIZE=y 98CONFIG_CC_OPTIMIZE_FOR_SIZE=y
85CONFIG_SYSCTL=y 99CONFIG_SYSCTL=y
100CONFIG_ANON_INODES=y
86CONFIG_EMBEDDED=y 101CONFIG_EMBEDDED=y
87CONFIG_SYSCTL_SYSCALL=y 102CONFIG_SYSCTL_SYSCALL=y
88CONFIG_KALLSYMS=y 103CONFIG_KALLSYMS=y
89CONFIG_KALLSYMS_ALL=y 104CONFIG_KALLSYMS_ALL=y
90CONFIG_KALLSYMS_STRIP_GENERATED=y
91# CONFIG_KALLSYMS_EXTRA_PASS is not set 105# CONFIG_KALLSYMS_EXTRA_PASS is not set
106# CONFIG_STRIP_ASM_SYMS is not set
92CONFIG_HOTPLUG=y 107CONFIG_HOTPLUG=y
93CONFIG_PRINTK=y 108CONFIG_PRINTK=y
94CONFIG_BUG=y 109CONFIG_BUG=y
95CONFIG_ELF_CORE=y 110CONFIG_ELF_CORE=y
96CONFIG_COMPAT_BRK=y
97CONFIG_BASE_FULL=y 111CONFIG_BASE_FULL=y
98CONFIG_FUTEX=y 112CONFIG_FUTEX=y
99CONFIG_ANON_INODES=y
100CONFIG_EPOLL=y 113CONFIG_EPOLL=y
101CONFIG_SIGNALFD=y 114CONFIG_SIGNALFD=y
102CONFIG_TIMERFD=y 115CONFIG_TIMERFD=y
@@ -106,10 +119,12 @@ CONFIG_AIO=y
106CONFIG_VM_EVENT_COUNTERS=y 119CONFIG_VM_EVENT_COUNTERS=y
107CONFIG_PCI_QUIRKS=y 120CONFIG_PCI_QUIRKS=y
108CONFIG_SLUB_DEBUG=y 121CONFIG_SLUB_DEBUG=y
122CONFIG_COMPAT_BRK=y
109# CONFIG_SLAB is not set 123# CONFIG_SLAB is not set
110CONFIG_SLUB=y 124CONFIG_SLUB=y
111# CONFIG_SLOB is not set 125# CONFIG_SLOB is not set
112# CONFIG_PROFILING is not set 126# CONFIG_PROFILING is not set
127# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 128CONFIG_HAVE_OPROFILE=y
114CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 129CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
115CONFIG_HAVE_IOREMAP_PROT=y 130CONFIG_HAVE_IOREMAP_PROT=y
@@ -117,6 +132,7 @@ CONFIG_HAVE_KPROBES=y
117CONFIG_HAVE_KRETPROBES=y 132CONFIG_HAVE_KRETPROBES=y
118CONFIG_HAVE_ARCH_TRACEHOOK=y 133CONFIG_HAVE_ARCH_TRACEHOOK=y
119CONFIG_HAVE_CLK=y 134CONFIG_HAVE_CLK=y
135# CONFIG_SLOW_WORK is not set
120# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 136# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
121CONFIG_SLABINFO=y 137CONFIG_SLABINFO=y
122CONFIG_RT_MUTEXES=y 138CONFIG_RT_MUTEXES=y
@@ -124,7 +140,6 @@ CONFIG_BASE_SMALL=0
124# CONFIG_MODULES is not set 140# CONFIG_MODULES is not set
125CONFIG_BLOCK=y 141CONFIG_BLOCK=y
126# CONFIG_LBD is not set 142# CONFIG_LBD is not set
127# CONFIG_BLK_DEV_IO_TRACE is not set
128# CONFIG_BLK_DEV_INTEGRITY is not set 143# CONFIG_BLK_DEV_INTEGRITY is not set
129 144
130# 145#
@@ -139,18 +154,11 @@ CONFIG_DEFAULT_AS=y
139# CONFIG_DEFAULT_CFQ is not set 154# CONFIG_DEFAULT_CFQ is not set
140# CONFIG_DEFAULT_NOOP is not set 155# CONFIG_DEFAULT_NOOP is not set
141CONFIG_DEFAULT_IOSCHED="anticipatory" 156CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
143# CONFIG_TREE_RCU is not set
144# CONFIG_PREEMPT_RCU is not set
145# CONFIG_TREE_RCU_TRACE is not set
146# CONFIG_PREEMPT_RCU_TRACE is not set
147# CONFIG_FREEZER is not set 157# CONFIG_FREEZER is not set
148 158
149# 159#
150# Platform support 160# Platform support
151# 161#
152CONFIG_PPC_MULTIPLATFORM=y
153CONFIG_CLASSIC32=y
154# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
155# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
156# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
@@ -169,6 +177,8 @@ CONFIG_PQ2_ADS_PCI_PIC=y
169# CONFIG_PPC_83xx is not set 177# CONFIG_PPC_83xx is not set
170# CONFIG_PPC_86xx is not set 178# CONFIG_PPC_86xx is not set
171# CONFIG_EMBEDDED6xx is not set 179# CONFIG_EMBEDDED6xx is not set
180# CONFIG_AMIGAONE is not set
181CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
172# CONFIG_IPIC is not set 182# CONFIG_IPIC is not set
173# CONFIG_MPIC is not set 183# CONFIG_MPIC is not set
174# CONFIG_MPIC_WEIRD is not set 184# CONFIG_MPIC_WEIRD is not set
@@ -225,9 +235,12 @@ CONFIG_ZONE_DMA_FLAG=1
225CONFIG_BOUNCE=y 235CONFIG_BOUNCE=y
226CONFIG_VIRT_TO_BUS=y 236CONFIG_VIRT_TO_BUS=y
227CONFIG_UNEVICTABLE_LRU=y 237CONFIG_UNEVICTABLE_LRU=y
238CONFIG_HAVE_MLOCK=y
239CONFIG_HAVE_MLOCKED_PAGE_BIT=y
228CONFIG_PPC_4K_PAGES=y 240CONFIG_PPC_4K_PAGES=y
229# CONFIG_PPC_16K_PAGES is not set 241# CONFIG_PPC_16K_PAGES is not set
230# CONFIG_PPC_64K_PAGES is not set 242# CONFIG_PPC_64K_PAGES is not set
243# CONFIG_PPC_256K_PAGES is not set
231CONFIG_FORCE_MAX_ZONEORDER=11 244CONFIG_FORCE_MAX_ZONEORDER=11
232CONFIG_PROC_DEVICETREE=y 245CONFIG_PROC_DEVICETREE=y
233# CONFIG_CMDLINE_BOOL is not set 246# CONFIG_CMDLINE_BOOL is not set
@@ -254,6 +267,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
254# CONFIG_PCI_LEGACY is not set 267# CONFIG_PCI_LEGACY is not set
255# CONFIG_PCI_DEBUG is not set 268# CONFIG_PCI_DEBUG is not set
256# CONFIG_PCI_STUB is not set 269# CONFIG_PCI_STUB is not set
270# CONFIG_PCI_IOV is not set
257# CONFIG_PCCARD is not set 271# CONFIG_PCCARD is not set
258# CONFIG_HOTPLUG_PCI is not set 272# CONFIG_HOTPLUG_PCI is not set
259# CONFIG_HAS_RAPIDIO is not set 273# CONFIG_HAS_RAPIDIO is not set
@@ -276,7 +290,6 @@ CONFIG_NET=y
276# 290#
277# Networking options 291# Networking options
278# 292#
279CONFIG_COMPAT_NET_DEV_OPS=y
280CONFIG_PACKET=y 293CONFIG_PACKET=y
281# CONFIG_PACKET_MMAP is not set 294# CONFIG_PACKET_MMAP is not set
282CONFIG_UNIX=y 295CONFIG_UNIX=y
@@ -357,6 +370,7 @@ CONFIG_NETFILTER_ADVANCED=y
357# CONFIG_LLC2 is not set 370# CONFIG_LLC2 is not set
358# CONFIG_IPX is not set 371# CONFIG_IPX is not set
359# CONFIG_ATALK is not set 372# CONFIG_ATALK is not set
373# CONFIG_PHONET is not set
360# CONFIG_NET_SCHED is not set 374# CONFIG_NET_SCHED is not set
361# CONFIG_DCB is not set 375# CONFIG_DCB is not set
362 376
@@ -368,7 +382,6 @@ CONFIG_NETFILTER_ADVANCED=y
368# CONFIG_CAN is not set 382# CONFIG_CAN is not set
369# CONFIG_IRDA is not set 383# CONFIG_IRDA is not set
370# CONFIG_BT is not set 384# CONFIG_BT is not set
371# CONFIG_PHONET is not set
372CONFIG_WIRELESS=y 385CONFIG_WIRELESS=y
373# CONFIG_CFG80211 is not set 386# CONFIG_CFG80211 is not set
374CONFIG_WIRELESS_OLD_REGULATORY=y 387CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -473,7 +486,6 @@ CONFIG_MTD_PHYSMAP_OF=y
473# LPDDR flash memory drivers 486# LPDDR flash memory drivers
474# 487#
475# CONFIG_MTD_LPDDR is not set 488# CONFIG_MTD_LPDDR is not set
476# CONFIG_MTD_QINFO_PROBE is not set
477 489
478# 490#
479# UBI - Unsorted block images 491# UBI - Unsorted block images
@@ -498,10 +510,14 @@ CONFIG_BLK_DEV_LOOP=y
498# CONFIG_BLK_DEV_HD is not set 510# CONFIG_BLK_DEV_HD is not set
499CONFIG_MISC_DEVICES=y 511CONFIG_MISC_DEVICES=y
500# CONFIG_PHANTOM is not set 512# CONFIG_PHANTOM is not set
501# CONFIG_EEPROM_93CX6 is not set
502# CONFIG_SGI_IOC4 is not set 513# CONFIG_SGI_IOC4 is not set
503# CONFIG_ENCLOSURE_SERVICES is not set 514# CONFIG_ENCLOSURE_SERVICES is not set
504# CONFIG_HP_ILO is not set 515# CONFIG_HP_ILO is not set
516
517#
518# EEPROM support
519#
520# CONFIG_EEPROM_93CX6 is not set
505CONFIG_HAVE_IDE=y 521CONFIG_HAVE_IDE=y
506CONFIG_IDE=y 522CONFIG_IDE=y
507 523
@@ -573,6 +589,7 @@ CONFIG_IDE_PROC_FS=y
573# CONFIG_I2O is not set 589# CONFIG_I2O is not set
574# CONFIG_MACINTOSH_DRIVERS is not set 590# CONFIG_MACINTOSH_DRIVERS is not set
575CONFIG_NETDEVICES=y 591CONFIG_NETDEVICES=y
592CONFIG_COMPAT_NET_DEV_OPS=y
576# CONFIG_DUMMY is not set 593# CONFIG_DUMMY is not set
577# CONFIG_BONDING is not set 594# CONFIG_BONDING is not set
578# CONFIG_EQUALIZER is not set 595# CONFIG_EQUALIZER is not set
@@ -606,6 +623,8 @@ CONFIG_MII=y
606# CONFIG_SUNGEM is not set 623# CONFIG_SUNGEM is not set
607# CONFIG_CASSINI is not set 624# CONFIG_CASSINI is not set
608# CONFIG_NET_VENDOR_3COM is not set 625# CONFIG_NET_VENDOR_3COM is not set
626# CONFIG_ETHOC is not set
627# CONFIG_DNET is not set
609# CONFIG_NET_TULIP is not set 628# CONFIG_NET_TULIP is not set
610# CONFIG_HP100 is not set 629# CONFIG_HP100 is not set
611# CONFIG_IBM_NEW_EMAC_ZMII is not set 630# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -628,6 +647,7 @@ CONFIG_NETDEV_1000=y
628# CONFIG_E1000 is not set 647# CONFIG_E1000 is not set
629# CONFIG_E1000E is not set 648# CONFIG_E1000E is not set
630# CONFIG_IGB is not set 649# CONFIG_IGB is not set
650# CONFIG_IGBVF is not set
631# CONFIG_NS83820 is not set 651# CONFIG_NS83820 is not set
632# CONFIG_HAMACHI is not set 652# CONFIG_HAMACHI is not set
633# CONFIG_R8169 is not set 653# CONFIG_R8169 is not set
@@ -637,8 +657,8 @@ CONFIG_NETDEV_1000=y
637# CONFIG_VIA_VELOCITY is not set 657# CONFIG_VIA_VELOCITY is not set
638# CONFIG_TIGON3 is not set 658# CONFIG_TIGON3 is not set
639# CONFIG_BNX2 is not set 659# CONFIG_BNX2 is not set
660# CONFIG_FSL_PQ_MDIO is not set
640# CONFIG_GIANFAR is not set 661# CONFIG_GIANFAR is not set
641# CONFIG_MV643XX_ETH is not set
642# CONFIG_QLA3XXX is not set 662# CONFIG_QLA3XXX is not set
643# CONFIG_ATL1 is not set 663# CONFIG_ATL1 is not set
644# CONFIG_JME is not set 664# CONFIG_JME is not set
@@ -650,6 +670,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
650# CONFIG_IXGBE is not set 670# CONFIG_IXGBE is not set
651# CONFIG_IXGB is not set 671# CONFIG_IXGB is not set
652# CONFIG_S2IO is not set 672# CONFIG_S2IO is not set
673# CONFIG_VXGE is not set
653# CONFIG_MYRI10GE is not set 674# CONFIG_MYRI10GE is not set
654# CONFIG_NETXEN_NIC is not set 675# CONFIG_NETXEN_NIC is not set
655# CONFIG_NIU is not set 676# CONFIG_NIU is not set
@@ -659,6 +680,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
659# CONFIG_BNX2X is not set 680# CONFIG_BNX2X is not set
660# CONFIG_QLGE is not set 681# CONFIG_QLGE is not set
661# CONFIG_SFC is not set 682# CONFIG_SFC is not set
683# CONFIG_BE2NET is not set
662# CONFIG_TR is not set 684# CONFIG_TR is not set
663 685
664# 686#
@@ -666,7 +688,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
666# 688#
667# CONFIG_WLAN_PRE80211 is not set 689# CONFIG_WLAN_PRE80211 is not set
668# CONFIG_WLAN_80211 is not set 690# CONFIG_WLAN_80211 is not set
669# CONFIG_IWLWIFI_LEDS is not set
670 691
671# 692#
672# Enable WiMAX (Networking options) to see the WiMAX drivers 693# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -720,7 +741,6 @@ CONFIG_MOUSE_PS2=y
720CONFIG_MOUSE_PS2_ALPS=y 741CONFIG_MOUSE_PS2_ALPS=y
721CONFIG_MOUSE_PS2_LOGIPS2PP=y 742CONFIG_MOUSE_PS2_LOGIPS2PP=y
722CONFIG_MOUSE_PS2_SYNAPTICS=y 743CONFIG_MOUSE_PS2_SYNAPTICS=y
723CONFIG_MOUSE_PS2_LIFEBOOK=y
724CONFIG_MOUSE_PS2_TRACKPOINT=y 744CONFIG_MOUSE_PS2_TRACKPOINT=y
725# CONFIG_MOUSE_PS2_ELANTECH is not set 745# CONFIG_MOUSE_PS2_ELANTECH is not set
726# CONFIG_MOUSE_PS2_TOUCHKIT is not set 746# CONFIG_MOUSE_PS2_TOUCHKIT is not set
@@ -773,6 +793,7 @@ CONFIG_LEGACY_PTYS=y
773CONFIG_LEGACY_PTY_COUNT=256 793CONFIG_LEGACY_PTY_COUNT=256
774# CONFIG_IPMI_HANDLER is not set 794# CONFIG_IPMI_HANDLER is not set
775CONFIG_HW_RANDOM=y 795CONFIG_HW_RANDOM=y
796# CONFIG_HW_RANDOM_TIMERIOMEM is not set
776# CONFIG_NVRAM is not set 797# CONFIG_NVRAM is not set
777# CONFIG_GEN_RTC is not set 798# CONFIG_GEN_RTC is not set
778# CONFIG_R3964 is not set 799# CONFIG_R3964 is not set
@@ -868,7 +889,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
868# CONFIG_USB_GADGET_MUSB_HDRC is not set 889# CONFIG_USB_GADGET_MUSB_HDRC is not set
869 890
870# 891#
871# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 892# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
872# 893#
873CONFIG_USB_GADGET=y 894CONFIG_USB_GADGET=y
874# CONFIG_USB_GADGET_DEBUG is not set 895# CONFIG_USB_GADGET_DEBUG is not set
@@ -907,13 +928,16 @@ CONFIG_USB_ETH_RNDIS=y
907# OTG and related infrastructure 928# OTG and related infrastructure
908# 929#
909# CONFIG_USB_GPIO_VBUS is not set 930# CONFIG_USB_GPIO_VBUS is not set
931# CONFIG_NOP_USB_XCEIV is not set
910# CONFIG_MMC is not set 932# CONFIG_MMC is not set
911# CONFIG_MEMSTICK is not set 933# CONFIG_MEMSTICK is not set
912# CONFIG_NEW_LEDS is not set 934# CONFIG_NEW_LEDS is not set
913# CONFIG_ACCESSIBILITY is not set 935# CONFIG_ACCESSIBILITY is not set
914# CONFIG_INFINIBAND is not set 936# CONFIG_INFINIBAND is not set
937# CONFIG_EDAC is not set
915# CONFIG_RTC_CLASS is not set 938# CONFIG_RTC_CLASS is not set
916# CONFIG_DMADEVICES is not set 939# CONFIG_DMADEVICES is not set
940# CONFIG_AUXDISPLAY is not set
917# CONFIG_UIO is not set 941# CONFIG_UIO is not set
918# CONFIG_STAGING is not set 942# CONFIG_STAGING is not set
919 943
@@ -924,6 +948,7 @@ CONFIG_EXT2_FS=y
924# CONFIG_EXT2_FS_XATTR is not set 948# CONFIG_EXT2_FS_XATTR is not set
925# CONFIG_EXT2_FS_XIP is not set 949# CONFIG_EXT2_FS_XIP is not set
926CONFIG_EXT3_FS=y 950CONFIG_EXT3_FS=y
951# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
927CONFIG_EXT3_FS_XATTR=y 952CONFIG_EXT3_FS_XATTR=y
928# CONFIG_EXT3_FS_POSIX_ACL is not set 953# CONFIG_EXT3_FS_POSIX_ACL is not set
929# CONFIG_EXT3_FS_SECURITY is not set 954# CONFIG_EXT3_FS_SECURITY is not set
@@ -945,6 +970,10 @@ CONFIG_AUTOFS4_FS=y
945# CONFIG_FUSE_FS is not set 970# CONFIG_FUSE_FS is not set
946 971
947# 972#
973# Caches
974#
975
976#
948# CD-ROM/DVD Filesystems 977# CD-ROM/DVD Filesystems
949# 978#
950# CONFIG_ISO9660_FS is not set 979# CONFIG_ISO9660_FS is not set
@@ -1059,6 +1088,7 @@ CONFIG_NLS_ISO8859_1=y
1059# CONFIG_NLS_KOI8_R is not set 1088# CONFIG_NLS_KOI8_R is not set
1060# CONFIG_NLS_KOI8_U is not set 1089# CONFIG_NLS_KOI8_U is not set
1061CONFIG_NLS_UTF8=y 1090CONFIG_NLS_UTF8=y
1091# CONFIG_BINARY_PRINTF is not set
1062 1092
1063# 1093#
1064# Library routines 1094# Library routines
@@ -1074,11 +1104,12 @@ CONFIG_CRC32=y
1074# CONFIG_LIBCRC32C is not set 1104# CONFIG_LIBCRC32C is not set
1075CONFIG_ZLIB_INFLATE=y 1105CONFIG_ZLIB_INFLATE=y
1076CONFIG_ZLIB_DEFLATE=y 1106CONFIG_ZLIB_DEFLATE=y
1077CONFIG_PLIST=y 1107CONFIG_DECOMPRESS_GZIP=y
1078CONFIG_HAS_IOMEM=y 1108CONFIG_HAS_IOMEM=y
1079CONFIG_HAS_IOPORT=y 1109CONFIG_HAS_IOPORT=y
1080CONFIG_HAS_DMA=y 1110CONFIG_HAS_DMA=y
1081CONFIG_HAVE_LMB=y 1111CONFIG_HAVE_LMB=y
1112CONFIG_NLATTR=y
1082 1113
1083# 1114#
1084# Kernel hacking 1115# Kernel hacking
@@ -1096,6 +1127,9 @@ CONFIG_DEBUG_KERNEL=y
1096CONFIG_DETECT_SOFTLOCKUP=y 1127CONFIG_DETECT_SOFTLOCKUP=y
1097# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1128# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1098CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1129CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1130CONFIG_DETECT_HUNG_TASK=y
1131# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1132CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1099# CONFIG_SCHED_DEBUG is not set 1133# CONFIG_SCHED_DEBUG is not set
1100# CONFIG_SCHEDSTATS is not set 1134# CONFIG_SCHEDSTATS is not set
1101# CONFIG_TIMER_STATS is not set 1135# CONFIG_TIMER_STATS is not set
@@ -1125,9 +1159,12 @@ CONFIG_DEBUG_INFO=y
1125# CONFIG_FAULT_INJECTION is not set 1159# CONFIG_FAULT_INJECTION is not set
1126# CONFIG_LATENCYTOP is not set 1160# CONFIG_LATENCYTOP is not set
1127CONFIG_SYSCTL_SYSCALL_CHECK=y 1161CONFIG_SYSCTL_SYSCALL_CHECK=y
1162# CONFIG_DEBUG_PAGEALLOC is not set
1128CONFIG_HAVE_FUNCTION_TRACER=y 1163CONFIG_HAVE_FUNCTION_TRACER=y
1164CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1129CONFIG_HAVE_DYNAMIC_FTRACE=y 1165CONFIG_HAVE_DYNAMIC_FTRACE=y
1130CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1166CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1167CONFIG_TRACING_SUPPORT=y
1131 1168
1132# 1169#
1133# Tracers 1170# Tracers
@@ -1135,16 +1172,18 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1135# CONFIG_FUNCTION_TRACER is not set 1172# CONFIG_FUNCTION_TRACER is not set
1136# CONFIG_SCHED_TRACER is not set 1173# CONFIG_SCHED_TRACER is not set
1137# CONFIG_CONTEXT_SWITCH_TRACER is not set 1174# CONFIG_CONTEXT_SWITCH_TRACER is not set
1175# CONFIG_EVENT_TRACER is not set
1138# CONFIG_BOOT_TRACER is not set 1176# CONFIG_BOOT_TRACER is not set
1139# CONFIG_TRACE_BRANCH_PROFILING is not set 1177# CONFIG_TRACE_BRANCH_PROFILING is not set
1140# CONFIG_STACK_TRACER is not set 1178# CONFIG_STACK_TRACER is not set
1141# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1179# CONFIG_KMEMTRACE is not set
1180# CONFIG_WORKQUEUE_TRACER is not set
1181# CONFIG_BLK_DEV_IO_TRACE is not set
1142# CONFIG_SAMPLES is not set 1182# CONFIG_SAMPLES is not set
1143CONFIG_HAVE_ARCH_KGDB=y 1183CONFIG_HAVE_ARCH_KGDB=y
1144CONFIG_PRINT_STACK_DEPTH=64 1184CONFIG_PRINT_STACK_DEPTH=64
1145# CONFIG_DEBUG_STACKOVERFLOW is not set 1185# CONFIG_DEBUG_STACKOVERFLOW is not set
1146# CONFIG_DEBUG_STACK_USAGE is not set 1186# CONFIG_DEBUG_STACK_USAGE is not set
1147# CONFIG_DEBUG_PAGEALLOC is not set
1148# CONFIG_CODE_PATCHING_SELFTEST is not set 1187# CONFIG_CODE_PATCHING_SELFTEST is not set
1149# CONFIG_FTR_FIXUP_SELFTEST is not set 1188# CONFIG_FTR_FIXUP_SELFTEST is not set
1150# CONFIG_MSI_BITMAP_SELFTEST is not set 1189# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1175,9 +1214,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1175CONFIG_CRYPTO_HASH=y 1214CONFIG_CRYPTO_HASH=y
1176CONFIG_CRYPTO_HASH2=y 1215CONFIG_CRYPTO_HASH2=y
1177CONFIG_CRYPTO_RNG2=y 1216CONFIG_CRYPTO_RNG2=y
1217CONFIG_CRYPTO_PCOMP=y
1178CONFIG_CRYPTO_MANAGER=y 1218CONFIG_CRYPTO_MANAGER=y
1179CONFIG_CRYPTO_MANAGER2=y 1219CONFIG_CRYPTO_MANAGER2=y
1180# CONFIG_CRYPTO_NULL is not set 1220# CONFIG_CRYPTO_NULL is not set
1221CONFIG_CRYPTO_WORKQUEUE=y
1181# CONFIG_CRYPTO_CRYPTD is not set 1222# CONFIG_CRYPTO_CRYPTD is not set
1182# CONFIG_CRYPTO_AUTHENC is not set 1223# CONFIG_CRYPTO_AUTHENC is not set
1183 1224
@@ -1241,6 +1282,7 @@ CONFIG_CRYPTO_DES=y
1241# Compression 1282# Compression
1242# 1283#
1243# CONFIG_CRYPTO_DEFLATE is not set 1284# CONFIG_CRYPTO_DEFLATE is not set
1285# CONFIG_CRYPTO_ZLIB is not set
1244# CONFIG_CRYPTO_LZO is not set 1286# CONFIG_CRYPTO_LZO is not set
1245 1287
1246# 1288#
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index e971db171138..e9f287f313fa 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.29-rc2 3# Linux kernel version: 2.6.30-rc3
4# Mon Jan 26 15:35:44 2009 4# Wed May 13 17:22:03 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18CONFIG_ALTIVEC=y 19CONFIG_ALTIVEC=y
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -56,6 +57,7 @@ CONFIG_GENERIC_BUG=y
56# CONFIG_DEFAULT_UIMAGE is not set 57# CONFIG_DEFAULT_UIMAGE is not set
57# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
60 62
61# 63#
@@ -70,9 +72,19 @@ CONFIG_SWAP=y
70CONFIG_SYSVIPC=y 72CONFIG_SYSVIPC=y
71CONFIG_SYSVIPC_SYSCTL=y 73CONFIG_SYSVIPC_SYSCTL=y
72CONFIG_POSIX_MQUEUE=y 74CONFIG_POSIX_MQUEUE=y
75CONFIG_POSIX_MQUEUE_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 76# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 77# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 78# CONFIG_AUDIT is not set
79
80#
81# RCU Subsystem
82#
83CONFIG_CLASSIC_RCU=y
84# CONFIG_TREE_RCU is not set
85# CONFIG_PREEMPT_RCU is not set
86# CONFIG_TREE_RCU_TRACE is not set
87# CONFIG_PREEMPT_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 88# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 89CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 90CONFIG_GROUP_SCHED=y
@@ -89,22 +101,26 @@ CONFIG_NAMESPACES=y
89# CONFIG_IPC_NS is not set 101# CONFIG_IPC_NS is not set
90# CONFIG_USER_NS is not set 102# CONFIG_USER_NS is not set
91# CONFIG_PID_NS is not set 103# CONFIG_PID_NS is not set
104# CONFIG_NET_NS is not set
92CONFIG_BLK_DEV_INITRD=y 105CONFIG_BLK_DEV_INITRD=y
93CONFIG_INITRAMFS_SOURCE="" 106CONFIG_INITRAMFS_SOURCE=""
107CONFIG_RD_GZIP=y
108CONFIG_RD_BZIP2=y
109CONFIG_RD_LZMA=y
94# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 110# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
95CONFIG_SYSCTL=y 111CONFIG_SYSCTL=y
112CONFIG_ANON_INODES=y
96# CONFIG_EMBEDDED is not set 113# CONFIG_EMBEDDED is not set
97CONFIG_SYSCTL_SYSCALL=y 114CONFIG_SYSCTL_SYSCALL=y
98CONFIG_KALLSYMS=y 115CONFIG_KALLSYMS=y
99# CONFIG_KALLSYMS_EXTRA_PASS is not set 116# CONFIG_KALLSYMS_EXTRA_PASS is not set
117# CONFIG_STRIP_ASM_SYMS is not set
100CONFIG_HOTPLUG=y 118CONFIG_HOTPLUG=y
101CONFIG_PRINTK=y 119CONFIG_PRINTK=y
102CONFIG_BUG=y 120CONFIG_BUG=y
103CONFIG_ELF_CORE=y 121CONFIG_ELF_CORE=y
104CONFIG_COMPAT_BRK=y
105CONFIG_BASE_FULL=y 122CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 123CONFIG_FUTEX=y
107CONFIG_ANON_INODES=y
108CONFIG_EPOLL=y 124CONFIG_EPOLL=y
109CONFIG_SIGNALFD=y 125CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 126CONFIG_TIMERFD=y
@@ -114,16 +130,19 @@ CONFIG_AIO=y
114CONFIG_VM_EVENT_COUNTERS=y 130CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y 131CONFIG_PCI_QUIRKS=y
116CONFIG_SLUB_DEBUG=y 132CONFIG_SLUB_DEBUG=y
133CONFIG_COMPAT_BRK=y
117# CONFIG_SLAB is not set 134# CONFIG_SLAB is not set
118CONFIG_SLUB=y 135CONFIG_SLUB=y
119# CONFIG_SLOB is not set 136# CONFIG_SLOB is not set
120# CONFIG_PROFILING is not set 137# CONFIG_PROFILING is not set
138# CONFIG_MARKERS is not set
121CONFIG_HAVE_OPROFILE=y 139CONFIG_HAVE_OPROFILE=y
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 140CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
123CONFIG_HAVE_IOREMAP_PROT=y 141CONFIG_HAVE_IOREMAP_PROT=y
124CONFIG_HAVE_KPROBES=y 142CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 143CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 144CONFIG_HAVE_ARCH_TRACEHOOK=y
145# CONFIG_SLOW_WORK is not set
127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 146# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
128CONFIG_SLABINFO=y 147CONFIG_SLABINFO=y
129CONFIG_RT_MUTEXES=y 148CONFIG_RT_MUTEXES=y
@@ -131,7 +150,6 @@ CONFIG_BASE_SMALL=0
131# CONFIG_MODULES is not set 150# CONFIG_MODULES is not set
132CONFIG_BLOCK=y 151CONFIG_BLOCK=y
133CONFIG_LBD=y 152CONFIG_LBD=y
134# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_BLK_DEV_BSG is not set 153# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set 154# CONFIG_BLK_DEV_INTEGRITY is not set
137 155
@@ -147,18 +165,11 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_CFQ is not set 165# CONFIG_DEFAULT_CFQ is not set
148# CONFIG_DEFAULT_NOOP is not set 166# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 167CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
151# CONFIG_TREE_RCU is not set
152# CONFIG_PREEMPT_RCU is not set
153# CONFIG_TREE_RCU_TRACE is not set
154# CONFIG_PREEMPT_RCU_TRACE is not set
155# CONFIG_FREEZER is not set 168# CONFIG_FREEZER is not set
156 169
157# 170#
158# Platform support 171# Platform support
159# 172#
160CONFIG_PPC_MULTIPLATFORM=y
161CONFIG_CLASSIC32=y
162# CONFIG_PPC_CHRP is not set 173# CONFIG_PPC_CHRP is not set
163# CONFIG_MPC5121_ADS is not set 174# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set 175# CONFIG_MPC5121_GENERIC is not set
@@ -178,6 +189,8 @@ CONFIG_EMBEDDED6xx=y
178CONFIG_PPC_PRPMC2800=y 189CONFIG_PPC_PRPMC2800=y
179# CONFIG_PPC_C2K is not set 190# CONFIG_PPC_C2K is not set
180CONFIG_MV64X60=y 191CONFIG_MV64X60=y
192# CONFIG_AMIGAONE is not set
193CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
181# CONFIG_IPIC is not set 194# CONFIG_IPIC is not set
182# CONFIG_MPIC is not set 195# CONFIG_MPIC is not set
183# CONFIG_MPIC_WEIRD is not set 196# CONFIG_MPIC_WEIRD is not set
@@ -237,9 +250,12 @@ CONFIG_ZONE_DMA_FLAG=1
237CONFIG_BOUNCE=y 250CONFIG_BOUNCE=y
238CONFIG_VIRT_TO_BUS=y 251CONFIG_VIRT_TO_BUS=y
239CONFIG_UNEVICTABLE_LRU=y 252CONFIG_UNEVICTABLE_LRU=y
253CONFIG_HAVE_MLOCK=y
254CONFIG_HAVE_MLOCKED_PAGE_BIT=y
240CONFIG_PPC_4K_PAGES=y 255CONFIG_PPC_4K_PAGES=y
241# CONFIG_PPC_16K_PAGES is not set 256# CONFIG_PPC_16K_PAGES is not set
242# CONFIG_PPC_64K_PAGES is not set 257# CONFIG_PPC_64K_PAGES is not set
258# CONFIG_PPC_256K_PAGES is not set
243CONFIG_FORCE_MAX_ZONEORDER=11 259CONFIG_FORCE_MAX_ZONEORDER=11
244CONFIG_PROC_DEVICETREE=y 260CONFIG_PROC_DEVICETREE=y
245# CONFIG_CMDLINE_BOOL is not set 261# CONFIG_CMDLINE_BOOL is not set
@@ -262,6 +278,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
262# CONFIG_PCI_MSI is not set 278# CONFIG_PCI_MSI is not set
263# CONFIG_PCI_LEGACY is not set 279# CONFIG_PCI_LEGACY is not set
264# CONFIG_PCI_STUB is not set 280# CONFIG_PCI_STUB is not set
281# CONFIG_PCI_IOV is not set
265# CONFIG_PCCARD is not set 282# CONFIG_PCCARD is not set
266# CONFIG_HOTPLUG_PCI is not set 283# CONFIG_HOTPLUG_PCI is not set
267# CONFIG_HAS_RAPIDIO is not set 284# CONFIG_HAS_RAPIDIO is not set
@@ -279,15 +296,11 @@ CONFIG_PAGE_OFFSET=0xc0000000
279CONFIG_KERNEL_START=0xc0000000 296CONFIG_KERNEL_START=0xc0000000
280CONFIG_PHYSICAL_START=0x00000000 297CONFIG_PHYSICAL_START=0x00000000
281CONFIG_TASK_SIZE=0xc0000000 298CONFIG_TASK_SIZE=0xc0000000
282CONFIG_CONSISTENT_START=0xff100000
283CONFIG_CONSISTENT_SIZE=0x00200000
284CONFIG_NET=y 299CONFIG_NET=y
285 300
286# 301#
287# Networking options 302# Networking options
288# 303#
289# CONFIG_NET_NS is not set
290CONFIG_COMPAT_NET_DEV_OPS=y
291CONFIG_PACKET=y 304CONFIG_PACKET=y
292# CONFIG_PACKET_MMAP is not set 305# CONFIG_PACKET_MMAP is not set
293CONFIG_UNIX=y 306CONFIG_UNIX=y
@@ -318,7 +331,7 @@ CONFIG_SYN_COOKIES=y
318CONFIG_INET_XFRM_MODE_TRANSPORT=y 331CONFIG_INET_XFRM_MODE_TRANSPORT=y
319CONFIG_INET_XFRM_MODE_TUNNEL=y 332CONFIG_INET_XFRM_MODE_TUNNEL=y
320CONFIG_INET_XFRM_MODE_BEET=y 333CONFIG_INET_XFRM_MODE_BEET=y
321# CONFIG_INET_LRO is not set 334CONFIG_INET_LRO=y
322CONFIG_INET_DIAG=y 335CONFIG_INET_DIAG=y
323CONFIG_INET_TCP_DIAG=y 336CONFIG_INET_TCP_DIAG=y
324# CONFIG_TCP_CONG_ADVANCED is not set 337# CONFIG_TCP_CONG_ADVANCED is not set
@@ -343,6 +356,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_LAPB is not set 356# CONFIG_LAPB is not set
344# CONFIG_ECONET is not set 357# CONFIG_ECONET is not set
345# CONFIG_WAN_ROUTER is not set 358# CONFIG_WAN_ROUTER is not set
359# CONFIG_PHONET is not set
346# CONFIG_NET_SCHED is not set 360# CONFIG_NET_SCHED is not set
347# CONFIG_DCB is not set 361# CONFIG_DCB is not set
348 362
@@ -355,7 +369,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
355# CONFIG_IRDA is not set 369# CONFIG_IRDA is not set
356# CONFIG_BT is not set 370# CONFIG_BT is not set
357# CONFIG_AF_RXRPC is not set 371# CONFIG_AF_RXRPC is not set
358# CONFIG_PHONET is not set
359CONFIG_WIRELESS=y 372CONFIG_WIRELESS=y
360# CONFIG_CFG80211 is not set 373# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y 374CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -459,7 +472,6 @@ CONFIG_MTD_PHYSMAP_OF=y
459# LPDDR flash memory drivers 472# LPDDR flash memory drivers
460# 473#
461# CONFIG_MTD_LPDDR is not set 474# CONFIG_MTD_LPDDR is not set
462# CONFIG_MTD_QINFO_PROBE is not set
463 475
464# 476#
465# UBI - Unsorted block images 477# UBI - Unsorted block images
@@ -489,19 +501,27 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
489# CONFIG_BLK_DEV_HD is not set 501# CONFIG_BLK_DEV_HD is not set
490CONFIG_MISC_DEVICES=y 502CONFIG_MISC_DEVICES=y
491# CONFIG_PHANTOM is not set 503# CONFIG_PHANTOM is not set
492# CONFIG_EEPROM_93CX6 is not set
493# CONFIG_SGI_IOC4 is not set 504# CONFIG_SGI_IOC4 is not set
494# CONFIG_TIFM_CORE is not set 505# CONFIG_TIFM_CORE is not set
495# CONFIG_ICS932S401 is not set 506# CONFIG_ICS932S401 is not set
496# CONFIG_ENCLOSURE_SERVICES is not set 507# CONFIG_ENCLOSURE_SERVICES is not set
497# CONFIG_HP_ILO is not set 508# CONFIG_HP_ILO is not set
509# CONFIG_ISL29003 is not set
498# CONFIG_C2PORT is not set 510# CONFIG_C2PORT is not set
511
512#
513# EEPROM support
514#
515# CONFIG_EEPROM_AT24 is not set
516# CONFIG_EEPROM_LEGACY is not set
517# CONFIG_EEPROM_93CX6 is not set
499CONFIG_HAVE_IDE=y 518CONFIG_HAVE_IDE=y
500CONFIG_IDE=y 519CONFIG_IDE=y
501 520
502# 521#
503# Please see Documentation/ide/ide.txt for help/info on IDE drives 522# Please see Documentation/ide/ide.txt for help/info on IDE drives
504# 523#
524CONFIG_IDE_XFER_MODE=y
505# CONFIG_BLK_DEV_IDE_SATA is not set 525# CONFIG_BLK_DEV_IDE_SATA is not set
506CONFIG_IDE_GD=y 526CONFIG_IDE_GD=y
507CONFIG_IDE_GD_ATA=y 527CONFIG_IDE_GD_ATA=y
@@ -605,9 +625,11 @@ CONFIG_SCSI_LOWLEVEL=y
605# CONFIG_MEGARAID_NEWGEN is not set 625# CONFIG_MEGARAID_NEWGEN is not set
606# CONFIG_MEGARAID_LEGACY is not set 626# CONFIG_MEGARAID_LEGACY is not set
607# CONFIG_MEGARAID_SAS is not set 627# CONFIG_MEGARAID_SAS is not set
628# CONFIG_SCSI_MPT2SAS is not set
608# CONFIG_SCSI_HPTIOP is not set 629# CONFIG_SCSI_HPTIOP is not set
609# CONFIG_SCSI_BUSLOGIC is not set 630# CONFIG_SCSI_BUSLOGIC is not set
610# CONFIG_LIBFC is not set 631# CONFIG_LIBFC is not set
632# CONFIG_LIBFCOE is not set
611# CONFIG_FCOE is not set 633# CONFIG_FCOE is not set
612# CONFIG_SCSI_DMX3191D is not set 634# CONFIG_SCSI_DMX3191D is not set
613# CONFIG_SCSI_EATA is not set 635# CONFIG_SCSI_EATA is not set
@@ -630,6 +652,7 @@ CONFIG_SCSI_LOWLEVEL=y
630# CONFIG_SCSI_DEBUG is not set 652# CONFIG_SCSI_DEBUG is not set
631# CONFIG_SCSI_SRP is not set 653# CONFIG_SCSI_SRP is not set
632# CONFIG_SCSI_DH is not set 654# CONFIG_SCSI_DH is not set
655# CONFIG_SCSI_OSD_INITIATOR is not set
633CONFIG_ATA=y 656CONFIG_ATA=y
634# CONFIG_ATA_NONSTANDARD is not set 657# CONFIG_ATA_NONSTANDARD is not set
635CONFIG_SATA_PMP=y 658CONFIG_SATA_PMP=y
@@ -707,6 +730,7 @@ CONFIG_MACINTOSH_DRIVERS=y
707# CONFIG_MAC_EMUMOUSEBTN is not set 730# CONFIG_MAC_EMUMOUSEBTN is not set
708# CONFIG_WINDFARM is not set 731# CONFIG_WINDFARM is not set
709CONFIG_NETDEVICES=y 732CONFIG_NETDEVICES=y
733CONFIG_COMPAT_NET_DEV_OPS=y
710# CONFIG_DUMMY is not set 734# CONFIG_DUMMY is not set
711# CONFIG_BONDING is not set 735# CONFIG_BONDING is not set
712# CONFIG_MACVLAN is not set 736# CONFIG_MACVLAN is not set
@@ -740,6 +764,8 @@ CONFIG_MII=y
740# CONFIG_SUNGEM is not set 764# CONFIG_SUNGEM is not set
741# CONFIG_CASSINI is not set 765# CONFIG_CASSINI is not set
742# CONFIG_NET_VENDOR_3COM is not set 766# CONFIG_NET_VENDOR_3COM is not set
767# CONFIG_ETHOC is not set
768# CONFIG_DNET is not set
743# CONFIG_NET_TULIP is not set 769# CONFIG_NET_TULIP is not set
744# CONFIG_HP100 is not set 770# CONFIG_HP100 is not set
745# CONFIG_IBM_NEW_EMAC_ZMII is not set 771# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -781,6 +807,7 @@ CONFIG_E1000=y
781# CONFIG_E1000E is not set 807# CONFIG_E1000E is not set
782# CONFIG_IP1000 is not set 808# CONFIG_IP1000 is not set
783# CONFIG_IGB is not set 809# CONFIG_IGB is not set
810# CONFIG_IGBVF is not set
784# CONFIG_NS83820 is not set 811# CONFIG_NS83820 is not set
785# CONFIG_HAMACHI is not set 812# CONFIG_HAMACHI is not set
786# CONFIG_YELLOWFIN is not set 813# CONFIG_YELLOWFIN is not set
@@ -795,6 +822,7 @@ CONFIG_MV643XX_ETH=y
795# CONFIG_QLA3XXX is not set 822# CONFIG_QLA3XXX is not set
796# CONFIG_ATL1 is not set 823# CONFIG_ATL1 is not set
797# CONFIG_ATL1E is not set 824# CONFIG_ATL1E is not set
825# CONFIG_ATL1C is not set
798# CONFIG_JME is not set 826# CONFIG_JME is not set
799CONFIG_NETDEV_10000=y 827CONFIG_NETDEV_10000=y
800# CONFIG_CHELSIO_T1 is not set 828# CONFIG_CHELSIO_T1 is not set
@@ -804,6 +832,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
804# CONFIG_IXGBE is not set 832# CONFIG_IXGBE is not set
805# CONFIG_IXGB is not set 833# CONFIG_IXGB is not set
806# CONFIG_S2IO is not set 834# CONFIG_S2IO is not set
835# CONFIG_VXGE is not set
807# CONFIG_MYRI10GE is not set 836# CONFIG_MYRI10GE is not set
808# CONFIG_NETXEN_NIC is not set 837# CONFIG_NETXEN_NIC is not set
809# CONFIG_NIU is not set 838# CONFIG_NIU is not set
@@ -813,6 +842,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
813# CONFIG_BNX2X is not set 842# CONFIG_BNX2X is not set
814# CONFIG_QLGE is not set 843# CONFIG_QLGE is not set
815# CONFIG_SFC is not set 844# CONFIG_SFC is not set
845# CONFIG_BE2NET is not set
816# CONFIG_TR is not set 846# CONFIG_TR is not set
817 847
818# 848#
@@ -820,7 +850,6 @@ CONFIG_CHELSIO_T3_DEPENDS=y
820# 850#
821# CONFIG_WLAN_PRE80211 is not set 851# CONFIG_WLAN_PRE80211 is not set
822# CONFIG_WLAN_80211 is not set 852# CONFIG_WLAN_80211 is not set
823# CONFIG_IWLWIFI_LEDS is not set
824 853
825# 854#
826# Enable WiMAX (Networking options) to see the WiMAX drivers 855# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -975,12 +1004,9 @@ CONFIG_I2C_MV64XXX=y
975# Miscellaneous I2C Chip support 1004# Miscellaneous I2C Chip support
976# 1005#
977# CONFIG_DS1682 is not set 1006# CONFIG_DS1682 is not set
978# CONFIG_EEPROM_AT24 is not set
979# CONFIG_EEPROM_LEGACY is not set
980# CONFIG_SENSORS_PCF8574 is not set 1007# CONFIG_SENSORS_PCF8574 is not set
981# CONFIG_PCF8575 is not set 1008# CONFIG_PCF8575 is not set
982# CONFIG_SENSORS_PCA9539 is not set 1009# CONFIG_SENSORS_PCA9539 is not set
983# CONFIG_SENSORS_PCF8591 is not set
984# CONFIG_SENSORS_MAX6875 is not set 1010# CONFIG_SENSORS_MAX6875 is not set
985# CONFIG_SENSORS_TSL2550 is not set 1011# CONFIG_SENSORS_TSL2550 is not set
986# CONFIG_I2C_DEBUG_CORE is not set 1012# CONFIG_I2C_DEBUG_CORE is not set
@@ -1012,6 +1038,7 @@ CONFIG_HWMON=y
1012# CONFIG_SENSORS_F71805F is not set 1038# CONFIG_SENSORS_F71805F is not set
1013# CONFIG_SENSORS_F71882FG is not set 1039# CONFIG_SENSORS_F71882FG is not set
1014# CONFIG_SENSORS_F75375S is not set 1040# CONFIG_SENSORS_F75375S is not set
1041# CONFIG_SENSORS_G760A is not set
1015# CONFIG_SENSORS_GL518SM is not set 1042# CONFIG_SENSORS_GL518SM is not set
1016# CONFIG_SENSORS_GL520SM is not set 1043# CONFIG_SENSORS_GL520SM is not set
1017# CONFIG_SENSORS_IT87 is not set 1044# CONFIG_SENSORS_IT87 is not set
@@ -1026,11 +1053,14 @@ CONFIG_HWMON=y
1026# CONFIG_SENSORS_LM90 is not set 1053# CONFIG_SENSORS_LM90 is not set
1027# CONFIG_SENSORS_LM92 is not set 1054# CONFIG_SENSORS_LM92 is not set
1028# CONFIG_SENSORS_LM93 is not set 1055# CONFIG_SENSORS_LM93 is not set
1056# CONFIG_SENSORS_LTC4215 is not set
1029# CONFIG_SENSORS_LTC4245 is not set 1057# CONFIG_SENSORS_LTC4245 is not set
1058# CONFIG_SENSORS_LM95241 is not set
1030# CONFIG_SENSORS_MAX1619 is not set 1059# CONFIG_SENSORS_MAX1619 is not set
1031# CONFIG_SENSORS_MAX6650 is not set 1060# CONFIG_SENSORS_MAX6650 is not set
1032# CONFIG_SENSORS_PC87360 is not set 1061# CONFIG_SENSORS_PC87360 is not set
1033# CONFIG_SENSORS_PC87427 is not set 1062# CONFIG_SENSORS_PC87427 is not set
1063# CONFIG_SENSORS_PCF8591 is not set
1034# CONFIG_SENSORS_SIS5595 is not set 1064# CONFIG_SENSORS_SIS5595 is not set
1035# CONFIG_SENSORS_DME1737 is not set 1065# CONFIG_SENSORS_DME1737 is not set
1036# CONFIG_SENSORS_SMSC47M1 is not set 1066# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1127,15 +1157,17 @@ CONFIG_USB_HID=y
1127# 1157#
1128# Special HID drivers 1158# Special HID drivers
1129# 1159#
1130CONFIG_HID_COMPAT=y
1131CONFIG_HID_A4TECH=y 1160CONFIG_HID_A4TECH=y
1132CONFIG_HID_APPLE=y 1161CONFIG_HID_APPLE=y
1133CONFIG_HID_BELKIN=y 1162CONFIG_HID_BELKIN=y
1134CONFIG_HID_CHERRY=y 1163CONFIG_HID_CHERRY=y
1135CONFIG_HID_CHICONY=y 1164CONFIG_HID_CHICONY=y
1136CONFIG_HID_CYPRESS=y 1165CONFIG_HID_CYPRESS=y
1166# CONFIG_DRAGONRISE_FF is not set
1137CONFIG_HID_EZKEY=y 1167CONFIG_HID_EZKEY=y
1168CONFIG_HID_KYE=y
1138CONFIG_HID_GYRATION=y 1169CONFIG_HID_GYRATION=y
1170CONFIG_HID_KENSINGTON=y
1139CONFIG_HID_LOGITECH=y 1171CONFIG_HID_LOGITECH=y
1140# CONFIG_LOGITECH_FF is not set 1172# CONFIG_LOGITECH_FF is not set
1141# CONFIG_LOGIRUMBLEPAD2_FF is not set 1173# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -1202,11 +1234,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1202# CONFIG_USB_TMC is not set 1234# CONFIG_USB_TMC is not set
1203 1235
1204# 1236#
1205# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1237# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1206# 1238#
1207 1239
1208# 1240#
1209# see USB_STORAGE Help for more information 1241# also be needed; see USB_STORAGE Help for more info
1210# 1242#
1211# CONFIG_USB_STORAGE is not set 1243# CONFIG_USB_STORAGE is not set
1212# CONFIG_USB_LIBUSUAL is not set 1244# CONFIG_USB_LIBUSUAL is not set
@@ -1236,7 +1268,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1236# CONFIG_USB_LED is not set 1268# CONFIG_USB_LED is not set
1237# CONFIG_USB_CYPRESS_CY7C63 is not set 1269# CONFIG_USB_CYPRESS_CY7C63 is not set
1238# CONFIG_USB_CYTHERM is not set 1270# CONFIG_USB_CYTHERM is not set
1239# CONFIG_USB_PHIDGET is not set
1240# CONFIG_USB_IDMOUSE is not set 1271# CONFIG_USB_IDMOUSE is not set
1241# CONFIG_USB_FTDI_ELAN is not set 1272# CONFIG_USB_FTDI_ELAN is not set
1242# CONFIG_USB_APPLEDISPLAY is not set 1273# CONFIG_USB_APPLEDISPLAY is not set
@@ -1252,6 +1283,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1252# 1283#
1253# OTG and related infrastructure 1284# OTG and related infrastructure
1254# 1285#
1286# CONFIG_NOP_USB_XCEIV is not set
1255# CONFIG_UWB is not set 1287# CONFIG_UWB is not set
1256# CONFIG_MMC is not set 1288# CONFIG_MMC is not set
1257# CONFIG_MEMSTICK is not set 1289# CONFIG_MEMSTICK is not set
@@ -1313,8 +1345,9 @@ CONFIG_RTC_DRV_MAX6900=y
1313# 1345#
1314# on-CPU RTC drivers 1346# on-CPU RTC drivers
1315# 1347#
1316# CONFIG_RTC_DRV_PPC is not set 1348# CONFIG_RTC_DRV_GENERIC is not set
1317# CONFIG_DMADEVICES is not set 1349# CONFIG_DMADEVICES is not set
1350# CONFIG_AUXDISPLAY is not set
1318# CONFIG_UIO is not set 1351# CONFIG_UIO is not set
1319# CONFIG_STAGING is not set 1352# CONFIG_STAGING is not set
1320 1353
@@ -1325,6 +1358,7 @@ CONFIG_EXT2_FS=y
1325# CONFIG_EXT2_FS_XATTR is not set 1358# CONFIG_EXT2_FS_XATTR is not set
1326# CONFIG_EXT2_FS_XIP is not set 1359# CONFIG_EXT2_FS_XIP is not set
1327CONFIG_EXT3_FS=y 1360CONFIG_EXT3_FS=y
1361# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1328CONFIG_EXT3_FS_XATTR=y 1362CONFIG_EXT3_FS_XATTR=y
1329# CONFIG_EXT3_FS_POSIX_ACL is not set 1363# CONFIG_EXT3_FS_POSIX_ACL is not set
1330# CONFIG_EXT3_FS_SECURITY is not set 1364# CONFIG_EXT3_FS_SECURITY is not set
@@ -1348,6 +1382,11 @@ CONFIG_INOTIFY_USER=y
1348# CONFIG_FUSE_FS is not set 1382# CONFIG_FUSE_FS is not set
1349 1383
1350# 1384#
1385# Caches
1386#
1387# CONFIG_FSCACHE is not set
1388
1389#
1351# CD-ROM/DVD Filesystems 1390# CD-ROM/DVD Filesystems
1352# 1391#
1353# CONFIG_ISO9660_FS is not set 1392# CONFIG_ISO9660_FS is not set
@@ -1391,6 +1430,7 @@ CONFIG_MISC_FILESYSTEMS=y
1391# CONFIG_ROMFS_FS is not set 1430# CONFIG_ROMFS_FS is not set
1392# CONFIG_SYSV_FS is not set 1431# CONFIG_SYSV_FS is not set
1393# CONFIG_UFS_FS is not set 1432# CONFIG_UFS_FS is not set
1433# CONFIG_NILFS2_FS is not set
1394CONFIG_NETWORK_FILESYSTEMS=y 1434CONFIG_NETWORK_FILESYSTEMS=y
1395CONFIG_NFS_FS=y 1435CONFIG_NFS_FS=y
1396# CONFIG_NFS_V3 is not set 1436# CONFIG_NFS_V3 is not set
@@ -1400,7 +1440,6 @@ CONFIG_ROOT_NFS=y
1400CONFIG_LOCKD=y 1440CONFIG_LOCKD=y
1401CONFIG_NFS_COMMON=y 1441CONFIG_NFS_COMMON=y
1402CONFIG_SUNRPC=y 1442CONFIG_SUNRPC=y
1403# CONFIG_SUNRPC_REGISTER_V4 is not set
1404# CONFIG_RPCSEC_GSS_KRB5 is not set 1443# CONFIG_RPCSEC_GSS_KRB5 is not set
1405# CONFIG_RPCSEC_GSS_SPKM3 is not set 1444# CONFIG_RPCSEC_GSS_SPKM3 is not set
1406# CONFIG_SMB_FS is not set 1445# CONFIG_SMB_FS is not set
@@ -1432,6 +1471,7 @@ CONFIG_MSDOS_PARTITION=y
1432# CONFIG_SYSV68_PARTITION is not set 1471# CONFIG_SYSV68_PARTITION is not set
1433# CONFIG_NLS is not set 1472# CONFIG_NLS is not set
1434# CONFIG_DLM is not set 1473# CONFIG_DLM is not set
1474# CONFIG_BINARY_PRINTF is not set
1435 1475
1436# 1476#
1437# Library routines 1477# Library routines
@@ -1445,11 +1485,15 @@ CONFIG_CRC_T10DIF=y
1445CONFIG_CRC32=y 1485CONFIG_CRC32=y
1446# CONFIG_CRC7 is not set 1486# CONFIG_CRC7 is not set
1447# CONFIG_LIBCRC32C is not set 1487# CONFIG_LIBCRC32C is not set
1448CONFIG_PLIST=y 1488CONFIG_ZLIB_INFLATE=y
1489CONFIG_DECOMPRESS_GZIP=y
1490CONFIG_DECOMPRESS_BZIP2=y
1491CONFIG_DECOMPRESS_LZMA=y
1449CONFIG_HAS_IOMEM=y 1492CONFIG_HAS_IOMEM=y
1450CONFIG_HAS_IOPORT=y 1493CONFIG_HAS_IOPORT=y
1451CONFIG_HAS_DMA=y 1494CONFIG_HAS_DMA=y
1452CONFIG_HAVE_LMB=y 1495CONFIG_HAVE_LMB=y
1496CONFIG_NLATTR=y
1453 1497
1454# 1498#
1455# Kernel hacking 1499# Kernel hacking
@@ -1471,13 +1515,24 @@ CONFIG_DEBUG_MEMORY_INIT=y
1471# CONFIG_LATENCYTOP is not set 1515# CONFIG_LATENCYTOP is not set
1472CONFIG_SYSCTL_SYSCALL_CHECK=y 1516CONFIG_SYSCTL_SYSCALL_CHECK=y
1473CONFIG_HAVE_FUNCTION_TRACER=y 1517CONFIG_HAVE_FUNCTION_TRACER=y
1518CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1474CONFIG_HAVE_DYNAMIC_FTRACE=y 1519CONFIG_HAVE_DYNAMIC_FTRACE=y
1475CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1520CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1521CONFIG_TRACING_SUPPORT=y
1476 1522
1477# 1523#
1478# Tracers 1524# Tracers
1479# 1525#
1480# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1526# CONFIG_FUNCTION_TRACER is not set
1527# CONFIG_SCHED_TRACER is not set
1528# CONFIG_CONTEXT_SWITCH_TRACER is not set
1529# CONFIG_EVENT_TRACER is not set
1530# CONFIG_BOOT_TRACER is not set
1531# CONFIG_TRACE_BRANCH_PROFILING is not set
1532# CONFIG_STACK_TRACER is not set
1533# CONFIG_KMEMTRACE is not set
1534# CONFIG_WORKQUEUE_TRACER is not set
1535# CONFIG_BLK_DEV_IO_TRACE is not set
1481# CONFIG_SAMPLES is not set 1536# CONFIG_SAMPLES is not set
1482CONFIG_HAVE_ARCH_KGDB=y 1537CONFIG_HAVE_ARCH_KGDB=y
1483CONFIG_PRINT_STACK_DEPTH=64 1538CONFIG_PRINT_STACK_DEPTH=64
@@ -1569,6 +1624,7 @@ CONFIG_CRYPTO=y
1569# Compression 1624# Compression
1570# 1625#
1571# CONFIG_CRYPTO_DEFLATE is not set 1626# CONFIG_CRYPTO_DEFLATE is not set
1627# CONFIG_CRYPTO_ZLIB is not set
1572# CONFIG_CRYPTO_LZO is not set 1628# CONFIG_CRYPTO_LZO is not set
1573 1629
1574# 1630#
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index 94903465ea12..bd4a8d435c50 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.29-rc6 3# Linux kernel version: 2.6.30-rc3
4# Fri Mar 6 00:09:08 2009 4# Wed May 13 17:22:04 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,6 +14,7 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
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_BOOK3S=y
17CONFIG_PPC_FPU=y 18CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set 19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
@@ -54,6 +55,7 @@ CONFIG_GENERIC_BUG=y
54# CONFIG_DEFAULT_UIMAGE is not set 55# CONFIG_DEFAULT_UIMAGE is not set
55# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
56# CONFIG_PPC_DCR_MMIO is not set 57# CONFIG_PPC_DCR_MMIO is not set
58CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
57CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
58 60
59# 61#
@@ -95,17 +97,17 @@ CONFIG_SYSFS_DEPRECATED_V2=y
95# CONFIG_BLK_DEV_INITRD is not set 97# CONFIG_BLK_DEV_INITRD is not set
96CONFIG_CC_OPTIMIZE_FOR_SIZE=y 98CONFIG_CC_OPTIMIZE_FOR_SIZE=y
97CONFIG_SYSCTL=y 99CONFIG_SYSCTL=y
100CONFIG_ANON_INODES=y
98CONFIG_EMBEDDED=y 101CONFIG_EMBEDDED=y
99CONFIG_SYSCTL_SYSCALL=y 102CONFIG_SYSCTL_SYSCALL=y
100# CONFIG_KALLSYMS is not set 103# CONFIG_KALLSYMS is not set
104# CONFIG_STRIP_ASM_SYMS is not set
101CONFIG_HOTPLUG=y 105CONFIG_HOTPLUG=y
102CONFIG_PRINTK=y 106CONFIG_PRINTK=y
103CONFIG_BUG=y 107CONFIG_BUG=y
104CONFIG_ELF_CORE=y 108CONFIG_ELF_CORE=y
105CONFIG_COMPAT_BRK=y
106CONFIG_BASE_FULL=y 109CONFIG_BASE_FULL=y
107CONFIG_FUTEX=y 110CONFIG_FUTEX=y
108CONFIG_ANON_INODES=y
109CONFIG_EPOLL=y 111CONFIG_EPOLL=y
110CONFIG_SIGNALFD=y 112CONFIG_SIGNALFD=y
111CONFIG_TIMERFD=y 113CONFIG_TIMERFD=y
@@ -115,16 +117,19 @@ CONFIG_AIO=y
115CONFIG_VM_EVENT_COUNTERS=y 117CONFIG_VM_EVENT_COUNTERS=y
116CONFIG_PCI_QUIRKS=y 118CONFIG_PCI_QUIRKS=y
117CONFIG_SLUB_DEBUG=y 119CONFIG_SLUB_DEBUG=y
120CONFIG_COMPAT_BRK=y
118# CONFIG_SLAB is not set 121# CONFIG_SLAB is not set
119CONFIG_SLUB=y 122CONFIG_SLUB=y
120# CONFIG_SLOB is not set 123# CONFIG_SLOB is not set
121# CONFIG_PROFILING is not set 124# CONFIG_PROFILING is not set
125# CONFIG_MARKERS is not set
122CONFIG_HAVE_OPROFILE=y 126CONFIG_HAVE_OPROFILE=y
123CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 127CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
124CONFIG_HAVE_IOREMAP_PROT=y 128CONFIG_HAVE_IOREMAP_PROT=y
125CONFIG_HAVE_KPROBES=y 129CONFIG_HAVE_KPROBES=y
126CONFIG_HAVE_KRETPROBES=y 130CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y 131CONFIG_HAVE_ARCH_TRACEHOOK=y
132# CONFIG_SLOW_WORK is not set
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 133# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 134CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 135CONFIG_RT_MUTEXES=y
@@ -137,7 +142,6 @@ CONFIG_MODULE_UNLOAD=y
137# CONFIG_MODULE_SRCVERSION_ALL is not set 142# CONFIG_MODULE_SRCVERSION_ALL is not set
138CONFIG_BLOCK=y 143CONFIG_BLOCK=y
139CONFIG_LBD=y 144CONFIG_LBD=y
140# CONFIG_BLK_DEV_IO_TRACE is not set
141# CONFIG_BLK_DEV_BSG is not set 145# CONFIG_BLK_DEV_BSG is not set
142# CONFIG_BLK_DEV_INTEGRITY is not set 146# CONFIG_BLK_DEV_INTEGRITY is not set
143 147
@@ -158,8 +162,6 @@ CONFIG_DEFAULT_IOSCHED="cfq"
158# 162#
159# Platform support 163# Platform support
160# 164#
161CONFIG_PPC_MULTIPLATFORM=y
162CONFIG_CLASSIC32=y
163# CONFIG_PPC_CHRP is not set 165# CONFIG_PPC_CHRP is not set
164# CONFIG_MPC5121_ADS is not set 166# CONFIG_MPC5121_ADS is not set
165# CONFIG_MPC5121_GENERIC is not set 167# CONFIG_MPC5121_GENERIC is not set
@@ -181,6 +183,8 @@ CONFIG_STORCENTER=y
181CONFIG_MPC10X_BRIDGE=y 183CONFIG_MPC10X_BRIDGE=y
182CONFIG_MPC10X_OPENPIC=y 184CONFIG_MPC10X_OPENPIC=y
183# CONFIG_MPC10X_STORE_GATHERING is not set 185# CONFIG_MPC10X_STORE_GATHERING is not set
186# CONFIG_AMIGAONE is not set
187CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
184# CONFIG_IPIC is not set 188# CONFIG_IPIC is not set
185CONFIG_MPIC=y 189CONFIG_MPIC=y
186# CONFIG_MPIC_WEIRD is not set 190# CONFIG_MPIC_WEIRD is not set
@@ -239,9 +243,12 @@ CONFIG_ZONE_DMA_FLAG=1
239CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
240CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
241CONFIG_UNEVICTABLE_LRU=y 245CONFIG_UNEVICTABLE_LRU=y
246CONFIG_HAVE_MLOCK=y
247CONFIG_HAVE_MLOCKED_PAGE_BIT=y
242CONFIG_PPC_4K_PAGES=y 248CONFIG_PPC_4K_PAGES=y
243# CONFIG_PPC_16K_PAGES is not set 249# CONFIG_PPC_16K_PAGES is not set
244# CONFIG_PPC_64K_PAGES is not set 250# CONFIG_PPC_64K_PAGES is not set
251# CONFIG_PPC_256K_PAGES is not set
245CONFIG_FORCE_MAX_ZONEORDER=11 252CONFIG_FORCE_MAX_ZONEORDER=11
246CONFIG_PROC_DEVICETREE=y 253CONFIG_PROC_DEVICETREE=y
247CONFIG_CMDLINE_BOOL=y 254CONFIG_CMDLINE_BOOL=y
@@ -266,6 +273,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
266# CONFIG_PCI_MSI is not set 273# CONFIG_PCI_MSI is not set
267# CONFIG_PCI_LEGACY is not set 274# CONFIG_PCI_LEGACY is not set
268# CONFIG_PCI_STUB is not set 275# CONFIG_PCI_STUB is not set
276# CONFIG_PCI_IOV is not set
269# CONFIG_PCCARD is not set 277# CONFIG_PCCARD is not set
270# CONFIG_HOTPLUG_PCI is not set 278# CONFIG_HOTPLUG_PCI is not set
271# CONFIG_HAS_RAPIDIO is not set 279# CONFIG_HAS_RAPIDIO is not set
@@ -288,7 +296,6 @@ CONFIG_NET=y
288# 296#
289# Networking options 297# Networking options
290# 298#
291CONFIG_COMPAT_NET_DEV_OPS=y
292CONFIG_PACKET=m 299CONFIG_PACKET=m
293# CONFIG_PACKET_MMAP is not set 300# CONFIG_PACKET_MMAP is not set
294CONFIG_UNIX=y 301CONFIG_UNIX=y
@@ -339,6 +346,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_LAPB is not set 346# CONFIG_LAPB is not set
340# CONFIG_ECONET is not set 347# CONFIG_ECONET is not set
341# CONFIG_WAN_ROUTER is not set 348# CONFIG_WAN_ROUTER is not set
349# CONFIG_PHONET is not set
342# CONFIG_NET_SCHED is not set 350# CONFIG_NET_SCHED is not set
343# CONFIG_DCB is not set 351# CONFIG_DCB is not set
344 352
@@ -351,7 +359,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_IRDA is not set 359# CONFIG_IRDA is not set
352# CONFIG_BT is not set 360# CONFIG_BT is not set
353# CONFIG_AF_RXRPC is not set 361# CONFIG_AF_RXRPC is not set
354# CONFIG_PHONET is not set
355CONFIG_WIRELESS=y 362CONFIG_WIRELESS=y
356# CONFIG_CFG80211 is not set 363# CONFIG_CFG80211 is not set
357CONFIG_WIRELESS_OLD_REGULATORY=y 364CONFIG_WIRELESS_OLD_REGULATORY=y
@@ -486,6 +493,7 @@ CONFIG_MISC_DEVICES=y
486# CONFIG_ICS932S401 is not set 493# CONFIG_ICS932S401 is not set
487# CONFIG_ENCLOSURE_SERVICES is not set 494# CONFIG_ENCLOSURE_SERVICES is not set
488# CONFIG_HP_ILO is not set 495# CONFIG_HP_ILO is not set
496# CONFIG_ISL29003 is not set
489# CONFIG_C2PORT is not set 497# CONFIG_C2PORT is not set
490 498
491# 499#
@@ -500,6 +508,7 @@ CONFIG_IDE=y
500# 508#
501# Please see Documentation/ide/ide.txt for help/info on IDE drives 509# Please see Documentation/ide/ide.txt for help/info on IDE drives
502# 510#
511CONFIG_IDE_XFER_MODE=y
503CONFIG_IDE_TIMINGS=y 512CONFIG_IDE_TIMINGS=y
504# CONFIG_BLK_DEV_IDE_SATA is not set 513# CONFIG_BLK_DEV_IDE_SATA is not set
505CONFIG_IDE_GD=y 514CONFIG_IDE_GD=y
@@ -604,9 +613,11 @@ CONFIG_SCSI_LOWLEVEL=y
604# CONFIG_MEGARAID_NEWGEN is not set 613# CONFIG_MEGARAID_NEWGEN is not set
605# CONFIG_MEGARAID_LEGACY is not set 614# CONFIG_MEGARAID_LEGACY is not set
606# CONFIG_MEGARAID_SAS is not set 615# CONFIG_MEGARAID_SAS is not set
616# CONFIG_SCSI_MPT2SAS is not set
607# CONFIG_SCSI_HPTIOP is not set 617# CONFIG_SCSI_HPTIOP is not set
608# CONFIG_SCSI_BUSLOGIC is not set 618# CONFIG_SCSI_BUSLOGIC is not set
609# CONFIG_LIBFC is not set 619# CONFIG_LIBFC is not set
620# CONFIG_LIBFCOE is not set
610# CONFIG_FCOE is not set 621# CONFIG_FCOE is not set
611# CONFIG_SCSI_DMX3191D is not set 622# CONFIG_SCSI_DMX3191D is not set
612# CONFIG_SCSI_EATA is not set 623# CONFIG_SCSI_EATA is not set
@@ -628,6 +639,7 @@ CONFIG_SCSI_LOWLEVEL=y
628# CONFIG_SCSI_DEBUG is not set 639# CONFIG_SCSI_DEBUG is not set
629# CONFIG_SCSI_SRP is not set 640# CONFIG_SCSI_SRP is not set
630# CONFIG_SCSI_DH is not set 641# CONFIG_SCSI_DH is not set
642# CONFIG_SCSI_OSD_INITIATOR is not set
631# CONFIG_ATA is not set 643# CONFIG_ATA is not set
632CONFIG_MD=y 644CONFIG_MD=y
633CONFIG_BLK_DEV_MD=y 645CONFIG_BLK_DEV_MD=y
@@ -637,7 +649,7 @@ CONFIG_MD_RAID0=y
637CONFIG_MD_RAID1=y 649CONFIG_MD_RAID1=y
638# CONFIG_MD_RAID10 is not set 650# CONFIG_MD_RAID10 is not set
639CONFIG_MD_RAID456=y 651CONFIG_MD_RAID456=y
640CONFIG_MD_RAID5_RESHAPE=y 652CONFIG_MD_RAID6_PQ=y
641# CONFIG_MD_MULTIPATH is not set 653# CONFIG_MD_MULTIPATH is not set
642# CONFIG_MD_FAULTY is not set 654# CONFIG_MD_FAULTY is not set
643# CONFIG_BLK_DEV_DM is not set 655# CONFIG_BLK_DEV_DM is not set
@@ -655,6 +667,7 @@ CONFIG_MD_RAID5_RESHAPE=y
655# CONFIG_I2O is not set 667# CONFIG_I2O is not set
656# CONFIG_MACINTOSH_DRIVERS is not set 668# CONFIG_MACINTOSH_DRIVERS is not set
657CONFIG_NETDEVICES=y 669CONFIG_NETDEVICES=y
670CONFIG_COMPAT_NET_DEV_OPS=y
658CONFIG_DUMMY=m 671CONFIG_DUMMY=m
659# CONFIG_BONDING is not set 672# CONFIG_BONDING is not set
660# CONFIG_MACVLAN is not set 673# CONFIG_MACVLAN is not set
@@ -671,6 +684,7 @@ CONFIG_NETDEV_1000=y
671# CONFIG_E1000E is not set 684# CONFIG_E1000E is not set
672# CONFIG_IP1000 is not set 685# CONFIG_IP1000 is not set
673# CONFIG_IGB is not set 686# CONFIG_IGB is not set
687# CONFIG_IGBVF is not set
674# CONFIG_NS83820 is not set 688# CONFIG_NS83820 is not set
675# CONFIG_HAMACHI is not set 689# CONFIG_HAMACHI is not set
676# CONFIG_YELLOWFIN is not set 690# CONFIG_YELLOWFIN is not set
@@ -681,8 +695,8 @@ CONFIG_R8169=y
681# CONFIG_VIA_VELOCITY is not set 695# CONFIG_VIA_VELOCITY is not set
682# CONFIG_TIGON3 is not set 696# CONFIG_TIGON3 is not set
683# CONFIG_BNX2 is not set 697# CONFIG_BNX2 is not set
698# CONFIG_FSL_PQ_MDIO is not set
684# CONFIG_GIANFAR is not set 699# CONFIG_GIANFAR is not set
685# CONFIG_MV643XX_ETH is not set
686# CONFIG_QLA3XXX is not set 700# CONFIG_QLA3XXX is not set
687# CONFIG_ATL1 is not set 701# CONFIG_ATL1 is not set
688# CONFIG_ATL1E is not set 702# CONFIG_ATL1E is not set
@@ -696,7 +710,6 @@ CONFIG_R8169=y
696# 710#
697# CONFIG_WLAN_PRE80211 is not set 711# CONFIG_WLAN_PRE80211 is not set
698# CONFIG_WLAN_80211 is not set 712# CONFIG_WLAN_80211 is not set
699# CONFIG_IWLWIFI_LEDS is not set
700 713
701# 714#
702# Enable WiMAX (Networking options) to see the WiMAX drivers 715# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -766,6 +779,7 @@ CONFIG_LEGACY_PTY_COUNT=256
766# CONFIG_HVC_UDBG is not set 779# CONFIG_HVC_UDBG is not set
767# CONFIG_IPMI_HANDLER is not set 780# CONFIG_IPMI_HANDLER is not set
768CONFIG_HW_RANDOM=m 781CONFIG_HW_RANDOM=m
782# CONFIG_HW_RANDOM_TIMERIOMEM is not set
769CONFIG_NVRAM=y 783CONFIG_NVRAM=y
770# CONFIG_R3964 is not set 784# CONFIG_R3964 is not set
771# CONFIG_APPLICOM is not set 785# CONFIG_APPLICOM is not set
@@ -831,7 +845,6 @@ CONFIG_I2C_MPC=y
831# CONFIG_SENSORS_PCF8574 is not set 845# CONFIG_SENSORS_PCF8574 is not set
832# CONFIG_PCF8575 is not set 846# CONFIG_PCF8575 is not set
833# CONFIG_SENSORS_PCA9539 is not set 847# CONFIG_SENSORS_PCA9539 is not set
834# CONFIG_SENSORS_PCF8591 is not set
835# CONFIG_SENSORS_MAX6875 is not set 848# CONFIG_SENSORS_MAX6875 is not set
836# CONFIG_SENSORS_TSL2550 is not set 849# CONFIG_SENSORS_TSL2550 is not set
837# CONFIG_I2C_DEBUG_CORE is not set 850# CONFIG_I2C_DEBUG_CORE is not set
@@ -952,11 +965,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
952# CONFIG_USB_TMC is not set 965# CONFIG_USB_TMC is not set
953 966
954# 967#
955# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 968# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
956# 969#
957 970
958# 971#
959# see USB_STORAGE Help for more information 972# also be needed; see USB_STORAGE Help for more info
960# 973#
961CONFIG_USB_STORAGE=y 974CONFIG_USB_STORAGE=y
962# CONFIG_USB_STORAGE_DEBUG is not set 975# CONFIG_USB_STORAGE_DEBUG is not set
@@ -997,7 +1010,6 @@ CONFIG_USB_STORAGE=y
997# CONFIG_USB_LED is not set 1010# CONFIG_USB_LED is not set
998# CONFIG_USB_CYPRESS_CY7C63 is not set 1011# CONFIG_USB_CYPRESS_CY7C63 is not set
999# CONFIG_USB_CYTHERM is not set 1012# CONFIG_USB_CYTHERM is not set
1000# CONFIG_USB_PHIDGET is not set
1001# CONFIG_USB_IDMOUSE is not set 1013# CONFIG_USB_IDMOUSE is not set
1002# CONFIG_USB_FTDI_ELAN is not set 1014# CONFIG_USB_FTDI_ELAN is not set
1003# CONFIG_USB_APPLEDISPLAY is not set 1015# CONFIG_USB_APPLEDISPLAY is not set
@@ -1013,6 +1025,7 @@ CONFIG_USB_STORAGE=y
1013# 1025#
1014# OTG and related infrastructure 1026# OTG and related infrastructure
1015# 1027#
1028# CONFIG_NOP_USB_XCEIV is not set
1016# CONFIG_UWB is not set 1029# CONFIG_UWB is not set
1017# CONFIG_MMC is not set 1030# CONFIG_MMC is not set
1018# CONFIG_MEMSTICK is not set 1031# CONFIG_MEMSTICK is not set
@@ -1074,8 +1087,9 @@ CONFIG_RTC_DRV_DS1307=y
1074# 1087#
1075# on-CPU RTC drivers 1088# on-CPU RTC drivers
1076# 1089#
1077# CONFIG_RTC_DRV_PPC is not set 1090# CONFIG_RTC_DRV_GENERIC is not set
1078# CONFIG_DMADEVICES is not set 1091# CONFIG_DMADEVICES is not set
1092# CONFIG_AUXDISPLAY is not set
1079# CONFIG_UIO is not set 1093# CONFIG_UIO is not set
1080# CONFIG_STAGING is not set 1094# CONFIG_STAGING is not set
1081 1095
@@ -1086,6 +1100,7 @@ CONFIG_EXT2_FS=y
1086# CONFIG_EXT2_FS_XATTR is not set 1100# CONFIG_EXT2_FS_XATTR is not set
1087# CONFIG_EXT2_FS_XIP is not set 1101# CONFIG_EXT2_FS_XIP is not set
1088CONFIG_EXT3_FS=y 1102CONFIG_EXT3_FS=y
1103# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1089CONFIG_EXT3_FS_XATTR=y 1104CONFIG_EXT3_FS_XATTR=y
1090# CONFIG_EXT3_FS_POSIX_ACL is not set 1105# CONFIG_EXT3_FS_POSIX_ACL is not set
1091# CONFIG_EXT3_FS_SECURITY is not set 1106# CONFIG_EXT3_FS_SECURITY is not set
@@ -1113,6 +1128,11 @@ CONFIG_INOTIFY_USER=y
1113# CONFIG_FUSE_FS is not set 1128# CONFIG_FUSE_FS is not set
1114 1129
1115# 1130#
1131# Caches
1132#
1133# CONFIG_FSCACHE is not set
1134
1135#
1116# CD-ROM/DVD Filesystems 1136# CD-ROM/DVD Filesystems
1117# 1137#
1118# CONFIG_ISO9660_FS is not set 1138# CONFIG_ISO9660_FS is not set
@@ -1166,6 +1186,7 @@ CONFIG_JFFS2_RTIME=y
1166# CONFIG_ROMFS_FS is not set 1186# CONFIG_ROMFS_FS is not set
1167# CONFIG_SYSV_FS is not set 1187# CONFIG_SYSV_FS is not set
1168# CONFIG_UFS_FS is not set 1188# CONFIG_UFS_FS is not set
1189# CONFIG_NILFS2_FS is not set
1169# CONFIG_NETWORK_FILESYSTEMS is not set 1190# CONFIG_NETWORK_FILESYSTEMS is not set
1170CONFIG_EXPORTFS=m 1191CONFIG_EXPORTFS=m
1171 1192
@@ -1231,6 +1252,7 @@ CONFIG_NLS_ISO8859_1=y
1231# CONFIG_NLS_KOI8_U is not set 1252# CONFIG_NLS_KOI8_U is not set
1232CONFIG_NLS_UTF8=y 1253CONFIG_NLS_UTF8=y
1233# CONFIG_DLM is not set 1254# CONFIG_DLM is not set
1255# CONFIG_BINARY_PRINTF is not set
1234 1256
1235# 1257#
1236# Library routines 1258# Library routines
@@ -1246,11 +1268,11 @@ CONFIG_CRC32=y
1246# CONFIG_LIBCRC32C is not set 1268# CONFIG_LIBCRC32C is not set
1247CONFIG_ZLIB_INFLATE=y 1269CONFIG_ZLIB_INFLATE=y
1248CONFIG_ZLIB_DEFLATE=y 1270CONFIG_ZLIB_DEFLATE=y
1249CONFIG_PLIST=y
1250CONFIG_HAS_IOMEM=y 1271CONFIG_HAS_IOMEM=y
1251CONFIG_HAS_IOPORT=y 1272CONFIG_HAS_IOPORT=y
1252CONFIG_HAS_DMA=y 1273CONFIG_HAS_DMA=y
1253CONFIG_HAVE_LMB=y 1274CONFIG_HAVE_LMB=y
1275CONFIG_NLATTR=y
1254 1276
1255# 1277#
1256# Kernel hacking 1278# Kernel hacking
@@ -1272,13 +1294,24 @@ CONFIG_FRAME_WARN=1024
1272# CONFIG_LATENCYTOP is not set 1294# CONFIG_LATENCYTOP is not set
1273CONFIG_SYSCTL_SYSCALL_CHECK=y 1295CONFIG_SYSCTL_SYSCALL_CHECK=y
1274CONFIG_HAVE_FUNCTION_TRACER=y 1296CONFIG_HAVE_FUNCTION_TRACER=y
1297CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1275CONFIG_HAVE_DYNAMIC_FTRACE=y 1298CONFIG_HAVE_DYNAMIC_FTRACE=y
1276CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1299CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1300CONFIG_TRACING_SUPPORT=y
1277 1301
1278# 1302#
1279# Tracers 1303# Tracers
1280# 1304#
1281# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1305# CONFIG_FUNCTION_TRACER is not set
1306# CONFIG_SCHED_TRACER is not set
1307# CONFIG_CONTEXT_SWITCH_TRACER is not set
1308# CONFIG_EVENT_TRACER is not set
1309# CONFIG_BOOT_TRACER is not set
1310# CONFIG_TRACE_BRANCH_PROFILING is not set
1311# CONFIG_STACK_TRACER is not set
1312# CONFIG_KMEMTRACE is not set
1313# CONFIG_WORKQUEUE_TRACER is not set
1314# CONFIG_BLK_DEV_IO_TRACE is not set
1282# CONFIG_SAMPLES is not set 1315# CONFIG_SAMPLES is not set
1283CONFIG_HAVE_ARCH_KGDB=y 1316CONFIG_HAVE_ARCH_KGDB=y
1284CONFIG_PRINT_STACK_DEPTH=64 1317CONFIG_PRINT_STACK_DEPTH=64
diff --git a/arch/powerpc/include/asm/iseries/iommu.h b/arch/powerpc/include/asm/iseries/iommu.h
index c59ee7e4bed1..1b9692c60899 100644
--- a/arch/powerpc/include/asm/iseries/iommu.h
+++ b/arch/powerpc/include/asm/iseries/iommu.h
@@ -26,10 +26,6 @@ struct vio_dev;
26struct device_node; 26struct device_node;
27struct iommu_table; 27struct iommu_table;
28 28
29/* Creates table for an individual device node */
30extern void iommu_devnode_init_iSeries(struct pci_dev *pdev,
31 struct device_node *dn);
32
33/* Get table parameters from HV */ 29/* Get table parameters from HV */
34extern void iommu_table_getparms_iSeries(unsigned long busno, 30extern void iommu_table_getparms_iSeries(unsigned long busno,
35 unsigned char slotno, unsigned char virtbus, 31 unsigned char slotno, unsigned char virtbus,
diff --git a/arch/powerpc/include/asm/of_platform.h b/arch/powerpc/include/asm/of_platform.h
index 53b46507ffde..d4aaa3489440 100644
--- a/arch/powerpc/include/asm/of_platform.h
+++ b/arch/powerpc/include/asm/of_platform.h
@@ -11,16 +11,6 @@
11 * 11 *
12 */ 12 */
13 13
14/* Platform drivers register/unregister */
15static inline int of_register_platform_driver(struct of_platform_driver *drv)
16{
17 return of_register_driver(drv, &of_platform_bus_type);
18}
19static inline void of_unregister_platform_driver(struct of_platform_driver *drv)
20{
21 of_unregister_driver(drv);
22}
23
24/* Platform devices and busses creation */ 14/* Platform devices and busses creation */
25extern struct of_device *of_platform_device_create(struct device_node *np, 15extern struct of_device *of_platform_device_create(struct device_node *np,
26 const char *bus_id, 16 const char *bus_id,
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h
index f612798e1c93..2b2420a49884 100644
--- a/arch/powerpc/include/asm/system.h
+++ b/arch/powerpc/include/asm/system.h
@@ -212,7 +212,7 @@ extern struct task_struct *_switch(struct thread_struct *prev,
212extern unsigned int rtas_data; 212extern unsigned int rtas_data;
213extern int mem_init_done; /* set on boot once kmalloc can be called */ 213extern int mem_init_done; /* set on boot once kmalloc can be called */
214extern int init_bootmem_done; /* set on !NUMA once bootmem is available */ 214extern int init_bootmem_done; /* set on !NUMA once bootmem is available */
215extern unsigned long memory_limit; 215extern phys_addr_t memory_limit;
216extern unsigned long klimit; 216extern unsigned long klimit;
217 217
218extern void *alloc_maybe_bootmem(size_t size, gfp_t mask); 218extern void *alloc_maybe_bootmem(size_t size, gfp_t mask);
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index cd1b687544f3..3e33fb933d99 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -382,7 +382,8 @@ static struct cpu_spec __initdata cpu_specs[] = {
382 .icache_bsize = 128, 382 .icache_bsize = 128,
383 .dcache_bsize = 128, 383 .dcache_bsize = 128,
384 .machine_check = machine_check_generic, 384 .machine_check = machine_check_generic,
385 .oprofile_cpu_type = "ppc64/compat-power5+", 385 .oprofile_cpu_type = "ppc64/ibm-compat-v1",
386 .oprofile_type = PPC_OPROFILE_POWER4,
386 .platform = "power5+", 387 .platform = "power5+",
387 }, 388 },
388 { /* Power6 */ 389 { /* Power6 */
@@ -416,7 +417,8 @@ static struct cpu_spec __initdata cpu_specs[] = {
416 .icache_bsize = 128, 417 .icache_bsize = 128,
417 .dcache_bsize = 128, 418 .dcache_bsize = 128,
418 .machine_check = machine_check_generic, 419 .machine_check = machine_check_generic,
419 .oprofile_cpu_type = "ppc64/compat-power6", 420 .oprofile_cpu_type = "ppc64/ibm-compat-v1",
421 .oprofile_type = PPC_OPROFILE_POWER4,
420 .platform = "power6", 422 .platform = "power6",
421 }, 423 },
422 { /* 2.06-compliant processor, i.e. Power7 "architected" mode */ 424 { /* 2.06-compliant processor, i.e. Power7 "architected" mode */
@@ -429,7 +431,8 @@ static struct cpu_spec __initdata cpu_specs[] = {
429 .icache_bsize = 128, 431 .icache_bsize = 128,
430 .dcache_bsize = 128, 432 .dcache_bsize = 128,
431 .machine_check = machine_check_generic, 433 .machine_check = machine_check_generic,
432 .oprofile_cpu_type = "ppc64/compat-power7", 434 .oprofile_type = PPC_OPROFILE_POWER4,
435 .oprofile_cpu_type = "ppc64/ibm-compat-v1",
433 .platform = "power7", 436 .platform = "power7",
434 }, 437 },
435 { /* Power7 */ 438 { /* Power7 */
@@ -1833,8 +1836,10 @@ static void __init setup_cpu_spec(unsigned long offset, struct cpu_spec *s)
1833 * and, in that case, keep the current value for 1836 * and, in that case, keep the current value for
1834 * oprofile_cpu_type. 1837 * oprofile_cpu_type.
1835 */ 1838 */
1836 if (old.oprofile_cpu_type == NULL) 1839 if (old.oprofile_cpu_type != NULL) {
1837 t->oprofile_cpu_type = s->oprofile_cpu_type; 1840 t->oprofile_cpu_type = old.oprofile_cpu_type;
1841 t->oprofile_type = old.oprofile_type;
1842 }
1838 } 1843 }
1839 1844
1840 *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec; 1845 *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec;
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c
index d59e2b1bdcba..bb3d893a8353 100644
--- a/arch/powerpc/kernel/machine_kexec.c
+++ b/arch/powerpc/kernel/machine_kexec.c
@@ -125,8 +125,8 @@ void __init reserve_crashkernel(void)
125 /* Crash kernel trumps memory limit */ 125 /* Crash kernel trumps memory limit */
126 if (memory_limit && memory_limit <= crashk_res.end) { 126 if (memory_limit && memory_limit <= crashk_res.end) {
127 memory_limit = crashk_res.end + 1; 127 memory_limit = crashk_res.end + 1;
128 printk("Adjusted memory limit for crashkernel, now 0x%lx\n", 128 printk("Adjusted memory limit for crashkernel, now 0x%llx\n",
129 memory_limit); 129 (unsigned long long)memory_limit);
130 } 130 }
131 131
132 printk(KERN_INFO "Reserving %ldMB of memory at %ldMB " 132 printk(KERN_INFO "Reserving %ldMB of memory at %ldMB "
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 9c69e7e145c5..4fee63cb53ff 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -1366,12 +1366,17 @@ static void __init pcibios_allocate_resources(int pass)
1366 1366
1367 for_each_pci_dev(dev) { 1367 for_each_pci_dev(dev) {
1368 pci_read_config_word(dev, PCI_COMMAND, &command); 1368 pci_read_config_word(dev, PCI_COMMAND, &command);
1369 for (idx = 0; idx < 6; idx++) { 1369 for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) {
1370 r = &dev->resource[idx]; 1370 r = &dev->resource[idx];
1371 if (r->parent) /* Already allocated */ 1371 if (r->parent) /* Already allocated */
1372 continue; 1372 continue;
1373 if (!r->flags || (r->flags & IORESOURCE_UNSET)) 1373 if (!r->flags || (r->flags & IORESOURCE_UNSET))
1374 continue; /* Not assigned at all */ 1374 continue; /* Not assigned at all */
1375 /* We only allocate ROMs on pass 1 just in case they
1376 * have been screwed up by firmware
1377 */
1378 if (idx == PCI_ROM_RESOURCE )
1379 disabled = 1;
1375 if (r->flags & IORESOURCE_IO) 1380 if (r->flags & IORESOURCE_IO)
1376 disabled = !(command & PCI_COMMAND_IO); 1381 disabled = !(command & PCI_COMMAND_IO);
1377 else 1382 else
@@ -1382,17 +1387,19 @@ static void __init pcibios_allocate_resources(int pass)
1382 if (pass) 1387 if (pass)
1383 continue; 1388 continue;
1384 r = &dev->resource[PCI_ROM_RESOURCE]; 1389 r = &dev->resource[PCI_ROM_RESOURCE];
1385 if (r->flags & IORESOURCE_ROM_ENABLE) { 1390 if (r->flags) {
1386 /* Turn the ROM off, leave the resource region, 1391 /* Turn the ROM off, leave the resource region,
1387 * but keep it unregistered. 1392 * but keep it unregistered.
1388 */ 1393 */
1389 u32 reg; 1394 u32 reg;
1390 pr_debug("PCI: Switching off ROM of %s\n",
1391 pci_name(dev));
1392 r->flags &= ~IORESOURCE_ROM_ENABLE;
1393 pci_read_config_dword(dev, dev->rom_base_reg, &reg); 1395 pci_read_config_dword(dev, dev->rom_base_reg, &reg);
1394 pci_write_config_dword(dev, dev->rom_base_reg, 1396 if (reg & PCI_ROM_ADDRESS_ENABLE) {
1395 reg & ~PCI_ROM_ADDRESS_ENABLE); 1397 pr_debug("PCI: Switching off ROM of %s\n",
1398 pci_name(dev));
1399 r->flags &= ~IORESOURCE_ROM_ENABLE;
1400 pci_write_config_dword(dev, dev->rom_base_reg,
1401 reg & ~PCI_ROM_ADDRESS_ENABLE);
1402 }
1396 } 1403 }
1397 } 1404 }
1398} 1405}
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index be574fc0d92f..96edb6f8babb 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -64,7 +64,7 @@ static u32 get_int_prop(struct device_node *np, const char *name, u32 def)
64 return def; 64 return def;
65} 65}
66 66
67static unsigned int pci_parse_of_flags(u32 addr0) 67static unsigned int pci_parse_of_flags(u32 addr0, int bridge)
68{ 68{
69 unsigned int flags = 0; 69 unsigned int flags = 0;
70 70
@@ -75,8 +75,17 @@ static unsigned int pci_parse_of_flags(u32 addr0)
75 if (addr0 & 0x40000000) 75 if (addr0 & 0x40000000)
76 flags |= IORESOURCE_PREFETCH 76 flags |= IORESOURCE_PREFETCH
77 | PCI_BASE_ADDRESS_MEM_PREFETCH; 77 | PCI_BASE_ADDRESS_MEM_PREFETCH;
78 /* Note: We don't know whether the ROM has been left enabled
79 * by the firmware or not. We mark it as disabled (ie, we do
80 * not set the IORESOURCE_ROM_ENABLE flag) for now rather than
81 * do a config space read, it will be force-enabled if needed
82 */
83 if (!bridge && (addr0 & 0xff) == 0x30)
84 flags |= IORESOURCE_READONLY;
78 } else if (addr0 & 0x01000000) 85 } else if (addr0 & 0x01000000)
79 flags = IORESOURCE_IO | PCI_BASE_ADDRESS_SPACE_IO; 86 flags = IORESOURCE_IO | PCI_BASE_ADDRESS_SPACE_IO;
87 if (flags)
88 flags |= IORESOURCE_SIZEALIGN;
80 return flags; 89 return flags;
81} 90}
82 91
@@ -95,7 +104,7 @@ static void pci_parse_of_addrs(struct device_node *node, struct pci_dev *dev)
95 return; 104 return;
96 pr_debug(" parse addresses (%d bytes) @ %p\n", proplen, addrs); 105 pr_debug(" parse addresses (%d bytes) @ %p\n", proplen, addrs);
97 for (; proplen >= 20; proplen -= 20, addrs += 5) { 106 for (; proplen >= 20; proplen -= 20, addrs += 5) {
98 flags = pci_parse_of_flags(addrs[0]); 107 flags = pci_parse_of_flags(addrs[0], 0);
99 if (!flags) 108 if (!flags)
100 continue; 109 continue;
101 base = of_read_number(&addrs[1], 2); 110 base = of_read_number(&addrs[1], 2);
@@ -293,7 +302,7 @@ void __devinit of_scan_pci_bridge(struct device_node *node,
293 } 302 }
294 i = 1; 303 i = 1;
295 for (; len >= 32; len -= 32, ranges += 8) { 304 for (; len >= 32; len -= 32, ranges += 8) {
296 flags = pci_parse_of_flags(ranges[0]); 305 flags = pci_parse_of_flags(ranges[0], 1);
297 size = of_read_number(&ranges[6], 2); 306 size = of_read_number(&ranges[6], 2);
298 if (flags == 0 || size == 0) 307 if (flags == 0 || size == 0)
299 continue; 308 continue;
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 5ec6a9e23933..ce01ff2474da 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -426,7 +426,7 @@ static int __init early_parse_mem(char *p)
426 return 1; 426 return 1;
427 427
428 memory_limit = PAGE_ALIGN(memparse(p, &p)); 428 memory_limit = PAGE_ALIGN(memparse(p, &p));
429 DBG("memory limit = 0x%lx\n", memory_limit); 429 DBG("memory limit = 0x%llx\n", (unsigned long long)memory_limit);
430 430
431 return 0; 431 return 0;
432} 432}
@@ -1160,7 +1160,7 @@ static inline void __init phyp_dump_reserve_mem(void) {}
1160 1160
1161void __init early_init_devtree(void *params) 1161void __init early_init_devtree(void *params)
1162{ 1162{
1163 unsigned long limit; 1163 phys_addr_t limit;
1164 1164
1165 DBG(" -> early_init_devtree(%p)\n", params); 1165 DBG(" -> early_init_devtree(%p)\n", params);
1166 1166
@@ -1204,7 +1204,7 @@ void __init early_init_devtree(void *params)
1204 1204
1205 limit = memory_limit; 1205 limit = memory_limit;
1206 if (! limit) { 1206 if (! limit) {
1207 unsigned long memsize; 1207 phys_addr_t memsize;
1208 1208
1209 /* Ensure that total memory size is page-aligned, because 1209 /* Ensure that total memory size is page-aligned, because
1210 * otherwise mark_bootmem() gets upset. */ 1210 * otherwise mark_bootmem() gets upset. */
@@ -1218,7 +1218,7 @@ void __init early_init_devtree(void *params)
1218 lmb_analyze(); 1218 lmb_analyze();
1219 lmb_dump_all(); 1219 lmb_dump_all();
1220 1220
1221 DBG("Phys. mem: %lx\n", lmb_phys_mem_size()); 1221 DBG("Phys. mem: %llx\n", lmb_phys_mem_size());
1222 1222
1223 /* We may need to relocate the flat tree, do it now. 1223 /* We may need to relocate the flat tree, do it now.
1224 * FIXME .. and the initrd too? */ 1224 * FIXME .. and the initrd too? */
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index f668fa9ba804..d0602a76bf7f 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -57,7 +57,7 @@
57 57
58int init_bootmem_done; 58int init_bootmem_done;
59int mem_init_done; 59int mem_init_done;
60unsigned long memory_limit; 60phys_addr_t memory_limit;
61 61
62#ifdef CONFIG_HIGHMEM 62#ifdef CONFIG_HIGHMEM
63pte_t *kmap_pte; 63pte_t *kmap_pte;
diff --git a/arch/powerpc/oprofile/op_model_power4.c b/arch/powerpc/oprofile/op_model_power4.c
index 3e3d91f536e0..80774092db77 100644
--- a/arch/powerpc/oprofile/op_model_power4.c
+++ b/arch/powerpc/oprofile/op_model_power4.c
@@ -26,6 +26,7 @@
26static unsigned long reset_value[OP_MAX_COUNTER]; 26static unsigned long reset_value[OP_MAX_COUNTER];
27 27
28static int oprofile_running; 28static int oprofile_running;
29static int use_slot_nums;
29 30
30/* mmcr values are set in power4_reg_setup, used in power4_cpu_setup */ 31/* mmcr values are set in power4_reg_setup, used in power4_cpu_setup */
31static u32 mmcr0_val; 32static u32 mmcr0_val;
@@ -61,6 +62,12 @@ static int power4_reg_setup(struct op_counter_config *ctr,
61 else 62 else
62 mmcr0_val |= MMCR0_PROBLEM_DISABLE; 63 mmcr0_val |= MMCR0_PROBLEM_DISABLE;
63 64
65 if (__is_processor(PV_POWER4) || __is_processor(PV_POWER4p) ||
66 __is_processor(PV_970) || __is_processor(PV_970FX) ||
67 __is_processor(PV_970MP) || __is_processor(PV_970GX) ||
68 __is_processor(PV_POWER5) || __is_processor(PV_POWER5p))
69 use_slot_nums = 1;
70
64 return 0; 71 return 0;
65} 72}
66 73
@@ -206,7 +213,7 @@ static unsigned long get_pc(struct pt_regs *regs)
206 213
207 mmcra = mfspr(SPRN_MMCRA); 214 mmcra = mfspr(SPRN_MMCRA);
208 215
209 if (mmcra & MMCRA_SAMPLE_ENABLE) { 216 if (use_slot_nums && (mmcra & MMCRA_SAMPLE_ENABLE)) {
210 slot = ((mmcra & MMCRA_SLOT) >> MMCRA_SLOT_SHIFT); 217 slot = ((mmcra & MMCRA_SLOT) >> MMCRA_SLOT_SHIFT);
211 if (slot > 1) 218 if (slot > 1)
212 pc += 4 * (slot - 1); 219 pc += 4 * (slot - 1);
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig
index 14e027f5be66..f39c953d5353 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -153,6 +153,7 @@ config 405GPR
153 153
154config XILINX_VIRTEX 154config XILINX_VIRTEX
155 bool 155 bool
156 select DEFAULT_UIMAGE
156 157
157config XILINX_VIRTEX_II_PRO 158config XILINX_VIRTEX_II_PRO
158 bool 159 bool
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index bf5c7ff2e6e5..0d83a6a0397d 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -246,6 +246,7 @@ config IBM440EP_ERR42
246# Xilinx specific config options. 246# Xilinx specific config options.
247config XILINX_VIRTEX 247config XILINX_VIRTEX
248 bool 248 bool
249 select DEFAULT_UIMAGE
249 250
250# Xilinx Virtex 5 FXT FPGA architecture, selected by a Xilinx board above 251# Xilinx Virtex 5 FXT FPGA architecture, selected by a Xilinx board above
251config XILINX_VIRTEX_5_FXT 252config XILINX_VIRTEX_5_FXT
diff --git a/arch/powerpc/platforms/cell/ras.c b/arch/powerpc/platforms/cell/ras.c
index 5f961c464cc4..296b5268754e 100644
--- a/arch/powerpc/platforms/cell/ras.c
+++ b/arch/powerpc/platforms/cell/ras.c
@@ -122,12 +122,23 @@ static int __init cbe_ptcal_enable_on_node(int nid, int order)
122 122
123 area->nid = nid; 123 area->nid = nid;
124 area->order = order; 124 area->order = order;
125 area->pages = alloc_pages_node(area->nid, GFP_KERNEL, area->order); 125 area->pages = alloc_pages_node(area->nid, GFP_KERNEL | GFP_THISNODE,
126 area->order);
126 127
127 if (!area->pages) 128 if (!area->pages) {
129 printk(KERN_WARNING "%s: no page on node %d\n",
130 __func__, area->nid);
128 goto out_free_area; 131 goto out_free_area;
132 }
129 133
130 addr = __pa(page_address(area->pages)); 134 /*
135 * We move the ptcal area to the middle of the allocated
136 * page, in order to avoid prefetches in memcpy and similar
137 * functions stepping on it.
138 */
139 addr = __pa(page_address(area->pages)) + (PAGE_SIZE >> 1);
140 printk(KERN_DEBUG "%s: enabling PTCAL on node %d address=0x%016lx\n",
141 __func__, area->nid, addr);
131 142
132 ret = -EIO; 143 ret = -EIO;
133 if (rtas_call(ptcal_start_tok, 3, 1, NULL, area->nid, 144 if (rtas_call(ptcal_start_tok, 3, 1, NULL, area->nid,
diff --git a/arch/powerpc/platforms/iseries/Kconfig b/arch/powerpc/platforms/iseries/Kconfig
index 647e87787437..47a20cfb4486 100644
--- a/arch/powerpc/platforms/iseries/Kconfig
+++ b/arch/powerpc/platforms/iseries/Kconfig
@@ -17,6 +17,7 @@ config VIODASD
17 17
18config VIOCD 18config VIOCD
19 tristate "iSeries Virtual I/O CD support" 19 tristate "iSeries Virtual I/O CD support"
20 depends on BLOCK
20 select VIOPATH 21 select VIOPATH
21 help 22 help
22 If you are running Linux on an IBM iSeries system and you want to 23 If you are running Linux on an IBM iSeries system and you want to
diff --git a/arch/powerpc/platforms/iseries/iommu.c b/arch/powerpc/platforms/iseries/iommu.c
index ff43f1fd8343..40219823d9b0 100644
--- a/arch/powerpc/platforms/iseries/iommu.c
+++ b/arch/powerpc/platforms/iseries/iommu.c
@@ -174,9 +174,10 @@ static struct iommu_table *iommu_table_find(struct iommu_table * tbl)
174} 174}
175 175
176 176
177void iommu_devnode_init_iSeries(struct pci_dev *pdev, struct device_node *dn) 177static void pci_dma_dev_setup_iseries(struct pci_dev *pdev)
178{ 178{
179 struct iommu_table *tbl; 179 struct iommu_table *tbl;
180 struct device_node *dn = pdev->sysdata;
180 struct pci_dn *pdn = PCI_DN(dn); 181 struct pci_dn *pdn = PCI_DN(dn);
181 const u32 *lsn = of_get_property(dn, "linux,logical-slot-number", NULL); 182 const u32 *lsn = of_get_property(dn, "linux,logical-slot-number", NULL);
182 183
@@ -194,6 +195,8 @@ void iommu_devnode_init_iSeries(struct pci_dev *pdev, struct device_node *dn)
194 kfree(tbl); 195 kfree(tbl);
195 pdev->dev.archdata.dma_data = pdn->iommu_table; 196 pdev->dev.archdata.dma_data = pdn->iommu_table;
196} 197}
198#else
199#define pci_dma_dev_setup_iseries NULL
197#endif 200#endif
198 201
199static struct iommu_table veth_iommu_table; 202static struct iommu_table veth_iommu_table;
@@ -251,5 +254,6 @@ void iommu_init_early_iSeries(void)
251 ppc_md.tce_build = tce_build_iSeries; 254 ppc_md.tce_build = tce_build_iSeries;
252 ppc_md.tce_free = tce_free_iSeries; 255 ppc_md.tce_free = tce_free_iSeries;
253 256
257 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_iseries;
254 set_pci_dma_ops(&dma_iommu_ops); 258 set_pci_dma_ops(&dma_iommu_ops);
255} 259}
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c
index 02a634faedbe..21cddc30220b 100644
--- a/arch/powerpc/platforms/iseries/pci.c
+++ b/arch/powerpc/platforms/iseries/pci.c
@@ -444,7 +444,6 @@ void __init iSeries_pcibios_fixup_resources(struct pci_dev *pdev)
444 pdev->sysdata = node; 444 pdev->sysdata = node;
445 allocate_device_bars(pdev); 445 allocate_device_bars(pdev);
446 iseries_device_information(pdev, bus, *sub_bus); 446 iseries_device_information(pdev, bus, *sub_bus);
447 iommu_devnode_init_iSeries(pdev, node);
448} 447}
449 448
450/* 449/*
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index afe8dbc964aa..5c64ccd402e2 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -208,52 +208,6 @@ static int __init of_add_fixed_phys(void)
208arch_initcall(of_add_fixed_phys); 208arch_initcall(of_add_fixed_phys);
209#endif /* CONFIG_FIXED_PHY */ 209#endif /* CONFIG_FIXED_PHY */
210 210
211#ifdef CONFIG_PPC_83xx
212static int __init mpc83xx_wdt_init(void)
213{
214 struct resource r;
215 struct device_node *np;
216 struct platform_device *dev;
217 u32 freq = fsl_get_sys_freq();
218 int ret;
219
220 np = of_find_compatible_node(NULL, "watchdog", "mpc83xx_wdt");
221
222 if (!np) {
223 ret = -ENODEV;
224 goto nodev;
225 }
226
227 memset(&r, 0, sizeof(r));
228
229 ret = of_address_to_resource(np, 0, &r);
230 if (ret)
231 goto err;
232
233 dev = platform_device_register_simple("mpc83xx_wdt", 0, &r, 1);
234 if (IS_ERR(dev)) {
235 ret = PTR_ERR(dev);
236 goto err;
237 }
238
239 ret = platform_device_add_data(dev, &freq, sizeof(freq));
240 if (ret)
241 goto unreg;
242
243 of_node_put(np);
244 return 0;
245
246unreg:
247 platform_device_unregister(dev);
248err:
249 of_node_put(np);
250nodev:
251 return ret;
252}
253
254arch_initcall(mpc83xx_wdt_init);
255#endif
256
257static enum fsl_usb2_phy_modes determine_usb_phy(const char *phy_type) 211static enum fsl_usb2_phy_modes determine_usb_phy(const char *phy_type)
258{ 212{
259 if (!phy_type) 213 if (!phy_type)
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 21b956701596..0efc12d1a3d7 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -1057,13 +1057,6 @@ struct mpic * __init mpic_alloc(struct device_node *node,
1057 memset(mpic, 0, sizeof(struct mpic)); 1057 memset(mpic, 0, sizeof(struct mpic));
1058 mpic->name = name; 1058 mpic->name = name;
1059 1059
1060 mpic->irqhost = irq_alloc_host(node, IRQ_HOST_MAP_LINEAR,
1061 isu_size, &mpic_host_ops,
1062 flags & MPIC_LARGE_VECTORS ? 2048 : 256);
1063 if (mpic->irqhost == NULL)
1064 return NULL;
1065
1066 mpic->irqhost->host_data = mpic;
1067 mpic->hc_irq = mpic_irq_chip; 1060 mpic->hc_irq = mpic_irq_chip;
1068 mpic->hc_irq.typename = name; 1061 mpic->hc_irq.typename = name;
1069 if (flags & MPIC_PRIMARY) 1062 if (flags & MPIC_PRIMARY)
@@ -1213,6 +1206,15 @@ struct mpic * __init mpic_alloc(struct device_node *node,
1213 mpic->isu_shift = 1 + __ilog2(mpic->isu_size - 1); 1206 mpic->isu_shift = 1 + __ilog2(mpic->isu_size - 1);
1214 mpic->isu_mask = (1 << mpic->isu_shift) - 1; 1207 mpic->isu_mask = (1 << mpic->isu_shift) - 1;
1215 1208
1209 mpic->irqhost = irq_alloc_host(node, IRQ_HOST_MAP_LINEAR,
1210 isu_size ? isu_size : mpic->num_sources,
1211 &mpic_host_ops,
1212 flags & MPIC_LARGE_VECTORS ? 2048 : 256);
1213 if (mpic->irqhost == NULL)
1214 return NULL;
1215
1216 mpic->irqhost->host_data = mpic;
1217
1216 /* Display version */ 1218 /* Display version */
1217 switch (greg_feature & MPIC_GREG_FEATURE_VERSION_MASK) { 1219 switch (greg_feature & MPIC_GREG_FEATURE_VERSION_MASK) {
1218 case 1: 1220 case 1:
diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c
index a22e1a2df1af..c658b413c9b4 100644
--- a/arch/powerpc/sysdev/xilinx_intc.c
+++ b/arch/powerpc/sysdev/xilinx_intc.c
@@ -41,8 +41,32 @@
41 41
42static struct irq_host *master_irqhost; 42static struct irq_host *master_irqhost;
43 43
44#define XILINX_INTC_MAXIRQS (32)
45
46/* The following table allows the interrupt type, edge or level,
47 * to be cached after being read from the device tree until the interrupt
48 * is mapped
49 */
50static int xilinx_intc_typetable[XILINX_INTC_MAXIRQS];
51
52/* Map the interrupt type from the device tree to the interrupt types
53 * used by the interrupt subsystem
54 */
55static unsigned char xilinx_intc_map_senses[] = {
56 IRQ_TYPE_EDGE_RISING,
57 IRQ_TYPE_EDGE_FALLING,
58 IRQ_TYPE_LEVEL_HIGH,
59 IRQ_TYPE_LEVEL_LOW,
60};
61
44/* 62/*
45 * IRQ Chip operations 63 * The interrupt controller is setup such that it doesn't work well with
64 * the level interrupt handler in the kernel because the handler acks the
65 * interrupt before calling the application interrupt handler. To deal with
66 * that, we use 2 different irq chips so that different functions can be
67 * used for level and edge type interrupts.
68 *
69 * IRQ Chip common (across level and edge) operations
46 */ 70 */
47static void xilinx_intc_mask(unsigned int virq) 71static void xilinx_intc_mask(unsigned int virq)
48{ 72{
@@ -52,15 +76,54 @@ static void xilinx_intc_mask(unsigned int virq)
52 out_be32(regs + XINTC_CIE, 1 << irq); 76 out_be32(regs + XINTC_CIE, 1 << irq);
53} 77}
54 78
55static void xilinx_intc_unmask(unsigned int virq) 79static int xilinx_intc_set_type(unsigned int virq, unsigned int flow_type)
80{
81 struct irq_desc *desc = get_irq_desc(virq);
82
83 desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);
84 desc->status |= flow_type & IRQ_TYPE_SENSE_MASK;
85 if (flow_type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW))
86 desc->status |= IRQ_LEVEL;
87 return 0;
88}
89
90/*
91 * IRQ Chip level operations
92 */
93static void xilinx_intc_level_unmask(unsigned int virq)
56{ 94{
57 int irq = virq_to_hw(virq); 95 int irq = virq_to_hw(virq);
58 void * regs = get_irq_chip_data(virq); 96 void * regs = get_irq_chip_data(virq);
59 pr_debug("unmask: %d\n", irq); 97 pr_debug("unmask: %d\n", irq);
60 out_be32(regs + XINTC_SIE, 1 << irq); 98 out_be32(regs + XINTC_SIE, 1 << irq);
99
100 /* ack level irqs because they can't be acked during
101 * ack function since the handle_level_irq function
102 * acks the irq before calling the inerrupt handler
103 */
104 out_be32(regs + XINTC_IAR, 1 << irq);
61} 105}
62 106
63static void xilinx_intc_ack(unsigned int virq) 107static struct irq_chip xilinx_intc_level_irqchip = {
108 .typename = "Xilinx Level INTC",
109 .mask = xilinx_intc_mask,
110 .mask_ack = xilinx_intc_mask,
111 .unmask = xilinx_intc_level_unmask,
112 .set_type = xilinx_intc_set_type,
113};
114
115/*
116 * IRQ Chip edge operations
117 */
118static void xilinx_intc_edge_unmask(unsigned int virq)
119{
120 int irq = virq_to_hw(virq);
121 void *regs = get_irq_chip_data(virq);
122 pr_debug("unmask: %d\n", irq);
123 out_be32(regs + XINTC_SIE, 1 << irq);
124}
125
126static void xilinx_intc_edge_ack(unsigned int virq)
64{ 127{
65 int irq = virq_to_hw(virq); 128 int irq = virq_to_hw(virq);
66 void * regs = get_irq_chip_data(virq); 129 void * regs = get_irq_chip_data(virq);
@@ -68,27 +131,60 @@ static void xilinx_intc_ack(unsigned int virq)
68 out_be32(regs + XINTC_IAR, 1 << irq); 131 out_be32(regs + XINTC_IAR, 1 << irq);
69} 132}
70 133
71static struct irq_chip xilinx_intc_irqchip = { 134static struct irq_chip xilinx_intc_edge_irqchip = {
72 .typename = "Xilinx INTC", 135 .typename = "Xilinx Edge INTC",
73 .mask = xilinx_intc_mask, 136 .mask = xilinx_intc_mask,
74 .unmask = xilinx_intc_unmask, 137 .unmask = xilinx_intc_edge_unmask,
75 .ack = xilinx_intc_ack, 138 .ack = xilinx_intc_edge_ack,
139 .set_type = xilinx_intc_set_type,
76}; 140};
77 141
78/* 142/*
79 * IRQ Host operations 143 * IRQ Host operations
80 */ 144 */
145
146/**
147 * xilinx_intc_xlate - translate virq# from device tree interrupts property
148 */
149static int xilinx_intc_xlate(struct irq_host *h, struct device_node *ct,
150 u32 *intspec, unsigned int intsize,
151 irq_hw_number_t *out_hwirq,
152 unsigned int *out_flags)
153{
154 if ((intsize < 2) || (intspec[0] >= XILINX_INTC_MAXIRQS))
155 return -EINVAL;
156
157 /* keep a copy of the interrupt type til the interrupt is mapped
158 */
159 xilinx_intc_typetable[intspec[0]] = xilinx_intc_map_senses[intspec[1]];
160
161 /* Xilinx uses 2 interrupt entries, the 1st being the h/w
162 * interrupt number, the 2nd being the interrupt type, edge or level
163 */
164 *out_hwirq = intspec[0];
165 *out_flags = xilinx_intc_map_senses[intspec[1]];
166
167 return 0;
168}
81static int xilinx_intc_map(struct irq_host *h, unsigned int virq, 169static int xilinx_intc_map(struct irq_host *h, unsigned int virq,
82 irq_hw_number_t irq) 170 irq_hw_number_t irq)
83{ 171{
84 set_irq_chip_data(virq, h->host_data); 172 set_irq_chip_data(virq, h->host_data);
85 set_irq_chip_and_handler(virq, &xilinx_intc_irqchip, handle_level_irq); 173
86 set_irq_type(virq, IRQ_TYPE_NONE); 174 if (xilinx_intc_typetable[irq] == IRQ_TYPE_LEVEL_HIGH ||
175 xilinx_intc_typetable[irq] == IRQ_TYPE_LEVEL_LOW) {
176 set_irq_chip_and_handler(virq, &xilinx_intc_level_irqchip,
177 handle_level_irq);
178 } else {
179 set_irq_chip_and_handler(virq, &xilinx_intc_edge_irqchip,
180 handle_edge_irq);
181 }
87 return 0; 182 return 0;
88} 183}
89 184
90static struct irq_host_ops xilinx_intc_ops = { 185static struct irq_host_ops xilinx_intc_ops = {
91 .map = xilinx_intc_map, 186 .map = xilinx_intc_map,
187 .xlate = xilinx_intc_xlate,
92}; 188};
93 189
94struct irq_host * __init 190struct irq_host * __init
@@ -116,7 +212,8 @@ xilinx_intc_init(struct device_node *np)
116 out_be32(regs + XINTC_MER, 0x3UL); /* Turn on the Master Enable. */ 212 out_be32(regs + XINTC_MER, 0x3UL); /* Turn on the Master Enable. */
117 213
118 /* Allocate and initialize an irq_host structure. */ 214 /* Allocate and initialize an irq_host structure. */
119 irq = irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, 32, &xilinx_intc_ops, -1); 215 irq = irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, XILINX_INTC_MAXIRQS,
216 &xilinx_intc_ops, -1);
120 if (!irq) 217 if (!irq)
121 panic(__FILE__ ": Cannot allocate IRQ host\n"); 218 panic(__FILE__ ": Cannot allocate IRQ host\n");
122 irq->host_data = regs; 219 irq->host_data = regs;
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h
index 563933e06a35..4f8c199584e7 100644
--- a/arch/x86/include/asm/mce.h
+++ b/arch/x86/include/asm/mce.h
@@ -137,6 +137,7 @@ DECLARE_PER_CPU(mce_banks_t, mce_poll_banks);
137enum mcp_flags { 137enum mcp_flags {
138 MCP_TIMESTAMP = (1 << 0), /* log time stamp */ 138 MCP_TIMESTAMP = (1 << 0), /* log time stamp */
139 MCP_UC = (1 << 1), /* log uncorrected errors */ 139 MCP_UC = (1 << 1), /* log uncorrected errors */
140 MCP_DONTLOG = (1 << 2), /* only clear, don't log */
140}; 141};
141extern void machine_check_poll(enum mcp_flags flags, mce_banks_t *b); 142extern void machine_check_poll(enum mcp_flags flags, mce_banks_t *b);
142 143
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index 42c33cebf00f..8c0be0902dac 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -49,10 +49,10 @@
49#define IVHD_DEV_EXT_SELECT 0x46 49#define IVHD_DEV_EXT_SELECT 0x46
50#define IVHD_DEV_EXT_SELECT_RANGE 0x47 50#define IVHD_DEV_EXT_SELECT_RANGE 0x47
51 51
52#define IVHD_FLAG_HT_TUN_EN 0x00 52#define IVHD_FLAG_HT_TUN_EN_MASK 0x01
53#define IVHD_FLAG_PASSPW_EN 0x01 53#define IVHD_FLAG_PASSPW_EN_MASK 0x02
54#define IVHD_FLAG_RESPASSPW_EN 0x02 54#define IVHD_FLAG_RESPASSPW_EN_MASK 0x04
55#define IVHD_FLAG_ISOC_EN 0x03 55#define IVHD_FLAG_ISOC_EN_MASK 0x08
56 56
57#define IVMD_FLAG_EXCL_RANGE 0x08 57#define IVMD_FLAG_EXCL_RANGE 0x08
58#define IVMD_FLAG_UNITY_MAP 0x01 58#define IVMD_FLAG_UNITY_MAP 0x01
@@ -569,19 +569,19 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu,
569 * First set the recommended feature enable bits from ACPI 569 * First set the recommended feature enable bits from ACPI
570 * into the IOMMU control registers 570 * into the IOMMU control registers
571 */ 571 */
572 h->flags & IVHD_FLAG_HT_TUN_EN ? 572 h->flags & IVHD_FLAG_HT_TUN_EN_MASK ?
573 iommu_feature_enable(iommu, CONTROL_HT_TUN_EN) : 573 iommu_feature_enable(iommu, CONTROL_HT_TUN_EN) :
574 iommu_feature_disable(iommu, CONTROL_HT_TUN_EN); 574 iommu_feature_disable(iommu, CONTROL_HT_TUN_EN);
575 575
576 h->flags & IVHD_FLAG_PASSPW_EN ? 576 h->flags & IVHD_FLAG_PASSPW_EN_MASK ?
577 iommu_feature_enable(iommu, CONTROL_PASSPW_EN) : 577 iommu_feature_enable(iommu, CONTROL_PASSPW_EN) :
578 iommu_feature_disable(iommu, CONTROL_PASSPW_EN); 578 iommu_feature_disable(iommu, CONTROL_PASSPW_EN);
579 579
580 h->flags & IVHD_FLAG_RESPASSPW_EN ? 580 h->flags & IVHD_FLAG_RESPASSPW_EN_MASK ?
581 iommu_feature_enable(iommu, CONTROL_RESPASSPW_EN) : 581 iommu_feature_enable(iommu, CONTROL_RESPASSPW_EN) :
582 iommu_feature_disable(iommu, CONTROL_RESPASSPW_EN); 582 iommu_feature_disable(iommu, CONTROL_RESPASSPW_EN);
583 583
584 h->flags & IVHD_FLAG_ISOC_EN ? 584 h->flags & IVHD_FLAG_ISOC_EN_MASK ?
585 iommu_feature_enable(iommu, CONTROL_ISOC_EN) : 585 iommu_feature_enable(iommu, CONTROL_ISOC_EN) :
586 iommu_feature_disable(iommu, CONTROL_ISOC_EN); 586 iommu_feature_disable(iommu, CONTROL_ISOC_EN);
587 587
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index a86769efe0df..591012fb949f 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -1205,6 +1205,8 @@ void __cpuinit cpu_init(void)
1205 load_TR_desc(); 1205 load_TR_desc();
1206 load_LDT(&init_mm.context); 1206 load_LDT(&init_mm.context);
1207 1207
1208 t->x86_tss.io_bitmap_base = offsetof(struct tss_struct, io_bitmap);
1209
1208#ifdef CONFIG_DOUBLEFAULT 1210#ifdef CONFIG_DOUBLEFAULT
1209 /* Set up doublefault TSS pointer in the GDT */ 1211 /* Set up doublefault TSS pointer in the GDT */
1210 __set_tss_desc(cpu, GDT_ENTRY_DOUBLEFAULT_TSS, &doublefault_tss); 1212 __set_tss_desc(cpu, GDT_ENTRY_DOUBLEFAULT_TSS, &doublefault_tss);
diff --git a/arch/x86/kernel/cpu/mcheck/mce_64.c b/arch/x86/kernel/cpu/mcheck/mce_64.c
index 863f89568b1a..6fb0b359d2a5 100644
--- a/arch/x86/kernel/cpu/mcheck/mce_64.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_64.c
@@ -239,9 +239,10 @@ void machine_check_poll(enum mcp_flags flags, mce_banks_t *b)
239 * Don't get the IP here because it's unlikely to 239 * Don't get the IP here because it's unlikely to
240 * have anything to do with the actual error location. 240 * have anything to do with the actual error location.
241 */ 241 */
242 242 if (!(flags & MCP_DONTLOG)) {
243 mce_log(&m); 243 mce_log(&m);
244 add_taint(TAINT_MACHINE_CHECK); 244 add_taint(TAINT_MACHINE_CHECK);
245 }
245 246
246 /* 247 /*
247 * Clear state for this bank. 248 * Clear state for this bank.
@@ -452,13 +453,14 @@ void mce_log_therm_throt_event(__u64 status)
452 */ 453 */
453 454
454static int check_interval = 5 * 60; /* 5 minutes */ 455static int check_interval = 5 * 60; /* 5 minutes */
455static int next_interval; /* in jiffies */ 456static DEFINE_PER_CPU(int, next_interval); /* in jiffies */
456static void mcheck_timer(unsigned long); 457static void mcheck_timer(unsigned long);
457static DEFINE_PER_CPU(struct timer_list, mce_timer); 458static DEFINE_PER_CPU(struct timer_list, mce_timer);
458 459
459static void mcheck_timer(unsigned long data) 460static void mcheck_timer(unsigned long data)
460{ 461{
461 struct timer_list *t = &per_cpu(mce_timer, data); 462 struct timer_list *t = &per_cpu(mce_timer, data);
463 int *n;
462 464
463 WARN_ON(smp_processor_id() != data); 465 WARN_ON(smp_processor_id() != data);
464 466
@@ -470,14 +472,14 @@ static void mcheck_timer(unsigned long data)
470 * Alert userspace if needed. If we logged an MCE, reduce the 472 * Alert userspace if needed. If we logged an MCE, reduce the
471 * polling interval, otherwise increase the polling interval. 473 * polling interval, otherwise increase the polling interval.
472 */ 474 */
475 n = &__get_cpu_var(next_interval);
473 if (mce_notify_user()) { 476 if (mce_notify_user()) {
474 next_interval = max(next_interval/2, HZ/100); 477 *n = max(*n/2, HZ/100);
475 } else { 478 } else {
476 next_interval = min(next_interval * 2, 479 *n = min(*n*2, (int)round_jiffies_relative(check_interval*HZ));
477 (int)round_jiffies_relative(check_interval*HZ));
478 } 480 }
479 481
480 t->expires = jiffies + next_interval; 482 t->expires = jiffies + *n;
481 add_timer(t); 483 add_timer(t);
482} 484}
483 485
@@ -584,7 +586,7 @@ static void mce_init(void *dummy)
584 * Log the machine checks left over from the previous reset. 586 * Log the machine checks left over from the previous reset.
585 */ 587 */
586 bitmap_fill(all_banks, MAX_NR_BANKS); 588 bitmap_fill(all_banks, MAX_NR_BANKS);
587 machine_check_poll(MCP_UC, &all_banks); 589 machine_check_poll(MCP_UC|(!mce_bootlog ? MCP_DONTLOG : 0), &all_banks);
588 590
589 set_in_cr4(X86_CR4_MCE); 591 set_in_cr4(X86_CR4_MCE);
590 592
@@ -632,14 +634,13 @@ static void mce_cpu_features(struct cpuinfo_x86 *c)
632static void mce_init_timer(void) 634static void mce_init_timer(void)
633{ 635{
634 struct timer_list *t = &__get_cpu_var(mce_timer); 636 struct timer_list *t = &__get_cpu_var(mce_timer);
637 int *n = &__get_cpu_var(next_interval);
635 638
636 /* data race harmless because everyone sets to the same value */ 639 *n = check_interval * HZ;
637 if (!next_interval) 640 if (!*n)
638 next_interval = check_interval * HZ;
639 if (!next_interval)
640 return; 641 return;
641 setup_timer(t, mcheck_timer, smp_processor_id()); 642 setup_timer(t, mcheck_timer, smp_processor_id());
642 t->expires = round_jiffies(jiffies + next_interval); 643 t->expires = round_jiffies(jiffies + *n);
643 add_timer(t); 644 add_timer(t);
644} 645}
645 646
@@ -907,7 +908,6 @@ static void mce_cpu_restart(void *data)
907/* Reinit MCEs after user configuration changes */ 908/* Reinit MCEs after user configuration changes */
908static void mce_restart(void) 909static void mce_restart(void)
909{ 910{
910 next_interval = check_interval * HZ;
911 on_each_cpu(mce_cpu_restart, NULL, 1); 911 on_each_cpu(mce_cpu_restart, NULL, 1);
912} 912}
913 913
@@ -1110,7 +1110,8 @@ static int __cpuinit mce_cpu_callback(struct notifier_block *nfb,
1110 break; 1110 break;
1111 case CPU_DOWN_FAILED: 1111 case CPU_DOWN_FAILED:
1112 case CPU_DOWN_FAILED_FROZEN: 1112 case CPU_DOWN_FAILED_FROZEN:
1113 t->expires = round_jiffies(jiffies + next_interval); 1113 t->expires = round_jiffies(jiffies +
1114 __get_cpu_var(next_interval));
1114 add_timer_on(t, cpu); 1115 add_timer_on(t, cpu);
1115 smp_call_function_single(cpu, mce_reenable_cpu, &action, 1); 1116 smp_call_function_single(cpu, mce_reenable_cpu, &action, 1);
1116 break; 1117 break;
diff --git a/arch/x86/kernel/cpu/mcheck/mce_intel_64.c b/arch/x86/kernel/cpu/mcheck/mce_intel_64.c
index d6b72df89d69..cef3ee30744b 100644
--- a/arch/x86/kernel/cpu/mcheck/mce_intel_64.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_intel_64.c
@@ -151,10 +151,11 @@ static void print_update(char *type, int *hdr, int num)
151static void cmci_discover(int banks, int boot) 151static void cmci_discover(int banks, int boot)
152{ 152{
153 unsigned long *owned = (void *)&__get_cpu_var(mce_banks_owned); 153 unsigned long *owned = (void *)&__get_cpu_var(mce_banks_owned);
154 unsigned long flags;
154 int hdr = 0; 155 int hdr = 0;
155 int i; 156 int i;
156 157
157 spin_lock(&cmci_discover_lock); 158 spin_lock_irqsave(&cmci_discover_lock, flags);
158 for (i = 0; i < banks; i++) { 159 for (i = 0; i < banks; i++) {
159 u64 val; 160 u64 val;
160 161
@@ -184,7 +185,7 @@ static void cmci_discover(int banks, int boot)
184 WARN_ON(!test_bit(i, __get_cpu_var(mce_poll_banks))); 185 WARN_ON(!test_bit(i, __get_cpu_var(mce_poll_banks)));
185 } 186 }
186 } 187 }
187 spin_unlock(&cmci_discover_lock); 188 spin_unlock_irqrestore(&cmci_discover_lock, flags);
188 if (hdr) 189 if (hdr)
189 printk(KERN_CONT "\n"); 190 printk(KERN_CONT "\n");
190} 191}
@@ -211,13 +212,14 @@ void cmci_recheck(void)
211 */ 212 */
212void cmci_clear(void) 213void cmci_clear(void)
213{ 214{
215 unsigned long flags;
214 int i; 216 int i;
215 int banks; 217 int banks;
216 u64 val; 218 u64 val;
217 219
218 if (!cmci_supported(&banks)) 220 if (!cmci_supported(&banks))
219 return; 221 return;
220 spin_lock(&cmci_discover_lock); 222 spin_lock_irqsave(&cmci_discover_lock, flags);
221 for (i = 0; i < banks; i++) { 223 for (i = 0; i < banks; i++) {
222 if (!test_bit(i, __get_cpu_var(mce_banks_owned))) 224 if (!test_bit(i, __get_cpu_var(mce_banks_owned)))
223 continue; 225 continue;
@@ -227,7 +229,7 @@ void cmci_clear(void)
227 wrmsrl(MSR_IA32_MC0_CTL2 + i, val); 229 wrmsrl(MSR_IA32_MC0_CTL2 + i, val);
228 __clear_bit(i, __get_cpu_var(mce_banks_owned)); 230 __clear_bit(i, __get_cpu_var(mce_banks_owned));
229 } 231 }
230 spin_unlock(&cmci_discover_lock); 232 spin_unlock_irqrestore(&cmci_discover_lock, flags);
231} 233}
232 234
233/* 235/*
diff --git a/arch/x86/kernel/cpu/proc.c b/arch/x86/kernel/cpu/proc.c
index f93047fed791..d5e30397246b 100644
--- a/arch/x86/kernel/cpu/proc.c
+++ b/arch/x86/kernel/cpu/proc.c
@@ -14,7 +14,7 @@ static void show_cpuinfo_core(struct seq_file *m, struct cpuinfo_x86 *c,
14 if (c->x86_max_cores * smp_num_siblings > 1) { 14 if (c->x86_max_cores * smp_num_siblings > 1) {
15 seq_printf(m, "physical id\t: %d\n", c->phys_proc_id); 15 seq_printf(m, "physical id\t: %d\n", c->phys_proc_id);
16 seq_printf(m, "siblings\t: %d\n", 16 seq_printf(m, "siblings\t: %d\n",
17 cpumask_weight(cpu_sibling_mask(cpu))); 17 cpumask_weight(cpu_core_mask(cpu)));
18 seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id); 18 seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id);
19 seq_printf(m, "cpu cores\t: %d\n", c->booted_cores); 19 seq_printf(m, "cpu cores\t: %d\n", c->booted_cores);
20 seq_printf(m, "apicid\t\t: %d\n", c->apicid); 20 seq_printf(m, "apicid\t\t: %d\n", c->apicid);
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index ef2c3563357d..006281302925 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -1074,12 +1074,13 @@ u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align)
1074 u64 addr; 1074 u64 addr;
1075 u64 start; 1075 u64 start;
1076 1076
1077 start = startt; 1077 for (start = startt; ; start += size) {
1078 while (size < sizet && (start + 1))
1079 start = find_e820_area_size(start, &size, align); 1078 start = find_e820_area_size(start, &size, align);
1080 1079 if (!(start + 1))
1081 if (size < sizet) 1080 return 0;
1082 return 0; 1081 if (size >= sizet)
1082 break;
1083 }
1083 1084
1084#ifdef CONFIG_X86_32 1085#ifdef CONFIG_X86_32
1085 if (start >= MAXMEM) 1086 if (start >= MAXMEM)
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c
index eedfaebe1063..b1f4dffb919e 100644
--- a/arch/x86/kernel/kgdb.c
+++ b/arch/x86/kernel/kgdb.c
@@ -88,6 +88,7 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)
88 gdb_regs[GDB_SS] = __KERNEL_DS; 88 gdb_regs[GDB_SS] = __KERNEL_DS;
89 gdb_regs[GDB_FS] = 0xFFFF; 89 gdb_regs[GDB_FS] = 0xFFFF;
90 gdb_regs[GDB_GS] = 0xFFFF; 90 gdb_regs[GDB_GS] = 0xFFFF;
91 gdb_regs[GDB_SP] = (int)&regs->sp;
91#else 92#else
92 gdb_regs[GDB_R8] = regs->r8; 93 gdb_regs[GDB_R8] = regs->r8;
93 gdb_regs[GDB_R9] = regs->r9; 94 gdb_regs[GDB_R9] = regs->r9;
@@ -100,8 +101,8 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)
100 gdb_regs32[GDB_PS] = regs->flags; 101 gdb_regs32[GDB_PS] = regs->flags;
101 gdb_regs32[GDB_CS] = regs->cs; 102 gdb_regs32[GDB_CS] = regs->cs;
102 gdb_regs32[GDB_SS] = regs->ss; 103 gdb_regs32[GDB_SS] = regs->ss;
103#endif
104 gdb_regs[GDB_SP] = regs->sp; 104 gdb_regs[GDB_SP] = regs->sp;
105#endif
105} 106}
106 107
107/** 108/**
diff --git a/arch/x86/kernel/machine_kexec_32.c b/arch/x86/kernel/machine_kexec_32.c
index e7368c1da01d..c1c429d00130 100644
--- a/arch/x86/kernel/machine_kexec_32.c
+++ b/arch/x86/kernel/machine_kexec_32.c
@@ -194,7 +194,7 @@ void machine_kexec(struct kimage *image)
194 unsigned int preserve_context); 194 unsigned int preserve_context);
195 195
196#ifdef CONFIG_KEXEC_JUMP 196#ifdef CONFIG_KEXEC_JUMP
197 if (kexec_image->preserve_context) 197 if (image->preserve_context)
198 save_processor_state(); 198 save_processor_state();
199#endif 199#endif
200 200
@@ -253,7 +253,7 @@ void machine_kexec(struct kimage *image)
253 image->preserve_context); 253 image->preserve_context);
254 254
255#ifdef CONFIG_KEXEC_JUMP 255#ifdef CONFIG_KEXEC_JUMP
256 if (kexec_image->preserve_context) 256 if (image->preserve_context)
257 restore_processor_state(); 257 restore_processor_state();
258#endif 258#endif
259 259
diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c
index 89cea4d44679..84c3bf209e98 100644
--- a/arch/x86/kernel/machine_kexec_64.c
+++ b/arch/x86/kernel/machine_kexec_64.c
@@ -274,7 +274,7 @@ void machine_kexec(struct kimage *image)
274 int save_ftrace_enabled; 274 int save_ftrace_enabled;
275 275
276#ifdef CONFIG_KEXEC_JUMP 276#ifdef CONFIG_KEXEC_JUMP
277 if (kexec_image->preserve_context) 277 if (image->preserve_context)
278 save_processor_state(); 278 save_processor_state();
279#endif 279#endif
280 280
@@ -333,7 +333,7 @@ void machine_kexec(struct kimage *image)
333 image->preserve_context); 333 image->preserve_context);
334 334
335#ifdef CONFIG_KEXEC_JUMP 335#ifdef CONFIG_KEXEC_JUMP
336 if (kexec_image->preserve_context) 336 if (image->preserve_context)
337 restore_processor_state(); 337 restore_processor_state();
338#endif 338#endif
339 339
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 1821c2078199..1f8510c51d6e 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -411,7 +411,6 @@ static __init int svm_hardware_setup(void)
411 411
412 iopm_va = page_address(iopm_pages); 412 iopm_va = page_address(iopm_pages);
413 memset(iopm_va, 0xff, PAGE_SIZE * (1 << IOPM_ALLOC_ORDER)); 413 memset(iopm_va, 0xff, PAGE_SIZE * (1 << IOPM_ALLOC_ORDER));
414 clear_bit(0x80, iopm_va); /* allow direct access to PC debug port */
415 iopm_base = page_to_pfn(iopm_pages) << PAGE_SHIFT; 414 iopm_base = page_to_pfn(iopm_pages) << PAGE_SHIFT;
416 415
417 if (boot_cpu_has(X86_FEATURE_NX)) 416 if (boot_cpu_has(X86_FEATURE_NX))
@@ -796,6 +795,11 @@ static void svm_get_segment(struct kvm_vcpu *vcpu,
796 var->db = (s->attrib >> SVM_SELECTOR_DB_SHIFT) & 1; 795 var->db = (s->attrib >> SVM_SELECTOR_DB_SHIFT) & 1;
797 var->g = (s->attrib >> SVM_SELECTOR_G_SHIFT) & 1; 796 var->g = (s->attrib >> SVM_SELECTOR_G_SHIFT) & 1;
798 797
798 /* AMD's VMCB does not have an explicit unusable field, so emulate it
799 * for cross vendor migration purposes by "not present"
800 */
801 var->unusable = !var->present || (var->type == 0);
802
799 switch (seg) { 803 switch (seg) {
800 case VCPU_SREG_CS: 804 case VCPU_SREG_CS:
801 /* 805 /*
@@ -827,8 +831,6 @@ static void svm_get_segment(struct kvm_vcpu *vcpu,
827 var->type |= 0x1; 831 var->type |= 0x1;
828 break; 832 break;
829 } 833 }
830
831 var->unusable = !var->present;
832} 834}
833 835
834static int svm_get_cpl(struct kvm_vcpu *vcpu) 836static int svm_get_cpl(struct kvm_vcpu *vcpu)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 7c1ce5ac6131..49079a46687b 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1121,9 +1121,9 @@ void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu)
1121 1121
1122static int is_efer_nx(void) 1122static int is_efer_nx(void)
1123{ 1123{
1124 u64 efer; 1124 unsigned long long efer = 0;
1125 1125
1126 rdmsrl(MSR_EFER, efer); 1126 rdmsrl_safe(MSR_EFER, &efer);
1127 return efer & EFER_NX; 1127 return efer & EFER_NX;
1128} 1128}
1129 1129
@@ -1259,7 +1259,7 @@ static void do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
1259 bit(X86_FEATURE_CMOV) | bit(X86_FEATURE_PSE36) | 1259 bit(X86_FEATURE_CMOV) | bit(X86_FEATURE_PSE36) |
1260 bit(X86_FEATURE_MMX) | bit(X86_FEATURE_FXSR) | 1260 bit(X86_FEATURE_MMX) | bit(X86_FEATURE_FXSR) |
1261 bit(X86_FEATURE_SYSCALL) | 1261 bit(X86_FEATURE_SYSCALL) |
1262 (bit(X86_FEATURE_NX) && is_efer_nx()) | 1262 (is_efer_nx() ? bit(X86_FEATURE_NX) : 0) |
1263#ifdef CONFIG_X86_64 1263#ifdef CONFIG_X86_64
1264 bit(X86_FEATURE_LM) | 1264 bit(X86_FEATURE_LM) |
1265#endif 1265#endif
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index fd3da1dda1c9..ae4f7b5d7104 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -7,6 +7,7 @@
7#include <asm/page.h> 7#include <asm/page.h>
8#include <asm/page_types.h> 8#include <asm/page_types.h>
9#include <asm/sections.h> 9#include <asm/sections.h>
10#include <asm/setup.h>
10#include <asm/system.h> 11#include <asm/system.h>
11#include <asm/tlbflush.h> 12#include <asm/tlbflush.h>
12 13
@@ -304,8 +305,23 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
304#endif 305#endif
305 306
306#ifdef CONFIG_X86_64 307#ifdef CONFIG_X86_64
307 if (!after_bootmem) 308 if (!after_bootmem && !start) {
309 pud_t *pud;
310 pmd_t *pmd;
311
308 mmu_cr4_features = read_cr4(); 312 mmu_cr4_features = read_cr4();
313
314 /*
315 * _brk_end cannot change anymore, but it and _end may be
316 * located on different 2M pages. cleanup_highmap(), however,
317 * can only consider _end when it runs, so destroy any
318 * mappings beyond _brk_end here.
319 */
320 pud = pud_offset(pgd_offset_k(_brk_end), _brk_end);
321 pmd = pmd_offset(pud, _brk_end - 1);
322 while (++pmd <= pmd_offset(pud, (unsigned long)_end - 1))
323 pmd_clear(pmd);
324 }
309#endif 325#endif
310 __flush_tlb_all(); 326 __flush_tlb_all();
311 327
diff --git a/arch/x86/mm/kmmio.c b/arch/x86/mm/kmmio.c
index 4f115e00486b..50dc802a1c46 100644
--- a/arch/x86/mm/kmmio.c
+++ b/arch/x86/mm/kmmio.c
@@ -87,7 +87,7 @@ static struct kmmio_probe *get_kmmio_probe(unsigned long addr)
87{ 87{
88 struct kmmio_probe *p; 88 struct kmmio_probe *p;
89 list_for_each_entry_rcu(p, &kmmio_probes, list) { 89 list_for_each_entry_rcu(p, &kmmio_probes, list) {
90 if (addr >= p->addr && addr <= (p->addr + p->len)) 90 if (addr >= p->addr && addr < (p->addr + p->len))
91 return p; 91 return p;
92 } 92 }
93 return NULL; 93 return NULL;
diff --git a/arch/x86/mm/srat_32.c b/arch/x86/mm/srat_32.c
index 16ae70fc57e7..29a0e37114f8 100644
--- a/arch/x86/mm/srat_32.c
+++ b/arch/x86/mm/srat_32.c
@@ -216,7 +216,7 @@ int __init get_memcfg_from_srat(void)
216 216
217 if (num_memory_chunks == 0) { 217 if (num_memory_chunks == 0) {
218 printk(KERN_WARNING 218 printk(KERN_WARNING
219 "could not finy any ACPI SRAT memory areas.\n"); 219 "could not find any ACPI SRAT memory areas.\n");
220 goto out_fail; 220 goto out_fail;
221 } 221 }
222 222
diff --git a/arch/x86/mm/srat_64.c b/arch/x86/mm/srat_64.c
index 33c5fa57e43d..01765955baaf 100644
--- a/arch/x86/mm/srat_64.c
+++ b/arch/x86/mm/srat_64.c
@@ -361,6 +361,7 @@ static void __init unparse_node(int node)
361{ 361{
362 int i; 362 int i;
363 node_clear(node, nodes_parsed); 363 node_clear(node, nodes_parsed);
364 node_clear(node, cpu_nodes_parsed);
364 for (i = 0; i < MAX_LOCAL_APIC; i++) { 365 for (i = 0; i < MAX_LOCAL_APIC; i++) {
365 if (apicid_to_node[i] == node) 366 if (apicid_to_node[i] == node)
366 apicid_to_node[i] = NUMA_NO_NODE; 367 apicid_to_node[i] = NUMA_NO_NODE;
diff --git a/arch/x86/vdso/vclock_gettime.c b/arch/x86/vdso/vclock_gettime.c
index d9d35824c56f..6a40b78b46aa 100644
--- a/arch/x86/vdso/vclock_gettime.c
+++ b/arch/x86/vdso/vclock_gettime.c
@@ -104,11 +104,13 @@ notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz)
104{ 104{
105 long ret; 105 long ret;
106 if (likely(gtod->sysctl_enabled && gtod->clock.vread)) { 106 if (likely(gtod->sysctl_enabled && gtod->clock.vread)) {
107 BUILD_BUG_ON(offsetof(struct timeval, tv_usec) != 107 if (likely(tv != NULL)) {
108 offsetof(struct timespec, tv_nsec) || 108 BUILD_BUG_ON(offsetof(struct timeval, tv_usec) !=
109 sizeof(*tv) != sizeof(struct timespec)); 109 offsetof(struct timespec, tv_nsec) ||
110 do_realtime((struct timespec *)tv); 110 sizeof(*tv) != sizeof(struct timespec));
111 tv->tv_usec /= 1000; 111 do_realtime((struct timespec *)tv);
112 tv->tv_usec /= 1000;
113 }
112 if (unlikely(tz != NULL)) { 114 if (unlikely(tz != NULL)) {
113 /* Avoid memcpy. Some old compilers fail to inline it */ 115 /* Avoid memcpy. Some old compilers fail to inline it */
114 tz->tz_minuteswest = gtod->sys_tz.tz_minuteswest; 116 tz->tz_minuteswest = gtod->sys_tz.tz_minuteswest;
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 9842b1212407..e25a78e1113a 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1794,6 +1794,11 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
1794 1794
1795 pin_pagetable_pfn(MMUEXT_PIN_L3_TABLE, PFN_DOWN(__pa(swapper_pg_dir))); 1795 pin_pagetable_pfn(MMUEXT_PIN_L3_TABLE, PFN_DOWN(__pa(swapper_pg_dir)));
1796 1796
1797 reserve_early(__pa(xen_start_info->pt_base),
1798 __pa(xen_start_info->pt_base +
1799 xen_start_info->nr_pt_frames * PAGE_SIZE),
1800 "XEN PAGETABLES");
1801
1797 return swapper_pg_dir; 1802 return swapper_pg_dir;
1798} 1803}
1799#endif /* CONFIG_X86_64 */ 1804#endif /* CONFIG_X86_64 */
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index fa6dc4dd3b19..ebe228d02b08 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -80,6 +80,7 @@ config XTENSA_VARIANT_S6000
80 bool "s6000 - Stretch software configurable processor" 80 bool "s6000 - Stretch software configurable processor"
81 select VARIANT_IRQ_SWITCH 81 select VARIANT_IRQ_SWITCH
82 select ARCH_REQUIRE_GPIOLIB 82 select ARCH_REQUIRE_GPIOLIB
83 select XTENSA_CALIBRATE_CCOUNT
83endchoice 84endchoice
84 85
85config XTENSA_UNALIGNED_USER 86config XTENSA_UNALIGNED_USER
@@ -137,6 +138,8 @@ config PCI
137 138
138source "drivers/pci/Kconfig" 139source "drivers/pci/Kconfig"
139 140
141endmenu
142
140menu "Platform options" 143menu "Platform options"
141 144
142choice 145choice
@@ -153,8 +156,6 @@ config XTENSA_PLATFORM_ISS
153 156
154config XTENSA_PLATFORM_XT2000 157config XTENSA_PLATFORM_XT2000
155 bool "XT2000" 158 bool "XT2000"
156 select XTENSA_CALIBRATE_CCOUNT
157 select PCI
158 help 159 help
159 XT2000 is the name of Tensilica's feature-rich emulation platform. 160 XT2000 is the name of Tensilica's feature-rich emulation platform.
160 This hardware is capable of running a full Linux distribution. 161 This hardware is capable of running a full Linux distribution.
@@ -192,8 +193,6 @@ config CMDLINE
192 193
193source "mm/Kconfig" 194source "mm/Kconfig"
194 195
195endmenu
196
197config HOTPLUG 196config HOTPLUG
198 bool "Support for hot-pluggable devices" 197 bool "Support for hot-pluggable devices"
199 help 198 help
diff --git a/arch/xtensa/configs/s6105_defconfig b/arch/xtensa/configs/s6105_defconfig
index 6e1deff41590..768bee006037 100644
--- a/arch/xtensa/configs/s6105_defconfig
+++ b/arch/xtensa/configs/s6105_defconfig
@@ -115,7 +115,7 @@ CONFIG_XTENSA_VARIANT_S6000=y
115CONFIG_PREEMPT=y 115CONFIG_PREEMPT=y
116# CONFIG_MATH_EMULATION is not set 116# CONFIG_MATH_EMULATION is not set
117# CONFIG_HIGHMEM is not set 117# CONFIG_HIGHMEM is not set
118# CONFIG_XTENSA_CALIBRATE_CCOUNT is not set 118CONFIG_XTENSA_CALIBRATE_CCOUNT=y
119CONFIG_SERIAL_CONSOLE=y 119CONFIG_SERIAL_CONSOLE=y
120# CONFIG_XTENSA_ISS_NETWORK is not set 120# CONFIG_XTENSA_ISS_NETWORK is not set
121 121
@@ -131,7 +131,6 @@ CONFIG_SERIAL_CONSOLE=y
131# CONFIG_XTENSA_PLATFORM_ISS is not set 131# CONFIG_XTENSA_PLATFORM_ISS is not set
132# CONFIG_XTENSA_PLATFORM_XT2000 is not set 132# CONFIG_XTENSA_PLATFORM_XT2000 is not set
133CONFIG_XTENSA_PLATFORM_S6105=y 133CONFIG_XTENSA_PLATFORM_S6105=y
134CONFIG_XTENSA_CPU_CLOCK=300
135CONFIG_GENERIC_CALIBRATE_DELAY=y 134CONFIG_GENERIC_CALIBRATE_DELAY=y
136CONFIG_CMDLINE_BOOL=y 135CONFIG_CMDLINE_BOOL=y
137CONFIG_CMDLINE="console=ttyS1,38400 debug bootmem_debug loglevel=7" 136CONFIG_CMDLINE="console=ttyS1,38400 debug bootmem_debug loglevel=7"
diff --git a/arch/xtensa/include/asm/checksum.h b/arch/xtensa/include/asm/checksum.h
index f84d3f00774a..e4d831a30772 100644
--- a/arch/xtensa/include/asm/checksum.h
+++ b/arch/xtensa/include/asm/checksum.h
@@ -113,7 +113,8 @@ static __inline__ __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
113 are modified, we must also specify them as outputs, or gcc 113 are modified, we must also specify them as outputs, or gcc
114 will assume they contain their original values. */ 114 will assume they contain their original values. */
115 : "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmp), "=&r" (endaddr) 115 : "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmp), "=&r" (endaddr)
116 : "1" (iph), "2" (ihl)); 116 : "1" (iph), "2" (ihl)
117 : "memory");
117 118
118 return csum_fold(sum); 119 return csum_fold(sum);
119} 120}
@@ -227,7 +228,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
227 "1:\t" 228 "1:\t"
228 : "=r" (sum), "=&r" (__dummy) 229 : "=r" (sum), "=&r" (__dummy)
229 : "r" (saddr), "r" (daddr), 230 : "r" (saddr), "r" (daddr),
230 "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)); 231 "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)
232 : "memory");
231 233
232 return csum_fold(sum); 234 return csum_fold(sum);
233} 235}
diff --git a/arch/xtensa/include/asm/timex.h b/arch/xtensa/include/asm/timex.h
index b83a8181d448..053bc4272106 100644
--- a/arch/xtensa/include/asm/timex.h
+++ b/arch/xtensa/include/asm/timex.h
@@ -39,9 +39,9 @@
39 39
40#ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT 40#ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT
41extern unsigned long ccount_per_jiffy; 41extern unsigned long ccount_per_jiffy;
42extern unsigned long ccount_nsec; 42extern unsigned long nsec_per_ccount;
43#define CCOUNT_PER_JIFFY ccount_per_jiffy 43#define CCOUNT_PER_JIFFY ccount_per_jiffy
44#define NSEC_PER_CCOUNT ccount_nsec 44#define NSEC_PER_CCOUNT nsec_per_ccount
45#else 45#else
46#define CCOUNT_PER_JIFFY (CONFIG_XTENSA_CPU_CLOCK*(1000000UL/HZ)) 46#define CCOUNT_PER_JIFFY (CONFIG_XTENSA_CPU_CLOCK*(1000000UL/HZ))
47#define NSEC_PER_CCOUNT (1000UL / CONFIG_XTENSA_CPU_CLOCK) 47#define NSEC_PER_CCOUNT (1000UL / CONFIG_XTENSA_CPU_CLOCK)
diff --git a/arch/xtensa/kernel/Makefile b/arch/xtensa/kernel/Makefile
index 7419dbccf027..fe3186de6a33 100644
--- a/arch/xtensa/kernel/Makefile
+++ b/arch/xtensa/kernel/Makefile
@@ -4,15 +4,30 @@
4 4
5extra-y := head.o vmlinux.lds 5extra-y := head.o vmlinux.lds
6 6
7
8obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o \ 7obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o \
9 setup.o signal.o syscall.o time.o traps.o vectors.o platform.o \ 8 setup.o signal.o syscall.o time.o traps.o vectors.o platform.o \
10 pci-dma.o init_task.o io.o 9 pci-dma.o init_task.o io.o
11 10
12## windowspill.o
13
14obj-$(CONFIG_KGDB) += xtensa-stub.o 11obj-$(CONFIG_KGDB) += xtensa-stub.o
15obj-$(CONFIG_PCI) += pci.o 12obj-$(CONFIG_PCI) += pci.o
16obj-$(CONFIG_MODULES) += xtensa_ksyms.o module.o 13obj-$(CONFIG_MODULES) += xtensa_ksyms.o module.o
17 14
15# In the Xtensa architecture, assembly generates literals which must always
16# precede the L32R instruction with a relative offset less than 256 kB.
17# Therefore, the .text and .literal section must be combined in parenthesis
18# in the linker script, such as: *(.literal .text).
19#
20# We need to post-process the generated vmlinux.lds scripts to convert
21# *(xxx.text) to *(xxx.literal xxx.text) for the following text sections:
22# .text .ref.text .*init.text .*exit.text .text.*
23#
24# Replicate rules in scripts/Makefile.build
25
26sed-y = -e 's/(\(\.[a-z]*it\|\.ref\|\)\.text)/(\1.literal \1.text)/g' \
27 -e 's/(\(\.text\.[a-z]*\))/(\1.literal \1)/g'
28
29quiet_cmd__cpp_lds_S = LDS $@
30 cmd__cpp_lds_S = $(CPP) $(cpp_flags) -D__ASSEMBLY__ $< | sed $(sed-y) >$@
18 31
32$(obj)/vmlinux.lds: $(src)/vmlinux.lds.S FORCE
33 $(call if_changed_dep,_cpp_lds_S)
diff --git a/arch/xtensa/kernel/traps.c b/arch/xtensa/kernel/traps.c
index 9f0b71189e94..ba9ab9349782 100644
--- a/arch/xtensa/kernel/traps.c
+++ b/arch/xtensa/kernel/traps.c
@@ -369,6 +369,18 @@ void show_regs(struct pt_regs * regs)
369 regs->syscall); 369 regs->syscall);
370} 370}
371 371
372static __always_inline unsigned long *stack_pointer(struct task_struct *task)
373{
374 unsigned long *sp;
375
376 if (!task || task == current)
377 __asm__ __volatile__ ("mov %0, a1\n" : "=a"(sp));
378 else
379 sp = (unsigned long *)task->thread.sp;
380
381 return sp;
382}
383
372void show_trace(struct task_struct *task, unsigned long *sp) 384void show_trace(struct task_struct *task, unsigned long *sp)
373{ 385{
374 unsigned long a0, a1, pc; 386 unsigned long a0, a1, pc;
@@ -377,7 +389,7 @@ void show_trace(struct task_struct *task, unsigned long *sp)
377 if (sp) 389 if (sp)
378 a1 = (unsigned long)sp; 390 a1 = (unsigned long)sp;
379 else 391 else
380 a1 = task->thread.sp; 392 a1 = (unsigned long)stack_pointer(task);
381 393
382 sp_start = a1 & ~(THREAD_SIZE-1); 394 sp_start = a1 & ~(THREAD_SIZE-1);
383 sp_end = sp_start + THREAD_SIZE; 395 sp_end = sp_start + THREAD_SIZE;
@@ -420,7 +432,7 @@ void show_stack(struct task_struct *task, unsigned long *sp)
420 unsigned long *stack; 432 unsigned long *stack;
421 433
422 if (!sp) 434 if (!sp)
423 sp = (unsigned long *)task->thread.sp; 435 sp = stack_pointer(task);
424 stack = sp; 436 stack = sp;
425 437
426 printk("\nStack: "); 438 printk("\nStack: ");
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S
index 5accf51053da..41c159cd872f 100644
--- a/arch/xtensa/kernel/vmlinux.lds.S
+++ b/arch/xtensa/kernel/vmlinux.lds.S
@@ -87,7 +87,7 @@ SECTIONS
87 { 87 {
88 /* The HEAD_TEXT section must be the first section! */ 88 /* The HEAD_TEXT section must be the first section! */
89 HEAD_TEXT 89 HEAD_TEXT
90 *(.literal .text) 90 TEXT_TEXT
91 VMLINUX_SYMBOL(__sched_text_start) = .; 91 VMLINUX_SYMBOL(__sched_text_start) = .;
92 *(.sched.literal .sched.text) 92 *(.sched.literal .sched.text)
93 VMLINUX_SYMBOL(__sched_text_end) = .; 93 VMLINUX_SYMBOL(__sched_text_end) = .;
@@ -139,8 +139,6 @@ SECTIONS
139 __init_begin = .; 139 __init_begin = .;
140 .init.text : { 140 .init.text : {
141 _sinittext = .; 141 _sinittext = .;
142 *(.init.literal) *(.cpuinit.literal)
143 *(.devinit.literal) *(.meminit.literal)
144 INIT_TEXT 142 INIT_TEXT
145 _einittext = .; 143 _einittext = .;
146 } 144 }
diff --git a/arch/xtensa/platforms/s6105/setup.c b/arch/xtensa/platforms/s6105/setup.c
index ae041d5027a2..855ddeadc43d 100644
--- a/arch/xtensa/platforms/s6105/setup.c
+++ b/arch/xtensa/platforms/s6105/setup.c
@@ -10,6 +10,8 @@
10#include <asm/bootparam.h> 10#include <asm/bootparam.h>
11 11
12#include <variant/hardware.h> 12#include <variant/hardware.h>
13#include <variant/gpio.h>
14
13#include <platform/gpio.h> 15#include <platform/gpio.h>
14 16
15void platform_halt(void) 17void platform_halt(void)
@@ -47,6 +49,7 @@ void __init platform_setup(char **cmdline)
47 49
48void __init platform_init(bp_tag_t *first) 50void __init platform_init(bp_tag_t *first)
49{ 51{
52 s6_gpio_init();
50 gpio_request(GPIO_LED1_NGREEN, "led1_green"); 53 gpio_request(GPIO_LED1_NGREEN, "led1_green");
51 gpio_request(GPIO_LED1_RED, "led1_red"); 54 gpio_request(GPIO_LED1_RED, "led1_red");
52 gpio_direction_output(GPIO_LED1_NGREEN, 1); 55 gpio_direction_output(GPIO_LED1_NGREEN, 1);
diff --git a/arch/xtensa/variants/s6000/Makefile b/arch/xtensa/variants/s6000/Makefile
index 03b3975468bd..d83f3805130c 100644
--- a/arch/xtensa/variants/s6000/Makefile
+++ b/arch/xtensa/variants/s6000/Makefile
@@ -1,3 +1,4 @@
1# s6000 Makefile 1# s6000 Makefile
2 2
3obj-y += irq.o gpio.o 3obj-y += irq.o gpio.o
4obj-$(CONFIG_XTENSA_CALIBRATE_CCOUNT) += delay.o
diff --git a/arch/xtensa/variants/s6000/delay.c b/arch/xtensa/variants/s6000/delay.c
new file mode 100644
index 000000000000..54b2b573f166
--- /dev/null
+++ b/arch/xtensa/variants/s6000/delay.c
@@ -0,0 +1,27 @@
1#include <asm/delay.h>
2#include <asm/timex.h>
3#include <asm/io.h>
4#include <variant/hardware.h>
5
6#define LOOPS 10
7void platform_calibrate_ccount(void)
8{
9 u32 uninitialized_var(a);
10 u32 uninitialized_var(u);
11 u32 b;
12 u32 tstamp = S6_REG_GREG1 + S6_GREG1_GLOBAL_TIMER;
13 int i = LOOPS+1;
14 do {
15 u32 t = u;
16 asm volatile(
17 "1: l32i %0, %2, 0 ;"
18 " beq %0, %1, 1b ;"
19 : "=&a"(u) : "a"(t), "a"(tstamp));
20 b = xtensa_get_ccount();
21 if (i == LOOPS)
22 a = b;
23 } while (--i >= 0);
24 b -= a;
25 nsec_per_ccount = (LOOPS * 10000) / b;
26 ccount_per_jiffy = b * (100000UL / (LOOPS * HZ));
27}
diff --git a/arch/xtensa/variants/s6000/gpio.c b/arch/xtensa/variants/s6000/gpio.c
index 33a8d952934c..79317fdcf14c 100644
--- a/arch/xtensa/variants/s6000/gpio.c
+++ b/arch/xtensa/variants/s6000/gpio.c
@@ -64,8 +64,7 @@ static struct gpio_chip gpiochip = {
64 .exported = 0, /* no exporting to userspace */ 64 .exported = 0, /* no exporting to userspace */
65}; 65};
66 66
67static int gpio_init(void) 67int s6_gpio_init(void)
68{ 68{
69 return gpiochip_add(&gpiochip); 69 return gpiochip_add(&gpiochip);
70} 70}
71device_initcall(gpio_init);
diff --git a/arch/xtensa/variants/s6000/include/variant/gpio.h b/arch/xtensa/variants/s6000/include/variant/gpio.h
new file mode 100644
index 000000000000..8327f62167eb
--- /dev/null
+++ b/arch/xtensa/variants/s6000/include/variant/gpio.h
@@ -0,0 +1,6 @@
1#ifndef _XTENSA_VARIANT_S6000_GPIO_H
2#define _XTENSA_VARIANT_S6000_GPIO_H
3
4extern int s6_gpio_init(void);
5
6#endif /* _XTENSA_VARIANT_S6000_GPIO_H */
diff --git a/block/blk-core.c b/block/blk-core.c
index 2998fe3a2377..c89883be8737 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1768,10 +1768,10 @@ static int __end_that_request_first(struct request *req, int error,
1768 } else { 1768 } else {
1769 int idx = bio->bi_idx + next_idx; 1769 int idx = bio->bi_idx + next_idx;
1770 1770
1771 if (unlikely(bio->bi_idx >= bio->bi_vcnt)) { 1771 if (unlikely(idx >= bio->bi_vcnt)) {
1772 blk_dump_rq_flags(req, "__end_that"); 1772 blk_dump_rq_flags(req, "__end_that");
1773 printk(KERN_ERR "%s: bio idx %d >= vcnt %d\n", 1773 printk(KERN_ERR "%s: bio idx %d >= vcnt %d\n",
1774 __func__, bio->bi_idx, bio->bi_vcnt); 1774 __func__, idx, bio->bi_vcnt);
1775 break; 1775 break;
1776 } 1776 }
1777 1777
diff --git a/drivers/acpi/acpica/rscalc.c b/drivers/acpi/acpica/rscalc.c
index b6667ff059e5..88b5a2c4814d 100644
--- a/drivers/acpi/acpica/rscalc.c
+++ b/drivers/acpi/acpica/rscalc.c
@@ -543,6 +543,13 @@ acpi_rs_get_pci_routing_table_length(union acpi_operand_object *package_object,
543 543
544 package_element = *top_object_list; 544 package_element = *top_object_list;
545 545
546 /* We must have a valid Package object */
547
548 if (!package_element ||
549 (package_element->common.type != ACPI_TYPE_PACKAGE)) {
550 return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
551 }
552
546 /* 553 /*
547 * The sub_object_list will now point to an array of the 554 * The sub_object_list will now point to an array of the
548 * four IRQ elements: Address, Pin, Source and source_index 555 * four IRQ elements: Address, Pin, Source and source_index
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index 942d14ac8792..d51a17c0f59b 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -72,6 +72,7 @@
72 * ICH2 spec c #20 - IDE PRD must not cross a 64K boundary 72 * ICH2 spec c #20 - IDE PRD must not cross a 64K boundary
73 * and must be dword aligned 73 * and must be dword aligned
74 * ICH2 spec c #24 - UDMA mode 4,5 t85/86 should be 6ns not 3.3 74 * ICH2 spec c #24 - UDMA mode 4,5 t85/86 should be 6ns not 3.3
75 * ICH7 errata #16 - MWDMA1 timings are incorrect
75 * 76 *
76 * Should have been BIOS fixed: 77 * Should have been BIOS fixed:
77 * 450NX: errata #19 - DMA hangs on old 450NX 78 * 450NX: errata #19 - DMA hangs on old 450NX
@@ -94,7 +95,7 @@
94#include <linux/dmi.h> 95#include <linux/dmi.h>
95 96
96#define DRV_NAME "ata_piix" 97#define DRV_NAME "ata_piix"
97#define DRV_VERSION "2.12" 98#define DRV_VERSION "2.13"
98 99
99enum { 100enum {
100 PIIX_IOCFG = 0x54, /* IDE I/O configuration register */ 101 PIIX_IOCFG = 0x54, /* IDE I/O configuration register */
@@ -136,6 +137,7 @@ enum piix_controller_ids {
136 ich_pata_33, /* ICH up to UDMA 33 only */ 137 ich_pata_33, /* ICH up to UDMA 33 only */
137 ich_pata_66, /* ICH up to 66 Mhz */ 138 ich_pata_66, /* ICH up to 66 Mhz */
138 ich_pata_100, /* ICH up to UDMA 100 */ 139 ich_pata_100, /* ICH up to UDMA 100 */
140 ich_pata_100_nomwdma1, /* ICH up to UDMA 100 but with no MWDMA1*/
139 ich5_sata, 141 ich5_sata,
140 ich6_sata, 142 ich6_sata,
141 ich6m_sata, 143 ich6m_sata,
@@ -216,8 +218,8 @@ static const struct pci_device_id piix_pci_tbl[] = {
216 /* ICH6 (and 6) (i915) UDMA 100 */ 218 /* ICH6 (and 6) (i915) UDMA 100 */
217 { 0x8086, 0x266F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, 219 { 0x8086, 0x266F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
218 /* ICH7/7-R (i945, i975) UDMA 100*/ 220 /* ICH7/7-R (i945, i975) UDMA 100*/
219 { 0x8086, 0x27DF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, 221 { 0x8086, 0x27DF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100_nomwdma1 },
220 { 0x8086, 0x269E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, 222 { 0x8086, 0x269E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100_nomwdma1 },
221 /* ICH8 Mobile PATA Controller */ 223 /* ICH8 Mobile PATA Controller */
222 { 0x8086, 0x2850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 }, 224 { 0x8086, 0x2850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_100 },
223 225
@@ -487,6 +489,15 @@ static struct ata_port_info piix_port_info[] = {
487 .port_ops = &ich_pata_ops, 489 .port_ops = &ich_pata_ops,
488 }, 490 },
489 491
492 [ich_pata_100_nomwdma1] =
493 {
494 .flags = PIIX_PATA_FLAGS | PIIX_FLAG_CHECKINTR,
495 .pio_mask = ATA_PIO4,
496 .mwdma_mask = ATA_MWDMA2_ONLY,
497 .udma_mask = ATA_UDMA5,
498 .port_ops = &ich_pata_ops,
499 },
500
490 [ich5_sata] = 501 [ich5_sata] =
491 { 502 {
492 .flags = PIIX_SATA_FLAGS, 503 .flags = PIIX_SATA_FLAGS,
@@ -594,6 +605,7 @@ static const struct ich_laptop ich_laptop[] = {
594 { 0x24CA, 0x1025, 0x003d }, /* ICH4 on ACER TM290 */ 605 { 0x24CA, 0x1025, 0x003d }, /* ICH4 on ACER TM290 */
595 { 0x266F, 0x1025, 0x0066 }, /* ICH6 on ACER Aspire 1694WLMi */ 606 { 0x266F, 0x1025, 0x0066 }, /* ICH6 on ACER Aspire 1694WLMi */
596 { 0x2653, 0x1043, 0x82D8 }, /* ICH6M on Asus Eee 701 */ 607 { 0x2653, 0x1043, 0x82D8 }, /* ICH6M on Asus Eee 701 */
608 { 0x27df, 0x104d, 0x900e }, /* ICH7 on Sony TZ-90 */
597 /* end marker */ 609 /* end marker */
598 { 0, } 610 { 0, }
599}; 611};
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 17c5d48a75d2..c9242301cfa1 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4091,7 +4091,9 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
4091 4091
4092 /* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */ 4092 /* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */
4093 if (ata_class_enabled(new_class) && 4093 if (ata_class_enabled(new_class) &&
4094 new_class != ATA_DEV_ATA && new_class != ATA_DEV_ATAPI) { 4094 new_class != ATA_DEV_ATA &&
4095 new_class != ATA_DEV_ATAPI &&
4096 new_class != ATA_DEV_SEMB) {
4095 ata_dev_printk(dev, KERN_INFO, "class mismatch %u != %u\n", 4097 ata_dev_printk(dev, KERN_INFO, "class mismatch %u != %u\n",
4096 dev->class, new_class); 4098 dev->class, new_class);
4097 rc = -ENODEV; 4099 rc = -ENODEV;
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 01831312c360..94919ad03df1 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2783,6 +2783,12 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link,
2783 } else if (dev->class == ATA_DEV_UNKNOWN && 2783 } else if (dev->class == ATA_DEV_UNKNOWN &&
2784 ehc->tries[dev->devno] && 2784 ehc->tries[dev->devno] &&
2785 ata_class_enabled(ehc->classes[dev->devno])) { 2785 ata_class_enabled(ehc->classes[dev->devno])) {
2786 /* Temporarily set dev->class, it will be
2787 * permanently set once all configurations are
2788 * complete. This is necessary because new
2789 * device configuration is done in two
2790 * separate loops.
2791 */
2786 dev->class = ehc->classes[dev->devno]; 2792 dev->class = ehc->classes[dev->devno];
2787 2793
2788 if (dev->class == ATA_DEV_PMP) 2794 if (dev->class == ATA_DEV_PMP)
@@ -2790,6 +2796,11 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link,
2790 else 2796 else
2791 rc = ata_dev_read_id(dev, &dev->class, 2797 rc = ata_dev_read_id(dev, &dev->class,
2792 readid_flags, dev->id); 2798 readid_flags, dev->id);
2799
2800 /* read_id might have changed class, store and reset */
2801 ehc->classes[dev->devno] = dev->class;
2802 dev->class = ATA_DEV_UNKNOWN;
2803
2793 switch (rc) { 2804 switch (rc) {
2794 case 0: 2805 case 0:
2795 /* clear error info accumulated during probe */ 2806 /* clear error info accumulated during probe */
@@ -2799,13 +2810,11 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link,
2799 case -ENOENT: 2810 case -ENOENT:
2800 /* IDENTIFY was issued to non-existent 2811 /* IDENTIFY was issued to non-existent
2801 * device. No need to reset. Just 2812 * device. No need to reset. Just
2802 * thaw and kill the device. 2813 * thaw and ignore the device.
2803 */ 2814 */
2804 ata_eh_thaw_port(ap); 2815 ata_eh_thaw_port(ap);
2805 dev->class = ATA_DEV_UNKNOWN;
2806 break; 2816 break;
2807 default: 2817 default:
2808 dev->class = ATA_DEV_UNKNOWN;
2809 goto err; 2818 goto err;
2810 } 2819 }
2811 } 2820 }
@@ -2826,11 +2835,15 @@ static int ata_eh_revalidate_and_attach(struct ata_link *link,
2826 dev->class == ATA_DEV_PMP) 2835 dev->class == ATA_DEV_PMP)
2827 continue; 2836 continue;
2828 2837
2838 dev->class = ehc->classes[dev->devno];
2839
2829 ehc->i.flags |= ATA_EHI_PRINTINFO; 2840 ehc->i.flags |= ATA_EHI_PRINTINFO;
2830 rc = ata_dev_configure(dev); 2841 rc = ata_dev_configure(dev);
2831 ehc->i.flags &= ~ATA_EHI_PRINTINFO; 2842 ehc->i.flags &= ~ATA_EHI_PRINTINFO;
2832 if (rc) 2843 if (rc) {
2844 dev->class = ATA_DEV_UNKNOWN;
2833 goto err; 2845 goto err;
2846 }
2834 2847
2835 spin_lock_irqsave(ap->lock, flags); 2848 spin_lock_irqsave(ap->lock, flags);
2836 ap->pflags |= ATA_PFLAG_SCSI_HOTPLUG; 2849 ap->pflags |= ATA_PFLAG_SCSI_HOTPLUG;
@@ -3494,6 +3507,8 @@ static void ata_eh_handle_port_suspend(struct ata_port *ap)
3494 */ 3507 */
3495static void ata_eh_handle_port_resume(struct ata_port *ap) 3508static void ata_eh_handle_port_resume(struct ata_port *ap)
3496{ 3509{
3510 struct ata_link *link;
3511 struct ata_device *dev;
3497 unsigned long flags; 3512 unsigned long flags;
3498 int rc = 0; 3513 int rc = 0;
3499 3514
@@ -3508,6 +3523,17 @@ static void ata_eh_handle_port_resume(struct ata_port *ap)
3508 3523
3509 WARN_ON(!(ap->pflags & ATA_PFLAG_SUSPENDED)); 3524 WARN_ON(!(ap->pflags & ATA_PFLAG_SUSPENDED));
3510 3525
3526 /*
3527 * Error timestamps are in jiffies which doesn't run while
3528 * suspended and PHY events during resume isn't too uncommon.
3529 * When the two are combined, it can lead to unnecessary speed
3530 * downs if the machine is suspended and resumed repeatedly.
3531 * Clear error history.
3532 */
3533 ata_for_each_link(link, ap, HOST_FIRST)
3534 ata_for_each_dev(dev, link, ALL)
3535 ata_ering_clear(&dev->ering);
3536
3511 ata_acpi_set_state(ap, PMSG_ON); 3537 ata_acpi_set_state(ap, PMSG_ON);
3512 3538
3513 if (ap->ops->port_resume) 3539 if (ap->ops->port_resume)
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 2733b0c90b75..342316064e9f 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -313,7 +313,7 @@ ata_scsi_em_message_show(struct device *dev, struct device_attribute *attr,
313 return ap->ops->em_show(ap, buf); 313 return ap->ops->em_show(ap, buf);
314 return -EINVAL; 314 return -EINVAL;
315} 315}
316DEVICE_ATTR(em_message, S_IRUGO | S_IWUGO, 316DEVICE_ATTR(em_message, S_IRUGO | S_IWUSR,
317 ata_scsi_em_message_show, ata_scsi_em_message_store); 317 ata_scsi_em_message_show, ata_scsi_em_message_store);
318EXPORT_SYMBOL_GPL(dev_attr_em_message); 318EXPORT_SYMBOL_GPL(dev_attr_em_message);
319 319
@@ -366,7 +366,7 @@ ata_scsi_activity_store(struct device *dev, struct device_attribute *attr,
366 } 366 }
367 return -EINVAL; 367 return -EINVAL;
368} 368}
369DEVICE_ATTR(sw_activity, S_IWUGO | S_IRUGO, ata_scsi_activity_show, 369DEVICE_ATTR(sw_activity, S_IWUSR | S_IRUGO, ata_scsi_activity_show,
370 ata_scsi_activity_store); 370 ata_scsi_activity_store);
371EXPORT_SYMBOL_GPL(dev_attr_sw_activity); 371EXPORT_SYMBOL_GPL(dev_attr_sw_activity);
372 372
@@ -2142,13 +2142,14 @@ static unsigned int ata_scsiop_inq_89(struct ata_scsi_args *args, u8 *rbuf)
2142 2142
2143static unsigned int ata_scsiop_inq_b1(struct ata_scsi_args *args, u8 *rbuf) 2143static unsigned int ata_scsiop_inq_b1(struct ata_scsi_args *args, u8 *rbuf)
2144{ 2144{
2145 int form_factor = ata_id_form_factor(args->id);
2146 int media_rotation_rate = ata_id_rotation_rate(args->id);
2147
2145 rbuf[1] = 0xb1; 2148 rbuf[1] = 0xb1;
2146 rbuf[3] = 0x3c; 2149 rbuf[3] = 0x3c;
2147 if (ata_id_major_version(args->id) > 7) { 2150 rbuf[4] = media_rotation_rate >> 8;
2148 rbuf[4] = args->id[217] >> 8; 2151 rbuf[5] = media_rotation_rate;
2149 rbuf[5] = args->id[217]; 2152 rbuf[7] = form_factor;
2150 rbuf[7] = args->id[168] & 0xf;
2151 }
2152 2153
2153 return 0; 2154 return 0;
2154} 2155}
@@ -2376,7 +2377,23 @@ saving_not_supp:
2376 */ 2377 */
2377static unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf) 2378static unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf)
2378{ 2379{
2379 u64 last_lba = args->dev->n_sectors - 1; /* LBA of the last block */ 2380 struct ata_device *dev = args->dev;
2381 u64 last_lba = dev->n_sectors - 1; /* LBA of the last block */
2382 u8 log_per_phys = 0;
2383 u16 lowest_aligned = 0;
2384 u16 word_106 = dev->id[106];
2385 u16 word_209 = dev->id[209];
2386
2387 if ((word_106 & 0xc000) == 0x4000) {
2388 /* Number and offset of logical sectors per physical sector */
2389 if (word_106 & (1 << 13))
2390 log_per_phys = word_106 & 0xf;
2391 if ((word_209 & 0xc000) == 0x4000) {
2392 u16 first = dev->id[209] & 0x3fff;
2393 if (first > 0)
2394 lowest_aligned = (1 << log_per_phys) - first;
2395 }
2396 }
2380 2397
2381 VPRINTK("ENTER\n"); 2398 VPRINTK("ENTER\n");
2382 2399
@@ -2407,6 +2424,11 @@ static unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf)
2407 /* sector size */ 2424 /* sector size */
2408 rbuf[10] = ATA_SECT_SIZE >> 8; 2425 rbuf[10] = ATA_SECT_SIZE >> 8;
2409 rbuf[11] = ATA_SECT_SIZE & 0xff; 2426 rbuf[11] = ATA_SECT_SIZE & 0xff;
2427
2428 rbuf[12] = 0;
2429 rbuf[13] = log_per_phys;
2430 rbuf[14] = (lowest_aligned >> 8) & 0x3f;
2431 rbuf[15] = lowest_aligned;
2410 } 2432 }
2411 2433
2412 return 0; 2434 return 0;
diff --git a/drivers/ata/pata_pdc202xx_old.c b/drivers/ata/pata_pdc202xx_old.c
index 5fedb3d4032b..2f3c9bed63d9 100644
--- a/drivers/ata/pata_pdc202xx_old.c
+++ b/drivers/ata/pata_pdc202xx_old.c
@@ -2,7 +2,7 @@
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@lxorguk.ukuu.org.uk> 4 * Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * (C) 2007 Bartlomiej Zolnierkiewicz 5 * (C) 2007,2009 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
8 * 8 *
@@ -158,7 +158,7 @@ static void pdc2026x_bmdma_start(struct ata_queued_cmd *qc)
158 u32 len; 158 u32 len;
159 159
160 /* Check we keep host level locking here */ 160 /* Check we keep host level locking here */
161 if (adev->dma_mode >= XFER_UDMA_2) 161 if (adev->dma_mode > XFER_UDMA_2)
162 iowrite8(ioread8(clock) | sel66, clock); 162 iowrite8(ioread8(clock) | sel66, clock);
163 else 163 else
164 iowrite8(ioread8(clock) & ~sel66, clock); 164 iowrite8(ioread8(clock) & ~sel66, clock);
@@ -212,7 +212,7 @@ static void pdc2026x_bmdma_stop(struct ata_queued_cmd *qc)
212 iowrite8(ioread8(clock) & ~sel66, clock); 212 iowrite8(ioread8(clock) & ~sel66, clock);
213 } 213 }
214 /* Flip back to 33Mhz for PIO */ 214 /* Flip back to 33Mhz for PIO */
215 if (adev->dma_mode >= XFER_UDMA_2) 215 if (adev->dma_mode > XFER_UDMA_2)
216 iowrite8(ioread8(clock) & ~sel66, clock); 216 iowrite8(ioread8(clock) & ~sel66, clock);
217 ata_bmdma_stop(qc); 217 ata_bmdma_stop(qc);
218 pdc202xx_set_piomode(ap, adev); 218 pdc202xx_set_piomode(ap, adev);
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index c2e90e1fece0..36b8629203be 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -205,6 +205,7 @@ struct cmdhdr_tbl_entry {
205 * Description information bitdefs 205 * Description information bitdefs
206 */ 206 */
207enum { 207enum {
208 CMD_DESC_RES = (1 << 11),
208 VENDOR_SPECIFIC_BIST = (1 << 10), 209 VENDOR_SPECIFIC_BIST = (1 << 10),
209 CMD_DESC_SNOOP_ENABLE = (1 << 9), 210 CMD_DESC_SNOOP_ENABLE = (1 << 9),
210 FPDMA_QUEUED_CMD = (1 << 8), 211 FPDMA_QUEUED_CMD = (1 << 8),
@@ -332,13 +333,14 @@ static unsigned int sata_fsl_fill_sg(struct ata_queued_cmd *qc, void *cmd_desc,
332 dma_addr_t sg_addr = sg_dma_address(sg); 333 dma_addr_t sg_addr = sg_dma_address(sg);
333 u32 sg_len = sg_dma_len(sg); 334 u32 sg_len = sg_dma_len(sg);
334 335
335 VPRINTK("SATA FSL : fill_sg, sg_addr = 0x%x, sg_len = %d\n", 336 VPRINTK("SATA FSL : fill_sg, sg_addr = 0x%llx, sg_len = %d\n",
336 sg_addr, sg_len); 337 (unsigned long long)sg_addr, sg_len);
337 338
338 /* warn if each s/g element is not dword aligned */ 339 /* warn if each s/g element is not dword aligned */
339 if (sg_addr & 0x03) 340 if (sg_addr & 0x03)
340 ata_port_printk(qc->ap, KERN_ERR, 341 ata_port_printk(qc->ap, KERN_ERR,
341 "s/g addr unaligned : 0x%x\n", sg_addr); 342 "s/g addr unaligned : 0x%llx\n",
343 (unsigned long long)sg_addr);
342 if (sg_len & 0x03) 344 if (sg_len & 0x03)
343 ata_port_printk(qc->ap, KERN_ERR, 345 ata_port_printk(qc->ap, KERN_ERR,
344 "s/g len unaligned : 0x%x\n", sg_len); 346 "s/g len unaligned : 0x%x\n", sg_len);
@@ -387,7 +389,7 @@ static void sata_fsl_qc_prep(struct ata_queued_cmd *qc)
387 void __iomem *hcr_base = host_priv->hcr_base; 389 void __iomem *hcr_base = host_priv->hcr_base;
388 unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); 390 unsigned int tag = sata_fsl_tag(qc->tag, hcr_base);
389 struct command_desc *cd; 391 struct command_desc *cd;
390 u32 desc_info = CMD_DESC_SNOOP_ENABLE; 392 u32 desc_info = CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE;
391 u32 num_prde = 0; 393 u32 num_prde = 0;
392 u32 ttl_dwords = 0; 394 u32 ttl_dwords = 0;
393 dma_addr_t cd_paddr; 395 dma_addr_t cd_paddr;
@@ -840,7 +842,7 @@ issue_srst:
840 842
841 /* device reset/SRST is a control register update FIS, uses tag0 */ 843 /* device reset/SRST is a control register update FIS, uses tag0 */
842 sata_fsl_setup_cmd_hdr_entry(pp, 0, 844 sata_fsl_setup_cmd_hdr_entry(pp, 0,
843 SRST_CMD | CMD_DESC_SNOOP_ENABLE, 0, 0, 5); 845 SRST_CMD | CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE, 0, 0, 5);
844 846
845 tf.ctl |= ATA_SRST; /* setup SRST bit in taskfile control reg */ 847 tf.ctl |= ATA_SRST; /* setup SRST bit in taskfile control reg */
846 ata_tf_to_fis(&tf, pmp, 0, cfis); 848 ata_tf_to_fis(&tf, pmp, 0, cfis);
@@ -886,7 +888,8 @@ issue_srst:
886 * using ATA signature D2H register FIS to the host controller. 888 * using ATA signature D2H register FIS to the host controller.
887 */ 889 */
888 890
889 sata_fsl_setup_cmd_hdr_entry(pp, 0, CMD_DESC_SNOOP_ENABLE, 0, 0, 5); 891 sata_fsl_setup_cmd_hdr_entry(pp, 0, CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE,
892 0, 0, 5);
890 893
891 tf.ctl &= ~ATA_SRST; /* 2nd H2D Ctl. register FIS */ 894 tf.ctl &= ~ATA_SRST; /* 2nd H2D Ctl. register FIS */
892 ata_tf_to_fis(&tf, pmp, 0, cfis); 895 ata_tf_to_fis(&tf, pmp, 0, cfis);
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 870dcfd82357..23714aefb825 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -293,6 +293,10 @@ enum {
293 FISCFG_WAIT_DEV_ERR = (1 << 8), /* wait for host on DevErr */ 293 FISCFG_WAIT_DEV_ERR = (1 << 8), /* wait for host on DevErr */
294 FISCFG_SINGLE_SYNC = (1 << 16), /* SYNC on DMA activation */ 294 FISCFG_SINGLE_SYNC = (1 << 16), /* SYNC on DMA activation */
295 295
296 PHY_MODE9_GEN2 = 0x398,
297 PHY_MODE9_GEN1 = 0x39c,
298 PHYCFG_OFS = 0x3a0, /* only in 65n devices */
299
296 MV5_PHY_MODE = 0x74, 300 MV5_PHY_MODE = 0x74,
297 MV5_LTMODE = 0x30, 301 MV5_LTMODE = 0x30,
298 MV5_PHY_CTL = 0x0C, 302 MV5_PHY_CTL = 0x0C,
@@ -609,6 +613,8 @@ static int mv_soc_reset_hc(struct mv_host_priv *hpriv,
609static void mv_soc_reset_flash(struct mv_host_priv *hpriv, 613static void mv_soc_reset_flash(struct mv_host_priv *hpriv,
610 void __iomem *mmio); 614 void __iomem *mmio);
611static void mv_soc_reset_bus(struct ata_host *host, void __iomem *mmio); 615static void mv_soc_reset_bus(struct ata_host *host, void __iomem *mmio);
616static void mv_soc_65n_phy_errata(struct mv_host_priv *hpriv,
617 void __iomem *mmio, unsigned int port);
612static void mv_reset_pci_bus(struct ata_host *host, void __iomem *mmio); 618static void mv_reset_pci_bus(struct ata_host *host, void __iomem *mmio);
613static void mv_reset_channel(struct mv_host_priv *hpriv, void __iomem *mmio, 619static void mv_reset_channel(struct mv_host_priv *hpriv, void __iomem *mmio,
614 unsigned int port_no); 620 unsigned int port_no);
@@ -807,6 +813,14 @@ static const struct mv_hw_ops mv_soc_ops = {
807 .reset_bus = mv_soc_reset_bus, 813 .reset_bus = mv_soc_reset_bus,
808}; 814};
809 815
816static const struct mv_hw_ops mv_soc_65n_ops = {
817 .phy_errata = mv_soc_65n_phy_errata,
818 .enable_leds = mv_soc_enable_leds,
819 .reset_hc = mv_soc_reset_hc,
820 .reset_flash = mv_soc_reset_flash,
821 .reset_bus = mv_soc_reset_bus,
822};
823
810/* 824/*
811 * Functions 825 * Functions
812 */ 826 */
@@ -3397,6 +3411,53 @@ static void mv_soc_reset_bus(struct ata_host *host, void __iomem *mmio)
3397 return; 3411 return;
3398} 3412}
3399 3413
3414static void mv_soc_65n_phy_errata(struct mv_host_priv *hpriv,
3415 void __iomem *mmio, unsigned int port)
3416{
3417 void __iomem *port_mmio = mv_port_base(mmio, port);
3418 u32 reg;
3419
3420 reg = readl(port_mmio + PHY_MODE3);
3421 reg &= ~(0x3 << 27); /* SELMUPF (bits 28:27) to 1 */
3422 reg |= (0x1 << 27);
3423 reg &= ~(0x3 << 29); /* SELMUPI (bits 30:29) to 1 */
3424 reg |= (0x1 << 29);
3425 writel(reg, port_mmio + PHY_MODE3);
3426
3427 reg = readl(port_mmio + PHY_MODE4);
3428 reg &= ~0x1; /* SATU_OD8 (bit 0) to 0, reserved bit 16 must be set */
3429 reg |= (0x1 << 16);
3430 writel(reg, port_mmio + PHY_MODE4);
3431
3432 reg = readl(port_mmio + PHY_MODE9_GEN2);
3433 reg &= ~0xf; /* TXAMP[3:0] (bits 3:0) to 8 */
3434 reg |= 0x8;
3435 reg &= ~(0x1 << 14); /* TXAMP[4] (bit 14) to 0 */
3436 writel(reg, port_mmio + PHY_MODE9_GEN2);
3437
3438 reg = readl(port_mmio + PHY_MODE9_GEN1);
3439 reg &= ~0xf; /* TXAMP[3:0] (bits 3:0) to 8 */
3440 reg |= 0x8;
3441 reg &= ~(0x1 << 14); /* TXAMP[4] (bit 14) to 0 */
3442 writel(reg, port_mmio + PHY_MODE9_GEN1);
3443}
3444
3445/**
3446 * soc_is_65 - check if the soc is 65 nano device
3447 *
3448 * Detect the type of the SoC, this is done by reading the PHYCFG_OFS
3449 * register, this register should contain non-zero value and it exists only
3450 * in the 65 nano devices, when reading it from older devices we get 0.
3451 */
3452static bool soc_is_65n(struct mv_host_priv *hpriv)
3453{
3454 void __iomem *port0_mmio = mv_port_base(hpriv->base, 0);
3455
3456 if (readl(port0_mmio + PHYCFG_OFS))
3457 return true;
3458 return false;
3459}
3460
3400static void mv_setup_ifcfg(void __iomem *port_mmio, int want_gen2i) 3461static void mv_setup_ifcfg(void __iomem *port_mmio, int want_gen2i)
3401{ 3462{
3402 u32 ifcfg = readl(port_mmio + SATA_IFCFG); 3463 u32 ifcfg = readl(port_mmio + SATA_IFCFG);
@@ -3737,7 +3798,10 @@ static int mv_chip_id(struct ata_host *host, unsigned int board_idx)
3737 } 3798 }
3738 break; 3799 break;
3739 case chip_soc: 3800 case chip_soc:
3740 hpriv->ops = &mv_soc_ops; 3801 if (soc_is_65n(hpriv))
3802 hpriv->ops = &mv_soc_65n_ops;
3803 else
3804 hpriv->ops = &mv_soc_ops;
3741 hp_flags |= MV_HP_FLAG_SOC | MV_HP_GEN_IIE | 3805 hp_flags |= MV_HP_FLAG_SOC | MV_HP_GEN_IIE |
3742 MV_HP_ERRATA_60X1C0; 3806 MV_HP_ERRATA_60X1C0;
3743 break; 3807 break;
@@ -3800,7 +3864,8 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
3800 n_hc = mv_get_hc_count(host->ports[0]->flags); 3864 n_hc = mv_get_hc_count(host->ports[0]->flags);
3801 3865
3802 for (port = 0; port < host->n_ports; port++) 3866 for (port = 0; port < host->n_ports; port++)
3803 hpriv->ops->read_preamp(hpriv, port, mmio); 3867 if (hpriv->ops->read_preamp)
3868 hpriv->ops->read_preamp(hpriv, port, mmio);
3804 3869
3805 rc = hpriv->ops->reset_hc(hpriv, mmio, n_hc); 3870 rc = hpriv->ops->reset_hc(hpriv, mmio, n_hc);
3806 if (rc) 3871 if (rc)
diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
index dce3dccced3f..eb05a3c82a9e 100644
--- a/drivers/ata/sata_sx4.c
+++ b/drivers/ata/sata_sx4.c
@@ -213,8 +213,9 @@ struct pdc_host_priv {
213 213
214 214
215static int pdc_sata_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); 215static int pdc_sata_init_one(struct pci_dev *pdev, const struct pci_device_id *ent);
216static void pdc_eng_timeout(struct ata_port *ap); 216static void pdc_error_handler(struct ata_port *ap);
217static void pdc_20621_phy_reset(struct ata_port *ap); 217static void pdc_freeze(struct ata_port *ap);
218static void pdc_thaw(struct ata_port *ap);
218static int pdc_port_start(struct ata_port *ap); 219static int pdc_port_start(struct ata_port *ap);
219static void pdc20621_qc_prep(struct ata_queued_cmd *qc); 220static void pdc20621_qc_prep(struct ata_queued_cmd *qc);
220static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf); 221static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf);
@@ -233,6 +234,10 @@ static void pdc20621_put_to_dimm(struct ata_host *host,
233 void *psource, u32 offset, u32 size); 234 void *psource, u32 offset, u32 size);
234static void pdc20621_irq_clear(struct ata_port *ap); 235static void pdc20621_irq_clear(struct ata_port *ap);
235static unsigned int pdc20621_qc_issue(struct ata_queued_cmd *qc); 236static unsigned int pdc20621_qc_issue(struct ata_queued_cmd *qc);
237static int pdc_softreset(struct ata_link *link, unsigned int *class,
238 unsigned long deadline);
239static void pdc_post_internal_cmd(struct ata_queued_cmd *qc);
240static int pdc_check_atapi_dma(struct ata_queued_cmd *qc);
236 241
237 242
238static struct scsi_host_template pdc_sata_sht = { 243static struct scsi_host_template pdc_sata_sht = {
@@ -243,20 +248,24 @@ static struct scsi_host_template pdc_sata_sht = {
243 248
244/* TODO: inherit from base port_ops after converting to new EH */ 249/* TODO: inherit from base port_ops after converting to new EH */
245static struct ata_port_operations pdc_20621_ops = { 250static struct ata_port_operations pdc_20621_ops = {
246 .sff_tf_load = pdc_tf_load_mmio, 251 .inherits = &ata_sff_port_ops,
247 .sff_tf_read = ata_sff_tf_read, 252
248 .sff_check_status = ata_sff_check_status, 253 .check_atapi_dma = pdc_check_atapi_dma,
249 .sff_exec_command = pdc_exec_command_mmio,
250 .sff_dev_select = ata_sff_dev_select,
251 .phy_reset = pdc_20621_phy_reset,
252 .qc_prep = pdc20621_qc_prep, 254 .qc_prep = pdc20621_qc_prep,
253 .qc_issue = pdc20621_qc_issue, 255 .qc_issue = pdc20621_qc_issue,
254 .qc_fill_rtf = ata_sff_qc_fill_rtf, 256
255 .sff_data_xfer = ata_sff_data_xfer, 257 .freeze = pdc_freeze,
256 .eng_timeout = pdc_eng_timeout, 258 .thaw = pdc_thaw,
257 .sff_irq_clear = pdc20621_irq_clear, 259 .softreset = pdc_softreset,
258 .sff_irq_on = ata_sff_irq_on, 260 .error_handler = pdc_error_handler,
261 .lost_interrupt = ATA_OP_NULL,
262 .post_internal_cmd = pdc_post_internal_cmd,
263
259 .port_start = pdc_port_start, 264 .port_start = pdc_port_start,
265
266 .sff_tf_load = pdc_tf_load_mmio,
267 .sff_exec_command = pdc_exec_command_mmio,
268 .sff_irq_clear = pdc20621_irq_clear,
260}; 269};
261 270
262static const struct ata_port_info pdc_port_info[] = { 271static const struct ata_port_info pdc_port_info[] = {
@@ -310,14 +319,6 @@ static int pdc_port_start(struct ata_port *ap)
310 return 0; 319 return 0;
311} 320}
312 321
313static void pdc_20621_phy_reset(struct ata_port *ap)
314{
315 VPRINTK("ENTER\n");
316 ap->cbl = ATA_CBL_SATA;
317 ata_port_probe(ap);
318 ata_bus_reset(ap);
319}
320
321static inline void pdc20621_ata_sg(struct ata_taskfile *tf, u8 *buf, 322static inline void pdc20621_ata_sg(struct ata_taskfile *tf, u8 *buf,
322 unsigned int portno, 323 unsigned int portno,
323 unsigned int total_len) 324 unsigned int total_len)
@@ -686,8 +687,11 @@ static void pdc20621_packet_start(struct ata_queued_cmd *qc)
686static unsigned int pdc20621_qc_issue(struct ata_queued_cmd *qc) 687static unsigned int pdc20621_qc_issue(struct ata_queued_cmd *qc)
687{ 688{
688 switch (qc->tf.protocol) { 689 switch (qc->tf.protocol) {
689 case ATA_PROT_DMA:
690 case ATA_PROT_NODATA: 690 case ATA_PROT_NODATA:
691 if (qc->tf.flags & ATA_TFLAG_POLLING)
692 break;
693 /*FALLTHROUGH*/
694 case ATA_PROT_DMA:
691 pdc20621_packet_start(qc); 695 pdc20621_packet_start(qc);
692 return 0; 696 return 0;
693 697
@@ -786,12 +790,7 @@ static inline unsigned int pdc20621_host_intr(struct ata_port *ap,
786 790
787static void pdc20621_irq_clear(struct ata_port *ap) 791static void pdc20621_irq_clear(struct ata_port *ap)
788{ 792{
789 struct ata_host *host = ap->host; 793 ioread8(ap->ioaddr.status_addr);
790 void __iomem *mmio = host->iomap[PDC_MMIO_BAR];
791
792 mmio += PDC_CHIP0_OFS;
793
794 readl(mmio + PDC_20621_SEQMASK);
795} 794}
796 795
797static irqreturn_t pdc20621_interrupt(int irq, void *dev_instance) 796static irqreturn_t pdc20621_interrupt(int irq, void *dev_instance)
@@ -859,46 +858,119 @@ static irqreturn_t pdc20621_interrupt(int irq, void *dev_instance)
859 return IRQ_RETVAL(handled); 858 return IRQ_RETVAL(handled);
860} 859}
861 860
862static void pdc_eng_timeout(struct ata_port *ap) 861static void pdc_freeze(struct ata_port *ap)
863{ 862{
864 u8 drv_stat; 863 void __iomem *mmio = ap->ioaddr.cmd_addr;
865 struct ata_host *host = ap->host; 864 u32 tmp;
866 struct ata_queued_cmd *qc;
867 unsigned long flags;
868 865
869 DPRINTK("ENTER\n"); 866 /* FIXME: if all 4 ATA engines are stopped, also stop HDMA engine */
870 867
871 spin_lock_irqsave(&host->lock, flags); 868 tmp = readl(mmio + PDC_CTLSTAT);
869 tmp |= PDC_MASK_INT;
870 tmp &= ~PDC_DMA_ENABLE;
871 writel(tmp, mmio + PDC_CTLSTAT);
872 readl(mmio + PDC_CTLSTAT); /* flush */
873}
872 874
873 qc = ata_qc_from_tag(ap, ap->link.active_tag); 875static void pdc_thaw(struct ata_port *ap)
876{
877 void __iomem *mmio = ap->ioaddr.cmd_addr;
878 u32 tmp;
874 879
875 switch (qc->tf.protocol) { 880 /* FIXME: start HDMA engine, if zero ATA engines running */
876 case ATA_PROT_DMA:
877 case ATA_PROT_NODATA:
878 ata_port_printk(ap, KERN_ERR, "command timeout\n");
879 qc->err_mask |= __ac_err_mask(ata_wait_idle(ap));
880 break;
881 881
882 default: 882 /* clear IRQ */
883 drv_stat = ata_sff_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000); 883 ioread8(ap->ioaddr.status_addr);
884 884
885 ata_port_printk(ap, KERN_ERR, 885 /* turn IRQ back on */
886 "unknown timeout, cmd 0x%x stat 0x%x\n", 886 tmp = readl(mmio + PDC_CTLSTAT);
887 qc->tf.command, drv_stat); 887 tmp &= ~PDC_MASK_INT;
888 writel(tmp, mmio + PDC_CTLSTAT);
889 readl(mmio + PDC_CTLSTAT); /* flush */
890}
888 891
889 qc->err_mask |= ac_err_mask(drv_stat); 892static void pdc_reset_port(struct ata_port *ap)
890 break; 893{
894 void __iomem *mmio = ap->ioaddr.cmd_addr + PDC_CTLSTAT;
895 unsigned int i;
896 u32 tmp;
897
898 /* FIXME: handle HDMA copy engine */
899
900 for (i = 11; i > 0; i--) {
901 tmp = readl(mmio);
902 if (tmp & PDC_RESET)
903 break;
904
905 udelay(100);
906
907 tmp |= PDC_RESET;
908 writel(tmp, mmio);
891 } 909 }
892 910
893 spin_unlock_irqrestore(&host->lock, flags); 911 tmp &= ~PDC_RESET;
894 ata_eh_qc_complete(qc); 912 writel(tmp, mmio);
895 DPRINTK("EXIT\n"); 913 readl(mmio); /* flush */
914}
915
916static int pdc_softreset(struct ata_link *link, unsigned int *class,
917 unsigned long deadline)
918{
919 pdc_reset_port(link->ap);
920 return ata_sff_softreset(link, class, deadline);
921}
922
923static void pdc_error_handler(struct ata_port *ap)
924{
925 if (!(ap->pflags & ATA_PFLAG_FROZEN))
926 pdc_reset_port(ap);
927
928 ata_std_error_handler(ap);
929}
930
931static void pdc_post_internal_cmd(struct ata_queued_cmd *qc)
932{
933 struct ata_port *ap = qc->ap;
934
935 /* make DMA engine forget about the failed command */
936 if (qc->flags & ATA_QCFLAG_FAILED)
937 pdc_reset_port(ap);
938}
939
940static int pdc_check_atapi_dma(struct ata_queued_cmd *qc)
941{
942 u8 *scsicmd = qc->scsicmd->cmnd;
943 int pio = 1; /* atapi dma off by default */
944
945 /* Whitelist commands that may use DMA. */
946 switch (scsicmd[0]) {
947 case WRITE_12:
948 case WRITE_10:
949 case WRITE_6:
950 case READ_12:
951 case READ_10:
952 case READ_6:
953 case 0xad: /* READ_DVD_STRUCTURE */
954 case 0xbe: /* READ_CD */
955 pio = 0;
956 }
957 /* -45150 (FFFF4FA2) to -1 (FFFFFFFF) shall use PIO mode */
958 if (scsicmd[0] == WRITE_10) {
959 unsigned int lba =
960 (scsicmd[2] << 24) |
961 (scsicmd[3] << 16) |
962 (scsicmd[4] << 8) |
963 scsicmd[5];
964 if (lba >= 0xFFFF4FA2)
965 pio = 1;
966 }
967 return pio;
896} 968}
897 969
898static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf) 970static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf)
899{ 971{
900 WARN_ON(tf->protocol == ATA_PROT_DMA || 972 WARN_ON(tf->protocol == ATA_PROT_DMA ||
901 tf->protocol == ATA_PROT_NODATA); 973 tf->protocol == ATAPI_PROT_DMA);
902 ata_sff_tf_load(ap, tf); 974 ata_sff_tf_load(ap, tf);
903} 975}
904 976
@@ -906,7 +978,7 @@ static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf)
906static void pdc_exec_command_mmio(struct ata_port *ap, const struct ata_taskfile *tf) 978static void pdc_exec_command_mmio(struct ata_port *ap, const struct ata_taskfile *tf)
907{ 979{
908 WARN_ON(tf->protocol == ATA_PROT_DMA || 980 WARN_ON(tf->protocol == ATA_PROT_DMA ||
909 tf->protocol == ATA_PROT_NODATA); 981 tf->protocol == ATAPI_PROT_DMA);
910 ata_sff_exec_command(ap, tf); 982 ata_sff_exec_command(ap, tf);
911} 983}
912 984
diff --git a/drivers/base/iommu.c b/drivers/base/iommu.c
index 9f0e672f4be8..8ad4ffea6920 100644
--- a/drivers/base/iommu.c
+++ b/drivers/base/iommu.c
@@ -18,6 +18,8 @@
18 18
19#include <linux/bug.h> 19#include <linux/bug.h>
20#include <linux/types.h> 20#include <linux/types.h>
21#include <linux/module.h>
22#include <linux/slab.h>
21#include <linux/errno.h> 23#include <linux/errno.h>
22#include <linux/iommu.h> 24#include <linux/iommu.h>
23 25
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index b5b6c973a2e0..8b4708e06244 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -217,7 +217,6 @@ int platform_device_add_data(struct platform_device *pdev, const void *data,
217 if (d) { 217 if (d) {
218 memcpy(d, data, size); 218 memcpy(d, data, size);
219 pdev->dev.platform_data = d; 219 pdev->dev.platform_data = d;
220 pdev->platform_data = d;
221 } 220 }
222 return d ? 0 : -ENOMEM; 221 return d ? 0 : -ENOMEM;
223} 222}
@@ -247,21 +246,6 @@ int platform_device_add(struct platform_device *pdev)
247 else 246 else
248 dev_set_name(&pdev->dev, pdev->name); 247 dev_set_name(&pdev->dev, pdev->name);
249 248
250 /* We will remove platform_data field from struct device
251 * if all platform devices pass its platform specific data
252 * from platform_device. The conversion is going to be a
253 * long time, so we allow the two cases coexist to make
254 * this kind of fix more easily*/
255 if (pdev->platform_data && pdev->dev.platform_data) {
256 printk(KERN_ERR
257 "%s: use which platform_data?\n",
258 dev_name(&pdev->dev));
259 } else if (pdev->platform_data) {
260 pdev->dev.platform_data = pdev->platform_data;
261 } else if (pdev->dev.platform_data) {
262 pdev->platform_data = pdev->dev.platform_data;
263 }
264
265 for (i = 0; i < pdev->num_resources; i++) { 249 for (i = 0; i < pdev->num_resources; i++) {
266 struct resource *p, *r = &pdev->resource[i]; 250 struct resource *p, *r = &pdev->resource[i];
267 251
@@ -1028,7 +1012,7 @@ static __initdata LIST_HEAD(early_platform_device_list);
1028 1012
1029/** 1013/**
1030 * early_platform_driver_register 1014 * early_platform_driver_register
1031 * @edrv: early_platform driver structure 1015 * @epdrv: early_platform driver structure
1032 * @buf: string passed from early_param() 1016 * @buf: string passed from early_param()
1033 */ 1017 */
1034int __init early_platform_driver_register(struct early_platform_driver *epdrv, 1018int __init early_platform_driver_register(struct early_platform_driver *epdrv,
@@ -1112,7 +1096,7 @@ void __init early_platform_driver_register_all(char *class_str)
1112 1096
1113/** 1097/**
1114 * early_platform_match 1098 * early_platform_match
1115 * @edrv: early platform driver structure 1099 * @epdrv: early platform driver structure
1116 * @id: id to match against 1100 * @id: id to match against
1117 */ 1101 */
1118static __init struct platform_device * 1102static __init struct platform_device *
@@ -1130,7 +1114,7 @@ early_platform_match(struct early_platform_driver *epdrv, int id)
1130 1114
1131/** 1115/**
1132 * early_platform_left 1116 * early_platform_left
1133 * @edrv: early platform driver structure 1117 * @epdrv: early platform driver structure
1134 * @id: return true if id or above exists 1118 * @id: return true if id or above exists
1135 */ 1119 */
1136static __init int early_platform_left(struct early_platform_driver *epdrv, 1120static __init int early_platform_left(struct early_platform_driver *epdrv,
diff --git a/drivers/char/random.c b/drivers/char/random.c
index f824ef8a9273..b2ced39d76b2 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -1665,15 +1665,20 @@ EXPORT_SYMBOL(secure_dccp_sequence_number);
1665 * value is not cryptographically secure but for several uses the cost of 1665 * value is not cryptographically secure but for several uses the cost of
1666 * depleting entropy is too high 1666 * depleting entropy is too high
1667 */ 1667 */
1668DEFINE_PER_CPU(__u32 [4], get_random_int_hash);
1668unsigned int get_random_int(void) 1669unsigned int get_random_int(void)
1669{ 1670{
1670 /* 1671 struct keydata *keyptr;
1671 * Use IP's RNG. It suits our purpose perfectly: it re-keys itself 1672 __u32 *hash = get_cpu_var(get_random_int_hash);
1672 * every second, from the entropy pool (and thus creates a limited 1673 int ret;
1673 * drain on it), and uses halfMD4Transform within the second. We 1674
1674 * also mix it with jiffies and the PID: 1675 keyptr = get_keyptr();
1675 */ 1676 hash[0] += current->pid + jiffies + get_cycles() + (int)(long)&ret;
1676 return secure_ip_id((__force __be32)(current->pid + jiffies)); 1677
1678 ret = half_md4_transform(hash, keyptr->secret);
1679 put_cpu_var(get_random_int_hash);
1680
1681 return ret;
1677} 1682}
1678 1683
1679/* 1684/*
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c
index aed2b2936ecf..39a05b5fa9cb 100644
--- a/drivers/char/sysrq.c
+++ b/drivers/char/sysrq.c
@@ -408,7 +408,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
408 &sysrq_showlocks_op, /* d */ 408 &sysrq_showlocks_op, /* d */
409 &sysrq_term_op, /* e */ 409 &sysrq_term_op, /* e */
410 &sysrq_moom_op, /* f */ 410 &sysrq_moom_op, /* f */
411 /* g: May be registered by ppc for kgdb */ 411 /* g: May be registered for the kernel debugger */
412 NULL, /* g */ 412 NULL, /* g */
413 NULL, /* h - reserved for help */ 413 NULL, /* h - reserved for help */
414 &sysrq_kill_op, /* i */ 414 &sysrq_kill_op, /* i */
@@ -433,7 +433,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
433 &sysrq_sync_op, /* s */ 433 &sysrq_sync_op, /* s */
434 &sysrq_showstate_op, /* t */ 434 &sysrq_showstate_op, /* t */
435 &sysrq_mountro_op, /* u */ 435 &sysrq_mountro_op, /* u */
436 /* v: May be registered at init time by SMP VOYAGER */ 436 /* v: May be registered for frame buffer console restore */
437 NULL, /* v */ 437 NULL, /* v */
438 &sysrq_showstate_blocked_op, /* w */ 438 &sysrq_showstate_blocked_op, /* w */
439 /* x: May be registered on ppc/powerpc for xmon */ 439 /* x: May be registered on ppc/powerpc for xmon */
diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
index a2dee0eb6dad..e6ce632a393e 100644
--- a/drivers/char/vt_ioctl.c
+++ b/drivers/char/vt_ioctl.c
@@ -400,6 +400,9 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
400 case KIOCSOUND: 400 case KIOCSOUND:
401 if (!perm) 401 if (!perm)
402 goto eperm; 402 goto eperm;
403 /* FIXME: This is an old broken API but we need to keep it
404 supported and somehow separate the historic advertised
405 tick rate from any real one */
403 if (arg) 406 if (arg)
404 arg = CLOCK_TICK_RATE / arg; 407 arg = CLOCK_TICK_RATE / arg;
405 kd_mksound(arg, 0); 408 kd_mksound(arg, 0);
@@ -417,6 +420,9 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
417 */ 420 */
418 ticks = HZ * ((arg >> 16) & 0xffff) / 1000; 421 ticks = HZ * ((arg >> 16) & 0xffff) / 1000;
419 count = ticks ? (arg & 0xffff) : 0; 422 count = ticks ? (arg & 0xffff) : 0;
423 /* FIXME: This is an old broken API but we need to keep it
424 supported and somehow separate the historic advertised
425 tick rate from any real one */
420 if (count) 426 if (count)
421 count = CLOCK_TICK_RATE / count; 427 count = CLOCK_TICK_RATE / count;
422 kd_mksound(count, ticks); 428 kd_mksound(count, ticks);
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
index 92438e9dacc3..5a87384ea4ff 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
@@ -804,11 +804,14 @@ dma_async_memcpy_buf_to_buf(struct dma_chan *chan, void *dest,
804 dma_addr_t dma_dest, dma_src; 804 dma_addr_t dma_dest, dma_src;
805 dma_cookie_t cookie; 805 dma_cookie_t cookie;
806 int cpu; 806 int cpu;
807 unsigned long flags;
807 808
808 dma_src = dma_map_single(dev->dev, src, len, DMA_TO_DEVICE); 809 dma_src = dma_map_single(dev->dev, src, len, DMA_TO_DEVICE);
809 dma_dest = dma_map_single(dev->dev, dest, len, DMA_FROM_DEVICE); 810 dma_dest = dma_map_single(dev->dev, dest, len, DMA_FROM_DEVICE);
810 tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, 811 flags = DMA_CTRL_ACK |
811 DMA_CTRL_ACK); 812 DMA_COMPL_SRC_UNMAP_SINGLE |
813 DMA_COMPL_DEST_UNMAP_SINGLE;
814 tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, flags);
812 815
813 if (!tx) { 816 if (!tx) {
814 dma_unmap_single(dev->dev, dma_src, len, DMA_TO_DEVICE); 817 dma_unmap_single(dev->dev, dma_src, len, DMA_TO_DEVICE);
@@ -850,11 +853,12 @@ dma_async_memcpy_buf_to_pg(struct dma_chan *chan, struct page *page,
850 dma_addr_t dma_dest, dma_src; 853 dma_addr_t dma_dest, dma_src;
851 dma_cookie_t cookie; 854 dma_cookie_t cookie;
852 int cpu; 855 int cpu;
856 unsigned long flags;
853 857
854 dma_src = dma_map_single(dev->dev, kdata, len, DMA_TO_DEVICE); 858 dma_src = dma_map_single(dev->dev, kdata, len, DMA_TO_DEVICE);
855 dma_dest = dma_map_page(dev->dev, page, offset, len, DMA_FROM_DEVICE); 859 dma_dest = dma_map_page(dev->dev, page, offset, len, DMA_FROM_DEVICE);
856 tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, 860 flags = DMA_CTRL_ACK | DMA_COMPL_SRC_UNMAP_SINGLE;
857 DMA_CTRL_ACK); 861 tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, flags);
858 862
859 if (!tx) { 863 if (!tx) {
860 dma_unmap_single(dev->dev, dma_src, len, DMA_TO_DEVICE); 864 dma_unmap_single(dev->dev, dma_src, len, DMA_TO_DEVICE);
@@ -898,12 +902,13 @@ dma_async_memcpy_pg_to_pg(struct dma_chan *chan, struct page *dest_pg,
898 dma_addr_t dma_dest, dma_src; 902 dma_addr_t dma_dest, dma_src;
899 dma_cookie_t cookie; 903 dma_cookie_t cookie;
900 int cpu; 904 int cpu;
905 unsigned long flags;
901 906
902 dma_src = dma_map_page(dev->dev, src_pg, src_off, len, DMA_TO_DEVICE); 907 dma_src = dma_map_page(dev->dev, src_pg, src_off, len, DMA_TO_DEVICE);
903 dma_dest = dma_map_page(dev->dev, dest_pg, dest_off, len, 908 dma_dest = dma_map_page(dev->dev, dest_pg, dest_off, len,
904 DMA_FROM_DEVICE); 909 DMA_FROM_DEVICE);
905 tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, 910 flags = DMA_CTRL_ACK;
906 DMA_CTRL_ACK); 911 tx = dev->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, flags);
907 912
908 if (!tx) { 913 if (!tx) {
909 dma_unmap_page(dev->dev, dma_src, len, DMA_TO_DEVICE); 914 dma_unmap_page(dev->dev, dma_src, len, DMA_TO_DEVICE);
diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
index a27c0fb1bc11..fb7da5141e96 100644
--- a/drivers/dma/dmatest.c
+++ b/drivers/dma/dmatest.c
@@ -531,9 +531,7 @@ static int __init dmatest_init(void)
531 chan = dma_request_channel(mask, filter, NULL); 531 chan = dma_request_channel(mask, filter, NULL);
532 if (chan) { 532 if (chan) {
533 err = dmatest_add_channel(chan); 533 err = dmatest_add_channel(chan);
534 if (err == 0) 534 if (err) {
535 continue;
536 else {
537 dma_release_channel(chan); 535 dma_release_channel(chan);
538 break; /* add_channel failed, punt */ 536 break; /* add_channel failed, punt */
539 } 537 }
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index e4fc33c1c32f..1955ee8d6d20 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -1063,22 +1063,31 @@ static void ioat_dma_cleanup_tasklet(unsigned long data)
1063static void 1063static void
1064ioat_dma_unmap(struct ioat_dma_chan *ioat_chan, struct ioat_desc_sw *desc) 1064ioat_dma_unmap(struct ioat_dma_chan *ioat_chan, struct ioat_desc_sw *desc)
1065{ 1065{
1066 /* 1066 if (!(desc->async_tx.flags & DMA_COMPL_SKIP_DEST_UNMAP)) {
1067 * yes we are unmapping both _page and _single 1067 if (desc->async_tx.flags & DMA_COMPL_DEST_UNMAP_SINGLE)
1068 * alloc'd regions with unmap_page. Is this 1068 pci_unmap_single(ioat_chan->device->pdev,
1069 * *really* that bad? 1069 pci_unmap_addr(desc, dst),
1070 */ 1070 pci_unmap_len(desc, len),
1071 if (!(desc->async_tx.flags & DMA_COMPL_SKIP_DEST_UNMAP)) 1071 PCI_DMA_FROMDEVICE);
1072 pci_unmap_page(ioat_chan->device->pdev, 1072 else
1073 pci_unmap_addr(desc, dst), 1073 pci_unmap_page(ioat_chan->device->pdev,
1074 pci_unmap_len(desc, len), 1074 pci_unmap_addr(desc, dst),
1075 PCI_DMA_FROMDEVICE); 1075 pci_unmap_len(desc, len),
1076 1076 PCI_DMA_FROMDEVICE);
1077 if (!(desc->async_tx.flags & DMA_COMPL_SKIP_SRC_UNMAP)) 1077 }
1078 pci_unmap_page(ioat_chan->device->pdev, 1078
1079 pci_unmap_addr(desc, src), 1079 if (!(desc->async_tx.flags & DMA_COMPL_SKIP_SRC_UNMAP)) {
1080 pci_unmap_len(desc, len), 1080 if (desc->async_tx.flags & DMA_COMPL_SRC_UNMAP_SINGLE)
1081 PCI_DMA_TODEVICE); 1081 pci_unmap_single(ioat_chan->device->pdev,
1082 pci_unmap_addr(desc, src),
1083 pci_unmap_len(desc, len),
1084 PCI_DMA_TODEVICE);
1085 else
1086 pci_unmap_page(ioat_chan->device->pdev,
1087 pci_unmap_addr(desc, src),
1088 pci_unmap_len(desc, len),
1089 PCI_DMA_TODEVICE);
1090 }
1082} 1091}
1083 1092
1084/** 1093/**
@@ -1363,6 +1372,7 @@ static int ioat_dma_self_test(struct ioatdma_device *device)
1363 int err = 0; 1372 int err = 0;
1364 struct completion cmp; 1373 struct completion cmp;
1365 unsigned long tmo; 1374 unsigned long tmo;
1375 unsigned long flags;
1366 1376
1367 src = kzalloc(sizeof(u8) * IOAT_TEST_SIZE, GFP_KERNEL); 1377 src = kzalloc(sizeof(u8) * IOAT_TEST_SIZE, GFP_KERNEL);
1368 if (!src) 1378 if (!src)
@@ -1392,8 +1402,9 @@ static int ioat_dma_self_test(struct ioatdma_device *device)
1392 DMA_TO_DEVICE); 1402 DMA_TO_DEVICE);
1393 dma_dest = dma_map_single(dma_chan->device->dev, dest, IOAT_TEST_SIZE, 1403 dma_dest = dma_map_single(dma_chan->device->dev, dest, IOAT_TEST_SIZE,
1394 DMA_FROM_DEVICE); 1404 DMA_FROM_DEVICE);
1405 flags = DMA_COMPL_SRC_UNMAP_SINGLE | DMA_COMPL_DEST_UNMAP_SINGLE;
1395 tx = device->common.device_prep_dma_memcpy(dma_chan, dma_dest, dma_src, 1406 tx = device->common.device_prep_dma_memcpy(dma_chan, dma_dest, dma_src,
1396 IOAT_TEST_SIZE, 0); 1407 IOAT_TEST_SIZE, flags);
1397 if (!tx) { 1408 if (!tx) {
1398 dev_err(&device->pdev->dev, 1409 dev_err(&device->pdev->dev,
1399 "Self-test prep failed, disabling\n"); 1410 "Self-test prep failed, disabling\n");
diff --git a/drivers/dma/ipu/ipu_idmac.c b/drivers/dma/ipu/ipu_idmac.c
index e202a6ce5573..9a5bc1a7389e 100644
--- a/drivers/dma/ipu/ipu_idmac.c
+++ b/drivers/dma/ipu/ipu_idmac.c
@@ -1272,7 +1272,8 @@ static irqreturn_t idmac_interrupt(int irq, void *dev_id)
1272 /* Other interrupts do not interfere with this channel */ 1272 /* Other interrupts do not interfere with this channel */
1273 spin_lock(&ichan->lock); 1273 spin_lock(&ichan->lock);
1274 if (unlikely(chan_id != IDMAC_SDC_0 && chan_id != IDMAC_SDC_1 && 1274 if (unlikely(chan_id != IDMAC_SDC_0 && chan_id != IDMAC_SDC_1 &&
1275 ((curbuf >> chan_id) & 1) == ichan->active_buffer)) { 1275 ((curbuf >> chan_id) & 1) == ichan->active_buffer &&
1276 !list_is_last(ichan->queue.next, &ichan->queue))) {
1276 int i = 100; 1277 int i = 100;
1277 1278
1278 /* This doesn't help. See comment in ipu_disable_channel() */ 1279 /* This doesn't help. See comment in ipu_disable_channel() */
@@ -1547,7 +1548,7 @@ static irqreturn_t ic_sof_irq(int irq, void *dev_id)
1547 struct idmac_channel *ichan = dev_id; 1548 struct idmac_channel *ichan = dev_id;
1548 printk(KERN_DEBUG "Got SOF IRQ %d on Channel %d\n", 1549 printk(KERN_DEBUG "Got SOF IRQ %d on Channel %d\n",
1549 irq, ichan->dma_chan.chan_id); 1550 irq, ichan->dma_chan.chan_id);
1550 disable_irq(irq); 1551 disable_irq_nosync(irq);
1551 return IRQ_HANDLED; 1552 return IRQ_HANDLED;
1552} 1553}
1553 1554
@@ -1556,7 +1557,7 @@ static irqreturn_t ic_eof_irq(int irq, void *dev_id)
1556 struct idmac_channel *ichan = dev_id; 1557 struct idmac_channel *ichan = dev_id;
1557 printk(KERN_DEBUG "Got EOF IRQ %d on Channel %d\n", 1558 printk(KERN_DEBUG "Got EOF IRQ %d on Channel %d\n",
1558 irq, ichan->dma_chan.chan_id); 1559 irq, ichan->dma_chan.chan_id);
1559 disable_irq(irq); 1560 disable_irq_nosync(irq);
1560 return IRQ_HANDLED; 1561 return IRQ_HANDLED;
1561} 1562}
1562 1563
diff --git a/drivers/firmware/iscsi_ibft.c b/drivers/firmware/iscsi_ibft.c
index 7b7ddc2d51c9..420a96e7f2db 100644
--- a/drivers/firmware/iscsi_ibft.c
+++ b/drivers/firmware/iscsi_ibft.c
@@ -754,11 +754,11 @@ static int __init ibft_check_nic_for(struct ibft_nic *nic, int entry)
754 rc = 1; 754 rc = 1;
755 break; 755 break;
756 case ibft_eth_ip_addr: 756 case ibft_eth_ip_addr:
757 if (!memcmp(nic->dhcp, nulls, sizeof(nic->dhcp))) 757 if (memcmp(nic->ip_addr, nulls, sizeof(nic->ip_addr)))
758 rc = 1; 758 rc = 1;
759 break; 759 break;
760 case ibft_eth_subnet_mask: 760 case ibft_eth_subnet_mask:
761 if (!memcmp(nic->dhcp, nulls, sizeof(nic->dhcp))) 761 if (nic->subnet_mask_prefix)
762 rc = 1; 762 rc = 1;
763 break; 763 break;
764 case ibft_eth_origin: 764 case ibft_eth_origin:
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 3a22eb9be378..17b24c580c09 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -71,6 +71,7 @@ config DRM_I915
71 select FB_CFB_COPYAREA 71 select FB_CFB_COPYAREA
72 select FB_CFB_IMAGEBLIT 72 select FB_CFB_IMAGEBLIT
73 select FB 73 select FB
74 select FRAMEBUFFER_CONSOLE if !EMBEDDED
74 tristate "i915 driver" 75 tristate "i915 driver"
75 help 76 help
76 Choose this option if you have a system that has Intel 830M, 845G, 77 Choose this option if you have a system that has Intel 830M, 845G,
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index a04639dc633d..45890447feec 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -561,7 +561,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
561 int saved_x, saved_y; 561 int saved_x, saved_y;
562 struct drm_encoder *encoder; 562 struct drm_encoder *encoder;
563 bool ret = true; 563 bool ret = true;
564 bool depth_changed, bpp_changed;
565 564
566 adjusted_mode = drm_mode_duplicate(dev, mode); 565 adjusted_mode = drm_mode_duplicate(dev, mode);
567 566
@@ -570,15 +569,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
570 if (!crtc->enabled) 569 if (!crtc->enabled)
571 return true; 570 return true;
572 571
573 if (old_fb && crtc->fb) {
574 depth_changed = (old_fb->depth != crtc->fb->depth);
575 bpp_changed = (old_fb->bits_per_pixel !=
576 crtc->fb->bits_per_pixel);
577 } else {
578 depth_changed = true;
579 bpp_changed = true;
580 }
581
582 saved_mode = crtc->mode; 572 saved_mode = crtc->mode;
583 saved_x = crtc->x; 573 saved_x = crtc->x;
584 saved_y = crtc->y; 574 saved_y = crtc->y;
@@ -590,15 +580,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
590 crtc->x = x; 580 crtc->x = x;
591 crtc->y = y; 581 crtc->y = y;
592 582
593 if (drm_mode_equal(&saved_mode, &crtc->mode)) {
594 if (saved_x != crtc->x || saved_y != crtc->y ||
595 depth_changed || bpp_changed) {
596 ret = !crtc_funcs->mode_set_base(crtc, crtc->x, crtc->y,
597 old_fb);
598 goto done;
599 }
600 }
601
602 /* Pass our mode to the connectors and the CRTC to give them a chance to 583 /* Pass our mode to the connectors and the CRTC to give them a chance to
603 * adjust it according to limitations or connector properties, and also 584 * adjust it according to limitations or connector properties, and also
604 * a chance to reject the mode entirely. 585 * a chance to reject the mode entirely.
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index c4ada8b6295b..f01def16a669 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -456,7 +456,8 @@ int drm_ioctl(struct inode *inode, struct file *filp,
456 retcode = -EINVAL; 456 retcode = -EINVAL;
457 } else if (((ioctl->flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)) || 457 } else if (((ioctl->flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)) ||
458 ((ioctl->flags & DRM_AUTH) && !file_priv->authenticated) || 458 ((ioctl->flags & DRM_AUTH) && !file_priv->authenticated) ||
459 ((ioctl->flags & DRM_MASTER) && !file_priv->is_master)) { 459 ((ioctl->flags & DRM_MASTER) && !file_priv->is_master) ||
460 (!(ioctl->flags & DRM_CONTROL_ALLOW) && (file_priv->minor->type == DRM_MINOR_CONTROL))) {
460 retcode = -EACCES; 461 retcode = -EACCES;
461 } else { 462 } else {
462 if (cmd & (IOC_IN | IOC_OUT)) { 463 if (cmd & (IOC_IN | IOC_OUT)) {
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
index ef878615c49f..b9631e3a1ea6 100644
--- a/drivers/gpu/drm/drm_stub.c
+++ b/drivers/gpu/drm/drm_stub.c
@@ -402,14 +402,14 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
402 if (dev->driver->load) { 402 if (dev->driver->load) {
403 ret = dev->driver->load(dev, ent->driver_data); 403 ret = dev->driver->load(dev, ent->driver_data);
404 if (ret) 404 if (ret)
405 goto err_g3; 405 goto err_g4;
406 } 406 }
407 407
408 /* setup the grouping for the legacy output */ 408 /* setup the grouping for the legacy output */
409 if (drm_core_check_feature(dev, DRIVER_MODESET)) { 409 if (drm_core_check_feature(dev, DRIVER_MODESET)) {
410 ret = drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group); 410 ret = drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group);
411 if (ret) 411 if (ret)
412 goto err_g3; 412 goto err_g4;
413 } 413 }
414 414
415 list_add_tail(&dev->driver_item, &driver->device_list); 415 list_add_tail(&dev->driver_item, &driver->device_list);
@@ -420,8 +420,11 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
420 420
421 return 0; 421 return 0;
422 422
423err_g3: 423err_g4:
424 drm_put_minor(&dev->primary); 424 drm_put_minor(&dev->primary);
425err_g3:
426 if (drm_core_check_feature(dev, DRIVER_MODESET))
427 drm_put_minor(&dev->control);
425err_g2: 428err_g2:
426 pci_disable_device(pdev); 429 pci_disable_device(pdev);
427err_g1: 430err_g1:
@@ -502,11 +505,11 @@ void drm_put_dev(struct drm_device *dev)
502 dev->agp = NULL; 505 dev->agp = NULL;
503 } 506 }
504 507
505 drm_ht_remove(&dev->map_hash);
506 drm_ctxbitmap_cleanup(dev);
507
508 list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) 508 list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head)
509 drm_rmmap(dev, r_list->map); 509 drm_rmmap(dev, r_list->map);
510 drm_ht_remove(&dev->map_hash);
511
512 drm_ctxbitmap_cleanup(dev);
510 513
511 if (drm_core_check_feature(dev, DRIVER_MODESET)) 514 if (drm_core_check_feature(dev, DRIVER_MODESET))
512 drm_put_minor(&dev->control); 515 drm_put_minor(&dev->control);
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
index 022876ae34f0..8f9372921f82 100644
--- a/drivers/gpu/drm/drm_sysfs.c
+++ b/drivers/gpu/drm/drm_sysfs.c
@@ -489,9 +489,7 @@ int drm_sysfs_device_add(struct drm_minor *minor)
489 489
490 return 0; 490 return 0;
491 491
492 device_unregister(&minor->kdev);
493err_out: 492err_out:
494
495 return err; 493 return err;
496} 494}
497 495
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 051134c56aef..53d544552625 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1011,8 +1011,16 @@ static int i915_load_modeset_init(struct drm_device *dev)
1011 /* Basic memrange allocator for stolen space (aka vram) */ 1011 /* Basic memrange allocator for stolen space (aka vram) */
1012 drm_mm_init(&dev_priv->vram, 0, prealloc_size); 1012 drm_mm_init(&dev_priv->vram, 0, prealloc_size);
1013 1013
1014 /* Let GEM Manage from end of prealloc space to end of aperture */ 1014 /* Let GEM Manage from end of prealloc space to end of aperture.
1015 i915_gem_do_init(dev, prealloc_size, agp_size); 1015 *
1016 * However, leave one page at the end still bound to the scratch page.
1017 * There are a number of places where the hardware apparently
1018 * prefetches past the end of the object, and we've seen multiple
1019 * hangs with the GPU head pointer stuck in a batchbuffer bound
1020 * at the last page of the aperture. One page should be enough to
1021 * keep any prefetching inside of the aperture.
1022 */
1023 i915_gem_do_init(dev, prealloc_size, agp_size - 4096);
1016 1024
1017 ret = i915_gem_init_ringbuffer(dev); 1025 ret = i915_gem_init_ringbuffer(dev);
1018 if (ret) 1026 if (ret)
@@ -1350,6 +1358,7 @@ struct drm_ioctl_desc i915_ioctls[] = {
1350 DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, 0), 1358 DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, 0),
1351 DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, 0), 1359 DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, 0),
1352 DRM_IOCTL_DEF(DRM_I915_GEM_GET_APERTURE, i915_gem_get_aperture_ioctl, 0), 1360 DRM_IOCTL_DEF(DRM_I915_GEM_GET_APERTURE, i915_gem_get_aperture_ioctl, 0),
1361 DRM_IOCTL_DEF(DRM_I915_GET_PIPE_FROM_CRTC_ID, intel_get_pipe_from_crtc_id, 0),
1353}; 1362};
1354 1363
1355int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); 1364int 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 25065923b8a8..9b149fe824c3 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -283,6 +283,7 @@ typedef struct drm_i915_private {
283 u8 saveAR[21]; 283 u8 saveAR[21];
284 u8 saveDACMASK; 284 u8 saveDACMASK;
285 u8 saveCR[37]; 285 u8 saveCR[37];
286 uint64_t saveFENCE[16];
286 287
287 struct { 288 struct {
288 struct drm_mm gtt_space; 289 struct drm_mm gtt_space;
@@ -705,13 +706,8 @@ extern void intel_modeset_cleanup(struct drm_device *dev);
705#define I915_WRITE16(reg, val) writel(val, dev_priv->regs + (reg)) 706#define I915_WRITE16(reg, val) writel(val, dev_priv->regs + (reg))
706#define I915_READ8(reg) readb(dev_priv->regs + (reg)) 707#define I915_READ8(reg) readb(dev_priv->regs + (reg))
707#define I915_WRITE8(reg, val) writeb(val, dev_priv->regs + (reg)) 708#define I915_WRITE8(reg, val) writeb(val, dev_priv->regs + (reg))
708#ifdef writeq
709#define I915_WRITE64(reg, val) writeq(val, dev_priv->regs + (reg)) 709#define I915_WRITE64(reg, val) writeq(val, dev_priv->regs + (reg))
710#else 710#define I915_READ64(reg) readq(dev_priv->regs + (reg))
711#define I915_WRITE64(reg, val) (writel(val, dev_priv->regs + (reg)), \
712 writel(upper_32_bits(val), dev_priv->regs + \
713 (reg) + 4))
714#endif
715#define POSTING_READ(reg) (void)I915_READ(reg) 711#define POSTING_READ(reg) (void)I915_READ(reg)
716 712
717#define I915_VERBOSE 0 713#define I915_VERBOSE 0
@@ -790,7 +786,8 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
790 (dev)->pci_device == 0x2E22 || \ 786 (dev)->pci_device == 0x2E22 || \
791 (dev)->pci_device == 0x2E32) 787 (dev)->pci_device == 0x2E32)
792 788
793#define IS_I965GM(dev) ((dev)->pci_device == 0x2A02) 789#define IS_I965GM(dev) ((dev)->pci_device == 0x2A02 || \
790 (dev)->pci_device == 0x2A12)
794 791
795#define IS_GM45(dev) ((dev)->pci_device == 0x2A42) 792#define IS_GM45(dev) ((dev)->pci_device == 0x2A42)
796 793
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index ee896d91c5bc..b189b49c7602 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1691,11 +1691,20 @@ static int
1691i915_wait_request(struct drm_device *dev, uint32_t seqno) 1691i915_wait_request(struct drm_device *dev, uint32_t seqno)
1692{ 1692{
1693 drm_i915_private_t *dev_priv = dev->dev_private; 1693 drm_i915_private_t *dev_priv = dev->dev_private;
1694 u32 ier;
1694 int ret = 0; 1695 int ret = 0;
1695 1696
1696 BUG_ON(seqno == 0); 1697 BUG_ON(seqno == 0);
1697 1698
1698 if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) { 1699 if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) {
1700 ier = I915_READ(IER);
1701 if (!ier) {
1702 DRM_ERROR("something (likely vbetool) disabled "
1703 "interrupts, re-enabling\n");
1704 i915_driver_irq_preinstall(dev);
1705 i915_driver_irq_postinstall(dev);
1706 }
1707
1699 dev_priv->mm.waiting_gem_seqno = seqno; 1708 dev_priv->mm.waiting_gem_seqno = seqno;
1700 i915_user_irq_get(dev); 1709 i915_user_irq_get(dev);
1701 ret = wait_event_interruptible(dev_priv->irq_queue, 1710 ret = wait_event_interruptible(dev_priv->irq_queue,
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 521194732266..15da44cf21b1 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -526,6 +526,7 @@
526#define DPLLA_INPUT_BUFFER_ENABLE (1 << 0) 526#define DPLLA_INPUT_BUFFER_ENABLE (1 << 0)
527#define D_STATE 0x6104 527#define D_STATE 0x6104
528#define CG_2D_DIS 0x6200 528#define CG_2D_DIS 0x6200
529#define DPCUNIT_CLOCK_GATE_DISABLE (1 << 24)
529#define CG_3D_DIS 0x6204 530#define CG_3D_DIS 0x6204
530 531
531/* 532/*
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index d669cc2b42c0..ce8a21344a71 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -349,6 +349,18 @@ int i915_save_state(struct drm_device *dev)
349 for (i = 0; i < 3; i++) 349 for (i = 0; i < 3; i++)
350 dev_priv->saveSWF2[i] = I915_READ(SWF30 + (i << 2)); 350 dev_priv->saveSWF2[i] = I915_READ(SWF30 + (i << 2));
351 351
352 /* Fences */
353 if (IS_I965G(dev)) {
354 for (i = 0; i < 16; i++)
355 dev_priv->saveFENCE[i] = I915_READ64(FENCE_REG_965_0 + (i * 8));
356 } else {
357 for (i = 0; i < 8; i++)
358 dev_priv->saveFENCE[i] = I915_READ(FENCE_REG_830_0 + (i * 4));
359
360 if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev))
361 for (i = 0; i < 8; i++)
362 dev_priv->saveFENCE[i+8] = I915_READ(FENCE_REG_945_8 + (i * 4));
363 }
352 i915_save_vga(dev); 364 i915_save_vga(dev);
353 365
354 return 0; 366 return 0;
@@ -371,6 +383,18 @@ int i915_restore_state(struct drm_device *dev)
371 /* Display arbitration */ 383 /* Display arbitration */
372 I915_WRITE(DSPARB, dev_priv->saveDSPARB); 384 I915_WRITE(DSPARB, dev_priv->saveDSPARB);
373 385
386 /* Fences */
387 if (IS_I965G(dev)) {
388 for (i = 0; i < 16; i++)
389 I915_WRITE64(FENCE_REG_965_0 + (i * 8), dev_priv->saveFENCE[i]);
390 } else {
391 for (i = 0; i < 8; i++)
392 I915_WRITE(FENCE_REG_830_0 + (i * 4), dev_priv->saveFENCE[i]);
393 if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev))
394 for (i = 0; i < 8; i++)
395 I915_WRITE(FENCE_REG_945_8 + (i * 4), dev_priv->saveFENCE[i+8]);
396 }
397
374 /* Pipe & plane A info */ 398 /* Pipe & plane A info */
375 /* Prime the clock */ 399 /* Prime the clock */
376 if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) { 400 if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) {
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 9bdd959260a5..19148c3df637 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -161,7 +161,7 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
161 hotplug_en &= CRT_FORCE_HOTPLUG_MASK; 161 hotplug_en &= CRT_FORCE_HOTPLUG_MASK;
162 hotplug_en |= CRT_HOTPLUG_FORCE_DETECT; 162 hotplug_en |= CRT_HOTPLUG_FORCE_DETECT;
163 163
164 if (IS_GM45(dev)) 164 if (IS_G4X(dev))
165 hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64; 165 hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64;
166 166
167 hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50; 167 hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index bdcda36953b0..3387cf32f385 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1804,6 +1804,37 @@ static void intel_crtc_init(struct drm_device *dev, int pipe)
1804 } 1804 }
1805} 1805}
1806 1806
1807int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data,
1808 struct drm_file *file_priv)
1809{
1810 drm_i915_private_t *dev_priv = dev->dev_private;
1811 struct drm_i915_get_pipe_from_crtc_id *pipe_from_crtc_id = data;
1812 struct drm_crtc *crtc = NULL;
1813 int pipe = -1;
1814
1815 if (!dev_priv) {
1816 DRM_ERROR("called with no initialization\n");
1817 return -EINVAL;
1818 }
1819
1820 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
1821 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
1822 if (crtc->base.id == pipe_from_crtc_id->crtc_id) {
1823 pipe = intel_crtc->pipe;
1824 break;
1825 }
1826 }
1827
1828 if (pipe == -1) {
1829 DRM_ERROR("no such CRTC id\n");
1830 return -EINVAL;
1831 }
1832
1833 pipe_from_crtc_id->pipe = pipe;
1834
1835 return 0;
1836}
1837
1807struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe) 1838struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
1808{ 1839{
1809 struct drm_crtc *crtc = NULL; 1840 struct drm_crtc *crtc = NULL;
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 957daef8edff..cd4b9c5f715e 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -109,7 +109,7 @@ struct intel_i2c_chan *intel_i2c_create(struct drm_device *dev, const u32 reg,
109void intel_i2c_destroy(struct intel_i2c_chan *chan); 109void intel_i2c_destroy(struct intel_i2c_chan *chan);
110int intel_ddc_get_modes(struct intel_output *intel_output); 110int intel_ddc_get_modes(struct intel_output *intel_output);
111extern bool intel_ddc_probe(struct intel_output *intel_output); 111extern bool intel_ddc_probe(struct intel_output *intel_output);
112 112void intel_i2c_quirk_set(struct drm_device *dev, bool enable);
113extern void intel_crt_init(struct drm_device *dev); 113extern void intel_crt_init(struct drm_device *dev);
114extern void intel_hdmi_init(struct drm_device *dev, int sdvox_reg); 114extern void intel_hdmi_init(struct drm_device *dev, int sdvox_reg);
115extern bool intel_sdvo_init(struct drm_device *dev, int output_device); 115extern bool intel_sdvo_init(struct drm_device *dev, int output_device);
@@ -125,6 +125,8 @@ extern struct drm_encoder *intel_best_encoder(struct drm_connector *connector);
125 125
126extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, 126extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev,
127 struct drm_crtc *crtc); 127 struct drm_crtc *crtc);
128int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data,
129 struct drm_file *file_priv);
128extern void intel_wait_for_vblank(struct drm_device *dev); 130extern void intel_wait_for_vblank(struct drm_device *dev);
129extern struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe); 131extern struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe);
130extern struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output, 132extern struct drm_crtc *intel_get_load_detect_pipe(struct intel_output *intel_output,
diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c
index 3e094beecb99..e4652dcdd9bb 100644
--- a/drivers/gpu/drm/i915/intel_fb.c
+++ b/drivers/gpu/drm/i915/intel_fb.c
@@ -864,7 +864,7 @@ static void intelfb_sysrq(int dummy1, struct tty_struct *dummy3)
864 864
865static struct sysrq_key_op sysrq_intelfb_restore_op = { 865static struct sysrq_key_op sysrq_intelfb_restore_op = {
866 .handler = intelfb_sysrq, 866 .handler = intelfb_sysrq,
867 .help_msg = "force-fb(G)", 867 .help_msg = "force-fb(V)",
868 .action_msg = "Restore framebuffer console", 868 .action_msg = "Restore framebuffer console",
869}; 869};
870 870
@@ -898,7 +898,7 @@ int intelfb_probe(struct drm_device *dev)
898 ret = intelfb_single_fb_probe(dev); 898 ret = intelfb_single_fb_probe(dev);
899 } 899 }
900 900
901 register_sysrq_key('g', &sysrq_intelfb_restore_op); 901 register_sysrq_key('v', &sysrq_intelfb_restore_op);
902 902
903 return ret; 903 return ret;
904} 904}
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 550374225388..d0983bb93a18 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -155,11 +155,18 @@ intel_hdmi_detect(struct drm_connector *connector)
155 155
156 temp = I915_READ(PORT_HOTPLUG_EN); 156 temp = I915_READ(PORT_HOTPLUG_EN);
157 157
158 I915_WRITE(PORT_HOTPLUG_EN, 158 switch (hdmi_priv->sdvox_reg) {
159 temp | 159 case SDVOB:
160 HDMIB_HOTPLUG_INT_EN | 160 temp |= HDMIB_HOTPLUG_INT_EN;
161 HDMIC_HOTPLUG_INT_EN | 161 break;
162 HDMID_HOTPLUG_INT_EN); 162 case SDVOC:
163 temp |= HDMIC_HOTPLUG_INT_EN;
164 break;
165 default:
166 return connector_status_unknown;
167 }
168
169 I915_WRITE(PORT_HOTPLUG_EN, temp);
163 170
164 POSTING_READ(PORT_HOTPLUG_EN); 171 POSTING_READ(PORT_HOTPLUG_EN);
165 172
diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c
index 5ee9d4c25753..f7061f68d050 100644
--- a/drivers/gpu/drm/i915/intel_i2c.c
+++ b/drivers/gpu/drm/i915/intel_i2c.c
@@ -34,6 +34,21 @@
34#include "i915_drm.h" 34#include "i915_drm.h"
35#include "i915_drv.h" 35#include "i915_drv.h"
36 36
37void intel_i2c_quirk_set(struct drm_device *dev, bool enable)
38{
39 struct drm_i915_private *dev_priv = dev->dev_private;
40
41 /* When using bit bashing for I2C, this bit needs to be set to 1 */
42 if (!IS_IGD(dev))
43 return;
44 if (enable)
45 I915_WRITE(CG_2D_DIS,
46 I915_READ(CG_2D_DIS) | DPCUNIT_CLOCK_GATE_DISABLE);
47 else
48 I915_WRITE(CG_2D_DIS,
49 I915_READ(CG_2D_DIS) & (~DPCUNIT_CLOCK_GATE_DISABLE));
50}
51
37/* 52/*
38 * Intel GPIO access functions 53 * Intel GPIO access functions
39 */ 54 */
@@ -153,8 +168,10 @@ struct intel_i2c_chan *intel_i2c_create(struct drm_device *dev, const u32 reg,
153 goto out_free; 168 goto out_free;
154 169
155 /* JJJ: raise SCL and SDA? */ 170 /* JJJ: raise SCL and SDA? */
171 intel_i2c_quirk_set(dev, true);
156 set_data(chan, 1); 172 set_data(chan, 1);
157 set_clock(chan, 1); 173 set_clock(chan, 1);
174 intel_i2c_quirk_set(dev, false);
158 udelay(20); 175 udelay(20);
159 176
160 return chan; 177 return chan;
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 6619f26e46a5..439a86514993 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -384,7 +384,51 @@ static const struct drm_encoder_funcs intel_lvds_enc_funcs = {
384 .destroy = intel_lvds_enc_destroy, 384 .destroy = intel_lvds_enc_destroy,
385}; 385};
386 386
387static int __init intel_no_lvds_dmi_callback(const struct dmi_system_id *id)
388{
389 DRM_DEBUG("Skipping LVDS initialization for %s\n", id->ident);
390 return 1;
391}
387 392
393/* These systems claim to have LVDS, but really don't */
394static const struct dmi_system_id __initdata intel_no_lvds[] = {
395 {
396 .callback = intel_no_lvds_dmi_callback,
397 .ident = "Apple Mac Mini (Core series)",
398 .matches = {
399 DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
400 DMI_MATCH(DMI_PRODUCT_NAME, "Macmini1,1"),
401 },
402 },
403 {
404 .callback = intel_no_lvds_dmi_callback,
405 .ident = "Apple Mac Mini (Core 2 series)",
406 .matches = {
407 DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
408 DMI_MATCH(DMI_PRODUCT_NAME, "Macmini2,1"),
409 },
410 },
411 {
412 .callback = intel_no_lvds_dmi_callback,
413 .ident = "MSI IM-945GSE-A",
414 .matches = {
415 DMI_MATCH(DMI_SYS_VENDOR, "MSI"),
416 DMI_MATCH(DMI_PRODUCT_NAME, "A9830IMS"),
417 },
418 },
419 {
420 .callback = intel_no_lvds_dmi_callback,
421 .ident = "Dell Studio Hybrid",
422 .matches = {
423 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
424 DMI_MATCH(DMI_PRODUCT_NAME, "Studio Hybrid 140g"),
425 },
426 },
427
428 /* FIXME: add a check for the Aopen Mini PC */
429
430 { } /* terminating entry */
431};
388 432
389/** 433/**
390 * intel_lvds_init - setup LVDS connectors on this device 434 * intel_lvds_init - setup LVDS connectors on this device
@@ -404,15 +448,9 @@ void intel_lvds_init(struct drm_device *dev)
404 u32 lvds; 448 u32 lvds;
405 int pipe; 449 int pipe;
406 450
407 /* Blacklist machines that we know falsely report LVDS. */ 451 /* Skip init on machines we know falsely report LVDS */
408 /* FIXME: add a check for the Aopen Mini PC */ 452 if (dmi_check_system(intel_no_lvds))
409
410 /* Apple Mac Mini Core Duo and Mac Mini Core 2 Duo */
411 if(dmi_match(DMI_PRODUCT_NAME, "Macmini1,1") ||
412 dmi_match(DMI_PRODUCT_NAME, "Macmini2,1")) {
413 DRM_DEBUG("Skipping LVDS initialization for Apple Mac Mini\n");
414 return; 453 return;
415 }
416 454
417 intel_output = kzalloc(sizeof(struct intel_output), GFP_KERNEL); 455 intel_output = kzalloc(sizeof(struct intel_output), GFP_KERNEL);
418 if (!intel_output) { 456 if (!intel_output) {
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c
index 07d7ec976168..e0910fefce87 100644
--- a/drivers/gpu/drm/i915/intel_modes.c
+++ b/drivers/gpu/drm/i915/intel_modes.c
@@ -27,6 +27,7 @@
27#include <linux/fb.h> 27#include <linux/fb.h>
28#include "drmP.h" 28#include "drmP.h"
29#include "intel_drv.h" 29#include "intel_drv.h"
30#include "i915_drv.h"
30 31
31/** 32/**
32 * intel_ddc_probe 33 * intel_ddc_probe
@@ -52,7 +53,10 @@ bool intel_ddc_probe(struct intel_output *intel_output)
52 } 53 }
53 }; 54 };
54 55
56 intel_i2c_quirk_set(intel_output->ddc_bus->drm_dev, true);
55 ret = i2c_transfer(&intel_output->ddc_bus->adapter, msgs, 2); 57 ret = i2c_transfer(&intel_output->ddc_bus->adapter, msgs, 2);
58 intel_i2c_quirk_set(intel_output->ddc_bus->drm_dev, false);
59
56 if (ret == 2) 60 if (ret == 2)
57 return true; 61 return true;
58 62
@@ -70,8 +74,10 @@ int intel_ddc_get_modes(struct intel_output *intel_output)
70 struct edid *edid; 74 struct edid *edid;
71 int ret = 0; 75 int ret = 0;
72 76
77 intel_i2c_quirk_set(intel_output->ddc_bus->drm_dev, true);
73 edid = drm_get_edid(&intel_output->base, 78 edid = drm_get_edid(&intel_output->base,
74 &intel_output->ddc_bus->adapter); 79 &intel_output->ddc_bus->adapter);
80 intel_i2c_quirk_set(intel_output->ddc_bus->drm_dev, false);
75 if (edid) { 81 if (edid) {
76 drm_mode_connector_update_edid_property(&intel_output->base, 82 drm_mode_connector_update_edid_property(&intel_output->base,
77 edid); 83 edid);
diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c
index 32de4cedc363..077c0455a6b9 100644
--- a/drivers/gpu/drm/r128/r128_cce.c
+++ b/drivers/gpu/drm/r128/r128_cce.c
@@ -511,9 +511,9 @@ static int r128_do_init_cce(struct drm_device * dev, drm_r128_init_t * init)
511 511
512#if __OS_HAS_AGP 512#if __OS_HAS_AGP
513 if (!dev_priv->is_pci) { 513 if (!dev_priv->is_pci) {
514 drm_core_ioremap(dev_priv->cce_ring, dev); 514 drm_core_ioremap_wc(dev_priv->cce_ring, dev);
515 drm_core_ioremap(dev_priv->ring_rptr, dev); 515 drm_core_ioremap_wc(dev_priv->ring_rptr, dev);
516 drm_core_ioremap(dev->agp_buffer_map, dev); 516 drm_core_ioremap_wc(dev->agp_buffer_map, dev);
517 if (!dev_priv->cce_ring->handle || 517 if (!dev_priv->cce_ring->handle ||
518 !dev_priv->ring_rptr->handle || 518 !dev_priv->ring_rptr->handle ||
519 !dev->agp_buffer_map->handle) { 519 !dev->agp_buffer_map->handle) {
diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h
index ed4d27e6ee6f..8071d965f142 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.h
+++ b/drivers/gpu/drm/radeon/radeon_drv.h
@@ -99,9 +99,10 @@
99 * 1.27- Add support for IGP GART 99 * 1.27- Add support for IGP GART
100 * 1.28- Add support for VBL on CRTC2 100 * 1.28- Add support for VBL on CRTC2
101 * 1.29- R500 3D cmd buffer support 101 * 1.29- R500 3D cmd buffer support
102 * 1.30- Add support for occlusion queries
102 */ 103 */
103#define DRIVER_MAJOR 1 104#define DRIVER_MAJOR 1
104#define DRIVER_MINOR 29 105#define DRIVER_MINOR 30
105#define DRIVER_PATCHLEVEL 0 106#define DRIVER_PATCHLEVEL 0
106 107
107/* 108/*
diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
index 7359d9d88e46..acbce5745b0c 100644
--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -151,7 +151,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input,
151 if (fnmode) { 151 if (fnmode) {
152 int do_translate; 152 int do_translate;
153 153
154 trans = apple_find_translation((hid->product < 0x220 || 154 trans = apple_find_translation((hid->product < 0x21d ||
155 hid->product >= 0x300) ? 155 hid->product >= 0x300) ?
156 powerbook_fn_keys : apple_fn_keys, 156 powerbook_fn_keys : apple_fn_keys,
157 usage->code); 157 usage->code);
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 5746a5903bce..8551693d645f 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1293,6 +1293,7 @@ static const struct hid_device_id hid_blacklist[] = {
1293 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_FORCE3D_PRO) }, 1293 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_FORCE3D_PRO) },
1294 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL) }, 1294 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL) },
1295 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2) }, 1295 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2) },
1296 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G25_WHEEL) },
1296 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_RUMBLEPAD2) }, 1297 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_RUMBLEPAD2) },
1297 { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_SIDEWINDER_GV) }, 1298 { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_SIDEWINDER_GV) },
1298 { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_NE4K) }, 1299 { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_NE4K) },
@@ -1824,6 +1825,9 @@ int hid_check_keys_pressed(struct hid_device *hid)
1824 struct hid_input *hidinput; 1825 struct hid_input *hidinput;
1825 int i; 1826 int i;
1826 1827
1828 if (!(hid->claimed & HID_CLAIMED_INPUT))
1829 return 0;
1830
1827 list_for_each_entry(hidinput, &hid->inputs, list) { 1831 list_for_each_entry(hidinput, &hid->inputs, list) {
1828 for (i = 0; i < BITS_TO_LONGS(KEY_MAX); i++) 1832 for (i = 0; i < BITS_TO_LONGS(KEY_MAX); i++)
1829 if (hidinput->input->key[i]) 1833 if (hidinput->input->key[i])
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index bdeda4c7cc13..4d5ee2bbc62b 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -113,6 +113,11 @@
113#define USB_VENDOR_ID_BERKSHIRE 0x0c98 113#define USB_VENDOR_ID_BERKSHIRE 0x0c98
114#define USB_DEVICE_ID_BERKSHIRE_PCWD 0x1140 114#define USB_DEVICE_ID_BERKSHIRE_PCWD 0x1140
115 115
116#define USB_VENDOR_ID_CH 0x068e
117#define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2
118#define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4
119#define USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE 0x00ff
120
116#define USB_VENDOR_ID_CHERRY 0x046a 121#define USB_VENDOR_ID_CHERRY 0x046a
117#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023 122#define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023
118 123
@@ -292,6 +297,7 @@
292#define USB_DEVICE_ID_LOGITECH_FORCE3D_PRO 0xc286 297#define USB_DEVICE_ID_LOGITECH_FORCE3D_PRO 0xc286
293#define USB_DEVICE_ID_LOGITECH_WHEEL 0xc294 298#define USB_DEVICE_ID_LOGITECH_WHEEL 0xc294
294#define USB_DEVICE_ID_LOGITECH_MOMO_WHEEL 0xc295 299#define USB_DEVICE_ID_LOGITECH_MOMO_WHEEL 0xc295
300#define USB_DEVICE_ID_LOGITECH_G25_WHEEL 0xc299
295#define USB_DEVICE_ID_LOGITECH_ELITE_KBD 0xc30a 301#define USB_DEVICE_ID_LOGITECH_ELITE_KBD 0xc30a
296#define USB_DEVICE_ID_S510_RECEIVER 0xc50c 302#define USB_DEVICE_ID_S510_RECEIVER 0xc50c
297#define USB_DEVICE_ID_S510_RECEIVER_2 0xc517 303#define USB_DEVICE_ID_S510_RECEIVER_2 0xc517
diff --git a/drivers/hid/hid-lg.c b/drivers/hid/hid-lg.c
index 7b80cb694982..7afbaa0efd18 100644
--- a/drivers/hid/hid-lg.c
+++ b/drivers/hid/hid-lg.c
@@ -297,6 +297,8 @@ static const struct hid_device_id lg_devices[] = {
297 .driver_data = LG_FF }, 297 .driver_data = LG_FF },
298 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2), 298 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2),
299 .driver_data = LG_FF }, 299 .driver_data = LG_FF },
300 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G25_WHEEL),
301 .driver_data = LG_FF },
300 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_RUMBLEPAD2), 302 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_RUMBLEPAD2),
301 .driver_data = LG_FF2 }, 303 .driver_data = LG_FF2 },
302 { } 304 { }
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
index e263d4731179..00ccf4b1985d 100644
--- a/drivers/hid/hidraw.c
+++ b/drivers/hid/hidraw.c
@@ -285,8 +285,10 @@ static long hidraw_ioctl(struct file *file, unsigned int cmd,
285 285
286 if (_IOC_NR(cmd) == _IOC_NR(HIDIOCGRAWNAME(0))) { 286 if (_IOC_NR(cmd) == _IOC_NR(HIDIOCGRAWNAME(0))) {
287 int len; 287 int len;
288 if (!hid->name) 288 if (!hid->name) {
289 return 0; 289 ret = 0;
290 break;
291 }
290 len = strlen(hid->name) + 1; 292 len = strlen(hid->name) + 1;
291 if (len > _IOC_SIZE(cmd)) 293 if (len > _IOC_SIZE(cmd))
292 len = _IOC_SIZE(cmd); 294 len = _IOC_SIZE(cmd);
@@ -297,8 +299,10 @@ static long hidraw_ioctl(struct file *file, unsigned int cmd,
297 299
298 if (_IOC_NR(cmd) == _IOC_NR(HIDIOCGRAWPHYS(0))) { 300 if (_IOC_NR(cmd) == _IOC_NR(HIDIOCGRAWPHYS(0))) {
299 int len; 301 int len;
300 if (!hid->phys) 302 if (!hid->phys) {
301 return 0; 303 ret = 0;
304 break;
305 }
302 len = strlen(hid->phys) + 1; 306 len = strlen(hid->phys) + 1;
303 if (len > _IOC_SIZE(cmd)) 307 if (len > _IOC_SIZE(cmd))
304 len = _IOC_SIZE(cmd); 308 len = _IOC_SIZE(cmd);
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 4306cb1b8ce5..ac8049b5f1e9 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -662,8 +662,8 @@ void usbhid_close(struct hid_device *hid)
662 spin_lock_irq(&usbhid->lock); 662 spin_lock_irq(&usbhid->lock);
663 if (!--hid->open) { 663 if (!--hid->open) {
664 spin_unlock_irq(&usbhid->lock); 664 spin_unlock_irq(&usbhid->lock);
665 hid_cancel_delayed_stuff(usbhid);
665 usb_kill_urb(usbhid->urbin); 666 usb_kill_urb(usbhid->urbin);
666 flush_scheduled_work();
667 usbhid->intf->needs_remote_wakeup = 0; 667 usbhid->intf->needs_remote_wakeup = 0;
668 } else { 668 } else {
669 spin_unlock_irq(&usbhid->lock); 669 spin_unlock_irq(&usbhid->lock);
@@ -898,7 +898,7 @@ static int usbhid_parse(struct hid_device *hid)
898 goto err; 898 goto err;
899 } 899 }
900 900
901 hid->quirks = quirks; 901 hid->quirks |= quirks;
902 902
903 return 0; 903 return 0;
904err: 904err:
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index 4391717d2519..d8f7423f363e 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -50,6 +50,9 @@ static const struct hid_blacklist {
50 { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, HID_QUIRK_NOGET }, 50 { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, HID_QUIRK_NOGET },
51 { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET }, 51 { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET },
52 { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, 52 { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET },
53 { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_COMBATSTICK, HID_QUIRK_NOGET },
54 { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE, HID_QUIRK_NOGET },
55 { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET },
53 { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, 56 { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET },
54 { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, 57 { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
55 { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET }, 58 { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET },
diff --git a/drivers/hwmon/asus_atk0110.c b/drivers/hwmon/asus_atk0110.c
index 0897edef2574..bff0103610c1 100644
--- a/drivers/hwmon/asus_atk0110.c
+++ b/drivers/hwmon/asus_atk0110.c
@@ -348,6 +348,7 @@ static int validate_hwmon_pack(struct atk_data *data, union acpi_object *obj)
348 return 0; 348 return 0;
349} 349}
350 350
351#ifdef DEBUG
351static char const *atk_sensor_type(union acpi_object *flags) 352static char const *atk_sensor_type(union acpi_object *flags)
352{ 353{
353 u64 type = flags->integer.value & ATK_TYPE_MASK; 354 u64 type = flags->integer.value & ATK_TYPE_MASK;
@@ -370,6 +371,7 @@ static char const *atk_sensor_type(union acpi_object *flags)
370 371
371 return what; 372 return what;
372} 373}
374#endif
373 375
374static void atk_print_sensor(struct atk_data *data, union acpi_object *obj) 376static void atk_print_sensor(struct atk_data *data, union acpi_object *obj)
375{ 377{
diff --git a/drivers/hwmon/w83781d.c b/drivers/hwmon/w83781d.c
index dbfb30c588d8..0bdab959b736 100644
--- a/drivers/hwmon/w83781d.c
+++ b/drivers/hwmon/w83781d.c
@@ -1462,7 +1462,8 @@ static struct w83781d_data *w83781d_update_device(struct device *dev)
1462 data->pwm[i] = 1462 data->pwm[i] =
1463 w83781d_read_value(data, 1463 w83781d_read_value(data,
1464 W83781D_REG_PWM[i]); 1464 W83781D_REG_PWM[i]);
1465 if ((data->type != w83782d || !client->driver) 1465 /* Only W83782D on SMBus has PWM3 and PWM4 */
1466 if ((data->type != w83782d || !client)
1466 && i == 1) 1467 && i == 1)
1467 break; 1468 break;
1468 } 1469 }
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c
index d420cc5f5633..e25e13980af3 100644
--- a/drivers/i2c/algos/i2c-algo-bit.c
+++ b/drivers/i2c/algos/i2c-algo-bit.c
@@ -104,7 +104,7 @@ static int sclhi(struct i2c_algo_bit_data *adap)
104 * chips may hold it low ("clock stretching") while they 104 * chips may hold it low ("clock stretching") while they
105 * are processing data internally. 105 * are processing data internally.
106 */ 106 */
107 if (time_after_eq(jiffies, start + adap->timeout)) 107 if (time_after(jiffies, start + adap->timeout))
108 return -ETIMEDOUT; 108 return -ETIMEDOUT;
109 cond_resched(); 109 cond_resched();
110 } 110 }
diff --git a/drivers/i2c/algos/i2c-algo-pca.c b/drivers/i2c/algos/i2c-algo-pca.c
index 6318f7ddc1d4..78d42aae0089 100644
--- a/drivers/i2c/algos/i2c-algo-pca.c
+++ b/drivers/i2c/algos/i2c-algo-pca.c
@@ -287,10 +287,21 @@ static int pca_xfer(struct i2c_adapter *i2c_adap,
287 287
288 case 0x30: /* Data byte in I2CDAT has been transmitted; NOT ACK has been received */ 288 case 0x30: /* Data byte in I2CDAT has been transmitted; NOT ACK has been received */
289 DEB2("NOT ACK received after data byte\n"); 289 DEB2("NOT ACK received after data byte\n");
290 pca_stop(adap);
290 goto out; 291 goto out;
291 292
292 case 0x38: /* Arbitration lost during SLA+W, SLA+R or data bytes */ 293 case 0x38: /* Arbitration lost during SLA+W, SLA+R or data bytes */
293 DEB2("Arbitration lost\n"); 294 DEB2("Arbitration lost\n");
295 /*
296 * The PCA9564 data sheet (2006-09-01) says "A
297 * START condition will be transmitted when the
298 * bus becomes free (STOP or SCL and SDA high)"
299 * when the STA bit is set (p. 11).
300 *
301 * In case this won't work, try pca_reset()
302 * instead.
303 */
304 pca_start(adap);
294 goto out; 305 goto out;
295 306
296 case 0x58: /* Data byte has been received; NOT ACK has been returned */ 307 case 0x58: /* Data byte has been received; NOT ACK has been returned */
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index a48c8aee0218..f1c6ca7e2852 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -467,7 +467,7 @@ config I2C_PXA_SLAVE
467 467
468config I2C_S3C2410 468config I2C_S3C2410
469 tristate "S3C2410 I2C Driver" 469 tristate "S3C2410 I2C Driver"
470 depends on ARCH_S3C2410 470 depends on ARCH_S3C2410 || ARCH_S3C64XX
471 help 471 help
472 Say Y here to include support for I2C controller in the 472 Say Y here to include support for I2C controller in the
473 Samsung S3C2410 based System-on-Chip devices. 473 Samsung S3C2410 based System-on-Chip devices.
diff --git a/drivers/i2c/busses/i2c-ali1535.c b/drivers/i2c/busses/i2c-ali1535.c
index 981e080b32ae..d108450df064 100644
--- a/drivers/i2c/busses/i2c-ali1535.c
+++ b/drivers/i2c/busses/i2c-ali1535.c
@@ -284,7 +284,7 @@ static int ali1535_transaction(struct i2c_adapter *adap)
284 && (timeout++ < MAX_TIMEOUT)); 284 && (timeout++ < MAX_TIMEOUT));
285 285
286 /* If the SMBus is still busy, we give up */ 286 /* If the SMBus is still busy, we give up */
287 if (timeout >= MAX_TIMEOUT) { 287 if (timeout > MAX_TIMEOUT) {
288 result = -ETIMEDOUT; 288 result = -ETIMEDOUT;
289 dev_err(&adap->dev, "SMBus Timeout!\n"); 289 dev_err(&adap->dev, "SMBus Timeout!\n");
290 } 290 }
diff --git a/drivers/i2c/busses/i2c-ali15x3.c b/drivers/i2c/busses/i2c-ali15x3.c
index 39066dee46e3..d627fceb790b 100644
--- a/drivers/i2c/busses/i2c-ali15x3.c
+++ b/drivers/i2c/busses/i2c-ali15x3.c
@@ -306,7 +306,7 @@ static int ali15x3_transaction(struct i2c_adapter *adap)
306 && (timeout++ < MAX_TIMEOUT)); 306 && (timeout++ < MAX_TIMEOUT));
307 307
308 /* If the SMBus is still busy, we give up */ 308 /* If the SMBus is still busy, we give up */
309 if (timeout >= MAX_TIMEOUT) { 309 if (timeout > MAX_TIMEOUT) {
310 result = -ETIMEDOUT; 310 result = -ETIMEDOUT;
311 dev_err(&adap->dev, "SMBus Timeout!\n"); 311 dev_err(&adap->dev, "SMBus Timeout!\n");
312 } 312 }
diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c
index 220f4a1eee1d..f7d6fe9c49ba 100644
--- a/drivers/i2c/busses/i2c-amd756.c
+++ b/drivers/i2c/busses/i2c-amd756.c
@@ -126,7 +126,7 @@ static int amd756_transaction(struct i2c_adapter *adap)
126 } while ((temp & (GS_HST_STS | GS_SMB_STS)) && 126 } while ((temp & (GS_HST_STS | GS_SMB_STS)) &&
127 (timeout++ < MAX_TIMEOUT)); 127 (timeout++ < MAX_TIMEOUT));
128 /* If the SMBus is still busy, we give up */ 128 /* If the SMBus is still busy, we give up */
129 if (timeout >= MAX_TIMEOUT) { 129 if (timeout > MAX_TIMEOUT) {
130 dev_dbg(&adap->dev, "Busy wait timeout (%04x)\n", temp); 130 dev_dbg(&adap->dev, "Busy wait timeout (%04x)\n", temp);
131 goto abort; 131 goto abort;
132 } 132 }
@@ -143,7 +143,7 @@ static int amd756_transaction(struct i2c_adapter *adap)
143 } while ((temp & GS_HST_STS) && (timeout++ < MAX_TIMEOUT)); 143 } while ((temp & GS_HST_STS) && (timeout++ < MAX_TIMEOUT));
144 144
145 /* If the SMBus is still busy, we give up */ 145 /* If the SMBus is still busy, we give up */
146 if (timeout >= MAX_TIMEOUT) { 146 if (timeout > MAX_TIMEOUT) {
147 dev_dbg(&adap->dev, "Completion timeout!\n"); 147 dev_dbg(&adap->dev, "Completion timeout!\n");
148 goto abort; 148 goto abort;
149 } 149 }
diff --git a/drivers/i2c/busses/i2c-cpm.c b/drivers/i2c/busses/i2c-cpm.c
index 3fcf78e906db..b5db8b883615 100644
--- a/drivers/i2c/busses/i2c-cpm.c
+++ b/drivers/i2c/busses/i2c-cpm.c
@@ -531,16 +531,16 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
531 rbdf = cpm->rbase; 531 rbdf = cpm->rbase;
532 532
533 for (i = 0; i < CPM_MAXBD; i++) { 533 for (i = 0; i < CPM_MAXBD; i++) {
534 cpm->rxbuf[i] = dma_alloc_coherent( 534 cpm->rxbuf[i] = dma_alloc_coherent(&cpm->ofdev->dev,
535 NULL, CPM_MAX_READ + 1, &cpm->rxdma[i], GFP_KERNEL); 535 CPM_MAX_READ + 1,
536 &cpm->rxdma[i], GFP_KERNEL);
536 if (!cpm->rxbuf[i]) { 537 if (!cpm->rxbuf[i]) {
537 ret = -ENOMEM; 538 ret = -ENOMEM;
538 goto out_muram; 539 goto out_muram;
539 } 540 }
540 out_be32(&rbdf[i].cbd_bufaddr, ((cpm->rxdma[i] + 1) & ~1)); 541 out_be32(&rbdf[i].cbd_bufaddr, ((cpm->rxdma[i] + 1) & ~1));
541 542
542 cpm->txbuf[i] = (unsigned char *)dma_alloc_coherent( 543 cpm->txbuf[i] = (unsigned char *)dma_alloc_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, &cpm->txdma[i], GFP_KERNEL);
543 NULL, CPM_MAX_READ + 1, &cpm->txdma[i], GFP_KERNEL);
544 if (!cpm->txbuf[i]) { 544 if (!cpm->txbuf[i]) {
545 ret = -ENOMEM; 545 ret = -ENOMEM;
546 goto out_muram; 546 goto out_muram;
@@ -585,10 +585,10 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
585out_muram: 585out_muram:
586 for (i = 0; i < CPM_MAXBD; i++) { 586 for (i = 0; i < CPM_MAXBD; i++) {
587 if (cpm->rxbuf[i]) 587 if (cpm->rxbuf[i])
588 dma_free_coherent(NULL, CPM_MAX_READ + 1, 588 dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1,
589 cpm->rxbuf[i], cpm->rxdma[i]); 589 cpm->rxbuf[i], cpm->rxdma[i]);
590 if (cpm->txbuf[i]) 590 if (cpm->txbuf[i])
591 dma_free_coherent(NULL, CPM_MAX_READ + 1, 591 dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1,
592 cpm->txbuf[i], cpm->txdma[i]); 592 cpm->txbuf[i], cpm->txdma[i]);
593 } 593 }
594 cpm_muram_free(cpm->dp_addr); 594 cpm_muram_free(cpm->dp_addr);
@@ -619,9 +619,9 @@ static void cpm_i2c_shutdown(struct cpm_i2c *cpm)
619 619
620 /* Free all memory */ 620 /* Free all memory */
621 for (i = 0; i < CPM_MAXBD; i++) { 621 for (i = 0; i < CPM_MAXBD; i++) {
622 dma_free_coherent(NULL, CPM_MAX_READ + 1, 622 dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1,
623 cpm->rxbuf[i], cpm->rxdma[i]); 623 cpm->rxbuf[i], cpm->rxdma[i]);
624 dma_free_coherent(NULL, CPM_MAX_READ + 1, 624 dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1,
625 cpm->txbuf[i], cpm->txdma[i]); 625 cpm->txbuf[i], cpm->txdma[i]);
626 } 626 }
627 627
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index 10411848fd70..9d2c5adf5d4f 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -237,7 +237,7 @@ static int i801_transaction(int xact)
237 status = inb_p(SMBHSTSTS); 237 status = inb_p(SMBHSTSTS);
238 } while ((status & SMBHSTSTS_HOST_BUSY) && (timeout++ < MAX_TIMEOUT)); 238 } while ((status & SMBHSTSTS_HOST_BUSY) && (timeout++ < MAX_TIMEOUT));
239 239
240 result = i801_check_post(status, timeout >= MAX_TIMEOUT); 240 result = i801_check_post(status, timeout > MAX_TIMEOUT);
241 if (result < 0) 241 if (result < 0)
242 return result; 242 return result;
243 243
@@ -257,9 +257,9 @@ static void i801_wait_hwpec(void)
257 } while ((!(status & SMBHSTSTS_INTR)) 257 } while ((!(status & SMBHSTSTS_INTR))
258 && (timeout++ < MAX_TIMEOUT)); 258 && (timeout++ < MAX_TIMEOUT));
259 259
260 if (timeout >= MAX_TIMEOUT) { 260 if (timeout > MAX_TIMEOUT)
261 dev_dbg(&I801_dev->dev, "PEC Timeout!\n"); 261 dev_dbg(&I801_dev->dev, "PEC Timeout!\n");
262 } 262
263 outb_p(status, SMBHSTSTS); 263 outb_p(status, SMBHSTSTS);
264} 264}
265 265
@@ -344,7 +344,7 @@ static int i801_block_transaction_byte_by_byte(union i2c_smbus_data *data,
344 while ((!(status & SMBHSTSTS_BYTE_DONE)) 344 while ((!(status & SMBHSTSTS_BYTE_DONE))
345 && (timeout++ < MAX_TIMEOUT)); 345 && (timeout++ < MAX_TIMEOUT));
346 346
347 result = i801_check_post(status, timeout >= MAX_TIMEOUT); 347 result = i801_check_post(status, timeout > MAX_TIMEOUT);
348 if (result < 0) 348 if (result < 0)
349 return result; 349 return result;
350 350
diff --git a/drivers/i2c/busses/i2c-isch.c b/drivers/i2c/busses/i2c-isch.c
index b9c01aa90036..9f6b8e0f8632 100644
--- a/drivers/i2c/busses/i2c-isch.c
+++ b/drivers/i2c/busses/i2c-isch.c
@@ -112,7 +112,7 @@ static int sch_transaction(void)
112 } while ((temp & 0x08) && (timeout++ < MAX_TIMEOUT)); 112 } while ((temp & 0x08) && (timeout++ < MAX_TIMEOUT));
113 113
114 /* If the SMBus is still busy, we give up */ 114 /* If the SMBus is still busy, we give up */
115 if (timeout >= MAX_TIMEOUT) { 115 if (timeout > MAX_TIMEOUT) {
116 dev_err(&sch_adapter.dev, "SMBus Timeout!\n"); 116 dev_err(&sch_adapter.dev, "SMBus Timeout!\n");
117 result = -ETIMEDOUT; 117 result = -ETIMEDOUT;
118 } 118 }
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
index 4af5c09f0e8f..dd778d7ae047 100644
--- a/drivers/i2c/busses/i2c-mpc.c
+++ b/drivers/i2c/busses/i2c-mpc.c
@@ -164,7 +164,7 @@ static int i2c_wait(struct mpc_i2c *i2c, unsigned timeout, int writing)
164 return 0; 164 return 0;
165} 165}
166 166
167#ifdef CONFIG_PPC_52xx 167#ifdef CONFIG_PPC_MPC52xx
168static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = { 168static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = {
169 {20, 0x20}, {22, 0x21}, {24, 0x22}, {26, 0x23}, 169 {20, 0x20}, {22, 0x21}, {24, 0x22}, {26, 0x23},
170 {28, 0x24}, {30, 0x01}, {32, 0x25}, {34, 0x02}, 170 {28, 0x24}, {30, 0x01}, {32, 0x25}, {34, 0x02},
@@ -188,7 +188,7 @@ static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = {
188 188
189int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler) 189int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler)
190{ 190{
191 const struct mpc52xx_i2c_divider *div = NULL; 191 const struct mpc_i2c_divider *div = NULL;
192 unsigned int pvr = mfspr(SPRN_PVR); 192 unsigned int pvr = mfspr(SPRN_PVR);
193 u32 divider; 193 u32 divider;
194 int i; 194 int i;
@@ -203,7 +203,7 @@ int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler)
203 * We want to choose an FDR/DFSR that generates an I2C bus speed that 203 * We want to choose an FDR/DFSR that generates an I2C bus speed that
204 * is equal to or lower than the requested speed. 204 * is equal to or lower than the requested speed.
205 */ 205 */
206 for (i = 0; i < ARRAY_SIZE(mpc52xx_i2c_dividers); i++) { 206 for (i = 0; i < ARRAY_SIZE(mpc_i2c_dividers_52xx); i++) {
207 div = &mpc_i2c_dividers_52xx[i]; 207 div = &mpc_i2c_dividers_52xx[i];
208 /* Old MPC5200 rev A CPUs do not support the high bits */ 208 /* Old MPC5200 rev A CPUs do not support the high bits */
209 if (div->fdr & 0xc0 && pvr == 0x80822011) 209 if (div->fdr & 0xc0 && pvr == 0x80822011)
@@ -219,20 +219,23 @@ static void mpc_i2c_setclock_52xx(struct device_node *node,
219 struct mpc_i2c *i2c, 219 struct mpc_i2c *i2c,
220 u32 clock, u32 prescaler) 220 u32 clock, u32 prescaler)
221{ 221{
222 int fdr = mpc52xx_i2c_get_fdr(node, clock, prescaler); 222 int ret, fdr;
223
224 ret = mpc_i2c_get_fdr_52xx(node, clock, prescaler);
225 fdr = (ret >= 0) ? ret : 0x3f; /* backward compatibility */
223 226
224 if (fdr < 0)
225 fdr = 0x3f; /* backward compatibility */
226 writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR); 227 writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR);
227 dev_info(i2c->dev, "clock %d Hz (fdr=%d)\n", clock, fdr); 228
229 if (ret >= 0)
230 dev_info(i2c->dev, "clock %d Hz (fdr=%d)\n", clock, fdr);
228} 231}
229#else /* !CONFIG_PPC_52xx */ 232#else /* !CONFIG_PPC_MPC52xx */
230static void mpc_i2c_setclock_52xx(struct device_node *node, 233static void mpc_i2c_setclock_52xx(struct device_node *node,
231 struct mpc_i2c *i2c, 234 struct mpc_i2c *i2c,
232 u32 clock, u32 prescaler) 235 u32 clock, u32 prescaler)
233{ 236{
234} 237}
235#endif /* CONFIG_PPC_52xx*/ 238#endif /* CONFIG_PPC_MPC52xx*/
236 239
237#ifdef CONFIG_FSL_SOC 240#ifdef CONFIG_FSL_SOC
238static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] = { 241static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] = {
@@ -321,14 +324,17 @@ static void mpc_i2c_setclock_8xxx(struct device_node *node,
321 struct mpc_i2c *i2c, 324 struct mpc_i2c *i2c,
322 u32 clock, u32 prescaler) 325 u32 clock, u32 prescaler)
323{ 326{
324 int fdr = mpc_i2c_get_fdr_8xxx(node, clock, prescaler); 327 int ret, fdr;
328
329 ret = mpc_i2c_get_fdr_8xxx(node, clock, prescaler);
330 fdr = (ret >= 0) ? ret : 0x1031; /* backward compatibility */
325 331
326 if (fdr < 0)
327 fdr = 0x1031; /* backward compatibility */
328 writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR); 332 writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR);
329 writeb((fdr >> 8) & 0xff, i2c->base + MPC_I2C_DFSRR); 333 writeb((fdr >> 8) & 0xff, i2c->base + MPC_I2C_DFSRR);
330 dev_info(i2c->dev, "clock %d Hz (dfsrr=%d fdr=%d)\n", 334
331 clock, fdr >> 8, fdr & 0xff); 335 if (ret >= 0)
336 dev_info(i2c->dev, "clock %d Hz (dfsrr=%d fdr=%d)\n",
337 clock, fdr >> 8, fdr & 0xff);
332} 338}
333 339
334#else /* !CONFIG_FSL_SOC */ 340#else /* !CONFIG_FSL_SOC */
diff --git a/drivers/i2c/busses/i2c-nforce2.c b/drivers/i2c/busses/i2c-nforce2.c
index 2ff4683703a8..ec11d1c4e77b 100644
--- a/drivers/i2c/busses/i2c-nforce2.c
+++ b/drivers/i2c/busses/i2c-nforce2.c
@@ -173,7 +173,7 @@ static int nforce2_check_status(struct i2c_adapter *adap)
173 temp = inb_p(NVIDIA_SMB_STS); 173 temp = inb_p(NVIDIA_SMB_STS);
174 } while ((!temp) && (timeout++ < MAX_TIMEOUT)); 174 } while ((!temp) && (timeout++ < MAX_TIMEOUT));
175 175
176 if (timeout >= MAX_TIMEOUT) { 176 if (timeout > MAX_TIMEOUT) {
177 dev_dbg(&adap->dev, "SMBus Timeout!\n"); 177 dev_dbg(&adap->dev, "SMBus Timeout!\n");
178 if (smbus->can_abort) 178 if (smbus->can_abort)
179 nforce2_abort(adap); 179 nforce2_abort(adap);
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index c1405c8f6ba5..acc7143d9655 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -265,10 +265,10 @@ static int i2c_pxa_wait_bus_not_busy(struct pxa_i2c *i2c)
265 show_state(i2c); 265 show_state(i2c);
266 } 266 }
267 267
268 if (timeout <= 0) 268 if (timeout < 0)
269 show_state(i2c); 269 show_state(i2c);
270 270
271 return timeout <= 0 ? I2C_RETRY : 0; 271 return timeout < 0 ? I2C_RETRY : 0;
272} 272}
273 273
274static int i2c_pxa_wait_master(struct pxa_i2c *i2c) 274static int i2c_pxa_wait_master(struct pxa_i2c *i2c)
@@ -612,7 +612,7 @@ static int i2c_pxa_pio_set_master(struct pxa_i2c *i2c)
612 show_state(i2c); 612 show_state(i2c);
613 } 613 }
614 614
615 if (timeout <= 0) { 615 if (timeout < 0) {
616 show_state(i2c); 616 show_state(i2c);
617 dev_err(&i2c->adap.dev, 617 dev_err(&i2c->adap.dev,
618 "i2c_pxa: timeout waiting for bus free\n"); 618 "i2c_pxa: timeout waiting for bus free\n");
diff --git a/drivers/i2c/busses/i2c-sis5595.c b/drivers/i2c/busses/i2c-sis5595.c
index f320ab27da46..139f0c7f12a4 100644
--- a/drivers/i2c/busses/i2c-sis5595.c
+++ b/drivers/i2c/busses/i2c-sis5595.c
@@ -256,7 +256,7 @@ static int sis5595_transaction(struct i2c_adapter *adap)
256 } while (!(temp & 0x40) && (timeout++ < MAX_TIMEOUT)); 256 } while (!(temp & 0x40) && (timeout++ < MAX_TIMEOUT));
257 257
258 /* If the SMBus is still busy, we give up */ 258 /* If the SMBus is still busy, we give up */
259 if (timeout >= MAX_TIMEOUT) { 259 if (timeout > MAX_TIMEOUT) {
260 dev_dbg(&adap->dev, "SMBus Timeout!\n"); 260 dev_dbg(&adap->dev, "SMBus Timeout!\n");
261 result = -ETIMEDOUT; 261 result = -ETIMEDOUT;
262 } 262 }
diff --git a/drivers/i2c/busses/i2c-sis630.c b/drivers/i2c/busses/i2c-sis630.c
index 50c3610e6028..70ca41e90e58 100644
--- a/drivers/i2c/busses/i2c-sis630.c
+++ b/drivers/i2c/busses/i2c-sis630.c
@@ -173,7 +173,7 @@ static int sis630_transaction_wait(struct i2c_adapter *adap, int size)
173 } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT)); 173 } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT));
174 174
175 /* If the SMBus is still busy, we give up */ 175 /* If the SMBus is still busy, we give up */
176 if (timeout >= MAX_TIMEOUT) { 176 if (timeout > MAX_TIMEOUT) {
177 dev_dbg(&adap->dev, "SMBus Timeout!\n"); 177 dev_dbg(&adap->dev, "SMBus Timeout!\n");
178 result = -ETIMEDOUT; 178 result = -ETIMEDOUT;
179 } 179 }
diff --git a/drivers/i2c/busses/i2c-sis96x.c b/drivers/i2c/busses/i2c-sis96x.c
index 7e1594b40579..8295885b2fdb 100644
--- a/drivers/i2c/busses/i2c-sis96x.c
+++ b/drivers/i2c/busses/i2c-sis96x.c
@@ -132,7 +132,7 @@ static int sis96x_transaction(int size)
132 } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT)); 132 } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT));
133 133
134 /* If the SMBus is still busy, we give up */ 134 /* If the SMBus is still busy, we give up */
135 if (timeout >= MAX_TIMEOUT) { 135 if (timeout > MAX_TIMEOUT) {
136 dev_dbg(&sis96x_adapter.dev, "SMBus Timeout! (0x%02x)\n", temp); 136 dev_dbg(&sis96x_adapter.dev, "SMBus Timeout! (0x%02x)\n", temp);
137 result = -ETIMEDOUT; 137 result = -ETIMEDOUT;
138 } 138 }
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 3d4e09969763..925eb9e245d1 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -312,7 +312,6 @@ static int cdrom_decode_status(ide_drive_t *drive, u8 stat)
312 ide_hwif_t *hwif = drive->hwif; 312 ide_hwif_t *hwif = drive->hwif;
313 struct request *rq = hwif->rq; 313 struct request *rq = hwif->rq;
314 int err, sense_key, do_end_request = 0; 314 int err, sense_key, do_end_request = 0;
315 u8 quiet = rq->cmd_flags & REQ_QUIET;
316 315
317 /* get the IDE error register */ 316 /* get the IDE error register */
318 err = ide_read_error(drive); 317 err = ide_read_error(drive);
@@ -347,7 +346,7 @@ static int cdrom_decode_status(ide_drive_t *drive, u8 stat)
347 } else { 346 } else {
348 cdrom_saw_media_change(drive); 347 cdrom_saw_media_change(drive);
349 348
350 if (blk_fs_request(rq) && !quiet) 349 if (blk_fs_request(rq) && !blk_rq_quiet(rq))
351 printk(KERN_ERR PFX "%s: tray open\n", 350 printk(KERN_ERR PFX "%s: tray open\n",
352 drive->name); 351 drive->name);
353 } 352 }
@@ -382,7 +381,7 @@ static int cdrom_decode_status(ide_drive_t *drive, u8 stat)
382 * No point in retrying after an illegal request or data 381 * No point in retrying after an illegal request or data
383 * protect error. 382 * protect error.
384 */ 383 */
385 if (!quiet) 384 if (!blk_rq_quiet(rq))
386 ide_dump_status(drive, "command error", stat); 385 ide_dump_status(drive, "command error", stat);
387 do_end_request = 1; 386 do_end_request = 1;
388 break; 387 break;
@@ -391,14 +390,14 @@ static int cdrom_decode_status(ide_drive_t *drive, u8 stat)
391 * No point in re-trying a zillion times on a bad sector. 390 * No point in re-trying a zillion times on a bad sector.
392 * If we got here the error is not correctable. 391 * If we got here the error is not correctable.
393 */ 392 */
394 if (!quiet) 393 if (!blk_rq_quiet(rq))
395 ide_dump_status(drive, "media error " 394 ide_dump_status(drive, "media error "
396 "(bad sector)", stat); 395 "(bad sector)", stat);
397 do_end_request = 1; 396 do_end_request = 1;
398 break; 397 break;
399 case BLANK_CHECK: 398 case BLANK_CHECK:
400 /* disk appears blank? */ 399 /* disk appears blank? */
401 if (!quiet) 400 if (!blk_rq_quiet(rq))
402 ide_dump_status(drive, "media error (blank)", 401 ide_dump_status(drive, "media error (blank)",
403 stat); 402 stat);
404 do_end_request = 1; 403 do_end_request = 1;
diff --git a/drivers/infiniband/hw/cxgb3/cxio_hal.c b/drivers/infiniband/hw/cxgb3/cxio_hal.c
index 8d71086f5a1c..62f9cf2f94ec 100644
--- a/drivers/infiniband/hw/cxgb3/cxio_hal.c
+++ b/drivers/infiniband/hw/cxgb3/cxio_hal.c
@@ -410,6 +410,7 @@ int cxio_flush_sq(struct t3_wq *wq, struct t3_cq *cq, int count)
410 ptr = wq->sq_rptr + count; 410 ptr = wq->sq_rptr + count;
411 sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2); 411 sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2);
412 while (ptr != wq->sq_wptr) { 412 while (ptr != wq->sq_wptr) {
413 sqp->signaled = 0;
413 insert_sq_cqe(wq, cq, sqp); 414 insert_sq_cqe(wq, cq, sqp);
414 ptr++; 415 ptr++;
415 sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2); 416 sqp = wq->sq + Q_PTR2IDX(ptr, wq->sq_size_log2);
diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c
index 8dc2bb781605..b3684060465e 100644
--- a/drivers/infiniband/hw/ipath/ipath_fs.c
+++ b/drivers/infiniband/hw/ipath/ipath_fs.c
@@ -347,7 +347,7 @@ static int ipathfs_fill_super(struct super_block *sb, void *data,
347 spin_unlock_irqrestore(&ipath_devs_lock, flags); 347 spin_unlock_irqrestore(&ipath_devs_lock, flags);
348 ret = create_device_files(sb, dd); 348 ret = create_device_files(sb, dd);
349 if (ret) { 349 if (ret) {
350 deactivate_super(sb); 350 deactivate_locked_super(sb);
351 goto bail; 351 goto bail;
352 } 352 }
353 spin_lock_irqsave(&ipath_devs_lock, flags); 353 spin_lock_irqsave(&ipath_devs_lock, flags);
diff --git a/drivers/infiniband/hw/mlx4/mlx4_ib.h b/drivers/infiniband/hw/mlx4/mlx4_ib.h
index 9974e886b8de..8a7dd6795fa0 100644
--- a/drivers/infiniband/hw/mlx4/mlx4_ib.h
+++ b/drivers/infiniband/hw/mlx4/mlx4_ib.h
@@ -86,6 +86,7 @@ struct mlx4_ib_mr {
86 86
87struct mlx4_ib_fast_reg_page_list { 87struct mlx4_ib_fast_reg_page_list {
88 struct ib_fast_reg_page_list ibfrpl; 88 struct ib_fast_reg_page_list ibfrpl;
89 __be64 *mapped_page_list;
89 dma_addr_t map; 90 dma_addr_t map;
90}; 91};
91 92
diff --git a/drivers/infiniband/hw/mlx4/mr.c b/drivers/infiniband/hw/mlx4/mr.c
index 8e4d26d56a95..8f3666b20ea4 100644
--- a/drivers/infiniband/hw/mlx4/mr.c
+++ b/drivers/infiniband/hw/mlx4/mr.c
@@ -231,7 +231,11 @@ struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device
231 if (!mfrpl) 231 if (!mfrpl)
232 return ERR_PTR(-ENOMEM); 232 return ERR_PTR(-ENOMEM);
233 233
234 mfrpl->ibfrpl.page_list = dma_alloc_coherent(&dev->dev->pdev->dev, 234 mfrpl->ibfrpl.page_list = kmalloc(size, GFP_KERNEL);
235 if (!mfrpl->ibfrpl.page_list)
236 goto err_free;
237
238 mfrpl->mapped_page_list = dma_alloc_coherent(&dev->dev->pdev->dev,
235 size, &mfrpl->map, 239 size, &mfrpl->map,
236 GFP_KERNEL); 240 GFP_KERNEL);
237 if (!mfrpl->ibfrpl.page_list) 241 if (!mfrpl->ibfrpl.page_list)
@@ -242,6 +246,7 @@ struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device
242 return &mfrpl->ibfrpl; 246 return &mfrpl->ibfrpl;
243 247
244err_free: 248err_free:
249 kfree(mfrpl->ibfrpl.page_list);
245 kfree(mfrpl); 250 kfree(mfrpl);
246 return ERR_PTR(-ENOMEM); 251 return ERR_PTR(-ENOMEM);
247} 252}
@@ -252,8 +257,9 @@ void mlx4_ib_free_fast_reg_page_list(struct ib_fast_reg_page_list *page_list)
252 struct mlx4_ib_fast_reg_page_list *mfrpl = to_mfrpl(page_list); 257 struct mlx4_ib_fast_reg_page_list *mfrpl = to_mfrpl(page_list);
253 int size = page_list->max_page_list_len * sizeof (u64); 258 int size = page_list->max_page_list_len * sizeof (u64);
254 259
255 dma_free_coherent(&dev->dev->pdev->dev, size, page_list->page_list, 260 dma_free_coherent(&dev->dev->pdev->dev, size, mfrpl->mapped_page_list,
256 mfrpl->map); 261 mfrpl->map);
262 kfree(mfrpl->ibfrpl.page_list);
257 kfree(mfrpl); 263 kfree(mfrpl);
258} 264}
259 265
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
index f385a24d31d2..20724aee76f4 100644
--- a/drivers/infiniband/hw/mlx4/qp.c
+++ b/drivers/infiniband/hw/mlx4/qp.c
@@ -1365,7 +1365,7 @@ static void set_fmr_seg(struct mlx4_wqe_fmr_seg *fseg, struct ib_send_wr *wr)
1365 int i; 1365 int i;
1366 1366
1367 for (i = 0; i < wr->wr.fast_reg.page_list_len; ++i) 1367 for (i = 0; i < wr->wr.fast_reg.page_list_len; ++i)
1368 wr->wr.fast_reg.page_list->page_list[i] = 1368 mfrpl->mapped_page_list[i] =
1369 cpu_to_be64(wr->wr.fast_reg.page_list->page_list[i] | 1369 cpu_to_be64(wr->wr.fast_reg.page_list->page_list[i] |
1370 MLX4_MTT_FLAG_PRESENT); 1370 MLX4_MTT_FLAG_PRESENT);
1371 1371
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c
index 13d7674b293d..75223f50de58 100644
--- a/drivers/infiniband/ulp/iser/iscsi_iser.c
+++ b/drivers/infiniband/ulp/iser/iscsi_iser.c
@@ -599,6 +599,7 @@ static struct scsi_host_template iscsi_iser_sht = {
599 .eh_abort_handler = iscsi_eh_abort, 599 .eh_abort_handler = iscsi_eh_abort,
600 .eh_device_reset_handler= iscsi_eh_device_reset, 600 .eh_device_reset_handler= iscsi_eh_device_reset,
601 .eh_target_reset_handler= iscsi_eh_target_reset, 601 .eh_target_reset_handler= iscsi_eh_target_reset,
602 .target_alloc = iscsi_target_alloc,
602 .use_clustering = DISABLE_CLUSTERING, 603 .use_clustering = DISABLE_CLUSTERING,
603 .proc_name = "iscsi_iser", 604 .proc_name = "iscsi_iser",
604 .this_id = -1, 605 .this_id = -1,
diff --git a/drivers/input/ff-memless.c b/drivers/input/ff-memless.c
index bc4e40f3ede7..2d1415e16834 100644
--- a/drivers/input/ff-memless.c
+++ b/drivers/input/ff-memless.c
@@ -226,7 +226,7 @@ static int get_compatible_type(struct ff_device *ff, int effect_type)
226 */ 226 */
227static void ml_combine_effects(struct ff_effect *effect, 227static void ml_combine_effects(struct ff_effect *effect,
228 struct ml_effect_state *state, 228 struct ml_effect_state *state,
229 int gain) 229 unsigned int gain)
230{ 230{
231 struct ff_effect *new = state->effect; 231 struct ff_effect *new = state->effect;
232 unsigned int strong, weak, i; 232 unsigned int strong, weak, i;
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 935a1835de2d..e54e002665b0 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -29,6 +29,23 @@ MODULE_LICENSE("GPL");
29 29
30#define INPUT_DEVICES 256 30#define INPUT_DEVICES 256
31 31
32/*
33 * EV_ABS events which should not be cached are listed here.
34 */
35static unsigned int input_abs_bypass_init_data[] __initdata = {
36 ABS_MT_TOUCH_MAJOR,
37 ABS_MT_TOUCH_MINOR,
38 ABS_MT_WIDTH_MAJOR,
39 ABS_MT_WIDTH_MINOR,
40 ABS_MT_ORIENTATION,
41 ABS_MT_POSITION_X,
42 ABS_MT_POSITION_Y,
43 ABS_MT_TOOL_TYPE,
44 ABS_MT_BLOB_ID,
45 0
46};
47static unsigned long input_abs_bypass[BITS_TO_LONGS(ABS_CNT)];
48
32static LIST_HEAD(input_dev_list); 49static LIST_HEAD(input_dev_list);
33static LIST_HEAD(input_handler_list); 50static LIST_HEAD(input_handler_list);
34 51
@@ -161,6 +178,10 @@ static void input_handle_event(struct input_dev *dev,
161 disposition = INPUT_PASS_TO_HANDLERS; 178 disposition = INPUT_PASS_TO_HANDLERS;
162 } 179 }
163 break; 180 break;
181 case SYN_MT_REPORT:
182 dev->sync = 0;
183 disposition = INPUT_PASS_TO_HANDLERS;
184 break;
164 } 185 }
165 break; 186 break;
166 187
@@ -192,6 +213,11 @@ static void input_handle_event(struct input_dev *dev,
192 case EV_ABS: 213 case EV_ABS:
193 if (is_event_supported(code, dev->absbit, ABS_MAX)) { 214 if (is_event_supported(code, dev->absbit, ABS_MAX)) {
194 215
216 if (test_bit(code, input_abs_bypass)) {
217 disposition = INPUT_PASS_TO_HANDLERS;
218 break;
219 }
220
195 value = input_defuzz_abs_event(value, 221 value = input_defuzz_abs_event(value,
196 dev->abs[code], dev->absfuzz[code]); 222 dev->abs[code], dev->absfuzz[code]);
197 223
@@ -1634,10 +1660,20 @@ static const struct file_operations input_fops = {
1634 .open = input_open_file, 1660 .open = input_open_file,
1635}; 1661};
1636 1662
1663static void __init input_init_abs_bypass(void)
1664{
1665 const unsigned int *p;
1666
1667 for (p = input_abs_bypass_init_data; *p; p++)
1668 input_abs_bypass[BIT_WORD(*p)] |= BIT_MASK(*p);
1669}
1670
1637static int __init input_init(void) 1671static int __init input_init(void)
1638{ 1672{
1639 int err; 1673 int err;
1640 1674
1675 input_init_abs_bypass();
1676
1641 err = class_register(&input_class); 1677 err = class_register(&input_class);
1642 if (err) { 1678 if (err) {
1643 printk(KERN_ERR "input: unable to register input_dev class\n"); 1679 printk(KERN_ERR "input: unable to register input_dev class\n");
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index 4224f0112849..012a5e753991 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -843,7 +843,13 @@ static const struct input_device_id joydev_blacklist[] = {
843 INPUT_DEVICE_ID_MATCH_KEYBIT, 843 INPUT_DEVICE_ID_MATCH_KEYBIT,
844 .evbit = { BIT_MASK(EV_KEY) }, 844 .evbit = { BIT_MASK(EV_KEY) },
845 .keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) }, 845 .keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) },
846 }, /* Avoid itouchpads, touchscreens and tablets */ 846 }, /* Avoid itouchpads and touchscreens */
847 {
848 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
849 INPUT_DEVICE_ID_MATCH_KEYBIT,
850 .evbit = { BIT_MASK(EV_KEY) },
851 .keybit = { [BIT_WORD(BTN_DIGI)] = BIT_MASK(BTN_DIGI) },
852 }, /* Avoid tablets, digitisers and similar devices */
847 { } /* Terminating entry */ 853 { } /* Terminating entry */
848}; 854};
849 855
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 444dec07e5d8..df3f8aa68115 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -895,6 +895,13 @@ static unsigned int atkbd_amilo_pa1510_forced_release_keys[] = {
895}; 895};
896 896
897/* 897/*
898 * Amilo Xi 3650 key release for light touch bar not working
899 */
900static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = {
901 0x67, 0xed, 0x90, 0xa2, 0x99, 0xa4, 0xae, 0xb0, -1U
902};
903
904/*
898 * atkbd_set_keycode_table() initializes keyboard's keycode table 905 * atkbd_set_keycode_table() initializes keyboard's keycode table
899 * according to the selected scancode set 906 * according to the selected scancode set
900 */ 907 */
@@ -1560,6 +1567,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
1560 .callback = atkbd_setup_forced_release, 1567 .callback = atkbd_setup_forced_release,
1561 .driver_data = atkbd_amilo_pa1510_forced_release_keys, 1568 .driver_data = atkbd_amilo_pa1510_forced_release_keys,
1562 }, 1569 },
1570 {
1571 .ident = "Fujitsu Amilo Xi 3650",
1572 .matches = {
1573 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
1574 DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Xi 3650"),
1575 },
1576 .callback = atkbd_setup_forced_release,
1577 .driver_data = atkbd_amilo_xi3650_forced_release_keys,
1578 },
1563 { } 1579 { }
1564}; 1580};
1565 1581
diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c
index 058fa8b02c21..87ec7b18ac69 100644
--- a/drivers/input/keyboard/omap-keypad.c
+++ b/drivers/input/keyboard/omap-keypad.c
@@ -100,8 +100,20 @@ static irqreturn_t omap_kp_interrupt(int irq, void *dev_id)
100 /* disable keyboard interrupt and schedule for handling */ 100 /* disable keyboard interrupt and schedule for handling */
101 if (cpu_is_omap24xx()) { 101 if (cpu_is_omap24xx()) {
102 int i; 102 int i;
103 for (i = 0; i < omap_kp->rows; i++) 103
104 disable_irq(gpio_to_irq(row_gpios[i])); 104 for (i = 0; i < omap_kp->rows; i++) {
105 int gpio_irq = gpio_to_irq(row_gpios[i]);
106 /*
107 * The interrupt which we're currently handling should
108 * be disabled _nosync() to avoid deadlocks waiting
109 * for this handler to complete. All others should
110 * be disabled the regular way for SMP safety.
111 */
112 if (gpio_irq == irq)
113 disable_irq_nosync(gpio_irq);
114 else
115 disable_irq(gpio_irq);
116 }
105 } else 117 } else
106 /* disable keyboard interrupt and schedule for handling */ 118 /* disable keyboard interrupt and schedule for handling */
107 omap_writew(1, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); 119 omap_writew(1, OMAP_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT);
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index cbedf957cc58..daecc75c72e6 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -37,6 +37,7 @@
37#define ALPS_FW_BK_2 0x40 37#define ALPS_FW_BK_2 0x40
38 38
39static const struct alps_model_info alps_model_data[] = { 39static const struct alps_model_info alps_model_data[] = {
40 { { 0x32, 0x02, 0x14 }, 0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* Toshiba Salellite Pro M10 */
40 { { 0x33, 0x02, 0x0a }, 0x88, 0xf8, ALPS_OLDPROTO }, /* UMAX-530T */ 41 { { 0x33, 0x02, 0x0a }, 0x88, 0xf8, ALPS_OLDPROTO }, /* UMAX-530T */
41 { { 0x53, 0x02, 0x0a }, 0xf8, 0xf8, 0 }, 42 { { 0x53, 0x02, 0x0a }, 0xf8, 0xf8, 0 },
42 { { 0x53, 0x02, 0x14 }, 0xf8, 0xf8, 0 }, 43 { { 0x53, 0x02, 0x14 }, 0xf8, 0xf8, 0 },
diff --git a/drivers/input/mouse/appletouch.c b/drivers/input/mouse/appletouch.c
index 454b96112f03..e0140fdc02a5 100644
--- a/drivers/input/mouse/appletouch.c
+++ b/drivers/input/mouse/appletouch.c
@@ -255,15 +255,22 @@ MODULE_PARM_DESC(debug, "Activate debugging output");
255 */ 255 */
256static int atp_geyser_init(struct usb_device *udev) 256static int atp_geyser_init(struct usb_device *udev)
257{ 257{
258 char data[8]; 258 char *data;
259 int size; 259 int size;
260 int i; 260 int i;
261 int ret;
262
263 data = kmalloc(8, GFP_KERNEL);
264 if (!data) {
265 err("Out of memory");
266 return -ENOMEM;
267 }
261 268
262 size = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 269 size = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
263 ATP_GEYSER_MODE_READ_REQUEST_ID, 270 ATP_GEYSER_MODE_READ_REQUEST_ID,
264 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 271 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
265 ATP_GEYSER_MODE_REQUEST_VALUE, 272 ATP_GEYSER_MODE_REQUEST_VALUE,
266 ATP_GEYSER_MODE_REQUEST_INDEX, &data, 8, 5000); 273 ATP_GEYSER_MODE_REQUEST_INDEX, data, 8, 5000);
267 274
268 if (size != 8) { 275 if (size != 8) {
269 dprintk("atp_geyser_init: read error\n"); 276 dprintk("atp_geyser_init: read error\n");
@@ -271,7 +278,8 @@ static int atp_geyser_init(struct usb_device *udev)
271 dprintk("appletouch[%d]: %d\n", i, data[i]); 278 dprintk("appletouch[%d]: %d\n", i, data[i]);
272 279
273 err("Failed to read mode from device."); 280 err("Failed to read mode from device.");
274 return -EIO; 281 ret = -EIO;
282 goto out_free;
275 } 283 }
276 284
277 /* Apply the mode switch */ 285 /* Apply the mode switch */
@@ -281,7 +289,7 @@ static int atp_geyser_init(struct usb_device *udev)
281 ATP_GEYSER_MODE_WRITE_REQUEST_ID, 289 ATP_GEYSER_MODE_WRITE_REQUEST_ID,
282 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 290 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
283 ATP_GEYSER_MODE_REQUEST_VALUE, 291 ATP_GEYSER_MODE_REQUEST_VALUE,
284 ATP_GEYSER_MODE_REQUEST_INDEX, &data, 8, 5000); 292 ATP_GEYSER_MODE_REQUEST_INDEX, data, 8, 5000);
285 293
286 if (size != 8) { 294 if (size != 8) {
287 dprintk("atp_geyser_init: write error\n"); 295 dprintk("atp_geyser_init: write error\n");
@@ -289,9 +297,13 @@ static int atp_geyser_init(struct usb_device *udev)
289 dprintk("appletouch[%d]: %d\n", i, data[i]); 297 dprintk("appletouch[%d]: %d\n", i, data[i]);
290 298
291 err("Failed to request geyser raw mode"); 299 err("Failed to request geyser raw mode");
292 return -EIO; 300 ret = -EIO;
301 goto out_free;
293 } 302 }
294 return 0; 303 ret = 0;
304out_free:
305 kfree(data);
306 return ret;
295} 307}
296 308
297/* 309/*
diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
index 2998a6ac9ae4..2d8fc0bf6923 100644
--- a/drivers/input/mouse/bcm5974.c
+++ b/drivers/input/mouse/bcm5974.c
@@ -51,6 +51,10 @@
51#define USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI 0x0230 51#define USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI 0x0230
52#define USB_DEVICE_ID_APPLE_WELLSPRING2_ISO 0x0231 52#define USB_DEVICE_ID_APPLE_WELLSPRING2_ISO 0x0231
53#define USB_DEVICE_ID_APPLE_WELLSPRING2_JIS 0x0232 53#define USB_DEVICE_ID_APPLE_WELLSPRING2_JIS 0x0232
54/* Macbook5,1 (unibody), aka wellspring3 */
55#define USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI 0x0236
56#define USB_DEVICE_ID_APPLE_WELLSPRING3_ISO 0x0237
57#define USB_DEVICE_ID_APPLE_WELLSPRING3_JIS 0x0238
54 58
55#define BCM5974_DEVICE(prod) { \ 59#define BCM5974_DEVICE(prod) { \
56 .match_flags = (USB_DEVICE_ID_MATCH_DEVICE | \ 60 .match_flags = (USB_DEVICE_ID_MATCH_DEVICE | \
@@ -72,6 +76,10 @@ static const struct usb_device_id bcm5974_table[] = {
72 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI), 76 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI),
73 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_ISO), 77 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_ISO),
74 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_JIS), 78 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_JIS),
79 /* Macbook5,1 */
80 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI),
81 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ISO),
82 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_JIS),
75 /* Terminating entry */ 83 /* Terminating entry */
76 {} 84 {}
77}; 85};
@@ -96,14 +104,23 @@ struct bt_data {
96 u8 rel_y; /* relative y coordinate */ 104 u8 rel_y; /* relative y coordinate */
97}; 105};
98 106
99/* trackpad header structure */ 107/* trackpad header types */
100struct tp_header { 108enum tp_type {
101 u8 unknown1[16]; /* constants, timers, etc */ 109 TYPE1, /* plain trackpad */
102 u8 fingers; /* number of fingers on trackpad */ 110 TYPE2 /* button integrated in trackpad */
103 u8 unknown2[9]; /* constants, timers, etc */
104}; 111};
105 112
106/* trackpad finger structure */ 113/* trackpad finger data offsets, le16-aligned */
114#define FINGER_TYPE1 (13 * sizeof(__le16))
115#define FINGER_TYPE2 (15 * sizeof(__le16))
116
117/* trackpad button data offsets */
118#define BUTTON_TYPE2 15
119
120/* list of device capability bits */
121#define HAS_INTEGRATED_BUTTON 1
122
123/* trackpad finger structure, le16-aligned */
107struct tp_finger { 124struct tp_finger {
108 __le16 origin; /* zero when switching track finger */ 125 __le16 origin; /* zero when switching track finger */
109 __le16 abs_x; /* absolute x coodinate */ 126 __le16 abs_x; /* absolute x coodinate */
@@ -117,13 +134,11 @@ struct tp_finger {
117 __le16 force_minor; /* trackpad force, minor axis? */ 134 __le16 force_minor; /* trackpad force, minor axis? */
118 __le16 unused[3]; /* zeros */ 135 __le16 unused[3]; /* zeros */
119 __le16 multi; /* one finger: varies, more fingers: constant */ 136 __le16 multi; /* one finger: varies, more fingers: constant */
120}; 137} __attribute__((packed,aligned(2)));
121 138
122/* trackpad data structure, empirically at least ten fingers */ 139/* trackpad finger data size, empirically at least ten fingers */
123struct tp_data { 140#define SIZEOF_FINGER sizeof(struct tp_finger)
124 struct tp_header header; 141#define SIZEOF_ALL_FINGERS (16 * SIZEOF_FINGER)
125 struct tp_finger finger[16];
126};
127 142
128/* device-specific parameters */ 143/* device-specific parameters */
129struct bcm5974_param { 144struct bcm5974_param {
@@ -136,9 +151,12 @@ struct bcm5974_param {
136/* device-specific configuration */ 151/* device-specific configuration */
137struct bcm5974_config { 152struct bcm5974_config {
138 int ansi, iso, jis; /* the product id of this device */ 153 int ansi, iso, jis; /* the product id of this device */
154 int caps; /* device capability bitmask */
139 int bt_ep; /* the endpoint of the button interface */ 155 int bt_ep; /* the endpoint of the button interface */
140 int bt_datalen; /* data length of the button interface */ 156 int bt_datalen; /* data length of the button interface */
141 int tp_ep; /* the endpoint of the trackpad interface */ 157 int tp_ep; /* the endpoint of the trackpad interface */
158 enum tp_type tp_type; /* type of trackpad interface */
159 int tp_offset; /* offset to trackpad finger data */
142 int tp_datalen; /* data length of the trackpad interface */ 160 int tp_datalen; /* data length of the trackpad interface */
143 struct bcm5974_param p; /* finger pressure limits */ 161 struct bcm5974_param p; /* finger pressure limits */
144 struct bcm5974_param w; /* finger width limits */ 162 struct bcm5974_param w; /* finger width limits */
@@ -158,7 +176,7 @@ struct bcm5974 {
158 struct urb *bt_urb; /* button usb request block */ 176 struct urb *bt_urb; /* button usb request block */
159 struct bt_data *bt_data; /* button transferred data */ 177 struct bt_data *bt_data; /* button transferred data */
160 struct urb *tp_urb; /* trackpad usb request block */ 178 struct urb *tp_urb; /* trackpad usb request block */
161 struct tp_data *tp_data; /* trackpad transferred data */ 179 u8 *tp_data; /* trackpad transferred data */
162 int fingers; /* number of fingers on trackpad */ 180 int fingers; /* number of fingers on trackpad */
163}; 181};
164 182
@@ -183,8 +201,9 @@ static const struct bcm5974_config bcm5974_config_table[] = {
183 USB_DEVICE_ID_APPLE_WELLSPRING_ANSI, 201 USB_DEVICE_ID_APPLE_WELLSPRING_ANSI,
184 USB_DEVICE_ID_APPLE_WELLSPRING_ISO, 202 USB_DEVICE_ID_APPLE_WELLSPRING_ISO,
185 USB_DEVICE_ID_APPLE_WELLSPRING_JIS, 203 USB_DEVICE_ID_APPLE_WELLSPRING_JIS,
204 0,
186 0x84, sizeof(struct bt_data), 205 0x84, sizeof(struct bt_data),
187 0x81, sizeof(struct tp_data), 206 0x81, TYPE1, FINGER_TYPE1, FINGER_TYPE1 + SIZEOF_ALL_FINGERS,
188 { DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 256 }, 207 { DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 256 },
189 { DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 }, 208 { DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 },
190 { DIM_X, DIM_X / SN_COORD, -4824, 5342 }, 209 { DIM_X, DIM_X / SN_COORD, -4824, 5342 },
@@ -194,13 +213,26 @@ static const struct bcm5974_config bcm5974_config_table[] = {
194 USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI, 213 USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI,
195 USB_DEVICE_ID_APPLE_WELLSPRING2_ISO, 214 USB_DEVICE_ID_APPLE_WELLSPRING2_ISO,
196 USB_DEVICE_ID_APPLE_WELLSPRING2_JIS, 215 USB_DEVICE_ID_APPLE_WELLSPRING2_JIS,
216 0,
197 0x84, sizeof(struct bt_data), 217 0x84, sizeof(struct bt_data),
198 0x81, sizeof(struct tp_data), 218 0x81, TYPE1, FINGER_TYPE1, FINGER_TYPE1 + SIZEOF_ALL_FINGERS,
199 { DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 256 }, 219 { DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 256 },
200 { DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 }, 220 { DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 },
201 { DIM_X, DIM_X / SN_COORD, -4824, 4824 }, 221 { DIM_X, DIM_X / SN_COORD, -4824, 4824 },
202 { DIM_Y, DIM_Y / SN_COORD, -172, 4290 } 222 { DIM_Y, DIM_Y / SN_COORD, -172, 4290 }
203 }, 223 },
224 {
225 USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI,
226 USB_DEVICE_ID_APPLE_WELLSPRING3_ISO,
227 USB_DEVICE_ID_APPLE_WELLSPRING3_JIS,
228 HAS_INTEGRATED_BUTTON,
229 0x84, sizeof(struct bt_data),
230 0x81, TYPE2, FINGER_TYPE2, FINGER_TYPE2 + SIZEOF_ALL_FINGERS,
231 { DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 300 },
232 { DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 },
233 { DIM_X, DIM_X / SN_COORD, -4460, 5166 },
234 { DIM_Y, DIM_Y / SN_COORD, -75, 6700 }
235 },
204 {} 236 {}
205}; 237};
206 238
@@ -257,6 +289,7 @@ static void setup_events_to_report(struct input_dev *input_dev,
257 __set_bit(BTN_TOOL_FINGER, input_dev->keybit); 289 __set_bit(BTN_TOOL_FINGER, input_dev->keybit);
258 __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit); 290 __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
259 __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit); 291 __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
292 __set_bit(BTN_TOOL_QUADTAP, input_dev->keybit);
260 __set_bit(BTN_LEFT, input_dev->keybit); 293 __set_bit(BTN_LEFT, input_dev->keybit);
261} 294}
262 295
@@ -266,6 +299,11 @@ static int report_bt_state(struct bcm5974 *dev, int size)
266 if (size != sizeof(struct bt_data)) 299 if (size != sizeof(struct bt_data))
267 return -EIO; 300 return -EIO;
268 301
302 dprintk(7,
303 "bcm5974: button data: %x %x %x %x\n",
304 dev->bt_data->unknown1, dev->bt_data->button,
305 dev->bt_data->rel_x, dev->bt_data->rel_y);
306
269 input_report_key(dev->input, BTN_LEFT, dev->bt_data->button); 307 input_report_key(dev->input, BTN_LEFT, dev->bt_data->button);
270 input_sync(dev->input); 308 input_sync(dev->input);
271 309
@@ -276,29 +314,37 @@ static int report_bt_state(struct bcm5974 *dev, int size)
276static int report_tp_state(struct bcm5974 *dev, int size) 314static int report_tp_state(struct bcm5974 *dev, int size)
277{ 315{
278 const struct bcm5974_config *c = &dev->cfg; 316 const struct bcm5974_config *c = &dev->cfg;
279 const struct tp_finger *f = dev->tp_data->finger; 317 const struct tp_finger *f;
280 struct input_dev *input = dev->input; 318 struct input_dev *input = dev->input;
281 const int fingers = (size - 26) / 28; 319 int raw_p, raw_w, raw_x, raw_y, raw_n;
282 int raw_p, raw_w, raw_x, raw_y; 320 int ptest = 0, origin = 0, ibt = 0, nmin = 0, nmax = 0;
283 int ptest = 0, origin = 0, nmin = 0, nmax = 0;
284 int abs_p = 0, abs_w = 0, abs_x = 0, abs_y = 0; 321 int abs_p = 0, abs_w = 0, abs_x = 0, abs_y = 0;
285 322
286 if (size < 26 || (size - 26) % 28 != 0) 323 if (size < c->tp_offset || (size - c->tp_offset) % SIZEOF_FINGER != 0)
287 return -EIO; 324 return -EIO;
288 325
326 /* finger data, le16-aligned */
327 f = (const struct tp_finger *)(dev->tp_data + c->tp_offset);
328 raw_n = (size - c->tp_offset) / SIZEOF_FINGER;
329
289 /* always track the first finger; when detached, start over */ 330 /* always track the first finger; when detached, start over */
290 if (fingers) { 331 if (raw_n) {
291 raw_p = raw2int(f->force_major); 332 raw_p = raw2int(f->force_major);
292 raw_w = raw2int(f->size_major); 333 raw_w = raw2int(f->size_major);
293 raw_x = raw2int(f->abs_x); 334 raw_x = raw2int(f->abs_x);
294 raw_y = raw2int(f->abs_y); 335 raw_y = raw2int(f->abs_y);
295 336
296 dprintk(9, 337 dprintk(9,
297 "bcm5974: raw: p: %+05d w: %+05d x: %+05d y: %+05d\n", 338 "bcm5974: "
298 raw_p, raw_w, raw_x, raw_y); 339 "raw: p: %+05d w: %+05d x: %+05d y: %+05d n: %d\n",
340 raw_p, raw_w, raw_x, raw_y, raw_n);
299 341
300 ptest = int2bound(&c->p, raw_p); 342 ptest = int2bound(&c->p, raw_p);
301 origin = raw2int(f->origin); 343 origin = raw2int(f->origin);
344
345 /* set the integrated button if applicable */
346 if (c->tp_type == TYPE2)
347 ibt = raw2int(dev->tp_data[BUTTON_TYPE2]);
302 } 348 }
303 349
304 /* while tracking finger still valid, count all fingers */ 350 /* while tracking finger still valid, count all fingers */
@@ -307,12 +353,13 @@ static int report_tp_state(struct bcm5974 *dev, int size)
307 abs_w = int2bound(&c->w, raw_w); 353 abs_w = int2bound(&c->w, raw_w);
308 abs_x = int2bound(&c->x, raw_x - c->x.devmin); 354 abs_x = int2bound(&c->x, raw_x - c->x.devmin);
309 abs_y = int2bound(&c->y, c->y.devmax - raw_y); 355 abs_y = int2bound(&c->y, c->y.devmax - raw_y);
310 for (; f != dev->tp_data->finger + fingers; f++) { 356 while (raw_n--) {
311 ptest = int2bound(&c->p, raw2int(f->force_major)); 357 ptest = int2bound(&c->p, raw2int(f->force_major));
312 if (ptest > PRESSURE_LOW) 358 if (ptest > PRESSURE_LOW)
313 nmax++; 359 nmax++;
314 if (ptest > PRESSURE_HIGH) 360 if (ptest > PRESSURE_HIGH)
315 nmin++; 361 nmin++;
362 f++;
316 } 363 }
317 } 364 }
318 365
@@ -324,7 +371,8 @@ static int report_tp_state(struct bcm5974 *dev, int size)
324 input_report_key(input, BTN_TOUCH, dev->fingers > 0); 371 input_report_key(input, BTN_TOUCH, dev->fingers > 0);
325 input_report_key(input, BTN_TOOL_FINGER, dev->fingers == 1); 372 input_report_key(input, BTN_TOOL_FINGER, dev->fingers == 1);
326 input_report_key(input, BTN_TOOL_DOUBLETAP, dev->fingers == 2); 373 input_report_key(input, BTN_TOOL_DOUBLETAP, dev->fingers == 2);
327 input_report_key(input, BTN_TOOL_TRIPLETAP, dev->fingers > 2); 374 input_report_key(input, BTN_TOOL_TRIPLETAP, dev->fingers == 3);
375 input_report_key(input, BTN_TOOL_QUADTAP, dev->fingers > 3);
328 376
329 input_report_abs(input, ABS_PRESSURE, abs_p); 377 input_report_abs(input, ABS_PRESSURE, abs_p);
330 input_report_abs(input, ABS_TOOL_WIDTH, abs_w); 378 input_report_abs(input, ABS_TOOL_WIDTH, abs_w);
@@ -335,11 +383,15 @@ static int report_tp_state(struct bcm5974 *dev, int size)
335 383
336 dprintk(8, 384 dprintk(8,
337 "bcm5974: abs: p: %+05d w: %+05d x: %+05d y: %+05d " 385 "bcm5974: abs: p: %+05d w: %+05d x: %+05d y: %+05d "
338 "nmin: %d nmax: %d n: %d\n", 386 "nmin: %d nmax: %d n: %d ibt: %d\n", abs_p, abs_w,
339 abs_p, abs_w, abs_x, abs_y, nmin, nmax, dev->fingers); 387 abs_x, abs_y, nmin, nmax, dev->fingers, ibt);
340 388
341 } 389 }
342 390
391 /* type 2 reports button events via ibt only */
392 if (c->tp_type == TYPE2)
393 input_report_key(input, BTN_LEFT, ibt);
394
343 input_sync(input); 395 input_sync(input);
344 396
345 return 0; 397 return 0;
@@ -649,6 +701,8 @@ static int bcm5974_probe(struct usb_interface *iface,
649 input_dev->name = "bcm5974"; 701 input_dev->name = "bcm5974";
650 input_dev->phys = dev->phys; 702 input_dev->phys = dev->phys;
651 usb_to_input_id(dev->udev, &input_dev->id); 703 usb_to_input_id(dev->udev, &input_dev->id);
704 /* report driver capabilities via the version field */
705 input_dev->id.version = cfg->caps;
652 input_dev->dev.parent = &iface->dev; 706 input_dev->dev.parent = &iface->dev;
653 707
654 input_set_drvdata(input_dev, dev); 708 input_set_drvdata(input_dev, dev);
diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
index 6ab0eb1ada1c..4bc78892ba91 100644
--- a/drivers/input/mouse/elantech.c
+++ b/drivers/input/mouse/elantech.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Elantech Touchpad driver (v5) 2 * Elantech Touchpad driver (v6)
3 * 3 *
4 * Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net> 4 * Copyright (C) 2007-2009 Arjan Opmeer <arjan@opmeer.net>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 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 7 * under the terms of the GNU General Public License version 2 as published
@@ -178,6 +178,7 @@ static void elantech_report_absolute_v1(struct psmouse *psmouse)
178 struct elantech_data *etd = psmouse->private; 178 struct elantech_data *etd = psmouse->private;
179 unsigned char *packet = psmouse->packet; 179 unsigned char *packet = psmouse->packet;
180 int fingers; 180 int fingers;
181 static int old_fingers;
181 182
182 if (etd->fw_version_maj == 0x01) { 183 if (etd->fw_version_maj == 0x01) {
183 /* byte 0: D U p1 p2 1 p3 R L 184 /* byte 0: D U p1 p2 1 p3 R L
@@ -190,6 +191,14 @@ static void elantech_report_absolute_v1(struct psmouse *psmouse)
190 fingers = (packet[0] & 0xc0) >> 6; 191 fingers = (packet[0] & 0xc0) >> 6;
191 } 192 }
192 193
194 if (etd->jumpy_cursor) {
195 /* Discard packets that are likely to have bogus coordinates */
196 if (fingers > old_fingers) {
197 elantech_debug("elantech.c: discarding packet\n");
198 goto discard_packet_v1;
199 }
200 }
201
193 input_report_key(dev, BTN_TOUCH, fingers != 0); 202 input_report_key(dev, BTN_TOUCH, fingers != 0);
194 203
195 /* byte 2: x7 x6 x5 x4 x3 x2 x1 x0 204 /* byte 2: x7 x6 x5 x4 x3 x2 x1 x0
@@ -216,6 +225,9 @@ static void elantech_report_absolute_v1(struct psmouse *psmouse)
216 } 225 }
217 226
218 input_sync(dev); 227 input_sync(dev);
228
229 discard_packet_v1:
230 old_fingers = fingers;
219} 231}
220 232
221/* 233/*
@@ -363,9 +375,14 @@ static int elantech_set_absolute_mode(struct psmouse *psmouse)
363 rc = -1; 375 rc = -1;
364 break; 376 break;
365 } 377 }
378 }
379
380 if (rc == 0) {
366 /* 381 /*
367 * Read back reg 0x10. The touchpad is probably initalising 382 * Read back reg 0x10. For hardware version 1 we must make
368 * and not ready until we read back the value we just wrote. 383 * sure the absolute mode bit is set. For hardware version 2
384 * the touchpad is probably initalising and not ready until
385 * we read back the value we just wrote.
369 */ 386 */
370 do { 387 do {
371 rc = elantech_read_reg(psmouse, 0x10, &val); 388 rc = elantech_read_reg(psmouse, 0x10, &val);
@@ -373,12 +390,18 @@ static int elantech_set_absolute_mode(struct psmouse *psmouse)
373 break; 390 break;
374 tries--; 391 tries--;
375 elantech_debug("elantech.c: retrying read (%d).\n", 392 elantech_debug("elantech.c: retrying read (%d).\n",
376 tries); 393 tries);
377 msleep(ETP_READ_BACK_DELAY); 394 msleep(ETP_READ_BACK_DELAY);
378 } while (tries > 0); 395 } while (tries > 0);
379 if (rc) 396
397 if (rc) {
380 pr_err("elantech.c: failed to read back register 0x10.\n"); 398 pr_err("elantech.c: failed to read back register 0x10.\n");
381 break; 399 } else if (etd->hw_version == 1 &&
400 !(val & ETP_R10_ABSOLUTE_MODE)) {
401 pr_err("elantech.c: touchpad refuses "
402 "to switch to absolute mode.\n");
403 rc = -1;
404 }
382 } 405 }
383 406
384 if (rc) 407 if (rc)
@@ -662,6 +685,17 @@ int elantech_init(struct psmouse *psmouse)
662 param[0], param[1], param[2]); 685 param[0], param[1], param[2]);
663 etd->capabilities = param[0]; 686 etd->capabilities = param[0];
664 687
688 /*
689 * This firmware seems to suffer from misreporting coordinates when
690 * a touch action starts causing the mouse cursor or scrolled page
691 * to jump. Enable a workaround.
692 */
693 if (etd->fw_version_maj == 0x02 && etd->fw_version_min == 0x22) {
694 pr_info("elantech.c: firmware version 2.34 detected, "
695 "enabling jumpy cursor workaround\n");
696 etd->jumpy_cursor = 1;
697 }
698
665 if (elantech_set_absolute_mode(psmouse)) { 699 if (elantech_set_absolute_mode(psmouse)) {
666 pr_err("elantech.c: failed to put touchpad into absolute mode.\n"); 700 pr_err("elantech.c: failed to put touchpad into absolute mode.\n");
667 goto init_fail; 701 goto init_fail;
diff --git a/drivers/input/mouse/elantech.h b/drivers/input/mouse/elantech.h
index bee282b540bc..ed848cc80814 100644
--- a/drivers/input/mouse/elantech.h
+++ b/drivers/input/mouse/elantech.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Elantech Touchpad driver (v5) 2 * Elantech Touchpad driver (v6)
3 * 3 *
4 * Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net> 4 * Copyright (C) 2007-2009 Arjan Opmeer <arjan@opmeer.net>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 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 7 * under the terms of the GNU General Public License version 2 as published
@@ -104,6 +104,7 @@ struct elantech_data {
104 unsigned char fw_version_min; 104 unsigned char fw_version_min;
105 unsigned char hw_version; 105 unsigned char hw_version;
106 unsigned char paritycheck; 106 unsigned char paritycheck;
107 unsigned char jumpy_cursor;
107 unsigned char parity[256]; 108 unsigned char parity[256];
108}; 109};
109 110
diff --git a/drivers/input/mouse/lifebook.c b/drivers/input/mouse/lifebook.c
index df81b0aaa9f8..15ac3205ac05 100644
--- a/drivers/input/mouse/lifebook.c
+++ b/drivers/input/mouse/lifebook.c
@@ -61,6 +61,12 @@ static const struct dmi_system_id lifebook_dmi_table[] = {
61 }, 61 },
62 }, 62 },
63 { 63 {
64 .ident = "Lifebook B-2130",
65 .matches = {
66 DMI_MATCH(DMI_BOARD_NAME, "ZEPHYR"),
67 },
68 },
69 {
64 .ident = "Lifebook B213x/B2150", 70 .ident = "Lifebook B213x/B2150",
65 .matches = { 71 .matches = {
66 DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B2131/B2133/B2150"), 72 DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B2131/B2133/B2150"),
diff --git a/drivers/input/serio/sa1111ps2.c b/drivers/input/serio/sa1111ps2.c
index 57953c0eb82f..f412c69478a8 100644
--- a/drivers/input/serio/sa1111ps2.c
+++ b/drivers/input/serio/sa1111ps2.c
@@ -77,7 +77,7 @@ static irqreturn_t ps2_txint(int irq, void *dev_id)
77 spin_lock(&ps2if->lock); 77 spin_lock(&ps2if->lock);
78 status = sa1111_readl(ps2if->base + SA1111_PS2STAT); 78 status = sa1111_readl(ps2if->base + SA1111_PS2STAT);
79 if (ps2if->head == ps2if->tail) { 79 if (ps2if->head == ps2if->tail) {
80 disable_irq(irq); 80 disable_irq_nosync(irq);
81 /* done */ 81 /* done */
82 } else if (status & PS2STAT_TXE) { 82 } else if (status & PS2STAT_TXE) {
83 sa1111_writel(ps2if->buf[ps2if->tail], ps2if->base + SA1111_PS2DATA); 83 sa1111_writel(ps2if->buf[ps2if->tail], ps2if->base + SA1111_PS2DATA);
diff --git a/drivers/input/tablet/wacom.h b/drivers/input/tablet/wacom.h
index 677680e9f54f..9710bfd49cf9 100644
--- a/drivers/input/tablet/wacom.h
+++ b/drivers/input/tablet/wacom.h
@@ -11,7 +11,7 @@
11 * Copyright (c) 2000 Daniel Egger <egger@suse.de> 11 * Copyright (c) 2000 Daniel Egger <egger@suse.de>
12 * Copyright (c) 2001 Frederic Lepied <flepied@mandrakesoft.com> 12 * Copyright (c) 2001 Frederic Lepied <flepied@mandrakesoft.com>
13 * Copyright (c) 2004 Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be> 13 * Copyright (c) 2004 Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be>
14 * Copyright (c) 2002-2008 Ping Cheng <pingc@wacom.com> 14 * Copyright (c) 2002-2009 Ping Cheng <pingc@wacom.com>
15 * 15 *
16 * ChangeLog: 16 * ChangeLog:
17 * v0.1 (vp) - Initial release 17 * v0.1 (vp) - Initial release
@@ -67,6 +67,7 @@
67 * v1.47 (pc) - Added support for Bamboo 67 * v1.47 (pc) - Added support for Bamboo
68 * v1.48 (pc) - Added support for Bamboo1, BambooFun, and Cintiq 12WX 68 * v1.48 (pc) - Added support for Bamboo1, BambooFun, and Cintiq 12WX
69 * v1.49 (pc) - Added support for USB Tablet PC (0x90, 0x93, and 0x9A) 69 * v1.49 (pc) - Added support for USB Tablet PC (0x90, 0x93, and 0x9A)
70 * v1.50 (pc) - Fixed a TabletPC touch bug in 2.6.28
70 */ 71 */
71 72
72/* 73/*
@@ -87,7 +88,7 @@
87/* 88/*
88 * Version Information 89 * Version Information
89 */ 90 */
90#define DRIVER_VERSION "v1.49" 91#define DRIVER_VERSION "v1.50"
91#define DRIVER_AUTHOR "Vojtech Pavlik <vojtech@ucw.cz>" 92#define DRIVER_AUTHOR "Vojtech Pavlik <vojtech@ucw.cz>"
92#define DRIVER_DESC "USB Wacom Graphire and Wacom Intuos tablet driver" 93#define DRIVER_DESC "USB Wacom Graphire and Wacom Intuos tablet driver"
93#define DRIVER_LICENSE "GPL" 94#define DRIVER_LICENSE "GPL"
diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
index 484496daa0f3..b8624f27abf9 100644
--- a/drivers/input/tablet/wacom_sys.c
+++ b/drivers/input/tablet/wacom_sys.c
@@ -289,6 +289,7 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi
289 5000); /* 5 secs */ 289 5000); /* 5 secs */
290 } while (result < 0 && limit++ < 5); 290 } while (result < 0 && limit++ < 5);
291 291
292 /* No need to parse the Descriptor. It isn't an error though */
292 if (result < 0) 293 if (result < 0)
293 goto out; 294 goto out;
294 295
@@ -368,9 +369,8 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi
368 } 369 }
369 } 370 }
370 371
371 result = 0;
372
373 out: 372 out:
373 result = 0;
374 kfree(report); 374 kfree(report);
375 return result; 375 return result;
376} 376}
@@ -425,6 +425,15 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
425 425
426 endpoint = &intf->cur_altsetting->endpoint[0].desc; 426 endpoint = &intf->cur_altsetting->endpoint[0].desc;
427 427
428 /* Initialize touch_x_max and touch_y_max in case it is not defined */
429 if (wacom_wac->features->type == TABLETPC) {
430 features->touch_x_max = 1023;
431 features->touch_y_max = 1023;
432 } else {
433 features->touch_x_max = 0;
434 features->touch_y_max = 0;
435 }
436
428 /* TabletPC need to retrieve the physical and logical maximum from report descriptor */ 437 /* TabletPC need to retrieve the physical and logical maximum from report descriptor */
429 if (wacom_wac->features->type == TABLETPC) { 438 if (wacom_wac->features->type == TABLETPC) {
430 if (usb_get_extra_descriptor(interface, HID_DEVICET_HID, &hid_desc)) { 439 if (usb_get_extra_descriptor(interface, HID_DEVICET_HID, &hid_desc)) {
diff --git a/drivers/input/touchscreen/tsc2007.c b/drivers/input/touchscreen/tsc2007.c
index 4ab070246892..948e167557f1 100644
--- a/drivers/input/touchscreen/tsc2007.c
+++ b/drivers/input/touchscreen/tsc2007.c
@@ -200,8 +200,9 @@ static int tsc2007_read_values(struct tsc2007 *tsc)
200static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle) 200static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle)
201{ 201{
202 struct tsc2007 *ts = container_of(handle, struct tsc2007, timer); 202 struct tsc2007 *ts = container_of(handle, struct tsc2007, timer);
203 unsigned long flags;
203 204
204 spin_lock_irq(&ts->lock); 205 spin_lock_irqsave(&ts->lock, flags);
205 206
206 if (unlikely(!ts->get_pendown_state() && ts->pendown)) { 207 if (unlikely(!ts->get_pendown_state() && ts->pendown)) {
207 struct input_dev *input = ts->input; 208 struct input_dev *input = ts->input;
@@ -222,7 +223,7 @@ static enum hrtimer_restart tsc2007_timer(struct hrtimer *handle)
222 tsc2007_send_event(ts); 223 tsc2007_send_event(ts);
223 } 224 }
224 225
225 spin_unlock_irq(&ts->lock); 226 spin_unlock_irqrestore(&ts->lock, flags);
226 227
227 return HRTIMER_NORESTART; 228 return HRTIMER_NORESTART;
228} 229}
@@ -235,7 +236,7 @@ static irqreturn_t tsc2007_irq(int irq, void *handle)
235 spin_lock_irqsave(&ts->lock, flags); 236 spin_lock_irqsave(&ts->lock, flags);
236 237
237 if (likely(ts->get_pendown_state())) { 238 if (likely(ts->get_pendown_state())) {
238 disable_irq(ts->irq); 239 disable_irq_nosync(ts->irq);
239 hrtimer_start(&ts->timer, ktime_set(0, TS_POLL_DELAY), 240 hrtimer_start(&ts->timer, ktime_set(0, TS_POLL_DELAY),
240 HRTIMER_MODE_REL); 241 HRTIMER_MODE_REL);
241 } 242 }
diff --git a/drivers/input/touchscreen/ucb1400_ts.c b/drivers/input/touchscreen/ucb1400_ts.c
index e868264fe799..f100c7f4c1db 100644
--- a/drivers/input/touchscreen/ucb1400_ts.c
+++ b/drivers/input/touchscreen/ucb1400_ts.c
@@ -256,7 +256,7 @@ static irqreturn_t ucb1400_hard_irq(int irqnr, void *devid)
256 struct ucb1400_ts *ucb = devid; 256 struct ucb1400_ts *ucb = devid;
257 257
258 if (irqnr == ucb->irq) { 258 if (irqnr == ucb->irq) {
259 disable_irq(ucb->irq); 259 disable_irq_nosync(ucb->irq);
260 ucb->irq_pending = 1; 260 ucb->irq_pending = 1;
261 wake_up(&ucb->ts_wait); 261 wake_up(&ucb->ts_wait);
262 return IRQ_HANDLED; 262 return IRQ_HANDLED;
diff --git a/drivers/isdn/capi/capifs.c b/drivers/isdn/capi/capifs.c
index b129409925af..bff72d81f263 100644
--- a/drivers/isdn/capi/capifs.c
+++ b/drivers/isdn/capi/capifs.c
@@ -75,15 +75,17 @@ static int capifs_remount(struct super_block *s, int *flags, char *data)
75 } 75 }
76 } 76 }
77 77
78 kfree(s->s_options); 78 mutex_lock(&s->s_root->d_inode->i_mutex);
79 s->s_options = new_opt;
80 79
80 replace_mount_options(s, new_opt);
81 config.setuid = setuid; 81 config.setuid = setuid;
82 config.setgid = setgid; 82 config.setgid = setgid;
83 config.uid = uid; 83 config.uid = uid;
84 config.gid = gid; 84 config.gid = gid;
85 config.mode = mode; 85 config.mode = mode;
86 86
87 mutex_unlock(&s->s_root->d_inode->i_mutex);
88
87 return 0; 89 return 0;
88} 90}
89 91
@@ -154,13 +156,16 @@ void capifs_new_ncci(unsigned int number, dev_t device)
154 if (!inode) 156 if (!inode)
155 return; 157 return;
156 inode->i_ino = number+2; 158 inode->i_ino = number+2;
159
160 dentry = get_node(number);
161
162 /* config contents is protected by root's i_mutex */
157 inode->i_uid = config.setuid ? config.uid : current_fsuid(); 163 inode->i_uid = config.setuid ? config.uid : current_fsuid();
158 inode->i_gid = config.setgid ? config.gid : current_fsgid(); 164 inode->i_gid = config.setgid ? config.gid : current_fsgid();
159 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; 165 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
160 init_special_inode(inode, S_IFCHR|config.mode, device); 166 init_special_inode(inode, S_IFCHR|config.mode, device);
161 //inode->i_op = &capifs_file_inode_operations; 167 //inode->i_op = &capifs_file_inode_operations;
162 168
163 dentry = get_node(number);
164 if (!IS_ERR(dentry) && !dentry->d_inode) 169 if (!IS_ERR(dentry) && !dentry->d_inode)
165 d_instantiate(dentry, inode); 170 d_instantiate(dentry, inode);
166 mutex_unlock(&capifs_root->d_inode->i_mutex); 171 mutex_unlock(&capifs_root->d_inode->i_mutex);
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
index 1fb91edc7de2..47c68bc75a17 100644
--- a/drivers/md/bitmap.c
+++ b/drivers/md/bitmap.c
@@ -986,6 +986,9 @@ static int bitmap_init_from_disk(struct bitmap *bitmap, sector_t start)
986 oldindex = index; 986 oldindex = index;
987 oldpage = page; 987 oldpage = page;
988 988
989 bitmap->filemap[bitmap->file_pages++] = page;
990 bitmap->last_page_size = count;
991
989 if (outofdate) { 992 if (outofdate) {
990 /* 993 /*
991 * if bitmap is out of date, dirty the 994 * if bitmap is out of date, dirty the
@@ -998,15 +1001,9 @@ static int bitmap_init_from_disk(struct bitmap *bitmap, sector_t start)
998 write_page(bitmap, page, 1); 1001 write_page(bitmap, page, 1);
999 1002
1000 ret = -EIO; 1003 ret = -EIO;
1001 if (bitmap->flags & BITMAP_WRITE_ERROR) { 1004 if (bitmap->flags & BITMAP_WRITE_ERROR)
1002 /* release, page not in filemap yet */
1003 put_page(page);
1004 goto err; 1005 goto err;
1005 }
1006 } 1006 }
1007
1008 bitmap->filemap[bitmap->file_pages++] = page;
1009 bitmap->last_page_size = count;
1010 } 1007 }
1011 paddr = kmap_atomic(page, KM_USER0); 1008 paddr = kmap_atomic(page, KM_USER0);
1012 if (bitmap->flags & BITMAP_HOSTENDIAN) 1009 if (bitmap->flags & BITMAP_HOSTENDIAN)
@@ -1016,9 +1013,11 @@ static int bitmap_init_from_disk(struct bitmap *bitmap, sector_t start)
1016 kunmap_atomic(paddr, KM_USER0); 1013 kunmap_atomic(paddr, KM_USER0);
1017 if (b) { 1014 if (b) {
1018 /* if the disk bit is set, set the memory bit */ 1015 /* if the disk bit is set, set the memory bit */
1019 bitmap_set_memory_bits(bitmap, i << CHUNK_BLOCK_SHIFT(bitmap), 1016 int needed = ((sector_t)(i+1) << (CHUNK_BLOCK_SHIFT(bitmap))
1020 ((i+1) << (CHUNK_BLOCK_SHIFT(bitmap)) >= start) 1017 >= start);
1021 ); 1018 bitmap_set_memory_bits(bitmap,
1019 (sector_t)i << CHUNK_BLOCK_SHIFT(bitmap),
1020 needed);
1022 bit_cnt++; 1021 bit_cnt++;
1023 set_page_attr(bitmap, page, BITMAP_PAGE_CLEAN); 1022 set_page_attr(bitmap, page, BITMAP_PAGE_CLEAN);
1024 } 1023 }
@@ -1154,8 +1153,9 @@ void bitmap_daemon_work(struct bitmap *bitmap)
1154 spin_lock_irqsave(&bitmap->lock, flags); 1153 spin_lock_irqsave(&bitmap->lock, flags);
1155 clear_page_attr(bitmap, page, BITMAP_PAGE_CLEAN); 1154 clear_page_attr(bitmap, page, BITMAP_PAGE_CLEAN);
1156 } 1155 }
1157 bmc = bitmap_get_counter(bitmap, j << CHUNK_BLOCK_SHIFT(bitmap), 1156 bmc = bitmap_get_counter(bitmap,
1158 &blocks, 0); 1157 (sector_t)j << CHUNK_BLOCK_SHIFT(bitmap),
1158 &blocks, 0);
1159 if (bmc) { 1159 if (bmc) {
1160/* 1160/*
1161 if (j < 100) printk("bitmap: j=%lu, *bmc = 0x%x\n", j, *bmc); 1161 if (j < 100) printk("bitmap: j=%lu, *bmc = 0x%x\n", j, *bmc);
@@ -1169,7 +1169,8 @@ void bitmap_daemon_work(struct bitmap *bitmap)
1169 } else if (*bmc == 1) { 1169 } else if (*bmc == 1) {
1170 /* we can clear the bit */ 1170 /* we can clear the bit */
1171 *bmc = 0; 1171 *bmc = 0;
1172 bitmap_count_page(bitmap, j << CHUNK_BLOCK_SHIFT(bitmap), 1172 bitmap_count_page(bitmap,
1173 (sector_t)j << CHUNK_BLOCK_SHIFT(bitmap),
1173 -1); 1174 -1);
1174 1175
1175 /* clear the bit */ 1176 /* clear the bit */
@@ -1514,7 +1515,7 @@ void bitmap_dirty_bits(struct bitmap *bitmap, unsigned long s, unsigned long e)
1514 unsigned long chunk; 1515 unsigned long chunk;
1515 1516
1516 for (chunk = s; chunk <= e; chunk++) { 1517 for (chunk = s; chunk <= e; chunk++) {
1517 sector_t sec = chunk << CHUNK_BLOCK_SHIFT(bitmap); 1518 sector_t sec = (sector_t)chunk << CHUNK_BLOCK_SHIFT(bitmap);
1518 bitmap_set_memory_bits(bitmap, sec, 1); 1519 bitmap_set_memory_bits(bitmap, sec, 1);
1519 bitmap_file_set_bit(bitmap, sec); 1520 bitmap_file_set_bit(bitmap, sec);
1520 } 1521 }
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 612343fdde94..fccc8343a250 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3066,11 +3066,8 @@ array_state_store(mddev_t *mddev, const char *buf, size_t len)
3066 } else 3066 } else
3067 err = -EBUSY; 3067 err = -EBUSY;
3068 spin_unlock_irq(&mddev->write_lock); 3068 spin_unlock_irq(&mddev->write_lock);
3069 } else { 3069 } else
3070 mddev->ro = 0; 3070 err = -EINVAL;
3071 mddev->recovery_cp = MaxSector;
3072 err = do_md_run(mddev);
3073 }
3074 break; 3071 break;
3075 case active: 3072 case active:
3076 if (mddev->pers) { 3073 if (mddev->pers) {
@@ -4297,6 +4294,7 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
4297{ 4294{
4298 int err = 0; 4295 int err = 0;
4299 struct gendisk *disk = mddev->gendisk; 4296 struct gendisk *disk = mddev->gendisk;
4297 mdk_rdev_t *rdev;
4300 4298
4301 if (atomic_read(&mddev->openers) > is_open) { 4299 if (atomic_read(&mddev->openers) > is_open) {
4302 printk("md: %s still in use.\n",mdname(mddev)); 4300 printk("md: %s still in use.\n",mdname(mddev));
@@ -4339,6 +4337,13 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
4339 /* tell userspace to handle 'inactive' */ 4337 /* tell userspace to handle 'inactive' */
4340 sysfs_notify_dirent(mddev->sysfs_state); 4338 sysfs_notify_dirent(mddev->sysfs_state);
4341 4339
4340 list_for_each_entry(rdev, &mddev->disks, same_set)
4341 if (rdev->raid_disk >= 0) {
4342 char nm[20];
4343 sprintf(nm, "rd%d", rdev->raid_disk);
4344 sysfs_remove_link(&mddev->kobj, nm);
4345 }
4346
4342 set_capacity(disk, 0); 4347 set_capacity(disk, 0);
4343 mddev->changed = 1; 4348 mddev->changed = 1;
4344 4349
@@ -4359,7 +4364,6 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
4359 * Free resources if final stop 4364 * Free resources if final stop
4360 */ 4365 */
4361 if (mode == 0) { 4366 if (mode == 0) {
4362 mdk_rdev_t *rdev;
4363 4367
4364 printk(KERN_INFO "md: %s stopped.\n", mdname(mddev)); 4368 printk(KERN_INFO "md: %s stopped.\n", mdname(mddev));
4365 4369
@@ -4371,13 +4375,6 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
4371 } 4375 }
4372 mddev->bitmap_offset = 0; 4376 mddev->bitmap_offset = 0;
4373 4377
4374 list_for_each_entry(rdev, &mddev->disks, same_set)
4375 if (rdev->raid_disk >= 0) {
4376 char nm[20];
4377 sprintf(nm, "rd%d", rdev->raid_disk);
4378 sysfs_remove_link(&mddev->kobj, nm);
4379 }
4380
4381 /* make sure all md_delayed_delete calls have finished */ 4378 /* make sure all md_delayed_delete calls have finished */
4382 flush_scheduled_work(); 4379 flush_scheduled_work();
4383 4380
@@ -5705,37 +5702,38 @@ static void status_unused(struct seq_file *seq)
5705 5702
5706static void status_resync(struct seq_file *seq, mddev_t * mddev) 5703static void status_resync(struct seq_file *seq, mddev_t * mddev)
5707{ 5704{
5708 sector_t max_blocks, resync, res; 5705 sector_t max_sectors, resync, res;
5709 unsigned long dt, db, rt; 5706 unsigned long dt, db;
5707 sector_t rt;
5710 int scale; 5708 int scale;
5711 unsigned int per_milli; 5709 unsigned int per_milli;
5712 5710
5713 resync = (mddev->curr_resync - atomic_read(&mddev->recovery_active))/2; 5711 resync = mddev->curr_resync - atomic_read(&mddev->recovery_active);
5714 5712
5715 if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) 5713 if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery))
5716 max_blocks = mddev->resync_max_sectors >> 1; 5714 max_sectors = mddev->resync_max_sectors;
5717 else 5715 else
5718 max_blocks = mddev->dev_sectors / 2; 5716 max_sectors = mddev->dev_sectors;
5719 5717
5720 /* 5718 /*
5721 * Should not happen. 5719 * Should not happen.
5722 */ 5720 */
5723 if (!max_blocks) { 5721 if (!max_sectors) {
5724 MD_BUG(); 5722 MD_BUG();
5725 return; 5723 return;
5726 } 5724 }
5727 /* Pick 'scale' such that (resync>>scale)*1000 will fit 5725 /* Pick 'scale' such that (resync>>scale)*1000 will fit
5728 * in a sector_t, and (max_blocks>>scale) will fit in a 5726 * in a sector_t, and (max_sectors>>scale) will fit in a
5729 * u32, as those are the requirements for sector_div. 5727 * u32, as those are the requirements for sector_div.
5730 * Thus 'scale' must be at least 10 5728 * Thus 'scale' must be at least 10
5731 */ 5729 */
5732 scale = 10; 5730 scale = 10;
5733 if (sizeof(sector_t) > sizeof(unsigned long)) { 5731 if (sizeof(sector_t) > sizeof(unsigned long)) {
5734 while ( max_blocks/2 > (1ULL<<(scale+32))) 5732 while ( max_sectors/2 > (1ULL<<(scale+32)))
5735 scale++; 5733 scale++;
5736 } 5734 }
5737 res = (resync>>scale)*1000; 5735 res = (resync>>scale)*1000;
5738 sector_div(res, (u32)((max_blocks>>scale)+1)); 5736 sector_div(res, (u32)((max_sectors>>scale)+1));
5739 5737
5740 per_milli = res; 5738 per_milli = res;
5741 { 5739 {
@@ -5756,25 +5754,35 @@ static void status_resync(struct seq_file *seq, mddev_t * mddev)
5756 (test_bit(MD_RECOVERY_SYNC, &mddev->recovery) ? 5754 (test_bit(MD_RECOVERY_SYNC, &mddev->recovery) ?
5757 "resync" : "recovery"))), 5755 "resync" : "recovery"))),
5758 per_milli/10, per_milli % 10, 5756 per_milli/10, per_milli % 10,
5759 (unsigned long long) resync, 5757 (unsigned long long) resync/2,
5760 (unsigned long long) max_blocks); 5758 (unsigned long long) max_sectors/2);
5761 5759
5762 /* 5760 /*
5763 * We do not want to overflow, so the order of operands and
5764 * the * 100 / 100 trick are important. We do a +1 to be
5765 * safe against division by zero. We only estimate anyway.
5766 *
5767 * dt: time from mark until now 5761 * dt: time from mark until now
5768 * db: blocks written from mark until now 5762 * db: blocks written from mark until now
5769 * rt: remaining time 5763 * rt: remaining time
5764 *
5765 * rt is a sector_t, so could be 32bit or 64bit.
5766 * So we divide before multiply in case it is 32bit and close
5767 * to the limit.
5768 * We scale the divisor (db) by 32 to avoid loosing precision
5769 * near the end of resync when the number of remaining sectors
5770 * is close to 'db'.
5771 * We then divide rt by 32 after multiplying by db to compensate.
5772 * The '+1' avoids division by zero if db is very small.
5770 */ 5773 */
5771 dt = ((jiffies - mddev->resync_mark) / HZ); 5774 dt = ((jiffies - mddev->resync_mark) / HZ);
5772 if (!dt) dt++; 5775 if (!dt) dt++;
5773 db = (mddev->curr_mark_cnt - atomic_read(&mddev->recovery_active)) 5776 db = (mddev->curr_mark_cnt - atomic_read(&mddev->recovery_active))
5774 - mddev->resync_mark_cnt; 5777 - mddev->resync_mark_cnt;
5775 rt = (dt * ((unsigned long)(max_blocks-resync) / (db/2/100+1)))/100;
5776 5778
5777 seq_printf(seq, " finish=%lu.%lumin", rt / 60, (rt % 60)/6); 5779 rt = max_sectors - resync; /* number of remaining sectors */
5780 sector_div(rt, db/32+1);
5781 rt *= dt;
5782 rt >>= 5;
5783
5784 seq_printf(seq, " finish=%lu.%lumin", (unsigned long)rt / 60,
5785 ((unsigned long)rt % 60)/6);
5778 5786
5779 seq_printf(seq, " speed=%ldK/sec", db/2/dt); 5787 seq_printf(seq, " speed=%ldK/sec", db/2/dt);
5780} 5788}
@@ -5965,7 +5973,7 @@ static int md_seq_show(struct seq_file *seq, void *v)
5965 return 0; 5973 return 0;
5966} 5974}
5967 5975
5968static struct seq_operations md_seq_ops = { 5976static const struct seq_operations md_seq_ops = {
5969 .start = md_seq_start, 5977 .start = md_seq_start,
5970 .next = md_seq_next, 5978 .next = md_seq_next,
5971 .stop = md_seq_stop, 5979 .stop = md_seq_stop,
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 81a54f17417e..499620afb44b 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -1809,17 +1809,17 @@ static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, i
1809 r10_bio->sector = sect; 1809 r10_bio->sector = sect;
1810 1810
1811 raid10_find_phys(conf, r10_bio); 1811 raid10_find_phys(conf, r10_bio);
1812 /* Need to check if this section will still be 1812
1813 /* Need to check if the array will still be
1813 * degraded 1814 * degraded
1814 */ 1815 */
1815 for (j=0; j<conf->copies;j++) { 1816 for (j=0; j<conf->raid_disks; j++)
1816 int d = r10_bio->devs[j].devnum; 1817 if (conf->mirrors[j].rdev == NULL ||
1817 if (conf->mirrors[d].rdev == NULL || 1818 test_bit(Faulty, &conf->mirrors[j].rdev->flags)) {
1818 test_bit(Faulty, &conf->mirrors[d].rdev->flags)) {
1819 still_degraded = 1; 1819 still_degraded = 1;
1820 break; 1820 break;
1821 } 1821 }
1822 } 1822
1823 must_sync = bitmap_start_sync(mddev->bitmap, sect, 1823 must_sync = bitmap_start_sync(mddev->bitmap, sect,
1824 &sync_blocks, still_degraded); 1824 &sync_blocks, still_degraded);
1825 1825
diff --git a/drivers/media/radio/radio-sf16fmi.c b/drivers/media/radio/radio-sf16fmi.c
index 1dba8f0832a0..5cf6c45b91fe 100644
--- a/drivers/media/radio/radio-sf16fmi.c
+++ b/drivers/media/radio/radio-sf16fmi.c
@@ -153,7 +153,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
153 mult = (fmi->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000; 153 mult = (fmi->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000;
154 v->rangelow = RSF16_MINFREQ / mult; 154 v->rangelow = RSF16_MINFREQ / mult;
155 v->rangehigh = RSF16_MAXFREQ / mult; 155 v->rangehigh = RSF16_MAXFREQ / mult;
156 v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_MODE_STEREO; 156 v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO;
157 v->capability = fmi->flags & V4L2_TUNER_CAP_LOW; 157 v->capability = fmi->flags & V4L2_TUNER_CAP_LOW;
158 v->audmode = V4L2_TUNER_MODE_STEREO; 158 v->audmode = V4L2_TUNER_MODE_STEREO;
159 v->signal = fmi_getsigstr(fmi); 159 v->signal = fmi_getsigstr(fmi);
diff --git a/drivers/media/radio/radio-sf16fmr2.c b/drivers/media/radio/radio-sf16fmr2.c
index c09ca8600ea1..935ff9bcdfcc 100644
--- a/drivers/media/radio/radio-sf16fmr2.c
+++ b/drivers/media/radio/radio-sf16fmr2.c
@@ -233,7 +233,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
233 mult = (fmr2->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000; 233 mult = (fmr2->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000;
234 v->rangelow = RSF16_MINFREQ / mult; 234 v->rangelow = RSF16_MINFREQ / mult;
235 v->rangehigh = RSF16_MAXFREQ / mult; 235 v->rangehigh = RSF16_MAXFREQ / mult;
236 v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_MODE_STEREO; 236 v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO;
237 v->capability = fmr2->flags&V4L2_TUNER_CAP_LOW; 237 v->capability = fmr2->flags&V4L2_TUNER_CAP_LOW;
238 v->audmode = fmr2->stereo ? V4L2_TUNER_MODE_STEREO: 238 v->audmode = fmr2->stereo ? V4L2_TUNER_MODE_STEREO:
239 V4L2_TUNER_MODE_MONO; 239 V4L2_TUNER_MODE_MONO;
diff --git a/drivers/media/video/cafe_ccic.c b/drivers/media/video/cafe_ccic.c
index 5f582726985d..c4d181dde1ca 100644
--- a/drivers/media/video/cafe_ccic.c
+++ b/drivers/media/video/cafe_ccic.c
@@ -774,6 +774,7 @@ static int cafe_cam_init(struct cafe_camera *cam)
774 ret = __cafe_cam_reset(cam); 774 ret = __cafe_cam_reset(cam);
775 if (ret) 775 if (ret)
776 goto out; 776 goto out;
777 chip.ident = V4L2_IDENT_NONE;
777 chip.match.type = V4L2_CHIP_MATCH_I2C_ADDR; 778 chip.match.type = V4L2_CHIP_MATCH_I2C_ADDR;
778 chip.match.addr = cam->sensor_addr; 779 chip.match.addr = cam->sensor_addr;
779 ret = sensor_call(cam, core, g_chip_ident, &chip); 780 ret = sensor_call(cam, core, g_chip_ident, &chip);
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index 0c49a98213c4..1dc070da8652 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -472,7 +472,7 @@ static int dvb_register(struct cx23885_tsport *port)
472 static struct xc2028_ctrl ctl = { 472 static struct xc2028_ctrl ctl = {
473 .fname = XC2028_DEFAULT_FIRMWARE, 473 .fname = XC2028_DEFAULT_FIRMWARE,
474 .max_len = 64, 474 .max_len = 64,
475 .scode_table = XC3028_FE_OREN538, 475 .demod = XC3028_FE_OREN538,
476 }; 476 };
477 477
478 fe = dvb_attach(xc2028_attach, 478 fe = dvb_attach(xc2028_attach,
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c
index b0195e8ee4d1..db2ac9a99acd 100644
--- a/drivers/media/video/ivtv/ivtv-driver.c
+++ b/drivers/media/video/ivtv/ivtv-driver.c
@@ -305,14 +305,17 @@ int ivtv_waitq(wait_queue_head_t *waitq)
305/* Generic utility functions */ 305/* Generic utility functions */
306int ivtv_msleep_timeout(unsigned int msecs, int intr) 306int ivtv_msleep_timeout(unsigned int msecs, int intr)
307{ 307{
308 int ret;
309 int timeout = msecs_to_jiffies(msecs); 308 int timeout = msecs_to_jiffies(msecs);
310 309
311 do { 310 do {
312 set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); 311 set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
313 timeout = schedule_timeout(timeout); 312 timeout = schedule_timeout(timeout);
314 if (intr && (ret = signal_pending(current))) 313 if (intr) {
315 return ret; 314 int ret = signal_pending(current);
315
316 if (ret)
317 return ret;
318 }
316 } while (timeout); 319 } while (timeout);
317 return 0; 320 return 0;
318} 321}
diff --git a/drivers/media/video/ivtv/ivtv-gpio.c b/drivers/media/video/ivtv/ivtv-gpio.c
index ceb05bdcaf62..85ac707228e7 100644
--- a/drivers/media/video/ivtv/ivtv-gpio.c
+++ b/drivers/media/video/ivtv/ivtv-gpio.c
@@ -190,8 +190,8 @@ static int subdev_g_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *vt)
190 190
191 mask = itv->card->gpio_audio_detect.mask; 191 mask = itv->card->gpio_audio_detect.mask;
192 if (mask == 0 || (read_reg(IVTV_REG_GPIO_IN) & mask)) 192 if (mask == 0 || (read_reg(IVTV_REG_GPIO_IN) & mask))
193 vt->rxsubchans = V4L2_TUNER_MODE_STEREO | 193 vt->rxsubchans = V4L2_TUNER_SUB_STEREO |
194 V4L2_TUNER_MODE_LANG1 | V4L2_TUNER_MODE_LANG2; 194 V4L2_TUNER_SUB_LANG1 | V4L2_TUNER_SUB_LANG2;
195 else 195 else
196 vt->rxsubchans = V4L2_TUNER_SUB_MONO; 196 vt->rxsubchans = V4L2_TUNER_SUB_MONO;
197 return 0; 197 return 0;
diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c b/drivers/media/video/ivtv/ivtv-ioctl.c
index 4a2d464f055e..c342a9fe983e 100644
--- a/drivers/media/video/ivtv/ivtv-ioctl.c
+++ b/drivers/media/video/ivtv/ivtv-ioctl.c
@@ -180,7 +180,7 @@ int ivtv_set_speed(struct ivtv *itv, int speed)
180 180
181 /* Wait for any DMA to finish */ 181 /* Wait for any DMA to finish */
182 prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); 182 prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE);
183 while (itv->i_flags & IVTV_F_I_DMA) { 183 while (test_bit(IVTV_F_I_DMA, &itv->i_flags)) {
184 got_sig = signal_pending(current); 184 got_sig = signal_pending(current);
185 if (got_sig) 185 if (got_sig)
186 break; 186 break;
@@ -1710,7 +1710,8 @@ static int ivtv_decoder_ioctls(struct file *filp, unsigned int cmd, void *arg)
1710 we are waiting unlock first and later lock again. */ 1710 we are waiting unlock first and later lock again. */
1711 mutex_unlock(&itv->serialize_lock); 1711 mutex_unlock(&itv->serialize_lock);
1712 prepare_to_wait(&itv->event_waitq, &wait, TASK_INTERRUPTIBLE); 1712 prepare_to_wait(&itv->event_waitq, &wait, TASK_INTERRUPTIBLE);
1713 if ((itv->i_flags & (IVTV_F_I_EV_DEC_STOPPED|IVTV_F_I_EV_VSYNC)) == 0) 1713 if (!test_bit(IVTV_F_I_EV_DEC_STOPPED, &itv->i_flags) &&
1714 !test_bit(IVTV_F_I_EV_VSYNC, &itv->i_flags))
1714 schedule(); 1715 schedule();
1715 finish_wait(&itv->event_waitq, &wait); 1716 finish_wait(&itv->event_waitq, &wait);
1716 mutex_lock(&itv->serialize_lock); 1717 mutex_lock(&itv->serialize_lock);
diff --git a/drivers/media/video/ivtv/ivtv-irq.c b/drivers/media/video/ivtv/ivtv-irq.c
index 01c14d2b381a..cd9db0bf33bf 100644
--- a/drivers/media/video/ivtv/ivtv-irq.c
+++ b/drivers/media/video/ivtv/ivtv-irq.c
@@ -196,7 +196,7 @@ static int stream_enc_dma_append(struct ivtv_stream *s, u32 data[CX2341X_MBOX_MA
196 bytes_needed, s->name); 196 bytes_needed, s->name);
197 return -1; 197 return -1;
198 } 198 }
199 if (rc && !s->buffers_stolen && (s->s_flags & IVTV_F_S_APPL_IO)) { 199 if (rc && !s->buffers_stolen && test_bit(IVTV_F_S_APPL_IO, &s->s_flags)) {
200 IVTV_WARN("All %s stream buffers are full. Dropping data.\n", s->name); 200 IVTV_WARN("All %s stream buffers are full. Dropping data.\n", s->name);
201 IVTV_WARN("Cause: the application is not reading fast enough.\n"); 201 IVTV_WARN("Cause: the application is not reading fast enough.\n");
202 } 202 }
diff --git a/drivers/media/video/ivtv/ivtv-yuv.c b/drivers/media/video/ivtv/ivtv-yuv.c
index 7912ed6b72ee..c0875378acc2 100644
--- a/drivers/media/video/ivtv/ivtv-yuv.c
+++ b/drivers/media/video/ivtv/ivtv-yuv.c
@@ -1063,7 +1063,8 @@ static int ivtv_yuv_udma_frame(struct ivtv *itv, struct ivtv_dma_frame *args)
1063 prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); 1063 prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE);
1064 /* if no UDMA is pending and no UDMA is in progress, then the DMA 1064 /* if no UDMA is pending and no UDMA is in progress, then the DMA
1065 is finished */ 1065 is finished */
1066 while (itv->i_flags & (IVTV_F_I_UDMA_PENDING | IVTV_F_I_UDMA)) { 1066 while (test_bit(IVTV_F_I_UDMA_PENDING, &itv->i_flags) ||
1067 test_bit(IVTV_F_I_UDMA, &itv->i_flags)) {
1067 /* don't interrupt if the DMA is in progress but break off 1068 /* don't interrupt if the DMA is in progress but break off
1068 a still pending DMA. */ 1069 a still pending DMA. */
1069 got_sig = signal_pending(current); 1070 got_sig = signal_pending(current);
diff --git a/drivers/media/video/ivtv/ivtvfb.c b/drivers/media/video/ivtv/ivtvfb.c
index 66e6eb513076..fa6bb85cb4b0 100644
--- a/drivers/media/video/ivtv/ivtvfb.c
+++ b/drivers/media/video/ivtv/ivtvfb.c
@@ -298,7 +298,8 @@ static int ivtvfb_prep_dec_dma_to_device(struct ivtv *itv,
298 prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE); 298 prepare_to_wait(&itv->dma_waitq, &wait, TASK_INTERRUPTIBLE);
299 /* if no UDMA is pending and no UDMA is in progress, then the DMA 299 /* if no UDMA is pending and no UDMA is in progress, then the DMA
300 is finished */ 300 is finished */
301 while (itv->i_flags & (IVTV_F_I_UDMA_PENDING | IVTV_F_I_UDMA)) { 301 while (test_bit(IVTV_F_I_UDMA_PENDING, &itv->i_flags) ||
302 test_bit(IVTV_F_I_UDMA, &itv->i_flags)) {
302 /* don't interrupt if the DMA is in progress but break off 303 /* don't interrupt if the DMA is in progress but break off
303 a still pending DMA. */ 304 a still pending DMA. */
304 got_sig = signal_pending(current); 305 got_sig = signal_pending(current);
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
index 399412d7f020..507dc85646b2 100644
--- a/drivers/media/video/uvc/uvc_driver.c
+++ b/drivers/media/video/uvc/uvc_driver.c
@@ -1726,14 +1726,17 @@ static int uvc_suspend(struct usb_interface *intf, pm_message_t message)
1726static int __uvc_resume(struct usb_interface *intf, int reset) 1726static int __uvc_resume(struct usb_interface *intf, int reset)
1727{ 1727{
1728 struct uvc_device *dev = usb_get_intfdata(intf); 1728 struct uvc_device *dev = usb_get_intfdata(intf);
1729 int ret;
1730 1729
1731 uvc_trace(UVC_TRACE_SUSPEND, "Resuming interface %u\n", 1730 uvc_trace(UVC_TRACE_SUSPEND, "Resuming interface %u\n",
1732 intf->cur_altsetting->desc.bInterfaceNumber); 1731 intf->cur_altsetting->desc.bInterfaceNumber);
1733 1732
1734 if (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOCONTROL) { 1733 if (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOCONTROL) {
1735 if (reset && (ret = uvc_ctrl_resume_device(dev)) < 0) 1734 if (reset) {
1736 return ret; 1735 int ret = uvc_ctrl_resume_device(dev);
1736
1737 if (ret < 0)
1738 return ret;
1739 }
1737 1740
1738 return uvc_status_resume(dev); 1741 return uvc_status_resume(dev);
1739 } 1742 }
diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
index a95e17329c5b..6ce974d7362f 100644
--- a/drivers/media/video/uvc/uvc_video.c
+++ b/drivers/media/video/uvc/uvc_video.c
@@ -742,7 +742,7 @@ static int uvc_alloc_urb_buffers(struct uvc_video_device *video,
742 742
743 /* Buffers are already allocated, bail out. */ 743 /* Buffers are already allocated, bail out. */
744 if (video->urb_size) 744 if (video->urb_size)
745 return 0; 745 return video->urb_size / psize;
746 746
747 /* Compute the number of packets. Bulk endpoints might transfer UVC 747 /* Compute the number of packets. Bulk endpoints might transfer UVC
748 * payloads accross multiple URBs. 748 * payloads accross multiple URBs.
diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index 88f10d6cbc92..be64a502ea27 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -42,6 +42,12 @@
42 printk(KERN_DEBUG "%s: " fmt, vfd->name, ## arg);\ 42 printk(KERN_DEBUG "%s: " fmt, vfd->name, ## arg);\
43 } while (0) 43 } while (0)
44 44
45/* Zero out the end of the struct pointed to by p. Everthing after, but
46 * not including, the specified field is cleared. */
47#define CLEAR_AFTER_FIELD(p, field) \
48 memset((u8 *)(p) + offsetof(typeof(*(p)), field) + sizeof((p)->field), \
49 0, sizeof(*(p)) - offsetof(typeof(*(p)), field) - sizeof((p)->field))
50
45struct std_descr { 51struct std_descr {
46 v4l2_std_id std; 52 v4l2_std_id std;
47 const char *descr; 53 const char *descr;
@@ -544,39 +550,39 @@ static int check_fmt(const struct v4l2_ioctl_ops *ops, enum v4l2_buf_type type)
544 550
545 switch (type) { 551 switch (type) {
546 case V4L2_BUF_TYPE_VIDEO_CAPTURE: 552 case V4L2_BUF_TYPE_VIDEO_CAPTURE:
547 if (ops->vidioc_try_fmt_vid_cap) 553 if (ops->vidioc_g_fmt_vid_cap)
548 return 0; 554 return 0;
549 break; 555 break;
550 case V4L2_BUF_TYPE_VIDEO_OVERLAY: 556 case V4L2_BUF_TYPE_VIDEO_OVERLAY:
551 if (ops->vidioc_try_fmt_vid_overlay) 557 if (ops->vidioc_g_fmt_vid_overlay)
552 return 0; 558 return 0;
553 break; 559 break;
554 case V4L2_BUF_TYPE_VIDEO_OUTPUT: 560 case V4L2_BUF_TYPE_VIDEO_OUTPUT:
555 if (ops->vidioc_try_fmt_vid_out) 561 if (ops->vidioc_g_fmt_vid_out)
556 return 0; 562 return 0;
557 break; 563 break;
558 case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: 564 case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
559 if (ops->vidioc_try_fmt_vid_out_overlay) 565 if (ops->vidioc_g_fmt_vid_out_overlay)
560 return 0; 566 return 0;
561 break; 567 break;
562 case V4L2_BUF_TYPE_VBI_CAPTURE: 568 case V4L2_BUF_TYPE_VBI_CAPTURE:
563 if (ops->vidioc_try_fmt_vbi_cap) 569 if (ops->vidioc_g_fmt_vbi_cap)
564 return 0; 570 return 0;
565 break; 571 break;
566 case V4L2_BUF_TYPE_VBI_OUTPUT: 572 case V4L2_BUF_TYPE_VBI_OUTPUT:
567 if (ops->vidioc_try_fmt_vbi_out) 573 if (ops->vidioc_g_fmt_vbi_out)
568 return 0; 574 return 0;
569 break; 575 break;
570 case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: 576 case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
571 if (ops->vidioc_try_fmt_sliced_vbi_cap) 577 if (ops->vidioc_g_fmt_sliced_vbi_cap)
572 return 0; 578 return 0;
573 break; 579 break;
574 case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: 580 case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
575 if (ops->vidioc_try_fmt_sliced_vbi_out) 581 if (ops->vidioc_g_fmt_sliced_vbi_out)
576 return 0; 582 return 0;
577 break; 583 break;
578 case V4L2_BUF_TYPE_PRIVATE: 584 case V4L2_BUF_TYPE_PRIVATE:
579 if (ops->vidioc_try_fmt_type_private) 585 if (ops->vidioc_g_fmt_type_private)
580 return 0; 586 return 0;
581 break; 587 break;
582 } 588 }
@@ -782,44 +788,53 @@ static long __video_do_ioctl(struct file *file,
782 788
783 switch (f->type) { 789 switch (f->type) {
784 case V4L2_BUF_TYPE_VIDEO_CAPTURE: 790 case V4L2_BUF_TYPE_VIDEO_CAPTURE:
791 CLEAR_AFTER_FIELD(f, fmt.pix);
785 v4l_print_pix_fmt(vfd, &f->fmt.pix); 792 v4l_print_pix_fmt(vfd, &f->fmt.pix);
786 if (ops->vidioc_s_fmt_vid_cap) 793 if (ops->vidioc_s_fmt_vid_cap)
787 ret = ops->vidioc_s_fmt_vid_cap(file, fh, f); 794 ret = ops->vidioc_s_fmt_vid_cap(file, fh, f);
788 break; 795 break;
789 case V4L2_BUF_TYPE_VIDEO_OVERLAY: 796 case V4L2_BUF_TYPE_VIDEO_OVERLAY:
797 CLEAR_AFTER_FIELD(f, fmt.win);
790 if (ops->vidioc_s_fmt_vid_overlay) 798 if (ops->vidioc_s_fmt_vid_overlay)
791 ret = ops->vidioc_s_fmt_vid_overlay(file, 799 ret = ops->vidioc_s_fmt_vid_overlay(file,
792 fh, f); 800 fh, f);
793 break; 801 break;
794 case V4L2_BUF_TYPE_VIDEO_OUTPUT: 802 case V4L2_BUF_TYPE_VIDEO_OUTPUT:
803 CLEAR_AFTER_FIELD(f, fmt.pix);
795 v4l_print_pix_fmt(vfd, &f->fmt.pix); 804 v4l_print_pix_fmt(vfd, &f->fmt.pix);
796 if (ops->vidioc_s_fmt_vid_out) 805 if (ops->vidioc_s_fmt_vid_out)
797 ret = ops->vidioc_s_fmt_vid_out(file, fh, f); 806 ret = ops->vidioc_s_fmt_vid_out(file, fh, f);
798 break; 807 break;
799 case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: 808 case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
809 CLEAR_AFTER_FIELD(f, fmt.win);
800 if (ops->vidioc_s_fmt_vid_out_overlay) 810 if (ops->vidioc_s_fmt_vid_out_overlay)
801 ret = ops->vidioc_s_fmt_vid_out_overlay(file, 811 ret = ops->vidioc_s_fmt_vid_out_overlay(file,
802 fh, f); 812 fh, f);
803 break; 813 break;
804 case V4L2_BUF_TYPE_VBI_CAPTURE: 814 case V4L2_BUF_TYPE_VBI_CAPTURE:
815 CLEAR_AFTER_FIELD(f, fmt.vbi);
805 if (ops->vidioc_s_fmt_vbi_cap) 816 if (ops->vidioc_s_fmt_vbi_cap)
806 ret = ops->vidioc_s_fmt_vbi_cap(file, fh, f); 817 ret = ops->vidioc_s_fmt_vbi_cap(file, fh, f);
807 break; 818 break;
808 case V4L2_BUF_TYPE_VBI_OUTPUT: 819 case V4L2_BUF_TYPE_VBI_OUTPUT:
820 CLEAR_AFTER_FIELD(f, fmt.vbi);
809 if (ops->vidioc_s_fmt_vbi_out) 821 if (ops->vidioc_s_fmt_vbi_out)
810 ret = ops->vidioc_s_fmt_vbi_out(file, fh, f); 822 ret = ops->vidioc_s_fmt_vbi_out(file, fh, f);
811 break; 823 break;
812 case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: 824 case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
825 CLEAR_AFTER_FIELD(f, fmt.sliced);
813 if (ops->vidioc_s_fmt_sliced_vbi_cap) 826 if (ops->vidioc_s_fmt_sliced_vbi_cap)
814 ret = ops->vidioc_s_fmt_sliced_vbi_cap(file, 827 ret = ops->vidioc_s_fmt_sliced_vbi_cap(file,
815 fh, f); 828 fh, f);
816 break; 829 break;
817 case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: 830 case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
831 CLEAR_AFTER_FIELD(f, fmt.sliced);
818 if (ops->vidioc_s_fmt_sliced_vbi_out) 832 if (ops->vidioc_s_fmt_sliced_vbi_out)
819 ret = ops->vidioc_s_fmt_sliced_vbi_out(file, 833 ret = ops->vidioc_s_fmt_sliced_vbi_out(file,
820 fh, f); 834 fh, f);
821 break; 835 break;
822 case V4L2_BUF_TYPE_PRIVATE: 836 case V4L2_BUF_TYPE_PRIVATE:
837 /* CLEAR_AFTER_FIELD(f, fmt.raw_data); <- does nothing */
823 if (ops->vidioc_s_fmt_type_private) 838 if (ops->vidioc_s_fmt_type_private)
824 ret = ops->vidioc_s_fmt_type_private(file, 839 ret = ops->vidioc_s_fmt_type_private(file,
825 fh, f); 840 fh, f);
@@ -836,46 +851,55 @@ static long __video_do_ioctl(struct file *file,
836 v4l2_type_names)); 851 v4l2_type_names));
837 switch (f->type) { 852 switch (f->type) {
838 case V4L2_BUF_TYPE_VIDEO_CAPTURE: 853 case V4L2_BUF_TYPE_VIDEO_CAPTURE:
854 CLEAR_AFTER_FIELD(f, fmt.pix);
839 if (ops->vidioc_try_fmt_vid_cap) 855 if (ops->vidioc_try_fmt_vid_cap)
840 ret = ops->vidioc_try_fmt_vid_cap(file, fh, f); 856 ret = ops->vidioc_try_fmt_vid_cap(file, fh, f);
841 if (!ret) 857 if (!ret)
842 v4l_print_pix_fmt(vfd, &f->fmt.pix); 858 v4l_print_pix_fmt(vfd, &f->fmt.pix);
843 break; 859 break;
844 case V4L2_BUF_TYPE_VIDEO_OVERLAY: 860 case V4L2_BUF_TYPE_VIDEO_OVERLAY:
861 CLEAR_AFTER_FIELD(f, fmt.win);
845 if (ops->vidioc_try_fmt_vid_overlay) 862 if (ops->vidioc_try_fmt_vid_overlay)
846 ret = ops->vidioc_try_fmt_vid_overlay(file, 863 ret = ops->vidioc_try_fmt_vid_overlay(file,
847 fh, f); 864 fh, f);
848 break; 865 break;
849 case V4L2_BUF_TYPE_VIDEO_OUTPUT: 866 case V4L2_BUF_TYPE_VIDEO_OUTPUT:
867 CLEAR_AFTER_FIELD(f, fmt.pix);
850 if (ops->vidioc_try_fmt_vid_out) 868 if (ops->vidioc_try_fmt_vid_out)
851 ret = ops->vidioc_try_fmt_vid_out(file, fh, f); 869 ret = ops->vidioc_try_fmt_vid_out(file, fh, f);
852 if (!ret) 870 if (!ret)
853 v4l_print_pix_fmt(vfd, &f->fmt.pix); 871 v4l_print_pix_fmt(vfd, &f->fmt.pix);
854 break; 872 break;
855 case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: 873 case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
874 CLEAR_AFTER_FIELD(f, fmt.win);
856 if (ops->vidioc_try_fmt_vid_out_overlay) 875 if (ops->vidioc_try_fmt_vid_out_overlay)
857 ret = ops->vidioc_try_fmt_vid_out_overlay(file, 876 ret = ops->vidioc_try_fmt_vid_out_overlay(file,
858 fh, f); 877 fh, f);
859 break; 878 break;
860 case V4L2_BUF_TYPE_VBI_CAPTURE: 879 case V4L2_BUF_TYPE_VBI_CAPTURE:
880 CLEAR_AFTER_FIELD(f, fmt.vbi);
861 if (ops->vidioc_try_fmt_vbi_cap) 881 if (ops->vidioc_try_fmt_vbi_cap)
862 ret = ops->vidioc_try_fmt_vbi_cap(file, fh, f); 882 ret = ops->vidioc_try_fmt_vbi_cap(file, fh, f);
863 break; 883 break;
864 case V4L2_BUF_TYPE_VBI_OUTPUT: 884 case V4L2_BUF_TYPE_VBI_OUTPUT:
885 CLEAR_AFTER_FIELD(f, fmt.vbi);
865 if (ops->vidioc_try_fmt_vbi_out) 886 if (ops->vidioc_try_fmt_vbi_out)
866 ret = ops->vidioc_try_fmt_vbi_out(file, fh, f); 887 ret = ops->vidioc_try_fmt_vbi_out(file, fh, f);
867 break; 888 break;
868 case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: 889 case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
890 CLEAR_AFTER_FIELD(f, fmt.sliced);
869 if (ops->vidioc_try_fmt_sliced_vbi_cap) 891 if (ops->vidioc_try_fmt_sliced_vbi_cap)
870 ret = ops->vidioc_try_fmt_sliced_vbi_cap(file, 892 ret = ops->vidioc_try_fmt_sliced_vbi_cap(file,
871 fh, f); 893 fh, f);
872 break; 894 break;
873 case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: 895 case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
896 CLEAR_AFTER_FIELD(f, fmt.sliced);
874 if (ops->vidioc_try_fmt_sliced_vbi_out) 897 if (ops->vidioc_try_fmt_sliced_vbi_out)
875 ret = ops->vidioc_try_fmt_sliced_vbi_out(file, 898 ret = ops->vidioc_try_fmt_sliced_vbi_out(file,
876 fh, f); 899 fh, f);
877 break; 900 break;
878 case V4L2_BUF_TYPE_PRIVATE: 901 case V4L2_BUF_TYPE_PRIVATE:
902 /* CLEAR_AFTER_FIELD(f, fmt.raw_data); <- does nothing */
879 if (ops->vidioc_try_fmt_type_private) 903 if (ops->vidioc_try_fmt_type_private)
880 ret = ops->vidioc_try_fmt_type_private(file, 904 ret = ops->vidioc_try_fmt_type_private(file,
881 fh, f); 905 fh, f);
@@ -898,6 +922,9 @@ static long __video_do_ioctl(struct file *file,
898 if (ret) 922 if (ret)
899 break; 923 break;
900 924
925 if (p->type < V4L2_BUF_TYPE_PRIVATE)
926 CLEAR_AFTER_FIELD(p, memory);
927
901 ret = ops->vidioc_reqbufs(file, fh, p); 928 ret = ops->vidioc_reqbufs(file, fh, p);
902 dbgarg(cmd, "count=%d, type=%s, memory=%s\n", 929 dbgarg(cmd, "count=%d, type=%s, memory=%s\n",
903 p->count, 930 p->count,
diff --git a/drivers/media/video/zoran/zoran_driver.c b/drivers/media/video/zoran/zoran_driver.c
index 092333b1c34f..643cccaa1aab 100644
--- a/drivers/media/video/zoran/zoran_driver.c
+++ b/drivers/media/video/zoran/zoran_driver.c
@@ -1863,22 +1863,20 @@ static int zoran_querycap(struct file *file, void *__fh, struct v4l2_capability
1863 1863
1864static int zoran_enum_fmt(struct zoran *zr, struct v4l2_fmtdesc *fmt, int flag) 1864static int zoran_enum_fmt(struct zoran *zr, struct v4l2_fmtdesc *fmt, int flag)
1865{ 1865{
1866 int num = -1, i; 1866 unsigned int num, i;
1867 1867
1868 for (i = 0; i < NUM_FORMATS; i++) { 1868 for (num = i = 0; i < NUM_FORMATS; i++) {
1869 if (zoran_formats[i].flags & flag) 1869 if (zoran_formats[i].flags & flag && num++ == fmt->index) {
1870 num++; 1870 strncpy(fmt->description, zoran_formats[i].name,
1871 if (num == fmt->index) 1871 sizeof(fmt->description) - 1);
1872 break; 1872 /* fmt struct pre-zeroed, so adding '\0' not neeed */
1873 fmt->pixelformat = zoran_formats[i].fourcc;
1874 if (zoran_formats[i].flags & ZORAN_FORMAT_COMPRESSED)
1875 fmt->flags |= V4L2_FMT_FLAG_COMPRESSED;
1876 return 0;
1877 }
1873 } 1878 }
1874 if (fmt->index < 0 /* late, but not too late */ || i == NUM_FORMATS) 1879 return -EINVAL;
1875 return -EINVAL;
1876
1877 strncpy(fmt->description, zoran_formats[i].name, sizeof(fmt->description)-1);
1878 fmt->pixelformat = zoran_formats[i].fourcc;
1879 if (zoran_formats[i].flags & ZORAN_FORMAT_COMPRESSED)
1880 fmt->flags |= V4L2_FMT_FLAG_COMPRESSED;
1881 return 0;
1882} 1880}
1883 1881
1884static int zoran_enum_fmt_vid_cap(struct file *file, void *__fh, 1882static int zoran_enum_fmt_vid_cap(struct file *file, void *__fh,
diff --git a/drivers/misc/isl29003.c b/drivers/misc/isl29003.c
index 2e2a5923d4c2..a71e245801ee 100644
--- a/drivers/misc/isl29003.c
+++ b/drivers/misc/isl29003.c
@@ -64,6 +64,7 @@ struct isl29003_data {
64 struct i2c_client *client; 64 struct i2c_client *client;
65 struct mutex lock; 65 struct mutex lock;
66 u8 reg_cache[ISL29003_NUM_CACHABLE_REGS]; 66 u8 reg_cache[ISL29003_NUM_CACHABLE_REGS];
67 u8 power_state_before_suspend;
67}; 68};
68 69
69static int gain_range[] = { 70static int gain_range[] = {
@@ -411,6 +412,9 @@ static int __devexit isl29003_remove(struct i2c_client *client)
411#ifdef CONFIG_PM 412#ifdef CONFIG_PM
412static int isl29003_suspend(struct i2c_client *client, pm_message_t mesg) 413static int isl29003_suspend(struct i2c_client *client, pm_message_t mesg)
413{ 414{
415 struct isl29003_data *data = i2c_get_clientdata(client);
416
417 data->power_state_before_suspend = isl29003_get_power_state(client);
414 return isl29003_set_power_state(client, 0); 418 return isl29003_set_power_state(client, 0);
415} 419}
416 420
@@ -421,10 +425,11 @@ static int isl29003_resume(struct i2c_client *client)
421 425
422 /* restore registers from cache */ 426 /* restore registers from cache */
423 for (i = 0; i < ARRAY_SIZE(data->reg_cache); i++) 427 for (i = 0; i < ARRAY_SIZE(data->reg_cache); i++)
424 if (!i2c_smbus_write_byte_data(client, i, data->reg_cache[i])) 428 if (i2c_smbus_write_byte_data(client, i, data->reg_cache[i]))
425 return -EIO; 429 return -EIO;
426 430
427 return 0; 431 return isl29003_set_power_state(client,
432 data->power_state_before_suspend);
428} 433}
429 434
430#else 435#else
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index fe8041e619ea..b25e9b6516ae 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -254,6 +254,14 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
254 brq.data.blocks = req->nr_sectors; 254 brq.data.blocks = req->nr_sectors;
255 255
256 /* 256 /*
257 * The block layer doesn't support all sector count
258 * restrictions, so we need to be prepared for too big
259 * requests.
260 */
261 if (brq.data.blocks > card->host->max_blk_count)
262 brq.data.blocks = card->host->max_blk_count;
263
264 /*
257 * After a read error, we redo the request one sector at a time 265 * After a read error, we redo the request one sector at a time
258 * in order to accurately determine which sectors can be read 266 * in order to accurately determine which sectors can be read
259 * successfully. 267 * successfully.
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index fa073ab3fa34..264911732756 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -706,7 +706,7 @@ static void mmc_power_up(struct mmc_host *host)
706 * This delay should be sufficient to allow the power supply 706 * This delay should be sufficient to allow the power supply
707 * to reach the minimum voltage. 707 * to reach the minimum voltage.
708 */ 708 */
709 mmc_delay(2); 709 mmc_delay(10);
710 710
711 host->ios.clock = host->f_min; 711 host->ios.clock = host->f_min;
712 host->ios.power_mode = MMC_POWER_ON; 712 host->ios.power_mode = MMC_POWER_ON;
@@ -716,7 +716,7 @@ static void mmc_power_up(struct mmc_host *host)
716 * This delay must be at least 74 clock sizes, or 1 ms, or the 716 * This delay must be at least 74 clock sizes, or 1 ms, or the
717 * time required to reach a stable voltage. 717 * time required to reach a stable voltage.
718 */ 718 */
719 mmc_delay(2); 719 mmc_delay(10);
720} 720}
721 721
722static void mmc_power_off(struct mmc_host *host) 722static void mmc_power_off(struct mmc_host *host)
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index a663429b3d55..36875dcfa492 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -514,6 +514,7 @@ static int __devinit mmci_probe(struct amba_device *dev, void *id)
514 } 514 }
515 515
516 host = mmc_priv(mmc); 516 host = mmc_priv(mmc);
517 host->mmc = mmc;
517 /* Bits 12 thru 19 is the designer */ 518 /* Bits 12 thru 19 is the designer */
518 host->hw_designer = (dev->periphid >> 12) & 0xff; 519 host->hw_designer = (dev->periphid >> 12) & 0xff;
519 /* Bits 20 thru 23 is the revison */ 520 /* Bits 20 thru 23 is the revison */
@@ -545,7 +546,6 @@ static int __devinit mmci_probe(struct amba_device *dev, void *id)
545 host->mclk = clk_get_rate(host->clk); 546 host->mclk = clk_get_rate(host->clk);
546 DBG(host, "eventual mclk rate: %u Hz\n", host->mclk); 547 DBG(host, "eventual mclk rate: %u Hz\n", host->mclk);
547 } 548 }
548 host->mmc = mmc;
549 host->base = ioremap(dev->res.start, SZ_4K); 549 host->base = ioremap(dev->res.start, SZ_4K);
550 if (!host->base) { 550 if (!host->base) {
551 ret = -ENOMEM; 551 ret = -ENOMEM;
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
index b5c375d94ab3..c643d0fe118f 100644
--- a/drivers/mmc/host/mvsdio.c
+++ b/drivers/mmc/host/mvsdio.c
@@ -825,24 +825,23 @@ static int __exit mvsd_remove(struct platform_device *pdev)
825} 825}
826 826
827#ifdef CONFIG_PM 827#ifdef CONFIG_PM
828static int mvsd_suspend(struct platform_device *dev, pm_message_t state, 828static int mvsd_suspend(struct platform_device *dev, pm_message_t state)
829 u32 level)
830{ 829{
831 struct mmc_host *mmc = platform_get_drvdata(dev); 830 struct mmc_host *mmc = platform_get_drvdata(dev);
832 int ret = 0; 831 int ret = 0;
833 832
834 if (mmc && level == SUSPEND_DISABLE) 833 if (mmc)
835 ret = mmc_suspend_host(mmc, state); 834 ret = mmc_suspend_host(mmc, state);
836 835
837 return ret; 836 return ret;
838} 837}
839 838
840static int mvsd_resume(struct platform_device *dev, u32 level) 839static int mvsd_resume(struct platform_device *dev)
841{ 840{
842 struct mmc_host *mmc = platform_dev_get_drvdata(dev); 841 struct mmc_host *mmc = platform_get_drvdata(dev);
843 int ret = 0; 842 int ret = 0;
844 843
845 if (mmc && level == RESUME_ENABLE) 844 if (mmc)
846 ret = mmc_resume_host(mmc); 845 ret = mmc_resume_host(mmc);
847 846
848 return ret; 847 return ret;
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 5570849188cc..bfa25c01c872 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -157,8 +157,6 @@ struct mmc_omap_host {
157 struct timer_list dma_timer; 157 struct timer_list dma_timer;
158 unsigned dma_len; 158 unsigned dma_len;
159 159
160 short power_pin;
161
162 struct mmc_omap_slot *slots[OMAP_MMC_MAX_SLOTS]; 160 struct mmc_omap_slot *slots[OMAP_MMC_MAX_SLOTS];
163 struct mmc_omap_slot *current_slot; 161 struct mmc_omap_slot *current_slot;
164 spinlock_t slot_lock; 162 spinlock_t slot_lock;
diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
index cd37962ec44f..65be27995d5c 100644
--- a/drivers/mmc/host/sdhci-pci.c
+++ b/drivers/mmc/host/sdhci-pci.c
@@ -522,8 +522,8 @@ static struct sdhci_pci_slot * __devinit sdhci_pci_probe_slot(
522 522
523 host = sdhci_alloc_host(&pdev->dev, sizeof(struct sdhci_pci_slot)); 523 host = sdhci_alloc_host(&pdev->dev, sizeof(struct sdhci_pci_slot));
524 if (IS_ERR(host)) { 524 if (IS_ERR(host)) {
525 ret = PTR_ERR(host); 525 dev_err(&pdev->dev, "cannot allocate host\n");
526 goto unmap; 526 return ERR_PTR(PTR_ERR(host));
527 } 527 }
528 528
529 slot = sdhci_priv(host); 529 slot = sdhci_priv(host);
@@ -541,7 +541,7 @@ static struct sdhci_pci_slot * __devinit sdhci_pci_probe_slot(
541 ret = pci_request_region(pdev, bar, mmc_hostname(host->mmc)); 541 ret = pci_request_region(pdev, bar, mmc_hostname(host->mmc));
542 if (ret) { 542 if (ret) {
543 dev_err(&pdev->dev, "cannot request region\n"); 543 dev_err(&pdev->dev, "cannot request region\n");
544 return ERR_PTR(ret); 544 goto free;
545 } 545 }
546 546
547 addr = pci_resource_start(pdev, bar); 547 addr = pci_resource_start(pdev, bar);
@@ -572,6 +572,8 @@ unmap:
572 572
573release: 573release:
574 pci_release_region(pdev, bar); 574 pci_release_region(pdev, bar);
575
576free:
575 sdhci_free_host(host); 577 sdhci_free_host(host);
576 578
577 return ERR_PTR(ret); 579 return ERR_PTR(ret);
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index f20a834f4309..65c6f996bbd3 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -125,7 +125,7 @@
125#define SDHCI_INT_DATA_MASK (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | \ 125#define SDHCI_INT_DATA_MASK (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | \
126 SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL | \ 126 SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL | \
127 SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_DATA_CRC | \ 127 SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_DATA_CRC | \
128 SDHCI_INT_DATA_END_BIT) 128 SDHCI_INT_DATA_END_BIT | SDHCI_ADMA_ERROR)
129#define SDHCI_INT_ALL_MASK ((unsigned int)-1) 129#define SDHCI_INT_ALL_MASK ((unsigned int)-1)
130 130
131#define SDHCI_ACMD12_ERR 0x3C 131#define SDHCI_ACMD12_ERR 0x3C
diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
index 8185b1f3e5e6..cc6369ea67dd 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -54,7 +54,7 @@
54#define SR_SRWD 0x80 /* SR write protect */ 54#define SR_SRWD 0x80 /* SR write protect */
55 55
56/* Define max times to check status register before we give up. */ 56/* Define max times to check status register before we give up. */
57#define MAX_READY_WAIT_COUNT 100000 57#define MAX_READY_WAIT_JIFFIES (10 * HZ) /* eg. M25P128 specs 6s max sector erase */
58#define CMD_SIZE 4 58#define CMD_SIZE 4
59 59
60#ifdef CONFIG_M25PXX_USE_FAST_READ 60#ifdef CONFIG_M25PXX_USE_FAST_READ
@@ -139,20 +139,20 @@ static inline int write_enable(struct m25p *flash)
139 */ 139 */
140static int wait_till_ready(struct m25p *flash) 140static int wait_till_ready(struct m25p *flash)
141{ 141{
142 int count; 142 unsigned long deadline;
143 int sr; 143 int sr;
144 144
145 /* one chip guarantees max 5 msec wait here after page writes, 145 deadline = jiffies + MAX_READY_WAIT_JIFFIES;
146 * but potentially three seconds (!) after page erase. 146
147 */ 147 do {
148 for (count = 0; count < MAX_READY_WAIT_COUNT; count++) {
149 if ((sr = read_sr(flash)) < 0) 148 if ((sr = read_sr(flash)) < 0)
150 break; 149 break;
151 else if (!(sr & SR_WIP)) 150 else if (!(sr & SR_WIP))
152 return 0; 151 return 0;
153 152
154 /* REVISIT sometimes sleeping would be best */ 153 cond_resched();
155 } 154
155 } while (!time_after_eq(jiffies, deadline));
156 156
157 return 1; 157 return 1;
158} 158}
@@ -246,10 +246,12 @@ static int m25p80_erase(struct mtd_info *mtd, struct erase_info *instr)
246 mutex_lock(&flash->lock); 246 mutex_lock(&flash->lock);
247 247
248 /* whole-chip erase? */ 248 /* whole-chip erase? */
249 if (len == flash->mtd.size && erase_chip(flash)) { 249 if (len == flash->mtd.size) {
250 instr->state = MTD_ERASE_FAILED; 250 if (erase_chip(flash)) {
251 mutex_unlock(&flash->lock); 251 instr->state = MTD_ERASE_FAILED;
252 return -EIO; 252 mutex_unlock(&flash->lock);
253 return -EIO;
254 }
253 255
254 /* REVISIT in some cases we could speed up erasing large regions 256 /* REVISIT in some cases we could speed up erasing large regions
255 * by using OPCODE_SE instead of OPCODE_BE_4K. We may have set up 257 * by using OPCODE_SE instead of OPCODE_BE_4K. We may have set up
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index fdd6ae859397..bccb4b1ffc46 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -48,11 +48,11 @@ static LIST_HEAD(mtd_notifiers);
48 */ 48 */
49static void mtd_release(struct device *dev) 49static void mtd_release(struct device *dev)
50{ 50{
51 struct mtd_info *mtd = dev_to_mtd(dev); 51 dev_t index = MTD_DEVT(dev_to_mtd(dev)->index);
52 52
53 /* remove /dev/mtdXro node if needed */ 53 /* remove /dev/mtdXro node if needed */
54 if (MTD_DEVT(mtd->index)) 54 if (index)
55 device_destroy(mtd_class, MTD_DEVT(mtd->index) + 1); 55 device_destroy(mtd_class, index + 1);
56} 56}
57 57
58static ssize_t mtd_type_show(struct device *dev, 58static ssize_t mtd_type_show(struct device *dev,
@@ -132,6 +132,17 @@ static ssize_t mtd_writesize_show(struct device *dev,
132} 132}
133static DEVICE_ATTR(writesize, S_IRUGO, mtd_writesize_show, NULL); 133static DEVICE_ATTR(writesize, S_IRUGO, mtd_writesize_show, NULL);
134 134
135static ssize_t mtd_subpagesize_show(struct device *dev,
136 struct device_attribute *attr, char *buf)
137{
138 struct mtd_info *mtd = dev_to_mtd(dev);
139 unsigned int subpagesize = mtd->writesize >> mtd->subpage_sft;
140
141 return snprintf(buf, PAGE_SIZE, "%u\n", subpagesize);
142
143}
144static DEVICE_ATTR(subpagesize, S_IRUGO, mtd_subpagesize_show, NULL);
145
135static ssize_t mtd_oobsize_show(struct device *dev, 146static ssize_t mtd_oobsize_show(struct device *dev,
136 struct device_attribute *attr, char *buf) 147 struct device_attribute *attr, char *buf)
137{ 148{
@@ -169,6 +180,7 @@ static struct attribute *mtd_attrs[] = {
169 &dev_attr_size.attr, 180 &dev_attr_size.attr,
170 &dev_attr_erasesize.attr, 181 &dev_attr_erasesize.attr,
171 &dev_attr_writesize.attr, 182 &dev_attr_writesize.attr,
183 &dev_attr_subpagesize.attr,
172 &dev_attr_oobsize.attr, 184 &dev_attr_oobsize.attr,
173 &dev_attr_numeraseregions.attr, 185 &dev_attr_numeraseregions.attr,
174 &dev_attr_name.attr, 186 &dev_attr_name.attr,
diff --git a/drivers/mtd/mtdsuper.c b/drivers/mtd/mtdsuper.c
index 92285d0089c2..af8b42e0a55b 100644
--- a/drivers/mtd/mtdsuper.c
+++ b/drivers/mtd/mtdsuper.c
@@ -74,8 +74,7 @@ static int get_sb_mtd_aux(struct file_system_type *fs_type, int flags,
74 74
75 ret = fill_super(sb, data, flags & MS_SILENT ? 1 : 0); 75 ret = fill_super(sb, data, flags & MS_SILENT ? 1 : 0);
76 if (ret < 0) { 76 if (ret < 0) {
77 up_write(&sb->s_umount); 77 deactivate_locked_super(sb);
78 deactivate_super(sb);
79 return ret; 78 return ret;
80 } 79 }
81 80
diff --git a/drivers/net/arm/ixp4xx_eth.c b/drivers/net/arm/ixp4xx_eth.c
index 448487e22fa3..a740053d3af3 100644
--- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c
@@ -338,12 +338,12 @@ static int ixp4xx_mdio_register(void)
338 if (cpu_is_ixp43x()) { 338 if (cpu_is_ixp43x()) {
339 /* IXP43x lacks NPE-B and uses NPE-C for MII PHY access */ 339 /* IXP43x lacks NPE-B and uses NPE-C for MII PHY access */
340 if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEC_ETH)) 340 if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEC_ETH))
341 return -ENOSYS; 341 return -ENODEV;
342 mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthC_BASE_VIRT; 342 mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthC_BASE_VIRT;
343 } else { 343 } else {
344 /* All MII PHY accesses use NPE-B Ethernet registers */ 344 /* All MII PHY accesses use NPE-B Ethernet registers */
345 if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEB_ETH0)) 345 if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEB_ETH0))
346 return -ENOSYS; 346 return -ENODEV;
347 mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthB_BASE_VIRT; 347 mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthB_BASE_VIRT;
348 } 348 }
349 349
@@ -1174,7 +1174,7 @@ static int __devinit eth_init_one(struct platform_device *pdev)
1174 regs_phys = IXP4XX_EthC_BASE_PHYS; 1174 regs_phys = IXP4XX_EthC_BASE_PHYS;
1175 break; 1175 break;
1176 default: 1176 default:
1177 err = -ENOSYS; 1177 err = -ENODEV;
1178 goto err_free; 1178 goto err_free;
1179 } 1179 }
1180 1180
@@ -1189,15 +1189,10 @@ static int __devinit eth_init_one(struct platform_device *pdev)
1189 goto err_free; 1189 goto err_free;
1190 } 1190 }
1191 1191
1192 if (register_netdev(dev)) {
1193 err = -EIO;
1194 goto err_npe_rel;
1195 }
1196
1197 port->mem_res = request_mem_region(regs_phys, REGS_SIZE, dev->name); 1192 port->mem_res = request_mem_region(regs_phys, REGS_SIZE, dev->name);
1198 if (!port->mem_res) { 1193 if (!port->mem_res) {
1199 err = -EBUSY; 1194 err = -EBUSY;
1200 goto err_unreg; 1195 goto err_npe_rel;
1201 } 1196 }
1202 1197
1203 port->plat = plat; 1198 port->plat = plat;
@@ -1215,20 +1210,25 @@ static int __devinit eth_init_one(struct platform_device *pdev)
1215 snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, "0", plat->phy); 1210 snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, "0", plat->phy);
1216 port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0, 1211 port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0,
1217 PHY_INTERFACE_MODE_MII); 1212 PHY_INTERFACE_MODE_MII);
1218 if (IS_ERR(port->phydev)) { 1213 if ((err = IS_ERR(port->phydev)))
1219 printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name); 1214 goto err_free_mem;
1220 return PTR_ERR(port->phydev);
1221 }
1222 1215
1223 port->phydev->irq = PHY_POLL; 1216 port->phydev->irq = PHY_POLL;
1224 1217
1218 if ((err = register_netdev(dev)))
1219 goto err_phy_dis;
1220
1225 printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy, 1221 printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy,
1226 npe_name(port->npe)); 1222 npe_name(port->npe));
1227 1223
1228 return 0; 1224 return 0;
1229 1225
1230err_unreg: 1226err_phy_dis:
1231 unregister_netdev(dev); 1227 phy_disconnect(port->phydev);
1228err_free_mem:
1229 npe_port_tab[NPE_ID(port->id)] = NULL;
1230 platform_set_drvdata(pdev, NULL);
1231 release_resource(port->mem_res);
1232err_npe_rel: 1232err_npe_rel:
1233 npe_release(port->npe); 1233 npe_release(port->npe);
1234err_free: 1234err_free:
@@ -1242,6 +1242,7 @@ static int __devexit eth_remove_one(struct platform_device *pdev)
1242 struct port *port = netdev_priv(dev); 1242 struct port *port = netdev_priv(dev);
1243 1243
1244 unregister_netdev(dev); 1244 unregister_netdev(dev);
1245 phy_disconnect(port->phydev);
1245 npe_port_tab[NPE_ID(port->id)] = NULL; 1246 npe_port_tab[NPE_ID(port->id)] = NULL;
1246 platform_set_drvdata(pdev, NULL); 1247 platform_set_drvdata(pdev, NULL);
1247 npe_release(port->npe); 1248 npe_release(port->npe);
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index d47839184a06..b0cb29d4cc01 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -54,8 +54,8 @@
54 54
55#define DRV_MODULE_NAME "bnx2" 55#define DRV_MODULE_NAME "bnx2"
56#define PFX DRV_MODULE_NAME ": " 56#define PFX DRV_MODULE_NAME ": "
57#define DRV_MODULE_VERSION "2.0.0" 57#define DRV_MODULE_VERSION "2.0.1"
58#define DRV_MODULE_RELDATE "April 2, 2009" 58#define DRV_MODULE_RELDATE "May 6, 2009"
59#define FW_MIPS_FILE_06 "bnx2/bnx2-mips-06-4.6.16.fw" 59#define FW_MIPS_FILE_06 "bnx2/bnx2-mips-06-4.6.16.fw"
60#define FW_RV2P_FILE_06 "bnx2/bnx2-rv2p-06-4.6.16.fw" 60#define FW_RV2P_FILE_06 "bnx2/bnx2-rv2p-06-4.6.16.fw"
61#define FW_MIPS_FILE_09 "bnx2/bnx2-mips-09-4.6.17.fw" 61#define FW_MIPS_FILE_09 "bnx2/bnx2-mips-09-4.6.17.fw"
@@ -2600,6 +2600,7 @@ bnx2_get_hw_tx_cons(struct bnx2_napi *bnapi)
2600 /* Tell compiler that status block fields can change. */ 2600 /* Tell compiler that status block fields can change. */
2601 barrier(); 2601 barrier();
2602 cons = *bnapi->hw_tx_cons_ptr; 2602 cons = *bnapi->hw_tx_cons_ptr;
2603 barrier();
2603 if (unlikely((cons & MAX_TX_DESC_CNT) == MAX_TX_DESC_CNT)) 2604 if (unlikely((cons & MAX_TX_DESC_CNT) == MAX_TX_DESC_CNT))
2604 cons++; 2605 cons++;
2605 return cons; 2606 return cons;
@@ -2879,6 +2880,7 @@ bnx2_get_hw_rx_cons(struct bnx2_napi *bnapi)
2879 /* Tell compiler that status block fields can change. */ 2880 /* Tell compiler that status block fields can change. */
2880 barrier(); 2881 barrier();
2881 cons = *bnapi->hw_rx_cons_ptr; 2882 cons = *bnapi->hw_rx_cons_ptr;
2883 barrier();
2882 if (unlikely((cons & MAX_RX_DESC_CNT) == MAX_RX_DESC_CNT)) 2884 if (unlikely((cons & MAX_RX_DESC_CNT) == MAX_RX_DESC_CNT))
2883 cons++; 2885 cons++;
2884 return cons; 2886 return cons;
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index 553a89919778..46d312bedfb8 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -1706,10 +1706,8 @@ void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave
1706 * Called with RTNL 1706 * Called with RTNL
1707 */ 1707 */
1708int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr) 1708int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr)
1709 __releases(&bond->curr_slave_lock)
1710 __releases(&bond->lock)
1711 __acquires(&bond->lock) 1709 __acquires(&bond->lock)
1712 __acquires(&bond->curr_slave_lock) 1710 __releases(&bond->lock)
1713{ 1711{
1714 struct bonding *bond = netdev_priv(bond_dev); 1712 struct bonding *bond = netdev_priv(bond_dev);
1715 struct sockaddr *sa = addr; 1713 struct sockaddr *sa = addr;
@@ -1745,9 +1743,6 @@ int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr)
1745 } 1743 }
1746 } 1744 }
1747 1745
1748 write_unlock_bh(&bond->curr_slave_lock);
1749 read_unlock(&bond->lock);
1750
1751 if (swap_slave) { 1746 if (swap_slave) {
1752 alb_swap_mac_addr(bond, swap_slave, bond->curr_active_slave); 1747 alb_swap_mac_addr(bond, swap_slave, bond->curr_active_slave);
1753 alb_fasten_mac_swap(bond, swap_slave, bond->curr_active_slave); 1748 alb_fasten_mac_swap(bond, swap_slave, bond->curr_active_slave);
@@ -1755,16 +1750,15 @@ int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr)
1755 alb_set_slave_mac_addr(bond->curr_active_slave, bond_dev->dev_addr, 1750 alb_set_slave_mac_addr(bond->curr_active_slave, bond_dev->dev_addr,
1756 bond->alb_info.rlb_enabled); 1751 bond->alb_info.rlb_enabled);
1757 1752
1753 read_lock(&bond->lock);
1758 alb_send_learning_packets(bond->curr_active_slave, bond_dev->dev_addr); 1754 alb_send_learning_packets(bond->curr_active_slave, bond_dev->dev_addr);
1759 if (bond->alb_info.rlb_enabled) { 1755 if (bond->alb_info.rlb_enabled) {
1760 /* inform clients mac address has changed */ 1756 /* inform clients mac address has changed */
1761 rlb_req_update_slave_clients(bond, bond->curr_active_slave); 1757 rlb_req_update_slave_clients(bond, bond->curr_active_slave);
1762 } 1758 }
1759 read_unlock(&bond->lock);
1763 } 1760 }
1764 1761
1765 read_lock(&bond->lock);
1766 write_lock_bh(&bond->curr_slave_lock);
1767
1768 return 0; 1762 return 0;
1769} 1763}
1770 1764
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 63369b6b14d4..74824028f85c 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -2213,33 +2213,24 @@ static int bond_slave_info_query(struct net_device *bond_dev, struct ifslave *in
2213{ 2213{
2214 struct bonding *bond = netdev_priv(bond_dev); 2214 struct bonding *bond = netdev_priv(bond_dev);
2215 struct slave *slave; 2215 struct slave *slave;
2216 int i, found = 0; 2216 int i, res = -ENODEV;
2217
2218 if (info->slave_id < 0) {
2219 return -ENODEV;
2220 }
2221 2217
2222 read_lock(&bond->lock); 2218 read_lock(&bond->lock);
2223 2219
2224 bond_for_each_slave(bond, slave, i) { 2220 bond_for_each_slave(bond, slave, i) {
2225 if (i == (int)info->slave_id) { 2221 if (i == (int)info->slave_id) {
2226 found = 1; 2222 res = 0;
2223 strcpy(info->slave_name, slave->dev->name);
2224 info->link = slave->link;
2225 info->state = slave->state;
2226 info->link_failure_count = slave->link_failure_count;
2227 break; 2227 break;
2228 } 2228 }
2229 } 2229 }
2230 2230
2231 read_unlock(&bond->lock); 2231 read_unlock(&bond->lock);
2232 2232
2233 if (found) { 2233 return res;
2234 strcpy(info->slave_name, slave->dev->name);
2235 info->link = slave->link;
2236 info->state = slave->state;
2237 info->link_failure_count = slave->link_failure_count;
2238 } else {
2239 return -ENODEV;
2240 }
2241
2242 return 0;
2243} 2234}
2244 2235
2245/*-------------------------------- Monitoring -------------------------------*/ 2236/*-------------------------------- Monitoring -------------------------------*/
@@ -5167,16 +5158,15 @@ int bond_create(char *name, struct bond_params *params)
5167 up_write(&bonding_rwsem); 5158 up_write(&bonding_rwsem);
5168 rtnl_unlock(); /* allows sysfs registration of net device */ 5159 rtnl_unlock(); /* allows sysfs registration of net device */
5169 res = bond_create_sysfs_entry(netdev_priv(bond_dev)); 5160 res = bond_create_sysfs_entry(netdev_priv(bond_dev));
5170 if (res < 0) { 5161 if (res < 0)
5171 rtnl_lock(); 5162 goto out_unreg;
5172 down_write(&bonding_rwsem);
5173 bond_deinit(bond_dev);
5174 unregister_netdevice(bond_dev);
5175 goto out_rtnl;
5176 }
5177 5163
5178 return 0; 5164 return 0;
5179 5165
5166out_unreg:
5167 rtnl_lock();
5168 down_write(&bonding_rwsem);
5169 unregister_netdevice(bond_dev);
5180out_bond: 5170out_bond:
5181 bond_deinit(bond_dev); 5171 bond_deinit(bond_dev);
5182out_netdev: 5172out_netdev:
@@ -5191,7 +5181,6 @@ static int __init bonding_init(void)
5191{ 5181{
5192 int i; 5182 int i;
5193 int res; 5183 int res;
5194 struct bonding *bond;
5195 5184
5196 printk(KERN_INFO "%s", version); 5185 printk(KERN_INFO "%s", version);
5197 5186
@@ -5222,13 +5211,6 @@ static int __init bonding_init(void)
5222 5211
5223 goto out; 5212 goto out;
5224err: 5213err:
5225 list_for_each_entry(bond, &bond_dev_list, bond_list) {
5226 bond_work_cancel_all(bond);
5227 destroy_workqueue(bond->wq);
5228 }
5229
5230 bond_destroy_sysfs();
5231
5232 rtnl_lock(); 5214 rtnl_lock();
5233 bond_free_all(); 5215 bond_free_all();
5234 rtnl_unlock(); 5216 rtnl_unlock();
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c
index e1bd690ff831..4f68aeb2679a 100644
--- a/drivers/net/cxgb3/t3_hw.c
+++ b/drivers/net/cxgb3/t3_hw.c
@@ -3779,7 +3779,7 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai,
3779 3779
3780 adapter->params.info = ai; 3780 adapter->params.info = ai;
3781 adapter->params.nports = ai->nports0 + ai->nports1; 3781 adapter->params.nports = ai->nports0 + ai->nports1;
3782 adapter->params.chan_map = !!ai->nports0 | (!!ai->nports1 << 1); 3782 adapter->params.chan_map = (!!ai->nports0) | (!!ai->nports1 << 1);
3783 adapter->params.rev = t3_read_reg(adapter, A_PL_REV); 3783 adapter->params.rev = t3_read_reg(adapter, A_PL_REV);
3784 /* 3784 /*
3785 * We used to only run the "adapter check task" once a second if 3785 * We used to only run the "adapter check task" once a second if
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 6a46ceed9436..b1419e21b46b 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3738,7 +3738,7 @@ static irqreturn_t e1000_intr(int irq, void *data)
3738 struct e1000_hw *hw = &adapter->hw; 3738 struct e1000_hw *hw = &adapter->hw;
3739 u32 rctl, icr = er32(ICR); 3739 u32 rctl, icr = er32(ICR);
3740 3740
3741 if (unlikely((!icr) || test_bit(__E1000_RESETTING, &adapter->flags))) 3741 if (unlikely((!icr) || test_bit(__E1000_DOWN, &adapter->flags)))
3742 return IRQ_NONE; /* Not our interrupt */ 3742 return IRQ_NONE; /* Not our interrupt */
3743 3743
3744 /* IMS will not auto-mask if INT_ASSERTED is not set, and if it is 3744 /* IMS will not auto-mask if INT_ASSERTED is not set, and if it is
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
index 6e317caf429c..16a41389575a 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -40,7 +40,7 @@
40#include <asm/io.h> 40#include <asm/io.h>
41 41
42#define DRV_NAME "ehea" 42#define DRV_NAME "ehea"
43#define DRV_VERSION "EHEA_0100" 43#define DRV_VERSION "EHEA_0101"
44 44
45/* eHEA capability flags */ 45/* eHEA capability flags */
46#define DLPAR_PORT_ADD_REM 1 46#define DLPAR_PORT_ADD_REM 1
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index 604c844d0769..b22dab9153f6 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -545,14 +545,17 @@ static inline struct sk_buff *get_skb_by_index(struct sk_buff **skb_array,
545 x &= (arr_len - 1); 545 x &= (arr_len - 1);
546 546
547 pref = skb_array[x]; 547 pref = skb_array[x];
548 prefetchw(pref); 548 if (pref) {
549 prefetchw(pref + EHEA_CACHE_LINE); 549 prefetchw(pref);
550 550 prefetchw(pref + EHEA_CACHE_LINE);
551 pref = (skb_array[x]->data); 551
552 prefetch(pref); 552 pref = (skb_array[x]->data);
553 prefetch(pref + EHEA_CACHE_LINE); 553 prefetch(pref);
554 prefetch(pref + EHEA_CACHE_LINE * 2); 554 prefetch(pref + EHEA_CACHE_LINE);
555 prefetch(pref + EHEA_CACHE_LINE * 3); 555 prefetch(pref + EHEA_CACHE_LINE * 2);
556 prefetch(pref + EHEA_CACHE_LINE * 3);
557 }
558
556 skb = skb_array[skb_index]; 559 skb = skb_array[skb_index];
557 skb_array[skb_index] = NULL; 560 skb_array[skb_index] = NULL;
558 return skb; 561 return skb;
@@ -569,12 +572,14 @@ static inline struct sk_buff *get_skb_by_index_ll(struct sk_buff **skb_array,
569 x &= (arr_len - 1); 572 x &= (arr_len - 1);
570 573
571 pref = skb_array[x]; 574 pref = skb_array[x];
572 prefetchw(pref); 575 if (pref) {
573 prefetchw(pref + EHEA_CACHE_LINE); 576 prefetchw(pref);
577 prefetchw(pref + EHEA_CACHE_LINE);
574 578
575 pref = (skb_array[x]->data); 579 pref = (skb_array[x]->data);
576 prefetchw(pref); 580 prefetchw(pref);
577 prefetchw(pref + EHEA_CACHE_LINE); 581 prefetchw(pref + EHEA_CACHE_LINE);
582 }
578 583
579 skb = skb_array[wqe_index]; 584 skb = skb_array[wqe_index];
580 skb_array[wqe_index] = NULL; 585 skb_array[wqe_index] = NULL;
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 08c801490c72..e25343588fc7 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -2006,7 +2006,7 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
2006 struct e1000_hw *hw = &adapter->hw; 2006 struct e1000_hw *hw = &adapter->hw;
2007 u32 rctl; 2007 u32 rctl;
2008 u32 srrctl = 0; 2008 u32 srrctl = 0;
2009 int i, j; 2009 int i;
2010 2010
2011 rctl = rd32(E1000_RCTL); 2011 rctl = rd32(E1000_RCTL);
2012 2012
@@ -2071,8 +2071,6 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
2071 if (adapter->vfs_allocated_count) { 2071 if (adapter->vfs_allocated_count) {
2072 u32 vmolr; 2072 u32 vmolr;
2073 2073
2074 j = adapter->rx_ring[0].reg_idx;
2075
2076 /* set all queue drop enable bits */ 2074 /* set all queue drop enable bits */
2077 wr32(E1000_QDE, ALL_QUEUES); 2075 wr32(E1000_QDE, ALL_QUEUES);
2078 srrctl |= E1000_SRRCTL_DROP_EN; 2076 srrctl |= E1000_SRRCTL_DROP_EN;
@@ -2080,16 +2078,16 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
2080 /* disable queue 0 to prevent tail write w/o re-config */ 2078 /* disable queue 0 to prevent tail write w/o re-config */
2081 wr32(E1000_RXDCTL(0), 0); 2079 wr32(E1000_RXDCTL(0), 0);
2082 2080
2083 vmolr = rd32(E1000_VMOLR(j)); 2081 vmolr = rd32(E1000_VMOLR(adapter->vfs_allocated_count));
2084 if (rctl & E1000_RCTL_LPE) 2082 if (rctl & E1000_RCTL_LPE)
2085 vmolr |= E1000_VMOLR_LPE; 2083 vmolr |= E1000_VMOLR_LPE;
2086 if (adapter->num_rx_queues > 0) 2084 if (adapter->num_rx_queues > 1)
2087 vmolr |= E1000_VMOLR_RSSE; 2085 vmolr |= E1000_VMOLR_RSSE;
2088 wr32(E1000_VMOLR(j), vmolr); 2086 wr32(E1000_VMOLR(adapter->vfs_allocated_count), vmolr);
2089 } 2087 }
2090 2088
2091 for (i = 0; i < adapter->num_rx_queues; i++) { 2089 for (i = 0; i < adapter->num_rx_queues; i++) {
2092 j = adapter->rx_ring[i].reg_idx; 2090 int j = adapter->rx_ring[i].reg_idx;
2093 wr32(E1000_SRRCTL(j), srrctl); 2091 wr32(E1000_SRRCTL(j), srrctl);
2094 } 2092 }
2095 2093
diff --git a/drivers/net/mlx4/en_rx.c b/drivers/net/mlx4/en_rx.c
index 7942c4d3cd88..9ee873e872b3 100644
--- a/drivers/net/mlx4/en_rx.c
+++ b/drivers/net/mlx4/en_rx.c
@@ -951,7 +951,6 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv,
951 if (err) { 951 if (err) {
952 mlx4_err(mdev, "Failed to allocate qp #%d\n", qpn); 952 mlx4_err(mdev, "Failed to allocate qp #%d\n", qpn);
953 goto out; 953 goto out;
954 return err;
955 } 954 }
956 qp->event = mlx4_en_sqp_event; 955 qp->event = mlx4_en_sqp_event;
957 956
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index b3185bf2c158..a400d7115f78 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -393,12 +393,12 @@ struct mv643xx_eth_private {
393 struct work_struct tx_timeout_task; 393 struct work_struct tx_timeout_task;
394 394
395 struct napi_struct napi; 395 struct napi_struct napi;
396 u8 oom;
396 u8 work_link; 397 u8 work_link;
397 u8 work_tx; 398 u8 work_tx;
398 u8 work_tx_end; 399 u8 work_tx_end;
399 u8 work_rx; 400 u8 work_rx;
400 u8 work_rx_refill; 401 u8 work_rx_refill;
401 u8 work_rx_oom;
402 402
403 int skb_size; 403 int skb_size;
404 struct sk_buff_head rx_recycle; 404 struct sk_buff_head rx_recycle;
@@ -661,7 +661,7 @@ static int rxq_refill(struct rx_queue *rxq, int budget)
661 dma_get_cache_alignment() - 1); 661 dma_get_cache_alignment() - 1);
662 662
663 if (skb == NULL) { 663 if (skb == NULL) {
664 mp->work_rx_oom |= 1 << rxq->index; 664 mp->oom = 1;
665 goto oom; 665 goto oom;
666 } 666 }
667 667
@@ -1255,7 +1255,6 @@ static void mib_counters_update(struct mv643xx_eth_private *mp)
1255 1255
1256 spin_lock_bh(&mp->mib_counters_lock); 1256 spin_lock_bh(&mp->mib_counters_lock);
1257 p->good_octets_received += mib_read(mp, 0x00); 1257 p->good_octets_received += mib_read(mp, 0x00);
1258 p->good_octets_received += (u64)mib_read(mp, 0x04) << 32;
1259 p->bad_octets_received += mib_read(mp, 0x08); 1258 p->bad_octets_received += mib_read(mp, 0x08);
1260 p->internal_mac_transmit_err += mib_read(mp, 0x0c); 1259 p->internal_mac_transmit_err += mib_read(mp, 0x0c);
1261 p->good_frames_received += mib_read(mp, 0x10); 1260 p->good_frames_received += mib_read(mp, 0x10);
@@ -1269,7 +1268,6 @@ static void mib_counters_update(struct mv643xx_eth_private *mp)
1269 p->frames_512_to_1023_octets += mib_read(mp, 0x30); 1268 p->frames_512_to_1023_octets += mib_read(mp, 0x30);
1270 p->frames_1024_to_max_octets += mib_read(mp, 0x34); 1269 p->frames_1024_to_max_octets += mib_read(mp, 0x34);
1271 p->good_octets_sent += mib_read(mp, 0x38); 1270 p->good_octets_sent += mib_read(mp, 0x38);
1272 p->good_octets_sent += (u64)mib_read(mp, 0x3c) << 32;
1273 p->good_frames_sent += mib_read(mp, 0x40); 1271 p->good_frames_sent += mib_read(mp, 0x40);
1274 p->excessive_collision += mib_read(mp, 0x44); 1272 p->excessive_collision += mib_read(mp, 0x44);
1275 p->multicast_frames_sent += mib_read(mp, 0x48); 1273 p->multicast_frames_sent += mib_read(mp, 0x48);
@@ -2167,8 +2165,10 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
2167 2165
2168 mp = container_of(napi, struct mv643xx_eth_private, napi); 2166 mp = container_of(napi, struct mv643xx_eth_private, napi);
2169 2167
2170 mp->work_rx_refill |= mp->work_rx_oom; 2168 if (unlikely(mp->oom)) {
2171 mp->work_rx_oom = 0; 2169 mp->oom = 0;
2170 del_timer(&mp->rx_oom);
2171 }
2172 2172
2173 work_done = 0; 2173 work_done = 0;
2174 while (work_done < budget) { 2174 while (work_done < budget) {
@@ -2182,8 +2182,10 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
2182 continue; 2182 continue;
2183 } 2183 }
2184 2184
2185 queue_mask = mp->work_tx | mp->work_tx_end | 2185 queue_mask = mp->work_tx | mp->work_tx_end | mp->work_rx;
2186 mp->work_rx | mp->work_rx_refill; 2186 if (likely(!mp->oom))
2187 queue_mask |= mp->work_rx_refill;
2188
2187 if (!queue_mask) { 2189 if (!queue_mask) {
2188 if (mv643xx_eth_collect_events(mp)) 2190 if (mv643xx_eth_collect_events(mp))
2189 continue; 2191 continue;
@@ -2204,7 +2206,7 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
2204 txq_maybe_wake(mp->txq + queue); 2206 txq_maybe_wake(mp->txq + queue);
2205 } else if (mp->work_rx & queue_mask) { 2207 } else if (mp->work_rx & queue_mask) {
2206 work_done += rxq_process(mp->rxq + queue, work_tbd); 2208 work_done += rxq_process(mp->rxq + queue, work_tbd);
2207 } else if (mp->work_rx_refill & queue_mask) { 2209 } else if (!mp->oom && (mp->work_rx_refill & queue_mask)) {
2208 work_done += rxq_refill(mp->rxq + queue, work_tbd); 2210 work_done += rxq_refill(mp->rxq + queue, work_tbd);
2209 } else { 2211 } else {
2210 BUG(); 2212 BUG();
@@ -2212,7 +2214,7 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
2212 } 2214 }
2213 2215
2214 if (work_done < budget) { 2216 if (work_done < budget) {
2215 if (mp->work_rx_oom) 2217 if (mp->oom)
2216 mod_timer(&mp->rx_oom, jiffies + (HZ / 10)); 2218 mod_timer(&mp->rx_oom, jiffies + (HZ / 10));
2217 napi_complete(napi); 2219 napi_complete(napi);
2218 wrlp(mp, INT_MASK, INT_TX_END | INT_RX | INT_EXT); 2220 wrlp(mp, INT_MASK, INT_TX_END | INT_RX | INT_EXT);
@@ -2372,7 +2374,7 @@ static int mv643xx_eth_open(struct net_device *dev)
2372 rxq_refill(mp->rxq + i, INT_MAX); 2374 rxq_refill(mp->rxq + i, INT_MAX);
2373 } 2375 }
2374 2376
2375 if (mp->work_rx_oom) { 2377 if (mp->oom) {
2376 mp->rx_oom.expires = jiffies + (HZ / 10); 2378 mp->rx_oom.expires = jiffies + (HZ / 10);
2377 add_timer(&mp->rx_oom); 2379 add_timer(&mp->rx_oom);
2378 } 2380 }
diff --git a/drivers/net/ne2k-pci.c b/drivers/net/ne2k-pci.c
index eb66f658f9d1..7d83896b8c26 100644
--- a/drivers/net/ne2k-pci.c
+++ b/drivers/net/ne2k-pci.c
@@ -374,18 +374,17 @@ static int __devinit ne2k_pci_init_one (struct pci_dev *pdev,
374 dev->ethtool_ops = &ne2k_pci_ethtool_ops; 374 dev->ethtool_ops = &ne2k_pci_ethtool_ops;
375 NS8390_init(dev, 0); 375 NS8390_init(dev, 0);
376 376
377 memcpy(dev->dev_addr, SA_prom, 6);
378 memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
379
377 i = register_netdev(dev); 380 i = register_netdev(dev);
378 if (i) 381 if (i)
379 goto err_out_free_netdev; 382 goto err_out_free_netdev;
380 383
381 for(i = 0; i < 6; i++)
382 dev->dev_addr[i] = SA_prom[i];
383 printk("%s: %s found at %#lx, IRQ %d, %pM.\n", 384 printk("%s: %s found at %#lx, IRQ %d, %pM.\n",
384 dev->name, pci_clone_list[chip_idx].name, ioaddr, dev->irq, 385 dev->name, pci_clone_list[chip_idx].name, ioaddr, dev->irq,
385 dev->dev_addr); 386 dev->dev_addr);
386 387
387 memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
388
389 return 0; 388 return 0;
390 389
391err_out_free_netdev: 390err_out_free_netdev:
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index eceadf787a67..bf4af5248cb7 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -664,7 +664,7 @@ static int netconsole_netdev_event(struct notifier_block *this,
664 struct netconsole_target *nt; 664 struct netconsole_target *nt;
665 struct net_device *dev = ptr; 665 struct net_device *dev = ptr;
666 666
667 if (!(event == NETDEV_CHANGENAME)) 667 if (!(event == NETDEV_CHANGENAME || event == NETDEV_UNREGISTER))
668 goto done; 668 goto done;
669 669
670 spin_lock_irqsave(&target_list_lock, flags); 670 spin_lock_irqsave(&target_list_lock, flags);
@@ -675,6 +675,15 @@ static int netconsole_netdev_event(struct notifier_block *this,
675 case NETDEV_CHANGENAME: 675 case NETDEV_CHANGENAME:
676 strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ); 676 strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ);
677 break; 677 break;
678 case NETDEV_UNREGISTER:
679 if (!nt->enabled)
680 break;
681 netpoll_cleanup(&nt->np);
682 nt->enabled = 0;
683 printk(KERN_INFO "netconsole: network logging stopped"
684 ", interface %s unregistered\n",
685 dev->name);
686 break;
678 } 687 }
679 } 688 }
680 netconsole_target_put(nt); 689 netconsole_target_put(nt);
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
index 8ee21030e9ac..dfc6cf765fbd 100644
--- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig
@@ -180,6 +180,20 @@ config USB_NET_CDCETHER
180 IEEE 802 "local assignment" bit is set in the address, a "usbX" 180 IEEE 802 "local assignment" bit is set in the address, a "usbX"
181 name is used instead. 181 name is used instead.
182 182
183config USB_NET_CDC_EEM
184 tristate "CDC EEM support"
185 depends on USB_USBNET && EXPERIMENTAL
186 help
187 This option supports devices conforming to the Communication Device
188 Class (CDC) Ethernet Emulation Model, a specification that's easy to
189 implement in device firmware. The CDC EEM specifications are available
190 from <http://www.usb.org/>.
191
192 This driver creates an interface named "ethX", where X depends on
193 what other networking devices you have in use. However, if the
194 IEEE 802 "local assignment" bit is set in the address, a "usbX"
195 name is used instead.
196
183config USB_NET_DM9601 197config USB_NET_DM9601
184 tristate "Davicom DM9601 based USB 1.1 10/100 ethernet devices" 198 tristate "Davicom DM9601 based USB 1.1 10/100 ethernet devices"
185 depends on USB_USBNET 199 depends on USB_USBNET
diff --git a/drivers/net/usb/Makefile b/drivers/net/usb/Makefile
index 88a87eeb376a..c8aef62cf2b7 100644
--- a/drivers/net/usb/Makefile
+++ b/drivers/net/usb/Makefile
@@ -9,6 +9,7 @@ obj-$(CONFIG_USB_RTL8150) += rtl8150.o
9obj-$(CONFIG_USB_HSO) += hso.o 9obj-$(CONFIG_USB_HSO) += hso.o
10obj-$(CONFIG_USB_NET_AX8817X) += asix.o 10obj-$(CONFIG_USB_NET_AX8817X) += asix.o
11obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o 11obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
12obj-$(CONFIG_USB_NET_CDC_EEM) += cdc_eem.o
12obj-$(CONFIG_USB_NET_DM9601) += dm9601.o 13obj-$(CONFIG_USB_NET_DM9601) += dm9601.o
13obj-$(CONFIG_USB_NET_SMSC95XX) += smsc95xx.o 14obj-$(CONFIG_USB_NET_SMSC95XX) += smsc95xx.o
14obj-$(CONFIG_USB_NET_GL620A) += gl620a.o 15obj-$(CONFIG_USB_NET_GL620A) += gl620a.o
diff --git a/drivers/net/usb/cdc_eem.c b/drivers/net/usb/cdc_eem.c
new file mode 100644
index 000000000000..80e01778dd3b
--- /dev/null
+++ b/drivers/net/usb/cdc_eem.c
@@ -0,0 +1,381 @@
1/*
2 * USB CDC EEM network interface driver
3 * Copyright (C) 2009 Oberthur Technologies
4 * by Omar Laazimani, Olivier Condemine
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
21#include <linux/module.h>
22#include <linux/init.h>
23#include <linux/netdevice.h>
24#include <linux/etherdevice.h>
25#include <linux/ctype.h>
26#include <linux/ethtool.h>
27#include <linux/workqueue.h>
28#include <linux/mii.h>
29#include <linux/usb.h>
30#include <linux/crc32.h>
31#include <linux/usb/cdc.h>
32#include <linux/usb/usbnet.h>
33
34
35/*
36 * This driver is an implementation of the CDC "Ethernet Emulation
37 * Model" (EEM) specification, which encapsulates Ethernet frames
38 * for transport over USB using a simpler USB device model than the
39 * previous CDC "Ethernet Control Model" (ECM, or "CDC Ethernet").
40 *
41 * For details, see www.usb.org/developers/devclass_docs/CDC_EEM10.pdf
42 *
43 * This version has been tested with GIGAntIC WuaoW SIM Smart Card on 2.6.24,
44 * 2.6.27 and 2.6.30rc2 kernel.
45 * It has also been validated on Openmoko Om 2008.12 (based on 2.6.24 kernel).
46 * build on 23-April-2009
47 */
48
49#define EEM_HEAD 2 /* 2 byte header */
50
51/*-------------------------------------------------------------------------*/
52
53static void eem_linkcmd_complete(struct urb *urb)
54{
55 dev_kfree_skb(urb->context);
56 usb_free_urb(urb);
57}
58
59static void eem_linkcmd(struct usbnet *dev, struct sk_buff *skb)
60{
61 struct urb *urb;
62 int status;
63
64 urb = usb_alloc_urb(0, GFP_ATOMIC);
65 if (!urb)
66 goto fail;
67
68 usb_fill_bulk_urb(urb, dev->udev, dev->out,
69 skb->data, skb->len, eem_linkcmd_complete, skb);
70
71 status = usb_submit_urb(urb, GFP_ATOMIC);
72 if (status) {
73 usb_free_urb(urb);
74fail:
75 dev_kfree_skb(skb);
76 devwarn(dev, "link cmd failure\n");
77 return;
78 }
79}
80
81static int eem_bind(struct usbnet *dev, struct usb_interface *intf)
82{
83 int status = 0;
84
85 status = usbnet_get_endpoints(dev, intf);
86 if (status < 0) {
87 usb_set_intfdata(intf, NULL);
88 usb_driver_release_interface(driver_of(intf), intf);
89 return status;
90 }
91
92 /* no jumbogram (16K) support for now */
93
94 dev->net->hard_header_len += EEM_HEAD + ETH_FCS_LEN;
95
96 return 0;
97}
98
99/*
100 * EEM permits packing multiple Ethernet frames into USB transfers
101 * (a "bundle"), but for TX we don't try to do that.
102 */
103static struct sk_buff *eem_tx_fixup(struct usbnet *dev, struct sk_buff *skb,
104 gfp_t flags)
105{
106 struct sk_buff *skb2 = NULL;
107 u16 len = skb->len;
108 u32 crc = 0;
109 int padlen = 0;
110
111 /* When ((len + EEM_HEAD + ETH_FCS_LEN) % dev->maxpacket) is
112 * zero, stick two bytes of zero length EEM packet on the end.
113 * Else the framework would add invalid single byte padding,
114 * since it can't know whether ZLPs will be handled right by
115 * all the relevant hardware and software.
116 */
117 if (!((len + EEM_HEAD + ETH_FCS_LEN) % dev->maxpacket))
118 padlen += 2;
119
120 if (!skb_cloned(skb)) {
121 int headroom = skb_headroom(skb);
122 int tailroom = skb_tailroom(skb);
123
124 if ((tailroom >= ETH_FCS_LEN + padlen)
125 && (headroom >= EEM_HEAD))
126 goto done;
127
128 if ((headroom + tailroom)
129 > (EEM_HEAD + ETH_FCS_LEN + padlen)) {
130 skb->data = memmove(skb->head +
131 EEM_HEAD,
132 skb->data,
133 skb->len);
134 skb_set_tail_pointer(skb, len);
135 goto done;
136 }
137 }
138
139 skb2 = skb_copy_expand(skb, EEM_HEAD, ETH_FCS_LEN + padlen, flags);
140 if (!skb2)
141 return NULL;
142
143 dev_kfree_skb_any(skb);
144 skb = skb2;
145
146done:
147 /* we don't use the "no Ethernet CRC" option */
148 crc = crc32_le(~0, skb->data, skb->len);
149 crc = ~crc;
150
151 put_unaligned_le32(crc, skb_put(skb, 4));
152
153 /* EEM packet header format:
154 * b0..13: length of ethernet frame
155 * b14: bmCRC (1 == valid Ethernet CRC)
156 * b15: bmType (0 == data)
157 */
158 len = skb->len;
159 put_unaligned_le16(BIT(14) | len, skb_push(skb, 2));
160
161 /* Bundle a zero length EEM packet if needed */
162 if (padlen)
163 put_unaligned_le16(0, skb_put(skb, 2));
164
165 return skb;
166}
167
168static int eem_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
169{
170 /*
171 * Our task here is to strip off framing, leaving skb with one
172 * data frame for the usbnet framework code to process. But we
173 * may have received multiple EEM payloads, or command payloads.
174 * So we must process _everything_ as if it's a header, except
175 * maybe the last data payload
176 *
177 * REVISIT the framework needs updating so that when we consume
178 * all payloads (the last or only message was a command, or a
179 * zero length EEM packet) that is not accounted as an rx_error.
180 */
181 do {
182 struct sk_buff *skb2 = NULL;
183 u16 header;
184 u16 len = 0;
185
186 /* incomplete EEM header? */
187 if (skb->len < EEM_HEAD)
188 return 0;
189
190 /*
191 * EEM packet header format:
192 * b0..14: EEM type dependant (Data or Command)
193 * b15: bmType
194 */
195 header = get_unaligned_le16(skb->data);
196 skb_pull(skb, EEM_HEAD);
197
198 /*
199 * The bmType bit helps to denote when EEM
200 * packet is data or command :
201 * bmType = 0 : EEM data payload
202 * bmType = 1 : EEM (link) command
203 */
204 if (header & BIT(15)) {
205 u16 bmEEMCmd;
206
207 /*
208 * EEM (link) command packet:
209 * b0..10: bmEEMCmdParam
210 * b11..13: bmEEMCmd
211 * b14: bmReserved (must be 0)
212 * b15: 1 (EEM command)
213 */
214 if (header & BIT(14)) {
215 devdbg(dev, "reserved command %04x\n", header);
216 continue;
217 }
218
219 bmEEMCmd = (header >> 11) & 0x7;
220 switch (bmEEMCmd) {
221
222 /* Responding to echo requests is mandatory. */
223 case 0: /* Echo command */
224 len = header & 0x7FF;
225
226 /* bogus command? */
227 if (skb->len < len)
228 return 0;
229
230 skb2 = skb_clone(skb, GFP_ATOMIC);
231 if (unlikely(!skb2))
232 goto next;
233 skb_trim(skb2, len);
234 put_unaligned_le16(BIT(15) | (1 << 11) | len,
235 skb_push(skb2, 2));
236 eem_linkcmd(dev, skb2);
237 break;
238
239 /*
240 * Host may choose to ignore hints.
241 * - suspend: peripheral ready to suspend
242 * - response: suggest N millisec polling
243 * - response complete: suggest N sec polling
244 */
245 case 2: /* Suspend hint */
246 case 3: /* Response hint */
247 case 4: /* Response complete hint */
248 continue;
249
250 /*
251 * Hosts should never receive host-to-peripheral
252 * or reserved command codes; or responses to an
253 * echo command we didn't send.
254 */
255 case 1: /* Echo response */
256 case 5: /* Tickle */
257 default: /* reserved */
258 devwarn(dev, "unexpected link command %d\n",
259 bmEEMCmd);
260 continue;
261 }
262
263 } else {
264 u32 crc, crc2;
265 int is_last;
266
267 /* zero length EEM packet? */
268 if (header == 0)
269 continue;
270
271 /*
272 * EEM data packet header :
273 * b0..13: length of ethernet frame
274 * b14: bmCRC
275 * b15: 0 (EEM data)
276 */
277 len = header & 0x3FFF;
278
279 /* bogus EEM payload? */
280 if (skb->len < len)
281 return 0;
282
283 /* bogus ethernet frame? */
284 if (len < (ETH_HLEN + ETH_FCS_LEN))
285 goto next;
286
287 /*
288 * Treat the last payload differently: framework
289 * code expects our "fixup" to have stripped off
290 * headers, so "skb" is a data packet (or error).
291 * Else if it's not the last payload, keep "skb"
292 * for further processing.
293 */
294 is_last = (len == skb->len);
295 if (is_last)
296 skb2 = skb;
297 else {
298 skb2 = skb_clone(skb, GFP_ATOMIC);
299 if (unlikely(!skb2))
300 return 0;
301 }
302
303 crc = get_unaligned_le32(skb2->data
304 + len - ETH_FCS_LEN);
305 skb_trim(skb2, len - ETH_FCS_LEN);
306
307 /*
308 * The bmCRC helps to denote when the CRC field in
309 * the Ethernet frame contains a calculated CRC:
310 * bmCRC = 1 : CRC is calculated
311 * bmCRC = 0 : CRC = 0xDEADBEEF
312 */
313 if (header & BIT(14))
314 crc2 = ~crc32_le(~0, skb2->data, len);
315 else
316 crc2 = 0xdeadbeef;
317
318 if (is_last)
319 return crc == crc2;
320
321 if (unlikely(crc != crc2)) {
322 dev->stats.rx_errors++;
323 dev_kfree_skb_any(skb2);
324 } else
325 usbnet_skb_return(dev, skb2);
326 }
327
328next:
329 skb_pull(skb, len);
330 } while (skb->len);
331
332 return 1;
333}
334
335static const struct driver_info eem_info = {
336 .description = "CDC EEM Device",
337 .flags = FLAG_ETHER,
338 .bind = eem_bind,
339 .rx_fixup = eem_rx_fixup,
340 .tx_fixup = eem_tx_fixup,
341};
342
343/*-------------------------------------------------------------------------*/
344
345static const struct usb_device_id products[] = {
346{
347 USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_EEM,
348 USB_CDC_PROTO_EEM),
349 .driver_info = (unsigned long) &eem_info,
350},
351{
352 /* EMPTY == end of list */
353},
354};
355MODULE_DEVICE_TABLE(usb, products);
356
357static struct usb_driver eem_driver = {
358 .name = "cdc_eem",
359 .id_table = products,
360 .probe = usbnet_probe,
361 .disconnect = usbnet_disconnect,
362 .suspend = usbnet_suspend,
363 .resume = usbnet_resume,
364};
365
366
367static int __init eem_init(void)
368{
369 return usb_register(&eem_driver);
370}
371module_init(eem_init);
372
373static void __exit eem_exit(void)
374{
375 usb_deregister(&eem_driver);
376}
377module_exit(eem_exit);
378
379MODULE_AUTHOR("Omar Laazimani <omar.oberthur@gmail.com>");
380MODULE_DESCRIPTION("USB CDC EEM");
381MODULE_LICENSE("GPL");
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
index dc1665326592..5a7283372b53 100644
--- a/drivers/net/usb/smsc95xx.c
+++ b/drivers/net/usb/smsc95xx.c
@@ -941,6 +941,16 @@ static int smsc95xx_reset(struct usbnet *dev)
941 if (netif_msg_ifup(dev)) 941 if (netif_msg_ifup(dev))
942 devdbg(dev, "ID_REV = 0x%08x", read_buf); 942 devdbg(dev, "ID_REV = 0x%08x", read_buf);
943 943
944 /* Configure GPIO pins as LED outputs */
945 write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED |
946 LED_GPIO_CFG_FDX_LED;
947 ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf);
948 if (ret < 0) {
949 devwarn(dev, "Failed to write LED_GPIO_CFG register, ret=%d",
950 ret);
951 return ret;
952 }
953
944 /* Init Tx */ 954 /* Init Tx */
945 write_buf = 0; 955 write_buf = 0;
946 ret = smsc95xx_write_reg(dev, FLOW, write_buf); 956 ret = smsc95xx_write_reg(dev, FLOW, write_buf);
@@ -1231,6 +1241,11 @@ static const struct usb_device_id products[] = {
1231 USB_DEVICE(0x0424, 0x9500), 1241 USB_DEVICE(0x0424, 0x9500),
1232 .driver_info = (unsigned long) &smsc95xx_info, 1242 .driver_info = (unsigned long) &smsc95xx_info,
1233 }, 1243 },
1244 {
1245 /* SMSC9512/9514 USB Hub & Ethernet Device */
1246 USB_DEVICE(0x0424, 0xec00),
1247 .driver_info = (unsigned long) &smsc95xx_info,
1248 },
1234 { }, /* END */ 1249 { }, /* END */
1235}; 1250};
1236MODULE_DEVICE_TABLE(usb, products); 1251MODULE_DEVICE_TABLE(usb, products);
diff --git a/drivers/net/usb/smsc95xx.h b/drivers/net/usb/smsc95xx.h
index 66b5c84f302e..86bc44977fbd 100644
--- a/drivers/net/usb/smsc95xx.h
+++ b/drivers/net/usb/smsc95xx.h
@@ -99,6 +99,9 @@
99#define PM_CTL_WUPS_MULTI_ (0x00000003) 99#define PM_CTL_WUPS_MULTI_ (0x00000003)
100 100
101#define LED_GPIO_CFG (0x24) 101#define LED_GPIO_CFG (0x24)
102#define LED_GPIO_CFG_SPD_LED (0x01000000)
103#define LED_GPIO_CFG_LNK_LED (0x00100000)
104#define LED_GPIO_CFG_FDX_LED (0x00010000)
102 105
103#define GPIO_CFG (0x28) 106#define GPIO_CFG (0x28)
104 107
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 9c82a39497e5..4d1d47953fc6 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -616,10 +616,11 @@ static int virtnet_open(struct net_device *dev)
616static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, 616static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd,
617 struct scatterlist *data, int out, int in) 617 struct scatterlist *data, int out, int in)
618{ 618{
619 struct scatterlist sg[VIRTNET_SEND_COMMAND_SG_MAX + 2]; 619 struct scatterlist *s, sg[VIRTNET_SEND_COMMAND_SG_MAX + 2];
620 struct virtio_net_ctrl_hdr ctrl; 620 struct virtio_net_ctrl_hdr ctrl;
621 virtio_net_ctrl_ack status = ~0; 621 virtio_net_ctrl_ack status = ~0;
622 unsigned int tmp; 622 unsigned int tmp;
623 int i;
623 624
624 if (!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)) { 625 if (!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)) {
625 BUG(); /* Caller should know better */ 626 BUG(); /* Caller should know better */
@@ -637,7 +638,8 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd,
637 sg_init_table(sg, out + in); 638 sg_init_table(sg, out + in);
638 639
639 sg_set_buf(&sg[0], &ctrl, sizeof(ctrl)); 640 sg_set_buf(&sg[0], &ctrl, sizeof(ctrl));
640 memcpy(&sg[1], data, sizeof(struct scatterlist) * (out + in - 2)); 641 for_each_sg(data, s, out + in - 2, i)
642 sg_set_buf(&sg[i + 1], sg_virt(s), s->length);
641 sg_set_buf(&sg[out + in - 1], &status, sizeof(status)); 643 sg_set_buf(&sg[out + in - 1], &status, sizeof(status));
642 644
643 if (vi->cvq->vq_ops->add_buf(vi->cvq, sg, out, in, vi) != 0) 645 if (vi->cvq->vq_ops->add_buf(vi->cvq, sg, out, in, vi) != 0)
@@ -692,7 +694,7 @@ static void virtnet_set_rx_mode(struct net_device *dev)
692 promisc = ((dev->flags & IFF_PROMISC) != 0); 694 promisc = ((dev->flags & IFF_PROMISC) != 0);
693 allmulti = ((dev->flags & IFF_ALLMULTI) != 0); 695 allmulti = ((dev->flags & IFF_ALLMULTI) != 0);
694 696
695 sg_set_buf(sg, &promisc, sizeof(promisc)); 697 sg_init_one(sg, &promisc, sizeof(promisc));
696 698
697 if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX, 699 if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX,
698 VIRTIO_NET_CTRL_RX_PROMISC, 700 VIRTIO_NET_CTRL_RX_PROMISC,
@@ -700,7 +702,7 @@ static void virtnet_set_rx_mode(struct net_device *dev)
700 dev_warn(&dev->dev, "Failed to %sable promisc mode.\n", 702 dev_warn(&dev->dev, "Failed to %sable promisc mode.\n",
701 promisc ? "en" : "dis"); 703 promisc ? "en" : "dis");
702 704
703 sg_set_buf(sg, &allmulti, sizeof(allmulti)); 705 sg_init_one(sg, &allmulti, sizeof(allmulti));
704 706
705 if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX, 707 if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX,
706 VIRTIO_NET_CTRL_RX_ALLMULTI, 708 VIRTIO_NET_CTRL_RX_ALLMULTI,
@@ -716,6 +718,8 @@ static void virtnet_set_rx_mode(struct net_device *dev)
716 return; 718 return;
717 } 719 }
718 720
721 sg_init_table(sg, 2);
722
719 /* Store the unicast list and count in the front of the buffer */ 723 /* Store the unicast list and count in the front of the buffer */
720 mac_data->entries = dev->uc_count; 724 mac_data->entries = dev->uc_count;
721 addr = dev->uc_list; 725 addr = dev->uc_list;
@@ -744,24 +748,24 @@ static void virtnet_set_rx_mode(struct net_device *dev)
744 kfree(buf); 748 kfree(buf);
745} 749}
746 750
747static void virnet_vlan_rx_add_vid(struct net_device *dev, u16 vid) 751static void virtnet_vlan_rx_add_vid(struct net_device *dev, u16 vid)
748{ 752{
749 struct virtnet_info *vi = netdev_priv(dev); 753 struct virtnet_info *vi = netdev_priv(dev);
750 struct scatterlist sg; 754 struct scatterlist sg;
751 755
752 sg_set_buf(&sg, &vid, sizeof(vid)); 756 sg_init_one(&sg, &vid, sizeof(vid));
753 757
754 if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_VLAN, 758 if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_VLAN,
755 VIRTIO_NET_CTRL_VLAN_ADD, &sg, 1, 0)) 759 VIRTIO_NET_CTRL_VLAN_ADD, &sg, 1, 0))
756 dev_warn(&dev->dev, "Failed to add VLAN ID %d.\n", vid); 760 dev_warn(&dev->dev, "Failed to add VLAN ID %d.\n", vid);
757} 761}
758 762
759static void virnet_vlan_rx_kill_vid(struct net_device *dev, u16 vid) 763static void virtnet_vlan_rx_kill_vid(struct net_device *dev, u16 vid)
760{ 764{
761 struct virtnet_info *vi = netdev_priv(dev); 765 struct virtnet_info *vi = netdev_priv(dev);
762 struct scatterlist sg; 766 struct scatterlist sg;
763 767
764 sg_set_buf(&sg, &vid, sizeof(vid)); 768 sg_init_one(&sg, &vid, sizeof(vid));
765 769
766 if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_VLAN, 770 if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_VLAN,
767 VIRTIO_NET_CTRL_VLAN_DEL, &sg, 1, 0)) 771 VIRTIO_NET_CTRL_VLAN_DEL, &sg, 1, 0))
@@ -794,8 +798,8 @@ static const struct net_device_ops virtnet_netdev = {
794 .ndo_set_mac_address = virtnet_set_mac_address, 798 .ndo_set_mac_address = virtnet_set_mac_address,
795 .ndo_set_rx_mode = virtnet_set_rx_mode, 799 .ndo_set_rx_mode = virtnet_set_rx_mode,
796 .ndo_change_mtu = virtnet_change_mtu, 800 .ndo_change_mtu = virtnet_change_mtu,
797 .ndo_vlan_rx_add_vid = virnet_vlan_rx_add_vid, 801 .ndo_vlan_rx_add_vid = virtnet_vlan_rx_add_vid,
798 .ndo_vlan_rx_kill_vid = virnet_vlan_rx_kill_vid, 802 .ndo_vlan_rx_kill_vid = virtnet_vlan_rx_kill_vid,
799#ifdef CONFIG_NET_POLL_CONTROLLER 803#ifdef CONFIG_NET_POLL_CONTROLLER
800 .ndo_poll_controller = virtnet_netpoll, 804 .ndo_poll_controller = virtnet_netpoll,
801#endif 805#endif
diff --git a/drivers/net/wan/ixp4xx_hss.c b/drivers/net/wan/ixp4xx_hss.c
index 3bf7d3f447db..765a7f5d6aa4 100644
--- a/drivers/net/wan/ixp4xx_hss.c
+++ b/drivers/net/wan/ixp4xx_hss.c
@@ -1249,7 +1249,7 @@ static int __devinit hss_init_one(struct platform_device *pdev)
1249 return -ENOMEM; 1249 return -ENOMEM;
1250 1250
1251 if ((port->npe = npe_request(0)) == NULL) { 1251 if ((port->npe = npe_request(0)) == NULL) {
1252 err = -ENOSYS; 1252 err = -ENODEV;
1253 goto err_free; 1253 goto err_free;
1254 } 1254 }
1255 1255
@@ -1311,7 +1311,7 @@ static int __init hss_init_module(void)
1311 if ((ixp4xx_read_feature_bits() & 1311 if ((ixp4xx_read_feature_bits() &
1312 (IXP4XX_FEATURE_HDLC | IXP4XX_FEATURE_HSS)) != 1312 (IXP4XX_FEATURE_HDLC | IXP4XX_FEATURE_HSS)) !=
1313 (IXP4XX_FEATURE_HDLC | IXP4XX_FEATURE_HSS)) 1313 (IXP4XX_FEATURE_HDLC | IXP4XX_FEATURE_HSS))
1314 return -ENOSYS; 1314 return -ENODEV;
1315 1315
1316 spin_lock_init(&npe_lock); 1316 spin_lock_init(&npe_lock);
1317 1317
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index c36d3a3d655f..d73475739127 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -6501,7 +6501,10 @@ static int airo_get_encode(struct net_device *dev,
6501 6501
6502 /* Copy the key to the user buffer */ 6502 /* Copy the key to the user buffer */
6503 dwrq->length = get_wep_key(local, index, &buf[0], sizeof(buf)); 6503 dwrq->length = get_wep_key(local, index, &buf[0], sizeof(buf));
6504 memcpy(extra, buf, dwrq->length); 6504 if (dwrq->length != -1)
6505 memcpy(extra, buf, dwrq->length);
6506 else
6507 dwrq->length = 0;
6505 6508
6506 return 0; 6509 return 0;
6507} 6510}
@@ -6659,7 +6662,10 @@ static int airo_get_encodeext(struct net_device *dev,
6659 6662
6660 /* Copy the key to the user buffer */ 6663 /* Copy the key to the user buffer */
6661 ext->key_len = get_wep_key(local, idx, &buf[0], sizeof(buf)); 6664 ext->key_len = get_wep_key(local, idx, &buf[0], sizeof(buf));
6662 memcpy(extra, buf, ext->key_len); 6665 if (ext->key_len != -1)
6666 memcpy(extra, buf, ext->key_len);
6667 else
6668 ext->key_len = 0;
6663 6669
6664 return 0; 6670 return 0;
6665} 6671}
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index a08bc8a4fb69..32df27a9c7a2 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -214,7 +214,7 @@ static struct pci_driver ath5k_pci_driver = {
214 * Prototypes - MAC 802.11 stack related functions 214 * Prototypes - MAC 802.11 stack related functions
215 */ 215 */
216static int ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb); 216static int ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb);
217static int ath5k_reset(struct ath5k_softc *sc, bool stop, bool change_channel); 217static int ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan);
218static int ath5k_reset_wake(struct ath5k_softc *sc); 218static int ath5k_reset_wake(struct ath5k_softc *sc);
219static int ath5k_start(struct ieee80211_hw *hw); 219static int ath5k_start(struct ieee80211_hw *hw);
220static void ath5k_stop(struct ieee80211_hw *hw); 220static void ath5k_stop(struct ieee80211_hw *hw);
@@ -1038,16 +1038,13 @@ ath5k_chan_set(struct ath5k_softc *sc, struct ieee80211_channel *chan)
1038 if (chan->center_freq != sc->curchan->center_freq || 1038 if (chan->center_freq != sc->curchan->center_freq ||
1039 chan->hw_value != sc->curchan->hw_value) { 1039 chan->hw_value != sc->curchan->hw_value) {
1040 1040
1041 sc->curchan = chan;
1042 sc->curband = &sc->sbands[chan->band];
1043
1044 /* 1041 /*
1045 * To switch channels clear any pending DMA operations; 1042 * To switch channels clear any pending DMA operations;
1046 * wait long enough for the RX fifo to drain, reset the 1043 * wait long enough for the RX fifo to drain, reset the
1047 * hardware at the new frequency, and then re-enable 1044 * hardware at the new frequency, and then re-enable
1048 * the relevant bits of the h/w. 1045 * the relevant bits of the h/w.
1049 */ 1046 */
1050 return ath5k_reset(sc, true, true); 1047 return ath5k_reset(sc, chan);
1051 } 1048 }
1052 1049
1053 return 0; 1050 return 0;
@@ -2314,7 +2311,7 @@ ath5k_init(struct ath5k_softc *sc)
2314 sc->imask = AR5K_INT_RXOK | AR5K_INT_RXERR | AR5K_INT_RXEOL | 2311 sc->imask = AR5K_INT_RXOK | AR5K_INT_RXERR | AR5K_INT_RXEOL |
2315 AR5K_INT_RXORN | AR5K_INT_TXDESC | AR5K_INT_TXEOL | 2312 AR5K_INT_RXORN | AR5K_INT_TXDESC | AR5K_INT_TXEOL |
2316 AR5K_INT_FATAL | AR5K_INT_GLOBAL; 2313 AR5K_INT_FATAL | AR5K_INT_GLOBAL;
2317 ret = ath5k_reset(sc, false, false); 2314 ret = ath5k_reset(sc, NULL);
2318 if (ret) 2315 if (ret)
2319 goto done; 2316 goto done;
2320 2317
@@ -2599,18 +2596,25 @@ drop_packet:
2599 return NETDEV_TX_OK; 2596 return NETDEV_TX_OK;
2600} 2597}
2601 2598
2599/*
2600 * Reset the hardware. If chan is not NULL, then also pause rx/tx
2601 * and change to the given channel.
2602 */
2602static int 2603static int
2603ath5k_reset(struct ath5k_softc *sc, bool stop, bool change_channel) 2604ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan)
2604{ 2605{
2605 struct ath5k_hw *ah = sc->ah; 2606 struct ath5k_hw *ah = sc->ah;
2606 int ret; 2607 int ret;
2607 2608
2608 ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "resetting\n"); 2609 ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "resetting\n");
2609 2610
2610 if (stop) { 2611 if (chan) {
2611 ath5k_hw_set_imr(ah, 0); 2612 ath5k_hw_set_imr(ah, 0);
2612 ath5k_txq_cleanup(sc); 2613 ath5k_txq_cleanup(sc);
2613 ath5k_rx_stop(sc); 2614 ath5k_rx_stop(sc);
2615
2616 sc->curchan = chan;
2617 sc->curband = &sc->sbands[chan->band];
2614 } 2618 }
2615 ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, true); 2619 ret = ath5k_hw_reset(ah, sc->opmode, sc->curchan, true);
2616 if (ret) { 2620 if (ret) {
@@ -2648,7 +2652,7 @@ ath5k_reset_wake(struct ath5k_softc *sc)
2648{ 2652{
2649 int ret; 2653 int ret;
2650 2654
2651 ret = ath5k_reset(sc, true, true); 2655 ret = ath5k_reset(sc, sc->curchan);
2652 if (!ret) 2656 if (!ret)
2653 ieee80211_wake_queues(sc->hw); 2657 ieee80211_wake_queues(sc->hw);
2654 2658
diff --git a/drivers/net/wireless/ath5k/debug.c b/drivers/net/wireless/ath5k/debug.c
index 9770bb3d40f9..4904a07e4b59 100644
--- a/drivers/net/wireless/ath5k/debug.c
+++ b/drivers/net/wireless/ath5k/debug.c
@@ -424,7 +424,7 @@ ath5k_debug_dump_bands(struct ath5k_softc *sc)
424 424
425 for (b = 0; b < IEEE80211_NUM_BANDS; b++) { 425 for (b = 0; b < IEEE80211_NUM_BANDS; b++) {
426 struct ieee80211_supported_band *band = &sc->sbands[b]; 426 struct ieee80211_supported_band *band = &sc->sbands[b];
427 char bname[5]; 427 char bname[6];
428 switch (band->band) { 428 switch (band->band) {
429 case IEEE80211_BAND_2GHZ: 429 case IEEE80211_BAND_2GHZ:
430 strcpy(bname, "2 GHz"); 430 strcpy(bname, "2 GHz");
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index edfa5e149f71..bd438d8acf55 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -101,8 +101,8 @@ struct iwl_cfg iwl6000_2agn_cfg = {
101 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 101 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
102 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 102 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
103 .mod_params = &iwl50_mod_params, 103 .mod_params = &iwl50_mod_params,
104 .valid_tx_ant = ANT_BC, 104 .valid_tx_ant = ANT_AB,
105 .valid_rx_ant = ANT_BC, 105 .valid_rx_ant = ANT_AB,
106 .need_pll_cfg = false, 106 .need_pll_cfg = false,
107}; 107};
108 108
@@ -117,8 +117,8 @@ struct iwl_cfg iwl6050_2agn_cfg = {
117 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 117 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
118 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 118 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
119 .mod_params = &iwl50_mod_params, 119 .mod_params = &iwl50_mod_params,
120 .valid_tx_ant = ANT_BC, 120 .valid_tx_ant = ANT_AB,
121 .valid_rx_ant = ANT_BC, 121 .valid_rx_ant = ANT_AB,
122 .need_pll_cfg = false, 122 .need_pll_cfg = false,
123}; 123};
124 124
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 1ef4192207a5..3bb28db4a40f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -3636,7 +3636,9 @@ static struct pci_device_id iwl_hw_card_ids[] = {
3636 {IWL_PCI_DEVICE(0x0085, 0x1112, iwl6000_2ag_cfg)}, 3636 {IWL_PCI_DEVICE(0x0085, 0x1112, iwl6000_2ag_cfg)},
3637 {IWL_PCI_DEVICE(0x0082, 0x1122, iwl6000_2ag_cfg)}, 3637 {IWL_PCI_DEVICE(0x0082, 0x1122, iwl6000_2ag_cfg)},
3638 {IWL_PCI_DEVICE(0x422B, PCI_ANY_ID, iwl6000_3agn_cfg)}, 3638 {IWL_PCI_DEVICE(0x422B, PCI_ANY_ID, iwl6000_3agn_cfg)},
3639 {IWL_PCI_DEVICE(0x422C, PCI_ANY_ID, iwl6000_2agn_cfg)},
3639 {IWL_PCI_DEVICE(0x4238, PCI_ANY_ID, iwl6000_3agn_cfg)}, 3640 {IWL_PCI_DEVICE(0x4238, PCI_ANY_ID, iwl6000_3agn_cfg)},
3641 {IWL_PCI_DEVICE(0x4239, PCI_ANY_ID, iwl6000_2agn_cfg)},
3640 {IWL_PCI_DEVICE(0x0082, PCI_ANY_ID, iwl6000_2agn_cfg)}, 3642 {IWL_PCI_DEVICE(0x0082, PCI_ANY_ID, iwl6000_2agn_cfg)},
3641 {IWL_PCI_DEVICE(0x0085, PCI_ANY_ID, iwl6000_3agn_cfg)}, 3643 {IWL_PCI_DEVICE(0x0085, PCI_ANY_ID, iwl6000_3agn_cfg)},
3642 {IWL_PCI_DEVICE(0x0086, PCI_ANY_ID, iwl6050_3agn_cfg)}, 3644 {IWL_PCI_DEVICE(0x0086, PCI_ANY_ID, iwl6050_3agn_cfg)},
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
index 23644cf884f1..e7c65c4f741b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-scan.c
+++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
@@ -925,11 +925,11 @@ void iwl_bg_scan_completed(struct work_struct *work)
925 925
926 IWL_DEBUG_SCAN(priv, "SCAN complete scan\n"); 926 IWL_DEBUG_SCAN(priv, "SCAN complete scan\n");
927 927
928 ieee80211_scan_completed(priv->hw, false);
929
928 if (test_bit(STATUS_EXIT_PENDING, &priv->status)) 930 if (test_bit(STATUS_EXIT_PENDING, &priv->status))
929 return; 931 return;
930 932
931 ieee80211_scan_completed(priv->hw, false);
932
933 /* Since setting the TXPOWER may have been deferred while 933 /* Since setting the TXPOWER may have been deferred while
934 * performing the scan, fire one off */ 934 * performing the scan, fire one off */
935 mutex_lock(&priv->mutex); 935 mutex_lock(&priv->mutex);
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c
index 5798fe49c771..44ab03a12e40 100644
--- a/drivers/net/wireless/iwlwifi/iwl-sta.c
+++ b/drivers/net/wireless/iwlwifi/iwl-sta.c
@@ -719,6 +719,14 @@ static int iwl_set_tkip_dynamic_key_info(struct iwl_priv *priv,
719{ 719{
720 unsigned long flags; 720 unsigned long flags;
721 int ret = 0; 721 int ret = 0;
722 __le16 key_flags = 0;
723
724 key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK);
725 key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS);
726 key_flags &= ~STA_KEY_FLG_INVALID;
727
728 if (sta_id == priv->hw_params.bcast_sta_id)
729 key_flags |= STA_KEY_MULTICAST_MSK;
722 730
723 keyconf->flags |= IEEE80211_KEY_FLAG_GENERATE_IV; 731 keyconf->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;
724 keyconf->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIC; 732 keyconf->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIC;
@@ -738,6 +746,9 @@ static int iwl_set_tkip_dynamic_key_info(struct iwl_priv *priv,
738 WARN(priv->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET, 746 WARN(priv->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET,
739 "no space for a new key"); 747 "no space for a new key");
740 748
749 priv->stations[sta_id].sta.key.key_flags = key_flags;
750
751
741 /* This copy is acutally not needed: we get the key with each TX */ 752 /* This copy is acutally not needed: we get the key with each TX */
742 memcpy(priv->stations[sta_id].keyinfo.key, keyconf->key, 16); 753 memcpy(priv->stations[sta_id].keyinfo.key, keyconf->key, 16);
743 754
@@ -754,9 +765,7 @@ void iwl_update_tkip_key(struct iwl_priv *priv,
754{ 765{
755 u8 sta_id = IWL_INVALID_STATION; 766 u8 sta_id = IWL_INVALID_STATION;
756 unsigned long flags; 767 unsigned long flags;
757 __le16 key_flags = 0;
758 int i; 768 int i;
759 DECLARE_MAC_BUF(mac);
760 769
761 sta_id = iwl_find_station(priv, addr); 770 sta_id = iwl_find_station(priv, addr);
762 if (sta_id == IWL_INVALID_STATION) { 771 if (sta_id == IWL_INVALID_STATION) {
@@ -771,16 +780,8 @@ void iwl_update_tkip_key(struct iwl_priv *priv,
771 return; 780 return;
772 } 781 }
773 782
774 key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK);
775 key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS);
776 key_flags &= ~STA_KEY_FLG_INVALID;
777
778 if (sta_id == priv->hw_params.bcast_sta_id)
779 key_flags |= STA_KEY_MULTICAST_MSK;
780
781 spin_lock_irqsave(&priv->sta_lock, flags); 783 spin_lock_irqsave(&priv->sta_lock, flags);
782 784
783 priv->stations[sta_id].sta.key.key_flags = key_flags;
784 priv->stations[sta_id].sta.key.tkip_rx_tsc_byte2 = (u8) iv32; 785 priv->stations[sta_id].sta.key.tkip_rx_tsc_byte2 = (u8) iv32;
785 786
786 for (i = 0; i < 5; i++) 787 for (i = 0; i < 5; i++)
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 617c4235d971..4cce66133500 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -1694,7 +1694,6 @@ void iwl3945_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
1694 rxq->free_count = 0; 1694 rxq->free_count = 0;
1695 spin_unlock_irqrestore(&rxq->lock, flags); 1695 spin_unlock_irqrestore(&rxq->lock, flags);
1696} 1696}
1697EXPORT_SYMBOL(iwl3945_rx_queue_reset);
1698 1697
1699/* 1698/*
1700 * this should be called while priv->lock is locked 1699 * this should be called while priv->lock is locked
@@ -1745,7 +1744,6 @@ static void iwl3945_rx_queue_free(struct iwl_priv *priv, struct iwl_rx_queue *rx
1745 rxq->bd = NULL; 1744 rxq->bd = NULL;
1746 rxq->rb_stts = NULL; 1745 rxq->rb_stts = NULL;
1747} 1746}
1748EXPORT_SYMBOL(iwl3945_rx_queue_free);
1749 1747
1750 1748
1751/* Convert linear signal-to-noise ratio into dB */ 1749/* Convert linear signal-to-noise ratio into dB */
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c
index db91db776508..bebf735cd4bd 100644
--- a/drivers/net/wireless/rndis_wlan.c
+++ b/drivers/net/wireless/rndis_wlan.c
@@ -2558,6 +2558,11 @@ static int rndis_wext_bind(struct usbnet *usbdev, struct usb_interface *intf)
2558 mutex_init(&priv->command_lock); 2558 mutex_init(&priv->command_lock);
2559 spin_lock_init(&priv->stats_lock); 2559 spin_lock_init(&priv->stats_lock);
2560 2560
2561 /* because rndis_command() sleeps we need to use workqueue */
2562 priv->workqueue = create_singlethread_workqueue("rndis_wlan");
2563 INIT_WORK(&priv->work, rndis_wext_worker);
2564 INIT_DELAYED_WORK(&priv->stats_work, rndis_update_wireless_stats);
2565
2561 /* try bind rndis_host */ 2566 /* try bind rndis_host */
2562 retval = generic_rndis_bind(usbdev, intf, FLAG_RNDIS_PHYM_WIRELESS); 2567 retval = generic_rndis_bind(usbdev, intf, FLAG_RNDIS_PHYM_WIRELESS);
2563 if (retval < 0) 2568 if (retval < 0)
@@ -2603,16 +2608,17 @@ static int rndis_wext_bind(struct usbnet *usbdev, struct usb_interface *intf)
2603 disassociate(usbdev, 1); 2608 disassociate(usbdev, 1);
2604 netif_carrier_off(usbdev->net); 2609 netif_carrier_off(usbdev->net);
2605 2610
2606 /* because rndis_command() sleeps we need to use workqueue */
2607 priv->workqueue = create_singlethread_workqueue("rndis_wlan");
2608 INIT_DELAYED_WORK(&priv->stats_work, rndis_update_wireless_stats);
2609 queue_delayed_work(priv->workqueue, &priv->stats_work, 2611 queue_delayed_work(priv->workqueue, &priv->stats_work,
2610 round_jiffies_relative(STATS_UPDATE_JIFFIES)); 2612 round_jiffies_relative(STATS_UPDATE_JIFFIES));
2611 INIT_WORK(&priv->work, rndis_wext_worker);
2612 2613
2613 return 0; 2614 return 0;
2614 2615
2615fail: 2616fail:
2617 cancel_delayed_work_sync(&priv->stats_work);
2618 cancel_work_sync(&priv->work);
2619 flush_workqueue(priv->workqueue);
2620 destroy_workqueue(priv->workqueue);
2621
2616 kfree(priv); 2622 kfree(priv);
2617 return retval; 2623 return retval;
2618} 2624}
diff --git a/drivers/net/wireless/rtl818x/rtl8187.h b/drivers/net/wireless/rtl818x/rtl8187.h
index 9718f61809cf..edeff82a4d06 100644
--- a/drivers/net/wireless/rtl818x/rtl8187.h
+++ b/drivers/net/wireless/rtl818x/rtl8187.h
@@ -120,6 +120,12 @@ struct rtl8187_priv {
120 __le64 buf; 120 __le64 buf;
121 struct sk_buff_head queue; 121 struct sk_buff_head queue;
122 } b_tx_status; /* This queue is used by both -b and non-b devices */ 122 } b_tx_status; /* This queue is used by both -b and non-b devices */
123 struct mutex io_mutex;
124 union {
125 u8 bits8;
126 __le16 bits16;
127 __le32 bits32;
128 } *io_dmabuf;
123}; 129};
124 130
125void rtl8187_write_phy(struct ieee80211_hw *dev, u8 addr, u32 data); 131void rtl8187_write_phy(struct ieee80211_hw *dev, u8 addr, u32 data);
@@ -129,10 +135,14 @@ static inline u8 rtl818x_ioread8_idx(struct rtl8187_priv *priv,
129{ 135{
130 u8 val; 136 u8 val;
131 137
138 mutex_lock(&priv->io_mutex);
132 usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), 139 usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0),
133 RTL8187_REQ_GET_REG, RTL8187_REQT_READ, 140 RTL8187_REQ_GET_REG, RTL8187_REQT_READ,
134 (unsigned long)addr, idx & 0x03, &val, 141 (unsigned long)addr, idx & 0x03,
135 sizeof(val), HZ / 2); 142 &priv->io_dmabuf->bits8, sizeof(val), HZ / 2);
143
144 val = priv->io_dmabuf->bits8;
145 mutex_unlock(&priv->io_mutex);
136 146
137 return val; 147 return val;
138} 148}
@@ -147,10 +157,14 @@ static inline u16 rtl818x_ioread16_idx(struct rtl8187_priv *priv,
147{ 157{
148 __le16 val; 158 __le16 val;
149 159
160 mutex_lock(&priv->io_mutex);
150 usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), 161 usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0),
151 RTL8187_REQ_GET_REG, RTL8187_REQT_READ, 162 RTL8187_REQ_GET_REG, RTL8187_REQT_READ,
152 (unsigned long)addr, idx & 0x03, &val, 163 (unsigned long)addr, idx & 0x03,
153 sizeof(val), HZ / 2); 164 &priv->io_dmabuf->bits16, sizeof(val), HZ / 2);
165
166 val = priv->io_dmabuf->bits16;
167 mutex_unlock(&priv->io_mutex);
154 168
155 return le16_to_cpu(val); 169 return le16_to_cpu(val);
156} 170}
@@ -165,10 +179,14 @@ static inline u32 rtl818x_ioread32_idx(struct rtl8187_priv *priv,
165{ 179{
166 __le32 val; 180 __le32 val;
167 181
182 mutex_lock(&priv->io_mutex);
168 usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0), 183 usb_control_msg(priv->udev, usb_rcvctrlpipe(priv->udev, 0),
169 RTL8187_REQ_GET_REG, RTL8187_REQT_READ, 184 RTL8187_REQ_GET_REG, RTL8187_REQT_READ,
170 (unsigned long)addr, idx & 0x03, &val, 185 (unsigned long)addr, idx & 0x03,
171 sizeof(val), HZ / 2); 186 &priv->io_dmabuf->bits32, sizeof(val), HZ / 2);
187
188 val = priv->io_dmabuf->bits32;
189 mutex_unlock(&priv->io_mutex);
172 190
173 return le32_to_cpu(val); 191 return le32_to_cpu(val);
174} 192}
@@ -181,10 +199,15 @@ static inline u32 rtl818x_ioread32(struct rtl8187_priv *priv, __le32 *addr)
181static inline void rtl818x_iowrite8_idx(struct rtl8187_priv *priv, 199static inline void rtl818x_iowrite8_idx(struct rtl8187_priv *priv,
182 u8 *addr, u8 val, u8 idx) 200 u8 *addr, u8 val, u8 idx)
183{ 201{
202 mutex_lock(&priv->io_mutex);
203
204 priv->io_dmabuf->bits8 = val;
184 usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), 205 usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0),
185 RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, 206 RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE,
186 (unsigned long)addr, idx & 0x03, &val, 207 (unsigned long)addr, idx & 0x03,
187 sizeof(val), HZ / 2); 208 &priv->io_dmabuf->bits8, sizeof(val), HZ / 2);
209
210 mutex_unlock(&priv->io_mutex);
188} 211}
189 212
190static inline void rtl818x_iowrite8(struct rtl8187_priv *priv, u8 *addr, u8 val) 213static inline void rtl818x_iowrite8(struct rtl8187_priv *priv, u8 *addr, u8 val)
@@ -195,12 +218,15 @@ static inline void rtl818x_iowrite8(struct rtl8187_priv *priv, u8 *addr, u8 val)
195static inline void rtl818x_iowrite16_idx(struct rtl8187_priv *priv, 218static inline void rtl818x_iowrite16_idx(struct rtl8187_priv *priv,
196 __le16 *addr, u16 val, u8 idx) 219 __le16 *addr, u16 val, u8 idx)
197{ 220{
198 __le16 buf = cpu_to_le16(val); 221 mutex_lock(&priv->io_mutex);
199 222
223 priv->io_dmabuf->bits16 = cpu_to_le16(val);
200 usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), 224 usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0),
201 RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, 225 RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE,
202 (unsigned long)addr, idx & 0x03, &buf, sizeof(buf), 226 (unsigned long)addr, idx & 0x03,
203 HZ / 2); 227 &priv->io_dmabuf->bits16, sizeof(val), HZ / 2);
228
229 mutex_unlock(&priv->io_mutex);
204} 230}
205 231
206static inline void rtl818x_iowrite16(struct rtl8187_priv *priv, __le16 *addr, 232static inline void rtl818x_iowrite16(struct rtl8187_priv *priv, __le16 *addr,
@@ -212,12 +238,15 @@ static inline void rtl818x_iowrite16(struct rtl8187_priv *priv, __le16 *addr,
212static inline void rtl818x_iowrite32_idx(struct rtl8187_priv *priv, 238static inline void rtl818x_iowrite32_idx(struct rtl8187_priv *priv,
213 __le32 *addr, u32 val, u8 idx) 239 __le32 *addr, u32 val, u8 idx)
214{ 240{
215 __le32 buf = cpu_to_le32(val); 241 mutex_lock(&priv->io_mutex);
216 242
243 priv->io_dmabuf->bits32 = cpu_to_le32(val);
217 usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), 244 usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0),
218 RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, 245 RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE,
219 (unsigned long)addr, idx & 0x03, &buf, sizeof(buf), 246 (unsigned long)addr, idx & 0x03,
220 HZ / 2); 247 &priv->io_dmabuf->bits32, sizeof(val), HZ / 2);
248
249 mutex_unlock(&priv->io_mutex);
221} 250}
222 251
223static inline void rtl818x_iowrite32(struct rtl8187_priv *priv, __le32 *addr, 252static inline void rtl818x_iowrite32(struct rtl8187_priv *priv, __le32 *addr,
diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c
index fd81884b9c7d..bac6cfba6abd 100644
--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c
@@ -1329,6 +1329,14 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
1329 priv = dev->priv; 1329 priv = dev->priv;
1330 priv->is_rtl8187b = (id->driver_info == DEVICE_RTL8187B); 1330 priv->is_rtl8187b = (id->driver_info == DEVICE_RTL8187B);
1331 1331
1332 /* allocate "DMA aware" buffer for register accesses */
1333 priv->io_dmabuf = kmalloc(sizeof(*priv->io_dmabuf), GFP_KERNEL);
1334 if (!priv->io_dmabuf) {
1335 err = -ENOMEM;
1336 goto err_free_dev;
1337 }
1338 mutex_init(&priv->io_mutex);
1339
1332 SET_IEEE80211_DEV(dev, &intf->dev); 1340 SET_IEEE80211_DEV(dev, &intf->dev);
1333 usb_set_intfdata(intf, dev); 1341 usb_set_intfdata(intf, dev);
1334 priv->udev = udev; 1342 priv->udev = udev;
@@ -1495,7 +1503,7 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
1495 err = ieee80211_register_hw(dev); 1503 err = ieee80211_register_hw(dev);
1496 if (err) { 1504 if (err) {
1497 printk(KERN_ERR "rtl8187: Cannot register device\n"); 1505 printk(KERN_ERR "rtl8187: Cannot register device\n");
1498 goto err_free_dev; 1506 goto err_free_dmabuf;
1499 } 1507 }
1500 mutex_init(&priv->conf_mutex); 1508 mutex_init(&priv->conf_mutex);
1501 skb_queue_head_init(&priv->b_tx_status.queue); 1509 skb_queue_head_init(&priv->b_tx_status.queue);
@@ -1506,6 +1514,8 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
1506 1514
1507 return 0; 1515 return 0;
1508 1516
1517 err_free_dmabuf:
1518 kfree(priv->io_dmabuf);
1509 err_free_dev: 1519 err_free_dev:
1510 ieee80211_free_hw(dev); 1520 ieee80211_free_hw(dev);
1511 usb_set_intfdata(intf, NULL); 1521 usb_set_intfdata(intf, NULL);
@@ -1526,6 +1536,7 @@ static void __devexit rtl8187_disconnect(struct usb_interface *intf)
1526 priv = dev->priv; 1536 priv = dev->priv;
1527 usb_reset_device(priv->udev); 1537 usb_reset_device(priv->udev);
1528 usb_put_dev(interface_to_usbdev(intf)); 1538 usb_put_dev(interface_to_usbdev(intf));
1539 kfree(priv->io_dmabuf);
1529 ieee80211_free_hw(dev); 1540 ieee80211_free_hw(dev);
1530} 1541}
1531 1542
diff --git a/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c b/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c
index 78df281b297a..a09819386a1e 100644
--- a/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c
@@ -88,9 +88,15 @@ static void rtl8225_write_8051(struct ieee80211_hw *dev, u8 addr, __le16 data)
88 rtl818x_iowrite16(priv, &priv->map->RFPinsOutput, reg80); 88 rtl818x_iowrite16(priv, &priv->map->RFPinsOutput, reg80);
89 udelay(10); 89 udelay(10);
90 90
91 mutex_lock(&priv->io_mutex);
92
93 priv->io_dmabuf->bits16 = data;
91 usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0), 94 usb_control_msg(priv->udev, usb_sndctrlpipe(priv->udev, 0),
92 RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE, 95 RTL8187_REQ_SET_REG, RTL8187_REQT_WRITE,
93 addr, 0x8225, &data, sizeof(data), HZ / 2); 96 addr, 0x8225, &priv->io_dmabuf->bits16, sizeof(data),
97 HZ / 2);
98
99 mutex_unlock(&priv->io_mutex);
94 100
95 rtl818x_iowrite16(priv, &priv->map->RFPinsOutput, reg80 | (1 << 2)); 101 rtl818x_iowrite16(priv, &priv->map->RFPinsOutput, reg80 | (1 << 2));
96 udelay(10); 102 udelay(10);
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
index 001b328adf80..a563fbe559d0 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
@@ -59,6 +59,10 @@
59#define DMA_32BIT_PFN IOVA_PFN(DMA_BIT_MASK(32)) 59#define DMA_32BIT_PFN IOVA_PFN(DMA_BIT_MASK(32))
60#define DMA_64BIT_PFN IOVA_PFN(DMA_BIT_MASK(64)) 60#define DMA_64BIT_PFN IOVA_PFN(DMA_BIT_MASK(64))
61 61
62#ifndef PHYSICAL_PAGE_MASK
63#define PHYSICAL_PAGE_MASK PAGE_MASK
64#endif
65
62/* global iommu list, set NULL for ignored DMAR units */ 66/* global iommu list, set NULL for ignored DMAR units */
63static struct intel_iommu **g_iommus; 67static struct intel_iommu **g_iommus;
64 68
@@ -1216,7 +1220,7 @@ static void dmar_init_reserved_ranges(void)
1216 if (!r->flags || !(r->flags & IORESOURCE_MEM)) 1220 if (!r->flags || !(r->flags & IORESOURCE_MEM))
1217 continue; 1221 continue;
1218 addr = r->start; 1222 addr = r->start;
1219 addr &= PAGE_MASK; 1223 addr &= PHYSICAL_PAGE_MASK;
1220 size = r->end - addr; 1224 size = r->end - addr;
1221 size = PAGE_ALIGN(size); 1225 size = PAGE_ALIGN(size);
1222 iova = reserve_iova(&reserved_iova_list, IOVA_PFN(addr), 1226 iova = reserve_iova(&reserved_iova_list, IOVA_PFN(addr),
@@ -2173,7 +2177,8 @@ static dma_addr_t __intel_map_single(struct device *hwdev, phys_addr_t paddr,
2173 * is not a big problem 2177 * is not a big problem
2174 */ 2178 */
2175 ret = domain_page_mapping(domain, start_paddr, 2179 ret = domain_page_mapping(domain, start_paddr,
2176 ((u64)paddr) & PAGE_MASK, size, prot); 2180 ((u64)paddr) & PHYSICAL_PAGE_MASK,
2181 size, prot);
2177 if (ret) 2182 if (ret)
2178 goto error; 2183 goto error;
2179 2184
@@ -2463,8 +2468,8 @@ static int intel_map_sg(struct device *hwdev, struct scatterlist *sglist, int ne
2463 addr = page_to_phys(sg_page(sg)) + sg->offset; 2468 addr = page_to_phys(sg_page(sg)) + sg->offset;
2464 size = aligned_size((u64)addr, sg->length); 2469 size = aligned_size((u64)addr, sg->length);
2465 ret = domain_page_mapping(domain, start_addr + offset, 2470 ret = domain_page_mapping(domain, start_addr + offset,
2466 ((u64)addr) & PAGE_MASK, 2471 ((u64)addr) & PHYSICAL_PAGE_MASK,
2467 size, prot); 2472 size, prot);
2468 if (ret) { 2473 if (ret) {
2469 /* clear the page */ 2474 /* clear the page */
2470 dma_pte_clear_range(domain, start_addr, 2475 dma_pte_clear_range(domain, start_addr,
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 6f2e6295e773..362773247fbf 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -455,8 +455,6 @@ static int msix_capability_init(struct pci_dev *dev,
455 entry->msi_attrib.default_irq = dev->irq; 455 entry->msi_attrib.default_irq = dev->irq;
456 entry->msi_attrib.pos = pos; 456 entry->msi_attrib.pos = pos;
457 entry->mask_base = base; 457 entry->mask_base = base;
458 entry->masked = readl(base + j * PCI_MSIX_ENTRY_SIZE +
459 PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET);
460 msix_mask_irq(entry, 1); 458 msix_mask_irq(entry, 1);
461 459
462 list_add_tail(&entry->list, &dev->msi_list); 460 list_add_tail(&entry->list, &dev->msi_list);
@@ -493,6 +491,12 @@ static int msix_capability_init(struct pci_dev *dev,
493 msix_set_enable(dev, 1); 491 msix_set_enable(dev, 1);
494 dev->msix_enabled = 1; 492 dev->msix_enabled = 1;
495 493
494 list_for_each_entry(entry, &dev->msi_list, list) {
495 int vector = entry->msi_attrib.entry_nr;
496 entry->masked = readl(base + vector * PCI_MSIX_ENTRY_SIZE +
497 PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET);
498 }
499
496 return 0; 500 return 0;
497} 501}
498 502
diff --git a/drivers/pci/pcie/aer/aerdrv.h b/drivers/pci/pcie/aer/aerdrv.h
index c7ad68b6c6d6..aa14482a4779 100644
--- a/drivers/pci/pcie/aer/aerdrv.h
+++ b/drivers/pci/pcie/aer/aerdrv.h
@@ -95,6 +95,9 @@ struct aer_broadcast_data {
95static inline pci_ers_result_t merge_result(enum pci_ers_result orig, 95static inline pci_ers_result_t merge_result(enum pci_ers_result orig,
96 enum pci_ers_result new) 96 enum pci_ers_result new)
97{ 97{
98 if (new == PCI_ERS_RESULT_NONE)
99 return orig;
100
98 switch (orig) { 101 switch (orig) {
99 case PCI_ERS_RESULT_CAN_RECOVER: 102 case PCI_ERS_RESULT_CAN_RECOVER:
100 case PCI_ERS_RESULT_RECOVERED: 103 case PCI_ERS_RESULT_RECOVERED:
diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c
index b924e2463f85..091ce70051e0 100644
--- a/drivers/pci/pcie/portdrv_pci.c
+++ b/drivers/pci/pcie/portdrv_pci.c
@@ -200,7 +200,7 @@ static int slot_reset_iter(struct device *device, void *data)
200 200
201static pci_ers_result_t pcie_portdrv_slot_reset(struct pci_dev *dev) 201static pci_ers_result_t pcie_portdrv_slot_reset(struct pci_dev *dev)
202{ 202{
203 pci_ers_result_t status = PCI_ERS_RESULT_NONE; 203 pci_ers_result_t status = PCI_ERS_RESULT_RECOVERED;
204 int retval; 204 int retval;
205 205
206 /* If fatal, restore cfg space for possible link reset at upstream */ 206 /* If fatal, restore cfg space for possible link reset at upstream */
diff --git a/drivers/rtc/rtc-twl4030.c b/drivers/rtc/rtc-twl4030.c
index a6341e4f9a0f..9c8c70c497dc 100644
--- a/drivers/rtc/rtc-twl4030.c
+++ b/drivers/rtc/rtc-twl4030.c
@@ -495,9 +495,7 @@ static int twl4030_rtc_suspend(struct platform_device *pdev, pm_message_t state)
495{ 495{
496 irqstat = rtc_irq_bits; 496 irqstat = rtc_irq_bits;
497 497
498 /* REVISIT alarm may need to wake us from sleep */ 498 mask_rtc_irq_bit(BIT_RTC_INTERRUPTS_REG_IT_TIMER_M);
499 mask_rtc_irq_bit(BIT_RTC_INTERRUPTS_REG_IT_TIMER_M |
500 BIT_RTC_INTERRUPTS_REG_IT_ALARM_M);
501 return 0; 499 return 0;
502} 500}
503 501
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index 616c60ffcf2c..3ac27ee47396 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -97,9 +97,7 @@ static void __init zfcp_init_device_configure(char *busid, u64 wwpn, u64 lun)
97 ccw_device_set_online(adapter->ccw_device); 97 ccw_device_set_online(adapter->ccw_device);
98 98
99 zfcp_erp_wait(adapter); 99 zfcp_erp_wait(adapter);
100 wait_event(adapter->erp_done_wqh, 100 flush_work(&unit->scsi_work);
101 !(atomic_read(&unit->status) &
102 ZFCP_STATUS_UNIT_SCSI_WORK_PENDING));
103 101
104 down(&zfcp_data.config_sema); 102 down(&zfcp_data.config_sema);
105 zfcp_unit_put(unit); 103 zfcp_unit_put(unit);
@@ -279,6 +277,7 @@ struct zfcp_unit *zfcp_unit_enqueue(struct zfcp_port *port, u64 fcp_lun)
279 277
280 atomic_set(&unit->refcount, 0); 278 atomic_set(&unit->refcount, 0);
281 init_waitqueue_head(&unit->remove_wq); 279 init_waitqueue_head(&unit->remove_wq);
280 INIT_WORK(&unit->scsi_work, zfcp_scsi_scan);
282 281
283 unit->port = port; 282 unit->port = port;
284 unit->fcp_lun = fcp_lun; 283 unit->fcp_lun = fcp_lun;
@@ -525,6 +524,8 @@ int zfcp_adapter_enqueue(struct ccw_device *ccw_device)
525 524
526 atomic_clear_mask(ZFCP_STATUS_COMMON_REMOVE, &adapter->status); 525 atomic_clear_mask(ZFCP_STATUS_COMMON_REMOVE, &adapter->status);
527 526
527 zfcp_fc_nameserver_init(adapter);
528
528 if (!zfcp_adapter_scsi_register(adapter)) 529 if (!zfcp_adapter_scsi_register(adapter))
529 return 0; 530 return 0;
530 531
@@ -553,7 +554,6 @@ void zfcp_adapter_dequeue(struct zfcp_adapter *adapter)
553 554
554 cancel_work_sync(&adapter->scan_work); 555 cancel_work_sync(&adapter->scan_work);
555 cancel_work_sync(&adapter->stat_work); 556 cancel_work_sync(&adapter->stat_work);
556 cancel_delayed_work_sync(&adapter->nsp.work);
557 zfcp_adapter_scsi_unregister(adapter); 557 zfcp_adapter_scsi_unregister(adapter);
558 sysfs_remove_group(&adapter->ccw_device->dev.kobj, 558 sysfs_remove_group(&adapter->ccw_device->dev.kobj,
559 &zfcp_sysfs_adapter_attrs); 559 &zfcp_sysfs_adapter_attrs);
@@ -671,8 +671,7 @@ void zfcp_port_dequeue(struct zfcp_port *port)
671 list_del(&port->list); 671 list_del(&port->list);
672 write_unlock_irq(&zfcp_data.config_lock); 672 write_unlock_irq(&zfcp_data.config_lock);
673 if (port->rport) 673 if (port->rport)
674 fc_remote_port_delete(port->rport); 674 port->rport->dd_data = NULL;
675 port->rport = NULL;
676 zfcp_adapter_put(port->adapter); 675 zfcp_adapter_put(port->adapter);
677 sysfs_remove_group(&port->sysfs_device.kobj, &zfcp_sysfs_port_attrs); 676 sysfs_remove_group(&port->sysfs_device.kobj, &zfcp_sysfs_port_attrs);
678 device_unregister(&port->sysfs_device); 677 device_unregister(&port->sysfs_device);
diff --git a/drivers/s390/scsi/zfcp_ccw.c b/drivers/s390/scsi/zfcp_ccw.c
index cfb0dcb6e3ff..733fe3bf6285 100644
--- a/drivers/s390/scsi/zfcp_ccw.c
+++ b/drivers/s390/scsi/zfcp_ccw.c
@@ -108,7 +108,6 @@ static int zfcp_ccw_set_online(struct ccw_device *ccw_device)
108 /* initialize request counter */ 108 /* initialize request counter */
109 BUG_ON(!zfcp_reqlist_isempty(adapter)); 109 BUG_ON(!zfcp_reqlist_isempty(adapter));
110 adapter->req_no = 0; 110 adapter->req_no = 0;
111 zfcp_fc_nameserver_init(adapter);
112 111
113 zfcp_erp_modify_adapter_status(adapter, "ccsonl1", NULL, 112 zfcp_erp_modify_adapter_status(adapter, "ccsonl1", NULL,
114 ZFCP_STATUS_COMMON_RUNNING, ZFCP_SET); 113 ZFCP_STATUS_COMMON_RUNNING, ZFCP_SET);
diff --git a/drivers/s390/scsi/zfcp_cfdc.c b/drivers/s390/scsi/zfcp_cfdc.c
index 10cbfd172a28..8305c874e86f 100644
--- a/drivers/s390/scsi/zfcp_cfdc.c
+++ b/drivers/s390/scsi/zfcp_cfdc.c
@@ -4,7 +4,7 @@
4 * Userspace interface for accessing the 4 * Userspace interface for accessing the
5 * Access Control Lists / Control File Data Channel 5 * Access Control Lists / Control File Data Channel
6 * 6 *
7 * Copyright IBM Corporation 2008 7 * Copyright IBM Corporation 2008, 2009
8 */ 8 */
9 9
10#define KMSG_COMPONENT "zfcp" 10#define KMSG_COMPONENT "zfcp"
@@ -197,6 +197,7 @@ static long zfcp_cfdc_dev_ioctl(struct file *file, unsigned int command,
197 retval = -ENXIO; 197 retval = -ENXIO;
198 goto free_buffer; 198 goto free_buffer;
199 } 199 }
200 zfcp_adapter_get(adapter);
200 201
201 retval = zfcp_cfdc_sg_setup(data->command, fsf_cfdc->sg, 202 retval = zfcp_cfdc_sg_setup(data->command, fsf_cfdc->sg,
202 data_user->control_file); 203 data_user->control_file);
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h
index a0318630f047..4c362a9069f0 100644
--- a/drivers/s390/scsi/zfcp_def.h
+++ b/drivers/s390/scsi/zfcp_def.h
@@ -255,7 +255,6 @@ enum zfcp_wka_status {
255/* logical unit status */ 255/* logical unit status */
256#define ZFCP_STATUS_UNIT_SHARED 0x00000004 256#define ZFCP_STATUS_UNIT_SHARED 0x00000004
257#define ZFCP_STATUS_UNIT_READONLY 0x00000008 257#define ZFCP_STATUS_UNIT_READONLY 0x00000008
258#define ZFCP_STATUS_UNIT_SCSI_WORK_PENDING 0x00000020
259 258
260/* FSF request status (this does not have a common part) */ 259/* FSF request status (this does not have a common part) */
261#define ZFCP_STATUS_FSFREQ_TASK_MANAGEMENT 0x00000002 260#define ZFCP_STATUS_FSFREQ_TASK_MANAGEMENT 0x00000002
@@ -530,6 +529,7 @@ struct zfcp_unit {
530 struct zfcp_erp_action erp_action; /* pending error recovery */ 529 struct zfcp_erp_action erp_action; /* pending error recovery */
531 atomic_t erp_counter; 530 atomic_t erp_counter;
532 struct zfcp_latencies latencies; 531 struct zfcp_latencies latencies;
532 struct work_struct scsi_work;
533}; 533};
534 534
535/* FSF request */ 535/* FSF request */
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index 631bdb1dfd6c..fdc9b4352a64 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -719,6 +719,7 @@ static void zfcp_erp_adapter_strategy_close(struct zfcp_erp_action *act)
719 zfcp_qdio_close(adapter); 719 zfcp_qdio_close(adapter);
720 zfcp_fsf_req_dismiss_all(adapter); 720 zfcp_fsf_req_dismiss_all(adapter);
721 adapter->fsf_req_seq_no = 0; 721 adapter->fsf_req_seq_no = 0;
722 zfcp_fc_wka_port_force_offline(&adapter->nsp);
722 /* all ports and units are closed */ 723 /* all ports and units are closed */
723 zfcp_erp_modify_adapter_status(adapter, "erascl1", NULL, 724 zfcp_erp_modify_adapter_status(adapter, "erascl1", NULL,
724 ZFCP_STATUS_COMMON_OPEN, ZFCP_CLEAR); 725 ZFCP_STATUS_COMMON_OPEN, ZFCP_CLEAR);
@@ -1176,48 +1177,6 @@ static void zfcp_erp_action_dequeue(struct zfcp_erp_action *erp_action)
1176 } 1177 }
1177} 1178}
1178 1179
1179struct zfcp_erp_add_work {
1180 struct zfcp_unit *unit;
1181 struct work_struct work;
1182};
1183
1184static void zfcp_erp_scsi_scan(struct work_struct *work)
1185{
1186 struct zfcp_erp_add_work *p =
1187 container_of(work, struct zfcp_erp_add_work, work);
1188 struct zfcp_unit *unit = p->unit;
1189 struct fc_rport *rport = unit->port->rport;
1190
1191 if (rport && rport->port_state == FC_PORTSTATE_ONLINE)
1192 scsi_scan_target(&rport->dev, 0, rport->scsi_target_id,
1193 scsilun_to_int((struct scsi_lun *)&unit->fcp_lun), 0);
1194 atomic_clear_mask(ZFCP_STATUS_UNIT_SCSI_WORK_PENDING, &unit->status);
1195 zfcp_unit_put(unit);
1196 wake_up(&unit->port->adapter->erp_done_wqh);
1197 kfree(p);
1198}
1199
1200static void zfcp_erp_schedule_work(struct zfcp_unit *unit)
1201{
1202 struct zfcp_erp_add_work *p;
1203
1204 p = kzalloc(sizeof(*p), GFP_KERNEL);
1205 if (!p) {
1206 dev_err(&unit->port->adapter->ccw_device->dev,
1207 "Registering unit 0x%016Lx on port 0x%016Lx failed\n",
1208 (unsigned long long)unit->fcp_lun,
1209 (unsigned long long)unit->port->wwpn);
1210 return;
1211 }
1212
1213 zfcp_unit_get(unit);
1214 atomic_set_mask(ZFCP_STATUS_UNIT_SCSI_WORK_PENDING, &unit->status);
1215 INIT_WORK(&p->work, zfcp_erp_scsi_scan);
1216 p->unit = unit;
1217 if (!queue_work(zfcp_data.work_queue, &p->work))
1218 zfcp_unit_put(unit);
1219}
1220
1221static void zfcp_erp_action_cleanup(struct zfcp_erp_action *act, int result) 1180static void zfcp_erp_action_cleanup(struct zfcp_erp_action *act, int result)
1222{ 1181{
1223 struct zfcp_adapter *adapter = act->adapter; 1182 struct zfcp_adapter *adapter = act->adapter;
@@ -1226,11 +1185,11 @@ static void zfcp_erp_action_cleanup(struct zfcp_erp_action *act, int result)
1226 1185
1227 switch (act->action) { 1186 switch (act->action) {
1228 case ZFCP_ERP_ACTION_REOPEN_UNIT: 1187 case ZFCP_ERP_ACTION_REOPEN_UNIT:
1229 flush_work(&port->rport_work);
1230 if ((result == ZFCP_ERP_SUCCEEDED) && !unit->device) { 1188 if ((result == ZFCP_ERP_SUCCEEDED) && !unit->device) {
1231 if (!(atomic_read(&unit->status) & 1189 zfcp_unit_get(unit);
1232 ZFCP_STATUS_UNIT_SCSI_WORK_PENDING)) 1190 if (scsi_queue_work(unit->port->adapter->scsi_host,
1233 zfcp_erp_schedule_work(unit); 1191 &unit->scsi_work) <= 0)
1192 zfcp_unit_put(unit);
1234 } 1193 }
1235 zfcp_unit_put(unit); 1194 zfcp_unit_put(unit);
1236 break; 1195 break;
@@ -1352,6 +1311,11 @@ static int zfcp_erp_thread(void *data)
1352 1311
1353 while (!(atomic_read(&adapter->status) & 1312 while (!(atomic_read(&adapter->status) &
1354 ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL)) { 1313 ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL)) {
1314
1315 zfcp_rec_dbf_event_thread_lock("erthrd1", adapter);
1316 ignore = down_interruptible(&adapter->erp_ready_sem);
1317 zfcp_rec_dbf_event_thread_lock("erthrd2", adapter);
1318
1355 write_lock_irqsave(&adapter->erp_lock, flags); 1319 write_lock_irqsave(&adapter->erp_lock, flags);
1356 next = adapter->erp_ready_head.next; 1320 next = adapter->erp_ready_head.next;
1357 write_unlock_irqrestore(&adapter->erp_lock, flags); 1321 write_unlock_irqrestore(&adapter->erp_lock, flags);
@@ -1363,10 +1327,6 @@ static int zfcp_erp_thread(void *data)
1363 if (zfcp_erp_strategy(act) != ZFCP_ERP_DISMISSED) 1327 if (zfcp_erp_strategy(act) != ZFCP_ERP_DISMISSED)
1364 zfcp_erp_wakeup(adapter); 1328 zfcp_erp_wakeup(adapter);
1365 } 1329 }
1366
1367 zfcp_rec_dbf_event_thread_lock("erthrd1", adapter);
1368 ignore = down_interruptible(&adapter->erp_ready_sem);
1369 zfcp_rec_dbf_event_thread_lock("erthrd2", adapter);
1370 } 1330 }
1371 1331
1372 atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status); 1332 atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status);
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h
index f6399ca97bcb..2e31b536548c 100644
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -106,6 +106,7 @@ extern void zfcp_fc_plogi_evaluate(struct zfcp_port *, struct fsf_plogi *);
106extern void zfcp_test_link(struct zfcp_port *); 106extern void zfcp_test_link(struct zfcp_port *);
107extern void zfcp_fc_link_test_work(struct work_struct *); 107extern void zfcp_fc_link_test_work(struct work_struct *);
108extern void zfcp_fc_nameserver_init(struct zfcp_adapter *); 108extern void zfcp_fc_nameserver_init(struct zfcp_adapter *);
109extern void zfcp_fc_wka_port_force_offline(struct zfcp_wka_port *);
109 110
110/* zfcp_fsf.c */ 111/* zfcp_fsf.c */
111extern int zfcp_fsf_open_port(struct zfcp_erp_action *); 112extern int zfcp_fsf_open_port(struct zfcp_erp_action *);
@@ -158,6 +159,7 @@ extern void zfcp_scsi_rport_work(struct work_struct *);
158extern void zfcp_scsi_schedule_rport_register(struct zfcp_port *); 159extern void zfcp_scsi_schedule_rport_register(struct zfcp_port *);
159extern void zfcp_scsi_schedule_rport_block(struct zfcp_port *); 160extern void zfcp_scsi_schedule_rport_block(struct zfcp_port *);
160extern void zfcp_scsi_schedule_rports_block(struct zfcp_adapter *); 161extern void zfcp_scsi_schedule_rports_block(struct zfcp_adapter *);
162extern void zfcp_scsi_scan(struct work_struct *);
161 163
162/* zfcp_sysfs.c */ 164/* zfcp_sysfs.c */
163extern struct attribute_group zfcp_sysfs_unit_attrs; 165extern struct attribute_group zfcp_sysfs_unit_attrs;
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c
index e8d032b9dfbd..19ae0842047c 100644
--- a/drivers/s390/scsi/zfcp_fc.c
+++ b/drivers/s390/scsi/zfcp_fc.c
@@ -98,13 +98,6 @@ static void zfcp_wka_port_offline(struct work_struct *work)
98 struct zfcp_wka_port *wka_port = 98 struct zfcp_wka_port *wka_port =
99 container_of(dw, struct zfcp_wka_port, work); 99 container_of(dw, struct zfcp_wka_port, work);
100 100
101 /* Don't wait forvever. If the wka_port is too busy take it offline
102 through a new call later */
103 if (!wait_event_timeout(wka_port->completion_wq,
104 atomic_read(&wka_port->refcount) == 0,
105 HZ >> 1))
106 return;
107
108 mutex_lock(&wka_port->mutex); 101 mutex_lock(&wka_port->mutex);
109 if ((atomic_read(&wka_port->refcount) != 0) || 102 if ((atomic_read(&wka_port->refcount) != 0) ||
110 (wka_port->status != ZFCP_WKA_PORT_ONLINE)) 103 (wka_port->status != ZFCP_WKA_PORT_ONLINE))
@@ -142,6 +135,14 @@ void zfcp_fc_nameserver_init(struct zfcp_adapter *adapter)
142 INIT_DELAYED_WORK(&wka_port->work, zfcp_wka_port_offline); 135 INIT_DELAYED_WORK(&wka_port->work, zfcp_wka_port_offline);
143} 136}
144 137
138void zfcp_fc_wka_port_force_offline(struct zfcp_wka_port *wka)
139{
140 cancel_delayed_work_sync(&wka->work);
141 mutex_lock(&wka->mutex);
142 wka->status = ZFCP_WKA_PORT_OFFLINE;
143 mutex_unlock(&wka->mutex);
144}
145
145static void _zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req, u32 range, 146static void _zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req, u32 range,
146 struct fcp_rscn_element *elem) 147 struct fcp_rscn_element *elem)
147{ 148{
@@ -372,7 +373,8 @@ static void zfcp_fc_adisc_handler(unsigned long data)
372 373
373 if (adisc->els.status) { 374 if (adisc->els.status) {
374 /* request rejected or timed out */ 375 /* request rejected or timed out */
375 zfcp_erp_port_forced_reopen(port, 0, "fcadh_1", NULL); 376 zfcp_erp_port_forced_reopen(port, ZFCP_STATUS_COMMON_ERP_FAILED,
377 "fcadh_1", NULL);
376 goto out; 378 goto out;
377 } 379 }
378 380
@@ -431,11 +433,6 @@ void zfcp_fc_link_test_work(struct work_struct *work)
431 container_of(work, struct zfcp_port, test_link_work); 433 container_of(work, struct zfcp_port, test_link_work);
432 int retval; 434 int retval;
433 435
434 if (!(atomic_read(&port->status) & ZFCP_STATUS_COMMON_UNBLOCKED)) {
435 zfcp_port_put(port);
436 return; /* port erp is running and will update rport status */
437 }
438
439 zfcp_port_get(port); 436 zfcp_port_get(port);
440 port->rport_task = RPORT_DEL; 437 port->rport_task = RPORT_DEL;
441 zfcp_scsi_rport_work(&port->rport_work); 438 zfcp_scsi_rport_work(&port->rport_work);
@@ -542,6 +539,9 @@ static void zfcp_validate_port(struct zfcp_port *port)
542{ 539{
543 struct zfcp_adapter *adapter = port->adapter; 540 struct zfcp_adapter *adapter = port->adapter;
544 541
542 if (!(atomic_read(&port->status) & ZFCP_STATUS_COMMON_NOESC))
543 return;
544
545 atomic_clear_mask(ZFCP_STATUS_COMMON_NOESC, &port->status); 545 atomic_clear_mask(ZFCP_STATUS_COMMON_NOESC, &port->status);
546 546
547 if ((port->supported_classes != 0) || 547 if ((port->supported_classes != 0) ||
@@ -602,10 +602,8 @@ static int zfcp_scan_eval_gpn_ft(struct zfcp_gpn_ft *gpn_ft, int max_entries)
602 if (acc->wwpn == fc_host_port_name(adapter->scsi_host)) 602 if (acc->wwpn == fc_host_port_name(adapter->scsi_host))
603 continue; 603 continue;
604 port = zfcp_get_port_by_wwpn(adapter, acc->wwpn); 604 port = zfcp_get_port_by_wwpn(adapter, acc->wwpn);
605 if (port) { 605 if (port)
606 zfcp_port_get(port);
607 continue; 606 continue;
608 }
609 607
610 port = zfcp_port_enqueue(adapter, acc->wwpn, 608 port = zfcp_port_enqueue(adapter, acc->wwpn,
611 ZFCP_STATUS_COMMON_NOESC, d_id); 609 ZFCP_STATUS_COMMON_NOESC, d_id);
@@ -637,7 +635,8 @@ int zfcp_scan_ports(struct zfcp_adapter *adapter)
637 max_entries = chain ? ZFCP_GPN_FT_MAX_ENTRIES : ZFCP_GPN_FT_ENTRIES; 635 max_entries = chain ? ZFCP_GPN_FT_MAX_ENTRIES : ZFCP_GPN_FT_ENTRIES;
638 max_bytes = chain ? ZFCP_GPN_FT_MAX_SIZE : ZFCP_CT_SIZE_ONE_PAGE; 636 max_bytes = chain ? ZFCP_GPN_FT_MAX_SIZE : ZFCP_CT_SIZE_ONE_PAGE;
639 637
640 if (fc_host_port_type(adapter->scsi_host) != FC_PORTTYPE_NPORT) 638 if (fc_host_port_type(adapter->scsi_host) != FC_PORTTYPE_NPORT &&
639 fc_host_port_type(adapter->scsi_host) != FC_PORTTYPE_NPIV)
641 return 0; 640 return 0;
642 641
643 ret = zfcp_wka_port_get(&adapter->nsp); 642 ret = zfcp_wka_port_get(&adapter->nsp);
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c
index b29f3121b666..74dee32afba8 100644
--- a/drivers/s390/scsi/zfcp_fsf.c
+++ b/drivers/s390/scsi/zfcp_fsf.c
@@ -172,12 +172,16 @@ static void zfcp_fsf_link_down_info_eval(struct zfcp_fsf_req *req, char *id,
172 struct fsf_link_down_info *link_down) 172 struct fsf_link_down_info *link_down)
173{ 173{
174 struct zfcp_adapter *adapter = req->adapter; 174 struct zfcp_adapter *adapter = req->adapter;
175 unsigned long flags;
175 176
176 if (atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED) 177 if (atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED)
177 return; 178 return;
178 179
179 atomic_set_mask(ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED, &adapter->status); 180 atomic_set_mask(ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED, &adapter->status);
181
182 read_lock_irqsave(&zfcp_data.config_lock, flags);
180 zfcp_scsi_schedule_rports_block(adapter); 183 zfcp_scsi_schedule_rports_block(adapter);
184 read_unlock_irqrestore(&zfcp_data.config_lock, flags);
181 185
182 if (!link_down) 186 if (!link_down)
183 goto out; 187 goto out;
@@ -645,30 +649,30 @@ static void zfcp_fsf_exchange_port_data_handler(struct zfcp_fsf_req *req)
645 } 649 }
646} 650}
647 651
648static int zfcp_fsf_req_sbal_get(struct zfcp_adapter *adapter) 652static int zfcp_fsf_sbal_check(struct zfcp_adapter *adapter)
649 __releases(&adapter->req_q_lock)
650 __acquires(&adapter->req_q_lock)
651{ 653{
652 struct zfcp_qdio_queue *req_q = &adapter->req_q; 654 struct zfcp_qdio_queue *req_q = &adapter->req_q;
653 long ret;
654 655
655 if (atomic_read(&req_q->count) <= -REQUEST_LIST_SIZE) 656 spin_lock_bh(&adapter->req_q_lock);
656 return -EIO; 657 if (atomic_read(&req_q->count))
657 if (atomic_read(&req_q->count) > 0) 658 return 1;
658 return 0; 659 spin_unlock_bh(&adapter->req_q_lock);
660 return 0;
661}
662
663static int zfcp_fsf_req_sbal_get(struct zfcp_adapter *adapter)
664{
665 long ret;
659 666
660 atomic_dec(&req_q->count);
661 spin_unlock_bh(&adapter->req_q_lock); 667 spin_unlock_bh(&adapter->req_q_lock);
662 ret = wait_event_interruptible_timeout(adapter->request_wq, 668 ret = wait_event_interruptible_timeout(adapter->request_wq,
663 atomic_read(&req_q->count) >= 0, 669 zfcp_fsf_sbal_check(adapter), 5 * HZ);
664 5 * HZ);
665 spin_lock_bh(&adapter->req_q_lock);
666 atomic_inc(&req_q->count);
667
668 if (ret > 0) 670 if (ret > 0)
669 return 0; 671 return 0;
670 if (!ret) 672 if (!ret)
671 atomic_inc(&adapter->qdio_outb_full); 673 atomic_inc(&adapter->qdio_outb_full);
674
675 spin_lock_bh(&adapter->req_q_lock);
672 return -EIO; 676 return -EIO;
673} 677}
674 678
@@ -766,8 +770,9 @@ static struct zfcp_fsf_req *zfcp_fsf_req_create(struct zfcp_adapter *adapter,
766static int zfcp_fsf_req_send(struct zfcp_fsf_req *req) 770static int zfcp_fsf_req_send(struct zfcp_fsf_req *req)
767{ 771{
768 struct zfcp_adapter *adapter = req->adapter; 772 struct zfcp_adapter *adapter = req->adapter;
769 unsigned long flags; 773 unsigned long flags;
770 int idx; 774 int idx;
775 int with_qtcb = (req->qtcb != NULL);
771 776
772 /* put allocated FSF request into hash table */ 777 /* put allocated FSF request into hash table */
773 spin_lock_irqsave(&adapter->req_list_lock, flags); 778 spin_lock_irqsave(&adapter->req_list_lock, flags);
@@ -789,7 +794,7 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *req)
789 } 794 }
790 795
791 /* Don't increase for unsolicited status */ 796 /* Don't increase for unsolicited status */
792 if (req->qtcb) 797 if (with_qtcb)
793 adapter->fsf_req_seq_no++; 798 adapter->fsf_req_seq_no++;
794 adapter->req_no++; 799 adapter->req_no++;
795 800
@@ -1253,13 +1258,13 @@ int zfcp_fsf_exchange_config_data_sync(struct zfcp_adapter *adapter,
1253 1258
1254 spin_lock_bh(&adapter->req_q_lock); 1259 spin_lock_bh(&adapter->req_q_lock);
1255 if (zfcp_fsf_req_sbal_get(adapter)) 1260 if (zfcp_fsf_req_sbal_get(adapter))
1256 goto out; 1261 goto out_unlock;
1257 1262
1258 req = zfcp_fsf_req_create(adapter, FSF_QTCB_EXCHANGE_CONFIG_DATA, 1263 req = zfcp_fsf_req_create(adapter, FSF_QTCB_EXCHANGE_CONFIG_DATA,
1259 0, NULL); 1264 0, NULL);
1260 if (IS_ERR(req)) { 1265 if (IS_ERR(req)) {
1261 retval = PTR_ERR(req); 1266 retval = PTR_ERR(req);
1262 goto out; 1267 goto out_unlock;
1263 } 1268 }
1264 1269
1265 sbale = zfcp_qdio_sbale_req(req); 1270 sbale = zfcp_qdio_sbale_req(req);
@@ -1278,14 +1283,16 @@ int zfcp_fsf_exchange_config_data_sync(struct zfcp_adapter *adapter,
1278 1283
1279 zfcp_fsf_start_timer(req, ZFCP_FSF_REQUEST_TIMEOUT); 1284 zfcp_fsf_start_timer(req, ZFCP_FSF_REQUEST_TIMEOUT);
1280 retval = zfcp_fsf_req_send(req); 1285 retval = zfcp_fsf_req_send(req);
1281out:
1282 spin_unlock_bh(&adapter->req_q_lock); 1286 spin_unlock_bh(&adapter->req_q_lock);
1283 if (!retval) 1287 if (!retval)
1284 wait_event(req->completion_wq, 1288 wait_event(req->completion_wq,
1285 req->status & ZFCP_STATUS_FSFREQ_COMPLETED); 1289 req->status & ZFCP_STATUS_FSFREQ_COMPLETED);
1286 1290
1287 zfcp_fsf_req_free(req); 1291 zfcp_fsf_req_free(req);
1292 return retval;
1288 1293
1294out_unlock:
1295 spin_unlock_bh(&adapter->req_q_lock);
1289 return retval; 1296 return retval;
1290} 1297}
1291 1298
@@ -1352,13 +1359,13 @@ int zfcp_fsf_exchange_port_data_sync(struct zfcp_adapter *adapter,
1352 1359
1353 spin_lock_bh(&adapter->req_q_lock); 1360 spin_lock_bh(&adapter->req_q_lock);
1354 if (zfcp_fsf_req_sbal_get(adapter)) 1361 if (zfcp_fsf_req_sbal_get(adapter))
1355 goto out; 1362 goto out_unlock;
1356 1363
1357 req = zfcp_fsf_req_create(adapter, FSF_QTCB_EXCHANGE_PORT_DATA, 0, 1364 req = zfcp_fsf_req_create(adapter, FSF_QTCB_EXCHANGE_PORT_DATA, 0,
1358 NULL); 1365 NULL);
1359 if (IS_ERR(req)) { 1366 if (IS_ERR(req)) {
1360 retval = PTR_ERR(req); 1367 retval = PTR_ERR(req);
1361 goto out; 1368 goto out_unlock;
1362 } 1369 }
1363 1370
1364 if (data) 1371 if (data)
@@ -1371,14 +1378,18 @@ int zfcp_fsf_exchange_port_data_sync(struct zfcp_adapter *adapter,
1371 req->handler = zfcp_fsf_exchange_port_data_handler; 1378 req->handler = zfcp_fsf_exchange_port_data_handler;
1372 zfcp_fsf_start_timer(req, ZFCP_FSF_REQUEST_TIMEOUT); 1379 zfcp_fsf_start_timer(req, ZFCP_FSF_REQUEST_TIMEOUT);
1373 retval = zfcp_fsf_req_send(req); 1380 retval = zfcp_fsf_req_send(req);
1374out:
1375 spin_unlock_bh(&adapter->req_q_lock); 1381 spin_unlock_bh(&adapter->req_q_lock);
1382
1376 if (!retval) 1383 if (!retval)
1377 wait_event(req->completion_wq, 1384 wait_event(req->completion_wq,
1378 req->status & ZFCP_STATUS_FSFREQ_COMPLETED); 1385 req->status & ZFCP_STATUS_FSFREQ_COMPLETED);
1379 zfcp_fsf_req_free(req); 1386 zfcp_fsf_req_free(req);
1380 1387
1381 return retval; 1388 return retval;
1389
1390out_unlock:
1391 spin_unlock_bh(&adapter->req_q_lock);
1392 return retval;
1382} 1393}
1383 1394
1384static void zfcp_fsf_open_port_handler(struct zfcp_fsf_req *req) 1395static void zfcp_fsf_open_port_handler(struct zfcp_fsf_req *req)
@@ -2472,8 +2483,6 @@ out:
2472 2483
2473static void zfcp_fsf_control_file_handler(struct zfcp_fsf_req *req) 2484static void zfcp_fsf_control_file_handler(struct zfcp_fsf_req *req)
2474{ 2485{
2475 if (req->qtcb->header.fsf_status != FSF_GOOD)
2476 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2477} 2486}
2478 2487
2479/** 2488/**
diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c
index 58201e1ae478..e8fbeaeb5fbf 100644
--- a/drivers/s390/scsi/zfcp_scsi.c
+++ b/drivers/s390/scsi/zfcp_scsi.c
@@ -171,7 +171,7 @@ static int zfcp_scsi_eh_abort_handler(struct scsi_cmnd *scpnt)
171 write_unlock_irqrestore(&adapter->abort_lock, flags); 171 write_unlock_irqrestore(&adapter->abort_lock, flags);
172 zfcp_scsi_dbf_event_abort("lte1", adapter, scpnt, NULL, 172 zfcp_scsi_dbf_event_abort("lte1", adapter, scpnt, NULL,
173 old_req_id); 173 old_req_id);
174 return SUCCESS; 174 return FAILED; /* completion could be in progress */
175 } 175 }
176 old_req->data = NULL; 176 old_req->data = NULL;
177 177
@@ -486,10 +486,12 @@ static void zfcp_set_rport_dev_loss_tmo(struct fc_rport *rport, u32 timeout)
486 */ 486 */
487static void zfcp_scsi_dev_loss_tmo_callbk(struct fc_rport *rport) 487static void zfcp_scsi_dev_loss_tmo_callbk(struct fc_rport *rport)
488{ 488{
489 struct zfcp_port *port = rport->dd_data; 489 struct zfcp_port *port;
490 490
491 write_lock_irq(&zfcp_data.config_lock); 491 write_lock_irq(&zfcp_data.config_lock);
492 port->rport = NULL; 492 port = rport->dd_data;
493 if (port)
494 port->rport = NULL;
493 write_unlock_irq(&zfcp_data.config_lock); 495 write_unlock_irq(&zfcp_data.config_lock);
494} 496}
495 497
@@ -503,9 +505,18 @@ static void zfcp_scsi_dev_loss_tmo_callbk(struct fc_rport *rport)
503 */ 505 */
504static void zfcp_scsi_terminate_rport_io(struct fc_rport *rport) 506static void zfcp_scsi_terminate_rport_io(struct fc_rport *rport)
505{ 507{
506 struct zfcp_port *port = rport->dd_data; 508 struct zfcp_port *port;
509
510 write_lock_irq(&zfcp_data.config_lock);
511 port = rport->dd_data;
512 if (port)
513 zfcp_port_get(port);
514 write_unlock_irq(&zfcp_data.config_lock);
507 515
508 zfcp_erp_port_reopen(port, 0, "sctrpi1", NULL); 516 if (port) {
517 zfcp_erp_port_reopen(port, 0, "sctrpi1", NULL);
518 zfcp_port_put(port);
519 }
509} 520}
510 521
511static void zfcp_scsi_rport_register(struct zfcp_port *port) 522static void zfcp_scsi_rport_register(struct zfcp_port *port)
@@ -534,8 +545,10 @@ static void zfcp_scsi_rport_register(struct zfcp_port *port)
534 545
535static void zfcp_scsi_rport_block(struct zfcp_port *port) 546static void zfcp_scsi_rport_block(struct zfcp_port *port)
536{ 547{
537 if (port->rport) 548 struct fc_rport *rport = port->rport;
538 fc_remote_port_delete(port->rport); 549
550 if (rport)
551 fc_remote_port_delete(rport);
539} 552}
540 553
541void zfcp_scsi_schedule_rport_register(struct zfcp_port *port) 554void zfcp_scsi_schedule_rport_register(struct zfcp_port *port)
@@ -583,6 +596,23 @@ void zfcp_scsi_rport_work(struct work_struct *work)
583} 596}
584 597
585 598
599void zfcp_scsi_scan(struct work_struct *work)
600{
601 struct zfcp_unit *unit = container_of(work, struct zfcp_unit,
602 scsi_work);
603 struct fc_rport *rport;
604
605 flush_work(&unit->port->rport_work);
606 rport = unit->port->rport;
607
608 if (rport && rport->port_state == FC_PORTSTATE_ONLINE)
609 scsi_scan_target(&rport->dev, 0, rport->scsi_target_id,
610 scsilun_to_int((struct scsi_lun *)
611 &unit->fcp_lun), 0);
612
613 zfcp_unit_put(unit);
614}
615
586struct fc_function_template zfcp_transport_functions = { 616struct fc_function_template zfcp_transport_functions = {
587 .show_starget_port_id = 1, 617 .show_starget_port_id = 1,
588 .show_starget_port_name = 1, 618 .show_starget_port_name = 1,
diff --git a/drivers/s390/scsi/zfcp_sysfs.c b/drivers/s390/scsi/zfcp_sysfs.c
index 9a3b8e261c0a..3e51e64d1108 100644
--- a/drivers/s390/scsi/zfcp_sysfs.c
+++ b/drivers/s390/scsi/zfcp_sysfs.c
@@ -254,12 +254,21 @@ static ssize_t zfcp_sysfs_unit_remove_store(struct device *dev,
254 254
255 write_lock_irq(&zfcp_data.config_lock); 255 write_lock_irq(&zfcp_data.config_lock);
256 unit = zfcp_get_unit_by_lun(port, fcp_lun); 256 unit = zfcp_get_unit_by_lun(port, fcp_lun);
257 if (unit && (atomic_read(&unit->refcount) == 0)) { 257 if (unit) {
258 zfcp_unit_get(unit); 258 write_unlock_irq(&zfcp_data.config_lock);
259 atomic_set_mask(ZFCP_STATUS_COMMON_REMOVE, &unit->status); 259 /* wait for possible timeout during SCSI probe */
260 list_move(&unit->list, &unit_remove_lh); 260 flush_work(&unit->scsi_work);
261 } else 261 write_lock_irq(&zfcp_data.config_lock);
262 unit = NULL; 262
263 if (atomic_read(&unit->refcount) == 0) {
264 zfcp_unit_get(unit);
265 atomic_set_mask(ZFCP_STATUS_COMMON_REMOVE,
266 &unit->status);
267 list_move(&unit->list, &unit_remove_lh);
268 } else {
269 unit = NULL;
270 }
271 }
263 272
264 write_unlock_irq(&zfcp_data.config_lock); 273 write_unlock_irq(&zfcp_data.config_lock);
265 274
diff --git a/drivers/scsi/cxgb3i/cxgb3i.h b/drivers/scsi/cxgb3i/cxgb3i.h
index d362860e7504..59b0958d2d11 100644
--- a/drivers/scsi/cxgb3i/cxgb3i.h
+++ b/drivers/scsi/cxgb3i/cxgb3i.h
@@ -34,7 +34,7 @@
34#include "cxgb3i_offload.h" 34#include "cxgb3i_offload.h"
35#include "cxgb3i_ddp.h" 35#include "cxgb3i_ddp.h"
36 36
37#define CXGB3I_SCSI_QDEPTH_DFLT 128 37#define CXGB3I_SCSI_HOST_QDEPTH 1024
38#define CXGB3I_MAX_TARGET CXGB3I_MAX_CONN 38#define CXGB3I_MAX_TARGET CXGB3I_MAX_CONN
39#define CXGB3I_MAX_LUN 512 39#define CXGB3I_MAX_LUN 512
40#define ISCSI_PDU_NONPAYLOAD_MAX \ 40#define ISCSI_PDU_NONPAYLOAD_MAX \
diff --git a/drivers/scsi/cxgb3i/cxgb3i_ddp.c b/drivers/scsi/cxgb3i/cxgb3i_ddp.c
index d06a661c209f..99c912547902 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_ddp.c
+++ b/drivers/scsi/cxgb3i/cxgb3i_ddp.c
@@ -120,20 +120,26 @@ static void clear_ddp_map(struct cxgb3i_ddp_info *ddp, unsigned int tag,
120} 120}
121 121
122static inline int ddp_find_unused_entries(struct cxgb3i_ddp_info *ddp, 122static inline int ddp_find_unused_entries(struct cxgb3i_ddp_info *ddp,
123 int start, int max, int count, 123 unsigned int start, unsigned int max,
124 unsigned int count,
124 struct cxgb3i_gather_list *gl) 125 struct cxgb3i_gather_list *gl)
125{ 126{
126 unsigned int i, j; 127 unsigned int i, j, k;
127 128
129 /* not enough entries */
130 if ((max - start) < count)
131 return -EBUSY;
132
133 max -= count;
128 spin_lock(&ddp->map_lock); 134 spin_lock(&ddp->map_lock);
129 for (i = start; i <= max;) { 135 for (i = start; i < max;) {
130 for (j = 0; j < count; j++) { 136 for (j = 0, k = i; j < count; j++, k++) {
131 if (ddp->gl_map[i + j]) 137 if (ddp->gl_map[k])
132 break; 138 break;
133 } 139 }
134 if (j == count) { 140 if (j == count) {
135 for (j = 0; j < count; j++) 141 for (j = 0, k = i; j < count; j++, k++)
136 ddp->gl_map[i + j] = gl; 142 ddp->gl_map[k] = gl;
137 spin_unlock(&ddp->map_lock); 143 spin_unlock(&ddp->map_lock);
138 return i; 144 return i;
139 } 145 }
@@ -354,7 +360,7 @@ int cxgb3i_ddp_tag_reserve(struct t3cdev *tdev, unsigned int tid,
354 struct cxgb3i_ddp_info *ddp = tdev->ulp_iscsi; 360 struct cxgb3i_ddp_info *ddp = tdev->ulp_iscsi;
355 struct pagepod_hdr hdr; 361 struct pagepod_hdr hdr;
356 unsigned int npods; 362 unsigned int npods;
357 int idx = -1, idx_max; 363 int idx = -1;
358 int err = -ENOMEM; 364 int err = -ENOMEM;
359 u32 sw_tag = *tagp; 365 u32 sw_tag = *tagp;
360 u32 tag; 366 u32 tag;
@@ -367,17 +373,17 @@ int cxgb3i_ddp_tag_reserve(struct t3cdev *tdev, unsigned int tid,
367 } 373 }
368 374
369 npods = (gl->nelem + PPOD_PAGES_MAX - 1) >> PPOD_PAGES_SHIFT; 375 npods = (gl->nelem + PPOD_PAGES_MAX - 1) >> PPOD_PAGES_SHIFT;
370 idx_max = ddp->nppods - npods + 1;
371 376
372 if (ddp->idx_last == ddp->nppods) 377 if (ddp->idx_last == ddp->nppods)
373 idx = ddp_find_unused_entries(ddp, 0, idx_max, npods, gl); 378 idx = ddp_find_unused_entries(ddp, 0, ddp->nppods, npods, gl);
374 else { 379 else {
375 idx = ddp_find_unused_entries(ddp, ddp->idx_last + 1, 380 idx = ddp_find_unused_entries(ddp, ddp->idx_last + 1,
376 idx_max, npods, gl); 381 ddp->nppods, npods, gl);
377 if (idx < 0 && ddp->idx_last >= npods) 382 if (idx < 0 && ddp->idx_last >= npods) {
378 idx = ddp_find_unused_entries(ddp, 0, 383 idx = ddp_find_unused_entries(ddp, 0,
379 ddp->idx_last - npods + 1, 384 min(ddp->idx_last + npods, ddp->nppods),
380 npods, gl); 385 npods, gl);
386 }
381 } 387 }
382 if (idx < 0) { 388 if (idx < 0) {
383 ddp_log_debug("xferlen %u, gl %u, npods %u NO DDP.\n", 389 ddp_log_debug("xferlen %u, gl %u, npods %u NO DDP.\n",
diff --git a/drivers/scsi/cxgb3i/cxgb3i_iscsi.c b/drivers/scsi/cxgb3i/cxgb3i_iscsi.c
index fff8e4327644..9212400b9b13 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_iscsi.c
+++ b/drivers/scsi/cxgb3i/cxgb3i_iscsi.c
@@ -876,13 +876,14 @@ static struct scsi_host_template cxgb3i_host_template = {
876 .proc_name = "cxgb3i", 876 .proc_name = "cxgb3i",
877 .queuecommand = iscsi_queuecommand, 877 .queuecommand = iscsi_queuecommand,
878 .change_queue_depth = iscsi_change_queue_depth, 878 .change_queue_depth = iscsi_change_queue_depth,
879 .can_queue = CXGB3I_SCSI_QDEPTH_DFLT - 1, 879 .can_queue = CXGB3I_SCSI_HOST_QDEPTH,
880 .sg_tablesize = SG_ALL, 880 .sg_tablesize = SG_ALL,
881 .max_sectors = 0xFFFF, 881 .max_sectors = 0xFFFF,
882 .cmd_per_lun = CXGB3I_SCSI_QDEPTH_DFLT, 882 .cmd_per_lun = ISCSI_DEF_CMD_PER_LUN,
883 .eh_abort_handler = iscsi_eh_abort, 883 .eh_abort_handler = iscsi_eh_abort,
884 .eh_device_reset_handler = iscsi_eh_device_reset, 884 .eh_device_reset_handler = iscsi_eh_device_reset,
885 .eh_target_reset_handler = iscsi_eh_target_reset, 885 .eh_target_reset_handler = iscsi_eh_target_reset,
886 .target_alloc = iscsi_target_alloc,
886 .use_clustering = DISABLE_CLUSTERING, 887 .use_clustering = DISABLE_CLUSTERING,
887 .this_id = -1, 888 .this_id = -1,
888}; 889};
diff --git a/drivers/scsi/cxgb3i/cxgb3i_offload.c b/drivers/scsi/cxgb3i/cxgb3i_offload.c
index 4d8654cdbdae..e11c9c180f39 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_offload.c
+++ b/drivers/scsi/cxgb3i/cxgb3i_offload.c
@@ -1737,7 +1737,7 @@ int cxgb3i_c3cn_send_pdus(struct s3_conn *c3cn, struct sk_buff *skb)
1737 c3cn_tx_debug("c3cn 0x%p, snd %u - %u > %u.\n", 1737 c3cn_tx_debug("c3cn 0x%p, snd %u - %u > %u.\n",
1738 c3cn, c3cn->write_seq, c3cn->snd_una, 1738 c3cn, c3cn->write_seq, c3cn->snd_una,
1739 cxgb3_snd_win); 1739 cxgb3_snd_win);
1740 err = -EAGAIN; 1740 err = -ENOBUFS;
1741 goto out_err; 1741 goto out_err;
1742 } 1742 }
1743 1743
@@ -1775,6 +1775,8 @@ done:
1775out_err: 1775out_err:
1776 if (copied == 0 && err == -EPIPE) 1776 if (copied == 0 && err == -EPIPE)
1777 copied = c3cn->err ? c3cn->err : -EPIPE; 1777 copied = c3cn->err ? c3cn->err : -EPIPE;
1778 else
1779 copied = err;
1778 goto done; 1780 goto done;
1779} 1781}
1780 1782
diff --git a/drivers/scsi/cxgb3i/cxgb3i_pdu.c b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
index 7eebc9a7cb35..709105071177 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_pdu.c
+++ b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
@@ -400,17 +400,18 @@ int cxgb3i_conn_xmit_pdu(struct iscsi_task *task)
400 return 0; 400 return 0;
401 } 401 }
402 402
403 if (err < 0 && err != -EAGAIN) { 403 if (err == -EAGAIN || err == -ENOBUFS) {
404 kfree_skb(skb); 404 /* reset skb to send when we are called again */
405 cxgb3i_tx_debug("itt 0x%x, skb 0x%p, len %u/%u, xmit err %d.\n", 405 tdata->skb = skb;
406 task->itt, skb, skb->len, skb->data_len, err);
407 iscsi_conn_printk(KERN_ERR, task->conn, "xmit err %d.\n", err);
408 iscsi_conn_failure(task->conn, ISCSI_ERR_XMIT_FAILED);
409 return err; 406 return err;
410 } 407 }
411 /* reset skb to send when we are called again */ 408
412 tdata->skb = skb; 409 kfree_skb(skb);
413 return -EAGAIN; 410 cxgb3i_tx_debug("itt 0x%x, skb 0x%p, len %u/%u, xmit err %d.\n",
411 task->itt, skb, skb->len, skb->data_len, err);
412 iscsi_conn_printk(KERN_ERR, task->conn, "xmit err %d.\n", err);
413 iscsi_conn_failure(task->conn, ISCSI_ERR_XMIT_FAILED);
414 return err;
414} 415}
415 416
416int cxgb3i_pdu_init(void) 417int cxgb3i_pdu_init(void)
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index 94e1e3189773..03e1926f40b5 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -57,7 +57,7 @@ DEFINE_RWLOCK(fcoe_hostlist_lock);
57DEFINE_TIMER(fcoe_timer, NULL, 0, 0); 57DEFINE_TIMER(fcoe_timer, NULL, 0, 0);
58DEFINE_PER_CPU(struct fcoe_percpu_s, fcoe_percpu); 58DEFINE_PER_CPU(struct fcoe_percpu_s, fcoe_percpu);
59 59
60/* Function Prototyes */ 60/* Function Prototypes */
61static int fcoe_reset(struct Scsi_Host *shost); 61static int fcoe_reset(struct Scsi_Host *shost);
62static int fcoe_xmit(struct fc_lport *, struct fc_frame *); 62static int fcoe_xmit(struct fc_lport *, struct fc_frame *);
63static int fcoe_rcv(struct sk_buff *, struct net_device *, 63static int fcoe_rcv(struct sk_buff *, struct net_device *,
@@ -138,7 +138,6 @@ static struct scsi_host_template fcoe_shost_template = {
138/** 138/**
139 * fcoe_lport_config() - sets up the fc_lport 139 * fcoe_lport_config() - sets up the fc_lport
140 * @lp: ptr to the fc_lport 140 * @lp: ptr to the fc_lport
141 * @shost: ptr to the parent scsi host
142 * 141 *
143 * Returns: 0 for success 142 * Returns: 0 for success
144 */ 143 */
@@ -256,6 +255,7 @@ static int fcoe_netdev_config(struct fc_lport *lp, struct net_device *netdev)
256 rtnl_lock(); 255 rtnl_lock();
257 memcpy(flogi_maddr, (u8[6]) FC_FCOE_FLOGI_MAC, ETH_ALEN); 256 memcpy(flogi_maddr, (u8[6]) FC_FCOE_FLOGI_MAC, ETH_ALEN);
258 dev_unicast_add(fc->real_dev, flogi_maddr, ETH_ALEN); 257 dev_unicast_add(fc->real_dev, flogi_maddr, ETH_ALEN);
258 dev_mc_add(fc->real_dev, FIP_ALL_ENODE_MACS, ETH_ALEN, 0);
259 rtnl_unlock(); 259 rtnl_unlock();
260 260
261 /* 261 /*
@@ -380,7 +380,7 @@ static int fcoe_if_destroy(struct net_device *netdev)
380 dev_mc_delete(fc->real_dev, FIP_ALL_ENODE_MACS, ETH_ALEN, 0); 380 dev_mc_delete(fc->real_dev, FIP_ALL_ENODE_MACS, ETH_ALEN, 0);
381 rtnl_unlock(); 381 rtnl_unlock();
382 382
383 /* Free the per-CPU revieve threads */ 383 /* Free the per-CPU receive threads */
384 fcoe_percpu_clean(lp); 384 fcoe_percpu_clean(lp);
385 385
386 /* Free existing skbs */ 386 /* Free existing skbs */
@@ -720,7 +720,7 @@ static void fcoe_percpu_thread_destroy(unsigned int cpu)
720 } 720 }
721#else 721#else
722 /* 722 /*
723 * This a non-SMP scenario where the singluar Rx thread is 723 * This a non-SMP scenario where the singular Rx thread is
724 * being removed. Free all skbs and stop the thread. 724 * being removed. Free all skbs and stop the thread.
725 */ 725 */
726 spin_lock_bh(&p->fcoe_rx_list.lock); 726 spin_lock_bh(&p->fcoe_rx_list.lock);
@@ -777,7 +777,7 @@ static struct notifier_block fcoe_cpu_notifier = {
777 * @skb: the receive skb 777 * @skb: the receive skb
778 * @dev: associated net device 778 * @dev: associated net device
779 * @ptype: context 779 * @ptype: context
780 * @odldev: last device 780 * @olddev: last device
781 * 781 *
782 * this function will receive the packet and build fc frame and pass it up 782 * this function will receive the packet and build fc frame and pass it up
783 * 783 *
@@ -884,7 +884,6 @@ err2:
884 kfree_skb(skb); 884 kfree_skb(skb);
885 return -1; 885 return -1;
886} 886}
887EXPORT_SYMBOL_GPL(fcoe_rcv);
888 887
889/** 888/**
890 * fcoe_start_io() - pass to netdev to start xmit for fcoe 889 * fcoe_start_io() - pass to netdev to start xmit for fcoe
@@ -905,7 +904,7 @@ static inline int fcoe_start_io(struct sk_buff *skb)
905} 904}
906 905
907/** 906/**
908 * fcoe_get_paged_crc_eof() - in case we need alloc a page for crc_eof 907 * fcoe_get_paged_crc_eof() - in case we need to alloc a page for crc_eof
909 * @skb: the skb to be xmitted 908 * @skb: the skb to be xmitted
910 * @tlen: total len 909 * @tlen: total len
911 * 910 *
@@ -947,7 +946,7 @@ static int fcoe_get_paged_crc_eof(struct sk_buff *skb, int tlen)
947 946
948/** 947/**
949 * fcoe_fc_crc() - calculates FC CRC in this fcoe skb 948 * fcoe_fc_crc() - calculates FC CRC in this fcoe skb
950 * @fp: the fc_frame containg data to be checksummed 949 * @fp: the fc_frame containing data to be checksummed
951 * 950 *
952 * This uses crc32() to calculate the crc for fc frame 951 * This uses crc32() to calculate the crc for fc frame
953 * Return : 32 bit crc 952 * Return : 32 bit crc
@@ -1011,7 +1010,7 @@ int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp)
1011 wlen = skb->len / FCOE_WORD_TO_BYTE; 1010 wlen = skb->len / FCOE_WORD_TO_BYTE;
1012 1011
1013 if (!lp->link_up) { 1012 if (!lp->link_up) {
1014 kfree(skb); 1013 kfree_skb(skb);
1015 return 0; 1014 return 0;
1016 } 1015 }
1017 1016
@@ -1062,7 +1061,7 @@ int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp)
1062 cp = NULL; 1061 cp = NULL;
1063 } 1062 }
1064 1063
1065 /* adjust skb netowrk/transport offsets to match mac/fcoe/fc */ 1064 /* adjust skb network/transport offsets to match mac/fcoe/fc */
1066 skb_push(skb, elen + hlen); 1065 skb_push(skb, elen + hlen);
1067 skb_reset_mac_header(skb); 1066 skb_reset_mac_header(skb);
1068 skb_reset_network_header(skb); 1067 skb_reset_network_header(skb);
@@ -1123,7 +1122,6 @@ int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp)
1123 1122
1124 return 0; 1123 return 0;
1125} 1124}
1126EXPORT_SYMBOL_GPL(fcoe_xmit);
1127 1125
1128/** 1126/**
1129 * fcoe_percpu_receive_thread() - recv thread per cpu 1127 * fcoe_percpu_receive_thread() - recv thread per cpu
@@ -1296,17 +1294,16 @@ void fcoe_watchdog(ulong vp)
1296 1294
1297 1295
1298/** 1296/**
1299 * fcoe_check_wait_queue() - put the skb into fcoe pending xmit queue 1297 * fcoe_check_wait_queue() - attempt to clear the transmit backlog
1300 * @lp: the fc_port for this skb 1298 * @lp: the fc_lport
1301 * @skb: the associated skb to be xmitted
1302 * 1299 *
1303 * This empties the wait_queue, dequeue the head of the wait_queue queue 1300 * This empties the wait_queue, dequeue the head of the wait_queue queue
1304 * and calls fcoe_start_io() for each packet, if all skb have been 1301 * and calls fcoe_start_io() for each packet, if all skb have been
1305 * transmitted, return qlen or -1 if a error occurs, then restore 1302 * transmitted, return qlen or -1 if a error occurs, then restore
1306 * wait_queue and try again later. 1303 * wait_queue and try again later.
1307 * 1304 *
1308 * The wait_queue is used when the skb transmit fails. skb will go 1305 * The wait_queue is used when the skb transmit fails. skb will go
1309 * in the wait_queue which will be emptied by the time function OR 1306 * in the wait_queue which will be emptied by the timer function or
1310 * by the next skb transmit. 1307 * by the next skb transmit.
1311 * 1308 *
1312 * Returns: 0 for success 1309 * Returns: 0 for success
@@ -1355,10 +1352,6 @@ out:
1355 */ 1352 */
1356static void fcoe_dev_setup() 1353static void fcoe_dev_setup()
1357{ 1354{
1358 /*
1359 * here setup a interface specific wd time to
1360 * monitor the link state
1361 */
1362 register_netdevice_notifier(&fcoe_notifier); 1355 register_netdevice_notifier(&fcoe_notifier);
1363} 1356}
1364 1357
@@ -1437,10 +1430,9 @@ out:
1437 1430
1438/** 1431/**
1439 * fcoe_if_to_netdev() - parse a name buffer to get netdev 1432 * fcoe_if_to_netdev() - parse a name buffer to get netdev
1440 * @ifname: fixed array for output parsed ifname
1441 * @buffer: incoming buffer to be copied 1433 * @buffer: incoming buffer to be copied
1442 * 1434 *
1443 * Returns: NULL or ptr to netdeive 1435 * Returns: NULL or ptr to net_device
1444 */ 1436 */
1445static struct net_device *fcoe_if_to_netdev(const char *buffer) 1437static struct net_device *fcoe_if_to_netdev(const char *buffer)
1446{ 1438{
@@ -1458,7 +1450,7 @@ static struct net_device *fcoe_if_to_netdev(const char *buffer)
1458} 1450}
1459 1451
1460/** 1452/**
1461 * fcoe_netdev_to_module_owner() - finds out the nic drive moddule of the netdev 1453 * fcoe_netdev_to_module_owner() - finds out the driver module of the netdev
1462 * @netdev: the target netdev 1454 * @netdev: the target netdev
1463 * 1455 *
1464 * Returns: ptr to the struct module, NULL for failure 1456 * Returns: ptr to the struct module, NULL for failure
@@ -1488,7 +1480,7 @@ fcoe_netdev_to_module_owner(const struct net_device *netdev)
1488 * Holds the Ethernet driver module by try_module_get() for 1480 * Holds the Ethernet driver module by try_module_get() for
1489 * the corresponding netdev. 1481 * the corresponding netdev.
1490 * 1482 *
1491 * Returns: 0 for succsss 1483 * Returns: 0 for success
1492 */ 1484 */
1493static int fcoe_ethdrv_get(const struct net_device *netdev) 1485static int fcoe_ethdrv_get(const struct net_device *netdev)
1494{ 1486{
@@ -1510,7 +1502,7 @@ static int fcoe_ethdrv_get(const struct net_device *netdev)
1510 * Releases the Ethernet driver module by module_put for 1502 * Releases the Ethernet driver module by module_put for
1511 * the corresponding netdev. 1503 * the corresponding netdev.
1512 * 1504 *
1513 * Returns: 0 for succsss 1505 * Returns: 0 for success
1514 */ 1506 */
1515static int fcoe_ethdrv_put(const struct net_device *netdev) 1507static int fcoe_ethdrv_put(const struct net_device *netdev)
1516{ 1508{
@@ -1528,7 +1520,7 @@ static int fcoe_ethdrv_put(const struct net_device *netdev)
1528 1520
1529/** 1521/**
1530 * fcoe_destroy() - handles the destroy from sysfs 1522 * fcoe_destroy() - handles the destroy from sysfs
1531 * @buffer: expcted to be a eth if name 1523 * @buffer: expected to be an eth if name
1532 * @kp: associated kernel param 1524 * @kp: associated kernel param
1533 * 1525 *
1534 * Returns: 0 for success 1526 * Returns: 0 for success
@@ -1565,7 +1557,7 @@ out_nodev:
1565 1557
1566/** 1558/**
1567 * fcoe_create() - Handles the create call from sysfs 1559 * fcoe_create() - Handles the create call from sysfs
1568 * @buffer: expcted to be a eth if name 1560 * @buffer: expected to be an eth if name
1569 * @kp: associated kernel param 1561 * @kp: associated kernel param
1570 * 1562 *
1571 * Returns: 0 for success 1563 * Returns: 0 for success
@@ -1652,7 +1644,6 @@ int fcoe_link_ok(struct fc_lport *lp)
1652 1644
1653 return rc; 1645 return rc;
1654} 1646}
1655EXPORT_SYMBOL_GPL(fcoe_link_ok);
1656 1647
1657/** 1648/**
1658 * fcoe_percpu_clean() - Clear the pending skbs for an lport 1649 * fcoe_percpu_clean() - Clear the pending skbs for an lport
@@ -1684,7 +1675,6 @@ void fcoe_percpu_clean(struct fc_lport *lp)
1684 spin_unlock_bh(&pp->fcoe_rx_list.lock); 1675 spin_unlock_bh(&pp->fcoe_rx_list.lock);
1685 } 1676 }
1686} 1677}
1687EXPORT_SYMBOL_GPL(fcoe_percpu_clean);
1688 1678
1689/** 1679/**
1690 * fcoe_clean_pending_queue() - Dequeue a skb and free it 1680 * fcoe_clean_pending_queue() - Dequeue a skb and free it
@@ -1705,7 +1695,6 @@ void fcoe_clean_pending_queue(struct fc_lport *lp)
1705 } 1695 }
1706 spin_unlock_bh(&fc->fcoe_pending_queue.lock); 1696 spin_unlock_bh(&fc->fcoe_pending_queue.lock);
1707} 1697}
1708EXPORT_SYMBOL_GPL(fcoe_clean_pending_queue);
1709 1698
1710/** 1699/**
1711 * fcoe_reset() - Resets the fcoe 1700 * fcoe_reset() - Resets the fcoe
@@ -1719,11 +1708,10 @@ int fcoe_reset(struct Scsi_Host *shost)
1719 fc_lport_reset(lport); 1708 fc_lport_reset(lport);
1720 return 0; 1709 return 0;
1721} 1710}
1722EXPORT_SYMBOL_GPL(fcoe_reset);
1723 1711
1724/** 1712/**
1725 * fcoe_hostlist_lookup_softc() - find the corresponding lport by a given device 1713 * fcoe_hostlist_lookup_softc() - find the corresponding lport by a given device
1726 * @device: this is currently ptr to net_device 1714 * @dev: this is currently ptr to net_device
1727 * 1715 *
1728 * Returns: NULL or the located fcoe_softc 1716 * Returns: NULL or the located fcoe_softc
1729 */ 1717 */
@@ -1757,11 +1745,10 @@ struct fc_lport *fcoe_hostlist_lookup(const struct net_device *netdev)
1757 1745
1758 return (fc) ? fc->ctlr.lp : NULL; 1746 return (fc) ? fc->ctlr.lp : NULL;
1759} 1747}
1760EXPORT_SYMBOL_GPL(fcoe_hostlist_lookup);
1761 1748
1762/** 1749/**
1763 * fcoe_hostlist_add() - Add a lport to lports list 1750 * fcoe_hostlist_add() - Add a lport to lports list
1764 * @lp: ptr to the fc_lport to badded 1751 * @lp: ptr to the fc_lport to be added
1765 * 1752 *
1766 * Returns: 0 for success 1753 * Returns: 0 for success
1767 */ 1754 */
@@ -1778,11 +1765,10 @@ int fcoe_hostlist_add(const struct fc_lport *lp)
1778 } 1765 }
1779 return 0; 1766 return 0;
1780} 1767}
1781EXPORT_SYMBOL_GPL(fcoe_hostlist_add);
1782 1768
1783/** 1769/**
1784 * fcoe_hostlist_remove() - remove a lport from lports list 1770 * fcoe_hostlist_remove() - remove a lport from lports list
1785 * @lp: ptr to the fc_lport to badded 1771 * @lp: ptr to the fc_lport to be removed
1786 * 1772 *
1787 * Returns: 0 for success 1773 * Returns: 0 for success
1788 */ 1774 */
@@ -1798,7 +1784,6 @@ int fcoe_hostlist_remove(const struct fc_lport *lp)
1798 1784
1799 return 0; 1785 return 0;
1800} 1786}
1801EXPORT_SYMBOL_GPL(fcoe_hostlist_remove);
1802 1787
1803/** 1788/**
1804 * fcoe_init() - fcoe module loading initialization 1789 * fcoe_init() - fcoe module loading initialization
diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index f410f4abb548..62ba0f39c6bd 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -122,7 +122,7 @@ static void fcoe_ctlr_reset_fcfs(struct fcoe_ctlr *fip)
122} 122}
123 123
124/** 124/**
125 * fcoe_ctrl_destroy() - Disable and tear-down the FCoE controller. 125 * fcoe_ctlr_destroy() - Disable and tear-down the FCoE controller.
126 * @fip: FCoE controller. 126 * @fip: FCoE controller.
127 * 127 *
128 * This is called by FCoE drivers before freeing the &fcoe_ctlr. 128 * This is called by FCoE drivers before freeing the &fcoe_ctlr.
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index c09d77591f92..dd689ded8609 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -3654,6 +3654,7 @@ static int ipr_slave_configure(struct scsi_device *sdev)
3654{ 3654{
3655 struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *) sdev->host->hostdata; 3655 struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *) sdev->host->hostdata;
3656 struct ipr_resource_entry *res; 3656 struct ipr_resource_entry *res;
3657 struct ata_port *ap = NULL;
3657 unsigned long lock_flags = 0; 3658 unsigned long lock_flags = 0;
3658 3659
3659 spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); 3660 spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags);
@@ -3672,12 +3673,16 @@ static int ipr_slave_configure(struct scsi_device *sdev)
3672 } 3673 }
3673 if (ipr_is_vset_device(res) || ipr_is_scsi_disk(res)) 3674 if (ipr_is_vset_device(res) || ipr_is_scsi_disk(res))
3674 sdev->allow_restart = 1; 3675 sdev->allow_restart = 1;
3675 if (ipr_is_gata(res) && res->sata_port) { 3676 if (ipr_is_gata(res) && res->sata_port)
3677 ap = res->sata_port->ap;
3678 spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
3679
3680 if (ap) {
3676 scsi_adjust_queue_depth(sdev, 0, IPR_MAX_CMD_PER_ATA_LUN); 3681 scsi_adjust_queue_depth(sdev, 0, IPR_MAX_CMD_PER_ATA_LUN);
3677 ata_sas_slave_configure(sdev, res->sata_port->ap); 3682 ata_sas_slave_configure(sdev, ap);
3678 } else { 3683 } else
3679 scsi_adjust_queue_depth(sdev, 0, sdev->host->cmd_per_lun); 3684 scsi_adjust_queue_depth(sdev, 0, sdev->host->cmd_per_lun);
3680 } 3685 return 0;
3681 } 3686 }
3682 spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); 3687 spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
3683 return 0; 3688 return 0;
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index b3e5e08e44ab..b7c092d63bbe 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -463,7 +463,7 @@ static int iscsi_sw_tcp_pdu_init(struct iscsi_task *task,
463 } 463 }
464 464
465 if (err) { 465 if (err) {
466 iscsi_conn_failure(conn, err); 466 /* got invalid offset/len */
467 return -EIO; 467 return -EIO;
468 } 468 }
469 return 0; 469 return 0;
@@ -851,6 +851,7 @@ static struct scsi_host_template iscsi_sw_tcp_sht = {
851 .use_clustering = DISABLE_CLUSTERING, 851 .use_clustering = DISABLE_CLUSTERING,
852 .slave_alloc = iscsi_sw_tcp_slave_alloc, 852 .slave_alloc = iscsi_sw_tcp_slave_alloc,
853 .slave_configure = iscsi_sw_tcp_slave_configure, 853 .slave_configure = iscsi_sw_tcp_slave_configure,
854 .target_alloc = iscsi_target_alloc,
854 .proc_name = "iscsi_tcp", 855 .proc_name = "iscsi_tcp",
855 .this_id = -1, 856 .this_id = -1,
856}; 857};
diff --git a/drivers/scsi/libfc/fc_disc.c b/drivers/scsi/libfc/fc_disc.c
index e57556ea5b48..4c880656990b 100644
--- a/drivers/scsi/libfc/fc_disc.c
+++ b/drivers/scsi/libfc/fc_disc.c
@@ -113,6 +113,11 @@ void fc_disc_stop_rports(struct fc_disc *disc)
113 lport->tt.rport_logoff(rport); 113 lport->tt.rport_logoff(rport);
114 } 114 }
115 115
116 list_for_each_entry_safe(rdata, next, &disc->rogue_rports, peers) {
117 rport = PRIV_TO_RPORT(rdata);
118 lport->tt.rport_logoff(rport);
119 }
120
116 mutex_unlock(&disc->disc_mutex); 121 mutex_unlock(&disc->disc_mutex);
117} 122}
118 123
@@ -131,23 +136,32 @@ static void fc_disc_rport_callback(struct fc_lport *lport,
131{ 136{
132 struct fc_rport_libfc_priv *rdata = rport->dd_data; 137 struct fc_rport_libfc_priv *rdata = rport->dd_data;
133 struct fc_disc *disc = &lport->disc; 138 struct fc_disc *disc = &lport->disc;
134 int found = 0;
135 139
136 FC_DEBUG_DISC("Received a %d event for port (%6x)\n", event, 140 FC_DEBUG_DISC("Received a %d event for port (%6x)\n", event,
137 rport->port_id); 141 rport->port_id);
138 142
139 if (event == RPORT_EV_CREATED) { 143 switch (event) {
144 case RPORT_EV_CREATED:
140 if (disc) { 145 if (disc) {
141 found = 1;
142 mutex_lock(&disc->disc_mutex); 146 mutex_lock(&disc->disc_mutex);
143 list_add_tail(&rdata->peers, &disc->rports); 147 list_add_tail(&rdata->peers, &disc->rports);
144 mutex_unlock(&disc->disc_mutex); 148 mutex_unlock(&disc->disc_mutex);
145 } 149 }
150 break;
151 case RPORT_EV_LOGO:
152 case RPORT_EV_FAILED:
153 case RPORT_EV_STOP:
154 mutex_lock(&disc->disc_mutex);
155 mutex_lock(&rdata->rp_mutex);
156 if (rdata->trans_state == FC_PORTSTATE_ROGUE)
157 list_del(&rdata->peers);
158 mutex_unlock(&rdata->rp_mutex);
159 mutex_unlock(&disc->disc_mutex);
160 break;
161 default:
162 break;
146 } 163 }
147 164
148 if (!found)
149 FC_DEBUG_DISC("The rport (%6x) is not maintained "
150 "by the discovery layer\n", rport->port_id);
151} 165}
152 166
153/** 167/**
@@ -439,6 +453,7 @@ static int fc_disc_new_target(struct fc_disc *disc,
439 rdata = rport->dd_data; 453 rdata = rport->dd_data;
440 rdata->ops = &fc_disc_rport_ops; 454 rdata->ops = &fc_disc_rport_ops;
441 rdata->rp_state = RPORT_ST_INIT; 455 rdata->rp_state = RPORT_ST_INIT;
456 list_add_tail(&rdata->peers, &disc->rogue_rports);
442 lport->tt.rport_login(rport); 457 lport->tt.rport_login(rport);
443 } 458 }
444 } 459 }
@@ -461,21 +476,29 @@ static void fc_disc_del_target(struct fc_disc *disc, struct fc_rport *rport)
461/** 476/**
462 * fc_disc_done() - Discovery has been completed 477 * fc_disc_done() - Discovery has been completed
463 * @disc: FC discovery context 478 * @disc: FC discovery context
479 * Locking Note: This function expects that the disc mutex is locked before
480 * it is called. The discovery callback is then made with the lock released,
481 * and the lock is re-taken before returning from this function
464 */ 482 */
465static void fc_disc_done(struct fc_disc *disc) 483static void fc_disc_done(struct fc_disc *disc)
466{ 484{
467 struct fc_lport *lport = disc->lport; 485 struct fc_lport *lport = disc->lport;
486 enum fc_disc_event event;
468 487
469 FC_DEBUG_DISC("Discovery complete for port (%6x)\n", 488 FC_DEBUG_DISC("Discovery complete for port (%6x)\n",
470 fc_host_port_id(lport->host)); 489 fc_host_port_id(lport->host));
471 490
472 disc->disc_callback(lport, disc->event); 491 event = disc->event;
473 disc->event = DISC_EV_NONE; 492 disc->event = DISC_EV_NONE;
474 493
475 if (disc->requested) 494 if (disc->requested)
476 fc_disc_gpn_ft_req(disc); 495 fc_disc_gpn_ft_req(disc);
477 else 496 else
478 disc->pending = 0; 497 disc->pending = 0;
498
499 mutex_unlock(&disc->disc_mutex);
500 disc->disc_callback(lport, event);
501 mutex_lock(&disc->disc_mutex);
479} 502}
480 503
481/** 504/**
@@ -622,6 +645,8 @@ static int fc_disc_gpn_ft_parse(struct fc_disc *disc, void *buf, size_t len)
622 rdata = rport->dd_data; 645 rdata = rport->dd_data;
623 rdata->ops = &fc_disc_rport_ops; 646 rdata->ops = &fc_disc_rport_ops;
624 rdata->local_port = lport; 647 rdata->local_port = lport;
648 list_add_tail(&rdata->peers,
649 &disc->rogue_rports);
625 lport->tt.rport_login(rport); 650 lport->tt.rport_login(rport);
626 } else 651 } else
627 FC_DBG("Failed to allocate memory for " 652 FC_DBG("Failed to allocate memory for "
@@ -681,8 +706,8 @@ static void fc_disc_timeout(struct work_struct *work)
681 * @fp: response frame 706 * @fp: response frame
682 * @lp_arg: Fibre Channel host port instance 707 * @lp_arg: Fibre Channel host port instance
683 * 708 *
684 * Locking Note: This function expects that the disc_mutex is locked 709 * Locking Note: This function is called without disc mutex held, and
685 * before it is called. 710 * should do all its processing with the mutex held
686 */ 711 */
687static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp, 712static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp,
688 void *disc_arg) 713 void *disc_arg)
@@ -695,11 +720,13 @@ static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp,
695 unsigned int len; 720 unsigned int len;
696 int error; 721 int error;
697 722
723 mutex_lock(&disc->disc_mutex);
698 FC_DEBUG_DISC("Received a GPN_FT response on port (%6x)\n", 724 FC_DEBUG_DISC("Received a GPN_FT response on port (%6x)\n",
699 fc_host_port_id(disc->lport->host)); 725 fc_host_port_id(disc->lport->host));
700 726
701 if (IS_ERR(fp)) { 727 if (IS_ERR(fp)) {
702 fc_disc_error(disc, fp); 728 fc_disc_error(disc, fp);
729 mutex_unlock(&disc->disc_mutex);
703 return; 730 return;
704 } 731 }
705 732
@@ -744,6 +771,8 @@ static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp,
744 disc->seq_count++; 771 disc->seq_count++;
745 } 772 }
746 fc_frame_free(fp); 773 fc_frame_free(fp);
774
775 mutex_unlock(&disc->disc_mutex);
747} 776}
748 777
749/** 778/**
@@ -757,7 +786,6 @@ static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp,
757static void fc_disc_single(struct fc_disc *disc, struct fc_disc_port *dp) 786static void fc_disc_single(struct fc_disc *disc, struct fc_disc_port *dp)
758{ 787{
759 struct fc_lport *lport; 788 struct fc_lport *lport;
760 struct fc_rport *rport;
761 struct fc_rport *new_rport; 789 struct fc_rport *new_rport;
762 struct fc_rport_libfc_priv *rdata; 790 struct fc_rport_libfc_priv *rdata;
763 791
@@ -766,15 +794,12 @@ static void fc_disc_single(struct fc_disc *disc, struct fc_disc_port *dp)
766 if (dp->ids.port_id == fc_host_port_id(lport->host)) 794 if (dp->ids.port_id == fc_host_port_id(lport->host))
767 goto out; 795 goto out;
768 796
769 rport = lport->tt.rport_lookup(lport, dp->ids.port_id);
770 if (rport)
771 fc_disc_del_target(disc, rport);
772
773 new_rport = lport->tt.rport_create(dp); 797 new_rport = lport->tt.rport_create(dp);
774 if (new_rport) { 798 if (new_rport) {
775 rdata = new_rport->dd_data; 799 rdata = new_rport->dd_data;
776 rdata->ops = &fc_disc_rport_ops; 800 rdata->ops = &fc_disc_rport_ops;
777 kfree(dp); 801 kfree(dp);
802 list_add_tail(&rdata->peers, &disc->rogue_rports);
778 lport->tt.rport_login(new_rport); 803 lport->tt.rport_login(new_rport);
779 } 804 }
780 return; 805 return;
@@ -836,6 +861,7 @@ int fc_disc_init(struct fc_lport *lport)
836 INIT_DELAYED_WORK(&disc->disc_work, fc_disc_timeout); 861 INIT_DELAYED_WORK(&disc->disc_work, fc_disc_timeout);
837 mutex_init(&disc->disc_mutex); 862 mutex_init(&disc->disc_mutex);
838 INIT_LIST_HEAD(&disc->rports); 863 INIT_LIST_HEAD(&disc->rports);
864 INIT_LIST_HEAD(&disc->rogue_rports);
839 865
840 disc->lport = lport; 866 disc->lport = lport;
841 disc->delay = FC_DISC_DELAY; 867 disc->delay = FC_DISC_DELAY;
diff --git a/drivers/scsi/libfc/fc_elsct.c b/drivers/scsi/libfc/fc_elsct.c
index dd47fe619d1e..5878b34bff18 100644
--- a/drivers/scsi/libfc/fc_elsct.c
+++ b/drivers/scsi/libfc/fc_elsct.c
@@ -41,7 +41,7 @@ static struct fc_seq *fc_elsct_send(struct fc_lport *lport,
41 void *arg, u32 timer_msec) 41 void *arg, u32 timer_msec)
42{ 42{
43 enum fc_rctl r_ctl; 43 enum fc_rctl r_ctl;
44 u32 did; 44 u32 did = FC_FID_NONE;
45 enum fc_fh_type fh_type; 45 enum fc_fh_type fh_type;
46 int rc; 46 int rc;
47 47
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c
index f555ae99ad40..521f996f9b13 100644
--- a/drivers/scsi/libfc/fc_fcp.c
+++ b/drivers/scsi/libfc/fc_fcp.c
@@ -713,7 +713,7 @@ done:
713static void fc_fcp_recv(struct fc_seq *seq, struct fc_frame *fp, void *arg) 713static void fc_fcp_recv(struct fc_seq *seq, struct fc_frame *fp, void *arg)
714{ 714{
715 struct fc_fcp_pkt *fsp = (struct fc_fcp_pkt *)arg; 715 struct fc_fcp_pkt *fsp = (struct fc_fcp_pkt *)arg;
716 struct fc_lport *lp; 716 struct fc_lport *lport = fsp->lp;
717 struct fc_frame_header *fh; 717 struct fc_frame_header *fh;
718 struct fcp_txrdy *dd; 718 struct fcp_txrdy *dd;
719 u8 r_ctl; 719 u8 r_ctl;
@@ -724,9 +724,8 @@ static void fc_fcp_recv(struct fc_seq *seq, struct fc_frame *fp, void *arg)
724 724
725 fh = fc_frame_header_get(fp); 725 fh = fc_frame_header_get(fp);
726 r_ctl = fh->fh_r_ctl; 726 r_ctl = fh->fh_r_ctl;
727 lp = fsp->lp;
728 727
729 if (!(lp->state & LPORT_ST_READY)) 728 if (!(lport->state & LPORT_ST_READY))
730 goto out; 729 goto out;
731 if (fc_fcp_lock_pkt(fsp)) 730 if (fc_fcp_lock_pkt(fsp))
732 goto out; 731 goto out;
@@ -779,7 +778,7 @@ errout:
779 if (IS_ERR(fp)) 778 if (IS_ERR(fp))
780 fc_fcp_error(fsp, fp); 779 fc_fcp_error(fsp, fp);
781 else if (rc == -ENOMEM) 780 else if (rc == -ENOMEM)
782 fc_fcp_reduce_can_queue(lp); 781 fc_fcp_reduce_can_queue(lport);
783} 782}
784 783
785static void fc_fcp_resp(struct fc_fcp_pkt *fsp, struct fc_frame *fp) 784static void fc_fcp_resp(struct fc_fcp_pkt *fsp, struct fc_frame *fp)
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c
index b8178ef398d7..e0c247724d2b 100644
--- a/drivers/scsi/libfc/fc_lport.c
+++ b/drivers/scsi/libfc/fc_lport.c
@@ -618,6 +618,11 @@ int fc_fabric_logoff(struct fc_lport *lport)
618{ 618{
619 lport->tt.disc_stop_final(lport); 619 lport->tt.disc_stop_final(lport);
620 mutex_lock(&lport->lp_mutex); 620 mutex_lock(&lport->lp_mutex);
621 if (lport->dns_rp)
622 lport->tt.rport_logoff(lport->dns_rp);
623 mutex_unlock(&lport->lp_mutex);
624 lport->tt.rport_flush_queue();
625 mutex_lock(&lport->lp_mutex);
621 fc_lport_enter_logo(lport); 626 fc_lport_enter_logo(lport);
622 mutex_unlock(&lport->lp_mutex); 627 mutex_unlock(&lport->lp_mutex);
623 cancel_delayed_work_sync(&lport->retry_work); 628 cancel_delayed_work_sync(&lport->retry_work);
@@ -639,7 +644,12 @@ EXPORT_SYMBOL(fc_fabric_logoff);
639 */ 644 */
640int fc_lport_destroy(struct fc_lport *lport) 645int fc_lport_destroy(struct fc_lport *lport)
641{ 646{
647 mutex_lock(&lport->lp_mutex);
648 lport->state = LPORT_ST_NONE;
649 lport->link_up = 0;
642 lport->tt.frame_send = fc_frame_drop; 650 lport->tt.frame_send = fc_frame_drop;
651 mutex_unlock(&lport->lp_mutex);
652
643 lport->tt.fcp_abort_io(lport); 653 lport->tt.fcp_abort_io(lport);
644 lport->tt.exch_mgr_reset(lport, 0, 0); 654 lport->tt.exch_mgr_reset(lport, 0, 0);
645 return 0; 655 return 0;
@@ -1032,17 +1042,19 @@ static void fc_lport_rft_id_resp(struct fc_seq *sp, struct fc_frame *fp,
1032 1042
1033 FC_DEBUG_LPORT("Received a RFT_ID response\n"); 1043 FC_DEBUG_LPORT("Received a RFT_ID response\n");
1034 1044
1035 if (IS_ERR(fp)) {
1036 fc_lport_error(lport, fp);
1037 goto err;
1038 }
1039
1040 if (lport->state != LPORT_ST_RFT_ID) { 1045 if (lport->state != LPORT_ST_RFT_ID) {
1041 FC_DBG("Received a RFT_ID response, but in state %s\n", 1046 FC_DBG("Received a RFT_ID response, but in state %s\n",
1042 fc_lport_state(lport)); 1047 fc_lport_state(lport));
1048 if (IS_ERR(fp))
1049 goto err;
1043 goto out; 1050 goto out;
1044 } 1051 }
1045 1052
1053 if (IS_ERR(fp)) {
1054 fc_lport_error(lport, fp);
1055 goto err;
1056 }
1057
1046 fh = fc_frame_header_get(fp); 1058 fh = fc_frame_header_get(fp);
1047 ct = fc_frame_payload_get(fp, sizeof(*ct)); 1059 ct = fc_frame_payload_get(fp, sizeof(*ct));
1048 1060
@@ -1084,17 +1096,19 @@ static void fc_lport_rpn_id_resp(struct fc_seq *sp, struct fc_frame *fp,
1084 1096
1085 FC_DEBUG_LPORT("Received a RPN_ID response\n"); 1097 FC_DEBUG_LPORT("Received a RPN_ID response\n");
1086 1098
1087 if (IS_ERR(fp)) {
1088 fc_lport_error(lport, fp);
1089 goto err;
1090 }
1091
1092 if (lport->state != LPORT_ST_RPN_ID) { 1099 if (lport->state != LPORT_ST_RPN_ID) {
1093 FC_DBG("Received a RPN_ID response, but in state %s\n", 1100 FC_DBG("Received a RPN_ID response, but in state %s\n",
1094 fc_lport_state(lport)); 1101 fc_lport_state(lport));
1102 if (IS_ERR(fp))
1103 goto err;
1095 goto out; 1104 goto out;
1096 } 1105 }
1097 1106
1107 if (IS_ERR(fp)) {
1108 fc_lport_error(lport, fp);
1109 goto err;
1110 }
1111
1098 fh = fc_frame_header_get(fp); 1112 fh = fc_frame_header_get(fp);
1099 ct = fc_frame_payload_get(fp, sizeof(*ct)); 1113 ct = fc_frame_payload_get(fp, sizeof(*ct));
1100 if (fh && ct && fh->fh_type == FC_TYPE_CT && 1114 if (fh && ct && fh->fh_type == FC_TYPE_CT &&
@@ -1134,17 +1148,19 @@ static void fc_lport_scr_resp(struct fc_seq *sp, struct fc_frame *fp,
1134 1148
1135 FC_DEBUG_LPORT("Received a SCR response\n"); 1149 FC_DEBUG_LPORT("Received a SCR response\n");
1136 1150
1137 if (IS_ERR(fp)) {
1138 fc_lport_error(lport, fp);
1139 goto err;
1140 }
1141
1142 if (lport->state != LPORT_ST_SCR) { 1151 if (lport->state != LPORT_ST_SCR) {
1143 FC_DBG("Received a SCR response, but in state %s\n", 1152 FC_DBG("Received a SCR response, but in state %s\n",
1144 fc_lport_state(lport)); 1153 fc_lport_state(lport));
1154 if (IS_ERR(fp))
1155 goto err;
1145 goto out; 1156 goto out;
1146 } 1157 }
1147 1158
1159 if (IS_ERR(fp)) {
1160 fc_lport_error(lport, fp);
1161 goto err;
1162 }
1163
1148 op = fc_frame_payload_op(fp); 1164 op = fc_frame_payload_op(fp);
1149 if (op == ELS_LS_ACC) 1165 if (op == ELS_LS_ACC)
1150 fc_lport_enter_ready(lport); 1166 fc_lport_enter_ready(lport);
@@ -1360,17 +1376,19 @@ static void fc_lport_logo_resp(struct fc_seq *sp, struct fc_frame *fp,
1360 1376
1361 FC_DEBUG_LPORT("Received a LOGO response\n"); 1377 FC_DEBUG_LPORT("Received a LOGO response\n");
1362 1378
1363 if (IS_ERR(fp)) {
1364 fc_lport_error(lport, fp);
1365 goto err;
1366 }
1367
1368 if (lport->state != LPORT_ST_LOGO) { 1379 if (lport->state != LPORT_ST_LOGO) {
1369 FC_DBG("Received a LOGO response, but in state %s\n", 1380 FC_DBG("Received a LOGO response, but in state %s\n",
1370 fc_lport_state(lport)); 1381 fc_lport_state(lport));
1382 if (IS_ERR(fp))
1383 goto err;
1371 goto out; 1384 goto out;
1372 } 1385 }
1373 1386
1387 if (IS_ERR(fp)) {
1388 fc_lport_error(lport, fp);
1389 goto err;
1390 }
1391
1374 op = fc_frame_payload_op(fp); 1392 op = fc_frame_payload_op(fp);
1375 if (op == ELS_LS_ACC) 1393 if (op == ELS_LS_ACC)
1376 fc_lport_enter_reset(lport); 1394 fc_lport_enter_reset(lport);
@@ -1400,10 +1418,6 @@ static void fc_lport_enter_logo(struct fc_lport *lport)
1400 1418
1401 fc_lport_state_enter(lport, LPORT_ST_LOGO); 1419 fc_lport_state_enter(lport, LPORT_ST_LOGO);
1402 1420
1403 /* DNS session should be closed so we can release it here */
1404 if (lport->dns_rp)
1405 lport->tt.rport_logoff(lport->dns_rp);
1406
1407 fp = fc_frame_alloc(lport, sizeof(*logo)); 1421 fp = fc_frame_alloc(lport, sizeof(*logo));
1408 if (!fp) { 1422 if (!fp) {
1409 fc_lport_error(lport, fp); 1423 fc_lport_error(lport, fp);
@@ -1444,17 +1458,19 @@ static void fc_lport_flogi_resp(struct fc_seq *sp, struct fc_frame *fp,
1444 1458
1445 FC_DEBUG_LPORT("Received a FLOGI response\n"); 1459 FC_DEBUG_LPORT("Received a FLOGI response\n");
1446 1460
1447 if (IS_ERR(fp)) {
1448 fc_lport_error(lport, fp);
1449 goto err;
1450 }
1451
1452 if (lport->state != LPORT_ST_FLOGI) { 1461 if (lport->state != LPORT_ST_FLOGI) {
1453 FC_DBG("Received a FLOGI response, but in state %s\n", 1462 FC_DBG("Received a FLOGI response, but in state %s\n",
1454 fc_lport_state(lport)); 1463 fc_lport_state(lport));
1464 if (IS_ERR(fp))
1465 goto err;
1455 goto out; 1466 goto out;
1456 } 1467 }
1457 1468
1469 if (IS_ERR(fp)) {
1470 fc_lport_error(lport, fp);
1471 goto err;
1472 }
1473
1458 fh = fc_frame_header_get(fp); 1474 fh = fc_frame_header_get(fp);
1459 did = ntoh24(fh->fh_d_id); 1475 did = ntoh24(fh->fh_d_id);
1460 if (fc_frame_payload_op(fp) == ELS_LS_ACC && did != 0) { 1476 if (fc_frame_payload_op(fp) == ELS_LS_ACC && did != 0) {
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
index 0472bb73221e..747d73c5c8af 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
@@ -267,6 +267,10 @@ static void fc_rport_work(struct work_struct *work)
267 "(%6x).\n", ids.port_id); 267 "(%6x).\n", ids.port_id);
268 event = RPORT_EV_FAILED; 268 event = RPORT_EV_FAILED;
269 } 269 }
270 if (rport->port_id != FC_FID_DIR_SERV)
271 if (rport_ops->event_callback)
272 rport_ops->event_callback(lport, rport,
273 RPORT_EV_FAILED);
270 put_device(&rport->dev); 274 put_device(&rport->dev);
271 rport = new_rport; 275 rport = new_rport;
272 rdata = new_rport->dd_data; 276 rdata = new_rport->dd_data;
@@ -325,11 +329,20 @@ int fc_rport_login(struct fc_rport *rport)
325int fc_rport_logoff(struct fc_rport *rport) 329int fc_rport_logoff(struct fc_rport *rport)
326{ 330{
327 struct fc_rport_libfc_priv *rdata = rport->dd_data; 331 struct fc_rport_libfc_priv *rdata = rport->dd_data;
332 struct fc_lport *lport = rdata->local_port;
328 333
329 mutex_lock(&rdata->rp_mutex); 334 mutex_lock(&rdata->rp_mutex);
330 335
331 FC_DEBUG_RPORT("Remove port (%6x)\n", rport->port_id); 336 FC_DEBUG_RPORT("Remove port (%6x)\n", rport->port_id);
332 337
338 if (rdata->rp_state == RPORT_ST_NONE) {
339 FC_DEBUG_RPORT("(%6x): Port (%6x) in NONE state,"
340 " not removing", fc_host_port_id(lport->host),
341 rport->port_id);
342 mutex_unlock(&rdata->rp_mutex);
343 goto out;
344 }
345
333 fc_rport_enter_logo(rport); 346 fc_rport_enter_logo(rport);
334 347
335 /* 348 /*
@@ -349,6 +362,7 @@ int fc_rport_logoff(struct fc_rport *rport)
349 362
350 mutex_unlock(&rdata->rp_mutex); 363 mutex_unlock(&rdata->rp_mutex);
351 364
365out:
352 return 0; 366 return 0;
353} 367}
354 368
@@ -430,6 +444,7 @@ static void fc_rport_error(struct fc_rport *rport, struct fc_frame *fp)
430 case RPORT_ST_PRLI: 444 case RPORT_ST_PRLI:
431 case RPORT_ST_LOGO: 445 case RPORT_ST_LOGO:
432 rdata->event = RPORT_EV_FAILED; 446 rdata->event = RPORT_EV_FAILED;
447 fc_rport_state_enter(rport, RPORT_ST_NONE);
433 queue_work(rport_event_queue, 448 queue_work(rport_event_queue,
434 &rdata->event_work); 449 &rdata->event_work);
435 break; 450 break;
@@ -494,7 +509,7 @@ static void fc_rport_plogi_resp(struct fc_seq *sp, struct fc_frame *fp,
494 struct fc_rport *rport = rp_arg; 509 struct fc_rport *rport = rp_arg;
495 struct fc_rport_libfc_priv *rdata = rport->dd_data; 510 struct fc_rport_libfc_priv *rdata = rport->dd_data;
496 struct fc_lport *lport = rdata->local_port; 511 struct fc_lport *lport = rdata->local_port;
497 struct fc_els_flogi *plp; 512 struct fc_els_flogi *plp = NULL;
498 unsigned int tov; 513 unsigned int tov;
499 u16 csp_seq; 514 u16 csp_seq;
500 u16 cssp_seq; 515 u16 cssp_seq;
@@ -505,17 +520,19 @@ static void fc_rport_plogi_resp(struct fc_seq *sp, struct fc_frame *fp,
505 FC_DEBUG_RPORT("Received a PLOGI response from port (%6x)\n", 520 FC_DEBUG_RPORT("Received a PLOGI response from port (%6x)\n",
506 rport->port_id); 521 rport->port_id);
507 522
508 if (IS_ERR(fp)) {
509 fc_rport_error_retry(rport, fp);
510 goto err;
511 }
512
513 if (rdata->rp_state != RPORT_ST_PLOGI) { 523 if (rdata->rp_state != RPORT_ST_PLOGI) {
514 FC_DBG("Received a PLOGI response, but in state %s\n", 524 FC_DBG("Received a PLOGI response, but in state %s\n",
515 fc_rport_state(rport)); 525 fc_rport_state(rport));
526 if (IS_ERR(fp))
527 goto err;
516 goto out; 528 goto out;
517 } 529 }
518 530
531 if (IS_ERR(fp)) {
532 fc_rport_error_retry(rport, fp);
533 goto err;
534 }
535
519 op = fc_frame_payload_op(fp); 536 op = fc_frame_payload_op(fp);
520 if (op == ELS_LS_ACC && 537 if (op == ELS_LS_ACC &&
521 (plp = fc_frame_payload_get(fp, sizeof(*plp))) != NULL) { 538 (plp = fc_frame_payload_get(fp, sizeof(*plp))) != NULL) {
@@ -614,17 +631,19 @@ static void fc_rport_prli_resp(struct fc_seq *sp, struct fc_frame *fp,
614 FC_DEBUG_RPORT("Received a PRLI response from port (%6x)\n", 631 FC_DEBUG_RPORT("Received a PRLI response from port (%6x)\n",
615 rport->port_id); 632 rport->port_id);
616 633
617 if (IS_ERR(fp)) {
618 fc_rport_error_retry(rport, fp);
619 goto err;
620 }
621
622 if (rdata->rp_state != RPORT_ST_PRLI) { 634 if (rdata->rp_state != RPORT_ST_PRLI) {
623 FC_DBG("Received a PRLI response, but in state %s\n", 635 FC_DBG("Received a PRLI response, but in state %s\n",
624 fc_rport_state(rport)); 636 fc_rport_state(rport));
637 if (IS_ERR(fp))
638 goto err;
625 goto out; 639 goto out;
626 } 640 }
627 641
642 if (IS_ERR(fp)) {
643 fc_rport_error_retry(rport, fp);
644 goto err;
645 }
646
628 op = fc_frame_payload_op(fp); 647 op = fc_frame_payload_op(fp);
629 if (op == ELS_LS_ACC) { 648 if (op == ELS_LS_ACC) {
630 pp = fc_frame_payload_get(fp, sizeof(*pp)); 649 pp = fc_frame_payload_get(fp, sizeof(*pp));
@@ -646,6 +665,7 @@ static void fc_rport_prli_resp(struct fc_seq *sp, struct fc_frame *fp,
646 } else { 665 } else {
647 FC_DBG("Bad ELS response\n"); 666 FC_DBG("Bad ELS response\n");
648 rdata->event = RPORT_EV_FAILED; 667 rdata->event = RPORT_EV_FAILED;
668 fc_rport_state_enter(rport, RPORT_ST_NONE);
649 queue_work(rport_event_queue, &rdata->event_work); 669 queue_work(rport_event_queue, &rdata->event_work);
650 } 670 }
651 671
@@ -678,23 +698,26 @@ static void fc_rport_logo_resp(struct fc_seq *sp, struct fc_frame *fp,
678 FC_DEBUG_RPORT("Received a LOGO response from port (%6x)\n", 698 FC_DEBUG_RPORT("Received a LOGO response from port (%6x)\n",
679 rport->port_id); 699 rport->port_id);
680 700
681 if (IS_ERR(fp)) {
682 fc_rport_error_retry(rport, fp);
683 goto err;
684 }
685
686 if (rdata->rp_state != RPORT_ST_LOGO) { 701 if (rdata->rp_state != RPORT_ST_LOGO) {
687 FC_DEBUG_RPORT("Received a LOGO response, but in state %s\n", 702 FC_DEBUG_RPORT("Received a LOGO response, but in state %s\n",
688 fc_rport_state(rport)); 703 fc_rport_state(rport));
704 if (IS_ERR(fp))
705 goto err;
689 goto out; 706 goto out;
690 } 707 }
691 708
709 if (IS_ERR(fp)) {
710 fc_rport_error_retry(rport, fp);
711 goto err;
712 }
713
692 op = fc_frame_payload_op(fp); 714 op = fc_frame_payload_op(fp);
693 if (op == ELS_LS_ACC) { 715 if (op == ELS_LS_ACC) {
694 fc_rport_enter_rtv(rport); 716 fc_rport_enter_rtv(rport);
695 } else { 717 } else {
696 FC_DBG("Bad ELS response\n"); 718 FC_DBG("Bad ELS response\n");
697 rdata->event = RPORT_EV_LOGO; 719 rdata->event = RPORT_EV_LOGO;
720 fc_rport_state_enter(rport, RPORT_ST_NONE);
698 queue_work(rport_event_queue, &rdata->event_work); 721 queue_work(rport_event_queue, &rdata->event_work);
699 } 722 }
700 723
@@ -764,17 +787,19 @@ static void fc_rport_rtv_resp(struct fc_seq *sp, struct fc_frame *fp,
764 FC_DEBUG_RPORT("Received a RTV response from port (%6x)\n", 787 FC_DEBUG_RPORT("Received a RTV response from port (%6x)\n",
765 rport->port_id); 788 rport->port_id);
766 789
767 if (IS_ERR(fp)) {
768 fc_rport_error(rport, fp);
769 goto err;
770 }
771
772 if (rdata->rp_state != RPORT_ST_RTV) { 790 if (rdata->rp_state != RPORT_ST_RTV) {
773 FC_DBG("Received a RTV response, but in state %s\n", 791 FC_DBG("Received a RTV response, but in state %s\n",
774 fc_rport_state(rport)); 792 fc_rport_state(rport));
793 if (IS_ERR(fp))
794 goto err;
775 goto out; 795 goto out;
776 } 796 }
777 797
798 if (IS_ERR(fp)) {
799 fc_rport_error(rport, fp);
800 goto err;
801 }
802
778 op = fc_frame_payload_op(fp); 803 op = fc_frame_payload_op(fp);
779 if (op == ELS_LS_ACC) { 804 if (op == ELS_LS_ACC) {
780 struct fc_els_rtv_acc *rtv; 805 struct fc_els_rtv_acc *rtv;
@@ -1007,6 +1032,8 @@ static void fc_rport_recv_plogi_req(struct fc_rport *rport,
1007 default: 1032 default:
1008 FC_DEBUG_RPORT("incoming PLOGI from %x in unexpected " 1033 FC_DEBUG_RPORT("incoming PLOGI from %x in unexpected "
1009 "state %d\n", sid, rdata->rp_state); 1034 "state %d\n", sid, rdata->rp_state);
1035 fc_frame_free(fp);
1036 return;
1010 break; 1037 break;
1011 } 1038 }
1012 1039
@@ -1098,6 +1125,8 @@ static void fc_rport_recv_prli_req(struct fc_rport *rport,
1098 reason = ELS_RJT_NONE; 1125 reason = ELS_RJT_NONE;
1099 break; 1126 break;
1100 default: 1127 default:
1128 fc_frame_free(rx_fp);
1129 return;
1101 break; 1130 break;
1102 } 1131 }
1103 len = fr_len(rx_fp) - sizeof(*fh); 1132 len = fr_len(rx_fp) - sizeof(*fh);
@@ -1227,6 +1256,11 @@ static void fc_rport_recv_prlo_req(struct fc_rport *rport, struct fc_seq *sp,
1227 "while in state %s\n", ntoh24(fh->fh_s_id), 1256 "while in state %s\n", ntoh24(fh->fh_s_id),
1228 fc_rport_state(rport)); 1257 fc_rport_state(rport));
1229 1258
1259 if (rdata->rp_state == RPORT_ST_NONE) {
1260 fc_frame_free(fp);
1261 return;
1262 }
1263
1230 rjt_data.fp = NULL; 1264 rjt_data.fp = NULL;
1231 rjt_data.reason = ELS_RJT_UNAB; 1265 rjt_data.reason = ELS_RJT_UNAB;
1232 rjt_data.explan = ELS_EXPL_NONE; 1266 rjt_data.explan = ELS_EXPL_NONE;
@@ -1256,7 +1290,13 @@ static void fc_rport_recv_logo_req(struct fc_rport *rport, struct fc_seq *sp,
1256 "while in state %s\n", ntoh24(fh->fh_s_id), 1290 "while in state %s\n", ntoh24(fh->fh_s_id),
1257 fc_rport_state(rport)); 1291 fc_rport_state(rport));
1258 1292
1293 if (rdata->rp_state == RPORT_ST_NONE) {
1294 fc_frame_free(fp);
1295 return;
1296 }
1297
1259 rdata->event = RPORT_EV_LOGO; 1298 rdata->event = RPORT_EV_LOGO;
1299 fc_rport_state_enter(rport, RPORT_ST_NONE);
1260 queue_work(rport_event_queue, &rdata->event_work); 1300 queue_work(rport_event_queue, &rdata->event_work);
1261 1301
1262 lport->tt.seq_els_rsp_send(sp, ELS_LS_ACC, NULL); 1302 lport->tt.seq_els_rsp_send(sp, ELS_LS_ACC, NULL);
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 689628359169..e72b4ad47d35 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -1463,6 +1463,16 @@ int iscsi_change_queue_depth(struct scsi_device *sdev, int depth)
1463} 1463}
1464EXPORT_SYMBOL_GPL(iscsi_change_queue_depth); 1464EXPORT_SYMBOL_GPL(iscsi_change_queue_depth);
1465 1465
1466int iscsi_target_alloc(struct scsi_target *starget)
1467{
1468 struct iscsi_cls_session *cls_session = starget_to_session(starget);
1469 struct iscsi_session *session = cls_session->dd_data;
1470
1471 starget->can_queue = session->scsi_cmds_max;
1472 return 0;
1473}
1474EXPORT_SYMBOL_GPL(iscsi_target_alloc);
1475
1466void iscsi_session_recovery_timedout(struct iscsi_cls_session *cls_session) 1476void iscsi_session_recovery_timedout(struct iscsi_cls_session *cls_session)
1467{ 1477{
1468 struct iscsi_session *session = cls_session->dd_data; 1478 struct iscsi_session *session = cls_session->dd_data;
diff --git a/drivers/scsi/libiscsi_tcp.c b/drivers/scsi/libiscsi_tcp.c
index 91f8ce4d8d08..b579ca9f4836 100644
--- a/drivers/scsi/libiscsi_tcp.c
+++ b/drivers/scsi/libiscsi_tcp.c
@@ -1036,8 +1036,11 @@ flush:
1036 1036
1037 rc = conn->session->tt->init_pdu(task, r2t->data_offset + r2t->sent, 1037 rc = conn->session->tt->init_pdu(task, r2t->data_offset + r2t->sent,
1038 r2t->data_count); 1038 r2t->data_count);
1039 if (rc) 1039 if (rc) {
1040 iscsi_conn_failure(conn, ISCSI_ERR_XMIT_FAILED);
1040 return rc; 1041 return rc;
1042 }
1043
1041 r2t->sent += r2t->data_count; 1044 r2t->sent += r2t->data_count;
1042 goto flush; 1045 goto flush;
1043} 1046}
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h
index dcba267db711..1105f9a111ba 100644
--- a/drivers/scsi/lpfc/lpfc.h
+++ b/drivers/scsi/lpfc/lpfc.h
@@ -443,6 +443,7 @@ struct lpfc_hba {
443 uint32_t hba_flag; /* hba generic flags */ 443 uint32_t hba_flag; /* hba generic flags */
444#define HBA_ERATT_HANDLED 0x1 /* This flag is set when eratt handled */ 444#define HBA_ERATT_HANDLED 0x1 /* This flag is set when eratt handled */
445 445
446#define DEFER_ERATT 0x4 /* Deferred error attention in progress */
446 struct lpfc_dmabuf slim2p; 447 struct lpfc_dmabuf slim2p;
447 448
448 MAILBOX_t *mbox; 449 MAILBOX_t *mbox;
@@ -723,4 +724,3 @@ lpfc_sli_read_hs(struct lpfc_hba *phba)
723 724
724 return; 725 return;
725} 726}
726
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index 40cf0f4f327f..c14f0cbdb125 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -51,7 +51,7 @@
51#define LPFC_LINK_SPEED_STRING "0, 1, 2, 4, 8" 51#define LPFC_LINK_SPEED_STRING "0, 1, 2, 4, 8"
52 52
53/** 53/**
54 * lpfc_jedec_to_ascii: Hex to ascii convertor according to JEDEC rules. 54 * lpfc_jedec_to_ascii - Hex to ascii convertor according to JEDEC rules
55 * @incr: integer to convert. 55 * @incr: integer to convert.
56 * @hdw: ascii string holding converted integer plus a string terminator. 56 * @hdw: ascii string holding converted integer plus a string terminator.
57 * 57 *
@@ -82,7 +82,7 @@ lpfc_jedec_to_ascii(int incr, char hdw[])
82} 82}
83 83
84/** 84/**
85 * lpfc_drvr_version_show: Return the Emulex driver string with version number. 85 * lpfc_drvr_version_show - Return the Emulex driver string with version number
86 * @dev: class unused variable. 86 * @dev: class unused variable.
87 * @attr: device attribute, not used. 87 * @attr: device attribute, not used.
88 * @buf: on return contains the module description text. 88 * @buf: on return contains the module description text.
@@ -152,7 +152,7 @@ lpfc_bg_reftag_err_show(struct device *dev, struct device_attribute *attr,
152} 152}
153 153
154/** 154/**
155 * lpfc_info_show: Return some pci info about the host in ascii. 155 * lpfc_info_show - Return some pci info about the host in ascii
156 * @dev: class converted to a Scsi_host structure. 156 * @dev: class converted to a Scsi_host structure.
157 * @attr: device attribute, not used. 157 * @attr: device attribute, not used.
158 * @buf: on return contains the formatted text from lpfc_info(). 158 * @buf: on return contains the formatted text from lpfc_info().
@@ -169,7 +169,7 @@ lpfc_info_show(struct device *dev, struct device_attribute *attr,
169} 169}
170 170
171/** 171/**
172 * lpfc_serialnum_show: Return the hba serial number in ascii. 172 * lpfc_serialnum_show - Return the hba serial number in ascii
173 * @dev: class converted to a Scsi_host structure. 173 * @dev: class converted to a Scsi_host structure.
174 * @attr: device attribute, not used. 174 * @attr: device attribute, not used.
175 * @buf: on return contains the formatted text serial number. 175 * @buf: on return contains the formatted text serial number.
@@ -188,7 +188,7 @@ lpfc_serialnum_show(struct device *dev, struct device_attribute *attr,
188} 188}
189 189
190/** 190/**
191 * lpfc_temp_sensor_show: Return the temperature sensor level. 191 * lpfc_temp_sensor_show - Return the temperature sensor level
192 * @dev: class converted to a Scsi_host structure. 192 * @dev: class converted to a Scsi_host structure.
193 * @attr: device attribute, not used. 193 * @attr: device attribute, not used.
194 * @buf: on return contains the formatted support level. 194 * @buf: on return contains the formatted support level.
@@ -210,7 +210,7 @@ lpfc_temp_sensor_show(struct device *dev, struct device_attribute *attr,
210} 210}
211 211
212/** 212/**
213 * lpfc_modeldesc_show: Return the model description of the hba. 213 * lpfc_modeldesc_show - Return the model description of the hba
214 * @dev: class converted to a Scsi_host structure. 214 * @dev: class converted to a Scsi_host structure.
215 * @attr: device attribute, not used. 215 * @attr: device attribute, not used.
216 * @buf: on return contains the scsi vpd model description. 216 * @buf: on return contains the scsi vpd model description.
@@ -229,7 +229,7 @@ lpfc_modeldesc_show(struct device *dev, struct device_attribute *attr,
229} 229}
230 230
231/** 231/**
232 * lpfc_modelname_show: Return the model name of the hba. 232 * lpfc_modelname_show - Return the model name of the hba
233 * @dev: class converted to a Scsi_host structure. 233 * @dev: class converted to a Scsi_host structure.
234 * @attr: device attribute, not used. 234 * @attr: device attribute, not used.
235 * @buf: on return contains the scsi vpd model name. 235 * @buf: on return contains the scsi vpd model name.
@@ -248,7 +248,7 @@ lpfc_modelname_show(struct device *dev, struct device_attribute *attr,
248} 248}
249 249
250/** 250/**
251 * lpfc_programtype_show: Return the program type of the hba. 251 * lpfc_programtype_show - Return the program type of the hba
252 * @dev: class converted to a Scsi_host structure. 252 * @dev: class converted to a Scsi_host structure.
253 * @attr: device attribute, not used. 253 * @attr: device attribute, not used.
254 * @buf: on return contains the scsi vpd program type. 254 * @buf: on return contains the scsi vpd program type.
@@ -267,7 +267,7 @@ lpfc_programtype_show(struct device *dev, struct device_attribute *attr,
267} 267}
268 268
269/** 269/**
270 * lpfc_mlomgmt_show: Return the Menlo Maintenance sli flag. 270 * lpfc_mlomgmt_show - Return the Menlo Maintenance sli flag
271 * @dev: class converted to a Scsi_host structure. 271 * @dev: class converted to a Scsi_host structure.
272 * @attr: device attribute, not used. 272 * @attr: device attribute, not used.
273 * @buf: on return contains the Menlo Maintenance sli flag. 273 * @buf: on return contains the Menlo Maintenance sli flag.
@@ -286,7 +286,7 @@ lpfc_mlomgmt_show(struct device *dev, struct device_attribute *attr, char *buf)
286} 286}
287 287
288/** 288/**
289 * lpfc_vportnum_show: Return the port number in ascii of the hba. 289 * lpfc_vportnum_show - Return the port number in ascii of the hba
290 * @dev: class converted to a Scsi_host structure. 290 * @dev: class converted to a Scsi_host structure.
291 * @attr: device attribute, not used. 291 * @attr: device attribute, not used.
292 * @buf: on return contains scsi vpd program type. 292 * @buf: on return contains scsi vpd program type.
@@ -305,7 +305,7 @@ lpfc_vportnum_show(struct device *dev, struct device_attribute *attr,
305} 305}
306 306
307/** 307/**
308 * lpfc_fwrev_show: Return the firmware rev running in the hba. 308 * lpfc_fwrev_show - Return the firmware rev running in the hba
309 * @dev: class converted to a Scsi_host structure. 309 * @dev: class converted to a Scsi_host structure.
310 * @attr: device attribute, not used. 310 * @attr: device attribute, not used.
311 * @buf: on return contains the scsi vpd program type. 311 * @buf: on return contains the scsi vpd program type.
@@ -326,7 +326,7 @@ lpfc_fwrev_show(struct device *dev, struct device_attribute *attr,
326} 326}
327 327
328/** 328/**
329 * lpfc_hdw_show: Return the jedec information about the hba. 329 * lpfc_hdw_show - Return the jedec information about the hba
330 * @dev: class converted to a Scsi_host structure. 330 * @dev: class converted to a Scsi_host structure.
331 * @attr: device attribute, not used. 331 * @attr: device attribute, not used.
332 * @buf: on return contains the scsi vpd program type. 332 * @buf: on return contains the scsi vpd program type.
@@ -347,7 +347,7 @@ lpfc_hdw_show(struct device *dev, struct device_attribute *attr, char *buf)
347} 347}
348 348
349/** 349/**
350 * lpfc_option_rom_version_show: Return the adapter ROM FCode version. 350 * lpfc_option_rom_version_show - Return the adapter ROM FCode version
351 * @dev: class converted to a Scsi_host structure. 351 * @dev: class converted to a Scsi_host structure.
352 * @attr: device attribute, not used. 352 * @attr: device attribute, not used.
353 * @buf: on return contains the ROM and FCode ascii strings. 353 * @buf: on return contains the ROM and FCode ascii strings.
@@ -366,7 +366,7 @@ lpfc_option_rom_version_show(struct device *dev, struct device_attribute *attr,
366} 366}
367 367
368/** 368/**
369 * lpfc_state_show: Return the link state of the port. 369 * lpfc_state_show - Return the link state of the port
370 * @dev: class converted to a Scsi_host structure. 370 * @dev: class converted to a Scsi_host structure.
371 * @attr: device attribute, not used. 371 * @attr: device attribute, not used.
372 * @buf: on return contains text describing the state of the link. 372 * @buf: on return contains text describing the state of the link.
@@ -451,7 +451,7 @@ lpfc_link_state_show(struct device *dev, struct device_attribute *attr,
451} 451}
452 452
453/** 453/**
454 * lpfc_num_discovered_ports_show: Return sum of mapped and unmapped vports. 454 * lpfc_num_discovered_ports_show - Return sum of mapped and unmapped vports
455 * @dev: class device that is converted into a Scsi_host. 455 * @dev: class device that is converted into a Scsi_host.
456 * @attr: device attribute, not used. 456 * @attr: device attribute, not used.
457 * @buf: on return contains the sum of fc mapped and unmapped. 457 * @buf: on return contains the sum of fc mapped and unmapped.
@@ -474,7 +474,7 @@ lpfc_num_discovered_ports_show(struct device *dev,
474} 474}
475 475
476/** 476/**
477 * lpfc_issue_lip: Misnomer, name carried over from long ago. 477 * lpfc_issue_lip - Misnomer, name carried over from long ago
478 * @shost: Scsi_Host pointer. 478 * @shost: Scsi_Host pointer.
479 * 479 *
480 * Description: 480 * Description:
@@ -529,7 +529,7 @@ lpfc_issue_lip(struct Scsi_Host *shost)
529} 529}
530 530
531/** 531/**
532 * lpfc_do_offline: Issues a mailbox command to bring the link down. 532 * lpfc_do_offline - Issues a mailbox command to bring the link down
533 * @phba: lpfc_hba pointer. 533 * @phba: lpfc_hba pointer.
534 * @type: LPFC_EVT_OFFLINE, LPFC_EVT_WARM_START, LPFC_EVT_KILL. 534 * @type: LPFC_EVT_OFFLINE, LPFC_EVT_WARM_START, LPFC_EVT_KILL.
535 * 535 *
@@ -537,7 +537,7 @@ lpfc_issue_lip(struct Scsi_Host *shost)
537 * Assumes any error from lpfc_do_offline() will be negative. 537 * Assumes any error from lpfc_do_offline() will be negative.
538 * Can wait up to 5 seconds for the port ring buffers count 538 * Can wait up to 5 seconds for the port ring buffers count
539 * to reach zero, prints a warning if it is not zero and continues. 539 * to reach zero, prints a warning if it is not zero and continues.
540 * lpfc_workq_post_event() returns a non-zero return coce if call fails. 540 * lpfc_workq_post_event() returns a non-zero return code if call fails.
541 * 541 *
542 * Returns: 542 * Returns:
543 * -EIO error posting the event 543 * -EIO error posting the event
@@ -591,7 +591,7 @@ lpfc_do_offline(struct lpfc_hba *phba, uint32_t type)
591} 591}
592 592
593/** 593/**
594 * lpfc_selective_reset: Offline then onlines the port. 594 * lpfc_selective_reset - Offline then onlines the port
595 * @phba: lpfc_hba pointer. 595 * @phba: lpfc_hba pointer.
596 * 596 *
597 * Description: 597 * Description:
@@ -632,7 +632,7 @@ lpfc_selective_reset(struct lpfc_hba *phba)
632} 632}
633 633
634/** 634/**
635 * lpfc_issue_reset: Selectively resets an adapter. 635 * lpfc_issue_reset - Selectively resets an adapter
636 * @dev: class device that is converted into a Scsi_host. 636 * @dev: class device that is converted into a Scsi_host.
637 * @attr: device attribute, not used. 637 * @attr: device attribute, not used.
638 * @buf: containing the string "selective". 638 * @buf: containing the string "selective".
@@ -672,7 +672,7 @@ lpfc_issue_reset(struct device *dev, struct device_attribute *attr,
672} 672}
673 673
674/** 674/**
675 * lpfc_nport_evt_cnt_show: Return the number of nport events. 675 * lpfc_nport_evt_cnt_show - Return the number of nport events
676 * @dev: class device that is converted into a Scsi_host. 676 * @dev: class device that is converted into a Scsi_host.
677 * @attr: device attribute, not used. 677 * @attr: device attribute, not used.
678 * @buf: on return contains the ascii number of nport events. 678 * @buf: on return contains the ascii number of nport events.
@@ -691,7 +691,7 @@ lpfc_nport_evt_cnt_show(struct device *dev, struct device_attribute *attr,
691} 691}
692 692
693/** 693/**
694 * lpfc_board_mode_show: Return the state of the board. 694 * lpfc_board_mode_show - Return the state of the board
695 * @dev: class device that is converted into a Scsi_host. 695 * @dev: class device that is converted into a Scsi_host.
696 * @attr: device attribute, not used. 696 * @attr: device attribute, not used.
697 * @buf: on return contains the state of the adapter. 697 * @buf: on return contains the state of the adapter.
@@ -720,7 +720,7 @@ lpfc_board_mode_show(struct device *dev, struct device_attribute *attr,
720} 720}
721 721
722/** 722/**
723 * lpfc_board_mode_store: Puts the hba in online, offline, warm or error state. 723 * lpfc_board_mode_store - Puts the hba in online, offline, warm or error state
724 * @dev: class device that is converted into a Scsi_host. 724 * @dev: class device that is converted into a Scsi_host.
725 * @attr: device attribute, not used. 725 * @attr: device attribute, not used.
726 * @buf: containing one of the strings "online", "offline", "warm" or "error". 726 * @buf: containing one of the strings "online", "offline", "warm" or "error".
@@ -766,14 +766,14 @@ lpfc_board_mode_store(struct device *dev, struct device_attribute *attr,
766} 766}
767 767
768/** 768/**
769 * lpfc_get_hba_info: Return various bits of informaton about the adapter. 769 * lpfc_get_hba_info - Return various bits of informaton about the adapter
770 * @phba: pointer to the adapter structure. 770 * @phba: pointer to the adapter structure.
771 * @mxri max xri count. 771 * @mxri: max xri count.
772 * @axri available xri count. 772 * @axri: available xri count.
773 * @mrpi max rpi count. 773 * @mrpi: max rpi count.
774 * @arpi available rpi count. 774 * @arpi: available rpi count.
775 * @mvpi max vpi count. 775 * @mvpi: max vpi count.
776 * @avpi available vpi count. 776 * @avpi: available vpi count.
777 * 777 *
778 * Description: 778 * Description:
779 * If an integer pointer for an count is not null then the value for the 779 * If an integer pointer for an count is not null then the value for the
@@ -846,7 +846,7 @@ lpfc_get_hba_info(struct lpfc_hba *phba,
846} 846}
847 847
848/** 848/**
849 * lpfc_max_rpi_show: Return maximum rpi. 849 * lpfc_max_rpi_show - Return maximum rpi
850 * @dev: class device that is converted into a Scsi_host. 850 * @dev: class device that is converted into a Scsi_host.
851 * @attr: device attribute, not used. 851 * @attr: device attribute, not used.
852 * @buf: on return contains the maximum rpi count in decimal or "Unknown". 852 * @buf: on return contains the maximum rpi count in decimal or "Unknown".
@@ -874,7 +874,7 @@ lpfc_max_rpi_show(struct device *dev, struct device_attribute *attr,
874} 874}
875 875
876/** 876/**
877 * lpfc_used_rpi_show: Return maximum rpi minus available rpi. 877 * lpfc_used_rpi_show - Return maximum rpi minus available rpi
878 * @dev: class device that is converted into a Scsi_host. 878 * @dev: class device that is converted into a Scsi_host.
879 * @attr: device attribute, not used. 879 * @attr: device attribute, not used.
880 * @buf: containing the used rpi count in decimal or "Unknown". 880 * @buf: containing the used rpi count in decimal or "Unknown".
@@ -902,7 +902,7 @@ lpfc_used_rpi_show(struct device *dev, struct device_attribute *attr,
902} 902}
903 903
904/** 904/**
905 * lpfc_max_xri_show: Return maximum xri. 905 * lpfc_max_xri_show - Return maximum xri
906 * @dev: class device that is converted into a Scsi_host. 906 * @dev: class device that is converted into a Scsi_host.
907 * @attr: device attribute, not used. 907 * @attr: device attribute, not used.
908 * @buf: on return contains the maximum xri count in decimal or "Unknown". 908 * @buf: on return contains the maximum xri count in decimal or "Unknown".
@@ -930,7 +930,7 @@ lpfc_max_xri_show(struct device *dev, struct device_attribute *attr,
930} 930}
931 931
932/** 932/**
933 * lpfc_used_xri_show: Return maximum xpi minus the available xpi. 933 * lpfc_used_xri_show - Return maximum xpi minus the available xpi
934 * @dev: class device that is converted into a Scsi_host. 934 * @dev: class device that is converted into a Scsi_host.
935 * @attr: device attribute, not used. 935 * @attr: device attribute, not used.
936 * @buf: on return contains the used xri count in decimal or "Unknown". 936 * @buf: on return contains the used xri count in decimal or "Unknown".
@@ -958,7 +958,7 @@ lpfc_used_xri_show(struct device *dev, struct device_attribute *attr,
958} 958}
959 959
960/** 960/**
961 * lpfc_max_vpi_show: Return maximum vpi. 961 * lpfc_max_vpi_show - Return maximum vpi
962 * @dev: class device that is converted into a Scsi_host. 962 * @dev: class device that is converted into a Scsi_host.
963 * @attr: device attribute, not used. 963 * @attr: device attribute, not used.
964 * @buf: on return contains the maximum vpi count in decimal or "Unknown". 964 * @buf: on return contains the maximum vpi count in decimal or "Unknown".
@@ -986,7 +986,7 @@ lpfc_max_vpi_show(struct device *dev, struct device_attribute *attr,
986} 986}
987 987
988/** 988/**
989 * lpfc_used_vpi_show: Return maximum vpi minus the available vpi. 989 * lpfc_used_vpi_show - Return maximum vpi minus the available vpi
990 * @dev: class device that is converted into a Scsi_host. 990 * @dev: class device that is converted into a Scsi_host.
991 * @attr: device attribute, not used. 991 * @attr: device attribute, not used.
992 * @buf: on return contains the used vpi count in decimal or "Unknown". 992 * @buf: on return contains the used vpi count in decimal or "Unknown".
@@ -1014,7 +1014,7 @@ lpfc_used_vpi_show(struct device *dev, struct device_attribute *attr,
1014} 1014}
1015 1015
1016/** 1016/**
1017 * lpfc_npiv_info_show: Return text about NPIV support for the adapter. 1017 * lpfc_npiv_info_show - Return text about NPIV support for the adapter
1018 * @dev: class device that is converted into a Scsi_host. 1018 * @dev: class device that is converted into a Scsi_host.
1019 * @attr: device attribute, not used. 1019 * @attr: device attribute, not used.
1020 * @buf: text that must be interpreted to determine if npiv is supported. 1020 * @buf: text that must be interpreted to determine if npiv is supported.
@@ -1042,7 +1042,7 @@ lpfc_npiv_info_show(struct device *dev, struct device_attribute *attr,
1042} 1042}
1043 1043
1044/** 1044/**
1045 * lpfc_poll_show: Return text about poll support for the adapter. 1045 * lpfc_poll_show - Return text about poll support for the adapter
1046 * @dev: class device that is converted into a Scsi_host. 1046 * @dev: class device that is converted into a Scsi_host.
1047 * @attr: device attribute, not used. 1047 * @attr: device attribute, not used.
1048 * @buf: on return contains the cfg_poll in hex. 1048 * @buf: on return contains the cfg_poll in hex.
@@ -1064,7 +1064,7 @@ lpfc_poll_show(struct device *dev, struct device_attribute *attr,
1064} 1064}
1065 1065
1066/** 1066/**
1067 * lpfc_poll_store: Set the value of cfg_poll for the adapter. 1067 * lpfc_poll_store - Set the value of cfg_poll for the adapter
1068 * @dev: class device that is converted into a Scsi_host. 1068 * @dev: class device that is converted into a Scsi_host.
1069 * @attr: device attribute, not used. 1069 * @attr: device attribute, not used.
1070 * @buf: one or more lpfc_polling_flags values. 1070 * @buf: one or more lpfc_polling_flags values.
@@ -1136,7 +1136,7 @@ lpfc_poll_store(struct device *dev, struct device_attribute *attr,
1136} 1136}
1137 1137
1138/** 1138/**
1139 * lpfc_param_show: Return a cfg attribute value in decimal. 1139 * lpfc_param_show - Return a cfg attribute value in decimal
1140 * 1140 *
1141 * Description: 1141 * Description:
1142 * Macro that given an attr e.g. hba_queue_depth expands 1142 * Macro that given an attr e.g. hba_queue_depth expands
@@ -1164,7 +1164,7 @@ lpfc_##attr##_show(struct device *dev, struct device_attribute *attr, \
1164} 1164}
1165 1165
1166/** 1166/**
1167 * lpfc_param_hex_show: Return a cfg attribute value in hex. 1167 * lpfc_param_hex_show - Return a cfg attribute value in hex
1168 * 1168 *
1169 * Description: 1169 * Description:
1170 * Macro that given an attr e.g. hba_queue_depth expands 1170 * Macro that given an attr e.g. hba_queue_depth expands
@@ -1173,7 +1173,7 @@ lpfc_##attr##_show(struct device *dev, struct device_attribute *attr, \
1173 * lpfc_##attr##_show: Return the hex value of an adapters cfg_xxx field. 1173 * lpfc_##attr##_show: Return the hex value of an adapters cfg_xxx field.
1174 * @dev: class device that is converted into a Scsi_host. 1174 * @dev: class device that is converted into a Scsi_host.
1175 * @attr: device attribute, not used. 1175 * @attr: device attribute, not used.
1176 * @buf: on return contains the attribute value in hexidecimal. 1176 * @buf: on return contains the attribute value in hexadecimal.
1177 * 1177 *
1178 * Returns: size of formatted string. 1178 * Returns: size of formatted string.
1179 **/ 1179 **/
@@ -1192,7 +1192,7 @@ lpfc_##attr##_show(struct device *dev, struct device_attribute *attr, \
1192} 1192}
1193 1193
1194/** 1194/**
1195 * lpfc_param_init: Intializes a cfg attribute. 1195 * lpfc_param_init - Intializes a cfg attribute
1196 * 1196 *
1197 * Description: 1197 * Description:
1198 * Macro that given an attr e.g. hba_queue_depth expands 1198 * Macro that given an attr e.g. hba_queue_depth expands
@@ -1226,7 +1226,7 @@ lpfc_##attr##_init(struct lpfc_hba *phba, int val) \
1226} 1226}
1227 1227
1228/** 1228/**
1229 * lpfc_param_set: Set a cfg attribute value. 1229 * lpfc_param_set - Set a cfg attribute value
1230 * 1230 *
1231 * Description: 1231 * Description:
1232 * Macro that given an attr e.g. hba_queue_depth expands 1232 * Macro that given an attr e.g. hba_queue_depth expands
@@ -1260,7 +1260,7 @@ lpfc_##attr##_set(struct lpfc_hba *phba, int val) \
1260} 1260}
1261 1261
1262/** 1262/**
1263 * lpfc_param_store: Set a vport attribute value. 1263 * lpfc_param_store - Set a vport attribute value
1264 * 1264 *
1265 * Description: 1265 * Description:
1266 * Macro that given an attr e.g. hba_queue_depth expands 1266 * Macro that given an attr e.g. hba_queue_depth expands
@@ -1300,7 +1300,7 @@ lpfc_##attr##_store(struct device *dev, struct device_attribute *attr, \
1300} 1300}
1301 1301
1302/** 1302/**
1303 * lpfc_vport_param_show: Return decimal formatted cfg attribute value. 1303 * lpfc_vport_param_show - Return decimal formatted cfg attribute value
1304 * 1304 *
1305 * Description: 1305 * Description:
1306 * Macro that given an attr e.g. hba_queue_depth expands 1306 * Macro that given an attr e.g. hba_queue_depth expands
@@ -1326,17 +1326,17 @@ lpfc_##attr##_show(struct device *dev, struct device_attribute *attr, \
1326} 1326}
1327 1327
1328/** 1328/**
1329 * lpfc_vport_param_hex_show: Return hex formatted attribute value. 1329 * lpfc_vport_param_hex_show - Return hex formatted attribute value
1330 * 1330 *
1331 * Description: 1331 * Description:
1332 * Macro that given an attr e.g. 1332 * Macro that given an attr e.g.
1333 * hba_queue_depth expands into a function with the name 1333 * hba_queue_depth expands into a function with the name
1334 * lpfc_hba_queue_depth_show 1334 * lpfc_hba_queue_depth_show
1335 * 1335 *
1336 * lpfc_##attr##_show: prints the attribute value in hexidecimal. 1336 * lpfc_##attr##_show: prints the attribute value in hexadecimal.
1337 * @dev: class device that is converted into a Scsi_host. 1337 * @dev: class device that is converted into a Scsi_host.
1338 * @attr: device attribute, not used. 1338 * @attr: device attribute, not used.
1339 * @buf: on return contains the attribute value in hexidecimal. 1339 * @buf: on return contains the attribute value in hexadecimal.
1340 * 1340 *
1341 * Returns: length of formatted string. 1341 * Returns: length of formatted string.
1342 **/ 1342 **/
@@ -1353,7 +1353,7 @@ lpfc_##attr##_show(struct device *dev, struct device_attribute *attr, \
1353} 1353}
1354 1354
1355/** 1355/**
1356 * lpfc_vport_param_init: Initialize a vport cfg attribute. 1356 * lpfc_vport_param_init - Initialize a vport cfg attribute
1357 * 1357 *
1358 * Description: 1358 * Description:
1359 * Macro that given an attr e.g. hba_queue_depth expands 1359 * Macro that given an attr e.g. hba_queue_depth expands
@@ -1386,7 +1386,7 @@ lpfc_##attr##_init(struct lpfc_vport *vport, int val) \
1386} 1386}
1387 1387
1388/** 1388/**
1389 * lpfc_vport_param_set: Set a vport cfg attribute. 1389 * lpfc_vport_param_set - Set a vport cfg attribute
1390 * 1390 *
1391 * Description: 1391 * Description:
1392 * Macro that given an attr e.g. hba_queue_depth expands 1392 * Macro that given an attr e.g. hba_queue_depth expands
@@ -1417,7 +1417,7 @@ lpfc_##attr##_set(struct lpfc_vport *vport, int val) \
1417} 1417}
1418 1418
1419/** 1419/**
1420 * lpfc_vport_param_store: Set a vport attribute. 1420 * lpfc_vport_param_store - Set a vport attribute
1421 * 1421 *
1422 * Description: 1422 * Description:
1423 * Macro that given an attr e.g. hba_queue_depth 1423 * Macro that given an attr e.g. hba_queue_depth
@@ -1576,7 +1576,7 @@ static DEVICE_ATTR(lpfc_temp_sensor, S_IRUGO, lpfc_temp_sensor_show, NULL);
1576static char *lpfc_soft_wwn_key = "C99G71SL8032A"; 1576static char *lpfc_soft_wwn_key = "C99G71SL8032A";
1577 1577
1578/** 1578/**
1579 * lpfc_soft_wwn_enable_store: Allows setting of the wwn if the key is valid. 1579 * lpfc_soft_wwn_enable_store - Allows setting of the wwn if the key is valid
1580 * @dev: class device that is converted into a Scsi_host. 1580 * @dev: class device that is converted into a Scsi_host.
1581 * @attr: device attribute, not used. 1581 * @attr: device attribute, not used.
1582 * @buf: containing the string lpfc_soft_wwn_key. 1582 * @buf: containing the string lpfc_soft_wwn_key.
@@ -1623,10 +1623,10 @@ static DEVICE_ATTR(lpfc_soft_wwn_enable, S_IWUSR, NULL,
1623 lpfc_soft_wwn_enable_store); 1623 lpfc_soft_wwn_enable_store);
1624 1624
1625/** 1625/**
1626 * lpfc_soft_wwpn_show: Return the cfg soft ww port name of the adapter. 1626 * lpfc_soft_wwpn_show - Return the cfg soft ww port name of the adapter
1627 * @dev: class device that is converted into a Scsi_host. 1627 * @dev: class device that is converted into a Scsi_host.
1628 * @attr: device attribute, not used. 1628 * @attr: device attribute, not used.
1629 * @buf: on return contains the wwpn in hexidecimal. 1629 * @buf: on return contains the wwpn in hexadecimal.
1630 * 1630 *
1631 * Returns: size of formatted string. 1631 * Returns: size of formatted string.
1632 **/ 1632 **/
@@ -1643,10 +1643,10 @@ lpfc_soft_wwpn_show(struct device *dev, struct device_attribute *attr,
1643} 1643}
1644 1644
1645/** 1645/**
1646 * lpfc_soft_wwpn_store: Set the ww port name of the adapter. 1646 * lpfc_soft_wwpn_store - Set the ww port name of the adapter
1647 * @dev class device that is converted into a Scsi_host. 1647 * @dev class device that is converted into a Scsi_host.
1648 * @attr: device attribute, not used. 1648 * @attr: device attribute, not used.
1649 * @buf: contains the wwpn in hexidecimal. 1649 * @buf: contains the wwpn in hexadecimal.
1650 * @count: number of wwpn bytes in buf 1650 * @count: number of wwpn bytes in buf
1651 * 1651 *
1652 * Returns: 1652 * Returns:
@@ -1729,10 +1729,10 @@ static DEVICE_ATTR(lpfc_soft_wwpn, S_IRUGO | S_IWUSR,\
1729 lpfc_soft_wwpn_show, lpfc_soft_wwpn_store); 1729 lpfc_soft_wwpn_show, lpfc_soft_wwpn_store);
1730 1730
1731/** 1731/**
1732 * lpfc_soft_wwnn_show: Return the cfg soft ww node name for the adapter. 1732 * lpfc_soft_wwnn_show - Return the cfg soft ww node name for the adapter
1733 * @dev: class device that is converted into a Scsi_host. 1733 * @dev: class device that is converted into a Scsi_host.
1734 * @attr: device attribute, not used. 1734 * @attr: device attribute, not used.
1735 * @buf: on return contains the wwnn in hexidecimal. 1735 * @buf: on return contains the wwnn in hexadecimal.
1736 * 1736 *
1737 * Returns: size of formatted string. 1737 * Returns: size of formatted string.
1738 **/ 1738 **/
@@ -1747,9 +1747,9 @@ lpfc_soft_wwnn_show(struct device *dev, struct device_attribute *attr,
1747} 1747}
1748 1748
1749/** 1749/**
1750 * lpfc_soft_wwnn_store: sets the ww node name of the adapter. 1750 * lpfc_soft_wwnn_store - sets the ww node name of the adapter
1751 * @cdev: class device that is converted into a Scsi_host. 1751 * @cdev: class device that is converted into a Scsi_host.
1752 * @buf: contains the ww node name in hexidecimal. 1752 * @buf: contains the ww node name in hexadecimal.
1753 * @count: number of wwnn bytes in buf. 1753 * @count: number of wwnn bytes in buf.
1754 * 1754 *
1755 * Returns: 1755 * Returns:
@@ -1845,7 +1845,7 @@ MODULE_PARM_DESC(lpfc_nodev_tmo,
1845 "for a device to come back"); 1845 "for a device to come back");
1846 1846
1847/** 1847/**
1848 * lpfc_nodev_tmo_show: Return the hba dev loss timeout value. 1848 * lpfc_nodev_tmo_show - Return the hba dev loss timeout value
1849 * @dev: class converted to a Scsi_host structure. 1849 * @dev: class converted to a Scsi_host structure.
1850 * @attr: device attribute, not used. 1850 * @attr: device attribute, not used.
1851 * @buf: on return contains the dev loss timeout in decimal. 1851 * @buf: on return contains the dev loss timeout in decimal.
@@ -1864,7 +1864,7 @@ lpfc_nodev_tmo_show(struct device *dev, struct device_attribute *attr,
1864} 1864}
1865 1865
1866/** 1866/**
1867 * lpfc_nodev_tmo_init: Set the hba nodev timeout value. 1867 * lpfc_nodev_tmo_init - Set the hba nodev timeout value
1868 * @vport: lpfc vport structure pointer. 1868 * @vport: lpfc vport structure pointer.
1869 * @val: contains the nodev timeout value. 1869 * @val: contains the nodev timeout value.
1870 * 1870 *
@@ -1905,7 +1905,7 @@ lpfc_nodev_tmo_init(struct lpfc_vport *vport, int val)
1905} 1905}
1906 1906
1907/** 1907/**
1908 * lpfc_update_rport_devloss_tmo: Update dev loss tmo value. 1908 * lpfc_update_rport_devloss_tmo - Update dev loss tmo value
1909 * @vport: lpfc vport structure pointer. 1909 * @vport: lpfc vport structure pointer.
1910 * 1910 *
1911 * Description: 1911 * Description:
@@ -1926,7 +1926,7 @@ lpfc_update_rport_devloss_tmo(struct lpfc_vport *vport)
1926} 1926}
1927 1927
1928/** 1928/**
1929 * lpfc_nodev_tmo_set: Set the vport nodev tmo and devloss tmo values. 1929 * lpfc_nodev_tmo_set - Set the vport nodev tmo and devloss tmo values
1930 * @vport: lpfc vport structure pointer. 1930 * @vport: lpfc vport structure pointer.
1931 * @val: contains the tmo value. 1931 * @val: contains the tmo value.
1932 * 1932 *
@@ -1982,7 +1982,7 @@ lpfc_vport_param_init(devloss_tmo, LPFC_DEF_DEVLOSS_TMO,
1982lpfc_vport_param_show(devloss_tmo) 1982lpfc_vport_param_show(devloss_tmo)
1983 1983
1984/** 1984/**
1985 * lpfc_devloss_tmo_set: Sets vport nodev tmo, devloss tmo values, changed bit. 1985 * lpfc_devloss_tmo_set - Sets vport nodev tmo, devloss tmo values, changed bit
1986 * @vport: lpfc vport structure pointer. 1986 * @vport: lpfc vport structure pointer.
1987 * @val: contains the tmo value. 1987 * @val: contains the tmo value.
1988 * 1988 *
@@ -2094,7 +2094,7 @@ MODULE_PARM_DESC(lpfc_restrict_login,
2094lpfc_vport_param_show(restrict_login); 2094lpfc_vport_param_show(restrict_login);
2095 2095
2096/** 2096/**
2097 * lpfc_restrict_login_init: Set the vport restrict login flag. 2097 * lpfc_restrict_login_init - Set the vport restrict login flag
2098 * @vport: lpfc vport structure pointer. 2098 * @vport: lpfc vport structure pointer.
2099 * @val: contains the restrict login value. 2099 * @val: contains the restrict login value.
2100 * 2100 *
@@ -2128,7 +2128,7 @@ lpfc_restrict_login_init(struct lpfc_vport *vport, int val)
2128} 2128}
2129 2129
2130/** 2130/**
2131 * lpfc_restrict_login_set: Set the vport restrict login flag. 2131 * lpfc_restrict_login_set - Set the vport restrict login flag
2132 * @vport: lpfc vport structure pointer. 2132 * @vport: lpfc vport structure pointer.
2133 * @val: contains the restrict login value. 2133 * @val: contains the restrict login value.
2134 * 2134 *
@@ -2201,7 +2201,7 @@ LPFC_VPORT_ATTR_R(scan_down, 1, 0, 1,
2201*/ 2201*/
2202 2202
2203/** 2203/**
2204 * lpfc_topology_set: Set the adapters topology field. 2204 * lpfc_topology_set - Set the adapters topology field
2205 * @phba: lpfc_hba pointer. 2205 * @phba: lpfc_hba pointer.
2206 * @val: topology value. 2206 * @val: topology value.
2207 * 2207 *
@@ -2216,18 +2216,41 @@ LPFC_VPORT_ATTR_R(scan_down, 1, 0, 1,
2216 * non-zero return value from lpfc_issue_lip() 2216 * non-zero return value from lpfc_issue_lip()
2217 * -EINVAL val out of range 2217 * -EINVAL val out of range
2218 **/ 2218 **/
2219static int 2219static ssize_t
2220lpfc_topology_set(struct lpfc_hba *phba, int val) 2220lpfc_topology_store(struct device *dev, struct device_attribute *attr,
2221 const char *buf, size_t count)
2221{ 2222{
2223 struct Scsi_Host *shost = class_to_shost(dev);
2224 struct lpfc_vport *vport = (struct lpfc_vport *) shost->hostdata;
2225 struct lpfc_hba *phba = vport->phba;
2226 int val = 0;
2227 int nolip = 0;
2228 const char *val_buf = buf;
2222 int err; 2229 int err;
2223 uint32_t prev_val; 2230 uint32_t prev_val;
2231
2232 if (!strncmp(buf, "nolip ", strlen("nolip "))) {
2233 nolip = 1;
2234 val_buf = &buf[strlen("nolip ")];
2235 }
2236
2237 if (!isdigit(val_buf[0]))
2238 return -EINVAL;
2239 if (sscanf(val_buf, "%i", &val) != 1)
2240 return -EINVAL;
2241
2224 if (val >= 0 && val <= 6) { 2242 if (val >= 0 && val <= 6) {
2225 prev_val = phba->cfg_topology; 2243 prev_val = phba->cfg_topology;
2226 phba->cfg_topology = val; 2244 phba->cfg_topology = val;
2245 if (nolip)
2246 return strlen(buf);
2247
2227 err = lpfc_issue_lip(lpfc_shost_from_vport(phba->pport)); 2248 err = lpfc_issue_lip(lpfc_shost_from_vport(phba->pport));
2228 if (err) 2249 if (err) {
2229 phba->cfg_topology = prev_val; 2250 phba->cfg_topology = prev_val;
2230 return err; 2251 return -EINVAL;
2252 } else
2253 return strlen(buf);
2231 } 2254 }
2232 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, 2255 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
2233 "%d:0467 lpfc_topology attribute cannot be set to %d, " 2256 "%d:0467 lpfc_topology attribute cannot be set to %d, "
@@ -2240,14 +2263,12 @@ module_param(lpfc_topology, int, 0);
2240MODULE_PARM_DESC(lpfc_topology, "Select Fibre Channel topology"); 2263MODULE_PARM_DESC(lpfc_topology, "Select Fibre Channel topology");
2241lpfc_param_show(topology) 2264lpfc_param_show(topology)
2242lpfc_param_init(topology, 0, 0, 6) 2265lpfc_param_init(topology, 0, 0, 6)
2243lpfc_param_store(topology)
2244static DEVICE_ATTR(lpfc_topology, S_IRUGO | S_IWUSR, 2266static DEVICE_ATTR(lpfc_topology, S_IRUGO | S_IWUSR,
2245 lpfc_topology_show, lpfc_topology_store); 2267 lpfc_topology_show, lpfc_topology_store);
2246 2268
2247 2269
2248/** 2270/**
2249 * lpfc_stat_data_ctrl_store: write call back for lpfc_stat_data_ctrl 2271 * lpfc_stat_data_ctrl_store - write call back for lpfc_stat_data_ctrl sysfs file
2250 * sysfs file.
2251 * @dev: Pointer to class device. 2272 * @dev: Pointer to class device.
2252 * @buf: Data buffer. 2273 * @buf: Data buffer.
2253 * @count: Size of the data buffer. 2274 * @count: Size of the data buffer.
@@ -2282,7 +2303,7 @@ lpfc_stat_data_ctrl_store(struct device *dev, struct device_attribute *attr,
2282 unsigned long base, step, bucket_type; 2303 unsigned long base, step, bucket_type;
2283 2304
2284 if (!strncmp(buf, "setbucket", strlen("setbucket"))) { 2305 if (!strncmp(buf, "setbucket", strlen("setbucket"))) {
2285 if (strlen(buf) > LPFC_MAX_DATA_CTRL_LEN) 2306 if (strlen(buf) > (LPFC_MAX_DATA_CTRL_LEN - 1))
2286 return -EINVAL; 2307 return -EINVAL;
2287 2308
2288 strcpy(bucket_data, buf); 2309 strcpy(bucket_data, buf);
@@ -2411,8 +2432,7 @@ lpfc_stat_data_ctrl_store(struct device *dev, struct device_attribute *attr,
2411 2432
2412 2433
2413/** 2434/**
2414 * lpfc_stat_data_ctrl_show: Read callback function for 2435 * lpfc_stat_data_ctrl_show - Read function for lpfc_stat_data_ctrl sysfs file
2415 * lpfc_stat_data_ctrl sysfs file.
2416 * @dev: Pointer to class device object. 2436 * @dev: Pointer to class device object.
2417 * @buf: Data buffer. 2437 * @buf: Data buffer.
2418 * 2438 *
@@ -2489,8 +2509,7 @@ static DEVICE_ATTR(lpfc_stat_data_ctrl, S_IRUGO | S_IWUSR,
2489 2509
2490 2510
2491/** 2511/**
2492 * sysfs_drvr_stat_data_read: Read callback function for lpfc_drvr_stat_data 2512 * sysfs_drvr_stat_data_read - Read function for lpfc_drvr_stat_data attribute
2493 * sysfs attribute.
2494 * @kobj: Pointer to the kernel object 2513 * @kobj: Pointer to the kernel object
2495 * @bin_attr: Attribute object 2514 * @bin_attr: Attribute object
2496 * @buff: Buffer pointer 2515 * @buff: Buffer pointer
@@ -2585,7 +2604,7 @@ static struct bin_attribute sysfs_drvr_stat_data_attr = {
2585*/ 2604*/
2586 2605
2587/** 2606/**
2588 * lpfc_link_speed_set: Set the adapters link speed. 2607 * lpfc_link_speed_set - Set the adapters link speed
2589 * @phba: lpfc_hba pointer. 2608 * @phba: lpfc_hba pointer.
2590 * @val: link speed value. 2609 * @val: link speed value.
2591 * 2610 *
@@ -2601,12 +2620,29 @@ static struct bin_attribute sysfs_drvr_stat_data_attr = {
2601 * non-zero return value from lpfc_issue_lip() 2620 * non-zero return value from lpfc_issue_lip()
2602 * -EINVAL val out of range 2621 * -EINVAL val out of range
2603 **/ 2622 **/
2604static int 2623static ssize_t
2605lpfc_link_speed_set(struct lpfc_hba *phba, int val) 2624lpfc_link_speed_store(struct device *dev, struct device_attribute *attr,
2625 const char *buf, size_t count)
2606{ 2626{
2627 struct Scsi_Host *shost = class_to_shost(dev);
2628 struct lpfc_vport *vport = (struct lpfc_vport *) shost->hostdata;
2629 struct lpfc_hba *phba = vport->phba;
2630 int val = 0;
2631 int nolip = 0;
2632 const char *val_buf = buf;
2607 int err; 2633 int err;
2608 uint32_t prev_val; 2634 uint32_t prev_val;
2609 2635
2636 if (!strncmp(buf, "nolip ", strlen("nolip "))) {
2637 nolip = 1;
2638 val_buf = &buf[strlen("nolip ")];
2639 }
2640
2641 if (!isdigit(val_buf[0]))
2642 return -EINVAL;
2643 if (sscanf(val_buf, "%i", &val) != 1)
2644 return -EINVAL;
2645
2610 if (((val == LINK_SPEED_1G) && !(phba->lmt & LMT_1Gb)) || 2646 if (((val == LINK_SPEED_1G) && !(phba->lmt & LMT_1Gb)) ||
2611 ((val == LINK_SPEED_2G) && !(phba->lmt & LMT_2Gb)) || 2647 ((val == LINK_SPEED_2G) && !(phba->lmt & LMT_2Gb)) ||
2612 ((val == LINK_SPEED_4G) && !(phba->lmt & LMT_4Gb)) || 2648 ((val == LINK_SPEED_4G) && !(phba->lmt & LMT_4Gb)) ||
@@ -2614,14 +2650,19 @@ lpfc_link_speed_set(struct lpfc_hba *phba, int val)
2614 ((val == LINK_SPEED_10G) && !(phba->lmt & LMT_10Gb))) 2650 ((val == LINK_SPEED_10G) && !(phba->lmt & LMT_10Gb)))
2615 return -EINVAL; 2651 return -EINVAL;
2616 2652
2617 if ((val >= 0 && val <= LPFC_MAX_LINK_SPEED) 2653 if ((val >= 0 && val <= 8)
2618 && (LPFC_LINK_SPEED_BITMAP & (1 << val))) { 2654 && (LPFC_LINK_SPEED_BITMAP & (1 << val))) {
2619 prev_val = phba->cfg_link_speed; 2655 prev_val = phba->cfg_link_speed;
2620 phba->cfg_link_speed = val; 2656 phba->cfg_link_speed = val;
2657 if (nolip)
2658 return strlen(buf);
2659
2621 err = lpfc_issue_lip(lpfc_shost_from_vport(phba->pport)); 2660 err = lpfc_issue_lip(lpfc_shost_from_vport(phba->pport));
2622 if (err) 2661 if (err) {
2623 phba->cfg_link_speed = prev_val; 2662 phba->cfg_link_speed = prev_val;
2624 return err; 2663 return -EINVAL;
2664 } else
2665 return strlen(buf);
2625 } 2666 }
2626 2667
2627 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, 2668 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
@@ -2637,7 +2678,7 @@ MODULE_PARM_DESC(lpfc_link_speed, "Select link speed");
2637lpfc_param_show(link_speed) 2678lpfc_param_show(link_speed)
2638 2679
2639/** 2680/**
2640 * lpfc_link_speed_init: Set the adapters link speed. 2681 * lpfc_link_speed_init - Set the adapters link speed
2641 * @phba: lpfc_hba pointer. 2682 * @phba: lpfc_hba pointer.
2642 * @val: link speed value. 2683 * @val: link speed value.
2643 * 2684 *
@@ -2668,7 +2709,6 @@ lpfc_link_speed_init(struct lpfc_hba *phba, int val)
2668 return -EINVAL; 2709 return -EINVAL;
2669} 2710}
2670 2711
2671lpfc_param_store(link_speed)
2672static DEVICE_ATTR(lpfc_link_speed, S_IRUGO | S_IWUSR, 2712static DEVICE_ATTR(lpfc_link_speed, S_IRUGO | S_IWUSR,
2673 lpfc_link_speed_show, lpfc_link_speed_store); 2713 lpfc_link_speed_show, lpfc_link_speed_store);
2674 2714
@@ -2865,7 +2905,7 @@ MODULE_PARM_DESC(lpfc_prot_guard, "host protection guard type");
2865 2905
2866 2906
2867/* 2907/*
2868 * lpfc_sg_seg_cnt: Initial Maximum DMA Segment Count 2908 * lpfc_sg_seg_cnt - Initial Maximum DMA Segment Count
2869 * This value can be set to values between 64 and 256. The default value is 2909 * This value can be set to values between 64 and 256. The default value is
2870 * 64, but may be increased to allow for larger Max I/O sizes. The scsi layer 2910 * 64, but may be increased to allow for larger Max I/O sizes. The scsi layer
2871 * will be allowed to request I/Os of sizes up to (MAX_SEG_COUNT * SEG_SIZE). 2911 * will be allowed to request I/Os of sizes up to (MAX_SEG_COUNT * SEG_SIZE).
@@ -2967,7 +3007,7 @@ struct device_attribute *lpfc_vport_attrs[] = {
2967}; 3007};
2968 3008
2969/** 3009/**
2970 * sysfs_ctlreg_write: Write method for writing to ctlreg. 3010 * sysfs_ctlreg_write - Write method for writing to ctlreg
2971 * @kobj: kernel kobject that contains the kernel class device. 3011 * @kobj: kernel kobject that contains the kernel class device.
2972 * @bin_attr: kernel attributes passed to us. 3012 * @bin_attr: kernel attributes passed to us.
2973 * @buf: contains the data to be written to the adapter IOREG space. 3013 * @buf: contains the data to be written to the adapter IOREG space.
@@ -3017,7 +3057,7 @@ sysfs_ctlreg_write(struct kobject *kobj, struct bin_attribute *bin_attr,
3017} 3057}
3018 3058
3019/** 3059/**
3020 * sysfs_ctlreg_read: Read method for reading from ctlreg. 3060 * sysfs_ctlreg_read - Read method for reading from ctlreg
3021 * @kobj: kernel kobject that contains the kernel class device. 3061 * @kobj: kernel kobject that contains the kernel class device.
3022 * @bin_attr: kernel attributes passed to us. 3062 * @bin_attr: kernel attributes passed to us.
3023 * @buf: if succesful contains the data from the adapter IOREG space. 3063 * @buf: if succesful contains the data from the adapter IOREG space.
@@ -3078,7 +3118,7 @@ static struct bin_attribute sysfs_ctlreg_attr = {
3078}; 3118};
3079 3119
3080/** 3120/**
3081 * sysfs_mbox_idle: frees the sysfs mailbox. 3121 * sysfs_mbox_idle - frees the sysfs mailbox
3082 * @phba: lpfc_hba pointer 3122 * @phba: lpfc_hba pointer
3083 **/ 3123 **/
3084static void 3124static void
@@ -3095,7 +3135,7 @@ sysfs_mbox_idle(struct lpfc_hba *phba)
3095} 3135}
3096 3136
3097/** 3137/**
3098 * sysfs_mbox_write: Write method for writing information via mbox. 3138 * sysfs_mbox_write - Write method for writing information via mbox
3099 * @kobj: kernel kobject that contains the kernel class device. 3139 * @kobj: kernel kobject that contains the kernel class device.
3100 * @bin_attr: kernel attributes passed to us. 3140 * @bin_attr: kernel attributes passed to us.
3101 * @buf: contains the data to be written to sysfs mbox. 3141 * @buf: contains the data to be written to sysfs mbox.
@@ -3170,7 +3210,7 @@ sysfs_mbox_write(struct kobject *kobj, struct bin_attribute *bin_attr,
3170} 3210}
3171 3211
3172/** 3212/**
3173 * sysfs_mbox_read: Read method for reading information via mbox. 3213 * sysfs_mbox_read - Read method for reading information via mbox
3174 * @kobj: kernel kobject that contains the kernel class device. 3214 * @kobj: kernel kobject that contains the kernel class device.
3175 * @bin_attr: kernel attributes passed to us. 3215 * @bin_attr: kernel attributes passed to us.
3176 * @buf: contains the data to be read from sysfs mbox. 3216 * @buf: contains the data to be read from sysfs mbox.
@@ -3374,7 +3414,7 @@ static struct bin_attribute sysfs_mbox_attr = {
3374}; 3414};
3375 3415
3376/** 3416/**
3377 * lpfc_alloc_sysfs_attr: Creates the ctlreg and mbox entries. 3417 * lpfc_alloc_sysfs_attr - Creates the ctlreg and mbox entries
3378 * @vport: address of lpfc vport structure. 3418 * @vport: address of lpfc vport structure.
3379 * 3419 *
3380 * Return codes: 3420 * Return codes:
@@ -3415,7 +3455,7 @@ out:
3415} 3455}
3416 3456
3417/** 3457/**
3418 * lpfc_free_sysfs_attr: Removes the ctlreg and mbox entries. 3458 * lpfc_free_sysfs_attr - Removes the ctlreg and mbox entries
3419 * @vport: address of lpfc vport structure. 3459 * @vport: address of lpfc vport structure.
3420 **/ 3460 **/
3421void 3461void
@@ -3437,7 +3477,7 @@ lpfc_free_sysfs_attr(struct lpfc_vport *vport)
3437 */ 3477 */
3438 3478
3439/** 3479/**
3440 * lpfc_get_host_port_id: Copy the vport DID into the scsi host port id. 3480 * lpfc_get_host_port_id - Copy the vport DID into the scsi host port id
3441 * @shost: kernel scsi host pointer. 3481 * @shost: kernel scsi host pointer.
3442 **/ 3482 **/
3443static void 3483static void
@@ -3450,7 +3490,7 @@ lpfc_get_host_port_id(struct Scsi_Host *shost)
3450} 3490}
3451 3491
3452/** 3492/**
3453 * lpfc_get_host_port_type: Set the value of the scsi host port type. 3493 * lpfc_get_host_port_type - Set the value of the scsi host port type
3454 * @shost: kernel scsi host pointer. 3494 * @shost: kernel scsi host pointer.
3455 **/ 3495 **/
3456static void 3496static void
@@ -3482,7 +3522,7 @@ lpfc_get_host_port_type(struct Scsi_Host *shost)
3482} 3522}
3483 3523
3484/** 3524/**
3485 * lpfc_get_host_port_state: Set the value of the scsi host port state. 3525 * lpfc_get_host_port_state - Set the value of the scsi host port state
3486 * @shost: kernel scsi host pointer. 3526 * @shost: kernel scsi host pointer.
3487 **/ 3527 **/
3488static void 3528static void
@@ -3520,7 +3560,7 @@ lpfc_get_host_port_state(struct Scsi_Host *shost)
3520} 3560}
3521 3561
3522/** 3562/**
3523 * lpfc_get_host_speed: Set the value of the scsi host speed. 3563 * lpfc_get_host_speed - Set the value of the scsi host speed
3524 * @shost: kernel scsi host pointer. 3564 * @shost: kernel scsi host pointer.
3525 **/ 3565 **/
3526static void 3566static void
@@ -3556,7 +3596,7 @@ lpfc_get_host_speed(struct Scsi_Host *shost)
3556} 3596}
3557 3597
3558/** 3598/**
3559 * lpfc_get_host_fabric_name: Set the value of the scsi host fabric name. 3599 * lpfc_get_host_fabric_name - Set the value of the scsi host fabric name
3560 * @shost: kernel scsi host pointer. 3600 * @shost: kernel scsi host pointer.
3561 **/ 3601 **/
3562static void 3602static void
@@ -3582,7 +3622,7 @@ lpfc_get_host_fabric_name (struct Scsi_Host *shost)
3582} 3622}
3583 3623
3584/** 3624/**
3585 * lpfc_get_stats: Return statistical information about the adapter. 3625 * lpfc_get_stats - Return statistical information about the adapter
3586 * @shost: kernel scsi host pointer. 3626 * @shost: kernel scsi host pointer.
3587 * 3627 *
3588 * Notes: 3628 * Notes:
@@ -3707,7 +3747,7 @@ lpfc_get_stats(struct Scsi_Host *shost)
3707} 3747}
3708 3748
3709/** 3749/**
3710 * lpfc_reset_stats: Copy the adapter link stats information. 3750 * lpfc_reset_stats - Copy the adapter link stats information
3711 * @shost: kernel scsi host pointer. 3751 * @shost: kernel scsi host pointer.
3712 **/ 3752 **/
3713static void 3753static void
@@ -3788,7 +3828,7 @@ lpfc_reset_stats(struct Scsi_Host *shost)
3788 */ 3828 */
3789 3829
3790/** 3830/**
3791 * lpfc_get_node_by_target: Return the nodelist for a target. 3831 * lpfc_get_node_by_target - Return the nodelist for a target
3792 * @starget: kernel scsi target pointer. 3832 * @starget: kernel scsi target pointer.
3793 * 3833 *
3794 * Returns: 3834 * Returns:
@@ -3817,7 +3857,7 @@ lpfc_get_node_by_target(struct scsi_target *starget)
3817} 3857}
3818 3858
3819/** 3859/**
3820 * lpfc_get_starget_port_id: Set the target port id to the ndlp DID or -1. 3860 * lpfc_get_starget_port_id - Set the target port id to the ndlp DID or -1
3821 * @starget: kernel scsi target pointer. 3861 * @starget: kernel scsi target pointer.
3822 **/ 3862 **/
3823static void 3863static void
@@ -3829,7 +3869,7 @@ lpfc_get_starget_port_id(struct scsi_target *starget)
3829} 3869}
3830 3870
3831/** 3871/**
3832 * lpfc_get_starget_node_name: Set the target node name. 3872 * lpfc_get_starget_node_name - Set the target node name
3833 * @starget: kernel scsi target pointer. 3873 * @starget: kernel scsi target pointer.
3834 * 3874 *
3835 * Description: Set the target node name to the ndlp node name wwn or zero. 3875 * Description: Set the target node name to the ndlp node name wwn or zero.
@@ -3844,7 +3884,7 @@ lpfc_get_starget_node_name(struct scsi_target *starget)
3844} 3884}
3845 3885
3846/** 3886/**
3847 * lpfc_get_starget_port_name: Set the target port name. 3887 * lpfc_get_starget_port_name - Set the target port name
3848 * @starget: kernel scsi target pointer. 3888 * @starget: kernel scsi target pointer.
3849 * 3889 *
3850 * Description: set the target port name to the ndlp port name wwn or zero. 3890 * Description: set the target port name to the ndlp port name wwn or zero.
@@ -3859,7 +3899,7 @@ lpfc_get_starget_port_name(struct scsi_target *starget)
3859} 3899}
3860 3900
3861/** 3901/**
3862 * lpfc_set_rport_loss_tmo: Set the rport dev loss tmo. 3902 * lpfc_set_rport_loss_tmo - Set the rport dev loss tmo
3863 * @rport: fc rport address. 3903 * @rport: fc rport address.
3864 * @timeout: new value for dev loss tmo. 3904 * @timeout: new value for dev loss tmo.
3865 * 3905 *
@@ -3877,7 +3917,7 @@ lpfc_set_rport_loss_tmo(struct fc_rport *rport, uint32_t timeout)
3877} 3917}
3878 3918
3879/** 3919/**
3880 * lpfc_rport_show_function: Return rport target information. 3920 * lpfc_rport_show_function - Return rport target information
3881 * 3921 *
3882 * Description: 3922 * Description:
3883 * Macro that uses field to generate a function with the name lpfc_show_rport_ 3923 * Macro that uses field to generate a function with the name lpfc_show_rport_
@@ -3905,7 +3945,7 @@ lpfc_show_rport_##field (struct device *dev, \
3905static FC_RPORT_ATTR(field, S_IRUGO, lpfc_show_rport_##field, NULL) 3945static FC_RPORT_ATTR(field, S_IRUGO, lpfc_show_rport_##field, NULL)
3906 3946
3907/** 3947/**
3908 * lpfc_set_vport_symbolic_name: Set the vport's symbolic name. 3948 * lpfc_set_vport_symbolic_name - Set the vport's symbolic name
3909 * @fc_vport: The fc_vport who's symbolic name has been changed. 3949 * @fc_vport: The fc_vport who's symbolic name has been changed.
3910 * 3950 *
3911 * Description: 3951 * Description:
@@ -4048,7 +4088,7 @@ struct fc_function_template lpfc_vport_transport_functions = {
4048}; 4088};
4049 4089
4050/** 4090/**
4051 * lpfc_get_cfgparam: Used during probe_one to init the adapter structure. 4091 * lpfc_get_cfgparam - Used during probe_one to init the adapter structure
4052 * @phba: lpfc_hba pointer. 4092 * @phba: lpfc_hba pointer.
4053 **/ 4093 **/
4054void 4094void
@@ -4097,7 +4137,7 @@ lpfc_get_cfgparam(struct lpfc_hba *phba)
4097} 4137}
4098 4138
4099/** 4139/**
4100 * lpfc_get_vport_cfgparam: Used during port create, init the vport structure. 4140 * lpfc_get_vport_cfgparam - Used during port create, init the vport structure
4101 * @vport: lpfc_vport pointer. 4141 * @vport: lpfc_vport pointer.
4102 **/ 4142 **/
4103void 4143void
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h
index 07f4976319a5..f88ce3f26190 100644
--- a/drivers/scsi/lpfc/lpfc_crtn.h
+++ b/drivers/scsi/lpfc/lpfc_crtn.h
@@ -184,6 +184,8 @@ void lpfc_sli_poll_fcp_ring(struct lpfc_hba *);
184struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); 184struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *);
185void lpfc_sli_release_iocbq(struct lpfc_hba *, struct lpfc_iocbq *); 185void lpfc_sli_release_iocbq(struct lpfc_hba *, struct lpfc_iocbq *);
186uint16_t lpfc_sli_next_iotag(struct lpfc_hba *, struct lpfc_iocbq *); 186uint16_t lpfc_sli_next_iotag(struct lpfc_hba *, struct lpfc_iocbq *);
187void lpfc_sli_cancel_iocbs(struct lpfc_hba *, struct list_head *, uint32_t,
188 uint32_t);
187 189
188void lpfc_reset_barrier(struct lpfc_hba * phba); 190void lpfc_reset_barrier(struct lpfc_hba * phba);
189int lpfc_sli_brdready(struct lpfc_hba *, uint32_t); 191int lpfc_sli_brdready(struct lpfc_hba *, uint32_t);
diff --git a/drivers/scsi/lpfc/lpfc_debugfs.c b/drivers/scsi/lpfc/lpfc_debugfs.c
index 81cdcf46c471..52be5644e07a 100644
--- a/drivers/scsi/lpfc/lpfc_debugfs.c
+++ b/drivers/scsi/lpfc/lpfc_debugfs.c
@@ -47,7 +47,7 @@
47#include "lpfc_debugfs.h" 47#include "lpfc_debugfs.h"
48 48
49#ifdef CONFIG_SCSI_LPFC_DEBUG_FS 49#ifdef CONFIG_SCSI_LPFC_DEBUG_FS
50/** 50/*
51 * debugfs interface 51 * debugfs interface
52 * 52 *
53 * To access this interface the user should: 53 * To access this interface the user should:
@@ -95,7 +95,7 @@ module_param(lpfc_debugfs_max_slow_ring_trc, int, 0);
95MODULE_PARM_DESC(lpfc_debugfs_max_slow_ring_trc, 95MODULE_PARM_DESC(lpfc_debugfs_max_slow_ring_trc,
96 "Set debugfs slow ring trace depth"); 96 "Set debugfs slow ring trace depth");
97 97
98int lpfc_debugfs_mask_disc_trc; 98static int lpfc_debugfs_mask_disc_trc;
99module_param(lpfc_debugfs_mask_disc_trc, int, 0); 99module_param(lpfc_debugfs_mask_disc_trc, int, 0);
100MODULE_PARM_DESC(lpfc_debugfs_mask_disc_trc, 100MODULE_PARM_DESC(lpfc_debugfs_mask_disc_trc,
101 "Set debugfs discovery trace mask"); 101 "Set debugfs discovery trace mask");
@@ -127,7 +127,7 @@ static atomic_t lpfc_debugfs_seq_trc_cnt = ATOMIC_INIT(0);
127static unsigned long lpfc_debugfs_start_time = 0L; 127static unsigned long lpfc_debugfs_start_time = 0L;
128 128
129/** 129/**
130 * lpfc_debugfs_disc_trc_data - Dump discovery logging to a buffer. 130 * lpfc_debugfs_disc_trc_data - Dump discovery logging to a buffer
131 * @vport: The vport to gather the log info from. 131 * @vport: The vport to gather the log info from.
132 * @buf: The buffer to dump log into. 132 * @buf: The buffer to dump log into.
133 * @size: The maximum amount of data to process. 133 * @size: The maximum amount of data to process.
@@ -187,7 +187,7 @@ lpfc_debugfs_disc_trc_data(struct lpfc_vport *vport, char *buf, int size)
187} 187}
188 188
189/** 189/**
190 * lpfc_debugfs_slow_ring_trc_data - Dump slow ring logging to a buffer. 190 * lpfc_debugfs_slow_ring_trc_data - Dump slow ring logging to a buffer
191 * @phba: The HBA to gather the log info from. 191 * @phba: The HBA to gather the log info from.
192 * @buf: The buffer to dump log into. 192 * @buf: The buffer to dump log into.
193 * @size: The maximum amount of data to process. 193 * @size: The maximum amount of data to process.
@@ -250,7 +250,7 @@ lpfc_debugfs_slow_ring_trc_data(struct lpfc_hba *phba, char *buf, int size)
250static int lpfc_debugfs_last_hbq = -1; 250static int lpfc_debugfs_last_hbq = -1;
251 251
252/** 252/**
253 * lpfc_debugfs_hbqinfo_data - Dump host buffer queue info to a buffer. 253 * lpfc_debugfs_hbqinfo_data - Dump host buffer queue info to a buffer
254 * @phba: The HBA to gather host buffer info from. 254 * @phba: The HBA to gather host buffer info from.
255 * @buf: The buffer to dump log into. 255 * @buf: The buffer to dump log into.
256 * @size: The maximum amount of data to process. 256 * @size: The maximum amount of data to process.
@@ -369,7 +369,7 @@ skipit:
369static int lpfc_debugfs_last_hba_slim_off; 369static int lpfc_debugfs_last_hba_slim_off;
370 370
371/** 371/**
372 * lpfc_debugfs_dumpHBASlim_data - Dump HBA SLIM info to a buffer. 372 * lpfc_debugfs_dumpHBASlim_data - Dump HBA SLIM info to a buffer
373 * @phba: The HBA to gather SLIM info from. 373 * @phba: The HBA to gather SLIM info from.
374 * @buf: The buffer to dump log into. 374 * @buf: The buffer to dump log into.
375 * @size: The maximum amount of data to process. 375 * @size: The maximum amount of data to process.
@@ -399,8 +399,7 @@ lpfc_debugfs_dumpHBASlim_data(struct lpfc_hba *phba, char *buf, int size)
399 399
400 len += snprintf(buf+len, size-len, "HBA SLIM\n"); 400 len += snprintf(buf+len, size-len, "HBA SLIM\n");
401 lpfc_memcpy_from_slim(buffer, 401 lpfc_memcpy_from_slim(buffer,
402 ((uint8_t *)phba->MBslimaddr) + lpfc_debugfs_last_hba_slim_off, 402 phba->MBslimaddr + lpfc_debugfs_last_hba_slim_off, 1024);
403 1024);
404 403
405 ptr = (uint32_t *)&buffer[0]; 404 ptr = (uint32_t *)&buffer[0];
406 off = lpfc_debugfs_last_hba_slim_off; 405 off = lpfc_debugfs_last_hba_slim_off;
@@ -426,7 +425,7 @@ lpfc_debugfs_dumpHBASlim_data(struct lpfc_hba *phba, char *buf, int size)
426} 425}
427 426
428/** 427/**
429 * lpfc_debugfs_dumpHostSlim_data - Dump host SLIM info to a buffer. 428 * lpfc_debugfs_dumpHostSlim_data - Dump host SLIM info to a buffer
430 * @phba: The HBA to gather Host SLIM info from. 429 * @phba: The HBA to gather Host SLIM info from.
431 * @buf: The buffer to dump log into. 430 * @buf: The buffer to dump log into.
432 * @size: The maximum amount of data to process. 431 * @size: The maximum amount of data to process.
@@ -501,7 +500,7 @@ lpfc_debugfs_dumpHostSlim_data(struct lpfc_hba *phba, char *buf, int size)
501} 500}
502 501
503/** 502/**
504 * lpfc_debugfs_nodelist_data - Dump target node list to a buffer. 503 * lpfc_debugfs_nodelist_data - Dump target node list to a buffer
505 * @vport: The vport to gather target node info from. 504 * @vport: The vport to gather target node info from.
506 * @buf: The buffer to dump log into. 505 * @buf: The buffer to dump log into.
507 * @size: The maximum amount of data to process. 506 * @size: The maximum amount of data to process.
@@ -599,7 +598,7 @@ lpfc_debugfs_nodelist_data(struct lpfc_vport *vport, char *buf, int size)
599#endif 598#endif
600 599
601/** 600/**
602 * lpfc_debugfs_disc_trc - Store discovery trace log. 601 * lpfc_debugfs_disc_trc - Store discovery trace log
603 * @vport: The vport to associate this trace string with for retrieval. 602 * @vport: The vport to associate this trace string with for retrieval.
604 * @mask: Log entry classification. 603 * @mask: Log entry classification.
605 * @fmt: Format string to be displayed when dumping the log. 604 * @fmt: Format string to be displayed when dumping the log.
@@ -643,7 +642,7 @@ lpfc_debugfs_disc_trc(struct lpfc_vport *vport, int mask, char *fmt,
643} 642}
644 643
645/** 644/**
646 * lpfc_debugfs_slow_ring_trc - Store slow ring trace log. 645 * lpfc_debugfs_slow_ring_trc - Store slow ring trace log
647 * @phba: The phba to associate this trace string with for retrieval. 646 * @phba: The phba to associate this trace string with for retrieval.
648 * @fmt: Format string to be displayed when dumping the log. 647 * @fmt: Format string to be displayed when dumping the log.
649 * @data1: 1st data parameter to be applied to @fmt. 648 * @data1: 1st data parameter to be applied to @fmt.
@@ -682,7 +681,7 @@ lpfc_debugfs_slow_ring_trc(struct lpfc_hba *phba, char *fmt,
682 681
683#ifdef CONFIG_SCSI_LPFC_DEBUG_FS 682#ifdef CONFIG_SCSI_LPFC_DEBUG_FS
684/** 683/**
685 * lpfc_debugfs_disc_trc_open - Open the discovery trace log. 684 * lpfc_debugfs_disc_trc_open - Open the discovery trace log
686 * @inode: The inode pointer that contains a vport pointer. 685 * @inode: The inode pointer that contains a vport pointer.
687 * @file: The file pointer to attach the log output. 686 * @file: The file pointer to attach the log output.
688 * 687 *
@@ -732,7 +731,7 @@ out:
732} 731}
733 732
734/** 733/**
735 * lpfc_debugfs_slow_ring_trc_open - Open the Slow Ring trace log. 734 * lpfc_debugfs_slow_ring_trc_open - Open the Slow Ring trace log
736 * @inode: The inode pointer that contains a vport pointer. 735 * @inode: The inode pointer that contains a vport pointer.
737 * @file: The file pointer to attach the log output. 736 * @file: The file pointer to attach the log output.
738 * 737 *
@@ -782,7 +781,7 @@ out:
782} 781}
783 782
784/** 783/**
785 * lpfc_debugfs_hbqinfo_open - Open the hbqinfo debugfs buffer. 784 * lpfc_debugfs_hbqinfo_open - Open the hbqinfo debugfs buffer
786 * @inode: The inode pointer that contains a vport pointer. 785 * @inode: The inode pointer that contains a vport pointer.
787 * @file: The file pointer to attach the log output. 786 * @file: The file pointer to attach the log output.
788 * 787 *
@@ -824,7 +823,7 @@ out:
824} 823}
825 824
826/** 825/**
827 * lpfc_debugfs_dumpHBASlim_open - Open the Dump HBA SLIM debugfs buffer. 826 * lpfc_debugfs_dumpHBASlim_open - Open the Dump HBA SLIM debugfs buffer
828 * @inode: The inode pointer that contains a vport pointer. 827 * @inode: The inode pointer that contains a vport pointer.
829 * @file: The file pointer to attach the log output. 828 * @file: The file pointer to attach the log output.
830 * 829 *
@@ -866,7 +865,7 @@ out:
866} 865}
867 866
868/** 867/**
869 * lpfc_debugfs_dumpHostSlim_open - Open the Dump Host SLIM debugfs buffer. 868 * lpfc_debugfs_dumpHostSlim_open - Open the Dump Host SLIM debugfs buffer
870 * @inode: The inode pointer that contains a vport pointer. 869 * @inode: The inode pointer that contains a vport pointer.
871 * @file: The file pointer to attach the log output. 870 * @file: The file pointer to attach the log output.
872 * 871 *
@@ -993,7 +992,7 @@ lpfc_debugfs_dumpDataDif_write(struct file *file, const char __user *buf,
993 992
994 993
995/** 994/**
996 * lpfc_debugfs_nodelist_open - Open the nodelist debugfs file. 995 * lpfc_debugfs_nodelist_open - Open the nodelist debugfs file
997 * @inode: The inode pointer that contains a vport pointer. 996 * @inode: The inode pointer that contains a vport pointer.
998 * @file: The file pointer to attach the log output. 997 * @file: The file pointer to attach the log output.
999 * 998 *
@@ -1035,7 +1034,7 @@ out:
1035} 1034}
1036 1035
1037/** 1036/**
1038 * lpfc_debugfs_lseek - Seek through a debugfs file. 1037 * lpfc_debugfs_lseek - Seek through a debugfs file
1039 * @file: The file pointer to seek through. 1038 * @file: The file pointer to seek through.
1040 * @off: The offset to seek to or the amount to seek by. 1039 * @off: The offset to seek to or the amount to seek by.
1041 * @whence: Indicates how to seek. 1040 * @whence: Indicates how to seek.
@@ -1073,7 +1072,7 @@ lpfc_debugfs_lseek(struct file *file, loff_t off, int whence)
1073} 1072}
1074 1073
1075/** 1074/**
1076 * lpfc_debugfs_read - Read a debugfs file. 1075 * lpfc_debugfs_read - Read a debugfs file
1077 * @file: The file pointer to read from. 1076 * @file: The file pointer to read from.
1078 * @buf: The buffer to copy the data to. 1077 * @buf: The buffer to copy the data to.
1079 * @nbytes: The number of bytes to read. 1078 * @nbytes: The number of bytes to read.
@@ -1098,7 +1097,7 @@ lpfc_debugfs_read(struct file *file, char __user *buf,
1098} 1097}
1099 1098
1100/** 1099/**
1101 * lpfc_debugfs_release - Release the buffer used to store debugfs file data. 1100 * lpfc_debugfs_release - Release the buffer used to store debugfs file data
1102 * @inode: The inode pointer that contains a vport pointer. (unused) 1101 * @inode: The inode pointer that contains a vport pointer. (unused)
1103 * @file: The file pointer that contains the buffer to release. 1102 * @file: The file pointer that contains the buffer to release.
1104 * 1103 *
@@ -1210,7 +1209,7 @@ static atomic_t lpfc_debugfs_hba_count;
1210#endif 1209#endif
1211 1210
1212/** 1211/**
1213 * lpfc_debugfs_initialize - Initialize debugfs for a vport. 1212 * lpfc_debugfs_initialize - Initialize debugfs for a vport
1214 * @vport: The vport pointer to initialize. 1213 * @vport: The vport pointer to initialize.
1215 * 1214 *
1216 * Description: 1215 * Description:
@@ -1434,7 +1433,7 @@ debug_failed:
1434} 1433}
1435 1434
1436/** 1435/**
1437 * lpfc_debugfs_terminate - Tear down debugfs infrastructure for this vport. 1436 * lpfc_debugfs_terminate - Tear down debugfs infrastructure for this vport
1438 * @vport: The vport pointer to remove from debugfs. 1437 * @vport: The vport pointer to remove from debugfs.
1439 * 1438 *
1440 * Description: 1439 * Description:
diff --git a/drivers/scsi/lpfc/lpfc_disc.h b/drivers/scsi/lpfc/lpfc_disc.h
index f29e548a90d1..ffd108972072 100644
--- a/drivers/scsi/lpfc/lpfc_disc.h
+++ b/drivers/scsi/lpfc/lpfc_disc.h
@@ -99,6 +99,7 @@ struct lpfc_nodelist {
99#define NLP_USG_FREE_ACK_BIT 0x8 /* Indicate ndlp memory free invoked */ 99#define NLP_USG_FREE_ACK_BIT 0x8 /* Indicate ndlp memory free invoked */
100 100
101 struct timer_list nlp_delayfunc; /* Used for delayed ELS cmds */ 101 struct timer_list nlp_delayfunc; /* Used for delayed ELS cmds */
102 struct lpfc_hba *phba;
102 struct fc_rport *rport; /* Corresponding FC transport 103 struct fc_rport *rport; /* Corresponding FC transport
103 port structure */ 104 port structure */
104 struct lpfc_vport *vport; 105 struct lpfc_vport *vport;
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index a7302480bc4a..b8b34cf5c3d2 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -55,7 +55,7 @@ static void lpfc_register_new_vport(struct lpfc_hba *phba,
55static int lpfc_max_els_tries = 3; 55static int lpfc_max_els_tries = 3;
56 56
57/** 57/**
58 * lpfc_els_chk_latt: Check host link attention event for a vport. 58 * lpfc_els_chk_latt - Check host link attention event for a vport
59 * @vport: pointer to a host virtual N_Port data structure. 59 * @vport: pointer to a host virtual N_Port data structure.
60 * 60 *
61 * This routine checks whether there is an outstanding host link 61 * This routine checks whether there is an outstanding host link
@@ -116,7 +116,7 @@ lpfc_els_chk_latt(struct lpfc_vport *vport)
116} 116}
117 117
118/** 118/**
119 * lpfc_prep_els_iocb: Allocate and prepare a lpfc iocb data structure. 119 * lpfc_prep_els_iocb - Allocate and prepare a lpfc iocb data structure
120 * @vport: pointer to a host virtual N_Port data structure. 120 * @vport: pointer to a host virtual N_Port data structure.
121 * @expectRsp: flag indicating whether response is expected. 121 * @expectRsp: flag indicating whether response is expected.
122 * @cmdSize: size of the ELS command. 122 * @cmdSize: size of the ELS command.
@@ -290,7 +290,7 @@ els_iocb_free_pcmb_exit:
290} 290}
291 291
292/** 292/**
293 * lpfc_issue_fabric_reglogin: Issue fabric registration login for a vport. 293 * lpfc_issue_fabric_reglogin - Issue fabric registration login for a vport
294 * @vport: pointer to a host virtual N_Port data structure. 294 * @vport: pointer to a host virtual N_Port data structure.
295 * 295 *
296 * This routine issues a fabric registration login for a @vport. An 296 * This routine issues a fabric registration login for a @vport. An
@@ -386,7 +386,7 @@ fail:
386} 386}
387 387
388/** 388/**
389 * lpfc_cmpl_els_flogi_fabric: Completion function for flogi to a fabric port. 389 * lpfc_cmpl_els_flogi_fabric - Completion function for flogi to a fabric port
390 * @vport: pointer to a host virtual N_Port data structure. 390 * @vport: pointer to a host virtual N_Port data structure.
391 * @ndlp: pointer to a node-list data structure. 391 * @ndlp: pointer to a node-list data structure.
392 * @sp: pointer to service parameter data structure. 392 * @sp: pointer to service parameter data structure.
@@ -509,7 +509,7 @@ lpfc_cmpl_els_flogi_fabric(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
509} 509}
510 510
511/** 511/**
512 * lpfc_cmpl_els_flogi_nport: Completion function for flogi to an N_Port. 512 * lpfc_cmpl_els_flogi_nport - Completion function for flogi to an N_Port
513 * @vport: pointer to a host virtual N_Port data structure. 513 * @vport: pointer to a host virtual N_Port data structure.
514 * @ndlp: pointer to a node-list data structure. 514 * @ndlp: pointer to a node-list data structure.
515 * @sp: pointer to service parameter data structure. 515 * @sp: pointer to service parameter data structure.
@@ -626,7 +626,7 @@ fail:
626} 626}
627 627
628/** 628/**
629 * lpfc_cmpl_els_flogi: Completion callback function for flogi. 629 * lpfc_cmpl_els_flogi - Completion callback function for flogi
630 * @phba: pointer to lpfc hba data structure. 630 * @phba: pointer to lpfc hba data structure.
631 * @cmdiocb: pointer to lpfc command iocb data structure. 631 * @cmdiocb: pointer to lpfc command iocb data structure.
632 * @rspiocb: pointer to lpfc response iocb data structure. 632 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -751,7 +751,7 @@ out:
751} 751}
752 752
753/** 753/**
754 * lpfc_issue_els_flogi: Issue an flogi iocb command for a vport. 754 * lpfc_issue_els_flogi - Issue an flogi iocb command for a vport
755 * @vport: pointer to a host virtual N_Port data structure. 755 * @vport: pointer to a host virtual N_Port data structure.
756 * @ndlp: pointer to a node-list data structure. 756 * @ndlp: pointer to a node-list data structure.
757 * @retry: number of retries to the command IOCB. 757 * @retry: number of retries to the command IOCB.
@@ -849,7 +849,7 @@ lpfc_issue_els_flogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
849} 849}
850 850
851/** 851/**
852 * lpfc_els_abort_flogi: Abort all outstanding flogi iocbs. 852 * lpfc_els_abort_flogi - Abort all outstanding flogi iocbs
853 * @phba: pointer to lpfc hba data structure. 853 * @phba: pointer to lpfc hba data structure.
854 * 854 *
855 * This routine aborts all the outstanding Fabric Login (FLOGI) IOCBs 855 * This routine aborts all the outstanding Fabric Login (FLOGI) IOCBs
@@ -898,7 +898,7 @@ lpfc_els_abort_flogi(struct lpfc_hba *phba)
898} 898}
899 899
900/** 900/**
901 * lpfc_initial_flogi: Issue an initial fabric login for a vport. 901 * lpfc_initial_flogi - Issue an initial fabric login for a vport
902 * @vport: pointer to a host virtual N_Port data structure. 902 * @vport: pointer to a host virtual N_Port data structure.
903 * 903 *
904 * This routine issues an initial Fabric Login (FLOGI) for the @vport 904 * This routine issues an initial Fabric Login (FLOGI) for the @vport
@@ -949,7 +949,7 @@ lpfc_initial_flogi(struct lpfc_vport *vport)
949} 949}
950 950
951/** 951/**
952 * lpfc_initial_fdisc: Issue an initial fabric discovery for a vport. 952 * lpfc_initial_fdisc - Issue an initial fabric discovery for a vport
953 * @vport: pointer to a host virtual N_Port data structure. 953 * @vport: pointer to a host virtual N_Port data structure.
954 * 954 *
955 * This routine issues an initial Fabric Discover (FDISC) for the @vport 955 * This routine issues an initial Fabric Discover (FDISC) for the @vport
@@ -998,7 +998,7 @@ lpfc_initial_fdisc(struct lpfc_vport *vport)
998} 998}
999 999
1000/** 1000/**
1001 * lpfc_more_plogi: Check and issue remaining plogis for a vport. 1001 * lpfc_more_plogi - Check and issue remaining plogis for a vport
1002 * @vport: pointer to a host virtual N_Port data structure. 1002 * @vport: pointer to a host virtual N_Port data structure.
1003 * 1003 *
1004 * This routine checks whether there are more remaining Port Logins 1004 * This routine checks whether there are more remaining Port Logins
@@ -1031,7 +1031,7 @@ lpfc_more_plogi(struct lpfc_vport *vport)
1031} 1031}
1032 1032
1033/** 1033/**
1034 * lpfc_plogi_confirm_nport: Confirm pologi wwpn matches stored ndlp. 1034 * lpfc_plogi_confirm_nport - Confirm pologi wwpn matches stored ndlp
1035 * @phba: pointer to lpfc hba data structure. 1035 * @phba: pointer to lpfc hba data structure.
1036 * @prsp: pointer to response IOCB payload. 1036 * @prsp: pointer to response IOCB payload.
1037 * @ndlp: pointer to a node-list data structure. 1037 * @ndlp: pointer to a node-list data structure.
@@ -1165,7 +1165,7 @@ lpfc_plogi_confirm_nport(struct lpfc_hba *phba, uint32_t *prsp,
1165} 1165}
1166 1166
1167/** 1167/**
1168 * lpfc_end_rscn: Check and handle more rscn for a vport. 1168 * lpfc_end_rscn - Check and handle more rscn for a vport
1169 * @vport: pointer to a host virtual N_Port data structure. 1169 * @vport: pointer to a host virtual N_Port data structure.
1170 * 1170 *
1171 * This routine checks whether more Registration State Change 1171 * This routine checks whether more Registration State Change
@@ -1197,7 +1197,7 @@ lpfc_end_rscn(struct lpfc_vport *vport)
1197} 1197}
1198 1198
1199/** 1199/**
1200 * lpfc_cmpl_els_plogi: Completion callback function for plogi. 1200 * lpfc_cmpl_els_plogi - Completion callback function for plogi
1201 * @phba: pointer to lpfc hba data structure. 1201 * @phba: pointer to lpfc hba data structure.
1202 * @cmdiocb: pointer to lpfc command iocb data structure. 1202 * @cmdiocb: pointer to lpfc command iocb data structure.
1203 * @rspiocb: pointer to lpfc response iocb data structure. 1203 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -1322,7 +1322,7 @@ out:
1322} 1322}
1323 1323
1324/** 1324/**
1325 * lpfc_issue_els_plogi: Issue an plogi iocb command for a vport. 1325 * lpfc_issue_els_plogi - Issue an plogi iocb command for a vport
1326 * @vport: pointer to a host virtual N_Port data structure. 1326 * @vport: pointer to a host virtual N_Port data structure.
1327 * @did: destination port identifier. 1327 * @did: destination port identifier.
1328 * @retry: number of retries to the command IOCB. 1328 * @retry: number of retries to the command IOCB.
@@ -1401,7 +1401,7 @@ lpfc_issue_els_plogi(struct lpfc_vport *vport, uint32_t did, uint8_t retry)
1401} 1401}
1402 1402
1403/** 1403/**
1404 * lpfc_cmpl_els_prli: Completion callback function for prli. 1404 * lpfc_cmpl_els_prli - Completion callback function for prli
1405 * @phba: pointer to lpfc hba data structure. 1405 * @phba: pointer to lpfc hba data structure.
1406 * @cmdiocb: pointer to lpfc command iocb data structure. 1406 * @cmdiocb: pointer to lpfc command iocb data structure.
1407 * @rspiocb: pointer to lpfc response iocb data structure. 1407 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -1472,7 +1472,7 @@ out:
1472} 1472}
1473 1473
1474/** 1474/**
1475 * lpfc_issue_els_prli: Issue a prli iocb command for a vport. 1475 * lpfc_issue_els_prli - Issue a prli iocb command for a vport
1476 * @vport: pointer to a host virtual N_Port data structure. 1476 * @vport: pointer to a host virtual N_Port data structure.
1477 * @ndlp: pointer to a node-list data structure. 1477 * @ndlp: pointer to a node-list data structure.
1478 * @retry: number of retries to the command IOCB. 1478 * @retry: number of retries to the command IOCB.
@@ -1562,7 +1562,7 @@ lpfc_issue_els_prli(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
1562} 1562}
1563 1563
1564/** 1564/**
1565 * lpfc_rscn_disc: Perform rscn discovery for a vport. 1565 * lpfc_rscn_disc - Perform rscn discovery for a vport
1566 * @vport: pointer to a host virtual N_Port data structure. 1566 * @vport: pointer to a host virtual N_Port data structure.
1567 * 1567 *
1568 * This routine performs Registration State Change Notification (RSCN) 1568 * This routine performs Registration State Change Notification (RSCN)
@@ -1588,7 +1588,7 @@ lpfc_rscn_disc(struct lpfc_vport *vport)
1588} 1588}
1589 1589
1590/** 1590/**
1591 * lpfc_adisc_done: Complete the adisc phase of discovery. 1591 * lpfc_adisc_done - Complete the adisc phase of discovery
1592 * @vport: pointer to lpfc_vport hba data structure that finished all ADISCs. 1592 * @vport: pointer to lpfc_vport hba data structure that finished all ADISCs.
1593 * 1593 *
1594 * This function is called when the final ADISC is completed during discovery. 1594 * This function is called when the final ADISC is completed during discovery.
@@ -1639,7 +1639,7 @@ lpfc_adisc_done(struct lpfc_vport *vport)
1639} 1639}
1640 1640
1641/** 1641/**
1642 * lpfc_more_adisc: Issue more adisc as needed. 1642 * lpfc_more_adisc - Issue more adisc as needed
1643 * @vport: pointer to a host virtual N_Port data structure. 1643 * @vport: pointer to a host virtual N_Port data structure.
1644 * 1644 *
1645 * This routine determines whether there are more ndlps on a @vport 1645 * This routine determines whether there are more ndlps on a @vport
@@ -1672,7 +1672,7 @@ lpfc_more_adisc(struct lpfc_vport *vport)
1672} 1672}
1673 1673
1674/** 1674/**
1675 * lpfc_cmpl_els_adisc: Completion callback function for adisc. 1675 * lpfc_cmpl_els_adisc - Completion callback function for adisc
1676 * @phba: pointer to lpfc hba data structure. 1676 * @phba: pointer to lpfc hba data structure.
1677 * @cmdiocb: pointer to lpfc command iocb data structure. 1677 * @cmdiocb: pointer to lpfc command iocb data structure.
1678 * @rspiocb: pointer to lpfc response iocb data structure. 1678 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -1760,7 +1760,7 @@ out:
1760} 1760}
1761 1761
1762/** 1762/**
1763 * lpfc_issue_els_adisc: Issue an address discover iocb to an node on a vport. 1763 * lpfc_issue_els_adisc - Issue an address discover iocb to an node on a vport
1764 * @vport: pointer to a virtual N_Port data structure. 1764 * @vport: pointer to a virtual N_Port data structure.
1765 * @ndlp: pointer to a node-list data structure. 1765 * @ndlp: pointer to a node-list data structure.
1766 * @retry: number of retries to the command IOCB. 1766 * @retry: number of retries to the command IOCB.
@@ -1833,7 +1833,7 @@ lpfc_issue_els_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
1833} 1833}
1834 1834
1835/** 1835/**
1836 * lpfc_cmpl_els_logo: Completion callback function for logo. 1836 * lpfc_cmpl_els_logo - Completion callback function for logo
1837 * @phba: pointer to lpfc hba data structure. 1837 * @phba: pointer to lpfc hba data structure.
1838 * @cmdiocb: pointer to lpfc command iocb data structure. 1838 * @cmdiocb: pointer to lpfc command iocb data structure.
1839 * @rspiocb: pointer to lpfc response iocb data structure. 1839 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -1910,7 +1910,7 @@ out:
1910} 1910}
1911 1911
1912/** 1912/**
1913 * lpfc_issue_els_logo: Issue a logo to an node on a vport. 1913 * lpfc_issue_els_logo - Issue a logo to an node on a vport
1914 * @vport: pointer to a virtual N_Port data structure. 1914 * @vport: pointer to a virtual N_Port data structure.
1915 * @ndlp: pointer to a node-list data structure. 1915 * @ndlp: pointer to a node-list data structure.
1916 * @retry: number of retries to the command IOCB. 1916 * @retry: number of retries to the command IOCB.
@@ -1991,7 +1991,7 @@ lpfc_issue_els_logo(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
1991} 1991}
1992 1992
1993/** 1993/**
1994 * lpfc_cmpl_els_cmd: Completion callback function for generic els command. 1994 * lpfc_cmpl_els_cmd - Completion callback function for generic els command
1995 * @phba: pointer to lpfc hba data structure. 1995 * @phba: pointer to lpfc hba data structure.
1996 * @cmdiocb: pointer to lpfc command iocb data structure. 1996 * @cmdiocb: pointer to lpfc command iocb data structure.
1997 * @rspiocb: pointer to lpfc response iocb data structure. 1997 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -2031,7 +2031,7 @@ lpfc_cmpl_els_cmd(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
2031} 2031}
2032 2032
2033/** 2033/**
2034 * lpfc_issue_els_scr: Issue a scr to an node on a vport. 2034 * lpfc_issue_els_scr - Issue a scr to an node on a vport
2035 * @vport: pointer to a host virtual N_Port data structure. 2035 * @vport: pointer to a host virtual N_Port data structure.
2036 * @nportid: N_Port identifier to the remote node. 2036 * @nportid: N_Port identifier to the remote node.
2037 * @retry: number of retries to the command IOCB. 2037 * @retry: number of retries to the command IOCB.
@@ -2125,7 +2125,7 @@ lpfc_issue_els_scr(struct lpfc_vport *vport, uint32_t nportid, uint8_t retry)
2125} 2125}
2126 2126
2127/** 2127/**
2128 * lpfc_issue_els_farpr: Issue a farp to an node on a vport. 2128 * lpfc_issue_els_farpr - Issue a farp to an node on a vport
2129 * @vport: pointer to a host virtual N_Port data structure. 2129 * @vport: pointer to a host virtual N_Port data structure.
2130 * @nportid: N_Port identifier to the remote node. 2130 * @nportid: N_Port identifier to the remote node.
2131 * @retry: number of retries to the command IOCB. 2131 * @retry: number of retries to the command IOCB.
@@ -2236,7 +2236,7 @@ lpfc_issue_els_farpr(struct lpfc_vport *vport, uint32_t nportid, uint8_t retry)
2236} 2236}
2237 2237
2238/** 2238/**
2239 * lpfc_cancel_retry_delay_tmo: Cancel the timer with delayed iocb-cmd retry. 2239 * lpfc_cancel_retry_delay_tmo - Cancel the timer with delayed iocb-cmd retry
2240 * @vport: pointer to a host virtual N_Port data structure. 2240 * @vport: pointer to a host virtual N_Port data structure.
2241 * @nlp: pointer to a node-list data structure. 2241 * @nlp: pointer to a node-list data structure.
2242 * 2242 *
@@ -2291,7 +2291,7 @@ lpfc_cancel_retry_delay_tmo(struct lpfc_vport *vport, struct lpfc_nodelist *nlp)
2291} 2291}
2292 2292
2293/** 2293/**
2294 * lpfc_els_retry_delay: Timer function with a ndlp delayed function timer. 2294 * lpfc_els_retry_delay - Timer function with a ndlp delayed function timer
2295 * @ptr: holder for the pointer to the timer function associated data (ndlp). 2295 * @ptr: holder for the pointer to the timer function associated data (ndlp).
2296 * 2296 *
2297 * This routine is invoked by the ndlp delayed-function timer to check 2297 * This routine is invoked by the ndlp delayed-function timer to check
@@ -2333,7 +2333,7 @@ lpfc_els_retry_delay(unsigned long ptr)
2333} 2333}
2334 2334
2335/** 2335/**
2336 * lpfc_els_retry_delay_handler: Work thread handler for ndlp delayed function. 2336 * lpfc_els_retry_delay_handler - Work thread handler for ndlp delayed function
2337 * @ndlp: pointer to a node-list data structure. 2337 * @ndlp: pointer to a node-list data structure.
2338 * 2338 *
2339 * This routine is the worker-thread handler for processing the @ndlp delayed 2339 * This routine is the worker-thread handler for processing the @ndlp delayed
@@ -2404,7 +2404,7 @@ lpfc_els_retry_delay_handler(struct lpfc_nodelist *ndlp)
2404} 2404}
2405 2405
2406/** 2406/**
2407 * lpfc_els_retry: Make retry decision on an els command iocb. 2407 * lpfc_els_retry - Make retry decision on an els command iocb
2408 * @phba: pointer to lpfc hba data structure. 2408 * @phba: pointer to lpfc hba data structure.
2409 * @cmdiocb: pointer to lpfc command iocb data structure. 2409 * @cmdiocb: pointer to lpfc command iocb data structure.
2410 * @rspiocb: pointer to lpfc response iocb data structure. 2410 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -2732,7 +2732,7 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
2732} 2732}
2733 2733
2734/** 2734/**
2735 * lpfc_els_free_data: Free lpfc dma buffer and data structure with an iocb. 2735 * lpfc_els_free_data - Free lpfc dma buffer and data structure with an iocb
2736 * @phba: pointer to lpfc hba data structure. 2736 * @phba: pointer to lpfc hba data structure.
2737 * @buf_ptr1: pointer to the lpfc DMA buffer data structure. 2737 * @buf_ptr1: pointer to the lpfc DMA buffer data structure.
2738 * 2738 *
@@ -2764,7 +2764,7 @@ lpfc_els_free_data(struct lpfc_hba *phba, struct lpfc_dmabuf *buf_ptr1)
2764} 2764}
2765 2765
2766/** 2766/**
2767 * lpfc_els_free_bpl: Free lpfc dma buffer and data structure with bpl. 2767 * lpfc_els_free_bpl - Free lpfc dma buffer and data structure with bpl
2768 * @phba: pointer to lpfc hba data structure. 2768 * @phba: pointer to lpfc hba data structure.
2769 * @buf_ptr: pointer to the lpfc dma buffer data structure. 2769 * @buf_ptr: pointer to the lpfc dma buffer data structure.
2770 * 2770 *
@@ -2784,7 +2784,7 @@ lpfc_els_free_bpl(struct lpfc_hba *phba, struct lpfc_dmabuf *buf_ptr)
2784} 2784}
2785 2785
2786/** 2786/**
2787 * lpfc_els_free_iocb: Free a command iocb and its associated resources. 2787 * lpfc_els_free_iocb - Free a command iocb and its associated resources
2788 * @phba: pointer to lpfc hba data structure. 2788 * @phba: pointer to lpfc hba data structure.
2789 * @elsiocb: pointer to lpfc els command iocb data structure. 2789 * @elsiocb: pointer to lpfc els command iocb data structure.
2790 * 2790 *
@@ -2877,7 +2877,7 @@ lpfc_els_free_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *elsiocb)
2877} 2877}
2878 2878
2879/** 2879/**
2880 * lpfc_cmpl_els_logo_acc: Completion callback function to logo acc response. 2880 * lpfc_cmpl_els_logo_acc - Completion callback function to logo acc response
2881 * @phba: pointer to lpfc hba data structure. 2881 * @phba: pointer to lpfc hba data structure.
2882 * @cmdiocb: pointer to lpfc command iocb data structure. 2882 * @cmdiocb: pointer to lpfc command iocb data structure.
2883 * @rspiocb: pointer to lpfc response iocb data structure. 2883 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -2931,7 +2931,7 @@ lpfc_cmpl_els_logo_acc(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
2931} 2931}
2932 2932
2933/** 2933/**
2934 * lpfc_mbx_cmpl_dflt_rpi: Completion callbk func for unreg dflt rpi mbox cmd. 2934 * lpfc_mbx_cmpl_dflt_rpi - Completion callbk func for unreg dflt rpi mbox cmd
2935 * @phba: pointer to lpfc hba data structure. 2935 * @phba: pointer to lpfc hba data structure.
2936 * @pmb: pointer to the driver internal queue element for mailbox command. 2936 * @pmb: pointer to the driver internal queue element for mailbox command.
2937 * 2937 *
@@ -2965,7 +2965,7 @@ lpfc_mbx_cmpl_dflt_rpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
2965} 2965}
2966 2966
2967/** 2967/**
2968 * lpfc_cmpl_els_rsp: Completion callback function for els response iocb cmd. 2968 * lpfc_cmpl_els_rsp - Completion callback function for els response iocb cmd
2969 * @phba: pointer to lpfc hba data structure. 2969 * @phba: pointer to lpfc hba data structure.
2970 * @cmdiocb: pointer to lpfc command iocb data structure. 2970 * @cmdiocb: pointer to lpfc command iocb data structure.
2971 * @rspiocb: pointer to lpfc response iocb data structure. 2971 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -3136,7 +3136,7 @@ out:
3136} 3136}
3137 3137
3138/** 3138/**
3139 * lpfc_els_rsp_acc: Prepare and issue an acc response iocb command. 3139 * lpfc_els_rsp_acc - Prepare and issue an acc response iocb command
3140 * @vport: pointer to a host virtual N_Port data structure. 3140 * @vport: pointer to a host virtual N_Port data structure.
3141 * @flag: the els command code to be accepted. 3141 * @flag: the els command code to be accepted.
3142 * @oldiocb: pointer to the original lpfc command iocb data structure. 3142 * @oldiocb: pointer to the original lpfc command iocb data structure.
@@ -3275,7 +3275,7 @@ lpfc_els_rsp_acc(struct lpfc_vport *vport, uint32_t flag,
3275} 3275}
3276 3276
3277/** 3277/**
3278 * lpfc_els_rsp_reject: Propare and issue a rjt response iocb command. 3278 * lpfc_els_rsp_reject - Propare and issue a rjt response iocb command
3279 * @vport: pointer to a virtual N_Port data structure. 3279 * @vport: pointer to a virtual N_Port data structure.
3280 * @rejectError: 3280 * @rejectError:
3281 * @oldiocb: pointer to the original lpfc command iocb data structure. 3281 * @oldiocb: pointer to the original lpfc command iocb data structure.
@@ -3356,7 +3356,7 @@ lpfc_els_rsp_reject(struct lpfc_vport *vport, uint32_t rejectError,
3356} 3356}
3357 3357
3358/** 3358/**
3359 * lpfc_els_rsp_adisc_acc: Prepare and issue acc response to adisc iocb cmd. 3359 * lpfc_els_rsp_adisc_acc - Prepare and issue acc response to adisc iocb cmd
3360 * @vport: pointer to a virtual N_Port data structure. 3360 * @vport: pointer to a virtual N_Port data structure.
3361 * @oldiocb: pointer to the original lpfc command iocb data structure. 3361 * @oldiocb: pointer to the original lpfc command iocb data structure.
3362 * @ndlp: pointer to a node-list data structure. 3362 * @ndlp: pointer to a node-list data structure.
@@ -3431,7 +3431,7 @@ lpfc_els_rsp_adisc_acc(struct lpfc_vport *vport, struct lpfc_iocbq *oldiocb,
3431} 3431}
3432 3432
3433/** 3433/**
3434 * lpfc_els_rsp_prli_acc: Prepare and issue acc response to prli iocb cmd. 3434 * lpfc_els_rsp_prli_acc - Prepare and issue acc response to prli iocb cmd
3435 * @vport: pointer to a virtual N_Port data structure. 3435 * @vport: pointer to a virtual N_Port data structure.
3436 * @oldiocb: pointer to the original lpfc command iocb data structure. 3436 * @oldiocb: pointer to the original lpfc command iocb data structure.
3437 * @ndlp: pointer to a node-list data structure. 3437 * @ndlp: pointer to a node-list data structure.
@@ -3529,7 +3529,7 @@ lpfc_els_rsp_prli_acc(struct lpfc_vport *vport, struct lpfc_iocbq *oldiocb,
3529} 3529}
3530 3530
3531/** 3531/**
3532 * lpfc_els_rsp_rnid_acc: Issue rnid acc response iocb command. 3532 * lpfc_els_rsp_rnid_acc - Issue rnid acc response iocb command
3533 * @vport: pointer to a virtual N_Port data structure. 3533 * @vport: pointer to a virtual N_Port data structure.
3534 * @format: rnid command format. 3534 * @format: rnid command format.
3535 * @oldiocb: pointer to the original lpfc command iocb data structure. 3535 * @oldiocb: pointer to the original lpfc command iocb data structure.
@@ -3635,7 +3635,7 @@ lpfc_els_rsp_rnid_acc(struct lpfc_vport *vport, uint8_t format,
3635} 3635}
3636 3636
3637/** 3637/**
3638 * lpfc_els_disc_adisc: Issue remaining adisc iocbs to npr nodes of a vport. 3638 * lpfc_els_disc_adisc - Issue remaining adisc iocbs to npr nodes of a vport
3639 * @vport: pointer to a host virtual N_Port data structure. 3639 * @vport: pointer to a host virtual N_Port data structure.
3640 * 3640 *
3641 * This routine issues Address Discover (ADISC) ELS commands to those 3641 * This routine issues Address Discover (ADISC) ELS commands to those
@@ -3693,7 +3693,7 @@ lpfc_els_disc_adisc(struct lpfc_vport *vport)
3693} 3693}
3694 3694
3695/** 3695/**
3696 * lpfc_els_disc_plogi: Issue plogi for all npr nodes of a vport before adisc. 3696 * lpfc_els_disc_plogi - Issue plogi for all npr nodes of a vport before adisc
3697 * @vport: pointer to a host virtual N_Port data structure. 3697 * @vport: pointer to a host virtual N_Port data structure.
3698 * 3698 *
3699 * This routine issues Port Login (PLOGI) ELS commands to all the N_Ports 3699 * This routine issues Port Login (PLOGI) ELS commands to all the N_Ports
@@ -3752,7 +3752,7 @@ lpfc_els_disc_plogi(struct lpfc_vport *vport)
3752} 3752}
3753 3753
3754/** 3754/**
3755 * lpfc_els_flush_rscn: Clean up any rscn activities with a vport. 3755 * lpfc_els_flush_rscn - Clean up any rscn activities with a vport
3756 * @vport: pointer to a host virtual N_Port data structure. 3756 * @vport: pointer to a host virtual N_Port data structure.
3757 * 3757 *
3758 * This routine cleans up any Registration State Change Notification 3758 * This routine cleans up any Registration State Change Notification
@@ -3791,7 +3791,7 @@ lpfc_els_flush_rscn(struct lpfc_vport *vport)
3791} 3791}
3792 3792
3793/** 3793/**
3794 * lpfc_rscn_payload_check: Check whether there is a pending rscn to a did. 3794 * lpfc_rscn_payload_check - Check whether there is a pending rscn to a did
3795 * @vport: pointer to a host virtual N_Port data structure. 3795 * @vport: pointer to a host virtual N_Port data structure.
3796 * @did: remote destination port identifier. 3796 * @did: remote destination port identifier.
3797 * 3797 *
@@ -3866,7 +3866,7 @@ return_did_out:
3866} 3866}
3867 3867
3868/** 3868/**
3869 * lpfc_rscn_recovery_check: Send recovery event to vport nodes matching rscn 3869 * lpfc_rscn_recovery_check - Send recovery event to vport nodes matching rscn
3870 * @vport: pointer to a host virtual N_Port data structure. 3870 * @vport: pointer to a host virtual N_Port data structure.
3871 * 3871 *
3872 * This routine sends recovery (NLP_EVT_DEVICE_RECOVERY) event to the 3872 * This routine sends recovery (NLP_EVT_DEVICE_RECOVERY) event to the
@@ -3895,7 +3895,7 @@ lpfc_rscn_recovery_check(struct lpfc_vport *vport)
3895} 3895}
3896 3896
3897/** 3897/**
3898 * lpfc_send_rscn_event: Send an RSCN event to management application. 3898 * lpfc_send_rscn_event - Send an RSCN event to management application
3899 * @vport: pointer to a host virtual N_Port data structure. 3899 * @vport: pointer to a host virtual N_Port data structure.
3900 * @cmdiocb: pointer to lpfc command iocb data structure. 3900 * @cmdiocb: pointer to lpfc command iocb data structure.
3901 * 3901 *
@@ -3938,7 +3938,7 @@ lpfc_send_rscn_event(struct lpfc_vport *vport,
3938} 3938}
3939 3939
3940/** 3940/**
3941 * lpfc_els_rcv_rscn: Process an unsolicited rscn iocb. 3941 * lpfc_els_rcv_rscn - Process an unsolicited rscn iocb
3942 * @vport: pointer to a host virtual N_Port data structure. 3942 * @vport: pointer to a host virtual N_Port data structure.
3943 * @cmdiocb: pointer to lpfc command iocb data structure. 3943 * @cmdiocb: pointer to lpfc command iocb data structure.
3944 * @ndlp: pointer to a node-list data structure. 3944 * @ndlp: pointer to a node-list data structure.
@@ -4134,7 +4134,7 @@ lpfc_els_rcv_rscn(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
4134} 4134}
4135 4135
4136/** 4136/**
4137 * lpfc_els_handle_rscn: Handle rscn for a vport. 4137 * lpfc_els_handle_rscn - Handle rscn for a vport
4138 * @vport: pointer to a host virtual N_Port data structure. 4138 * @vport: pointer to a host virtual N_Port data structure.
4139 * 4139 *
4140 * This routine handles the Registration State Configuration Notification 4140 * This routine handles the Registration State Configuration Notification
@@ -4222,7 +4222,7 @@ lpfc_els_handle_rscn(struct lpfc_vport *vport)
4222} 4222}
4223 4223
4224/** 4224/**
4225 * lpfc_els_rcv_flogi: Process an unsolicited flogi iocb. 4225 * lpfc_els_rcv_flogi - Process an unsolicited flogi iocb
4226 * @vport: pointer to a host virtual N_Port data structure. 4226 * @vport: pointer to a host virtual N_Port data structure.
4227 * @cmdiocb: pointer to lpfc command iocb data structure. 4227 * @cmdiocb: pointer to lpfc command iocb data structure.
4228 * @ndlp: pointer to a node-list data structure. 4228 * @ndlp: pointer to a node-list data structure.
@@ -4336,7 +4336,7 @@ lpfc_els_rcv_flogi(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
4336} 4336}
4337 4337
4338/** 4338/**
4339 * lpfc_els_rcv_rnid: Process an unsolicited rnid iocb. 4339 * lpfc_els_rcv_rnid - Process an unsolicited rnid iocb
4340 * @vport: pointer to a host virtual N_Port data structure. 4340 * @vport: pointer to a host virtual N_Port data structure.
4341 * @cmdiocb: pointer to lpfc command iocb data structure. 4341 * @cmdiocb: pointer to lpfc command iocb data structure.
4342 * @ndlp: pointer to a node-list data structure. 4342 * @ndlp: pointer to a node-list data structure.
@@ -4391,7 +4391,7 @@ lpfc_els_rcv_rnid(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
4391} 4391}
4392 4392
4393/** 4393/**
4394 * lpfc_els_rcv_lirr: Process an unsolicited lirr iocb. 4394 * lpfc_els_rcv_lirr - Process an unsolicited lirr iocb
4395 * @vport: pointer to a host virtual N_Port data structure. 4395 * @vport: pointer to a host virtual N_Port data structure.
4396 * @cmdiocb: pointer to lpfc command iocb data structure. 4396 * @cmdiocb: pointer to lpfc command iocb data structure.
4397 * @ndlp: pointer to a node-list data structure. 4397 * @ndlp: pointer to a node-list data structure.
@@ -4419,7 +4419,7 @@ lpfc_els_rcv_lirr(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
4419} 4419}
4420 4420
4421/** 4421/**
4422 * lpfc_els_rsp_rps_acc: Completion callbk func for MBX_READ_LNK_STAT mbox cmd. 4422 * lpfc_els_rsp_rps_acc - Completion callbk func for MBX_READ_LNK_STAT mbox cmd
4423 * @phba: pointer to lpfc hba data structure. 4423 * @phba: pointer to lpfc hba data structure.
4424 * @pmb: pointer to the driver internal queue element for mailbox command. 4424 * @pmb: pointer to the driver internal queue element for mailbox command.
4425 * 4425 *
@@ -4513,7 +4513,7 @@ lpfc_els_rsp_rps_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
4513} 4513}
4514 4514
4515/** 4515/**
4516 * lpfc_els_rcv_rps: Process an unsolicited rps iocb. 4516 * lpfc_els_rcv_rps - Process an unsolicited rps iocb
4517 * @vport: pointer to a host virtual N_Port data structure. 4517 * @vport: pointer to a host virtual N_Port data structure.
4518 * @cmdiocb: pointer to lpfc command iocb data structure. 4518 * @cmdiocb: pointer to lpfc command iocb data structure.
4519 * @ndlp: pointer to a node-list data structure. 4519 * @ndlp: pointer to a node-list data structure.
@@ -4590,7 +4590,7 @@ reject_out:
4590} 4590}
4591 4591
4592/** 4592/**
4593 * lpfc_els_rsp_rpl_acc: Issue an accept rpl els command. 4593 * lpfc_els_rsp_rpl_acc - Issue an accept rpl els command
4594 * @vport: pointer to a host virtual N_Port data structure. 4594 * @vport: pointer to a host virtual N_Port data structure.
4595 * @cmdsize: size of the ELS command. 4595 * @cmdsize: size of the ELS command.
4596 * @oldiocb: pointer to the original lpfc command iocb data structure. 4596 * @oldiocb: pointer to the original lpfc command iocb data structure.
@@ -4662,7 +4662,7 @@ lpfc_els_rsp_rpl_acc(struct lpfc_vport *vport, uint16_t cmdsize,
4662} 4662}
4663 4663
4664/** 4664/**
4665 * lpfc_els_rcv_rpl: Process an unsolicited rpl iocb. 4665 * lpfc_els_rcv_rpl - Process an unsolicited rpl iocb
4666 * @vport: pointer to a host virtual N_Port data structure. 4666 * @vport: pointer to a host virtual N_Port data structure.
4667 * @cmdiocb: pointer to lpfc command iocb data structure. 4667 * @cmdiocb: pointer to lpfc command iocb data structure.
4668 * @ndlp: pointer to a node-list data structure. 4668 * @ndlp: pointer to a node-list data structure.
@@ -4721,7 +4721,7 @@ lpfc_els_rcv_rpl(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
4721} 4721}
4722 4722
4723/** 4723/**
4724 * lpfc_els_rcv_farp: Process an unsolicited farp request els command. 4724 * lpfc_els_rcv_farp - Process an unsolicited farp request els command
4725 * @vport: pointer to a virtual N_Port data structure. 4725 * @vport: pointer to a virtual N_Port data structure.
4726 * @cmdiocb: pointer to lpfc command iocb data structure. 4726 * @cmdiocb: pointer to lpfc command iocb data structure.
4727 * @ndlp: pointer to a node-list data structure. 4727 * @ndlp: pointer to a node-list data structure.
@@ -4804,7 +4804,7 @@ lpfc_els_rcv_farp(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
4804} 4804}
4805 4805
4806/** 4806/**
4807 * lpfc_els_rcv_farpr: Process an unsolicited farp response iocb. 4807 * lpfc_els_rcv_farpr - Process an unsolicited farp response iocb
4808 * @vport: pointer to a host virtual N_Port data structure. 4808 * @vport: pointer to a host virtual N_Port data structure.
4809 * @cmdiocb: pointer to lpfc command iocb data structure. 4809 * @cmdiocb: pointer to lpfc command iocb data structure.
4810 * @ndlp: pointer to a node-list data structure. 4810 * @ndlp: pointer to a node-list data structure.
@@ -4842,7 +4842,7 @@ lpfc_els_rcv_farpr(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
4842} 4842}
4843 4843
4844/** 4844/**
4845 * lpfc_els_rcv_fan: Process an unsolicited fan iocb command. 4845 * lpfc_els_rcv_fan - Process an unsolicited fan iocb command
4846 * @vport: pointer to a host virtual N_Port data structure. 4846 * @vport: pointer to a host virtual N_Port data structure.
4847 * @cmdiocb: pointer to lpfc command iocb data structure. 4847 * @cmdiocb: pointer to lpfc command iocb data structure.
4848 * @fan_ndlp: pointer to a node-list data structure. 4848 * @fan_ndlp: pointer to a node-list data structure.
@@ -4890,7 +4890,7 @@ lpfc_els_rcv_fan(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb,
4890} 4890}
4891 4891
4892/** 4892/**
4893 * lpfc_els_timeout: Handler funciton to the els timer. 4893 * lpfc_els_timeout - Handler funciton to the els timer
4894 * @ptr: holder for the timer function associated data. 4894 * @ptr: holder for the timer function associated data.
4895 * 4895 *
4896 * This routine is invoked by the ELS timer after timeout. It posts the ELS 4896 * This routine is invoked by the ELS timer after timeout. It posts the ELS
@@ -4919,7 +4919,7 @@ lpfc_els_timeout(unsigned long ptr)
4919} 4919}
4920 4920
4921/** 4921/**
4922 * lpfc_els_timeout_handler: Process an els timeout event. 4922 * lpfc_els_timeout_handler - Process an els timeout event
4923 * @vport: pointer to a virtual N_Port data structure. 4923 * @vport: pointer to a virtual N_Port data structure.
4924 * 4924 *
4925 * This routine is the actual handler function that processes an ELS timeout 4925 * This routine is the actual handler function that processes an ELS timeout
@@ -4994,7 +4994,7 @@ lpfc_els_timeout_handler(struct lpfc_vport *vport)
4994} 4994}
4995 4995
4996/** 4996/**
4997 * lpfc_els_flush_cmd: Clean up the outstanding els commands to a vport. 4997 * lpfc_els_flush_cmd - Clean up the outstanding els commands to a vport
4998 * @vport: pointer to a host virtual N_Port data structure. 4998 * @vport: pointer to a host virtual N_Port data structure.
4999 * 4999 *
5000 * This routine is used to clean up all the outstanding ELS commands on a 5000 * This routine is used to clean up all the outstanding ELS commands on a
@@ -5058,25 +5058,15 @@ lpfc_els_flush_cmd(struct lpfc_vport *vport)
5058 } 5058 }
5059 spin_unlock_irq(&phba->hbalock); 5059 spin_unlock_irq(&phba->hbalock);
5060 5060
5061 while (!list_empty(&completions)) { 5061 /* Cancell all the IOCBs from the completions list */
5062 piocb = list_get_first(&completions, struct lpfc_iocbq, list); 5062 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
5063 cmd = &piocb->iocb; 5063 IOERR_SLI_ABORTED);
5064 list_del_init(&piocb->list);
5065
5066 if (!piocb->iocb_cmpl)
5067 lpfc_sli_release_iocbq(phba, piocb);
5068 else {
5069 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
5070 cmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
5071 (piocb->iocb_cmpl) (phba, piocb, piocb);
5072 }
5073 }
5074 5064
5075 return; 5065 return;
5076} 5066}
5077 5067
5078/** 5068/**
5079 * lpfc_els_flush_all_cmd: Clean up all the outstanding els commands to a HBA. 5069 * lpfc_els_flush_all_cmd - Clean up all the outstanding els commands to a HBA
5080 * @phba: pointer to lpfc hba data structure. 5070 * @phba: pointer to lpfc hba data structure.
5081 * 5071 *
5082 * This routine is used to clean up all the outstanding ELS commands on a 5072 * This routine is used to clean up all the outstanding ELS commands on a
@@ -5121,23 +5111,16 @@ lpfc_els_flush_all_cmd(struct lpfc_hba *phba)
5121 lpfc_sli_issue_abort_iotag(phba, pring, piocb); 5111 lpfc_sli_issue_abort_iotag(phba, pring, piocb);
5122 } 5112 }
5123 spin_unlock_irq(&phba->hbalock); 5113 spin_unlock_irq(&phba->hbalock);
5124 while (!list_empty(&completions)) { 5114
5125 piocb = list_get_first(&completions, struct lpfc_iocbq, list); 5115 /* Cancel all the IOCBs from the completions list */
5126 cmd = &piocb->iocb; 5116 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
5127 list_del_init(&piocb->list); 5117 IOERR_SLI_ABORTED);
5128 if (!piocb->iocb_cmpl) 5118
5129 lpfc_sli_release_iocbq(phba, piocb);
5130 else {
5131 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
5132 cmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
5133 (piocb->iocb_cmpl) (phba, piocb, piocb);
5134 }
5135 }
5136 return; 5119 return;
5137} 5120}
5138 5121
5139/** 5122/**
5140 * lpfc_send_els_failure_event: Posts an ELS command failure event. 5123 * lpfc_send_els_failure_event - Posts an ELS command failure event
5141 * @phba: Pointer to hba context object. 5124 * @phba: Pointer to hba context object.
5142 * @cmdiocbp: Pointer to command iocb which reported error. 5125 * @cmdiocbp: Pointer to command iocb which reported error.
5143 * @rspiocbp: Pointer to response iocb which reported error. 5126 * @rspiocbp: Pointer to response iocb which reported error.
@@ -5204,7 +5187,7 @@ lpfc_send_els_failure_event(struct lpfc_hba *phba,
5204} 5187}
5205 5188
5206/** 5189/**
5207 * lpfc_send_els_event: Posts unsolicited els event. 5190 * lpfc_send_els_event - Posts unsolicited els event
5208 * @vport: Pointer to vport object. 5191 * @vport: Pointer to vport object.
5209 * @ndlp: Pointer FC node object. 5192 * @ndlp: Pointer FC node object.
5210 * @cmd: ELS command code. 5193 * @cmd: ELS command code.
@@ -5284,7 +5267,7 @@ lpfc_send_els_event(struct lpfc_vport *vport,
5284 5267
5285 5268
5286/** 5269/**
5287 * lpfc_els_unsol_buffer: Process an unsolicited event data buffer. 5270 * lpfc_els_unsol_buffer - Process an unsolicited event data buffer
5288 * @phba: pointer to lpfc hba data structure. 5271 * @phba: pointer to lpfc hba data structure.
5289 * @pring: pointer to a SLI ring. 5272 * @pring: pointer to a SLI ring.
5290 * @vport: pointer to a host virtual N_Port data structure. 5273 * @vport: pointer to a host virtual N_Port data structure.
@@ -5592,7 +5575,7 @@ dropit:
5592} 5575}
5593 5576
5594/** 5577/**
5595 * lpfc_find_vport_by_vpid: Find a vport on a HBA through vport identifier. 5578 * lpfc_find_vport_by_vpid - Find a vport on a HBA through vport identifier
5596 * @phba: pointer to lpfc hba data structure. 5579 * @phba: pointer to lpfc hba data structure.
5597 * @vpi: host virtual N_Port identifier. 5580 * @vpi: host virtual N_Port identifier.
5598 * 5581 *
@@ -5622,7 +5605,7 @@ lpfc_find_vport_by_vpid(struct lpfc_hba *phba, uint16_t vpi)
5622} 5605}
5623 5606
5624/** 5607/**
5625 * lpfc_els_unsol_event: Process an unsolicited event from an els sli ring. 5608 * lpfc_els_unsol_event - Process an unsolicited event from an els sli ring
5626 * @phba: pointer to lpfc hba data structure. 5609 * @phba: pointer to lpfc hba data structure.
5627 * @pring: pointer to a SLI ring. 5610 * @pring: pointer to a SLI ring.
5628 * @elsiocb: pointer to lpfc els iocb data structure. 5611 * @elsiocb: pointer to lpfc els iocb data structure.
@@ -5710,7 +5693,7 @@ lpfc_els_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
5710} 5693}
5711 5694
5712/** 5695/**
5713 * lpfc_do_scr_ns_plogi: Issue a plogi to the name server for scr. 5696 * lpfc_do_scr_ns_plogi - Issue a plogi to the name server for scr
5714 * @phba: pointer to lpfc hba data structure. 5697 * @phba: pointer to lpfc hba data structure.
5715 * @vport: pointer to a virtual N_Port data structure. 5698 * @vport: pointer to a virtual N_Port data structure.
5716 * 5699 *
@@ -5781,7 +5764,7 @@ lpfc_do_scr_ns_plogi(struct lpfc_hba *phba, struct lpfc_vport *vport)
5781} 5764}
5782 5765
5783/** 5766/**
5784 * lpfc_cmpl_reg_new_vport: Completion callback function to register new vport. 5767 * lpfc_cmpl_reg_new_vport - Completion callback function to register new vport
5785 * @phba: pointer to lpfc hba data structure. 5768 * @phba: pointer to lpfc hba data structure.
5786 * @pmb: pointer to the driver internal queue element for mailbox command. 5769 * @pmb: pointer to the driver internal queue element for mailbox command.
5787 * 5770 *
@@ -5850,7 +5833,7 @@ lpfc_cmpl_reg_new_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
5850} 5833}
5851 5834
5852/** 5835/**
5853 * lpfc_register_new_vport: Register a new vport with a HBA. 5836 * lpfc_register_new_vport - Register a new vport with a HBA
5854 * @phba: pointer to lpfc hba data structure. 5837 * @phba: pointer to lpfc hba data structure.
5855 * @vport: pointer to a host virtual N_Port data structure. 5838 * @vport: pointer to a host virtual N_Port data structure.
5856 * @ndlp: pointer to a node-list data structure. 5839 * @ndlp: pointer to a node-list data structure.
@@ -5899,7 +5882,7 @@ mbox_err_exit:
5899} 5882}
5900 5883
5901/** 5884/**
5902 * lpfc_cmpl_els_fdisc: Completion function for fdisc iocb command. 5885 * lpfc_cmpl_els_fdisc - Completion function for fdisc iocb command
5903 * @phba: pointer to lpfc hba data structure. 5886 * @phba: pointer to lpfc hba data structure.
5904 * @cmdiocb: pointer to lpfc command iocb data structure. 5887 * @cmdiocb: pointer to lpfc command iocb data structure.
5905 * @rspiocb: pointer to lpfc response iocb data structure. 5888 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -6007,7 +5990,7 @@ out:
6007} 5990}
6008 5991
6009/** 5992/**
6010 * lpfc_issue_els_fdisc: Issue a fdisc iocb command. 5993 * lpfc_issue_els_fdisc - Issue a fdisc iocb command
6011 * @vport: pointer to a virtual N_Port data structure. 5994 * @vport: pointer to a virtual N_Port data structure.
6012 * @ndlp: pointer to a node-list data structure. 5995 * @ndlp: pointer to a node-list data structure.
6013 * @retry: number of retries to the command IOCB. 5996 * @retry: number of retries to the command IOCB.
@@ -6101,7 +6084,7 @@ lpfc_issue_els_fdisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
6101} 6084}
6102 6085
6103/** 6086/**
6104 * lpfc_cmpl_els_npiv_logo: Completion function with vport logo. 6087 * lpfc_cmpl_els_npiv_logo - Completion function with vport logo
6105 * @phba: pointer to lpfc hba data structure. 6088 * @phba: pointer to lpfc hba data structure.
6106 * @cmdiocb: pointer to lpfc command iocb data structure. 6089 * @cmdiocb: pointer to lpfc command iocb data structure.
6107 * @rspiocb: pointer to lpfc response iocb data structure. 6090 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -6136,7 +6119,7 @@ lpfc_cmpl_els_npiv_logo(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
6136} 6119}
6137 6120
6138/** 6121/**
6139 * lpfc_issue_els_npiv_logo: Issue a logo off a vport. 6122 * lpfc_issue_els_npiv_logo - Issue a logo off a vport
6140 * @vport: pointer to a virtual N_Port data structure. 6123 * @vport: pointer to a virtual N_Port data structure.
6141 * @ndlp: pointer to a node-list data structure. 6124 * @ndlp: pointer to a node-list data structure.
6142 * 6125 *
@@ -6197,7 +6180,7 @@ lpfc_issue_els_npiv_logo(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp)
6197} 6180}
6198 6181
6199/** 6182/**
6200 * lpfc_fabric_block_timeout: Handler function to the fabric block timer. 6183 * lpfc_fabric_block_timeout - Handler function to the fabric block timer
6201 * @ptr: holder for the timer function associated data. 6184 * @ptr: holder for the timer function associated data.
6202 * 6185 *
6203 * This routine is invoked by the fabric iocb block timer after 6186 * This routine is invoked by the fabric iocb block timer after
@@ -6226,7 +6209,7 @@ lpfc_fabric_block_timeout(unsigned long ptr)
6226} 6209}
6227 6210
6228/** 6211/**
6229 * lpfc_resume_fabric_iocbs: Issue a fabric iocb from driver internal list. 6212 * lpfc_resume_fabric_iocbs - Issue a fabric iocb from driver internal list
6230 * @phba: pointer to lpfc hba data structure. 6213 * @phba: pointer to lpfc hba data structure.
6231 * 6214 *
6232 * This routine issues one fabric iocb from the driver internal list to 6215 * This routine issues one fabric iocb from the driver internal list to
@@ -6285,7 +6268,7 @@ repeat:
6285} 6268}
6286 6269
6287/** 6270/**
6288 * lpfc_unblock_fabric_iocbs: Unblock issuing fabric iocb command. 6271 * lpfc_unblock_fabric_iocbs - Unblock issuing fabric iocb command
6289 * @phba: pointer to lpfc hba data structure. 6272 * @phba: pointer to lpfc hba data structure.
6290 * 6273 *
6291 * This routine unblocks the issuing fabric iocb command. The function 6274 * This routine unblocks the issuing fabric iocb command. The function
@@ -6303,7 +6286,7 @@ lpfc_unblock_fabric_iocbs(struct lpfc_hba *phba)
6303} 6286}
6304 6287
6305/** 6288/**
6306 * lpfc_block_fabric_iocbs: Block issuing fabric iocb command. 6289 * lpfc_block_fabric_iocbs - Block issuing fabric iocb command
6307 * @phba: pointer to lpfc hba data structure. 6290 * @phba: pointer to lpfc hba data structure.
6308 * 6291 *
6309 * This routine blocks the issuing fabric iocb for a specified amount of 6292 * This routine blocks the issuing fabric iocb for a specified amount of
@@ -6325,7 +6308,7 @@ lpfc_block_fabric_iocbs(struct lpfc_hba *phba)
6325} 6308}
6326 6309
6327/** 6310/**
6328 * lpfc_cmpl_fabric_iocb: Completion callback function for fabric iocb. 6311 * lpfc_cmpl_fabric_iocb - Completion callback function for fabric iocb
6329 * @phba: pointer to lpfc hba data structure. 6312 * @phba: pointer to lpfc hba data structure.
6330 * @cmdiocb: pointer to lpfc command iocb data structure. 6313 * @cmdiocb: pointer to lpfc command iocb data structure.
6331 * @rspiocb: pointer to lpfc response iocb data structure. 6314 * @rspiocb: pointer to lpfc response iocb data structure.
@@ -6384,7 +6367,7 @@ lpfc_cmpl_fabric_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
6384} 6367}
6385 6368
6386/** 6369/**
6387 * lpfc_issue_fabric_iocb: Issue a fabric iocb command. 6370 * lpfc_issue_fabric_iocb - Issue a fabric iocb command
6388 * @phba: pointer to lpfc hba data structure. 6371 * @phba: pointer to lpfc hba data structure.
6389 * @iocb: pointer to lpfc command iocb data structure. 6372 * @iocb: pointer to lpfc command iocb data structure.
6390 * 6373 *
@@ -6453,7 +6436,7 @@ lpfc_issue_fabric_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *iocb)
6453} 6436}
6454 6437
6455/** 6438/**
6456 * lpfc_fabric_abort_vport: Abort a vport's iocbs from driver fabric iocb list. 6439 * lpfc_fabric_abort_vport - Abort a vport's iocbs from driver fabric iocb list
6457 * @vport: pointer to a virtual N_Port data structure. 6440 * @vport: pointer to a virtual N_Port data structure.
6458 * 6441 *
6459 * This routine aborts all the IOCBs associated with a @vport from the 6442 * This routine aborts all the IOCBs associated with a @vport from the
@@ -6468,7 +6451,6 @@ static void lpfc_fabric_abort_vport(struct lpfc_vport *vport)
6468 LIST_HEAD(completions); 6451 LIST_HEAD(completions);
6469 struct lpfc_hba *phba = vport->phba; 6452 struct lpfc_hba *phba = vport->phba;
6470 struct lpfc_iocbq *tmp_iocb, *piocb; 6453 struct lpfc_iocbq *tmp_iocb, *piocb;
6471 IOCB_t *cmd;
6472 6454
6473 spin_lock_irq(&phba->hbalock); 6455 spin_lock_irq(&phba->hbalock);
6474 list_for_each_entry_safe(piocb, tmp_iocb, &phba->fabric_iocb_list, 6456 list_for_each_entry_safe(piocb, tmp_iocb, &phba->fabric_iocb_list,
@@ -6481,19 +6463,13 @@ static void lpfc_fabric_abort_vport(struct lpfc_vport *vport)
6481 } 6463 }
6482 spin_unlock_irq(&phba->hbalock); 6464 spin_unlock_irq(&phba->hbalock);
6483 6465
6484 while (!list_empty(&completions)) { 6466 /* Cancel all the IOCBs from the completions list */
6485 piocb = list_get_first(&completions, struct lpfc_iocbq, list); 6467 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
6486 list_del_init(&piocb->list); 6468 IOERR_SLI_ABORTED);
6487
6488 cmd = &piocb->iocb;
6489 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
6490 cmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
6491 (piocb->iocb_cmpl) (phba, piocb, piocb);
6492 }
6493} 6469}
6494 6470
6495/** 6471/**
6496 * lpfc_fabric_abort_nport: Abort a ndlp's iocbs from driver fabric iocb list. 6472 * lpfc_fabric_abort_nport - Abort a ndlp's iocbs from driver fabric iocb list
6497 * @ndlp: pointer to a node-list data structure. 6473 * @ndlp: pointer to a node-list data structure.
6498 * 6474 *
6499 * This routine aborts all the IOCBs associated with an @ndlp from the 6475 * This routine aborts all the IOCBs associated with an @ndlp from the
@@ -6506,10 +6482,9 @@ static void lpfc_fabric_abort_vport(struct lpfc_vport *vport)
6506void lpfc_fabric_abort_nport(struct lpfc_nodelist *ndlp) 6482void lpfc_fabric_abort_nport(struct lpfc_nodelist *ndlp)
6507{ 6483{
6508 LIST_HEAD(completions); 6484 LIST_HEAD(completions);
6509 struct lpfc_hba *phba = ndlp->vport->phba; 6485 struct lpfc_hba *phba = ndlp->phba;
6510 struct lpfc_iocbq *tmp_iocb, *piocb; 6486 struct lpfc_iocbq *tmp_iocb, *piocb;
6511 struct lpfc_sli_ring *pring = &phba->sli.ring[LPFC_ELS_RING]; 6487 struct lpfc_sli_ring *pring = &phba->sli.ring[LPFC_ELS_RING];
6512 IOCB_t *cmd;
6513 6488
6514 spin_lock_irq(&phba->hbalock); 6489 spin_lock_irq(&phba->hbalock);
6515 list_for_each_entry_safe(piocb, tmp_iocb, &phba->fabric_iocb_list, 6490 list_for_each_entry_safe(piocb, tmp_iocb, &phba->fabric_iocb_list,
@@ -6521,19 +6496,13 @@ void lpfc_fabric_abort_nport(struct lpfc_nodelist *ndlp)
6521 } 6496 }
6522 spin_unlock_irq(&phba->hbalock); 6497 spin_unlock_irq(&phba->hbalock);
6523 6498
6524 while (!list_empty(&completions)) { 6499 /* Cancel all the IOCBs from the completions list */
6525 piocb = list_get_first(&completions, struct lpfc_iocbq, list); 6500 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
6526 list_del_init(&piocb->list); 6501 IOERR_SLI_ABORTED);
6527
6528 cmd = &piocb->iocb;
6529 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
6530 cmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
6531 (piocb->iocb_cmpl) (phba, piocb, piocb);
6532 }
6533} 6502}
6534 6503
6535/** 6504/**
6536 * lpfc_fabric_abort_hba: Abort all iocbs on driver fabric iocb list. 6505 * lpfc_fabric_abort_hba - Abort all iocbs on driver fabric iocb list
6537 * @phba: pointer to lpfc hba data structure. 6506 * @phba: pointer to lpfc hba data structure.
6538 * 6507 *
6539 * This routine aborts all the IOCBs currently on the driver internal 6508 * This routine aborts all the IOCBs currently on the driver internal
@@ -6546,20 +6515,12 @@ void lpfc_fabric_abort_nport(struct lpfc_nodelist *ndlp)
6546void lpfc_fabric_abort_hba(struct lpfc_hba *phba) 6515void lpfc_fabric_abort_hba(struct lpfc_hba *phba)
6547{ 6516{
6548 LIST_HEAD(completions); 6517 LIST_HEAD(completions);
6549 struct lpfc_iocbq *piocb;
6550 IOCB_t *cmd;
6551 6518
6552 spin_lock_irq(&phba->hbalock); 6519 spin_lock_irq(&phba->hbalock);
6553 list_splice_init(&phba->fabric_iocb_list, &completions); 6520 list_splice_init(&phba->fabric_iocb_list, &completions);
6554 spin_unlock_irq(&phba->hbalock); 6521 spin_unlock_irq(&phba->hbalock);
6555 6522
6556 while (!list_empty(&completions)) { 6523 /* Cancel all the IOCBs from the completions list */
6557 piocb = list_get_first(&completions, struct lpfc_iocbq, list); 6524 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
6558 list_del_init(&piocb->list); 6525 IOERR_SLI_ABORTED);
6559
6560 cmd = &piocb->iocb;
6561 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
6562 cmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
6563 (piocb->iocb_cmpl) (phba, piocb, piocb);
6564 }
6565} 6526}
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
index 311ed6dea726..e764ce0bf704 100644
--- a/drivers/scsi/lpfc/lpfc_hbadisc.c
+++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
@@ -78,7 +78,7 @@ lpfc_terminate_rport_io(struct fc_rport *rport)
78 return; 78 return;
79 } 79 }
80 80
81 phba = ndlp->vport->phba; 81 phba = ndlp->phba;
82 82
83 lpfc_debugfs_disc_trc(ndlp->vport, LPFC_DISC_TRC_RPORT, 83 lpfc_debugfs_disc_trc(ndlp->vport, LPFC_DISC_TRC_RPORT,
84 "rport terminate: sid:x%x did:x%x flg:x%x", 84 "rport terminate: sid:x%x did:x%x flg:x%x",
@@ -276,7 +276,7 @@ lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *ndlp)
276} 276}
277 277
278/** 278/**
279 * lpfc_alloc_fast_evt: Allocates data structure for posting event. 279 * lpfc_alloc_fast_evt - Allocates data structure for posting event
280 * @phba: Pointer to hba context object. 280 * @phba: Pointer to hba context object.
281 * 281 *
282 * This function is called from the functions which need to post 282 * This function is called from the functions which need to post
@@ -303,7 +303,7 @@ lpfc_alloc_fast_evt(struct lpfc_hba *phba) {
303} 303}
304 304
305/** 305/**
306 * lpfc_free_fast_evt: Frees event data structure. 306 * lpfc_free_fast_evt - Frees event data structure
307 * @phba: Pointer to hba context object. 307 * @phba: Pointer to hba context object.
308 * @evt: Event object which need to be freed. 308 * @evt: Event object which need to be freed.
309 * 309 *
@@ -319,7 +319,7 @@ lpfc_free_fast_evt(struct lpfc_hba *phba,
319} 319}
320 320
321/** 321/**
322 * lpfc_send_fastpath_evt: Posts events generated from fast path. 322 * lpfc_send_fastpath_evt - Posts events generated from fast path
323 * @phba: Pointer to hba context object. 323 * @phba: Pointer to hba context object.
324 * @evtp: Event data structure. 324 * @evtp: Event data structure.
325 * 325 *
@@ -1858,13 +1858,18 @@ lpfc_disable_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp)
1858 NLP_STE_UNUSED_NODE); 1858 NLP_STE_UNUSED_NODE);
1859} 1859}
1860/** 1860/**
1861 * lpfc_initialize_node: Initialize all fields of node object. 1861 * lpfc_initialize_node - Initialize all fields of node object
1862 * @vport: Pointer to Virtual Port object. 1862 * @vport: Pointer to Virtual Port object.
1863 * @ndlp: Pointer to FC node object. 1863 * @ndlp: Pointer to FC node object.
1864 * @did: FC_ID of the node. 1864 * @did: FC_ID of the node.
1865 * This function is always called when node object need to 1865 *
1866 * be initialized. It initializes all the fields of the node 1866 * This function is always called when node object need to be initialized.
1867 * object. 1867 * It initializes all the fields of the node object. Although the reference
1868 * to phba from @ndlp can be obtained indirectly through it's reference to
1869 * @vport, a direct reference to phba is taken here by @ndlp. This is due
1870 * to the life-span of the @ndlp might go beyond the existence of @vport as
1871 * the final release of ndlp is determined by its reference count. And, the
1872 * operation on @ndlp needs the reference to phba.
1868 **/ 1873 **/
1869static inline void 1874static inline void
1870lpfc_initialize_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, 1875lpfc_initialize_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
@@ -1877,6 +1882,7 @@ lpfc_initialize_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
1877 ndlp->nlp_delayfunc.data = (unsigned long)ndlp; 1882 ndlp->nlp_delayfunc.data = (unsigned long)ndlp;
1878 ndlp->nlp_DID = did; 1883 ndlp->nlp_DID = did;
1879 ndlp->vport = vport; 1884 ndlp->vport = vport;
1885 ndlp->phba = vport->phba;
1880 ndlp->nlp_sid = NLP_NO_SID; 1886 ndlp->nlp_sid = NLP_NO_SID;
1881 kref_init(&ndlp->kref); 1887 kref_init(&ndlp->kref);
1882 NLP_INT_NODE_ACT(ndlp); 1888 NLP_INT_NODE_ACT(ndlp);
@@ -2086,7 +2092,6 @@ lpfc_no_rpi(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp)
2086 struct lpfc_sli *psli; 2092 struct lpfc_sli *psli;
2087 struct lpfc_sli_ring *pring; 2093 struct lpfc_sli_ring *pring;
2088 struct lpfc_iocbq *iocb, *next_iocb; 2094 struct lpfc_iocbq *iocb, *next_iocb;
2089 IOCB_t *icmd;
2090 uint32_t rpi, i; 2095 uint32_t rpi, i;
2091 2096
2092 lpfc_fabric_abort_nport(ndlp); 2097 lpfc_fabric_abort_nport(ndlp);
@@ -2122,19 +2127,9 @@ lpfc_no_rpi(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp)
2122 } 2127 }
2123 } 2128 }
2124 2129
2125 while (!list_empty(&completions)) { 2130 /* Cancel all the IOCBs from the completions list */
2126 iocb = list_get_first(&completions, struct lpfc_iocbq, list); 2131 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
2127 list_del_init(&iocb->list); 2132 IOERR_SLI_ABORTED);
2128
2129 if (!iocb->iocb_cmpl)
2130 lpfc_sli_release_iocbq(phba, iocb);
2131 else {
2132 icmd = &iocb->iocb;
2133 icmd->ulpStatus = IOSTAT_LOCAL_REJECT;
2134 icmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
2135 (iocb->iocb_cmpl)(phba, iocb, iocb);
2136 }
2137 }
2138 2133
2139 return 0; 2134 return 0;
2140} 2135}
@@ -2186,9 +2181,13 @@ lpfc_unreg_all_rpis(struct lpfc_vport *vport)
2186 mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; 2181 mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
2187 mbox->context1 = NULL; 2182 mbox->context1 = NULL;
2188 rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO); 2183 rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
2189 if (rc == MBX_NOT_FINISHED) { 2184 if (rc != MBX_TIMEOUT)
2190 mempool_free(mbox, phba->mbox_mem_pool); 2185 mempool_free(mbox, phba->mbox_mem_pool);
2191 } 2186
2187 if ((rc == MBX_TIMEOUT) || (rc == MBX_NOT_FINISHED))
2188 lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX | LOG_VPORT,
2189 "1836 Could not issue "
2190 "unreg_login(all_rpis) status %d\n", rc);
2192 } 2191 }
2193} 2192}
2194 2193
@@ -2206,12 +2205,14 @@ lpfc_unreg_default_rpis(struct lpfc_vport *vport)
2206 mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl; 2205 mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
2207 mbox->context1 = NULL; 2206 mbox->context1 = NULL;
2208 rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO); 2207 rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
2209 if (rc == MBX_NOT_FINISHED) { 2208 if (rc != MBX_TIMEOUT)
2209 mempool_free(mbox, phba->mbox_mem_pool);
2210
2211 if ((rc == MBX_TIMEOUT) || (rc == MBX_NOT_FINISHED))
2210 lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX | LOG_VPORT, 2212 lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX | LOG_VPORT,
2211 "1815 Could not issue " 2213 "1815 Could not issue "
2212 "unreg_did (default rpis)\n"); 2214 "unreg_did (default rpis) status %d\n",
2213 mempool_free(mbox, phba->mbox_mem_pool); 2215 rc);
2214 }
2215 } 2216 }
2216} 2217}
2217 2218
@@ -2470,14 +2471,13 @@ lpfc_setup_disc_node(struct lpfc_vport *vport, uint32_t did)
2470 if (ndlp->nlp_flag & NLP_RCV_PLOGI) 2471 if (ndlp->nlp_flag & NLP_RCV_PLOGI)
2471 return NULL; 2472 return NULL;
2472 2473
2473 spin_lock_irq(shost->host_lock);
2474 ndlp->nlp_flag |= NLP_NPR_2B_DISC;
2475 spin_unlock_irq(shost->host_lock);
2476
2477 /* Since this node is marked for discovery, 2474 /* Since this node is marked for discovery,
2478 * delay timeout is not needed. 2475 * delay timeout is not needed.
2479 */ 2476 */
2480 lpfc_cancel_retry_delay_tmo(vport, ndlp); 2477 lpfc_cancel_retry_delay_tmo(vport, ndlp);
2478 spin_lock_irq(shost->host_lock);
2479 ndlp->nlp_flag |= NLP_NPR_2B_DISC;
2480 spin_unlock_irq(shost->host_lock);
2481 } else 2481 } else
2482 ndlp = NULL; 2482 ndlp = NULL;
2483 } else { 2483 } else {
@@ -2740,19 +2740,9 @@ lpfc_free_tx(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp)
2740 } 2740 }
2741 spin_unlock_irq(&phba->hbalock); 2741 spin_unlock_irq(&phba->hbalock);
2742 2742
2743 while (!list_empty(&completions)) { 2743 /* Cancel all the IOCBs from the completions list */
2744 iocb = list_get_first(&completions, struct lpfc_iocbq, list); 2744 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
2745 list_del_init(&iocb->list); 2745 IOERR_SLI_ABORTED);
2746
2747 if (!iocb->iocb_cmpl)
2748 lpfc_sli_release_iocbq(phba, iocb);
2749 else {
2750 icmd = &iocb->iocb;
2751 icmd->ulpStatus = IOSTAT_LOCAL_REJECT;
2752 icmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
2753 (iocb->iocb_cmpl) (phba, iocb, iocb);
2754 }
2755 }
2756} 2746}
2757 2747
2758static void 2748static void
@@ -3173,7 +3163,7 @@ lpfc_nlp_release(struct kref *kref)
3173 lpfc_nlp_remove(ndlp->vport, ndlp); 3163 lpfc_nlp_remove(ndlp->vport, ndlp);
3174 3164
3175 /* clear the ndlp active flag for all release cases */ 3165 /* clear the ndlp active flag for all release cases */
3176 phba = ndlp->vport->phba; 3166 phba = ndlp->phba;
3177 spin_lock_irqsave(&phba->ndlp_lock, flags); 3167 spin_lock_irqsave(&phba->ndlp_lock, flags);
3178 NLP_CLR_NODE_ACT(ndlp); 3168 NLP_CLR_NODE_ACT(ndlp);
3179 spin_unlock_irqrestore(&phba->ndlp_lock, flags); 3169 spin_unlock_irqrestore(&phba->ndlp_lock, flags);
@@ -3181,7 +3171,7 @@ lpfc_nlp_release(struct kref *kref)
3181 /* free ndlp memory for final ndlp release */ 3171 /* free ndlp memory for final ndlp release */
3182 if (NLP_CHK_FREE_REQ(ndlp)) { 3172 if (NLP_CHK_FREE_REQ(ndlp)) {
3183 kfree(ndlp->lat_data); 3173 kfree(ndlp->lat_data);
3184 mempool_free(ndlp, ndlp->vport->phba->nlp_mem_pool); 3174 mempool_free(ndlp, ndlp->phba->nlp_mem_pool);
3185 } 3175 }
3186} 3176}
3187 3177
@@ -3204,7 +3194,7 @@ lpfc_nlp_get(struct lpfc_nodelist *ndlp)
3204 * ndlp reference count that is in the process of being 3194 * ndlp reference count that is in the process of being
3205 * released. 3195 * released.
3206 */ 3196 */
3207 phba = ndlp->vport->phba; 3197 phba = ndlp->phba;
3208 spin_lock_irqsave(&phba->ndlp_lock, flags); 3198 spin_lock_irqsave(&phba->ndlp_lock, flags);
3209 if (!NLP_CHK_NODE_ACT(ndlp) || NLP_CHK_FREE_ACK(ndlp)) { 3199 if (!NLP_CHK_NODE_ACT(ndlp) || NLP_CHK_FREE_ACK(ndlp)) {
3210 spin_unlock_irqrestore(&phba->ndlp_lock, flags); 3200 spin_unlock_irqrestore(&phba->ndlp_lock, flags);
@@ -3240,7 +3230,7 @@ lpfc_nlp_put(struct lpfc_nodelist *ndlp)
3240 "node put: did:x%x flg:x%x refcnt:x%x", 3230 "node put: did:x%x flg:x%x refcnt:x%x",
3241 ndlp->nlp_DID, ndlp->nlp_flag, 3231 ndlp->nlp_DID, ndlp->nlp_flag,
3242 atomic_read(&ndlp->kref.refcount)); 3232 atomic_read(&ndlp->kref.refcount));
3243 phba = ndlp->vport->phba; 3233 phba = ndlp->phba;
3244 spin_lock_irqsave(&phba->ndlp_lock, flags); 3234 spin_lock_irqsave(&phba->ndlp_lock, flags);
3245 /* Check the ndlp memory free acknowledge flag to avoid the 3235 /* Check the ndlp memory free acknowledge flag to avoid the
3246 * possible race condition that kref_put got invoked again 3236 * possible race condition that kref_put got invoked again
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 06874e6009ea..86d1bdcbf2d8 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -60,7 +60,7 @@ static struct scsi_transport_template *lpfc_vport_transport_template = NULL;
60static DEFINE_IDR(lpfc_hba_index); 60static DEFINE_IDR(lpfc_hba_index);
61 61
62/** 62/**
63 * lpfc_config_port_prep: Perform lpfc initialization prior to config port. 63 * lpfc_config_port_prep - Perform lpfc initialization prior to config port
64 * @phba: pointer to lpfc hba data structure. 64 * @phba: pointer to lpfc hba data structure.
65 * 65 *
66 * This routine will do LPFC initialization prior to issuing the CONFIG_PORT 66 * This routine will do LPFC initialization prior to issuing the CONFIG_PORT
@@ -221,7 +221,7 @@ out_free_mbox:
221} 221}
222 222
223/** 223/**
224 * lpfc_config_async_cmpl: Completion handler for config async event mbox cmd. 224 * lpfc_config_async_cmpl - Completion handler for config async event mbox cmd
225 * @phba: pointer to lpfc hba data structure. 225 * @phba: pointer to lpfc hba data structure.
226 * @pmboxq: pointer to the driver internal queue element for mailbox command. 226 * @pmboxq: pointer to the driver internal queue element for mailbox command.
227 * 227 *
@@ -242,8 +242,7 @@ lpfc_config_async_cmpl(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq)
242} 242}
243 243
244/** 244/**
245 * lpfc_dump_wakeup_param_cmpl: Completion handler for dump memory mailbox 245 * lpfc_dump_wakeup_param_cmpl - dump memory mailbox command completion handler
246 * command used for getting wake up parameters.
247 * @phba: pointer to lpfc hba data structure. 246 * @phba: pointer to lpfc hba data structure.
248 * @pmboxq: pointer to the driver internal queue element for mailbox command. 247 * @pmboxq: pointer to the driver internal queue element for mailbox command.
249 * 248 *
@@ -287,7 +286,7 @@ lpfc_dump_wakeup_param_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq)
287} 286}
288 287
289/** 288/**
290 * lpfc_config_port_post: Perform lpfc initialization after config port. 289 * lpfc_config_port_post - Perform lpfc initialization after config port
291 * @phba: pointer to lpfc hba data structure. 290 * @phba: pointer to lpfc hba data structure.
292 * 291 *
293 * This routine will do LPFC initialization after the CONFIG_PORT mailbox 292 * This routine will do LPFC initialization after the CONFIG_PORT mailbox
@@ -303,6 +302,7 @@ int
303lpfc_config_port_post(struct lpfc_hba *phba) 302lpfc_config_port_post(struct lpfc_hba *phba)
304{ 303{
305 struct lpfc_vport *vport = phba->pport; 304 struct lpfc_vport *vport = phba->pport;
305 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
306 LPFC_MBOXQ_t *pmb; 306 LPFC_MBOXQ_t *pmb;
307 MAILBOX_t *mb; 307 MAILBOX_t *mb;
308 struct lpfc_dmabuf *mp; 308 struct lpfc_dmabuf *mp;
@@ -360,6 +360,11 @@ lpfc_config_port_post(struct lpfc_hba *phba)
360 sizeof (struct lpfc_name)); 360 sizeof (struct lpfc_name));
361 memcpy(&vport->fc_portname, &vport->fc_sparam.portName, 361 memcpy(&vport->fc_portname, &vport->fc_sparam.portName,
362 sizeof (struct lpfc_name)); 362 sizeof (struct lpfc_name));
363
364 /* Update the fc_host data structures with new wwn. */
365 fc_host_node_name(shost) = wwn_to_u64(vport->fc_nodename.u.wwn);
366 fc_host_port_name(shost) = wwn_to_u64(vport->fc_portname.u.wwn);
367
363 /* If no serial number in VPD data, use low 6 bytes of WWNN */ 368 /* If no serial number in VPD data, use low 6 bytes of WWNN */
364 /* This should be consolidated into parse_vpd ? - mr */ 369 /* This should be consolidated into parse_vpd ? - mr */
365 if (phba->SerialNumber[0] == 0) { 370 if (phba->SerialNumber[0] == 0) {
@@ -551,7 +556,7 @@ lpfc_config_port_post(struct lpfc_hba *phba)
551} 556}
552 557
553/** 558/**
554 * lpfc_hba_down_prep: Perform lpfc uninitialization prior to HBA reset. 559 * lpfc_hba_down_prep - Perform lpfc uninitialization prior to HBA reset
555 * @phba: pointer to lpfc HBA data structure. 560 * @phba: pointer to lpfc HBA data structure.
556 * 561 *
557 * This routine will do LPFC uninitialization before the HBA is reset when 562 * This routine will do LPFC uninitialization before the HBA is reset when
@@ -583,7 +588,7 @@ lpfc_hba_down_prep(struct lpfc_hba *phba)
583} 588}
584 589
585/** 590/**
586 * lpfc_hba_down_post: Perform lpfc uninitialization after HBA reset. 591 * lpfc_hba_down_post - Perform lpfc uninitialization after HBA reset
587 * @phba: pointer to lpfc HBA data structure. 592 * @phba: pointer to lpfc HBA data structure.
588 * 593 *
589 * This routine will do uninitialization after the HBA is reset when bring 594 * This routine will do uninitialization after the HBA is reset when bring
@@ -599,8 +604,6 @@ lpfc_hba_down_post(struct lpfc_hba *phba)
599 struct lpfc_sli *psli = &phba->sli; 604 struct lpfc_sli *psli = &phba->sli;
600 struct lpfc_sli_ring *pring; 605 struct lpfc_sli_ring *pring;
601 struct lpfc_dmabuf *mp, *next_mp; 606 struct lpfc_dmabuf *mp, *next_mp;
602 struct lpfc_iocbq *iocb;
603 IOCB_t *cmd = NULL;
604 LIST_HEAD(completions); 607 LIST_HEAD(completions);
605 int i; 608 int i;
606 609
@@ -628,20 +631,9 @@ lpfc_hba_down_post(struct lpfc_hba *phba)
628 pring->txcmplq_cnt = 0; 631 pring->txcmplq_cnt = 0;
629 spin_unlock_irq(&phba->hbalock); 632 spin_unlock_irq(&phba->hbalock);
630 633
631 while (!list_empty(&completions)) { 634 /* Cancel all the IOCBs from the completions list */
632 iocb = list_get_first(&completions, struct lpfc_iocbq, 635 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
633 list); 636 IOERR_SLI_ABORTED);
634 cmd = &iocb->iocb;
635 list_del_init(&iocb->list);
636
637 if (!iocb->iocb_cmpl)
638 lpfc_sli_release_iocbq(phba, iocb);
639 else {
640 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
641 cmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
642 (iocb->iocb_cmpl) (phba, iocb, iocb);
643 }
644 }
645 637
646 lpfc_sli_abort_iocb_ring(phba, pring); 638 lpfc_sli_abort_iocb_ring(phba, pring);
647 spin_lock_irq(&phba->hbalock); 639 spin_lock_irq(&phba->hbalock);
@@ -652,7 +644,7 @@ lpfc_hba_down_post(struct lpfc_hba *phba)
652} 644}
653 645
654/** 646/**
655 * lpfc_hb_timeout: The HBA-timer timeout handler. 647 * lpfc_hb_timeout - The HBA-timer timeout handler
656 * @ptr: unsigned long holds the pointer to lpfc hba data structure. 648 * @ptr: unsigned long holds the pointer to lpfc hba data structure.
657 * 649 *
658 * This is the HBA-timer timeout handler registered to the lpfc driver. When 650 * This is the HBA-timer timeout handler registered to the lpfc driver. When
@@ -686,7 +678,7 @@ lpfc_hb_timeout(unsigned long ptr)
686} 678}
687 679
688/** 680/**
689 * lpfc_hb_mbox_cmpl: The lpfc heart-beat mailbox command callback function. 681 * lpfc_hb_mbox_cmpl - The lpfc heart-beat mailbox command callback function
690 * @phba: pointer to lpfc hba data structure. 682 * @phba: pointer to lpfc hba data structure.
691 * @pmboxq: pointer to the driver internal queue element for mailbox command. 683 * @pmboxq: pointer to the driver internal queue element for mailbox command.
692 * 684 *
@@ -721,7 +713,7 @@ lpfc_hb_mbox_cmpl(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq)
721} 713}
722 714
723/** 715/**
724 * lpfc_hb_timeout_handler: The HBA-timer timeout handler. 716 * lpfc_hb_timeout_handler - The HBA-timer timeout handler
725 * @phba: pointer to lpfc hba data structure. 717 * @phba: pointer to lpfc hba data structure.
726 * 718 *
727 * This is the actual HBA-timer timeout handler to be invoked by the worker 719 * This is the actual HBA-timer timeout handler to be invoked by the worker
@@ -830,7 +822,7 @@ lpfc_hb_timeout_handler(struct lpfc_hba *phba)
830} 822}
831 823
832/** 824/**
833 * lpfc_offline_eratt: Bring lpfc offline on hardware error attention. 825 * lpfc_offline_eratt - Bring lpfc offline on hardware error attention
834 * @phba: pointer to lpfc hba data structure. 826 * @phba: pointer to lpfc hba data structure.
835 * 827 *
836 * This routine is called to bring the HBA offline when HBA hardware error 828 * This routine is called to bring the HBA offline when HBA hardware error
@@ -857,7 +849,73 @@ lpfc_offline_eratt(struct lpfc_hba *phba)
857} 849}
858 850
859/** 851/**
860 * lpfc_handle_eratt: The HBA hardware error handler. 852 * lpfc_handle_deferred_eratt - The HBA hardware deferred error handler
853 * @phba: pointer to lpfc hba data structure.
854 *
855 * This routine is invoked to handle the deferred HBA hardware error
856 * conditions. This type of error is indicated by HBA by setting ER1
857 * and another ER bit in the host status register. The driver will
858 * wait until the ER1 bit clears before handling the error condition.
859 **/
860static void
861lpfc_handle_deferred_eratt(struct lpfc_hba *phba)
862{
863 uint32_t old_host_status = phba->work_hs;
864 struct lpfc_sli_ring *pring;
865 struct lpfc_sli *psli = &phba->sli;
866
867 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
868 "0479 Deferred Adapter Hardware Error "
869 "Data: x%x x%x x%x\n",
870 phba->work_hs,
871 phba->work_status[0], phba->work_status[1]);
872
873 spin_lock_irq(&phba->hbalock);
874 psli->sli_flag &= ~LPFC_SLI2_ACTIVE;
875 spin_unlock_irq(&phba->hbalock);
876
877
878 /*
879 * Firmware stops when it triggred erratt. That could cause the I/Os
880 * dropped by the firmware. Error iocb (I/O) on txcmplq and let the
881 * SCSI layer retry it after re-establishing link.
882 */
883 pring = &psli->ring[psli->fcp_ring];
884 lpfc_sli_abort_iocb_ring(phba, pring);
885
886 /*
887 * There was a firmware error. Take the hba offline and then
888 * attempt to restart it.
889 */
890 lpfc_offline_prep(phba);
891 lpfc_offline(phba);
892
893 /* Wait for the ER1 bit to clear.*/
894 while (phba->work_hs & HS_FFER1) {
895 msleep(100);
896 phba->work_hs = readl(phba->HSregaddr);
897 /* If driver is unloading let the worker thread continue */
898 if (phba->pport->load_flag & FC_UNLOADING) {
899 phba->work_hs = 0;
900 break;
901 }
902 }
903
904 /*
905 * This is to ptrotect against a race condition in which
906 * first write to the host attention register clear the
907 * host status register.
908 */
909 if ((!phba->work_hs) && (!(phba->pport->load_flag & FC_UNLOADING)))
910 phba->work_hs = old_host_status & ~HS_FFER1;
911
912 phba->hba_flag &= ~DEFER_ERATT;
913 phba->work_status[0] = readl(phba->MBslimaddr + 0xa8);
914 phba->work_status[1] = readl(phba->MBslimaddr + 0xac);
915}
916
917/**
918 * lpfc_handle_eratt - The HBA hardware error handler
861 * @phba: pointer to lpfc hba data structure. 919 * @phba: pointer to lpfc hba data structure.
862 * 920 *
863 * This routine is invoked to handle the following HBA hardware error 921 * This routine is invoked to handle the following HBA hardware error
@@ -895,6 +953,9 @@ lpfc_handle_eratt(struct lpfc_hba *phba)
895 (char *) &board_event, 953 (char *) &board_event,
896 LPFC_NL_VENDOR_ID); 954 LPFC_NL_VENDOR_ID);
897 955
956 if (phba->hba_flag & DEFER_ERATT)
957 lpfc_handle_deferred_eratt(phba);
958
898 if (phba->work_hs & HS_FFER6) { 959 if (phba->work_hs & HS_FFER6) {
899 /* Re-establishing Link */ 960 /* Re-establishing Link */
900 lpfc_printf_log(phba, KERN_INFO, LOG_LINK_EVENT, 961 lpfc_printf_log(phba, KERN_INFO, LOG_LINK_EVENT,
@@ -976,7 +1037,7 @@ lpfc_handle_eratt(struct lpfc_hba *phba)
976} 1037}
977 1038
978/** 1039/**
979 * lpfc_handle_latt: The HBA link event handler. 1040 * lpfc_handle_latt - The HBA link event handler
980 * @phba: pointer to lpfc hba data structure. 1041 * @phba: pointer to lpfc hba data structure.
981 * 1042 *
982 * This routine is invoked from the worker thread to handle a HBA host 1043 * This routine is invoked from the worker thread to handle a HBA host
@@ -1063,7 +1124,7 @@ lpfc_handle_latt_err_exit:
1063} 1124}
1064 1125
1065/** 1126/**
1066 * lpfc_parse_vpd: Parse VPD (Vital Product Data). 1127 * lpfc_parse_vpd - Parse VPD (Vital Product Data)
1067 * @phba: pointer to lpfc hba data structure. 1128 * @phba: pointer to lpfc hba data structure.
1068 * @vpd: pointer to the vital product data. 1129 * @vpd: pointer to the vital product data.
1069 * @len: length of the vital product data in bytes. 1130 * @len: length of the vital product data in bytes.
@@ -1213,7 +1274,7 @@ lpfc_parse_vpd(struct lpfc_hba *phba, uint8_t *vpd, int len)
1213} 1274}
1214 1275
1215/** 1276/**
1216 * lpfc_get_hba_model_desc: Retrieve HBA device model name and description. 1277 * lpfc_get_hba_model_desc - Retrieve HBA device model name and description
1217 * @phba: pointer to lpfc hba data structure. 1278 * @phba: pointer to lpfc hba data structure.
1218 * @mdp: pointer to the data structure to hold the derived model name. 1279 * @mdp: pointer to the data structure to hold the derived model name.
1219 * @descp: pointer to the data structure to hold the derived description. 1280 * @descp: pointer to the data structure to hold the derived description.
@@ -1322,7 +1383,8 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
1322 m = (typeof(m)){"LPe11000", max_speed, "PCIe"}; 1383 m = (typeof(m)){"LPe11000", max_speed, "PCIe"};
1323 break; 1384 break;
1324 case PCI_DEVICE_ID_ZEPHYR_DCSP: 1385 case PCI_DEVICE_ID_ZEPHYR_DCSP:
1325 m = (typeof(m)){"LPe11002-SP", max_speed, "PCIe"}; 1386 m = (typeof(m)){"LP2105", max_speed, "PCIe"};
1387 GE = 1;
1326 break; 1388 break;
1327 case PCI_DEVICE_ID_ZMID: 1389 case PCI_DEVICE_ID_ZMID:
1328 m = (typeof(m)){"LPe1150", max_speed, "PCIe"}; 1390 m = (typeof(m)){"LPe1150", max_speed, "PCIe"};
@@ -1392,7 +1454,7 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
1392} 1454}
1393 1455
1394/** 1456/**
1395 * lpfc_post_buffer: Post IOCB(s) with DMA buffer descriptor(s) to a IOCB ring. 1457 * lpfc_post_buffer - Post IOCB(s) with DMA buffer descriptor(s) to a IOCB ring
1396 * @phba: pointer to lpfc hba data structure. 1458 * @phba: pointer to lpfc hba data structure.
1397 * @pring: pointer to a IOCB ring. 1459 * @pring: pointer to a IOCB ring.
1398 * @cnt: the number of IOCBs to be posted to the IOCB ring. 1460 * @cnt: the number of IOCBs to be posted to the IOCB ring.
@@ -1493,7 +1555,7 @@ lpfc_post_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, int cnt)
1493} 1555}
1494 1556
1495/** 1557/**
1496 * lpfc_post_rcv_buf: Post the initial receive IOCB buffers to ELS ring. 1558 * lpfc_post_rcv_buf - Post the initial receive IOCB buffers to ELS ring
1497 * @phba: pointer to lpfc hba data structure. 1559 * @phba: pointer to lpfc hba data structure.
1498 * 1560 *
1499 * This routine posts initial receive IOCB buffers to the ELS ring. The 1561 * This routine posts initial receive IOCB buffers to the ELS ring. The
@@ -1518,7 +1580,7 @@ lpfc_post_rcv_buf(struct lpfc_hba *phba)
1518#define S(N,V) (((V)<<(N))|((V)>>(32-(N)))) 1580#define S(N,V) (((V)<<(N))|((V)>>(32-(N))))
1519 1581
1520/** 1582/**
1521 * lpfc_sha_init: Set up initial array of hash table entries. 1583 * lpfc_sha_init - Set up initial array of hash table entries
1522 * @HashResultPointer: pointer to an array as hash table. 1584 * @HashResultPointer: pointer to an array as hash table.
1523 * 1585 *
1524 * This routine sets up the initial values to the array of hash table entries 1586 * This routine sets up the initial values to the array of hash table entries
@@ -1535,7 +1597,7 @@ lpfc_sha_init(uint32_t * HashResultPointer)
1535} 1597}
1536 1598
1537/** 1599/**
1538 * lpfc_sha_iterate: Iterate initial hash table with the working hash table. 1600 * lpfc_sha_iterate - Iterate initial hash table with the working hash table
1539 * @HashResultPointer: pointer to an initial/result hash table. 1601 * @HashResultPointer: pointer to an initial/result hash table.
1540 * @HashWorkingPointer: pointer to an working hash table. 1602 * @HashWorkingPointer: pointer to an working hash table.
1541 * 1603 *
@@ -1592,7 +1654,7 @@ lpfc_sha_iterate(uint32_t * HashResultPointer, uint32_t * HashWorkingPointer)
1592} 1654}
1593 1655
1594/** 1656/**
1595 * lpfc_challenge_key: Create challenge key based on WWPN of the HBA. 1657 * lpfc_challenge_key - Create challenge key based on WWPN of the HBA
1596 * @RandomChallenge: pointer to the entry of host challenge random number array. 1658 * @RandomChallenge: pointer to the entry of host challenge random number array.
1597 * @HashWorking: pointer to the entry of the working hash array. 1659 * @HashWorking: pointer to the entry of the working hash array.
1598 * 1660 *
@@ -1608,7 +1670,7 @@ lpfc_challenge_key(uint32_t * RandomChallenge, uint32_t * HashWorking)
1608} 1670}
1609 1671
1610/** 1672/**
1611 * lpfc_hba_init: Perform special handling for LC HBA initialization. 1673 * lpfc_hba_init - Perform special handling for LC HBA initialization
1612 * @phba: pointer to lpfc hba data structure. 1674 * @phba: pointer to lpfc hba data structure.
1613 * @hbainit: pointer to an array of unsigned 32-bit integers. 1675 * @hbainit: pointer to an array of unsigned 32-bit integers.
1614 * 1676 *
@@ -1637,7 +1699,7 @@ lpfc_hba_init(struct lpfc_hba *phba, uint32_t *hbainit)
1637} 1699}
1638 1700
1639/** 1701/**
1640 * lpfc_cleanup: Performs vport cleanups before deleting a vport. 1702 * lpfc_cleanup - Performs vport cleanups before deleting a vport
1641 * @vport: pointer to a virtual N_Port data structure. 1703 * @vport: pointer to a virtual N_Port data structure.
1642 * 1704 *
1643 * This routine performs the necessary cleanups before deleting the @vport. 1705 * This routine performs the necessary cleanups before deleting the @vport.
@@ -1724,7 +1786,7 @@ lpfc_cleanup(struct lpfc_vport *vport)
1724} 1786}
1725 1787
1726/** 1788/**
1727 * lpfc_stop_vport_timers: Stop all the timers associated with a vport. 1789 * lpfc_stop_vport_timers - Stop all the timers associated with a vport
1728 * @vport: pointer to a virtual N_Port data structure. 1790 * @vport: pointer to a virtual N_Port data structure.
1729 * 1791 *
1730 * This routine stops all the timers associated with a @vport. This function 1792 * This routine stops all the timers associated with a @vport. This function
@@ -1741,7 +1803,7 @@ lpfc_stop_vport_timers(struct lpfc_vport *vport)
1741} 1803}
1742 1804
1743/** 1805/**
1744 * lpfc_stop_phba_timers: Stop all the timers associated with an HBA. 1806 * lpfc_stop_phba_timers - Stop all the timers associated with an HBA
1745 * @phba: pointer to lpfc hba data structure. 1807 * @phba: pointer to lpfc hba data structure.
1746 * 1808 *
1747 * This routine stops all the timers associated with a HBA. This function is 1809 * This routine stops all the timers associated with a HBA. This function is
@@ -1761,7 +1823,7 @@ lpfc_stop_phba_timers(struct lpfc_hba *phba)
1761} 1823}
1762 1824
1763/** 1825/**
1764 * lpfc_block_mgmt_io: Mark a HBA's management interface as blocked. 1826 * lpfc_block_mgmt_io - Mark a HBA's management interface as blocked
1765 * @phba: pointer to lpfc hba data structure. 1827 * @phba: pointer to lpfc hba data structure.
1766 * 1828 *
1767 * This routine marks a HBA's management interface as blocked. Once the HBA's 1829 * This routine marks a HBA's management interface as blocked. Once the HBA's
@@ -1781,7 +1843,7 @@ lpfc_block_mgmt_io(struct lpfc_hba * phba)
1781} 1843}
1782 1844
1783/** 1845/**
1784 * lpfc_online: Initialize and bring a HBA online. 1846 * lpfc_online - Initialize and bring a HBA online
1785 * @phba: pointer to lpfc hba data structure. 1847 * @phba: pointer to lpfc hba data structure.
1786 * 1848 *
1787 * This routine initializes the HBA and brings a HBA online. During this 1849 * This routine initializes the HBA and brings a HBA online. During this
@@ -1839,7 +1901,7 @@ lpfc_online(struct lpfc_hba *phba)
1839} 1901}
1840 1902
1841/** 1903/**
1842 * lpfc_unblock_mgmt_io: Mark a HBA's management interface to be not blocked. 1904 * lpfc_unblock_mgmt_io - Mark a HBA's management interface to be not blocked
1843 * @phba: pointer to lpfc hba data structure. 1905 * @phba: pointer to lpfc hba data structure.
1844 * 1906 *
1845 * This routine marks a HBA's management interface as not blocked. Once the 1907 * This routine marks a HBA's management interface as not blocked. Once the
@@ -1860,7 +1922,7 @@ lpfc_unblock_mgmt_io(struct lpfc_hba * phba)
1860} 1922}
1861 1923
1862/** 1924/**
1863 * lpfc_offline_prep: Prepare a HBA to be brought offline. 1925 * lpfc_offline_prep - Prepare a HBA to be brought offline
1864 * @phba: pointer to lpfc hba data structure. 1926 * @phba: pointer to lpfc hba data structure.
1865 * 1927 *
1866 * This routine is invoked to prepare a HBA to be brought offline. It performs 1928 * This routine is invoked to prepare a HBA to be brought offline. It performs
@@ -1917,7 +1979,7 @@ lpfc_offline_prep(struct lpfc_hba * phba)
1917} 1979}
1918 1980
1919/** 1981/**
1920 * lpfc_offline: Bring a HBA offline. 1982 * lpfc_offline - Bring a HBA offline
1921 * @phba: pointer to lpfc hba data structure. 1983 * @phba: pointer to lpfc hba data structure.
1922 * 1984 *
1923 * This routine actually brings a HBA offline. It stops all the timers 1985 * This routine actually brings a HBA offline. It stops all the timers
@@ -1962,7 +2024,7 @@ lpfc_offline(struct lpfc_hba *phba)
1962} 2024}
1963 2025
1964/** 2026/**
1965 * lpfc_scsi_free: Free all the SCSI buffers and IOCBs from driver lists. 2027 * lpfc_scsi_free - Free all the SCSI buffers and IOCBs from driver lists
1966 * @phba: pointer to lpfc hba data structure. 2028 * @phba: pointer to lpfc hba data structure.
1967 * 2029 *
1968 * This routine is to free all the SCSI buffers and IOCBs from the driver 2030 * This routine is to free all the SCSI buffers and IOCBs from the driver
@@ -2001,7 +2063,7 @@ lpfc_scsi_free(struct lpfc_hba *phba)
2001} 2063}
2002 2064
2003/** 2065/**
2004 * lpfc_create_port: Create an FC port. 2066 * lpfc_create_port - Create an FC port
2005 * @phba: pointer to lpfc hba data structure. 2067 * @phba: pointer to lpfc hba data structure.
2006 * @instance: a unique integer ID to this FC port. 2068 * @instance: a unique integer ID to this FC port.
2007 * @dev: pointer to the device data structure. 2069 * @dev: pointer to the device data structure.
@@ -2091,7 +2153,7 @@ out:
2091} 2153}
2092 2154
2093/** 2155/**
2094 * destroy_port: Destroy an FC port. 2156 * destroy_port - destroy an FC port
2095 * @vport: pointer to an lpfc virtual N_Port data structure. 2157 * @vport: pointer to an lpfc virtual N_Port data structure.
2096 * 2158 *
2097 * This routine destroys a FC port from the upper layer protocol. All the 2159 * This routine destroys a FC port from the upper layer protocol. All the
@@ -2116,7 +2178,7 @@ destroy_port(struct lpfc_vport *vport)
2116} 2178}
2117 2179
2118/** 2180/**
2119 * lpfc_get_instance: Get a unique integer ID. 2181 * lpfc_get_instance - Get a unique integer ID
2120 * 2182 *
2121 * This routine allocates a unique integer ID from lpfc_hba_index pool. It 2183 * This routine allocates a unique integer ID from lpfc_hba_index pool. It
2122 * uses the kernel idr facility to perform the task. 2184 * uses the kernel idr facility to perform the task.
@@ -2139,7 +2201,7 @@ lpfc_get_instance(void)
2139} 2201}
2140 2202
2141/** 2203/**
2142 * lpfc_scan_finished: method for SCSI layer to detect whether scan is done. 2204 * lpfc_scan_finished - method for SCSI layer to detect whether scan is done
2143 * @shost: pointer to SCSI host data structure. 2205 * @shost: pointer to SCSI host data structure.
2144 * @time: elapsed time of the scan in jiffies. 2206 * @time: elapsed time of the scan in jiffies.
2145 * 2207 *
@@ -2197,7 +2259,7 @@ finished:
2197} 2259}
2198 2260
2199/** 2261/**
2200 * lpfc_host_attrib_init: Initialize SCSI host attributes on a FC port. 2262 * lpfc_host_attrib_init - Initialize SCSI host attributes on a FC port
2201 * @shost: pointer to SCSI host data structure. 2263 * @shost: pointer to SCSI host data structure.
2202 * 2264 *
2203 * This routine initializes a given SCSI host attributes on a FC port. The 2265 * This routine initializes a given SCSI host attributes on a FC port. The
@@ -2252,7 +2314,7 @@ void lpfc_host_attrib_init(struct Scsi_Host *shost)
2252} 2314}
2253 2315
2254/** 2316/**
2255 * lpfc_enable_msix: Enable MSI-X interrupt mode. 2317 * lpfc_enable_msix - Enable MSI-X interrupt mode
2256 * @phba: pointer to lpfc hba data structure. 2318 * @phba: pointer to lpfc hba data structure.
2257 * 2319 *
2258 * This routine is invoked to enable the MSI-X interrupt vectors. The kernel 2320 * This routine is invoked to enable the MSI-X interrupt vectors. The kernel
@@ -2366,7 +2428,7 @@ msi_fail_out:
2366} 2428}
2367 2429
2368/** 2430/**
2369 * lpfc_disable_msix: Disable MSI-X interrupt mode. 2431 * lpfc_disable_msix - Disable MSI-X interrupt mode
2370 * @phba: pointer to lpfc hba data structure. 2432 * @phba: pointer to lpfc hba data structure.
2371 * 2433 *
2372 * This routine is invoked to release the MSI-X vectors and then disable the 2434 * This routine is invoked to release the MSI-X vectors and then disable the
@@ -2385,7 +2447,7 @@ lpfc_disable_msix(struct lpfc_hba *phba)
2385} 2447}
2386 2448
2387/** 2449/**
2388 * lpfc_enable_msi: Enable MSI interrupt mode. 2450 * lpfc_enable_msi - Enable MSI interrupt mode
2389 * @phba: pointer to lpfc hba data structure. 2451 * @phba: pointer to lpfc hba data structure.
2390 * 2452 *
2391 * This routine is invoked to enable the MSI interrupt mode. The kernel 2453 * This routine is invoked to enable the MSI interrupt mode. The kernel
@@ -2423,7 +2485,7 @@ lpfc_enable_msi(struct lpfc_hba *phba)
2423} 2485}
2424 2486
2425/** 2487/**
2426 * lpfc_disable_msi: Disable MSI interrupt mode. 2488 * lpfc_disable_msi - Disable MSI interrupt mode
2427 * @phba: pointer to lpfc hba data structure. 2489 * @phba: pointer to lpfc hba data structure.
2428 * 2490 *
2429 * This routine is invoked to disable the MSI interrupt mode. The driver 2491 * This routine is invoked to disable the MSI interrupt mode. The driver
@@ -2441,7 +2503,7 @@ lpfc_disable_msi(struct lpfc_hba *phba)
2441} 2503}
2442 2504
2443/** 2505/**
2444 * lpfc_log_intr_mode: Log the active interrupt mode 2506 * lpfc_log_intr_mode - Log the active interrupt mode
2445 * @phba: pointer to lpfc hba data structure. 2507 * @phba: pointer to lpfc hba data structure.
2446 * @intr_mode: active interrupt mode adopted. 2508 * @intr_mode: active interrupt mode adopted.
2447 * 2509 *
@@ -2490,7 +2552,7 @@ lpfc_stop_port(struct lpfc_hba *phba)
2490} 2552}
2491 2553
2492/** 2554/**
2493 * lpfc_enable_intr: Enable device interrupt. 2555 * lpfc_enable_intr - Enable device interrupt
2494 * @phba: pointer to lpfc hba data structure. 2556 * @phba: pointer to lpfc hba data structure.
2495 * 2557 *
2496 * This routine is invoked to enable device interrupt and associate driver's 2558 * This routine is invoked to enable device interrupt and associate driver's
@@ -2547,7 +2609,7 @@ lpfc_enable_intr(struct lpfc_hba *phba, uint32_t cfg_mode)
2547} 2609}
2548 2610
2549/** 2611/**
2550 * lpfc_disable_intr: Disable device interrupt. 2612 * lpfc_disable_intr - Disable device interrupt
2551 * @phba: pointer to lpfc hba data structure. 2613 * @phba: pointer to lpfc hba data structure.
2552 * 2614 *
2553 * This routine is invoked to disable device interrupt and disassociate the 2615 * This routine is invoked to disable device interrupt and disassociate the
@@ -2574,7 +2636,7 @@ lpfc_disable_intr(struct lpfc_hba *phba)
2574} 2636}
2575 2637
2576/** 2638/**
2577 * lpfc_pci_probe_one: lpfc PCI probe func to register device to PCI subsystem. 2639 * lpfc_pci_probe_one - lpfc PCI probe func to register device to PCI subsystem
2578 * @pdev: pointer to PCI device 2640 * @pdev: pointer to PCI device
2579 * @pid: pointer to PCI device identifier 2641 * @pid: pointer to PCI device identifier
2580 * 2642 *
@@ -3010,7 +3072,7 @@ out:
3010} 3072}
3011 3073
3012/** 3074/**
3013 * lpfc_pci_remove_one: lpfc PCI func to unregister device from PCI subsystem. 3075 * lpfc_pci_remove_one - lpfc PCI func to unregister device from PCI subsystem
3014 * @pdev: pointer to PCI device 3076 * @pdev: pointer to PCI device
3015 * 3077 *
3016 * This routine is to be registered to the kernel's PCI subsystem. When an 3078 * This routine is to be registered to the kernel's PCI subsystem. When an
@@ -3033,8 +3095,6 @@ lpfc_pci_remove_one(struct pci_dev *pdev)
3033 3095
3034 lpfc_free_sysfs_attr(vport); 3096 lpfc_free_sysfs_attr(vport);
3035 3097
3036 kthread_stop(phba->worker_thread);
3037
3038 /* Release all the vports against this physical port */ 3098 /* Release all the vports against this physical port */
3039 vports = lpfc_create_vport_work_array(phba); 3099 vports = lpfc_create_vport_work_array(phba);
3040 if (vports != NULL) 3100 if (vports != NULL)
@@ -3052,7 +3112,12 @@ lpfc_pci_remove_one(struct pci_dev *pdev)
3052 * clears the rings, discards all mailbox commands, and resets 3112 * clears the rings, discards all mailbox commands, and resets
3053 * the HBA. 3113 * the HBA.
3054 */ 3114 */
3115
3116 /* HBA interrupt will be diabled after this call */
3055 lpfc_sli_hba_down(phba); 3117 lpfc_sli_hba_down(phba);
3118 /* Stop kthread signal shall trigger work_done one more time */
3119 kthread_stop(phba->worker_thread);
3120 /* Final cleanup of txcmplq and reset the HBA */
3056 lpfc_sli_brdrestart(phba); 3121 lpfc_sli_brdrestart(phba);
3057 3122
3058 lpfc_stop_phba_timers(phba); 3123 lpfc_stop_phba_timers(phba);
@@ -3095,7 +3160,7 @@ lpfc_pci_remove_one(struct pci_dev *pdev)
3095} 3160}
3096 3161
3097/** 3162/**
3098 * lpfc_pci_suspend_one: lpfc PCI func to suspend device for power management. 3163 * lpfc_pci_suspend_one - lpfc PCI func to suspend device for power management
3099 * @pdev: pointer to PCI device 3164 * @pdev: pointer to PCI device
3100 * @msg: power management message 3165 * @msg: power management message
3101 * 3166 *
@@ -3139,7 +3204,7 @@ lpfc_pci_suspend_one(struct pci_dev *pdev, pm_message_t msg)
3139} 3204}
3140 3205
3141/** 3206/**
3142 * lpfc_pci_resume_one: lpfc PCI func to resume device for power management. 3207 * lpfc_pci_resume_one - lpfc PCI func to resume device for power management
3143 * @pdev: pointer to PCI device 3208 * @pdev: pointer to PCI device
3144 * 3209 *
3145 * This routine is to be registered to the kernel's PCI subsystem to support 3210 * This routine is to be registered to the kernel's PCI subsystem to support
@@ -3204,7 +3269,7 @@ lpfc_pci_resume_one(struct pci_dev *pdev)
3204} 3269}
3205 3270
3206/** 3271/**
3207 * lpfc_io_error_detected: Driver method for handling PCI I/O error detected. 3272 * lpfc_io_error_detected - Driver method for handling PCI I/O error detected
3208 * @pdev: pointer to PCI device. 3273 * @pdev: pointer to PCI device.
3209 * @state: the current PCI connection state. 3274 * @state: the current PCI connection state.
3210 * 3275 *
@@ -3254,7 +3319,7 @@ static pci_ers_result_t lpfc_io_error_detected(struct pci_dev *pdev,
3254} 3319}
3255 3320
3256/** 3321/**
3257 * lpfc_io_slot_reset: Restart a PCI device from scratch. 3322 * lpfc_io_slot_reset - Restart a PCI device from scratch
3258 * @pdev: pointer to PCI device. 3323 * @pdev: pointer to PCI device.
3259 * 3324 *
3260 * This routine is registered to the PCI subsystem for error handling. This is 3325 * This routine is registered to the PCI subsystem for error handling. This is
@@ -3313,7 +3378,7 @@ static pci_ers_result_t lpfc_io_slot_reset(struct pci_dev *pdev)
3313} 3378}
3314 3379
3315/** 3380/**
3316 * lpfc_io_resume: Resume PCI I/O operation. 3381 * lpfc_io_resume - Resume PCI I/O operation
3317 * @pdev: pointer to PCI device 3382 * @pdev: pointer to PCI device
3318 * 3383 *
3319 * This routine is registered to the PCI subsystem for error handling. It is 3384 * This routine is registered to the PCI subsystem for error handling. It is
@@ -3426,7 +3491,7 @@ static struct pci_driver lpfc_driver = {
3426}; 3491};
3427 3492
3428/** 3493/**
3429 * lpfc_init: lpfc module initialization routine. 3494 * lpfc_init - lpfc module initialization routine
3430 * 3495 *
3431 * This routine is to be invoked when the lpfc module is loaded into the 3496 * This routine is to be invoked when the lpfc module is loaded into the
3432 * kernel. The special kernel macro module_init() is used to indicate the 3497 * kernel. The special kernel macro module_init() is used to indicate the
@@ -3472,7 +3537,7 @@ lpfc_init(void)
3472} 3537}
3473 3538
3474/** 3539/**
3475 * lpfc_exit: lpfc module removal routine. 3540 * lpfc_exit - lpfc module removal routine
3476 * 3541 *
3477 * This routine is invoked when the lpfc module is removed from the kernel. 3542 * This routine is invoked when the lpfc module is removed from the kernel.
3478 * The special kernel macro module_exit() is used to indicate the role of 3543 * The special kernel macro module_exit() is used to indicate the role of
diff --git a/drivers/scsi/lpfc/lpfc_logmsg.h b/drivers/scsi/lpfc/lpfc_logmsg.h
index a85b7c196bbc..1aa85709b012 100644
--- a/drivers/scsi/lpfc/lpfc_logmsg.h
+++ b/drivers/scsi/lpfc/lpfc_logmsg.h
@@ -27,7 +27,7 @@
27#define LOG_FCP 0x40 /* FCP traffic history */ 27#define LOG_FCP 0x40 /* FCP traffic history */
28#define LOG_NODE 0x80 /* Node table events */ 28#define LOG_NODE 0x80 /* Node table events */
29#define LOG_TEMP 0x100 /* Temperature sensor events */ 29#define LOG_TEMP 0x100 /* Temperature sensor events */
30#define LOG_BG 0x200 /* BlockBuard events */ 30#define LOG_BG 0x200 /* BlockGuard events */
31#define LOG_MISC 0x400 /* Miscellaneous events */ 31#define LOG_MISC 0x400 /* Miscellaneous events */
32#define LOG_SLI 0x800 /* SLI events */ 32#define LOG_SLI 0x800 /* SLI events */
33#define LOG_FCP_ERROR 0x1000 /* log errors, not underruns */ 33#define LOG_FCP_ERROR 0x1000 /* log errors, not underruns */
diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c
index 34eeb086a667..134fc7fc2127 100644
--- a/drivers/scsi/lpfc/lpfc_mbox.c
+++ b/drivers/scsi/lpfc/lpfc_mbox.c
@@ -39,7 +39,7 @@
39#include "lpfc_compat.h" 39#include "lpfc_compat.h"
40 40
41/** 41/**
42 * lpfc_dump_mem: Prepare a mailbox command for retrieving HBA's VPD memory. 42 * lpfc_dump_mem - Prepare a mailbox command for retrieving HBA's VPD memory
43 * @phba: pointer to lpfc hba data structure. 43 * @phba: pointer to lpfc hba data structure.
44 * @pmb: pointer to the driver internal queue element for mailbox command. 44 * @pmb: pointer to the driver internal queue element for mailbox command.
45 * @offset: offset for dumping VPD memory mailbox command. 45 * @offset: offset for dumping VPD memory mailbox command.
@@ -77,9 +77,10 @@ lpfc_dump_mem(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb, uint16_t offset)
77} 77}
78 78
79/** 79/**
80 * lpfc_dump_mem: Prepare a mailbox command for retrieving wakeup params. 80 * lpfc_dump_wakeup_param - Prepare mailbox command for retrieving wakeup params
81 * @phba: pointer to lpfc hba data structure. 81 * @phba: pointer to lpfc hba data structure.
82 * @pmb: pointer to the driver internal queue element for mailbox command. 82 * @pmb: pointer to the driver internal queue element for mailbox command.
83 *
83 * This function create a dump memory mailbox command to dump wake up 84 * This function create a dump memory mailbox command to dump wake up
84 * parameters. 85 * parameters.
85 */ 86 */
@@ -109,7 +110,7 @@ lpfc_dump_wakeup_param(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
109} 110}
110 111
111/** 112/**
112 * lpfc_read_nv: Prepare a mailbox command for reading HBA's NVRAM param. 113 * lpfc_read_nv - Prepare a mailbox command for reading HBA's NVRAM param
113 * @phba: pointer to lpfc hba data structure. 114 * @phba: pointer to lpfc hba data structure.
114 * @pmb: pointer to the driver internal queue element for mailbox command. 115 * @pmb: pointer to the driver internal queue element for mailbox command.
115 * 116 *
@@ -132,7 +133,7 @@ lpfc_read_nv(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
132} 133}
133 134
134/** 135/**
135 * lpfc_config_async: Prepare a mailbox command for enabling HBA async event. 136 * lpfc_config_async - Prepare a mailbox command for enabling HBA async event
136 * @phba: pointer to lpfc hba data structure. 137 * @phba: pointer to lpfc hba data structure.
137 * @pmb: pointer to the driver internal queue element for mailbox command. 138 * @pmb: pointer to the driver internal queue element for mailbox command.
138 * @ring: ring number for the asynchronous event to be configured. 139 * @ring: ring number for the asynchronous event to be configured.
@@ -159,7 +160,7 @@ lpfc_config_async(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb,
159} 160}
160 161
161/** 162/**
162 * lpfc_heart_beat: Prepare a mailbox command for heart beat. 163 * lpfc_heart_beat - Prepare a mailbox command for heart beat
163 * @phba: pointer to lpfc hba data structure. 164 * @phba: pointer to lpfc hba data structure.
164 * @pmb: pointer to the driver internal queue element for mailbox command. 165 * @pmb: pointer to the driver internal queue element for mailbox command.
165 * 166 *
@@ -184,7 +185,7 @@ lpfc_heart_beat(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
184} 185}
185 186
186/** 187/**
187 * lpfc_read_la: Prepare a mailbox command for reading HBA link attention. 188 * lpfc_read_la - Prepare a mailbox command for reading HBA link attention
188 * @phba: pointer to lpfc hba data structure. 189 * @phba: pointer to lpfc hba data structure.
189 * @pmb: pointer to the driver internal queue element for mailbox command. 190 * @pmb: pointer to the driver internal queue element for mailbox command.
190 * @mp: DMA buffer memory for reading the link attention information into. 191 * @mp: DMA buffer memory for reading the link attention information into.
@@ -228,7 +229,7 @@ lpfc_read_la(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb, struct lpfc_dmabuf *mp)
228} 229}
229 230
230/** 231/**
231 * lpfc_clear_la: Prepare a mailbox command for clearing HBA link attention. 232 * lpfc_clear_la - Prepare a mailbox command for clearing HBA link attention
232 * @phba: pointer to lpfc hba data structure. 233 * @phba: pointer to lpfc hba data structure.
233 * @pmb: pointer to the driver internal queue element for mailbox command. 234 * @pmb: pointer to the driver internal queue element for mailbox command.
234 * 235 *
@@ -257,7 +258,7 @@ lpfc_clear_la(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
257} 258}
258 259
259/** 260/**
260 * lpfc_config_link: Prepare a mailbox command for configuring link on a HBA. 261 * lpfc_config_link - Prepare a mailbox command for configuring link on a HBA
261 * @phba: pointer to lpfc hba data structure. 262 * @phba: pointer to lpfc hba data structure.
262 * @pmb: pointer to the driver internal queue element for mailbox command. 263 * @pmb: pointer to the driver internal queue element for mailbox command.
263 * 264 *
@@ -305,7 +306,7 @@ lpfc_config_link(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
305} 306}
306 307
307/** 308/**
308 * lpfc_config_msi: Prepare a mailbox command for configuring msi-x. 309 * lpfc_config_msi - Prepare a mailbox command for configuring msi-x
309 * @phba: pointer to lpfc hba data structure. 310 * @phba: pointer to lpfc hba data structure.
310 * @pmb: pointer to the driver internal queue element for mailbox command. 311 * @pmb: pointer to the driver internal queue element for mailbox command.
311 * 312 *
@@ -383,7 +384,7 @@ lpfc_config_msi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
383} 384}
384 385
385/** 386/**
386 * lpfc_init_link: Prepare a mailbox command for initialize link on a HBA. 387 * lpfc_init_link - Prepare a mailbox command for initialize link on a HBA
387 * @phba: pointer to lpfc hba data structure. 388 * @phba: pointer to lpfc hba data structure.
388 * @pmb: pointer to the driver internal queue element for mailbox command. 389 * @pmb: pointer to the driver internal queue element for mailbox command.
389 * @topology: the link topology for the link to be initialized to. 390 * @topology: the link topology for the link to be initialized to.
@@ -463,7 +464,7 @@ lpfc_init_link(struct lpfc_hba * phba,
463} 464}
464 465
465/** 466/**
466 * lpfc_read_sparam: Prepare a mailbox command for reading HBA parameters. 467 * lpfc_read_sparam - Prepare a mailbox command for reading HBA parameters
467 * @phba: pointer to lpfc hba data structure. 468 * @phba: pointer to lpfc hba data structure.
468 * @pmb: pointer to the driver internal queue element for mailbox command. 469 * @pmb: pointer to the driver internal queue element for mailbox command.
469 * @vpi: virtual N_Port identifier. 470 * @vpi: virtual N_Port identifier.
@@ -523,7 +524,7 @@ lpfc_read_sparam(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb, int vpi)
523} 524}
524 525
525/** 526/**
526 * lpfc_unreg_did: Prepare a mailbox command for unregistering DID. 527 * lpfc_unreg_did - Prepare a mailbox command for unregistering DID
527 * @phba: pointer to lpfc hba data structure. 528 * @phba: pointer to lpfc hba data structure.
528 * @vpi: virtual N_Port identifier. 529 * @vpi: virtual N_Port identifier.
529 * @did: remote port identifier. 530 * @did: remote port identifier.
@@ -555,7 +556,7 @@ lpfc_unreg_did(struct lpfc_hba * phba, uint16_t vpi, uint32_t did,
555} 556}
556 557
557/** 558/**
558 * lpfc_read_config: Prepare a mailbox command for reading HBA configuration. 559 * lpfc_read_config - Prepare a mailbox command for reading HBA configuration
559 * @phba: pointer to lpfc hba data structure. 560 * @phba: pointer to lpfc hba data structure.
560 * @pmb: pointer to the driver internal queue element for mailbox command. 561 * @pmb: pointer to the driver internal queue element for mailbox command.
561 * 562 *
@@ -581,7 +582,7 @@ lpfc_read_config(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
581} 582}
582 583
583/** 584/**
584 * lpfc_read_lnk_stat: Prepare a mailbox command for reading HBA link stats. 585 * lpfc_read_lnk_stat - Prepare a mailbox command for reading HBA link stats
585 * @phba: pointer to lpfc hba data structure. 586 * @phba: pointer to lpfc hba data structure.
586 * @pmb: pointer to the driver internal queue element for mailbox command. 587 * @pmb: pointer to the driver internal queue element for mailbox command.
587 * 588 *
@@ -606,7 +607,7 @@ lpfc_read_lnk_stat(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
606} 607}
607 608
608/** 609/**
609 * lpfc_reg_login: Prepare a mailbox command for registering remote login. 610 * lpfc_reg_login - Prepare a mailbox command for registering remote login
610 * @phba: pointer to lpfc hba data structure. 611 * @phba: pointer to lpfc hba data structure.
611 * @vpi: virtual N_Port identifier. 612 * @vpi: virtual N_Port identifier.
612 * @did: remote port identifier. 613 * @did: remote port identifier.
@@ -677,7 +678,7 @@ lpfc_reg_login(struct lpfc_hba *phba, uint16_t vpi, uint32_t did,
677} 678}
678 679
679/** 680/**
680 * lpfc_unreg_login: Prepare a mailbox command for unregistering remote login. 681 * lpfc_unreg_login - Prepare a mailbox command for unregistering remote login
681 * @phba: pointer to lpfc hba data structure. 682 * @phba: pointer to lpfc hba data structure.
682 * @vpi: virtual N_Port identifier. 683 * @vpi: virtual N_Port identifier.
683 * @rpi: remote port identifier 684 * @rpi: remote port identifier
@@ -709,7 +710,7 @@ lpfc_unreg_login(struct lpfc_hba *phba, uint16_t vpi, uint32_t rpi,
709} 710}
710 711
711/** 712/**
712 * lpfc_reg_vpi: Prepare a mailbox command for registering vport identifier. 713 * lpfc_reg_vpi - Prepare a mailbox command for registering vport identifier
713 * @phba: pointer to lpfc hba data structure. 714 * @phba: pointer to lpfc hba data structure.
714 * @vpi: virtual N_Port identifier. 715 * @vpi: virtual N_Port identifier.
715 * @sid: Fibre Channel S_ID (N_Port_ID assigned to a virtual N_Port). 716 * @sid: Fibre Channel S_ID (N_Port_ID assigned to a virtual N_Port).
@@ -741,7 +742,7 @@ lpfc_reg_vpi(struct lpfc_hba *phba, uint16_t vpi, uint32_t sid,
741} 742}
742 743
743/** 744/**
744 * lpfc_unreg_vpi: Prepare a mailbox command for unregistering vport id. 745 * lpfc_unreg_vpi - Prepare a mailbox command for unregistering vport id
745 * @phba: pointer to lpfc hba data structure. 746 * @phba: pointer to lpfc hba data structure.
746 * @vpi: virtual N_Port identifier. 747 * @vpi: virtual N_Port identifier.
747 * @pmb: pointer to the driver internal queue element for mailbox command. 748 * @pmb: pointer to the driver internal queue element for mailbox command.
@@ -771,7 +772,7 @@ lpfc_unreg_vpi(struct lpfc_hba *phba, uint16_t vpi, LPFC_MBOXQ_t *pmb)
771} 772}
772 773
773/** 774/**
774 * lpfc_config_pcb_setup: Set up IOCB rings in the Port Control Block (PCB) 775 * lpfc_config_pcb_setup - Set up IOCB rings in the Port Control Block (PCB)
775 * @phba: pointer to lpfc hba data structure. 776 * @phba: pointer to lpfc hba data structure.
776 * 777 *
777 * This routine sets up and initializes the IOCB rings in the Port Control 778 * This routine sets up and initializes the IOCB rings in the Port Control
@@ -835,7 +836,7 @@ lpfc_config_pcb_setup(struct lpfc_hba * phba)
835} 836}
836 837
837/** 838/**
838 * lpfc_read_rev: Prepare a mailbox command for reading HBA revision. 839 * lpfc_read_rev - Prepare a mailbox command for reading HBA revision
839 * @phba: pointer to lpfc hba data structure. 840 * @phba: pointer to lpfc hba data structure.
840 * @pmb: pointer to the driver internal queue element for mailbox command. 841 * @pmb: pointer to the driver internal queue element for mailbox command.
841 * 842 *
@@ -861,7 +862,7 @@ lpfc_read_rev(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
861} 862}
862 863
863/** 864/**
864 * lpfc_build_hbq_profile2: Set up the HBQ Selection Profile 2. 865 * lpfc_build_hbq_profile2 - Set up the HBQ Selection Profile 2
865 * @hbqmb: pointer to the HBQ configuration data structure in mailbox command. 866 * @hbqmb: pointer to the HBQ configuration data structure in mailbox command.
866 * @hbq_desc: pointer to the HBQ selection profile descriptor. 867 * @hbq_desc: pointer to the HBQ selection profile descriptor.
867 * 868 *
@@ -880,7 +881,7 @@ lpfc_build_hbq_profile2(struct config_hbq_var *hbqmb,
880} 881}
881 882
882/** 883/**
883 * lpfc_build_hbq_profile3: Set up the HBQ Selection Profile 3. 884 * lpfc_build_hbq_profile3 - Set up the HBQ Selection Profile 3
884 * @hbqmb: pointer to the HBQ configuration data structure in mailbox command. 885 * @hbqmb: pointer to the HBQ configuration data structure in mailbox command.
885 * @hbq_desc: pointer to the HBQ selection profile descriptor. 886 * @hbq_desc: pointer to the HBQ selection profile descriptor.
886 * 887 *
@@ -902,7 +903,7 @@ lpfc_build_hbq_profile3(struct config_hbq_var *hbqmb,
902} 903}
903 904
904/** 905/**
905 * lpfc_build_hbq_profile5: Set up the HBQ Selection Profile 5. 906 * lpfc_build_hbq_profile5 - Set up the HBQ Selection Profile 5
906 * @hbqmb: pointer to the HBQ configuration data structure in mailbox command. 907 * @hbqmb: pointer to the HBQ configuration data structure in mailbox command.
907 * @hbq_desc: pointer to the HBQ selection profile descriptor. 908 * @hbq_desc: pointer to the HBQ selection profile descriptor.
908 * 909 *
@@ -925,7 +926,7 @@ lpfc_build_hbq_profile5(struct config_hbq_var *hbqmb,
925} 926}
926 927
927/** 928/**
928 * lpfc_config_hbq: Prepare a mailbox command for configuring an HBQ. 929 * lpfc_config_hbq - Prepare a mailbox command for configuring an HBQ
929 * @phba: pointer to lpfc hba data structure. 930 * @phba: pointer to lpfc hba data structure.
930 * @id: HBQ identifier. 931 * @id: HBQ identifier.
931 * @hbq_desc: pointer to the HBA descriptor data structure. 932 * @hbq_desc: pointer to the HBA descriptor data structure.
@@ -999,7 +1000,7 @@ lpfc_config_hbq(struct lpfc_hba *phba, uint32_t id,
999} 1000}
1000 1001
1001/** 1002/**
1002 * lpfc_config_ring: Prepare a mailbox command for configuring an IOCB ring. 1003 * lpfc_config_ring - Prepare a mailbox command for configuring an IOCB ring
1003 * @phba: pointer to lpfc hba data structure. 1004 * @phba: pointer to lpfc hba data structure.
1004 * @ring: 1005 * @ring:
1005 * @pmb: pointer to the driver internal queue element for mailbox command. 1006 * @pmb: pointer to the driver internal queue element for mailbox command.
@@ -1057,7 +1058,7 @@ lpfc_config_ring(struct lpfc_hba * phba, int ring, LPFC_MBOXQ_t * pmb)
1057} 1058}
1058 1059
1059/** 1060/**
1060 * lpfc_config_port: Prepare a mailbox command for configuring port. 1061 * lpfc_config_port - Prepare a mailbox command for configuring port
1061 * @phba: pointer to lpfc hba data structure. 1062 * @phba: pointer to lpfc hba data structure.
1062 * @pmb: pointer to the driver internal queue element for mailbox command. 1063 * @pmb: pointer to the driver internal queue element for mailbox command.
1063 * 1064 *
@@ -1227,7 +1228,7 @@ lpfc_config_port(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
1227} 1228}
1228 1229
1229/** 1230/**
1230 * lpfc_kill_board: Prepare a mailbox command for killing board. 1231 * lpfc_kill_board - Prepare a mailbox command for killing board
1231 * @phba: pointer to lpfc hba data structure. 1232 * @phba: pointer to lpfc hba data structure.
1232 * @pmb: pointer to the driver internal queue element for mailbox command. 1233 * @pmb: pointer to the driver internal queue element for mailbox command.
1233 * 1234 *
@@ -1253,7 +1254,7 @@ lpfc_kill_board(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb)
1253} 1254}
1254 1255
1255/** 1256/**
1256 * lpfc_mbox_put: Put a mailbox cmd into the tail of driver's mailbox queue. 1257 * lpfc_mbox_put - Put a mailbox cmd into the tail of driver's mailbox queue
1257 * @phba: pointer to lpfc hba data structure. 1258 * @phba: pointer to lpfc hba data structure.
1258 * @mbq: pointer to the driver internal queue element for mailbox command. 1259 * @mbq: pointer to the driver internal queue element for mailbox command.
1259 * 1260 *
@@ -1277,7 +1278,7 @@ lpfc_mbox_put(struct lpfc_hba * phba, LPFC_MBOXQ_t * mbq)
1277} 1278}
1278 1279
1279/** 1280/**
1280 * lpfc_mbox_get: Remove a mailbox cmd from the head of driver's mailbox queue. 1281 * lpfc_mbox_get - Remove a mailbox cmd from the head of driver's mailbox queue
1281 * @phba: pointer to lpfc hba data structure. 1282 * @phba: pointer to lpfc hba data structure.
1282 * 1283 *
1283 * Driver maintains a internal mailbox command queue implemented as a linked 1284 * Driver maintains a internal mailbox command queue implemented as a linked
@@ -1304,7 +1305,7 @@ lpfc_mbox_get(struct lpfc_hba * phba)
1304} 1305}
1305 1306
1306/** 1307/**
1307 * lpfc_mbox_cmpl_put: Put mailbox command into mailbox command complete list. 1308 * lpfc_mbox_cmpl_put - Put mailbox command into mailbox command complete list
1308 * @phba: pointer to lpfc hba data structure. 1309 * @phba: pointer to lpfc hba data structure.
1309 * @mbq: pointer to the driver internal queue element for mailbox command. 1310 * @mbq: pointer to the driver internal queue element for mailbox command.
1310 * 1311 *
@@ -1327,7 +1328,7 @@ lpfc_mbox_cmpl_put(struct lpfc_hba * phba, LPFC_MBOXQ_t * mbq)
1327} 1328}
1328 1329
1329/** 1330/**
1330 * lpfc_mbox_tmo_val: Retrieve mailbox command timeout value. 1331 * lpfc_mbox_tmo_val - Retrieve mailbox command timeout value
1331 * @phba: pointer to lpfc hba data structure. 1332 * @phba: pointer to lpfc hba data structure.
1332 * @cmd: mailbox command code. 1333 * @cmd: mailbox command code.
1333 * 1334 *
diff --git a/drivers/scsi/lpfc/lpfc_mem.c b/drivers/scsi/lpfc/lpfc_mem.c
index a4bba2069248..35a976733398 100644
--- a/drivers/scsi/lpfc/lpfc_mem.c
+++ b/drivers/scsi/lpfc/lpfc_mem.c
@@ -41,7 +41,7 @@
41 41
42 42
43/** 43/**
44 * lpfc_mem_alloc: create and allocate all PCI and memory pools 44 * lpfc_mem_alloc - create and allocate all PCI and memory pools
45 * @phba: HBA to allocate pools for 45 * @phba: HBA to allocate pools for
46 * 46 *
47 * Description: Creates and allocates PCI pools lpfc_scsi_dma_buf_pool, 47 * Description: Creates and allocates PCI pools lpfc_scsi_dma_buf_pool,
@@ -136,12 +136,12 @@ lpfc_mem_alloc(struct lpfc_hba * phba)
136} 136}
137 137
138/** 138/**
139 * lpfc_mem_free: Frees all PCI and memory allocated by lpfc_mem_alloc 139 * lpfc_mem_free - Frees all PCI and memory allocated by lpfc_mem_alloc
140 * @phba: HBA to free memory for 140 * @phba: HBA to free memory for
141 * 141 *
142 * Description: Frees PCI pools lpfc_scsi_dma_buf_pool, lpfc_mbuf_pool, 142 * Description: Frees PCI pools lpfc_scsi_dma_buf_pool, lpfc_mbuf_pool,
143 * lpfc_hbq_pool. Frees kmalloc-backed mempools for LPFC_MBOXQ_t and 143 * lpfc_hbq_pool. Frees kmalloc-backed mempools for LPFC_MBOXQ_t and
144 * lpfc_nodelist. Also frees the VPI bitmask. 144 * lpfc_nodelist. Also frees the VPI bitmask
145 * 145 *
146 * Returns: None 146 * Returns: None
147 **/ 147 **/
@@ -212,7 +212,7 @@ lpfc_mem_free(struct lpfc_hba * phba)
212} 212}
213 213
214/** 214/**
215 * lpfc_mbuf_alloc: Allocate an mbuf from the lpfc_mbuf_pool PCI pool 215 * lpfc_mbuf_alloc - Allocate an mbuf from the lpfc_mbuf_pool PCI pool
216 * @phba: HBA which owns the pool to allocate from 216 * @phba: HBA which owns the pool to allocate from
217 * @mem_flags: indicates if this is a priority (MEM_PRI) allocation 217 * @mem_flags: indicates if this is a priority (MEM_PRI) allocation
218 * @handle: used to return the DMA-mapped address of the mbuf 218 * @handle: used to return the DMA-mapped address of the mbuf
@@ -249,7 +249,7 @@ lpfc_mbuf_alloc(struct lpfc_hba *phba, int mem_flags, dma_addr_t *handle)
249} 249}
250 250
251/** 251/**
252 * __lpfc_mem_free: Free an mbuf from the lpfc_mbuf_pool PCI pool (locked) 252 * __lpfc_mbuf_free - Free an mbuf from the lpfc_mbuf_pool PCI pool (locked)
253 * @phba: HBA which owns the pool to return to 253 * @phba: HBA which owns the pool to return to
254 * @virt: mbuf to free 254 * @virt: mbuf to free
255 * @dma: the DMA-mapped address of the lpfc_mbuf_pool to be freed 255 * @dma: the DMA-mapped address of the lpfc_mbuf_pool to be freed
@@ -278,7 +278,7 @@ __lpfc_mbuf_free(struct lpfc_hba * phba, void *virt, dma_addr_t dma)
278} 278}
279 279
280/** 280/**
281 * lpfc_mem_free: Free an mbuf from the lpfc_mbuf_pool PCI pool (unlocked) 281 * lpfc_mbuf_free - Free an mbuf from the lpfc_mbuf_pool PCI pool (unlocked)
282 * @phba: HBA which owns the pool to return to 282 * @phba: HBA which owns the pool to return to
283 * @virt: mbuf to free 283 * @virt: mbuf to free
284 * @dma: the DMA-mapped address of the lpfc_mbuf_pool to be freed 284 * @dma: the DMA-mapped address of the lpfc_mbuf_pool to be freed
@@ -291,7 +291,6 @@ __lpfc_mbuf_free(struct lpfc_hba * phba, void *virt, dma_addr_t dma)
291 * Returns: None 291 * Returns: None
292 **/ 292 **/
293void 293void
294
295lpfc_mbuf_free(struct lpfc_hba * phba, void *virt, dma_addr_t dma) 294lpfc_mbuf_free(struct lpfc_hba * phba, void *virt, dma_addr_t dma)
296{ 295{
297 unsigned long iflags; 296 unsigned long iflags;
@@ -303,7 +302,7 @@ lpfc_mbuf_free(struct lpfc_hba * phba, void *virt, dma_addr_t dma)
303} 302}
304 303
305/** 304/**
306 * lpfc_els_hbq_alloc: Allocate an HBQ buffer 305 * lpfc_els_hbq_alloc - Allocate an HBQ buffer
307 * @phba: HBA to allocate HBQ buffer for 306 * @phba: HBA to allocate HBQ buffer for
308 * 307 *
309 * Description: Allocates a DMA-mapped HBQ buffer from the lpfc_hbq_pool PCI 308 * Description: Allocates a DMA-mapped HBQ buffer from the lpfc_hbq_pool PCI
@@ -335,7 +334,7 @@ lpfc_els_hbq_alloc(struct lpfc_hba *phba)
335} 334}
336 335
337/** 336/**
338 * lpfc_mem_hbq_free: Frees an HBQ buffer allocated with lpfc_els_hbq_alloc 337 * lpfc_mem_hbq_free - Frees an HBQ buffer allocated with lpfc_els_hbq_alloc
339 * @phba: HBA buffer was allocated for 338 * @phba: HBA buffer was allocated for
340 * @hbqbp: HBQ container returned by lpfc_els_hbq_alloc 339 * @hbqbp: HBQ container returned by lpfc_els_hbq_alloc
341 * 340 *
@@ -355,7 +354,7 @@ lpfc_els_hbq_free(struct lpfc_hba *phba, struct hbq_dmabuf *hbqbp)
355} 354}
356 355
357/** 356/**
358 * lpfc_in_buf_free: Free a DMA buffer 357 * lpfc_in_buf_free - Free a DMA buffer
359 * @phba: HBA buffer is associated with 358 * @phba: HBA buffer is associated with
360 * @mp: Buffer to free 359 * @mp: Buffer to free
361 * 360 *
diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c
index 8f548adae9cc..08cdc77af41c 100644
--- a/drivers/scsi/lpfc/lpfc_nportdisc.c
+++ b/drivers/scsi/lpfc/lpfc_nportdisc.c
@@ -192,7 +192,6 @@ lpfc_els_abort(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp)
192 struct lpfc_sli *psli = &phba->sli; 192 struct lpfc_sli *psli = &phba->sli;
193 struct lpfc_sli_ring *pring = &psli->ring[LPFC_ELS_RING]; 193 struct lpfc_sli_ring *pring = &psli->ring[LPFC_ELS_RING];
194 struct lpfc_iocbq *iocb, *next_iocb; 194 struct lpfc_iocbq *iocb, *next_iocb;
195 IOCB_t *cmd;
196 195
197 /* Abort outstanding I/O on NPort <nlp_DID> */ 196 /* Abort outstanding I/O on NPort <nlp_DID> */
198 lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_DISCOVERY, 197 lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_DISCOVERY,
@@ -223,19 +222,10 @@ lpfc_els_abort(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp)
223 } 222 }
224 spin_unlock_irq(&phba->hbalock); 223 spin_unlock_irq(&phba->hbalock);
225 224
226 while (!list_empty(&completions)) { 225 /* Cancel all the IOCBs from the completions list */
227 iocb = list_get_first(&completions, struct lpfc_iocbq, list); 226 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
228 cmd = &iocb->iocb; 227 IOERR_SLI_ABORTED);
229 list_del_init(&iocb->list); 228
230
231 if (!iocb->iocb_cmpl)
232 lpfc_sli_release_iocbq(phba, iocb);
233 else {
234 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
235 cmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
236 (iocb->iocb_cmpl) (phba, iocb, iocb);
237 }
238 }
239 lpfc_cancel_retry_delay_tmo(phba->pport, ndlp); 229 lpfc_cancel_retry_delay_tmo(phba->pport, ndlp);
240 return 0; 230 return 0;
241} 231}
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index 36fd2e75da1c..167b66dd34c7 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -112,7 +112,7 @@ lpfc_debug_save_dif(struct scsi_cmnd *cmnd)
112} 112}
113 113
114/** 114/**
115 * lpfc_update_stats: Update statistical data for the command completion. 115 * lpfc_update_stats - Update statistical data for the command completion
116 * @phba: Pointer to HBA object. 116 * @phba: Pointer to HBA object.
117 * @lpfc_cmd: lpfc scsi command object pointer. 117 * @lpfc_cmd: lpfc scsi command object pointer.
118 * 118 *
@@ -165,8 +165,7 @@ lpfc_update_stats(struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd)
165} 165}
166 166
167/** 167/**
168 * lpfc_send_sdev_queuedepth_change_event: Posts a queuedepth change 168 * lpfc_send_sdev_queuedepth_change_event - Posts a queuedepth change event
169 * event.
170 * @phba: Pointer to HBA context object. 169 * @phba: Pointer to HBA context object.
171 * @vport: Pointer to vport object. 170 * @vport: Pointer to vport object.
172 * @ndlp: Pointer to FC node associated with the target. 171 * @ndlp: Pointer to FC node associated with the target.
@@ -220,7 +219,7 @@ lpfc_send_sdev_queuedepth_change_event(struct lpfc_hba *phba,
220} 219}
221 220
222/** 221/**
223 * lpfc_rampdown_queue_depth: Post RAMP_DOWN_QUEUE event to worker thread. 222 * lpfc_rampdown_queue_depth - Post RAMP_DOWN_QUEUE event to worker thread
224 * @phba: The Hba for which this call is being executed. 223 * @phba: The Hba for which this call is being executed.
225 * 224 *
226 * This routine is called when there is resource error in driver or firmware. 225 * This routine is called when there is resource error in driver or firmware.
@@ -261,7 +260,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hba *phba)
261} 260}
262 261
263/** 262/**
264 * lpfc_rampup_queue_depth: Post RAMP_UP_QUEUE event for worker thread. 263 * lpfc_rampup_queue_depth - Post RAMP_UP_QUEUE event for worker thread
265 * @phba: The Hba for which this call is being executed. 264 * @phba: The Hba for which this call is being executed.
266 * 265 *
267 * This routine post WORKER_RAMP_UP_QUEUE event for @phba vport. This routine 266 * This routine post WORKER_RAMP_UP_QUEUE event for @phba vport. This routine
@@ -273,14 +272,14 @@ lpfc_rampdown_queue_depth(struct lpfc_hba *phba)
273 **/ 272 **/
274static inline void 273static inline void
275lpfc_rampup_queue_depth(struct lpfc_vport *vport, 274lpfc_rampup_queue_depth(struct lpfc_vport *vport,
276 struct scsi_device *sdev) 275 uint32_t queue_depth)
277{ 276{
278 unsigned long flags; 277 unsigned long flags;
279 struct lpfc_hba *phba = vport->phba; 278 struct lpfc_hba *phba = vport->phba;
280 uint32_t evt_posted; 279 uint32_t evt_posted;
281 atomic_inc(&phba->num_cmd_success); 280 atomic_inc(&phba->num_cmd_success);
282 281
283 if (vport->cfg_lun_queue_depth <= sdev->queue_depth) 282 if (vport->cfg_lun_queue_depth <= queue_depth)
284 return; 283 return;
285 spin_lock_irqsave(&phba->hbalock, flags); 284 spin_lock_irqsave(&phba->hbalock, flags);
286 if (((phba->last_ramp_up_time + QUEUE_RAMP_UP_INTERVAL) > jiffies) || 285 if (((phba->last_ramp_up_time + QUEUE_RAMP_UP_INTERVAL) > jiffies) ||
@@ -303,7 +302,7 @@ lpfc_rampup_queue_depth(struct lpfc_vport *vport,
303} 302}
304 303
305/** 304/**
306 * lpfc_ramp_down_queue_handler: WORKER_RAMP_DOWN_QUEUE event handler. 305 * lpfc_ramp_down_queue_handler - WORKER_RAMP_DOWN_QUEUE event handler
307 * @phba: The Hba for which this call is being executed. 306 * @phba: The Hba for which this call is being executed.
308 * 307 *
309 * This routine is called to process WORKER_RAMP_DOWN_QUEUE event for worker 308 * This routine is called to process WORKER_RAMP_DOWN_QUEUE event for worker
@@ -361,7 +360,7 @@ lpfc_ramp_down_queue_handler(struct lpfc_hba *phba)
361} 360}
362 361
363/** 362/**
364 * lpfc_ramp_up_queue_handler: WORKER_RAMP_UP_QUEUE event handler. 363 * lpfc_ramp_up_queue_handler - WORKER_RAMP_UP_QUEUE event handler
365 * @phba: The Hba for which this call is being executed. 364 * @phba: The Hba for which this call is being executed.
366 * 365 *
367 * This routine is called to process WORKER_RAMP_UP_QUEUE event for worker 366 * This routine is called to process WORKER_RAMP_UP_QUEUE event for worker
@@ -410,7 +409,7 @@ lpfc_ramp_up_queue_handler(struct lpfc_hba *phba)
410} 409}
411 410
412/** 411/**
413 * lpfc_scsi_dev_block: set all scsi hosts to block state. 412 * lpfc_scsi_dev_block - set all scsi hosts to block state
414 * @phba: Pointer to HBA context object. 413 * @phba: Pointer to HBA context object.
415 * 414 *
416 * This function walks vport list and set each SCSI host to block state 415 * This function walks vport list and set each SCSI host to block state
@@ -439,7 +438,7 @@ lpfc_scsi_dev_block(struct lpfc_hba *phba)
439} 438}
440 439
441/** 440/**
442 * lpfc_new_scsi_buf: Scsi buffer allocator. 441 * lpfc_new_scsi_buf - Scsi buffer allocator
443 * @vport: The virtual port for which this call being executed. 442 * @vport: The virtual port for which this call being executed.
444 * 443 *
445 * This routine allocates a scsi buffer, which contains all the necessary 444 * This routine allocates a scsi buffer, which contains all the necessary
@@ -563,7 +562,7 @@ lpfc_new_scsi_buf(struct lpfc_vport *vport)
563} 562}
564 563
565/** 564/**
566 * lpfc_get_scsi_buf: Get a scsi buffer from lpfc_scsi_buf_list list of Hba. 565 * lpfc_get_scsi_buf - Get a scsi buffer from lpfc_scsi_buf_list list of Hba
567 * @phba: The Hba for which this call is being executed. 566 * @phba: The Hba for which this call is being executed.
568 * 567 *
569 * This routine removes a scsi buffer from head of @phba lpfc_scsi_buf_list list 568 * This routine removes a scsi buffer from head of @phba lpfc_scsi_buf_list list
@@ -592,7 +591,7 @@ lpfc_get_scsi_buf(struct lpfc_hba * phba)
592} 591}
593 592
594/** 593/**
595 * lpfc_release_scsi_buf: Return a scsi buffer back to hba lpfc_scsi_buf_list list. 594 * lpfc_release_scsi_buf - Return a scsi buffer back to hba's lpfc_scsi_buf_list
596 * @phba: The Hba for which this call is being executed. 595 * @phba: The Hba for which this call is being executed.
597 * @psb: The scsi buffer which is being released. 596 * @psb: The scsi buffer which is being released.
598 * 597 *
@@ -611,7 +610,7 @@ lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_scsi_buf *psb)
611} 610}
612 611
613/** 612/**
614 * lpfc_scsi_prep_dma_buf: Routine to do DMA mapping for scsi buffer. 613 * lpfc_scsi_prep_dma_buf - Routine to do DMA mapping for scsi buffer
615 * @phba: The Hba for which this call is being executed. 614 * @phba: The Hba for which this call is being executed.
616 * @lpfc_cmd: The scsi buffer which is going to be mapped. 615 * @lpfc_cmd: The scsi buffer which is going to be mapped.
617 * 616 *
@@ -738,7 +737,7 @@ lpfc_scsi_prep_dma_buf(struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd)
738 * Due to difference in data length between DIF/non-DIF paths, 737 * Due to difference in data length between DIF/non-DIF paths,
739 * we need to set word 4 of IOCB here 738 * we need to set word 4 of IOCB here
740 */ 739 */
741 iocb_cmd->un.fcpi.fcpi_parm = le32_to_cpu(scsi_bufflen(scsi_cmnd)); 740 iocb_cmd->un.fcpi.fcpi_parm = scsi_bufflen(scsi_cmnd);
742 return 0; 741 return 0;
743} 742}
744 743
@@ -823,9 +822,9 @@ lpfc_cmd_blksize(struct scsi_cmnd *sc)
823/** 822/**
824 * lpfc_get_cmd_dif_parms - Extract DIF parameters from SCSI command 823 * lpfc_get_cmd_dif_parms - Extract DIF parameters from SCSI command
825 * @sc: in: SCSI command 824 * @sc: in: SCSI command
826 * @apptagmask out: app tag mask 825 * @apptagmask: out: app tag mask
827 * @apptagval out: app tag value 826 * @apptagval: out: app tag value
828 * @reftag out: ref tag (reference tag) 827 * @reftag: out: ref tag (reference tag)
829 * 828 *
830 * Description: 829 * Description:
831 * Extract DIF paramters from the command if possible. Otherwise, 830 * Extract DIF paramters from the command if possible. Otherwise,
@@ -1413,7 +1412,7 @@ out:
1413} 1412}
1414 1413
1415/** 1414/**
1416 * lpfc_send_scsi_error_event: Posts an event when there is SCSI error. 1415 * lpfc_send_scsi_error_event - Posts an event when there is SCSI error
1417 * @phba: Pointer to hba context object. 1416 * @phba: Pointer to hba context object.
1418 * @vport: Pointer to vport object. 1417 * @vport: Pointer to vport object.
1419 * @lpfc_cmd: Pointer to lpfc scsi command which reported the error. 1418 * @lpfc_cmd: Pointer to lpfc scsi command which reported the error.
@@ -1505,7 +1504,7 @@ lpfc_send_scsi_error_event(struct lpfc_hba *phba, struct lpfc_vport *vport,
1505} 1504}
1506 1505
1507/** 1506/**
1508 * lpfc_scsi_unprep_dma_buf: Routine to un-map DMA mapping of scatter gather. 1507 * lpfc_scsi_unprep_dma_buf - Routine to un-map DMA mapping of scatter gather
1509 * @phba: The Hba for which this call is being executed. 1508 * @phba: The Hba for which this call is being executed.
1510 * @psb: The scsi buffer which is going to be un-mapped. 1509 * @psb: The scsi buffer which is going to be un-mapped.
1511 * 1510 *
@@ -1530,7 +1529,7 @@ lpfc_scsi_unprep_dma_buf(struct lpfc_hba * phba, struct lpfc_scsi_buf * psb)
1530} 1529}
1531 1530
1532/** 1531/**
1533 * lpfc_handler_fcp_err: FCP response handler. 1532 * lpfc_handler_fcp_err - FCP response handler
1534 * @vport: The virtual port for which this call is being executed. 1533 * @vport: The virtual port for which this call is being executed.
1535 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure. 1534 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure.
1536 * @rsp_iocb: The response IOCB which contains FCP error. 1535 * @rsp_iocb: The response IOCB which contains FCP error.
@@ -1674,7 +1673,7 @@ lpfc_handle_fcp_err(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
1674} 1673}
1675 1674
1676/** 1675/**
1677 * lpfc_scsi_cmd_iocb_cmpl: Scsi cmnd IOCB completion routine. 1676 * lpfc_scsi_cmd_iocb_cmpl - Scsi cmnd IOCB completion routine
1678 * @phba: The Hba for which this call is being executed. 1677 * @phba: The Hba for which this call is being executed.
1679 * @pIocbIn: The command IOCBQ for the scsi cmnd. 1678 * @pIocbIn: The command IOCBQ for the scsi cmnd.
1680 * @pIocbOut: The response IOCBQ for the scsi cmnd . 1679 * @pIocbOut: The response IOCBQ for the scsi cmnd .
@@ -1694,10 +1693,12 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1694 struct lpfc_nodelist *pnode = rdata->pnode; 1693 struct lpfc_nodelist *pnode = rdata->pnode;
1695 struct scsi_cmnd *cmd = lpfc_cmd->pCmd; 1694 struct scsi_cmnd *cmd = lpfc_cmd->pCmd;
1696 int result; 1695 int result;
1697 struct scsi_device *sdev, *tmp_sdev; 1696 struct scsi_device *tmp_sdev;
1698 int depth = 0; 1697 int depth = 0;
1699 unsigned long flags; 1698 unsigned long flags;
1700 struct lpfc_fast_path_event *fast_path_evt; 1699 struct lpfc_fast_path_event *fast_path_evt;
1700 struct Scsi_Host *shost = cmd->device->host;
1701 uint32_t queue_depth, scsi_id;
1701 1702
1702 lpfc_cmd->result = pIocbOut->iocb.un.ulpWord[4]; 1703 lpfc_cmd->result = pIocbOut->iocb.un.ulpWord[4];
1703 lpfc_cmd->status = pIocbOut->iocb.ulpStatus; 1704 lpfc_cmd->status = pIocbOut->iocb.ulpStatus;
@@ -1808,11 +1809,10 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1808 1809
1809 lpfc_update_stats(phba, lpfc_cmd); 1810 lpfc_update_stats(phba, lpfc_cmd);
1810 result = cmd->result; 1811 result = cmd->result;
1811 sdev = cmd->device;
1812 if (vport->cfg_max_scsicmpl_time && 1812 if (vport->cfg_max_scsicmpl_time &&
1813 time_after(jiffies, lpfc_cmd->start_time + 1813 time_after(jiffies, lpfc_cmd->start_time +
1814 msecs_to_jiffies(vport->cfg_max_scsicmpl_time))) { 1814 msecs_to_jiffies(vport->cfg_max_scsicmpl_time))) {
1815 spin_lock_irqsave(sdev->host->host_lock, flags); 1815 spin_lock_irqsave(shost->host_lock, flags);
1816 if (pnode && NLP_CHK_NODE_ACT(pnode)) { 1816 if (pnode && NLP_CHK_NODE_ACT(pnode)) {
1817 if (pnode->cmd_qdepth > 1817 if (pnode->cmd_qdepth >
1818 atomic_read(&pnode->cmd_pending) && 1818 atomic_read(&pnode->cmd_pending) &&
@@ -1825,22 +1825,26 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1825 1825
1826 pnode->last_change_time = jiffies; 1826 pnode->last_change_time = jiffies;
1827 } 1827 }
1828 spin_unlock_irqrestore(sdev->host->host_lock, flags); 1828 spin_unlock_irqrestore(shost->host_lock, flags);
1829 } else if (pnode && NLP_CHK_NODE_ACT(pnode)) { 1829 } else if (pnode && NLP_CHK_NODE_ACT(pnode)) {
1830 if ((pnode->cmd_qdepth < LPFC_MAX_TGT_QDEPTH) && 1830 if ((pnode->cmd_qdepth < LPFC_MAX_TGT_QDEPTH) &&
1831 time_after(jiffies, pnode->last_change_time + 1831 time_after(jiffies, pnode->last_change_time +
1832 msecs_to_jiffies(LPFC_TGTQ_INTERVAL))) { 1832 msecs_to_jiffies(LPFC_TGTQ_INTERVAL))) {
1833 spin_lock_irqsave(sdev->host->host_lock, flags); 1833 spin_lock_irqsave(shost->host_lock, flags);
1834 pnode->cmd_qdepth += pnode->cmd_qdepth * 1834 pnode->cmd_qdepth += pnode->cmd_qdepth *
1835 LPFC_TGTQ_RAMPUP_PCENT / 100; 1835 LPFC_TGTQ_RAMPUP_PCENT / 100;
1836 if (pnode->cmd_qdepth > LPFC_MAX_TGT_QDEPTH) 1836 if (pnode->cmd_qdepth > LPFC_MAX_TGT_QDEPTH)
1837 pnode->cmd_qdepth = LPFC_MAX_TGT_QDEPTH; 1837 pnode->cmd_qdepth = LPFC_MAX_TGT_QDEPTH;
1838 pnode->last_change_time = jiffies; 1838 pnode->last_change_time = jiffies;
1839 spin_unlock_irqrestore(sdev->host->host_lock, flags); 1839 spin_unlock_irqrestore(shost->host_lock, flags);
1840 } 1840 }
1841 } 1841 }
1842 1842
1843 lpfc_scsi_unprep_dma_buf(phba, lpfc_cmd); 1843 lpfc_scsi_unprep_dma_buf(phba, lpfc_cmd);
1844
1845 /* The sdev is not guaranteed to be valid post scsi_done upcall. */
1846 queue_depth = cmd->device->queue_depth;
1847 scsi_id = cmd->device->id;
1844 cmd->scsi_done(cmd); 1848 cmd->scsi_done(cmd);
1845 1849
1846 if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) { 1850 if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) {
@@ -1848,28 +1852,28 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1848 * If there is a thread waiting for command completion 1852 * If there is a thread waiting for command completion
1849 * wake up the thread. 1853 * wake up the thread.
1850 */ 1854 */
1851 spin_lock_irqsave(sdev->host->host_lock, flags); 1855 spin_lock_irqsave(shost->host_lock, flags);
1852 lpfc_cmd->pCmd = NULL; 1856 lpfc_cmd->pCmd = NULL;
1853 if (lpfc_cmd->waitq) 1857 if (lpfc_cmd->waitq)
1854 wake_up(lpfc_cmd->waitq); 1858 wake_up(lpfc_cmd->waitq);
1855 spin_unlock_irqrestore(sdev->host->host_lock, flags); 1859 spin_unlock_irqrestore(shost->host_lock, flags);
1856 lpfc_release_scsi_buf(phba, lpfc_cmd); 1860 lpfc_release_scsi_buf(phba, lpfc_cmd);
1857 return; 1861 return;
1858 } 1862 }
1859 1863
1860 1864
1861 if (!result) 1865 if (!result)
1862 lpfc_rampup_queue_depth(vport, sdev); 1866 lpfc_rampup_queue_depth(vport, queue_depth);
1863 1867
1864 if (!result && pnode && NLP_CHK_NODE_ACT(pnode) && 1868 if (!result && pnode && NLP_CHK_NODE_ACT(pnode) &&
1865 ((jiffies - pnode->last_ramp_up_time) > 1869 ((jiffies - pnode->last_ramp_up_time) >
1866 LPFC_Q_RAMP_UP_INTERVAL * HZ) && 1870 LPFC_Q_RAMP_UP_INTERVAL * HZ) &&
1867 ((jiffies - pnode->last_q_full_time) > 1871 ((jiffies - pnode->last_q_full_time) >
1868 LPFC_Q_RAMP_UP_INTERVAL * HZ) && 1872 LPFC_Q_RAMP_UP_INTERVAL * HZ) &&
1869 (vport->cfg_lun_queue_depth > sdev->queue_depth)) { 1873 (vport->cfg_lun_queue_depth > queue_depth)) {
1870 shost_for_each_device(tmp_sdev, sdev->host) { 1874 shost_for_each_device(tmp_sdev, shost) {
1871 if (vport->cfg_lun_queue_depth > tmp_sdev->queue_depth){ 1875 if (vport->cfg_lun_queue_depth > tmp_sdev->queue_depth){
1872 if (tmp_sdev->id != sdev->id) 1876 if (tmp_sdev->id != scsi_id)
1873 continue; 1877 continue;
1874 if (tmp_sdev->ordered_tags) 1878 if (tmp_sdev->ordered_tags)
1875 scsi_adjust_queue_depth(tmp_sdev, 1879 scsi_adjust_queue_depth(tmp_sdev,
@@ -1885,7 +1889,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1885 } 1889 }
1886 lpfc_send_sdev_queuedepth_change_event(phba, vport, pnode, 1890 lpfc_send_sdev_queuedepth_change_event(phba, vport, pnode,
1887 0xFFFFFFFF, 1891 0xFFFFFFFF,
1888 sdev->queue_depth - 1, sdev->queue_depth); 1892 queue_depth , queue_depth + 1);
1889 } 1893 }
1890 1894
1891 /* 1895 /*
@@ -1896,8 +1900,8 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1896 NLP_CHK_NODE_ACT(pnode)) { 1900 NLP_CHK_NODE_ACT(pnode)) {
1897 pnode->last_q_full_time = jiffies; 1901 pnode->last_q_full_time = jiffies;
1898 1902
1899 shost_for_each_device(tmp_sdev, sdev->host) { 1903 shost_for_each_device(tmp_sdev, shost) {
1900 if (tmp_sdev->id != sdev->id) 1904 if (tmp_sdev->id != scsi_id)
1901 continue; 1905 continue;
1902 depth = scsi_track_queue_full(tmp_sdev, 1906 depth = scsi_track_queue_full(tmp_sdev,
1903 tmp_sdev->queue_depth - 1); 1907 tmp_sdev->queue_depth - 1);
@@ -1909,7 +1913,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1909 * scsi_track_queue_full. 1913 * scsi_track_queue_full.
1910 */ 1914 */
1911 if (depth == -1) 1915 if (depth == -1)
1912 depth = sdev->host->cmd_per_lun; 1916 depth = shost->cmd_per_lun;
1913 1917
1914 if (depth) { 1918 if (depth) {
1915 lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP, 1919 lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP,
@@ -1925,17 +1929,17 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1925 * If there is a thread waiting for command completion 1929 * If there is a thread waiting for command completion
1926 * wake up the thread. 1930 * wake up the thread.
1927 */ 1931 */
1928 spin_lock_irqsave(sdev->host->host_lock, flags); 1932 spin_lock_irqsave(shost->host_lock, flags);
1929 lpfc_cmd->pCmd = NULL; 1933 lpfc_cmd->pCmd = NULL;
1930 if (lpfc_cmd->waitq) 1934 if (lpfc_cmd->waitq)
1931 wake_up(lpfc_cmd->waitq); 1935 wake_up(lpfc_cmd->waitq);
1932 spin_unlock_irqrestore(sdev->host->host_lock, flags); 1936 spin_unlock_irqrestore(shost->host_lock, flags);
1933 1937
1934 lpfc_release_scsi_buf(phba, lpfc_cmd); 1938 lpfc_release_scsi_buf(phba, lpfc_cmd);
1935} 1939}
1936 1940
1937/** 1941/**
1938 * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB. 1942 * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB
1939 * @data: A pointer to the immediate command data portion of the IOCB. 1943 * @data: A pointer to the immediate command data portion of the IOCB.
1940 * @fcp_cmnd: The FCP Command that is provided by the SCSI layer. 1944 * @fcp_cmnd: The FCP Command that is provided by the SCSI layer.
1941 * 1945 *
@@ -1953,7 +1957,7 @@ lpfc_fcpcmd_to_iocb(uint8_t *data, struct fcp_cmnd *fcp_cmnd)
1953} 1957}
1954 1958
1955/** 1959/**
1956 * lpfc_scsi_prep_cmnd: Routine to convert scsi cmnd to FCP information unit. 1960 * lpfc_scsi_prep_cmnd - Routine to convert scsi cmnd to FCP information unit
1957 * @vport: The virtual port for which this call is being executed. 1961 * @vport: The virtual port for which this call is being executed.
1958 * @lpfc_cmd: The scsi command which needs to send. 1962 * @lpfc_cmd: The scsi command which needs to send.
1959 * @pnode: Pointer to lpfc_nodelist. 1963 * @pnode: Pointer to lpfc_nodelist.
@@ -2047,7 +2051,7 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
2047} 2051}
2048 2052
2049/** 2053/**
2050 * lpfc_scsi_prep_task_mgmt_cmnd: Convert scsi TM cmnd to FCP information unit. 2054 * lpfc_scsi_prep_task_mgmt_cmnd - Convert scsi TM cmnd to FCP information unit
2051 * @vport: The virtual port for which this call is being executed. 2055 * @vport: The virtual port for which this call is being executed.
2052 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure. 2056 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure.
2053 * @lun: Logical unit number. 2057 * @lun: Logical unit number.
@@ -2110,7 +2114,7 @@ lpfc_scsi_prep_task_mgmt_cmd(struct lpfc_vport *vport,
2110} 2114}
2111 2115
2112/** 2116/**
2113 * lpc_taskmgmt_def_cmpl: IOCB completion routine for task management command. 2117 * lpfc_taskmgmt_def_cmpl - IOCB completion routine for task management command
2114 * @phba: The Hba for which this call is being executed. 2118 * @phba: The Hba for which this call is being executed.
2115 * @cmdiocbq: Pointer to lpfc_iocbq data structure. 2119 * @cmdiocbq: Pointer to lpfc_iocbq data structure.
2116 * @rspiocbq: Pointer to lpfc_iocbq data structure. 2120 * @rspiocbq: Pointer to lpfc_iocbq data structure.
@@ -2131,7 +2135,7 @@ lpfc_tskmgmt_def_cmpl(struct lpfc_hba *phba,
2131} 2135}
2132 2136
2133/** 2137/**
2134 * lpfc_scsi_tgt_reset: Target reset handler. 2138 * lpfc_scsi_tgt_reset - Target reset handler
2135 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure 2139 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure
2136 * @vport: The virtual port for which this call is being executed. 2140 * @vport: The virtual port for which this call is being executed.
2137 * @tgt_id: Target ID. 2141 * @tgt_id: Target ID.
@@ -2198,7 +2202,7 @@ lpfc_scsi_tgt_reset(struct lpfc_scsi_buf *lpfc_cmd, struct lpfc_vport *vport,
2198} 2202}
2199 2203
2200/** 2204/**
2201 * lpfc_info: Info entry point of scsi_host_template data structure. 2205 * lpfc_info - Info entry point of scsi_host_template data structure
2202 * @host: The scsi host for which this call is being executed. 2206 * @host: The scsi host for which this call is being executed.
2203 * 2207 *
2204 * This routine provides module information about hba. 2208 * This routine provides module information about hba.
@@ -2236,7 +2240,7 @@ lpfc_info(struct Scsi_Host *host)
2236} 2240}
2237 2241
2238/** 2242/**
2239 * lpfc_poll_rearm_time: Routine to modify fcp_poll timer of hba. 2243 * lpfc_poll_rearm_time - Routine to modify fcp_poll timer of hba
2240 * @phba: The Hba for which this call is being executed. 2244 * @phba: The Hba for which this call is being executed.
2241 * 2245 *
2242 * This routine modifies fcp_poll_timer field of @phba by cfg_poll_tmo. 2246 * This routine modifies fcp_poll_timer field of @phba by cfg_poll_tmo.
@@ -2253,7 +2257,7 @@ static __inline__ void lpfc_poll_rearm_timer(struct lpfc_hba * phba)
2253} 2257}
2254 2258
2255/** 2259/**
2256 * lpfc_poll_start_timer: Routine to start fcp_poll_timer of HBA. 2260 * lpfc_poll_start_timer - Routine to start fcp_poll_timer of HBA
2257 * @phba: The Hba for which this call is being executed. 2261 * @phba: The Hba for which this call is being executed.
2258 * 2262 *
2259 * This routine starts the fcp_poll_timer of @phba. 2263 * This routine starts the fcp_poll_timer of @phba.
@@ -2264,7 +2268,7 @@ void lpfc_poll_start_timer(struct lpfc_hba * phba)
2264} 2268}
2265 2269
2266/** 2270/**
2267 * lpfc_poll_timeout: Restart polling timer. 2271 * lpfc_poll_timeout - Restart polling timer
2268 * @ptr: Map to lpfc_hba data structure pointer. 2272 * @ptr: Map to lpfc_hba data structure pointer.
2269 * 2273 *
2270 * This routine restarts fcp_poll timer, when FCP ring polling is enable 2274 * This routine restarts fcp_poll timer, when FCP ring polling is enable
@@ -2283,8 +2287,7 @@ void lpfc_poll_timeout(unsigned long ptr)
2283} 2287}
2284 2288
2285/** 2289/**
2286 * lpfc_queuecommand: Queuecommand entry point of Scsi Host Templater data 2290 * lpfc_queuecommand - scsi_host_template queuecommand entry point
2287 * structure.
2288 * @cmnd: Pointer to scsi_cmnd data structure. 2291 * @cmnd: Pointer to scsi_cmnd data structure.
2289 * @done: Pointer to done routine. 2292 * @done: Pointer to done routine.
2290 * 2293 *
@@ -2450,7 +2453,7 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *))
2450} 2453}
2451 2454
2452/** 2455/**
2453 * lpfc_block_error_handler: Routine to block error handler. 2456 * lpfc_block_error_handler - Routine to block error handler
2454 * @cmnd: Pointer to scsi_cmnd data structure. 2457 * @cmnd: Pointer to scsi_cmnd data structure.
2455 * 2458 *
2456 * This routine blocks execution till fc_rport state is not FC_PORSTAT_BLCOEKD. 2459 * This routine blocks execution till fc_rport state is not FC_PORSTAT_BLCOEKD.
@@ -2472,8 +2475,7 @@ lpfc_block_error_handler(struct scsi_cmnd *cmnd)
2472} 2475}
2473 2476
2474/** 2477/**
2475 * lpfc_abort_handler: Eh_abort_handler entry point of Scsi Host Template data 2478 * lpfc_abort_handler - scsi_host_template eh_abort_handler entry point
2476 *structure.
2477 * @cmnd: Pointer to scsi_cmnd data structure. 2479 * @cmnd: Pointer to scsi_cmnd data structure.
2478 * 2480 *
2479 * This routine aborts @cmnd pending in base driver. 2481 * This routine aborts @cmnd pending in base driver.
@@ -2578,8 +2580,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
2578} 2580}
2579 2581
2580/** 2582/**
2581 * lpfc_device_reset_handler: eh_device_reset entry point of Scsi Host Template 2583 * lpfc_device_reset_handler - scsi_host_template eh_device_reset entry point
2582 *data structure.
2583 * @cmnd: Pointer to scsi_cmnd data structure. 2584 * @cmnd: Pointer to scsi_cmnd data structure.
2584 * 2585 *
2585 * This routine does a device reset by sending a TARGET_RESET task management 2586 * This routine does a device reset by sending a TARGET_RESET task management
@@ -2587,7 +2588,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
2587 * 2588 *
2588 * Return code : 2589 * Return code :
2589 * 0x2003 - Error 2590 * 0x2003 - Error
2590 * 0ex2002 - Success 2591 * 0x2002 - Success
2591 **/ 2592 **/
2592static int 2593static int
2593lpfc_device_reset_handler(struct scsi_cmnd *cmnd) 2594lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
@@ -2707,8 +2708,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
2707} 2708}
2708 2709
2709/** 2710/**
2710 * lpfc_bus_reset_handler: eh_bus_reset_handler entry point of Scsi Host 2711 * lpfc_bus_reset_handler - scsi_host_template eh_bus_reset_handler entry point
2711 * Template data structure.
2712 * @cmnd: Pointer to scsi_cmnd data structure. 2712 * @cmnd: Pointer to scsi_cmnd data structure.
2713 * 2713 *
2714 * This routine does target reset to all target on @cmnd->device->host. 2714 * This routine does target reset to all target on @cmnd->device->host.
@@ -2808,8 +2808,7 @@ lpfc_bus_reset_handler(struct scsi_cmnd *cmnd)
2808} 2808}
2809 2809
2810/** 2810/**
2811 * lpfc_slave_alloc: slave_alloc entry point of Scsi Host Template data 2811 * lpfc_slave_alloc - scsi_host_template slave_alloc entry point
2812 * structure.
2813 * @sdev: Pointer to scsi_device. 2812 * @sdev: Pointer to scsi_device.
2814 * 2813 *
2815 * This routine populates the cmds_per_lun count + 2 scsi_bufs into this host's 2814 * This routine populates the cmds_per_lun count + 2 scsi_bufs into this host's
@@ -2883,8 +2882,7 @@ lpfc_slave_alloc(struct scsi_device *sdev)
2883} 2882}
2884 2883
2885/** 2884/**
2886 * lpfc_slave_configure: slave_configure entry point of Scsi Host Templater data 2885 * lpfc_slave_configure - scsi_host_template slave_configure entry point
2887 * structure.
2888 * @sdev: Pointer to scsi_device. 2886 * @sdev: Pointer to scsi_device.
2889 * 2887 *
2890 * This routine configures following items 2888 * This routine configures following items
@@ -2925,7 +2923,7 @@ lpfc_slave_configure(struct scsi_device *sdev)
2925} 2923}
2926 2924
2927/** 2925/**
2928 * lpfc_slave_destroy: slave_destroy entry point of SHT data structure. 2926 * lpfc_slave_destroy - slave_destroy entry point of SHT data structure
2929 * @sdev: Pointer to scsi_device. 2927 * @sdev: Pointer to scsi_device.
2930 * 2928 *
2931 * This routine sets @sdev hostatdata filed to null. 2929 * This routine sets @sdev hostatdata filed to null.
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index a36a120561e2..eb5c75c45ba4 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -68,7 +68,7 @@ typedef enum _lpfc_iocb_type {
68} lpfc_iocb_type; 68} lpfc_iocb_type;
69 69
70/** 70/**
71 * lpfc_cmd_iocb: Get next command iocb entry in the ring. 71 * lpfc_cmd_iocb - Get next command iocb entry in the ring
72 * @phba: Pointer to HBA context object. 72 * @phba: Pointer to HBA context object.
73 * @pring: Pointer to driver SLI ring object. 73 * @pring: Pointer to driver SLI ring object.
74 * 74 *
@@ -85,7 +85,7 @@ lpfc_cmd_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
85} 85}
86 86
87/** 87/**
88 * lpfc_resp_iocb: Get next response iocb entry in the ring. 88 * lpfc_resp_iocb - Get next response iocb entry in the ring
89 * @phba: Pointer to HBA context object. 89 * @phba: Pointer to HBA context object.
90 * @pring: Pointer to driver SLI ring object. 90 * @pring: Pointer to driver SLI ring object.
91 * 91 *
@@ -102,7 +102,7 @@ lpfc_resp_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
102} 102}
103 103
104/** 104/**
105 * __lpfc_sli_get_iocbq: Allocates an iocb object from iocb pool. 105 * __lpfc_sli_get_iocbq - Allocates an iocb object from iocb pool
106 * @phba: Pointer to HBA context object. 106 * @phba: Pointer to HBA context object.
107 * 107 *
108 * This function is called with hbalock held. This function 108 * This function is called with hbalock held. This function
@@ -121,7 +121,7 @@ __lpfc_sli_get_iocbq(struct lpfc_hba *phba)
121} 121}
122 122
123/** 123/**
124 * lpfc_sli_get_iocbq: Allocates an iocb object from iocb pool. 124 * lpfc_sli_get_iocbq - Allocates an iocb object from iocb pool
125 * @phba: Pointer to HBA context object. 125 * @phba: Pointer to HBA context object.
126 * 126 *
127 * This function is called with no lock held. This function 127 * This function is called with no lock held. This function
@@ -142,7 +142,7 @@ lpfc_sli_get_iocbq(struct lpfc_hba *phba)
142} 142}
143 143
144/** 144/**
145 * __lpfc_sli_release_iocbq: Release iocb to the iocb pool. 145 * __lpfc_sli_release_iocbq - Release iocb to the iocb pool
146 * @phba: Pointer to HBA context object. 146 * @phba: Pointer to HBA context object.
147 * @iocbq: Pointer to driver iocb object. 147 * @iocbq: Pointer to driver iocb object.
148 * 148 *
@@ -164,7 +164,7 @@ __lpfc_sli_release_iocbq(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq)
164} 164}
165 165
166/** 166/**
167 * lpfc_sli_release_iocbq: Release iocb to the iocb pool. 167 * lpfc_sli_release_iocbq - Release iocb to the iocb pool
168 * @phba: Pointer to HBA context object. 168 * @phba: Pointer to HBA context object.
169 * @iocbq: Pointer to driver iocb object. 169 * @iocbq: Pointer to driver iocb object.
170 * 170 *
@@ -185,8 +185,40 @@ lpfc_sli_release_iocbq(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq)
185} 185}
186 186
187/** 187/**
188 * lpfc_sli_iocb_cmd_type: Get the iocb type. 188 * lpfc_sli_cancel_iocbs - Cancel all iocbs from a list.
189 * @iocb_cmnd : iocb command code. 189 * @phba: Pointer to HBA context object.
190 * @iocblist: List of IOCBs.
191 * @ulpstatus: ULP status in IOCB command field.
192 * @ulpWord4: ULP word-4 in IOCB command field.
193 *
194 * This function is called with a list of IOCBs to cancel. It cancels the IOCB
195 * on the list by invoking the complete callback function associated with the
196 * IOCB with the provided @ulpstatus and @ulpword4 set to the IOCB commond
197 * fields.
198 **/
199void
200lpfc_sli_cancel_iocbs(struct lpfc_hba *phba, struct list_head *iocblist,
201 uint32_t ulpstatus, uint32_t ulpWord4)
202{
203 struct lpfc_iocbq *piocb;
204
205 while (!list_empty(iocblist)) {
206 list_remove_head(iocblist, piocb, struct lpfc_iocbq, list);
207
208 if (!piocb->iocb_cmpl)
209 lpfc_sli_release_iocbq(phba, piocb);
210 else {
211 piocb->iocb.ulpStatus = ulpstatus;
212 piocb->iocb.un.ulpWord[4] = ulpWord4;
213 (piocb->iocb_cmpl) (phba, piocb, piocb);
214 }
215 }
216 return;
217}
218
219/**
220 * lpfc_sli_iocb_cmd_type - Get the iocb type
221 * @iocb_cmnd: iocb command code.
190 * 222 *
191 * This function is called by ring event handler function to get the iocb type. 223 * This function is called by ring event handler function to get the iocb type.
192 * This function translates the iocb command to an iocb command type used to 224 * This function translates the iocb command to an iocb command type used to
@@ -295,7 +327,7 @@ lpfc_sli_iocb_cmd_type(uint8_t iocb_cmnd)
295} 327}
296 328
297/** 329/**
298 * lpfc_sli_ring_map: Issue config_ring mbox for all rings. 330 * lpfc_sli_ring_map - Issue config_ring mbox for all rings
299 * @phba: Pointer to HBA context object. 331 * @phba: Pointer to HBA context object.
300 * 332 *
301 * This function is called from SLI initialization code 333 * This function is called from SLI initialization code
@@ -338,7 +370,7 @@ lpfc_sli_ring_map(struct lpfc_hba *phba)
338} 370}
339 371
340/** 372/**
341 * lpfc_sli_ringtxcmpl_put: Adds new iocb to the txcmplq. 373 * lpfc_sli_ringtxcmpl_put - Adds new iocb to the txcmplq
342 * @phba: Pointer to HBA context object. 374 * @phba: Pointer to HBA context object.
343 * @pring: Pointer to driver SLI ring object. 375 * @pring: Pointer to driver SLI ring object.
344 * @piocb: Pointer to the driver iocb object. 376 * @piocb: Pointer to the driver iocb object.
@@ -370,7 +402,7 @@ lpfc_sli_ringtxcmpl_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
370} 402}
371 403
372/** 404/**
373 * lpfc_sli_ringtx_get: Get first element of the txq. 405 * lpfc_sli_ringtx_get - Get first element of the txq
374 * @phba: Pointer to HBA context object. 406 * @phba: Pointer to HBA context object.
375 * @pring: Pointer to driver SLI ring object. 407 * @pring: Pointer to driver SLI ring object.
376 * 408 *
@@ -391,7 +423,7 @@ lpfc_sli_ringtx_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
391} 423}
392 424
393/** 425/**
394 * lpfc_sli_next_iocb_slot: Get next iocb slot in the ring. 426 * lpfc_sli_next_iocb_slot - Get next iocb slot in the ring
395 * @phba: Pointer to HBA context object. 427 * @phba: Pointer to HBA context object.
396 * @pring: Pointer to driver SLI ring object. 428 * @pring: Pointer to driver SLI ring object.
397 * 429 *
@@ -445,7 +477,7 @@ lpfc_sli_next_iocb_slot (struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
445} 477}
446 478
447/** 479/**
448 * lpfc_sli_next_iotag: Get an iotag for the iocb. 480 * lpfc_sli_next_iotag - Get an iotag for the iocb
449 * @phba: Pointer to HBA context object. 481 * @phba: Pointer to HBA context object.
450 * @iocbq: Pointer to driver iocb object. 482 * @iocbq: Pointer to driver iocb object.
451 * 483 *
@@ -520,7 +552,7 @@ lpfc_sli_next_iotag(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq)
520} 552}
521 553
522/** 554/**
523 * lpfc_sli_submit_iocb: Submit an iocb to the firmware. 555 * lpfc_sli_submit_iocb - Submit an iocb to the firmware
524 * @phba: Pointer to HBA context object. 556 * @phba: Pointer to HBA context object.
525 * @pring: Pointer to driver SLI ring object. 557 * @pring: Pointer to driver SLI ring object.
526 * @iocb: Pointer to iocb slot in the ring. 558 * @iocb: Pointer to iocb slot in the ring.
@@ -577,7 +609,7 @@ lpfc_sli_submit_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
577} 609}
578 610
579/** 611/**
580 * lpfc_sli_update_full_ring: Update the chip attention register. 612 * lpfc_sli_update_full_ring - Update the chip attention register
581 * @phba: Pointer to HBA context object. 613 * @phba: Pointer to HBA context object.
582 * @pring: Pointer to driver SLI ring object. 614 * @pring: Pointer to driver SLI ring object.
583 * 615 *
@@ -608,7 +640,7 @@ lpfc_sli_update_full_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
608} 640}
609 641
610/** 642/**
611 * lpfc_sli_update_ring: Update chip attention register. 643 * lpfc_sli_update_ring - Update chip attention register
612 * @phba: Pointer to HBA context object. 644 * @phba: Pointer to HBA context object.
613 * @pring: Pointer to driver SLI ring object. 645 * @pring: Pointer to driver SLI ring object.
614 * 646 *
@@ -632,7 +664,7 @@ lpfc_sli_update_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
632} 664}
633 665
634/** 666/**
635 * lpfc_sli_resume_iocb: Process iocbs in the txq. 667 * lpfc_sli_resume_iocb - Process iocbs in the txq
636 * @phba: Pointer to HBA context object. 668 * @phba: Pointer to HBA context object.
637 * @pring: Pointer to driver SLI ring object. 669 * @pring: Pointer to driver SLI ring object.
638 * 670 *
@@ -672,7 +704,7 @@ lpfc_sli_resume_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
672} 704}
673 705
674/** 706/**
675 * lpfc_sli_next_hbq_slot: Get next hbq entry for the HBQ. 707 * lpfc_sli_next_hbq_slot - Get next hbq entry for the HBQ
676 * @phba: Pointer to HBA context object. 708 * @phba: Pointer to HBA context object.
677 * @hbqno: HBQ number. 709 * @hbqno: HBQ number.
678 * 710 *
@@ -717,7 +749,7 @@ lpfc_sli_next_hbq_slot(struct lpfc_hba *phba, uint32_t hbqno)
717} 749}
718 750
719/** 751/**
720 * lpfc_sli_hbqbuf_free_all: Free all the hbq buffers. 752 * lpfc_sli_hbqbuf_free_all - Free all the hbq buffers
721 * @phba: Pointer to HBA context object. 753 * @phba: Pointer to HBA context object.
722 * 754 *
723 * This function is called with no lock held to free all the 755 * This function is called with no lock held to free all the
@@ -771,7 +803,7 @@ lpfc_sli_hbqbuf_free_all(struct lpfc_hba *phba)
771} 803}
772 804
773/** 805/**
774 * lpfc_sli_hbq_to_firmware: Post the hbq buffer to firmware. 806 * lpfc_sli_hbq_to_firmware - Post the hbq buffer to firmware
775 * @phba: Pointer to HBA context object. 807 * @phba: Pointer to HBA context object.
776 * @hbqno: HBQ number. 808 * @hbqno: HBQ number.
777 * @hbq_buf: Pointer to HBQ buffer. 809 * @hbq_buf: Pointer to HBQ buffer.
@@ -818,8 +850,8 @@ static struct lpfc_hbq_init lpfc_els_hbq = {
818 .profile = 0, 850 .profile = 0,
819 .ring_mask = (1 << LPFC_ELS_RING), 851 .ring_mask = (1 << LPFC_ELS_RING),
820 .buffer_count = 0, 852 .buffer_count = 0,
821 .init_count = 20, 853 .init_count = 40,
822 .add_count = 5, 854 .add_count = 40,
823}; 855};
824 856
825/* HBQ for the extra ring if needed */ 857/* HBQ for the extra ring if needed */
@@ -841,7 +873,7 @@ struct lpfc_hbq_init *lpfc_hbq_defs[] = {
841}; 873};
842 874
843/** 875/**
844 * lpfc_sli_hbqbuf_fill_hbqs: Post more hbq buffers to HBQ. 876 * lpfc_sli_hbqbuf_fill_hbqs - Post more hbq buffers to HBQ
845 * @phba: Pointer to HBA context object. 877 * @phba: Pointer to HBA context object.
846 * @hbqno: HBQ number. 878 * @hbqno: HBQ number.
847 * @count: Number of HBQ buffers to be posted. 879 * @count: Number of HBQ buffers to be posted.
@@ -901,7 +933,7 @@ err:
901} 933}
902 934
903/** 935/**
904 * lpfc_sli_hbqbuf_add_hbqs: Post more HBQ buffers to firmware. 936 * lpfc_sli_hbqbuf_add_hbqs - Post more HBQ buffers to firmware
905 * @phba: Pointer to HBA context object. 937 * @phba: Pointer to HBA context object.
906 * @qno: HBQ number. 938 * @qno: HBQ number.
907 * 939 *
@@ -917,7 +949,7 @@ lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *phba, uint32_t qno)
917} 949}
918 950
919/** 951/**
920 * lpfc_sli_hbqbuf_init_hbqs: Post initial buffers to the HBQ. 952 * lpfc_sli_hbqbuf_init_hbqs - Post initial buffers to the HBQ
921 * @phba: Pointer to HBA context object. 953 * @phba: Pointer to HBA context object.
922 * @qno: HBQ queue number. 954 * @qno: HBQ queue number.
923 * 955 *
@@ -933,7 +965,7 @@ lpfc_sli_hbqbuf_init_hbqs(struct lpfc_hba *phba, uint32_t qno)
933} 965}
934 966
935/** 967/**
936 * lpfc_sli_hbqbuf_find: Find the hbq buffer associated with a tag. 968 * lpfc_sli_hbqbuf_find - Find the hbq buffer associated with a tag
937 * @phba: Pointer to HBA context object. 969 * @phba: Pointer to HBA context object.
938 * @tag: Tag of the hbq buffer. 970 * @tag: Tag of the hbq buffer.
939 * 971 *
@@ -966,7 +998,7 @@ lpfc_sli_hbqbuf_find(struct lpfc_hba *phba, uint32_t tag)
966} 998}
967 999
968/** 1000/**
969 * lpfc_sli_free_hbq: Give back the hbq buffer to firmware. 1001 * lpfc_sli_free_hbq - Give back the hbq buffer to firmware
970 * @phba: Pointer to HBA context object. 1002 * @phba: Pointer to HBA context object.
971 * @hbq_buffer: Pointer to HBQ buffer. 1003 * @hbq_buffer: Pointer to HBQ buffer.
972 * 1004 *
@@ -988,7 +1020,7 @@ lpfc_sli_free_hbq(struct lpfc_hba *phba, struct hbq_dmabuf *hbq_buffer)
988} 1020}
989 1021
990/** 1022/**
991 * lpfc_sli_chk_mbx_command: Check if the mailbox is a legitimate mailbox. 1023 * lpfc_sli_chk_mbx_command - Check if the mailbox is a legitimate mailbox
992 * @mbxCommand: mailbox command code. 1024 * @mbxCommand: mailbox command code.
993 * 1025 *
994 * This function is called by the mailbox event handler function to verify 1026 * This function is called by the mailbox event handler function to verify
@@ -1064,8 +1096,7 @@ lpfc_sli_chk_mbx_command(uint8_t mbxCommand)
1064} 1096}
1065 1097
1066/** 1098/**
1067 * lpfc_sli_wake_mbox_wait: Completion handler for mbox issued from 1099 * lpfc_sli_wake_mbox_wait - lpfc_sli_issue_mbox_wait mbox completion handler
1068 * lpfc_sli_issue_mbox_wait.
1069 * @phba: Pointer to HBA context object. 1100 * @phba: Pointer to HBA context object.
1070 * @pmboxq: Pointer to mailbox command. 1101 * @pmboxq: Pointer to mailbox command.
1071 * 1102 *
@@ -1096,7 +1127,7 @@ lpfc_sli_wake_mbox_wait(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq)
1096 1127
1097 1128
1098/** 1129/**
1099 * lpfc_sli_def_mbox_cmpl: Default mailbox completion handler. 1130 * lpfc_sli_def_mbox_cmpl - Default mailbox completion handler
1100 * @phba: Pointer to HBA context object. 1131 * @phba: Pointer to HBA context object.
1101 * @pmb: Pointer to mailbox object. 1132 * @pmb: Pointer to mailbox object.
1102 * 1133 *
@@ -1140,7 +1171,7 @@ lpfc_sli_def_mbox_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
1140} 1171}
1141 1172
1142/** 1173/**
1143 * lpfc_sli_handle_mb_event: Handle mailbox completions from firmware. 1174 * lpfc_sli_handle_mb_event - Handle mailbox completions from firmware
1144 * @phba: Pointer to HBA context object. 1175 * @phba: Pointer to HBA context object.
1145 * 1176 *
1146 * This function is called with no lock held. This function processes all 1177 * This function is called with no lock held. This function processes all
@@ -1260,7 +1291,7 @@ lpfc_sli_handle_mb_event(struct lpfc_hba *phba)
1260} 1291}
1261 1292
1262/** 1293/**
1263 * lpfc_sli_get_buff: Get the buffer associated with the buffer tag. 1294 * lpfc_sli_get_buff - Get the buffer associated with the buffer tag
1264 * @phba: Pointer to HBA context object. 1295 * @phba: Pointer to HBA context object.
1265 * @pring: Pointer to driver SLI ring object. 1296 * @pring: Pointer to driver SLI ring object.
1266 * @tag: buffer tag. 1297 * @tag: buffer tag.
@@ -1288,7 +1319,7 @@ lpfc_sli_get_buff(struct lpfc_hba *phba,
1288 1319
1289 1320
1290/** 1321/**
1291 * lpfc_sli_process_unsol_iocb: Unsolicited iocb handler. 1322 * lpfc_sli_process_unsol_iocb - Unsolicited iocb handler
1292 * @phba: Pointer to HBA context object. 1323 * @phba: Pointer to HBA context object.
1293 * @pring: Pointer to driver SLI ring object. 1324 * @pring: Pointer to driver SLI ring object.
1294 * @saveq: Pointer to the unsolicited iocb. 1325 * @saveq: Pointer to the unsolicited iocb.
@@ -1484,7 +1515,7 @@ lpfc_sli_process_unsol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
1484} 1515}
1485 1516
1486/** 1517/**
1487 * lpfc_sli_iocbq_lookup: Find command iocb for the given response iocb. 1518 * lpfc_sli_iocbq_lookup - Find command iocb for the given response iocb
1488 * @phba: Pointer to HBA context object. 1519 * @phba: Pointer to HBA context object.
1489 * @pring: Pointer to driver SLI ring object. 1520 * @pring: Pointer to driver SLI ring object.
1490 * @prspiocb: Pointer to response iocb object. 1521 * @prspiocb: Pointer to response iocb object.
@@ -1521,7 +1552,7 @@ lpfc_sli_iocbq_lookup(struct lpfc_hba *phba,
1521} 1552}
1522 1553
1523/** 1554/**
1524 * lpfc_sli_process_sol_iocb: process solicited iocb completion. 1555 * lpfc_sli_process_sol_iocb - process solicited iocb completion
1525 * @phba: Pointer to HBA context object. 1556 * @phba: Pointer to HBA context object.
1526 * @pring: Pointer to driver SLI ring object. 1557 * @pring: Pointer to driver SLI ring object.
1527 * @saveq: Pointer to the response iocb to be processed. 1558 * @saveq: Pointer to the response iocb to be processed.
@@ -1597,7 +1628,7 @@ lpfc_sli_process_sol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
1597 * Ring <ringno> handler: unexpected completion IoTag 1628 * Ring <ringno> handler: unexpected completion IoTag
1598 * <IoTag> 1629 * <IoTag>
1599 */ 1630 */
1600 lpfc_printf_vlog(cmdiocbp->vport, KERN_WARNING, LOG_SLI, 1631 lpfc_printf_log(phba, KERN_WARNING, LOG_SLI,
1601 "0322 Ring %d handler: " 1632 "0322 Ring %d handler: "
1602 "unexpected completion IoTag x%x " 1633 "unexpected completion IoTag x%x "
1603 "Data: x%x x%x x%x x%x\n", 1634 "Data: x%x x%x x%x x%x\n",
@@ -1614,7 +1645,7 @@ lpfc_sli_process_sol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
1614} 1645}
1615 1646
1616/** 1647/**
1617 * lpfc_sli_rsp_pointers_error: Response ring pointer error handler. 1648 * lpfc_sli_rsp_pointers_error - Response ring pointer error handler
1618 * @phba: Pointer to HBA context object. 1649 * @phba: Pointer to HBA context object.
1619 * @pring: Pointer to driver SLI ring object. 1650 * @pring: Pointer to driver SLI ring object.
1620 * 1651 *
@@ -1652,7 +1683,7 @@ lpfc_sli_rsp_pointers_error(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
1652} 1683}
1653 1684
1654/** 1685/**
1655 * lpfc_poll_eratt: Error attention polling timer timeout handler. 1686 * lpfc_poll_eratt - Error attention polling timer timeout handler
1656 * @ptr: Pointer to address of HBA context object. 1687 * @ptr: Pointer to address of HBA context object.
1657 * 1688 *
1658 * This function is invoked by the Error Attention polling timer when the 1689 * This function is invoked by the Error Attention polling timer when the
@@ -1682,7 +1713,7 @@ void lpfc_poll_eratt(unsigned long ptr)
1682} 1713}
1683 1714
1684/** 1715/**
1685 * lpfc_sli_poll_fcp_ring: Handle FCP ring completion in polling mode. 1716 * lpfc_sli_poll_fcp_ring - Handle FCP ring completion in polling mode
1686 * @phba: Pointer to HBA context object. 1717 * @phba: Pointer to HBA context object.
1687 * 1718 *
1688 * This function is called from lpfc_queuecommand, lpfc_poll_timeout, 1719 * This function is called from lpfc_queuecommand, lpfc_poll_timeout,
@@ -1845,7 +1876,7 @@ void lpfc_sli_poll_fcp_ring(struct lpfc_hba *phba)
1845} 1876}
1846 1877
1847/** 1878/**
1848 * lpfc_sli_handle_fast_ring_event: Handle ring events on FCP ring. 1879 * lpfc_sli_handle_fast_ring_event - Handle ring events on FCP ring
1849 * @phba: Pointer to HBA context object. 1880 * @phba: Pointer to HBA context object.
1850 * @pring: Pointer to driver SLI ring object. 1881 * @pring: Pointer to driver SLI ring object.
1851 * @mask: Host attention register mask for this ring. 1882 * @mask: Host attention register mask for this ring.
@@ -2037,7 +2068,7 @@ lpfc_sli_handle_fast_ring_event(struct lpfc_hba *phba,
2037} 2068}
2038 2069
2039/** 2070/**
2040 * lpfc_sli_handle_slow_ring_event: Handle ring events for non-FCP rings. 2071 * lpfc_sli_handle_slow_ring_event - Handle ring events for non-FCP rings
2041 * @phba: Pointer to HBA context object. 2072 * @phba: Pointer to HBA context object.
2042 * @pring: Pointer to driver SLI ring object. 2073 * @pring: Pointer to driver SLI ring object.
2043 * @mask: Host attention register mask for this ring. 2074 * @mask: Host attention register mask for this ring.
@@ -2311,7 +2342,7 @@ lpfc_sli_handle_slow_ring_event(struct lpfc_hba *phba,
2311} 2342}
2312 2343
2313/** 2344/**
2314 * lpfc_sli_abort_iocb_ring: Abort all iocbs in the ring. 2345 * lpfc_sli_abort_iocb_ring - Abort all iocbs in the ring
2315 * @phba: Pointer to HBA context object. 2346 * @phba: Pointer to HBA context object.
2316 * @pring: Pointer to driver SLI ring object. 2347 * @pring: Pointer to driver SLI ring object.
2317 * 2348 *
@@ -2325,7 +2356,6 @@ lpfc_sli_abort_iocb_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
2325{ 2356{
2326 LIST_HEAD(completions); 2357 LIST_HEAD(completions);
2327 struct lpfc_iocbq *iocb, *next_iocb; 2358 struct lpfc_iocbq *iocb, *next_iocb;
2328 IOCB_t *cmd = NULL;
2329 2359
2330 if (pring->ringno == LPFC_ELS_RING) { 2360 if (pring->ringno == LPFC_ELS_RING) {
2331 lpfc_fabric_abort_hba(phba); 2361 lpfc_fabric_abort_hba(phba);
@@ -2344,23 +2374,13 @@ lpfc_sli_abort_iocb_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
2344 2374
2345 spin_unlock_irq(&phba->hbalock); 2375 spin_unlock_irq(&phba->hbalock);
2346 2376
2347 while (!list_empty(&completions)) { 2377 /* Cancel all the IOCBs from the completions list */
2348 iocb = list_get_first(&completions, struct lpfc_iocbq, list); 2378 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
2349 cmd = &iocb->iocb; 2379 IOERR_SLI_ABORTED);
2350 list_del_init(&iocb->list);
2351
2352 if (!iocb->iocb_cmpl)
2353 lpfc_sli_release_iocbq(phba, iocb);
2354 else {
2355 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
2356 cmd->un.ulpWord[4] = IOERR_SLI_ABORTED;
2357 (iocb->iocb_cmpl) (phba, iocb, iocb);
2358 }
2359 }
2360} 2380}
2361 2381
2362/** 2382/**
2363 * lpfc_sli_flush_fcp_rings: flush all iocbs in the fcp ring. 2383 * lpfc_sli_flush_fcp_rings - flush all iocbs in the fcp ring
2364 * @phba: Pointer to HBA context object. 2384 * @phba: Pointer to HBA context object.
2365 * 2385 *
2366 * This function flushes all iocbs in the fcp ring and frees all the iocb 2386 * This function flushes all iocbs in the fcp ring and frees all the iocb
@@ -2374,8 +2394,6 @@ lpfc_sli_flush_fcp_rings(struct lpfc_hba *phba)
2374{ 2394{
2375 LIST_HEAD(txq); 2395 LIST_HEAD(txq);
2376 LIST_HEAD(txcmplq); 2396 LIST_HEAD(txcmplq);
2377 struct lpfc_iocbq *iocb;
2378 IOCB_t *cmd = NULL;
2379 struct lpfc_sli *psli = &phba->sli; 2397 struct lpfc_sli *psli = &phba->sli;
2380 struct lpfc_sli_ring *pring; 2398 struct lpfc_sli_ring *pring;
2381 2399
@@ -2393,38 +2411,16 @@ lpfc_sli_flush_fcp_rings(struct lpfc_hba *phba)
2393 spin_unlock_irq(&phba->hbalock); 2411 spin_unlock_irq(&phba->hbalock);
2394 2412
2395 /* Flush the txq */ 2413 /* Flush the txq */
2396 while (!list_empty(&txq)) { 2414 lpfc_sli_cancel_iocbs(phba, &txq, IOSTAT_LOCAL_REJECT,
2397 iocb = list_get_first(&txq, struct lpfc_iocbq, list); 2415 IOERR_SLI_DOWN);
2398 cmd = &iocb->iocb;
2399 list_del_init(&iocb->list);
2400
2401 if (!iocb->iocb_cmpl)
2402 lpfc_sli_release_iocbq(phba, iocb);
2403 else {
2404 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
2405 cmd->un.ulpWord[4] = IOERR_SLI_DOWN;
2406 (iocb->iocb_cmpl) (phba, iocb, iocb);
2407 }
2408 }
2409 2416
2410 /* Flush the txcmpq */ 2417 /* Flush the txcmpq */
2411 while (!list_empty(&txcmplq)) { 2418 lpfc_sli_cancel_iocbs(phba, &txcmplq, IOSTAT_LOCAL_REJECT,
2412 iocb = list_get_first(&txcmplq, struct lpfc_iocbq, list); 2419 IOERR_SLI_DOWN);
2413 cmd = &iocb->iocb;
2414 list_del_init(&iocb->list);
2415
2416 if (!iocb->iocb_cmpl)
2417 lpfc_sli_release_iocbq(phba, iocb);
2418 else {
2419 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
2420 cmd->un.ulpWord[4] = IOERR_SLI_DOWN;
2421 (iocb->iocb_cmpl) (phba, iocb, iocb);
2422 }
2423 }
2424} 2420}
2425 2421
2426/** 2422/**
2427 * lpfc_sli_brdready: Check for host status bits. 2423 * lpfc_sli_brdready - Check for host status bits
2428 * @phba: Pointer to HBA context object. 2424 * @phba: Pointer to HBA context object.
2429 * @mask: Bit mask to be checked. 2425 * @mask: Bit mask to be checked.
2430 * 2426 *
@@ -2484,7 +2480,7 @@ lpfc_sli_brdready(struct lpfc_hba *phba, uint32_t mask)
2484#define BARRIER_TEST_PATTERN (0xdeadbeef) 2480#define BARRIER_TEST_PATTERN (0xdeadbeef)
2485 2481
2486/** 2482/**
2487 * lpfc_reset_barrier: Make HBA ready for HBA reset. 2483 * lpfc_reset_barrier - Make HBA ready for HBA reset
2488 * @phba: Pointer to HBA context object. 2484 * @phba: Pointer to HBA context object.
2489 * 2485 *
2490 * This function is called before resetting an HBA. This 2486 * This function is called before resetting an HBA. This
@@ -2564,7 +2560,7 @@ restore_hc:
2564} 2560}
2565 2561
2566/** 2562/**
2567 * lpfc_sli_brdkill: Issue a kill_board mailbox command. 2563 * lpfc_sli_brdkill - Issue a kill_board mailbox command
2568 * @phba: Pointer to HBA context object. 2564 * @phba: Pointer to HBA context object.
2569 * 2565 *
2570 * This function issues a kill_board mailbox command and waits for 2566 * This function issues a kill_board mailbox command and waits for
@@ -2651,7 +2647,7 @@ lpfc_sli_brdkill(struct lpfc_hba *phba)
2651} 2647}
2652 2648
2653/** 2649/**
2654 * lpfc_sli_brdreset: Reset the HBA. 2650 * lpfc_sli_brdreset - Reset the HBA
2655 * @phba: Pointer to HBA context object. 2651 * @phba: Pointer to HBA context object.
2656 * 2652 *
2657 * This function resets the HBA by writing HC_INITFF to the control 2653 * This function resets the HBA by writing HC_INITFF to the control
@@ -2714,7 +2710,7 @@ lpfc_sli_brdreset(struct lpfc_hba *phba)
2714} 2710}
2715 2711
2716/** 2712/**
2717 * lpfc_sli_brdrestart: Restart the HBA. 2713 * lpfc_sli_brdrestart - Restart the HBA
2718 * @phba: Pointer to HBA context object. 2714 * @phba: Pointer to HBA context object.
2719 * 2715 *
2720 * This function is called in the SLI initialization code path to 2716 * This function is called in the SLI initialization code path to
@@ -2781,7 +2777,7 @@ lpfc_sli_brdrestart(struct lpfc_hba *phba)
2781} 2777}
2782 2778
2783/** 2779/**
2784 * lpfc_sli_chipset_init: Wait for the restart of the HBA after a restart. 2780 * lpfc_sli_chipset_init - Wait for the restart of the HBA after a restart
2785 * @phba: Pointer to HBA context object. 2781 * @phba: Pointer to HBA context object.
2786 * 2782 *
2787 * This function is called after a HBA restart to wait for successful 2783 * This function is called after a HBA restart to wait for successful
@@ -2876,7 +2872,7 @@ lpfc_sli_chipset_init(struct lpfc_hba *phba)
2876} 2872}
2877 2873
2878/** 2874/**
2879 * lpfc_sli_hbq_count: Get the number of HBQs to be configured. 2875 * lpfc_sli_hbq_count - Get the number of HBQs to be configured
2880 * 2876 *
2881 * This function calculates and returns the number of HBQs required to be 2877 * This function calculates and returns the number of HBQs required to be
2882 * configured. 2878 * configured.
@@ -2888,7 +2884,7 @@ lpfc_sli_hbq_count(void)
2888} 2884}
2889 2885
2890/** 2886/**
2891 * lpfc_sli_hbq_entry_count: Calculate total number of hbq entries. 2887 * lpfc_sli_hbq_entry_count - Calculate total number of hbq entries
2892 * 2888 *
2893 * This function adds the number of hbq entries in every HBQ to get 2889 * This function adds the number of hbq entries in every HBQ to get
2894 * the total number of hbq entries required for the HBA and returns 2890 * the total number of hbq entries required for the HBA and returns
@@ -2907,7 +2903,7 @@ lpfc_sli_hbq_entry_count(void)
2907} 2903}
2908 2904
2909/** 2905/**
2910 * lpfc_sli_hbq_size: Calculate memory required for all hbq entries. 2906 * lpfc_sli_hbq_size - Calculate memory required for all hbq entries
2911 * 2907 *
2912 * This function calculates amount of memory required for all hbq entries 2908 * This function calculates amount of memory required for all hbq entries
2913 * to be configured and returns the total memory required. 2909 * to be configured and returns the total memory required.
@@ -2919,7 +2915,7 @@ lpfc_sli_hbq_size(void)
2919} 2915}
2920 2916
2921/** 2917/**
2922 * lpfc_sli_hbq_setup: configure and initialize HBQs. 2918 * lpfc_sli_hbq_setup - configure and initialize HBQs
2923 * @phba: Pointer to HBA context object. 2919 * @phba: Pointer to HBA context object.
2924 * 2920 *
2925 * This function is called during the SLI initialization to configure 2921 * This function is called during the SLI initialization to configure
@@ -2988,7 +2984,7 @@ lpfc_sli_hbq_setup(struct lpfc_hba *phba)
2988} 2984}
2989 2985
2990/** 2986/**
2991 * lpfc_sli_config_port: Issue config port mailbox command. 2987 * lpfc_sli_config_port - Issue config port mailbox command
2992 * @phba: Pointer to HBA context object. 2988 * @phba: Pointer to HBA context object.
2993 * @sli_mode: sli mode - 2/3 2989 * @sli_mode: sli mode - 2/3
2994 * 2990 *
@@ -3114,7 +3110,7 @@ do_prep_failed:
3114 3110
3115 3111
3116/** 3112/**
3117 * lpfc_sli_hba_setup: SLI intialization function. 3113 * lpfc_sli_hba_setup - SLI intialization function
3118 * @phba: Pointer to HBA context object. 3114 * @phba: Pointer to HBA context object.
3119 * 3115 *
3120 * This function is the main SLI intialization function. This function 3116 * This function is the main SLI intialization function. This function
@@ -3206,7 +3202,7 @@ lpfc_sli_hba_setup_error:
3206 3202
3207 3203
3208/** 3204/**
3209 * lpfc_mbox_timeout: Timeout call back function for mbox timer. 3205 * lpfc_mbox_timeout - Timeout call back function for mbox timer
3210 * @ptr: context object - pointer to hba structure. 3206 * @ptr: context object - pointer to hba structure.
3211 * 3207 *
3212 * This is the callback function for mailbox timer. The mailbox 3208 * This is the callback function for mailbox timer. The mailbox
@@ -3237,7 +3233,7 @@ lpfc_mbox_timeout(unsigned long ptr)
3237 3233
3238 3234
3239/** 3235/**
3240 * lpfc_mbox_timeout_handler: Worker thread function to handle mailbox timeout. 3236 * lpfc_mbox_timeout_handler - Worker thread function to handle mailbox timeout
3241 * @phba: Pointer to HBA context object. 3237 * @phba: Pointer to HBA context object.
3242 * 3238 *
3243 * This function is called from worker thread when a mailbox command times out. 3239 * This function is called from worker thread when a mailbox command times out.
@@ -3252,6 +3248,21 @@ lpfc_mbox_timeout_handler(struct lpfc_hba *phba)
3252 struct lpfc_sli *psli = &phba->sli; 3248 struct lpfc_sli *psli = &phba->sli;
3253 struct lpfc_sli_ring *pring; 3249 struct lpfc_sli_ring *pring;
3254 3250
3251 /* Check the pmbox pointer first. There is a race condition
3252 * between the mbox timeout handler getting executed in the
3253 * worklist and the mailbox actually completing. When this
3254 * race condition occurs, the mbox_active will be NULL.
3255 */
3256 spin_lock_irq(&phba->hbalock);
3257 if (pmbox == NULL) {
3258 lpfc_printf_log(phba, KERN_WARNING,
3259 LOG_MBOX | LOG_SLI,
3260 "0353 Active Mailbox cleared - mailbox timeout "
3261 "exiting\n");
3262 spin_unlock_irq(&phba->hbalock);
3263 return;
3264 }
3265
3255 /* Mbox cmd <mbxCommand> timeout */ 3266 /* Mbox cmd <mbxCommand> timeout */
3256 lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI, 3267 lpfc_printf_log(phba, KERN_ERR, LOG_MBOX | LOG_SLI,
3257 "0310 Mailbox command x%x timeout Data: x%x x%x x%p\n", 3268 "0310 Mailbox command x%x timeout Data: x%x x%x x%p\n",
@@ -3259,6 +3270,7 @@ lpfc_mbox_timeout_handler(struct lpfc_hba *phba)
3259 phba->pport->port_state, 3270 phba->pport->port_state,
3260 phba->sli.sli_flag, 3271 phba->sli.sli_flag,
3261 phba->sli.mbox_active); 3272 phba->sli.mbox_active);
3273 spin_unlock_irq(&phba->hbalock);
3262 3274
3263 /* Setting state unknown so lpfc_sli_abort_iocb_ring 3275 /* Setting state unknown so lpfc_sli_abort_iocb_ring
3264 * would get IOCB_ERROR from lpfc_sli_issue_iocb, allowing 3276 * would get IOCB_ERROR from lpfc_sli_issue_iocb, allowing
@@ -3295,7 +3307,7 @@ lpfc_mbox_timeout_handler(struct lpfc_hba *phba)
3295} 3307}
3296 3308
3297/** 3309/**
3298 * lpfc_sli_issue_mbox: Issue a mailbox command to firmware. 3310 * lpfc_sli_issue_mbox - Issue a mailbox command to firmware
3299 * @phba: Pointer to HBA context object. 3311 * @phba: Pointer to HBA context object.
3300 * @pmbox: Pointer to mailbox object. 3312 * @pmbox: Pointer to mailbox object.
3301 * @flag: Flag indicating how the mailbox need to be processed. 3313 * @flag: Flag indicating how the mailbox need to be processed.
@@ -3365,6 +3377,12 @@ lpfc_sli_issue_mbox(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmbox, uint32_t flag)
3365 goto out_not_finished; 3377 goto out_not_finished;
3366 } 3378 }
3367 3379
3380 /* If HBA has a deferred error attention, fail the iocb. */
3381 if (unlikely(phba->hba_flag & DEFER_ERATT)) {
3382 spin_unlock_irqrestore(&phba->hbalock, drvr_flag);
3383 goto out_not_finished;
3384 }
3385
3368 psli = &phba->sli; 3386 psli = &phba->sli;
3369 3387
3370 mb = &pmbox->mb; 3388 mb = &pmbox->mb;
@@ -3632,7 +3650,7 @@ out_not_finished:
3632} 3650}
3633 3651
3634/** 3652/**
3635 * __lpfc_sli_ringtx_put: Add an iocb to the txq. 3653 * __lpfc_sli_ringtx_put - Add an iocb to the txq
3636 * @phba: Pointer to HBA context object. 3654 * @phba: Pointer to HBA context object.
3637 * @pring: Pointer to driver SLI ring object. 3655 * @pring: Pointer to driver SLI ring object.
3638 * @piocb: Pointer to address of newly added command iocb. 3656 * @piocb: Pointer to address of newly added command iocb.
@@ -3651,7 +3669,7 @@ __lpfc_sli_ringtx_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
3651} 3669}
3652 3670
3653/** 3671/**
3654 * lpfc_sli_next_iocb: Get the next iocb in the txq. 3672 * lpfc_sli_next_iocb - Get the next iocb in the txq
3655 * @phba: Pointer to HBA context object. 3673 * @phba: Pointer to HBA context object.
3656 * @pring: Pointer to driver SLI ring object. 3674 * @pring: Pointer to driver SLI ring object.
3657 * @piocb: Pointer to address of newly added command iocb. 3675 * @piocb: Pointer to address of newly added command iocb.
@@ -3683,7 +3701,7 @@ lpfc_sli_next_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
3683} 3701}
3684 3702
3685/** 3703/**
3686 * __lpfc_sli_issue_iocb: Lockless version of lpfc_sli_issue_iocb. 3704 * __lpfc_sli_issue_iocb - Lockless version of lpfc_sli_issue_iocb
3687 * @phba: Pointer to HBA context object. 3705 * @phba: Pointer to HBA context object.
3688 * @pring: Pointer to driver SLI ring object. 3706 * @pring: Pointer to driver SLI ring object.
3689 * @piocb: Pointer to command iocb. 3707 * @piocb: Pointer to command iocb.
@@ -3729,6 +3747,10 @@ __lpfc_sli_issue_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
3729 if (unlikely(pci_channel_offline(phba->pcidev))) 3747 if (unlikely(pci_channel_offline(phba->pcidev)))
3730 return IOCB_ERROR; 3748 return IOCB_ERROR;
3731 3749
3750 /* If HBA has a deferred error attention, fail the iocb. */
3751 if (unlikely(phba->hba_flag & DEFER_ERATT))
3752 return IOCB_ERROR;
3753
3732 /* 3754 /*
3733 * We should never get an IOCB if we are in a < LINK_DOWN state 3755 * We should never get an IOCB if we are in a < LINK_DOWN state
3734 */ 3756 */
@@ -3813,7 +3835,7 @@ __lpfc_sli_issue_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
3813 3835
3814 3836
3815/** 3837/**
3816 * lpfc_sli_issue_iocb: Wrapper function for __lpfc_sli_issue_iocb. 3838 * lpfc_sli_issue_iocb - Wrapper function for __lpfc_sli_issue_iocb
3817 * @phba: Pointer to HBA context object. 3839 * @phba: Pointer to HBA context object.
3818 * @pring: Pointer to driver SLI ring object. 3840 * @pring: Pointer to driver SLI ring object.
3819 * @piocb: Pointer to command iocb. 3841 * @piocb: Pointer to command iocb.
@@ -3840,7 +3862,7 @@ lpfc_sli_issue_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
3840} 3862}
3841 3863
3842/** 3864/**
3843 * lpfc_extra_ring_setup: Extra ring setup function. 3865 * lpfc_extra_ring_setup - Extra ring setup function
3844 * @phba: Pointer to HBA context object. 3866 * @phba: Pointer to HBA context object.
3845 * 3867 *
3846 * This function is called while driver attaches with the 3868 * This function is called while driver attaches with the
@@ -3886,7 +3908,7 @@ lpfc_extra_ring_setup( struct lpfc_hba *phba)
3886} 3908}
3887 3909
3888/** 3910/**
3889 * lpfc_sli_async_event_handler: ASYNC iocb handler function. 3911 * lpfc_sli_async_event_handler - ASYNC iocb handler function
3890 * @phba: Pointer to HBA context object. 3912 * @phba: Pointer to HBA context object.
3891 * @pring: Pointer to driver SLI ring object. 3913 * @pring: Pointer to driver SLI ring object.
3892 * @iocbq: Pointer to iocb object. 3914 * @iocbq: Pointer to iocb object.
@@ -3907,6 +3929,7 @@ lpfc_sli_async_event_handler(struct lpfc_hba * phba,
3907 uint16_t temp; 3929 uint16_t temp;
3908 struct temp_event temp_event_data; 3930 struct temp_event temp_event_data;
3909 struct Scsi_Host *shost; 3931 struct Scsi_Host *shost;
3932 uint32_t *iocb_w;
3910 3933
3911 icmd = &iocbq->iocb; 3934 icmd = &iocbq->iocb;
3912 evt_code = icmd->un.asyncstat.evt_code; 3935 evt_code = icmd->un.asyncstat.evt_code;
@@ -3914,13 +3937,23 @@ lpfc_sli_async_event_handler(struct lpfc_hba * phba,
3914 3937
3915 if ((evt_code != ASYNC_TEMP_WARN) && 3938 if ((evt_code != ASYNC_TEMP_WARN) &&
3916 (evt_code != ASYNC_TEMP_SAFE)) { 3939 (evt_code != ASYNC_TEMP_SAFE)) {
3940 iocb_w = (uint32_t *) icmd;
3917 lpfc_printf_log(phba, 3941 lpfc_printf_log(phba,
3918 KERN_ERR, 3942 KERN_ERR,
3919 LOG_SLI, 3943 LOG_SLI,
3920 "0346 Ring %d handler: unexpected ASYNC_STATUS" 3944 "0346 Ring %d handler: unexpected ASYNC_STATUS"
3921 " evt_code 0x%x\n", 3945 " evt_code 0x%x \n"
3946 "W0 0x%08x W1 0x%08x W2 0x%08x W3 0x%08x\n"
3947 "W4 0x%08x W5 0x%08x W6 0x%08x W7 0x%08x\n"
3948 "W8 0x%08x W9 0x%08x W10 0x%08x W11 0x%08x\n"
3949 "W12 0x%08x W13 0x%08x W14 0x%08x W15 0x%08x\n",
3922 pring->ringno, 3950 pring->ringno,
3923 icmd->un.asyncstat.evt_code); 3951 icmd->un.asyncstat.evt_code,
3952 iocb_w[0], iocb_w[1], iocb_w[2], iocb_w[3],
3953 iocb_w[4], iocb_w[5], iocb_w[6], iocb_w[7],
3954 iocb_w[8], iocb_w[9], iocb_w[10], iocb_w[11],
3955 iocb_w[12], iocb_w[13], iocb_w[14], iocb_w[15]);
3956
3924 return; 3957 return;
3925 } 3958 }
3926 temp_event_data.data = (uint32_t)temp; 3959 temp_event_data.data = (uint32_t)temp;
@@ -3954,7 +3987,7 @@ lpfc_sli_async_event_handler(struct lpfc_hba * phba,
3954 3987
3955 3988
3956/** 3989/**
3957 * lpfc_sli_setup: SLI ring setup function. 3990 * lpfc_sli_setup - SLI ring setup function
3958 * @phba: Pointer to HBA context object. 3991 * @phba: Pointer to HBA context object.
3959 * 3992 *
3960 * lpfc_sli_setup sets up rings of the SLI interface with 3993 * lpfc_sli_setup sets up rings of the SLI interface with
@@ -4076,7 +4109,7 @@ lpfc_sli_setup(struct lpfc_hba *phba)
4076} 4109}
4077 4110
4078/** 4111/**
4079 * lpfc_sli_queue_setup: Queue initialization function. 4112 * lpfc_sli_queue_setup - Queue initialization function
4080 * @phba: Pointer to HBA context object. 4113 * @phba: Pointer to HBA context object.
4081 * 4114 *
4082 * lpfc_sli_queue_setup sets up mailbox queues and iocb queues for each 4115 * lpfc_sli_queue_setup sets up mailbox queues and iocb queues for each
@@ -4115,7 +4148,7 @@ lpfc_sli_queue_setup(struct lpfc_hba *phba)
4115} 4148}
4116 4149
4117/** 4150/**
4118 * lpfc_sli_host_down: Vport cleanup function. 4151 * lpfc_sli_host_down - Vport cleanup function
4119 * @vport: Pointer to virtual port object. 4152 * @vport: Pointer to virtual port object.
4120 * 4153 *
4121 * lpfc_sli_host_down is called to clean up the resources 4154 * lpfc_sli_host_down is called to clean up the resources
@@ -4179,22 +4212,14 @@ lpfc_sli_host_down(struct lpfc_vport *vport)
4179 4212
4180 spin_unlock_irqrestore(&phba->hbalock, flags); 4213 spin_unlock_irqrestore(&phba->hbalock, flags);
4181 4214
4182 while (!list_empty(&completions)) { 4215 /* Cancel all the IOCBs from the completions list */
4183 list_remove_head(&completions, iocb, struct lpfc_iocbq, list); 4216 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
4184 4217 IOERR_SLI_DOWN);
4185 if (!iocb->iocb_cmpl)
4186 lpfc_sli_release_iocbq(phba, iocb);
4187 else {
4188 iocb->iocb.ulpStatus = IOSTAT_LOCAL_REJECT;
4189 iocb->iocb.un.ulpWord[4] = IOERR_SLI_DOWN;
4190 (iocb->iocb_cmpl) (phba, iocb, iocb);
4191 }
4192 }
4193 return 1; 4218 return 1;
4194} 4219}
4195 4220
4196/** 4221/**
4197 * lpfc_sli_hba_down: Resource cleanup function for the HBA. 4222 * lpfc_sli_hba_down - Resource cleanup function for the HBA
4198 * @phba: Pointer to HBA context object. 4223 * @phba: Pointer to HBA context object.
4199 * 4224 *
4200 * This function cleans up all iocb, buffers, mailbox commands 4225 * This function cleans up all iocb, buffers, mailbox commands
@@ -4216,8 +4241,6 @@ lpfc_sli_hba_down(struct lpfc_hba *phba)
4216 struct lpfc_sli_ring *pring; 4241 struct lpfc_sli_ring *pring;
4217 struct lpfc_dmabuf *buf_ptr; 4242 struct lpfc_dmabuf *buf_ptr;
4218 LPFC_MBOXQ_t *pmb; 4243 LPFC_MBOXQ_t *pmb;
4219 struct lpfc_iocbq *iocb;
4220 IOCB_t *cmd = NULL;
4221 int i; 4244 int i;
4222 unsigned long flags = 0; 4245 unsigned long flags = 0;
4223 4246
@@ -4245,18 +4268,9 @@ lpfc_sli_hba_down(struct lpfc_hba *phba)
4245 } 4268 }
4246 spin_unlock_irqrestore(&phba->hbalock, flags); 4269 spin_unlock_irqrestore(&phba->hbalock, flags);
4247 4270
4248 while (!list_empty(&completions)) { 4271 /* Cancel all the IOCBs from the completions list */
4249 list_remove_head(&completions, iocb, struct lpfc_iocbq, list); 4272 lpfc_sli_cancel_iocbs(phba, &completions, IOSTAT_LOCAL_REJECT,
4250 cmd = &iocb->iocb; 4273 IOERR_SLI_DOWN);
4251
4252 if (!iocb->iocb_cmpl)
4253 lpfc_sli_release_iocbq(phba, iocb);
4254 else {
4255 cmd->ulpStatus = IOSTAT_LOCAL_REJECT;
4256 cmd->un.ulpWord[4] = IOERR_SLI_DOWN;
4257 (iocb->iocb_cmpl) (phba, iocb, iocb);
4258 }
4259 }
4260 4274
4261 spin_lock_irqsave(&phba->hbalock, flags); 4275 spin_lock_irqsave(&phba->hbalock, flags);
4262 list_splice_init(&phba->elsbuf, &completions); 4276 list_splice_init(&phba->elsbuf, &completions);
@@ -4299,7 +4313,7 @@ lpfc_sli_hba_down(struct lpfc_hba *phba)
4299} 4313}
4300 4314
4301/** 4315/**
4302 * lpfc_sli_pcimem_bcopy: SLI memory copy function. 4316 * lpfc_sli_pcimem_bcopy - SLI memory copy function
4303 * @srcp: Source memory pointer. 4317 * @srcp: Source memory pointer.
4304 * @destp: Destination memory pointer. 4318 * @destp: Destination memory pointer.
4305 * @cnt: Number of words required to be copied. 4319 * @cnt: Number of words required to be copied.
@@ -4329,7 +4343,7 @@ lpfc_sli_pcimem_bcopy(void *srcp, void *destp, uint32_t cnt)
4329 4343
4330 4344
4331/** 4345/**
4332 * lpfc_sli_ringpostbuf_put: Function to add a buffer to postbufq. 4346 * lpfc_sli_ringpostbuf_put - Function to add a buffer to postbufq
4333 * @phba: Pointer to HBA context object. 4347 * @phba: Pointer to HBA context object.
4334 * @pring: Pointer to driver SLI ring object. 4348 * @pring: Pointer to driver SLI ring object.
4335 * @mp: Pointer to driver buffer object. 4349 * @mp: Pointer to driver buffer object.
@@ -4352,8 +4366,7 @@ lpfc_sli_ringpostbuf_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
4352} 4366}
4353 4367
4354/** 4368/**
4355 * lpfc_sli_get_buffer_tag: Tag allocation function for a buffer posted 4369 * lpfc_sli_get_buffer_tag - allocates a tag for a CMD_QUE_XRI64_CX buffer
4356 * using CMD_QUE_XRI64_CX iocb.
4357 * @phba: Pointer to HBA context object. 4370 * @phba: Pointer to HBA context object.
4358 * 4371 *
4359 * When HBQ is enabled, buffers are searched based on tags. This function 4372 * When HBQ is enabled, buffers are searched based on tags. This function
@@ -4378,8 +4391,7 @@ lpfc_sli_get_buffer_tag(struct lpfc_hba *phba)
4378} 4391}
4379 4392
4380/** 4393/**
4381 * lpfc_sli_ring_taggedbuf_get: Search HBQ buffer associated with 4394 * lpfc_sli_ring_taggedbuf_get - find HBQ buffer associated with given tag
4382 * posted using CMD_QUE_XRI64_CX iocb.
4383 * @phba: Pointer to HBA context object. 4395 * @phba: Pointer to HBA context object.
4384 * @pring: Pointer to driver SLI ring object. 4396 * @pring: Pointer to driver SLI ring object.
4385 * @tag: Buffer tag. 4397 * @tag: Buffer tag.
@@ -4422,8 +4434,7 @@ lpfc_sli_ring_taggedbuf_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
4422} 4434}
4423 4435
4424/** 4436/**
4425 * lpfc_sli_ringpostbuf_get: SLI2 buffer search function for 4437 * lpfc_sli_ringpostbuf_get - search buffers for unsolicited CT and ELS events
4426 * unsolicited ct and els events.
4427 * @phba: Pointer to HBA context object. 4438 * @phba: Pointer to HBA context object.
4428 * @pring: Pointer to driver SLI ring object. 4439 * @pring: Pointer to driver SLI ring object.
4429 * @phys: DMA address of the buffer. 4440 * @phys: DMA address of the buffer.
@@ -4466,7 +4477,7 @@ lpfc_sli_ringpostbuf_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
4466} 4477}
4467 4478
4468/** 4479/**
4469 * lpfc_sli_abort_els_cmpl: Completion handler for the els abort iocbs. 4480 * lpfc_sli_abort_els_cmpl - Completion handler for the els abort iocbs
4470 * @phba: Pointer to HBA context object. 4481 * @phba: Pointer to HBA context object.
4471 * @cmdiocb: Pointer to driver command iocb object. 4482 * @cmdiocb: Pointer to driver command iocb object.
4472 * @rspiocb: Pointer to driver response iocb object. 4483 * @rspiocb: Pointer to driver response iocb object.
@@ -4542,7 +4553,7 @@ lpfc_sli_abort_els_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
4542} 4553}
4543 4554
4544/** 4555/**
4545 * lpfc_ignore_els_cmpl: Completion handler for aborted ELS command. 4556 * lpfc_ignore_els_cmpl - Completion handler for aborted ELS command
4546 * @phba: Pointer to HBA context object. 4557 * @phba: Pointer to HBA context object.
4547 * @cmdiocb: Pointer to driver command iocb object. 4558 * @cmdiocb: Pointer to driver command iocb object.
4548 * @rspiocb: Pointer to driver response iocb object. 4559 * @rspiocb: Pointer to driver response iocb object.
@@ -4572,7 +4583,7 @@ lpfc_ignore_els_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
4572} 4583}
4573 4584
4574/** 4585/**
4575 * lpfc_sli_issue_abort_iotag: Abort function for a command iocb. 4586 * lpfc_sli_issue_abort_iotag - Abort function for a command iocb
4576 * @phba: Pointer to HBA context object. 4587 * @phba: Pointer to HBA context object.
4577 * @pring: Pointer to driver SLI ring object. 4588 * @pring: Pointer to driver SLI ring object.
4578 * @cmdiocb: Pointer to driver command iocb object. 4589 * @cmdiocb: Pointer to driver command iocb object.
@@ -4658,15 +4669,14 @@ abort_iotag_exit:
4658} 4669}
4659 4670
4660/** 4671/**
4661 * lpfc_sli_validate_fcp_iocb: Filtering function, used to find commands 4672 * lpfc_sli_validate_fcp_iocb - find commands associated with a vport or LUN
4662 * associated with a vport/SCSI target/lun.
4663 * @iocbq: Pointer to driver iocb object. 4673 * @iocbq: Pointer to driver iocb object.
4664 * @vport: Pointer to driver virtual port object. 4674 * @vport: Pointer to driver virtual port object.
4665 * @tgt_id: SCSI ID of the target. 4675 * @tgt_id: SCSI ID of the target.
4666 * @lun_id: LUN ID of the scsi device. 4676 * @lun_id: LUN ID of the scsi device.
4667 * @ctx_cmd: LPFC_CTX_LUN/LPFC_CTX_TGT/LPFC_CTX_HOST 4677 * @ctx_cmd: LPFC_CTX_LUN/LPFC_CTX_TGT/LPFC_CTX_HOST
4668 * 4678 *
4669 * This function acts as iocb filter for functions which abort or count 4679 * This function acts as an iocb filter for functions which abort or count
4670 * all FCP iocbs pending on a lun/SCSI target/SCSI host. It will return 4680 * all FCP iocbs pending on a lun/SCSI target/SCSI host. It will return
4671 * 0 if the filtering criteria is met for the given iocb and will return 4681 * 0 if the filtering criteria is met for the given iocb and will return
4672 * 1 if the filtering criteria is not met. 4682 * 1 if the filtering criteria is not met.
@@ -4724,7 +4734,7 @@ lpfc_sli_validate_fcp_iocb(struct lpfc_iocbq *iocbq, struct lpfc_vport *vport,
4724} 4734}
4725 4735
4726/** 4736/**
4727 * lpfc_sli_sum_iocb: Function to count the number of FCP iocbs pending. 4737 * lpfc_sli_sum_iocb - Function to count the number of FCP iocbs pending
4728 * @vport: Pointer to virtual port. 4738 * @vport: Pointer to virtual port.
4729 * @tgt_id: SCSI ID of the target. 4739 * @tgt_id: SCSI ID of the target.
4730 * @lun_id: LUN ID of the scsi device. 4740 * @lun_id: LUN ID of the scsi device.
@@ -4762,8 +4772,7 @@ lpfc_sli_sum_iocb(struct lpfc_vport *vport, uint16_t tgt_id, uint64_t lun_id,
4762} 4772}
4763 4773
4764/** 4774/**
4765 * lpfc_sli_abort_fcp_cmpl: Completion handler function for an aborted 4775 * lpfc_sli_abort_fcp_cmpl - Completion handler function for aborted FCP IOCBs
4766 * FCP iocb.
4767 * @phba: Pointer to HBA context object 4776 * @phba: Pointer to HBA context object
4768 * @cmdiocb: Pointer to command iocb object. 4777 * @cmdiocb: Pointer to command iocb object.
4769 * @rspiocb: Pointer to response iocb object. 4778 * @rspiocb: Pointer to response iocb object.
@@ -4781,8 +4790,7 @@ lpfc_sli_abort_fcp_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
4781} 4790}
4782 4791
4783/** 4792/**
4784 * lpfc_sli_abort_iocb: This function issue abort for all SCSI commands 4793 * lpfc_sli_abort_iocb - issue abort for all commands on a host/target/LUN
4785 * pending on a SCSI host(vport)/target/lun.
4786 * @vport: Pointer to virtual port. 4794 * @vport: Pointer to virtual port.
4787 * @pring: Pointer to driver SLI ring object. 4795 * @pring: Pointer to driver SLI ring object.
4788 * @tgt_id: SCSI ID of the target. 4796 * @tgt_id: SCSI ID of the target.
@@ -4854,8 +4862,7 @@ lpfc_sli_abort_iocb(struct lpfc_vport *vport, struct lpfc_sli_ring *pring,
4854} 4862}
4855 4863
4856/** 4864/**
4857 * lpfc_sli_wake_iocb_wait: iocb completion handler for iocb issued using 4865 * lpfc_sli_wake_iocb_wait - lpfc_sli_issue_iocb_wait's completion handler
4858 * lpfc_sli_issue_iocb_wait.
4859 * @phba: Pointer to HBA context object. 4866 * @phba: Pointer to HBA context object.
4860 * @cmdiocbq: Pointer to command iocb. 4867 * @cmdiocbq: Pointer to command iocb.
4861 * @rspiocbq: Pointer to response iocb. 4868 * @rspiocbq: Pointer to response iocb.
@@ -4893,7 +4900,7 @@ lpfc_sli_wake_iocb_wait(struct lpfc_hba *phba,
4893} 4900}
4894 4901
4895/** 4902/**
4896 * lpfc_sli_issue_iocb_wait: Synchronous function to issue iocb commands. 4903 * lpfc_sli_issue_iocb_wait - Synchronous function to issue iocb commands
4897 * @phba: Pointer to HBA context object.. 4904 * @phba: Pointer to HBA context object..
4898 * @pring: Pointer to sli ring. 4905 * @pring: Pointer to sli ring.
4899 * @piocb: Pointer to command iocb. 4906 * @piocb: Pointer to command iocb.
@@ -5000,7 +5007,7 @@ lpfc_sli_issue_iocb_wait(struct lpfc_hba *phba,
5000} 5007}
5001 5008
5002/** 5009/**
5003 * lpfc_sli_issue_mbox_wait: Synchronous function to issue mailbox. 5010 * lpfc_sli_issue_mbox_wait - Synchronous function to issue mailbox
5004 * @phba: Pointer to HBA context object. 5011 * @phba: Pointer to HBA context object.
5005 * @pmboxq: Pointer to driver mailbox object. 5012 * @pmboxq: Pointer to driver mailbox object.
5006 * @timeout: Timeout in number of seconds. 5013 * @timeout: Timeout in number of seconds.
@@ -5070,7 +5077,7 @@ lpfc_sli_issue_mbox_wait(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq,
5070} 5077}
5071 5078
5072/** 5079/**
5073 * lpfc_sli_flush_mbox_queue: mailbox queue cleanup function. 5080 * lpfc_sli_flush_mbox_queue - mailbox queue cleanup function
5074 * @phba: Pointer to HBA context. 5081 * @phba: Pointer to HBA context.
5075 * 5082 *
5076 * This function is called to cleanup any pending mailbox 5083 * This function is called to cleanup any pending mailbox
@@ -5113,7 +5120,7 @@ lpfc_sli_flush_mbox_queue(struct lpfc_hba * phba)
5113} 5120}
5114 5121
5115/** 5122/**
5116 * lpfc_sli_check_eratt: check error attention events 5123 * lpfc_sli_check_eratt - check error attention events
5117 * @phba: Pointer to HBA context. 5124 * @phba: Pointer to HBA context.
5118 * 5125 *
5119 * This function is called form timer soft interrupt context to check HBA's 5126 * This function is called form timer soft interrupt context to check HBA's
@@ -5145,11 +5152,31 @@ lpfc_sli_check_eratt(struct lpfc_hba *phba)
5145 return 0; 5152 return 0;
5146 } 5153 }
5147 5154
5155 /*
5156 * If there is deferred error attention, do not check for error
5157 * attention
5158 */
5159 if (unlikely(phba->hba_flag & DEFER_ERATT)) {
5160 spin_unlock_irq(&phba->hbalock);
5161 return 0;
5162 }
5163
5148 /* Read chip Host Attention (HA) register */ 5164 /* Read chip Host Attention (HA) register */
5149 ha_copy = readl(phba->HAregaddr); 5165 ha_copy = readl(phba->HAregaddr);
5150 if (ha_copy & HA_ERATT) { 5166 if (ha_copy & HA_ERATT) {
5151 /* Read host status register to retrieve error event */ 5167 /* Read host status register to retrieve error event */
5152 lpfc_sli_read_hs(phba); 5168 lpfc_sli_read_hs(phba);
5169
5170 /* Check if there is a deferred error condition is active */
5171 if ((HS_FFER1 & phba->work_hs) &&
5172 ((HS_FFER2 | HS_FFER3 | HS_FFER4 | HS_FFER5 |
5173 HS_FFER6 | HS_FFER7) & phba->work_hs)) {
5174 phba->hba_flag |= DEFER_ERATT;
5175 /* Clear all interrupt enable conditions */
5176 writel(0, phba->HCregaddr);
5177 readl(phba->HCregaddr);
5178 }
5179
5153 /* Set the driver HA work bitmap */ 5180 /* Set the driver HA work bitmap */
5154 phba->work_ha |= HA_ERATT; 5181 phba->work_ha |= HA_ERATT;
5155 /* Indicate polling handles this ERATT */ 5182 /* Indicate polling handles this ERATT */
@@ -5162,7 +5189,7 @@ lpfc_sli_check_eratt(struct lpfc_hba *phba)
5162} 5189}
5163 5190
5164/** 5191/**
5165 * lpfc_sp_intr_handler: The slow-path interrupt handler of lpfc driver. 5192 * lpfc_sp_intr_handler - The slow-path interrupt handler of lpfc driver
5166 * @irq: Interrupt number. 5193 * @irq: Interrupt number.
5167 * @dev_id: The device context pointer. 5194 * @dev_id: The device context pointer.
5168 * 5195 *
@@ -5238,6 +5265,16 @@ lpfc_sp_intr_handler(int irq, void *dev_id)
5238 /* Indicate interrupt handler handles ERATT */ 5265 /* Indicate interrupt handler handles ERATT */
5239 phba->hba_flag |= HBA_ERATT_HANDLED; 5266 phba->hba_flag |= HBA_ERATT_HANDLED;
5240 } 5267 }
5268
5269 /*
5270 * If there is deferred error attention, do not check for any
5271 * interrupt.
5272 */
5273 if (unlikely(phba->hba_flag & DEFER_ERATT)) {
5274 spin_unlock_irq(&phba->hbalock);
5275 return IRQ_NONE;
5276 }
5277
5241 /* Clear up only attention source related to slow-path */ 5278 /* Clear up only attention source related to slow-path */
5242 writel((ha_copy & (HA_MBATT | HA_R2_CLR_MSK)), 5279 writel((ha_copy & (HA_MBATT | HA_R2_CLR_MSK)),
5243 phba->HAregaddr); 5280 phba->HAregaddr);
@@ -5309,8 +5346,22 @@ lpfc_sp_intr_handler(int irq, void *dev_id)
5309 } 5346 }
5310 } 5347 }
5311 spin_lock_irqsave(&phba->hbalock, iflag); 5348 spin_lock_irqsave(&phba->hbalock, iflag);
5312 if (work_ha_copy & HA_ERATT) 5349 if (work_ha_copy & HA_ERATT) {
5313 lpfc_sli_read_hs(phba); 5350 lpfc_sli_read_hs(phba);
5351 /*
5352 * Check if there is a deferred error condition
5353 * is active
5354 */
5355 if ((HS_FFER1 & phba->work_hs) &&
5356 ((HS_FFER2 | HS_FFER3 | HS_FFER4 | HS_FFER5 |
5357 HS_FFER6 | HS_FFER7) & phba->work_hs)) {
5358 phba->hba_flag |= DEFER_ERATT;
5359 /* Clear all interrupt enable conditions */
5360 writel(0, phba->HCregaddr);
5361 readl(phba->HCregaddr);
5362 }
5363 }
5364
5314 if ((work_ha_copy & HA_MBATT) && (phba->sli.mbox_active)) { 5365 if ((work_ha_copy & HA_MBATT) && (phba->sli.mbox_active)) {
5315 pmb = phba->sli.mbox_active; 5366 pmb = phba->sli.mbox_active;
5316 pmbox = &pmb->mb; 5367 pmbox = &pmb->mb;
@@ -5423,7 +5474,7 @@ send_current_mbox:
5423} /* lpfc_sp_intr_handler */ 5474} /* lpfc_sp_intr_handler */
5424 5475
5425/** 5476/**
5426 * lpfc_fp_intr_handler: The fast-path interrupt handler of lpfc driver. 5477 * lpfc_fp_intr_handler - The fast-path interrupt handler of lpfc driver
5427 * @irq: Interrupt number. 5478 * @irq: Interrupt number.
5428 * @dev_id: The device context pointer. 5479 * @dev_id: The device context pointer.
5429 * 5480 *
@@ -5474,6 +5525,14 @@ lpfc_fp_intr_handler(int irq, void *dev_id)
5474 ha_copy = readl(phba->HAregaddr); 5525 ha_copy = readl(phba->HAregaddr);
5475 /* Clear up only attention source related to fast-path */ 5526 /* Clear up only attention source related to fast-path */
5476 spin_lock_irqsave(&phba->hbalock, iflag); 5527 spin_lock_irqsave(&phba->hbalock, iflag);
5528 /*
5529 * If there is deferred error attention, do not check for
5530 * any interrupt.
5531 */
5532 if (unlikely(phba->hba_flag & DEFER_ERATT)) {
5533 spin_unlock_irq(&phba->hbalock);
5534 return IRQ_NONE;
5535 }
5477 writel((ha_copy & (HA_R0_CLR_MSK | HA_R1_CLR_MSK)), 5536 writel((ha_copy & (HA_R0_CLR_MSK | HA_R1_CLR_MSK)),
5478 phba->HAregaddr); 5537 phba->HAregaddr);
5479 readl(phba->HAregaddr); /* flush */ 5538 readl(phba->HAregaddr); /* flush */
@@ -5510,7 +5569,7 @@ lpfc_fp_intr_handler(int irq, void *dev_id)
5510} /* lpfc_fp_intr_handler */ 5569} /* lpfc_fp_intr_handler */
5511 5570
5512/** 5571/**
5513 * lpfc_intr_handler: The device-level interrupt handler of lpfc driver. 5572 * lpfc_intr_handler - The device-level interrupt handler of lpfc driver
5514 * @irq: Interrupt number. 5573 * @irq: Interrupt number.
5515 * @dev_id: The device context pointer. 5574 * @dev_id: The device context pointer.
5516 * 5575 *
@@ -5566,6 +5625,14 @@ lpfc_intr_handler(int irq, void *dev_id)
5566 phba->hba_flag |= HBA_ERATT_HANDLED; 5625 phba->hba_flag |= HBA_ERATT_HANDLED;
5567 } 5626 }
5568 5627
5628 /*
5629 * If there is deferred error attention, do not check for any interrupt.
5630 */
5631 if (unlikely(phba->hba_flag & DEFER_ERATT)) {
5632 spin_unlock_irq(&phba->hbalock);
5633 return IRQ_NONE;
5634 }
5635
5569 /* Clear attention sources except link and error attentions */ 5636 /* Clear attention sources except link and error attentions */
5570 writel((phba->ha_copy & ~(HA_LATT | HA_ERATT)), phba->HAregaddr); 5637 writel((phba->ha_copy & ~(HA_LATT | HA_ERATT)), phba->HAregaddr);
5571 readl(phba->HAregaddr); /* flush */ 5638 readl(phba->HAregaddr); /* flush */
diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_version.h
index 7e32e95c5392..e599519e3078 100644
--- a/drivers/scsi/lpfc/lpfc_version.h
+++ b/drivers/scsi/lpfc/lpfc_version.h
@@ -1,7 +1,7 @@
1/******************************************************************* 1/*******************************************************************
2 * This file is part of the Emulex Linux Device Driver for * 2 * This file is part of the Emulex Linux Device Driver for *
3 * Fibre Channel Host Bus Adapters. * 3 * Fibre Channel Host Bus Adapters. *
4 * Copyright (C) 2004-2008 Emulex. All rights reserved. * 4 * Copyright (C) 2004-2009 Emulex. All rights reserved. *
5 * EMULEX and SLI are trademarks of Emulex. * 5 * EMULEX and SLI are trademarks of Emulex. *
6 * www.emulex.com * 6 * www.emulex.com *
7 * * 7 * *
@@ -18,7 +18,7 @@
18 * included with this package. * 18 * included with this package. *
19 *******************************************************************/ 19 *******************************************************************/
20 20
21#define LPFC_DRIVER_VERSION "8.3.0" 21#define LPFC_DRIVER_VERSION "8.3.1"
22 22
23#define LPFC_DRIVER_NAME "lpfc" 23#define LPFC_DRIVER_NAME "lpfc"
24#define LPFC_SP_DRIVER_HANDLER_NAME "lpfc:sp" 24#define LPFC_SP_DRIVER_HANDLER_NAME "lpfc:sp"
@@ -26,4 +26,4 @@
26 26
27#define LPFC_MODULE_DESC "Emulex LightPulse Fibre Channel SCSI driver " \ 27#define LPFC_MODULE_DESC "Emulex LightPulse Fibre Channel SCSI driver " \
28 LPFC_DRIVER_VERSION 28 LPFC_DRIVER_VERSION
29#define LPFC_COPYRIGHT "Copyright(c) 2004-2008 Emulex. All rights reserved." 29#define LPFC_COPYRIGHT "Copyright(c) 2004-2009 Emulex. All rights reserved."
diff --git a/drivers/scsi/lpfc/lpfc_vport.c b/drivers/scsi/lpfc/lpfc_vport.c
index 63b54c66756c..917ad56b0aff 100644
--- a/drivers/scsi/lpfc/lpfc_vport.c
+++ b/drivers/scsi/lpfc/lpfc_vport.c
@@ -206,7 +206,7 @@ lpfc_unique_wwpn(struct lpfc_hba *phba, struct lpfc_vport *new_vport)
206} 206}
207 207
208/** 208/**
209 * lpfc_discovery_wait: Wait for driver discovery to quiesce. 209 * lpfc_discovery_wait - Wait for driver discovery to quiesce
210 * @vport: The virtual port for which this call is being executed. 210 * @vport: The virtual port for which this call is being executed.
211 * 211 *
212 * This driver calls this routine specifically from lpfc_vport_delete 212 * This driver calls this routine specifically from lpfc_vport_delete
@@ -741,7 +741,7 @@ lpfc_destroy_vport_work_array(struct lpfc_hba *phba, struct lpfc_vport **vports)
741 741
742 742
743/** 743/**
744 * lpfc_vport_reset_stat_data: Reset the statistical data for the vport. 744 * lpfc_vport_reset_stat_data - Reset the statistical data for the vport
745 * @vport: Pointer to vport object. 745 * @vport: Pointer to vport object.
746 * 746 *
747 * This function resets the statistical data for the vport. This function 747 * This function resets the statistical data for the vport. This function
@@ -763,8 +763,7 @@ lpfc_vport_reset_stat_data(struct lpfc_vport *vport)
763 763
764 764
765/** 765/**
766 * lpfc_alloc_bucket: Allocate data buffer required for collecting 766 * lpfc_alloc_bucket - Allocate data buffer required for statistical data
767 * statistical data.
768 * @vport: Pointer to vport object. 767 * @vport: Pointer to vport object.
769 * 768 *
770 * This function allocates data buffer required for all the FC 769 * This function allocates data buffer required for all the FC
@@ -797,8 +796,7 @@ lpfc_alloc_bucket(struct lpfc_vport *vport)
797} 796}
798 797
799/** 798/**
800 * lpfc_free_bucket: Free data buffer required for collecting 799 * lpfc_free_bucket - Free data buffer required for statistical data
801 * statistical data.
802 * @vport: Pointer to vport object. 800 * @vport: Pointer to vport object.
803 * 801 *
804 * Th function frees statistical data buffer of all the FC 802 * Th function frees statistical data buffer of all the FC
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b/drivers/scsi/mpt2sas/mpt2sas_base.c
index a91f5143ceac..f3da592f7bcc 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.c
@@ -636,6 +636,14 @@ _base_unmask_interrupts(struct MPT2SAS_ADAPTER *ioc)
636static irqreturn_t 636static irqreturn_t
637_base_interrupt(int irq, void *bus_id) 637_base_interrupt(int irq, void *bus_id)
638{ 638{
639 union reply_descriptor {
640 u64 word;
641 struct {
642 u32 low;
643 u32 high;
644 } u;
645 };
646 union reply_descriptor rd;
639 u32 post_index, post_index_next, completed_cmds; 647 u32 post_index, post_index_next, completed_cmds;
640 u8 request_desript_type; 648 u8 request_desript_type;
641 u16 smid; 649 u16 smid;
@@ -656,7 +664,8 @@ _base_interrupt(int irq, void *bus_id)
656 664
657 completed_cmds = 0; 665 completed_cmds = 0;
658 do { 666 do {
659 if (ioc->reply_post_free[post_index].Words == ~0ULL) 667 rd.word = ioc->reply_post_free[post_index].Words;
668 if (rd.u.low == UINT_MAX || rd.u.high == UINT_MAX)
660 goto out; 669 goto out;
661 reply = 0; 670 reply = 0;
662 cb_idx = 0xFF; 671 cb_idx = 0xFF;
@@ -721,7 +730,7 @@ _base_interrupt(int irq, void *bus_id)
721 for (i = 0 ; i < completed_cmds; i++) { 730 for (i = 0 ; i < completed_cmds; i++) {
722 post_index = post_index_next; 731 post_index = post_index_next;
723 /* poison the reply post descriptor */ 732 /* poison the reply post descriptor */
724 ioc->reply_post_free[post_index_next].Words = ~0ULL; 733 ioc->reply_post_free[post_index_next].Words = ULLONG_MAX;
725 post_index_next = (post_index == 734 post_index_next = (post_index ==
726 (ioc->reply_post_queue_depth - 1)) 735 (ioc->reply_post_queue_depth - 1))
727 ? 0 : post_index + 1; 736 ? 0 : post_index + 1;
@@ -1387,6 +1396,64 @@ mpt2sas_base_put_smid_target_assist(struct MPT2SAS_ADAPTER *ioc, u16 smid,
1387} 1396}
1388 1397
1389/** 1398/**
1399 * _base_display_dell_branding - Disply branding string
1400 * @ioc: per adapter object
1401 *
1402 * Return nothing.
1403 */
1404static void
1405_base_display_dell_branding(struct MPT2SAS_ADAPTER *ioc)
1406{
1407 char dell_branding[MPT2SAS_DELL_BRANDING_SIZE];
1408
1409 if (ioc->pdev->subsystem_vendor != PCI_VENDOR_ID_DELL)
1410 return;
1411
1412 memset(dell_branding, 0, MPT2SAS_DELL_BRANDING_SIZE);
1413 switch (ioc->pdev->subsystem_device) {
1414 case MPT2SAS_DELL_6GBPS_SAS_HBA_SSDID:
1415 strncpy(dell_branding, MPT2SAS_DELL_6GBPS_SAS_HBA_BRANDING,
1416 MPT2SAS_DELL_BRANDING_SIZE - 1);
1417 break;
1418 case MPT2SAS_DELL_PERC_H200_ADAPTER_SSDID:
1419 strncpy(dell_branding, MPT2SAS_DELL_PERC_H200_ADAPTER_BRANDING,
1420 MPT2SAS_DELL_BRANDING_SIZE - 1);
1421 break;
1422 case MPT2SAS_DELL_PERC_H200_INTEGRATED_SSDID:
1423 strncpy(dell_branding,
1424 MPT2SAS_DELL_PERC_H200_INTEGRATED_BRANDING,
1425 MPT2SAS_DELL_BRANDING_SIZE - 1);
1426 break;
1427 case MPT2SAS_DELL_PERC_H200_MODULAR_SSDID:
1428 strncpy(dell_branding,
1429 MPT2SAS_DELL_PERC_H200_MODULAR_BRANDING,
1430 MPT2SAS_DELL_BRANDING_SIZE - 1);
1431 break;
1432 case MPT2SAS_DELL_PERC_H200_EMBEDDED_SSDID:
1433 strncpy(dell_branding,
1434 MPT2SAS_DELL_PERC_H200_EMBEDDED_BRANDING,
1435 MPT2SAS_DELL_BRANDING_SIZE - 1);
1436 break;
1437 case MPT2SAS_DELL_PERC_H200_SSDID:
1438 strncpy(dell_branding, MPT2SAS_DELL_PERC_H200_BRANDING,
1439 MPT2SAS_DELL_BRANDING_SIZE - 1);
1440 break;
1441 case MPT2SAS_DELL_6GBPS_SAS_SSDID:
1442 strncpy(dell_branding, MPT2SAS_DELL_6GBPS_SAS_BRANDING,
1443 MPT2SAS_DELL_BRANDING_SIZE - 1);
1444 break;
1445 default:
1446 sprintf(dell_branding, "0x%4X", ioc->pdev->subsystem_device);
1447 break;
1448 }
1449
1450 printk(MPT2SAS_INFO_FMT "%s: Vendor(0x%04X), Device(0x%04X),"
1451 " SSVID(0x%04X), SSDID(0x%04X)\n", ioc->name, dell_branding,
1452 ioc->pdev->vendor, ioc->pdev->device, ioc->pdev->subsystem_vendor,
1453 ioc->pdev->subsystem_device);
1454}
1455
1456/**
1390 * _base_display_ioc_capabilities - Disply IOC's capabilities. 1457 * _base_display_ioc_capabilities - Disply IOC's capabilities.
1391 * @ioc: per adapter object 1458 * @ioc: per adapter object
1392 * 1459 *
@@ -1427,6 +1494,8 @@ _base_display_ioc_capabilities(struct MPT2SAS_ADAPTER *ioc)
1427 i++; 1494 i++;
1428 } 1495 }
1429 1496
1497 _base_display_dell_branding(ioc);
1498
1430 i = 0; 1499 i = 0;
1431 printk("), "); 1500 printk("), ");
1432 printk("Capabilities=("); 1501 printk("Capabilities=(");
@@ -3068,7 +3137,7 @@ _base_make_ioc_operational(struct MPT2SAS_ADAPTER *ioc, u8 VF_ID,
3068 3137
3069 /* initialize Reply Post Free Queue */ 3138 /* initialize Reply Post Free Queue */
3070 for (i = 0; i < ioc->reply_post_queue_depth; i++) 3139 for (i = 0; i < ioc->reply_post_queue_depth; i++)
3071 ioc->reply_post_free[i].Words = ~0ULL; 3140 ioc->reply_post_free[i].Words = ULLONG_MAX;
3072 3141
3073 r = _base_send_ioc_init(ioc, VF_ID, sleep_flag); 3142 r = _base_send_ioc_init(ioc, VF_ID, sleep_flag);
3074 if (r) 3143 if (r)
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.h b/drivers/scsi/mpt2sas/mpt2sas_base.h
index 6945ff4d382e..babd4cc0cb25 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.h
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.h
@@ -68,11 +68,11 @@
68#define MPT2SAS_DRIVER_NAME "mpt2sas" 68#define MPT2SAS_DRIVER_NAME "mpt2sas"
69#define MPT2SAS_AUTHOR "LSI Corporation <DL-MPTFusionLinux@lsi.com>" 69#define MPT2SAS_AUTHOR "LSI Corporation <DL-MPTFusionLinux@lsi.com>"
70#define MPT2SAS_DESCRIPTION "LSI MPT Fusion SAS 2.0 Device Driver" 70#define MPT2SAS_DESCRIPTION "LSI MPT Fusion SAS 2.0 Device Driver"
71#define MPT2SAS_DRIVER_VERSION "00.100.11.16" 71#define MPT2SAS_DRIVER_VERSION "01.100.02.00"
72#define MPT2SAS_MAJOR_VERSION 00 72#define MPT2SAS_MAJOR_VERSION 00
73#define MPT2SAS_MINOR_VERSION 100 73#define MPT2SAS_MINOR_VERSION 100
74#define MPT2SAS_BUILD_VERSION 11 74#define MPT2SAS_BUILD_VERSION 02
75#define MPT2SAS_RELEASE_VERSION 16 75#define MPT2SAS_RELEASE_VERSION 00
76 76
77/* 77/*
78 * Set MPT2SAS_SG_DEPTH value based on user input. 78 * Set MPT2SAS_SG_DEPTH value based on user input.
@@ -130,6 +130,30 @@
130#define MPT2SAS_ERR_FMT KERN_ERR MPT2SAS_FMT 130#define MPT2SAS_ERR_FMT KERN_ERR MPT2SAS_FMT
131 131
132/* 132/*
133 * Dell HBA branding
134 */
135#define MPT2SAS_DELL_BRANDING_SIZE 32
136
137#define MPT2SAS_DELL_6GBPS_SAS_HBA_BRANDING "Dell 6Gbps SAS HBA"
138#define MPT2SAS_DELL_PERC_H200_ADAPTER_BRANDING "Dell PERC H200 Adapter"
139#define MPT2SAS_DELL_PERC_H200_INTEGRATED_BRANDING "Dell PERC H200 Integrated"
140#define MPT2SAS_DELL_PERC_H200_MODULAR_BRANDING "Dell PERC H200 Modular"
141#define MPT2SAS_DELL_PERC_H200_EMBEDDED_BRANDING "Dell PERC H200 Embedded"
142#define MPT2SAS_DELL_PERC_H200_BRANDING "Dell PERC H200"
143#define MPT2SAS_DELL_6GBPS_SAS_BRANDING "Dell 6Gbps SAS"
144
145/*
146 * Dell HBA SSDIDs
147 */
148#define MPT2SAS_DELL_6GBPS_SAS_HBA_SSDID 0x1F1C
149#define MPT2SAS_DELL_PERC_H200_ADAPTER_SSDID 0x1F1D
150#define MPT2SAS_DELL_PERC_H200_INTEGRATED_SSDID 0x1F1E
151#define MPT2SAS_DELL_PERC_H200_MODULAR_SSDID 0x1F1F
152#define MPT2SAS_DELL_PERC_H200_EMBEDDED_SSDID 0x1F20
153#define MPT2SAS_DELL_PERC_H200_SSDID 0x1F21
154#define MPT2SAS_DELL_6GBPS_SAS_SSDID 0x1F22
155
156/*
133 * per target private data 157 * per target private data
134 */ 158 */
135#define MPT_TARGET_FLAGS_RAID_COMPONENT 0x01 159#define MPT_TARGET_FLAGS_RAID_COMPONENT 0x01
diff --git a/drivers/scsi/mpt2sas/mpt2sas_ctl.c b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
index 2d4f85c9d7a1..ba6ab170bdf0 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_ctl.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
@@ -64,6 +64,9 @@
64static struct fasync_struct *async_queue; 64static struct fasync_struct *async_queue;
65static DECLARE_WAIT_QUEUE_HEAD(ctl_poll_wait); 65static DECLARE_WAIT_QUEUE_HEAD(ctl_poll_wait);
66 66
67static int _ctl_send_release(struct MPT2SAS_ADAPTER *ioc, u8 buffer_type,
68 u8 *issue_reset);
69
67/** 70/**
68 * enum block_state - blocking state 71 * enum block_state - blocking state
69 * @NON_BLOCKING: non blocking 72 * @NON_BLOCKING: non blocking
@@ -378,10 +381,22 @@ _ctl_verify_adapter(int ioc_number, struct MPT2SAS_ADAPTER **iocpp)
378void 381void
379mpt2sas_ctl_reset_handler(struct MPT2SAS_ADAPTER *ioc, int reset_phase) 382mpt2sas_ctl_reset_handler(struct MPT2SAS_ADAPTER *ioc, int reset_phase)
380{ 383{
384 int i;
385 u8 issue_reset;
386
381 switch (reset_phase) { 387 switch (reset_phase) {
382 case MPT2_IOC_PRE_RESET: 388 case MPT2_IOC_PRE_RESET:
383 dtmprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: " 389 dtmprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: "
384 "MPT2_IOC_PRE_RESET\n", ioc->name, __func__)); 390 "MPT2_IOC_PRE_RESET\n", ioc->name, __func__));
391 for (i = 0; i < MPI2_DIAG_BUF_TYPE_COUNT; i++) {
392 if (!(ioc->diag_buffer_status[i] &
393 MPT2_DIAG_BUFFER_IS_REGISTERED))
394 continue;
395 if ((ioc->diag_buffer_status[i] &
396 MPT2_DIAG_BUFFER_IS_RELEASED))
397 continue;
398 _ctl_send_release(ioc, i, &issue_reset);
399 }
385 break; 400 break;
386 case MPT2_IOC_AFTER_RESET: 401 case MPT2_IOC_AFTER_RESET:
387 dtmprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: " 402 dtmprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: "
@@ -395,6 +410,17 @@ mpt2sas_ctl_reset_handler(struct MPT2SAS_ADAPTER *ioc, int reset_phase)
395 case MPT2_IOC_DONE_RESET: 410 case MPT2_IOC_DONE_RESET:
396 dtmprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: " 411 dtmprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: "
397 "MPT2_IOC_DONE_RESET\n", ioc->name, __func__)); 412 "MPT2_IOC_DONE_RESET\n", ioc->name, __func__));
413
414 for (i = 0; i < MPI2_DIAG_BUF_TYPE_COUNT; i++) {
415 if (!(ioc->diag_buffer_status[i] &
416 MPT2_DIAG_BUFFER_IS_REGISTERED))
417 continue;
418 if ((ioc->diag_buffer_status[i] &
419 MPT2_DIAG_BUFFER_IS_RELEASED))
420 continue;
421 ioc->diag_buffer_status[i] |=
422 MPT2_DIAG_BUFFER_IS_DIAG_RESET;
423 }
398 break; 424 break;
399 } 425 }
400} 426}
@@ -714,8 +740,10 @@ _ctl_do_mpt_command(struct MPT2SAS_ADAPTER *ioc,
714 740
715 if (tm_request->TaskType == 741 if (tm_request->TaskType ==
716 MPI2_SCSITASKMGMT_TASKTYPE_ABORT_TASK) { 742 MPI2_SCSITASKMGMT_TASKTYPE_ABORT_TASK) {
717 if (_ctl_do_task_abort(ioc, &karg, tm_request)) 743 if (_ctl_do_task_abort(ioc, &karg, tm_request)) {
744 mpt2sas_base_free_smid(ioc, smid);
718 goto out; 745 goto out;
746 }
719 } 747 }
720 748
721 mutex_lock(&ioc->tm_cmds.mutex); 749 mutex_lock(&ioc->tm_cmds.mutex);
@@ -915,9 +943,9 @@ _ctl_getiocinfo(void __user *arg)
915 karg.pci_information.u.bits.function = PCI_FUNC(ioc->pdev->devfn); 943 karg.pci_information.u.bits.function = PCI_FUNC(ioc->pdev->devfn);
916 karg.pci_information.segment_id = pci_domain_nr(ioc->pdev->bus); 944 karg.pci_information.segment_id = pci_domain_nr(ioc->pdev->bus);
917 karg.firmware_version = ioc->facts.FWVersion.Word; 945 karg.firmware_version = ioc->facts.FWVersion.Word;
918 strncpy(karg.driver_version, MPT2SAS_DRIVER_VERSION, 946 strcpy(karg.driver_version, MPT2SAS_DRIVER_NAME);
919 MPT2_IOCTL_VERSION_LENGTH); 947 strcat(karg.driver_version, "-");
920 karg.driver_version[MPT2_IOCTL_VERSION_LENGTH - 1] = '\0'; 948 strcat(karg.driver_version, MPT2SAS_DRIVER_VERSION);
921 karg.bios_version = le32_to_cpu(ioc->bios_pg3.BiosVersion); 949 karg.bios_version = le32_to_cpu(ioc->bios_pg3.BiosVersion);
922 950
923 if (copy_to_user(arg, &karg, sizeof(karg))) { 951 if (copy_to_user(arg, &karg, sizeof(karg))) {
@@ -1551,81 +1579,38 @@ _ctl_diag_query(void __user *arg)
1551} 1579}
1552 1580
1553/** 1581/**
1554 * _ctl_diag_release - request to send Diag Release Message to firmware 1582 * _ctl_send_release - Diag Release Message
1555 * @arg - user space buffer containing ioctl content 1583 * @ioc: per adapter object
1556 * @state - NON_BLOCKING or BLOCKING 1584 * @buffer_type - specifies either TRACE or SNAPSHOT
1585 * @issue_reset - specifies whether host reset is required.
1557 * 1586 *
1558 * This allows ownership of the specified buffer to returned to the driver,
1559 * allowing an application to read the buffer without fear that firmware is
1560 * overwritting information in the buffer.
1561 */ 1587 */
1562static long 1588static int
1563_ctl_diag_release(void __user *arg, enum block_state state) 1589_ctl_send_release(struct MPT2SAS_ADAPTER *ioc, u8 buffer_type, u8 *issue_reset)
1564{ 1590{
1565 struct mpt2_diag_release karg;
1566 struct MPT2SAS_ADAPTER *ioc;
1567 void *request_data;
1568 int rc;
1569 Mpi2DiagReleaseRequest_t *mpi_request; 1591 Mpi2DiagReleaseRequest_t *mpi_request;
1570 Mpi2DiagReleaseReply_t *mpi_reply; 1592 Mpi2DiagReleaseReply_t *mpi_reply;
1571 u8 buffer_type;
1572 unsigned long timeleft;
1573 u16 smid; 1593 u16 smid;
1574 u16 ioc_status; 1594 u16 ioc_status;
1575 u8 issue_reset = 0; 1595 u32 ioc_state;
1576 1596 int rc;
1577 if (copy_from_user(&karg, arg, sizeof(karg))) { 1597 unsigned long timeleft;
1578 printk(KERN_ERR "failure at %s:%d/%s()!\n",
1579 __FILE__, __LINE__, __func__);
1580 return -EFAULT;
1581 }
1582 if (_ctl_verify_adapter(karg.hdr.ioc_number, &ioc) == -1 || !ioc)
1583 return -ENODEV;
1584 1598
1585 dctlprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s\n", ioc->name, 1599 dctlprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s\n", ioc->name,
1586 __func__)); 1600 __func__));
1587 1601
1588 buffer_type = karg.unique_id & 0x000000ff; 1602 rc = 0;
1589 if (!_ctl_diag_capability(ioc, buffer_type)) { 1603 *issue_reset = 0;
1590 printk(MPT2SAS_ERR_FMT "%s: doesn't have capability for "
1591 "buffer_type(0x%02x)\n", ioc->name, __func__, buffer_type);
1592 return -EPERM;
1593 }
1594
1595 if ((ioc->diag_buffer_status[buffer_type] &
1596 MPT2_DIAG_BUFFER_IS_REGISTERED) == 0) {
1597 printk(MPT2SAS_ERR_FMT "%s: buffer_type(0x%02x) is not "
1598 "registered\n", ioc->name, __func__, buffer_type);
1599 return -EINVAL;
1600 }
1601
1602 if (karg.unique_id != ioc->unique_id[buffer_type]) {
1603 printk(MPT2SAS_ERR_FMT "%s: unique_id(0x%08x) is not "
1604 "registered\n", ioc->name, __func__, karg.unique_id);
1605 return -EINVAL;
1606 }
1607
1608 if (ioc->diag_buffer_status[buffer_type] &
1609 MPT2_DIAG_BUFFER_IS_RELEASED) {
1610 printk(MPT2SAS_ERR_FMT "%s: buffer_type(0x%02x) "
1611 "is already released\n", ioc->name, __func__,
1612 buffer_type);
1613 return 0;
1614 }
1615
1616 request_data = ioc->diag_buffer[buffer_type];
1617 1604
1618 if (!request_data) { 1605 ioc_state = mpt2sas_base_get_iocstate(ioc, 1);
1619 printk(MPT2SAS_ERR_FMT "%s: doesn't have memory allocated for " 1606 if (ioc_state != MPI2_IOC_STATE_OPERATIONAL) {
1620 "buffer_type(0x%02x)\n", ioc->name, __func__, buffer_type); 1607 dctlprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: "
1621 return -ENOMEM; 1608 "skipping due to FAULT state\n", ioc->name,
1609 __func__));
1610 rc = -EAGAIN;
1611 goto out;
1622 } 1612 }
1623 1613
1624 if (state == NON_BLOCKING && !mutex_trylock(&ioc->ctl_cmds.mutex))
1625 return -EAGAIN;
1626 else if (mutex_lock_interruptible(&ioc->ctl_cmds.mutex))
1627 return -ERESTARTSYS;
1628
1629 if (ioc->ctl_cmds.status != MPT2_CMD_NOT_USED) { 1614 if (ioc->ctl_cmds.status != MPT2_CMD_NOT_USED) {
1630 printk(MPT2SAS_ERR_FMT "%s: ctl_cmd in use\n", 1615 printk(MPT2SAS_ERR_FMT "%s: ctl_cmd in use\n",
1631 ioc->name, __func__); 1616 ioc->name, __func__);
@@ -1641,7 +1626,6 @@ _ctl_diag_release(void __user *arg, enum block_state state)
1641 goto out; 1626 goto out;
1642 } 1627 }
1643 1628
1644 rc = 0;
1645 ioc->ctl_cmds.status = MPT2_CMD_PENDING; 1629 ioc->ctl_cmds.status = MPT2_CMD_PENDING;
1646 memset(ioc->ctl_cmds.reply, 0, ioc->reply_sz); 1630 memset(ioc->ctl_cmds.reply, 0, ioc->reply_sz);
1647 mpi_request = mpt2sas_base_get_msg_frame(ioc, smid); 1631 mpi_request = mpt2sas_base_get_msg_frame(ioc, smid);
@@ -1660,8 +1644,9 @@ _ctl_diag_release(void __user *arg, enum block_state state)
1660 _debug_dump_mf(mpi_request, 1644 _debug_dump_mf(mpi_request,
1661 sizeof(Mpi2DiagReleaseRequest_t)/4); 1645 sizeof(Mpi2DiagReleaseRequest_t)/4);
1662 if (!(ioc->ctl_cmds.status & MPT2_CMD_RESET)) 1646 if (!(ioc->ctl_cmds.status & MPT2_CMD_RESET))
1663 issue_reset = 1; 1647 *issue_reset = 1;
1664 goto issue_host_reset; 1648 rc = -EFAULT;
1649 goto out;
1665 } 1650 }
1666 1651
1667 /* process the completed Reply Message Frame */ 1652 /* process the completed Reply Message Frame */
@@ -1687,14 +1672,101 @@ _ctl_diag_release(void __user *arg, enum block_state state)
1687 rc = -EFAULT; 1672 rc = -EFAULT;
1688 } 1673 }
1689 1674
1690 issue_host_reset: 1675 out:
1676 ioc->ctl_cmds.status = MPT2_CMD_NOT_USED;
1677 return rc;
1678}
1679
1680/**
1681 * _ctl_diag_release - request to send Diag Release Message to firmware
1682 * @arg - user space buffer containing ioctl content
1683 * @state - NON_BLOCKING or BLOCKING
1684 *
1685 * This allows ownership of the specified buffer to returned to the driver,
1686 * allowing an application to read the buffer without fear that firmware is
1687 * overwritting information in the buffer.
1688 */
1689static long
1690_ctl_diag_release(void __user *arg, enum block_state state)
1691{
1692 struct mpt2_diag_release karg;
1693 struct MPT2SAS_ADAPTER *ioc;
1694 void *request_data;
1695 int rc;
1696 u8 buffer_type;
1697 u8 issue_reset = 0;
1698
1699 if (copy_from_user(&karg, arg, sizeof(karg))) {
1700 printk(KERN_ERR "failure at %s:%d/%s()!\n",
1701 __FILE__, __LINE__, __func__);
1702 return -EFAULT;
1703 }
1704 if (_ctl_verify_adapter(karg.hdr.ioc_number, &ioc) == -1 || !ioc)
1705 return -ENODEV;
1706
1707 dctlprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s\n", ioc->name,
1708 __func__));
1709
1710 buffer_type = karg.unique_id & 0x000000ff;
1711 if (!_ctl_diag_capability(ioc, buffer_type)) {
1712 printk(MPT2SAS_ERR_FMT "%s: doesn't have capability for "
1713 "buffer_type(0x%02x)\n", ioc->name, __func__, buffer_type);
1714 return -EPERM;
1715 }
1716
1717 if ((ioc->diag_buffer_status[buffer_type] &
1718 MPT2_DIAG_BUFFER_IS_REGISTERED) == 0) {
1719 printk(MPT2SAS_ERR_FMT "%s: buffer_type(0x%02x) is not "
1720 "registered\n", ioc->name, __func__, buffer_type);
1721 return -EINVAL;
1722 }
1723
1724 if (karg.unique_id != ioc->unique_id[buffer_type]) {
1725 printk(MPT2SAS_ERR_FMT "%s: unique_id(0x%08x) is not "
1726 "registered\n", ioc->name, __func__, karg.unique_id);
1727 return -EINVAL;
1728 }
1729
1730 if (ioc->diag_buffer_status[buffer_type] &
1731 MPT2_DIAG_BUFFER_IS_RELEASED) {
1732 printk(MPT2SAS_ERR_FMT "%s: buffer_type(0x%02x) "
1733 "is already released\n", ioc->name, __func__,
1734 buffer_type);
1735 return 0;
1736 }
1737
1738 request_data = ioc->diag_buffer[buffer_type];
1739
1740 if (!request_data) {
1741 printk(MPT2SAS_ERR_FMT "%s: doesn't have memory allocated for "
1742 "buffer_type(0x%02x)\n", ioc->name, __func__, buffer_type);
1743 return -ENOMEM;
1744 }
1745
1746 /* buffers were released by due to host reset */
1747 if ((ioc->diag_buffer_status[buffer_type] &
1748 MPT2_DIAG_BUFFER_IS_DIAG_RESET)) {
1749 ioc->diag_buffer_status[buffer_type] |=
1750 MPT2_DIAG_BUFFER_IS_RELEASED;
1751 ioc->diag_buffer_status[buffer_type] &=
1752 ~MPT2_DIAG_BUFFER_IS_DIAG_RESET;
1753 printk(MPT2SAS_ERR_FMT "%s: buffer_type(0x%02x) "
1754 "was released due to host reset\n", ioc->name, __func__,
1755 buffer_type);
1756 return 0;
1757 }
1758
1759 if (state == NON_BLOCKING && !mutex_trylock(&ioc->ctl_cmds.mutex))
1760 return -EAGAIN;
1761 else if (mutex_lock_interruptible(&ioc->ctl_cmds.mutex))
1762 return -ERESTARTSYS;
1763
1764 rc = _ctl_send_release(ioc, buffer_type, &issue_reset);
1765
1691 if (issue_reset) 1766 if (issue_reset)
1692 mpt2sas_base_hard_reset_handler(ioc, CAN_SLEEP, 1767 mpt2sas_base_hard_reset_handler(ioc, CAN_SLEEP,
1693 FORCE_BIG_HAMMER); 1768 FORCE_BIG_HAMMER);
1694 1769
1695 out:
1696
1697 ioc->ctl_cmds.status = MPT2_CMD_NOT_USED;
1698 mutex_unlock(&ioc->ctl_cmds.mutex); 1770 mutex_unlock(&ioc->ctl_cmds.mutex);
1699 return rc; 1771 return rc;
1700} 1772}
diff --git a/drivers/scsi/mpt2sas/mpt2sas_ctl.h b/drivers/scsi/mpt2sas/mpt2sas_ctl.h
index dbb6c0cf8889..4da11435533f 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_ctl.h
+++ b/drivers/scsi/mpt2sas/mpt2sas_ctl.h
@@ -50,7 +50,7 @@
50#endif 50#endif
51 51
52#define MPT2SAS_DEV_NAME "mpt2ctl" 52#define MPT2SAS_DEV_NAME "mpt2ctl"
53#define MPT2_MAGIC_NUMBER 'm' 53#define MPT2_MAGIC_NUMBER 'L'
54#define MPT2_IOCTL_DEFAULT_TIMEOUT (10) /* in seconds */ 54#define MPT2_IOCTL_DEFAULT_TIMEOUT (10) /* in seconds */
55 55
56/** 56/**
@@ -295,8 +295,9 @@ struct mpt2_ioctl_btdh_mapping {
295 295
296 296
297/* status bits for ioc->diag_buffer_status */ 297/* status bits for ioc->diag_buffer_status */
298#define MPT2_DIAG_BUFFER_IS_REGISTERED (0x01) 298#define MPT2_DIAG_BUFFER_IS_REGISTERED (0x01)
299#define MPT2_DIAG_BUFFER_IS_RELEASED (0x02) 299#define MPT2_DIAG_BUFFER_IS_RELEASED (0x02)
300#define MPT2_DIAG_BUFFER_IS_DIAG_RESET (0x04)
300 301
301/* application flags for mpt2_diag_register, mpt2_diag_query */ 302/* application flags for mpt2_diag_register, mpt2_diag_query */
302#define MPT2_APP_FLAGS_APP_OWNED (0x0001) 303#define MPT2_APP_FLAGS_APP_OWNED (0x0001)
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
index 0c463c483c02..e3a7967259e7 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
@@ -119,7 +119,7 @@ struct sense_info {
119 */ 119 */
120struct fw_event_work { 120struct fw_event_work {
121 struct list_head list; 121 struct list_head list;
122 struct delayed_work work; 122 struct work_struct work;
123 struct MPT2SAS_ADAPTER *ioc; 123 struct MPT2SAS_ADAPTER *ioc;
124 u8 VF_ID; 124 u8 VF_ID;
125 u8 host_reset_handling; 125 u8 host_reset_handling;
@@ -516,12 +516,8 @@ _scsih_sas_device_add(struct MPT2SAS_ADAPTER *ioc,
516 handle = sas_device->handle; 516 handle = sas_device->handle;
517 parent_handle = sas_device->parent_handle; 517 parent_handle = sas_device->parent_handle;
518 sas_address = sas_device->sas_address; 518 sas_address = sas_device->sas_address;
519 if (!mpt2sas_transport_port_add(ioc, handle, parent_handle)) { 519 if (!mpt2sas_transport_port_add(ioc, handle, parent_handle))
520 _scsih_sas_device_remove(ioc, sas_device); 520 _scsih_sas_device_remove(ioc, sas_device);
521 } else if (!sas_device->starget) {
522 mpt2sas_transport_port_remove(ioc, sas_address, parent_handle);
523 _scsih_sas_device_remove(ioc, sas_device);
524 }
525} 521}
526 522
527/** 523/**
@@ -1203,7 +1199,9 @@ scsih_target_destroy(struct scsi_target *starget)
1203 rphy = dev_to_rphy(starget->dev.parent); 1199 rphy = dev_to_rphy(starget->dev.parent);
1204 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, 1200 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc,
1205 rphy->identify.sas_address); 1201 rphy->identify.sas_address);
1206 if (sas_device) 1202 if (sas_device && (sas_device->starget == starget) &&
1203 (sas_device->id == starget->id) &&
1204 (sas_device->channel == starget->channel))
1207 sas_device->starget = NULL; 1205 sas_device->starget = NULL;
1208 1206
1209 spin_unlock_irqrestore(&ioc->sas_device_lock, flags); 1207 spin_unlock_irqrestore(&ioc->sas_device_lock, flags);
@@ -2009,8 +2007,8 @@ _scsih_fw_event_add(struct MPT2SAS_ADAPTER *ioc, struct fw_event_work *fw_event)
2009 2007
2010 spin_lock_irqsave(&ioc->fw_event_lock, flags); 2008 spin_lock_irqsave(&ioc->fw_event_lock, flags);
2011 list_add_tail(&fw_event->list, &ioc->fw_event_list); 2009 list_add_tail(&fw_event->list, &ioc->fw_event_list);
2012 INIT_DELAYED_WORK(&fw_event->work, _firmware_event_work); 2010 INIT_WORK(&fw_event->work, _firmware_event_work);
2013 queue_delayed_work(ioc->firmware_event_thread, &fw_event->work, 1); 2011 queue_work(ioc->firmware_event_thread, &fw_event->work);
2014 spin_unlock_irqrestore(&ioc->fw_event_lock, flags); 2012 spin_unlock_irqrestore(&ioc->fw_event_lock, flags);
2015} 2013}
2016 2014
@@ -2054,7 +2052,7 @@ _scsih_fw_event_requeue(struct MPT2SAS_ADAPTER *ioc, struct fw_event_work
2054 return; 2052 return;
2055 2053
2056 spin_lock_irqsave(&ioc->fw_event_lock, flags); 2054 spin_lock_irqsave(&ioc->fw_event_lock, flags);
2057 queue_delayed_work(ioc->firmware_event_thread, &fw_event->work, delay); 2055 queue_work(ioc->firmware_event_thread, &fw_event->work);
2058 spin_unlock_irqrestore(&ioc->fw_event_lock, flags); 2056 spin_unlock_irqrestore(&ioc->fw_event_lock, flags);
2059} 2057}
2060 2058
@@ -2863,8 +2861,9 @@ scsih_io_done(struct MPT2SAS_ADAPTER *ioc, u16 smid, u8 VF_ID, u32 reply)
2863 struct sense_info data; 2861 struct sense_info data;
2864 const void *sense_data = mpt2sas_base_get_sense_buffer(ioc, 2862 const void *sense_data = mpt2sas_base_get_sense_buffer(ioc,
2865 smid); 2863 smid);
2866 memcpy(scmd->sense_buffer, sense_data, 2864 u32 sz = min_t(u32, SCSI_SENSE_BUFFERSIZE,
2867 le32_to_cpu(mpi_reply->SenseCount)); 2865 le32_to_cpu(mpi_reply->SenseCount));
2866 memcpy(scmd->sense_buffer, sense_data, sz);
2868 _scsih_normalize_sense(scmd->sense_buffer, &data); 2867 _scsih_normalize_sense(scmd->sense_buffer, &data);
2869 /* failure prediction threshold exceeded */ 2868 /* failure prediction threshold exceeded */
2870 if (data.asc == 0x5D) 2869 if (data.asc == 0x5D)
@@ -3923,7 +3922,7 @@ _scsih_sas_broadcast_primative_event(struct MPT2SAS_ADAPTER *ioc, u8 VF_ID,
3923 3922
3924 mpt2sas_scsih_issue_tm(ioc, handle, lun, 3923 mpt2sas_scsih_issue_tm(ioc, handle, lun,
3925 MPI2_SCSITASKMGMT_TASKTYPE_QUERY_TASK, smid, 30); 3924 MPI2_SCSITASKMGMT_TASKTYPE_QUERY_TASK, smid, 30);
3926 termination_count += le32_to_cpu(mpi_reply->TerminationCount); 3925 ioc->tm_cmds.status = MPT2_CMD_NOT_USED;
3927 3926
3928 if ((mpi_reply->IOCStatus == MPI2_IOCSTATUS_SUCCESS) && 3927 if ((mpi_reply->IOCStatus == MPI2_IOCSTATUS_SUCCESS) &&
3929 (mpi_reply->ResponseCode == 3928 (mpi_reply->ResponseCode ==
@@ -3933,10 +3932,10 @@ _scsih_sas_broadcast_primative_event(struct MPT2SAS_ADAPTER *ioc, u8 VF_ID,
3933 continue; 3932 continue;
3934 3933
3935 mpt2sas_scsih_issue_tm(ioc, handle, lun, 3934 mpt2sas_scsih_issue_tm(ioc, handle, lun,
3936 MPI2_SCSITASKMGMT_TASKTYPE_ABRT_TASK_SET, smid, 30); 3935 MPI2_SCSITASKMGMT_TASKTYPE_ABRT_TASK_SET, 0, 30);
3936 ioc->tm_cmds.status = MPT2_CMD_NOT_USED;
3937 termination_count += le32_to_cpu(mpi_reply->TerminationCount); 3937 termination_count += le32_to_cpu(mpi_reply->TerminationCount);
3938 } 3938 }
3939 ioc->tm_cmds.status = MPT2_CMD_NOT_USED;
3940 ioc->broadcast_aen_busy = 0; 3939 ioc->broadcast_aen_busy = 0;
3941 mutex_unlock(&ioc->tm_cmds.mutex); 3940 mutex_unlock(&ioc->tm_cmds.mutex);
3942 3941
@@ -4962,7 +4961,7 @@ static void
4962_firmware_event_work(struct work_struct *work) 4961_firmware_event_work(struct work_struct *work)
4963{ 4962{
4964 struct fw_event_work *fw_event = container_of(work, 4963 struct fw_event_work *fw_event = container_of(work,
4965 struct fw_event_work, work.work); 4964 struct fw_event_work, work);
4966 unsigned long flags; 4965 unsigned long flags;
4967 struct MPT2SAS_ADAPTER *ioc = fw_event->ioc; 4966 struct MPT2SAS_ADAPTER *ioc = fw_event->ioc;
4968 4967
diff --git a/drivers/scsi/osd/osd_initiator.c b/drivers/scsi/osd/osd_initiator.c
index 2a5f0777148d..1ce6b24abab2 100644
--- a/drivers/scsi/osd/osd_initiator.c
+++ b/drivers/scsi/osd/osd_initiator.c
@@ -205,6 +205,74 @@ static unsigned _osd_req_alist_elem_size(struct osd_request *or, unsigned len)
205 osdv2_attr_list_elem_size(len); 205 osdv2_attr_list_elem_size(len);
206} 206}
207 207
208static void _osd_req_alist_elem_encode(struct osd_request *or,
209 void *attr_last, const struct osd_attr *oa)
210{
211 if (osd_req_is_ver1(or)) {
212 struct osdv1_attributes_list_element *attr = attr_last;
213
214 attr->attr_page = cpu_to_be32(oa->attr_page);
215 attr->attr_id = cpu_to_be32(oa->attr_id);
216 attr->attr_bytes = cpu_to_be16(oa->len);
217 memcpy(attr->attr_val, oa->val_ptr, oa->len);
218 } else {
219 struct osdv2_attributes_list_element *attr = attr_last;
220
221 attr->attr_page = cpu_to_be32(oa->attr_page);
222 attr->attr_id = cpu_to_be32(oa->attr_id);
223 attr->attr_bytes = cpu_to_be16(oa->len);
224 memcpy(attr->attr_val, oa->val_ptr, oa->len);
225 }
226}
227
228static int _osd_req_alist_elem_decode(struct osd_request *or,
229 void *cur_p, struct osd_attr *oa, unsigned max_bytes)
230{
231 unsigned inc;
232 if (osd_req_is_ver1(or)) {
233 struct osdv1_attributes_list_element *attr = cur_p;
234
235 if (max_bytes < sizeof(*attr))
236 return -1;
237
238 oa->len = be16_to_cpu(attr->attr_bytes);
239 inc = _osd_req_alist_elem_size(or, oa->len);
240 if (inc > max_bytes)
241 return -1;
242
243 oa->attr_page = be32_to_cpu(attr->attr_page);
244 oa->attr_id = be32_to_cpu(attr->attr_id);
245
246 /* OSD1: On empty attributes we return a pointer to 2 bytes
247 * of zeros. This keeps similar behaviour with OSD2.
248 * (See below)
249 */
250 oa->val_ptr = likely(oa->len) ? attr->attr_val :
251 (u8 *)&attr->attr_bytes;
252 } else {
253 struct osdv2_attributes_list_element *attr = cur_p;
254
255 if (max_bytes < sizeof(*attr))
256 return -1;
257
258 oa->len = be16_to_cpu(attr->attr_bytes);
259 inc = _osd_req_alist_elem_size(or, oa->len);
260 if (inc > max_bytes)
261 return -1;
262
263 oa->attr_page = be32_to_cpu(attr->attr_page);
264 oa->attr_id = be32_to_cpu(attr->attr_id);
265
266 /* OSD2: For convenience, on empty attributes, we return 8 bytes
267 * of zeros here. This keeps the same behaviour with OSD2r04,
268 * and is nice with null terminating ASCII fields.
269 * oa->val_ptr == NULL marks the end-of-list, or error.
270 */
271 oa->val_ptr = likely(oa->len) ? attr->attr_val : attr->reserved;
272 }
273 return inc;
274}
275
208static unsigned _osd_req_alist_size(struct osd_request *or, void *list_head) 276static unsigned _osd_req_alist_size(struct osd_request *or, void *list_head)
209{ 277{
210 return osd_req_is_ver1(or) ? 278 return osd_req_is_ver1(or) ?
@@ -282,9 +350,9 @@ _osd_req_sec_params(struct osd_request *or)
282 struct osd_cdb *ocdb = &or->cdb; 350 struct osd_cdb *ocdb = &or->cdb;
283 351
284 if (osd_req_is_ver1(or)) 352 if (osd_req_is_ver1(or))
285 return &ocdb->v1.sec_params; 353 return (struct osd_security_parameters *)&ocdb->v1.sec_params;
286 else 354 else
287 return &ocdb->v2.sec_params; 355 return (struct osd_security_parameters *)&ocdb->v2.sec_params;
288} 356}
289 357
290void osd_dev_init(struct osd_dev *osdd, struct scsi_device *scsi_device) 358void osd_dev_init(struct osd_dev *osdd, struct scsi_device *scsi_device)
@@ -612,9 +680,9 @@ static int _osd_req_list_objects(struct osd_request *or,
612 680
613 WARN_ON(or->in.bio); 681 WARN_ON(or->in.bio);
614 bio = bio_map_kern(q, list, len, or->alloc_flags); 682 bio = bio_map_kern(q, list, len, or->alloc_flags);
615 if (!bio) { 683 if (IS_ERR(bio)) {
616 OSD_ERR("!!! Failed to allocate list_objects BIO\n"); 684 OSD_ERR("!!! Failed to allocate list_objects BIO\n");
617 return -ENOMEM; 685 return PTR_ERR(bio);
618 } 686 }
619 687
620 bio->bi_rw &= ~(1 << BIO_RW); 688 bio->bi_rw &= ~(1 << BIO_RW);
@@ -798,7 +866,6 @@ int osd_req_add_set_attr_list(struct osd_request *or,
798 attr_last = or->set_attr.buff + total_bytes; 866 attr_last = or->set_attr.buff + total_bytes;
799 867
800 for (; nelem; --nelem) { 868 for (; nelem; --nelem) {
801 struct osd_attributes_list_element *attr;
802 unsigned elem_size = _osd_req_alist_elem_size(or, oa->len); 869 unsigned elem_size = _osd_req_alist_elem_size(or, oa->len);
803 870
804 total_bytes += elem_size; 871 total_bytes += elem_size;
@@ -811,11 +878,7 @@ int osd_req_add_set_attr_list(struct osd_request *or,
811 or->set_attr.buff + or->set_attr.total_bytes; 878 or->set_attr.buff + or->set_attr.total_bytes;
812 } 879 }
813 880
814 attr = attr_last; 881 _osd_req_alist_elem_encode(or, attr_last, oa);
815 attr->attr_page = cpu_to_be32(oa->attr_page);
816 attr->attr_id = cpu_to_be32(oa->attr_id);
817 attr->attr_bytes = cpu_to_be16(oa->len);
818 memcpy(attr->attr_val, oa->val_ptr, oa->len);
819 882
820 attr_last += elem_size; 883 attr_last += elem_size;
821 ++oa; 884 ++oa;
@@ -1070,15 +1133,10 @@ int osd_req_decode_get_attr_list(struct osd_request *or,
1070 } 1133 }
1071 1134
1072 for (n = 0; (n < *nelem) && (cur_bytes < returned_bytes); ++n) { 1135 for (n = 0; (n < *nelem) && (cur_bytes < returned_bytes); ++n) {
1073 struct osd_attributes_list_element *attr = cur_p; 1136 int inc = _osd_req_alist_elem_decode(or, cur_p, oa,
1074 unsigned inc; 1137 returned_bytes - cur_bytes);
1075 1138
1076 oa->len = be16_to_cpu(attr->attr_bytes); 1139 if (inc < 0) {
1077 inc = _osd_req_alist_elem_size(or, oa->len);
1078 OSD_DEBUG("oa->len=%d inc=%d cur_bytes=%d\n",
1079 oa->len, inc, cur_bytes);
1080 cur_bytes += inc;
1081 if (cur_bytes > returned_bytes) {
1082 OSD_ERR("BAD FOOD from target. list not valid!" 1140 OSD_ERR("BAD FOOD from target. list not valid!"
1083 "c=%d r=%d n=%d\n", 1141 "c=%d r=%d n=%d\n",
1084 cur_bytes, returned_bytes, n); 1142 cur_bytes, returned_bytes, n);
@@ -1086,10 +1144,7 @@ int osd_req_decode_get_attr_list(struct osd_request *or,
1086 break; 1144 break;
1087 } 1145 }
1088 1146
1089 oa->attr_page = be32_to_cpu(attr->attr_page); 1147 cur_bytes += inc;
1090 oa->attr_id = be32_to_cpu(attr->attr_id);
1091 oa->val_ptr = attr->attr_val;
1092
1093 cur_p += inc; 1148 cur_p += inc;
1094 ++oa; 1149 ++oa;
1095 } 1150 }
@@ -1159,6 +1214,24 @@ static int _osd_req_finalize_attr_page(struct osd_request *or)
1159 return ret; 1214 return ret;
1160} 1215}
1161 1216
1217static inline void osd_sec_parms_set_out_offset(bool is_v1,
1218 struct osd_security_parameters *sec_parms, osd_cdb_offset offset)
1219{
1220 if (is_v1)
1221 sec_parms->v1.data_out_integrity_check_offset = offset;
1222 else
1223 sec_parms->v2.data_out_integrity_check_offset = offset;
1224}
1225
1226static inline void osd_sec_parms_set_in_offset(bool is_v1,
1227 struct osd_security_parameters *sec_parms, osd_cdb_offset offset)
1228{
1229 if (is_v1)
1230 sec_parms->v1.data_in_integrity_check_offset = offset;
1231 else
1232 sec_parms->v2.data_in_integrity_check_offset = offset;
1233}
1234
1162static int _osd_req_finalize_data_integrity(struct osd_request *or, 1235static int _osd_req_finalize_data_integrity(struct osd_request *or,
1163 bool has_in, bool has_out, const u8 *cap_key) 1236 bool has_in, bool has_out, const u8 *cap_key)
1164{ 1237{
@@ -1182,8 +1255,8 @@ static int _osd_req_finalize_data_integrity(struct osd_request *or,
1182 or->out_data_integ.get_attributes_bytes = cpu_to_be64( 1255 or->out_data_integ.get_attributes_bytes = cpu_to_be64(
1183 or->enc_get_attr.total_bytes); 1256 or->enc_get_attr.total_bytes);
1184 1257
1185 sec_parms->data_out_integrity_check_offset = 1258 osd_sec_parms_set_out_offset(osd_req_is_ver1(or), sec_parms,
1186 osd_req_encode_offset(or, or->out.total_bytes, &pad); 1259 osd_req_encode_offset(or, or->out.total_bytes, &pad));
1187 1260
1188 ret = _req_append_segment(or, pad, &seg, or->out.last_seg, 1261 ret = _req_append_segment(or, pad, &seg, or->out.last_seg,
1189 &or->out); 1262 &or->out);
@@ -1203,8 +1276,8 @@ static int _osd_req_finalize_data_integrity(struct osd_request *or,
1203 }; 1276 };
1204 unsigned pad; 1277 unsigned pad;
1205 1278
1206 sec_parms->data_in_integrity_check_offset = 1279 osd_sec_parms_set_in_offset(osd_req_is_ver1(or), sec_parms,
1207 osd_req_encode_offset(or, or->in.total_bytes, &pad); 1280 osd_req_encode_offset(or, or->in.total_bytes, &pad));
1208 1281
1209 ret = _req_append_segment(or, pad, &seg, or->in.last_seg, 1282 ret = _req_append_segment(or, pad, &seg, or->in.last_seg,
1210 &or->in); 1283 &or->in);
diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c
index f644c9571eab..22b59e13ba83 100644
--- a/drivers/scsi/osd/osd_uld.c
+++ b/drivers/scsi/osd/osd_uld.c
@@ -173,26 +173,26 @@ static const struct file_operations osd_fops = {
173 .unlocked_ioctl = osd_uld_ioctl, 173 .unlocked_ioctl = osd_uld_ioctl,
174}; 174};
175 175
176struct osd_dev *osduld_path_lookup(const char *path) 176struct osd_dev *osduld_path_lookup(const char *name)
177{ 177{
178 struct nameidata nd; 178 struct path path;
179 struct inode *inode; 179 struct inode *inode;
180 struct cdev *cdev; 180 struct cdev *cdev;
181 struct osd_uld_device *uninitialized_var(oud); 181 struct osd_uld_device *uninitialized_var(oud);
182 int error; 182 int error;
183 183
184 if (!path || !*path) { 184 if (!name || !*name) {
185 OSD_ERR("Mount with !path || !*path\n"); 185 OSD_ERR("Mount with !path || !*path\n");
186 return ERR_PTR(-EINVAL); 186 return ERR_PTR(-EINVAL);
187 } 187 }
188 188
189 error = path_lookup(path, LOOKUP_FOLLOW, &nd); 189 error = kern_path(name, LOOKUP_FOLLOW, &path);
190 if (error) { 190 if (error) {
191 OSD_ERR("path_lookup of %s faild=>%d\n", path, error); 191 OSD_ERR("path_lookup of %s failed=>%d\n", name, error);
192 return ERR_PTR(error); 192 return ERR_PTR(error);
193 } 193 }
194 194
195 inode = nd.path.dentry->d_inode; 195 inode = path.dentry->d_inode;
196 error = -EINVAL; /* Not the right device e.g osd_uld_device */ 196 error = -EINVAL; /* Not the right device e.g osd_uld_device */
197 if (!S_ISCHR(inode->i_mode)) { 197 if (!S_ISCHR(inode->i_mode)) {
198 OSD_DEBUG("!S_ISCHR()\n"); 198 OSD_DEBUG("!S_ISCHR()\n");
@@ -202,15 +202,15 @@ struct osd_dev *osduld_path_lookup(const char *path)
202 cdev = inode->i_cdev; 202 cdev = inode->i_cdev;
203 if (!cdev) { 203 if (!cdev) {
204 OSD_ERR("Before mounting an OSD Based filesystem\n"); 204 OSD_ERR("Before mounting an OSD Based filesystem\n");
205 OSD_ERR(" user-mode must open+close the %s device\n", path); 205 OSD_ERR(" user-mode must open+close the %s device\n", name);
206 OSD_ERR(" Example: bash: echo < %s\n", path); 206 OSD_ERR(" Example: bash: echo < %s\n", name);
207 goto out; 207 goto out;
208 } 208 }
209 209
210 /* The Magic wand. Is it our char-dev */ 210 /* The Magic wand. Is it our char-dev */
211 /* TODO: Support sg devices */ 211 /* TODO: Support sg devices */
212 if (cdev->owner != THIS_MODULE) { 212 if (cdev->owner != THIS_MODULE) {
213 OSD_ERR("Error mounting %s - is not an OSD device\n", path); 213 OSD_ERR("Error mounting %s - is not an OSD device\n", name);
214 goto out; 214 goto out;
215 } 215 }
216 216
@@ -220,7 +220,7 @@ struct osd_dev *osduld_path_lookup(const char *path)
220 error = 0; 220 error = 0;
221 221
222out: 222out:
223 path_put(&nd.path); 223 path_put(&path);
224 return error ? ERR_PTR(error) : &oud->od; 224 return error ? ERR_PTR(error) : &oud->od;
225} 225}
226EXPORT_SYMBOL(osduld_path_lookup); 226EXPORT_SYMBOL(osduld_path_lookup);
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index d1cb64ad1a3f..bb218c8b6e98 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1291,10 +1291,8 @@ static inline int scsi_target_queue_ready(struct Scsi_Host *shost,
1291 if (--starget->target_blocked == 0) { 1291 if (--starget->target_blocked == 0) {
1292 SCSI_LOG_MLQUEUE(3, starget_printk(KERN_INFO, starget, 1292 SCSI_LOG_MLQUEUE(3, starget_printk(KERN_INFO, starget,
1293 "unblocking target at zero depth\n")); 1293 "unblocking target at zero depth\n"));
1294 } else { 1294 } else
1295 blk_plug_device(sdev->request_queue);
1296 return 0; 1295 return 0;
1297 }
1298 } 1296 }
1299 1297
1300 if (scsi_target_is_busy(starget)) { 1298 if (scsi_target_is_busy(starget)) {
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 3fcb64b91c43..84044233b637 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -50,6 +50,7 @@
50#include <linux/string_helpers.h> 50#include <linux/string_helpers.h>
51#include <linux/async.h> 51#include <linux/async.h>
52#include <asm/uaccess.h> 52#include <asm/uaccess.h>
53#include <asm/unaligned.h>
53 54
54#include <scsi/scsi.h> 55#include <scsi/scsi.h>
55#include <scsi/scsi_cmnd.h> 56#include <scsi/scsi_cmnd.h>
@@ -1344,12 +1345,8 @@ static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp,
1344 return -EINVAL; 1345 return -EINVAL;
1345 } 1346 }
1346 1347
1347 sector_size = (buffer[8] << 24) | (buffer[9] << 16) | 1348 sector_size = get_unaligned_be32(&buffer[8]);
1348 (buffer[10] << 8) | buffer[11]; 1349 lba = get_unaligned_be64(&buffer[0]);
1349 lba = (((u64)buffer[0] << 56) | ((u64)buffer[1] << 48) |
1350 ((u64)buffer[2] << 40) | ((u64)buffer[3] << 32) |
1351 ((u64)buffer[4] << 24) | ((u64)buffer[5] << 16) |
1352 ((u64)buffer[6] << 8) | (u64)buffer[7]);
1353 1350
1354 sd_read_protection_type(sdkp, buffer); 1351 sd_read_protection_type(sdkp, buffer);
1355 1352
@@ -1400,10 +1397,8 @@ static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp,
1400 return -EINVAL; 1397 return -EINVAL;
1401 } 1398 }
1402 1399
1403 sector_size = (buffer[4] << 24) | (buffer[5] << 16) | 1400 sector_size = get_unaligned_be32(&buffer[4]);
1404 (buffer[6] << 8) | buffer[7]; 1401 lba = get_unaligned_be32(&buffer[0]);
1405 lba = (buffer[0] << 24) | (buffer[1] << 16) |
1406 (buffer[2] << 8) | buffer[3];
1407 1402
1408 if ((sizeof(sdkp->capacity) == 4) && (lba == 0xffffffff)) { 1403 if ((sizeof(sdkp->capacity) == 4) && (lba == 0xffffffff)) {
1409 sd_printk(KERN_ERR, sdkp, "Too big for this kernel. Use a " 1404 sd_printk(KERN_ERR, sdkp, "Too big for this kernel. Use a "
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 82312df9b0bf..e1716f14cd47 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -179,7 +179,7 @@ typedef struct sg_device { /* holds the state of each scsi generic device */
179/* tasklet or soft irq callback */ 179/* tasklet or soft irq callback */
180static void sg_rq_end_io(struct request *rq, int uptodate); 180static void sg_rq_end_io(struct request *rq, int uptodate);
181static int sg_start_req(Sg_request *srp, unsigned char *cmd); 181static int sg_start_req(Sg_request *srp, unsigned char *cmd);
182static void sg_finish_rem_req(Sg_request * srp); 182static int sg_finish_rem_req(Sg_request * srp);
183static int sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size); 183static int sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size);
184static ssize_t sg_new_read(Sg_fd * sfp, char __user *buf, size_t count, 184static ssize_t sg_new_read(Sg_fd * sfp, char __user *buf, size_t count,
185 Sg_request * srp); 185 Sg_request * srp);
@@ -518,7 +518,7 @@ sg_new_read(Sg_fd * sfp, char __user *buf, size_t count, Sg_request * srp)
518 goto err_out; 518 goto err_out;
519 } 519 }
520err_out: 520err_out:
521 sg_finish_rem_req(srp); 521 err = sg_finish_rem_req(srp);
522 return (0 == err) ? count : err; 522 return (0 == err) ? count : err;
523} 523}
524 524
@@ -1696,9 +1696,10 @@ static int sg_start_req(Sg_request *srp, unsigned char *cmd)
1696 return res; 1696 return res;
1697} 1697}
1698 1698
1699static void 1699static int sg_finish_rem_req(Sg_request * srp)
1700sg_finish_rem_req(Sg_request * srp)
1701{ 1700{
1701 int ret = 0;
1702
1702 Sg_fd *sfp = srp->parentfp; 1703 Sg_fd *sfp = srp->parentfp;
1703 Sg_scatter_hold *req_schp = &srp->data; 1704 Sg_scatter_hold *req_schp = &srp->data;
1704 1705
@@ -1710,12 +1711,14 @@ sg_finish_rem_req(Sg_request * srp)
1710 1711
1711 if (srp->rq) { 1712 if (srp->rq) {
1712 if (srp->bio) 1713 if (srp->bio)
1713 blk_rq_unmap_user(srp->bio); 1714 ret = blk_rq_unmap_user(srp->bio);
1714 1715
1715 blk_put_request(srp->rq); 1716 blk_put_request(srp->rq);
1716 } 1717 }
1717 1718
1718 sg_remove_request(sfp, srp); 1719 sg_remove_request(sfp, srp);
1720
1721 return ret;
1719} 1722}
1720 1723
1721static int 1724static int
diff --git a/drivers/scsi/sr_ioctl.c b/drivers/scsi/sr_ioctl.c
index d92ff512d213..291236e6e435 100644
--- a/drivers/scsi/sr_ioctl.c
+++ b/drivers/scsi/sr_ioctl.c
@@ -309,6 +309,11 @@ int sr_drive_status(struct cdrom_device_info *cdi, int slot)
309 if (0 == sr_test_unit_ready(cd->device, &sshdr)) 309 if (0 == sr_test_unit_ready(cd->device, &sshdr))
310 return CDS_DISC_OK; 310 return CDS_DISC_OK;
311 311
312 /* SK/ASC/ASCQ of 2/4/1 means "unit is becoming ready" */
313 if (scsi_sense_valid(&sshdr) && sshdr.sense_key == NOT_READY
314 && sshdr.asc == 0x04 && sshdr.ascq == 0x01)
315 return CDS_DRIVE_NOT_READY;
316
312 if (!cdrom_get_media_event(cdi, &med)) { 317 if (!cdrom_get_media_event(cdi, &med)) {
313 if (med.media_present) 318 if (med.media_present)
314 return CDS_DISC_OK; 319 return CDS_DISC_OK;
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c
index 7ba7d70f04d6..7be52fe288eb 100644
--- a/drivers/serial/crisv10.c
+++ b/drivers/serial/crisv10.c
@@ -23,16 +23,18 @@ static char *serial_version = "$Revision: 1.25 $";
23#include <linux/mm.h> 23#include <linux/mm.h>
24#include <linux/slab.h> 24#include <linux/slab.h>
25#include <linux/init.h> 25#include <linux/init.h>
26#include <asm/uaccess.h>
27#include <linux/kernel.h> 26#include <linux/kernel.h>
28#include <linux/mutex.h> 27#include <linux/mutex.h>
29#include <linux/bitops.h> 28#include <linux/bitops.h>
29#include <linux/seq_file.h>
30#include <linux/delay.h>
31#include <linux/module.h>
32#include <linux/uaccess.h>
33#include <linux/io.h>
30 34
31#include <asm/io.h>
32#include <asm/irq.h> 35#include <asm/irq.h>
33#include <asm/dma.h> 36#include <asm/dma.h>
34#include <asm/system.h> 37#include <asm/system.h>
35#include <linux/delay.h>
36 38
37#include <arch/svinto.h> 39#include <arch/svinto.h>
38 40
@@ -456,7 +458,6 @@ static struct e100_serial rs_table[] = {
456 458
457#define NR_PORTS (sizeof(rs_table)/sizeof(struct e100_serial)) 459#define NR_PORTS (sizeof(rs_table)/sizeof(struct e100_serial))
458 460
459static struct ktermios *serial_termios[NR_PORTS];
460#ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER 461#ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER
461static struct fast_timer fast_timers[NR_PORTS]; 462static struct fast_timer fast_timers[NR_PORTS];
462#endif 463#endif
@@ -4257,151 +4258,132 @@ rs_open(struct tty_struct *tty, struct file * filp)
4257 return 0; 4258 return 0;
4258} 4259}
4259 4260
4261#ifdef CONFIG_PROC_FS
4260/* 4262/*
4261 * /proc fs routines.... 4263 * /proc fs routines....
4262 */ 4264 */
4263 4265
4264static int line_info(char *buf, struct e100_serial *info) 4266static void seq_line_info(struct seq_file *m, struct e100_serial *info)
4265{ 4267{
4266 char stat_buf[30];
4267 int ret;
4268 unsigned long tmp; 4268 unsigned long tmp;
4269 4269
4270 ret = sprintf(buf, "%d: uart:E100 port:%lX irq:%d", 4270 seq_printf(m, "%d: uart:E100 port:%lX irq:%d",
4271 info->line, (unsigned long)info->ioport, info->irq); 4271 info->line, (unsigned long)info->ioport, info->irq);
4272 4272
4273 if (!info->ioport || (info->type == PORT_UNKNOWN)) { 4273 if (!info->ioport || (info->type == PORT_UNKNOWN)) {
4274 ret += sprintf(buf+ret, "\n"); 4274 seq_printf(m, "\n");
4275 return ret; 4275 return;
4276 } 4276 }
4277 4277
4278 stat_buf[0] = 0; 4278 seq_printf(m, " baud:%d", info->baud);
4279 stat_buf[1] = 0; 4279 seq_printf(m, " tx:%lu rx:%lu",
4280 if (!E100_RTS_GET(info))
4281 strcat(stat_buf, "|RTS");
4282 if (!E100_CTS_GET(info))
4283 strcat(stat_buf, "|CTS");
4284 if (!E100_DTR_GET(info))
4285 strcat(stat_buf, "|DTR");
4286 if (!E100_DSR_GET(info))
4287 strcat(stat_buf, "|DSR");
4288 if (!E100_CD_GET(info))
4289 strcat(stat_buf, "|CD");
4290 if (!E100_RI_GET(info))
4291 strcat(stat_buf, "|RI");
4292
4293 ret += sprintf(buf+ret, " baud:%d", info->baud);
4294
4295 ret += sprintf(buf+ret, " tx:%lu rx:%lu",
4296 (unsigned long)info->icount.tx, 4280 (unsigned long)info->icount.tx,
4297 (unsigned long)info->icount.rx); 4281 (unsigned long)info->icount.rx);
4298 tmp = CIRC_CNT(info->xmit.head, info->xmit.tail, SERIAL_XMIT_SIZE); 4282 tmp = CIRC_CNT(info->xmit.head, info->xmit.tail, SERIAL_XMIT_SIZE);
4299 if (tmp) { 4283 if (tmp)
4300 ret += sprintf(buf+ret, " tx_pend:%lu/%lu", 4284 seq_printf(m, " tx_pend:%lu/%lu",
4301 (unsigned long)tmp, 4285 (unsigned long)tmp,
4302 (unsigned long)SERIAL_XMIT_SIZE); 4286 (unsigned long)SERIAL_XMIT_SIZE);
4303 }
4304 4287
4305 ret += sprintf(buf+ret, " rx_pend:%lu/%lu", 4288 seq_printf(m, " rx_pend:%lu/%lu",
4306 (unsigned long)info->recv_cnt, 4289 (unsigned long)info->recv_cnt,
4307 (unsigned long)info->max_recv_cnt); 4290 (unsigned long)info->max_recv_cnt);
4308 4291
4309#if 1 4292#if 1
4310 if (info->port.tty) { 4293 if (info->port.tty) {
4311
4312 if (info->port.tty->stopped) 4294 if (info->port.tty->stopped)
4313 ret += sprintf(buf+ret, " stopped:%i", 4295 seq_printf(m, " stopped:%i",
4314 (int)info->port.tty->stopped); 4296 (int)info->port.tty->stopped);
4315 if (info->port.tty->hw_stopped) 4297 if (info->port.tty->hw_stopped)
4316 ret += sprintf(buf+ret, " hw_stopped:%i", 4298 seq_printf(m, " hw_stopped:%i",
4317 (int)info->port.tty->hw_stopped); 4299 (int)info->port.tty->hw_stopped);
4318 } 4300 }
4319 4301
4320 { 4302 {
4321 unsigned char rstat = info->ioport[REG_STATUS]; 4303 unsigned char rstat = info->ioport[REG_STATUS];
4322 if (rstat & IO_MASK(R_SERIAL0_STATUS, xoff_detect) ) 4304 if (rstat & IO_MASK(R_SERIAL0_STATUS, xoff_detect))
4323 ret += sprintf(buf+ret, " xoff_detect:1"); 4305 seq_printf(m, " xoff_detect:1");
4324 } 4306 }
4325 4307
4326#endif 4308#endif
4327 4309
4328
4329
4330
4331 if (info->icount.frame) 4310 if (info->icount.frame)
4332 ret += sprintf(buf+ret, " fe:%lu", 4311 seq_printf(m, " fe:%lu", (unsigned long)info->icount.frame);
4333 (unsigned long)info->icount.frame);
4334 4312
4335 if (info->icount.parity) 4313 if (info->icount.parity)
4336 ret += sprintf(buf+ret, " pe:%lu", 4314 seq_printf(m, " pe:%lu", (unsigned long)info->icount.parity);
4337 (unsigned long)info->icount.parity);
4338 4315
4339 if (info->icount.brk) 4316 if (info->icount.brk)
4340 ret += sprintf(buf+ret, " brk:%lu", 4317 seq_printf(m, " brk:%lu", (unsigned long)info->icount.brk);
4341 (unsigned long)info->icount.brk);
4342 4318
4343 if (info->icount.overrun) 4319 if (info->icount.overrun)
4344 ret += sprintf(buf+ret, " oe:%lu", 4320 seq_printf(m, " oe:%lu", (unsigned long)info->icount.overrun);
4345 (unsigned long)info->icount.overrun);
4346 4321
4347 /* 4322 /*
4348 * Last thing is the RS-232 status lines 4323 * Last thing is the RS-232 status lines
4349 */ 4324 */
4350 ret += sprintf(buf+ret, " %s\n", stat_buf+1); 4325 if (!E100_RTS_GET(info))
4351 return ret; 4326 seq_puts(m, "|RTS");
4327 if (!E100_CTS_GET(info))
4328 seq_puts(m, "|CTS");
4329 if (!E100_DTR_GET(info))
4330 seq_puts(m, "|DTR");
4331 if (!E100_DSR_GET(info))
4332 seq_puts(m, "|DSR");
4333 if (!E100_CD_GET(info))
4334 seq_puts(m, "|CD");
4335 if (!E100_RI_GET(info))
4336 seq_puts(m, "|RI");
4337 seq_puts(m, "\n");
4352} 4338}
4353 4339
4354int rs_read_proc(char *page, char **start, off_t off, int count, 4340
4355 int *eof, void *data) 4341static int crisv10_proc_show(struct seq_file *m, void *v)
4356{ 4342{
4357 int i, len = 0, l; 4343 int i;
4358 off_t begin = 0;
4359 4344
4360 len += sprintf(page, "serinfo:1.0 driver:%s\n", 4345 seq_printf(m, "serinfo:1.0 driver:%s\n", serial_version);
4361 serial_version); 4346
4362 for (i = 0; i < NR_PORTS && len < 4000; i++) { 4347 for (i = 0; i < NR_PORTS; i++) {
4363 if (!rs_table[i].enabled) 4348 if (!rs_table[i].enabled)
4364 continue; 4349 continue;
4365 l = line_info(page + len, &rs_table[i]); 4350 seq_line_info(m, &rs_table[i]);
4366 len += l;
4367 if (len+begin > off+count)
4368 goto done;
4369 if (len+begin < off) {
4370 begin += len;
4371 len = 0;
4372 }
4373 } 4351 }
4374#ifdef DEBUG_LOG_INCLUDED 4352#ifdef DEBUG_LOG_INCLUDED
4375 for (i = 0; i < debug_log_pos; i++) { 4353 for (i = 0; i < debug_log_pos; i++) {
4376 len += sprintf(page + len, "%-4i %lu.%lu ", i, debug_log[i].time, timer_data_to_ns(debug_log[i].timer_data)); 4354 seq_printf(m, "%-4i %lu.%lu ",
4377 len += sprintf(page + len, debug_log[i].string, debug_log[i].value); 4355 i, debug_log[i].time,
4378 if (len+begin > off+count) 4356 timer_data_to_ns(debug_log[i].timer_data));
4379 goto done; 4357 seq_printf(m, debug_log[i].string, debug_log[i].value);
4380 if (len+begin < off) {
4381 begin += len;
4382 len = 0;
4383 }
4384 } 4358 }
4385 len += sprintf(page + len, "debug_log %i/%i %li bytes\n", 4359 seq_printf(m, "debug_log %i/%i\n", i, DEBUG_LOG_SIZE);
4386 i, DEBUG_LOG_SIZE, begin+len);
4387 debug_log_pos = 0; 4360 debug_log_pos = 0;
4388#endif 4361#endif
4362 return 0;
4363}
4389 4364
4390 *eof = 1; 4365static int crisv10_proc_open(struct inode *inode, struct file *file)
4391done: 4366{
4392 if (off >= len+begin) 4367 return single_open(file, crisv10_proc_show, NULL);
4393 return 0;
4394 *start = page + (off-begin);
4395 return ((count < begin+len-off) ? count : begin+len-off);
4396} 4368}
4397 4369
4370static const struct file_operations crisv10_proc_fops = {
4371 .owner = THIS_MODULE,
4372 .open = crisv10_proc_open,
4373 .read = seq_read,
4374 .llseek = seq_lseek,
4375 .release = single_release,
4376};
4377#endif
4378
4379
4398/* Finally, routines used to initialize the serial driver. */ 4380/* Finally, routines used to initialize the serial driver. */
4399 4381
4400static void 4382static void show_serial_version(void)
4401show_serial_version(void)
4402{ 4383{
4403 printk(KERN_INFO 4384 printk(KERN_INFO
4404 "ETRAX 100LX serial-driver %s, (c) 2000-2004 Axis Communications AB\r\n", 4385 "ETRAX 100LX serial-driver %s, "
4386 "(c) 2000-2004 Axis Communications AB\r\n",
4405 &serial_version[11]); /* "$Revision: x.yy" */ 4387 &serial_version[11]); /* "$Revision: x.yy" */
4406} 4388}
4407 4389
@@ -4425,13 +4407,14 @@ static const struct tty_operations rs_ops = {
4425 .break_ctl = rs_break, 4407 .break_ctl = rs_break,
4426 .send_xchar = rs_send_xchar, 4408 .send_xchar = rs_send_xchar,
4427 .wait_until_sent = rs_wait_until_sent, 4409 .wait_until_sent = rs_wait_until_sent,
4428 .read_proc = rs_read_proc,
4429 .tiocmget = rs_tiocmget, 4410 .tiocmget = rs_tiocmget,
4430 .tiocmset = rs_tiocmset 4411 .tiocmset = rs_tiocmset,
4412#ifdef CONFIG_PROC_FS
4413 .proc_fops = &crisv10_proc_fops,
4414#endif
4431}; 4415};
4432 4416
4433static int __init 4417static int __init rs_init(void)
4434rs_init(void)
4435{ 4418{
4436 int i; 4419 int i;
4437 struct e100_serial *info; 4420 struct e100_serial *info;
diff --git a/drivers/serial/jsm/jsm.h b/drivers/serial/jsm/jsm.h
index 8871aaa3dba6..c0a3e2734e24 100644
--- a/drivers/serial/jsm/jsm.h
+++ b/drivers/serial/jsm/jsm.h
@@ -130,8 +130,6 @@ struct jsm_board
130 struct pci_dev *pci_dev; 130 struct pci_dev *pci_dev;
131 u32 maxports; /* MAX ports this board can handle */ 131 u32 maxports; /* MAX ports this board can handle */
132 132
133 spinlock_t bd_lock; /* Used to protect board */
134
135 spinlock_t bd_intr_lock; /* Used to protect the poller tasklet and 133 spinlock_t bd_intr_lock; /* Used to protect the poller tasklet and
136 * the interrupt routine from each other. 134 * the interrupt routine from each other.
137 */ 135 */
diff --git a/drivers/serial/jsm/jsm_driver.c b/drivers/serial/jsm/jsm_driver.c
index d2d32a198629..b3604aa322a4 100644
--- a/drivers/serial/jsm/jsm_driver.c
+++ b/drivers/serial/jsm/jsm_driver.c
@@ -88,7 +88,6 @@ static int __devinit jsm_probe_one(struct pci_dev *pdev, const struct pci_device
88 else 88 else
89 brd->maxports = 2; 89 brd->maxports = 2;
90 90
91 spin_lock_init(&brd->bd_lock);
92 spin_lock_init(&brd->bd_intr_lock); 91 spin_lock_init(&brd->bd_intr_lock);
93 92
94 /* store which revision we have */ 93 /* store which revision we have */
diff --git a/drivers/serial/nwpserial.c b/drivers/serial/nwpserial.c
index 32f3eaf0d262..9e150b19d726 100644
--- a/drivers/serial/nwpserial.c
+++ b/drivers/serial/nwpserial.c
@@ -145,11 +145,13 @@ static irqreturn_t nwpserial_interrupt(int irq, void *dev_id)
145 ch = dcr_read(up->dcr_host, UART_RX); 145 ch = dcr_read(up->dcr_host, UART_RX);
146 if (up->port.ignore_status_mask != NWPSERIAL_STATUS_RXVALID) 146 if (up->port.ignore_status_mask != NWPSERIAL_STATUS_RXVALID)
147 tty_insert_flip_char(tty, ch, TTY_NORMAL); 147 tty_insert_flip_char(tty, ch, TTY_NORMAL);
148 } while (dcr_read(up->dcr_host, UART_RX) & UART_LSR_DR); 148 } while (dcr_read(up->dcr_host, UART_LSR) & UART_LSR_DR);
149 149
150 tty_flip_buffer_push(tty); 150 tty_flip_buffer_push(tty);
151 ret = IRQ_HANDLED; 151 ret = IRQ_HANDLED;
152 152
153 /* clear interrupt */
154 dcr_write(up->dcr_host, UART_IIR, 1);
153out: 155out:
154 spin_unlock(&up->port.lock); 156 spin_unlock(&up->port.lock);
155 return ret; 157 return ret;
diff --git a/drivers/serial/s3c6400.c b/drivers/serial/s3c6400.c
index 06936d13393f..3e3785233682 100644
--- a/drivers/serial/s3c6400.c
+++ b/drivers/serial/s3c6400.c
@@ -102,6 +102,7 @@ static struct s3c24xx_uart_info s3c6400_uart_inf = {
102 .name = "Samsung S3C6400 UART", 102 .name = "Samsung S3C6400 UART",
103 .type = PORT_S3C6400, 103 .type = PORT_S3C6400,
104 .fifosize = 64, 104 .fifosize = 64,
105 .has_divslot = 1,
105 .rx_fifomask = S3C2440_UFSTAT_RXMASK, 106 .rx_fifomask = S3C2440_UFSTAT_RXMASK,
106 .rx_fifoshift = S3C2440_UFSTAT_RXSHIFT, 107 .rx_fifoshift = S3C2440_UFSTAT_RXSHIFT,
107 .rx_fifofull = S3C2440_UFSTAT_RXFULL, 108 .rx_fifofull = S3C2440_UFSTAT_RXFULL,
diff --git a/drivers/serial/samsung.c b/drivers/serial/samsung.c
index e06686ae858b..93b5d75db126 100644
--- a/drivers/serial/samsung.c
+++ b/drivers/serial/samsung.c
@@ -508,6 +508,7 @@ s3c24xx_serial_setsource(struct uart_port *port, struct s3c24xx_uart_clksrc *c)
508struct baud_calc { 508struct baud_calc {
509 struct s3c24xx_uart_clksrc *clksrc; 509 struct s3c24xx_uart_clksrc *clksrc;
510 unsigned int calc; 510 unsigned int calc;
511 unsigned int divslot;
511 unsigned int quot; 512 unsigned int quot;
512 struct clk *src; 513 struct clk *src;
513}; 514};
@@ -517,6 +518,7 @@ static int s3c24xx_serial_calcbaud(struct baud_calc *calc,
517 struct s3c24xx_uart_clksrc *clksrc, 518 struct s3c24xx_uart_clksrc *clksrc,
518 unsigned int baud) 519 unsigned int baud)
519{ 520{
521 struct s3c24xx_uart_port *ourport = to_ourport(port);
520 unsigned long rate; 522 unsigned long rate;
521 523
522 calc->src = clk_get(port->dev, clksrc->name); 524 calc->src = clk_get(port->dev, clksrc->name);
@@ -527,8 +529,24 @@ static int s3c24xx_serial_calcbaud(struct baud_calc *calc,
527 rate /= clksrc->divisor; 529 rate /= clksrc->divisor;
528 530
529 calc->clksrc = clksrc; 531 calc->clksrc = clksrc;
530 calc->quot = (rate + (8 * baud)) / (16 * baud); 532
531 calc->calc = (rate / (calc->quot * 16)); 533 if (ourport->info->has_divslot) {
534 unsigned long div = rate / baud;
535
536 /* The UDIVSLOT register on the newer UARTs allows us to
537 * get a divisor adjustment of 1/16th on the baud clock.
538 *
539 * We don't keep the UDIVSLOT value (the 16ths we calculated
540 * by not multiplying the baud by 16) as it is easy enough
541 * to recalculate.
542 */
543
544 calc->quot = div / 16;
545 calc->calc = rate / div;
546 } else {
547 calc->quot = (rate + (8 * baud)) / (16 * baud);
548 calc->calc = (rate / (calc->quot * 16));
549 }
532 550
533 calc->quot--; 551 calc->quot--;
534 return 1; 552 return 1;
@@ -611,6 +629,30 @@ static unsigned int s3c24xx_serial_getclk(struct uart_port *port,
611 return best->quot; 629 return best->quot;
612} 630}
613 631
632/* udivslot_table[]
633 *
634 * This table takes the fractional value of the baud divisor and gives
635 * the recommended setting for the UDIVSLOT register.
636 */
637static u16 udivslot_table[16] = {
638 [0] = 0x0000,
639 [1] = 0x0080,
640 [2] = 0x0808,
641 [3] = 0x0888,
642 [4] = 0x2222,
643 [5] = 0x4924,
644 [6] = 0x4A52,
645 [7] = 0x54AA,
646 [8] = 0x5555,
647 [9] = 0xD555,
648 [10] = 0xD5D5,
649 [11] = 0xDDD5,
650 [12] = 0xDDDD,
651 [13] = 0xDFDD,
652 [14] = 0xDFDF,
653 [15] = 0xFFDF,
654};
655
614static void s3c24xx_serial_set_termios(struct uart_port *port, 656static void s3c24xx_serial_set_termios(struct uart_port *port,
615 struct ktermios *termios, 657 struct ktermios *termios,
616 struct ktermios *old) 658 struct ktermios *old)
@@ -623,6 +665,7 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
623 unsigned int baud, quot; 665 unsigned int baud, quot;
624 unsigned int ulcon; 666 unsigned int ulcon;
625 unsigned int umcon; 667 unsigned int umcon;
668 unsigned int udivslot = 0;
626 669
627 /* 670 /*
628 * We don't support modem control lines. 671 * We don't support modem control lines.
@@ -644,6 +687,7 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
644 /* check to see if we need to change clock source */ 687 /* check to see if we need to change clock source */
645 688
646 if (ourport->clksrc != clksrc || ourport->baudclk != clk) { 689 if (ourport->clksrc != clksrc || ourport->baudclk != clk) {
690 dbg("selecting clock %p\n", clk);
647 s3c24xx_serial_setsource(port, clksrc); 691 s3c24xx_serial_setsource(port, clksrc);
648 692
649 if (ourport->baudclk != NULL && !IS_ERR(ourport->baudclk)) { 693 if (ourport->baudclk != NULL && !IS_ERR(ourport->baudclk)) {
@@ -658,6 +702,13 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
658 ourport->baudclk_rate = clk ? clk_get_rate(clk) : 0; 702 ourport->baudclk_rate = clk ? clk_get_rate(clk) : 0;
659 } 703 }
660 704
705 if (ourport->info->has_divslot) {
706 unsigned int div = ourport->baudclk_rate / baud;
707
708 udivslot = udivslot_table[div & 15];
709 dbg("udivslot = %04x (div %d)\n", udivslot, div & 15);
710 }
711
661 switch (termios->c_cflag & CSIZE) { 712 switch (termios->c_cflag & CSIZE) {
662 case CS5: 713 case CS5:
663 dbg("config: 5bits/char\n"); 714 dbg("config: 5bits/char\n");
@@ -697,12 +748,16 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
697 748
698 spin_lock_irqsave(&port->lock, flags); 749 spin_lock_irqsave(&port->lock, flags);
699 750
700 dbg("setting ulcon to %08x, brddiv to %d\n", ulcon, quot); 751 dbg("setting ulcon to %08x, brddiv to %d, udivslot %08x\n",
752 ulcon, quot, udivslot);
701 753
702 wr_regl(port, S3C2410_ULCON, ulcon); 754 wr_regl(port, S3C2410_ULCON, ulcon);
703 wr_regl(port, S3C2410_UBRDIV, quot); 755 wr_regl(port, S3C2410_UBRDIV, quot);
704 wr_regl(port, S3C2410_UMCON, umcon); 756 wr_regl(port, S3C2410_UMCON, umcon);
705 757
758 if (ourport->info->has_divslot)
759 wr_regl(port, S3C2443_DIVSLOT, udivslot);
760
706 dbg("uart: ulcon = 0x%08x, ucon = 0x%08x, ufcon = 0x%08x\n", 761 dbg("uart: ulcon = 0x%08x, ucon = 0x%08x, ufcon = 0x%08x\n",
707 rd_regl(port, S3C2410_ULCON), 762 rd_regl(port, S3C2410_ULCON),
708 rd_regl(port, S3C2410_UCON), 763 rd_regl(port, S3C2410_UCON),
diff --git a/drivers/serial/samsung.h b/drivers/serial/samsung.h
index 571d6b90d206..7afb94843a08 100644
--- a/drivers/serial/samsung.h
+++ b/drivers/serial/samsung.h
@@ -21,6 +21,10 @@ struct s3c24xx_uart_info {
21 unsigned long tx_fifoshift; 21 unsigned long tx_fifoshift;
22 unsigned long tx_fifofull; 22 unsigned long tx_fifofull;
23 23
24 /* uart port features */
25
26 unsigned int has_divslot:1;
27
24 /* clock source control */ 28 /* clock source control */
25 29
26 int (*get_clksrc)(struct uart_port *, struct s3c24xx_uart_clksrc *clk); 30 int (*get_clksrc)(struct uart_port *, struct s3c24xx_uart_clksrc *clk);
diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c
index 885194a07418..3f3c08c6ba4e 100644
--- a/drivers/spi/pxa2xx_spi.c
+++ b/drivers/spi/pxa2xx_spi.c
@@ -1373,6 +1373,9 @@ static void cleanup(struct spi_device *spi)
1373{ 1373{
1374 struct chip_data *chip = spi_get_ctldata(spi); 1374 struct chip_data *chip = spi_get_ctldata(spi);
1375 1375
1376 if (!chip)
1377 return;
1378
1376 if (gpio_is_valid(chip->gpio_cs)) 1379 if (gpio_is_valid(chip->gpio_cs))
1377 gpio_free(chip->gpio_cs); 1380 gpio_free(chip->gpio_cs);
1378 1381
diff --git a/drivers/staging/comedi/TODO b/drivers/staging/comedi/TODO
index 557812958464..15c9348fb938 100644
--- a/drivers/staging/comedi/TODO
+++ b/drivers/staging/comedi/TODO
@@ -11,4 +11,3 @@ Please send patches to Greg Kroah-Hartman <greg@kroah.com> and
11copy: 11copy:
12 Ian Abbott <abbotti@mev.co.uk> 12 Ian Abbott <abbotti@mev.co.uk>
13 Frank Mori Hess <fmhess@users.sourceforge.net> 13 Frank Mori Hess <fmhess@users.sourceforge.net>
14 David Schleef <ds@schleef.org>
diff --git a/drivers/staging/rt2870/rt2870.h b/drivers/staging/rt2870/rt2870.h
index a42caa370808..a69cf338e498 100644
--- a/drivers/staging/rt2870/rt2870.h
+++ b/drivers/staging/rt2870/rt2870.h
@@ -145,6 +145,7 @@
145 {USB_DEVICE(0x0789,0x0162)}, /* Logitec */ \ 145 {USB_DEVICE(0x0789,0x0162)}, /* Logitec */ \
146 {USB_DEVICE(0x0789,0x0163)}, /* Logitec */ \ 146 {USB_DEVICE(0x0789,0x0163)}, /* Logitec */ \
147 {USB_DEVICE(0x0789,0x0164)}, /* Logitec */ \ 147 {USB_DEVICE(0x0789,0x0164)}, /* Logitec */ \
148 {USB_DEVICE(0x7392,0x7717)}, /* Edimax */ \
148 { }/* Terminating entry */ \ 149 { }/* Terminating entry */ \
149} 150}
150 151
diff --git a/drivers/staging/rtl8187se/r8180.h b/drivers/staging/rtl8187se/r8180.h
index 12215fc61ddc..db446b7e2e08 100644
--- a/drivers/staging/rtl8187se/r8180.h
+++ b/drivers/staging/rtl8187se/r8180.h
@@ -19,7 +19,7 @@
19#define R8180H 19#define R8180H
20 20
21 21
22#define RTL8180_MODULE_NAME "rtl8180" 22#define RTL8180_MODULE_NAME "r8180"
23#define DMESG(x,a...) printk(KERN_INFO RTL8180_MODULE_NAME ": " x "\n", ## a) 23#define DMESG(x,a...) printk(KERN_INFO RTL8180_MODULE_NAME ": " x "\n", ## a)
24#define DMESGW(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": WW:" x "\n", ## a) 24#define DMESGW(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": WW:" x "\n", ## a)
25#define DMESGE(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": EE:" x "\n", ## a) 25#define DMESGE(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": EE:" x "\n", ## a)
diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c
index 6ecd12de4296..e10413cee0df 100644
--- a/drivers/staging/rtl8187se/r8180_core.c
+++ b/drivers/staging/rtl8187se/r8180_core.c
@@ -640,11 +640,9 @@ void rtl8180_proc_init_one(struct net_device *dev)
640{ 640{
641 struct proc_dir_entry *e; 641 struct proc_dir_entry *e;
642 struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); 642 struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev);
643 priv->dir_dev = create_proc_entry(dev->name, 643 priv->dir_dev = rtl8180_proc;
644 S_IFDIR | S_IRUGO | S_IXUGO,
645 rtl8180_proc);
646 if (!priv->dir_dev) { 644 if (!priv->dir_dev) {
647 DMESGE("Unable to initialize /proc/net/rtl8180/%s\n", 645 DMESGE("Unable to initialize /proc/net/r8180/%s\n",
648 dev->name); 646 dev->name);
649 return; 647 return;
650 } 648 }
@@ -654,7 +652,7 @@ void rtl8180_proc_init_one(struct net_device *dev)
654 652
655 if (!e) { 653 if (!e) {
656 DMESGE("Unable to initialize " 654 DMESGE("Unable to initialize "
657 "/proc/net/rtl8180/%s/stats-hw\n", 655 "/proc/net/r8180/%s/stats-hw\n",
658 dev->name); 656 dev->name);
659 } 657 }
660 658
@@ -663,7 +661,7 @@ void rtl8180_proc_init_one(struct net_device *dev)
663 661
664 if (!e) { 662 if (!e) {
665 DMESGE("Unable to initialize " 663 DMESGE("Unable to initialize "
666 "/proc/net/rtl8180/%s/stats-rx\n", 664 "/proc/net/r8180/%s/stats-rx\n",
667 dev->name); 665 dev->name);
668 } 666 }
669 667
@@ -673,7 +671,7 @@ void rtl8180_proc_init_one(struct net_device *dev)
673 671
674 if (!e) { 672 if (!e) {
675 DMESGE("Unable to initialize " 673 DMESGE("Unable to initialize "
676 "/proc/net/rtl8180/%s/stats-tx\n", 674 "/proc/net/r8180/%s/stats-tx\n",
677 dev->name); 675 dev->name);
678 } 676 }
679 #if 0 677 #if 0
@@ -702,7 +700,7 @@ void rtl8180_proc_init_one(struct net_device *dev)
702 700
703 if (!e) { 701 if (!e) {
704 DMESGE("Unable to initialize " 702 DMESGE("Unable to initialize "
705 "/proc/net/rtl8180/%s/registers\n", 703 "/proc/net/r8180/%s/registers\n",
706 dev->name); 704 dev->name);
707 } 705 }
708} 706}
@@ -977,13 +975,6 @@ void check_tx_ring(struct net_device *dev, int pri)
977 *tmp & (1<<15)? "ok": "err", *(tmp+4)); 975 *tmp & (1<<15)? "ok": "err", *(tmp+4));
978 } 976 }
979 977
980 DMESG("nic at %d",
981 (nic-nicbegin) / 8 /4);
982 DMESG("tail at %d", ((int)tail - (int)begin) /8 /4);
983 DMESG("head at %d", ((int)head - (int)begin) /8 /4);
984 DMESG("check free desc returns %d", check_nic_enought_desc(dev,pri));
985 DMESG("free desc is %d\n", get_curr_tx_free_desc(dev,pri));
986 //rtl8180_reset(dev);
987 return; 978 return;
988} 979}
989 980
@@ -1736,17 +1727,7 @@ short alloc_tx_desc_ring(struct net_device *dev, int bufsize, int count,
1736 * descriptor's buffer must be 256 byte aligned 1727 * descriptor's buffer must be 256 byte aligned
1737 * we shouldn't be here, since we set DMA mask ! 1728 * we shouldn't be here, since we set DMA mask !
1738 */ 1729 */
1739 DMESGW("Fixing TX alignment"); 1730 WARN(1, "DMA buffer is not aligned\n");
1740 desc = (u32*)((u8*)desc + 256);
1741#if (defined(CONFIG_HIGHMEM64G) || defined(CONFIG_64BIT_PHYS_ADDR))
1742 desc = (u32*)((u64)desc &~ 0xff);
1743 dma_desc = (dma_addr_t)((u8*)dma_desc + 256);
1744 dma_desc = (dma_addr_t)((u64)dma_desc &~ 0xff);
1745#else
1746 desc = (u32*)((u32)desc &~ 0xff);
1747 dma_desc = (dma_addr_t)((u8*)dma_desc + 256);
1748 dma_desc = (dma_addr_t)((u32)dma_desc &~ 0xff);
1749#endif
1750 } 1731 }
1751 tmp=desc; 1732 tmp=desc;
1752 for (i=0;i<count;i++) 1733 for (i=0;i<count;i++)
@@ -1984,18 +1965,7 @@ short alloc_rx_desc_ring(struct net_device *dev, u16 bufsize, int count)
1984 * descriptor's buffer must be 256 byte aligned 1965 * descriptor's buffer must be 256 byte aligned
1985 * should never happen since we specify the DMA mask 1966 * should never happen since we specify the DMA mask
1986 */ 1967 */
1987 1968 WARN(1, "DMA buffer is not aligned\n");
1988 DMESGW("Fixing RX alignment");
1989 desc = (u32*)((u8*)desc + 256);
1990#if (defined(CONFIG_HIGHMEM64G) || defined(CONFIG_64BIT_PHYS_ADDR))
1991 desc = (u32*)((u64)desc &~ 0xff);
1992 dma_desc = (dma_addr_t)((u8*)dma_desc + 256);
1993 dma_desc = (dma_addr_t)((u64)dma_desc &~ 0xff);
1994#else
1995 desc = (u32*)((u32)desc &~ 0xff);
1996 dma_desc = (dma_addr_t)((u8*)dma_desc + 256);
1997 dma_desc = (dma_addr_t)((u32)dma_desc &~ 0xff);
1998#endif
1999 } 1969 }
2000 1970
2001 priv->rxring=desc; 1971 priv->rxring=desc;
diff --git a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c
index 9c3f9439f35e..3b2d52819b4c 100644
--- a/drivers/staging/winbond/wbusb.c
+++ b/drivers/staging/winbond/wbusb.c
@@ -386,7 +386,7 @@ static int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id
386 if (err) 386 if (err)
387 goto error_free_hw; 387 goto error_free_hw;
388 388
389 usb_set_intfdata(intf, priv); 389 usb_set_intfdata(intf, dev);
390 390
391 return 0; 391 return 0;
392 392
@@ -415,10 +415,15 @@ static void wb35_hw_halt(struct wbsoft_priv *adapter)
415 415
416static void wb35_disconnect(struct usb_interface *intf) 416static void wb35_disconnect(struct usb_interface *intf)
417{ 417{
418 struct wbsoft_priv *priv = usb_get_intfdata(intf); 418 struct ieee80211_hw *hw = usb_get_intfdata(intf);
419 struct wbsoft_priv *priv = hw->priv;
419 420
420 wb35_hw_halt(priv); 421 wb35_hw_halt(priv);
421 422
423 ieee80211_stop_queues(hw);
424 ieee80211_unregister_hw(hw);
425 ieee80211_free_hw(hw);
426
422 usb_set_intfdata(intf, NULL); 427 usb_set_intfdata(intf, NULL);
423 usb_put_dev(interface_to_usbdev(intf)); 428 usb_put_dev(interface_to_usbdev(intf));
424} 429}
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
index 89299a5ce168..0716cdb44cd8 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -27,6 +27,8 @@ obj-$(CONFIG_USB_WUSB) += wusbcore/
27 27
28obj-$(CONFIG_USB_ACM) += class/ 28obj-$(CONFIG_USB_ACM) += class/
29obj-$(CONFIG_USB_PRINTER) += class/ 29obj-$(CONFIG_USB_PRINTER) += class/
30obj-$(CONFIG_USB_WDM) += class/
31obj-$(CONFIG_USB_TMC) += class/
30 32
31obj-$(CONFIG_USB_STORAGE) += storage/ 33obj-$(CONFIG_USB_STORAGE) += storage/
32obj-$(CONFIG_USB) += storage/ 34obj-$(CONFIG_USB) += storage/
diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c
index 6789089e2461..56802d2e994b 100644
--- a/drivers/usb/atm/cxacru.c
+++ b/drivers/usb/atm/cxacru.c
@@ -227,8 +227,14 @@ static ssize_t cxacru_sysfs_showattr_s8(s8 value, char *buf)
227 227
228static ssize_t cxacru_sysfs_showattr_dB(s16 value, char *buf) 228static ssize_t cxacru_sysfs_showattr_dB(s16 value, char *buf)
229{ 229{
230 return snprintf(buf, PAGE_SIZE, "%d.%02u\n", 230 if (likely(value >= 0)) {
231 value / 100, abs(value) % 100); 231 return snprintf(buf, PAGE_SIZE, "%u.%02u\n",
232 value / 100, value % 100);
233 } else {
234 value = -value;
235 return snprintf(buf, PAGE_SIZE, "-%u.%02u\n",
236 value / 100, value % 100);
237 }
232} 238}
233 239
234static ssize_t cxacru_sysfs_showattr_bool(u32 value, char *buf) 240static ssize_t cxacru_sysfs_showattr_bool(u32 value, char *buf)
diff --git a/drivers/usb/gadget/usbstring.c b/drivers/usb/gadget/usbstring.c
index 4154be375c7a..58c4d37d312a 100644
--- a/drivers/usb/gadget/usbstring.c
+++ b/drivers/usb/gadget/usbstring.c
@@ -38,7 +38,7 @@ static int utf8_to_utf16le(const char *s, __le16 *cp, unsigned len)
38 uchar = (c & 0x1f) << 6; 38 uchar = (c & 0x1f) << 6;
39 39
40 c = (u8) *s++; 40 c = (u8) *s++;
41 if ((c & 0xc0) != 0xc0) 41 if ((c & 0xc0) != 0x80)
42 goto fail; 42 goto fail;
43 c &= 0x3f; 43 c &= 0x3f;
44 uchar |= c; 44 uchar |= c;
@@ -49,13 +49,13 @@ static int utf8_to_utf16le(const char *s, __le16 *cp, unsigned len)
49 uchar = (c & 0x0f) << 12; 49 uchar = (c & 0x0f) << 12;
50 50
51 c = (u8) *s++; 51 c = (u8) *s++;
52 if ((c & 0xc0) != 0xc0) 52 if ((c & 0xc0) != 0x80)
53 goto fail; 53 goto fail;
54 c &= 0x3f; 54 c &= 0x3f;
55 uchar |= c << 6; 55 uchar |= c << 6;
56 56
57 c = (u8) *s++; 57 c = (u8) *s++;
58 if ((c & 0xc0) != 0xc0) 58 if ((c & 0xc0) != 0x80)
59 goto fail; 59 goto fail;
60 c &= 0x3f; 60 c &= 0x3f;
61 uchar |= c; 61 uchar |= c;
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 8100f1d25904..0ab8474b00cb 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -56,6 +56,7 @@ static __u16 vendor = FTDI_VID;
56static __u16 product; 56static __u16 product;
57 57
58struct ftdi_private { 58struct ftdi_private {
59 struct kref kref;
59 ftdi_chip_type_t chip_type; 60 ftdi_chip_type_t chip_type;
60 /* type of device, either SIO or FT8U232AM */ 61 /* type of device, either SIO or FT8U232AM */
61 int baud_base; /* baud base clock for divisor setting */ 62 int baud_base; /* baud base clock for divisor setting */
@@ -669,6 +670,8 @@ static struct usb_device_id id_table_combined [] = {
669 { USB_DEVICE(ADI_VID, ADI_GNICE_PID), 670 { USB_DEVICE(ADI_VID, ADI_GNICE_PID),
670 .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, 671 .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
671 { USB_DEVICE(JETI_VID, JETI_SPC1201_PID) }, 672 { USB_DEVICE(JETI_VID, JETI_SPC1201_PID) },
673 { USB_DEVICE(MARVELL_VID, MARVELL_SHEEVAPLUG_PID),
674 .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
672 { }, /* Optional parameter entry */ 675 { }, /* Optional parameter entry */
673 { } /* Terminating entry */ 676 { } /* Terminating entry */
674}; 677};
@@ -1352,6 +1355,7 @@ static int ftdi_sio_port_probe(struct usb_serial_port *port)
1352 return -ENOMEM; 1355 return -ENOMEM;
1353 } 1356 }
1354 1357
1358 kref_init(&priv->kref);
1355 spin_lock_init(&priv->rx_lock); 1359 spin_lock_init(&priv->rx_lock);
1356 spin_lock_init(&priv->tx_lock); 1360 spin_lock_init(&priv->tx_lock);
1357 init_waitqueue_head(&priv->delta_msr_wait); 1361 init_waitqueue_head(&priv->delta_msr_wait);
@@ -1468,6 +1472,13 @@ static void ftdi_shutdown(struct usb_serial *serial)
1468 dbg("%s", __func__); 1472 dbg("%s", __func__);
1469} 1473}
1470 1474
1475static void ftdi_sio_priv_release(struct kref *k)
1476{
1477 struct ftdi_private *priv = container_of(k, struct ftdi_private, kref);
1478
1479 kfree(priv);
1480}
1481
1471static int ftdi_sio_port_remove(struct usb_serial_port *port) 1482static int ftdi_sio_port_remove(struct usb_serial_port *port)
1472{ 1483{
1473 struct ftdi_private *priv = usb_get_serial_port_data(port); 1484 struct ftdi_private *priv = usb_get_serial_port_data(port);
@@ -1482,7 +1493,7 @@ static int ftdi_sio_port_remove(struct usb_serial_port *port)
1482 1493
1483 if (priv) { 1494 if (priv) {
1484 usb_set_serial_port_data(port, NULL); 1495 usb_set_serial_port_data(port, NULL);
1485 kfree(priv); 1496 kref_put(&priv->kref, ftdi_sio_priv_release);
1486 } 1497 }
1487 1498
1488 return 0; 1499 return 0;
@@ -1547,7 +1558,8 @@ static int ftdi_open(struct tty_struct *tty,
1547 dev_err(&port->dev, 1558 dev_err(&port->dev,
1548 "%s - failed submitting read urb, error %d\n", 1559 "%s - failed submitting read urb, error %d\n",
1549 __func__, result); 1560 __func__, result);
1550 1561 else
1562 kref_get(&priv->kref);
1551 1563
1552 return result; 1564 return result;
1553} /* ftdi_open */ 1565} /* ftdi_open */
@@ -1589,11 +1601,11 @@ static void ftdi_close(struct tty_struct *tty,
1589 mutex_unlock(&port->serial->disc_mutex); 1601 mutex_unlock(&port->serial->disc_mutex);
1590 1602
1591 /* cancel any scheduled reading */ 1603 /* cancel any scheduled reading */
1592 cancel_delayed_work(&priv->rx_work); 1604 cancel_delayed_work_sync(&priv->rx_work);
1593 flush_scheduled_work();
1594 1605
1595 /* shutdown our bulk read */ 1606 /* shutdown our bulk read */
1596 usb_kill_urb(port->read_urb); 1607 usb_kill_urb(port->read_urb);
1608 kref_put(&priv->kref, ftdi_sio_priv_release);
1597} /* ftdi_close */ 1609} /* ftdi_close */
1598 1610
1599 1611
diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h
index c09f658a448b..12330fa1c095 100644
--- a/drivers/usb/serial/ftdi_sio.h
+++ b/drivers/usb/serial/ftdi_sio.h
@@ -920,6 +920,12 @@
920#define JETI_SPC1201_PID 0x04b2 920#define JETI_SPC1201_PID 0x04b2
921 921
922/* 922/*
923 * Marvell SheevaPlug
924 */
925#define MARVELL_VID 0x9e88
926#define MARVELL_SHEEVAPLUG_PID 0x9e8f
927
928/*
923 * BmRequestType: 1100 0000b 929 * BmRequestType: 1100 0000b
924 * bRequest: FTDI_E2_READ 930 * bRequest: FTDI_E2_READ
925 * wValue: 0 931 * wValue: 0
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index fa65a3b08601..4b8b69045fe6 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -160,8 +160,9 @@ UNUSUAL_DEV( 0x0420, 0x0001, 0x0100, 0x0100,
160 US_SC_DEVICE, US_PR_DEVICE, NULL, 160 US_SC_DEVICE, US_PR_DEVICE, NULL,
161 US_FL_IGNORE_RESIDUE ), 161 US_FL_IGNORE_RESIDUE ),
162 162
163/* Reported by Andrew Nayenko <relan@bk.ru> */ 163/* Reported by Andrew Nayenko <relan@bk.ru>
164UNUSUAL_DEV( 0x0421, 0x0019, 0x0592, 0x0592, 164 * Updated for new firmware by Phillip Potter <phillipinda@hotmail.com> */
165UNUSUAL_DEV( 0x0421, 0x0019, 0x0592, 0x0610,
165 "Nokia", 166 "Nokia",
166 "Nokia 6288", 167 "Nokia 6288",
167 US_SC_DEVICE, US_PR_DEVICE, NULL, 168 US_SC_DEVICE, US_PR_DEVICE, NULL,
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 7826bdce4bbe..0048f1185a60 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -1128,13 +1128,6 @@ config FB_INTEL
1128 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets. 1128 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets.
1129 Say Y if you have and plan to use such a board. 1129 Say Y if you have and plan to use such a board.
1130 1130
1131 If you say Y here and want DDC/I2C support you must first say Y to
1132 "I2C support" and "I2C bit-banging support" in the character devices
1133 section.
1134
1135 If you say M here then "I2C support" and "I2C bit-banging support"
1136 can be build either as modules or built-in.
1137
1138 To compile this driver as a module, choose M here: the 1131 To compile this driver as a module, choose M here: the
1139 module will be called intelfb. 1132 module will be called intelfb.
1140 1133
@@ -1207,11 +1200,10 @@ config FB_MATROX_G
1207 pixel and 32 bpp packed pixel. You can also use font widths 1200 pixel and 32 bpp packed pixel. You can also use font widths
1208 different from 8. 1201 different from 8.
1209 1202
1210 If you need support for G400 secondary head, you must first say Y to 1203 If you need support for G400 secondary head, you must say Y to
1211 "I2C support" in the character devices section, and then to 1204 "Matrox I2C support" and "G400 second head support" right below.
1212 "Matrox I2C support" and "G400 second head support" here in the 1205 G450/G550 secondary head and digital output are supported without
1213 framebuffer section. G450/G550 secondary head and digital output 1206 additional modules.
1214 are supported without additional modules.
1215 1207
1216 The driver starts in monitor mode. You must use the matroxset tool 1208 The driver starts in monitor mode. You must use the matroxset tool
1217 (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to 1209 (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
@@ -1310,13 +1302,6 @@ config FB_RADEON
1310 a framebuffer device. There are both PCI and AGP versions. You 1302 a framebuffer device. There are both PCI and AGP versions. You
1311 don't need to choose this to run the Radeon in plain VGA mode. 1303 don't need to choose this to run the Radeon in plain VGA mode.
1312 1304
1313 If you say Y here and want DDC/I2C support you must first say Y to
1314 "I2C support" and "I2C bit-banging support" in the character devices
1315 section.
1316
1317 If you say M here then "I2C support" and "I2C bit-banging support"
1318 can be build either as modules or built-in.
1319
1320 There is a product page at 1305 There is a product page at
1321 http://apps.ati.com/ATIcompare/ 1306 http://apps.ati.com/ATIcompare/
1322 1307
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 0dbd6c68d76b..d8d0be5151e3 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -56,7 +56,6 @@ obj-$(CONFIG_FB_CT65550) += chipsfb.o
56obj-$(CONFIG_FB_IMSTT) += imsttfb.o 56obj-$(CONFIG_FB_IMSTT) += imsttfb.o
57obj-$(CONFIG_FB_FM2) += fm2fb.o 57obj-$(CONFIG_FB_FM2) += fm2fb.o
58obj-$(CONFIG_FB_VT8623) += vt8623fb.o 58obj-$(CONFIG_FB_VT8623) += vt8623fb.o
59obj-$(CONFIG_FB_CYBLA) += cyblafb.o
60obj-$(CONFIG_FB_TRIDENT) += tridentfb.o 59obj-$(CONFIG_FB_TRIDENT) += tridentfb.o
61obj-$(CONFIG_FB_LE80578) += vermilion/ 60obj-$(CONFIG_FB_LE80578) += vermilion/
62obj-$(CONFIG_FB_S3) += s3fb.o 61obj-$(CONFIG_FB_S3) += s3fb.o
diff --git a/drivers/video/cfbfillrect.c b/drivers/video/cfbfillrect.c
index 64b35766b2a2..ba9f58b2a5e8 100644
--- a/drivers/video/cfbfillrect.c
+++ b/drivers/video/cfbfillrect.c
@@ -9,10 +9,6 @@
9 * 9 *
10 * NOTES: 10 * NOTES:
11 * 11 *
12 * The code for depths like 24 that don't have integer number of pixels per
13 * long is broken and needs to be fixed. For now I turned these types of
14 * mode off.
15 *
16 * Also need to add code to deal with cards endians that are different than 12 * Also need to add code to deal with cards endians that are different than
17 * the native cpu endians. I also need to deal with MSB position in the word. 13 * the native cpu endians. I also need to deal with MSB position in the word.
18 * 14 *
@@ -139,7 +135,7 @@ bitfill_unaligned(struct fb_info *p, unsigned long __iomem *dst, int dst_idx,
139 135
140 // Trailing bits 136 // Trailing bits
141 if (last) 137 if (last)
142 FB_WRITEL(comp(pat, FB_READL(dst), first), dst); 138 FB_WRITEL(comp(pat, FB_READL(dst), last), dst);
143 } 139 }
144} 140}
145 141
@@ -281,7 +277,7 @@ bitfill_unaligned_rev(struct fb_info *p, unsigned long __iomem *dst,
281 277
282void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect) 278void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect)
283{ 279{
284 unsigned long pat, fg; 280 unsigned long pat, pat2, fg;
285 unsigned long width = rect->width, height = rect->height; 281 unsigned long width = rect->width, height = rect->height;
286 int bits = BITS_PER_LONG, bytes = bits >> 3; 282 int bits = BITS_PER_LONG, bytes = bits >> 3;
287 u32 bpp = p->var.bits_per_pixel; 283 u32 bpp = p->var.bits_per_pixel;
@@ -297,7 +293,7 @@ void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect)
297 else 293 else
298 fg = rect->color; 294 fg = rect->color;
299 295
300 pat = pixel_to_pat( bpp, fg); 296 pat = pixel_to_pat(bpp, fg);
301 297
302 dst = (unsigned long __iomem *)((unsigned long)p->screen_base & ~(bytes-1)); 298 dst = (unsigned long __iomem *)((unsigned long)p->screen_base & ~(bytes-1));
303 dst_idx = ((unsigned long)p->screen_base & (bytes - 1))*8; 299 dst_idx = ((unsigned long)p->screen_base & (bytes - 1))*8;
@@ -333,17 +329,16 @@ void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect)
333 dst_idx += p->fix.line_length*8; 329 dst_idx += p->fix.line_length*8;
334 } 330 }
335 } else { 331 } else {
336 int right; 332 int right, r;
337 int r;
338 int rot = (left-dst_idx) % bpp;
339 void (*fill_op)(struct fb_info *p, unsigned long __iomem *dst, 333 void (*fill_op)(struct fb_info *p, unsigned long __iomem *dst,
340 int dst_idx, unsigned long pat, int left, 334 int dst_idx, unsigned long pat, int left,
341 int right, unsigned n, int bits) = NULL; 335 int right, unsigned n, int bits) = NULL;
342 336#ifdef __LITTLE_ENDIAN
343 /* rotate pattern to correct start position */ 337 right = left;
344 pat = pat << rot | pat >> (bpp-rot); 338 left = bpp - right;
345 339#else
346 right = bpp-left; 340 right = bpp - left;
341#endif
347 switch (rect->rop) { 342 switch (rect->rop) {
348 case ROP_XOR: 343 case ROP_XOR:
349 fill_op = bitfill_unaligned_rev; 344 fill_op = bitfill_unaligned_rev;
@@ -352,17 +347,18 @@ void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect)
352 fill_op = bitfill_unaligned; 347 fill_op = bitfill_unaligned;
353 break; 348 break;
354 default: 349 default:
355 printk( KERN_ERR "cfb_fillrect(): unknown rop, defaulting to ROP_COPY\n"); 350 printk(KERN_ERR "cfb_fillrect(): unknown rop, defaulting to ROP_COPY\n");
356 fill_op = bitfill_unaligned; 351 fill_op = bitfill_unaligned;
357 break; 352 break;
358 } 353 }
359 while (height--) { 354 while (height--) {
360 dst += dst_idx >> (ffs(bits) - 1); 355 dst += dst_idx / bits;
361 dst_idx &= (bits - 1); 356 dst_idx &= (bits - 1);
362 fill_op(p, dst, dst_idx, pat, left, right, 357 r = dst_idx % bpp;
358 /* rotate pattern to the correct start position */
359 pat2 = le_long_to_cpu(rolx(cpu_to_le_long(pat), r, bpp));
360 fill_op(p, dst, dst_idx, pat2, left, right,
363 width*bpp, bits); 361 width*bpp, bits);
364 r = (p->fix.line_length*8) % bpp;
365 pat = pat << (bpp-r) | pat >> r;
366 dst_idx += p->fix.line_length*8; 362 dst_idx += p->fix.line_length*8;
367 } 363 }
368 } 364 }
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index d012edda6d11..38e86b84dce0 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -1282,7 +1282,7 @@ static int vgacon_font_get(struct vc_data *c, struct console_font *font)
1282 font->charcount = vga_512_chars ? 512 : 256; 1282 font->charcount = vga_512_chars ? 512 : 256;
1283 if (!font->data) 1283 if (!font->data)
1284 return 0; 1284 return 0;
1285 return vgacon_do_font_op(&state, font->data, 0, 0); 1285 return vgacon_do_font_op(&state, font->data, 0, vga_512_chars);
1286} 1286}
1287 1287
1288#else 1288#else
diff --git a/drivers/video/fb_draw.h b/drivers/video/fb_draw.h
index 1db622192bde..04c01faaf772 100644
--- a/drivers/video/fb_draw.h
+++ b/drivers/video/fb_draw.h
@@ -33,11 +33,11 @@ pixel_to_pat( u32 bpp, u32 pixel)
33 case 8: 33 case 8:
34 return 0x0101010101010101ul*pixel; 34 return 0x0101010101010101ul*pixel;
35 case 12: 35 case 12:
36 return 0x0001001001001001ul*pixel; 36 return 0x1001001001001001ul*pixel;
37 case 16: 37 case 16:
38 return 0x0001000100010001ul*pixel; 38 return 0x0001000100010001ul*pixel;
39 case 24: 39 case 24:
40 return 0x0000000001000001ul*pixel; 40 return 0x0001000001000001ul*pixel;
41 case 32: 41 case 32:
42 return 0x0000000100000001ul*pixel; 42 return 0x0000000100000001ul*pixel;
43 default: 43 default:
@@ -58,11 +58,11 @@ pixel_to_pat( u32 bpp, u32 pixel)
58 case 8: 58 case 8:
59 return 0x01010101ul*pixel; 59 return 0x01010101ul*pixel;
60 case 12: 60 case 12:
61 return 0x00001001ul*pixel; 61 return 0x01001001ul*pixel;
62 case 16: 62 case 16:
63 return 0x00010001ul*pixel; 63 return 0x00010001ul*pixel;
64 case 24: 64 case 24:
65 return 0x00000001ul*pixel; 65 return 0x01000001ul*pixel;
66 case 32: 66 case 32:
67 return 0x00000001ul*pixel; 67 return 0x00000001ul*pixel;
68 default: 68 default:
@@ -167,4 +167,17 @@ static inline unsigned long fb_rev_pixels_in_long(unsigned long val,
167 167
168#endif /* CONFIG_FB_CFB_REV_PIXELS_IN_BYTE */ 168#endif /* CONFIG_FB_CFB_REV_PIXELS_IN_BYTE */
169 169
170#define cpu_to_le_long _cpu_to_le_long(BITS_PER_LONG)
171#define _cpu_to_le_long(x) __cpu_to_le_long(x)
172#define __cpu_to_le_long(x) cpu_to_le##x
173
174#define le_long_to_cpu _le_long_to_cpu(BITS_PER_LONG)
175#define _le_long_to_cpu(x) __le_long_to_cpu(x)
176#define __le_long_to_cpu(x) le##x##_to_cpu
177
178static inline unsigned long rolx(unsigned long word, unsigned int shift, unsigned int x)
179{
180 return (word << shift) | (word >> (x - shift));
181}
182
170#endif /* FB_DRAW_H */ 183#endif /* FB_DRAW_H */
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c
index fe5b519860b1..1a83709f9611 100644
--- a/drivers/video/gbefb.c
+++ b/drivers/video/gbefb.c
@@ -75,7 +75,7 @@ struct gbefb_par {
75static unsigned int gbe_mem_size = CONFIG_FB_GBE_MEM * 1024*1024; 75static unsigned int gbe_mem_size = CONFIG_FB_GBE_MEM * 1024*1024;
76static void *gbe_mem; 76static void *gbe_mem;
77static dma_addr_t gbe_dma_addr; 77static dma_addr_t gbe_dma_addr;
78unsigned long gbe_mem_phys; 78static unsigned long gbe_mem_phys;
79 79
80static struct { 80static struct {
81 uint16_t *cpu; 81 uint16_t *cpu;
@@ -185,8 +185,8 @@ static struct fb_videomode default_mode_LCD __initdata = {
185 .vmode = FB_VMODE_NONINTERLACED, 185 .vmode = FB_VMODE_NONINTERLACED,
186}; 186};
187 187
188struct fb_videomode *default_mode __initdata = &default_mode_CRT; 188static struct fb_videomode *default_mode __initdata = &default_mode_CRT;
189struct fb_var_screeninfo *default_var __initdata = &default_var_CRT; 189static struct fb_var_screeninfo *default_var __initdata = &default_var_CRT;
190 190
191static int flat_panel_enabled = 0; 191static int flat_panel_enabled = 0;
192 192
@@ -205,7 +205,7 @@ static void gbe_reset(void)
205 * console. 205 * console.
206 */ 206 */
207 207
208void gbe_turn_off(void) 208static void gbe_turn_off(void)
209{ 209{
210 int i; 210 int i;
211 unsigned int val, x, y, vpixen_off; 211 unsigned int val, x, y, vpixen_off;
@@ -1097,7 +1097,7 @@ static void gbefb_create_sysfs(struct device *dev)
1097 * Initialization 1097 * Initialization
1098 */ 1098 */
1099 1099
1100int __init gbefb_setup(char *options) 1100static int __init gbefb_setup(char *options)
1101{ 1101{
1102 char *this_opt; 1102 char *this_opt;
1103 1103
@@ -1283,7 +1283,7 @@ static struct platform_driver gbefb_driver = {
1283 1283
1284static struct platform_device *gbefb_device; 1284static struct platform_device *gbefb_device;
1285 1285
1286int __init gbefb_init(void) 1286static int __init gbefb_init(void)
1287{ 1287{
1288 int ret = platform_driver_register(&gbefb_driver); 1288 int ret = platform_driver_register(&gbefb_driver);
1289 if (!ret) { 1289 if (!ret) {
@@ -1301,7 +1301,7 @@ int __init gbefb_init(void)
1301 return ret; 1301 return ret;
1302} 1302}
1303 1303
1304void __exit gbefb_exit(void) 1304static void __exit gbefb_exit(void)
1305{ 1305{
1306 platform_device_unregister(gbefb_device); 1306 platform_device_unregister(gbefb_device);
1307 platform_driver_unregister(&gbefb_driver); 1307 platform_driver_unregister(&gbefb_driver);
diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c
index 21b3692092f2..9894de1c9b9f 100644
--- a/drivers/video/mx3fb.c
+++ b/drivers/video/mx3fb.c
@@ -1152,11 +1152,11 @@ static struct fb_ops mx3fb_ops = {
1152 */ 1152 */
1153static int mx3fb_suspend(struct platform_device *pdev, pm_message_t state) 1153static int mx3fb_suspend(struct platform_device *pdev, pm_message_t state)
1154{ 1154{
1155 struct mx3fb_data *drv_data = platform_get_drvdata(pdev); 1155 struct mx3fb_data *mx3fb = platform_get_drvdata(pdev);
1156 struct mx3fb_info *mx3_fbi = drv_data->fbi->par; 1156 struct mx3fb_info *mx3_fbi = mx3fb->fbi->par;
1157 1157
1158 acquire_console_sem(); 1158 acquire_console_sem();
1159 fb_set_suspend(drv_data->fbi, 1); 1159 fb_set_suspend(mx3fb->fbi, 1);
1160 release_console_sem(); 1160 release_console_sem();
1161 1161
1162 if (mx3_fbi->blank == FB_BLANK_UNBLANK) { 1162 if (mx3_fbi->blank == FB_BLANK_UNBLANK) {
@@ -1172,16 +1172,16 @@ static int mx3fb_suspend(struct platform_device *pdev, pm_message_t state)
1172 */ 1172 */
1173static int mx3fb_resume(struct platform_device *pdev) 1173static int mx3fb_resume(struct platform_device *pdev)
1174{ 1174{
1175 struct mx3fb_data *drv_data = platform_get_drvdata(pdev); 1175 struct mx3fb_data *mx3fb = platform_get_drvdata(pdev);
1176 struct mx3fb_info *mx3_fbi = drv_data->fbi->par; 1176 struct mx3fb_info *mx3_fbi = mx3fb->fbi->par;
1177 1177
1178 if (mx3_fbi->blank == FB_BLANK_UNBLANK) { 1178 if (mx3_fbi->blank == FB_BLANK_UNBLANK) {
1179 sdc_enable_channel(mx3_fbi); 1179 sdc_enable_channel(mx3_fbi);
1180 sdc_set_brightness(mx3fb, drv_data->backlight_level); 1180 sdc_set_brightness(mx3fb, mx3fb->backlight_level);
1181 } 1181 }
1182 1182
1183 acquire_console_sem(); 1183 acquire_console_sem();
1184 fb_set_suspend(drv_data->fbi, 0); 1184 fb_set_suspend(mx3fb->fbi, 0);
1185 release_console_sem(); 1185 release_console_sem();
1186 1186
1187 return 0; 1187 return 0;
diff --git a/drivers/video/sysfillrect.c b/drivers/video/sysfillrect.c
index f94d6b6e29ee..33ee3d34f9d2 100644
--- a/drivers/video/sysfillrect.c
+++ b/drivers/video/sysfillrect.c
@@ -124,7 +124,7 @@ bitfill_unaligned(struct fb_info *p, unsigned long *dst, int dst_idx,
124 124
125 /* Trailing bits */ 125 /* Trailing bits */
126 if (last) 126 if (last)
127 *dst = comp(pat, *dst, first); 127 *dst = comp(pat, *dst, last);
128 } 128 }
129} 129}
130 130
@@ -242,7 +242,7 @@ bitfill_unaligned_rev(struct fb_info *p, unsigned long *dst, int dst_idx,
242 242
243void sys_fillrect(struct fb_info *p, const struct fb_fillrect *rect) 243void sys_fillrect(struct fb_info *p, const struct fb_fillrect *rect)
244{ 244{
245 unsigned long pat, fg; 245 unsigned long pat, pat2, fg;
246 unsigned long width = rect->width, height = rect->height; 246 unsigned long width = rect->width, height = rect->height;
247 int bits = BITS_PER_LONG, bytes = bits >> 3; 247 int bits = BITS_PER_LONG, bytes = bits >> 3;
248 u32 bpp = p->var.bits_per_pixel; 248 u32 bpp = p->var.bits_per_pixel;
@@ -292,17 +292,16 @@ void sys_fillrect(struct fb_info *p, const struct fb_fillrect *rect)
292 dst_idx += p->fix.line_length*8; 292 dst_idx += p->fix.line_length*8;
293 } 293 }
294 } else { 294 } else {
295 int right; 295 int right, r;
296 int r;
297 int rot = (left-dst_idx) % bpp;
298 void (*fill_op)(struct fb_info *p, unsigned long *dst, 296 void (*fill_op)(struct fb_info *p, unsigned long *dst,
299 int dst_idx, unsigned long pat, int left, 297 int dst_idx, unsigned long pat, int left,
300 int right, unsigned n, int bits) = NULL; 298 int right, unsigned n, int bits) = NULL;
301 299#ifdef __LITTLE_ENDIAN
302 /* rotate pattern to correct start position */ 300 right = left;
303 pat = pat << rot | pat >> (bpp-rot); 301 left = bpp - right;
304 302#else
305 right = bpp-left; 303 right = bpp - left;
304#endif
306 switch (rect->rop) { 305 switch (rect->rop) {
307 case ROP_XOR: 306 case ROP_XOR:
308 fill_op = bitfill_unaligned_rev; 307 fill_op = bitfill_unaligned_rev;
@@ -311,18 +310,19 @@ void sys_fillrect(struct fb_info *p, const struct fb_fillrect *rect)
311 fill_op = bitfill_unaligned; 310 fill_op = bitfill_unaligned;
312 break; 311 break;
313 default: 312 default:
314 printk(KERN_ERR "cfb_fillrect(): unknown rop, " 313 printk(KERN_ERR "sys_fillrect(): unknown rop, "
315 "defaulting to ROP_COPY\n"); 314 "defaulting to ROP_COPY\n");
316 fill_op = bitfill_unaligned; 315 fill_op = bitfill_unaligned;
317 break; 316 break;
318 } 317 }
319 while (height--) { 318 while (height--) {
320 dst += dst_idx >> (ffs(bits) - 1); 319 dst += dst_idx / bits;
321 dst_idx &= (bits - 1); 320 dst_idx &= (bits - 1);
322 fill_op(p, dst, dst_idx, pat, left, right, 321 r = dst_idx % bpp;
322 /* rotate pattern to the correct start position */
323 pat2 = le_long_to_cpu(rolx(cpu_to_le_long(pat), r, bpp));
324 fill_op(p, dst, dst_idx, pat2, left, right,
323 width*bpp, bits); 325 width*bpp, bits);
324 r = (p->fix.line_length*8) % bpp;
325 pat = pat << (bpp-r) | pat >> r;
326 dst_idx += p->fix.line_length*8; 326 dst_idx += p->fix.line_length*8;
327 } 327 }
328 } 328 }
diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c
index e327b84820d2..a0fec298216e 100644
--- a/drivers/video/via/viafbdev.c
+++ b/drivers/video/via/viafbdev.c
@@ -2103,7 +2103,7 @@ static void viafb_remove_proc(struct proc_dir_entry *viafb_entry)
2103 2103
2104static int __devinit via_pci_probe(void) 2104static int __devinit via_pci_probe(void)
2105{ 2105{
2106 unsigned int default_xres, default_yres; 2106 unsigned long default_xres, default_yres;
2107 char *tmpc, *tmpm; 2107 char *tmpc, *tmpm;
2108 char *tmpc_sec, *tmpm_sec; 2108 char *tmpc_sec, *tmpm_sec;
2109 int vmode_index; 2109 int vmode_index;
@@ -2196,8 +2196,8 @@ static int __devinit via_pci_probe(void)
2196 viafb_FB_MM = viaparinfo->fbmem_virt; 2196 viafb_FB_MM = viaparinfo->fbmem_virt;
2197 tmpm = viafb_mode; 2197 tmpm = viafb_mode;
2198 tmpc = strsep(&tmpm, "x"); 2198 tmpc = strsep(&tmpm, "x");
2199 strict_strtoul(tmpc, 0, (unsigned long *)&default_xres); 2199 strict_strtoul(tmpc, 0, &default_xres);
2200 strict_strtoul(tmpm, 0, (unsigned long *)&default_yres); 2200 strict_strtoul(tmpm, 0, &default_yres);
2201 2201
2202 vmode_index = viafb_get_mode_index(default_xres, default_yres, 0); 2202 vmode_index = viafb_get_mode_index(default_xres, default_yres, 0);
2203 DEBUG_MSG(KERN_INFO "0->index=%d\n", vmode_index); 2203 DEBUG_MSG(KERN_INFO "0->index=%d\n", vmode_index);
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index efa4b363ce72..f5bbd9e83416 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -513,7 +513,8 @@ static ssize_t show_target(struct sys_device *dev, struct sysdev_attribute *attr
513 char *buf) 513 char *buf)
514{ 514{
515 return sprintf(buf, "%llu\n", 515 return sprintf(buf, "%llu\n",
516 (u64)balloon_stats.target_pages << PAGE_SHIFT); 516 (unsigned long long)balloon_stats.target_pages
517 << PAGE_SHIFT);
517} 518}
518 519
519static ssize_t store_target(struct sys_device *dev, 520static ssize_t store_target(struct sys_device *dev,
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c
index 5f8ab8adb5f5..ab5547ff29a1 100644
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -37,6 +37,7 @@
37#include <linux/mount.h> 37#include <linux/mount.h>
38#include <linux/idr.h> 38#include <linux/idr.h>
39#include <linux/sched.h> 39#include <linux/sched.h>
40#include <linux/smp_lock.h>
40#include <net/9p/9p.h> 41#include <net/9p/9p.h>
41#include <net/9p/client.h> 42#include <net/9p/client.h>
42 43
@@ -155,6 +156,7 @@ static int v9fs_get_sb(struct file_system_type *fs_type, int flags,
155 156
156 root = d_alloc_root(inode); 157 root = d_alloc_root(inode);
157 if (!root) { 158 if (!root) {
159 iput(inode);
158 retval = -ENOMEM; 160 retval = -ENOMEM;
159 goto release_sb; 161 goto release_sb;
160 } 162 }
@@ -173,10 +175,7 @@ P9_DPRINTK(P9_DEBUG_VFS, " simple set mount, return 0\n");
173 return 0; 175 return 0;
174 176
175release_sb: 177release_sb:
176 if (sb) { 178 deactivate_locked_super(sb);
177 up_write(&sb->s_umount);
178 deactivate_super(sb);
179 }
180 179
181free_stat: 180free_stat:
182 kfree(st); 181 kfree(st);
@@ -230,9 +229,12 @@ static int v9fs_show_options(struct seq_file *m, struct vfsmount *mnt)
230static void 229static void
231v9fs_umount_begin(struct super_block *sb) 230v9fs_umount_begin(struct super_block *sb)
232{ 231{
233 struct v9fs_session_info *v9ses = sb->s_fs_info; 232 struct v9fs_session_info *v9ses;
234 233
234 lock_kernel();
235 v9ses = sb->s_fs_info;
235 v9fs_session_cancel(v9ses); 236 v9fs_session_cancel(v9ses);
237 unlock_kernel();
236} 238}
237 239
238static const struct super_operations v9fs_super_ops = { 240static const struct super_operations v9fs_super_ops = {
diff --git a/fs/affs/super.c b/fs/affs/super.c
index 5ce695e707fe..63f5183f263b 100644
--- a/fs/affs/super.c
+++ b/fs/affs/super.c
@@ -507,8 +507,7 @@ affs_remount(struct super_block *sb, int *flags, char *data)
507 kfree(new_opts); 507 kfree(new_opts);
508 return -EINVAL; 508 return -EINVAL;
509 } 509 }
510 kfree(sb->s_options); 510 replace_mount_options(sb, new_opts);
511 sb->s_options = new_opts;
512 511
513 sbi->s_flags = mount_flags; 512 sbi->s_flags = mount_flags;
514 sbi->s_mode = mode; 513 sbi->s_mode = mode;
diff --git a/fs/afs/super.c b/fs/afs/super.c
index aee239a048cb..76828e5f8a39 100644
--- a/fs/afs/super.c
+++ b/fs/afs/super.c
@@ -405,21 +405,20 @@ static int afs_get_sb(struct file_system_type *fs_type,
405 sb->s_flags = flags; 405 sb->s_flags = flags;
406 ret = afs_fill_super(sb, &params); 406 ret = afs_fill_super(sb, &params);
407 if (ret < 0) { 407 if (ret < 0) {
408 up_write(&sb->s_umount); 408 deactivate_locked_super(sb);
409 deactivate_super(sb);
410 goto error; 409 goto error;
411 } 410 }
412 sb->s_options = new_opts; 411 save_mount_options(sb, new_opts);
413 sb->s_flags |= MS_ACTIVE; 412 sb->s_flags |= MS_ACTIVE;
414 } else { 413 } else {
415 _debug("reuse"); 414 _debug("reuse");
416 kfree(new_opts);
417 ASSERTCMP(sb->s_flags, &, MS_ACTIVE); 415 ASSERTCMP(sb->s_flags, &, MS_ACTIVE);
418 } 416 }
419 417
420 simple_set_mnt(mnt, sb); 418 simple_set_mnt(mnt, sb);
421 afs_put_volume(params.volume); 419 afs_put_volume(params.volume);
422 afs_put_cell(params.cell); 420 afs_put_cell(params.cell);
421 kfree(new_opts);
423 _leave(" = 0 [%p]", sb); 422 _leave(" = 0 [%p]", sb);
424 return 0; 423 return 0;
425 424
diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c
index 75f7ddacf7d6..3077d8f16523 100644
--- a/fs/autofs4/expire.c
+++ b/fs/autofs4/expire.c
@@ -70,8 +70,10 @@ static int autofs4_mount_busy(struct vfsmount *mnt, struct dentry *dentry)
70 * Otherwise it's an offset mount and we need to check 70 * Otherwise it's an offset mount and we need to check
71 * if we can umount its mount, if there is one. 71 * if we can umount its mount, if there is one.
72 */ 72 */
73 if (!d_mountpoint(dentry)) 73 if (!d_mountpoint(dentry)) {
74 status = 0;
74 goto done; 75 goto done;
76 }
75 } 77 }
76 78
77 /* Update the expiry counter if fs is busy */ 79 /* Update the expiry counter if fs is busy */
diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index 70cfc4b84ae0..fdb66faa24f1 100644
--- a/fs/binfmt_elf_fdpic.c
+++ b/fs/binfmt_elf_fdpic.c
@@ -1388,7 +1388,7 @@ static void fill_prstatus(struct elf_prstatus *prstatus,
1388 prstatus->pr_sigpend = p->pending.signal.sig[0]; 1388 prstatus->pr_sigpend = p->pending.signal.sig[0];
1389 prstatus->pr_sighold = p->blocked.sig[0]; 1389 prstatus->pr_sighold = p->blocked.sig[0];
1390 prstatus->pr_pid = task_pid_vnr(p); 1390 prstatus->pr_pid = task_pid_vnr(p);
1391 prstatus->pr_ppid = task_pid_vnr(p->parent); 1391 prstatus->pr_ppid = task_pid_vnr(p->real_parent);
1392 prstatus->pr_pgrp = task_pgrp_vnr(p); 1392 prstatus->pr_pgrp = task_pgrp_vnr(p);
1393 prstatus->pr_sid = task_session_vnr(p); 1393 prstatus->pr_sid = task_session_vnr(p);
1394 if (thread_group_leader(p)) { 1394 if (thread_group_leader(p)) {
@@ -1433,7 +1433,7 @@ static int fill_psinfo(struct elf_prpsinfo *psinfo, struct task_struct *p,
1433 psinfo->pr_psargs[len] = 0; 1433 psinfo->pr_psargs[len] = 0;
1434 1434
1435 psinfo->pr_pid = task_pid_vnr(p); 1435 psinfo->pr_pid = task_pid_vnr(p);
1436 psinfo->pr_ppid = task_pid_vnr(p->parent); 1436 psinfo->pr_ppid = task_pid_vnr(p->real_parent);
1437 psinfo->pr_pgrp = task_pgrp_vnr(p); 1437 psinfo->pr_pgrp = task_pgrp_vnr(p);
1438 psinfo->pr_sid = task_session_vnr(p); 1438 psinfo->pr_sid = task_session_vnr(p);
1439 1439
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index a99f1c2a710d..fedf8b9f03a2 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -1469,6 +1469,7 @@ read_block_for_search(struct btrfs_trans_handle *trans,
1469 u32 blocksize; 1469 u32 blocksize;
1470 struct extent_buffer *b = *eb_ret; 1470 struct extent_buffer *b = *eb_ret;
1471 struct extent_buffer *tmp; 1471 struct extent_buffer *tmp;
1472 int ret;
1472 1473
1473 blocknr = btrfs_node_blockptr(b, slot); 1474 blocknr = btrfs_node_blockptr(b, slot);
1474 gen = btrfs_node_ptr_generation(b, slot); 1475 gen = btrfs_node_ptr_generation(b, slot);
@@ -1476,6 +1477,10 @@ read_block_for_search(struct btrfs_trans_handle *trans,
1476 1477
1477 tmp = btrfs_find_tree_block(root, blocknr, blocksize); 1478 tmp = btrfs_find_tree_block(root, blocknr, blocksize);
1478 if (tmp && btrfs_buffer_uptodate(tmp, gen)) { 1479 if (tmp && btrfs_buffer_uptodate(tmp, gen)) {
1480 /*
1481 * we found an up to date block without sleeping, return
1482 * right away
1483 */
1479 *eb_ret = tmp; 1484 *eb_ret = tmp;
1480 return 0; 1485 return 0;
1481 } 1486 }
@@ -1483,7 +1488,9 @@ read_block_for_search(struct btrfs_trans_handle *trans,
1483 /* 1488 /*
1484 * reduce lock contention at high levels 1489 * reduce lock contention at high levels
1485 * of the btree by dropping locks before 1490 * of the btree by dropping locks before
1486 * we read. 1491 * we read. Don't release the lock on the current
1492 * level because we need to walk this node to figure
1493 * out which blocks to read.
1487 */ 1494 */
1488 btrfs_unlock_up_safe(p, level + 1); 1495 btrfs_unlock_up_safe(p, level + 1);
1489 btrfs_set_path_blocking(p); 1496 btrfs_set_path_blocking(p);
@@ -1494,10 +1501,21 @@ read_block_for_search(struct btrfs_trans_handle *trans,
1494 reada_for_search(root, p, level, slot, key->objectid); 1501 reada_for_search(root, p, level, slot, key->objectid);
1495 1502
1496 btrfs_release_path(NULL, p); 1503 btrfs_release_path(NULL, p);
1504
1505 ret = -EAGAIN;
1497 tmp = read_tree_block(root, blocknr, blocksize, gen); 1506 tmp = read_tree_block(root, blocknr, blocksize, gen);
1498 if (tmp) 1507 if (tmp) {
1508 /*
1509 * If the read above didn't mark this buffer up to date,
1510 * it will never end up being up to date. Set ret to EIO now
1511 * and give up so that our caller doesn't loop forever
1512 * on our EAGAINs.
1513 */
1514 if (!btrfs_buffer_uptodate(tmp, 0))
1515 ret = -EIO;
1499 free_extent_buffer(tmp); 1516 free_extent_buffer(tmp);
1500 return -EAGAIN; 1517 }
1518 return ret;
1501} 1519}
1502 1520
1503/* 1521/*
@@ -1696,6 +1714,9 @@ cow_done:
1696 if (ret == -EAGAIN) 1714 if (ret == -EAGAIN)
1697 goto again; 1715 goto again;
1698 1716
1717 if (ret == -EIO)
1718 goto done;
1719
1699 if (!p->skip_locking) { 1720 if (!p->skip_locking) {
1700 int lret; 1721 int lret;
1701 1722
@@ -1738,6 +1759,8 @@ done:
1738 */ 1759 */
1739 if (!p->leave_spinning) 1760 if (!p->leave_spinning)
1740 btrfs_set_path_blocking(p); 1761 btrfs_set_path_blocking(p);
1762 if (ret < 0)
1763 btrfs_release_path(root, p);
1741 return ret; 1764 return ret;
1742} 1765}
1743 1766
@@ -4212,6 +4235,11 @@ again:
4212 if (ret == -EAGAIN) 4235 if (ret == -EAGAIN)
4213 goto again; 4236 goto again;
4214 4237
4238 if (ret < 0) {
4239 btrfs_release_path(root, path);
4240 goto done;
4241 }
4242
4215 if (!path->skip_locking) { 4243 if (!path->skip_locking) {
4216 ret = btrfs_try_spin_lock(next); 4244 ret = btrfs_try_spin_lock(next);
4217 if (!ret) { 4245 if (!ret) {
@@ -4246,6 +4274,11 @@ again:
4246 if (ret == -EAGAIN) 4274 if (ret == -EAGAIN)
4247 goto again; 4275 goto again;
4248 4276
4277 if (ret < 0) {
4278 btrfs_release_path(root, path);
4279 goto done;
4280 }
4281
4249 if (!path->skip_locking) { 4282 if (!path->skip_locking) {
4250 btrfs_assert_tree_locked(path->nodes[level]); 4283 btrfs_assert_tree_locked(path->nodes[level]);
4251 ret = btrfs_try_spin_lock(next); 4284 ret = btrfs_try_spin_lock(next);
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 0ff16d3331da..4b0ea0b80c23 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -848,8 +848,6 @@ struct extent_buffer *read_tree_block(struct btrfs_root *root, u64 bytenr,
848 848
849 if (ret == 0) 849 if (ret == 0)
850 set_bit(EXTENT_BUFFER_UPTODATE, &buf->bflags); 850 set_bit(EXTENT_BUFFER_UPTODATE, &buf->bflags);
851 else
852 WARN_ON(1);
853 return buf; 851 return buf;
854 852
855} 853}
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index e4966444811b..3e2c7c738f23 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -312,7 +312,7 @@ btrfs_lookup_first_block_group(struct btrfs_fs_info *info, u64 bytenr)
312} 312}
313 313
314/* 314/*
315 * return the block group that contains teh given bytenr 315 * return the block group that contains the given bytenr
316 */ 316 */
317struct btrfs_block_group_cache *btrfs_lookup_block_group( 317struct btrfs_block_group_cache *btrfs_lookup_block_group(
318 struct btrfs_fs_info *info, 318 struct btrfs_fs_info *info,
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 90c23eb28829..1c8b0190d031 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3122,6 +3122,7 @@ static noinline void init_btrfs_i(struct inode *inode)
3122 bi->flags = 0; 3122 bi->flags = 0;
3123 bi->index_cnt = (u64)-1; 3123 bi->index_cnt = (u64)-1;
3124 bi->last_unlink_trans = 0; 3124 bi->last_unlink_trans = 0;
3125 bi->ordered_data_close = 0;
3125 extent_map_tree_init(&BTRFS_I(inode)->extent_tree, GFP_NOFS); 3126 extent_map_tree_init(&BTRFS_I(inode)->extent_tree, GFP_NOFS);
3126 extent_io_tree_init(&BTRFS_I(inode)->io_tree, 3127 extent_io_tree_init(&BTRFS_I(inode)->io_tree,
3127 inode->i_mapping, GFP_NOFS); 3128 inode->i_mapping, GFP_NOFS);
@@ -4295,7 +4296,6 @@ out:
4295 } 4296 }
4296 if (err) { 4297 if (err) {
4297 free_extent_map(em); 4298 free_extent_map(em);
4298 WARN_ON(1);
4299 return ERR_PTR(err); 4299 return ERR_PTR(err);
4300 } 4300 }
4301 return em; 4301 return em;
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 5e94ea6e1cbe..2624b53ea783 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -437,10 +437,6 @@ out_unlock:
437 return 0; 437 return 0;
438} 438}
439 439
440/*
441 * Called inside transaction, so use GFP_NOFS
442 */
443
444static int btrfs_ioctl_resize(struct btrfs_root *root, void __user *arg) 440static int btrfs_ioctl_resize(struct btrfs_root *root, void __user *arg)
445{ 441{
446 u64 new_size; 442 u64 new_size;
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 3536bdb2d7cb..2ff7cd2db25f 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -436,9 +436,9 @@ static int btrfs_show_options(struct seq_file *seq, struct vfsmount *vfs)
436 if (btrfs_test_opt(root, SSD)) 436 if (btrfs_test_opt(root, SSD))
437 seq_puts(seq, ",ssd"); 437 seq_puts(seq, ",ssd");
438 if (btrfs_test_opt(root, NOTREELOG)) 438 if (btrfs_test_opt(root, NOTREELOG))
439 seq_puts(seq, ",no-treelog"); 439 seq_puts(seq, ",notreelog");
440 if (btrfs_test_opt(root, FLUSHONCOMMIT)) 440 if (btrfs_test_opt(root, FLUSHONCOMMIT))
441 seq_puts(seq, ",flush-on-commit"); 441 seq_puts(seq, ",flushoncommit");
442 if (!(root->fs_info->sb->s_flags & MS_POSIXACL)) 442 if (!(root->fs_info->sb->s_flags & MS_POSIXACL))
443 seq_puts(seq, ",noacl"); 443 seq_puts(seq, ",noacl");
444 return 0; 444 return 0;
@@ -502,8 +502,7 @@ static int btrfs_get_sb(struct file_system_type *fs_type, int flags,
502 502
503 if (s->s_root) { 503 if (s->s_root) {
504 if ((flags ^ s->s_flags) & MS_RDONLY) { 504 if ((flags ^ s->s_flags) & MS_RDONLY) {
505 up_write(&s->s_umount); 505 deactivate_locked_super(s);
506 deactivate_super(s);
507 error = -EBUSY; 506 error = -EBUSY;
508 goto error_close_devices; 507 goto error_close_devices;
509 } 508 }
@@ -517,8 +516,7 @@ static int btrfs_get_sb(struct file_system_type *fs_type, int flags,
517 error = btrfs_fill_super(s, fs_devices, data, 516 error = btrfs_fill_super(s, fs_devices, data,
518 flags & MS_SILENT ? 1 : 0); 517 flags & MS_SILENT ? 1 : 0);
519 if (error) { 518 if (error) {
520 up_write(&s->s_umount); 519 deactivate_locked_super(s);
521 deactivate_super(s);
522 goto error_free_subvol_name; 520 goto error_free_subvol_name;
523 } 521 }
524 522
@@ -535,15 +533,13 @@ static int btrfs_get_sb(struct file_system_type *fs_type, int flags,
535 mutex_unlock(&s->s_root->d_inode->i_mutex); 533 mutex_unlock(&s->s_root->d_inode->i_mutex);
536 534
537 if (IS_ERR(root)) { 535 if (IS_ERR(root)) {
538 up_write(&s->s_umount); 536 deactivate_locked_super(s);
539 deactivate_super(s);
540 error = PTR_ERR(root); 537 error = PTR_ERR(root);
541 goto error_free_subvol_name; 538 goto error_free_subvol_name;
542 } 539 }
543 if (!root->d_inode) { 540 if (!root->d_inode) {
544 dput(root); 541 dput(root);
545 up_write(&s->s_umount); 542 deactivate_locked_super(s);
546 deactivate_super(s);
547 error = -ENXIO; 543 error = -ENXIO;
548 goto error_free_subvol_name; 544 goto error_free_subvol_name;
549 } 545 }
diff --git a/fs/buffer.c b/fs/buffer.c
index b3e5be7514f5..aed297739eb0 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2397,7 +2397,8 @@ block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
2397 if ((page->mapping != inode->i_mapping) || 2397 if ((page->mapping != inode->i_mapping) ||
2398 (page_offset(page) > size)) { 2398 (page_offset(page) > size)) {
2399 /* page got truncated out from underneath us */ 2399 /* page got truncated out from underneath us */
2400 goto out_unlock; 2400 unlock_page(page);
2401 goto out;
2401 } 2402 }
2402 2403
2403 /* page is wholly or partially inside EOF */ 2404 /* page is wholly or partially inside EOF */
@@ -2411,14 +2412,15 @@ block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
2411 ret = block_commit_write(page, 0, end); 2412 ret = block_commit_write(page, 0, end);
2412 2413
2413 if (unlikely(ret)) { 2414 if (unlikely(ret)) {
2415 unlock_page(page);
2414 if (ret == -ENOMEM) 2416 if (ret == -ENOMEM)
2415 ret = VM_FAULT_OOM; 2417 ret = VM_FAULT_OOM;
2416 else /* -ENOSPC, -EIO, etc */ 2418 else /* -ENOSPC, -EIO, etc */
2417 ret = VM_FAULT_SIGBUS; 2419 ret = VM_FAULT_SIGBUS;
2418 } 2420 } else
2421 ret = VM_FAULT_LOCKED;
2419 2422
2420out_unlock: 2423out:
2421 unlock_page(page);
2422 return ret; 2424 return ret;
2423} 2425}
2424 2426
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES
index 9d1fb6ec8a5a..f20c4069c220 100644
--- a/fs/cifs/CHANGES
+++ b/fs/cifs/CHANGES
@@ -1,3 +1,16 @@
1Version 1.58
2------------
3Guard against buffer overruns in various UCS-2 to UTF-8 string conversions
4when the UTF-8 string is composed of unusually long (more than 4 byte) converted
5characters. Add support for mounting root of a share which redirects immediately
6to DFS target. Convert string conversion functions from Unicode to more
7accurately mark string length before allocating memory (which may help the
8rare cases where a UTF-8 string is much larger than the UCS2 string that
9we converted from). Fix endianness of the vcnum field used during
10session setup to distinguish multiple mounts to same server from different
11userids. Raw NTLMSSP fixed (it requires /proc/fs/cifs/experimental
12flag to be set to 2, and mount must enable krb5 to turn on extended security).
13
1Version 1.57 14Version 1.57
2------------ 15------------
3Improve support for multiple security contexts to the same server. We 16Improve support for multiple security contexts to the same server. We
diff --git a/fs/cifs/README b/fs/cifs/README
index 07434181623b..db208ddb9899 100644
--- a/fs/cifs/README
+++ b/fs/cifs/README
@@ -651,7 +651,15 @@ Experimental When set to 1 used to enable certain experimental
651 signing turned on in case buffer was modified 651 signing turned on in case buffer was modified
652 just before it was sent, also this flag will 652 just before it was sent, also this flag will
653 be used to use the new experimental directory change 653 be used to use the new experimental directory change
654 notification code). 654 notification code). When set to 2 enables
655 an additional experimental feature, "raw ntlmssp"
656 session establishment support (which allows
657 specifying "sec=ntlmssp" on mount). The Linux cifs
658 module will use ntlmv2 authentication encapsulated
659 in "raw ntlmssp" (not using SPNEGO) when
660 "sec=ntlmssp" is specified on mount.
661 This support also requires building cifs with
662 the CONFIG_CIFS_EXPERIMENTAL configuration flag.
655 663
656These experimental features and tracing can be enabled by changing flags in 664These experimental features and tracing can be enabled by changing flags in
657/proc/fs/cifs (after the cifs module has been installed or built into the 665/proc/fs/cifs (after the cifs module has been installed or built into the
diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c
index 5fdbf8a14472..83d62759c7c7 100644
--- a/fs/cifs/cifs_dfs_ref.c
+++ b/fs/cifs/cifs_dfs_ref.c
@@ -340,28 +340,24 @@ cifs_dfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd)
340 cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); 340 cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
341 341
342 for (i = 0; i < num_referrals; i++) { 342 for (i = 0; i < num_referrals; i++) {
343 int len;
343 dump_referral(referrals+i); 344 dump_referral(referrals+i);
344 /* connect to a storage node */ 345 /* connect to a node */
345 if (referrals[i].flags & DFSREF_STORAGE_SERVER) { 346 len = strlen(referrals[i].node_name);
346 int len; 347 if (len < 2) {
347 len = strlen(referrals[i].node_name); 348 cERROR(1, ("%s: Net Address path too short: %s",
348 if (len < 2) {
349 cERROR(1, ("%s: Net Address path too short: %s",
350 __func__, referrals[i].node_name)); 349 __func__, referrals[i].node_name));
351 rc = -EINVAL; 350 rc = -EINVAL;
352 goto out_err; 351 goto out_err;
353 } 352 }
354 mnt = cifs_dfs_do_refmount(nd->path.mnt, 353 mnt = cifs_dfs_do_refmount(nd->path.mnt,
355 nd->path.dentry, 354 nd->path.dentry, referrals + i);
356 referrals + i); 355 cFYI(1, ("%s: cifs_dfs_do_refmount:%s , mnt:%p", __func__,
357 cFYI(1, ("%s: cifs_dfs_do_refmount:%s , mnt:%p",
358 __func__,
359 referrals[i].node_name, mnt)); 356 referrals[i].node_name, mnt));
360 357
361 /* complete mount procedure if we accured submount */ 358 /* complete mount procedure if we accured submount */
362 if (!IS_ERR(mnt)) 359 if (!IS_ERR(mnt))
363 break; 360 break;
364 }
365 } 361 }
366 362
367 /* we need it cause for() above could exit without valid submount */ 363 /* we need it cause for() above could exit without valid submount */
diff --git a/fs/cifs/cifs_unicode.c b/fs/cifs/cifs_unicode.c
index 7d75272a6b3f..60e3c4253de0 100644
--- a/fs/cifs/cifs_unicode.c
+++ b/fs/cifs/cifs_unicode.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * fs/cifs/cifs_unicode.c 2 * fs/cifs/cifs_unicode.c
3 * 3 *
4 * Copyright (c) International Business Machines Corp., 2000,2005 4 * Copyright (c) International Business Machines Corp., 2000,2009
5 * Modified by Steve French (sfrench@us.ibm.com) 5 * Modified by Steve French (sfrench@us.ibm.com)
6 * 6 *
7 * This program is free software; you can redistribute it and/or modify 7 * This program is free software; you can redistribute it and/or modify
@@ -26,31 +26,157 @@
26#include "cifs_debug.h" 26#include "cifs_debug.h"
27 27
28/* 28/*
29 * NAME: cifs_strfromUCS() 29 * cifs_ucs2_bytes - how long will a string be after conversion?
30 * 30 * @ucs - pointer to input string
31 * FUNCTION: Convert little-endian unicode string to character string 31 * @maxbytes - don't go past this many bytes of input string
32 * @codepage - destination codepage
32 * 33 *
34 * Walk a ucs2le string and return the number of bytes that the string will
35 * be after being converted to the given charset, not including any null
36 * termination required. Don't walk past maxbytes in the source buffer.
33 */ 37 */
34int 38int
35cifs_strfromUCS_le(char *to, const __le16 *from, 39cifs_ucs2_bytes(const __le16 *from, int maxbytes,
36 int len, const struct nls_table *codepage) 40 const struct nls_table *codepage)
37{ 41{
38 int i; 42 int i;
39 int outlen = 0; 43 int charlen, outlen = 0;
44 int maxwords = maxbytes / 2;
45 char tmp[NLS_MAX_CHARSET_SIZE];
40 46
41 for (i = 0; (i < len) && from[i]; i++) { 47 for (i = 0; from[i] && i < maxwords; i++) {
42 int charlen; 48 charlen = codepage->uni2char(le16_to_cpu(from[i]), tmp,
43 /* 2.4.0 kernel or greater */ 49 NLS_MAX_CHARSET_SIZE);
44 charlen = 50 if (charlen > 0)
45 codepage->uni2char(le16_to_cpu(from[i]), &to[outlen],
46 NLS_MAX_CHARSET_SIZE);
47 if (charlen > 0) {
48 outlen += charlen; 51 outlen += charlen;
49 } else { 52 else
50 to[outlen++] = '?'; 53 outlen++;
54 }
55
56 return outlen;
57}
58
59/*
60 * cifs_mapchar - convert a little-endian char to proper char in codepage
61 * @target - where converted character should be copied
62 * @src_char - 2 byte little-endian source character
63 * @cp - codepage to which character should be converted
64 * @mapchar - should character be mapped according to mapchars mount option?
65 *
66 * This function handles the conversion of a single character. It is the
67 * responsibility of the caller to ensure that the target buffer is large
68 * enough to hold the result of the conversion (at least NLS_MAX_CHARSET_SIZE).
69 */
70static int
71cifs_mapchar(char *target, const __le16 src_char, const struct nls_table *cp,
72 bool mapchar)
73{
74 int len = 1;
75
76 if (!mapchar)
77 goto cp_convert;
78
79 /*
80 * BB: Cannot handle remapping UNI_SLASH until all the calls to
81 * build_path_from_dentry are modified, as they use slash as
82 * separator.
83 */
84 switch (le16_to_cpu(src_char)) {
85 case UNI_COLON:
86 *target = ':';
87 break;
88 case UNI_ASTERIK:
89 *target = '*';
90 break;
91 case UNI_QUESTION:
92 *target = '?';
93 break;
94 case UNI_PIPE:
95 *target = '|';
96 break;
97 case UNI_GRTRTHAN:
98 *target = '>';
99 break;
100 case UNI_LESSTHAN:
101 *target = '<';
102 break;
103 default:
104 goto cp_convert;
105 }
106
107out:
108 return len;
109
110cp_convert:
111 len = cp->uni2char(le16_to_cpu(src_char), target,
112 NLS_MAX_CHARSET_SIZE);
113 if (len <= 0) {
114 *target = '?';
115 len = 1;
116 }
117 goto out;
118}
119
120/*
121 * cifs_from_ucs2 - convert utf16le string to local charset
122 * @to - destination buffer
123 * @from - source buffer
124 * @tolen - destination buffer size (in bytes)
125 * @fromlen - source buffer size (in bytes)
126 * @codepage - codepage to which characters should be converted
127 * @mapchar - should characters be remapped according to the mapchars option?
128 *
129 * Convert a little-endian ucs2le string (as sent by the server) to a string
130 * in the provided codepage. The tolen and fromlen parameters are to ensure
131 * that the code doesn't walk off of the end of the buffer (which is always
132 * a danger if the alignment of the source buffer is off). The destination
133 * string is always properly null terminated and fits in the destination
134 * buffer. Returns the length of the destination string in bytes (including
135 * null terminator).
136 *
137 * Note that some windows versions actually send multiword UTF-16 characters
138 * instead of straight UCS-2. The linux nls routines however aren't able to
139 * deal with those characters properly. In the event that we get some of
140 * those characters, they won't be translated properly.
141 */
142int
143cifs_from_ucs2(char *to, const __le16 *from, int tolen, int fromlen,
144 const struct nls_table *codepage, bool mapchar)
145{
146 int i, charlen, safelen;
147 int outlen = 0;
148 int nullsize = nls_nullsize(codepage);
149 int fromwords = fromlen / 2;
150 char tmp[NLS_MAX_CHARSET_SIZE];
151
152 /*
153 * because the chars can be of varying widths, we need to take care
154 * not to overflow the destination buffer when we get close to the
155 * end of it. Until we get to this offset, we don't need to check
156 * for overflow however.
157 */
158 safelen = tolen - (NLS_MAX_CHARSET_SIZE + nullsize);
159
160 for (i = 0; i < fromwords && from[i]; i++) {
161 /*
162 * check to see if converting this character might make the
163 * conversion bleed into the null terminator
164 */
165 if (outlen >= safelen) {
166 charlen = cifs_mapchar(tmp, from[i], codepage, mapchar);
167 if ((outlen + charlen) > (tolen - nullsize))
168 break;
51 } 169 }
170
171 /* put converted char into 'to' buffer */
172 charlen = cifs_mapchar(&to[outlen], from[i], codepage, mapchar);
173 outlen += charlen;
52 } 174 }
53 to[outlen] = 0; 175
176 /* properly null-terminate string */
177 for (i = 0; i < nullsize; i++)
178 to[outlen++] = 0;
179
54 return outlen; 180 return outlen;
55} 181}
56 182
@@ -88,3 +214,41 @@ cifs_strtoUCS(__le16 *to, const char *from, int len,
88 return i; 214 return i;
89} 215}
90 216
217/*
218 * cifs_strndup_from_ucs - copy a string from wire format to the local codepage
219 * @src - source string
220 * @maxlen - don't walk past this many bytes in the source string
221 * @is_unicode - is this a unicode string?
222 * @codepage - destination codepage
223 *
224 * Take a string given by the server, convert it to the local codepage and
225 * put it in a new buffer. Returns a pointer to the new string or NULL on
226 * error.
227 */
228char *
229cifs_strndup_from_ucs(const char *src, const int maxlen, const bool is_unicode,
230 const struct nls_table *codepage)
231{
232 int len;
233 char *dst;
234
235 if (is_unicode) {
236 len = cifs_ucs2_bytes((__le16 *) src, maxlen, codepage);
237 len += nls_nullsize(codepage);
238 dst = kmalloc(len, GFP_KERNEL);
239 if (!dst)
240 return NULL;
241 cifs_from_ucs2(dst, (__le16 *) src, len, maxlen, codepage,
242 false);
243 } else {
244 len = strnlen(src, maxlen);
245 len++;
246 dst = kmalloc(len, GFP_KERNEL);
247 if (!dst)
248 return NULL;
249 strlcpy(dst, src, len);
250 }
251
252 return dst;
253}
254
diff --git a/fs/cifs/cifs_unicode.h b/fs/cifs/cifs_unicode.h
index 14eb9a2395d3..650638275a6f 100644
--- a/fs/cifs/cifs_unicode.h
+++ b/fs/cifs/cifs_unicode.h
@@ -5,7 +5,7 @@
5 * Convert a unicode character to upper or lower case using 5 * Convert a unicode character to upper or lower case using
6 * compressed tables. 6 * compressed tables.
7 * 7 *
8 * Copyright (c) International Business Machines Corp., 2000,2007 8 * Copyright (c) International Business Machines Corp., 2000,2009
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
@@ -37,6 +37,19 @@
37 37
38#define UNIUPR_NOLOWER /* Example to not expand lower case tables */ 38#define UNIUPR_NOLOWER /* Example to not expand lower case tables */
39 39
40/*
41 * Windows maps these to the user defined 16 bit Unicode range since they are
42 * reserved symbols (along with \ and /), otherwise illegal to store
43 * in filenames in NTFS
44 */
45#define UNI_ASTERIK (__u16) ('*' + 0xF000)
46#define UNI_QUESTION (__u16) ('?' + 0xF000)
47#define UNI_COLON (__u16) (':' + 0xF000)
48#define UNI_GRTRTHAN (__u16) ('>' + 0xF000)
49#define UNI_LESSTHAN (__u16) ('<' + 0xF000)
50#define UNI_PIPE (__u16) ('|' + 0xF000)
51#define UNI_SLASH (__u16) ('\\' + 0xF000)
52
40/* Just define what we want from uniupr.h. We don't want to define the tables 53/* Just define what we want from uniupr.h. We don't want to define the tables
41 * in each source file. 54 * in each source file.
42 */ 55 */
@@ -59,8 +72,14 @@ extern struct UniCaseRange UniLowerRange[];
59#endif /* UNIUPR_NOLOWER */ 72#endif /* UNIUPR_NOLOWER */
60 73
61#ifdef __KERNEL__ 74#ifdef __KERNEL__
62int cifs_strfromUCS_le(char *, const __le16 *, int, const struct nls_table *); 75int cifs_from_ucs2(char *to, const __le16 *from, int tolen, int fromlen,
76 const struct nls_table *codepage, bool mapchar);
77int cifs_ucs2_bytes(const __le16 *from, int maxbytes,
78 const struct nls_table *codepage);
63int cifs_strtoUCS(__le16 *, const char *, int, const struct nls_table *); 79int cifs_strtoUCS(__le16 *, const char *, int, const struct nls_table *);
80char *cifs_strndup_from_ucs(const char *src, const int maxlen,
81 const bool is_unicode,
82 const struct nls_table *codepage);
64#endif 83#endif
65 84
66/* 85/*
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 0d6d8b573652..5e6d35804d73 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -35,6 +35,7 @@
35#include <linux/delay.h> 35#include <linux/delay.h>
36#include <linux/kthread.h> 36#include <linux/kthread.h>
37#include <linux/freezer.h> 37#include <linux/freezer.h>
38#include <linux/smp_lock.h>
38#include "cifsfs.h" 39#include "cifsfs.h"
39#include "cifspdu.h" 40#include "cifspdu.h"
40#define DECLARE_GLOBALS_HERE 41#define DECLARE_GLOBALS_HERE
@@ -530,6 +531,7 @@ static void cifs_umount_begin(struct super_block *sb)
530 if (tcon == NULL) 531 if (tcon == NULL)
531 return; 532 return;
532 533
534 lock_kernel();
533 read_lock(&cifs_tcp_ses_lock); 535 read_lock(&cifs_tcp_ses_lock);
534 if (tcon->tc_count == 1) 536 if (tcon->tc_count == 1)
535 tcon->tidStatus = CifsExiting; 537 tcon->tidStatus = CifsExiting;
@@ -548,6 +550,7 @@ static void cifs_umount_begin(struct super_block *sb)
548 } 550 }
549/* BB FIXME - finish add checks for tidStatus BB */ 551/* BB FIXME - finish add checks for tidStatus BB */
550 552
553 unlock_kernel();
551 return; 554 return;
552} 555}
553 556
@@ -599,8 +602,7 @@ cifs_get_sb(struct file_system_type *fs_type,
599 602
600 rc = cifs_read_super(sb, data, dev_name, flags & MS_SILENT ? 1 : 0); 603 rc = cifs_read_super(sb, data, dev_name, flags & MS_SILENT ? 1 : 0);
601 if (rc) { 604 if (rc) {
602 up_write(&sb->s_umount); 605 deactivate_locked_super(sb);
603 deactivate_super(sb);
604 return rc; 606 return rc;
605 } 607 }
606 sb->s_flags |= MS_ACTIVE; 608 sb->s_flags |= MS_ACTIVE;
diff --git a/fs/cifs/cifsfs.h b/fs/cifs/cifsfs.h
index 77e190dc2883..051b71cfdea9 100644
--- a/fs/cifs/cifsfs.h
+++ b/fs/cifs/cifsfs.h
@@ -100,5 +100,5 @@ extern long cifs_ioctl(struct file *filep, unsigned int cmd, unsigned long arg);
100extern const struct export_operations cifs_export_ops; 100extern const struct export_operations cifs_export_ops;
101#endif /* EXPERIMENTAL */ 101#endif /* EXPERIMENTAL */
102 102
103#define CIFS_VERSION "1.57" 103#define CIFS_VERSION "1.58"
104#endif /* _CIFSFS_H */ 104#endif /* _CIFSFS_H */
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index df40ab64cd95..a61ab772c6f6 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -82,8 +82,8 @@ enum securityEnum {
82 LANMAN, /* Legacy LANMAN auth */ 82 LANMAN, /* Legacy LANMAN auth */
83 NTLM, /* Legacy NTLM012 auth with NTLM hash */ 83 NTLM, /* Legacy NTLM012 auth with NTLM hash */
84 NTLMv2, /* Legacy NTLM auth with NTLMv2 hash */ 84 NTLMv2, /* Legacy NTLM auth with NTLMv2 hash */
85 RawNTLMSSP, /* NTLMSSP without SPNEGO */ 85 RawNTLMSSP, /* NTLMSSP without SPNEGO, NTLMv2 hash */
86 NTLMSSP, /* NTLMSSP via SPNEGO */ 86 NTLMSSP, /* NTLMSSP via SPNEGO, NTLMv2 hash */
87 Kerberos, /* Kerberos via SPNEGO */ 87 Kerberos, /* Kerberos via SPNEGO */
88 MSKerberos, /* MS Kerberos via SPNEGO */ 88 MSKerberos, /* MS Kerberos via SPNEGO */
89}; 89};
@@ -531,6 +531,7 @@ static inline void free_dfs_info_array(struct dfs_info3_param *param,
531#define CIFSSEC_MAY_PLNTXT 0 531#define CIFSSEC_MAY_PLNTXT 0
532#endif /* weak passwords */ 532#endif /* weak passwords */
533#define CIFSSEC_MAY_SEAL 0x00040 /* not supported yet */ 533#define CIFSSEC_MAY_SEAL 0x00040 /* not supported yet */
534#define CIFSSEC_MAY_NTLMSSP 0x00080 /* raw ntlmssp with ntlmv2 */
534 535
535#define CIFSSEC_MUST_SIGN 0x01001 536#define CIFSSEC_MUST_SIGN 0x01001
536/* note that only one of the following can be set so the 537/* note that only one of the following can be set so the
@@ -543,22 +544,23 @@ require use of the stronger protocol */
543#define CIFSSEC_MUST_LANMAN 0x10010 544#define CIFSSEC_MUST_LANMAN 0x10010
544#define CIFSSEC_MUST_PLNTXT 0x20020 545#define CIFSSEC_MUST_PLNTXT 0x20020
545#ifdef CONFIG_CIFS_UPCALL 546#ifdef CONFIG_CIFS_UPCALL
546#define CIFSSEC_MASK 0x3F03F /* allows weak security but also krb5 */ 547#define CIFSSEC_MASK 0xAF0AF /* allows weak security but also krb5 */
547#else 548#else
548#define CIFSSEC_MASK 0x37037 /* current flags supported if weak */ 549#define CIFSSEC_MASK 0xA70A7 /* current flags supported if weak */
549#endif /* UPCALL */ 550#endif /* UPCALL */
550#else /* do not allow weak pw hash */ 551#else /* do not allow weak pw hash */
551#ifdef CONFIG_CIFS_UPCALL 552#ifdef CONFIG_CIFS_UPCALL
552#define CIFSSEC_MASK 0x0F00F /* flags supported if no weak allowed */ 553#define CIFSSEC_MASK 0x8F08F /* flags supported if no weak allowed */
553#else 554#else
554#define CIFSSEC_MASK 0x07007 /* flags supported if no weak allowed */ 555#define CIFSSEC_MASK 0x87087 /* flags supported if no weak allowed */
555#endif /* UPCALL */ 556#endif /* UPCALL */
556#endif /* WEAK_PW_HASH */ 557#endif /* WEAK_PW_HASH */
557#define CIFSSEC_MUST_SEAL 0x40040 /* not supported yet */ 558#define CIFSSEC_MUST_SEAL 0x40040 /* not supported yet */
559#define CIFSSEC_MUST_NTLMSSP 0x80080 /* raw ntlmssp with ntlmv2 */
558 560
559#define CIFSSEC_DEF (CIFSSEC_MAY_SIGN | CIFSSEC_MAY_NTLM | CIFSSEC_MAY_NTLMV2) 561#define CIFSSEC_DEF (CIFSSEC_MAY_SIGN | CIFSSEC_MAY_NTLM | CIFSSEC_MAY_NTLMV2)
560#define CIFSSEC_MAX (CIFSSEC_MUST_SIGN | CIFSSEC_MUST_NTLMV2) 562#define CIFSSEC_MAX (CIFSSEC_MUST_SIGN | CIFSSEC_MUST_NTLMV2)
561#define CIFSSEC_AUTH_MASK (CIFSSEC_MAY_NTLM | CIFSSEC_MAY_NTLMV2 | CIFSSEC_MAY_LANMAN | CIFSSEC_MAY_PLNTXT | CIFSSEC_MAY_KRB5) 563#define CIFSSEC_AUTH_MASK (CIFSSEC_MAY_NTLM | CIFSSEC_MAY_NTLMV2 | CIFSSEC_MAY_LANMAN | CIFSSEC_MAY_PLNTXT | CIFSSEC_MAY_KRB5 | CIFSSEC_MAY_NTLMSSP)
562/* 564/*
563 ***************************************************************** 565 *****************************************************************
564 * All constants go here 566 * All constants go here
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index 4167716d32f2..fae083930eee 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -260,8 +260,7 @@ extern int CIFSUnixCreateSymLink(const int xid,
260 const struct nls_table *nls_codepage); 260 const struct nls_table *nls_codepage);
261extern int CIFSSMBUnixQuerySymLink(const int xid, 261extern int CIFSSMBUnixQuerySymLink(const int xid,
262 struct cifsTconInfo *tcon, 262 struct cifsTconInfo *tcon,
263 const unsigned char *searchName, 263 const unsigned char *searchName, char **syminfo,
264 char *syminfo, const int buflen,
265 const struct nls_table *nls_codepage); 264 const struct nls_table *nls_codepage);
266extern int CIFSSMBQueryReparseLinkInfo(const int xid, 265extern int CIFSSMBQueryReparseLinkInfo(const int xid,
267 struct cifsTconInfo *tcon, 266 struct cifsTconInfo *tcon,
@@ -307,8 +306,6 @@ extern int CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon,
307 const unsigned char *searchName, __u64 *inode_number, 306 const unsigned char *searchName, __u64 *inode_number,
308 const struct nls_table *nls_codepage, 307 const struct nls_table *nls_codepage,
309 int remap_special_chars); 308 int remap_special_chars);
310extern int cifs_convertUCSpath(char *target, const __le16 *source, int maxlen,
311 const struct nls_table *codepage);
312extern int cifsConvertToUCS(__le16 *target, const char *source, int maxlen, 309extern int cifsConvertToUCS(__le16 *target, const char *source, int maxlen,
313 const struct nls_table *cp, int mapChars); 310 const struct nls_table *cp, int mapChars);
314 311
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index a0845dc7b8a9..5759ba53dc96 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * fs/cifs/cifssmb.c 2 * fs/cifs/cifssmb.c
3 * 3 *
4 * Copyright (C) International Business Machines Corp., 2002,2008 4 * Copyright (C) International Business Machines Corp., 2002,2009
5 * Author(s): Steve French (sfrench@us.ibm.com) 5 * Author(s): Steve French (sfrench@us.ibm.com)
6 * 6 *
7 * Contains the routines for constructing the SMB PDUs themselves 7 * Contains the routines for constructing the SMB PDUs themselves
@@ -81,41 +81,6 @@ static struct {
81#endif /* CONFIG_CIFS_WEAK_PW_HASH */ 81#endif /* CONFIG_CIFS_WEAK_PW_HASH */
82#endif /* CIFS_POSIX */ 82#endif /* CIFS_POSIX */
83 83
84/* Allocates buffer into dst and copies smb string from src to it.
85 * caller is responsible for freeing dst if function returned 0.
86 * returns:
87 * on success - 0
88 * on failure - errno
89 */
90static int
91cifs_strncpy_to_host(char **dst, const char *src, const int maxlen,
92 const bool is_unicode, const struct nls_table *nls_codepage)
93{
94 int plen;
95
96 if (is_unicode) {
97 plen = UniStrnlen((wchar_t *)src, maxlen);
98 *dst = kmalloc(plen + 2, GFP_KERNEL);
99 if (!*dst)
100 goto cifs_strncpy_to_host_ErrExit;
101 cifs_strfromUCS_le(*dst, (__le16 *)src, plen, nls_codepage);
102 } else {
103 plen = strnlen(src, maxlen);
104 *dst = kmalloc(plen + 2, GFP_KERNEL);
105 if (!*dst)
106 goto cifs_strncpy_to_host_ErrExit;
107 strncpy(*dst, src, plen);
108 }
109 (*dst)[plen] = 0;
110 (*dst)[plen+1] = 0; /* harmless for ASCII case, needed for Unicode */
111 return 0;
112
113cifs_strncpy_to_host_ErrExit:
114 cERROR(1, ("Failed to allocate buffer for string\n"));
115 return -ENOMEM;
116}
117
118
119/* Mark as invalid, all open files on tree connections since they 84/* Mark as invalid, all open files on tree connections since they
120 were closed when session to server was lost */ 85 were closed when session to server was lost */
121static void mark_open_files_invalid(struct cifsTconInfo *pTcon) 86static void mark_open_files_invalid(struct cifsTconInfo *pTcon)
@@ -484,6 +449,14 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses)
484 cFYI(1, ("Kerberos only mechanism, enable extended security")); 449 cFYI(1, ("Kerberos only mechanism, enable extended security"));
485 pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; 450 pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC;
486 } 451 }
452#ifdef CONFIG_CIFS_EXPERIMENTAL
453 else if ((secFlags & CIFSSEC_MUST_NTLMSSP) == CIFSSEC_MUST_NTLMSSP)
454 pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC;
455 else if ((secFlags & CIFSSEC_AUTH_MASK) == CIFSSEC_MAY_NTLMSSP) {
456 cFYI(1, ("NTLMSSP only mechanism, enable extended security"));
457 pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC;
458 }
459#endif
487 460
488 count = 0; 461 count = 0;
489 for (i = 0; i < CIFS_NUM_PROT; i++) { 462 for (i = 0; i < CIFS_NUM_PROT; i++) {
@@ -620,6 +593,8 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses)
620 server->secType = NTLMv2; 593 server->secType = NTLMv2;
621 else if (secFlags & CIFSSEC_MAY_KRB5) 594 else if (secFlags & CIFSSEC_MAY_KRB5)
622 server->secType = Kerberos; 595 server->secType = Kerberos;
596 else if (secFlags & CIFSSEC_MAY_NTLMSSP)
597 server->secType = NTLMSSP;
623 else if (secFlags & CIFSSEC_MAY_LANMAN) 598 else if (secFlags & CIFSSEC_MAY_LANMAN)
624 server->secType = LANMAN; 599 server->secType = LANMAN;
625/* #ifdef CONFIG_CIFS_EXPERIMENTAL 600/* #ifdef CONFIG_CIFS_EXPERIMENTAL
@@ -2417,8 +2392,7 @@ winCreateHardLinkRetry:
2417 2392
2418int 2393int
2419CIFSSMBUnixQuerySymLink(const int xid, struct cifsTconInfo *tcon, 2394CIFSSMBUnixQuerySymLink(const int xid, struct cifsTconInfo *tcon,
2420 const unsigned char *searchName, 2395 const unsigned char *searchName, char **symlinkinfo,
2421 char *symlinkinfo, const int buflen,
2422 const struct nls_table *nls_codepage) 2396 const struct nls_table *nls_codepage)
2423{ 2397{
2424/* SMB_QUERY_FILE_UNIX_LINK */ 2398/* SMB_QUERY_FILE_UNIX_LINK */
@@ -2428,6 +2402,7 @@ CIFSSMBUnixQuerySymLink(const int xid, struct cifsTconInfo *tcon,
2428 int bytes_returned; 2402 int bytes_returned;
2429 int name_len; 2403 int name_len;
2430 __u16 params, byte_count; 2404 __u16 params, byte_count;
2405 char *data_start;
2431 2406
2432 cFYI(1, ("In QPathSymLinkInfo (Unix) for path %s", searchName)); 2407 cFYI(1, ("In QPathSymLinkInfo (Unix) for path %s", searchName));
2433 2408
@@ -2482,30 +2457,26 @@ querySymLinkRetry:
2482 /* decode response */ 2457 /* decode response */
2483 2458
2484 rc = validate_t2((struct smb_t2_rsp *)pSMBr); 2459 rc = validate_t2((struct smb_t2_rsp *)pSMBr);
2485 if (rc || (pSMBr->ByteCount < 2))
2486 /* BB also check enough total bytes returned */ 2460 /* BB also check enough total bytes returned */
2487 rc = -EIO; /* bad smb */ 2461 if (rc || (pSMBr->ByteCount < 2))
2462 rc = -EIO;
2488 else { 2463 else {
2489 __u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset); 2464 bool is_unicode;
2490 __u16 count = le16_to_cpu(pSMBr->t2.DataCount); 2465 u16 count = le16_to_cpu(pSMBr->t2.DataCount);
2466
2467 data_start = ((char *) &pSMBr->hdr.Protocol) +
2468 le16_to_cpu(pSMBr->t2.DataOffset);
2469
2470 if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE)
2471 is_unicode = true;
2472 else
2473 is_unicode = false;
2491 2474
2492 if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) {
2493 name_len = UniStrnlen((wchar_t *) ((char *)
2494 &pSMBr->hdr.Protocol + data_offset),
2495 min_t(const int, buflen, count) / 2);
2496 /* BB FIXME investigate remapping reserved chars here */ 2475 /* BB FIXME investigate remapping reserved chars here */
2497 cifs_strfromUCS_le(symlinkinfo, 2476 *symlinkinfo = cifs_strndup_from_ucs(data_start, count,
2498 (__le16 *) ((char *)&pSMBr->hdr.Protocol 2477 is_unicode, nls_codepage);
2499 + data_offset), 2478 if (!symlinkinfo)
2500 name_len, nls_codepage); 2479 rc = -ENOMEM;
2501 } else {
2502 strncpy(symlinkinfo,
2503 (char *) &pSMBr->hdr.Protocol +
2504 data_offset,
2505 min_t(const int, buflen, count));
2506 }
2507 symlinkinfo[buflen] = 0;
2508 /* just in case so calling code does not go off the end of buffer */
2509 } 2480 }
2510 } 2481 }
2511 cifs_buf_release(pSMB); 2482 cifs_buf_release(pSMB);
@@ -2603,7 +2574,6 @@ validate_ntransact(char *buf, char **ppparm, char **ppdata,
2603 *pparmlen = parm_count; 2574 *pparmlen = parm_count;
2604 return 0; 2575 return 0;
2605} 2576}
2606#endif /* CIFS_EXPERIMENTAL */
2607 2577
2608int 2578int
2609CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, 2579CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon,
@@ -2613,7 +2583,6 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon,
2613{ 2583{
2614 int rc = 0; 2584 int rc = 0;
2615 int bytes_returned; 2585 int bytes_returned;
2616 int name_len;
2617 struct smb_com_transaction_ioctl_req *pSMB; 2586 struct smb_com_transaction_ioctl_req *pSMB;
2618 struct smb_com_transaction_ioctl_rsp *pSMBr; 2587 struct smb_com_transaction_ioctl_rsp *pSMBr;
2619 2588
@@ -2650,59 +2619,55 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon,
2650 } else { /* decode response */ 2619 } else { /* decode response */
2651 __u32 data_offset = le32_to_cpu(pSMBr->DataOffset); 2620 __u32 data_offset = le32_to_cpu(pSMBr->DataOffset);
2652 __u32 data_count = le32_to_cpu(pSMBr->DataCount); 2621 __u32 data_count = le32_to_cpu(pSMBr->DataCount);
2653 if ((pSMBr->ByteCount < 2) || (data_offset > 512)) 2622 if ((pSMBr->ByteCount < 2) || (data_offset > 512)) {
2654 /* BB also check enough total bytes returned */ 2623 /* BB also check enough total bytes returned */
2655 rc = -EIO; /* bad smb */ 2624 rc = -EIO; /* bad smb */
2656 else { 2625 goto qreparse_out;
2657 if (data_count && (data_count < 2048)) { 2626 }
2658 char *end_of_smb = 2 /* sizeof byte count */ + 2627 if (data_count && (data_count < 2048)) {
2659 pSMBr->ByteCount + 2628 char *end_of_smb = 2 /* sizeof byte count */ +
2660 (char *)&pSMBr->ByteCount; 2629 pSMBr->ByteCount + (char *)&pSMBr->ByteCount;
2661 2630
2662 struct reparse_data *reparse_buf = 2631 struct reparse_data *reparse_buf =
2663 (struct reparse_data *) 2632 (struct reparse_data *)
2664 ((char *)&pSMBr->hdr.Protocol 2633 ((char *)&pSMBr->hdr.Protocol
2665 + data_offset); 2634 + data_offset);
2666 if ((char *)reparse_buf >= end_of_smb) { 2635 if ((char *)reparse_buf >= end_of_smb) {
2667 rc = -EIO; 2636 rc = -EIO;
2668 goto qreparse_out; 2637 goto qreparse_out;
2669 } 2638 }
2670 if ((reparse_buf->LinkNamesBuf + 2639 if ((reparse_buf->LinkNamesBuf +
2671 reparse_buf->TargetNameOffset + 2640 reparse_buf->TargetNameOffset +
2672 reparse_buf->TargetNameLen) > 2641 reparse_buf->TargetNameLen) > end_of_smb) {
2673 end_of_smb) { 2642 cFYI(1, ("reparse buf beyond SMB"));
2674 cFYI(1, ("reparse buf beyond SMB")); 2643 rc = -EIO;
2675 rc = -EIO; 2644 goto qreparse_out;
2676 goto qreparse_out; 2645 }
2677 }
2678 2646
2679 if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) { 2647 if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) {
2680 name_len = UniStrnlen((wchar_t *) 2648 cifs_from_ucs2(symlinkinfo, (__le16 *)
2681 (reparse_buf->LinkNamesBuf + 2649 (reparse_buf->LinkNamesBuf +
2682 reparse_buf->TargetNameOffset), 2650 reparse_buf->TargetNameOffset),
2683 min(buflen/2, 2651 buflen,
2684 reparse_buf->TargetNameLen / 2)); 2652 reparse_buf->TargetNameLen,
2685 cifs_strfromUCS_le(symlinkinfo, 2653 nls_codepage, 0);
2686 (__le16 *) (reparse_buf->LinkNamesBuf + 2654 } else { /* ASCII names */
2687 reparse_buf->TargetNameOffset), 2655 strncpy(symlinkinfo,
2688 name_len, nls_codepage); 2656 reparse_buf->LinkNamesBuf +
2689 } else { /* ASCII names */ 2657 reparse_buf->TargetNameOffset,
2690 strncpy(symlinkinfo, 2658 min_t(const int, buflen,
2691 reparse_buf->LinkNamesBuf + 2659 reparse_buf->TargetNameLen));
2692 reparse_buf->TargetNameOffset,
2693 min_t(const int, buflen,
2694 reparse_buf->TargetNameLen));
2695 }
2696 } else {
2697 rc = -EIO;
2698 cFYI(1, ("Invalid return data count on "
2699 "get reparse info ioctl"));
2700 } 2660 }
2701 symlinkinfo[buflen] = 0; /* just in case so the caller 2661 } else {
2702 does not go off the end of the buffer */ 2662 rc = -EIO;
2703 cFYI(1, ("readlink result - %s", symlinkinfo)); 2663 cFYI(1, ("Invalid return data count on "
2664 "get reparse info ioctl"));
2704 } 2665 }
2666 symlinkinfo[buflen] = 0; /* just in case so the caller
2667 does not go off the end of the buffer */
2668 cFYI(1, ("readlink result - %s", symlinkinfo));
2705 } 2669 }
2670
2706qreparse_out: 2671qreparse_out:
2707 cifs_buf_release(pSMB); 2672 cifs_buf_release(pSMB);
2708 2673
@@ -2711,6 +2676,7 @@ qreparse_out:
2711 2676
2712 return rc; 2677 return rc;
2713} 2678}
2679#endif /* CIFS_EXPERIMENTAL */
2714 2680
2715#ifdef CONFIG_CIFS_POSIX 2681#ifdef CONFIG_CIFS_POSIX
2716 2682
@@ -3928,27 +3894,6 @@ GetInodeNumOut:
3928 return rc; 3894 return rc;
3929} 3895}
3930 3896
3931/* computes length of UCS string converted to host codepage
3932 * @src: UCS string
3933 * @maxlen: length of the input string in UCS characters
3934 * (not in bytes)
3935 *
3936 * return: size of input string in host codepage
3937 */
3938static int hostlen_fromUCS(const __le16 *src, const int maxlen,
3939 const struct nls_table *nls_codepage) {
3940 int i;
3941 int hostlen = 0;
3942 char to[4];
3943 int charlen;
3944 for (i = 0; (i < maxlen) && src[i]; ++i) {
3945 charlen = nls_codepage->uni2char(le16_to_cpu(src[i]),
3946 to, NLS_MAX_CHARSET_SIZE);
3947 hostlen += charlen > 0 ? charlen : 1;
3948 }
3949 return hostlen;
3950}
3951
3952/* parses DFS refferal V3 structure 3897/* parses DFS refferal V3 structure
3953 * caller is responsible for freeing target_nodes 3898 * caller is responsible for freeing target_nodes
3954 * returns: 3899 * returns:
@@ -3994,7 +3939,7 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
3994 3939
3995 cFYI(1, ("num_referrals: %d dfs flags: 0x%x ... \n", 3940 cFYI(1, ("num_referrals: %d dfs flags: 0x%x ... \n",
3996 *num_of_nodes, 3941 *num_of_nodes,
3997 le16_to_cpu(pSMBr->DFSFlags))); 3942 le32_to_cpu(pSMBr->DFSFlags)));
3998 3943
3999 *target_nodes = kzalloc(sizeof(struct dfs_info3_param) * 3944 *target_nodes = kzalloc(sizeof(struct dfs_info3_param) *
4000 *num_of_nodes, GFP_KERNEL); 3945 *num_of_nodes, GFP_KERNEL);
@@ -4010,14 +3955,14 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
4010 int max_len; 3955 int max_len;
4011 struct dfs_info3_param *node = (*target_nodes)+i; 3956 struct dfs_info3_param *node = (*target_nodes)+i;
4012 3957
4013 node->flags = le16_to_cpu(pSMBr->DFSFlags); 3958 node->flags = le32_to_cpu(pSMBr->DFSFlags);
4014 if (is_unicode) { 3959 if (is_unicode) {
4015 __le16 *tmp = kmalloc(strlen(searchName)*2 + 2, 3960 __le16 *tmp = kmalloc(strlen(searchName)*2 + 2,
4016 GFP_KERNEL); 3961 GFP_KERNEL);
4017 cifsConvertToUCS((__le16 *) tmp, searchName, 3962 cifsConvertToUCS((__le16 *) tmp, searchName,
4018 PATH_MAX, nls_codepage, remap); 3963 PATH_MAX, nls_codepage, remap);
4019 node->path_consumed = hostlen_fromUCS(tmp, 3964 node->path_consumed = cifs_ucs2_bytes(tmp,
4020 le16_to_cpu(pSMBr->PathConsumed)/2, 3965 le16_to_cpu(pSMBr->PathConsumed),
4021 nls_codepage); 3966 nls_codepage);
4022 kfree(tmp); 3967 kfree(tmp);
4023 } else 3968 } else
@@ -4029,20 +3974,20 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
4029 /* copy DfsPath */ 3974 /* copy DfsPath */
4030 temp = (char *)ref + le16_to_cpu(ref->DfsPathOffset); 3975 temp = (char *)ref + le16_to_cpu(ref->DfsPathOffset);
4031 max_len = data_end - temp; 3976 max_len = data_end - temp;
4032 rc = cifs_strncpy_to_host(&(node->path_name), temp, 3977 node->path_name = cifs_strndup_from_ucs(temp, max_len,
4033 max_len, is_unicode, nls_codepage); 3978 is_unicode, nls_codepage);
4034 if (rc) 3979 if (!node->path_name) {
3980 rc = -ENOMEM;
4035 goto parse_DFS_referrals_exit; 3981 goto parse_DFS_referrals_exit;
3982 }
4036 3983
4037 /* copy link target UNC */ 3984 /* copy link target UNC */
4038 temp = (char *)ref + le16_to_cpu(ref->NetworkAddressOffset); 3985 temp = (char *)ref + le16_to_cpu(ref->NetworkAddressOffset);
4039 max_len = data_end - temp; 3986 max_len = data_end - temp;
4040 rc = cifs_strncpy_to_host(&(node->node_name), temp, 3987 node->node_name = cifs_strndup_from_ucs(temp, max_len,
4041 max_len, is_unicode, nls_codepage); 3988 is_unicode, nls_codepage);
4042 if (rc) 3989 if (!node->node_name)
4043 goto parse_DFS_referrals_exit; 3990 rc = -ENOMEM;
4044
4045 ref += le16_to_cpu(ref->Size);
4046 } 3991 }
4047 3992
4048parse_DFS_referrals_exit: 3993parse_DFS_referrals_exit:
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index bacdef1546b7..4aa81a507b74 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * fs/cifs/connect.c 2 * fs/cifs/connect.c
3 * 3 *
4 * Copyright (C) International Business Machines Corp., 2002,2008 4 * Copyright (C) International Business Machines Corp., 2002,2009
5 * Author(s): Steve French (sfrench@us.ibm.com) 5 * Author(s): Steve French (sfrench@us.ibm.com)
6 * 6 *
7 * This library is free software; you can redistribute it and/or modify 7 * This library is free software; you can redistribute it and/or modify
@@ -32,6 +32,7 @@
32#include <linux/kthread.h> 32#include <linux/kthread.h>
33#include <linux/pagevec.h> 33#include <linux/pagevec.h>
34#include <linux/freezer.h> 34#include <linux/freezer.h>
35#include <linux/namei.h>
35#include <asm/uaccess.h> 36#include <asm/uaccess.h>
36#include <asm/processor.h> 37#include <asm/processor.h>
37#include <net/ipv6.h> 38#include <net/ipv6.h>
@@ -978,6 +979,13 @@ cifs_parse_mount_options(char *options, const char *devname,
978 return 1; 979 return 1;
979 } else if (strnicmp(value, "krb5", 4) == 0) { 980 } else if (strnicmp(value, "krb5", 4) == 0) {
980 vol->secFlg |= CIFSSEC_MAY_KRB5; 981 vol->secFlg |= CIFSSEC_MAY_KRB5;
982#ifdef CONFIG_CIFS_EXPERIMENTAL
983 } else if (strnicmp(value, "ntlmsspi", 8) == 0) {
984 vol->secFlg |= CIFSSEC_MAY_NTLMSSP |
985 CIFSSEC_MUST_SIGN;
986 } else if (strnicmp(value, "ntlmssp", 7) == 0) {
987 vol->secFlg |= CIFSSEC_MAY_NTLMSSP;
988#endif
981 } else if (strnicmp(value, "ntlmv2i", 7) == 0) { 989 } else if (strnicmp(value, "ntlmv2i", 7) == 0) {
982 vol->secFlg |= CIFSSEC_MAY_NTLMV2 | 990 vol->secFlg |= CIFSSEC_MAY_NTLMV2 |
983 CIFSSEC_MUST_SIGN; 991 CIFSSEC_MUST_SIGN;
@@ -2278,6 +2286,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
2278#ifdef CONFIG_CIFS_DFS_UPCALL 2286#ifdef CONFIG_CIFS_DFS_UPCALL
2279 struct dfs_info3_param *referrals = NULL; 2287 struct dfs_info3_param *referrals = NULL;
2280 unsigned int num_referrals = 0; 2288 unsigned int num_referrals = 0;
2289 int referral_walks_count = 0;
2281try_mount_again: 2290try_mount_again:
2282#endif 2291#endif
2283 full_path = NULL; 2292 full_path = NULL;
@@ -2525,6 +2534,16 @@ remote_path_check:
2525 /* get referral if needed */ 2534 /* get referral if needed */
2526 if (rc == -EREMOTE) { 2535 if (rc == -EREMOTE) {
2527#ifdef CONFIG_CIFS_DFS_UPCALL 2536#ifdef CONFIG_CIFS_DFS_UPCALL
2537 if (referral_walks_count > MAX_NESTED_LINKS) {
2538 /*
2539 * BB: when we implement proper loop detection,
2540 * we will remove this check. But now we need it
2541 * to prevent an indefinite loop if 'DFS tree' is
2542 * misconfigured (i.e. has loops).
2543 */
2544 rc = -ELOOP;
2545 goto mount_fail_check;
2546 }
2528 /* convert forward to back slashes in prepath here if needed */ 2547 /* convert forward to back slashes in prepath here if needed */
2529 if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS) == 0) 2548 if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS) == 0)
2530 convert_delimiter(cifs_sb->prepath, 2549 convert_delimiter(cifs_sb->prepath,
@@ -2558,6 +2577,7 @@ remote_path_check:
2558 cleanup_volume_info(&volume_info); 2577 cleanup_volume_info(&volume_info);
2559 FreeXid(xid); 2578 FreeXid(xid);
2560 kfree(full_path); 2579 kfree(full_path);
2580 referral_walks_count++;
2561 goto try_mount_again; 2581 goto try_mount_again;
2562 } 2582 }
2563#else /* No DFS support, return error on mount */ 2583#else /* No DFS support, return error on mount */
@@ -2592,1041 +2612,6 @@ out:
2592 return rc; 2612 return rc;
2593} 2613}
2594 2614
2595static int
2596CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses,
2597 char session_key[CIFS_SESS_KEY_SIZE],
2598 const struct nls_table *nls_codepage)
2599{
2600 struct smb_hdr *smb_buffer;
2601 struct smb_hdr *smb_buffer_response;
2602 SESSION_SETUP_ANDX *pSMB;
2603 SESSION_SETUP_ANDX *pSMBr;
2604 char *bcc_ptr;
2605 char *user;
2606 char *domain;
2607 int rc = 0;
2608 int remaining_words = 0;
2609 int bytes_returned = 0;
2610 int len;
2611 __u32 capabilities;
2612 __u16 count;
2613
2614 cFYI(1, ("In sesssetup"));
2615 if (ses == NULL)
2616 return -EINVAL;
2617 user = ses->userName;
2618 domain = ses->domainName;
2619 smb_buffer = cifs_buf_get();
2620
2621 if (smb_buffer == NULL)
2622 return -ENOMEM;
2623
2624 smb_buffer_response = smb_buffer;
2625 pSMBr = pSMB = (SESSION_SETUP_ANDX *) smb_buffer;
2626
2627 /* send SMBsessionSetup here */
2628 header_assemble(smb_buffer, SMB_COM_SESSION_SETUP_ANDX,
2629 NULL /* no tCon exists yet */ , 13 /* wct */ );
2630
2631 smb_buffer->Mid = GetNextMid(ses->server);
2632 pSMB->req_no_secext.AndXCommand = 0xFF;
2633 pSMB->req_no_secext.MaxBufferSize = cpu_to_le16(ses->server->maxBuf);
2634 pSMB->req_no_secext.MaxMpxCount = cpu_to_le16(ses->server->maxReq);
2635
2636 if (ses->server->secMode &
2637 (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
2638 smb_buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE;
2639
2640 capabilities = CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS |
2641 CAP_LARGE_WRITE_X | CAP_LARGE_READ_X;
2642 if (ses->capabilities & CAP_UNICODE) {
2643 smb_buffer->Flags2 |= SMBFLG2_UNICODE;
2644 capabilities |= CAP_UNICODE;
2645 }
2646 if (ses->capabilities & CAP_STATUS32) {
2647 smb_buffer->Flags2 |= SMBFLG2_ERR_STATUS;
2648 capabilities |= CAP_STATUS32;
2649 }
2650 if (ses->capabilities & CAP_DFS) {
2651 smb_buffer->Flags2 |= SMBFLG2_DFS;
2652 capabilities |= CAP_DFS;
2653 }
2654 pSMB->req_no_secext.Capabilities = cpu_to_le32(capabilities);
2655
2656 pSMB->req_no_secext.CaseInsensitivePasswordLength =
2657 cpu_to_le16(CIFS_SESS_KEY_SIZE);
2658
2659 pSMB->req_no_secext.CaseSensitivePasswordLength =
2660 cpu_to_le16(CIFS_SESS_KEY_SIZE);
2661 bcc_ptr = pByteArea(smb_buffer);
2662 memcpy(bcc_ptr, (char *) session_key, CIFS_SESS_KEY_SIZE);
2663 bcc_ptr += CIFS_SESS_KEY_SIZE;
2664 memcpy(bcc_ptr, (char *) session_key, CIFS_SESS_KEY_SIZE);
2665 bcc_ptr += CIFS_SESS_KEY_SIZE;
2666
2667 if (ses->capabilities & CAP_UNICODE) {
2668 if ((long) bcc_ptr % 2) { /* must be word aligned for Unicode */
2669 *bcc_ptr = 0;
2670 bcc_ptr++;
2671 }
2672 if (user == NULL)
2673 bytes_returned = 0; /* skip null user */
2674 else
2675 bytes_returned =
2676 cifs_strtoUCS((__le16 *) bcc_ptr, user, 100,
2677 nls_codepage);
2678 /* convert number of 16 bit words to bytes */
2679 bcc_ptr += 2 * bytes_returned;
2680 bcc_ptr += 2; /* trailing null */
2681 if (domain == NULL)
2682 bytes_returned =
2683 cifs_strtoUCS((__le16 *) bcc_ptr,
2684 "CIFS_LINUX_DOM", 32, nls_codepage);
2685 else
2686 bytes_returned =
2687 cifs_strtoUCS((__le16 *) bcc_ptr, domain, 64,
2688 nls_codepage);
2689 bcc_ptr += 2 * bytes_returned;
2690 bcc_ptr += 2;
2691 bytes_returned =
2692 cifs_strtoUCS((__le16 *) bcc_ptr, "Linux version ",
2693 32, nls_codepage);
2694 bcc_ptr += 2 * bytes_returned;
2695 bytes_returned =
2696 cifs_strtoUCS((__le16 *) bcc_ptr, utsname()->release,
2697 32, nls_codepage);
2698 bcc_ptr += 2 * bytes_returned;
2699 bcc_ptr += 2;
2700 bytes_returned =
2701 cifs_strtoUCS((__le16 *) bcc_ptr, CIFS_NETWORK_OPSYS,
2702 64, nls_codepage);
2703 bcc_ptr += 2 * bytes_returned;
2704 bcc_ptr += 2;
2705 } else {
2706 if (user != NULL) {
2707 strncpy(bcc_ptr, user, 200);
2708 bcc_ptr += strnlen(user, 200);
2709 }
2710 *bcc_ptr = 0;
2711 bcc_ptr++;
2712 if (domain == NULL) {
2713 strcpy(bcc_ptr, "CIFS_LINUX_DOM");
2714 bcc_ptr += strlen("CIFS_LINUX_DOM") + 1;
2715 } else {
2716 strncpy(bcc_ptr, domain, 64);
2717 bcc_ptr += strnlen(domain, 64);
2718 *bcc_ptr = 0;
2719 bcc_ptr++;
2720 }
2721 strcpy(bcc_ptr, "Linux version ");
2722 bcc_ptr += strlen("Linux version ");
2723 strcpy(bcc_ptr, utsname()->release);
2724 bcc_ptr += strlen(utsname()->release) + 1;
2725 strcpy(bcc_ptr, CIFS_NETWORK_OPSYS);
2726 bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1;
2727 }
2728 count = (long) bcc_ptr - (long) pByteArea(smb_buffer);
2729 smb_buffer->smb_buf_length += count;
2730 pSMB->req_no_secext.ByteCount = cpu_to_le16(count);
2731
2732 rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response,
2733 &bytes_returned, CIFS_LONG_OP);
2734 if (rc) {
2735/* rc = map_smb_to_linux_error(smb_buffer_response); now done in SendReceive */
2736 } else if ((smb_buffer_response->WordCount == 3)
2737 || (smb_buffer_response->WordCount == 4)) {
2738 __u16 action = le16_to_cpu(pSMBr->resp.Action);
2739 __u16 blob_len = le16_to_cpu(pSMBr->resp.SecurityBlobLength);
2740 if (action & GUEST_LOGIN)
2741 cFYI(1, ("Guest login")); /* BB mark SesInfo struct? */
2742 ses->Suid = smb_buffer_response->Uid; /* UID left in wire format
2743 (little endian) */
2744 cFYI(1, ("UID = %d ", ses->Suid));
2745 /* response can have either 3 or 4 word count - Samba sends 3 */
2746 bcc_ptr = pByteArea(smb_buffer_response);
2747 if ((pSMBr->resp.hdr.WordCount == 3)
2748 || ((pSMBr->resp.hdr.WordCount == 4)
2749 && (blob_len < pSMBr->resp.ByteCount))) {
2750 if (pSMBr->resp.hdr.WordCount == 4)
2751 bcc_ptr += blob_len;
2752
2753 if (smb_buffer->Flags2 & SMBFLG2_UNICODE) {
2754 if ((long) (bcc_ptr) % 2) {
2755 remaining_words =
2756 (BCC(smb_buffer_response) - 1) / 2;
2757 /* Unicode strings must be word
2758 aligned */
2759 bcc_ptr++;
2760 } else {
2761 remaining_words =
2762 BCC(smb_buffer_response) / 2;
2763 }
2764 len =
2765 UniStrnlen((wchar_t *) bcc_ptr,
2766 remaining_words - 1);
2767/* We look for obvious messed up bcc or strings in response so we do not go off
2768 the end since (at least) WIN2K and Windows XP have a major bug in not null
2769 terminating last Unicode string in response */
2770 kfree(ses->serverOS);
2771 ses->serverOS = kzalloc(2 * (len + 1),
2772 GFP_KERNEL);
2773 if (ses->serverOS == NULL)
2774 goto sesssetup_nomem;
2775 cifs_strfromUCS_le(ses->serverOS,
2776 (__le16 *)bcc_ptr,
2777 len, nls_codepage);
2778 bcc_ptr += 2 * (len + 1);
2779 remaining_words -= len + 1;
2780 ses->serverOS[2 * len] = 0;
2781 ses->serverOS[1 + (2 * len)] = 0;
2782 if (remaining_words > 0) {
2783 len = UniStrnlen((wchar_t *)bcc_ptr,
2784 remaining_words-1);
2785 kfree(ses->serverNOS);
2786 ses->serverNOS = kzalloc(2 * (len + 1),
2787 GFP_KERNEL);
2788 if (ses->serverNOS == NULL)
2789 goto sesssetup_nomem;
2790 cifs_strfromUCS_le(ses->serverNOS,
2791 (__le16 *)bcc_ptr,
2792 len, nls_codepage);
2793 bcc_ptr += 2 * (len + 1);
2794 ses->serverNOS[2 * len] = 0;
2795 ses->serverNOS[1 + (2 * len)] = 0;
2796 if (strncmp(ses->serverNOS,
2797 "NT LAN Manager 4", 16) == 0) {
2798 cFYI(1, ("NT4 server"));
2799 ses->flags |= CIFS_SES_NT4;
2800 }
2801 remaining_words -= len + 1;
2802 if (remaining_words > 0) {
2803 len = UniStrnlen((wchar_t *) bcc_ptr, remaining_words);
2804 /* last string is not always null terminated
2805 (for e.g. for Windows XP & 2000) */
2806 kfree(ses->serverDomain);
2807 ses->serverDomain =
2808 kzalloc(2*(len+1),
2809 GFP_KERNEL);
2810 if (ses->serverDomain == NULL)
2811 goto sesssetup_nomem;
2812 cifs_strfromUCS_le(ses->serverDomain,
2813 (__le16 *)bcc_ptr,
2814 len, nls_codepage);
2815 bcc_ptr += 2 * (len + 1);
2816 ses->serverDomain[2*len] = 0;
2817 ses->serverDomain[1+(2*len)] = 0;
2818 } else { /* else no more room so create
2819 dummy domain string */
2820 kfree(ses->serverDomain);
2821 ses->serverDomain =
2822 kzalloc(2, GFP_KERNEL);
2823 }
2824 } else { /* no room so create dummy domain
2825 and NOS string */
2826
2827 /* if these kcallocs fail not much we
2828 can do, but better to not fail the
2829 sesssetup itself */
2830 kfree(ses->serverDomain);
2831 ses->serverDomain =
2832 kzalloc(2, GFP_KERNEL);
2833 kfree(ses->serverNOS);
2834 ses->serverNOS =
2835 kzalloc(2, GFP_KERNEL);
2836 }
2837 } else { /* ASCII */
2838 len = strnlen(bcc_ptr, 1024);
2839 if (((long) bcc_ptr + len) - (long)
2840 pByteArea(smb_buffer_response)
2841 <= BCC(smb_buffer_response)) {
2842 kfree(ses->serverOS);
2843 ses->serverOS = kzalloc(len + 1,
2844 GFP_KERNEL);
2845 if (ses->serverOS == NULL)
2846 goto sesssetup_nomem;
2847 strncpy(ses->serverOS, bcc_ptr, len);
2848
2849 bcc_ptr += len;
2850 /* null terminate the string */
2851 bcc_ptr[0] = 0;
2852 bcc_ptr++;
2853
2854 len = strnlen(bcc_ptr, 1024);
2855 kfree(ses->serverNOS);
2856 ses->serverNOS = kzalloc(len + 1,
2857 GFP_KERNEL);
2858 if (ses->serverNOS == NULL)
2859 goto sesssetup_nomem;
2860 strncpy(ses->serverNOS, bcc_ptr, len);
2861 bcc_ptr += len;
2862 bcc_ptr[0] = 0;
2863 bcc_ptr++;
2864
2865 len = strnlen(bcc_ptr, 1024);
2866 kfree(ses->serverDomain);
2867 ses->serverDomain = kzalloc(len + 1,
2868 GFP_KERNEL);
2869 if (ses->serverDomain == NULL)
2870 goto sesssetup_nomem;
2871 strncpy(ses->serverDomain, bcc_ptr,
2872 len);
2873 bcc_ptr += len;
2874 bcc_ptr[0] = 0;
2875 bcc_ptr++;
2876 } else
2877 cFYI(1,
2878 ("Variable field of length %d "
2879 "extends beyond end of smb ",
2880 len));
2881 }
2882 } else {
2883 cERROR(1, ("Security Blob Length extends beyond "
2884 "end of SMB"));
2885 }
2886 } else {
2887 cERROR(1, ("Invalid Word count %d: ",
2888 smb_buffer_response->WordCount));
2889 rc = -EIO;
2890 }
2891sesssetup_nomem: /* do not return an error on nomem for the info strings,
2892 since that could make reconnection harder, and
2893 reconnection might be needed to free memory */
2894 cifs_buf_release(smb_buffer);
2895
2896 return rc;
2897}
2898
2899static int
2900CIFSNTLMSSPNegotiateSessSetup(unsigned int xid,
2901 struct cifsSesInfo *ses, bool *pNTLMv2_flag,
2902 const struct nls_table *nls_codepage)
2903{
2904 struct smb_hdr *smb_buffer;
2905 struct smb_hdr *smb_buffer_response;
2906 SESSION_SETUP_ANDX *pSMB;
2907 SESSION_SETUP_ANDX *pSMBr;
2908 char *bcc_ptr;
2909 char *domain;
2910 int rc = 0;
2911 int remaining_words = 0;
2912 int bytes_returned = 0;
2913 int len;
2914 int SecurityBlobLength = sizeof(NEGOTIATE_MESSAGE);
2915 PNEGOTIATE_MESSAGE SecurityBlob;
2916 PCHALLENGE_MESSAGE SecurityBlob2;
2917 __u32 negotiate_flags, capabilities;
2918 __u16 count;
2919
2920 cFYI(1, ("In NTLMSSP sesssetup (negotiate)"));
2921 if (ses == NULL)
2922 return -EINVAL;
2923 domain = ses->domainName;
2924 *pNTLMv2_flag = false;
2925 smb_buffer = cifs_buf_get();
2926 if (smb_buffer == NULL) {
2927 return -ENOMEM;
2928 }
2929 smb_buffer_response = smb_buffer;
2930 pSMB = (SESSION_SETUP_ANDX *) smb_buffer;
2931 pSMBr = (SESSION_SETUP_ANDX *) smb_buffer_response;
2932
2933 /* send SMBsessionSetup here */
2934 header_assemble(smb_buffer, SMB_COM_SESSION_SETUP_ANDX,
2935 NULL /* no tCon exists yet */ , 12 /* wct */ );
2936
2937 smb_buffer->Mid = GetNextMid(ses->server);
2938 pSMB->req.hdr.Flags2 |= SMBFLG2_EXT_SEC;
2939 pSMB->req.hdr.Flags |= (SMBFLG_CASELESS | SMBFLG_CANONICAL_PATH_FORMAT);
2940
2941 pSMB->req.AndXCommand = 0xFF;
2942 pSMB->req.MaxBufferSize = cpu_to_le16(ses->server->maxBuf);
2943 pSMB->req.MaxMpxCount = cpu_to_le16(ses->server->maxReq);
2944
2945 if (ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
2946 smb_buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE;
2947
2948 capabilities = CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS |
2949 CAP_EXTENDED_SECURITY;
2950 if (ses->capabilities & CAP_UNICODE) {
2951 smb_buffer->Flags2 |= SMBFLG2_UNICODE;
2952 capabilities |= CAP_UNICODE;
2953 }
2954 if (ses->capabilities & CAP_STATUS32) {
2955 smb_buffer->Flags2 |= SMBFLG2_ERR_STATUS;
2956 capabilities |= CAP_STATUS32;
2957 }
2958 if (ses->capabilities & CAP_DFS) {
2959 smb_buffer->Flags2 |= SMBFLG2_DFS;
2960 capabilities |= CAP_DFS;
2961 }
2962 pSMB->req.Capabilities = cpu_to_le32(capabilities);
2963
2964 bcc_ptr = (char *) &pSMB->req.SecurityBlob;
2965 SecurityBlob = (PNEGOTIATE_MESSAGE) bcc_ptr;
2966 strncpy(SecurityBlob->Signature, NTLMSSP_SIGNATURE, 8);
2967 SecurityBlob->MessageType = NtLmNegotiate;
2968 negotiate_flags =
2969 NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_OEM |
2970 NTLMSSP_REQUEST_TARGET | NTLMSSP_NEGOTIATE_NTLM |
2971 NTLMSSP_NEGOTIATE_56 |
2972 /* NTLMSSP_NEGOTIATE_ALWAYS_SIGN | */ NTLMSSP_NEGOTIATE_128;
2973 if (sign_CIFS_PDUs)
2974 negotiate_flags |= NTLMSSP_NEGOTIATE_SIGN;
2975/* if (ntlmv2_support)
2976 negotiate_flags |= NTLMSSP_NEGOTIATE_NTLMV2;*/
2977 /* setup pointers to domain name and workstation name */
2978 bcc_ptr += SecurityBlobLength;
2979
2980 SecurityBlob->WorkstationName.Buffer = 0;
2981 SecurityBlob->WorkstationName.Length = 0;
2982 SecurityBlob->WorkstationName.MaximumLength = 0;
2983
2984 /* Domain not sent on first Sesssetup in NTLMSSP, instead it is sent
2985 along with username on auth request (ie the response to challenge) */
2986 SecurityBlob->DomainName.Buffer = 0;
2987 SecurityBlob->DomainName.Length = 0;
2988 SecurityBlob->DomainName.MaximumLength = 0;
2989 if (ses->capabilities & CAP_UNICODE) {
2990 if ((long) bcc_ptr % 2) {
2991 *bcc_ptr = 0;
2992 bcc_ptr++;
2993 }
2994
2995 bytes_returned =
2996 cifs_strtoUCS((__le16 *) bcc_ptr, "Linux version ",
2997 32, nls_codepage);
2998 bcc_ptr += 2 * bytes_returned;
2999 bytes_returned =
3000 cifs_strtoUCS((__le16 *) bcc_ptr, utsname()->release, 32,
3001 nls_codepage);
3002 bcc_ptr += 2 * bytes_returned;
3003 bcc_ptr += 2; /* null terminate Linux version */
3004 bytes_returned =
3005 cifs_strtoUCS((__le16 *) bcc_ptr, CIFS_NETWORK_OPSYS,
3006 64, nls_codepage);
3007 bcc_ptr += 2 * bytes_returned;
3008 *(bcc_ptr + 1) = 0;
3009 *(bcc_ptr + 2) = 0;
3010 bcc_ptr += 2; /* null terminate network opsys string */
3011 *(bcc_ptr + 1) = 0;
3012 *(bcc_ptr + 2) = 0;
3013 bcc_ptr += 2; /* null domain */
3014 } else { /* ASCII */
3015 strcpy(bcc_ptr, "Linux version ");
3016 bcc_ptr += strlen("Linux version ");
3017 strcpy(bcc_ptr, utsname()->release);
3018 bcc_ptr += strlen(utsname()->release) + 1;
3019 strcpy(bcc_ptr, CIFS_NETWORK_OPSYS);
3020 bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1;
3021 bcc_ptr++; /* empty domain field */
3022 *bcc_ptr = 0;
3023 }
3024 SecurityBlob->NegotiateFlags = cpu_to_le32(negotiate_flags);
3025 pSMB->req.SecurityBlobLength = cpu_to_le16(SecurityBlobLength);
3026 count = (long) bcc_ptr - (long) pByteArea(smb_buffer);
3027 smb_buffer->smb_buf_length += count;
3028 pSMB->req.ByteCount = cpu_to_le16(count);
3029
3030 rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response,
3031 &bytes_returned, CIFS_LONG_OP);
3032
3033 if (smb_buffer_response->Status.CifsError ==
3034 cpu_to_le32(NT_STATUS_MORE_PROCESSING_REQUIRED))
3035 rc = 0;
3036
3037 if (rc) {
3038/* rc = map_smb_to_linux_error(smb_buffer_response); *//* done in SendReceive now */
3039 } else if ((smb_buffer_response->WordCount == 3)
3040 || (smb_buffer_response->WordCount == 4)) {
3041 __u16 action = le16_to_cpu(pSMBr->resp.Action);
3042 __u16 blob_len = le16_to_cpu(pSMBr->resp.SecurityBlobLength);
3043
3044 if (action & GUEST_LOGIN)
3045 cFYI(1, ("Guest login"));
3046 /* Do we want to set anything in SesInfo struct when guest login? */
3047
3048 bcc_ptr = pByteArea(smb_buffer_response);
3049 /* response can have either 3 or 4 word count - Samba sends 3 */
3050
3051 SecurityBlob2 = (PCHALLENGE_MESSAGE) bcc_ptr;
3052 if (SecurityBlob2->MessageType != NtLmChallenge) {
3053 cFYI(1, ("Unexpected NTLMSSP message type received %d",
3054 SecurityBlob2->MessageType));
3055 } else if (ses) {
3056 ses->Suid = smb_buffer_response->Uid; /* UID left in le format */
3057 cFYI(1, ("UID = %d", ses->Suid));
3058 if ((pSMBr->resp.hdr.WordCount == 3)
3059 || ((pSMBr->resp.hdr.WordCount == 4)
3060 && (blob_len <
3061 pSMBr->resp.ByteCount))) {
3062
3063 if (pSMBr->resp.hdr.WordCount == 4) {
3064 bcc_ptr += blob_len;
3065 cFYI(1, ("Security Blob Length %d",
3066 blob_len));
3067 }
3068
3069 cFYI(1, ("NTLMSSP Challenge rcvd"));
3070
3071 memcpy(ses->server->cryptKey,
3072 SecurityBlob2->Challenge,
3073 CIFS_CRYPTO_KEY_SIZE);
3074 if (SecurityBlob2->NegotiateFlags &
3075 cpu_to_le32(NTLMSSP_NEGOTIATE_NTLMV2))
3076 *pNTLMv2_flag = true;
3077
3078 if ((SecurityBlob2->NegotiateFlags &
3079 cpu_to_le32(NTLMSSP_NEGOTIATE_ALWAYS_SIGN))
3080 || (sign_CIFS_PDUs > 1))
3081 ses->server->secMode |=
3082 SECMODE_SIGN_REQUIRED;
3083 if ((SecurityBlob2->NegotiateFlags &
3084 cpu_to_le32(NTLMSSP_NEGOTIATE_SIGN)) && (sign_CIFS_PDUs))
3085 ses->server->secMode |=
3086 SECMODE_SIGN_ENABLED;
3087
3088 if (smb_buffer->Flags2 & SMBFLG2_UNICODE) {
3089 if ((long) (bcc_ptr) % 2) {
3090 remaining_words =
3091 (BCC(smb_buffer_response)
3092 - 1) / 2;
3093 /* Must word align unicode strings */
3094 bcc_ptr++;
3095 } else {
3096 remaining_words =
3097 BCC
3098 (smb_buffer_response) / 2;
3099 }
3100 len =
3101 UniStrnlen((wchar_t *) bcc_ptr,
3102 remaining_words - 1);
3103/* We look for obvious messed up bcc or strings in response so we do not go off
3104 the end since (at least) WIN2K and Windows XP have a major bug in not null
3105 terminating last Unicode string in response */
3106 kfree(ses->serverOS);
3107 ses->serverOS =
3108 kzalloc(2 * (len + 1), GFP_KERNEL);
3109 cifs_strfromUCS_le(ses->serverOS,
3110 (__le16 *)
3111 bcc_ptr, len,
3112 nls_codepage);
3113 bcc_ptr += 2 * (len + 1);
3114 remaining_words -= len + 1;
3115 ses->serverOS[2 * len] = 0;
3116 ses->serverOS[1 + (2 * len)] = 0;
3117 if (remaining_words > 0) {
3118 len = UniStrnlen((wchar_t *)
3119 bcc_ptr,
3120 remaining_words
3121 - 1);
3122 kfree(ses->serverNOS);
3123 ses->serverNOS =
3124 kzalloc(2 * (len + 1),
3125 GFP_KERNEL);
3126 cifs_strfromUCS_le(ses->
3127 serverNOS,
3128 (__le16 *)
3129 bcc_ptr,
3130 len,
3131 nls_codepage);
3132 bcc_ptr += 2 * (len + 1);
3133 ses->serverNOS[2 * len] = 0;
3134 ses->serverNOS[1 +
3135 (2 * len)] = 0;
3136 remaining_words -= len + 1;
3137 if (remaining_words > 0) {
3138 len = UniStrnlen((wchar_t *) bcc_ptr, remaining_words);
3139 /* last string not always null terminated
3140 (for e.g. for Windows XP & 2000) */
3141 kfree(ses->serverDomain);
3142 ses->serverDomain =
3143 kzalloc(2 *
3144 (len +
3145 1),
3146 GFP_KERNEL);
3147 cifs_strfromUCS_le
3148 (ses->serverDomain,
3149 (__le16 *)bcc_ptr,
3150 len, nls_codepage);
3151 bcc_ptr +=
3152 2 * (len + 1);
3153 ses->serverDomain[2*len]
3154 = 0;
3155 ses->serverDomain
3156 [1 + (2 * len)]
3157 = 0;
3158 } /* else no more room so create dummy domain string */
3159 else {
3160 kfree(ses->serverDomain);
3161 ses->serverDomain =
3162 kzalloc(2,
3163 GFP_KERNEL);
3164 }
3165 } else { /* no room so create dummy domain and NOS string */
3166 kfree(ses->serverDomain);
3167 ses->serverDomain =
3168 kzalloc(2, GFP_KERNEL);
3169 kfree(ses->serverNOS);
3170 ses->serverNOS =
3171 kzalloc(2, GFP_KERNEL);
3172 }
3173 } else { /* ASCII */
3174 len = strnlen(bcc_ptr, 1024);
3175 if (((long) bcc_ptr + len) - (long)
3176 pByteArea(smb_buffer_response)
3177 <= BCC(smb_buffer_response)) {
3178 kfree(ses->serverOS);
3179 ses->serverOS =
3180 kzalloc(len + 1,
3181 GFP_KERNEL);
3182 strncpy(ses->serverOS,
3183 bcc_ptr, len);
3184
3185 bcc_ptr += len;
3186 bcc_ptr[0] = 0; /* null terminate string */
3187 bcc_ptr++;
3188
3189 len = strnlen(bcc_ptr, 1024);
3190 kfree(ses->serverNOS);
3191 ses->serverNOS =
3192 kzalloc(len + 1,
3193 GFP_KERNEL);
3194 strncpy(ses->serverNOS, bcc_ptr, len);
3195 bcc_ptr += len;
3196 bcc_ptr[0] = 0;
3197 bcc_ptr++;
3198
3199 len = strnlen(bcc_ptr, 1024);
3200 kfree(ses->serverDomain);
3201 ses->serverDomain =
3202 kzalloc(len + 1,
3203 GFP_KERNEL);
3204 strncpy(ses->serverDomain,
3205 bcc_ptr, len);
3206 bcc_ptr += len;
3207 bcc_ptr[0] = 0;
3208 bcc_ptr++;
3209 } else
3210 cFYI(1,
3211 ("field of length %d "
3212 "extends beyond end of smb",
3213 len));
3214 }
3215 } else {
3216 cERROR(1, ("Security Blob Length extends beyond"
3217 " end of SMB"));
3218 }
3219 } else {
3220 cERROR(1, ("No session structure passed in."));
3221 }
3222 } else {
3223 cERROR(1, ("Invalid Word count %d:",
3224 smb_buffer_response->WordCount));
3225 rc = -EIO;
3226 }
3227
3228 cifs_buf_release(smb_buffer);
3229
3230 return rc;
3231}
3232static int
3233CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses,
3234 char *ntlm_session_key, bool ntlmv2_flag,
3235 const struct nls_table *nls_codepage)
3236{
3237 struct smb_hdr *smb_buffer;
3238 struct smb_hdr *smb_buffer_response;
3239 SESSION_SETUP_ANDX *pSMB;
3240 SESSION_SETUP_ANDX *pSMBr;
3241 char *bcc_ptr;
3242 char *user;
3243 char *domain;
3244 int rc = 0;
3245 int remaining_words = 0;
3246 int bytes_returned = 0;
3247 int len;
3248 int SecurityBlobLength = sizeof(AUTHENTICATE_MESSAGE);
3249 PAUTHENTICATE_MESSAGE SecurityBlob;
3250 __u32 negotiate_flags, capabilities;
3251 __u16 count;
3252
3253 cFYI(1, ("In NTLMSSPSessSetup (Authenticate)"));
3254 if (ses == NULL)
3255 return -EINVAL;
3256 user = ses->userName;
3257 domain = ses->domainName;
3258 smb_buffer = cifs_buf_get();
3259 if (smb_buffer == NULL) {
3260 return -ENOMEM;
3261 }
3262 smb_buffer_response = smb_buffer;
3263 pSMB = (SESSION_SETUP_ANDX *)smb_buffer;
3264 pSMBr = (SESSION_SETUP_ANDX *)smb_buffer_response;
3265
3266 /* send SMBsessionSetup here */
3267 header_assemble(smb_buffer, SMB_COM_SESSION_SETUP_ANDX,
3268 NULL /* no tCon exists yet */ , 12 /* wct */ );
3269
3270 smb_buffer->Mid = GetNextMid(ses->server);
3271 pSMB->req.hdr.Flags |= (SMBFLG_CASELESS | SMBFLG_CANONICAL_PATH_FORMAT);
3272 pSMB->req.hdr.Flags2 |= SMBFLG2_EXT_SEC;
3273 pSMB->req.AndXCommand = 0xFF;
3274 pSMB->req.MaxBufferSize = cpu_to_le16(ses->server->maxBuf);
3275 pSMB->req.MaxMpxCount = cpu_to_le16(ses->server->maxReq);
3276
3277 pSMB->req.hdr.Uid = ses->Suid;
3278
3279 if (ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
3280 smb_buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE;
3281
3282 capabilities = CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS |
3283 CAP_EXTENDED_SECURITY;
3284 if (ses->capabilities & CAP_UNICODE) {
3285 smb_buffer->Flags2 |= SMBFLG2_UNICODE;
3286 capabilities |= CAP_UNICODE;
3287 }
3288 if (ses->capabilities & CAP_STATUS32) {
3289 smb_buffer->Flags2 |= SMBFLG2_ERR_STATUS;
3290 capabilities |= CAP_STATUS32;
3291 }
3292 if (ses->capabilities & CAP_DFS) {
3293 smb_buffer->Flags2 |= SMBFLG2_DFS;
3294 capabilities |= CAP_DFS;
3295 }
3296 pSMB->req.Capabilities = cpu_to_le32(capabilities);
3297
3298 bcc_ptr = (char *)&pSMB->req.SecurityBlob;
3299 SecurityBlob = (PAUTHENTICATE_MESSAGE)bcc_ptr;
3300 strncpy(SecurityBlob->Signature, NTLMSSP_SIGNATURE, 8);
3301 SecurityBlob->MessageType = NtLmAuthenticate;
3302 bcc_ptr += SecurityBlobLength;
3303 negotiate_flags = NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_REQUEST_TARGET |
3304 NTLMSSP_NEGOTIATE_NTLM | NTLMSSP_NEGOTIATE_TARGET_INFO |
3305 0x80000000 | NTLMSSP_NEGOTIATE_128;
3306 if (sign_CIFS_PDUs)
3307 negotiate_flags |= /* NTLMSSP_NEGOTIATE_ALWAYS_SIGN |*/ NTLMSSP_NEGOTIATE_SIGN;
3308 if (ntlmv2_flag)
3309 negotiate_flags |= NTLMSSP_NEGOTIATE_NTLMV2;
3310
3311/* setup pointers to domain name and workstation name */
3312
3313 SecurityBlob->WorkstationName.Buffer = 0;
3314 SecurityBlob->WorkstationName.Length = 0;
3315 SecurityBlob->WorkstationName.MaximumLength = 0;
3316 SecurityBlob->SessionKey.Length = 0;
3317 SecurityBlob->SessionKey.MaximumLength = 0;
3318 SecurityBlob->SessionKey.Buffer = 0;
3319
3320 SecurityBlob->LmChallengeResponse.Length = 0;
3321 SecurityBlob->LmChallengeResponse.MaximumLength = 0;
3322 SecurityBlob->LmChallengeResponse.Buffer = 0;
3323
3324 SecurityBlob->NtChallengeResponse.Length =
3325 cpu_to_le16(CIFS_SESS_KEY_SIZE);
3326 SecurityBlob->NtChallengeResponse.MaximumLength =
3327 cpu_to_le16(CIFS_SESS_KEY_SIZE);
3328 memcpy(bcc_ptr, ntlm_session_key, CIFS_SESS_KEY_SIZE);
3329 SecurityBlob->NtChallengeResponse.Buffer =
3330 cpu_to_le32(SecurityBlobLength);
3331 SecurityBlobLength += CIFS_SESS_KEY_SIZE;
3332 bcc_ptr += CIFS_SESS_KEY_SIZE;
3333
3334 if (ses->capabilities & CAP_UNICODE) {
3335 if (domain == NULL) {
3336 SecurityBlob->DomainName.Buffer = 0;
3337 SecurityBlob->DomainName.Length = 0;
3338 SecurityBlob->DomainName.MaximumLength = 0;
3339 } else {
3340 __u16 ln = cifs_strtoUCS((__le16 *) bcc_ptr, domain, 64,
3341 nls_codepage);
3342 ln *= 2;
3343 SecurityBlob->DomainName.MaximumLength =
3344 cpu_to_le16(ln);
3345 SecurityBlob->DomainName.Buffer =
3346 cpu_to_le32(SecurityBlobLength);
3347 bcc_ptr += ln;
3348 SecurityBlobLength += ln;
3349 SecurityBlob->DomainName.Length = cpu_to_le16(ln);
3350 }
3351 if (user == NULL) {
3352 SecurityBlob->UserName.Buffer = 0;
3353 SecurityBlob->UserName.Length = 0;
3354 SecurityBlob->UserName.MaximumLength = 0;
3355 } else {
3356 __u16 ln = cifs_strtoUCS((__le16 *) bcc_ptr, user, 64,
3357 nls_codepage);
3358 ln *= 2;
3359 SecurityBlob->UserName.MaximumLength =
3360 cpu_to_le16(ln);
3361 SecurityBlob->UserName.Buffer =
3362 cpu_to_le32(SecurityBlobLength);
3363 bcc_ptr += ln;
3364 SecurityBlobLength += ln;
3365 SecurityBlob->UserName.Length = cpu_to_le16(ln);
3366 }
3367
3368 /* SecurityBlob->WorkstationName.Length =
3369 cifs_strtoUCS((__le16 *) bcc_ptr, "AMACHINE",64, nls_codepage);
3370 SecurityBlob->WorkstationName.Length *= 2;
3371 SecurityBlob->WorkstationName.MaximumLength =
3372 cpu_to_le16(SecurityBlob->WorkstationName.Length);
3373 SecurityBlob->WorkstationName.Buffer =
3374 cpu_to_le32(SecurityBlobLength);
3375 bcc_ptr += SecurityBlob->WorkstationName.Length;
3376 SecurityBlobLength += SecurityBlob->WorkstationName.Length;
3377 SecurityBlob->WorkstationName.Length =
3378 cpu_to_le16(SecurityBlob->WorkstationName.Length); */
3379
3380 if ((long) bcc_ptr % 2) {
3381 *bcc_ptr = 0;
3382 bcc_ptr++;
3383 }
3384 bytes_returned =
3385 cifs_strtoUCS((__le16 *) bcc_ptr, "Linux version ",
3386 32, nls_codepage);
3387 bcc_ptr += 2 * bytes_returned;
3388 bytes_returned =
3389 cifs_strtoUCS((__le16 *) bcc_ptr, utsname()->release, 32,
3390 nls_codepage);
3391 bcc_ptr += 2 * bytes_returned;
3392 bcc_ptr += 2; /* null term version string */
3393 bytes_returned =
3394 cifs_strtoUCS((__le16 *) bcc_ptr, CIFS_NETWORK_OPSYS,
3395 64, nls_codepage);
3396 bcc_ptr += 2 * bytes_returned;
3397 *(bcc_ptr + 1) = 0;
3398 *(bcc_ptr + 2) = 0;
3399 bcc_ptr += 2; /* null terminate network opsys string */
3400 *(bcc_ptr + 1) = 0;
3401 *(bcc_ptr + 2) = 0;
3402 bcc_ptr += 2; /* null domain */
3403 } else { /* ASCII */
3404 if (domain == NULL) {
3405 SecurityBlob->DomainName.Buffer = 0;
3406 SecurityBlob->DomainName.Length = 0;
3407 SecurityBlob->DomainName.MaximumLength = 0;
3408 } else {
3409 __u16 ln;
3410 negotiate_flags |= NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED;
3411 strncpy(bcc_ptr, domain, 63);
3412 ln = strnlen(domain, 64);
3413 SecurityBlob->DomainName.MaximumLength =
3414 cpu_to_le16(ln);
3415 SecurityBlob->DomainName.Buffer =
3416 cpu_to_le32(SecurityBlobLength);
3417 bcc_ptr += ln;
3418 SecurityBlobLength += ln;
3419 SecurityBlob->DomainName.Length = cpu_to_le16(ln);
3420 }
3421 if (user == NULL) {
3422 SecurityBlob->UserName.Buffer = 0;
3423 SecurityBlob->UserName.Length = 0;
3424 SecurityBlob->UserName.MaximumLength = 0;
3425 } else {
3426 __u16 ln;
3427 strncpy(bcc_ptr, user, 63);
3428 ln = strnlen(user, 64);
3429 SecurityBlob->UserName.MaximumLength = cpu_to_le16(ln);
3430 SecurityBlob->UserName.Buffer =
3431 cpu_to_le32(SecurityBlobLength);
3432 bcc_ptr += ln;
3433 SecurityBlobLength += ln;
3434 SecurityBlob->UserName.Length = cpu_to_le16(ln);
3435 }
3436 /* BB fill in our workstation name if known BB */
3437
3438 strcpy(bcc_ptr, "Linux version ");
3439 bcc_ptr += strlen("Linux version ");
3440 strcpy(bcc_ptr, utsname()->release);
3441 bcc_ptr += strlen(utsname()->release) + 1;
3442 strcpy(bcc_ptr, CIFS_NETWORK_OPSYS);
3443 bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1;
3444 bcc_ptr++; /* null domain */
3445 *bcc_ptr = 0;
3446 }
3447 SecurityBlob->NegotiateFlags = cpu_to_le32(negotiate_flags);
3448 pSMB->req.SecurityBlobLength = cpu_to_le16(SecurityBlobLength);
3449 count = (long) bcc_ptr - (long) pByteArea(smb_buffer);
3450 smb_buffer->smb_buf_length += count;
3451 pSMB->req.ByteCount = cpu_to_le16(count);
3452
3453 rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response,
3454 &bytes_returned, CIFS_LONG_OP);
3455 if (rc) {
3456/* rc = map_smb_to_linux_error(smb_buffer_response) done in SendReceive now */
3457 } else if ((smb_buffer_response->WordCount == 3) ||
3458 (smb_buffer_response->WordCount == 4)) {
3459 __u16 action = le16_to_cpu(pSMBr->resp.Action);
3460 __u16 blob_len = le16_to_cpu(pSMBr->resp.SecurityBlobLength);
3461 if (action & GUEST_LOGIN)
3462 cFYI(1, ("Guest login")); /* BB Should we set anything
3463 in SesInfo struct ? */
3464/* if (SecurityBlob2->MessageType != NtLm??) {
3465 cFYI("Unexpected message type on auth response is %d"));
3466 } */
3467
3468 if (ses) {
3469 cFYI(1,
3470 ("Check challenge UID %d vs auth response UID %d",
3471 ses->Suid, smb_buffer_response->Uid));
3472 /* UID left in wire format */
3473 ses->Suid = smb_buffer_response->Uid;
3474 bcc_ptr = pByteArea(smb_buffer_response);
3475 /* response can have either 3 or 4 word count - Samba sends 3 */
3476 if ((pSMBr->resp.hdr.WordCount == 3)
3477 || ((pSMBr->resp.hdr.WordCount == 4)
3478 && (blob_len <
3479 pSMBr->resp.ByteCount))) {
3480 if (pSMBr->resp.hdr.WordCount == 4) {
3481 bcc_ptr +=
3482 blob_len;
3483 cFYI(1,
3484 ("Security Blob Length %d ",
3485 blob_len));
3486 }
3487
3488 cFYI(1,
3489 ("NTLMSSP response to Authenticate "));
3490
3491 if (smb_buffer->Flags2 & SMBFLG2_UNICODE) {
3492 if ((long) (bcc_ptr) % 2) {
3493 remaining_words =
3494 (BCC(smb_buffer_response)
3495 - 1) / 2;
3496 bcc_ptr++; /* Unicode strings must be word aligned */
3497 } else {
3498 remaining_words = BCC(smb_buffer_response) / 2;
3499 }
3500 len = UniStrnlen((wchar_t *) bcc_ptr,
3501 remaining_words - 1);
3502/* We look for obvious messed up bcc or strings in response so we do not go off
3503 the end since (at least) WIN2K and Windows XP have a major bug in not null
3504 terminating last Unicode string in response */
3505 kfree(ses->serverOS);
3506 ses->serverOS =
3507 kzalloc(2 * (len + 1), GFP_KERNEL);
3508 cifs_strfromUCS_le(ses->serverOS,
3509 (__le16 *)
3510 bcc_ptr, len,
3511 nls_codepage);
3512 bcc_ptr += 2 * (len + 1);
3513 remaining_words -= len + 1;
3514 ses->serverOS[2 * len] = 0;
3515 ses->serverOS[1 + (2 * len)] = 0;
3516 if (remaining_words > 0) {
3517 len = UniStrnlen((wchar_t *)
3518 bcc_ptr,
3519 remaining_words
3520 - 1);
3521 kfree(ses->serverNOS);
3522 ses->serverNOS =
3523 kzalloc(2 * (len + 1),
3524 GFP_KERNEL);
3525 cifs_strfromUCS_le(ses->
3526 serverNOS,
3527 (__le16 *)
3528 bcc_ptr,
3529 len,
3530 nls_codepage);
3531 bcc_ptr += 2 * (len + 1);
3532 ses->serverNOS[2 * len] = 0;
3533 ses->serverNOS[1+(2*len)] = 0;
3534 remaining_words -= len + 1;
3535 if (remaining_words > 0) {
3536 len = UniStrnlen((wchar_t *) bcc_ptr, remaining_words);
3537 /* last string not always null terminated (e.g. for Windows XP & 2000) */
3538 kfree(ses->serverDomain);
3539 ses->serverDomain =
3540 kzalloc(2 *
3541 (len +
3542 1),
3543 GFP_KERNEL);
3544 cifs_strfromUCS_le
3545 (ses->
3546 serverDomain,
3547 (__le16 *)
3548 bcc_ptr, len,
3549 nls_codepage);
3550 bcc_ptr +=
3551 2 * (len + 1);
3552 ses->
3553 serverDomain[2
3554 * len]
3555 = 0;
3556 ses->
3557 serverDomain[1
3558 +
3559 (2
3560 *
3561 len)]
3562 = 0;
3563 } /* else no more room so create dummy domain string */
3564 else {
3565 kfree(ses->serverDomain);
3566 ses->serverDomain = kzalloc(2,GFP_KERNEL);
3567 }
3568 } else { /* no room so create dummy domain and NOS string */
3569 kfree(ses->serverDomain);
3570 ses->serverDomain = kzalloc(2, GFP_KERNEL);
3571 kfree(ses->serverNOS);
3572 ses->serverNOS = kzalloc(2, GFP_KERNEL);
3573 }
3574 } else { /* ASCII */
3575 len = strnlen(bcc_ptr, 1024);
3576 if (((long) bcc_ptr + len) -
3577 (long) pByteArea(smb_buffer_response)
3578 <= BCC(smb_buffer_response)) {
3579 kfree(ses->serverOS);
3580 ses->serverOS = kzalloc(len + 1, GFP_KERNEL);
3581 strncpy(ses->serverOS,bcc_ptr, len);
3582
3583 bcc_ptr += len;
3584 bcc_ptr[0] = 0; /* null terminate the string */
3585 bcc_ptr++;
3586
3587 len = strnlen(bcc_ptr, 1024);
3588 kfree(ses->serverNOS);
3589 ses->serverNOS = kzalloc(len+1,
3590 GFP_KERNEL);
3591 strncpy(ses->serverNOS,
3592 bcc_ptr, len);
3593 bcc_ptr += len;
3594 bcc_ptr[0] = 0;
3595 bcc_ptr++;
3596
3597 len = strnlen(bcc_ptr, 1024);
3598 kfree(ses->serverDomain);
3599 ses->serverDomain =
3600 kzalloc(len+1,
3601 GFP_KERNEL);
3602 strncpy(ses->serverDomain,
3603 bcc_ptr, len);
3604 bcc_ptr += len;
3605 bcc_ptr[0] = 0;
3606 bcc_ptr++;
3607 } else
3608 cFYI(1, ("field of length %d "
3609 "extends beyond end of smb ",
3610 len));
3611 }
3612 } else {
3613 cERROR(1, ("Security Blob extends beyond end "
3614 "of SMB"));
3615 }
3616 } else {
3617 cERROR(1, ("No session structure passed in."));
3618 }
3619 } else {
3620 cERROR(1, ("Invalid Word count %d: ",
3621 smb_buffer_response->WordCount));
3622 rc = -EIO;
3623 }
3624
3625 cifs_buf_release(smb_buffer);
3626
3627 return rc;
3628}
3629
3630int 2615int
3631CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, 2616CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
3632 const char *tree, struct cifsTconInfo *tcon, 2617 const char *tree, struct cifsTconInfo *tcon,
@@ -3638,7 +2623,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
3638 TCONX_RSP *pSMBr; 2623 TCONX_RSP *pSMBr;
3639 unsigned char *bcc_ptr; 2624 unsigned char *bcc_ptr;
3640 int rc = 0; 2625 int rc = 0;
3641 int length; 2626 int length, bytes_left;
3642 __u16 count; 2627 __u16 count;
3643 2628
3644 if (ses == NULL) 2629 if (ses == NULL)
@@ -3726,14 +2711,22 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
3726 rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response, &length, 2711 rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response, &length,
3727 CIFS_STD_OP); 2712 CIFS_STD_OP);
3728 2713
3729 /* if (rc) rc = map_smb_to_linux_error(smb_buffer_response); */
3730 /* above now done in SendReceive */ 2714 /* above now done in SendReceive */
3731 if ((rc == 0) && (tcon != NULL)) { 2715 if ((rc == 0) && (tcon != NULL)) {
2716 bool is_unicode;
2717
3732 tcon->tidStatus = CifsGood; 2718 tcon->tidStatus = CifsGood;
3733 tcon->need_reconnect = false; 2719 tcon->need_reconnect = false;
3734 tcon->tid = smb_buffer_response->Tid; 2720 tcon->tid = smb_buffer_response->Tid;
3735 bcc_ptr = pByteArea(smb_buffer_response); 2721 bcc_ptr = pByteArea(smb_buffer_response);
3736 length = strnlen(bcc_ptr, BCC(smb_buffer_response) - 2); 2722 bytes_left = BCC(smb_buffer_response);
2723 length = strnlen(bcc_ptr, bytes_left - 2);
2724 if (smb_buffer->Flags2 & SMBFLG2_UNICODE)
2725 is_unicode = true;
2726 else
2727 is_unicode = false;
2728
2729
3737 /* skip service field (NB: this field is always ASCII) */ 2730 /* skip service field (NB: this field is always ASCII) */
3738 if (length == 3) { 2731 if (length == 3) {
3739 if ((bcc_ptr[0] == 'I') && (bcc_ptr[1] == 'P') && 2732 if ((bcc_ptr[0] == 'I') && (bcc_ptr[1] == 'P') &&
@@ -3748,39 +2741,16 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
3748 } 2741 }
3749 } 2742 }
3750 bcc_ptr += length + 1; 2743 bcc_ptr += length + 1;
2744 bytes_left -= (length + 1);
3751 strncpy(tcon->treeName, tree, MAX_TREE_SIZE); 2745 strncpy(tcon->treeName, tree, MAX_TREE_SIZE);
3752 if (smb_buffer->Flags2 & SMBFLG2_UNICODE) { 2746
3753 length = UniStrnlen((wchar_t *) bcc_ptr, 512); 2747 /* mostly informational -- no need to fail on error here */
3754 if ((bcc_ptr + (2 * length)) - 2748 tcon->nativeFileSystem = cifs_strndup_from_ucs(bcc_ptr,
3755 pByteArea(smb_buffer_response) <= 2749 bytes_left, is_unicode,
3756 BCC(smb_buffer_response)) { 2750 nls_codepage);
3757 kfree(tcon->nativeFileSystem); 2751
3758 tcon->nativeFileSystem = 2752 cFYI(1, ("nativeFileSystem=%s", tcon->nativeFileSystem));
3759 kzalloc((4 * length) + 2, GFP_KERNEL); 2753
3760 if (tcon->nativeFileSystem) {
3761 cifs_strfromUCS_le(
3762 tcon->nativeFileSystem,
3763 (__le16 *) bcc_ptr,
3764 length, nls_codepage);
3765 cFYI(1, ("nativeFileSystem=%s",
3766 tcon->nativeFileSystem));
3767 }
3768 }
3769 /* else do not bother copying these information fields*/
3770 } else {
3771 length = strnlen(bcc_ptr, 1024);
3772 if ((bcc_ptr + length) -
3773 pByteArea(smb_buffer_response) <=
3774 BCC(smb_buffer_response)) {
3775 kfree(tcon->nativeFileSystem);
3776 tcon->nativeFileSystem =
3777 kzalloc(length + 1, GFP_KERNEL);
3778 if (tcon->nativeFileSystem)
3779 strncpy(tcon->nativeFileSystem, bcc_ptr,
3780 length);
3781 }
3782 /* else do not bother copying these information fields*/
3783 }
3784 if ((smb_buffer_response->WordCount == 3) || 2754 if ((smb_buffer_response->WordCount == 3) ||
3785 (smb_buffer_response->WordCount == 7)) 2755 (smb_buffer_response->WordCount == 7))
3786 /* field is in same location */ 2756 /* field is in same location */
@@ -3819,8 +2789,6 @@ int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo,
3819 struct nls_table *nls_info) 2789 struct nls_table *nls_info)
3820{ 2790{
3821 int rc = 0; 2791 int rc = 0;
3822 char ntlm_session_key[CIFS_SESS_KEY_SIZE];
3823 bool ntlmv2_flag = false;
3824 int first_time = 0; 2792 int first_time = 0;
3825 struct TCP_Server_Info *server = pSesInfo->server; 2793 struct TCP_Server_Info *server = pSesInfo->server;
3826 2794
@@ -3852,83 +2820,19 @@ int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo,
3852 pSesInfo->capabilities = server->capabilities; 2820 pSesInfo->capabilities = server->capabilities;
3853 if (linuxExtEnabled == 0) 2821 if (linuxExtEnabled == 0)
3854 pSesInfo->capabilities &= (~CAP_UNIX); 2822 pSesInfo->capabilities &= (~CAP_UNIX);
3855 /* pSesInfo->sequence_number = 0;*/ 2823
3856 cFYI(1, ("Security Mode: 0x%x Capabilities: 0x%x TimeAdjust: %d", 2824 cFYI(1, ("Security Mode: 0x%x Capabilities: 0x%x TimeAdjust: %d",
3857 server->secMode, server->capabilities, server->timeAdj)); 2825 server->secMode, server->capabilities, server->timeAdj));
3858 2826
3859 if (experimEnabled < 2) 2827 rc = CIFS_SessSetup(xid, pSesInfo, first_time, nls_info);
3860 rc = CIFS_SessSetup(xid, pSesInfo, first_time, nls_info);
3861 else if (extended_security
3862 && (pSesInfo->capabilities & CAP_EXTENDED_SECURITY)
3863 && (server->secType == NTLMSSP)) {
3864 rc = -EOPNOTSUPP;
3865 } else if (extended_security
3866 && (pSesInfo->capabilities & CAP_EXTENDED_SECURITY)
3867 && (server->secType == RawNTLMSSP)) {
3868 cFYI(1, ("NTLMSSP sesssetup"));
3869 rc = CIFSNTLMSSPNegotiateSessSetup(xid, pSesInfo, &ntlmv2_flag,
3870 nls_info);
3871 if (!rc) {
3872 if (ntlmv2_flag) {
3873 char *v2_response;
3874 cFYI(1, ("more secure NTLM ver2 hash"));
3875 if (CalcNTLMv2_partial_mac_key(pSesInfo,
3876 nls_info)) {
3877 rc = -ENOMEM;
3878 goto ss_err_exit;
3879 } else
3880 v2_response = kmalloc(16 + 64 /* blob*/,
3881 GFP_KERNEL);
3882 if (v2_response) {
3883 CalcNTLMv2_response(pSesInfo,
3884 v2_response);
3885 /* if (first_time)
3886 cifs_calculate_ntlmv2_mac_key */
3887 kfree(v2_response);
3888 /* BB Put dummy sig in SessSetup PDU? */
3889 } else {
3890 rc = -ENOMEM;
3891 goto ss_err_exit;
3892 }
3893
3894 } else {
3895 SMBNTencrypt(pSesInfo->password,
3896 server->cryptKey,
3897 ntlm_session_key);
3898
3899 if (first_time)
3900 cifs_calculate_mac_key(
3901 &server->mac_signing_key,
3902 ntlm_session_key,
3903 pSesInfo->password);
3904 }
3905 /* for better security the weaker lanman hash not sent
3906 in AuthSessSetup so we no longer calculate it */
3907
3908 rc = CIFSNTLMSSPAuthSessSetup(xid, pSesInfo,
3909 ntlm_session_key,
3910 ntlmv2_flag,
3911 nls_info);
3912 }
3913 } else { /* old style NTLM 0.12 session setup */
3914 SMBNTencrypt(pSesInfo->password, server->cryptKey,
3915 ntlm_session_key);
3916
3917 if (first_time)
3918 cifs_calculate_mac_key(&server->mac_signing_key,
3919 ntlm_session_key,
3920 pSesInfo->password);
3921
3922 rc = CIFSSessSetup(xid, pSesInfo, ntlm_session_key, nls_info);
3923 }
3924 if (rc) { 2828 if (rc) {
3925 cERROR(1, ("Send error in SessSetup = %d", rc)); 2829 cERROR(1, ("Send error in SessSetup = %d", rc));
3926 } else { 2830 } else {
3927 cFYI(1, ("CIFS Session Established successfully")); 2831 cFYI(1, ("CIFS Session Established successfully"));
3928 spin_lock(&GlobalMid_Lock); 2832 spin_lock(&GlobalMid_Lock);
3929 pSesInfo->status = CifsGood; 2833 pSesInfo->status = CifsGood;
3930 pSesInfo->need_reconnect = false; 2834 pSesInfo->need_reconnect = false;
3931 spin_unlock(&GlobalMid_Lock); 2835 spin_unlock(&GlobalMid_Lock);
3932 } 2836 }
3933 2837
3934ss_err_exit: 2838ss_err_exit:
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index 461750e01364..11431ed72a7f 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -281,6 +281,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
281 int create_options = CREATE_NOT_DIR; 281 int create_options = CREATE_NOT_DIR;
282 int oplock = 0; 282 int oplock = 0;
283 int oflags; 283 int oflags;
284 bool posix_create = false;
284 /* 285 /*
285 * BB below access is probably too much for mknod to request 286 * BB below access is probably too much for mknod to request
286 * but we have to do query and setpathinfo so requesting 287 * but we have to do query and setpathinfo so requesting
@@ -328,11 +329,13 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
328 negotation. EREMOTE indicates DFS junction, which is not 329 negotation. EREMOTE indicates DFS junction, which is not
329 handled in posix open */ 330 handled in posix open */
330 331
331 if ((rc == 0) && (newinode == NULL)) 332 if (rc == 0) {
332 goto cifs_create_get_file_info; /* query inode info */ 333 posix_create = true;
333 else if (rc == 0) /* success, no need to query */ 334 if (newinode == NULL) /* query inode info */
334 goto cifs_create_set_dentry; 335 goto cifs_create_get_file_info;
335 else if ((rc != -EIO) && (rc != -EREMOTE) && 336 else /* success, no need to query */
337 goto cifs_create_set_dentry;
338 } else if ((rc != -EIO) && (rc != -EREMOTE) &&
336 (rc != -EOPNOTSUPP)) /* path not found or net err */ 339 (rc != -EOPNOTSUPP)) /* path not found or net err */
337 goto cifs_create_out; 340 goto cifs_create_out;
338 /* else fallthrough to retry, using older open call, this is 341 /* else fallthrough to retry, using older open call, this is
@@ -464,7 +467,7 @@ cifs_create_set_dentry:
464 if ((nd == NULL) || (!(nd->flags & LOOKUP_OPEN))) { 467 if ((nd == NULL) || (!(nd->flags & LOOKUP_OPEN))) {
465 /* mknod case - do not leave file open */ 468 /* mknod case - do not leave file open */
466 CIFSSMBClose(xid, tcon, fileHandle); 469 CIFSSMBClose(xid, tcon, fileHandle);
467 } else if (newinode) { 470 } else if (!(posix_create) && (newinode)) {
468 cifs_fill_fileinfo(newinode, fileHandle, 471 cifs_fill_fileinfo(newinode, fileHandle,
469 cifs_sb->tcon, write_only); 472 cifs_sb->tcon, write_only);
470 } 473 }
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index 50ca088d8860..38c06f826575 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -129,15 +129,12 @@ static inline int cifs_posix_open_inode_helper(struct inode *inode,
129 struct file *file, struct cifsInodeInfo *pCifsInode, 129 struct file *file, struct cifsInodeInfo *pCifsInode,
130 struct cifsFileInfo *pCifsFile, int oplock, u16 netfid) 130 struct cifsFileInfo *pCifsFile, int oplock, u16 netfid)
131{ 131{
132 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb);
133/* struct timespec temp; */ /* BB REMOVEME BB */
134 132
135 file->private_data = kmalloc(sizeof(struct cifsFileInfo), GFP_KERNEL); 133 file->private_data = kmalloc(sizeof(struct cifsFileInfo), GFP_KERNEL);
136 if (file->private_data == NULL) 134 if (file->private_data == NULL)
137 return -ENOMEM; 135 return -ENOMEM;
138 pCifsFile = cifs_init_private(file->private_data, inode, file, netfid); 136 pCifsFile = cifs_init_private(file->private_data, inode, file, netfid);
139 write_lock(&GlobalSMBSeslock); 137 write_lock(&GlobalSMBSeslock);
140 list_add(&pCifsFile->tlist, &cifs_sb->tcon->openFileList);
141 138
142 pCifsInode = CIFS_I(file->f_path.dentry->d_inode); 139 pCifsInode = CIFS_I(file->f_path.dentry->d_inode);
143 if (pCifsInode == NULL) { 140 if (pCifsInode == NULL) {
@@ -145,17 +142,6 @@ static inline int cifs_posix_open_inode_helper(struct inode *inode,
145 return -EINVAL; 142 return -EINVAL;
146 } 143 }
147 144
148 /* want handles we can use to read with first
149 in the list so we do not have to walk the
150 list to search for one in write_begin */
151 if ((file->f_flags & O_ACCMODE) == O_WRONLY) {
152 list_add_tail(&pCifsFile->flist,
153 &pCifsInode->openFileList);
154 } else {
155 list_add(&pCifsFile->flist,
156 &pCifsInode->openFileList);
157 }
158
159 if (pCifsInode->clientCanCacheRead) { 145 if (pCifsInode->clientCanCacheRead) {
160 /* we have the inode open somewhere else 146 /* we have the inode open somewhere else
161 no need to discard cache data */ 147 no need to discard cache data */
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index f36b4e40e443..9c869a6dcba1 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -962,13 +962,21 @@ undo_setattr:
962 goto out_close; 962 goto out_close;
963} 963}
964 964
965
966/*
967 * If dentry->d_inode is null (usually meaning the cached dentry
968 * is a negative dentry) then we would attempt a standard SMB delete, but
969 * if that fails we can not attempt the fall back mechanisms on EACESS
970 * but will return the EACESS to the caller. Note that the VFS does not call
971 * unlink on negative dentries currently.
972 */
965int cifs_unlink(struct inode *dir, struct dentry *dentry) 973int cifs_unlink(struct inode *dir, struct dentry *dentry)
966{ 974{
967 int rc = 0; 975 int rc = 0;
968 int xid; 976 int xid;
969 char *full_path = NULL; 977 char *full_path = NULL;
970 struct inode *inode = dentry->d_inode; 978 struct inode *inode = dentry->d_inode;
971 struct cifsInodeInfo *cifsInode = CIFS_I(inode); 979 struct cifsInodeInfo *cifs_inode;
972 struct super_block *sb = dir->i_sb; 980 struct super_block *sb = dir->i_sb;
973 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); 981 struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
974 struct cifsTconInfo *tcon = cifs_sb->tcon; 982 struct cifsTconInfo *tcon = cifs_sb->tcon;
@@ -1012,7 +1020,7 @@ psx_del_no_retry:
1012 rc = cifs_rename_pending_delete(full_path, dentry, xid); 1020 rc = cifs_rename_pending_delete(full_path, dentry, xid);
1013 if (rc == 0) 1021 if (rc == 0)
1014 drop_nlink(inode); 1022 drop_nlink(inode);
1015 } else if (rc == -EACCES && dosattr == 0) { 1023 } else if ((rc == -EACCES) && (dosattr == 0) && inode) {
1016 attrs = kzalloc(sizeof(*attrs), GFP_KERNEL); 1024 attrs = kzalloc(sizeof(*attrs), GFP_KERNEL);
1017 if (attrs == NULL) { 1025 if (attrs == NULL) {
1018 rc = -ENOMEM; 1026 rc = -ENOMEM;
@@ -1020,7 +1028,8 @@ psx_del_no_retry:
1020 } 1028 }
1021 1029
1022 /* try to reset dos attributes */ 1030 /* try to reset dos attributes */
1023 origattr = cifsInode->cifsAttrs; 1031 cifs_inode = CIFS_I(inode);
1032 origattr = cifs_inode->cifsAttrs;
1024 if (origattr == 0) 1033 if (origattr == 0)
1025 origattr |= ATTR_NORMAL; 1034 origattr |= ATTR_NORMAL;
1026 dosattr = origattr & ~ATTR_READONLY; 1035 dosattr = origattr & ~ATTR_READONLY;
@@ -1041,13 +1050,13 @@ psx_del_no_retry:
1041 1050
1042out_reval: 1051out_reval:
1043 if (inode) { 1052 if (inode) {
1044 cifsInode = CIFS_I(inode); 1053 cifs_inode = CIFS_I(inode);
1045 cifsInode->time = 0; /* will force revalidate to get info 1054 cifs_inode->time = 0; /* will force revalidate to get info
1046 when needed */ 1055 when needed */
1047 inode->i_ctime = current_fs_time(sb); 1056 inode->i_ctime = current_fs_time(sb);
1048 } 1057 }
1049 dir->i_ctime = dir->i_mtime = current_fs_time(sb); 1058 dir->i_ctime = dir->i_mtime = current_fs_time(sb);
1050 cifsInode = CIFS_I(dir); 1059 cifs_inode = CIFS_I(dir);
1051 CIFS_I(dir)->time = 0; /* force revalidate of dir as well */ 1060 CIFS_I(dir)->time = 0; /* force revalidate of dir as well */
1052 1061
1053 kfree(full_path); 1062 kfree(full_path);
diff --git a/fs/cifs/link.c b/fs/cifs/link.c
index 63f644000ce5..ea9d11e3dcbb 100644
--- a/fs/cifs/link.c
+++ b/fs/cifs/link.c
@@ -119,16 +119,11 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd)
119 full_path = build_path_from_dentry(direntry); 119 full_path = build_path_from_dentry(direntry);
120 120
121 if (!full_path) 121 if (!full_path)
122 goto out_no_free; 122 goto out;
123 123
124 cFYI(1, ("Full path: %s inode = 0x%p", full_path, inode)); 124 cFYI(1, ("Full path: %s inode = 0x%p", full_path, inode));
125 cifs_sb = CIFS_SB(inode->i_sb); 125 cifs_sb = CIFS_SB(inode->i_sb);
126 pTcon = cifs_sb->tcon; 126 pTcon = cifs_sb->tcon;
127 target_path = kmalloc(PATH_MAX, GFP_KERNEL);
128 if (!target_path) {
129 target_path = ERR_PTR(-ENOMEM);
130 goto out;
131 }
132 127
133 /* We could change this to: 128 /* We could change this to:
134 if (pTcon->unix_ext) 129 if (pTcon->unix_ext)
@@ -138,8 +133,7 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd)
138 133
139 if (pTcon->ses->capabilities & CAP_UNIX) 134 if (pTcon->ses->capabilities & CAP_UNIX)
140 rc = CIFSSMBUnixQuerySymLink(xid, pTcon, full_path, 135 rc = CIFSSMBUnixQuerySymLink(xid, pTcon, full_path,
141 target_path, 136 &target_path,
142 PATH_MAX-1,
143 cifs_sb->local_nls); 137 cifs_sb->local_nls);
144 else { 138 else {
145 /* BB add read reparse point symlink code here */ 139 /* BB add read reparse point symlink code here */
@@ -148,22 +142,16 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd)
148 /* BB Add MAC style xsymlink check here if enabled */ 142 /* BB Add MAC style xsymlink check here if enabled */
149 } 143 }
150 144
151 if (rc == 0) { 145 if (rc != 0) {
152
153/* BB Add special case check for Samba DFS symlinks */
154
155 target_path[PATH_MAX-1] = 0;
156 } else {
157 kfree(target_path); 146 kfree(target_path);
158 target_path = ERR_PTR(rc); 147 target_path = ERR_PTR(rc);
159 } 148 }
160 149
161out:
162 kfree(full_path); 150 kfree(full_path);
163out_no_free: 151out:
164 FreeXid(xid); 152 FreeXid(xid);
165 nd_set_link(nd, target_path); 153 nd_set_link(nd, target_path);
166 return NULL; /* No cookie */ 154 return NULL;
167} 155}
168 156
169int 157int
@@ -224,98 +212,6 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname)
224 return rc; 212 return rc;
225} 213}
226 214
227int
228cifs_readlink(struct dentry *direntry, char __user *pBuffer, int buflen)
229{
230 struct inode *inode = direntry->d_inode;
231 int rc = -EACCES;
232 int xid;
233 int oplock = 0;
234 struct cifs_sb_info *cifs_sb;
235 struct cifsTconInfo *pTcon;
236 char *full_path = NULL;
237 char *tmpbuffer;
238 int len;
239 __u16 fid;
240
241 xid = GetXid();
242 cifs_sb = CIFS_SB(inode->i_sb);
243 pTcon = cifs_sb->tcon;
244
245/* BB would it be safe against deadlock to grab this sem
246 even though rename itself grabs the sem and calls lookup? */
247/* mutex_lock(&inode->i_sb->s_vfs_rename_mutex);*/
248 full_path = build_path_from_dentry(direntry);
249/* mutex_unlock(&inode->i_sb->s_vfs_rename_mutex);*/
250
251 if (full_path == NULL) {
252 FreeXid(xid);
253 return -ENOMEM;
254 }
255
256 cFYI(1,
257 ("Full path: %s inode = 0x%p pBuffer = 0x%p buflen = %d",
258 full_path, inode, pBuffer, buflen));
259 if (buflen > PATH_MAX)
260 len = PATH_MAX;
261 else
262 len = buflen;
263 tmpbuffer = kmalloc(len, GFP_KERNEL);
264 if (tmpbuffer == NULL) {
265 kfree(full_path);
266 FreeXid(xid);
267 return -ENOMEM;
268 }
269
270/* BB add read reparse point symlink code and
271 Unix extensions symlink code here BB */
272/* We could disable this based on pTcon->unix_ext flag instead ... but why? */
273 if (cifs_sb->tcon->ses->capabilities & CAP_UNIX)
274 rc = CIFSSMBUnixQuerySymLink(xid, pTcon, full_path,
275 tmpbuffer,
276 len - 1,
277 cifs_sb->local_nls);
278 else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) {
279 cERROR(1, ("SFU style symlinks not implemented yet"));
280 /* add open and read as in fs/cifs/inode.c */
281 } else {
282 rc = CIFSSMBOpen(xid, pTcon, full_path, FILE_OPEN, GENERIC_READ,
283 OPEN_REPARSE_POINT, &fid, &oplock, NULL,
284 cifs_sb->local_nls,
285 cifs_sb->mnt_cifs_flags &
286 CIFS_MOUNT_MAP_SPECIAL_CHR);
287 if (!rc) {
288 rc = CIFSSMBQueryReparseLinkInfo(xid, pTcon, full_path,
289 tmpbuffer,
290 len - 1,
291 fid,
292 cifs_sb->local_nls);
293 if (CIFSSMBClose(xid, pTcon, fid)) {
294 cFYI(1, ("Error closing junction point "
295 "(open for ioctl)"));
296 }
297 /* If it is a DFS junction earlier we would have gotten
298 PATH_NOT_COVERED returned from server so we do
299 not need to request the DFS info here */
300 }
301 }
302 /* BB Anything else to do to handle recursive links? */
303 /* BB Should we be using page ops here? */
304
305 /* BB null terminate returned string in pBuffer? BB */
306 if (rc == 0) {
307 rc = vfs_readlink(direntry, pBuffer, len, tmpbuffer);
308 cFYI(1,
309 ("vfs_readlink called from cifs_readlink returned %d",
310 rc));
311 }
312
313 kfree(tmpbuffer);
314 kfree(full_path);
315 FreeXid(xid);
316 return rc;
317}
318
319void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *cookie) 215void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *cookie)
320{ 216{
321 char *p = nd_get_link(nd); 217 char *p = nd_get_link(nd);
diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c
index 4c89c572891a..e079a9190ec4 100644
--- a/fs/cifs/misc.c
+++ b/fs/cifs/misc.c
@@ -635,77 +635,6 @@ dump_smb(struct smb_hdr *smb_buf, int smb_buf_length)
635 return; 635 return;
636} 636}
637 637
638/* Windows maps these to the user defined 16 bit Unicode range since they are
639 reserved symbols (along with \ and /), otherwise illegal to store
640 in filenames in NTFS */
641#define UNI_ASTERIK (__u16) ('*' + 0xF000)
642#define UNI_QUESTION (__u16) ('?' + 0xF000)
643#define UNI_COLON (__u16) (':' + 0xF000)
644#define UNI_GRTRTHAN (__u16) ('>' + 0xF000)
645#define UNI_LESSTHAN (__u16) ('<' + 0xF000)
646#define UNI_PIPE (__u16) ('|' + 0xF000)
647#define UNI_SLASH (__u16) ('\\' + 0xF000)
648
649/* Convert 16 bit Unicode pathname from wire format to string in current code
650 page. Conversion may involve remapping up the seven characters that are
651 only legal in POSIX-like OS (if they are present in the string). Path
652 names are little endian 16 bit Unicode on the wire */
653int
654cifs_convertUCSpath(char *target, const __le16 *source, int maxlen,
655 const struct nls_table *cp)
656{
657 int i, j, len;
658 __u16 src_char;
659
660 for (i = 0, j = 0; i < maxlen; i++) {
661 src_char = le16_to_cpu(source[i]);
662 switch (src_char) {
663 case 0:
664 goto cUCS_out; /* BB check this BB */
665 case UNI_COLON:
666 target[j] = ':';
667 break;
668 case UNI_ASTERIK:
669 target[j] = '*';
670 break;
671 case UNI_QUESTION:
672 target[j] = '?';
673 break;
674 /* BB We can not handle remapping slash until
675 all the calls to build_path_from_dentry
676 are modified, as they use slash as separator BB */
677 /* case UNI_SLASH:
678 target[j] = '\\';
679 break;*/
680 case UNI_PIPE:
681 target[j] = '|';
682 break;
683 case UNI_GRTRTHAN:
684 target[j] = '>';
685 break;
686 case UNI_LESSTHAN:
687 target[j] = '<';
688 break;
689 default:
690 len = cp->uni2char(src_char, &target[j],
691 NLS_MAX_CHARSET_SIZE);
692 if (len > 0) {
693 j += len;
694 continue;
695 } else {
696 target[j] = '?';
697 }
698 }
699 j++;
700 /* make sure we do not overrun callers allocated temp buffer */
701 if (j >= (2 * NAME_MAX))
702 break;
703 }
704cUCS_out:
705 target[j] = 0;
706 return j;
707}
708
709/* Convert 16 bit Unicode pathname to wire format from string in current code 638/* Convert 16 bit Unicode pathname to wire format from string in current code
710 page. Conversion may involve remapping up the seven characters that are 639 page. Conversion may involve remapping up the seven characters that are
711 only legal in POSIX-like OS (if they are present in the string). Path 640 only legal in POSIX-like OS (if they are present in the string). Path
diff --git a/fs/cifs/netmisc.c b/fs/cifs/netmisc.c
index 8703d68f5b20..e2fe998989a3 100644
--- a/fs/cifs/netmisc.c
+++ b/fs/cifs/netmisc.c
@@ -79,6 +79,7 @@ static const struct smb_to_posix_error mapping_table_ERRDOS[] = {
79 {ErrQuota, -EDQUOT}, 79 {ErrQuota, -EDQUOT},
80 {ErrNotALink, -ENOLINK}, 80 {ErrNotALink, -ENOLINK},
81 {ERRnetlogonNotStarted, -ENOPROTOOPT}, 81 {ERRnetlogonNotStarted, -ENOPROTOOPT},
82 {ERRsymlink, -EOPNOTSUPP},
82 {ErrTooManyLinks, -EMLINK}, 83 {ErrTooManyLinks, -EMLINK},
83 {0, 0} 84 {0, 0}
84}; 85};
@@ -714,6 +715,7 @@ static const struct {
714 ERRDOS, ERRnoaccess, 0xc000028f}, { 715 ERRDOS, ERRnoaccess, 0xc000028f}, {
715 ERRDOS, ERRnoaccess, 0xc0000290}, { 716 ERRDOS, ERRnoaccess, 0xc0000290}, {
716 ERRDOS, ERRbadfunc, 0xc000029c}, { 717 ERRDOS, ERRbadfunc, 0xc000029c}, {
718 ERRDOS, ERRsymlink, NT_STATUS_STOPPED_ON_SYMLINK}, {
717 ERRDOS, ERRinvlevel, 0x007c0001}, }; 719 ERRDOS, ERRinvlevel, 0x007c0001}, };
718 720
719/***************************************************************************** 721/*****************************************************************************
diff --git a/fs/cifs/nterr.h b/fs/cifs/nterr.h
index 588abbb9d08c..257267367d41 100644
--- a/fs/cifs/nterr.h
+++ b/fs/cifs/nterr.h
@@ -35,8 +35,6 @@ struct nt_err_code_struct {
35extern const struct nt_err_code_struct nt_errs[]; 35extern const struct nt_err_code_struct nt_errs[];
36 36
37/* Win32 Status codes. */ 37/* Win32 Status codes. */
38
39#define STATUS_BUFFER_OVERFLOW 0x80000005
40#define STATUS_MORE_ENTRIES 0x0105 38#define STATUS_MORE_ENTRIES 0x0105
41#define ERROR_INVALID_PARAMETER 0x0057 39#define ERROR_INVALID_PARAMETER 0x0057
42#define ERROR_INSUFFICIENT_BUFFER 0x007a 40#define ERROR_INSUFFICIENT_BUFFER 0x007a
@@ -50,6 +48,13 @@ extern const struct nt_err_code_struct nt_errs[];
50#define STATUS_SOME_UNMAPPED 0x0107 48#define STATUS_SOME_UNMAPPED 0x0107
51#define STATUS_BUFFER_OVERFLOW 0x80000005 49#define STATUS_BUFFER_OVERFLOW 0x80000005
52#define NT_STATUS_NO_MORE_ENTRIES 0x8000001a 50#define NT_STATUS_NO_MORE_ENTRIES 0x8000001a
51#define NT_STATUS_MEDIA_CHANGED 0x8000001c
52#define NT_STATUS_END_OF_MEDIA 0x8000001e
53#define NT_STATUS_MEDIA_CHECK 0x80000020
54#define NT_STATUS_NO_DATA_DETECTED 0x8000001c
55#define NT_STATUS_STOPPED_ON_SYMLINK 0x8000002d
56#define NT_STATUS_DEVICE_REQUIRES_CLEANING 0x80000288
57#define NT_STATUS_DEVICE_DOOR_OPEN 0x80000288
53#define NT_STATUS_UNSUCCESSFUL 0xC0000000 | 0x0001 58#define NT_STATUS_UNSUCCESSFUL 0xC0000000 | 0x0001
54#define NT_STATUS_NOT_IMPLEMENTED 0xC0000000 | 0x0002 59#define NT_STATUS_NOT_IMPLEMENTED 0xC0000000 | 0x0002
55#define NT_STATUS_INVALID_INFO_CLASS 0xC0000000 | 0x0003 60#define NT_STATUS_INVALID_INFO_CLASS 0xC0000000 | 0x0003
diff --git a/fs/cifs/ntlmssp.h b/fs/cifs/ntlmssp.h
index c377d8065d99..49c9a4e75319 100644
--- a/fs/cifs/ntlmssp.h
+++ b/fs/cifs/ntlmssp.h
@@ -27,29 +27,39 @@
27#define UnknownMessage cpu_to_le32(8) 27#define UnknownMessage cpu_to_le32(8)
28 28
29/* Negotiate Flags */ 29/* Negotiate Flags */
30#define NTLMSSP_NEGOTIATE_UNICODE 0x01 /* Text strings are in unicode */ 30#define NTLMSSP_NEGOTIATE_UNICODE 0x01 /* Text strings are unicode */
31#define NTLMSSP_NEGOTIATE_OEM 0x02 /* Text strings are in OEM */ 31#define NTLMSSP_NEGOTIATE_OEM 0x02 /* Text strings are in OEM */
32#define NTLMSSP_REQUEST_TARGET 0x04 /* Server return its auth realm */ 32#define NTLMSSP_REQUEST_TARGET 0x04 /* Srv returns its auth realm */
33#define NTLMSSP_NEGOTIATE_SIGN 0x0010 /* Request signature capability */ 33/* define reserved9 0x08 */
34#define NTLMSSP_NEGOTIATE_SEAL 0x0020 /* Request confidentiality */ 34#define NTLMSSP_NEGOTIATE_SIGN 0x0010 /* Request signing capability */
35#define NTLMSSP_NEGOTIATE_DGRAM 0x0040 35#define NTLMSSP_NEGOTIATE_SEAL 0x0020 /* Request confidentiality */
36#define NTLMSSP_NEGOTIATE_LM_KEY 0x0080 /* Sign/seal use LM session key */ 36#define NTLMSSP_NEGOTIATE_DGRAM 0x0040
37#define NTLMSSP_NEGOTIATE_NTLM 0x0200 /* NTLM authentication */ 37#define NTLMSSP_NEGOTIATE_LM_KEY 0x0080 /* Use LM session key */
38#define NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x1000 38/* defined reserved 8 0x0100 */
39#define NTLMSSP_NEGOTIATE_NTLM 0x0200 /* NTLM authentication */
40#define NTLMSSP_NEGOTIATE_NT_ONLY 0x0400 /* Lanman not allowed */
41#define NTLMSSP_ANONYMOUS 0x0800
42#define NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x1000 /* reserved6 */
39#define NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x2000 43#define NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x2000
40#define NTLMSSP_NEGOTIATE_LOCAL_CALL 0x4000 /* client/server on same machine */ 44#define NTLMSSP_NEGOTIATE_LOCAL_CALL 0x4000 /* client/server same machine */
41#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x8000 /* Sign for all security levels */ 45#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x8000 /* Sign. All security levels */
42#define NTLMSSP_TARGET_TYPE_DOMAIN 0x10000 46#define NTLMSSP_TARGET_TYPE_DOMAIN 0x10000
43#define NTLMSSP_TARGET_TYPE_SERVER 0x20000 47#define NTLMSSP_TARGET_TYPE_SERVER 0x20000
44#define NTLMSSP_TARGET_TYPE_SHARE 0x40000 48#define NTLMSSP_TARGET_TYPE_SHARE 0x40000
45#define NTLMSSP_NEGOTIATE_NTLMV2 0x80000 49#define NTLMSSP_NEGOTIATE_EXTENDED_SEC 0x80000 /* NB:not related to NTLMv2 pwd*/
46#define NTLMSSP_REQUEST_INIT_RESP 0x100000 50/* #define NTLMSSP_REQUEST_INIT_RESP 0x100000 */
47#define NTLMSSP_REQUEST_ACCEPT_RESP 0x200000 51#define NTLMSSP_NEGOTIATE_IDENTIFY 0x100000
48#define NTLMSSP_REQUEST_NOT_NT_KEY 0x400000 52#define NTLMSSP_REQUEST_ACCEPT_RESP 0x200000 /* reserved5 */
53#define NTLMSSP_REQUEST_NON_NT_KEY 0x400000
49#define NTLMSSP_NEGOTIATE_TARGET_INFO 0x800000 54#define NTLMSSP_NEGOTIATE_TARGET_INFO 0x800000
50#define NTLMSSP_NEGOTIATE_128 0x20000000 55/* #define reserved4 0x1000000 */
51#define NTLMSSP_NEGOTIATE_KEY_XCH 0x40000000 56#define NTLMSSP_NEGOTIATE_VERSION 0x2000000 /* we do not set */
52#define NTLMSSP_NEGOTIATE_56 0x80000000 57/* #define reserved3 0x4000000 */
58/* #define reserved2 0x8000000 */
59/* #define reserved1 0x10000000 */
60#define NTLMSSP_NEGOTIATE_128 0x20000000
61#define NTLMSSP_NEGOTIATE_KEY_XCH 0x40000000
62#define NTLMSSP_NEGOTIATE_56 0x80000000
53 63
54/* Although typedefs are not commonly used for structure definitions */ 64/* Although typedefs are not commonly used for structure definitions */
55/* in the Linux kernel, in this particular case they are useful */ 65/* in the Linux kernel, in this particular case they are useful */
@@ -60,32 +70,36 @@
60typedef struct _SECURITY_BUFFER { 70typedef struct _SECURITY_BUFFER {
61 __le16 Length; 71 __le16 Length;
62 __le16 MaximumLength; 72 __le16 MaximumLength;
63 __le32 Buffer; /* offset to buffer */ 73 __le32 BufferOffset; /* offset to buffer */
64} __attribute__((packed)) SECURITY_BUFFER; 74} __attribute__((packed)) SECURITY_BUFFER;
65 75
66typedef struct _NEGOTIATE_MESSAGE { 76typedef struct _NEGOTIATE_MESSAGE {
67 __u8 Signature[sizeof(NTLMSSP_SIGNATURE)]; 77 __u8 Signature[sizeof(NTLMSSP_SIGNATURE)];
68 __le32 MessageType; /* 1 */ 78 __le32 MessageType; /* NtLmNegotiate = 1 */
69 __le32 NegotiateFlags; 79 __le32 NegotiateFlags;
70 SECURITY_BUFFER DomainName; /* RFC 1001 style and ASCII */ 80 SECURITY_BUFFER DomainName; /* RFC 1001 style and ASCII */
71 SECURITY_BUFFER WorkstationName; /* RFC 1001 and ASCII */ 81 SECURITY_BUFFER WorkstationName; /* RFC 1001 and ASCII */
82 /* SECURITY_BUFFER for version info not present since we
83 do not set the version is present flag */
72 char DomainString[0]; 84 char DomainString[0];
73 /* followed by WorkstationString */ 85 /* followed by WorkstationString */
74} __attribute__((packed)) NEGOTIATE_MESSAGE, *PNEGOTIATE_MESSAGE; 86} __attribute__((packed)) NEGOTIATE_MESSAGE, *PNEGOTIATE_MESSAGE;
75 87
76typedef struct _CHALLENGE_MESSAGE { 88typedef struct _CHALLENGE_MESSAGE {
77 __u8 Signature[sizeof(NTLMSSP_SIGNATURE)]; 89 __u8 Signature[sizeof(NTLMSSP_SIGNATURE)];
78 __le32 MessageType; /* 2 */ 90 __le32 MessageType; /* NtLmChallenge = 2 */
79 SECURITY_BUFFER TargetName; 91 SECURITY_BUFFER TargetName;
80 __le32 NegotiateFlags; 92 __le32 NegotiateFlags;
81 __u8 Challenge[CIFS_CRYPTO_KEY_SIZE]; 93 __u8 Challenge[CIFS_CRYPTO_KEY_SIZE];
82 __u8 Reserved[8]; 94 __u8 Reserved[8];
83 SECURITY_BUFFER TargetInfoArray; 95 SECURITY_BUFFER TargetInfoArray;
96 /* SECURITY_BUFFER for version info not present since we
97 do not set the version is present flag */
84} __attribute__((packed)) CHALLENGE_MESSAGE, *PCHALLENGE_MESSAGE; 98} __attribute__((packed)) CHALLENGE_MESSAGE, *PCHALLENGE_MESSAGE;
85 99
86typedef struct _AUTHENTICATE_MESSAGE { 100typedef struct _AUTHENTICATE_MESSAGE {
87 __u8 Signature[sizeof (NTLMSSP_SIGNATURE)]; 101 __u8 Signature[sizeof(NTLMSSP_SIGNATURE)];
88 __le32 MessageType; /* 3 */ 102 __le32 MessageType; /* NtLmsAuthenticate = 3 */
89 SECURITY_BUFFER LmChallengeResponse; 103 SECURITY_BUFFER LmChallengeResponse;
90 SECURITY_BUFFER NtChallengeResponse; 104 SECURITY_BUFFER NtChallengeResponse;
91 SECURITY_BUFFER DomainName; 105 SECURITY_BUFFER DomainName;
@@ -93,5 +107,7 @@ typedef struct _AUTHENTICATE_MESSAGE {
93 SECURITY_BUFFER WorkstationName; 107 SECURITY_BUFFER WorkstationName;
94 SECURITY_BUFFER SessionKey; 108 SECURITY_BUFFER SessionKey;
95 __le32 NegotiateFlags; 109 __le32 NegotiateFlags;
110 /* SECURITY_BUFFER for version info not present since we
111 do not set the version is present flag */
96 char UserString[0]; 112 char UserString[0];
97} __attribute__((packed)) AUTHENTICATE_MESSAGE, *PAUTHENTICATE_MESSAGE; 113} __attribute__((packed)) AUTHENTICATE_MESSAGE, *PAUTHENTICATE_MESSAGE;
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c
index 1a8be6228333..964e097c8203 100644
--- a/fs/cifs/readdir.c
+++ b/fs/cifs/readdir.c
@@ -31,6 +31,13 @@
31#include "cifs_fs_sb.h" 31#include "cifs_fs_sb.h"
32#include "cifsfs.h" 32#include "cifsfs.h"
33 33
34/*
35 * To be safe - for UCS to UTF-8 with strings loaded with the rare long
36 * characters alloc more to account for such multibyte target UTF-8
37 * characters.
38 */
39#define UNICODE_NAME_MAX ((4 * NAME_MAX) + 2)
40
34#ifdef CONFIG_CIFS_DEBUG2 41#ifdef CONFIG_CIFS_DEBUG2
35static void dump_cifs_file_struct(struct file *file, char *label) 42static void dump_cifs_file_struct(struct file *file, char *label)
36{ 43{
@@ -438,6 +445,38 @@ static void unix_fill_in_inode(struct inode *tmp_inode,
438 } 445 }
439} 446}
440 447
448/* BB eventually need to add the following helper function to
449 resolve NT_STATUS_STOPPED_ON_SYMLINK return code when
450 we try to do FindFirst on (NTFS) directory symlinks */
451/*
452int get_symlink_reparse_path(char *full_path, struct cifs_sb_info *cifs_sb,
453 int xid)
454{
455 __u16 fid;
456 int len;
457 int oplock = 0;
458 int rc;
459 struct cifsTconInfo *ptcon = cifs_sb->tcon;
460 char *tmpbuffer;
461
462 rc = CIFSSMBOpen(xid, ptcon, full_path, FILE_OPEN, GENERIC_READ,
463 OPEN_REPARSE_POINT, &fid, &oplock, NULL,
464 cifs_sb->local_nls,
465 cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
466 if (!rc) {
467 tmpbuffer = kmalloc(maxpath);
468 rc = CIFSSMBQueryReparseLinkInfo(xid, ptcon, full_path,
469 tmpbuffer,
470 maxpath -1,
471 fid,
472 cifs_sb->local_nls);
473 if (CIFSSMBClose(xid, ptcon, fid)) {
474 cFYI(1, ("Error closing temporary reparsepoint open)"));
475 }
476 }
477}
478 */
479
441static int initiate_cifs_search(const int xid, struct file *file) 480static int initiate_cifs_search(const int xid, struct file *file)
442{ 481{
443 int rc = 0; 482 int rc = 0;
@@ -493,7 +532,10 @@ ffirst_retry:
493 CIFS_MOUNT_MAP_SPECIAL_CHR, CIFS_DIR_SEP(cifs_sb)); 532 CIFS_MOUNT_MAP_SPECIAL_CHR, CIFS_DIR_SEP(cifs_sb));
494 if (rc == 0) 533 if (rc == 0)
495 cifsFile->invalidHandle = false; 534 cifsFile->invalidHandle = false;
496 if ((rc == -EOPNOTSUPP) && 535 /* BB add following call to handle readdir on new NTFS symlink errors
536 else if STATUS_STOPPED_ON_SYMLINK
537 call get_symlink_reparse_path and retry with new path */
538 else if ((rc == -EOPNOTSUPP) &&
497 (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM)) { 539 (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM)) {
498 cifs_sb->mnt_cifs_flags &= ~CIFS_MOUNT_SERVER_INUM; 540 cifs_sb->mnt_cifs_flags &= ~CIFS_MOUNT_SERVER_INUM;
499 goto ffirst_retry; 541 goto ffirst_retry;
@@ -822,7 +864,7 @@ static int find_cifs_entry(const int xid, struct cifsTconInfo *pTcon,
822/* inode num, inode type and filename returned */ 864/* inode num, inode type and filename returned */
823static int cifs_get_name_from_search_buf(struct qstr *pqst, 865static int cifs_get_name_from_search_buf(struct qstr *pqst,
824 char *current_entry, __u16 level, unsigned int unicode, 866 char *current_entry, __u16 level, unsigned int unicode,
825 struct cifs_sb_info *cifs_sb, int max_len, __u64 *pinum) 867 struct cifs_sb_info *cifs_sb, unsigned int max_len, __u64 *pinum)
826{ 868{
827 int rc = 0; 869 int rc = 0;
828 unsigned int len = 0; 870 unsigned int len = 0;
@@ -881,14 +923,12 @@ static int cifs_get_name_from_search_buf(struct qstr *pqst,
881 } 923 }
882 924
883 if (unicode) { 925 if (unicode) {
884 /* BB fixme - test with long names */ 926 pqst->len = cifs_from_ucs2((char *) pqst->name,
885 /* Note converted filename can be longer than in unicode */ 927 (__le16 *) filename,
886 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR) 928 UNICODE_NAME_MAX,
887 pqst->len = cifs_convertUCSpath((char *)pqst->name, 929 min(len, max_len), nlt,
888 (__le16 *)filename, len/2, nlt); 930 cifs_sb->mnt_cifs_flags &
889 else 931 CIFS_MOUNT_MAP_SPECIAL_CHR);
890 pqst->len = cifs_strfromUCS_le((char *)pqst->name,
891 (__le16 *)filename, len/2, nlt);
892 } else { 932 } else {
893 pqst->name = filename; 933 pqst->name = filename;
894 pqst->len = len; 934 pqst->len = len;
@@ -898,8 +938,8 @@ static int cifs_get_name_from_search_buf(struct qstr *pqst,
898 return rc; 938 return rc;
899} 939}
900 940
901static int cifs_filldir(char *pfindEntry, struct file *file, 941static int cifs_filldir(char *pfindEntry, struct file *file, filldir_t filldir,
902 filldir_t filldir, void *direntry, char *scratch_buf, int max_len) 942 void *direntry, char *scratch_buf, unsigned int max_len)
903{ 943{
904 int rc = 0; 944 int rc = 0;
905 struct qstr qstring; 945 struct qstr qstring;
@@ -996,7 +1036,7 @@ int cifs_readdir(struct file *file, void *direntry, filldir_t filldir)
996 int num_to_fill = 0; 1036 int num_to_fill = 0;
997 char *tmp_buf = NULL; 1037 char *tmp_buf = NULL;
998 char *end_of_smb; 1038 char *end_of_smb;
999 int max_len; 1039 unsigned int max_len;
1000 1040
1001 xid = GetXid(); 1041 xid = GetXid();
1002 1042
@@ -1070,11 +1110,7 @@ int cifs_readdir(struct file *file, void *direntry, filldir_t filldir)
1070 cifsFile->srch_inf.ntwrk_buf_start); 1110 cifsFile->srch_inf.ntwrk_buf_start);
1071 end_of_smb = cifsFile->srch_inf.ntwrk_buf_start + max_len; 1111 end_of_smb = cifsFile->srch_inf.ntwrk_buf_start + max_len;
1072 1112
1073 /* To be safe - for UCS to UTF-8 with strings loaded 1113 tmp_buf = kmalloc(UNICODE_NAME_MAX, GFP_KERNEL);
1074 with the rare long characters alloc more to account for
1075 such multibyte target UTF-8 characters. cifs_unicode.c,
1076 which actually does the conversion, has the same limit */
1077 tmp_buf = kmalloc((2 * NAME_MAX) + 4, GFP_KERNEL);
1078 for (i = 0; (i < num_to_fill) && (rc == 0); i++) { 1114 for (i = 0; (i < num_to_fill) && (rc == 0); i++) {
1079 if (current_entry == NULL) { 1115 if (current_entry == NULL) {
1080 /* evaluate whether this case is an error */ 1116 /* evaluate whether this case is an error */
diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c
index c652c73760dd..897a052270f9 100644
--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -3,7 +3,7 @@
3 * 3 *
4 * SMB/CIFS session setup handling routines 4 * SMB/CIFS session setup handling routines
5 * 5 *
6 * Copyright (c) International Business Machines Corp., 2006, 2007 6 * Copyright (c) International Business Machines Corp., 2006, 2009
7 * Author(s): Steve French (sfrench@us.ibm.com) 7 * Author(s): Steve French (sfrench@us.ibm.com)
8 * 8 *
9 * This library is free software; you can redistribute it and/or modify 9 * This library is free software; you can redistribute it and/or modify
@@ -111,7 +111,7 @@ static __le16 get_next_vcnum(struct cifsSesInfo *ses)
111get_vc_num_exit: 111get_vc_num_exit:
112 write_unlock(&cifs_tcp_ses_lock); 112 write_unlock(&cifs_tcp_ses_lock);
113 113
114 return le16_to_cpu(vcnum); 114 return cpu_to_le16(vcnum);
115} 115}
116 116
117static __u32 cifs_ssetup_hdr(struct cifsSesInfo *ses, SESSION_SETUP_ANDX *pSMB) 117static __u32 cifs_ssetup_hdr(struct cifsSesInfo *ses, SESSION_SETUP_ANDX *pSMB)
@@ -277,12 +277,11 @@ static void ascii_ssetup_strings(char **pbcc_area, struct cifsSesInfo *ses,
277 *pbcc_area = bcc_ptr; 277 *pbcc_area = bcc_ptr;
278} 278}
279 279
280static int decode_unicode_ssetup(char **pbcc_area, int bleft, 280static void
281 struct cifsSesInfo *ses, 281decode_unicode_ssetup(char **pbcc_area, int bleft, struct cifsSesInfo *ses,
282 const struct nls_table *nls_cp) 282 const struct nls_table *nls_cp)
283{ 283{
284 int rc = 0; 284 int len;
285 int words_left, len;
286 char *data = *pbcc_area; 285 char *data = *pbcc_area;
287 286
288 cFYI(1, ("bleft %d", bleft)); 287 cFYI(1, ("bleft %d", bleft));
@@ -300,63 +299,29 @@ static int decode_unicode_ssetup(char **pbcc_area, int bleft,
300 ++bleft; 299 ++bleft;
301 } 300 }
302 301
303 words_left = bleft / 2;
304
305 /* save off server operating system */
306 len = UniStrnlen((wchar_t *) data, words_left);
307
308 if (len >= words_left)
309 return rc;
310
311 kfree(ses->serverOS); 302 kfree(ses->serverOS);
312 /* UTF-8 string will not grow more than four times as big as UCS-16 */ 303 ses->serverOS = cifs_strndup_from_ucs(data, bleft, true, nls_cp);
313 ses->serverOS = kzalloc((4 * len) + 2 /* trailing null */, GFP_KERNEL); 304 cFYI(1, ("serverOS=%s", ses->serverOS));
314 if (ses->serverOS != NULL) { 305 len = (UniStrnlen((wchar_t *) data, bleft / 2) * 2) + 2;
315 cifs_strfromUCS_le(ses->serverOS, (__le16 *)data, len, nls_cp); 306 data += len;
316 cFYI(1, ("serverOS=%s", ses->serverOS)); 307 bleft -= len;
317 } 308 if (bleft <= 0)
318 data += 2 * (len + 1); 309 return;
319 words_left -= len + 1;
320
321 /* save off server network operating system */
322 len = UniStrnlen((wchar_t *) data, words_left);
323
324 if (len >= words_left)
325 return rc;
326 310
327 kfree(ses->serverNOS); 311 kfree(ses->serverNOS);
328 ses->serverNOS = kzalloc((4 * len) + 2 /* trailing null */, GFP_KERNEL); 312 ses->serverNOS = cifs_strndup_from_ucs(data, bleft, true, nls_cp);
329 if (ses->serverNOS != NULL) { 313 cFYI(1, ("serverNOS=%s", ses->serverNOS));
330 cifs_strfromUCS_le(ses->serverNOS, (__le16 *)data, len, 314 len = (UniStrnlen((wchar_t *) data, bleft / 2) * 2) + 2;
331 nls_cp); 315 data += len;
332 cFYI(1, ("serverNOS=%s", ses->serverNOS)); 316 bleft -= len;
333 if (strncmp(ses->serverNOS, "NT LAN Manager 4", 16) == 0) { 317 if (bleft <= 0)
334 cFYI(1, ("NT4 server")); 318 return;
335 ses->flags |= CIFS_SES_NT4;
336 }
337 }
338 data += 2 * (len + 1);
339 words_left -= len + 1;
340
341 /* save off server domain */
342 len = UniStrnlen((wchar_t *) data, words_left);
343
344 if (len > words_left)
345 return rc;
346 319
347 kfree(ses->serverDomain); 320 kfree(ses->serverDomain);
348 ses->serverDomain = kzalloc((4 * len) + 2, GFP_KERNEL); 321 ses->serverDomain = cifs_strndup_from_ucs(data, bleft, true, nls_cp);
349 if (ses->serverDomain != NULL) { 322 cFYI(1, ("serverDomain=%s", ses->serverDomain));
350 cifs_strfromUCS_le(ses->serverDomain, (__le16 *)data, len,
351 nls_cp);
352 cFYI(1, ("serverDomain=%s", ses->serverDomain));
353 }
354 data += 2 * (len + 1);
355 words_left -= len + 1;
356
357 cFYI(1, ("words left: %d", words_left));
358 323
359 return rc; 324 return;
360} 325}
361 326
362static int decode_ascii_ssetup(char **pbcc_area, int bleft, 327static int decode_ascii_ssetup(char **pbcc_area, int bleft,
@@ -413,6 +378,186 @@ static int decode_ascii_ssetup(char **pbcc_area, int bleft,
413 return rc; 378 return rc;
414} 379}
415 380
381static int decode_ntlmssp_challenge(char *bcc_ptr, int blob_len,
382 struct cifsSesInfo *ses)
383{
384 CHALLENGE_MESSAGE *pblob = (CHALLENGE_MESSAGE *)bcc_ptr;
385
386 if (blob_len < sizeof(CHALLENGE_MESSAGE)) {
387 cERROR(1, ("challenge blob len %d too small", blob_len));
388 return -EINVAL;
389 }
390
391 if (memcmp(pblob->Signature, "NTLMSSP", 8)) {
392 cERROR(1, ("blob signature incorrect %s", pblob->Signature));
393 return -EINVAL;
394 }
395 if (pblob->MessageType != NtLmChallenge) {
396 cERROR(1, ("Incorrect message type %d", pblob->MessageType));
397 return -EINVAL;
398 }
399
400 memcpy(ses->server->cryptKey, pblob->Challenge, CIFS_CRYPTO_KEY_SIZE);
401 /* BB we could decode pblob->NegotiateFlags; some may be useful */
402 /* In particular we can examine sign flags */
403 /* BB spec says that if AvId field of MsvAvTimestamp is populated then
404 we must set the MIC field of the AUTHENTICATE_MESSAGE */
405
406 return 0;
407}
408
409#ifdef CONFIG_CIFS_EXPERIMENTAL
410/* BB Move to ntlmssp.c eventually */
411
412/* We do not malloc the blob, it is passed in pbuffer, because
413 it is fixed size, and small, making this approach cleaner */
414static void build_ntlmssp_negotiate_blob(unsigned char *pbuffer,
415 struct cifsSesInfo *ses)
416{
417 NEGOTIATE_MESSAGE *sec_blob = (NEGOTIATE_MESSAGE *)pbuffer;
418 __u32 flags;
419
420 memcpy(sec_blob->Signature, NTLMSSP_SIGNATURE, 8);
421 sec_blob->MessageType = NtLmNegotiate;
422
423 /* BB is NTLMV2 session security format easier to use here? */
424 flags = NTLMSSP_NEGOTIATE_56 | NTLMSSP_REQUEST_TARGET |
425 NTLMSSP_NEGOTIATE_128 | NTLMSSP_NEGOTIATE_UNICODE |
426 NTLMSSP_NEGOTIATE_NT_ONLY | NTLMSSP_NEGOTIATE_NTLM;
427 if (ses->server->secMode &
428 (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
429 flags |= NTLMSSP_NEGOTIATE_SIGN;
430 if (ses->server->secMode & SECMODE_SIGN_REQUIRED)
431 flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN;
432
433 sec_blob->NegotiateFlags |= cpu_to_le32(flags);
434
435 sec_blob->WorkstationName.BufferOffset = 0;
436 sec_blob->WorkstationName.Length = 0;
437 sec_blob->WorkstationName.MaximumLength = 0;
438
439 /* Domain name is sent on the Challenge not Negotiate NTLMSSP request */
440 sec_blob->DomainName.BufferOffset = 0;
441 sec_blob->DomainName.Length = 0;
442 sec_blob->DomainName.MaximumLength = 0;
443}
444
445/* We do not malloc the blob, it is passed in pbuffer, because its
446 maximum possible size is fixed and small, making this approach cleaner.
447 This function returns the length of the data in the blob */
448static int build_ntlmssp_auth_blob(unsigned char *pbuffer,
449 struct cifsSesInfo *ses,
450 const struct nls_table *nls_cp, int first)
451{
452 AUTHENTICATE_MESSAGE *sec_blob = (AUTHENTICATE_MESSAGE *)pbuffer;
453 __u32 flags;
454 unsigned char *tmp;
455 char ntlm_session_key[CIFS_SESS_KEY_SIZE];
456
457 memcpy(sec_blob->Signature, NTLMSSP_SIGNATURE, 8);
458 sec_blob->MessageType = NtLmAuthenticate;
459
460 flags = NTLMSSP_NEGOTIATE_56 |
461 NTLMSSP_REQUEST_TARGET | NTLMSSP_NEGOTIATE_TARGET_INFO |
462 NTLMSSP_NEGOTIATE_128 | NTLMSSP_NEGOTIATE_UNICODE |
463 NTLMSSP_NEGOTIATE_NT_ONLY | NTLMSSP_NEGOTIATE_NTLM;
464 if (ses->server->secMode &
465 (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
466 flags |= NTLMSSP_NEGOTIATE_SIGN;
467 if (ses->server->secMode & SECMODE_SIGN_REQUIRED)
468 flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN;
469
470 tmp = pbuffer + sizeof(AUTHENTICATE_MESSAGE);
471 sec_blob->NegotiateFlags |= cpu_to_le32(flags);
472
473 sec_blob->LmChallengeResponse.BufferOffset =
474 cpu_to_le32(sizeof(AUTHENTICATE_MESSAGE));
475 sec_blob->LmChallengeResponse.Length = 0;
476 sec_blob->LmChallengeResponse.MaximumLength = 0;
477
478 /* calculate session key, BB what about adding similar ntlmv2 path? */
479 SMBNTencrypt(ses->password, ses->server->cryptKey, ntlm_session_key);
480 if (first)
481 cifs_calculate_mac_key(&ses->server->mac_signing_key,
482 ntlm_session_key, ses->password);
483
484 memcpy(tmp, ntlm_session_key, CIFS_SESS_KEY_SIZE);
485 sec_blob->NtChallengeResponse.BufferOffset = cpu_to_le32(tmp - pbuffer);
486 sec_blob->NtChallengeResponse.Length = cpu_to_le16(CIFS_SESS_KEY_SIZE);
487 sec_blob->NtChallengeResponse.MaximumLength =
488 cpu_to_le16(CIFS_SESS_KEY_SIZE);
489
490 tmp += CIFS_SESS_KEY_SIZE;
491
492 if (ses->domainName == NULL) {
493 sec_blob->DomainName.BufferOffset = cpu_to_le32(tmp - pbuffer);
494 sec_blob->DomainName.Length = 0;
495 sec_blob->DomainName.MaximumLength = 0;
496 tmp += 2;
497 } else {
498 int len;
499 len = cifs_strtoUCS((__le16 *)tmp, ses->domainName,
500 MAX_USERNAME_SIZE, nls_cp);
501 len *= 2; /* unicode is 2 bytes each */
502 len += 2; /* trailing null */
503 sec_blob->DomainName.BufferOffset = cpu_to_le32(tmp - pbuffer);
504 sec_blob->DomainName.Length = cpu_to_le16(len);
505 sec_blob->DomainName.MaximumLength = cpu_to_le16(len);
506 tmp += len;
507 }
508
509 if (ses->userName == NULL) {
510 sec_blob->UserName.BufferOffset = cpu_to_le32(tmp - pbuffer);
511 sec_blob->UserName.Length = 0;
512 sec_blob->UserName.MaximumLength = 0;
513 tmp += 2;
514 } else {
515 int len;
516 len = cifs_strtoUCS((__le16 *)tmp, ses->userName,
517 MAX_USERNAME_SIZE, nls_cp);
518 len *= 2; /* unicode is 2 bytes each */
519 len += 2; /* trailing null */
520 sec_blob->UserName.BufferOffset = cpu_to_le32(tmp - pbuffer);
521 sec_blob->UserName.Length = cpu_to_le16(len);
522 sec_blob->UserName.MaximumLength = cpu_to_le16(len);
523 tmp += len;
524 }
525
526 sec_blob->WorkstationName.BufferOffset = cpu_to_le32(tmp - pbuffer);
527 sec_blob->WorkstationName.Length = 0;
528 sec_blob->WorkstationName.MaximumLength = 0;
529 tmp += 2;
530
531 sec_blob->SessionKey.BufferOffset = cpu_to_le32(tmp - pbuffer);
532 sec_blob->SessionKey.Length = 0;
533 sec_blob->SessionKey.MaximumLength = 0;
534 return tmp - pbuffer;
535}
536
537
538static void setup_ntlmssp_neg_req(SESSION_SETUP_ANDX *pSMB,
539 struct cifsSesInfo *ses)
540{
541 build_ntlmssp_negotiate_blob(&pSMB->req.SecurityBlob[0], ses);
542 pSMB->req.SecurityBlobLength = cpu_to_le16(sizeof(NEGOTIATE_MESSAGE));
543
544 return;
545}
546
547static int setup_ntlmssp_auth_req(SESSION_SETUP_ANDX *pSMB,
548 struct cifsSesInfo *ses,
549 const struct nls_table *nls, int first_time)
550{
551 int bloblen;
552
553 bloblen = build_ntlmssp_auth_blob(&pSMB->req.SecurityBlob[0], ses, nls,
554 first_time);
555 pSMB->req.SecurityBlobLength = cpu_to_le16(bloblen);
556
557 return bloblen;
558}
559#endif
560
416int 561int
417CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time, 562CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
418 const struct nls_table *nls_cp) 563 const struct nls_table *nls_cp)
@@ -431,6 +576,7 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
431 __u16 action; 576 __u16 action;
432 int bytes_remaining; 577 int bytes_remaining;
433 struct key *spnego_key = NULL; 578 struct key *spnego_key = NULL;
579 __le32 phase = NtLmNegotiate; /* NTLMSSP, if needed, is multistage */
434 580
435 if (ses == NULL) 581 if (ses == NULL)
436 return -EINVAL; 582 return -EINVAL;
@@ -438,6 +584,10 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
438 type = ses->server->secType; 584 type = ses->server->secType;
439 585
440 cFYI(1, ("sess setup type %d", type)); 586 cFYI(1, ("sess setup type %d", type));
587ssetup_ntlmssp_authenticate:
588 if (phase == NtLmChallenge)
589 phase = NtLmAuthenticate; /* if ntlmssp, now final phase */
590
441 if (type == LANMAN) { 591 if (type == LANMAN) {
442#ifndef CONFIG_CIFS_WEAK_PW_HASH 592#ifndef CONFIG_CIFS_WEAK_PW_HASH
443 /* LANMAN and plaintext are less secure and off by default. 593 /* LANMAN and plaintext are less secure and off by default.
@@ -651,9 +801,53 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
651 goto ssetup_exit; 801 goto ssetup_exit;
652#endif /* CONFIG_CIFS_UPCALL */ 802#endif /* CONFIG_CIFS_UPCALL */
653 } else { 803 } else {
804#ifdef CONFIG_CIFS_EXPERIMENTAL
805 if ((experimEnabled > 1) && (type == RawNTLMSSP)) {
806 if ((pSMB->req.hdr.Flags2 & SMBFLG2_UNICODE) == 0) {
807 cERROR(1, ("NTLMSSP requires Unicode support"));
808 rc = -ENOSYS;
809 goto ssetup_exit;
810 }
811
812 cFYI(1, ("ntlmssp session setup phase %d", phase));
813 pSMB->req.hdr.Flags2 |= SMBFLG2_EXT_SEC;
814 capabilities |= CAP_EXTENDED_SECURITY;
815 pSMB->req.Capabilities |= cpu_to_le32(capabilities);
816 if (phase == NtLmNegotiate) {
817 setup_ntlmssp_neg_req(pSMB, ses);
818 iov[1].iov_len = sizeof(NEGOTIATE_MESSAGE);
819 } else if (phase == NtLmAuthenticate) {
820 int blob_len;
821 blob_len = setup_ntlmssp_auth_req(pSMB, ses,
822 nls_cp,
823 first_time);
824 iov[1].iov_len = blob_len;
825 /* Make sure that we tell the server that we
826 are using the uid that it just gave us back
827 on the response (challenge) */
828 smb_buf->Uid = ses->Suid;
829 } else {
830 cERROR(1, ("invalid phase %d", phase));
831 rc = -ENOSYS;
832 goto ssetup_exit;
833 }
834 iov[1].iov_base = &pSMB->req.SecurityBlob[0];
835 /* unicode strings must be word aligned */
836 if ((iov[0].iov_len + iov[1].iov_len) % 2) {
837 *bcc_ptr = 0;
838 bcc_ptr++;
839 }
840 unicode_oslm_strings(&bcc_ptr, nls_cp);
841 } else {
842 cERROR(1, ("secType %d not supported!", type));
843 rc = -ENOSYS;
844 goto ssetup_exit;
845 }
846#else
654 cERROR(1, ("secType %d not supported!", type)); 847 cERROR(1, ("secType %d not supported!", type));
655 rc = -ENOSYS; 848 rc = -ENOSYS;
656 goto ssetup_exit; 849 goto ssetup_exit;
850#endif
657 } 851 }
658 852
659 iov[2].iov_base = str_area; 853 iov[2].iov_base = str_area;
@@ -669,12 +863,23 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
669 /* SMB request buf freed in SendReceive2 */ 863 /* SMB request buf freed in SendReceive2 */
670 864
671 cFYI(1, ("ssetup rc from sendrecv2 is %d", rc)); 865 cFYI(1, ("ssetup rc from sendrecv2 is %d", rc));
672 if (rc)
673 goto ssetup_exit;
674 866
675 pSMB = (SESSION_SETUP_ANDX *)iov[0].iov_base; 867 pSMB = (SESSION_SETUP_ANDX *)iov[0].iov_base;
676 smb_buf = (struct smb_hdr *)iov[0].iov_base; 868 smb_buf = (struct smb_hdr *)iov[0].iov_base;
677 869
870 if ((type == RawNTLMSSP) && (smb_buf->Status.CifsError ==
871 cpu_to_le32(NT_STATUS_MORE_PROCESSING_REQUIRED))) {
872 if (phase != NtLmNegotiate) {
873 cERROR(1, ("Unexpected more processing error"));
874 goto ssetup_exit;
875 }
876 /* NTLMSSP Negotiate sent now processing challenge (response) */
877 phase = NtLmChallenge; /* process ntlmssp challenge */
878 rc = 0; /* MORE_PROC rc is not an error here, but expected */
879 }
880 if (rc)
881 goto ssetup_exit;
882
678 if ((smb_buf->WordCount != 3) && (smb_buf->WordCount != 4)) { 883 if ((smb_buf->WordCount != 3) && (smb_buf->WordCount != 4)) {
679 rc = -EIO; 884 rc = -EIO;
680 cERROR(1, ("bad word count %d", smb_buf->WordCount)); 885 cERROR(1, ("bad word count %d", smb_buf->WordCount));
@@ -693,12 +898,18 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
693 if (smb_buf->WordCount == 4) { 898 if (smb_buf->WordCount == 4) {
694 __u16 blob_len; 899 __u16 blob_len;
695 blob_len = le16_to_cpu(pSMB->resp.SecurityBlobLength); 900 blob_len = le16_to_cpu(pSMB->resp.SecurityBlobLength);
696 bcc_ptr += blob_len;
697 if (blob_len > bytes_remaining) { 901 if (blob_len > bytes_remaining) {
698 cERROR(1, ("bad security blob length %d", blob_len)); 902 cERROR(1, ("bad security blob length %d", blob_len));
699 rc = -EINVAL; 903 rc = -EINVAL;
700 goto ssetup_exit; 904 goto ssetup_exit;
701 } 905 }
906 if (phase == NtLmChallenge) {
907 rc = decode_ntlmssp_challenge(bcc_ptr, blob_len, ses);
908 /* now goto beginning for ntlmssp authenticate phase */
909 if (rc)
910 goto ssetup_exit;
911 }
912 bcc_ptr += blob_len;
702 bytes_remaining -= blob_len; 913 bytes_remaining -= blob_len;
703 } 914 }
704 915
@@ -709,8 +920,7 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
709 ++bcc_ptr; 920 ++bcc_ptr;
710 --bytes_remaining; 921 --bytes_remaining;
711 } 922 }
712 rc = decode_unicode_ssetup(&bcc_ptr, bytes_remaining, 923 decode_unicode_ssetup(&bcc_ptr, bytes_remaining, ses, nls_cp);
713 ses, nls_cp);
714 } else { 924 } else {
715 rc = decode_ascii_ssetup(&bcc_ptr, bytes_remaining, 925 rc = decode_ascii_ssetup(&bcc_ptr, bytes_remaining,
716 ses, nls_cp); 926 ses, nls_cp);
@@ -728,5 +938,9 @@ ssetup_exit:
728 } else if (resp_buf_type == CIFS_LARGE_BUFFER) 938 } else if (resp_buf_type == CIFS_LARGE_BUFFER)
729 cifs_buf_release(iov[0].iov_base); 939 cifs_buf_release(iov[0].iov_base);
730 940
941 /* if ntlmssp, and negotiate succeeded, proceed to authenticate phase */
942 if ((phase == NtLmChallenge) && (rc == 0))
943 goto ssetup_ntlmssp_authenticate;
944
731 return rc; 945 return rc;
732} 946}
diff --git a/fs/cifs/smberr.h b/fs/cifs/smberr.h
index 7f50e8577c1c..c5084d27db7c 100644
--- a/fs/cifs/smberr.h
+++ b/fs/cifs/smberr.h
@@ -110,6 +110,7 @@
110 110
111/* Below errors are used internally (do not come over the wire) for passthrough 111/* Below errors are used internally (do not come over the wire) for passthrough
112 from STATUS codes to POSIX only */ 112 from STATUS codes to POSIX only */
113#define ERRsymlink 0xFFFD
113#define ErrTooManyLinks 0xFFFE 114#define ErrTooManyLinks 0xFFFE
114 115
115/* Following error codes may be generated with the ERRSRV error class.*/ 116/* Following error codes may be generated with the ERRSRV error class.*/
diff --git a/fs/configfs/symlink.c b/fs/configfs/symlink.c
index 932a92b31483..c8afa6b1d91d 100644
--- a/fs/configfs/symlink.c
+++ b/fs/configfs/symlink.c
@@ -135,7 +135,7 @@ int configfs_symlink(struct inode *dir, struct dentry *dentry, const char *symna
135 struct path path; 135 struct path path;
136 struct configfs_dirent *sd; 136 struct configfs_dirent *sd;
137 struct config_item *parent_item; 137 struct config_item *parent_item;
138 struct config_item *target_item; 138 struct config_item *target_item = NULL;
139 struct config_item_type *type; 139 struct config_item_type *type;
140 140
141 ret = -EPERM; /* What lack-of-symlink returns */ 141 ret = -EPERM; /* What lack-of-symlink returns */
diff --git a/fs/dcache.c b/fs/dcache.c
index 1fcffebfb44f..75659a6fd1f8 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -481,7 +481,7 @@ restart:
481 if ((flags & DCACHE_REFERENCED) 481 if ((flags & DCACHE_REFERENCED)
482 && (dentry->d_flags & DCACHE_REFERENCED)) { 482 && (dentry->d_flags & DCACHE_REFERENCED)) {
483 dentry->d_flags &= ~DCACHE_REFERENCED; 483 dentry->d_flags &= ~DCACHE_REFERENCED;
484 list_move_tail(&dentry->d_lru, &referenced); 484 list_move(&dentry->d_lru, &referenced);
485 spin_unlock(&dentry->d_lock); 485 spin_unlock(&dentry->d_lock);
486 } else { 486 } else {
487 list_move_tail(&dentry->d_lru, &tmp); 487 list_move_tail(&dentry->d_lru, &tmp);
diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
index 63a4a59e4148..c68edb969441 100644
--- a/fs/devpts/inode.c
+++ b/fs/devpts/inode.c
@@ -90,6 +90,15 @@ static inline struct super_block *pts_sb_from_inode(struct inode *inode)
90#define PARSE_MOUNT 0 90#define PARSE_MOUNT 0
91#define PARSE_REMOUNT 1 91#define PARSE_REMOUNT 1
92 92
93/*
94 * parse_mount_options():
95 * Set @opts to mount options specified in @data. If an option is not
96 * specified in @data, set it to its default value. The exception is
97 * 'newinstance' option which can only be set/cleared on a mount (i.e.
98 * cannot be changed during remount).
99 *
100 * Note: @data may be NULL (in which case all options are set to default).
101 */
93static int parse_mount_options(char *data, int op, struct pts_mount_opts *opts) 102static int parse_mount_options(char *data, int op, struct pts_mount_opts *opts)
94{ 103{
95 char *p; 104 char *p;
@@ -355,12 +364,9 @@ static int devpts_get_sb(struct file_system_type *fs_type,
355 struct pts_mount_opts opts; 364 struct pts_mount_opts opts;
356 struct super_block *s; 365 struct super_block *s;
357 366
358 memset(&opts, 0, sizeof(opts)); 367 error = parse_mount_options(data, PARSE_MOUNT, &opts);
359 if (data) { 368 if (error)
360 error = parse_mount_options(data, PARSE_MOUNT, &opts); 369 return error;
361 if (error)
362 return error;
363 }
364 370
365 if (opts.newinstance) 371 if (opts.newinstance)
366 s = sget(fs_type, NULL, set_anon_super, NULL); 372 s = sget(fs_type, NULL, set_anon_super, NULL);
@@ -389,11 +395,10 @@ static int devpts_get_sb(struct file_system_type *fs_type,
389 return 0; 395 return 0;
390 396
391out_dput: 397out_dput:
392 dput(s->s_root); 398 dput(s->s_root); /* undo dget() in simple_set_mnt() */
393 399
394out_undo_sget: 400out_undo_sget:
395 up_write(&s->s_umount); 401 deactivate_locked_super(s);
396 deactivate_super(s);
397 return error; 402 return error;
398} 403}
399 404
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c
index ccabd5faa04d..9f0aa9883c28 100644
--- a/fs/ecryptfs/main.c
+++ b/fs/ecryptfs/main.c
@@ -614,9 +614,8 @@ static int ecryptfs_get_sb(struct file_system_type *fs_type, int flags,
614 } 614 }
615 goto out; 615 goto out;
616out_abort: 616out_abort:
617 dput(sb->s_root); 617 dput(sb->s_root); /* aka mnt->mnt_root, as set by get_sb_nodev() */
618 up_write(&sb->s_umount); 618 deactivate_locked_super(sb);
619 deactivate_super(sb);
620out: 619out:
621 return rc; 620 return rc;
622} 621}
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index a89f370fadb5..5458e80fc558 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -1212,7 +1212,7 @@ SYSCALL_DEFINE1(epoll_create1, int, flags)
1212 1212
1213SYSCALL_DEFINE1(epoll_create, int, size) 1213SYSCALL_DEFINE1(epoll_create, int, size)
1214{ 1214{
1215 if (size < 0) 1215 if (size <= 0)
1216 return -EINVAL; 1216 return -EINVAL;
1217 1217
1218 return sys_epoll_create1(0); 1218 return sys_epoll_create1(0);
diff --git a/fs/exec.c b/fs/exec.c
index fe75dcff023a..ad4f28c2327a 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -70,17 +70,18 @@ int suid_dumpable = 0;
70static LIST_HEAD(formats); 70static LIST_HEAD(formats);
71static DEFINE_RWLOCK(binfmt_lock); 71static DEFINE_RWLOCK(binfmt_lock);
72 72
73int register_binfmt(struct linux_binfmt * fmt) 73int __register_binfmt(struct linux_binfmt * fmt, int insert)
74{ 74{
75 if (!fmt) 75 if (!fmt)
76 return -EINVAL; 76 return -EINVAL;
77 write_lock(&binfmt_lock); 77 write_lock(&binfmt_lock);
78 list_add(&fmt->lh, &formats); 78 insert ? list_add(&fmt->lh, &formats) :
79 list_add_tail(&fmt->lh, &formats);
79 write_unlock(&binfmt_lock); 80 write_unlock(&binfmt_lock);
80 return 0; 81 return 0;
81} 82}
82 83
83EXPORT_SYMBOL(register_binfmt); 84EXPORT_SYMBOL(__register_binfmt);
84 85
85void unregister_binfmt(struct linux_binfmt * fmt) 86void unregister_binfmt(struct linux_binfmt * fmt)
86{ 87{
@@ -105,40 +106,28 @@ static inline void put_binfmt(struct linux_binfmt * fmt)
105SYSCALL_DEFINE1(uselib, const char __user *, library) 106SYSCALL_DEFINE1(uselib, const char __user *, library)
106{ 107{
107 struct file *file; 108 struct file *file;
108 struct nameidata nd;
109 char *tmp = getname(library); 109 char *tmp = getname(library);
110 int error = PTR_ERR(tmp); 110 int error = PTR_ERR(tmp);
111 111
112 if (!IS_ERR(tmp)) { 112 if (IS_ERR(tmp))
113 error = path_lookup_open(AT_FDCWD, tmp, 113 goto out;
114 LOOKUP_FOLLOW, &nd, 114
115 FMODE_READ|FMODE_EXEC); 115 file = do_filp_open(AT_FDCWD, tmp,
116 putname(tmp); 116 O_LARGEFILE | O_RDONLY | FMODE_EXEC, 0,
117 } 117 MAY_READ | MAY_EXEC | MAY_OPEN);
118 if (error) 118 putname(tmp);
119 error = PTR_ERR(file);
120 if (IS_ERR(file))
119 goto out; 121 goto out;
120 122
121 error = -EINVAL; 123 error = -EINVAL;
122 if (!S_ISREG(nd.path.dentry->d_inode->i_mode)) 124 if (!S_ISREG(file->f_path.dentry->d_inode->i_mode))
123 goto exit; 125 goto exit;
124 126
125 error = -EACCES; 127 error = -EACCES;
126 if (nd.path.mnt->mnt_flags & MNT_NOEXEC) 128 if (file->f_path.mnt->mnt_flags & MNT_NOEXEC)
127 goto exit;
128
129 error = inode_permission(nd.path.dentry->d_inode,
130 MAY_READ | MAY_EXEC | MAY_OPEN);
131 if (error)
132 goto exit;
133 error = ima_path_check(&nd.path, MAY_READ | MAY_EXEC | MAY_OPEN);
134 if (error)
135 goto exit; 129 goto exit;
136 130
137 file = nameidata_to_filp(&nd, O_RDONLY|O_LARGEFILE);
138 error = PTR_ERR(file);
139 if (IS_ERR(file))
140 goto out;
141
142 fsnotify_open(file->f_path.dentry); 131 fsnotify_open(file->f_path.dentry);
143 132
144 error = -ENOEXEC; 133 error = -ENOEXEC;
@@ -160,13 +149,10 @@ SYSCALL_DEFINE1(uselib, const char __user *, library)
160 } 149 }
161 read_unlock(&binfmt_lock); 150 read_unlock(&binfmt_lock);
162 } 151 }
152exit:
163 fput(file); 153 fput(file);
164out: 154out:
165 return error; 155 return error;
166exit:
167 release_open_intent(&nd);
168 path_put(&nd.path);
169 goto out;
170} 156}
171 157
172#ifdef CONFIG_MMU 158#ifdef CONFIG_MMU
@@ -661,47 +647,33 @@ EXPORT_SYMBOL(setup_arg_pages);
661 647
662struct file *open_exec(const char *name) 648struct file *open_exec(const char *name)
663{ 649{
664 struct nameidata nd;
665 struct file *file; 650 struct file *file;
666 int err; 651 int err;
667 652
668 err = path_lookup_open(AT_FDCWD, name, LOOKUP_FOLLOW, &nd, 653 file = do_filp_open(AT_FDCWD, name,
669 FMODE_READ|FMODE_EXEC); 654 O_LARGEFILE | O_RDONLY | FMODE_EXEC, 0,
670 if (err) 655 MAY_EXEC | MAY_OPEN);
656 if (IS_ERR(file))
671 goto out; 657 goto out;
672 658
673 err = -EACCES; 659 err = -EACCES;
674 if (!S_ISREG(nd.path.dentry->d_inode->i_mode)) 660 if (!S_ISREG(file->f_path.dentry->d_inode->i_mode))
675 goto out_path_put; 661 goto exit;
676
677 if (nd.path.mnt->mnt_flags & MNT_NOEXEC)
678 goto out_path_put;
679
680 err = inode_permission(nd.path.dentry->d_inode, MAY_EXEC | MAY_OPEN);
681 if (err)
682 goto out_path_put;
683 err = ima_path_check(&nd.path, MAY_EXEC | MAY_OPEN);
684 if (err)
685 goto out_path_put;
686 662
687 file = nameidata_to_filp(&nd, O_RDONLY|O_LARGEFILE); 663 if (file->f_path.mnt->mnt_flags & MNT_NOEXEC)
688 if (IS_ERR(file)) 664 goto exit;
689 return file;
690 665
691 fsnotify_open(file->f_path.dentry); 666 fsnotify_open(file->f_path.dentry);
692 667
693 err = deny_write_access(file); 668 err = deny_write_access(file);
694 if (err) { 669 if (err)
695 fput(file); 670 goto exit;
696 goto out;
697 }
698 671
672out:
699 return file; 673 return file;
700 674
701 out_path_put: 675exit:
702 release_open_intent(&nd); 676 fput(file);
703 path_put(&nd.path);
704 out:
705 return ERR_PTR(err); 677 return ERR_PTR(err);
706} 678}
707EXPORT_SYMBOL(open_exec); 679EXPORT_SYMBOL(open_exec);
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index e40332158340..e3a55eb8b26a 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -1841,11 +1841,13 @@ ext4_ext_put_in_cache(struct inode *inode, ext4_lblk_t block,
1841{ 1841{
1842 struct ext4_ext_cache *cex; 1842 struct ext4_ext_cache *cex;
1843 BUG_ON(len == 0); 1843 BUG_ON(len == 0);
1844 spin_lock(&EXT4_I(inode)->i_block_reservation_lock);
1844 cex = &EXT4_I(inode)->i_cached_extent; 1845 cex = &EXT4_I(inode)->i_cached_extent;
1845 cex->ec_type = type; 1846 cex->ec_type = type;
1846 cex->ec_block = block; 1847 cex->ec_block = block;
1847 cex->ec_len = len; 1848 cex->ec_len = len;
1848 cex->ec_start = start; 1849 cex->ec_start = start;
1850 spin_unlock(&EXT4_I(inode)->i_block_reservation_lock);
1849} 1851}
1850 1852
1851/* 1853/*
@@ -1902,12 +1904,17 @@ ext4_ext_in_cache(struct inode *inode, ext4_lblk_t block,
1902 struct ext4_extent *ex) 1904 struct ext4_extent *ex)
1903{ 1905{
1904 struct ext4_ext_cache *cex; 1906 struct ext4_ext_cache *cex;
1907 int ret = EXT4_EXT_CACHE_NO;
1905 1908
1909 /*
1910 * We borrow i_block_reservation_lock to protect i_cached_extent
1911 */
1912 spin_lock(&EXT4_I(inode)->i_block_reservation_lock);
1906 cex = &EXT4_I(inode)->i_cached_extent; 1913 cex = &EXT4_I(inode)->i_cached_extent;
1907 1914
1908 /* has cache valid data? */ 1915 /* has cache valid data? */
1909 if (cex->ec_type == EXT4_EXT_CACHE_NO) 1916 if (cex->ec_type == EXT4_EXT_CACHE_NO)
1910 return EXT4_EXT_CACHE_NO; 1917 goto errout;
1911 1918
1912 BUG_ON(cex->ec_type != EXT4_EXT_CACHE_GAP && 1919 BUG_ON(cex->ec_type != EXT4_EXT_CACHE_GAP &&
1913 cex->ec_type != EXT4_EXT_CACHE_EXTENT); 1920 cex->ec_type != EXT4_EXT_CACHE_EXTENT);
@@ -1918,11 +1925,11 @@ ext4_ext_in_cache(struct inode *inode, ext4_lblk_t block,
1918 ext_debug("%u cached by %u:%u:%llu\n", 1925 ext_debug("%u cached by %u:%u:%llu\n",
1919 block, 1926 block,
1920 cex->ec_block, cex->ec_len, cex->ec_start); 1927 cex->ec_block, cex->ec_len, cex->ec_start);
1921 return cex->ec_type; 1928 ret = cex->ec_type;
1922 } 1929 }
1923 1930errout:
1924 /* not in cache */ 1931 spin_unlock(&EXT4_I(inode)->i_block_reservation_lock);
1925 return EXT4_EXT_CACHE_NO; 1932 return ret;
1926} 1933}
1927 1934
1928/* 1935/*
@@ -2875,6 +2882,8 @@ int ext4_ext_get_blocks(handle_t *handle, struct inode *inode,
2875 if (allocated > max_blocks) 2882 if (allocated > max_blocks)
2876 allocated = max_blocks; 2883 allocated = max_blocks;
2877 set_buffer_unwritten(bh_result); 2884 set_buffer_unwritten(bh_result);
2885 bh_result->b_bdev = inode->i_sb->s_bdev;
2886 bh_result->b_blocknr = newblock;
2878 goto out2; 2887 goto out2;
2879 } 2888 }
2880 2889
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index e91f978c7f12..2a9ffd528dd1 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1149,6 +1149,7 @@ int ext4_get_blocks_wrap(handle_t *handle, struct inode *inode, sector_t block,
1149 int retval; 1149 int retval;
1150 1150
1151 clear_buffer_mapped(bh); 1151 clear_buffer_mapped(bh);
1152 clear_buffer_unwritten(bh);
1152 1153
1153 /* 1154 /*
1154 * Try to see if we can get the block without requesting 1155 * Try to see if we can get the block without requesting
@@ -1179,6 +1180,18 @@ int ext4_get_blocks_wrap(handle_t *handle, struct inode *inode, sector_t block,
1179 return retval; 1180 return retval;
1180 1181
1181 /* 1182 /*
1183 * When we call get_blocks without the create flag, the
1184 * BH_Unwritten flag could have gotten set if the blocks
1185 * requested were part of a uninitialized extent. We need to
1186 * clear this flag now that we are committed to convert all or
1187 * part of the uninitialized extent to be an initialized
1188 * extent. This is because we need to avoid the combination
1189 * of BH_Unwritten and BH_Mapped flags being simultaneously
1190 * set on the buffer_head.
1191 */
1192 clear_buffer_unwritten(bh);
1193
1194 /*
1182 * New blocks allocate and/or writing to uninitialized extent 1195 * New blocks allocate and/or writing to uninitialized extent
1183 * will possibly result in updating i_data, so we take 1196 * will possibly result in updating i_data, so we take
1184 * the write lock of i_data_sem, and call get_blocks() 1197 * the write lock of i_data_sem, and call get_blocks()
@@ -2297,6 +2310,10 @@ static int ext4_da_get_block_prep(struct inode *inode, sector_t iblock,
2297 struct buffer_head *bh_result, int create) 2310 struct buffer_head *bh_result, int create)
2298{ 2311{
2299 int ret = 0; 2312 int ret = 0;
2313 sector_t invalid_block = ~((sector_t) 0xffff);
2314
2315 if (invalid_block < ext4_blocks_count(EXT4_SB(inode->i_sb)->s_es))
2316 invalid_block = ~0;
2300 2317
2301 BUG_ON(create == 0); 2318 BUG_ON(create == 0);
2302 BUG_ON(bh_result->b_size != inode->i_sb->s_blocksize); 2319 BUG_ON(bh_result->b_size != inode->i_sb->s_blocksize);
@@ -2318,11 +2335,18 @@ static int ext4_da_get_block_prep(struct inode *inode, sector_t iblock,
2318 /* not enough space to reserve */ 2335 /* not enough space to reserve */
2319 return ret; 2336 return ret;
2320 2337
2321 map_bh(bh_result, inode->i_sb, 0); 2338 map_bh(bh_result, inode->i_sb, invalid_block);
2322 set_buffer_new(bh_result); 2339 set_buffer_new(bh_result);
2323 set_buffer_delay(bh_result); 2340 set_buffer_delay(bh_result);
2324 } else if (ret > 0) { 2341 } else if (ret > 0) {
2325 bh_result->b_size = (ret << inode->i_blkbits); 2342 bh_result->b_size = (ret << inode->i_blkbits);
2343 /*
2344 * With sub-block writes into unwritten extents
2345 * we also need to mark the buffer as new so that
2346 * the unwritten parts of the buffer gets correctly zeroed.
2347 */
2348 if (buffer_unwritten(bh_result))
2349 set_buffer_new(bh_result);
2326 ret = 0; 2350 ret = 0;
2327 } 2351 }
2328 2352
diff --git a/fs/fcntl.c b/fs/fcntl.c
index cc8e4de2fee5..1ad703150dee 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -117,11 +117,13 @@ SYSCALL_DEFINE2(dup2, unsigned int, oldfd, unsigned int, newfd)
117{ 117{
118 if (unlikely(newfd == oldfd)) { /* corner case */ 118 if (unlikely(newfd == oldfd)) { /* corner case */
119 struct files_struct *files = current->files; 119 struct files_struct *files = current->files;
120 int retval = oldfd;
121
120 rcu_read_lock(); 122 rcu_read_lock();
121 if (!fcheck_files(files, oldfd)) 123 if (!fcheck_files(files, oldfd))
122 oldfd = -EBADF; 124 retval = -EBADF;
123 rcu_read_unlock(); 125 rcu_read_unlock();
124 return oldfd; 126 return retval;
125 } 127 }
126 return sys_dup3(oldfd, newfd, 0); 128 return sys_dup3(oldfd, newfd, 0);
127} 129}
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 459b73dd45e1..91f7c85f1ffd 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -19,6 +19,7 @@
19#include <linux/random.h> 19#include <linux/random.h>
20#include <linux/sched.h> 20#include <linux/sched.h>
21#include <linux/exportfs.h> 21#include <linux/exportfs.h>
22#include <linux/smp_lock.h>
22 23
23MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); 24MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>");
24MODULE_DESCRIPTION("Filesystem in Userspace"); 25MODULE_DESCRIPTION("Filesystem in Userspace");
@@ -259,7 +260,9 @@ struct inode *fuse_iget(struct super_block *sb, u64 nodeid,
259 260
260static void fuse_umount_begin(struct super_block *sb) 261static void fuse_umount_begin(struct super_block *sb)
261{ 262{
263 lock_kernel();
262 fuse_abort_conn(get_fuse_conn_super(sb)); 264 fuse_abort_conn(get_fuse_conn_super(sb));
265 unlock_kernel();
263} 266}
264 267
265static void fuse_send_destroy(struct fuse_conn *fc) 268static void fuse_send_destroy(struct fuse_conn *fc)
@@ -908,6 +911,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
908 err_put_root: 911 err_put_root:
909 dput(root_dentry); 912 dput(root_dentry);
910 err_put_conn: 913 err_put_conn:
914 bdi_destroy(&fc->bdi);
911 fuse_conn_put(fc); 915 fuse_conn_put(fc);
912 err_fput: 916 err_fput:
913 fput(file); 917 fput(file);
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 1afd9f26bcb1..ff4981090489 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1304,6 +1304,7 @@ static int gfs2_shrink_glock_memory(int nr, gfp_t gfp_mask)
1304 nr--; 1304 nr--;
1305 if (queue_delayed_work(glock_workqueue, &gl->gl_work, 0) == 0) 1305 if (queue_delayed_work(glock_workqueue, &gl->gl_work, 0) == 0)
1306 gfs2_glock_put(gl); 1306 gfs2_glock_put(gl);
1307 got_ref = 0;
1307 } 1308 }
1308 spin_lock(&lru_lock); 1309 spin_lock(&lru_lock);
1309 if (may_demote) 1310 if (may_demote)
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 650a730707b7..1ff9473ea753 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -1282,21 +1282,21 @@ static int gfs2_get_sb(struct file_system_type *fs_type, int flags,
1282static struct super_block *get_gfs2_sb(const char *dev_name) 1282static struct super_block *get_gfs2_sb(const char *dev_name)
1283{ 1283{
1284 struct super_block *sb; 1284 struct super_block *sb;
1285 struct nameidata nd; 1285 struct path path;
1286 int error; 1286 int error;
1287 1287
1288 error = path_lookup(dev_name, LOOKUP_FOLLOW, &nd); 1288 error = kern_path(dev_name, LOOKUP_FOLLOW, &path);
1289 if (error) { 1289 if (error) {
1290 printk(KERN_WARNING "GFS2: path_lookup on %s returned error %d\n", 1290 printk(KERN_WARNING "GFS2: path_lookup on %s returned error %d\n",
1291 dev_name, error); 1291 dev_name, error);
1292 return NULL; 1292 return NULL;
1293 } 1293 }
1294 sb = nd.path.dentry->d_inode->i_sb; 1294 sb = path.dentry->d_inode->i_sb;
1295 if (sb && (sb->s_type == &gfs2_fs_type)) 1295 if (sb && (sb->s_type == &gfs2_fs_type))
1296 atomic_inc(&sb->s_active); 1296 atomic_inc(&sb->s_active);
1297 else 1297 else
1298 sb = NULL; 1298 sb = NULL;
1299 path_put(&nd.path); 1299 path_put(&path);
1300 return sb; 1300 return sb;
1301} 1301}
1302 1302
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c
index fecf402d7b8a..fc77965be841 100644
--- a/fs/hpfs/super.c
+++ b/fs/hpfs/super.c
@@ -423,8 +423,7 @@ static int hpfs_remount_fs(struct super_block *s, int *flags, char *data)
423 423
424 if (!(*flags & MS_RDONLY)) mark_dirty(s); 424 if (!(*flags & MS_RDONLY)) mark_dirty(s);
425 425
426 kfree(s->s_options); 426 replace_mount_options(s, new_opts);
427 s->s_options = new_opts;
428 427
429 return 0; 428 return 0;
430 429
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 153d9681192b..c1462d43e721 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -312,16 +312,6 @@ out:
312 return retval; 312 return retval;
313} 313}
314 314
315/*
316 * Read a page. Again trivial. If it didn't already exist
317 * in the page cache, it is zero-filled.
318 */
319static int hugetlbfs_readpage(struct file *file, struct page * page)
320{
321 unlock_page(page);
322 return -EINVAL;
323}
324
325static int hugetlbfs_write_begin(struct file *file, 315static int hugetlbfs_write_begin(struct file *file,
326 struct address_space *mapping, 316 struct address_space *mapping,
327 loff_t pos, unsigned len, unsigned flags, 317 loff_t pos, unsigned len, unsigned flags,
@@ -701,7 +691,6 @@ static void hugetlbfs_destroy_inode(struct inode *inode)
701} 691}
702 692
703static const struct address_space_operations hugetlbfs_aops = { 693static const struct address_space_operations hugetlbfs_aops = {
704 .readpage = hugetlbfs_readpage,
705 .write_begin = hugetlbfs_write_begin, 694 .write_begin = hugetlbfs_write_begin,
706 .write_end = hugetlbfs_write_end, 695 .write_end = hugetlbfs_write_end,
707 .set_page_dirty = hugetlbfs_set_page_dirty, 696 .set_page_dirty = hugetlbfs_set_page_dirty,
diff --git a/fs/inode.c b/fs/inode.c
index 6ad14a1cd8c9..0571983755dc 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -99,7 +99,7 @@ static DEFINE_MUTEX(iprune_mutex);
99 */ 99 */
100struct inodes_stat_t inodes_stat; 100struct inodes_stat_t inodes_stat;
101 101
102static struct kmem_cache * inode_cachep __read_mostly; 102static struct kmem_cache *inode_cachep __read_mostly;
103 103
104static void wake_up_inode(struct inode *inode) 104static void wake_up_inode(struct inode *inode)
105{ 105{
@@ -124,7 +124,7 @@ struct inode *inode_init_always(struct super_block *sb, struct inode *inode)
124 static struct inode_operations empty_iops; 124 static struct inode_operations empty_iops;
125 static const struct file_operations empty_fops; 125 static const struct file_operations empty_fops;
126 126
127 struct address_space * const mapping = &inode->i_data; 127 struct address_space *const mapping = &inode->i_data;
128 128
129 inode->i_sb = sb; 129 inode->i_sb = sb;
130 inode->i_blkbits = sb->s_blocksize_bits; 130 inode->i_blkbits = sb->s_blocksize_bits;
@@ -216,7 +216,7 @@ static struct inode *alloc_inode(struct super_block *sb)
216 return NULL; 216 return NULL;
217} 217}
218 218
219void destroy_inode(struct inode *inode) 219void destroy_inode(struct inode *inode)
220{ 220{
221 BUG_ON(inode_has_buffers(inode)); 221 BUG_ON(inode_has_buffers(inode));
222 security_inode_free(inode); 222 security_inode_free(inode);
@@ -252,12 +252,11 @@ void inode_init_once(struct inode *inode)
252 mutex_init(&inode->inotify_mutex); 252 mutex_init(&inode->inotify_mutex);
253#endif 253#endif
254} 254}
255
256EXPORT_SYMBOL(inode_init_once); 255EXPORT_SYMBOL(inode_init_once);
257 256
258static void init_once(void *foo) 257static void init_once(void *foo)
259{ 258{
260 struct inode * inode = (struct inode *) foo; 259 struct inode *inode = (struct inode *) foo;
261 260
262 inode_init_once(inode); 261 inode_init_once(inode);
263} 262}
@@ -265,7 +264,7 @@ static void init_once(void *foo)
265/* 264/*
266 * inode_lock must be held 265 * inode_lock must be held
267 */ 266 */
268void __iget(struct inode * inode) 267void __iget(struct inode *inode)
269{ 268{
270 if (atomic_read(&inode->i_count)) { 269 if (atomic_read(&inode->i_count)) {
271 atomic_inc(&inode->i_count); 270 atomic_inc(&inode->i_count);
@@ -289,7 +288,7 @@ void clear_inode(struct inode *inode)
289{ 288{
290 might_sleep(); 289 might_sleep();
291 invalidate_inode_buffers(inode); 290 invalidate_inode_buffers(inode);
292 291
293 BUG_ON(inode->i_data.nrpages); 292 BUG_ON(inode->i_data.nrpages);
294 BUG_ON(!(inode->i_state & I_FREEING)); 293 BUG_ON(!(inode->i_state & I_FREEING));
295 BUG_ON(inode->i_state & I_CLEAR); 294 BUG_ON(inode->i_state & I_CLEAR);
@@ -303,7 +302,6 @@ void clear_inode(struct inode *inode)
303 cd_forget(inode); 302 cd_forget(inode);
304 inode->i_state = I_CLEAR; 303 inode->i_state = I_CLEAR;
305} 304}
306
307EXPORT_SYMBOL(clear_inode); 305EXPORT_SYMBOL(clear_inode);
308 306
309/* 307/*
@@ -351,8 +349,8 @@ static int invalidate_list(struct list_head *head, struct list_head *dispose)
351 349
352 next = head->next; 350 next = head->next;
353 for (;;) { 351 for (;;) {
354 struct list_head * tmp = next; 352 struct list_head *tmp = next;
355 struct inode * inode; 353 struct inode *inode;
356 354
357 /* 355 /*
358 * We can reschedule here without worrying about the list's 356 * We can reschedule here without worrying about the list's
@@ -391,7 +389,7 @@ static int invalidate_list(struct list_head *head, struct list_head *dispose)
391 * fails because there are busy inodes then a non zero value is returned. 389 * fails because there are busy inodes then a non zero value is returned.
392 * If the discard is successful all the inodes have been discarded. 390 * If the discard is successful all the inodes have been discarded.
393 */ 391 */
394int invalidate_inodes(struct super_block * sb) 392int invalidate_inodes(struct super_block *sb)
395{ 393{
396 int busy; 394 int busy;
397 LIST_HEAD(throw_away); 395 LIST_HEAD(throw_away);
@@ -407,7 +405,6 @@ int invalidate_inodes(struct super_block * sb)
407 405
408 return busy; 406 return busy;
409} 407}
410
411EXPORT_SYMBOL(invalidate_inodes); 408EXPORT_SYMBOL(invalidate_inodes);
412 409
413static int can_unuse(struct inode *inode) 410static int can_unuse(struct inode *inode)
@@ -504,7 +501,7 @@ static int shrink_icache_memory(int nr, gfp_t gfp_mask)
504 * Nasty deadlock avoidance. We may hold various FS locks, 501 * Nasty deadlock avoidance. We may hold various FS locks,
505 * and we don't want to recurse into the FS that called us 502 * and we don't want to recurse into the FS that called us
506 * in clear_inode() and friends.. 503 * in clear_inode() and friends..
507 */ 504 */
508 if (!(gfp_mask & __GFP_FS)) 505 if (!(gfp_mask & __GFP_FS))
509 return -1; 506 return -1;
510 prune_icache(nr); 507 prune_icache(nr);
@@ -524,10 +521,13 @@ static void __wait_on_freeing_inode(struct inode *inode);
524 * by hand after calling find_inode now! This simplifies iunique and won't 521 * by hand after calling find_inode now! This simplifies iunique and won't
525 * add any additional branch in the common code. 522 * add any additional branch in the common code.
526 */ 523 */
527static struct inode * find_inode(struct super_block * sb, struct hlist_head *head, int (*test)(struct inode *, void *), void *data) 524static struct inode *find_inode(struct super_block *sb,
525 struct hlist_head *head,
526 int (*test)(struct inode *, void *),
527 void *data)
528{ 528{
529 struct hlist_node *node; 529 struct hlist_node *node;
530 struct inode * inode = NULL; 530 struct inode *inode = NULL;
531 531
532repeat: 532repeat:
533 hlist_for_each_entry(inode, node, head, i_hash) { 533 hlist_for_each_entry(inode, node, head, i_hash) {
@@ -548,10 +548,11 @@ repeat:
548 * find_inode_fast is the fast path version of find_inode, see the comment at 548 * find_inode_fast is the fast path version of find_inode, see the comment at
549 * iget_locked for details. 549 * iget_locked for details.
550 */ 550 */
551static struct inode * find_inode_fast(struct super_block * sb, struct hlist_head *head, unsigned long ino) 551static struct inode *find_inode_fast(struct super_block *sb,
552 struct hlist_head *head, unsigned long ino)
552{ 553{
553 struct hlist_node *node; 554 struct hlist_node *node;
554 struct inode * inode = NULL; 555 struct inode *inode = NULL;
555 556
556repeat: 557repeat:
557 hlist_for_each_entry(inode, node, head, i_hash) { 558 hlist_for_each_entry(inode, node, head, i_hash) {
@@ -631,10 +632,10 @@ struct inode *new_inode(struct super_block *sb)
631 * here to attempt to avoid that. 632 * here to attempt to avoid that.
632 */ 633 */
633 static unsigned int last_ino; 634 static unsigned int last_ino;
634 struct inode * inode; 635 struct inode *inode;
635 636
636 spin_lock_prefetch(&inode_lock); 637 spin_lock_prefetch(&inode_lock);
637 638
638 inode = alloc_inode(sb); 639 inode = alloc_inode(sb);
639 if (inode) { 640 if (inode) {
640 spin_lock(&inode_lock); 641 spin_lock(&inode_lock);
@@ -645,7 +646,6 @@ struct inode *new_inode(struct super_block *sb)
645 } 646 }
646 return inode; 647 return inode;
647} 648}
648
649EXPORT_SYMBOL(new_inode); 649EXPORT_SYMBOL(new_inode);
650 650
651void unlock_new_inode(struct inode *inode) 651void unlock_new_inode(struct inode *inode)
@@ -674,7 +674,6 @@ void unlock_new_inode(struct inode *inode)
674 inode->i_state &= ~(I_LOCK|I_NEW); 674 inode->i_state &= ~(I_LOCK|I_NEW);
675 wake_up_inode(inode); 675 wake_up_inode(inode);
676} 676}
677
678EXPORT_SYMBOL(unlock_new_inode); 677EXPORT_SYMBOL(unlock_new_inode);
679 678
680/* 679/*
@@ -683,13 +682,17 @@ EXPORT_SYMBOL(unlock_new_inode);
683 * We no longer cache the sb_flags in i_flags - see fs.h 682 * We no longer cache the sb_flags in i_flags - see fs.h
684 * -- rmk@arm.uk.linux.org 683 * -- rmk@arm.uk.linux.org
685 */ 684 */
686static struct inode * get_new_inode(struct super_block *sb, struct hlist_head *head, int (*test)(struct inode *, void *), int (*set)(struct inode *, void *), void *data) 685static struct inode *get_new_inode(struct super_block *sb,
686 struct hlist_head *head,
687 int (*test)(struct inode *, void *),
688 int (*set)(struct inode *, void *),
689 void *data)
687{ 690{
688 struct inode * inode; 691 struct inode *inode;
689 692
690 inode = alloc_inode(sb); 693 inode = alloc_inode(sb);
691 if (inode) { 694 if (inode) {
692 struct inode * old; 695 struct inode *old;
693 696
694 spin_lock(&inode_lock); 697 spin_lock(&inode_lock);
695 /* We released the lock, so.. */ 698 /* We released the lock, so.. */
@@ -731,13 +734,14 @@ set_failed:
731 * get_new_inode_fast is the fast path version of get_new_inode, see the 734 * get_new_inode_fast is the fast path version of get_new_inode, see the
732 * comment at iget_locked for details. 735 * comment at iget_locked for details.
733 */ 736 */
734static struct inode * get_new_inode_fast(struct super_block *sb, struct hlist_head *head, unsigned long ino) 737static struct inode *get_new_inode_fast(struct super_block *sb,
738 struct hlist_head *head, unsigned long ino)
735{ 739{
736 struct inode * inode; 740 struct inode *inode;
737 741
738 inode = alloc_inode(sb); 742 inode = alloc_inode(sb);
739 if (inode) { 743 if (inode) {
740 struct inode * old; 744 struct inode *old;
741 745
742 spin_lock(&inode_lock); 746 spin_lock(&inode_lock);
743 /* We released the lock, so.. */ 747 /* We released the lock, so.. */
@@ -823,7 +827,6 @@ struct inode *igrab(struct inode *inode)
823 spin_unlock(&inode_lock); 827 spin_unlock(&inode_lock);
824 return inode; 828 return inode;
825} 829}
826
827EXPORT_SYMBOL(igrab); 830EXPORT_SYMBOL(igrab);
828 831
829/** 832/**
@@ -924,7 +927,6 @@ struct inode *ilookup5_nowait(struct super_block *sb, unsigned long hashval,
924 927
925 return ifind(sb, head, test, data, 0); 928 return ifind(sb, head, test, data, 0);
926} 929}
927
928EXPORT_SYMBOL(ilookup5_nowait); 930EXPORT_SYMBOL(ilookup5_nowait);
929 931
930/** 932/**
@@ -953,7 +955,6 @@ struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
953 955
954 return ifind(sb, head, test, data, 1); 956 return ifind(sb, head, test, data, 1);
955} 957}
956
957EXPORT_SYMBOL(ilookup5); 958EXPORT_SYMBOL(ilookup5);
958 959
959/** 960/**
@@ -976,7 +977,6 @@ struct inode *ilookup(struct super_block *sb, unsigned long ino)
976 977
977 return ifind_fast(sb, head, ino); 978 return ifind_fast(sb, head, ino);
978} 979}
979
980EXPORT_SYMBOL(ilookup); 980EXPORT_SYMBOL(ilookup);
981 981
982/** 982/**
@@ -1015,7 +1015,6 @@ struct inode *iget5_locked(struct super_block *sb, unsigned long hashval,
1015 */ 1015 */
1016 return get_new_inode(sb, head, test, set, data); 1016 return get_new_inode(sb, head, test, set, data);
1017} 1017}
1018
1019EXPORT_SYMBOL(iget5_locked); 1018EXPORT_SYMBOL(iget5_locked);
1020 1019
1021/** 1020/**
@@ -1047,7 +1046,6 @@ struct inode *iget_locked(struct super_block *sb, unsigned long ino)
1047 */ 1046 */
1048 return get_new_inode_fast(sb, head, ino); 1047 return get_new_inode_fast(sb, head, ino);
1049} 1048}
1050
1051EXPORT_SYMBOL(iget_locked); 1049EXPORT_SYMBOL(iget_locked);
1052 1050
1053int insert_inode_locked(struct inode *inode) 1051int insert_inode_locked(struct inode *inode)
@@ -1076,7 +1074,6 @@ int insert_inode_locked(struct inode *inode)
1076 iput(old); 1074 iput(old);
1077 } 1075 }
1078} 1076}
1079
1080EXPORT_SYMBOL(insert_inode_locked); 1077EXPORT_SYMBOL(insert_inode_locked);
1081 1078
1082int insert_inode_locked4(struct inode *inode, unsigned long hashval, 1079int insert_inode_locked4(struct inode *inode, unsigned long hashval,
@@ -1106,7 +1103,6 @@ int insert_inode_locked4(struct inode *inode, unsigned long hashval,
1106 iput(old); 1103 iput(old);
1107 } 1104 }
1108} 1105}
1109
1110EXPORT_SYMBOL(insert_inode_locked4); 1106EXPORT_SYMBOL(insert_inode_locked4);
1111 1107
1112/** 1108/**
@@ -1124,7 +1120,6 @@ void __insert_inode_hash(struct inode *inode, unsigned long hashval)
1124 hlist_add_head(&inode->i_hash, head); 1120 hlist_add_head(&inode->i_hash, head);
1125 spin_unlock(&inode_lock); 1121 spin_unlock(&inode_lock);
1126} 1122}
1127
1128EXPORT_SYMBOL(__insert_inode_hash); 1123EXPORT_SYMBOL(__insert_inode_hash);
1129 1124
1130/** 1125/**
@@ -1139,7 +1134,6 @@ void remove_inode_hash(struct inode *inode)
1139 hlist_del_init(&inode->i_hash); 1134 hlist_del_init(&inode->i_hash);
1140 spin_unlock(&inode_lock); 1135 spin_unlock(&inode_lock);
1141} 1136}
1142
1143EXPORT_SYMBOL(remove_inode_hash); 1137EXPORT_SYMBOL(remove_inode_hash);
1144 1138
1145/* 1139/*
@@ -1187,7 +1181,6 @@ void generic_delete_inode(struct inode *inode)
1187 BUG_ON(inode->i_state != I_CLEAR); 1181 BUG_ON(inode->i_state != I_CLEAR);
1188 destroy_inode(inode); 1182 destroy_inode(inode);
1189} 1183}
1190
1191EXPORT_SYMBOL(generic_delete_inode); 1184EXPORT_SYMBOL(generic_delete_inode);
1192 1185
1193static void generic_forget_inode(struct inode *inode) 1186static void generic_forget_inode(struct inode *inode)
@@ -1237,12 +1230,11 @@ void generic_drop_inode(struct inode *inode)
1237 else 1230 else
1238 generic_forget_inode(inode); 1231 generic_forget_inode(inode);
1239} 1232}
1240
1241EXPORT_SYMBOL_GPL(generic_drop_inode); 1233EXPORT_SYMBOL_GPL(generic_drop_inode);
1242 1234
1243/* 1235/*
1244 * Called when we're dropping the last reference 1236 * Called when we're dropping the last reference
1245 * to an inode. 1237 * to an inode.
1246 * 1238 *
1247 * Call the FS "drop()" function, defaulting to 1239 * Call the FS "drop()" function, defaulting to
1248 * the legacy UNIX filesystem behaviour.. 1240 * the legacy UNIX filesystem behaviour..
@@ -1262,7 +1254,7 @@ static inline void iput_final(struct inode *inode)
1262} 1254}
1263 1255
1264/** 1256/**
1265 * iput - put an inode 1257 * iput - put an inode
1266 * @inode: inode to put 1258 * @inode: inode to put
1267 * 1259 *
1268 * Puts an inode, dropping its usage count. If the inode use count hits 1260 * Puts an inode, dropping its usage count. If the inode use count hits
@@ -1279,7 +1271,6 @@ void iput(struct inode *inode)
1279 iput_final(inode); 1271 iput_final(inode);
1280 } 1272 }
1281} 1273}
1282
1283EXPORT_SYMBOL(iput); 1274EXPORT_SYMBOL(iput);
1284 1275
1285/** 1276/**
@@ -1290,10 +1281,10 @@ EXPORT_SYMBOL(iput);
1290 * Returns the block number on the device holding the inode that 1281 * Returns the block number on the device holding the inode that
1291 * is the disk block number for the block of the file requested. 1282 * is the disk block number for the block of the file requested.
1292 * That is, asked for block 4 of inode 1 the function will return the 1283 * That is, asked for block 4 of inode 1 the function will return the
1293 * disk block relative to the disk start that holds that block of the 1284 * disk block relative to the disk start that holds that block of the
1294 * file. 1285 * file.
1295 */ 1286 */
1296sector_t bmap(struct inode * inode, sector_t block) 1287sector_t bmap(struct inode *inode, sector_t block)
1297{ 1288{
1298 sector_t res = 0; 1289 sector_t res = 0;
1299 if (inode->i_mapping->a_ops->bmap) 1290 if (inode->i_mapping->a_ops->bmap)
@@ -1425,7 +1416,6 @@ void file_update_time(struct file *file)
1425 mark_inode_dirty_sync(inode); 1416 mark_inode_dirty_sync(inode);
1426 mnt_drop_write(file->f_path.mnt); 1417 mnt_drop_write(file->f_path.mnt);
1427} 1418}
1428
1429EXPORT_SYMBOL(file_update_time); 1419EXPORT_SYMBOL(file_update_time);
1430 1420
1431int inode_needs_sync(struct inode *inode) 1421int inode_needs_sync(struct inode *inode)
@@ -1436,7 +1426,6 @@ int inode_needs_sync(struct inode *inode)
1436 return 1; 1426 return 1;
1437 return 0; 1427 return 0;
1438} 1428}
1439
1440EXPORT_SYMBOL(inode_needs_sync); 1429EXPORT_SYMBOL(inode_needs_sync);
1441 1430
1442int inode_wait(void *word) 1431int inode_wait(void *word)
diff --git a/fs/ioctl.c b/fs/ioctl.c
index ac2d47e43926..82d9c42b8bac 100644
--- a/fs/ioctl.c
+++ b/fs/ioctl.c
@@ -258,7 +258,7 @@ int __generic_block_fiemap(struct inode *inode,
258 long long length = 0, map_len = 0; 258 long long length = 0, map_len = 0;
259 u64 logical = 0, phys = 0, size = 0; 259 u64 logical = 0, phys = 0, size = 0;
260 u32 flags = FIEMAP_EXTENT_MERGED; 260 u32 flags = FIEMAP_EXTENT_MERGED;
261 int ret = 0; 261 int ret = 0, past_eof = 0, whole_file = 0;
262 262
263 if ((ret = fiemap_check_flags(fieinfo, FIEMAP_FLAG_SYNC))) 263 if ((ret = fiemap_check_flags(fieinfo, FIEMAP_FLAG_SYNC)))
264 return ret; 264 return ret;
@@ -266,6 +266,9 @@ int __generic_block_fiemap(struct inode *inode,
266 start_blk = logical_to_blk(inode, start); 266 start_blk = logical_to_blk(inode, start);
267 267
268 length = (long long)min_t(u64, len, i_size_read(inode)); 268 length = (long long)min_t(u64, len, i_size_read(inode));
269 if (length < len)
270 whole_file = 1;
271
269 map_len = length; 272 map_len = length;
270 273
271 do { 274 do {
@@ -282,11 +285,26 @@ int __generic_block_fiemap(struct inode *inode,
282 285
283 /* HOLE */ 286 /* HOLE */
284 if (!buffer_mapped(&tmp)) { 287 if (!buffer_mapped(&tmp)) {
288 length -= blk_to_logical(inode, 1);
289 start_blk++;
290
291 /*
292 * we want to handle the case where there is an
293 * allocated block at the front of the file, and then
294 * nothing but holes up to the end of the file properly,
295 * to make sure that extent at the front gets properly
296 * marked with FIEMAP_EXTENT_LAST
297 */
298 if (!past_eof &&
299 blk_to_logical(inode, start_blk) >=
300 blk_to_logical(inode, 0)+i_size_read(inode))
301 past_eof = 1;
302
285 /* 303 /*
286 * first hole after going past the EOF, this is our 304 * first hole after going past the EOF, this is our
287 * last extent 305 * last extent
288 */ 306 */
289 if (length <= 0) { 307 if (past_eof && size) {
290 flags = FIEMAP_EXTENT_MERGED|FIEMAP_EXTENT_LAST; 308 flags = FIEMAP_EXTENT_MERGED|FIEMAP_EXTENT_LAST;
291 ret = fiemap_fill_next_extent(fieinfo, logical, 309 ret = fiemap_fill_next_extent(fieinfo, logical,
292 phys, size, 310 phys, size,
@@ -294,15 +312,37 @@ int __generic_block_fiemap(struct inode *inode,
294 break; 312 break;
295 } 313 }
296 314
297 length -= blk_to_logical(inode, 1);
298
299 /* if we have holes up to/past EOF then we're done */ 315 /* if we have holes up to/past EOF then we're done */
300 if (length <= 0) 316 if (length <= 0 || past_eof)
301 break; 317 break;
302
303 start_blk++;
304 } else { 318 } else {
305 if (length <= 0 && size) { 319 /*
320 * we have gone over the length of what we wanted to
321 * map, and it wasn't the entire file, so add the extent
322 * we got last time and exit.
323 *
324 * This is for the case where say we want to map all the
325 * way up to the second to the last block in a file, but
326 * the last block is a hole, making the second to last
327 * block FIEMAP_EXTENT_LAST. In this case we want to
328 * see if there is a hole after the second to last block
329 * so we can mark it properly. If we found data after
330 * we exceeded the length we were requesting, then we
331 * are good to go, just add the extent to the fieinfo
332 * and break
333 */
334 if (length <= 0 && !whole_file) {
335 ret = fiemap_fill_next_extent(fieinfo, logical,
336 phys, size,
337 flags);
338 break;
339 }
340
341 /*
342 * if size != 0 then we know we already have an extent
343 * to add, so add it.
344 */
345 if (size) {
306 ret = fiemap_fill_next_extent(fieinfo, logical, 346 ret = fiemap_fill_next_extent(fieinfo, logical,
307 phys, size, 347 phys, size,
308 flags); 348 flags);
@@ -319,19 +359,14 @@ int __generic_block_fiemap(struct inode *inode,
319 start_blk += logical_to_blk(inode, size); 359 start_blk += logical_to_blk(inode, size);
320 360
321 /* 361 /*
322 * if we are past the EOF we need to loop again to see 362 * If we are past the EOF, then we need to make sure as
323 * if there is a hole so we can mark this extent as the 363 * soon as we find a hole that the last extent we found
324 * last one, and if not keep mapping things until we 364 * is marked with FIEMAP_EXTENT_LAST
325 * find a hole, or we run out of slots in the extent
326 * array
327 */ 365 */
328 if (length <= 0) 366 if (!past_eof &&
329 continue; 367 logical+size >=
330 368 blk_to_logical(inode, 0)+i_size_read(inode))
331 ret = fiemap_fill_next_extent(fieinfo, logical, phys, 369 past_eof = 1;
332 size, flags);
333 if (ret)
334 break;
335 } 370 }
336 cond_resched(); 371 cond_resched();
337 } while (1); 372 } while (1);
diff --git a/fs/libfs.c b/fs/libfs.c
index cd223190c4e9..80046ddf5063 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -246,8 +246,7 @@ int get_sb_pseudo(struct file_system_type *fs_type, char *name,
246 return 0; 246 return 0;
247 247
248Enomem: 248Enomem:
249 up_write(&s->s_umount); 249 deactivate_locked_super(s);
250 deactivate_super(s);
251 return -ENOMEM; 250 return -ENOMEM;
252} 251}
253 252
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index abf83881f68a..1a54ae14a192 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -104,6 +104,16 @@ static void set_grace_period(void)
104 schedule_delayed_work(&grace_period_end, grace_period); 104 schedule_delayed_work(&grace_period_end, grace_period);
105} 105}
106 106
107static void restart_grace(void)
108{
109 if (nlmsvc_ops) {
110 cancel_delayed_work_sync(&grace_period_end);
111 locks_end_grace(&lockd_manager);
112 nlmsvc_invalidate_all();
113 set_grace_period();
114 }
115}
116
107/* 117/*
108 * This is the lockd kernel thread 118 * This is the lockd kernel thread
109 */ 119 */
@@ -149,10 +159,7 @@ lockd(void *vrqstp)
149 159
150 if (signalled()) { 160 if (signalled()) {
151 flush_signals(current); 161 flush_signals(current);
152 if (nlmsvc_ops) { 162 restart_grace();
153 nlmsvc_invalidate_all();
154 set_grace_period();
155 }
156 continue; 163 continue;
157 } 164 }
158 165
diff --git a/fs/namei.c b/fs/namei.c
index 78f253cd2d4f..967c3db92724 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1130,8 +1130,8 @@ int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt,
1130 * @nd: pointer to nameidata 1130 * @nd: pointer to nameidata
1131 * @open_flags: open intent flags 1131 * @open_flags: open intent flags
1132 */ 1132 */
1133int path_lookup_open(int dfd, const char *name, unsigned int lookup_flags, 1133static int path_lookup_open(int dfd, const char *name,
1134 struct nameidata *nd, int open_flags) 1134 unsigned int lookup_flags, struct nameidata *nd, int open_flags)
1135{ 1135{
1136 struct file *filp = get_empty_filp(); 1136 struct file *filp = get_empty_filp();
1137 int err; 1137 int err;
@@ -1637,18 +1637,19 @@ static int open_will_write_to_fs(int flag, struct inode *inode)
1637 * open_to_namei_flags() for more details. 1637 * open_to_namei_flags() for more details.
1638 */ 1638 */
1639struct file *do_filp_open(int dfd, const char *pathname, 1639struct file *do_filp_open(int dfd, const char *pathname,
1640 int open_flag, int mode) 1640 int open_flag, int mode, int acc_mode)
1641{ 1641{
1642 struct file *filp; 1642 struct file *filp;
1643 struct nameidata nd; 1643 struct nameidata nd;
1644 int acc_mode, error; 1644 int error;
1645 struct path path; 1645 struct path path;
1646 struct dentry *dir; 1646 struct dentry *dir;
1647 int count = 0; 1647 int count = 0;
1648 int will_write; 1648 int will_write;
1649 int flag = open_to_namei_flags(open_flag); 1649 int flag = open_to_namei_flags(open_flag);
1650 1650
1651 acc_mode = MAY_OPEN | ACC_MODE(flag); 1651 if (!acc_mode)
1652 acc_mode = MAY_OPEN | ACC_MODE(flag);
1652 1653
1653 /* O_TRUNC implies we need access checks for write permissions */ 1654 /* O_TRUNC implies we need access checks for write permissions */
1654 if (flag & O_TRUNC) 1655 if (flag & O_TRUNC)
@@ -1869,7 +1870,7 @@ do_link:
1869 */ 1870 */
1870struct file *filp_open(const char *filename, int flags, int mode) 1871struct file *filp_open(const char *filename, int flags, int mode)
1871{ 1872{
1872 return do_filp_open(AT_FDCWD, filename, flags, mode); 1873 return do_filp_open(AT_FDCWD, filename, flags, mode, 0);
1873} 1874}
1874EXPORT_SYMBOL(filp_open); 1875EXPORT_SYMBOL(filp_open);
1875 1876
diff --git a/fs/namespace.c b/fs/namespace.c
index 41196209a906..134d494158d9 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -695,12 +695,16 @@ static inline void mangle(struct seq_file *m, const char *s)
695 */ 695 */
696int generic_show_options(struct seq_file *m, struct vfsmount *mnt) 696int generic_show_options(struct seq_file *m, struct vfsmount *mnt)
697{ 697{
698 const char *options = mnt->mnt_sb->s_options; 698 const char *options;
699
700 rcu_read_lock();
701 options = rcu_dereference(mnt->mnt_sb->s_options);
699 702
700 if (options != NULL && options[0]) { 703 if (options != NULL && options[0]) {
701 seq_putc(m, ','); 704 seq_putc(m, ',');
702 mangle(m, options); 705 mangle(m, options);
703 } 706 }
707 rcu_read_unlock();
704 708
705 return 0; 709 return 0;
706} 710}
@@ -721,11 +725,22 @@ EXPORT_SYMBOL(generic_show_options);
721 */ 725 */
722void save_mount_options(struct super_block *sb, char *options) 726void save_mount_options(struct super_block *sb, char *options)
723{ 727{
724 kfree(sb->s_options); 728 BUG_ON(sb->s_options);
725 sb->s_options = kstrdup(options, GFP_KERNEL); 729 rcu_assign_pointer(sb->s_options, kstrdup(options, GFP_KERNEL));
726} 730}
727EXPORT_SYMBOL(save_mount_options); 731EXPORT_SYMBOL(save_mount_options);
728 732
733void replace_mount_options(struct super_block *sb, char *options)
734{
735 char *old = sb->s_options;
736 rcu_assign_pointer(sb->s_options, options);
737 if (old) {
738 synchronize_rcu();
739 kfree(old);
740 }
741}
742EXPORT_SYMBOL(replace_mount_options);
743
729#ifdef CONFIG_PROC_FS 744#ifdef CONFIG_PROC_FS
730/* iterator */ 745/* iterator */
731static void *m_start(struct seq_file *m, loff_t *pos) 746static void *m_start(struct seq_file *m, loff_t *pos)
@@ -1073,9 +1088,7 @@ static int do_umount(struct vfsmount *mnt, int flags)
1073 */ 1088 */
1074 1089
1075 if (flags & MNT_FORCE && sb->s_op->umount_begin) { 1090 if (flags & MNT_FORCE && sb->s_op->umount_begin) {
1076 lock_kernel();
1077 sb->s_op->umount_begin(sb); 1091 sb->s_op->umount_begin(sb);
1078 unlock_kernel();
1079 } 1092 }
1080 1093
1081 /* 1094 /*
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index 5a97bcfe03e5..ec7e27d00bc6 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -517,10 +517,10 @@ static int nfs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
517 517
518 ret = nfs_updatepage(filp, page, 0, pagelen); 518 ret = nfs_updatepage(filp, page, 0, pagelen);
519out_unlock: 519out_unlock:
520 if (!ret)
521 return VM_FAULT_LOCKED;
520 unlock_page(page); 522 unlock_page(page);
521 if (ret) 523 return VM_FAULT_SIGBUS;
522 ret = VM_FAULT_SIGBUS;
523 return ret;
524} 524}
525 525
526static struct vm_operations_struct nfs_file_vm_ops = { 526static struct vm_operations_struct nfs_file_vm_ops = {
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 6717200923fe..d2d67781c579 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -683,9 +683,12 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt)
683 */ 683 */
684static void nfs_umount_begin(struct super_block *sb) 684static void nfs_umount_begin(struct super_block *sb)
685{ 685{
686 struct nfs_server *server = NFS_SB(sb); 686 struct nfs_server *server;
687 struct rpc_clnt *rpc; 687 struct rpc_clnt *rpc;
688 688
689 lock_kernel();
690
691 server = NFS_SB(sb);
689 /* -EIO all pending I/O */ 692 /* -EIO all pending I/O */
690 rpc = server->client_acl; 693 rpc = server->client_acl;
691 if (!IS_ERR(rpc)) 694 if (!IS_ERR(rpc))
@@ -693,6 +696,8 @@ static void nfs_umount_begin(struct super_block *sb)
693 rpc = server->client; 696 rpc = server->client;
694 if (!IS_ERR(rpc)) 697 if (!IS_ERR(rpc))
695 rpc_killall_tasks(rpc); 698 rpc_killall_tasks(rpc);
699
700 unlock_kernel();
696} 701}
697 702
698/* 703/*
@@ -2106,8 +2111,7 @@ out_err_nosb:
2106error_splat_root: 2111error_splat_root:
2107 dput(mntroot); 2112 dput(mntroot);
2108error_splat_super: 2113error_splat_super:
2109 up_write(&s->s_umount); 2114 deactivate_locked_super(s);
2110 deactivate_super(s);
2111 goto out; 2115 goto out;
2112} 2116}
2113 2117
@@ -2203,8 +2207,7 @@ out_err_noserver:
2203 return error; 2207 return error;
2204 2208
2205error_splat_super: 2209error_splat_super:
2206 up_write(&s->s_umount); 2210 deactivate_locked_super(s);
2207 deactivate_super(s);
2208 dprintk("<-- nfs_xdev_get_sb() = %d [splat]\n", error); 2211 dprintk("<-- nfs_xdev_get_sb() = %d [splat]\n", error);
2209 return error; 2212 return error;
2210} 2213}
@@ -2464,8 +2467,7 @@ out_free:
2464error_splat_root: 2467error_splat_root:
2465 dput(mntroot); 2468 dput(mntroot);
2466error_splat_super: 2469error_splat_super:
2467 up_write(&s->s_umount); 2470 deactivate_locked_super(s);
2468 deactivate_super(s);
2469 goto out; 2471 goto out;
2470} 2472}
2471 2473
@@ -2559,8 +2561,7 @@ out_err_noserver:
2559 return error; 2561 return error;
2560 2562
2561error_splat_super: 2563error_splat_super:
2562 up_write(&s->s_umount); 2564 deactivate_locked_super(s);
2563 deactivate_super(s);
2564 dprintk("<-- nfs4_xdev_get_sb() = %d [splat]\n", error); 2565 dprintk("<-- nfs4_xdev_get_sb() = %d [splat]\n", error);
2565 return error; 2566 return error;
2566} 2567}
@@ -2644,8 +2645,7 @@ out_err_noserver:
2644 return error; 2645 return error;
2645 2646
2646error_splat_super: 2647error_splat_super:
2647 up_write(&s->s_umount); 2648 deactivate_locked_super(s);
2648 deactivate_super(s);
2649 dprintk("<-- nfs4_referral_get_sb() = %d [splat]\n", error); 2649 dprintk("<-- nfs4_referral_get_sb() = %d [splat]\n", error);
2650 return error; 2650 return error;
2651} 2651}
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index 5275097a7565..b5348405046b 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -229,7 +229,7 @@ nfsd4_list_rec_dir(struct dentry *dir, recdir_func *f)
229 goto out; 229 goto out;
230 status = vfs_readdir(filp, nfsd4_build_namelist, &names); 230 status = vfs_readdir(filp, nfsd4_build_namelist, &names);
231 fput(filp); 231 fput(filp);
232 mutex_lock(&dir->d_inode->i_mutex); 232 mutex_lock_nested(&dir->d_inode->i_mutex, I_MUTEX_PARENT);
233 while (!list_empty(&names)) { 233 while (!list_empty(&names)) {
234 entry = list_entry(names.next, struct name_list, list); 234 entry = list_entry(names.next, struct name_list, list);
235 235
@@ -264,7 +264,7 @@ nfsd4_unlink_clid_dir(char *name, int namlen)
264 264
265 dprintk("NFSD: nfsd4_unlink_clid_dir. name %.*s\n", namlen, name); 265 dprintk("NFSD: nfsd4_unlink_clid_dir. name %.*s\n", namlen, name);
266 266
267 mutex_lock(&rec_dir.dentry->d_inode->i_mutex); 267 mutex_lock_nested(&rec_dir.dentry->d_inode->i_mutex, I_MUTEX_PARENT);
268 dentry = lookup_one_len(name, rec_dir.dentry, namlen); 268 dentry = lookup_one_len(name, rec_dir.dentry, namlen);
269 if (IS_ERR(dentry)) { 269 if (IS_ERR(dentry)) {
270 status = PTR_ERR(dentry); 270 status = PTR_ERR(dentry);
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index c65a27b76a9d..3b711f5147a7 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -580,7 +580,6 @@ free_session(struct kref *kref)
580 struct nfsd4_cache_entry *e = &ses->se_slots[i].sl_cache_entry; 580 struct nfsd4_cache_entry *e = &ses->se_slots[i].sl_cache_entry;
581 nfsd4_release_respages(e->ce_respages, e->ce_resused); 581 nfsd4_release_respages(e->ce_respages, e->ce_resused);
582 } 582 }
583 kfree(ses->se_slots);
584 kfree(ses); 583 kfree(ses);
585} 584}
586 585
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index b820c311931c..b73549d293be 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -2214,6 +2214,15 @@ nfsd4_encode_dirent_fattr(struct nfsd4_readdir *cd,
2214 dentry = lookup_one_len(name, cd->rd_fhp->fh_dentry, namlen); 2214 dentry = lookup_one_len(name, cd->rd_fhp->fh_dentry, namlen);
2215 if (IS_ERR(dentry)) 2215 if (IS_ERR(dentry))
2216 return nfserrno(PTR_ERR(dentry)); 2216 return nfserrno(PTR_ERR(dentry));
2217 if (!dentry->d_inode) {
2218 /*
2219 * nfsd_buffered_readdir drops the i_mutex between
2220 * readdir and calling this callback, leaving a window
2221 * where this directory entry could have gone away.
2222 */
2223 dput(dentry);
2224 return nfserr_noent;
2225 }
2217 2226
2218 exp_get(exp); 2227 exp_get(exp);
2219 /* 2228 /*
@@ -2276,6 +2285,7 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen,
2276 struct nfsd4_readdir *cd = container_of(ccd, struct nfsd4_readdir, common); 2285 struct nfsd4_readdir *cd = container_of(ccd, struct nfsd4_readdir, common);
2277 int buflen; 2286 int buflen;
2278 __be32 *p = cd->buffer; 2287 __be32 *p = cd->buffer;
2288 __be32 *cookiep;
2279 __be32 nfserr = nfserr_toosmall; 2289 __be32 nfserr = nfserr_toosmall;
2280 2290
2281 /* In nfsv4, "." and ".." never make it onto the wire.. */ 2291 /* In nfsv4, "." and ".." never make it onto the wire.. */
@@ -2292,7 +2302,7 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen,
2292 goto fail; 2302 goto fail;
2293 2303
2294 *p++ = xdr_one; /* mark entry present */ 2304 *p++ = xdr_one; /* mark entry present */
2295 cd->offset = p; /* remember pointer */ 2305 cookiep = p;
2296 p = xdr_encode_hyper(p, NFS_OFFSET_MAX); /* offset of next entry */ 2306 p = xdr_encode_hyper(p, NFS_OFFSET_MAX); /* offset of next entry */
2297 p = xdr_encode_array(p, name, namlen); /* name length & name */ 2307 p = xdr_encode_array(p, name, namlen); /* name length & name */
2298 2308
@@ -2306,6 +2316,8 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen,
2306 goto fail; 2316 goto fail;
2307 case nfserr_dropit: 2317 case nfserr_dropit:
2308 goto fail; 2318 goto fail;
2319 case nfserr_noent:
2320 goto skip_entry;
2309 default: 2321 default:
2310 /* 2322 /*
2311 * If the client requested the RDATTR_ERROR attribute, 2323 * If the client requested the RDATTR_ERROR attribute,
@@ -2324,6 +2336,8 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen,
2324 } 2336 }
2325 cd->buflen -= (p - cd->buffer); 2337 cd->buflen -= (p - cd->buffer);
2326 cd->buffer = p; 2338 cd->buffer = p;
2339 cd->offset = cookiep;
2340skip_entry:
2327 cd->common.err = nfs_ok; 2341 cd->common.err = nfs_ok;
2328 return 0; 2342 return 0;
2329fail: 2343fail:
diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c
index 108d281ebca5..50ff3f2cdf24 100644
--- a/fs/nilfs2/ioctl.c
+++ b/fs/nilfs2/ioctl.c
@@ -25,6 +25,7 @@
25#include <linux/smp_lock.h> /* lock_kernel(), unlock_kernel() */ 25#include <linux/smp_lock.h> /* lock_kernel(), unlock_kernel() */
26#include <linux/capability.h> /* capable() */ 26#include <linux/capability.h> /* capable() */
27#include <linux/uaccess.h> /* copy_from_user(), copy_to_user() */ 27#include <linux/uaccess.h> /* copy_from_user(), copy_to_user() */
28#include <linux/vmalloc.h>
28#include <linux/nilfs2_fs.h> 29#include <linux/nilfs2_fs.h>
29#include "nilfs.h" 30#include "nilfs.h"
30#include "segment.h" 31#include "segment.h"
@@ -147,29 +148,12 @@ static ssize_t
147nilfs_ioctl_do_get_cpinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, 148nilfs_ioctl_do_get_cpinfo(struct the_nilfs *nilfs, __u64 *posp, int flags,
148 void *buf, size_t size, size_t nmembs) 149 void *buf, size_t size, size_t nmembs)
149{ 150{
150 return nilfs_cpfile_get_cpinfo(nilfs->ns_cpfile, posp, flags, buf,
151 nmembs);
152}
153
154static int nilfs_ioctl_get_cpinfo(struct inode *inode, struct file *filp,
155 unsigned int cmd, void __user *argp)
156{
157 struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs;
158 struct nilfs_argv argv;
159 int ret; 151 int ret;
160 152
161 if (copy_from_user(&argv, argp, sizeof(argv)))
162 return -EFAULT;
163
164 down_read(&nilfs->ns_segctor_sem); 153 down_read(&nilfs->ns_segctor_sem);
165 ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), 154 ret = nilfs_cpfile_get_cpinfo(nilfs->ns_cpfile, posp, flags, buf,
166 nilfs_ioctl_do_get_cpinfo); 155 nmembs);
167 up_read(&nilfs->ns_segctor_sem); 156 up_read(&nilfs->ns_segctor_sem);
168 if (ret < 0)
169 return ret;
170
171 if (copy_to_user(argp, &argv, sizeof(argv)))
172 ret = -EFAULT;
173 return ret; 157 return ret;
174} 158}
175 159
@@ -195,28 +179,11 @@ static ssize_t
195nilfs_ioctl_do_get_suinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, 179nilfs_ioctl_do_get_suinfo(struct the_nilfs *nilfs, __u64 *posp, int flags,
196 void *buf, size_t size, size_t nmembs) 180 void *buf, size_t size, size_t nmembs)
197{ 181{
198 return nilfs_sufile_get_suinfo(nilfs->ns_sufile, *posp, buf, nmembs);
199}
200
201static int nilfs_ioctl_get_suinfo(struct inode *inode, struct file *filp,
202 unsigned int cmd, void __user *argp)
203{
204 struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs;
205 struct nilfs_argv argv;
206 int ret; 182 int ret;
207 183
208 if (copy_from_user(&argv, argp, sizeof(argv)))
209 return -EFAULT;
210
211 down_read(&nilfs->ns_segctor_sem); 184 down_read(&nilfs->ns_segctor_sem);
212 ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), 185 ret = nilfs_sufile_get_suinfo(nilfs->ns_sufile, *posp, buf, nmembs);
213 nilfs_ioctl_do_get_suinfo);
214 up_read(&nilfs->ns_segctor_sem); 186 up_read(&nilfs->ns_segctor_sem);
215 if (ret < 0)
216 return ret;
217
218 if (copy_to_user(argp, &argv, sizeof(argv)))
219 ret = -EFAULT;
220 return ret; 187 return ret;
221} 188}
222 189
@@ -242,28 +209,11 @@ static ssize_t
242nilfs_ioctl_do_get_vinfo(struct the_nilfs *nilfs, __u64 *posp, int flags, 209nilfs_ioctl_do_get_vinfo(struct the_nilfs *nilfs, __u64 *posp, int flags,
243 void *buf, size_t size, size_t nmembs) 210 void *buf, size_t size, size_t nmembs)
244{ 211{
245 return nilfs_dat_get_vinfo(nilfs_dat_inode(nilfs), buf, nmembs);
246}
247
248static int nilfs_ioctl_get_vinfo(struct inode *inode, struct file *filp,
249 unsigned int cmd, void __user *argp)
250{
251 struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs;
252 struct nilfs_argv argv;
253 int ret; 212 int ret;
254 213
255 if (copy_from_user(&argv, argp, sizeof(argv)))
256 return -EFAULT;
257
258 down_read(&nilfs->ns_segctor_sem); 214 down_read(&nilfs->ns_segctor_sem);
259 ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), 215 ret = nilfs_dat_get_vinfo(nilfs_dat_inode(nilfs), buf, nmembs);
260 nilfs_ioctl_do_get_vinfo);
261 up_read(&nilfs->ns_segctor_sem); 216 up_read(&nilfs->ns_segctor_sem);
262 if (ret < 0)
263 return ret;
264
265 if (copy_to_user(argp, &argv, sizeof(argv)))
266 ret = -EFAULT;
267 return ret; 217 return ret;
268} 218}
269 219
@@ -276,17 +226,21 @@ nilfs_ioctl_do_get_bdescs(struct the_nilfs *nilfs, __u64 *posp, int flags,
276 struct nilfs_bdesc *bdescs = buf; 226 struct nilfs_bdesc *bdescs = buf;
277 int ret, i; 227 int ret, i;
278 228
229 down_read(&nilfs->ns_segctor_sem);
279 for (i = 0; i < nmembs; i++) { 230 for (i = 0; i < nmembs; i++) {
280 ret = nilfs_bmap_lookup_at_level(bmap, 231 ret = nilfs_bmap_lookup_at_level(bmap,
281 bdescs[i].bd_offset, 232 bdescs[i].bd_offset,
282 bdescs[i].bd_level + 1, 233 bdescs[i].bd_level + 1,
283 &bdescs[i].bd_blocknr); 234 &bdescs[i].bd_blocknr);
284 if (ret < 0) { 235 if (ret < 0) {
285 if (ret != -ENOENT) 236 if (ret != -ENOENT) {
237 up_read(&nilfs->ns_segctor_sem);
286 return ret; 238 return ret;
239 }
287 bdescs[i].bd_blocknr = 0; 240 bdescs[i].bd_blocknr = 0;
288 } 241 }
289 } 242 }
243 up_read(&nilfs->ns_segctor_sem);
290 return nmembs; 244 return nmembs;
291} 245}
292 246
@@ -300,10 +254,11 @@ static int nilfs_ioctl_get_bdescs(struct inode *inode, struct file *filp,
300 if (copy_from_user(&argv, argp, sizeof(argv))) 254 if (copy_from_user(&argv, argp, sizeof(argv)))
301 return -EFAULT; 255 return -EFAULT;
302 256
303 down_read(&nilfs->ns_segctor_sem); 257 if (argv.v_size != sizeof(struct nilfs_bdesc))
258 return -EINVAL;
259
304 ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), 260 ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd),
305 nilfs_ioctl_do_get_bdescs); 261 nilfs_ioctl_do_get_bdescs);
306 up_read(&nilfs->ns_segctor_sem);
307 if (ret < 0) 262 if (ret < 0)
308 return ret; 263 return ret;
309 264
@@ -346,10 +301,10 @@ static int nilfs_ioctl_move_inode_block(struct inode *inode,
346 return 0; 301 return 0;
347} 302}
348 303
349static ssize_t 304static int nilfs_ioctl_move_blocks(struct the_nilfs *nilfs,
350nilfs_ioctl_do_move_blocks(struct the_nilfs *nilfs, __u64 *posp, int flags, 305 struct nilfs_argv *argv, void *buf)
351 void *buf, size_t size, size_t nmembs)
352{ 306{
307 size_t nmembs = argv->v_nmembs;
353 struct inode *inode; 308 struct inode *inode;
354 struct nilfs_vdesc *vdesc; 309 struct nilfs_vdesc *vdesc;
355 struct buffer_head *bh, *n; 310 struct buffer_head *bh, *n;
@@ -410,19 +365,10 @@ nilfs_ioctl_do_move_blocks(struct the_nilfs *nilfs, __u64 *posp, int flags,
410 return ret; 365 return ret;
411} 366}
412 367
413static inline int nilfs_ioctl_move_blocks(struct the_nilfs *nilfs, 368static int nilfs_ioctl_delete_checkpoints(struct the_nilfs *nilfs,
414 struct nilfs_argv *argv, 369 struct nilfs_argv *argv, void *buf)
415 int dir)
416{
417 return nilfs_ioctl_wrap_copy(nilfs, argv, dir,
418 nilfs_ioctl_do_move_blocks);
419}
420
421static ssize_t
422nilfs_ioctl_do_delete_checkpoints(struct the_nilfs *nilfs, __u64 *posp,
423 int flags, void *buf, size_t size,
424 size_t nmembs)
425{ 370{
371 size_t nmembs = argv->v_nmembs;
426 struct inode *cpfile = nilfs->ns_cpfile; 372 struct inode *cpfile = nilfs->ns_cpfile;
427 struct nilfs_period *periods = buf; 373 struct nilfs_period *periods = buf;
428 int ret, i; 374 int ret, i;
@@ -436,36 +382,21 @@ nilfs_ioctl_do_delete_checkpoints(struct the_nilfs *nilfs, __u64 *posp,
436 return nmembs; 382 return nmembs;
437} 383}
438 384
439static inline int nilfs_ioctl_delete_checkpoints(struct the_nilfs *nilfs, 385static int nilfs_ioctl_free_vblocknrs(struct the_nilfs *nilfs,
440 struct nilfs_argv *argv, 386 struct nilfs_argv *argv, void *buf)
441 int dir)
442{ 387{
443 return nilfs_ioctl_wrap_copy(nilfs, argv, dir, 388 size_t nmembs = argv->v_nmembs;
444 nilfs_ioctl_do_delete_checkpoints); 389 int ret;
445}
446 390
447static ssize_t 391 ret = nilfs_dat_freev(nilfs_dat_inode(nilfs), buf, nmembs);
448nilfs_ioctl_do_free_vblocknrs(struct the_nilfs *nilfs, __u64 *posp, int flags,
449 void *buf, size_t size, size_t nmembs)
450{
451 int ret = nilfs_dat_freev(nilfs_dat_inode(nilfs), buf, nmembs);
452 392
453 return (ret < 0) ? ret : nmembs; 393 return (ret < 0) ? ret : nmembs;
454} 394}
455 395
456static inline int nilfs_ioctl_free_vblocknrs(struct the_nilfs *nilfs, 396static int nilfs_ioctl_mark_blocks_dirty(struct the_nilfs *nilfs,
457 struct nilfs_argv *argv, 397 struct nilfs_argv *argv, void *buf)
458 int dir)
459{
460 return nilfs_ioctl_wrap_copy(nilfs, argv, dir,
461 nilfs_ioctl_do_free_vblocknrs);
462}
463
464static ssize_t
465nilfs_ioctl_do_mark_blocks_dirty(struct the_nilfs *nilfs, __u64 *posp,
466 int flags, void *buf, size_t size,
467 size_t nmembs)
468{ 398{
399 size_t nmembs = argv->v_nmembs;
469 struct inode *dat = nilfs_dat_inode(nilfs); 400 struct inode *dat = nilfs_dat_inode(nilfs);
470 struct nilfs_bmap *bmap = NILFS_I(dat)->i_bmap; 401 struct nilfs_bmap *bmap = NILFS_I(dat)->i_bmap;
471 struct nilfs_bdesc *bdescs = buf; 402 struct nilfs_bdesc *bdescs = buf;
@@ -504,55 +435,37 @@ nilfs_ioctl_do_mark_blocks_dirty(struct the_nilfs *nilfs, __u64 *posp,
504 return nmembs; 435 return nmembs;
505} 436}
506 437
507static inline int nilfs_ioctl_mark_blocks_dirty(struct the_nilfs *nilfs, 438static int nilfs_ioctl_free_segments(struct the_nilfs *nilfs,
508 struct nilfs_argv *argv, 439 struct nilfs_argv *argv, void *buf)
509 int dir)
510{ 440{
511 return nilfs_ioctl_wrap_copy(nilfs, argv, dir, 441 size_t nmembs = argv->v_nmembs;
512 nilfs_ioctl_do_mark_blocks_dirty); 442 struct nilfs_sb_info *sbi = nilfs->ns_writer;
513}
514
515static ssize_t
516nilfs_ioctl_do_free_segments(struct the_nilfs *nilfs, __u64 *posp, int flags,
517 void *buf, size_t size, size_t nmembs)
518{
519 struct nilfs_sb_info *sbi = nilfs_get_writer(nilfs);
520 int ret; 443 int ret;
521 444
522 if (unlikely(!sbi)) 445 if (unlikely(!sbi)) {
446 /* never happens because called for a writable mount */
447 WARN_ON(1);
523 return -EROFS; 448 return -EROFS;
449 }
524 ret = nilfs_segctor_add_segments_to_be_freed( 450 ret = nilfs_segctor_add_segments_to_be_freed(
525 NILFS_SC(sbi), buf, nmembs); 451 NILFS_SC(sbi), buf, nmembs);
526 nilfs_put_writer(nilfs);
527 452
528 return (ret < 0) ? ret : nmembs; 453 return (ret < 0) ? ret : nmembs;
529} 454}
530 455
531static inline int nilfs_ioctl_free_segments(struct the_nilfs *nilfs,
532 struct nilfs_argv *argv,
533 int dir)
534{
535 return nilfs_ioctl_wrap_copy(nilfs, argv, dir,
536 nilfs_ioctl_do_free_segments);
537}
538
539int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs, 456int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs,
540 void __user *argp) 457 struct nilfs_argv *argv, void **kbufs)
541{ 458{
542 struct nilfs_argv argv[5];
543 const char *msg; 459 const char *msg;
544 int dir, ret; 460 int ret;
545
546 if (copy_from_user(argv, argp, sizeof(argv)))
547 return -EFAULT;
548 461
549 dir = _IOC_WRITE; 462 ret = nilfs_ioctl_move_blocks(nilfs, &argv[0], kbufs[0]);
550 ret = nilfs_ioctl_move_blocks(nilfs, &argv[0], dir);
551 if (ret < 0) { 463 if (ret < 0) {
552 msg = "cannot read source blocks"; 464 msg = "cannot read source blocks";
553 goto failed; 465 goto failed;
554 } 466 }
555 ret = nilfs_ioctl_delete_checkpoints(nilfs, &argv[1], dir); 467
468 ret = nilfs_ioctl_delete_checkpoints(nilfs, &argv[1], kbufs[1]);
556 if (ret < 0) { 469 if (ret < 0) {
557 /* 470 /*
558 * can safely abort because checkpoints can be removed 471 * can safely abort because checkpoints can be removed
@@ -561,7 +474,7 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs,
561 msg = "cannot delete checkpoints"; 474 msg = "cannot delete checkpoints";
562 goto failed; 475 goto failed;
563 } 476 }
564 ret = nilfs_ioctl_free_vblocknrs(nilfs, &argv[2], dir); 477 ret = nilfs_ioctl_free_vblocknrs(nilfs, &argv[2], kbufs[2]);
565 if (ret < 0) { 478 if (ret < 0) {
566 /* 479 /*
567 * can safely abort because DAT file is updated atomically 480 * can safely abort because DAT file is updated atomically
@@ -570,7 +483,7 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs,
570 msg = "cannot delete virtual blocks from DAT file"; 483 msg = "cannot delete virtual blocks from DAT file";
571 goto failed; 484 goto failed;
572 } 485 }
573 ret = nilfs_ioctl_mark_blocks_dirty(nilfs, &argv[3], dir); 486 ret = nilfs_ioctl_mark_blocks_dirty(nilfs, &argv[3], kbufs[3]);
574 if (ret < 0) { 487 if (ret < 0) {
575 /* 488 /*
576 * can safely abort because the operation is nondestructive. 489 * can safely abort because the operation is nondestructive.
@@ -578,7 +491,7 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs,
578 msg = "cannot mark copying blocks dirty"; 491 msg = "cannot mark copying blocks dirty";
579 goto failed; 492 goto failed;
580 } 493 }
581 ret = nilfs_ioctl_free_segments(nilfs, &argv[4], dir); 494 ret = nilfs_ioctl_free_segments(nilfs, &argv[4], kbufs[4]);
582 if (ret < 0) { 495 if (ret < 0) {
583 /* 496 /*
584 * can safely abort because this operation is atomic. 497 * can safely abort because this operation is atomic.
@@ -598,9 +511,75 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *nilfs,
598static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp, 511static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp,
599 unsigned int cmd, void __user *argp) 512 unsigned int cmd, void __user *argp)
600{ 513{
514 struct nilfs_argv argv[5];
515 const static size_t argsz[5] = {
516 sizeof(struct nilfs_vdesc),
517 sizeof(struct nilfs_period),
518 sizeof(__u64),
519 sizeof(struct nilfs_bdesc),
520 sizeof(__u64),
521 };
522 void __user *base;
523 void *kbufs[5];
524 struct the_nilfs *nilfs;
525 size_t len, nsegs;
526 int n, ret;
527
601 if (!capable(CAP_SYS_ADMIN)) 528 if (!capable(CAP_SYS_ADMIN))
602 return -EPERM; 529 return -EPERM;
603 return nilfs_clean_segments(inode->i_sb, argp); 530
531 if (copy_from_user(argv, argp, sizeof(argv)))
532 return -EFAULT;
533
534 nsegs = argv[4].v_nmembs;
535 if (argv[4].v_size != argsz[4])
536 return -EINVAL;
537 /*
538 * argv[4] points to segment numbers this ioctl cleans. We
539 * use kmalloc() for its buffer because memory used for the
540 * segment numbers is enough small.
541 */
542 kbufs[4] = memdup_user((void __user *)(unsigned long)argv[4].v_base,
543 nsegs * sizeof(__u64));
544 if (IS_ERR(kbufs[4]))
545 return PTR_ERR(kbufs[4]);
546
547 nilfs = NILFS_SB(inode->i_sb)->s_nilfs;
548
549 for (n = 0; n < 4; n++) {
550 ret = -EINVAL;
551 if (argv[n].v_size != argsz[n])
552 goto out_free;
553
554 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
555 goto out_free;
556
557 len = argv[n].v_size * argv[n].v_nmembs;
558 base = (void __user *)(unsigned long)argv[n].v_base;
559 if (len == 0) {
560 kbufs[n] = NULL;
561 continue;
562 }
563
564 kbufs[n] = vmalloc(len);
565 if (!kbufs[n]) {
566 ret = -ENOMEM;
567 goto out_free;
568 }
569 if (copy_from_user(kbufs[n], base, len)) {
570 ret = -EFAULT;
571 vfree(kbufs[n]);
572 goto out_free;
573 }
574 }
575
576 ret = nilfs_clean_segments(inode->i_sb, argv, kbufs);
577
578 out_free:
579 while (--n > 0)
580 vfree(kbufs[n]);
581 kfree(kbufs[4]);
582 return ret;
604} 583}
605 584
606static int nilfs_ioctl_sync(struct inode *inode, struct file *filp, 585static int nilfs_ioctl_sync(struct inode *inode, struct file *filp,
@@ -621,6 +600,33 @@ static int nilfs_ioctl_sync(struct inode *inode, struct file *filp,
621 return 0; 600 return 0;
622} 601}
623 602
603static int nilfs_ioctl_get_info(struct inode *inode, struct file *filp,
604 unsigned int cmd, void __user *argp,
605 size_t membsz,
606 ssize_t (*dofunc)(struct the_nilfs *,
607 __u64 *, int,
608 void *, size_t, size_t))
609
610{
611 struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs;
612 struct nilfs_argv argv;
613 int ret;
614
615 if (copy_from_user(&argv, argp, sizeof(argv)))
616 return -EFAULT;
617
618 if (argv.v_size != membsz)
619 return -EINVAL;
620
621 ret = nilfs_ioctl_wrap_copy(nilfs, &argv, _IOC_DIR(cmd), dofunc);
622 if (ret < 0)
623 return ret;
624
625 if (copy_to_user(argp, &argv, sizeof(argv)))
626 ret = -EFAULT;
627 return ret;
628}
629
624long nilfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) 630long nilfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
625{ 631{
626 struct inode *inode = filp->f_dentry->d_inode; 632 struct inode *inode = filp->f_dentry->d_inode;
@@ -632,16 +638,21 @@ long nilfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
632 case NILFS_IOCTL_DELETE_CHECKPOINT: 638 case NILFS_IOCTL_DELETE_CHECKPOINT:
633 return nilfs_ioctl_delete_checkpoint(inode, filp, cmd, argp); 639 return nilfs_ioctl_delete_checkpoint(inode, filp, cmd, argp);
634 case NILFS_IOCTL_GET_CPINFO: 640 case NILFS_IOCTL_GET_CPINFO:
635 return nilfs_ioctl_get_cpinfo(inode, filp, cmd, argp); 641 return nilfs_ioctl_get_info(inode, filp, cmd, argp,
642 sizeof(struct nilfs_cpinfo),
643 nilfs_ioctl_do_get_cpinfo);
636 case NILFS_IOCTL_GET_CPSTAT: 644 case NILFS_IOCTL_GET_CPSTAT:
637 return nilfs_ioctl_get_cpstat(inode, filp, cmd, argp); 645 return nilfs_ioctl_get_cpstat(inode, filp, cmd, argp);
638 case NILFS_IOCTL_GET_SUINFO: 646 case NILFS_IOCTL_GET_SUINFO:
639 return nilfs_ioctl_get_suinfo(inode, filp, cmd, argp); 647 return nilfs_ioctl_get_info(inode, filp, cmd, argp,
648 sizeof(struct nilfs_suinfo),
649 nilfs_ioctl_do_get_suinfo);
640 case NILFS_IOCTL_GET_SUSTAT: 650 case NILFS_IOCTL_GET_SUSTAT:
641 return nilfs_ioctl_get_sustat(inode, filp, cmd, argp); 651 return nilfs_ioctl_get_sustat(inode, filp, cmd, argp);
642 case NILFS_IOCTL_GET_VINFO: 652 case NILFS_IOCTL_GET_VINFO:
643 /* XXX: rename to ??? */ 653 return nilfs_ioctl_get_info(inode, filp, cmd, argp,
644 return nilfs_ioctl_get_vinfo(inode, filp, cmd, argp); 654 sizeof(struct nilfs_vinfo),
655 nilfs_ioctl_do_get_vinfo);
645 case NILFS_IOCTL_GET_BDESCS: 656 case NILFS_IOCTL_GET_BDESCS:
646 return nilfs_ioctl_get_bdescs(inode, filp, cmd, argp); 657 return nilfs_ioctl_get_bdescs(inode, filp, cmd, argp);
647 case NILFS_IOCTL_CLEAN_SEGMENTS: 658 case NILFS_IOCTL_CLEAN_SEGMENTS:
diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c
index 47dd815433fd..bb78745a0e30 100644
--- a/fs/nilfs2/mdt.c
+++ b/fs/nilfs2/mdt.c
@@ -77,19 +77,22 @@ static int nilfs_mdt_create_block(struct inode *inode, unsigned long block,
77 void *)) 77 void *))
78{ 78{
79 struct the_nilfs *nilfs = NILFS_MDT(inode)->mi_nilfs; 79 struct the_nilfs *nilfs = NILFS_MDT(inode)->mi_nilfs;
80 struct nilfs_sb_info *writer = NULL;
81 struct super_block *sb = inode->i_sb; 80 struct super_block *sb = inode->i_sb;
82 struct nilfs_transaction_info ti; 81 struct nilfs_transaction_info ti;
83 struct buffer_head *bh; 82 struct buffer_head *bh;
84 int err; 83 int err;
85 84
86 if (!sb) { 85 if (!sb) {
87 writer = nilfs_get_writer(nilfs); 86 /*
88 if (!writer) { 87 * Make sure this function is not called from any
88 * read-only context.
89 */
90 if (!nilfs->ns_writer) {
91 WARN_ON(1);
89 err = -EROFS; 92 err = -EROFS;
90 goto out; 93 goto out;
91 } 94 }
92 sb = writer->s_super; 95 sb = nilfs->ns_writer->s_super;
93 } 96 }
94 97
95 nilfs_transaction_begin(sb, &ti, 0); 98 nilfs_transaction_begin(sb, &ti, 0);
@@ -127,8 +130,6 @@ static int nilfs_mdt_create_block(struct inode *inode, unsigned long block,
127 err = nilfs_transaction_commit(sb); 130 err = nilfs_transaction_commit(sb);
128 else 131 else
129 nilfs_transaction_abort(sb); 132 nilfs_transaction_abort(sb);
130 if (writer)
131 nilfs_put_writer(nilfs);
132 out: 133 out:
133 return err; 134 return err;
134} 135}
@@ -299,7 +300,7 @@ int nilfs_mdt_delete_block(struct inode *inode, unsigned long block)
299 int err; 300 int err;
300 301
301 err = nilfs_bmap_delete(ii->i_bmap, block); 302 err = nilfs_bmap_delete(ii->i_bmap, block);
302 if (likely(!err)) { 303 if (!err || err == -ENOENT) {
303 nilfs_mdt_mark_dirty(inode); 304 nilfs_mdt_mark_dirty(inode);
304 nilfs_mdt_forget_block(inode, block); 305 nilfs_mdt_forget_block(inode, block);
305 } 306 }
diff --git a/fs/nilfs2/nilfs.h b/fs/nilfs2/nilfs.h
index 3d0c18a16db1..da6fc0bba2e5 100644
--- a/fs/nilfs2/nilfs.h
+++ b/fs/nilfs2/nilfs.h
@@ -236,7 +236,8 @@ extern int nilfs_sync_file(struct file *, struct dentry *, int);
236 236
237/* ioctl.c */ 237/* ioctl.c */
238long nilfs_ioctl(struct file *, unsigned int, unsigned long); 238long nilfs_ioctl(struct file *, unsigned int, unsigned long);
239int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *, void __user *); 239int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *, struct nilfs_argv *,
240 void **);
240 241
241/* inode.c */ 242/* inode.c */
242extern struct inode *nilfs_new_inode(struct inode *, int); 243extern struct inode *nilfs_new_inode(struct inode *, int);
diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c
index 1bfbba9c0e9a..a2692bbc7b50 100644
--- a/fs/nilfs2/page.c
+++ b/fs/nilfs2/page.c
@@ -128,7 +128,8 @@ void nilfs_forget_buffer(struct buffer_head *bh)
128 128
129 lock_buffer(bh); 129 lock_buffer(bh);
130 clear_buffer_nilfs_volatile(bh); 130 clear_buffer_nilfs_volatile(bh);
131 if (test_clear_buffer_dirty(bh) && nilfs_page_buffers_clean(page)) 131 clear_buffer_dirty(bh);
132 if (nilfs_page_buffers_clean(page))
132 __nilfs_clear_page_dirty(page); 133 __nilfs_clear_page_dirty(page);
133 134
134 clear_buffer_uptodate(bh); 135 clear_buffer_uptodate(bh);
diff --git a/fs/nilfs2/recovery.c b/fs/nilfs2/recovery.c
index 4fc081e47d70..57afa9d24061 100644
--- a/fs/nilfs2/recovery.c
+++ b/fs/nilfs2/recovery.c
@@ -407,6 +407,7 @@ void nilfs_dispose_segment_list(struct list_head *head)
407} 407}
408 408
409static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs, 409static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs,
410 struct nilfs_sb_info *sbi,
410 struct nilfs_recovery_info *ri) 411 struct nilfs_recovery_info *ri)
411{ 412{
412 struct list_head *head = &ri->ri_used_segments; 413 struct list_head *head = &ri->ri_used_segments;
@@ -421,6 +422,7 @@ static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs,
421 segnum[2] = ri->ri_segnum; 422 segnum[2] = ri->ri_segnum;
422 segnum[3] = ri->ri_nextnum; 423 segnum[3] = ri->ri_nextnum;
423 424
425 nilfs_attach_writer(nilfs, sbi);
424 /* 426 /*
425 * Releasing the next segment of the latest super root. 427 * Releasing the next segment of the latest super root.
426 * The next segment is invalidated by this recovery. 428 * The next segment is invalidated by this recovery.
@@ -459,10 +461,10 @@ static int nilfs_prepare_segment_for_recovery(struct the_nilfs *nilfs,
459 nilfs->ns_pseg_offset = 0; 461 nilfs->ns_pseg_offset = 0;
460 nilfs->ns_seg_seq = ri->ri_seq + 2; 462 nilfs->ns_seg_seq = ri->ri_seq + 2;
461 nilfs->ns_nextnum = nilfs->ns_segnum = segnum[0]; 463 nilfs->ns_nextnum = nilfs->ns_segnum = segnum[0];
462 return 0;
463 464
464 failed: 465 failed:
465 /* No need to recover sufile because it will be destroyed on error */ 466 /* No need to recover sufile because it will be destroyed on error */
467 nilfs_detach_writer(nilfs, sbi);
466 return err; 468 return err;
467} 469}
468 470
@@ -728,7 +730,7 @@ int nilfs_recover_logical_segments(struct the_nilfs *nilfs,
728 goto failed; 730 goto failed;
729 731
730 if (ri->ri_need_recovery == NILFS_RECOVERY_ROLLFORWARD_DONE) { 732 if (ri->ri_need_recovery == NILFS_RECOVERY_ROLLFORWARD_DONE) {
731 err = nilfs_prepare_segment_for_recovery(nilfs, ri); 733 err = nilfs_prepare_segment_for_recovery(nilfs, sbi, ri);
732 if (unlikely(err)) { 734 if (unlikely(err)) {
733 printk(KERN_ERR "NILFS: Error preparing segments for " 735 printk(KERN_ERR "NILFS: Error preparing segments for "
734 "recovery.\n"); 736 "recovery.\n");
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
index fb70ec3be20e..22c7f65c2403 100644
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -2589,7 +2589,8 @@ nilfs_remove_written_gcinodes(struct the_nilfs *nilfs, struct list_head *head)
2589 } 2589 }
2590} 2590}
2591 2591
2592int nilfs_clean_segments(struct super_block *sb, void __user *argp) 2592int nilfs_clean_segments(struct super_block *sb, struct nilfs_argv *argv,
2593 void **kbufs)
2593{ 2594{
2594 struct nilfs_sb_info *sbi = NILFS_SB(sb); 2595 struct nilfs_sb_info *sbi = NILFS_SB(sb);
2595 struct nilfs_sc_info *sci = NILFS_SC(sbi); 2596 struct nilfs_sc_info *sci = NILFS_SC(sbi);
@@ -2606,7 +2607,7 @@ int nilfs_clean_segments(struct super_block *sb, void __user *argp)
2606 err = nilfs_init_gcdat_inode(nilfs); 2607 err = nilfs_init_gcdat_inode(nilfs);
2607 if (unlikely(err)) 2608 if (unlikely(err))
2608 goto out_unlock; 2609 goto out_unlock;
2609 err = nilfs_ioctl_prepare_clean_segments(nilfs, argp); 2610 err = nilfs_ioctl_prepare_clean_segments(nilfs, argv, kbufs);
2610 if (unlikely(err)) 2611 if (unlikely(err))
2611 goto out_unlock; 2612 goto out_unlock;
2612 2613
diff --git a/fs/nilfs2/segment.h b/fs/nilfs2/segment.h
index a98fc1ed0bbb..476bdd5df5be 100644
--- a/fs/nilfs2/segment.h
+++ b/fs/nilfs2/segment.h
@@ -222,7 +222,8 @@ extern int nilfs_construct_segment(struct super_block *);
222extern int nilfs_construct_dsync_segment(struct super_block *, struct inode *, 222extern int nilfs_construct_dsync_segment(struct super_block *, struct inode *,
223 loff_t, loff_t); 223 loff_t, loff_t);
224extern void nilfs_flush_segment(struct super_block *, ino_t); 224extern void nilfs_flush_segment(struct super_block *, ino_t);
225extern int nilfs_clean_segments(struct super_block *, void __user *); 225extern int nilfs_clean_segments(struct super_block *, struct nilfs_argv *,
226 void **);
226 227
227extern int nilfs_segctor_add_segments_to_be_freed(struct nilfs_sc_info *, 228extern int nilfs_segctor_add_segments_to_be_freed(struct nilfs_sc_info *,
228 __u64 *, size_t); 229 __u64 *, size_t);
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index bed766e435b5..1634319e2404 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -220,7 +220,7 @@ static struct inotify_kernel_event * kernel_event(s32 wd, u32 mask, u32 cookie,
220 rem = 0; 220 rem = 0;
221 } 221 }
222 222
223 kevent->name = kmalloc(len + rem, GFP_KERNEL); 223 kevent->name = kmalloc(len + rem, GFP_NOFS);
224 if (unlikely(!kevent->name)) { 224 if (unlikely(!kevent->name)) {
225 kmem_cache_free(event_cachep, kevent); 225 kmem_cache_free(event_cachep, kevent);
226 return NULL; 226 return NULL;
diff --git a/fs/ocfs2/dcache.c b/fs/ocfs2/dcache.c
index 7d604480557a..b574431a031d 100644
--- a/fs/ocfs2/dcache.c
+++ b/fs/ocfs2/dcache.c
@@ -290,6 +290,21 @@ out_attach:
290 else 290 else
291 mlog_errno(ret); 291 mlog_errno(ret);
292 292
293 /*
294 * In case of error, manually free the allocation and do the iput().
295 * We need to do this because error here means no d_instantiate(),
296 * which means iput() will not be called during dput(dentry).
297 */
298 if (ret < 0 && !alias) {
299 ocfs2_lock_res_free(&dl->dl_lockres);
300 BUG_ON(dl->dl_count != 1);
301 spin_lock(&dentry_attach_lock);
302 dentry->d_fsdata = NULL;
303 spin_unlock(&dentry_attach_lock);
304 kfree(dl);
305 iput(inode);
306 }
307
293 dput(alias); 308 dput(alias);
294 309
295 return ret; 310 return ret;
diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c
index e71160cda110..c5752305627c 100644
--- a/fs/ocfs2/dir.c
+++ b/fs/ocfs2/dir.c
@@ -2697,7 +2697,7 @@ static int ocfs2_dx_dir_index_block(struct inode *dir,
2697 u32 *num_dx_entries, 2697 u32 *num_dx_entries,
2698 struct buffer_head *dirent_bh) 2698 struct buffer_head *dirent_bh)
2699{ 2699{
2700 int ret, namelen, i; 2700 int ret = 0, namelen, i;
2701 char *de_buf, *limit; 2701 char *de_buf, *limit;
2702 struct ocfs2_dir_entry *de; 2702 struct ocfs2_dir_entry *de;
2703 struct buffer_head *dx_leaf_bh; 2703 struct buffer_head *dx_leaf_bh;
@@ -2934,7 +2934,7 @@ static int ocfs2_expand_inline_dir(struct inode *dir, struct buffer_head *di_bh,
2934 */ 2934 */
2935 BUG_ON(alloc > 2); 2935 BUG_ON(alloc > 2);
2936 2936
2937 ret = ocfs2_reserve_clusters(osb, alloc, &data_ac); 2937 ret = ocfs2_reserve_clusters(osb, alloc + dx_alloc, &data_ac);
2938 if (ret) { 2938 if (ret) {
2939 mlog_errno(ret); 2939 mlog_errno(ret);
2940 goto out; 2940 goto out;
diff --git a/fs/ocfs2/export.c b/fs/ocfs2/export.c
index de3da8eb558c..15713cbb865c 100644
--- a/fs/ocfs2/export.c
+++ b/fs/ocfs2/export.c
@@ -100,7 +100,8 @@ static struct dentry *ocfs2_get_dentry(struct super_block *sb,
100 100
101 /* If the inode allocator bit is clear, this inode must be stale */ 101 /* If the inode allocator bit is clear, this inode must be stale */
102 if (!set) { 102 if (!set) {
103 mlog(0, "inode %llu suballoc bit is clear\n", blkno); 103 mlog(0, "inode %llu suballoc bit is clear\n",
104 (unsigned long long)blkno);
104 status = -ESTALE; 105 status = -ESTALE;
105 goto unlock_nfs_sync; 106 goto unlock_nfs_sync;
106 } 107 }
@@ -114,7 +115,7 @@ check_err:
114 if (status < 0) { 115 if (status < 0) {
115 if (status == -ESTALE) { 116 if (status == -ESTALE) {
116 mlog(0, "stale inode ino: %llu generation: %u\n", 117 mlog(0, "stale inode ino: %llu generation: %u\n",
117 blkno, handle->ih_generation); 118 (unsigned long long)blkno, handle->ih_generation);
118 } 119 }
119 result = ERR_PTR(status); 120 result = ERR_PTR(status);
120 goto bail; 121 goto bail;
@@ -129,8 +130,8 @@ check_err:
129check_gen: 130check_gen:
130 if (handle->ih_generation != inode->i_generation) { 131 if (handle->ih_generation != inode->i_generation) {
131 iput(inode); 132 iput(inode);
132 mlog(0, "stale inode ino: %llu generation: %u\n", blkno, 133 mlog(0, "stale inode ino: %llu generation: %u\n",
133 handle->ih_generation); 134 (unsigned long long)blkno, handle->ih_generation);
134 result = ERR_PTR(-ESTALE); 135 result = ERR_PTR(-ESTALE);
135 goto bail; 136 goto bail;
136 } 137 }
diff --git a/fs/ocfs2/journal.h b/fs/ocfs2/journal.h
index 619dd7f6c053..eb7b76331eb7 100644
--- a/fs/ocfs2/journal.h
+++ b/fs/ocfs2/journal.h
@@ -437,8 +437,9 @@ static inline int ocfs2_unlink_credits(struct super_block *sb)
437} 437}
438 438
439/* dinode + orphan dir dinode + inode alloc dinode + orphan dir entry + 439/* dinode + orphan dir dinode + inode alloc dinode + orphan dir entry +
440 * inode alloc group descriptor + orphan dir index leaf */ 440 * inode alloc group descriptor + orphan dir index root +
441#define OCFS2_DELETE_INODE_CREDITS (3 * OCFS2_INODE_UPDATE_CREDITS + 3) 441 * orphan dir index leaf */
442#define OCFS2_DELETE_INODE_CREDITS (3 * OCFS2_INODE_UPDATE_CREDITS + 4)
442 443
443/* dinode update, old dir dinode update, new dir dinode update, old 444/* dinode update, old dir dinode update, new dir dinode update, old
444 * dir dir entry, new dir dir entry, dir entry update for renaming 445 * dir dir entry, new dir dir entry, dir entry update for renaming
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index 2220f93f668b..33464c6b60a2 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
@@ -1025,10 +1025,8 @@ static int ocfs2_rename(struct inode *old_dir,
1025 struct inode *orphan_dir = NULL; 1025 struct inode *orphan_dir = NULL;
1026 struct ocfs2_dinode *newfe = NULL; 1026 struct ocfs2_dinode *newfe = NULL;
1027 char orphan_name[OCFS2_ORPHAN_NAMELEN + 1]; 1027 char orphan_name[OCFS2_ORPHAN_NAMELEN + 1];
1028 struct buffer_head *orphan_entry_bh = NULL;
1029 struct buffer_head *newfe_bh = NULL; 1028 struct buffer_head *newfe_bh = NULL;
1030 struct buffer_head *old_inode_bh = NULL; 1029 struct buffer_head *old_inode_bh = NULL;
1031 struct buffer_head *insert_entry_bh = NULL;
1032 struct ocfs2_super *osb = NULL; 1030 struct ocfs2_super *osb = NULL;
1033 u64 newfe_blkno, old_de_ino; 1031 u64 newfe_blkno, old_de_ino;
1034 handle_t *handle = NULL; 1032 handle_t *handle = NULL;
@@ -1455,8 +1453,6 @@ bail:
1455 brelse(old_inode_bh); 1453 brelse(old_inode_bh);
1456 brelse(old_dir_bh); 1454 brelse(old_dir_bh);
1457 brelse(new_dir_bh); 1455 brelse(new_dir_bh);
1458 brelse(orphan_entry_bh);
1459 brelse(insert_entry_bh);
1460 1456
1461 mlog_exit(status); 1457 mlog_exit(status);
1462 1458
diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c
index b4ca5911caaf..8439f6b324b9 100644
--- a/fs/ocfs2/suballoc.c
+++ b/fs/ocfs2/suballoc.c
@@ -2197,26 +2197,29 @@ static int ocfs2_get_suballoc_slot_bit(struct ocfs2_super *osb, u64 blkno,
2197 struct buffer_head *inode_bh = NULL; 2197 struct buffer_head *inode_bh = NULL;
2198 struct ocfs2_dinode *inode_fe; 2198 struct ocfs2_dinode *inode_fe;
2199 2199
2200 mlog_entry("blkno: %llu\n", blkno); 2200 mlog_entry("blkno: %llu\n", (unsigned long long)blkno);
2201 2201
2202 /* dirty read disk */ 2202 /* dirty read disk */
2203 status = ocfs2_read_blocks_sync(osb, blkno, 1, &inode_bh); 2203 status = ocfs2_read_blocks_sync(osb, blkno, 1, &inode_bh);
2204 if (status < 0) { 2204 if (status < 0) {
2205 mlog(ML_ERROR, "read block %llu failed %d\n", blkno, status); 2205 mlog(ML_ERROR, "read block %llu failed %d\n",
2206 (unsigned long long)blkno, status);
2206 goto bail; 2207 goto bail;
2207 } 2208 }
2208 2209
2209 inode_fe = (struct ocfs2_dinode *) inode_bh->b_data; 2210 inode_fe = (struct ocfs2_dinode *) inode_bh->b_data;
2210 if (!OCFS2_IS_VALID_DINODE(inode_fe)) { 2211 if (!OCFS2_IS_VALID_DINODE(inode_fe)) {
2211 mlog(ML_ERROR, "invalid inode %llu requested\n", blkno); 2212 mlog(ML_ERROR, "invalid inode %llu requested\n",
2213 (unsigned long long)blkno);
2212 status = -EINVAL; 2214 status = -EINVAL;
2213 goto bail; 2215 goto bail;
2214 } 2216 }
2215 2217
2216 if (le16_to_cpu(inode_fe->i_suballoc_slot) != OCFS2_INVALID_SLOT && 2218 if (le16_to_cpu(inode_fe->i_suballoc_slot) != (u16)OCFS2_INVALID_SLOT &&
2217 (u32)le16_to_cpu(inode_fe->i_suballoc_slot) > osb->max_slots - 1) { 2219 (u32)le16_to_cpu(inode_fe->i_suballoc_slot) > osb->max_slots - 1) {
2218 mlog(ML_ERROR, "inode %llu has invalid suballoc slot %u\n", 2220 mlog(ML_ERROR, "inode %llu has invalid suballoc slot %u\n",
2219 blkno, (u32)le16_to_cpu(inode_fe->i_suballoc_slot)); 2221 (unsigned long long)blkno,
2222 (u32)le16_to_cpu(inode_fe->i_suballoc_slot));
2220 status = -EINVAL; 2223 status = -EINVAL;
2221 goto bail; 2224 goto bail;
2222 } 2225 }
@@ -2251,7 +2254,8 @@ static int ocfs2_test_suballoc_bit(struct ocfs2_super *osb,
2251 u64 bg_blkno; 2254 u64 bg_blkno;
2252 int status; 2255 int status;
2253 2256
2254 mlog_entry("blkno: %llu bit: %u\n", blkno, (unsigned int)bit); 2257 mlog_entry("blkno: %llu bit: %u\n", (unsigned long long)blkno,
2258 (unsigned int)bit);
2255 2259
2256 alloc_fe = (struct ocfs2_dinode *)alloc_bh->b_data; 2260 alloc_fe = (struct ocfs2_dinode *)alloc_bh->b_data;
2257 if ((bit + 1) > ocfs2_bits_per_group(&alloc_fe->id2.i_chain)) { 2261 if ((bit + 1) > ocfs2_bits_per_group(&alloc_fe->id2.i_chain)) {
@@ -2266,7 +2270,8 @@ static int ocfs2_test_suballoc_bit(struct ocfs2_super *osb,
2266 status = ocfs2_read_group_descriptor(suballoc, alloc_fe, bg_blkno, 2270 status = ocfs2_read_group_descriptor(suballoc, alloc_fe, bg_blkno,
2267 &group_bh); 2271 &group_bh);
2268 if (status < 0) { 2272 if (status < 0) {
2269 mlog(ML_ERROR, "read group %llu failed %d\n", bg_blkno, status); 2273 mlog(ML_ERROR, "read group %llu failed %d\n",
2274 (unsigned long long)bg_blkno, status);
2270 goto bail; 2275 goto bail;
2271 } 2276 }
2272 2277
@@ -2300,7 +2305,7 @@ int ocfs2_test_inode_bit(struct ocfs2_super *osb, u64 blkno, int *res)
2300 struct inode *inode_alloc_inode; 2305 struct inode *inode_alloc_inode;
2301 struct buffer_head *alloc_bh = NULL; 2306 struct buffer_head *alloc_bh = NULL;
2302 2307
2303 mlog_entry("blkno: %llu", blkno); 2308 mlog_entry("blkno: %llu", (unsigned long long)blkno);
2304 2309
2305 status = ocfs2_get_suballoc_slot_bit(osb, blkno, &suballoc_slot, 2310 status = ocfs2_get_suballoc_slot_bit(osb, blkno, &suballoc_slot,
2306 &suballoc_bit); 2311 &suballoc_bit);
diff --git a/fs/ocfs2/symlink.c b/fs/ocfs2/symlink.c
index ed0a0cfd68d2..579dd1b1110f 100644
--- a/fs/ocfs2/symlink.c
+++ b/fs/ocfs2/symlink.c
@@ -39,6 +39,7 @@
39#include <linux/slab.h> 39#include <linux/slab.h>
40#include <linux/pagemap.h> 40#include <linux/pagemap.h>
41#include <linux/utsname.h> 41#include <linux/utsname.h>
42#include <linux/namei.h>
42 43
43#define MLOG_MASK_PREFIX ML_NAMEI 44#define MLOG_MASK_PREFIX ML_NAMEI
44#include <cluster/masklog.h> 45#include <cluster/masklog.h>
@@ -54,26 +55,6 @@
54 55
55#include "buffer_head_io.h" 56#include "buffer_head_io.h"
56 57
57static char *ocfs2_page_getlink(struct dentry * dentry,
58 struct page **ppage);
59static char *ocfs2_fast_symlink_getlink(struct inode *inode,
60 struct buffer_head **bh);
61
62/* get the link contents into pagecache */
63static char *ocfs2_page_getlink(struct dentry * dentry,
64 struct page **ppage)
65{
66 struct page * page;
67 struct address_space *mapping = dentry->d_inode->i_mapping;
68 page = read_mapping_page(mapping, 0, NULL);
69 if (IS_ERR(page))
70 goto sync_fail;
71 *ppage = page;
72 return kmap(page);
73
74sync_fail:
75 return (char*)page;
76}
77 58
78static char *ocfs2_fast_symlink_getlink(struct inode *inode, 59static char *ocfs2_fast_symlink_getlink(struct inode *inode,
79 struct buffer_head **bh) 60 struct buffer_head **bh)
@@ -128,40 +109,55 @@ out:
128 return ret; 109 return ret;
129} 110}
130 111
131static void *ocfs2_follow_link(struct dentry *dentry, 112static void *ocfs2_fast_follow_link(struct dentry *dentry,
132 struct nameidata *nd) 113 struct nameidata *nd)
133{ 114{
134 int status; 115 int status = 0;
135 char *link; 116 int len;
117 char *target, *link = ERR_PTR(-ENOMEM);
136 struct inode *inode = dentry->d_inode; 118 struct inode *inode = dentry->d_inode;
137 struct page *page = NULL;
138 struct buffer_head *bh = NULL; 119 struct buffer_head *bh = NULL;
139 120
140 if (ocfs2_inode_is_fast_symlink(inode)) 121 mlog_entry_void();
141 link = ocfs2_fast_symlink_getlink(inode, &bh); 122
142 else 123 BUG_ON(!ocfs2_inode_is_fast_symlink(inode));
143 link = ocfs2_page_getlink(dentry, &page); 124 target = ocfs2_fast_symlink_getlink(inode, &bh);
144 if (IS_ERR(link)) { 125 if (IS_ERR(target)) {
145 status = PTR_ERR(link); 126 status = PTR_ERR(target);
146 mlog_errno(status); 127 mlog_errno(status);
147 goto bail; 128 goto bail;
148 } 129 }
149 130
150 status = vfs_follow_link(nd, link); 131 /* Fast symlinks can't be large */
132 len = strlen(target);
133 link = kzalloc(len + 1, GFP_NOFS);
134 if (!link) {
135 status = -ENOMEM;
136 mlog_errno(status);
137 goto bail;
138 }
139
140 memcpy(link, target, len);
141 nd_set_link(nd, link);
151 142
152bail: 143bail:
153 if (page) {
154 kunmap(page);
155 page_cache_release(page);
156 }
157 brelse(bh); 144 brelse(bh);
158 145
159 return ERR_PTR(status); 146 mlog_exit(status);
147 return status ? ERR_PTR(status) : link;
148}
149
150static void ocfs2_fast_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie)
151{
152 char *link = cookie;
153
154 kfree(link);
160} 155}
161 156
162const struct inode_operations ocfs2_symlink_inode_operations = { 157const struct inode_operations ocfs2_symlink_inode_operations = {
163 .readlink = page_readlink, 158 .readlink = page_readlink,
164 .follow_link = ocfs2_follow_link, 159 .follow_link = page_follow_link_light,
160 .put_link = page_put_link,
165 .getattr = ocfs2_getattr, 161 .getattr = ocfs2_getattr,
166 .setattr = ocfs2_setattr, 162 .setattr = ocfs2_setattr,
167 .setxattr = generic_setxattr, 163 .setxattr = generic_setxattr,
@@ -171,7 +167,8 @@ const struct inode_operations ocfs2_symlink_inode_operations = {
171}; 167};
172const struct inode_operations ocfs2_fast_symlink_inode_operations = { 168const struct inode_operations ocfs2_fast_symlink_inode_operations = {
173 .readlink = ocfs2_readlink, 169 .readlink = ocfs2_readlink,
174 .follow_link = ocfs2_follow_link, 170 .follow_link = ocfs2_fast_follow_link,
171 .put_link = ocfs2_fast_put_link,
175 .getattr = ocfs2_getattr, 172 .getattr = ocfs2_getattr,
176 .setattr = ocfs2_setattr, 173 .setattr = ocfs2_setattr,
177 .setxattr = generic_setxattr, 174 .setxattr = generic_setxattr,
diff --git a/fs/open.c b/fs/open.c
index 377eb25b6abf..bdfbf03615a4 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -1033,7 +1033,7 @@ long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
1033 if (!IS_ERR(tmp)) { 1033 if (!IS_ERR(tmp)) {
1034 fd = get_unused_fd_flags(flags); 1034 fd = get_unused_fd_flags(flags);
1035 if (fd >= 0) { 1035 if (fd >= 0) {
1036 struct file *f = do_filp_open(dfd, tmp, flags, mode); 1036 struct file *f = do_filp_open(dfd, tmp, flags, mode, 0);
1037 if (IS_ERR(f)) { 1037 if (IS_ERR(f)) {
1038 put_unused_fd(fd); 1038 put_unused_fd(fd);
1039 fd = PTR_ERR(f); 1039 fd = PTR_ERR(f);
diff --git a/fs/proc/array.c b/fs/proc/array.c
index 7e4877d9dcb5..725a650bbbb8 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -80,6 +80,7 @@
80#include <linux/delayacct.h> 80#include <linux/delayacct.h>
81#include <linux/seq_file.h> 81#include <linux/seq_file.h>
82#include <linux/pid_namespace.h> 82#include <linux/pid_namespace.h>
83#include <linux/ptrace.h>
83#include <linux/tracehook.h> 84#include <linux/tracehook.h>
84 85
85#include <asm/pgtable.h> 86#include <asm/pgtable.h>
@@ -352,6 +353,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
352 char state; 353 char state;
353 pid_t ppid = 0, pgid = -1, sid = -1; 354 pid_t ppid = 0, pgid = -1, sid = -1;
354 int num_threads = 0; 355 int num_threads = 0;
356 int permitted;
355 struct mm_struct *mm; 357 struct mm_struct *mm;
356 unsigned long long start_time; 358 unsigned long long start_time;
357 unsigned long cmin_flt = 0, cmaj_flt = 0; 359 unsigned long cmin_flt = 0, cmaj_flt = 0;
@@ -364,11 +366,14 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
364 366
365 state = *get_task_state(task); 367 state = *get_task_state(task);
366 vsize = eip = esp = 0; 368 vsize = eip = esp = 0;
369 permitted = ptrace_may_access(task, PTRACE_MODE_READ);
367 mm = get_task_mm(task); 370 mm = get_task_mm(task);
368 if (mm) { 371 if (mm) {
369 vsize = task_vsize(mm); 372 vsize = task_vsize(mm);
370 eip = KSTK_EIP(task); 373 if (permitted) {
371 esp = KSTK_ESP(task); 374 eip = KSTK_EIP(task);
375 esp = KSTK_ESP(task);
376 }
372 } 377 }
373 378
374 get_task_comm(tcomm, task); 379 get_task_comm(tcomm, task);
@@ -424,7 +429,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
424 unlock_task_sighand(task, &flags); 429 unlock_task_sighand(task, &flags);
425 } 430 }
426 431
427 if (!whole || num_threads < 2) 432 if (permitted && (!whole || num_threads < 2))
428 wchan = get_wchan(task); 433 wchan = get_wchan(task);
429 if (!whole) { 434 if (!whole) {
430 min_flt = task->min_flt; 435 min_flt = task->min_flt;
@@ -476,7 +481,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
476 rsslim, 481 rsslim,
477 mm ? mm->start_code : 0, 482 mm ? mm->start_code : 0,
478 mm ? mm->end_code : 0, 483 mm ? mm->end_code : 0,
479 mm ? mm->start_stack : 0, 484 (permitted && mm) ? mm->start_stack : 0,
480 esp, 485 esp,
481 eip, 486 eip,
482 /* The signal information here is obsolete. 487 /* The signal information here is obsolete.
diff --git a/fs/proc/base.c b/fs/proc/base.c
index aa763ab00777..fb45615943c2 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -322,7 +322,10 @@ static int proc_pid_wchan(struct task_struct *task, char *buffer)
322 wchan = get_wchan(task); 322 wchan = get_wchan(task);
323 323
324 if (lookup_symbol_name(wchan, symname) < 0) 324 if (lookup_symbol_name(wchan, symname) < 0)
325 return sprintf(buffer, "%lu", wchan); 325 if (!ptrace_may_access(task, PTRACE_MODE_READ))
326 return 0;
327 else
328 return sprintf(buffer, "%lu", wchan);
326 else 329 else
327 return sprintf(buffer, "%s", symname); 330 return sprintf(buffer, "%s", symname);
328} 331}
diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
index 74ea974f5ca6..c6b0302af4c4 100644
--- a/fs/proc/meminfo.c
+++ b/fs/proc/meminfo.c
@@ -35,7 +35,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
35#define K(x) ((x) << (PAGE_SHIFT - 10)) 35#define K(x) ((x) << (PAGE_SHIFT - 10))
36 si_meminfo(&i); 36 si_meminfo(&i);
37 si_swapinfo(&i); 37 si_swapinfo(&i);
38 committed = atomic_long_read(&vm_committed_space); 38 committed = percpu_counter_read_positive(&vm_committed_as);
39 allowed = ((totalram_pages - hugetlb_total_pages()) 39 allowed = ((totalram_pages - hugetlb_total_pages())
40 * sysctl_overcommit_ratio / 100) + total_swap_pages; 40 * sysctl_overcommit_ratio / 100) + total_swap_pages;
41 41
diff --git a/fs/proc/root.c b/fs/proc/root.c
index 1e15a2b176e8..b080b791d9e3 100644
--- a/fs/proc/root.c
+++ b/fs/proc/root.c
@@ -67,8 +67,7 @@ static int proc_get_sb(struct file_system_type *fs_type,
67 sb->s_flags = flags; 67 sb->s_flags = flags;
68 err = proc_fill_super(sb); 68 err = proc_fill_super(sb);
69 if (err) { 69 if (err) {
70 up_write(&sb->s_umount); 70 deactivate_locked_super(sb);
71 deactivate_super(sb);
72 return err; 71 return err;
73 } 72 }
74 73
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 39e4ad4f59f4..6f61b7cc32e0 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -665,6 +665,10 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
665 goto out_task; 665 goto out_task;
666 666
667 ret = 0; 667 ret = 0;
668
669 if (!count)
670 goto out_task;
671
668 mm = get_task_mm(task); 672 mm = get_task_mm(task);
669 if (!mm) 673 if (!mm)
670 goto out_task; 674 goto out_task;
diff --git a/fs/reiserfs/dir.c b/fs/reiserfs/dir.c
index 67a80d7e59e2..45ee3d357c70 100644
--- a/fs/reiserfs/dir.c
+++ b/fs/reiserfs/dir.c
@@ -41,6 +41,18 @@ static int reiserfs_dir_fsync(struct file *filp, struct dentry *dentry,
41 41
42#define store_ih(where,what) copy_item_head (where, what) 42#define store_ih(where,what) copy_item_head (where, what)
43 43
44static inline bool is_privroot_deh(struct dentry *dir,
45 struct reiserfs_de_head *deh)
46{
47 int ret = 0;
48#ifdef CONFIG_REISERFS_FS_XATTR
49 struct dentry *privroot = REISERFS_SB(dir->d_sb)->priv_root;
50 ret = (dir == dir->d_parent && privroot->d_inode &&
51 deh->deh_objectid == INODE_PKEY(privroot->d_inode)->k_objectid);
52#endif
53 return ret;
54}
55
44int reiserfs_readdir_dentry(struct dentry *dentry, void *dirent, 56int reiserfs_readdir_dentry(struct dentry *dentry, void *dirent,
45 filldir_t filldir, loff_t *pos) 57 filldir_t filldir, loff_t *pos)
46{ 58{
@@ -138,18 +150,8 @@ int reiserfs_readdir_dentry(struct dentry *dentry, void *dirent,
138 } 150 }
139 151
140 /* Ignore the .reiserfs_priv entry */ 152 /* Ignore the .reiserfs_priv entry */
141 if (reiserfs_xattrs(inode->i_sb) && 153 if (is_privroot_deh(dentry, deh))
142 !old_format_only(inode->i_sb) &&
143 dentry == inode->i_sb->s_root &&
144 REISERFS_SB(inode->i_sb)->priv_root &&
145 REISERFS_SB(inode->i_sb)->priv_root->d_inode
146 && deh_objectid(deh) ==
147 le32_to_cpu(INODE_PKEY
148 (REISERFS_SB(inode->i_sb)->
149 priv_root->d_inode)->
150 k_objectid)) {
151 continue; 154 continue;
152 }
153 155
154 d_off = deh_offset(deh); 156 d_off = deh_offset(deh);
155 *pos = d_off; 157 *pos = d_off;
diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c
index efd4d720718e..271579128634 100644
--- a/fs/reiserfs/namei.c
+++ b/fs/reiserfs/namei.c
@@ -338,21 +338,8 @@ static struct dentry *reiserfs_lookup(struct inode *dir, struct dentry *dentry,
338 &path_to_entry, &de); 338 &path_to_entry, &de);
339 pathrelse(&path_to_entry); 339 pathrelse(&path_to_entry);
340 if (retval == NAME_FOUND) { 340 if (retval == NAME_FOUND) {
341 /* Hide the .reiserfs_priv directory */ 341 inode = reiserfs_iget(dir->i_sb,
342 if (reiserfs_xattrs(dir->i_sb) && 342 (struct cpu_key *)&(de.de_dir_id));
343 !old_format_only(dir->i_sb) &&
344 REISERFS_SB(dir->i_sb)->priv_root &&
345 REISERFS_SB(dir->i_sb)->priv_root->d_inode &&
346 de.de_objectid ==
347 le32_to_cpu(INODE_PKEY
348 (REISERFS_SB(dir->i_sb)->priv_root->d_inode)->
349 k_objectid)) {
350 reiserfs_write_unlock(dir->i_sb);
351 return ERR_PTR(-EACCES);
352 }
353
354 inode =
355 reiserfs_iget(dir->i_sb, (struct cpu_key *)&(de.de_dir_id));
356 if (!inode || IS_ERR(inode)) { 343 if (!inode || IS_ERR(inode)) {
357 reiserfs_write_unlock(dir->i_sb); 344 reiserfs_write_unlock(dir->i_sb);
358 return ERR_PTR(-EACCES); 345 return ERR_PTR(-EACCES);
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
index 0ae6486d9046..1215a4f50cd2 100644
--- a/fs/reiserfs/super.c
+++ b/fs/reiserfs/super.c
@@ -1316,8 +1316,7 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
1316 } 1316 }
1317 1317
1318out_ok: 1318out_ok:
1319 kfree(s->s_options); 1319 replace_mount_options(s, new_opts);
1320 s->s_options = new_opts;
1321 return 0; 1320 return 0;
1322 1321
1323out_err: 1322out_err:
@@ -1842,7 +1841,8 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent)
1842 goto error; 1841 goto error;
1843 } 1842 }
1844 1843
1845 if ((errval = reiserfs_xattr_init(s, s->s_flags))) { 1844 if ((errval = reiserfs_lookup_privroot(s)) ||
1845 (errval = reiserfs_xattr_init(s, s->s_flags))) {
1846 dput(s->s_root); 1846 dput(s->s_root);
1847 s->s_root = NULL; 1847 s->s_root = NULL;
1848 goto error; 1848 goto error;
@@ -1855,7 +1855,8 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent)
1855 reiserfs_info(s, "using 3.5.x disk format\n"); 1855 reiserfs_info(s, "using 3.5.x disk format\n");
1856 } 1856 }
1857 1857
1858 if ((errval = reiserfs_xattr_init(s, s->s_flags))) { 1858 if ((errval = reiserfs_lookup_privroot(s)) ||
1859 (errval = reiserfs_xattr_init(s, s->s_flags))) {
1859 dput(s->s_root); 1860 dput(s->s_root);
1860 s->s_root = NULL; 1861 s->s_root = NULL;
1861 goto error; 1862 goto error;
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
index f83f52bae390..2237e10c7c7c 100644
--- a/fs/reiserfs/xattr.c
+++ b/fs/reiserfs/xattr.c
@@ -113,41 +113,28 @@ static int xattr_rmdir(struct inode *dir, struct dentry *dentry)
113 113
114#define xattr_may_create(flags) (!flags || flags & XATTR_CREATE) 114#define xattr_may_create(flags) (!flags || flags & XATTR_CREATE)
115 115
116/* Returns and possibly creates the xattr dir. */ 116static struct dentry *open_xa_root(struct super_block *sb, int flags)
117static struct dentry *lookup_or_create_dir(struct dentry *parent,
118 const char *name, int flags)
119{ 117{
120 struct dentry *dentry; 118 struct dentry *privroot = REISERFS_SB(sb)->priv_root;
121 BUG_ON(!parent); 119 struct dentry *xaroot;
120 if (!privroot->d_inode)
121 return ERR_PTR(-ENODATA);
122 122
123 dentry = lookup_one_len(name, parent, strlen(name)); 123 mutex_lock_nested(&privroot->d_inode->i_mutex, I_MUTEX_XATTR);
124 if (IS_ERR(dentry))
125 return dentry;
126 else if (!dentry->d_inode) {
127 int err = -ENODATA;
128
129 if (xattr_may_create(flags)) {
130 mutex_lock_nested(&parent->d_inode->i_mutex,
131 I_MUTEX_XATTR);
132 err = xattr_mkdir(parent->d_inode, dentry, 0700);
133 mutex_unlock(&parent->d_inode->i_mutex);
134 }
135 124
125 xaroot = dget(REISERFS_SB(sb)->xattr_root);
126 if (!xaroot->d_inode) {
127 int err = -ENODATA;
128 if (xattr_may_create(flags))
129 err = xattr_mkdir(privroot->d_inode, xaroot, 0700);
136 if (err) { 130 if (err) {
137 dput(dentry); 131 dput(xaroot);
138 dentry = ERR_PTR(err); 132 xaroot = ERR_PTR(err);
139 } 133 }
140 } 134 }
141 135
142 return dentry; 136 mutex_unlock(&privroot->d_inode->i_mutex);
143} 137 return xaroot;
144
145static struct dentry *open_xa_root(struct super_block *sb, int flags)
146{
147 struct dentry *privroot = REISERFS_SB(sb)->priv_root;
148 if (!privroot)
149 return ERR_PTR(-ENODATA);
150 return lookup_or_create_dir(privroot, XAROOT_NAME, flags);
151} 138}
152 139
153static struct dentry *open_xa_dir(const struct inode *inode, int flags) 140static struct dentry *open_xa_dir(const struct inode *inode, int flags)
@@ -163,10 +150,22 @@ static struct dentry *open_xa_dir(const struct inode *inode, int flags)
163 le32_to_cpu(INODE_PKEY(inode)->k_objectid), 150 le32_to_cpu(INODE_PKEY(inode)->k_objectid),
164 inode->i_generation); 151 inode->i_generation);
165 152
166 xadir = lookup_or_create_dir(xaroot, namebuf, flags); 153 mutex_lock_nested(&xaroot->d_inode->i_mutex, I_MUTEX_XATTR);
154
155 xadir = lookup_one_len(namebuf, xaroot, strlen(namebuf));
156 if (!IS_ERR(xadir) && !xadir->d_inode) {
157 int err = -ENODATA;
158 if (xattr_may_create(flags))
159 err = xattr_mkdir(xaroot->d_inode, xadir, 0700);
160 if (err) {
161 dput(xadir);
162 xadir = ERR_PTR(err);
163 }
164 }
165
166 mutex_unlock(&xaroot->d_inode->i_mutex);
167 dput(xaroot); 167 dput(xaroot);
168 return xadir; 168 return xadir;
169
170} 169}
171 170
172/* The following are side effects of other operations that aren't explicitly 171/* The following are side effects of other operations that aren't explicitly
@@ -184,6 +183,7 @@ fill_with_dentries(void *buf, const char *name, int namelen, loff_t offset,
184{ 183{
185 struct reiserfs_dentry_buf *dbuf = buf; 184 struct reiserfs_dentry_buf *dbuf = buf;
186 struct dentry *dentry; 185 struct dentry *dentry;
186 WARN_ON_ONCE(!mutex_is_locked(&dbuf->xadir->d_inode->i_mutex));
187 187
188 if (dbuf->count == ARRAY_SIZE(dbuf->dentries)) 188 if (dbuf->count == ARRAY_SIZE(dbuf->dentries))
189 return -ENOSPC; 189 return -ENOSPC;
@@ -349,6 +349,7 @@ static struct dentry *xattr_lookup(struct inode *inode, const char *name,
349 if (IS_ERR(xadir)) 349 if (IS_ERR(xadir))
350 return ERR_CAST(xadir); 350 return ERR_CAST(xadir);
351 351
352 mutex_lock_nested(&xadir->d_inode->i_mutex, I_MUTEX_XATTR);
352 xafile = lookup_one_len(name, xadir, strlen(name)); 353 xafile = lookup_one_len(name, xadir, strlen(name));
353 if (IS_ERR(xafile)) { 354 if (IS_ERR(xafile)) {
354 err = PTR_ERR(xafile); 355 err = PTR_ERR(xafile);
@@ -360,18 +361,15 @@ static struct dentry *xattr_lookup(struct inode *inode, const char *name,
360 361
361 if (!xafile->d_inode) { 362 if (!xafile->d_inode) {
362 err = -ENODATA; 363 err = -ENODATA;
363 if (xattr_may_create(flags)) { 364 if (xattr_may_create(flags))
364 mutex_lock_nested(&xadir->d_inode->i_mutex,
365 I_MUTEX_XATTR);
366 err = xattr_create(xadir->d_inode, xafile, 365 err = xattr_create(xadir->d_inode, xafile,
367 0700|S_IFREG); 366 0700|S_IFREG);
368 mutex_unlock(&xadir->d_inode->i_mutex);
369 }
370 } 367 }
371 368
372 if (err) 369 if (err)
373 dput(xafile); 370 dput(xafile);
374out: 371out:
372 mutex_unlock(&xadir->d_inode->i_mutex);
375 dput(xadir); 373 dput(xadir);
376 if (err) 374 if (err)
377 return ERR_PTR(err); 375 return ERR_PTR(err);
@@ -435,6 +433,7 @@ static int lookup_and_delete_xattr(struct inode *inode, const char *name)
435 if (IS_ERR(xadir)) 433 if (IS_ERR(xadir))
436 return PTR_ERR(xadir); 434 return PTR_ERR(xadir);
437 435
436 mutex_lock_nested(&xadir->d_inode->i_mutex, I_MUTEX_XATTR);
438 dentry = lookup_one_len(name, xadir, strlen(name)); 437 dentry = lookup_one_len(name, xadir, strlen(name));
439 if (IS_ERR(dentry)) { 438 if (IS_ERR(dentry)) {
440 err = PTR_ERR(dentry); 439 err = PTR_ERR(dentry);
@@ -442,14 +441,13 @@ static int lookup_and_delete_xattr(struct inode *inode, const char *name)
442 } 441 }
443 442
444 if (dentry->d_inode) { 443 if (dentry->d_inode) {
445 mutex_lock_nested(&xadir->d_inode->i_mutex, I_MUTEX_XATTR);
446 err = xattr_unlink(xadir->d_inode, dentry); 444 err = xattr_unlink(xadir->d_inode, dentry);
447 mutex_unlock(&xadir->d_inode->i_mutex);
448 update_ctime(inode); 445 update_ctime(inode);
449 } 446 }
450 447
451 dput(dentry); 448 dput(dentry);
452out_dput: 449out_dput:
450 mutex_unlock(&xadir->d_inode->i_mutex);
453 dput(xadir); 451 dput(xadir);
454 return err; 452 return err;
455} 453}
@@ -843,7 +841,7 @@ ssize_t reiserfs_listxattr(struct dentry * dentry, char *buffer, size_t size)
843 if (!dentry->d_inode) 841 if (!dentry->d_inode)
844 return -EINVAL; 842 return -EINVAL;
845 843
846 if (!reiserfs_xattrs(dentry->d_sb) || 844 if (!dentry->d_sb->s_xattr ||
847 get_inode_sd_version(dentry->d_inode) == STAT_DATA_V1) 845 get_inode_sd_version(dentry->d_inode) == STAT_DATA_V1)
848 return -EOPNOTSUPP; 846 return -EOPNOTSUPP;
849 847
@@ -906,19 +904,22 @@ static int create_privroot(struct dentry *dentry)
906{ 904{
907 int err; 905 int err;
908 struct inode *inode = dentry->d_parent->d_inode; 906 struct inode *inode = dentry->d_parent->d_inode;
909 mutex_lock_nested(&inode->i_mutex, I_MUTEX_XATTR); 907 WARN_ON_ONCE(!mutex_is_locked(&inode->i_mutex));
908
910 err = xattr_mkdir(inode, dentry, 0700); 909 err = xattr_mkdir(inode, dentry, 0700);
911 mutex_unlock(&inode->i_mutex); 910 if (err || !dentry->d_inode) {
912 if (err) { 911 reiserfs_warning(dentry->d_sb, "jdm-20006",
913 dput(dentry); 912 "xattrs/ACLs enabled and couldn't "
914 dentry = NULL; 913 "find/create .reiserfs_priv. "
914 "Failing mount.");
915 return -EOPNOTSUPP;
915 } 916 }
916 917
917 if (dentry && dentry->d_inode) 918 dentry->d_inode->i_flags |= S_PRIVATE;
918 reiserfs_info(dentry->d_sb, "Created %s - reserved for xattr " 919 reiserfs_info(dentry->d_sb, "Created %s - reserved for xattr "
919 "storage.\n", PRIVROOT_NAME); 920 "storage.\n", PRIVROOT_NAME);
920 921
921 return err; 922 return 0;
922} 923}
923 924
924static int xattr_mount_check(struct super_block *s) 925static int xattr_mount_check(struct super_block *s)
@@ -950,11 +951,9 @@ static int
950xattr_lookup_poison(struct dentry *dentry, struct qstr *q1, struct qstr *name) 951xattr_lookup_poison(struct dentry *dentry, struct qstr *q1, struct qstr *name)
951{ 952{
952 struct dentry *priv_root = REISERFS_SB(dentry->d_sb)->priv_root; 953 struct dentry *priv_root = REISERFS_SB(dentry->d_sb)->priv_root;
953 if (name->len == priv_root->d_name.len && 954 if (container_of(q1, struct dentry, d_name) == priv_root)
954 name->hash == priv_root->d_name.hash &&
955 !memcmp(name->name, priv_root->d_name.name, name->len)) {
956 return -ENOENT; 955 return -ENOENT;
957 } else if (q1->len == name->len && 956 if (q1->len == name->len &&
958 !memcmp(q1->name, name->name, name->len)) 957 !memcmp(q1->name, name->name, name->len))
959 return 0; 958 return 0;
960 return 1; 959 return 1;
@@ -964,59 +963,60 @@ static const struct dentry_operations xattr_lookup_poison_ops = {
964 .d_compare = xattr_lookup_poison, 963 .d_compare = xattr_lookup_poison,
965}; 964};
966 965
966int reiserfs_lookup_privroot(struct super_block *s)
967{
968 struct dentry *dentry;
969 int err = 0;
970
971 /* If we don't have the privroot located yet - go find it */
972 mutex_lock(&s->s_root->d_inode->i_mutex);
973 dentry = lookup_one_len(PRIVROOT_NAME, s->s_root,
974 strlen(PRIVROOT_NAME));
975 if (!IS_ERR(dentry)) {
976 REISERFS_SB(s)->priv_root = dentry;
977 s->s_root->d_op = &xattr_lookup_poison_ops;
978 if (dentry->d_inode)
979 dentry->d_inode->i_flags |= S_PRIVATE;
980 } else
981 err = PTR_ERR(dentry);
982 mutex_unlock(&s->s_root->d_inode->i_mutex);
983
984 return err;
985}
986
967/* We need to take a copy of the mount flags since things like 987/* We need to take a copy of the mount flags since things like
968 * MS_RDONLY don't get set until *after* we're called. 988 * MS_RDONLY don't get set until *after* we're called.
969 * mount_flags != mount_options */ 989 * mount_flags != mount_options */
970int reiserfs_xattr_init(struct super_block *s, int mount_flags) 990int reiserfs_xattr_init(struct super_block *s, int mount_flags)
971{ 991{
972 int err = 0; 992 int err = 0;
993 struct dentry *privroot = REISERFS_SB(s)->priv_root;
973 994
974#ifdef CONFIG_REISERFS_FS_XATTR 995#ifdef CONFIG_REISERFS_FS_XATTR
975 err = xattr_mount_check(s); 996 err = xattr_mount_check(s);
976 if (err) 997 if (err)
977 goto error; 998 goto error;
978#endif
979 999
980 /* If we don't have the privroot located yet - go find it */ 1000 if (!privroot->d_inode && !(mount_flags & MS_RDONLY)) {
981 if (!REISERFS_SB(s)->priv_root) { 1001 mutex_lock(&s->s_root->d_inode->i_mutex);
982 struct dentry *dentry; 1002 err = create_privroot(REISERFS_SB(s)->priv_root);
983 dentry = lookup_one_len(PRIVROOT_NAME, s->s_root, 1003 mutex_unlock(&s->s_root->d_inode->i_mutex);
984 strlen(PRIVROOT_NAME));
985 if (!IS_ERR(dentry)) {
986#ifdef CONFIG_REISERFS_FS_XATTR
987 if (!(mount_flags & MS_RDONLY) && !dentry->d_inode)
988 err = create_privroot(dentry);
989#endif
990 if (!dentry->d_inode) {
991 dput(dentry);
992 dentry = NULL;
993 }
994 } else
995 err = PTR_ERR(dentry);
996
997 if (!err && dentry) {
998 s->s_root->d_op = &xattr_lookup_poison_ops;
999 dentry->d_inode->i_flags |= S_PRIVATE;
1000 REISERFS_SB(s)->priv_root = dentry;
1001#ifdef CONFIG_REISERFS_FS_XATTR
1002 /* xattrs are unavailable */
1003 } else if (!(mount_flags & MS_RDONLY)) {
1004 /* If we're read-only it just means that the dir
1005 * hasn't been created. Not an error -- just no
1006 * xattrs on the fs. We'll check again if we
1007 * go read-write */
1008 reiserfs_warning(s, "jdm-20006",
1009 "xattrs/ACLs enabled and couldn't "
1010 "find/create .reiserfs_priv. "
1011 "Failing mount.");
1012 err = -EOPNOTSUPP;
1013#endif
1014 }
1015 } 1004 }
1016 1005
1017#ifdef CONFIG_REISERFS_FS_XATTR 1006 if (privroot->d_inode) {
1018 if (!err)
1019 s->s_xattr = reiserfs_xattr_handlers; 1007 s->s_xattr = reiserfs_xattr_handlers;
1008 mutex_lock(&privroot->d_inode->i_mutex);
1009 if (!REISERFS_SB(s)->xattr_root) {
1010 struct dentry *dentry;
1011 dentry = lookup_one_len(XAROOT_NAME, privroot,
1012 strlen(XAROOT_NAME));
1013 if (!IS_ERR(dentry))
1014 REISERFS_SB(s)->xattr_root = dentry;
1015 else
1016 err = PTR_ERR(dentry);
1017 }
1018 mutex_unlock(&privroot->d_inode->i_mutex);
1019 }
1020 1020
1021error: 1021error:
1022 if (err) { 1022 if (err) {
@@ -1026,11 +1026,12 @@ error:
1026#endif 1026#endif
1027 1027
1028 /* The super_block MS_POSIXACL must mirror the (no)acl mount option. */ 1028 /* The super_block MS_POSIXACL must mirror the (no)acl mount option. */
1029 s->s_flags = s->s_flags & ~MS_POSIXACL;
1030#ifdef CONFIG_REISERFS_FS_POSIX_ACL 1029#ifdef CONFIG_REISERFS_FS_POSIX_ACL
1031 if (reiserfs_posixacl(s)) 1030 if (reiserfs_posixacl(s))
1032 s->s_flags |= MS_POSIXACL; 1031 s->s_flags |= MS_POSIXACL;
1032 else
1033#endif 1033#endif
1034 s->s_flags &= ~MS_POSIXACL;
1034 1035
1035 return err; 1036 return err;
1036} 1037}
diff --git a/fs/reiserfs/xattr_security.c b/fs/reiserfs/xattr_security.c
index 4d3c20e787c3..a92c8792c0f6 100644
--- a/fs/reiserfs/xattr_security.c
+++ b/fs/reiserfs/xattr_security.c
@@ -55,8 +55,16 @@ int reiserfs_security_init(struct inode *dir, struct inode *inode,
55 struct reiserfs_security_handle *sec) 55 struct reiserfs_security_handle *sec)
56{ 56{
57 int blocks = 0; 57 int blocks = 0;
58 int error = security_inode_init_security(inode, dir, &sec->name, 58 int error;
59 &sec->value, &sec->length); 59
60 sec->name = NULL;
61
62 /* Don't add selinux attributes on xattrs - they'll never get used */
63 if (IS_PRIVATE(dir))
64 return 0;
65
66 error = security_inode_init_security(inode, dir, &sec->name,
67 &sec->value, &sec->length);
60 if (error) { 68 if (error) {
61 if (error == -EOPNOTSUPP) 69 if (error == -EOPNOTSUPP)
62 error = 0; 70 error = 0;
diff --git a/fs/romfs/super.c b/fs/romfs/super.c
index c53b5ef8a02f..4ab3c03d8f95 100644
--- a/fs/romfs/super.c
+++ b/fs/romfs/super.c
@@ -298,7 +298,8 @@ static struct inode *romfs_iget(struct super_block *sb, unsigned long pos)
298 struct romfs_inode ri; 298 struct romfs_inode ri;
299 struct inode *i; 299 struct inode *i;
300 unsigned long nlen; 300 unsigned long nlen;
301 unsigned nextfh, ret; 301 unsigned nextfh;
302 int ret;
302 umode_t mode; 303 umode_t mode;
303 304
304 /* we might have to traverse a chain of "hard link" file entries to get 305 /* we might have to traverse a chain of "hard link" file entries to get
diff --git a/fs/squashfs/Makefile b/fs/squashfs/Makefile
index 8258cf9a0317..70e3244fa30f 100644
--- a/fs/squashfs/Makefile
+++ b/fs/squashfs/Makefile
@@ -5,4 +5,3 @@
5obj-$(CONFIG_SQUASHFS) += squashfs.o 5obj-$(CONFIG_SQUASHFS) += squashfs.o
6squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o 6squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o
7squashfs-y += namei.o super.o symlink.o 7squashfs-y += namei.o super.o symlink.o
8#squashfs-y += squashfs2_0.o
diff --git a/fs/squashfs/cache.c b/fs/squashfs/cache.c
index 1c4739e33af6..40c98fa6b5d6 100644
--- a/fs/squashfs/cache.c
+++ b/fs/squashfs/cache.c
@@ -252,6 +252,7 @@ struct squashfs_cache *squashfs_cache_init(char *name, int entries,
252 cache->entries = entries; 252 cache->entries = entries;
253 cache->block_size = block_size; 253 cache->block_size = block_size;
254 cache->pages = block_size >> PAGE_CACHE_SHIFT; 254 cache->pages = block_size >> PAGE_CACHE_SHIFT;
255 cache->pages = cache->pages ? cache->pages : 1;
255 cache->name = name; 256 cache->name = name;
256 cache->num_waiters = 0; 257 cache->num_waiters = 0;
257 spin_lock_init(&cache->lock); 258 spin_lock_init(&cache->lock);
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c
index ffa6edcd2d0c..0adc624c956f 100644
--- a/fs/squashfs/super.c
+++ b/fs/squashfs/super.c
@@ -157,6 +157,16 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent)
157 if (msblk->block_size > SQUASHFS_FILE_MAX_SIZE) 157 if (msblk->block_size > SQUASHFS_FILE_MAX_SIZE)
158 goto failed_mount; 158 goto failed_mount;
159 159
160 /*
161 * Check the system page size is not larger than the filesystem
162 * block size (by default 128K). This is currently not supported.
163 */
164 if (PAGE_CACHE_SIZE > msblk->block_size) {
165 ERROR("Page size > filesystem block size (%d). This is "
166 "currently not supported!\n", msblk->block_size);
167 goto failed_mount;
168 }
169
160 msblk->block_log = le16_to_cpu(sblk->block_log); 170 msblk->block_log = le16_to_cpu(sblk->block_log);
161 if (msblk->block_log > SQUASHFS_FILE_MAX_LOG) 171 if (msblk->block_log > SQUASHFS_FILE_MAX_LOG)
162 goto failed_mount; 172 goto failed_mount;
diff --git a/fs/super.c b/fs/super.c
index 786fe7d72790..1943fdf655fa 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -208,6 +208,34 @@ void deactivate_super(struct super_block *s)
208EXPORT_SYMBOL(deactivate_super); 208EXPORT_SYMBOL(deactivate_super);
209 209
210/** 210/**
211 * deactivate_locked_super - drop an active reference to superblock
212 * @s: superblock to deactivate
213 *
214 * Equivalent of up_write(&s->s_umount); deactivate_super(s);, except that
215 * it does not unlock it until it's all over. As the result, it's safe to
216 * use to dispose of new superblock on ->get_sb() failure exits - nobody
217 * will see the sucker until it's all over. Equivalent using up_write +
218 * deactivate_super is safe for that purpose only if superblock is either
219 * safe to use or has NULL ->s_root when we unlock.
220 */
221void deactivate_locked_super(struct super_block *s)
222{
223 struct file_system_type *fs = s->s_type;
224 if (atomic_dec_and_lock(&s->s_active, &sb_lock)) {
225 s->s_count -= S_BIAS-1;
226 spin_unlock(&sb_lock);
227 vfs_dq_off(s, 0);
228 fs->kill_sb(s);
229 put_filesystem(fs);
230 put_super(s);
231 } else {
232 up_write(&s->s_umount);
233 }
234}
235
236EXPORT_SYMBOL(deactivate_locked_super);
237
238/**
211 * grab_super - acquire an active reference 239 * grab_super - acquire an active reference
212 * @s: reference we are trying to make active 240 * @s: reference we are trying to make active
213 * 241 *
@@ -797,8 +825,7 @@ int get_sb_ns(struct file_system_type *fs_type, int flags, void *data,
797 sb->s_flags = flags; 825 sb->s_flags = flags;
798 err = fill_super(sb, data, flags & MS_SILENT ? 1 : 0); 826 err = fill_super(sb, data, flags & MS_SILENT ? 1 : 0);
799 if (err) { 827 if (err) {
800 up_write(&sb->s_umount); 828 deactivate_locked_super(sb);
801 deactivate_super(sb);
802 return err; 829 return err;
803 } 830 }
804 831
@@ -854,8 +881,7 @@ int get_sb_bdev(struct file_system_type *fs_type,
854 881
855 if (s->s_root) { 882 if (s->s_root) {
856 if ((flags ^ s->s_flags) & MS_RDONLY) { 883 if ((flags ^ s->s_flags) & MS_RDONLY) {
857 up_write(&s->s_umount); 884 deactivate_locked_super(s);
858 deactivate_super(s);
859 error = -EBUSY; 885 error = -EBUSY;
860 goto error_bdev; 886 goto error_bdev;
861 } 887 }
@@ -870,8 +896,7 @@ int get_sb_bdev(struct file_system_type *fs_type,
870 sb_set_blocksize(s, block_size(bdev)); 896 sb_set_blocksize(s, block_size(bdev));
871 error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); 897 error = fill_super(s, data, flags & MS_SILENT ? 1 : 0);
872 if (error) { 898 if (error) {
873 up_write(&s->s_umount); 899 deactivate_locked_super(s);
874 deactivate_super(s);
875 goto error; 900 goto error;
876 } 901 }
877 902
@@ -897,7 +922,7 @@ void kill_block_super(struct super_block *sb)
897 struct block_device *bdev = sb->s_bdev; 922 struct block_device *bdev = sb->s_bdev;
898 fmode_t mode = sb->s_mode; 923 fmode_t mode = sb->s_mode;
899 924
900 bdev->bd_super = 0; 925 bdev->bd_super = NULL;
901 generic_shutdown_super(sb); 926 generic_shutdown_super(sb);
902 sync_blockdev(bdev); 927 sync_blockdev(bdev);
903 close_bdev_exclusive(bdev, mode); 928 close_bdev_exclusive(bdev, mode);
@@ -921,8 +946,7 @@ int get_sb_nodev(struct file_system_type *fs_type,
921 946
922 error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); 947 error = fill_super(s, data, flags & MS_SILENT ? 1 : 0);
923 if (error) { 948 if (error) {
924 up_write(&s->s_umount); 949 deactivate_locked_super(s);
925 deactivate_super(s);
926 return error; 950 return error;
927 } 951 }
928 s->s_flags |= MS_ACTIVE; 952 s->s_flags |= MS_ACTIVE;
@@ -952,8 +976,7 @@ int get_sb_single(struct file_system_type *fs_type,
952 s->s_flags = flags; 976 s->s_flags = flags;
953 error = fill_super(s, data, flags & MS_SILENT ? 1 : 0); 977 error = fill_super(s, data, flags & MS_SILENT ? 1 : 0);
954 if (error) { 978 if (error) {
955 up_write(&s->s_umount); 979 deactivate_locked_super(s);
956 deactivate_super(s);
957 return error; 980 return error;
958 } 981 }
959 s->s_flags |= MS_ACTIVE; 982 s->s_flags |= MS_ACTIVE;
@@ -1006,8 +1029,7 @@ vfs_kern_mount(struct file_system_type *type, int flags, const char *name, void
1006 return mnt; 1029 return mnt;
1007out_sb: 1030out_sb:
1008 dput(mnt->mnt_root); 1031 dput(mnt->mnt_root);
1009 up_write(&mnt->mnt_sb->s_umount); 1032 deactivate_locked_super(mnt->mnt_sb);
1010 deactivate_super(mnt->mnt_sb);
1011out_free_secdata: 1033out_free_secdata:
1012 free_secdata(secdata); 1034 free_secdata(secdata);
1013out_mnt: 1035out_mnt:
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index faa44f90608a..e9f7a754c4f7 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -2055,8 +2055,7 @@ static int ubifs_get_sb(struct file_system_type *fs_type, int flags,
2055 return 0; 2055 return 0;
2056 2056
2057out_deact: 2057out_deact:
2058 up_write(&sb->s_umount); 2058 deactivate_locked_super(sb);
2059 deactivate_super(sb);
2060out_close: 2059out_close:
2061 ubi_close_volume(ubi); 2060 ubi_close_volume(ubi);
2062 return err; 2061 return err;
diff --git a/fs/ufs/dir.c b/fs/ufs/dir.c
index dbbbc4668769..6321b797061b 100644
--- a/fs/ufs/dir.c
+++ b/fs/ufs/dir.c
@@ -666,6 +666,6 @@ not_empty:
666const struct file_operations ufs_dir_operations = { 666const struct file_operations ufs_dir_operations = {
667 .read = generic_read_dir, 667 .read = generic_read_dir,
668 .readdir = ufs_readdir, 668 .readdir = ufs_readdir,
669 .fsync = file_fsync, 669 .fsync = ufs_sync_file,
670 .llseek = generic_file_llseek, 670 .llseek = generic_file_llseek,
671}; 671};
diff --git a/fs/ufs/file.c b/fs/ufs/file.c
index 625ef17c6f83..2bd3a1615714 100644
--- a/fs/ufs/file.c
+++ b/fs/ufs/file.c
@@ -30,7 +30,7 @@
30#include "ufs.h" 30#include "ufs.h"
31 31
32 32
33static int ufs_sync_file(struct file *file, struct dentry *dentry, int datasync) 33int ufs_sync_file(struct file *file, struct dentry *dentry, int datasync)
34{ 34{
35 struct inode *inode = dentry->d_inode; 35 struct inode *inode = dentry->d_inode;
36 int err; 36 int err;
diff --git a/fs/ufs/ufs.h b/fs/ufs/ufs.h
index 69b3427d7885..d0c4acd4f1f3 100644
--- a/fs/ufs/ufs.h
+++ b/fs/ufs/ufs.h
@@ -98,8 +98,8 @@ extern void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
98/* file.c */ 98/* file.c */
99extern const struct inode_operations ufs_file_inode_operations; 99extern const struct inode_operations ufs_file_inode_operations;
100extern const struct file_operations ufs_file_operations; 100extern const struct file_operations ufs_file_operations;
101
102extern const struct address_space_operations ufs_aops; 101extern const struct address_space_operations ufs_aops;
102extern int ufs_sync_file(struct file *, struct dentry *, int);
103 103
104/* ialloc.c */ 104/* ialloc.c */
105extern void ufs_free_inode (struct inode *inode); 105extern void ufs_free_inode (struct inode *inode);
diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c
index 3a6ed426327a..ca7c6005a487 100644
--- a/fs/xfs/xfs_bmap.c
+++ b/fs/xfs/xfs_bmap.c
@@ -5880,7 +5880,7 @@ xfs_getbmap(
5880 void *arg) /* formatter arg */ 5880 void *arg) /* formatter arg */
5881{ 5881{
5882 __int64_t bmvend; /* last block requested */ 5882 __int64_t bmvend; /* last block requested */
5883 int error; /* return value */ 5883 int error = 0; /* return value */
5884 __int64_t fixlen; /* length for -1 case */ 5884 __int64_t fixlen; /* length for -1 case */
5885 int i; /* extent number */ 5885 int i; /* extent number */
5886 int lock; /* lock state */ 5886 int lock; /* lock state */
@@ -5890,39 +5890,18 @@ xfs_getbmap(
5890 int nexleft; /* # of user extents left */ 5890 int nexleft; /* # of user extents left */
5891 int subnex; /* # of bmapi's can do */ 5891 int subnex; /* # of bmapi's can do */
5892 int nmap; /* number of map entries */ 5892 int nmap; /* number of map entries */
5893 struct getbmapx out; /* output structure */ 5893 struct getbmapx *out; /* output structure */
5894 int whichfork; /* data or attr fork */ 5894 int whichfork; /* data or attr fork */
5895 int prealloced; /* this is a file with 5895 int prealloced; /* this is a file with
5896 * preallocated data space */ 5896 * preallocated data space */
5897 int iflags; /* interface flags */ 5897 int iflags; /* interface flags */
5898 int bmapi_flags; /* flags for xfs_bmapi */ 5898 int bmapi_flags; /* flags for xfs_bmapi */
5899 int cur_ext = 0;
5899 5900
5900 mp = ip->i_mount; 5901 mp = ip->i_mount;
5901 iflags = bmv->bmv_iflags; 5902 iflags = bmv->bmv_iflags;
5902
5903 whichfork = iflags & BMV_IF_ATTRFORK ? XFS_ATTR_FORK : XFS_DATA_FORK; 5903 whichfork = iflags & BMV_IF_ATTRFORK ? XFS_ATTR_FORK : XFS_DATA_FORK;
5904 5904
5905 /* If the BMV_IF_NO_DMAPI_READ interface bit specified, do not
5906 * generate a DMAPI read event. Otherwise, if the DM_EVENT_READ
5907 * bit is set for the file, generate a read event in order
5908 * that the DMAPI application may do its thing before we return
5909 * the extents. Usually this means restoring user file data to
5910 * regions of the file that look like holes.
5911 *
5912 * The "old behavior" (from XFS_IOC_GETBMAP) is to not specify
5913 * BMV_IF_NO_DMAPI_READ so that read events are generated.
5914 * If this were not true, callers of ioctl( XFS_IOC_GETBMAP )
5915 * could misinterpret holes in a DMAPI file as true holes,
5916 * when in fact they may represent offline user data.
5917 */
5918 if ((iflags & BMV_IF_NO_DMAPI_READ) == 0 &&
5919 DM_EVENT_ENABLED(ip, DM_EVENT_READ) &&
5920 whichfork == XFS_DATA_FORK) {
5921 error = XFS_SEND_DATA(mp, DM_EVENT_READ, ip, 0, 0, 0, NULL);
5922 if (error)
5923 return XFS_ERROR(error);
5924 }
5925
5926 if (whichfork == XFS_ATTR_FORK) { 5905 if (whichfork == XFS_ATTR_FORK) {
5927 if (XFS_IFORK_Q(ip)) { 5906 if (XFS_IFORK_Q(ip)) {
5928 if (ip->i_d.di_aformat != XFS_DINODE_FMT_EXTENTS && 5907 if (ip->i_d.di_aformat != XFS_DINODE_FMT_EXTENTS &&
@@ -5936,11 +5915,37 @@ xfs_getbmap(
5936 ip->i_mount); 5915 ip->i_mount);
5937 return XFS_ERROR(EFSCORRUPTED); 5916 return XFS_ERROR(EFSCORRUPTED);
5938 } 5917 }
5939 } else if (ip->i_d.di_format != XFS_DINODE_FMT_EXTENTS && 5918
5940 ip->i_d.di_format != XFS_DINODE_FMT_BTREE && 5919 prealloced = 0;
5941 ip->i_d.di_format != XFS_DINODE_FMT_LOCAL) 5920 fixlen = 1LL << 32;
5942 return XFS_ERROR(EINVAL); 5921 } else {
5943 if (whichfork == XFS_DATA_FORK) { 5922 /*
5923 * If the BMV_IF_NO_DMAPI_READ interface bit specified, do
5924 * not generate a DMAPI read event. Otherwise, if the
5925 * DM_EVENT_READ bit is set for the file, generate a read
5926 * event in order that the DMAPI application may do its thing
5927 * before we return the extents. Usually this means restoring
5928 * user file data to regions of the file that look like holes.
5929 *
5930 * The "old behavior" (from XFS_IOC_GETBMAP) is to not specify
5931 * BMV_IF_NO_DMAPI_READ so that read events are generated.
5932 * If this were not true, callers of ioctl(XFS_IOC_GETBMAP)
5933 * could misinterpret holes in a DMAPI file as true holes,
5934 * when in fact they may represent offline user data.
5935 */
5936 if (DM_EVENT_ENABLED(ip, DM_EVENT_READ) &&
5937 !(iflags & BMV_IF_NO_DMAPI_READ)) {
5938 error = XFS_SEND_DATA(mp, DM_EVENT_READ, ip,
5939 0, 0, 0, NULL);
5940 if (error)
5941 return XFS_ERROR(error);
5942 }
5943
5944 if (ip->i_d.di_format != XFS_DINODE_FMT_EXTENTS &&
5945 ip->i_d.di_format != XFS_DINODE_FMT_BTREE &&
5946 ip->i_d.di_format != XFS_DINODE_FMT_LOCAL)
5947 return XFS_ERROR(EINVAL);
5948
5944 if (xfs_get_extsz_hint(ip) || 5949 if (xfs_get_extsz_hint(ip) ||
5945 ip->i_d.di_flags & (XFS_DIFLAG_PREALLOC|XFS_DIFLAG_APPEND)){ 5950 ip->i_d.di_flags & (XFS_DIFLAG_PREALLOC|XFS_DIFLAG_APPEND)){
5946 prealloced = 1; 5951 prealloced = 1;
@@ -5949,42 +5954,41 @@ xfs_getbmap(
5949 prealloced = 0; 5954 prealloced = 0;
5950 fixlen = ip->i_size; 5955 fixlen = ip->i_size;
5951 } 5956 }
5952 } else {
5953 prealloced = 0;
5954 fixlen = 1LL << 32;
5955 } 5957 }
5956 5958
5957 if (bmv->bmv_length == -1) { 5959 if (bmv->bmv_length == -1) {
5958 fixlen = XFS_FSB_TO_BB(mp, XFS_B_TO_FSB(mp, fixlen)); 5960 fixlen = XFS_FSB_TO_BB(mp, XFS_B_TO_FSB(mp, fixlen));
5959 bmv->bmv_length = MAX( (__int64_t)(fixlen - bmv->bmv_offset), 5961 bmv->bmv_length =
5960 (__int64_t)0); 5962 max_t(__int64_t, fixlen - bmv->bmv_offset, 0);
5961 } else if (bmv->bmv_length < 0) 5963 } else if (bmv->bmv_length == 0) {
5962 return XFS_ERROR(EINVAL);
5963 if (bmv->bmv_length == 0) {
5964 bmv->bmv_entries = 0; 5964 bmv->bmv_entries = 0;
5965 return 0; 5965 return 0;
5966 } else if (bmv->bmv_length < 0) {
5967 return XFS_ERROR(EINVAL);
5966 } 5968 }
5969
5967 nex = bmv->bmv_count - 1; 5970 nex = bmv->bmv_count - 1;
5968 if (nex <= 0) 5971 if (nex <= 0)
5969 return XFS_ERROR(EINVAL); 5972 return XFS_ERROR(EINVAL);
5970 bmvend = bmv->bmv_offset + bmv->bmv_length; 5973 bmvend = bmv->bmv_offset + bmv->bmv_length;
5971 5974
5972 xfs_ilock(ip, XFS_IOLOCK_SHARED);
5973 5975
5974 if (((iflags & BMV_IF_DELALLOC) == 0) && 5976 if (bmv->bmv_count > ULONG_MAX / sizeof(struct getbmapx))
5975 (whichfork == XFS_DATA_FORK) && 5977 return XFS_ERROR(ENOMEM);
5976 (ip->i_delayed_blks || ip->i_size > ip->i_d.di_size)) { 5978 out = kmem_zalloc(bmv->bmv_count * sizeof(struct getbmapx), KM_MAYFAIL);
5977 /* xfs_fsize_t last_byte = xfs_file_last_byte(ip); */ 5979 if (!out)
5978 error = xfs_flush_pages(ip, (xfs_off_t)0, 5980 return XFS_ERROR(ENOMEM);
5979 -1, 0, FI_REMAPF); 5981
5980 if (error) { 5982 xfs_ilock(ip, XFS_IOLOCK_SHARED);
5981 xfs_iunlock(ip, XFS_IOLOCK_SHARED); 5983 if (whichfork == XFS_DATA_FORK && !(iflags & BMV_IF_DELALLOC)) {
5982 return error; 5984 if (ip->i_delayed_blks || ip->i_size > ip->i_d.di_size) {
5985 error = xfs_flush_pages(ip, 0, -1, 0, FI_REMAPF);
5986 if (error)
5987 goto out_unlock_iolock;
5983 } 5988 }
5984 }
5985 5989
5986 ASSERT(whichfork == XFS_ATTR_FORK || (iflags & BMV_IF_DELALLOC) || 5990 ASSERT(ip->i_delayed_blks == 0);
5987 ip->i_delayed_blks == 0); 5991 }
5988 5992
5989 lock = xfs_ilock_map_shared(ip); 5993 lock = xfs_ilock_map_shared(ip);
5990 5994
@@ -5995,23 +5999,25 @@ xfs_getbmap(
5995 if (nex > XFS_IFORK_NEXTENTS(ip, whichfork) * 2 + 1) 5999 if (nex > XFS_IFORK_NEXTENTS(ip, whichfork) * 2 + 1)
5996 nex = XFS_IFORK_NEXTENTS(ip, whichfork) * 2 + 1; 6000 nex = XFS_IFORK_NEXTENTS(ip, whichfork) * 2 + 1;
5997 6001
5998 bmapi_flags = xfs_bmapi_aflag(whichfork) | 6002 bmapi_flags = xfs_bmapi_aflag(whichfork);
5999 ((iflags & BMV_IF_PREALLOC) ? 0 : XFS_BMAPI_IGSTATE); 6003 if (!(iflags & BMV_IF_PREALLOC))
6004 bmapi_flags |= XFS_BMAPI_IGSTATE;
6000 6005
6001 /* 6006 /*
6002 * Allocate enough space to handle "subnex" maps at a time. 6007 * Allocate enough space to handle "subnex" maps at a time.
6003 */ 6008 */
6009 error = ENOMEM;
6004 subnex = 16; 6010 subnex = 16;
6005 map = kmem_alloc(subnex * sizeof(*map), KM_SLEEP); 6011 map = kmem_alloc(subnex * sizeof(*map), KM_MAYFAIL);
6012 if (!map)
6013 goto out_unlock_ilock;
6006 6014
6007 bmv->bmv_entries = 0; 6015 bmv->bmv_entries = 0;
6008 6016
6009 if ((XFS_IFORK_NEXTENTS(ip, whichfork) == 0)) { 6017 if (XFS_IFORK_NEXTENTS(ip, whichfork) == 0 &&
6010 if (((iflags & BMV_IF_DELALLOC) == 0) || 6018 (whichfork == XFS_ATTR_FORK || !(iflags & BMV_IF_DELALLOC))) {
6011 whichfork == XFS_ATTR_FORK) { 6019 error = 0;
6012 error = 0; 6020 goto out_free_map;
6013 goto unlock_and_return;
6014 }
6015 } 6021 }
6016 6022
6017 nexleft = nex; 6023 nexleft = nex;
@@ -6023,53 +6029,61 @@ xfs_getbmap(
6023 bmapi_flags, NULL, 0, map, &nmap, 6029 bmapi_flags, NULL, 0, map, &nmap,
6024 NULL, NULL); 6030 NULL, NULL);
6025 if (error) 6031 if (error)
6026 goto unlock_and_return; 6032 goto out_free_map;
6027 ASSERT(nmap <= subnex); 6033 ASSERT(nmap <= subnex);
6028 6034
6029 for (i = 0; i < nmap && nexleft && bmv->bmv_length; i++) { 6035 for (i = 0; i < nmap && nexleft && bmv->bmv_length; i++) {
6030 out.bmv_oflags = 0; 6036 out[cur_ext].bmv_oflags = 0;
6031 if (map[i].br_state == XFS_EXT_UNWRITTEN) 6037 if (map[i].br_state == XFS_EXT_UNWRITTEN)
6032 out.bmv_oflags |= BMV_OF_PREALLOC; 6038 out[cur_ext].bmv_oflags |= BMV_OF_PREALLOC;
6033 else if (map[i].br_startblock == DELAYSTARTBLOCK) 6039 else if (map[i].br_startblock == DELAYSTARTBLOCK)
6034 out.bmv_oflags |= BMV_OF_DELALLOC; 6040 out[cur_ext].bmv_oflags |= BMV_OF_DELALLOC;
6035 out.bmv_offset = XFS_FSB_TO_BB(mp, map[i].br_startoff); 6041 out[cur_ext].bmv_offset =
6036 out.bmv_length = XFS_FSB_TO_BB(mp, map[i].br_blockcount); 6042 XFS_FSB_TO_BB(mp, map[i].br_startoff);
6037 out.bmv_unused1 = out.bmv_unused2 = 0; 6043 out[cur_ext].bmv_length =
6044 XFS_FSB_TO_BB(mp, map[i].br_blockcount);
6045 out[cur_ext].bmv_unused1 = 0;
6046 out[cur_ext].bmv_unused2 = 0;
6038 ASSERT(((iflags & BMV_IF_DELALLOC) != 0) || 6047 ASSERT(((iflags & BMV_IF_DELALLOC) != 0) ||
6039 (map[i].br_startblock != DELAYSTARTBLOCK)); 6048 (map[i].br_startblock != DELAYSTARTBLOCK));
6040 if (map[i].br_startblock == HOLESTARTBLOCK && 6049 if (map[i].br_startblock == HOLESTARTBLOCK &&
6041 whichfork == XFS_ATTR_FORK) { 6050 whichfork == XFS_ATTR_FORK) {
6042 /* came to the end of attribute fork */ 6051 /* came to the end of attribute fork */
6043 out.bmv_oflags |= BMV_OF_LAST; 6052 out[cur_ext].bmv_oflags |= BMV_OF_LAST;
6044 goto unlock_and_return; 6053 goto out_free_map;
6045 } else {
6046 int full = 0; /* user array is full */
6047
6048 if (!xfs_getbmapx_fix_eof_hole(ip, &out,
6049 prealloced, bmvend,
6050 map[i].br_startblock)) {
6051 goto unlock_and_return;
6052 }
6053
6054 /* format results & advance arg */
6055 error = formatter(&arg, &out, &full);
6056 if (error || full)
6057 goto unlock_and_return;
6058 nexleft--;
6059 bmv->bmv_offset =
6060 out.bmv_offset + out.bmv_length;
6061 bmv->bmv_length = MAX((__int64_t)0,
6062 (__int64_t)(bmvend - bmv->bmv_offset));
6063 bmv->bmv_entries++;
6064 } 6054 }
6055
6056 if (!xfs_getbmapx_fix_eof_hole(ip, &out[cur_ext],
6057 prealloced, bmvend,
6058 map[i].br_startblock))
6059 goto out_free_map;
6060
6061 nexleft--;
6062 bmv->bmv_offset =
6063 out[cur_ext].bmv_offset +
6064 out[cur_ext].bmv_length;
6065 bmv->bmv_length =
6066 max_t(__int64_t, 0, bmvend - bmv->bmv_offset);
6067 bmv->bmv_entries++;
6068 cur_ext++;
6065 } 6069 }
6066 } while (nmap && nexleft && bmv->bmv_length); 6070 } while (nmap && nexleft && bmv->bmv_length);
6067 6071
6068unlock_and_return: 6072 out_free_map:
6073 kmem_free(map);
6074 out_unlock_ilock:
6069 xfs_iunlock_map_shared(ip, lock); 6075 xfs_iunlock_map_shared(ip, lock);
6076 out_unlock_iolock:
6070 xfs_iunlock(ip, XFS_IOLOCK_SHARED); 6077 xfs_iunlock(ip, XFS_IOLOCK_SHARED);
6071 6078
6072 kmem_free(map); 6079 for (i = 0; i < cur_ext; i++) {
6080 int full = 0; /* user array is full */
6081
6082 /* format results & advance arg */
6083 error = formatter(&arg, &out[i], &full);
6084 if (error || full)
6085 break;
6086 }
6073 6087
6074 return error; 6088 return error;
6075} 6089}
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index e7ae08d1df48..123b20c8cbf2 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -1258,8 +1258,10 @@ xfs_file_last_byte(
1258 * necessary. 1258 * necessary.
1259 */ 1259 */
1260 if (ip->i_df.if_flags & XFS_IFEXTENTS) { 1260 if (ip->i_df.if_flags & XFS_IFEXTENTS) {
1261 xfs_ilock(ip, XFS_ILOCK_SHARED);
1261 error = xfs_bmap_last_offset(NULL, ip, &last_block, 1262 error = xfs_bmap_last_offset(NULL, ip, &last_block,
1262 XFS_DATA_FORK); 1263 XFS_DATA_FORK);
1264 xfs_iunlock(ip, XFS_ILOCK_SHARED);
1263 if (error) { 1265 if (error) {
1264 last_block = 0; 1266 last_block = 0;
1265 } 1267 }
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index b101990df027..65a99725d0cc 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -291,14 +291,17 @@ xfs_mount_validate_sb(
291 sbp->sb_sectsize > XFS_MAX_SECTORSIZE || 291 sbp->sb_sectsize > XFS_MAX_SECTORSIZE ||
292 sbp->sb_sectlog < XFS_MIN_SECTORSIZE_LOG || 292 sbp->sb_sectlog < XFS_MIN_SECTORSIZE_LOG ||
293 sbp->sb_sectlog > XFS_MAX_SECTORSIZE_LOG || 293 sbp->sb_sectlog > XFS_MAX_SECTORSIZE_LOG ||
294 sbp->sb_sectsize != (1 << sbp->sb_sectlog) ||
294 sbp->sb_blocksize < XFS_MIN_BLOCKSIZE || 295 sbp->sb_blocksize < XFS_MIN_BLOCKSIZE ||
295 sbp->sb_blocksize > XFS_MAX_BLOCKSIZE || 296 sbp->sb_blocksize > XFS_MAX_BLOCKSIZE ||
296 sbp->sb_blocklog < XFS_MIN_BLOCKSIZE_LOG || 297 sbp->sb_blocklog < XFS_MIN_BLOCKSIZE_LOG ||
297 sbp->sb_blocklog > XFS_MAX_BLOCKSIZE_LOG || 298 sbp->sb_blocklog > XFS_MAX_BLOCKSIZE_LOG ||
299 sbp->sb_blocksize != (1 << sbp->sb_blocklog) ||
298 sbp->sb_inodesize < XFS_DINODE_MIN_SIZE || 300 sbp->sb_inodesize < XFS_DINODE_MIN_SIZE ||
299 sbp->sb_inodesize > XFS_DINODE_MAX_SIZE || 301 sbp->sb_inodesize > XFS_DINODE_MAX_SIZE ||
300 sbp->sb_inodelog < XFS_DINODE_MIN_LOG || 302 sbp->sb_inodelog < XFS_DINODE_MIN_LOG ||
301 sbp->sb_inodelog > XFS_DINODE_MAX_LOG || 303 sbp->sb_inodelog > XFS_DINODE_MAX_LOG ||
304 sbp->sb_inodesize != (1 << sbp->sb_inodelog) ||
302 (sbp->sb_blocklog - sbp->sb_inodelog != sbp->sb_inopblog) || 305 (sbp->sb_blocklog - sbp->sb_inodelog != sbp->sb_inopblog) ||
303 (sbp->sb_rextsize * sbp->sb_blocksize > XFS_MAX_RTEXTSIZE) || 306 (sbp->sb_rextsize * sbp->sb_blocksize > XFS_MAX_RTEXTSIZE) ||
304 (sbp->sb_rextsize * sbp->sb_blocksize < XFS_MIN_RTEXTSIZE) || 307 (sbp->sb_rextsize * sbp->sb_blocksize < XFS_MIN_RTEXTSIZE) ||
diff --git a/include/asm-generic/atomic.h b/include/asm-generic/atomic.h
index 7abdaa91ccd3..3673a13b6703 100644
--- a/include/asm-generic/atomic.h
+++ b/include/asm-generic/atomic.h
@@ -132,9 +132,9 @@ static inline long atomic_long_add_unless(atomic_long_t *l, long a, long u)
132#define atomic_long_inc_not_zero(l) atomic64_inc_not_zero((atomic64_t *)(l)) 132#define atomic_long_inc_not_zero(l) atomic64_inc_not_zero((atomic64_t *)(l))
133 133
134#define atomic_long_cmpxchg(l, old, new) \ 134#define atomic_long_cmpxchg(l, old, new) \
135 (atomic_cmpxchg((atomic64_t *)(l), (old), (new))) 135 (atomic64_cmpxchg((atomic64_t *)(l), (old), (new)))
136#define atomic_long_xchg(v, new) \ 136#define atomic_long_xchg(v, new) \
137 (atomic_xchg((atomic64_t *)(l), (new))) 137 (atomic64_xchg((atomic64_t *)(l), (new)))
138 138
139#else /* BITS_PER_LONG == 64 */ 139#else /* BITS_PER_LONG == 64 */
140 140
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
index e727fe0d1451..4b6755984d24 100644
--- a/include/asm-generic/bug.h
+++ b/include/asm-generic/bug.h
@@ -58,12 +58,13 @@ struct bug_entry {
58 */ 58 */
59#ifndef __WARN 59#ifndef __WARN
60#ifndef __ASSEMBLY__ 60#ifndef __ASSEMBLY__
61extern void warn_slowpath(const char *file, const int line, 61extern void warn_slowpath_fmt(const char *file, const int line,
62 const char *fmt, ...) __attribute__((format(printf, 3, 4))); 62 const char *fmt, ...) __attribute__((format(printf, 3, 4)));
63extern void warn_slowpath_null(const char *file, const int line);
63#define WANT_WARN_ON_SLOWPATH 64#define WANT_WARN_ON_SLOWPATH
64#endif 65#endif
65#define __WARN() warn_slowpath(__FILE__, __LINE__, NULL) 66#define __WARN() warn_slowpath_null(__FILE__, __LINE__)
66#define __WARN_printf(arg...) warn_slowpath(__FILE__, __LINE__, arg) 67#define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg)
67#else 68#else
68#define __WARN_printf(arg...) do { printk(arg); __WARN(); } while (0) 69#define __WARN_printf(arg...) do { printk(arg); __WARN(); } while (0)
69#endif 70#endif
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
index 95962fa8398a..8e1e92583fbc 100644
--- a/include/drm/i915_drm.h
+++ b/include/drm/i915_drm.h
@@ -184,6 +184,7 @@ typedef struct _drm_i915_sarea {
184#define DRM_I915_GEM_GET_TILING 0x22 184#define DRM_I915_GEM_GET_TILING 0x22
185#define DRM_I915_GEM_GET_APERTURE 0x23 185#define DRM_I915_GEM_GET_APERTURE 0x23
186#define DRM_I915_GEM_MMAP_GTT 0x24 186#define DRM_I915_GEM_MMAP_GTT 0x24
187#define DRM_I915_GET_PIPE_FROM_CRTC_ID 0x25
187 188
188#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) 189#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
189#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) 190#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
@@ -219,6 +220,7 @@ typedef struct _drm_i915_sarea {
219#define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling) 220#define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling)
220#define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling) 221#define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling)
221#define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture) 222#define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture)
223#define DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GET_PIPE_FROM_CRTC_ID, struct drm_intel_get_pipe_from_crtc_id)
222 224
223/* Allow drivers to submit batchbuffers directly to hardware, relying 225/* Allow drivers to submit batchbuffers directly to hardware, relying
224 * on the security mechanisms provided by hardware. 226 * on the security mechanisms provided by hardware.
@@ -657,4 +659,12 @@ struct drm_i915_gem_get_aperture {
657 __u64 aper_available_size; 659 __u64 aper_available_size;
658}; 660};
659 661
662struct drm_i915_get_pipe_from_crtc_id {
663 /** ID of CRTC being requested **/
664 __u32 crtc_id;
665
666 /** pipe of requested CRTC **/
667 __u32 pipe;
668};
669
660#endif /* _I915_DRM_H_ */ 670#endif /* _I915_DRM_H_ */
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index ca9b9b9bd331..3f0eaa397ef5 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -138,6 +138,7 @@ header-y += qnxtypes.h
138header-y += radeonfb.h 138header-y += radeonfb.h
139header-y += raw.h 139header-y += raw.h
140header-y += resource.h 140header-y += resource.h
141header-y += romfs_fs.h
141header-y += rose.h 142header-y += rose.h
142header-y += serial_reg.h 143header-y += serial_reg.h
143header-y += smbno.h 144header-y += smbno.h
@@ -314,7 +315,6 @@ unifdef-y += irqnr.h
314unifdef-y += reboot.h 315unifdef-y += reboot.h
315unifdef-y += reiserfs_fs.h 316unifdef-y += reiserfs_fs.h
316unifdef-y += reiserfs_xattr.h 317unifdef-y += reiserfs_xattr.h
317unifdef-y += romfs_fs.h
318unifdef-y += route.h 318unifdef-y += route.h
319unifdef-y += rtc.h 319unifdef-y += rtc.h
320unifdef-y += rtnetlink.h 320unifdef-y += rtnetlink.h
diff --git a/include/linux/ata.h b/include/linux/ata.h
index cb79b7a208e1..915da43edee1 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -730,6 +730,34 @@ static inline int ata_id_has_unload(const u16 *id)
730 return 0; 730 return 0;
731} 731}
732 732
733static inline int ata_id_form_factor(const u16 *id)
734{
735 u16 val = id[168];
736
737 if (ata_id_major_version(id) < 7 || val == 0 || val == 0xffff)
738 return 0;
739
740 val &= 0xf;
741
742 if (val > 5)
743 return 0;
744
745 return val;
746}
747
748static inline int ata_id_rotation_rate(const u16 *id)
749{
750 u16 val = id[217];
751
752 if (ata_id_major_version(id) < 7 || val == 0 || val == 0xffff)
753 return 0;
754
755 if (val > 1 && val < 0x401)
756 return 0;
757
758 return val;
759}
760
733static inline int ata_id_has_trim(const u16 *id) 761static inline int ata_id_has_trim(const u16 *id)
734{ 762{
735 if (ata_id_major_version(id) >= 7 && 763 if (ata_id_major_version(id) >= 7 &&
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h
index 6638b8148de7..61ee18c1bdb4 100644
--- a/include/linux/binfmts.h
+++ b/include/linux/binfmts.h
@@ -82,7 +82,19 @@ struct linux_binfmt {
82 int hasvdso; 82 int hasvdso;
83}; 83};
84 84
85extern int register_binfmt(struct linux_binfmt *); 85extern int __register_binfmt(struct linux_binfmt *fmt, int insert);
86
87/* Registration of default binfmt handlers */
88static inline int register_binfmt(struct linux_binfmt *fmt)
89{
90 return __register_binfmt(fmt, 0);
91}
92/* Same as above, but adds a new binfmt at the top of the list */
93static inline int insert_binfmt(struct linux_binfmt *fmt)
94{
95 return __register_binfmt(fmt, 1);
96}
97
86extern void unregister_binfmt(struct linux_binfmt *); 98extern void unregister_binfmt(struct linux_binfmt *);
87 99
88extern int prepare_binprm(struct linux_binprm *); 100extern int prepare_binprm(struct linux_binprm *);
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 2755d5c6da22..b4f71f1a4af7 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -601,6 +601,7 @@ enum {
601 blk_failfast_driver(rq)) 601 blk_failfast_driver(rq))
602#define blk_rq_started(rq) ((rq)->cmd_flags & REQ_STARTED) 602#define blk_rq_started(rq) ((rq)->cmd_flags & REQ_STARTED)
603#define blk_rq_io_stat(rq) ((rq)->cmd_flags & REQ_IO_STAT) 603#define blk_rq_io_stat(rq) ((rq)->cmd_flags & REQ_IO_STAT)
604#define blk_rq_quiet(rq) ((rq)->cmd_flags & REQ_QUIET)
604 605
605#define blk_account_rq(rq) (blk_rq_started(rq) && (blk_fs_request(rq) || blk_discard_rq(rq))) 606#define blk_account_rq(rq) (blk_rq_started(rq) && (blk_fs_request(rq) || blk_discard_rq(rq)))
606 607
diff --git a/include/linux/device.h b/include/linux/device.h
index 6a69caaac18a..5d5c197bad45 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -384,13 +384,8 @@ struct device {
384 struct device_driver *driver; /* which driver has allocated this 384 struct device_driver *driver; /* which driver has allocated this
385 device */ 385 device */
386 void *driver_data; /* data private to the driver */ 386 void *driver_data; /* data private to the driver */
387 387 void *platform_data; /* Platform specific data, device
388 void *platform_data; /* We will remove platform_data 388 core doesn't touch it */
389 field if all platform devices
390 pass its platform specific data
391 from platform_device->platform_data,
392 other kind of devices should not
393 use platform_data. */
394 struct dev_pm_info power; 389 struct dev_pm_info power;
395 390
396#ifdef CONFIG_NUMA 391#ifdef CONFIG_NUMA
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 2e2aa3df170c..ffefba81c818 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -78,12 +78,18 @@ enum dma_transaction_type {
78 * dependency chains 78 * dependency chains
79 * @DMA_COMPL_SKIP_SRC_UNMAP - set to disable dma-unmapping the source buffer(s) 79 * @DMA_COMPL_SKIP_SRC_UNMAP - set to disable dma-unmapping the source buffer(s)
80 * @DMA_COMPL_SKIP_DEST_UNMAP - set to disable dma-unmapping the destination(s) 80 * @DMA_COMPL_SKIP_DEST_UNMAP - set to disable dma-unmapping the destination(s)
81 * @DMA_COMPL_SRC_UNMAP_SINGLE - set to do the source dma-unmapping as single
82 * (if not set, do the source dma-unmapping as page)
83 * @DMA_COMPL_DEST_UNMAP_SINGLE - set to do the destination dma-unmapping as single
84 * (if not set, do the destination dma-unmapping as page)
81 */ 85 */
82enum dma_ctrl_flags { 86enum dma_ctrl_flags {
83 DMA_PREP_INTERRUPT = (1 << 0), 87 DMA_PREP_INTERRUPT = (1 << 0),
84 DMA_CTRL_ACK = (1 << 1), 88 DMA_CTRL_ACK = (1 << 1),
85 DMA_COMPL_SKIP_SRC_UNMAP = (1 << 2), 89 DMA_COMPL_SKIP_SRC_UNMAP = (1 << 2),
86 DMA_COMPL_SKIP_DEST_UNMAP = (1 << 3), 90 DMA_COMPL_SKIP_DEST_UNMAP = (1 << 3),
91 DMA_COMPL_SRC_UNMAP_SINGLE = (1 << 4),
92 DMA_COMPL_DEST_UNMAP_SINGLE = (1 << 5),
87}; 93};
88 94
89/** 95/**
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5bed436f4353..3b534e527e09 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1775,6 +1775,7 @@ void kill_block_super(struct super_block *sb);
1775void kill_anon_super(struct super_block *sb); 1775void kill_anon_super(struct super_block *sb);
1776void kill_litter_super(struct super_block *sb); 1776void kill_litter_super(struct super_block *sb);
1777void deactivate_super(struct super_block *sb); 1777void deactivate_super(struct super_block *sb);
1778void deactivate_locked_super(struct super_block *sb);
1778int set_anon_super(struct super_block *s, void *data); 1779int set_anon_super(struct super_block *s, void *data);
1779struct super_block *sget(struct file_system_type *type, 1780struct super_block *sget(struct file_system_type *type,
1780 int (*test)(struct super_block *,void *), 1781 int (*test)(struct super_block *,void *),
@@ -2117,7 +2118,7 @@ extern struct file *create_write_pipe(int flags);
2117extern void free_write_pipe(struct file *); 2118extern void free_write_pipe(struct file *);
2118 2119
2119extern struct file *do_filp_open(int dfd, const char *pathname, 2120extern struct file *do_filp_open(int dfd, const char *pathname,
2120 int open_flag, int mode); 2121 int open_flag, int mode, int acc_mode);
2121extern int may_open(struct path *, int, int); 2122extern int may_open(struct path *, int, int);
2122 2123
2123extern int kernel_read(struct file *, unsigned long, char *, unsigned long); 2124extern int kernel_read(struct file *, unsigned long, char *, unsigned long);
@@ -2367,6 +2368,7 @@ extern void file_update_time(struct file *file);
2367 2368
2368extern int generic_show_options(struct seq_file *m, struct vfsmount *mnt); 2369extern int generic_show_options(struct seq_file *m, struct vfsmount *mnt);
2369extern void save_mount_options(struct super_block *sb, char *options); 2370extern void save_mount_options(struct super_block *sb, char *options);
2371extern void replace_mount_options(struct super_block *sb, char *options);
2370 2372
2371static inline ino_t parent_ino(struct dentry *dentry) 2373static inline ino_t parent_ino(struct dentry *dentry)
2372{ 2374{
diff --git a/include/linux/input.h b/include/linux/input.h
index 6b28048fc568..0e6ff5de3588 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -106,6 +106,7 @@ struct input_absinfo {
106 106
107#define SYN_REPORT 0 107#define SYN_REPORT 0
108#define SYN_CONFIG 1 108#define SYN_CONFIG 1
109#define SYN_MT_REPORT 2
109 110
110/* 111/*
111 * Keys and buttons 112 * Keys and buttons
@@ -445,6 +446,7 @@ struct input_absinfo {
445#define BTN_STYLUS2 0x14c 446#define BTN_STYLUS2 0x14c
446#define BTN_TOOL_DOUBLETAP 0x14d 447#define BTN_TOOL_DOUBLETAP 0x14d
447#define BTN_TOOL_TRIPLETAP 0x14e 448#define BTN_TOOL_TRIPLETAP 0x14e
449#define BTN_TOOL_QUADTAP 0x14f /* Four fingers on trackpad */
448 450
449#define BTN_WHEEL 0x150 451#define BTN_WHEEL 0x150
450#define BTN_GEAR_DOWN 0x150 452#define BTN_GEAR_DOWN 0x150
@@ -644,6 +646,17 @@ struct input_absinfo {
644#define ABS_TOOL_WIDTH 0x1c 646#define ABS_TOOL_WIDTH 0x1c
645#define ABS_VOLUME 0x20 647#define ABS_VOLUME 0x20
646#define ABS_MISC 0x28 648#define ABS_MISC 0x28
649
650#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */
651#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */
652#define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */
653#define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */
654#define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */
655#define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */
656#define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */
657#define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */
658#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */
659
647#define ABS_MAX 0x3f 660#define ABS_MAX 0x3f
648#define ABS_CNT (ABS_MAX+1) 661#define ABS_CNT (ABS_MAX+1)
649 662
@@ -743,6 +756,12 @@ struct input_absinfo {
743#define BUS_ATARI 0x1B 756#define BUS_ATARI 0x1B
744 757
745/* 758/*
759 * MT_TOOL types
760 */
761#define MT_TOOL_FINGER 0
762#define MT_TOOL_PEN 1
763
764/*
746 * Values describing the status of a force-feedback effect 765 * Values describing the status of a force-feedback effect
747 */ 766 */
748#define FF_STATUS_STOPPED 0x00 767#define FF_STATUS_STOPPED 0x00
@@ -1311,6 +1330,11 @@ static inline void input_sync(struct input_dev *dev)
1311 input_event(dev, EV_SYN, SYN_REPORT, 0); 1330 input_event(dev, EV_SYN, SYN_REPORT, 0);
1312} 1331}
1313 1332
1333static inline void input_mt_sync(struct input_dev *dev)
1334{
1335 input_event(dev, EV_SYN, SYN_MT_REPORT, 0);
1336}
1337
1314void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int code); 1338void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int code);
1315 1339
1316static inline void input_set_abs_params(struct input_dev *dev, int axis, int min, int max, int fuzz, int flat) 1340static inline void input_set_abs_params(struct input_dev *dev, int axis, int min, int max, int fuzz, int flat)
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index a9e3b76aa884..25b9ca93d232 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -56,7 +56,7 @@ extern void mem_cgroup_move_lists(struct page *page,
56 enum lru_list from, enum lru_list to); 56 enum lru_list from, enum lru_list to);
57extern void mem_cgroup_uncharge_page(struct page *page); 57extern void mem_cgroup_uncharge_page(struct page *page);
58extern void mem_cgroup_uncharge_cache_page(struct page *page); 58extern void mem_cgroup_uncharge_cache_page(struct page *page);
59extern int mem_cgroup_shrink_usage(struct page *page, 59extern int mem_cgroup_shmem_charge_fallback(struct page *page,
60 struct mm_struct *mm, gfp_t gfp_mask); 60 struct mm_struct *mm, gfp_t gfp_mask);
61 61
62extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, 62extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan,
@@ -155,7 +155,7 @@ static inline void mem_cgroup_uncharge_cache_page(struct page *page)
155{ 155{
156} 156}
157 157
158static inline int mem_cgroup_shrink_usage(struct page *page, 158static inline int mem_cgroup_shmem_charge_fallback(struct page *page,
159 struct mm_struct *mm, gfp_t gfp_mask) 159 struct mm_struct *mm, gfp_t gfp_mask)
160{ 160{
161 return 0; 161 return 0;
diff --git a/include/linux/mman.h b/include/linux/mman.h
index 30d1073bac3b..9872d6ca58ae 100644
--- a/include/linux/mman.h
+++ b/include/linux/mman.h
@@ -12,21 +12,18 @@
12 12
13#ifdef __KERNEL__ 13#ifdef __KERNEL__
14#include <linux/mm.h> 14#include <linux/mm.h>
15#include <linux/percpu_counter.h>
15 16
16#include <asm/atomic.h> 17#include <asm/atomic.h>
17 18
18extern int sysctl_overcommit_memory; 19extern int sysctl_overcommit_memory;
19extern int sysctl_overcommit_ratio; 20extern int sysctl_overcommit_ratio;
20extern atomic_long_t vm_committed_space; 21extern struct percpu_counter vm_committed_as;
21 22
22#ifdef CONFIG_SMP
23extern void vm_acct_memory(long pages);
24#else
25static inline void vm_acct_memory(long pages) 23static inline void vm_acct_memory(long pages)
26{ 24{
27 atomic_long_add(pages, &vm_committed_space); 25 percpu_counter_add(&vm_committed_as, pages);
28} 26}
29#endif
30 27
31static inline void vm_unacct_memory(long pages) 28static inline void vm_unacct_memory(long pages)
32{ 29{
diff --git a/include/linux/namei.h b/include/linux/namei.h
index fc2e03579877..518098fe63af 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -69,7 +69,6 @@ extern int path_lookup(const char *, unsigned, struct nameidata *);
69extern int vfs_path_lookup(struct dentry *, struct vfsmount *, 69extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
70 const char *, unsigned int, struct nameidata *); 70 const char *, unsigned int, struct nameidata *);
71 71
72extern int path_lookup_open(int dfd, const char *name, unsigned lookup_flags, struct nameidata *, int open_flags);
73extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, 72extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
74 int (*open)(struct inode *, struct file *)); 73 int (*open)(struct inode *, struct file *));
75extern struct file *nameidata_to_filp(struct nameidata *nd, int flags); 74extern struct file *nameidata_to_filp(struct nameidata *nd, int flags);
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h
index 1b2e43502ef7..c9efe039dc57 100644
--- a/include/linux/netfilter/x_tables.h
+++ b/include/linux/netfilter/x_tables.h
@@ -472,7 +472,7 @@ static inline void xt_info_rdlock_bh(void)
472 472
473 local_bh_disable(); 473 local_bh_disable();
474 lock = &__get_cpu_var(xt_info_locks); 474 lock = &__get_cpu_var(xt_info_locks);
475 if (!lock->readers++) 475 if (likely(!lock->readers++))
476 spin_lock(&lock->lock); 476 spin_lock(&lock->lock);
477} 477}
478 478
@@ -480,7 +480,7 @@ static inline void xt_info_rdunlock_bh(void)
480{ 480{
481 struct xt_info_lock *lock = &__get_cpu_var(xt_info_locks); 481 struct xt_info_lock *lock = &__get_cpu_var(xt_info_locks);
482 482
483 if (!--lock->readers) 483 if (likely(!--lock->readers))
484 spin_unlock(&lock->lock); 484 spin_unlock(&lock->lock);
485 local_bh_enable(); 485 local_bh_enable();
486} 486}
diff --git a/include/linux/netfilter/xt_LED.h b/include/linux/netfilter/xt_LED.h
index 4c91a0d770d0..f5509e7524d3 100644
--- a/include/linux/netfilter/xt_LED.h
+++ b/include/linux/netfilter/xt_LED.h
@@ -1,6 +1,8 @@
1#ifndef _XT_LED_H 1#ifndef _XT_LED_H
2#define _XT_LED_H 2#define _XT_LED_H
3 3
4#include <linux/types.h>
5
4struct xt_led_info { 6struct xt_led_info {
5 char id[27]; /* Unique ID for this trigger in the LED class */ 7 char id[27]; /* Unique ID for this trigger in the LED class */
6 __u8 always_blink; /* Blink even if the LED is already on */ 8 __u8 always_blink; /* Blink even if the LED is already on */
diff --git a/include/linux/netfilter/xt_cluster.h b/include/linux/netfilter/xt_cluster.h
index 5e0a0d07b526..886682656f09 100644
--- a/include/linux/netfilter/xt_cluster.h
+++ b/include/linux/netfilter/xt_cluster.h
@@ -12,4 +12,6 @@ struct xt_cluster_match_info {
12 u_int32_t flags; 12 u_int32_t flags;
13}; 13};
14 14
15#define XT_CLUSTER_NODES_MAX 32
16
15#endif /* _XT_CLUSTER_MATCH_H */ 17#endif /* _XT_CLUSTER_MATCH_H */
diff --git a/include/linux/nls.h b/include/linux/nls.h
index 6a882208301a..52b1a76c1b43 100644
--- a/include/linux/nls.h
+++ b/include/linux/nls.h
@@ -58,6 +58,25 @@ static inline int nls_strnicmp(struct nls_table *t, const unsigned char *s1,
58 return 0; 58 return 0;
59} 59}
60 60
61/*
62 * nls_nullsize - return length of null character for codepage
63 * @codepage - codepage for which to return length of NULL terminator
64 *
65 * Since we can't guarantee that the null terminator will be a particular
66 * length, we have to check against the codepage. If there's a problem
67 * determining it, assume a single-byte NULL terminator.
68 */
69static inline int
70nls_nullsize(const struct nls_table *codepage)
71{
72 int charlen;
73 char tmp[NLS_MAX_CHARSET_SIZE];
74
75 charlen = codepage->uni2char(0, tmp, NLS_MAX_CHARSET_SIZE);
76
77 return charlen > 0 ? charlen : 1;
78}
79
61#define MODULE_ALIAS_NLS(name) MODULE_ALIAS("nls_" __stringify(name)) 80#define MODULE_ALIAS_NLS(name) MODULE_ALIAS("nls_" __stringify(name))
62 81
63#endif /* _LINUX_NLS_H */ 82#endif /* _LINUX_NLS_H */
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h
index 3d327b67d7e2..908406651330 100644
--- a/include/linux/of_platform.h
+++ b/include/linux/of_platform.h
@@ -51,6 +51,16 @@ extern int of_register_driver(struct of_platform_driver *drv,
51 struct bus_type *bus); 51 struct bus_type *bus);
52extern void of_unregister_driver(struct of_platform_driver *drv); 52extern void of_unregister_driver(struct of_platform_driver *drv);
53 53
54/* Platform drivers register/unregister */
55static inline int of_register_platform_driver(struct of_platform_driver *drv)
56{
57 return of_register_driver(drv, &of_platform_bus_type);
58}
59static inline void of_unregister_platform_driver(struct of_platform_driver *drv)
60{
61 of_unregister_driver(drv);
62}
63
54#include <asm/of_platform.h> 64#include <asm/of_platform.h>
55 65
56extern struct of_device *of_find_device_by_node(struct device_node *np); 66extern struct of_device *of_find_device_by_node(struct device_node *np);
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index 72736fd8223c..b67bb5d7b221 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -20,7 +20,6 @@ struct platform_device {
20 struct device dev; 20 struct device dev;
21 u32 num_resources; 21 u32 num_resources;
22 struct resource * resource; 22 struct resource * resource;
23 void *platform_data;
24 23
25 struct platform_device_id *id_entry; 24 struct platform_device_id *id_entry;
26}; 25};
diff --git a/include/linux/reiserfs_fs_sb.h b/include/linux/reiserfs_fs_sb.h
index 6b361d23a499..6473650c28f1 100644
--- a/include/linux/reiserfs_fs_sb.h
+++ b/include/linux/reiserfs_fs_sb.h
@@ -402,7 +402,7 @@ struct reiserfs_sb_info {
402 int reserved_blocks; /* amount of blocks reserved for further allocations */ 402 int reserved_blocks; /* amount of blocks reserved for further allocations */
403 spinlock_t bitmap_lock; /* this lock on now only used to protect reserved_blocks variable */ 403 spinlock_t bitmap_lock; /* this lock on now only used to protect reserved_blocks variable */
404 struct dentry *priv_root; /* root of /.reiserfs_priv */ 404 struct dentry *priv_root; /* root of /.reiserfs_priv */
405 struct dentry *xattr_root; /* root of /.reiserfs_priv/.xa */ 405 struct dentry *xattr_root; /* root of /.reiserfs_priv/xattrs */
406 int j_errno; 406 int j_errno;
407#ifdef CONFIG_QUOTA 407#ifdef CONFIG_QUOTA
408 char *s_qf_names[MAXQUOTAS]; 408 char *s_qf_names[MAXQUOTAS];
@@ -488,7 +488,6 @@ enum reiserfs_mount_options {
488#define reiserfs_data_log(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_LOG)) 488#define reiserfs_data_log(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_LOG))
489#define reiserfs_data_ordered(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_ORDERED)) 489#define reiserfs_data_ordered(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_ORDERED))
490#define reiserfs_data_writeback(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_WRITEBACK)) 490#define reiserfs_data_writeback(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_DATA_WRITEBACK))
491#define reiserfs_xattrs(s) ((s)->s_xattr != NULL)
492#define reiserfs_xattrs_user(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_XATTRS_USER)) 491#define reiserfs_xattrs_user(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_XATTRS_USER))
493#define reiserfs_posixacl(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_POSIXACL)) 492#define reiserfs_posixacl(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_POSIXACL))
494#define reiserfs_xattrs_optional(s) (reiserfs_xattrs_user(s) || reiserfs_posixacl(s)) 493#define reiserfs_xattrs_optional(s) (reiserfs_xattrs_user(s) || reiserfs_posixacl(s))
diff --git a/include/linux/reiserfs_xattr.h b/include/linux/reiserfs_xattr.h
index dcae01e63e40..cdedc01036e4 100644
--- a/include/linux/reiserfs_xattr.h
+++ b/include/linux/reiserfs_xattr.h
@@ -38,6 +38,7 @@ struct nameidata;
38int reiserfs_xattr_register_handlers(void) __init; 38int reiserfs_xattr_register_handlers(void) __init;
39void reiserfs_xattr_unregister_handlers(void); 39void reiserfs_xattr_unregister_handlers(void);
40int reiserfs_xattr_init(struct super_block *sb, int mount_flags); 40int reiserfs_xattr_init(struct super_block *sb, int mount_flags);
41int reiserfs_lookup_privroot(struct super_block *sb);
41int reiserfs_delete_xattrs(struct inode *inode); 42int reiserfs_delete_xattrs(struct inode *inode);
42int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); 43int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs);
43 44
@@ -97,7 +98,7 @@ static inline size_t reiserfs_xattr_jcreate_nblocks(struct inode *inode)
97 98
98 if ((REISERFS_I(inode)->i_flags & i_has_xattr_dir) == 0) { 99 if ((REISERFS_I(inode)->i_flags & i_has_xattr_dir) == 0) {
99 nblocks += JOURNAL_BLOCKS_PER_OBJECT(inode->i_sb); 100 nblocks += JOURNAL_BLOCKS_PER_OBJECT(inode->i_sb);
100 if (REISERFS_SB(inode->i_sb)->xattr_root == NULL) 101 if (!REISERFS_SB(inode->i_sb)->xattr_root->d_inode)
101 nblocks += JOURNAL_BLOCKS_PER_OBJECT(inode->i_sb); 102 nblocks += JOURNAL_BLOCKS_PER_OBJECT(inode->i_sb);
102 } 103 }
103 104
diff --git a/include/linux/romfs_fs.h b/include/linux/romfs_fs.h
index e20bbf9eb365..c490fbc43fe2 100644
--- a/include/linux/romfs_fs.h
+++ b/include/linux/romfs_fs.h
@@ -53,9 +53,4 @@ struct romfs_inode {
53#define ROMFH_PAD (ROMFH_SIZE-1) 53#define ROMFH_PAD (ROMFH_SIZE-1)
54#define ROMFH_MASK (~ROMFH_PAD) 54#define ROMFH_MASK (~ROMFH_PAD)
55 55
56#ifdef __KERNEL__
57
58/* Not much now */
59
60#endif /* __KERNEL__ */
61#endif 56#endif
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h
index 1758d9f5b5c3..08afe43118f4 100644
--- a/include/linux/sunrpc/xprt.h
+++ b/include/linux/sunrpc/xprt.h
@@ -261,6 +261,7 @@ void xprt_conditional_disconnect(struct rpc_xprt *xprt, unsigned int cookie);
261#define XPRT_BINDING (5) 261#define XPRT_BINDING (5)
262#define XPRT_CLOSING (6) 262#define XPRT_CLOSING (6)
263#define XPRT_CONNECTION_ABORT (7) 263#define XPRT_CONNECTION_ABORT (7)
264#define XPRT_CONNECTION_CLOSE (8)
264 265
265static inline void xprt_set_connected(struct rpc_xprt *xprt) 266static inline void xprt_set_connected(struct rpc_xprt *xprt)
266{ 267{
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 677d159fe5f4..79faae950e2e 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -434,6 +434,7 @@ asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg);
434asmlinkage long sys_fcntl64(unsigned int fd, 434asmlinkage long sys_fcntl64(unsigned int fd,
435 unsigned int cmd, unsigned long arg); 435 unsigned int cmd, unsigned long arg);
436#endif 436#endif
437asmlinkage long sys_pipe2(int __user *fildes, int flags);
437asmlinkage long sys_dup(unsigned int fildes); 438asmlinkage long sys_dup(unsigned int fildes);
438asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd); 439asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd);
439asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags); 440asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags);
diff --git a/include/linux/usb/cdc.h b/include/linux/usb/cdc.h
index 3c86ed25a04c..c24124a42ce5 100644
--- a/include/linux/usb/cdc.h
+++ b/include/linux/usb/cdc.h
@@ -17,6 +17,7 @@
17#define USB_CDC_SUBCLASS_DMM 0x09 17#define USB_CDC_SUBCLASS_DMM 0x09
18#define USB_CDC_SUBCLASS_MDLM 0x0a 18#define USB_CDC_SUBCLASS_MDLM 0x0a
19#define USB_CDC_SUBCLASS_OBEX 0x0b 19#define USB_CDC_SUBCLASS_OBEX 0x0b
20#define USB_CDC_SUBCLASS_EEM 0x0c
20 21
21#define USB_CDC_PROTO_NONE 0 22#define USB_CDC_PROTO_NONE 0
22 23
@@ -28,6 +29,8 @@
28#define USB_CDC_ACM_PROTO_AT_CDMA 6 29#define USB_CDC_ACM_PROTO_AT_CDMA 6
29#define USB_CDC_ACM_PROTO_VENDOR 0xff 30#define USB_CDC_ACM_PROTO_VENDOR 0xff
30 31
32#define USB_CDC_PROTO_EEM 7
33
31/*-------------------------------------------------------------------------*/ 34/*-------------------------------------------------------------------------*/
32 35
33/* 36/*
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
index 242348bb3766..cec79adbe3ea 100644
--- a/include/linux/virtio_net.h
+++ b/include/linux/virtio_net.h
@@ -4,6 +4,7 @@
4 * compatible drivers/servers. */ 4 * compatible drivers/servers. */
5#include <linux/types.h> 5#include <linux/types.h>
6#include <linux/virtio_config.h> 6#include <linux/virtio_config.h>
7#include <linux/if_ether.h>
7 8
8/* The ID for virtio_net */ 9/* The ID for virtio_net */
9#define VIRTIO_ID_NET 1 10#define VIRTIO_ID_NET 1
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index 9c1ed1fb6ddb..93445477f86a 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -168,8 +168,6 @@ void writeback_set_ratelimit(void);
168/* pdflush.c */ 168/* pdflush.c */
169extern int nr_pdflush_threads; /* Global so it can be exported to sysctl 169extern int nr_pdflush_threads; /* Global so it can be exported to sysctl
170 read-only. */ 170 read-only. */
171extern int nr_pdflush_threads_max; /* Global so it can be exported to sysctl */
172extern int nr_pdflush_threads_min; /* Global so it can be exported to sysctl */
173 171
174 172
175#endif /* WRITEBACK_H */ 173#endif /* WRITEBACK_H */
diff --git a/include/net/9p/client.h b/include/net/9p/client.h
index 4012e07162e5..e26812274b75 100644
--- a/include/net/9p/client.h
+++ b/include/net/9p/client.h
@@ -98,7 +98,6 @@ enum p9_req_status_t {
98struct p9_req_t { 98struct p9_req_t {
99 int status; 99 int status;
100 int t_err; 100 int t_err;
101 u16 flush_tag;
102 wait_queue_head_t *wq; 101 wait_queue_head_t *wq;
103 struct p9_fcall *tc; 102 struct p9_fcall *tc;
104 struct p9_fcall *rc; 103 struct p9_fcall *rc;
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index be5bd713d2c9..73aead222b32 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -457,6 +457,7 @@ int hci_recv_fragment(struct hci_dev *hdev, int type, void *data, int count);
457 457
458int hci_register_sysfs(struct hci_dev *hdev); 458int hci_register_sysfs(struct hci_dev *hdev);
459void hci_unregister_sysfs(struct hci_dev *hdev); 459void hci_unregister_sysfs(struct hci_dev *hdev);
460void hci_conn_init_sysfs(struct hci_conn *conn);
460void hci_conn_add_sysfs(struct hci_conn *conn); 461void hci_conn_add_sysfs(struct hci_conn *conn);
461void hci_conn_del_sysfs(struct hci_conn *conn); 462void hci_conn_del_sysfs(struct hci_conn *conn);
462 463
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 1b94b9bfe2dc..646dbe3962ea 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -41,6 +41,7 @@
41#include <net/ip.h> 41#include <net/ip.h>
42#include <net/tcp_states.h> 42#include <net/tcp_states.h>
43#include <net/inet_ecn.h> 43#include <net/inet_ecn.h>
44#include <net/dst.h>
44 45
45#include <linux/seq_file.h> 46#include <linux/seq_file.h>
46 47
@@ -530,6 +531,17 @@ static inline void tcp_fast_path_check(struct sock *sk)
530 tcp_fast_path_on(tp); 531 tcp_fast_path_on(tp);
531} 532}
532 533
534/* Compute the actual rto_min value */
535static inline u32 tcp_rto_min(struct sock *sk)
536{
537 struct dst_entry *dst = __sk_dst_get(sk);
538 u32 rto_min = TCP_RTO_MIN;
539
540 if (dst && dst_metric_locked(dst, RTAX_RTO_MIN))
541 rto_min = dst_metric_rtt(dst, RTAX_RTO_MIN);
542 return rto_min;
543}
544
533/* Compute the actual receive window we are currently advertising. 545/* Compute the actual receive window we are currently advertising.
534 * Rcv_nxt can be after the window if our peer push more data 546 * Rcv_nxt can be after the window if our peer push more data
535 * than the offered window. 547 * than the offered window.
@@ -895,7 +907,7 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb)
895 wake_up_interruptible(sk->sk_sleep); 907 wake_up_interruptible(sk->sk_sleep);
896 if (!inet_csk_ack_scheduled(sk)) 908 if (!inet_csk_ack_scheduled(sk))
897 inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, 909 inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK,
898 (3 * TCP_RTO_MIN) / 4, 910 (3 * tcp_rto_min(sk)) / 4,
899 TCP_RTO_MAX); 911 TCP_RTO_MAX);
900 } 912 }
901 return 1; 913 return 1;
diff --git a/include/scsi/fc/fc_fs.h b/include/scsi/fc/fc_fs.h
index 1b7af3a64c7c..ac4cd38c860e 100644
--- a/include/scsi/fc/fc_fs.h
+++ b/include/scsi/fc/fc_fs.h
@@ -149,6 +149,7 @@ enum fc_rctl {
149 * Well-known fabric addresses. 149 * Well-known fabric addresses.
150 */ 150 */
151enum fc_well_known_fid { 151enum fc_well_known_fid {
152 FC_FID_NONE = 0x000000, /* No destination */
152 FC_FID_BCAST = 0xffffff, /* broadcast */ 153 FC_FID_BCAST = 0xffffff, /* broadcast */
153 FC_FID_FLOGI = 0xfffffe, /* fabric login */ 154 FC_FID_FLOGI = 0xfffffe, /* fabric login */
154 FC_FID_FCTRL = 0xfffffd, /* fabric controller */ 155 FC_FID_FCTRL = 0xfffffd, /* fabric controller */
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
index 0303a6a098cc..45f9cc642c46 100644
--- a/include/scsi/libfc.h
+++ b/include/scsi/libfc.h
@@ -637,6 +637,7 @@ struct fc_disc {
637 enum fc_disc_event); 637 enum fc_disc_event);
638 638
639 struct list_head rports; 639 struct list_head rports;
640 struct list_head rogue_rports;
640 struct fc_lport *lport; 641 struct fc_lport *lport;
641 struct mutex disc_mutex; 642 struct mutex disc_mutex;
642 struct fc_gpn_ft_resp partial_buf; /* partial name buffer */ 643 struct fc_gpn_ft_resp partial_buf; /* partial name buffer */
diff --git a/include/scsi/libiscsi.h b/include/scsi/libiscsi.h
index 7ffaed2f94dd..0289f5745fb9 100644
--- a/include/scsi/libiscsi.h
+++ b/include/scsi/libiscsi.h
@@ -36,6 +36,7 @@ struct scsi_transport_template;
36struct scsi_host_template; 36struct scsi_host_template;
37struct scsi_device; 37struct scsi_device;
38struct Scsi_Host; 38struct Scsi_Host;
39struct scsi_target;
39struct scsi_cmnd; 40struct scsi_cmnd;
40struct socket; 41struct socket;
41struct iscsi_transport; 42struct iscsi_transport;
@@ -350,6 +351,7 @@ extern struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht,
350 bool xmit_can_sleep); 351 bool xmit_can_sleep);
351extern void iscsi_host_remove(struct Scsi_Host *shost); 352extern void iscsi_host_remove(struct Scsi_Host *shost);
352extern void iscsi_host_free(struct Scsi_Host *shost); 353extern void iscsi_host_free(struct Scsi_Host *shost);
354extern int iscsi_target_alloc(struct scsi_target *starget);
353 355
354/* 356/*
355 * session management 357 * session management
diff --git a/include/scsi/osd_protocol.h b/include/scsi/osd_protocol.h
index cd3cbf764650..62b2ab8c69d4 100644
--- a/include/scsi/osd_protocol.h
+++ b/include/scsi/osd_protocol.h
@@ -24,17 +24,18 @@ enum {
24 OSDv1_ADDITIONAL_CDB_LENGTH = 192, 24 OSDv1_ADDITIONAL_CDB_LENGTH = 192,
25 OSDv1_TOTAL_CDB_LEN = OSDv1_ADDITIONAL_CDB_LENGTH + 8, 25 OSDv1_TOTAL_CDB_LEN = OSDv1_ADDITIONAL_CDB_LENGTH + 8,
26 OSDv1_CAP_LEN = 80, 26 OSDv1_CAP_LEN = 80,
27
27 /* Latest supported version */ 28 /* Latest supported version */
28/* OSD_ADDITIONAL_CDB_LENGTH = 216,*/ 29 OSDv2_ADDITIONAL_CDB_LENGTH = 228,
29 OSD_ADDITIONAL_CDB_LENGTH = 30 OSD_ADDITIONAL_CDB_LENGTH =
30 OSDv1_ADDITIONAL_CDB_LENGTH, /* FIXME: Pete rev-001 sup */ 31 OSDv2_ADDITIONAL_CDB_LENGTH,
31 OSD_TOTAL_CDB_LEN = OSD_ADDITIONAL_CDB_LENGTH + 8, 32 OSD_TOTAL_CDB_LEN = OSD_ADDITIONAL_CDB_LENGTH + 8,
32/* OSD_CAP_LEN = 104,*/ 33 OSD_CAP_LEN = 104,
33 OSD_CAP_LEN = OSDv1_CAP_LEN,/* FIXME: Pete rev-001 sup */
34 34
35 OSD_SYSTEMID_LEN = 20, 35 OSD_SYSTEMID_LEN = 20,
36 OSD_CRYPTO_KEYID_SIZE = 20, 36 OSDv1_CRYPTO_KEYID_SIZE = 20,
37 /*FIXME: OSDv2_CRYPTO_KEYID_SIZE = 32,*/ 37 OSDv2_CRYPTO_KEYID_SIZE = 32,
38 OSD_CRYPTO_KEYID_SIZE = OSDv2_CRYPTO_KEYID_SIZE,
38 OSD_CRYPTO_SEED_SIZE = 4, 39 OSD_CRYPTO_SEED_SIZE = 4,
39 OSD_CRYPTO_NONCE_SIZE = 12, 40 OSD_CRYPTO_NONCE_SIZE = 12,
40 OSD_MAX_SENSE_LEN = 252, /* from SPC-3 */ 41 OSD_MAX_SENSE_LEN = 252, /* from SPC-3 */
@@ -164,7 +165,11 @@ struct osd_cdb_head {
164 /* called allocation_length in some commands */ 165 /* called allocation_length in some commands */
165/*32*/ __be64 length; 166/*32*/ __be64 length;
166/*40*/ __be64 start_address; 167/*40*/ __be64 start_address;
167/*48*/ __be32 list_identifier;/* Rarely used */ 168 union {
169/*48*/ __be32 list_identifier;/* Rarely used */
170 /* OSD2r05 5.2.5 CDB continuation length */
171/*48*/ __be32 cdb_continuation_length;
172 };
168 } __packed v2; 173 } __packed v2;
169 }; 174 };
170/*52*/ union { /* selected attributes mode Page/List/Single */ 175/*52*/ union { /* selected attributes mode Page/List/Single */
@@ -204,29 +209,40 @@ struct osd_cdb_head {
204/*80*/ 209/*80*/
205 210
206/*160 v1*/ 211/*160 v1*/
207/*184 v2*/ 212struct osdv1_security_parameters {
208struct osd_security_parameters { 213/*160*/u8 integrity_check_value[OSDv1_CRYPTO_KEYID_SIZE];
209/*160*/u8 integrity_check_value[OSD_CRYPTO_KEYID_SIZE];
210/*180*/u8 request_nonce[OSD_CRYPTO_NONCE_SIZE]; 214/*180*/u8 request_nonce[OSD_CRYPTO_NONCE_SIZE];
211/*192*/osd_cdb_offset data_in_integrity_check_offset; 215/*192*/osd_cdb_offset data_in_integrity_check_offset;
212/*196*/osd_cdb_offset data_out_integrity_check_offset; 216/*196*/osd_cdb_offset data_out_integrity_check_offset;
213} __packed; 217} __packed;
214/*200 v1*/ 218/*200 v1*/
215/*224 v2*/
216 219
217/* FIXME: osdv2_security_parameters */ 220/*184 v2*/
221struct osdv2_security_parameters {
222/*184*/u8 integrity_check_value[OSDv2_CRYPTO_KEYID_SIZE];
223/*216*/u8 request_nonce[OSD_CRYPTO_NONCE_SIZE];
224/*228*/osd_cdb_offset data_in_integrity_check_offset;
225/*232*/osd_cdb_offset data_out_integrity_check_offset;
226} __packed;
227/*236 v2*/
228
229struct osd_security_parameters {
230 union {
231 struct osdv1_security_parameters v1;
232 struct osdv2_security_parameters v2;
233 };
234};
218 235
219struct osdv1_cdb { 236struct osdv1_cdb {
220 struct osd_cdb_head h; 237 struct osd_cdb_head h;
221 u8 caps[OSDv1_CAP_LEN]; 238 u8 caps[OSDv1_CAP_LEN];
222 struct osd_security_parameters sec_params; 239 struct osdv1_security_parameters sec_params;
223} __packed; 240} __packed;
224 241
225struct osdv2_cdb { 242struct osdv2_cdb {
226 struct osd_cdb_head h; 243 struct osd_cdb_head h;
227 u8 caps[OSD_CAP_LEN]; 244 u8 caps[OSD_CAP_LEN];
228 struct osd_security_parameters sec_params; 245 struct osdv2_security_parameters sec_params;
229 /* FIXME: osdv2_security_parameters */
230} __packed; 246} __packed;
231 247
232struct osd_cdb { 248struct osd_cdb {
@@ -301,14 +317,25 @@ struct osd_attributes_list_attrid {
301} __packed; 317} __packed;
302 318
303/* 319/*
320 * NOTE: v1: is not aligned.
321 */
322struct osdv1_attributes_list_element {
323 __be32 attr_page;
324 __be32 attr_id;
325 __be16 attr_bytes; /* valid bytes at attr_val without padding */
326 u8 attr_val[0];
327} __packed;
328
329/*
304 * osd2r03: 7.1.3.3 List entry format for retrieved attributes and 330 * osd2r03: 7.1.3.3 List entry format for retrieved attributes and
305 * for setting attributes 331 * for setting attributes
306 * NOTE: v2 is 8-bytes aligned, v1 is not aligned. 332 * NOTE: v2 is 8-bytes aligned
307 */ 333 */
308struct osd_attributes_list_element { 334struct osdv2_attributes_list_element {
309 __be32 attr_page; 335 __be32 attr_page;
310 __be32 attr_id; 336 __be32 attr_id;
311 __be16 attr_bytes; 337 u8 reserved[6];
338 __be16 attr_bytes; /* valid bytes at attr_val without padding */
312 u8 attr_val[0]; 339 u8 attr_val[0];
313} __packed; 340} __packed;
314 341
@@ -324,13 +351,13 @@ enum {
324 351
325static inline unsigned osdv1_attr_list_elem_size(unsigned len) 352static inline unsigned osdv1_attr_list_elem_size(unsigned len)
326{ 353{
327 return ALIGN(len + sizeof(struct osd_attributes_list_element), 354 return ALIGN(len + sizeof(struct osdv1_attributes_list_element),
328 OSDv1_ATTRIBUTES_ELEM_ALIGN); 355 OSDv1_ATTRIBUTES_ELEM_ALIGN);
329} 356}
330 357
331static inline unsigned osdv2_attr_list_elem_size(unsigned len) 358static inline unsigned osdv2_attr_list_elem_size(unsigned len)
332{ 359{
333 return ALIGN(len + sizeof(struct osd_attributes_list_element), 360 return ALIGN(len + sizeof(struct osdv2_attributes_list_element),
334 OSD_ATTRIBUTES_ELEM_ALIGN); 361 OSD_ATTRIBUTES_ELEM_ALIGN);
335} 362}
336 363
@@ -419,15 +446,35 @@ struct osd_data_out_integrity_info {
419 __be64 data_bytes; 446 __be64 data_bytes;
420 __be64 set_attributes_bytes; 447 __be64 set_attributes_bytes;
421 __be64 get_attributes_bytes; 448 __be64 get_attributes_bytes;
422 __be64 integrity_check_value; 449 __u8 integrity_check_value[OSD_CRYPTO_KEYID_SIZE];
423} __packed; 450} __packed;
424 451
452/* Same osd_data_out_integrity_info is used for OSD2/OSD1. The only difference
453 * Is the sizeof the structure since in OSD1 the last array is smaller. Use
454 * below for version independent handling of this structure
455 */
456static inline int osd_data_out_integrity_info_sizeof(bool is_ver1)
457{
458 return sizeof(struct osd_data_out_integrity_info) -
459 (is_ver1 * (OSDv2_CRYPTO_KEYID_SIZE - OSDv1_CRYPTO_KEYID_SIZE));
460}
461
425struct osd_data_in_integrity_info { 462struct osd_data_in_integrity_info {
426 __be64 data_bytes; 463 __be64 data_bytes;
427 __be64 retrieved_attributes_bytes; 464 __be64 retrieved_attributes_bytes;
428 __be64 integrity_check_value; 465 __u8 integrity_check_value[OSD_CRYPTO_KEYID_SIZE];
429} __packed; 466} __packed;
430 467
468/* Same osd_data_in_integrity_info is used for OSD2/OSD1. The only difference
469 * Is the sizeof the structure since in OSD1 the last array is smaller. Use
470 * below for version independent handling of this structure
471 */
472static inline int osd_data_in_integrity_info_sizeof(bool is_ver1)
473{
474 return sizeof(struct osd_data_in_integrity_info) -
475 (is_ver1 * (OSDv2_CRYPTO_KEYID_SIZE - OSDv1_CRYPTO_KEYID_SIZE));
476}
477
431struct osd_timestamp { 478struct osd_timestamp {
432 u8 time[6]; /* number of milliseconds since 1/1/1970 UT (big endian) */ 479 u8 time[6]; /* number of milliseconds since 1/1/1970 UT (big endian) */
433} __packed; 480} __packed;
@@ -477,7 +524,7 @@ enum osd_capability_bit_masks {
477 524
478 OSD_SEC_CAP_NONE1 = BIT(8), 525 OSD_SEC_CAP_NONE1 = BIT(8),
479 OSD_SEC_CAP_NONE2 = BIT(9), 526 OSD_SEC_CAP_NONE2 = BIT(9),
480 OSD_SEC_CAP_NONE3 = BIT(10), 527 OSD_SEC_GBL_REM = BIT(10), /*v2 only*/
481 OSD_SEC_CAP_QUERY = BIT(11), /*v2 only*/ 528 OSD_SEC_CAP_QUERY = BIT(11), /*v2 only*/
482 OSD_SEC_CAP_M_OBJECT = BIT(12), /*v2 only*/ 529 OSD_SEC_CAP_M_OBJECT = BIT(12), /*v2 only*/
483 OSD_SEC_CAP_POL_SEC = BIT(13), 530 OSD_SEC_CAP_POL_SEC = BIT(13),
@@ -552,8 +599,7 @@ struct osdv1_capability {
552 599
553struct osd_capability { 600struct osd_capability {
554 struct osd_capability_head h; 601 struct osd_capability_head h;
555/* struct osd_cap_object_descriptor od;*/ 602 struct osd_cap_object_descriptor od;
556 struct osdv1_cap_object_descriptor od; /* FIXME: Pete rev-001 sup */
557} __packed; 603} __packed;
558 604
559/** 605/**
diff --git a/include/sound/version.h b/include/sound/version.h
index a7e74e23ad2e..456f1359e1c0 100644
--- a/include/sound/version.h
+++ b/include/sound/version.h
@@ -1,3 +1,3 @@
1/* include/version.h */ 1/* include/version.h */
2#define CONFIG_SND_VERSION "1.0.19" 2#define CONFIG_SND_VERSION "1.0.20"
3#define CONFIG_SND_DATE "" 3#define CONFIG_SND_DATE ""
diff --git a/init/initramfs.c b/init/initramfs.c
index 9ee7b7810417..4c00edc59689 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -574,11 +574,10 @@ static int __init populate_rootfs(void)
574 if (initrd_start) { 574 if (initrd_start) {
575#ifdef CONFIG_BLK_DEV_RAM 575#ifdef CONFIG_BLK_DEV_RAM
576 int fd; 576 int fd;
577 printk(KERN_INFO "checking if image is initramfs...\n"); 577 printk(KERN_INFO "Trying to unpack rootfs image as initramfs...\n");
578 err = unpack_to_rootfs((char *)initrd_start, 578 err = unpack_to_rootfs((char *)initrd_start,
579 initrd_end - initrd_start); 579 initrd_end - initrd_start);
580 if (!err) { 580 if (!err) {
581 printk(KERN_INFO "rootfs image is initramfs; unpacking...\n");
582 free_initrd(); 581 free_initrd();
583 return 0; 582 return 0;
584 } else { 583 } else {
@@ -596,15 +595,11 @@ static int __init populate_rootfs(void)
596 free_initrd(); 595 free_initrd();
597 } 596 }
598#else 597#else
599 printk(KERN_INFO "Unpacking initramfs..."); 598 printk(KERN_INFO "Unpacking initramfs...\n");
600 err = unpack_to_rootfs((char *)initrd_start, 599 err = unpack_to_rootfs((char *)initrd_start,
601 initrd_end - initrd_start); 600 initrd_end - initrd_start);
602 if (err) { 601 if (err)
603 printk(" failed!\n"); 602 printk(KERN_EMERG "Initramfs unpacking failed: %s\n", err);
604 printk(KERN_EMERG "%s\n", err);
605 } else {
606 printk(" done\n");
607 }
608 free_initrd(); 603 free_initrd();
609#endif 604#endif
610 } 605 }
diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c
index a6fe71fd5d1b..713098ee5a02 100644
--- a/kernel/auditfilter.c
+++ b/kernel/auditfilter.c
@@ -1028,7 +1028,7 @@ static void audit_update_watch(struct audit_parent *parent,
1028 1028
1029 if (audit_enabled) { 1029 if (audit_enabled) {
1030 struct audit_buffer *ab; 1030 struct audit_buffer *ab;
1031 ab = audit_log_start(NULL, GFP_KERNEL, 1031 ab = audit_log_start(NULL, GFP_NOFS,
1032 AUDIT_CONFIG_CHANGE); 1032 AUDIT_CONFIG_CHANGE);
1033 audit_log_format(ab, "auid=%u ses=%u", 1033 audit_log_format(ab, "auid=%u ses=%u",
1034 audit_get_loginuid(current), 1034 audit_get_loginuid(current),
@@ -1067,7 +1067,7 @@ static void audit_remove_parent_watches(struct audit_parent *parent)
1067 e = container_of(r, struct audit_entry, rule); 1067 e = container_of(r, struct audit_entry, rule);
1068 if (audit_enabled) { 1068 if (audit_enabled) {
1069 struct audit_buffer *ab; 1069 struct audit_buffer *ab;
1070 ab = audit_log_start(NULL, GFP_KERNEL, 1070 ab = audit_log_start(NULL, GFP_NOFS,
1071 AUDIT_CONFIG_CHANGE); 1071 AUDIT_CONFIG_CHANGE);
1072 audit_log_format(ab, "auid=%u ses=%u", 1072 audit_log_format(ab, "auid=%u ses=%u",
1073 audit_get_loginuid(current), 1073 audit_get_loginuid(current),
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 382109b5baeb..a7267bfd3765 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -1133,8 +1133,7 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
1133 free_cg_links: 1133 free_cg_links:
1134 free_cg_links(&tmp_cg_links); 1134 free_cg_links(&tmp_cg_links);
1135 drop_new_super: 1135 drop_new_super:
1136 up_write(&sb->s_umount); 1136 deactivate_locked_super(sb);
1137 deactivate_super(sb);
1138 return ret; 1137 return ret;
1139} 1138}
1140 1139
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index d82142be8dd2..26e08754744f 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -363,8 +363,6 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
363 irqreturn_t ret, retval = IRQ_NONE; 363 irqreturn_t ret, retval = IRQ_NONE;
364 unsigned int status = 0; 364 unsigned int status = 0;
365 365
366 WARN_ONCE(!in_irq(), "BUG: IRQ handler called from non-hardirq context!");
367
368 if (!(action->flags & IRQF_DISABLED)) 366 if (!(action->flags & IRQF_DISABLED))
369 local_irq_enable_in_hardirq(); 367 local_irq_enable_in_hardirq();
370 368
diff --git a/kernel/kgdb.c b/kernel/kgdb.c
index e4dcfb2272a4..9147a3190c9d 100644
--- a/kernel/kgdb.c
+++ b/kernel/kgdb.c
@@ -1583,8 +1583,8 @@ static void sysrq_handle_gdb(int key, struct tty_struct *tty)
1583 1583
1584static struct sysrq_key_op sysrq_gdb_op = { 1584static struct sysrq_key_op sysrq_gdb_op = {
1585 .handler = sysrq_handle_gdb, 1585 .handler = sysrq_handle_gdb,
1586 .help_msg = "Gdb", 1586 .help_msg = "debug(G)",
1587 .action_msg = "GDB", 1587 .action_msg = "DEBUG",
1588}; 1588};
1589#endif 1589#endif
1590 1590
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index a5e74ddee0e2..c0fa54b276d9 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -319,6 +319,22 @@ struct kprobe __kprobes *get_kprobe(void *addr)
319 return NULL; 319 return NULL;
320} 320}
321 321
322/* Arm a kprobe with text_mutex */
323static void __kprobes arm_kprobe(struct kprobe *kp)
324{
325 mutex_lock(&text_mutex);
326 arch_arm_kprobe(kp);
327 mutex_unlock(&text_mutex);
328}
329
330/* Disarm a kprobe with text_mutex */
331static void __kprobes disarm_kprobe(struct kprobe *kp)
332{
333 mutex_lock(&text_mutex);
334 arch_disarm_kprobe(kp);
335 mutex_unlock(&text_mutex);
336}
337
322/* 338/*
323 * Aggregate handlers for multiple kprobes support - these handlers 339 * Aggregate handlers for multiple kprobes support - these handlers
324 * take care of invoking the individual kprobe handlers on p->list 340 * take care of invoking the individual kprobe handlers on p->list
@@ -538,7 +554,7 @@ static int __kprobes add_new_kprobe(struct kprobe *ap, struct kprobe *p)
538 ap->flags &= ~KPROBE_FLAG_DISABLED; 554 ap->flags &= ~KPROBE_FLAG_DISABLED;
539 if (!kprobes_all_disarmed) 555 if (!kprobes_all_disarmed)
540 /* Arm the breakpoint again. */ 556 /* Arm the breakpoint again. */
541 arch_arm_kprobe(ap); 557 arm_kprobe(ap);
542 } 558 }
543 return 0; 559 return 0;
544} 560}
@@ -789,11 +805,8 @@ static int __kprobes __unregister_kprobe_top(struct kprobe *p)
789 * enabled and not gone - otherwise, the breakpoint would 805 * enabled and not gone - otherwise, the breakpoint would
790 * already have been removed. We save on flushing icache. 806 * already have been removed. We save on flushing icache.
791 */ 807 */
792 if (!kprobes_all_disarmed && !kprobe_disabled(old_p)) { 808 if (!kprobes_all_disarmed && !kprobe_disabled(old_p))
793 mutex_lock(&text_mutex); 809 disarm_kprobe(p);
794 arch_disarm_kprobe(p);
795 mutex_unlock(&text_mutex);
796 }
797 hlist_del_rcu(&old_p->hlist); 810 hlist_del_rcu(&old_p->hlist);
798 } else { 811 } else {
799 if (p->break_handler && !kprobe_gone(p)) 812 if (p->break_handler && !kprobe_gone(p))
@@ -810,7 +823,7 @@ noclean:
810 if (!kprobe_disabled(old_p)) { 823 if (!kprobe_disabled(old_p)) {
811 try_to_disable_aggr_kprobe(old_p); 824 try_to_disable_aggr_kprobe(old_p);
812 if (!kprobes_all_disarmed && kprobe_disabled(old_p)) 825 if (!kprobes_all_disarmed && kprobe_disabled(old_p))
813 arch_disarm_kprobe(old_p); 826 disarm_kprobe(old_p);
814 } 827 }
815 } 828 }
816 return 0; 829 return 0;
@@ -1364,7 +1377,7 @@ int __kprobes disable_kprobe(struct kprobe *kp)
1364 try_to_disable_aggr_kprobe(p); 1377 try_to_disable_aggr_kprobe(p);
1365 1378
1366 if (!kprobes_all_disarmed && kprobe_disabled(p)) 1379 if (!kprobes_all_disarmed && kprobe_disabled(p))
1367 arch_disarm_kprobe(p); 1380 disarm_kprobe(p);
1368out: 1381out:
1369 mutex_unlock(&kprobe_mutex); 1382 mutex_unlock(&kprobe_mutex);
1370 return ret; 1383 return ret;
@@ -1393,7 +1406,7 @@ int __kprobes enable_kprobe(struct kprobe *kp)
1393 } 1406 }
1394 1407
1395 if (!kprobes_all_disarmed && kprobe_disabled(p)) 1408 if (!kprobes_all_disarmed && kprobe_disabled(p))
1396 arch_arm_kprobe(p); 1409 arm_kprobe(p);
1397 1410
1398 p->flags &= ~KPROBE_FLAG_DISABLED; 1411 p->flags &= ~KPROBE_FLAG_DISABLED;
1399 if (p != kp) 1412 if (p != kp)
diff --git a/kernel/panic.c b/kernel/panic.c
index 3dcaa1661357..874ecf1307ae 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -340,7 +340,7 @@ void oops_exit(void)
340} 340}
341 341
342#ifdef WANT_WARN_ON_SLOWPATH 342#ifdef WANT_WARN_ON_SLOWPATH
343void warn_slowpath(const char *file, int line, const char *fmt, ...) 343void warn_slowpath_fmt(const char *file, int line, const char *fmt, ...)
344{ 344{
345 va_list args; 345 va_list args;
346 char function[KSYM_SYMBOL_LEN]; 346 char function[KSYM_SYMBOL_LEN];
@@ -356,7 +356,7 @@ void warn_slowpath(const char *file, int line, const char *fmt, ...)
356 if (board) 356 if (board)
357 printk(KERN_WARNING "Hardware name: %s\n", board); 357 printk(KERN_WARNING "Hardware name: %s\n", board);
358 358
359 if (fmt) { 359 if (*fmt) {
360 va_start(args, fmt); 360 va_start(args, fmt);
361 vprintk(fmt, args); 361 vprintk(fmt, args);
362 va_end(args); 362 va_end(args);
@@ -367,7 +367,14 @@ void warn_slowpath(const char *file, int line, const char *fmt, ...)
367 print_oops_end_marker(); 367 print_oops_end_marker();
368 add_taint(TAINT_WARN); 368 add_taint(TAINT_WARN);
369} 369}
370EXPORT_SYMBOL(warn_slowpath); 370EXPORT_SYMBOL(warn_slowpath_fmt);
371
372void warn_slowpath_null(const char *file, int line)
373{
374 static const char *empty = "";
375 warn_slowpath_fmt(file, line, empty);
376}
377EXPORT_SYMBOL(warn_slowpath_null);
371#endif 378#endif
372 379
373#ifdef CONFIG_CC_STACKPROTECTOR 380#ifdef CONFIG_CC_STACKPROTECTOR
diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c
index c9dcf98b4463..bece7c0b67b2 100644
--- a/kernel/posix-cpu-timers.c
+++ b/kernel/posix-cpu-timers.c
@@ -1420,19 +1420,19 @@ void run_posix_cpu_timers(struct task_struct *tsk)
1420 * timer call will interfere. 1420 * timer call will interfere.
1421 */ 1421 */
1422 list_for_each_entry_safe(timer, next, &firing, it.cpu.entry) { 1422 list_for_each_entry_safe(timer, next, &firing, it.cpu.entry) {
1423 int firing; 1423 int cpu_firing;
1424
1424 spin_lock(&timer->it_lock); 1425 spin_lock(&timer->it_lock);
1425 list_del_init(&timer->it.cpu.entry); 1426 list_del_init(&timer->it.cpu.entry);
1426 firing = timer->it.cpu.firing; 1427 cpu_firing = timer->it.cpu.firing;
1427 timer->it.cpu.firing = 0; 1428 timer->it.cpu.firing = 0;
1428 /* 1429 /*
1429 * The firing flag is -1 if we collided with a reset 1430 * The firing flag is -1 if we collided with a reset
1430 * of the timer, which already reported this 1431 * of the timer, which already reported this
1431 * almost-firing as an overrun. So don't generate an event. 1432 * almost-firing as an overrun. So don't generate an event.
1432 */ 1433 */
1433 if (likely(firing >= 0)) { 1434 if (likely(cpu_firing >= 0))
1434 cpu_timer_fire(timer); 1435 cpu_timer_fire(timer);
1435 }
1436 spin_unlock(&timer->it_lock); 1436 spin_unlock(&timer->it_lock);
1437 } 1437 }
1438} 1438}
diff --git a/kernel/sched.c b/kernel/sched.c
index a728976a3a6c..419a39d0988f 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4769,7 +4769,7 @@ void account_process_tick(struct task_struct *p, int user_tick)
4769 4769
4770 if (user_tick) 4770 if (user_tick)
4771 account_user_time(p, one_jiffy, one_jiffy_scaled); 4771 account_user_time(p, one_jiffy, one_jiffy_scaled);
4772 else if (p != rq->idle) 4772 else if ((p != rq->idle) || (irq_count() != HARDIRQ_OFFSET))
4773 account_system_time(p, HARDIRQ_OFFSET, one_jiffy, 4773 account_system_time(p, HARDIRQ_OFFSET, one_jiffy,
4774 one_jiffy_scaled); 4774 one_jiffy_scaled);
4775 else 4775 else
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 3b05c2b088d2..3cb1849f5989 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -102,7 +102,9 @@ static int __maybe_unused one = 1;
102static int __maybe_unused two = 2; 102static int __maybe_unused two = 2;
103static unsigned long one_ul = 1; 103static unsigned long one_ul = 1;
104static int one_hundred = 100; 104static int one_hundred = 100;
105static int one_thousand = 1000; 105
106/* this is needed for the proc_doulongvec_minmax of vm_dirty_bytes */
107static unsigned long dirty_bytes_min = 2 * PAGE_SIZE;
106 108
107/* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */ 109/* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */
108static int maxolduid = 65535; 110static int maxolduid = 65535;
@@ -1025,7 +1027,7 @@ static struct ctl_table vm_table[] = {
1025 .mode = 0644, 1027 .mode = 0644,
1026 .proc_handler = &dirty_bytes_handler, 1028 .proc_handler = &dirty_bytes_handler,
1027 .strategy = &sysctl_intvec, 1029 .strategy = &sysctl_intvec,
1028 .extra1 = &one_ul, 1030 .extra1 = &dirty_bytes_min,
1029 }, 1031 },
1030 { 1032 {
1031 .procname = "dirty_writeback_centisecs", 1033 .procname = "dirty_writeback_centisecs",
@@ -1050,28 +1052,6 @@ static struct ctl_table vm_table[] = {
1050 .proc_handler = &proc_dointvec, 1052 .proc_handler = &proc_dointvec,
1051 }, 1053 },
1052 { 1054 {
1053 .ctl_name = CTL_UNNUMBERED,
1054 .procname = "nr_pdflush_threads_min",
1055 .data = &nr_pdflush_threads_min,
1056 .maxlen = sizeof nr_pdflush_threads_min,
1057 .mode = 0644 /* read-write */,
1058 .proc_handler = &proc_dointvec_minmax,
1059 .strategy = &sysctl_intvec,
1060 .extra1 = &one,
1061 .extra2 = &nr_pdflush_threads_max,
1062 },
1063 {
1064 .ctl_name = CTL_UNNUMBERED,
1065 .procname = "nr_pdflush_threads_max",
1066 .data = &nr_pdflush_threads_max,
1067 .maxlen = sizeof nr_pdflush_threads_max,
1068 .mode = 0644 /* read-write */,
1069 .proc_handler = &proc_dointvec_minmax,
1070 .strategy = &sysctl_intvec,
1071 .extra1 = &nr_pdflush_threads_min,
1072 .extra2 = &one_thousand,
1073 },
1074 {
1075 .ctl_name = VM_SWAPPINESS, 1055 .ctl_name = VM_SWAPPINESS,
1076 .procname = "swappiness", 1056 .procname = "swappiness",
1077 .data = &vm_swappiness, 1057 .data = &vm_swappiness,
diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c
index 21a5ca849514..83c4417b6a3c 100644
--- a/kernel/time/tick-common.c
+++ b/kernel/time/tick-common.c
@@ -93,7 +93,17 @@ void tick_handle_periodic(struct clock_event_device *dev)
93 for (;;) { 93 for (;;) {
94 if (!clockevents_program_event(dev, next, ktime_get())) 94 if (!clockevents_program_event(dev, next, ktime_get()))
95 return; 95 return;
96 tick_periodic(cpu); 96 /*
97 * Have to be careful here. If we're in oneshot mode,
98 * before we call tick_periodic() in a loop, we need
99 * to be sure we're using a real hardware clocksource.
100 * Otherwise we could get trapped in an infinite
101 * loop, as the tick_periodic() increments jiffies,
102 * when then will increment time, posibly causing
103 * the loop to trigger again and again.
104 */
105 if (timekeeping_valid_for_hres())
106 tick_periodic(cpu);
97 next = ktime_add(next, tick_period); 107 next = ktime_add(next, tick_period);
98 } 108 }
99} 109}
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 1ce5dc6372b8..a884c09006c4 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -3448,6 +3448,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos,
3448 if (!ref) 3448 if (!ref)
3449 break; 3449 break;
3450 3450
3451 ref->ref = 1;
3451 ref->buffer = info->tr->buffer; 3452 ref->buffer = info->tr->buffer;
3452 ref->page = ring_buffer_alloc_read_page(ref->buffer); 3453 ref->page = ring_buffer_alloc_read_page(ref->buffer);
3453 if (!ref->page) { 3454 if (!ref->page) {
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 812c28207baf..6cdcf38f2da9 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -891,7 +891,6 @@ config DYNAMIC_DEBUG
891 default n 891 default n
892 depends on PRINTK 892 depends on PRINTK
893 depends on DEBUG_FS 893 depends on DEBUG_FS
894 select PRINTK_DEBUG
895 help 894 help
896 895
897 Compiles debug level messages into the kernel, which would not 896 Compiles debug level messages into the kernel, which would not
diff --git a/lib/dma-debug.c b/lib/dma-debug.c
index d3da7edc034f..69da09a085a1 100644
--- a/lib/dma-debug.c
+++ b/lib/dma-debug.c
@@ -400,60 +400,9 @@ out_err:
400 return -ENOMEM; 400 return -ENOMEM;
401} 401}
402 402
403static int device_dma_allocations(struct device *dev)
404{
405 struct dma_debug_entry *entry;
406 unsigned long flags;
407 int count = 0, i;
408
409 for (i = 0; i < HASH_SIZE; ++i) {
410 spin_lock_irqsave(&dma_entry_hash[i].lock, flags);
411 list_for_each_entry(entry, &dma_entry_hash[i].list, list) {
412 if (entry->dev == dev)
413 count += 1;
414 }
415 spin_unlock_irqrestore(&dma_entry_hash[i].lock, flags);
416 }
417
418 return count;
419}
420
421static int dma_debug_device_change(struct notifier_block *nb,
422 unsigned long action, void *data)
423{
424 struct device *dev = data;
425 int count;
426
427
428 switch (action) {
429 case BUS_NOTIFY_UNBIND_DRIVER:
430 count = device_dma_allocations(dev);
431 if (count == 0)
432 break;
433 err_printk(dev, NULL, "DMA-API: device driver has pending "
434 "DMA allocations while released from device "
435 "[count=%d]\n", count);
436 break;
437 default:
438 break;
439 }
440
441 return 0;
442}
443
444void dma_debug_add_bus(struct bus_type *bus) 403void dma_debug_add_bus(struct bus_type *bus)
445{ 404{
446 struct notifier_block *nb; 405 /* FIXME: register notifier */
447
448 nb = kzalloc(sizeof(struct notifier_block), GFP_KERNEL);
449 if (nb == NULL) {
450 printk(KERN_ERR "dma_debug_add_bus: out of memory\n");
451 return;
452 }
453
454 nb->notifier_call = dma_debug_device_change;
455
456 bus_register_notifier(bus, nb);
457} 406}
458 407
459/* 408/*
diff --git a/mm/Kconfig b/mm/Kconfig
index 57971d2ab848..c2b57d81e153 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -225,3 +225,31 @@ config HAVE_MLOCKED_PAGE_BIT
225 225
226config MMU_NOTIFIER 226config MMU_NOTIFIER
227 bool 227 bool
228
229config NOMMU_INITIAL_TRIM_EXCESS
230 int "Turn on mmap() excess space trimming before booting"
231 depends on !MMU
232 default 1
233 help
234 The NOMMU mmap() frequently needs to allocate large contiguous chunks
235 of memory on which to store mappings, but it can only ask the system
236 allocator for chunks in 2^N*PAGE_SIZE amounts - which is frequently
237 more than it requires. To deal with this, mmap() is able to trim off
238 the excess and return it to the allocator.
239
240 If trimming is enabled, the excess is trimmed off and returned to the
241 system allocator, which can cause extra fragmentation, particularly
242 if there are a lot of transient processes.
243
244 If trimming is disabled, the excess is kept, but not used, which for
245 long-term mappings means that the space is wasted.
246
247 Trimming can be dynamically controlled through a sysctl option
248 (/proc/sys/vm/nr_trim_pages) which specifies the minimum number of
249 excess pages there must be before trimming should occur, or zero if
250 no trimming is to occur.
251
252 This option specifies the initial value of this option. The default
253 of 1 says that all excess pages should be trimmed.
254
255 See Documentation/nommu-mmap.txt for more information.
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index e44fb0fbb80e..01c2d8f14685 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1024,9 +1024,7 @@ static struct mem_cgroup *try_get_mem_cgroup_from_swapcache(struct page *page)
1024 return NULL; 1024 return NULL;
1025 1025
1026 pc = lookup_page_cgroup(page); 1026 pc = lookup_page_cgroup(page);
1027 /* 1027 lock_page_cgroup(pc);
1028 * Used bit of swapcache is solid under page lock.
1029 */
1030 if (PageCgroupUsed(pc)) { 1028 if (PageCgroupUsed(pc)) {
1031 mem = pc->mem_cgroup; 1029 mem = pc->mem_cgroup;
1032 if (mem && !css_tryget(&mem->css)) 1030 if (mem && !css_tryget(&mem->css))
@@ -1040,6 +1038,7 @@ static struct mem_cgroup *try_get_mem_cgroup_from_swapcache(struct page *page)
1040 mem = NULL; 1038 mem = NULL;
1041 rcu_read_unlock(); 1039 rcu_read_unlock();
1042 } 1040 }
1041 unlock_page_cgroup(pc);
1043 return mem; 1042 return mem;
1044} 1043}
1045 1044
@@ -1618,37 +1617,28 @@ void mem_cgroup_end_migration(struct mem_cgroup *mem,
1618} 1617}
1619 1618
1620/* 1619/*
1621 * A call to try to shrink memory usage under specified resource controller. 1620 * A call to try to shrink memory usage on charge failure at shmem's swapin.
1622 * This is typically used for page reclaiming for shmem for reducing side 1621 * Calling hierarchical_reclaim is not enough because we should update
1623 * effect of page allocation from shmem, which is used by some mem_cgroup. 1622 * last_oom_jiffies to prevent pagefault_out_of_memory from invoking global OOM.
1623 * Moreover considering hierarchy, we should reclaim from the mem_over_limit,
1624 * not from the memcg which this page would be charged to.
1625 * try_charge_swapin does all of these works properly.
1624 */ 1626 */
1625int mem_cgroup_shrink_usage(struct page *page, 1627int mem_cgroup_shmem_charge_fallback(struct page *page,
1626 struct mm_struct *mm, 1628 struct mm_struct *mm,
1627 gfp_t gfp_mask) 1629 gfp_t gfp_mask)
1628{ 1630{
1629 struct mem_cgroup *mem = NULL; 1631 struct mem_cgroup *mem = NULL;
1630 int progress = 0; 1632 int ret;
1631 int retry = MEM_CGROUP_RECLAIM_RETRIES;
1632 1633
1633 if (mem_cgroup_disabled()) 1634 if (mem_cgroup_disabled())
1634 return 0; 1635 return 0;
1635 if (page)
1636 mem = try_get_mem_cgroup_from_swapcache(page);
1637 if (!mem && mm)
1638 mem = try_get_mem_cgroup_from_mm(mm);
1639 if (unlikely(!mem))
1640 return 0;
1641 1636
1642 do { 1637 ret = mem_cgroup_try_charge_swapin(mm, page, gfp_mask, &mem);
1643 progress = mem_cgroup_hierarchical_reclaim(mem, 1638 if (!ret)
1644 gfp_mask, true, false); 1639 mem_cgroup_cancel_charge_swapin(mem); /* it does !mem check */
1645 progress += mem_cgroup_check_under_limit(mem);
1646 } while (!progress && --retry);
1647 1640
1648 css_put(&mem->css); 1641 return ret;
1649 if (!retry)
1650 return -ENOMEM;
1651 return 0;
1652} 1642}
1653 1643
1654static DEFINE_MUTEX(set_limit_mutex); 1644static DEFINE_MUTEX(set_limit_mutex);
diff --git a/mm/memory.c b/mm/memory.c
index cf6873e91c6a..4126dd16778c 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1971,6 +1971,15 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
1971 ret = tmp; 1971 ret = tmp;
1972 goto unwritable_page; 1972 goto unwritable_page;
1973 } 1973 }
1974 if (unlikely(!(tmp & VM_FAULT_LOCKED))) {
1975 lock_page(old_page);
1976 if (!old_page->mapping) {
1977 ret = 0; /* retry the fault */
1978 unlock_page(old_page);
1979 goto unwritable_page;
1980 }
1981 } else
1982 VM_BUG_ON(!PageLocked(old_page));
1974 1983
1975 /* 1984 /*
1976 * Since we dropped the lock we need to revalidate 1985 * Since we dropped the lock we need to revalidate
@@ -1980,9 +1989,11 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
1980 */ 1989 */
1981 page_table = pte_offset_map_lock(mm, pmd, address, 1990 page_table = pte_offset_map_lock(mm, pmd, address,
1982 &ptl); 1991 &ptl);
1983 page_cache_release(old_page); 1992 if (!pte_same(*page_table, orig_pte)) {
1984 if (!pte_same(*page_table, orig_pte)) 1993 unlock_page(old_page);
1994 page_cache_release(old_page);
1985 goto unlock; 1995 goto unlock;
1996 }
1986 1997
1987 page_mkwrite = 1; 1998 page_mkwrite = 1;
1988 } 1999 }
@@ -2094,9 +2105,6 @@ gotten:
2094unlock: 2105unlock:
2095 pte_unmap_unlock(page_table, ptl); 2106 pte_unmap_unlock(page_table, ptl);
2096 if (dirty_page) { 2107 if (dirty_page) {
2097 if (vma->vm_file)
2098 file_update_time(vma->vm_file);
2099
2100 /* 2108 /*
2101 * Yes, Virginia, this is actually required to prevent a race 2109 * Yes, Virginia, this is actually required to prevent a race
2102 * with clear_page_dirty_for_io() from clearing the page dirty 2110 * with clear_page_dirty_for_io() from clearing the page dirty
@@ -2105,16 +2113,41 @@ unlock:
2105 * 2113 *
2106 * do_no_page is protected similarly. 2114 * do_no_page is protected similarly.
2107 */ 2115 */
2108 wait_on_page_locked(dirty_page); 2116 if (!page_mkwrite) {
2109 set_page_dirty_balance(dirty_page, page_mkwrite); 2117 wait_on_page_locked(dirty_page);
2118 set_page_dirty_balance(dirty_page, page_mkwrite);
2119 }
2110 put_page(dirty_page); 2120 put_page(dirty_page);
2121 if (page_mkwrite) {
2122 struct address_space *mapping = dirty_page->mapping;
2123
2124 set_page_dirty(dirty_page);
2125 unlock_page(dirty_page);
2126 page_cache_release(dirty_page);
2127 if (mapping) {
2128 /*
2129 * Some device drivers do not set page.mapping
2130 * but still dirty their pages
2131 */
2132 balance_dirty_pages_ratelimited(mapping);
2133 }
2134 }
2135
2136 /* file_update_time outside page_lock */
2137 if (vma->vm_file)
2138 file_update_time(vma->vm_file);
2111 } 2139 }
2112 return ret; 2140 return ret;
2113oom_free_new: 2141oom_free_new:
2114 page_cache_release(new_page); 2142 page_cache_release(new_page);
2115oom: 2143oom:
2116 if (old_page) 2144 if (old_page) {
2145 if (page_mkwrite) {
2146 unlock_page(old_page);
2147 page_cache_release(old_page);
2148 }
2117 page_cache_release(old_page); 2149 page_cache_release(old_page);
2150 }
2118 return VM_FAULT_OOM; 2151 return VM_FAULT_OOM;
2119 2152
2120unwritable_page: 2153unwritable_page:
@@ -2458,8 +2491,7 @@ static int do_swap_page(struct mm_struct *mm, struct vm_area_struct *vma,
2458 2491
2459 if (mem_cgroup_try_charge_swapin(mm, page, GFP_KERNEL, &ptr)) { 2492 if (mem_cgroup_try_charge_swapin(mm, page, GFP_KERNEL, &ptr)) {
2460 ret = VM_FAULT_OOM; 2493 ret = VM_FAULT_OOM;
2461 unlock_page(page); 2494 goto out_page;
2462 goto out;
2463 } 2495 }
2464 2496
2465 /* 2497 /*
@@ -2521,6 +2553,7 @@ out:
2521out_nomap: 2553out_nomap:
2522 mem_cgroup_cancel_charge_swapin(ptr); 2554 mem_cgroup_cancel_charge_swapin(ptr);
2523 pte_unmap_unlock(page_table, ptl); 2555 pte_unmap_unlock(page_table, ptl);
2556out_page:
2524 unlock_page(page); 2557 unlock_page(page);
2525 page_cache_release(page); 2558 page_cache_release(page);
2526 return ret; 2559 return ret;
@@ -2664,27 +2697,22 @@ static int __do_fault(struct mm_struct *mm, struct vm_area_struct *vma,
2664 int tmp; 2697 int tmp;
2665 2698
2666 unlock_page(page); 2699 unlock_page(page);
2667 vmf.flags |= FAULT_FLAG_MKWRITE; 2700 vmf.flags = FAULT_FLAG_WRITE|FAULT_FLAG_MKWRITE;
2668 tmp = vma->vm_ops->page_mkwrite(vma, &vmf); 2701 tmp = vma->vm_ops->page_mkwrite(vma, &vmf);
2669 if (unlikely(tmp & 2702 if (unlikely(tmp &
2670 (VM_FAULT_ERROR | VM_FAULT_NOPAGE))) { 2703 (VM_FAULT_ERROR | VM_FAULT_NOPAGE))) {
2671 ret = tmp; 2704 ret = tmp;
2672 anon = 1; /* no anon but release vmf.page */ 2705 goto unwritable_page;
2673 goto out_unlocked;
2674 }
2675 lock_page(page);
2676 /*
2677 * XXX: this is not quite right (racy vs
2678 * invalidate) to unlock and relock the page
2679 * like this, however a better fix requires
2680 * reworking page_mkwrite locking API, which
2681 * is better done later.
2682 */
2683 if (!page->mapping) {
2684 ret = 0;
2685 anon = 1; /* no anon but release vmf.page */
2686 goto out;
2687 } 2706 }
2707 if (unlikely(!(tmp & VM_FAULT_LOCKED))) {
2708 lock_page(page);
2709 if (!page->mapping) {
2710 ret = 0; /* retry the fault */
2711 unlock_page(page);
2712 goto unwritable_page;
2713 }
2714 } else
2715 VM_BUG_ON(!PageLocked(page));
2688 page_mkwrite = 1; 2716 page_mkwrite = 1;
2689 } 2717 }
2690 } 2718 }
@@ -2736,19 +2764,35 @@ static int __do_fault(struct mm_struct *mm, struct vm_area_struct *vma,
2736 pte_unmap_unlock(page_table, ptl); 2764 pte_unmap_unlock(page_table, ptl);
2737 2765
2738out: 2766out:
2739 unlock_page(vmf.page); 2767 if (dirty_page) {
2740out_unlocked: 2768 struct address_space *mapping = page->mapping;
2741 if (anon)
2742 page_cache_release(vmf.page);
2743 else if (dirty_page) {
2744 if (vma->vm_file)
2745 file_update_time(vma->vm_file);
2746 2769
2747 set_page_dirty_balance(dirty_page, page_mkwrite); 2770 if (set_page_dirty(dirty_page))
2771 page_mkwrite = 1;
2772 unlock_page(dirty_page);
2748 put_page(dirty_page); 2773 put_page(dirty_page);
2774 if (page_mkwrite && mapping) {
2775 /*
2776 * Some device drivers do not set page.mapping but still
2777 * dirty their pages
2778 */
2779 balance_dirty_pages_ratelimited(mapping);
2780 }
2781
2782 /* file_update_time outside page_lock */
2783 if (vma->vm_file)
2784 file_update_time(vma->vm_file);
2785 } else {
2786 unlock_page(vmf.page);
2787 if (anon)
2788 page_cache_release(vmf.page);
2749 } 2789 }
2750 2790
2751 return ret; 2791 return ret;
2792
2793unwritable_page:
2794 page_cache_release(page);
2795 return ret;
2752} 2796}
2753 2797
2754static int do_linear_fault(struct mm_struct *mm, struct vm_area_struct *vma, 2798static int do_linear_fault(struct mm_struct *mm, struct vm_area_struct *vma,
diff --git a/mm/mmap.c b/mm/mmap.c
index 8a49df4c7363..2c1c2cb0e2e1 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -86,7 +86,7 @@ EXPORT_SYMBOL(vm_get_page_prot);
86int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */ 86int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */
87int sysctl_overcommit_ratio = 50; /* default is 50% */ 87int sysctl_overcommit_ratio = 50; /* default is 50% */
88int sysctl_max_map_count __read_mostly = DEFAULT_MAX_MAP_COUNT; 88int sysctl_max_map_count __read_mostly = DEFAULT_MAX_MAP_COUNT;
89atomic_long_t vm_committed_space = ATOMIC_LONG_INIT(0); 89struct percpu_counter vm_committed_as;
90 90
91/* 91/*
92 * Check that a process has enough memory to allocate a new virtual 92 * Check that a process has enough memory to allocate a new virtual
@@ -180,11 +180,7 @@ int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin)
180 if (mm) 180 if (mm)
181 allowed -= mm->total_vm / 32; 181 allowed -= mm->total_vm / 32;
182 182
183 /* 183 if (percpu_counter_read_positive(&vm_committed_as) < allowed)
184 * cast `allowed' as a signed long because vm_committed_space
185 * sometimes has a negative value
186 */
187 if (atomic_long_read(&vm_committed_space) < (long)allowed)
188 return 0; 184 return 0;
189error: 185error:
190 vm_unacct_memory(pages); 186 vm_unacct_memory(pages);
@@ -2491,4 +2487,8 @@ void mm_drop_all_locks(struct mm_struct *mm)
2491 */ 2487 */
2492void __init mmap_init(void) 2488void __init mmap_init(void)
2493{ 2489{
2490 int ret;
2491
2492 ret = percpu_counter_init(&vm_committed_as, 0);
2493 VM_BUG_ON(ret);
2494} 2494}
diff --git a/mm/nommu.c b/mm/nommu.c
index 72eda4aee2cb..b571ef707428 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -62,11 +62,11 @@ void *high_memory;
62struct page *mem_map; 62struct page *mem_map;
63unsigned long max_mapnr; 63unsigned long max_mapnr;
64unsigned long num_physpages; 64unsigned long num_physpages;
65atomic_long_t vm_committed_space = ATOMIC_LONG_INIT(0); 65struct percpu_counter vm_committed_as;
66int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */ 66int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */
67int sysctl_overcommit_ratio = 50; /* default is 50% */ 67int sysctl_overcommit_ratio = 50; /* default is 50% */
68int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT; 68int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT;
69int sysctl_nr_trim_pages = 1; /* page trimming behaviour */ 69int sysctl_nr_trim_pages = CONFIG_NOMMU_INITIAL_TRIM_EXCESS;
70int heap_stack_gap = 0; 70int heap_stack_gap = 0;
71 71
72atomic_long_t mmap_pages_allocated; 72atomic_long_t mmap_pages_allocated;
@@ -463,6 +463,10 @@ SYSCALL_DEFINE1(brk, unsigned long, brk)
463 */ 463 */
464void __init mmap_init(void) 464void __init mmap_init(void)
465{ 465{
466 int ret;
467
468 ret = percpu_counter_init(&vm_committed_as, 0);
469 VM_BUG_ON(ret);
466 vm_region_jar = KMEM_CACHE(vm_region, SLAB_PANIC); 470 vm_region_jar = KMEM_CACHE(vm_region, SLAB_PANIC);
467} 471}
468 472
@@ -511,8 +515,6 @@ static void add_nommu_region(struct vm_region *region)
511 515
512 validate_nommu_regions(); 516 validate_nommu_regions();
513 517
514 BUG_ON(region->vm_start & ~PAGE_MASK);
515
516 parent = NULL; 518 parent = NULL;
517 p = &nommu_region_tree.rb_node; 519 p = &nommu_region_tree.rb_node;
518 while (*p) { 520 while (*p) {
@@ -1847,12 +1849,9 @@ int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin)
1847 if (mm) 1849 if (mm)
1848 allowed -= mm->total_vm / 32; 1850 allowed -= mm->total_vm / 32;
1849 1851
1850 /* 1852 if (percpu_counter_read_positive(&vm_committed_as) < allowed)
1851 * cast `allowed' as a signed long because vm_committed_space
1852 * sometimes has a negative value
1853 */
1854 if (atomic_long_read(&vm_committed_space) < (long)allowed)
1855 return 0; 1853 return 0;
1854
1856error: 1855error:
1857 vm_unacct_memory(pages); 1856 vm_unacct_memory(pages);
1858 1857
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 2f3166e308d9..92bcf1db16b2 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -514,34 +514,32 @@ void clear_zonelist_oom(struct zonelist *zonelist, gfp_t gfp_mask)
514 */ 514 */
515static void __out_of_memory(gfp_t gfp_mask, int order) 515static void __out_of_memory(gfp_t gfp_mask, int order)
516{ 516{
517 if (sysctl_oom_kill_allocating_task) { 517 struct task_struct *p;
518 oom_kill_process(current, gfp_mask, order, 0, NULL, 518 unsigned long points;
519 "Out of memory (oom_kill_allocating_task)");
520
521 } else {
522 unsigned long points;
523 struct task_struct *p;
524
525retry:
526 /*
527 * Rambo mode: Shoot down a process and hope it solves whatever
528 * issues we may have.
529 */
530 p = select_bad_process(&points, NULL);
531 519
532 if (PTR_ERR(p) == -1UL) 520 if (sysctl_oom_kill_allocating_task)
521 if (!oom_kill_process(current, gfp_mask, order, 0, NULL,
522 "Out of memory (oom_kill_allocating_task)"))
533 return; 523 return;
524retry:
525 /*
526 * Rambo mode: Shoot down a process and hope it solves whatever
527 * issues we may have.
528 */
529 p = select_bad_process(&points, NULL);
534 530
535 /* Found nothing?!?! Either we hang forever, or we panic. */ 531 if (PTR_ERR(p) == -1UL)
536 if (!p) { 532 return;
537 read_unlock(&tasklist_lock);
538 panic("Out of memory and no killable processes...\n");
539 }
540 533
541 if (oom_kill_process(p, gfp_mask, order, points, NULL, 534 /* Found nothing?!?! Either we hang forever, or we panic. */
542 "Out of memory")) 535 if (!p) {
543 goto retry; 536 read_unlock(&tasklist_lock);
537 panic("Out of memory and no killable processes...\n");
544 } 538 }
539
540 if (oom_kill_process(p, gfp_mask, order, points, NULL,
541 "Out of memory"))
542 goto retry;
545} 543}
546 544
547/* 545/*
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e2f26991fff1..fe753ecf2aa5 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2681,6 +2681,7 @@ static void __meminit zone_init_free_lists(struct zone *zone)
2681 2681
2682static int zone_batchsize(struct zone *zone) 2682static int zone_batchsize(struct zone *zone)
2683{ 2683{
2684#ifdef CONFIG_MMU
2684 int batch; 2685 int batch;
2685 2686
2686 /* 2687 /*
@@ -2706,9 +2707,26 @@ static int zone_batchsize(struct zone *zone)
2706 * of pages of one half of the possible page colors 2707 * of pages of one half of the possible page colors
2707 * and the other with pages of the other colors. 2708 * and the other with pages of the other colors.
2708 */ 2709 */
2709 batch = (1 << (fls(batch + batch/2)-1)) - 1; 2710 batch = rounddown_pow_of_two(batch + batch/2) - 1;
2710 2711
2711 return batch; 2712 return batch;
2713
2714#else
2715 /* The deferral and batching of frees should be suppressed under NOMMU
2716 * conditions.
2717 *
2718 * The problem is that NOMMU needs to be able to allocate large chunks
2719 * of contiguous memory as there's no hardware page translation to
2720 * assemble apparent contiguous memory from discontiguous pages.
2721 *
2722 * Queueing large contiguous runs of pages for batching, however,
2723 * causes the pages to actually be freed in smaller chunks. As there
2724 * can be a significant delay between the individual batches being
2725 * recycled, this leads to the once large chunks of space being
2726 * fragmented and becoming unavailable for high-order allocations.
2727 */
2728 return 0;
2729#endif
2712} 2730}
2713 2731
2714static void setup_pageset(struct per_cpu_pageset *p, unsigned long batch) 2732static void setup_pageset(struct per_cpu_pageset *p, unsigned long batch)
diff --git a/mm/pdflush.c b/mm/pdflush.c
index f2caf96993f8..235ac440c44e 100644
--- a/mm/pdflush.c
+++ b/mm/pdflush.c
@@ -58,14 +58,6 @@ static DEFINE_SPINLOCK(pdflush_lock);
58int nr_pdflush_threads = 0; 58int nr_pdflush_threads = 0;
59 59
60/* 60/*
61 * The max/min number of pdflush threads. R/W by sysctl at
62 * /proc/sys/vm/nr_pdflush_threads_max/min
63 */
64int nr_pdflush_threads_max __read_mostly = MAX_PDFLUSH_THREADS;
65int nr_pdflush_threads_min __read_mostly = MIN_PDFLUSH_THREADS;
66
67
68/*
69 * The time at which the pdflush thread pool last went empty 61 * The time at which the pdflush thread pool last went empty
70 */ 62 */
71static unsigned long last_empty_jifs; 63static unsigned long last_empty_jifs;
@@ -76,7 +68,7 @@ static unsigned long last_empty_jifs;
76 * Thread pool management algorithm: 68 * Thread pool management algorithm:
77 * 69 *
78 * - The minimum and maximum number of pdflush instances are bound 70 * - The minimum and maximum number of pdflush instances are bound
79 * by nr_pdflush_threads_min and nr_pdflush_threads_max. 71 * by MIN_PDFLUSH_THREADS and MAX_PDFLUSH_THREADS.
80 * 72 *
81 * - If there have been no idle pdflush instances for 1 second, create 73 * - If there have been no idle pdflush instances for 1 second, create
82 * a new one. 74 * a new one.
@@ -142,13 +134,14 @@ static int __pdflush(struct pdflush_work *my_work)
142 * To throttle creation, we reset last_empty_jifs. 134 * To throttle creation, we reset last_empty_jifs.
143 */ 135 */
144 if (time_after(jiffies, last_empty_jifs + 1 * HZ)) { 136 if (time_after(jiffies, last_empty_jifs + 1 * HZ)) {
145 if (list_empty(&pdflush_list) && 137 if (list_empty(&pdflush_list)) {
146 nr_pdflush_threads < nr_pdflush_threads_max) { 138 if (nr_pdflush_threads < MAX_PDFLUSH_THREADS) {
147 last_empty_jifs = jiffies; 139 last_empty_jifs = jiffies;
148 nr_pdflush_threads++; 140 nr_pdflush_threads++;
149 spin_unlock_irq(&pdflush_lock); 141 spin_unlock_irq(&pdflush_lock);
150 start_one_pdflush_thread(); 142 start_one_pdflush_thread();
151 spin_lock_irq(&pdflush_lock); 143 spin_lock_irq(&pdflush_lock);
144 }
152 } 145 }
153 } 146 }
154 147
@@ -160,7 +153,7 @@ static int __pdflush(struct pdflush_work *my_work)
160 */ 153 */
161 if (list_empty(&pdflush_list)) 154 if (list_empty(&pdflush_list))
162 continue; 155 continue;
163 if (nr_pdflush_threads <= nr_pdflush_threads_min) 156 if (nr_pdflush_threads <= MIN_PDFLUSH_THREADS)
164 continue; 157 continue;
165 pdf = list_entry(pdflush_list.prev, struct pdflush_work, list); 158 pdf = list_entry(pdflush_list.prev, struct pdflush_work, list);
166 if (time_after(jiffies, pdf->when_i_went_to_sleep + 1 * HZ)) { 159 if (time_after(jiffies, pdf->when_i_went_to_sleep + 1 * HZ)) {
@@ -266,9 +259,9 @@ static int __init pdflush_init(void)
266 * Pre-set nr_pdflush_threads... If we fail to create, 259 * Pre-set nr_pdflush_threads... If we fail to create,
267 * the count will be decremented. 260 * the count will be decremented.
268 */ 261 */
269 nr_pdflush_threads = nr_pdflush_threads_min; 262 nr_pdflush_threads = MIN_PDFLUSH_THREADS;
270 263
271 for (i = 0; i < nr_pdflush_threads_min; i++) 264 for (i = 0; i < MIN_PDFLUSH_THREADS; i++)
272 start_one_pdflush_thread(); 265 start_one_pdflush_thread();
273 return 0; 266 return 0;
274} 267}
diff --git a/mm/shmem.c b/mm/shmem.c
index f9cb20ebb990..b25f95ce3db7 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -1340,8 +1340,12 @@ repeat:
1340 shmem_swp_unmap(entry); 1340 shmem_swp_unmap(entry);
1341 spin_unlock(&info->lock); 1341 spin_unlock(&info->lock);
1342 if (error == -ENOMEM) { 1342 if (error == -ENOMEM) {
1343 /* allow reclaim from this memory cgroup */ 1343 /*
1344 error = mem_cgroup_shrink_usage(swappage, 1344 * reclaim from proper memory cgroup and
1345 * call memcg's OOM if needed.
1346 */
1347 error = mem_cgroup_shmem_charge_fallback(
1348 swappage,
1345 current->mm, 1349 current->mm,
1346 gfp); 1350 gfp);
1347 if (error) { 1351 if (error) {
diff --git a/mm/swap.c b/mm/swap.c
index bede23ce64ea..cb29ae5d33ab 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -491,49 +491,6 @@ unsigned pagevec_lookup_tag(struct pagevec *pvec, struct address_space *mapping,
491 491
492EXPORT_SYMBOL(pagevec_lookup_tag); 492EXPORT_SYMBOL(pagevec_lookup_tag);
493 493
494#ifdef CONFIG_SMP
495/*
496 * We tolerate a little inaccuracy to avoid ping-ponging the counter between
497 * CPUs
498 */
499#define ACCT_THRESHOLD max(16, NR_CPUS * 2)
500
501static DEFINE_PER_CPU(long, committed_space);
502
503void vm_acct_memory(long pages)
504{
505 long *local;
506
507 preempt_disable();
508 local = &__get_cpu_var(committed_space);
509 *local += pages;
510 if (*local > ACCT_THRESHOLD || *local < -ACCT_THRESHOLD) {
511 atomic_long_add(*local, &vm_committed_space);
512 *local = 0;
513 }
514 preempt_enable();
515}
516
517#ifdef CONFIG_HOTPLUG_CPU
518
519/* Drop the CPU's cached committed space back into the central pool. */
520static int cpu_swap_callback(struct notifier_block *nfb,
521 unsigned long action,
522 void *hcpu)
523{
524 long *committed;
525
526 committed = &per_cpu(committed_space, (long)hcpu);
527 if (action == CPU_DEAD || action == CPU_DEAD_FROZEN) {
528 atomic_long_add(*committed, &vm_committed_space);
529 *committed = 0;
530 drain_cpu_pagevecs((long)hcpu);
531 }
532 return NOTIFY_OK;
533}
534#endif /* CONFIG_HOTPLUG_CPU */
535#endif /* CONFIG_SMP */
536
537/* 494/*
538 * Perform any setup for the swap system 495 * Perform any setup for the swap system
539 */ 496 */
@@ -554,7 +511,4 @@ void __init swap_setup(void)
554 * Right now other parts of the system means that we 511 * Right now other parts of the system means that we
555 * _really_ don't want to cluster much more 512 * _really_ don't want to cluster much more
556 */ 513 */
557#ifdef CONFIG_HOTPLUG_CPU
558 hotcpu_notifier(cpu_swap_callback, 0);
559#endif
560} 514}
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index fab19876b4d1..083716ea38c9 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -402,6 +402,7 @@ overflow:
402 printk(KERN_WARNING 402 printk(KERN_WARNING
403 "vmap allocation for size %lu failed: " 403 "vmap allocation for size %lu failed: "
404 "use vmalloc=<size> to increase size.\n", size); 404 "use vmalloc=<size> to increase size.\n", size);
405 kfree(va);
405 return ERR_PTR(-EBUSY); 406 return ERR_PTR(-EBUSY);
406 } 407 }
407 408
diff --git a/mm/vmscan.c b/mm/vmscan.c
index eac9577941f9..5fa3eda1f03f 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1471,7 +1471,7 @@ static void shrink_zone(int priority, struct zone *zone,
1471 1471
1472 for_each_evictable_lru(l) { 1472 for_each_evictable_lru(l) {
1473 int file = is_file_lru(l); 1473 int file = is_file_lru(l);
1474 int scan; 1474 unsigned long scan;
1475 1475
1476 scan = zone_nr_pages(zone, sc, l); 1476 scan = zone_nr_pages(zone, sc, l);
1477 if (priority) { 1477 if (priority) {
diff --git a/net/9p/client.c b/net/9p/client.c
index 1eb580c38fbb..dd43a8289b0d 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -203,7 +203,6 @@ static struct p9_req_t *p9_tag_alloc(struct p9_client *c, u16 tag)
203 p9pdu_reset(req->tc); 203 p9pdu_reset(req->tc);
204 p9pdu_reset(req->rc); 204 p9pdu_reset(req->rc);
205 205
206 req->flush_tag = 0;
207 req->tc->tag = tag-1; 206 req->tc->tag = tag-1;
208 req->status = REQ_STATUS_ALLOC; 207 req->status = REQ_STATUS_ALLOC;
209 208
@@ -324,35 +323,9 @@ static void p9_free_req(struct p9_client *c, struct p9_req_t *r)
324 */ 323 */
325void p9_client_cb(struct p9_client *c, struct p9_req_t *req) 324void p9_client_cb(struct p9_client *c, struct p9_req_t *req)
326{ 325{
327 struct p9_req_t *other_req;
328 unsigned long flags;
329
330 P9_DPRINTK(P9_DEBUG_MUX, " tag %d\n", req->tc->tag); 326 P9_DPRINTK(P9_DEBUG_MUX, " tag %d\n", req->tc->tag);
331 327 wake_up(req->wq);
332 if (req->status == REQ_STATUS_ERROR) 328 P9_DPRINTK(P9_DEBUG_MUX, "wakeup: %d\n", req->tc->tag);
333 wake_up(req->wq);
334
335 if (req->flush_tag) { /* flush receive path */
336 P9_DPRINTK(P9_DEBUG_9P, "<<< RFLUSH %d\n", req->tc->tag);
337 spin_lock_irqsave(&c->lock, flags);
338 other_req = p9_tag_lookup(c, req->flush_tag);
339 if (other_req->status != REQ_STATUS_FLSH) /* stale flush */
340 spin_unlock_irqrestore(&c->lock, flags);
341 else {
342 other_req->status = REQ_STATUS_FLSHD;
343 spin_unlock_irqrestore(&c->lock, flags);
344 wake_up(other_req->wq);
345 }
346 p9_free_req(c, req);
347 } else { /* normal receive path */
348 P9_DPRINTK(P9_DEBUG_MUX, "normal: tag %d\n", req->tc->tag);
349 spin_lock_irqsave(&c->lock, flags);
350 if (req->status != REQ_STATUS_FLSHD)
351 req->status = REQ_STATUS_RCVD;
352 spin_unlock_irqrestore(&c->lock, flags);
353 wake_up(req->wq);
354 P9_DPRINTK(P9_DEBUG_MUX, "wakeup: %d\n", req->tc->tag);
355 }
356} 329}
357EXPORT_SYMBOL(p9_client_cb); 330EXPORT_SYMBOL(p9_client_cb);
358 331
@@ -486,9 +459,15 @@ static int p9_client_flush(struct p9_client *c, struct p9_req_t *oldreq)
486 if (IS_ERR(req)) 459 if (IS_ERR(req))
487 return PTR_ERR(req); 460 return PTR_ERR(req);
488 461
489 req->flush_tag = oldtag;
490 462
491 /* we don't free anything here because RPC isn't complete */ 463 /* if we haven't received a response for oldreq,
464 remove it from the list. */
465 spin_lock(&c->lock);
466 if (oldreq->status == REQ_STATUS_FLSH)
467 list_del(&oldreq->req_list);
468 spin_unlock(&c->lock);
469
470 p9_free_req(c, req);
492 return 0; 471 return 0;
493} 472}
494 473
@@ -509,7 +488,6 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...)
509 struct p9_req_t *req; 488 struct p9_req_t *req;
510 unsigned long flags; 489 unsigned long flags;
511 int sigpending; 490 int sigpending;
512 int flushed = 0;
513 491
514 P9_DPRINTK(P9_DEBUG_MUX, "client %p op %d\n", c, type); 492 P9_DPRINTK(P9_DEBUG_MUX, "client %p op %d\n", c, type);
515 493
@@ -546,42 +524,28 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...)
546 goto reterr; 524 goto reterr;
547 } 525 }
548 526
549 /* if it was a flush we just transmitted, return our tag */
550 if (type == P9_TFLUSH)
551 return req;
552again:
553 P9_DPRINTK(P9_DEBUG_MUX, "wait %p tag: %d\n", req->wq, tag); 527 P9_DPRINTK(P9_DEBUG_MUX, "wait %p tag: %d\n", req->wq, tag);
554 err = wait_event_interruptible(*req->wq, 528 err = wait_event_interruptible(*req->wq,
555 req->status >= REQ_STATUS_RCVD); 529 req->status >= REQ_STATUS_RCVD);
556 P9_DPRINTK(P9_DEBUG_MUX, "wait %p tag: %d returned %d (flushed=%d)\n", 530 P9_DPRINTK(P9_DEBUG_MUX, "wait %p tag: %d returned %d\n",
557 req->wq, tag, err, flushed); 531 req->wq, tag, err);
558 532
559 if (req->status == REQ_STATUS_ERROR) { 533 if (req->status == REQ_STATUS_ERROR) {
560 P9_DPRINTK(P9_DEBUG_ERROR, "req_status error %d\n", req->t_err); 534 P9_DPRINTK(P9_DEBUG_ERROR, "req_status error %d\n", req->t_err);
561 err = req->t_err; 535 err = req->t_err;
562 } else if (err == -ERESTARTSYS && flushed) {
563 P9_DPRINTK(P9_DEBUG_MUX, "flushed - going again\n");
564 goto again;
565 } else if (req->status == REQ_STATUS_FLSHD) {
566 P9_DPRINTK(P9_DEBUG_MUX, "flushed - erestartsys\n");
567 err = -ERESTARTSYS;
568 } 536 }
569 537
570 if ((err == -ERESTARTSYS) && (c->status == Connected) && (!flushed)) { 538 if ((err == -ERESTARTSYS) && (c->status == Connected)) {
571 P9_DPRINTK(P9_DEBUG_MUX, "flushing\n"); 539 P9_DPRINTK(P9_DEBUG_MUX, "flushing\n");
572 spin_lock_irqsave(&c->lock, flags);
573 if (req->status == REQ_STATUS_SENT)
574 req->status = REQ_STATUS_FLSH;
575 spin_unlock_irqrestore(&c->lock, flags);
576 sigpending = 1; 540 sigpending = 1;
577 flushed = 1;
578 clear_thread_flag(TIF_SIGPENDING); 541 clear_thread_flag(TIF_SIGPENDING);
579 542
580 if (c->trans_mod->cancel(c, req)) { 543 if (c->trans_mod->cancel(c, req))
581 err = p9_client_flush(c, req); 544 p9_client_flush(c, req);
582 if (err == 0) 545
583 goto again; 546 /* if we received the response anyway, don't signal error */
584 } 547 if (req->status == REQ_STATUS_RCVD)
548 err = 0;
585 } 549 }
586 550
587 if (sigpending) { 551 if (sigpending) {
@@ -1244,19 +1208,53 @@ struct p9_wstat *p9_client_stat(struct p9_fid *fid)
1244 ret->name, ret->uid, ret->gid, ret->muid, ret->extension, 1208 ret->name, ret->uid, ret->gid, ret->muid, ret->extension,
1245 ret->n_uid, ret->n_gid, ret->n_muid); 1209 ret->n_uid, ret->n_gid, ret->n_muid);
1246 1210
1211 p9_free_req(clnt, req);
1212 return ret;
1213
1247free_and_error: 1214free_and_error:
1248 p9_free_req(clnt, req); 1215 p9_free_req(clnt, req);
1249error: 1216error:
1250 return ret; 1217 kfree(ret);
1218 return ERR_PTR(err);
1251} 1219}
1252EXPORT_SYMBOL(p9_client_stat); 1220EXPORT_SYMBOL(p9_client_stat);
1253 1221
1222static int p9_client_statsize(struct p9_wstat *wst, int optional)
1223{
1224 int ret;
1225
1226 /* size[2] type[2] dev[4] qid[13] */
1227 /* mode[4] atime[4] mtime[4] length[8]*/
1228 /* name[s] uid[s] gid[s] muid[s] */
1229 ret = 2+2+4+13+4+4+4+8+2+2+2+2;
1230
1231 if (wst->name)
1232 ret += strlen(wst->name);
1233 if (wst->uid)
1234 ret += strlen(wst->uid);
1235 if (wst->gid)
1236 ret += strlen(wst->gid);
1237 if (wst->muid)
1238 ret += strlen(wst->muid);
1239
1240 if (optional) {
1241 ret += 2+4+4+4; /* extension[s] n_uid[4] n_gid[4] n_muid[4] */
1242 if (wst->extension)
1243 ret += strlen(wst->extension);
1244 }
1245
1246 return ret;
1247}
1248
1254int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst) 1249int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst)
1255{ 1250{
1256 int err; 1251 int err;
1257 struct p9_req_t *req; 1252 struct p9_req_t *req;
1258 struct p9_client *clnt; 1253 struct p9_client *clnt;
1259 1254
1255 err = 0;
1256 clnt = fid->clnt;
1257 wst->size = p9_client_statsize(wst, clnt->dotu);
1260 P9_DPRINTK(P9_DEBUG_9P, ">>> TWSTAT fid %d\n", fid->fid); 1258 P9_DPRINTK(P9_DEBUG_9P, ">>> TWSTAT fid %d\n", fid->fid);
1261 P9_DPRINTK(P9_DEBUG_9P, 1259 P9_DPRINTK(P9_DEBUG_9P,
1262 " sz=%x type=%x dev=%x qid=%x.%llx.%x\n" 1260 " sz=%x type=%x dev=%x qid=%x.%llx.%x\n"
@@ -1268,10 +1266,8 @@ int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst)
1268 wst->atime, wst->mtime, (unsigned long long)wst->length, 1266 wst->atime, wst->mtime, (unsigned long long)wst->length,
1269 wst->name, wst->uid, wst->gid, wst->muid, wst->extension, 1267 wst->name, wst->uid, wst->gid, wst->muid, wst->extension,
1270 wst->n_uid, wst->n_gid, wst->n_muid); 1268 wst->n_uid, wst->n_gid, wst->n_muid);
1271 err = 0;
1272 clnt = fid->clnt;
1273 1269
1274 req = p9_client_rpc(clnt, P9_TWSTAT, "dwS", fid->fid, 0, wst); 1270 req = p9_client_rpc(clnt, P9_TWSTAT, "dwS", fid->fid, wst->size, wst);
1275 if (IS_ERR(req)) { 1271 if (IS_ERR(req)) {
1276 err = PTR_ERR(req); 1272 err = PTR_ERR(req);
1277 goto error; 1273 goto error;
diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
index c613ed08a5ee..a2a1814c7a8d 100644
--- a/net/9p/trans_fd.c
+++ b/net/9p/trans_fd.c
@@ -213,8 +213,8 @@ static void p9_conn_cancel(struct p9_conn *m, int err)
213 spin_unlock_irqrestore(&m->client->lock, flags); 213 spin_unlock_irqrestore(&m->client->lock, flags);
214 214
215 list_for_each_entry_safe(req, rtmp, &cancel_list, req_list) { 215 list_for_each_entry_safe(req, rtmp, &cancel_list, req_list) {
216 list_del(&req->req_list);
217 P9_DPRINTK(P9_DEBUG_ERROR, "call back req %p\n", req); 216 P9_DPRINTK(P9_DEBUG_ERROR, "call back req %p\n", req);
217 list_del(&req->req_list);
218 p9_client_cb(m->client, req); 218 p9_client_cb(m->client, req);
219 } 219 }
220} 220}
@@ -336,7 +336,8 @@ static void p9_read_work(struct work_struct *work)
336 "mux %p pkt: size: %d bytes tag: %d\n", m, n, tag); 336 "mux %p pkt: size: %d bytes tag: %d\n", m, n, tag);
337 337
338 m->req = p9_tag_lookup(m->client, tag); 338 m->req = p9_tag_lookup(m->client, tag);
339 if (!m->req) { 339 if (!m->req || (m->req->status != REQ_STATUS_SENT &&
340 m->req->status != REQ_STATUS_FLSH)) {
340 P9_DPRINTK(P9_DEBUG_ERROR, "Unexpected packet tag %d\n", 341 P9_DPRINTK(P9_DEBUG_ERROR, "Unexpected packet tag %d\n",
341 tag); 342 tag);
342 err = -EIO; 343 err = -EIO;
@@ -361,10 +362,11 @@ static void p9_read_work(struct work_struct *work)
361 if ((m->req) && (m->rpos == m->rsize)) { /* packet is read in */ 362 if ((m->req) && (m->rpos == m->rsize)) { /* packet is read in */
362 P9_DPRINTK(P9_DEBUG_TRANS, "got new packet\n"); 363 P9_DPRINTK(P9_DEBUG_TRANS, "got new packet\n");
363 spin_lock(&m->client->lock); 364 spin_lock(&m->client->lock);
365 if (m->req->status != REQ_STATUS_ERROR)
366 m->req->status = REQ_STATUS_RCVD;
364 list_del(&m->req->req_list); 367 list_del(&m->req->req_list);
365 spin_unlock(&m->client->lock); 368 spin_unlock(&m->client->lock);
366 p9_client_cb(m->client, m->req); 369 p9_client_cb(m->client, m->req);
367
368 m->rbuf = NULL; 370 m->rbuf = NULL;
369 m->rpos = 0; 371 m->rpos = 0;
370 m->rsize = 0; 372 m->rsize = 0;
@@ -454,6 +456,7 @@ static void p9_write_work(struct work_struct *work)
454 req = list_entry(m->unsent_req_list.next, struct p9_req_t, 456 req = list_entry(m->unsent_req_list.next, struct p9_req_t,
455 req_list); 457 req_list);
456 req->status = REQ_STATUS_SENT; 458 req->status = REQ_STATUS_SENT;
459 P9_DPRINTK(P9_DEBUG_TRANS, "move req %p\n", req);
457 list_move_tail(&req->req_list, &m->req_list); 460 list_move_tail(&req->req_list, &m->req_list);
458 461
459 m->wbuf = req->tc->sdata; 462 m->wbuf = req->tc->sdata;
@@ -683,12 +686,13 @@ static int p9_fd_cancel(struct p9_client *client, struct p9_req_t *req)
683 P9_DPRINTK(P9_DEBUG_TRANS, "client %p req %p\n", client, req); 686 P9_DPRINTK(P9_DEBUG_TRANS, "client %p req %p\n", client, req);
684 687
685 spin_lock(&client->lock); 688 spin_lock(&client->lock);
686 list_del(&req->req_list);
687 689
688 if (req->status == REQ_STATUS_UNSENT) { 690 if (req->status == REQ_STATUS_UNSENT) {
691 list_del(&req->req_list);
689 req->status = REQ_STATUS_FLSHD; 692 req->status = REQ_STATUS_FLSHD;
690 ret = 0; 693 ret = 0;
691 } 694 } else if (req->status == REQ_STATUS_SENT)
695 req->status = REQ_STATUS_FLSH;
692 696
693 spin_unlock(&client->lock); 697 spin_unlock(&client->lock);
694 698
diff --git a/net/9p/trans_rdma.c b/net/9p/trans_rdma.c
index 7fa0eb20b2f6..ac4990041ebb 100644
--- a/net/9p/trans_rdma.c
+++ b/net/9p/trans_rdma.c
@@ -295,6 +295,7 @@ handle_recv(struct p9_client *client, struct p9_trans_rdma *rdma,
295 goto err_out; 295 goto err_out;
296 296
297 req->rc = c->rc; 297 req->rc = c->rc;
298 req->status = REQ_STATUS_RCVD;
298 p9_client_cb(client, req); 299 p9_client_cb(client, req);
299 300
300 return; 301 return;
diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
index 2d7781ec663b..bb8579a141a8 100644
--- a/net/9p/trans_virtio.c
+++ b/net/9p/trans_virtio.c
@@ -134,6 +134,7 @@ static void req_done(struct virtqueue *vq)
134 P9_DPRINTK(P9_DEBUG_TRANS, ": rc %p\n", rc); 134 P9_DPRINTK(P9_DEBUG_TRANS, ": rc %p\n", rc);
135 P9_DPRINTK(P9_DEBUG_TRANS, ": lookup tag %d\n", rc->tag); 135 P9_DPRINTK(P9_DEBUG_TRANS, ": lookup tag %d\n", rc->tag);
136 req = p9_tag_lookup(chan->client, rc->tag); 136 req = p9_tag_lookup(chan->client, rc->tag);
137 req->status = REQ_STATUS_RCVD;
137 p9_client_cb(chan->client, req); 138 p9_client_cb(chan->client, req);
138 } 139 }
139} 140}
diff --git a/net/Kconfig b/net/Kconfig
index ce77db4fcec8..c19f549c8e74 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -119,12 +119,6 @@ menuconfig NETFILTER
119 <file:Documentation/Changes> under "iptables" for the location of 119 <file:Documentation/Changes> under "iptables" for the location of
120 these packages. 120 these packages.
121 121
122 Make sure to say N to "Fast switching" below if you intend to say Y
123 here, as Fast switching currently bypasses netfilter.
124
125 Chances are that you should say Y here if you compile a kernel which
126 will run as a router and N for regular hosts. If unsure, say N.
127
128if NETFILTER 122if NETFILTER
129 123
130config NETFILTER_DEBUG 124config NETFILTER_DEBUG
diff --git a/net/atm/br2684.c b/net/atm/br2684.c
index 334fcd4a4ea4..3100a8940afc 100644
--- a/net/atm/br2684.c
+++ b/net/atm/br2684.c
@@ -549,6 +549,7 @@ static void br2684_setup(struct net_device *netdev)
549 struct br2684_dev *brdev = BRPRIV(netdev); 549 struct br2684_dev *brdev = BRPRIV(netdev);
550 550
551 ether_setup(netdev); 551 ether_setup(netdev);
552 brdev->net_dev = netdev;
552 553
553 netdev->netdev_ops = &br2684_netdev_ops; 554 netdev->netdev_ops = &br2684_netdev_ops;
554 555
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 375f4b4f7f79..fa47d5d84f5c 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -171,10 +171,8 @@ static void hci_conn_timeout(unsigned long arg)
171 switch (conn->state) { 171 switch (conn->state) {
172 case BT_CONNECT: 172 case BT_CONNECT:
173 case BT_CONNECT2: 173 case BT_CONNECT2:
174 if (conn->type == ACL_LINK) 174 if (conn->type == ACL_LINK && conn->out)
175 hci_acl_connect_cancel(conn); 175 hci_acl_connect_cancel(conn);
176 else
177 hci_acl_disconn(conn, 0x13);
178 break; 176 break;
179 case BT_CONFIG: 177 case BT_CONFIG:
180 case BT_CONNECTED: 178 case BT_CONNECTED:
@@ -248,6 +246,8 @@ struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst)
248 if (hdev->notify) 246 if (hdev->notify)
249 hdev->notify(hdev, HCI_NOTIFY_CONN_ADD); 247 hdev->notify(hdev, HCI_NOTIFY_CONN_ADD);
250 248
249 hci_conn_init_sysfs(conn);
250
251 tasklet_enable(&hdev->tx_task); 251 tasklet_enable(&hdev->tx_task);
252 252
253 return conn; 253 return conn;
@@ -290,6 +290,8 @@ int hci_conn_del(struct hci_conn *conn)
290 290
291 hci_conn_del_sysfs(conn); 291 hci_conn_del_sysfs(conn);
292 292
293 hci_dev_put(hdev);
294
293 return 0; 295 return 0;
294} 296}
295 297
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 4e7cb88e5da9..184ba0a88ec0 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -1493,7 +1493,7 @@ static inline void hci_pin_code_request_evt(struct hci_dev *hdev, struct sk_buff
1493 hci_dev_lock(hdev); 1493 hci_dev_lock(hdev);
1494 1494
1495 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); 1495 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
1496 if (conn) { 1496 if (conn && conn->state == BT_CONNECTED) {
1497 hci_conn_hold(conn); 1497 hci_conn_hold(conn);
1498 conn->disc_timeout = HCI_PAIRING_TIMEOUT; 1498 conn->disc_timeout = HCI_PAIRING_TIMEOUT;
1499 hci_conn_put(conn); 1499 hci_conn_put(conn);
diff --git a/net/bluetooth/hci_sysfs.c b/net/bluetooth/hci_sysfs.c
index b7c51082ddeb..4cc3624bd22d 100644
--- a/net/bluetooth/hci_sysfs.c
+++ b/net/bluetooth/hci_sysfs.c
@@ -9,7 +9,7 @@
9struct class *bt_class = NULL; 9struct class *bt_class = NULL;
10EXPORT_SYMBOL_GPL(bt_class); 10EXPORT_SYMBOL_GPL(bt_class);
11 11
12static struct workqueue_struct *bluetooth; 12static struct workqueue_struct *bt_workq;
13 13
14static inline char *link_typetostr(int type) 14static inline char *link_typetostr(int type)
15{ 15{
@@ -88,35 +88,19 @@ static struct device_type bt_link = {
88static void add_conn(struct work_struct *work) 88static void add_conn(struct work_struct *work)
89{ 89{
90 struct hci_conn *conn = container_of(work, struct hci_conn, work_add); 90 struct hci_conn *conn = container_of(work, struct hci_conn, work_add);
91 struct hci_dev *hdev = conn->hdev;
92
93 /* ensure previous del is complete */
94 flush_work(&conn->work_del);
91 95
92 /* ensure previous add/del is complete */ 96 dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle);
93 flush_workqueue(bluetooth);
94 97
95 if (device_add(&conn->dev) < 0) { 98 if (device_add(&conn->dev) < 0) {
96 BT_ERR("Failed to register connection device"); 99 BT_ERR("Failed to register connection device");
97 return; 100 return;
98 } 101 }
99}
100 102
101void hci_conn_add_sysfs(struct hci_conn *conn) 103 hci_dev_hold(hdev);
102{
103 struct hci_dev *hdev = conn->hdev;
104
105 BT_DBG("conn %p", conn);
106
107 conn->dev.type = &bt_link;
108 conn->dev.class = bt_class;
109 conn->dev.parent = &hdev->dev;
110
111 dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle);
112
113 dev_set_drvdata(&conn->dev, conn);
114
115 device_initialize(&conn->dev);
116
117 INIT_WORK(&conn->work_add, add_conn);
118
119 queue_work(bluetooth, &conn->work_add);
120} 104}
121 105
122/* 106/*
@@ -134,8 +118,11 @@ static void del_conn(struct work_struct *work)
134 struct hci_conn *conn = container_of(work, struct hci_conn, work_del); 118 struct hci_conn *conn = container_of(work, struct hci_conn, work_del);
135 struct hci_dev *hdev = conn->hdev; 119 struct hci_dev *hdev = conn->hdev;
136 120
137 /* ensure previous add/del is complete */ 121 /* ensure previous add is complete */
138 flush_workqueue(bluetooth); 122 flush_work(&conn->work_add);
123
124 if (!device_is_registered(&conn->dev))
125 return;
139 126
140 while (1) { 127 while (1) {
141 struct device *dev; 128 struct device *dev;
@@ -149,19 +136,40 @@ static void del_conn(struct work_struct *work)
149 136
150 device_del(&conn->dev); 137 device_del(&conn->dev);
151 put_device(&conn->dev); 138 put_device(&conn->dev);
139
152 hci_dev_put(hdev); 140 hci_dev_put(hdev);
153} 141}
154 142
155void hci_conn_del_sysfs(struct hci_conn *conn) 143void hci_conn_init_sysfs(struct hci_conn *conn)
156{ 144{
145 struct hci_dev *hdev = conn->hdev;
146
157 BT_DBG("conn %p", conn); 147 BT_DBG("conn %p", conn);
158 148
159 if (!device_is_registered(&conn->dev)) 149 conn->dev.type = &bt_link;
160 return; 150 conn->dev.class = bt_class;
151 conn->dev.parent = &hdev->dev;
152
153 dev_set_drvdata(&conn->dev, conn);
154
155 device_initialize(&conn->dev);
161 156
157 INIT_WORK(&conn->work_add, add_conn);
162 INIT_WORK(&conn->work_del, del_conn); 158 INIT_WORK(&conn->work_del, del_conn);
159}
160
161void hci_conn_add_sysfs(struct hci_conn *conn)
162{
163 BT_DBG("conn %p", conn);
164
165 queue_work(bt_workq, &conn->work_add);
166}
167
168void hci_conn_del_sysfs(struct hci_conn *conn)
169{
170 BT_DBG("conn %p", conn);
163 171
164 queue_work(bluetooth, &conn->work_del); 172 queue_work(bt_workq, &conn->work_del);
165} 173}
166 174
167static inline char *host_typetostr(int type) 175static inline char *host_typetostr(int type)
@@ -438,13 +446,13 @@ void hci_unregister_sysfs(struct hci_dev *hdev)
438 446
439int __init bt_sysfs_init(void) 447int __init bt_sysfs_init(void)
440{ 448{
441 bluetooth = create_singlethread_workqueue("bluetooth"); 449 bt_workq = create_singlethread_workqueue("bluetooth");
442 if (!bluetooth) 450 if (!bt_workq)
443 return -ENOMEM; 451 return -ENOMEM;
444 452
445 bt_class = class_create(THIS_MODULE, "bluetooth"); 453 bt_class = class_create(THIS_MODULE, "bluetooth");
446 if (IS_ERR(bt_class)) { 454 if (IS_ERR(bt_class)) {
447 destroy_workqueue(bluetooth); 455 destroy_workqueue(bt_workq);
448 return PTR_ERR(bt_class); 456 return PTR_ERR(bt_class);
449 } 457 }
450 458
@@ -453,7 +461,7 @@ int __init bt_sysfs_init(void)
453 461
454void bt_sysfs_cleanup(void) 462void bt_sysfs_cleanup(void)
455{ 463{
456 destroy_workqueue(bluetooth); 464 destroy_workqueue(bt_workq);
457 465
458 class_destroy(bt_class); 466 class_destroy(bt_class);
459} 467}
diff --git a/net/core/dev.c b/net/core/dev.c
index 308a7d0c277f..e2e9e4af3ace 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1735,11 +1735,12 @@ u16 skb_tx_hash(const struct net_device *dev, const struct sk_buff *skb)
1735{ 1735{
1736 u32 hash; 1736 u32 hash;
1737 1737
1738 if (skb_rx_queue_recorded(skb)) { 1738 if (skb_rx_queue_recorded(skb))
1739 hash = skb_get_rx_queue(skb); 1739 return skb_get_rx_queue(skb) % dev->real_num_tx_queues;
1740 } else if (skb->sk && skb->sk->sk_hash) { 1740
1741 if (skb->sk && skb->sk->sk_hash)
1741 hash = skb->sk->sk_hash; 1742 hash = skb->sk->sk_hash;
1742 } else 1743 else
1743 hash = skb->protocol; 1744 hash = skb->protocol;
1744 1745
1745 hash = jhash_1word(hash, skb_tx_hashrnd); 1746 hash = jhash_1word(hash, skb_tx_hashrnd);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index ce6356cd9f71..d152394b2611 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -502,7 +502,9 @@ int skb_recycle_check(struct sk_buff *skb, int skb_size)
502 shinfo->gso_segs = 0; 502 shinfo->gso_segs = 0;
503 shinfo->gso_type = 0; 503 shinfo->gso_type = 0;
504 shinfo->ip6_frag_id = 0; 504 shinfo->ip6_frag_id = 0;
505 shinfo->tx_flags.flags = 0;
505 shinfo->frag_list = NULL; 506 shinfo->frag_list = NULL;
507 memset(&shinfo->hwtstamps, 0, sizeof(shinfo->hwtstamps));
506 508
507 memset(skb, 0, offsetof(struct sk_buff, tail)); 509 memset(skb, 0, offsetof(struct sk_buff, tail));
508 skb->data = skb->head + NET_SKB_PAD; 510 skb->data = skb->head + NET_SKB_PAD;
@@ -1365,9 +1367,8 @@ static void sock_spd_release(struct splice_pipe_desc *spd, unsigned int i)
1365 1367
1366static inline struct page *linear_to_page(struct page *page, unsigned int *len, 1368static inline struct page *linear_to_page(struct page *page, unsigned int *len,
1367 unsigned int *offset, 1369 unsigned int *offset,
1368 struct sk_buff *skb) 1370 struct sk_buff *skb, struct sock *sk)
1369{ 1371{
1370 struct sock *sk = skb->sk;
1371 struct page *p = sk->sk_sndmsg_page; 1372 struct page *p = sk->sk_sndmsg_page;
1372 unsigned int off; 1373 unsigned int off;
1373 1374
@@ -1405,13 +1406,14 @@ new_page:
1405 */ 1406 */
1406static inline int spd_fill_page(struct splice_pipe_desc *spd, struct page *page, 1407static inline int spd_fill_page(struct splice_pipe_desc *spd, struct page *page,
1407 unsigned int *len, unsigned int offset, 1408 unsigned int *len, unsigned int offset,
1408 struct sk_buff *skb, int linear) 1409 struct sk_buff *skb, int linear,
1410 struct sock *sk)
1409{ 1411{
1410 if (unlikely(spd->nr_pages == PIPE_BUFFERS)) 1412 if (unlikely(spd->nr_pages == PIPE_BUFFERS))
1411 return 1; 1413 return 1;
1412 1414
1413 if (linear) { 1415 if (linear) {
1414 page = linear_to_page(page, len, &offset, skb); 1416 page = linear_to_page(page, len, &offset, skb, sk);
1415 if (!page) 1417 if (!page)
1416 return 1; 1418 return 1;
1417 } else 1419 } else
@@ -1442,7 +1444,8 @@ static inline void __segment_seek(struct page **page, unsigned int *poff,
1442static inline int __splice_segment(struct page *page, unsigned int poff, 1444static inline int __splice_segment(struct page *page, unsigned int poff,
1443 unsigned int plen, unsigned int *off, 1445 unsigned int plen, unsigned int *off,
1444 unsigned int *len, struct sk_buff *skb, 1446 unsigned int *len, struct sk_buff *skb,
1445 struct splice_pipe_desc *spd, int linear) 1447 struct splice_pipe_desc *spd, int linear,
1448 struct sock *sk)
1446{ 1449{
1447 if (!*len) 1450 if (!*len)
1448 return 1; 1451 return 1;
@@ -1465,7 +1468,7 @@ static inline int __splice_segment(struct page *page, unsigned int poff,
1465 /* the linear region may spread across several pages */ 1468 /* the linear region may spread across several pages */
1466 flen = min_t(unsigned int, flen, PAGE_SIZE - poff); 1469 flen = min_t(unsigned int, flen, PAGE_SIZE - poff);
1467 1470
1468 if (spd_fill_page(spd, page, &flen, poff, skb, linear)) 1471 if (spd_fill_page(spd, page, &flen, poff, skb, linear, sk))
1469 return 1; 1472 return 1;
1470 1473
1471 __segment_seek(&page, &poff, &plen, flen); 1474 __segment_seek(&page, &poff, &plen, flen);
@@ -1481,8 +1484,8 @@ static inline int __splice_segment(struct page *page, unsigned int poff,
1481 * pipe is full or if we already spliced the requested length. 1484 * pipe is full or if we already spliced the requested length.
1482 */ 1485 */
1483static int __skb_splice_bits(struct sk_buff *skb, unsigned int *offset, 1486static int __skb_splice_bits(struct sk_buff *skb, unsigned int *offset,
1484 unsigned int *len, 1487 unsigned int *len, struct splice_pipe_desc *spd,
1485 struct splice_pipe_desc *spd) 1488 struct sock *sk)
1486{ 1489{
1487 int seg; 1490 int seg;
1488 1491
@@ -1492,7 +1495,7 @@ static int __skb_splice_bits(struct sk_buff *skb, unsigned int *offset,
1492 if (__splice_segment(virt_to_page(skb->data), 1495 if (__splice_segment(virt_to_page(skb->data),
1493 (unsigned long) skb->data & (PAGE_SIZE - 1), 1496 (unsigned long) skb->data & (PAGE_SIZE - 1),
1494 skb_headlen(skb), 1497 skb_headlen(skb),
1495 offset, len, skb, spd, 1)) 1498 offset, len, skb, spd, 1, sk))
1496 return 1; 1499 return 1;
1497 1500
1498 /* 1501 /*
@@ -1502,7 +1505,7 @@ static int __skb_splice_bits(struct sk_buff *skb, unsigned int *offset,
1502 const skb_frag_t *f = &skb_shinfo(skb)->frags[seg]; 1505 const skb_frag_t *f = &skb_shinfo(skb)->frags[seg];
1503 1506
1504 if (__splice_segment(f->page, f->page_offset, f->size, 1507 if (__splice_segment(f->page, f->page_offset, f->size,
1505 offset, len, skb, spd, 0)) 1508 offset, len, skb, spd, 0, sk))
1506 return 1; 1509 return 1;
1507 } 1510 }
1508 1511
@@ -1528,12 +1531,13 @@ int skb_splice_bits(struct sk_buff *skb, unsigned int offset,
1528 .ops = &sock_pipe_buf_ops, 1531 .ops = &sock_pipe_buf_ops,
1529 .spd_release = sock_spd_release, 1532 .spd_release = sock_spd_release,
1530 }; 1533 };
1534 struct sock *sk = skb->sk;
1531 1535
1532 /* 1536 /*
1533 * __skb_splice_bits() only fails if the output has no room left, 1537 * __skb_splice_bits() only fails if the output has no room left,
1534 * so no point in going over the frag_list for the error case. 1538 * so no point in going over the frag_list for the error case.
1535 */ 1539 */
1536 if (__skb_splice_bits(skb, &offset, &tlen, &spd)) 1540 if (__skb_splice_bits(skb, &offset, &tlen, &spd, sk))
1537 goto done; 1541 goto done;
1538 else if (!tlen) 1542 else if (!tlen)
1539 goto done; 1543 goto done;
@@ -1545,14 +1549,13 @@ int skb_splice_bits(struct sk_buff *skb, unsigned int offset,
1545 struct sk_buff *list = skb_shinfo(skb)->frag_list; 1549 struct sk_buff *list = skb_shinfo(skb)->frag_list;
1546 1550
1547 for (; list && tlen; list = list->next) { 1551 for (; list && tlen; list = list->next) {
1548 if (__skb_splice_bits(list, &offset, &tlen, &spd)) 1552 if (__skb_splice_bits(list, &offset, &tlen, &spd, sk))
1549 break; 1553 break;
1550 } 1554 }
1551 } 1555 }
1552 1556
1553done: 1557done:
1554 if (spd.nr_pages) { 1558 if (spd.nr_pages) {
1555 struct sock *sk = skb->sk;
1556 int ret; 1559 int ret;
1557 1560
1558 /* 1561 /*
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
index b2cf91e4ccaa..9d26a3da37e5 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -407,7 +407,7 @@ config INET_XFRM_MODE_BEET
407 If unsure, say Y. 407 If unsure, say Y.
408 408
409config INET_LRO 409config INET_LRO
410 tristate "Large Receive Offload (ipv4/tcp)" 410 bool "Large Receive Offload (ipv4/tcp)"
411 411
412 ---help--- 412 ---help---
413 Support for Large Receive Offload (ipv4/tcp). 413 Support for Large Receive Offload (ipv4/tcp).
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index c96a6bb25430..eec3e6f9956c 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -597,16 +597,6 @@ static void tcp_event_data_recv(struct sock *sk, struct sk_buff *skb)
597 tcp_grow_window(sk, skb); 597 tcp_grow_window(sk, skb);
598} 598}
599 599
600static u32 tcp_rto_min(struct sock *sk)
601{
602 struct dst_entry *dst = __sk_dst_get(sk);
603 u32 rto_min = TCP_RTO_MIN;
604
605 if (dst && dst_metric_locked(dst, RTAX_RTO_MIN))
606 rto_min = dst_metric_rtt(dst, RTAX_RTO_MIN);
607 return rto_min;
608}
609
610/* Called to compute a smoothed rtt estimate. The data fed to this 600/* Called to compute a smoothed rtt estimate. The data fed to this
611 * routine either comes from timestamps, or from segments that were 601 * routine either comes from timestamps, or from segments that were
612 * known _not_ to have been retransmitted [see Karn/Partridge 602 * known _not_ to have been retransmitted [see Karn/Partridge
diff --git a/net/ipv6/netfilter/ip6t_ipv6header.c b/net/ipv6/netfilter/ip6t_ipv6header.c
index 14e6724d5672..91490ad9302c 100644
--- a/net/ipv6/netfilter/ip6t_ipv6header.c
+++ b/net/ipv6/netfilter/ip6t_ipv6header.c
@@ -50,14 +50,14 @@ ipv6header_mt6(const struct sk_buff *skb, const struct xt_match_param *par)
50 struct ipv6_opt_hdr _hdr; 50 struct ipv6_opt_hdr _hdr;
51 int hdrlen; 51 int hdrlen;
52 52
53 /* Is there enough space for the next ext header? */
54 if (len < (int)sizeof(struct ipv6_opt_hdr))
55 return false;
56 /* No more exthdr -> evaluate */ 53 /* No more exthdr -> evaluate */
57 if (nexthdr == NEXTHDR_NONE) { 54 if (nexthdr == NEXTHDR_NONE) {
58 temp |= MASK_NONE; 55 temp |= MASK_NONE;
59 break; 56 break;
60 } 57 }
58 /* Is there enough space for the next ext header? */
59 if (len < (int)sizeof(struct ipv6_opt_hdr))
60 return false;
61 /* ESP -> evaluate */ 61 /* ESP -> evaluate */
62 if (nexthdr == NEXTHDR_ESP) { 62 if (nexthdr == NEXTHDR_ESP) {
63 temp |= MASK_ESP; 63 temp |= MASK_ESP;
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index fbcbed6cad01..14134193cd17 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -757,6 +757,7 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
757 local->hw.conf.long_frame_max_tx_count = 4; 757 local->hw.conf.long_frame_max_tx_count = 4;
758 local->hw.conf.short_frame_max_tx_count = 7; 758 local->hw.conf.short_frame_max_tx_count = 7;
759 local->hw.conf.radio_enabled = true; 759 local->hw.conf.radio_enabled = true;
760 local->user_power_level = -1;
760 761
761 INIT_LIST_HEAD(&local->interfaces); 762 INIT_LIST_HEAD(&local->interfaces);
762 mutex_init(&local->iflist_mtx); 763 mutex_init(&local->iflist_mtx);
@@ -909,6 +910,13 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
909 if (result < 0) 910 if (result < 0)
910 goto fail_sta_info; 911 goto fail_sta_info;
911 912
913 result = ieee80211_wep_init(local);
914 if (result < 0) {
915 printk(KERN_DEBUG "%s: Failed to initialize wep: %d\n",
916 wiphy_name(local->hw.wiphy), result);
917 goto fail_wep;
918 }
919
912 rtnl_lock(); 920 rtnl_lock();
913 result = dev_alloc_name(local->mdev, local->mdev->name); 921 result = dev_alloc_name(local->mdev, local->mdev->name);
914 if (result < 0) 922 if (result < 0)
@@ -930,14 +938,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
930 goto fail_rate; 938 goto fail_rate;
931 } 939 }
932 940
933 result = ieee80211_wep_init(local);
934
935 if (result < 0) {
936 printk(KERN_DEBUG "%s: Failed to initialize wep: %d\n",
937 wiphy_name(local->hw.wiphy), result);
938 goto fail_wep;
939 }
940
941 /* add one default STA interface if supported */ 941 /* add one default STA interface if supported */
942 if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_STATION)) { 942 if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_STATION)) {
943 result = ieee80211_if_add(local, "wlan%d", NULL, 943 result = ieee80211_if_add(local, "wlan%d", NULL,
@@ -967,13 +967,13 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
967 967
968 return 0; 968 return 0;
969 969
970fail_wep:
971 rate_control_deinitialize(local);
972fail_rate: 970fail_rate:
973 unregister_netdevice(local->mdev); 971 unregister_netdevice(local->mdev);
974 local->mdev = NULL; 972 local->mdev = NULL;
975fail_dev: 973fail_dev:
976 rtnl_unlock(); 974 rtnl_unlock();
975 ieee80211_wep_free(local);
976fail_wep:
977 sta_info_stop(local); 977 sta_info_stop(local);
978fail_sta_info: 978fail_sta_info:
979 debugfs_hw_del(local); 979 debugfs_hw_del(local);
diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c
index 3824990d340b..d9233ec50610 100644
--- a/net/mac80211/rc80211_minstrel.c
+++ b/net/mac80211/rc80211_minstrel.c
@@ -476,8 +476,8 @@ minstrel_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp)
476 return NULL; 476 return NULL;
477 477
478 for (i = 0; i < IEEE80211_NUM_BANDS; i++) { 478 for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
479 sband = hw->wiphy->bands[hw->conf.channel->band]; 479 sband = hw->wiphy->bands[i];
480 if (sband->n_bitrates > max_rates) 480 if (sband && sband->n_bitrates > max_rates)
481 max_rates = sband->n_bitrates; 481 max_rates = sband->n_bitrates;
482 } 482 }
483 483
diff --git a/net/mac80211/rc80211_pid_algo.c b/net/mac80211/rc80211_pid_algo.c
index b16801cde06f..8bef9a1262ff 100644
--- a/net/mac80211/rc80211_pid_algo.c
+++ b/net/mac80211/rc80211_pid_algo.c
@@ -317,13 +317,44 @@ rate_control_pid_rate_init(void *priv, struct ieee80211_supported_band *sband,
317 struct ieee80211_sta *sta, void *priv_sta) 317 struct ieee80211_sta *sta, void *priv_sta)
318{ 318{
319 struct rc_pid_sta_info *spinfo = priv_sta; 319 struct rc_pid_sta_info *spinfo = priv_sta;
320 struct rc_pid_info *pinfo = priv;
321 struct rc_pid_rateinfo *rinfo = pinfo->rinfo;
320 struct sta_info *si; 322 struct sta_info *si;
323 int i, j, tmp;
324 bool s;
321 325
322 /* TODO: This routine should consider using RSSI from previous packets 326 /* TODO: This routine should consider using RSSI from previous packets
323 * as we need to have IEEE 802.1X auth succeed immediately after assoc.. 327 * as we need to have IEEE 802.1X auth succeed immediately after assoc..
324 * Until that method is implemented, we will use the lowest supported 328 * Until that method is implemented, we will use the lowest supported
325 * rate as a workaround. */ 329 * rate as a workaround. */
326 330
331 /* Sort the rates. This is optimized for the most common case (i.e.
332 * almost-sorted CCK+OFDM rates). Kind of bubble-sort with reversed
333 * mapping too. */
334 for (i = 0; i < sband->n_bitrates; i++) {
335 rinfo[i].index = i;
336 rinfo[i].rev_index = i;
337 if (RC_PID_FAST_START)
338 rinfo[i].diff = 0;
339 else
340 rinfo[i].diff = i * pinfo->norm_offset;
341 }
342 for (i = 1; i < sband->n_bitrates; i++) {
343 s = 0;
344 for (j = 0; j < sband->n_bitrates - i; j++)
345 if (unlikely(sband->bitrates[rinfo[j].index].bitrate >
346 sband->bitrates[rinfo[j + 1].index].bitrate)) {
347 tmp = rinfo[j].index;
348 rinfo[j].index = rinfo[j + 1].index;
349 rinfo[j + 1].index = tmp;
350 rinfo[rinfo[j].index].rev_index = j;
351 rinfo[rinfo[j + 1].index].rev_index = j + 1;
352 s = 1;
353 }
354 if (!s)
355 break;
356 }
357
327 spinfo->txrate_idx = rate_lowest_index(sband, sta); 358 spinfo->txrate_idx = rate_lowest_index(sband, sta);
328 /* HACK */ 359 /* HACK */
329 si = container_of(sta, struct sta_info, sta); 360 si = container_of(sta, struct sta_info, sta);
@@ -336,21 +367,22 @@ static void *rate_control_pid_alloc(struct ieee80211_hw *hw,
336 struct rc_pid_info *pinfo; 367 struct rc_pid_info *pinfo;
337 struct rc_pid_rateinfo *rinfo; 368 struct rc_pid_rateinfo *rinfo;
338 struct ieee80211_supported_band *sband; 369 struct ieee80211_supported_band *sband;
339 int i, j, tmp; 370 int i, max_rates = 0;
340 bool s;
341#ifdef CONFIG_MAC80211_DEBUGFS 371#ifdef CONFIG_MAC80211_DEBUGFS
342 struct rc_pid_debugfs_entries *de; 372 struct rc_pid_debugfs_entries *de;
343#endif 373#endif
344 374
345 sband = hw->wiphy->bands[hw->conf.channel->band];
346
347 pinfo = kmalloc(sizeof(*pinfo), GFP_ATOMIC); 375 pinfo = kmalloc(sizeof(*pinfo), GFP_ATOMIC);
348 if (!pinfo) 376 if (!pinfo)
349 return NULL; 377 return NULL;
350 378
351 /* We can safely assume that sband won't change unless we get 379 for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
352 * reinitialized. */ 380 sband = hw->wiphy->bands[i];
353 rinfo = kmalloc(sizeof(*rinfo) * sband->n_bitrates, GFP_ATOMIC); 381 if (sband && sband->n_bitrates > max_rates)
382 max_rates = sband->n_bitrates;
383 }
384
385 rinfo = kmalloc(sizeof(*rinfo) * max_rates, GFP_ATOMIC);
354 if (!rinfo) { 386 if (!rinfo) {
355 kfree(pinfo); 387 kfree(pinfo);
356 return NULL; 388 return NULL;
@@ -368,33 +400,6 @@ static void *rate_control_pid_alloc(struct ieee80211_hw *hw,
368 pinfo->rinfo = rinfo; 400 pinfo->rinfo = rinfo;
369 pinfo->oldrate = 0; 401 pinfo->oldrate = 0;
370 402
371 /* Sort the rates. This is optimized for the most common case (i.e.
372 * almost-sorted CCK+OFDM rates). Kind of bubble-sort with reversed
373 * mapping too. */
374 for (i = 0; i < sband->n_bitrates; i++) {
375 rinfo[i].index = i;
376 rinfo[i].rev_index = i;
377 if (RC_PID_FAST_START)
378 rinfo[i].diff = 0;
379 else
380 rinfo[i].diff = i * pinfo->norm_offset;
381 }
382 for (i = 1; i < sband->n_bitrates; i++) {
383 s = 0;
384 for (j = 0; j < sband->n_bitrates - i; j++)
385 if (unlikely(sband->bitrates[rinfo[j].index].bitrate >
386 sband->bitrates[rinfo[j + 1].index].bitrate)) {
387 tmp = rinfo[j].index;
388 rinfo[j].index = rinfo[j + 1].index;
389 rinfo[j + 1].index = tmp;
390 rinfo[rinfo[j].index].rev_index = j;
391 rinfo[rinfo[j + 1].index].rev_index = j + 1;
392 s = 1;
393 }
394 if (!s)
395 break;
396 }
397
398#ifdef CONFIG_MAC80211_DEBUGFS 403#ifdef CONFIG_MAC80211_DEBUGFS
399 de = &pinfo->dentries; 404 de = &pinfo->dentries;
400 de->target = debugfs_create_u32("target_pf", S_IRUSR | S_IWUSR, 405 de->target = debugfs_create_u32("target_pf", S_IRUSR | S_IWUSR,
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 3fb04a86444d..63656266d567 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -772,7 +772,7 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *tx)
772 hdrlen = ieee80211_hdrlen(hdr->frame_control); 772 hdrlen = ieee80211_hdrlen(hdr->frame_control);
773 773
774 /* internal error, why is TX_FRAGMENTED set? */ 774 /* internal error, why is TX_FRAGMENTED set? */
775 if (WARN_ON(skb->len <= frag_threshold)) 775 if (WARN_ON(skb->len + FCS_LEN <= frag_threshold))
776 return TX_DROP; 776 return TX_DROP;
777 777
778 /* 778 /*
diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
index 881203c4a142..cb3ad741ebf8 100644
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
@@ -837,6 +837,7 @@ config NETFILTER_XT_MATCH_SOCKET
837 depends on NETFILTER_TPROXY 837 depends on NETFILTER_TPROXY
838 depends on NETFILTER_XTABLES 838 depends on NETFILTER_XTABLES
839 depends on NETFILTER_ADVANCED 839 depends on NETFILTER_ADVANCED
840 depends on !NF_CONNTRACK || NF_CONNTRACK
840 select NF_DEFRAG_IPV4 841 select NF_DEFRAG_IPV4
841 help 842 help
842 This option adds a `socket' match, which can be used to match 843 This option adds a `socket' match, which can be used to match
diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
index 60aba45023ff..77bfdfeb966e 100644
--- a/net/netfilter/ipvs/ip_vs_conn.c
+++ b/net/netfilter/ipvs/ip_vs_conn.c
@@ -260,7 +260,10 @@ struct ip_vs_conn *ip_vs_ct_in_get
260 list_for_each_entry(cp, &ip_vs_conn_tab[hash], c_list) { 260 list_for_each_entry(cp, &ip_vs_conn_tab[hash], c_list) {
261 if (cp->af == af && 261 if (cp->af == af &&
262 ip_vs_addr_equal(af, s_addr, &cp->caddr) && 262 ip_vs_addr_equal(af, s_addr, &cp->caddr) &&
263 ip_vs_addr_equal(af, d_addr, &cp->vaddr) && 263 /* protocol should only be IPPROTO_IP if
264 * d_addr is a fwmark */
265 ip_vs_addr_equal(protocol == IPPROTO_IP ? AF_UNSPEC : af,
266 d_addr, &cp->vaddr) &&
264 s_port == cp->cport && d_port == cp->vport && 267 s_port == cp->cport && d_port == cp->vport &&
265 cp->flags & IP_VS_CONN_F_TEMPLATE && 268 cp->flags & IP_VS_CONN_F_TEMPLATE &&
266 protocol == cp->protocol) { 269 protocol == cp->protocol) {
@@ -698,7 +701,9 @@ ip_vs_conn_new(int af, int proto, const union nf_inet_addr *caddr, __be16 cport,
698 cp->cport = cport; 701 cp->cport = cport;
699 ip_vs_addr_copy(af, &cp->vaddr, vaddr); 702 ip_vs_addr_copy(af, &cp->vaddr, vaddr);
700 cp->vport = vport; 703 cp->vport = vport;
701 ip_vs_addr_copy(af, &cp->daddr, daddr); 704 /* proto should only be IPPROTO_IP if d_addr is a fwmark */
705 ip_vs_addr_copy(proto == IPPROTO_IP ? AF_UNSPEC : af,
706 &cp->daddr, daddr);
702 cp->dport = dport; 707 cp->dport = dport;
703 cp->flags = flags; 708 cp->flags = flags;
704 spin_lock_init(&cp->lock); 709 spin_lock_init(&cp->lock);
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index cb3e031335eb..8dddb17a947a 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/netfilter/ipvs/ip_vs_core.c
@@ -278,7 +278,7 @@ ip_vs_sched_persist(struct ip_vs_service *svc,
278 */ 278 */
279 if (svc->fwmark) { 279 if (svc->fwmark) {
280 union nf_inet_addr fwmark = { 280 union nf_inet_addr fwmark = {
281 .all = { 0, 0, 0, htonl(svc->fwmark) } 281 .ip = htonl(svc->fwmark)
282 }; 282 };
283 283
284 ct = ip_vs_ct_in_get(svc->af, IPPROTO_IP, &snet, 0, 284 ct = ip_vs_ct_in_get(svc->af, IPPROTO_IP, &snet, 0,
@@ -306,7 +306,7 @@ ip_vs_sched_persist(struct ip_vs_service *svc,
306 */ 306 */
307 if (svc->fwmark) { 307 if (svc->fwmark) {
308 union nf_inet_addr fwmark = { 308 union nf_inet_addr fwmark = {
309 .all = { 0, 0, 0, htonl(svc->fwmark) } 309 .ip = htonl(svc->fwmark)
310 }; 310 };
311 311
312 ct = ip_vs_conn_new(svc->af, IPPROTO_IP, 312 ct = ip_vs_conn_new(svc->af, IPPROTO_IP,
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index f13fc57e1ecb..c523f0b8cee5 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -1186,28 +1186,6 @@ ctnetlink_change_conntrack(struct nf_conn *ct, struct nlattr *cda[])
1186 return 0; 1186 return 0;
1187} 1187}
1188 1188
1189static inline void
1190ctnetlink_event_report(struct nf_conn *ct, u32 pid, int report)
1191{
1192 unsigned int events = 0;
1193
1194 if (test_bit(IPS_EXPECTED_BIT, &ct->status))
1195 events |= IPCT_RELATED;
1196 else
1197 events |= IPCT_NEW;
1198
1199 nf_conntrack_event_report(IPCT_STATUS |
1200 IPCT_HELPER |
1201 IPCT_REFRESH |
1202 IPCT_PROTOINFO |
1203 IPCT_NATSEQADJ |
1204 IPCT_MARK |
1205 events,
1206 ct,
1207 pid,
1208 report);
1209}
1210
1211static struct nf_conn * 1189static struct nf_conn *
1212ctnetlink_create_conntrack(struct nlattr *cda[], 1190ctnetlink_create_conntrack(struct nlattr *cda[],
1213 struct nf_conntrack_tuple *otuple, 1191 struct nf_conntrack_tuple *otuple,
@@ -1373,6 +1351,7 @@ ctnetlink_new_conntrack(struct sock *ctnl, struct sk_buff *skb,
1373 err = -ENOENT; 1351 err = -ENOENT;
1374 if (nlh->nlmsg_flags & NLM_F_CREATE) { 1352 if (nlh->nlmsg_flags & NLM_F_CREATE) {
1375 struct nf_conn *ct; 1353 struct nf_conn *ct;
1354 enum ip_conntrack_events events;
1376 1355
1377 ct = ctnetlink_create_conntrack(cda, &otuple, 1356 ct = ctnetlink_create_conntrack(cda, &otuple,
1378 &rtuple, u3); 1357 &rtuple, u3);
@@ -1383,9 +1362,18 @@ ctnetlink_new_conntrack(struct sock *ctnl, struct sk_buff *skb,
1383 err = 0; 1362 err = 0;
1384 nf_conntrack_get(&ct->ct_general); 1363 nf_conntrack_get(&ct->ct_general);
1385 spin_unlock_bh(&nf_conntrack_lock); 1364 spin_unlock_bh(&nf_conntrack_lock);
1386 ctnetlink_event_report(ct, 1365 if (test_bit(IPS_EXPECTED_BIT, &ct->status))
1387 NETLINK_CB(skb).pid, 1366 events = IPCT_RELATED;
1388 nlmsg_report(nlh)); 1367 else
1368 events = IPCT_NEW;
1369
1370 nf_conntrack_event_report(IPCT_STATUS |
1371 IPCT_HELPER |
1372 IPCT_PROTOINFO |
1373 IPCT_NATSEQADJ |
1374 IPCT_MARK | events,
1375 ct, NETLINK_CB(skb).pid,
1376 nlmsg_report(nlh));
1389 nf_ct_put(ct); 1377 nf_ct_put(ct);
1390 } else 1378 } else
1391 spin_unlock_bh(&nf_conntrack_lock); 1379 spin_unlock_bh(&nf_conntrack_lock);
@@ -1404,9 +1392,13 @@ ctnetlink_new_conntrack(struct sock *ctnl, struct sk_buff *skb,
1404 if (err == 0) { 1392 if (err == 0) {
1405 nf_conntrack_get(&ct->ct_general); 1393 nf_conntrack_get(&ct->ct_general);
1406 spin_unlock_bh(&nf_conntrack_lock); 1394 spin_unlock_bh(&nf_conntrack_lock);
1407 ctnetlink_event_report(ct, 1395 nf_conntrack_event_report(IPCT_STATUS |
1408 NETLINK_CB(skb).pid, 1396 IPCT_HELPER |
1409 nlmsg_report(nlh)); 1397 IPCT_PROTOINFO |
1398 IPCT_NATSEQADJ |
1399 IPCT_MARK,
1400 ct, NETLINK_CB(skb).pid,
1401 nlmsg_report(nlh));
1410 nf_ct_put(ct); 1402 nf_ct_put(ct);
1411 } else 1403 } else
1412 spin_unlock_bh(&nf_conntrack_lock); 1404 spin_unlock_bh(&nf_conntrack_lock);
diff --git a/net/netfilter/xt_cluster.c b/net/netfilter/xt_cluster.c
index 6c4847662b85..69a639f35403 100644
--- a/net/netfilter/xt_cluster.c
+++ b/net/netfilter/xt_cluster.c
@@ -135,7 +135,13 @@ static bool xt_cluster_mt_checkentry(const struct xt_mtchk_param *par)
135{ 135{
136 struct xt_cluster_match_info *info = par->matchinfo; 136 struct xt_cluster_match_info *info = par->matchinfo;
137 137
138 if (info->node_mask >= (1 << info->total_nodes)) { 138 if (info->total_nodes > XT_CLUSTER_NODES_MAX) {
139 printk(KERN_ERR "xt_cluster: you have exceeded the maximum "
140 "number of cluster nodes (%u > %u)\n",
141 info->total_nodes, XT_CLUSTER_NODES_MAX);
142 return false;
143 }
144 if (info->node_mask >= (1ULL << info->total_nodes)) {
139 printk(KERN_ERR "xt_cluster: this node mask cannot be " 145 printk(KERN_ERR "xt_cluster: this node mask cannot be "
140 "higher than the total number of nodes\n"); 146 "higher than the total number of nodes\n");
141 return false; 147 return false;
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 173fcc4b050d..0759f32e9dca 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -254,7 +254,7 @@ replay:
254 } 254 }
255 tp->ops = tp_ops; 255 tp->ops = tp_ops;
256 tp->protocol = protocol; 256 tp->protocol = protocol;
257 tp->prio = nprio ? : tcf_auto_prio(*back); 257 tp->prio = nprio ? : TC_H_MAJ(tcf_auto_prio(*back));
258 tp->q = q; 258 tp->q = q;
259 tp->classify = tp_ops->classify; 259 tp->classify = tp_ops->classify;
260 tp->classid = parent; 260 tp->classid = parent;
diff --git a/net/sched/sch_fifo.c b/net/sched/sch_fifo.c
index 92cfc9d7e3b9..69188e8358b4 100644
--- a/net/sched/sch_fifo.c
+++ b/net/sched/sch_fifo.c
@@ -51,7 +51,7 @@ static int fifo_init(struct Qdisc *sch, struct nlattr *opt)
51 u32 limit = qdisc_dev(sch)->tx_queue_len ? : 1; 51 u32 limit = qdisc_dev(sch)->tx_queue_len ? : 1;
52 52
53 if (sch->ops == &bfifo_qdisc_ops) 53 if (sch->ops == &bfifo_qdisc_ops)
54 limit *= qdisc_dev(sch)->mtu; 54 limit *= psched_mtu(qdisc_dev(sch));
55 55
56 q->limit = limit; 56 q->limit = limit;
57 } else { 57 } else {
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c
index a0bfe53f1621..06ca058572f2 100644
--- a/net/sunrpc/xprt.c
+++ b/net/sunrpc/xprt.c
@@ -672,10 +672,8 @@ xprt_init_autodisconnect(unsigned long data)
672 if (test_and_set_bit(XPRT_LOCKED, &xprt->state)) 672 if (test_and_set_bit(XPRT_LOCKED, &xprt->state))
673 goto out_abort; 673 goto out_abort;
674 spin_unlock(&xprt->transport_lock); 674 spin_unlock(&xprt->transport_lock);
675 if (xprt_connecting(xprt)) 675 set_bit(XPRT_CONNECTION_CLOSE, &xprt->state);
676 xprt_release_write(xprt, NULL); 676 queue_work(rpciod_workqueue, &xprt->task_cleanup);
677 else
678 queue_work(rpciod_workqueue, &xprt->task_cleanup);
679 return; 677 return;
680out_abort: 678out_abort:
681 spin_unlock(&xprt->transport_lock); 679 spin_unlock(&xprt->transport_lock);
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index 629a28764da9..42a6f9f20285 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -265,7 +265,7 @@ static int fast_reg_read_chunks(struct svcxprt_rdma *xprt,
265 frmr->page_list->page_list[page_no] = 265 frmr->page_list->page_list[page_no] =
266 ib_dma_map_single(xprt->sc_cm_id->device, 266 ib_dma_map_single(xprt->sc_cm_id->device,
267 page_address(rqstp->rq_arg.pages[page_no]), 267 page_address(rqstp->rq_arg.pages[page_no]),
268 PAGE_SIZE, DMA_TO_DEVICE); 268 PAGE_SIZE, DMA_FROM_DEVICE);
269 if (ib_dma_mapping_error(xprt->sc_cm_id->device, 269 if (ib_dma_mapping_error(xprt->sc_cm_id->device,
270 frmr->page_list->page_list[page_no])) 270 frmr->page_list->page_list[page_no]))
271 goto fatal_err; 271 goto fatal_err;
diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
index 6c26a675435a..8b510c5e8777 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
@@ -183,6 +183,7 @@ static int fast_reg_xdr(struct svcxprt_rdma *xprt,
183 183
184 fatal_err: 184 fatal_err:
185 printk("svcrdma: Error fast registering memory for xprt %p\n", xprt); 185 printk("svcrdma: Error fast registering memory for xprt %p\n", xprt);
186 vec->frmr = NULL;
186 svc_rdma_put_frmr(xprt, frmr); 187 svc_rdma_put_frmr(xprt, frmr);
187 return -EIO; 188 return -EIO;
188} 189}
@@ -516,6 +517,7 @@ static int send_reply(struct svcxprt_rdma *rdma,
516 "svcrdma: could not post a receive buffer, err=%d." 517 "svcrdma: could not post a receive buffer, err=%d."
517 "Closing transport %p.\n", ret, rdma); 518 "Closing transport %p.\n", ret, rdma);
518 set_bit(XPT_CLOSE, &rdma->sc_xprt.xpt_flags); 519 set_bit(XPT_CLOSE, &rdma->sc_xprt.xpt_flags);
520 svc_rdma_put_frmr(rdma, vec->frmr);
519 svc_rdma_put_context(ctxt, 0); 521 svc_rdma_put_context(ctxt, 0);
520 return -ENOTCONN; 522 return -ENOTCONN;
521 } 523 }
@@ -606,6 +608,7 @@ static int send_reply(struct svcxprt_rdma *rdma,
606 return 0; 608 return 0;
607 609
608 err: 610 err:
611 svc_rdma_unmap_dma(ctxt);
609 svc_rdma_put_frmr(rdma, vec->frmr); 612 svc_rdma_put_frmr(rdma, vec->frmr);
610 svc_rdma_put_context(ctxt, 1); 613 svc_rdma_put_context(ctxt, 1);
611 return -EIO; 614 return -EIO;
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
index 3d810e7df3fb..4b0c2fa15e0b 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
@@ -520,8 +520,9 @@ int svc_rdma_post_recv(struct svcxprt_rdma *xprt)
520 svc_xprt_get(&xprt->sc_xprt); 520 svc_xprt_get(&xprt->sc_xprt);
521 ret = ib_post_recv(xprt->sc_qp, &recv_wr, &bad_recv_wr); 521 ret = ib_post_recv(xprt->sc_qp, &recv_wr, &bad_recv_wr);
522 if (ret) { 522 if (ret) {
523 svc_xprt_put(&xprt->sc_xprt); 523 svc_rdma_unmap_dma(ctxt);
524 svc_rdma_put_context(ctxt, 1); 524 svc_rdma_put_context(ctxt, 1);
525 svc_xprt_put(&xprt->sc_xprt);
525 } 526 }
526 return ret; 527 return ret;
527 528
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index d40ff50887aa..e18596146013 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -807,6 +807,9 @@ static void xs_reset_transport(struct sock_xprt *transport)
807 * 807 *
808 * This is used when all requests are complete; ie, no DRC state remains 808 * This is used when all requests are complete; ie, no DRC state remains
809 * on the server we want to save. 809 * on the server we want to save.
810 *
811 * The caller _must_ be holding XPRT_LOCKED in order to avoid issues with
812 * xs_reset_transport() zeroing the socket from underneath a writer.
810 */ 813 */
811static void xs_close(struct rpc_xprt *xprt) 814static void xs_close(struct rpc_xprt *xprt)
812{ 815{
@@ -824,6 +827,14 @@ static void xs_close(struct rpc_xprt *xprt)
824 xprt_disconnect_done(xprt); 827 xprt_disconnect_done(xprt);
825} 828}
826 829
830static void xs_tcp_close(struct rpc_xprt *xprt)
831{
832 if (test_and_clear_bit(XPRT_CONNECTION_CLOSE, &xprt->state))
833 xs_close(xprt);
834 else
835 xs_tcp_shutdown(xprt);
836}
837
827/** 838/**
828 * xs_destroy - prepare to shutdown a transport 839 * xs_destroy - prepare to shutdown a transport
829 * @xprt: doomed transport 840 * @xprt: doomed transport
@@ -1772,6 +1783,15 @@ static void xs_tcp_setup_socket(struct rpc_xprt *xprt,
1772 xprt, -status, xprt_connected(xprt), 1783 xprt, -status, xprt_connected(xprt),
1773 sock->sk->sk_state); 1784 sock->sk->sk_state);
1774 switch (status) { 1785 switch (status) {
1786 default:
1787 printk("%s: connect returned unhandled error %d\n",
1788 __func__, status);
1789 case -EADDRNOTAVAIL:
1790 /* We're probably in TIME_WAIT. Get rid of existing socket,
1791 * and retry
1792 */
1793 set_bit(XPRT_CONNECTION_CLOSE, &xprt->state);
1794 xprt_force_disconnect(xprt);
1775 case -ECONNREFUSED: 1795 case -ECONNREFUSED:
1776 case -ECONNRESET: 1796 case -ECONNRESET:
1777 case -ENETUNREACH: 1797 case -ENETUNREACH:
@@ -1782,10 +1802,6 @@ static void xs_tcp_setup_socket(struct rpc_xprt *xprt,
1782 xprt_clear_connecting(xprt); 1802 xprt_clear_connecting(xprt);
1783 return; 1803 return;
1784 } 1804 }
1785 /* get rid of existing socket, and retry */
1786 xs_tcp_shutdown(xprt);
1787 printk("%s: connect returned unhandled error %d\n",
1788 __func__, status);
1789out_eagain: 1805out_eagain:
1790 status = -EAGAIN; 1806 status = -EAGAIN;
1791out: 1807out:
@@ -1994,7 +2010,7 @@ static struct rpc_xprt_ops xs_tcp_ops = {
1994 .buf_free = rpc_free, 2010 .buf_free = rpc_free,
1995 .send_request = xs_tcp_send_request, 2011 .send_request = xs_tcp_send_request,
1996 .set_retrans_timeout = xprt_set_retrans_timeout_def, 2012 .set_retrans_timeout = xprt_set_retrans_timeout_def,
1997 .close = xs_tcp_shutdown, 2013 .close = xs_tcp_close,
1998 .destroy = xs_destroy, 2014 .destroy = xs_destroy,
1999 .print_stats = xs_tcp_print_stats, 2015 .print_stats = xs_tcp_print_stats,
2000}; 2016};
diff --git a/net/wimax/op-msg.c b/net/wimax/op-msg.c
index 5d149c1b5f0d..9ad4d893a566 100644
--- a/net/wimax/op-msg.c
+++ b/net/wimax/op-msg.c
@@ -149,7 +149,8 @@ struct sk_buff *wimax_msg_alloc(struct wimax_dev *wimax_dev,
149 } 149 }
150 result = nla_put(skb, WIMAX_GNL_MSG_DATA, size, msg); 150 result = nla_put(skb, WIMAX_GNL_MSG_DATA, size, msg);
151 if (result < 0) { 151 if (result < 0) {
152 dev_err(dev, "no memory to add payload in attribute\n"); 152 dev_err(dev, "no memory to add payload (msg %p size %zu) in "
153 "attribute: %d\n", msg, size, result);
153 goto error_nla_put; 154 goto error_nla_put;
154 } 155 }
155 genlmsg_end(skb, genl_msg); 156 genlmsg_end(skb, genl_msg);
@@ -299,10 +300,10 @@ int wimax_msg(struct wimax_dev *wimax_dev, const char *pipe_name,
299 struct sk_buff *skb; 300 struct sk_buff *skb;
300 301
301 skb = wimax_msg_alloc(wimax_dev, pipe_name, buf, size, gfp_flags); 302 skb = wimax_msg_alloc(wimax_dev, pipe_name, buf, size, gfp_flags);
302 if (skb == NULL) 303 if (IS_ERR(skb))
303 goto error_msg_new; 304 result = PTR_ERR(skb);
304 result = wimax_msg_send(wimax_dev, skb); 305 else
305error_msg_new: 306 result = wimax_msg_send(wimax_dev, skb);
306 return result; 307 return result;
307} 308}
308EXPORT_SYMBOL_GPL(wimax_msg); 309EXPORT_SYMBOL_GPL(wimax_msg);
diff --git a/net/wimax/stack.c b/net/wimax/stack.c
index a0ee76b52510..933e1422b09f 100644
--- a/net/wimax/stack.c
+++ b/net/wimax/stack.c
@@ -338,8 +338,21 @@ out:
338 */ 338 */
339void wimax_state_change(struct wimax_dev *wimax_dev, enum wimax_st new_state) 339void wimax_state_change(struct wimax_dev *wimax_dev, enum wimax_st new_state)
340{ 340{
341 /*
342 * A driver cannot take the wimax_dev out of the
343 * __WIMAX_ST_NULL state unless by calling wimax_dev_add(). If
344 * the wimax_dev's state is still NULL, we ignore any request
345 * to change its state because it means it hasn't been yet
346 * registered.
347 *
348 * There is no need to complain about it, as routines that
349 * call this might be shared from different code paths that
350 * are called before or after wimax_dev_add() has done its
351 * job.
352 */
341 mutex_lock(&wimax_dev->mutex); 353 mutex_lock(&wimax_dev->mutex);
342 __wimax_state_change(wimax_dev, new_state); 354 if (wimax_dev->state > __WIMAX_ST_NULL)
355 __wimax_state_change(wimax_dev, new_state);
343 mutex_unlock(&wimax_dev->mutex); 356 mutex_unlock(&wimax_dev->mutex);
344 return; 357 return;
345} 358}
@@ -376,7 +389,7 @@ EXPORT_SYMBOL_GPL(wimax_state_get);
376void wimax_dev_init(struct wimax_dev *wimax_dev) 389void wimax_dev_init(struct wimax_dev *wimax_dev)
377{ 390{
378 INIT_LIST_HEAD(&wimax_dev->id_table_node); 391 INIT_LIST_HEAD(&wimax_dev->id_table_node);
379 __wimax_state_set(wimax_dev, WIMAX_ST_UNINITIALIZED); 392 __wimax_state_set(wimax_dev, __WIMAX_ST_NULL);
380 mutex_init(&wimax_dev->mutex); 393 mutex_init(&wimax_dev->mutex);
381 mutex_init(&wimax_dev->mutex_reset); 394 mutex_init(&wimax_dev->mutex_reset);
382} 395}
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 6c1993d99902..08265ca15785 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -907,6 +907,7 @@ EXPORT_SYMBOL(freq_reg_info);
907int freq_reg_info(struct wiphy *wiphy, u32 center_freq, u32 *bandwidth, 907int freq_reg_info(struct wiphy *wiphy, u32 center_freq, u32 *bandwidth,
908 const struct ieee80211_reg_rule **reg_rule) 908 const struct ieee80211_reg_rule **reg_rule)
909{ 909{
910 assert_cfg80211_lock();
910 return freq_reg_info_regd(wiphy, center_freq, 911 return freq_reg_info_regd(wiphy, center_freq,
911 bandwidth, reg_rule, NULL); 912 bandwidth, reg_rule, NULL);
912} 913}
@@ -1133,7 +1134,8 @@ static bool reg_is_world_roaming(struct wiphy *wiphy)
1133 if (is_world_regdom(cfg80211_regdomain->alpha2) || 1134 if (is_world_regdom(cfg80211_regdomain->alpha2) ||
1134 (wiphy->regd && is_world_regdom(wiphy->regd->alpha2))) 1135 (wiphy->regd && is_world_regdom(wiphy->regd->alpha2)))
1135 return true; 1136 return true;
1136 if (last_request->initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE && 1137 if (last_request &&
1138 last_request->initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE &&
1137 wiphy->custom_regulatory) 1139 wiphy->custom_regulatory)
1138 return true; 1140 return true;
1139 return false; 1141 return false;
@@ -1142,6 +1144,12 @@ static bool reg_is_world_roaming(struct wiphy *wiphy)
1142/* Reap the advantages of previously found beacons */ 1144/* Reap the advantages of previously found beacons */
1143static void reg_process_beacons(struct wiphy *wiphy) 1145static void reg_process_beacons(struct wiphy *wiphy)
1144{ 1146{
1147 /*
1148 * Means we are just firing up cfg80211, so no beacons would
1149 * have been processed yet.
1150 */
1151 if (!last_request)
1152 return;
1145 if (!reg_is_world_roaming(wiphy)) 1153 if (!reg_is_world_roaming(wiphy))
1146 return; 1154 return;
1147 wiphy_update_beacon_reg(wiphy); 1155 wiphy_update_beacon_reg(wiphy);
@@ -1176,6 +1184,8 @@ static void handle_channel_custom(struct wiphy *wiphy,
1176 struct ieee80211_supported_band *sband; 1184 struct ieee80211_supported_band *sband;
1177 struct ieee80211_channel *chan; 1185 struct ieee80211_channel *chan;
1178 1186
1187 assert_cfg80211_lock();
1188
1179 sband = wiphy->bands[band]; 1189 sband = wiphy->bands[band];
1180 BUG_ON(chan_idx >= sband->n_channels); 1190 BUG_ON(chan_idx >= sband->n_channels);
1181 chan = &sband->channels[chan_idx]; 1191 chan = &sband->channels[chan_idx];
@@ -1214,10 +1224,13 @@ void wiphy_apply_custom_regulatory(struct wiphy *wiphy,
1214 const struct ieee80211_regdomain *regd) 1224 const struct ieee80211_regdomain *regd)
1215{ 1225{
1216 enum ieee80211_band band; 1226 enum ieee80211_band band;
1227
1228 mutex_lock(&cfg80211_mutex);
1217 for (band = 0; band < IEEE80211_NUM_BANDS; band++) { 1229 for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
1218 if (wiphy->bands[band]) 1230 if (wiphy->bands[band])
1219 handle_band_custom(wiphy, band, regd); 1231 handle_band_custom(wiphy, band, regd);
1220 } 1232 }
1233 mutex_unlock(&cfg80211_mutex);
1221} 1234}
1222EXPORT_SYMBOL(wiphy_apply_custom_regulatory); 1235EXPORT_SYMBOL(wiphy_apply_custom_regulatory);
1223 1236
@@ -1423,7 +1436,7 @@ new_request:
1423 return call_crda(last_request->alpha2); 1436 return call_crda(last_request->alpha2);
1424} 1437}
1425 1438
1426/* This currently only processes user and driver regulatory hints */ 1439/* This processes *all* regulatory hints */
1427static void reg_process_hint(struct regulatory_request *reg_request) 1440static void reg_process_hint(struct regulatory_request *reg_request)
1428{ 1441{
1429 int r = 0; 1442 int r = 0;
diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index 2ae65b39b529..1f260c40b6ca 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -395,6 +395,7 @@ cfg80211_bss_update(struct cfg80211_registered_device *dev,
395 memcpy(ies, res->pub.information_elements, ielen); 395 memcpy(ies, res->pub.information_elements, ielen);
396 found->ies_allocated = true; 396 found->ies_allocated = true;
397 found->pub.information_elements = ies; 397 found->pub.information_elements = ies;
398 found->pub.len_information_elements = ielen;
398 } 399 }
399 } 400 }
400 } 401 }
diff --git a/scripts/Makefile b/scripts/Makefile
index aafdf064feef..9dd5b25a1d53 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -21,6 +21,7 @@ hostprogs-y += unifdef
21subdir-$(CONFIG_MODVERSIONS) += genksyms 21subdir-$(CONFIG_MODVERSIONS) += genksyms
22subdir-y += mod 22subdir-y += mod
23subdir-$(CONFIG_SECURITY_SELINUX) += selinux 23subdir-$(CONFIG_SECURITY_SELINUX) += selinux
24subdir-$(CONFIG_DTC) += dtc
24 25
25# Let clean descend into subdirs 26# Let clean descend into subdirs
26subdir- += basic kconfig package selinux 27subdir- += basic kconfig package selinux
diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile
new file mode 100644
index 000000000000..01cdb36fc583
--- /dev/null
+++ b/scripts/dtc/Makefile
@@ -0,0 +1,54 @@
1# scripts/dtc makefile
2
3hostprogs-y := dtc
4always := $(hostprogs-y)
5
6dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \
7 srcpos.o checks.o
8dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o
9
10# Source files need to get at the userspace version of libfdt_env.h to compile
11
12HOSTCFLAGS_DTC := -I$(src) -I$(src)/libfdt
13
14HOSTCFLAGS_checks.o := $(HOSTCFLAGS_DTC)
15HOSTCFLAGS_data.o := $(HOSTCFLAGS_DTC)
16HOSTCFLAGS_dtc.o := $(HOSTCFLAGS_DTC)
17HOSTCFLAGS_flattree.o := $(HOSTCFLAGS_DTC)
18HOSTCFLAGS_fstree.o := $(HOSTCFLAGS_DTC)
19HOSTCFLAGS_livetree.o := $(HOSTCFLAGS_DTC)
20HOSTCFLAGS_srcpos.o := $(HOSTCFLAGS_DTC)
21HOSTCFLAGS_treesource.o := $(HOSTCFLAGS_DTC)
22
23HOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC)
24HOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC)
25
26# dependencies on generated files need to be listed explicitly
27$(obj)/dtc-parser.tab.o: $(obj)/dtc-parser.tab.c $(obj)/dtc-parser.tab.h
28$(obj)/dtc-lexer.lex.o: $(obj)/dtc-lexer.lex.c $(obj)/dtc-parser.tab.h
29
30targets += dtc-parser.tab.c dtc-lexer.lex.c
31
32clean-files += dtc-parser.tab.h
33
34# GENERATE_PARSER := 1 # Uncomment to rebuild flex/bison output
35
36ifdef GENERATE_PARSER
37
38BISON = bison
39FLEX = flex
40
41quiet_cmd_bison = BISON $@
42 cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped
43quiet_cmd_flex = FLEX $@
44 cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped
45
46$(obj)/dtc-parser.tab.c: $(src)/dtc-parser.y FORCE
47 $(call if_changed,bison)
48
49$(obj)/dtc-parser.tab.h: $(obj)/dtc-parser.tab.c
50
51$(obj)/dtc-lexer.lex.c: $(src)/dtc-lexer.l FORCE
52 $(call if_changed,flex)
53
54endif
diff --git a/arch/powerpc/boot/dtc-src/Makefile.dtc b/scripts/dtc/Makefile.dtc
index 6ddf9ecac669..6ddf9ecac669 100644
--- a/arch/powerpc/boot/dtc-src/Makefile.dtc
+++ b/scripts/dtc/Makefile.dtc
diff --git a/arch/powerpc/boot/dtc-src/checks.c b/scripts/dtc/checks.c
index 95485796f253..95485796f253 100644
--- a/arch/powerpc/boot/dtc-src/checks.c
+++ b/scripts/dtc/checks.c
diff --git a/arch/powerpc/boot/dtc-src/data.c b/scripts/dtc/data.c
index dd2e3d39d4c1..dd2e3d39d4c1 100644
--- a/arch/powerpc/boot/dtc-src/data.c
+++ b/scripts/dtc/data.c
diff --git a/arch/powerpc/boot/dtc-src/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
index 44dbfd3f0976..44dbfd3f0976 100644
--- a/arch/powerpc/boot/dtc-src/dtc-lexer.l
+++ b/scripts/dtc/dtc-lexer.l
diff --git a/arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
index ac392cb040f6..ac392cb040f6 100644
--- a/arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
diff --git a/arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped
index 27129377e5d2..27129377e5d2 100644
--- a/arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped
+++ b/scripts/dtc/dtc-parser.tab.c_shipped
diff --git a/arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped b/scripts/dtc/dtc-parser.tab.h_shipped
index ba99100d55c9..ba99100d55c9 100644
--- a/arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped
+++ b/scripts/dtc/dtc-parser.tab.h_shipped
diff --git a/arch/powerpc/boot/dtc-src/dtc-parser.y b/scripts/dtc/dtc-parser.y
index b2ab562420ea..b2ab562420ea 100644
--- a/arch/powerpc/boot/dtc-src/dtc-parser.y
+++ b/scripts/dtc/dtc-parser.y
diff --git a/arch/powerpc/boot/dtc-src/dtc.c b/scripts/dtc/dtc.c
index d8fd43b4ac1a..d8fd43b4ac1a 100644
--- a/arch/powerpc/boot/dtc-src/dtc.c
+++ b/scripts/dtc/dtc.c
diff --git a/arch/powerpc/boot/dtc-src/dtc.h b/scripts/dtc/dtc.h
index 08d54c870086..08d54c870086 100644
--- a/arch/powerpc/boot/dtc-src/dtc.h
+++ b/scripts/dtc/dtc.h
diff --git a/arch/powerpc/boot/dtc-src/flattree.c b/scripts/dtc/flattree.c
index 76acd28c068d..76acd28c068d 100644
--- a/arch/powerpc/boot/dtc-src/flattree.c
+++ b/scripts/dtc/flattree.c
diff --git a/arch/powerpc/boot/dtc-src/fstree.c b/scripts/dtc/fstree.c
index 766b2694d935..766b2694d935 100644
--- a/arch/powerpc/boot/dtc-src/fstree.c
+++ b/scripts/dtc/fstree.c
diff --git a/arch/powerpc/boot/libfdt/Makefile.libfdt b/scripts/dtc/libfdt/Makefile.libfdt
index 6c42acfa21ec..6c42acfa21ec 100644
--- a/arch/powerpc/boot/libfdt/Makefile.libfdt
+++ b/scripts/dtc/libfdt/Makefile.libfdt
diff --git a/arch/powerpc/boot/libfdt/fdt.c b/scripts/dtc/libfdt/fdt.c
index 2acaec5923ae..2acaec5923ae 100644
--- a/arch/powerpc/boot/libfdt/fdt.c
+++ b/scripts/dtc/libfdt/fdt.c
diff --git a/arch/powerpc/boot/libfdt/fdt.h b/scripts/dtc/libfdt/fdt.h
index 48ccfd910000..48ccfd910000 100644
--- a/arch/powerpc/boot/libfdt/fdt.h
+++ b/scripts/dtc/libfdt/fdt.h
diff --git a/arch/powerpc/boot/libfdt/fdt_ro.c b/scripts/dtc/libfdt/fdt_ro.c
index fbbba44fcd0d..fbbba44fcd0d 100644
--- a/arch/powerpc/boot/libfdt/fdt_ro.c
+++ b/scripts/dtc/libfdt/fdt_ro.c
diff --git a/arch/powerpc/boot/libfdt/fdt_rw.c b/scripts/dtc/libfdt/fdt_rw.c
index 8e7ec4cb7bcd..8e7ec4cb7bcd 100644
--- a/arch/powerpc/boot/libfdt/fdt_rw.c
+++ b/scripts/dtc/libfdt/fdt_rw.c
diff --git a/arch/powerpc/boot/libfdt/fdt_strerror.c b/scripts/dtc/libfdt/fdt_strerror.c
index e6c3ceee8c58..e6c3ceee8c58 100644
--- a/arch/powerpc/boot/libfdt/fdt_strerror.c
+++ b/scripts/dtc/libfdt/fdt_strerror.c
diff --git a/arch/powerpc/boot/libfdt/fdt_sw.c b/scripts/dtc/libfdt/fdt_sw.c
index 698329e0ccaf..698329e0ccaf 100644
--- a/arch/powerpc/boot/libfdt/fdt_sw.c
+++ b/scripts/dtc/libfdt/fdt_sw.c
diff --git a/arch/powerpc/boot/libfdt/fdt_wip.c b/scripts/dtc/libfdt/fdt_wip.c
index a4652c6e787e..a4652c6e787e 100644
--- a/arch/powerpc/boot/libfdt/fdt_wip.c
+++ b/scripts/dtc/libfdt/fdt_wip.c
diff --git a/arch/powerpc/boot/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h
index ce80e4fb41b2..ce80e4fb41b2 100644
--- a/arch/powerpc/boot/libfdt/libfdt.h
+++ b/scripts/dtc/libfdt/libfdt.h
diff --git a/arch/powerpc/boot/dtc-src/libfdt_env.h b/scripts/dtc/libfdt/libfdt_env.h
index 449bf602daf1..449bf602daf1 100644
--- a/arch/powerpc/boot/dtc-src/libfdt_env.h
+++ b/scripts/dtc/libfdt/libfdt_env.h
diff --git a/arch/powerpc/boot/libfdt/libfdt_internal.h b/scripts/dtc/libfdt/libfdt_internal.h
index 46eb93e4af5c..46eb93e4af5c 100644
--- a/arch/powerpc/boot/libfdt/libfdt_internal.h
+++ b/scripts/dtc/libfdt/libfdt_internal.h
diff --git a/arch/powerpc/boot/dtc-src/livetree.c b/scripts/dtc/livetree.c
index 0ca3de550b3f..0ca3de550b3f 100644
--- a/arch/powerpc/boot/dtc-src/livetree.c
+++ b/scripts/dtc/livetree.c
diff --git a/arch/powerpc/boot/dtc-src/srcpos.c b/scripts/dtc/srcpos.c
index 9641b7628b4d..9641b7628b4d 100644
--- a/arch/powerpc/boot/dtc-src/srcpos.c
+++ b/scripts/dtc/srcpos.c
diff --git a/arch/powerpc/boot/dtc-src/srcpos.h b/scripts/dtc/srcpos.h
index e17c7c04db8e..e17c7c04db8e 100644
--- a/arch/powerpc/boot/dtc-src/srcpos.h
+++ b/scripts/dtc/srcpos.h
diff --git a/arch/powerpc/boot/dtc-src/treesource.c b/scripts/dtc/treesource.c
index ebeb6eb27907..ebeb6eb27907 100644
--- a/arch/powerpc/boot/dtc-src/treesource.c
+++ b/scripts/dtc/treesource.c
diff --git a/arch/powerpc/boot/dtc-src/version_gen.h b/scripts/dtc/version_gen.h
index 658ff42429d6..658ff42429d6 100644
--- a/arch/powerpc/boot/dtc-src/version_gen.h
+++ b/scripts/dtc/version_gen.h
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 0f11870116dc..3208a3a7e7fe 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1411,7 +1411,8 @@ sub dump_struct($$) {
1411 my $file = shift; 1411 my $file = shift;
1412 my $nested; 1412 my $nested;
1413 1413
1414 if ($x =~/(struct|union)\s+(\w+)\s*{(.*)}/) { 1414 if ($x =~ /(struct|union)\s+(\w+)\s*{(.*)}/) {
1415 #my $decl_type = $1;
1415 $declaration_name = $2; 1416 $declaration_name = $2;
1416 my $members = $3; 1417 my $members = $3;
1417 1418
@@ -1420,8 +1421,8 @@ sub dump_struct($$) {
1420 $nested = $1; 1421 $nested = $1;
1421 1422
1422 # ignore members marked private: 1423 # ignore members marked private:
1423 $members =~ s/\/\*.*?private:.*?public:.*?\*\///gos; 1424 $members =~ s/\/\*\s*private:.*?\/\*\s*public:.*?\*\///gos;
1424 $members =~ s/\/\*.*?private:.*//gos; 1425 $members =~ s/\/\*\s*private:.*//gos;
1425 # strip comments: 1426 # strip comments:
1426 $members =~ s/\/\*.*?\*\///gos; 1427 $members =~ s/\/\*.*?\*\///gos;
1427 $nested =~ s/\/\*.*?\*\///gos; 1428 $nested =~ s/\/\*.*?\*\///gos;
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 8d46ea7d6715..161b7846733e 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -384,11 +384,19 @@ static int parse_elf(struct elf_info *info, const char *filename)
384 return 0; 384 return 0;
385 } 385 }
386 /* Fix endianness in ELF header */ 386 /* Fix endianness in ELF header */
387 hdr->e_shoff = TO_NATIVE(hdr->e_shoff); 387 hdr->e_type = TO_NATIVE(hdr->e_type);
388 hdr->e_shstrndx = TO_NATIVE(hdr->e_shstrndx); 388 hdr->e_machine = TO_NATIVE(hdr->e_machine);
389 hdr->e_shnum = TO_NATIVE(hdr->e_shnum); 389 hdr->e_version = TO_NATIVE(hdr->e_version);
390 hdr->e_machine = TO_NATIVE(hdr->e_machine); 390 hdr->e_entry = TO_NATIVE(hdr->e_entry);
391 hdr->e_type = TO_NATIVE(hdr->e_type); 391 hdr->e_phoff = TO_NATIVE(hdr->e_phoff);
392 hdr->e_shoff = TO_NATIVE(hdr->e_shoff);
393 hdr->e_flags = TO_NATIVE(hdr->e_flags);
394 hdr->e_ehsize = TO_NATIVE(hdr->e_ehsize);
395 hdr->e_phentsize = TO_NATIVE(hdr->e_phentsize);
396 hdr->e_phnum = TO_NATIVE(hdr->e_phnum);
397 hdr->e_shentsize = TO_NATIVE(hdr->e_shentsize);
398 hdr->e_shnum = TO_NATIVE(hdr->e_shnum);
399 hdr->e_shstrndx = TO_NATIVE(hdr->e_shstrndx);
392 sechdrs = (void *)hdr + hdr->e_shoff; 400 sechdrs = (void *)hdr + hdr->e_shoff;
393 info->sechdrs = sechdrs; 401 info->sechdrs = sechdrs;
394 402
@@ -402,13 +410,16 @@ static int parse_elf(struct elf_info *info, const char *filename)
402 410
403 /* Fix endianness in section headers */ 411 /* Fix endianness in section headers */
404 for (i = 0; i < hdr->e_shnum; i++) { 412 for (i = 0; i < hdr->e_shnum; i++) {
405 sechdrs[i].sh_type = TO_NATIVE(sechdrs[i].sh_type); 413 sechdrs[i].sh_name = TO_NATIVE(sechdrs[i].sh_name);
406 sechdrs[i].sh_offset = TO_NATIVE(sechdrs[i].sh_offset); 414 sechdrs[i].sh_type = TO_NATIVE(sechdrs[i].sh_type);
407 sechdrs[i].sh_size = TO_NATIVE(sechdrs[i].sh_size); 415 sechdrs[i].sh_flags = TO_NATIVE(sechdrs[i].sh_flags);
408 sechdrs[i].sh_link = TO_NATIVE(sechdrs[i].sh_link); 416 sechdrs[i].sh_addr = TO_NATIVE(sechdrs[i].sh_addr);
409 sechdrs[i].sh_name = TO_NATIVE(sechdrs[i].sh_name); 417 sechdrs[i].sh_offset = TO_NATIVE(sechdrs[i].sh_offset);
410 sechdrs[i].sh_info = TO_NATIVE(sechdrs[i].sh_info); 418 sechdrs[i].sh_size = TO_NATIVE(sechdrs[i].sh_size);
411 sechdrs[i].sh_addr = TO_NATIVE(sechdrs[i].sh_addr); 419 sechdrs[i].sh_link = TO_NATIVE(sechdrs[i].sh_link);
420 sechdrs[i].sh_info = TO_NATIVE(sechdrs[i].sh_info);
421 sechdrs[i].sh_addralign = TO_NATIVE(sechdrs[i].sh_addralign);
422 sechdrs[i].sh_entsize = TO_NATIVE(sechdrs[i].sh_entsize);
412 } 423 }
413 /* Find symbol table. */ 424 /* Find symbol table. */
414 for (i = 1; i < hdr->e_shnum; i++) { 425 for (i = 1; i < hdr->e_shnum; i++) {
@@ -716,41 +727,37 @@ int match(const char *sym, const char * const pat[])
716 727
717/* sections that we do not want to do full section mismatch check on */ 728/* sections that we do not want to do full section mismatch check on */
718static const char *section_white_list[] = 729static const char *section_white_list[] =
719 { ".debug*", ".stab*", ".note*", ".got*", ".toc*", NULL }; 730{
731 ".comment*",
732 ".debug*",
733 ".mdebug*", /* alpha, score, mips etc. */
734 ".pdr", /* alpha, score, mips etc. */
735 ".stab*",
736 ".note*",
737 ".got*",
738 ".toc*",
739 NULL
740};
720 741
721/* 742/*
722 * Is this section one we do not want to check? 743 * This is used to find sections missing the SHF_ALLOC flag.
723 * This is often debug sections.
724 * If we are going to check this section then
725 * test if section name ends with a dot and a number.
726 * This is used to find sections where the linker have
727 * appended a dot-number to make the name unique.
728 * The cause of this is often a section specified in assembler 744 * The cause of this is often a section specified in assembler
729 * without "ax" / "aw" and the same section used in .c 745 * without "ax" / "aw".
730 * code where gcc add these.
731 */ 746 */
732static int check_section(const char *modname, const char *sec) 747static void check_section(const char *modname, struct elf_info *elf,
733{ 748 Elf_Shdr *sechdr)
734 const char *e = sec + strlen(sec) - 1; 749{
735 if (match(sec, section_white_list)) 750 const char *sec = sech_name(elf, sechdr);
736 return 1; 751
737 752 if (sechdr->sh_type == SHT_PROGBITS &&
738 if (*e && isdigit(*e)) { 753 !(sechdr->sh_flags & SHF_ALLOC) &&
739 /* consume all digits */ 754 !match(sec, section_white_list)) {
740 while (*e && e != sec && isdigit(*e)) 755 warn("%s (%s): unexpected non-allocatable section.\n"
741 e--; 756 "Did you forget to use \"ax\"/\"aw\" in a .S file?\n"
742 if (*e == '.' && !strstr(sec, ".linkonce")) { 757 "Note that for example <linux/init.h> contains\n"
743 warn("%s (%s): unexpected section name.\n" 758 "section definitions for use in .S files.\n\n",
744 "The (.[number]+) following section name are " 759 modname, sec);
745 "ld generated and not expected.\n"
746 "Did you forget to use \"ax\"/\"aw\" "
747 "in a .S file?\n"
748 "Note that for example <linux/init.h> contains\n"
749 "section definitions for use in .S files.\n\n",
750 modname, sec);
751 }
752 } 760 }
753 return 0;
754} 761}
755 762
756 763
@@ -928,8 +935,7 @@ static int section_mismatch(const char *fromsec, const char *tosec)
928 * *probe_one, *_console, *_timer 935 * *probe_one, *_console, *_timer
929 * 936 *
930 * Pattern 3: 937 * Pattern 3:
931 * Whitelist all refereces from .text.head to .init.data 938 * Whitelist all references from .head.text to any init section
932 * Whitelist all refereces from .text.head to .init.text
933 * 939 *
934 * Pattern 4: 940 * Pattern 4:
935 * Some symbols belong to init section but still it is ok to reference 941 * Some symbols belong to init section but still it is ok to reference
@@ -1359,7 +1365,7 @@ static void section_rela(const char *modname, struct elf_info *elf,
1359 fromsec = sech_name(elf, sechdr); 1365 fromsec = sech_name(elf, sechdr);
1360 fromsec += strlen(".rela"); 1366 fromsec += strlen(".rela");
1361 /* if from section (name) is know good then skip it */ 1367 /* if from section (name) is know good then skip it */
1362 if (check_section(modname, fromsec)) 1368 if (match(fromsec, section_white_list))
1363 return; 1369 return;
1364 1370
1365 for (rela = start; rela < stop; rela++) { 1371 for (rela = start; rela < stop; rela++) {
@@ -1403,7 +1409,7 @@ static void section_rel(const char *modname, struct elf_info *elf,
1403 fromsec = sech_name(elf, sechdr); 1409 fromsec = sech_name(elf, sechdr);
1404 fromsec += strlen(".rel"); 1410 fromsec += strlen(".rel");
1405 /* if from section (name) is know good then skip it */ 1411 /* if from section (name) is know good then skip it */
1406 if (check_section(modname, fromsec)) 1412 if (match(fromsec, section_white_list))
1407 return; 1413 return;
1408 1414
1409 for (rel = start; rel < stop; rel++) { 1415 for (rel = start; rel < stop; rel++) {
@@ -1466,6 +1472,7 @@ static void check_sec_ref(struct module *mod, const char *modname,
1466 1472
1467 /* Walk through all sections */ 1473 /* Walk through all sections */
1468 for (i = 0; i < elf->hdr->e_shnum; i++) { 1474 for (i = 0; i < elf->hdr->e_shnum; i++) {
1475 check_section(modname, elf, &elf->sechdrs[i]);
1469 /* We want to process only relocation sections and not .init */ 1476 /* We want to process only relocation sections and not .init */
1470 if (sechdrs[i].sh_type == SHT_RELA) 1477 if (sechdrs[i].sh_type == SHT_RELA)
1471 section_rela(modname, elf, &elf->sechdrs[i]); 1478 section_rela(modname, elf, &elf->sechdrs[i]);
@@ -1990,6 +1997,7 @@ static void read_markers(const char *fname)
1990 if (!mod->skip) 1997 if (!mod->skip)
1991 add_marker(mod, marker, fmt); 1998 add_marker(mod, marker, fmt);
1992 } 1999 }
2000 release_file(file, size);
1993 return; 2001 return;
1994fail: 2002fail:
1995 fatal("parse error in markers list file\n"); 2003 fatal("parse error in markers list file\n");
diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index 47e75b69a2e9..32c8554f3946 100755
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -10,13 +10,12 @@ cd "${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 --short 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 tag?
14 if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then 14 if atag=`git describe 2>/dev/null`; then
15 if tag=`git describe 2>/dev/null`; then 15 echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}'
16 echo $tag | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' 16 # add -g${head}, if there is no usable tag
17 else 17 else
18 printf '%s%s' -g $head 18 printf '%s%s' -g $head
19 fi
20 fi 19 fi
21 20
22 # Is this git on svn? 21 # Is this git on svn?
diff --git a/scripts/tags.sh b/scripts/tags.sh
index 5bd8b1003d44..4a34ec591e8c 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -164,10 +164,12 @@ case "$1" in
164 ;; 164 ;;
165 165
166 "tags") 166 "tags")
167 rm -f tags
167 xtags ctags 168 xtags ctags
168 ;; 169 ;;
169 170
170 "TAGS") 171 "TAGS")
172 rm -f TAGS
171 xtags etags 173 xtags etags
172 ;; 174 ;;
173esac 175esac
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index ba808ef6babb..2fcad7c33eaf 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -3153,7 +3153,7 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk,
3153 struct fown_struct *fown, int signum) 3153 struct fown_struct *fown, int signum)
3154{ 3154{
3155 struct file *file; 3155 struct file *file;
3156 u32 sid = current_sid(); 3156 u32 sid = task_sid(tsk);
3157 u32 perm; 3157 u32 perm;
3158 struct file_security_struct *fsec; 3158 struct file_security_struct *fsec;
3159 3159
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index d4d41b3efc7c..ddfb9cccf468 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -1720,14 +1720,14 @@ static bool tomoyo_policy_loader_exists(void)
1720 * policies are not loaded yet. 1720 * policies are not loaded yet.
1721 * Thus, let do_execve() call this function everytime. 1721 * Thus, let do_execve() call this function everytime.
1722 */ 1722 */
1723 struct nameidata nd; 1723 struct path path;
1724 1724
1725 if (path_lookup(tomoyo_loader, LOOKUP_FOLLOW, &nd)) { 1725 if (kern_path(tomoyo_loader, LOOKUP_FOLLOW, &path)) {
1726 printk(KERN_INFO "Not activating Mandatory Access Control now " 1726 printk(KERN_INFO "Not activating Mandatory Access Control now "
1727 "since %s doesn't exist.\n", tomoyo_loader); 1727 "since %s doesn't exist.\n", tomoyo_loader);
1728 return false; 1728 return false;
1729 } 1729 }
1730 path_put(&nd.path); 1730 path_put(&path);
1731 return true; 1731 return true;
1732} 1732}
1733 1733
diff --git a/security/tomoyo/realpath.c b/security/tomoyo/realpath.c
index bf8e2b451687..40927a84cb6e 100644
--- a/security/tomoyo/realpath.c
+++ b/security/tomoyo/realpath.c
@@ -165,11 +165,11 @@ char *tomoyo_realpath_from_path(struct path *path)
165 */ 165 */
166char *tomoyo_realpath(const char *pathname) 166char *tomoyo_realpath(const char *pathname)
167{ 167{
168 struct nameidata nd; 168 struct path path;
169 169
170 if (pathname && path_lookup(pathname, LOOKUP_FOLLOW, &nd) == 0) { 170 if (pathname && kern_path(pathname, LOOKUP_FOLLOW, &path) == 0) {
171 char *buf = tomoyo_realpath_from_path(&nd.path); 171 char *buf = tomoyo_realpath_from_path(&path);
172 path_put(&nd.path); 172 path_put(&path);
173 return buf; 173 return buf;
174 } 174 }
175 return NULL; 175 return NULL;
@@ -184,11 +184,11 @@ char *tomoyo_realpath(const char *pathname)
184 */ 184 */
185char *tomoyo_realpath_nofollow(const char *pathname) 185char *tomoyo_realpath_nofollow(const char *pathname)
186{ 186{
187 struct nameidata nd; 187 struct path path;
188 188
189 if (pathname && path_lookup(pathname, 0, &nd) == 0) { 189 if (pathname && kern_path(pathname, 0, &path) == 0) {
190 char *buf = tomoyo_realpath_from_path(&nd.path); 190 char *buf = tomoyo_realpath_from_path(&path);
191 path_put(&nd.path); 191 path_put(&path);
192 return buf; 192 return buf;
193 } 193 }
194 return NULL; 194 return NULL;
diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
index a2c12d105c9a..6fdca97186e7 100644
--- a/sound/arm/pxa2xx-ac97-lib.c
+++ b/sound/arm/pxa2xx-ac97-lib.c
@@ -65,7 +65,7 @@ static void set_resetgpio_mode(int resetgpio_action)
65 switch (resetgpio_action) { 65 switch (resetgpio_action) {
66 case RESETGPIO_NORMAL_ALTFUNC: 66 case RESETGPIO_NORMAL_ALTFUNC:
67 if (reset_gpio == 113) 67 if (reset_gpio == 113)
68 mode = 113 | GPIO_OUT | GPIO_DFLT_LOW; 68 mode = 113 | GPIO_ALT_FN_2_OUT;
69 if (reset_gpio == 95) 69 if (reset_gpio == 95)
70 mode = 95 | GPIO_ALT_FN_1_OUT; 70 mode = 95 | GPIO_ALT_FN_1_OUT;
71 break; 71 break;
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 63d088f2265f..a2a792c18c40 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -249,6 +249,12 @@ static int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *substream)
249 new_hw_ptr = hw_base + pos; 249 new_hw_ptr = hw_base + pos;
250 } 250 }
251 } 251 }
252 /* Skip the jiffies check for hardwares with BATCH flag.
253 * Such hardware usually just increases the position at each IRQ,
254 * thus it can't give any strange position.
255 */
256 if (runtime->hw.info & SNDRV_PCM_INFO_BATCH)
257 goto no_jiffies_check;
252 hdelta = new_hw_ptr - old_hw_ptr; 258 hdelta = new_hw_ptr - old_hw_ptr;
253 jdelta = jiffies - runtime->hw_ptr_jiffies; 259 jdelta = jiffies - runtime->hw_ptr_jiffies;
254 if (((hdelta * HZ) / runtime->rate) > jdelta + HZ/100) { 260 if (((hdelta * HZ) / runtime->rate) > jdelta + HZ/100) {
@@ -272,6 +278,7 @@ static int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *substream)
272 hw_base -= hw_base % runtime->buffer_size; 278 hw_base -= hw_base % runtime->buffer_size;
273 delta = 0; 279 delta = 0;
274 } 280 }
281 no_jiffies_check:
275 if (delta > runtime->period_size + runtime->period_size / 2) { 282 if (delta > runtime->period_size + runtime->period_size / 2) {
276 hw_ptr_error(substream, 283 hw_ptr_error(substream,
277 "Lost interrupts? " 284 "Lost interrupts? "
diff --git a/sound/drivers/pcsp/pcsp_mixer.c b/sound/drivers/pcsp/pcsp_mixer.c
index caeb0f57fcca..771955a9be71 100644
--- a/sound/drivers/pcsp/pcsp_mixer.c
+++ b/sound/drivers/pcsp/pcsp_mixer.c
@@ -50,7 +50,7 @@ static int pcsp_treble_info(struct snd_kcontrol *kcontrol,
50 uinfo->value.enumerated.items = chip->max_treble + 1; 50 uinfo->value.enumerated.items = chip->max_treble + 1;
51 if (uinfo->value.enumerated.item > chip->max_treble) 51 if (uinfo->value.enumerated.item > chip->max_treble)
52 uinfo->value.enumerated.item = chip->max_treble; 52 uinfo->value.enumerated.item = chip->max_treble;
53 sprintf(uinfo->value.enumerated.name, "%d", 53 sprintf(uinfo->value.enumerated.name, "%lu",
54 PCSP_CALC_RATE(uinfo->value.enumerated.item)); 54 PCSP_CALC_RATE(uinfo->value.enumerated.item));
55 return 0; 55 return 0;
56} 56}
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
index b2b6d50c9425..a25fb7b1f441 100644
--- a/sound/drivers/serial-u16550.c
+++ b/sound/drivers/serial-u16550.c
@@ -963,16 +963,11 @@ static int __devinit snd_serial_probe(struct platform_device *devptr)
963 if (err < 0) 963 if (err < 0)
964 goto _err; 964 goto _err;
965 965
966 sprintf(card->longname, "%s at 0x%lx, irq %d speed %d div %d outs %d ins %d adaptor %s droponfull %d", 966 sprintf(card->longname, "%s [%s] at %#lx, irq %d",
967 card->shortname, 967 card->shortname,
968 uart->base,
969 uart->irq,
970 uart->speed,
971 (int)uart->divisor,
972 outs[dev],
973 ins[dev],
974 adaptor_names[uart->adaptor], 968 adaptor_names[uart->adaptor],
975 uart->drop_on_full); 969 uart->base,
970 uart->irq);
976 971
977 snd_card_set_dev(card, &devptr->dev); 972 snd_card_set_dev(card, &devptr->dev);
978 973
diff --git a/sound/isa/msnd/msnd.c b/sound/isa/msnd/msnd.c
index 906454413ed2..3a1526ae1729 100644
--- a/sound/isa/msnd/msnd.c
+++ b/sound/isa/msnd/msnd.c
@@ -438,7 +438,8 @@ static void snd_msnd_capture_reset_queue(struct snd_msnd *chip,
438static struct snd_pcm_hardware snd_msnd_playback = { 438static struct snd_pcm_hardware snd_msnd_playback = {
439 .info = SNDRV_PCM_INFO_MMAP | 439 .info = SNDRV_PCM_INFO_MMAP |
440 SNDRV_PCM_INFO_INTERLEAVED | 440 SNDRV_PCM_INFO_INTERLEAVED |
441 SNDRV_PCM_INFO_MMAP_VALID, 441 SNDRV_PCM_INFO_MMAP_VALID |
442 SNDRV_PCM_INFO_BATCH,
442 .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, 443 .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
443 .rates = SNDRV_PCM_RATE_8000_48000, 444 .rates = SNDRV_PCM_RATE_8000_48000,
444 .rate_min = 8000, 445 .rate_min = 8000,
@@ -456,7 +457,8 @@ static struct snd_pcm_hardware snd_msnd_playback = {
456static struct snd_pcm_hardware snd_msnd_capture = { 457static struct snd_pcm_hardware snd_msnd_capture = {
457 .info = SNDRV_PCM_INFO_MMAP | 458 .info = SNDRV_PCM_INFO_MMAP |
458 SNDRV_PCM_INFO_INTERLEAVED | 459 SNDRV_PCM_INFO_INTERLEAVED |
459 SNDRV_PCM_INFO_MMAP_VALID, 460 SNDRV_PCM_INFO_MMAP_VALID |
461 SNDRV_PCM_INFO_BATCH,
460 .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, 462 .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
461 .rates = SNDRV_PCM_RATE_8000_48000, 463 .rates = SNDRV_PCM_RATE_8000_48000,
462 .rate_min = 8000, 464 .rate_min = 8000,
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index a299340519df..ce3f2e90f4d7 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -349,7 +349,8 @@ static struct snd_pcm_hardware snd_bt87x_digital_hw = {
349 .info = SNDRV_PCM_INFO_MMAP | 349 .info = SNDRV_PCM_INFO_MMAP |
350 SNDRV_PCM_INFO_INTERLEAVED | 350 SNDRV_PCM_INFO_INTERLEAVED |
351 SNDRV_PCM_INFO_BLOCK_TRANSFER | 351 SNDRV_PCM_INFO_BLOCK_TRANSFER |
352 SNDRV_PCM_INFO_MMAP_VALID, 352 SNDRV_PCM_INFO_MMAP_VALID |
353 SNDRV_PCM_INFO_BATCH,
353 .formats = SNDRV_PCM_FMTBIT_S16_LE, 354 .formats = SNDRV_PCM_FMTBIT_S16_LE,
354 .rates = 0, /* set at runtime */ 355 .rates = 0, /* set at runtime */
355 .channels_min = 2, 356 .channels_min = 2,
@@ -365,7 +366,8 @@ static struct snd_pcm_hardware snd_bt87x_analog_hw = {
365 .info = SNDRV_PCM_INFO_MMAP | 366 .info = SNDRV_PCM_INFO_MMAP |
366 SNDRV_PCM_INFO_INTERLEAVED | 367 SNDRV_PCM_INFO_INTERLEAVED |
367 SNDRV_PCM_INFO_BLOCK_TRANSFER | 368 SNDRV_PCM_INFO_BLOCK_TRANSFER |
368 SNDRV_PCM_INFO_MMAP_VALID, 369 SNDRV_PCM_INFO_MMAP_VALID |
370 SNDRV_PCM_INFO_BATCH,
369 .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S8, 371 .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S8,
370 .rates = SNDRV_PCM_RATE_KNOT, 372 .rates = SNDRV_PCM_RATE_KNOT,
371 .rate_min = ANALOG_CLOCK / CLOCK_DIV_MAX, 373 .rate_min = ANALOG_CLOCK / CLOCK_DIV_MAX,
diff --git a/sound/pci/echoaudio/indigodjx.c b/sound/pci/echoaudio/indigodjx.c
index 3482ef69f491..2e44316530a2 100644
--- a/sound/pci/echoaudio/indigodjx.c
+++ b/sound/pci/echoaudio/indigodjx.c
@@ -88,6 +88,7 @@ static struct snd_pcm_hardware pcm_hardware_skel = {
88 .rates = SNDRV_PCM_RATE_32000 | 88 .rates = SNDRV_PCM_RATE_32000 |
89 SNDRV_PCM_RATE_44100 | 89 SNDRV_PCM_RATE_44100 |
90 SNDRV_PCM_RATE_48000 | 90 SNDRV_PCM_RATE_48000 |
91 SNDRV_PCM_RATE_64000 |
91 SNDRV_PCM_RATE_88200 | 92 SNDRV_PCM_RATE_88200 |
92 SNDRV_PCM_RATE_96000, 93 SNDRV_PCM_RATE_96000,
93 .rate_min = 32000, 94 .rate_min = 32000,
diff --git a/sound/pci/echoaudio/indigoiox.c b/sound/pci/echoaudio/indigoiox.c
index aebee27a40ff..eb3819f9654a 100644
--- a/sound/pci/echoaudio/indigoiox.c
+++ b/sound/pci/echoaudio/indigoiox.c
@@ -89,6 +89,7 @@ static struct snd_pcm_hardware pcm_hardware_skel = {
89 .rates = SNDRV_PCM_RATE_32000 | 89 .rates = SNDRV_PCM_RATE_32000 |
90 SNDRV_PCM_RATE_44100 | 90 SNDRV_PCM_RATE_44100 |
91 SNDRV_PCM_RATE_48000 | 91 SNDRV_PCM_RATE_48000 |
92 SNDRV_PCM_RATE_64000 |
92 SNDRV_PCM_RATE_88200 | 93 SNDRV_PCM_RATE_88200 |
93 SNDRV_PCM_RATE_96000, 94 SNDRV_PCM_RATE_96000,
94 .rate_min = 32000, 95 .rate_min = 32000,
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 917bc5d3ac2c..03b3646018a1 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -4079,7 +4079,12 @@ static int stac92xx_init(struct hda_codec *codec)
4079 pinctl = snd_hda_codec_read(codec, nid, 0, 4079 pinctl = snd_hda_codec_read(codec, nid, 0,
4080 AC_VERB_GET_PIN_WIDGET_CONTROL, 0); 4080 AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
4081 /* if PINCTL already set then skip */ 4081 /* if PINCTL already set then skip */
4082 if (!(pinctl & AC_PINCTL_IN_EN)) { 4082 /* Also, if both INPUT and OUTPUT are set,
4083 * it must be a BIOS bug; need to override, too
4084 */
4085 if (!(pinctl & AC_PINCTL_IN_EN) ||
4086 (pinctl & AC_PINCTL_OUT_EN)) {
4087 pinctl &= ~AC_PINCTL_OUT_EN;
4083 pinctl |= AC_PINCTL_IN_EN; 4088 pinctl |= AC_PINCTL_IN_EN;
4084 stac92xx_auto_set_pinctl(codec, nid, 4089 stac92xx_auto_set_pinctl(codec, nid,
4085 pinctl); 4090 pinctl);
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c
index 8b79969034be..7cc38a11e997 100644
--- a/sound/pci/korg1212/korg1212.c
+++ b/sound/pci/korg1212/korg1212.c
@@ -1238,7 +1238,8 @@ static struct snd_pcm_hardware snd_korg1212_playback_info =
1238{ 1238{
1239 .info = (SNDRV_PCM_INFO_MMAP | 1239 .info = (SNDRV_PCM_INFO_MMAP |
1240 SNDRV_PCM_INFO_MMAP_VALID | 1240 SNDRV_PCM_INFO_MMAP_VALID |
1241 SNDRV_PCM_INFO_INTERLEAVED), 1241 SNDRV_PCM_INFO_INTERLEAVED |
1242 SNDRV_PCM_INFO_BATCH),
1242 .formats = SNDRV_PCM_FMTBIT_S16_LE, 1243 .formats = SNDRV_PCM_FMTBIT_S16_LE,
1243 .rates = (SNDRV_PCM_RATE_44100 | 1244 .rates = (SNDRV_PCM_RATE_44100 |
1244 SNDRV_PCM_RATE_48000), 1245 SNDRV_PCM_RATE_48000),
@@ -1258,7 +1259,8 @@ static struct snd_pcm_hardware snd_korg1212_capture_info =
1258{ 1259{
1259 .info = (SNDRV_PCM_INFO_MMAP | 1260 .info = (SNDRV_PCM_INFO_MMAP |
1260 SNDRV_PCM_INFO_MMAP_VALID | 1261 SNDRV_PCM_INFO_MMAP_VALID |
1261 SNDRV_PCM_INFO_INTERLEAVED), 1262 SNDRV_PCM_INFO_INTERLEAVED |
1263 SNDRV_PCM_INFO_BATCH),
1262 .formats = SNDRV_PCM_FMTBIT_S16_LE, 1264 .formats = SNDRV_PCM_FMTBIT_S16_LE,
1263 .rates = (SNDRV_PCM_RATE_44100 | 1265 .rates = (SNDRV_PCM_RATE_44100 |
1264 SNDRV_PCM_RATE_48000), 1266 SNDRV_PCM_RATE_48000),
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index 6f1034417a02..e51a5ef1954d 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -889,7 +889,7 @@ static int sendcmd(struct cmdif *cif, u32 flags, u32 cmd, u32 parm,
889 spin_lock_irqsave(&cif->lock, irqflags); 889 spin_lock_irqsave(&cif->lock, irqflags);
890 while (i++ < CMDIF_TIMEOUT && !IS_READY(cif->hwport)) 890 while (i++ < CMDIF_TIMEOUT && !IS_READY(cif->hwport))
891 udelay(10); 891 udelay(10);
892 if (i >= CMDIF_TIMEOUT) { 892 if (i > CMDIF_TIMEOUT) {
893 err = -EBUSY; 893 err = -EBUSY;
894 goto errout; 894 goto errout;
895 } 895 }
@@ -907,8 +907,10 @@ static int sendcmd(struct cmdif *cif, u32 flags, u32 cmd, u32 parm,
907 WRITE_PORT_ULONG(cmdport->data1, cmd); /* write cmd */ 907 WRITE_PORT_ULONG(cmdport->data1, cmd); /* write cmd */
908 if ((flags & RESP) && ret) { 908 if ((flags & RESP) && ret) {
909 while (!IS_DATF(cmdport) && 909 while (!IS_DATF(cmdport) &&
910 time++ < CMDIF_TIMEOUT) 910 time < CMDIF_TIMEOUT) {
911 udelay(10); 911 udelay(10);
912 time++;
913 }
912 if (time < CMDIF_TIMEOUT) { /* read response */ 914 if (time < CMDIF_TIMEOUT) { /* read response */
913 ret->retlongs[0] = 915 ret->retlongs[0] =
914 READ_PORT_ULONG(cmdport->data1); 916 READ_PORT_ULONG(cmdport->data1);
@@ -1454,7 +1456,7 @@ static int snd_riptide_trigger(struct snd_pcm_substream *substream, int cmd)
1454 SEND_GPOS(cif, 0, data->id, &rptr); 1456 SEND_GPOS(cif, 0, data->id, &rptr);
1455 udelay(1); 1457 udelay(1);
1456 } while (i != rptr.retlongs[1] && j++ < MAX_WRITE_RETRY); 1458 } while (i != rptr.retlongs[1] && j++ < MAX_WRITE_RETRY);
1457 if (j >= MAX_WRITE_RETRY) 1459 if (j > MAX_WRITE_RETRY)
1458 snd_printk(KERN_ERR "Riptide: Could not stop stream!"); 1460 snd_printk(KERN_ERR "Riptide: Could not stop stream!");
1459 break; 1461 break;
1460 case SNDRV_PCM_TRIGGER_PAUSE_PUSH: 1462 case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
@@ -1783,7 +1785,7 @@ snd_riptide_codec_write(struct snd_ac97 *ac97, unsigned short reg,
1783 SEND_SACR(cif, val, reg); 1785 SEND_SACR(cif, val, reg);
1784 SEND_RACR(cif, reg, &rptr); 1786 SEND_RACR(cif, reg, &rptr);
1785 } while (rptr.retwords[1] != val && i++ < MAX_WRITE_RETRY); 1787 } while (rptr.retwords[1] != val && i++ < MAX_WRITE_RETRY);
1786 if (i == MAX_WRITE_RETRY) 1788 if (i > MAX_WRITE_RETRY)
1787 snd_printdd("Write AC97 reg failed\n"); 1789 snd_printdd("Write AC97 reg failed\n");
1788} 1790}
1789 1791
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
index 809b233dd4a3..1ef58c51c213 100644
--- a/sound/pci/via82xx.c
+++ b/sound/pci/via82xx.c
@@ -1687,7 +1687,7 @@ static int snd_via8233_pcmdxs_volume_put(struct snd_kcontrol *kcontrol,
1687 return change; 1687 return change;
1688} 1688}
1689 1689
1690static const DECLARE_TLV_DB_SCALE(db_scale_dxs, -9450, 150, 1); 1690static const DECLARE_TLV_DB_SCALE(db_scale_dxs, -4650, 150, 1);
1691 1691
1692static struct snd_kcontrol_new snd_via8233_pcmdxs_volume_control __devinitdata = { 1692static struct snd_kcontrol_new snd_via8233_pcmdxs_volume_control __devinitdata = {
1693 .name = "PCM Playback Volume", 1693 .name = "PCM Playback Volume",
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
index 01066c95580e..d057e6489643 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
@@ -240,7 +240,8 @@ static int pdacf_pcm_prepare(struct snd_pcm_substream *subs)
240static struct snd_pcm_hardware pdacf_pcm_capture_hw = { 240static struct snd_pcm_hardware pdacf_pcm_capture_hw = {
241 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 241 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
242 SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME | 242 SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME |
243 SNDRV_PCM_INFO_MMAP_VALID), 243 SNDRV_PCM_INFO_MMAP_VALID |
244 SNDRV_PCM_INFO_BATCH),
244 .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE | 245 .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE |
245 SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_3BE | 246 SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_3BE |
246 SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE, 247 SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE,
diff --git a/sound/soc/au1x/dbdma2.c b/sound/soc/au1x/dbdma2.c
index 30490a259148..594c6c5b7838 100644
--- a/sound/soc/au1x/dbdma2.c
+++ b/sound/soc/au1x/dbdma2.c
@@ -82,7 +82,7 @@ static struct au1xpsc_audio_dmadata *au1xpsc_audio_pcmdma[2];
82/* PCM hardware DMA capabilities - platform specific */ 82/* PCM hardware DMA capabilities - platform specific */
83static const struct snd_pcm_hardware au1xpsc_pcm_hardware = { 83static const struct snd_pcm_hardware au1xpsc_pcm_hardware = {
84 .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | 84 .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
85 SNDRV_PCM_INFO_INTERLEAVED, 85 SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BATCH,
86 .formats = AU1XPSC_PCM_FMTS, 86 .formats = AU1XPSC_PCM_FMTS,
87 .period_bytes_min = AU1XPSC_PERIOD_MIN_BYTES, 87 .period_bytes_min = AU1XPSC_PERIOD_MIN_BYTES,
88 .period_bytes_max = 4096 * 1024 - 1, 88 .period_bytes_max = 4096 * 1024 - 1,
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
index 921b205de28a..df7c8c281d2f 100644
--- a/sound/soc/codecs/twl4030.c
+++ b/sound/soc/codecs/twl4030.c
@@ -836,6 +836,12 @@ static DECLARE_TLV_DB_SCALE(analog_tlv, -2400, 200, 0);
836static DECLARE_TLV_DB_SCALE(output_tvl, -1200, 600, 1); 836static DECLARE_TLV_DB_SCALE(output_tvl, -1200, 600, 1);
837 837
838/* 838/*
839 * Gain control for earpiece amplifier
840 * 0 dB to 12 dB in 6 dB steps (mute instead of -6)
841 */
842static DECLARE_TLV_DB_SCALE(output_ear_tvl, -600, 600, 1);
843
844/*
839 * Capture gain after the ADCs 845 * Capture gain after the ADCs
840 * from 0 dB to 31 dB in 1 dB steps 846 * from 0 dB to 31 dB in 1 dB steps
841 */ 847 */
@@ -900,7 +906,7 @@ static const struct snd_kcontrol_new twl4030_snd_controls[] = {
900 4, 3, 0, output_tvl), 906 4, 3, 0, output_tvl),
901 907
902 SOC_SINGLE_TLV_TWL4030("Earpiece Playback Volume", 908 SOC_SINGLE_TLV_TWL4030("Earpiece Playback Volume",
903 TWL4030_REG_EAR_CTL, 4, 3, 0, output_tvl), 909 TWL4030_REG_EAR_CTL, 4, 3, 0, output_ear_tvl),
904 910
905 /* Common capture gain controls */ 911 /* Common capture gain controls */
906 SOC_DOUBLE_R_TLV("TX1 Digital Capture Volume", 912 SOC_DOUBLE_R_TLV("TX1 Digital Capture Volume",
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c
index 3b1d0993bed9..0275321ff8ab 100644
--- a/sound/soc/codecs/wm8350.c
+++ b/sound/soc/codecs/wm8350.c
@@ -968,7 +968,7 @@ static int wm8350_pcm_trigger(struct snd_pcm_substream *substream,
968 * required for LRC in master mode. The DACs or ADCs need a 968 * required for LRC in master mode. The DACs or ADCs need a
969 * valid audio path i.e. pin -> ADC or DAC -> pin before 969 * valid audio path i.e. pin -> ADC or DAC -> pin before
970 * the LRC will be enabled in master mode. */ 970 * the LRC will be enabled in master mode. */
971 if (!master && cmd != SNDRV_PCM_TRIGGER_START) 971 if (!master || cmd != SNDRV_PCM_TRIGGER_START)
972 return 0; 972 return 0;
973 973
974 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) { 974 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
diff --git a/sound/soc/codecs/wm8990.c b/sound/soc/codecs/wm8990.c
index c518c3e5aa3f..40cd274eb1ef 100644
--- a/sound/soc/codecs/wm8990.c
+++ b/sound/soc/codecs/wm8990.c
@@ -729,7 +729,7 @@ SND_SOC_DAPM_MIXER_E("INMIXL", WM8990_INTDRIVBITS, WM8990_INMIXL_PWR_BIT, 0,
729 inmixer_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), 729 inmixer_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
730 730
731/* AINLMUX */ 731/* AINLMUX */
732SND_SOC_DAPM_MUX_E("AILNMUX", WM8990_INTDRIVBITS, WM8990_AINLMUX_PWR_BIT, 0, 732SND_SOC_DAPM_MUX_E("AINLMUX", WM8990_INTDRIVBITS, WM8990_AINLMUX_PWR_BIT, 0,
733 &wm8990_dapm_ainlmux_controls, inmixer_event, 733 &wm8990_dapm_ainlmux_controls, inmixer_event,
734 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), 734 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
735 735
@@ -740,7 +740,7 @@ SND_SOC_DAPM_MIXER_E("INMIXR", WM8990_INTDRIVBITS, WM8990_INMIXR_PWR_BIT, 0,
740 inmixer_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), 740 inmixer_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
741 741
742/* AINRMUX */ 742/* AINRMUX */
743SND_SOC_DAPM_MUX_E("AIRNMUX", WM8990_INTDRIVBITS, WM8990_AINRMUX_PWR_BIT, 0, 743SND_SOC_DAPM_MUX_E("AINRMUX", WM8990_INTDRIVBITS, WM8990_AINRMUX_PWR_BIT, 0,
744 &wm8990_dapm_ainrmux_controls, inmixer_event, 744 &wm8990_dapm_ainrmux_controls, inmixer_event,
745 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), 745 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
746 746
@@ -848,40 +848,40 @@ static const struct snd_soc_dapm_route audio_map[] = {
848 {"LIN12 PGA", "LIN2 Switch", "LIN2"}, 848 {"LIN12 PGA", "LIN2 Switch", "LIN2"},
849 /* LIN34 PGA */ 849 /* LIN34 PGA */
850 {"LIN34 PGA", "LIN3 Switch", "LIN3"}, 850 {"LIN34 PGA", "LIN3 Switch", "LIN3"},
851 {"LIN34 PGA", "LIN4 Switch", "LIN4"}, 851 {"LIN34 PGA", "LIN4 Switch", "LIN4/RXN"},
852 /* INMIXL */ 852 /* INMIXL */
853 {"INMIXL", "Record Left Volume", "LOMIX"}, 853 {"INMIXL", "Record Left Volume", "LOMIX"},
854 {"INMIXL", "LIN2 Volume", "LIN2"}, 854 {"INMIXL", "LIN2 Volume", "LIN2"},
855 {"INMIXL", "LINPGA12 Switch", "LIN12 PGA"}, 855 {"INMIXL", "LINPGA12 Switch", "LIN12 PGA"},
856 {"INMIXL", "LINPGA34 Switch", "LIN34 PGA"}, 856 {"INMIXL", "LINPGA34 Switch", "LIN34 PGA"},
857 /* AILNMUX */ 857 /* AINLMUX */
858 {"AILNMUX", "INMIXL Mix", "INMIXL"}, 858 {"AINLMUX", "INMIXL Mix", "INMIXL"},
859 {"AILNMUX", "DIFFINL Mix", "LIN12PGA"}, 859 {"AINLMUX", "DIFFINL Mix", "LIN12 PGA"},
860 {"AILNMUX", "DIFFINL Mix", "LIN34PGA"}, 860 {"AINLMUX", "DIFFINL Mix", "LIN34 PGA"},
861 {"AILNMUX", "RXVOICE Mix", "LIN4/RXN"}, 861 {"AINLMUX", "RXVOICE Mix", "LIN4/RXN"},
862 {"AILNMUX", "RXVOICE Mix", "RIN4/RXP"}, 862 {"AINLMUX", "RXVOICE Mix", "RIN4/RXP"},
863 /* ADC */ 863 /* ADC */
864 {"Left ADC", NULL, "AILNMUX"}, 864 {"Left ADC", NULL, "AINLMUX"},
865 865
866 /* RIN12 PGA */ 866 /* RIN12 PGA */
867 {"RIN12 PGA", "RIN1 Switch", "RIN1"}, 867 {"RIN12 PGA", "RIN1 Switch", "RIN1"},
868 {"RIN12 PGA", "RIN2 Switch", "RIN2"}, 868 {"RIN12 PGA", "RIN2 Switch", "RIN2"},
869 /* RIN34 PGA */ 869 /* RIN34 PGA */
870 {"RIN34 PGA", "RIN3 Switch", "RIN3"}, 870 {"RIN34 PGA", "RIN3 Switch", "RIN3"},
871 {"RIN34 PGA", "RIN4 Switch", "RIN4"}, 871 {"RIN34 PGA", "RIN4 Switch", "RIN4/RXP"},
872 /* INMIXL */ 872 /* INMIXL */
873 {"INMIXR", "Record Right Volume", "ROMIX"}, 873 {"INMIXR", "Record Right Volume", "ROMIX"},
874 {"INMIXR", "RIN2 Volume", "RIN2"}, 874 {"INMIXR", "RIN2 Volume", "RIN2"},
875 {"INMIXR", "RINPGA12 Switch", "RIN12 PGA"}, 875 {"INMIXR", "RINPGA12 Switch", "RIN12 PGA"},
876 {"INMIXR", "RINPGA34 Switch", "RIN34 PGA"}, 876 {"INMIXR", "RINPGA34 Switch", "RIN34 PGA"},
877 /* AIRNMUX */ 877 /* AINRMUX */
878 {"AIRNMUX", "INMIXR Mix", "INMIXR"}, 878 {"AINRMUX", "INMIXR Mix", "INMIXR"},
879 {"AIRNMUX", "DIFFINR Mix", "RIN12PGA"}, 879 {"AINRMUX", "DIFFINR Mix", "RIN12 PGA"},
880 {"AIRNMUX", "DIFFINR Mix", "RIN34PGA"}, 880 {"AINRMUX", "DIFFINR Mix", "RIN34 PGA"},
881 {"AIRNMUX", "RXVOICE Mix", "RIN4/RXN"}, 881 {"AINRMUX", "RXVOICE Mix", "LIN4/RXN"},
882 {"AIRNMUX", "RXVOICE Mix", "RIN4/RXP"}, 882 {"AINRMUX", "RXVOICE Mix", "RIN4/RXP"},
883 /* ADC */ 883 /* ADC */
884 {"Right ADC", NULL, "AIRNMUX"}, 884 {"Right ADC", NULL, "AINRMUX"},
885 885
886 /* LOMIX */ 886 /* LOMIX */
887 {"LOMIX", "LOMIX RIN3 Bypass Switch", "RIN3"}, 887 {"LOMIX", "LOMIX RIN3 Bypass Switch", "RIN3"},
@@ -922,7 +922,7 @@ static const struct snd_soc_dapm_route audio_map[] = {
922 {"LOPMIX", "LOPMIX Left Mixer PGA Switch", "LOPGA"}, 922 {"LOPMIX", "LOPMIX Left Mixer PGA Switch", "LOPGA"},
923 923
924 /* OUT3MIX */ 924 /* OUT3MIX */
925 {"OUT3MIX", "OUT3MIX LIN4/RXP Bypass Switch", "LIN4/RXP"}, 925 {"OUT3MIX", "OUT3MIX LIN4/RXP Bypass Switch", "LIN4/RXN"},
926 {"OUT3MIX", "OUT3MIX Left Out PGA Switch", "LOPGA"}, 926 {"OUT3MIX", "OUT3MIX Left Out PGA Switch", "LOPGA"},
927 927
928 /* OUT4MIX */ 928 /* OUT4MIX */
@@ -949,7 +949,7 @@ static const struct snd_soc_dapm_route audio_map[] = {
949 /* Output Pins */ 949 /* Output Pins */
950 {"LON", NULL, "LONMIX"}, 950 {"LON", NULL, "LONMIX"},
951 {"LOP", NULL, "LOPMIX"}, 951 {"LOP", NULL, "LOPMIX"},
952 {"OUT", NULL, "OUT3MIX"}, 952 {"OUT3", NULL, "OUT3MIX"},
953 {"LOUT", NULL, "LOUT PGA"}, 953 {"LOUT", NULL, "LOUT PGA"},
954 {"SPKN", NULL, "SPKMIX"}, 954 {"SPKN", NULL, "SPKMIX"},
955 {"ROUT", NULL, "ROUT PGA"}, 955 {"ROUT", NULL, "ROUT PGA"},
diff --git a/sound/soc/davinci/Kconfig b/sound/soc/davinci/Kconfig
index bd7392c9657e..411a710be660 100644
--- a/sound/soc/davinci/Kconfig
+++ b/sound/soc/davinci/Kconfig
@@ -10,13 +10,14 @@ config SND_DAVINCI_SOC_I2S
10 tristate 10 tristate
11 11
12config SND_DAVINCI_SOC_EVM 12config SND_DAVINCI_SOC_EVM
13 tristate "SoC Audio support for DaVinci EVM" 13 tristate "SoC Audio support for DaVinci DM6446 or DM355 EVM"
14 depends on SND_DAVINCI_SOC && MACH_DAVINCI_EVM 14 depends on SND_DAVINCI_SOC
15 depends on MACH_DAVINCI_EVM || MACH_DAVINCI_DM355_EVM
15 select SND_DAVINCI_SOC_I2S 16 select SND_DAVINCI_SOC_I2S
16 select SND_SOC_TLV320AIC3X 17 select SND_SOC_TLV320AIC3X
17 help 18 help
18 Say Y if you want to add support for SoC audio on TI 19 Say Y if you want to add support for SoC audio on TI
19 DaVinci EVM platform. 20 DaVinci DM6446 or DM355 EVM platforms.
20 21
21config SND_DAVINCI_SOC_SFFSDR 22config SND_DAVINCI_SOC_SFFSDR
22 tristate "SoC Audio support for SFFSDR" 23 tristate "SoC Audio support for SFFSDR"
diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c
index 9b90b347007c..58fd1cbedd88 100644
--- a/sound/soc/davinci/davinci-evm.c
+++ b/sound/soc/davinci/davinci-evm.c
@@ -20,7 +20,11 @@
20#include <sound/soc-dapm.h> 20#include <sound/soc-dapm.h>
21 21
22#include <asm/dma.h> 22#include <asm/dma.h>
23#include <mach/hardware.h> 23#include <asm/mach-types.h>
24
25#include <mach/asp.h>
26#include <mach/edma.h>
27#include <mach/mux.h>
24 28
25#include "../codecs/tlv320aic3x.h" 29#include "../codecs/tlv320aic3x.h"
26#include "davinci-pcm.h" 30#include "davinci-pcm.h"
@@ -150,7 +154,7 @@ static struct snd_soc_card snd_soc_card_evm = {
150 154
151/* evm audio private data */ 155/* evm audio private data */
152static struct aic3x_setup_data evm_aic3x_setup = { 156static struct aic3x_setup_data evm_aic3x_setup = {
153 .i2c_bus = 0, 157 .i2c_bus = 1,
154 .i2c_address = 0x1b, 158 .i2c_address = 0x1b,
155}; 159};
156 160
@@ -161,36 +165,73 @@ static struct snd_soc_device evm_snd_devdata = {
161 .codec_data = &evm_aic3x_setup, 165 .codec_data = &evm_aic3x_setup,
162}; 166};
163 167
168/* DM6446 EVM uses ASP0; line-out is a pair of RCA jacks */
164static struct resource evm_snd_resources[] = { 169static struct resource evm_snd_resources[] = {
165 { 170 {
166 .start = DAVINCI_MCBSP_BASE, 171 .start = DAVINCI_ASP0_BASE,
167 .end = DAVINCI_MCBSP_BASE + SZ_8K - 1, 172 .end = DAVINCI_ASP0_BASE + SZ_8K - 1,
168 .flags = IORESOURCE_MEM, 173 .flags = IORESOURCE_MEM,
169 }, 174 },
170}; 175};
171 176
172static struct evm_snd_platform_data evm_snd_data = { 177static struct evm_snd_platform_data evm_snd_data = {
173 .tx_dma_ch = DM644X_DMACH_MCBSP_TX, 178 .tx_dma_ch = DAVINCI_DMA_ASP0_TX,
174 .rx_dma_ch = DM644X_DMACH_MCBSP_RX, 179 .rx_dma_ch = DAVINCI_DMA_ASP0_RX,
180};
181
182/* DM335 EVM uses ASP1; line-out is a stereo mini-jack */
183static struct resource dm335evm_snd_resources[] = {
184 {
185 .start = DAVINCI_ASP1_BASE,
186 .end = DAVINCI_ASP1_BASE + SZ_8K - 1,
187 .flags = IORESOURCE_MEM,
188 },
189};
190
191static struct evm_snd_platform_data dm335evm_snd_data = {
192 .tx_dma_ch = DAVINCI_DMA_ASP1_TX,
193 .rx_dma_ch = DAVINCI_DMA_ASP1_RX,
175}; 194};
176 195
177static struct platform_device *evm_snd_device; 196static struct platform_device *evm_snd_device;
178 197
179static int __init evm_init(void) 198static int __init evm_init(void)
180{ 199{
200 struct resource *resources;
201 unsigned num_resources;
202 struct evm_snd_platform_data *data;
203 int index;
181 int ret; 204 int ret;
182 205
183 evm_snd_device = platform_device_alloc("soc-audio", 0); 206 if (machine_is_davinci_evm()) {
207 davinci_cfg_reg(DM644X_MCBSP);
208
209 resources = evm_snd_resources;
210 num_resources = ARRAY_SIZE(evm_snd_resources);
211 data = &evm_snd_data;
212 index = 0;
213 } else if (machine_is_davinci_dm355_evm()) {
214 /* we don't use ASP1 IRQs, or we'd need to mux them ... */
215 davinci_cfg_reg(DM355_EVT8_ASP1_TX);
216 davinci_cfg_reg(DM355_EVT9_ASP1_RX);
217
218 resources = dm335evm_snd_resources;
219 num_resources = ARRAY_SIZE(dm335evm_snd_resources);
220 data = &dm335evm_snd_data;
221 index = 1;
222 } else
223 return -EINVAL;
224
225 evm_snd_device = platform_device_alloc("soc-audio", index);
184 if (!evm_snd_device) 226 if (!evm_snd_device)
185 return -ENOMEM; 227 return -ENOMEM;
186 228
187 platform_set_drvdata(evm_snd_device, &evm_snd_devdata); 229 platform_set_drvdata(evm_snd_device, &evm_snd_devdata);
188 evm_snd_devdata.dev = &evm_snd_device->dev; 230 evm_snd_devdata.dev = &evm_snd_device->dev;
189 platform_device_add_data(evm_snd_device, &evm_snd_data, 231 platform_device_add_data(evm_snd_device, data, sizeof(*data));
190 sizeof(evm_snd_data));
191 232
192 ret = platform_device_add_resources(evm_snd_device, evm_snd_resources, 233 ret = platform_device_add_resources(evm_snd_device, resources,
193 ARRAY_SIZE(evm_snd_resources)); 234 num_resources);
194 if (ret) { 235 if (ret) {
195 platform_device_put(evm_snd_device); 236 platform_device_put(evm_snd_device);
196 return ret; 237 return ret;
diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c
index ffdb9439d3d8..b1ea52fc83c7 100644
--- a/sound/soc/davinci/davinci-i2s.c
+++ b/sound/soc/davinci/davinci-i2s.c
@@ -24,6 +24,26 @@
24 24
25#include "davinci-pcm.h" 25#include "davinci-pcm.h"
26 26
27
28/*
29 * NOTE: terminology here is confusing.
30 *
31 * - This driver supports the "Audio Serial Port" (ASP),
32 * found on dm6446, dm355, and other DaVinci chips.
33 *
34 * - But it labels it a "Multi-channel Buffered Serial Port"
35 * (McBSP) as on older chips like the dm642 ... which was
36 * backward-compatible, possibly explaining that confusion.
37 *
38 * - OMAP chips have a controller called McBSP, which is
39 * incompatible with the DaVinci flavor of McBSP.
40 *
41 * - Newer DaVinci chips have a controller called McASP,
42 * incompatible with ASP and with either McBSP.
43 *
44 * In short: this uses ASP to implement I2S, not McBSP.
45 * And it won't be the only DaVinci implemention of I2S.
46 */
27#define DAVINCI_MCBSP_DRR_REG 0x00 47#define DAVINCI_MCBSP_DRR_REG 0x00
28#define DAVINCI_MCBSP_DXR_REG 0x04 48#define DAVINCI_MCBSP_DXR_REG 0x04
29#define DAVINCI_MCBSP_SPCR_REG 0x08 49#define DAVINCI_MCBSP_SPCR_REG 0x08
@@ -421,7 +441,7 @@ static int davinci_i2s_probe(struct platform_device *pdev,
421{ 441{
422 struct snd_soc_device *socdev = platform_get_drvdata(pdev); 442 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
423 struct snd_soc_card *card = socdev->card; 443 struct snd_soc_card *card = socdev->card;
424 struct snd_soc_dai *cpu_dai = card->dai_link[pdev->id].cpu_dai; 444 struct snd_soc_dai *cpu_dai = card->dai_link->cpu_dai;
425 struct davinci_mcbsp_dev *dev; 445 struct davinci_mcbsp_dev *dev;
426 struct resource *mem, *ioarea; 446 struct resource *mem, *ioarea;
427 struct evm_snd_platform_data *pdata; 447 struct evm_snd_platform_data *pdata;
@@ -448,7 +468,7 @@ static int davinci_i2s_probe(struct platform_device *pdev,
448 468
449 cpu_dai->private_data = dev; 469 cpu_dai->private_data = dev;
450 470
451 dev->clk = clk_get(&pdev->dev, "McBSPCLK"); 471 dev->clk = clk_get(&pdev->dev, NULL);
452 if (IS_ERR(dev->clk)) { 472 if (IS_ERR(dev->clk)) {
453 ret = -ENODEV; 473 ret = -ENODEV;
454 goto err_free_mem; 474 goto err_free_mem;
@@ -483,7 +503,7 @@ static void davinci_i2s_remove(struct platform_device *pdev,
483{ 503{
484 struct snd_soc_device *socdev = platform_get_drvdata(pdev); 504 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
485 struct snd_soc_card *card = socdev->card; 505 struct snd_soc_card *card = socdev->card;
486 struct snd_soc_dai *cpu_dai = card->dai_link[pdev->id].cpu_dai; 506 struct snd_soc_dai *cpu_dai = card->dai_link->cpu_dai;
487 struct davinci_mcbsp_dev *dev = cpu_dai->private_data; 507 struct davinci_mcbsp_dev *dev = cpu_dai->private_data;
488 struct resource *mem; 508 struct resource *mem;
489 509
diff --git a/sound/soc/davinci/davinci-pcm.c b/sound/soc/davinci/davinci-pcm.c
index 7af3b5b3a53d..a05996588489 100644
--- a/sound/soc/davinci/davinci-pcm.c
+++ b/sound/soc/davinci/davinci-pcm.c
@@ -22,6 +22,7 @@
22#include <sound/soc.h> 22#include <sound/soc.h>
23 23
24#include <asm/dma.h> 24#include <asm/dma.h>
25#include <mach/edma.h>
25 26
26#include "davinci-pcm.h" 27#include "davinci-pcm.h"
27 28
@@ -51,7 +52,7 @@ struct davinci_runtime_data {
51 spinlock_t lock; 52 spinlock_t lock;
52 int period; /* current DMA period */ 53 int period; /* current DMA period */
53 int master_lch; /* Master DMA channel */ 54 int master_lch; /* Master DMA channel */
54 int slave_lch; /* Slave DMA channel */ 55 int slave_lch; /* linked parameter RAM reload slot */
55 struct davinci_pcm_dma_params *params; /* DMA params */ 56 struct davinci_pcm_dma_params *params; /* DMA params */
56}; 57};
57 58
@@ -90,18 +91,18 @@ static void davinci_pcm_enqueue_dma(struct snd_pcm_substream *substream)
90 dst_bidx = data_type; 91 dst_bidx = data_type;
91 } 92 }
92 93
93 davinci_set_dma_src_params(lch, src, INCR, W8BIT); 94 edma_set_src(lch, src, INCR, W8BIT);
94 davinci_set_dma_dest_params(lch, dst, INCR, W8BIT); 95 edma_set_dest(lch, dst, INCR, W8BIT);
95 davinci_set_dma_src_index(lch, src_bidx, 0); 96 edma_set_src_index(lch, src_bidx, 0);
96 davinci_set_dma_dest_index(lch, dst_bidx, 0); 97 edma_set_dest_index(lch, dst_bidx, 0);
97 davinci_set_dma_transfer_params(lch, data_type, count, 1, 0, ASYNC); 98 edma_set_transfer_params(lch, data_type, count, 1, 0, ASYNC);
98 99
99 prtd->period++; 100 prtd->period++;
100 if (unlikely(prtd->period >= runtime->periods)) 101 if (unlikely(prtd->period >= runtime->periods))
101 prtd->period = 0; 102 prtd->period = 0;
102} 103}
103 104
104static void davinci_pcm_dma_irq(int lch, u16 ch_status, void *data) 105static void davinci_pcm_dma_irq(unsigned lch, u16 ch_status, void *data)
105{ 106{
106 struct snd_pcm_substream *substream = data; 107 struct snd_pcm_substream *substream = data;
107 struct davinci_runtime_data *prtd = substream->runtime->private_data; 108 struct davinci_runtime_data *prtd = substream->runtime->private_data;
@@ -125,7 +126,7 @@ static int davinci_pcm_dma_request(struct snd_pcm_substream *substream)
125 struct davinci_runtime_data *prtd = substream->runtime->private_data; 126 struct davinci_runtime_data *prtd = substream->runtime->private_data;
126 struct snd_soc_pcm_runtime *rtd = substream->private_data; 127 struct snd_soc_pcm_runtime *rtd = substream->private_data;
127 struct davinci_pcm_dma_params *dma_data = rtd->dai->cpu_dai->dma_data; 128 struct davinci_pcm_dma_params *dma_data = rtd->dai->cpu_dai->dma_data;
128 int tcc = TCC_ANY; 129 struct edmacc_param p_ram;
129 int ret; 130 int ret;
130 131
131 if (!dma_data) 132 if (!dma_data)
@@ -134,22 +135,34 @@ static int davinci_pcm_dma_request(struct snd_pcm_substream *substream)
134 prtd->params = dma_data; 135 prtd->params = dma_data;
135 136
136 /* Request master DMA channel */ 137 /* Request master DMA channel */
137 ret = davinci_request_dma(prtd->params->channel, prtd->params->name, 138 ret = edma_alloc_channel(prtd->params->channel,
138 davinci_pcm_dma_irq, substream, 139 davinci_pcm_dma_irq, substream,
139 &prtd->master_lch, &tcc, EVENTQ_0); 140 EVENTQ_0);
140 if (ret) 141 if (ret < 0)
141 return ret; 142 return ret;
143 prtd->master_lch = ret;
142 144
143 /* Request slave DMA channel */ 145 /* Request parameter RAM reload slot */
144 ret = davinci_request_dma(PARAM_ANY, "Link", 146 ret = edma_alloc_slot(EDMA_SLOT_ANY);
145 NULL, NULL, &prtd->slave_lch, &tcc, EVENTQ_0); 147 if (ret < 0) {
146 if (ret) { 148 edma_free_channel(prtd->master_lch);
147 davinci_free_dma(prtd->master_lch);
148 return ret; 149 return ret;
149 } 150 }
150 151 prtd->slave_lch = ret;
151 /* Link slave DMA channel in loopback */ 152
152 davinci_dma_link_lch(prtd->slave_lch, prtd->slave_lch); 153 /* Issue transfer completion IRQ when the channel completes a
154 * transfer, then always reload from the same slot (by a kind
155 * of loopback link). The completion IRQ handler will update
156 * the reload slot with a new buffer.
157 *
158 * REVISIT save p_ram here after setting up everything except
159 * the buffer and its length (ccnt) ... use it as a template
160 * so davinci_pcm_enqueue_dma() takes less time in IRQ.
161 */
162 edma_read_slot(prtd->slave_lch, &p_ram);
163 p_ram.opt |= TCINTEN | EDMA_TCC(prtd->master_lch);
164 p_ram.link_bcntrld = prtd->slave_lch << 5;
165 edma_write_slot(prtd->slave_lch, &p_ram);
153 166
154 return 0; 167 return 0;
155} 168}
@@ -165,12 +178,12 @@ static int davinci_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
165 case SNDRV_PCM_TRIGGER_START: 178 case SNDRV_PCM_TRIGGER_START:
166 case SNDRV_PCM_TRIGGER_RESUME: 179 case SNDRV_PCM_TRIGGER_RESUME:
167 case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: 180 case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
168 davinci_start_dma(prtd->master_lch); 181 edma_start(prtd->master_lch);
169 break; 182 break;
170 case SNDRV_PCM_TRIGGER_STOP: 183 case SNDRV_PCM_TRIGGER_STOP:
171 case SNDRV_PCM_TRIGGER_SUSPEND: 184 case SNDRV_PCM_TRIGGER_SUSPEND:
172 case SNDRV_PCM_TRIGGER_PAUSE_PUSH: 185 case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
173 davinci_stop_dma(prtd->master_lch); 186 edma_stop(prtd->master_lch);
174 break; 187 break;
175 default: 188 default:
176 ret = -EINVAL; 189 ret = -EINVAL;
@@ -185,14 +198,14 @@ static int davinci_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
185static int davinci_pcm_prepare(struct snd_pcm_substream *substream) 198static int davinci_pcm_prepare(struct snd_pcm_substream *substream)
186{ 199{
187 struct davinci_runtime_data *prtd = substream->runtime->private_data; 200 struct davinci_runtime_data *prtd = substream->runtime->private_data;
188 struct paramentry_descriptor temp; 201 struct edmacc_param temp;
189 202
190 prtd->period = 0; 203 prtd->period = 0;
191 davinci_pcm_enqueue_dma(substream); 204 davinci_pcm_enqueue_dma(substream);
192 205
193 /* Get slave channel dma params for master channel startup */ 206 /* Copy self-linked parameter RAM entry into master channel */
194 davinci_get_dma_params(prtd->slave_lch, &temp); 207 edma_read_slot(prtd->slave_lch, &temp);
195 davinci_set_dma_params(prtd->master_lch, &temp); 208 edma_write_slot(prtd->master_lch, &temp);
196 209
197 return 0; 210 return 0;
198} 211}
@@ -208,7 +221,7 @@ davinci_pcm_pointer(struct snd_pcm_substream *substream)
208 221
209 spin_lock(&prtd->lock); 222 spin_lock(&prtd->lock);
210 223
211 davinci_dma_getposition(prtd->master_lch, &src, &dst); 224 edma_get_position(prtd->master_lch, &src, &dst);
212 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) 225 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
213 count = src - runtime->dma_addr; 226 count = src - runtime->dma_addr;
214 else 227 else
@@ -253,10 +266,10 @@ static int davinci_pcm_close(struct snd_pcm_substream *substream)
253 struct snd_pcm_runtime *runtime = substream->runtime; 266 struct snd_pcm_runtime *runtime = substream->runtime;
254 struct davinci_runtime_data *prtd = runtime->private_data; 267 struct davinci_runtime_data *prtd = runtime->private_data;
255 268
256 davinci_dma_unlink_lch(prtd->slave_lch, prtd->slave_lch); 269 edma_unlink(prtd->slave_lch);
257 270
258 davinci_free_dma(prtd->slave_lch); 271 edma_free_slot(prtd->slave_lch);
259 davinci_free_dma(prtd->master_lch); 272 edma_free_channel(prtd->master_lch);
260 273
261 kfree(prtd); 274 kfree(prtd);
262 275
diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c
index 3aa729df27b5..1111c710118a 100644
--- a/sound/soc/fsl/mpc5200_psc_i2s.c
+++ b/sound/soc/fsl/mpc5200_psc_i2s.c
@@ -504,7 +504,8 @@ static struct snd_soc_dai psc_i2s_dai_template = {
504 504
505static const struct snd_pcm_hardware psc_i2s_pcm_hardware = { 505static const struct snd_pcm_hardware psc_i2s_pcm_hardware = {
506 .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | 506 .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
507 SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER, 507 SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
508 SNDRV_PCM_INFO_BATCH,
508 .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE | 509 .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE |
509 SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE, 510 SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE,
510 .rate_min = 8000, 511 .rate_min = 8000,
diff --git a/sound/soc/sh/dma-sh7760.c b/sound/soc/sh/dma-sh7760.c
index 0dad3a0bb920..baddb1242c71 100644
--- a/sound/soc/sh/dma-sh7760.c
+++ b/sound/soc/sh/dma-sh7760.c
@@ -103,7 +103,8 @@ static struct snd_pcm_hardware camelot_pcm_hardware = {
103 .info = (SNDRV_PCM_INFO_MMAP | 103 .info = (SNDRV_PCM_INFO_MMAP |
104 SNDRV_PCM_INFO_INTERLEAVED | 104 SNDRV_PCM_INFO_INTERLEAVED |
105 SNDRV_PCM_INFO_BLOCK_TRANSFER | 105 SNDRV_PCM_INFO_BLOCK_TRANSFER |
106 SNDRV_PCM_INFO_MMAP_VALID), 106 SNDRV_PCM_INFO_MMAP_VALID |
107 SNDRV_PCM_INFO_BATCH),
107 .formats = DMABRG_FMTS, 108 .formats = DMABRG_FMTS,
108 .rates = DMABRG_RATES, 109 .rates = DMABRG_RATES,
109 .rate_min = 8000, 110 .rate_min = 8000,
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 99712f652d0d..1cd149b9ce69 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -954,6 +954,9 @@ static int soc_remove(struct platform_device *pdev)
954 struct snd_soc_platform *platform = card->platform; 954 struct snd_soc_platform *platform = card->platform;
955 struct snd_soc_codec_device *codec_dev = socdev->codec_dev; 955 struct snd_soc_codec_device *codec_dev = socdev->codec_dev;
956 956
957 if (!card->instantiated)
958 return 0;
959
957 run_delayed_work(&card->delayed_work); 960 run_delayed_work(&card->delayed_work);
958 961
959 if (platform->remove) 962 if (platform->remove)
diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c
index af95ff1e126c..1d2e51b3f918 100644
--- a/sound/sparc/dbri.c
+++ b/sound/sparc/dbri.c
@@ -1975,7 +1975,8 @@ static struct snd_pcm_hardware snd_dbri_pcm_hw = {
1975 .info = SNDRV_PCM_INFO_MMAP | 1975 .info = SNDRV_PCM_INFO_MMAP |
1976 SNDRV_PCM_INFO_INTERLEAVED | 1976 SNDRV_PCM_INFO_INTERLEAVED |
1977 SNDRV_PCM_INFO_BLOCK_TRANSFER | 1977 SNDRV_PCM_INFO_BLOCK_TRANSFER |
1978 SNDRV_PCM_INFO_MMAP_VALID, 1978 SNDRV_PCM_INFO_MMAP_VALID |
1979 SNDRV_PCM_INFO_BATCH,
1979 .formats = SNDRV_PCM_FMTBIT_MU_LAW | 1980 .formats = SNDRV_PCM_FMTBIT_MU_LAW |
1980 SNDRV_PCM_FMTBIT_A_LAW | 1981 SNDRV_PCM_FMTBIT_A_LAW |
1981 SNDRV_PCM_FMTBIT_U8 | 1982 SNDRV_PCM_FMTBIT_U8 |
diff --git a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c
index 9a608fa85155..dd1ab6177840 100644
--- a/sound/usb/usx2y/usbusx2yaudio.c
+++ b/sound/usb/usx2y/usbusx2yaudio.c
@@ -870,7 +870,8 @@ static struct snd_pcm_hardware snd_usX2Y_2c =
870{ 870{
871 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 871 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
872 SNDRV_PCM_INFO_BLOCK_TRANSFER | 872 SNDRV_PCM_INFO_BLOCK_TRANSFER |
873 SNDRV_PCM_INFO_MMAP_VALID), 873 SNDRV_PCM_INFO_MMAP_VALID |
874 SNDRV_PCM_INFO_BATCH),
874 .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_3LE, 875 .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_3LE,
875 .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000, 876 .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
876 .rate_min = 44100, 877 .rate_min = 44100,