aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Documentation/fb/framebuffer.txt6
-rw-r--r--Documentation/filesystems/caching/fscache.txt110
-rw-r--r--Documentation/filesystems/caching/netfs-api.txt21
-rw-r--r--Documentation/filesystems/ocfs2.txt6
-rw-r--r--Documentation/slow-work.txt160
-rw-r--r--Documentation/vm/page-types.c2
-rw-r--r--MAINTAINERS116
-rw-r--r--Makefile4
-rw-r--r--arch/alpha/boot/tools/objstrip.c2
-rw-r--r--arch/alpha/include/asm/fcntl.h2
-rw-r--r--arch/alpha/include/asm/thread_info.h31
-rw-r--r--arch/alpha/kernel/core_marvel.c2
-rw-r--r--arch/alpha/kernel/core_titan.c2
-rw-r--r--arch/alpha/kernel/irq.c2
-rw-r--r--arch/alpha/kernel/irq_alpha.c2
-rw-r--r--arch/alpha/kernel/irq_i8259.c2
-rw-r--r--arch/alpha/kernel/irq_pyxis.c2
-rw-r--r--arch/alpha/kernel/irq_srm.c2
-rw-r--r--arch/alpha/kernel/sys_alcor.c2
-rw-r--r--arch/alpha/kernel/sys_cabriolet.c2
-rw-r--r--arch/alpha/kernel/sys_dp264.c4
-rw-r--r--arch/alpha/kernel/sys_eb64p.c2
-rw-r--r--arch/alpha/kernel/sys_eiger.c2
-rw-r--r--arch/alpha/kernel/sys_jensen.c2
-rw-r--r--arch/alpha/kernel/sys_marvel.c6
-rw-r--r--arch/alpha/kernel/sys_mikasa.c2
-rw-r--r--arch/alpha/kernel/sys_noritake.c2
-rw-r--r--arch/alpha/kernel/sys_rawhide.c2
-rw-r--r--arch/alpha/kernel/sys_ruffian.c2
-rw-r--r--arch/alpha/kernel/sys_rx164.c2
-rw-r--r--arch/alpha/kernel/sys_sable.c2
-rw-r--r--arch/alpha/kernel/sys_takara.c2
-rw-r--r--arch/alpha/kernel/sys_titan.c2
-rw-r--r--arch/alpha/kernel/sys_wildfire.c2
-rw-r--r--arch/arm/configs/ams_delta_defconfig24
-rw-r--r--arch/arm/configs/kirkwood_defconfig260
-rw-r--r--arch/arm/configs/omap3_pandora_defconfig49
-rw-r--r--arch/arm/configs/omap_3430sdp_defconfig9
-rw-r--r--arch/arm/configs/orion5x_defconfig278
-rw-r--r--arch/arm/include/asm/kmap_types.h6
-rw-r--r--arch/arm/include/asm/unistd.h9
-rw-r--r--arch/arm/kernel/entry-armv.S7
-rw-r--r--arch/arm/kernel/head-common.S2
-rw-r--r--arch/arm/kernel/signal.c8
-rw-r--r--arch/arm/kernel/smp_scu.c4
-rw-r--r--arch/arm/kernel/traps.c4
-rw-r--r--arch/arm/mach-at91/Kconfig20
-rw-r--r--arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c23
-rw-r--r--arch/arm/mach-ep93xx/micro9.c1
-rw-r--r--arch/arm/mach-kirkwood/addr-map.c2
-rw-r--r--arch/arm/mach-kirkwood/common.c10
-rw-r--r--arch/arm/mach-kirkwood/include/mach/bridge-regs.h3
-rw-r--r--arch/arm/mach-kirkwood/include/mach/io.h2
-rw-r--r--arch/arm/mach-kirkwood/include/mach/kirkwood.h1
-rw-r--r--arch/arm/mach-kirkwood/openrd_base-setup.c12
-rw-r--r--arch/arm/mach-kirkwood/pcie.c6
-rw-r--r--arch/arm/mach-ks8695/include/mach/regs-switch.h2
-rw-r--r--arch/arm/mach-mmp/include/mach/mfp-pxa910.h2
-rw-r--r--arch/arm/mach-mv78xx0/common.c2
-rw-r--r--arch/arm/mach-mv78xx0/include/mach/mv78xx0.h1
-rw-r--r--arch/arm/mach-omap2/board-omap3beagle.c2
-rw-r--r--arch/arm/mach-omap2/board-omap3pandora.c78
-rw-r--r--arch/arm/mach-omap2/board-zoom2.c87
-rw-r--r--arch/arm/mach-omap2/clock34xx.c2
-rw-r--r--arch/arm/mach-omap2/clock34xx.h4
-rw-r--r--arch/arm/mach-omap2/gpmc.c4
-rw-r--r--arch/arm/mach-omap2/mailbox.c2
-rw-r--r--arch/arm/mach-pxa/colibri-pxa320.c4
-rw-r--r--arch/arm/mach-pxa/cpufreq-pxa2xx.c1
-rw-r--r--arch/arm/mach-pxa/cpufreq-pxa3xx.c2
-rw-r--r--arch/arm/mach-pxa/hx4700.c2
-rw-r--r--arch/arm/mach-pxa/include/mach/entry-macro.S1
-rw-r--r--arch/arm/mach-pxa/irq.c11
-rw-r--r--arch/arm/mach-pxa/palmtc.c8
-rw-r--r--arch/arm/mach-pxa/spitz.c41
-rw-r--r--arch/arm/mach-realview/Kconfig5
-rw-r--r--arch/arm/mach-realview/core.c42
-rw-r--r--arch/arm/mach-realview/core.h6
-rw-r--r--arch/arm/mach-realview/include/mach/memory.h49
-rw-r--r--arch/arm/mach-realview/platsmp.c5
-rw-r--r--arch/arm/mach-realview/realview_eb.c1
-rw-r--r--arch/arm/mach-realview/realview_pb1176.c13
-rw-r--r--arch/arm/mach-realview/realview_pb11mp.c1
-rw-r--r--arch/arm/mach-realview/realview_pba8.c1
-rw-r--r--arch/arm/mach-realview/realview_pbx.c21
-rw-r--r--arch/arm/mach-s3c6400/include/mach/dma.h12
-rw-r--r--arch/arm/mach-s3c6410/Kconfig1
-rw-r--r--arch/arm/mach-s3c6410/mach-smdk6410.c3
-rw-r--r--arch/arm/mach-u300/core.c2
-rw-r--r--arch/arm/mm/proc-v7.S7
-rw-r--r--arch/arm/plat-omap/cpu-omap.c2
-rw-r--r--arch/arm/plat-omap/dma.c14
-rw-r--r--arch/arm/plat-omap/gpio.c2
-rw-r--r--arch/arm/plat-pxa/include/plat/mfp.h2
-rw-r--r--arch/arm/plat-pxa/mfp.c4
-rw-r--r--arch/arm/plat-s3c64xx/dma.c76
-rw-r--r--arch/arm/tools/mach-types119
-rw-r--r--arch/blackfin/kernel/bfin_dma_5xx.c9
-rw-r--r--arch/blackfin/kernel/cplb-mpu/cplbinit.c2
-rw-r--r--arch/blackfin/kernel/process.c2
-rw-r--r--arch/blackfin/kernel/ptrace.c2
-rw-r--r--arch/blackfin/mach-bf518/include/mach/anomaly.h18
-rw-r--r--arch/blackfin/mach-bf527/include/mach/anomaly.h20
-rw-r--r--arch/blackfin/mach-bf533/include/mach/anomaly.h18
-rw-r--r--arch/blackfin/mach-bf537/include/mach/anomaly.h18
-rw-r--r--arch/blackfin/mach-bf538/include/mach/anomaly.h18
-rw-r--r--arch/blackfin/mach-bf548/include/mach/anomaly.h23
-rw-r--r--arch/blackfin/mach-bf561/atomic.S14
-rw-r--r--arch/blackfin/mach-bf561/include/mach/anomaly.h25
-rw-r--r--arch/blackfin/mach-common/arch_checks.c5
-rw-r--r--arch/blackfin/mach-common/smp.c6
-rw-r--r--arch/mips/Kconfig22
-rw-r--r--arch/mips/bcm47xx/prom.c2
-rw-r--r--arch/mips/configs/rbtx49xx_defconfig252
-rw-r--r--arch/mips/include/asm/dma-mapping.h11
-rw-r--r--arch/mips/include/asm/mman.h1
-rw-r--r--arch/mips/include/asm/system.h15
-rw-r--r--arch/mips/kernel/cevt-smtc.c3
-rw-r--r--arch/mips/kernel/syscall.c4
-rw-r--r--arch/mips/math-emu/cp1emu.c41
-rw-r--r--arch/mips/mm/dma-default.c7
-rw-r--r--arch/mips/mti-malta/malta-memory.c3
-rw-r--r--arch/mips/rb532/devices.c3
-rw-r--r--arch/mips/rb532/prom.c2
-rw-r--r--arch/mips/txx9/generic/setup.c4
-rw-r--r--arch/parisc/include/asm/fcntl.h2
-rw-r--r--arch/parisc/kernel/unwind.c2
-rw-r--r--arch/parisc/kernel/vmlinux.lds.S6
-rw-r--r--arch/powerpc/boot/addRamDisk.c6
-rw-r--r--arch/powerpc/boot/dts/mpc8377_wlan.dts2
-rw-r--r--arch/powerpc/boot/dts/mpc8569mds.dts4
-rw-r--r--arch/powerpc/boot/dts/sbc8548.dts17
-rw-r--r--arch/powerpc/configs/83xx/asp8347_defconfig60
-rw-r--r--arch/powerpc/configs/83xx/kmeter1_defconfig46
-rw-r--r--arch/powerpc/configs/83xx/mpc8313_rdb_defconfig73
-rw-r--r--arch/powerpc/configs/83xx/mpc8315_rdb_defconfig76
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_mds_defconfig62
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_rdb_defconfig66
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itx_defconfig60
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig58
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_mds_defconfig58
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_mds_defconfig64
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_rdk_defconfig60
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_mds_defconfig64
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_rdb_defconfig70
-rw-r--r--arch/powerpc/configs/83xx/sbc834x_defconfig61
-rw-r--r--arch/powerpc/configs/85xx/ksi8560_defconfig61
-rw-r--r--arch/powerpc/configs/85xx/mpc8540_ads_defconfig57
-rw-r--r--arch/powerpc/configs/85xx/mpc8560_ads_defconfig63
-rw-r--r--arch/powerpc/configs/85xx/mpc85xx_cds_defconfig58
-rw-r--r--arch/powerpc/configs/85xx/sbc8548_defconfig53
-rw-r--r--arch/powerpc/configs/85xx/sbc8560_defconfig57
-rw-r--r--arch/powerpc/configs/85xx/socrates_defconfig68
-rw-r--r--arch/powerpc/configs/85xx/stx_gp3_defconfig77
-rw-r--r--arch/powerpc/configs/85xx/tqm8540_defconfig59
-rw-r--r--arch/powerpc/configs/85xx/tqm8541_defconfig64
-rw-r--r--arch/powerpc/configs/85xx/tqm8548_defconfig64
-rw-r--r--arch/powerpc/configs/85xx/tqm8555_defconfig64
-rw-r--r--arch/powerpc/configs/85xx/tqm8560_defconfig64
-rw-r--r--arch/powerpc/configs/85xx/xes_mpc85xx_defconfig76
-rw-r--r--arch/powerpc/configs/86xx/gef_ppc9a_defconfig74
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc310_defconfig72
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc610_defconfig80
-rw-r--r--arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig64
-rw-r--r--arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig65
-rw-r--r--arch/powerpc/configs/86xx/sbc8641d_defconfig66
-rw-r--r--arch/powerpc/configs/adder875_defconfig48
-rw-r--r--arch/powerpc/configs/c2k_defconfig77
-rw-r--r--arch/powerpc/configs/ep8248e_defconfig49
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig47
-rw-r--r--arch/powerpc/configs/linkstation_defconfig72
-rw-r--r--arch/powerpc/configs/mgcoge_defconfig51
-rw-r--r--arch/powerpc/configs/mgsuvd_defconfig45
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig58
-rw-r--r--arch/powerpc/configs/mpc8272_ads_defconfig52
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig90
-rw-r--r--arch/powerpc/configs/mpc85xx_defconfig98
-rw-r--r--arch/powerpc/configs/mpc85xx_smp_defconfig99
-rw-r--r--arch/powerpc/configs/mpc866_ads_defconfig54
-rw-r--r--arch/powerpc/configs/mpc86xx_defconfig70
-rw-r--r--arch/powerpc/configs/mpc885_ads_defconfig47
-rw-r--r--arch/powerpc/configs/pasemi_defconfig628
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig55
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig67
-rw-r--r--arch/powerpc/configs/storcenter_defconfig54
-rw-r--r--arch/powerpc/include/asm/kmap_types.h11
-rw-r--r--arch/powerpc/platforms/82xx/ep8248e.c15
-rw-r--r--arch/s390/kernel/early.c9
-rw-r--r--arch/s390/kernel/entry.S8
-rw-r--r--arch/s390/kernel/entry64.S8
-rw-r--r--arch/sh/kernel/cpu/irq/imask.c2
-rw-r--r--arch/sh/kernel/cpu/irq/intc-sh5.c2
-rw-r--r--arch/sparc/boot/btfixupprep.c8
-rw-r--r--arch/sparc/boot/piggyback_32.c10
-rw-r--r--arch/sparc/boot/piggyback_64.c2
-rw-r--r--arch/sparc/mm/init_64.h2
-rw-r--r--arch/x86/include/asm/dma-mapping.h10
-rw-r--r--arch/x86/kernel/acpi/processor.c3
-rw-r--r--arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c23
-rw-r--r--arch/x86/kernel/cpu/cpufreq/longhaul.c2
-rw-r--r--arch/x86/kernel/cpu/cpufreq/powernow-k8.c2
-rw-r--r--arch/x86/kernel/cpu/cpufreq/speedstep-ich.c19
-rw-r--r--arch/x86/kernel/microcode_amd.c6
-rw-r--r--arch/x86/kernel/pci-dma.c6
-rw-r--r--arch/x86/kernel/setup.c7
-rw-r--r--arch/x86/mm/ioremap.c24
-rw-r--r--crypto/async_tx/Kconfig5
-rw-r--r--crypto/async_tx/async_pq.c14
-rw-r--r--crypto/async_tx/async_xor.c15
-rw-r--r--crypto/gcm.c107
-rw-r--r--drivers/acpi/acpica/acpredef.h5
-rw-r--r--drivers/acpi/blacklist.c17
-rw-r--r--drivers/acpi/sleep.c8
-rw-r--r--drivers/ata/sata_fsl.c84
-rw-r--r--drivers/base/power/runtime.c12
-rw-r--r--drivers/block/aoe/aoecmd.c23
-rw-r--r--drivers/block/cciss.c16
-rw-r--r--drivers/bluetooth/btusb.c5
-rw-r--r--drivers/char/agp/intel-agp.c19
-rw-r--r--drivers/char/keyboard.c2
-rw-r--r--drivers/char/tty_port.c10
-rw-r--r--drivers/char/vt_ioctl.c6
-rw-r--r--drivers/cpufreq/cpufreq.c48
-rw-r--r--drivers/cpufreq/cpufreq_conservative.c4
-rw-r--r--drivers/cpufreq/cpufreq_ondemand.c4
-rw-r--r--drivers/crypto/padlock-aes.c4
-rw-r--r--drivers/dma/Kconfig2
-rw-r--r--drivers/dma/dmaengine.c10
-rw-r--r--drivers/dma/ioat/dca.c6
-rw-r--r--drivers/dma/ioat/dma.h4
-rw-r--r--drivers/dma/ioat/dma_v2.c2
-rw-r--r--drivers/dma/ioat/dma_v3.c44
-rw-r--r--drivers/dma/ioat/hw.h2
-rw-r--r--drivers/dma/ioat/registers.h4
-rw-r--r--drivers/dma/shdma.c12
-rw-r--r--drivers/firewire/ohci.c41
-rw-r--r--drivers/gpio/gpiolib.c8
-rw-r--r--drivers/gpio/langwell_gpio.c11
-rw-r--r--drivers/gpu/drm/Kconfig1
-rw-r--r--drivers/gpu/drm/drm_crtc_helper.c1
-rw-r--r--drivers/gpu/drm/drm_edid.c6
-rw-r--r--drivers/gpu/drm/drm_fb_helper.c2
-rw-r--r--drivers/gpu/drm/drm_gem.c2
-rw-r--r--drivers/gpu/drm/drm_mm.c9
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c4
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h12
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c10
-rw-r--r--drivers/gpu/drm/i915/i915_suspend.c36
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c4
-rw-r--r--drivers/gpu/drm/i915/intel_display.c15
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c26
-rw-r--r--drivers/gpu/drm/radeon/Makefile2
-rw-r--r--drivers/gpu/drm/radeon/atom.c1
-rw-r--r--drivers/gpu/drm/radeon/atombios.h2
-rw-r--r--drivers/gpu/drm/radeon/atombios_crtc.c357
-rw-r--r--drivers/gpu/drm/radeon/mkregtable.c12
-rw-r--r--drivers/gpu/drm/radeon/r100.c42
-rw-r--r--drivers/gpu/drm/radeon/r300.c2
-rw-r--r--drivers/gpu/drm/radeon/r420.c2
-rw-r--r--drivers/gpu/drm/radeon/r500_reg.h9
-rw-r--r--drivers/gpu/drm/radeon/r520.c2
-rw-r--r--drivers/gpu/drm/radeon/r600.c108
-rw-r--r--drivers/gpu/drm/radeon/r600_blit.c58
-rw-r--r--drivers/gpu/drm/radeon/r600_blit_kms.c5
-rw-r--r--drivers/gpu/drm/radeon/r600_cs.c18
-rw-r--r--drivers/gpu/drm/radeon/r600d.h14
-rw-r--r--drivers/gpu/drm/radeon/radeon.h12
-rw-r--r--drivers/gpu/drm/radeon/radeon_agp.c12
-rw-r--r--drivers/gpu/drm/radeon/radeon_asic.h23
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c282
-rw-r--r--drivers/gpu/drm/radeon/radeon_benchmark.c4
-rw-r--r--drivers/gpu/drm/radeon/radeon_bios.c3
-rw-r--r--drivers/gpu/drm/radeon/radeon_clocks.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_combios.c287
-rw-r--r--drivers/gpu/drm/radeon/radeon_connectors.c211
-rw-r--r--drivers/gpu/drm/radeon/radeon_cursor.c10
-rw-r--r--drivers/gpu/drm/radeon/radeon_device.c31
-rw-r--r--drivers/gpu/drm/radeon/radeon_display.c28
-rw-r--r--drivers/gpu/drm/radeon/radeon_encoders.c125
-rw-r--r--drivers/gpu/drm/radeon/radeon_gart.c20
-rw-r--r--drivers/gpu/drm/radeon/radeon_irq_kms.c9
-rw-r--r--drivers/gpu/drm/radeon/radeon_legacy_crtc.c40
-rw-r--r--drivers/gpu/drm/radeon/radeon_legacy_encoders.c27
-rw-r--r--drivers/gpu/drm/radeon/radeon_mode.h34
-rw-r--r--drivers/gpu/drm/radeon/radeon_pm.c65
-rw-r--r--drivers/gpu/drm/radeon/radeon_reg.h6
-rw-r--r--drivers/gpu/drm/radeon/radeon_test.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_ttm.c6
-rw-r--r--drivers/gpu/drm/radeon/rs400.c2
-rw-r--r--drivers/gpu/drm/radeon/rs600.c20
-rw-r--r--drivers/gpu/drm/radeon/rs690.c2
-rw-r--r--drivers/gpu/drm/radeon/rv515.c9
-rw-r--r--drivers/gpu/drm/radeon/rv770.c59
-rw-r--r--drivers/gpu/drm/radeon/rv770d.h5
-rw-r--r--drivers/gpu/drm/ttm/ttm_tt.c1
-rw-r--r--drivers/hwmon/adt7475.c17
-rw-r--r--drivers/hwmon/s3c-hwmon.c11
-rw-r--r--drivers/i2c/busses/i2c-pnx.c9
-rw-r--r--drivers/i2c/chips/tsl2550.c3
-rw-r--r--drivers/i2c/i2c-core.c11
-rw-r--r--drivers/ide/ide-ioctls.c2
-rw-r--r--drivers/ieee802154/fakehard.c5
-rw-r--r--drivers/input/ff-core.c20
-rw-r--r--drivers/input/ff-memless.c26
-rw-r--r--drivers/input/input.c29
-rw-r--r--drivers/input/keyboard/atkbd.c13
-rw-r--r--drivers/input/mouse/lifebook.c3
-rw-r--r--drivers/input/mouse/psmouse-base.c4
-rw-r--r--drivers/input/serio/i8042-x86ia64io.h21
-rw-r--r--drivers/isdn/hardware/mISDN/hfcmulti.c2
-rw-r--r--drivers/isdn/i4l/isdn_ppp.c352
-rw-r--r--drivers/leds/leds-gpio.c2
-rw-r--r--drivers/md/md.c41
-rw-r--r--drivers/md/raid1.c7
-rw-r--r--drivers/md/raid5.c85
-rw-r--r--drivers/media/common/ir-functions.c2
-rw-r--r--drivers/media/common/tuners/tda18271-fe.c8
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c1
-rw-r--r--drivers/media/dvb/dvb-usb/Kconfig2
-rw-r--r--drivers/media/dvb/dvb-usb/ce6230.c2
-rw-r--r--drivers/media/dvb/dvb-usb/cxusb.c10
-rw-r--r--drivers/media/dvb/dvb-usb/dib0700_devices.c15
-rw-r--r--drivers/media/dvb/firewire/firedtv-avc.c38
-rw-r--r--drivers/media/dvb/firewire/firedtv-fe.c8
-rw-r--r--drivers/media/dvb/frontends/dib0070.h7
-rw-r--r--drivers/media/dvb/frontends/dib7000p.c5
-rw-r--r--drivers/media/dvb/pt1/pt1.c1
-rw-r--r--drivers/media/dvb/siano/Kconfig2
-rw-r--r--drivers/media/dvb/siano/smsusb.c6
-rw-r--r--drivers/media/radio/radio-gemtek-pci.c2
-rw-r--r--drivers/media/video/bt8xx/bttv-driver.c33
-rw-r--r--drivers/media/video/davinci/vpif_display.c1
-rw-r--r--drivers/media/video/em28xx/em28xx-audio.c5
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c2
-rw-r--r--drivers/media/video/gspca/m5602/m5602_s5k4aa.c20
-rw-r--r--drivers/media/video/gspca/mr97310a.c2
-rw-r--r--drivers/media/video/gspca/ov519.c2
-rw-r--r--drivers/media/video/gspca/stv06xx/stv06xx.c3
-rw-r--r--drivers/media/video/mx1_camera.c1
-rw-r--r--drivers/media/video/mx3_camera.c1
-rw-r--r--drivers/media/video/pxa_camera.c5
-rw-r--r--drivers/media/video/s2255drv.c5
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c1
-rw-r--r--drivers/media/video/saa7134/saa7134-ts.c6
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
-rw-r--r--drivers/media/video/saa7164/saa7164-cmd.c2
-rw-r--r--drivers/media/video/sh_mobile_ceu_camera.c11
-rw-r--r--drivers/media/video/soc_camera.c33
-rw-r--r--drivers/media/video/uvc/uvc_ctrl.c2
-rw-r--r--drivers/media/video/uvc/uvc_video.c3
-rw-r--r--drivers/media/video/videobuf-dma-contig.c1
-rw-r--r--drivers/mfd/wm831x-core.c2
-rw-r--r--drivers/misc/eeprom/at24.c76
-rw-r--r--drivers/mmc/host/omap.c1
-rw-r--r--drivers/mmc/host/pxamci.c4
-rw-r--r--drivers/mtd/maps/Makefile2
-rw-r--r--drivers/mtd/maps/sa1100-flash.c4
-rw-r--r--drivers/net/Kconfig2
-rw-r--r--drivers/net/arm/ep93xx_eth.c12
-rw-r--r--drivers/net/au1000_eth.c15
-rw-r--r--drivers/net/b44.c3
-rw-r--r--drivers/net/can/Kconfig60
-rw-r--r--drivers/net/can/dev.c6
-rw-r--r--drivers/net/can/sja1000/Kconfig47
-rw-r--r--drivers/net/can/usb/Kconfig10
-rw-r--r--drivers/net/can/usb/Makefile2
-rw-r--r--drivers/net/cxgb3/sge.c4
-rw-r--r--drivers/net/davinci_emac.c29
-rw-r--r--drivers/net/e100.c17
-rw-r--r--drivers/net/e1000e/e1000.h2
-rw-r--r--drivers/net/e1000e/ethtool.c12
-rw-r--r--drivers/net/e1000e/ich8lan.c4
-rw-r--r--drivers/net/e1000e/netdev.c50
-rw-r--r--drivers/net/e1000e/phy.c56
-rw-r--r--drivers/net/forcedeth.c5
-rw-r--r--drivers/net/ibm_newemac/emac.h4
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c3
-rw-r--r--drivers/net/ks8851_mll.c142
-rw-r--r--drivers/net/macvlan.c2
-rw-r--r--drivers/net/netxen/netxen_nic.h2
-rw-r--r--drivers/net/netxen/netxen_nic_hdr.h2
-rw-r--r--drivers/net/netxen/netxen_nic_hw.c55
-rw-r--r--drivers/net/netxen/netxen_nic_init.c2
-rw-r--r--drivers/net/netxen/netxen_nic_main.c4
-rw-r--r--drivers/net/phy/mdio-gpio.c2
-rw-r--r--drivers/net/ppp_generic.c11
-rw-r--r--drivers/net/r6040.c2
-rw-r--r--drivers/net/r8169.c11
-rw-r--r--drivers/net/s2io.c1
-rw-r--r--drivers/net/smc91x.c2
-rw-r--r--drivers/net/smsc911x.c2
-rw-r--r--drivers/net/smsc9420.c14
-rw-r--r--drivers/net/stmmac/stmmac_main.c50
-rw-r--r--drivers/net/stmmac/stmmac_timer.c4
-rw-r--r--drivers/net/stmmac/stmmac_timer.h1
-rw-r--r--drivers/net/sungem.c10
-rw-r--r--drivers/net/usb/hso.c8
-rw-r--r--drivers/net/veth.c35
-rw-r--r--drivers/net/wan/cosa.c1
-rw-r--r--drivers/net/wireless/ath/ath5k/base.c1
-rw-r--r--drivers/net/wireless/ath/ath5k/led.c4
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c2
-rw-r--r--drivers/net/wireless/b43/main.c3
-rw-r--r--drivers/net/wireless/ipw2x00/ipw2100.c6
-rw-r--r--drivers/net/wireless/ipw2x00/ipw2200.c141
-rw-r--r--drivers/net/wireless/ipw2x00/libipw.h8
-rw-r--r--drivers/net/wireless/ipw2x00/libipw_module.c42
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-1000.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-rs.c9
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c10
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-tx.c10
-rw-r--r--drivers/net/wireless/libertas/ethtool.c17
-rw-r--r--drivers/net/wireless/p54/p54usb.c10
-rw-r--r--drivers/net/wireless/rtl818x/rtl8187_rfkill.c1
-rw-r--r--drivers/pci/dmar.c52
-rw-r--r--drivers/pci/intel-iommu.c39
-rw-r--r--drivers/pci/pcie/aspm.c6
-rw-r--r--drivers/platform/x86/acerhdf.c12
-rw-r--r--drivers/platform/x86/thinkpad_acpi.c26
-rw-r--r--drivers/pps/kapi.c20
-rw-r--r--drivers/pps/pps.c11
-rw-r--r--drivers/regulator/core.c3
-rw-r--r--drivers/regulator/fixed.c5
-rw-r--r--drivers/regulator/wm831x-isink.c2
-rw-r--r--drivers/regulator/wm831x-ldo.c6
-rw-r--r--drivers/rtc/rtc-coh901331.c11
-rw-r--r--drivers/rtc/rtc-pcf50633.c10
-rw-r--r--drivers/rtc/rtc-v3020.c2
-rw-r--r--drivers/rtc/rtc-vr41xx.c9
-rw-r--r--drivers/rtc/rtc-x1205.c6
-rw-r--r--drivers/s390/char/monreader.c1
-rw-r--r--drivers/s390/char/sclp_quiesce.c48
-rw-r--r--drivers/scsi/bfa/bfad_fwimg.c2
-rw-r--r--drivers/scsi/bfa/bfad_im.c2
-rw-r--r--drivers/scsi/gdth.c2
-rw-r--r--drivers/scsi/hosts.c2
-rw-r--r--drivers/scsi/ipr.c42
-rw-r--r--drivers/scsi/ipr.h1
-rw-r--r--drivers/scsi/libsas/sas_expander.c1
-rw-r--r--drivers/scsi/pmcraid.c10
-rw-r--r--drivers/scsi/scsi_scan.c18
-rw-r--r--drivers/scsi/scsi_sysfs.c63
-rw-r--r--drivers/scsi/scsi_transport_fc.c3
-rw-r--r--drivers/scsi/sd_dif.c2
-rw-r--r--drivers/serial/8250.c2
-rw-r--r--drivers/serial/8250_pci.c8
-rw-r--r--drivers/serial/bcm63xx_uart.c4
-rw-r--r--drivers/serial/of_serial.c1
-rw-r--r--drivers/serial/suncore.c37
-rw-r--r--drivers/serial/suncore.h5
-rw-r--r--drivers/serial/sunhv.c2
-rw-r--r--drivers/serial/sunsab.c9
-rw-r--r--drivers/serial/sunsu.c36
-rw-r--r--drivers/serial/sunzilog.c8
-rw-r--r--drivers/spi/spi_stmp.c2
-rw-r--r--drivers/spi/spi_txx9.c13
-rw-r--r--drivers/ssb/scan.c6
-rw-r--r--drivers/staging/go7007/s2250-board.c4
-rw-r--r--drivers/staging/go7007/s2250-loader.h24
-rw-r--r--drivers/staging/hv/BlkVsc.c1
-rw-r--r--drivers/staging/hv/Channel.c16
-rw-r--r--drivers/staging/hv/ChannelMgmt.c2
-rw-r--r--drivers/staging/hv/NetVsc.c1
-rw-r--r--drivers/staging/hv/NetVsc.h1
-rw-r--r--drivers/staging/hv/StorVsc.c10
-rw-r--r--drivers/staging/hv/blkvsc_drv.c1
-rw-r--r--drivers/staging/hv/netvsc_drv.c1
-rw-r--r--drivers/staging/octeon/ethernet-mdio.c2
-rw-r--r--drivers/staging/octeon/ethernet-spi.c2
-rw-r--r--drivers/staging/octeon/ethernet.c53
-rw-r--r--drivers/staging/rtl8187se/TODO3
-rw-r--r--drivers/staging/rtl8192su/TODO3
-rw-r--r--drivers/staging/vt6655/TODO5
-rw-r--r--drivers/staging/vt6656/TODO5
-rw-r--r--drivers/uio/uio_pdrv_genirq.c1
-rw-r--r--drivers/usb/class/cdc-acm.c18
-rw-r--r--drivers/usb/core/hub.c2
-rw-r--r--drivers/usb/gadget/amd5536udc.c49
-rw-r--r--drivers/usb/host/ehci-hcd.c2
-rw-r--r--drivers/usb/host/ehci-pci.c4
-rw-r--r--drivers/usb/host/ehci-q.c16
-rw-r--r--drivers/usb/host/ehci-sched.c12
-rw-r--r--drivers/usb/host/ehci.h2
-rw-r--r--drivers/usb/host/ohci-hcd.c5
-rw-r--r--drivers/usb/host/ohci-pci.c20
-rw-r--r--drivers/usb/host/ohci-q.c18
-rw-r--r--drivers/usb/host/ohci.h9
-rw-r--r--drivers/usb/host/xhci-mem.c10
-rw-r--r--drivers/usb/host/xhci-ring.c7
-rw-r--r--drivers/usb/mon/mon_bin.c11
-rw-r--r--drivers/usb/musb/cppi_dma.c10
-rw-r--r--drivers/usb/musb/musb_core.c4
-rw-r--r--drivers/usb/musb/musb_gadget.c79
-rw-r--r--drivers/usb/musb/musb_gadget_ep0.c3
-rw-r--r--drivers/usb/musb/musb_host.c5
-rw-r--r--drivers/usb/serial/cp210x.c21
-rw-r--r--drivers/usb/serial/ftdi_sio.c3
-rw-r--r--drivers/usb/serial/option.c7
-rw-r--r--drivers/video/Kconfig2
-rw-r--r--drivers/video/atafb.c6
-rw-r--r--drivers/video/atmel_lcdfb.c11
-rw-r--r--drivers/video/backlight/corgi_lcd.c5
-rw-r--r--drivers/video/backlight/lcd.c2
-rw-r--r--drivers/video/console/fbcon.c5
-rw-r--r--drivers/video/da8xx-fb.c13
-rw-r--r--drivers/video/gbefb.c2
-rw-r--r--drivers/video/msm/mddi.c1
-rw-r--r--drivers/video/msm/mddi_client_nt35399.c1
-rw-r--r--drivers/video/msm/mddi_client_toshiba.c1
-rw-r--r--drivers/video/msm/mdp.c18
-rw-r--r--drivers/video/msm/mdp_ppp.c20
-rw-r--r--drivers/video/savage/savagefb_driver.c20
-rw-r--r--drivers/video/uvesafb.c28
-rw-r--r--drivers/watchdog/pnx4008_wdt.c4
-rw-r--r--drivers/watchdog/rc32434_wdt.c4
-rw-r--r--drivers/watchdog/sbc_fitpc2_wdt.c2
-rw-r--r--fs/9p/cache.c14
-rw-r--r--fs/afs/file.c15
-rw-r--r--fs/btrfs/extent-tree.c113
-rw-r--r--fs/btrfs/extent_map.c2
-rw-r--r--fs/btrfs/free-space-cache.c2
-rw-r--r--fs/btrfs/inode.c95
-rw-r--r--fs/btrfs/root-tree.c2
-rw-r--r--fs/btrfs/transaction.c19
-rw-r--r--fs/cachefiles/interface.c32
-rw-r--r--fs/cachefiles/namei.c187
-rw-r--r--fs/cachefiles/rdwr.c130
-rw-r--r--fs/cifs/CHANGES9
-rw-r--r--fs/cifs/cifsfs.c2
-rw-r--r--fs/cifs/dir.c8
-rw-r--r--fs/cifs/misc.c2
-rw-r--r--fs/compat_ioctl.c4
-rw-r--r--fs/exec.c8
-rw-r--r--fs/ext3/fsync.c36
-rw-r--r--fs/ext3/inode.c36
-rw-r--r--fs/ext3/super.c2
-rw-r--r--fs/ext4/ext4.h1
-rw-r--r--fs/ext4/extents.c36
-rw-r--r--fs/ext4/inode.c24
-rw-r--r--fs/ext4/namei.c16
-rw-r--r--fs/fcntl.c4
-rw-r--r--fs/fscache/Kconfig7
-rw-r--r--fs/fscache/Makefile1
-rw-r--r--fs/fscache/cache.c5
-rw-r--r--fs/fscache/cookie.c26
-rw-r--r--fs/fscache/internal.h56
-rw-r--r--fs/fscache/main.c6
-rw-r--r--fs/fscache/object-list.c432
-rw-r--r--fs/fscache/object.c104
-rw-r--r--fs/fscache/operation.c120
-rw-r--r--fs/fscache/page.c273
-rw-r--r--fs/fscache/proc.c13
-rw-r--r--fs/fscache/stats.c94
-rw-r--r--fs/fuse/dir.c3
-rw-r--r--fs/gfs2/main.c4
-rw-r--r--fs/gfs2/recovery.c2
-rw-r--r--fs/ioctl.c2
-rw-r--r--fs/jbd/journal.c3
-rw-r--r--fs/jbd2/journal.c2
-rw-r--r--fs/jffs2/read.c9
-rw-r--r--fs/nfs/fscache.c10
-rw-r--r--fs/nfs/nfs4proc.c2
-rw-r--r--fs/nfsd/nfs3xdr.c2
-rw-r--r--fs/nilfs2/cpfile.c2
-rw-r--r--fs/nilfs2/inode.c1
-rw-r--r--fs/nilfs2/ioctl.c6
-rw-r--r--fs/ocfs2/file.c3
-rw-r--r--fs/ocfs2/ocfs2.h7
-rw-r--r--fs/ocfs2/refcounttree.c69
-rw-r--r--fs/ocfs2/super.c20
-rw-r--r--fs/ocfs2/uptodate.c5
-rw-r--r--fs/proc/array.c2
-rw-r--r--fs/proc/base.c3
-rw-r--r--fs/xfs/xfs_log_recover.c4
-rw-r--r--fs/xfs/xfs_trans_ail.c23
-rw-r--r--include/asm-generic/fcntl.h21
-rw-r--r--include/linux/ext3_fs_i.h8
-rw-r--r--include/linux/fb.h6
-rw-r--r--include/linux/fscache-cache.h40
-rw-r--r--include/linux/fscache.h27
-rw-r--r--include/linux/i2c-pnx.h2
-rw-r--r--include/linux/input.h4
-rw-r--r--include/linux/isdn_ppp.h2
-rw-r--r--include/linux/mfd/wm831x/regulator.h4
-rw-r--r--include/linux/nilfs2_fs.h9
-rw-r--r--include/linux/pci_ids.h2
-rw-r--r--include/linux/slow-work.h72
-rw-r--r--include/linux/suspend.h21
-rw-r--r--include/linux/vt.h4
-rw-r--r--include/net/mac80211.h6
-rw-r--r--include/net/sctp/structs.h3
-rw-r--r--include/scsi/scsi_device.h1
-rw-r--r--include/scsi/scsi_host.h29
-rw-r--r--init/Kconfig16
-rw-r--r--init/main.c11
-rw-r--r--kernel/Makefile1
-rw-r--r--kernel/irq/spurious.c2
-rw-r--r--kernel/module.c5
-rw-r--r--kernel/rcutree.c16
-rw-r--r--kernel/rcutree.h7
-rw-r--r--kernel/sched.c5
-rw-r--r--kernel/slow-work-debugfs.c227
-rw-r--r--kernel/slow-work.c512
-rw-r--r--kernel/slow-work.h72
-rw-r--r--kernel/user.c2
-rw-r--r--kernel/workqueue.c28
-rw-r--r--lib/radix-tree.c5
-rw-r--r--lib/string.c20
-rw-r--r--mm/Kconfig5
-rw-r--r--mm/backing-dev.c8
-rw-r--r--mm/highmem.c17
-rw-r--r--mm/memory_hotplug.c24
-rw-r--r--mm/migrate.c2
-rw-r--r--mm/page_alloc.c4
-rw-r--r--mm/percpu.c121
-rw-r--r--net/8021q/vlan.c7
-rw-r--r--net/bluetooth/hci_conn.c1
-rw-r--r--net/bluetooth/l2cap.c13
-rw-r--r--net/core/dev.c11
-rw-r--r--net/core/pktgen.c32
-rw-r--r--net/core/skbuff.c3
-rw-r--r--net/ipv4/ip_fragment.c2
-rw-r--r--net/ipv4/ipmr.c4
-rw-r--r--net/ipv4/tcp.c19
-rw-r--r--net/mac80211/agg-rx.c4
-rw-r--r--net/mac80211/agg-tx.c35
-rw-r--r--net/mac80211/ht.c8
-rw-r--r--net/mac80211/ieee80211_i.h10
-rw-r--r--net/mac80211/util.c19
-rw-r--r--net/netfilter/nf_log.c18
-rw-r--r--net/netfilter/xt_limit.c2
-rw-r--r--net/netfilter/xt_osf.c2
-rw-r--r--net/rfkill/core.c1
-rw-r--r--net/sctp/associola.c4
-rw-r--r--net/sctp/outqueue.c10
-rw-r--r--net/sctp/sm_sideeffect.c1
-rw-r--r--net/sctp/sm_statefuns.c15
-rw-r--r--net/sctp/socket.c40
-rw-r--r--net/sctp/transport.c8
-rw-r--r--net/sunrpc/addr.c18
-rw-r--r--scripts/dtc/data.c2
-rw-r--r--scripts/dtc/dtc-lexer.l2
-rw-r--r--scripts/dtc/dtc-lexer.lex.c_shipped69
-rw-r--r--scripts/dtc/libfdt/fdt_ro.c2
-rw-r--r--scripts/dtc/treesource.c2
-rw-r--r--scripts/genksyms/keywords.c_shipped95
-rw-r--r--scripts/genksyms/keywords.gperf2
-rwxr-xr-xscripts/get_maintainer.pl4
-rw-r--r--scripts/kconfig/Makefile4
-rw-r--r--scripts/kconfig/lex.zconf.c_shipped25
-rw-r--r--scripts/kconfig/streamline_config.pl12
-rw-r--r--scripts/kconfig/zconf.gperf2
-rw-r--r--scripts/kconfig/zconf.hash.c_shipped2
-rw-r--r--scripts/kconfig/zconf.l6
-rw-r--r--scripts/kconfig/zconf.tab.c_shipped379
-rw-r--r--scripts/kconfig/zconf.y13
-rw-r--r--security/integrity/ima/ima_iint.c4
-rw-r--r--sound/arm/aaci.c6
-rw-r--r--sound/core/rawmidi.c42
-rw-r--r--sound/oss/hex2hex.c2
-rw-r--r--sound/pci/hda/patch_conexant.c15
-rw-r--r--sound/pci/hda/patch_nvhdmi.c2
-rw-r--r--sound/pci/hda/patch_realtek.c17
-rw-r--r--sound/pci/hda/patch_sigmatel.c2
-rw-r--r--sound/pci/ice1712/ice1712.h4
-rw-r--r--sound/pci/ice1712/prodigy_hifi.c2
-rw-r--r--sound/soc/codecs/tlv320aic23.c5
-rw-r--r--sound/soc/omap/omap3evm.c2
-rw-r--r--sound/soc/omap/omap3pandora.c3
-rw-r--r--sound/soc/soc-dapm.c20
-rw-r--r--sound/usb/usbmixer.c9
-rw-r--r--tools/perf/builtin-record.c2
-rw-r--r--tools/perf/builtin-top.c2
676 files changed, 11629 insertions, 5302 deletions
diff --git a/.gitignore b/.gitignore
index b93fb7eff942..946c7ec5c922 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,7 @@
25*.elf 25*.elf
26*.bin 26*.bin
27*.gz 27*.gz
28*.bz2
28*.lzma 29*.lzma
29*.patch 30*.patch
30*.gcno 31*.gcno
diff --git a/Documentation/fb/framebuffer.txt b/Documentation/fb/framebuffer.txt
index b3e3a0356839..fe79e3c8847d 100644
--- a/Documentation/fb/framebuffer.txt
+++ b/Documentation/fb/framebuffer.txt
@@ -312,10 +312,8 @@ and to the following documentation:
3128. Mailing list 3128. Mailing list
313--------------- 313---------------
314 314
315There are several frame buffer device related mailing lists at SourceForge: 315There is a frame buffer device related mailing list at kernel.org:
316 - linux-fbdev-announce@lists.sourceforge.net, for announcements, 316linux-fbdev@vger.kernel.org.
317 - linux-fbdev-user@lists.sourceforge.net, for generic user support,
318 - linux-fbdev-devel@lists.sourceforge.net, for project developers.
319 317
320Point your web browser to http://sourceforge.net/projects/linux-fbdev/ for 318Point your web browser to http://sourceforge.net/projects/linux-fbdev/ for
321subscription information and archive browsing. 319subscription information and archive browsing.
diff --git a/Documentation/filesystems/caching/fscache.txt b/Documentation/filesystems/caching/fscache.txt
index 9e94b9491d89..a91e2e2095b0 100644
--- a/Documentation/filesystems/caching/fscache.txt
+++ b/Documentation/filesystems/caching/fscache.txt
@@ -235,6 +235,7 @@ proc files.
235 neg=N Number of negative lookups made 235 neg=N Number of negative lookups made
236 pos=N Number of positive lookups made 236 pos=N Number of positive lookups made
237 crt=N Number of objects created by lookup 237 crt=N Number of objects created by lookup
238 tmo=N Number of lookups timed out and requeued
238 Updates n=N Number of update cookie requests seen 239 Updates n=N Number of update cookie requests seen
239 nul=N Number of upd reqs given a NULL parent 240 nul=N Number of upd reqs given a NULL parent
240 run=N Number of upd reqs granted CPU time 241 run=N Number of upd reqs granted CPU time
@@ -250,8 +251,10 @@ proc files.
250 ok=N Number of successful alloc reqs 251 ok=N Number of successful alloc reqs
251 wt=N Number of alloc reqs that waited on lookup completion 252 wt=N Number of alloc reqs that waited on lookup completion
252 nbf=N Number of alloc reqs rejected -ENOBUFS 253 nbf=N Number of alloc reqs rejected -ENOBUFS
254 int=N Number of alloc reqs aborted -ERESTARTSYS
253 ops=N Number of alloc reqs submitted 255 ops=N Number of alloc reqs submitted
254 owt=N Number of alloc reqs waited for CPU time 256 owt=N Number of alloc reqs waited for CPU time
257 abt=N Number of alloc reqs aborted due to object death
255 Retrvls n=N Number of retrieval (read) requests seen 258 Retrvls n=N Number of retrieval (read) requests seen
256 ok=N Number of successful retr reqs 259 ok=N Number of successful retr reqs
257 wt=N Number of retr reqs that waited on lookup completion 260 wt=N Number of retr reqs that waited on lookup completion
@@ -261,6 +264,7 @@ proc files.
261 oom=N Number of retr reqs failed -ENOMEM 264 oom=N Number of retr reqs failed -ENOMEM
262 ops=N Number of retr reqs submitted 265 ops=N Number of retr reqs submitted
263 owt=N Number of retr reqs waited for CPU time 266 owt=N Number of retr reqs waited for CPU time
267 abt=N Number of retr reqs aborted due to object death
264 Stores n=N Number of storage (write) requests seen 268 Stores n=N Number of storage (write) requests seen
265 ok=N Number of successful store reqs 269 ok=N Number of successful store reqs
266 agn=N Number of store reqs on a page already pending storage 270 agn=N Number of store reqs on a page already pending storage
@@ -268,12 +272,37 @@ proc files.
268 oom=N Number of store reqs failed -ENOMEM 272 oom=N Number of store reqs failed -ENOMEM
269 ops=N Number of store reqs submitted 273 ops=N Number of store reqs submitted
270 run=N Number of store reqs granted CPU time 274 run=N Number of store reqs granted CPU time
275 pgs=N Number of pages given store req processing time
276 rxd=N Number of store reqs deleted from tracking tree
277 olm=N Number of store reqs over store limit
278 VmScan nos=N Number of release reqs against pages with no pending store
279 gon=N Number of release reqs against pages stored by time lock granted
280 bsy=N Number of release reqs ignored due to in-progress store
281 can=N Number of page stores cancelled due to release req
271 Ops pend=N Number of times async ops added to pending queues 282 Ops pend=N Number of times async ops added to pending queues
272 run=N Number of times async ops given CPU time 283 run=N Number of times async ops given CPU time
273 enq=N Number of times async ops queued for processing 284 enq=N Number of times async ops queued for processing
285 can=N Number of async ops cancelled
286 rej=N Number of async ops rejected due to object lookup/create failure
274 dfr=N Number of async ops queued for deferred release 287 dfr=N Number of async ops queued for deferred release
275 rel=N Number of async ops released 288 rel=N Number of async ops released
276 gc=N Number of deferred-release async ops garbage collected 289 gc=N Number of deferred-release async ops garbage collected
290 CacheOp alo=N Number of in-progress alloc_object() cache ops
291 luo=N Number of in-progress lookup_object() cache ops
292 luc=N Number of in-progress lookup_complete() cache ops
293 gro=N Number of in-progress grab_object() cache ops
294 upo=N Number of in-progress update_object() cache ops
295 dro=N Number of in-progress drop_object() cache ops
296 pto=N Number of in-progress put_object() cache ops
297 syn=N Number of in-progress sync_cache() cache ops
298 atc=N Number of in-progress attr_changed() cache ops
299 rap=N Number of in-progress read_or_alloc_page() cache ops
300 ras=N Number of in-progress read_or_alloc_pages() cache ops
301 alp=N Number of in-progress allocate_page() cache ops
302 als=N Number of in-progress allocate_pages() cache ops
303 wrp=N Number of in-progress write_page() cache ops
304 ucp=N Number of in-progress uncache_page() cache ops
305 dsp=N Number of in-progress dissociate_pages() cache ops
277 306
278 307
279 (*) /proc/fs/fscache/histogram 308 (*) /proc/fs/fscache/histogram
@@ -299,6 +328,87 @@ proc files.
299 jiffy range covered, and the SECS field the equivalent number of seconds. 328 jiffy range covered, and the SECS field the equivalent number of seconds.
300 329
301 330
331===========
332OBJECT LIST
333===========
334
335If CONFIG_FSCACHE_OBJECT_LIST is enabled, the FS-Cache facility will maintain a
336list of all the objects currently allocated and allow them to be viewed
337through:
338
339 /proc/fs/fscache/objects
340
341This will look something like:
342
343 [root@andromeda ~]# head /proc/fs/fscache/objects
344 OBJECT PARENT STAT CHLDN OPS OOP IPR EX READS EM EV F S | NETFS_COOKIE_DEF TY FL NETFS_DATA OBJECT_KEY, AUX_DATA
345 ======== ======== ==== ===== === === === == ===== == == = = | ================ == == ================ ================
346 17e4b 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88001dd82820 010006017edcf8bbc93b43298fdfbe71e50b57b13a172c0117f38472, e567634700000000000000000000000063f2404a000000000000000000000000c9030000000000000000000063f2404a
347 1693a 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88002db23380 010006017edcf8bbc93b43298fdfbe71e50b57b1e0162c01a2df0ea6, 420ebc4a000000000000000000000000420ebc4a0000000000000000000000000e1801000000000000000000420ebc4a
348
349where the first set of columns before the '|' describe the object:
350
351 COLUMN DESCRIPTION
352 ======= ===============================================================
353 OBJECT Object debugging ID (appears as OBJ%x in some debug messages)
354 PARENT Debugging ID of parent object
355 STAT Object state
356 CHLDN Number of child objects of this object
357 OPS Number of outstanding operations on this object
358 OOP Number of outstanding child object management operations
359 IPR
360 EX Number of outstanding exclusive operations
361 READS Number of outstanding read operations
362 EM Object's event mask
363 EV Events raised on this object
364 F Object flags
365 S Object slow-work work item flags
366
367and the second set of columns describe the object's cookie, if present:
368
369 COLUMN DESCRIPTION
370 =============== =======================================================
371 NETFS_COOKIE_DEF Name of netfs cookie definition
372 TY Cookie type (IX - index, DT - data, hex - special)
373 FL Cookie flags
374 NETFS_DATA Netfs private data stored in the cookie
375 OBJECT_KEY Object key } 1 column, with separating comma
376 AUX_DATA Object aux data } presence may be configured
377
378The data shown may be filtered by attaching the a key to an appropriate keyring
379before viewing the file. Something like:
380
381 keyctl add user fscache:objlist <restrictions> @s
382
383where <restrictions> are a selection of the following letters:
384
385 K Show hexdump of object key (don't show if not given)
386 A Show hexdump of object aux data (don't show if not given)
387
388and the following paired letters:
389
390 C Show objects that have a cookie
391 c Show objects that don't have a cookie
392 B Show objects that are busy
393 b Show objects that aren't busy
394 W Show objects that have pending writes
395 w Show objects that don't have pending writes
396 R Show objects that have outstanding reads
397 r Show objects that don't have outstanding reads
398 S Show objects that have slow work queued
399 s Show objects that don't have slow work queued
400
401If neither side of a letter pair is given, then both are implied. For example:
402
403 keyctl add user fscache:objlist KB @s
404
405shows objects that are busy, and lists their object keys, but does not dump
406their auxiliary data. It also implies "CcWwRrSs", but as 'B' is given, 'b' is
407not implied.
408
409By default all objects and all fields will be shown.
410
411
302========= 412=========
303DEBUGGING 413DEBUGGING
304========= 414=========
diff --git a/Documentation/filesystems/caching/netfs-api.txt b/Documentation/filesystems/caching/netfs-api.txt
index 2666b1ed5e9e..1902c57b72ef 100644
--- a/Documentation/filesystems/caching/netfs-api.txt
+++ b/Documentation/filesystems/caching/netfs-api.txt
@@ -641,7 +641,7 @@ data file must be retired (see the relinquish cookie function below).
641 641
642Furthermore, note that this does not cancel the asynchronous read or write 642Furthermore, note that this does not cancel the asynchronous read or write
643operation started by the read/alloc and write functions, so the page 643operation started by the read/alloc and write functions, so the page
644invalidation and release functions must use: 644invalidation functions must use:
645 645
646 bool fscache_check_page_write(struct fscache_cookie *cookie, 646 bool fscache_check_page_write(struct fscache_cookie *cookie,
647 struct page *page); 647 struct page *page);
@@ -654,6 +654,25 @@ to see if a page is being written to the cache, and:
654to wait for it to finish if it is. 654to wait for it to finish if it is.
655 655
656 656
657When releasepage() is being implemented, a special FS-Cache function exists to
658manage the heuristics of coping with vmscan trying to eject pages, which may
659conflict with the cache trying to write pages to the cache (which may itself
660need to allocate memory):
661
662 bool fscache_maybe_release_page(struct fscache_cookie *cookie,
663 struct page *page,
664 gfp_t gfp);
665
666This takes the netfs cookie, and the page and gfp arguments as supplied to
667releasepage(). It will return false if the page cannot be released yet for
668some reason and if it returns true, the page has been uncached and can now be
669released.
670
671To make a page available for release, this function may wait for an outstanding
672storage request to complete, or it may attempt to cancel the storage request -
673in which case the page will not be stored in the cache this time.
674
675
657========================== 676==========================
658INDEX AND DATA FILE UPDATE 677INDEX AND DATA FILE UPDATE
659========================== 678==========================
diff --git a/Documentation/filesystems/ocfs2.txt b/Documentation/filesystems/ocfs2.txt
index c2a0871280a0..c58b9f5ba002 100644
--- a/Documentation/filesystems/ocfs2.txt
+++ b/Documentation/filesystems/ocfs2.txt
@@ -20,15 +20,16 @@ Lots of code taken from ext3 and other projects.
20Authors in alphabetical order: 20Authors in alphabetical order:
21Joel Becker <joel.becker@oracle.com> 21Joel Becker <joel.becker@oracle.com>
22Zach Brown <zach.brown@oracle.com> 22Zach Brown <zach.brown@oracle.com>
23Mark Fasheh <mark.fasheh@oracle.com> 23Mark Fasheh <mfasheh@suse.com>
24Kurt Hackel <kurt.hackel@oracle.com> 24Kurt Hackel <kurt.hackel@oracle.com>
25Tao Ma <tao.ma@oracle.com>
25Sunil Mushran <sunil.mushran@oracle.com> 26Sunil Mushran <sunil.mushran@oracle.com>
26Manish Singh <manish.singh@oracle.com> 27Manish Singh <manish.singh@oracle.com>
28Tiger Yang <tiger.yang@oracle.com>
27 29
28Caveats 30Caveats
29======= 31=======
30Features which OCFS2 does not support yet: 32Features which OCFS2 does not support yet:
31 - quotas
32 - Directory change notification (F_NOTIFY) 33 - Directory change notification (F_NOTIFY)
33 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease) 34 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
34 35
@@ -70,7 +71,6 @@ commit=nrsec (*) Ocfs2 can be told to sync all its data and metadata
70 performance. 71 performance.
71localalloc=8(*) Allows custom localalloc size in MB. If the value is too 72localalloc=8(*) Allows custom localalloc size in MB. If the value is too
72 large, the fs will silently revert it to the default. 73 large, the fs will silently revert it to the default.
73 Localalloc is not enabled for local mounts.
74localflocks This disables cluster aware flock. 74localflocks This disables cluster aware flock.
75inode64 Indicates that Ocfs2 is allowed to create inodes at 75inode64 Indicates that Ocfs2 is allowed to create inodes at
76 any location in the filesystem, including those which 76 any location in the filesystem, including those which
diff --git a/Documentation/slow-work.txt b/Documentation/slow-work.txt
index ebc50f808ea4..9dbf4470c7e1 100644
--- a/Documentation/slow-work.txt
+++ b/Documentation/slow-work.txt
@@ -41,6 +41,13 @@ expand files, provided the time taken to do so isn't too long.
41Operations of both types may sleep during execution, thus tying up the thread 41Operations of both types may sleep during execution, thus tying up the thread
42loaned to it. 42loaned to it.
43 43
44A further class of work item is available, based on the slow work item class:
45
46 (*) Delayed slow work items.
47
48These are slow work items that have a timer to defer queueing of the item for
49a while.
50
44 51
45THREAD-TO-CLASS ALLOCATION 52THREAD-TO-CLASS ALLOCATION
46-------------------------- 53--------------------------
@@ -64,9 +71,11 @@ USING SLOW WORK ITEMS
64Firstly, a module or subsystem wanting to make use of slow work items must 71Firstly, a module or subsystem wanting to make use of slow work items must
65register its interest: 72register its interest:
66 73
67 int ret = slow_work_register_user(); 74 int ret = slow_work_register_user(struct module *module);
68 75
69This will return 0 if successful, or a -ve error upon failure. 76This will return 0 if successful, or a -ve error upon failure. The module
77pointer should be the module interested in using this facility (almost
78certainly THIS_MODULE).
70 79
71 80
72Slow work items may then be set up by: 81Slow work items may then be set up by:
@@ -93,6 +102,10 @@ Slow work items may then be set up by:
93 102
94 or: 103 or:
95 104
105 delayed_slow_work_init(&myitem, &myitem_ops);
106
107 or:
108
96 vslow_work_init(&myitem, &myitem_ops); 109 vslow_work_init(&myitem, &myitem_ops);
97 110
98 depending on its class. 111 depending on its class.
@@ -102,15 +115,92 @@ A suitably set up work item can then be enqueued for processing:
102 int ret = slow_work_enqueue(&myitem); 115 int ret = slow_work_enqueue(&myitem);
103 116
104This will return a -ve error if the thread pool is unable to gain a reference 117This will return a -ve error if the thread pool is unable to gain a reference
105on the item, 0 otherwise. 118on the item, 0 otherwise, or (for delayed work):
119
120 int ret = delayed_slow_work_enqueue(&myitem, my_jiffy_delay);
106 121
107 122
108The items are reference counted, so there ought to be no need for a flush 123The items are reference counted, so there ought to be no need for a flush
109operation. When all a module's slow work items have been processed, and the 124operation. But as the reference counting is optional, means to cancel
125existing work items are also included:
126
127 cancel_slow_work(&myitem);
128 cancel_delayed_slow_work(&myitem);
129
130can be used to cancel pending work. The above cancel function waits for
131existing work to have been executed (or prevent execution of them, depending
132on timing).
133
134
135When all a module's slow work items have been processed, and the
110module has no further interest in the facility, it should unregister its 136module has no further interest in the facility, it should unregister its
111interest: 137interest:
112 138
113 slow_work_unregister_user(); 139 slow_work_unregister_user(struct module *module);
140
141The module pointer is used to wait for all outstanding work items for that
142module before completing the unregistration. This prevents the put_ref() code
143from being taken away before it completes. module should almost certainly be
144THIS_MODULE.
145
146
147================
148HELPER FUNCTIONS
149================
150
151The slow-work facility provides a function by which it can be determined
152whether or not an item is queued for later execution:
153
154 bool queued = slow_work_is_queued(struct slow_work *work);
155
156If it returns false, then the item is not on the queue (it may be executing
157with a requeue pending). This can be used to work out whether an item on which
158another depends is on the queue, thus allowing a dependent item to be queued
159after it.
160
161If the above shows an item on which another depends not to be queued, then the
162owner of the dependent item might need to wait. However, to avoid locking up
163the threads unnecessarily be sleeping in them, it can make sense under some
164circumstances to return the work item to the queue, thus deferring it until
165some other items have had a chance to make use of the yielded thread.
166
167To yield a thread and defer an item, the work function should simply enqueue
168the work item again and return. However, this doesn't work if there's nothing
169actually on the queue, as the thread just vacated will jump straight back into
170the item's work function, thus busy waiting on a CPU.
171
172Instead, the item should use the thread to wait for the dependency to go away,
173but rather than using schedule() or schedule_timeout() to sleep, it should use
174the following function:
175
176 bool requeue = slow_work_sleep_till_thread_needed(
177 struct slow_work *work,
178 signed long *_timeout);
179
180This will add a second wait and then sleep, such that it will be woken up if
181either something appears on the queue that could usefully make use of the
182thread - and behind which this item can be queued, or if the event the caller
183set up to wait for happens. True will be returned if something else appeared
184on the queue and this work function should perhaps return, of false if
185something else woke it up. The timeout is as for schedule_timeout().
186
187For example:
188
189 wq = bit_waitqueue(&my_flags, MY_BIT);
190 init_wait(&wait);
191 requeue = false;
192 do {
193 prepare_to_wait(wq, &wait, TASK_UNINTERRUPTIBLE);
194 if (!test_bit(MY_BIT, &my_flags))
195 break;
196 requeue = slow_work_sleep_till_thread_needed(&my_work,
197 &timeout);
198 } while (timeout > 0 && !requeue);
199 finish_wait(wq, &wait);
200 if (!test_bit(MY_BIT, &my_flags)
201 goto do_my_thing;
202 if (requeue)
203 return; // to slow_work
114 204
115 205
116=============== 206===============
@@ -118,7 +208,8 @@ ITEM OPERATIONS
118=============== 208===============
119 209
120Each work item requires a table of operations of type struct slow_work_ops. 210Each work item requires a table of operations of type struct slow_work_ops.
121All members are required: 211Only ->execute() is required; the getting and putting of a reference and the
212describing of an item are all optional.
122 213
123 (*) Get a reference on an item: 214 (*) Get a reference on an item:
124 215
@@ -148,6 +239,16 @@ All members are required:
148 This should perform the work required of the item. It may sleep, it may 239 This should perform the work required of the item. It may sleep, it may
149 perform disk I/O and it may wait for locks. 240 perform disk I/O and it may wait for locks.
150 241
242 (*) View an item through /proc:
243
244 void (*desc)(struct slow_work *work, struct seq_file *m);
245
246 If supplied, this should print to 'm' a small string describing the work
247 the item is to do. This should be no more than about 40 characters, and
248 shouldn't include a newline character.
249
250 See the 'Viewing executing and queued items' section below.
251
151 252
152================== 253==================
153POOL CONFIGURATION 254POOL CONFIGURATION
@@ -172,3 +273,50 @@ The slow-work thread pool has a number of configurables:
172 is bounded to between 1 and one fewer than the number of active threads. 273 is bounded to between 1 and one fewer than the number of active threads.
173 This ensures there is always at least one thread that can process very 274 This ensures there is always at least one thread that can process very
174 slow work items, and always at least one thread that won't. 275 slow work items, and always at least one thread that won't.
276
277
278==================================
279VIEWING EXECUTING AND QUEUED ITEMS
280==================================
281
282If CONFIG_SLOW_WORK_DEBUG is enabled, a debugfs file is made available:
283
284 /sys/kernel/debug/slow_work/runqueue
285
286through which the list of work items being executed and the queues of items to
287be executed may be viewed. The owner of a work item is given the chance to
288add some information of its own.
289
290The contents look something like the following:
291
292 THR PID ITEM ADDR FL MARK DESC
293 === ===== ================ == ===== ==========
294 0 3005 ffff880023f52348 a 952ms FSC: OBJ17d3: LOOK
295 1 3006 ffff880024e33668 2 160ms FSC: OBJ17e5 OP60d3b: Write1/Store fl=2
296 2 3165 ffff8800296dd180 a 424ms FSC: OBJ17e4: LOOK
297 3 4089 ffff8800262c8d78 a 212ms FSC: OBJ17ea: CRTN
298 4 4090 ffff88002792bed8 2 388ms FSC: OBJ17e8 OP60d36: Write1/Store fl=2
299 5 4092 ffff88002a0ef308 2 388ms FSC: OBJ17e7 OP60d2e: Write1/Store fl=2
300 6 4094 ffff88002abaf4b8 2 132ms FSC: OBJ17e2 OP60d4e: Write1/Store fl=2
301 7 4095 ffff88002bb188e0 a 388ms FSC: OBJ17e9: CRTN
302 vsq - ffff880023d99668 1 308ms FSC: OBJ17e0 OP60f91: Write1/EnQ fl=2
303 vsq - ffff8800295d1740 1 212ms FSC: OBJ16be OP4d4b6: Write1/EnQ fl=2
304 vsq - ffff880025ba3308 1 160ms FSC: OBJ179a OP58dec: Write1/EnQ fl=2
305 vsq - ffff880024ec83e0 1 160ms FSC: OBJ17ae OP599f2: Write1/EnQ fl=2
306 vsq - ffff880026618e00 1 160ms FSC: OBJ17e6 OP60d33: Write1/EnQ fl=2
307 vsq - ffff880025a2a4b8 1 132ms FSC: OBJ16a2 OP4d583: Write1/EnQ fl=2
308 vsq - ffff880023cbe6d8 9 212ms FSC: OBJ17eb: LOOK
309 vsq - ffff880024d37590 9 212ms FSC: OBJ17ec: LOOK
310 vsq - ffff880027746cb0 9 212ms FSC: OBJ17ed: LOOK
311 vsq - ffff880024d37ae8 9 212ms FSC: OBJ17ee: LOOK
312 vsq - ffff880024d37cb0 9 212ms FSC: OBJ17ef: LOOK
313 vsq - ffff880025036550 9 212ms FSC: OBJ17f0: LOOK
314 vsq - ffff8800250368e0 9 212ms FSC: OBJ17f1: LOOK
315 vsq - ffff880025036aa8 9 212ms FSC: OBJ17f2: LOOK
316
317In the 'THR' column, executing items show the thread they're occupying and
318queued threads indicate which queue they're on. 'PID' shows the process ID of
319a slow-work thread that's executing something. 'FL' shows the work item flags.
320'MARK' indicates how long since an item was queued or began executing. Lastly,
321the 'DESC' column permits the owner of an item to give some information.
322
diff --git a/Documentation/vm/page-types.c b/Documentation/vm/page-types.c
index 3ec4f2a22585..4793c6aac733 100644
--- a/Documentation/vm/page-types.c
+++ b/Documentation/vm/page-types.c
@@ -218,7 +218,7 @@ static void fatal(const char *x, ...)
218 exit(EXIT_FAILURE); 218 exit(EXIT_FAILURE);
219} 219}
220 220
221int checked_open(const char *pathname, int flags) 221static int checked_open(const char *pathname, int flags)
222{ 222{
223 int fd = open(pathname, flags); 223 int fd = open(pathname, flags);
224 224
diff --git a/MAINTAINERS b/MAINTAINERS
index 8264e6bddaa1..4f96ac81089c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -182,7 +182,7 @@ M: Ron Minnich <rminnich@sandia.gov>
182M: Latchesar Ionkov <lucho@ionkov.net> 182M: Latchesar Ionkov <lucho@ionkov.net>
183L: v9fs-developer@lists.sourceforge.net 183L: v9fs-developer@lists.sourceforge.net
184W: http://swik.net/v9fs 184W: http://swik.net/v9fs
185T: git git://git.kernel.org/pub/scm/linux/kernel/ericvh/v9fs.git 185T: git git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git
186S: Maintained 186S: Maintained
187F: Documentation/filesystems/9p.txt 187F: Documentation/filesystems/9p.txt
188F: fs/9p/ 188F: fs/9p/
@@ -512,10 +512,32 @@ W: http://www.arm.linux.org.uk/
512S: Maintained 512S: Maintained
513F: arch/arm/ 513F: arch/arm/
514 514
515ARM PRIMECELL AACI PL041 DRIVER
516M: Russell King <linux@arm.linux.org.uk>
517S: Maintained
518F: sound/arm/aaci.*
519
520ARM PRIMECELL CLCD PL110 DRIVER
521M: Russell King <linux@arm.linux.org.uk>
522S: Maintained
523F: drivers/video/amba-clcd.*
524
525ARM PRIMECELL KMI PL050 DRIVER
526M: Russell King <linux@arm.linux.org.uk>
527S: Maintained
528F: drivers/input/serio/ambakmi.*
529F: include/linux/amba/kmi.h
530
515ARM PRIMECELL MMCI PL180/1 DRIVER 531ARM PRIMECELL MMCI PL180/1 DRIVER
516S: Orphan 532S: Orphan
517F: drivers/mmc/host/mmci.* 533F: drivers/mmc/host/mmci.*
518 534
535ARM PRIMECELL BUS SUPPORT
536M: Russell King <linux@arm.linux.org.uk>
537S: Maintained
538F: drivers/amba/
539F: include/linux/amba/bus.h
540
519ARM/ADI ROADRUNNER MACHINE SUPPORT 541ARM/ADI ROADRUNNER MACHINE SUPPORT
520M: Lennert Buytenhek <kernel@wantstofly.org> 542M: Lennert Buytenhek <kernel@wantstofly.org>
521L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 543L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -906,7 +928,6 @@ M: Karol Kozimor <sziwan@users.sourceforge.net>
906L: acpi4asus-user@lists.sourceforge.net 928L: acpi4asus-user@lists.sourceforge.net
907W: http://acpi4asus.sf.net 929W: http://acpi4asus.sf.net
908S: Maintained 930S: Maintained
909F: arch/x86/kernel/acpi/boot.c
910F: drivers/platform/x86/asus_acpi.c 931F: drivers/platform/x86/asus_acpi.c
911 932
912ASUS ASB100 HARDWARE MONITOR DRIVER 933ASUS ASB100 HARDWARE MONITOR DRIVER
@@ -1028,7 +1049,7 @@ F: drivers/serial/atmel_serial.c
1028 1049
1029ATMEL LCDFB DRIVER 1050ATMEL LCDFB DRIVER
1030M: Nicolas Ferre <nicolas.ferre@atmel.com> 1051M: Nicolas Ferre <nicolas.ferre@atmel.com>
1031L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 1052L: linux-fbdev@vger.kernel.org
1032S: Maintained 1053S: Maintained
1033F: drivers/video/atmel_lcdfb.c 1054F: drivers/video/atmel_lcdfb.c
1034F: include/video/atmel_lcdc.h 1055F: include/video/atmel_lcdc.h
@@ -1245,11 +1266,10 @@ S: Supported
1245F: drivers/net/tg3.* 1266F: drivers/net/tg3.*
1246 1267
1247BROCADE BFA FC SCSI DRIVER 1268BROCADE BFA FC SCSI DRIVER
1248P: Jing Huang 1269M: Jing Huang <huangj@brocade.com>
1249M: huangj@brocade.com 1270L: linux-scsi@vger.kernel.org
1250L: linux-scsi@vger.kernel.org 1271S: Supported
1251S: Supported 1272F: drivers/scsi/bfa/
1252F: drivers/scsi/bfa/
1253 1273
1254BSG (block layer generic sg v4 driver) 1274BSG (block layer generic sg v4 driver)
1255M: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> 1275M: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
@@ -2115,7 +2135,7 @@ F: drivers/net/wan/dlci.c
2115F: drivers/net/wan/sdla.c 2135F: drivers/net/wan/sdla.c
2116 2136
2117FRAMEBUFFER LAYER 2137FRAMEBUFFER LAYER
2118L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 2138L: linux-fbdev@vger.kernel.org
2119W: http://linux-fbdev.sourceforge.net/ 2139W: http://linux-fbdev.sourceforge.net/
2120S: Orphan 2140S: Orphan
2121F: Documentation/fb/ 2141F: Documentation/fb/
@@ -2138,7 +2158,7 @@ F: drivers/i2c/busses/i2c-cpm.c
2138 2158
2139FREESCALE IMX / MXC FRAMEBUFFER DRIVER 2159FREESCALE IMX / MXC FRAMEBUFFER DRIVER
2140M: Sascha Hauer <kernel@pengutronix.de> 2160M: Sascha Hauer <kernel@pengutronix.de>
2141L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 2161L: linux-fbdev@vger.kernel.org
2142L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 2162L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2143S: Maintained 2163S: Maintained
2144F: arch/arm/plat-mxc/include/mach/imxfb.h 2164F: arch/arm/plat-mxc/include/mach/imxfb.h
@@ -2314,6 +2334,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
2314S: Maintained 2334S: Maintained
2315F: drivers/media/video/gspca/finepix.c 2335F: drivers/media/video/gspca/finepix.c
2316 2336
2337GSPCA GL860 SUBDRIVER
2338M: Olivier Lorin <o.lorin@laposte.net>
2339L: linux-media@vger.kernel.org
2340T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
2341S: Maintained
2342F: drivers/media/video/gspca/gl860/
2343
2317GSPCA M5602 SUBDRIVER 2344GSPCA M5602 SUBDRIVER
2318M: Erik Andren <erik.andren@gmail.com> 2345M: Erik Andren <erik.andren@gmail.com>
2319L: linux-media@vger.kernel.org 2346L: linux-media@vger.kernel.org
@@ -2535,8 +2562,7 @@ S: Maintained
2535F: Documentation/i2c/ 2562F: Documentation/i2c/
2536F: drivers/i2c/ 2563F: drivers/i2c/
2537F: include/linux/i2c.h 2564F: include/linux/i2c.h
2538F: include/linux/i2c-dev.h 2565F: include/linux/i2c-*.h
2539F: include/linux/i2c-id.h
2540 2566
2541I2C-TINY-USB DRIVER 2567I2C-TINY-USB DRIVER
2542M: Till Harbaum <till@harbaum.org> 2568M: Till Harbaum <till@harbaum.org>
@@ -2637,7 +2663,7 @@ S: Supported
2637F: security/integrity/ima/ 2663F: security/integrity/ima/
2638 2664
2639IMS TWINTURBO FRAMEBUFFER DRIVER 2665IMS TWINTURBO FRAMEBUFFER DRIVER
2640L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 2666L: linux-fbdev@vger.kernel.org
2641S: Orphan 2667S: Orphan
2642F: drivers/video/imsttfb.c 2668F: drivers/video/imsttfb.c
2643 2669
@@ -2672,14 +2698,14 @@ F: drivers/input/
2672 2698
2673INTEL FRAMEBUFFER DRIVER (excluding 810 and 815) 2699INTEL FRAMEBUFFER DRIVER (excluding 810 and 815)
2674M: Sylvain Meyer <sylvain.meyer@worldonline.fr> 2700M: Sylvain Meyer <sylvain.meyer@worldonline.fr>
2675L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 2701L: linux-fbdev@vger.kernel.org
2676S: Maintained 2702S: Maintained
2677F: Documentation/fb/intelfb.txt 2703F: Documentation/fb/intelfb.txt
2678F: drivers/video/intelfb/ 2704F: drivers/video/intelfb/
2679 2705
2680INTEL 810/815 FRAMEBUFFER DRIVER 2706INTEL 810/815 FRAMEBUFFER DRIVER
2681M: Antonino Daplas <adaplas@gmail.com> 2707M: Antonino Daplas <adaplas@gmail.com>
2682L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 2708L: linux-fbdev@vger.kernel.org
2683S: Maintained 2709S: Maintained
2684F: drivers/video/i810/ 2710F: drivers/video/i810/
2685 2711
@@ -2825,7 +2851,7 @@ F: drivers/infiniband/hw/ipath/
2825 2851
2826IPMI SUBSYSTEM 2852IPMI SUBSYSTEM
2827M: Corey Minyard <minyard@acm.org> 2853M: Corey Minyard <minyard@acm.org>
2828L: openipmi-developer@lists.sourceforge.net 2854L: openipmi-developer@lists.sourceforge.net (moderated for non-subscribers)
2829W: http://openipmi.sourceforge.net/ 2855W: http://openipmi.sourceforge.net/
2830S: Supported 2856S: Supported
2831F: Documentation/IPMI.txt 2857F: Documentation/IPMI.txt
@@ -2989,11 +3015,8 @@ S: Maintained
2989F: fs/autofs4/ 3015F: fs/autofs4/
2990 3016
2991KERNEL BUILD 3017KERNEL BUILD
2992M: Sam Ravnborg <sam@ravnborg.org>
2993T: git git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next.git
2994T: git git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git
2995L: linux-kbuild@vger.kernel.org 3018L: linux-kbuild@vger.kernel.org
2996S: Maintained 3019S: Orphan
2997F: Documentation/kbuild/ 3020F: Documentation/kbuild/
2998F: Makefile 3021F: Makefile
2999F: scripts/Makefile.* 3022F: scripts/Makefile.*
@@ -3086,9 +3109,13 @@ F: kernel/kgdb.c
3086 3109
3087KMEMCHECK 3110KMEMCHECK
3088M: Vegard Nossum <vegardno@ifi.uio.no> 3111M: Vegard Nossum <vegardno@ifi.uio.no>
3089P Pekka Enberg 3112M: Pekka Enberg <penberg@cs.helsinki.fi>
3090M: penberg@cs.helsinki.fi
3091S: Maintained 3113S: Maintained
3114F: Documentation/kmemcheck.txt
3115F: arch/x86/include/asm/kmemcheck.h
3116F: arch/x86/mm/kmemcheck/
3117F: include/linux/kmemcheck.h
3118F: mm/kmemcheck.c
3092 3119
3093KMEMLEAK 3120KMEMLEAK
3094M: Catalin Marinas <catalin.marinas@arm.com> 3121M: Catalin Marinas <catalin.marinas@arm.com>
@@ -3389,7 +3416,7 @@ S: Supported
3389 3416
3390MATROX FRAMEBUFFER DRIVER 3417MATROX FRAMEBUFFER DRIVER
3391M: Petr Vandrovec <vandrove@vc.cvut.cz> 3418M: Petr Vandrovec <vandrove@vc.cvut.cz>
3392L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 3419L: linux-fbdev@vger.kernel.org
3393S: Maintained 3420S: Maintained
3394F: drivers/video/matrox/matroxfb_* 3421F: drivers/video/matrox/matroxfb_*
3395F: include/linux/matroxfb.h 3422F: include/linux/matroxfb.h
@@ -3618,7 +3645,7 @@ L: netfilter@vger.kernel.org
3618L: coreteam@netfilter.org 3645L: coreteam@netfilter.org
3619W: http://www.netfilter.org/ 3646W: http://www.netfilter.org/
3620W: http://www.iptables.org/ 3647W: http://www.iptables.org/
3621T: git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git 3648T: git git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git
3622S: Supported 3649S: Supported
3623F: include/linux/netfilter* 3650F: include/linux/netfilter*
3624F: include/linux/netfilter/ 3651F: include/linux/netfilter/
@@ -3776,7 +3803,7 @@ F: fs/ntfs/
3776 3803
3777NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER 3804NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER
3778M: Antonino Daplas <adaplas@gmail.com> 3805M: Antonino Daplas <adaplas@gmail.com>
3779L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 3806L: linux-fbdev@vger.kernel.org
3780S: Maintained 3807S: Maintained
3781F: drivers/video/riva/ 3808F: drivers/video/riva/
3782F: drivers/video/nvidia/ 3809F: drivers/video/nvidia/
@@ -3811,7 +3838,7 @@ F: sound/soc/omap/
3811 3838
3812OMAP FRAMEBUFFER SUPPORT 3839OMAP FRAMEBUFFER SUPPORT
3813M: Imre Deak <imre.deak@nokia.com> 3840M: Imre Deak <imre.deak@nokia.com>
3814L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 3841L: linux-fbdev@vger.kernel.org
3815L: linux-omap@vger.kernel.org 3842L: linux-omap@vger.kernel.org
3816S: Maintained 3843S: Maintained
3817F: drivers/video/omap/ 3844F: drivers/video/omap/
@@ -4317,19 +4344,21 @@ F: include/linux/qnxtypes.h
4317 4344
4318RADEON FRAMEBUFFER DISPLAY DRIVER 4345RADEON FRAMEBUFFER DISPLAY DRIVER
4319M: Benjamin Herrenschmidt <benh@kernel.crashing.org> 4346M: Benjamin Herrenschmidt <benh@kernel.crashing.org>
4320L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 4347L: linux-fbdev@vger.kernel.org
4321S: Maintained 4348S: Maintained
4322F: drivers/video/aty/radeon* 4349F: drivers/video/aty/radeon*
4323F: include/linux/radeonfb.h 4350F: include/linux/radeonfb.h
4324 4351
4325RAGE128 FRAMEBUFFER DISPLAY DRIVER 4352RAGE128 FRAMEBUFFER DISPLAY DRIVER
4326M: Paul Mackerras <paulus@samba.org> 4353M: Paul Mackerras <paulus@samba.org>
4327L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 4354L: linux-fbdev@vger.kernel.org
4328S: Maintained 4355S: Maintained
4329F: drivers/video/aty/aty128fb.c 4356F: drivers/video/aty/aty128fb.c
4330 4357
4331RALINK RT2X00 WIRELESS LAN DRIVER 4358RALINK RT2X00 WIRELESS LAN DRIVER
4332P: rt2x00 project 4359P: rt2x00 project
4360M: Ivo van Doorn <IvDoorn@gmail.com>
4361M: Gertjan van Wingerde <gwingerde@gmail.com>
4333L: linux-wireless@vger.kernel.org 4362L: linux-wireless@vger.kernel.org
4334L: users@rt2x00.serialmonkey.com (moderated for non-subscribers) 4363L: users@rt2x00.serialmonkey.com (moderated for non-subscribers)
4335W: http://rt2x00.serialmonkey.com/ 4364W: http://rt2x00.serialmonkey.com/
@@ -4417,7 +4446,7 @@ RFKILL
4417M: Johannes Berg <johannes@sipsolutions.net> 4446M: Johannes Berg <johannes@sipsolutions.net>
4418L: linux-wireless@vger.kernel.org 4447L: linux-wireless@vger.kernel.org
4419S: Maintained 4448S: Maintained
4420F Documentation/rfkill.txt 4449F: Documentation/rfkill.txt
4421F: net/rfkill/ 4450F: net/rfkill/
4422 4451
4423RISCOM8 DRIVER 4452RISCOM8 DRIVER
@@ -4461,7 +4490,7 @@ F: drivers/net/wireless/rtl818x/rtl8187*
4461 4490
4462S3 SAVAGE FRAMEBUFFER DRIVER 4491S3 SAVAGE FRAMEBUFFER DRIVER
4463M: Antonino Daplas <adaplas@gmail.com> 4492M: Antonino Daplas <adaplas@gmail.com>
4464L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 4493L: linux-fbdev@vger.kernel.org
4465S: Maintained 4494S: Maintained
4466F: drivers/video/savage/ 4495F: drivers/video/savage/
4467 4496
@@ -4637,7 +4666,7 @@ F: drivers/mmc/host/sdhci-s3c.c
4637SECURITY SUBSYSTEM 4666SECURITY SUBSYSTEM
4638M: James Morris <jmorris@namei.org> 4667M: James Morris <jmorris@namei.org>
4639L: linux-security-module@vger.kernel.org (suggested Cc:) 4668L: linux-security-module@vger.kernel.org (suggested Cc:)
4640T: git git://www.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git 4669T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
4641W: http://security.wiki.kernel.org/ 4670W: http://security.wiki.kernel.org/
4642S: Supported 4671S: Supported
4643F: security/ 4672F: security/
@@ -4673,12 +4702,11 @@ F: include/linux/ata.h
4673F: include/linux/libata.h 4702F: include/linux/libata.h
4674 4703
4675SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER 4704SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
4676P: Jayamohan Kallickal 4705M: Jayamohan Kallickal <jayamohank@serverengines.com>
4677M: jayamohank@serverengines.com 4706L: linux-scsi@vger.kernel.org
4678L: linux-scsi@vger.kernel.org 4707W: http://www.serverengines.com
4679W: http://www.serverengines.com 4708S: Supported
4680S: Supported 4709F: drivers/scsi/be2iscsi/
4681F: drivers/scsi/be2iscsi/
4682 4710
4683SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER 4711SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER
4684M: Sathya Perla <sathyap@serverengines.com> 4712M: Sathya Perla <sathyap@serverengines.com>
@@ -5625,7 +5653,7 @@ S: Maintained
5625 5653
5626UVESAFB DRIVER 5654UVESAFB DRIVER
5627M: Michal Januszewski <spock@gentoo.org> 5655M: Michal Januszewski <spock@gentoo.org>
5628L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 5656L: linux-fbdev@vger.kernel.org
5629W: http://dev.gentoo.org/~spock/projects/uvesafb/ 5657W: http://dev.gentoo.org/~spock/projects/uvesafb/
5630S: Maintained 5658S: Maintained
5631F: Documentation/fb/uvesafb.txt 5659F: Documentation/fb/uvesafb.txt
@@ -5658,7 +5686,7 @@ F: drivers/mmc/host/via-sdmmc.c
5658VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER 5686VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER
5659M: Joseph Chan <JosephChan@via.com.tw> 5687M: Joseph Chan <JosephChan@via.com.tw>
5660M: Scott Fang <ScottFang@viatech.com.cn> 5688M: Scott Fang <ScottFang@viatech.com.cn>
5661L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers) 5689L: linux-fbdev@vger.kernel.org
5662S: Maintained 5690S: Maintained
5663F: drivers/video/via/ 5691F: drivers/video/via/
5664 5692
@@ -5684,11 +5712,11 @@ F: drivers/vlynq/vlynq.c
5684F: include/linux/vlynq.h 5712F: include/linux/vlynq.h
5685 5713
5686VMWARE VMXNET3 ETHERNET DRIVER 5714VMWARE VMXNET3 ETHERNET DRIVER
5687M: Shreyas Bhatewara <sbhatewara@vmware.com> 5715M: Shreyas Bhatewara <sbhatewara@vmware.com>
5688M: VMware, Inc. <pv-drivers@vmware.com> 5716M: "VMware, Inc." <pv-drivers@vmware.com>
5689L: netdev@vger.kernel.org 5717L: netdev@vger.kernel.org
5690S: Maintained 5718S: Maintained
5691F: drivers/net/vmxnet3/ 5719F: drivers/net/vmxnet3/
5692 5720
5693VOLTAGE AND CURRENT REGULATOR FRAMEWORK 5721VOLTAGE AND CURRENT REGULATOR FRAMEWORK
5694M: Liam Girdwood <lrg@slimlogic.co.uk> 5722M: Liam Girdwood <lrg@slimlogic.co.uk>
diff --git a/Makefile b/Makefile
index b4c04f734e56..f5cdb72ba2ce 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 32 3SUBLEVEL = 32
4EXTRAVERSION = -rc6 4EXTRAVERSION =
5NAME = Man-Eating Seals of Antiquity 5NAME = Man-Eating Seals of Antiquity
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
@@ -221,7 +221,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
221 221
222HOSTCC = gcc 222HOSTCC = gcc
223HOSTCXX = g++ 223HOSTCXX = g++
224HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer 224HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
225HOSTCXXFLAGS = -O2 225HOSTCXXFLAGS = -O2
226 226
227# Decide whether to build built-in, modular, or both. 227# Decide whether to build built-in, modular, or both.
diff --git a/arch/alpha/boot/tools/objstrip.c b/arch/alpha/boot/tools/objstrip.c
index 9d0727d18aee..367d53d031fc 100644
--- a/arch/alpha/boot/tools/objstrip.c
+++ b/arch/alpha/boot/tools/objstrip.c
@@ -35,7 +35,7 @@
35const char * prog_name; 35const char * prog_name;
36 36
37 37
38void 38static void
39usage (void) 39usage (void)
40{ 40{
41 fprintf(stderr, 41 fprintf(stderr,
diff --git a/arch/alpha/include/asm/fcntl.h b/arch/alpha/include/asm/fcntl.h
index e42823e954aa..25da0017ec87 100644
--- a/arch/alpha/include/asm/fcntl.h
+++ b/arch/alpha/include/asm/fcntl.h
@@ -26,8 +26,6 @@
26#define F_GETOWN 6 /* for sockets. */ 26#define F_GETOWN 6 /* for sockets. */
27#define F_SETSIG 10 /* for sockets. */ 27#define F_SETSIG 10 /* for sockets. */
28#define F_GETSIG 11 /* for sockets. */ 28#define F_GETSIG 11 /* for sockets. */
29#define F_SETOWN_EX 12
30#define F_GETOWN_EX 13
31 29
32/* for posix fcntl() and lockf() */ 30/* for posix fcntl() and lockf() */
33#define F_RDLCK 1 31#define F_RDLCK 1
diff --git a/arch/alpha/include/asm/thread_info.h b/arch/alpha/include/asm/thread_info.h
index 5076a8860b18..b3e888638bb7 100644
--- a/arch/alpha/include/asm/thread_info.h
+++ b/arch/alpha/include/asm/thread_info.h
@@ -50,32 +50,35 @@ struct thread_info {
50register struct thread_info *__current_thread_info __asm__("$8"); 50register struct thread_info *__current_thread_info __asm__("$8");
51#define current_thread_info() __current_thread_info 51#define current_thread_info() __current_thread_info
52 52
53#endif /* __ASSEMBLY__ */
54
53/* Thread information allocation. */ 55/* Thread information allocation. */
54#define THREAD_SIZE_ORDER 1 56#define THREAD_SIZE_ORDER 1
55#define THREAD_SIZE (2*PAGE_SIZE) 57#define THREAD_SIZE (2*PAGE_SIZE)
56 58
57#endif /* __ASSEMBLY__ */
58
59#define PREEMPT_ACTIVE 0x40000000 59#define PREEMPT_ACTIVE 0x40000000
60 60
61/* 61/*
62 * Thread information flags: 62 * Thread information flags:
63 * - these are process state flags and used from assembly 63 * - these are process state flags and used from assembly
64 * - pending work-to-be-done flags come first to fit in and immediate operand. 64 * - pending work-to-be-done flags come first and must be assigned to be
65 * within bits 0 to 7 to fit in and immediate operand.
66 * - ALPHA_UAC_SHIFT below must be kept consistent with the unaligned
67 * control flags.
65 * 68 *
66 * TIF_SYSCALL_TRACE is known to be 0 via blbs. 69 * TIF_SYSCALL_TRACE is known to be 0 via blbs.
67 */ 70 */
68#define TIF_SYSCALL_TRACE 0 /* syscall trace active */ 71#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
69#define TIF_SIGPENDING 1 /* signal pending */ 72#define TIF_NOTIFY_RESUME 1 /* callback before returning to user */
70#define TIF_NEED_RESCHED 2 /* rescheduling necessary */ 73#define TIF_SIGPENDING 2 /* signal pending */
71#define TIF_POLLING_NRFLAG 3 /* poll_idle is polling NEED_RESCHED */ 74#define TIF_NEED_RESCHED 3 /* rescheduling necessary */
72#define TIF_DIE_IF_KERNEL 4 /* dik recursion lock */ 75#define TIF_POLLING_NRFLAG 8 /* poll_idle is polling NEED_RESCHED */
73#define TIF_UAC_NOPRINT 5 /* see sysinfo.h */ 76#define TIF_DIE_IF_KERNEL 9 /* dik recursion lock */
74#define TIF_UAC_NOFIX 6 77#define TIF_UAC_NOPRINT 10 /* see sysinfo.h */
75#define TIF_UAC_SIGBUS 7 78#define TIF_UAC_NOFIX 11
76#define TIF_MEMDIE 8 79#define TIF_UAC_SIGBUS 12
77#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal */ 80#define TIF_MEMDIE 13
78#define TIF_NOTIFY_RESUME 10 /* callback before returning to user */ 81#define TIF_RESTORE_SIGMASK 14 /* restore signal mask in do_signal */
79#define TIF_FREEZE 16 /* is freezing for suspend */ 82#define TIF_FREEZE 16 /* is freezing for suspend */
80 83
81#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) 84#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
@@ -94,7 +97,7 @@ register struct thread_info *__current_thread_info __asm__("$8");
94#define _TIF_ALLWORK_MASK (_TIF_WORK_MASK \ 97#define _TIF_ALLWORK_MASK (_TIF_WORK_MASK \
95 | _TIF_SYSCALL_TRACE) 98 | _TIF_SYSCALL_TRACE)
96 99
97#define ALPHA_UAC_SHIFT 6 100#define ALPHA_UAC_SHIFT 10
98#define ALPHA_UAC_MASK (1 << TIF_UAC_NOPRINT | 1 << TIF_UAC_NOFIX | \ 101#define ALPHA_UAC_MASK (1 << TIF_UAC_NOPRINT | 1 << TIF_UAC_NOFIX | \
99 1 << TIF_UAC_SIGBUS) 102 1 << TIF_UAC_SIGBUS)
100 103
diff --git a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c
index 8e059e58b0ac..53dd2f1a53aa 100644
--- a/arch/alpha/kernel/core_marvel.c
+++ b/arch/alpha/kernel/core_marvel.c
@@ -1103,6 +1103,8 @@ marvel_agp_info(void)
1103 * Allocate the info structure. 1103 * Allocate the info structure.
1104 */ 1104 */
1105 agp = kmalloc(sizeof(*agp), GFP_KERNEL); 1105 agp = kmalloc(sizeof(*agp), GFP_KERNEL);
1106 if (!agp)
1107 return NULL;
1106 1108
1107 /* 1109 /*
1108 * Fill it in. 1110 * Fill it in.
diff --git a/arch/alpha/kernel/core_titan.c b/arch/alpha/kernel/core_titan.c
index 76686497b1e2..219bf271c0ba 100644
--- a/arch/alpha/kernel/core_titan.c
+++ b/arch/alpha/kernel/core_titan.c
@@ -757,6 +757,8 @@ titan_agp_info(void)
757 * Allocate the info structure. 757 * Allocate the info structure.
758 */ 758 */
759 agp = kmalloc(sizeof(*agp), GFP_KERNEL); 759 agp = kmalloc(sizeof(*agp), GFP_KERNEL);
760 if (!agp)
761 return NULL;
760 762
761 /* 763 /*
762 * Fill it in. 764 * Fill it in.
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c
index cc7834661427..c0de072b8305 100644
--- a/arch/alpha/kernel/irq.c
+++ b/arch/alpha/kernel/irq.c
@@ -92,7 +92,7 @@ show_interrupts(struct seq_file *p, void *v)
92 for_each_online_cpu(j) 92 for_each_online_cpu(j)
93 seq_printf(p, "%10u ", kstat_irqs_cpu(irq, j)); 93 seq_printf(p, "%10u ", kstat_irqs_cpu(irq, j));
94#endif 94#endif
95 seq_printf(p, " %14s", irq_desc[irq].chip->typename); 95 seq_printf(p, " %14s", irq_desc[irq].chip->name);
96 seq_printf(p, " %c%s", 96 seq_printf(p, " %c%s",
97 (action->flags & IRQF_DISABLED)?'+':' ', 97 (action->flags & IRQF_DISABLED)?'+':' ',
98 action->name); 98 action->name);
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c
index 38c805dfc544..cfde865b78e0 100644
--- a/arch/alpha/kernel/irq_alpha.c
+++ b/arch/alpha/kernel/irq_alpha.c
@@ -228,7 +228,7 @@ struct irqaction timer_irqaction = {
228}; 228};
229 229
230static struct irq_chip rtc_irq_type = { 230static struct irq_chip rtc_irq_type = {
231 .typename = "RTC", 231 .name = "RTC",
232 .startup = rtc_startup, 232 .startup = rtc_startup,
233 .shutdown = rtc_enable_disable, 233 .shutdown = rtc_enable_disable,
234 .enable = rtc_enable_disable, 234 .enable = rtc_enable_disable,
diff --git a/arch/alpha/kernel/irq_i8259.c b/arch/alpha/kernel/irq_i8259.c
index 50bfec9b588f..83a9ac280890 100644
--- a/arch/alpha/kernel/irq_i8259.c
+++ b/arch/alpha/kernel/irq_i8259.c
@@ -84,7 +84,7 @@ i8259a_end_irq(unsigned int irq)
84} 84}
85 85
86struct irq_chip i8259a_irq_type = { 86struct irq_chip i8259a_irq_type = {
87 .typename = "XT-PIC", 87 .name = "XT-PIC",
88 .startup = i8259a_startup_irq, 88 .startup = i8259a_startup_irq,
89 .shutdown = i8259a_disable_irq, 89 .shutdown = i8259a_disable_irq,
90 .enable = i8259a_enable_irq, 90 .enable = i8259a_enable_irq,
diff --git a/arch/alpha/kernel/irq_pyxis.c b/arch/alpha/kernel/irq_pyxis.c
index 69199a76ec4a..989ce46a0cf3 100644
--- a/arch/alpha/kernel/irq_pyxis.c
+++ b/arch/alpha/kernel/irq_pyxis.c
@@ -71,7 +71,7 @@ pyxis_mask_and_ack_irq(unsigned int irq)
71} 71}
72 72
73static struct irq_chip pyxis_irq_type = { 73static struct irq_chip pyxis_irq_type = {
74 .typename = "PYXIS", 74 .name = "PYXIS",
75 .startup = pyxis_startup_irq, 75 .startup = pyxis_startup_irq,
76 .shutdown = pyxis_disable_irq, 76 .shutdown = pyxis_disable_irq,
77 .enable = pyxis_enable_irq, 77 .enable = pyxis_enable_irq,
diff --git a/arch/alpha/kernel/irq_srm.c b/arch/alpha/kernel/irq_srm.c
index 85229369a1f8..d63e93e1e8bf 100644
--- a/arch/alpha/kernel/irq_srm.c
+++ b/arch/alpha/kernel/irq_srm.c
@@ -49,7 +49,7 @@ srm_end_irq(unsigned int irq)
49 49
50/* Handle interrupts from the SRM, assuming no additional weirdness. */ 50/* Handle interrupts from the SRM, assuming no additional weirdness. */
51static struct irq_chip srm_irq_type = { 51static struct irq_chip srm_irq_type = {
52 .typename = "SRM", 52 .name = "SRM",
53 .startup = srm_startup_irq, 53 .startup = srm_startup_irq,
54 .shutdown = srm_disable_irq, 54 .shutdown = srm_disable_irq,
55 .enable = srm_enable_irq, 55 .enable = srm_enable_irq,
diff --git a/arch/alpha/kernel/sys_alcor.c b/arch/alpha/kernel/sys_alcor.c
index 382035ef7394..20a30b8b9655 100644
--- a/arch/alpha/kernel/sys_alcor.c
+++ b/arch/alpha/kernel/sys_alcor.c
@@ -90,7 +90,7 @@ alcor_end_irq(unsigned int irq)
90} 90}
91 91
92static struct irq_chip alcor_irq_type = { 92static struct irq_chip alcor_irq_type = {
93 .typename = "ALCOR", 93 .name = "ALCOR",
94 .startup = alcor_startup_irq, 94 .startup = alcor_startup_irq,
95 .shutdown = alcor_disable_irq, 95 .shutdown = alcor_disable_irq,
96 .enable = alcor_enable_irq, 96 .enable = alcor_enable_irq,
diff --git a/arch/alpha/kernel/sys_cabriolet.c b/arch/alpha/kernel/sys_cabriolet.c
index ed349436732b..affd0f3f25df 100644
--- a/arch/alpha/kernel/sys_cabriolet.c
+++ b/arch/alpha/kernel/sys_cabriolet.c
@@ -72,7 +72,7 @@ cabriolet_end_irq(unsigned int irq)
72} 72}
73 73
74static struct irq_chip cabriolet_irq_type = { 74static struct irq_chip cabriolet_irq_type = {
75 .typename = "CABRIOLET", 75 .name = "CABRIOLET",
76 .startup = cabriolet_startup_irq, 76 .startup = cabriolet_startup_irq,
77 .shutdown = cabriolet_disable_irq, 77 .shutdown = cabriolet_disable_irq,
78 .enable = cabriolet_enable_irq, 78 .enable = cabriolet_enable_irq,
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c
index 46e70ece5176..d64e1e497e76 100644
--- a/arch/alpha/kernel/sys_dp264.c
+++ b/arch/alpha/kernel/sys_dp264.c
@@ -199,7 +199,7 @@ clipper_set_affinity(unsigned int irq, const struct cpumask *affinity)
199} 199}
200 200
201static struct irq_chip dp264_irq_type = { 201static struct irq_chip dp264_irq_type = {
202 .typename = "DP264", 202 .name = "DP264",
203 .startup = dp264_startup_irq, 203 .startup = dp264_startup_irq,
204 .shutdown = dp264_disable_irq, 204 .shutdown = dp264_disable_irq,
205 .enable = dp264_enable_irq, 205 .enable = dp264_enable_irq,
@@ -210,7 +210,7 @@ static struct irq_chip dp264_irq_type = {
210}; 210};
211 211
212static struct irq_chip clipper_irq_type = { 212static struct irq_chip clipper_irq_type = {
213 .typename = "CLIPPER", 213 .name = "CLIPPER",
214 .startup = clipper_startup_irq, 214 .startup = clipper_startup_irq,
215 .shutdown = clipper_disable_irq, 215 .shutdown = clipper_disable_irq,
216 .enable = clipper_enable_irq, 216 .enable = clipper_enable_irq,
diff --git a/arch/alpha/kernel/sys_eb64p.c b/arch/alpha/kernel/sys_eb64p.c
index 660c23ef661f..df2090ce5e7f 100644
--- a/arch/alpha/kernel/sys_eb64p.c
+++ b/arch/alpha/kernel/sys_eb64p.c
@@ -70,7 +70,7 @@ eb64p_end_irq(unsigned int irq)
70} 70}
71 71
72static struct irq_chip eb64p_irq_type = { 72static struct irq_chip eb64p_irq_type = {
73 .typename = "EB64P", 73 .name = "EB64P",
74 .startup = eb64p_startup_irq, 74 .startup = eb64p_startup_irq,
75 .shutdown = eb64p_disable_irq, 75 .shutdown = eb64p_disable_irq,
76 .enable = eb64p_enable_irq, 76 .enable = eb64p_enable_irq,
diff --git a/arch/alpha/kernel/sys_eiger.c b/arch/alpha/kernel/sys_eiger.c
index b99ea488d844..3ca1dbcf4044 100644
--- a/arch/alpha/kernel/sys_eiger.c
+++ b/arch/alpha/kernel/sys_eiger.c
@@ -81,7 +81,7 @@ eiger_end_irq(unsigned int irq)
81} 81}
82 82
83static struct irq_chip eiger_irq_type = { 83static struct irq_chip eiger_irq_type = {
84 .typename = "EIGER", 84 .name = "EIGER",
85 .startup = eiger_startup_irq, 85 .startup = eiger_startup_irq,
86 .shutdown = eiger_disable_irq, 86 .shutdown = eiger_disable_irq,
87 .enable = eiger_enable_irq, 87 .enable = eiger_enable_irq,
diff --git a/arch/alpha/kernel/sys_jensen.c b/arch/alpha/kernel/sys_jensen.c
index ef0b83a070ac..7a7ae36fff91 100644
--- a/arch/alpha/kernel/sys_jensen.c
+++ b/arch/alpha/kernel/sys_jensen.c
@@ -119,7 +119,7 @@ jensen_local_end(unsigned int irq)
119} 119}
120 120
121static struct irq_chip jensen_local_irq_type = { 121static struct irq_chip jensen_local_irq_type = {
122 .typename = "LOCAL", 122 .name = "LOCAL",
123 .startup = jensen_local_startup, 123 .startup = jensen_local_startup,
124 .shutdown = jensen_local_shutdown, 124 .shutdown = jensen_local_shutdown,
125 .enable = jensen_local_enable, 125 .enable = jensen_local_enable,
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c
index bbfc4f20ca72..0bb3b5c4f693 100644
--- a/arch/alpha/kernel/sys_marvel.c
+++ b/arch/alpha/kernel/sys_marvel.c
@@ -170,7 +170,7 @@ marvel_irq_noop_return(unsigned int irq)
170} 170}
171 171
172static struct irq_chip marvel_legacy_irq_type = { 172static struct irq_chip marvel_legacy_irq_type = {
173 .typename = "LEGACY", 173 .name = "LEGACY",
174 .startup = marvel_irq_noop_return, 174 .startup = marvel_irq_noop_return,
175 .shutdown = marvel_irq_noop, 175 .shutdown = marvel_irq_noop,
176 .enable = marvel_irq_noop, 176 .enable = marvel_irq_noop,
@@ -180,7 +180,7 @@ static struct irq_chip marvel_legacy_irq_type = {
180}; 180};
181 181
182static struct irq_chip io7_lsi_irq_type = { 182static struct irq_chip io7_lsi_irq_type = {
183 .typename = "LSI", 183 .name = "LSI",
184 .startup = io7_startup_irq, 184 .startup = io7_startup_irq,
185 .shutdown = io7_disable_irq, 185 .shutdown = io7_disable_irq,
186 .enable = io7_enable_irq, 186 .enable = io7_enable_irq,
@@ -190,7 +190,7 @@ static struct irq_chip io7_lsi_irq_type = {
190}; 190};
191 191
192static struct irq_chip io7_msi_irq_type = { 192static struct irq_chip io7_msi_irq_type = {
193 .typename = "MSI", 193 .name = "MSI",
194 .startup = io7_startup_irq, 194 .startup = io7_startup_irq,
195 .shutdown = io7_disable_irq, 195 .shutdown = io7_disable_irq,
196 .enable = io7_enable_irq, 196 .enable = io7_enable_irq,
diff --git a/arch/alpha/kernel/sys_mikasa.c b/arch/alpha/kernel/sys_mikasa.c
index 4e366641a08e..ee8865169811 100644
--- a/arch/alpha/kernel/sys_mikasa.c
+++ b/arch/alpha/kernel/sys_mikasa.c
@@ -69,7 +69,7 @@ mikasa_end_irq(unsigned int irq)
69} 69}
70 70
71static struct irq_chip mikasa_irq_type = { 71static struct irq_chip mikasa_irq_type = {
72 .typename = "MIKASA", 72 .name = "MIKASA",
73 .startup = mikasa_startup_irq, 73 .startup = mikasa_startup_irq,
74 .shutdown = mikasa_disable_irq, 74 .shutdown = mikasa_disable_irq,
75 .enable = mikasa_enable_irq, 75 .enable = mikasa_enable_irq,
diff --git a/arch/alpha/kernel/sys_noritake.c b/arch/alpha/kernel/sys_noritake.c
index 35753a173bac..86503fe73a88 100644
--- a/arch/alpha/kernel/sys_noritake.c
+++ b/arch/alpha/kernel/sys_noritake.c
@@ -74,7 +74,7 @@ noritake_end_irq(unsigned int irq)
74} 74}
75 75
76static struct irq_chip noritake_irq_type = { 76static struct irq_chip noritake_irq_type = {
77 .typename = "NORITAKE", 77 .name = "NORITAKE",
78 .startup = noritake_startup_irq, 78 .startup = noritake_startup_irq,
79 .shutdown = noritake_disable_irq, 79 .shutdown = noritake_disable_irq,
80 .enable = noritake_enable_irq, 80 .enable = noritake_enable_irq,
diff --git a/arch/alpha/kernel/sys_rawhide.c b/arch/alpha/kernel/sys_rawhide.c
index f3aec7e085c8..26c322bf89ee 100644
--- a/arch/alpha/kernel/sys_rawhide.c
+++ b/arch/alpha/kernel/sys_rawhide.c
@@ -136,7 +136,7 @@ rawhide_end_irq(unsigned int irq)
136} 136}
137 137
138static struct irq_chip rawhide_irq_type = { 138static struct irq_chip rawhide_irq_type = {
139 .typename = "RAWHIDE", 139 .name = "RAWHIDE",
140 .startup = rawhide_startup_irq, 140 .startup = rawhide_startup_irq,
141 .shutdown = rawhide_disable_irq, 141 .shutdown = rawhide_disable_irq,
142 .enable = rawhide_enable_irq, 142 .enable = rawhide_enable_irq,
diff --git a/arch/alpha/kernel/sys_ruffian.c b/arch/alpha/kernel/sys_ruffian.c
index d9f9cfeb9931..8de1046fe91e 100644
--- a/arch/alpha/kernel/sys_ruffian.c
+++ b/arch/alpha/kernel/sys_ruffian.c
@@ -66,7 +66,7 @@ ruffian_init_irq(void)
66 common_init_isa_dma(); 66 common_init_isa_dma();
67} 67}
68 68
69#define RUFFIAN_LATCH ((PIT_TICK_RATE + HZ / 2) / HZ) 69#define RUFFIAN_LATCH DIV_ROUND_CLOSEST(PIT_TICK_RATE, HZ)
70 70
71static void __init 71static void __init
72ruffian_init_rtc(void) 72ruffian_init_rtc(void)
diff --git a/arch/alpha/kernel/sys_rx164.c b/arch/alpha/kernel/sys_rx164.c
index fc9246373452..be161129eab9 100644
--- a/arch/alpha/kernel/sys_rx164.c
+++ b/arch/alpha/kernel/sys_rx164.c
@@ -73,7 +73,7 @@ rx164_end_irq(unsigned int irq)
73} 73}
74 74
75static struct irq_chip rx164_irq_type = { 75static struct irq_chip rx164_irq_type = {
76 .typename = "RX164", 76 .name = "RX164",
77 .startup = rx164_startup_irq, 77 .startup = rx164_startup_irq,
78 .shutdown = rx164_disable_irq, 78 .shutdown = rx164_disable_irq,
79 .enable = rx164_enable_irq, 79 .enable = rx164_enable_irq,
diff --git a/arch/alpha/kernel/sys_sable.c b/arch/alpha/kernel/sys_sable.c
index 426eb6906d01..b2abe27a23cf 100644
--- a/arch/alpha/kernel/sys_sable.c
+++ b/arch/alpha/kernel/sys_sable.c
@@ -502,7 +502,7 @@ sable_lynx_mask_and_ack_irq(unsigned int irq)
502} 502}
503 503
504static struct irq_chip sable_lynx_irq_type = { 504static struct irq_chip sable_lynx_irq_type = {
505 .typename = "SABLE/LYNX", 505 .name = "SABLE/LYNX",
506 .startup = sable_lynx_startup_irq, 506 .startup = sable_lynx_startup_irq,
507 .shutdown = sable_lynx_disable_irq, 507 .shutdown = sable_lynx_disable_irq,
508 .enable = sable_lynx_enable_irq, 508 .enable = sable_lynx_enable_irq,
diff --git a/arch/alpha/kernel/sys_takara.c b/arch/alpha/kernel/sys_takara.c
index 830318c21661..230464885b5c 100644
--- a/arch/alpha/kernel/sys_takara.c
+++ b/arch/alpha/kernel/sys_takara.c
@@ -75,7 +75,7 @@ takara_end_irq(unsigned int irq)
75} 75}
76 76
77static struct irq_chip takara_irq_type = { 77static struct irq_chip takara_irq_type = {
78 .typename = "TAKARA", 78 .name = "TAKARA",
79 .startup = takara_startup_irq, 79 .startup = takara_startup_irq,
80 .shutdown = takara_disable_irq, 80 .shutdown = takara_disable_irq,
81 .enable = takara_enable_irq, 81 .enable = takara_enable_irq,
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c
index 88978fc60f83..288053342c83 100644
--- a/arch/alpha/kernel/sys_titan.c
+++ b/arch/alpha/kernel/sys_titan.c
@@ -195,7 +195,7 @@ init_titan_irqs(struct irq_chip * ops, int imin, int imax)
195} 195}
196 196
197static struct irq_chip titan_irq_type = { 197static struct irq_chip titan_irq_type = {
198 .typename = "TITAN", 198 .name = "TITAN",
199 .startup = titan_startup_irq, 199 .startup = titan_startup_irq,
200 .shutdown = titan_disable_irq, 200 .shutdown = titan_disable_irq,
201 .enable = titan_enable_irq, 201 .enable = titan_enable_irq,
diff --git a/arch/alpha/kernel/sys_wildfire.c b/arch/alpha/kernel/sys_wildfire.c
index e91b4c3838a8..62fd972e18ef 100644
--- a/arch/alpha/kernel/sys_wildfire.c
+++ b/arch/alpha/kernel/sys_wildfire.c
@@ -158,7 +158,7 @@ wildfire_end_irq(unsigned int irq)
158} 158}
159 159
160static struct irq_chip wildfire_irq_type = { 160static struct irq_chip wildfire_irq_type = {
161 .typename = "WILDFIRE", 161 .name = "WILDFIRE",
162 .startup = wildfire_startup_irq, 162 .startup = wildfire_startup_irq,
163 .shutdown = wildfire_disable_irq, 163 .shutdown = wildfire_disable_irq,
164 .enable = wildfire_enable_irq, 164 .enable = wildfire_enable_irq,
diff --git a/arch/arm/configs/ams_delta_defconfig b/arch/arm/configs/ams_delta_defconfig
index 764732529ea3..e8f7380b67d6 100644
--- a/arch/arm/configs/ams_delta_defconfig
+++ b/arch/arm/configs/ams_delta_defconfig
@@ -55,10 +55,10 @@ CONFIG_BLK_DEV_INITRD=y
55CONFIG_INITRAMFS_SOURCE="" 55CONFIG_INITRAMFS_SOURCE=""
56CONFIG_CC_OPTIMIZE_FOR_SIZE=y 56CONFIG_CC_OPTIMIZE_FOR_SIZE=y
57CONFIG_SYSCTL=y 57CONFIG_SYSCTL=y
58# CONFIG_EMBEDDED is not set 58CONFIG_EMBEDDED=y
59CONFIG_UID16=y 59CONFIG_UID16=y
60CONFIG_SYSCTL_SYSCALL=y 60CONFIG_SYSCTL_SYSCALL=y
61CONFIG_KALLSYMS=y 61# CONFIG_KALLSYMS is not set
62# CONFIG_KALLSYMS_ALL is not set 62# CONFIG_KALLSYMS_ALL is not set
63# CONFIG_KALLSYMS_EXTRA_PASS is not set 63# CONFIG_KALLSYMS_EXTRA_PASS is not set
64CONFIG_HOTPLUG=y 64CONFIG_HOTPLUG=y
@@ -224,7 +224,7 @@ CONFIG_CPU_CP15_MMU=y
224# 224#
225# Processor Features 225# Processor Features
226# 226#
227# CONFIG_ARM_THUMB is not set 227CONFIG_ARM_THUMB=y
228# CONFIG_CPU_ICACHE_DISABLE is not set 228# CONFIG_CPU_ICACHE_DISABLE is not set
229# CONFIG_CPU_DCACHE_DISABLE is not set 229# CONFIG_CPU_DCACHE_DISABLE is not set
230CONFIG_CPU_DCACHE_WRITETHROUGH=y 230CONFIG_CPU_DCACHE_WRITETHROUGH=y
@@ -248,7 +248,7 @@ CONFIG_CPU_DCACHE_WRITETHROUGH=y
248# CONFIG_HIGH_RES_TIMERS is not set 248# CONFIG_HIGH_RES_TIMERS is not set
249CONFIG_PREEMPT=y 249CONFIG_PREEMPT=y
250CONFIG_HZ=100 250CONFIG_HZ=100
251# CONFIG_AEABI is not set 251CONFIG_AEABI=y
252# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set 252# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
253CONFIG_SELECT_MEMORY_MODEL=y 253CONFIG_SELECT_MEMORY_MODEL=y
254CONFIG_FLATMEM_MANUAL=y 254CONFIG_FLATMEM_MANUAL=y
@@ -299,7 +299,9 @@ CONFIG_BINFMT_ELF=y
299# 299#
300# Power management options 300# Power management options
301# 301#
302# CONFIG_PM is not set 302CONFIG_PM=y
303# CONFIG_SUSPEND is not set
304CONFIG_PM_RUNTIME=y
303 305
304# 306#
305# Networking 307# Networking
@@ -670,7 +672,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
670CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 672CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
671# CONFIG_INPUT_JOYDEV is not set 673# CONFIG_INPUT_JOYDEV is not set
672# CONFIG_INPUT_TSDEV is not set 674# CONFIG_INPUT_TSDEV is not set
673# CONFIG_INPUT_EVDEV is not set 675CONFIG_INPUT_EVDEV=y
674# CONFIG_INPUT_EVBUG is not set 676# CONFIG_INPUT_EVBUG is not set
675 677
676# 678#
@@ -784,6 +786,7 @@ CONFIG_I2C_OMAP=y
784# 786#
785# CONFIG_SPI is not set 787# CONFIG_SPI is not set
786# CONFIG_SPI_MASTER is not set 788# CONFIG_SPI_MASTER is not set
789CONFIG_GPIO_SYSFS=y
787 790
788# 791#
789# Dallas's 1-wire bus 792# Dallas's 1-wire bus
@@ -820,6 +823,7 @@ CONFIG_LEDS_AMS_DELTA=y
820CONFIG_LEDS_TRIGGERS=y 823CONFIG_LEDS_TRIGGERS=y
821CONFIG_LEDS_TRIGGER_TIMER=y 824CONFIG_LEDS_TRIGGER_TIMER=y
822CONFIG_LEDS_TRIGGER_HEARTBEAT=y 825CONFIG_LEDS_TRIGGER_HEARTBEAT=y
826CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
823 827
824# 828#
825# Multimedia devices 829# Multimedia devices
@@ -896,7 +900,13 @@ CONFIG_LOGO_LINUX_CLUT224=y
896# 900#
897# Sound 901# Sound
898# 902#
899# CONFIG_SOUND is not set 903CONFIG_SOUND=y
904CONFIG_SND=y
905CONFIG_SND_MIXER_OSS=y
906CONFIG_SND_PCM_OSS=y
907CONFIG_SND_SOC=y
908CONFIG_SND_OMAP_SOC=y
909CONFIG_SND_OMAP_SOC_AMS_DELTA=y
900 910
901# 911#
902# HID Devices 912# HID Devices
diff --git a/arch/arm/configs/kirkwood_defconfig b/arch/arm/configs/kirkwood_defconfig
index af74cc2de8b6..bcfade33bca9 100644
--- a/arch/arm/configs/kirkwood_defconfig
+++ b/arch/arm/configs/kirkwood_defconfig
@@ -1,15 +1,13 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.30-rc4 3# Linux kernel version: 2.6.32-rc6
4# Mon May 4 11:58:57 2009 4# Sat Nov 7 20:31:18 2009
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y 8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y 9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y 10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y 11CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y 12CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y 13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -18,13 +16,12 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y 16CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y 17CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y 18CONFIG_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 19CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y 20CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 21CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
26CONFIG_VECTORS_BASE=0xffff0000 22CONFIG_VECTORS_BASE=0xffff0000
27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
24CONFIG_CONSTRUCTORS=y
28 25
29# 26#
30# General setup 27# General setup
@@ -46,11 +43,12 @@ CONFIG_SYSVIPC_SYSCTL=y
46# 43#
47# RCU Subsystem 44# RCU Subsystem
48# 45#
49CONFIG_CLASSIC_RCU=y 46CONFIG_TREE_RCU=y
50# CONFIG_TREE_RCU is not set 47# CONFIG_TREE_PREEMPT_RCU is not set
51# CONFIG_PREEMPT_RCU is not set 48# CONFIG_RCU_TRACE is not set
49CONFIG_RCU_FANOUT=32
50# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set 51# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_PREEMPT_RCU_TRACE is not set
54# CONFIG_IKCONFIG is not set 52# CONFIG_IKCONFIG is not set
55CONFIG_LOG_BUF_SHIFT=19 53CONFIG_LOG_BUF_SHIFT=19
56# CONFIG_GROUP_SCHED is not set 54# CONFIG_GROUP_SCHED is not set
@@ -73,7 +71,6 @@ CONFIG_SYSCTL_SYSCALL=y
73CONFIG_KALLSYMS=y 71CONFIG_KALLSYMS=y
74# CONFIG_KALLSYMS_ALL is not set 72# CONFIG_KALLSYMS_ALL is not set
75# CONFIG_KALLSYMS_EXTRA_PASS is not set 73# CONFIG_KALLSYMS_EXTRA_PASS is not set
76# CONFIG_STRIP_ASM_SYMS is not set
77CONFIG_HOTPLUG=y 74CONFIG_HOTPLUG=y
78CONFIG_PRINTK=y 75CONFIG_PRINTK=y
79CONFIG_BUG=y 76CONFIG_BUG=y
@@ -86,6 +83,10 @@ CONFIG_TIMERFD=y
86CONFIG_EVENTFD=y 83CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 84CONFIG_SHMEM=y
88CONFIG_AIO=y 85CONFIG_AIO=y
86
87#
88# Kernel Performance Events And Counters
89#
89CONFIG_VM_EVENT_COUNTERS=y 90CONFIG_VM_EVENT_COUNTERS=y
90CONFIG_PCI_QUIRKS=y 91CONFIG_PCI_QUIRKS=y
91CONFIG_SLUB_DEBUG=y 92CONFIG_SLUB_DEBUG=y
@@ -95,13 +96,17 @@ CONFIG_SLUB=y
95# CONFIG_SLOB is not set 96# CONFIG_SLOB is not set
96CONFIG_PROFILING=y 97CONFIG_PROFILING=y
97CONFIG_TRACEPOINTS=y 98CONFIG_TRACEPOINTS=y
98# CONFIG_MARKERS is not set
99CONFIG_OPROFILE=y 99CONFIG_OPROFILE=y
100CONFIG_HAVE_OPROFILE=y 100CONFIG_HAVE_OPROFILE=y
101CONFIG_KPROBES=y 101CONFIG_KPROBES=y
102CONFIG_KRETPROBES=y 102CONFIG_KRETPROBES=y
103CONFIG_HAVE_KPROBES=y 103CONFIG_HAVE_KPROBES=y
104CONFIG_HAVE_KRETPROBES=y 104CONFIG_HAVE_KRETPROBES=y
105
106#
107# GCOV-based kernel profiling
108#
109# CONFIG_GCOV_KERNEL is not set
105# CONFIG_SLOW_WORK is not set 110# CONFIG_SLOW_WORK is not set
106CONFIG_HAVE_GENERIC_DMA_COHERENT=y 111CONFIG_HAVE_GENERIC_DMA_COHERENT=y
107CONFIG_SLABINFO=y 112CONFIG_SLABINFO=y
@@ -114,7 +119,7 @@ CONFIG_MODULE_UNLOAD=y
114# CONFIG_MODVERSIONS is not set 119# CONFIG_MODVERSIONS is not set
115# CONFIG_MODULE_SRCVERSION_ALL is not set 120# CONFIG_MODULE_SRCVERSION_ALL is not set
116CONFIG_BLOCK=y 121CONFIG_BLOCK=y
117# CONFIG_LBD is not set 122CONFIG_LBDAF=y
118# CONFIG_BLK_DEV_BSG is not set 123# CONFIG_BLK_DEV_BSG is not set
119# CONFIG_BLK_DEV_INTEGRITY is not set 124# CONFIG_BLK_DEV_INTEGRITY is not set
120 125
@@ -135,19 +140,22 @@ CONFIG_DEFAULT_IOSCHED="cfq"
135# 140#
136# System Type 141# System Type
137# 142#
143CONFIG_MMU=y
138# CONFIG_ARCH_AAEC2000 is not set 144# CONFIG_ARCH_AAEC2000 is not set
139# CONFIG_ARCH_INTEGRATOR is not set 145# CONFIG_ARCH_INTEGRATOR is not set
140# CONFIG_ARCH_REALVIEW is not set 146# CONFIG_ARCH_REALVIEW is not set
141# CONFIG_ARCH_VERSATILE is not set 147# CONFIG_ARCH_VERSATILE is not set
142# CONFIG_ARCH_AT91 is not set 148# CONFIG_ARCH_AT91 is not set
143# CONFIG_ARCH_CLPS711X is not set 149# CONFIG_ARCH_CLPS711X is not set
150# CONFIG_ARCH_GEMINI is not set
144# CONFIG_ARCH_EBSA110 is not set 151# CONFIG_ARCH_EBSA110 is not set
145# CONFIG_ARCH_EP93XX is not set 152# CONFIG_ARCH_EP93XX is not set
146# CONFIG_ARCH_GEMINI is not set
147# CONFIG_ARCH_FOOTBRIDGE is not set 153# CONFIG_ARCH_FOOTBRIDGE is not set
154# CONFIG_ARCH_MXC is not set
155# CONFIG_ARCH_STMP3XXX is not set
148# CONFIG_ARCH_NETX is not set 156# CONFIG_ARCH_NETX is not set
149# CONFIG_ARCH_H720X is not set 157# CONFIG_ARCH_H720X is not set
150# CONFIG_ARCH_IMX is not set 158# CONFIG_ARCH_NOMADIK is not set
151# CONFIG_ARCH_IOP13XX is not set 159# CONFIG_ARCH_IOP13XX is not set
152# CONFIG_ARCH_IOP32X is not set 160# CONFIG_ARCH_IOP32X is not set
153# CONFIG_ARCH_IOP33X is not set 161# CONFIG_ARCH_IOP33X is not set
@@ -156,25 +164,27 @@ CONFIG_DEFAULT_IOSCHED="cfq"
156# CONFIG_ARCH_IXP4XX is not set 164# CONFIG_ARCH_IXP4XX is not set
157# CONFIG_ARCH_L7200 is not set 165# CONFIG_ARCH_L7200 is not set
158CONFIG_ARCH_KIRKWOOD=y 166CONFIG_ARCH_KIRKWOOD=y
159# CONFIG_ARCH_KS8695 is not set
160# CONFIG_ARCH_NS9XXX is not set
161# CONFIG_ARCH_LOKI is not set 167# CONFIG_ARCH_LOKI is not set
162# CONFIG_ARCH_MV78XX0 is not set 168# CONFIG_ARCH_MV78XX0 is not set
163# CONFIG_ARCH_MXC is not set
164# CONFIG_ARCH_ORION5X is not set 169# CONFIG_ARCH_ORION5X is not set
170# CONFIG_ARCH_MMP is not set
171# CONFIG_ARCH_KS8695 is not set
172# CONFIG_ARCH_NS9XXX is not set
173# CONFIG_ARCH_W90X900 is not set
165# CONFIG_ARCH_PNX4008 is not set 174# CONFIG_ARCH_PNX4008 is not set
166# CONFIG_ARCH_PXA is not set 175# CONFIG_ARCH_PXA is not set
167# CONFIG_ARCH_MMP is not set 176# CONFIG_ARCH_MSM is not set
168# CONFIG_ARCH_RPC is not set 177# CONFIG_ARCH_RPC is not set
169# CONFIG_ARCH_SA1100 is not set 178# CONFIG_ARCH_SA1100 is not set
170# CONFIG_ARCH_S3C2410 is not set 179# CONFIG_ARCH_S3C2410 is not set
171# CONFIG_ARCH_S3C64XX is not set 180# CONFIG_ARCH_S3C64XX is not set
181# CONFIG_ARCH_S5PC1XX is not set
172# CONFIG_ARCH_SHARK is not set 182# CONFIG_ARCH_SHARK is not set
173# CONFIG_ARCH_LH7A40X is not set 183# CONFIG_ARCH_LH7A40X is not set
184# CONFIG_ARCH_U300 is not set
174# CONFIG_ARCH_DAVINCI is not set 185# CONFIG_ARCH_DAVINCI is not set
175# CONFIG_ARCH_OMAP is not set 186# CONFIG_ARCH_OMAP is not set
176# CONFIG_ARCH_MSM is not set 187# CONFIG_ARCH_BCMRING is not set
177# CONFIG_ARCH_W90X900 is not set
178 188
179# 189#
180# Marvell Kirkwood Implementations 190# Marvell Kirkwood Implementations
@@ -185,6 +195,7 @@ CONFIG_MACH_RD88F6281=y
185CONFIG_MACH_MV88F6281GTW_GE=y 195CONFIG_MACH_MV88F6281GTW_GE=y
186CONFIG_MACH_SHEEVAPLUG=y 196CONFIG_MACH_SHEEVAPLUG=y
187CONFIG_MACH_TS219=y 197CONFIG_MACH_TS219=y
198CONFIG_MACH_OPENRD_BASE=y
188CONFIG_PLAT_ORION=y 199CONFIG_PLAT_ORION=y
189 200
190# 201#
@@ -195,7 +206,7 @@ CONFIG_CPU_FEROCEON=y
195# CONFIG_CPU_FEROCEON_OLD_ID is not set 206# CONFIG_CPU_FEROCEON_OLD_ID is not set
196CONFIG_CPU_32v5=y 207CONFIG_CPU_32v5=y
197CONFIG_CPU_ABRT_EV5T=y 208CONFIG_CPU_ABRT_EV5T=y
198CONFIG_CPU_PABRT_NOIFAR=y 209CONFIG_CPU_PABRT_LEGACY=y
199CONFIG_CPU_CACHE_VIVT=y 210CONFIG_CPU_CACHE_VIVT=y
200CONFIG_CPU_COPY_FEROCEON=y 211CONFIG_CPU_COPY_FEROCEON=y
201CONFIG_CPU_TLB_FEROCEON=y 212CONFIG_CPU_TLB_FEROCEON=y
@@ -211,6 +222,7 @@ CONFIG_ARM_THUMB=y
211CONFIG_OUTER_CACHE=y 222CONFIG_OUTER_CACHE=y
212CONFIG_CACHE_FEROCEON_L2=y 223CONFIG_CACHE_FEROCEON_L2=y
213# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set 224# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
225CONFIG_ARM_L1_CACHE_SHIFT=5
214 226
215# 227#
216# Bus support 228# Bus support
@@ -235,11 +247,12 @@ CONFIG_VMSPLIT_3G=y
235# CONFIG_VMSPLIT_2G is not set 247# CONFIG_VMSPLIT_2G is not set
236# CONFIG_VMSPLIT_1G is not set 248# CONFIG_VMSPLIT_1G is not set
237CONFIG_PAGE_OFFSET=0xC0000000 249CONFIG_PAGE_OFFSET=0xC0000000
250# CONFIG_PREEMPT_NONE is not set
251# CONFIG_PREEMPT_VOLUNTARY is not set
238CONFIG_PREEMPT=y 252CONFIG_PREEMPT=y
239CONFIG_HZ=100 253CONFIG_HZ=100
240CONFIG_AEABI=y 254CONFIG_AEABI=y
241# CONFIG_OABI_COMPAT is not set 255# CONFIG_OABI_COMPAT is not set
242CONFIG_ARCH_FLATMEM_HAS_HOLES=y
243# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set 256# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
244# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set 257# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
245# CONFIG_HIGHMEM is not set 258# CONFIG_HIGHMEM is not set
@@ -254,10 +267,12 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096
254# CONFIG_PHYS_ADDR_T_64BIT is not set 267# CONFIG_PHYS_ADDR_T_64BIT is not set
255CONFIG_ZONE_DMA_FLAG=0 268CONFIG_ZONE_DMA_FLAG=0
256CONFIG_VIRT_TO_BUS=y 269CONFIG_VIRT_TO_BUS=y
257CONFIG_UNEVICTABLE_LRU=y
258CONFIG_HAVE_MLOCK=y 270CONFIG_HAVE_MLOCK=y
259CONFIG_HAVE_MLOCKED_PAGE_BIT=y 271CONFIG_HAVE_MLOCKED_PAGE_BIT=y
272# CONFIG_KSM is not set
273CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
260CONFIG_ALIGNMENT_TRAP=y 274CONFIG_ALIGNMENT_TRAP=y
275CONFIG_UACCESS_WITH_MEMCPY=y
261 276
262# 277#
263# Boot options 278# Boot options
@@ -345,6 +360,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
345# CONFIG_NETFILTER is not set 360# CONFIG_NETFILTER is not set
346# CONFIG_IP_DCCP is not set 361# CONFIG_IP_DCCP is not set
347# CONFIG_IP_SCTP is not set 362# CONFIG_IP_SCTP is not set
363# CONFIG_RDS is not set
348# CONFIG_TIPC is not set 364# CONFIG_TIPC is not set
349# CONFIG_ATM is not set 365# CONFIG_ATM is not set
350# CONFIG_BRIDGE is not set 366# CONFIG_BRIDGE is not set
@@ -367,6 +383,7 @@ CONFIG_NET_DSA_MV88E6123_61_65=y
367# CONFIG_ECONET is not set 383# CONFIG_ECONET is not set
368# CONFIG_WAN_ROUTER is not set 384# CONFIG_WAN_ROUTER is not set
369# CONFIG_PHONET is not set 385# CONFIG_PHONET is not set
386# CONFIG_IEEE802154 is not set
370# CONFIG_NET_SCHED is not set 387# CONFIG_NET_SCHED is not set
371# CONFIG_DCB is not set 388# CONFIG_DCB is not set
372 389
@@ -383,17 +400,18 @@ CONFIG_NET_PKTGEN=m
383# CONFIG_AF_RXRPC is not set 400# CONFIG_AF_RXRPC is not set
384CONFIG_WIRELESS=y 401CONFIG_WIRELESS=y
385CONFIG_CFG80211=y 402CONFIG_CFG80211=y
403# CONFIG_NL80211_TESTMODE is not set
404# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
386# CONFIG_CFG80211_REG_DEBUG is not set 405# CONFIG_CFG80211_REG_DEBUG is not set
406CONFIG_CFG80211_DEFAULT_PS=y
407CONFIG_CFG80211_DEFAULT_PS_VALUE=1
408# CONFIG_CFG80211_DEBUGFS is not set
387CONFIG_WIRELESS_OLD_REGULATORY=y 409CONFIG_WIRELESS_OLD_REGULATORY=y
388CONFIG_WIRELESS_EXT=y 410CONFIG_WIRELESS_EXT=y
389CONFIG_WIRELESS_EXT_SYSFS=y 411CONFIG_WIRELESS_EXT_SYSFS=y
390CONFIG_LIB80211=y 412CONFIG_LIB80211=y
391# CONFIG_LIB80211_DEBUG is not set 413# CONFIG_LIB80211_DEBUG is not set
392CONFIG_MAC80211=y 414CONFIG_MAC80211=y
393
394#
395# Rate control algorithm selection
396#
397CONFIG_MAC80211_RC_MINSTREL=y 415CONFIG_MAC80211_RC_MINSTREL=y
398# CONFIG_MAC80211_RC_DEFAULT_PID is not set 416# CONFIG_MAC80211_RC_DEFAULT_PID is not set
399CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y 417CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
@@ -414,6 +432,7 @@ CONFIG_MAC80211_RC_DEFAULT="minstrel"
414# Generic Driver Options 432# Generic Driver Options
415# 433#
416CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 434CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
435# CONFIG_DEVTMPFS is not set
417CONFIG_STANDALONE=y 436CONFIG_STANDALONE=y
418CONFIG_PREVENT_FIRMWARE_BUILD=y 437CONFIG_PREVENT_FIRMWARE_BUILD=y
419CONFIG_FW_LOADER=y 438CONFIG_FW_LOADER=y
@@ -425,9 +444,9 @@ CONFIG_EXTRA_FIRMWARE=""
425# CONFIG_CONNECTOR is not set 444# CONFIG_CONNECTOR is not set
426CONFIG_MTD=y 445CONFIG_MTD=y
427# CONFIG_MTD_DEBUG is not set 446# CONFIG_MTD_DEBUG is not set
447# CONFIG_MTD_TESTS is not set
428# CONFIG_MTD_CONCAT is not set 448# CONFIG_MTD_CONCAT is not set
429CONFIG_MTD_PARTITIONS=y 449CONFIG_MTD_PARTITIONS=y
430# CONFIG_MTD_TESTS is not set
431# CONFIG_MTD_REDBOOT_PARTS is not set 450# CONFIG_MTD_REDBOOT_PARTS is not set
432CONFIG_MTD_CMDLINE_PARTS=y 451CONFIG_MTD_CMDLINE_PARTS=y
433# CONFIG_MTD_AFS_PARTS is not set 452# CONFIG_MTD_AFS_PARTS is not set
@@ -494,6 +513,7 @@ CONFIG_MTD_PHYSMAP=y
494# CONFIG_MTD_DATAFLASH is not set 513# CONFIG_MTD_DATAFLASH is not set
495CONFIG_MTD_M25P80=y 514CONFIG_MTD_M25P80=y
496CONFIG_M25PXX_USE_FAST_READ=y 515CONFIG_M25PXX_USE_FAST_READ=y
516# CONFIG_MTD_SST25L is not set
497# CONFIG_MTD_SLRAM is not set 517# CONFIG_MTD_SLRAM is not set
498# CONFIG_MTD_PHRAM is not set 518# CONFIG_MTD_PHRAM is not set
499# CONFIG_MTD_MTDRAM is not set 519# CONFIG_MTD_MTDRAM is not set
@@ -543,6 +563,7 @@ CONFIG_BLK_DEV_LOOP=y
543# CONFIG_BLK_DEV_RAM is not set 563# CONFIG_BLK_DEV_RAM is not set
544# CONFIG_CDROM_PKTCDVD is not set 564# CONFIG_CDROM_PKTCDVD is not set
545# CONFIG_ATA_OVER_ETH is not set 565# CONFIG_ATA_OVER_ETH is not set
566# CONFIG_MG_DISK is not set
546# CONFIG_MISC_DEVICES is not set 567# CONFIG_MISC_DEVICES is not set
547CONFIG_HAVE_IDE=y 568CONFIG_HAVE_IDE=y
548# CONFIG_IDE is not set 569# CONFIG_IDE is not set
@@ -567,10 +588,6 @@ CONFIG_BLK_DEV_SR=m
567# CONFIG_BLK_DEV_SR_VENDOR is not set 588# CONFIG_BLK_DEV_SR_VENDOR is not set
568CONFIG_CHR_DEV_SG=m 589CONFIG_CHR_DEV_SG=m
569# CONFIG_CHR_DEV_SCH is not set 590# CONFIG_CHR_DEV_SCH is not set
570
571#
572# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
573#
574# CONFIG_SCSI_MULTI_LUN is not set 591# CONFIG_SCSI_MULTI_LUN is not set
575# CONFIG_SCSI_CONSTANTS is not set 592# CONFIG_SCSI_CONSTANTS is not set
576# CONFIG_SCSI_LOGGING is not set 593# CONFIG_SCSI_LOGGING is not set
@@ -587,6 +604,8 @@ CONFIG_SCSI_WAIT_SCAN=m
587# CONFIG_SCSI_SRP_ATTRS is not set 604# CONFIG_SCSI_SRP_ATTRS is not set
588CONFIG_SCSI_LOWLEVEL=y 605CONFIG_SCSI_LOWLEVEL=y
589# CONFIG_ISCSI_TCP is not set 606# CONFIG_ISCSI_TCP is not set
607# CONFIG_SCSI_BNX2_ISCSI is not set
608# CONFIG_BE2ISCSI is not set
590# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 609# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
591# CONFIG_SCSI_3W_9XXX is not set 610# CONFIG_SCSI_3W_9XXX is not set
592# CONFIG_SCSI_ACARD is not set 611# CONFIG_SCSI_ACARD is not set
@@ -595,6 +614,7 @@ CONFIG_SCSI_LOWLEVEL=y
595# CONFIG_SCSI_AIC7XXX_OLD is not set 614# CONFIG_SCSI_AIC7XXX_OLD is not set
596# CONFIG_SCSI_AIC79XX is not set 615# CONFIG_SCSI_AIC79XX is not set
597# CONFIG_SCSI_AIC94XX is not set 616# CONFIG_SCSI_AIC94XX is not set
617# CONFIG_SCSI_MVSAS is not set
598# CONFIG_SCSI_DPT_I2O is not set 618# CONFIG_SCSI_DPT_I2O is not set
599# CONFIG_SCSI_ADVANSYS is not set 619# CONFIG_SCSI_ADVANSYS is not set
600# CONFIG_SCSI_ARCMSR is not set 620# CONFIG_SCSI_ARCMSR is not set
@@ -611,7 +631,6 @@ CONFIG_SCSI_LOWLEVEL=y
611# CONFIG_SCSI_IPS is not set 631# CONFIG_SCSI_IPS is not set
612# CONFIG_SCSI_INITIO is not set 632# CONFIG_SCSI_INITIO is not set
613# CONFIG_SCSI_INIA100 is not set 633# CONFIG_SCSI_INIA100 is not set
614# CONFIG_SCSI_MVSAS is not set
615# CONFIG_SCSI_STEX is not set 634# CONFIG_SCSI_STEX is not set
616# CONFIG_SCSI_SYM53C8XX_2 is not set 635# CONFIG_SCSI_SYM53C8XX_2 is not set
617# CONFIG_SCSI_IPR is not set 636# CONFIG_SCSI_IPR is not set
@@ -623,11 +642,14 @@ CONFIG_SCSI_LOWLEVEL=y
623# CONFIG_SCSI_DC390T is not set 642# CONFIG_SCSI_DC390T is not set
624# CONFIG_SCSI_NSP32 is not set 643# CONFIG_SCSI_NSP32 is not set
625# CONFIG_SCSI_DEBUG is not set 644# CONFIG_SCSI_DEBUG is not set
645# CONFIG_SCSI_PMCRAID is not set
626# CONFIG_SCSI_SRP is not set 646# CONFIG_SCSI_SRP is not set
647# CONFIG_SCSI_BFA_FC is not set
627# CONFIG_SCSI_DH is not set 648# CONFIG_SCSI_DH is not set
628# CONFIG_SCSI_OSD_INITIATOR is not set 649# CONFIG_SCSI_OSD_INITIATOR is not set
629CONFIG_ATA=y 650CONFIG_ATA=y
630# CONFIG_ATA_NONSTANDARD is not set 651# CONFIG_ATA_NONSTANDARD is not set
652CONFIG_ATA_VERBOSE_ERROR=y
631CONFIG_SATA_PMP=y 653CONFIG_SATA_PMP=y
632CONFIG_SATA_AHCI=y 654CONFIG_SATA_AHCI=y
633# CONFIG_SATA_SIL24 is not set 655# CONFIG_SATA_SIL24 is not set
@@ -649,6 +671,7 @@ CONFIG_SATA_MV=y
649# CONFIG_PATA_ALI is not set 671# CONFIG_PATA_ALI is not set
650# CONFIG_PATA_AMD is not set 672# CONFIG_PATA_AMD is not set
651# CONFIG_PATA_ARTOP is not set 673# CONFIG_PATA_ARTOP is not set
674# CONFIG_PATA_ATP867X is not set
652# CONFIG_PATA_ATIIXP is not set 675# CONFIG_PATA_ATIIXP is not set
653# CONFIG_PATA_CMD640_PCI is not set 676# CONFIG_PATA_CMD640_PCI is not set
654# CONFIG_PATA_CMD64X is not set 677# CONFIG_PATA_CMD64X is not set
@@ -676,6 +699,7 @@ CONFIG_SATA_MV=y
676# CONFIG_PATA_OPTIDMA is not set 699# CONFIG_PATA_OPTIDMA is not set
677# CONFIG_PATA_PDC_OLD is not set 700# CONFIG_PATA_PDC_OLD is not set
678# CONFIG_PATA_RADISYS is not set 701# CONFIG_PATA_RADISYS is not set
702# CONFIG_PATA_RDC is not set
679# CONFIG_PATA_RZ1000 is not set 703# CONFIG_PATA_RZ1000 is not set
680# CONFIG_PATA_SC1200 is not set 704# CONFIG_PATA_SC1200 is not set
681# CONFIG_PATA_SERVERWORKS is not set 705# CONFIG_PATA_SERVERWORKS is not set
@@ -693,13 +717,16 @@ CONFIG_SATA_MV=y
693# 717#
694 718
695# 719#
696# Enable only one of the two stacks, unless you know what you are doing 720# You can enable one or both FireWire driver stacks.
721#
722
723#
724# See the help texts for more information.
697# 725#
698# CONFIG_FIREWIRE is not set 726# CONFIG_FIREWIRE is not set
699# CONFIG_IEEE1394 is not set 727# CONFIG_IEEE1394 is not set
700# CONFIG_I2O is not set 728# CONFIG_I2O is not set
701CONFIG_NETDEVICES=y 729CONFIG_NETDEVICES=y
702CONFIG_COMPAT_NET_DEV_OPS=y
703# CONFIG_DUMMY is not set 730# CONFIG_DUMMY is not set
704# CONFIG_BONDING is not set 731# CONFIG_BONDING is not set
705# CONFIG_MACVLAN is not set 732# CONFIG_MACVLAN is not set
@@ -768,6 +795,9 @@ CONFIG_NET_PCI=y
768# CONFIG_SMSC9420 is not set 795# CONFIG_SMSC9420 is not set
769# CONFIG_SUNDANCE is not set 796# CONFIG_SUNDANCE is not set
770# CONFIG_TLAN is not set 797# CONFIG_TLAN is not set
798# CONFIG_KS8842 is not set
799# CONFIG_KS8851 is not set
800# CONFIG_KS8851_MLL is not set
771# CONFIG_VIA_RHINE is not set 801# CONFIG_VIA_RHINE is not set
772# CONFIG_SC92031 is not set 802# CONFIG_SC92031 is not set
773# CONFIG_ATL2 is not set 803# CONFIG_ATL2 is not set
@@ -789,6 +819,7 @@ CONFIG_NETDEV_1000=y
789# CONFIG_VIA_VELOCITY is not set 819# CONFIG_VIA_VELOCITY is not set
790# CONFIG_TIGON3 is not set 820# CONFIG_TIGON3 is not set
791# CONFIG_BNX2 is not set 821# CONFIG_BNX2 is not set
822# CONFIG_CNIC is not set
792CONFIG_MV643XX_ETH=y 823CONFIG_MV643XX_ETH=y
793# CONFIG_QLA3XXX is not set 824# CONFIG_QLA3XXX is not set
794# CONFIG_ATL1 is not set 825# CONFIG_ATL1 is not set
@@ -797,10 +828,7 @@ CONFIG_MV643XX_ETH=y
797# CONFIG_JME is not set 828# CONFIG_JME is not set
798# CONFIG_NETDEV_10000 is not set 829# CONFIG_NETDEV_10000 is not set
799# CONFIG_TR is not set 830# CONFIG_TR is not set
800 831CONFIG_WLAN=y
801#
802# Wireless LAN
803#
804# CONFIG_WLAN_PRE80211 is not set 832# CONFIG_WLAN_PRE80211 is not set
805CONFIG_WLAN_80211=y 833CONFIG_WLAN_80211=y
806CONFIG_LIBERTAS=y 834CONFIG_LIBERTAS=y
@@ -820,9 +848,7 @@ CONFIG_LIBERTAS_SDIO=y
820# CONFIG_MAC80211_HWSIM is not set 848# CONFIG_MAC80211_HWSIM is not set
821# CONFIG_MWL8K is not set 849# CONFIG_MWL8K is not set
822# CONFIG_P54_COMMON is not set 850# CONFIG_P54_COMMON is not set
823# CONFIG_ATH5K is not set 851# CONFIG_ATH_COMMON is not set
824# CONFIG_ATH9K is not set
825# CONFIG_AR9170_USB is not set
826# CONFIG_IPW2100 is not set 852# CONFIG_IPW2100 is not set
827# CONFIG_IPW2200 is not set 853# CONFIG_IPW2200 is not set
828# CONFIG_IWLWIFI is not set 854# CONFIG_IWLWIFI is not set
@@ -832,6 +858,8 @@ CONFIG_LIBERTAS_SDIO=y
832# CONFIG_ZD1211RW is not set 858# CONFIG_ZD1211RW is not set
833# CONFIG_RT2X00 is not set 859# CONFIG_RT2X00 is not set
834# CONFIG_HERMES is not set 860# CONFIG_HERMES is not set
861# CONFIG_WL12XX is not set
862# CONFIG_IWM is not set
835 863
836# 864#
837# Enable WiMAX (Networking options) to see the WiMAX drivers 865# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -855,6 +883,7 @@ CONFIG_LIBERTAS_SDIO=y
855# CONFIG_NETPOLL is not set 883# CONFIG_NETPOLL is not set
856# CONFIG_NET_POLL_CONTROLLER is not set 884# CONFIG_NET_POLL_CONTROLLER is not set
857# CONFIG_ISDN is not set 885# CONFIG_ISDN is not set
886# CONFIG_PHONE is not set
858 887
859# 888#
860# Input device support 889# Input device support
@@ -878,13 +907,19 @@ CONFIG_INPUT_EVDEV=y
878# Input Device Drivers 907# Input Device Drivers
879# 908#
880CONFIG_INPUT_KEYBOARD=y 909CONFIG_INPUT_KEYBOARD=y
910# CONFIG_KEYBOARD_ADP5588 is not set
881CONFIG_KEYBOARD_ATKBD=y 911CONFIG_KEYBOARD_ATKBD=y
882# CONFIG_KEYBOARD_SUNKBD is not set 912# CONFIG_QT2160 is not set
883# CONFIG_KEYBOARD_LKKBD is not set 913# CONFIG_KEYBOARD_LKKBD is not set
884# CONFIG_KEYBOARD_XTKBD is not set 914CONFIG_KEYBOARD_GPIO=y
915# CONFIG_KEYBOARD_MATRIX is not set
916# CONFIG_KEYBOARD_LM8323 is not set
917# CONFIG_KEYBOARD_MAX7359 is not set
885# CONFIG_KEYBOARD_NEWTON is not set 918# CONFIG_KEYBOARD_NEWTON is not set
919# CONFIG_KEYBOARD_OPENCORES is not set
886# CONFIG_KEYBOARD_STOWAWAY is not set 920# CONFIG_KEYBOARD_STOWAWAY is not set
887CONFIG_KEYBOARD_GPIO=y 921# CONFIG_KEYBOARD_SUNKBD is not set
922# CONFIG_KEYBOARD_XTKBD is not set
888# CONFIG_INPUT_MOUSE is not set 923# CONFIG_INPUT_MOUSE is not set
889# CONFIG_INPUT_JOYSTICK is not set 924# CONFIG_INPUT_JOYSTICK is not set
890# CONFIG_INPUT_TABLET is not set 925# CONFIG_INPUT_TABLET is not set
@@ -943,6 +978,7 @@ CONFIG_LEGACY_PTY_COUNT=16
943CONFIG_DEVPORT=y 978CONFIG_DEVPORT=y
944CONFIG_I2C=y 979CONFIG_I2C=y
945CONFIG_I2C_BOARDINFO=y 980CONFIG_I2C_BOARDINFO=y
981# CONFIG_I2C_COMPAT is not set
946CONFIG_I2C_CHARDEV=y 982CONFIG_I2C_CHARDEV=y
947CONFIG_I2C_HELPER_AUTO=y 983CONFIG_I2C_HELPER_AUTO=y
948 984
@@ -998,10 +1034,6 @@ CONFIG_I2C_MV64XXX=y
998# Miscellaneous I2C Chip support 1034# Miscellaneous I2C Chip support
999# 1035#
1000# CONFIG_DS1682 is not set 1036# CONFIG_DS1682 is not set
1001# CONFIG_SENSORS_PCF8574 is not set
1002# CONFIG_PCF8575 is not set
1003# CONFIG_SENSORS_PCA9539 is not set
1004# CONFIG_SENSORS_MAX6875 is not set
1005# CONFIG_SENSORS_TSL2550 is not set 1037# CONFIG_SENSORS_TSL2550 is not set
1006# CONFIG_I2C_DEBUG_CORE is not set 1038# CONFIG_I2C_DEBUG_CORE is not set
1007# CONFIG_I2C_DEBUG_ALGO is not set 1039# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1023,11 +1055,47 @@ CONFIG_SPI_ORION=y
1023# 1055#
1024# CONFIG_SPI_SPIDEV is not set 1056# CONFIG_SPI_SPIDEV is not set
1025# CONFIG_SPI_TLE62X0 is not set 1057# CONFIG_SPI_TLE62X0 is not set
1058
1059#
1060# PPS support
1061#
1062# CONFIG_PPS is not set
1063CONFIG_ARCH_REQUIRE_GPIOLIB=y
1064CONFIG_GPIOLIB=y
1065# CONFIG_DEBUG_GPIO is not set
1066CONFIG_GPIO_SYSFS=y
1067
1068#
1069# Memory mapped GPIO expanders:
1070#
1071
1072#
1073# I2C GPIO expanders:
1074#
1075# CONFIG_GPIO_MAX732X is not set
1076# CONFIG_GPIO_PCA953X is not set
1077# CONFIG_GPIO_PCF857X is not set
1078
1079#
1080# PCI GPIO expanders:
1081#
1082# CONFIG_GPIO_BT8XX is not set
1083# CONFIG_GPIO_LANGWELL is not set
1084
1085#
1086# SPI GPIO expanders:
1087#
1088# CONFIG_GPIO_MAX7301 is not set
1089# CONFIG_GPIO_MCP23S08 is not set
1090# CONFIG_GPIO_MC33880 is not set
1091
1092#
1093# AC97 GPIO expanders:
1094#
1026# CONFIG_W1 is not set 1095# CONFIG_W1 is not set
1027# CONFIG_POWER_SUPPLY is not set 1096# CONFIG_POWER_SUPPLY is not set
1028# CONFIG_HWMON is not set 1097# CONFIG_HWMON is not set
1029# CONFIG_THERMAL is not set 1098# CONFIG_THERMAL is not set
1030# CONFIG_THERMAL_HWMON is not set
1031# CONFIG_WATCHDOG is not set 1099# CONFIG_WATCHDOG is not set
1032CONFIG_SSB_POSSIBLE=y 1100CONFIG_SSB_POSSIBLE=y
1033 1101
@@ -1041,33 +1109,28 @@ CONFIG_SSB_POSSIBLE=y
1041# 1109#
1042# CONFIG_MFD_CORE is not set 1110# CONFIG_MFD_CORE is not set
1043# CONFIG_MFD_SM501 is not set 1111# CONFIG_MFD_SM501 is not set
1112# CONFIG_MFD_ASIC3 is not set
1113# CONFIG_HTC_EGPIO is not set
1044# CONFIG_HTC_PASIC3 is not set 1114# CONFIG_HTC_PASIC3 is not set
1115# CONFIG_TPS65010 is not set
1045# CONFIG_TWL4030_CORE is not set 1116# CONFIG_TWL4030_CORE is not set
1046# CONFIG_MFD_TMIO is not set 1117# CONFIG_MFD_TMIO is not set
1118# CONFIG_MFD_TC6393XB is not set
1047# CONFIG_PMIC_DA903X is not set 1119# CONFIG_PMIC_DA903X is not set
1048# CONFIG_MFD_WM8400 is not set 1120# CONFIG_MFD_WM8400 is not set
1121# CONFIG_MFD_WM831X is not set
1049# CONFIG_MFD_WM8350_I2C is not set 1122# CONFIG_MFD_WM8350_I2C is not set
1050# CONFIG_MFD_PCF50633 is not set 1123# CONFIG_MFD_PCF50633 is not set
1051 1124# CONFIG_MFD_MC13783 is not set
1052# 1125# CONFIG_AB3100_CORE is not set
1053# Multimedia devices 1126# CONFIG_EZX_PCAP is not set
1054# 1127# CONFIG_REGULATOR is not set
1055 1128# CONFIG_MEDIA_SUPPORT is not set
1056#
1057# Multimedia core support
1058#
1059# CONFIG_VIDEO_DEV is not set
1060# CONFIG_DVB_CORE is not set
1061# CONFIG_VIDEO_MEDIA is not set
1062
1063#
1064# Multimedia drivers
1065#
1066# CONFIG_DAB is not set
1067 1129
1068# 1130#
1069# Graphics support 1131# Graphics support
1070# 1132#
1133CONFIG_VGA_ARB=y
1071# CONFIG_DRM is not set 1134# CONFIG_DRM is not set
1072# CONFIG_VGASTATE is not set 1135# CONFIG_VGASTATE is not set
1073# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1136# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1087,7 +1150,6 @@ CONFIG_DUMMY_CONSOLE=y
1087# CONFIG_SOUND is not set 1150# CONFIG_SOUND is not set
1088CONFIG_HID_SUPPORT=y 1151CONFIG_HID_SUPPORT=y
1089CONFIG_HID=y 1152CONFIG_HID=y
1090# CONFIG_HID_DEBUG is not set
1091# CONFIG_HIDRAW is not set 1153# CONFIG_HIDRAW is not set
1092 1154
1093# 1155#
@@ -1106,10 +1168,12 @@ CONFIG_HID_BELKIN=y
1106CONFIG_HID_CHERRY=y 1168CONFIG_HID_CHERRY=y
1107CONFIG_HID_CHICONY=y 1169CONFIG_HID_CHICONY=y
1108CONFIG_HID_CYPRESS=y 1170CONFIG_HID_CYPRESS=y
1171CONFIG_HID_DRAGONRISE=y
1109# CONFIG_DRAGONRISE_FF is not set 1172# CONFIG_DRAGONRISE_FF is not set
1110CONFIG_HID_EZKEY=y 1173CONFIG_HID_EZKEY=y
1111CONFIG_HID_KYE=y 1174CONFIG_HID_KYE=y
1112CONFIG_HID_GYRATION=y 1175CONFIG_HID_GYRATION=y
1176CONFIG_HID_TWINHAN=y
1113CONFIG_HID_KENSINGTON=y 1177CONFIG_HID_KENSINGTON=y
1114CONFIG_HID_LOGITECH=y 1178CONFIG_HID_LOGITECH=y
1115# CONFIG_LOGITECH_FF is not set 1179# CONFIG_LOGITECH_FF is not set
@@ -1123,9 +1187,14 @@ CONFIG_HID_PETALYNX=y
1123CONFIG_HID_SAMSUNG=y 1187CONFIG_HID_SAMSUNG=y
1124CONFIG_HID_SONY=y 1188CONFIG_HID_SONY=y
1125CONFIG_HID_SUNPLUS=y 1189CONFIG_HID_SUNPLUS=y
1190CONFIG_HID_GREENASIA=y
1126# CONFIG_GREENASIA_FF is not set 1191# CONFIG_GREENASIA_FF is not set
1192CONFIG_HID_SMARTJOYPLUS=y
1193# CONFIG_SMARTJOYPLUS_FF is not set
1127CONFIG_HID_TOPSEED=y 1194CONFIG_HID_TOPSEED=y
1195CONFIG_HID_THRUSTMASTER=y
1128# CONFIG_THRUSTMASTER_FF is not set 1196# CONFIG_THRUSTMASTER_FF is not set
1197CONFIG_HID_ZEROPLUS=y
1129# CONFIG_ZEROPLUS_FF is not set 1198# CONFIG_ZEROPLUS_FF is not set
1130CONFIG_USB_SUPPORT=y 1199CONFIG_USB_SUPPORT=y
1131CONFIG_USB_ARCH_HAS_HCD=y 1200CONFIG_USB_ARCH_HAS_HCD=y
@@ -1150,18 +1219,21 @@ CONFIG_USB_DEVICE_CLASS=y
1150# USB Host Controller Drivers 1219# USB Host Controller Drivers
1151# 1220#
1152# CONFIG_USB_C67X00_HCD is not set 1221# CONFIG_USB_C67X00_HCD is not set
1222# CONFIG_USB_XHCI_HCD is not set
1153CONFIG_USB_EHCI_HCD=y 1223CONFIG_USB_EHCI_HCD=y
1154CONFIG_USB_EHCI_ROOT_HUB_TT=y 1224CONFIG_USB_EHCI_ROOT_HUB_TT=y
1155CONFIG_USB_EHCI_TT_NEWSCHED=y 1225CONFIG_USB_EHCI_TT_NEWSCHED=y
1156# CONFIG_USB_OXU210HP_HCD is not set 1226# CONFIG_USB_OXU210HP_HCD is not set
1157# CONFIG_USB_ISP116X_HCD is not set 1227# CONFIG_USB_ISP116X_HCD is not set
1158# CONFIG_USB_ISP1760_HCD is not set 1228# CONFIG_USB_ISP1760_HCD is not set
1229# CONFIG_USB_ISP1362_HCD is not set
1159# CONFIG_USB_OHCI_HCD is not set 1230# CONFIG_USB_OHCI_HCD is not set
1160# CONFIG_USB_UHCI_HCD is not set 1231# CONFIG_USB_UHCI_HCD is not set
1161# CONFIG_USB_SL811_HCD is not set 1232# CONFIG_USB_SL811_HCD is not set
1162# CONFIG_USB_R8A66597_HCD is not set 1233# CONFIG_USB_R8A66597_HCD is not set
1163# CONFIG_USB_WHCI_HCD is not set 1234# CONFIG_USB_WHCI_HCD is not set
1164# CONFIG_USB_HWA_HCD is not set 1235# CONFIG_USB_HWA_HCD is not set
1236# CONFIG_USB_MUSB_HDRC is not set
1165 1237
1166# 1238#
1167# USB Device Class drivers 1239# USB Device Class drivers
@@ -1252,11 +1324,14 @@ CONFIG_SDIO_UART=y
1252# MMC/SD/SDIO Host Controller Drivers 1324# MMC/SD/SDIO Host Controller Drivers
1253# 1325#
1254# CONFIG_MMC_SDHCI is not set 1326# CONFIG_MMC_SDHCI is not set
1327# CONFIG_MMC_AT91 is not set
1328# CONFIG_MMC_ATMELMCI is not set
1255# CONFIG_MMC_TIFM_SD is not set 1329# CONFIG_MMC_TIFM_SD is not set
1256CONFIG_MMC_MVSDIO=y 1330CONFIG_MMC_MVSDIO=y
1257# CONFIG_MMC_SPI is not set 1331# CONFIG_MMC_SPI is not set
1332# CONFIG_MMC_CB710 is not set
1333# CONFIG_MMC_VIA_SDMMC is not set
1258# CONFIG_MEMSTICK is not set 1334# CONFIG_MEMSTICK is not set
1259# CONFIG_ACCESSIBILITY is not set
1260CONFIG_NEW_LEDS=y 1335CONFIG_NEW_LEDS=y
1261CONFIG_LEDS_CLASS=y 1336CONFIG_LEDS_CLASS=y
1262 1337
@@ -1266,7 +1341,7 @@ CONFIG_LEDS_CLASS=y
1266# CONFIG_LEDS_PCA9532 is not set 1341# CONFIG_LEDS_PCA9532 is not set
1267CONFIG_LEDS_GPIO=y 1342CONFIG_LEDS_GPIO=y
1268CONFIG_LEDS_GPIO_PLATFORM=y 1343CONFIG_LEDS_GPIO_PLATFORM=y
1269# CONFIG_LEDS_LP5521 is not set 1344# CONFIG_LEDS_LP3944 is not set
1270# CONFIG_LEDS_PCA955X is not set 1345# CONFIG_LEDS_PCA955X is not set
1271# CONFIG_LEDS_DAC124S085 is not set 1346# CONFIG_LEDS_DAC124S085 is not set
1272# CONFIG_LEDS_BD2802 is not set 1347# CONFIG_LEDS_BD2802 is not set
@@ -1278,11 +1353,14 @@ CONFIG_LEDS_TRIGGERS=y
1278CONFIG_LEDS_TRIGGER_TIMER=y 1353CONFIG_LEDS_TRIGGER_TIMER=y
1279CONFIG_LEDS_TRIGGER_HEARTBEAT=y 1354CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1280# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set 1355# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1356# CONFIG_LEDS_TRIGGER_GPIO is not set
1281CONFIG_LEDS_TRIGGER_DEFAULT_ON=y 1357CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1282 1358
1283# 1359#
1284# iptables trigger is under Netfilter config (LED target) 1360# iptables trigger is under Netfilter config (LED target)
1285# 1361#
1362# CONFIG_ACCESSIBILITY is not set
1363# CONFIG_INFINIBAND is not set
1286CONFIG_RTC_LIB=y 1364CONFIG_RTC_LIB=y
1287CONFIG_RTC_CLASS=y 1365CONFIG_RTC_CLASS=y
1288CONFIG_RTC_HCTOSYS=y 1366CONFIG_RTC_HCTOSYS=y
@@ -1314,6 +1392,7 @@ CONFIG_RTC_INTF_DEV=y
1314CONFIG_RTC_DRV_S35390A=y 1392CONFIG_RTC_DRV_S35390A=y
1315# CONFIG_RTC_DRV_FM3130 is not set 1393# CONFIG_RTC_DRV_FM3130 is not set
1316# CONFIG_RTC_DRV_RX8581 is not set 1394# CONFIG_RTC_DRV_RX8581 is not set
1395# CONFIG_RTC_DRV_RX8025 is not set
1317 1396
1318# 1397#
1319# SPI RTC drivers 1398# SPI RTC drivers
@@ -1325,6 +1404,7 @@ CONFIG_RTC_DRV_S35390A=y
1325# CONFIG_RTC_DRV_R9701 is not set 1404# CONFIG_RTC_DRV_R9701 is not set
1326# CONFIG_RTC_DRV_RS5C348 is not set 1405# CONFIG_RTC_DRV_RS5C348 is not set
1327# CONFIG_RTC_DRV_DS3234 is not set 1406# CONFIG_RTC_DRV_DS3234 is not set
1407# CONFIG_RTC_DRV_PCF2123 is not set
1328 1408
1329# 1409#
1330# Platform RTC drivers 1410# Platform RTC drivers
@@ -1360,8 +1440,11 @@ CONFIG_DMA_ENGINE=y
1360# CONFIG_ASYNC_TX_DMA is not set 1440# CONFIG_ASYNC_TX_DMA is not set
1361# CONFIG_DMATEST is not set 1441# CONFIG_DMATEST is not set
1362# CONFIG_AUXDISPLAY is not set 1442# CONFIG_AUXDISPLAY is not set
1363# CONFIG_REGULATOR is not set
1364# CONFIG_UIO is not set 1443# CONFIG_UIO is not set
1444
1445#
1446# TI VLYNQ
1447#
1365# CONFIG_STAGING is not set 1448# CONFIG_STAGING is not set
1366 1449
1367# 1450#
@@ -1379,10 +1462,13 @@ CONFIG_JBD=y
1379# CONFIG_REISERFS_FS is not set 1462# CONFIG_REISERFS_FS is not set
1380# CONFIG_JFS_FS is not set 1463# CONFIG_JFS_FS is not set
1381# CONFIG_FS_POSIX_ACL is not set 1464# CONFIG_FS_POSIX_ACL is not set
1382CONFIG_FILE_LOCKING=y
1383# CONFIG_XFS_FS is not set 1465# CONFIG_XFS_FS is not set
1466# CONFIG_GFS2_FS is not set
1384# CONFIG_OCFS2_FS is not set 1467# CONFIG_OCFS2_FS is not set
1385# CONFIG_BTRFS_FS is not set 1468# CONFIG_BTRFS_FS is not set
1469# CONFIG_NILFS2_FS is not set
1470CONFIG_FILE_LOCKING=y
1471CONFIG_FSNOTIFY=y
1386CONFIG_DNOTIFY=y 1472CONFIG_DNOTIFY=y
1387CONFIG_INOTIFY=y 1473CONFIG_INOTIFY=y
1388CONFIG_INOTIFY_USER=y 1474CONFIG_INOTIFY_USER=y
@@ -1455,7 +1541,6 @@ CONFIG_CRAMFS=y
1455# CONFIG_ROMFS_FS is not set 1541# CONFIG_ROMFS_FS is not set
1456# CONFIG_SYSV_FS is not set 1542# CONFIG_SYSV_FS is not set
1457# CONFIG_UFS_FS is not set 1543# CONFIG_UFS_FS is not set
1458# CONFIG_NILFS2_FS is not set
1459CONFIG_NETWORK_FILESYSTEMS=y 1544CONFIG_NETWORK_FILESYSTEMS=y
1460CONFIG_NFS_FS=y 1545CONFIG_NFS_FS=y
1461CONFIG_NFS_V3=y 1546CONFIG_NFS_V3=y
@@ -1530,6 +1615,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1530CONFIG_ENABLE_MUST_CHECK=y 1615CONFIG_ENABLE_MUST_CHECK=y
1531CONFIG_FRAME_WARN=1024 1616CONFIG_FRAME_WARN=1024
1532CONFIG_MAGIC_SYSRQ=y 1617CONFIG_MAGIC_SYSRQ=y
1618# CONFIG_STRIP_ASM_SYMS is not set
1533# CONFIG_UNUSED_SYMBOLS is not set 1619# CONFIG_UNUSED_SYMBOLS is not set
1534CONFIG_DEBUG_FS=y 1620CONFIG_DEBUG_FS=y
1535# CONFIG_HEADERS_CHECK is not set 1621# CONFIG_HEADERS_CHECK is not set
@@ -1547,6 +1633,7 @@ CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1547# CONFIG_DEBUG_OBJECTS is not set 1633# CONFIG_DEBUG_OBJECTS is not set
1548# CONFIG_SLUB_DEBUG_ON is not set 1634# CONFIG_SLUB_DEBUG_ON is not set
1549# CONFIG_SLUB_STATS is not set 1635# CONFIG_SLUB_STATS is not set
1636# CONFIG_DEBUG_KMEMLEAK is not set
1550# CONFIG_DEBUG_PREEMPT is not set 1637# CONFIG_DEBUG_PREEMPT is not set
1551# CONFIG_DEBUG_RT_MUTEXES is not set 1638# CONFIG_DEBUG_RT_MUTEXES is not set
1552# CONFIG_RT_MUTEX_TESTER is not set 1639# CONFIG_RT_MUTEX_TESTER is not set
@@ -1567,12 +1654,14 @@ CONFIG_DEBUG_MEMORY_INIT=y
1567# CONFIG_DEBUG_LIST is not set 1654# CONFIG_DEBUG_LIST is not set
1568# CONFIG_DEBUG_SG is not set 1655# CONFIG_DEBUG_SG is not set
1569# CONFIG_DEBUG_NOTIFIERS is not set 1656# CONFIG_DEBUG_NOTIFIERS is not set
1657# CONFIG_DEBUG_CREDENTIALS is not set
1570# CONFIG_BOOT_PRINTK_DELAY is not set 1658# CONFIG_BOOT_PRINTK_DELAY is not set
1571# CONFIG_RCU_TORTURE_TEST is not set 1659# CONFIG_RCU_TORTURE_TEST is not set
1572# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1660# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1573# CONFIG_KPROBES_SANITY_TEST is not set 1661# CONFIG_KPROBES_SANITY_TEST is not set
1574# CONFIG_BACKTRACE_SELF_TEST is not set 1662# CONFIG_BACKTRACE_SELF_TEST is not set
1575# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1663# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1664# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1576# CONFIG_LKDTM is not set 1665# CONFIG_LKDTM is not set
1577# CONFIG_FAULT_INJECTION is not set 1666# CONFIG_FAULT_INJECTION is not set
1578# CONFIG_LATENCYTOP is not set 1667# CONFIG_LATENCYTOP is not set
@@ -1581,25 +1670,12 @@ CONFIG_SYSCTL_SYSCALL_CHECK=y
1581CONFIG_NOP_TRACER=y 1670CONFIG_NOP_TRACER=y
1582CONFIG_HAVE_FUNCTION_TRACER=y 1671CONFIG_HAVE_FUNCTION_TRACER=y
1583CONFIG_RING_BUFFER=y 1672CONFIG_RING_BUFFER=y
1673CONFIG_EVENT_TRACING=y
1674CONFIG_CONTEXT_SWITCH_TRACER=y
1675CONFIG_RING_BUFFER_ALLOW_SWAP=y
1584CONFIG_TRACING=y 1676CONFIG_TRACING=y
1585CONFIG_TRACING_SUPPORT=y 1677CONFIG_TRACING_SUPPORT=y
1586 1678# CONFIG_FTRACE is not set
1587#
1588# Tracers
1589#
1590# CONFIG_FUNCTION_TRACER is not set
1591# CONFIG_IRQSOFF_TRACER is not set
1592# CONFIG_PREEMPT_TRACER is not set
1593# CONFIG_SCHED_TRACER is not set
1594# CONFIG_CONTEXT_SWITCH_TRACER is not set
1595# CONFIG_EVENT_TRACER is not set
1596# CONFIG_BOOT_TRACER is not set
1597# CONFIG_TRACE_BRANCH_PROFILING is not set
1598# CONFIG_STACK_TRACER is not set
1599# CONFIG_KMEMTRACE is not set
1600# CONFIG_WORKQUEUE_TRACER is not set
1601# CONFIG_BLK_DEV_IO_TRACE is not set
1602# CONFIG_FTRACE_STARTUP_TEST is not set
1603# CONFIG_DYNAMIC_DEBUG is not set 1679# CONFIG_DYNAMIC_DEBUG is not set
1604# CONFIG_SAMPLES is not set 1680# CONFIG_SAMPLES is not set
1605CONFIG_HAVE_ARCH_KGDB=y 1681CONFIG_HAVE_ARCH_KGDB=y
@@ -1623,7 +1699,6 @@ CONFIG_CRYPTO=y
1623# 1699#
1624# Crypto core or helper 1700# Crypto core or helper
1625# 1701#
1626# CONFIG_CRYPTO_FIPS is not set
1627CONFIG_CRYPTO_ALGAPI=y 1702CONFIG_CRYPTO_ALGAPI=y
1628CONFIG_CRYPTO_ALGAPI2=y 1703CONFIG_CRYPTO_ALGAPI2=y
1629CONFIG_CRYPTO_AEAD2=y 1704CONFIG_CRYPTO_AEAD2=y
@@ -1665,11 +1740,13 @@ CONFIG_CRYPTO_PCBC=m
1665# 1740#
1666# CONFIG_CRYPTO_HMAC is not set 1741# CONFIG_CRYPTO_HMAC is not set
1667# CONFIG_CRYPTO_XCBC is not set 1742# CONFIG_CRYPTO_XCBC is not set
1743# CONFIG_CRYPTO_VMAC is not set
1668 1744
1669# 1745#
1670# Digest 1746# Digest
1671# 1747#
1672CONFIG_CRYPTO_CRC32C=y 1748CONFIG_CRYPTO_CRC32C=y
1749# CONFIG_CRYPTO_GHASH is not set
1673# CONFIG_CRYPTO_MD4 is not set 1750# CONFIG_CRYPTO_MD4 is not set
1674# CONFIG_CRYPTO_MD5 is not set 1751# CONFIG_CRYPTO_MD5 is not set
1675# CONFIG_CRYPTO_MICHAEL_MIC is not set 1752# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1714,6 +1791,7 @@ CONFIG_CRYPTO_ARC4=y
1714# 1791#
1715# CONFIG_CRYPTO_ANSI_CPRNG is not set 1792# CONFIG_CRYPTO_ANSI_CPRNG is not set
1716CONFIG_CRYPTO_HW=y 1793CONFIG_CRYPTO_HW=y
1794CONFIG_CRYPTO_DEV_MV_CESA=y
1717# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1795# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1718CONFIG_BINARY_PRINTF=y 1796CONFIG_BINARY_PRINTF=y
1719 1797
diff --git a/arch/arm/configs/omap3_pandora_defconfig b/arch/arm/configs/omap3_pandora_defconfig
index b54ad2e2da36..150deafb0a6a 100644
--- a/arch/arm/configs/omap3_pandora_defconfig
+++ b/arch/arm/configs/omap3_pandora_defconfig
@@ -611,7 +611,7 @@ CONFIG_INPUT_KEYBOARD=y
611# CONFIG_KEYBOARD_XTKBD is not set 611# CONFIG_KEYBOARD_XTKBD is not set
612# CONFIG_KEYBOARD_NEWTON is not set 612# CONFIG_KEYBOARD_NEWTON is not set
613# CONFIG_KEYBOARD_STOWAWAY is not set 613# CONFIG_KEYBOARD_STOWAWAY is not set
614# CONFIG_KEYBOARD_GPIO is not set 614CONFIG_KEYBOARD_GPIO=y
615CONFIG_INPUT_MOUSE=y 615CONFIG_INPUT_MOUSE=y
616# CONFIG_MOUSE_PS2 is not set 616# CONFIG_MOUSE_PS2 is not set
617# CONFIG_MOUSE_SERIAL is not set 617# CONFIG_MOUSE_SERIAL is not set
@@ -634,7 +634,8 @@ CONFIG_TOUCHSCREEN_ADS7846=y
634# CONFIG_TOUCHSCREEN_TOUCHWIN is not set 634# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
635# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set 635# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
636# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set 636# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
637# CONFIG_INPUT_MISC is not set 637CONFIG_INPUT_MISC=y
638CONFIG_INPUT_TWL4030_PWRBUTTON=y
638 639
639# 640#
640# Hardware I/O ports 641# Hardware I/O ports
@@ -834,7 +835,29 @@ CONFIG_DAB=y
834# 835#
835# CONFIG_VGA_CONSOLE is not set 836# CONFIG_VGA_CONSOLE is not set
836CONFIG_DUMMY_CONSOLE=y 837CONFIG_DUMMY_CONSOLE=y
837# CONFIG_SOUND is not set 838CONFIG_SOUND=y
839CONFIG_SOUND_OSS_CORE=y
840CONFIG_SOUND_OSS_CORE_PRECLAIM=y
841CONFIG_SND=y
842CONFIG_SND_TIMER=y
843CONFIG_SND_PCM=y
844CONFIG_SND_JACK=y
845CONFIG_SND_OSSEMUL=y
846CONFIG_SND_MIXER_OSS=y
847CONFIG_SND_PCM_OSS=y
848CONFIG_SND_PCM_OSS_PLUGINS=y
849CONFIG_SND_SUPPORT_OLD_API=y
850CONFIG_SND_VERBOSE_PROCFS=y
851CONFIG_SND_VERBOSE_PRINTK=y
852CONFIG_SND_DRIVERS=y
853CONFIG_SND_USB=y
854CONFIG_SND_SOC=y
855CONFIG_SND_OMAP_SOC=y
856CONFIG_SND_OMAP_SOC_MCBSP=y
857CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y
858CONFIG_SND_SOC_I2C_AND_SPI=y
859CONFIG_SND_SOC_TWL4030=y
860
838CONFIG_HID_SUPPORT=y 861CONFIG_HID_SUPPORT=y
839CONFIG_HID=y 862CONFIG_HID=y
840# CONFIG_HID_DEBUG is not set 863# CONFIG_HID_DEBUG is not set
@@ -1020,7 +1043,13 @@ CONFIG_MMC_BLOCK_BOUNCE=y
1020# CONFIG_MMC_SPI is not set 1043# CONFIG_MMC_SPI is not set
1021# CONFIG_MEMSTICK is not set 1044# CONFIG_MEMSTICK is not set
1022# CONFIG_ACCESSIBILITY is not set 1045# CONFIG_ACCESSIBILITY is not set
1023# CONFIG_NEW_LEDS is not set 1046CONFIG_NEW_LEDS=y
1047CONFIG_LEDS_CLASS=y
1048CONFIG_LEDS_GPIO=y
1049CONFIG_LEDS_GPIO_PLATFORM=y
1050CONFIG_LEDS_TRIGGERS=y
1051CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1052
1024CONFIG_RTC_LIB=y 1053CONFIG_RTC_LIB=y
1025CONFIG_RTC_CLASS=y 1054CONFIG_RTC_CLASS=y
1026CONFIG_RTC_HCTOSYS=y 1055CONFIG_RTC_HCTOSYS=y
@@ -1084,9 +1113,12 @@ CONFIG_RTC_DRV_TWL4030=y
1084# on-CPU RTC drivers 1113# on-CPU RTC drivers
1085# 1114#
1086# CONFIG_DMADEVICES is not set 1115# CONFIG_DMADEVICES is not set
1087# CONFIG_REGULATOR is not set
1088# CONFIG_UIO is not set 1116# CONFIG_UIO is not set
1089 1117
1118CONFIG_REGULATOR=y
1119CONFIG_REGULATOR_FIXED_VOLTAGE=y
1120CONFIG_REGULATOR_TWL4030=y
1121
1090# 1122#
1091# File systems 1123# File systems
1092# 1124#
@@ -1407,3 +1439,10 @@ CONFIG_PLIST=y
1407CONFIG_HAS_IOMEM=y 1439CONFIG_HAS_IOMEM=y
1408CONFIG_HAS_IOPORT=y 1440CONFIG_HAS_IOPORT=y
1409CONFIG_HAS_DMA=y 1441CONFIG_HAS_DMA=y
1442
1443# added by hand for now
1444CONFIG_KEYBOARD_TWL4030=y
1445CONFIG_USB_OTG_UTILS=y
1446CONFIG_TWL4030_USB=y
1447CONFIG_MMC_OMAP_HS=y
1448
diff --git a/arch/arm/configs/omap_3430sdp_defconfig b/arch/arm/configs/omap_3430sdp_defconfig
index 8a4a7e2ba87b..5a305f015307 100644
--- a/arch/arm/configs/omap_3430sdp_defconfig
+++ b/arch/arm/configs/omap_3430sdp_defconfig
@@ -1703,7 +1703,14 @@ CONFIG_RTC_DRV_TWL4030=y
1703# on-CPU RTC drivers 1703# on-CPU RTC drivers
1704# 1704#
1705# CONFIG_DMADEVICES is not set 1705# CONFIG_DMADEVICES is not set
1706# CONFIG_REGULATOR is not set 1706CONFIG_REGULATOR=y
1707# CONFIG_REGULATOR_DEBUG is not set
1708# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1709# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1710# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
1711# CONFIG_REGULATOR_BQ24022 is not set
1712# CONFIG_REGULATOR_MAX1586 is not set
1713CONFIG_REGULATOR_TWL4030=y
1707# CONFIG_UIO is not set 1714# CONFIG_UIO is not set
1708# CONFIG_STAGING is not set 1715# CONFIG_STAGING is not set
1709 1716
diff --git a/arch/arm/configs/orion5x_defconfig b/arch/arm/configs/orion5x_defconfig
index 9e2385293ecb..5383cd0dff54 100644
--- a/arch/arm/configs/orion5x_defconfig
+++ b/arch/arm/configs/orion5x_defconfig
@@ -1,15 +1,13 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.30-rc4 3# Linux kernel version: 2.6.32-rc6
4# Mon May 4 14:07:25 2009 4# Sat Nov 7 20:52:21 2009
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y 8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y 9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y 10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y 11CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y 12CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y 13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -18,13 +16,12 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y 16CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y 17CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y 18CONFIG_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 19CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y 20CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 21CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
26CONFIG_VECTORS_BASE=0xffff0000 22CONFIG_VECTORS_BASE=0xffff0000
27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
24CONFIG_CONSTRUCTORS=y
28 25
29# 26#
30# General setup 27# General setup
@@ -46,11 +43,12 @@ CONFIG_SYSVIPC_SYSCTL=y
46# 43#
47# RCU Subsystem 44# RCU Subsystem
48# 45#
49CONFIG_CLASSIC_RCU=y 46CONFIG_TREE_RCU=y
50# CONFIG_TREE_RCU is not set 47# CONFIG_TREE_PREEMPT_RCU is not set
51# CONFIG_PREEMPT_RCU is not set 48# CONFIG_RCU_TRACE is not set
49CONFIG_RCU_FANOUT=32
50# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set 51# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_PREEMPT_RCU_TRACE is not set
54# CONFIG_IKCONFIG is not set 52# CONFIG_IKCONFIG is not set
55CONFIG_LOG_BUF_SHIFT=14 53CONFIG_LOG_BUF_SHIFT=14
56# CONFIG_GROUP_SCHED is not set 54# CONFIG_GROUP_SCHED is not set
@@ -69,7 +67,6 @@ CONFIG_SYSCTL_SYSCALL=y
69CONFIG_KALLSYMS=y 67CONFIG_KALLSYMS=y
70CONFIG_KALLSYMS_ALL=y 68CONFIG_KALLSYMS_ALL=y
71# CONFIG_KALLSYMS_EXTRA_PASS is not set 69# CONFIG_KALLSYMS_EXTRA_PASS is not set
72# CONFIG_STRIP_ASM_SYMS is not set
73CONFIG_HOTPLUG=y 70CONFIG_HOTPLUG=y
74CONFIG_PRINTK=y 71CONFIG_PRINTK=y
75CONFIG_BUG=y 72CONFIG_BUG=y
@@ -82,6 +79,10 @@ CONFIG_TIMERFD=y
82CONFIG_EVENTFD=y 79CONFIG_EVENTFD=y
83CONFIG_SHMEM=y 80CONFIG_SHMEM=y
84CONFIG_AIO=y 81CONFIG_AIO=y
82
83#
84# Kernel Performance Events And Counters
85#
85CONFIG_VM_EVENT_COUNTERS=y 86CONFIG_VM_EVENT_COUNTERS=y
86CONFIG_PCI_QUIRKS=y 87CONFIG_PCI_QUIRKS=y
87# CONFIG_SLUB_DEBUG is not set 88# CONFIG_SLUB_DEBUG is not set
@@ -91,13 +92,17 @@ CONFIG_SLUB=y
91# CONFIG_SLOB is not set 92# CONFIG_SLOB is not set
92CONFIG_PROFILING=y 93CONFIG_PROFILING=y
93CONFIG_TRACEPOINTS=y 94CONFIG_TRACEPOINTS=y
94# CONFIG_MARKERS is not set
95CONFIG_OPROFILE=y 95CONFIG_OPROFILE=y
96CONFIG_HAVE_OPROFILE=y 96CONFIG_HAVE_OPROFILE=y
97CONFIG_KPROBES=y 97CONFIG_KPROBES=y
98CONFIG_KRETPROBES=y 98CONFIG_KRETPROBES=y
99CONFIG_HAVE_KPROBES=y 99CONFIG_HAVE_KPROBES=y
100CONFIG_HAVE_KRETPROBES=y 100CONFIG_HAVE_KRETPROBES=y
101
102#
103# GCOV-based kernel profiling
104#
105# CONFIG_GCOV_KERNEL is not set
101# CONFIG_SLOW_WORK is not set 106# CONFIG_SLOW_WORK is not set
102CONFIG_HAVE_GENERIC_DMA_COHERENT=y 107CONFIG_HAVE_GENERIC_DMA_COHERENT=y
103CONFIG_RT_MUTEXES=y 108CONFIG_RT_MUTEXES=y
@@ -109,7 +114,7 @@ CONFIG_MODULE_UNLOAD=y
109# CONFIG_MODVERSIONS is not set 114# CONFIG_MODVERSIONS is not set
110# CONFIG_MODULE_SRCVERSION_ALL is not set 115# CONFIG_MODULE_SRCVERSION_ALL is not set
111CONFIG_BLOCK=y 116CONFIG_BLOCK=y
112# CONFIG_LBD is not set 117CONFIG_LBDAF=y
113# CONFIG_BLK_DEV_BSG is not set 118# CONFIG_BLK_DEV_BSG is not set
114# CONFIG_BLK_DEV_INTEGRITY is not set 119# CONFIG_BLK_DEV_INTEGRITY is not set
115 120
@@ -130,19 +135,22 @@ CONFIG_DEFAULT_IOSCHED="cfq"
130# 135#
131# System Type 136# System Type
132# 137#
138CONFIG_MMU=y
133# CONFIG_ARCH_AAEC2000 is not set 139# CONFIG_ARCH_AAEC2000 is not set
134# CONFIG_ARCH_INTEGRATOR is not set 140# CONFIG_ARCH_INTEGRATOR is not set
135# CONFIG_ARCH_REALVIEW is not set 141# CONFIG_ARCH_REALVIEW is not set
136# CONFIG_ARCH_VERSATILE is not set 142# CONFIG_ARCH_VERSATILE is not set
137# CONFIG_ARCH_AT91 is not set 143# CONFIG_ARCH_AT91 is not set
138# CONFIG_ARCH_CLPS711X is not set 144# CONFIG_ARCH_CLPS711X is not set
145# CONFIG_ARCH_GEMINI is not set
139# CONFIG_ARCH_EBSA110 is not set 146# CONFIG_ARCH_EBSA110 is not set
140# CONFIG_ARCH_EP93XX is not set 147# CONFIG_ARCH_EP93XX is not set
141# CONFIG_ARCH_GEMINI is not set
142# CONFIG_ARCH_FOOTBRIDGE is not set 148# CONFIG_ARCH_FOOTBRIDGE is not set
149# CONFIG_ARCH_MXC is not set
150# CONFIG_ARCH_STMP3XXX is not set
143# CONFIG_ARCH_NETX is not set 151# CONFIG_ARCH_NETX is not set
144# CONFIG_ARCH_H720X is not set 152# CONFIG_ARCH_H720X is not set
145# CONFIG_ARCH_IMX is not set 153# CONFIG_ARCH_NOMADIK is not set
146# CONFIG_ARCH_IOP13XX is not set 154# CONFIG_ARCH_IOP13XX is not set
147# CONFIG_ARCH_IOP32X is not set 155# CONFIG_ARCH_IOP32X is not set
148# CONFIG_ARCH_IOP33X is not set 156# CONFIG_ARCH_IOP33X is not set
@@ -151,25 +159,27 @@ CONFIG_DEFAULT_IOSCHED="cfq"
151# CONFIG_ARCH_IXP4XX is not set 159# CONFIG_ARCH_IXP4XX is not set
152# CONFIG_ARCH_L7200 is not set 160# CONFIG_ARCH_L7200 is not set
153# CONFIG_ARCH_KIRKWOOD is not set 161# CONFIG_ARCH_KIRKWOOD is not set
154# CONFIG_ARCH_KS8695 is not set
155# CONFIG_ARCH_NS9XXX is not set
156# CONFIG_ARCH_LOKI is not set 162# CONFIG_ARCH_LOKI is not set
157# CONFIG_ARCH_MV78XX0 is not set 163# CONFIG_ARCH_MV78XX0 is not set
158# CONFIG_ARCH_MXC is not set
159CONFIG_ARCH_ORION5X=y 164CONFIG_ARCH_ORION5X=y
165# CONFIG_ARCH_MMP is not set
166# CONFIG_ARCH_KS8695 is not set
167# CONFIG_ARCH_NS9XXX is not set
168# CONFIG_ARCH_W90X900 is not set
160# CONFIG_ARCH_PNX4008 is not set 169# CONFIG_ARCH_PNX4008 is not set
161# CONFIG_ARCH_PXA is not set 170# CONFIG_ARCH_PXA is not set
162# CONFIG_ARCH_MMP is not set 171# CONFIG_ARCH_MSM is not set
163# CONFIG_ARCH_RPC is not set 172# CONFIG_ARCH_RPC is not set
164# CONFIG_ARCH_SA1100 is not set 173# CONFIG_ARCH_SA1100 is not set
165# CONFIG_ARCH_S3C2410 is not set 174# CONFIG_ARCH_S3C2410 is not set
166# CONFIG_ARCH_S3C64XX is not set 175# CONFIG_ARCH_S3C64XX is not set
176# CONFIG_ARCH_S5PC1XX is not set
167# CONFIG_ARCH_SHARK is not set 177# CONFIG_ARCH_SHARK is not set
168# CONFIG_ARCH_LH7A40X is not set 178# CONFIG_ARCH_LH7A40X is not set
179# CONFIG_ARCH_U300 is not set
169# CONFIG_ARCH_DAVINCI is not set 180# CONFIG_ARCH_DAVINCI is not set
170# CONFIG_ARCH_OMAP is not set 181# CONFIG_ARCH_OMAP is not set
171# CONFIG_ARCH_MSM is not set 182# CONFIG_ARCH_BCMRING is not set
172# CONFIG_ARCH_W90X900 is not set
173 183
174# 184#
175# Orion Implementations 185# Orion Implementations
@@ -187,6 +197,9 @@ CONFIG_MACH_WRT350N_V2=y
187CONFIG_MACH_TS78XX=y 197CONFIG_MACH_TS78XX=y
188CONFIG_MACH_MV2120=y 198CONFIG_MACH_MV2120=y
189CONFIG_MACH_EDMINI_V2=y 199CONFIG_MACH_EDMINI_V2=y
200CONFIG_MACH_D2NET=y
201CONFIG_MACH_BIGDISK=y
202CONFIG_MACH_NET2BIG=y
190CONFIG_MACH_MSS2=y 203CONFIG_MACH_MSS2=y
191CONFIG_MACH_WNR854T=y 204CONFIG_MACH_WNR854T=y
192CONFIG_MACH_RD88F5181L_GE=y 205CONFIG_MACH_RD88F5181L_GE=y
@@ -202,7 +215,7 @@ CONFIG_CPU_FEROCEON=y
202CONFIG_CPU_FEROCEON_OLD_ID=y 215CONFIG_CPU_FEROCEON_OLD_ID=y
203CONFIG_CPU_32v5=y 216CONFIG_CPU_32v5=y
204CONFIG_CPU_ABRT_EV5T=y 217CONFIG_CPU_ABRT_EV5T=y
205CONFIG_CPU_PABRT_NOIFAR=y 218CONFIG_CPU_PABRT_LEGACY=y
206CONFIG_CPU_CACHE_VIVT=y 219CONFIG_CPU_CACHE_VIVT=y
207CONFIG_CPU_COPY_FEROCEON=y 220CONFIG_CPU_COPY_FEROCEON=y
208CONFIG_CPU_TLB_FEROCEON=y 221CONFIG_CPU_TLB_FEROCEON=y
@@ -215,7 +228,7 @@ CONFIG_CPU_CP15_MMU=y
215CONFIG_ARM_THUMB=y 228CONFIG_ARM_THUMB=y
216# CONFIG_CPU_ICACHE_DISABLE is not set 229# CONFIG_CPU_ICACHE_DISABLE is not set
217# CONFIG_CPU_DCACHE_DISABLE is not set 230# CONFIG_CPU_DCACHE_DISABLE is not set
218# CONFIG_OUTER_CACHE is not set 231CONFIG_ARM_L1_CACHE_SHIFT=5
219 232
220# 233#
221# Bus support 234# Bus support
@@ -240,11 +253,12 @@ CONFIG_VMSPLIT_3G=y
240# CONFIG_VMSPLIT_2G is not set 253# CONFIG_VMSPLIT_2G is not set
241# CONFIG_VMSPLIT_1G is not set 254# CONFIG_VMSPLIT_1G is not set
242CONFIG_PAGE_OFFSET=0xC0000000 255CONFIG_PAGE_OFFSET=0xC0000000
256# CONFIG_PREEMPT_NONE is not set
257# CONFIG_PREEMPT_VOLUNTARY is not set
243CONFIG_PREEMPT=y 258CONFIG_PREEMPT=y
244CONFIG_HZ=100 259CONFIG_HZ=100
245CONFIG_AEABI=y 260CONFIG_AEABI=y
246CONFIG_OABI_COMPAT=y 261CONFIG_OABI_COMPAT=y
247CONFIG_ARCH_FLATMEM_HAS_HOLES=y
248# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set 262# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
249# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set 263# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
250# CONFIG_HIGHMEM is not set 264# CONFIG_HIGHMEM is not set
@@ -259,12 +273,14 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096
259# CONFIG_PHYS_ADDR_T_64BIT is not set 273# CONFIG_PHYS_ADDR_T_64BIT is not set
260CONFIG_ZONE_DMA_FLAG=0 274CONFIG_ZONE_DMA_FLAG=0
261CONFIG_VIRT_TO_BUS=y 275CONFIG_VIRT_TO_BUS=y
262CONFIG_UNEVICTABLE_LRU=y
263CONFIG_HAVE_MLOCK=y 276CONFIG_HAVE_MLOCK=y
264CONFIG_HAVE_MLOCKED_PAGE_BIT=y 277CONFIG_HAVE_MLOCKED_PAGE_BIT=y
278# CONFIG_KSM is not set
279CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
265CONFIG_LEDS=y 280CONFIG_LEDS=y
266CONFIG_LEDS_CPU=y 281CONFIG_LEDS_CPU=y
267CONFIG_ALIGNMENT_TRAP=y 282CONFIG_ALIGNMENT_TRAP=y
283CONFIG_UACCESS_WITH_MEMCPY=y
268 284
269# 285#
270# Boot options 286# Boot options
@@ -308,6 +324,7 @@ CONFIG_PM=y
308# CONFIG_PM_DEBUG is not set 324# CONFIG_PM_DEBUG is not set
309# CONFIG_SUSPEND is not set 325# CONFIG_SUSPEND is not set
310# CONFIG_APM_EMULATION is not set 326# CONFIG_APM_EMULATION is not set
327# CONFIG_PM_RUNTIME is not set
311CONFIG_ARCH_SUSPEND_POSSIBLE=y 328CONFIG_ARCH_SUSPEND_POSSIBLE=y
312CONFIG_NET=y 329CONFIG_NET=y
313 330
@@ -356,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
356# CONFIG_NETFILTER is not set 373# CONFIG_NETFILTER is not set
357# CONFIG_IP_DCCP is not set 374# CONFIG_IP_DCCP is not set
358# CONFIG_IP_SCTP is not set 375# CONFIG_IP_SCTP is not set
376# CONFIG_RDS is not set
359# CONFIG_TIPC is not set 377# CONFIG_TIPC is not set
360# CONFIG_ATM is not set 378# CONFIG_ATM is not set
361# CONFIG_BRIDGE is not set 379# CONFIG_BRIDGE is not set
@@ -378,6 +396,7 @@ CONFIG_NET_DSA_MV88E6123_61_65=y
378# CONFIG_ECONET is not set 396# CONFIG_ECONET is not set
379# CONFIG_WAN_ROUTER is not set 397# CONFIG_WAN_ROUTER is not set
380# CONFIG_PHONET is not set 398# CONFIG_PHONET is not set
399# CONFIG_IEEE802154 is not set
381# CONFIG_NET_SCHED is not set 400# CONFIG_NET_SCHED is not set
382# CONFIG_DCB is not set 401# CONFIG_DCB is not set
383 402
@@ -394,11 +413,15 @@ CONFIG_NET_PKTGEN=m
394# CONFIG_AF_RXRPC is not set 413# CONFIG_AF_RXRPC is not set
395CONFIG_WIRELESS=y 414CONFIG_WIRELESS=y
396# CONFIG_CFG80211 is not set 415# CONFIG_CFG80211 is not set
416CONFIG_CFG80211_DEFAULT_PS_VALUE=0
397# CONFIG_WIRELESS_OLD_REGULATORY is not set 417# CONFIG_WIRELESS_OLD_REGULATORY is not set
398CONFIG_WIRELESS_EXT=y 418CONFIG_WIRELESS_EXT=y
399CONFIG_WIRELESS_EXT_SYSFS=y 419CONFIG_WIRELESS_EXT_SYSFS=y
400# CONFIG_LIB80211 is not set 420# CONFIG_LIB80211 is not set
401# CONFIG_MAC80211 is not set 421
422#
423# CFG80211 needs to be enabled for MAC80211
424#
402# CONFIG_WIMAX is not set 425# CONFIG_WIMAX is not set
403# CONFIG_RFKILL is not set 426# CONFIG_RFKILL is not set
404# CONFIG_NET_9P is not set 427# CONFIG_NET_9P is not set
@@ -411,6 +434,7 @@ CONFIG_WIRELESS_EXT_SYSFS=y
411# Generic Driver Options 434# Generic Driver Options
412# 435#
413CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 436CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
437# CONFIG_DEVTMPFS is not set
414CONFIG_STANDALONE=y 438CONFIG_STANDALONE=y
415CONFIG_PREVENT_FIRMWARE_BUILD=y 439CONFIG_PREVENT_FIRMWARE_BUILD=y
416CONFIG_FW_LOADER=y 440CONFIG_FW_LOADER=y
@@ -422,9 +446,9 @@ CONFIG_EXTRA_FIRMWARE=""
422# CONFIG_CONNECTOR is not set 446# CONFIG_CONNECTOR is not set
423CONFIG_MTD=y 447CONFIG_MTD=y
424# CONFIG_MTD_DEBUG is not set 448# CONFIG_MTD_DEBUG is not set
449# CONFIG_MTD_TESTS is not set
425# CONFIG_MTD_CONCAT is not set 450# CONFIG_MTD_CONCAT is not set
426CONFIG_MTD_PARTITIONS=y 451CONFIG_MTD_PARTITIONS=y
427# CONFIG_MTD_TESTS is not set
428# CONFIG_MTD_REDBOOT_PARTS is not set 452# CONFIG_MTD_REDBOOT_PARTS is not set
429CONFIG_MTD_CMDLINE_PARTS=y 453CONFIG_MTD_CMDLINE_PARTS=y
430# CONFIG_MTD_AFS_PARTS is not set 454# CONFIG_MTD_AFS_PARTS is not set
@@ -537,6 +561,7 @@ CONFIG_BLK_DEV_LOOP=y
537# CONFIG_BLK_DEV_RAM is not set 561# CONFIG_BLK_DEV_RAM is not set
538# CONFIG_CDROM_PKTCDVD is not set 562# CONFIG_CDROM_PKTCDVD is not set
539# CONFIG_ATA_OVER_ETH is not set 563# CONFIG_ATA_OVER_ETH is not set
564# CONFIG_MG_DISK is not set
540CONFIG_MISC_DEVICES=y 565CONFIG_MISC_DEVICES=y
541# CONFIG_PHANTOM is not set 566# CONFIG_PHANTOM is not set
542# CONFIG_SGI_IOC4 is not set 567# CONFIG_SGI_IOC4 is not set
@@ -552,7 +577,9 @@ CONFIG_MISC_DEVICES=y
552# 577#
553# CONFIG_EEPROM_AT24 is not set 578# CONFIG_EEPROM_AT24 is not set
554# CONFIG_EEPROM_LEGACY is not set 579# CONFIG_EEPROM_LEGACY is not set
580# CONFIG_EEPROM_MAX6875 is not set
555# CONFIG_EEPROM_93CX6 is not set 581# CONFIG_EEPROM_93CX6 is not set
582# CONFIG_CB710_CORE is not set
556CONFIG_HAVE_IDE=y 583CONFIG_HAVE_IDE=y
557# CONFIG_IDE is not set 584# CONFIG_IDE is not set
558 585
@@ -576,10 +603,6 @@ CONFIG_BLK_DEV_SR=m
576# CONFIG_BLK_DEV_SR_VENDOR is not set 603# CONFIG_BLK_DEV_SR_VENDOR is not set
577CONFIG_CHR_DEV_SG=m 604CONFIG_CHR_DEV_SG=m
578# CONFIG_CHR_DEV_SCH is not set 605# CONFIG_CHR_DEV_SCH is not set
579
580#
581# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
582#
583# CONFIG_SCSI_MULTI_LUN is not set 606# CONFIG_SCSI_MULTI_LUN is not set
584# CONFIG_SCSI_CONSTANTS is not set 607# CONFIG_SCSI_CONSTANTS is not set
585# CONFIG_SCSI_LOGGING is not set 608# CONFIG_SCSI_LOGGING is not set
@@ -596,6 +619,8 @@ CONFIG_SCSI_WAIT_SCAN=m
596# CONFIG_SCSI_SRP_ATTRS is not set 619# CONFIG_SCSI_SRP_ATTRS is not set
597CONFIG_SCSI_LOWLEVEL=y 620CONFIG_SCSI_LOWLEVEL=y
598# CONFIG_ISCSI_TCP is not set 621# CONFIG_ISCSI_TCP is not set
622# CONFIG_SCSI_BNX2_ISCSI is not set
623# CONFIG_BE2ISCSI is not set
599# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 624# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
600# CONFIG_SCSI_3W_9XXX is not set 625# CONFIG_SCSI_3W_9XXX is not set
601# CONFIG_SCSI_ACARD is not set 626# CONFIG_SCSI_ACARD is not set
@@ -604,6 +629,7 @@ CONFIG_SCSI_LOWLEVEL=y
604# CONFIG_SCSI_AIC7XXX_OLD is not set 629# CONFIG_SCSI_AIC7XXX_OLD is not set
605# CONFIG_SCSI_AIC79XX is not set 630# CONFIG_SCSI_AIC79XX is not set
606# CONFIG_SCSI_AIC94XX is not set 631# CONFIG_SCSI_AIC94XX is not set
632# CONFIG_SCSI_MVSAS is not set
607# CONFIG_SCSI_DPT_I2O is not set 633# CONFIG_SCSI_DPT_I2O is not set
608# CONFIG_SCSI_ADVANSYS is not set 634# CONFIG_SCSI_ADVANSYS is not set
609# CONFIG_SCSI_ARCMSR is not set 635# CONFIG_SCSI_ARCMSR is not set
@@ -620,7 +646,6 @@ CONFIG_SCSI_LOWLEVEL=y
620# CONFIG_SCSI_IPS is not set 646# CONFIG_SCSI_IPS is not set
621# CONFIG_SCSI_INITIO is not set 647# CONFIG_SCSI_INITIO is not set
622# CONFIG_SCSI_INIA100 is not set 648# CONFIG_SCSI_INIA100 is not set
623# CONFIG_SCSI_MVSAS is not set
624# CONFIG_SCSI_STEX is not set 649# CONFIG_SCSI_STEX is not set
625# CONFIG_SCSI_SYM53C8XX_2 is not set 650# CONFIG_SCSI_SYM53C8XX_2 is not set
626# CONFIG_SCSI_IPR is not set 651# CONFIG_SCSI_IPR is not set
@@ -632,11 +657,14 @@ CONFIG_SCSI_LOWLEVEL=y
632# CONFIG_SCSI_DC390T is not set 657# CONFIG_SCSI_DC390T is not set
633# CONFIG_SCSI_NSP32 is not set 658# CONFIG_SCSI_NSP32 is not set
634# CONFIG_SCSI_DEBUG is not set 659# CONFIG_SCSI_DEBUG is not set
660# CONFIG_SCSI_PMCRAID is not set
635# CONFIG_SCSI_SRP is not set 661# CONFIG_SCSI_SRP is not set
662# CONFIG_SCSI_BFA_FC is not set
636# CONFIG_SCSI_DH is not set 663# CONFIG_SCSI_DH is not set
637# CONFIG_SCSI_OSD_INITIATOR is not set 664# CONFIG_SCSI_OSD_INITIATOR is not set
638CONFIG_ATA=y 665CONFIG_ATA=y
639# CONFIG_ATA_NONSTANDARD is not set 666# CONFIG_ATA_NONSTANDARD is not set
667CONFIG_ATA_VERBOSE_ERROR=y
640CONFIG_SATA_PMP=y 668CONFIG_SATA_PMP=y
641# CONFIG_SATA_AHCI is not set 669# CONFIG_SATA_AHCI is not set
642# CONFIG_SATA_SIL24 is not set 670# CONFIG_SATA_SIL24 is not set
@@ -658,6 +686,7 @@ CONFIG_SATA_MV=y
658# CONFIG_PATA_ALI is not set 686# CONFIG_PATA_ALI is not set
659# CONFIG_PATA_AMD is not set 687# CONFIG_PATA_AMD is not set
660# CONFIG_PATA_ARTOP is not set 688# CONFIG_PATA_ARTOP is not set
689# CONFIG_PATA_ATP867X is not set
661# CONFIG_PATA_ATIIXP is not set 690# CONFIG_PATA_ATIIXP is not set
662# CONFIG_PATA_CMD640_PCI is not set 691# CONFIG_PATA_CMD640_PCI is not set
663# CONFIG_PATA_CMD64X is not set 692# CONFIG_PATA_CMD64X is not set
@@ -685,6 +714,7 @@ CONFIG_SATA_MV=y
685# CONFIG_PATA_OPTIDMA is not set 714# CONFIG_PATA_OPTIDMA is not set
686# CONFIG_PATA_PDC_OLD is not set 715# CONFIG_PATA_PDC_OLD is not set
687# CONFIG_PATA_RADISYS is not set 716# CONFIG_PATA_RADISYS is not set
717# CONFIG_PATA_RDC is not set
688# CONFIG_PATA_RZ1000 is not set 718# CONFIG_PATA_RZ1000 is not set
689# CONFIG_PATA_SC1200 is not set 719# CONFIG_PATA_SC1200 is not set
690# CONFIG_PATA_SERVERWORKS is not set 720# CONFIG_PATA_SERVERWORKS is not set
@@ -703,13 +733,16 @@ CONFIG_SATA_MV=y
703# 733#
704 734
705# 735#
706# Enable only one of the two stacks, unless you know what you are doing 736# You can enable one or both FireWire driver stacks.
737#
738
739#
740# See the help texts for more information.
707# 741#
708# CONFIG_FIREWIRE is not set 742# CONFIG_FIREWIRE is not set
709# CONFIG_IEEE1394 is not set 743# CONFIG_IEEE1394 is not set
710# CONFIG_I2O is not set 744# CONFIG_I2O is not set
711CONFIG_NETDEVICES=y 745CONFIG_NETDEVICES=y
712CONFIG_COMPAT_NET_DEV_OPS=y
713# CONFIG_DUMMY is not set 746# CONFIG_DUMMY is not set
714# CONFIG_BONDING is not set 747# CONFIG_BONDING is not set
715# CONFIG_MACVLAN is not set 748# CONFIG_MACVLAN is not set
@@ -777,6 +810,8 @@ CONFIG_NET_PCI=y
777# CONFIG_SMSC9420 is not set 810# CONFIG_SMSC9420 is not set
778# CONFIG_SUNDANCE is not set 811# CONFIG_SUNDANCE is not set
779# CONFIG_TLAN is not set 812# CONFIG_TLAN is not set
813# CONFIG_KS8842 is not set
814# CONFIG_KS8851_MLL is not set
780# CONFIG_VIA_RHINE is not set 815# CONFIG_VIA_RHINE is not set
781# CONFIG_SC92031 is not set 816# CONFIG_SC92031 is not set
782# CONFIG_ATL2 is not set 817# CONFIG_ATL2 is not set
@@ -798,6 +833,7 @@ CONFIG_NETDEV_1000=y
798# CONFIG_VIA_VELOCITY is not set 833# CONFIG_VIA_VELOCITY is not set
799# CONFIG_TIGON3 is not set 834# CONFIG_TIGON3 is not set
800# CONFIG_BNX2 is not set 835# CONFIG_BNX2 is not set
836# CONFIG_CNIC is not set
801CONFIG_MV643XX_ETH=y 837CONFIG_MV643XX_ETH=y
802# CONFIG_QLA3XXX is not set 838# CONFIG_QLA3XXX is not set
803# CONFIG_ATL1 is not set 839# CONFIG_ATL1 is not set
@@ -806,10 +842,7 @@ CONFIG_MV643XX_ETH=y
806# CONFIG_JME is not set 842# CONFIG_JME is not set
807# CONFIG_NETDEV_10000 is not set 843# CONFIG_NETDEV_10000 is not set
808# CONFIG_TR is not set 844# CONFIG_TR is not set
809 845CONFIG_WLAN=y
810#
811# Wireless LAN
812#
813# CONFIG_WLAN_PRE80211 is not set 846# CONFIG_WLAN_PRE80211 is not set
814# CONFIG_WLAN_80211 is not set 847# CONFIG_WLAN_80211 is not set
815 848
@@ -835,6 +868,7 @@ CONFIG_MV643XX_ETH=y
835# CONFIG_NETPOLL is not set 868# CONFIG_NETPOLL is not set
836# CONFIG_NET_POLL_CONTROLLER is not set 869# CONFIG_NET_POLL_CONTROLLER is not set
837# CONFIG_ISDN is not set 870# CONFIG_ISDN is not set
871# CONFIG_PHONE is not set
838 872
839# 873#
840# Input device support 874# Input device support
@@ -855,13 +889,19 @@ CONFIG_INPUT_EVDEV=y
855# Input Device Drivers 889# Input Device Drivers
856# 890#
857CONFIG_INPUT_KEYBOARD=y 891CONFIG_INPUT_KEYBOARD=y
892# CONFIG_KEYBOARD_ADP5588 is not set
858# CONFIG_KEYBOARD_ATKBD is not set 893# CONFIG_KEYBOARD_ATKBD is not set
859# CONFIG_KEYBOARD_SUNKBD is not set 894# CONFIG_QT2160 is not set
860# CONFIG_KEYBOARD_LKKBD is not set 895# CONFIG_KEYBOARD_LKKBD is not set
861# CONFIG_KEYBOARD_XTKBD is not set 896CONFIG_KEYBOARD_GPIO=y
897# CONFIG_KEYBOARD_MATRIX is not set
898# CONFIG_KEYBOARD_LM8323 is not set
899# CONFIG_KEYBOARD_MAX7359 is not set
862# CONFIG_KEYBOARD_NEWTON is not set 900# CONFIG_KEYBOARD_NEWTON is not set
901# CONFIG_KEYBOARD_OPENCORES is not set
863# CONFIG_KEYBOARD_STOWAWAY is not set 902# CONFIG_KEYBOARD_STOWAWAY is not set
864CONFIG_KEYBOARD_GPIO=y 903# CONFIG_KEYBOARD_SUNKBD is not set
904# CONFIG_KEYBOARD_XTKBD is not set
865# CONFIG_INPUT_MOUSE is not set 905# CONFIG_INPUT_MOUSE is not set
866# CONFIG_INPUT_JOYSTICK is not set 906# CONFIG_INPUT_JOYSTICK is not set
867# CONFIG_INPUT_TABLET is not set 907# CONFIG_INPUT_TABLET is not set
@@ -912,6 +952,7 @@ CONFIG_HW_RANDOM_TIMERIOMEM=m
912CONFIG_DEVPORT=y 952CONFIG_DEVPORT=y
913CONFIG_I2C=y 953CONFIG_I2C=y
914CONFIG_I2C_BOARDINFO=y 954CONFIG_I2C_BOARDINFO=y
955# CONFIG_I2C_COMPAT is not set
915CONFIG_I2C_CHARDEV=y 956CONFIG_I2C_CHARDEV=y
916CONFIG_I2C_HELPER_AUTO=y 957CONFIG_I2C_HELPER_AUTO=y
917 958
@@ -967,20 +1008,55 @@ CONFIG_I2C_MV64XXX=y
967# Miscellaneous I2C Chip support 1008# Miscellaneous I2C Chip support
968# 1009#
969# CONFIG_DS1682 is not set 1010# CONFIG_DS1682 is not set
970# CONFIG_SENSORS_PCF8574 is not set
971# CONFIG_PCF8575 is not set
972# CONFIG_SENSORS_PCA9539 is not set
973# CONFIG_SENSORS_MAX6875 is not set
974# CONFIG_SENSORS_TSL2550 is not set 1011# CONFIG_SENSORS_TSL2550 is not set
975# CONFIG_I2C_DEBUG_CORE is not set 1012# CONFIG_I2C_DEBUG_CORE is not set
976# CONFIG_I2C_DEBUG_ALGO is not set 1013# CONFIG_I2C_DEBUG_ALGO is not set
977# CONFIG_I2C_DEBUG_BUS is not set 1014# CONFIG_I2C_DEBUG_BUS is not set
978# CONFIG_I2C_DEBUG_CHIP is not set 1015# CONFIG_I2C_DEBUG_CHIP is not set
979# CONFIG_SPI is not set 1016# CONFIG_SPI is not set
1017
1018#
1019# PPS support
1020#
1021# CONFIG_PPS is not set
1022CONFIG_ARCH_REQUIRE_GPIOLIB=y
1023CONFIG_GPIOLIB=y
1024# CONFIG_DEBUG_GPIO is not set
1025CONFIG_GPIO_SYSFS=y
1026
1027#
1028# Memory mapped GPIO expanders:
1029#
1030
1031#
1032# I2C GPIO expanders:
1033#
1034# CONFIG_GPIO_MAX732X is not set
1035# CONFIG_GPIO_PCA953X is not set
1036# CONFIG_GPIO_PCF857X is not set
1037
1038#
1039# PCI GPIO expanders:
1040#
1041# CONFIG_GPIO_BT8XX is not set
1042# CONFIG_GPIO_LANGWELL is not set
1043
1044#
1045# SPI GPIO expanders:
1046#
1047
1048#
1049# AC97 GPIO expanders:
1050#
980# CONFIG_W1 is not set 1051# CONFIG_W1 is not set
981# CONFIG_POWER_SUPPLY is not set 1052# CONFIG_POWER_SUPPLY is not set
982CONFIG_HWMON=y 1053CONFIG_HWMON=y
983# CONFIG_HWMON_VID is not set 1054# CONFIG_HWMON_VID is not set
1055# CONFIG_HWMON_DEBUG_CHIP is not set
1056
1057#
1058# Native drivers
1059#
984# CONFIG_SENSORS_AD7414 is not set 1060# CONFIG_SENSORS_AD7414 is not set
985# CONFIG_SENSORS_AD7418 is not set 1061# CONFIG_SENSORS_AD7418 is not set
986# CONFIG_SENSORS_ADM1021 is not set 1062# CONFIG_SENSORS_ADM1021 is not set
@@ -1030,6 +1106,8 @@ CONFIG_SENSORS_LM75=y
1030# CONFIG_SENSORS_SMSC47B397 is not set 1106# CONFIG_SENSORS_SMSC47B397 is not set
1031# CONFIG_SENSORS_ADS7828 is not set 1107# CONFIG_SENSORS_ADS7828 is not set
1032# CONFIG_SENSORS_THMC50 is not set 1108# CONFIG_SENSORS_THMC50 is not set
1109# CONFIG_SENSORS_TMP401 is not set
1110# CONFIG_SENSORS_TMP421 is not set
1033# CONFIG_SENSORS_VIA686A is not set 1111# CONFIG_SENSORS_VIA686A is not set
1034# CONFIG_SENSORS_VT1211 is not set 1112# CONFIG_SENSORS_VT1211 is not set
1035# CONFIG_SENSORS_VT8231 is not set 1113# CONFIG_SENSORS_VT8231 is not set
@@ -1041,9 +1119,7 @@ CONFIG_SENSORS_LM75=y
1041# CONFIG_SENSORS_W83L786NG is not set 1119# CONFIG_SENSORS_W83L786NG is not set
1042# CONFIG_SENSORS_W83627HF is not set 1120# CONFIG_SENSORS_W83627HF is not set
1043# CONFIG_SENSORS_W83627EHF is not set 1121# CONFIG_SENSORS_W83627EHF is not set
1044# CONFIG_HWMON_DEBUG_CHIP is not set
1045# CONFIG_THERMAL is not set 1122# CONFIG_THERMAL is not set
1046# CONFIG_THERMAL_HWMON is not set
1047# CONFIG_WATCHDOG is not set 1123# CONFIG_WATCHDOG is not set
1048CONFIG_SSB_POSSIBLE=y 1124CONFIG_SSB_POSSIBLE=y
1049 1125
@@ -1057,33 +1133,26 @@ CONFIG_SSB_POSSIBLE=y
1057# 1133#
1058# CONFIG_MFD_CORE is not set 1134# CONFIG_MFD_CORE is not set
1059# CONFIG_MFD_SM501 is not set 1135# CONFIG_MFD_SM501 is not set
1136# CONFIG_MFD_ASIC3 is not set
1137# CONFIG_HTC_EGPIO is not set
1060# CONFIG_HTC_PASIC3 is not set 1138# CONFIG_HTC_PASIC3 is not set
1139# CONFIG_TPS65010 is not set
1061# CONFIG_TWL4030_CORE is not set 1140# CONFIG_TWL4030_CORE is not set
1062# CONFIG_MFD_TMIO is not set 1141# CONFIG_MFD_TMIO is not set
1142# CONFIG_MFD_TC6393XB is not set
1063# CONFIG_PMIC_DA903X is not set 1143# CONFIG_PMIC_DA903X is not set
1064# CONFIG_MFD_WM8400 is not set 1144# CONFIG_MFD_WM8400 is not set
1145# CONFIG_MFD_WM831X is not set
1065# CONFIG_MFD_WM8350_I2C is not set 1146# CONFIG_MFD_WM8350_I2C is not set
1066# CONFIG_MFD_PCF50633 is not set 1147# CONFIG_MFD_PCF50633 is not set
1067 1148# CONFIG_AB3100_CORE is not set
1068# 1149# CONFIG_REGULATOR is not set
1069# Multimedia devices 1150# CONFIG_MEDIA_SUPPORT is not set
1070#
1071
1072#
1073# Multimedia core support
1074#
1075# CONFIG_VIDEO_DEV is not set
1076# CONFIG_DVB_CORE is not set
1077# CONFIG_VIDEO_MEDIA is not set
1078
1079#
1080# Multimedia drivers
1081#
1082# CONFIG_DAB is not set
1083 1151
1084# 1152#
1085# Graphics support 1153# Graphics support
1086# 1154#
1155# CONFIG_VGA_ARB is not set
1087# CONFIG_DRM is not set 1156# CONFIG_DRM is not set
1088# CONFIG_VGASTATE is not set 1157# CONFIG_VGASTATE is not set
1089# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1158# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1097,7 +1166,6 @@ CONFIG_SSB_POSSIBLE=y
1097# CONFIG_SOUND is not set 1166# CONFIG_SOUND is not set
1098CONFIG_HID_SUPPORT=y 1167CONFIG_HID_SUPPORT=y
1099CONFIG_HID=y 1168CONFIG_HID=y
1100# CONFIG_HID_DEBUG is not set
1101# CONFIG_HIDRAW is not set 1169# CONFIG_HIDRAW is not set
1102 1170
1103# 1171#
@@ -1116,10 +1184,11 @@ CONFIG_USB_HID=y
1116# CONFIG_HID_CHERRY is not set 1184# CONFIG_HID_CHERRY is not set
1117# CONFIG_HID_CHICONY is not set 1185# CONFIG_HID_CHICONY is not set
1118# CONFIG_HID_CYPRESS is not set 1186# CONFIG_HID_CYPRESS is not set
1119# CONFIG_DRAGONRISE_FF is not set 1187# CONFIG_HID_DRAGONRISE is not set
1120# CONFIG_HID_EZKEY is not set 1188# CONFIG_HID_EZKEY is not set
1121# CONFIG_HID_KYE is not set 1189# CONFIG_HID_KYE is not set
1122# CONFIG_HID_GYRATION is not set 1190# CONFIG_HID_GYRATION is not set
1191# CONFIG_HID_TWINHAN is not set
1123# CONFIG_HID_KENSINGTON is not set 1192# CONFIG_HID_KENSINGTON is not set
1124# CONFIG_HID_LOGITECH is not set 1193# CONFIG_HID_LOGITECH is not set
1125# CONFIG_HID_MICROSOFT is not set 1194# CONFIG_HID_MICROSOFT is not set
@@ -1130,10 +1199,11 @@ CONFIG_USB_HID=y
1130# CONFIG_HID_SAMSUNG is not set 1199# CONFIG_HID_SAMSUNG is not set
1131# CONFIG_HID_SONY is not set 1200# CONFIG_HID_SONY is not set
1132# CONFIG_HID_SUNPLUS is not set 1201# CONFIG_HID_SUNPLUS is not set
1133# CONFIG_GREENASIA_FF is not set 1202# CONFIG_HID_GREENASIA is not set
1203# CONFIG_HID_SMARTJOYPLUS is not set
1134# CONFIG_HID_TOPSEED is not set 1204# CONFIG_HID_TOPSEED is not set
1135# CONFIG_THRUSTMASTER_FF is not set 1205# CONFIG_HID_THRUSTMASTER is not set
1136# CONFIG_ZEROPLUS_FF is not set 1206# CONFIG_HID_ZEROPLUS is not set
1137CONFIG_USB_SUPPORT=y 1207CONFIG_USB_SUPPORT=y
1138CONFIG_USB_ARCH_HAS_HCD=y 1208CONFIG_USB_ARCH_HAS_HCD=y
1139CONFIG_USB_ARCH_HAS_OHCI=y 1209CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1160,18 +1230,21 @@ CONFIG_USB_DEVICE_CLASS=y
1160# USB Host Controller Drivers 1230# USB Host Controller Drivers
1161# 1231#
1162# CONFIG_USB_C67X00_HCD is not set 1232# CONFIG_USB_C67X00_HCD is not set
1233# CONFIG_USB_XHCI_HCD is not set
1163CONFIG_USB_EHCI_HCD=y 1234CONFIG_USB_EHCI_HCD=y
1164CONFIG_USB_EHCI_ROOT_HUB_TT=y 1235CONFIG_USB_EHCI_ROOT_HUB_TT=y
1165CONFIG_USB_EHCI_TT_NEWSCHED=y 1236CONFIG_USB_EHCI_TT_NEWSCHED=y
1166# CONFIG_USB_OXU210HP_HCD is not set 1237# CONFIG_USB_OXU210HP_HCD is not set
1167# CONFIG_USB_ISP116X_HCD is not set 1238# CONFIG_USB_ISP116X_HCD is not set
1168# CONFIG_USB_ISP1760_HCD is not set 1239# CONFIG_USB_ISP1760_HCD is not set
1240# CONFIG_USB_ISP1362_HCD is not set
1169# CONFIG_USB_OHCI_HCD is not set 1241# CONFIG_USB_OHCI_HCD is not set
1170# CONFIG_USB_UHCI_HCD is not set 1242# CONFIG_USB_UHCI_HCD is not set
1171# CONFIG_USB_SL811_HCD is not set 1243# CONFIG_USB_SL811_HCD is not set
1172# CONFIG_USB_R8A66597_HCD is not set 1244# CONFIG_USB_R8A66597_HCD is not set
1173# CONFIG_USB_WHCI_HCD is not set 1245# CONFIG_USB_WHCI_HCD is not set
1174# CONFIG_USB_HWA_HCD is not set 1246# CONFIG_USB_HWA_HCD is not set
1247# CONFIG_USB_MUSB_HDRC is not set
1175 1248
1176# 1249#
1177# USB Device Class drivers 1250# USB Device Class drivers
@@ -1248,7 +1321,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1248# CONFIG_UWB is not set 1321# CONFIG_UWB is not set
1249# CONFIG_MMC is not set 1322# CONFIG_MMC is not set
1250# CONFIG_MEMSTICK is not set 1323# CONFIG_MEMSTICK is not set
1251# CONFIG_ACCESSIBILITY is not set
1252CONFIG_NEW_LEDS=y 1324CONFIG_NEW_LEDS=y
1253CONFIG_LEDS_CLASS=y 1325CONFIG_LEDS_CLASS=y
1254 1326
@@ -1258,7 +1330,7 @@ CONFIG_LEDS_CLASS=y
1258# CONFIG_LEDS_PCA9532 is not set 1330# CONFIG_LEDS_PCA9532 is not set
1259CONFIG_LEDS_GPIO=y 1331CONFIG_LEDS_GPIO=y
1260CONFIG_LEDS_GPIO_PLATFORM=y 1332CONFIG_LEDS_GPIO_PLATFORM=y
1261# CONFIG_LEDS_LP5521 is not set 1333# CONFIG_LEDS_LP3944 is not set
1262# CONFIG_LEDS_PCA955X is not set 1334# CONFIG_LEDS_PCA955X is not set
1263# CONFIG_LEDS_BD2802 is not set 1335# CONFIG_LEDS_BD2802 is not set
1264 1336
@@ -1269,11 +1341,14 @@ CONFIG_LEDS_TRIGGERS=y
1269CONFIG_LEDS_TRIGGER_TIMER=y 1341CONFIG_LEDS_TRIGGER_TIMER=y
1270CONFIG_LEDS_TRIGGER_HEARTBEAT=y 1342CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1271# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set 1343# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1344# CONFIG_LEDS_TRIGGER_GPIO is not set
1272CONFIG_LEDS_TRIGGER_DEFAULT_ON=y 1345CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1273 1346
1274# 1347#
1275# iptables trigger is under Netfilter config (LED target) 1348# iptables trigger is under Netfilter config (LED target)
1276# 1349#
1350# CONFIG_ACCESSIBILITY is not set
1351# CONFIG_INFINIBAND is not set
1277CONFIG_RTC_LIB=y 1352CONFIG_RTC_LIB=y
1278CONFIG_RTC_CLASS=y 1353CONFIG_RTC_CLASS=y
1279CONFIG_RTC_HCTOSYS=y 1354CONFIG_RTC_HCTOSYS=y
@@ -1306,6 +1381,7 @@ CONFIG_RTC_DRV_M41T80=y
1306CONFIG_RTC_DRV_S35390A=y 1381CONFIG_RTC_DRV_S35390A=y
1307# CONFIG_RTC_DRV_FM3130 is not set 1382# CONFIG_RTC_DRV_FM3130 is not set
1308# CONFIG_RTC_DRV_RX8581 is not set 1383# CONFIG_RTC_DRV_RX8581 is not set
1384# CONFIG_RTC_DRV_RX8025 is not set
1309 1385
1310# 1386#
1311# SPI RTC drivers 1387# SPI RTC drivers
@@ -1344,8 +1420,11 @@ CONFIG_DMA_ENGINE=y
1344# CONFIG_ASYNC_TX_DMA is not set 1420# CONFIG_ASYNC_TX_DMA is not set
1345# CONFIG_DMATEST is not set 1421# CONFIG_DMATEST is not set
1346# CONFIG_AUXDISPLAY is not set 1422# CONFIG_AUXDISPLAY is not set
1347# CONFIG_REGULATOR is not set
1348# CONFIG_UIO is not set 1423# CONFIG_UIO is not set
1424
1425#
1426# TI VLYNQ
1427#
1349# CONFIG_STAGING is not set 1428# CONFIG_STAGING is not set
1350 1429
1351# 1430#
@@ -1358,10 +1437,10 @@ CONFIG_EXT3_FS=y
1358# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 1437# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1359# CONFIG_EXT3_FS_XATTR is not set 1438# CONFIG_EXT3_FS_XATTR is not set
1360CONFIG_EXT4_FS=m 1439CONFIG_EXT4_FS=m
1361# CONFIG_EXT4DEV_COMPAT is not set
1362CONFIG_EXT4_FS_XATTR=y 1440CONFIG_EXT4_FS_XATTR=y
1363# CONFIG_EXT4_FS_POSIX_ACL is not set 1441# CONFIG_EXT4_FS_POSIX_ACL is not set
1364# CONFIG_EXT4_FS_SECURITY is not set 1442# CONFIG_EXT4_FS_SECURITY is not set
1443# CONFIG_EXT4_DEBUG is not set
1365CONFIG_JBD=y 1444CONFIG_JBD=y
1366# CONFIG_JBD_DEBUG is not set 1445# CONFIG_JBD_DEBUG is not set
1367CONFIG_JBD2=m 1446CONFIG_JBD2=m
@@ -1370,10 +1449,13 @@ CONFIG_FS_MBCACHE=m
1370# CONFIG_REISERFS_FS is not set 1449# CONFIG_REISERFS_FS is not set
1371# CONFIG_JFS_FS is not set 1450# CONFIG_JFS_FS is not set
1372# CONFIG_FS_POSIX_ACL is not set 1451# CONFIG_FS_POSIX_ACL is not set
1373CONFIG_FILE_LOCKING=y
1374# CONFIG_XFS_FS is not set 1452# CONFIG_XFS_FS is not set
1453# CONFIG_GFS2_FS is not set
1375# CONFIG_OCFS2_FS is not set 1454# CONFIG_OCFS2_FS is not set
1376# CONFIG_BTRFS_FS is not set 1455# CONFIG_BTRFS_FS is not set
1456# CONFIG_NILFS2_FS is not set
1457CONFIG_FILE_LOCKING=y
1458CONFIG_FSNOTIFY=y
1377CONFIG_DNOTIFY=y 1459CONFIG_DNOTIFY=y
1378CONFIG_INOTIFY=y 1460CONFIG_INOTIFY=y
1379CONFIG_INOTIFY_USER=y 1461CONFIG_INOTIFY_USER=y
@@ -1446,7 +1528,6 @@ CONFIG_CRAMFS=y
1446# CONFIG_ROMFS_FS is not set 1528# CONFIG_ROMFS_FS is not set
1447# CONFIG_SYSV_FS is not set 1529# CONFIG_SYSV_FS is not set
1448# CONFIG_UFS_FS is not set 1530# CONFIG_UFS_FS is not set
1449# CONFIG_NILFS2_FS is not set
1450CONFIG_NETWORK_FILESYSTEMS=y 1531CONFIG_NETWORK_FILESYSTEMS=y
1451CONFIG_NFS_FS=y 1532CONFIG_NFS_FS=y
1452CONFIG_NFS_V3=y 1533CONFIG_NFS_V3=y
@@ -1537,6 +1618,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1537CONFIG_ENABLE_MUST_CHECK=y 1618CONFIG_ENABLE_MUST_CHECK=y
1538CONFIG_FRAME_WARN=1024 1619CONFIG_FRAME_WARN=1024
1539CONFIG_MAGIC_SYSRQ=y 1620CONFIG_MAGIC_SYSRQ=y
1621# CONFIG_STRIP_ASM_SYMS is not set
1540# CONFIG_UNUSED_SYMBOLS is not set 1622# CONFIG_UNUSED_SYMBOLS is not set
1541CONFIG_DEBUG_FS=y 1623CONFIG_DEBUG_FS=y
1542# CONFIG_HEADERS_CHECK is not set 1624# CONFIG_HEADERS_CHECK is not set
@@ -1552,6 +1634,7 @@ CONFIG_SCHED_DEBUG=y
1552CONFIG_SCHEDSTATS=y 1634CONFIG_SCHEDSTATS=y
1553# CONFIG_TIMER_STATS is not set 1635# CONFIG_TIMER_STATS is not set
1554# CONFIG_DEBUG_OBJECTS is not set 1636# CONFIG_DEBUG_OBJECTS is not set
1637# CONFIG_DEBUG_KMEMLEAK is not set
1555CONFIG_DEBUG_PREEMPT=y 1638CONFIG_DEBUG_PREEMPT=y
1556# CONFIG_DEBUG_RT_MUTEXES is not set 1639# CONFIG_DEBUG_RT_MUTEXES is not set
1557# CONFIG_RT_MUTEX_TESTER is not set 1640# CONFIG_RT_MUTEX_TESTER is not set
@@ -1572,6 +1655,7 @@ CONFIG_DEBUG_INFO=y
1572# CONFIG_DEBUG_LIST is not set 1655# CONFIG_DEBUG_LIST is not set
1573# CONFIG_DEBUG_SG is not set 1656# CONFIG_DEBUG_SG is not set
1574# CONFIG_DEBUG_NOTIFIERS is not set 1657# CONFIG_DEBUG_NOTIFIERS is not set
1658# CONFIG_DEBUG_CREDENTIALS is not set
1575CONFIG_FRAME_POINTER=y 1659CONFIG_FRAME_POINTER=y
1576# CONFIG_BOOT_PRINTK_DELAY is not set 1660# CONFIG_BOOT_PRINTK_DELAY is not set
1577# CONFIG_RCU_TORTURE_TEST is not set 1661# CONFIG_RCU_TORTURE_TEST is not set
@@ -1579,6 +1663,7 @@ CONFIG_FRAME_POINTER=y
1579# CONFIG_KPROBES_SANITY_TEST is not set 1663# CONFIG_KPROBES_SANITY_TEST is not set
1580# CONFIG_BACKTRACE_SELF_TEST is not set 1664# CONFIG_BACKTRACE_SELF_TEST is not set
1581# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1665# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1666# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1582# CONFIG_LKDTM is not set 1667# CONFIG_LKDTM is not set
1583# CONFIG_FAULT_INJECTION is not set 1668# CONFIG_FAULT_INJECTION is not set
1584CONFIG_LATENCYTOP=y 1669CONFIG_LATENCYTOP=y
@@ -1587,25 +1672,12 @@ CONFIG_SYSCTL_SYSCALL_CHECK=y
1587CONFIG_NOP_TRACER=y 1672CONFIG_NOP_TRACER=y
1588CONFIG_HAVE_FUNCTION_TRACER=y 1673CONFIG_HAVE_FUNCTION_TRACER=y
1589CONFIG_RING_BUFFER=y 1674CONFIG_RING_BUFFER=y
1675CONFIG_EVENT_TRACING=y
1676CONFIG_CONTEXT_SWITCH_TRACER=y
1677CONFIG_RING_BUFFER_ALLOW_SWAP=y
1590CONFIG_TRACING=y 1678CONFIG_TRACING=y
1591CONFIG_TRACING_SUPPORT=y 1679CONFIG_TRACING_SUPPORT=y
1592 1680# CONFIG_FTRACE is not set
1593#
1594# Tracers
1595#
1596# CONFIG_FUNCTION_TRACER is not set
1597# CONFIG_IRQSOFF_TRACER is not set
1598# CONFIG_PREEMPT_TRACER is not set
1599# CONFIG_SCHED_TRACER is not set
1600# CONFIG_CONTEXT_SWITCH_TRACER is not set
1601# CONFIG_EVENT_TRACER is not set
1602# CONFIG_BOOT_TRACER is not set
1603# CONFIG_TRACE_BRANCH_PROFILING is not set
1604# CONFIG_STACK_TRACER is not set
1605# CONFIG_KMEMTRACE is not set
1606# CONFIG_WORKQUEUE_TRACER is not set
1607# CONFIG_BLK_DEV_IO_TRACE is not set
1608# CONFIG_FTRACE_STARTUP_TEST is not set
1609# CONFIG_DYNAMIC_DEBUG is not set 1681# CONFIG_DYNAMIC_DEBUG is not set
1610# CONFIG_SAMPLES is not set 1682# CONFIG_SAMPLES is not set
1611CONFIG_HAVE_ARCH_KGDB=y 1683CONFIG_HAVE_ARCH_KGDB=y
@@ -1629,20 +1701,19 @@ CONFIG_CRYPTO=y
1629# 1701#
1630# Crypto core or helper 1702# Crypto core or helper
1631# 1703#
1632# CONFIG_CRYPTO_FIPS is not set 1704CONFIG_CRYPTO_ALGAPI=y
1633CONFIG_CRYPTO_ALGAPI=m 1705CONFIG_CRYPTO_ALGAPI2=y
1634CONFIG_CRYPTO_ALGAPI2=m 1706CONFIG_CRYPTO_AEAD2=y
1635CONFIG_CRYPTO_AEAD2=m
1636CONFIG_CRYPTO_BLKCIPHER=m 1707CONFIG_CRYPTO_BLKCIPHER=m
1637CONFIG_CRYPTO_BLKCIPHER2=m 1708CONFIG_CRYPTO_BLKCIPHER2=y
1638CONFIG_CRYPTO_HASH2=m 1709CONFIG_CRYPTO_HASH2=y
1639CONFIG_CRYPTO_RNG2=m 1710CONFIG_CRYPTO_RNG2=y
1640CONFIG_CRYPTO_PCOMP=m 1711CONFIG_CRYPTO_PCOMP=y
1641CONFIG_CRYPTO_MANAGER=m 1712CONFIG_CRYPTO_MANAGER=m
1642CONFIG_CRYPTO_MANAGER2=m 1713CONFIG_CRYPTO_MANAGER2=y
1643# CONFIG_CRYPTO_GF128MUL is not set 1714# CONFIG_CRYPTO_GF128MUL is not set
1644# CONFIG_CRYPTO_NULL is not set 1715# CONFIG_CRYPTO_NULL is not set
1645CONFIG_CRYPTO_WORKQUEUE=m 1716CONFIG_CRYPTO_WORKQUEUE=y
1646# CONFIG_CRYPTO_CRYPTD is not set 1717# CONFIG_CRYPTO_CRYPTD is not set
1647# CONFIG_CRYPTO_AUTHENC is not set 1718# CONFIG_CRYPTO_AUTHENC is not set
1648# CONFIG_CRYPTO_TEST is not set 1719# CONFIG_CRYPTO_TEST is not set
@@ -1670,11 +1741,13 @@ CONFIG_CRYPTO_PCBC=m
1670# 1741#
1671# CONFIG_CRYPTO_HMAC is not set 1742# CONFIG_CRYPTO_HMAC is not set
1672# CONFIG_CRYPTO_XCBC is not set 1743# CONFIG_CRYPTO_XCBC is not set
1744# CONFIG_CRYPTO_VMAC is not set
1673 1745
1674# 1746#
1675# Digest 1747# Digest
1676# 1748#
1677# CONFIG_CRYPTO_CRC32C is not set 1749# CONFIG_CRYPTO_CRC32C is not set
1750# CONFIG_CRYPTO_GHASH is not set
1678# CONFIG_CRYPTO_MD4 is not set 1751# CONFIG_CRYPTO_MD4 is not set
1679# CONFIG_CRYPTO_MD5 is not set 1752# CONFIG_CRYPTO_MD5 is not set
1680# CONFIG_CRYPTO_MICHAEL_MIC is not set 1753# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1691,7 +1764,7 @@ CONFIG_CRYPTO_PCBC=m
1691# 1764#
1692# Ciphers 1765# Ciphers
1693# 1766#
1694# CONFIG_CRYPTO_AES is not set 1767CONFIG_CRYPTO_AES=y
1695# CONFIG_CRYPTO_ANUBIS is not set 1768# CONFIG_CRYPTO_ANUBIS is not set
1696# CONFIG_CRYPTO_ARC4 is not set 1769# CONFIG_CRYPTO_ARC4 is not set
1697# CONFIG_CRYPTO_BLOWFISH is not set 1770# CONFIG_CRYPTO_BLOWFISH is not set
@@ -1719,6 +1792,7 @@ CONFIG_CRYPTO_PCBC=m
1719# 1792#
1720# CONFIG_CRYPTO_ANSI_CPRNG is not set 1793# CONFIG_CRYPTO_ANSI_CPRNG is not set
1721CONFIG_CRYPTO_HW=y 1794CONFIG_CRYPTO_HW=y
1795CONFIG_CRYPTO_DEV_MV_CESA=y
1722# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1796# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1723CONFIG_BINARY_PRINTF=y 1797CONFIG_BINARY_PRINTF=y
1724 1798
diff --git a/arch/arm/include/asm/kmap_types.h b/arch/arm/include/asm/kmap_types.h
index d16ec97ec9a9..c019949a5189 100644
--- a/arch/arm/include/asm/kmap_types.h
+++ b/arch/arm/include/asm/kmap_types.h
@@ -22,4 +22,10 @@ enum km_type {
22 KM_TYPE_NR 22 KM_TYPE_NR
23}; 23};
24 24
25#ifdef CONFIG_DEBUG_HIGHMEM
26#define KM_NMI (-1)
27#define KM_NMI_PTE (-1)
28#define KM_IRQ_PTE (-1)
29#endif
30
25#endif 31#endif
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index 7020217fc49f..4e506d09e5f9 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -403,6 +403,15 @@
403#define __ARM_NR_set_tls (__ARM_NR_BASE+5) 403#define __ARM_NR_set_tls (__ARM_NR_BASE+5)
404 404
405/* 405/*
406 * *NOTE*: This is a ghost syscall private to the kernel. Only the
407 * __kuser_cmpxchg code in entry-armv.S should be aware of its
408 * existence. Don't ever use this from user code.
409 */
410#ifdef __KERNEL__
411#define __ARM_NR_cmpxchg (__ARM_NR_BASE+0x00fff0)
412#endif
413
414/*
406 * The following syscalls are obsolete and no longer available for EABI. 415 * The following syscalls are obsolete and no longer available for EABI.
407 */ 416 */
408#if defined(__ARM_EABI__) && !defined(__KERNEL__) 417#if defined(__ARM_EABI__) && !defined(__KERNEL__)
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 0022b4d57f8b..d2903e3bc861 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -21,6 +21,7 @@
21#include <mach/entry-macro.S> 21#include <mach/entry-macro.S>
22#include <asm/thread_notify.h> 22#include <asm/thread_notify.h>
23#include <asm/unwind.h> 23#include <asm/unwind.h>
24#include <asm/unistd.h>
24 25
25#include "entry-header.S" 26#include "entry-header.S"
26 27
@@ -908,10 +909,10 @@ __kuser_cmpxchg: @ 0xffff0fc0
908 * A special ghost syscall is used for that (see traps.c). 909 * A special ghost syscall is used for that (see traps.c).
909 */ 910 */
910 stmfd sp!, {r7, lr} 911 stmfd sp!, {r7, lr}
911 mov r7, #0xff00 @ 0xfff0 into r7 for EABI 912 ldr r7, =1f @ it's 20 bits
912 orr r7, r7, #0xf0 913 swi __ARM_NR_cmpxchg
913 swi #0x9ffff0
914 ldmfd sp!, {r7, pc} 914 ldmfd sp!, {r7, pc}
9151: .word __ARM_NR_cmpxchg
915 916
916#elif __LINUX_ARM_ARCH__ < 6 917#elif __LINUX_ARM_ARCH__ < 6
917 918
diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S
index 885a7214418d..b9505aa267c0 100644
--- a/arch/arm/kernel/head-common.S
+++ b/arch/arm/kernel/head-common.S
@@ -97,7 +97,7 @@ __error_a:
97 bl printhex8 97 bl printhex8
98 adr r0, str_a2 98 adr r0, str_a2
99 bl printascii 99 bl printascii
100 adr r3, 3f 100 adr r3, 4f
101 ldmia r3, {r4, r5, r6} @ get machine desc list 101 ldmia r3, {r4, r5, r6} @ get machine desc list
102 sub r4, r3, r4 @ get offset between virt&phys 102 sub r4, r3, r4 @ get offset between virt&phys
103 add r5, r5, r4 @ convert virt addresses to 103 add r5, r5, r4 @ convert virt addresses to
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index 2a573d4fea24..e7714f367eb8 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -662,8 +662,12 @@ static void do_signal(struct pt_regs *regs, int syscall)
662 regs->ARM_sp -= 4; 662 regs->ARM_sp -= 4;
663 usp = (u32 __user *)regs->ARM_sp; 663 usp = (u32 __user *)regs->ARM_sp;
664 664
665 put_user(regs->ARM_pc, usp); 665 if (put_user(regs->ARM_pc, usp) == 0) {
666 regs->ARM_pc = KERN_RESTART_CODE; 666 regs->ARM_pc = KERN_RESTART_CODE;
667 } else {
668 regs->ARM_sp += 4;
669 force_sigsegv(0, current);
670 }
667#endif 671#endif
668 } 672 }
669 } 673 }
diff --git a/arch/arm/kernel/smp_scu.c b/arch/arm/kernel/smp_scu.c
index d3831f616ee9..9ab4149bd983 100644
--- a/arch/arm/kernel/smp_scu.c
+++ b/arch/arm/kernel/smp_scu.c
@@ -37,6 +37,10 @@ void __init scu_enable(void __iomem *scu_base)
37 u32 scu_ctrl; 37 u32 scu_ctrl;
38 38
39 scu_ctrl = __raw_readl(scu_base + SCU_CTRL); 39 scu_ctrl = __raw_readl(scu_base + SCU_CTRL);
40 /* already enabled? */
41 if (scu_ctrl & 1)
42 return;
43
40 scu_ctrl |= 1; 44 scu_ctrl |= 1;
41 __raw_writel(scu_ctrl, scu_base + SCU_CTRL); 45 __raw_writel(scu_ctrl, scu_base + SCU_CTRL);
42 46
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 95718a6b50a6..3f361a783f43 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -528,7 +528,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
528 * __kuser_cmpxchg code in entry-armv.S should be aware of its 528 * __kuser_cmpxchg code in entry-armv.S should be aware of its
529 * existence. Don't ever use this from user code. 529 * existence. Don't ever use this from user code.
530 */ 530 */
531 case 0xfff0: 531 case NR(cmpxchg):
532 for (;;) { 532 for (;;) {
533 extern void do_DataAbort(unsigned long addr, unsigned int fsr, 533 extern void do_DataAbort(unsigned long addr, unsigned int fsr,
534 struct pt_regs *regs); 534 struct pt_regs *regs);
@@ -573,7 +573,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
573 if not implemented, rather than raising SIGILL. This 573 if not implemented, rather than raising SIGILL. This
574 way the calling program can gracefully determine whether 574 way the calling program can gracefully determine whether
575 a feature is supported. */ 575 a feature is supported. */
576 if (no <= 0x7ff) 576 if ((no & 0xffff) <= 0x7ff)
577 return -ENOSYS; 577 return -ENOSYS;
578 break; 578 break;
579 } 579 }
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index e35d54d43e70..2fd88437348b 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -289,13 +289,6 @@ config MACH_NEOCORE926
289 help 289 help
290 Select this if you are using the Adeneo Neocore 926 board. 290 Select this if you are using the Adeneo Neocore 926 board.
291 291
292config MACH_AT91SAM9G20EK_2MMC
293 bool "Atmel AT91SAM9G20-EK Evaluation Kit modified for 2 MMC Slots"
294 depends on ARCH_AT91SAM9G20
295 help
296 Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
297 Rev A or B modified for 2 MMC Slots.
298
299endif 292endif
300 293
301# ---------------------------------------------------------- 294# ----------------------------------------------------------
@@ -322,7 +315,16 @@ config MACH_AT91SAM9G20EK
322 bool "Atmel AT91SAM9G20-EK Evaluation Kit" 315 bool "Atmel AT91SAM9G20-EK Evaluation Kit"
323 depends on ARCH_AT91SAM9G20 316 depends on ARCH_AT91SAM9G20
324 help 317 help
325 Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit. 318 Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
319 that embeds only one SD/MMC slot.
320
321config MACH_AT91SAM9G20EK_2MMC
322 bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
323 depends on ARCH_AT91SAM9G20
324 help
325 Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
326 with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
327 onwards.
326 328
327config MACH_CPU9G20 329config MACH_CPU9G20
328 bool "Eukrea CPU9G20 board" 330 bool "Eukrea CPU9G20 board"
@@ -392,7 +394,7 @@ config MTD_AT91_DATAFLASH_CARD
392 394
393config MTD_NAND_ATMEL_BUSWIDTH_16 395config MTD_NAND_ATMEL_BUSWIDTH_16
394 bool "Enable 16-bit data bus interface to NAND flash" 396 bool "Enable 16-bit data bus interface to NAND flash"
395 depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK) 397 depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G20EK_2MMC || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK)
396 help 398 help
397 On AT91SAM926x boards both types of NAND flash can be present 399 On AT91SAM926x boards both types of NAND flash can be present
398 (8 and 16 bit data bus width). 400 (8 and 16 bit data bus width).
diff --git a/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c b/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c
index a28e53faf71d..a4102d72cc9b 100644
--- a/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c
+++ b/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c
@@ -90,7 +90,7 @@ static struct at91_udc_data __initdata ek_udc_data = {
90 * SPI devices. 90 * SPI devices.
91 */ 91 */
92static struct spi_board_info ek_spi_devices[] = { 92static struct spi_board_info ek_spi_devices[] = {
93#if !defined(CONFIG_MMC_ATMELMCI) 93#if !(defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_AT91))
94 { /* DataFlash chip */ 94 { /* DataFlash chip */
95 .modalias = "mtd_dataflash", 95 .modalias = "mtd_dataflash",
96 .chip_select = 1, 96 .chip_select = 1,
@@ -113,7 +113,7 @@ static struct spi_board_info ek_spi_devices[] = {
113 * MACB Ethernet device 113 * MACB Ethernet device
114 */ 114 */
115static struct at91_eth_data __initdata ek_macb_data = { 115static struct at91_eth_data __initdata ek_macb_data = {
116 .phy_irq_pin = AT91_PIN_PC12, 116 .phy_irq_pin = AT91_PIN_PB0,
117 .is_rmii = 1, 117 .is_rmii = 1,
118}; 118};
119 119
@@ -194,24 +194,27 @@ static void __init ek_add_device_nand(void)
194 194
195/* 195/*
196 * MCI (SD/MMC) 196 * MCI (SD/MMC)
197 * det_pin and wp_pin are not connected 197 * wp_pin is not connected
198 */ 198 */
199#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE) 199#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE)
200static struct mci_platform_data __initdata ek_mmc_data = { 200static struct mci_platform_data __initdata ek_mmc_data = {
201 .slot[0] = { 201 .slot[0] = {
202 .bus_width = 4, 202 .bus_width = 4,
203 .detect_pin = -ENODEV, 203 .detect_pin = AT91_PIN_PC2,
204 .wp_pin = -ENODEV, 204 .wp_pin = -ENODEV,
205 }, 205 },
206 .slot[1] = { 206 .slot[1] = {
207 .bus_width = 4, 207 .bus_width = 4,
208 .detect_pin = -ENODEV, 208 .detect_pin = AT91_PIN_PC9,
209 .wp_pin = -ENODEV, 209 .wp_pin = -ENODEV,
210 }, 210 },
211 211
212}; 212};
213#else 213#else
214static struct amci_platform_data __initdata ek_mmc_data = { 214static struct at91_mmc_data __initdata ek_mmc_data = {
215 .slot_b = 1, /* Only one slot so use slot B */
216 .wire4 = 1,
217 .det_pin = AT91_PIN_PC9,
215}; 218};
216#endif 219#endif
217 220
@@ -221,13 +224,13 @@ static struct amci_platform_data __initdata ek_mmc_data = {
221static struct gpio_led ek_leds[] = { 224static struct gpio_led ek_leds[] = {
222 { /* "bottom" led, green, userled1 to be defined */ 225 { /* "bottom" led, green, userled1 to be defined */
223 .name = "ds5", 226 .name = "ds5",
224 .gpio = AT91_PIN_PB12, 227 .gpio = AT91_PIN_PB8,
225 .active_low = 1, 228 .active_low = 1,
226 .default_trigger = "none", 229 .default_trigger = "none",
227 }, 230 },
228 { /* "power" led, yellow */ 231 { /* "power" led, yellow */
229 .name = "ds1", 232 .name = "ds1",
230 .gpio = AT91_PIN_PB13, 233 .gpio = AT91_PIN_PB9,
231 .default_trigger = "heartbeat", 234 .default_trigger = "heartbeat",
232 } 235 }
233}; 236};
@@ -254,7 +257,11 @@ static void __init ek_board_init(void)
254 /* Ethernet */ 257 /* Ethernet */
255 at91_add_device_eth(&ek_macb_data); 258 at91_add_device_eth(&ek_macb_data);
256 /* MMC */ 259 /* MMC */
260#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE)
257 at91_add_device_mci(0, &ek_mmc_data); 261 at91_add_device_mci(0, &ek_mmc_data);
262#else
263 at91_add_device_mmc(0, &ek_mmc_data);
264#endif
258 /* I2C */ 265 /* I2C */
259 at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices)); 266 at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
260 /* LEDs */ 267 /* LEDs */
diff --git a/arch/arm/mach-ep93xx/micro9.c b/arch/arm/mach-ep93xx/micro9.c
index d83b80478b09..f3757a1c5a10 100644
--- a/arch/arm/mach-ep93xx/micro9.c
+++ b/arch/arm/mach-ep93xx/micro9.c
@@ -15,6 +15,7 @@
15#include <linux/init.h> 15#include <linux/init.h>
16#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17#include <linux/mtd/physmap.h> 17#include <linux/mtd/physmap.h>
18#include <linux/io.h>
18 19
19#include <mach/hardware.h> 20#include <mach/hardware.h>
20 21
diff --git a/arch/arm/mach-kirkwood/addr-map.c b/arch/arm/mach-kirkwood/addr-map.c
index 1da5d1c18ecb..2e69168fc699 100644
--- a/arch/arm/mach-kirkwood/addr-map.c
+++ b/arch/arm/mach-kirkwood/addr-map.c
@@ -105,7 +105,7 @@ void __init kirkwood_setup_cpu_mbus(void)
105 setup_cpu_win(0, KIRKWOOD_PCIE_IO_PHYS_BASE, KIRKWOOD_PCIE_IO_SIZE, 105 setup_cpu_win(0, KIRKWOOD_PCIE_IO_PHYS_BASE, KIRKWOOD_PCIE_IO_SIZE,
106 TARGET_PCIE, ATTR_PCIE_IO, KIRKWOOD_PCIE_IO_BUS_BASE); 106 TARGET_PCIE, ATTR_PCIE_IO, KIRKWOOD_PCIE_IO_BUS_BASE);
107 setup_cpu_win(1, KIRKWOOD_PCIE_MEM_PHYS_BASE, KIRKWOOD_PCIE_MEM_SIZE, 107 setup_cpu_win(1, KIRKWOOD_PCIE_MEM_PHYS_BASE, KIRKWOOD_PCIE_MEM_SIZE,
108 TARGET_PCIE, ATTR_PCIE_MEM, -1); 108 TARGET_PCIE, ATTR_PCIE_MEM, KIRKWOOD_PCIE_MEM_BUS_BASE);
109 109
110 /* 110 /*
111 * Setup window for NAND controller. 111 * Setup window for NAND controller.
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index 0acb61f3c10b..242dd0775343 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -845,7 +845,7 @@ int __init kirkwood_find_tclk(void)
845 return 166666667; 845 return 166666667;
846} 846}
847 847
848static void kirkwood_timer_init(void) 848static void __init kirkwood_timer_init(void)
849{ 849{
850 kirkwood_tclk = kirkwood_find_tclk(); 850 kirkwood_tclk = kirkwood_find_tclk();
851 orion_time_init(IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk); 851 orion_time_init(IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk);
@@ -915,6 +915,14 @@ void __init kirkwood_init(void)
915 kirkwood_uart0_data[0].uartclk = kirkwood_tclk; 915 kirkwood_uart0_data[0].uartclk = kirkwood_tclk;
916 kirkwood_uart1_data[0].uartclk = kirkwood_tclk; 916 kirkwood_uart1_data[0].uartclk = kirkwood_tclk;
917 917
918 /*
919 * Disable propagation of mbus errors to the CPU local bus,
920 * as this causes mbus errors (which can occur for example
921 * for PCI aborts) to throw CPU aborts, which we're not set
922 * up to deal with.
923 */
924 writel(readl(CPU_CONFIG) & ~CPU_CONFIG_ERROR_PROP, CPU_CONFIG);
925
918 kirkwood_setup_cpu_mbus(); 926 kirkwood_setup_cpu_mbus();
919 927
920#ifdef CONFIG_CACHE_FEROCEON_L2 928#ifdef CONFIG_CACHE_FEROCEON_L2
diff --git a/arch/arm/mach-kirkwood/include/mach/bridge-regs.h b/arch/arm/mach-kirkwood/include/mach/bridge-regs.h
index 9e80d9232c83..418f5017c50e 100644
--- a/arch/arm/mach-kirkwood/include/mach/bridge-regs.h
+++ b/arch/arm/mach-kirkwood/include/mach/bridge-regs.h
@@ -13,6 +13,9 @@
13 13
14#include <mach/kirkwood.h> 14#include <mach/kirkwood.h>
15 15
16#define CPU_CONFIG (BRIDGE_VIRT_BASE | 0x0100)
17#define CPU_CONFIG_ERROR_PROP 0x00000004
18
16#define CPU_CONTROL (BRIDGE_VIRT_BASE | 0x0104) 19#define CPU_CONTROL (BRIDGE_VIRT_BASE | 0x0104)
17#define CPU_RESET 0x00000002 20#define CPU_RESET 0x00000002
18 21
diff --git a/arch/arm/mach-kirkwood/include/mach/io.h b/arch/arm/mach-kirkwood/include/mach/io.h
index a643a846d5fb..44e8be04f259 100644
--- a/arch/arm/mach-kirkwood/include/mach/io.h
+++ b/arch/arm/mach-kirkwood/include/mach/io.h
@@ -15,7 +15,7 @@
15 15
16static inline void __iomem *__io(unsigned long addr) 16static inline void __iomem *__io(unsigned long addr)
17{ 17{
18 return (void __iomem *)((addr - KIRKWOOD_PCIE_IO_PHYS_BASE) 18 return (void __iomem *)((addr - KIRKWOOD_PCIE_IO_BUS_BASE)
19 + KIRKWOOD_PCIE_IO_VIRT_BASE); 19 + KIRKWOOD_PCIE_IO_VIRT_BASE);
20} 20}
21 21
diff --git a/arch/arm/mach-kirkwood/include/mach/kirkwood.h b/arch/arm/mach-kirkwood/include/mach/kirkwood.h
index 54c132731d2d..a15cf0ee22bd 100644
--- a/arch/arm/mach-kirkwood/include/mach/kirkwood.h
+++ b/arch/arm/mach-kirkwood/include/mach/kirkwood.h
@@ -43,6 +43,7 @@
43#define KIRKWOOD_REGS_SIZE SZ_1M 43#define KIRKWOOD_REGS_SIZE SZ_1M
44 44
45#define KIRKWOOD_PCIE_MEM_PHYS_BASE 0xe0000000 45#define KIRKWOOD_PCIE_MEM_PHYS_BASE 0xe0000000
46#define KIRKWOOD_PCIE_MEM_BUS_BASE 0xe0000000
46#define KIRKWOOD_PCIE_MEM_SIZE SZ_128M 47#define KIRKWOOD_PCIE_MEM_SIZE SZ_128M
47 48
48/* 49/*
diff --git a/arch/arm/mach-kirkwood/openrd_base-setup.c b/arch/arm/mach-kirkwood/openrd_base-setup.c
index 947dfb8cd5b2..77617c722299 100644
--- a/arch/arm/mach-kirkwood/openrd_base-setup.c
+++ b/arch/arm/mach-kirkwood/openrd_base-setup.c
@@ -70,8 +70,20 @@ static void __init openrd_base_init(void)
70 kirkwood_ge00_init(&openrd_base_ge00_data); 70 kirkwood_ge00_init(&openrd_base_ge00_data);
71 kirkwood_sata_init(&openrd_base_sata_data); 71 kirkwood_sata_init(&openrd_base_sata_data);
72 kirkwood_sdio_init(&openrd_base_mvsdio_data); 72 kirkwood_sdio_init(&openrd_base_mvsdio_data);
73
74 kirkwood_i2c_init();
73} 75}
74 76
77static int __init openrd_base_pci_init(void)
78{
79 if (machine_is_openrd_base())
80 kirkwood_pcie_init();
81
82 return 0;
83 }
84subsys_initcall(openrd_base_pci_init);
85
86
75MACHINE_START(OPENRD_BASE, "Marvell OpenRD Base Board") 87MACHINE_START(OPENRD_BASE, "Marvell OpenRD Base Board")
76 /* Maintainer: Dhaval Vasa <dhaval.vasa@einfochips.com> */ 88 /* Maintainer: Dhaval Vasa <dhaval.vasa@einfochips.com> */
77 .phys_io = KIRKWOOD_REGS_PHYS_BASE, 89 .phys_io = KIRKWOOD_REGS_PHYS_BASE,
diff --git a/arch/arm/mach-kirkwood/pcie.c b/arch/arm/mach-kirkwood/pcie.c
index d90b9aae308d..a604b2a701aa 100644
--- a/arch/arm/mach-kirkwood/pcie.c
+++ b/arch/arm/mach-kirkwood/pcie.c
@@ -93,7 +93,7 @@ static struct pci_ops pcie_ops = {
93}; 93};
94 94
95 95
96static int kirkwood_pcie_setup(int nr, struct pci_sys_data *sys) 96static int __init kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
97{ 97{
98 struct resource *res; 98 struct resource *res;
99 extern unsigned int kirkwood_clk_ctrl; 99 extern unsigned int kirkwood_clk_ctrl;
@@ -115,7 +115,7 @@ static int kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
115 */ 115 */
116 res[0].name = "PCIe I/O Space"; 116 res[0].name = "PCIe I/O Space";
117 res[0].flags = IORESOURCE_IO; 117 res[0].flags = IORESOURCE_IO;
118 res[0].start = KIRKWOOD_PCIE_IO_PHYS_BASE; 118 res[0].start = KIRKWOOD_PCIE_IO_BUS_BASE;
119 res[0].end = res[0].start + KIRKWOOD_PCIE_IO_SIZE - 1; 119 res[0].end = res[0].start + KIRKWOOD_PCIE_IO_SIZE - 1;
120 if (request_resource(&ioport_resource, &res[0])) 120 if (request_resource(&ioport_resource, &res[0]))
121 panic("Request PCIe IO resource failed\n"); 121 panic("Request PCIe IO resource failed\n");
@@ -126,7 +126,7 @@ static int kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
126 */ 126 */
127 res[1].name = "PCIe Memory Space"; 127 res[1].name = "PCIe Memory Space";
128 res[1].flags = IORESOURCE_MEM; 128 res[1].flags = IORESOURCE_MEM;
129 res[1].start = KIRKWOOD_PCIE_MEM_PHYS_BASE; 129 res[1].start = KIRKWOOD_PCIE_MEM_BUS_BASE;
130 res[1].end = res[1].start + KIRKWOOD_PCIE_MEM_SIZE - 1; 130 res[1].end = res[1].start + KIRKWOOD_PCIE_MEM_SIZE - 1;
131 if (request_resource(&iomem_resource, &res[1])) 131 if (request_resource(&iomem_resource, &res[1]))
132 panic("Request PCIe Memory resource failed\n"); 132 panic("Request PCIe Memory resource failed\n");
diff --git a/arch/arm/mach-ks8695/include/mach/regs-switch.h b/arch/arm/mach-ks8695/include/mach/regs-switch.h
index 56d12e8de895..97e8acb1cf6c 100644
--- a/arch/arm/mach-ks8695/include/mach/regs-switch.h
+++ b/arch/arm/mach-ks8695/include/mach/regs-switch.h
@@ -25,7 +25,7 @@
25#define KS8695_SEC1 (0x04) /* Switch Engine Control 1 */ 25#define KS8695_SEC1 (0x04) /* Switch Engine Control 1 */
26#define KS8695_SEC2 (0x08) /* Switch Engine Control 2 */ 26#define KS8695_SEC2 (0x08) /* Switch Engine Control 2 */
27 27
28#define KS8695_P(x)_C(z) (0xc0 + (((x)-1)*3 + ((z)-1))*4) /* Port Configuration Registers */ 28#define KS8695_SEPXCZ(x,z) (0x0c + (((x)-1)*3 + ((z)-1))*4) /* Port Configuration Registers */
29 29
30#define KS8695_SEP12AN (0x48) /* Port 1 & 2 Auto-Negotiation */ 30#define KS8695_SEP12AN (0x48) /* Port 1 & 2 Auto-Negotiation */
31#define KS8695_SEP34AN (0x4c) /* Port 3 & 4 Auto-Negotiation */ 31#define KS8695_SEP34AN (0x4c) /* Port 3 & 4 Auto-Negotiation */
diff --git a/arch/arm/mach-mmp/include/mach/mfp-pxa910.h b/arch/arm/mach-mmp/include/mach/mfp-pxa910.h
index bf1189ff9a34..7e8a80f25ddc 100644
--- a/arch/arm/mach-mmp/include/mach/mfp-pxa910.h
+++ b/arch/arm/mach-mmp/include/mach/mfp-pxa910.h
@@ -160,7 +160,7 @@
160#define MMC1_WP_MMC1_WP MFP_CFG_DRV(MMC1_WP, AF0, MEDIUM) 160#define MMC1_WP_MMC1_WP MFP_CFG_DRV(MMC1_WP, AF0, MEDIUM)
161 161
162/* PWM */ 162/* PWM */
163#define GPIO27 PWM3 AF2 MFP_CFG(GPIO27, AF2) 163#define GPIO27_PWM3_AF2 MFP_CFG(GPIO27, AF2)
164#define GPIO51_PWM2_OUT MFP_CFG(GPIO51, AF2) 164#define GPIO51_PWM2_OUT MFP_CFG(GPIO51, AF2)
165#define GPIO117_PWM1_OUT MFP_CFG(GPIO117, AF2) 165#define GPIO117_PWM1_OUT MFP_CFG(GPIO117, AF2)
166#define GPIO118_PWM2_OUT MFP_CFG(GPIO118, AF2) 166#define GPIO118_PWM2_OUT MFP_CFG(GPIO118, AF2)
diff --git a/arch/arm/mach-mv78xx0/common.c b/arch/arm/mach-mv78xx0/common.c
index 1b22e4af8791..08465eb6a2c2 100644
--- a/arch/arm/mach-mv78xx0/common.c
+++ b/arch/arm/mach-mv78xx0/common.c
@@ -845,6 +845,8 @@ static char * __init mv78xx0_id(void)
845 } else if (dev == MV78100_DEV_ID) { 845 } else if (dev == MV78100_DEV_ID) {
846 if (rev == MV78100_REV_A0) 846 if (rev == MV78100_REV_A0)
847 return "MV78100-A0"; 847 return "MV78100-A0";
848 else if (rev == MV78100_REV_A1)
849 return "MV78100-A1";
848 else 850 else
849 return "MV78100-Rev-Unsupported"; 851 return "MV78100-Rev-Unsupported";
850 } else if (dev == MV78200_DEV_ID) { 852 } else if (dev == MV78200_DEV_ID) {
diff --git a/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h b/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
index d715b92b0908..788bdace1304 100644
--- a/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
+++ b/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
@@ -112,6 +112,7 @@
112 112
113#define MV78100_DEV_ID 0x7810 113#define MV78100_DEV_ID 0x7810
114#define MV78100_REV_A0 1 114#define MV78100_REV_A0 1
115#define MV78100_REV_A1 2
115 116
116#define MV78200_DEV_ID 0x7820 117#define MV78200_DEV_ID 0x7820
117#define MV78200_REV_A0 1 118#define MV78200_REV_A0 1
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 70df6b4dbcd4..08b0816afa61 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -162,7 +162,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
162 162
163 /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */ 163 /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
164 gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR"); 164 gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
165 gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1); 165 gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
166 166
167 /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ 167 /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
168 gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; 168 gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index 5326e0d61597..7519edb69155 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -134,50 +134,50 @@ static void __init pandora_keys_gpio_init(void)
134} 134}
135 135
136static int board_keymap[] = { 136static int board_keymap[] = {
137 /* col, row, code */ 137 /* row, col, code */
138 KEY(0, 0, KEY_9), 138 KEY(0, 0, KEY_9),
139 KEY(0, 1, KEY_0), 139 KEY(0, 1, KEY_8),
140 KEY(0, 2, KEY_BACKSPACE), 140 KEY(0, 2, KEY_I),
141 KEY(0, 3, KEY_O), 141 KEY(0, 3, KEY_J),
142 KEY(0, 4, KEY_P), 142 KEY(0, 4, KEY_N),
143 KEY(0, 5, KEY_K), 143 KEY(0, 5, KEY_M),
144 KEY(0, 6, KEY_L), 144 KEY(1, 0, KEY_0),
145 KEY(0, 7, KEY_ENTER),
146 KEY(1, 0, KEY_8),
147 KEY(1, 1, KEY_7), 145 KEY(1, 1, KEY_7),
148 KEY(1, 2, KEY_6), 146 KEY(1, 2, KEY_U),
149 KEY(1, 3, KEY_5), 147 KEY(1, 3, KEY_H),
150 KEY(1, 4, KEY_4), 148 KEY(1, 4, KEY_B),
151 KEY(1, 5, KEY_3), 149 KEY(1, 5, KEY_SPACE),
152 KEY(1, 6, KEY_2), 150 KEY(2, 0, KEY_BACKSPACE),
153 KEY(1, 7, KEY_1), 151 KEY(2, 1, KEY_6),
154 KEY(2, 0, KEY_I),
155 KEY(2, 1, KEY_U),
156 KEY(2, 2, KEY_Y), 152 KEY(2, 2, KEY_Y),
157 KEY(2, 3, KEY_T), 153 KEY(2, 3, KEY_G),
158 KEY(2, 4, KEY_R), 154 KEY(2, 4, KEY_V),
159 KEY(2, 5, KEY_E), 155 KEY(2, 5, KEY_FN),
160 KEY(2, 6, KEY_W), 156 KEY(3, 0, KEY_O),
161 KEY(2, 7, KEY_Q), 157 KEY(3, 1, KEY_5),
162 KEY(3, 0, KEY_J), 158 KEY(3, 2, KEY_T),
163 KEY(3, 1, KEY_H),
164 KEY(3, 2, KEY_G),
165 KEY(3, 3, KEY_F), 159 KEY(3, 3, KEY_F),
166 KEY(3, 4, KEY_D), 160 KEY(3, 4, KEY_C),
167 KEY(3, 5, KEY_S), 161 KEY(4, 0, KEY_P),
168 KEY(3, 6, KEY_A), 162 KEY(4, 1, KEY_4),
169 KEY(3, 7, KEY_LEFTSHIFT), 163 KEY(4, 2, KEY_R),
170 KEY(4, 0, KEY_N), 164 KEY(4, 3, KEY_D),
171 KEY(4, 1, KEY_B),
172 KEY(4, 2, KEY_V),
173 KEY(4, 3, KEY_C),
174 KEY(4, 4, KEY_X), 165 KEY(4, 4, KEY_X),
175 KEY(4, 5, KEY_Z), 166 KEY(5, 0, KEY_K),
176 KEY(4, 6, KEY_DOT), 167 KEY(5, 1, KEY_3),
177 KEY(4, 7, KEY_COMMA), 168 KEY(5, 2, KEY_E),
178 KEY(5, 0, KEY_M), 169 KEY(5, 3, KEY_S),
179 KEY(5, 1, KEY_SPACE), 170 KEY(5, 4, KEY_Z),
180 KEY(5, 2, KEY_FN), 171 KEY(6, 0, KEY_L),
172 KEY(6, 1, KEY_2),
173 KEY(6, 2, KEY_W),
174 KEY(6, 3, KEY_A),
175 KEY(6, 4, KEY_DOT),
176 KEY(7, 0, KEY_ENTER),
177 KEY(7, 1, KEY_1),
178 KEY(7, 2, KEY_Q),
179 KEY(7, 3, KEY_LEFTSHIFT),
180 KEY(7, 4, KEY_COMMA),
181}; 181};
182 182
183static struct matrix_keymap_data board_map_data = { 183static struct matrix_keymap_data board_map_data = {
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
index ea00486a5e53..51e0b3ba5f3a 100644
--- a/arch/arm/mach-omap2/board-zoom2.c
+++ b/arch/arm/mach-omap2/board-zoom2.c
@@ -30,57 +30,56 @@
30/* Zoom2 has Qwerty keyboard*/ 30/* Zoom2 has Qwerty keyboard*/
31static int board_keymap[] = { 31static int board_keymap[] = {
32 KEY(0, 0, KEY_E), 32 KEY(0, 0, KEY_E),
33 KEY(1, 0, KEY_R), 33 KEY(0, 1, KEY_R),
34 KEY(2, 0, KEY_T), 34 KEY(0, 2, KEY_T),
35 KEY(3, 0, KEY_HOME), 35 KEY(0, 3, KEY_HOME),
36 KEY(6, 0, KEY_I), 36 KEY(0, 6, KEY_I),
37 KEY(7, 0, KEY_LEFTSHIFT), 37 KEY(0, 7, KEY_LEFTSHIFT),
38 KEY(0, 1, KEY_D), 38 KEY(1, 0, KEY_D),
39 KEY(1, 1, KEY_F), 39 KEY(1, 1, KEY_F),
40 KEY(2, 1, KEY_G), 40 KEY(1, 2, KEY_G),
41 KEY(3, 1, KEY_SEND), 41 KEY(1, 3, KEY_SEND),
42 KEY(6, 1, KEY_K), 42 KEY(1, 6, KEY_K),
43 KEY(7, 1, KEY_ENTER), 43 KEY(1, 7, KEY_ENTER),
44 KEY(0, 2, KEY_X), 44 KEY(2, 0, KEY_X),
45 KEY(1, 2, KEY_C), 45 KEY(2, 1, KEY_C),
46 KEY(2, 2, KEY_V), 46 KEY(2, 2, KEY_V),
47 KEY(3, 2, KEY_END), 47 KEY(2, 3, KEY_END),
48 KEY(6, 2, KEY_DOT), 48 KEY(2, 6, KEY_DOT),
49 KEY(7, 2, KEY_CAPSLOCK), 49 KEY(2, 7, KEY_CAPSLOCK),
50 KEY(0, 3, KEY_Z), 50 KEY(3, 0, KEY_Z),
51 KEY(1, 3, KEY_KPPLUS), 51 KEY(3, 1, KEY_KPPLUS),
52 KEY(2, 3, KEY_B), 52 KEY(3, 2, KEY_B),
53 KEY(3, 3, KEY_F1), 53 KEY(3, 3, KEY_F1),
54 KEY(6, 3, KEY_O), 54 KEY(3, 6, KEY_O),
55 KEY(7, 3, KEY_SPACE), 55 KEY(3, 7, KEY_SPACE),
56 KEY(0, 4, KEY_W), 56 KEY(4, 0, KEY_W),
57 KEY(1, 4, KEY_Y), 57 KEY(4, 1, KEY_Y),
58 KEY(2, 4, KEY_U), 58 KEY(4, 2, KEY_U),
59 KEY(3, 4, KEY_F2), 59 KEY(4, 3, KEY_F2),
60 KEY(4, 4, KEY_VOLUMEUP), 60 KEY(4, 4, KEY_VOLUMEUP),
61 KEY(6, 4, KEY_L), 61 KEY(4, 6, KEY_L),
62 KEY(7, 4, KEY_LEFT), 62 KEY(4, 7, KEY_LEFT),
63 KEY(0, 5, KEY_S), 63 KEY(5, 0, KEY_S),
64 KEY(1, 5, KEY_H), 64 KEY(5, 1, KEY_H),
65 KEY(2, 5, KEY_J), 65 KEY(5, 2, KEY_J),
66 KEY(3, 5, KEY_F3), 66 KEY(5, 3, KEY_F3),
67 KEY(5, 5, KEY_VOLUMEDOWN), 67 KEY(5, 5, KEY_VOLUMEDOWN),
68 KEY(6, 5, KEY_M), 68 KEY(5, 6, KEY_M),
69 KEY(4, 5, KEY_ENTER), 69 KEY(5, 7, KEY_ENTER),
70 KEY(7, 5, KEY_RIGHT), 70 KEY(6, 0, KEY_Q),
71 KEY(0, 6, KEY_Q), 71 KEY(6, 1, KEY_A),
72 KEY(1, 6, KEY_A), 72 KEY(6, 2, KEY_N),
73 KEY(2, 6, KEY_N), 73 KEY(6, 3, KEY_BACKSPACE),
74 KEY(3, 6, KEY_BACKSPACE),
75 KEY(6, 6, KEY_P), 74 KEY(6, 6, KEY_P),
76 KEY(7, 6, KEY_UP),
77 KEY(6, 7, KEY_SELECT), 75 KEY(6, 7, KEY_SELECT),
78 KEY(7, 7, KEY_DOWN), 76 KEY(7, 0, KEY_PROG1), /*MACRO 1 <User defined> */
79 KEY(0, 7, KEY_PROG1), /*MACRO 1 <User defined> */ 77 KEY(7, 1, KEY_PROG2), /*MACRO 2 <User defined> */
80 KEY(1, 7, KEY_PROG2), /*MACRO 2 <User defined> */ 78 KEY(7, 2, KEY_PROG3), /*MACRO 3 <User defined> */
81 KEY(2, 7, KEY_PROG3), /*MACRO 3 <User defined> */ 79 KEY(7, 3, KEY_PROG4), /*MACRO 4 <User defined> */
82 KEY(3, 7, KEY_PROG4), /*MACRO 4 <User defined> */ 80 KEY(7, 5, KEY_RIGHT),
83 0 81 KEY(7, 6, KEY_UP),
82 KEY(7, 7, KEY_DOWN)
84}; 83};
85 84
86static struct matrix_keymap_data board_map_data = { 85static struct matrix_keymap_data board_map_data = {
diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
index 489556eecbd1..7c5c00df3c70 100644
--- a/arch/arm/mach-omap2/clock34xx.c
+++ b/arch/arm/mach-omap2/clock34xx.c
@@ -473,7 +473,7 @@ static u16 _omap3_dpll_compute_freqsel(struct clk *clk, u8 n)
473 unsigned long fint; 473 unsigned long fint;
474 u16 f = 0; 474 u16 f = 0;
475 475
476 fint = clk->dpll_data->clk_ref->rate / (n + 1); 476 fint = clk->dpll_data->clk_ref->rate / n;
477 477
478 pr_debug("clock: fint is %lu\n", fint); 478 pr_debug("clock: fint is %lu\n", fint);
479 479
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index c8119781e00a..9565c05bebd2 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -489,9 +489,9 @@ static struct clk core_ck = {
489static struct clk dpll3_m2x2_ck = { 489static struct clk dpll3_m2x2_ck = {
490 .name = "dpll3_m2x2_ck", 490 .name = "dpll3_m2x2_ck",
491 .ops = &clkops_null, 491 .ops = &clkops_null,
492 .parent = &dpll3_x2_ck, 492 .parent = &dpll3_m2_ck,
493 .clkdm_name = "dpll3_clkdm", 493 .clkdm_name = "dpll3_clkdm",
494 .recalc = &followparent_recalc, 494 .recalc = &omap3_clkoutx2_recalc,
495}; 495};
496 496
497/* The PWRDN bit is apparently only available on 3430ES2 and above */ 497/* The PWRDN bit is apparently only available on 3430ES2 and above */
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 15876828db23..f3c992e29651 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -366,7 +366,7 @@ int gpmc_cs_request(int cs, unsigned long size, unsigned long *base)
366 if (r < 0) 366 if (r < 0)
367 goto out; 367 goto out;
368 368
369 gpmc_cs_enable_mem(cs, res->start, res->end - res->start + 1); 369 gpmc_cs_enable_mem(cs, res->start, resource_size(res));
370 *base = res->start; 370 *base = res->start;
371 gpmc_cs_set_reserved(cs, 1); 371 gpmc_cs_set_reserved(cs, 1);
372out: 372out:
@@ -378,7 +378,7 @@ EXPORT_SYMBOL(gpmc_cs_request);
378void gpmc_cs_free(int cs) 378void gpmc_cs_free(int cs)
379{ 379{
380 spin_lock(&gpmc_mem_lock); 380 spin_lock(&gpmc_mem_lock);
381 if (cs >= GPMC_CS_NUM || !gpmc_cs_reserved(cs)) { 381 if (cs >= GPMC_CS_NUM || cs < 0 || !gpmc_cs_reserved(cs)) {
382 printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs); 382 printk(KERN_ERR "Trying to free non-reserved GPMC CS%d\n", cs);
383 BUG(); 383 BUG();
384 spin_unlock(&gpmc_mem_lock); 384 spin_unlock(&gpmc_mem_lock);
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index c035ad3426d0..ef57b38a56a4 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -300,7 +300,7 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
300 dev_err(&pdev->dev, "invalid mem resource\n"); 300 dev_err(&pdev->dev, "invalid mem resource\n");
301 return -ENODEV; 301 return -ENODEV;
302 } 302 }
303 mbox_base = ioremap(res->start, res->end - res->start); 303 mbox_base = ioremap(res->start, resource_size(res));
304 if (!mbox_base) 304 if (!mbox_base)
305 return -ENOMEM; 305 return -ENOMEM;
306 306
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c
index 494572825c7d..ec0e14b96682 100644
--- a/arch/arm/mach-pxa/colibri-pxa320.c
+++ b/arch/arm/mach-pxa/colibri-pxa320.c
@@ -27,6 +27,7 @@
27#include <mach/colibri.h> 27#include <mach/colibri.h>
28#include <mach/pxafb.h> 28#include <mach/pxafb.h>
29#include <mach/ohci.h> 29#include <mach/ohci.h>
30#include <mach/audio.h>
30 31
31#include "generic.h" 32#include "generic.h"
32#include "devices.h" 33#include "devices.h"
@@ -145,7 +146,8 @@ static void __init colibri_pxa320_init_lcd(void)
145static inline void colibri_pxa320_init_lcd(void) {} 146static inline void colibri_pxa320_init_lcd(void) {}
146#endif 147#endif
147 148
148#if defined(SND_AC97_CODEC) || defined(SND_AC97_CODEC_MODULE) 149#if defined(CONFIG_SND_AC97_CODEC) || \
150 defined(CONFIG_SND_AC97_CODEC_MODULE)
149static mfp_cfg_t colibri_pxa320_ac97_pin_config[] __initdata = { 151static mfp_cfg_t colibri_pxa320_ac97_pin_config[] __initdata = {
150 GPIO34_AC97_SYSCLK, 152 GPIO34_AC97_SYSCLK,
151 GPIO35_AC97_SDATA_IN_0, 153 GPIO35_AC97_SDATA_IN_0,
diff --git a/arch/arm/mach-pxa/cpufreq-pxa2xx.c b/arch/arm/mach-pxa/cpufreq-pxa2xx.c
index 983cc8c20081..9e4d9816726a 100644
--- a/arch/arm/mach-pxa/cpufreq-pxa2xx.c
+++ b/arch/arm/mach-pxa/cpufreq-pxa2xx.c
@@ -447,6 +447,7 @@ static __init int pxa_cpufreq_init(struct cpufreq_policy *policy)
447 pxa27x_freq_table[i].frequency = freq; 447 pxa27x_freq_table[i].frequency = freq;
448 pxa27x_freq_table[i].index = i; 448 pxa27x_freq_table[i].index = i;
449 } 449 }
450 pxa27x_freq_table[i].index = i;
450 pxa27x_freq_table[i].frequency = CPUFREQ_TABLE_END; 451 pxa27x_freq_table[i].frequency = CPUFREQ_TABLE_END;
451 452
452 /* 453 /*
diff --git a/arch/arm/mach-pxa/cpufreq-pxa3xx.c b/arch/arm/mach-pxa/cpufreq-pxa3xx.c
index 67f34a8d8e60..149cdd9aee4d 100644
--- a/arch/arm/mach-pxa/cpufreq-pxa3xx.c
+++ b/arch/arm/mach-pxa/cpufreq-pxa3xx.c
@@ -102,7 +102,7 @@ static int setup_freqs_table(struct cpufreq_policy *policy,
102 table[i].index = i; 102 table[i].index = i;
103 table[i].frequency = freqs[i].cpufreq_mhz * 1000; 103 table[i].frequency = freqs[i].cpufreq_mhz * 1000;
104 } 104 }
105 table[num].frequency = i; 105 table[num].index = i;
106 table[num].frequency = CPUFREQ_TABLE_END; 106 table[num].frequency = CPUFREQ_TABLE_END;
107 107
108 pxa3xx_freqs = freqs; 108 pxa3xx_freqs = freqs;
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
index abff9e132749..83bd3c6e3884 100644
--- a/arch/arm/mach-pxa/hx4700.c
+++ b/arch/arm/mach-pxa/hx4700.c
@@ -604,7 +604,7 @@ static struct platform_device gpio_vbus = {
604static const struct ads7846_platform_data tsc2046_info = { 604static const struct ads7846_platform_data tsc2046_info = {
605 .model = 7846, 605 .model = 7846,
606 .vref_delay_usecs = 100, 606 .vref_delay_usecs = 100,
607 .pressure_max = 512, 607 .pressure_max = 1024,
608 .debounce_max = 10, 608 .debounce_max = 10,
609 .debounce_tol = 3, 609 .debounce_tol = 3,
610 .debounce_rep = 1, 610 .debounce_rep = 1,
diff --git a/arch/arm/mach-pxa/include/mach/entry-macro.S b/arch/arm/mach-pxa/include/mach/entry-macro.S
index 241880608ac6..a73bc86a3c26 100644
--- a/arch/arm/mach-pxa/include/mach/entry-macro.S
+++ b/arch/arm/mach-pxa/include/mach/entry-macro.S
@@ -46,5 +46,6 @@
46 beq 1001f 46 beq 1001f
47 bic \irqstat, \irqstat, #0x80000000 47 bic \irqstat, \irqstat, #0x80000000
48 mov \irqnr, \irqstat, lsr #16 48 mov \irqnr, \irqstat, lsr #16
49 add \irqnr, \irqnr, #(PXA_IRQ(0))
491001: 501001:
50 .endm 51 .endm
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
index d694ce289668..6112af431fa4 100644
--- a/arch/arm/mach-pxa/irq.c
+++ b/arch/arm/mach-pxa/irq.c
@@ -25,6 +25,8 @@
25 25
26#include "generic.h" 26#include "generic.h"
27 27
28#define MAX_INTERNAL_IRQS 128
29
28#define IRQ_BIT(n) (((n) - PXA_IRQ(0)) & 0x1f) 30#define IRQ_BIT(n) (((n) - PXA_IRQ(0)) & 0x1f)
29#define _ICMR(n) (*((((n) - PXA_IRQ(0)) & ~0x1f) ? &ICMR2 : &ICMR)) 31#define _ICMR(n) (*((((n) - PXA_IRQ(0)) & ~0x1f) ? &ICMR2 : &ICMR))
30#define _ICLR(n) (*((((n) - PXA_IRQ(0)) & ~0x1f) ? &ICLR2 : &ICLR)) 32#define _ICLR(n) (*((((n) - PXA_IRQ(0)) & ~0x1f) ? &ICLR2 : &ICLR))
@@ -122,6 +124,8 @@ void __init pxa_init_irq(int irq_nr, set_wake_t fn)
122{ 124{
123 int irq, i; 125 int irq, i;
124 126
127 BUG_ON(irq_nr > MAX_INTERNAL_IRQS);
128
125 pxa_internal_irq_nr = irq_nr; 129 pxa_internal_irq_nr = irq_nr;
126 130
127 for (irq = PXA_IRQ(0); irq < PXA_IRQ(irq_nr); irq += 32) { 131 for (irq = PXA_IRQ(0); irq < PXA_IRQ(irq_nr); irq += 32) {
@@ -149,7 +153,8 @@ void __init pxa_init_irq(int irq_nr, set_wake_t fn)
149} 153}
150 154
151#ifdef CONFIG_PM 155#ifdef CONFIG_PM
152static unsigned long saved_icmr[2]; 156static unsigned long saved_icmr[MAX_INTERNAL_IRQS/32];
157static unsigned long saved_ipr[MAX_INTERNAL_IRQS];
153 158
154static int pxa_irq_suspend(struct sys_device *dev, pm_message_t state) 159static int pxa_irq_suspend(struct sys_device *dev, pm_message_t state)
155{ 160{
@@ -159,6 +164,8 @@ static int pxa_irq_suspend(struct sys_device *dev, pm_message_t state)
159 saved_icmr[i] = _ICMR(irq); 164 saved_icmr[i] = _ICMR(irq);
160 _ICMR(irq) = 0; 165 _ICMR(irq) = 0;
161 } 166 }
167 for (i = 0; i < pxa_internal_irq_nr; i++)
168 saved_ipr[i] = IPR(i);
162 169
163 return 0; 170 return 0;
164} 171}
@@ -171,6 +178,8 @@ static int pxa_irq_resume(struct sys_device *dev)
171 _ICMR(irq) = saved_icmr[i]; 178 _ICMR(irq) = saved_icmr[i];
172 _ICLR(irq) = 0; 179 _ICLR(irq) = 0;
173 } 180 }
181 for (i = 0; i < pxa_internal_irq_nr; i++)
182 IPR(i) = saved_ipr[i];
174 183
175 ICCR = 1; 184 ICCR = 1;
176 return 0; 185 return 0;
diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c
index bb2cc0dd44ec..0b92291a58f6 100644
--- a/arch/arm/mach-pxa/palmtc.c
+++ b/arch/arm/mach-pxa/palmtc.c
@@ -292,10 +292,10 @@ const static unsigned int palmtc_keypad_col_gpios[] = {
292 292
293static struct matrix_keypad_platform_data palmtc_keypad_platform_data = { 293static struct matrix_keypad_platform_data palmtc_keypad_platform_data = {
294 .keymap_data = &palmtc_keymap_data, 294 .keymap_data = &palmtc_keymap_data,
295 .col_gpios = palmtc_keypad_row_gpios, 295 .row_gpios = palmtc_keypad_row_gpios,
296 .num_col_gpios = 12, 296 .num_row_gpios = ARRAY_SIZE(palmtc_keypad_row_gpios),
297 .row_gpios = palmtc_keypad_col_gpios, 297 .col_gpios = palmtc_keypad_col_gpios,
298 .num_row_gpios = 4, 298 .num_col_gpios = ARRAY_SIZE(palmtc_keypad_col_gpios),
299 .active_low = 1, 299 .active_low = 1,
300 300
301 .debounce_ms = 20, 301 .debounce_ms = 20,
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index 82ff5733e4dc..d98023f55503 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -779,11 +779,36 @@ static void __init common_init(void)
779 pxa_set_i2c_info(NULL); 779 pxa_set_i2c_info(NULL);
780} 780}
781 781
782#if defined(CONFIG_MACH_AKITA) || defined(CONFIG_MACH_BORZOI)
783static struct nand_bbt_descr sharpsl_akita_bbt = {
784 .options = 0,
785 .offs = 4,
786 .len = 1,
787 .pattern = scan_ff_pattern
788};
789
790static struct nand_ecclayout akita_oobinfo = {
791 .eccbytes = 24,
792 .eccpos = {
793 0x5, 0x1, 0x2, 0x3, 0x6, 0x7, 0x15, 0x11,
794 0x12, 0x13, 0x16, 0x17, 0x25, 0x21, 0x22, 0x23,
795 0x26, 0x27, 0x35, 0x31, 0x32, 0x33, 0x36, 0x37},
796 .oobfree = {{0x08, 0x09}}
797};
798#endif
799
782#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI) 800#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI)
783static void __init spitz_init(void) 801static void __init spitz_init(void)
784{ 802{
785 spitz_ficp_platform_data.gpio_pwdown = SPITZ_GPIO_IR_ON; 803 spitz_ficp_platform_data.gpio_pwdown = SPITZ_GPIO_IR_ON;
786 804
805#ifdef CONFIG_MACH_BORZOI
806 if (machine_is_borzoi()) {
807 sharpsl_nand_platform_data.badblock_pattern = &sharpsl_akita_bbt;
808 sharpsl_nand_platform_data.ecc_layout = &akita_oobinfo;
809 }
810#endif
811
787 platform_scoop_config = &spitz_pcmcia_config; 812 platform_scoop_config = &spitz_pcmcia_config;
788 813
789 common_init(); 814 common_init();
@@ -808,22 +833,6 @@ static struct i2c_board_info akita_i2c_board_info[] = {
808 }, 833 },
809}; 834};
810 835
811static struct nand_bbt_descr sharpsl_akita_bbt = {
812 .options = 0,
813 .offs = 4,
814 .len = 1,
815 .pattern = scan_ff_pattern
816};
817
818static struct nand_ecclayout akita_oobinfo = {
819 .eccbytes = 24,
820 .eccpos = {
821 0x5, 0x1, 0x2, 0x3, 0x6, 0x7, 0x15, 0x11,
822 0x12, 0x13, 0x16, 0x17, 0x25, 0x21, 0x22, 0x23,
823 0x26, 0x27, 0x35, 0x31, 0x32, 0x33, 0x36, 0x37},
824 .oobfree = {{0x08, 0x09}}
825};
826
827static void __init akita_init(void) 836static void __init akita_init(void)
828{ 837{
829 spitz_ficp_platform_data.gpio_pwdown = AKITA_GPIO_IR_ON; 838 spitz_ficp_platform_data.gpio_pwdown = AKITA_GPIO_IR_ON;
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig
index dfc9b0bc6eb2..c48e1f2c3349 100644
--- a/arch/arm/mach-realview/Kconfig
+++ b/arch/arm/mach-realview/Kconfig
@@ -70,6 +70,8 @@ config MACH_REALVIEW_PBX
70 bool "Support RealView/PBX platform" 70 bool "Support RealView/PBX platform"
71 select ARM_GIC 71 select ARM_GIC
72 select HAVE_PATA_PLATFORM 72 select HAVE_PATA_PLATFORM
73 select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !HIGH_PHYS_OFFSET
74 select ZONE_DMA if SPARSEMEM
73 help 75 help
74 Include support for the ARM(R) RealView PBX platform. 76 Include support for the ARM(R) RealView PBX platform.
75 77
@@ -82,6 +84,7 @@ config REALVIEW_HIGH_PHYS_OFFSET
82 0x70000000, 256MB of which being mirrored at 0x00000000. If 84 0x70000000, 256MB of which being mirrored at 0x00000000. If
83 the board supports 512MB of RAM, this option allows the 85 the board supports 512MB of RAM, this option allows the
84 memory to be accessed contiguously at the high physical 86 memory to be accessed contiguously at the high physical
85 offset. 87 offset. On the PBX board, disabling this option allows 1GB of
88 RAM to be used with SPARSEMEM.
86 89
87endmenu 90endmenu
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c
index a2083b60e3fb..9f293438e020 100644
--- a/arch/arm/mach-realview/core.c
+++ b/arch/arm/mach-realview/core.c
@@ -59,6 +59,25 @@
59/* used by entry-macro.S and platsmp.c */ 59/* used by entry-macro.S and platsmp.c */
60void __iomem *gic_cpu_base_addr; 60void __iomem *gic_cpu_base_addr;
61 61
62#ifdef CONFIG_ZONE_DMA
63/*
64 * Adjust the zones if there are restrictions for DMA access.
65 */
66void __init realview_adjust_zones(int node, unsigned long *size,
67 unsigned long *hole)
68{
69 unsigned long dma_size = SZ_256M >> PAGE_SHIFT;
70
71 if (!machine_is_realview_pbx() || node || (size[0] <= dma_size))
72 return;
73
74 size[ZONE_NORMAL] = size[0] - dma_size;
75 size[ZONE_DMA] = dma_size;
76 hole[ZONE_NORMAL] = hole[0];
77 hole[ZONE_DMA] = 0;
78}
79#endif
80
62/* 81/*
63 * This is the RealView sched_clock implementation. This has 82 * This is the RealView sched_clock implementation. This has
64 * a resolution of 41.7ns, and a maximum value of about 179s. 83 * a resolution of 41.7ns, and a maximum value of about 179s.
@@ -543,7 +562,7 @@ static int realview_clcd_setup(struct clcd_fb *fb)
543 fb->panel = realview_clcd_panel(); 562 fb->panel = realview_clcd_panel();
544 563
545 fb->fb.screen_base = dma_alloc_writecombine(&fb->dev->dev, framesize, 564 fb->fb.screen_base = dma_alloc_writecombine(&fb->dev->dev, framesize,
546 &dma, GFP_KERNEL); 565 &dma, GFP_KERNEL | GFP_DMA);
547 if (!fb->fb.screen_base) { 566 if (!fb->fb.screen_base) {
548 printk(KERN_ERR "CLCD: unable to map framebuffer\n"); 567 printk(KERN_ERR "CLCD: unable to map framebuffer\n");
549 return -ENOMEM; 568 return -ENOMEM;
@@ -788,3 +807,24 @@ void __init realview_timer_init(unsigned int timer_irq)
788 realview_clocksource_init(); 807 realview_clocksource_init();
789 realview_clockevents_init(timer_irq); 808 realview_clockevents_init(timer_irq);
790} 809}
810
811/*
812 * Setup the memory banks.
813 */
814void realview_fixup(struct machine_desc *mdesc, struct tag *tags, char **from,
815 struct meminfo *meminfo)
816{
817 /*
818 * Most RealView platforms have 512MB contiguous RAM at 0x70000000.
819 * Half of this is mirrored at 0.
820 */
821#ifdef CONFIG_REALVIEW_HIGH_PHYS_OFFSET
822 meminfo->bank[0].start = 0x70000000;
823 meminfo->bank[0].size = SZ_512M;
824 meminfo->nr_banks = 1;
825#else
826 meminfo->bank[0].start = 0;
827 meminfo->bank[0].size = SZ_256M;
828 meminfo->nr_banks = 1;
829#endif
830}
diff --git a/arch/arm/mach-realview/core.h b/arch/arm/mach-realview/core.h
index 699671fa6e0b..781bca68a9fa 100644
--- a/arch/arm/mach-realview/core.h
+++ b/arch/arm/mach-realview/core.h
@@ -25,6 +25,7 @@
25#include <linux/amba/bus.h> 25#include <linux/amba/bus.h>
26#include <linux/io.h> 26#include <linux/io.h>
27 27
28#include <asm/setup.h>
28#include <asm/leds.h> 29#include <asm/leds.h>
29 30
30#define AMBA_DEVICE(name,busid,base,plat) \ 31#define AMBA_DEVICE(name,busid,base,plat) \
@@ -44,6 +45,8 @@ static struct amba_device name##_device = { \
44 /* .dma = base##_DMA,*/ \ 45 /* .dma = base##_DMA,*/ \
45} 46}
46 47
48struct machine_desc;
49
47extern struct platform_device realview_flash_device; 50extern struct platform_device realview_flash_device;
48extern struct platform_device realview_cf_device; 51extern struct platform_device realview_cf_device;
49extern struct platform_device realview_i2c_device; 52extern struct platform_device realview_i2c_device;
@@ -61,5 +64,8 @@ extern void realview_timer_init(unsigned int timer_irq);
61extern int realview_flash_register(struct resource *res, u32 num); 64extern int realview_flash_register(struct resource *res, u32 num);
62extern int realview_eth_register(const char *name, struct resource *res); 65extern int realview_eth_register(const char *name, struct resource *res);
63extern int realview_usb_register(struct resource *res); 66extern int realview_usb_register(struct resource *res);
67extern void realview_fixup(struct machine_desc *mdesc, struct tag *tags,
68 char **from, struct meminfo *meminfo);
64extern void (*realview_reset)(char); 69extern void (*realview_reset)(char);
70
65#endif 71#endif
diff --git a/arch/arm/mach-realview/include/mach/memory.h b/arch/arm/mach-realview/include/mach/memory.h
index 293c30025e7e..2417bbcf97fd 100644
--- a/arch/arm/mach-realview/include/mach/memory.h
+++ b/arch/arm/mach-realview/include/mach/memory.h
@@ -29,4 +29,53 @@
29#define PHYS_OFFSET UL(0x00000000) 29#define PHYS_OFFSET UL(0x00000000)
30#endif 30#endif
31 31
32#if !defined(__ASSEMBLY__) && defined(CONFIG_ZONE_DMA)
33extern void realview_adjust_zones(int node, unsigned long *size,
34 unsigned long *hole);
35#define arch_adjust_zones(node, size, hole) \
36 realview_adjust_zones(node, size, hole)
37
38#define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_256M - 1)
39#define MAX_DMA_ADDRESS (PAGE_OFFSET + SZ_256M)
40#endif
41
42#ifdef CONFIG_SPARSEMEM
43
44/*
45 * Sparsemem definitions for RealView PBX.
46 *
47 * The RealView PBX board has another block of 512MB of RAM at 0x20000000,
48 * however only the block at 0x70000000 (or the 256MB mirror at 0x00000000)
49 * may be used for DMA.
50 *
51 * The macros below define a section size of 256MB and a non-linear virtual to
52 * physical mapping:
53 *
54 * 256MB @ 0x00000000 -> PAGE_OFFSET
55 * 512MB @ 0x20000000 -> PAGE_OFFSET + 0x10000000
56 * 256MB @ 0x80000000 -> PAGE_OFFSET + 0x30000000
57 */
58#ifdef CONFIG_REALVIEW_HIGH_PHYS_OFFSET
59#error "SPARSEMEM not available with REALVIEW_HIGH_PHYS_OFFSET"
60#endif
61
62#define MAX_PHYSMEM_BITS 32
63#define SECTION_SIZE_BITS 28
64
65/* bank page offsets */
66#define PAGE_OFFSET1 (PAGE_OFFSET + 0x10000000)
67#define PAGE_OFFSET2 (PAGE_OFFSET + 0x30000000)
68
69#define __phys_to_virt(phys) \
70 ((phys) >= 0x80000000 ? (phys) - 0x80000000 + PAGE_OFFSET2 : \
71 (phys) >= 0x20000000 ? (phys) - 0x20000000 + PAGE_OFFSET1 : \
72 (phys) + PAGE_OFFSET)
73
74#define __virt_to_phys(virt) \
75 ((virt) >= PAGE_OFFSET2 ? (virt) - PAGE_OFFSET2 + 0x80000000 : \
76 (virt) >= PAGE_OFFSET1 ? (virt) - PAGE_OFFSET1 + 0x20000000 : \
77 (virt) - PAGE_OFFSET)
78
79#endif /* CONFIG_SPARSEMEM */
80
32#endif 81#endif
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c
index a88458b4799d..009265818d55 100644
--- a/arch/arm/mach-realview/platsmp.c
+++ b/arch/arm/mach-realview/platsmp.c
@@ -146,11 +146,8 @@ static void __init poke_milo(void)
146 * register. The BootMonitor waits for this register to become 146 * register. The BootMonitor waits for this register to become
147 * non-zero. 147 * non-zero.
148 */ 148 */
149#define REALVIEW_SYS_FLAGSS_OFFSET 0x30
150#define REALVIEW_SYS_FLAGSC_OFFSET 0x34
151 __raw_writel(BSYM(virt_to_phys(realview_secondary_startup)), 149 __raw_writel(BSYM(virt_to_phys(realview_secondary_startup)),
152 __io_address(REALVIEW_SYS_BASE) + 150 __io_address(REALVIEW_SYS_FLAGSSET));
153 REALVIEW_SYS_FLAGSS_OFFSET);
154 151
155 mb(); 152 mb();
156} 153}
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c
index 1d65e64ae571..917f8ca3abff 100644
--- a/arch/arm/mach-realview/realview_eb.c
+++ b/arch/arm/mach-realview/realview_eb.c
@@ -415,6 +415,7 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB")
415 .phys_io = REALVIEW_EB_UART0_BASE, 415 .phys_io = REALVIEW_EB_UART0_BASE,
416 .io_pg_offst = (IO_ADDRESS(REALVIEW_EB_UART0_BASE) >> 18) & 0xfffc, 416 .io_pg_offst = (IO_ADDRESS(REALVIEW_EB_UART0_BASE) >> 18) & 0xfffc,
417 .boot_params = PHYS_OFFSET + 0x00000100, 417 .boot_params = PHYS_OFFSET + 0x00000100,
418 .fixup = realview_fixup,
418 .map_io = realview_eb_map_io, 419 .map_io = realview_eb_map_io,
419 .init_irq = gic_init_irq, 420 .init_irq = gic_init_irq,
420 .timer = &realview_eb_timer, 421 .timer = &realview_eb_timer,
diff --git a/arch/arm/mach-realview/realview_pb1176.c b/arch/arm/mach-realview/realview_pb1176.c
index a6ba147692c1..7fb726d5f8b9 100644
--- a/arch/arm/mach-realview/realview_pb1176.c
+++ b/arch/arm/mach-realview/realview_pb1176.c
@@ -300,6 +300,18 @@ static void realview_pb1176_reset(char mode)
300 __raw_writel(REALVIEW_PB1176_SYS_LOCKVAL_RSTCTL, hdr_ctrl); 300 __raw_writel(REALVIEW_PB1176_SYS_LOCKVAL_RSTCTL, hdr_ctrl);
301} 301}
302 302
303static void realview_pb1176_fixup(struct machine_desc *mdesc,
304 struct tag *tags, char **from,
305 struct meminfo *meminfo)
306{
307 /*
308 * RealView PB1176 only has 128MB of RAM mapped at 0.
309 */
310 meminfo->bank[0].start = 0;
311 meminfo->bank[0].size = SZ_128M;
312 meminfo->nr_banks = 1;
313}
314
303static void __init realview_pb1176_init(void) 315static void __init realview_pb1176_init(void)
304{ 316{
305 int i; 317 int i;
@@ -331,6 +343,7 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176")
331 .phys_io = REALVIEW_PB1176_UART0_BASE, 343 .phys_io = REALVIEW_PB1176_UART0_BASE,
332 .io_pg_offst = (IO_ADDRESS(REALVIEW_PB1176_UART0_BASE) >> 18) & 0xfffc, 344 .io_pg_offst = (IO_ADDRESS(REALVIEW_PB1176_UART0_BASE) >> 18) & 0xfffc,
333 .boot_params = PHYS_OFFSET + 0x00000100, 345 .boot_params = PHYS_OFFSET + 0x00000100,
346 .fixup = realview_pb1176_fixup,
334 .map_io = realview_pb1176_map_io, 347 .map_io = realview_pb1176_map_io,
335 .init_irq = gic_init_irq, 348 .init_irq = gic_init_irq,
336 .timer = &realview_pb1176_timer, 349 .timer = &realview_pb1176_timer,
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c
index 070d284ce96e..9bbbfc05f225 100644
--- a/arch/arm/mach-realview/realview_pb11mp.c
+++ b/arch/arm/mach-realview/realview_pb11mp.c
@@ -347,6 +347,7 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore")
347 .phys_io = REALVIEW_PB11MP_UART0_BASE, 347 .phys_io = REALVIEW_PB11MP_UART0_BASE,
348 .io_pg_offst = (IO_ADDRESS(REALVIEW_PB11MP_UART0_BASE) >> 18) & 0xfffc, 348 .io_pg_offst = (IO_ADDRESS(REALVIEW_PB11MP_UART0_BASE) >> 18) & 0xfffc,
349 .boot_params = PHYS_OFFSET + 0x00000100, 349 .boot_params = PHYS_OFFSET + 0x00000100,
350 .fixup = realview_fixup,
350 .map_io = realview_pb11mp_map_io, 351 .map_io = realview_pb11mp_map_io,
351 .init_irq = gic_init_irq, 352 .init_irq = gic_init_irq,
352 .timer = &realview_pb11mp_timer, 353 .timer = &realview_pb11mp_timer,
diff --git a/arch/arm/mach-realview/realview_pba8.c b/arch/arm/mach-realview/realview_pba8.c
index 941beb2b9709..fe861e96c566 100644
--- a/arch/arm/mach-realview/realview_pba8.c
+++ b/arch/arm/mach-realview/realview_pba8.c
@@ -298,6 +298,7 @@ MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8")
298 .phys_io = REALVIEW_PBA8_UART0_BASE, 298 .phys_io = REALVIEW_PBA8_UART0_BASE,
299 .io_pg_offst = (IO_ADDRESS(REALVIEW_PBA8_UART0_BASE) >> 18) & 0xfffc, 299 .io_pg_offst = (IO_ADDRESS(REALVIEW_PBA8_UART0_BASE) >> 18) & 0xfffc,
300 .boot_params = PHYS_OFFSET + 0x00000100, 300 .boot_params = PHYS_OFFSET + 0x00000100,
301 .fixup = realview_fixup,
301 .map_io = realview_pba8_map_io, 302 .map_io = realview_pba8_map_io,
302 .init_irq = gic_init_irq, 303 .init_irq = gic_init_irq,
303 .timer = &realview_pba8_timer, 304 .timer = &realview_pba8_timer,
diff --git a/arch/arm/mach-realview/realview_pbx.c b/arch/arm/mach-realview/realview_pbx.c
index 7e4bc6cdca52..ec39488e2b42 100644
--- a/arch/arm/mach-realview/realview_pbx.c
+++ b/arch/arm/mach-realview/realview_pbx.c
@@ -304,6 +304,26 @@ static struct sys_timer realview_pbx_timer = {
304 .init = realview_pbx_timer_init, 304 .init = realview_pbx_timer_init,
305}; 305};
306 306
307static void realview_pbx_fixup(struct machine_desc *mdesc, struct tag *tags,
308 char **from, struct meminfo *meminfo)
309{
310#ifdef CONFIG_SPARSEMEM
311 /*
312 * Memory configuration with SPARSEMEM enabled on RealView PBX (see
313 * asm/mach/memory.h for more information).
314 */
315 meminfo->bank[0].start = 0;
316 meminfo->bank[0].size = SZ_256M;
317 meminfo->bank[1].start = 0x20000000;
318 meminfo->bank[1].size = SZ_512M;
319 meminfo->bank[2].start = 0x80000000;
320 meminfo->bank[2].size = SZ_256M;
321 meminfo->nr_banks = 3;
322#else
323 realview_fixup(mdesc, tags, from, meminfo);
324#endif
325}
326
307static void __init realview_pbx_init(void) 327static void __init realview_pbx_init(void)
308{ 328{
309 int i; 329 int i;
@@ -345,6 +365,7 @@ MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX")
345 .phys_io = REALVIEW_PBX_UART0_BASE, 365 .phys_io = REALVIEW_PBX_UART0_BASE,
346 .io_pg_offst = (IO_ADDRESS(REALVIEW_PBX_UART0_BASE) >> 18) & 0xfffc, 366 .io_pg_offst = (IO_ADDRESS(REALVIEW_PBX_UART0_BASE) >> 18) & 0xfffc,
347 .boot_params = PHYS_OFFSET + 0x00000100, 367 .boot_params = PHYS_OFFSET + 0x00000100,
368 .fixup = realview_pbx_fixup,
348 .map_io = realview_pbx_map_io, 369 .map_io = realview_pbx_map_io,
349 .init_irq = gic_init_irq, 370 .init_irq = gic_init_irq,
350 .timer = &realview_pbx_timer, 371 .timer = &realview_pbx_timer,
diff --git a/arch/arm/mach-s3c6400/include/mach/dma.h b/arch/arm/mach-s3c6400/include/mach/dma.h
index 004edab23954..6723860748be 100644
--- a/arch/arm/mach-s3c6400/include/mach/dma.h
+++ b/arch/arm/mach-s3c6400/include/mach/dma.h
@@ -58,21 +58,13 @@ enum dma_ch {
58 DMACH_MAX /* the end */ 58 DMACH_MAX /* the end */
59}; 59};
60 60
61static __inline__ int s3c_dma_has_circular(void) 61static __inline__ bool s3c_dma_has_circular(void)
62{ 62{
63 /* we will be supporting ciruclar buffers as soon as we have DMA 63 return true;
64 * engine support.
65 */
66 return 1;
67} 64}
68 65
69#define S3C2410_DMAF_CIRCULAR (1 << 0) 66#define S3C2410_DMAF_CIRCULAR (1 << 0)
70 67
71static inline bool s3c_dma_has_circular(void)
72{
73 return false;
74}
75
76#include <plat/dma.h> 68#include <plat/dma.h>
77 69
78#endif /* __ASM_ARCH_IRQ_H */ 70#endif /* __ASM_ARCH_IRQ_H */
diff --git a/arch/arm/mach-s3c6410/Kconfig b/arch/arm/mach-s3c6410/Kconfig
index 53fc3ff657f7..72d4b11b2077 100644
--- a/arch/arm/mach-s3c6410/Kconfig
+++ b/arch/arm/mach-s3c6410/Kconfig
@@ -77,6 +77,7 @@ config SMDK6410_WM1190_EV1
77 depends on MACH_SMDK6410 77 depends on MACH_SMDK6410
78 select REGULATOR 78 select REGULATOR
79 select REGULATOR_WM8350 79 select REGULATOR_WM8350
80 select S3C24XX_GPIO_EXTRA64
80 select MFD_WM8350_I2C 81 select MFD_WM8350_I2C
81 select MFD_WM8350_CONFIG_MODE_0 82 select MFD_WM8350_CONFIG_MODE_0
82 select MFD_WM8350_CONFIG_MODE_3 83 select MFD_WM8350_CONFIG_MODE_3
diff --git a/arch/arm/mach-s3c6410/mach-smdk6410.c b/arch/arm/mach-s3c6410/mach-smdk6410.c
index ea51dbe76e3e..9f1a21462620 100644
--- a/arch/arm/mach-s3c6410/mach-smdk6410.c
+++ b/arch/arm/mach-s3c6410/mach-smdk6410.c
@@ -320,6 +320,9 @@ static int __init smdk6410_wm8350_init(struct wm8350 *wm8350)
320{ 320{
321 int i; 321 int i;
322 322
323 /* Configure the IRQ line */
324 s3c_gpio_setpull(S3C64XX_GPN(12), S3C_GPIO_PULL_UP);
325
323 /* Instantiate the regulators */ 326 /* Instantiate the regulators */
324 for (i = 0; i < ARRAY_SIZE(wm1190_regulators); i++) 327 for (i = 0; i < ARRAY_SIZE(wm1190_regulators); i++)
325 wm8350_register_regulator(wm8350, 328 wm8350_register_regulator(wm8350,
diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c
index be60d6deee8b..653e25be3dd8 100644
--- a/arch/arm/mach-u300/core.c
+++ b/arch/arm/mach-u300/core.c
@@ -408,7 +408,7 @@ static struct platform_device keypad_device = {
408}; 408};
409 409
410static struct platform_device rtc_device = { 410static struct platform_device rtc_device = {
411 .name = "rtc0", 411 .name = "rtc-coh901331",
412 .id = -1, 412 .id = -1,
413 .num_resources = ARRAY_SIZE(rtc_resources), 413 .num_resources = ARRAY_SIZE(rtc_resources),
414 .resource = rtc_resources, 414 .resource = rtc_resources,
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index eeeed01ee44a..3a285218fd15 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -186,9 +186,10 @@ cpu_v7_name:
186 */ 186 */
187__v7_setup: 187__v7_setup:
188#ifdef CONFIG_SMP 188#ifdef CONFIG_SMP
189 mrc p15, 0, r0, c1, c0, 1 @ Enable SMP/nAMP mode and 189 mrc p15, 0, r0, c1, c0, 1
190 orr r0, r0, #(1 << 6) | (1 << 0) @ TLB ops broadcasting 190 tst r0, #(1 << 6) @ SMP/nAMP mode enabled?
191 mcr p15, 0, r0, c1, c0, 1 191 orreq r0, r0, #(1 << 6) | (1 << 0) @ Enable SMP/nAMP mode and
192 mcreq p15, 0, r0, c1, c0, 1 @ TLB ops broadcasting
192#endif 193#endif
193 adr r12, __v7_setup_stack @ the local stack 194 adr r12, __v7_setup_stack @ the local stack
194 stmia r12, {r0-r5, r7, r9, r11, lr} 195 stmia r12, {r0-r5, r7, r9, r11, lr}
diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
index 1868c0d8f9b5..341235c278ac 100644
--- a/arch/arm/plat-omap/cpu-omap.c
+++ b/arch/arm/plat-omap/cpu-omap.c
@@ -127,7 +127,7 @@ static int __init omap_cpu_init(struct cpufreq_policy *policy)
127 } 127 }
128 128
129 /* FIXME: what's the actual transition time? */ 129 /* FIXME: what's the actual transition time? */
130 policy->cpuinfo.transition_latency = 10 * 1000 * 1000; 130 policy->cpuinfo.transition_latency = 300 * 1000;
131 131
132 return 0; 132 return 0;
133} 133}
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index b53125f41293..68eaae324b6a 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -691,13 +691,16 @@ static inline void disable_lnk(int lch)
691static inline void omap2_enable_irq_lch(int lch) 691static inline void omap2_enable_irq_lch(int lch)
692{ 692{
693 u32 val; 693 u32 val;
694 unsigned long flags;
694 695
695 if (!cpu_class_is_omap2()) 696 if (!cpu_class_is_omap2())
696 return; 697 return;
697 698
699 spin_lock_irqsave(&dma_chan_lock, flags);
698 val = dma_read(IRQENABLE_L0); 700 val = dma_read(IRQENABLE_L0);
699 val |= 1 << lch; 701 val |= 1 << lch;
700 dma_write(val, IRQENABLE_L0); 702 dma_write(val, IRQENABLE_L0);
703 spin_unlock_irqrestore(&dma_chan_lock, flags);
701} 704}
702 705
703int omap_request_dma(int dev_id, const char *dev_name, 706int omap_request_dma(int dev_id, const char *dev_name,
@@ -799,10 +802,13 @@ void omap_free_dma(int lch)
799 802
800 if (cpu_class_is_omap2()) { 803 if (cpu_class_is_omap2()) {
801 u32 val; 804 u32 val;
805
806 spin_lock_irqsave(&dma_chan_lock, flags);
802 /* Disable interrupts */ 807 /* Disable interrupts */
803 val = dma_read(IRQENABLE_L0); 808 val = dma_read(IRQENABLE_L0);
804 val &= ~(1 << lch); 809 val &= ~(1 << lch);
805 dma_write(val, IRQENABLE_L0); 810 dma_write(val, IRQENABLE_L0);
811 spin_unlock_irqrestore(&dma_chan_lock, flags);
806 812
807 /* Clear the CSR register and IRQ status register */ 813 /* Clear the CSR register and IRQ status register */
808 dma_write(OMAP2_DMA_CSR_CLEAR_MASK, CSR(lch)); 814 dma_write(OMAP2_DMA_CSR_CLEAR_MASK, CSR(lch));
@@ -1108,6 +1114,14 @@ int omap_dma_running(void)
1108{ 1114{
1109 int lch; 1115 int lch;
1110 1116
1117 /*
1118 * On OMAP1510, internal LCD controller will start the transfer
1119 * when it gets enabled, so assume DMA running if LCD enabled.
1120 */
1121 if (cpu_is_omap1510())
1122 if (omap_readw(0xfffec000 + 0x00) & (1 << 0))
1123 return 1;
1124
1111 /* Check if LCD DMA is running */ 1125 /* Check if LCD DMA is running */
1112 if (cpu_is_omap16xx()) 1126 if (cpu_is_omap16xx())
1113 if (omap_readw(OMAP1610_DMA_LCD_CCR) & OMAP_DMA_CCR_EN) 1127 if (omap_readw(OMAP1610_DMA_LCD_CCR) & OMAP_DMA_CCR_EN)
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 71ebd7fcfea1..7c345b757df1 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -373,7 +373,7 @@ static inline int gpio_valid(int gpio)
373 373
374static int check_gpio(int gpio) 374static int check_gpio(int gpio)
375{ 375{
376 if (unlikely(gpio_valid(gpio)) < 0) { 376 if (unlikely(gpio_valid(gpio) < 0)) {
377 printk(KERN_ERR "omap-gpio: invalid GPIO %d\n", gpio); 377 printk(KERN_ERR "omap-gpio: invalid GPIO %d\n", gpio);
378 dump_stack(); 378 dump_stack();
379 return -1; 379 return -1;
diff --git a/arch/arm/plat-pxa/include/plat/mfp.h b/arch/arm/plat-pxa/include/plat/mfp.h
index 22086e696e8e..857a6839071c 100644
--- a/arch/arm/plat-pxa/include/plat/mfp.h
+++ b/arch/arm/plat-pxa/include/plat/mfp.h
@@ -16,7 +16,7 @@
16#ifndef __ASM_PLAT_MFP_H 16#ifndef __ASM_PLAT_MFP_H
17#define __ASM_PLAT_MFP_H 17#define __ASM_PLAT_MFP_H
18 18
19#define mfp_to_gpio(m) ((m) % 128) 19#define mfp_to_gpio(m) ((m) % 256)
20 20
21/* list of all the configurable MFP pins */ 21/* list of all the configurable MFP pins */
22enum { 22enum {
diff --git a/arch/arm/plat-pxa/mfp.c b/arch/arm/plat-pxa/mfp.c
index 9405d0379c85..be58f9fe65b0 100644
--- a/arch/arm/plat-pxa/mfp.c
+++ b/arch/arm/plat-pxa/mfp.c
@@ -207,7 +207,7 @@ unsigned long mfp_read(int mfp)
207{ 207{
208 unsigned long val, flags; 208 unsigned long val, flags;
209 209
210 BUG_ON(mfp >= MFP_PIN_MAX); 210 BUG_ON(mfp < 0 || mfp >= MFP_PIN_MAX);
211 211
212 spin_lock_irqsave(&mfp_spin_lock, flags); 212 spin_lock_irqsave(&mfp_spin_lock, flags);
213 val = mfpr_readl(mfp_table[mfp].mfpr_off); 213 val = mfpr_readl(mfp_table[mfp].mfpr_off);
@@ -220,7 +220,7 @@ void mfp_write(int mfp, unsigned long val)
220{ 220{
221 unsigned long flags; 221 unsigned long flags;
222 222
223 BUG_ON(mfp >= MFP_PIN_MAX); 223 BUG_ON(mfp < 0 || mfp >= MFP_PIN_MAX);
224 224
225 spin_lock_irqsave(&mfp_spin_lock, flags); 225 spin_lock_irqsave(&mfp_spin_lock, flags);
226 mfpr_writel(mfp_table[mfp].mfpr_off, val); 226 mfpr_writel(mfp_table[mfp].mfpr_off, val);
diff --git a/arch/arm/plat-s3c64xx/dma.c b/arch/arm/plat-s3c64xx/dma.c
index 266a10745a85..d554b936fcfb 100644
--- a/arch/arm/plat-s3c64xx/dma.c
+++ b/arch/arm/plat-s3c64xx/dma.c
@@ -151,8 +151,6 @@ static void s3c64xx_dma_fill_lli(struct s3c2410_dma_chan *chan,
151 src = chan->dev_addr; 151 src = chan->dev_addr;
152 dst = data; 152 dst = data;
153 control0 = PL080_CONTROL_SRC_AHB2; 153 control0 = PL080_CONTROL_SRC_AHB2;
154 control0 |= (u32)chan->hw_width << PL080_CONTROL_SWIDTH_SHIFT;
155 control0 |= 2 << PL080_CONTROL_DWIDTH_SHIFT;
156 control0 |= PL080_CONTROL_DST_INCR; 154 control0 |= PL080_CONTROL_DST_INCR;
157 break; 155 break;
158 156
@@ -160,8 +158,6 @@ static void s3c64xx_dma_fill_lli(struct s3c2410_dma_chan *chan,
160 src = data; 158 src = data;
161 dst = chan->dev_addr; 159 dst = chan->dev_addr;
162 control0 = PL080_CONTROL_DST_AHB2; 160 control0 = PL080_CONTROL_DST_AHB2;
163 control0 |= (u32)chan->hw_width << PL080_CONTROL_DWIDTH_SHIFT;
164 control0 |= 2 << PL080_CONTROL_SWIDTH_SHIFT;
165 control0 |= PL080_CONTROL_SRC_INCR; 161 control0 |= PL080_CONTROL_SRC_INCR;
166 break; 162 break;
167 default: 163 default:
@@ -173,6 +169,8 @@ static void s3c64xx_dma_fill_lli(struct s3c2410_dma_chan *chan,
173 control1 = size >> chan->hw_width; /* size in no of xfers */ 169 control1 = size >> chan->hw_width; /* size in no of xfers */
174 control0 |= PL080_CONTROL_PROT_SYS; /* always in priv. mode */ 170 control0 |= PL080_CONTROL_PROT_SYS; /* always in priv. mode */
175 control0 |= PL080_CONTROL_TC_IRQ_EN; /* always fire IRQ */ 171 control0 |= PL080_CONTROL_TC_IRQ_EN; /* always fire IRQ */
172 control0 |= (u32)chan->hw_width << PL080_CONTROL_DWIDTH_SHIFT;
173 control0 |= (u32)chan->hw_width << PL080_CONTROL_SWIDTH_SHIFT;
176 174
177 lli->src_addr = src; 175 lli->src_addr = src;
178 lli->dst_addr = dst; 176 lli->dst_addr = dst;
@@ -339,6 +337,7 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
339 struct s3c64xx_dma_buff *next; 337 struct s3c64xx_dma_buff *next;
340 struct s3c64xx_dma_buff *buff; 338 struct s3c64xx_dma_buff *buff;
341 struct pl080s_lli *lli; 339 struct pl080s_lli *lli;
340 unsigned long flags;
342 int ret; 341 int ret;
343 342
344 WARN_ON(!chan); 343 WARN_ON(!chan);
@@ -366,6 +365,8 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
366 365
367 s3c64xx_dma_fill_lli(chan, lli, data, size); 366 s3c64xx_dma_fill_lli(chan, lli, data, size);
368 367
368 local_irq_save(flags);
369
369 if ((next = chan->next) != NULL) { 370 if ((next = chan->next) != NULL) {
370 struct s3c64xx_dma_buff *end = chan->end; 371 struct s3c64xx_dma_buff *end = chan->end;
371 struct pl080s_lli *endlli = end->lli; 372 struct pl080s_lli *endlli = end->lli;
@@ -397,6 +398,8 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
397 s3c64xx_lli_to_regs(chan, lli); 398 s3c64xx_lli_to_regs(chan, lli);
398 } 399 }
399 400
401 local_irq_restore(flags);
402
400 show_lli(lli); 403 show_lli(lli);
401 404
402 dbg_showchan(chan); 405 dbg_showchan(chan);
@@ -560,26 +563,11 @@ int s3c2410_dma_free(unsigned int channel, struct s3c2410_dma_client *client)
560 563
561EXPORT_SYMBOL(s3c2410_dma_free); 564EXPORT_SYMBOL(s3c2410_dma_free);
562 565
563
564static void s3c64xx_dma_tcirq(struct s3c64xx_dmac *dmac, int offs)
565{
566 struct s3c2410_dma_chan *chan = dmac->channels + offs;
567
568 /* note, we currently do not bother to work out which buffer
569 * or buffers have been completed since the last tc-irq. */
570
571 if (chan->callback_fn)
572 (chan->callback_fn)(chan, chan->curr->pw, 0, S3C2410_RES_OK);
573}
574
575static void s3c64xx_dma_errirq(struct s3c64xx_dmac *dmac, int offs)
576{
577 printk(KERN_DEBUG "%s: offs %d\n", __func__, offs);
578}
579
580static irqreturn_t s3c64xx_dma_irq(int irq, void *pw) 566static irqreturn_t s3c64xx_dma_irq(int irq, void *pw)
581{ 567{
582 struct s3c64xx_dmac *dmac = pw; 568 struct s3c64xx_dmac *dmac = pw;
569 struct s3c2410_dma_chan *chan;
570 enum s3c2410_dma_buffresult res;
583 u32 tcstat, errstat; 571 u32 tcstat, errstat;
584 u32 bit; 572 u32 bit;
585 int offs; 573 int offs;
@@ -588,14 +576,54 @@ static irqreturn_t s3c64xx_dma_irq(int irq, void *pw)
588 errstat = readl(dmac->regs + PL080_ERR_STATUS); 576 errstat = readl(dmac->regs + PL080_ERR_STATUS);
589 577
590 for (offs = 0, bit = 1; offs < 8; offs++, bit <<= 1) { 578 for (offs = 0, bit = 1; offs < 8; offs++, bit <<= 1) {
579 struct s3c64xx_dma_buff *buff;
580
581 if (!(errstat & bit) && !(tcstat & bit))
582 continue;
583
584 chan = dmac->channels + offs;
585 res = S3C2410_RES_ERR;
586
591 if (tcstat & bit) { 587 if (tcstat & bit) {
592 writel(bit, dmac->regs + PL080_TC_CLEAR); 588 writel(bit, dmac->regs + PL080_TC_CLEAR);
593 s3c64xx_dma_tcirq(dmac, offs); 589 res = S3C2410_RES_OK;
594 } 590 }
595 591
596 if (errstat & bit) { 592 if (errstat & bit)
597 s3c64xx_dma_errirq(dmac, offs);
598 writel(bit, dmac->regs + PL080_ERR_CLEAR); 593 writel(bit, dmac->regs + PL080_ERR_CLEAR);
594
595 /* 'next' points to the buffer that is next to the
596 * currently active buffer.
597 * For CIRCULAR queues, 'next' will be same as 'curr'
598 * when 'end' is the active buffer.
599 */
600 buff = chan->curr;
601 while (buff && buff != chan->next
602 && buff->next != chan->next)
603 buff = buff->next;
604
605 if (!buff)
606 BUG();
607
608 if (buff == chan->next)
609 buff = chan->end;
610
611 s3c64xx_dma_bufffdone(chan, buff, res);
612
613 /* Free the node and update curr, if non-circular queue */
614 if (!(chan->flags & S3C2410_DMAF_CIRCULAR)) {
615 chan->curr = buff->next;
616 s3c64xx_dma_freebuff(buff);
617 }
618
619 /* Update 'next' */
620 buff = chan->next;
621 if (chan->next == chan->end) {
622 chan->next = chan->curr;
623 if (!(chan->flags & S3C2410_DMAF_CIRCULAR))
624 chan->end = NULL;
625 } else {
626 chan->next = buff->next;
599 } 627 }
600 } 628 }
601 629
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index 94be7bb6cb9a..07b976da6174 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -12,7 +12,7 @@
12# 12#
13# http://www.arm.linux.org.uk/developer/machines/?action=new 13# http://www.arm.linux.org.uk/developer/machines/?action=new
14# 14#
15# Last update: Fri Sep 18 21:42:00 2009 15# Last update: Wed Nov 25 22:14:58 2009
16# 16#
17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
18# 18#
@@ -928,7 +928,7 @@ palmt5 MACH_PALMT5 PALMT5 917
928palmtc MACH_PALMTC PALMTC 918 928palmtc MACH_PALMTC PALMTC 918
929omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919 929omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
930mxc30030evb MACH_MXC30030EVB MXC30030EVB 920 930mxc30030evb MACH_MXC30030EVB MXC30030EVB 920
931rea_2d MACH_REA_2D REA_2D 921 931rea_cpu2 MACH_REA_2D REA_2D 921
932eti3e524 MACH_TI3E524 TI3E524 922 932eti3e524 MACH_TI3E524 TI3E524 922
933ateb9200 MACH_ATEB9200 ATEB9200 923 933ateb9200 MACH_ATEB9200 ATEB9200 923
934auckland MACH_AUCKLAND AUCKLAND 924 934auckland MACH_AUCKLAND AUCKLAND 924
@@ -2421,3 +2421,118 @@ liberty MACH_LIBERTY LIBERTY 2434
2421mh355 MACH_MH355 MH355 2435 2421mh355 MACH_MH355 MH355 2435
2422pc7802 MACH_PC7802 PC7802 2436 2422pc7802 MACH_PC7802 PC7802 2436
2423gnet_sgc MACH_GNET_SGC GNET_SGC 2437 2423gnet_sgc MACH_GNET_SGC GNET_SGC 2437
2424einstein15 MACH_EINSTEIN15 EINSTEIN15 2438
2425cmpd MACH_CMPD CMPD 2439
2426davinci_hase1 MACH_DAVINCI_HASE1 DAVINCI_HASE1 2440
2427lgeincitephone MACH_LGEINCITEPHONE LGEINCITEPHONE 2441
2428ea313x MACH_EA313X EA313X 2442
2429fwbd_39064 MACH_FWBD_39064 FWBD_39064 2443
2430fwbd_390128 MACH_FWBD_390128 FWBD_390128 2444
2431pelco_moe MACH_PELCO_MOE PELCO_MOE 2445
2432minimix27 MACH_MINIMIX27 MINIMIX27 2446
2433omap3_thunder MACH_OMAP3_THUNDER OMAP3_THUNDER 2447
2434passionc MACH_PASSIONC PASSIONC 2448
2435mx27amata MACH_MX27AMATA MX27AMATA 2449
2436bgat1 MACH_BGAT1 BGAT1 2450
2437buzz MACH_BUZZ BUZZ 2451
2438mb9g20 MACH_MB9G20 MB9G20 2452
2439yushan MACH_YUSHAN YUSHAN 2453
2440lizard MACH_LIZARD LIZARD 2454
2441omap3polycom MACH_OMAP3POLYCOM OMAP3POLYCOM 2455
2442smdkv210 MACH_SMDKV210 SMDKV210 2456
2443bravo MACH_BRAVO BRAVO 2457
2444siogentoo1 MACH_SIOGENTOO1 SIOGENTOO1 2458
2445siogentoo2 MACH_SIOGENTOO2 SIOGENTOO2 2459
2446sm3k MACH_SM3K SM3K 2460
2447acer_tempo_f900 MACH_ACER_TEMPO_F900 ACER_TEMPO_F900 2461
2448sst61vc010_dev MACH_SST61VC010_DEV SST61VC010_DEV 2462
2449glittertind MACH_GLITTERTIND GLITTERTIND 2463
2450omap_zoom3 MACH_OMAP_ZOOM3 OMAP_ZOOM3 2464
2451omap_3630sdp MACH_OMAP_3630SDP OMAP_3630SDP 2465
2452cybook2440 MACH_CYBOOK2440 CYBOOK2440 2466
2453torino_s MACH_TORINO_S TORINO_S 2467
2454havana MACH_HAVANA HAVANA 2468
2455beaumont_11 MACH_BEAUMONT_11 BEAUMONT_11 2469
2456vanguard MACH_VANGUARD VANGUARD 2470
2457s5pc110_draco MACH_S5PC110_DRACO S5PC110_DRACO 2471
2458cartesio_two MACH_CARTESIO_TWO CARTESIO_TWO 2472
2459aster MACH_ASTER ASTER 2473
2460voguesv210 MACH_VOGUESV210 VOGUESV210 2474
2461acm500x MACH_ACM500X ACM500X 2475
2462km9260 MACH_KM9260 KM9260 2476
2463nideflexg1 MACH_NIDEFLEXG1 NIDEFLEXG1 2477
2464ctera_plug_io MACH_CTERA_PLUG_IO CTERA_PLUG_IO 2478
2465smartq7 MACH_SMARTQ7 SMARTQ7 2479
2466at91sam9g10ek2 MACH_AT91SAM9G10EK2 AT91SAM9G10EK2 2480
2467asusp527 MACH_ASUSP527 ASUSP527 2481
2468at91sam9g20mpm2 MACH_AT91SAM9G20MPM2 AT91SAM9G20MPM2 2482
2469topasa900 MACH_TOPASA900 TOPASA900 2483
2470electrum_100 MACH_ELECTRUM_100 ELECTRUM_100 2484
2471mx51grb MACH_MX51GRB MX51GRB 2485
2472xea300 MACH_XEA300 XEA300 2486
2473htcstartrek MACH_HTCSTARTREK HTCSTARTREK 2487
2474lima MACH_LIMA LIMA 2488
2475csb740 MACH_CSB740 CSB740 2489
2476usb_s8815 MACH_USB_S8815 USB_S8815 2490
2477watson_efm_plugin MACH_WATSON_EFM_PLUGIN WATSON_EFM_PLUGIN 2491
2478milkyway MACH_MILKYWAY MILKYWAY 2492
2479g4evm MACH_G4EVM G4EVM 2493
2480picomod6 MACH_PICOMOD6 PICOMOD6 2494
2481omapl138_hawkboard MACH_OMAPL138_HAWKBOARD OMAPL138_HAWKBOARD 2495
2482ip6000 MACH_IP6000 IP6000 2496
2483ip6010 MACH_IP6010 IP6010 2497
2484utm400 MACH_UTM400 UTM400 2498
2485omap3_zybex MACH_OMAP3_ZYBEX OMAP3_ZYBEX 2499
2486wireless_space MACH_WIRELESS_SPACE WIRELESS_SPACE 2500
2487sx560 MACH_SX560 SX560 2501
2488ts41x MACH_TS41X TS41X 2502
2489elphel10373 MACH_ELPHEL10373 ELPHEL10373 2503
2490rhobot MACH_RHOBOT RHOBOT 2504
2491mx51_refresh MACH_MX51_REFRESH MX51_REFRESH 2505
2492ls9260 MACH_LS9260 LS9260 2506
2493shank MACH_SHANK SHANK 2507
2494qsd8x50_st1 MACH_QSD8X50_ST1 QSD8X50_ST1 2508
2495at91sam9m10ekes MACH_AT91SAM9M10EKES AT91SAM9M10EKES 2509
2496hiram MACH_HIRAM HIRAM 2510
2497phy3250 MACH_PHY3250 PHY3250 2511
2498ea3250 MACH_EA3250 EA3250 2512
2499fdi3250 MACH_FDI3250 FDI3250 2513
2500whitestone MACH_WHITESTONE WHITESTONE 2514
2501at91sam9263nit MACH_AT91SAM9263NIT AT91SAM9263NIT 2515
2502ccmx51 MACH_CCMX51 CCMX51 2516
2503ccmx51js MACH_CCMX51JS CCMX51JS 2517
2504ccwmx51 MACH_CCWMX51 CCWMX51 2518
2505ccwmx51js MACH_CCWMX51JS CCWMX51JS 2519
2506mini6410 MACH_MINI6410 MINI6410 2520
2507tiny6410 MACH_TINY6410 TINY6410 2521
2508nano6410 MACH_NANO6410 NANO6410 2522
2509at572d940hfnldb MACH_AT572D940HFNLDB AT572D940HFNLDB 2523
2510htcleo MACH_HTCLEO HTCLEO 2524
2511avp13 MACH_AVP13 AVP13 2525
2512xxsvideod MACH_XXSVIDEOD XXSVIDEOD 2526
2513vpnext MACH_VPNEXT VPNEXT 2527
2514swarco_itc3 MACH_SWARCO_ITC3 SWARCO_ITC3 2528
2515tx51 MACH_TX51 TX51 2529
2516dolby_cat1021 MACH_DOLBY_CAT1021 DOLBY_CAT1021 2530
2517mx28evk MACH_MX28EVK MX28EVK 2531
2518phoenix260 MACH_PHOENIX260 PHOENIX260 2532
2519uvaca_stork MACH_UVACA_STORK UVACA_STORK 2533
2520smartq5 MACH_SMARTQ5 SMARTQ5 2534
2521all3078 MACH_ALL3078 ALL3078 2535
2522ctera_2bay_ds MACH_CTERA_2BAY_DS CTERA_2BAY_DS 2536
2523siogentoo3 MACH_SIOGENTOO3 SIOGENTOO3 2537
2524epb5000 MACH_EPB5000 EPB5000 2538
2525hy9263 MACH_HY9263 HY9263 2539
2526acer_tempo_m900 MACH_ACER_TEMPO_M900 ACER_TEMPO_M900 2540
2527acer_tempo_dx650 MACH_ACER_TEMPO_DX900 ACER_TEMPO_DX900 2541
2528acer_tempo_x960 MACH_ACER_TEMPO_X960 ACER_TEMPO_X960 2542
2529acer_eten_v900 MACH_ACER_ETEN_V900 ACER_ETEN_V900 2543
2530acer_eten_x900 MACH_ACER_ETEN_X900 ACER_ETEN_X900 2544
2531bonnell MACH_BONNELL BONNELL 2545
2532oht_mx27 MACH_OHT_MX27 OHT_MX27 2546
2533htcquartz MACH_HTCQUARTZ HTCQUARTZ 2547
2534davinci_dm6467tevm MACH_DAVINCI_DM6467TEVM DAVINCI_DM6467TEVM 2548
2535c3ax03 MACH_C3AX03 C3AX03 2549
2536mxt_td60 MACH_MXT_TD60 MXT_TD60 2550
2537esyx MACH_ESYX ESYX 2551
2538bulldog MACH_BULLDOG BULLDOG 2553
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c
index 1f170216d2f9..3946aff4f414 100644
--- a/arch/blackfin/kernel/bfin_dma_5xx.c
+++ b/arch/blackfin/kernel/bfin_dma_5xx.c
@@ -225,8 +225,13 @@ int blackfin_dma_suspend(void)
225void blackfin_dma_resume(void) 225void blackfin_dma_resume(void)
226{ 226{
227 int i; 227 int i;
228 for (i = 0; i < MAX_DMA_SUSPEND_CHANNELS; ++i) 228
229 dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map; 229 for (i = 0; i < MAX_DMA_CHANNELS; ++i) {
230 dma_ch[i].regs->cfg = 0;
231
232 if (i < MAX_DMA_SUSPEND_CHANNELS)
233 dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map;
234 }
230} 235}
231#endif 236#endif
232 237
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbinit.c b/arch/blackfin/kernel/cplb-mpu/cplbinit.c
index f7b9cdce8239..b52c1f8c4bc0 100644
--- a/arch/blackfin/kernel/cplb-mpu/cplbinit.c
+++ b/arch/blackfin/kernel/cplb-mpu/cplbinit.c
@@ -38,7 +38,7 @@ void __init generate_cplb_tables_cpu(unsigned int cpu)
38 38
39#ifdef CONFIG_BFIN_EXTMEM_DCACHEABLE 39#ifdef CONFIG_BFIN_EXTMEM_DCACHEABLE
40 d_cache = CPLB_L1_CHBL; 40 d_cache = CPLB_L1_CHBL;
41#ifdef CONFIG_BFIN_EXTMEM_WRITETROUGH 41#ifdef CONFIG_BFIN_EXTMEM_WRITETHROUGH
42 d_cache |= CPLB_L1_AOW | CPLB_WT; 42 d_cache |= CPLB_L1_AOW | CPLB_WT;
43#endif 43#endif
44#endif 44#endif
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
index 430ae39456e8..5cc7e2e9e415 100644
--- a/arch/blackfin/kernel/process.c
+++ b/arch/blackfin/kernel/process.c
@@ -151,7 +151,7 @@ void start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_
151 regs->pc = new_ip; 151 regs->pc = new_ip;
152 if (current->mm) 152 if (current->mm)
153 regs->p5 = current->mm->start_data; 153 regs->p5 = current->mm->start_data;
154#ifdef CONFIG_SMP 154#ifndef CONFIG_SMP
155 task_thread_info(current)->l1_task_info.stack_start = 155 task_thread_info(current)->l1_task_info.stack_start =
156 (void *)current->mm->context.stack_start; 156 (void *)current->mm->context.stack_start;
157 task_thread_info(current)->l1_task_info.lowest_sp = (void *)new_sp; 157 task_thread_info(current)->l1_task_info.lowest_sp = (void *)new_sp;
diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c
index 0982b5d5af10..56b0ba12175f 100644
--- a/arch/blackfin/kernel/ptrace.c
+++ b/arch/blackfin/kernel/ptrace.c
@@ -315,7 +315,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
315 case BFIN_MEM_ACCESS_CORE: 315 case BFIN_MEM_ACCESS_CORE:
316 case BFIN_MEM_ACCESS_CORE_ONLY: 316 case BFIN_MEM_ACCESS_CORE_ONLY:
317 copied = access_process_vm(child, addr, &data, 317 copied = access_process_vm(child, addr, &data,
318 to_copy, 0); 318 to_copy, 1);
319 if (copied) 319 if (copied)
320 break; 320 break;
321 321
diff --git a/arch/blackfin/mach-bf518/include/mach/anomaly.h b/arch/blackfin/mach-bf518/include/mach/anomaly.h
index e9c65390edd1..2829dd0400f1 100644
--- a/arch/blackfin/mach-bf518/include/mach/anomaly.h
+++ b/arch/blackfin/mach-bf518/include/mach/anomaly.h
@@ -1,9 +1,13 @@
1/* 1/*
2 * File: include/asm-blackfin/mach-bf518/anomaly.h 2 * DO NOT EDIT THIS FILE
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 3 * This file is under version control at
4 * svn://sources.blackfin.uclinux.org/toolchain/trunk/proc-defs/header-frags/
5 * and can be replaced with that version at any time
6 * DO NOT EDIT THIS FILE
4 * 7 *
5 * Copyright (C) 2004-2009 Analog Devices Inc. 8 * Copyright 2004-2009 Analog Devices Inc.
6 * Licensed under the GPL-2 or later. 9 * Licensed under the ADI BSD license.
10 * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd
7 */ 11 */
8 12
9/* This file should be up to date with: 13/* This file should be up to date with:
@@ -70,6 +74,10 @@
70#define ANOMALY_05000461 (1) 74#define ANOMALY_05000461 (1)
71/* Synchronization Problem at Startup May Cause SPORT Transmit Channels to Misalign */ 75/* Synchronization Problem at Startup May Cause SPORT Transmit Channels to Misalign */
72#define ANOMALY_05000462 (1) 76#define ANOMALY_05000462 (1)
77/* Interrupted 32-Bit SPORT Data Register Access Results In Underflow */
78#define ANOMALY_05000473 (1)
79/* TESTSET Instruction Cannot Be Interrupted */
80#define ANOMALY_05000477 (1)
73 81
74/* Anomalies that don't exist on this proc */ 82/* Anomalies that don't exist on this proc */
75#define ANOMALY_05000099 (0) 83#define ANOMALY_05000099 (0)
@@ -133,5 +141,7 @@
133#define ANOMALY_05000450 (0) 141#define ANOMALY_05000450 (0)
134#define ANOMALY_05000465 (0) 142#define ANOMALY_05000465 (0)
135#define ANOMALY_05000467 (0) 143#define ANOMALY_05000467 (0)
144#define ANOMALY_05000474 (0)
145#define ANOMALY_05000475 (0)
136 146
137#endif 147#endif
diff --git a/arch/blackfin/mach-bf527/include/mach/anomaly.h b/arch/blackfin/mach-bf527/include/mach/anomaly.h
index 3f9052687fa8..02040df8ec80 100644
--- a/arch/blackfin/mach-bf527/include/mach/anomaly.h
+++ b/arch/blackfin/mach-bf527/include/mach/anomaly.h
@@ -1,14 +1,18 @@
1/* 1/*
2 * File: include/asm-blackfin/mach-bf527/anomaly.h 2 * DO NOT EDIT THIS FILE
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 3 * This file is under version control at
4 * svn://sources.blackfin.uclinux.org/toolchain/trunk/proc-defs/header-frags/
5 * and can be replaced with that version at any time
6 * DO NOT EDIT THIS FILE
4 * 7 *
5 * Copyright (C) 2004-2009 Analog Devices Inc. 8 * Copyright 2004-2009 Analog Devices Inc.
6 * Licensed under the GPL-2 or later. 9 * Licensed under the ADI BSD license.
10 * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd
7 */ 11 */
8 12
9/* This file should be up to date with: 13/* This file should be up to date with:
10 * - Revision D, 08/14/2009; ADSP-BF526 Blackfin Processor Anomaly List 14 * - Revision D, 08/14/2009; ADSP-BF526 Blackfin Processor Anomaly List
11 * - Revision F, 03/03/2009; ADSP-BF527 Blackfin Processor Anomaly List 15 * - Revision G, 08/25/2009; ADSP-BF527 Blackfin Processor Anomaly List
12 */ 16 */
13 17
14#ifndef _MACH_ANOMALY_H_ 18#ifndef _MACH_ANOMALY_H_
@@ -200,6 +204,10 @@
200#define ANOMALY_05000467 (1) 204#define ANOMALY_05000467 (1)
201/* PLL Latches Incorrect Settings During Reset */ 205/* PLL Latches Incorrect Settings During Reset */
202#define ANOMALY_05000469 (1) 206#define ANOMALY_05000469 (1)
207/* Interrupted 32-Bit SPORT Data Register Access Results In Underflow */
208#define ANOMALY_05000473 (1)
209/* TESTSET Instruction Cannot Be Interrupted */
210#define ANOMALY_05000477 (1)
203 211
204/* Anomalies that don't exist on this proc */ 212/* Anomalies that don't exist on this proc */
205#define ANOMALY_05000099 (0) 213#define ANOMALY_05000099 (0)
@@ -250,5 +258,7 @@
250#define ANOMALY_05000412 (0) 258#define ANOMALY_05000412 (0)
251#define ANOMALY_05000447 (0) 259#define ANOMALY_05000447 (0)
252#define ANOMALY_05000448 (0) 260#define ANOMALY_05000448 (0)
261#define ANOMALY_05000474 (0)
262#define ANOMALY_05000475 (0)
253 263
254#endif 264#endif
diff --git a/arch/blackfin/mach-bf533/include/mach/anomaly.h b/arch/blackfin/mach-bf533/include/mach/anomaly.h
index cd83db2fb1a1..9b3f7a27714d 100644
--- a/arch/blackfin/mach-bf533/include/mach/anomaly.h
+++ b/arch/blackfin/mach-bf533/include/mach/anomaly.h
@@ -1,9 +1,13 @@
1/* 1/*
2 * File: include/asm-blackfin/mach-bf533/anomaly.h 2 * DO NOT EDIT THIS FILE
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 3 * This file is under version control at
4 * svn://sources.blackfin.uclinux.org/toolchain/trunk/proc-defs/header-frags/
5 * and can be replaced with that version at any time
6 * DO NOT EDIT THIS FILE
4 * 7 *
5 * Copyright (C) 2004-2009 Analog Devices Inc. 8 * Copyright 2004-2009 Analog Devices Inc.
6 * Licensed under the GPL-2 or later. 9 * Licensed under the ADI BSD license.
10 * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd
7 */ 11 */
8 12
9/* This file should be up to date with: 13/* This file should be up to date with:
@@ -202,6 +206,10 @@
202#define ANOMALY_05000443 (1) 206#define ANOMALY_05000443 (1)
203/* False Hardware Error when RETI Points to Invalid Memory */ 207/* False Hardware Error when RETI Points to Invalid Memory */
204#define ANOMALY_05000461 (1) 208#define ANOMALY_05000461 (1)
209/* Interrupted 32-Bit SPORT Data Register Access Results In Underflow */
210#define ANOMALY_05000473 (1)
211/* TESTSET Instruction Cannot Be Interrupted */
212#define ANOMALY_05000477 (1)
205 213
206/* These anomalies have been "phased" out of analog.com anomaly sheets and are 214/* These anomalies have been "phased" out of analog.com anomaly sheets and are
207 * here to show running on older silicon just isn't feasible. 215 * here to show running on older silicon just isn't feasible.
@@ -349,5 +357,7 @@
349#define ANOMALY_05000450 (0) 357#define ANOMALY_05000450 (0)
350#define ANOMALY_05000465 (0) 358#define ANOMALY_05000465 (0)
351#define ANOMALY_05000467 (0) 359#define ANOMALY_05000467 (0)
360#define ANOMALY_05000474 (0)
361#define ANOMALY_05000475 (0)
352 362
353#endif 363#endif
diff --git a/arch/blackfin/mach-bf537/include/mach/anomaly.h b/arch/blackfin/mach-bf537/include/mach/anomaly.h
index f091ad2d8ea8..d2c427bc6656 100644
--- a/arch/blackfin/mach-bf537/include/mach/anomaly.h
+++ b/arch/blackfin/mach-bf537/include/mach/anomaly.h
@@ -1,9 +1,13 @@
1/* 1/*
2 * File: include/asm-blackfin/mach-bf537/anomaly.h 2 * DO NOT EDIT THIS FILE
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 3 * This file is under version control at
4 * svn://sources.blackfin.uclinux.org/toolchain/trunk/proc-defs/header-frags/
5 * and can be replaced with that version at any time
6 * DO NOT EDIT THIS FILE
4 * 7 *
5 * Copyright (C) 2004-2009 Analog Devices Inc. 8 * Copyright 2004-2009 Analog Devices Inc.
6 * Licensed under the GPL-2 or later. 9 * Licensed under the ADI BSD license.
10 * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd
7 */ 11 */
8 12
9/* This file should be up to date with: 13/* This file should be up to date with:
@@ -156,6 +160,10 @@
156#define ANOMALY_05000443 (1) 160#define ANOMALY_05000443 (1)
157/* False Hardware Error when RETI Points to Invalid Memory */ 161/* False Hardware Error when RETI Points to Invalid Memory */
158#define ANOMALY_05000461 (1) 162#define ANOMALY_05000461 (1)
163/* Interrupted 32-Bit SPORT Data Register Access Results In Underflow */
164#define ANOMALY_05000473 (1)
165/* TESTSET Instruction Cannot Be Interrupted */
166#define ANOMALY_05000477 (1)
159 167
160/* Anomalies that don't exist on this proc */ 168/* Anomalies that don't exist on this proc */
161#define ANOMALY_05000099 (0) 169#define ANOMALY_05000099 (0)
@@ -202,5 +210,7 @@
202#define ANOMALY_05000450 (0) 210#define ANOMALY_05000450 (0)
203#define ANOMALY_05000465 (0) 211#define ANOMALY_05000465 (0)
204#define ANOMALY_05000467 (0) 212#define ANOMALY_05000467 (0)
213#define ANOMALY_05000474 (0)
214#define ANOMALY_05000475 (0)
205 215
206#endif 216#endif
diff --git a/arch/blackfin/mach-bf538/include/mach/anomaly.h b/arch/blackfin/mach-bf538/include/mach/anomaly.h
index 26b76083e14c..d882b7e6f59b 100644
--- a/arch/blackfin/mach-bf538/include/mach/anomaly.h
+++ b/arch/blackfin/mach-bf538/include/mach/anomaly.h
@@ -1,9 +1,13 @@
1/* 1/*
2 * File: include/asm-blackfin/mach-bf538/anomaly.h 2 * DO NOT EDIT THIS FILE
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 3 * This file is under version control at
4 * svn://sources.blackfin.uclinux.org/toolchain/trunk/proc-defs/header-frags/
5 * and can be replaced with that version at any time
6 * DO NOT EDIT THIS FILE
4 * 7 *
5 * Copyright (C) 2004-2009 Analog Devices Inc. 8 * Copyright 2004-2009 Analog Devices Inc.
6 * Licensed under the GPL-2 or later. 9 * Licensed under the ADI BSD license.
10 * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd
7 */ 11 */
8 12
9/* This file should be up to date with: 13/* This file should be up to date with:
@@ -128,6 +132,10 @@
128#define ANOMALY_05000443 (1) 132#define ANOMALY_05000443 (1)
129/* False Hardware Error when RETI Points to Invalid Memory */ 133/* False Hardware Error when RETI Points to Invalid Memory */
130#define ANOMALY_05000461 (1) 134#define ANOMALY_05000461 (1)
135/* Interrupted 32-Bit SPORT Data Register Access Results In Underflow */
136#define ANOMALY_05000473 (1)
137/* TESTSET Instruction Cannot Be Interrupted */
138#define ANOMALY_05000477 (1)
131 139
132/* Anomalies that don't exist on this proc */ 140/* Anomalies that don't exist on this proc */
133#define ANOMALY_05000099 (0) 141#define ANOMALY_05000099 (0)
@@ -176,5 +184,7 @@
176#define ANOMALY_05000450 (0) 184#define ANOMALY_05000450 (0)
177#define ANOMALY_05000465 (0) 185#define ANOMALY_05000465 (0)
178#define ANOMALY_05000467 (0) 186#define ANOMALY_05000467 (0)
187#define ANOMALY_05000474 (0)
188#define ANOMALY_05000475 (0)
179 189
180#endif 190#endif
diff --git a/arch/blackfin/mach-bf548/include/mach/anomaly.h b/arch/blackfin/mach-bf548/include/mach/anomaly.h
index 52b116ae522a..7d08c7524498 100644
--- a/arch/blackfin/mach-bf548/include/mach/anomaly.h
+++ b/arch/blackfin/mach-bf548/include/mach/anomaly.h
@@ -1,9 +1,13 @@
1/* 1/*
2 * File: include/asm-blackfin/mach-bf548/anomaly.h 2 * DO NOT EDIT THIS FILE
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 3 * This file is under version control at
4 * svn://sources.blackfin.uclinux.org/toolchain/trunk/proc-defs/header-frags/
5 * and can be replaced with that version at any time
6 * DO NOT EDIT THIS FILE
4 * 7 *
5 * Copyright (C) 2004-2009 Analog Devices Inc. 8 * Copyright 2004-2009 Analog Devices Inc.
6 * Licensed under the GPL-2 or later. 9 * Licensed under the ADI BSD license.
10 * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd
7 */ 11 */
8 12
9/* This file should be up to date with: 13/* This file should be up to date with:
@@ -24,6 +28,8 @@
24#define ANOMALY_05000119 (1) 28#define ANOMALY_05000119 (1)
25/* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ 29/* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */
26#define ANOMALY_05000122 (1) 30#define ANOMALY_05000122 (1)
31/* Data Corruption with Cached External Memory and Non-Cached On-Chip L2 Memory */
32#define ANOMALY_05000220 (1)
27/* False Hardware Error from an Access in the Shadow of a Conditional Branch */ 33/* False Hardware Error from an Access in the Shadow of a Conditional Branch */
28#define ANOMALY_05000245 (1) 34#define ANOMALY_05000245 (1)
29/* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ 35/* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */
@@ -200,6 +206,14 @@
200#define ANOMALY_05000466 (1) 206#define ANOMALY_05000466 (1)
201/* Possible RX data corruption when control & data EP FIFOs are accessed via the core */ 207/* Possible RX data corruption when control & data EP FIFOs are accessed via the core */
202#define ANOMALY_05000467 (1) 208#define ANOMALY_05000467 (1)
209/* Interrupted 32-Bit SPORT Data Register Access Results In Underflow */
210#define ANOMALY_05000473 (1)
211/* Access to DDR-SDRAM causes system hang under certain PLL/VR settings */
212#define ANOMALY_05000474 (1)
213/* Core Hang With L2/L3 Configured in Writeback Cache Mode */
214#define ANOMALY_05000475 (1)
215/* TESTSET Instruction Cannot Be Interrupted */
216#define ANOMALY_05000477 (1)
203 217
204/* Anomalies that don't exist on this proc */ 218/* Anomalies that don't exist on this proc */
205#define ANOMALY_05000099 (0) 219#define ANOMALY_05000099 (0)
@@ -215,7 +229,6 @@
215#define ANOMALY_05000198 (0) 229#define ANOMALY_05000198 (0)
216#define ANOMALY_05000202 (0) 230#define ANOMALY_05000202 (0)
217#define ANOMALY_05000215 (0) 231#define ANOMALY_05000215 (0)
218#define ANOMALY_05000220 (0)
219#define ANOMALY_05000227 (0) 232#define ANOMALY_05000227 (0)
220#define ANOMALY_05000230 (0) 233#define ANOMALY_05000230 (0)
221#define ANOMALY_05000231 (0) 234#define ANOMALY_05000231 (0)
diff --git a/arch/blackfin/mach-bf561/atomic.S b/arch/blackfin/mach-bf561/atomic.S
index 0261a5e751b3..f99f174b129f 100644
--- a/arch/blackfin/mach-bf561/atomic.S
+++ b/arch/blackfin/mach-bf561/atomic.S
@@ -19,6 +19,16 @@
19 \reg\().h = _corelock; 19 \reg\().h = _corelock;
20.endm 20.endm
21 21
22.macro safe_testset addr:req, scratch:req
23#if ANOMALY_05000477
24 cli \scratch;
25 testset (\addr);
26 sti \scratch;
27#else
28 testset (\addr);
29#endif
30.endm
31
22/* 32/*
23 * r0 = address of atomic data to flush and invalidate (32bit). 33 * r0 = address of atomic data to flush and invalidate (32bit).
24 * 34 *
@@ -33,7 +43,7 @@ ENTRY(_get_core_lock)
33 cli r0; 43 cli r0;
34 coreslot_loadaddr p0; 44 coreslot_loadaddr p0;
35.Lretry_corelock: 45.Lretry_corelock:
36 testset (p0); 46 safe_testset p0, r2;
37 if cc jump .Ldone_corelock; 47 if cc jump .Ldone_corelock;
38 SSYNC(r2); 48 SSYNC(r2);
39 jump .Lretry_corelock 49 jump .Lretry_corelock
@@ -56,7 +66,7 @@ ENTRY(_get_core_lock_noflush)
56 cli r0; 66 cli r0;
57 coreslot_loadaddr p0; 67 coreslot_loadaddr p0;
58.Lretry_corelock_noflush: 68.Lretry_corelock_noflush:
59 testset (p0); 69 safe_testset p0, r2;
60 if cc jump .Ldone_corelock_noflush; 70 if cc jump .Ldone_corelock_noflush;
61 SSYNC(r2); 71 SSYNC(r2);
62 jump .Lretry_corelock_noflush 72 jump .Lretry_corelock_noflush
diff --git a/arch/blackfin/mach-bf561/include/mach/anomaly.h b/arch/blackfin/mach-bf561/include/mach/anomaly.h
index 70da495c9665..5ddc981e9937 100644
--- a/arch/blackfin/mach-bf561/include/mach/anomaly.h
+++ b/arch/blackfin/mach-bf561/include/mach/anomaly.h
@@ -1,9 +1,13 @@
1/* 1/*
2 * File: include/asm-blackfin/mach-bf561/anomaly.h 2 * DO NOT EDIT THIS FILE
3 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 3 * This file is under version control at
4 * svn://sources.blackfin.uclinux.org/toolchain/trunk/proc-defs/header-frags/
5 * and can be replaced with that version at any time
6 * DO NOT EDIT THIS FILE
4 * 7 *
5 * Copyright (C) 2004-2009 Analog Devices Inc. 8 * Copyright 2004-2009 Analog Devices Inc.
6 * Licensed under the GPL-2 or later. 9 * Licensed under the ADI BSD license.
10 * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd
7 */ 11 */
8 12
9/* This file should be up to date with: 13/* This file should be up to date with:
@@ -213,7 +217,11 @@
213/* Disabling Peripherals with DMA Running May Cause DMA System Instability */ 217/* Disabling Peripherals with DMA Running May Cause DMA System Instability */
214#define ANOMALY_05000278 (__SILICON_REVISION__ < 5) 218#define ANOMALY_05000278 (__SILICON_REVISION__ < 5)
215/* False Hardware Error Exception when ISR Context Is Not Restored */ 219/* False Hardware Error Exception when ISR Context Is Not Restored */
216#define ANOMALY_05000281 (__SILICON_REVISION__ < 5) 220/* Temporarily walk around for bug 5423 till this issue is confirmed by
221 * official anomaly document. It looks 05000281 still exists on bf561
222 * v0.5.
223 */
224#define ANOMALY_05000281 (__SILICON_REVISION__ <= 5)
217/* System MMR Write Is Stalled Indefinitely when Killed in a Particular Stage */ 225/* System MMR Write Is Stalled Indefinitely when Killed in a Particular Stage */
218#define ANOMALY_05000283 (1) 226#define ANOMALY_05000283 (1)
219/* Reads Will Receive Incorrect Data under Certain Conditions */ 227/* Reads Will Receive Incorrect Data under Certain Conditions */
@@ -280,6 +288,12 @@
280#define ANOMALY_05000443 (1) 288#define ANOMALY_05000443 (1)
281/* False Hardware Error when RETI Points to Invalid Memory */ 289/* False Hardware Error when RETI Points to Invalid Memory */
282#define ANOMALY_05000461 (1) 290#define ANOMALY_05000461 (1)
291/* Interrupted 32-Bit SPORT Data Register Access Results In Underflow */
292#define ANOMALY_05000473 (1)
293/* Core Hang With L2/L3 Configured in Writeback Cache Mode */
294#define ANOMALY_05000475 (__SILICON_REVISION__ < 4)
295/* TESTSET Instruction Cannot Be Interrupted */
296#define ANOMALY_05000477 (1)
283 297
284/* Anomalies that don't exist on this proc */ 298/* Anomalies that don't exist on this proc */
285#define ANOMALY_05000119 (0) 299#define ANOMALY_05000119 (0)
@@ -304,5 +318,6 @@
304#define ANOMALY_05000450 (0) 318#define ANOMALY_05000450 (0)
305#define ANOMALY_05000465 (0) 319#define ANOMALY_05000465 (0)
306#define ANOMALY_05000467 (0) 320#define ANOMALY_05000467 (0)
321#define ANOMALY_05000474 (0)
307 322
308#endif 323#endif
diff --git a/arch/blackfin/mach-common/arch_checks.c b/arch/blackfin/mach-common/arch_checks.c
index 9dbafcdcf479..f2ca211a76a0 100644
--- a/arch/blackfin/mach-common/arch_checks.c
+++ b/arch/blackfin/mach-common/arch_checks.c
@@ -57,3 +57,8 @@
57 (!defined(CONFIG_BFIN_EXTMEM_DCACHEABLE) && defined(CONFIG_BFIN_L2_WRITEBACK))) 57 (!defined(CONFIG_BFIN_EXTMEM_DCACHEABLE) && defined(CONFIG_BFIN_L2_WRITEBACK)))
58# error You are exposing Anomaly 220 in this config, either config L2 as Write Through, or make External Memory WB. 58# error You are exposing Anomaly 220 in this config, either config L2 as Write Through, or make External Memory WB.
59#endif 59#endif
60
61#if ANOMALY_05000475 && \
62 (defined(CONFIG_BFIN_EXTMEM_WRITEBACK) || defined(CONFIG_BFIN_L2_WRITEBACK))
63# error "Anomaly 475 does not allow you to use Write Back cache with L2 or External Memory"
64#endif
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c
index d98585f3237d..d92b168c8328 100644
--- a/arch/blackfin/mach-common/smp.c
+++ b/arch/blackfin/mach-common/smp.c
@@ -276,10 +276,9 @@ void smp_send_reschedule(int cpu)
276 if (cpu_is_offline(cpu)) 276 if (cpu_is_offline(cpu))
277 return; 277 return;
278 278
279 msg = kmalloc(sizeof(*msg), GFP_ATOMIC); 279 msg = kzalloc(sizeof(*msg), GFP_ATOMIC);
280 if (!msg) 280 if (!msg)
281 return; 281 return;
282 memset(msg, 0, sizeof(msg));
283 INIT_LIST_HEAD(&msg->list); 282 INIT_LIST_HEAD(&msg->list);
284 msg->type = BFIN_IPI_RESCHEDULE; 283 msg->type = BFIN_IPI_RESCHEDULE;
285 284
@@ -305,10 +304,9 @@ void smp_send_stop(void)
305 if (cpus_empty(callmap)) 304 if (cpus_empty(callmap))
306 return; 305 return;
307 306
308 msg = kmalloc(sizeof(*msg), GFP_ATOMIC); 307 msg = kzalloc(sizeof(*msg), GFP_ATOMIC);
309 if (!msg) 308 if (!msg)
310 return; 309 return;
311 memset(msg, 0, sizeof(msg));
312 INIT_LIST_HEAD(&msg->list); 310 INIT_LIST_HEAD(&msg->list);
313 msg->type = BFIN_IPI_CPU_STOP; 311 msg->type = BFIN_IPI_CPU_STOP;
314 312
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 03bd56a2fb6e..fd7620f025fa 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1,6 +1,7 @@
1config MIPS 1config MIPS
2 bool 2 bool
3 default y 3 default y
4 select HAVE_GENERIC_DMA_COHERENT
4 select HAVE_IDE 5 select HAVE_IDE
5 select HAVE_OPROFILE 6 select HAVE_OPROFILE
6 select HAVE_ARCH_KGDB 7 select HAVE_ARCH_KGDB
@@ -357,7 +358,14 @@ config SGI_IP22
357 select SWAP_IO_SPACE 358 select SWAP_IO_SPACE
358 select SYS_HAS_CPU_R4X00 359 select SYS_HAS_CPU_R4X00
359 select SYS_HAS_CPU_R5000 360 select SYS_HAS_CPU_R5000
360 select SYS_HAS_EARLY_PRINTK 361 #
362 # Disable EARLY_PRINTK for now since it leads to overwritten prom
363 # memory during early boot on some machines.
364 #
365 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
366 # for a more details discussion
367 #
368 # select SYS_HAS_EARLY_PRINTK
361 select SYS_SUPPORTS_32BIT_KERNEL 369 select SYS_SUPPORTS_32BIT_KERNEL
362 select SYS_SUPPORTS_64BIT_KERNEL 370 select SYS_SUPPORTS_64BIT_KERNEL
363 select SYS_SUPPORTS_BIG_ENDIAN 371 select SYS_SUPPORTS_BIG_ENDIAN
@@ -409,7 +417,14 @@ config SGI_IP28
409 select SGI_HAS_ZILOG 417 select SGI_HAS_ZILOG
410 select SWAP_IO_SPACE 418 select SWAP_IO_SPACE
411 select SYS_HAS_CPU_R10000 419 select SYS_HAS_CPU_R10000
412 select SYS_HAS_EARLY_PRINTK 420 #
421 # Disable EARLY_PRINTK for now since it leads to overwritten prom
422 # memory during early boot on some machines.
423 #
424 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
425 # for a more details discussion
426 #
427 # select SYS_HAS_EARLY_PRINTK
413 select SYS_SUPPORTS_64BIT_KERNEL 428 select SYS_SUPPORTS_64BIT_KERNEL
414 select SYS_SUPPORTS_BIG_ENDIAN 429 select SYS_SUPPORTS_BIG_ENDIAN
415 help 430 help
@@ -1438,6 +1453,7 @@ choice
1438 1453
1439config PAGE_SIZE_4KB 1454config PAGE_SIZE_4KB
1440 bool "4kB" 1455 bool "4kB"
1456 depends on !CPU_LOONGSON2
1441 help 1457 help
1442 This option select the standard 4kB Linux page size. On some 1458 This option select the standard 4kB Linux page size. On some
1443 R3000-family processors this is the only available page size. Using 1459 R3000-family processors this is the only available page size. Using
@@ -1762,7 +1778,7 @@ config SYS_SUPPORTS_SMARTMIPS
1762 1778
1763config ARCH_FLATMEM_ENABLE 1779config ARCH_FLATMEM_ENABLE
1764 def_bool y 1780 def_bool y
1765 depends on !NUMA 1781 depends on !NUMA && !CPU_LOONGSON2
1766 1782
1767config ARCH_DISCONTIGMEM_ENABLE 1783config ARCH_DISCONTIGMEM_ENABLE
1768 bool 1784 bool
diff --git a/arch/mips/bcm47xx/prom.c b/arch/mips/bcm47xx/prom.c
index 079e33d52783..fb284c3b2cff 100644
--- a/arch/mips/bcm47xx/prom.c
+++ b/arch/mips/bcm47xx/prom.c
@@ -100,7 +100,7 @@ static __init void prom_init_console(void)
100 100
101static __init void prom_init_cmdline(void) 101static __init void prom_init_cmdline(void)
102{ 102{
103 char buf[CL_SIZE]; 103 static char buf[CL_SIZE] __initdata;
104 104
105 /* Get the kernel command line from CFE */ 105 /* Get the kernel command line from CFE */
106 if (cfe_getenv("LINUX_CMDLINE", buf, CL_SIZE) >= 0) { 106 if (cfe_getenv("LINUX_CMDLINE", buf, CL_SIZE) >= 0) {
diff --git a/arch/mips/configs/rbtx49xx_defconfig b/arch/mips/configs/rbtx49xx_defconfig
index c69813b8488c..6c6a19aebe1f 100644
--- a/arch/mips/configs/rbtx49xx_defconfig
+++ b/arch/mips/configs/rbtx49xx_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.32-rc6
4# Wed Mar 4 23:08:06 2009 4# Sun Nov 8 22:59:47 2009
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -9,16 +9,18 @@ CONFIG_MIPS=y
9# Machine selection 9# Machine selection
10# 10#
11# CONFIG_MACH_ALCHEMY is not set 11# CONFIG_MACH_ALCHEMY is not set
12# CONFIG_AR7 is not set
12# CONFIG_BASLER_EXCITE is not set 13# CONFIG_BASLER_EXCITE is not set
13# CONFIG_BCM47XX is not set 14# CONFIG_BCM47XX is not set
15# CONFIG_BCM63XX is not set
14# CONFIG_MIPS_COBALT is not set 16# CONFIG_MIPS_COBALT is not set
15# CONFIG_MACH_DECSTATION is not set 17# CONFIG_MACH_DECSTATION is not set
16# CONFIG_MACH_JAZZ is not set 18# CONFIG_MACH_JAZZ is not set
17# CONFIG_LASAT is not set 19# CONFIG_LASAT is not set
18# CONFIG_LEMOTE_FULONG is not set 20# CONFIG_MACH_LOONGSON is not set
19# CONFIG_MIPS_MALTA is not set 21# CONFIG_MIPS_MALTA is not set
20# CONFIG_MIPS_SIM is not set 22# CONFIG_MIPS_SIM is not set
21# CONFIG_MACH_EMMA is not set 23# CONFIG_NEC_MARKEINS is not set
22# CONFIG_MACH_VR41XX is not set 24# CONFIG_MACH_VR41XX is not set
23# CONFIG_NXP_STB220 is not set 25# CONFIG_NXP_STB220 is not set
24# CONFIG_NXP_STB225 is not set 26# CONFIG_NXP_STB225 is not set
@@ -45,6 +47,7 @@ CONFIG_MACH_TX49XX=y
45# CONFIG_WR_PPMC is not set 47# CONFIG_WR_PPMC is not set
46# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set 48# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
47# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set 49# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
50# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
48CONFIG_MACH_TXX9=y 51CONFIG_MACH_TXX9=y
49CONFIG_TOSHIBA_RBTX4927=y 52CONFIG_TOSHIBA_RBTX4927=y
50CONFIG_TOSHIBA_RBTX4938=y 53CONFIG_TOSHIBA_RBTX4938=y
@@ -86,7 +89,6 @@ CONFIG_DMA_NONCOHERENT=y
86CONFIG_DMA_NEED_PCI_MAP_STATE=y 89CONFIG_DMA_NEED_PCI_MAP_STATE=y
87CONFIG_EARLY_PRINTK=y 90CONFIG_EARLY_PRINTK=y
88CONFIG_SYS_HAS_EARLY_PRINTK=y 91CONFIG_SYS_HAS_EARLY_PRINTK=y
89# CONFIG_HOTPLUG_CPU is not set
90# CONFIG_NO_IOPORT is not set 92# CONFIG_NO_IOPORT is not set
91CONFIG_GENERIC_GPIO=y 93CONFIG_GENERIC_GPIO=y
92CONFIG_CPU_BIG_ENDIAN=y 94CONFIG_CPU_BIG_ENDIAN=y
@@ -101,7 +103,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
101# 103#
102# CPU selection 104# CPU selection
103# 105#
104# CONFIG_CPU_LOONGSON2 is not set 106# CONFIG_CPU_LOONGSON2E is not set
105# CONFIG_CPU_MIPS32_R1 is not set 107# CONFIG_CPU_MIPS32_R1 is not set
106# CONFIG_CPU_MIPS32_R2 is not set 108# CONFIG_CPU_MIPS32_R2 is not set
107# CONFIG_CPU_MIPS64_R1 is not set 109# CONFIG_CPU_MIPS64_R1 is not set
@@ -137,6 +139,7 @@ CONFIG_32BIT=y
137CONFIG_PAGE_SIZE_4KB=y 139CONFIG_PAGE_SIZE_4KB=y
138# CONFIG_PAGE_SIZE_8KB is not set 140# CONFIG_PAGE_SIZE_8KB is not set
139# CONFIG_PAGE_SIZE_16KB is not set 141# CONFIG_PAGE_SIZE_16KB is not set
142# CONFIG_PAGE_SIZE_32KB is not set
140# CONFIG_PAGE_SIZE_64KB is not set 143# CONFIG_PAGE_SIZE_64KB is not set
141CONFIG_CPU_HAS_PREFETCH=y 144CONFIG_CPU_HAS_PREFETCH=y
142CONFIG_MIPS_MT_DISABLED=y 145CONFIG_MIPS_MT_DISABLED=y
@@ -154,7 +157,10 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
154# CONFIG_PHYS_ADDR_T_64BIT is not set 157# CONFIG_PHYS_ADDR_T_64BIT is not set
155CONFIG_ZONE_DMA_FLAG=0 158CONFIG_ZONE_DMA_FLAG=0
156CONFIG_VIRT_TO_BUS=y 159CONFIG_VIRT_TO_BUS=y
157CONFIG_UNEVICTABLE_LRU=y 160CONFIG_HAVE_MLOCK=y
161CONFIG_HAVE_MLOCKED_PAGE_BIT=y
162# CONFIG_KSM is not set
163CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
158CONFIG_TICK_ONESHOT=y 164CONFIG_TICK_ONESHOT=y
159CONFIG_NO_HZ=y 165CONFIG_NO_HZ=y
160CONFIG_HIGH_RES_TIMERS=y 166CONFIG_HIGH_RES_TIMERS=y
@@ -175,6 +181,7 @@ CONFIG_PREEMPT_NONE=y
175CONFIG_LOCKDEP_SUPPORT=y 181CONFIG_LOCKDEP_SUPPORT=y
176CONFIG_STACKTRACE_SUPPORT=y 182CONFIG_STACKTRACE_SUPPORT=y
177CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 183CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
184CONFIG_CONSTRUCTORS=y
178 185
179# 186#
180# General setup 187# General setup
@@ -194,11 +201,12 @@ CONFIG_SYSVIPC_SYSCTL=y
194# 201#
195# RCU Subsystem 202# RCU Subsystem
196# 203#
197CONFIG_CLASSIC_RCU=y 204CONFIG_TREE_RCU=y
198# CONFIG_TREE_RCU is not set 205# CONFIG_TREE_PREEMPT_RCU is not set
199# CONFIG_PREEMPT_RCU is not set 206# CONFIG_RCU_TRACE is not set
207CONFIG_RCU_FANOUT=32
208# CONFIG_RCU_FANOUT_EXACT is not set
200# CONFIG_TREE_RCU_TRACE is not set 209# CONFIG_TREE_RCU_TRACE is not set
201# CONFIG_PREEMPT_RCU_TRACE is not set
202CONFIG_IKCONFIG=y 210CONFIG_IKCONFIG=y
203CONFIG_IKCONFIG_PROC=y 211CONFIG_IKCONFIG_PROC=y
204CONFIG_LOG_BUF_SHIFT=14 212CONFIG_LOG_BUF_SHIFT=14
@@ -209,8 +217,12 @@ CONFIG_SYSFS_DEPRECATED_V2=y
209# CONFIG_NAMESPACES is not set 217# CONFIG_NAMESPACES is not set
210CONFIG_BLK_DEV_INITRD=y 218CONFIG_BLK_DEV_INITRD=y
211CONFIG_INITRAMFS_SOURCE="" 219CONFIG_INITRAMFS_SOURCE=""
220CONFIG_RD_GZIP=y
221# CONFIG_RD_BZIP2 is not set
222# CONFIG_RD_LZMA is not set
212CONFIG_CC_OPTIMIZE_FOR_SIZE=y 223CONFIG_CC_OPTIMIZE_FOR_SIZE=y
213CONFIG_SYSCTL=y 224CONFIG_SYSCTL=y
225CONFIG_ANON_INODES=y
214CONFIG_EMBEDDED=y 226CONFIG_EMBEDDED=y
215CONFIG_SYSCTL_SYSCALL=y 227CONFIG_SYSCTL_SYSCALL=y
216CONFIG_KALLSYMS=y 228CONFIG_KALLSYMS=y
@@ -220,25 +232,35 @@ CONFIG_PRINTK=y
220CONFIG_BUG=y 232CONFIG_BUG=y
221CONFIG_ELF_CORE=y 233CONFIG_ELF_CORE=y
222# CONFIG_PCSPKR_PLATFORM is not set 234# CONFIG_PCSPKR_PLATFORM is not set
223CONFIG_COMPAT_BRK=y
224CONFIG_BASE_FULL=y 235CONFIG_BASE_FULL=y
225# CONFIG_FUTEX is not set 236CONFIG_FUTEX=y
226CONFIG_ANON_INODES=y
227# CONFIG_EPOLL is not set 237# CONFIG_EPOLL is not set
228CONFIG_SIGNALFD=y 238CONFIG_SIGNALFD=y
229CONFIG_TIMERFD=y 239CONFIG_TIMERFD=y
230CONFIG_EVENTFD=y 240CONFIG_EVENTFD=y
231CONFIG_SHMEM=y 241CONFIG_SHMEM=y
232CONFIG_AIO=y 242CONFIG_AIO=y
243
244#
245# Kernel Performance Events And Counters
246#
233CONFIG_VM_EVENT_COUNTERS=y 247CONFIG_VM_EVENT_COUNTERS=y
234CONFIG_PCI_QUIRKS=y 248CONFIG_PCI_QUIRKS=y
249CONFIG_COMPAT_BRK=y
235CONFIG_SLAB=y 250CONFIG_SLAB=y
236# CONFIG_SLUB is not set 251# CONFIG_SLUB is not set
237# CONFIG_SLOB is not set 252# CONFIG_SLOB is not set
238# CONFIG_PROFILING is not set 253# CONFIG_PROFILING is not set
239CONFIG_HAVE_OPROFILE=y 254CONFIG_HAVE_OPROFILE=y
240# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 255
256#
257# GCOV-based kernel profiling
258#
259# CONFIG_GCOV_KERNEL is not set
260# CONFIG_SLOW_WORK is not set
261CONFIG_HAVE_GENERIC_DMA_COHERENT=y
241CONFIG_SLABINFO=y 262CONFIG_SLABINFO=y
263CONFIG_RT_MUTEXES=y
242CONFIG_BASE_SMALL=0 264CONFIG_BASE_SMALL=0
243CONFIG_MODULES=y 265CONFIG_MODULES=y
244# CONFIG_MODULE_FORCE_LOAD is not set 266# CONFIG_MODULE_FORCE_LOAD is not set
@@ -246,8 +268,8 @@ CONFIG_MODULE_UNLOAD=y
246# CONFIG_MODVERSIONS is not set 268# CONFIG_MODVERSIONS is not set
247# CONFIG_MODULE_SRCVERSION_ALL is not set 269# CONFIG_MODULE_SRCVERSION_ALL is not set
248CONFIG_BLOCK=y 270CONFIG_BLOCK=y
249# CONFIG_LBD is not set 271# CONFIG_LBDAF is not set
250# CONFIG_BLK_DEV_IO_TRACE is not set 272# CONFIG_BLK_DEV_BSG is not set
251# CONFIG_BLK_DEV_INTEGRITY is not set 273# CONFIG_BLK_DEV_INTEGRITY is not set
252 274
253# 275#
@@ -274,6 +296,7 @@ CONFIG_PCI_DOMAINS=y
274# CONFIG_ARCH_SUPPORTS_MSI is not set 296# CONFIG_ARCH_SUPPORTS_MSI is not set
275# CONFIG_PCI_LEGACY is not set 297# CONFIG_PCI_LEGACY is not set
276# CONFIG_PCI_STUB is not set 298# CONFIG_PCI_STUB is not set
299# CONFIG_PCI_IOV is not set
277CONFIG_MMU=y 300CONFIG_MMU=y
278 301
279# 302#
@@ -288,6 +311,7 @@ CONFIG_TRAD_SIGNALS=y
288# 311#
289# Power management options 312# Power management options
290# 313#
314CONFIG_ARCH_HIBERNATION_POSSIBLE=y
291CONFIG_ARCH_SUSPEND_POSSIBLE=y 315CONFIG_ARCH_SUSPEND_POSSIBLE=y
292# CONFIG_PM is not set 316# CONFIG_PM is not set
293CONFIG_NET=y 317CONFIG_NET=y
@@ -295,7 +319,6 @@ CONFIG_NET=y
295# 319#
296# Networking options 320# Networking options
297# 321#
298CONFIG_COMPAT_NET_DEV_OPS=y
299CONFIG_PACKET=y 322CONFIG_PACKET=y
300# CONFIG_PACKET_MMAP is not set 323# CONFIG_PACKET_MMAP is not set
301CONFIG_UNIX=y 324CONFIG_UNIX=y
@@ -311,6 +334,7 @@ CONFIG_IP_PNP=y
311# CONFIG_NET_IPIP is not set 334# CONFIG_NET_IPIP is not set
312# CONFIG_NET_IPGRE is not set 335# CONFIG_NET_IPGRE is not set
313# CONFIG_IP_MROUTE is not set 336# CONFIG_IP_MROUTE is not set
337# CONFIG_ARPD is not set
314# CONFIG_SYN_COOKIES is not set 338# CONFIG_SYN_COOKIES is not set
315# CONFIG_INET_AH is not set 339# CONFIG_INET_AH is not set
316# CONFIG_INET_ESP is not set 340# CONFIG_INET_ESP is not set
@@ -336,6 +360,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
336# CONFIG_LLC2 is not set 360# CONFIG_LLC2 is not set
337# CONFIG_IPX is not set 361# CONFIG_IPX is not set
338# CONFIG_ATALK is not set 362# CONFIG_ATALK is not set
363# CONFIG_PHONET is not set
339# CONFIG_NET_SCHED is not set 364# CONFIG_NET_SCHED is not set
340# CONFIG_DCB is not set 365# CONFIG_DCB is not set
341 366
@@ -347,7 +372,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
347# CONFIG_CAN is not set 372# CONFIG_CAN is not set
348# CONFIG_IRDA is not set 373# CONFIG_IRDA is not set
349# CONFIG_BT is not set 374# CONFIG_BT is not set
350# CONFIG_PHONET is not set
351# CONFIG_WIRELESS is not set 375# CONFIG_WIRELESS is not set
352# CONFIG_WIMAX is not set 376# CONFIG_WIMAX is not set
353# CONFIG_RFKILL is not set 377# CONFIG_RFKILL is not set
@@ -365,9 +389,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
365# CONFIG_CONNECTOR is not set 389# CONFIG_CONNECTOR is not set
366CONFIG_MTD=y 390CONFIG_MTD=y
367# CONFIG_MTD_DEBUG is not set 391# CONFIG_MTD_DEBUG is not set
392# CONFIG_MTD_TESTS is not set
368# CONFIG_MTD_CONCAT is not set 393# CONFIG_MTD_CONCAT is not set
369CONFIG_MTD_PARTITIONS=y 394CONFIG_MTD_PARTITIONS=y
370# CONFIG_MTD_TESTS is not set
371# CONFIG_MTD_REDBOOT_PARTS is not set 395# CONFIG_MTD_REDBOOT_PARTS is not set
372CONFIG_MTD_CMDLINE_PARTS=y 396CONFIG_MTD_CMDLINE_PARTS=y
373# CONFIG_MTD_AR7_PARTS is not set 397# CONFIG_MTD_AR7_PARTS is not set
@@ -376,9 +400,9 @@ CONFIG_MTD_CMDLINE_PARTS=y
376# User Modules And Translation Layers 400# User Modules And Translation Layers
377# 401#
378CONFIG_MTD_CHAR=y 402CONFIG_MTD_CHAR=y
379# CONFIG_MTD_BLKDEVS is not set 403CONFIG_MTD_BLKDEVS=m
380# CONFIG_MTD_BLOCK is not set 404CONFIG_MTD_BLOCK=m
381# CONFIG_MTD_BLOCK_RO is not set 405CONFIG_MTD_BLOCK_RO=m
382# CONFIG_FTL is not set 406# CONFIG_FTL is not set
383# CONFIG_NFTL is not set 407# CONFIG_NFTL is not set
384# CONFIG_INFTL is not set 408# CONFIG_INFTL is not set
@@ -414,16 +438,20 @@ CONFIG_MTD_CFI_UTIL=y
414# 438#
415# Mapping drivers for chip access 439# Mapping drivers for chip access
416# 440#
417# CONFIG_MTD_COMPLEX_MAPPINGS is not set 441CONFIG_MTD_COMPLEX_MAPPINGS=y
418CONFIG_MTD_PHYSMAP=y 442CONFIG_MTD_PHYSMAP=y
419# CONFIG_MTD_PHYSMAP_COMPAT is not set 443# CONFIG_MTD_PHYSMAP_COMPAT is not set
444# CONFIG_MTD_PCI is not set
445# CONFIG_MTD_GPIO_ADDR is not set
420# CONFIG_MTD_INTEL_VR_NOR is not set 446# CONFIG_MTD_INTEL_VR_NOR is not set
447CONFIG_MTD_RBTX4939=y
421# CONFIG_MTD_PLATRAM is not set 448# CONFIG_MTD_PLATRAM is not set
422 449
423# 450#
424# Self-contained MTD device drivers 451# Self-contained MTD device drivers
425# 452#
426# CONFIG_MTD_PMC551 is not set 453# CONFIG_MTD_PMC551 is not set
454# CONFIG_MTD_SST25L is not set
427# CONFIG_MTD_SLRAM is not set 455# CONFIG_MTD_SLRAM is not set
428# CONFIG_MTD_PHRAM is not set 456# CONFIG_MTD_PHRAM is not set
429# CONFIG_MTD_MTDRAM is not set 457# CONFIG_MTD_MTDRAM is not set
@@ -435,7 +463,15 @@ CONFIG_MTD_PHYSMAP=y
435# CONFIG_MTD_DOC2000 is not set 463# CONFIG_MTD_DOC2000 is not set
436# CONFIG_MTD_DOC2001 is not set 464# CONFIG_MTD_DOC2001 is not set
437# CONFIG_MTD_DOC2001PLUS is not set 465# CONFIG_MTD_DOC2001PLUS is not set
438# CONFIG_MTD_NAND is not set 466CONFIG_MTD_NAND=m
467# CONFIG_MTD_NAND_VERIFY_WRITE is not set
468# CONFIG_MTD_NAND_ECC_SMC is not set
469# CONFIG_MTD_NAND_MUSEUM_IDS is not set
470CONFIG_MTD_NAND_IDS=m
471# CONFIG_MTD_NAND_CAFE is not set
472# CONFIG_MTD_NAND_NANDSIM is not set
473# CONFIG_MTD_NAND_PLATFORM is not set
474CONFIG_MTD_NAND_TXX9NDFMC=m
439# CONFIG_MTD_ONENAND is not set 475# CONFIG_MTD_ONENAND is not set
440 476
441# 477#
@@ -471,6 +507,7 @@ CONFIG_IDE=y
471# 507#
472# Please see Documentation/ide/ide.txt for help/info on IDE drives 508# Please see Documentation/ide/ide.txt for help/info on IDE drives
473# 509#
510CONFIG_IDE_XFER_MODE=y
474CONFIG_IDE_TIMINGS=y 511CONFIG_IDE_TIMINGS=y
475# CONFIG_BLK_DEV_IDE_SATA is not set 512# CONFIG_BLK_DEV_IDE_SATA is not set
476CONFIG_IDE_GD=y 513CONFIG_IDE_GD=y
@@ -534,8 +571,13 @@ CONFIG_BLK_DEV_IDEDMA=y
534# 571#
535 572
536# 573#
537# A new alternative FireWire stack is available with EXPERIMENTAL=y 574# You can enable one or both FireWire driver stacks.
538# 575#
576
577#
578# See the help texts for more information.
579#
580# CONFIG_FIREWIRE is not set
539# CONFIG_IEEE1394 is not set 581# CONFIG_IEEE1394 is not set
540# CONFIG_I2O is not set 582# CONFIG_I2O is not set
541CONFIG_NETDEVICES=y 583CONFIG_NETDEVICES=y
@@ -574,6 +616,8 @@ CONFIG_MII=y
574# CONFIG_NET_VENDOR_3COM is not set 616# CONFIG_NET_VENDOR_3COM is not set
575CONFIG_SMC91X=y 617CONFIG_SMC91X=y
576# CONFIG_DM9000 is not set 618# CONFIG_DM9000 is not set
619# CONFIG_ETHOC is not set
620# CONFIG_DNET is not set
577# CONFIG_NET_TULIP is not set 621# CONFIG_NET_TULIP is not set
578# CONFIG_HP100 is not set 622# CONFIG_HP100 is not set
579CONFIG_NE2000=y 623CONFIG_NE2000=y
@@ -602,18 +646,15 @@ CONFIG_TC35815=y
602# CONFIG_SMSC9420 is not set 646# CONFIG_SMSC9420 is not set
603# CONFIG_SUNDANCE is not set 647# CONFIG_SUNDANCE is not set
604# CONFIG_TLAN is not set 648# CONFIG_TLAN is not set
649# CONFIG_KS8842 is not set
650# CONFIG_KS8851 is not set
651# CONFIG_KS8851_MLL is not set
605# CONFIG_VIA_RHINE is not set 652# CONFIG_VIA_RHINE is not set
606# CONFIG_ATL2 is not set 653# CONFIG_ATL2 is not set
607# CONFIG_NETDEV_1000 is not set 654# CONFIG_NETDEV_1000 is not set
608# CONFIG_NETDEV_10000 is not set 655# CONFIG_NETDEV_10000 is not set
609# CONFIG_TR is not set 656# CONFIG_TR is not set
610 657# CONFIG_WLAN is not set
611#
612# Wireless LAN
613#
614# CONFIG_WLAN_PRE80211 is not set
615# CONFIG_WLAN_80211 is not set
616# CONFIG_IWLWIFI_LEDS is not set
617 658
618# 659#
619# Enable WiMAX (Networking options) to see the WiMAX drivers 660# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -653,6 +694,7 @@ CONFIG_DEVKMEM=y
653# 694#
654# Non-8250 serial port support 695# Non-8250 serial port support
655# 696#
697# CONFIG_SERIAL_MAX3100 is not set
656CONFIG_SERIAL_CORE=y 698CONFIG_SERIAL_CORE=y
657CONFIG_SERIAL_CORE_CONSOLE=y 699CONFIG_SERIAL_CORE_CONSOLE=y
658CONFIG_SERIAL_TXX9=y 700CONFIG_SERIAL_TXX9=y
@@ -666,7 +708,9 @@ CONFIG_UNIX98_PTYS=y
666CONFIG_LEGACY_PTYS=y 708CONFIG_LEGACY_PTYS=y
667CONFIG_LEGACY_PTY_COUNT=256 709CONFIG_LEGACY_PTY_COUNT=256
668# CONFIG_IPMI_HANDLER is not set 710# CONFIG_IPMI_HANDLER is not set
669# CONFIG_HW_RANDOM is not set 711CONFIG_HW_RANDOM=m
712# CONFIG_HW_RANDOM_TIMERIOMEM is not set
713CONFIG_HW_RANDOM_TX4939=m
670# CONFIG_R3964 is not set 714# CONFIG_R3964 is not set
671# CONFIG_APPLICOM is not set 715# CONFIG_APPLICOM is not set
672# CONFIG_RAW_DRIVER is not set 716# CONFIG_RAW_DRIVER is not set
@@ -686,6 +730,10 @@ CONFIG_SPI_TXX9=y
686# SPI Protocol Masters 730# SPI Protocol Masters
687# 731#
688# CONFIG_SPI_TLE62X0 is not set 732# CONFIG_SPI_TLE62X0 is not set
733
734#
735# PPS support
736#
689CONFIG_ARCH_REQUIRE_GPIOLIB=y 737CONFIG_ARCH_REQUIRE_GPIOLIB=y
690CONFIG_GPIOLIB=y 738CONFIG_GPIOLIB=y
691 739
@@ -701,17 +749,22 @@ CONFIG_GPIOLIB=y
701# PCI GPIO expanders: 749# PCI GPIO expanders:
702# 750#
703# CONFIG_GPIO_BT8XX is not set 751# CONFIG_GPIO_BT8XX is not set
752# CONFIG_GPIO_LANGWELL is not set
704 753
705# 754#
706# SPI GPIO expanders: 755# SPI GPIO expanders:
707# 756#
708# CONFIG_GPIO_MAX7301 is not set 757# CONFIG_GPIO_MAX7301 is not set
709# CONFIG_GPIO_MCP23S08 is not set 758# CONFIG_GPIO_MCP23S08 is not set
759# CONFIG_GPIO_MC33880 is not set
760
761#
762# AC97 GPIO expanders:
763#
710# CONFIG_W1 is not set 764# CONFIG_W1 is not set
711# CONFIG_POWER_SUPPLY is not set 765# CONFIG_POWER_SUPPLY is not set
712# CONFIG_HWMON is not set 766# CONFIG_HWMON is not set
713# CONFIG_THERMAL is not set 767# CONFIG_THERMAL is not set
714# CONFIG_THERMAL_HWMON is not set
715CONFIG_WATCHDOG=y 768CONFIG_WATCHDOG=y
716# CONFIG_WATCHDOG_NOWAYOUT is not set 769# CONFIG_WATCHDOG_NOWAYOUT is not set
717 770
@@ -740,28 +793,17 @@ CONFIG_SSB_POSSIBLE=y
740# CONFIG_MFD_CORE is not set 793# CONFIG_MFD_CORE is not set
741# CONFIG_MFD_SM501 is not set 794# CONFIG_MFD_SM501 is not set
742# CONFIG_HTC_PASIC3 is not set 795# CONFIG_HTC_PASIC3 is not set
796# CONFIG_UCB1400_CORE is not set
743# CONFIG_MFD_TMIO is not set 797# CONFIG_MFD_TMIO is not set
798# CONFIG_MFD_MC13783 is not set
799# CONFIG_EZX_PCAP is not set
744# CONFIG_REGULATOR is not set 800# CONFIG_REGULATOR is not set
745 801# CONFIG_MEDIA_SUPPORT is not set
746#
747# Multimedia devices
748#
749
750#
751# Multimedia core support
752#
753# CONFIG_VIDEO_DEV is not set
754# CONFIG_DVB_CORE is not set
755# CONFIG_VIDEO_MEDIA is not set
756
757#
758# Multimedia drivers
759#
760# CONFIG_DAB is not set
761 802
762# 803#
763# Graphics support 804# Graphics support
764# 805#
806# CONFIG_VGA_ARB is not set
765# CONFIG_DRM is not set 807# CONFIG_DRM is not set
766# CONFIG_VGASTATE is not set 808# CONFIG_VGASTATE is not set
767# CONFIG_VIDEO_OUTPUT_CONTROL is not set 809# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -772,7 +814,42 @@ CONFIG_SSB_POSSIBLE=y
772# Display device support 814# Display device support
773# 815#
774# CONFIG_DISPLAY_SUPPORT is not set 816# CONFIG_DISPLAY_SUPPORT is not set
775# CONFIG_SOUND is not set 817CONFIG_SOUND=m
818# CONFIG_SOUND_OSS_CORE is not set
819CONFIG_SND=m
820CONFIG_SND_TIMER=m
821CONFIG_SND_PCM=m
822# CONFIG_SND_SEQUENCER is not set
823# CONFIG_SND_MIXER_OSS is not set
824# CONFIG_SND_PCM_OSS is not set
825# CONFIG_SND_HRTIMER is not set
826# CONFIG_SND_DYNAMIC_MINORS is not set
827# CONFIG_SND_SUPPORT_OLD_API is not set
828# CONFIG_SND_VERBOSE_PROCFS is not set
829# CONFIG_SND_VERBOSE_PRINTK is not set
830# CONFIG_SND_DEBUG is not set
831CONFIG_SND_VMASTER=y
832# CONFIG_SND_RAWMIDI_SEQ is not set
833# CONFIG_SND_OPL3_LIB_SEQ is not set
834# CONFIG_SND_OPL4_LIB_SEQ is not set
835# CONFIG_SND_SBAWE_SEQ is not set
836# CONFIG_SND_EMU10K1_SEQ is not set
837CONFIG_SND_AC97_CODEC=m
838# CONFIG_SND_DRIVERS is not set
839# CONFIG_SND_PCI is not set
840# CONFIG_SND_SPI is not set
841# CONFIG_SND_MIPS is not set
842CONFIG_SND_SOC=m
843CONFIG_SND_SOC_AC97_BUS=y
844CONFIG_SND_SOC_TXX9ACLC=m
845CONFIG_HAS_TXX9_ACLC=y
846CONFIG_SND_SOC_TXX9ACLC_AC97=m
847CONFIG_SND_SOC_TXX9ACLC_GENERIC=m
848CONFIG_SND_SOC_I2C_AND_SPI=m
849# CONFIG_SND_SOC_ALL_CODECS is not set
850CONFIG_SND_SOC_AC97_CODEC=m
851# CONFIG_SOUND_PRIME is not set
852CONFIG_AC97_BUS=m
776# CONFIG_USB_SUPPORT is not set 853# CONFIG_USB_SUPPORT is not set
777# CONFIG_MMC is not set 854# CONFIG_MMC is not set
778# CONFIG_MEMSTICK is not set 855# CONFIG_MEMSTICK is not set
@@ -783,6 +860,8 @@ CONFIG_LEDS_CLASS=y
783# LED drivers 860# LED drivers
784# 861#
785CONFIG_LEDS_GPIO=y 862CONFIG_LEDS_GPIO=y
863CONFIG_LEDS_GPIO_PLATFORM=y
864# CONFIG_LEDS_DAC124S085 is not set
786 865
787# 866#
788# LED Triggers 867# LED Triggers
@@ -792,7 +871,12 @@ CONFIG_LEDS_TRIGGERS=y
792CONFIG_LEDS_TRIGGER_IDE_DISK=y 871CONFIG_LEDS_TRIGGER_IDE_DISK=y
793CONFIG_LEDS_TRIGGER_HEARTBEAT=y 872CONFIG_LEDS_TRIGGER_HEARTBEAT=y
794# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set 873# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
874# CONFIG_LEDS_TRIGGER_GPIO is not set
795# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set 875# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
876
877#
878# iptables trigger is under Netfilter config (LED target)
879#
796# CONFIG_ACCESSIBILITY is not set 880# CONFIG_ACCESSIBILITY is not set
797# CONFIG_INFINIBAND is not set 881# CONFIG_INFINIBAND is not set
798CONFIG_RTC_LIB=y 882CONFIG_RTC_LIB=y
@@ -820,6 +904,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
820# CONFIG_RTC_DRV_R9701 is not set 904# CONFIG_RTC_DRV_R9701 is not set
821CONFIG_RTC_DRV_RS5C348=y 905CONFIG_RTC_DRV_RS5C348=y
822# CONFIG_RTC_DRV_DS3234 is not set 906# CONFIG_RTC_DRV_DS3234 is not set
907# CONFIG_RTC_DRV_PCF2123 is not set
823 908
824# 909#
825# Platform RTC drivers 910# Platform RTC drivers
@@ -840,8 +925,26 @@ CONFIG_RTC_DRV_DS1742=y
840# on-CPU RTC drivers 925# on-CPU RTC drivers
841# 926#
842CONFIG_RTC_DRV_TX4939=y 927CONFIG_RTC_DRV_TX4939=y
843# CONFIG_DMADEVICES is not set 928CONFIG_DMADEVICES=y
929
930#
931# DMA Devices
932#
933CONFIG_TXX9_DMAC=m
934CONFIG_DMA_ENGINE=y
935
936#
937# DMA Clients
938#
939# CONFIG_NET_DMA is not set
940# CONFIG_ASYNC_TX_DMA is not set
941# CONFIG_DMATEST is not set
942# CONFIG_AUXDISPLAY is not set
844# CONFIG_UIO is not set 943# CONFIG_UIO is not set
944
945#
946# TI VLYNQ
947#
845# CONFIG_STAGING is not set 948# CONFIG_STAGING is not set
846 949
847# 950#
@@ -853,9 +956,10 @@ CONFIG_RTC_DRV_TX4939=y
853# CONFIG_REISERFS_FS is not set 956# CONFIG_REISERFS_FS is not set
854# CONFIG_JFS_FS is not set 957# CONFIG_JFS_FS is not set
855CONFIG_FS_POSIX_ACL=y 958CONFIG_FS_POSIX_ACL=y
856CONFIG_FILE_LOCKING=y
857# CONFIG_XFS_FS is not set 959# CONFIG_XFS_FS is not set
858# CONFIG_OCFS2_FS is not set 960# CONFIG_OCFS2_FS is not set
961CONFIG_FILE_LOCKING=y
962CONFIG_FSNOTIFY=y
859# CONFIG_DNOTIFY is not set 963# CONFIG_DNOTIFY is not set
860CONFIG_INOTIFY=y 964CONFIG_INOTIFY=y
861CONFIG_INOTIFY_USER=y 965CONFIG_INOTIFY_USER=y
@@ -866,6 +970,10 @@ CONFIG_INOTIFY_USER=y
866CONFIG_GENERIC_ACL=y 970CONFIG_GENERIC_ACL=y
867 971
868# 972#
973# Caches
974#
975
976#
869# CD-ROM/DVD Filesystems 977# CD-ROM/DVD Filesystems
870# 978#
871# CONFIG_ISO9660_FS is not set 979# CONFIG_ISO9660_FS is not set
@@ -890,7 +998,27 @@ CONFIG_TMPFS=y
890CONFIG_TMPFS_POSIX_ACL=y 998CONFIG_TMPFS_POSIX_ACL=y
891# CONFIG_HUGETLB_PAGE is not set 999# CONFIG_HUGETLB_PAGE is not set
892# CONFIG_CONFIGFS_FS is not set 1000# CONFIG_CONFIGFS_FS is not set
893# CONFIG_MISC_FILESYSTEMS is not set 1001CONFIG_MISC_FILESYSTEMS=y
1002# CONFIG_HFSPLUS_FS is not set
1003CONFIG_JFFS2_FS=m
1004CONFIG_JFFS2_FS_DEBUG=0
1005CONFIG_JFFS2_FS_WRITEBUFFER=y
1006# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1007# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1008CONFIG_JFFS2_ZLIB=y
1009# CONFIG_JFFS2_LZO is not set
1010CONFIG_JFFS2_RTIME=y
1011# CONFIG_JFFS2_RUBIN is not set
1012# CONFIG_CRAMFS is not set
1013# CONFIG_SQUASHFS is not set
1014# CONFIG_VXFS_FS is not set
1015# CONFIG_MINIX_FS is not set
1016# CONFIG_OMFS_FS is not set
1017# CONFIG_HPFS_FS is not set
1018# CONFIG_QNX4FS_FS is not set
1019# CONFIG_ROMFS_FS is not set
1020# CONFIG_SYSV_FS is not set
1021# CONFIG_UFS_FS is not set
894CONFIG_NETWORK_FILESYSTEMS=y 1022CONFIG_NETWORK_FILESYSTEMS=y
895CONFIG_NFS_FS=y 1023CONFIG_NFS_FS=y
896CONFIG_NFS_V3=y 1024CONFIG_NFS_V3=y
@@ -922,6 +1050,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
922CONFIG_ENABLE_MUST_CHECK=y 1050CONFIG_ENABLE_MUST_CHECK=y
923CONFIG_FRAME_WARN=1024 1051CONFIG_FRAME_WARN=1024
924# CONFIG_MAGIC_SYSRQ is not set 1052# CONFIG_MAGIC_SYSRQ is not set
1053CONFIG_STRIP_ASM_SYMS=y
925# CONFIG_UNUSED_SYMBOLS is not set 1054# CONFIG_UNUSED_SYMBOLS is not set
926CONFIG_DEBUG_FS=y 1055CONFIG_DEBUG_FS=y
927# CONFIG_HEADERS_CHECK is not set 1056# CONFIG_HEADERS_CHECK is not set
@@ -929,11 +1058,9 @@ CONFIG_DEBUG_FS=y
929# CONFIG_DEBUG_MEMORY_INIT is not set 1058# CONFIG_DEBUG_MEMORY_INIT is not set
930# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1059# CONFIG_RCU_CPU_STALL_DETECTOR is not set
931CONFIG_SYSCTL_SYSCALL_CHECK=y 1060CONFIG_SYSCTL_SYSCALL_CHECK=y
932 1061CONFIG_TRACING_SUPPORT=y
933# 1062# CONFIG_FTRACE is not set
934# Tracers 1063# CONFIG_DYNAMIC_DEBUG is not set
935#
936# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
937# CONFIG_SAMPLES is not set 1064# CONFIG_SAMPLES is not set
938CONFIG_HAVE_ARCH_KGDB=y 1065CONFIG_HAVE_ARCH_KGDB=y
939CONFIG_CMDLINE="" 1066CONFIG_CMDLINE=""
@@ -946,6 +1073,7 @@ CONFIG_CMDLINE=""
946# CONFIG_SECURITYFS is not set 1073# CONFIG_SECURITYFS is not set
947# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1074# CONFIG_SECURITY_FILE_CAPABILITIES is not set
948# CONFIG_CRYPTO is not set 1075# CONFIG_CRYPTO is not set
1076# CONFIG_BINARY_PRINTF is not set
949 1077
950# 1078#
951# Library routines 1079# Library routines
@@ -959,6 +1087,10 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
959CONFIG_CRC32=y 1087CONFIG_CRC32=y
960# CONFIG_CRC7 is not set 1088# CONFIG_CRC7 is not set
961# CONFIG_LIBCRC32C is not set 1089# CONFIG_LIBCRC32C is not set
1090CONFIG_ZLIB_INFLATE=y
1091CONFIG_ZLIB_DEFLATE=m
1092CONFIG_DECOMPRESS_GZIP=y
962CONFIG_HAS_IOMEM=y 1093CONFIG_HAS_IOMEM=y
963CONFIG_HAS_IOPORT=y 1094CONFIG_HAS_IOPORT=y
964CONFIG_HAS_DMA=y 1095CONFIG_HAS_DMA=y
1096CONFIG_NLATTR=y
diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h
index d16afddb09a9..664ba53dc32a 100644
--- a/arch/mips/include/asm/dma-mapping.h
+++ b/arch/mips/include/asm/dma-mapping.h
@@ -3,6 +3,7 @@
3 3
4#include <asm/scatterlist.h> 4#include <asm/scatterlist.h>
5#include <asm/cache.h> 5#include <asm/cache.h>
6#include <asm-generic/dma-coherent.h>
6 7
7void *dma_alloc_noncoherent(struct device *dev, size_t size, 8void *dma_alloc_noncoherent(struct device *dev, size_t size,
8 dma_addr_t *dma_handle, gfp_t flag); 9 dma_addr_t *dma_handle, gfp_t flag);
@@ -73,14 +74,4 @@ extern int dma_is_consistent(struct device *dev, dma_addr_t dma_addr);
73extern void dma_cache_sync(struct device *dev, void *vaddr, size_t size, 74extern void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
74 enum dma_data_direction direction); 75 enum dma_data_direction direction);
75 76
76#if 0
77#define ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY
78
79extern int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
80 dma_addr_t device_addr, size_t size, int flags);
81extern void dma_release_declared_memory(struct device *dev);
82extern void * dma_mark_declared_memory_occupied(struct device *dev,
83 dma_addr_t device_addr, size_t size);
84#endif
85
86#endif /* _ASM_DMA_MAPPING_H */ 77#endif /* _ASM_DMA_MAPPING_H */
diff --git a/arch/mips/include/asm/mman.h b/arch/mips/include/asm/mman.h
index a2250f390a29..c892bfb3e2c1 100644
--- a/arch/mips/include/asm/mman.h
+++ b/arch/mips/include/asm/mman.h
@@ -75,6 +75,7 @@
75 75
76#define MADV_MERGEABLE 12 /* KSM may merge identical pages */ 76#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
77#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */ 77#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */
78#define MADV_HWPOISON 100 /* poison a page for testing */
78 79
79/* compatibility flags */ 80/* compatibility flags */
80#define MAP_FILE 0 81#define MAP_FILE 0
diff --git a/arch/mips/include/asm/system.h b/arch/mips/include/asm/system.h
index fcf5f98d90cc..83b5509e09e8 100644
--- a/arch/mips/include/asm/system.h
+++ b/arch/mips/include/asm/system.h
@@ -12,6 +12,7 @@
12#ifndef _ASM_SYSTEM_H 12#ifndef _ASM_SYSTEM_H
13#define _ASM_SYSTEM_H 13#define _ASM_SYSTEM_H
14 14
15#include <linux/kernel.h>
15#include <linux/types.h> 16#include <linux/types.h>
16#include <linux/irqflags.h> 17#include <linux/irqflags.h>
17 18
@@ -193,10 +194,6 @@ extern __u64 __xchg_u64_unsupported_on_32bit_kernels(volatile __u64 * m, __u64 v
193#define __xchg_u64 __xchg_u64_unsupported_on_32bit_kernels 194#define __xchg_u64 __xchg_u64_unsupported_on_32bit_kernels
194#endif 195#endif
195 196
196/* This function doesn't exist, so you'll get a linker error
197 if something tries to do an invalid xchg(). */
198extern void __xchg_called_with_bad_pointer(void);
199
200static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size) 197static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size)
201{ 198{
202 switch (size) { 199 switch (size) {
@@ -205,11 +202,17 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
205 case 8: 202 case 8:
206 return __xchg_u64(ptr, x); 203 return __xchg_u64(ptr, x);
207 } 204 }
208 __xchg_called_with_bad_pointer(); 205
209 return x; 206 return x;
210} 207}
211 208
212#define xchg(ptr, x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))) 209#define xchg(ptr, x) \
210({ \
211 BUILD_BUG_ON(sizeof(*(ptr)) & ~0xc); \
212 \
213 ((__typeof__(*(ptr))) \
214 __xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))); \
215})
213 216
214extern void set_handler(unsigned long offset, void *addr, unsigned long len); 217extern void set_handler(unsigned long offset, void *addr, unsigned long len);
215extern void set_uncached_handler(unsigned long offset, void *addr, unsigned long len); 218extern void set_uncached_handler(unsigned long offset, void *addr, unsigned long len);
diff --git a/arch/mips/kernel/cevt-smtc.c b/arch/mips/kernel/cevt-smtc.c
index 98bd7de75778..b102e4f1630e 100644
--- a/arch/mips/kernel/cevt-smtc.c
+++ b/arch/mips/kernel/cevt-smtc.c
@@ -173,11 +173,12 @@ void smtc_distribute_timer(int vpe)
173 unsigned int mtflags; 173 unsigned int mtflags;
174 int cpu; 174 int cpu;
175 struct clock_event_device *cd; 175 struct clock_event_device *cd;
176 unsigned long nextstamp = 0L; 176 unsigned long nextstamp;
177 unsigned long reference; 177 unsigned long reference;
178 178
179 179
180repeat: 180repeat:
181 nextstamp = 0L;
181 for_each_online_cpu(cpu) { 182 for_each_online_cpu(cpu) {
182 /* 183 /*
183 * Find virtual CPUs within the current VPE who have 184 * Find virtual CPUs within the current VPE who have
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index 3fe1fcfa2e73..fe0d79805603 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -306,6 +306,7 @@ static inline int mips_atomic_set(struct pt_regs *regs,
306 306
307 if (cpu_has_llsc && R10000_LLSC_WAR) { 307 if (cpu_has_llsc && R10000_LLSC_WAR) {
308 __asm__ __volatile__ ( 308 __asm__ __volatile__ (
309 " .set mips3 \n"
309 " li %[err], 0 \n" 310 " li %[err], 0 \n"
310 "1: ll %[old], (%[addr]) \n" 311 "1: ll %[old], (%[addr]) \n"
311 " move %[tmp], %[new] \n" 312 " move %[tmp], %[new] \n"
@@ -320,6 +321,7 @@ static inline int mips_atomic_set(struct pt_regs *regs,
320 " "STR(PTR)" 1b, 4b \n" 321 " "STR(PTR)" 1b, 4b \n"
321 " "STR(PTR)" 2b, 4b \n" 322 " "STR(PTR)" 2b, 4b \n"
322 " .previous \n" 323 " .previous \n"
324 " .set mips0 \n"
323 : [old] "=&r" (old), 325 : [old] "=&r" (old),
324 [err] "=&r" (err), 326 [err] "=&r" (err),
325 [tmp] "=&r" (tmp) 327 [tmp] "=&r" (tmp)
@@ -329,6 +331,7 @@ static inline int mips_atomic_set(struct pt_regs *regs,
329 : "memory"); 331 : "memory");
330 } else if (cpu_has_llsc) { 332 } else if (cpu_has_llsc) {
331 __asm__ __volatile__ ( 333 __asm__ __volatile__ (
334 " .set mips3 \n"
332 " li %[err], 0 \n" 335 " li %[err], 0 \n"
333 "1: ll %[old], (%[addr]) \n" 336 "1: ll %[old], (%[addr]) \n"
334 " move %[tmp], %[new] \n" 337 " move %[tmp], %[new] \n"
@@ -347,6 +350,7 @@ static inline int mips_atomic_set(struct pt_regs *regs,
347 " "STR(PTR)" 1b, 5b \n" 350 " "STR(PTR)" 1b, 5b \n"
348 " "STR(PTR)" 2b, 5b \n" 351 " "STR(PTR)" 2b, 5b \n"
349 " .previous \n" 352 " .previous \n"
353 " .set mips0 \n"
350 : [old] "=&r" (old), 354 : [old] "=&r" (old),
351 [err] "=&r" (err), 355 [err] "=&r" (err),
352 [tmp] "=&r" (tmp) 356 [tmp] "=&r" (tmp)
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
index 890f77927d62..454b53924490 100644
--- a/arch/mips/math-emu/cp1emu.c
+++ b/arch/mips/math-emu/cp1emu.c
@@ -163,33 +163,34 @@ static int isBranchInstr(mips_instruction * i)
163 163
164/* 164/*
165 * In the Linux kernel, we support selection of FPR format on the 165 * In the Linux kernel, we support selection of FPR format on the
166 * basis of the Status.FR bit. This does imply that, if a full 32 166 * basis of the Status.FR bit. If an FPU is not present, the FR bit
167 * FPRs are desired, there needs to be a flip-flop that can be written 167 * is hardwired to zero, which would imply a 32-bit FPU even for
168 * to one at that bit position. In any case, O32 MIPS ABI uses 168 * 64-bit CPUs. For 64-bit kernels with no FPU we use TIF_32BIT_REGS
169 * only the even FPRs (Status.FR = 0). 169 * as a proxy for the FR bit so that a 64-bit FPU is emulated. In any
170 * case, for a 32-bit kernel which uses the O32 MIPS ABI, only the
171 * even FPRs are used (Status.FR = 0).
170 */ 172 */
171 173static inline int cop1_64bit(struct pt_regs *xcp)
172#define CP0_STATUS_FR_SUPPORT 174{
173 175 if (cpu_has_fpu)
174#ifdef CP0_STATUS_FR_SUPPORT 176 return xcp->cp0_status & ST0_FR;
175#define FR_BIT ST0_FR 177#ifdef CONFIG_64BIT
178 return !test_thread_flag(TIF_32BIT_REGS);
176#else 179#else
177#define FR_BIT 0 180 return 0;
178#endif 181#endif
182}
183
184#define SIFROMREG(si, x) ((si) = cop1_64bit(xcp) || !(x & 1) ? \
185 (int)ctx->fpr[x] : (int)(ctx->fpr[x & ~1] >> 32))
179 186
180#define SIFROMREG(si, x) ((si) = \ 187#define SITOREG(si, x) (ctx->fpr[x & ~(cop1_64bit(xcp) == 0)] = \
181 (xcp->cp0_status & FR_BIT) || !(x & 1) ? \ 188 cop1_64bit(xcp) || !(x & 1) ? \
182 (int)ctx->fpr[x] : \
183 (int)(ctx->fpr[x & ~1] >> 32 ))
184#define SITOREG(si, x) (ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] = \
185 (xcp->cp0_status & FR_BIT) || !(x & 1) ? \
186 ctx->fpr[x & ~1] >> 32 << 32 | (u32)(si) : \ 189 ctx->fpr[x & ~1] >> 32 << 32 | (u32)(si) : \
187 ctx->fpr[x & ~1] << 32 >> 32 | (u64)(si) << 32) 190 ctx->fpr[x & ~1] << 32 >> 32 | (u64)(si) << 32)
188 191
189#define DIFROMREG(di, x) ((di) = \ 192#define DIFROMREG(di, x) ((di) = ctx->fpr[x & ~(cop1_64bit(xcp) == 0)])
190 ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)]) 193#define DITOREG(di, x) (ctx->fpr[x & ~(cop1_64bit(xcp) == 0)] = (di))
191#define DITOREG(di, x) (ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] \
192 = (di))
193 194
194#define SPFROMREG(sp, x) SIFROMREG((sp).bits, x) 195#define SPFROMREG(sp, x) SIFROMREG((sp).bits, x)
195#define SPTOREG(sp, x) SITOREG((sp).bits, x) 196#define SPTOREG(sp, x) SITOREG((sp).bits, x)
diff --git a/arch/mips/mm/dma-default.c b/arch/mips/mm/dma-default.c
index 7e48e76148aa..9367e33fbd18 100644
--- a/arch/mips/mm/dma-default.c
+++ b/arch/mips/mm/dma-default.c
@@ -90,6 +90,9 @@ void *dma_alloc_coherent(struct device *dev, size_t size,
90{ 90{
91 void *ret; 91 void *ret;
92 92
93 if (dma_alloc_from_coherent(dev, size, dma_handle, &ret))
94 return ret;
95
93 gfp = massage_gfp_flags(dev, gfp); 96 gfp = massage_gfp_flags(dev, gfp);
94 97
95 ret = (void *) __get_free_pages(gfp, get_order(size)); 98 ret = (void *) __get_free_pages(gfp, get_order(size));
@@ -122,6 +125,10 @@ void dma_free_coherent(struct device *dev, size_t size, void *vaddr,
122 dma_addr_t dma_handle) 125 dma_addr_t dma_handle)
123{ 126{
124 unsigned long addr = (unsigned long) vaddr; 127 unsigned long addr = (unsigned long) vaddr;
128 int order = get_order(size);
129
130 if (dma_release_from_coherent(dev, order, vaddr))
131 return;
125 132
126 plat_unmap_dma_mem(dev, dma_handle, size, DMA_BIDIRECTIONAL); 133 plat_unmap_dma_mem(dev, dma_handle, size, DMA_BIDIRECTIONAL);
127 134
diff --git a/arch/mips/mti-malta/malta-memory.c b/arch/mips/mti-malta/malta-memory.c
index 61888ff72c87..9035c64bc5ed 100644
--- a/arch/mips/mti-malta/malta-memory.c
+++ b/arch/mips/mti-malta/malta-memory.c
@@ -54,7 +54,8 @@ static struct prom_pmemblock * __init prom_getmdesc(void)
54{ 54{
55 char *memsize_str; 55 char *memsize_str;
56 unsigned int memsize; 56 unsigned int memsize;
57 char cmdline[CL_SIZE], *ptr; 57 char *ptr;
58 static char cmdline[CL_SIZE] __initdata;
58 59
59 /* otherwise look in the environment */ 60 /* otherwise look in the environment */
60 memsize_str = prom_getenv("memsize"); 61 memsize_str = prom_getenv("memsize");
diff --git a/arch/mips/rb532/devices.c b/arch/mips/rb532/devices.c
index 9f40e1ff9b4f..041fc1afc3f4 100644
--- a/arch/mips/rb532/devices.c
+++ b/arch/mips/rb532/devices.c
@@ -110,7 +110,6 @@ static struct korina_device korina_dev0_data = {
110static struct platform_device korina_dev0 = { 110static struct platform_device korina_dev0 = {
111 .id = -1, 111 .id = -1,
112 .name = "korina", 112 .name = "korina",
113 .dev.driver_data = &korina_dev0_data,
114 .resource = korina_dev0_res, 113 .resource = korina_dev0_res,
115 .num_resources = ARRAY_SIZE(korina_dev0_res), 114 .num_resources = ARRAY_SIZE(korina_dev0_res),
116}; 115};
@@ -332,6 +331,8 @@ static int __init plat_setup_devices(void)
332 /* set the uart clock to the current cpu frequency */ 331 /* set the uart clock to the current cpu frequency */
333 rb532_uart_res[0].uartclk = idt_cpu_freq; 332 rb532_uart_res[0].uartclk = idt_cpu_freq;
334 333
334 dev_set_drvdata(&korina_dev0.dev, &korina_dev0_data);
335
335 return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs)); 336 return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs));
336} 337}
337 338
diff --git a/arch/mips/rb532/prom.c b/arch/mips/rb532/prom.c
index 46ca24dbcc2d..ad5bd1097974 100644
--- a/arch/mips/rb532/prom.c
+++ b/arch/mips/rb532/prom.c
@@ -69,7 +69,7 @@ static inline unsigned long tag2ul(char *arg, const char *tag)
69 69
70void __init prom_setup_cmdline(void) 70void __init prom_setup_cmdline(void)
71{ 71{
72 char cmd_line[CL_SIZE]; 72 static char cmd_line[CL_SIZE] __initdata;
73 char *cp, *board; 73 char *cp, *board;
74 int prom_argc; 74 int prom_argc;
75 char **prom_argv, **prom_envp; 75 char **prom_argv, **prom_envp;
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index e10184c1b3e1..d66802edebb2 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -160,7 +160,7 @@ static void __init prom_init_cmdline(void)
160 int argc; 160 int argc;
161 int *argv32; 161 int *argv32;
162 int i; /* Always ignore the "-c" at argv[0] */ 162 int i; /* Always ignore the "-c" at argv[0] */
163 char builtin[CL_SIZE]; 163 static char builtin[CL_SIZE] __initdata;
164 164
165 if (fw_arg0 >= CKSEG0 || fw_arg1 < CKSEG0) { 165 if (fw_arg0 >= CKSEG0 || fw_arg1 < CKSEG0) {
166 /* 166 /*
@@ -315,7 +315,7 @@ static inline void txx9_cache_fixup(void)
315 315
316static void __init preprocess_cmdline(void) 316static void __init preprocess_cmdline(void)
317{ 317{
318 char cmdline[CL_SIZE]; 318 static char cmdline[CL_SIZE] __initdata;
319 char *s; 319 char *s;
320 320
321 strcpy(cmdline, arcs_cmdline); 321 strcpy(cmdline, arcs_cmdline);
diff --git a/arch/parisc/include/asm/fcntl.h b/arch/parisc/include/asm/fcntl.h
index 5f39d5597ced..1e1c824764ee 100644
--- a/arch/parisc/include/asm/fcntl.h
+++ b/arch/parisc/include/asm/fcntl.h
@@ -28,8 +28,6 @@
28#define F_SETOWN 12 /* for sockets. */ 28#define F_SETOWN 12 /* for sockets. */
29#define F_SETSIG 13 /* for sockets. */ 29#define F_SETSIG 13 /* for sockets. */
30#define F_GETSIG 14 /* for sockets. */ 30#define F_GETSIG 14 /* for sockets. */
31#define F_GETOWN_EX 15
32#define F_SETOWN_EX 16
33 31
34/* for posix fcntl() and lockf() */ 32/* for posix fcntl() and lockf() */
35#define F_RDLCK 01 33#define F_RDLCK 01
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c
index 69dad5a850a8..a36799e85693 100644
--- a/arch/parisc/kernel/unwind.c
+++ b/arch/parisc/kernel/unwind.c
@@ -28,7 +28,7 @@
28#define dbg(x...) 28#define dbg(x...)
29#endif 29#endif
30 30
31#define KERNEL_START (KERNEL_BINARY_TEXT_START - 0x1000) 31#define KERNEL_START (KERNEL_BINARY_TEXT_START)
32 32
33extern struct unwind_table_entry __start___unwind[]; 33extern struct unwind_table_entry __start___unwind[];
34extern struct unwind_table_entry __stop___unwind[]; 34extern struct unwind_table_entry __stop___unwind[];
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S
index fda4baa059b5..9dab4a4e09f7 100644
--- a/arch/parisc/kernel/vmlinux.lds.S
+++ b/arch/parisc/kernel/vmlinux.lds.S
@@ -78,9 +78,6 @@ SECTIONS
78 */ 78 */
79 . = ALIGN(PAGE_SIZE); 79 . = ALIGN(PAGE_SIZE);
80 data_start = .; 80 data_start = .;
81 EXCEPTION_TABLE(16)
82
83 NOTES
84 81
85 /* unwind info */ 82 /* unwind info */
86 .PARISC.unwind : { 83 .PARISC.unwind : {
@@ -89,6 +86,9 @@ SECTIONS
89 __stop___unwind = .; 86 __stop___unwind = .;
90 } 87 }
91 88
89 EXCEPTION_TABLE(16)
90 NOTES
91
92 /* Data */ 92 /* Data */
93 RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) 93 RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
94 94
diff --git a/arch/powerpc/boot/addRamDisk.c b/arch/powerpc/boot/addRamDisk.c
index c02a99952be7..893f446cbd22 100644
--- a/arch/powerpc/boot/addRamDisk.c
+++ b/arch/powerpc/boot/addRamDisk.c
@@ -58,7 +58,7 @@ static int check_elf64(void *p, int size, struct addr_range *r)
58 58
59 return 64; 59 return 64;
60} 60}
61void get4k(FILE *file, char *buf ) 61static void get4k(FILE *file, char *buf )
62{ 62{
63 unsigned j; 63 unsigned j;
64 unsigned num = fread(buf, 1, 4096, file); 64 unsigned num = fread(buf, 1, 4096, file);
@@ -66,12 +66,12 @@ void get4k(FILE *file, char *buf )
66 buf[j] = 0; 66 buf[j] = 0;
67} 67}
68 68
69void put4k(FILE *file, char *buf ) 69static void put4k(FILE *file, char *buf )
70{ 70{
71 fwrite(buf, 1, 4096, file); 71 fwrite(buf, 1, 4096, file);
72} 72}
73 73
74void death(const char *msg, FILE *fdesc, const char *fname) 74static void death(const char *msg, FILE *fdesc, const char *fname)
75{ 75{
76 fprintf(stderr, msg); 76 fprintf(stderr, msg);
77 fclose(fdesc); 77 fclose(fdesc);
diff --git a/arch/powerpc/boot/dts/mpc8377_wlan.dts b/arch/powerpc/boot/dts/mpc8377_wlan.dts
index 9a603695723b..9ea783056969 100644
--- a/arch/powerpc/boot/dts/mpc8377_wlan.dts
+++ b/arch/powerpc/boot/dts/mpc8377_wlan.dts
@@ -67,7 +67,7 @@
67 device-width = <1>; 67 device-width = <1>;
68 68
69 partition@0 { 69 partition@0 {
70 reg = <0 0x8000>; 70 reg = <0 0x80000>;
71 label = "u-boot"; 71 label = "u-boot";
72 read-only; 72 read-only;
73 }; 73 };
diff --git a/arch/powerpc/boot/dts/mpc8569mds.dts b/arch/powerpc/boot/dts/mpc8569mds.dts
index 06332d61830a..1e3ec8f059bf 100644
--- a/arch/powerpc/boot/dts/mpc8569mds.dts
+++ b/arch/powerpc/boot/dts/mpc8569mds.dts
@@ -487,8 +487,8 @@
487 &qe_pio_f 5 0 /* USBTN */ 487 &qe_pio_f 5 0 /* USBTN */
488 &qe_pio_f 6 0 /* USBRP */ 488 &qe_pio_f 6 0 /* USBRP */
489 &qe_pio_f 8 0 /* USBRN */ 489 &qe_pio_f 8 0 /* USBRN */
490 &bcsr17 6 0 /* SPEED */ 490 &bcsr17 1 0 /* SPEED */
491 &bcsr17 5 1>; /* POWER */ 491 &bcsr17 2 0>; /* POWER */
492 }; 492 };
493 493
494 enet0: ucc@2000 { 494 enet0: ucc@2000 {
diff --git a/arch/powerpc/boot/dts/sbc8548.dts b/arch/powerpc/boot/dts/sbc8548.dts
index 9eefe00ed253..94a332251710 100644
--- a/arch/powerpc/boot/dts/sbc8548.dts
+++ b/arch/powerpc/boot/dts/sbc8548.dts
@@ -26,8 +26,7 @@
26 serial0 = &serial0; 26 serial0 = &serial0;
27 serial1 = &serial1; 27 serial1 = &serial1;
28 pci0 = &pci0; 28 pci0 = &pci0;
29 /* pci1 doesn't have a corresponding physical connector */ 29 pci1 = &pci1;
30 pci2 = &pci2;
31 }; 30 };
32 31
33 cpus { 32 cpus {
@@ -381,7 +380,7 @@
381 bus-range = <0 0>; 380 bus-range = <0 0>;
382 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000 381 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000
383 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>; 382 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>;
384 clock-frequency = <66666666>; 383 clock-frequency = <66000000>;
385 #interrupt-cells = <1>; 384 #interrupt-cells = <1>;
386 #size-cells = <2>; 385 #size-cells = <2>;
387 #address-cells = <3>; 386 #address-cells = <3>;
@@ -390,7 +389,7 @@
390 device_type = "pci"; 389 device_type = "pci";
391 }; 390 };
392 391
393 pci2: pcie@e000a000 { 392 pci1: pcie@e000a000 {
394 interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 393 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
395 interrupt-map = < 394 interrupt-map = <
396 395
@@ -403,9 +402,9 @@
403 interrupt-parent = <&mpic>; 402 interrupt-parent = <&mpic>;
404 interrupts = <0x1a 0x2>; 403 interrupts = <0x1a 0x2>;
405 bus-range = <0x0 0xff>; 404 bus-range = <0x0 0xff>;
406 ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 405 ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
407 0x01000000 0x0 0x00000000 0xe3000000 0x0 0x08000000>; 406 0x01000000 0x0 0x00000000 0xe2800000 0x0 0x08000000>;
408 clock-frequency = <33333333>; 407 clock-frequency = <33000000>;
409 #interrupt-cells = <1>; 408 #interrupt-cells = <1>;
410 #size-cells = <2>; 409 #size-cells = <2>;
411 #address-cells = <3>; 410 #address-cells = <3>;
@@ -419,11 +418,11 @@
419 device_type = "pci"; 418 device_type = "pci";
420 ranges = <0x02000000 0x0 0xa0000000 419 ranges = <0x02000000 0x0 0xa0000000
421 0x02000000 0x0 0xa0000000 420 0x02000000 0x0 0xa0000000
422 0x0 0x20000000 421 0x0 0x10000000
423 422
424 0x01000000 0x0 0x00000000 423 0x01000000 0x0 0x00000000
425 0x01000000 0x0 0x00000000 424 0x01000000 0x0 0x00000000
426 0x0 0x08000000>; 425 0x0 0x00800000>;
427 }; 426 };
428 }; 427 };
429}; 428};
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig
index a2df0635b6de..466f09ac3153 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:02 2009 4# Thu Nov 5 08:20:20 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
85# 86#
86# RCU Subsystem 87# RCU Subsystem
87# 88#
88CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
95CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -125,28 +127,29 @@ CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 127CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 128CONFIG_SHMEM=y
127CONFIG_AIO=y 129CONFIG_AIO=y
128CONFIG_HAVE_PERF_COUNTERS=y 130CONFIG_HAVE_PERF_EVENTS=y
129 131
130# 132#
131# Performance Counters 133# Kernel Performance Events And Counters
132# 134#
135# CONFIG_PERF_EVENTS is not set
133# CONFIG_PERF_COUNTERS is not set 136# CONFIG_PERF_COUNTERS is not set
134CONFIG_VM_EVENT_COUNTERS=y 137CONFIG_VM_EVENT_COUNTERS=y
135CONFIG_PCI_QUIRKS=y 138CONFIG_PCI_QUIRKS=y
136CONFIG_SLUB_DEBUG=y 139CONFIG_SLUB_DEBUG=y
137# CONFIG_STRIP_ASM_SYMS is not set
138CONFIG_COMPAT_BRK=y 140CONFIG_COMPAT_BRK=y
139# CONFIG_SLAB is not set 141# CONFIG_SLAB is not set
140CONFIG_SLUB=y 142CONFIG_SLUB=y
141# CONFIG_SLOB is not set 143# CONFIG_SLOB is not set
142# CONFIG_PROFILING is not set 144# CONFIG_PROFILING is not set
143# CONFIG_MARKERS is not set
144CONFIG_HAVE_OPROFILE=y 145CONFIG_HAVE_OPROFILE=y
145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
146CONFIG_HAVE_IOREMAP_PROT=y 147CONFIG_HAVE_IOREMAP_PROT=y
147CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
148CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
149CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
150 153
151# 154#
152# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -257,6 +260,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
257CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 260CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
258# CONFIG_KEXEC is not set 261# CONFIG_KEXEC is not set
259# CONFIG_CRASH_DUMP is not set 262# CONFIG_CRASH_DUMP is not set
263CONFIG_MAX_ACTIVE_REGIONS=32
260CONFIG_ARCH_FLATMEM_ENABLE=y 264CONFIG_ARCH_FLATMEM_ENABLE=y
261CONFIG_ARCH_POPULATES_NODE_MAP=y 265CONFIG_ARCH_POPULATES_NODE_MAP=y
262CONFIG_SELECT_MEMORY_MODEL=y 266CONFIG_SELECT_MEMORY_MODEL=y
@@ -274,6 +278,7 @@ CONFIG_BOUNCE=y
274CONFIG_VIRT_TO_BUS=y 278CONFIG_VIRT_TO_BUS=y
275CONFIG_HAVE_MLOCK=y 279CONFIG_HAVE_MLOCK=y
276CONFIG_HAVE_MLOCKED_PAGE_BIT=y 280CONFIG_HAVE_MLOCKED_PAGE_BIT=y
281# CONFIG_KSM is not set
277CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 282CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
278CONFIG_PPC_4K_PAGES=y 283CONFIG_PPC_4K_PAGES=y
279# CONFIG_PPC_16K_PAGES is not set 284# CONFIG_PPC_16K_PAGES is not set
@@ -369,6 +374,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# CONFIG_NETFILTER is not set 374# CONFIG_NETFILTER is not set
370# CONFIG_IP_DCCP is not set 375# CONFIG_IP_DCCP is not set
371# CONFIG_IP_SCTP is not set 376# CONFIG_IP_SCTP is not set
377# CONFIG_RDS is not set
372# CONFIG_TIPC is not set 378# CONFIG_TIPC is not set
373# CONFIG_ATM is not set 379# CONFIG_ATM is not set
374# CONFIG_BRIDGE is not set 380# CONFIG_BRIDGE is not set
@@ -398,6 +404,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
398# CONFIG_AF_RXRPC is not set 404# CONFIG_AF_RXRPC is not set
399CONFIG_WIRELESS=y 405CONFIG_WIRELESS=y
400# CONFIG_CFG80211 is not set 406# CONFIG_CFG80211 is not set
407CONFIG_CFG80211_DEFAULT_PS_VALUE=0
401CONFIG_WIRELESS_OLD_REGULATORY=y 408CONFIG_WIRELESS_OLD_REGULATORY=y
402# CONFIG_WIRELESS_EXT is not set 409# CONFIG_WIRELESS_EXT is not set
403# CONFIG_LIB80211 is not set 410# CONFIG_LIB80211 is not set
@@ -405,7 +412,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
405# 412#
406# CFG80211 needs to be enabled for MAC80211 413# CFG80211 needs to be enabled for MAC80211
407# 414#
408CONFIG_MAC80211_DEFAULT_PS_VALUE=0
409# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
410# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
411# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -418,6 +424,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
418# Generic Driver Options 424# Generic Driver Options
419# 425#
420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
421CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
422CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
423# CONFIG_FW_LOADER is not set 430# CONFIG_FW_LOADER is not set
@@ -425,9 +432,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
425# CONFIG_CONNECTOR is not set 432# CONFIG_CONNECTOR is not set
426CONFIG_MTD=y 433CONFIG_MTD=y
427# CONFIG_MTD_DEBUG is not set 434# CONFIG_MTD_DEBUG is not set
435# CONFIG_MTD_TESTS is not set
428# CONFIG_MTD_CONCAT is not set 436# CONFIG_MTD_CONCAT is not set
429CONFIG_MTD_PARTITIONS=y 437CONFIG_MTD_PARTITIONS=y
430# CONFIG_MTD_TESTS is not set
431CONFIG_MTD_REDBOOT_PARTS=y 438CONFIG_MTD_REDBOOT_PARTS=y
432CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 439CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
433CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y 440CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
@@ -628,7 +635,9 @@ CONFIG_MII=y
628# CONFIG_NET_PCI is not set 635# CONFIG_NET_PCI is not set
629# CONFIG_B44 is not set 636# CONFIG_B44 is not set
630# CONFIG_KS8842 is not set 637# CONFIG_KS8842 is not set
638# CONFIG_KS8851_MLL is not set
631# CONFIG_ATL2 is not set 639# CONFIG_ATL2 is not set
640# CONFIG_XILINX_EMACLITE is not set
632CONFIG_NETDEV_1000=y 641CONFIG_NETDEV_1000=y
633# CONFIG_ACENIC is not set 642# CONFIG_ACENIC is not set
634# CONFIG_DL2K is not set 643# CONFIG_DL2K is not set
@@ -658,10 +667,7 @@ CONFIG_GIANFAR=y
658# CONFIG_JME is not set 667# CONFIG_JME is not set
659# CONFIG_NETDEV_10000 is not set 668# CONFIG_NETDEV_10000 is not set
660# CONFIG_TR is not set 669# CONFIG_TR is not set
661 670CONFIG_WLAN=y
662#
663# Wireless LAN
664#
665# CONFIG_WLAN_PRE80211 is not set 671# CONFIG_WLAN_PRE80211 is not set
666# CONFIG_WLAN_80211 is not set 672# CONFIG_WLAN_80211 is not set
667 673
@@ -760,6 +766,7 @@ CONFIG_LEGACY_PTY_COUNT=256
760CONFIG_DEVPORT=y 766CONFIG_DEVPORT=y
761CONFIG_I2C=y 767CONFIG_I2C=y
762CONFIG_I2C_BOARDINFO=y 768CONFIG_I2C_BOARDINFO=y
769CONFIG_I2C_COMPAT=y
763CONFIG_I2C_CHARDEV=y 770CONFIG_I2C_CHARDEV=y
764CONFIG_I2C_HELPER_AUTO=y 771CONFIG_I2C_HELPER_AUTO=y
765 772
@@ -814,9 +821,6 @@ CONFIG_I2C_MPC=y
814# Miscellaneous I2C Chip support 821# Miscellaneous I2C Chip support
815# 822#
816# CONFIG_DS1682 is not set 823# CONFIG_DS1682 is not set
817# CONFIG_SENSORS_PCF8574 is not set
818# CONFIG_PCF8575 is not set
819# CONFIG_SENSORS_PCA9539 is not set
820# CONFIG_SENSORS_TSL2550 is not set 824# CONFIG_SENSORS_TSL2550 is not set
821# CONFIG_I2C_DEBUG_CORE is not set 825# CONFIG_I2C_DEBUG_CORE is not set
822# CONFIG_I2C_DEBUG_ALGO is not set 826# CONFIG_I2C_DEBUG_ALGO is not set
@@ -834,6 +838,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
834# CONFIG_POWER_SUPPLY is not set 838# CONFIG_POWER_SUPPLY is not set
835CONFIG_HWMON=y 839CONFIG_HWMON=y
836# CONFIG_HWMON_VID is not set 840# CONFIG_HWMON_VID is not set
841# CONFIG_HWMON_DEBUG_CHIP is not set
842
843#
844# Native drivers
845#
837# CONFIG_SENSORS_AD7414 is not set 846# CONFIG_SENSORS_AD7414 is not set
838# CONFIG_SENSORS_AD7418 is not set 847# CONFIG_SENSORS_AD7418 is not set
839# CONFIG_SENSORS_ADM1021 is not set 848# CONFIG_SENSORS_ADM1021 is not set
@@ -883,6 +892,7 @@ CONFIG_HWMON=y
883# CONFIG_SENSORS_ADS7828 is not set 892# CONFIG_SENSORS_ADS7828 is not set
884# CONFIG_SENSORS_THMC50 is not set 893# CONFIG_SENSORS_THMC50 is not set
885# CONFIG_SENSORS_TMP401 is not set 894# CONFIG_SENSORS_TMP401 is not set
895# CONFIG_SENSORS_TMP421 is not set
886# CONFIG_SENSORS_VIA686A is not set 896# CONFIG_SENSORS_VIA686A is not set
887# CONFIG_SENSORS_VT1211 is not set 897# CONFIG_SENSORS_VT1211 is not set
888# CONFIG_SENSORS_VT8231 is not set 898# CONFIG_SENSORS_VT8231 is not set
@@ -894,7 +904,6 @@ CONFIG_HWMON=y
894# CONFIG_SENSORS_W83L786NG is not set 904# CONFIG_SENSORS_W83L786NG is not set
895# CONFIG_SENSORS_W83627HF is not set 905# CONFIG_SENSORS_W83627HF is not set
896# CONFIG_SENSORS_W83627EHF is not set 906# CONFIG_SENSORS_W83627EHF is not set
897# CONFIG_HWMON_DEBUG_CHIP is not set
898CONFIG_THERMAL=y 907CONFIG_THERMAL=y
899# CONFIG_THERMAL_HWMON is not set 908# CONFIG_THERMAL_HWMON is not set
900CONFIG_WATCHDOG=y 909CONFIG_WATCHDOG=y
@@ -934,6 +943,7 @@ CONFIG_SSB_POSSIBLE=y
934# CONFIG_MFD_TMIO is not set 943# CONFIG_MFD_TMIO is not set
935# CONFIG_PMIC_DA903X is not set 944# CONFIG_PMIC_DA903X is not set
936# CONFIG_MFD_WM8400 is not set 945# CONFIG_MFD_WM8400 is not set
946# CONFIG_MFD_WM831X is not set
937# CONFIG_MFD_WM8350_I2C is not set 947# CONFIG_MFD_WM8350_I2C is not set
938# CONFIG_MFD_PCF50633 is not set 948# CONFIG_MFD_PCF50633 is not set
939# CONFIG_AB3100_CORE is not set 949# CONFIG_AB3100_CORE is not set
@@ -944,6 +954,7 @@ CONFIG_SSB_POSSIBLE=y
944# Graphics support 954# Graphics support
945# 955#
946# CONFIG_AGP is not set 956# CONFIG_AGP is not set
957CONFIG_VGA_ARB=y
947# CONFIG_DRM is not set 958# CONFIG_DRM is not set
948# CONFIG_VGASTATE is not set 959# CONFIG_VGASTATE is not set
949CONFIG_VIDEO_OUTPUT_CONTROL=m 960CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -990,6 +1001,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
990# CONFIG_USB_OXU210HP_HCD is not set 1001# CONFIG_USB_OXU210HP_HCD is not set
991# CONFIG_USB_ISP116X_HCD is not set 1002# CONFIG_USB_ISP116X_HCD is not set
992# CONFIG_USB_ISP1760_HCD is not set 1003# CONFIG_USB_ISP1760_HCD is not set
1004# CONFIG_USB_ISP1362_HCD is not set
993# CONFIG_USB_OHCI_HCD is not set 1005# CONFIG_USB_OHCI_HCD is not set
994# CONFIG_USB_UHCI_HCD is not set 1006# CONFIG_USB_UHCI_HCD is not set
995# CONFIG_USB_SL811_HCD is not set 1007# CONFIG_USB_SL811_HCD is not set
@@ -1045,6 +1057,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1045# CONFIG_USB_LD is not set 1057# CONFIG_USB_LD is not set
1046# CONFIG_USB_TRANCEVIBRATOR is not set 1058# CONFIG_USB_TRANCEVIBRATOR is not set
1047# CONFIG_USB_IOWARRIOR is not set 1059# CONFIG_USB_IOWARRIOR is not set
1060# CONFIG_USB_TEST is not set
1048# CONFIG_USB_ISIGHTFW is not set 1061# CONFIG_USB_ISIGHTFW is not set
1049# CONFIG_USB_VST is not set 1062# CONFIG_USB_VST is not set
1050# CONFIG_USB_GADGET is not set 1063# CONFIG_USB_GADGET is not set
@@ -1146,6 +1159,7 @@ CONFIG_FS_MBCACHE=y
1146# CONFIG_GFS2_FS is not set 1159# CONFIG_GFS2_FS is not set
1147# CONFIG_OCFS2_FS is not set 1160# CONFIG_OCFS2_FS is not set
1148# CONFIG_BTRFS_FS is not set 1161# CONFIG_BTRFS_FS is not set
1162# CONFIG_NILFS2_FS is not set
1149CONFIG_FILE_LOCKING=y 1163CONFIG_FILE_LOCKING=y
1150CONFIG_FSNOTIFY=y 1164CONFIG_FSNOTIFY=y
1151CONFIG_DNOTIFY=y 1165CONFIG_DNOTIFY=y
@@ -1215,7 +1229,6 @@ CONFIG_JFFS2_RTIME=y
1215# CONFIG_ROMFS_FS is not set 1229# CONFIG_ROMFS_FS is not set
1216# CONFIG_SYSV_FS is not set 1230# CONFIG_SYSV_FS is not set
1217# CONFIG_UFS_FS is not set 1231# CONFIG_UFS_FS is not set
1218# CONFIG_NILFS2_FS is not set
1219CONFIG_NETWORK_FILESYSTEMS=y 1232CONFIG_NETWORK_FILESYSTEMS=y
1220CONFIG_NFS_FS=y 1233CONFIG_NFS_FS=y
1221CONFIG_NFS_V3=y 1234CONFIG_NFS_V3=y
@@ -1327,6 +1340,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1327CONFIG_ENABLE_MUST_CHECK=y 1340CONFIG_ENABLE_MUST_CHECK=y
1328CONFIG_FRAME_WARN=1024 1341CONFIG_FRAME_WARN=1024
1329# CONFIG_MAGIC_SYSRQ is not set 1342# CONFIG_MAGIC_SYSRQ is not set
1343# CONFIG_STRIP_ASM_SYMS is not set
1330# CONFIG_UNUSED_SYMBOLS is not set 1344# CONFIG_UNUSED_SYMBOLS is not set
1331# CONFIG_DEBUG_FS is not set 1345# CONFIG_DEBUG_FS is not set
1332# CONFIG_HEADERS_CHECK is not set 1346# CONFIG_HEADERS_CHECK is not set
@@ -1344,6 +1358,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1344CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1358CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1345CONFIG_TRACING_SUPPORT=y 1359CONFIG_TRACING_SUPPORT=y
1346# CONFIG_FTRACE is not set 1360# CONFIG_FTRACE is not set
1361# CONFIG_DMA_API_DEBUG is not set
1347# CONFIG_SAMPLES is not set 1362# CONFIG_SAMPLES is not set
1348CONFIG_HAVE_ARCH_KGDB=y 1363CONFIG_HAVE_ARCH_KGDB=y
1349# CONFIG_PPC_DISABLE_WERROR is not set 1364# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1365,7 +1380,6 @@ CONFIG_CRYPTO=y
1365# 1380#
1366# Crypto core or helper 1381# Crypto core or helper
1367# 1382#
1368# CONFIG_CRYPTO_FIPS is not set
1369CONFIG_CRYPTO_ALGAPI=y 1383CONFIG_CRYPTO_ALGAPI=y
1370CONFIG_CRYPTO_ALGAPI2=y 1384CONFIG_CRYPTO_ALGAPI2=y
1371CONFIG_CRYPTO_AEAD2=y 1385CONFIG_CRYPTO_AEAD2=y
@@ -1407,11 +1421,13 @@ CONFIG_CRYPTO_PCBC=m
1407# 1421#
1408# CONFIG_CRYPTO_HMAC is not set 1422# CONFIG_CRYPTO_HMAC is not set
1409# CONFIG_CRYPTO_XCBC is not set 1423# CONFIG_CRYPTO_XCBC is not set
1424# CONFIG_CRYPTO_VMAC is not set
1410 1425
1411# 1426#
1412# Digest 1427# Digest
1413# 1428#
1414# CONFIG_CRYPTO_CRC32C is not set 1429# CONFIG_CRYPTO_CRC32C is not set
1430# CONFIG_CRYPTO_GHASH is not set
1415# CONFIG_CRYPTO_MD4 is not set 1431# CONFIG_CRYPTO_MD4 is not set
1416CONFIG_CRYPTO_MD5=y 1432CONFIG_CRYPTO_MD5=y
1417# CONFIG_CRYPTO_MICHAEL_MIC is not set 1433# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/kmeter1_defconfig b/arch/powerpc/configs/83xx/kmeter1_defconfig
index 93ebd443a18f..6694fb73cd99 100644
--- a/arch/powerpc/configs/83xx/kmeter1_defconfig
+++ b/arch/powerpc/configs/83xx/kmeter1_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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:03 2009 4# Thu Nov 5 08:20:21 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -86,11 +87,12 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
86# 87#
87# RCU Subsystem 88# RCU Subsystem
88# 89#
89CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
90# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
91# CONFIG_PREEMPT_RCU is not set 92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
92# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
93# CONFIG_PREEMPT_RCU_TRACE is not set
94# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
95CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
96# CONFIG_GROUP_SCHED is not set 98# CONFIG_GROUP_SCHED is not set
@@ -119,20 +121,19 @@ CONFIG_TIMERFD=y
119CONFIG_EVENTFD=y 121CONFIG_EVENTFD=y
120CONFIG_SHMEM=y 122CONFIG_SHMEM=y
121CONFIG_AIO=y 123CONFIG_AIO=y
122CONFIG_HAVE_PERF_COUNTERS=y 124CONFIG_HAVE_PERF_EVENTS=y
123 125
124# 126#
125# Performance Counters 127# Kernel Performance Events And Counters
126# 128#
129# CONFIG_PERF_EVENTS is not set
127# CONFIG_PERF_COUNTERS is not set 130# CONFIG_PERF_COUNTERS is not set
128CONFIG_VM_EVENT_COUNTERS=y 131CONFIG_VM_EVENT_COUNTERS=y
129# CONFIG_STRIP_ASM_SYMS is not set
130CONFIG_COMPAT_BRK=y 132CONFIG_COMPAT_BRK=y
131CONFIG_SLAB=y 133CONFIG_SLAB=y
132# CONFIG_SLUB is not set 134# CONFIG_SLUB is not set
133# CONFIG_SLOB is not set 135# CONFIG_SLOB is not set
134# CONFIG_PROFILING is not set 136# CONFIG_PROFILING is not set
135# CONFIG_MARKERS is not set
136CONFIG_HAVE_OPROFILE=y 137CONFIG_HAVE_OPROFILE=y
137# CONFIG_KPROBES is not set 138# CONFIG_KPROBES is not set
138CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 139CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -140,6 +141,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
140CONFIG_HAVE_KPROBES=y 141CONFIG_HAVE_KPROBES=y
141CONFIG_HAVE_KRETPROBES=y 142CONFIG_HAVE_KRETPROBES=y
142CONFIG_HAVE_ARCH_TRACEHOOK=y 143CONFIG_HAVE_ARCH_TRACEHOOK=y
144CONFIG_HAVE_DMA_ATTRS=y
145CONFIG_HAVE_DMA_API_DEBUG=y
143 146
144# 147#
145# GCOV-based kernel profiling 148# GCOV-based kernel profiling
@@ -250,6 +253,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
250CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 253CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
251# CONFIG_KEXEC is not set 254# CONFIG_KEXEC is not set
252# CONFIG_CRASH_DUMP is not set 255# CONFIG_CRASH_DUMP is not set
256CONFIG_MAX_ACTIVE_REGIONS=32
253CONFIG_ARCH_FLATMEM_ENABLE=y 257CONFIG_ARCH_FLATMEM_ENABLE=y
254CONFIG_ARCH_POPULATES_NODE_MAP=y 258CONFIG_ARCH_POPULATES_NODE_MAP=y
255CONFIG_SELECT_MEMORY_MODEL=y 259CONFIG_SELECT_MEMORY_MODEL=y
@@ -267,6 +271,7 @@ CONFIG_BOUNCE=y
267CONFIG_VIRT_TO_BUS=y 271CONFIG_VIRT_TO_BUS=y
268CONFIG_HAVE_MLOCK=y 272CONFIG_HAVE_MLOCK=y
269CONFIG_HAVE_MLOCKED_PAGE_BIT=y 273CONFIG_HAVE_MLOCKED_PAGE_BIT=y
274# CONFIG_KSM is not set
270CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 275CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
271CONFIG_PPC_4K_PAGES=y 276CONFIG_PPC_4K_PAGES=y
272# CONFIG_PPC_16K_PAGES is not set 277# CONFIG_PPC_16K_PAGES is not set
@@ -348,6 +353,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
348# CONFIG_NETFILTER is not set 353# CONFIG_NETFILTER is not set
349# CONFIG_IP_DCCP is not set 354# CONFIG_IP_DCCP is not set
350# CONFIG_IP_SCTP is not set 355# CONFIG_IP_SCTP is not set
356# CONFIG_RDS is not set
351# CONFIG_TIPC is not set 357# CONFIG_TIPC is not set
352# CONFIG_ATM is not set 358# CONFIG_ATM is not set
353CONFIG_STP=m 359CONFIG_STP=m
@@ -396,9 +402,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
396# CONFIG_CONNECTOR is not set 402# CONFIG_CONNECTOR is not set
397CONFIG_MTD=y 403CONFIG_MTD=y
398# CONFIG_MTD_DEBUG is not set 404# CONFIG_MTD_DEBUG is not set
405# CONFIG_MTD_TESTS is not set
399CONFIG_MTD_CONCAT=y 406CONFIG_MTD_CONCAT=y
400CONFIG_MTD_PARTITIONS=y 407CONFIG_MTD_PARTITIONS=y
401# CONFIG_MTD_TESTS is not set
402# CONFIG_MTD_REDBOOT_PARTS is not set 408# CONFIG_MTD_REDBOOT_PARTS is not set
403CONFIG_MTD_CMDLINE_PARTS=y 409CONFIG_MTD_CMDLINE_PARTS=y
404CONFIG_MTD_OF_PARTS=y 410CONFIG_MTD_OF_PARTS=y
@@ -565,18 +571,16 @@ CONFIG_MII=y
565# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 571# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
566# CONFIG_B44 is not set 572# CONFIG_B44 is not set
567# CONFIG_KS8842 is not set 573# CONFIG_KS8842 is not set
574# CONFIG_KS8851_MLL is not set
575# CONFIG_XILINX_EMACLITE is not set
568CONFIG_NETDEV_1000=y 576CONFIG_NETDEV_1000=y
569CONFIG_FSL_PQ_MDIO=y 577CONFIG_FSL_PQ_MDIO=y
570# CONFIG_GIANFAR is not set 578# CONFIG_GIANFAR is not set
571CONFIG_UCC_GETH=y 579CONFIG_UCC_GETH=y
572# CONFIG_UGETH_MAGIC_PACKET is not set
573# CONFIG_UGETH_TX_ON_DEMAND is not set 580# CONFIG_UGETH_TX_ON_DEMAND is not set
574# CONFIG_MV643XX_ETH is not set 581# CONFIG_MV643XX_ETH is not set
575# CONFIG_NETDEV_10000 is not set 582# CONFIG_NETDEV_10000 is not set
576 583CONFIG_WLAN=y
577#
578# Wireless LAN
579#
580# CONFIG_WLAN_PRE80211 is not set 584# CONFIG_WLAN_PRE80211 is not set
581# CONFIG_WLAN_80211 is not set 585# CONFIG_WLAN_80211 is not set
582 586
@@ -663,6 +667,7 @@ CONFIG_HW_RANDOM=y
663# CONFIG_TCG_TPM is not set 667# CONFIG_TCG_TPM is not set
664CONFIG_I2C=y 668CONFIG_I2C=y
665CONFIG_I2C_BOARDINFO=y 669CONFIG_I2C_BOARDINFO=y
670CONFIG_I2C_COMPAT=y
666CONFIG_I2C_CHARDEV=y 671CONFIG_I2C_CHARDEV=y
667CONFIG_I2C_HELPER_AUTO=y 672CONFIG_I2C_HELPER_AUTO=y
668 673
@@ -693,9 +698,6 @@ CONFIG_I2C_MPC=y
693# Miscellaneous I2C Chip support 698# Miscellaneous I2C Chip support
694# 699#
695# CONFIG_DS1682 is not set 700# CONFIG_DS1682 is not set
696# CONFIG_SENSORS_PCF8574 is not set
697# CONFIG_PCF8575 is not set
698# CONFIG_SENSORS_PCA9539 is not set
699# CONFIG_SENSORS_TSL2550 is not set 701# CONFIG_SENSORS_TSL2550 is not set
700# CONFIG_I2C_DEBUG_CORE is not set 702# CONFIG_I2C_DEBUG_CORE is not set
701# CONFIG_I2C_DEBUG_ALGO is not set 703# CONFIG_I2C_DEBUG_ALGO is not set
@@ -713,7 +715,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
713# CONFIG_POWER_SUPPLY is not set 715# CONFIG_POWER_SUPPLY is not set
714# CONFIG_HWMON is not set 716# CONFIG_HWMON is not set
715# CONFIG_THERMAL is not set 717# CONFIG_THERMAL is not set
716# CONFIG_THERMAL_HWMON is not set
717# CONFIG_WATCHDOG is not set 718# CONFIG_WATCHDOG is not set
718CONFIG_SSB_POSSIBLE=y 719CONFIG_SSB_POSSIBLE=y
719 720
@@ -732,6 +733,7 @@ CONFIG_SSB_POSSIBLE=y
732# CONFIG_MFD_TMIO is not set 733# CONFIG_MFD_TMIO is not set
733# CONFIG_PMIC_DA903X is not set 734# CONFIG_PMIC_DA903X is not set
734# CONFIG_MFD_WM8400 is not set 735# CONFIG_MFD_WM8400 is not set
736# CONFIG_MFD_WM831X is not set
735# CONFIG_MFD_WM8350_I2C is not set 737# CONFIG_MFD_WM8350_I2C is not set
736# CONFIG_MFD_PCF50633 is not set 738# CONFIG_MFD_PCF50633 is not set
737# CONFIG_AB3100_CORE is not set 739# CONFIG_AB3100_CORE is not set
@@ -784,6 +786,7 @@ CONFIG_UIO=y
784# CONFIG_GFS2_FS is not set 786# CONFIG_GFS2_FS is not set
785# CONFIG_OCFS2_FS is not set 787# CONFIG_OCFS2_FS is not set
786# CONFIG_BTRFS_FS is not set 788# CONFIG_BTRFS_FS is not set
789# CONFIG_NILFS2_FS is not set
787CONFIG_FILE_LOCKING=y 790CONFIG_FILE_LOCKING=y
788CONFIG_FSNOTIFY=y 791CONFIG_FSNOTIFY=y
789# CONFIG_DNOTIFY is not set 792# CONFIG_DNOTIFY is not set
@@ -854,7 +857,6 @@ CONFIG_JFFS2_RTIME=y
854# CONFIG_ROMFS_FS is not set 857# CONFIG_ROMFS_FS is not set
855# CONFIG_SYSV_FS is not set 858# CONFIG_SYSV_FS is not set
856# CONFIG_UFS_FS is not set 859# CONFIG_UFS_FS is not set
857# CONFIG_NILFS2_FS is not set
858CONFIG_NETWORK_FILESYSTEMS=y 860CONFIG_NETWORK_FILESYSTEMS=y
859CONFIG_NFS_FS=y 861CONFIG_NFS_FS=y
860CONFIG_NFS_V3=y 862CONFIG_NFS_V3=y
@@ -926,6 +928,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
926CONFIG_ENABLE_MUST_CHECK=y 928CONFIG_ENABLE_MUST_CHECK=y
927CONFIG_FRAME_WARN=1024 929CONFIG_FRAME_WARN=1024
928# CONFIG_MAGIC_SYSRQ is not set 930# CONFIG_MAGIC_SYSRQ is not set
931# CONFIG_STRIP_ASM_SYMS is not set
929# CONFIG_UNUSED_SYMBOLS is not set 932# CONFIG_UNUSED_SYMBOLS is not set
930CONFIG_DEBUG_FS=y 933CONFIG_DEBUG_FS=y
931# CONFIG_HEADERS_CHECK is not set 934# CONFIG_HEADERS_CHECK is not set
@@ -942,6 +945,7 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
942CONFIG_TRACING_SUPPORT=y 945CONFIG_TRACING_SUPPORT=y
943# CONFIG_FTRACE is not set 946# CONFIG_FTRACE is not set
944# CONFIG_DYNAMIC_DEBUG is not set 947# CONFIG_DYNAMIC_DEBUG is not set
948# CONFIG_DMA_API_DEBUG is not set
945# CONFIG_SAMPLES is not set 949# CONFIG_SAMPLES is not set
946CONFIG_HAVE_ARCH_KGDB=y 950CONFIG_HAVE_ARCH_KGDB=y
947# CONFIG_PPC_DISABLE_WERROR is not set 951# CONFIG_PPC_DISABLE_WERROR is not set
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
index ff33a7db2eab..86df19f041a4 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:04 2009 4# Thu Nov 5 08:20:22 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,28 +126,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
139CONFIG_SLUB=y 141CONFIG_SLUB=y
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 146CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 147CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 148CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 149CONFIG_HAVE_ARCH_TRACEHOOK=y
150CONFIG_HAVE_DMA_ATTRS=y
151CONFIG_HAVE_DMA_API_DEBUG=y
149 152
150# 153#
151# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -256,6 +259,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
256CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -369,6 +374,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# CONFIG_NETFILTER is not set 374# CONFIG_NETFILTER is not set
370# CONFIG_IP_DCCP is not set 375# CONFIG_IP_DCCP is not set
371# CONFIG_IP_SCTP is not set 376# CONFIG_IP_SCTP is not set
377# CONFIG_RDS is not set
372# CONFIG_TIPC is not set 378# CONFIG_TIPC is not set
373# CONFIG_ATM is not set 379# CONFIG_ATM is not set
374# CONFIG_BRIDGE is not set 380# CONFIG_BRIDGE is not set
@@ -398,6 +404,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
398# CONFIG_AF_RXRPC is not set 404# CONFIG_AF_RXRPC is not set
399CONFIG_WIRELESS=y 405CONFIG_WIRELESS=y
400# CONFIG_CFG80211 is not set 406# CONFIG_CFG80211 is not set
407CONFIG_CFG80211_DEFAULT_PS_VALUE=0
401CONFIG_WIRELESS_OLD_REGULATORY=y 408CONFIG_WIRELESS_OLD_REGULATORY=y
402# CONFIG_WIRELESS_EXT is not set 409# CONFIG_WIRELESS_EXT is not set
403# CONFIG_LIB80211 is not set 410# CONFIG_LIB80211 is not set
@@ -405,7 +412,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
405# 412#
406# CFG80211 needs to be enabled for MAC80211 413# CFG80211 needs to be enabled for MAC80211
407# 414#
408CONFIG_MAC80211_DEFAULT_PS_VALUE=0
409# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
410# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
411# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -418,6 +424,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
418# Generic Driver Options 424# Generic Driver Options
419# 425#
420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
421CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
422CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
423# CONFIG_FW_LOADER is not set 430# CONFIG_FW_LOADER is not set
@@ -427,9 +434,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
427# CONFIG_CONNECTOR is not set 434# CONFIG_CONNECTOR is not set
428CONFIG_MTD=y 435CONFIG_MTD=y
429# CONFIG_MTD_DEBUG is not set 436# CONFIG_MTD_DEBUG is not set
437# CONFIG_MTD_TESTS is not set
430# CONFIG_MTD_CONCAT is not set 438# CONFIG_MTD_CONCAT is not set
431CONFIG_MTD_PARTITIONS=y 439CONFIG_MTD_PARTITIONS=y
432# CONFIG_MTD_TESTS is not set
433# CONFIG_MTD_REDBOOT_PARTS is not set 440# CONFIG_MTD_REDBOOT_PARTS is not set
434# CONFIG_MTD_CMDLINE_PARTS is not set 441# CONFIG_MTD_CMDLINE_PARTS is not set
435CONFIG_MTD_OF_PARTS=y 442CONFIG_MTD_OF_PARTS=y
@@ -488,6 +495,7 @@ CONFIG_MTD_PHYSMAP_OF=y
488# CONFIG_MTD_PMC551 is not set 495# CONFIG_MTD_PMC551 is not set
489# CONFIG_MTD_DATAFLASH is not set 496# CONFIG_MTD_DATAFLASH is not set
490# CONFIG_MTD_M25P80 is not set 497# CONFIG_MTD_M25P80 is not set
498# CONFIG_MTD_SST25L is not set
491# CONFIG_MTD_SLRAM is not set 499# CONFIG_MTD_SLRAM is not set
492# CONFIG_MTD_PHRAM is not set 500# CONFIG_MTD_PHRAM is not set
493# CONFIG_MTD_MTDRAM is not set 501# CONFIG_MTD_MTDRAM is not set
@@ -605,6 +613,7 @@ CONFIG_SCSI_LOWLEVEL=y
605# CONFIG_ISCSI_TCP is not set 613# CONFIG_ISCSI_TCP is not set
606# CONFIG_SCSI_CXGB3_ISCSI is not set 614# CONFIG_SCSI_CXGB3_ISCSI is not set
607# CONFIG_SCSI_BNX2_ISCSI is not set 615# CONFIG_SCSI_BNX2_ISCSI is not set
616# CONFIG_BE2ISCSI is not set
608# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 617# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
609# CONFIG_SCSI_3W_9XXX is not set 618# CONFIG_SCSI_3W_9XXX is not set
610# CONFIG_SCSI_ACARD is not set 619# CONFIG_SCSI_ACARD is not set
@@ -643,7 +652,9 @@ CONFIG_SCSI_LOWLEVEL=y
643# CONFIG_SCSI_DC390T is not set 652# CONFIG_SCSI_DC390T is not set
644# CONFIG_SCSI_NSP32 is not set 653# CONFIG_SCSI_NSP32 is not set
645# CONFIG_SCSI_DEBUG is not set 654# CONFIG_SCSI_DEBUG is not set
655# CONFIG_SCSI_PMCRAID is not set
646# CONFIG_SCSI_SRP is not set 656# CONFIG_SCSI_SRP is not set
657# CONFIG_SCSI_BFA_FC is not set
647# CONFIG_SCSI_DH is not set 658# CONFIG_SCSI_DH is not set
648# CONFIG_SCSI_OSD_INITIATOR is not set 659# CONFIG_SCSI_OSD_INITIATOR is not set
649# CONFIG_ATA is not set 660# CONFIG_ATA is not set
@@ -741,9 +752,11 @@ CONFIG_E100=y
741# CONFIG_TLAN is not set 752# CONFIG_TLAN is not set
742# CONFIG_KS8842 is not set 753# CONFIG_KS8842 is not set
743# CONFIG_KS8851 is not set 754# CONFIG_KS8851 is not set
755# CONFIG_KS8851_MLL is not set
744# CONFIG_VIA_RHINE is not set 756# CONFIG_VIA_RHINE is not set
745# CONFIG_SC92031 is not set 757# CONFIG_SC92031 is not set
746# CONFIG_ATL2 is not set 758# CONFIG_ATL2 is not set
759# CONFIG_XILINX_EMACLITE is not set
747CONFIG_NETDEV_1000=y 760CONFIG_NETDEV_1000=y
748# CONFIG_ACENIC is not set 761# CONFIG_ACENIC is not set
749# CONFIG_DL2K is not set 762# CONFIG_DL2K is not set
@@ -791,10 +804,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
791# CONFIG_SFC is not set 804# CONFIG_SFC is not set
792# CONFIG_BE2NET is not set 805# CONFIG_BE2NET is not set
793# CONFIG_TR is not set 806# CONFIG_TR is not set
794 807CONFIG_WLAN=y
795#
796# Wireless LAN
797#
798# CONFIG_WLAN_PRE80211 is not set 808# CONFIG_WLAN_PRE80211 is not set
799# CONFIG_WLAN_80211 is not set 809# CONFIG_WLAN_80211 is not set
800 810
@@ -896,6 +906,7 @@ CONFIG_HW_RANDOM=y
896CONFIG_DEVPORT=y 906CONFIG_DEVPORT=y
897CONFIG_I2C=y 907CONFIG_I2C=y
898CONFIG_I2C_BOARDINFO=y 908CONFIG_I2C_BOARDINFO=y
909CONFIG_I2C_COMPAT=y
899CONFIG_I2C_CHARDEV=y 910CONFIG_I2C_CHARDEV=y
900CONFIG_I2C_HELPER_AUTO=y 911CONFIG_I2C_HELPER_AUTO=y
901 912
@@ -950,9 +961,6 @@ CONFIG_I2C_MPC=y
950# Miscellaneous I2C Chip support 961# Miscellaneous I2C Chip support
951# 962#
952# CONFIG_DS1682 is not set 963# CONFIG_DS1682 is not set
953# CONFIG_SENSORS_PCF8574 is not set
954# CONFIG_PCF8575 is not set
955# CONFIG_SENSORS_PCA9539 is not set
956# CONFIG_SENSORS_TSL2550 is not set 964# CONFIG_SENSORS_TSL2550 is not set
957# CONFIG_I2C_DEBUG_CORE is not set 965# CONFIG_I2C_DEBUG_CORE is not set
958# CONFIG_I2C_DEBUG_ALGO is not set 966# CONFIG_I2C_DEBUG_ALGO is not set
@@ -984,6 +992,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
984# CONFIG_POWER_SUPPLY is not set 992# CONFIG_POWER_SUPPLY is not set
985CONFIG_HWMON=y 993CONFIG_HWMON=y
986# CONFIG_HWMON_VID is not set 994# CONFIG_HWMON_VID is not set
995# CONFIG_HWMON_DEBUG_CHIP is not set
996
997#
998# Native drivers
999#
987# CONFIG_SENSORS_AD7414 is not set 1000# CONFIG_SENSORS_AD7414 is not set
988# CONFIG_SENSORS_AD7418 is not set 1001# CONFIG_SENSORS_AD7418 is not set
989# CONFIG_SENSORS_ADCXX is not set 1002# CONFIG_SENSORS_ADCXX is not set
@@ -1036,6 +1049,7 @@ CONFIG_HWMON=y
1036# CONFIG_SENSORS_ADS7828 is not set 1049# CONFIG_SENSORS_ADS7828 is not set
1037# CONFIG_SENSORS_THMC50 is not set 1050# CONFIG_SENSORS_THMC50 is not set
1038# CONFIG_SENSORS_TMP401 is not set 1051# CONFIG_SENSORS_TMP401 is not set
1052# CONFIG_SENSORS_TMP421 is not set
1039# CONFIG_SENSORS_VIA686A is not set 1053# CONFIG_SENSORS_VIA686A is not set
1040# CONFIG_SENSORS_VT1211 is not set 1054# CONFIG_SENSORS_VT1211 is not set
1041# CONFIG_SENSORS_VT8231 is not set 1055# CONFIG_SENSORS_VT8231 is not set
@@ -1048,9 +1062,7 @@ CONFIG_HWMON=y
1048# CONFIG_SENSORS_W83627HF is not set 1062# CONFIG_SENSORS_W83627HF is not set
1049# CONFIG_SENSORS_W83627EHF is not set 1063# CONFIG_SENSORS_W83627EHF is not set
1050# CONFIG_SENSORS_LIS3_SPI is not set 1064# CONFIG_SENSORS_LIS3_SPI is not set
1051# CONFIG_HWMON_DEBUG_CHIP is not set
1052# CONFIG_THERMAL is not set 1065# CONFIG_THERMAL is not set
1053# CONFIG_THERMAL_HWMON is not set
1054CONFIG_WATCHDOG=y 1066CONFIG_WATCHDOG=y
1055# CONFIG_WATCHDOG_NOWAYOUT is not set 1067# CONFIG_WATCHDOG_NOWAYOUT is not set
1056 1068
@@ -1088,8 +1100,10 @@ CONFIG_SSB_POSSIBLE=y
1088# CONFIG_MFD_TMIO is not set 1100# CONFIG_MFD_TMIO is not set
1089# CONFIG_PMIC_DA903X is not set 1101# CONFIG_PMIC_DA903X is not set
1090# CONFIG_MFD_WM8400 is not set 1102# CONFIG_MFD_WM8400 is not set
1103# CONFIG_MFD_WM831X is not set
1091# CONFIG_MFD_WM8350_I2C is not set 1104# CONFIG_MFD_WM8350_I2C is not set
1092# CONFIG_MFD_PCF50633 is not set 1105# CONFIG_MFD_PCF50633 is not set
1106# CONFIG_MFD_MC13783 is not set
1093# CONFIG_AB3100_CORE is not set 1107# CONFIG_AB3100_CORE is not set
1094# CONFIG_EZX_PCAP is not set 1108# CONFIG_EZX_PCAP is not set
1095# CONFIG_REGULATOR is not set 1109# CONFIG_REGULATOR is not set
@@ -1099,6 +1113,7 @@ CONFIG_SSB_POSSIBLE=y
1099# Graphics support 1113# Graphics support
1100# 1114#
1101# CONFIG_AGP is not set 1115# CONFIG_AGP is not set
1116CONFIG_VGA_ARB=y
1102# CONFIG_DRM is not set 1117# CONFIG_DRM is not set
1103# CONFIG_VGASTATE is not set 1118# CONFIG_VGASTATE is not set
1104CONFIG_VIDEO_OUTPUT_CONTROL=m 1119CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1112,7 +1127,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1112# CONFIG_SOUND is not set 1127# CONFIG_SOUND is not set
1113CONFIG_HID_SUPPORT=y 1128CONFIG_HID_SUPPORT=y
1114CONFIG_HID=y 1129CONFIG_HID=y
1115# CONFIG_HID_DEBUG is not set
1116# CONFIG_HIDRAW is not set 1130# CONFIG_HIDRAW is not set
1117 1131
1118# 1132#
@@ -1164,6 +1178,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1164# CONFIG_USB_OXU210HP_HCD is not set 1178# CONFIG_USB_OXU210HP_HCD is not set
1165# CONFIG_USB_ISP116X_HCD is not set 1179# CONFIG_USB_ISP116X_HCD is not set
1166# CONFIG_USB_ISP1760_HCD is not set 1180# CONFIG_USB_ISP1760_HCD is not set
1181# CONFIG_USB_ISP1362_HCD is not set
1167CONFIG_USB_OHCI_HCD=y 1182CONFIG_USB_OHCI_HCD=y
1168CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1183CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1169# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1184# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1255,6 +1270,7 @@ CONFIG_USB_GADGET_SELECTED=y
1255# CONFIG_USB_GADGET_LH7A40X is not set 1270# CONFIG_USB_GADGET_LH7A40X is not set
1256# CONFIG_USB_GADGET_OMAP is not set 1271# CONFIG_USB_GADGET_OMAP is not set
1257# CONFIG_USB_GADGET_PXA25X is not set 1272# CONFIG_USB_GADGET_PXA25X is not set
1273# CONFIG_USB_GADGET_R8A66597 is not set
1258# CONFIG_USB_GADGET_PXA27X is not set 1274# CONFIG_USB_GADGET_PXA27X is not set
1259# CONFIG_USB_GADGET_S3C_HSOTG is not set 1275# CONFIG_USB_GADGET_S3C_HSOTG is not set
1260# CONFIG_USB_GADGET_IMX is not set 1276# CONFIG_USB_GADGET_IMX is not set
@@ -1273,6 +1289,7 @@ CONFIG_USB_GADGET_DUALSPEED=y
1273# CONFIG_USB_AUDIO is not set 1289# CONFIG_USB_AUDIO is not set
1274CONFIG_USB_ETH=y 1290CONFIG_USB_ETH=y
1275CONFIG_USB_ETH_RNDIS=y 1291CONFIG_USB_ETH_RNDIS=y
1292# CONFIG_USB_ETH_EEM is not set
1276# CONFIG_USB_GADGETFS is not set 1293# CONFIG_USB_GADGETFS is not set
1277# CONFIG_USB_FILE_STORAGE is not set 1294# CONFIG_USB_FILE_STORAGE is not set
1278# CONFIG_USB_G_SERIAL is not set 1295# CONFIG_USB_G_SERIAL is not set
@@ -1334,6 +1351,7 @@ CONFIG_RTC_DRV_DS1307=y
1334# CONFIG_RTC_DRV_R9701 is not set 1351# CONFIG_RTC_DRV_R9701 is not set
1335# CONFIG_RTC_DRV_RS5C348 is not set 1352# CONFIG_RTC_DRV_RS5C348 is not set
1336# CONFIG_RTC_DRV_DS3234 is not set 1353# CONFIG_RTC_DRV_DS3234 is not set
1354# CONFIG_RTC_DRV_PCF2123 is not set
1337 1355
1338# 1356#
1339# Platform RTC drivers 1357# Platform RTC drivers
@@ -1384,6 +1402,7 @@ CONFIG_FS_MBCACHE=y
1384# CONFIG_GFS2_FS is not set 1402# CONFIG_GFS2_FS is not set
1385# CONFIG_OCFS2_FS is not set 1403# CONFIG_OCFS2_FS is not set
1386# CONFIG_BTRFS_FS is not set 1404# CONFIG_BTRFS_FS is not set
1405# CONFIG_NILFS2_FS is not set
1387CONFIG_FILE_LOCKING=y 1406CONFIG_FILE_LOCKING=y
1388CONFIG_FSNOTIFY=y 1407CONFIG_FSNOTIFY=y
1389CONFIG_DNOTIFY=y 1408CONFIG_DNOTIFY=y
@@ -1453,7 +1472,6 @@ CONFIG_JFFS2_RTIME=y
1453# CONFIG_ROMFS_FS is not set 1472# CONFIG_ROMFS_FS is not set
1454# CONFIG_SYSV_FS is not set 1473# CONFIG_SYSV_FS is not set
1455# CONFIG_UFS_FS is not set 1474# CONFIG_UFS_FS is not set
1456# CONFIG_NILFS2_FS is not set
1457CONFIG_NETWORK_FILESYSTEMS=y 1475CONFIG_NETWORK_FILESYSTEMS=y
1458CONFIG_NFS_FS=y 1476CONFIG_NFS_FS=y
1459CONFIG_NFS_V3=y 1477CONFIG_NFS_V3=y
@@ -1569,6 +1587,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1569CONFIG_ENABLE_MUST_CHECK=y 1587CONFIG_ENABLE_MUST_CHECK=y
1570CONFIG_FRAME_WARN=1024 1588CONFIG_FRAME_WARN=1024
1571# CONFIG_MAGIC_SYSRQ is not set 1589# CONFIG_MAGIC_SYSRQ is not set
1590# CONFIG_STRIP_ASM_SYMS is not set
1572# CONFIG_UNUSED_SYMBOLS is not set 1591# CONFIG_UNUSED_SYMBOLS is not set
1573# CONFIG_DEBUG_FS is not set 1592# CONFIG_DEBUG_FS is not set
1574# CONFIG_HEADERS_CHECK is not set 1593# CONFIG_HEADERS_CHECK is not set
@@ -1586,6 +1605,7 @@ CONFIG_SCHED_DEBUG=y
1586# CONFIG_DEBUG_OBJECTS is not set 1605# CONFIG_DEBUG_OBJECTS is not set
1587# CONFIG_SLUB_DEBUG_ON is not set 1606# CONFIG_SLUB_DEBUG_ON is not set
1588# CONFIG_SLUB_STATS is not set 1607# CONFIG_SLUB_STATS is not set
1608# CONFIG_DEBUG_KMEMLEAK is not set
1589# CONFIG_DEBUG_RT_MUTEXES is not set 1609# CONFIG_DEBUG_RT_MUTEXES is not set
1590# CONFIG_RT_MUTEX_TESTER is not set 1610# CONFIG_RT_MUTEX_TESTER is not set
1591# CONFIG_DEBUG_SPINLOCK is not set 1611# CONFIG_DEBUG_SPINLOCK is not set
@@ -1604,10 +1624,12 @@ CONFIG_SCHED_DEBUG=y
1604# CONFIG_DEBUG_LIST is not set 1624# CONFIG_DEBUG_LIST is not set
1605# CONFIG_DEBUG_SG is not set 1625# CONFIG_DEBUG_SG is not set
1606# CONFIG_DEBUG_NOTIFIERS is not set 1626# CONFIG_DEBUG_NOTIFIERS is not set
1627# CONFIG_DEBUG_CREDENTIALS is not set
1607# CONFIG_RCU_TORTURE_TEST is not set 1628# CONFIG_RCU_TORTURE_TEST is not set
1608# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1629# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1609# CONFIG_BACKTRACE_SELF_TEST is not set 1630# CONFIG_BACKTRACE_SELF_TEST is not set
1610# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1631# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1632# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1611# CONFIG_FAULT_INJECTION is not set 1633# CONFIG_FAULT_INJECTION is not set
1612# CONFIG_LATENCYTOP is not set 1634# CONFIG_LATENCYTOP is not set
1613CONFIG_SYSCTL_SYSCALL_CHECK=y 1635CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1630,10 +1652,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1630# CONFIG_KMEMTRACE is not set 1652# CONFIG_KMEMTRACE is not set
1631# CONFIG_WORKQUEUE_TRACER is not set 1653# CONFIG_WORKQUEUE_TRACER is not set
1632# CONFIG_BLK_DEV_IO_TRACE is not set 1654# CONFIG_BLK_DEV_IO_TRACE is not set
1655# CONFIG_DMA_API_DEBUG is not set
1633# CONFIG_SAMPLES is not set 1656# CONFIG_SAMPLES is not set
1634CONFIG_HAVE_ARCH_KGDB=y 1657CONFIG_HAVE_ARCH_KGDB=y
1635# CONFIG_KGDB is not set 1658# CONFIG_KGDB is not set
1636# CONFIG_KMEMCHECK is not set
1637# CONFIG_PPC_DISABLE_WERROR is not set 1659# CONFIG_PPC_DISABLE_WERROR is not set
1638CONFIG_PPC_WERROR=y 1660CONFIG_PPC_WERROR=y
1639CONFIG_PRINT_STACK_DEPTH=64 1661CONFIG_PRINT_STACK_DEPTH=64
@@ -1660,7 +1682,6 @@ CONFIG_CRYPTO=y
1660# 1682#
1661# Crypto core or helper 1683# Crypto core or helper
1662# 1684#
1663# CONFIG_CRYPTO_FIPS is not set
1664CONFIG_CRYPTO_ALGAPI=y 1685CONFIG_CRYPTO_ALGAPI=y
1665CONFIG_CRYPTO_ALGAPI2=y 1686CONFIG_CRYPTO_ALGAPI2=y
1666CONFIG_CRYPTO_AEAD2=y 1687CONFIG_CRYPTO_AEAD2=y
@@ -1702,11 +1723,13 @@ CONFIG_CRYPTO_PCBC=m
1702# 1723#
1703# CONFIG_CRYPTO_HMAC is not set 1724# CONFIG_CRYPTO_HMAC is not set
1704# CONFIG_CRYPTO_XCBC is not set 1725# CONFIG_CRYPTO_XCBC is not set
1726# CONFIG_CRYPTO_VMAC is not set
1705 1727
1706# 1728#
1707# Digest 1729# Digest
1708# 1730#
1709# CONFIG_CRYPTO_CRC32C is not set 1731# CONFIG_CRYPTO_CRC32C is not set
1732# CONFIG_CRYPTO_GHASH is not set
1710# CONFIG_CRYPTO_MD4 is not set 1733# CONFIG_CRYPTO_MD4 is not set
1711CONFIG_CRYPTO_MD5=y 1734CONFIG_CRYPTO_MD5=y
1712# CONFIG_CRYPTO_MICHAEL_MIC is not set 1735# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
index 76237d466702..7bf71d577033 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:05 2009 4# Thu Nov 5 08:20:23 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,28 +126,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
139CONFIG_SLUB=y 141CONFIG_SLUB=y
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 146CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 147CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 148CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 149CONFIG_HAVE_ARCH_TRACEHOOK=y
150CONFIG_HAVE_DMA_ATTRS=y
151CONFIG_HAVE_DMA_API_DEBUG=y
149 152
150# 153#
151# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -256,6 +259,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
256CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -369,6 +374,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# CONFIG_NETFILTER is not set 374# CONFIG_NETFILTER is not set
370# CONFIG_IP_DCCP is not set 375# CONFIG_IP_DCCP is not set
371# CONFIG_IP_SCTP is not set 376# CONFIG_IP_SCTP is not set
377# CONFIG_RDS is not set
372# CONFIG_TIPC is not set 378# CONFIG_TIPC is not set
373# CONFIG_ATM is not set 379# CONFIG_ATM is not set
374# CONFIG_BRIDGE is not set 380# CONFIG_BRIDGE is not set
@@ -398,6 +404,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
398# CONFIG_AF_RXRPC is not set 404# CONFIG_AF_RXRPC is not set
399CONFIG_WIRELESS=y 405CONFIG_WIRELESS=y
400# CONFIG_CFG80211 is not set 406# CONFIG_CFG80211 is not set
407CONFIG_CFG80211_DEFAULT_PS_VALUE=0
401CONFIG_WIRELESS_OLD_REGULATORY=y 408CONFIG_WIRELESS_OLD_REGULATORY=y
402# CONFIG_WIRELESS_EXT is not set 409# CONFIG_WIRELESS_EXT is not set
403# CONFIG_LIB80211 is not set 410# CONFIG_LIB80211 is not set
@@ -405,7 +412,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
405# 412#
406# CFG80211 needs to be enabled for MAC80211 413# CFG80211 needs to be enabled for MAC80211
407# 414#
408CONFIG_MAC80211_DEFAULT_PS_VALUE=0
409# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
410# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
411# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -418,6 +424,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
418# Generic Driver Options 424# Generic Driver Options
419# 425#
420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
421CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
422CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
423# CONFIG_FW_LOADER is not set 430# CONFIG_FW_LOADER is not set
@@ -427,9 +434,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
427# CONFIG_CONNECTOR is not set 434# CONFIG_CONNECTOR is not set
428CONFIG_MTD=y 435CONFIG_MTD=y
429# CONFIG_MTD_DEBUG is not set 436# CONFIG_MTD_DEBUG is not set
437# CONFIG_MTD_TESTS is not set
430# CONFIG_MTD_CONCAT is not set 438# CONFIG_MTD_CONCAT is not set
431CONFIG_MTD_PARTITIONS=y 439CONFIG_MTD_PARTITIONS=y
432# CONFIG_MTD_TESTS is not set
433# CONFIG_MTD_REDBOOT_PARTS is not set 440# CONFIG_MTD_REDBOOT_PARTS is not set
434# CONFIG_MTD_CMDLINE_PARTS is not set 441# CONFIG_MTD_CMDLINE_PARTS is not set
435# CONFIG_MTD_OF_PARTS is not set 442# CONFIG_MTD_OF_PARTS is not set
@@ -488,6 +495,7 @@ CONFIG_MTD_PHYSMAP_OF=y
488# CONFIG_MTD_PMC551 is not set 495# CONFIG_MTD_PMC551 is not set
489# CONFIG_MTD_DATAFLASH is not set 496# CONFIG_MTD_DATAFLASH is not set
490# CONFIG_MTD_M25P80 is not set 497# CONFIG_MTD_M25P80 is not set
498# CONFIG_MTD_SST25L is not set
491# CONFIG_MTD_SLRAM is not set 499# CONFIG_MTD_SLRAM is not set
492# CONFIG_MTD_PHRAM is not set 500# CONFIG_MTD_PHRAM is not set
493# CONFIG_MTD_MTDRAM is not set 501# CONFIG_MTD_MTDRAM is not set
@@ -605,6 +613,7 @@ CONFIG_SCSI_LOWLEVEL=y
605# CONFIG_ISCSI_TCP is not set 613# CONFIG_ISCSI_TCP is not set
606# CONFIG_SCSI_CXGB3_ISCSI is not set 614# CONFIG_SCSI_CXGB3_ISCSI is not set
607# CONFIG_SCSI_BNX2_ISCSI is not set 615# CONFIG_SCSI_BNX2_ISCSI is not set
616# CONFIG_BE2ISCSI is not set
608# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 617# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
609# CONFIG_SCSI_3W_9XXX is not set 618# CONFIG_SCSI_3W_9XXX is not set
610# CONFIG_SCSI_ACARD is not set 619# CONFIG_SCSI_ACARD is not set
@@ -644,11 +653,14 @@ CONFIG_SCSI_LOWLEVEL=y
644# CONFIG_SCSI_DC390T is not set 653# CONFIG_SCSI_DC390T is not set
645# CONFIG_SCSI_NSP32 is not set 654# CONFIG_SCSI_NSP32 is not set
646# CONFIG_SCSI_DEBUG is not set 655# CONFIG_SCSI_DEBUG is not set
656# CONFIG_SCSI_PMCRAID is not set
647# CONFIG_SCSI_SRP is not set 657# CONFIG_SCSI_SRP is not set
658# CONFIG_SCSI_BFA_FC is not set
648# CONFIG_SCSI_DH is not set 659# CONFIG_SCSI_DH is not set
649# CONFIG_SCSI_OSD_INITIATOR is not set 660# CONFIG_SCSI_OSD_INITIATOR is not set
650CONFIG_ATA=y 661CONFIG_ATA=y
651# CONFIG_ATA_NONSTANDARD is not set 662# CONFIG_ATA_NONSTANDARD is not set
663CONFIG_ATA_VERBOSE_ERROR=y
652CONFIG_SATA_PMP=y 664CONFIG_SATA_PMP=y
653# CONFIG_SATA_AHCI is not set 665# CONFIG_SATA_AHCI is not set
654# CONFIG_SATA_SIL24 is not set 666# CONFIG_SATA_SIL24 is not set
@@ -671,6 +683,7 @@ CONFIG_ATA_SFF=y
671# CONFIG_PATA_ALI is not set 683# CONFIG_PATA_ALI is not set
672# CONFIG_PATA_AMD is not set 684# CONFIG_PATA_AMD is not set
673# CONFIG_PATA_ARTOP is not set 685# CONFIG_PATA_ARTOP is not set
686# CONFIG_PATA_ATP867X is not set
674# CONFIG_PATA_ATIIXP is not set 687# CONFIG_PATA_ATIIXP is not set
675# CONFIG_PATA_CMD640_PCI is not set 688# CONFIG_PATA_CMD640_PCI is not set
676# CONFIG_PATA_CMD64X is not set 689# CONFIG_PATA_CMD64X is not set
@@ -698,6 +711,7 @@ CONFIG_ATA_SFF=y
698# CONFIG_PATA_OPTIDMA is not set 711# CONFIG_PATA_OPTIDMA is not set
699# CONFIG_PATA_PDC_OLD is not set 712# CONFIG_PATA_PDC_OLD is not set
700# CONFIG_PATA_RADISYS is not set 713# CONFIG_PATA_RADISYS is not set
714# CONFIG_PATA_RDC is not set
701# CONFIG_PATA_RZ1000 is not set 715# CONFIG_PATA_RZ1000 is not set
702# CONFIG_PATA_SC1200 is not set 716# CONFIG_PATA_SC1200 is not set
703# CONFIG_PATA_SERVERWORKS is not set 717# CONFIG_PATA_SERVERWORKS is not set
@@ -802,9 +816,11 @@ CONFIG_E100=y
802# CONFIG_TLAN is not set 816# CONFIG_TLAN is not set
803# CONFIG_KS8842 is not set 817# CONFIG_KS8842 is not set
804# CONFIG_KS8851 is not set 818# CONFIG_KS8851 is not set
819# CONFIG_KS8851_MLL is not set
805# CONFIG_VIA_RHINE is not set 820# CONFIG_VIA_RHINE is not set
806# CONFIG_SC92031 is not set 821# CONFIG_SC92031 is not set
807# CONFIG_ATL2 is not set 822# CONFIG_ATL2 is not set
823# CONFIG_XILINX_EMACLITE is not set
808CONFIG_NETDEV_1000=y 824CONFIG_NETDEV_1000=y
809# CONFIG_ACENIC is not set 825# CONFIG_ACENIC is not set
810# CONFIG_DL2K is not set 826# CONFIG_DL2K is not set
@@ -852,10 +868,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
852# CONFIG_SFC is not set 868# CONFIG_SFC is not set
853# CONFIG_BE2NET is not set 869# CONFIG_BE2NET is not set
854# CONFIG_TR is not set 870# CONFIG_TR is not set
855 871CONFIG_WLAN=y
856#
857# Wireless LAN
858#
859# CONFIG_WLAN_PRE80211 is not set 872# CONFIG_WLAN_PRE80211 is not set
860# CONFIG_WLAN_80211 is not set 873# CONFIG_WLAN_80211 is not set
861 874
@@ -957,6 +970,7 @@ CONFIG_HW_RANDOM=y
957CONFIG_DEVPORT=y 970CONFIG_DEVPORT=y
958CONFIG_I2C=y 971CONFIG_I2C=y
959CONFIG_I2C_BOARDINFO=y 972CONFIG_I2C_BOARDINFO=y
973CONFIG_I2C_COMPAT=y
960CONFIG_I2C_CHARDEV=y 974CONFIG_I2C_CHARDEV=y
961CONFIG_I2C_HELPER_AUTO=y 975CONFIG_I2C_HELPER_AUTO=y
962 976
@@ -1011,9 +1025,6 @@ CONFIG_I2C_MPC=y
1011# Miscellaneous I2C Chip support 1025# Miscellaneous I2C Chip support
1012# 1026#
1013# CONFIG_DS1682 is not set 1027# CONFIG_DS1682 is not set
1014# CONFIG_SENSORS_PCF8574 is not set
1015# CONFIG_PCF8575 is not set
1016# CONFIG_SENSORS_PCA9539 is not set
1017# CONFIG_SENSORS_TSL2550 is not set 1028# CONFIG_SENSORS_TSL2550 is not set
1018# CONFIG_I2C_DEBUG_CORE is not set 1029# CONFIG_I2C_DEBUG_CORE is not set
1019# CONFIG_I2C_DEBUG_ALGO is not set 1030# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1045,6 +1056,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1045# CONFIG_POWER_SUPPLY is not set 1056# CONFIG_POWER_SUPPLY is not set
1046CONFIG_HWMON=y 1057CONFIG_HWMON=y
1047# CONFIG_HWMON_VID is not set 1058# CONFIG_HWMON_VID is not set
1059# CONFIG_HWMON_DEBUG_CHIP is not set
1060
1061#
1062# Native drivers
1063#
1048# CONFIG_SENSORS_AD7414 is not set 1064# CONFIG_SENSORS_AD7414 is not set
1049# CONFIG_SENSORS_AD7418 is not set 1065# CONFIG_SENSORS_AD7418 is not set
1050# CONFIG_SENSORS_ADCXX is not set 1066# CONFIG_SENSORS_ADCXX is not set
@@ -1097,6 +1113,7 @@ CONFIG_HWMON=y
1097# CONFIG_SENSORS_ADS7828 is not set 1113# CONFIG_SENSORS_ADS7828 is not set
1098# CONFIG_SENSORS_THMC50 is not set 1114# CONFIG_SENSORS_THMC50 is not set
1099# CONFIG_SENSORS_TMP401 is not set 1115# CONFIG_SENSORS_TMP401 is not set
1116# CONFIG_SENSORS_TMP421 is not set
1100# CONFIG_SENSORS_VIA686A is not set 1117# CONFIG_SENSORS_VIA686A is not set
1101# CONFIG_SENSORS_VT1211 is not set 1118# CONFIG_SENSORS_VT1211 is not set
1102# CONFIG_SENSORS_VT8231 is not set 1119# CONFIG_SENSORS_VT8231 is not set
@@ -1109,9 +1126,7 @@ CONFIG_HWMON=y
1109# CONFIG_SENSORS_W83627HF is not set 1126# CONFIG_SENSORS_W83627HF is not set
1110# CONFIG_SENSORS_W83627EHF is not set 1127# CONFIG_SENSORS_W83627EHF is not set
1111# CONFIG_SENSORS_LIS3_SPI is not set 1128# CONFIG_SENSORS_LIS3_SPI is not set
1112# CONFIG_HWMON_DEBUG_CHIP is not set
1113# CONFIG_THERMAL is not set 1129# CONFIG_THERMAL is not set
1114# CONFIG_THERMAL_HWMON is not set
1115CONFIG_WATCHDOG=y 1130CONFIG_WATCHDOG=y
1116# CONFIG_WATCHDOG_NOWAYOUT is not set 1131# CONFIG_WATCHDOG_NOWAYOUT is not set
1117 1132
@@ -1149,8 +1164,10 @@ CONFIG_SSB_POSSIBLE=y
1149# CONFIG_MFD_TMIO is not set 1164# CONFIG_MFD_TMIO is not set
1150# CONFIG_PMIC_DA903X is not set 1165# CONFIG_PMIC_DA903X is not set
1151# CONFIG_MFD_WM8400 is not set 1166# CONFIG_MFD_WM8400 is not set
1167# CONFIG_MFD_WM831X is not set
1152# CONFIG_MFD_WM8350_I2C is not set 1168# CONFIG_MFD_WM8350_I2C is not set
1153# CONFIG_MFD_PCF50633 is not set 1169# CONFIG_MFD_PCF50633 is not set
1170# CONFIG_MFD_MC13783 is not set
1154# CONFIG_AB3100_CORE is not set 1171# CONFIG_AB3100_CORE is not set
1155# CONFIG_EZX_PCAP is not set 1172# CONFIG_EZX_PCAP is not set
1156# CONFIG_REGULATOR is not set 1173# CONFIG_REGULATOR is not set
@@ -1160,6 +1177,7 @@ CONFIG_SSB_POSSIBLE=y
1160# Graphics support 1177# Graphics support
1161# 1178#
1162# CONFIG_AGP is not set 1179# CONFIG_AGP is not set
1180CONFIG_VGA_ARB=y
1163# CONFIG_DRM is not set 1181# CONFIG_DRM is not set
1164# CONFIG_VGASTATE is not set 1182# CONFIG_VGASTATE is not set
1165CONFIG_VIDEO_OUTPUT_CONTROL=m 1183CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1173,7 +1191,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1173# CONFIG_SOUND is not set 1191# CONFIG_SOUND is not set
1174CONFIG_HID_SUPPORT=y 1192CONFIG_HID_SUPPORT=y
1175CONFIG_HID=y 1193CONFIG_HID=y
1176# CONFIG_HID_DEBUG is not set
1177# CONFIG_HIDRAW is not set 1194# CONFIG_HIDRAW is not set
1178 1195
1179# 1196#
@@ -1225,6 +1242,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1225# CONFIG_USB_OXU210HP_HCD is not set 1242# CONFIG_USB_OXU210HP_HCD is not set
1226# CONFIG_USB_ISP116X_HCD is not set 1243# CONFIG_USB_ISP116X_HCD is not set
1227# CONFIG_USB_ISP1760_HCD is not set 1244# CONFIG_USB_ISP1760_HCD is not set
1245# CONFIG_USB_ISP1362_HCD is not set
1228CONFIG_USB_OHCI_HCD=y 1246CONFIG_USB_OHCI_HCD=y
1229CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1247CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1230# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1248# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1316,6 +1334,7 @@ CONFIG_USB_GADGET_SELECTED=y
1316# CONFIG_USB_GADGET_LH7A40X is not set 1334# CONFIG_USB_GADGET_LH7A40X is not set
1317# CONFIG_USB_GADGET_OMAP is not set 1335# CONFIG_USB_GADGET_OMAP is not set
1318# CONFIG_USB_GADGET_PXA25X is not set 1336# CONFIG_USB_GADGET_PXA25X is not set
1337# CONFIG_USB_GADGET_R8A66597 is not set
1319# CONFIG_USB_GADGET_PXA27X is not set 1338# CONFIG_USB_GADGET_PXA27X is not set
1320# CONFIG_USB_GADGET_S3C_HSOTG is not set 1339# CONFIG_USB_GADGET_S3C_HSOTG is not set
1321# CONFIG_USB_GADGET_IMX is not set 1340# CONFIG_USB_GADGET_IMX is not set
@@ -1334,6 +1353,7 @@ CONFIG_USB_GADGET_DUALSPEED=y
1334# CONFIG_USB_AUDIO is not set 1353# CONFIG_USB_AUDIO is not set
1335CONFIG_USB_ETH=y 1354CONFIG_USB_ETH=y
1336CONFIG_USB_ETH_RNDIS=y 1355CONFIG_USB_ETH_RNDIS=y
1356# CONFIG_USB_ETH_EEM is not set
1337# CONFIG_USB_GADGETFS is not set 1357# CONFIG_USB_GADGETFS is not set
1338# CONFIG_USB_FILE_STORAGE is not set 1358# CONFIG_USB_FILE_STORAGE is not set
1339# CONFIG_USB_G_SERIAL is not set 1359# CONFIG_USB_G_SERIAL is not set
@@ -1395,6 +1415,7 @@ CONFIG_RTC_DRV_DS1307=y
1395# CONFIG_RTC_DRV_R9701 is not set 1415# CONFIG_RTC_DRV_R9701 is not set
1396# CONFIG_RTC_DRV_RS5C348 is not set 1416# CONFIG_RTC_DRV_RS5C348 is not set
1397# CONFIG_RTC_DRV_DS3234 is not set 1417# CONFIG_RTC_DRV_DS3234 is not set
1418# CONFIG_RTC_DRV_PCF2123 is not set
1398 1419
1399# 1420#
1400# Platform RTC drivers 1421# Platform RTC drivers
@@ -1445,6 +1466,7 @@ CONFIG_FS_MBCACHE=y
1445# CONFIG_GFS2_FS is not set 1466# CONFIG_GFS2_FS is not set
1446# CONFIG_OCFS2_FS is not set 1467# CONFIG_OCFS2_FS is not set
1447# CONFIG_BTRFS_FS is not set 1468# CONFIG_BTRFS_FS is not set
1469# CONFIG_NILFS2_FS is not set
1448CONFIG_FILE_LOCKING=y 1470CONFIG_FILE_LOCKING=y
1449CONFIG_FSNOTIFY=y 1471CONFIG_FSNOTIFY=y
1450CONFIG_DNOTIFY=y 1472CONFIG_DNOTIFY=y
@@ -1514,7 +1536,6 @@ CONFIG_JFFS2_RTIME=y
1514# CONFIG_ROMFS_FS is not set 1536# CONFIG_ROMFS_FS is not set
1515# CONFIG_SYSV_FS is not set 1537# CONFIG_SYSV_FS is not set
1516# CONFIG_UFS_FS is not set 1538# CONFIG_UFS_FS is not set
1517# CONFIG_NILFS2_FS is not set
1518CONFIG_NETWORK_FILESYSTEMS=y 1539CONFIG_NETWORK_FILESYSTEMS=y
1519CONFIG_NFS_FS=y 1540CONFIG_NFS_FS=y
1520CONFIG_NFS_V3=y 1541CONFIG_NFS_V3=y
@@ -1630,6 +1651,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1630CONFIG_ENABLE_MUST_CHECK=y 1651CONFIG_ENABLE_MUST_CHECK=y
1631CONFIG_FRAME_WARN=1024 1652CONFIG_FRAME_WARN=1024
1632# CONFIG_MAGIC_SYSRQ is not set 1653# CONFIG_MAGIC_SYSRQ is not set
1654# CONFIG_STRIP_ASM_SYMS is not set
1633# CONFIG_UNUSED_SYMBOLS is not set 1655# CONFIG_UNUSED_SYMBOLS is not set
1634# CONFIG_DEBUG_FS is not set 1656# CONFIG_DEBUG_FS is not set
1635# CONFIG_HEADERS_CHECK is not set 1657# CONFIG_HEADERS_CHECK is not set
@@ -1647,6 +1669,7 @@ CONFIG_SCHED_DEBUG=y
1647# CONFIG_DEBUG_OBJECTS is not set 1669# CONFIG_DEBUG_OBJECTS is not set
1648# CONFIG_SLUB_DEBUG_ON is not set 1670# CONFIG_SLUB_DEBUG_ON is not set
1649# CONFIG_SLUB_STATS is not set 1671# CONFIG_SLUB_STATS is not set
1672# CONFIG_DEBUG_KMEMLEAK is not set
1650# CONFIG_DEBUG_RT_MUTEXES is not set 1673# CONFIG_DEBUG_RT_MUTEXES is not set
1651# CONFIG_RT_MUTEX_TESTER is not set 1674# CONFIG_RT_MUTEX_TESTER is not set
1652# CONFIG_DEBUG_SPINLOCK is not set 1675# CONFIG_DEBUG_SPINLOCK is not set
@@ -1665,10 +1688,12 @@ CONFIG_SCHED_DEBUG=y
1665# CONFIG_DEBUG_LIST is not set 1688# CONFIG_DEBUG_LIST is not set
1666# CONFIG_DEBUG_SG is not set 1689# CONFIG_DEBUG_SG is not set
1667# CONFIG_DEBUG_NOTIFIERS is not set 1690# CONFIG_DEBUG_NOTIFIERS is not set
1691# CONFIG_DEBUG_CREDENTIALS is not set
1668# CONFIG_RCU_TORTURE_TEST is not set 1692# CONFIG_RCU_TORTURE_TEST is not set
1669# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1693# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1670# CONFIG_BACKTRACE_SELF_TEST is not set 1694# CONFIG_BACKTRACE_SELF_TEST is not set
1671# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1695# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1696# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1672# CONFIG_FAULT_INJECTION is not set 1697# CONFIG_FAULT_INJECTION is not set
1673# CONFIG_LATENCYTOP is not set 1698# CONFIG_LATENCYTOP is not set
1674CONFIG_SYSCTL_SYSCALL_CHECK=y 1699CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1691,10 +1716,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1691# CONFIG_KMEMTRACE is not set 1716# CONFIG_KMEMTRACE is not set
1692# CONFIG_WORKQUEUE_TRACER is not set 1717# CONFIG_WORKQUEUE_TRACER is not set
1693# CONFIG_BLK_DEV_IO_TRACE is not set 1718# CONFIG_BLK_DEV_IO_TRACE is not set
1719# CONFIG_DMA_API_DEBUG is not set
1694# CONFIG_SAMPLES is not set 1720# CONFIG_SAMPLES is not set
1695CONFIG_HAVE_ARCH_KGDB=y 1721CONFIG_HAVE_ARCH_KGDB=y
1696# CONFIG_KGDB is not set 1722# CONFIG_KGDB is not set
1697# CONFIG_KMEMCHECK is not set
1698# CONFIG_PPC_DISABLE_WERROR is not set 1723# CONFIG_PPC_DISABLE_WERROR is not set
1699CONFIG_PPC_WERROR=y 1724CONFIG_PPC_WERROR=y
1700CONFIG_PRINT_STACK_DEPTH=64 1725CONFIG_PRINT_STACK_DEPTH=64
@@ -1721,7 +1746,6 @@ CONFIG_CRYPTO=y
1721# 1746#
1722# Crypto core or helper 1747# Crypto core or helper
1723# 1748#
1724# CONFIG_CRYPTO_FIPS is not set
1725CONFIG_CRYPTO_ALGAPI=y 1749CONFIG_CRYPTO_ALGAPI=y
1726CONFIG_CRYPTO_ALGAPI2=y 1750CONFIG_CRYPTO_ALGAPI2=y
1727CONFIG_CRYPTO_AEAD2=y 1751CONFIG_CRYPTO_AEAD2=y
@@ -1763,11 +1787,13 @@ CONFIG_CRYPTO_PCBC=m
1763# 1787#
1764# CONFIG_CRYPTO_HMAC is not set 1788# CONFIG_CRYPTO_HMAC is not set
1765# CONFIG_CRYPTO_XCBC is not set 1789# CONFIG_CRYPTO_XCBC is not set
1790# CONFIG_CRYPTO_VMAC is not set
1766 1791
1767# 1792#
1768# Digest 1793# Digest
1769# 1794#
1770# CONFIG_CRYPTO_CRC32C is not set 1795# CONFIG_CRYPTO_CRC32C is not set
1796# CONFIG_CRYPTO_GHASH is not set
1771# CONFIG_CRYPTO_MD4 is not set 1797# CONFIG_CRYPTO_MD4 is not set
1772CONFIG_CRYPTO_MD5=y 1798CONFIG_CRYPTO_MD5=y
1773# CONFIG_CRYPTO_MICHAEL_MIC is not set 1799# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
index e0e36a113409..7def83518a6c 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:06 2009 4# Thu Nov 5 08:20:24 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,28 +126,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
139CONFIG_SLUB=y 141CONFIG_SLUB=y
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 146CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 147CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 148CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 149CONFIG_HAVE_ARCH_TRACEHOOK=y
150CONFIG_HAVE_DMA_ATTRS=y
151CONFIG_HAVE_DMA_API_DEBUG=y
149 152
150# 153#
151# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -257,6 +260,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
257CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 260CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
258# CONFIG_KEXEC is not set 261# CONFIG_KEXEC is not set
259# CONFIG_CRASH_DUMP is not set 262# CONFIG_CRASH_DUMP is not set
263CONFIG_MAX_ACTIVE_REGIONS=32
260CONFIG_ARCH_FLATMEM_ENABLE=y 264CONFIG_ARCH_FLATMEM_ENABLE=y
261CONFIG_ARCH_POPULATES_NODE_MAP=y 265CONFIG_ARCH_POPULATES_NODE_MAP=y
262CONFIG_SELECT_MEMORY_MODEL=y 266CONFIG_SELECT_MEMORY_MODEL=y
@@ -274,6 +278,7 @@ CONFIG_BOUNCE=y
274CONFIG_VIRT_TO_BUS=y 278CONFIG_VIRT_TO_BUS=y
275CONFIG_HAVE_MLOCK=y 279CONFIG_HAVE_MLOCK=y
276CONFIG_HAVE_MLOCKED_PAGE_BIT=y 280CONFIG_HAVE_MLOCKED_PAGE_BIT=y
281# CONFIG_KSM is not set
277CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 282CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
278CONFIG_PPC_4K_PAGES=y 283CONFIG_PPC_4K_PAGES=y
279# CONFIG_PPC_16K_PAGES is not set 284# CONFIG_PPC_16K_PAGES is not set
@@ -369,6 +374,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# CONFIG_NETFILTER is not set 374# CONFIG_NETFILTER is not set
370# CONFIG_IP_DCCP is not set 375# CONFIG_IP_DCCP is not set
371# CONFIG_IP_SCTP is not set 376# CONFIG_IP_SCTP is not set
377# CONFIG_RDS is not set
372# CONFIG_TIPC is not set 378# CONFIG_TIPC is not set
373# CONFIG_ATM is not set 379# CONFIG_ATM is not set
374# CONFIG_BRIDGE is not set 380# CONFIG_BRIDGE is not set
@@ -398,6 +404,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
398# CONFIG_AF_RXRPC is not set 404# CONFIG_AF_RXRPC is not set
399CONFIG_WIRELESS=y 405CONFIG_WIRELESS=y
400# CONFIG_CFG80211 is not set 406# CONFIG_CFG80211 is not set
407CONFIG_CFG80211_DEFAULT_PS_VALUE=0
401CONFIG_WIRELESS_OLD_REGULATORY=y 408CONFIG_WIRELESS_OLD_REGULATORY=y
402# CONFIG_WIRELESS_EXT is not set 409# CONFIG_WIRELESS_EXT is not set
403# CONFIG_LIB80211 is not set 410# CONFIG_LIB80211 is not set
@@ -405,7 +412,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
405# 412#
406# CFG80211 needs to be enabled for MAC80211 413# CFG80211 needs to be enabled for MAC80211
407# 414#
408CONFIG_MAC80211_DEFAULT_PS_VALUE=0
409# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
410# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
411# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -418,6 +424,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
418# Generic Driver Options 424# Generic Driver Options
419# 425#
420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
421CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
422CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
423# CONFIG_FW_LOADER is not set 430# CONFIG_FW_LOADER is not set
@@ -504,6 +511,7 @@ CONFIG_SCSI_LOWLEVEL=y
504# CONFIG_ISCSI_TCP is not set 511# CONFIG_ISCSI_TCP is not set
505# CONFIG_SCSI_CXGB3_ISCSI is not set 512# CONFIG_SCSI_CXGB3_ISCSI is not set
506# CONFIG_SCSI_BNX2_ISCSI is not set 513# CONFIG_SCSI_BNX2_ISCSI is not set
514# CONFIG_BE2ISCSI is not set
507# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 515# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
508# CONFIG_SCSI_3W_9XXX is not set 516# CONFIG_SCSI_3W_9XXX is not set
509# CONFIG_SCSI_ACARD is not set 517# CONFIG_SCSI_ACARD is not set
@@ -542,7 +550,9 @@ CONFIG_SCSI_LOWLEVEL=y
542# CONFIG_SCSI_DC390T is not set 550# CONFIG_SCSI_DC390T is not set
543# CONFIG_SCSI_NSP32 is not set 551# CONFIG_SCSI_NSP32 is not set
544# CONFIG_SCSI_DEBUG is not set 552# CONFIG_SCSI_DEBUG is not set
553# CONFIG_SCSI_PMCRAID is not set
545# CONFIG_SCSI_SRP is not set 554# CONFIG_SCSI_SRP is not set
555# CONFIG_SCSI_BFA_FC is not set
546# CONFIG_SCSI_DH is not set 556# CONFIG_SCSI_DH is not set
547# CONFIG_SCSI_OSD_INITIATOR is not set 557# CONFIG_SCSI_OSD_INITIATOR is not set
548# CONFIG_ATA is not set 558# CONFIG_ATA is not set
@@ -612,7 +622,9 @@ CONFIG_MII=y
612# CONFIG_NET_PCI is not set 622# CONFIG_NET_PCI is not set
613# CONFIG_B44 is not set 623# CONFIG_B44 is not set
614# CONFIG_KS8842 is not set 624# CONFIG_KS8842 is not set
625# CONFIG_KS8851_MLL is not set
615# CONFIG_ATL2 is not set 626# CONFIG_ATL2 is not set
627# CONFIG_XILINX_EMACLITE is not set
616CONFIG_NETDEV_1000=y 628CONFIG_NETDEV_1000=y
617# CONFIG_ACENIC is not set 629# CONFIG_ACENIC is not set
618# CONFIG_DL2K is not set 630# CONFIG_DL2K is not set
@@ -635,7 +647,6 @@ CONFIG_NETDEV_1000=y
635CONFIG_FSL_PQ_MDIO=y 647CONFIG_FSL_PQ_MDIO=y
636# CONFIG_GIANFAR is not set 648# CONFIG_GIANFAR is not set
637CONFIG_UCC_GETH=y 649CONFIG_UCC_GETH=y
638# CONFIG_UGETH_MAGIC_PACKET is not set
639# CONFIG_UGETH_TX_ON_DEMAND is not set 650# CONFIG_UGETH_TX_ON_DEMAND is not set
640# CONFIG_MV643XX_ETH is not set 651# CONFIG_MV643XX_ETH is not set
641# CONFIG_QLA3XXX is not set 652# CONFIG_QLA3XXX is not set
@@ -663,10 +674,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
663# CONFIG_SFC is not set 674# CONFIG_SFC is not set
664# CONFIG_BE2NET is not set 675# CONFIG_BE2NET is not set
665# CONFIG_TR is not set 676# CONFIG_TR is not set
666 677CONFIG_WLAN=y
667#
668# Wireless LAN
669#
670# CONFIG_WLAN_PRE80211 is not set 678# CONFIG_WLAN_PRE80211 is not set
671# CONFIG_WLAN_80211 is not set 679# CONFIG_WLAN_80211 is not set
672 680
@@ -759,6 +767,7 @@ CONFIG_HW_RANDOM=y
759CONFIG_DEVPORT=y 767CONFIG_DEVPORT=y
760CONFIG_I2C=y 768CONFIG_I2C=y
761CONFIG_I2C_BOARDINFO=y 769CONFIG_I2C_BOARDINFO=y
770CONFIG_I2C_COMPAT=y
762CONFIG_I2C_CHARDEV=y 771CONFIG_I2C_CHARDEV=y
763CONFIG_I2C_HELPER_AUTO=y 772CONFIG_I2C_HELPER_AUTO=y
764 773
@@ -812,9 +821,6 @@ CONFIG_I2C_MPC=y
812# Miscellaneous I2C Chip support 821# Miscellaneous I2C Chip support
813# 822#
814# CONFIG_DS1682 is not set 823# CONFIG_DS1682 is not set
815# CONFIG_SENSORS_PCF8574 is not set
816# CONFIG_PCF8575 is not set
817# CONFIG_SENSORS_PCA9539 is not set
818# CONFIG_SENSORS_TSL2550 is not set 824# CONFIG_SENSORS_TSL2550 is not set
819# CONFIG_I2C_DEBUG_CORE is not set 825# CONFIG_I2C_DEBUG_CORE is not set
820# CONFIG_I2C_DEBUG_ALGO is not set 826# CONFIG_I2C_DEBUG_ALGO is not set
@@ -832,6 +838,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
832# CONFIG_POWER_SUPPLY is not set 838# CONFIG_POWER_SUPPLY is not set
833CONFIG_HWMON=y 839CONFIG_HWMON=y
834# CONFIG_HWMON_VID is not set 840# CONFIG_HWMON_VID is not set
841# CONFIG_HWMON_DEBUG_CHIP is not set
842
843#
844# Native drivers
845#
835# CONFIG_SENSORS_AD7414 is not set 846# CONFIG_SENSORS_AD7414 is not set
836# CONFIG_SENSORS_AD7418 is not set 847# CONFIG_SENSORS_AD7418 is not set
837# CONFIG_SENSORS_ADM1021 is not set 848# CONFIG_SENSORS_ADM1021 is not set
@@ -881,6 +892,7 @@ CONFIG_HWMON=y
881# CONFIG_SENSORS_ADS7828 is not set 892# CONFIG_SENSORS_ADS7828 is not set
882# CONFIG_SENSORS_THMC50 is not set 893# CONFIG_SENSORS_THMC50 is not set
883# CONFIG_SENSORS_TMP401 is not set 894# CONFIG_SENSORS_TMP401 is not set
895# CONFIG_SENSORS_TMP421 is not set
884# CONFIG_SENSORS_VIA686A is not set 896# CONFIG_SENSORS_VIA686A is not set
885# CONFIG_SENSORS_VT1211 is not set 897# CONFIG_SENSORS_VT1211 is not set
886# CONFIG_SENSORS_VT8231 is not set 898# CONFIG_SENSORS_VT8231 is not set
@@ -892,9 +904,7 @@ CONFIG_HWMON=y
892# CONFIG_SENSORS_W83L786NG is not set 904# CONFIG_SENSORS_W83L786NG is not set
893# CONFIG_SENSORS_W83627HF is not set 905# CONFIG_SENSORS_W83627HF is not set
894# CONFIG_SENSORS_W83627EHF is not set 906# CONFIG_SENSORS_W83627EHF is not set
895# CONFIG_HWMON_DEBUG_CHIP is not set
896# CONFIG_THERMAL is not set 907# CONFIG_THERMAL is not set
897# CONFIG_THERMAL_HWMON is not set
898CONFIG_WATCHDOG=y 908CONFIG_WATCHDOG=y
899# CONFIG_WATCHDOG_NOWAYOUT is not set 909# CONFIG_WATCHDOG_NOWAYOUT is not set
900 910
@@ -927,6 +937,7 @@ CONFIG_SSB_POSSIBLE=y
927# CONFIG_MFD_TMIO is not set 937# CONFIG_MFD_TMIO is not set
928# CONFIG_PMIC_DA903X is not set 938# CONFIG_PMIC_DA903X is not set
929# CONFIG_MFD_WM8400 is not set 939# CONFIG_MFD_WM8400 is not set
940# CONFIG_MFD_WM831X is not set
930# CONFIG_MFD_WM8350_I2C is not set 941# CONFIG_MFD_WM8350_I2C is not set
931# CONFIG_MFD_PCF50633 is not set 942# CONFIG_MFD_PCF50633 is not set
932# CONFIG_AB3100_CORE is not set 943# CONFIG_AB3100_CORE is not set
@@ -937,6 +948,7 @@ CONFIG_SSB_POSSIBLE=y
937# Graphics support 948# Graphics support
938# 949#
939# CONFIG_AGP is not set 950# CONFIG_AGP is not set
951CONFIG_VGA_ARB=y
940# CONFIG_DRM is not set 952# CONFIG_DRM is not set
941# CONFIG_VGASTATE is not set 953# CONFIG_VGASTATE is not set
942CONFIG_VIDEO_OUTPUT_CONTROL=m 954CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -950,7 +962,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
950# CONFIG_SOUND is not set 962# CONFIG_SOUND is not set
951CONFIG_HID_SUPPORT=y 963CONFIG_HID_SUPPORT=y
952CONFIG_HID=y 964CONFIG_HID=y
953# CONFIG_HID_DEBUG is not set
954# CONFIG_HIDRAW is not set 965# CONFIG_HIDRAW is not set
955# CONFIG_HID_PID is not set 966# CONFIG_HID_PID is not set
956 967
@@ -1070,6 +1081,7 @@ CONFIG_FS_MBCACHE=y
1070# CONFIG_GFS2_FS is not set 1081# CONFIG_GFS2_FS is not set
1071# CONFIG_OCFS2_FS is not set 1082# CONFIG_OCFS2_FS is not set
1072# CONFIG_BTRFS_FS is not set 1083# CONFIG_BTRFS_FS is not set
1084# CONFIG_NILFS2_FS is not set
1073CONFIG_FILE_LOCKING=y 1085CONFIG_FILE_LOCKING=y
1074CONFIG_FSNOTIFY=y 1086CONFIG_FSNOTIFY=y
1075CONFIG_DNOTIFY=y 1087CONFIG_DNOTIFY=y
@@ -1128,7 +1140,6 @@ CONFIG_MISC_FILESYSTEMS=y
1128# CONFIG_ROMFS_FS is not set 1140# CONFIG_ROMFS_FS is not set
1129# CONFIG_SYSV_FS is not set 1141# CONFIG_SYSV_FS is not set
1130# CONFIG_UFS_FS is not set 1142# CONFIG_UFS_FS is not set
1131# CONFIG_NILFS2_FS is not set
1132CONFIG_NETWORK_FILESYSTEMS=y 1143CONFIG_NETWORK_FILESYSTEMS=y
1133CONFIG_NFS_FS=y 1144CONFIG_NFS_FS=y
1134CONFIG_NFS_V3=y 1145CONFIG_NFS_V3=y
@@ -1202,6 +1213,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1202CONFIG_ENABLE_MUST_CHECK=y 1213CONFIG_ENABLE_MUST_CHECK=y
1203CONFIG_FRAME_WARN=1024 1214CONFIG_FRAME_WARN=1024
1204# CONFIG_MAGIC_SYSRQ is not set 1215# CONFIG_MAGIC_SYSRQ is not set
1216# CONFIG_STRIP_ASM_SYMS is not set
1205# CONFIG_UNUSED_SYMBOLS is not set 1217# CONFIG_UNUSED_SYMBOLS is not set
1206# CONFIG_DEBUG_FS is not set 1218# CONFIG_DEBUG_FS is not set
1207# CONFIG_HEADERS_CHECK is not set 1219# CONFIG_HEADERS_CHECK is not set
@@ -1219,6 +1231,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1219CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1231CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1220CONFIG_TRACING_SUPPORT=y 1232CONFIG_TRACING_SUPPORT=y
1221# CONFIG_FTRACE is not set 1233# CONFIG_FTRACE is not set
1234# CONFIG_DMA_API_DEBUG is not set
1222# CONFIG_SAMPLES is not set 1235# CONFIG_SAMPLES is not set
1223CONFIG_HAVE_ARCH_KGDB=y 1236CONFIG_HAVE_ARCH_KGDB=y
1224# CONFIG_PPC_DISABLE_WERROR is not set 1237# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1240,7 +1253,6 @@ CONFIG_CRYPTO=y
1240# 1253#
1241# Crypto core or helper 1254# Crypto core or helper
1242# 1255#
1243# CONFIG_CRYPTO_FIPS is not set
1244CONFIG_CRYPTO_ALGAPI=y 1256CONFIG_CRYPTO_ALGAPI=y
1245CONFIG_CRYPTO_ALGAPI2=y 1257CONFIG_CRYPTO_ALGAPI2=y
1246CONFIG_CRYPTO_AEAD2=y 1258CONFIG_CRYPTO_AEAD2=y
@@ -1282,11 +1294,13 @@ CONFIG_CRYPTO_PCBC=m
1282# 1294#
1283# CONFIG_CRYPTO_HMAC is not set 1295# CONFIG_CRYPTO_HMAC is not set
1284# CONFIG_CRYPTO_XCBC is not set 1296# CONFIG_CRYPTO_XCBC is not set
1297# CONFIG_CRYPTO_VMAC is not set
1285 1298
1286# 1299#
1287# Digest 1300# Digest
1288# 1301#
1289# CONFIG_CRYPTO_CRC32C is not set 1302# CONFIG_CRYPTO_CRC32C is not set
1303# CONFIG_CRYPTO_GHASH is not set
1290# CONFIG_CRYPTO_MD4 is not set 1304# CONFIG_CRYPTO_MD4 is not set
1291CONFIG_CRYPTO_MD5=y 1305CONFIG_CRYPTO_MD5=y
1292# CONFIG_CRYPTO_MICHAEL_MIC is not set 1306# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
index 4f27d4548223..b398b9b2b635 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:07 2009 4# Thu Nov 5 08:20:24 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,28 +126,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
139CONFIG_SLUB=y 141CONFIG_SLUB=y
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 146CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 147CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 148CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 149CONFIG_HAVE_ARCH_TRACEHOOK=y
150CONFIG_HAVE_DMA_ATTRS=y
151CONFIG_HAVE_DMA_API_DEBUG=y
149 152
150# 153#
151# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -257,6 +260,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
257CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 260CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
258# CONFIG_KEXEC is not set 261# CONFIG_KEXEC is not set
259# CONFIG_CRASH_DUMP is not set 262# CONFIG_CRASH_DUMP is not set
263CONFIG_MAX_ACTIVE_REGIONS=32
260CONFIG_ARCH_FLATMEM_ENABLE=y 264CONFIG_ARCH_FLATMEM_ENABLE=y
261CONFIG_ARCH_POPULATES_NODE_MAP=y 265CONFIG_ARCH_POPULATES_NODE_MAP=y
262CONFIG_SELECT_MEMORY_MODEL=y 266CONFIG_SELECT_MEMORY_MODEL=y
@@ -274,6 +278,7 @@ CONFIG_BOUNCE=y
274CONFIG_VIRT_TO_BUS=y 278CONFIG_VIRT_TO_BUS=y
275CONFIG_HAVE_MLOCK=y 279CONFIG_HAVE_MLOCK=y
276CONFIG_HAVE_MLOCKED_PAGE_BIT=y 280CONFIG_HAVE_MLOCKED_PAGE_BIT=y
281# CONFIG_KSM is not set
277CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 282CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
278CONFIG_PPC_4K_PAGES=y 283CONFIG_PPC_4K_PAGES=y
279# CONFIG_PPC_16K_PAGES is not set 284# CONFIG_PPC_16K_PAGES is not set
@@ -369,6 +374,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# CONFIG_NETFILTER is not set 374# CONFIG_NETFILTER is not set
370# CONFIG_IP_DCCP is not set 375# CONFIG_IP_DCCP is not set
371# CONFIG_IP_SCTP is not set 376# CONFIG_IP_SCTP is not set
377# CONFIG_RDS is not set
372# CONFIG_TIPC is not set 378# CONFIG_TIPC is not set
373# CONFIG_ATM is not set 379# CONFIG_ATM is not set
374# CONFIG_BRIDGE is not set 380# CONFIG_BRIDGE is not set
@@ -398,6 +404,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
398# CONFIG_AF_RXRPC is not set 404# CONFIG_AF_RXRPC is not set
399CONFIG_WIRELESS=y 405CONFIG_WIRELESS=y
400# CONFIG_CFG80211 is not set 406# CONFIG_CFG80211 is not set
407CONFIG_CFG80211_DEFAULT_PS_VALUE=0
401CONFIG_WIRELESS_OLD_REGULATORY=y 408CONFIG_WIRELESS_OLD_REGULATORY=y
402# CONFIG_WIRELESS_EXT is not set 409# CONFIG_WIRELESS_EXT is not set
403# CONFIG_LIB80211 is not set 410# CONFIG_LIB80211 is not set
@@ -405,7 +412,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
405# 412#
406# CFG80211 needs to be enabled for MAC80211 413# CFG80211 needs to be enabled for MAC80211
407# 414#
408CONFIG_MAC80211_DEFAULT_PS_VALUE=0
409# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
410# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
411# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -418,6 +424,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
418# Generic Driver Options 424# Generic Driver Options
419# 425#
420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
421CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
422CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
423# CONFIG_FW_LOADER is not set 430# CONFIG_FW_LOADER is not set
@@ -507,6 +514,7 @@ CONFIG_SCSI_LOWLEVEL=y
507# CONFIG_ISCSI_TCP is not set 514# CONFIG_ISCSI_TCP is not set
508# CONFIG_SCSI_CXGB3_ISCSI is not set 515# CONFIG_SCSI_CXGB3_ISCSI is not set
509# CONFIG_SCSI_BNX2_ISCSI is not set 516# CONFIG_SCSI_BNX2_ISCSI is not set
517# CONFIG_BE2ISCSI is not set
510# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 518# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
511# CONFIG_SCSI_3W_9XXX is not set 519# CONFIG_SCSI_3W_9XXX is not set
512# CONFIG_SCSI_ACARD is not set 520# CONFIG_SCSI_ACARD is not set
@@ -545,7 +553,9 @@ CONFIG_SCSI_LOWLEVEL=y
545# CONFIG_SCSI_DC390T is not set 553# CONFIG_SCSI_DC390T is not set
546# CONFIG_SCSI_NSP32 is not set 554# CONFIG_SCSI_NSP32 is not set
547# CONFIG_SCSI_DEBUG is not set 555# CONFIG_SCSI_DEBUG is not set
556# CONFIG_SCSI_PMCRAID is not set
548# CONFIG_SCSI_SRP is not set 557# CONFIG_SCSI_SRP is not set
558# CONFIG_SCSI_BFA_FC is not set
549# CONFIG_SCSI_DH is not set 559# CONFIG_SCSI_DH is not set
550# CONFIG_SCSI_OSD_INITIATOR is not set 560# CONFIG_SCSI_OSD_INITIATOR is not set
551# CONFIG_ATA is not set 561# CONFIG_ATA is not set
@@ -617,7 +627,9 @@ CONFIG_MII=y
617# CONFIG_B44 is not set 627# CONFIG_B44 is not set
618# CONFIG_KS8842 is not set 628# CONFIG_KS8842 is not set
619# CONFIG_KS8851 is not set 629# CONFIG_KS8851 is not set
630# CONFIG_KS8851_MLL is not set
620# CONFIG_ATL2 is not set 631# CONFIG_ATL2 is not set
632# CONFIG_XILINX_EMACLITE is not set
621CONFIG_NETDEV_1000=y 633CONFIG_NETDEV_1000=y
622# CONFIG_ACENIC is not set 634# CONFIG_ACENIC is not set
623# CONFIG_DL2K is not set 635# CONFIG_DL2K is not set
@@ -640,7 +652,6 @@ CONFIG_E1000=y
640CONFIG_FSL_PQ_MDIO=y 652CONFIG_FSL_PQ_MDIO=y
641# CONFIG_GIANFAR is not set 653# CONFIG_GIANFAR is not set
642CONFIG_UCC_GETH=y 654CONFIG_UCC_GETH=y
643# CONFIG_UGETH_MAGIC_PACKET is not set
644# CONFIG_UGETH_TX_ON_DEMAND is not set 655# CONFIG_UGETH_TX_ON_DEMAND is not set
645# CONFIG_MV643XX_ETH is not set 656# CONFIG_MV643XX_ETH is not set
646# CONFIG_QLA3XXX is not set 657# CONFIG_QLA3XXX is not set
@@ -668,10 +679,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
668# CONFIG_SFC is not set 679# CONFIG_SFC is not set
669# CONFIG_BE2NET is not set 680# CONFIG_BE2NET is not set
670# CONFIG_TR is not set 681# CONFIG_TR is not set
671 682CONFIG_WLAN=y
672#
673# Wireless LAN
674#
675# CONFIG_WLAN_PRE80211 is not set 683# CONFIG_WLAN_PRE80211 is not set
676# CONFIG_WLAN_80211 is not set 684# CONFIG_WLAN_80211 is not set
677 685
@@ -776,6 +784,7 @@ CONFIG_GEN_RTC=y
776CONFIG_DEVPORT=y 784CONFIG_DEVPORT=y
777CONFIG_I2C=y 785CONFIG_I2C=y
778CONFIG_I2C_BOARDINFO=y 786CONFIG_I2C_BOARDINFO=y
787CONFIG_I2C_COMPAT=y
779CONFIG_I2C_CHARDEV=y 788CONFIG_I2C_CHARDEV=y
780CONFIG_I2C_HELPER_AUTO=y 789CONFIG_I2C_HELPER_AUTO=y
781 790
@@ -830,9 +839,6 @@ CONFIG_I2C_MPC=y
830# Miscellaneous I2C Chip support 839# Miscellaneous I2C Chip support
831# 840#
832# CONFIG_DS1682 is not set 841# CONFIG_DS1682 is not set
833# CONFIG_SENSORS_PCF8574 is not set
834# CONFIG_PCF8575 is not set
835# CONFIG_SENSORS_PCA9539 is not set
836# CONFIG_SENSORS_TSL2550 is not set 842# CONFIG_SENSORS_TSL2550 is not set
837# CONFIG_I2C_DEBUG_CORE is not set 843# CONFIG_I2C_DEBUG_CORE is not set
838# CONFIG_I2C_DEBUG_ALGO is not set 844# CONFIG_I2C_DEBUG_ALGO is not set
@@ -863,6 +869,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
863# CONFIG_POWER_SUPPLY is not set 869# CONFIG_POWER_SUPPLY is not set
864CONFIG_HWMON=y 870CONFIG_HWMON=y
865# CONFIG_HWMON_VID is not set 871# CONFIG_HWMON_VID is not set
872# CONFIG_HWMON_DEBUG_CHIP is not set
873
874#
875# Native drivers
876#
866# CONFIG_SENSORS_AD7414 is not set 877# CONFIG_SENSORS_AD7414 is not set
867# CONFIG_SENSORS_AD7418 is not set 878# CONFIG_SENSORS_AD7418 is not set
868# CONFIG_SENSORS_ADCXX is not set 879# CONFIG_SENSORS_ADCXX is not set
@@ -915,6 +926,7 @@ CONFIG_HWMON=y
915# CONFIG_SENSORS_ADS7828 is not set 926# CONFIG_SENSORS_ADS7828 is not set
916# CONFIG_SENSORS_THMC50 is not set 927# CONFIG_SENSORS_THMC50 is not set
917# CONFIG_SENSORS_TMP401 is not set 928# CONFIG_SENSORS_TMP401 is not set
929# CONFIG_SENSORS_TMP421 is not set
918# CONFIG_SENSORS_VIA686A is not set 930# CONFIG_SENSORS_VIA686A is not set
919# CONFIG_SENSORS_VT1211 is not set 931# CONFIG_SENSORS_VT1211 is not set
920# CONFIG_SENSORS_VT8231 is not set 932# CONFIG_SENSORS_VT8231 is not set
@@ -927,9 +939,7 @@ CONFIG_HWMON=y
927# CONFIG_SENSORS_W83627HF is not set 939# CONFIG_SENSORS_W83627HF is not set
928# CONFIG_SENSORS_W83627EHF is not set 940# CONFIG_SENSORS_W83627EHF is not set
929# CONFIG_SENSORS_LIS3_SPI is not set 941# CONFIG_SENSORS_LIS3_SPI is not set
930# CONFIG_HWMON_DEBUG_CHIP is not set
931# CONFIG_THERMAL is not set 942# CONFIG_THERMAL is not set
932# CONFIG_THERMAL_HWMON is not set
933CONFIG_WATCHDOG=y 943CONFIG_WATCHDOG=y
934# CONFIG_WATCHDOG_NOWAYOUT is not set 944# CONFIG_WATCHDOG_NOWAYOUT is not set
935 945
@@ -967,8 +977,10 @@ CONFIG_SSB_POSSIBLE=y
967# CONFIG_MFD_TMIO is not set 977# CONFIG_MFD_TMIO is not set
968# CONFIG_PMIC_DA903X is not set 978# CONFIG_PMIC_DA903X is not set
969# CONFIG_MFD_WM8400 is not set 979# CONFIG_MFD_WM8400 is not set
980# CONFIG_MFD_WM831X is not set
970# CONFIG_MFD_WM8350_I2C is not set 981# CONFIG_MFD_WM8350_I2C is not set
971# CONFIG_MFD_PCF50633 is not set 982# CONFIG_MFD_PCF50633 is not set
983# CONFIG_MFD_MC13783 is not set
972# CONFIG_AB3100_CORE is not set 984# CONFIG_AB3100_CORE is not set
973# CONFIG_EZX_PCAP is not set 985# CONFIG_EZX_PCAP is not set
974# CONFIG_REGULATOR is not set 986# CONFIG_REGULATOR is not set
@@ -978,6 +990,7 @@ CONFIG_SSB_POSSIBLE=y
978# Graphics support 990# Graphics support
979# 991#
980# CONFIG_AGP is not set 992# CONFIG_AGP is not set
993CONFIG_VGA_ARB=y
981# CONFIG_DRM is not set 994# CONFIG_DRM is not set
982# CONFIG_VGASTATE is not set 995# CONFIG_VGASTATE is not set
983CONFIG_VIDEO_OUTPUT_CONTROL=m 996CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -991,7 +1004,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
991# CONFIG_SOUND is not set 1004# CONFIG_SOUND is not set
992CONFIG_HID_SUPPORT=y 1005CONFIG_HID_SUPPORT=y
993CONFIG_HID=y 1006CONFIG_HID=y
994# CONFIG_HID_DEBUG is not set
995# CONFIG_HIDRAW is not set 1007# CONFIG_HIDRAW is not set
996 1008
997# 1009#
@@ -1043,6 +1055,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1043# CONFIG_USB_OXU210HP_HCD is not set 1055# CONFIG_USB_OXU210HP_HCD is not set
1044# CONFIG_USB_ISP116X_HCD is not set 1056# CONFIG_USB_ISP116X_HCD is not set
1045# CONFIG_USB_ISP1760_HCD is not set 1057# CONFIG_USB_ISP1760_HCD is not set
1058# CONFIG_USB_ISP1362_HCD is not set
1046CONFIG_USB_OHCI_HCD=y 1059CONFIG_USB_OHCI_HCD=y
1047CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1060CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1048# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1061# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1146,6 +1159,8 @@ CONFIG_MMC_BLOCK_BOUNCE=y
1146# 1159#
1147# CONFIG_MMC_SDHCI is not set 1160# CONFIG_MMC_SDHCI is not set
1148# CONFIG_MMC_WBSD is not set 1161# CONFIG_MMC_WBSD is not set
1162# CONFIG_MMC_AT91 is not set
1163# CONFIG_MMC_ATMELMCI is not set
1149# CONFIG_MMC_TIFM_SD is not set 1164# CONFIG_MMC_TIFM_SD is not set
1150CONFIG_MMC_SPI=y 1165CONFIG_MMC_SPI=y
1151# CONFIG_MMC_CB710 is not set 1166# CONFIG_MMC_CB710 is not set
@@ -1186,6 +1201,7 @@ CONFIG_FS_MBCACHE=y
1186# CONFIG_GFS2_FS is not set 1201# CONFIG_GFS2_FS is not set
1187# CONFIG_OCFS2_FS is not set 1202# CONFIG_OCFS2_FS is not set
1188# CONFIG_BTRFS_FS is not set 1203# CONFIG_BTRFS_FS is not set
1204# CONFIG_NILFS2_FS is not set
1189CONFIG_FILE_LOCKING=y 1205CONFIG_FILE_LOCKING=y
1190CONFIG_FSNOTIFY=y 1206CONFIG_FSNOTIFY=y
1191CONFIG_DNOTIFY=y 1207CONFIG_DNOTIFY=y
@@ -1247,7 +1263,6 @@ CONFIG_MISC_FILESYSTEMS=y
1247# CONFIG_ROMFS_FS is not set 1263# CONFIG_ROMFS_FS is not set
1248# CONFIG_SYSV_FS is not set 1264# CONFIG_SYSV_FS is not set
1249# CONFIG_UFS_FS is not set 1265# CONFIG_UFS_FS is not set
1250# CONFIG_NILFS2_FS is not set
1251CONFIG_NETWORK_FILESYSTEMS=y 1266CONFIG_NETWORK_FILESYSTEMS=y
1252CONFIG_NFS_FS=y 1267CONFIG_NFS_FS=y
1253CONFIG_NFS_V3=y 1268CONFIG_NFS_V3=y
@@ -1365,6 +1380,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1365CONFIG_ENABLE_MUST_CHECK=y 1380CONFIG_ENABLE_MUST_CHECK=y
1366CONFIG_FRAME_WARN=1024 1381CONFIG_FRAME_WARN=1024
1367# CONFIG_MAGIC_SYSRQ is not set 1382# CONFIG_MAGIC_SYSRQ is not set
1383# CONFIG_STRIP_ASM_SYMS is not set
1368# CONFIG_UNUSED_SYMBOLS is not set 1384# CONFIG_UNUSED_SYMBOLS is not set
1369# CONFIG_DEBUG_FS is not set 1385# CONFIG_DEBUG_FS is not set
1370# CONFIG_HEADERS_CHECK is not set 1386# CONFIG_HEADERS_CHECK is not set
@@ -1382,6 +1398,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1382CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1398CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1383CONFIG_TRACING_SUPPORT=y 1399CONFIG_TRACING_SUPPORT=y
1384# CONFIG_FTRACE is not set 1400# CONFIG_FTRACE is not set
1401# CONFIG_DMA_API_DEBUG is not set
1385# CONFIG_SAMPLES is not set 1402# CONFIG_SAMPLES is not set
1386CONFIG_HAVE_ARCH_KGDB=y 1403CONFIG_HAVE_ARCH_KGDB=y
1387# CONFIG_PPC_DISABLE_WERROR is not set 1404# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1403,7 +1420,6 @@ CONFIG_CRYPTO=y
1403# 1420#
1404# Crypto core or helper 1421# Crypto core or helper
1405# 1422#
1406# CONFIG_CRYPTO_FIPS is not set
1407CONFIG_CRYPTO_ALGAPI=y 1423CONFIG_CRYPTO_ALGAPI=y
1408CONFIG_CRYPTO_ALGAPI2=y 1424CONFIG_CRYPTO_ALGAPI2=y
1409CONFIG_CRYPTO_AEAD2=y 1425CONFIG_CRYPTO_AEAD2=y
@@ -1445,11 +1461,13 @@ CONFIG_CRYPTO_PCBC=m
1445# 1461#
1446# CONFIG_CRYPTO_HMAC is not set 1462# CONFIG_CRYPTO_HMAC is not set
1447# CONFIG_CRYPTO_XCBC is not set 1463# CONFIG_CRYPTO_XCBC is not set
1464# CONFIG_CRYPTO_VMAC is not set
1448 1465
1449# 1466#
1450# Digest 1467# Digest
1451# 1468#
1452# CONFIG_CRYPTO_CRC32C is not set 1469# CONFIG_CRYPTO_CRC32C is not set
1470# CONFIG_CRYPTO_GHASH is not set
1453# CONFIG_CRYPTO_MD4 is not set 1471# CONFIG_CRYPTO_MD4 is not set
1454CONFIG_CRYPTO_MD5=y 1472CONFIG_CRYPTO_MD5=y
1455# CONFIG_CRYPTO_MICHAEL_MIC is not set 1473# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
index 648dac0c9d8d..f67317e1934c 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:07 2009 4# Thu Nov 5 08:20:25 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,28 +126,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
139CONFIG_SLUB=y 141CONFIG_SLUB=y
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 146CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 147CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 148CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 149CONFIG_HAVE_ARCH_TRACEHOOK=y
150CONFIG_HAVE_DMA_ATTRS=y
151CONFIG_HAVE_DMA_API_DEBUG=y
149 152
150# 153#
151# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -256,6 +259,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
256CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -368,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
368# CONFIG_NETFILTER is not set 373# CONFIG_NETFILTER is not set
369# CONFIG_IP_DCCP is not set 374# CONFIG_IP_DCCP is not set
370# CONFIG_IP_SCTP is not set 375# CONFIG_IP_SCTP is not set
376# CONFIG_RDS is not set
371# CONFIG_TIPC is not set 377# CONFIG_TIPC is not set
372# CONFIG_ATM is not set 378# CONFIG_ATM is not set
373# CONFIG_BRIDGE is not set 379# CONFIG_BRIDGE is not set
@@ -397,6 +403,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
397# CONFIG_AF_RXRPC is not set 403# CONFIG_AF_RXRPC is not set
398CONFIG_WIRELESS=y 404CONFIG_WIRELESS=y
399# CONFIG_CFG80211 is not set 405# CONFIG_CFG80211 is not set
406CONFIG_CFG80211_DEFAULT_PS_VALUE=0
400CONFIG_WIRELESS_OLD_REGULATORY=y 407CONFIG_WIRELESS_OLD_REGULATORY=y
401# CONFIG_WIRELESS_EXT is not set 408# CONFIG_WIRELESS_EXT is not set
402# CONFIG_LIB80211 is not set 409# CONFIG_LIB80211 is not set
@@ -404,7 +411,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
404# 411#
405# CFG80211 needs to be enabled for MAC80211 412# CFG80211 needs to be enabled for MAC80211
406# 413#
407CONFIG_MAC80211_DEFAULT_PS_VALUE=0
408# CONFIG_WIMAX is not set 414# CONFIG_WIMAX is not set
409# CONFIG_RFKILL is not set 415# CONFIG_RFKILL is not set
410# CONFIG_NET_9P is not set 416# CONFIG_NET_9P is not set
@@ -417,6 +423,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
417# Generic Driver Options 423# Generic Driver Options
418# 424#
419CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426# CONFIG_DEVTMPFS is not set
420CONFIG_STANDALONE=y 427CONFIG_STANDALONE=y
421CONFIG_PREVENT_FIRMWARE_BUILD=y 428CONFIG_PREVENT_FIRMWARE_BUILD=y
422# CONFIG_FW_LOADER is not set 429# CONFIG_FW_LOADER is not set
@@ -424,9 +431,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
424# CONFIG_CONNECTOR is not set 431# CONFIG_CONNECTOR is not set
425CONFIG_MTD=y 432CONFIG_MTD=y
426# CONFIG_MTD_DEBUG is not set 433# CONFIG_MTD_DEBUG is not set
434# CONFIG_MTD_TESTS is not set
427# CONFIG_MTD_CONCAT is not set 435# CONFIG_MTD_CONCAT is not set
428# CONFIG_MTD_PARTITIONS is not set 436# CONFIG_MTD_PARTITIONS is not set
429# CONFIG_MTD_TESTS is not set
430 437
431# 438#
432# User Modules And Translation Layers 439# User Modules And Translation Layers
@@ -483,6 +490,7 @@ CONFIG_MTD_PHYSMAP=y
483# CONFIG_MTD_PMC551 is not set 490# CONFIG_MTD_PMC551 is not set
484# CONFIG_MTD_DATAFLASH is not set 491# CONFIG_MTD_DATAFLASH is not set
485# CONFIG_MTD_M25P80 is not set 492# CONFIG_MTD_M25P80 is not set
493# CONFIG_MTD_SST25L is not set
486# CONFIG_MTD_SLRAM is not set 494# CONFIG_MTD_SLRAM is not set
487# CONFIG_MTD_PHRAM is not set 495# CONFIG_MTD_PHRAM is not set
488# CONFIG_MTD_MTDRAM is not set 496# CONFIG_MTD_MTDRAM is not set
@@ -637,6 +645,7 @@ CONFIG_SCSI_LOWLEVEL=y
637# CONFIG_ISCSI_TCP is not set 645# CONFIG_ISCSI_TCP is not set
638# CONFIG_SCSI_CXGB3_ISCSI is not set 646# CONFIG_SCSI_CXGB3_ISCSI is not set
639# CONFIG_SCSI_BNX2_ISCSI is not set 647# CONFIG_SCSI_BNX2_ISCSI is not set
648# CONFIG_BE2ISCSI is not set
640# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 649# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
641# CONFIG_SCSI_3W_9XXX is not set 650# CONFIG_SCSI_3W_9XXX is not set
642# CONFIG_SCSI_ACARD is not set 651# CONFIG_SCSI_ACARD is not set
@@ -676,11 +685,14 @@ CONFIG_SCSI_LOWLEVEL=y
676# CONFIG_SCSI_DC390T is not set 685# CONFIG_SCSI_DC390T is not set
677# CONFIG_SCSI_NSP32 is not set 686# CONFIG_SCSI_NSP32 is not set
678# CONFIG_SCSI_DEBUG is not set 687# CONFIG_SCSI_DEBUG is not set
688# CONFIG_SCSI_PMCRAID is not set
679# CONFIG_SCSI_SRP is not set 689# CONFIG_SCSI_SRP is not set
690# CONFIG_SCSI_BFA_FC is not set
680# CONFIG_SCSI_DH is not set 691# CONFIG_SCSI_DH is not set
681# CONFIG_SCSI_OSD_INITIATOR is not set 692# CONFIG_SCSI_OSD_INITIATOR is not set
682CONFIG_ATA=y 693CONFIG_ATA=y
683# CONFIG_ATA_NONSTANDARD is not set 694# CONFIG_ATA_NONSTANDARD is not set
695CONFIG_ATA_VERBOSE_ERROR=y
684CONFIG_SATA_PMP=y 696CONFIG_SATA_PMP=y
685# CONFIG_SATA_AHCI is not set 697# CONFIG_SATA_AHCI is not set
686# CONFIG_SATA_SIL24 is not set 698# CONFIG_SATA_SIL24 is not set
@@ -703,6 +715,7 @@ CONFIG_SATA_SIL=y
703# CONFIG_PATA_ALI is not set 715# CONFIG_PATA_ALI is not set
704# CONFIG_PATA_AMD is not set 716# CONFIG_PATA_AMD is not set
705# CONFIG_PATA_ARTOP is not set 717# CONFIG_PATA_ARTOP is not set
718# CONFIG_PATA_ATP867X is not set
706# CONFIG_PATA_ATIIXP is not set 719# CONFIG_PATA_ATIIXP is not set
707# CONFIG_PATA_CMD640_PCI is not set 720# CONFIG_PATA_CMD640_PCI is not set
708# CONFIG_PATA_CMD64X is not set 721# CONFIG_PATA_CMD64X is not set
@@ -730,6 +743,7 @@ CONFIG_SATA_SIL=y
730# CONFIG_PATA_OPTIDMA is not set 743# CONFIG_PATA_OPTIDMA is not set
731# CONFIG_PATA_PDC_OLD is not set 744# CONFIG_PATA_PDC_OLD is not set
732# CONFIG_PATA_RADISYS is not set 745# CONFIG_PATA_RADISYS is not set
746# CONFIG_PATA_RDC is not set
733# CONFIG_PATA_RZ1000 is not set 747# CONFIG_PATA_RZ1000 is not set
734# CONFIG_PATA_SC1200 is not set 748# CONFIG_PATA_SC1200 is not set
735# CONFIG_PATA_SERVERWORKS is not set 749# CONFIG_PATA_SERVERWORKS is not set
@@ -845,10 +859,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
845# CONFIG_SFC is not set 859# CONFIG_SFC is not set
846# CONFIG_BE2NET is not set 860# CONFIG_BE2NET is not set
847# CONFIG_TR is not set 861# CONFIG_TR is not set
848 862CONFIG_WLAN=y
849#
850# Wireless LAN
851#
852# CONFIG_WLAN_PRE80211 is not set 863# CONFIG_WLAN_PRE80211 is not set
853# CONFIG_WLAN_80211 is not set 864# CONFIG_WLAN_80211 is not set
854 865
@@ -930,6 +941,7 @@ CONFIG_HW_RANDOM=y
930CONFIG_DEVPORT=y 941CONFIG_DEVPORT=y
931CONFIG_I2C=y 942CONFIG_I2C=y
932CONFIG_I2C_BOARDINFO=y 943CONFIG_I2C_BOARDINFO=y
944CONFIG_I2C_COMPAT=y
933CONFIG_I2C_CHARDEV=y 945CONFIG_I2C_CHARDEV=y
934CONFIG_I2C_HELPER_AUTO=y 946CONFIG_I2C_HELPER_AUTO=y
935 947
@@ -984,9 +996,6 @@ CONFIG_I2C_MPC=y
984# Miscellaneous I2C Chip support 996# Miscellaneous I2C Chip support
985# 997#
986# CONFIG_DS1682 is not set 998# CONFIG_DS1682 is not set
987CONFIG_SENSORS_PCF8574=y
988# CONFIG_PCF8575 is not set
989# CONFIG_SENSORS_PCA9539 is not set
990# CONFIG_SENSORS_TSL2550 is not set 999# CONFIG_SENSORS_TSL2550 is not set
991# CONFIG_I2C_DEBUG_CORE is not set 1000# CONFIG_I2C_DEBUG_CORE is not set
992# CONFIG_I2C_DEBUG_ALGO is not set 1001# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1017,7 +1026,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1017# CONFIG_POWER_SUPPLY is not set 1026# CONFIG_POWER_SUPPLY is not set
1018# CONFIG_HWMON is not set 1027# CONFIG_HWMON is not set
1019# CONFIG_THERMAL is not set 1028# CONFIG_THERMAL is not set
1020# CONFIG_THERMAL_HWMON is not set
1021CONFIG_WATCHDOG=y 1029CONFIG_WATCHDOG=y
1022# CONFIG_WATCHDOG_NOWAYOUT is not set 1030# CONFIG_WATCHDOG_NOWAYOUT is not set
1023 1031
@@ -1055,8 +1063,10 @@ CONFIG_SSB_POSSIBLE=y
1055# CONFIG_MFD_TMIO is not set 1063# CONFIG_MFD_TMIO is not set
1056# CONFIG_PMIC_DA903X is not set 1064# CONFIG_PMIC_DA903X is not set
1057# CONFIG_MFD_WM8400 is not set 1065# CONFIG_MFD_WM8400 is not set
1066# CONFIG_MFD_WM831X is not set
1058# CONFIG_MFD_WM8350_I2C is not set 1067# CONFIG_MFD_WM8350_I2C is not set
1059# CONFIG_MFD_PCF50633 is not set 1068# CONFIG_MFD_PCF50633 is not set
1069# CONFIG_MFD_MC13783 is not set
1060# CONFIG_AB3100_CORE is not set 1070# CONFIG_AB3100_CORE is not set
1061# CONFIG_EZX_PCAP is not set 1071# CONFIG_EZX_PCAP is not set
1062# CONFIG_REGULATOR is not set 1072# CONFIG_REGULATOR is not set
@@ -1066,6 +1076,7 @@ CONFIG_SSB_POSSIBLE=y
1066# Graphics support 1076# Graphics support
1067# 1077#
1068# CONFIG_AGP is not set 1078# CONFIG_AGP is not set
1079CONFIG_VGA_ARB=y
1069# CONFIG_DRM is not set 1080# CONFIG_DRM is not set
1070# CONFIG_VGASTATE is not set 1081# CONFIG_VGASTATE is not set
1071CONFIG_VIDEO_OUTPUT_CONTROL=m 1082CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1111,6 +1122,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1111# CONFIG_USB_OXU210HP_HCD is not set 1122# CONFIG_USB_OXU210HP_HCD is not set
1112# CONFIG_USB_ISP116X_HCD is not set 1123# CONFIG_USB_ISP116X_HCD is not set
1113# CONFIG_USB_ISP1760_HCD is not set 1124# CONFIG_USB_ISP1760_HCD is not set
1125# CONFIG_USB_ISP1362_HCD is not set
1114# CONFIG_USB_OHCI_HCD is not set 1126# CONFIG_USB_OHCI_HCD is not set
1115CONFIG_USB_UHCI_HCD=y 1127CONFIG_USB_UHCI_HCD=y
1116# CONFIG_USB_SL811_HCD is not set 1128# CONFIG_USB_SL811_HCD is not set
@@ -1238,6 +1250,7 @@ CONFIG_RTC_DRV_DS1307=y
1238# CONFIG_RTC_DRV_R9701 is not set 1250# CONFIG_RTC_DRV_R9701 is not set
1239# CONFIG_RTC_DRV_RS5C348 is not set 1251# CONFIG_RTC_DRV_RS5C348 is not set
1240# CONFIG_RTC_DRV_DS3234 is not set 1252# CONFIG_RTC_DRV_DS3234 is not set
1253# CONFIG_RTC_DRV_PCF2123 is not set
1241 1254
1242# 1255#
1243# Platform RTC drivers 1256# Platform RTC drivers
@@ -1288,6 +1301,7 @@ CONFIG_FS_MBCACHE=y
1288# CONFIG_GFS2_FS is not set 1301# CONFIG_GFS2_FS is not set
1289# CONFIG_OCFS2_FS is not set 1302# CONFIG_OCFS2_FS is not set
1290# CONFIG_BTRFS_FS is not set 1303# CONFIG_BTRFS_FS is not set
1304# CONFIG_NILFS2_FS is not set
1291CONFIG_FILE_LOCKING=y 1305CONFIG_FILE_LOCKING=y
1292CONFIG_FSNOTIFY=y 1306CONFIG_FSNOTIFY=y
1293CONFIG_DNOTIFY=y 1307CONFIG_DNOTIFY=y
@@ -1350,7 +1364,6 @@ CONFIG_MISC_FILESYSTEMS=y
1350# CONFIG_ROMFS_FS is not set 1364# CONFIG_ROMFS_FS is not set
1351# CONFIG_SYSV_FS is not set 1365# CONFIG_SYSV_FS is not set
1352# CONFIG_UFS_FS is not set 1366# CONFIG_UFS_FS is not set
1353# CONFIG_NILFS2_FS is not set
1354CONFIG_NETWORK_FILESYSTEMS=y 1367CONFIG_NETWORK_FILESYSTEMS=y
1355CONFIG_NFS_FS=y 1368CONFIG_NFS_FS=y
1356CONFIG_NFS_V3=y 1369CONFIG_NFS_V3=y
@@ -1465,6 +1478,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1465CONFIG_ENABLE_MUST_CHECK=y 1478CONFIG_ENABLE_MUST_CHECK=y
1466CONFIG_FRAME_WARN=1024 1479CONFIG_FRAME_WARN=1024
1467# CONFIG_MAGIC_SYSRQ is not set 1480# CONFIG_MAGIC_SYSRQ is not set
1481# CONFIG_STRIP_ASM_SYMS is not set
1468# CONFIG_UNUSED_SYMBOLS is not set 1482# CONFIG_UNUSED_SYMBOLS is not set
1469# CONFIG_DEBUG_FS is not set 1483# CONFIG_DEBUG_FS is not set
1470# CONFIG_HEADERS_CHECK is not set 1484# CONFIG_HEADERS_CHECK is not set
@@ -1482,6 +1496,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1482CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1496CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1483CONFIG_TRACING_SUPPORT=y 1497CONFIG_TRACING_SUPPORT=y
1484# CONFIG_FTRACE is not set 1498# CONFIG_FTRACE is not set
1499# CONFIG_DMA_API_DEBUG is not set
1485# CONFIG_SAMPLES is not set 1500# CONFIG_SAMPLES is not set
1486CONFIG_HAVE_ARCH_KGDB=y 1501CONFIG_HAVE_ARCH_KGDB=y
1487# CONFIG_PPC_DISABLE_WERROR is not set 1502# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1503,7 +1518,6 @@ CONFIG_CRYPTO=y
1503# 1518#
1504# Crypto core or helper 1519# Crypto core or helper
1505# 1520#
1506# CONFIG_CRYPTO_FIPS is not set
1507CONFIG_CRYPTO_ALGAPI=y 1521CONFIG_CRYPTO_ALGAPI=y
1508CONFIG_CRYPTO_ALGAPI2=y 1522CONFIG_CRYPTO_ALGAPI2=y
1509CONFIG_CRYPTO_AEAD2=y 1523CONFIG_CRYPTO_AEAD2=y
@@ -1545,11 +1559,13 @@ CONFIG_CRYPTO_PCBC=m
1545# 1559#
1546# CONFIG_CRYPTO_HMAC is not set 1560# CONFIG_CRYPTO_HMAC is not set
1547# CONFIG_CRYPTO_XCBC is not set 1561# CONFIG_CRYPTO_XCBC is not set
1562# CONFIG_CRYPTO_VMAC is not set
1548 1563
1549# 1564#
1550# Digest 1565# Digest
1551# 1566#
1552# CONFIG_CRYPTO_CRC32C is not set 1567# CONFIG_CRYPTO_CRC32C is not set
1568# CONFIG_CRYPTO_GHASH is not set
1553# CONFIG_CRYPTO_MD4 is not set 1569# CONFIG_CRYPTO_MD4 is not set
1554CONFIG_CRYPTO_MD5=y 1570CONFIG_CRYPTO_MD5=y
1555# CONFIG_CRYPTO_MICHAEL_MIC is not set 1571# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
index bf6deb831dc3..a668110c10f6 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:08 2009 4# Thu Nov 5 08:20:26 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,28 +126,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
139CONFIG_SLUB=y 141CONFIG_SLUB=y
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 146CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 147CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 148CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 149CONFIG_HAVE_ARCH_TRACEHOOK=y
150CONFIG_HAVE_DMA_ATTRS=y
151CONFIG_HAVE_DMA_API_DEBUG=y
149 152
150# 153#
151# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -256,6 +259,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
256CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -368,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
368# CONFIG_NETFILTER is not set 373# CONFIG_NETFILTER is not set
369# CONFIG_IP_DCCP is not set 374# CONFIG_IP_DCCP is not set
370# CONFIG_IP_SCTP is not set 375# CONFIG_IP_SCTP is not set
376# CONFIG_RDS is not set
371# CONFIG_TIPC is not set 377# CONFIG_TIPC is not set
372# CONFIG_ATM is not set 378# CONFIG_ATM is not set
373# CONFIG_BRIDGE is not set 379# CONFIG_BRIDGE is not set
@@ -397,6 +403,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
397# CONFIG_AF_RXRPC is not set 403# CONFIG_AF_RXRPC is not set
398CONFIG_WIRELESS=y 404CONFIG_WIRELESS=y
399# CONFIG_CFG80211 is not set 405# CONFIG_CFG80211 is not set
406CONFIG_CFG80211_DEFAULT_PS_VALUE=0
400CONFIG_WIRELESS_OLD_REGULATORY=y 407CONFIG_WIRELESS_OLD_REGULATORY=y
401# CONFIG_WIRELESS_EXT is not set 408# CONFIG_WIRELESS_EXT is not set
402# CONFIG_LIB80211 is not set 409# CONFIG_LIB80211 is not set
@@ -404,7 +411,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
404# 411#
405# CFG80211 needs to be enabled for MAC80211 412# CFG80211 needs to be enabled for MAC80211
406# 413#
407CONFIG_MAC80211_DEFAULT_PS_VALUE=0
408# CONFIG_WIMAX is not set 414# CONFIG_WIMAX is not set
409# CONFIG_RFKILL is not set 415# CONFIG_RFKILL is not set
410# CONFIG_NET_9P is not set 416# CONFIG_NET_9P is not set
@@ -417,6 +423,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
417# Generic Driver Options 423# Generic Driver Options
418# 424#
419CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426# CONFIG_DEVTMPFS is not set
420CONFIG_STANDALONE=y 427CONFIG_STANDALONE=y
421CONFIG_PREVENT_FIRMWARE_BUILD=y 428CONFIG_PREVENT_FIRMWARE_BUILD=y
422# CONFIG_FW_LOADER is not set 429# CONFIG_FW_LOADER is not set
@@ -424,9 +431,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
424# CONFIG_CONNECTOR is not set 431# CONFIG_CONNECTOR is not set
425CONFIG_MTD=y 432CONFIG_MTD=y
426# CONFIG_MTD_DEBUG is not set 433# CONFIG_MTD_DEBUG is not set
434# CONFIG_MTD_TESTS is not set
427# CONFIG_MTD_CONCAT is not set 435# CONFIG_MTD_CONCAT is not set
428# CONFIG_MTD_PARTITIONS is not set 436# CONFIG_MTD_PARTITIONS is not set
429# CONFIG_MTD_TESTS is not set
430 437
431# 438#
432# User Modules And Translation Layers 439# User Modules And Translation Layers
@@ -483,6 +490,7 @@ CONFIG_MTD_PHYSMAP=y
483# CONFIG_MTD_PMC551 is not set 490# CONFIG_MTD_PMC551 is not set
484# CONFIG_MTD_DATAFLASH is not set 491# CONFIG_MTD_DATAFLASH is not set
485# CONFIG_MTD_M25P80 is not set 492# CONFIG_MTD_M25P80 is not set
493# CONFIG_MTD_SST25L is not set
486# CONFIG_MTD_SLRAM is not set 494# CONFIG_MTD_SLRAM is not set
487# CONFIG_MTD_PHRAM is not set 495# CONFIG_MTD_PHRAM is not set
488# CONFIG_MTD_MTDRAM is not set 496# CONFIG_MTD_MTDRAM is not set
@@ -589,6 +597,7 @@ CONFIG_SCSI_LOWLEVEL=y
589# CONFIG_ISCSI_TCP is not set 597# CONFIG_ISCSI_TCP is not set
590# CONFIG_SCSI_CXGB3_ISCSI is not set 598# CONFIG_SCSI_CXGB3_ISCSI is not set
591# CONFIG_SCSI_BNX2_ISCSI is not set 599# CONFIG_SCSI_BNX2_ISCSI is not set
600# CONFIG_BE2ISCSI is not set
592# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 601# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
593# CONFIG_SCSI_3W_9XXX is not set 602# CONFIG_SCSI_3W_9XXX is not set
594# CONFIG_SCSI_ACARD is not set 603# CONFIG_SCSI_ACARD is not set
@@ -627,7 +636,9 @@ CONFIG_SCSI_LOWLEVEL=y
627# CONFIG_SCSI_DC390T is not set 636# CONFIG_SCSI_DC390T is not set
628# CONFIG_SCSI_NSP32 is not set 637# CONFIG_SCSI_NSP32 is not set
629# CONFIG_SCSI_DEBUG is not set 638# CONFIG_SCSI_DEBUG is not set
639# CONFIG_SCSI_PMCRAID is not set
630# CONFIG_SCSI_SRP is not set 640# CONFIG_SCSI_SRP is not set
641# CONFIG_SCSI_BFA_FC is not set
631# CONFIG_SCSI_DH is not set 642# CONFIG_SCSI_DH is not set
632# CONFIG_SCSI_OSD_INITIATOR is not set 643# CONFIG_SCSI_OSD_INITIATOR is not set
633# CONFIG_ATA is not set 644# CONFIG_ATA is not set
@@ -725,10 +736,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
725# CONFIG_SFC is not set 736# CONFIG_SFC is not set
726# CONFIG_BE2NET is not set 737# CONFIG_BE2NET is not set
727# CONFIG_TR is not set 738# CONFIG_TR is not set
728 739CONFIG_WLAN=y
729#
730# Wireless LAN
731#
732# CONFIG_WLAN_PRE80211 is not set 740# CONFIG_WLAN_PRE80211 is not set
733# CONFIG_WLAN_80211 is not set 741# CONFIG_WLAN_80211 is not set
734 742
@@ -810,6 +818,7 @@ CONFIG_HW_RANDOM=y
810CONFIG_DEVPORT=y 818CONFIG_DEVPORT=y
811CONFIG_I2C=y 819CONFIG_I2C=y
812CONFIG_I2C_BOARDINFO=y 820CONFIG_I2C_BOARDINFO=y
821CONFIG_I2C_COMPAT=y
813CONFIG_I2C_CHARDEV=y 822CONFIG_I2C_CHARDEV=y
814CONFIG_I2C_HELPER_AUTO=y 823CONFIG_I2C_HELPER_AUTO=y
815 824
@@ -864,9 +873,6 @@ CONFIG_I2C_MPC=y
864# Miscellaneous I2C Chip support 873# Miscellaneous I2C Chip support
865# 874#
866# CONFIG_DS1682 is not set 875# CONFIG_DS1682 is not set
867CONFIG_SENSORS_PCF8574=y
868# CONFIG_PCF8575 is not set
869# CONFIG_SENSORS_PCA9539 is not set
870# CONFIG_SENSORS_TSL2550 is not set 876# CONFIG_SENSORS_TSL2550 is not set
871# CONFIG_I2C_DEBUG_CORE is not set 877# CONFIG_I2C_DEBUG_CORE is not set
872# CONFIG_I2C_DEBUG_ALGO is not set 878# CONFIG_I2C_DEBUG_ALGO is not set
@@ -897,7 +903,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
897# CONFIG_POWER_SUPPLY is not set 903# CONFIG_POWER_SUPPLY is not set
898# CONFIG_HWMON is not set 904# CONFIG_HWMON is not set
899# CONFIG_THERMAL is not set 905# CONFIG_THERMAL is not set
900# CONFIG_THERMAL_HWMON is not set
901CONFIG_WATCHDOG=y 906CONFIG_WATCHDOG=y
902# CONFIG_WATCHDOG_NOWAYOUT is not set 907# CONFIG_WATCHDOG_NOWAYOUT is not set
903 908
@@ -935,8 +940,10 @@ CONFIG_SSB_POSSIBLE=y
935# CONFIG_MFD_TMIO is not set 940# CONFIG_MFD_TMIO is not set
936# CONFIG_PMIC_DA903X is not set 941# CONFIG_PMIC_DA903X is not set
937# CONFIG_MFD_WM8400 is not set 942# CONFIG_MFD_WM8400 is not set
943# CONFIG_MFD_WM831X is not set
938# CONFIG_MFD_WM8350_I2C is not set 944# CONFIG_MFD_WM8350_I2C is not set
939# CONFIG_MFD_PCF50633 is not set 945# CONFIG_MFD_PCF50633 is not set
946# CONFIG_MFD_MC13783 is not set
940# CONFIG_AB3100_CORE is not set 947# CONFIG_AB3100_CORE is not set
941# CONFIG_EZX_PCAP is not set 948# CONFIG_EZX_PCAP is not set
942# CONFIG_REGULATOR is not set 949# CONFIG_REGULATOR is not set
@@ -946,6 +953,7 @@ CONFIG_SSB_POSSIBLE=y
946# Graphics support 953# Graphics support
947# 954#
948# CONFIG_AGP is not set 955# CONFIG_AGP is not set
956CONFIG_VGA_ARB=y
949# CONFIG_DRM is not set 957# CONFIG_DRM is not set
950# CONFIG_VGASTATE is not set 958# CONFIG_VGASTATE is not set
951CONFIG_VIDEO_OUTPUT_CONTROL=m 959CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -991,6 +999,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
991# CONFIG_USB_OXU210HP_HCD is not set 999# CONFIG_USB_OXU210HP_HCD is not set
992# CONFIG_USB_ISP116X_HCD is not set 1000# CONFIG_USB_ISP116X_HCD is not set
993# CONFIG_USB_ISP1760_HCD is not set 1001# CONFIG_USB_ISP1760_HCD is not set
1002# CONFIG_USB_ISP1362_HCD is not set
994# CONFIG_USB_OHCI_HCD is not set 1003# CONFIG_USB_OHCI_HCD is not set
995CONFIG_USB_UHCI_HCD=y 1004CONFIG_USB_UHCI_HCD=y
996# CONFIG_USB_SL811_HCD is not set 1005# CONFIG_USB_SL811_HCD is not set
@@ -1059,6 +1068,7 @@ CONFIG_USB_STORAGE=y
1059# CONFIG_USB_LD is not set 1068# CONFIG_USB_LD is not set
1060# CONFIG_USB_TRANCEVIBRATOR is not set 1069# CONFIG_USB_TRANCEVIBRATOR is not set
1061# CONFIG_USB_IOWARRIOR is not set 1070# CONFIG_USB_IOWARRIOR is not set
1071# CONFIG_USB_TEST is not set
1062# CONFIG_USB_ISIGHTFW is not set 1072# CONFIG_USB_ISIGHTFW is not set
1063# CONFIG_USB_VST is not set 1073# CONFIG_USB_VST is not set
1064# CONFIG_USB_GADGET is not set 1074# CONFIG_USB_GADGET is not set
@@ -1117,6 +1127,7 @@ CONFIG_RTC_DRV_DS1307=y
1117# CONFIG_RTC_DRV_R9701 is not set 1127# CONFIG_RTC_DRV_R9701 is not set
1118# CONFIG_RTC_DRV_RS5C348 is not set 1128# CONFIG_RTC_DRV_RS5C348 is not set
1119# CONFIG_RTC_DRV_DS3234 is not set 1129# CONFIG_RTC_DRV_DS3234 is not set
1130# CONFIG_RTC_DRV_PCF2123 is not set
1120 1131
1121# 1132#
1122# Platform RTC drivers 1133# Platform RTC drivers
@@ -1167,6 +1178,7 @@ CONFIG_FS_MBCACHE=y
1167# CONFIG_GFS2_FS is not set 1178# CONFIG_GFS2_FS is not set
1168# CONFIG_OCFS2_FS is not set 1179# CONFIG_OCFS2_FS is not set
1169# CONFIG_BTRFS_FS is not set 1180# CONFIG_BTRFS_FS is not set
1181# CONFIG_NILFS2_FS is not set
1170CONFIG_FILE_LOCKING=y 1182CONFIG_FILE_LOCKING=y
1171CONFIG_FSNOTIFY=y 1183CONFIG_FSNOTIFY=y
1172CONFIG_DNOTIFY=y 1184CONFIG_DNOTIFY=y
@@ -1229,7 +1241,6 @@ CONFIG_MISC_FILESYSTEMS=y
1229# CONFIG_ROMFS_FS is not set 1241# CONFIG_ROMFS_FS is not set
1230# CONFIG_SYSV_FS is not set 1242# CONFIG_SYSV_FS is not set
1231# CONFIG_UFS_FS is not set 1243# CONFIG_UFS_FS is not set
1232# CONFIG_NILFS2_FS is not set
1233CONFIG_NETWORK_FILESYSTEMS=y 1244CONFIG_NETWORK_FILESYSTEMS=y
1234CONFIG_NFS_FS=y 1245CONFIG_NFS_FS=y
1235CONFIG_NFS_V3=y 1246CONFIG_NFS_V3=y
@@ -1344,6 +1355,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1344CONFIG_ENABLE_MUST_CHECK=y 1355CONFIG_ENABLE_MUST_CHECK=y
1345CONFIG_FRAME_WARN=1024 1356CONFIG_FRAME_WARN=1024
1346# CONFIG_MAGIC_SYSRQ is not set 1357# CONFIG_MAGIC_SYSRQ is not set
1358# CONFIG_STRIP_ASM_SYMS is not set
1347# CONFIG_UNUSED_SYMBOLS is not set 1359# CONFIG_UNUSED_SYMBOLS is not set
1348# CONFIG_DEBUG_FS is not set 1360# CONFIG_DEBUG_FS is not set
1349# CONFIG_HEADERS_CHECK is not set 1361# CONFIG_HEADERS_CHECK is not set
@@ -1361,6 +1373,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1361CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1373CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1362CONFIG_TRACING_SUPPORT=y 1374CONFIG_TRACING_SUPPORT=y
1363# CONFIG_FTRACE is not set 1375# CONFIG_FTRACE is not set
1376# CONFIG_DMA_API_DEBUG is not set
1364# CONFIG_SAMPLES is not set 1377# CONFIG_SAMPLES is not set
1365CONFIG_HAVE_ARCH_KGDB=y 1378CONFIG_HAVE_ARCH_KGDB=y
1366# CONFIG_PPC_DISABLE_WERROR is not set 1379# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1382,7 +1395,6 @@ CONFIG_CRYPTO=y
1382# 1395#
1383# Crypto core or helper 1396# Crypto core or helper
1384# 1397#
1385# CONFIG_CRYPTO_FIPS is not set
1386CONFIG_CRYPTO_ALGAPI=y 1398CONFIG_CRYPTO_ALGAPI=y
1387CONFIG_CRYPTO_ALGAPI2=y 1399CONFIG_CRYPTO_ALGAPI2=y
1388CONFIG_CRYPTO_AEAD2=y 1400CONFIG_CRYPTO_AEAD2=y
@@ -1424,11 +1436,13 @@ CONFIG_CRYPTO_PCBC=m
1424# 1436#
1425# CONFIG_CRYPTO_HMAC is not set 1437# CONFIG_CRYPTO_HMAC is not set
1426# CONFIG_CRYPTO_XCBC is not set 1438# CONFIG_CRYPTO_XCBC is not set
1439# CONFIG_CRYPTO_VMAC is not set
1427 1440
1428# 1441#
1429# Digest 1442# Digest
1430# 1443#
1431# CONFIG_CRYPTO_CRC32C is not set 1444# CONFIG_CRYPTO_CRC32C is not set
1445# CONFIG_CRYPTO_GHASH is not set
1432# CONFIG_CRYPTO_MD4 is not set 1446# CONFIG_CRYPTO_MD4 is not set
1433CONFIG_CRYPTO_MD5=y 1447CONFIG_CRYPTO_MD5=y
1434# CONFIG_CRYPTO_MICHAEL_MIC is not set 1448# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
index 3236c47712c2..c4e92ba5c38b 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:09 2009 4# Thu Nov 5 08:20:27 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,28 +126,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
139CONFIG_SLUB=y 141CONFIG_SLUB=y
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 146CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 147CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 148CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 149CONFIG_HAVE_ARCH_TRACEHOOK=y
150CONFIG_HAVE_DMA_ATTRS=y
151CONFIG_HAVE_DMA_API_DEBUG=y
149 152
150# 153#
151# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -256,6 +259,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
256CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -368,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
368# CONFIG_NETFILTER is not set 373# CONFIG_NETFILTER is not set
369# CONFIG_IP_DCCP is not set 374# CONFIG_IP_DCCP is not set
370# CONFIG_IP_SCTP is not set 375# CONFIG_IP_SCTP is not set
376# CONFIG_RDS is not set
371# CONFIG_TIPC is not set 377# CONFIG_TIPC is not set
372# CONFIG_ATM is not set 378# CONFIG_ATM is not set
373# CONFIG_BRIDGE is not set 379# CONFIG_BRIDGE is not set
@@ -397,6 +403,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
397# CONFIG_AF_RXRPC is not set 403# CONFIG_AF_RXRPC is not set
398CONFIG_WIRELESS=y 404CONFIG_WIRELESS=y
399# CONFIG_CFG80211 is not set 405# CONFIG_CFG80211 is not set
406CONFIG_CFG80211_DEFAULT_PS_VALUE=0
400CONFIG_WIRELESS_OLD_REGULATORY=y 407CONFIG_WIRELESS_OLD_REGULATORY=y
401# CONFIG_WIRELESS_EXT is not set 408# CONFIG_WIRELESS_EXT is not set
402# CONFIG_LIB80211 is not set 409# CONFIG_LIB80211 is not set
@@ -404,7 +411,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
404# 411#
405# CFG80211 needs to be enabled for MAC80211 412# CFG80211 needs to be enabled for MAC80211
406# 413#
407CONFIG_MAC80211_DEFAULT_PS_VALUE=0
408# CONFIG_WIMAX is not set 414# CONFIG_WIMAX is not set
409# CONFIG_RFKILL is not set 415# CONFIG_RFKILL is not set
410# CONFIG_NET_9P is not set 416# CONFIG_NET_9P is not set
@@ -417,6 +423,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
417# Generic Driver Options 423# Generic Driver Options
418# 424#
419CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426# CONFIG_DEVTMPFS is not set
420CONFIG_STANDALONE=y 427CONFIG_STANDALONE=y
421CONFIG_PREVENT_FIRMWARE_BUILD=y 428CONFIG_PREVENT_FIRMWARE_BUILD=y
422# CONFIG_FW_LOADER is not set 429# CONFIG_FW_LOADER is not set
@@ -556,9 +563,11 @@ CONFIG_E100=y
556# CONFIG_SUNDANCE is not set 563# CONFIG_SUNDANCE is not set
557# CONFIG_TLAN is not set 564# CONFIG_TLAN is not set
558# CONFIG_KS8842 is not set 565# CONFIG_KS8842 is not set
566# CONFIG_KS8851_MLL is not set
559# CONFIG_VIA_RHINE is not set 567# CONFIG_VIA_RHINE is not set
560# CONFIG_SC92031 is not set 568# CONFIG_SC92031 is not set
561# CONFIG_ATL2 is not set 569# CONFIG_ATL2 is not set
570# CONFIG_XILINX_EMACLITE is not set
562CONFIG_NETDEV_1000=y 571CONFIG_NETDEV_1000=y
563# CONFIG_ACENIC is not set 572# CONFIG_ACENIC is not set
564# CONFIG_DL2K is not set 573# CONFIG_DL2K is not set
@@ -606,10 +615,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
606# CONFIG_SFC is not set 615# CONFIG_SFC is not set
607# CONFIG_BE2NET is not set 616# CONFIG_BE2NET is not set
608# CONFIG_TR is not set 617# CONFIG_TR is not set
609 618CONFIG_WLAN=y
610#
611# Wireless LAN
612#
613# CONFIG_WLAN_PRE80211 is not set 619# CONFIG_WLAN_PRE80211 is not set
614# CONFIG_WLAN_80211 is not set 620# CONFIG_WLAN_80211 is not set
615 621
@@ -699,6 +705,7 @@ CONFIG_LEGACY_PTY_COUNT=256
699CONFIG_DEVPORT=y 705CONFIG_DEVPORT=y
700CONFIG_I2C=y 706CONFIG_I2C=y
701CONFIG_I2C_BOARDINFO=y 707CONFIG_I2C_BOARDINFO=y
708CONFIG_I2C_COMPAT=y
702CONFIG_I2C_CHARDEV=y 709CONFIG_I2C_CHARDEV=y
703CONFIG_I2C_HELPER_AUTO=y 710CONFIG_I2C_HELPER_AUTO=y
704 711
@@ -752,9 +759,6 @@ CONFIG_I2C_MPC=y
752# Miscellaneous I2C Chip support 759# Miscellaneous I2C Chip support
753# 760#
754# CONFIG_DS1682 is not set 761# CONFIG_DS1682 is not set
755# CONFIG_SENSORS_PCF8574 is not set
756# CONFIG_PCF8575 is not set
757# CONFIG_SENSORS_PCA9539 is not set
758# CONFIG_SENSORS_TSL2550 is not set 762# CONFIG_SENSORS_TSL2550 is not set
759# CONFIG_I2C_DEBUG_CORE is not set 763# CONFIG_I2C_DEBUG_CORE is not set
760# CONFIG_I2C_DEBUG_ALGO is not set 764# CONFIG_I2C_DEBUG_ALGO is not set
@@ -772,6 +776,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
772# CONFIG_POWER_SUPPLY is not set 776# CONFIG_POWER_SUPPLY is not set
773CONFIG_HWMON=y 777CONFIG_HWMON=y
774# CONFIG_HWMON_VID is not set 778# CONFIG_HWMON_VID is not set
779# CONFIG_HWMON_DEBUG_CHIP is not set
780
781#
782# Native drivers
783#
775# CONFIG_SENSORS_AD7414 is not set 784# CONFIG_SENSORS_AD7414 is not set
776# CONFIG_SENSORS_AD7418 is not set 785# CONFIG_SENSORS_AD7418 is not set
777# CONFIG_SENSORS_ADM1021 is not set 786# CONFIG_SENSORS_ADM1021 is not set
@@ -821,6 +830,7 @@ CONFIG_HWMON=y
821# CONFIG_SENSORS_ADS7828 is not set 830# CONFIG_SENSORS_ADS7828 is not set
822# CONFIG_SENSORS_THMC50 is not set 831# CONFIG_SENSORS_THMC50 is not set
823# CONFIG_SENSORS_TMP401 is not set 832# CONFIG_SENSORS_TMP401 is not set
833# CONFIG_SENSORS_TMP421 is not set
824# CONFIG_SENSORS_VIA686A is not set 834# CONFIG_SENSORS_VIA686A is not set
825# CONFIG_SENSORS_VT1211 is not set 835# CONFIG_SENSORS_VT1211 is not set
826# CONFIG_SENSORS_VT8231 is not set 836# CONFIG_SENSORS_VT8231 is not set
@@ -832,9 +842,7 @@ CONFIG_HWMON=y
832# CONFIG_SENSORS_W83L786NG is not set 842# CONFIG_SENSORS_W83L786NG is not set
833# CONFIG_SENSORS_W83627HF is not set 843# CONFIG_SENSORS_W83627HF is not set
834# CONFIG_SENSORS_W83627EHF is not set 844# CONFIG_SENSORS_W83627EHF is not set
835# CONFIG_HWMON_DEBUG_CHIP is not set
836# CONFIG_THERMAL is not set 845# CONFIG_THERMAL is not set
837# CONFIG_THERMAL_HWMON is not set
838CONFIG_WATCHDOG=y 846CONFIG_WATCHDOG=y
839# CONFIG_WATCHDOG_NOWAYOUT is not set 847# CONFIG_WATCHDOG_NOWAYOUT is not set
840 848
@@ -867,6 +875,7 @@ CONFIG_SSB_POSSIBLE=y
867# CONFIG_MFD_TMIO is not set 875# CONFIG_MFD_TMIO is not set
868# CONFIG_PMIC_DA903X is not set 876# CONFIG_PMIC_DA903X is not set
869# CONFIG_MFD_WM8400 is not set 877# CONFIG_MFD_WM8400 is not set
878# CONFIG_MFD_WM831X is not set
870# CONFIG_MFD_WM8350_I2C is not set 879# CONFIG_MFD_WM8350_I2C is not set
871# CONFIG_MFD_PCF50633 is not set 880# CONFIG_MFD_PCF50633 is not set
872# CONFIG_AB3100_CORE is not set 881# CONFIG_AB3100_CORE is not set
@@ -877,6 +886,7 @@ CONFIG_SSB_POSSIBLE=y
877# Graphics support 886# Graphics support
878# 887#
879# CONFIG_AGP is not set 888# CONFIG_AGP is not set
889CONFIG_VGA_ARB=y
880# CONFIG_DRM is not set 890# CONFIG_DRM is not set
881# CONFIG_VGASTATE is not set 891# CONFIG_VGASTATE is not set
882CONFIG_VIDEO_OUTPUT_CONTROL=m 892CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -890,7 +900,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
890# CONFIG_SOUND is not set 900# CONFIG_SOUND is not set
891CONFIG_HID_SUPPORT=y 901CONFIG_HID_SUPPORT=y
892CONFIG_HID=y 902CONFIG_HID=y
893# CONFIG_HID_DEBUG is not set
894# CONFIG_HIDRAW is not set 903# CONFIG_HIDRAW is not set
895# CONFIG_HID_PID is not set 904# CONFIG_HID_PID is not set
896 905
@@ -1010,6 +1019,7 @@ CONFIG_FS_MBCACHE=y
1010# CONFIG_GFS2_FS is not set 1019# CONFIG_GFS2_FS is not set
1011# CONFIG_OCFS2_FS is not set 1020# CONFIG_OCFS2_FS is not set
1012# CONFIG_BTRFS_FS is not set 1021# CONFIG_BTRFS_FS is not set
1022# CONFIG_NILFS2_FS is not set
1013CONFIG_FILE_LOCKING=y 1023CONFIG_FILE_LOCKING=y
1014CONFIG_FSNOTIFY=y 1024CONFIG_FSNOTIFY=y
1015CONFIG_DNOTIFY=y 1025CONFIG_DNOTIFY=y
@@ -1068,7 +1078,6 @@ CONFIG_MISC_FILESYSTEMS=y
1068# CONFIG_ROMFS_FS is not set 1078# CONFIG_ROMFS_FS is not set
1069# CONFIG_SYSV_FS is not set 1079# CONFIG_SYSV_FS is not set
1070# CONFIG_UFS_FS is not set 1080# CONFIG_UFS_FS is not set
1071# CONFIG_NILFS2_FS is not set
1072CONFIG_NETWORK_FILESYSTEMS=y 1081CONFIG_NETWORK_FILESYSTEMS=y
1073CONFIG_NFS_FS=y 1082CONFIG_NFS_FS=y
1074CONFIG_NFS_V3=y 1083CONFIG_NFS_V3=y
@@ -1140,6 +1149,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1140CONFIG_ENABLE_MUST_CHECK=y 1149CONFIG_ENABLE_MUST_CHECK=y
1141CONFIG_FRAME_WARN=1024 1150CONFIG_FRAME_WARN=1024
1142# CONFIG_MAGIC_SYSRQ is not set 1151# CONFIG_MAGIC_SYSRQ is not set
1152# CONFIG_STRIP_ASM_SYMS is not set
1143# CONFIG_UNUSED_SYMBOLS is not set 1153# CONFIG_UNUSED_SYMBOLS is not set
1144# CONFIG_DEBUG_FS is not set 1154# CONFIG_DEBUG_FS is not set
1145# CONFIG_HEADERS_CHECK is not set 1155# CONFIG_HEADERS_CHECK is not set
@@ -1157,6 +1167,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1157CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1167CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1158CONFIG_TRACING_SUPPORT=y 1168CONFIG_TRACING_SUPPORT=y
1159# CONFIG_FTRACE is not set 1169# CONFIG_FTRACE is not set
1170# CONFIG_DMA_API_DEBUG is not set
1160# CONFIG_SAMPLES is not set 1171# CONFIG_SAMPLES is not set
1161CONFIG_HAVE_ARCH_KGDB=y 1172CONFIG_HAVE_ARCH_KGDB=y
1162# CONFIG_PPC_DISABLE_WERROR is not set 1173# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1178,7 +1189,6 @@ CONFIG_CRYPTO=y
1178# 1189#
1179# Crypto core or helper 1190# Crypto core or helper
1180# 1191#
1181# CONFIG_CRYPTO_FIPS is not set
1182CONFIG_CRYPTO_ALGAPI=y 1192CONFIG_CRYPTO_ALGAPI=y
1183CONFIG_CRYPTO_ALGAPI2=y 1193CONFIG_CRYPTO_ALGAPI2=y
1184CONFIG_CRYPTO_AEAD2=y 1194CONFIG_CRYPTO_AEAD2=y
@@ -1220,11 +1230,13 @@ CONFIG_CRYPTO_PCBC=m
1220# 1230#
1221# CONFIG_CRYPTO_HMAC is not set 1231# CONFIG_CRYPTO_HMAC is not set
1222# CONFIG_CRYPTO_XCBC is not set 1232# CONFIG_CRYPTO_XCBC is not set
1233# CONFIG_CRYPTO_VMAC is not set
1223 1234
1224# 1235#
1225# Digest 1236# Digest
1226# 1237#
1227# CONFIG_CRYPTO_CRC32C is not set 1238# CONFIG_CRYPTO_CRC32C is not set
1239# CONFIG_CRYPTO_GHASH is not set
1228# CONFIG_CRYPTO_MD4 is not set 1240# CONFIG_CRYPTO_MD4 is not set
1229CONFIG_CRYPTO_MD5=y 1241CONFIG_CRYPTO_MD5=y
1230# CONFIG_CRYPTO_MICHAEL_MIC is not set 1242# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
index 8c5299d74813..4f434b1492fa 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:10 2009 4# Thu Nov 5 08:20:28 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,28 +126,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
139CONFIG_SLUB=y 141CONFIG_SLUB=y
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 146CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 147CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 148CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 149CONFIG_HAVE_ARCH_TRACEHOOK=y
150CONFIG_HAVE_DMA_ATTRS=y
151CONFIG_HAVE_DMA_API_DEBUG=y
149 152
150# 153#
151# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -255,6 +258,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
255CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 258CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
256# CONFIG_KEXEC is not set 259# CONFIG_KEXEC is not set
257# CONFIG_CRASH_DUMP is not set 260# CONFIG_CRASH_DUMP is not set
261CONFIG_MAX_ACTIVE_REGIONS=32
258CONFIG_ARCH_FLATMEM_ENABLE=y 262CONFIG_ARCH_FLATMEM_ENABLE=y
259CONFIG_ARCH_POPULATES_NODE_MAP=y 263CONFIG_ARCH_POPULATES_NODE_MAP=y
260CONFIG_SELECT_MEMORY_MODEL=y 264CONFIG_SELECT_MEMORY_MODEL=y
@@ -272,6 +276,7 @@ CONFIG_BOUNCE=y
272CONFIG_VIRT_TO_BUS=y 276CONFIG_VIRT_TO_BUS=y
273CONFIG_HAVE_MLOCK=y 277CONFIG_HAVE_MLOCK=y
274CONFIG_HAVE_MLOCKED_PAGE_BIT=y 278CONFIG_HAVE_MLOCKED_PAGE_BIT=y
279# CONFIG_KSM is not set
275CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 280CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
276CONFIG_PPC_4K_PAGES=y 281CONFIG_PPC_4K_PAGES=y
277# CONFIG_PPC_16K_PAGES is not set 282# CONFIG_PPC_16K_PAGES is not set
@@ -367,6 +372,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
367# CONFIG_NETFILTER is not set 372# CONFIG_NETFILTER is not set
368# CONFIG_IP_DCCP is not set 373# CONFIG_IP_DCCP is not set
369# CONFIG_IP_SCTP is not set 374# CONFIG_IP_SCTP is not set
375# CONFIG_RDS is not set
370# CONFIG_TIPC is not set 376# CONFIG_TIPC is not set
371# CONFIG_ATM is not set 377# CONFIG_ATM is not set
372# CONFIG_BRIDGE is not set 378# CONFIG_BRIDGE is not set
@@ -396,6 +402,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
396# CONFIG_AF_RXRPC is not set 402# CONFIG_AF_RXRPC is not set
397CONFIG_WIRELESS=y 403CONFIG_WIRELESS=y
398# CONFIG_CFG80211 is not set 404# CONFIG_CFG80211 is not set
405CONFIG_CFG80211_DEFAULT_PS_VALUE=0
399CONFIG_WIRELESS_OLD_REGULATORY=y 406CONFIG_WIRELESS_OLD_REGULATORY=y
400# CONFIG_WIRELESS_EXT is not set 407# CONFIG_WIRELESS_EXT is not set
401# CONFIG_LIB80211 is not set 408# CONFIG_LIB80211 is not set
@@ -403,7 +410,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
403# 410#
404# CFG80211 needs to be enabled for MAC80211 411# CFG80211 needs to be enabled for MAC80211
405# 412#
406CONFIG_MAC80211_DEFAULT_PS_VALUE=0
407# CONFIG_WIMAX is not set 413# CONFIG_WIMAX is not set
408# CONFIG_RFKILL is not set 414# CONFIG_RFKILL is not set
409# CONFIG_NET_9P is not set 415# CONFIG_NET_9P is not set
@@ -416,6 +422,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
416# Generic Driver Options 422# Generic Driver Options
417# 423#
418CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 424CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
425# CONFIG_DEVTMPFS is not set
419CONFIG_STANDALONE=y 426CONFIG_STANDALONE=y
420CONFIG_PREVENT_FIRMWARE_BUILD=y 427CONFIG_PREVENT_FIRMWARE_BUILD=y
421# CONFIG_FW_LOADER is not set 428# CONFIG_FW_LOADER is not set
@@ -423,9 +430,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
423# CONFIG_CONNECTOR is not set 430# CONFIG_CONNECTOR is not set
424CONFIG_MTD=y 431CONFIG_MTD=y
425# CONFIG_MTD_DEBUG is not set 432# CONFIG_MTD_DEBUG is not set
433# CONFIG_MTD_TESTS is not set
426# CONFIG_MTD_CONCAT is not set 434# CONFIG_MTD_CONCAT is not set
427CONFIG_MTD_PARTITIONS=y 435CONFIG_MTD_PARTITIONS=y
428# CONFIG_MTD_TESTS is not set
429# CONFIG_MTD_REDBOOT_PARTS is not set 436# CONFIG_MTD_REDBOOT_PARTS is not set
430CONFIG_MTD_CMDLINE_PARTS=y 437CONFIG_MTD_CMDLINE_PARTS=y
431# CONFIG_MTD_OF_PARTS is not set 438# CONFIG_MTD_OF_PARTS is not set
@@ -585,6 +592,7 @@ CONFIG_SCSI_LOWLEVEL=y
585# CONFIG_ISCSI_TCP is not set 592# CONFIG_ISCSI_TCP is not set
586# CONFIG_SCSI_CXGB3_ISCSI is not set 593# CONFIG_SCSI_CXGB3_ISCSI is not set
587# CONFIG_SCSI_BNX2_ISCSI is not set 594# CONFIG_SCSI_BNX2_ISCSI is not set
595# CONFIG_BE2ISCSI is not set
588# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 596# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
589# CONFIG_SCSI_3W_9XXX is not set 597# CONFIG_SCSI_3W_9XXX is not set
590# CONFIG_SCSI_ACARD is not set 598# CONFIG_SCSI_ACARD is not set
@@ -623,7 +631,9 @@ CONFIG_SCSI_LOWLEVEL=y
623# CONFIG_SCSI_DC390T is not set 631# CONFIG_SCSI_DC390T is not set
624# CONFIG_SCSI_NSP32 is not set 632# CONFIG_SCSI_NSP32 is not set
625# CONFIG_SCSI_DEBUG is not set 633# CONFIG_SCSI_DEBUG is not set
634# CONFIG_SCSI_PMCRAID is not set
626# CONFIG_SCSI_SRP is not set 635# CONFIG_SCSI_SRP is not set
636# CONFIG_SCSI_BFA_FC is not set
627# CONFIG_SCSI_DH is not set 637# CONFIG_SCSI_DH is not set
628# CONFIG_SCSI_OSD_INITIATOR is not set 638# CONFIG_SCSI_OSD_INITIATOR is not set
629# CONFIG_ATA is not set 639# CONFIG_ATA is not set
@@ -693,7 +703,9 @@ CONFIG_MII=y
693# CONFIG_NET_PCI is not set 703# CONFIG_NET_PCI is not set
694# CONFIG_B44 is not set 704# CONFIG_B44 is not set
695# CONFIG_KS8842 is not set 705# CONFIG_KS8842 is not set
706# CONFIG_KS8851_MLL is not set
696# CONFIG_ATL2 is not set 707# CONFIG_ATL2 is not set
708# CONFIG_XILINX_EMACLITE is not set
697CONFIG_NETDEV_1000=y 709CONFIG_NETDEV_1000=y
698# CONFIG_ACENIC is not set 710# CONFIG_ACENIC is not set
699# CONFIG_DL2K is not set 711# CONFIG_DL2K is not set
@@ -716,7 +728,6 @@ CONFIG_NETDEV_1000=y
716CONFIG_FSL_PQ_MDIO=y 728CONFIG_FSL_PQ_MDIO=y
717# CONFIG_GIANFAR is not set 729# CONFIG_GIANFAR is not set
718CONFIG_UCC_GETH=y 730CONFIG_UCC_GETH=y
719# CONFIG_UGETH_MAGIC_PACKET is not set
720# CONFIG_UGETH_TX_ON_DEMAND is not set 731# CONFIG_UGETH_TX_ON_DEMAND is not set
721# CONFIG_MV643XX_ETH is not set 732# CONFIG_MV643XX_ETH is not set
722# CONFIG_QLA3XXX is not set 733# CONFIG_QLA3XXX is not set
@@ -744,10 +755,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
744# CONFIG_SFC is not set 755# CONFIG_SFC is not set
745# CONFIG_BE2NET is not set 756# CONFIG_BE2NET is not set
746# CONFIG_TR is not set 757# CONFIG_TR is not set
747 758CONFIG_WLAN=y
748#
749# Wireless LAN
750#
751# CONFIG_WLAN_PRE80211 is not set 759# CONFIG_WLAN_PRE80211 is not set
752# CONFIG_WLAN_80211 is not set 760# CONFIG_WLAN_80211 is not set
753 761
@@ -840,6 +848,7 @@ CONFIG_HW_RANDOM=y
840CONFIG_DEVPORT=y 848CONFIG_DEVPORT=y
841CONFIG_I2C=y 849CONFIG_I2C=y
842CONFIG_I2C_BOARDINFO=y 850CONFIG_I2C_BOARDINFO=y
851CONFIG_I2C_COMPAT=y
843CONFIG_I2C_CHARDEV=y 852CONFIG_I2C_CHARDEV=y
844CONFIG_I2C_HELPER_AUTO=y 853CONFIG_I2C_HELPER_AUTO=y
845 854
@@ -893,9 +902,6 @@ CONFIG_I2C_MPC=y
893# Miscellaneous I2C Chip support 902# Miscellaneous I2C Chip support
894# 903#
895# CONFIG_DS1682 is not set 904# CONFIG_DS1682 is not set
896# CONFIG_SENSORS_PCF8574 is not set
897# CONFIG_PCF8575 is not set
898# CONFIG_SENSORS_PCA9539 is not set
899# CONFIG_SENSORS_TSL2550 is not set 905# CONFIG_SENSORS_TSL2550 is not set
900# CONFIG_I2C_DEBUG_CORE is not set 906# CONFIG_I2C_DEBUG_CORE is not set
901# CONFIG_I2C_DEBUG_ALGO is not set 907# CONFIG_I2C_DEBUG_ALGO is not set
@@ -913,6 +919,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
913# CONFIG_POWER_SUPPLY is not set 919# CONFIG_POWER_SUPPLY is not set
914CONFIG_HWMON=y 920CONFIG_HWMON=y
915# CONFIG_HWMON_VID is not set 921# CONFIG_HWMON_VID is not set
922# CONFIG_HWMON_DEBUG_CHIP is not set
923
924#
925# Native drivers
926#
916# CONFIG_SENSORS_AD7414 is not set 927# CONFIG_SENSORS_AD7414 is not set
917# CONFIG_SENSORS_AD7418 is not set 928# CONFIG_SENSORS_AD7418 is not set
918# CONFIG_SENSORS_ADM1021 is not set 929# CONFIG_SENSORS_ADM1021 is not set
@@ -962,6 +973,7 @@ CONFIG_HWMON=y
962# CONFIG_SENSORS_ADS7828 is not set 973# CONFIG_SENSORS_ADS7828 is not set
963# CONFIG_SENSORS_THMC50 is not set 974# CONFIG_SENSORS_THMC50 is not set
964# CONFIG_SENSORS_TMP401 is not set 975# CONFIG_SENSORS_TMP401 is not set
976# CONFIG_SENSORS_TMP421 is not set
965# CONFIG_SENSORS_VIA686A is not set 977# CONFIG_SENSORS_VIA686A is not set
966# CONFIG_SENSORS_VT1211 is not set 978# CONFIG_SENSORS_VT1211 is not set
967# CONFIG_SENSORS_VT8231 is not set 979# CONFIG_SENSORS_VT8231 is not set
@@ -973,9 +985,7 @@ CONFIG_HWMON=y
973# CONFIG_SENSORS_W83L786NG is not set 985# CONFIG_SENSORS_W83L786NG is not set
974# CONFIG_SENSORS_W83627HF is not set 986# CONFIG_SENSORS_W83627HF is not set
975# CONFIG_SENSORS_W83627EHF is not set 987# CONFIG_SENSORS_W83627EHF is not set
976# CONFIG_HWMON_DEBUG_CHIP is not set
977# CONFIG_THERMAL is not set 988# CONFIG_THERMAL is not set
978# CONFIG_THERMAL_HWMON is not set
979CONFIG_WATCHDOG=y 989CONFIG_WATCHDOG=y
980# CONFIG_WATCHDOG_NOWAYOUT is not set 990# CONFIG_WATCHDOG_NOWAYOUT is not set
981 991
@@ -1008,6 +1018,7 @@ CONFIG_SSB_POSSIBLE=y
1008# CONFIG_MFD_TMIO is not set 1018# CONFIG_MFD_TMIO is not set
1009# CONFIG_PMIC_DA903X is not set 1019# CONFIG_PMIC_DA903X is not set
1010# CONFIG_MFD_WM8400 is not set 1020# CONFIG_MFD_WM8400 is not set
1021# CONFIG_MFD_WM831X is not set
1011# CONFIG_MFD_WM8350_I2C is not set 1022# CONFIG_MFD_WM8350_I2C is not set
1012# CONFIG_MFD_PCF50633 is not set 1023# CONFIG_MFD_PCF50633 is not set
1013# CONFIG_AB3100_CORE is not set 1024# CONFIG_AB3100_CORE is not set
@@ -1018,6 +1029,7 @@ CONFIG_SSB_POSSIBLE=y
1018# Graphics support 1029# Graphics support
1019# 1030#
1020# CONFIG_AGP is not set 1031# CONFIG_AGP is not set
1032CONFIG_VGA_ARB=y
1021# CONFIG_DRM is not set 1033# CONFIG_DRM is not set
1022# CONFIG_VGASTATE is not set 1034# CONFIG_VGASTATE is not set
1023CONFIG_VIDEO_OUTPUT_CONTROL=m 1035CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1031,7 +1043,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1031# CONFIG_SOUND is not set 1043# CONFIG_SOUND is not set
1032CONFIG_HID_SUPPORT=y 1044CONFIG_HID_SUPPORT=y
1033CONFIG_HID=y 1045CONFIG_HID=y
1034# CONFIG_HID_DEBUG is not set
1035# CONFIG_HIDRAW is not set 1046# CONFIG_HIDRAW is not set
1036# CONFIG_HID_PID is not set 1047# CONFIG_HID_PID is not set
1037 1048
@@ -1151,6 +1162,7 @@ CONFIG_FS_MBCACHE=y
1151# CONFIG_GFS2_FS is not set 1162# CONFIG_GFS2_FS is not set
1152# CONFIG_OCFS2_FS is not set 1163# CONFIG_OCFS2_FS is not set
1153# CONFIG_BTRFS_FS is not set 1164# CONFIG_BTRFS_FS is not set
1165# CONFIG_NILFS2_FS is not set
1154CONFIG_FILE_LOCKING=y 1166CONFIG_FILE_LOCKING=y
1155CONFIG_FSNOTIFY=y 1167CONFIG_FSNOTIFY=y
1156CONFIG_DNOTIFY=y 1168CONFIG_DNOTIFY=y
@@ -1210,7 +1222,6 @@ CONFIG_MISC_FILESYSTEMS=y
1210# CONFIG_ROMFS_FS is not set 1222# CONFIG_ROMFS_FS is not set
1211# CONFIG_SYSV_FS is not set 1223# CONFIG_SYSV_FS is not set
1212# CONFIG_UFS_FS is not set 1224# CONFIG_UFS_FS is not set
1213# CONFIG_NILFS2_FS is not set
1214CONFIG_NETWORK_FILESYSTEMS=y 1225CONFIG_NETWORK_FILESYSTEMS=y
1215CONFIG_NFS_FS=y 1226CONFIG_NFS_FS=y
1216CONFIG_NFS_V3=y 1227CONFIG_NFS_V3=y
@@ -1284,6 +1295,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1284CONFIG_ENABLE_MUST_CHECK=y 1295CONFIG_ENABLE_MUST_CHECK=y
1285CONFIG_FRAME_WARN=1024 1296CONFIG_FRAME_WARN=1024
1286# CONFIG_MAGIC_SYSRQ is not set 1297# CONFIG_MAGIC_SYSRQ is not set
1298# CONFIG_STRIP_ASM_SYMS is not set
1287# CONFIG_UNUSED_SYMBOLS is not set 1299# CONFIG_UNUSED_SYMBOLS is not set
1288# CONFIG_DEBUG_FS is not set 1300# CONFIG_DEBUG_FS is not set
1289# CONFIG_HEADERS_CHECK is not set 1301# CONFIG_HEADERS_CHECK is not set
@@ -1301,6 +1313,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1301CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1313CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1302CONFIG_TRACING_SUPPORT=y 1314CONFIG_TRACING_SUPPORT=y
1303# CONFIG_FTRACE is not set 1315# CONFIG_FTRACE is not set
1316# CONFIG_DMA_API_DEBUG is not set
1304# CONFIG_SAMPLES is not set 1317# CONFIG_SAMPLES is not set
1305CONFIG_HAVE_ARCH_KGDB=y 1318CONFIG_HAVE_ARCH_KGDB=y
1306# CONFIG_PPC_DISABLE_WERROR is not set 1319# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1322,7 +1335,6 @@ CONFIG_CRYPTO=y
1322# 1335#
1323# Crypto core or helper 1336# Crypto core or helper
1324# 1337#
1325# CONFIG_CRYPTO_FIPS is not set
1326CONFIG_CRYPTO_ALGAPI=y 1338CONFIG_CRYPTO_ALGAPI=y
1327CONFIG_CRYPTO_ALGAPI2=y 1339CONFIG_CRYPTO_ALGAPI2=y
1328CONFIG_CRYPTO_AEAD2=y 1340CONFIG_CRYPTO_AEAD2=y
@@ -1364,11 +1376,13 @@ CONFIG_CRYPTO_PCBC=m
1364# 1376#
1365# CONFIG_CRYPTO_HMAC is not set 1377# CONFIG_CRYPTO_HMAC is not set
1366# CONFIG_CRYPTO_XCBC is not set 1378# CONFIG_CRYPTO_XCBC is not set
1379# CONFIG_CRYPTO_VMAC is not set
1367 1380
1368# 1381#
1369# Digest 1382# Digest
1370# 1383#
1371# CONFIG_CRYPTO_CRC32C is not set 1384# CONFIG_CRYPTO_CRC32C is not set
1385# CONFIG_CRYPTO_GHASH is not set
1372# CONFIG_CRYPTO_MD4 is not set 1386# CONFIG_CRYPTO_MD4 is not set
1373CONFIG_CRYPTO_MD5=y 1387CONFIG_CRYPTO_MD5=y
1374# CONFIG_CRYPTO_MICHAEL_MIC is not set 1388# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
index ff31667a890b..b52ec0861679 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:12 2009 4# Thu Nov 5 08:20:30 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
85# 86#
86# RCU Subsystem 87# RCU Subsystem
87# 88#
88CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
95CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -125,28 +127,29 @@ CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 127CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 128CONFIG_SHMEM=y
127CONFIG_AIO=y 129CONFIG_AIO=y
128CONFIG_HAVE_PERF_COUNTERS=y 130CONFIG_HAVE_PERF_EVENTS=y
129 131
130# 132#
131# Performance Counters 133# Kernel Performance Events And Counters
132# 134#
135# CONFIG_PERF_EVENTS is not set
133# CONFIG_PERF_COUNTERS is not set 136# CONFIG_PERF_COUNTERS is not set
134CONFIG_VM_EVENT_COUNTERS=y 137CONFIG_VM_EVENT_COUNTERS=y
135CONFIG_PCI_QUIRKS=y 138CONFIG_PCI_QUIRKS=y
136CONFIG_SLUB_DEBUG=y 139CONFIG_SLUB_DEBUG=y
137# CONFIG_STRIP_ASM_SYMS is not set
138CONFIG_COMPAT_BRK=y 140CONFIG_COMPAT_BRK=y
139# CONFIG_SLAB is not set 141# CONFIG_SLAB is not set
140CONFIG_SLUB=y 142CONFIG_SLUB=y
141# CONFIG_SLOB is not set 143# CONFIG_SLOB is not set
142# CONFIG_PROFILING is not set 144# CONFIG_PROFILING is not set
143# CONFIG_MARKERS is not set
144CONFIG_HAVE_OPROFILE=y 145CONFIG_HAVE_OPROFILE=y
145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
146CONFIG_HAVE_IOREMAP_PROT=y 147CONFIG_HAVE_IOREMAP_PROT=y
147CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
148CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
149CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
150 153
151# 154#
152# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -255,6 +258,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
255CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 258CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
256# CONFIG_KEXEC is not set 259# CONFIG_KEXEC is not set
257# CONFIG_CRASH_DUMP is not set 260# CONFIG_CRASH_DUMP is not set
261CONFIG_MAX_ACTIVE_REGIONS=32
258CONFIG_ARCH_FLATMEM_ENABLE=y 262CONFIG_ARCH_FLATMEM_ENABLE=y
259CONFIG_ARCH_POPULATES_NODE_MAP=y 263CONFIG_ARCH_POPULATES_NODE_MAP=y
260CONFIG_SELECT_MEMORY_MODEL=y 264CONFIG_SELECT_MEMORY_MODEL=y
@@ -272,6 +276,7 @@ CONFIG_BOUNCE=y
272CONFIG_VIRT_TO_BUS=y 276CONFIG_VIRT_TO_BUS=y
273CONFIG_HAVE_MLOCK=y 277CONFIG_HAVE_MLOCK=y
274CONFIG_HAVE_MLOCKED_PAGE_BIT=y 278CONFIG_HAVE_MLOCKED_PAGE_BIT=y
279# CONFIG_KSM is not set
275CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 280CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
276CONFIG_PPC_4K_PAGES=y 281CONFIG_PPC_4K_PAGES=y
277# CONFIG_PPC_16K_PAGES is not set 282# CONFIG_PPC_16K_PAGES is not set
@@ -369,6 +374,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# CONFIG_NETFILTER is not set 374# CONFIG_NETFILTER is not set
370# CONFIG_IP_DCCP is not set 375# CONFIG_IP_DCCP is not set
371# CONFIG_IP_SCTP is not set 376# CONFIG_IP_SCTP is not set
377# CONFIG_RDS is not set
372# CONFIG_TIPC is not set 378# CONFIG_TIPC is not set
373# CONFIG_ATM is not set 379# CONFIG_ATM is not set
374# CONFIG_BRIDGE is not set 380# CONFIG_BRIDGE is not set
@@ -398,6 +404,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
398# CONFIG_AF_RXRPC is not set 404# CONFIG_AF_RXRPC is not set
399CONFIG_WIRELESS=y 405CONFIG_WIRELESS=y
400# CONFIG_CFG80211 is not set 406# CONFIG_CFG80211 is not set
407CONFIG_CFG80211_DEFAULT_PS_VALUE=0
401CONFIG_WIRELESS_OLD_REGULATORY=y 408CONFIG_WIRELESS_OLD_REGULATORY=y
402# CONFIG_WIRELESS_EXT is not set 409# CONFIG_WIRELESS_EXT is not set
403# CONFIG_LIB80211 is not set 410# CONFIG_LIB80211 is not set
@@ -405,7 +412,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
405# 412#
406# CFG80211 needs to be enabled for MAC80211 413# CFG80211 needs to be enabled for MAC80211
407# 414#
408CONFIG_MAC80211_DEFAULT_PS_VALUE=0
409# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
410# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
411# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -418,6 +424,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
418# Generic Driver Options 424# Generic Driver Options
419# 425#
420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
421CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
422CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
423CONFIG_FW_LOADER=y 430CONFIG_FW_LOADER=y
@@ -427,9 +434,9 @@ CONFIG_EXTRA_FIRMWARE=""
427# CONFIG_CONNECTOR is not set 434# CONFIG_CONNECTOR is not set
428CONFIG_MTD=y 435CONFIG_MTD=y
429# CONFIG_MTD_DEBUG is not set 436# CONFIG_MTD_DEBUG is not set
437# CONFIG_MTD_TESTS is not set
430# CONFIG_MTD_CONCAT is not set 438# CONFIG_MTD_CONCAT is not set
431CONFIG_MTD_PARTITIONS=y 439CONFIG_MTD_PARTITIONS=y
432# CONFIG_MTD_TESTS is not set
433# CONFIG_MTD_REDBOOT_PARTS is not set 440# CONFIG_MTD_REDBOOT_PARTS is not set
434CONFIG_MTD_CMDLINE_PARTS=y 441CONFIG_MTD_CMDLINE_PARTS=y
435# CONFIG_MTD_OF_PARTS is not set 442# CONFIG_MTD_OF_PARTS is not set
@@ -493,6 +500,7 @@ CONFIG_MTD_PHYSMAP_OF=y
493# CONFIG_MTD_PMC551 is not set 500# CONFIG_MTD_PMC551 is not set
494# CONFIG_MTD_DATAFLASH is not set 501# CONFIG_MTD_DATAFLASH is not set
495# CONFIG_MTD_M25P80 is not set 502# CONFIG_MTD_M25P80 is not set
503# CONFIG_MTD_SST25L is not set
496# CONFIG_MTD_SLRAM is not set 504# CONFIG_MTD_SLRAM is not set
497# CONFIG_MTD_PHRAM is not set 505# CONFIG_MTD_PHRAM is not set
498# CONFIG_MTD_MTDRAM is not set 506# CONFIG_MTD_MTDRAM is not set
@@ -639,7 +647,6 @@ CONFIG_NETDEV_1000=y
639CONFIG_FSL_PQ_MDIO=y 647CONFIG_FSL_PQ_MDIO=y
640# CONFIG_GIANFAR is not set 648# CONFIG_GIANFAR is not set
641CONFIG_UCC_GETH=y 649CONFIG_UCC_GETH=y
642# CONFIG_UGETH_MAGIC_PACKET is not set
643# CONFIG_UGETH_TX_ON_DEMAND is not set 650# CONFIG_UGETH_TX_ON_DEMAND is not set
644# CONFIG_MV643XX_ETH is not set 651# CONFIG_MV643XX_ETH is not set
645# CONFIG_QLA3XXX is not set 652# CONFIG_QLA3XXX is not set
@@ -649,10 +656,7 @@ CONFIG_UCC_GETH=y
649# CONFIG_JME is not set 656# CONFIG_JME is not set
650# CONFIG_NETDEV_10000 is not set 657# CONFIG_NETDEV_10000 is not set
651# CONFIG_TR is not set 658# CONFIG_TR is not set
652 659CONFIG_WLAN=y
653#
654# Wireless LAN
655#
656# CONFIG_WLAN_PRE80211 is not set 660# CONFIG_WLAN_PRE80211 is not set
657# CONFIG_WLAN_80211 is not set 661# CONFIG_WLAN_80211 is not set
658 662
@@ -750,6 +754,7 @@ CONFIG_HW_RANDOM=y
750CONFIG_DEVPORT=y 754CONFIG_DEVPORT=y
751CONFIG_I2C=y 755CONFIG_I2C=y
752CONFIG_I2C_BOARDINFO=y 756CONFIG_I2C_BOARDINFO=y
757CONFIG_I2C_COMPAT=y
753CONFIG_I2C_CHARDEV=y 758CONFIG_I2C_CHARDEV=y
754CONFIG_I2C_HELPER_AUTO=y 759CONFIG_I2C_HELPER_AUTO=y
755 760
@@ -804,9 +809,6 @@ CONFIG_I2C_MPC=y
804# Miscellaneous I2C Chip support 809# Miscellaneous I2C Chip support
805# 810#
806# CONFIG_DS1682 is not set 811# CONFIG_DS1682 is not set
807# CONFIG_SENSORS_PCF8574 is not set
808# CONFIG_PCF8575 is not set
809# CONFIG_SENSORS_PCA9539 is not set
810# CONFIG_SENSORS_TSL2550 is not set 812# CONFIG_SENSORS_TSL2550 is not set
811# CONFIG_I2C_DEBUG_CORE is not set 813# CONFIG_I2C_DEBUG_CORE is not set
812# CONFIG_I2C_DEBUG_ALGO is not set 814# CONFIG_I2C_DEBUG_ALGO is not set
@@ -853,17 +855,22 @@ CONFIG_GPIOLIB=y
853# PCI GPIO expanders: 855# PCI GPIO expanders:
854# 856#
855# CONFIG_GPIO_BT8XX is not set 857# CONFIG_GPIO_BT8XX is not set
858# CONFIG_GPIO_LANGWELL is not set
856 859
857# 860#
858# SPI GPIO expanders: 861# SPI GPIO expanders:
859# 862#
860# CONFIG_GPIO_MAX7301 is not set 863# CONFIG_GPIO_MAX7301 is not set
861# CONFIG_GPIO_MCP23S08 is not set 864# CONFIG_GPIO_MCP23S08 is not set
865# CONFIG_GPIO_MC33880 is not set
866
867#
868# AC97 GPIO expanders:
869#
862# CONFIG_W1 is not set 870# CONFIG_W1 is not set
863# CONFIG_POWER_SUPPLY is not set 871# CONFIG_POWER_SUPPLY is not set
864# CONFIG_HWMON is not set 872# CONFIG_HWMON is not set
865# CONFIG_THERMAL is not set 873# CONFIG_THERMAL is not set
866# CONFIG_THERMAL_HWMON is not set
867CONFIG_WATCHDOG=y 874CONFIG_WATCHDOG=y
868# CONFIG_WATCHDOG_NOWAYOUT is not set 875# CONFIG_WATCHDOG_NOWAYOUT is not set
869 876
@@ -897,8 +904,10 @@ CONFIG_SSB_POSSIBLE=y
897# CONFIG_MFD_TMIO is not set 904# CONFIG_MFD_TMIO is not set
898# CONFIG_PMIC_DA903X is not set 905# CONFIG_PMIC_DA903X is not set
899# CONFIG_MFD_WM8400 is not set 906# CONFIG_MFD_WM8400 is not set
907# CONFIG_MFD_WM831X is not set
900# CONFIG_MFD_WM8350_I2C is not set 908# CONFIG_MFD_WM8350_I2C is not set
901# CONFIG_MFD_PCF50633 is not set 909# CONFIG_MFD_PCF50633 is not set
910# CONFIG_MFD_MC13783 is not set
902# CONFIG_AB3100_CORE is not set 911# CONFIG_AB3100_CORE is not set
903# CONFIG_EZX_PCAP is not set 912# CONFIG_EZX_PCAP is not set
904# CONFIG_REGULATOR is not set 913# CONFIG_REGULATOR is not set
@@ -908,6 +917,7 @@ CONFIG_SSB_POSSIBLE=y
908# Graphics support 917# Graphics support
909# 918#
910# CONFIG_AGP is not set 919# CONFIG_AGP is not set
920CONFIG_VGA_ARB=y
911# CONFIG_DRM is not set 921# CONFIG_DRM is not set
912# CONFIG_VGASTATE is not set 922# CONFIG_VGASTATE is not set
913# CONFIG_VIDEO_OUTPUT_CONTROL is not set 923# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -992,7 +1002,6 @@ CONFIG_LOGO_LINUX_CLUT224=y
992# CONFIG_SOUND is not set 1002# CONFIG_SOUND is not set
993CONFIG_HID_SUPPORT=y 1003CONFIG_HID_SUPPORT=y
994CONFIG_HID=y 1004CONFIG_HID=y
995# CONFIG_HID_DEBUG is not set
996# CONFIG_HIDRAW is not set 1005# CONFIG_HIDRAW is not set
997# CONFIG_HID_PID is not set 1006# CONFIG_HID_PID is not set
998 1007
@@ -1038,6 +1047,7 @@ CONFIG_FS_MBCACHE=y
1038# CONFIG_GFS2_FS is not set 1047# CONFIG_GFS2_FS is not set
1039# CONFIG_OCFS2_FS is not set 1048# CONFIG_OCFS2_FS is not set
1040# CONFIG_BTRFS_FS is not set 1049# CONFIG_BTRFS_FS is not set
1050# CONFIG_NILFS2_FS is not set
1041CONFIG_FILE_LOCKING=y 1051CONFIG_FILE_LOCKING=y
1042CONFIG_FSNOTIFY=y 1052CONFIG_FSNOTIFY=y
1043CONFIG_DNOTIFY=y 1053CONFIG_DNOTIFY=y
@@ -1107,7 +1117,6 @@ CONFIG_JFFS2_RTIME=y
1107# CONFIG_ROMFS_FS is not set 1117# CONFIG_ROMFS_FS is not set
1108# CONFIG_SYSV_FS is not set 1118# CONFIG_SYSV_FS is not set
1109# CONFIG_UFS_FS is not set 1119# CONFIG_UFS_FS is not set
1110# CONFIG_NILFS2_FS is not set
1111CONFIG_NETWORK_FILESYSTEMS=y 1120CONFIG_NETWORK_FILESYSTEMS=y
1112CONFIG_NFS_FS=y 1121CONFIG_NFS_FS=y
1113CONFIG_NFS_V3=y 1122CONFIG_NFS_V3=y
@@ -1183,6 +1192,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1183CONFIG_ENABLE_MUST_CHECK=y 1192CONFIG_ENABLE_MUST_CHECK=y
1184CONFIG_FRAME_WARN=1024 1193CONFIG_FRAME_WARN=1024
1185# CONFIG_MAGIC_SYSRQ is not set 1194# CONFIG_MAGIC_SYSRQ is not set
1195# CONFIG_STRIP_ASM_SYMS is not set
1186# CONFIG_UNUSED_SYMBOLS is not set 1196# CONFIG_UNUSED_SYMBOLS is not set
1187# CONFIG_DEBUG_FS is not set 1197# CONFIG_DEBUG_FS is not set
1188# CONFIG_HEADERS_CHECK is not set 1198# CONFIG_HEADERS_CHECK is not set
@@ -1200,6 +1210,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1200CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1210CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1201CONFIG_TRACING_SUPPORT=y 1211CONFIG_TRACING_SUPPORT=y
1202# CONFIG_FTRACE is not set 1212# CONFIG_FTRACE is not set
1213# CONFIG_DMA_API_DEBUG is not set
1203# CONFIG_SAMPLES is not set 1214# CONFIG_SAMPLES is not set
1204CONFIG_HAVE_ARCH_KGDB=y 1215CONFIG_HAVE_ARCH_KGDB=y
1205# CONFIG_PPC_DISABLE_WERROR is not set 1216# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1232,7 +1243,6 @@ CONFIG_CRYPTO=y
1232# 1243#
1233# Crypto core or helper 1244# Crypto core or helper
1234# 1245#
1235# CONFIG_CRYPTO_FIPS is not set
1236CONFIG_CRYPTO_ALGAPI=y 1246CONFIG_CRYPTO_ALGAPI=y
1237CONFIG_CRYPTO_ALGAPI2=y 1247CONFIG_CRYPTO_ALGAPI2=y
1238CONFIG_CRYPTO_AEAD2=y 1248CONFIG_CRYPTO_AEAD2=y
@@ -1274,11 +1284,13 @@ CONFIG_CRYPTO_CBC=y
1274# 1284#
1275# CONFIG_CRYPTO_HMAC is not set 1285# CONFIG_CRYPTO_HMAC is not set
1276# CONFIG_CRYPTO_XCBC is not set 1286# CONFIG_CRYPTO_XCBC is not set
1287# CONFIG_CRYPTO_VMAC is not set
1277 1288
1278# 1289#
1279# Digest 1290# Digest
1280# 1291#
1281# CONFIG_CRYPTO_CRC32C is not set 1292# CONFIG_CRYPTO_CRC32C is not set
1293# CONFIG_CRYPTO_GHASH is not set
1282# CONFIG_CRYPTO_MD4 is not set 1294# CONFIG_CRYPTO_MD4 is not set
1283CONFIG_CRYPTO_MD5=y 1295CONFIG_CRYPTO_MD5=y
1284# CONFIG_CRYPTO_MICHAEL_MIC is not set 1296# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
index e285ec0fe958..730061574f96 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:11 2009 4# Thu Nov 5 08:20:29 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -125,21 +127,20 @@ CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 127CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 128CONFIG_SHMEM=y
127CONFIG_AIO=y 129CONFIG_AIO=y
128CONFIG_HAVE_PERF_COUNTERS=y 130CONFIG_HAVE_PERF_EVENTS=y
129 131
130# 132#
131# Performance Counters 133# Kernel Performance Events And Counters
132# 134#
135# CONFIG_PERF_EVENTS is not set
133# CONFIG_PERF_COUNTERS is not set 136# CONFIG_PERF_COUNTERS is not set
134CONFIG_VM_EVENT_COUNTERS=y 137CONFIG_VM_EVENT_COUNTERS=y
135CONFIG_PCI_QUIRKS=y 138CONFIG_PCI_QUIRKS=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138CONFIG_SLAB=y 140CONFIG_SLAB=y
139# CONFIG_SLUB is not set 141# CONFIG_SLUB is not set
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144# CONFIG_KPROBES is not set 145# CONFIG_KPROBES is not set
145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -147,6 +148,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
147CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
148CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
149CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
150 153
151# 154#
152# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -256,6 +259,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
256CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -368,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
368# CONFIG_NETFILTER is not set 373# CONFIG_NETFILTER is not set
369# CONFIG_IP_DCCP is not set 374# CONFIG_IP_DCCP is not set
370# CONFIG_IP_SCTP is not set 375# CONFIG_IP_SCTP is not set
376# CONFIG_RDS is not set
371# CONFIG_TIPC is not set 377# CONFIG_TIPC is not set
372# CONFIG_ATM is not set 378# CONFIG_ATM is not set
373# CONFIG_BRIDGE is not set 379# CONFIG_BRIDGE is not set
@@ -397,6 +403,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
397# CONFIG_AF_RXRPC is not set 403# CONFIG_AF_RXRPC is not set
398CONFIG_WIRELESS=y 404CONFIG_WIRELESS=y
399# CONFIG_CFG80211 is not set 405# CONFIG_CFG80211 is not set
406CONFIG_CFG80211_DEFAULT_PS_VALUE=0
400CONFIG_WIRELESS_OLD_REGULATORY=y 407CONFIG_WIRELESS_OLD_REGULATORY=y
401# CONFIG_WIRELESS_EXT is not set 408# CONFIG_WIRELESS_EXT is not set
402# CONFIG_LIB80211 is not set 409# CONFIG_LIB80211 is not set
@@ -404,7 +411,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
404# 411#
405# CFG80211 needs to be enabled for MAC80211 412# CFG80211 needs to be enabled for MAC80211
406# 413#
407CONFIG_MAC80211_DEFAULT_PS_VALUE=0
408# CONFIG_WIMAX is not set 414# CONFIG_WIMAX is not set
409# CONFIG_RFKILL is not set 415# CONFIG_RFKILL is not set
410# CONFIG_NET_9P is not set 416# CONFIG_NET_9P is not set
@@ -417,6 +423,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
417# Generic Driver Options 423# Generic Driver Options
418# 424#
419CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 425CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
426# CONFIG_DEVTMPFS is not set
420CONFIG_STANDALONE=y 427CONFIG_STANDALONE=y
421CONFIG_PREVENT_FIRMWARE_BUILD=y 428CONFIG_PREVENT_FIRMWARE_BUILD=y
422# CONFIG_FW_LOADER is not set 429# CONFIG_FW_LOADER is not set
@@ -503,6 +510,7 @@ CONFIG_SCSI_LOWLEVEL=y
503# CONFIG_ISCSI_TCP is not set 510# CONFIG_ISCSI_TCP is not set
504# CONFIG_SCSI_CXGB3_ISCSI is not set 511# CONFIG_SCSI_CXGB3_ISCSI is not set
505# CONFIG_SCSI_BNX2_ISCSI is not set 512# CONFIG_SCSI_BNX2_ISCSI is not set
513# CONFIG_BE2ISCSI is not set
506# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 514# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
507# CONFIG_SCSI_3W_9XXX is not set 515# CONFIG_SCSI_3W_9XXX is not set
508# CONFIG_SCSI_ACARD is not set 516# CONFIG_SCSI_ACARD is not set
@@ -542,11 +550,14 @@ CONFIG_SCSI_LOWLEVEL=y
542# CONFIG_SCSI_DC390T is not set 550# CONFIG_SCSI_DC390T is not set
543# CONFIG_SCSI_NSP32 is not set 551# CONFIG_SCSI_NSP32 is not set
544# CONFIG_SCSI_DEBUG is not set 552# CONFIG_SCSI_DEBUG is not set
553# CONFIG_SCSI_PMCRAID is not set
545# CONFIG_SCSI_SRP is not set 554# CONFIG_SCSI_SRP is not set
555# CONFIG_SCSI_BFA_FC is not set
546# CONFIG_SCSI_DH is not set 556# CONFIG_SCSI_DH is not set
547# CONFIG_SCSI_OSD_INITIATOR is not set 557# CONFIG_SCSI_OSD_INITIATOR is not set
548CONFIG_ATA=y 558CONFIG_ATA=y
549# CONFIG_ATA_NONSTANDARD is not set 559# CONFIG_ATA_NONSTANDARD is not set
560CONFIG_ATA_VERBOSE_ERROR=y
550CONFIG_SATA_PMP=y 561CONFIG_SATA_PMP=y
551# CONFIG_SATA_AHCI is not set 562# CONFIG_SATA_AHCI is not set
552# CONFIG_SATA_SIL24 is not set 563# CONFIG_SATA_SIL24 is not set
@@ -569,6 +580,7 @@ CONFIG_ATA_SFF=y
569# CONFIG_PATA_ALI is not set 580# CONFIG_PATA_ALI is not set
570# CONFIG_PATA_AMD is not set 581# CONFIG_PATA_AMD is not set
571# CONFIG_PATA_ARTOP is not set 582# CONFIG_PATA_ARTOP is not set
583# CONFIG_PATA_ATP867X is not set
572# CONFIG_PATA_ATIIXP is not set 584# CONFIG_PATA_ATIIXP is not set
573# CONFIG_PATA_CMD640_PCI is not set 585# CONFIG_PATA_CMD640_PCI is not set
574# CONFIG_PATA_CMD64X is not set 586# CONFIG_PATA_CMD64X is not set
@@ -596,6 +608,7 @@ CONFIG_ATA_SFF=y
596# CONFIG_PATA_OPTIDMA is not set 608# CONFIG_PATA_OPTIDMA is not set
597# CONFIG_PATA_PDC_OLD is not set 609# CONFIG_PATA_PDC_OLD is not set
598# CONFIG_PATA_RADISYS is not set 610# CONFIG_PATA_RADISYS is not set
611# CONFIG_PATA_RDC is not set
599# CONFIG_PATA_RZ1000 is not set 612# CONFIG_PATA_RZ1000 is not set
600# CONFIG_PATA_SC1200 is not set 613# CONFIG_PATA_SC1200 is not set
601# CONFIG_PATA_SERVERWORKS is not set 614# CONFIG_PATA_SERVERWORKS is not set
@@ -672,7 +685,9 @@ CONFIG_MII=y
672# CONFIG_NET_PCI is not set 685# CONFIG_NET_PCI is not set
673# CONFIG_B44 is not set 686# CONFIG_B44 is not set
674# CONFIG_KS8842 is not set 687# CONFIG_KS8842 is not set
688# CONFIG_KS8851_MLL is not set
675# CONFIG_ATL2 is not set 689# CONFIG_ATL2 is not set
690# CONFIG_XILINX_EMACLITE is not set
676CONFIG_NETDEV_1000=y 691CONFIG_NETDEV_1000=y
677# CONFIG_ACENIC is not set 692# CONFIG_ACENIC is not set
678# CONFIG_DL2K is not set 693# CONFIG_DL2K is not set
@@ -720,10 +735,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
720# CONFIG_SFC is not set 735# CONFIG_SFC is not set
721# CONFIG_BE2NET is not set 736# CONFIG_BE2NET is not set
722# CONFIG_TR is not set 737# CONFIG_TR is not set
723 738CONFIG_WLAN=y
724#
725# Wireless LAN
726#
727# CONFIG_WLAN_PRE80211 is not set 739# CONFIG_WLAN_PRE80211 is not set
728# CONFIG_WLAN_80211 is not set 740# CONFIG_WLAN_80211 is not set
729 741
@@ -816,6 +828,7 @@ CONFIG_GEN_RTC=y
816CONFIG_DEVPORT=y 828CONFIG_DEVPORT=y
817CONFIG_I2C=y 829CONFIG_I2C=y
818CONFIG_I2C_BOARDINFO=y 830CONFIG_I2C_BOARDINFO=y
831CONFIG_I2C_COMPAT=y
819CONFIG_I2C_CHARDEV=y 832CONFIG_I2C_CHARDEV=y
820CONFIG_I2C_HELPER_AUTO=y 833CONFIG_I2C_HELPER_AUTO=y
821 834
@@ -869,9 +882,6 @@ CONFIG_I2C_MPC=y
869# Miscellaneous I2C Chip support 882# Miscellaneous I2C Chip support
870# 883#
871# CONFIG_DS1682 is not set 884# CONFIG_DS1682 is not set
872# CONFIG_SENSORS_PCF8574 is not set
873# CONFIG_PCF8575 is not set
874# CONFIG_SENSORS_PCA9539 is not set
875# CONFIG_SENSORS_TSL2550 is not set 885# CONFIG_SENSORS_TSL2550 is not set
876# CONFIG_I2C_DEBUG_CORE is not set 886# CONFIG_I2C_DEBUG_CORE is not set
877# CONFIG_I2C_DEBUG_ALGO is not set 887# CONFIG_I2C_DEBUG_ALGO is not set
@@ -889,6 +899,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
889# CONFIG_POWER_SUPPLY is not set 899# CONFIG_POWER_SUPPLY is not set
890CONFIG_HWMON=y 900CONFIG_HWMON=y
891# CONFIG_HWMON_VID is not set 901# CONFIG_HWMON_VID is not set
902# CONFIG_HWMON_DEBUG_CHIP is not set
903
904#
905# Native drivers
906#
892# CONFIG_SENSORS_AD7414 is not set 907# CONFIG_SENSORS_AD7414 is not set
893# CONFIG_SENSORS_AD7418 is not set 908# CONFIG_SENSORS_AD7418 is not set
894# CONFIG_SENSORS_ADM1021 is not set 909# CONFIG_SENSORS_ADM1021 is not set
@@ -938,6 +953,7 @@ CONFIG_HWMON=y
938# CONFIG_SENSORS_ADS7828 is not set 953# CONFIG_SENSORS_ADS7828 is not set
939# CONFIG_SENSORS_THMC50 is not set 954# CONFIG_SENSORS_THMC50 is not set
940# CONFIG_SENSORS_TMP401 is not set 955# CONFIG_SENSORS_TMP401 is not set
956# CONFIG_SENSORS_TMP421 is not set
941# CONFIG_SENSORS_VIA686A is not set 957# CONFIG_SENSORS_VIA686A is not set
942# CONFIG_SENSORS_VT1211 is not set 958# CONFIG_SENSORS_VT1211 is not set
943# CONFIG_SENSORS_VT8231 is not set 959# CONFIG_SENSORS_VT8231 is not set
@@ -949,9 +965,7 @@ CONFIG_HWMON=y
949# CONFIG_SENSORS_W83L786NG is not set 965# CONFIG_SENSORS_W83L786NG is not set
950# CONFIG_SENSORS_W83627HF is not set 966# CONFIG_SENSORS_W83627HF is not set
951# CONFIG_SENSORS_W83627EHF is not set 967# CONFIG_SENSORS_W83627EHF is not set
952# CONFIG_HWMON_DEBUG_CHIP is not set
953# CONFIG_THERMAL is not set 968# CONFIG_THERMAL is not set
954# CONFIG_THERMAL_HWMON is not set
955CONFIG_WATCHDOG=y 969CONFIG_WATCHDOG=y
956# CONFIG_WATCHDOG_NOWAYOUT is not set 970# CONFIG_WATCHDOG_NOWAYOUT is not set
957 971
@@ -984,6 +998,7 @@ CONFIG_SSB_POSSIBLE=y
984# CONFIG_MFD_TMIO is not set 998# CONFIG_MFD_TMIO is not set
985# CONFIG_PMIC_DA903X is not set 999# CONFIG_PMIC_DA903X is not set
986# CONFIG_MFD_WM8400 is not set 1000# CONFIG_MFD_WM8400 is not set
1001# CONFIG_MFD_WM831X is not set
987# CONFIG_MFD_WM8350_I2C is not set 1002# CONFIG_MFD_WM8350_I2C is not set
988# CONFIG_MFD_PCF50633 is not set 1003# CONFIG_MFD_PCF50633 is not set
989# CONFIG_AB3100_CORE is not set 1004# CONFIG_AB3100_CORE is not set
@@ -994,6 +1009,7 @@ CONFIG_SSB_POSSIBLE=y
994# Graphics support 1009# Graphics support
995# 1010#
996# CONFIG_AGP is not set 1011# CONFIG_AGP is not set
1012CONFIG_VGA_ARB=y
997# CONFIG_DRM is not set 1013# CONFIG_DRM is not set
998# CONFIG_VGASTATE is not set 1014# CONFIG_VGASTATE is not set
999CONFIG_VIDEO_OUTPUT_CONTROL=m 1015CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1007,7 +1023,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1007# CONFIG_SOUND is not set 1023# CONFIG_SOUND is not set
1008CONFIG_HID_SUPPORT=y 1024CONFIG_HID_SUPPORT=y
1009CONFIG_HID=y 1025CONFIG_HID=y
1010# CONFIG_HID_DEBUG is not set
1011# CONFIG_HIDRAW is not set 1026# CONFIG_HIDRAW is not set
1012# CONFIG_HID_PID is not set 1027# CONFIG_HID_PID is not set
1013 1028
@@ -1072,6 +1087,7 @@ CONFIG_FS_MBCACHE=y
1072# CONFIG_GFS2_FS is not set 1087# CONFIG_GFS2_FS is not set
1073# CONFIG_OCFS2_FS is not set 1088# CONFIG_OCFS2_FS is not set
1074# CONFIG_BTRFS_FS is not set 1089# CONFIG_BTRFS_FS is not set
1090# CONFIG_NILFS2_FS is not set
1075CONFIG_FILE_LOCKING=y 1091CONFIG_FILE_LOCKING=y
1076CONFIG_FSNOTIFY=y 1092CONFIG_FSNOTIFY=y
1077CONFIG_DNOTIFY=y 1093CONFIG_DNOTIFY=y
@@ -1130,7 +1146,6 @@ CONFIG_MISC_FILESYSTEMS=y
1130# CONFIG_ROMFS_FS is not set 1146# CONFIG_ROMFS_FS is not set
1131# CONFIG_SYSV_FS is not set 1147# CONFIG_SYSV_FS is not set
1132# CONFIG_UFS_FS is not set 1148# CONFIG_UFS_FS is not set
1133# CONFIG_NILFS2_FS is not set
1134CONFIG_NETWORK_FILESYSTEMS=y 1149CONFIG_NETWORK_FILESYSTEMS=y
1135CONFIG_NFS_FS=y 1150CONFIG_NFS_FS=y
1136CONFIG_NFS_V3=y 1151CONFIG_NFS_V3=y
@@ -1206,6 +1221,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1206CONFIG_ENABLE_MUST_CHECK=y 1221CONFIG_ENABLE_MUST_CHECK=y
1207CONFIG_FRAME_WARN=1024 1222CONFIG_FRAME_WARN=1024
1208# CONFIG_MAGIC_SYSRQ is not set 1223# CONFIG_MAGIC_SYSRQ is not set
1224# CONFIG_STRIP_ASM_SYMS is not set
1209# CONFIG_UNUSED_SYMBOLS is not set 1225# CONFIG_UNUSED_SYMBOLS is not set
1210# CONFIG_DEBUG_FS is not set 1226# CONFIG_DEBUG_FS is not set
1211# CONFIG_HEADERS_CHECK is not set 1227# CONFIG_HEADERS_CHECK is not set
@@ -1221,6 +1237,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1221CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1237CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1222CONFIG_TRACING_SUPPORT=y 1238CONFIG_TRACING_SUPPORT=y
1223# CONFIG_FTRACE is not set 1239# CONFIG_FTRACE is not set
1240# CONFIG_DMA_API_DEBUG is not set
1224# CONFIG_SAMPLES is not set 1241# CONFIG_SAMPLES is not set
1225CONFIG_HAVE_ARCH_KGDB=y 1242CONFIG_HAVE_ARCH_KGDB=y
1226# CONFIG_PPC_DISABLE_WERROR is not set 1243# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1242,7 +1259,6 @@ CONFIG_CRYPTO=y
1242# 1259#
1243# Crypto core or helper 1260# Crypto core or helper
1244# 1261#
1245# CONFIG_CRYPTO_FIPS is not set
1246CONFIG_CRYPTO_ALGAPI=y 1262CONFIG_CRYPTO_ALGAPI=y
1247CONFIG_CRYPTO_ALGAPI2=y 1263CONFIG_CRYPTO_ALGAPI2=y
1248CONFIG_CRYPTO_AEAD2=y 1264CONFIG_CRYPTO_AEAD2=y
@@ -1284,11 +1300,13 @@ CONFIG_CRYPTO_PCBC=m
1284# 1300#
1285# CONFIG_CRYPTO_HMAC is not set 1301# CONFIG_CRYPTO_HMAC is not set
1286# CONFIG_CRYPTO_XCBC is not set 1302# CONFIG_CRYPTO_XCBC is not set
1303# CONFIG_CRYPTO_VMAC is not set
1287 1304
1288# 1305#
1289# Digest 1306# Digest
1290# 1307#
1291# CONFIG_CRYPTO_CRC32C is not set 1308# CONFIG_CRYPTO_CRC32C is not set
1309# CONFIG_CRYPTO_GHASH is not set
1292# CONFIG_CRYPTO_MD4 is not set 1310# CONFIG_CRYPTO_MD4 is not set
1293CONFIG_CRYPTO_MD5=y 1311CONFIG_CRYPTO_MD5=y
1294# CONFIG_CRYPTO_MICHAEL_MIC is not set 1312# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
index 1ab3e4cd3018..9e9158a5b190 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:13 2009 4# Thu Nov 5 08:20:30 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -125,21 +127,20 @@ CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 127CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 128CONFIG_SHMEM=y
127CONFIG_AIO=y 129CONFIG_AIO=y
128CONFIG_HAVE_PERF_COUNTERS=y 130CONFIG_HAVE_PERF_EVENTS=y
129 131
130# 132#
131# Performance Counters 133# Kernel Performance Events And Counters
132# 134#
135# CONFIG_PERF_EVENTS is not set
133# CONFIG_PERF_COUNTERS is not set 136# CONFIG_PERF_COUNTERS is not set
134CONFIG_VM_EVENT_COUNTERS=y 137CONFIG_VM_EVENT_COUNTERS=y
135CONFIG_PCI_QUIRKS=y 138CONFIG_PCI_QUIRKS=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
138CONFIG_SLAB=y 140CONFIG_SLAB=y
139# CONFIG_SLUB is not set 141# CONFIG_SLUB is not set
140# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
144# CONFIG_KPROBES is not set 145# CONFIG_KPROBES is not set
145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -147,6 +148,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
147CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
148CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
149CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
150 153
151# 154#
152# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -256,6 +259,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
256CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -363,6 +368,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# CONFIG_NETFILTER is not set 368# CONFIG_NETFILTER is not set
364# CONFIG_IP_DCCP is not set 369# CONFIG_IP_DCCP is not set
365# CONFIG_IP_SCTP is not set 370# CONFIG_IP_SCTP is not set
371# CONFIG_RDS is not set
366# CONFIG_TIPC is not set 372# CONFIG_TIPC is not set
367# CONFIG_ATM is not set 373# CONFIG_ATM is not set
368# CONFIG_BRIDGE is not set 374# CONFIG_BRIDGE is not set
@@ -392,6 +398,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
392# CONFIG_AF_RXRPC is not set 398# CONFIG_AF_RXRPC is not set
393CONFIG_WIRELESS=y 399CONFIG_WIRELESS=y
394# CONFIG_CFG80211 is not set 400# CONFIG_CFG80211 is not set
401CONFIG_CFG80211_DEFAULT_PS_VALUE=0
395CONFIG_WIRELESS_OLD_REGULATORY=y 402CONFIG_WIRELESS_OLD_REGULATORY=y
396# CONFIG_WIRELESS_EXT is not set 403# CONFIG_WIRELESS_EXT is not set
397# CONFIG_LIB80211 is not set 404# CONFIG_LIB80211 is not set
@@ -399,7 +406,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
399# 406#
400# CFG80211 needs to be enabled for MAC80211 407# CFG80211 needs to be enabled for MAC80211
401# 408#
402CONFIG_MAC80211_DEFAULT_PS_VALUE=0
403# CONFIG_WIMAX is not set 409# CONFIG_WIMAX is not set
404# CONFIG_RFKILL is not set 410# CONFIG_RFKILL is not set
405# CONFIG_NET_9P is not set 411# CONFIG_NET_9P is not set
@@ -412,6 +418,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
412# Generic Driver Options 418# Generic Driver Options
413# 419#
414CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
421# CONFIG_DEVTMPFS is not set
415CONFIG_STANDALONE=y 422CONFIG_STANDALONE=y
416CONFIG_PREVENT_FIRMWARE_BUILD=y 423CONFIG_PREVENT_FIRMWARE_BUILD=y
417# CONFIG_FW_LOADER is not set 424# CONFIG_FW_LOADER is not set
@@ -498,6 +505,7 @@ CONFIG_SCSI_WAIT_SCAN=m
498CONFIG_SCSI_LOWLEVEL=y 505CONFIG_SCSI_LOWLEVEL=y
499# CONFIG_ISCSI_TCP is not set 506# CONFIG_ISCSI_TCP is not set
500# CONFIG_SCSI_BNX2_ISCSI is not set 507# CONFIG_SCSI_BNX2_ISCSI is not set
508# CONFIG_BE2ISCSI is not set
501# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 509# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
502# CONFIG_SCSI_3W_9XXX is not set 510# CONFIG_SCSI_3W_9XXX is not set
503# CONFIG_SCSI_ACARD is not set 511# CONFIG_SCSI_ACARD is not set
@@ -537,11 +545,14 @@ CONFIG_SCSI_LOWLEVEL=y
537# CONFIG_SCSI_DC390T is not set 545# CONFIG_SCSI_DC390T is not set
538# CONFIG_SCSI_NSP32 is not set 546# CONFIG_SCSI_NSP32 is not set
539# CONFIG_SCSI_DEBUG is not set 547# CONFIG_SCSI_DEBUG is not set
548# CONFIG_SCSI_PMCRAID is not set
540# CONFIG_SCSI_SRP is not set 549# CONFIG_SCSI_SRP is not set
550# CONFIG_SCSI_BFA_FC is not set
541# CONFIG_SCSI_DH is not set 551# CONFIG_SCSI_DH is not set
542# CONFIG_SCSI_OSD_INITIATOR is not set 552# CONFIG_SCSI_OSD_INITIATOR is not set
543CONFIG_ATA=y 553CONFIG_ATA=y
544# CONFIG_ATA_NONSTANDARD is not set 554# CONFIG_ATA_NONSTANDARD is not set
555CONFIG_ATA_VERBOSE_ERROR=y
545CONFIG_SATA_PMP=y 556CONFIG_SATA_PMP=y
546# CONFIG_SATA_AHCI is not set 557# CONFIG_SATA_AHCI is not set
547# CONFIG_SATA_SIL24 is not set 558# CONFIG_SATA_SIL24 is not set
@@ -564,6 +575,7 @@ CONFIG_ATA_SFF=y
564# CONFIG_PATA_ALI is not set 575# CONFIG_PATA_ALI is not set
565# CONFIG_PATA_AMD is not set 576# CONFIG_PATA_AMD is not set
566# CONFIG_PATA_ARTOP is not set 577# CONFIG_PATA_ARTOP is not set
578# CONFIG_PATA_ATP867X is not set
567# CONFIG_PATA_ATIIXP is not set 579# CONFIG_PATA_ATIIXP is not set
568# CONFIG_PATA_CMD640_PCI is not set 580# CONFIG_PATA_CMD640_PCI is not set
569# CONFIG_PATA_CMD64X is not set 581# CONFIG_PATA_CMD64X is not set
@@ -591,6 +603,7 @@ CONFIG_ATA_SFF=y
591# CONFIG_PATA_OPTIDMA is not set 603# CONFIG_PATA_OPTIDMA is not set
592# CONFIG_PATA_PDC_OLD is not set 604# CONFIG_PATA_PDC_OLD is not set
593# CONFIG_PATA_RADISYS is not set 605# CONFIG_PATA_RADISYS is not set
606# CONFIG_PATA_RDC is not set
594# CONFIG_PATA_RZ1000 is not set 607# CONFIG_PATA_RZ1000 is not set
595# CONFIG_PATA_SC1200 is not set 608# CONFIG_PATA_SC1200 is not set
596# CONFIG_PATA_SERVERWORKS is not set 609# CONFIG_PATA_SERVERWORKS is not set
@@ -610,6 +623,7 @@ CONFIG_MD_RAID1=y
610# CONFIG_MD_RAID10 is not set 623# CONFIG_MD_RAID10 is not set
611CONFIG_MD_RAID456=y 624CONFIG_MD_RAID456=y
612CONFIG_MD_RAID6_PQ=y 625CONFIG_MD_RAID6_PQ=y
626# CONFIG_ASYNC_RAID6_TEST is not set
613# CONFIG_MD_MULTIPATH is not set 627# CONFIG_MD_MULTIPATH is not set
614# CONFIG_MD_FAULTY is not set 628# CONFIG_MD_FAULTY is not set
615# CONFIG_BLK_DEV_DM is not set 629# CONFIG_BLK_DEV_DM is not set
@@ -678,7 +692,9 @@ CONFIG_MII=y
678# CONFIG_NET_PCI is not set 692# CONFIG_NET_PCI is not set
679# CONFIG_B44 is not set 693# CONFIG_B44 is not set
680# CONFIG_KS8842 is not set 694# CONFIG_KS8842 is not set
695# CONFIG_KS8851_MLL is not set
681# CONFIG_ATL2 is not set 696# CONFIG_ATL2 is not set
697# CONFIG_XILINX_EMACLITE is not set
682CONFIG_NETDEV_1000=y 698CONFIG_NETDEV_1000=y
683# CONFIG_ACENIC is not set 699# CONFIG_ACENIC is not set
684# CONFIG_DL2K is not set 700# CONFIG_DL2K is not set
@@ -708,10 +724,7 @@ CONFIG_GIANFAR=y
708# CONFIG_JME is not set 724# CONFIG_JME is not set
709# CONFIG_NETDEV_10000 is not set 725# CONFIG_NETDEV_10000 is not set
710# CONFIG_TR is not set 726# CONFIG_TR is not set
711 727CONFIG_WLAN=y
712#
713# Wireless LAN
714#
715# CONFIG_WLAN_PRE80211 is not set 728# CONFIG_WLAN_PRE80211 is not set
716# CONFIG_WLAN_80211 is not set 729# CONFIG_WLAN_80211 is not set
717 730
@@ -813,6 +826,7 @@ CONFIG_GEN_RTC=y
813CONFIG_DEVPORT=y 826CONFIG_DEVPORT=y
814CONFIG_I2C=y 827CONFIG_I2C=y
815CONFIG_I2C_BOARDINFO=y 828CONFIG_I2C_BOARDINFO=y
829CONFIG_I2C_COMPAT=y
816CONFIG_I2C_CHARDEV=y 830CONFIG_I2C_CHARDEV=y
817CONFIG_I2C_HELPER_AUTO=y 831CONFIG_I2C_HELPER_AUTO=y
818 832
@@ -867,9 +881,6 @@ CONFIG_I2C_MPC=y
867# Miscellaneous I2C Chip support 881# Miscellaneous I2C Chip support
868# 882#
869# CONFIG_DS1682 is not set 883# CONFIG_DS1682 is not set
870# CONFIG_SENSORS_PCF8574 is not set
871# CONFIG_PCF8575 is not set
872# CONFIG_SENSORS_PCA9539 is not set
873# CONFIG_SENSORS_TSL2550 is not set 884# CONFIG_SENSORS_TSL2550 is not set
874# CONFIG_I2C_DEBUG_CORE is not set 885# CONFIG_I2C_DEBUG_CORE is not set
875# CONFIG_I2C_DEBUG_ALGO is not set 886# CONFIG_I2C_DEBUG_ALGO is not set
@@ -887,6 +898,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
887# CONFIG_POWER_SUPPLY is not set 898# CONFIG_POWER_SUPPLY is not set
888CONFIG_HWMON=y 899CONFIG_HWMON=y
889# CONFIG_HWMON_VID is not set 900# CONFIG_HWMON_VID is not set
901# CONFIG_HWMON_DEBUG_CHIP is not set
902
903#
904# Native drivers
905#
890# CONFIG_SENSORS_AD7414 is not set 906# CONFIG_SENSORS_AD7414 is not set
891# CONFIG_SENSORS_AD7418 is not set 907# CONFIG_SENSORS_AD7418 is not set
892# CONFIG_SENSORS_ADM1021 is not set 908# CONFIG_SENSORS_ADM1021 is not set
@@ -936,6 +952,7 @@ CONFIG_HWMON=y
936# CONFIG_SENSORS_ADS7828 is not set 952# CONFIG_SENSORS_ADS7828 is not set
937# CONFIG_SENSORS_THMC50 is not set 953# CONFIG_SENSORS_THMC50 is not set
938# CONFIG_SENSORS_TMP401 is not set 954# CONFIG_SENSORS_TMP401 is not set
955# CONFIG_SENSORS_TMP421 is not set
939# CONFIG_SENSORS_VIA686A is not set 956# CONFIG_SENSORS_VIA686A is not set
940# CONFIG_SENSORS_VT1211 is not set 957# CONFIG_SENSORS_VT1211 is not set
941# CONFIG_SENSORS_VT8231 is not set 958# CONFIG_SENSORS_VT8231 is not set
@@ -947,9 +964,7 @@ CONFIG_HWMON=y
947# CONFIG_SENSORS_W83L786NG is not set 964# CONFIG_SENSORS_W83L786NG is not set
948# CONFIG_SENSORS_W83627HF is not set 965# CONFIG_SENSORS_W83627HF is not set
949# CONFIG_SENSORS_W83627EHF is not set 966# CONFIG_SENSORS_W83627EHF is not set
950# CONFIG_HWMON_DEBUG_CHIP is not set
951# CONFIG_THERMAL is not set 967# CONFIG_THERMAL is not set
952# CONFIG_THERMAL_HWMON is not set
953CONFIG_WATCHDOG=y 968CONFIG_WATCHDOG=y
954# CONFIG_WATCHDOG_NOWAYOUT is not set 969# CONFIG_WATCHDOG_NOWAYOUT is not set
955 970
@@ -987,6 +1002,7 @@ CONFIG_SSB_POSSIBLE=y
987# CONFIG_MFD_TMIO is not set 1002# CONFIG_MFD_TMIO is not set
988# CONFIG_PMIC_DA903X is not set 1003# CONFIG_PMIC_DA903X is not set
989# CONFIG_MFD_WM8400 is not set 1004# CONFIG_MFD_WM8400 is not set
1005# CONFIG_MFD_WM831X is not set
990# CONFIG_MFD_WM8350_I2C is not set 1006# CONFIG_MFD_WM8350_I2C is not set
991# CONFIG_MFD_PCF50633 is not set 1007# CONFIG_MFD_PCF50633 is not set
992# CONFIG_AB3100_CORE is not set 1008# CONFIG_AB3100_CORE is not set
@@ -997,6 +1013,7 @@ CONFIG_SSB_POSSIBLE=y
997# Graphics support 1013# Graphics support
998# 1014#
999# CONFIG_AGP is not set 1015# CONFIG_AGP is not set
1016CONFIG_VGA_ARB=y
1000# CONFIG_DRM is not set 1017# CONFIG_DRM is not set
1001# CONFIG_VGASTATE is not set 1018# CONFIG_VGASTATE is not set
1002CONFIG_VIDEO_OUTPUT_CONTROL=m 1019CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1010,7 +1027,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1010# CONFIG_SOUND is not set 1027# CONFIG_SOUND is not set
1011CONFIG_HID_SUPPORT=y 1028CONFIG_HID_SUPPORT=y
1012CONFIG_HID=y 1029CONFIG_HID=y
1013# CONFIG_HID_DEBUG is not set
1014# CONFIG_HIDRAW is not set 1030# CONFIG_HIDRAW is not set
1015 1031
1016# 1032#
@@ -1033,6 +1049,7 @@ CONFIG_HID_CYPRESS=y
1033CONFIG_HID_EZKEY=y 1049CONFIG_HID_EZKEY=y
1034# CONFIG_HID_KYE is not set 1050# CONFIG_HID_KYE is not set
1035CONFIG_HID_GYRATION=y 1051CONFIG_HID_GYRATION=y
1052# CONFIG_HID_TWINHAN is not set
1036# CONFIG_HID_KENSINGTON is not set 1053# CONFIG_HID_KENSINGTON is not set
1037CONFIG_HID_LOGITECH=y 1054CONFIG_HID_LOGITECH=y
1038# CONFIG_LOGITECH_FF is not set 1055# CONFIG_LOGITECH_FF is not set
@@ -1085,6 +1102,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1085# CONFIG_USB_OXU210HP_HCD is not set 1102# CONFIG_USB_OXU210HP_HCD is not set
1086# CONFIG_USB_ISP116X_HCD is not set 1103# CONFIG_USB_ISP116X_HCD is not set
1087# CONFIG_USB_ISP1760_HCD is not set 1104# CONFIG_USB_ISP1760_HCD is not set
1105# CONFIG_USB_ISP1362_HCD is not set
1088# CONFIG_USB_OHCI_HCD is not set 1106# CONFIG_USB_OHCI_HCD is not set
1089# CONFIG_USB_UHCI_HCD is not set 1107# CONFIG_USB_UHCI_HCD is not set
1090# CONFIG_USB_SL811_HCD is not set 1108# CONFIG_USB_SL811_HCD is not set
@@ -1142,6 +1160,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1142# CONFIG_USB_LD is not set 1160# CONFIG_USB_LD is not set
1143# CONFIG_USB_TRANCEVIBRATOR is not set 1161# CONFIG_USB_TRANCEVIBRATOR is not set
1144# CONFIG_USB_IOWARRIOR is not set 1162# CONFIG_USB_IOWARRIOR is not set
1163# CONFIG_USB_TEST is not set
1145# CONFIG_USB_ISIGHTFW is not set 1164# CONFIG_USB_ISIGHTFW is not set
1146# CONFIG_USB_VST is not set 1165# CONFIG_USB_VST is not set
1147# CONFIG_USB_GADGET is not set 1166# CONFIG_USB_GADGET is not set
@@ -1188,6 +1207,7 @@ CONFIG_FS_MBCACHE=y
1188# CONFIG_GFS2_FS is not set 1207# CONFIG_GFS2_FS is not set
1189# CONFIG_OCFS2_FS is not set 1208# CONFIG_OCFS2_FS is not set
1190# CONFIG_BTRFS_FS is not set 1209# CONFIG_BTRFS_FS is not set
1210# CONFIG_NILFS2_FS is not set
1191CONFIG_FILE_LOCKING=y 1211CONFIG_FILE_LOCKING=y
1192CONFIG_FSNOTIFY=y 1212CONFIG_FSNOTIFY=y
1193CONFIG_DNOTIFY=y 1213CONFIG_DNOTIFY=y
@@ -1246,7 +1266,6 @@ CONFIG_MISC_FILESYSTEMS=y
1246# CONFIG_ROMFS_FS is not set 1266# CONFIG_ROMFS_FS is not set
1247# CONFIG_SYSV_FS is not set 1267# CONFIG_SYSV_FS is not set
1248# CONFIG_UFS_FS is not set 1268# CONFIG_UFS_FS is not set
1249# CONFIG_NILFS2_FS is not set
1250CONFIG_NETWORK_FILESYSTEMS=y 1269CONFIG_NETWORK_FILESYSTEMS=y
1251CONFIG_NFS_FS=y 1270CONFIG_NFS_FS=y
1252CONFIG_NFS_V3=y 1271CONFIG_NFS_V3=y
@@ -1361,6 +1380,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1361# CONFIG_ENABLE_MUST_CHECK is not set 1380# CONFIG_ENABLE_MUST_CHECK is not set
1362CONFIG_FRAME_WARN=1024 1381CONFIG_FRAME_WARN=1024
1363# CONFIG_MAGIC_SYSRQ is not set 1382# CONFIG_MAGIC_SYSRQ is not set
1383# CONFIG_STRIP_ASM_SYMS is not set
1364# CONFIG_UNUSED_SYMBOLS is not set 1384# CONFIG_UNUSED_SYMBOLS is not set
1365# CONFIG_DEBUG_FS is not set 1385# CONFIG_DEBUG_FS is not set
1366# CONFIG_HEADERS_CHECK is not set 1386# CONFIG_HEADERS_CHECK is not set
@@ -1376,6 +1396,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1376CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1396CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1377CONFIG_TRACING_SUPPORT=y 1397CONFIG_TRACING_SUPPORT=y
1378# CONFIG_FTRACE is not set 1398# CONFIG_FTRACE is not set
1399# CONFIG_DMA_API_DEBUG is not set
1379# CONFIG_SAMPLES is not set 1400# CONFIG_SAMPLES is not set
1380CONFIG_HAVE_ARCH_KGDB=y 1401CONFIG_HAVE_ARCH_KGDB=y
1381# CONFIG_PPC_DISABLE_WERROR is not set 1402# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1396,12 +1417,13 @@ CONFIG_XOR_BLOCKS=y
1396CONFIG_ASYNC_CORE=y 1417CONFIG_ASYNC_CORE=y
1397CONFIG_ASYNC_MEMCPY=y 1418CONFIG_ASYNC_MEMCPY=y
1398CONFIG_ASYNC_XOR=y 1419CONFIG_ASYNC_XOR=y
1420CONFIG_ASYNC_PQ=y
1421CONFIG_ASYNC_RAID6_RECOV=y
1399CONFIG_CRYPTO=y 1422CONFIG_CRYPTO=y
1400 1423
1401# 1424#
1402# Crypto core or helper 1425# Crypto core or helper
1403# 1426#
1404# CONFIG_CRYPTO_FIPS is not set
1405CONFIG_CRYPTO_ALGAPI=y 1427CONFIG_CRYPTO_ALGAPI=y
1406CONFIG_CRYPTO_ALGAPI2=y 1428CONFIG_CRYPTO_ALGAPI2=y
1407CONFIG_CRYPTO_AEAD2=y 1429CONFIG_CRYPTO_AEAD2=y
@@ -1443,11 +1465,13 @@ CONFIG_CRYPTO_PCBC=m
1443# 1465#
1444# CONFIG_CRYPTO_HMAC is not set 1466# CONFIG_CRYPTO_HMAC is not set
1445# CONFIG_CRYPTO_XCBC is not set 1467# CONFIG_CRYPTO_XCBC is not set
1468# CONFIG_CRYPTO_VMAC is not set
1446 1469
1447# 1470#
1448# Digest 1471# Digest
1449# 1472#
1450# CONFIG_CRYPTO_CRC32C is not set 1473# CONFIG_CRYPTO_CRC32C is not set
1474# CONFIG_CRYPTO_GHASH is not set
1451# CONFIG_CRYPTO_MD4 is not set 1475# CONFIG_CRYPTO_MD4 is not set
1452CONFIG_CRYPTO_MD5=y 1476CONFIG_CRYPTO_MD5=y
1453# CONFIG_CRYPTO_MICHAEL_MIC is not set 1477# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig
index 3a68f861b1bd..6b399154970f 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.31-rc5 3# Linux kernel version: 2.6.32-rc5
4# Tue Aug 11 19:57:51 2009 4# Thu Nov 5 08:20:31 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -124,27 +126,28 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 127CONFIG_SHMEM=y
126CONFIG_AIO=y 128CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
128 130
129# 131#
130# Performance Counters 132# Kernel Performance Events And Counters
131# 133#
134# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
135# CONFIG_STRIP_ASM_SYMS is not set
136CONFIG_COMPAT_BRK=y 138CONFIG_COMPAT_BRK=y
137CONFIG_SLAB=y 139CONFIG_SLAB=y
138# CONFIG_SLUB is not set 140# CONFIG_SLUB is not set
139# CONFIG_SLOB is not set 141# CONFIG_SLOB is not set
140# CONFIG_PROFILING is not set 142# CONFIG_PROFILING is not set
141# CONFIG_MARKERS is not set
142CONFIG_HAVE_OPROFILE=y 143CONFIG_HAVE_OPROFILE=y
143CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
144CONFIG_HAVE_IOREMAP_PROT=y 145CONFIG_HAVE_IOREMAP_PROT=y
145CONFIG_HAVE_KPROBES=y 146CONFIG_HAVE_KPROBES=y
146CONFIG_HAVE_KRETPROBES=y 147CONFIG_HAVE_KRETPROBES=y
147CONFIG_HAVE_ARCH_TRACEHOOK=y 148CONFIG_HAVE_ARCH_TRACEHOOK=y
149CONFIG_HAVE_DMA_ATTRS=y
150CONFIG_HAVE_DMA_API_DEBUG=y
148 151
149# 152#
150# GCOV-based kernel profiling 153# GCOV-based kernel profiling
@@ -254,6 +257,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
254CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 257CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
255# CONFIG_KEXEC is not set 258# CONFIG_KEXEC is not set
256# CONFIG_CRASH_DUMP is not set 259# CONFIG_CRASH_DUMP is not set
260CONFIG_MAX_ACTIVE_REGIONS=32
257CONFIG_ARCH_FLATMEM_ENABLE=y 261CONFIG_ARCH_FLATMEM_ENABLE=y
258CONFIG_ARCH_POPULATES_NODE_MAP=y 262CONFIG_ARCH_POPULATES_NODE_MAP=y
259CONFIG_SELECT_MEMORY_MODEL=y 263CONFIG_SELECT_MEMORY_MODEL=y
@@ -271,6 +275,7 @@ CONFIG_BOUNCE=y
271CONFIG_VIRT_TO_BUS=y 275CONFIG_VIRT_TO_BUS=y
272CONFIG_HAVE_MLOCK=y 276CONFIG_HAVE_MLOCK=y
273CONFIG_HAVE_MLOCKED_PAGE_BIT=y 277CONFIG_HAVE_MLOCKED_PAGE_BIT=y
278# CONFIG_KSM is not set
274CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 279CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
275CONFIG_PPC_4K_PAGES=y 280CONFIG_PPC_4K_PAGES=y
276# CONFIG_PPC_16K_PAGES is not set 281# CONFIG_PPC_16K_PAGES is not set
@@ -366,6 +371,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
366# CONFIG_NETFILTER is not set 371# CONFIG_NETFILTER is not set
367# CONFIG_IP_DCCP is not set 372# CONFIG_IP_DCCP is not set
368# CONFIG_IP_SCTP is not set 373# CONFIG_IP_SCTP is not set
374# CONFIG_RDS is not set
369# CONFIG_TIPC is not set 375# CONFIG_TIPC is not set
370# CONFIG_ATM is not set 376# CONFIG_ATM is not set
371# CONFIG_BRIDGE is not set 377# CONFIG_BRIDGE is not set
@@ -395,6 +401,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
395# CONFIG_AF_RXRPC is not set 401# CONFIG_AF_RXRPC is not set
396CONFIG_WIRELESS=y 402CONFIG_WIRELESS=y
397# CONFIG_CFG80211 is not set 403# CONFIG_CFG80211 is not set
404CONFIG_CFG80211_DEFAULT_PS_VALUE=0
398CONFIG_WIRELESS_OLD_REGULATORY=y 405CONFIG_WIRELESS_OLD_REGULATORY=y
399# CONFIG_WIRELESS_EXT is not set 406# CONFIG_WIRELESS_EXT is not set
400# CONFIG_LIB80211 is not set 407# CONFIG_LIB80211 is not set
@@ -402,7 +409,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
402# 409#
403# CFG80211 needs to be enabled for MAC80211 410# CFG80211 needs to be enabled for MAC80211
404# 411#
405CONFIG_MAC80211_DEFAULT_PS_VALUE=0
406# CONFIG_WIMAX is not set 412# CONFIG_WIMAX is not set
407# CONFIG_RFKILL is not set 413# CONFIG_RFKILL is not set
408# CONFIG_NET_9P is not set 414# CONFIG_NET_9P is not set
@@ -415,6 +421,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
415# Generic Driver Options 421# Generic Driver Options
416# 422#
417CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 423CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
424# CONFIG_DEVTMPFS is not set
418CONFIG_STANDALONE=y 425CONFIG_STANDALONE=y
419CONFIG_PREVENT_FIRMWARE_BUILD=y 426CONFIG_PREVENT_FIRMWARE_BUILD=y
420# CONFIG_FW_LOADER is not set 427# CONFIG_FW_LOADER is not set
@@ -422,9 +429,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
422# CONFIG_CONNECTOR is not set 429# CONFIG_CONNECTOR is not set
423CONFIG_MTD=y 430CONFIG_MTD=y
424# CONFIG_MTD_DEBUG is not set 431# CONFIG_MTD_DEBUG is not set
432# CONFIG_MTD_TESTS is not set
425CONFIG_MTD_CONCAT=y 433CONFIG_MTD_CONCAT=y
426CONFIG_MTD_PARTITIONS=y 434CONFIG_MTD_PARTITIONS=y
427# CONFIG_MTD_TESTS is not set
428# CONFIG_MTD_REDBOOT_PARTS is not set 435# CONFIG_MTD_REDBOOT_PARTS is not set
429CONFIG_MTD_CMDLINE_PARTS=y 436CONFIG_MTD_CMDLINE_PARTS=y
430CONFIG_MTD_OF_PARTS=y 437CONFIG_MTD_OF_PARTS=y
@@ -651,7 +658,9 @@ CONFIG_MII=y
651# CONFIG_NET_PCI is not set 658# CONFIG_NET_PCI is not set
652# CONFIG_B44 is not set 659# CONFIG_B44 is not set
653# CONFIG_KS8842 is not set 660# CONFIG_KS8842 is not set
661# CONFIG_KS8851_MLL is not set
654# CONFIG_ATL2 is not set 662# CONFIG_ATL2 is not set
663# CONFIG_XILINX_EMACLITE is not set
655CONFIG_NETDEV_1000=y 664CONFIG_NETDEV_1000=y
656# CONFIG_ACENIC is not set 665# CONFIG_ACENIC is not set
657# CONFIG_DL2K is not set 666# CONFIG_DL2K is not set
@@ -681,10 +690,7 @@ CONFIG_GIANFAR=y
681# CONFIG_JME is not set 690# CONFIG_JME is not set
682# CONFIG_NETDEV_10000 is not set 691# CONFIG_NETDEV_10000 is not set
683# CONFIG_TR is not set 692# CONFIG_TR is not set
684 693CONFIG_WLAN=y
685#
686# Wireless LAN
687#
688# CONFIG_WLAN_PRE80211 is not set 694# CONFIG_WLAN_PRE80211 is not set
689# CONFIG_WLAN_80211 is not set 695# CONFIG_WLAN_80211 is not set
690 696
@@ -786,6 +792,7 @@ CONFIG_GEN_RTC=y
786CONFIG_DEVPORT=y 792CONFIG_DEVPORT=y
787CONFIG_I2C=y 793CONFIG_I2C=y
788CONFIG_I2C_BOARDINFO=y 794CONFIG_I2C_BOARDINFO=y
795CONFIG_I2C_COMPAT=y
789CONFIG_I2C_CHARDEV=y 796CONFIG_I2C_CHARDEV=y
790CONFIG_I2C_HELPER_AUTO=y 797CONFIG_I2C_HELPER_AUTO=y
791 798
@@ -840,9 +847,6 @@ CONFIG_I2C_MPC=y
840# Miscellaneous I2C Chip support 847# Miscellaneous I2C Chip support
841# 848#
842# CONFIG_DS1682 is not set 849# CONFIG_DS1682 is not set
843# CONFIG_SENSORS_PCF8574 is not set
844# CONFIG_PCF8575 is not set
845# CONFIG_SENSORS_PCA9539 is not set
846# CONFIG_SENSORS_TSL2550 is not set 850# CONFIG_SENSORS_TSL2550 is not set
847# CONFIG_I2C_DEBUG_CORE is not set 851# CONFIG_I2C_DEBUG_CORE is not set
848# CONFIG_I2C_DEBUG_ALGO is not set 852# CONFIG_I2C_DEBUG_ALGO is not set
@@ -860,6 +864,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
860# CONFIG_POWER_SUPPLY is not set 864# CONFIG_POWER_SUPPLY is not set
861CONFIG_HWMON=y 865CONFIG_HWMON=y
862# CONFIG_HWMON_VID is not set 866# CONFIG_HWMON_VID is not set
867# CONFIG_HWMON_DEBUG_CHIP is not set
868
869#
870# Native drivers
871#
863# CONFIG_SENSORS_AD7414 is not set 872# CONFIG_SENSORS_AD7414 is not set
864# CONFIG_SENSORS_AD7418 is not set 873# CONFIG_SENSORS_AD7418 is not set
865# CONFIG_SENSORS_ADM1021 is not set 874# CONFIG_SENSORS_ADM1021 is not set
@@ -909,6 +918,7 @@ CONFIG_HWMON=y
909# CONFIG_SENSORS_ADS7828 is not set 918# CONFIG_SENSORS_ADS7828 is not set
910# CONFIG_SENSORS_THMC50 is not set 919# CONFIG_SENSORS_THMC50 is not set
911# CONFIG_SENSORS_TMP401 is not set 920# CONFIG_SENSORS_TMP401 is not set
921# CONFIG_SENSORS_TMP421 is not set
912# CONFIG_SENSORS_VIA686A is not set 922# CONFIG_SENSORS_VIA686A is not set
913# CONFIG_SENSORS_VT1211 is not set 923# CONFIG_SENSORS_VT1211 is not set
914# CONFIG_SENSORS_VT8231 is not set 924# CONFIG_SENSORS_VT8231 is not set
@@ -920,9 +930,7 @@ CONFIG_HWMON=y
920# CONFIG_SENSORS_W83L786NG is not set 930# CONFIG_SENSORS_W83L786NG is not set
921# CONFIG_SENSORS_W83627HF is not set 931# CONFIG_SENSORS_W83627HF is not set
922# CONFIG_SENSORS_W83627EHF is not set 932# CONFIG_SENSORS_W83627EHF is not set
923# CONFIG_HWMON_DEBUG_CHIP is not set
924# CONFIG_THERMAL is not set 933# CONFIG_THERMAL is not set
925# CONFIG_THERMAL_HWMON is not set
926CONFIG_WATCHDOG=y 934CONFIG_WATCHDOG=y
927# CONFIG_WATCHDOG_NOWAYOUT is not set 935# CONFIG_WATCHDOG_NOWAYOUT is not set
928 936
@@ -960,6 +968,7 @@ CONFIG_SSB_POSSIBLE=y
960# CONFIG_MFD_TMIO is not set 968# CONFIG_MFD_TMIO is not set
961# CONFIG_PMIC_DA903X is not set 969# CONFIG_PMIC_DA903X is not set
962# CONFIG_MFD_WM8400 is not set 970# CONFIG_MFD_WM8400 is not set
971# CONFIG_MFD_WM831X is not set
963# CONFIG_MFD_WM8350_I2C is not set 972# CONFIG_MFD_WM8350_I2C is not set
964# CONFIG_MFD_PCF50633 is not set 973# CONFIG_MFD_PCF50633 is not set
965# CONFIG_AB3100_CORE is not set 974# CONFIG_AB3100_CORE is not set
@@ -970,6 +979,7 @@ CONFIG_SSB_POSSIBLE=y
970# Graphics support 979# Graphics support
971# 980#
972# CONFIG_AGP is not set 981# CONFIG_AGP is not set
982CONFIG_VGA_ARB=y
973# CONFIG_DRM is not set 983# CONFIG_DRM is not set
974# CONFIG_VGASTATE is not set 984# CONFIG_VGASTATE is not set
975# CONFIG_VIDEO_OUTPUT_CONTROL is not set 985# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -983,7 +993,6 @@ CONFIG_SSB_POSSIBLE=y
983# CONFIG_SOUND is not set 993# CONFIG_SOUND is not set
984CONFIG_HID_SUPPORT=y 994CONFIG_HID_SUPPORT=y
985CONFIG_HID=y 995CONFIG_HID=y
986# CONFIG_HID_DEBUG is not set
987# CONFIG_HIDRAW is not set 996# CONFIG_HIDRAW is not set
988 997
989# 998#
@@ -1035,6 +1044,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1035# CONFIG_USB_OXU210HP_HCD is not set 1044# CONFIG_USB_OXU210HP_HCD is not set
1036# CONFIG_USB_ISP116X_HCD is not set 1045# CONFIG_USB_ISP116X_HCD is not set
1037# CONFIG_USB_ISP1760_HCD is not set 1046# CONFIG_USB_ISP1760_HCD is not set
1047# CONFIG_USB_ISP1362_HCD is not set
1038# CONFIG_USB_OHCI_HCD is not set 1048# CONFIG_USB_OHCI_HCD is not set
1039# CONFIG_USB_UHCI_HCD is not set 1049# CONFIG_USB_UHCI_HCD is not set
1040# CONFIG_USB_SL811_HCD is not set 1050# CONFIG_USB_SL811_HCD is not set
@@ -1148,6 +1158,7 @@ CONFIG_JBD=y
1148# CONFIG_GFS2_FS is not set 1158# CONFIG_GFS2_FS is not set
1149# CONFIG_OCFS2_FS is not set 1159# CONFIG_OCFS2_FS is not set
1150# CONFIG_BTRFS_FS is not set 1160# CONFIG_BTRFS_FS is not set
1161# CONFIG_NILFS2_FS is not set
1151CONFIG_FILE_LOCKING=y 1162CONFIG_FILE_LOCKING=y
1152CONFIG_FSNOTIFY=y 1163CONFIG_FSNOTIFY=y
1153CONFIG_DNOTIFY=y 1164CONFIG_DNOTIFY=y
@@ -1207,7 +1218,6 @@ CONFIG_MISC_FILESYSTEMS=y
1207# CONFIG_ROMFS_FS is not set 1218# CONFIG_ROMFS_FS is not set
1208# CONFIG_SYSV_FS is not set 1219# CONFIG_SYSV_FS is not set
1209# CONFIG_UFS_FS is not set 1220# CONFIG_UFS_FS is not set
1210# CONFIG_NILFS2_FS is not set
1211CONFIG_NETWORK_FILESYSTEMS=y 1221CONFIG_NETWORK_FILESYSTEMS=y
1212CONFIG_NFS_FS=y 1222CONFIG_NFS_FS=y
1213CONFIG_NFS_V3=y 1223CONFIG_NFS_V3=y
@@ -1306,6 +1316,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1306CONFIG_ENABLE_MUST_CHECK=y 1316CONFIG_ENABLE_MUST_CHECK=y
1307CONFIG_FRAME_WARN=1024 1317CONFIG_FRAME_WARN=1024
1308# CONFIG_MAGIC_SYSRQ is not set 1318# CONFIG_MAGIC_SYSRQ is not set
1319# CONFIG_STRIP_ASM_SYMS is not set
1309# CONFIG_UNUSED_SYMBOLS is not set 1320# CONFIG_UNUSED_SYMBOLS is not set
1310# CONFIG_DEBUG_FS is not set 1321# CONFIG_DEBUG_FS is not set
1311# CONFIG_HEADERS_CHECK is not set 1322# CONFIG_HEADERS_CHECK is not set
@@ -1321,6 +1332,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1321CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1332CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1322CONFIG_TRACING_SUPPORT=y 1333CONFIG_TRACING_SUPPORT=y
1323# CONFIG_FTRACE is not set 1334# CONFIG_FTRACE is not set
1335# CONFIG_DMA_API_DEBUG is not set
1324# CONFIG_SAMPLES is not set 1336# CONFIG_SAMPLES is not set
1325CONFIG_HAVE_ARCH_KGDB=y 1337CONFIG_HAVE_ARCH_KGDB=y
1326# CONFIG_PPC_DISABLE_WERROR is not set 1338# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1342,7 +1354,6 @@ CONFIG_CRYPTO=y
1342# 1354#
1343# Crypto core or helper 1355# Crypto core or helper
1344# 1356#
1345# CONFIG_CRYPTO_FIPS is not set
1346CONFIG_CRYPTO_ALGAPI=y 1357CONFIG_CRYPTO_ALGAPI=y
1347CONFIG_CRYPTO_ALGAPI2=y 1358CONFIG_CRYPTO_ALGAPI2=y
1348CONFIG_CRYPTO_AEAD2=y 1359CONFIG_CRYPTO_AEAD2=y
@@ -1384,11 +1395,13 @@ CONFIG_CRYPTO_PCBC=m
1384# 1395#
1385# CONFIG_CRYPTO_HMAC is not set 1396# CONFIG_CRYPTO_HMAC is not set
1386# CONFIG_CRYPTO_XCBC is not set 1397# CONFIG_CRYPTO_XCBC is not set
1398# CONFIG_CRYPTO_VMAC is not set
1387 1399
1388# 1400#
1389# Digest 1401# Digest
1390# 1402#
1391# CONFIG_CRYPTO_CRC32C is not set 1403# CONFIG_CRYPTO_CRC32C is not set
1404# CONFIG_CRYPTO_GHASH is not set
1392# CONFIG_CRYPTO_MD4 is not set 1405# CONFIG_CRYPTO_MD4 is not set
1393CONFIG_CRYPTO_MD5=y 1406CONFIG_CRYPTO_MD5=y
1394# CONFIG_CRYPTO_MICHAEL_MIC is not set 1407# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig
index ff04e1028f5e..a5bde8da462c 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:14 2009 4# Thu Nov 5 08:20:32 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +87,12 @@ CONFIG_SYSVIPC_SYSCTL=y
85# 87#
86# RCU Subsystem 88# RCU Subsystem
87# 89#
88CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
95# CONFIG_GROUP_SCHED is not set 98# CONFIG_GROUP_SCHED is not set
@@ -123,28 +126,29 @@ CONFIG_TIMERFD=y
123CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
124CONFIG_SHMEM=y 127CONFIG_SHMEM=y
125CONFIG_AIO=y 128CONFIG_AIO=y
126CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
127 130
128# 131#
129# Performance Counters 132# Kernel Performance Events And Counters
130# 133#
134# CONFIG_PERF_EVENTS is not set
131# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
132CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
133CONFIG_SLUB_DEBUG=y 137CONFIG_SLUB_DEBUG=y
134# CONFIG_STRIP_ASM_SYMS is not set
135CONFIG_COMPAT_BRK=y 138CONFIG_COMPAT_BRK=y
136# CONFIG_SLAB is not set 139# CONFIG_SLAB is not set
137CONFIG_SLUB=y 140CONFIG_SLUB=y
138# CONFIG_SLOB is not set 141# CONFIG_SLOB is not set
139# CONFIG_PROFILING is not set 142# CONFIG_PROFILING is not set
140# CONFIG_MARKERS is not set
141CONFIG_HAVE_OPROFILE=y 143CONFIG_HAVE_OPROFILE=y
142CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
143CONFIG_HAVE_IOREMAP_PROT=y 145CONFIG_HAVE_IOREMAP_PROT=y
144CONFIG_HAVE_KPROBES=y 146CONFIG_HAVE_KPROBES=y
145CONFIG_HAVE_KRETPROBES=y 147CONFIG_HAVE_KRETPROBES=y
146CONFIG_HAVE_ARCH_TRACEHOOK=y 148CONFIG_HAVE_ARCH_TRACEHOOK=y
149CONFIG_HAVE_DMA_ATTRS=y
147CONFIG_HAVE_CLK=y 150CONFIG_HAVE_CLK=y
151CONFIG_HAVE_DMA_API_DEBUG=y
148 152
149# 153#
150# GCOV-based kernel profiling 154# GCOV-based kernel profiling
@@ -188,6 +192,7 @@ CONFIG_MPC85xx=y
188# CONFIG_MPC85xx_MDS is not set 192# CONFIG_MPC85xx_MDS is not set
189# CONFIG_MPC8536_DS is not set 193# CONFIG_MPC8536_DS is not set
190# CONFIG_MPC85xx_DS is not set 194# CONFIG_MPC85xx_DS is not set
195# CONFIG_MPC85xx_RDB is not set
191# CONFIG_SOCRATES is not set 196# CONFIG_SOCRATES is not set
192CONFIG_KSI8560=y 197CONFIG_KSI8560=y
193# CONFIG_XES_MPC85xx is not set 198# CONFIG_XES_MPC85xx is not set
@@ -243,6 +248,7 @@ CONFIG_MATH_EMULATION=y
243CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 248CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
244CONFIG_ARCH_HAS_WALK_MEMORY=y 249CONFIG_ARCH_HAS_WALK_MEMORY=y
245CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 250CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
251CONFIG_MAX_ACTIVE_REGIONS=32
246CONFIG_ARCH_FLATMEM_ENABLE=y 252CONFIG_ARCH_FLATMEM_ENABLE=y
247CONFIG_ARCH_POPULATES_NODE_MAP=y 253CONFIG_ARCH_POPULATES_NODE_MAP=y
248CONFIG_SELECT_MEMORY_MODEL=y 254CONFIG_SELECT_MEMORY_MODEL=y
@@ -260,6 +266,7 @@ CONFIG_BOUNCE=y
260CONFIG_VIRT_TO_BUS=y 266CONFIG_VIRT_TO_BUS=y
261CONFIG_HAVE_MLOCK=y 267CONFIG_HAVE_MLOCK=y
262CONFIG_HAVE_MLOCKED_PAGE_BIT=y 268CONFIG_HAVE_MLOCKED_PAGE_BIT=y
269# CONFIG_KSM is not set
263CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 270CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
264CONFIG_PPC_4K_PAGES=y 271CONFIG_PPC_4K_PAGES=y
265# CONFIG_PPC_16K_PAGES is not set 272# CONFIG_PPC_16K_PAGES is not set
@@ -348,6 +355,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
348# CONFIG_NETFILTER is not set 355# CONFIG_NETFILTER is not set
349# CONFIG_IP_DCCP is not set 356# CONFIG_IP_DCCP is not set
350# CONFIG_IP_SCTP is not set 357# CONFIG_IP_SCTP is not set
358# CONFIG_RDS is not set
351# CONFIG_TIPC is not set 359# CONFIG_TIPC is not set
352# CONFIG_ATM is not set 360# CONFIG_ATM is not set
353# CONFIG_BRIDGE is not set 361# CONFIG_BRIDGE is not set
@@ -377,6 +385,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
377# CONFIG_AF_RXRPC is not set 385# CONFIG_AF_RXRPC is not set
378CONFIG_WIRELESS=y 386CONFIG_WIRELESS=y
379# CONFIG_CFG80211 is not set 387# CONFIG_CFG80211 is not set
388CONFIG_CFG80211_DEFAULT_PS_VALUE=0
380CONFIG_WIRELESS_OLD_REGULATORY=y 389CONFIG_WIRELESS_OLD_REGULATORY=y
381# CONFIG_WIRELESS_EXT is not set 390# CONFIG_WIRELESS_EXT is not set
382# CONFIG_LIB80211 is not set 391# CONFIG_LIB80211 is not set
@@ -384,7 +393,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
384# 393#
385# CFG80211 needs to be enabled for MAC80211 394# CFG80211 needs to be enabled for MAC80211
386# 395#
387CONFIG_MAC80211_DEFAULT_PS_VALUE=0
388# CONFIG_WIMAX is not set 396# CONFIG_WIMAX is not set
389# CONFIG_RFKILL is not set 397# CONFIG_RFKILL is not set
390# CONFIG_NET_9P is not set 398# CONFIG_NET_9P is not set
@@ -397,6 +405,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
397# Generic Driver Options 405# Generic Driver Options
398# 406#
399CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 407CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
408# CONFIG_DEVTMPFS is not set
400CONFIG_STANDALONE=y 409CONFIG_STANDALONE=y
401CONFIG_PREVENT_FIRMWARE_BUILD=y 410CONFIG_PREVENT_FIRMWARE_BUILD=y
402# CONFIG_FW_LOADER is not set 411# CONFIG_FW_LOADER is not set
@@ -582,6 +591,8 @@ CONFIG_MII=y
582# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 591# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
583# CONFIG_B44 is not set 592# CONFIG_B44 is not set
584# CONFIG_KS8842 is not set 593# CONFIG_KS8842 is not set
594# CONFIG_KS8851_MLL is not set
595# CONFIG_XILINX_EMACLITE is not set
585CONFIG_FS_ENET=y 596CONFIG_FS_ENET=y
586# CONFIG_FS_ENET_HAS_SCC is not set 597# CONFIG_FS_ENET_HAS_SCC is not set
587CONFIG_FS_ENET_HAS_FCC=y 598CONFIG_FS_ENET_HAS_FCC=y
@@ -591,10 +602,7 @@ CONFIG_FSL_PQ_MDIO=y
591CONFIG_GIANFAR=y 602CONFIG_GIANFAR=y
592# CONFIG_MV643XX_ETH is not set 603# CONFIG_MV643XX_ETH is not set
593CONFIG_NETDEV_10000=y 604CONFIG_NETDEV_10000=y
594 605CONFIG_WLAN=y
595#
596# Wireless LAN
597#
598# CONFIG_WLAN_PRE80211 is not set 606# CONFIG_WLAN_PRE80211 is not set
599# CONFIG_WLAN_80211 is not set 607# CONFIG_WLAN_80211 is not set
600 608
@@ -704,10 +712,19 @@ CONFIG_GPIOLIB=y
704# 712#
705# SPI GPIO expanders: 713# SPI GPIO expanders:
706# 714#
715
716#
717# AC97 GPIO expanders:
718#
707# CONFIG_W1 is not set 719# CONFIG_W1 is not set
708# CONFIG_POWER_SUPPLY is not set 720# CONFIG_POWER_SUPPLY is not set
709CONFIG_HWMON=y 721CONFIG_HWMON=y
710# CONFIG_HWMON_VID is not set 722# CONFIG_HWMON_VID is not set
723# CONFIG_HWMON_DEBUG_CHIP is not set
724
725#
726# Native drivers
727#
711# CONFIG_SENSORS_F71805F is not set 728# CONFIG_SENSORS_F71805F is not set
712# CONFIG_SENSORS_F71882FG is not set 729# CONFIG_SENSORS_F71882FG is not set
713# CONFIG_SENSORS_IT87 is not set 730# CONFIG_SENSORS_IT87 is not set
@@ -719,9 +736,7 @@ CONFIG_HWMON=y
719# CONFIG_SENSORS_VT1211 is not set 736# CONFIG_SENSORS_VT1211 is not set
720# CONFIG_SENSORS_W83627HF is not set 737# CONFIG_SENSORS_W83627HF is not set
721# CONFIG_SENSORS_W83627EHF is not set 738# CONFIG_SENSORS_W83627EHF is not set
722# CONFIG_HWMON_DEBUG_CHIP is not set
723# CONFIG_THERMAL is not set 739# CONFIG_THERMAL is not set
724# CONFIG_THERMAL_HWMON is not set
725# CONFIG_WATCHDOG is not set 740# CONFIG_WATCHDOG is not set
726CONFIG_SSB_POSSIBLE=y 741CONFIG_SSB_POSSIBLE=y
727 742
@@ -755,7 +770,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
755# CONFIG_SOUND is not set 770# CONFIG_SOUND is not set
756CONFIG_HID_SUPPORT=y 771CONFIG_HID_SUPPORT=y
757CONFIG_HID=y 772CONFIG_HID=y
758# CONFIG_HID_DEBUG is not set
759# CONFIG_HIDRAW is not set 773# CONFIG_HIDRAW is not set
760# CONFIG_HID_PID is not set 774# CONFIG_HID_PID is not set
761 775
@@ -818,6 +832,7 @@ CONFIG_FS_MBCACHE=y
818# CONFIG_GFS2_FS is not set 832# CONFIG_GFS2_FS is not set
819# CONFIG_OCFS2_FS is not set 833# CONFIG_OCFS2_FS is not set
820# CONFIG_BTRFS_FS is not set 834# CONFIG_BTRFS_FS is not set
835# CONFIG_NILFS2_FS is not set
821CONFIG_FILE_LOCKING=y 836CONFIG_FILE_LOCKING=y
822CONFIG_FSNOTIFY=y 837CONFIG_FSNOTIFY=y
823CONFIG_DNOTIFY=y 838CONFIG_DNOTIFY=y
@@ -877,7 +892,6 @@ CONFIG_MISC_FILESYSTEMS=y
877# CONFIG_ROMFS_FS is not set 892# CONFIG_ROMFS_FS is not set
878# CONFIG_SYSV_FS is not set 893# CONFIG_SYSV_FS is not set
879# CONFIG_UFS_FS is not set 894# CONFIG_UFS_FS is not set
880# CONFIG_NILFS2_FS is not set
881CONFIG_NETWORK_FILESYSTEMS=y 895CONFIG_NETWORK_FILESYSTEMS=y
882CONFIG_NFS_FS=y 896CONFIG_NFS_FS=y
883# CONFIG_NFS_V3 is not set 897# CONFIG_NFS_V3 is not set
@@ -945,6 +959,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
945CONFIG_ENABLE_MUST_CHECK=y 959CONFIG_ENABLE_MUST_CHECK=y
946CONFIG_FRAME_WARN=1024 960CONFIG_FRAME_WARN=1024
947# CONFIG_MAGIC_SYSRQ is not set 961# CONFIG_MAGIC_SYSRQ is not set
962# CONFIG_STRIP_ASM_SYMS is not set
948# CONFIG_UNUSED_SYMBOLS is not set 963# CONFIG_UNUSED_SYMBOLS is not set
949CONFIG_DEBUG_FS=y 964CONFIG_DEBUG_FS=y
950# CONFIG_HEADERS_CHECK is not set 965# CONFIG_HEADERS_CHECK is not set
@@ -962,6 +977,7 @@ CONFIG_SCHED_DEBUG=y
962# CONFIG_DEBUG_OBJECTS is not set 977# CONFIG_DEBUG_OBJECTS is not set
963# CONFIG_SLUB_DEBUG_ON is not set 978# CONFIG_SLUB_DEBUG_ON is not set
964# CONFIG_SLUB_STATS is not set 979# CONFIG_SLUB_STATS is not set
980# CONFIG_DEBUG_KMEMLEAK is not set
965# CONFIG_DEBUG_RT_MUTEXES is not set 981# CONFIG_DEBUG_RT_MUTEXES is not set
966# CONFIG_RT_MUTEX_TESTER is not set 982# CONFIG_RT_MUTEX_TESTER is not set
967# CONFIG_DEBUG_SPINLOCK is not set 983# CONFIG_DEBUG_SPINLOCK is not set
@@ -981,10 +997,12 @@ CONFIG_DEBUG_MUTEXES=y
981# CONFIG_DEBUG_LIST is not set 997# CONFIG_DEBUG_LIST is not set
982# CONFIG_DEBUG_SG is not set 998# CONFIG_DEBUG_SG is not set
983# CONFIG_DEBUG_NOTIFIERS is not set 999# CONFIG_DEBUG_NOTIFIERS is not set
1000# CONFIG_DEBUG_CREDENTIALS is not set
984# CONFIG_RCU_TORTURE_TEST is not set 1001# CONFIG_RCU_TORTURE_TEST is not set
985# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1002# CONFIG_RCU_CPU_STALL_DETECTOR is not set
986# CONFIG_BACKTRACE_SELF_TEST is not set 1003# CONFIG_BACKTRACE_SELF_TEST is not set
987# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1004# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1005# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
988# CONFIG_FAULT_INJECTION is not set 1006# CONFIG_FAULT_INJECTION is not set
989# CONFIG_LATENCYTOP is not set 1007# CONFIG_LATENCYTOP is not set
990CONFIG_SYSCTL_SYSCALL_CHECK=y 1008CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1008,10 +1026,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1008# CONFIG_WORKQUEUE_TRACER is not set 1026# CONFIG_WORKQUEUE_TRACER is not set
1009# CONFIG_BLK_DEV_IO_TRACE is not set 1027# CONFIG_BLK_DEV_IO_TRACE is not set
1010# CONFIG_DYNAMIC_DEBUG is not set 1028# CONFIG_DYNAMIC_DEBUG is not set
1029# CONFIG_DMA_API_DEBUG is not set
1011# CONFIG_SAMPLES is not set 1030# CONFIG_SAMPLES is not set
1012CONFIG_HAVE_ARCH_KGDB=y 1031CONFIG_HAVE_ARCH_KGDB=y
1013# CONFIG_KGDB is not set 1032# CONFIG_KGDB is not set
1014# CONFIG_KMEMCHECK is not set
1015# CONFIG_PPC_DISABLE_WERROR is not set 1033# CONFIG_PPC_DISABLE_WERROR is not set
1016CONFIG_PPC_WERROR=y 1034CONFIG_PPC_WERROR=y
1017CONFIG_PRINT_STACK_DEPTH=64 1035CONFIG_PRINT_STACK_DEPTH=64
@@ -1039,7 +1057,6 @@ CONFIG_CRYPTO=y
1039# 1057#
1040# Crypto core or helper 1058# Crypto core or helper
1041# 1059#
1042# CONFIG_CRYPTO_FIPS is not set
1043# CONFIG_CRYPTO_MANAGER is not set 1060# CONFIG_CRYPTO_MANAGER is not set
1044# CONFIG_CRYPTO_MANAGER2 is not set 1061# CONFIG_CRYPTO_MANAGER2 is not set
1045# CONFIG_CRYPTO_GF128MUL is not set 1062# CONFIG_CRYPTO_GF128MUL is not set
@@ -1070,11 +1087,13 @@ CONFIG_CRYPTO=y
1070# 1087#
1071# CONFIG_CRYPTO_HMAC is not set 1088# CONFIG_CRYPTO_HMAC is not set
1072# CONFIG_CRYPTO_XCBC is not set 1089# CONFIG_CRYPTO_XCBC is not set
1090# CONFIG_CRYPTO_VMAC is not set
1073 1091
1074# 1092#
1075# Digest 1093# Digest
1076# 1094#
1077# CONFIG_CRYPTO_CRC32C is not set 1095# CONFIG_CRYPTO_CRC32C is not set
1096# CONFIG_CRYPTO_GHASH is not set
1078# CONFIG_CRYPTO_MD4 is not set 1097# CONFIG_CRYPTO_MD4 is not set
1079# CONFIG_CRYPTO_MD5 is not set 1098# CONFIG_CRYPTO_MD5 is not set
1080# CONFIG_CRYPTO_MICHAEL_MIC is not set 1099# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
index fb10cc83702e..c10e26f8763f 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:15 2009 4# Thu Nov 5 08:20:33 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 86#
85# RCU Subsystem 87# RCU Subsystem
86# 88#
87CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -126,27 +129,28 @@ CONFIG_TIMERFD=y
126CONFIG_EVENTFD=y 129CONFIG_EVENTFD=y
127CONFIG_SHMEM=y 130CONFIG_SHMEM=y
128CONFIG_AIO=y 131CONFIG_AIO=y
129CONFIG_HAVE_PERF_COUNTERS=y 132CONFIG_HAVE_PERF_EVENTS=y
130 133
131# 134#
132# Performance Counters 135# Kernel Performance Events And Counters
133# 136#
137# CONFIG_PERF_EVENTS is not set
134# CONFIG_PERF_COUNTERS is not set 138# CONFIG_PERF_COUNTERS is not set
135CONFIG_VM_EVENT_COUNTERS=y 139CONFIG_VM_EVENT_COUNTERS=y
136CONFIG_SLUB_DEBUG=y 140CONFIG_SLUB_DEBUG=y
137# CONFIG_STRIP_ASM_SYMS is not set
138CONFIG_COMPAT_BRK=y 141CONFIG_COMPAT_BRK=y
139# CONFIG_SLAB is not set 142# CONFIG_SLAB is not set
140CONFIG_SLUB=y 143CONFIG_SLUB=y
141# CONFIG_SLOB is not set 144# CONFIG_SLOB is not set
142# CONFIG_PROFILING is not set 145# CONFIG_PROFILING is not set
143# CONFIG_MARKERS is not set
144CONFIG_HAVE_OPROFILE=y 146CONFIG_HAVE_OPROFILE=y
145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 147CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
146CONFIG_HAVE_IOREMAP_PROT=y 148CONFIG_HAVE_IOREMAP_PROT=y
147CONFIG_HAVE_KPROBES=y 149CONFIG_HAVE_KPROBES=y
148CONFIG_HAVE_KRETPROBES=y 150CONFIG_HAVE_KRETPROBES=y
149CONFIG_HAVE_ARCH_TRACEHOOK=y 151CONFIG_HAVE_ARCH_TRACEHOOK=y
152CONFIG_HAVE_DMA_ATTRS=y
153CONFIG_HAVE_DMA_API_DEBUG=y
150 154
151# 155#
152# GCOV-based kernel profiling 156# GCOV-based kernel profiling
@@ -189,6 +193,7 @@ CONFIG_MPC8540_ADS=y
189# CONFIG_MPC85xx_MDS is not set 193# CONFIG_MPC85xx_MDS is not set
190# CONFIG_MPC8536_DS is not set 194# CONFIG_MPC8536_DS is not set
191# CONFIG_MPC85xx_DS is not set 195# CONFIG_MPC85xx_DS is not set
196# CONFIG_MPC85xx_RDB is not set
192# CONFIG_SOCRATES is not set 197# CONFIG_SOCRATES is not set
193# CONFIG_KSI8560 is not set 198# CONFIG_KSI8560 is not set
194# CONFIG_XES_MPC85xx is not set 199# CONFIG_XES_MPC85xx is not set
@@ -244,6 +249,7 @@ CONFIG_MATH_EMULATION=y
244CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 249CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
245CONFIG_ARCH_HAS_WALK_MEMORY=y 250CONFIG_ARCH_HAS_WALK_MEMORY=y
246CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 251CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
252CONFIG_MAX_ACTIVE_REGIONS=32
247CONFIG_ARCH_FLATMEM_ENABLE=y 253CONFIG_ARCH_FLATMEM_ENABLE=y
248CONFIG_ARCH_POPULATES_NODE_MAP=y 254CONFIG_ARCH_POPULATES_NODE_MAP=y
249CONFIG_SELECT_MEMORY_MODEL=y 255CONFIG_SELECT_MEMORY_MODEL=y
@@ -261,6 +267,7 @@ CONFIG_BOUNCE=y
261CONFIG_VIRT_TO_BUS=y 267CONFIG_VIRT_TO_BUS=y
262CONFIG_HAVE_MLOCK=y 268CONFIG_HAVE_MLOCK=y
263CONFIG_HAVE_MLOCKED_PAGE_BIT=y 269CONFIG_HAVE_MLOCKED_PAGE_BIT=y
270# CONFIG_KSM is not set
264CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 271CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
265CONFIG_PPC_4K_PAGES=y 272CONFIG_PPC_4K_PAGES=y
266# CONFIG_PPC_16K_PAGES is not set 273# CONFIG_PPC_16K_PAGES is not set
@@ -349,6 +356,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
349# CONFIG_NETFILTER is not set 356# CONFIG_NETFILTER is not set
350# CONFIG_IP_DCCP is not set 357# CONFIG_IP_DCCP is not set
351# CONFIG_IP_SCTP is not set 358# CONFIG_IP_SCTP is not set
359# CONFIG_RDS is not set
352# CONFIG_TIPC is not set 360# CONFIG_TIPC is not set
353# CONFIG_ATM is not set 361# CONFIG_ATM is not set
354# CONFIG_BRIDGE is not set 362# CONFIG_BRIDGE is not set
@@ -378,6 +386,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
378# CONFIG_AF_RXRPC is not set 386# CONFIG_AF_RXRPC is not set
379CONFIG_WIRELESS=y 387CONFIG_WIRELESS=y
380# CONFIG_CFG80211 is not set 388# CONFIG_CFG80211 is not set
389CONFIG_CFG80211_DEFAULT_PS_VALUE=0
381CONFIG_WIRELESS_OLD_REGULATORY=y 390CONFIG_WIRELESS_OLD_REGULATORY=y
382# CONFIG_WIRELESS_EXT is not set 391# CONFIG_WIRELESS_EXT is not set
383# CONFIG_LIB80211 is not set 392# CONFIG_LIB80211 is not set
@@ -385,7 +394,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
385# 394#
386# CFG80211 needs to be enabled for MAC80211 395# CFG80211 needs to be enabled for MAC80211
387# 396#
388CONFIG_MAC80211_DEFAULT_PS_VALUE=0
389# CONFIG_WIMAX is not set 397# CONFIG_WIMAX is not set
390# CONFIG_RFKILL is not set 398# CONFIG_RFKILL is not set
391# CONFIG_NET_9P is not set 399# CONFIG_NET_9P is not set
@@ -398,6 +406,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
398# Generic Driver Options 406# Generic Driver Options
399# 407#
400CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 408CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
409# CONFIG_DEVTMPFS is not set
401CONFIG_STANDALONE=y 410CONFIG_STANDALONE=y
402CONFIG_PREVENT_FIRMWARE_BUILD=y 411CONFIG_PREVENT_FIRMWARE_BUILD=y
403# CONFIG_FW_LOADER is not set 412# CONFIG_FW_LOADER is not set
@@ -483,15 +492,14 @@ CONFIG_MII=y
483# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 492# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
484# CONFIG_B44 is not set 493# CONFIG_B44 is not set
485# CONFIG_KS8842 is not set 494# CONFIG_KS8842 is not set
495# CONFIG_KS8851_MLL is not set
496# CONFIG_XILINX_EMACLITE is not set
486CONFIG_NETDEV_1000=y 497CONFIG_NETDEV_1000=y
487CONFIG_FSL_PQ_MDIO=y 498CONFIG_FSL_PQ_MDIO=y
488CONFIG_GIANFAR=y 499CONFIG_GIANFAR=y
489# CONFIG_MV643XX_ETH is not set 500# CONFIG_MV643XX_ETH is not set
490CONFIG_NETDEV_10000=y 501CONFIG_NETDEV_10000=y
491 502CONFIG_WLAN=y
492#
493# Wireless LAN
494#
495# CONFIG_WLAN_PRE80211 is not set 503# CONFIG_WLAN_PRE80211 is not set
496# CONFIG_WLAN_80211 is not set 504# CONFIG_WLAN_80211 is not set
497 505
@@ -588,6 +596,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
588# CONFIG_POWER_SUPPLY is not set 596# CONFIG_POWER_SUPPLY is not set
589CONFIG_HWMON=y 597CONFIG_HWMON=y
590# CONFIG_HWMON_VID is not set 598# CONFIG_HWMON_VID is not set
599# CONFIG_HWMON_DEBUG_CHIP is not set
600
601#
602# Native drivers
603#
591# CONFIG_SENSORS_F71805F is not set 604# CONFIG_SENSORS_F71805F is not set
592# CONFIG_SENSORS_F71882FG is not set 605# CONFIG_SENSORS_F71882FG is not set
593# CONFIG_SENSORS_IT87 is not set 606# CONFIG_SENSORS_IT87 is not set
@@ -598,9 +611,7 @@ CONFIG_HWMON=y
598# CONFIG_SENSORS_VT1211 is not set 611# CONFIG_SENSORS_VT1211 is not set
599# CONFIG_SENSORS_W83627HF is not set 612# CONFIG_SENSORS_W83627HF is not set
600# CONFIG_SENSORS_W83627EHF is not set 613# CONFIG_SENSORS_W83627EHF is not set
601# CONFIG_HWMON_DEBUG_CHIP is not set
602# CONFIG_THERMAL is not set 614# CONFIG_THERMAL is not set
603# CONFIG_THERMAL_HWMON is not set
604# CONFIG_WATCHDOG is not set 615# CONFIG_WATCHDOG is not set
605CONFIG_SSB_POSSIBLE=y 616CONFIG_SSB_POSSIBLE=y
606 617
@@ -634,7 +645,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
634# CONFIG_SOUND is not set 645# CONFIG_SOUND is not set
635CONFIG_HID_SUPPORT=y 646CONFIG_HID_SUPPORT=y
636CONFIG_HID=y 647CONFIG_HID=y
637# CONFIG_HID_DEBUG is not set
638# CONFIG_HIDRAW is not set 648# CONFIG_HIDRAW is not set
639# CONFIG_HID_PID is not set 649# CONFIG_HID_PID is not set
640 650
@@ -696,6 +706,7 @@ CONFIG_FS_MBCACHE=y
696# CONFIG_GFS2_FS is not set 706# CONFIG_GFS2_FS is not set
697# CONFIG_OCFS2_FS is not set 707# CONFIG_OCFS2_FS is not set
698# CONFIG_BTRFS_FS is not set 708# CONFIG_BTRFS_FS is not set
709# CONFIG_NILFS2_FS is not set
699CONFIG_FILE_LOCKING=y 710CONFIG_FILE_LOCKING=y
700CONFIG_FSNOTIFY=y 711CONFIG_FSNOTIFY=y
701CONFIG_DNOTIFY=y 712CONFIG_DNOTIFY=y
@@ -754,7 +765,6 @@ CONFIG_MISC_FILESYSTEMS=y
754# CONFIG_ROMFS_FS is not set 765# CONFIG_ROMFS_FS is not set
755# CONFIG_SYSV_FS is not set 766# CONFIG_SYSV_FS is not set
756# CONFIG_UFS_FS is not set 767# CONFIG_UFS_FS is not set
757# CONFIG_NILFS2_FS is not set
758CONFIG_NETWORK_FILESYSTEMS=y 768CONFIG_NETWORK_FILESYSTEMS=y
759CONFIG_NFS_FS=y 769CONFIG_NFS_FS=y
760# CONFIG_NFS_V3 is not set 770# CONFIG_NFS_V3 is not set
@@ -822,6 +832,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
822CONFIG_ENABLE_MUST_CHECK=y 832CONFIG_ENABLE_MUST_CHECK=y
823CONFIG_FRAME_WARN=1024 833CONFIG_FRAME_WARN=1024
824# CONFIG_MAGIC_SYSRQ is not set 834# CONFIG_MAGIC_SYSRQ is not set
835# CONFIG_STRIP_ASM_SYMS is not set
825# CONFIG_UNUSED_SYMBOLS is not set 836# CONFIG_UNUSED_SYMBOLS is not set
826# CONFIG_DEBUG_FS is not set 837# CONFIG_DEBUG_FS is not set
827# CONFIG_HEADERS_CHECK is not set 838# CONFIG_HEADERS_CHECK is not set
@@ -839,6 +850,7 @@ CONFIG_SCHED_DEBUG=y
839# CONFIG_DEBUG_OBJECTS is not set 850# CONFIG_DEBUG_OBJECTS is not set
840# CONFIG_SLUB_DEBUG_ON is not set 851# CONFIG_SLUB_DEBUG_ON is not set
841# CONFIG_SLUB_STATS is not set 852# CONFIG_SLUB_STATS is not set
853# CONFIG_DEBUG_KMEMLEAK is not set
842# CONFIG_DEBUG_RT_MUTEXES is not set 854# CONFIG_DEBUG_RT_MUTEXES is not set
843# CONFIG_RT_MUTEX_TESTER is not set 855# CONFIG_RT_MUTEX_TESTER is not set
844# CONFIG_DEBUG_SPINLOCK is not set 856# CONFIG_DEBUG_SPINLOCK is not set
@@ -857,10 +869,12 @@ CONFIG_DEBUG_MUTEXES=y
857# CONFIG_DEBUG_LIST is not set 869# CONFIG_DEBUG_LIST is not set
858# CONFIG_DEBUG_SG is not set 870# CONFIG_DEBUG_SG is not set
859# CONFIG_DEBUG_NOTIFIERS is not set 871# CONFIG_DEBUG_NOTIFIERS is not set
872# CONFIG_DEBUG_CREDENTIALS is not set
860# CONFIG_RCU_TORTURE_TEST is not set 873# CONFIG_RCU_TORTURE_TEST is not set
861# CONFIG_RCU_CPU_STALL_DETECTOR is not set 874# CONFIG_RCU_CPU_STALL_DETECTOR is not set
862# CONFIG_BACKTRACE_SELF_TEST is not set 875# CONFIG_BACKTRACE_SELF_TEST is not set
863# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 876# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
877# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
864# CONFIG_FAULT_INJECTION is not set 878# CONFIG_FAULT_INJECTION is not set
865# CONFIG_LATENCYTOP is not set 879# CONFIG_LATENCYTOP is not set
866CONFIG_SYSCTL_SYSCALL_CHECK=y 880CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -883,10 +897,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
883# CONFIG_KMEMTRACE is not set 897# CONFIG_KMEMTRACE is not set
884# CONFIG_WORKQUEUE_TRACER is not set 898# CONFIG_WORKQUEUE_TRACER is not set
885# CONFIG_BLK_DEV_IO_TRACE is not set 899# CONFIG_BLK_DEV_IO_TRACE is not set
900# CONFIG_DMA_API_DEBUG is not set
886# CONFIG_SAMPLES is not set 901# CONFIG_SAMPLES is not set
887CONFIG_HAVE_ARCH_KGDB=y 902CONFIG_HAVE_ARCH_KGDB=y
888# CONFIG_KGDB is not set 903# CONFIG_KGDB is not set
889# CONFIG_KMEMCHECK is not set
890# CONFIG_PPC_DISABLE_WERROR is not set 904# CONFIG_PPC_DISABLE_WERROR is not set
891CONFIG_PPC_WERROR=y 905CONFIG_PPC_WERROR=y
892CONFIG_PRINT_STACK_DEPTH=64 906CONFIG_PRINT_STACK_DEPTH=64
@@ -912,7 +926,6 @@ CONFIG_CRYPTO=y
912# 926#
913# Crypto core or helper 927# Crypto core or helper
914# 928#
915# CONFIG_CRYPTO_FIPS is not set
916# CONFIG_CRYPTO_MANAGER is not set 929# CONFIG_CRYPTO_MANAGER is not set
917# CONFIG_CRYPTO_MANAGER2 is not set 930# CONFIG_CRYPTO_MANAGER2 is not set
918# CONFIG_CRYPTO_GF128MUL is not set 931# CONFIG_CRYPTO_GF128MUL is not set
@@ -943,11 +956,13 @@ CONFIG_CRYPTO=y
943# 956#
944# CONFIG_CRYPTO_HMAC is not set 957# CONFIG_CRYPTO_HMAC is not set
945# CONFIG_CRYPTO_XCBC is not set 958# CONFIG_CRYPTO_XCBC is not set
959# CONFIG_CRYPTO_VMAC is not set
946 960
947# 961#
948# Digest 962# Digest
949# 963#
950# CONFIG_CRYPTO_CRC32C is not set 964# CONFIG_CRYPTO_CRC32C is not set
965# CONFIG_CRYPTO_GHASH is not set
951# CONFIG_CRYPTO_MD4 is not set 966# CONFIG_CRYPTO_MD4 is not set
952# CONFIG_CRYPTO_MD5 is not set 967# CONFIG_CRYPTO_MD5 is not set
953# CONFIG_CRYPTO_MICHAEL_MIC is not set 968# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
index 5c8ce6978825..8d9f0a4b5205 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:16 2009 4# Thu Nov 5 08:20:34 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +87,12 @@ CONFIG_SYSVIPC_SYSCTL=y
85# 87#
86# RCU Subsystem 88# RCU Subsystem
87# 89#
88CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
95CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -127,29 +130,30 @@ CONFIG_TIMERFD=y
127CONFIG_EVENTFD=y 130CONFIG_EVENTFD=y
128CONFIG_SHMEM=y 131CONFIG_SHMEM=y
129CONFIG_AIO=y 132CONFIG_AIO=y
130CONFIG_HAVE_PERF_COUNTERS=y 133CONFIG_HAVE_PERF_EVENTS=y
131 134
132# 135#
133# Performance Counters 136# Kernel Performance Events And Counters
134# 137#
138# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set 139# CONFIG_PERF_COUNTERS is not set
136CONFIG_VM_EVENT_COUNTERS=y 140CONFIG_VM_EVENT_COUNTERS=y
137CONFIG_PCI_QUIRKS=y 141CONFIG_PCI_QUIRKS=y
138CONFIG_SLUB_DEBUG=y 142CONFIG_SLUB_DEBUG=y
139# CONFIG_STRIP_ASM_SYMS is not set
140CONFIG_COMPAT_BRK=y 143CONFIG_COMPAT_BRK=y
141# CONFIG_SLAB is not set 144# CONFIG_SLAB is not set
142CONFIG_SLUB=y 145CONFIG_SLUB=y
143# CONFIG_SLOB is not set 146# CONFIG_SLOB is not set
144# CONFIG_PROFILING is not set 147# CONFIG_PROFILING is not set
145# CONFIG_MARKERS is not set
146CONFIG_HAVE_OPROFILE=y 148CONFIG_HAVE_OPROFILE=y
147CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 149CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
148CONFIG_HAVE_IOREMAP_PROT=y 150CONFIG_HAVE_IOREMAP_PROT=y
149CONFIG_HAVE_KPROBES=y 151CONFIG_HAVE_KPROBES=y
150CONFIG_HAVE_KRETPROBES=y 152CONFIG_HAVE_KRETPROBES=y
151CONFIG_HAVE_ARCH_TRACEHOOK=y 153CONFIG_HAVE_ARCH_TRACEHOOK=y
154CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_CLK=y 155CONFIG_HAVE_CLK=y
156CONFIG_HAVE_DMA_API_DEBUG=y
153 157
154# 158#
155# GCOV-based kernel profiling 159# GCOV-based kernel profiling
@@ -192,6 +196,7 @@ CONFIG_MPC8560_ADS=y
192# CONFIG_MPC85xx_MDS is not set 196# CONFIG_MPC85xx_MDS is not set
193# CONFIG_MPC8536_DS is not set 197# CONFIG_MPC8536_DS is not set
194# CONFIG_MPC85xx_DS is not set 198# CONFIG_MPC85xx_DS is not set
199# CONFIG_MPC85xx_RDB is not set
195# CONFIG_SOCRATES is not set 200# CONFIG_SOCRATES is not set
196# CONFIG_KSI8560 is not set 201# CONFIG_KSI8560 is not set
197# CONFIG_XES_MPC85xx is not set 202# CONFIG_XES_MPC85xx is not set
@@ -247,6 +252,7 @@ CONFIG_MATH_EMULATION=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 252CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
248CONFIG_ARCH_HAS_WALK_MEMORY=y 253CONFIG_ARCH_HAS_WALK_MEMORY=y
249CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 254CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
255CONFIG_MAX_ACTIVE_REGIONS=32
250CONFIG_ARCH_FLATMEM_ENABLE=y 256CONFIG_ARCH_FLATMEM_ENABLE=y
251CONFIG_ARCH_POPULATES_NODE_MAP=y 257CONFIG_ARCH_POPULATES_NODE_MAP=y
252CONFIG_SELECT_MEMORY_MODEL=y 258CONFIG_SELECT_MEMORY_MODEL=y
@@ -264,6 +270,7 @@ CONFIG_BOUNCE=y
264CONFIG_VIRT_TO_BUS=y 270CONFIG_VIRT_TO_BUS=y
265CONFIG_HAVE_MLOCK=y 271CONFIG_HAVE_MLOCK=y
266CONFIG_HAVE_MLOCKED_PAGE_BIT=y 272CONFIG_HAVE_MLOCKED_PAGE_BIT=y
273# CONFIG_KSM is not set
267CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 274CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
268CONFIG_PPC_4K_PAGES=y 275CONFIG_PPC_4K_PAGES=y
269# CONFIG_PPC_16K_PAGES is not set 276# CONFIG_PPC_16K_PAGES is not set
@@ -361,6 +368,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
361# CONFIG_NETFILTER is not set 368# CONFIG_NETFILTER is not set
362# CONFIG_IP_DCCP is not set 369# CONFIG_IP_DCCP is not set
363# CONFIG_IP_SCTP is not set 370# CONFIG_IP_SCTP is not set
371# CONFIG_RDS is not set
364# CONFIG_TIPC is not set 372# CONFIG_TIPC is not set
365# CONFIG_ATM is not set 373# CONFIG_ATM is not set
366# CONFIG_BRIDGE is not set 374# CONFIG_BRIDGE is not set
@@ -390,6 +398,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
390# CONFIG_AF_RXRPC is not set 398# CONFIG_AF_RXRPC is not set
391CONFIG_WIRELESS=y 399CONFIG_WIRELESS=y
392# CONFIG_CFG80211 is not set 400# CONFIG_CFG80211 is not set
401CONFIG_CFG80211_DEFAULT_PS_VALUE=0
393CONFIG_WIRELESS_OLD_REGULATORY=y 402CONFIG_WIRELESS_OLD_REGULATORY=y
394# CONFIG_WIRELESS_EXT is not set 403# CONFIG_WIRELESS_EXT is not set
395# CONFIG_LIB80211 is not set 404# CONFIG_LIB80211 is not set
@@ -397,7 +406,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
397# 406#
398# CFG80211 needs to be enabled for MAC80211 407# CFG80211 needs to be enabled for MAC80211
399# 408#
400CONFIG_MAC80211_DEFAULT_PS_VALUE=0
401# CONFIG_WIMAX is not set 409# CONFIG_WIMAX is not set
402# CONFIG_RFKILL is not set 410# CONFIG_RFKILL is not set
403# CONFIG_NET_9P is not set 411# CONFIG_NET_9P is not set
@@ -410,6 +418,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
410# Generic Driver Options 418# Generic Driver Options
411# 419#
412CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
421# CONFIG_DEVTMPFS is not set
413CONFIG_STANDALONE=y 422CONFIG_STANDALONE=y
414CONFIG_PREVENT_FIRMWARE_BUILD=y 423CONFIG_PREVENT_FIRMWARE_BUILD=y
415# CONFIG_FW_LOADER is not set 424# CONFIG_FW_LOADER is not set
@@ -530,7 +539,9 @@ CONFIG_MII=y
530# CONFIG_NET_PCI is not set 539# CONFIG_NET_PCI is not set
531# CONFIG_B44 is not set 540# CONFIG_B44 is not set
532# CONFIG_KS8842 is not set 541# CONFIG_KS8842 is not set
542# CONFIG_KS8851_MLL is not set
533# CONFIG_ATL2 is not set 543# CONFIG_ATL2 is not set
544# CONFIG_XILINX_EMACLITE is not set
534CONFIG_FS_ENET=y 545CONFIG_FS_ENET=y
535# CONFIG_FS_ENET_HAS_SCC is not set 546# CONFIG_FS_ENET_HAS_SCC is not set
536CONFIG_FS_ENET_HAS_FCC=y 547CONFIG_FS_ENET_HAS_FCC=y
@@ -582,10 +593,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
582# CONFIG_SFC is not set 593# CONFIG_SFC is not set
583# CONFIG_BE2NET is not set 594# CONFIG_BE2NET is not set
584# CONFIG_TR is not set 595# CONFIG_TR is not set
585 596CONFIG_WLAN=y
586#
587# Wireless LAN
588#
589# CONFIG_WLAN_PRE80211 is not set 597# CONFIG_WLAN_PRE80211 is not set
590# CONFIG_WLAN_80211 is not set 598# CONFIG_WLAN_80211 is not set
591 599
@@ -698,14 +706,24 @@ CONFIG_GPIOLIB=y
698# PCI GPIO expanders: 706# PCI GPIO expanders:
699# 707#
700# CONFIG_GPIO_BT8XX is not set 708# CONFIG_GPIO_BT8XX is not set
709# CONFIG_GPIO_LANGWELL is not set
701 710
702# 711#
703# SPI GPIO expanders: 712# SPI GPIO expanders:
704# 713#
714
715#
716# AC97 GPIO expanders:
717#
705# CONFIG_W1 is not set 718# CONFIG_W1 is not set
706# CONFIG_POWER_SUPPLY is not set 719# CONFIG_POWER_SUPPLY is not set
707CONFIG_HWMON=y 720CONFIG_HWMON=y
708# CONFIG_HWMON_VID is not set 721# CONFIG_HWMON_VID is not set
722# CONFIG_HWMON_DEBUG_CHIP is not set
723
724#
725# Native drivers
726#
709# CONFIG_SENSORS_I5K_AMB is not set 727# CONFIG_SENSORS_I5K_AMB is not set
710# CONFIG_SENSORS_F71805F is not set 728# CONFIG_SENSORS_F71805F is not set
711# CONFIG_SENSORS_F71882FG is not set 729# CONFIG_SENSORS_F71882FG is not set
@@ -721,9 +739,7 @@ CONFIG_HWMON=y
721# CONFIG_SENSORS_VT8231 is not set 739# CONFIG_SENSORS_VT8231 is not set
722# CONFIG_SENSORS_W83627HF is not set 740# CONFIG_SENSORS_W83627HF is not set
723# CONFIG_SENSORS_W83627EHF is not set 741# CONFIG_SENSORS_W83627EHF is not set
724# CONFIG_HWMON_DEBUG_CHIP is not set
725# CONFIG_THERMAL is not set 742# CONFIG_THERMAL is not set
726# CONFIG_THERMAL_HWMON is not set
727# CONFIG_WATCHDOG is not set 743# CONFIG_WATCHDOG is not set
728CONFIG_SSB_POSSIBLE=y 744CONFIG_SSB_POSSIBLE=y
729 745
@@ -746,6 +762,7 @@ CONFIG_SSB_POSSIBLE=y
746# Graphics support 762# Graphics support
747# 763#
748# CONFIG_AGP is not set 764# CONFIG_AGP is not set
765CONFIG_VGA_ARB=y
749# CONFIG_DRM is not set 766# CONFIG_DRM is not set
750# CONFIG_VGASTATE is not set 767# CONFIG_VGASTATE is not set
751CONFIG_VIDEO_OUTPUT_CONTROL=y 768CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -759,7 +776,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
759# CONFIG_SOUND is not set 776# CONFIG_SOUND is not set
760CONFIG_HID_SUPPORT=y 777CONFIG_HID_SUPPORT=y
761CONFIG_HID=y 778CONFIG_HID=y
762# CONFIG_HID_DEBUG is not set
763# CONFIG_HIDRAW is not set 779# CONFIG_HIDRAW is not set
764# CONFIG_HID_PID is not set 780# CONFIG_HID_PID is not set
765 781
@@ -824,6 +840,7 @@ CONFIG_FS_MBCACHE=y
824# CONFIG_GFS2_FS is not set 840# CONFIG_GFS2_FS is not set
825# CONFIG_OCFS2_FS is not set 841# CONFIG_OCFS2_FS is not set
826# CONFIG_BTRFS_FS is not set 842# CONFIG_BTRFS_FS is not set
843# CONFIG_NILFS2_FS is not set
827CONFIG_FILE_LOCKING=y 844CONFIG_FILE_LOCKING=y
828CONFIG_FSNOTIFY=y 845CONFIG_FSNOTIFY=y
829CONFIG_DNOTIFY=y 846CONFIG_DNOTIFY=y
@@ -882,7 +899,6 @@ CONFIG_MISC_FILESYSTEMS=y
882# CONFIG_ROMFS_FS is not set 899# CONFIG_ROMFS_FS is not set
883# CONFIG_SYSV_FS is not set 900# CONFIG_SYSV_FS is not set
884# CONFIG_UFS_FS is not set 901# CONFIG_UFS_FS is not set
885# CONFIG_NILFS2_FS is not set
886CONFIG_NETWORK_FILESYSTEMS=y 902CONFIG_NETWORK_FILESYSTEMS=y
887CONFIG_NFS_FS=y 903CONFIG_NFS_FS=y
888# CONFIG_NFS_V3 is not set 904# CONFIG_NFS_V3 is not set
@@ -950,6 +966,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
950CONFIG_ENABLE_MUST_CHECK=y 966CONFIG_ENABLE_MUST_CHECK=y
951CONFIG_FRAME_WARN=1024 967CONFIG_FRAME_WARN=1024
952# CONFIG_MAGIC_SYSRQ is not set 968# CONFIG_MAGIC_SYSRQ is not set
969# CONFIG_STRIP_ASM_SYMS is not set
953# CONFIG_UNUSED_SYMBOLS is not set 970# CONFIG_UNUSED_SYMBOLS is not set
954# CONFIG_DEBUG_FS is not set 971# CONFIG_DEBUG_FS is not set
955# CONFIG_HEADERS_CHECK is not set 972# CONFIG_HEADERS_CHECK is not set
@@ -967,6 +984,7 @@ CONFIG_SCHED_DEBUG=y
967# CONFIG_DEBUG_OBJECTS is not set 984# CONFIG_DEBUG_OBJECTS is not set
968# CONFIG_SLUB_DEBUG_ON is not set 985# CONFIG_SLUB_DEBUG_ON is not set
969# CONFIG_SLUB_STATS is not set 986# CONFIG_SLUB_STATS is not set
987# CONFIG_DEBUG_KMEMLEAK is not set
970# CONFIG_DEBUG_RT_MUTEXES is not set 988# CONFIG_DEBUG_RT_MUTEXES is not set
971# CONFIG_RT_MUTEX_TESTER is not set 989# CONFIG_RT_MUTEX_TESTER is not set
972# CONFIG_DEBUG_SPINLOCK is not set 990# CONFIG_DEBUG_SPINLOCK is not set
@@ -985,10 +1003,12 @@ CONFIG_DEBUG_MUTEXES=y
985# CONFIG_DEBUG_LIST is not set 1003# CONFIG_DEBUG_LIST is not set
986# CONFIG_DEBUG_SG is not set 1004# CONFIG_DEBUG_SG is not set
987# CONFIG_DEBUG_NOTIFIERS is not set 1005# CONFIG_DEBUG_NOTIFIERS is not set
1006# CONFIG_DEBUG_CREDENTIALS is not set
988# CONFIG_RCU_TORTURE_TEST is not set 1007# CONFIG_RCU_TORTURE_TEST is not set
989# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1008# CONFIG_RCU_CPU_STALL_DETECTOR is not set
990# CONFIG_BACKTRACE_SELF_TEST is not set 1009# CONFIG_BACKTRACE_SELF_TEST is not set
991# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1010# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1011# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
992# CONFIG_FAULT_INJECTION is not set 1012# CONFIG_FAULT_INJECTION is not set
993# CONFIG_LATENCYTOP is not set 1013# CONFIG_LATENCYTOP is not set
994CONFIG_SYSCTL_SYSCALL_CHECK=y 1014CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1011,10 +1031,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1011# CONFIG_KMEMTRACE is not set 1031# CONFIG_KMEMTRACE is not set
1012# CONFIG_WORKQUEUE_TRACER is not set 1032# CONFIG_WORKQUEUE_TRACER is not set
1013# CONFIG_BLK_DEV_IO_TRACE is not set 1033# CONFIG_BLK_DEV_IO_TRACE is not set
1034# CONFIG_DMA_API_DEBUG is not set
1014# CONFIG_SAMPLES is not set 1035# CONFIG_SAMPLES is not set
1015CONFIG_HAVE_ARCH_KGDB=y 1036CONFIG_HAVE_ARCH_KGDB=y
1016# CONFIG_KGDB is not set 1037# CONFIG_KGDB is not set
1017# CONFIG_KMEMCHECK is not set
1018# CONFIG_PPC_DISABLE_WERROR is not set 1038# CONFIG_PPC_DISABLE_WERROR is not set
1019CONFIG_PPC_WERROR=y 1039CONFIG_PPC_WERROR=y
1020CONFIG_PRINT_STACK_DEPTH=64 1040CONFIG_PRINT_STACK_DEPTH=64
@@ -1040,7 +1060,6 @@ CONFIG_CRYPTO=y
1040# 1060#
1041# Crypto core or helper 1061# Crypto core or helper
1042# 1062#
1043# CONFIG_CRYPTO_FIPS is not set
1044# CONFIG_CRYPTO_MANAGER is not set 1063# CONFIG_CRYPTO_MANAGER is not set
1045# CONFIG_CRYPTO_MANAGER2 is not set 1064# CONFIG_CRYPTO_MANAGER2 is not set
1046# CONFIG_CRYPTO_GF128MUL is not set 1065# CONFIG_CRYPTO_GF128MUL is not set
@@ -1071,11 +1090,13 @@ CONFIG_CRYPTO=y
1071# 1090#
1072# CONFIG_CRYPTO_HMAC is not set 1091# CONFIG_CRYPTO_HMAC is not set
1073# CONFIG_CRYPTO_XCBC is not set 1092# CONFIG_CRYPTO_XCBC is not set
1093# CONFIG_CRYPTO_VMAC is not set
1074 1094
1075# 1095#
1076# Digest 1096# Digest
1077# 1097#
1078# CONFIG_CRYPTO_CRC32C is not set 1098# CONFIG_CRYPTO_CRC32C is not set
1099# CONFIG_CRYPTO_GHASH is not set
1079# CONFIG_CRYPTO_MD4 is not set 1100# CONFIG_CRYPTO_MD4 is not set
1080# CONFIG_CRYPTO_MD5 is not set 1101# CONFIG_CRYPTO_MD5 is not set
1081# CONFIG_CRYPTO_MICHAEL_MIC is not set 1102# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
index 158e63e8607f..9b63e258dac6 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:17 2009 4# Thu Nov 5 08:20:35 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 86#
85# RCU Subsystem 87# RCU Subsystem
86# 88#
87CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -126,28 +129,29 @@ CONFIG_TIMERFD=y
126CONFIG_EVENTFD=y 129CONFIG_EVENTFD=y
127CONFIG_SHMEM=y 130CONFIG_SHMEM=y
128CONFIG_AIO=y 131CONFIG_AIO=y
129CONFIG_HAVE_PERF_COUNTERS=y 132CONFIG_HAVE_PERF_EVENTS=y
130 133
131# 134#
132# Performance Counters 135# Kernel Performance Events And Counters
133# 136#
137# CONFIG_PERF_EVENTS is not set
134# CONFIG_PERF_COUNTERS is not set 138# CONFIG_PERF_COUNTERS is not set
135CONFIG_VM_EVENT_COUNTERS=y 139CONFIG_VM_EVENT_COUNTERS=y
136CONFIG_PCI_QUIRKS=y 140CONFIG_PCI_QUIRKS=y
137CONFIG_SLUB_DEBUG=y 141CONFIG_SLUB_DEBUG=y
138# CONFIG_STRIP_ASM_SYMS is not set
139CONFIG_COMPAT_BRK=y 142CONFIG_COMPAT_BRK=y
140# CONFIG_SLAB is not set 143# CONFIG_SLAB is not set
141CONFIG_SLUB=y 144CONFIG_SLUB=y
142# CONFIG_SLOB is not set 145# CONFIG_SLOB is not set
143# CONFIG_PROFILING is not set 146# CONFIG_PROFILING is not set
144# CONFIG_MARKERS is not set
145CONFIG_HAVE_OPROFILE=y 147CONFIG_HAVE_OPROFILE=y
146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 148CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
147CONFIG_HAVE_IOREMAP_PROT=y 149CONFIG_HAVE_IOREMAP_PROT=y
148CONFIG_HAVE_KPROBES=y 150CONFIG_HAVE_KPROBES=y
149CONFIG_HAVE_KRETPROBES=y 151CONFIG_HAVE_KRETPROBES=y
150CONFIG_HAVE_ARCH_TRACEHOOK=y 152CONFIG_HAVE_ARCH_TRACEHOOK=y
153CONFIG_HAVE_DMA_ATTRS=y
154CONFIG_HAVE_DMA_API_DEBUG=y
151 155
152# 156#
153# GCOV-based kernel profiling 157# GCOV-based kernel profiling
@@ -190,6 +194,7 @@ CONFIG_MPC85xx_CDS=y
190# CONFIG_MPC85xx_MDS is not set 194# CONFIG_MPC85xx_MDS is not set
191# CONFIG_MPC8536_DS is not set 195# CONFIG_MPC8536_DS is not set
192# CONFIG_MPC85xx_DS is not set 196# CONFIG_MPC85xx_DS is not set
197# CONFIG_MPC85xx_RDB is not set
193# CONFIG_SOCRATES is not set 198# CONFIG_SOCRATES is not set
194# CONFIG_KSI8560 is not set 199# CONFIG_KSI8560 is not set
195# CONFIG_XES_MPC85xx is not set 200# CONFIG_XES_MPC85xx is not set
@@ -245,6 +250,7 @@ CONFIG_MATH_EMULATION=y
245CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 250CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
246CONFIG_ARCH_HAS_WALK_MEMORY=y 251CONFIG_ARCH_HAS_WALK_MEMORY=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 252CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
253CONFIG_MAX_ACTIVE_REGIONS=32
248CONFIG_ARCH_FLATMEM_ENABLE=y 254CONFIG_ARCH_FLATMEM_ENABLE=y
249CONFIG_ARCH_POPULATES_NODE_MAP=y 255CONFIG_ARCH_POPULATES_NODE_MAP=y
250CONFIG_SELECT_MEMORY_MODEL=y 256CONFIG_SELECT_MEMORY_MODEL=y
@@ -262,6 +268,7 @@ CONFIG_BOUNCE=y
262CONFIG_VIRT_TO_BUS=y 268CONFIG_VIRT_TO_BUS=y
263CONFIG_HAVE_MLOCK=y 269CONFIG_HAVE_MLOCK=y
264CONFIG_HAVE_MLOCKED_PAGE_BIT=y 270CONFIG_HAVE_MLOCKED_PAGE_BIT=y
271# CONFIG_KSM is not set
265CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 272CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
266CONFIG_PPC_4K_PAGES=y 273CONFIG_PPC_4K_PAGES=y
267# CONFIG_PPC_16K_PAGES is not set 274# CONFIG_PPC_16K_PAGES is not set
@@ -359,6 +366,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359# CONFIG_NETFILTER is not set 366# CONFIG_NETFILTER is not set
360# CONFIG_IP_DCCP is not set 367# CONFIG_IP_DCCP is not set
361# CONFIG_IP_SCTP is not set 368# CONFIG_IP_SCTP is not set
369# CONFIG_RDS is not set
362# CONFIG_TIPC is not set 370# CONFIG_TIPC is not set
363# CONFIG_ATM is not set 371# CONFIG_ATM is not set
364# CONFIG_BRIDGE is not set 372# CONFIG_BRIDGE is not set
@@ -388,6 +396,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
388# CONFIG_AF_RXRPC is not set 396# CONFIG_AF_RXRPC is not set
389CONFIG_WIRELESS=y 397CONFIG_WIRELESS=y
390# CONFIG_CFG80211 is not set 398# CONFIG_CFG80211 is not set
399CONFIG_CFG80211_DEFAULT_PS_VALUE=0
391CONFIG_WIRELESS_OLD_REGULATORY=y 400CONFIG_WIRELESS_OLD_REGULATORY=y
392# CONFIG_WIRELESS_EXT is not set 401# CONFIG_WIRELESS_EXT is not set
393# CONFIG_LIB80211 is not set 402# CONFIG_LIB80211 is not set
@@ -395,7 +404,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
395# 404#
396# CFG80211 needs to be enabled for MAC80211 405# CFG80211 needs to be enabled for MAC80211
397# 406#
398CONFIG_MAC80211_DEFAULT_PS_VALUE=0
399# CONFIG_WIMAX is not set 407# CONFIG_WIMAX is not set
400# CONFIG_RFKILL is not set 408# CONFIG_RFKILL is not set
401# CONFIG_NET_9P is not set 409# CONFIG_NET_9P is not set
@@ -408,6 +416,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
408# Generic Driver Options 416# Generic Driver Options
409# 417#
410CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 418CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
419# CONFIG_DEVTMPFS is not set
411CONFIG_STANDALONE=y 420CONFIG_STANDALONE=y
412CONFIG_PREVENT_FIRMWARE_BUILD=y 421CONFIG_PREVENT_FIRMWARE_BUILD=y
413# CONFIG_FW_LOADER is not set 422# CONFIG_FW_LOADER is not set
@@ -582,7 +591,9 @@ CONFIG_MII=y
582# CONFIG_NET_PCI is not set 591# CONFIG_NET_PCI is not set
583# CONFIG_B44 is not set 592# CONFIG_B44 is not set
584# CONFIG_KS8842 is not set 593# CONFIG_KS8842 is not set
594# CONFIG_KS8851_MLL is not set
585# CONFIG_ATL2 is not set 595# CONFIG_ATL2 is not set
596# CONFIG_XILINX_EMACLITE is not set
586CONFIG_NETDEV_1000=y 597CONFIG_NETDEV_1000=y
587# CONFIG_ACENIC is not set 598# CONFIG_ACENIC is not set
588# CONFIG_DL2K is not set 599# CONFIG_DL2K is not set
@@ -630,10 +641,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
630# CONFIG_SFC is not set 641# CONFIG_SFC is not set
631# CONFIG_BE2NET is not set 642# CONFIG_BE2NET is not set
632# CONFIG_TR is not set 643# CONFIG_TR is not set
633 644CONFIG_WLAN=y
634#
635# Wireless LAN
636#
637# CONFIG_WLAN_PRE80211 is not set 645# CONFIG_WLAN_PRE80211 is not set
638# CONFIG_WLAN_80211 is not set 646# CONFIG_WLAN_80211 is not set
639 647
@@ -737,6 +745,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
737# CONFIG_POWER_SUPPLY is not set 745# CONFIG_POWER_SUPPLY is not set
738CONFIG_HWMON=y 746CONFIG_HWMON=y
739# CONFIG_HWMON_VID is not set 747# CONFIG_HWMON_VID is not set
748# CONFIG_HWMON_DEBUG_CHIP is not set
749
750#
751# Native drivers
752#
740# CONFIG_SENSORS_I5K_AMB is not set 753# CONFIG_SENSORS_I5K_AMB is not set
741# CONFIG_SENSORS_F71805F is not set 754# CONFIG_SENSORS_F71805F is not set
742# CONFIG_SENSORS_F71882FG is not set 755# CONFIG_SENSORS_F71882FG is not set
@@ -751,9 +764,7 @@ CONFIG_HWMON=y
751# CONFIG_SENSORS_VT8231 is not set 764# CONFIG_SENSORS_VT8231 is not set
752# CONFIG_SENSORS_W83627HF is not set 765# CONFIG_SENSORS_W83627HF is not set
753# CONFIG_SENSORS_W83627EHF is not set 766# CONFIG_SENSORS_W83627EHF is not set
754# CONFIG_HWMON_DEBUG_CHIP is not set
755# CONFIG_THERMAL is not set 767# CONFIG_THERMAL is not set
756# CONFIG_THERMAL_HWMON is not set
757# CONFIG_WATCHDOG is not set 768# CONFIG_WATCHDOG is not set
758CONFIG_SSB_POSSIBLE=y 769CONFIG_SSB_POSSIBLE=y
759 770
@@ -776,6 +787,7 @@ CONFIG_SSB_POSSIBLE=y
776# Graphics support 787# Graphics support
777# 788#
778# CONFIG_AGP is not set 789# CONFIG_AGP is not set
790CONFIG_VGA_ARB=y
779# CONFIG_DRM is not set 791# CONFIG_DRM is not set
780# CONFIG_VGASTATE is not set 792# CONFIG_VGASTATE is not set
781CONFIG_VIDEO_OUTPUT_CONTROL=y 793CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -789,7 +801,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
789# CONFIG_SOUND is not set 801# CONFIG_SOUND is not set
790CONFIG_HID_SUPPORT=y 802CONFIG_HID_SUPPORT=y
791CONFIG_HID=y 803CONFIG_HID=y
792# CONFIG_HID_DEBUG is not set
793# CONFIG_HIDRAW is not set 804# CONFIG_HIDRAW is not set
794# CONFIG_HID_PID is not set 805# CONFIG_HID_PID is not set
795 806
@@ -854,6 +865,7 @@ CONFIG_FS_MBCACHE=y
854# CONFIG_GFS2_FS is not set 865# CONFIG_GFS2_FS is not set
855# CONFIG_OCFS2_FS is not set 866# CONFIG_OCFS2_FS is not set
856# CONFIG_BTRFS_FS is not set 867# CONFIG_BTRFS_FS is not set
868# CONFIG_NILFS2_FS is not set
857CONFIG_FILE_LOCKING=y 869CONFIG_FILE_LOCKING=y
858CONFIG_FSNOTIFY=y 870CONFIG_FSNOTIFY=y
859CONFIG_DNOTIFY=y 871CONFIG_DNOTIFY=y
@@ -912,7 +924,6 @@ CONFIG_MISC_FILESYSTEMS=y
912# CONFIG_ROMFS_FS is not set 924# CONFIG_ROMFS_FS is not set
913# CONFIG_SYSV_FS is not set 925# CONFIG_SYSV_FS is not set
914# CONFIG_UFS_FS is not set 926# CONFIG_UFS_FS is not set
915# CONFIG_NILFS2_FS is not set
916CONFIG_NETWORK_FILESYSTEMS=y 927CONFIG_NETWORK_FILESYSTEMS=y
917CONFIG_NFS_FS=y 928CONFIG_NFS_FS=y
918# CONFIG_NFS_V3 is not set 929# CONFIG_NFS_V3 is not set
@@ -980,6 +991,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
980CONFIG_ENABLE_MUST_CHECK=y 991CONFIG_ENABLE_MUST_CHECK=y
981CONFIG_FRAME_WARN=1024 992CONFIG_FRAME_WARN=1024
982# CONFIG_MAGIC_SYSRQ is not set 993# CONFIG_MAGIC_SYSRQ is not set
994# CONFIG_STRIP_ASM_SYMS is not set
983# CONFIG_UNUSED_SYMBOLS is not set 995# CONFIG_UNUSED_SYMBOLS is not set
984# CONFIG_DEBUG_FS is not set 996# CONFIG_DEBUG_FS is not set
985# CONFIG_HEADERS_CHECK is not set 997# CONFIG_HEADERS_CHECK is not set
@@ -997,6 +1009,7 @@ CONFIG_SCHED_DEBUG=y
997# CONFIG_DEBUG_OBJECTS is not set 1009# CONFIG_DEBUG_OBJECTS is not set
998# CONFIG_SLUB_DEBUG_ON is not set 1010# CONFIG_SLUB_DEBUG_ON is not set
999# CONFIG_SLUB_STATS is not set 1011# CONFIG_SLUB_STATS is not set
1012# CONFIG_DEBUG_KMEMLEAK is not set
1000# CONFIG_DEBUG_RT_MUTEXES is not set 1013# CONFIG_DEBUG_RT_MUTEXES is not set
1001# CONFIG_RT_MUTEX_TESTER is not set 1014# CONFIG_RT_MUTEX_TESTER is not set
1002# CONFIG_DEBUG_SPINLOCK is not set 1015# CONFIG_DEBUG_SPINLOCK is not set
@@ -1015,10 +1028,12 @@ CONFIG_DEBUG_MUTEXES=y
1015# CONFIG_DEBUG_LIST is not set 1028# CONFIG_DEBUG_LIST is not set
1016# CONFIG_DEBUG_SG is not set 1029# CONFIG_DEBUG_SG is not set
1017# CONFIG_DEBUG_NOTIFIERS is not set 1030# CONFIG_DEBUG_NOTIFIERS is not set
1031# CONFIG_DEBUG_CREDENTIALS is not set
1018# CONFIG_RCU_TORTURE_TEST is not set 1032# CONFIG_RCU_TORTURE_TEST is not set
1019# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1033# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1020# CONFIG_BACKTRACE_SELF_TEST is not set 1034# CONFIG_BACKTRACE_SELF_TEST is not set
1021# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1035# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1036# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1022# CONFIG_FAULT_INJECTION is not set 1037# CONFIG_FAULT_INJECTION is not set
1023# CONFIG_LATENCYTOP is not set 1038# CONFIG_LATENCYTOP is not set
1024CONFIG_SYSCTL_SYSCALL_CHECK=y 1039CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1041,10 +1056,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1041# CONFIG_KMEMTRACE is not set 1056# CONFIG_KMEMTRACE is not set
1042# CONFIG_WORKQUEUE_TRACER is not set 1057# CONFIG_WORKQUEUE_TRACER is not set
1043# CONFIG_BLK_DEV_IO_TRACE is not set 1058# CONFIG_BLK_DEV_IO_TRACE is not set
1059# CONFIG_DMA_API_DEBUG is not set
1044# CONFIG_SAMPLES is not set 1060# CONFIG_SAMPLES is not set
1045CONFIG_HAVE_ARCH_KGDB=y 1061CONFIG_HAVE_ARCH_KGDB=y
1046# CONFIG_KGDB is not set 1062# CONFIG_KGDB is not set
1047# CONFIG_KMEMCHECK is not set
1048# CONFIG_PPC_DISABLE_WERROR is not set 1063# CONFIG_PPC_DISABLE_WERROR is not set
1049CONFIG_PPC_WERROR=y 1064CONFIG_PPC_WERROR=y
1050CONFIG_PRINT_STACK_DEPTH=64 1065CONFIG_PRINT_STACK_DEPTH=64
@@ -1070,7 +1085,6 @@ CONFIG_CRYPTO=y
1070# 1085#
1071# Crypto core or helper 1086# Crypto core or helper
1072# 1087#
1073# CONFIG_CRYPTO_FIPS is not set
1074# CONFIG_CRYPTO_MANAGER is not set 1088# CONFIG_CRYPTO_MANAGER is not set
1075# CONFIG_CRYPTO_MANAGER2 is not set 1089# CONFIG_CRYPTO_MANAGER2 is not set
1076# CONFIG_CRYPTO_GF128MUL is not set 1090# CONFIG_CRYPTO_GF128MUL is not set
@@ -1101,11 +1115,13 @@ CONFIG_CRYPTO=y
1101# 1115#
1102# CONFIG_CRYPTO_HMAC is not set 1116# CONFIG_CRYPTO_HMAC is not set
1103# CONFIG_CRYPTO_XCBC is not set 1117# CONFIG_CRYPTO_XCBC is not set
1118# CONFIG_CRYPTO_VMAC is not set
1104 1119
1105# 1120#
1106# Digest 1121# Digest
1107# 1122#
1108# CONFIG_CRYPTO_CRC32C is not set 1123# CONFIG_CRYPTO_CRC32C is not set
1124# CONFIG_CRYPTO_GHASH is not set
1109# CONFIG_CRYPTO_MD4 is not set 1125# CONFIG_CRYPTO_MD4 is not set
1110# CONFIG_CRYPTO_MD5 is not set 1126# CONFIG_CRYPTO_MD5 is not set
1111# CONFIG_CRYPTO_MICHAEL_MIC is not set 1127# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig
index 2726fca1d694..1b2356830173 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:18 2009 4# Thu Nov 5 08:20:36 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 86#
85# RCU Subsystem 87# RCU Subsystem
86# 88#
87CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -125,27 +128,28 @@ CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 128CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 129CONFIG_SHMEM=y
127CONFIG_AIO=y 130CONFIG_AIO=y
128CONFIG_HAVE_PERF_COUNTERS=y 131CONFIG_HAVE_PERF_EVENTS=y
129 132
130# 133#
131# Performance Counters 134# Kernel Performance Events And Counters
132# 135#
136# CONFIG_PERF_EVENTS is not set
133# CONFIG_PERF_COUNTERS is not set 137# CONFIG_PERF_COUNTERS is not set
134CONFIG_VM_EVENT_COUNTERS=y 138CONFIG_VM_EVENT_COUNTERS=y
135CONFIG_PCI_QUIRKS=y 139CONFIG_PCI_QUIRKS=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 140CONFIG_COMPAT_BRK=y
138CONFIG_SLAB=y 141CONFIG_SLAB=y
139# CONFIG_SLUB is not set 142# CONFIG_SLUB is not set
140# CONFIG_SLOB is not set 143# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 144# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 145CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 147CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
149 153
150# 154#
151# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -188,6 +192,7 @@ CONFIG_MPC85xx=y
188# CONFIG_MPC85xx_MDS is not set 192# CONFIG_MPC85xx_MDS is not set
189# CONFIG_MPC8536_DS is not set 193# CONFIG_MPC8536_DS is not set
190# CONFIG_MPC85xx_DS is not set 194# CONFIG_MPC85xx_DS is not set
195# CONFIG_MPC85xx_RDB is not set
191# CONFIG_SOCRATES is not set 196# CONFIG_SOCRATES is not set
192# CONFIG_KSI8560 is not set 197# CONFIG_KSI8560 is not set
193# CONFIG_XES_MPC85xx is not set 198# CONFIG_XES_MPC85xx is not set
@@ -242,6 +247,7 @@ CONFIG_MATH_EMULATION=y
242CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 247CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
243CONFIG_ARCH_HAS_WALK_MEMORY=y 248CONFIG_ARCH_HAS_WALK_MEMORY=y
244CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 249CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
250CONFIG_MAX_ACTIVE_REGIONS=32
245CONFIG_ARCH_FLATMEM_ENABLE=y 251CONFIG_ARCH_FLATMEM_ENABLE=y
246CONFIG_ARCH_POPULATES_NODE_MAP=y 252CONFIG_ARCH_POPULATES_NODE_MAP=y
247CONFIG_SELECT_MEMORY_MODEL=y 253CONFIG_SELECT_MEMORY_MODEL=y
@@ -259,6 +265,7 @@ CONFIG_BOUNCE=y
259CONFIG_VIRT_TO_BUS=y 265CONFIG_VIRT_TO_BUS=y
260CONFIG_HAVE_MLOCK=y 266CONFIG_HAVE_MLOCK=y
261CONFIG_HAVE_MLOCKED_PAGE_BIT=y 267CONFIG_HAVE_MLOCKED_PAGE_BIT=y
268# CONFIG_KSM is not set
262CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 269CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
263CONFIG_PPC_4K_PAGES=y 270CONFIG_PPC_4K_PAGES=y
264# CONFIG_PPC_16K_PAGES is not set 271# CONFIG_PPC_16K_PAGES is not set
@@ -355,6 +362,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
355# CONFIG_NETFILTER is not set 362# CONFIG_NETFILTER is not set
356# CONFIG_IP_DCCP is not set 363# CONFIG_IP_DCCP is not set
357# CONFIG_IP_SCTP is not set 364# CONFIG_IP_SCTP is not set
365# CONFIG_RDS is not set
358# CONFIG_TIPC is not set 366# CONFIG_TIPC is not set
359# CONFIG_ATM is not set 367# CONFIG_ATM is not set
360# CONFIG_BRIDGE is not set 368# CONFIG_BRIDGE is not set
@@ -384,6 +392,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
384# CONFIG_AF_RXRPC is not set 392# CONFIG_AF_RXRPC is not set
385CONFIG_WIRELESS=y 393CONFIG_WIRELESS=y
386# CONFIG_CFG80211 is not set 394# CONFIG_CFG80211 is not set
395CONFIG_CFG80211_DEFAULT_PS_VALUE=0
387CONFIG_WIRELESS_OLD_REGULATORY=y 396CONFIG_WIRELESS_OLD_REGULATORY=y
388# CONFIG_WIRELESS_EXT is not set 397# CONFIG_WIRELESS_EXT is not set
389# CONFIG_LIB80211 is not set 398# CONFIG_LIB80211 is not set
@@ -391,7 +400,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
391# 400#
392# CFG80211 needs to be enabled for MAC80211 401# CFG80211 needs to be enabled for MAC80211
393# 402#
394CONFIG_MAC80211_DEFAULT_PS_VALUE=0
395# CONFIG_WIMAX is not set 403# CONFIG_WIMAX is not set
396# CONFIG_RFKILL is not set 404# CONFIG_RFKILL is not set
397# CONFIG_NET_9P is not set 405# CONFIG_NET_9P is not set
@@ -404,6 +412,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
404# Generic Driver Options 412# Generic Driver Options
405# 413#
406CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 414CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
415# CONFIG_DEVTMPFS is not set
407CONFIG_STANDALONE=y 416CONFIG_STANDALONE=y
408CONFIG_PREVENT_FIRMWARE_BUILD=y 417CONFIG_PREVENT_FIRMWARE_BUILD=y
409# CONFIG_FW_LOADER is not set 418# CONFIG_FW_LOADER is not set
@@ -521,7 +530,9 @@ CONFIG_MII=y
521# CONFIG_NET_PCI is not set 530# CONFIG_NET_PCI is not set
522# CONFIG_B44 is not set 531# CONFIG_B44 is not set
523# CONFIG_KS8842 is not set 532# CONFIG_KS8842 is not set
533# CONFIG_KS8851_MLL is not set
524# CONFIG_ATL2 is not set 534# CONFIG_ATL2 is not set
535# CONFIG_XILINX_EMACLITE is not set
525CONFIG_NETDEV_1000=y 536CONFIG_NETDEV_1000=y
526# CONFIG_ACENIC is not set 537# CONFIG_ACENIC is not set
527# CONFIG_DL2K is not set 538# CONFIG_DL2K is not set
@@ -569,10 +580,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
569# CONFIG_SFC is not set 580# CONFIG_SFC is not set
570# CONFIG_BE2NET is not set 581# CONFIG_BE2NET is not set
571# CONFIG_TR is not set 582# CONFIG_TR is not set
572 583CONFIG_WLAN=y
573#
574# Wireless LAN
575#
576# CONFIG_WLAN_PRE80211 is not set 584# CONFIG_WLAN_PRE80211 is not set
577# CONFIG_WLAN_80211 is not set 585# CONFIG_WLAN_80211 is not set
578 586
@@ -676,6 +684,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
676# CONFIG_POWER_SUPPLY is not set 684# CONFIG_POWER_SUPPLY is not set
677CONFIG_HWMON=y 685CONFIG_HWMON=y
678# CONFIG_HWMON_VID is not set 686# CONFIG_HWMON_VID is not set
687# CONFIG_HWMON_DEBUG_CHIP is not set
688
689#
690# Native drivers
691#
679# CONFIG_SENSORS_I5K_AMB is not set 692# CONFIG_SENSORS_I5K_AMB is not set
680# CONFIG_SENSORS_F71805F is not set 693# CONFIG_SENSORS_F71805F is not set
681# CONFIG_SENSORS_F71882FG is not set 694# CONFIG_SENSORS_F71882FG is not set
@@ -690,9 +703,7 @@ CONFIG_HWMON=y
690# CONFIG_SENSORS_VT8231 is not set 703# CONFIG_SENSORS_VT8231 is not set
691# CONFIG_SENSORS_W83627HF is not set 704# CONFIG_SENSORS_W83627HF is not set
692# CONFIG_SENSORS_W83627EHF is not set 705# CONFIG_SENSORS_W83627EHF is not set
693# CONFIG_HWMON_DEBUG_CHIP is not set
694# CONFIG_THERMAL is not set 706# CONFIG_THERMAL is not set
695# CONFIG_THERMAL_HWMON is not set
696# CONFIG_WATCHDOG is not set 707# CONFIG_WATCHDOG is not set
697CONFIG_SSB_POSSIBLE=y 708CONFIG_SSB_POSSIBLE=y
698 709
@@ -715,6 +726,7 @@ CONFIG_SSB_POSSIBLE=y
715# Graphics support 726# Graphics support
716# 727#
717# CONFIG_AGP is not set 728# CONFIG_AGP is not set
729CONFIG_VGA_ARB=y
718# CONFIG_DRM is not set 730# CONFIG_DRM is not set
719# CONFIG_VGASTATE is not set 731# CONFIG_VGASTATE is not set
720CONFIG_VIDEO_OUTPUT_CONTROL=y 732CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -758,6 +770,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
758# CONFIG_GFS2_FS is not set 770# CONFIG_GFS2_FS is not set
759# CONFIG_OCFS2_FS is not set 771# CONFIG_OCFS2_FS is not set
760# CONFIG_BTRFS_FS is not set 772# CONFIG_BTRFS_FS is not set
773# CONFIG_NILFS2_FS is not set
761CONFIG_FILE_LOCKING=y 774CONFIG_FILE_LOCKING=y
762CONFIG_FSNOTIFY=y 775CONFIG_FSNOTIFY=y
763CONFIG_DNOTIFY=y 776CONFIG_DNOTIFY=y
@@ -816,7 +829,6 @@ CONFIG_MISC_FILESYSTEMS=y
816# CONFIG_ROMFS_FS is not set 829# CONFIG_ROMFS_FS is not set
817# CONFIG_SYSV_FS is not set 830# CONFIG_SYSV_FS is not set
818# CONFIG_UFS_FS is not set 831# CONFIG_UFS_FS is not set
819# CONFIG_NILFS2_FS is not set
820CONFIG_NETWORK_FILESYSTEMS=y 832CONFIG_NETWORK_FILESYSTEMS=y
821CONFIG_NFS_FS=y 833CONFIG_NFS_FS=y
822# CONFIG_NFS_V3 is not set 834# CONFIG_NFS_V3 is not set
@@ -872,6 +884,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
872CONFIG_ENABLE_MUST_CHECK=y 884CONFIG_ENABLE_MUST_CHECK=y
873CONFIG_FRAME_WARN=1024 885CONFIG_FRAME_WARN=1024
874# CONFIG_MAGIC_SYSRQ is not set 886# CONFIG_MAGIC_SYSRQ is not set
887# CONFIG_STRIP_ASM_SYMS is not set
875# CONFIG_UNUSED_SYMBOLS is not set 888# CONFIG_UNUSED_SYMBOLS is not set
876# CONFIG_DEBUG_FS is not set 889# CONFIG_DEBUG_FS is not set
877# CONFIG_HEADERS_CHECK is not set 890# CONFIG_HEADERS_CHECK is not set
@@ -887,6 +900,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
887CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 900CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
888CONFIG_TRACING_SUPPORT=y 901CONFIG_TRACING_SUPPORT=y
889# CONFIG_FTRACE is not set 902# CONFIG_FTRACE is not set
903# CONFIG_DMA_API_DEBUG is not set
890# CONFIG_SAMPLES is not set 904# CONFIG_SAMPLES is not set
891CONFIG_HAVE_ARCH_KGDB=y 905CONFIG_HAVE_ARCH_KGDB=y
892# CONFIG_PPC_DISABLE_WERROR is not set 906# CONFIG_PPC_DISABLE_WERROR is not set
@@ -907,7 +921,6 @@ CONFIG_CRYPTO=y
907# 921#
908# Crypto core or helper 922# Crypto core or helper
909# 923#
910# CONFIG_CRYPTO_FIPS is not set
911# CONFIG_CRYPTO_MANAGER is not set 924# CONFIG_CRYPTO_MANAGER is not set
912# CONFIG_CRYPTO_MANAGER2 is not set 925# CONFIG_CRYPTO_MANAGER2 is not set
913# CONFIG_CRYPTO_GF128MUL is not set 926# CONFIG_CRYPTO_GF128MUL is not set
@@ -938,11 +951,13 @@ CONFIG_CRYPTO=y
938# 951#
939# CONFIG_CRYPTO_HMAC is not set 952# CONFIG_CRYPTO_HMAC is not set
940# CONFIG_CRYPTO_XCBC is not set 953# CONFIG_CRYPTO_XCBC is not set
954# CONFIG_CRYPTO_VMAC is not set
941 955
942# 956#
943# Digest 957# Digest
944# 958#
945# CONFIG_CRYPTO_CRC32C is not set 959# CONFIG_CRYPTO_CRC32C is not set
960# CONFIG_CRYPTO_GHASH is not set
946# CONFIG_CRYPTO_MD4 is not set 961# CONFIG_CRYPTO_MD4 is not set
947# CONFIG_CRYPTO_MD5 is not set 962# CONFIG_CRYPTO_MD5 is not set
948# CONFIG_CRYPTO_MICHAEL_MIC is not set 963# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/sbc8560_defconfig b/arch/powerpc/configs/85xx/sbc8560_defconfig
index b0c469823b02..959d0281431b 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:19 2009 4# Thu Nov 5 08:20:37 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 86#
85# RCU Subsystem 87# RCU Subsystem
86# 88#
87CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -126,26 +129,27 @@ CONFIG_TIMERFD=y
126CONFIG_EVENTFD=y 129CONFIG_EVENTFD=y
127CONFIG_SHMEM=y 130CONFIG_SHMEM=y
128CONFIG_AIO=y 131CONFIG_AIO=y
129CONFIG_HAVE_PERF_COUNTERS=y 132CONFIG_HAVE_PERF_EVENTS=y
130 133
131# 134#
132# Performance Counters 135# Kernel Performance Events And Counters
133# 136#
137# CONFIG_PERF_EVENTS is not set
134# CONFIG_PERF_COUNTERS is not set 138# CONFIG_PERF_COUNTERS is not set
135CONFIG_VM_EVENT_COUNTERS=y 139CONFIG_VM_EVENT_COUNTERS=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 140CONFIG_COMPAT_BRK=y
138CONFIG_SLAB=y 141CONFIG_SLAB=y
139# CONFIG_SLUB is not set 142# CONFIG_SLUB is not set
140# CONFIG_SLOB is not set 143# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 144# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 145CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 147CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
149 153
150# 154#
151# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -188,6 +192,7 @@ CONFIG_MPC85xx=y
188# CONFIG_MPC85xx_MDS is not set 192# CONFIG_MPC85xx_MDS is not set
189# CONFIG_MPC8536_DS is not set 193# CONFIG_MPC8536_DS is not set
190# CONFIG_MPC85xx_DS is not set 194# CONFIG_MPC85xx_DS is not set
195# CONFIG_MPC85xx_RDB is not set
191# CONFIG_SOCRATES is not set 196# CONFIG_SOCRATES is not set
192# CONFIG_KSI8560 is not set 197# CONFIG_KSI8560 is not set
193# CONFIG_XES_MPC85xx is not set 198# CONFIG_XES_MPC85xx is not set
@@ -242,6 +247,7 @@ CONFIG_BINFMT_MISC=y
242CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 247CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
243CONFIG_ARCH_HAS_WALK_MEMORY=y 248CONFIG_ARCH_HAS_WALK_MEMORY=y
244CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 249CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
250CONFIG_MAX_ACTIVE_REGIONS=32
245CONFIG_ARCH_FLATMEM_ENABLE=y 251CONFIG_ARCH_FLATMEM_ENABLE=y
246CONFIG_ARCH_POPULATES_NODE_MAP=y 252CONFIG_ARCH_POPULATES_NODE_MAP=y
247CONFIG_SELECT_MEMORY_MODEL=y 253CONFIG_SELECT_MEMORY_MODEL=y
@@ -259,6 +265,7 @@ CONFIG_BOUNCE=y
259CONFIG_VIRT_TO_BUS=y 265CONFIG_VIRT_TO_BUS=y
260CONFIG_HAVE_MLOCK=y 266CONFIG_HAVE_MLOCK=y
261CONFIG_HAVE_MLOCKED_PAGE_BIT=y 267CONFIG_HAVE_MLOCKED_PAGE_BIT=y
268# CONFIG_KSM is not set
262CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 269CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
263CONFIG_PPC_4K_PAGES=y 270CONFIG_PPC_4K_PAGES=y
264# CONFIG_PPC_16K_PAGES is not set 271# CONFIG_PPC_16K_PAGES is not set
@@ -347,6 +354,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
347# CONFIG_NETFILTER is not set 354# CONFIG_NETFILTER is not set
348# CONFIG_IP_DCCP is not set 355# CONFIG_IP_DCCP is not set
349# CONFIG_IP_SCTP is not set 356# CONFIG_IP_SCTP is not set
357# CONFIG_RDS is not set
350# CONFIG_TIPC is not set 358# CONFIG_TIPC is not set
351# CONFIG_ATM is not set 359# CONFIG_ATM is not set
352# CONFIG_BRIDGE is not set 360# CONFIG_BRIDGE is not set
@@ -376,6 +384,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
376# CONFIG_AF_RXRPC is not set 384# CONFIG_AF_RXRPC is not set
377CONFIG_WIRELESS=y 385CONFIG_WIRELESS=y
378# CONFIG_CFG80211 is not set 386# CONFIG_CFG80211 is not set
387CONFIG_CFG80211_DEFAULT_PS_VALUE=0
379CONFIG_WIRELESS_OLD_REGULATORY=y 388CONFIG_WIRELESS_OLD_REGULATORY=y
380# CONFIG_WIRELESS_EXT is not set 389# CONFIG_WIRELESS_EXT is not set
381# CONFIG_LIB80211 is not set 390# CONFIG_LIB80211 is not set
@@ -383,7 +392,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
383# 392#
384# CFG80211 needs to be enabled for MAC80211 393# CFG80211 needs to be enabled for MAC80211
385# 394#
386CONFIG_MAC80211_DEFAULT_PS_VALUE=0
387# CONFIG_WIMAX is not set 395# CONFIG_WIMAX is not set
388# CONFIG_RFKILL is not set 396# CONFIG_RFKILL is not set
389# CONFIG_NET_9P is not set 397# CONFIG_NET_9P is not set
@@ -396,6 +404,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
396# Generic Driver Options 404# Generic Driver Options
397# 405#
398CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 406CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
407# CONFIG_DEVTMPFS is not set
399CONFIG_STANDALONE=y 408CONFIG_STANDALONE=y
400CONFIG_PREVENT_FIRMWARE_BUILD=y 409CONFIG_PREVENT_FIRMWARE_BUILD=y
401# CONFIG_FW_LOADER is not set 410# CONFIG_FW_LOADER is not set
@@ -481,15 +490,14 @@ CONFIG_MII=y
481# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 490# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
482# CONFIG_B44 is not set 491# CONFIG_B44 is not set
483# CONFIG_KS8842 is not set 492# CONFIG_KS8842 is not set
493# CONFIG_KS8851_MLL is not set
494# CONFIG_XILINX_EMACLITE is not set
484CONFIG_NETDEV_1000=y 495CONFIG_NETDEV_1000=y
485CONFIG_FSL_PQ_MDIO=y 496CONFIG_FSL_PQ_MDIO=y
486CONFIG_GIANFAR=y 497CONFIG_GIANFAR=y
487# CONFIG_MV643XX_ETH is not set 498# CONFIG_MV643XX_ETH is not set
488CONFIG_NETDEV_10000=y 499CONFIG_NETDEV_10000=y
489 500CONFIG_WLAN=y
490#
491# Wireless LAN
492#
493# CONFIG_WLAN_PRE80211 is not set 501# CONFIG_WLAN_PRE80211 is not set
494# CONFIG_WLAN_80211 is not set 502# CONFIG_WLAN_80211 is not set
495 503
@@ -584,6 +592,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
584# CONFIG_POWER_SUPPLY is not set 592# CONFIG_POWER_SUPPLY is not set
585CONFIG_HWMON=y 593CONFIG_HWMON=y
586# CONFIG_HWMON_VID is not set 594# CONFIG_HWMON_VID is not set
595# CONFIG_HWMON_DEBUG_CHIP is not set
596
597#
598# Native drivers
599#
587# CONFIG_SENSORS_F71805F is not set 600# CONFIG_SENSORS_F71805F is not set
588# CONFIG_SENSORS_F71882FG is not set 601# CONFIG_SENSORS_F71882FG is not set
589# CONFIG_SENSORS_IT87 is not set 602# CONFIG_SENSORS_IT87 is not set
@@ -594,9 +607,7 @@ CONFIG_HWMON=y
594# CONFIG_SENSORS_VT1211 is not set 607# CONFIG_SENSORS_VT1211 is not set
595# CONFIG_SENSORS_W83627HF is not set 608# CONFIG_SENSORS_W83627HF is not set
596# CONFIG_SENSORS_W83627EHF is not set 609# CONFIG_SENSORS_W83627EHF is not set
597# CONFIG_HWMON_DEBUG_CHIP is not set
598# CONFIG_THERMAL is not set 610# CONFIG_THERMAL is not set
599# CONFIG_THERMAL_HWMON is not set
600# CONFIG_WATCHDOG is not set 611# CONFIG_WATCHDOG is not set
601CONFIG_SSB_POSSIBLE=y 612CONFIG_SSB_POSSIBLE=y
602 613
@@ -630,7 +641,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
630# CONFIG_SOUND is not set 641# CONFIG_SOUND is not set
631CONFIG_HID_SUPPORT=y 642CONFIG_HID_SUPPORT=y
632CONFIG_HID=y 643CONFIG_HID=y
633# CONFIG_HID_DEBUG is not set
634# CONFIG_HIDRAW is not set 644# CONFIG_HIDRAW is not set
635# CONFIG_HID_PID is not set 645# CONFIG_HID_PID is not set
636 646
@@ -721,6 +731,7 @@ CONFIG_RTC_DRV_M48T59=y
721# CONFIG_GFS2_FS is not set 731# CONFIG_GFS2_FS is not set
722# CONFIG_OCFS2_FS is not set 732# CONFIG_OCFS2_FS is not set
723# CONFIG_BTRFS_FS is not set 733# CONFIG_BTRFS_FS is not set
734# CONFIG_NILFS2_FS is not set
724CONFIG_FILE_LOCKING=y 735CONFIG_FILE_LOCKING=y
725CONFIG_FSNOTIFY=y 736CONFIG_FSNOTIFY=y
726CONFIG_DNOTIFY=y 737CONFIG_DNOTIFY=y
@@ -779,7 +790,6 @@ CONFIG_MISC_FILESYSTEMS=y
779# CONFIG_ROMFS_FS is not set 790# CONFIG_ROMFS_FS is not set
780# CONFIG_SYSV_FS is not set 791# CONFIG_SYSV_FS is not set
781# CONFIG_UFS_FS is not set 792# CONFIG_UFS_FS is not set
782# CONFIG_NILFS2_FS is not set
783CONFIG_NETWORK_FILESYSTEMS=y 793CONFIG_NETWORK_FILESYSTEMS=y
784CONFIG_NFS_FS=y 794CONFIG_NFS_FS=y
785# CONFIG_NFS_V3 is not set 795# CONFIG_NFS_V3 is not set
@@ -847,6 +857,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
847CONFIG_ENABLE_MUST_CHECK=y 857CONFIG_ENABLE_MUST_CHECK=y
848CONFIG_FRAME_WARN=1024 858CONFIG_FRAME_WARN=1024
849CONFIG_MAGIC_SYSRQ=y 859CONFIG_MAGIC_SYSRQ=y
860# CONFIG_STRIP_ASM_SYMS is not set
850# CONFIG_UNUSED_SYMBOLS is not set 861# CONFIG_UNUSED_SYMBOLS is not set
851# CONFIG_DEBUG_FS is not set 862# CONFIG_DEBUG_FS is not set
852# CONFIG_HEADERS_CHECK is not set 863# CONFIG_HEADERS_CHECK is not set
@@ -863,6 +874,7 @@ CONFIG_SCHED_DEBUG=y
863# CONFIG_TIMER_STATS is not set 874# CONFIG_TIMER_STATS is not set
864# CONFIG_DEBUG_OBJECTS is not set 875# CONFIG_DEBUG_OBJECTS is not set
865# CONFIG_DEBUG_SLAB is not set 876# CONFIG_DEBUG_SLAB is not set
877# CONFIG_DEBUG_KMEMLEAK is not set
866# CONFIG_DEBUG_RT_MUTEXES is not set 878# CONFIG_DEBUG_RT_MUTEXES is not set
867# CONFIG_RT_MUTEX_TESTER is not set 879# CONFIG_RT_MUTEX_TESTER is not set
868# CONFIG_DEBUG_SPINLOCK is not set 880# CONFIG_DEBUG_SPINLOCK is not set
@@ -881,10 +893,12 @@ CONFIG_DEBUG_MUTEXES=y
881# CONFIG_DEBUG_LIST is not set 893# CONFIG_DEBUG_LIST is not set
882# CONFIG_DEBUG_SG is not set 894# CONFIG_DEBUG_SG is not set
883# CONFIG_DEBUG_NOTIFIERS is not set 895# CONFIG_DEBUG_NOTIFIERS is not set
896# CONFIG_DEBUG_CREDENTIALS is not set
884# CONFIG_RCU_TORTURE_TEST is not set 897# CONFIG_RCU_TORTURE_TEST is not set
885# CONFIG_RCU_CPU_STALL_DETECTOR is not set 898# CONFIG_RCU_CPU_STALL_DETECTOR is not set
886# CONFIG_BACKTRACE_SELF_TEST is not set 899# CONFIG_BACKTRACE_SELF_TEST is not set
887# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 900# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
901# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
888# CONFIG_FAULT_INJECTION is not set 902# CONFIG_FAULT_INJECTION is not set
889# CONFIG_LATENCYTOP is not set 903# CONFIG_LATENCYTOP is not set
890CONFIG_SYSCTL_SYSCALL_CHECK=y 904CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -907,10 +921,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
907# CONFIG_KMEMTRACE is not set 921# CONFIG_KMEMTRACE is not set
908# CONFIG_WORKQUEUE_TRACER is not set 922# CONFIG_WORKQUEUE_TRACER is not set
909# CONFIG_BLK_DEV_IO_TRACE is not set 923# CONFIG_BLK_DEV_IO_TRACE is not set
924# CONFIG_DMA_API_DEBUG is not set
910# CONFIG_SAMPLES is not set 925# CONFIG_SAMPLES is not set
911CONFIG_HAVE_ARCH_KGDB=y 926CONFIG_HAVE_ARCH_KGDB=y
912# CONFIG_KGDB is not set 927# CONFIG_KGDB is not set
913# CONFIG_KMEMCHECK is not set
914# CONFIG_PPC_DISABLE_WERROR is not set 928# CONFIG_PPC_DISABLE_WERROR is not set
915CONFIG_PPC_WERROR=y 929CONFIG_PPC_WERROR=y
916CONFIG_PRINT_STACK_DEPTH=64 930CONFIG_PRINT_STACK_DEPTH=64
@@ -947,7 +961,6 @@ CONFIG_CRYPTO=y
947# 961#
948# Crypto core or helper 962# Crypto core or helper
949# 963#
950# CONFIG_CRYPTO_FIPS is not set
951# CONFIG_CRYPTO_MANAGER is not set 964# CONFIG_CRYPTO_MANAGER is not set
952# CONFIG_CRYPTO_MANAGER2 is not set 965# CONFIG_CRYPTO_MANAGER2 is not set
953# CONFIG_CRYPTO_GF128MUL is not set 966# CONFIG_CRYPTO_GF128MUL is not set
@@ -978,11 +991,13 @@ CONFIG_CRYPTO=y
978# 991#
979# CONFIG_CRYPTO_HMAC is not set 992# CONFIG_CRYPTO_HMAC is not set
980# CONFIG_CRYPTO_XCBC is not set 993# CONFIG_CRYPTO_XCBC is not set
994# CONFIG_CRYPTO_VMAC is not set
981 995
982# 996#
983# Digest 997# Digest
984# 998#
985# CONFIG_CRYPTO_CRC32C is not set 999# CONFIG_CRYPTO_CRC32C is not set
1000# CONFIG_CRYPTO_GHASH is not set
986# CONFIG_CRYPTO_MD4 is not set 1001# CONFIG_CRYPTO_MD4 is not set
987# CONFIG_CRYPTO_MD5 is not set 1002# CONFIG_CRYPTO_MD5 is not set
988# CONFIG_CRYPTO_MICHAEL_MIC is not set 1003# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/socrates_defconfig b/arch/powerpc/configs/85xx/socrates_defconfig
index 04c85dada845..7f5ec35bf199 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:19 2009 4# Thu Nov 5 08:20:37 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 86#
85# RCU Subsystem 87# RCU Subsystem
86# 88#
87CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=16 96CONFIG_LOG_BUF_SHIFT=16
94CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -124,28 +127,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 127CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 128CONFIG_SHMEM=y
126CONFIG_AIO=y 129CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 130CONFIG_HAVE_PERF_EVENTS=y
128 131
129# 132#
130# Performance Counters 133# Kernel Performance Events And Counters
131# 134#
135# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 136# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 137CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 138CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 139CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 140CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 141# CONFIG_SLAB is not set
139CONFIG_SLUB=y 142CONFIG_SLUB=y
140# CONFIG_SLOB is not set 143# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 144# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 145CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 147CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
149 153
150# 154#
151# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -193,6 +197,7 @@ CONFIG_MPC85xx=y
193# CONFIG_MPC85xx_MDS is not set 197# CONFIG_MPC85xx_MDS is not set
194# CONFIG_MPC8536_DS is not set 198# CONFIG_MPC8536_DS is not set
195# CONFIG_MPC85xx_DS is not set 199# CONFIG_MPC85xx_DS is not set
200# CONFIG_MPC85xx_RDB is not set
196CONFIG_SOCRATES=y 201CONFIG_SOCRATES=y
197# CONFIG_KSI8560 is not set 202# CONFIG_KSI8560 is not set
198# CONFIG_XES_MPC85xx is not set 203# CONFIG_XES_MPC85xx is not set
@@ -247,6 +252,7 @@ CONFIG_MATH_EMULATION=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 252CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
248CONFIG_ARCH_HAS_WALK_MEMORY=y 253CONFIG_ARCH_HAS_WALK_MEMORY=y
249CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 254CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
255CONFIG_MAX_ACTIVE_REGIONS=32
250CONFIG_ARCH_FLATMEM_ENABLE=y 256CONFIG_ARCH_FLATMEM_ENABLE=y
251CONFIG_ARCH_POPULATES_NODE_MAP=y 257CONFIG_ARCH_POPULATES_NODE_MAP=y
252CONFIG_SELECT_MEMORY_MODEL=y 258CONFIG_SELECT_MEMORY_MODEL=y
@@ -264,6 +270,7 @@ CONFIG_BOUNCE=y
264CONFIG_VIRT_TO_BUS=y 270CONFIG_VIRT_TO_BUS=y
265CONFIG_HAVE_MLOCK=y 271CONFIG_HAVE_MLOCK=y
266CONFIG_HAVE_MLOCKED_PAGE_BIT=y 272CONFIG_HAVE_MLOCKED_PAGE_BIT=y
273# CONFIG_KSM is not set
267CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 274CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
268CONFIG_PPC_4K_PAGES=y 275CONFIG_PPC_4K_PAGES=y
269# CONFIG_PPC_16K_PAGES is not set 276# CONFIG_PPC_16K_PAGES is not set
@@ -358,6 +365,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
358# CONFIG_NETFILTER is not set 365# CONFIG_NETFILTER is not set
359# CONFIG_IP_DCCP is not set 366# CONFIG_IP_DCCP is not set
360# CONFIG_IP_SCTP is not set 367# CONFIG_IP_SCTP is not set
368# CONFIG_RDS is not set
361# CONFIG_TIPC is not set 369# CONFIG_TIPC is not set
362# CONFIG_ATM is not set 370# CONFIG_ATM is not set
363# CONFIG_BRIDGE is not set 371# CONFIG_BRIDGE is not set
@@ -396,6 +404,7 @@ CONFIG_CAN_BCM=y
396# CONFIG_AF_RXRPC is not set 404# CONFIG_AF_RXRPC is not set
397CONFIG_WIRELESS=y 405CONFIG_WIRELESS=y
398# CONFIG_CFG80211 is not set 406# CONFIG_CFG80211 is not set
407CONFIG_CFG80211_DEFAULT_PS_VALUE=0
399# CONFIG_WIRELESS_OLD_REGULATORY is not set 408# CONFIG_WIRELESS_OLD_REGULATORY is not set
400# CONFIG_WIRELESS_EXT is not set 409# CONFIG_WIRELESS_EXT is not set
401# CONFIG_LIB80211 is not set 410# CONFIG_LIB80211 is not set
@@ -403,7 +412,6 @@ CONFIG_WIRELESS=y
403# 412#
404# CFG80211 needs to be enabled for MAC80211 413# CFG80211 needs to be enabled for MAC80211
405# 414#
406CONFIG_MAC80211_DEFAULT_PS_VALUE=0
407# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
408# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
409# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -421,9 +429,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
421# CONFIG_CONNECTOR is not set 429# CONFIG_CONNECTOR is not set
422CONFIG_MTD=y 430CONFIG_MTD=y
423# CONFIG_MTD_DEBUG is not set 431# CONFIG_MTD_DEBUG is not set
432# CONFIG_MTD_TESTS is not set
424CONFIG_MTD_CONCAT=y 433CONFIG_MTD_CONCAT=y
425CONFIG_MTD_PARTITIONS=y 434CONFIG_MTD_PARTITIONS=y
426# CONFIG_MTD_TESTS is not set
427# CONFIG_MTD_REDBOOT_PARTS is not set 435# CONFIG_MTD_REDBOOT_PARTS is not set
428CONFIG_MTD_CMDLINE_PARTS=y 436CONFIG_MTD_CMDLINE_PARTS=y
429CONFIG_MTD_OF_PARTS=y 437CONFIG_MTD_OF_PARTS=y
@@ -482,6 +490,7 @@ CONFIG_MTD_PHYSMAP_OF=y
482# CONFIG_MTD_PMC551 is not set 490# CONFIG_MTD_PMC551 is not set
483# CONFIG_MTD_DATAFLASH is not set 491# CONFIG_MTD_DATAFLASH is not set
484# CONFIG_MTD_M25P80 is not set 492# CONFIG_MTD_M25P80 is not set
493# CONFIG_MTD_SST25L is not set
485# CONFIG_MTD_SLRAM is not set 494# CONFIG_MTD_SLRAM is not set
486# CONFIG_MTD_PHRAM is not set 495# CONFIG_MTD_PHRAM is not set
487# CONFIG_MTD_MTDRAM is not set 496# CONFIG_MTD_MTDRAM is not set
@@ -668,7 +677,9 @@ CONFIG_MII=y
668# CONFIG_B44 is not set 677# CONFIG_B44 is not set
669# CONFIG_KS8842 is not set 678# CONFIG_KS8842 is not set
670# CONFIG_KS8851 is not set 679# CONFIG_KS8851 is not set
680# CONFIG_KS8851_MLL is not set
671# CONFIG_ATL2 is not set 681# CONFIG_ATL2 is not set
682# CONFIG_XILINX_EMACLITE is not set
672CONFIG_NETDEV_1000=y 683CONFIG_NETDEV_1000=y
673# CONFIG_ACENIC is not set 684# CONFIG_ACENIC is not set
674# CONFIG_DL2K is not set 685# CONFIG_DL2K is not set
@@ -698,10 +709,7 @@ CONFIG_GIANFAR=y
698# CONFIG_JME is not set 709# CONFIG_JME is not set
699# CONFIG_NETDEV_10000 is not set 710# CONFIG_NETDEV_10000 is not set
700# CONFIG_TR is not set 711# CONFIG_TR is not set
701 712CONFIG_WLAN=y
702#
703# Wireless LAN
704#
705# CONFIG_WLAN_PRE80211 is not set 713# CONFIG_WLAN_PRE80211 is not set
706# CONFIG_WLAN_80211 is not set 714# CONFIG_WLAN_80211 is not set
707 715
@@ -765,6 +773,7 @@ CONFIG_INPUT_TOUCHSCREEN=y
765# CONFIG_TOUCHSCREEN_GUNZE is not set 773# CONFIG_TOUCHSCREEN_GUNZE is not set
766# CONFIG_TOUCHSCREEN_ELO is not set 774# CONFIG_TOUCHSCREEN_ELO is not set
767# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set 775# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
776# CONFIG_TOUCHSCREEN_MCS5000 is not set
768# CONFIG_TOUCHSCREEN_MTOUCH is not set 777# CONFIG_TOUCHSCREEN_MTOUCH is not set
769# CONFIG_TOUCHSCREEN_INEXIO is not set 778# CONFIG_TOUCHSCREEN_INEXIO is not set
770# CONFIG_TOUCHSCREEN_MK712 is not set 779# CONFIG_TOUCHSCREEN_MK712 is not set
@@ -774,7 +783,6 @@ CONFIG_INPUT_TOUCHSCREEN=y
774# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set 783# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
775# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set 784# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
776# CONFIG_TOUCHSCREEN_TSC2007 is not set 785# CONFIG_TOUCHSCREEN_TSC2007 is not set
777# CONFIG_TOUCHSCREEN_W90X900 is not set
778# CONFIG_INPUT_MISC is not set 786# CONFIG_INPUT_MISC is not set
779 787
780# 788#
@@ -834,6 +842,7 @@ CONFIG_HW_RANDOM=y
834CONFIG_DEVPORT=y 842CONFIG_DEVPORT=y
835CONFIG_I2C=y 843CONFIG_I2C=y
836CONFIG_I2C_BOARDINFO=y 844CONFIG_I2C_BOARDINFO=y
845CONFIG_I2C_COMPAT=y
837CONFIG_I2C_CHARDEV=y 846CONFIG_I2C_CHARDEV=y
838CONFIG_I2C_HELPER_AUTO=y 847CONFIG_I2C_HELPER_AUTO=y
839 848
@@ -888,9 +897,6 @@ CONFIG_I2C_MPC=y
888# Miscellaneous I2C Chip support 897# Miscellaneous I2C Chip support
889# 898#
890# CONFIG_DS1682 is not set 899# CONFIG_DS1682 is not set
891# CONFIG_SENSORS_PCF8574 is not set
892# CONFIG_PCF8575 is not set
893# CONFIG_SENSORS_PCA9539 is not set
894# CONFIG_SENSORS_TSL2550 is not set 900# CONFIG_SENSORS_TSL2550 is not set
895# CONFIG_I2C_DEBUG_CORE is not set 901# CONFIG_I2C_DEBUG_CORE is not set
896# CONFIG_I2C_DEBUG_ALGO is not set 902# CONFIG_I2C_DEBUG_ALGO is not set
@@ -921,6 +927,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
921# CONFIG_POWER_SUPPLY is not set 927# CONFIG_POWER_SUPPLY is not set
922CONFIG_HWMON=y 928CONFIG_HWMON=y
923CONFIG_HWMON_VID=y 929CONFIG_HWMON_VID=y
930CONFIG_HWMON_DEBUG_CHIP=y
931
932#
933# Native drivers
934#
924# CONFIG_SENSORS_AD7414 is not set 935# CONFIG_SENSORS_AD7414 is not set
925# CONFIG_SENSORS_AD7418 is not set 936# CONFIG_SENSORS_AD7418 is not set
926# CONFIG_SENSORS_ADCXX is not set 937# CONFIG_SENSORS_ADCXX is not set
@@ -973,6 +984,7 @@ CONFIG_SENSORS_LM75=y
973# CONFIG_SENSORS_ADS7828 is not set 984# CONFIG_SENSORS_ADS7828 is not set
974# CONFIG_SENSORS_THMC50 is not set 985# CONFIG_SENSORS_THMC50 is not set
975# CONFIG_SENSORS_TMP401 is not set 986# CONFIG_SENSORS_TMP401 is not set
987# CONFIG_SENSORS_TMP421 is not set
976# CONFIG_SENSORS_VIA686A is not set 988# CONFIG_SENSORS_VIA686A is not set
977# CONFIG_SENSORS_VT1211 is not set 989# CONFIG_SENSORS_VT1211 is not set
978# CONFIG_SENSORS_VT8231 is not set 990# CONFIG_SENSORS_VT8231 is not set
@@ -985,9 +997,7 @@ CONFIG_SENSORS_W83781D=y
985# CONFIG_SENSORS_W83627HF is not set 997# CONFIG_SENSORS_W83627HF is not set
986# CONFIG_SENSORS_W83627EHF is not set 998# CONFIG_SENSORS_W83627EHF is not set
987# CONFIG_SENSORS_LIS3_SPI is not set 999# CONFIG_SENSORS_LIS3_SPI is not set
988CONFIG_HWMON_DEBUG_CHIP=y
989# CONFIG_THERMAL is not set 1000# CONFIG_THERMAL is not set
990# CONFIG_THERMAL_HWMON is not set
991# CONFIG_WATCHDOG is not set 1001# CONFIG_WATCHDOG is not set
992CONFIG_SSB_POSSIBLE=y 1002CONFIG_SSB_POSSIBLE=y
993 1003
@@ -1006,8 +1016,10 @@ CONFIG_SSB_POSSIBLE=y
1006# CONFIG_MFD_TMIO is not set 1016# CONFIG_MFD_TMIO is not set
1007# CONFIG_PMIC_DA903X is not set 1017# CONFIG_PMIC_DA903X is not set
1008# CONFIG_MFD_WM8400 is not set 1018# CONFIG_MFD_WM8400 is not set
1019# CONFIG_MFD_WM831X is not set
1009# CONFIG_MFD_WM8350_I2C is not set 1020# CONFIG_MFD_WM8350_I2C is not set
1010# CONFIG_MFD_PCF50633 is not set 1021# CONFIG_MFD_PCF50633 is not set
1022# CONFIG_MFD_MC13783 is not set
1011# CONFIG_AB3100_CORE is not set 1023# CONFIG_AB3100_CORE is not set
1012# CONFIG_EZX_PCAP is not set 1024# CONFIG_EZX_PCAP is not set
1013# CONFIG_REGULATOR is not set 1025# CONFIG_REGULATOR is not set
@@ -1017,6 +1029,7 @@ CONFIG_SSB_POSSIBLE=y
1017# Graphics support 1029# Graphics support
1018# 1030#
1019# CONFIG_AGP is not set 1031# CONFIG_AGP is not set
1032CONFIG_VGA_ARB=y
1020# CONFIG_DRM is not set 1033# CONFIG_DRM is not set
1021# CONFIG_VGASTATE is not set 1034# CONFIG_VGASTATE is not set
1022# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1035# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1112,7 +1125,6 @@ CONFIG_FONT_8x16=y
1112# CONFIG_SOUND is not set 1125# CONFIG_SOUND is not set
1113CONFIG_HID_SUPPORT=y 1126CONFIG_HID_SUPPORT=y
1114CONFIG_HID=y 1127CONFIG_HID=y
1115# CONFIG_HID_DEBUG is not set
1116# CONFIG_HIDRAW is not set 1128# CONFIG_HIDRAW is not set
1117 1129
1118# 1130#
@@ -1135,6 +1147,7 @@ CONFIG_USB_HID=y
1135# CONFIG_HID_EZKEY is not set 1147# CONFIG_HID_EZKEY is not set
1136# CONFIG_HID_KYE is not set 1148# CONFIG_HID_KYE is not set
1137# CONFIG_HID_GYRATION is not set 1149# CONFIG_HID_GYRATION is not set
1150# CONFIG_HID_TWINHAN is not set
1138# CONFIG_HID_KENSINGTON is not set 1151# CONFIG_HID_KENSINGTON is not set
1139# CONFIG_HID_LOGITECH is not set 1152# CONFIG_HID_LOGITECH is not set
1140# CONFIG_HID_MICROSOFT is not set 1153# CONFIG_HID_MICROSOFT is not set
@@ -1184,6 +1197,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1184# CONFIG_USB_OXU210HP_HCD is not set 1197# CONFIG_USB_OXU210HP_HCD is not set
1185# CONFIG_USB_ISP116X_HCD is not set 1198# CONFIG_USB_ISP116X_HCD is not set
1186# CONFIG_USB_ISP1760_HCD is not set 1199# CONFIG_USB_ISP1760_HCD is not set
1200# CONFIG_USB_ISP1362_HCD is not set
1187CONFIG_USB_OHCI_HCD=y 1201CONFIG_USB_OHCI_HCD=y
1188CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1202CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1189# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1203# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1319,6 +1333,7 @@ CONFIG_RTC_INTF_DEV=y
1319# CONFIG_RTC_DRV_R9701 is not set 1333# CONFIG_RTC_DRV_R9701 is not set
1320# CONFIG_RTC_DRV_RS5C348 is not set 1334# CONFIG_RTC_DRV_RS5C348 is not set
1321# CONFIG_RTC_DRV_DS3234 is not set 1335# CONFIG_RTC_DRV_DS3234 is not set
1336# CONFIG_RTC_DRV_PCF2123 is not set
1322 1337
1323# 1338#
1324# Platform RTC drivers 1339# Platform RTC drivers
@@ -1369,6 +1384,7 @@ CONFIG_FS_MBCACHE=y
1369# CONFIG_GFS2_FS is not set 1384# CONFIG_GFS2_FS is not set
1370# CONFIG_OCFS2_FS is not set 1385# CONFIG_OCFS2_FS is not set
1371# CONFIG_BTRFS_FS is not set 1386# CONFIG_BTRFS_FS is not set
1387# CONFIG_NILFS2_FS is not set
1372CONFIG_FILE_LOCKING=y 1388CONFIG_FILE_LOCKING=y
1373CONFIG_FSNOTIFY=y 1389CONFIG_FSNOTIFY=y
1374CONFIG_DNOTIFY=y 1390CONFIG_DNOTIFY=y
@@ -1438,7 +1454,6 @@ CONFIG_CRAMFS=y
1438# CONFIG_ROMFS_FS is not set 1454# CONFIG_ROMFS_FS is not set
1439# CONFIG_SYSV_FS is not set 1455# CONFIG_SYSV_FS is not set
1440# CONFIG_UFS_FS is not set 1456# CONFIG_UFS_FS is not set
1441# CONFIG_NILFS2_FS is not set
1442CONFIG_NETWORK_FILESYSTEMS=y 1457CONFIG_NETWORK_FILESYSTEMS=y
1443CONFIG_NFS_FS=y 1458CONFIG_NFS_FS=y
1444CONFIG_NFS_V3=y 1459CONFIG_NFS_V3=y
@@ -1552,6 +1567,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1552CONFIG_ENABLE_MUST_CHECK=y 1567CONFIG_ENABLE_MUST_CHECK=y
1553CONFIG_FRAME_WARN=1024 1568CONFIG_FRAME_WARN=1024
1554# CONFIG_MAGIC_SYSRQ is not set 1569# CONFIG_MAGIC_SYSRQ is not set
1570# CONFIG_STRIP_ASM_SYMS is not set
1555# CONFIG_UNUSED_SYMBOLS is not set 1571# CONFIG_UNUSED_SYMBOLS is not set
1556# CONFIG_DEBUG_FS is not set 1572# CONFIG_DEBUG_FS is not set
1557# CONFIG_HEADERS_CHECK is not set 1573# CONFIG_HEADERS_CHECK is not set
@@ -1569,6 +1585,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1569CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1585CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1570CONFIG_TRACING_SUPPORT=y 1586CONFIG_TRACING_SUPPORT=y
1571# CONFIG_FTRACE is not set 1587# CONFIG_FTRACE is not set
1588# CONFIG_DMA_API_DEBUG is not set
1572# CONFIG_SAMPLES is not set 1589# CONFIG_SAMPLES is not set
1573CONFIG_HAVE_ARCH_KGDB=y 1590CONFIG_HAVE_ARCH_KGDB=y
1574# CONFIG_PPC_DISABLE_WERROR is not set 1591# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1589,7 +1606,6 @@ CONFIG_CRYPTO=y
1589# 1606#
1590# Crypto core or helper 1607# Crypto core or helper
1591# 1608#
1592# CONFIG_CRYPTO_FIPS is not set
1593# CONFIG_CRYPTO_MANAGER is not set 1609# CONFIG_CRYPTO_MANAGER is not set
1594# CONFIG_CRYPTO_MANAGER2 is not set 1610# CONFIG_CRYPTO_MANAGER2 is not set
1595# CONFIG_CRYPTO_GF128MUL is not set 1611# CONFIG_CRYPTO_GF128MUL is not set
@@ -1621,11 +1637,13 @@ CONFIG_CRYPTO=y
1621# 1637#
1622# CONFIG_CRYPTO_HMAC is not set 1638# CONFIG_CRYPTO_HMAC is not set
1623# CONFIG_CRYPTO_XCBC is not set 1639# CONFIG_CRYPTO_XCBC is not set
1640# CONFIG_CRYPTO_VMAC is not set
1624 1641
1625# 1642#
1626# Digest 1643# Digest
1627# 1644#
1628# CONFIG_CRYPTO_CRC32C is not set 1645# CONFIG_CRYPTO_CRC32C is not set
1646# CONFIG_CRYPTO_GHASH is not set
1629# CONFIG_CRYPTO_MD4 is not set 1647# CONFIG_CRYPTO_MD4 is not set
1630# CONFIG_CRYPTO_MD5 is not set 1648# CONFIG_CRYPTO_MD5 is not set
1631# CONFIG_CRYPTO_MICHAEL_MIC is not set 1649# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig
index e7e81d6769fe..c8327e88a987 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:20 2009 4# Thu Nov 5 08:20:38 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +87,12 @@ CONFIG_SYSVIPC_SYSCTL=y
85# 87#
86# RCU Subsystem 88# RCU Subsystem
87# 89#
88CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
95CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -127,22 +130,21 @@ CONFIG_TIMERFD=y
127CONFIG_EVENTFD=y 130CONFIG_EVENTFD=y
128CONFIG_SHMEM=y 131CONFIG_SHMEM=y
129CONFIG_AIO=y 132CONFIG_AIO=y
130CONFIG_HAVE_PERF_COUNTERS=y 133CONFIG_HAVE_PERF_EVENTS=y
131 134
132# 135#
133# Performance Counters 136# Kernel Performance Events And Counters
134# 137#
138# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set 139# CONFIG_PERF_COUNTERS is not set
136CONFIG_VM_EVENT_COUNTERS=y 140CONFIG_VM_EVENT_COUNTERS=y
137CONFIG_PCI_QUIRKS=y 141CONFIG_PCI_QUIRKS=y
138CONFIG_SLUB_DEBUG=y 142CONFIG_SLUB_DEBUG=y
139# CONFIG_STRIP_ASM_SYMS is not set
140CONFIG_COMPAT_BRK=y 143CONFIG_COMPAT_BRK=y
141# CONFIG_SLAB is not set 144# CONFIG_SLAB is not set
142CONFIG_SLUB=y 145CONFIG_SLUB=y
143# CONFIG_SLOB is not set 146# CONFIG_SLOB is not set
144# CONFIG_PROFILING is not set 147# CONFIG_PROFILING is not set
145# CONFIG_MARKERS is not set
146CONFIG_HAVE_OPROFILE=y 148CONFIG_HAVE_OPROFILE=y
147# CONFIG_KPROBES is not set 149# CONFIG_KPROBES is not set
148CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 150CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -150,7 +152,9 @@ CONFIG_HAVE_IOREMAP_PROT=y
150CONFIG_HAVE_KPROBES=y 152CONFIG_HAVE_KPROBES=y
151CONFIG_HAVE_KRETPROBES=y 153CONFIG_HAVE_KRETPROBES=y
152CONFIG_HAVE_ARCH_TRACEHOOK=y 154CONFIG_HAVE_ARCH_TRACEHOOK=y
155CONFIG_HAVE_DMA_ATTRS=y
153CONFIG_HAVE_CLK=y 156CONFIG_HAVE_CLK=y
157CONFIG_HAVE_DMA_API_DEBUG=y
154 158
155# 159#
156# GCOV-based kernel profiling 160# GCOV-based kernel profiling
@@ -197,6 +201,7 @@ CONFIG_MPC85xx=y
197# CONFIG_MPC85xx_MDS is not set 201# CONFIG_MPC85xx_MDS is not set
198# CONFIG_MPC8536_DS is not set 202# CONFIG_MPC8536_DS is not set
199# CONFIG_MPC85xx_DS is not set 203# CONFIG_MPC85xx_DS is not set
204# CONFIG_MPC85xx_RDB is not set
200# CONFIG_SOCRATES is not set 205# CONFIG_SOCRATES is not set
201# CONFIG_KSI8560 is not set 206# CONFIG_KSI8560 is not set
202# CONFIG_XES_MPC85xx is not set 207# CONFIG_XES_MPC85xx is not set
@@ -252,6 +257,7 @@ CONFIG_MATH_EMULATION=y
252CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 257CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
253CONFIG_ARCH_HAS_WALK_MEMORY=y 258CONFIG_ARCH_HAS_WALK_MEMORY=y
254CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
260CONFIG_MAX_ACTIVE_REGIONS=32
255CONFIG_ARCH_FLATMEM_ENABLE=y 261CONFIG_ARCH_FLATMEM_ENABLE=y
256CONFIG_ARCH_POPULATES_NODE_MAP=y 262CONFIG_ARCH_POPULATES_NODE_MAP=y
257CONFIG_SELECT_MEMORY_MODEL=y 263CONFIG_SELECT_MEMORY_MODEL=y
@@ -269,6 +275,7 @@ CONFIG_BOUNCE=y
269CONFIG_VIRT_TO_BUS=y 275CONFIG_VIRT_TO_BUS=y
270CONFIG_HAVE_MLOCK=y 276CONFIG_HAVE_MLOCK=y
271CONFIG_HAVE_MLOCKED_PAGE_BIT=y 277CONFIG_HAVE_MLOCKED_PAGE_BIT=y
278# CONFIG_KSM is not set
272CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 279CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
273CONFIG_PPC_4K_PAGES=y 280CONFIG_PPC_4K_PAGES=y
274# CONFIG_PPC_16K_PAGES is not set 281# CONFIG_PPC_16K_PAGES is not set
@@ -426,6 +433,7 @@ CONFIG_IP_NF_FILTER=m
426# CONFIG_IP_NF_ARPTABLES is not set 433# CONFIG_IP_NF_ARPTABLES is not set
427# CONFIG_IP_DCCP is not set 434# CONFIG_IP_DCCP is not set
428# CONFIG_IP_SCTP is not set 435# CONFIG_IP_SCTP is not set
436# CONFIG_RDS is not set
429# CONFIG_TIPC is not set 437# CONFIG_TIPC is not set
430# CONFIG_ATM is not set 438# CONFIG_ATM is not set
431# CONFIG_BRIDGE is not set 439# CONFIG_BRIDGE is not set
@@ -455,6 +463,7 @@ CONFIG_NET_PKTGEN=y
455# CONFIG_AF_RXRPC is not set 463# CONFIG_AF_RXRPC is not set
456CONFIG_WIRELESS=y 464CONFIG_WIRELESS=y
457# CONFIG_CFG80211 is not set 465# CONFIG_CFG80211 is not set
466CONFIG_CFG80211_DEFAULT_PS_VALUE=0
458CONFIG_WIRELESS_OLD_REGULATORY=y 467CONFIG_WIRELESS_OLD_REGULATORY=y
459# CONFIG_WIRELESS_EXT is not set 468# CONFIG_WIRELESS_EXT is not set
460# CONFIG_LIB80211 is not set 469# CONFIG_LIB80211 is not set
@@ -462,7 +471,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
462# 471#
463# CFG80211 needs to be enabled for MAC80211 472# CFG80211 needs to be enabled for MAC80211
464# 473#
465CONFIG_MAC80211_DEFAULT_PS_VALUE=0
466# CONFIG_WIMAX is not set 474# CONFIG_WIMAX is not set
467# CONFIG_RFKILL is not set 475# CONFIG_RFKILL is not set
468# CONFIG_NET_9P is not set 476# CONFIG_NET_9P is not set
@@ -475,6 +483,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
475# Generic Driver Options 483# Generic Driver Options
476# 484#
477CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 485CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
486# CONFIG_DEVTMPFS is not set
478CONFIG_STANDALONE=y 487CONFIG_STANDALONE=y
479CONFIG_PREVENT_FIRMWARE_BUILD=y 488CONFIG_PREVENT_FIRMWARE_BUILD=y
480# CONFIG_FW_LOADER is not set 489# CONFIG_FW_LOADER is not set
@@ -622,6 +631,7 @@ CONFIG_SCSI_LOWLEVEL=y
622# CONFIG_ISCSI_TCP is not set 631# CONFIG_ISCSI_TCP is not set
623# CONFIG_SCSI_CXGB3_ISCSI is not set 632# CONFIG_SCSI_CXGB3_ISCSI is not set
624# CONFIG_SCSI_BNX2_ISCSI is not set 633# CONFIG_SCSI_BNX2_ISCSI is not set
634# CONFIG_BE2ISCSI is not set
625# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 635# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
626# CONFIG_SCSI_3W_9XXX is not set 636# CONFIG_SCSI_3W_9XXX is not set
627# CONFIG_SCSI_ACARD is not set 637# CONFIG_SCSI_ACARD is not set
@@ -662,7 +672,9 @@ CONFIG_SCSI_LOWLEVEL=y
662# CONFIG_SCSI_DC390T is not set 672# CONFIG_SCSI_DC390T is not set
663# CONFIG_SCSI_NSP32 is not set 673# CONFIG_SCSI_NSP32 is not set
664# CONFIG_SCSI_DEBUG is not set 674# CONFIG_SCSI_DEBUG is not set
675# CONFIG_SCSI_PMCRAID is not set
665# CONFIG_SCSI_SRP is not set 676# CONFIG_SCSI_SRP is not set
677# CONFIG_SCSI_BFA_FC is not set
666# CONFIG_SCSI_DH is not set 678# CONFIG_SCSI_DH is not set
667# CONFIG_SCSI_OSD_INITIATOR is not set 679# CONFIG_SCSI_OSD_INITIATOR is not set
668# CONFIG_ATA is not set 680# CONFIG_ATA is not set
@@ -732,8 +744,10 @@ CONFIG_NET_ETHERNET=y
732# CONFIG_NET_PCI is not set 744# CONFIG_NET_PCI is not set
733# CONFIG_B44 is not set 745# CONFIG_B44 is not set
734# CONFIG_KS8842 is not set 746# CONFIG_KS8842 is not set
747# CONFIG_KS8851_MLL is not set
735# CONFIG_NET_POCKET is not set 748# CONFIG_NET_POCKET is not set
736# CONFIG_ATL2 is not set 749# CONFIG_ATL2 is not set
750# CONFIG_XILINX_EMACLITE is not set
737# CONFIG_FS_ENET is not set 751# CONFIG_FS_ENET is not set
738CONFIG_NETDEV_1000=y 752CONFIG_NETDEV_1000=y
739# CONFIG_ACENIC is not set 753# CONFIG_ACENIC is not set
@@ -782,10 +796,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
782# CONFIG_SFC is not set 796# CONFIG_SFC is not set
783# CONFIG_BE2NET is not set 797# CONFIG_BE2NET is not set
784# CONFIG_TR is not set 798# CONFIG_TR is not set
785 799CONFIG_WLAN=y
786#
787# Wireless LAN
788#
789# CONFIG_WLAN_PRE80211 is not set 800# CONFIG_WLAN_PRE80211 is not set
790# CONFIG_WLAN_80211 is not set 801# CONFIG_WLAN_80211 is not set
791 802
@@ -827,11 +838,15 @@ CONFIG_INPUT_EVDEV=m
827# Input Device Drivers 838# Input Device Drivers
828# 839#
829CONFIG_INPUT_KEYBOARD=y 840CONFIG_INPUT_KEYBOARD=y
841# CONFIG_KEYBOARD_ADP5588 is not set
830CONFIG_KEYBOARD_ATKBD=y 842CONFIG_KEYBOARD_ATKBD=y
843# CONFIG_QT2160 is not set
831# CONFIG_KEYBOARD_LKKBD is not set 844# CONFIG_KEYBOARD_LKKBD is not set
832# CONFIG_KEYBOARD_GPIO is not set 845# CONFIG_KEYBOARD_GPIO is not set
833# CONFIG_KEYBOARD_MATRIX is not set 846# CONFIG_KEYBOARD_MATRIX is not set
847# CONFIG_KEYBOARD_MAX7359 is not set
834# CONFIG_KEYBOARD_NEWTON is not set 848# CONFIG_KEYBOARD_NEWTON is not set
849# CONFIG_KEYBOARD_OPENCORES is not set
835# CONFIG_KEYBOARD_STOWAWAY is not set 850# CONFIG_KEYBOARD_STOWAWAY is not set
836# CONFIG_KEYBOARD_SUNKBD is not set 851# CONFIG_KEYBOARD_SUNKBD is not set
837# CONFIG_KEYBOARD_XTKBD is not set 852# CONFIG_KEYBOARD_XTKBD is not set
@@ -842,6 +857,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
842CONFIG_MOUSE_PS2_SYNAPTICS=y 857CONFIG_MOUSE_PS2_SYNAPTICS=y
843CONFIG_MOUSE_PS2_TRACKPOINT=y 858CONFIG_MOUSE_PS2_TRACKPOINT=y
844# CONFIG_MOUSE_PS2_ELANTECH is not set 859# CONFIG_MOUSE_PS2_ELANTECH is not set
860# CONFIG_MOUSE_PS2_SENTELIC is not set
845# CONFIG_MOUSE_PS2_TOUCHKIT is not set 861# CONFIG_MOUSE_PS2_TOUCHKIT is not set
846# CONFIG_MOUSE_SERIAL is not set 862# CONFIG_MOUSE_SERIAL is not set
847# CONFIG_MOUSE_APPLETOUCH is not set 863# CONFIG_MOUSE_APPLETOUCH is not set
@@ -909,6 +925,7 @@ CONFIG_HW_RANDOM=m
909CONFIG_DEVPORT=y 925CONFIG_DEVPORT=y
910CONFIG_I2C=m 926CONFIG_I2C=m
911CONFIG_I2C_BOARDINFO=y 927CONFIG_I2C_BOARDINFO=y
928CONFIG_I2C_COMPAT=y
912CONFIG_I2C_CHARDEV=m 929CONFIG_I2C_CHARDEV=m
913CONFIG_I2C_HELPER_AUTO=y 930CONFIG_I2C_HELPER_AUTO=y
914CONFIG_I2C_ALGOBIT=m 931CONFIG_I2C_ALGOBIT=m
@@ -967,9 +984,6 @@ CONFIG_I2C_ALGOBIT=m
967# Miscellaneous I2C Chip support 984# Miscellaneous I2C Chip support
968# 985#
969# CONFIG_DS1682 is not set 986# CONFIG_DS1682 is not set
970# CONFIG_SENSORS_PCF8574 is not set
971# CONFIG_PCF8575 is not set
972# CONFIG_SENSORS_PCA9539 is not set
973# CONFIG_SENSORS_TSL2550 is not set 987# CONFIG_SENSORS_TSL2550 is not set
974# CONFIG_I2C_DEBUG_CORE is not set 988# CONFIG_I2C_DEBUG_CORE is not set
975# CONFIG_I2C_DEBUG_ALGO is not set 989# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1003,14 +1017,24 @@ CONFIG_GPIOLIB=y
1003# PCI GPIO expanders: 1017# PCI GPIO expanders:
1004# 1018#
1005# CONFIG_GPIO_BT8XX is not set 1019# CONFIG_GPIO_BT8XX is not set
1020# CONFIG_GPIO_LANGWELL is not set
1006 1021
1007# 1022#
1008# SPI GPIO expanders: 1023# SPI GPIO expanders:
1009# 1024#
1025
1026#
1027# AC97 GPIO expanders:
1028#
1010# CONFIG_W1 is not set 1029# CONFIG_W1 is not set
1011# CONFIG_POWER_SUPPLY is not set 1030# CONFIG_POWER_SUPPLY is not set
1012CONFIG_HWMON=y 1031CONFIG_HWMON=y
1013# CONFIG_HWMON_VID is not set 1032# CONFIG_HWMON_VID is not set
1033# CONFIG_HWMON_DEBUG_CHIP is not set
1034
1035#
1036# Native drivers
1037#
1014# CONFIG_SENSORS_AD7414 is not set 1038# CONFIG_SENSORS_AD7414 is not set
1015# CONFIG_SENSORS_AD7418 is not set 1039# CONFIG_SENSORS_AD7418 is not set
1016# CONFIG_SENSORS_ADM1021 is not set 1040# CONFIG_SENSORS_ADM1021 is not set
@@ -1061,6 +1085,7 @@ CONFIG_HWMON=y
1061# CONFIG_SENSORS_ADS7828 is not set 1085# CONFIG_SENSORS_ADS7828 is not set
1062# CONFIG_SENSORS_THMC50 is not set 1086# CONFIG_SENSORS_THMC50 is not set
1063# CONFIG_SENSORS_TMP401 is not set 1087# CONFIG_SENSORS_TMP401 is not set
1088# CONFIG_SENSORS_TMP421 is not set
1064# CONFIG_SENSORS_VIA686A is not set 1089# CONFIG_SENSORS_VIA686A is not set
1065# CONFIG_SENSORS_VT1211 is not set 1090# CONFIG_SENSORS_VT1211 is not set
1066# CONFIG_SENSORS_VT8231 is not set 1091# CONFIG_SENSORS_VT8231 is not set
@@ -1072,9 +1097,7 @@ CONFIG_HWMON=y
1072# CONFIG_SENSORS_W83L786NG is not set 1097# CONFIG_SENSORS_W83L786NG is not set
1073# CONFIG_SENSORS_W83627HF is not set 1098# CONFIG_SENSORS_W83627HF is not set
1074# CONFIG_SENSORS_W83627EHF is not set 1099# CONFIG_SENSORS_W83627EHF is not set
1075# CONFIG_HWMON_DEBUG_CHIP is not set
1076# CONFIG_THERMAL is not set 1100# CONFIG_THERMAL is not set
1077# CONFIG_THERMAL_HWMON is not set
1078# CONFIG_WATCHDOG is not set 1101# CONFIG_WATCHDOG is not set
1079CONFIG_SSB_POSSIBLE=y 1102CONFIG_SSB_POSSIBLE=y
1080 1103
@@ -1092,6 +1115,7 @@ CONFIG_SSB_POSSIBLE=y
1092# CONFIG_TPS65010 is not set 1115# CONFIG_TPS65010 is not set
1093# CONFIG_MFD_TMIO is not set 1116# CONFIG_MFD_TMIO is not set
1094# CONFIG_MFD_WM8400 is not set 1117# CONFIG_MFD_WM8400 is not set
1118# CONFIG_MFD_WM831X is not set
1095# CONFIG_MFD_WM8350_I2C is not set 1119# CONFIG_MFD_WM8350_I2C is not set
1096# CONFIG_MFD_PCF50633 is not set 1120# CONFIG_MFD_PCF50633 is not set
1097# CONFIG_AB3100_CORE is not set 1121# CONFIG_AB3100_CORE is not set
@@ -1102,6 +1126,7 @@ CONFIG_SSB_POSSIBLE=y
1102# Graphics support 1126# Graphics support
1103# 1127#
1104CONFIG_AGP=m 1128CONFIG_AGP=m
1129CONFIG_VGA_ARB=y
1105CONFIG_DRM=m 1130CONFIG_DRM=m
1106# CONFIG_DRM_TDFX is not set 1131# CONFIG_DRM_TDFX is not set
1107# CONFIG_DRM_R128 is not set 1132# CONFIG_DRM_R128 is not set
@@ -1125,7 +1150,6 @@ CONFIG_SOUND=m
1125# CONFIG_SOUND_PRIME is not set 1150# CONFIG_SOUND_PRIME is not set
1126CONFIG_HID_SUPPORT=y 1151CONFIG_HID_SUPPORT=y
1127CONFIG_HID=y 1152CONFIG_HID=y
1128# CONFIG_HID_DEBUG is not set
1129# CONFIG_HIDRAW is not set 1153# CONFIG_HIDRAW is not set
1130# CONFIG_HID_PID is not set 1154# CONFIG_HID_PID is not set
1131 1155
@@ -1190,6 +1214,7 @@ CONFIG_FS_MBCACHE=y
1190# CONFIG_GFS2_FS is not set 1214# CONFIG_GFS2_FS is not set
1191# CONFIG_OCFS2_FS is not set 1215# CONFIG_OCFS2_FS is not set
1192# CONFIG_BTRFS_FS is not set 1216# CONFIG_BTRFS_FS is not set
1217# CONFIG_NILFS2_FS is not set
1193CONFIG_FILE_LOCKING=y 1218CONFIG_FILE_LOCKING=y
1194CONFIG_FSNOTIFY=y 1219CONFIG_FSNOTIFY=y
1195CONFIG_DNOTIFY=y 1220CONFIG_DNOTIFY=y
@@ -1254,7 +1279,6 @@ CONFIG_CRAMFS=m
1254# CONFIG_ROMFS_FS is not set 1279# CONFIG_ROMFS_FS is not set
1255# CONFIG_SYSV_FS is not set 1280# CONFIG_SYSV_FS is not set
1256# CONFIG_UFS_FS is not set 1281# CONFIG_UFS_FS is not set
1257# CONFIG_NILFS2_FS is not set
1258CONFIG_NETWORK_FILESYSTEMS=y 1282CONFIG_NETWORK_FILESYSTEMS=y
1259CONFIG_NFS_FS=y 1283CONFIG_NFS_FS=y
1260CONFIG_NFS_V3=y 1284CONFIG_NFS_V3=y
@@ -1352,6 +1376,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1352CONFIG_ENABLE_MUST_CHECK=y 1376CONFIG_ENABLE_MUST_CHECK=y
1353CONFIG_FRAME_WARN=1024 1377CONFIG_FRAME_WARN=1024
1354# CONFIG_MAGIC_SYSRQ is not set 1378# CONFIG_MAGIC_SYSRQ is not set
1379# CONFIG_STRIP_ASM_SYMS is not set
1355# CONFIG_UNUSED_SYMBOLS is not set 1380# CONFIG_UNUSED_SYMBOLS is not set
1356# CONFIG_DEBUG_FS is not set 1381# CONFIG_DEBUG_FS is not set
1357# CONFIG_HEADERS_CHECK is not set 1382# CONFIG_HEADERS_CHECK is not set
@@ -1369,6 +1394,7 @@ CONFIG_SCHED_DEBUG=y
1369# CONFIG_DEBUG_OBJECTS is not set 1394# CONFIG_DEBUG_OBJECTS is not set
1370# CONFIG_SLUB_DEBUG_ON is not set 1395# CONFIG_SLUB_DEBUG_ON is not set
1371# CONFIG_SLUB_STATS is not set 1396# CONFIG_SLUB_STATS is not set
1397# CONFIG_DEBUG_KMEMLEAK is not set
1372# CONFIG_DEBUG_RT_MUTEXES is not set 1398# CONFIG_DEBUG_RT_MUTEXES is not set
1373# CONFIG_RT_MUTEX_TESTER is not set 1399# CONFIG_RT_MUTEX_TESTER is not set
1374# CONFIG_DEBUG_SPINLOCK is not set 1400# CONFIG_DEBUG_SPINLOCK is not set
@@ -1388,10 +1414,12 @@ CONFIG_SCHED_DEBUG=y
1388# CONFIG_DEBUG_LIST is not set 1414# CONFIG_DEBUG_LIST is not set
1389# CONFIG_DEBUG_SG is not set 1415# CONFIG_DEBUG_SG is not set
1390# CONFIG_DEBUG_NOTIFIERS is not set 1416# CONFIG_DEBUG_NOTIFIERS is not set
1417# CONFIG_DEBUG_CREDENTIALS is not set
1391# CONFIG_RCU_TORTURE_TEST is not set 1418# CONFIG_RCU_TORTURE_TEST is not set
1392# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1419# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1393# CONFIG_BACKTRACE_SELF_TEST is not set 1420# CONFIG_BACKTRACE_SELF_TEST is not set
1394# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1421# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1422# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1395# CONFIG_FAULT_INJECTION is not set 1423# CONFIG_FAULT_INJECTION is not set
1396# CONFIG_LATENCYTOP is not set 1424# CONFIG_LATENCYTOP is not set
1397CONFIG_SYSCTL_SYSCALL_CHECK=y 1425CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1414,10 +1442,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1414# CONFIG_KMEMTRACE is not set 1442# CONFIG_KMEMTRACE is not set
1415# CONFIG_WORKQUEUE_TRACER is not set 1443# CONFIG_WORKQUEUE_TRACER is not set
1416# CONFIG_BLK_DEV_IO_TRACE is not set 1444# CONFIG_BLK_DEV_IO_TRACE is not set
1445# CONFIG_DMA_API_DEBUG is not set
1417# CONFIG_SAMPLES is not set 1446# CONFIG_SAMPLES is not set
1418CONFIG_HAVE_ARCH_KGDB=y 1447CONFIG_HAVE_ARCH_KGDB=y
1419# CONFIG_KGDB is not set 1448# CONFIG_KGDB is not set
1420# CONFIG_KMEMCHECK is not set
1421# CONFIG_PPC_DISABLE_WERROR is not set 1449# CONFIG_PPC_DISABLE_WERROR is not set
1422CONFIG_PPC_WERROR=y 1450CONFIG_PPC_WERROR=y
1423CONFIG_PRINT_STACK_DEPTH=64 1451CONFIG_PRINT_STACK_DEPTH=64
@@ -1443,7 +1471,6 @@ CONFIG_CRYPTO=y
1443# 1471#
1444# Crypto core or helper 1472# Crypto core or helper
1445# 1473#
1446# CONFIG_CRYPTO_FIPS is not set
1447# CONFIG_CRYPTO_MANAGER is not set 1474# CONFIG_CRYPTO_MANAGER is not set
1448# CONFIG_CRYPTO_MANAGER2 is not set 1475# CONFIG_CRYPTO_MANAGER2 is not set
1449# CONFIG_CRYPTO_GF128MUL is not set 1476# CONFIG_CRYPTO_GF128MUL is not set
@@ -1475,11 +1502,13 @@ CONFIG_CRYPTO=y
1475# 1502#
1476# CONFIG_CRYPTO_HMAC is not set 1503# CONFIG_CRYPTO_HMAC is not set
1477# CONFIG_CRYPTO_XCBC is not set 1504# CONFIG_CRYPTO_XCBC is not set
1505# CONFIG_CRYPTO_VMAC is not set
1478 1506
1479# 1507#
1480# Digest 1508# Digest
1481# 1509#
1482# CONFIG_CRYPTO_CRC32C is not set 1510# CONFIG_CRYPTO_CRC32C is not set
1511# CONFIG_CRYPTO_GHASH is not set
1483# CONFIG_CRYPTO_MD4 is not set 1512# CONFIG_CRYPTO_MD4 is not set
1484# CONFIG_CRYPTO_MD5 is not set 1513# CONFIG_CRYPTO_MD5 is not set
1485# CONFIG_CRYPTO_MICHAEL_MIC is not set 1514# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/tqm8540_defconfig b/arch/powerpc/configs/85xx/tqm8540_defconfig
index 2c407523aad2..82563703d5e3 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:21 2009 4# Thu Nov 5 08:20:39 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 86#
85# RCU Subsystem 87# RCU Subsystem
86# 88#
87CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -124,28 +127,29 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 127CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 128CONFIG_SHMEM=y
126CONFIG_AIO=y 129CONFIG_AIO=y
127CONFIG_HAVE_PERF_COUNTERS=y 130CONFIG_HAVE_PERF_EVENTS=y
128 131
129# 132#
130# Performance Counters 133# Kernel Performance Events And Counters
131# 134#
135# CONFIG_PERF_EVENTS is not set
132# CONFIG_PERF_COUNTERS is not set 136# CONFIG_PERF_COUNTERS is not set
133CONFIG_VM_EVENT_COUNTERS=y 137CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y 138CONFIG_PCI_QUIRKS=y
135CONFIG_SLUB_DEBUG=y 139CONFIG_SLUB_DEBUG=y
136# CONFIG_STRIP_ASM_SYMS is not set
137CONFIG_COMPAT_BRK=y 140CONFIG_COMPAT_BRK=y
138# CONFIG_SLAB is not set 141# CONFIG_SLAB is not set
139CONFIG_SLUB=y 142CONFIG_SLUB=y
140# CONFIG_SLOB is not set 143# CONFIG_SLOB is not set
141# CONFIG_PROFILING is not set 144# CONFIG_PROFILING is not set
142# CONFIG_MARKERS is not set
143CONFIG_HAVE_OPROFILE=y 145CONFIG_HAVE_OPROFILE=y
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 147CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
147CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
148CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
149 153
150# 154#
151# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -188,6 +192,7 @@ CONFIG_MPC85xx=y
188# CONFIG_MPC85xx_MDS is not set 192# CONFIG_MPC85xx_MDS is not set
189# CONFIG_MPC8536_DS is not set 193# CONFIG_MPC8536_DS is not set
190# CONFIG_MPC85xx_DS is not set 194# CONFIG_MPC85xx_DS is not set
195# CONFIG_MPC85xx_RDB is not set
191# CONFIG_SOCRATES is not set 196# CONFIG_SOCRATES is not set
192# CONFIG_KSI8560 is not set 197# CONFIG_KSI8560 is not set
193# CONFIG_XES_MPC85xx is not set 198# CONFIG_XES_MPC85xx is not set
@@ -243,6 +248,7 @@ CONFIG_MATH_EMULATION=y
243CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 248CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
244CONFIG_ARCH_HAS_WALK_MEMORY=y 249CONFIG_ARCH_HAS_WALK_MEMORY=y
245CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 250CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
251CONFIG_MAX_ACTIVE_REGIONS=32
246CONFIG_ARCH_FLATMEM_ENABLE=y 252CONFIG_ARCH_FLATMEM_ENABLE=y
247CONFIG_ARCH_POPULATES_NODE_MAP=y 253CONFIG_ARCH_POPULATES_NODE_MAP=y
248CONFIG_SELECT_MEMORY_MODEL=y 254CONFIG_SELECT_MEMORY_MODEL=y
@@ -260,6 +266,7 @@ CONFIG_BOUNCE=y
260CONFIG_VIRT_TO_BUS=y 266CONFIG_VIRT_TO_BUS=y
261CONFIG_HAVE_MLOCK=y 267CONFIG_HAVE_MLOCK=y
262CONFIG_HAVE_MLOCKED_PAGE_BIT=y 268CONFIG_HAVE_MLOCKED_PAGE_BIT=y
269# CONFIG_KSM is not set
263CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 270CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
264CONFIG_PPC_4K_PAGES=y 271CONFIG_PPC_4K_PAGES=y
265# CONFIG_PPC_16K_PAGES is not set 272# CONFIG_PPC_16K_PAGES is not set
@@ -354,6 +361,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
354# CONFIG_NETFILTER is not set 361# CONFIG_NETFILTER is not set
355# CONFIG_IP_DCCP is not set 362# CONFIG_IP_DCCP is not set
356# CONFIG_IP_SCTP is not set 363# CONFIG_IP_SCTP is not set
364# CONFIG_RDS is not set
357# CONFIG_TIPC is not set 365# CONFIG_TIPC is not set
358# CONFIG_ATM is not set 366# CONFIG_ATM is not set
359# CONFIG_BRIDGE is not set 367# CONFIG_BRIDGE is not set
@@ -383,6 +391,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
383# CONFIG_AF_RXRPC is not set 391# CONFIG_AF_RXRPC is not set
384CONFIG_WIRELESS=y 392CONFIG_WIRELESS=y
385# CONFIG_CFG80211 is not set 393# CONFIG_CFG80211 is not set
394CONFIG_CFG80211_DEFAULT_PS_VALUE=0
386CONFIG_WIRELESS_OLD_REGULATORY=y 395CONFIG_WIRELESS_OLD_REGULATORY=y
387# CONFIG_WIRELESS_EXT is not set 396# CONFIG_WIRELESS_EXT is not set
388# CONFIG_LIB80211 is not set 397# CONFIG_LIB80211 is not set
@@ -390,7 +399,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
390# 399#
391# CFG80211 needs to be enabled for MAC80211 400# CFG80211 needs to be enabled for MAC80211
392# 401#
393CONFIG_MAC80211_DEFAULT_PS_VALUE=0
394# CONFIG_WIMAX is not set 402# CONFIG_WIMAX is not set
395# CONFIG_RFKILL is not set 403# CONFIG_RFKILL is not set
396# CONFIG_NET_9P is not set 404# CONFIG_NET_9P is not set
@@ -677,9 +685,11 @@ CONFIG_E100=y
677# CONFIG_SUNDANCE is not set 685# CONFIG_SUNDANCE is not set
678# CONFIG_TLAN is not set 686# CONFIG_TLAN is not set
679# CONFIG_KS8842 is not set 687# CONFIG_KS8842 is not set
688# CONFIG_KS8851_MLL is not set
680# CONFIG_VIA_RHINE is not set 689# CONFIG_VIA_RHINE is not set
681# CONFIG_SC92031 is not set 690# CONFIG_SC92031 is not set
682# CONFIG_ATL2 is not set 691# CONFIG_ATL2 is not set
692# CONFIG_XILINX_EMACLITE is not set
683CONFIG_NETDEV_1000=y 693CONFIG_NETDEV_1000=y
684# CONFIG_ACENIC is not set 694# CONFIG_ACENIC is not set
685# CONFIG_DL2K is not set 695# CONFIG_DL2K is not set
@@ -727,10 +737,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
727# CONFIG_SFC is not set 737# CONFIG_SFC is not set
728# CONFIG_BE2NET is not set 738# CONFIG_BE2NET is not set
729# CONFIG_TR is not set 739# CONFIG_TR is not set
730 740CONFIG_WLAN=y
731#
732# Wireless LAN
733#
734# CONFIG_WLAN_PRE80211 is not set 741# CONFIG_WLAN_PRE80211 is not set
735# CONFIG_WLAN_80211 is not set 742# CONFIG_WLAN_80211 is not set
736 743
@@ -824,6 +831,7 @@ CONFIG_GEN_RTC=y
824CONFIG_DEVPORT=y 831CONFIG_DEVPORT=y
825CONFIG_I2C=y 832CONFIG_I2C=y
826CONFIG_I2C_BOARDINFO=y 833CONFIG_I2C_BOARDINFO=y
834CONFIG_I2C_COMPAT=y
827CONFIG_I2C_CHARDEV=y 835CONFIG_I2C_CHARDEV=y
828CONFIG_I2C_HELPER_AUTO=y 836CONFIG_I2C_HELPER_AUTO=y
829 837
@@ -876,9 +884,6 @@ CONFIG_I2C_MPC=y
876# Miscellaneous I2C Chip support 884# Miscellaneous I2C Chip support
877# 885#
878# CONFIG_DS1682 is not set 886# CONFIG_DS1682 is not set
879# CONFIG_SENSORS_PCF8574 is not set
880# CONFIG_PCF8575 is not set
881# CONFIG_SENSORS_PCA9539 is not set
882# CONFIG_SENSORS_TSL2550 is not set 887# CONFIG_SENSORS_TSL2550 is not set
883# CONFIG_I2C_DEBUG_CORE is not set 888# CONFIG_I2C_DEBUG_CORE is not set
884# CONFIG_I2C_DEBUG_ALGO is not set 889# CONFIG_I2C_DEBUG_ALGO is not set
@@ -896,6 +901,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
896# CONFIG_POWER_SUPPLY is not set 901# CONFIG_POWER_SUPPLY is not set
897CONFIG_HWMON=y 902CONFIG_HWMON=y
898# CONFIG_HWMON_VID is not set 903# CONFIG_HWMON_VID is not set
904CONFIG_HWMON_DEBUG_CHIP=y
905
906#
907# Native drivers
908#
899# CONFIG_SENSORS_AD7414 is not set 909# CONFIG_SENSORS_AD7414 is not set
900# CONFIG_SENSORS_AD7418 is not set 910# CONFIG_SENSORS_AD7418 is not set
901# CONFIG_SENSORS_ADM1021 is not set 911# CONFIG_SENSORS_ADM1021 is not set
@@ -945,6 +955,7 @@ CONFIG_SENSORS_LM75=y
945# CONFIG_SENSORS_ADS7828 is not set 955# CONFIG_SENSORS_ADS7828 is not set
946# CONFIG_SENSORS_THMC50 is not set 956# CONFIG_SENSORS_THMC50 is not set
947# CONFIG_SENSORS_TMP401 is not set 957# CONFIG_SENSORS_TMP401 is not set
958# CONFIG_SENSORS_TMP421 is not set
948# CONFIG_SENSORS_VIA686A is not set 959# CONFIG_SENSORS_VIA686A is not set
949# CONFIG_SENSORS_VT1211 is not set 960# CONFIG_SENSORS_VT1211 is not set
950# CONFIG_SENSORS_VT8231 is not set 961# CONFIG_SENSORS_VT8231 is not set
@@ -956,9 +967,7 @@ CONFIG_SENSORS_LM75=y
956# CONFIG_SENSORS_W83L786NG is not set 967# CONFIG_SENSORS_W83L786NG is not set
957# CONFIG_SENSORS_W83627HF is not set 968# CONFIG_SENSORS_W83627HF is not set
958# CONFIG_SENSORS_W83627EHF is not set 969# CONFIG_SENSORS_W83627EHF is not set
959CONFIG_HWMON_DEBUG_CHIP=y
960# CONFIG_THERMAL is not set 970# CONFIG_THERMAL is not set
961# CONFIG_THERMAL_HWMON is not set
962# CONFIG_WATCHDOG is not set 971# CONFIG_WATCHDOG is not set
963CONFIG_SSB_POSSIBLE=y 972CONFIG_SSB_POSSIBLE=y
964 973
@@ -977,6 +986,7 @@ CONFIG_SSB_POSSIBLE=y
977# CONFIG_MFD_TMIO is not set 986# CONFIG_MFD_TMIO is not set
978# CONFIG_PMIC_DA903X is not set 987# CONFIG_PMIC_DA903X is not set
979# CONFIG_MFD_WM8400 is not set 988# CONFIG_MFD_WM8400 is not set
989# CONFIG_MFD_WM831X is not set
980# CONFIG_MFD_WM8350_I2C is not set 990# CONFIG_MFD_WM8350_I2C is not set
981# CONFIG_MFD_PCF50633 is not set 991# CONFIG_MFD_PCF50633 is not set
982# CONFIG_AB3100_CORE is not set 992# CONFIG_AB3100_CORE is not set
@@ -987,6 +997,7 @@ CONFIG_SSB_POSSIBLE=y
987# Graphics support 997# Graphics support
988# 998#
989# CONFIG_AGP is not set 999# CONFIG_AGP is not set
1000CONFIG_VGA_ARB=y
990# CONFIG_DRM is not set 1001# CONFIG_DRM is not set
991# CONFIG_VGASTATE is not set 1002# CONFIG_VGASTATE is not set
992# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1003# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1000,7 +1011,6 @@ CONFIG_SSB_POSSIBLE=y
1000# CONFIG_SOUND is not set 1011# CONFIG_SOUND is not set
1001CONFIG_HID_SUPPORT=y 1012CONFIG_HID_SUPPORT=y
1002CONFIG_HID=y 1013CONFIG_HID=y
1003# CONFIG_HID_DEBUG is not set
1004# CONFIG_HIDRAW is not set 1014# CONFIG_HIDRAW is not set
1005# CONFIG_HID_PID is not set 1015# CONFIG_HID_PID is not set
1006 1016
@@ -1065,6 +1075,7 @@ CONFIG_FS_MBCACHE=y
1065# CONFIG_GFS2_FS is not set 1075# CONFIG_GFS2_FS is not set
1066# CONFIG_OCFS2_FS is not set 1076# CONFIG_OCFS2_FS is not set
1067# CONFIG_BTRFS_FS is not set 1077# CONFIG_BTRFS_FS is not set
1078# CONFIG_NILFS2_FS is not set
1068CONFIG_FILE_LOCKING=y 1079CONFIG_FILE_LOCKING=y
1069CONFIG_FSNOTIFY=y 1080CONFIG_FSNOTIFY=y
1070CONFIG_DNOTIFY=y 1081CONFIG_DNOTIFY=y
@@ -1134,7 +1145,6 @@ CONFIG_CRAMFS=y
1134# CONFIG_ROMFS_FS is not set 1145# CONFIG_ROMFS_FS is not set
1135# CONFIG_SYSV_FS is not set 1146# CONFIG_SYSV_FS is not set
1136# CONFIG_UFS_FS is not set 1147# CONFIG_UFS_FS is not set
1137# CONFIG_NILFS2_FS is not set
1138CONFIG_NETWORK_FILESYSTEMS=y 1148CONFIG_NETWORK_FILESYSTEMS=y
1139CONFIG_NFS_FS=y 1149CONFIG_NFS_FS=y
1140# CONFIG_NFS_V3 is not set 1150# CONFIG_NFS_V3 is not set
@@ -1203,6 +1213,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1203CONFIG_ENABLE_MUST_CHECK=y 1213CONFIG_ENABLE_MUST_CHECK=y
1204CONFIG_FRAME_WARN=1024 1214CONFIG_FRAME_WARN=1024
1205# CONFIG_MAGIC_SYSRQ is not set 1215# CONFIG_MAGIC_SYSRQ is not set
1216# CONFIG_STRIP_ASM_SYMS is not set
1206# CONFIG_UNUSED_SYMBOLS is not set 1217# CONFIG_UNUSED_SYMBOLS is not set
1207# CONFIG_DEBUG_FS is not set 1218# CONFIG_DEBUG_FS is not set
1208# CONFIG_HEADERS_CHECK is not set 1219# CONFIG_HEADERS_CHECK is not set
@@ -1220,6 +1231,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1220CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1231CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1221CONFIG_TRACING_SUPPORT=y 1232CONFIG_TRACING_SUPPORT=y
1222# CONFIG_FTRACE is not set 1233# CONFIG_FTRACE is not set
1234# CONFIG_DMA_API_DEBUG is not set
1223# CONFIG_SAMPLES is not set 1235# CONFIG_SAMPLES is not set
1224CONFIG_HAVE_ARCH_KGDB=y 1236CONFIG_HAVE_ARCH_KGDB=y
1225# CONFIG_PPC_DISABLE_WERROR is not set 1237# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1240,7 +1252,6 @@ CONFIG_CRYPTO=y
1240# 1252#
1241# Crypto core or helper 1253# Crypto core or helper
1242# 1254#
1243# CONFIG_CRYPTO_FIPS is not set
1244# CONFIG_CRYPTO_MANAGER is not set 1255# CONFIG_CRYPTO_MANAGER is not set
1245# CONFIG_CRYPTO_MANAGER2 is not set 1256# CONFIG_CRYPTO_MANAGER2 is not set
1246# CONFIG_CRYPTO_GF128MUL is not set 1257# CONFIG_CRYPTO_GF128MUL is not set
@@ -1271,11 +1282,13 @@ CONFIG_CRYPTO=y
1271# 1282#
1272# CONFIG_CRYPTO_HMAC is not set 1283# CONFIG_CRYPTO_HMAC is not set
1273# CONFIG_CRYPTO_XCBC is not set 1284# CONFIG_CRYPTO_XCBC is not set
1285# CONFIG_CRYPTO_VMAC is not set
1274 1286
1275# 1287#
1276# Digest 1288# Digest
1277# 1289#
1278# CONFIG_CRYPTO_CRC32C is not set 1290# CONFIG_CRYPTO_CRC32C is not set
1291# CONFIG_CRYPTO_GHASH is not set
1279# CONFIG_CRYPTO_MD4 is not set 1292# CONFIG_CRYPTO_MD4 is not set
1280# CONFIG_CRYPTO_MD5 is not set 1293# CONFIG_CRYPTO_MD5 is not set
1281# CONFIG_CRYPTO_MICHAEL_MIC is not set 1294# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/tqm8541_defconfig b/arch/powerpc/configs/85xx/tqm8541_defconfig
index 845731dc51c6..91d85d733827 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:22 2009 4# Thu Nov 5 08:20:40 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +87,12 @@ CONFIG_SYSVIPC_SYSCTL=y
85# 87#
86# RCU Subsystem 88# RCU Subsystem
87# 89#
88CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
95CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -125,29 +128,30 @@ CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 128CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 129CONFIG_SHMEM=y
127CONFIG_AIO=y 130CONFIG_AIO=y
128CONFIG_HAVE_PERF_COUNTERS=y 131CONFIG_HAVE_PERF_EVENTS=y
129 132
130# 133#
131# Performance Counters 134# Kernel Performance Events And Counters
132# 135#
136# CONFIG_PERF_EVENTS is not set
133# CONFIG_PERF_COUNTERS is not set 137# CONFIG_PERF_COUNTERS is not set
134CONFIG_VM_EVENT_COUNTERS=y 138CONFIG_VM_EVENT_COUNTERS=y
135CONFIG_PCI_QUIRKS=y 139CONFIG_PCI_QUIRKS=y
136CONFIG_SLUB_DEBUG=y 140CONFIG_SLUB_DEBUG=y
137# CONFIG_STRIP_ASM_SYMS is not set
138CONFIG_COMPAT_BRK=y 141CONFIG_COMPAT_BRK=y
139# CONFIG_SLAB is not set 142# CONFIG_SLAB is not set
140CONFIG_SLUB=y 143CONFIG_SLUB=y
141# CONFIG_SLOB is not set 144# CONFIG_SLOB is not set
142# CONFIG_PROFILING is not set 145# CONFIG_PROFILING is not set
143# CONFIG_MARKERS is not set
144CONFIG_HAVE_OPROFILE=y 146CONFIG_HAVE_OPROFILE=y
145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 147CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
146CONFIG_HAVE_IOREMAP_PROT=y 148CONFIG_HAVE_IOREMAP_PROT=y
147CONFIG_HAVE_KPROBES=y 149CONFIG_HAVE_KPROBES=y
148CONFIG_HAVE_KRETPROBES=y 150CONFIG_HAVE_KRETPROBES=y
149CONFIG_HAVE_ARCH_TRACEHOOK=y 151CONFIG_HAVE_ARCH_TRACEHOOK=y
152CONFIG_HAVE_DMA_ATTRS=y
150CONFIG_HAVE_CLK=y 153CONFIG_HAVE_CLK=y
154CONFIG_HAVE_DMA_API_DEBUG=y
151 155
152# 156#
153# GCOV-based kernel profiling 157# GCOV-based kernel profiling
@@ -190,6 +194,7 @@ CONFIG_MPC85xx=y
190# CONFIG_MPC85xx_MDS is not set 194# CONFIG_MPC85xx_MDS is not set
191# CONFIG_MPC8536_DS is not set 195# CONFIG_MPC8536_DS is not set
192# CONFIG_MPC85xx_DS is not set 196# CONFIG_MPC85xx_DS is not set
197# CONFIG_MPC85xx_RDB is not set
193# CONFIG_SOCRATES is not set 198# CONFIG_SOCRATES is not set
194# CONFIG_KSI8560 is not set 199# CONFIG_KSI8560 is not set
195# CONFIG_XES_MPC85xx is not set 200# CONFIG_XES_MPC85xx is not set
@@ -246,6 +251,7 @@ CONFIG_MATH_EMULATION=y
246CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 251CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
247CONFIG_ARCH_HAS_WALK_MEMORY=y 252CONFIG_ARCH_HAS_WALK_MEMORY=y
248CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 253CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
254CONFIG_MAX_ACTIVE_REGIONS=32
249CONFIG_ARCH_FLATMEM_ENABLE=y 255CONFIG_ARCH_FLATMEM_ENABLE=y
250CONFIG_ARCH_POPULATES_NODE_MAP=y 256CONFIG_ARCH_POPULATES_NODE_MAP=y
251CONFIG_SELECT_MEMORY_MODEL=y 257CONFIG_SELECT_MEMORY_MODEL=y
@@ -263,6 +269,7 @@ CONFIG_BOUNCE=y
263CONFIG_VIRT_TO_BUS=y 269CONFIG_VIRT_TO_BUS=y
264CONFIG_HAVE_MLOCK=y 270CONFIG_HAVE_MLOCK=y
265CONFIG_HAVE_MLOCKED_PAGE_BIT=y 271CONFIG_HAVE_MLOCKED_PAGE_BIT=y
272# CONFIG_KSM is not set
266CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 273CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
267CONFIG_PPC_4K_PAGES=y 274CONFIG_PPC_4K_PAGES=y
268# CONFIG_PPC_16K_PAGES is not set 275# CONFIG_PPC_16K_PAGES is not set
@@ -357,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
357# CONFIG_NETFILTER is not set 364# CONFIG_NETFILTER is not set
358# CONFIG_IP_DCCP is not set 365# CONFIG_IP_DCCP is not set
359# CONFIG_IP_SCTP is not set 366# CONFIG_IP_SCTP is not set
367# CONFIG_RDS is not set
360# CONFIG_TIPC is not set 368# CONFIG_TIPC is not set
361# CONFIG_ATM is not set 369# CONFIG_ATM is not set
362# CONFIG_BRIDGE is not set 370# CONFIG_BRIDGE is not set
@@ -386,6 +394,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
386# CONFIG_AF_RXRPC is not set 394# CONFIG_AF_RXRPC is not set
387CONFIG_WIRELESS=y 395CONFIG_WIRELESS=y
388# CONFIG_CFG80211 is not set 396# CONFIG_CFG80211 is not set
397CONFIG_CFG80211_DEFAULT_PS_VALUE=0
389CONFIG_WIRELESS_OLD_REGULATORY=y 398CONFIG_WIRELESS_OLD_REGULATORY=y
390# CONFIG_WIRELESS_EXT is not set 399# CONFIG_WIRELESS_EXT is not set
391# CONFIG_LIB80211 is not set 400# CONFIG_LIB80211 is not set
@@ -393,7 +402,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
393# 402#
394# CFG80211 needs to be enabled for MAC80211 403# CFG80211 needs to be enabled for MAC80211
395# 404#
396CONFIG_MAC80211_DEFAULT_PS_VALUE=0
397# CONFIG_WIMAX is not set 405# CONFIG_WIMAX is not set
398# CONFIG_RFKILL is not set 406# CONFIG_RFKILL is not set
399# CONFIG_NET_9P is not set 407# CONFIG_NET_9P is not set
@@ -681,9 +689,11 @@ CONFIG_E100=y
681# CONFIG_SUNDANCE is not set 689# CONFIG_SUNDANCE is not set
682# CONFIG_TLAN is not set 690# CONFIG_TLAN is not set
683# CONFIG_KS8842 is not set 691# CONFIG_KS8842 is not set
692# CONFIG_KS8851_MLL is not set
684# CONFIG_VIA_RHINE is not set 693# CONFIG_VIA_RHINE is not set
685# CONFIG_SC92031 is not set 694# CONFIG_SC92031 is not set
686# CONFIG_ATL2 is not set 695# CONFIG_ATL2 is not set
696# CONFIG_XILINX_EMACLITE is not set
687# CONFIG_FS_ENET is not set 697# CONFIG_FS_ENET is not set
688CONFIG_NETDEV_1000=y 698CONFIG_NETDEV_1000=y
689# CONFIG_ACENIC is not set 699# CONFIG_ACENIC is not set
@@ -732,10 +742,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
732# CONFIG_SFC is not set 742# CONFIG_SFC is not set
733# CONFIG_BE2NET is not set 743# CONFIG_BE2NET is not set
734# CONFIG_TR is not set 744# CONFIG_TR is not set
735 745CONFIG_WLAN=y
736#
737# Wireless LAN
738#
739# CONFIG_WLAN_PRE80211 is not set 746# CONFIG_WLAN_PRE80211 is not set
740# CONFIG_WLAN_80211 is not set 747# CONFIG_WLAN_80211 is not set
741 748
@@ -831,6 +838,7 @@ CONFIG_GEN_RTC=y
831CONFIG_DEVPORT=y 838CONFIG_DEVPORT=y
832CONFIG_I2C=y 839CONFIG_I2C=y
833CONFIG_I2C_BOARDINFO=y 840CONFIG_I2C_BOARDINFO=y
841CONFIG_I2C_COMPAT=y
834CONFIG_I2C_CHARDEV=y 842CONFIG_I2C_CHARDEV=y
835CONFIG_I2C_HELPER_AUTO=y 843CONFIG_I2C_HELPER_AUTO=y
836 844
@@ -886,9 +894,6 @@ CONFIG_I2C_MPC=y
886# Miscellaneous I2C Chip support 894# Miscellaneous I2C Chip support
887# 895#
888# CONFIG_DS1682 is not set 896# CONFIG_DS1682 is not set
889# CONFIG_SENSORS_PCF8574 is not set
890# CONFIG_PCF8575 is not set
891# CONFIG_SENSORS_PCA9539 is not set
892# CONFIG_SENSORS_TSL2550 is not set 897# CONFIG_SENSORS_TSL2550 is not set
893# CONFIG_I2C_DEBUG_CORE is not set 898# CONFIG_I2C_DEBUG_CORE is not set
894# CONFIG_I2C_DEBUG_ALGO is not set 899# CONFIG_I2C_DEBUG_ALGO is not set
@@ -921,14 +926,24 @@ CONFIG_GPIOLIB=y
921# PCI GPIO expanders: 926# PCI GPIO expanders:
922# 927#
923# CONFIG_GPIO_BT8XX is not set 928# CONFIG_GPIO_BT8XX is not set
929# CONFIG_GPIO_LANGWELL is not set
924 930
925# 931#
926# SPI GPIO expanders: 932# SPI GPIO expanders:
927# 933#
934
935#
936# AC97 GPIO expanders:
937#
928# CONFIG_W1 is not set 938# CONFIG_W1 is not set
929# CONFIG_POWER_SUPPLY is not set 939# CONFIG_POWER_SUPPLY is not set
930CONFIG_HWMON=y 940CONFIG_HWMON=y
931# CONFIG_HWMON_VID is not set 941# CONFIG_HWMON_VID is not set
942CONFIG_HWMON_DEBUG_CHIP=y
943
944#
945# Native drivers
946#
932# CONFIG_SENSORS_AD7414 is not set 947# CONFIG_SENSORS_AD7414 is not set
933# CONFIG_SENSORS_AD7418 is not set 948# CONFIG_SENSORS_AD7418 is not set
934# CONFIG_SENSORS_ADM1021 is not set 949# CONFIG_SENSORS_ADM1021 is not set
@@ -979,6 +994,7 @@ CONFIG_SENSORS_LM75=y
979# CONFIG_SENSORS_ADS7828 is not set 994# CONFIG_SENSORS_ADS7828 is not set
980# CONFIG_SENSORS_THMC50 is not set 995# CONFIG_SENSORS_THMC50 is not set
981# CONFIG_SENSORS_TMP401 is not set 996# CONFIG_SENSORS_TMP401 is not set
997# CONFIG_SENSORS_TMP421 is not set
982# CONFIG_SENSORS_VIA686A is not set 998# CONFIG_SENSORS_VIA686A is not set
983# CONFIG_SENSORS_VT1211 is not set 999# CONFIG_SENSORS_VT1211 is not set
984# CONFIG_SENSORS_VT8231 is not set 1000# CONFIG_SENSORS_VT8231 is not set
@@ -990,9 +1006,7 @@ CONFIG_SENSORS_LM75=y
990# CONFIG_SENSORS_W83L786NG is not set 1006# CONFIG_SENSORS_W83L786NG is not set
991# CONFIG_SENSORS_W83627HF is not set 1007# CONFIG_SENSORS_W83627HF is not set
992# CONFIG_SENSORS_W83627EHF is not set 1008# CONFIG_SENSORS_W83627EHF is not set
993CONFIG_HWMON_DEBUG_CHIP=y
994# CONFIG_THERMAL is not set 1009# CONFIG_THERMAL is not set
995# CONFIG_THERMAL_HWMON is not set
996# CONFIG_WATCHDOG is not set 1010# CONFIG_WATCHDOG is not set
997CONFIG_SSB_POSSIBLE=y 1011CONFIG_SSB_POSSIBLE=y
998 1012
@@ -1012,6 +1026,7 @@ CONFIG_SSB_POSSIBLE=y
1012# CONFIG_MFD_TMIO is not set 1026# CONFIG_MFD_TMIO is not set
1013# CONFIG_PMIC_DA903X is not set 1027# CONFIG_PMIC_DA903X is not set
1014# CONFIG_MFD_WM8400 is not set 1028# CONFIG_MFD_WM8400 is not set
1029# CONFIG_MFD_WM831X is not set
1015# CONFIG_MFD_WM8350_I2C is not set 1030# CONFIG_MFD_WM8350_I2C is not set
1016# CONFIG_MFD_PCF50633 is not set 1031# CONFIG_MFD_PCF50633 is not set
1017# CONFIG_AB3100_CORE is not set 1032# CONFIG_AB3100_CORE is not set
@@ -1022,6 +1037,7 @@ CONFIG_SSB_POSSIBLE=y
1022# Graphics support 1037# Graphics support
1023# 1038#
1024# CONFIG_AGP is not set 1039# CONFIG_AGP is not set
1040CONFIG_VGA_ARB=y
1025# CONFIG_DRM is not set 1041# CONFIG_DRM is not set
1026# CONFIG_VGASTATE is not set 1042# CONFIG_VGASTATE is not set
1027# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1043# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1035,7 +1051,6 @@ CONFIG_SSB_POSSIBLE=y
1035# CONFIG_SOUND is not set 1051# CONFIG_SOUND is not set
1036CONFIG_HID_SUPPORT=y 1052CONFIG_HID_SUPPORT=y
1037CONFIG_HID=y 1053CONFIG_HID=y
1038# CONFIG_HID_DEBUG is not set
1039# CONFIG_HIDRAW is not set 1054# CONFIG_HIDRAW is not set
1040# CONFIG_HID_PID is not set 1055# CONFIG_HID_PID is not set
1041 1056
@@ -1100,6 +1115,7 @@ CONFIG_FS_MBCACHE=y
1100# CONFIG_GFS2_FS is not set 1115# CONFIG_GFS2_FS is not set
1101# CONFIG_OCFS2_FS is not set 1116# CONFIG_OCFS2_FS is not set
1102# CONFIG_BTRFS_FS is not set 1117# CONFIG_BTRFS_FS is not set
1118# CONFIG_NILFS2_FS is not set
1103CONFIG_FILE_LOCKING=y 1119CONFIG_FILE_LOCKING=y
1104CONFIG_FSNOTIFY=y 1120CONFIG_FSNOTIFY=y
1105CONFIG_DNOTIFY=y 1121CONFIG_DNOTIFY=y
@@ -1169,7 +1185,6 @@ CONFIG_CRAMFS=y
1169# CONFIG_ROMFS_FS is not set 1185# CONFIG_ROMFS_FS is not set
1170# CONFIG_SYSV_FS is not set 1186# CONFIG_SYSV_FS is not set
1171# CONFIG_UFS_FS is not set 1187# CONFIG_UFS_FS is not set
1172# CONFIG_NILFS2_FS is not set
1173CONFIG_NETWORK_FILESYSTEMS=y 1188CONFIG_NETWORK_FILESYSTEMS=y
1174CONFIG_NFS_FS=y 1189CONFIG_NFS_FS=y
1175# CONFIG_NFS_V3 is not set 1190# CONFIG_NFS_V3 is not set
@@ -1238,6 +1253,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1238CONFIG_ENABLE_MUST_CHECK=y 1253CONFIG_ENABLE_MUST_CHECK=y
1239CONFIG_FRAME_WARN=1024 1254CONFIG_FRAME_WARN=1024
1240# CONFIG_MAGIC_SYSRQ is not set 1255# CONFIG_MAGIC_SYSRQ is not set
1256# CONFIG_STRIP_ASM_SYMS is not set
1241# CONFIG_UNUSED_SYMBOLS is not set 1257# CONFIG_UNUSED_SYMBOLS is not set
1242# CONFIG_DEBUG_FS is not set 1258# CONFIG_DEBUG_FS is not set
1243# CONFIG_HEADERS_CHECK is not set 1259# CONFIG_HEADERS_CHECK is not set
@@ -1255,6 +1271,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1255CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1271CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1256CONFIG_TRACING_SUPPORT=y 1272CONFIG_TRACING_SUPPORT=y
1257# CONFIG_FTRACE is not set 1273# CONFIG_FTRACE is not set
1274# CONFIG_DMA_API_DEBUG is not set
1258# CONFIG_SAMPLES is not set 1275# CONFIG_SAMPLES is not set
1259CONFIG_HAVE_ARCH_KGDB=y 1276CONFIG_HAVE_ARCH_KGDB=y
1260# CONFIG_PPC_DISABLE_WERROR is not set 1277# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1275,7 +1292,6 @@ CONFIG_CRYPTO=y
1275# 1292#
1276# Crypto core or helper 1293# Crypto core or helper
1277# 1294#
1278# CONFIG_CRYPTO_FIPS is not set
1279# CONFIG_CRYPTO_MANAGER is not set 1295# CONFIG_CRYPTO_MANAGER is not set
1280# CONFIG_CRYPTO_MANAGER2 is not set 1296# CONFIG_CRYPTO_MANAGER2 is not set
1281# CONFIG_CRYPTO_GF128MUL is not set 1297# CONFIG_CRYPTO_GF128MUL is not set
@@ -1306,11 +1322,13 @@ CONFIG_CRYPTO=y
1306# 1322#
1307# CONFIG_CRYPTO_HMAC is not set 1323# CONFIG_CRYPTO_HMAC is not set
1308# CONFIG_CRYPTO_XCBC is not set 1324# CONFIG_CRYPTO_XCBC is not set
1325# CONFIG_CRYPTO_VMAC is not set
1309 1326
1310# 1327#
1311# Digest 1328# Digest
1312# 1329#
1313# CONFIG_CRYPTO_CRC32C is not set 1330# CONFIG_CRYPTO_CRC32C is not set
1331# CONFIG_CRYPTO_GHASH is not set
1314# CONFIG_CRYPTO_MD4 is not set 1332# CONFIG_CRYPTO_MD4 is not set
1315# CONFIG_CRYPTO_MD5 is not set 1333# CONFIG_CRYPTO_MD5 is not set
1316# CONFIG_CRYPTO_MICHAEL_MIC is not set 1334# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig
index 4f228a905274..debe268f43d1 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:23 2009 4# Thu Nov 5 08:20:41 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +86,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 86#
85# RCU Subsystem 87# RCU Subsystem
86# 88#
87CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -126,22 +129,21 @@ CONFIG_TIMERFD=y
126CONFIG_EVENTFD=y 129CONFIG_EVENTFD=y
127CONFIG_SHMEM=y 130CONFIG_SHMEM=y
128CONFIG_AIO=y 131CONFIG_AIO=y
129CONFIG_HAVE_PERF_COUNTERS=y 132CONFIG_HAVE_PERF_EVENTS=y
130 133
131# 134#
132# Performance Counters 135# Kernel Performance Events And Counters
133# 136#
137# CONFIG_PERF_EVENTS is not set
134# CONFIG_PERF_COUNTERS is not set 138# CONFIG_PERF_COUNTERS is not set
135CONFIG_VM_EVENT_COUNTERS=y 139CONFIG_VM_EVENT_COUNTERS=y
136CONFIG_PCI_QUIRKS=y 140CONFIG_PCI_QUIRKS=y
137CONFIG_SLUB_DEBUG=y 141CONFIG_SLUB_DEBUG=y
138# CONFIG_STRIP_ASM_SYMS is not set
139CONFIG_COMPAT_BRK=y 142CONFIG_COMPAT_BRK=y
140# CONFIG_SLAB is not set 143# CONFIG_SLAB is not set
141CONFIG_SLUB=y 144CONFIG_SLUB=y
142# CONFIG_SLOB is not set 145# CONFIG_SLOB is not set
143# CONFIG_PROFILING is not set 146# CONFIG_PROFILING is not set
144# CONFIG_MARKERS is not set
145CONFIG_HAVE_OPROFILE=y 147CONFIG_HAVE_OPROFILE=y
146# CONFIG_KPROBES is not set 148# CONFIG_KPROBES is not set
147CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 149CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -149,6 +151,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
149CONFIG_HAVE_KPROBES=y 151CONFIG_HAVE_KPROBES=y
150CONFIG_HAVE_KRETPROBES=y 152CONFIG_HAVE_KRETPROBES=y
151CONFIG_HAVE_ARCH_TRACEHOOK=y 153CONFIG_HAVE_ARCH_TRACEHOOK=y
154CONFIG_HAVE_DMA_ATTRS=y
155CONFIG_HAVE_DMA_API_DEBUG=y
152 156
153# 157#
154# GCOV-based kernel profiling 158# GCOV-based kernel profiling
@@ -196,6 +200,7 @@ CONFIG_MPC85xx=y
196# CONFIG_MPC85xx_MDS is not set 200# CONFIG_MPC85xx_MDS is not set
197# CONFIG_MPC8536_DS is not set 201# CONFIG_MPC8536_DS is not set
198# CONFIG_MPC85xx_DS is not set 202# CONFIG_MPC85xx_DS is not set
203# CONFIG_MPC85xx_RDB is not set
199# CONFIG_SOCRATES is not set 204# CONFIG_SOCRATES is not set
200# CONFIG_KSI8560 is not set 205# CONFIG_KSI8560 is not set
201# CONFIG_XES_MPC85xx is not set 206# CONFIG_XES_MPC85xx is not set
@@ -252,6 +257,7 @@ CONFIG_MATH_EMULATION=y
252CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 257CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
253CONFIG_ARCH_HAS_WALK_MEMORY=y 258CONFIG_ARCH_HAS_WALK_MEMORY=y
254CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
260CONFIG_MAX_ACTIVE_REGIONS=32
255CONFIG_ARCH_FLATMEM_ENABLE=y 261CONFIG_ARCH_FLATMEM_ENABLE=y
256CONFIG_ARCH_POPULATES_NODE_MAP=y 262CONFIG_ARCH_POPULATES_NODE_MAP=y
257CONFIG_SELECT_MEMORY_MODEL=y 263CONFIG_SELECT_MEMORY_MODEL=y
@@ -269,6 +275,7 @@ CONFIG_BOUNCE=y
269CONFIG_VIRT_TO_BUS=y 275CONFIG_VIRT_TO_BUS=y
270CONFIG_HAVE_MLOCK=y 276CONFIG_HAVE_MLOCK=y
271CONFIG_HAVE_MLOCKED_PAGE_BIT=y 277CONFIG_HAVE_MLOCKED_PAGE_BIT=y
278# CONFIG_KSM is not set
272CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 279CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
273CONFIG_PPC_4K_PAGES=y 280CONFIG_PPC_4K_PAGES=y
274# CONFIG_PPC_16K_PAGES is not set 281# CONFIG_PPC_16K_PAGES is not set
@@ -371,6 +378,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
371# CONFIG_NETFILTER is not set 378# CONFIG_NETFILTER is not set
372# CONFIG_IP_DCCP is not set 379# CONFIG_IP_DCCP is not set
373# CONFIG_IP_SCTP is not set 380# CONFIG_IP_SCTP is not set
381# CONFIG_RDS is not set
374# CONFIG_TIPC is not set 382# CONFIG_TIPC is not set
375# CONFIG_ATM is not set 383# CONFIG_ATM is not set
376# CONFIG_BRIDGE is not set 384# CONFIG_BRIDGE is not set
@@ -411,6 +419,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
411# Generic Driver Options 419# Generic Driver Options
412# 420#
413CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 421CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
422# CONFIG_DEVTMPFS is not set
414CONFIG_STANDALONE=y 423CONFIG_STANDALONE=y
415CONFIG_PREVENT_FIRMWARE_BUILD=y 424CONFIG_PREVENT_FIRMWARE_BUILD=y
416# CONFIG_FW_LOADER is not set 425# CONFIG_FW_LOADER is not set
@@ -420,9 +429,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
420# CONFIG_CONNECTOR is not set 429# CONFIG_CONNECTOR is not set
421CONFIG_MTD=y 430CONFIG_MTD=y
422# CONFIG_MTD_DEBUG is not set 431# CONFIG_MTD_DEBUG is not set
432# CONFIG_MTD_TESTS is not set
423# CONFIG_MTD_CONCAT is not set 433# CONFIG_MTD_CONCAT is not set
424CONFIG_MTD_PARTITIONS=y 434CONFIG_MTD_PARTITIONS=y
425# CONFIG_MTD_TESTS is not set
426# CONFIG_MTD_REDBOOT_PARTS is not set 435# CONFIG_MTD_REDBOOT_PARTS is not set
427# CONFIG_MTD_CMDLINE_PARTS is not set 436# CONFIG_MTD_CMDLINE_PARTS is not set
428CONFIG_MTD_OF_PARTS=y 437CONFIG_MTD_OF_PARTS=y
@@ -630,7 +639,9 @@ CONFIG_MII=y
630# CONFIG_NET_PCI is not set 639# CONFIG_NET_PCI is not set
631# CONFIG_B44 is not set 640# CONFIG_B44 is not set
632# CONFIG_KS8842 is not set 641# CONFIG_KS8842 is not set
642# CONFIG_KS8851_MLL is not set
633# CONFIG_ATL2 is not set 643# CONFIG_ATL2 is not set
644# CONFIG_XILINX_EMACLITE is not set
634CONFIG_NETDEV_1000=y 645CONFIG_NETDEV_1000=y
635# CONFIG_ACENIC is not set 646# CONFIG_ACENIC is not set
636# CONFIG_DL2K is not set 647# CONFIG_DL2K is not set
@@ -678,10 +689,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
678# CONFIG_SFC is not set 689# CONFIG_SFC is not set
679# CONFIG_BE2NET is not set 690# CONFIG_BE2NET is not set
680# CONFIG_TR is not set 691# CONFIG_TR is not set
681 692CONFIG_WLAN=y
682#
683# Wireless LAN
684#
685# CONFIG_WLAN_PRE80211 is not set 693# CONFIG_WLAN_PRE80211 is not set
686# CONFIG_WLAN_80211 is not set 694# CONFIG_WLAN_80211 is not set
687 695
@@ -772,6 +780,7 @@ CONFIG_LEGACY_PTY_COUNT=256
772CONFIG_DEVPORT=y 780CONFIG_DEVPORT=y
773CONFIG_I2C=y 781CONFIG_I2C=y
774CONFIG_I2C_BOARDINFO=y 782CONFIG_I2C_BOARDINFO=y
783CONFIG_I2C_COMPAT=y
775CONFIG_I2C_CHARDEV=y 784CONFIG_I2C_CHARDEV=y
776CONFIG_I2C_HELPER_AUTO=y 785CONFIG_I2C_HELPER_AUTO=y
777 786
@@ -825,9 +834,6 @@ CONFIG_I2C_MPC=y
825# Miscellaneous I2C Chip support 834# Miscellaneous I2C Chip support
826# 835#
827# CONFIG_DS1682 is not set 836# CONFIG_DS1682 is not set
828# CONFIG_SENSORS_PCF8574 is not set
829# CONFIG_PCF8575 is not set
830# CONFIG_SENSORS_PCA9539 is not set
831# CONFIG_SENSORS_TSL2550 is not set 837# CONFIG_SENSORS_TSL2550 is not set
832# CONFIG_I2C_DEBUG_CORE is not set 838# CONFIG_I2C_DEBUG_CORE is not set
833# CONFIG_I2C_DEBUG_ALGO is not set 839# CONFIG_I2C_DEBUG_ALGO is not set
@@ -845,6 +851,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
845# CONFIG_POWER_SUPPLY is not set 851# CONFIG_POWER_SUPPLY is not set
846CONFIG_HWMON=y 852CONFIG_HWMON=y
847# CONFIG_HWMON_VID is not set 853# CONFIG_HWMON_VID is not set
854# CONFIG_HWMON_DEBUG_CHIP is not set
855
856#
857# Native drivers
858#
848# CONFIG_SENSORS_AD7414 is not set 859# CONFIG_SENSORS_AD7414 is not set
849# CONFIG_SENSORS_AD7418 is not set 860# CONFIG_SENSORS_AD7418 is not set
850# CONFIG_SENSORS_ADM1021 is not set 861# CONFIG_SENSORS_ADM1021 is not set
@@ -894,6 +905,7 @@ CONFIG_SENSORS_LM75=y
894# CONFIG_SENSORS_ADS7828 is not set 905# CONFIG_SENSORS_ADS7828 is not set
895# CONFIG_SENSORS_THMC50 is not set 906# CONFIG_SENSORS_THMC50 is not set
896# CONFIG_SENSORS_TMP401 is not set 907# CONFIG_SENSORS_TMP401 is not set
908# CONFIG_SENSORS_TMP421 is not set
897# CONFIG_SENSORS_VIA686A is not set 909# CONFIG_SENSORS_VIA686A is not set
898# CONFIG_SENSORS_VT1211 is not set 910# CONFIG_SENSORS_VT1211 is not set
899# CONFIG_SENSORS_VT8231 is not set 911# CONFIG_SENSORS_VT8231 is not set
@@ -905,9 +917,7 @@ CONFIG_SENSORS_LM75=y
905# CONFIG_SENSORS_W83L786NG is not set 917# CONFIG_SENSORS_W83L786NG is not set
906# CONFIG_SENSORS_W83627HF is not set 918# CONFIG_SENSORS_W83627HF is not set
907# CONFIG_SENSORS_W83627EHF is not set 919# CONFIG_SENSORS_W83627EHF is not set
908# CONFIG_HWMON_DEBUG_CHIP is not set
909# CONFIG_THERMAL is not set 920# CONFIG_THERMAL is not set
910# CONFIG_THERMAL_HWMON is not set
911# CONFIG_WATCHDOG is not set 921# CONFIG_WATCHDOG is not set
912CONFIG_SSB_POSSIBLE=y 922CONFIG_SSB_POSSIBLE=y
913 923
@@ -926,6 +936,7 @@ CONFIG_SSB_POSSIBLE=y
926# CONFIG_MFD_TMIO is not set 936# CONFIG_MFD_TMIO is not set
927# CONFIG_PMIC_DA903X is not set 937# CONFIG_PMIC_DA903X is not set
928# CONFIG_MFD_WM8400 is not set 938# CONFIG_MFD_WM8400 is not set
939# CONFIG_MFD_WM831X is not set
929# CONFIG_MFD_WM8350_I2C is not set 940# CONFIG_MFD_WM8350_I2C is not set
930# CONFIG_MFD_PCF50633 is not set 941# CONFIG_MFD_PCF50633 is not set
931# CONFIG_AB3100_CORE is not set 942# CONFIG_AB3100_CORE is not set
@@ -936,6 +947,7 @@ CONFIG_SSB_POSSIBLE=y
936# Graphics support 947# Graphics support
937# 948#
938# CONFIG_AGP is not set 949# CONFIG_AGP is not set
950CONFIG_VGA_ARB=y
939# CONFIG_DRM is not set 951# CONFIG_DRM is not set
940# CONFIG_VGASTATE is not set 952# CONFIG_VGASTATE is not set
941CONFIG_VIDEO_OUTPUT_CONTROL=y 953CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -949,7 +961,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
949# CONFIG_SOUND is not set 961# CONFIG_SOUND is not set
950CONFIG_HID_SUPPORT=y 962CONFIG_HID_SUPPORT=y
951CONFIG_HID=y 963CONFIG_HID=y
952# CONFIG_HID_DEBUG is not set
953# CONFIG_HIDRAW is not set 964# CONFIG_HIDRAW is not set
954# CONFIG_HID_PID is not set 965# CONFIG_HID_PID is not set
955 966
@@ -1042,6 +1053,7 @@ CONFIG_RTC_DRV_DS1307=y
1042# CONFIG_GFS2_FS is not set 1053# CONFIG_GFS2_FS is not set
1043# CONFIG_OCFS2_FS is not set 1054# CONFIG_OCFS2_FS is not set
1044# CONFIG_BTRFS_FS is not set 1055# CONFIG_BTRFS_FS is not set
1056# CONFIG_NILFS2_FS is not set
1045CONFIG_FILE_LOCKING=y 1057CONFIG_FILE_LOCKING=y
1046CONFIG_FSNOTIFY=y 1058CONFIG_FSNOTIFY=y
1047CONFIG_DNOTIFY=y 1059CONFIG_DNOTIFY=y
@@ -1111,7 +1123,6 @@ CONFIG_JFFS2_RTIME=y
1111# CONFIG_ROMFS_FS is not set 1123# CONFIG_ROMFS_FS is not set
1112# CONFIG_SYSV_FS is not set 1124# CONFIG_SYSV_FS is not set
1113# CONFIG_UFS_FS is not set 1125# CONFIG_UFS_FS is not set
1114# CONFIG_NILFS2_FS is not set
1115CONFIG_NETWORK_FILESYSTEMS=y 1126CONFIG_NETWORK_FILESYSTEMS=y
1116CONFIG_NFS_FS=y 1127CONFIG_NFS_FS=y
1117# CONFIG_NFS_V3 is not set 1128# CONFIG_NFS_V3 is not set
@@ -1180,6 +1191,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1180CONFIG_ENABLE_MUST_CHECK=y 1191CONFIG_ENABLE_MUST_CHECK=y
1181CONFIG_FRAME_WARN=1024 1192CONFIG_FRAME_WARN=1024
1182# CONFIG_MAGIC_SYSRQ is not set 1193# CONFIG_MAGIC_SYSRQ is not set
1194# CONFIG_STRIP_ASM_SYMS is not set
1183# CONFIG_UNUSED_SYMBOLS is not set 1195# CONFIG_UNUSED_SYMBOLS is not set
1184# CONFIG_DEBUG_FS is not set 1196# CONFIG_DEBUG_FS is not set
1185# CONFIG_HEADERS_CHECK is not set 1197# CONFIG_HEADERS_CHECK is not set
@@ -1197,6 +1209,7 @@ CONFIG_SCHED_DEBUG=y
1197# CONFIG_DEBUG_OBJECTS is not set 1209# CONFIG_DEBUG_OBJECTS is not set
1198# CONFIG_SLUB_DEBUG_ON is not set 1210# CONFIG_SLUB_DEBUG_ON is not set
1199# CONFIG_SLUB_STATS is not set 1211# CONFIG_SLUB_STATS is not set
1212# CONFIG_DEBUG_KMEMLEAK is not set
1200# CONFIG_DEBUG_RT_MUTEXES is not set 1213# CONFIG_DEBUG_RT_MUTEXES is not set
1201# CONFIG_RT_MUTEX_TESTER is not set 1214# CONFIG_RT_MUTEX_TESTER is not set
1202# CONFIG_DEBUG_SPINLOCK is not set 1215# CONFIG_DEBUG_SPINLOCK is not set
@@ -1216,10 +1229,12 @@ CONFIG_DEBUG_MUTEXES=y
1216# CONFIG_DEBUG_LIST is not set 1229# CONFIG_DEBUG_LIST is not set
1217# CONFIG_DEBUG_SG is not set 1230# CONFIG_DEBUG_SG is not set
1218# CONFIG_DEBUG_NOTIFIERS is not set 1231# CONFIG_DEBUG_NOTIFIERS is not set
1232# CONFIG_DEBUG_CREDENTIALS is not set
1219# CONFIG_RCU_TORTURE_TEST is not set 1233# CONFIG_RCU_TORTURE_TEST is not set
1220# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1234# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1221# CONFIG_BACKTRACE_SELF_TEST is not set 1235# CONFIG_BACKTRACE_SELF_TEST is not set
1222# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1236# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1237# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1223# CONFIG_FAULT_INJECTION is not set 1238# CONFIG_FAULT_INJECTION is not set
1224# CONFIG_LATENCYTOP is not set 1239# CONFIG_LATENCYTOP is not set
1225CONFIG_SYSCTL_SYSCALL_CHECK=y 1240CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1242,10 +1257,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1242# CONFIG_KMEMTRACE is not set 1257# CONFIG_KMEMTRACE is not set
1243# CONFIG_WORKQUEUE_TRACER is not set 1258# CONFIG_WORKQUEUE_TRACER is not set
1244# CONFIG_BLK_DEV_IO_TRACE is not set 1259# CONFIG_BLK_DEV_IO_TRACE is not set
1260# CONFIG_DMA_API_DEBUG is not set
1245# CONFIG_SAMPLES is not set 1261# CONFIG_SAMPLES is not set
1246CONFIG_HAVE_ARCH_KGDB=y 1262CONFIG_HAVE_ARCH_KGDB=y
1247# CONFIG_KGDB is not set 1263# CONFIG_KGDB is not set
1248# CONFIG_KMEMCHECK is not set
1249# CONFIG_PPC_DISABLE_WERROR is not set 1264# CONFIG_PPC_DISABLE_WERROR is not set
1250CONFIG_PPC_WERROR=y 1265CONFIG_PPC_WERROR=y
1251CONFIG_PRINT_STACK_DEPTH=64 1266CONFIG_PRINT_STACK_DEPTH=64
@@ -1271,7 +1286,6 @@ CONFIG_CRYPTO=y
1271# 1286#
1272# Crypto core or helper 1287# Crypto core or helper
1273# 1288#
1274# CONFIG_CRYPTO_FIPS is not set
1275# CONFIG_CRYPTO_MANAGER is not set 1289# CONFIG_CRYPTO_MANAGER is not set
1276# CONFIG_CRYPTO_MANAGER2 is not set 1290# CONFIG_CRYPTO_MANAGER2 is not set
1277# CONFIG_CRYPTO_GF128MUL is not set 1291# CONFIG_CRYPTO_GF128MUL is not set
@@ -1303,11 +1317,13 @@ CONFIG_CRYPTO=y
1303# 1317#
1304# CONFIG_CRYPTO_HMAC is not set 1318# CONFIG_CRYPTO_HMAC is not set
1305# CONFIG_CRYPTO_XCBC is not set 1319# CONFIG_CRYPTO_XCBC is not set
1320# CONFIG_CRYPTO_VMAC is not set
1306 1321
1307# 1322#
1308# Digest 1323# Digest
1309# 1324#
1310# CONFIG_CRYPTO_CRC32C is not set 1325# CONFIG_CRYPTO_CRC32C is not set
1326# CONFIG_CRYPTO_GHASH is not set
1311# CONFIG_CRYPTO_MD4 is not set 1327# CONFIG_CRYPTO_MD4 is not set
1312# CONFIG_CRYPTO_MD5 is not set 1328# CONFIG_CRYPTO_MD5 is not set
1313# CONFIG_CRYPTO_MICHAEL_MIC is not set 1329# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/tqm8555_defconfig b/arch/powerpc/configs/85xx/tqm8555_defconfig
index 9196724bebc7..74515501f5b7 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:24 2009 4# Thu Nov 5 08:20:42 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +87,12 @@ CONFIG_SYSVIPC_SYSCTL=y
85# 87#
86# RCU Subsystem 88# RCU Subsystem
87# 89#
88CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
95CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -125,29 +128,30 @@ CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 128CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 129CONFIG_SHMEM=y
127CONFIG_AIO=y 130CONFIG_AIO=y
128CONFIG_HAVE_PERF_COUNTERS=y 131CONFIG_HAVE_PERF_EVENTS=y
129 132
130# 133#
131# Performance Counters 134# Kernel Performance Events And Counters
132# 135#
136# CONFIG_PERF_EVENTS is not set
133# CONFIG_PERF_COUNTERS is not set 137# CONFIG_PERF_COUNTERS is not set
134CONFIG_VM_EVENT_COUNTERS=y 138CONFIG_VM_EVENT_COUNTERS=y
135CONFIG_PCI_QUIRKS=y 139CONFIG_PCI_QUIRKS=y
136CONFIG_SLUB_DEBUG=y 140CONFIG_SLUB_DEBUG=y
137# CONFIG_STRIP_ASM_SYMS is not set
138CONFIG_COMPAT_BRK=y 141CONFIG_COMPAT_BRK=y
139# CONFIG_SLAB is not set 142# CONFIG_SLAB is not set
140CONFIG_SLUB=y 143CONFIG_SLUB=y
141# CONFIG_SLOB is not set 144# CONFIG_SLOB is not set
142# CONFIG_PROFILING is not set 145# CONFIG_PROFILING is not set
143# CONFIG_MARKERS is not set
144CONFIG_HAVE_OPROFILE=y 146CONFIG_HAVE_OPROFILE=y
145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 147CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
146CONFIG_HAVE_IOREMAP_PROT=y 148CONFIG_HAVE_IOREMAP_PROT=y
147CONFIG_HAVE_KPROBES=y 149CONFIG_HAVE_KPROBES=y
148CONFIG_HAVE_KRETPROBES=y 150CONFIG_HAVE_KRETPROBES=y
149CONFIG_HAVE_ARCH_TRACEHOOK=y 151CONFIG_HAVE_ARCH_TRACEHOOK=y
152CONFIG_HAVE_DMA_ATTRS=y
150CONFIG_HAVE_CLK=y 153CONFIG_HAVE_CLK=y
154CONFIG_HAVE_DMA_API_DEBUG=y
151 155
152# 156#
153# GCOV-based kernel profiling 157# GCOV-based kernel profiling
@@ -190,6 +194,7 @@ CONFIG_MPC85xx=y
190# CONFIG_MPC85xx_MDS is not set 194# CONFIG_MPC85xx_MDS is not set
191# CONFIG_MPC8536_DS is not set 195# CONFIG_MPC8536_DS is not set
192# CONFIG_MPC85xx_DS is not set 196# CONFIG_MPC85xx_DS is not set
197# CONFIG_MPC85xx_RDB is not set
193# CONFIG_SOCRATES is not set 198# CONFIG_SOCRATES is not set
194# CONFIG_KSI8560 is not set 199# CONFIG_KSI8560 is not set
195# CONFIG_XES_MPC85xx is not set 200# CONFIG_XES_MPC85xx is not set
@@ -246,6 +251,7 @@ CONFIG_MATH_EMULATION=y
246CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 251CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
247CONFIG_ARCH_HAS_WALK_MEMORY=y 252CONFIG_ARCH_HAS_WALK_MEMORY=y
248CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 253CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
254CONFIG_MAX_ACTIVE_REGIONS=32
249CONFIG_ARCH_FLATMEM_ENABLE=y 255CONFIG_ARCH_FLATMEM_ENABLE=y
250CONFIG_ARCH_POPULATES_NODE_MAP=y 256CONFIG_ARCH_POPULATES_NODE_MAP=y
251CONFIG_SELECT_MEMORY_MODEL=y 257CONFIG_SELECT_MEMORY_MODEL=y
@@ -263,6 +269,7 @@ CONFIG_BOUNCE=y
263CONFIG_VIRT_TO_BUS=y 269CONFIG_VIRT_TO_BUS=y
264CONFIG_HAVE_MLOCK=y 270CONFIG_HAVE_MLOCK=y
265CONFIG_HAVE_MLOCKED_PAGE_BIT=y 271CONFIG_HAVE_MLOCKED_PAGE_BIT=y
272# CONFIG_KSM is not set
266CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 273CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
267CONFIG_PPC_4K_PAGES=y 274CONFIG_PPC_4K_PAGES=y
268# CONFIG_PPC_16K_PAGES is not set 275# CONFIG_PPC_16K_PAGES is not set
@@ -357,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
357# CONFIG_NETFILTER is not set 364# CONFIG_NETFILTER is not set
358# CONFIG_IP_DCCP is not set 365# CONFIG_IP_DCCP is not set
359# CONFIG_IP_SCTP is not set 366# CONFIG_IP_SCTP is not set
367# CONFIG_RDS is not set
360# CONFIG_TIPC is not set 368# CONFIG_TIPC is not set
361# CONFIG_ATM is not set 369# CONFIG_ATM is not set
362# CONFIG_BRIDGE is not set 370# CONFIG_BRIDGE is not set
@@ -386,6 +394,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
386# CONFIG_AF_RXRPC is not set 394# CONFIG_AF_RXRPC is not set
387CONFIG_WIRELESS=y 395CONFIG_WIRELESS=y
388# CONFIG_CFG80211 is not set 396# CONFIG_CFG80211 is not set
397CONFIG_CFG80211_DEFAULT_PS_VALUE=0
389CONFIG_WIRELESS_OLD_REGULATORY=y 398CONFIG_WIRELESS_OLD_REGULATORY=y
390# CONFIG_WIRELESS_EXT is not set 399# CONFIG_WIRELESS_EXT is not set
391# CONFIG_LIB80211 is not set 400# CONFIG_LIB80211 is not set
@@ -393,7 +402,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
393# 402#
394# CFG80211 needs to be enabled for MAC80211 403# CFG80211 needs to be enabled for MAC80211
395# 404#
396CONFIG_MAC80211_DEFAULT_PS_VALUE=0
397# CONFIG_WIMAX is not set 405# CONFIG_WIMAX is not set
398# CONFIG_RFKILL is not set 406# CONFIG_RFKILL is not set
399# CONFIG_NET_9P is not set 407# CONFIG_NET_9P is not set
@@ -681,9 +689,11 @@ CONFIG_E100=y
681# CONFIG_SUNDANCE is not set 689# CONFIG_SUNDANCE is not set
682# CONFIG_TLAN is not set 690# CONFIG_TLAN is not set
683# CONFIG_KS8842 is not set 691# CONFIG_KS8842 is not set
692# CONFIG_KS8851_MLL is not set
684# CONFIG_VIA_RHINE is not set 693# CONFIG_VIA_RHINE is not set
685# CONFIG_SC92031 is not set 694# CONFIG_SC92031 is not set
686# CONFIG_ATL2 is not set 695# CONFIG_ATL2 is not set
696# CONFIG_XILINX_EMACLITE is not set
687# CONFIG_FS_ENET is not set 697# CONFIG_FS_ENET is not set
688CONFIG_NETDEV_1000=y 698CONFIG_NETDEV_1000=y
689# CONFIG_ACENIC is not set 699# CONFIG_ACENIC is not set
@@ -732,10 +742,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
732# CONFIG_SFC is not set 742# CONFIG_SFC is not set
733# CONFIG_BE2NET is not set 743# CONFIG_BE2NET is not set
734# CONFIG_TR is not set 744# CONFIG_TR is not set
735 745CONFIG_WLAN=y
736#
737# Wireless LAN
738#
739# CONFIG_WLAN_PRE80211 is not set 746# CONFIG_WLAN_PRE80211 is not set
740# CONFIG_WLAN_80211 is not set 747# CONFIG_WLAN_80211 is not set
741 748
@@ -831,6 +838,7 @@ CONFIG_GEN_RTC=y
831CONFIG_DEVPORT=y 838CONFIG_DEVPORT=y
832CONFIG_I2C=y 839CONFIG_I2C=y
833CONFIG_I2C_BOARDINFO=y 840CONFIG_I2C_BOARDINFO=y
841CONFIG_I2C_COMPAT=y
834CONFIG_I2C_CHARDEV=y 842CONFIG_I2C_CHARDEV=y
835CONFIG_I2C_HELPER_AUTO=y 843CONFIG_I2C_HELPER_AUTO=y
836 844
@@ -886,9 +894,6 @@ CONFIG_I2C_MPC=y
886# Miscellaneous I2C Chip support 894# Miscellaneous I2C Chip support
887# 895#
888# CONFIG_DS1682 is not set 896# CONFIG_DS1682 is not set
889# CONFIG_SENSORS_PCF8574 is not set
890# CONFIG_PCF8575 is not set
891# CONFIG_SENSORS_PCA9539 is not set
892# CONFIG_SENSORS_TSL2550 is not set 897# CONFIG_SENSORS_TSL2550 is not set
893# CONFIG_I2C_DEBUG_CORE is not set 898# CONFIG_I2C_DEBUG_CORE is not set
894# CONFIG_I2C_DEBUG_ALGO is not set 899# CONFIG_I2C_DEBUG_ALGO is not set
@@ -921,14 +926,24 @@ CONFIG_GPIOLIB=y
921# PCI GPIO expanders: 926# PCI GPIO expanders:
922# 927#
923# CONFIG_GPIO_BT8XX is not set 928# CONFIG_GPIO_BT8XX is not set
929# CONFIG_GPIO_LANGWELL is not set
924 930
925# 931#
926# SPI GPIO expanders: 932# SPI GPIO expanders:
927# 933#
934
935#
936# AC97 GPIO expanders:
937#
928# CONFIG_W1 is not set 938# CONFIG_W1 is not set
929# CONFIG_POWER_SUPPLY is not set 939# CONFIG_POWER_SUPPLY is not set
930CONFIG_HWMON=y 940CONFIG_HWMON=y
931# CONFIG_HWMON_VID is not set 941# CONFIG_HWMON_VID is not set
942CONFIG_HWMON_DEBUG_CHIP=y
943
944#
945# Native drivers
946#
932# CONFIG_SENSORS_AD7414 is not set 947# CONFIG_SENSORS_AD7414 is not set
933# CONFIG_SENSORS_AD7418 is not set 948# CONFIG_SENSORS_AD7418 is not set
934# CONFIG_SENSORS_ADM1021 is not set 949# CONFIG_SENSORS_ADM1021 is not set
@@ -979,6 +994,7 @@ CONFIG_SENSORS_LM75=y
979# CONFIG_SENSORS_ADS7828 is not set 994# CONFIG_SENSORS_ADS7828 is not set
980# CONFIG_SENSORS_THMC50 is not set 995# CONFIG_SENSORS_THMC50 is not set
981# CONFIG_SENSORS_TMP401 is not set 996# CONFIG_SENSORS_TMP401 is not set
997# CONFIG_SENSORS_TMP421 is not set
982# CONFIG_SENSORS_VIA686A is not set 998# CONFIG_SENSORS_VIA686A is not set
983# CONFIG_SENSORS_VT1211 is not set 999# CONFIG_SENSORS_VT1211 is not set
984# CONFIG_SENSORS_VT8231 is not set 1000# CONFIG_SENSORS_VT8231 is not set
@@ -990,9 +1006,7 @@ CONFIG_SENSORS_LM75=y
990# CONFIG_SENSORS_W83L786NG is not set 1006# CONFIG_SENSORS_W83L786NG is not set
991# CONFIG_SENSORS_W83627HF is not set 1007# CONFIG_SENSORS_W83627HF is not set
992# CONFIG_SENSORS_W83627EHF is not set 1008# CONFIG_SENSORS_W83627EHF is not set
993CONFIG_HWMON_DEBUG_CHIP=y
994# CONFIG_THERMAL is not set 1009# CONFIG_THERMAL is not set
995# CONFIG_THERMAL_HWMON is not set
996# CONFIG_WATCHDOG is not set 1010# CONFIG_WATCHDOG is not set
997CONFIG_SSB_POSSIBLE=y 1011CONFIG_SSB_POSSIBLE=y
998 1012
@@ -1012,6 +1026,7 @@ CONFIG_SSB_POSSIBLE=y
1012# CONFIG_MFD_TMIO is not set 1026# CONFIG_MFD_TMIO is not set
1013# CONFIG_PMIC_DA903X is not set 1027# CONFIG_PMIC_DA903X is not set
1014# CONFIG_MFD_WM8400 is not set 1028# CONFIG_MFD_WM8400 is not set
1029# CONFIG_MFD_WM831X is not set
1015# CONFIG_MFD_WM8350_I2C is not set 1030# CONFIG_MFD_WM8350_I2C is not set
1016# CONFIG_MFD_PCF50633 is not set 1031# CONFIG_MFD_PCF50633 is not set
1017# CONFIG_AB3100_CORE is not set 1032# CONFIG_AB3100_CORE is not set
@@ -1022,6 +1037,7 @@ CONFIG_SSB_POSSIBLE=y
1022# Graphics support 1037# Graphics support
1023# 1038#
1024# CONFIG_AGP is not set 1039# CONFIG_AGP is not set
1040CONFIG_VGA_ARB=y
1025# CONFIG_DRM is not set 1041# CONFIG_DRM is not set
1026# CONFIG_VGASTATE is not set 1042# CONFIG_VGASTATE is not set
1027# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1043# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1035,7 +1051,6 @@ CONFIG_SSB_POSSIBLE=y
1035# CONFIG_SOUND is not set 1051# CONFIG_SOUND is not set
1036CONFIG_HID_SUPPORT=y 1052CONFIG_HID_SUPPORT=y
1037CONFIG_HID=y 1053CONFIG_HID=y
1038# CONFIG_HID_DEBUG is not set
1039# CONFIG_HIDRAW is not set 1054# CONFIG_HIDRAW is not set
1040# CONFIG_HID_PID is not set 1055# CONFIG_HID_PID is not set
1041 1056
@@ -1100,6 +1115,7 @@ CONFIG_FS_MBCACHE=y
1100# CONFIG_GFS2_FS is not set 1115# CONFIG_GFS2_FS is not set
1101# CONFIG_OCFS2_FS is not set 1116# CONFIG_OCFS2_FS is not set
1102# CONFIG_BTRFS_FS is not set 1117# CONFIG_BTRFS_FS is not set
1118# CONFIG_NILFS2_FS is not set
1103CONFIG_FILE_LOCKING=y 1119CONFIG_FILE_LOCKING=y
1104CONFIG_FSNOTIFY=y 1120CONFIG_FSNOTIFY=y
1105CONFIG_DNOTIFY=y 1121CONFIG_DNOTIFY=y
@@ -1169,7 +1185,6 @@ CONFIG_CRAMFS=y
1169# CONFIG_ROMFS_FS is not set 1185# CONFIG_ROMFS_FS is not set
1170# CONFIG_SYSV_FS is not set 1186# CONFIG_SYSV_FS is not set
1171# CONFIG_UFS_FS is not set 1187# CONFIG_UFS_FS is not set
1172# CONFIG_NILFS2_FS is not set
1173CONFIG_NETWORK_FILESYSTEMS=y 1188CONFIG_NETWORK_FILESYSTEMS=y
1174CONFIG_NFS_FS=y 1189CONFIG_NFS_FS=y
1175# CONFIG_NFS_V3 is not set 1190# CONFIG_NFS_V3 is not set
@@ -1238,6 +1253,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1238CONFIG_ENABLE_MUST_CHECK=y 1253CONFIG_ENABLE_MUST_CHECK=y
1239CONFIG_FRAME_WARN=1024 1254CONFIG_FRAME_WARN=1024
1240# CONFIG_MAGIC_SYSRQ is not set 1255# CONFIG_MAGIC_SYSRQ is not set
1256# CONFIG_STRIP_ASM_SYMS is not set
1241# CONFIG_UNUSED_SYMBOLS is not set 1257# CONFIG_UNUSED_SYMBOLS is not set
1242# CONFIG_DEBUG_FS is not set 1258# CONFIG_DEBUG_FS is not set
1243# CONFIG_HEADERS_CHECK is not set 1259# CONFIG_HEADERS_CHECK is not set
@@ -1255,6 +1271,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1255CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1271CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1256CONFIG_TRACING_SUPPORT=y 1272CONFIG_TRACING_SUPPORT=y
1257# CONFIG_FTRACE is not set 1273# CONFIG_FTRACE is not set
1274# CONFIG_DMA_API_DEBUG is not set
1258# CONFIG_SAMPLES is not set 1275# CONFIG_SAMPLES is not set
1259CONFIG_HAVE_ARCH_KGDB=y 1276CONFIG_HAVE_ARCH_KGDB=y
1260# CONFIG_PPC_DISABLE_WERROR is not set 1277# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1275,7 +1292,6 @@ CONFIG_CRYPTO=y
1275# 1292#
1276# Crypto core or helper 1293# Crypto core or helper
1277# 1294#
1278# CONFIG_CRYPTO_FIPS is not set
1279# CONFIG_CRYPTO_MANAGER is not set 1295# CONFIG_CRYPTO_MANAGER is not set
1280# CONFIG_CRYPTO_MANAGER2 is not set 1296# CONFIG_CRYPTO_MANAGER2 is not set
1281# CONFIG_CRYPTO_GF128MUL is not set 1297# CONFIG_CRYPTO_GF128MUL is not set
@@ -1306,11 +1322,13 @@ CONFIG_CRYPTO=y
1306# 1322#
1307# CONFIG_CRYPTO_HMAC is not set 1323# CONFIG_CRYPTO_HMAC is not set
1308# CONFIG_CRYPTO_XCBC is not set 1324# CONFIG_CRYPTO_XCBC is not set
1325# CONFIG_CRYPTO_VMAC is not set
1309 1326
1310# 1327#
1311# Digest 1328# Digest
1312# 1329#
1313# CONFIG_CRYPTO_CRC32C is not set 1330# CONFIG_CRYPTO_CRC32C is not set
1331# CONFIG_CRYPTO_GHASH is not set
1314# CONFIG_CRYPTO_MD4 is not set 1332# CONFIG_CRYPTO_MD4 is not set
1315# CONFIG_CRYPTO_MD5 is not set 1333# CONFIG_CRYPTO_MD5 is not set
1316# CONFIG_CRYPTO_MICHAEL_MIC is not set 1334# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/tqm8560_defconfig b/arch/powerpc/configs/85xx/tqm8560_defconfig
index 2e49a6e9faf2..631d92b4d4e6 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:25 2009 4# Thu Nov 5 08:20:43 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +87,12 @@ CONFIG_SYSVIPC_SYSCTL=y
85# 87#
86# RCU Subsystem 88# RCU Subsystem
87# 89#
88CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
95CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -125,29 +128,30 @@ CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 128CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 129CONFIG_SHMEM=y
127CONFIG_AIO=y 130CONFIG_AIO=y
128CONFIG_HAVE_PERF_COUNTERS=y 131CONFIG_HAVE_PERF_EVENTS=y
129 132
130# 133#
131# Performance Counters 134# Kernel Performance Events And Counters
132# 135#
136# CONFIG_PERF_EVENTS is not set
133# CONFIG_PERF_COUNTERS is not set 137# CONFIG_PERF_COUNTERS is not set
134CONFIG_VM_EVENT_COUNTERS=y 138CONFIG_VM_EVENT_COUNTERS=y
135CONFIG_PCI_QUIRKS=y 139CONFIG_PCI_QUIRKS=y
136CONFIG_SLUB_DEBUG=y 140CONFIG_SLUB_DEBUG=y
137# CONFIG_STRIP_ASM_SYMS is not set
138CONFIG_COMPAT_BRK=y 141CONFIG_COMPAT_BRK=y
139# CONFIG_SLAB is not set 142# CONFIG_SLAB is not set
140CONFIG_SLUB=y 143CONFIG_SLUB=y
141# CONFIG_SLOB is not set 144# CONFIG_SLOB is not set
142# CONFIG_PROFILING is not set 145# CONFIG_PROFILING is not set
143# CONFIG_MARKERS is not set
144CONFIG_HAVE_OPROFILE=y 146CONFIG_HAVE_OPROFILE=y
145CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 147CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
146CONFIG_HAVE_IOREMAP_PROT=y 148CONFIG_HAVE_IOREMAP_PROT=y
147CONFIG_HAVE_KPROBES=y 149CONFIG_HAVE_KPROBES=y
148CONFIG_HAVE_KRETPROBES=y 150CONFIG_HAVE_KRETPROBES=y
149CONFIG_HAVE_ARCH_TRACEHOOK=y 151CONFIG_HAVE_ARCH_TRACEHOOK=y
152CONFIG_HAVE_DMA_ATTRS=y
150CONFIG_HAVE_CLK=y 153CONFIG_HAVE_CLK=y
154CONFIG_HAVE_DMA_API_DEBUG=y
151 155
152# 156#
153# GCOV-based kernel profiling 157# GCOV-based kernel profiling
@@ -190,6 +194,7 @@ CONFIG_MPC85xx=y
190# CONFIG_MPC85xx_MDS is not set 194# CONFIG_MPC85xx_MDS is not set
191# CONFIG_MPC8536_DS is not set 195# CONFIG_MPC8536_DS is not set
192# CONFIG_MPC85xx_DS is not set 196# CONFIG_MPC85xx_DS is not set
197# CONFIG_MPC85xx_RDB is not set
193# CONFIG_SOCRATES is not set 198# CONFIG_SOCRATES is not set
194# CONFIG_KSI8560 is not set 199# CONFIG_KSI8560 is not set
195# CONFIG_XES_MPC85xx is not set 200# CONFIG_XES_MPC85xx is not set
@@ -246,6 +251,7 @@ CONFIG_MATH_EMULATION=y
246CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 251CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
247CONFIG_ARCH_HAS_WALK_MEMORY=y 252CONFIG_ARCH_HAS_WALK_MEMORY=y
248CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 253CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
254CONFIG_MAX_ACTIVE_REGIONS=32
249CONFIG_ARCH_FLATMEM_ENABLE=y 255CONFIG_ARCH_FLATMEM_ENABLE=y
250CONFIG_ARCH_POPULATES_NODE_MAP=y 256CONFIG_ARCH_POPULATES_NODE_MAP=y
251CONFIG_SELECT_MEMORY_MODEL=y 257CONFIG_SELECT_MEMORY_MODEL=y
@@ -263,6 +269,7 @@ CONFIG_BOUNCE=y
263CONFIG_VIRT_TO_BUS=y 269CONFIG_VIRT_TO_BUS=y
264CONFIG_HAVE_MLOCK=y 270CONFIG_HAVE_MLOCK=y
265CONFIG_HAVE_MLOCKED_PAGE_BIT=y 271CONFIG_HAVE_MLOCKED_PAGE_BIT=y
272# CONFIG_KSM is not set
266CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 273CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
267CONFIG_PPC_4K_PAGES=y 274CONFIG_PPC_4K_PAGES=y
268# CONFIG_PPC_16K_PAGES is not set 275# CONFIG_PPC_16K_PAGES is not set
@@ -357,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
357# CONFIG_NETFILTER is not set 364# CONFIG_NETFILTER is not set
358# CONFIG_IP_DCCP is not set 365# CONFIG_IP_DCCP is not set
359# CONFIG_IP_SCTP is not set 366# CONFIG_IP_SCTP is not set
367# CONFIG_RDS is not set
360# CONFIG_TIPC is not set 368# CONFIG_TIPC is not set
361# CONFIG_ATM is not set 369# CONFIG_ATM is not set
362# CONFIG_BRIDGE is not set 370# CONFIG_BRIDGE is not set
@@ -386,6 +394,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
386# CONFIG_AF_RXRPC is not set 394# CONFIG_AF_RXRPC is not set
387CONFIG_WIRELESS=y 395CONFIG_WIRELESS=y
388# CONFIG_CFG80211 is not set 396# CONFIG_CFG80211 is not set
397CONFIG_CFG80211_DEFAULT_PS_VALUE=0
389CONFIG_WIRELESS_OLD_REGULATORY=y 398CONFIG_WIRELESS_OLD_REGULATORY=y
390# CONFIG_WIRELESS_EXT is not set 399# CONFIG_WIRELESS_EXT is not set
391# CONFIG_LIB80211 is not set 400# CONFIG_LIB80211 is not set
@@ -393,7 +402,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
393# 402#
394# CFG80211 needs to be enabled for MAC80211 403# CFG80211 needs to be enabled for MAC80211
395# 404#
396CONFIG_MAC80211_DEFAULT_PS_VALUE=0
397# CONFIG_WIMAX is not set 405# CONFIG_WIMAX is not set
398# CONFIG_RFKILL is not set 406# CONFIG_RFKILL is not set
399# CONFIG_NET_9P is not set 407# CONFIG_NET_9P is not set
@@ -681,9 +689,11 @@ CONFIG_E100=y
681# CONFIG_SUNDANCE is not set 689# CONFIG_SUNDANCE is not set
682# CONFIG_TLAN is not set 690# CONFIG_TLAN is not set
683# CONFIG_KS8842 is not set 691# CONFIG_KS8842 is not set
692# CONFIG_KS8851_MLL is not set
684# CONFIG_VIA_RHINE is not set 693# CONFIG_VIA_RHINE is not set
685# CONFIG_SC92031 is not set 694# CONFIG_SC92031 is not set
686# CONFIG_ATL2 is not set 695# CONFIG_ATL2 is not set
696# CONFIG_XILINX_EMACLITE is not set
687# CONFIG_FS_ENET is not set 697# CONFIG_FS_ENET is not set
688CONFIG_NETDEV_1000=y 698CONFIG_NETDEV_1000=y
689# CONFIG_ACENIC is not set 699# CONFIG_ACENIC is not set
@@ -732,10 +742,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
732# CONFIG_SFC is not set 742# CONFIG_SFC is not set
733# CONFIG_BE2NET is not set 743# CONFIG_BE2NET is not set
734# CONFIG_TR is not set 744# CONFIG_TR is not set
735 745CONFIG_WLAN=y
736#
737# Wireless LAN
738#
739# CONFIG_WLAN_PRE80211 is not set 746# CONFIG_WLAN_PRE80211 is not set
740# CONFIG_WLAN_80211 is not set 747# CONFIG_WLAN_80211 is not set
741 748
@@ -831,6 +838,7 @@ CONFIG_GEN_RTC=y
831CONFIG_DEVPORT=y 838CONFIG_DEVPORT=y
832CONFIG_I2C=y 839CONFIG_I2C=y
833CONFIG_I2C_BOARDINFO=y 840CONFIG_I2C_BOARDINFO=y
841CONFIG_I2C_COMPAT=y
834CONFIG_I2C_CHARDEV=y 842CONFIG_I2C_CHARDEV=y
835CONFIG_I2C_HELPER_AUTO=y 843CONFIG_I2C_HELPER_AUTO=y
836 844
@@ -886,9 +894,6 @@ CONFIG_I2C_MPC=y
886# Miscellaneous I2C Chip support 894# Miscellaneous I2C Chip support
887# 895#
888# CONFIG_DS1682 is not set 896# CONFIG_DS1682 is not set
889# CONFIG_SENSORS_PCF8574 is not set
890# CONFIG_PCF8575 is not set
891# CONFIG_SENSORS_PCA9539 is not set
892# CONFIG_SENSORS_TSL2550 is not set 897# CONFIG_SENSORS_TSL2550 is not set
893# CONFIG_I2C_DEBUG_CORE is not set 898# CONFIG_I2C_DEBUG_CORE is not set
894# CONFIG_I2C_DEBUG_ALGO is not set 899# CONFIG_I2C_DEBUG_ALGO is not set
@@ -921,14 +926,24 @@ CONFIG_GPIOLIB=y
921# PCI GPIO expanders: 926# PCI GPIO expanders:
922# 927#
923# CONFIG_GPIO_BT8XX is not set 928# CONFIG_GPIO_BT8XX is not set
929# CONFIG_GPIO_LANGWELL is not set
924 930
925# 931#
926# SPI GPIO expanders: 932# SPI GPIO expanders:
927# 933#
934
935#
936# AC97 GPIO expanders:
937#
928# CONFIG_W1 is not set 938# CONFIG_W1 is not set
929# CONFIG_POWER_SUPPLY is not set 939# CONFIG_POWER_SUPPLY is not set
930CONFIG_HWMON=y 940CONFIG_HWMON=y
931# CONFIG_HWMON_VID is not set 941# CONFIG_HWMON_VID is not set
942CONFIG_HWMON_DEBUG_CHIP=y
943
944#
945# Native drivers
946#
932# CONFIG_SENSORS_AD7414 is not set 947# CONFIG_SENSORS_AD7414 is not set
933# CONFIG_SENSORS_AD7418 is not set 948# CONFIG_SENSORS_AD7418 is not set
934# CONFIG_SENSORS_ADM1021 is not set 949# CONFIG_SENSORS_ADM1021 is not set
@@ -979,6 +994,7 @@ CONFIG_SENSORS_LM75=y
979# CONFIG_SENSORS_ADS7828 is not set 994# CONFIG_SENSORS_ADS7828 is not set
980# CONFIG_SENSORS_THMC50 is not set 995# CONFIG_SENSORS_THMC50 is not set
981# CONFIG_SENSORS_TMP401 is not set 996# CONFIG_SENSORS_TMP401 is not set
997# CONFIG_SENSORS_TMP421 is not set
982# CONFIG_SENSORS_VIA686A is not set 998# CONFIG_SENSORS_VIA686A is not set
983# CONFIG_SENSORS_VT1211 is not set 999# CONFIG_SENSORS_VT1211 is not set
984# CONFIG_SENSORS_VT8231 is not set 1000# CONFIG_SENSORS_VT8231 is not set
@@ -990,9 +1006,7 @@ CONFIG_SENSORS_LM75=y
990# CONFIG_SENSORS_W83L786NG is not set 1006# CONFIG_SENSORS_W83L786NG is not set
991# CONFIG_SENSORS_W83627HF is not set 1007# CONFIG_SENSORS_W83627HF is not set
992# CONFIG_SENSORS_W83627EHF is not set 1008# CONFIG_SENSORS_W83627EHF is not set
993CONFIG_HWMON_DEBUG_CHIP=y
994# CONFIG_THERMAL is not set 1009# CONFIG_THERMAL is not set
995# CONFIG_THERMAL_HWMON is not set
996# CONFIG_WATCHDOG is not set 1010# CONFIG_WATCHDOG is not set
997CONFIG_SSB_POSSIBLE=y 1011CONFIG_SSB_POSSIBLE=y
998 1012
@@ -1012,6 +1026,7 @@ CONFIG_SSB_POSSIBLE=y
1012# CONFIG_MFD_TMIO is not set 1026# CONFIG_MFD_TMIO is not set
1013# CONFIG_PMIC_DA903X is not set 1027# CONFIG_PMIC_DA903X is not set
1014# CONFIG_MFD_WM8400 is not set 1028# CONFIG_MFD_WM8400 is not set
1029# CONFIG_MFD_WM831X is not set
1015# CONFIG_MFD_WM8350_I2C is not set 1030# CONFIG_MFD_WM8350_I2C is not set
1016# CONFIG_MFD_PCF50633 is not set 1031# CONFIG_MFD_PCF50633 is not set
1017# CONFIG_AB3100_CORE is not set 1032# CONFIG_AB3100_CORE is not set
@@ -1022,6 +1037,7 @@ CONFIG_SSB_POSSIBLE=y
1022# Graphics support 1037# Graphics support
1023# 1038#
1024# CONFIG_AGP is not set 1039# CONFIG_AGP is not set
1040CONFIG_VGA_ARB=y
1025# CONFIG_DRM is not set 1041# CONFIG_DRM is not set
1026# CONFIG_VGASTATE is not set 1042# CONFIG_VGASTATE is not set
1027# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1043# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1035,7 +1051,6 @@ CONFIG_SSB_POSSIBLE=y
1035# CONFIG_SOUND is not set 1051# CONFIG_SOUND is not set
1036CONFIG_HID_SUPPORT=y 1052CONFIG_HID_SUPPORT=y
1037CONFIG_HID=y 1053CONFIG_HID=y
1038# CONFIG_HID_DEBUG is not set
1039# CONFIG_HIDRAW is not set 1054# CONFIG_HIDRAW is not set
1040# CONFIG_HID_PID is not set 1055# CONFIG_HID_PID is not set
1041 1056
@@ -1100,6 +1115,7 @@ CONFIG_FS_MBCACHE=y
1100# CONFIG_GFS2_FS is not set 1115# CONFIG_GFS2_FS is not set
1101# CONFIG_OCFS2_FS is not set 1116# CONFIG_OCFS2_FS is not set
1102# CONFIG_BTRFS_FS is not set 1117# CONFIG_BTRFS_FS is not set
1118# CONFIG_NILFS2_FS is not set
1103CONFIG_FILE_LOCKING=y 1119CONFIG_FILE_LOCKING=y
1104CONFIG_FSNOTIFY=y 1120CONFIG_FSNOTIFY=y
1105CONFIG_DNOTIFY=y 1121CONFIG_DNOTIFY=y
@@ -1169,7 +1185,6 @@ CONFIG_CRAMFS=y
1169# CONFIG_ROMFS_FS is not set 1185# CONFIG_ROMFS_FS is not set
1170# CONFIG_SYSV_FS is not set 1186# CONFIG_SYSV_FS is not set
1171# CONFIG_UFS_FS is not set 1187# CONFIG_UFS_FS is not set
1172# CONFIG_NILFS2_FS is not set
1173CONFIG_NETWORK_FILESYSTEMS=y 1188CONFIG_NETWORK_FILESYSTEMS=y
1174CONFIG_NFS_FS=y 1189CONFIG_NFS_FS=y
1175# CONFIG_NFS_V3 is not set 1190# CONFIG_NFS_V3 is not set
@@ -1238,6 +1253,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1238CONFIG_ENABLE_MUST_CHECK=y 1253CONFIG_ENABLE_MUST_CHECK=y
1239CONFIG_FRAME_WARN=1024 1254CONFIG_FRAME_WARN=1024
1240# CONFIG_MAGIC_SYSRQ is not set 1255# CONFIG_MAGIC_SYSRQ is not set
1256# CONFIG_STRIP_ASM_SYMS is not set
1241# CONFIG_UNUSED_SYMBOLS is not set 1257# CONFIG_UNUSED_SYMBOLS is not set
1242# CONFIG_DEBUG_FS is not set 1258# CONFIG_DEBUG_FS is not set
1243# CONFIG_HEADERS_CHECK is not set 1259# CONFIG_HEADERS_CHECK is not set
@@ -1255,6 +1271,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1255CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1271CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1256CONFIG_TRACING_SUPPORT=y 1272CONFIG_TRACING_SUPPORT=y
1257# CONFIG_FTRACE is not set 1273# CONFIG_FTRACE is not set
1274# CONFIG_DMA_API_DEBUG is not set
1258# CONFIG_SAMPLES is not set 1275# CONFIG_SAMPLES is not set
1259CONFIG_HAVE_ARCH_KGDB=y 1276CONFIG_HAVE_ARCH_KGDB=y
1260# CONFIG_PPC_DISABLE_WERROR is not set 1277# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1275,7 +1292,6 @@ CONFIG_CRYPTO=y
1275# 1292#
1276# Crypto core or helper 1293# Crypto core or helper
1277# 1294#
1278# CONFIG_CRYPTO_FIPS is not set
1279# CONFIG_CRYPTO_MANAGER is not set 1295# CONFIG_CRYPTO_MANAGER is not set
1280# CONFIG_CRYPTO_MANAGER2 is not set 1296# CONFIG_CRYPTO_MANAGER2 is not set
1281# CONFIG_CRYPTO_GF128MUL is not set 1297# CONFIG_CRYPTO_GF128MUL is not set
@@ -1306,11 +1322,13 @@ CONFIG_CRYPTO=y
1306# 1322#
1307# CONFIG_CRYPTO_HMAC is not set 1323# CONFIG_CRYPTO_HMAC is not set
1308# CONFIG_CRYPTO_XCBC is not set 1324# CONFIG_CRYPTO_XCBC is not set
1325# CONFIG_CRYPTO_VMAC is not set
1309 1326
1310# 1327#
1311# Digest 1328# Digest
1312# 1329#
1313# CONFIG_CRYPTO_CRC32C is not set 1330# CONFIG_CRYPTO_CRC32C is not set
1331# CONFIG_CRYPTO_GHASH is not set
1314# CONFIG_CRYPTO_MD4 is not set 1332# CONFIG_CRYPTO_MD4 is not set
1315# CONFIG_CRYPTO_MD5 is not set 1333# CONFIG_CRYPTO_MD5 is not set
1316# CONFIG_CRYPTO_MICHAEL_MIC is not set 1334# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig
index 1025da2bf069..52acbac0c4fe 100644
--- a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig
+++ b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:25 2009 4# Thu Nov 5 08:20:44 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27CONFIG_SMP=y 28CONFIG_SMP=y
@@ -37,6 +38,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
37CONFIG_GENERIC_HARDIRQS=y 38CONFIG_GENERIC_HARDIRQS=y
38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 39CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 40# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
41# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
40CONFIG_IRQ_PER_CPU=y 42CONFIG_IRQ_PER_CPU=y
41CONFIG_STACKTRACE_SUPPORT=y 43CONFIG_STACKTRACE_SUPPORT=y
42CONFIG_HAVE_LATENCYTOP_SUPPORT=y 44CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -89,11 +91,12 @@ CONFIG_AUDIT=y
89# 91#
90# RCU Subsystem 92# RCU Subsystem
91# 93#
92CONFIG_CLASSIC_RCU=y 94CONFIG_TREE_RCU=y
93# CONFIG_TREE_RCU is not set 95# CONFIG_TREE_PREEMPT_RCU is not set
94# CONFIG_PREEMPT_RCU is not set 96# CONFIG_RCU_TRACE is not set
97CONFIG_RCU_FANOUT=32
98# CONFIG_RCU_FANOUT_EXACT is not set
95# CONFIG_TREE_RCU_TRACE is not set 99# CONFIG_TREE_RCU_TRACE is not set
96# CONFIG_PREEMPT_RCU_TRACE is not set
97CONFIG_IKCONFIG=y 100CONFIG_IKCONFIG=y
98CONFIG_IKCONFIG_PROC=y 101CONFIG_IKCONFIG_PROC=y
99CONFIG_LOG_BUF_SHIFT=14 102CONFIG_LOG_BUF_SHIFT=14
@@ -128,22 +131,21 @@ CONFIG_TIMERFD=y
128CONFIG_EVENTFD=y 131CONFIG_EVENTFD=y
129CONFIG_SHMEM=y 132CONFIG_SHMEM=y
130CONFIG_AIO=y 133CONFIG_AIO=y
131CONFIG_HAVE_PERF_COUNTERS=y 134CONFIG_HAVE_PERF_EVENTS=y
132 135
133# 136#
134# Performance Counters 137# Kernel Performance Events And Counters
135# 138#
139# CONFIG_PERF_EVENTS is not set
136# CONFIG_PERF_COUNTERS is not set 140# CONFIG_PERF_COUNTERS is not set
137CONFIG_VM_EVENT_COUNTERS=y 141CONFIG_VM_EVENT_COUNTERS=y
138CONFIG_PCI_QUIRKS=y 142CONFIG_PCI_QUIRKS=y
139CONFIG_SLUB_DEBUG=y 143CONFIG_SLUB_DEBUG=y
140# CONFIG_STRIP_ASM_SYMS is not set
141CONFIG_COMPAT_BRK=y 144CONFIG_COMPAT_BRK=y
142# CONFIG_SLAB is not set 145# CONFIG_SLAB is not set
143CONFIG_SLUB=y 146CONFIG_SLUB=y
144# CONFIG_SLOB is not set 147# CONFIG_SLOB is not set
145# CONFIG_PROFILING is not set 148# CONFIG_PROFILING is not set
146# CONFIG_MARKERS is not set
147CONFIG_HAVE_OPROFILE=y 149CONFIG_HAVE_OPROFILE=y
148# CONFIG_KPROBES is not set 150# CONFIG_KPROBES is not set
149CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 151CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -151,7 +153,9 @@ CONFIG_HAVE_IOREMAP_PROT=y
151CONFIG_HAVE_KPROBES=y 153CONFIG_HAVE_KPROBES=y
152CONFIG_HAVE_KRETPROBES=y 154CONFIG_HAVE_KRETPROBES=y
153CONFIG_HAVE_ARCH_TRACEHOOK=y 155CONFIG_HAVE_ARCH_TRACEHOOK=y
156CONFIG_HAVE_DMA_ATTRS=y
154CONFIG_USE_GENERIC_SMP_HELPERS=y 157CONFIG_USE_GENERIC_SMP_HELPERS=y
158CONFIG_HAVE_DMA_API_DEBUG=y
155 159
156# 160#
157# GCOV-based kernel profiling 161# GCOV-based kernel profiling
@@ -201,6 +205,7 @@ CONFIG_MPC85xx=y
201# CONFIG_MPC85xx_MDS is not set 205# CONFIG_MPC85xx_MDS is not set
202# CONFIG_MPC8536_DS is not set 206# CONFIG_MPC8536_DS is not set
203# CONFIG_MPC85xx_DS is not set 207# CONFIG_MPC85xx_DS is not set
208# CONFIG_MPC85xx_RDB is not set
204# CONFIG_SOCRATES is not set 209# CONFIG_SOCRATES is not set
205# CONFIG_KSI8560 is not set 210# CONFIG_KSI8560 is not set
206CONFIG_XES_MPC85xx=y 211CONFIG_XES_MPC85xx=y
@@ -256,6 +261,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
256CONFIG_ARCH_HAS_WALK_MEMORY=y 261CONFIG_ARCH_HAS_WALK_MEMORY=y
257CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 262CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
258# CONFIG_IRQ_ALL_CPUS is not set 263# CONFIG_IRQ_ALL_CPUS is not set
264CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 265CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 266CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 267CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +279,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 279CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 280CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 281CONFIG_HAVE_MLOCKED_PAGE_BIT=y
282# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 283CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 284CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 285# CONFIG_PPC_16K_PAGES is not set
@@ -405,6 +412,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
405# CONFIG_NETFILTER is not set 412# CONFIG_NETFILTER is not set
406# CONFIG_IP_DCCP is not set 413# CONFIG_IP_DCCP is not set
407# CONFIG_IP_SCTP is not set 414# CONFIG_IP_SCTP is not set
415# CONFIG_RDS is not set
408# CONFIG_TIPC is not set 416# CONFIG_TIPC is not set
409# CONFIG_ATM is not set 417# CONFIG_ATM is not set
410# CONFIG_BRIDGE is not set 418# CONFIG_BRIDGE is not set
@@ -446,6 +454,7 @@ CONFIG_FIB_RULES=y
446# Generic Driver Options 454# Generic Driver Options
447# 455#
448CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 456CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
457# CONFIG_DEVTMPFS is not set
449CONFIG_STANDALONE=y 458CONFIG_STANDALONE=y
450CONFIG_PREVENT_FIRMWARE_BUILD=y 459CONFIG_PREVENT_FIRMWARE_BUILD=y
451CONFIG_FW_LOADER=y 460CONFIG_FW_LOADER=y
@@ -457,9 +466,9 @@ CONFIG_EXTRA_FIRMWARE=""
457# CONFIG_CONNECTOR is not set 466# CONFIG_CONNECTOR is not set
458CONFIG_MTD=y 467CONFIG_MTD=y
459# CONFIG_MTD_DEBUG is not set 468# CONFIG_MTD_DEBUG is not set
469# CONFIG_MTD_TESTS is not set
460# CONFIG_MTD_CONCAT is not set 470# CONFIG_MTD_CONCAT is not set
461CONFIG_MTD_PARTITIONS=y 471CONFIG_MTD_PARTITIONS=y
462# CONFIG_MTD_TESTS is not set
463CONFIG_MTD_REDBOOT_PARTS=y 472CONFIG_MTD_REDBOOT_PARTS=y
464CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 473CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
465# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set 474# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
@@ -635,6 +644,7 @@ CONFIG_SCSI_WAIT_SCAN=m
635CONFIG_SCSI_LOWLEVEL=y 644CONFIG_SCSI_LOWLEVEL=y
636# CONFIG_ISCSI_TCP is not set 645# CONFIG_ISCSI_TCP is not set
637# CONFIG_SCSI_BNX2_ISCSI is not set 646# CONFIG_SCSI_BNX2_ISCSI is not set
647# CONFIG_BE2ISCSI is not set
638# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 648# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
639# CONFIG_SCSI_3W_9XXX is not set 649# CONFIG_SCSI_3W_9XXX is not set
640# CONFIG_SCSI_ACARD is not set 650# CONFIG_SCSI_ACARD is not set
@@ -674,11 +684,14 @@ CONFIG_SCSI_LOWLEVEL=y
674# CONFIG_SCSI_DC390T is not set 684# CONFIG_SCSI_DC390T is not set
675# CONFIG_SCSI_NSP32 is not set 685# CONFIG_SCSI_NSP32 is not set
676# CONFIG_SCSI_DEBUG is not set 686# CONFIG_SCSI_DEBUG is not set
687# CONFIG_SCSI_PMCRAID is not set
677# CONFIG_SCSI_SRP is not set 688# CONFIG_SCSI_SRP is not set
689# CONFIG_SCSI_BFA_FC is not set
678# CONFIG_SCSI_DH is not set 690# CONFIG_SCSI_DH is not set
679# CONFIG_SCSI_OSD_INITIATOR is not set 691# CONFIG_SCSI_OSD_INITIATOR is not set
680CONFIG_ATA=y 692CONFIG_ATA=y
681# CONFIG_ATA_NONSTANDARD is not set 693# CONFIG_ATA_NONSTANDARD is not set
694CONFIG_ATA_VERBOSE_ERROR=y
682CONFIG_SATA_PMP=y 695CONFIG_SATA_PMP=y
683CONFIG_SATA_AHCI=y 696CONFIG_SATA_AHCI=y
684# CONFIG_SATA_SIL24 is not set 697# CONFIG_SATA_SIL24 is not set
@@ -701,6 +714,7 @@ CONFIG_ATA_SFF=y
701CONFIG_PATA_ALI=y 714CONFIG_PATA_ALI=y
702# CONFIG_PATA_AMD is not set 715# CONFIG_PATA_AMD is not set
703# CONFIG_PATA_ARTOP is not set 716# CONFIG_PATA_ARTOP is not set
717# CONFIG_PATA_ATP867X is not set
704# CONFIG_PATA_ATIIXP is not set 718# CONFIG_PATA_ATIIXP is not set
705# CONFIG_PATA_CMD640_PCI is not set 719# CONFIG_PATA_CMD640_PCI is not set
706# CONFIG_PATA_CMD64X is not set 720# CONFIG_PATA_CMD64X is not set
@@ -728,6 +742,7 @@ CONFIG_PATA_ALI=y
728# CONFIG_PATA_OPTIDMA is not set 742# CONFIG_PATA_OPTIDMA is not set
729# CONFIG_PATA_PDC_OLD is not set 743# CONFIG_PATA_PDC_OLD is not set
730# CONFIG_PATA_RADISYS is not set 744# CONFIG_PATA_RADISYS is not set
745# CONFIG_PATA_RDC is not set
731# CONFIG_PATA_RZ1000 is not set 746# CONFIG_PATA_RZ1000 is not set
732# CONFIG_PATA_SC1200 is not set 747# CONFIG_PATA_SC1200 is not set
733# CONFIG_PATA_SERVERWORKS is not set 748# CONFIG_PATA_SERVERWORKS is not set
@@ -804,7 +819,9 @@ CONFIG_MII=y
804# CONFIG_NET_PCI is not set 819# CONFIG_NET_PCI is not set
805# CONFIG_B44 is not set 820# CONFIG_B44 is not set
806# CONFIG_KS8842 is not set 821# CONFIG_KS8842 is not set
822# CONFIG_KS8851_MLL is not set
807# CONFIG_ATL2 is not set 823# CONFIG_ATL2 is not set
824# CONFIG_XILINX_EMACLITE is not set
808CONFIG_NETDEV_1000=y 825CONFIG_NETDEV_1000=y
809# CONFIG_ACENIC is not set 826# CONFIG_ACENIC is not set
810# CONFIG_DL2K is not set 827# CONFIG_DL2K is not set
@@ -834,10 +851,7 @@ CONFIG_GIANFAR=y
834# CONFIG_JME is not set 851# CONFIG_JME is not set
835# CONFIG_NETDEV_10000 is not set 852# CONFIG_NETDEV_10000 is not set
836# CONFIG_TR is not set 853# CONFIG_TR is not set
837 854CONFIG_WLAN=y
838#
839# Wireless LAN
840#
841# CONFIG_WLAN_PRE80211 is not set 855# CONFIG_WLAN_PRE80211 is not set
842# CONFIG_WLAN_80211 is not set 856# CONFIG_WLAN_80211 is not set
843 857
@@ -951,6 +965,7 @@ CONFIG_NVRAM=y
951CONFIG_DEVPORT=y 965CONFIG_DEVPORT=y
952CONFIG_I2C=y 966CONFIG_I2C=y
953CONFIG_I2C_BOARDINFO=y 967CONFIG_I2C_BOARDINFO=y
968CONFIG_I2C_COMPAT=y
954CONFIG_I2C_CHARDEV=y 969CONFIG_I2C_CHARDEV=y
955CONFIG_I2C_HELPER_AUTO=y 970CONFIG_I2C_HELPER_AUTO=y
956 971
@@ -1006,8 +1021,6 @@ CONFIG_I2C_MPC=y
1006# Miscellaneous I2C Chip support 1021# Miscellaneous I2C Chip support
1007# 1022#
1008# CONFIG_DS1682 is not set 1023# CONFIG_DS1682 is not set
1009# CONFIG_SENSORS_PCF8574 is not set
1010# CONFIG_PCF8575 is not set
1011# CONFIG_SENSORS_TSL2550 is not set 1024# CONFIG_SENSORS_TSL2550 is not set
1012# CONFIG_I2C_DEBUG_CORE is not set 1025# CONFIG_I2C_DEBUG_CORE is not set
1013# CONFIG_I2C_DEBUG_ALGO is not set 1026# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1041,14 +1054,24 @@ CONFIG_GPIO_PCA953X=y
1041# PCI GPIO expanders: 1054# PCI GPIO expanders:
1042# 1055#
1043# CONFIG_GPIO_BT8XX is not set 1056# CONFIG_GPIO_BT8XX is not set
1057# CONFIG_GPIO_LANGWELL is not set
1044 1058
1045# 1059#
1046# SPI GPIO expanders: 1060# SPI GPIO expanders:
1047# 1061#
1062
1063#
1064# AC97 GPIO expanders:
1065#
1048# CONFIG_W1 is not set 1066# CONFIG_W1 is not set
1049# CONFIG_POWER_SUPPLY is not set 1067# CONFIG_POWER_SUPPLY is not set
1050CONFIG_HWMON=y 1068CONFIG_HWMON=y
1051# CONFIG_HWMON_VID is not set 1069# CONFIG_HWMON_VID is not set
1070# CONFIG_HWMON_DEBUG_CHIP is not set
1071
1072#
1073# Native drivers
1074#
1052# CONFIG_SENSORS_AD7414 is not set 1075# CONFIG_SENSORS_AD7414 is not set
1053# CONFIG_SENSORS_AD7418 is not set 1076# CONFIG_SENSORS_AD7418 is not set
1054# CONFIG_SENSORS_ADM1021 is not set 1077# CONFIG_SENSORS_ADM1021 is not set
@@ -1099,6 +1122,7 @@ CONFIG_SENSORS_LM90=y
1099# CONFIG_SENSORS_ADS7828 is not set 1122# CONFIG_SENSORS_ADS7828 is not set
1100# CONFIG_SENSORS_THMC50 is not set 1123# CONFIG_SENSORS_THMC50 is not set
1101# CONFIG_SENSORS_TMP401 is not set 1124# CONFIG_SENSORS_TMP401 is not set
1125# CONFIG_SENSORS_TMP421 is not set
1102# CONFIG_SENSORS_VIA686A is not set 1126# CONFIG_SENSORS_VIA686A is not set
1103# CONFIG_SENSORS_VT1211 is not set 1127# CONFIG_SENSORS_VT1211 is not set
1104# CONFIG_SENSORS_VT8231 is not set 1128# CONFIG_SENSORS_VT8231 is not set
@@ -1110,9 +1134,7 @@ CONFIG_SENSORS_LM90=y
1110# CONFIG_SENSORS_W83L786NG is not set 1134# CONFIG_SENSORS_W83L786NG is not set
1111# CONFIG_SENSORS_W83627HF is not set 1135# CONFIG_SENSORS_W83627HF is not set
1112# CONFIG_SENSORS_W83627EHF is not set 1136# CONFIG_SENSORS_W83627EHF is not set
1113# CONFIG_HWMON_DEBUG_CHIP is not set
1114# CONFIG_THERMAL is not set 1137# CONFIG_THERMAL is not set
1115# CONFIG_THERMAL_HWMON is not set
1116CONFIG_WATCHDOG=y 1138CONFIG_WATCHDOG=y
1117# CONFIG_WATCHDOG_NOWAYOUT is not set 1139# CONFIG_WATCHDOG_NOWAYOUT is not set
1118 1140
@@ -1151,6 +1173,7 @@ CONFIG_SSB_POSSIBLE=y
1151# CONFIG_MFD_TMIO is not set 1173# CONFIG_MFD_TMIO is not set
1152# CONFIG_PMIC_DA903X is not set 1174# CONFIG_PMIC_DA903X is not set
1153# CONFIG_MFD_WM8400 is not set 1175# CONFIG_MFD_WM8400 is not set
1176# CONFIG_MFD_WM831X is not set
1154# CONFIG_MFD_WM8350_I2C is not set 1177# CONFIG_MFD_WM8350_I2C is not set
1155# CONFIG_MFD_PCF50633 is not set 1178# CONFIG_MFD_PCF50633 is not set
1156# CONFIG_AB3100_CORE is not set 1179# CONFIG_AB3100_CORE is not set
@@ -1161,6 +1184,7 @@ CONFIG_SSB_POSSIBLE=y
1161# Graphics support 1184# Graphics support
1162# 1185#
1163# CONFIG_AGP is not set 1186# CONFIG_AGP is not set
1187CONFIG_VGA_ARB=y
1164# CONFIG_DRM is not set 1188# CONFIG_DRM is not set
1165# CONFIG_VGASTATE is not set 1189# CONFIG_VGASTATE is not set
1166CONFIG_VIDEO_OUTPUT_CONTROL=y 1190CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1181,7 +1205,6 @@ CONFIG_DUMMY_CONSOLE=y
1181# CONFIG_SOUND is not set 1205# CONFIG_SOUND is not set
1182CONFIG_HID_SUPPORT=y 1206CONFIG_HID_SUPPORT=y
1183CONFIG_HID=y 1207CONFIG_HID=y
1184# CONFIG_HID_DEBUG is not set
1185# CONFIG_HIDRAW is not set 1208# CONFIG_HIDRAW is not set
1186 1209
1187# 1210#
@@ -1204,6 +1227,7 @@ CONFIG_USB_HID=y
1204# CONFIG_HID_EZKEY is not set 1227# CONFIG_HID_EZKEY is not set
1205# CONFIG_HID_KYE is not set 1228# CONFIG_HID_KYE is not set
1206# CONFIG_HID_GYRATION is not set 1229# CONFIG_HID_GYRATION is not set
1230# CONFIG_HID_TWINHAN is not set
1207# CONFIG_HID_KENSINGTON is not set 1231# CONFIG_HID_KENSINGTON is not set
1208# CONFIG_HID_LOGITECH is not set 1232# CONFIG_HID_LOGITECH is not set
1209# CONFIG_HID_MICROSOFT is not set 1233# CONFIG_HID_MICROSOFT is not set
@@ -1249,6 +1273,7 @@ CONFIG_USB_MON=y
1249# CONFIG_USB_OXU210HP_HCD is not set 1273# CONFIG_USB_OXU210HP_HCD is not set
1250# CONFIG_USB_ISP116X_HCD is not set 1274# CONFIG_USB_ISP116X_HCD is not set
1251CONFIG_USB_ISP1760_HCD=y 1275CONFIG_USB_ISP1760_HCD=y
1276# CONFIG_USB_ISP1362_HCD is not set
1252# CONFIG_USB_OHCI_HCD is not set 1277# CONFIG_USB_OHCI_HCD is not set
1253# CONFIG_USB_UHCI_HCD is not set 1278# CONFIG_USB_UHCI_HCD is not set
1254# CONFIG_USB_SL811_HCD is not set 1279# CONFIG_USB_SL811_HCD is not set
@@ -1466,6 +1491,7 @@ CONFIG_FS_MBCACHE=y
1466# CONFIG_GFS2_FS is not set 1491# CONFIG_GFS2_FS is not set
1467# CONFIG_OCFS2_FS is not set 1492# CONFIG_OCFS2_FS is not set
1468# CONFIG_BTRFS_FS is not set 1493# CONFIG_BTRFS_FS is not set
1494# CONFIG_NILFS2_FS is not set
1469CONFIG_FILE_LOCKING=y 1495CONFIG_FILE_LOCKING=y
1470CONFIG_FSNOTIFY=y 1496CONFIG_FSNOTIFY=y
1471CONFIG_DNOTIFY=y 1497CONFIG_DNOTIFY=y
@@ -1541,7 +1567,6 @@ CONFIG_JFFS2_RTIME=y
1541# CONFIG_ROMFS_FS is not set 1567# CONFIG_ROMFS_FS is not set
1542# CONFIG_SYSV_FS is not set 1568# CONFIG_SYSV_FS is not set
1543# CONFIG_UFS_FS is not set 1569# CONFIG_UFS_FS is not set
1544# CONFIG_NILFS2_FS is not set
1545CONFIG_NETWORK_FILESYSTEMS=y 1570CONFIG_NETWORK_FILESYSTEMS=y
1546CONFIG_NFS_FS=y 1571CONFIG_NFS_FS=y
1547CONFIG_NFS_V3=y 1572CONFIG_NFS_V3=y
@@ -1658,6 +1683,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1658CONFIG_ENABLE_MUST_CHECK=y 1683CONFIG_ENABLE_MUST_CHECK=y
1659CONFIG_FRAME_WARN=1024 1684CONFIG_FRAME_WARN=1024
1660# CONFIG_MAGIC_SYSRQ is not set 1685# CONFIG_MAGIC_SYSRQ is not set
1686# CONFIG_STRIP_ASM_SYMS is not set
1661# CONFIG_UNUSED_SYMBOLS is not set 1687# CONFIG_UNUSED_SYMBOLS is not set
1662# CONFIG_DEBUG_FS is not set 1688# CONFIG_DEBUG_FS is not set
1663# CONFIG_HEADERS_CHECK is not set 1689# CONFIG_HEADERS_CHECK is not set
@@ -1675,6 +1701,7 @@ CONFIG_SCHED_DEBUG=y
1675# CONFIG_DEBUG_OBJECTS is not set 1701# CONFIG_DEBUG_OBJECTS is not set
1676# CONFIG_SLUB_DEBUG_ON is not set 1702# CONFIG_SLUB_DEBUG_ON is not set
1677# CONFIG_SLUB_STATS is not set 1703# CONFIG_SLUB_STATS is not set
1704# CONFIG_DEBUG_KMEMLEAK is not set
1678# CONFIG_DEBUG_RT_MUTEXES is not set 1705# CONFIG_DEBUG_RT_MUTEXES is not set
1679# CONFIG_RT_MUTEX_TESTER is not set 1706# CONFIG_RT_MUTEX_TESTER is not set
1680# CONFIG_DEBUG_SPINLOCK is not set 1707# CONFIG_DEBUG_SPINLOCK is not set
@@ -1694,10 +1721,12 @@ CONFIG_SCHED_DEBUG=y
1694# CONFIG_DEBUG_LIST is not set 1721# CONFIG_DEBUG_LIST is not set
1695# CONFIG_DEBUG_SG is not set 1722# CONFIG_DEBUG_SG is not set
1696# CONFIG_DEBUG_NOTIFIERS is not set 1723# CONFIG_DEBUG_NOTIFIERS is not set
1724# CONFIG_DEBUG_CREDENTIALS is not set
1697# CONFIG_RCU_TORTURE_TEST is not set 1725# CONFIG_RCU_TORTURE_TEST is not set
1698# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1726# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1699# CONFIG_BACKTRACE_SELF_TEST is not set 1727# CONFIG_BACKTRACE_SELF_TEST is not set
1700# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1728# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1729# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1701# CONFIG_FAULT_INJECTION is not set 1730# CONFIG_FAULT_INJECTION is not set
1702# CONFIG_LATENCYTOP is not set 1731# CONFIG_LATENCYTOP is not set
1703# CONFIG_SYSCTL_SYSCALL_CHECK is not set 1732# CONFIG_SYSCTL_SYSCALL_CHECK is not set
@@ -1720,10 +1749,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1720# CONFIG_KMEMTRACE is not set 1749# CONFIG_KMEMTRACE is not set
1721# CONFIG_WORKQUEUE_TRACER is not set 1750# CONFIG_WORKQUEUE_TRACER is not set
1722# CONFIG_BLK_DEV_IO_TRACE is not set 1751# CONFIG_BLK_DEV_IO_TRACE is not set
1752# CONFIG_DMA_API_DEBUG is not set
1723# CONFIG_SAMPLES is not set 1753# CONFIG_SAMPLES is not set
1724CONFIG_HAVE_ARCH_KGDB=y 1754CONFIG_HAVE_ARCH_KGDB=y
1725# CONFIG_KGDB is not set 1755# CONFIG_KGDB is not set
1726# CONFIG_KMEMCHECK is not set
1727# CONFIG_PPC_DISABLE_WERROR is not set 1756# CONFIG_PPC_DISABLE_WERROR is not set
1728CONFIG_PPC_WERROR=y 1757CONFIG_PPC_WERROR=y
1729CONFIG_PRINT_STACK_DEPTH=64 1758CONFIG_PRINT_STACK_DEPTH=64
@@ -1749,7 +1778,6 @@ CONFIG_CRYPTO=y
1749# 1778#
1750# Crypto core or helper 1779# Crypto core or helper
1751# 1780#
1752# CONFIG_CRYPTO_FIPS is not set
1753CONFIG_CRYPTO_ALGAPI=y 1781CONFIG_CRYPTO_ALGAPI=y
1754CONFIG_CRYPTO_ALGAPI2=y 1782CONFIG_CRYPTO_ALGAPI2=y
1755CONFIG_CRYPTO_AEAD2=y 1783CONFIG_CRYPTO_AEAD2=y
@@ -1790,11 +1818,13 @@ CONFIG_CRYPTO_WORKQUEUE=y
1790# 1818#
1791CONFIG_CRYPTO_HMAC=y 1819CONFIG_CRYPTO_HMAC=y
1792# CONFIG_CRYPTO_XCBC is not set 1820# CONFIG_CRYPTO_XCBC is not set
1821# CONFIG_CRYPTO_VMAC is not set
1793 1822
1794# 1823#
1795# Digest 1824# Digest
1796# 1825#
1797# CONFIG_CRYPTO_CRC32C is not set 1826# CONFIG_CRYPTO_CRC32C is not set
1827# CONFIG_CRYPTO_GHASH is not set
1798# CONFIG_CRYPTO_MD4 is not set 1828# CONFIG_CRYPTO_MD4 is not set
1799CONFIG_CRYPTO_MD5=y 1829CONFIG_CRYPTO_MD5=y
1800# CONFIG_CRYPTO_MICHAEL_MIC is not set 1830# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
index 527ad1a5e802..28980738776c 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:31 2009 4# Thu Nov 5 08:20:49 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -36,6 +36,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
39# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 41CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -88,11 +89,12 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
88# 89#
89# RCU Subsystem 90# RCU Subsystem
90# 91#
91CONFIG_CLASSIC_RCU=y 92CONFIG_TREE_RCU=y
92# CONFIG_TREE_RCU is not set 93# CONFIG_TREE_PREEMPT_RCU is not set
93# CONFIG_PREEMPT_RCU is not set 94# CONFIG_RCU_TRACE is not set
95CONFIG_RCU_FANOUT=32
96# CONFIG_RCU_FANOUT_EXACT is not set
94# CONFIG_TREE_RCU_TRACE is not set 97# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_PREEMPT_RCU_TRACE is not set
96CONFIG_IKCONFIG=y 98CONFIG_IKCONFIG=y
97CONFIG_IKCONFIG_PROC=y 99CONFIG_IKCONFIG_PROC=y
98CONFIG_LOG_BUF_SHIFT=14 100CONFIG_LOG_BUF_SHIFT=14
@@ -130,21 +132,20 @@ CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y 132CONFIG_EVENTFD=y
131CONFIG_SHMEM=y 133CONFIG_SHMEM=y
132CONFIG_AIO=y 134CONFIG_AIO=y
133CONFIG_HAVE_PERF_COUNTERS=y 135CONFIG_HAVE_PERF_EVENTS=y
134 136
135# 137#
136# Performance Counters 138# Kernel Performance Events And Counters
137# 139#
140# CONFIG_PERF_EVENTS is not set
138# CONFIG_PERF_COUNTERS is not set 141# CONFIG_PERF_COUNTERS is not set
139CONFIG_VM_EVENT_COUNTERS=y 142CONFIG_VM_EVENT_COUNTERS=y
140CONFIG_PCI_QUIRKS=y 143CONFIG_PCI_QUIRKS=y
141# CONFIG_STRIP_ASM_SYMS is not set
142CONFIG_COMPAT_BRK=y 144CONFIG_COMPAT_BRK=y
143CONFIG_SLAB=y 145CONFIG_SLAB=y
144# CONFIG_SLUB is not set 146# CONFIG_SLUB is not set
145# CONFIG_SLOB is not set 147# CONFIG_SLOB is not set
146# CONFIG_PROFILING is not set 148# CONFIG_PROFILING is not set
147# CONFIG_MARKERS is not set
148CONFIG_HAVE_OPROFILE=y 149CONFIG_HAVE_OPROFILE=y
149# CONFIG_KPROBES is not set 150# CONFIG_KPROBES is not set
150CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 151CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -152,12 +153,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
152CONFIG_HAVE_KPROBES=y 153CONFIG_HAVE_KPROBES=y
153CONFIG_HAVE_KRETPROBES=y 154CONFIG_HAVE_KRETPROBES=y
154CONFIG_HAVE_ARCH_TRACEHOOK=y 155CONFIG_HAVE_ARCH_TRACEHOOK=y
156CONFIG_HAVE_DMA_ATTRS=y
155CONFIG_USE_GENERIC_SMP_HELPERS=y 157CONFIG_USE_GENERIC_SMP_HELPERS=y
158CONFIG_HAVE_DMA_API_DEBUG=y
156 159
157# 160#
158# GCOV-based kernel profiling 161# GCOV-based kernel profiling
159# 162#
160# CONFIG_SLOW_WORK is not set 163CONFIG_SLOW_WORK=y
161# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 164# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
162CONFIG_SLABINFO=y 165CONFIG_SLABINFO=y
163CONFIG_RT_MUTEXES=y 166CONFIG_RT_MUTEXES=y
@@ -256,6 +259,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
256# CONFIG_KEXEC is not set 259# CONFIG_KEXEC is not set
257# CONFIG_CRASH_DUMP is not set 260# CONFIG_CRASH_DUMP is not set
258CONFIG_IRQ_ALL_CPUS=y 261CONFIG_IRQ_ALL_CPUS=y
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -417,6 +422,7 @@ CONFIG_IPV6_TUNNEL=m
417# CONFIG_NETFILTER is not set 422# CONFIG_NETFILTER is not set
418# CONFIG_IP_DCCP is not set 423# CONFIG_IP_DCCP is not set
419# CONFIG_IP_SCTP is not set 424# CONFIG_IP_SCTP is not set
425# CONFIG_RDS is not set
420# CONFIG_TIPC is not set 426# CONFIG_TIPC is not set
421# CONFIG_ATM is not set 427# CONFIG_ATM is not set
422# CONFIG_BRIDGE is not set 428# CONFIG_BRIDGE is not set
@@ -458,6 +464,7 @@ CONFIG_FIB_RULES=y
458# Generic Driver Options 464# Generic Driver Options
459# 465#
460CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 466CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
467# CONFIG_DEVTMPFS is not set
461CONFIG_STANDALONE=y 468CONFIG_STANDALONE=y
462CONFIG_PREVENT_FIRMWARE_BUILD=y 469CONFIG_PREVENT_FIRMWARE_BUILD=y
463CONFIG_FW_LOADER=y 470CONFIG_FW_LOADER=y
@@ -467,9 +474,9 @@ CONFIG_EXTRA_FIRMWARE=""
467# CONFIG_CONNECTOR is not set 474# CONFIG_CONNECTOR is not set
468CONFIG_MTD=y 475CONFIG_MTD=y
469# CONFIG_MTD_DEBUG is not set 476# CONFIG_MTD_DEBUG is not set
477# CONFIG_MTD_TESTS is not set
470CONFIG_MTD_CONCAT=y 478CONFIG_MTD_CONCAT=y
471CONFIG_MTD_PARTITIONS=y 479CONFIG_MTD_PARTITIONS=y
472# CONFIG_MTD_TESTS is not set
473# CONFIG_MTD_REDBOOT_PARTS is not set 480# CONFIG_MTD_REDBOOT_PARTS is not set
474# CONFIG_MTD_CMDLINE_PARTS is not set 481# CONFIG_MTD_CMDLINE_PARTS is not set
475CONFIG_MTD_OF_PARTS=y 482CONFIG_MTD_OF_PARTS=y
@@ -680,6 +687,7 @@ CONFIG_SCSI_WAIT_SCAN=m
680CONFIG_SCSI_LOWLEVEL=y 687CONFIG_SCSI_LOWLEVEL=y
681# CONFIG_ISCSI_TCP is not set 688# CONFIG_ISCSI_TCP is not set
682# CONFIG_SCSI_BNX2_ISCSI is not set 689# CONFIG_SCSI_BNX2_ISCSI is not set
690# CONFIG_BE2ISCSI is not set
683# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 691# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
684# CONFIG_SCSI_3W_9XXX is not set 692# CONFIG_SCSI_3W_9XXX is not set
685# CONFIG_SCSI_ACARD is not set 693# CONFIG_SCSI_ACARD is not set
@@ -719,12 +727,15 @@ CONFIG_SCSI_LOWLEVEL=y
719# CONFIG_SCSI_DC390T is not set 727# CONFIG_SCSI_DC390T is not set
720# CONFIG_SCSI_NSP32 is not set 728# CONFIG_SCSI_NSP32 is not set
721# CONFIG_SCSI_DEBUG is not set 729# CONFIG_SCSI_DEBUG is not set
730# CONFIG_SCSI_PMCRAID is not set
722# CONFIG_SCSI_SRP is not set 731# CONFIG_SCSI_SRP is not set
732# CONFIG_SCSI_BFA_FC is not set
723# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 733# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
724# CONFIG_SCSI_DH is not set 734# CONFIG_SCSI_DH is not set
725# CONFIG_SCSI_OSD_INITIATOR is not set 735# CONFIG_SCSI_OSD_INITIATOR is not set
726CONFIG_ATA=y 736CONFIG_ATA=y
727# CONFIG_ATA_NONSTANDARD is not set 737# CONFIG_ATA_NONSTANDARD is not set
738CONFIG_ATA_VERBOSE_ERROR=y
728CONFIG_SATA_PMP=y 739CONFIG_SATA_PMP=y
729# CONFIG_SATA_AHCI is not set 740# CONFIG_SATA_AHCI is not set
730# CONFIG_SATA_SIL24 is not set 741# CONFIG_SATA_SIL24 is not set
@@ -747,6 +758,7 @@ CONFIG_SATA_SIL=y
747# CONFIG_PATA_ALI is not set 758# CONFIG_PATA_ALI is not set
748# CONFIG_PATA_AMD is not set 759# CONFIG_PATA_AMD is not set
749# CONFIG_PATA_ARTOP is not set 760# CONFIG_PATA_ARTOP is not set
761# CONFIG_PATA_ATP867X is not set
750# CONFIG_PATA_ATIIXP is not set 762# CONFIG_PATA_ATIIXP is not set
751# CONFIG_PATA_CMD640_PCI is not set 763# CONFIG_PATA_CMD640_PCI is not set
752# CONFIG_PATA_CMD64X is not set 764# CONFIG_PATA_CMD64X is not set
@@ -775,6 +787,7 @@ CONFIG_SATA_SIL=y
775# CONFIG_PATA_PCMCIA is not set 787# CONFIG_PATA_PCMCIA is not set
776# CONFIG_PATA_PDC_OLD is not set 788# CONFIG_PATA_PDC_OLD is not set
777# CONFIG_PATA_RADISYS is not set 789# CONFIG_PATA_RADISYS is not set
790# CONFIG_PATA_RDC is not set
778# CONFIG_PATA_RZ1000 is not set 791# CONFIG_PATA_RZ1000 is not set
779# CONFIG_PATA_SC1200 is not set 792# CONFIG_PATA_SC1200 is not set
780# CONFIG_PATA_SERVERWORKS is not set 793# CONFIG_PATA_SERVERWORKS is not set
@@ -851,7 +864,9 @@ CONFIG_MII=y
851# CONFIG_NET_PCI is not set 864# CONFIG_NET_PCI is not set
852# CONFIG_B44 is not set 865# CONFIG_B44 is not set
853# CONFIG_KS8842 is not set 866# CONFIG_KS8842 is not set
867# CONFIG_KS8851_MLL is not set
854# CONFIG_ATL2 is not set 868# CONFIG_ATL2 is not set
869# CONFIG_XILINX_EMACLITE is not set
855CONFIG_NETDEV_1000=y 870CONFIG_NETDEV_1000=y
856# CONFIG_ACENIC is not set 871# CONFIG_ACENIC is not set
857# CONFIG_DL2K is not set 872# CONFIG_DL2K is not set
@@ -881,10 +896,7 @@ CONFIG_GIANFAR=y
881# CONFIG_JME is not set 896# CONFIG_JME is not set
882# CONFIG_NETDEV_10000 is not set 897# CONFIG_NETDEV_10000 is not set
883# CONFIG_TR is not set 898# CONFIG_TR is not set
884 899CONFIG_WLAN=y
885#
886# Wireless LAN
887#
888# CONFIG_WLAN_PRE80211 is not set 900# CONFIG_WLAN_PRE80211 is not set
889# CONFIG_WLAN_80211 is not set 901# CONFIG_WLAN_80211 is not set
890 902
@@ -1016,6 +1028,7 @@ CONFIG_NVRAM=y
1016CONFIG_DEVPORT=y 1028CONFIG_DEVPORT=y
1017CONFIG_I2C=y 1029CONFIG_I2C=y
1018CONFIG_I2C_BOARDINFO=y 1030CONFIG_I2C_BOARDINFO=y
1031CONFIG_I2C_COMPAT=y
1019CONFIG_I2C_CHARDEV=y 1032CONFIG_I2C_CHARDEV=y
1020CONFIG_I2C_HELPER_AUTO=y 1033CONFIG_I2C_HELPER_AUTO=y
1021 1034
@@ -1071,9 +1084,6 @@ CONFIG_I2C_MPC=y
1071# Miscellaneous I2C Chip support 1084# Miscellaneous I2C Chip support
1072# 1085#
1073CONFIG_DS1682=y 1086CONFIG_DS1682=y
1074# CONFIG_SENSORS_PCF8574 is not set
1075# CONFIG_PCF8575 is not set
1076# CONFIG_SENSORS_PCA9539 is not set
1077# CONFIG_SENSORS_TSL2550 is not set 1087# CONFIG_SENSORS_TSL2550 is not set
1078# CONFIG_I2C_DEBUG_CORE is not set 1088# CONFIG_I2C_DEBUG_CORE is not set
1079# CONFIG_I2C_DEBUG_ALGO is not set 1089# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1106,14 +1116,24 @@ CONFIG_GPIO_SYSFS=y
1106# PCI GPIO expanders: 1116# PCI GPIO expanders:
1107# 1117#
1108# CONFIG_GPIO_BT8XX is not set 1118# CONFIG_GPIO_BT8XX is not set
1119# CONFIG_GPIO_LANGWELL is not set
1109 1120
1110# 1121#
1111# SPI GPIO expanders: 1122# SPI GPIO expanders:
1112# 1123#
1124
1125#
1126# AC97 GPIO expanders:
1127#
1113# CONFIG_W1 is not set 1128# CONFIG_W1 is not set
1114# CONFIG_POWER_SUPPLY is not set 1129# CONFIG_POWER_SUPPLY is not set
1115CONFIG_HWMON=y 1130CONFIG_HWMON=y
1116# CONFIG_HWMON_VID is not set 1131# CONFIG_HWMON_VID is not set
1132# CONFIG_HWMON_DEBUG_CHIP is not set
1133
1134#
1135# Native drivers
1136#
1117# CONFIG_SENSORS_AD7414 is not set 1137# CONFIG_SENSORS_AD7414 is not set
1118# CONFIG_SENSORS_AD7418 is not set 1138# CONFIG_SENSORS_AD7418 is not set
1119# CONFIG_SENSORS_ADM1021 is not set 1139# CONFIG_SENSORS_ADM1021 is not set
@@ -1164,6 +1184,7 @@ CONFIG_SENSORS_LM92=y
1164# CONFIG_SENSORS_ADS7828 is not set 1184# CONFIG_SENSORS_ADS7828 is not set
1165# CONFIG_SENSORS_THMC50 is not set 1185# CONFIG_SENSORS_THMC50 is not set
1166# CONFIG_SENSORS_TMP401 is not set 1186# CONFIG_SENSORS_TMP401 is not set
1187# CONFIG_SENSORS_TMP421 is not set
1167# CONFIG_SENSORS_VIA686A is not set 1188# CONFIG_SENSORS_VIA686A is not set
1168# CONFIG_SENSORS_VT1211 is not set 1189# CONFIG_SENSORS_VT1211 is not set
1169# CONFIG_SENSORS_VT8231 is not set 1190# CONFIG_SENSORS_VT8231 is not set
@@ -1175,9 +1196,7 @@ CONFIG_SENSORS_LM92=y
1175# CONFIG_SENSORS_W83L786NG is not set 1196# CONFIG_SENSORS_W83L786NG is not set
1176# CONFIG_SENSORS_W83627HF is not set 1197# CONFIG_SENSORS_W83627HF is not set
1177# CONFIG_SENSORS_W83627EHF is not set 1198# CONFIG_SENSORS_W83627EHF is not set
1178# CONFIG_HWMON_DEBUG_CHIP is not set
1179# CONFIG_THERMAL is not set 1199# CONFIG_THERMAL is not set
1180# CONFIG_THERMAL_HWMON is not set
1181CONFIG_WATCHDOG=y 1200CONFIG_WATCHDOG=y
1182# CONFIG_WATCHDOG_NOWAYOUT is not set 1201# CONFIG_WATCHDOG_NOWAYOUT is not set
1183 1202
@@ -1217,6 +1236,7 @@ CONFIG_SSB_POSSIBLE=y
1217# CONFIG_MFD_TMIO is not set 1236# CONFIG_MFD_TMIO is not set
1218# CONFIG_PMIC_DA903X is not set 1237# CONFIG_PMIC_DA903X is not set
1219# CONFIG_MFD_WM8400 is not set 1238# CONFIG_MFD_WM8400 is not set
1239# CONFIG_MFD_WM831X is not set
1220# CONFIG_MFD_WM8350_I2C is not set 1240# CONFIG_MFD_WM8350_I2C is not set
1221# CONFIG_MFD_PCF50633 is not set 1241# CONFIG_MFD_PCF50633 is not set
1222# CONFIG_AB3100_CORE is not set 1242# CONFIG_AB3100_CORE is not set
@@ -1227,6 +1247,7 @@ CONFIG_SSB_POSSIBLE=y
1227# Graphics support 1247# Graphics support
1228# 1248#
1229# CONFIG_AGP is not set 1249# CONFIG_AGP is not set
1250CONFIG_VGA_ARB=y
1230# CONFIG_DRM is not set 1251# CONFIG_DRM is not set
1231# CONFIG_VGASTATE is not set 1252# CONFIG_VGASTATE is not set
1232CONFIG_VIDEO_OUTPUT_CONTROL=m 1253CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1247,7 +1268,6 @@ CONFIG_DUMMY_CONSOLE=y
1247# CONFIG_SOUND is not set 1268# CONFIG_SOUND is not set
1248CONFIG_HID_SUPPORT=y 1269CONFIG_HID_SUPPORT=y
1249CONFIG_HID=y 1270CONFIG_HID=y
1250# CONFIG_HID_DEBUG is not set
1251# CONFIG_HIDRAW is not set 1271# CONFIG_HIDRAW is not set
1252 1272
1253# 1273#
@@ -1270,6 +1290,7 @@ CONFIG_HID_CYPRESS=y
1270CONFIG_HID_EZKEY=y 1290CONFIG_HID_EZKEY=y
1271# CONFIG_HID_KYE is not set 1291# CONFIG_HID_KYE is not set
1272CONFIG_HID_GYRATION=y 1292CONFIG_HID_GYRATION=y
1293# CONFIG_HID_TWINHAN is not set
1273# CONFIG_HID_KENSINGTON is not set 1294# CONFIG_HID_KENSINGTON is not set
1274CONFIG_HID_LOGITECH=y 1295CONFIG_HID_LOGITECH=y
1275# CONFIG_LOGITECH_FF is not set 1296# CONFIG_LOGITECH_FF is not set
@@ -1322,6 +1343,7 @@ CONFIG_USB_EHCI_HCD=y
1322# CONFIG_USB_OXU210HP_HCD is not set 1343# CONFIG_USB_OXU210HP_HCD is not set
1323# CONFIG_USB_ISP116X_HCD is not set 1344# CONFIG_USB_ISP116X_HCD is not set
1324# CONFIG_USB_ISP1760_HCD is not set 1345# CONFIG_USB_ISP1760_HCD is not set
1346# CONFIG_USB_ISP1362_HCD is not set
1325CONFIG_USB_OHCI_HCD=y 1347CONFIG_USB_OHCI_HCD=y
1326# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set 1348# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set
1327# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1349# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1397,6 +1419,7 @@ CONFIG_USB_STORAGE=y
1397# CONFIG_USB_LD is not set 1419# CONFIG_USB_LD is not set
1398# CONFIG_USB_TRANCEVIBRATOR is not set 1420# CONFIG_USB_TRANCEVIBRATOR is not set
1399# CONFIG_USB_IOWARRIOR is not set 1421# CONFIG_USB_IOWARRIOR is not set
1422# CONFIG_USB_TEST is not set
1400# CONFIG_USB_ISIGHTFW is not set 1423# CONFIG_USB_ISIGHTFW is not set
1401# CONFIG_USB_VST is not set 1424# CONFIG_USB_VST is not set
1402# CONFIG_USB_GADGET is not set 1425# CONFIG_USB_GADGET is not set
@@ -1501,6 +1524,7 @@ CONFIG_FS_POSIX_ACL=y
1501# CONFIG_GFS2_FS is not set 1524# CONFIG_GFS2_FS is not set
1502# CONFIG_OCFS2_FS is not set 1525# CONFIG_OCFS2_FS is not set
1503# CONFIG_BTRFS_FS is not set 1526# CONFIG_BTRFS_FS is not set
1527# CONFIG_NILFS2_FS is not set
1504CONFIG_FILE_LOCKING=y 1528CONFIG_FILE_LOCKING=y
1505CONFIG_FSNOTIFY=y 1529CONFIG_FSNOTIFY=y
1506CONFIG_DNOTIFY=y 1530CONFIG_DNOTIFY=y
@@ -1576,7 +1600,6 @@ CONFIG_JFFS2_RTIME=y
1576# CONFIG_ROMFS_FS is not set 1600# CONFIG_ROMFS_FS is not set
1577# CONFIG_SYSV_FS is not set 1601# CONFIG_SYSV_FS is not set
1578# CONFIG_UFS_FS is not set 1602# CONFIG_UFS_FS is not set
1579# CONFIG_NILFS2_FS is not set
1580CONFIG_NETWORK_FILESYSTEMS=y 1603CONFIG_NETWORK_FILESYSTEMS=y
1581CONFIG_NFS_FS=y 1604CONFIG_NFS_FS=y
1582CONFIG_NFS_V3=y 1605CONFIG_NFS_V3=y
@@ -1682,6 +1705,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1682CONFIG_ENABLE_MUST_CHECK=y 1705CONFIG_ENABLE_MUST_CHECK=y
1683CONFIG_FRAME_WARN=1024 1706CONFIG_FRAME_WARN=1024
1684CONFIG_MAGIC_SYSRQ=y 1707CONFIG_MAGIC_SYSRQ=y
1708# CONFIG_STRIP_ASM_SYMS is not set
1685# CONFIG_UNUSED_SYMBOLS is not set 1709# CONFIG_UNUSED_SYMBOLS is not set
1686# CONFIG_DEBUG_FS is not set 1710# CONFIG_DEBUG_FS is not set
1687# CONFIG_HEADERS_CHECK is not set 1711# CONFIG_HEADERS_CHECK is not set
@@ -1697,6 +1721,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1697CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1721CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1698CONFIG_TRACING_SUPPORT=y 1722CONFIG_TRACING_SUPPORT=y
1699# CONFIG_FTRACE is not set 1723# CONFIG_FTRACE is not set
1724# CONFIG_DMA_API_DEBUG is not set
1700# CONFIG_SAMPLES is not set 1725# CONFIG_SAMPLES is not set
1701CONFIG_HAVE_ARCH_KGDB=y 1726CONFIG_HAVE_ARCH_KGDB=y
1702# CONFIG_PPC_DISABLE_WERROR is not set 1727# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1718,7 +1743,6 @@ CONFIG_CRYPTO=y
1718# 1743#
1719# Crypto core or helper 1744# Crypto core or helper
1720# 1745#
1721# CONFIG_CRYPTO_FIPS is not set
1722CONFIG_CRYPTO_ALGAPI=y 1746CONFIG_CRYPTO_ALGAPI=y
1723CONFIG_CRYPTO_ALGAPI2=y 1747CONFIG_CRYPTO_ALGAPI2=y
1724CONFIG_CRYPTO_AEAD=m 1748CONFIG_CRYPTO_AEAD=m
@@ -1761,11 +1785,13 @@ CONFIG_CRYPTO_CBC=y
1761# 1785#
1762CONFIG_CRYPTO_HMAC=m 1786CONFIG_CRYPTO_HMAC=m
1763# CONFIG_CRYPTO_XCBC is not set 1787# CONFIG_CRYPTO_XCBC is not set
1788# CONFIG_CRYPTO_VMAC is not set
1764 1789
1765# 1790#
1766# Digest 1791# Digest
1767# 1792#
1768CONFIG_CRYPTO_CRC32C=y 1793CONFIG_CRYPTO_CRC32C=y
1794# CONFIG_CRYPTO_GHASH is not set
1769# CONFIG_CRYPTO_MD4 is not set 1795# CONFIG_CRYPTO_MD4 is not set
1770CONFIG_CRYPTO_MD5=y 1796CONFIG_CRYPTO_MD5=y
1771# CONFIG_CRYPTO_MICHAEL_MIC is not set 1797# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/86xx/gef_sbc310_defconfig b/arch/powerpc/configs/86xx/gef_sbc310_defconfig
index cd338d493bed..e199d1cacbaf 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:29 2009 4# Thu Nov 5 08:20:47 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -36,6 +36,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
39# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 41CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -88,11 +89,12 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
88# 89#
89# RCU Subsystem 90# RCU Subsystem
90# 91#
91CONFIG_CLASSIC_RCU=y 92CONFIG_TREE_RCU=y
92# CONFIG_TREE_RCU is not set 93# CONFIG_TREE_PREEMPT_RCU is not set
93# CONFIG_PREEMPT_RCU is not set 94# CONFIG_RCU_TRACE is not set
95CONFIG_RCU_FANOUT=32
96# CONFIG_RCU_FANOUT_EXACT is not set
94# CONFIG_TREE_RCU_TRACE is not set 97# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_PREEMPT_RCU_TRACE is not set
96CONFIG_IKCONFIG=y 98CONFIG_IKCONFIG=y
97CONFIG_IKCONFIG_PROC=y 99CONFIG_IKCONFIG_PROC=y
98CONFIG_LOG_BUF_SHIFT=14 100CONFIG_LOG_BUF_SHIFT=14
@@ -130,21 +132,20 @@ CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y 132CONFIG_EVENTFD=y
131CONFIG_SHMEM=y 133CONFIG_SHMEM=y
132CONFIG_AIO=y 134CONFIG_AIO=y
133CONFIG_HAVE_PERF_COUNTERS=y 135CONFIG_HAVE_PERF_EVENTS=y
134 136
135# 137#
136# Performance Counters 138# Kernel Performance Events And Counters
137# 139#
140# CONFIG_PERF_EVENTS is not set
138# CONFIG_PERF_COUNTERS is not set 141# CONFIG_PERF_COUNTERS is not set
139CONFIG_VM_EVENT_COUNTERS=y 142CONFIG_VM_EVENT_COUNTERS=y
140CONFIG_PCI_QUIRKS=y 143CONFIG_PCI_QUIRKS=y
141# CONFIG_STRIP_ASM_SYMS is not set
142CONFIG_COMPAT_BRK=y 144CONFIG_COMPAT_BRK=y
143CONFIG_SLAB=y 145CONFIG_SLAB=y
144# CONFIG_SLUB is not set 146# CONFIG_SLUB is not set
145# CONFIG_SLOB is not set 147# CONFIG_SLOB is not set
146# CONFIG_PROFILING is not set 148# CONFIG_PROFILING is not set
147# CONFIG_MARKERS is not set
148CONFIG_HAVE_OPROFILE=y 149CONFIG_HAVE_OPROFILE=y
149# CONFIG_KPROBES is not set 150# CONFIG_KPROBES is not set
150CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 151CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -152,12 +153,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
152CONFIG_HAVE_KPROBES=y 153CONFIG_HAVE_KPROBES=y
153CONFIG_HAVE_KRETPROBES=y 154CONFIG_HAVE_KRETPROBES=y
154CONFIG_HAVE_ARCH_TRACEHOOK=y 155CONFIG_HAVE_ARCH_TRACEHOOK=y
156CONFIG_HAVE_DMA_ATTRS=y
155CONFIG_USE_GENERIC_SMP_HELPERS=y 157CONFIG_USE_GENERIC_SMP_HELPERS=y
158CONFIG_HAVE_DMA_API_DEBUG=y
156 159
157# 160#
158# GCOV-based kernel profiling 161# GCOV-based kernel profiling
159# 162#
160# CONFIG_SLOW_WORK is not set 163CONFIG_SLOW_WORK=y
161# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 164# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
162CONFIG_SLABINFO=y 165CONFIG_SLABINFO=y
163CONFIG_RT_MUTEXES=y 166CONFIG_RT_MUTEXES=y
@@ -256,6 +259,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
256# CONFIG_KEXEC is not set 259# CONFIG_KEXEC is not set
257# CONFIG_CRASH_DUMP is not set 260# CONFIG_CRASH_DUMP is not set
258CONFIG_IRQ_ALL_CPUS=y 261CONFIG_IRQ_ALL_CPUS=y
262CONFIG_MAX_ACTIVE_REGIONS=32
259CONFIG_ARCH_FLATMEM_ENABLE=y 263CONFIG_ARCH_FLATMEM_ENABLE=y
260CONFIG_ARCH_POPULATES_NODE_MAP=y 264CONFIG_ARCH_POPULATES_NODE_MAP=y
261CONFIG_SELECT_MEMORY_MODEL=y 265CONFIG_SELECT_MEMORY_MODEL=y
@@ -273,6 +277,7 @@ CONFIG_BOUNCE=y
273CONFIG_VIRT_TO_BUS=y 277CONFIG_VIRT_TO_BUS=y
274CONFIG_HAVE_MLOCK=y 278CONFIG_HAVE_MLOCK=y
275CONFIG_HAVE_MLOCKED_PAGE_BIT=y 279CONFIG_HAVE_MLOCKED_PAGE_BIT=y
280# CONFIG_KSM is not set
276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 281CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
277CONFIG_PPC_4K_PAGES=y 282CONFIG_PPC_4K_PAGES=y
278# CONFIG_PPC_16K_PAGES is not set 283# CONFIG_PPC_16K_PAGES is not set
@@ -417,6 +422,7 @@ CONFIG_IPV6_TUNNEL=m
417# CONFIG_NETFILTER is not set 422# CONFIG_NETFILTER is not set
418# CONFIG_IP_DCCP is not set 423# CONFIG_IP_DCCP is not set
419# CONFIG_IP_SCTP is not set 424# CONFIG_IP_SCTP is not set
425# CONFIG_RDS is not set
420# CONFIG_TIPC is not set 426# CONFIG_TIPC is not set
421# CONFIG_ATM is not set 427# CONFIG_ATM is not set
422# CONFIG_BRIDGE is not set 428# CONFIG_BRIDGE is not set
@@ -458,6 +464,7 @@ CONFIG_FIB_RULES=y
458# Generic Driver Options 464# Generic Driver Options
459# 465#
460CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 466CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
467# CONFIG_DEVTMPFS is not set
461CONFIG_STANDALONE=y 468CONFIG_STANDALONE=y
462CONFIG_PREVENT_FIRMWARE_BUILD=y 469CONFIG_PREVENT_FIRMWARE_BUILD=y
463CONFIG_FW_LOADER=y 470CONFIG_FW_LOADER=y
@@ -467,9 +474,9 @@ CONFIG_EXTRA_FIRMWARE=""
467# CONFIG_CONNECTOR is not set 474# CONFIG_CONNECTOR is not set
468CONFIG_MTD=y 475CONFIG_MTD=y
469# CONFIG_MTD_DEBUG is not set 476# CONFIG_MTD_DEBUG is not set
477# CONFIG_MTD_TESTS is not set
470CONFIG_MTD_CONCAT=y 478CONFIG_MTD_CONCAT=y
471CONFIG_MTD_PARTITIONS=y 479CONFIG_MTD_PARTITIONS=y
472# CONFIG_MTD_TESTS is not set
473# CONFIG_MTD_REDBOOT_PARTS is not set 480# CONFIG_MTD_REDBOOT_PARTS is not set
474# CONFIG_MTD_CMDLINE_PARTS is not set 481# CONFIG_MTD_CMDLINE_PARTS is not set
475CONFIG_MTD_OF_PARTS=y 482CONFIG_MTD_OF_PARTS=y
@@ -680,6 +687,7 @@ CONFIG_SCSI_WAIT_SCAN=m
680CONFIG_SCSI_LOWLEVEL=y 687CONFIG_SCSI_LOWLEVEL=y
681# CONFIG_ISCSI_TCP is not set 688# CONFIG_ISCSI_TCP is not set
682# CONFIG_SCSI_BNX2_ISCSI is not set 689# CONFIG_SCSI_BNX2_ISCSI is not set
690# CONFIG_BE2ISCSI is not set
683# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 691# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
684# CONFIG_SCSI_3W_9XXX is not set 692# CONFIG_SCSI_3W_9XXX is not set
685# CONFIG_SCSI_ACARD is not set 693# CONFIG_SCSI_ACARD is not set
@@ -719,12 +727,15 @@ CONFIG_SCSI_LOWLEVEL=y
719# CONFIG_SCSI_DC390T is not set 727# CONFIG_SCSI_DC390T is not set
720# CONFIG_SCSI_NSP32 is not set 728# CONFIG_SCSI_NSP32 is not set
721# CONFIG_SCSI_DEBUG is not set 729# CONFIG_SCSI_DEBUG is not set
730# CONFIG_SCSI_PMCRAID is not set
722# CONFIG_SCSI_SRP is not set 731# CONFIG_SCSI_SRP is not set
732# CONFIG_SCSI_BFA_FC is not set
723# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 733# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
724# CONFIG_SCSI_DH is not set 734# CONFIG_SCSI_DH is not set
725# CONFIG_SCSI_OSD_INITIATOR is not set 735# CONFIG_SCSI_OSD_INITIATOR is not set
726CONFIG_ATA=y 736CONFIG_ATA=y
727# CONFIG_ATA_NONSTANDARD is not set 737# CONFIG_ATA_NONSTANDARD is not set
738CONFIG_ATA_VERBOSE_ERROR=y
728CONFIG_SATA_PMP=y 739CONFIG_SATA_PMP=y
729# CONFIG_SATA_AHCI is not set 740# CONFIG_SATA_AHCI is not set
730CONFIG_SATA_SIL24=y 741CONFIG_SATA_SIL24=y
@@ -796,7 +807,9 @@ CONFIG_MII=y
796# CONFIG_NET_PCI is not set 807# CONFIG_NET_PCI is not set
797# CONFIG_B44 is not set 808# CONFIG_B44 is not set
798# CONFIG_KS8842 is not set 809# CONFIG_KS8842 is not set
810# CONFIG_KS8851_MLL is not set
799# CONFIG_ATL2 is not set 811# CONFIG_ATL2 is not set
812# CONFIG_XILINX_EMACLITE is not set
800CONFIG_NETDEV_1000=y 813CONFIG_NETDEV_1000=y
801# CONFIG_ACENIC is not set 814# CONFIG_ACENIC is not set
802# CONFIG_DL2K is not set 815# CONFIG_DL2K is not set
@@ -826,10 +839,7 @@ CONFIG_GIANFAR=y
826# CONFIG_JME is not set 839# CONFIG_JME is not set
827# CONFIG_NETDEV_10000 is not set 840# CONFIG_NETDEV_10000 is not set
828# CONFIG_TR is not set 841# CONFIG_TR is not set
829 842CONFIG_WLAN=y
830#
831# Wireless LAN
832#
833# CONFIG_WLAN_PRE80211 is not set 843# CONFIG_WLAN_PRE80211 is not set
834# CONFIG_WLAN_80211 is not set 844# CONFIG_WLAN_80211 is not set
835 845
@@ -961,6 +971,7 @@ CONFIG_NVRAM=y
961CONFIG_DEVPORT=y 971CONFIG_DEVPORT=y
962CONFIG_I2C=y 972CONFIG_I2C=y
963CONFIG_I2C_BOARDINFO=y 973CONFIG_I2C_BOARDINFO=y
974CONFIG_I2C_COMPAT=y
964CONFIG_I2C_CHARDEV=y 975CONFIG_I2C_CHARDEV=y
965CONFIG_I2C_HELPER_AUTO=y 976CONFIG_I2C_HELPER_AUTO=y
966 977
@@ -1016,9 +1027,6 @@ CONFIG_I2C_MPC=y
1016# Miscellaneous I2C Chip support 1027# Miscellaneous I2C Chip support
1017# 1028#
1018CONFIG_DS1682=y 1029CONFIG_DS1682=y
1019# CONFIG_SENSORS_PCF8574 is not set
1020# CONFIG_PCF8575 is not set
1021# CONFIG_SENSORS_PCA9539 is not set
1022# CONFIG_SENSORS_TSL2550 is not set 1030# CONFIG_SENSORS_TSL2550 is not set
1023# CONFIG_I2C_DEBUG_CORE is not set 1031# CONFIG_I2C_DEBUG_CORE is not set
1024# CONFIG_I2C_DEBUG_ALGO is not set 1032# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1051,14 +1059,24 @@ CONFIG_GPIO_SYSFS=y
1051# PCI GPIO expanders: 1059# PCI GPIO expanders:
1052# 1060#
1053# CONFIG_GPIO_BT8XX is not set 1061# CONFIG_GPIO_BT8XX is not set
1062# CONFIG_GPIO_LANGWELL is not set
1054 1063
1055# 1064#
1056# SPI GPIO expanders: 1065# SPI GPIO expanders:
1057# 1066#
1067
1068#
1069# AC97 GPIO expanders:
1070#
1058# CONFIG_W1 is not set 1071# CONFIG_W1 is not set
1059# CONFIG_POWER_SUPPLY is not set 1072# CONFIG_POWER_SUPPLY is not set
1060CONFIG_HWMON=y 1073CONFIG_HWMON=y
1061# CONFIG_HWMON_VID is not set 1074# CONFIG_HWMON_VID is not set
1075# CONFIG_HWMON_DEBUG_CHIP is not set
1076
1077#
1078# Native drivers
1079#
1062# CONFIG_SENSORS_AD7414 is not set 1080# CONFIG_SENSORS_AD7414 is not set
1063# CONFIG_SENSORS_AD7418 is not set 1081# CONFIG_SENSORS_AD7418 is not set
1064# CONFIG_SENSORS_ADM1021 is not set 1082# CONFIG_SENSORS_ADM1021 is not set
@@ -1109,6 +1127,7 @@ CONFIG_SENSORS_LM92=y
1109# CONFIG_SENSORS_ADS7828 is not set 1127# CONFIG_SENSORS_ADS7828 is not set
1110# CONFIG_SENSORS_THMC50 is not set 1128# CONFIG_SENSORS_THMC50 is not set
1111# CONFIG_SENSORS_TMP401 is not set 1129# CONFIG_SENSORS_TMP401 is not set
1130# CONFIG_SENSORS_TMP421 is not set
1112# CONFIG_SENSORS_VIA686A is not set 1131# CONFIG_SENSORS_VIA686A is not set
1113# CONFIG_SENSORS_VT1211 is not set 1132# CONFIG_SENSORS_VT1211 is not set
1114# CONFIG_SENSORS_VT8231 is not set 1133# CONFIG_SENSORS_VT8231 is not set
@@ -1120,9 +1139,7 @@ CONFIG_SENSORS_LM92=y
1120# CONFIG_SENSORS_W83L786NG is not set 1139# CONFIG_SENSORS_W83L786NG is not set
1121# CONFIG_SENSORS_W83627HF is not set 1140# CONFIG_SENSORS_W83627HF is not set
1122# CONFIG_SENSORS_W83627EHF is not set 1141# CONFIG_SENSORS_W83627EHF is not set
1123# CONFIG_HWMON_DEBUG_CHIP is not set
1124# CONFIG_THERMAL is not set 1142# CONFIG_THERMAL is not set
1125# CONFIG_THERMAL_HWMON is not set
1126CONFIG_WATCHDOG=y 1143CONFIG_WATCHDOG=y
1127# CONFIG_WATCHDOG_NOWAYOUT is not set 1144# CONFIG_WATCHDOG_NOWAYOUT is not set
1128 1145
@@ -1162,6 +1179,7 @@ CONFIG_SSB_POSSIBLE=y
1162# CONFIG_MFD_TMIO is not set 1179# CONFIG_MFD_TMIO is not set
1163# CONFIG_PMIC_DA903X is not set 1180# CONFIG_PMIC_DA903X is not set
1164# CONFIG_MFD_WM8400 is not set 1181# CONFIG_MFD_WM8400 is not set
1182# CONFIG_MFD_WM831X is not set
1165# CONFIG_MFD_WM8350_I2C is not set 1183# CONFIG_MFD_WM8350_I2C is not set
1166# CONFIG_MFD_PCF50633 is not set 1184# CONFIG_MFD_PCF50633 is not set
1167# CONFIG_AB3100_CORE is not set 1185# CONFIG_AB3100_CORE is not set
@@ -1172,6 +1190,7 @@ CONFIG_SSB_POSSIBLE=y
1172# Graphics support 1190# Graphics support
1173# 1191#
1174# CONFIG_AGP is not set 1192# CONFIG_AGP is not set
1193CONFIG_VGA_ARB=y
1175# CONFIG_DRM is not set 1194# CONFIG_DRM is not set
1176# CONFIG_VGASTATE is not set 1195# CONFIG_VGASTATE is not set
1177CONFIG_VIDEO_OUTPUT_CONTROL=m 1196CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1192,7 +1211,6 @@ CONFIG_DUMMY_CONSOLE=y
1192# CONFIG_SOUND is not set 1211# CONFIG_SOUND is not set
1193CONFIG_HID_SUPPORT=y 1212CONFIG_HID_SUPPORT=y
1194CONFIG_HID=y 1213CONFIG_HID=y
1195# CONFIG_HID_DEBUG is not set
1196# CONFIG_HIDRAW is not set 1214# CONFIG_HIDRAW is not set
1197 1215
1198# 1216#
@@ -1215,6 +1233,7 @@ CONFIG_HID_CYPRESS=y
1215CONFIG_HID_EZKEY=y 1233CONFIG_HID_EZKEY=y
1216# CONFIG_HID_KYE is not set 1234# CONFIG_HID_KYE is not set
1217CONFIG_HID_GYRATION=y 1235CONFIG_HID_GYRATION=y
1236# CONFIG_HID_TWINHAN is not set
1218# CONFIG_HID_KENSINGTON is not set 1237# CONFIG_HID_KENSINGTON is not set
1219CONFIG_HID_LOGITECH=y 1238CONFIG_HID_LOGITECH=y
1220# CONFIG_LOGITECH_FF is not set 1239# CONFIG_LOGITECH_FF is not set
@@ -1267,6 +1286,7 @@ CONFIG_USB_EHCI_HCD=y
1267# CONFIG_USB_OXU210HP_HCD is not set 1286# CONFIG_USB_OXU210HP_HCD is not set
1268# CONFIG_USB_ISP116X_HCD is not set 1287# CONFIG_USB_ISP116X_HCD is not set
1269# CONFIG_USB_ISP1760_HCD is not set 1288# CONFIG_USB_ISP1760_HCD is not set
1289# CONFIG_USB_ISP1362_HCD is not set
1270CONFIG_USB_OHCI_HCD=y 1290CONFIG_USB_OHCI_HCD=y
1271# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set 1291# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set
1272# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1292# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1342,6 +1362,7 @@ CONFIG_USB_STORAGE=y
1342# CONFIG_USB_LD is not set 1362# CONFIG_USB_LD is not set
1343# CONFIG_USB_TRANCEVIBRATOR is not set 1363# CONFIG_USB_TRANCEVIBRATOR is not set
1344# CONFIG_USB_IOWARRIOR is not set 1364# CONFIG_USB_IOWARRIOR is not set
1365# CONFIG_USB_TEST is not set
1345# CONFIG_USB_ISIGHTFW is not set 1366# CONFIG_USB_ISIGHTFW is not set
1346# CONFIG_USB_VST is not set 1367# CONFIG_USB_VST is not set
1347# CONFIG_USB_GADGET is not set 1368# CONFIG_USB_GADGET is not set
@@ -1446,6 +1467,7 @@ CONFIG_FS_POSIX_ACL=y
1446# CONFIG_GFS2_FS is not set 1467# CONFIG_GFS2_FS is not set
1447# CONFIG_OCFS2_FS is not set 1468# CONFIG_OCFS2_FS is not set
1448# CONFIG_BTRFS_FS is not set 1469# CONFIG_BTRFS_FS is not set
1470# CONFIG_NILFS2_FS is not set
1449CONFIG_FILE_LOCKING=y 1471CONFIG_FILE_LOCKING=y
1450CONFIG_FSNOTIFY=y 1472CONFIG_FSNOTIFY=y
1451CONFIG_DNOTIFY=y 1473CONFIG_DNOTIFY=y
@@ -1521,7 +1543,6 @@ CONFIG_JFFS2_RTIME=y
1521# CONFIG_ROMFS_FS is not set 1543# CONFIG_ROMFS_FS is not set
1522# CONFIG_SYSV_FS is not set 1544# CONFIG_SYSV_FS is not set
1523# CONFIG_UFS_FS is not set 1545# CONFIG_UFS_FS is not set
1524# CONFIG_NILFS2_FS is not set
1525CONFIG_NETWORK_FILESYSTEMS=y 1546CONFIG_NETWORK_FILESYSTEMS=y
1526CONFIG_NFS_FS=y 1547CONFIG_NFS_FS=y
1527CONFIG_NFS_V3=y 1548CONFIG_NFS_V3=y
@@ -1627,6 +1648,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1627CONFIG_ENABLE_MUST_CHECK=y 1648CONFIG_ENABLE_MUST_CHECK=y
1628CONFIG_FRAME_WARN=1024 1649CONFIG_FRAME_WARN=1024
1629CONFIG_MAGIC_SYSRQ=y 1650CONFIG_MAGIC_SYSRQ=y
1651# CONFIG_STRIP_ASM_SYMS is not set
1630# CONFIG_UNUSED_SYMBOLS is not set 1652# CONFIG_UNUSED_SYMBOLS is not set
1631# CONFIG_DEBUG_FS is not set 1653# CONFIG_DEBUG_FS is not set
1632# CONFIG_HEADERS_CHECK is not set 1654# CONFIG_HEADERS_CHECK is not set
@@ -1642,6 +1664,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1642CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1664CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1643CONFIG_TRACING_SUPPORT=y 1665CONFIG_TRACING_SUPPORT=y
1644# CONFIG_FTRACE is not set 1666# CONFIG_FTRACE is not set
1667# CONFIG_DMA_API_DEBUG is not set
1645# CONFIG_SAMPLES is not set 1668# CONFIG_SAMPLES is not set
1646CONFIG_HAVE_ARCH_KGDB=y 1669CONFIG_HAVE_ARCH_KGDB=y
1647# CONFIG_PPC_DISABLE_WERROR is not set 1670# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1663,7 +1686,6 @@ CONFIG_CRYPTO=y
1663# 1686#
1664# Crypto core or helper 1687# Crypto core or helper
1665# 1688#
1666# CONFIG_CRYPTO_FIPS is not set
1667CONFIG_CRYPTO_ALGAPI=y 1689CONFIG_CRYPTO_ALGAPI=y
1668CONFIG_CRYPTO_ALGAPI2=y 1690CONFIG_CRYPTO_ALGAPI2=y
1669CONFIG_CRYPTO_AEAD=m 1691CONFIG_CRYPTO_AEAD=m
@@ -1706,11 +1728,13 @@ CONFIG_CRYPTO_CBC=y
1706# 1728#
1707CONFIG_CRYPTO_HMAC=m 1729CONFIG_CRYPTO_HMAC=m
1708# CONFIG_CRYPTO_XCBC is not set 1730# CONFIG_CRYPTO_XCBC is not set
1731# CONFIG_CRYPTO_VMAC is not set
1709 1732
1710# 1733#
1711# Digest 1734# Digest
1712# 1735#
1713CONFIG_CRYPTO_CRC32C=y 1736CONFIG_CRYPTO_CRC32C=y
1737# CONFIG_CRYPTO_GHASH is not set
1714# CONFIG_CRYPTO_MD4 is not set 1738# CONFIG_CRYPTO_MD4 is not set
1715CONFIG_CRYPTO_MD5=y 1739CONFIG_CRYPTO_MD5=y
1716# CONFIG_CRYPTO_MICHAEL_MIC is not set 1740# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/86xx/gef_sbc610_defconfig b/arch/powerpc/configs/86xx/gef_sbc610_defconfig
index ba47883f4aa0..3b0fbfb28efd 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:30 2009 4# Thu Nov 5 08:20:48 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -36,6 +36,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
39# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 41CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -88,11 +89,12 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
88# 89#
89# RCU Subsystem 90# RCU Subsystem
90# 91#
91CONFIG_CLASSIC_RCU=y 92CONFIG_TREE_RCU=y
92# CONFIG_TREE_RCU is not set 93# CONFIG_TREE_PREEMPT_RCU is not set
93# CONFIG_PREEMPT_RCU is not set 94# CONFIG_RCU_TRACE is not set
95CONFIG_RCU_FANOUT=32
96# CONFIG_RCU_FANOUT_EXACT is not set
94# CONFIG_TREE_RCU_TRACE is not set 97# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_PREEMPT_RCU_TRACE is not set
96CONFIG_IKCONFIG=y 98CONFIG_IKCONFIG=y
97CONFIG_IKCONFIG_PROC=y 99CONFIG_IKCONFIG_PROC=y
98CONFIG_LOG_BUF_SHIFT=14 100CONFIG_LOG_BUF_SHIFT=14
@@ -131,21 +133,20 @@ CONFIG_TIMERFD=y
131CONFIG_EVENTFD=y 133CONFIG_EVENTFD=y
132CONFIG_SHMEM=y 134CONFIG_SHMEM=y
133CONFIG_AIO=y 135CONFIG_AIO=y
134CONFIG_HAVE_PERF_COUNTERS=y 136CONFIG_HAVE_PERF_EVENTS=y
135 137
136# 138#
137# Performance Counters 139# Kernel Performance Events And Counters
138# 140#
141# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set 142# CONFIG_PERF_COUNTERS is not set
140CONFIG_VM_EVENT_COUNTERS=y 143CONFIG_VM_EVENT_COUNTERS=y
141CONFIG_PCI_QUIRKS=y 144CONFIG_PCI_QUIRKS=y
142# CONFIG_STRIP_ASM_SYMS is not set
143CONFIG_COMPAT_BRK=y 145CONFIG_COMPAT_BRK=y
144CONFIG_SLAB=y 146CONFIG_SLAB=y
145# CONFIG_SLUB is not set 147# CONFIG_SLUB is not set
146# CONFIG_SLOB is not set 148# CONFIG_SLOB is not set
147# CONFIG_PROFILING is not set 149# CONFIG_PROFILING is not set
148# CONFIG_MARKERS is not set
149CONFIG_HAVE_OPROFILE=y 150CONFIG_HAVE_OPROFILE=y
150# CONFIG_KPROBES is not set 151# CONFIG_KPROBES is not set
151CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 152CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -153,12 +154,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
153CONFIG_HAVE_KPROBES=y 154CONFIG_HAVE_KPROBES=y
154CONFIG_HAVE_KRETPROBES=y 155CONFIG_HAVE_KRETPROBES=y
155CONFIG_HAVE_ARCH_TRACEHOOK=y 156CONFIG_HAVE_ARCH_TRACEHOOK=y
157CONFIG_HAVE_DMA_ATTRS=y
156CONFIG_USE_GENERIC_SMP_HELPERS=y 158CONFIG_USE_GENERIC_SMP_HELPERS=y
159CONFIG_HAVE_DMA_API_DEBUG=y
157 160
158# 161#
159# GCOV-based kernel profiling 162# GCOV-based kernel profiling
160# 163#
161# CONFIG_SLOW_WORK is not set 164CONFIG_SLOW_WORK=y
162# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 165# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
163CONFIG_SLABINFO=y 166CONFIG_SLABINFO=y
164CONFIG_RT_MUTEXES=y 167CONFIG_RT_MUTEXES=y
@@ -257,6 +260,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
259CONFIG_IRQ_ALL_CPUS=y 262CONFIG_IRQ_ALL_CPUS=y
263CONFIG_MAX_ACTIVE_REGIONS=32
260CONFIG_ARCH_FLATMEM_ENABLE=y 264CONFIG_ARCH_FLATMEM_ENABLE=y
261CONFIG_ARCH_POPULATES_NODE_MAP=y 265CONFIG_ARCH_POPULATES_NODE_MAP=y
262CONFIG_SELECT_MEMORY_MODEL=y 266CONFIG_SELECT_MEMORY_MODEL=y
@@ -274,6 +278,7 @@ CONFIG_BOUNCE=y
274CONFIG_VIRT_TO_BUS=y 278CONFIG_VIRT_TO_BUS=y
275CONFIG_HAVE_MLOCK=y 279CONFIG_HAVE_MLOCK=y
276CONFIG_HAVE_MLOCKED_PAGE_BIT=y 280CONFIG_HAVE_MLOCKED_PAGE_BIT=y
281# CONFIG_KSM is not set
277CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 282CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
278CONFIG_PPC_4K_PAGES=y 283CONFIG_PPC_4K_PAGES=y
279# CONFIG_PPC_16K_PAGES is not set 284# CONFIG_PPC_16K_PAGES is not set
@@ -503,6 +508,7 @@ CONFIG_IP_SCTP=m
503# CONFIG_SCTP_HMAC_NONE is not set 508# CONFIG_SCTP_HMAC_NONE is not set
504# CONFIG_SCTP_HMAC_SHA1 is not set 509# CONFIG_SCTP_HMAC_SHA1 is not set
505CONFIG_SCTP_HMAC_MD5=y 510CONFIG_SCTP_HMAC_MD5=y
511# CONFIG_RDS is not set
506CONFIG_TIPC=m 512CONFIG_TIPC=m
507# CONFIG_TIPC_ADVANCED is not set 513# CONFIG_TIPC_ADVANCED is not set
508# CONFIG_TIPC_DEBUG is not set 514# CONFIG_TIPC_DEBUG is not set
@@ -582,6 +588,7 @@ CONFIG_NET_PKTGEN=m
582CONFIG_FIB_RULES=y 588CONFIG_FIB_RULES=y
583CONFIG_WIRELESS=y 589CONFIG_WIRELESS=y
584# CONFIG_CFG80211 is not set 590# CONFIG_CFG80211 is not set
591CONFIG_CFG80211_DEFAULT_PS_VALUE=0
585CONFIG_WIRELESS_OLD_REGULATORY=y 592CONFIG_WIRELESS_OLD_REGULATORY=y
586# CONFIG_WIRELESS_EXT is not set 593# CONFIG_WIRELESS_EXT is not set
587# CONFIG_LIB80211 is not set 594# CONFIG_LIB80211 is not set
@@ -589,7 +596,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
589# 596#
590# CFG80211 needs to be enabled for MAC80211 597# CFG80211 needs to be enabled for MAC80211
591# 598#
592CONFIG_MAC80211_DEFAULT_PS_VALUE=0
593# CONFIG_WIMAX is not set 599# CONFIG_WIMAX is not set
594# CONFIG_RFKILL is not set 600# CONFIG_RFKILL is not set
595# CONFIG_NET_9P is not set 601# CONFIG_NET_9P is not set
@@ -602,6 +608,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
602# Generic Driver Options 608# Generic Driver Options
603# 609#
604CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 610CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
611# CONFIG_DEVTMPFS is not set
605CONFIG_STANDALONE=y 612CONFIG_STANDALONE=y
606CONFIG_PREVENT_FIRMWARE_BUILD=y 613CONFIG_PREVENT_FIRMWARE_BUILD=y
607# CONFIG_FW_LOADER is not set 614# CONFIG_FW_LOADER is not set
@@ -611,9 +618,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
611# CONFIG_CONNECTOR is not set 618# CONFIG_CONNECTOR is not set
612CONFIG_MTD=y 619CONFIG_MTD=y
613# CONFIG_MTD_DEBUG is not set 620# CONFIG_MTD_DEBUG is not set
621# CONFIG_MTD_TESTS is not set
614CONFIG_MTD_CONCAT=y 622CONFIG_MTD_CONCAT=y
615CONFIG_MTD_PARTITIONS=y 623CONFIG_MTD_PARTITIONS=y
616# CONFIG_MTD_TESTS is not set
617# CONFIG_MTD_REDBOOT_PARTS is not set 624# CONFIG_MTD_REDBOOT_PARTS is not set
618# CONFIG_MTD_CMDLINE_PARTS is not set 625# CONFIG_MTD_CMDLINE_PARTS is not set
619# CONFIG_MTD_OF_PARTS is not set 626# CONFIG_MTD_OF_PARTS is not set
@@ -780,6 +787,7 @@ CONFIG_SCSI_WAIT_SCAN=m
780CONFIG_SCSI_LOWLEVEL=y 787CONFIG_SCSI_LOWLEVEL=y
781# CONFIG_ISCSI_TCP is not set 788# CONFIG_ISCSI_TCP is not set
782# CONFIG_SCSI_BNX2_ISCSI is not set 789# CONFIG_SCSI_BNX2_ISCSI is not set
790# CONFIG_BE2ISCSI is not set
783# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 791# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
784# CONFIG_SCSI_3W_9XXX is not set 792# CONFIG_SCSI_3W_9XXX is not set
785# CONFIG_SCSI_ACARD is not set 793# CONFIG_SCSI_ACARD is not set
@@ -819,11 +827,14 @@ CONFIG_SCSI_LOWLEVEL=y
819# CONFIG_SCSI_DC390T is not set 827# CONFIG_SCSI_DC390T is not set
820# CONFIG_SCSI_NSP32 is not set 828# CONFIG_SCSI_NSP32 is not set
821# CONFIG_SCSI_DEBUG is not set 829# CONFIG_SCSI_DEBUG is not set
830# CONFIG_SCSI_PMCRAID is not set
822# CONFIG_SCSI_SRP is not set 831# CONFIG_SCSI_SRP is not set
832# CONFIG_SCSI_BFA_FC is not set
823# CONFIG_SCSI_DH is not set 833# CONFIG_SCSI_DH is not set
824# CONFIG_SCSI_OSD_INITIATOR is not set 834# CONFIG_SCSI_OSD_INITIATOR is not set
825CONFIG_ATA=y 835CONFIG_ATA=y
826# CONFIG_ATA_NONSTANDARD is not set 836# CONFIG_ATA_NONSTANDARD is not set
837CONFIG_ATA_VERBOSE_ERROR=y
827CONFIG_SATA_PMP=y 838CONFIG_SATA_PMP=y
828# CONFIG_SATA_AHCI is not set 839# CONFIG_SATA_AHCI is not set
829# CONFIG_SATA_SIL24 is not set 840# CONFIG_SATA_SIL24 is not set
@@ -846,6 +857,7 @@ CONFIG_SATA_SIL=y
846# CONFIG_PATA_ALI is not set 857# CONFIG_PATA_ALI is not set
847# CONFIG_PATA_AMD is not set 858# CONFIG_PATA_AMD is not set
848# CONFIG_PATA_ARTOP is not set 859# CONFIG_PATA_ARTOP is not set
860# CONFIG_PATA_ATP867X is not set
849# CONFIG_PATA_ATIIXP is not set 861# CONFIG_PATA_ATIIXP is not set
850# CONFIG_PATA_CMD640_PCI is not set 862# CONFIG_PATA_CMD640_PCI is not set
851# CONFIG_PATA_CMD64X is not set 863# CONFIG_PATA_CMD64X is not set
@@ -873,6 +885,7 @@ CONFIG_SATA_SIL=y
873# CONFIG_PATA_OPTIDMA is not set 885# CONFIG_PATA_OPTIDMA is not set
874# CONFIG_PATA_PDC_OLD is not set 886# CONFIG_PATA_PDC_OLD is not set
875# CONFIG_PATA_RADISYS is not set 887# CONFIG_PATA_RADISYS is not set
888# CONFIG_PATA_RDC is not set
876# CONFIG_PATA_RZ1000 is not set 889# CONFIG_PATA_RZ1000 is not set
877# CONFIG_PATA_SC1200 is not set 890# CONFIG_PATA_SC1200 is not set
878# CONFIG_PATA_SERVERWORKS is not set 891# CONFIG_PATA_SERVERWORKS is not set
@@ -949,7 +962,9 @@ CONFIG_MII=y
949# CONFIG_NET_PCI is not set 962# CONFIG_NET_PCI is not set
950# CONFIG_B44 is not set 963# CONFIG_B44 is not set
951# CONFIG_KS8842 is not set 964# CONFIG_KS8842 is not set
965# CONFIG_KS8851_MLL is not set
952# CONFIG_ATL2 is not set 966# CONFIG_ATL2 is not set
967# CONFIG_XILINX_EMACLITE is not set
953CONFIG_NETDEV_1000=y 968CONFIG_NETDEV_1000=y
954# CONFIG_ACENIC is not set 969# CONFIG_ACENIC is not set
955# CONFIG_DL2K is not set 970# CONFIG_DL2K is not set
@@ -979,10 +994,7 @@ CONFIG_GIANFAR=y
979# CONFIG_JME is not set 994# CONFIG_JME is not set
980# CONFIG_NETDEV_10000 is not set 995# CONFIG_NETDEV_10000 is not set
981# CONFIG_TR is not set 996# CONFIG_TR is not set
982 997CONFIG_WLAN=y
983#
984# Wireless LAN
985#
986# CONFIG_WLAN_PRE80211 is not set 998# CONFIG_WLAN_PRE80211 is not set
987# CONFIG_WLAN_80211 is not set 999# CONFIG_WLAN_80211 is not set
988 1000
@@ -1120,6 +1132,7 @@ CONFIG_HW_RANDOM=y
1120CONFIG_DEVPORT=y 1132CONFIG_DEVPORT=y
1121CONFIG_I2C=y 1133CONFIG_I2C=y
1122CONFIG_I2C_BOARDINFO=y 1134CONFIG_I2C_BOARDINFO=y
1135CONFIG_I2C_COMPAT=y
1123CONFIG_I2C_CHARDEV=y 1136CONFIG_I2C_CHARDEV=y
1124CONFIG_I2C_HELPER_AUTO=y 1137CONFIG_I2C_HELPER_AUTO=y
1125 1138
@@ -1175,9 +1188,6 @@ CONFIG_I2C_MPC=y
1175# Miscellaneous I2C Chip support 1188# Miscellaneous I2C Chip support
1176# 1189#
1177CONFIG_DS1682=y 1190CONFIG_DS1682=y
1178# CONFIG_SENSORS_PCF8574 is not set
1179# CONFIG_PCF8575 is not set
1180# CONFIG_SENSORS_PCA9539 is not set
1181# CONFIG_SENSORS_TSL2550 is not set 1191# CONFIG_SENSORS_TSL2550 is not set
1182# CONFIG_I2C_DEBUG_CORE is not set 1192# CONFIG_I2C_DEBUG_CORE is not set
1183# CONFIG_I2C_DEBUG_ALGO is not set 1193# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1211,14 +1221,24 @@ CONFIG_GPIOLIB=y
1211# PCI GPIO expanders: 1221# PCI GPIO expanders:
1212# 1222#
1213# CONFIG_GPIO_BT8XX is not set 1223# CONFIG_GPIO_BT8XX is not set
1224# CONFIG_GPIO_LANGWELL is not set
1214 1225
1215# 1226#
1216# SPI GPIO expanders: 1227# SPI GPIO expanders:
1217# 1228#
1229
1230#
1231# AC97 GPIO expanders:
1232#
1218# CONFIG_W1 is not set 1233# CONFIG_W1 is not set
1219# CONFIG_POWER_SUPPLY is not set 1234# CONFIG_POWER_SUPPLY is not set
1220CONFIG_HWMON=y 1235CONFIG_HWMON=y
1221# CONFIG_HWMON_VID is not set 1236# CONFIG_HWMON_VID is not set
1237# CONFIG_HWMON_DEBUG_CHIP is not set
1238
1239#
1240# Native drivers
1241#
1222# CONFIG_SENSORS_AD7414 is not set 1242# CONFIG_SENSORS_AD7414 is not set
1223# CONFIG_SENSORS_AD7418 is not set 1243# CONFIG_SENSORS_AD7418 is not set
1224# CONFIG_SENSORS_ADM1021 is not set 1244# CONFIG_SENSORS_ADM1021 is not set
@@ -1269,6 +1289,7 @@ CONFIG_SENSORS_LM92=y
1269# CONFIG_SENSORS_ADS7828 is not set 1289# CONFIG_SENSORS_ADS7828 is not set
1270# CONFIG_SENSORS_THMC50 is not set 1290# CONFIG_SENSORS_THMC50 is not set
1271# CONFIG_SENSORS_TMP401 is not set 1291# CONFIG_SENSORS_TMP401 is not set
1292# CONFIG_SENSORS_TMP421 is not set
1272# CONFIG_SENSORS_VIA686A is not set 1293# CONFIG_SENSORS_VIA686A is not set
1273# CONFIG_SENSORS_VT1211 is not set 1294# CONFIG_SENSORS_VT1211 is not set
1274# CONFIG_SENSORS_VT8231 is not set 1295# CONFIG_SENSORS_VT8231 is not set
@@ -1280,9 +1301,7 @@ CONFIG_SENSORS_LM92=y
1280# CONFIG_SENSORS_W83L786NG is not set 1301# CONFIG_SENSORS_W83L786NG is not set
1281# CONFIG_SENSORS_W83627HF is not set 1302# CONFIG_SENSORS_W83627HF is not set
1282# CONFIG_SENSORS_W83627EHF is not set 1303# CONFIG_SENSORS_W83627EHF is not set
1283# CONFIG_HWMON_DEBUG_CHIP is not set
1284# CONFIG_THERMAL is not set 1304# CONFIG_THERMAL is not set
1285# CONFIG_THERMAL_HWMON is not set
1286CONFIG_WATCHDOG=y 1305CONFIG_WATCHDOG=y
1287# CONFIG_WATCHDOG_NOWAYOUT is not set 1306# CONFIG_WATCHDOG_NOWAYOUT is not set
1288 1307
@@ -1322,6 +1341,7 @@ CONFIG_SSB_POSSIBLE=y
1322# CONFIG_MFD_TMIO is not set 1341# CONFIG_MFD_TMIO is not set
1323# CONFIG_PMIC_DA903X is not set 1342# CONFIG_PMIC_DA903X is not set
1324# CONFIG_MFD_WM8400 is not set 1343# CONFIG_MFD_WM8400 is not set
1344# CONFIG_MFD_WM831X is not set
1325# CONFIG_MFD_WM8350_I2C is not set 1345# CONFIG_MFD_WM8350_I2C is not set
1326# CONFIG_MFD_PCF50633 is not set 1346# CONFIG_MFD_PCF50633 is not set
1327# CONFIG_AB3100_CORE is not set 1347# CONFIG_AB3100_CORE is not set
@@ -1332,6 +1352,7 @@ CONFIG_SSB_POSSIBLE=y
1332# Graphics support 1352# Graphics support
1333# 1353#
1334# CONFIG_AGP is not set 1354# CONFIG_AGP is not set
1355CONFIG_VGA_ARB=y
1335# CONFIG_DRM is not set 1356# CONFIG_DRM is not set
1336# CONFIG_VGASTATE is not set 1357# CONFIG_VGASTATE is not set
1337CONFIG_VIDEO_OUTPUT_CONTROL=m 1358CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1352,7 +1373,6 @@ CONFIG_DUMMY_CONSOLE=y
1352# CONFIG_SOUND is not set 1373# CONFIG_SOUND is not set
1353CONFIG_HID_SUPPORT=y 1374CONFIG_HID_SUPPORT=y
1354CONFIG_HID=y 1375CONFIG_HID=y
1355# CONFIG_HID_DEBUG is not set
1356# CONFIG_HIDRAW is not set 1376# CONFIG_HIDRAW is not set
1357 1377
1358# 1378#
@@ -1375,6 +1395,7 @@ CONFIG_HID_CYPRESS=y
1375CONFIG_HID_EZKEY=y 1395CONFIG_HID_EZKEY=y
1376# CONFIG_HID_KYE is not set 1396# CONFIG_HID_KYE is not set
1377CONFIG_HID_GYRATION=y 1397CONFIG_HID_GYRATION=y
1398# CONFIG_HID_TWINHAN is not set
1378# CONFIG_HID_KENSINGTON is not set 1399# CONFIG_HID_KENSINGTON is not set
1379CONFIG_HID_LOGITECH=y 1400CONFIG_HID_LOGITECH=y
1380# CONFIG_LOGITECH_FF is not set 1401# CONFIG_LOGITECH_FF is not set
@@ -1427,6 +1448,7 @@ CONFIG_USB_EHCI_HCD=y
1427# CONFIG_USB_OXU210HP_HCD is not set 1448# CONFIG_USB_OXU210HP_HCD is not set
1428# CONFIG_USB_ISP116X_HCD is not set 1449# CONFIG_USB_ISP116X_HCD is not set
1429# CONFIG_USB_ISP1760_HCD is not set 1450# CONFIG_USB_ISP1760_HCD is not set
1451# CONFIG_USB_ISP1362_HCD is not set
1430CONFIG_USB_OHCI_HCD=y 1452CONFIG_USB_OHCI_HCD=y
1431# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set 1453# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set
1432# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1454# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1502,6 +1524,7 @@ CONFIG_USB_STORAGE=y
1502# CONFIG_USB_LD is not set 1524# CONFIG_USB_LD is not set
1503# CONFIG_USB_TRANCEVIBRATOR is not set 1525# CONFIG_USB_TRANCEVIBRATOR is not set
1504# CONFIG_USB_IOWARRIOR is not set 1526# CONFIG_USB_IOWARRIOR is not set
1527# CONFIG_USB_TEST is not set
1505# CONFIG_USB_ISIGHTFW is not set 1528# CONFIG_USB_ISIGHTFW is not set
1506# CONFIG_USB_VST is not set 1529# CONFIG_USB_VST is not set
1507# CONFIG_USB_ATM is not set 1530# CONFIG_USB_ATM is not set
@@ -1607,6 +1630,7 @@ CONFIG_FS_POSIX_ACL=y
1607# CONFIG_GFS2_FS is not set 1630# CONFIG_GFS2_FS is not set
1608# CONFIG_OCFS2_FS is not set 1631# CONFIG_OCFS2_FS is not set
1609# CONFIG_BTRFS_FS is not set 1632# CONFIG_BTRFS_FS is not set
1633# CONFIG_NILFS2_FS is not set
1610CONFIG_FILE_LOCKING=y 1634CONFIG_FILE_LOCKING=y
1611CONFIG_FSNOTIFY=y 1635CONFIG_FSNOTIFY=y
1612CONFIG_DNOTIFY=y 1636CONFIG_DNOTIFY=y
@@ -1669,7 +1693,6 @@ CONFIG_MISC_FILESYSTEMS=y
1669# CONFIG_ROMFS_FS is not set 1693# CONFIG_ROMFS_FS is not set
1670# CONFIG_SYSV_FS is not set 1694# CONFIG_SYSV_FS is not set
1671# CONFIG_UFS_FS is not set 1695# CONFIG_UFS_FS is not set
1672# CONFIG_NILFS2_FS is not set
1673CONFIG_NETWORK_FILESYSTEMS=y 1696CONFIG_NETWORK_FILESYSTEMS=y
1674CONFIG_NFS_FS=y 1697CONFIG_NFS_FS=y
1675CONFIG_NFS_V3=y 1698CONFIG_NFS_V3=y
@@ -1775,6 +1798,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1775CONFIG_ENABLE_MUST_CHECK=y 1798CONFIG_ENABLE_MUST_CHECK=y
1776CONFIG_FRAME_WARN=1024 1799CONFIG_FRAME_WARN=1024
1777CONFIG_MAGIC_SYSRQ=y 1800CONFIG_MAGIC_SYSRQ=y
1801# CONFIG_STRIP_ASM_SYMS is not set
1778# CONFIG_UNUSED_SYMBOLS is not set 1802# CONFIG_UNUSED_SYMBOLS is not set
1779# CONFIG_DEBUG_FS is not set 1803# CONFIG_DEBUG_FS is not set
1780# CONFIG_HEADERS_CHECK is not set 1804# CONFIG_HEADERS_CHECK is not set
@@ -1791,6 +1815,7 @@ CONFIG_SCHED_DEBUG=y
1791# CONFIG_TIMER_STATS is not set 1815# CONFIG_TIMER_STATS is not set
1792# CONFIG_DEBUG_OBJECTS is not set 1816# CONFIG_DEBUG_OBJECTS is not set
1793# CONFIG_DEBUG_SLAB is not set 1817# CONFIG_DEBUG_SLAB is not set
1818# CONFIG_DEBUG_KMEMLEAK is not set
1794CONFIG_DEBUG_PREEMPT=y 1819CONFIG_DEBUG_PREEMPT=y
1795# CONFIG_DEBUG_RT_MUTEXES is not set 1820# CONFIG_DEBUG_RT_MUTEXES is not set
1796# CONFIG_RT_MUTEX_TESTER is not set 1821# CONFIG_RT_MUTEX_TESTER is not set
@@ -1810,10 +1835,12 @@ CONFIG_DEBUG_INFO=y
1810# CONFIG_DEBUG_LIST is not set 1835# CONFIG_DEBUG_LIST is not set
1811# CONFIG_DEBUG_SG is not set 1836# CONFIG_DEBUG_SG is not set
1812# CONFIG_DEBUG_NOTIFIERS is not set 1837# CONFIG_DEBUG_NOTIFIERS is not set
1838# CONFIG_DEBUG_CREDENTIALS is not set
1813# CONFIG_RCU_TORTURE_TEST is not set 1839# CONFIG_RCU_TORTURE_TEST is not set
1814# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1840# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1815# CONFIG_BACKTRACE_SELF_TEST is not set 1841# CONFIG_BACKTRACE_SELF_TEST is not set
1816# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1842# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1843# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1817# CONFIG_FAULT_INJECTION is not set 1844# CONFIG_FAULT_INJECTION is not set
1818# CONFIG_LATENCYTOP is not set 1845# CONFIG_LATENCYTOP is not set
1819CONFIG_SYSCTL_SYSCALL_CHECK=y 1846CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1837,10 +1864,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1837# CONFIG_KMEMTRACE is not set 1864# CONFIG_KMEMTRACE is not set
1838# CONFIG_WORKQUEUE_TRACER is not set 1865# CONFIG_WORKQUEUE_TRACER is not set
1839# CONFIG_BLK_DEV_IO_TRACE is not set 1866# CONFIG_BLK_DEV_IO_TRACE is not set
1867# CONFIG_DMA_API_DEBUG is not set
1840# CONFIG_SAMPLES is not set 1868# CONFIG_SAMPLES is not set
1841CONFIG_HAVE_ARCH_KGDB=y 1869CONFIG_HAVE_ARCH_KGDB=y
1842# CONFIG_KGDB is not set 1870# CONFIG_KGDB is not set
1843# CONFIG_KMEMCHECK is not set
1844# CONFIG_PPC_DISABLE_WERROR is not set 1871# CONFIG_PPC_DISABLE_WERROR is not set
1845CONFIG_PPC_WERROR=y 1872CONFIG_PPC_WERROR=y
1846CONFIG_PRINT_STACK_DEPTH=64 1873CONFIG_PRINT_STACK_DEPTH=64
@@ -1872,7 +1899,6 @@ CONFIG_CRYPTO=y
1872# 1899#
1873# Crypto core or helper 1900# Crypto core or helper
1874# 1901#
1875# CONFIG_CRYPTO_FIPS is not set
1876CONFIG_CRYPTO_ALGAPI=y 1902CONFIG_CRYPTO_ALGAPI=y
1877CONFIG_CRYPTO_ALGAPI2=y 1903CONFIG_CRYPTO_ALGAPI2=y
1878CONFIG_CRYPTO_AEAD=m 1904CONFIG_CRYPTO_AEAD=m
@@ -1915,11 +1941,13 @@ CONFIG_CRYPTO_PCBC=m
1915# 1941#
1916CONFIG_CRYPTO_HMAC=y 1942CONFIG_CRYPTO_HMAC=y
1917# CONFIG_CRYPTO_XCBC is not set 1943# CONFIG_CRYPTO_XCBC is not set
1944# CONFIG_CRYPTO_VMAC is not set
1918 1945
1919# 1946#
1920# Digest 1947# Digest
1921# 1948#
1922CONFIG_CRYPTO_CRC32C=m 1949CONFIG_CRYPTO_CRC32C=m
1950# CONFIG_CRYPTO_GHASH is not set
1923CONFIG_CRYPTO_MD4=m 1951CONFIG_CRYPTO_MD4=m
1924CONFIG_CRYPTO_MD5=y 1952CONFIG_CRYPTO_MD5=y
1925CONFIG_CRYPTO_MICHAEL_MIC=m 1953CONFIG_CRYPTO_MICHAEL_MIC=m
diff --git a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
index a61f183f7186..de4d52504fe4 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:27 2009 4# Thu Nov 5 08:20:45 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -83,11 +84,12 @@ CONFIG_SYSVIPC_SYSCTL=y
83# 84#
84# RCU Subsystem 85# RCU Subsystem
85# 86#
86CONFIG_CLASSIC_RCU=y 87CONFIG_TREE_RCU=y
87# CONFIG_TREE_RCU is not set 88# CONFIG_TREE_PREEMPT_RCU is not set
88# CONFIG_PREEMPT_RCU is not set 89# CONFIG_RCU_TRACE is not set
90CONFIG_RCU_FANOUT=32
91# CONFIG_RCU_FANOUT_EXACT is not set
89# CONFIG_TREE_RCU_TRACE is not set 92# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_PREEMPT_RCU_TRACE is not set
91CONFIG_IKCONFIG=y 93CONFIG_IKCONFIG=y
92CONFIG_IKCONFIG_PROC=y 94CONFIG_IKCONFIG_PROC=y
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
@@ -126,22 +128,21 @@ CONFIG_TIMERFD=y
126CONFIG_EVENTFD=y 128CONFIG_EVENTFD=y
127CONFIG_SHMEM=y 129CONFIG_SHMEM=y
128CONFIG_AIO=y 130CONFIG_AIO=y
129CONFIG_HAVE_PERF_COUNTERS=y 131CONFIG_HAVE_PERF_EVENTS=y
130 132
131# 133#
132# Performance Counters 134# Kernel Performance Events And Counters
133# 135#
136# CONFIG_PERF_EVENTS is not set
134# CONFIG_PERF_COUNTERS is not set 137# CONFIG_PERF_COUNTERS is not set
135CONFIG_VM_EVENT_COUNTERS=y 138CONFIG_VM_EVENT_COUNTERS=y
136CONFIG_PCI_QUIRKS=y 139CONFIG_PCI_QUIRKS=y
137CONFIG_SLUB_DEBUG=y 140CONFIG_SLUB_DEBUG=y
138# CONFIG_STRIP_ASM_SYMS is not set
139CONFIG_COMPAT_BRK=y 141CONFIG_COMPAT_BRK=y
140# CONFIG_SLAB is not set 142# CONFIG_SLAB is not set
141CONFIG_SLUB=y 143CONFIG_SLUB=y
142# CONFIG_SLOB is not set 144# CONFIG_SLOB is not set
143# CONFIG_PROFILING is not set 145# CONFIG_PROFILING is not set
144# CONFIG_MARKERS is not set
145CONFIG_HAVE_OPROFILE=y 146CONFIG_HAVE_OPROFILE=y
146# CONFIG_KPROBES is not set 147# CONFIG_KPROBES is not set
147CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 148CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -149,6 +150,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
149CONFIG_HAVE_KPROBES=y 150CONFIG_HAVE_KPROBES=y
150CONFIG_HAVE_KRETPROBES=y 151CONFIG_HAVE_KRETPROBES=y
151CONFIG_HAVE_ARCH_TRACEHOOK=y 152CONFIG_HAVE_ARCH_TRACEHOOK=y
153CONFIG_HAVE_DMA_ATTRS=y
154CONFIG_HAVE_DMA_API_DEBUG=y
152 155
153# 156#
154# GCOV-based kernel profiling 157# GCOV-based kernel profiling
@@ -251,6 +254,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
251CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 254CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
252# CONFIG_KEXEC is not set 255# CONFIG_KEXEC is not set
253# CONFIG_CRASH_DUMP is not set 256# CONFIG_CRASH_DUMP is not set
257CONFIG_MAX_ACTIVE_REGIONS=32
254CONFIG_ARCH_FLATMEM_ENABLE=y 258CONFIG_ARCH_FLATMEM_ENABLE=y
255CONFIG_ARCH_POPULATES_NODE_MAP=y 259CONFIG_ARCH_POPULATES_NODE_MAP=y
256CONFIG_SELECT_MEMORY_MODEL=y 260CONFIG_SELECT_MEMORY_MODEL=y
@@ -268,6 +272,7 @@ CONFIG_BOUNCE=y
268CONFIG_VIRT_TO_BUS=y 272CONFIG_VIRT_TO_BUS=y
269CONFIG_HAVE_MLOCK=y 273CONFIG_HAVE_MLOCK=y
270CONFIG_HAVE_MLOCKED_PAGE_BIT=y 274CONFIG_HAVE_MLOCKED_PAGE_BIT=y
275# CONFIG_KSM is not set
271CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 276CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
272CONFIG_PPC_4K_PAGES=y 277CONFIG_PPC_4K_PAGES=y
273# CONFIG_PPC_16K_PAGES is not set 278# CONFIG_PPC_16K_PAGES is not set
@@ -385,6 +390,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
385# CONFIG_NETFILTER is not set 390# CONFIG_NETFILTER is not set
386# CONFIG_IP_DCCP is not set 391# CONFIG_IP_DCCP is not set
387# CONFIG_IP_SCTP is not set 392# CONFIG_IP_SCTP is not set
393# CONFIG_RDS is not set
388# CONFIG_TIPC is not set 394# CONFIG_TIPC is not set
389# CONFIG_ATM is not set 395# CONFIG_ATM is not set
390# CONFIG_BRIDGE is not set 396# CONFIG_BRIDGE is not set
@@ -414,6 +420,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
414# CONFIG_AF_RXRPC is not set 420# CONFIG_AF_RXRPC is not set
415CONFIG_WIRELESS=y 421CONFIG_WIRELESS=y
416# CONFIG_CFG80211 is not set 422# CONFIG_CFG80211 is not set
423CONFIG_CFG80211_DEFAULT_PS_VALUE=0
417CONFIG_WIRELESS_OLD_REGULATORY=y 424CONFIG_WIRELESS_OLD_REGULATORY=y
418# CONFIG_WIRELESS_EXT is not set 425# CONFIG_WIRELESS_EXT is not set
419# CONFIG_LIB80211 is not set 426# CONFIG_LIB80211 is not set
@@ -421,7 +428,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
421# 428#
422# CFG80211 needs to be enabled for MAC80211 429# CFG80211 needs to be enabled for MAC80211
423# 430#
424CONFIG_MAC80211_DEFAULT_PS_VALUE=0
425# CONFIG_WIMAX is not set 431# CONFIG_WIMAX is not set
426# CONFIG_RFKILL is not set 432# CONFIG_RFKILL is not set
427# CONFIG_NET_9P is not set 433# CONFIG_NET_9P is not set
@@ -434,6 +440,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
434# Generic Driver Options 440# Generic Driver Options
435# 441#
436CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 442CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
443# CONFIG_DEVTMPFS is not set
437CONFIG_STANDALONE=y 444CONFIG_STANDALONE=y
438CONFIG_PREVENT_FIRMWARE_BUILD=y 445CONFIG_PREVENT_FIRMWARE_BUILD=y
439CONFIG_FW_LOADER=y 446CONFIG_FW_LOADER=y
@@ -445,9 +452,9 @@ CONFIG_EXTRA_FIRMWARE=""
445# CONFIG_CONNECTOR is not set 452# CONFIG_CONNECTOR is not set
446CONFIG_MTD=y 453CONFIG_MTD=y
447# CONFIG_MTD_DEBUG is not set 454# CONFIG_MTD_DEBUG is not set
455# CONFIG_MTD_TESTS is not set
448# CONFIG_MTD_CONCAT is not set 456# CONFIG_MTD_CONCAT is not set
449CONFIG_MTD_PARTITIONS=y 457CONFIG_MTD_PARTITIONS=y
450# CONFIG_MTD_TESTS is not set
451# CONFIG_MTD_REDBOOT_PARTS is not set 458# CONFIG_MTD_REDBOOT_PARTS is not set
452CONFIG_MTD_CMDLINE_PARTS=y 459CONFIG_MTD_CMDLINE_PARTS=y
453# CONFIG_MTD_OF_PARTS is not set 460# CONFIG_MTD_OF_PARTS is not set
@@ -662,6 +669,7 @@ CONFIG_SCSI_WAIT_SCAN=m
662CONFIG_SCSI_LOWLEVEL=y 669CONFIG_SCSI_LOWLEVEL=y
663# CONFIG_ISCSI_TCP is not set 670# CONFIG_ISCSI_TCP is not set
664# CONFIG_SCSI_BNX2_ISCSI is not set 671# CONFIG_SCSI_BNX2_ISCSI is not set
672# CONFIG_BE2ISCSI is not set
665# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 673# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
666# CONFIG_SCSI_3W_9XXX is not set 674# CONFIG_SCSI_3W_9XXX is not set
667# CONFIG_SCSI_ACARD is not set 675# CONFIG_SCSI_ACARD is not set
@@ -701,11 +709,14 @@ CONFIG_SCSI_LOWLEVEL=y
701# CONFIG_SCSI_DC390T is not set 709# CONFIG_SCSI_DC390T is not set
702# CONFIG_SCSI_NSP32 is not set 710# CONFIG_SCSI_NSP32 is not set
703# CONFIG_SCSI_DEBUG is not set 711# CONFIG_SCSI_DEBUG is not set
712# CONFIG_SCSI_PMCRAID is not set
704# CONFIG_SCSI_SRP is not set 713# CONFIG_SCSI_SRP is not set
714# CONFIG_SCSI_BFA_FC is not set
705# CONFIG_SCSI_DH is not set 715# CONFIG_SCSI_DH is not set
706# CONFIG_SCSI_OSD_INITIATOR is not set 716# CONFIG_SCSI_OSD_INITIATOR is not set
707CONFIG_ATA=y 717CONFIG_ATA=y
708# CONFIG_ATA_NONSTANDARD is not set 718# CONFIG_ATA_NONSTANDARD is not set
719CONFIG_ATA_VERBOSE_ERROR=y
709CONFIG_SATA_PMP=y 720CONFIG_SATA_PMP=y
710CONFIG_SATA_AHCI=y 721CONFIG_SATA_AHCI=y
711# CONFIG_SATA_SIL24 is not set 722# CONFIG_SATA_SIL24 is not set
@@ -728,6 +739,7 @@ CONFIG_ATA_SFF=y
728CONFIG_PATA_ALI=y 739CONFIG_PATA_ALI=y
729# CONFIG_PATA_AMD is not set 740# CONFIG_PATA_AMD is not set
730# CONFIG_PATA_ARTOP is not set 741# CONFIG_PATA_ARTOP is not set
742# CONFIG_PATA_ATP867X is not set
731# CONFIG_PATA_ATIIXP is not set 743# CONFIG_PATA_ATIIXP is not set
732# CONFIG_PATA_CMD640_PCI is not set 744# CONFIG_PATA_CMD640_PCI is not set
733# CONFIG_PATA_CMD64X is not set 745# CONFIG_PATA_CMD64X is not set
@@ -755,6 +767,7 @@ CONFIG_PATA_ALI=y
755# CONFIG_PATA_OPTIDMA is not set 767# CONFIG_PATA_OPTIDMA is not set
756# CONFIG_PATA_PDC_OLD is not set 768# CONFIG_PATA_PDC_OLD is not set
757# CONFIG_PATA_RADISYS is not set 769# CONFIG_PATA_RADISYS is not set
770# CONFIG_PATA_RDC is not set
758# CONFIG_PATA_RZ1000 is not set 771# CONFIG_PATA_RZ1000 is not set
759# CONFIG_PATA_SC1200 is not set 772# CONFIG_PATA_SC1200 is not set
760# CONFIG_PATA_SERVERWORKS is not set 773# CONFIG_PATA_SERVERWORKS is not set
@@ -818,14 +831,13 @@ CONFIG_ULI526X=y
818# CONFIG_NET_PCI is not set 831# CONFIG_NET_PCI is not set
819# CONFIG_B44 is not set 832# CONFIG_B44 is not set
820# CONFIG_KS8842 is not set 833# CONFIG_KS8842 is not set
834# CONFIG_KS8851_MLL is not set
821# CONFIG_ATL2 is not set 835# CONFIG_ATL2 is not set
836# CONFIG_XILINX_EMACLITE is not set
822# CONFIG_NETDEV_1000 is not set 837# CONFIG_NETDEV_1000 is not set
823# CONFIG_NETDEV_10000 is not set 838# CONFIG_NETDEV_10000 is not set
824# CONFIG_TR is not set 839# CONFIG_TR is not set
825 840CONFIG_WLAN=y
826#
827# Wireless LAN
828#
829# CONFIG_WLAN_PRE80211 is not set 841# CONFIG_WLAN_PRE80211 is not set
830# CONFIG_WLAN_80211 is not set 842# CONFIG_WLAN_80211 is not set
831 843
@@ -929,6 +941,7 @@ CONFIG_UNIX98_PTYS=y
929CONFIG_DEVPORT=y 941CONFIG_DEVPORT=y
930CONFIG_I2C=y 942CONFIG_I2C=y
931CONFIG_I2C_BOARDINFO=y 943CONFIG_I2C_BOARDINFO=y
944CONFIG_I2C_COMPAT=y
932# CONFIG_I2C_CHARDEV is not set 945# CONFIG_I2C_CHARDEV is not set
933CONFIG_I2C_HELPER_AUTO=y 946CONFIG_I2C_HELPER_AUTO=y
934 947
@@ -982,9 +995,6 @@ CONFIG_I2C_MPC=y
982# Miscellaneous I2C Chip support 995# Miscellaneous I2C Chip support
983# 996#
984# CONFIG_DS1682 is not set 997# CONFIG_DS1682 is not set
985# CONFIG_SENSORS_PCF8574 is not set
986# CONFIG_PCF8575 is not set
987# CONFIG_SENSORS_PCA9539 is not set
988# CONFIG_SENSORS_TSL2550 is not set 998# CONFIG_SENSORS_TSL2550 is not set
989# CONFIG_I2C_DEBUG_CORE is not set 999# CONFIG_I2C_DEBUG_CORE is not set
990# CONFIG_I2C_DEBUG_ALGO is not set 1000# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1002,7 +1012,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1002# CONFIG_POWER_SUPPLY is not set 1012# CONFIG_POWER_SUPPLY is not set
1003# CONFIG_HWMON is not set 1013# CONFIG_HWMON is not set
1004# CONFIG_THERMAL is not set 1014# CONFIG_THERMAL is not set
1005# CONFIG_THERMAL_HWMON is not set
1006# CONFIG_WATCHDOG is not set 1015# CONFIG_WATCHDOG is not set
1007CONFIG_SSB_POSSIBLE=y 1016CONFIG_SSB_POSSIBLE=y
1008 1017
@@ -1021,6 +1030,7 @@ CONFIG_SSB_POSSIBLE=y
1021# CONFIG_MFD_TMIO is not set 1030# CONFIG_MFD_TMIO is not set
1022# CONFIG_PMIC_DA903X is not set 1031# CONFIG_PMIC_DA903X is not set
1023# CONFIG_MFD_WM8400 is not set 1032# CONFIG_MFD_WM8400 is not set
1033# CONFIG_MFD_WM831X is not set
1024# CONFIG_MFD_WM8350_I2C is not set 1034# CONFIG_MFD_WM8350_I2C is not set
1025# CONFIG_MFD_PCF50633 is not set 1035# CONFIG_MFD_PCF50633 is not set
1026# CONFIG_AB3100_CORE is not set 1036# CONFIG_AB3100_CORE is not set
@@ -1031,6 +1041,7 @@ CONFIG_SSB_POSSIBLE=y
1031# Graphics support 1041# Graphics support
1032# 1042#
1033# CONFIG_AGP is not set 1043# CONFIG_AGP is not set
1044CONFIG_VGA_ARB=y
1034# CONFIG_DRM is not set 1045# CONFIG_DRM is not set
1035# CONFIG_VGASTATE is not set 1046# CONFIG_VGASTATE is not set
1036CONFIG_VIDEO_OUTPUT_CONTROL=y 1047CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1107,6 +1118,7 @@ CONFIG_DUMMY_CONSOLE=y
1107# CONFIG_LOGO is not set 1118# CONFIG_LOGO is not set
1108CONFIG_SOUND=y 1119CONFIG_SOUND=y
1109CONFIG_SOUND_OSS_CORE=y 1120CONFIG_SOUND_OSS_CORE=y
1121CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1110CONFIG_SND=y 1122CONFIG_SND=y
1111CONFIG_SND_TIMER=y 1123CONFIG_SND_TIMER=y
1112CONFIG_SND_PCM=y 1124CONFIG_SND_PCM=y
@@ -1209,7 +1221,6 @@ CONFIG_SND_SOC_CS4270_VD33_ERRATA=y
1209# CONFIG_SOUND_PRIME is not set 1221# CONFIG_SOUND_PRIME is not set
1210CONFIG_HID_SUPPORT=y 1222CONFIG_HID_SUPPORT=y
1211CONFIG_HID=y 1223CONFIG_HID=y
1212# CONFIG_HID_DEBUG is not set
1213# CONFIG_HIDRAW is not set 1224# CONFIG_HIDRAW is not set
1214# CONFIG_HID_PID is not set 1225# CONFIG_HID_PID is not set
1215 1226
@@ -1329,6 +1340,7 @@ CONFIG_FS_MBCACHE=y
1329# CONFIG_GFS2_FS is not set 1340# CONFIG_GFS2_FS is not set
1330# CONFIG_OCFS2_FS is not set 1341# CONFIG_OCFS2_FS is not set
1331# CONFIG_BTRFS_FS is not set 1342# CONFIG_BTRFS_FS is not set
1343# CONFIG_NILFS2_FS is not set
1332CONFIG_FILE_LOCKING=y 1344CONFIG_FILE_LOCKING=y
1333CONFIG_FSNOTIFY=y 1345CONFIG_FSNOTIFY=y
1334# CONFIG_DNOTIFY is not set 1346# CONFIG_DNOTIFY is not set
@@ -1388,7 +1400,6 @@ CONFIG_MISC_FILESYSTEMS=y
1388# CONFIG_ROMFS_FS is not set 1400# CONFIG_ROMFS_FS is not set
1389# CONFIG_SYSV_FS is not set 1401# CONFIG_SYSV_FS is not set
1390# CONFIG_UFS_FS is not set 1402# CONFIG_UFS_FS is not set
1391# CONFIG_NILFS2_FS is not set
1392CONFIG_NETWORK_FILESYSTEMS=y 1403CONFIG_NETWORK_FILESYSTEMS=y
1393CONFIG_NFS_FS=y 1404CONFIG_NFS_FS=y
1394CONFIG_NFS_V3=y 1405CONFIG_NFS_V3=y
@@ -1505,6 +1516,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1505CONFIG_ENABLE_MUST_CHECK=y 1516CONFIG_ENABLE_MUST_CHECK=y
1506CONFIG_FRAME_WARN=1024 1517CONFIG_FRAME_WARN=1024
1507# CONFIG_MAGIC_SYSRQ is not set 1518# CONFIG_MAGIC_SYSRQ is not set
1519# CONFIG_STRIP_ASM_SYMS is not set
1508# CONFIG_UNUSED_SYMBOLS is not set 1520# CONFIG_UNUSED_SYMBOLS is not set
1509# CONFIG_DEBUG_FS is not set 1521# CONFIG_DEBUG_FS is not set
1510# CONFIG_HEADERS_CHECK is not set 1522# CONFIG_HEADERS_CHECK is not set
@@ -1522,6 +1534,7 @@ CONFIG_SCHED_DEBUG=y
1522# CONFIG_DEBUG_OBJECTS is not set 1534# CONFIG_DEBUG_OBJECTS is not set
1523# CONFIG_SLUB_DEBUG_ON is not set 1535# CONFIG_SLUB_DEBUG_ON is not set
1524# CONFIG_SLUB_STATS is not set 1536# CONFIG_SLUB_STATS is not set
1537# CONFIG_DEBUG_KMEMLEAK is not set
1525# CONFIG_DEBUG_RT_MUTEXES is not set 1538# CONFIG_DEBUG_RT_MUTEXES is not set
1526# CONFIG_RT_MUTEX_TESTER is not set 1539# CONFIG_RT_MUTEX_TESTER is not set
1527# CONFIG_DEBUG_SPINLOCK is not set 1540# CONFIG_DEBUG_SPINLOCK is not set
@@ -1541,10 +1554,12 @@ CONFIG_DEBUG_INFO=y
1541# CONFIG_DEBUG_LIST is not set 1554# CONFIG_DEBUG_LIST is not set
1542# CONFIG_DEBUG_SG is not set 1555# CONFIG_DEBUG_SG is not set
1543# CONFIG_DEBUG_NOTIFIERS is not set 1556# CONFIG_DEBUG_NOTIFIERS is not set
1557# CONFIG_DEBUG_CREDENTIALS is not set
1544# CONFIG_RCU_TORTURE_TEST is not set 1558# CONFIG_RCU_TORTURE_TEST is not set
1545# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1559# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1546# CONFIG_BACKTRACE_SELF_TEST is not set 1560# CONFIG_BACKTRACE_SELF_TEST is not set
1547# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1561# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1562# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1548# CONFIG_FAULT_INJECTION is not set 1563# CONFIG_FAULT_INJECTION is not set
1549# CONFIG_LATENCYTOP is not set 1564# CONFIG_LATENCYTOP is not set
1550CONFIG_SYSCTL_SYSCALL_CHECK=y 1565CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1567,10 +1582,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1567# CONFIG_KMEMTRACE is not set 1582# CONFIG_KMEMTRACE is not set
1568# CONFIG_WORKQUEUE_TRACER is not set 1583# CONFIG_WORKQUEUE_TRACER is not set
1569# CONFIG_BLK_DEV_IO_TRACE is not set 1584# CONFIG_BLK_DEV_IO_TRACE is not set
1585# CONFIG_DMA_API_DEBUG is not set
1570# CONFIG_SAMPLES is not set 1586# CONFIG_SAMPLES is not set
1571CONFIG_HAVE_ARCH_KGDB=y 1587CONFIG_HAVE_ARCH_KGDB=y
1572# CONFIG_KGDB is not set 1588# CONFIG_KGDB is not set
1573# CONFIG_KMEMCHECK is not set
1574# CONFIG_PPC_DISABLE_WERROR is not set 1589# CONFIG_PPC_DISABLE_WERROR is not set
1575CONFIG_PPC_WERROR=y 1590CONFIG_PPC_WERROR=y
1576CONFIG_PRINT_STACK_DEPTH=64 1591CONFIG_PRINT_STACK_DEPTH=64
@@ -1597,7 +1612,6 @@ CONFIG_CRYPTO=y
1597# 1612#
1598# Crypto core or helper 1613# Crypto core or helper
1599# 1614#
1600# CONFIG_CRYPTO_FIPS is not set
1601# CONFIG_CRYPTO_MANAGER is not set 1615# CONFIG_CRYPTO_MANAGER is not set
1602# CONFIG_CRYPTO_MANAGER2 is not set 1616# CONFIG_CRYPTO_MANAGER2 is not set
1603# CONFIG_CRYPTO_GF128MUL is not set 1617# CONFIG_CRYPTO_GF128MUL is not set
@@ -1629,11 +1643,13 @@ CONFIG_CRYPTO=y
1629# 1643#
1630# CONFIG_CRYPTO_HMAC is not set 1644# CONFIG_CRYPTO_HMAC is not set
1631# CONFIG_CRYPTO_XCBC is not set 1645# CONFIG_CRYPTO_XCBC is not set
1646# CONFIG_CRYPTO_VMAC is not set
1632 1647
1633# 1648#
1634# Digest 1649# Digest
1635# 1650#
1636# CONFIG_CRYPTO_CRC32C is not set 1651# CONFIG_CRYPTO_CRC32C is not set
1652# CONFIG_CRYPTO_GHASH is not set
1637# CONFIG_CRYPTO_MD4 is not set 1653# CONFIG_CRYPTO_MD4 is not set
1638# CONFIG_CRYPTO_MD5 is not set 1654# CONFIG_CRYPTO_MD5 is not set
1639# CONFIG_CRYPTO_MICHAEL_MIC is not set 1655# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
index 7016ce732605..754a79ba74a9 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:28 2009 4# Thu Nov 5 08:20:46 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -36,6 +36,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
39# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 41CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -87,11 +88,12 @@ CONFIG_AUDIT=y
87# 88#
88# RCU Subsystem 89# RCU Subsystem
89# 90#
90CONFIG_CLASSIC_RCU=y 91CONFIG_TREE_RCU=y
91# CONFIG_TREE_RCU is not set 92# CONFIG_TREE_PREEMPT_RCU is not set
92# CONFIG_PREEMPT_RCU is not set 93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
93# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
94# CONFIG_PREEMPT_RCU_TRACE is not set
95CONFIG_IKCONFIG=y 97CONFIG_IKCONFIG=y
96CONFIG_IKCONFIG_PROC=y 98CONFIG_IKCONFIG_PROC=y
97CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
@@ -130,22 +132,21 @@ CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y 132CONFIG_EVENTFD=y
131CONFIG_SHMEM=y 133CONFIG_SHMEM=y
132CONFIG_AIO=y 134CONFIG_AIO=y
133CONFIG_HAVE_PERF_COUNTERS=y 135CONFIG_HAVE_PERF_EVENTS=y
134 136
135# 137#
136# Performance Counters 138# Kernel Performance Events And Counters
137# 139#
140# CONFIG_PERF_EVENTS is not set
138# CONFIG_PERF_COUNTERS is not set 141# CONFIG_PERF_COUNTERS is not set
139CONFIG_VM_EVENT_COUNTERS=y 142CONFIG_VM_EVENT_COUNTERS=y
140CONFIG_PCI_QUIRKS=y 143CONFIG_PCI_QUIRKS=y
141CONFIG_SLUB_DEBUG=y 144CONFIG_SLUB_DEBUG=y
142# CONFIG_STRIP_ASM_SYMS is not set
143CONFIG_COMPAT_BRK=y 145CONFIG_COMPAT_BRK=y
144# CONFIG_SLAB is not set 146# CONFIG_SLAB is not set
145CONFIG_SLUB=y 147CONFIG_SLUB=y
146# CONFIG_SLOB is not set 148# CONFIG_SLOB is not set
147# CONFIG_PROFILING is not set 149# CONFIG_PROFILING is not set
148# CONFIG_MARKERS is not set
149CONFIG_HAVE_OPROFILE=y 150CONFIG_HAVE_OPROFILE=y
150# CONFIG_KPROBES is not set 151# CONFIG_KPROBES is not set
151CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 152CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -153,7 +154,9 @@ CONFIG_HAVE_IOREMAP_PROT=y
153CONFIG_HAVE_KPROBES=y 154CONFIG_HAVE_KPROBES=y
154CONFIG_HAVE_KRETPROBES=y 155CONFIG_HAVE_KRETPROBES=y
155CONFIG_HAVE_ARCH_TRACEHOOK=y 156CONFIG_HAVE_ARCH_TRACEHOOK=y
157CONFIG_HAVE_DMA_ATTRS=y
156CONFIG_USE_GENERIC_SMP_HELPERS=y 158CONFIG_USE_GENERIC_SMP_HELPERS=y
159CONFIG_HAVE_DMA_API_DEBUG=y
157 160
158# 161#
159# GCOV-based kernel profiling 162# GCOV-based kernel profiling
@@ -251,13 +254,13 @@ CONFIG_BINFMT_ELF=y
251CONFIG_BINFMT_MISC=m 254CONFIG_BINFMT_MISC=m
252CONFIG_IOMMU_HELPER=y 255CONFIG_IOMMU_HELPER=y
253CONFIG_SWIOTLB=y 256CONFIG_SWIOTLB=y
254CONFIG_PPC_NEED_DMA_SYNC_OPS=y
255CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 257CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
256CONFIG_ARCH_HAS_WALK_MEMORY=y 258CONFIG_ARCH_HAS_WALK_MEMORY=y
257CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
258# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
259# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
260# CONFIG_IRQ_ALL_CPUS is not set 262# CONFIG_IRQ_ALL_CPUS is not set
263CONFIG_MAX_ACTIVE_REGIONS=32
261CONFIG_ARCH_FLATMEM_ENABLE=y 264CONFIG_ARCH_FLATMEM_ENABLE=y
262CONFIG_ARCH_POPULATES_NODE_MAP=y 265CONFIG_ARCH_POPULATES_NODE_MAP=y
263CONFIG_SELECT_MEMORY_MODEL=y 266CONFIG_SELECT_MEMORY_MODEL=y
@@ -275,6 +278,7 @@ CONFIG_BOUNCE=y
275CONFIG_VIRT_TO_BUS=y 278CONFIG_VIRT_TO_BUS=y
276CONFIG_HAVE_MLOCK=y 279CONFIG_HAVE_MLOCK=y
277CONFIG_HAVE_MLOCKED_PAGE_BIT=y 280CONFIG_HAVE_MLOCKED_PAGE_BIT=y
281# CONFIG_KSM is not set
278CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 282CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
279CONFIG_PPC_4K_PAGES=y 283CONFIG_PPC_4K_PAGES=y
280# CONFIG_PPC_16K_PAGES is not set 284# CONFIG_PPC_16K_PAGES is not set
@@ -404,6 +408,7 @@ CONFIG_IP_SCTP=m
404# CONFIG_SCTP_HMAC_NONE is not set 408# CONFIG_SCTP_HMAC_NONE is not set
405# CONFIG_SCTP_HMAC_SHA1 is not set 409# CONFIG_SCTP_HMAC_SHA1 is not set
406CONFIG_SCTP_HMAC_MD5=y 410CONFIG_SCTP_HMAC_MD5=y
411# CONFIG_RDS is not set
407# CONFIG_TIPC is not set 412# CONFIG_TIPC is not set
408# CONFIG_ATM is not set 413# CONFIG_ATM is not set
409# CONFIG_BRIDGE is not set 414# CONFIG_BRIDGE is not set
@@ -434,6 +439,7 @@ CONFIG_SCTP_HMAC_MD5=y
434CONFIG_FIB_RULES=y 439CONFIG_FIB_RULES=y
435CONFIG_WIRELESS=y 440CONFIG_WIRELESS=y
436# CONFIG_CFG80211 is not set 441# CONFIG_CFG80211 is not set
442CONFIG_CFG80211_DEFAULT_PS_VALUE=0
437CONFIG_WIRELESS_OLD_REGULATORY=y 443CONFIG_WIRELESS_OLD_REGULATORY=y
438# CONFIG_WIRELESS_EXT is not set 444# CONFIG_WIRELESS_EXT is not set
439# CONFIG_LIB80211 is not set 445# CONFIG_LIB80211 is not set
@@ -441,7 +447,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
441# 447#
442# CFG80211 needs to be enabled for MAC80211 448# CFG80211 needs to be enabled for MAC80211
443# 449#
444CONFIG_MAC80211_DEFAULT_PS_VALUE=0
445# CONFIG_WIMAX is not set 450# CONFIG_WIMAX is not set
446# CONFIG_RFKILL is not set 451# CONFIG_RFKILL is not set
447# CONFIG_NET_9P is not set 452# CONFIG_NET_9P is not set
@@ -454,6 +459,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
454# Generic Driver Options 459# Generic Driver Options
455# 460#
456CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 461CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
462# CONFIG_DEVTMPFS is not set
457CONFIG_STANDALONE=y 463CONFIG_STANDALONE=y
458CONFIG_PREVENT_FIRMWARE_BUILD=y 464CONFIG_PREVENT_FIRMWARE_BUILD=y
459CONFIG_FW_LOADER=y 465CONFIG_FW_LOADER=y
@@ -546,6 +552,7 @@ CONFIG_SCSI_LOWLEVEL=y
546# CONFIG_ISCSI_TCP is not set 552# CONFIG_ISCSI_TCP is not set
547# CONFIG_SCSI_CXGB3_ISCSI is not set 553# CONFIG_SCSI_CXGB3_ISCSI is not set
548# CONFIG_SCSI_BNX2_ISCSI is not set 554# CONFIG_SCSI_BNX2_ISCSI is not set
555# CONFIG_BE2ISCSI is not set
549# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 556# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
550# CONFIG_SCSI_3W_9XXX is not set 557# CONFIG_SCSI_3W_9XXX is not set
551# CONFIG_SCSI_ACARD is not set 558# CONFIG_SCSI_ACARD is not set
@@ -585,11 +592,14 @@ CONFIG_SCSI_LOWLEVEL=y
585# CONFIG_SCSI_DC390T is not set 592# CONFIG_SCSI_DC390T is not set
586# CONFIG_SCSI_NSP32 is not set 593# CONFIG_SCSI_NSP32 is not set
587# CONFIG_SCSI_DEBUG is not set 594# CONFIG_SCSI_DEBUG is not set
595# CONFIG_SCSI_PMCRAID is not set
588# CONFIG_SCSI_SRP is not set 596# CONFIG_SCSI_SRP is not set
597# CONFIG_SCSI_BFA_FC is not set
589# CONFIG_SCSI_DH is not set 598# CONFIG_SCSI_DH is not set
590# CONFIG_SCSI_OSD_INITIATOR is not set 599# CONFIG_SCSI_OSD_INITIATOR is not set
591CONFIG_ATA=y 600CONFIG_ATA=y
592# CONFIG_ATA_NONSTANDARD is not set 601# CONFIG_ATA_NONSTANDARD is not set
602CONFIG_ATA_VERBOSE_ERROR=y
593CONFIG_SATA_PMP=y 603CONFIG_SATA_PMP=y
594CONFIG_SATA_AHCI=y 604CONFIG_SATA_AHCI=y
595# CONFIG_SATA_SIL24 is not set 605# CONFIG_SATA_SIL24 is not set
@@ -612,6 +622,7 @@ CONFIG_ATA_SFF=y
612CONFIG_PATA_ALI=y 622CONFIG_PATA_ALI=y
613# CONFIG_PATA_AMD is not set 623# CONFIG_PATA_AMD is not set
614# CONFIG_PATA_ARTOP is not set 624# CONFIG_PATA_ARTOP is not set
625# CONFIG_PATA_ATP867X is not set
615# CONFIG_PATA_ATIIXP is not set 626# CONFIG_PATA_ATIIXP is not set
616# CONFIG_PATA_CMD640_PCI is not set 627# CONFIG_PATA_CMD640_PCI is not set
617# CONFIG_PATA_CMD64X is not set 628# CONFIG_PATA_CMD64X is not set
@@ -639,6 +650,7 @@ CONFIG_PATA_ALI=y
639# CONFIG_PATA_OPTIDMA is not set 650# CONFIG_PATA_OPTIDMA is not set
640# CONFIG_PATA_PDC_OLD is not set 651# CONFIG_PATA_PDC_OLD is not set
641# CONFIG_PATA_RADISYS is not set 652# CONFIG_PATA_RADISYS is not set
653# CONFIG_PATA_RDC is not set
642# CONFIG_PATA_RZ1000 is not set 654# CONFIG_PATA_RZ1000 is not set
643# CONFIG_PATA_SC1200 is not set 655# CONFIG_PATA_SC1200 is not set
644# CONFIG_PATA_SERVERWORKS is not set 656# CONFIG_PATA_SERVERWORKS is not set
@@ -715,7 +727,9 @@ CONFIG_MII=y
715# CONFIG_NET_PCI is not set 727# CONFIG_NET_PCI is not set
716# CONFIG_B44 is not set 728# CONFIG_B44 is not set
717# CONFIG_KS8842 is not set 729# CONFIG_KS8842 is not set
730# CONFIG_KS8851_MLL is not set
718# CONFIG_ATL2 is not set 731# CONFIG_ATL2 is not set
732# CONFIG_XILINX_EMACLITE is not set
719CONFIG_NETDEV_1000=y 733CONFIG_NETDEV_1000=y
720# CONFIG_ACENIC is not set 734# CONFIG_ACENIC is not set
721# CONFIG_DL2K is not set 735# CONFIG_DL2K is not set
@@ -763,10 +777,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
763# CONFIG_SFC is not set 777# CONFIG_SFC is not set
764# CONFIG_BE2NET is not set 778# CONFIG_BE2NET is not set
765# CONFIG_TR is not set 779# CONFIG_TR is not set
766 780CONFIG_WLAN=y
767#
768# Wireless LAN
769#
770# CONFIG_WLAN_PRE80211 is not set 781# CONFIG_WLAN_PRE80211 is not set
771# CONFIG_WLAN_80211 is not set 782# CONFIG_WLAN_80211 is not set
772 783
@@ -880,6 +891,7 @@ CONFIG_NVRAM=y
880CONFIG_DEVPORT=y 891CONFIG_DEVPORT=y
881CONFIG_I2C=y 892CONFIG_I2C=y
882CONFIG_I2C_BOARDINFO=y 893CONFIG_I2C_BOARDINFO=y
894CONFIG_I2C_COMPAT=y
883# CONFIG_I2C_CHARDEV is not set 895# CONFIG_I2C_CHARDEV is not set
884CONFIG_I2C_HELPER_AUTO=y 896CONFIG_I2C_HELPER_AUTO=y
885 897
@@ -934,9 +946,6 @@ CONFIG_I2C_MPC=y
934# Miscellaneous I2C Chip support 946# Miscellaneous I2C Chip support
935# 947#
936# CONFIG_DS1682 is not set 948# CONFIG_DS1682 is not set
937# CONFIG_SENSORS_PCF8574 is not set
938# CONFIG_PCF8575 is not set
939# CONFIG_SENSORS_PCA9539 is not set
940# CONFIG_SENSORS_TSL2550 is not set 949# CONFIG_SENSORS_TSL2550 is not set
941# CONFIG_I2C_DEBUG_CORE is not set 950# CONFIG_I2C_DEBUG_CORE is not set
942# CONFIG_I2C_DEBUG_ALGO is not set 951# CONFIG_I2C_DEBUG_ALGO is not set
@@ -954,7 +963,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
954# CONFIG_POWER_SUPPLY is not set 963# CONFIG_POWER_SUPPLY is not set
955# CONFIG_HWMON is not set 964# CONFIG_HWMON is not set
956# CONFIG_THERMAL is not set 965# CONFIG_THERMAL is not set
957# CONFIG_THERMAL_HWMON is not set
958# CONFIG_WATCHDOG is not set 966# CONFIG_WATCHDOG is not set
959CONFIG_SSB_POSSIBLE=y 967CONFIG_SSB_POSSIBLE=y
960 968
@@ -973,6 +981,7 @@ CONFIG_SSB_POSSIBLE=y
973# CONFIG_MFD_TMIO is not set 981# CONFIG_MFD_TMIO is not set
974# CONFIG_PMIC_DA903X is not set 982# CONFIG_PMIC_DA903X is not set
975# CONFIG_MFD_WM8400 is not set 983# CONFIG_MFD_WM8400 is not set
984# CONFIG_MFD_WM831X is not set
976# CONFIG_MFD_WM8350_I2C is not set 985# CONFIG_MFD_WM8350_I2C is not set
977# CONFIG_MFD_PCF50633 is not set 986# CONFIG_MFD_PCF50633 is not set
978# CONFIG_AB3100_CORE is not set 987# CONFIG_AB3100_CORE is not set
@@ -983,6 +992,7 @@ CONFIG_SSB_POSSIBLE=y
983# Graphics support 992# Graphics support
984# 993#
985# CONFIG_AGP is not set 994# CONFIG_AGP is not set
995CONFIG_VGA_ARB=y
986# CONFIG_DRM is not set 996# CONFIG_DRM is not set
987# CONFIG_VGASTATE is not set 997# CONFIG_VGASTATE is not set
988CONFIG_VIDEO_OUTPUT_CONTROL=y 998CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1002,6 +1012,7 @@ CONFIG_VGA_CONSOLE=y
1002CONFIG_DUMMY_CONSOLE=y 1012CONFIG_DUMMY_CONSOLE=y
1003CONFIG_SOUND=y 1013CONFIG_SOUND=y
1004CONFIG_SOUND_OSS_CORE=y 1014CONFIG_SOUND_OSS_CORE=y
1015CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1005CONFIG_SND=y 1016CONFIG_SND=y
1006CONFIG_SND_TIMER=y 1017CONFIG_SND_TIMER=y
1007CONFIG_SND_PCM=y 1018CONFIG_SND_PCM=y
@@ -1105,7 +1116,6 @@ CONFIG_SND_USB=y
1105CONFIG_AC97_BUS=y 1116CONFIG_AC97_BUS=y
1106CONFIG_HID_SUPPORT=y 1117CONFIG_HID_SUPPORT=y
1107CONFIG_HID=y 1118CONFIG_HID=y
1108# CONFIG_HID_DEBUG is not set
1109# CONFIG_HIDRAW is not set 1119# CONFIG_HIDRAW is not set
1110 1120
1111# 1121#
@@ -1128,6 +1138,7 @@ CONFIG_HID_CYPRESS=y
1128CONFIG_HID_EZKEY=y 1138CONFIG_HID_EZKEY=y
1129# CONFIG_HID_KYE is not set 1139# CONFIG_HID_KYE is not set
1130CONFIG_HID_GYRATION=y 1140CONFIG_HID_GYRATION=y
1141# CONFIG_HID_TWINHAN is not set
1131# CONFIG_HID_KENSINGTON is not set 1142# CONFIG_HID_KENSINGTON is not set
1132CONFIG_HID_LOGITECH=y 1143CONFIG_HID_LOGITECH=y
1133# CONFIG_LOGITECH_FF is not set 1144# CONFIG_LOGITECH_FF is not set
@@ -1180,6 +1191,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1180# CONFIG_USB_OXU210HP_HCD is not set 1191# CONFIG_USB_OXU210HP_HCD is not set
1181# CONFIG_USB_ISP116X_HCD is not set 1192# CONFIG_USB_ISP116X_HCD is not set
1182# CONFIG_USB_ISP1760_HCD is not set 1193# CONFIG_USB_ISP1760_HCD is not set
1194# CONFIG_USB_ISP1362_HCD is not set
1183CONFIG_USB_OHCI_HCD=y 1195CONFIG_USB_OHCI_HCD=y
1184CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1196CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1185CONFIG_USB_OHCI_HCD_PPC_OF_LE=y 1197CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
@@ -1358,6 +1370,7 @@ CONFIG_FS_MBCACHE=y
1358# CONFIG_GFS2_FS is not set 1370# CONFIG_GFS2_FS is not set
1359# CONFIG_OCFS2_FS is not set 1371# CONFIG_OCFS2_FS is not set
1360# CONFIG_BTRFS_FS is not set 1372# CONFIG_BTRFS_FS is not set
1373# CONFIG_NILFS2_FS is not set
1361CONFIG_FILE_LOCKING=y 1374CONFIG_FILE_LOCKING=y
1362CONFIG_FSNOTIFY=y 1375CONFIG_FSNOTIFY=y
1363CONFIG_DNOTIFY=y 1376CONFIG_DNOTIFY=y
@@ -1428,7 +1441,6 @@ CONFIG_SYSV_FS=m
1428CONFIG_UFS_FS=m 1441CONFIG_UFS_FS=m
1429# CONFIG_UFS_FS_WRITE is not set 1442# CONFIG_UFS_FS_WRITE is not set
1430# CONFIG_UFS_DEBUG is not set 1443# CONFIG_UFS_DEBUG is not set
1431# CONFIG_NILFS2_FS is not set
1432CONFIG_NETWORK_FILESYSTEMS=y 1444CONFIG_NETWORK_FILESYSTEMS=y
1433CONFIG_NFS_FS=y 1445CONFIG_NFS_FS=y
1434CONFIG_NFS_V3=y 1446CONFIG_NFS_V3=y
@@ -1546,6 +1558,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1546CONFIG_ENABLE_MUST_CHECK=y 1558CONFIG_ENABLE_MUST_CHECK=y
1547CONFIG_FRAME_WARN=1024 1559CONFIG_FRAME_WARN=1024
1548# CONFIG_MAGIC_SYSRQ is not set 1560# CONFIG_MAGIC_SYSRQ is not set
1561# CONFIG_STRIP_ASM_SYMS is not set
1549# CONFIG_UNUSED_SYMBOLS is not set 1562# CONFIG_UNUSED_SYMBOLS is not set
1550# CONFIG_DEBUG_FS is not set 1563# CONFIG_DEBUG_FS is not set
1551# CONFIG_HEADERS_CHECK is not set 1564# CONFIG_HEADERS_CHECK is not set
@@ -1563,6 +1576,7 @@ CONFIG_SCHED_DEBUG=y
1563# CONFIG_DEBUG_OBJECTS is not set 1576# CONFIG_DEBUG_OBJECTS is not set
1564# CONFIG_SLUB_DEBUG_ON is not set 1577# CONFIG_SLUB_DEBUG_ON is not set
1565# CONFIG_SLUB_STATS is not set 1578# CONFIG_SLUB_STATS is not set
1579# CONFIG_DEBUG_KMEMLEAK is not set
1566# CONFIG_DEBUG_RT_MUTEXES is not set 1580# CONFIG_DEBUG_RT_MUTEXES is not set
1567# CONFIG_RT_MUTEX_TESTER is not set 1581# CONFIG_RT_MUTEX_TESTER is not set
1568# CONFIG_DEBUG_SPINLOCK is not set 1582# CONFIG_DEBUG_SPINLOCK is not set
@@ -1582,10 +1596,12 @@ CONFIG_DEBUG_INFO=y
1582# CONFIG_DEBUG_LIST is not set 1596# CONFIG_DEBUG_LIST is not set
1583# CONFIG_DEBUG_SG is not set 1597# CONFIG_DEBUG_SG is not set
1584# CONFIG_DEBUG_NOTIFIERS is not set 1598# CONFIG_DEBUG_NOTIFIERS is not set
1599# CONFIG_DEBUG_CREDENTIALS is not set
1585# CONFIG_RCU_TORTURE_TEST is not set 1600# CONFIG_RCU_TORTURE_TEST is not set
1586# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1601# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1587# CONFIG_BACKTRACE_SELF_TEST is not set 1602# CONFIG_BACKTRACE_SELF_TEST is not set
1588# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1603# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1604# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1589# CONFIG_FAULT_INJECTION is not set 1605# CONFIG_FAULT_INJECTION is not set
1590# CONFIG_LATENCYTOP is not set 1606# CONFIG_LATENCYTOP is not set
1591CONFIG_SYSCTL_SYSCALL_CHECK=y 1607CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1608,10 +1624,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1608# CONFIG_KMEMTRACE is not set 1624# CONFIG_KMEMTRACE is not set
1609# CONFIG_WORKQUEUE_TRACER is not set 1625# CONFIG_WORKQUEUE_TRACER is not set
1610# CONFIG_BLK_DEV_IO_TRACE is not set 1626# CONFIG_BLK_DEV_IO_TRACE is not set
1627# CONFIG_DMA_API_DEBUG is not set
1611# CONFIG_SAMPLES is not set 1628# CONFIG_SAMPLES is not set
1612CONFIG_HAVE_ARCH_KGDB=y 1629CONFIG_HAVE_ARCH_KGDB=y
1613# CONFIG_KGDB is not set 1630# CONFIG_KGDB is not set
1614# CONFIG_KMEMCHECK is not set
1615# CONFIG_PPC_DISABLE_WERROR is not set 1631# CONFIG_PPC_DISABLE_WERROR is not set
1616CONFIG_PPC_WERROR=y 1632CONFIG_PPC_WERROR=y
1617CONFIG_PRINT_STACK_DEPTH=64 1633CONFIG_PRINT_STACK_DEPTH=64
@@ -1638,7 +1654,6 @@ CONFIG_CRYPTO=y
1638# 1654#
1639# Crypto core or helper 1655# Crypto core or helper
1640# 1656#
1641# CONFIG_CRYPTO_FIPS is not set
1642CONFIG_CRYPTO_ALGAPI=y 1657CONFIG_CRYPTO_ALGAPI=y
1643CONFIG_CRYPTO_ALGAPI2=y 1658CONFIG_CRYPTO_ALGAPI2=y
1644CONFIG_CRYPTO_AEAD2=y 1659CONFIG_CRYPTO_AEAD2=y
@@ -1680,11 +1695,13 @@ CONFIG_CRYPTO_PCBC=m
1680# 1695#
1681CONFIG_CRYPTO_HMAC=y 1696CONFIG_CRYPTO_HMAC=y
1682# CONFIG_CRYPTO_XCBC is not set 1697# CONFIG_CRYPTO_XCBC is not set
1698# CONFIG_CRYPTO_VMAC is not set
1683 1699
1684# 1700#
1685# Digest 1701# Digest
1686# 1702#
1687CONFIG_CRYPTO_CRC32C=m 1703CONFIG_CRYPTO_CRC32C=m
1704# CONFIG_CRYPTO_GHASH is not set
1688# CONFIG_CRYPTO_MD4 is not set 1705# CONFIG_CRYPTO_MD4 is not set
1689CONFIG_CRYPTO_MD5=y 1706CONFIG_CRYPTO_MD5=y
1690# CONFIG_CRYPTO_MICHAEL_MIC is not set 1707# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/86xx/sbc8641d_defconfig b/arch/powerpc/configs/86xx/sbc8641d_defconfig
index f5ca2e0cd402..89991f157ae8 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:26 2009 4# Thu Nov 5 08:20:45 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -36,6 +36,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
39# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 41CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -87,11 +88,12 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
87# 88#
88# RCU Subsystem 89# RCU Subsystem
89# 90#
90CONFIG_CLASSIC_RCU=y 91CONFIG_TREE_RCU=y
91# CONFIG_TREE_RCU is not set 92# CONFIG_TREE_PREEMPT_RCU is not set
92# CONFIG_PREEMPT_RCU is not set 93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
93# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
94# CONFIG_PREEMPT_RCU_TRACE is not set
95CONFIG_IKCONFIG=y 97CONFIG_IKCONFIG=y
96CONFIG_IKCONFIG_PROC=y 98CONFIG_IKCONFIG_PROC=y
97CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
@@ -130,21 +132,20 @@ CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y 132CONFIG_EVENTFD=y
131CONFIG_SHMEM=y 133CONFIG_SHMEM=y
132CONFIG_AIO=y 134CONFIG_AIO=y
133CONFIG_HAVE_PERF_COUNTERS=y 135CONFIG_HAVE_PERF_EVENTS=y
134 136
135# 137#
136# Performance Counters 138# Kernel Performance Events And Counters
137# 139#
140# CONFIG_PERF_EVENTS is not set
138# CONFIG_PERF_COUNTERS is not set 141# CONFIG_PERF_COUNTERS is not set
139CONFIG_VM_EVENT_COUNTERS=y 142CONFIG_VM_EVENT_COUNTERS=y
140CONFIG_PCI_QUIRKS=y 143CONFIG_PCI_QUIRKS=y
141# CONFIG_STRIP_ASM_SYMS is not set
142CONFIG_COMPAT_BRK=y 144CONFIG_COMPAT_BRK=y
143CONFIG_SLAB=y 145CONFIG_SLAB=y
144# CONFIG_SLUB is not set 146# CONFIG_SLUB is not set
145# CONFIG_SLOB is not set 147# CONFIG_SLOB is not set
146# CONFIG_PROFILING is not set 148# CONFIG_PROFILING is not set
147# CONFIG_MARKERS is not set
148CONFIG_HAVE_OPROFILE=y 149CONFIG_HAVE_OPROFILE=y
149# CONFIG_KPROBES is not set 150# CONFIG_KPROBES is not set
150CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 151CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -152,13 +153,15 @@ CONFIG_HAVE_IOREMAP_PROT=y
152CONFIG_HAVE_KPROBES=y 153CONFIG_HAVE_KPROBES=y
153CONFIG_HAVE_KRETPROBES=y 154CONFIG_HAVE_KRETPROBES=y
154CONFIG_HAVE_ARCH_TRACEHOOK=y 155CONFIG_HAVE_ARCH_TRACEHOOK=y
156CONFIG_HAVE_DMA_ATTRS=y
155CONFIG_USE_GENERIC_SMP_HELPERS=y 157CONFIG_USE_GENERIC_SMP_HELPERS=y
158CONFIG_HAVE_DMA_API_DEBUG=y
156 159
157# 160#
158# GCOV-based kernel profiling 161# GCOV-based kernel profiling
159# 162#
160# CONFIG_GCOV_KERNEL is not set 163# CONFIG_GCOV_KERNEL is not set
161# CONFIG_SLOW_WORK is not set 164CONFIG_SLOW_WORK=y
162# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 165# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
163CONFIG_SLABINFO=y 166CONFIG_SLABINFO=y
164CONFIG_RT_MUTEXES=y 167CONFIG_RT_MUTEXES=y
@@ -257,6 +260,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
257# CONFIG_KEXEC is not set 260# CONFIG_KEXEC is not set
258# CONFIG_CRASH_DUMP is not set 261# CONFIG_CRASH_DUMP is not set
259CONFIG_IRQ_ALL_CPUS=y 262CONFIG_IRQ_ALL_CPUS=y
263CONFIG_MAX_ACTIVE_REGIONS=32
260CONFIG_ARCH_FLATMEM_ENABLE=y 264CONFIG_ARCH_FLATMEM_ENABLE=y
261CONFIG_ARCH_POPULATES_NODE_MAP=y 265CONFIG_ARCH_POPULATES_NODE_MAP=y
262CONFIG_SELECT_MEMORY_MODEL=y 266CONFIG_SELECT_MEMORY_MODEL=y
@@ -274,6 +278,7 @@ CONFIG_BOUNCE=y
274CONFIG_VIRT_TO_BUS=y 278CONFIG_VIRT_TO_BUS=y
275CONFIG_HAVE_MLOCK=y 279CONFIG_HAVE_MLOCK=y
276CONFIG_HAVE_MLOCKED_PAGE_BIT=y 280CONFIG_HAVE_MLOCKED_PAGE_BIT=y
281# CONFIG_KSM is not set
277CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 282CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
278CONFIG_PPC_4K_PAGES=y 283CONFIG_PPC_4K_PAGES=y
279# CONFIG_PPC_16K_PAGES is not set 284# CONFIG_PPC_16K_PAGES is not set
@@ -502,6 +507,7 @@ CONFIG_IP_SCTP=m
502# CONFIG_SCTP_HMAC_NONE is not set 507# CONFIG_SCTP_HMAC_NONE is not set
503# CONFIG_SCTP_HMAC_SHA1 is not set 508# CONFIG_SCTP_HMAC_SHA1 is not set
504CONFIG_SCTP_HMAC_MD5=y 509CONFIG_SCTP_HMAC_MD5=y
510# CONFIG_RDS is not set
505CONFIG_TIPC=m 511CONFIG_TIPC=m
506# CONFIG_TIPC_ADVANCED is not set 512# CONFIG_TIPC_ADVANCED is not set
507# CONFIG_TIPC_DEBUG is not set 513# CONFIG_TIPC_DEBUG is not set
@@ -581,6 +587,7 @@ CONFIG_NET_PKTGEN=m
581CONFIG_FIB_RULES=y 587CONFIG_FIB_RULES=y
582CONFIG_WIRELESS=y 588CONFIG_WIRELESS=y
583# CONFIG_CFG80211 is not set 589# CONFIG_CFG80211 is not set
590CONFIG_CFG80211_DEFAULT_PS_VALUE=0
584CONFIG_WIRELESS_OLD_REGULATORY=y 591CONFIG_WIRELESS_OLD_REGULATORY=y
585# CONFIG_WIRELESS_EXT is not set 592# CONFIG_WIRELESS_EXT is not set
586# CONFIG_LIB80211 is not set 593# CONFIG_LIB80211 is not set
@@ -588,7 +595,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
588# 595#
589# CFG80211 needs to be enabled for MAC80211 596# CFG80211 needs to be enabled for MAC80211
590# 597#
591CONFIG_MAC80211_DEFAULT_PS_VALUE=0
592# CONFIG_WIMAX is not set 598# CONFIG_WIMAX is not set
593# CONFIG_RFKILL is not set 599# CONFIG_RFKILL is not set
594# CONFIG_NET_9P is not set 600# CONFIG_NET_9P is not set
@@ -601,6 +607,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
601# Generic Driver Options 607# Generic Driver Options
602# 608#
603CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 609CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
610# CONFIG_DEVTMPFS is not set
604CONFIG_STANDALONE=y 611CONFIG_STANDALONE=y
605CONFIG_PREVENT_FIRMWARE_BUILD=y 612CONFIG_PREVENT_FIRMWARE_BUILD=y
606# CONFIG_FW_LOADER is not set 613# CONFIG_FW_LOADER is not set
@@ -610,9 +617,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
610# CONFIG_CONNECTOR is not set 617# CONFIG_CONNECTOR is not set
611CONFIG_MTD=y 618CONFIG_MTD=y
612# CONFIG_MTD_DEBUG is not set 619# CONFIG_MTD_DEBUG is not set
620# CONFIG_MTD_TESTS is not set
613CONFIG_MTD_CONCAT=y 621CONFIG_MTD_CONCAT=y
614CONFIG_MTD_PARTITIONS=y 622CONFIG_MTD_PARTITIONS=y
615# CONFIG_MTD_TESTS is not set
616# CONFIG_MTD_REDBOOT_PARTS is not set 623# CONFIG_MTD_REDBOOT_PARTS is not set
617# CONFIG_MTD_CMDLINE_PARTS is not set 624# CONFIG_MTD_CMDLINE_PARTS is not set
618# CONFIG_MTD_OF_PARTS is not set 625# CONFIG_MTD_OF_PARTS is not set
@@ -833,7 +840,9 @@ CONFIG_MII=y
833# CONFIG_NET_PCI is not set 840# CONFIG_NET_PCI is not set
834# CONFIG_B44 is not set 841# CONFIG_B44 is not set
835# CONFIG_KS8842 is not set 842# CONFIG_KS8842 is not set
843# CONFIG_KS8851_MLL is not set
836# CONFIG_ATL2 is not set 844# CONFIG_ATL2 is not set
845# CONFIG_XILINX_EMACLITE is not set
837CONFIG_NETDEV_1000=y 846CONFIG_NETDEV_1000=y
838# CONFIG_ACENIC is not set 847# CONFIG_ACENIC is not set
839# CONFIG_DL2K is not set 848# CONFIG_DL2K is not set
@@ -863,10 +872,7 @@ CONFIG_GIANFAR=y
863# CONFIG_JME is not set 872# CONFIG_JME is not set
864# CONFIG_NETDEV_10000 is not set 873# CONFIG_NETDEV_10000 is not set
865# CONFIG_TR is not set 874# CONFIG_TR is not set
866 875CONFIG_WLAN=y
867#
868# Wireless LAN
869#
870# CONFIG_WLAN_PRE80211 is not set 876# CONFIG_WLAN_PRE80211 is not set
871# CONFIG_WLAN_80211 is not set 877# CONFIG_WLAN_80211 is not set
872 878
@@ -996,6 +1002,7 @@ CONFIG_HW_RANDOM=m
996CONFIG_DEVPORT=y 1002CONFIG_DEVPORT=y
997CONFIG_I2C=y 1003CONFIG_I2C=y
998CONFIG_I2C_BOARDINFO=y 1004CONFIG_I2C_BOARDINFO=y
1005CONFIG_I2C_COMPAT=y
999CONFIG_I2C_CHARDEV=y 1006CONFIG_I2C_CHARDEV=y
1000CONFIG_I2C_HELPER_AUTO=y 1007CONFIG_I2C_HELPER_AUTO=y
1001 1008
@@ -1049,9 +1056,6 @@ CONFIG_I2C_MPC=y
1049# Miscellaneous I2C Chip support 1056# Miscellaneous I2C Chip support
1050# 1057#
1051# CONFIG_DS1682 is not set 1058# CONFIG_DS1682 is not set
1052# CONFIG_SENSORS_PCF8574 is not set
1053# CONFIG_PCF8575 is not set
1054# CONFIG_SENSORS_PCA9539 is not set
1055# CONFIG_SENSORS_TSL2550 is not set 1059# CONFIG_SENSORS_TSL2550 is not set
1056# CONFIG_I2C_DEBUG_CORE is not set 1060# CONFIG_I2C_DEBUG_CORE is not set
1057# CONFIG_I2C_DEBUG_ALGO is not set 1061# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1069,6 +1073,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1069# CONFIG_POWER_SUPPLY is not set 1073# CONFIG_POWER_SUPPLY is not set
1070CONFIG_HWMON=y 1074CONFIG_HWMON=y
1071# CONFIG_HWMON_VID is not set 1075# CONFIG_HWMON_VID is not set
1076# CONFIG_HWMON_DEBUG_CHIP is not set
1077
1078#
1079# Native drivers
1080#
1072# CONFIG_SENSORS_AD7414 is not set 1081# CONFIG_SENSORS_AD7414 is not set
1073# CONFIG_SENSORS_AD7418 is not set 1082# CONFIG_SENSORS_AD7418 is not set
1074# CONFIG_SENSORS_ADM1021 is not set 1083# CONFIG_SENSORS_ADM1021 is not set
@@ -1118,6 +1127,7 @@ CONFIG_HWMON=y
1118# CONFIG_SENSORS_ADS7828 is not set 1127# CONFIG_SENSORS_ADS7828 is not set
1119# CONFIG_SENSORS_THMC50 is not set 1128# CONFIG_SENSORS_THMC50 is not set
1120# CONFIG_SENSORS_TMP401 is not set 1129# CONFIG_SENSORS_TMP401 is not set
1130# CONFIG_SENSORS_TMP421 is not set
1121# CONFIG_SENSORS_VIA686A is not set 1131# CONFIG_SENSORS_VIA686A is not set
1122# CONFIG_SENSORS_VT1211 is not set 1132# CONFIG_SENSORS_VT1211 is not set
1123# CONFIG_SENSORS_VT8231 is not set 1133# CONFIG_SENSORS_VT8231 is not set
@@ -1129,9 +1139,7 @@ CONFIG_HWMON=y
1129# CONFIG_SENSORS_W83L786NG is not set 1139# CONFIG_SENSORS_W83L786NG is not set
1130# CONFIG_SENSORS_W83627HF is not set 1140# CONFIG_SENSORS_W83627HF is not set
1131# CONFIG_SENSORS_W83627EHF is not set 1141# CONFIG_SENSORS_W83627EHF is not set
1132# CONFIG_HWMON_DEBUG_CHIP is not set
1133# CONFIG_THERMAL is not set 1142# CONFIG_THERMAL is not set
1134# CONFIG_THERMAL_HWMON is not set
1135CONFIG_WATCHDOG=y 1143CONFIG_WATCHDOG=y
1136# CONFIG_WATCHDOG_NOWAYOUT is not set 1144# CONFIG_WATCHDOG_NOWAYOUT is not set
1137 1145
@@ -1164,6 +1172,7 @@ CONFIG_SSB_POSSIBLE=y
1164# CONFIG_MFD_TMIO is not set 1172# CONFIG_MFD_TMIO is not set
1165# CONFIG_PMIC_DA903X is not set 1173# CONFIG_PMIC_DA903X is not set
1166# CONFIG_MFD_WM8400 is not set 1174# CONFIG_MFD_WM8400 is not set
1175# CONFIG_MFD_WM831X is not set
1167# CONFIG_MFD_WM8350_I2C is not set 1176# CONFIG_MFD_WM8350_I2C is not set
1168# CONFIG_MFD_PCF50633 is not set 1177# CONFIG_MFD_PCF50633 is not set
1169# CONFIG_AB3100_CORE is not set 1178# CONFIG_AB3100_CORE is not set
@@ -1174,6 +1183,7 @@ CONFIG_SSB_POSSIBLE=y
1174# Graphics support 1183# Graphics support
1175# 1184#
1176# CONFIG_AGP is not set 1185# CONFIG_AGP is not set
1186CONFIG_VGA_ARB=y
1177# CONFIG_DRM is not set 1187# CONFIG_DRM is not set
1178# CONFIG_VGASTATE is not set 1188# CONFIG_VGASTATE is not set
1179CONFIG_VIDEO_OUTPUT_CONTROL=m 1189CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1194,7 +1204,6 @@ CONFIG_DUMMY_CONSOLE=y
1194# CONFIG_SOUND is not set 1204# CONFIG_SOUND is not set
1195CONFIG_HID_SUPPORT=y 1205CONFIG_HID_SUPPORT=y
1196CONFIG_HID=y 1206CONFIG_HID=y
1197# CONFIG_HID_DEBUG is not set
1198# CONFIG_HIDRAW is not set 1207# CONFIG_HIDRAW is not set
1199# CONFIG_HID_PID is not set 1208# CONFIG_HID_PID is not set
1200 1209
@@ -1274,6 +1283,7 @@ CONFIG_OCFS2_DEBUG_MASKLOG=y
1274# CONFIG_OCFS2_DEBUG_FS is not set 1283# CONFIG_OCFS2_DEBUG_FS is not set
1275# CONFIG_OCFS2_FS_POSIX_ACL is not set 1284# CONFIG_OCFS2_FS_POSIX_ACL is not set
1276# CONFIG_BTRFS_FS is not set 1285# CONFIG_BTRFS_FS is not set
1286# CONFIG_NILFS2_FS is not set
1277CONFIG_FILE_LOCKING=y 1287CONFIG_FILE_LOCKING=y
1278CONFIG_FSNOTIFY=y 1288CONFIG_FSNOTIFY=y
1279CONFIG_DNOTIFY=y 1289CONFIG_DNOTIFY=y
@@ -1343,7 +1353,6 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y
1343CONFIG_ROMFS_ON_BLOCK=y 1353CONFIG_ROMFS_ON_BLOCK=y
1344# CONFIG_SYSV_FS is not set 1354# CONFIG_SYSV_FS is not set
1345# CONFIG_UFS_FS is not set 1355# CONFIG_UFS_FS is not set
1346# CONFIG_NILFS2_FS is not set
1347CONFIG_NETWORK_FILESYSTEMS=y 1356CONFIG_NETWORK_FILESYSTEMS=y
1348CONFIG_NFS_FS=y 1357CONFIG_NFS_FS=y
1349CONFIG_NFS_V3=y 1358CONFIG_NFS_V3=y
@@ -1451,6 +1460,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1451CONFIG_ENABLE_MUST_CHECK=y 1460CONFIG_ENABLE_MUST_CHECK=y
1452CONFIG_FRAME_WARN=1024 1461CONFIG_FRAME_WARN=1024
1453CONFIG_MAGIC_SYSRQ=y 1462CONFIG_MAGIC_SYSRQ=y
1463# CONFIG_STRIP_ASM_SYMS is not set
1454# CONFIG_UNUSED_SYMBOLS is not set 1464# CONFIG_UNUSED_SYMBOLS is not set
1455CONFIG_DEBUG_FS=y 1465CONFIG_DEBUG_FS=y
1456# CONFIG_HEADERS_CHECK is not set 1466# CONFIG_HEADERS_CHECK is not set
@@ -1467,6 +1477,7 @@ CONFIG_SCHED_DEBUG=y
1467# CONFIG_TIMER_STATS is not set 1477# CONFIG_TIMER_STATS is not set
1468# CONFIG_DEBUG_OBJECTS is not set 1478# CONFIG_DEBUG_OBJECTS is not set
1469# CONFIG_DEBUG_SLAB is not set 1479# CONFIG_DEBUG_SLAB is not set
1480# CONFIG_DEBUG_KMEMLEAK is not set
1470CONFIG_DEBUG_PREEMPT=y 1481CONFIG_DEBUG_PREEMPT=y
1471# CONFIG_DEBUG_RT_MUTEXES is not set 1482# CONFIG_DEBUG_RT_MUTEXES is not set
1472# CONFIG_RT_MUTEX_TESTER is not set 1483# CONFIG_RT_MUTEX_TESTER is not set
@@ -1486,10 +1497,12 @@ CONFIG_DEBUG_INFO=y
1486# CONFIG_DEBUG_LIST is not set 1497# CONFIG_DEBUG_LIST is not set
1487# CONFIG_DEBUG_SG is not set 1498# CONFIG_DEBUG_SG is not set
1488# CONFIG_DEBUG_NOTIFIERS is not set 1499# CONFIG_DEBUG_NOTIFIERS is not set
1500# CONFIG_DEBUG_CREDENTIALS is not set
1489# CONFIG_RCU_TORTURE_TEST is not set 1501# CONFIG_RCU_TORTURE_TEST is not set
1490# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1502# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1491# CONFIG_BACKTRACE_SELF_TEST is not set 1503# CONFIG_BACKTRACE_SELF_TEST is not set
1492# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1504# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1505# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1493# CONFIG_FAULT_INJECTION is not set 1506# CONFIG_FAULT_INJECTION is not set
1494# CONFIG_LATENCYTOP is not set 1507# CONFIG_LATENCYTOP is not set
1495CONFIG_SYSCTL_SYSCALL_CHECK=y 1508CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1514,10 +1527,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1514# CONFIG_WORKQUEUE_TRACER is not set 1527# CONFIG_WORKQUEUE_TRACER is not set
1515# CONFIG_BLK_DEV_IO_TRACE is not set 1528# CONFIG_BLK_DEV_IO_TRACE is not set
1516# CONFIG_DYNAMIC_DEBUG is not set 1529# CONFIG_DYNAMIC_DEBUG is not set
1530# CONFIG_DMA_API_DEBUG is not set
1517# CONFIG_SAMPLES is not set 1531# CONFIG_SAMPLES is not set
1518CONFIG_HAVE_ARCH_KGDB=y 1532CONFIG_HAVE_ARCH_KGDB=y
1519# CONFIG_KGDB is not set 1533# CONFIG_KGDB is not set
1520# CONFIG_KMEMCHECK is not set
1521# CONFIG_PPC_DISABLE_WERROR is not set 1534# CONFIG_PPC_DISABLE_WERROR is not set
1522CONFIG_PPC_WERROR=y 1535CONFIG_PPC_WERROR=y
1523CONFIG_PRINT_STACK_DEPTH=64 1536CONFIG_PRINT_STACK_DEPTH=64
@@ -1550,7 +1563,6 @@ CONFIG_CRYPTO=y
1550# 1563#
1551# Crypto core or helper 1564# Crypto core or helper
1552# 1565#
1553# CONFIG_CRYPTO_FIPS is not set
1554CONFIG_CRYPTO_ALGAPI=y 1566CONFIG_CRYPTO_ALGAPI=y
1555CONFIG_CRYPTO_ALGAPI2=y 1567CONFIG_CRYPTO_ALGAPI2=y
1556CONFIG_CRYPTO_AEAD=m 1568CONFIG_CRYPTO_AEAD=m
@@ -1593,11 +1605,13 @@ CONFIG_CRYPTO_PCBC=m
1593# 1605#
1594CONFIG_CRYPTO_HMAC=y 1606CONFIG_CRYPTO_HMAC=y
1595# CONFIG_CRYPTO_XCBC is not set 1607# CONFIG_CRYPTO_XCBC is not set
1608# CONFIG_CRYPTO_VMAC is not set
1596 1609
1597# 1610#
1598# Digest 1611# Digest
1599# 1612#
1600CONFIG_CRYPTO_CRC32C=m 1613CONFIG_CRYPTO_CRC32C=m
1614# CONFIG_CRYPTO_GHASH is not set
1601CONFIG_CRYPTO_MD4=m 1615CONFIG_CRYPTO_MD4=m
1602CONFIG_CRYPTO_MD5=y 1616CONFIG_CRYPTO_MD5=y
1603CONFIG_CRYPTO_MICHAEL_MIC=m 1617CONFIG_CRYPTO_MICHAEL_MIC=m
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
index aece6bb5f733..052cf134e018 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:47 2009 4# Thu Nov 5 08:20:04 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_PPC_8xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_8xx=y 17CONFIG_8xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -29,6 +30,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
30CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
32CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y 36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -78,11 +80,12 @@ CONFIG_SYSVIPC_SYSCTL=y
78# 80#
79# RCU Subsystem 81# RCU Subsystem
80# 82#
81CONFIG_CLASSIC_RCU=y 83CONFIG_TREE_RCU=y
82# CONFIG_TREE_RCU is not set 84# CONFIG_TREE_PREEMPT_RCU is not set
83# CONFIG_PREEMPT_RCU is not set 85# CONFIG_RCU_TRACE is not set
86CONFIG_RCU_FANOUT=32
87# CONFIG_RCU_FANOUT_EXACT is not set
84# CONFIG_TREE_RCU_TRACE is not set 88# CONFIG_TREE_RCU_TRACE is not set
85# CONFIG_PREEMPT_RCU_TRACE is not set
86# CONFIG_IKCONFIG is not set 89# CONFIG_IKCONFIG is not set
87CONFIG_LOG_BUF_SHIFT=14 90CONFIG_LOG_BUF_SHIFT=14
88CONFIG_GROUP_SCHED=y 91CONFIG_GROUP_SCHED=y
@@ -116,28 +119,29 @@ CONFIG_TIMERFD=y
116CONFIG_EVENTFD=y 119CONFIG_EVENTFD=y
117CONFIG_SHMEM=y 120CONFIG_SHMEM=y
118CONFIG_AIO=y 121CONFIG_AIO=y
119CONFIG_HAVE_PERF_COUNTERS=y 122CONFIG_HAVE_PERF_EVENTS=y
120 123
121# 124#
122# Performance Counters 125# Kernel Performance Events And Counters
123# 126#
127# CONFIG_PERF_EVENTS is not set
124# CONFIG_PERF_COUNTERS is not set 128# CONFIG_PERF_COUNTERS is not set
125# CONFIG_VM_EVENT_COUNTERS is not set 129# CONFIG_VM_EVENT_COUNTERS is not set
126CONFIG_SLUB_DEBUG=y 130CONFIG_SLUB_DEBUG=y
127# CONFIG_STRIP_ASM_SYMS is not set
128CONFIG_COMPAT_BRK=y 131CONFIG_COMPAT_BRK=y
129# CONFIG_SLAB is not set 132# CONFIG_SLAB is not set
130CONFIG_SLUB=y 133CONFIG_SLUB=y
131# CONFIG_SLOB is not set 134# CONFIG_SLOB is not set
132# CONFIG_PROFILING is not set 135# CONFIG_PROFILING is not set
133# CONFIG_MARKERS is not set
134CONFIG_HAVE_OPROFILE=y 136CONFIG_HAVE_OPROFILE=y
135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 137CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
136CONFIG_HAVE_IOREMAP_PROT=y 138CONFIG_HAVE_IOREMAP_PROT=y
137CONFIG_HAVE_KPROBES=y 139CONFIG_HAVE_KPROBES=y
138CONFIG_HAVE_KRETPROBES=y 140CONFIG_HAVE_KRETPROBES=y
139CONFIG_HAVE_ARCH_TRACEHOOK=y 141CONFIG_HAVE_ARCH_TRACEHOOK=y
142CONFIG_HAVE_DMA_ATTRS=y
140CONFIG_HAVE_CLK=y 143CONFIG_HAVE_CLK=y
144CONFIG_HAVE_DMA_API_DEBUG=y
141 145
142# 146#
143# GCOV-based kernel profiling 147# GCOV-based kernel profiling
@@ -235,10 +239,10 @@ CONFIG_BINFMT_ELF=y
235# CONFIG_8XX_MINIMAL_FPEMU is not set 239# CONFIG_8XX_MINIMAL_FPEMU is not set
236# CONFIG_IOMMU_HELPER is not set 240# CONFIG_IOMMU_HELPER is not set
237# CONFIG_SWIOTLB is not set 241# CONFIG_SWIOTLB is not set
238CONFIG_PPC_NEED_DMA_SYNC_OPS=y
239CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 242CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
240CONFIG_ARCH_HAS_WALK_MEMORY=y 243CONFIG_ARCH_HAS_WALK_MEMORY=y
241CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 244CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
245CONFIG_MAX_ACTIVE_REGIONS=32
242CONFIG_ARCH_FLATMEM_ENABLE=y 246CONFIG_ARCH_FLATMEM_ENABLE=y
243CONFIG_ARCH_POPULATES_NODE_MAP=y 247CONFIG_ARCH_POPULATES_NODE_MAP=y
244CONFIG_SELECT_MEMORY_MODEL=y 248CONFIG_SELECT_MEMORY_MODEL=y
@@ -256,6 +260,7 @@ CONFIG_BOUNCE=y
256CONFIG_VIRT_TO_BUS=y 260CONFIG_VIRT_TO_BUS=y
257CONFIG_HAVE_MLOCK=y 261CONFIG_HAVE_MLOCK=y
258CONFIG_HAVE_MLOCKED_PAGE_BIT=y 262CONFIG_HAVE_MLOCKED_PAGE_BIT=y
263# CONFIG_KSM is not set
259CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 264CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
260CONFIG_PPC_4K_PAGES=y 265CONFIG_PPC_4K_PAGES=y
261# CONFIG_PPC_16K_PAGES is not set 266# CONFIG_PPC_16K_PAGES is not set
@@ -338,6 +343,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_NETFILTER is not set 343# CONFIG_NETFILTER is not set
339# CONFIG_IP_DCCP is not set 344# CONFIG_IP_DCCP is not set
340# CONFIG_IP_SCTP is not set 345# CONFIG_IP_SCTP is not set
346# CONFIG_RDS is not set
341# CONFIG_TIPC is not set 347# CONFIG_TIPC is not set
342# CONFIG_ATM is not set 348# CONFIG_ATM is not set
343# CONFIG_BRIDGE is not set 349# CONFIG_BRIDGE is not set
@@ -367,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
367# CONFIG_AF_RXRPC is not set 373# CONFIG_AF_RXRPC is not set
368CONFIG_WIRELESS=y 374CONFIG_WIRELESS=y
369# CONFIG_CFG80211 is not set 375# CONFIG_CFG80211 is not set
376CONFIG_CFG80211_DEFAULT_PS_VALUE=0
370CONFIG_WIRELESS_OLD_REGULATORY=y 377CONFIG_WIRELESS_OLD_REGULATORY=y
371# CONFIG_WIRELESS_EXT is not set 378# CONFIG_WIRELESS_EXT is not set
372# CONFIG_LIB80211 is not set 379# CONFIG_LIB80211 is not set
@@ -374,7 +381,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
374# 381#
375# CFG80211 needs to be enabled for MAC80211 382# CFG80211 needs to be enabled for MAC80211
376# 383#
377CONFIG_MAC80211_DEFAULT_PS_VALUE=0
378# CONFIG_WIMAX is not set 384# CONFIG_WIMAX is not set
379# CONFIG_RFKILL is not set 385# CONFIG_RFKILL is not set
380# CONFIG_NET_9P is not set 386# CONFIG_NET_9P is not set
@@ -387,6 +393,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
387# Generic Driver Options 393# Generic Driver Options
388# 394#
389CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 395CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
396# CONFIG_DEVTMPFS is not set
390CONFIG_STANDALONE=y 397CONFIG_STANDALONE=y
391CONFIG_PREVENT_FIRMWARE_BUILD=y 398CONFIG_PREVENT_FIRMWARE_BUILD=y
392# CONFIG_FW_LOADER is not set 399# CONFIG_FW_LOADER is not set
@@ -530,16 +537,15 @@ CONFIG_MII=y
530# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 537# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
531# CONFIG_B44 is not set 538# CONFIG_B44 is not set
532# CONFIG_KS8842 is not set 539# CONFIG_KS8842 is not set
540# CONFIG_KS8851_MLL is not set
541# CONFIG_XILINX_EMACLITE is not set
533CONFIG_FS_ENET=y 542CONFIG_FS_ENET=y
534# CONFIG_FS_ENET_HAS_SCC is not set 543# CONFIG_FS_ENET_HAS_SCC is not set
535CONFIG_FS_ENET_HAS_FEC=y 544CONFIG_FS_ENET_HAS_FEC=y
536CONFIG_FS_ENET_MDIO_FEC=y 545CONFIG_FS_ENET_MDIO_FEC=y
537# CONFIG_NETDEV_1000 is not set 546# CONFIG_NETDEV_1000 is not set
538# CONFIG_NETDEV_10000 is not set 547# CONFIG_NETDEV_10000 is not set
539 548CONFIG_WLAN=y
540#
541# Wireless LAN
542#
543# CONFIG_WLAN_PRE80211 is not set 549# CONFIG_WLAN_PRE80211 is not set
544# CONFIG_WLAN_80211 is not set 550# CONFIG_WLAN_80211 is not set
545 551
@@ -580,6 +586,7 @@ CONFIG_INPUT_KEYBOARD=y
580CONFIG_KEYBOARD_ATKBD=y 586CONFIG_KEYBOARD_ATKBD=y
581# CONFIG_KEYBOARD_LKKBD is not set 587# CONFIG_KEYBOARD_LKKBD is not set
582# CONFIG_KEYBOARD_NEWTON is not set 588# CONFIG_KEYBOARD_NEWTON is not set
589# CONFIG_KEYBOARD_OPENCORES is not set
583# CONFIG_KEYBOARD_STOWAWAY is not set 590# CONFIG_KEYBOARD_STOWAWAY is not set
584# CONFIG_KEYBOARD_SUNKBD is not set 591# CONFIG_KEYBOARD_SUNKBD is not set
585# CONFIG_KEYBOARD_XTKBD is not set 592# CONFIG_KEYBOARD_XTKBD is not set
@@ -590,6 +597,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
590CONFIG_MOUSE_PS2_SYNAPTICS=y 597CONFIG_MOUSE_PS2_SYNAPTICS=y
591CONFIG_MOUSE_PS2_TRACKPOINT=y 598CONFIG_MOUSE_PS2_TRACKPOINT=y
592# CONFIG_MOUSE_PS2_ELANTECH is not set 599# CONFIG_MOUSE_PS2_ELANTECH is not set
600# CONFIG_MOUSE_PS2_SENTELIC is not set
593# CONFIG_MOUSE_PS2_TOUCHKIT is not set 601# CONFIG_MOUSE_PS2_TOUCHKIT is not set
594# CONFIG_MOUSE_SERIAL is not set 602# CONFIG_MOUSE_SERIAL is not set
595# CONFIG_MOUSE_VSXXXAA is not set 603# CONFIG_MOUSE_VSXXXAA is not set
@@ -716,6 +724,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
716# CONFIG_GFS2_FS is not set 724# CONFIG_GFS2_FS is not set
717# CONFIG_OCFS2_FS is not set 725# CONFIG_OCFS2_FS is not set
718# CONFIG_BTRFS_FS is not set 726# CONFIG_BTRFS_FS is not set
727# CONFIG_NILFS2_FS is not set
719CONFIG_FILE_LOCKING=y 728CONFIG_FILE_LOCKING=y
720CONFIG_FSNOTIFY=y 729CONFIG_FSNOTIFY=y
721# CONFIG_DNOTIFY is not set 730# CONFIG_DNOTIFY is not set
@@ -775,7 +784,6 @@ CONFIG_CRAMFS=y
775# CONFIG_ROMFS_FS is not set 784# CONFIG_ROMFS_FS is not set
776# CONFIG_SYSV_FS is not set 785# CONFIG_SYSV_FS is not set
777# CONFIG_UFS_FS is not set 786# CONFIG_UFS_FS is not set
778# CONFIG_NILFS2_FS is not set
779CONFIG_NETWORK_FILESYSTEMS=y 787CONFIG_NETWORK_FILESYSTEMS=y
780CONFIG_NFS_FS=y 788CONFIG_NFS_FS=y
781CONFIG_NFS_V3=y 789CONFIG_NFS_V3=y
@@ -847,6 +855,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
847CONFIG_ENABLE_MUST_CHECK=y 855CONFIG_ENABLE_MUST_CHECK=y
848CONFIG_FRAME_WARN=1024 856CONFIG_FRAME_WARN=1024
849CONFIG_MAGIC_SYSRQ=y 857CONFIG_MAGIC_SYSRQ=y
858# CONFIG_STRIP_ASM_SYMS is not set
850# CONFIG_UNUSED_SYMBOLS is not set 859# CONFIG_UNUSED_SYMBOLS is not set
851CONFIG_DEBUG_FS=y 860CONFIG_DEBUG_FS=y
852# CONFIG_HEADERS_CHECK is not set 861# CONFIG_HEADERS_CHECK is not set
@@ -864,6 +873,7 @@ CONFIG_SCHED_DEBUG=y
864# CONFIG_DEBUG_OBJECTS is not set 873# CONFIG_DEBUG_OBJECTS is not set
865# CONFIG_SLUB_DEBUG_ON is not set 874# CONFIG_SLUB_DEBUG_ON is not set
866# CONFIG_SLUB_STATS is not set 875# CONFIG_SLUB_STATS is not set
876# CONFIG_DEBUG_KMEMLEAK is not set
867# CONFIG_DEBUG_SPINLOCK is not set 877# CONFIG_DEBUG_SPINLOCK is not set
868# CONFIG_DEBUG_MUTEXES is not set 878# CONFIG_DEBUG_MUTEXES is not set
869# CONFIG_DEBUG_LOCK_ALLOC is not set 879# CONFIG_DEBUG_LOCK_ALLOC is not set
@@ -880,10 +890,12 @@ CONFIG_DEBUG_INFO=y
880# CONFIG_DEBUG_LIST is not set 890# CONFIG_DEBUG_LIST is not set
881# CONFIG_DEBUG_SG is not set 891# CONFIG_DEBUG_SG is not set
882# CONFIG_DEBUG_NOTIFIERS is not set 892# CONFIG_DEBUG_NOTIFIERS is not set
893# CONFIG_DEBUG_CREDENTIALS is not set
883# CONFIG_RCU_TORTURE_TEST is not set 894# CONFIG_RCU_TORTURE_TEST is not set
884# CONFIG_RCU_CPU_STALL_DETECTOR is not set 895# CONFIG_RCU_CPU_STALL_DETECTOR is not set
885# CONFIG_BACKTRACE_SELF_TEST is not set 896# CONFIG_BACKTRACE_SELF_TEST is not set
886# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 897# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
898# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
887# CONFIG_FAULT_INJECTION is not set 899# CONFIG_FAULT_INJECTION is not set
888# CONFIG_LATENCYTOP is not set 900# CONFIG_LATENCYTOP is not set
889# CONFIG_DEBUG_PAGEALLOC is not set 901# CONFIG_DEBUG_PAGEALLOC is not set
@@ -906,10 +918,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
906# CONFIG_WORKQUEUE_TRACER is not set 918# CONFIG_WORKQUEUE_TRACER is not set
907# CONFIG_BLK_DEV_IO_TRACE is not set 919# CONFIG_BLK_DEV_IO_TRACE is not set
908# CONFIG_DYNAMIC_DEBUG is not set 920# CONFIG_DYNAMIC_DEBUG is not set
921# CONFIG_DMA_API_DEBUG is not set
909# CONFIG_SAMPLES is not set 922# CONFIG_SAMPLES is not set
910CONFIG_HAVE_ARCH_KGDB=y 923CONFIG_HAVE_ARCH_KGDB=y
911# CONFIG_KGDB is not set 924# CONFIG_KGDB is not set
912# CONFIG_KMEMCHECK is not set
913# CONFIG_PPC_DISABLE_WERROR is not set 925# CONFIG_PPC_DISABLE_WERROR is not set
914CONFIG_PPC_WERROR=y 926CONFIG_PPC_WERROR=y
915CONFIG_PRINT_STACK_DEPTH=64 927CONFIG_PRINT_STACK_DEPTH=64
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig
index 8105360d53f4..0fb65a85dfdf 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:48 2009 4# Thu Nov 5 08:20:05 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,6 +22,7 @@ CONFIG_PPC_STD_MMU=y
22CONFIG_PPC_STD_MMU_32=y 22CONFIG_PPC_STD_MMU_32=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_PPC_HAVE_PMU_SUPPORT=y 24CONFIG_PPC_HAVE_PMU_SUPPORT=y
25CONFIG_PPC_PERF_CTRS=y
25# CONFIG_SMP is not set 26# CONFIG_SMP is not set
26CONFIG_NOT_COHERENT_CACHE=y 27CONFIG_NOT_COHERENT_CACHE=y
27CONFIG_CHECK_CACHE_COHERENCY=y 28CONFIG_CHECK_CACHE_COHERENCY=y
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -88,11 +90,12 @@ CONFIG_AUDIT_TREE=y
88# 90#
89# RCU Subsystem 91# RCU Subsystem
90# 92#
91CONFIG_CLASSIC_RCU=y 93CONFIG_TREE_RCU=y
92# CONFIG_TREE_RCU is not set 94# CONFIG_TREE_PREEMPT_RCU is not set
93# CONFIG_PREEMPT_RCU is not set 95# CONFIG_RCU_TRACE is not set
96CONFIG_RCU_FANOUT=32
97# CONFIG_RCU_FANOUT_EXACT is not set
94# CONFIG_TREE_RCU_TRACE is not set 98# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_PREEMPT_RCU_TRACE is not set
96# CONFIG_IKCONFIG is not set 99# CONFIG_IKCONFIG is not set
97CONFIG_LOG_BUF_SHIFT=17 100CONFIG_LOG_BUF_SHIFT=17
98CONFIG_GROUP_SCHED=y 101CONFIG_GROUP_SCHED=y
@@ -135,23 +138,24 @@ CONFIG_TIMERFD=y
135CONFIG_EVENTFD=y 138CONFIG_EVENTFD=y
136CONFIG_SHMEM=y 139CONFIG_SHMEM=y
137CONFIG_AIO=y 140CONFIG_AIO=y
138CONFIG_HAVE_PERF_COUNTERS=y 141CONFIG_HAVE_PERF_EVENTS=y
139 142
140# 143#
141# Performance Counters 144# Kernel Performance Events And Counters
142# 145#
146CONFIG_PERF_EVENTS=y
147CONFIG_EVENT_PROFILE=y
143# CONFIG_PERF_COUNTERS is not set 148# CONFIG_PERF_COUNTERS is not set
149# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
144CONFIG_VM_EVENT_COUNTERS=y 150CONFIG_VM_EVENT_COUNTERS=y
145CONFIG_PCI_QUIRKS=y 151CONFIG_PCI_QUIRKS=y
146CONFIG_SLUB_DEBUG=y 152CONFIG_SLUB_DEBUG=y
147# CONFIG_STRIP_ASM_SYMS is not set
148CONFIG_COMPAT_BRK=y 153CONFIG_COMPAT_BRK=y
149# CONFIG_SLAB is not set 154# CONFIG_SLAB is not set
150CONFIG_SLUB=y 155CONFIG_SLUB=y
151# CONFIG_SLOB is not set 156# CONFIG_SLOB is not set
152CONFIG_PROFILING=y 157CONFIG_PROFILING=y
153CONFIG_TRACEPOINTS=y 158CONFIG_TRACEPOINTS=y
154CONFIG_MARKERS=y
155CONFIG_OPROFILE=m 159CONFIG_OPROFILE=m
156CONFIG_HAVE_OPROFILE=y 160CONFIG_HAVE_OPROFILE=y
157CONFIG_KPROBES=y 161CONFIG_KPROBES=y
@@ -161,12 +165,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
161CONFIG_HAVE_KPROBES=y 165CONFIG_HAVE_KPROBES=y
162CONFIG_HAVE_KRETPROBES=y 166CONFIG_HAVE_KRETPROBES=y
163CONFIG_HAVE_ARCH_TRACEHOOK=y 167CONFIG_HAVE_ARCH_TRACEHOOK=y
168CONFIG_HAVE_DMA_ATTRS=y
169CONFIG_HAVE_DMA_API_DEBUG=y
164 170
165# 171#
166# GCOV-based kernel profiling 172# GCOV-based kernel profiling
167# 173#
168# CONFIG_GCOV_KERNEL is not set 174# CONFIG_GCOV_KERNEL is not set
169# CONFIG_SLOW_WORK is not set 175CONFIG_SLOW_WORK=y
170# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 176# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
171CONFIG_SLABINFO=y 177CONFIG_SLABINFO=y
172CONFIG_RT_MUTEXES=y 178CONFIG_RT_MUTEXES=y
@@ -275,12 +281,12 @@ CONFIG_BINFMT_ELF=y
275CONFIG_BINFMT_MISC=y 281CONFIG_BINFMT_MISC=y
276# CONFIG_IOMMU_HELPER is not set 282# CONFIG_IOMMU_HELPER is not set
277# CONFIG_SWIOTLB is not set 283# CONFIG_SWIOTLB is not set
278CONFIG_PPC_NEED_DMA_SYNC_OPS=y
279CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 284CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
280CONFIG_ARCH_HAS_WALK_MEMORY=y 285CONFIG_ARCH_HAS_WALK_MEMORY=y
281CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 286CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
282# CONFIG_KEXEC is not set 287# CONFIG_KEXEC is not set
283# CONFIG_CRASH_DUMP is not set 288# CONFIG_CRASH_DUMP is not set
289CONFIG_MAX_ACTIVE_REGIONS=32
284CONFIG_ARCH_FLATMEM_ENABLE=y 290CONFIG_ARCH_FLATMEM_ENABLE=y
285CONFIG_ARCH_POPULATES_NODE_MAP=y 291CONFIG_ARCH_POPULATES_NODE_MAP=y
286CONFIG_SELECT_MEMORY_MODEL=y 292CONFIG_SELECT_MEMORY_MODEL=y
@@ -298,6 +304,7 @@ CONFIG_BOUNCE=y
298CONFIG_VIRT_TO_BUS=y 304CONFIG_VIRT_TO_BUS=y
299CONFIG_HAVE_MLOCK=y 305CONFIG_HAVE_MLOCK=y
300CONFIG_HAVE_MLOCKED_PAGE_BIT=y 306CONFIG_HAVE_MLOCKED_PAGE_BIT=y
307# CONFIG_KSM is not set
301CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 308CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
302CONFIG_PPC_4K_PAGES=y 309CONFIG_PPC_4K_PAGES=y
303# CONFIG_PPC_16K_PAGES is not set 310# CONFIG_PPC_16K_PAGES is not set
@@ -309,6 +316,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11
309CONFIG_EXTRA_TARGETS="" 316CONFIG_EXTRA_TARGETS=""
310CONFIG_PM=y 317CONFIG_PM=y
311# CONFIG_PM_DEBUG is not set 318# CONFIG_PM_DEBUG is not set
319# CONFIG_PM_RUNTIME is not set
312CONFIG_SECCOMP=y 320CONFIG_SECCOMP=y
313CONFIG_ISA_DMA_API=y 321CONFIG_ISA_DMA_API=y
314 322
@@ -674,10 +682,12 @@ CONFIG_BT_HCIBCM203X=m
674# CONFIG_BT_HCIBPA10X is not set 682# CONFIG_BT_HCIBPA10X is not set
675CONFIG_BT_HCIBFUSB=m 683CONFIG_BT_HCIBFUSB=m
676CONFIG_BT_HCIVHCI=m 684CONFIG_BT_HCIVHCI=m
685# CONFIG_BT_MRVL is not set
677# CONFIG_AF_RXRPC is not set 686# CONFIG_AF_RXRPC is not set
678CONFIG_FIB_RULES=y 687CONFIG_FIB_RULES=y
679CONFIG_WIRELESS=y 688CONFIG_WIRELESS=y
680# CONFIG_CFG80211 is not set 689# CONFIG_CFG80211 is not set
690CONFIG_CFG80211_DEFAULT_PS_VALUE=0
681CONFIG_WIRELESS_OLD_REGULATORY=y 691CONFIG_WIRELESS_OLD_REGULATORY=y
682CONFIG_WIRELESS_EXT=y 692CONFIG_WIRELESS_EXT=y
683CONFIG_WIRELESS_EXT_SYSFS=y 693CONFIG_WIRELESS_EXT_SYSFS=y
@@ -686,7 +696,6 @@ CONFIG_WIRELESS_EXT_SYSFS=y
686# 696#
687# CFG80211 needs to be enabled for MAC80211 697# CFG80211 needs to be enabled for MAC80211
688# 698#
689CONFIG_MAC80211_DEFAULT_PS_VALUE=0
690# CONFIG_WIMAX is not set 699# CONFIG_WIMAX is not set
691# CONFIG_RFKILL is not set 700# CONFIG_RFKILL is not set
692# CONFIG_NET_9P is not set 701# CONFIG_NET_9P is not set
@@ -699,6 +708,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
699# Generic Driver Options 708# Generic Driver Options
700# 709#
701CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 710CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
711# CONFIG_DEVTMPFS is not set
702CONFIG_STANDALONE=y 712CONFIG_STANDALONE=y
703CONFIG_PREVENT_FIRMWARE_BUILD=y 713CONFIG_PREVENT_FIRMWARE_BUILD=y
704CONFIG_FW_LOADER=y 714CONFIG_FW_LOADER=y
@@ -710,9 +720,9 @@ CONFIG_EXTRA_FIRMWARE=""
710# CONFIG_CONNECTOR is not set 720# CONFIG_CONNECTOR is not set
711CONFIG_MTD=y 721CONFIG_MTD=y
712# CONFIG_MTD_DEBUG is not set 722# CONFIG_MTD_DEBUG is not set
723# CONFIG_MTD_TESTS is not set
713CONFIG_MTD_CONCAT=m 724CONFIG_MTD_CONCAT=m
714CONFIG_MTD_PARTITIONS=y 725CONFIG_MTD_PARTITIONS=y
715# CONFIG_MTD_TESTS is not set
716# CONFIG_MTD_REDBOOT_PARTS is not set 726# CONFIG_MTD_REDBOOT_PARTS is not set
717# CONFIG_MTD_CMDLINE_PARTS is not set 727# CONFIG_MTD_CMDLINE_PARTS is not set
718CONFIG_MTD_OF_PARTS=y 728CONFIG_MTD_OF_PARTS=y
@@ -763,6 +773,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
763# CONFIG_MTD_PHYSMAP is not set 773# CONFIG_MTD_PHYSMAP is not set
764CONFIG_MTD_PHYSMAP_OF=y 774CONFIG_MTD_PHYSMAP_OF=y
765# CONFIG_MTD_PCI is not set 775# CONFIG_MTD_PCI is not set
776# CONFIG_MTD_GPIO_ADDR is not set
766# CONFIG_MTD_INTEL_VR_NOR is not set 777# CONFIG_MTD_INTEL_VR_NOR is not set
767# CONFIG_MTD_PLATRAM is not set 778# CONFIG_MTD_PLATRAM is not set
768 779
@@ -857,6 +868,7 @@ CONFIG_SCSI_SRP_ATTRS=m
857CONFIG_SCSI_LOWLEVEL=y 868CONFIG_SCSI_LOWLEVEL=y
858# CONFIG_ISCSI_TCP is not set 869# CONFIG_ISCSI_TCP is not set
859# CONFIG_SCSI_BNX2_ISCSI is not set 870# CONFIG_SCSI_BNX2_ISCSI is not set
871# CONFIG_BE2ISCSI is not set
860CONFIG_BLK_DEV_3W_XXXX_RAID=m 872CONFIG_BLK_DEV_3W_XXXX_RAID=m
861CONFIG_SCSI_3W_9XXX=m 873CONFIG_SCSI_3W_9XXX=m
862CONFIG_SCSI_ACARD=m 874CONFIG_SCSI_ACARD=m
@@ -912,7 +924,9 @@ CONFIG_SCSI_LPFC=m
912# CONFIG_SCSI_DC390T is not set 924# CONFIG_SCSI_DC390T is not set
913# CONFIG_SCSI_NSP32 is not set 925# CONFIG_SCSI_NSP32 is not set
914# CONFIG_SCSI_DEBUG is not set 926# CONFIG_SCSI_DEBUG is not set
927# CONFIG_SCSI_PMCRAID is not set
915# CONFIG_SCSI_SRP is not set 928# CONFIG_SCSI_SRP is not set
929# CONFIG_SCSI_BFA_FC is not set
916# CONFIG_SCSI_DH is not set 930# CONFIG_SCSI_DH is not set
917# CONFIG_SCSI_OSD_INITIATOR is not set 931# CONFIG_SCSI_OSD_INITIATOR is not set
918# CONFIG_ATA is not set 932# CONFIG_ATA is not set
@@ -982,7 +996,9 @@ CONFIG_MII=y
982# CONFIG_NET_PCI is not set 996# CONFIG_NET_PCI is not set
983# CONFIG_B44 is not set 997# CONFIG_B44 is not set
984# CONFIG_KS8842 is not set 998# CONFIG_KS8842 is not set
999# CONFIG_KS8851_MLL is not set
985# CONFIG_ATL2 is not set 1000# CONFIG_ATL2 is not set
1001# CONFIG_XILINX_EMACLITE is not set
986CONFIG_NETDEV_1000=y 1002CONFIG_NETDEV_1000=y
987# CONFIG_ACENIC is not set 1003# CONFIG_ACENIC is not set
988# CONFIG_DL2K is not set 1004# CONFIG_DL2K is not set
@@ -1010,10 +1026,7 @@ CONFIG_MV643XX_ETH=y
1010# CONFIG_JME is not set 1026# CONFIG_JME is not set
1011# CONFIG_NETDEV_10000 is not set 1027# CONFIG_NETDEV_10000 is not set
1012# CONFIG_TR is not set 1028# CONFIG_TR is not set
1013 1029CONFIG_WLAN=y
1014#
1015# Wireless LAN
1016#
1017# CONFIG_WLAN_PRE80211 is not set 1030# CONFIG_WLAN_PRE80211 is not set
1018# CONFIG_WLAN_80211 is not set 1031# CONFIG_WLAN_80211 is not set
1019 1032
@@ -1145,6 +1158,7 @@ CONFIG_MAX_RAW_DEVS=8192
1145CONFIG_DEVPORT=y 1158CONFIG_DEVPORT=y
1146CONFIG_I2C=m 1159CONFIG_I2C=m
1147CONFIG_I2C_BOARDINFO=y 1160CONFIG_I2C_BOARDINFO=y
1161CONFIG_I2C_COMPAT=y
1148CONFIG_I2C_CHARDEV=m 1162CONFIG_I2C_CHARDEV=m
1149CONFIG_I2C_HELPER_AUTO=y 1163CONFIG_I2C_HELPER_AUTO=y
1150 1164
@@ -1200,9 +1214,6 @@ CONFIG_I2C_MV64XXX=m
1200# Miscellaneous I2C Chip support 1214# Miscellaneous I2C Chip support
1201# 1215#
1202# CONFIG_DS1682 is not set 1216# CONFIG_DS1682 is not set
1203CONFIG_SENSORS_PCF8574=m
1204# CONFIG_PCF8575 is not set
1205# CONFIG_SENSORS_PCA9539 is not set
1206# CONFIG_SENSORS_TSL2550 is not set 1217# CONFIG_SENSORS_TSL2550 is not set
1207# CONFIG_I2C_DEBUG_CORE is not set 1218# CONFIG_I2C_DEBUG_CORE is not set
1208# CONFIG_I2C_DEBUG_ALGO is not set 1219# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1220,6 +1231,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1220# CONFIG_POWER_SUPPLY is not set 1231# CONFIG_POWER_SUPPLY is not set
1221CONFIG_HWMON=m 1232CONFIG_HWMON=m
1222CONFIG_HWMON_VID=m 1233CONFIG_HWMON_VID=m
1234# CONFIG_HWMON_DEBUG_CHIP is not set
1235
1236#
1237# Native drivers
1238#
1223# CONFIG_SENSORS_AD7414 is not set 1239# CONFIG_SENSORS_AD7414 is not set
1224# CONFIG_SENSORS_AD7418 is not set 1240# CONFIG_SENSORS_AD7418 is not set
1225CONFIG_SENSORS_ADM1021=m 1241CONFIG_SENSORS_ADM1021=m
@@ -1269,6 +1285,7 @@ CONFIG_SENSORS_SMSC47B397=m
1269# CONFIG_SENSORS_ADS7828 is not set 1285# CONFIG_SENSORS_ADS7828 is not set
1270# CONFIG_SENSORS_THMC50 is not set 1286# CONFIG_SENSORS_THMC50 is not set
1271# CONFIG_SENSORS_TMP401 is not set 1287# CONFIG_SENSORS_TMP401 is not set
1288# CONFIG_SENSORS_TMP421 is not set
1272CONFIG_SENSORS_VIA686A=m 1289CONFIG_SENSORS_VIA686A=m
1273# CONFIG_SENSORS_VT1211 is not set 1290# CONFIG_SENSORS_VT1211 is not set
1274# CONFIG_SENSORS_VT8231 is not set 1291# CONFIG_SENSORS_VT8231 is not set
@@ -1280,7 +1297,6 @@ CONFIG_SENSORS_W83L785TS=m
1280# CONFIG_SENSORS_W83L786NG is not set 1297# CONFIG_SENSORS_W83L786NG is not set
1281CONFIG_SENSORS_W83627HF=m 1298CONFIG_SENSORS_W83627HF=m
1282# CONFIG_SENSORS_W83627EHF is not set 1299# CONFIG_SENSORS_W83627EHF is not set
1283# CONFIG_HWMON_DEBUG_CHIP is not set
1284# CONFIG_THERMAL is not set 1300# CONFIG_THERMAL is not set
1285CONFIG_WATCHDOG=y 1301CONFIG_WATCHDOG=y
1286# CONFIG_WATCHDOG_NOWAYOUT is not set 1302# CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -1317,6 +1333,7 @@ CONFIG_SSB_POSSIBLE=y
1317# CONFIG_HTC_PASIC3 is not set 1333# CONFIG_HTC_PASIC3 is not set
1318# CONFIG_MFD_TMIO is not set 1334# CONFIG_MFD_TMIO is not set
1319# CONFIG_MFD_WM8400 is not set 1335# CONFIG_MFD_WM8400 is not set
1336# CONFIG_MFD_WM831X is not set
1320# CONFIG_MFD_WM8350_I2C is not set 1337# CONFIG_MFD_WM8350_I2C is not set
1321# CONFIG_MFD_PCF50633 is not set 1338# CONFIG_MFD_PCF50633 is not set
1322# CONFIG_AB3100_CORE is not set 1339# CONFIG_AB3100_CORE is not set
@@ -1327,6 +1344,7 @@ CONFIG_SSB_POSSIBLE=y
1327# Graphics support 1344# Graphics support
1328# 1345#
1329# CONFIG_AGP is not set 1346# CONFIG_AGP is not set
1347CONFIG_VGA_ARB=y
1330# CONFIG_DRM is not set 1348# CONFIG_DRM is not set
1331# CONFIG_VGASTATE is not set 1349# CONFIG_VGASTATE is not set
1332# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1350# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1378,6 +1396,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1378# CONFIG_USB_OXU210HP_HCD is not set 1396# CONFIG_USB_OXU210HP_HCD is not set
1379# CONFIG_USB_ISP116X_HCD is not set 1397# CONFIG_USB_ISP116X_HCD is not set
1380# CONFIG_USB_ISP1760_HCD is not set 1398# CONFIG_USB_ISP1760_HCD is not set
1399# CONFIG_USB_ISP1362_HCD is not set
1381CONFIG_USB_OHCI_HCD=m 1400CONFIG_USB_OHCI_HCD=m
1382CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1401CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1383# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1402# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1588,6 +1607,7 @@ CONFIG_FS_POSIX_ACL=y
1588# CONFIG_GFS2_FS is not set 1607# CONFIG_GFS2_FS is not set
1589# CONFIG_OCFS2_FS is not set 1608# CONFIG_OCFS2_FS is not set
1590# CONFIG_BTRFS_FS is not set 1609# CONFIG_BTRFS_FS is not set
1610# CONFIG_NILFS2_FS is not set
1591CONFIG_FILE_LOCKING=y 1611CONFIG_FILE_LOCKING=y
1592CONFIG_FSNOTIFY=y 1612CONFIG_FSNOTIFY=y
1593CONFIG_DNOTIFY=y 1613CONFIG_DNOTIFY=y
@@ -1668,7 +1688,6 @@ CONFIG_VXFS_FS=m
1668# CONFIG_ROMFS_FS is not set 1688# CONFIG_ROMFS_FS is not set
1669# CONFIG_SYSV_FS is not set 1689# CONFIG_SYSV_FS is not set
1670# CONFIG_UFS_FS is not set 1690# CONFIG_UFS_FS is not set
1671# CONFIG_NILFS2_FS is not set
1672CONFIG_NETWORK_FILESYSTEMS=y 1691CONFIG_NETWORK_FILESYSTEMS=y
1673CONFIG_NFS_FS=y 1692CONFIG_NFS_FS=y
1674CONFIG_NFS_V3=y 1693CONFIG_NFS_V3=y
@@ -1770,7 +1789,7 @@ CONFIG_BINARY_PRINTF=y
1770CONFIG_BITREVERSE=y 1789CONFIG_BITREVERSE=y
1771CONFIG_GENERIC_FIND_LAST_BIT=y 1790CONFIG_GENERIC_FIND_LAST_BIT=y
1772CONFIG_CRC_CCITT=m 1791CONFIG_CRC_CCITT=m
1773# CONFIG_CRC16 is not set 1792CONFIG_CRC16=m
1774CONFIG_CRC_T10DIF=m 1793CONFIG_CRC_T10DIF=m
1775CONFIG_CRC_ITU_T=m 1794CONFIG_CRC_ITU_T=m
1776CONFIG_CRC32=y 1795CONFIG_CRC32=y
@@ -1797,6 +1816,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1797CONFIG_ENABLE_MUST_CHECK=y 1816CONFIG_ENABLE_MUST_CHECK=y
1798CONFIG_FRAME_WARN=1024 1817CONFIG_FRAME_WARN=1024
1799CONFIG_MAGIC_SYSRQ=y 1818CONFIG_MAGIC_SYSRQ=y
1819# CONFIG_STRIP_ASM_SYMS is not set
1800# CONFIG_UNUSED_SYMBOLS is not set 1820# CONFIG_UNUSED_SYMBOLS is not set
1801CONFIG_DEBUG_FS=y 1821CONFIG_DEBUG_FS=y
1802# CONFIG_HEADERS_CHECK is not set 1822# CONFIG_HEADERS_CHECK is not set
@@ -1814,6 +1834,7 @@ CONFIG_SCHED_DEBUG=y
1814# CONFIG_DEBUG_OBJECTS is not set 1834# CONFIG_DEBUG_OBJECTS is not set
1815# CONFIG_SLUB_DEBUG_ON is not set 1835# CONFIG_SLUB_DEBUG_ON is not set
1816# CONFIG_SLUB_STATS is not set 1836# CONFIG_SLUB_STATS is not set
1837# CONFIG_DEBUG_KMEMLEAK is not set
1817# CONFIG_DEBUG_RT_MUTEXES is not set 1838# CONFIG_DEBUG_RT_MUTEXES is not set
1818# CONFIG_RT_MUTEX_TESTER is not set 1839# CONFIG_RT_MUTEX_TESTER is not set
1819CONFIG_DEBUG_SPINLOCK=y 1840CONFIG_DEBUG_SPINLOCK=y
@@ -1834,11 +1855,13 @@ CONFIG_DEBUG_MEMORY_INIT=y
1834# CONFIG_DEBUG_LIST is not set 1855# CONFIG_DEBUG_LIST is not set
1835# CONFIG_DEBUG_SG is not set 1856# CONFIG_DEBUG_SG is not set
1836# CONFIG_DEBUG_NOTIFIERS is not set 1857# CONFIG_DEBUG_NOTIFIERS is not set
1858# CONFIG_DEBUG_CREDENTIALS is not set
1837# CONFIG_RCU_TORTURE_TEST is not set 1859# CONFIG_RCU_TORTURE_TEST is not set
1838# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1860# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1839# CONFIG_KPROBES_SANITY_TEST is not set 1861# CONFIG_KPROBES_SANITY_TEST is not set
1840# CONFIG_BACKTRACE_SELF_TEST is not set 1862# CONFIG_BACKTRACE_SELF_TEST is not set
1841# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1863# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1864# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1842# CONFIG_LKDTM is not set 1865# CONFIG_LKDTM is not set
1843# CONFIG_FAULT_INJECTION is not set 1866# CONFIG_FAULT_INJECTION is not set
1844# CONFIG_LATENCYTOP is not set 1867# CONFIG_LATENCYTOP is not set
@@ -1852,6 +1875,7 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1852CONFIG_RING_BUFFER=y 1875CONFIG_RING_BUFFER=y
1853CONFIG_EVENT_TRACING=y 1876CONFIG_EVENT_TRACING=y
1854CONFIG_CONTEXT_SWITCH_TRACER=y 1877CONFIG_CONTEXT_SWITCH_TRACER=y
1878CONFIG_RING_BUFFER_ALLOW_SWAP=y
1855CONFIG_TRACING=y 1879CONFIG_TRACING=y
1856CONFIG_TRACING_SUPPORT=y 1880CONFIG_TRACING_SUPPORT=y
1857CONFIG_FTRACE=y 1881CONFIG_FTRACE=y
@@ -1869,6 +1893,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
1869# CONFIG_BLK_DEV_IO_TRACE is not set 1893# CONFIG_BLK_DEV_IO_TRACE is not set
1870# CONFIG_RING_BUFFER_BENCHMARK is not set 1894# CONFIG_RING_BUFFER_BENCHMARK is not set
1871# CONFIG_DYNAMIC_DEBUG is not set 1895# CONFIG_DYNAMIC_DEBUG is not set
1896# CONFIG_DMA_API_DEBUG is not set
1872# CONFIG_SAMPLES is not set 1897# CONFIG_SAMPLES is not set
1873CONFIG_HAVE_ARCH_KGDB=y 1898CONFIG_HAVE_ARCH_KGDB=y
1874# CONFIG_KGDB is not set 1899# CONFIG_KGDB is not set
@@ -1899,6 +1924,7 @@ CONFIG_SECURITY_NETWORK=y
1899# CONFIG_SECURITY_NETWORK_XFRM is not set 1924# CONFIG_SECURITY_NETWORK_XFRM is not set
1900# CONFIG_SECURITY_PATH is not set 1925# CONFIG_SECURITY_PATH is not set
1901# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1926# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1927CONFIG_LSM_MMAP_MIN_ADDR=65536
1902CONFIG_SECURITY_SELINUX=y 1928CONFIG_SECURITY_SELINUX=y
1903CONFIG_SECURITY_SELINUX_BOOTPARAM=y 1929CONFIG_SECURITY_SELINUX_BOOTPARAM=y
1904CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 1930CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
@@ -1913,7 +1939,6 @@ CONFIG_CRYPTO=y
1913# 1939#
1914# Crypto core or helper 1940# Crypto core or helper
1915# 1941#
1916# CONFIG_CRYPTO_FIPS is not set
1917CONFIG_CRYPTO_ALGAPI=y 1942CONFIG_CRYPTO_ALGAPI=y
1918CONFIG_CRYPTO_ALGAPI2=y 1943CONFIG_CRYPTO_ALGAPI2=y
1919CONFIG_CRYPTO_AEAD=m 1944CONFIG_CRYPTO_AEAD=m
@@ -1956,11 +1981,13 @@ CONFIG_CRYPTO_ECB=m
1956# 1981#
1957CONFIG_CRYPTO_HMAC=y 1982CONFIG_CRYPTO_HMAC=y
1958# CONFIG_CRYPTO_XCBC is not set 1983# CONFIG_CRYPTO_XCBC is not set
1984# CONFIG_CRYPTO_VMAC is not set
1959 1985
1960# 1986#
1961# Digest 1987# Digest
1962# 1988#
1963CONFIG_CRYPTO_CRC32C=m 1989CONFIG_CRYPTO_CRC32C=m
1990# CONFIG_CRYPTO_GHASH is not set
1964CONFIG_CRYPTO_MD4=m 1991CONFIG_CRYPTO_MD4=m
1965CONFIG_CRYPTO_MD5=y 1992CONFIG_CRYPTO_MD5=y
1966CONFIG_CRYPTO_MICHAEL_MIC=m 1993CONFIG_CRYPTO_MICHAEL_MIC=m
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index 0aa5b43ffeb2..ef5edc7203f5 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:49 2009 4# Thu Nov 5 08:20:06 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
34CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
38CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
39CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -82,11 +83,12 @@ CONFIG_SYSVIPC_SYSCTL=y
82# 83#
83# RCU Subsystem 84# RCU Subsystem
84# 85#
85CONFIG_CLASSIC_RCU=y 86CONFIG_TREE_RCU=y
86# CONFIG_TREE_RCU is not set 87# CONFIG_TREE_PREEMPT_RCU is not set
87# CONFIG_PREEMPT_RCU is not set 88# CONFIG_RCU_TRACE is not set
89CONFIG_RCU_FANOUT=32
90# CONFIG_RCU_FANOUT_EXACT is not set
88# CONFIG_TREE_RCU_TRACE is not set 91# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
90CONFIG_IKCONFIG=y 92CONFIG_IKCONFIG=y
91CONFIG_IKCONFIG_PROC=y 93CONFIG_IKCONFIG_PROC=y
92CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
@@ -116,28 +118,29 @@ CONFIG_TIMERFD=y
116CONFIG_EVENTFD=y 118CONFIG_EVENTFD=y
117CONFIG_SHMEM=y 119CONFIG_SHMEM=y
118CONFIG_AIO=y 120CONFIG_AIO=y
119CONFIG_HAVE_PERF_COUNTERS=y 121CONFIG_HAVE_PERF_EVENTS=y
120 122
121# 123#
122# Performance Counters 124# Kernel Performance Events And Counters
123# 125#
126# CONFIG_PERF_EVENTS is not set
124# CONFIG_PERF_COUNTERS is not set 127# CONFIG_PERF_COUNTERS is not set
125CONFIG_VM_EVENT_COUNTERS=y 128CONFIG_VM_EVENT_COUNTERS=y
126CONFIG_PCI_QUIRKS=y 129CONFIG_PCI_QUIRKS=y
127# CONFIG_STRIP_ASM_SYMS is not set
128CONFIG_COMPAT_BRK=y 130CONFIG_COMPAT_BRK=y
129CONFIG_SLAB=y 131CONFIG_SLAB=y
130# CONFIG_SLUB is not set 132# CONFIG_SLUB is not set
131# CONFIG_SLOB is not set 133# CONFIG_SLOB is not set
132# CONFIG_PROFILING is not set 134# CONFIG_PROFILING is not set
133# CONFIG_MARKERS is not set
134CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
136CONFIG_HAVE_IOREMAP_PROT=y 137CONFIG_HAVE_IOREMAP_PROT=y
137CONFIG_HAVE_KPROBES=y 138CONFIG_HAVE_KPROBES=y
138CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
139CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
141CONFIG_HAVE_DMA_ATTRS=y
140CONFIG_HAVE_CLK=y 142CONFIG_HAVE_CLK=y
143CONFIG_HAVE_DMA_API_DEBUG=y
141 144
142# 145#
143# GCOV-based kernel profiling 146# GCOV-based kernel profiling
@@ -150,6 +153,7 @@ CONFIG_BASE_SMALL=0
150# CONFIG_MODULES is not set 153# CONFIG_MODULES is not set
151CONFIG_BLOCK=y 154CONFIG_BLOCK=y
152CONFIG_LBDAF=y 155CONFIG_LBDAF=y
156CONFIG_BLK_DEV_BSG=y
153# CONFIG_BLK_DEV_INTEGRITY is not set 157# CONFIG_BLK_DEV_INTEGRITY is not set
154 158
155# 159#
@@ -233,6 +237,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
233CONFIG_ARCH_HAS_WALK_MEMORY=y 237CONFIG_ARCH_HAS_WALK_MEMORY=y
234CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 238CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
235# CONFIG_CRASH_DUMP is not set 239# CONFIG_CRASH_DUMP is not set
240CONFIG_MAX_ACTIVE_REGIONS=32
236CONFIG_ARCH_FLATMEM_ENABLE=y 241CONFIG_ARCH_FLATMEM_ENABLE=y
237CONFIG_ARCH_POPULATES_NODE_MAP=y 242CONFIG_ARCH_POPULATES_NODE_MAP=y
238CONFIG_FLATMEM=y 243CONFIG_FLATMEM=y
@@ -246,6 +251,7 @@ CONFIG_BOUNCE=y
246CONFIG_VIRT_TO_BUS=y 251CONFIG_VIRT_TO_BUS=y
247CONFIG_HAVE_MLOCK=y 252CONFIG_HAVE_MLOCK=y
248CONFIG_HAVE_MLOCKED_PAGE_BIT=y 253CONFIG_HAVE_MLOCKED_PAGE_BIT=y
254# CONFIG_KSM is not set
249CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 255CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
250CONFIG_PPC_4K_PAGES=y 256CONFIG_PPC_4K_PAGES=y
251# CONFIG_PPC_16K_PAGES is not set 257# CONFIG_PPC_16K_PAGES is not set
@@ -394,6 +400,7 @@ CONFIG_NETFILTER_ADVANCED=y
394# CONFIG_BT is not set 400# CONFIG_BT is not set
395CONFIG_WIRELESS=y 401CONFIG_WIRELESS=y
396# CONFIG_CFG80211 is not set 402# CONFIG_CFG80211 is not set
403CONFIG_CFG80211_DEFAULT_PS_VALUE=0
397CONFIG_WIRELESS_OLD_REGULATORY=y 404CONFIG_WIRELESS_OLD_REGULATORY=y
398# CONFIG_WIRELESS_EXT is not set 405# CONFIG_WIRELESS_EXT is not set
399# CONFIG_LIB80211 is not set 406# CONFIG_LIB80211 is not set
@@ -401,7 +408,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
401# 408#
402# CFG80211 needs to be enabled for MAC80211 409# CFG80211 needs to be enabled for MAC80211
403# 410#
404CONFIG_MAC80211_DEFAULT_PS_VALUE=0
405# CONFIG_WIMAX is not set 411# CONFIG_WIMAX is not set
406# CONFIG_RFKILL is not set 412# CONFIG_RFKILL is not set
407 413
@@ -413,6 +419,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
413# Generic Driver Options 419# Generic Driver Options
414# 420#
415CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 421CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
422# CONFIG_DEVTMPFS is not set
416CONFIG_STANDALONE=y 423CONFIG_STANDALONE=y
417CONFIG_PREVENT_FIRMWARE_BUILD=y 424CONFIG_PREVENT_FIRMWARE_BUILD=y
418# CONFIG_FW_LOADER is not set 425# CONFIG_FW_LOADER is not set
@@ -600,7 +607,9 @@ CONFIG_MII=y
600# CONFIG_NET_PCI is not set 607# CONFIG_NET_PCI is not set
601# CONFIG_B44 is not set 608# CONFIG_B44 is not set
602# CONFIG_KS8842 is not set 609# CONFIG_KS8842 is not set
610# CONFIG_KS8851_MLL is not set
603# CONFIG_ATL2 is not set 611# CONFIG_ATL2 is not set
612# CONFIG_XILINX_EMACLITE is not set
604CONFIG_FS_ENET=y 613CONFIG_FS_ENET=y
605# CONFIG_FS_ENET_HAS_SCC is not set 614# CONFIG_FS_ENET_HAS_SCC is not set
606CONFIG_FS_ENET_HAS_FCC=y 615CONFIG_FS_ENET_HAS_FCC=y
@@ -648,10 +657,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
648# CONFIG_SFC is not set 657# CONFIG_SFC is not set
649# CONFIG_BE2NET is not set 658# CONFIG_BE2NET is not set
650# CONFIG_TR is not set 659# CONFIG_TR is not set
651 660CONFIG_WLAN=y
652#
653# Wireless LAN
654#
655# CONFIG_WLAN_PRE80211 is not set 661# CONFIG_WLAN_PRE80211 is not set
656# CONFIG_WLAN_80211 is not set 662# CONFIG_WLAN_80211 is not set
657 663
@@ -736,15 +742,19 @@ CONFIG_GPIOLIB=y
736# PCI GPIO expanders: 742# PCI GPIO expanders:
737# 743#
738# CONFIG_GPIO_BT8XX is not set 744# CONFIG_GPIO_BT8XX is not set
745# CONFIG_GPIO_LANGWELL is not set
739 746
740# 747#
741# SPI GPIO expanders: 748# SPI GPIO expanders:
742# 749#
750
751#
752# AC97 GPIO expanders:
753#
743# CONFIG_W1 is not set 754# CONFIG_W1 is not set
744# CONFIG_POWER_SUPPLY is not set 755# CONFIG_POWER_SUPPLY is not set
745# CONFIG_HWMON is not set 756# CONFIG_HWMON is not set
746# CONFIG_THERMAL is not set 757# CONFIG_THERMAL is not set
747# CONFIG_THERMAL_HWMON is not set
748# CONFIG_WATCHDOG is not set 758# CONFIG_WATCHDOG is not set
749CONFIG_SSB_POSSIBLE=y 759CONFIG_SSB_POSSIBLE=y
750 760
@@ -767,6 +777,7 @@ CONFIG_SSB_POSSIBLE=y
767# Graphics support 777# Graphics support
768# 778#
769# CONFIG_AGP is not set 779# CONFIG_AGP is not set
780CONFIG_VGA_ARB=y
770# CONFIG_DRM is not set 781# CONFIG_DRM is not set
771# CONFIG_VGASTATE is not set 782# CONFIG_VGASTATE is not set
772# CONFIG_VIDEO_OUTPUT_CONTROL is not set 783# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -968,6 +979,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
968CONFIG_ENABLE_MUST_CHECK=y 979CONFIG_ENABLE_MUST_CHECK=y
969CONFIG_FRAME_WARN=1024 980CONFIG_FRAME_WARN=1024
970CONFIG_MAGIC_SYSRQ=y 981CONFIG_MAGIC_SYSRQ=y
982# CONFIG_STRIP_ASM_SYMS is not set
971# CONFIG_UNUSED_SYMBOLS is not set 983# CONFIG_UNUSED_SYMBOLS is not set
972# CONFIG_DEBUG_FS is not set 984# CONFIG_DEBUG_FS is not set
973# CONFIG_HEADERS_CHECK is not set 985# CONFIG_HEADERS_CHECK is not set
@@ -998,10 +1010,12 @@ CONFIG_DEBUG_INFO=y
998# CONFIG_DEBUG_LIST is not set 1010# CONFIG_DEBUG_LIST is not set
999# CONFIG_DEBUG_SG is not set 1011# CONFIG_DEBUG_SG is not set
1000# CONFIG_DEBUG_NOTIFIERS is not set 1012# CONFIG_DEBUG_NOTIFIERS is not set
1013# CONFIG_DEBUG_CREDENTIALS is not set
1001# CONFIG_RCU_TORTURE_TEST is not set 1014# CONFIG_RCU_TORTURE_TEST is not set
1002# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1015# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1003# CONFIG_BACKTRACE_SELF_TEST is not set 1016# CONFIG_BACKTRACE_SELF_TEST is not set
1004# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1017# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1018# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1005# CONFIG_FAULT_INJECTION is not set 1019# CONFIG_FAULT_INJECTION is not set
1006# CONFIG_LATENCYTOP is not set 1020# CONFIG_LATENCYTOP is not set
1007CONFIG_SYSCTL_SYSCALL_CHECK=y 1021CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1024,6 +1038,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
1024# CONFIG_KMEMTRACE is not set 1038# CONFIG_KMEMTRACE is not set
1025# CONFIG_WORKQUEUE_TRACER is not set 1039# CONFIG_WORKQUEUE_TRACER is not set
1026# CONFIG_BLK_DEV_IO_TRACE is not set 1040# CONFIG_BLK_DEV_IO_TRACE is not set
1041# CONFIG_DMA_API_DEBUG is not set
1027# CONFIG_SAMPLES is not set 1042# CONFIG_SAMPLES is not set
1028CONFIG_HAVE_ARCH_KGDB=y 1043CONFIG_HAVE_ARCH_KGDB=y
1029# CONFIG_PPC_DISABLE_WERROR is not set 1044# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1052,7 +1067,6 @@ CONFIG_CRYPTO=y
1052# 1067#
1053# Crypto core or helper 1068# Crypto core or helper
1054# 1069#
1055# CONFIG_CRYPTO_FIPS is not set
1056CONFIG_CRYPTO_ALGAPI=y 1070CONFIG_CRYPTO_ALGAPI=y
1057CONFIG_CRYPTO_ALGAPI2=y 1071CONFIG_CRYPTO_ALGAPI2=y
1058CONFIG_CRYPTO_AEAD2=y 1072CONFIG_CRYPTO_AEAD2=y
@@ -1094,6 +1108,7 @@ CONFIG_CRYPTO_PCBC=y
1094# Digest 1108# Digest
1095# 1109#
1096# CONFIG_CRYPTO_CRC32C is not set 1110# CONFIG_CRYPTO_CRC32C is not set
1111# CONFIG_CRYPTO_GHASH is not set
1097# CONFIG_CRYPTO_MD4 is not set 1112# CONFIG_CRYPTO_MD4 is not set
1098CONFIG_CRYPTO_MD5=y 1113CONFIG_CRYPTO_MD5=y
1099# CONFIG_CRYPTO_MICHAEL_MIC is not set 1114# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index 2c292e25cc01..73ef9be41280 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:49 2009 4# Thu Nov 5 08:20:07 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_PPC_8xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_8xx=y 17CONFIG_8xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -29,6 +30,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
30CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
32CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y 36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -77,11 +79,12 @@ CONFIG_SYSVIPC_SYSCTL=y
77# 79#
78# RCU Subsystem 80# RCU Subsystem
79# 81#
80CONFIG_CLASSIC_RCU=y 82CONFIG_TREE_RCU=y
81# CONFIG_TREE_RCU is not set 83# CONFIG_TREE_PREEMPT_RCU is not set
82# CONFIG_PREEMPT_RCU is not set 84# CONFIG_RCU_TRACE is not set
85CONFIG_RCU_FANOUT=32
86# CONFIG_RCU_FANOUT_EXACT is not set
83# CONFIG_TREE_RCU_TRACE is not set 87# CONFIG_TREE_RCU_TRACE is not set
84# CONFIG_PREEMPT_RCU_TRACE is not set
85# CONFIG_IKCONFIG is not set 88# CONFIG_IKCONFIG is not set
86CONFIG_LOG_BUF_SHIFT=14 89CONFIG_LOG_BUF_SHIFT=14
87CONFIG_GROUP_SCHED=y 90CONFIG_GROUP_SCHED=y
@@ -115,28 +118,29 @@ CONFIG_TIMERFD=y
115CONFIG_EVENTFD=y 118CONFIG_EVENTFD=y
116CONFIG_SHMEM=y 119CONFIG_SHMEM=y
117CONFIG_AIO=y 120CONFIG_AIO=y
118CONFIG_HAVE_PERF_COUNTERS=y 121CONFIG_HAVE_PERF_EVENTS=y
119 122
120# 123#
121# Performance Counters 124# Kernel Performance Events And Counters
122# 125#
126# CONFIG_PERF_EVENTS is not set
123# CONFIG_PERF_COUNTERS is not set 127# CONFIG_PERF_COUNTERS is not set
124# CONFIG_VM_EVENT_COUNTERS is not set 128# CONFIG_VM_EVENT_COUNTERS is not set
125CONFIG_SLUB_DEBUG=y 129CONFIG_SLUB_DEBUG=y
126# CONFIG_STRIP_ASM_SYMS is not set
127CONFIG_COMPAT_BRK=y 130CONFIG_COMPAT_BRK=y
128# CONFIG_SLAB is not set 131# CONFIG_SLAB is not set
129CONFIG_SLUB=y 132CONFIG_SLUB=y
130# CONFIG_SLOB is not set 133# CONFIG_SLOB is not set
131# CONFIG_PROFILING is not set 134# CONFIG_PROFILING is not set
132# CONFIG_MARKERS is not set
133CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
134CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
135CONFIG_HAVE_IOREMAP_PROT=y 137CONFIG_HAVE_IOREMAP_PROT=y
136CONFIG_HAVE_KPROBES=y 138CONFIG_HAVE_KPROBES=y
137CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
138CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
141CONFIG_HAVE_DMA_ATTRS=y
139CONFIG_HAVE_CLK=y 142CONFIG_HAVE_CLK=y
143CONFIG_HAVE_DMA_API_DEBUG=y
140 144
141# 145#
142# GCOV-based kernel profiling 146# GCOV-based kernel profiling
@@ -234,10 +238,10 @@ CONFIG_BINFMT_ELF=y
234CONFIG_8XX_MINIMAL_FPEMU=y 238CONFIG_8XX_MINIMAL_FPEMU=y
235# CONFIG_IOMMU_HELPER is not set 239# CONFIG_IOMMU_HELPER is not set
236# CONFIG_SWIOTLB is not set 240# CONFIG_SWIOTLB is not set
237CONFIG_PPC_NEED_DMA_SYNC_OPS=y
238CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 241CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
239CONFIG_ARCH_HAS_WALK_MEMORY=y 242CONFIG_ARCH_HAS_WALK_MEMORY=y
240CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 243CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
244CONFIG_MAX_ACTIVE_REGIONS=32
241CONFIG_ARCH_FLATMEM_ENABLE=y 245CONFIG_ARCH_FLATMEM_ENABLE=y
242CONFIG_ARCH_POPULATES_NODE_MAP=y 246CONFIG_ARCH_POPULATES_NODE_MAP=y
243CONFIG_SELECT_MEMORY_MODEL=y 247CONFIG_SELECT_MEMORY_MODEL=y
@@ -255,6 +259,7 @@ CONFIG_BOUNCE=y
255CONFIG_VIRT_TO_BUS=y 259CONFIG_VIRT_TO_BUS=y
256CONFIG_HAVE_MLOCK=y 260CONFIG_HAVE_MLOCK=y
257CONFIG_HAVE_MLOCKED_PAGE_BIT=y 261CONFIG_HAVE_MLOCKED_PAGE_BIT=y
262# CONFIG_KSM is not set
258CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 263CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
259CONFIG_PPC_4K_PAGES=y 264CONFIG_PPC_4K_PAGES=y
260# CONFIG_PPC_16K_PAGES is not set 265# CONFIG_PPC_16K_PAGES is not set
@@ -337,6 +342,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
337# CONFIG_NETFILTER is not set 342# CONFIG_NETFILTER is not set
338# CONFIG_IP_DCCP is not set 343# CONFIG_IP_DCCP is not set
339# CONFIG_IP_SCTP is not set 344# CONFIG_IP_SCTP is not set
345# CONFIG_RDS is not set
340# CONFIG_TIPC is not set 346# CONFIG_TIPC is not set
341# CONFIG_ATM is not set 347# CONFIG_ATM is not set
342# CONFIG_BRIDGE is not set 348# CONFIG_BRIDGE is not set
@@ -366,6 +372,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
366# CONFIG_AF_RXRPC is not set 372# CONFIG_AF_RXRPC is not set
367CONFIG_WIRELESS=y 373CONFIG_WIRELESS=y
368# CONFIG_CFG80211 is not set 374# CONFIG_CFG80211 is not set
375CONFIG_CFG80211_DEFAULT_PS_VALUE=0
369CONFIG_WIRELESS_OLD_REGULATORY=y 376CONFIG_WIRELESS_OLD_REGULATORY=y
370# CONFIG_WIRELESS_EXT is not set 377# CONFIG_WIRELESS_EXT is not set
371# CONFIG_LIB80211 is not set 378# CONFIG_LIB80211 is not set
@@ -373,7 +380,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
373# 380#
374# CFG80211 needs to be enabled for MAC80211 381# CFG80211 needs to be enabled for MAC80211
375# 382#
376CONFIG_MAC80211_DEFAULT_PS_VALUE=0
377# CONFIG_WIMAX is not set 383# CONFIG_WIMAX is not set
378# CONFIG_RFKILL is not set 384# CONFIG_RFKILL is not set
379# CONFIG_NET_9P is not set 385# CONFIG_NET_9P is not set
@@ -386,6 +392,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
386# Generic Driver Options 392# Generic Driver Options
387# 393#
388CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 394CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
395# CONFIG_DEVTMPFS is not set
389CONFIG_STANDALONE=y 396CONFIG_STANDALONE=y
390CONFIG_PREVENT_FIRMWARE_BUILD=y 397CONFIG_PREVENT_FIRMWARE_BUILD=y
391# CONFIG_FW_LOADER is not set 398# CONFIG_FW_LOADER is not set
@@ -529,16 +536,15 @@ CONFIG_MII=y
529# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 536# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
530# CONFIG_B44 is not set 537# CONFIG_B44 is not set
531# CONFIG_KS8842 is not set 538# CONFIG_KS8842 is not set
539# CONFIG_KS8851_MLL is not set
540# CONFIG_XILINX_EMACLITE is not set
532CONFIG_FS_ENET=y 541CONFIG_FS_ENET=y
533# CONFIG_FS_ENET_HAS_SCC is not set 542# CONFIG_FS_ENET_HAS_SCC is not set
534CONFIG_FS_ENET_HAS_FEC=y 543CONFIG_FS_ENET_HAS_FEC=y
535CONFIG_FS_ENET_MDIO_FEC=y 544CONFIG_FS_ENET_MDIO_FEC=y
536# CONFIG_NETDEV_1000 is not set 545# CONFIG_NETDEV_1000 is not set
537# CONFIG_NETDEV_10000 is not set 546# CONFIG_NETDEV_10000 is not set
538 547CONFIG_WLAN=y
539#
540# Wireless LAN
541#
542# CONFIG_WLAN_PRE80211 is not set 548# CONFIG_WLAN_PRE80211 is not set
543# CONFIG_WLAN_80211 is not set 549# CONFIG_WLAN_80211 is not set
544 550
@@ -611,7 +617,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
611# CONFIG_POWER_SUPPLY is not set 617# CONFIG_POWER_SUPPLY is not set
612# CONFIG_HWMON is not set 618# CONFIG_HWMON is not set
613# CONFIG_THERMAL is not set 619# CONFIG_THERMAL is not set
614# CONFIG_THERMAL_HWMON is not set
615# CONFIG_WATCHDOG is not set 620# CONFIG_WATCHDOG is not set
616CONFIG_SSB_POSSIBLE=y 621CONFIG_SSB_POSSIBLE=y
617 622
@@ -672,6 +677,7 @@ CONFIG_SSB_POSSIBLE=y
672# CONFIG_GFS2_FS is not set 677# CONFIG_GFS2_FS is not set
673# CONFIG_OCFS2_FS is not set 678# CONFIG_OCFS2_FS is not set
674# CONFIG_BTRFS_FS is not set 679# CONFIG_BTRFS_FS is not set
680# CONFIG_NILFS2_FS is not set
675CONFIG_FILE_LOCKING=y 681CONFIG_FILE_LOCKING=y
676CONFIG_FSNOTIFY=y 682CONFIG_FSNOTIFY=y
677# CONFIG_DNOTIFY is not set 683# CONFIG_DNOTIFY is not set
@@ -731,7 +737,6 @@ CONFIG_CRAMFS=y
731# CONFIG_ROMFS_FS is not set 737# CONFIG_ROMFS_FS is not set
732# CONFIG_SYSV_FS is not set 738# CONFIG_SYSV_FS is not set
733# CONFIG_UFS_FS is not set 739# CONFIG_UFS_FS is not set
734# CONFIG_NILFS2_FS is not set
735CONFIG_NETWORK_FILESYSTEMS=y 740CONFIG_NETWORK_FILESYSTEMS=y
736CONFIG_NFS_FS=y 741CONFIG_NFS_FS=y
737CONFIG_NFS_V3=y 742CONFIG_NFS_V3=y
@@ -803,6 +808,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
803CONFIG_ENABLE_MUST_CHECK=y 808CONFIG_ENABLE_MUST_CHECK=y
804CONFIG_FRAME_WARN=1024 809CONFIG_FRAME_WARN=1024
805CONFIG_MAGIC_SYSRQ=y 810CONFIG_MAGIC_SYSRQ=y
811# CONFIG_STRIP_ASM_SYMS is not set
806# CONFIG_UNUSED_SYMBOLS is not set 812# CONFIG_UNUSED_SYMBOLS is not set
807# CONFIG_DEBUG_FS is not set 813# CONFIG_DEBUG_FS is not set
808# CONFIG_HEADERS_CHECK is not set 814# CONFIG_HEADERS_CHECK is not set
@@ -820,6 +826,7 @@ CONFIG_SCHED_DEBUG=y
820# CONFIG_DEBUG_OBJECTS is not set 826# CONFIG_DEBUG_OBJECTS is not set
821# CONFIG_SLUB_DEBUG_ON is not set 827# CONFIG_SLUB_DEBUG_ON is not set
822# CONFIG_SLUB_STATS is not set 828# CONFIG_SLUB_STATS is not set
829# CONFIG_DEBUG_KMEMLEAK is not set
823# CONFIG_DEBUG_SPINLOCK is not set 830# CONFIG_DEBUG_SPINLOCK is not set
824# CONFIG_DEBUG_MUTEXES is not set 831# CONFIG_DEBUG_MUTEXES is not set
825# CONFIG_DEBUG_LOCK_ALLOC is not set 832# CONFIG_DEBUG_LOCK_ALLOC is not set
@@ -836,10 +843,12 @@ CONFIG_DEBUG_INFO=y
836# CONFIG_DEBUG_LIST is not set 843# CONFIG_DEBUG_LIST is not set
837# CONFIG_DEBUG_SG is not set 844# CONFIG_DEBUG_SG is not set
838# CONFIG_DEBUG_NOTIFIERS is not set 845# CONFIG_DEBUG_NOTIFIERS is not set
846# CONFIG_DEBUG_CREDENTIALS is not set
839# CONFIG_RCU_TORTURE_TEST is not set 847# CONFIG_RCU_TORTURE_TEST is not set
840# CONFIG_RCU_CPU_STALL_DETECTOR is not set 848# CONFIG_RCU_CPU_STALL_DETECTOR is not set
841# CONFIG_BACKTRACE_SELF_TEST is not set 849# CONFIG_BACKTRACE_SELF_TEST is not set
842# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 850# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
851# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
843# CONFIG_FAULT_INJECTION is not set 852# CONFIG_FAULT_INJECTION is not set
844# CONFIG_LATENCYTOP is not set 853# CONFIG_LATENCYTOP is not set
845# CONFIG_DEBUG_PAGEALLOC is not set 854# CONFIG_DEBUG_PAGEALLOC is not set
@@ -861,10 +870,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
861# CONFIG_KMEMTRACE is not set 870# CONFIG_KMEMTRACE is not set
862# CONFIG_WORKQUEUE_TRACER is not set 871# CONFIG_WORKQUEUE_TRACER is not set
863# CONFIG_BLK_DEV_IO_TRACE is not set 872# CONFIG_BLK_DEV_IO_TRACE is not set
873# CONFIG_DMA_API_DEBUG is not set
864# CONFIG_SAMPLES is not set 874# CONFIG_SAMPLES is not set
865CONFIG_HAVE_ARCH_KGDB=y 875CONFIG_HAVE_ARCH_KGDB=y
866# CONFIG_KGDB is not set 876# CONFIG_KGDB is not set
867# CONFIG_KMEMCHECK is not set
868# CONFIG_PPC_DISABLE_WERROR is not set 877# CONFIG_PPC_DISABLE_WERROR is not set
869CONFIG_PPC_WERROR=y 878CONFIG_PPC_WERROR=y
870CONFIG_PRINT_STACK_DEPTH=64 879CONFIG_PRINT_STACK_DEPTH=64
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 45671e7dd2c7..63c3e8de8f16 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:50 2009 4# Thu Nov 5 08:20:08 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
34CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
38CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
39CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -83,11 +84,12 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
83# 84#
84# RCU Subsystem 85# RCU Subsystem
85# 86#
86CONFIG_CLASSIC_RCU=y 87CONFIG_TREE_RCU=y
87# CONFIG_TREE_RCU is not set 88# CONFIG_TREE_PREEMPT_RCU is not set
88# CONFIG_PREEMPT_RCU is not set 89# CONFIG_RCU_TRACE is not set
90CONFIG_RCU_FANOUT=32
91# CONFIG_RCU_FANOUT_EXACT is not set
89# CONFIG_TREE_RCU_TRACE is not set 92# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_PREEMPT_RCU_TRACE is not set
91CONFIG_IKCONFIG=y 93CONFIG_IKCONFIG=y
92CONFIG_IKCONFIG_PROC=y 94CONFIG_IKCONFIG_PROC=y
93CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
@@ -131,22 +133,21 @@ CONFIG_TIMERFD=y
131CONFIG_EVENTFD=y 133CONFIG_EVENTFD=y
132CONFIG_SHMEM=y 134CONFIG_SHMEM=y
133CONFIG_AIO=y 135CONFIG_AIO=y
134CONFIG_HAVE_PERF_COUNTERS=y 136CONFIG_HAVE_PERF_EVENTS=y
135 137
136# 138#
137# Performance Counters 139# Kernel Performance Events And Counters
138# 140#
141# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set 142# CONFIG_PERF_COUNTERS is not set
140CONFIG_VM_EVENT_COUNTERS=y 143CONFIG_VM_EVENT_COUNTERS=y
141CONFIG_PCI_QUIRKS=y 144CONFIG_PCI_QUIRKS=y
142CONFIG_SLUB_DEBUG=y 145CONFIG_SLUB_DEBUG=y
143# CONFIG_STRIP_ASM_SYMS is not set
144# CONFIG_COMPAT_BRK is not set 146# CONFIG_COMPAT_BRK is not set
145# CONFIG_SLAB is not set 147# CONFIG_SLAB is not set
146CONFIG_SLUB=y 148CONFIG_SLUB=y
147# CONFIG_SLOB is not set 149# CONFIG_SLOB is not set
148# CONFIG_PROFILING is not set 150# CONFIG_PROFILING is not set
149# CONFIG_MARKERS is not set
150CONFIG_HAVE_OPROFILE=y 151CONFIG_HAVE_OPROFILE=y
151# CONFIG_KPROBES is not set 152# CONFIG_KPROBES is not set
152CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 153CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -154,11 +155,13 @@ CONFIG_HAVE_IOREMAP_PROT=y
154CONFIG_HAVE_KPROBES=y 155CONFIG_HAVE_KPROBES=y
155CONFIG_HAVE_KRETPROBES=y 156CONFIG_HAVE_KRETPROBES=y
156CONFIG_HAVE_ARCH_TRACEHOOK=y 157CONFIG_HAVE_ARCH_TRACEHOOK=y
158CONFIG_HAVE_DMA_ATTRS=y
159CONFIG_HAVE_DMA_API_DEBUG=y
157 160
158# 161#
159# GCOV-based kernel profiling 162# GCOV-based kernel profiling
160# 163#
161# CONFIG_SLOW_WORK is not set 164CONFIG_SLOW_WORK=y
162# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 165# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
163CONFIG_SLABINFO=y 166CONFIG_SLABINFO=y
164CONFIG_RT_MUTEXES=y 167CONFIG_RT_MUTEXES=y
@@ -258,6 +261,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
258CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 261CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
259# CONFIG_KEXEC is not set 262# CONFIG_KEXEC is not set
260# CONFIG_CRASH_DUMP is not set 263# CONFIG_CRASH_DUMP is not set
264CONFIG_MAX_ACTIVE_REGIONS=32
261CONFIG_ARCH_FLATMEM_ENABLE=y 265CONFIG_ARCH_FLATMEM_ENABLE=y
262CONFIG_ARCH_POPULATES_NODE_MAP=y 266CONFIG_ARCH_POPULATES_NODE_MAP=y
263CONFIG_SELECT_MEMORY_MODEL=y 267CONFIG_SELECT_MEMORY_MODEL=y
@@ -275,6 +279,7 @@ CONFIG_BOUNCE=y
275CONFIG_VIRT_TO_BUS=y 279CONFIG_VIRT_TO_BUS=y
276CONFIG_HAVE_MLOCK=y 280CONFIG_HAVE_MLOCK=y
277CONFIG_HAVE_MLOCKED_PAGE_BIT=y 281CONFIG_HAVE_MLOCKED_PAGE_BIT=y
282# CONFIG_KSM is not set
278CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 283CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
279CONFIG_PPC_4K_PAGES=y 284CONFIG_PPC_4K_PAGES=y
280# CONFIG_PPC_16K_PAGES is not set 285# CONFIG_PPC_16K_PAGES is not set
@@ -482,6 +487,7 @@ CONFIG_IP_NF_ARPFILTER=m
482CONFIG_IP_NF_ARP_MANGLE=m 487CONFIG_IP_NF_ARP_MANGLE=m
483# CONFIG_IP_DCCP is not set 488# CONFIG_IP_DCCP is not set
484# CONFIG_IP_SCTP is not set 489# CONFIG_IP_SCTP is not set
490# CONFIG_RDS is not set
485# CONFIG_TIPC is not set 491# CONFIG_TIPC is not set
486# CONFIG_ATM is not set 492# CONFIG_ATM is not set
487# CONFIG_BRIDGE is not set 493# CONFIG_BRIDGE is not set
@@ -511,6 +517,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
511# CONFIG_AF_RXRPC is not set 517# CONFIG_AF_RXRPC is not set
512CONFIG_WIRELESS=y 518CONFIG_WIRELESS=y
513# CONFIG_CFG80211 is not set 519# CONFIG_CFG80211 is not set
520CONFIG_CFG80211_DEFAULT_PS_VALUE=0
514CONFIG_WIRELESS_OLD_REGULATORY=y 521CONFIG_WIRELESS_OLD_REGULATORY=y
515CONFIG_WIRELESS_EXT=y 522CONFIG_WIRELESS_EXT=y
516CONFIG_WIRELESS_EXT_SYSFS=y 523CONFIG_WIRELESS_EXT_SYSFS=y
@@ -519,7 +526,6 @@ CONFIG_WIRELESS_EXT_SYSFS=y
519# 526#
520# CFG80211 needs to be enabled for MAC80211 527# CFG80211 needs to be enabled for MAC80211
521# 528#
522CONFIG_MAC80211_DEFAULT_PS_VALUE=0
523# CONFIG_WIMAX is not set 529# CONFIG_WIMAX is not set
524# CONFIG_RFKILL is not set 530# CONFIG_RFKILL is not set
525# CONFIG_NET_9P is not set 531# CONFIG_NET_9P is not set
@@ -532,6 +538,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
532# Generic Driver Options 538# Generic Driver Options
533# 539#
534CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 540CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
541# CONFIG_DEVTMPFS is not set
535CONFIG_STANDALONE=y 542CONFIG_STANDALONE=y
536CONFIG_PREVENT_FIRMWARE_BUILD=y 543CONFIG_PREVENT_FIRMWARE_BUILD=y
537CONFIG_FW_LOADER=y 544CONFIG_FW_LOADER=y
@@ -543,9 +550,9 @@ CONFIG_EXTRA_FIRMWARE=""
543# CONFIG_CONNECTOR is not set 550# CONFIG_CONNECTOR is not set
544CONFIG_MTD=y 551CONFIG_MTD=y
545# CONFIG_MTD_DEBUG is not set 552# CONFIG_MTD_DEBUG is not set
553# CONFIG_MTD_TESTS is not set
546CONFIG_MTD_CONCAT=y 554CONFIG_MTD_CONCAT=y
547CONFIG_MTD_PARTITIONS=y 555CONFIG_MTD_PARTITIONS=y
548# CONFIG_MTD_TESTS is not set
549# CONFIG_MTD_REDBOOT_PARTS is not set 556# CONFIG_MTD_REDBOOT_PARTS is not set
550CONFIG_MTD_CMDLINE_PARTS=y 557CONFIG_MTD_CMDLINE_PARTS=y
551CONFIG_MTD_OF_PARTS=y 558CONFIG_MTD_OF_PARTS=y
@@ -711,6 +718,7 @@ CONFIG_SCSI_LOWLEVEL=y
711# CONFIG_ISCSI_TCP is not set 718# CONFIG_ISCSI_TCP is not set
712# CONFIG_SCSI_CXGB3_ISCSI is not set 719# CONFIG_SCSI_CXGB3_ISCSI is not set
713# CONFIG_SCSI_BNX2_ISCSI is not set 720# CONFIG_SCSI_BNX2_ISCSI is not set
721# CONFIG_BE2ISCSI is not set
714# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 722# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
715# CONFIG_SCSI_3W_9XXX is not set 723# CONFIG_SCSI_3W_9XXX is not set
716# CONFIG_SCSI_ACARD is not set 724# CONFIG_SCSI_ACARD is not set
@@ -750,11 +758,14 @@ CONFIG_SCSI_LOWLEVEL=y
750# CONFIG_SCSI_DC390T is not set 758# CONFIG_SCSI_DC390T is not set
751# CONFIG_SCSI_NSP32 is not set 759# CONFIG_SCSI_NSP32 is not set
752# CONFIG_SCSI_DEBUG is not set 760# CONFIG_SCSI_DEBUG is not set
761# CONFIG_SCSI_PMCRAID is not set
753# CONFIG_SCSI_SRP is not set 762# CONFIG_SCSI_SRP is not set
763# CONFIG_SCSI_BFA_FC is not set
754# CONFIG_SCSI_DH is not set 764# CONFIG_SCSI_DH is not set
755# CONFIG_SCSI_OSD_INITIATOR is not set 765# CONFIG_SCSI_OSD_INITIATOR is not set
756CONFIG_ATA=y 766CONFIG_ATA=y
757# CONFIG_ATA_NONSTANDARD is not set 767# CONFIG_ATA_NONSTANDARD is not set
768CONFIG_ATA_VERBOSE_ERROR=y
758CONFIG_SATA_PMP=y 769CONFIG_SATA_PMP=y
759# CONFIG_SATA_AHCI is not set 770# CONFIG_SATA_AHCI is not set
760# CONFIG_SATA_SIL24 is not set 771# CONFIG_SATA_SIL24 is not set
@@ -777,6 +788,7 @@ CONFIG_ATA_SFF=y
777# CONFIG_PATA_ALI is not set 788# CONFIG_PATA_ALI is not set
778# CONFIG_PATA_AMD is not set 789# CONFIG_PATA_AMD is not set
779# CONFIG_PATA_ARTOP is not set 790# CONFIG_PATA_ARTOP is not set
791# CONFIG_PATA_ATP867X is not set
780# CONFIG_PATA_ATIIXP is not set 792# CONFIG_PATA_ATIIXP is not set
781# CONFIG_PATA_CMD640_PCI is not set 793# CONFIG_PATA_CMD640_PCI is not set
782# CONFIG_PATA_CMD64X is not set 794# CONFIG_PATA_CMD64X is not set
@@ -804,6 +816,7 @@ CONFIG_PATA_IT821X=y
804# CONFIG_PATA_OPTIDMA is not set 816# CONFIG_PATA_OPTIDMA is not set
805# CONFIG_PATA_PDC_OLD is not set 817# CONFIG_PATA_PDC_OLD is not set
806# CONFIG_PATA_RADISYS is not set 818# CONFIG_PATA_RADISYS is not set
819# CONFIG_PATA_RDC is not set
807# CONFIG_PATA_RZ1000 is not set 820# CONFIG_PATA_RZ1000 is not set
808# CONFIG_PATA_SC1200 is not set 821# CONFIG_PATA_SC1200 is not set
809# CONFIG_PATA_SERVERWORKS is not set 822# CONFIG_PATA_SERVERWORKS is not set
@@ -870,7 +883,9 @@ CONFIG_TULIP_MMIO=y
870# CONFIG_NET_PCI is not set 883# CONFIG_NET_PCI is not set
871# CONFIG_B44 is not set 884# CONFIG_B44 is not set
872# CONFIG_KS8842 is not set 885# CONFIG_KS8842 is not set
886# CONFIG_KS8851_MLL is not set
873# CONFIG_ATL2 is not set 887# CONFIG_ATL2 is not set
888# CONFIG_XILINX_EMACLITE is not set
874CONFIG_NETDEV_1000=y 889CONFIG_NETDEV_1000=y
875# CONFIG_ACENIC is not set 890# CONFIG_ACENIC is not set
876# CONFIG_DL2K is not set 891# CONFIG_DL2K is not set
@@ -918,10 +933,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
918# CONFIG_SFC is not set 933# CONFIG_SFC is not set
919# CONFIG_BE2NET is not set 934# CONFIG_BE2NET is not set
920# CONFIG_TR is not set 935# CONFIG_TR is not set
921 936CONFIG_WLAN=y
922#
923# Wireless LAN
924#
925# CONFIG_WLAN_PRE80211 is not set 937# CONFIG_WLAN_PRE80211 is not set
926# CONFIG_WLAN_80211 is not set 938# CONFIG_WLAN_80211 is not set
927 939
@@ -1043,6 +1055,7 @@ CONFIG_HW_RANDOM=y
1043CONFIG_DEVPORT=y 1055CONFIG_DEVPORT=y
1044CONFIG_I2C=y 1056CONFIG_I2C=y
1045CONFIG_I2C_BOARDINFO=y 1057CONFIG_I2C_BOARDINFO=y
1058CONFIG_I2C_COMPAT=y
1046CONFIG_I2C_CHARDEV=y 1059CONFIG_I2C_CHARDEV=y
1047CONFIG_I2C_HELPER_AUTO=y 1060CONFIG_I2C_HELPER_AUTO=y
1048 1061
@@ -1097,9 +1110,6 @@ CONFIG_I2C_MPC=y
1097# Miscellaneous I2C Chip support 1110# Miscellaneous I2C Chip support
1098# 1111#
1099# CONFIG_DS1682 is not set 1112# CONFIG_DS1682 is not set
1100# CONFIG_SENSORS_PCF8574 is not set
1101# CONFIG_PCF8575 is not set
1102# CONFIG_SENSORS_PCA9539 is not set
1103# CONFIG_SENSORS_TSL2550 is not set 1113# CONFIG_SENSORS_TSL2550 is not set
1104# CONFIG_I2C_DEBUG_CORE is not set 1114# CONFIG_I2C_DEBUG_CORE is not set
1105# CONFIG_I2C_DEBUG_ALGO is not set 1115# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1117,6 +1127,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1117# CONFIG_POWER_SUPPLY is not set 1127# CONFIG_POWER_SUPPLY is not set
1118CONFIG_HWMON=y 1128CONFIG_HWMON=y
1119# CONFIG_HWMON_VID is not set 1129# CONFIG_HWMON_VID is not set
1130# CONFIG_HWMON_DEBUG_CHIP is not set
1131
1132#
1133# Native drivers
1134#
1120# CONFIG_SENSORS_AD7414 is not set 1135# CONFIG_SENSORS_AD7414 is not set
1121# CONFIG_SENSORS_AD7418 is not set 1136# CONFIG_SENSORS_AD7418 is not set
1122# CONFIG_SENSORS_ADM1021 is not set 1137# CONFIG_SENSORS_ADM1021 is not set
@@ -1166,6 +1181,7 @@ CONFIG_HWMON=y
1166# CONFIG_SENSORS_ADS7828 is not set 1181# CONFIG_SENSORS_ADS7828 is not set
1167# CONFIG_SENSORS_THMC50 is not set 1182# CONFIG_SENSORS_THMC50 is not set
1168# CONFIG_SENSORS_TMP401 is not set 1183# CONFIG_SENSORS_TMP401 is not set
1184# CONFIG_SENSORS_TMP421 is not set
1169# CONFIG_SENSORS_VIA686A is not set 1185# CONFIG_SENSORS_VIA686A is not set
1170# CONFIG_SENSORS_VT1211 is not set 1186# CONFIG_SENSORS_VT1211 is not set
1171# CONFIG_SENSORS_VT8231 is not set 1187# CONFIG_SENSORS_VT8231 is not set
@@ -1177,9 +1193,7 @@ CONFIG_HWMON=y
1177# CONFIG_SENSORS_W83L786NG is not set 1193# CONFIG_SENSORS_W83L786NG is not set
1178# CONFIG_SENSORS_W83627HF is not set 1194# CONFIG_SENSORS_W83627HF is not set
1179# CONFIG_SENSORS_W83627EHF is not set 1195# CONFIG_SENSORS_W83627EHF is not set
1180# CONFIG_HWMON_DEBUG_CHIP is not set
1181# CONFIG_THERMAL is not set 1196# CONFIG_THERMAL is not set
1182# CONFIG_THERMAL_HWMON is not set
1183# CONFIG_WATCHDOG is not set 1197# CONFIG_WATCHDOG is not set
1184CONFIG_SSB_POSSIBLE=y 1198CONFIG_SSB_POSSIBLE=y
1185 1199
@@ -1198,6 +1212,7 @@ CONFIG_SSB_POSSIBLE=y
1198# CONFIG_MFD_TMIO is not set 1212# CONFIG_MFD_TMIO is not set
1199# CONFIG_PMIC_DA903X is not set 1213# CONFIG_PMIC_DA903X is not set
1200# CONFIG_MFD_WM8400 is not set 1214# CONFIG_MFD_WM8400 is not set
1215# CONFIG_MFD_WM831X is not set
1201# CONFIG_MFD_WM8350_I2C is not set 1216# CONFIG_MFD_WM8350_I2C is not set
1202# CONFIG_MFD_PCF50633 is not set 1217# CONFIG_MFD_PCF50633 is not set
1203# CONFIG_AB3100_CORE is not set 1218# CONFIG_AB3100_CORE is not set
@@ -1208,6 +1223,7 @@ CONFIG_SSB_POSSIBLE=y
1208# Graphics support 1223# Graphics support
1209# 1224#
1210# CONFIG_AGP is not set 1225# CONFIG_AGP is not set
1226CONFIG_VGA_ARB=y
1211# CONFIG_DRM is not set 1227# CONFIG_DRM is not set
1212# CONFIG_VGASTATE is not set 1228# CONFIG_VGASTATE is not set
1213CONFIG_VIDEO_OUTPUT_CONTROL=m 1229CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1227,7 +1243,6 @@ CONFIG_DUMMY_CONSOLE=y
1227# CONFIG_SOUND is not set 1243# CONFIG_SOUND is not set
1228CONFIG_HID_SUPPORT=y 1244CONFIG_HID_SUPPORT=y
1229CONFIG_HID=m 1245CONFIG_HID=m
1230# CONFIG_HID_DEBUG is not set
1231# CONFIG_HIDRAW is not set 1246# CONFIG_HIDRAW is not set
1232 1247
1233# 1248#
@@ -1271,6 +1286,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1271# CONFIG_USB_OXU210HP_HCD is not set 1286# CONFIG_USB_OXU210HP_HCD is not set
1272# CONFIG_USB_ISP116X_HCD is not set 1287# CONFIG_USB_ISP116X_HCD is not set
1273# CONFIG_USB_ISP1760_HCD is not set 1288# CONFIG_USB_ISP1760_HCD is not set
1289# CONFIG_USB_ISP1362_HCD is not set
1274CONFIG_USB_OHCI_HCD=y 1290CONFIG_USB_OHCI_HCD=y
1275CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1291CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1276# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1292# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1500,6 +1516,7 @@ CONFIG_XFS_FS=m
1500# CONFIG_GFS2_FS is not set 1516# CONFIG_GFS2_FS is not set
1501# CONFIG_OCFS2_FS is not set 1517# CONFIG_OCFS2_FS is not set
1502# CONFIG_BTRFS_FS is not set 1518# CONFIG_BTRFS_FS is not set
1519# CONFIG_NILFS2_FS is not set
1503CONFIG_FILE_LOCKING=y 1520CONFIG_FILE_LOCKING=y
1504CONFIG_FSNOTIFY=y 1521CONFIG_FSNOTIFY=y
1505CONFIG_DNOTIFY=y 1522CONFIG_DNOTIFY=y
@@ -1567,7 +1584,6 @@ CONFIG_MISC_FILESYSTEMS=y
1567# CONFIG_ROMFS_FS is not set 1584# CONFIG_ROMFS_FS is not set
1568# CONFIG_SYSV_FS is not set 1585# CONFIG_SYSV_FS is not set
1569# CONFIG_UFS_FS is not set 1586# CONFIG_UFS_FS is not set
1570# CONFIG_NILFS2_FS is not set
1571CONFIG_NETWORK_FILESYSTEMS=y 1587CONFIG_NETWORK_FILESYSTEMS=y
1572CONFIG_NFS_FS=y 1588CONFIG_NFS_FS=y
1573CONFIG_NFS_V3=y 1589CONFIG_NFS_V3=y
@@ -1681,6 +1697,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1681CONFIG_ENABLE_MUST_CHECK=y 1697CONFIG_ENABLE_MUST_CHECK=y
1682CONFIG_FRAME_WARN=1024 1698CONFIG_FRAME_WARN=1024
1683CONFIG_MAGIC_SYSRQ=y 1699CONFIG_MAGIC_SYSRQ=y
1700# CONFIG_STRIP_ASM_SYMS is not set
1684# CONFIG_UNUSED_SYMBOLS is not set 1701# CONFIG_UNUSED_SYMBOLS is not set
1685# CONFIG_DEBUG_FS is not set 1702# CONFIG_DEBUG_FS is not set
1686# CONFIG_HEADERS_CHECK is not set 1703# CONFIG_HEADERS_CHECK is not set
@@ -1698,6 +1715,7 @@ CONFIG_SCHED_DEBUG=y
1698# CONFIG_DEBUG_OBJECTS is not set 1715# CONFIG_DEBUG_OBJECTS is not set
1699# CONFIG_SLUB_DEBUG_ON is not set 1716# CONFIG_SLUB_DEBUG_ON is not set
1700# CONFIG_SLUB_STATS is not set 1717# CONFIG_SLUB_STATS is not set
1718# CONFIG_DEBUG_KMEMLEAK is not set
1701# CONFIG_DEBUG_RT_MUTEXES is not set 1719# CONFIG_DEBUG_RT_MUTEXES is not set
1702# CONFIG_RT_MUTEX_TESTER is not set 1720# CONFIG_RT_MUTEX_TESTER is not set
1703# CONFIG_DEBUG_SPINLOCK is not set 1721# CONFIG_DEBUG_SPINLOCK is not set
@@ -1716,10 +1734,12 @@ CONFIG_DEBUG_MEMORY_INIT=y
1716# CONFIG_DEBUG_LIST is not set 1734# CONFIG_DEBUG_LIST is not set
1717# CONFIG_DEBUG_SG is not set 1735# CONFIG_DEBUG_SG is not set
1718# CONFIG_DEBUG_NOTIFIERS is not set 1736# CONFIG_DEBUG_NOTIFIERS is not set
1737# CONFIG_DEBUG_CREDENTIALS is not set
1719# CONFIG_RCU_TORTURE_TEST is not set 1738# CONFIG_RCU_TORTURE_TEST is not set
1720# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1739# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1721# CONFIG_BACKTRACE_SELF_TEST is not set 1740# CONFIG_BACKTRACE_SELF_TEST is not set
1722# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1741# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1742# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1723# CONFIG_FAULT_INJECTION is not set 1743# CONFIG_FAULT_INJECTION is not set
1724# CONFIG_LATENCYTOP is not set 1744# CONFIG_LATENCYTOP is not set
1725CONFIG_SYSCTL_SYSCALL_CHECK=y 1745CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1742,6 +1762,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
1742# CONFIG_KMEMTRACE is not set 1762# CONFIG_KMEMTRACE is not set
1743# CONFIG_WORKQUEUE_TRACER is not set 1763# CONFIG_WORKQUEUE_TRACER is not set
1744# CONFIG_BLK_DEV_IO_TRACE is not set 1764# CONFIG_BLK_DEV_IO_TRACE is not set
1765# CONFIG_DMA_API_DEBUG is not set
1745# CONFIG_SAMPLES is not set 1766# CONFIG_SAMPLES is not set
1746CONFIG_HAVE_ARCH_KGDB=y 1767CONFIG_HAVE_ARCH_KGDB=y
1747# CONFIG_KGDB is not set 1768# CONFIG_KGDB is not set
@@ -1771,7 +1792,6 @@ CONFIG_CRYPTO=y
1771# 1792#
1772# Crypto core or helper 1793# Crypto core or helper
1773# 1794#
1774# CONFIG_CRYPTO_FIPS is not set
1775CONFIG_CRYPTO_ALGAPI=y 1795CONFIG_CRYPTO_ALGAPI=y
1776CONFIG_CRYPTO_ALGAPI2=y 1796CONFIG_CRYPTO_ALGAPI2=y
1777CONFIG_CRYPTO_AEAD2=y 1797CONFIG_CRYPTO_AEAD2=y
@@ -1813,11 +1833,13 @@ CONFIG_CRYPTO_PCBC=m
1813# 1833#
1814# CONFIG_CRYPTO_HMAC is not set 1834# CONFIG_CRYPTO_HMAC is not set
1815# CONFIG_CRYPTO_XCBC is not set 1835# CONFIG_CRYPTO_XCBC is not set
1836# CONFIG_CRYPTO_VMAC is not set
1816 1837
1817# 1838#
1818# Digest 1839# Digest
1819# 1840#
1820CONFIG_CRYPTO_CRC32C=m 1841CONFIG_CRYPTO_CRC32C=m
1842# CONFIG_CRYPTO_GHASH is not set
1821CONFIG_CRYPTO_MD4=m 1843CONFIG_CRYPTO_MD4=m
1822CONFIG_CRYPTO_MD5=y 1844CONFIG_CRYPTO_MD5=y
1823CONFIG_CRYPTO_MICHAEL_MIC=m 1845CONFIG_CRYPTO_MICHAEL_MIC=m
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
index 30b68bfacebf..520b04a0def9 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.31-rc5 3# Linux kernel version: 2.6.32-rc5
4# Fri Aug 7 08:19:15 2009 4# Thu Nov 5 08:20:09 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
34CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
38CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
39CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -84,11 +85,12 @@ CONFIG_SYSVIPC_SYSCTL=y
84# 85#
85# RCU Subsystem 86# RCU Subsystem
86# 87#
87CONFIG_CLASSIC_RCU=y 88CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 89# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 93# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92CONFIG_IKCONFIG=y 94CONFIG_IKCONFIG=y
93CONFIG_IKCONFIG_PROC=y 95CONFIG_IKCONFIG_PROC=y
94CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
@@ -123,28 +125,29 @@ CONFIG_TIMERFD=y
123CONFIG_EVENTFD=y 125CONFIG_EVENTFD=y
124CONFIG_SHMEM=y 126CONFIG_SHMEM=y
125CONFIG_AIO=y 127CONFIG_AIO=y
126CONFIG_HAVE_PERF_COUNTERS=y 128CONFIG_HAVE_PERF_EVENTS=y
127 129
128# 130#
129# Performance Counters 131# Kernel Performance Events And Counters
130# 132#
133# CONFIG_PERF_EVENTS is not set
131# CONFIG_PERF_COUNTERS is not set 134# CONFIG_PERF_COUNTERS is not set
132CONFIG_VM_EVENT_COUNTERS=y 135CONFIG_VM_EVENT_COUNTERS=y
133CONFIG_PCI_QUIRKS=y 136CONFIG_PCI_QUIRKS=y
134# CONFIG_STRIP_ASM_SYMS is not set
135CONFIG_COMPAT_BRK=y 137CONFIG_COMPAT_BRK=y
136CONFIG_SLAB=y 138CONFIG_SLAB=y
137# CONFIG_SLUB is not set 139# CONFIG_SLUB is not set
138# CONFIG_SLOB is not set 140# CONFIG_SLOB is not set
139# CONFIG_PROFILING is not set 141# CONFIG_PROFILING is not set
140# CONFIG_MARKERS is not set
141CONFIG_HAVE_OPROFILE=y 142CONFIG_HAVE_OPROFILE=y
142CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 143CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
143CONFIG_HAVE_IOREMAP_PROT=y 144CONFIG_HAVE_IOREMAP_PROT=y
144CONFIG_HAVE_KPROBES=y 145CONFIG_HAVE_KPROBES=y
145CONFIG_HAVE_KRETPROBES=y 146CONFIG_HAVE_KRETPROBES=y
146CONFIG_HAVE_ARCH_TRACEHOOK=y 147CONFIG_HAVE_ARCH_TRACEHOOK=y
148CONFIG_HAVE_DMA_ATTRS=y
147CONFIG_HAVE_CLK=y 149CONFIG_HAVE_CLK=y
150CONFIG_HAVE_DMA_API_DEBUG=y
148 151
149# 152#
150# GCOV-based kernel profiling 153# GCOV-based kernel profiling
@@ -247,6 +250,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
247CONFIG_ARCH_HAS_WALK_MEMORY=y 250CONFIG_ARCH_HAS_WALK_MEMORY=y
248CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 251CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
249# CONFIG_CRASH_DUMP is not set 252# CONFIG_CRASH_DUMP is not set
253CONFIG_MAX_ACTIVE_REGIONS=32
250CONFIG_ARCH_FLATMEM_ENABLE=y 254CONFIG_ARCH_FLATMEM_ENABLE=y
251CONFIG_ARCH_POPULATES_NODE_MAP=y 255CONFIG_ARCH_POPULATES_NODE_MAP=y
252CONFIG_FLATMEM=y 256CONFIG_FLATMEM=y
@@ -260,6 +264,7 @@ CONFIG_BOUNCE=y
260CONFIG_VIRT_TO_BUS=y 264CONFIG_VIRT_TO_BUS=y
261CONFIG_HAVE_MLOCK=y 265CONFIG_HAVE_MLOCK=y
262CONFIG_HAVE_MLOCKED_PAGE_BIT=y 266CONFIG_HAVE_MLOCKED_PAGE_BIT=y
267# CONFIG_KSM is not set
263CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 268CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
264CONFIG_PPC_4K_PAGES=y 269CONFIG_PPC_4K_PAGES=y
265# CONFIG_PPC_16K_PAGES is not set 270# CONFIG_PPC_16K_PAGES is not set
@@ -390,6 +395,7 @@ CONFIG_NETFILTER_ADVANCED=y
390# CONFIG_BT is not set 395# CONFIG_BT is not set
391CONFIG_WIRELESS=y 396CONFIG_WIRELESS=y
392# CONFIG_CFG80211 is not set 397# CONFIG_CFG80211 is not set
398CONFIG_CFG80211_DEFAULT_PS_VALUE=0
393CONFIG_WIRELESS_OLD_REGULATORY=y 399CONFIG_WIRELESS_OLD_REGULATORY=y
394# CONFIG_WIRELESS_EXT is not set 400# CONFIG_WIRELESS_EXT is not set
395# CONFIG_LIB80211 is not set 401# CONFIG_LIB80211 is not set
@@ -397,7 +403,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
397# 403#
398# CFG80211 needs to be enabled for MAC80211 404# CFG80211 needs to be enabled for MAC80211
399# 405#
400CONFIG_MAC80211_DEFAULT_PS_VALUE=0
401# CONFIG_WIMAX is not set 406# CONFIG_WIMAX is not set
402# CONFIG_RFKILL is not set 407# CONFIG_RFKILL is not set
403 408
@@ -409,6 +414,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
409# Generic Driver Options 414# Generic Driver Options
410# 415#
411CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 416CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
417# CONFIG_DEVTMPFS is not set
412CONFIG_STANDALONE=y 418CONFIG_STANDALONE=y
413CONFIG_PREVENT_FIRMWARE_BUILD=y 419CONFIG_PREVENT_FIRMWARE_BUILD=y
414# CONFIG_FW_LOADER is not set 420# CONFIG_FW_LOADER is not set
@@ -608,7 +614,9 @@ CONFIG_MII=y
608# CONFIG_NET_PCI is not set 614# CONFIG_NET_PCI is not set
609# CONFIG_B44 is not set 615# CONFIG_B44 is not set
610# CONFIG_KS8842 is not set 616# CONFIG_KS8842 is not set
617# CONFIG_KS8851_MLL is not set
611# CONFIG_ATL2 is not set 618# CONFIG_ATL2 is not set
619# CONFIG_XILINX_EMACLITE is not set
612CONFIG_FS_ENET=y 620CONFIG_FS_ENET=y
613CONFIG_FS_ENET_HAS_SCC=y 621CONFIG_FS_ENET_HAS_SCC=y
614CONFIG_FS_ENET_HAS_FCC=y 622CONFIG_FS_ENET_HAS_FCC=y
@@ -616,10 +624,7 @@ CONFIG_FS_ENET_MDIO_FCC=y
616# CONFIG_NETDEV_1000 is not set 624# CONFIG_NETDEV_1000 is not set
617# CONFIG_NETDEV_10000 is not set 625# CONFIG_NETDEV_10000 is not set
618# CONFIG_TR is not set 626# CONFIG_TR is not set
619 627CONFIG_WLAN=y
620#
621# Wireless LAN
622#
623# CONFIG_WLAN_PRE80211 is not set 628# CONFIG_WLAN_PRE80211 is not set
624# CONFIG_WLAN_80211 is not set 629# CONFIG_WLAN_80211 is not set
625 630
@@ -685,6 +690,7 @@ CONFIG_HW_RANDOM=y
685CONFIG_DEVPORT=y 690CONFIG_DEVPORT=y
686CONFIG_I2C=y 691CONFIG_I2C=y
687CONFIG_I2C_BOARDINFO=y 692CONFIG_I2C_BOARDINFO=y
693CONFIG_I2C_COMPAT=y
688CONFIG_I2C_CHARDEV=y 694CONFIG_I2C_CHARDEV=y
689CONFIG_I2C_HELPER_AUTO=y 695CONFIG_I2C_HELPER_AUTO=y
690 696
@@ -740,7 +746,6 @@ CONFIG_I2C_CPM=y
740# 746#
741# Miscellaneous I2C Chip support 747# Miscellaneous I2C Chip support
742# 748#
743# CONFIG_PCF8575 is not set
744# CONFIG_I2C_DEBUG_CORE is not set 749# CONFIG_I2C_DEBUG_CORE is not set
745# CONFIG_I2C_DEBUG_ALGO is not set 750# CONFIG_I2C_DEBUG_ALGO is not set
746# CONFIG_I2C_DEBUG_BUS is not set 751# CONFIG_I2C_DEBUG_BUS is not set
@@ -771,15 +776,19 @@ CONFIG_GPIOLIB=y
771# PCI GPIO expanders: 776# PCI GPIO expanders:
772# 777#
773# CONFIG_GPIO_BT8XX is not set 778# CONFIG_GPIO_BT8XX is not set
779# CONFIG_GPIO_LANGWELL is not set
774 780
775# 781#
776# SPI GPIO expanders: 782# SPI GPIO expanders:
777# 783#
784
785#
786# AC97 GPIO expanders:
787#
778# CONFIG_W1 is not set 788# CONFIG_W1 is not set
779# CONFIG_POWER_SUPPLY is not set 789# CONFIG_POWER_SUPPLY is not set
780# CONFIG_HWMON is not set 790# CONFIG_HWMON is not set
781# CONFIG_THERMAL is not set 791# CONFIG_THERMAL is not set
782# CONFIG_THERMAL_HWMON is not set
783# CONFIG_WATCHDOG is not set 792# CONFIG_WATCHDOG is not set
784CONFIG_SSB_POSSIBLE=y 793CONFIG_SSB_POSSIBLE=y
785 794
@@ -799,6 +808,7 @@ CONFIG_SSB_POSSIBLE=y
799# CONFIG_MFD_TMIO is not set 808# CONFIG_MFD_TMIO is not set
800# CONFIG_PMIC_DA903X is not set 809# CONFIG_PMIC_DA903X is not set
801# CONFIG_MFD_WM8400 is not set 810# CONFIG_MFD_WM8400 is not set
811# CONFIG_MFD_WM831X is not set
802# CONFIG_MFD_WM8350_I2C is not set 812# CONFIG_MFD_WM8350_I2C is not set
803# CONFIG_MFD_PCF50633 is not set 813# CONFIG_MFD_PCF50633 is not set
804# CONFIG_AB3100_CORE is not set 814# CONFIG_AB3100_CORE is not set
@@ -809,6 +819,7 @@ CONFIG_SSB_POSSIBLE=y
809# Graphics support 819# Graphics support
810# 820#
811# CONFIG_AGP is not set 821# CONFIG_AGP is not set
822CONFIG_VGA_ARB=y
812# CONFIG_DRM is not set 823# CONFIG_DRM is not set
813# CONFIG_VGASTATE is not set 824# CONFIG_VGASTATE is not set
814# CONFIG_VIDEO_OUTPUT_CONTROL is not set 825# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1022,6 +1033,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1022CONFIG_ENABLE_MUST_CHECK=y 1033CONFIG_ENABLE_MUST_CHECK=y
1023CONFIG_FRAME_WARN=1024 1034CONFIG_FRAME_WARN=1024
1024CONFIG_MAGIC_SYSRQ=y 1035CONFIG_MAGIC_SYSRQ=y
1036# CONFIG_STRIP_ASM_SYMS is not set
1025# CONFIG_UNUSED_SYMBOLS is not set 1037# CONFIG_UNUSED_SYMBOLS is not set
1026CONFIG_DEBUG_FS=y 1038CONFIG_DEBUG_FS=y
1027# CONFIG_HEADERS_CHECK is not set 1039# CONFIG_HEADERS_CHECK is not set
@@ -1052,10 +1064,12 @@ CONFIG_DEBUG_INFO=y
1052# CONFIG_DEBUG_LIST is not set 1064# CONFIG_DEBUG_LIST is not set
1053# CONFIG_DEBUG_SG is not set 1065# CONFIG_DEBUG_SG is not set
1054# CONFIG_DEBUG_NOTIFIERS is not set 1066# CONFIG_DEBUG_NOTIFIERS is not set
1067# CONFIG_DEBUG_CREDENTIALS is not set
1055# CONFIG_RCU_TORTURE_TEST is not set 1068# CONFIG_RCU_TORTURE_TEST is not set
1056# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1069# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1057# CONFIG_BACKTRACE_SELF_TEST is not set 1070# CONFIG_BACKTRACE_SELF_TEST is not set
1058# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1071# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1072# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1059# CONFIG_FAULT_INJECTION is not set 1073# CONFIG_FAULT_INJECTION is not set
1060# CONFIG_LATENCYTOP is not set 1074# CONFIG_LATENCYTOP is not set
1061CONFIG_SYSCTL_SYSCALL_CHECK=y 1075CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1079,6 +1093,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
1079# CONFIG_WORKQUEUE_TRACER is not set 1093# CONFIG_WORKQUEUE_TRACER is not set
1080# CONFIG_BLK_DEV_IO_TRACE is not set 1094# CONFIG_BLK_DEV_IO_TRACE is not set
1081# CONFIG_DYNAMIC_DEBUG is not set 1095# CONFIG_DYNAMIC_DEBUG is not set
1096# CONFIG_DMA_API_DEBUG is not set
1082# CONFIG_SAMPLES is not set 1097# CONFIG_SAMPLES is not set
1083CONFIG_HAVE_ARCH_KGDB=y 1098CONFIG_HAVE_ARCH_KGDB=y
1084# CONFIG_PPC_DISABLE_WERROR is not set 1099# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1109,7 +1124,6 @@ CONFIG_CRYPTO=y
1109# 1124#
1110# Crypto core or helper 1125# Crypto core or helper
1111# 1126#
1112# CONFIG_CRYPTO_FIPS is not set
1113CONFIG_CRYPTO_ALGAPI=y 1127CONFIG_CRYPTO_ALGAPI=y
1114CONFIG_CRYPTO_ALGAPI2=y 1128CONFIG_CRYPTO_ALGAPI2=y
1115CONFIG_CRYPTO_AEAD2=y 1129CONFIG_CRYPTO_AEAD2=y
@@ -1151,6 +1165,7 @@ CONFIG_CRYPTO_PCBC=y
1151# Digest 1165# Digest
1152# 1166#
1153# CONFIG_CRYPTO_CRC32C is not set 1167# CONFIG_CRYPTO_CRC32C is not set
1168# CONFIG_CRYPTO_GHASH is not set
1154# CONFIG_CRYPTO_MD4 is not set 1169# CONFIG_CRYPTO_MD4 is not set
1155CONFIG_CRYPTO_MD5=y 1170CONFIG_CRYPTO_MD5=y
1156# CONFIG_CRYPTO_MICHAEL_MIC is not set 1171# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig
index 1ae85a3b2942..43c3c4fcdce3 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:52 2009 4# Thu Nov 5 08:20:10 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_PPC_8xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_8xx=y 17CONFIG_8xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -29,6 +30,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
30CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
32CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y 36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -76,11 +78,12 @@ CONFIG_SYSVIPC_SYSCTL=y
76# 78#
77# RCU Subsystem 79# RCU Subsystem
78# 80#
79CONFIG_CLASSIC_RCU=y 81CONFIG_TREE_RCU=y
80# CONFIG_TREE_RCU is not set 82# CONFIG_TREE_PREEMPT_RCU is not set
81# CONFIG_PREEMPT_RCU is not set 83# CONFIG_RCU_TRACE is not set
84CONFIG_RCU_FANOUT=32
85# CONFIG_RCU_FANOUT_EXACT is not set
82# CONFIG_TREE_RCU_TRACE is not set 86# CONFIG_TREE_RCU_TRACE is not set
83# CONFIG_PREEMPT_RCU_TRACE is not set
84# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
85CONFIG_LOG_BUF_SHIFT=17 88CONFIG_LOG_BUF_SHIFT=17
86CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -117,27 +120,28 @@ CONFIG_TIMERFD=y
117CONFIG_EVENTFD=y 120CONFIG_EVENTFD=y
118CONFIG_SHMEM=y 121CONFIG_SHMEM=y
119CONFIG_AIO=y 122CONFIG_AIO=y
120CONFIG_HAVE_PERF_COUNTERS=y 123CONFIG_HAVE_PERF_EVENTS=y
121 124
122# 125#
123# Performance Counters 126# Kernel Performance Events And Counters
124# 127#
128# CONFIG_PERF_EVENTS is not set
125# CONFIG_PERF_COUNTERS is not set 129# CONFIG_PERF_COUNTERS is not set
126# CONFIG_VM_EVENT_COUNTERS is not set 130# CONFIG_VM_EVENT_COUNTERS is not set
127# CONFIG_STRIP_ASM_SYMS is not set
128CONFIG_COMPAT_BRK=y 131CONFIG_COMPAT_BRK=y
129CONFIG_SLAB=y 132CONFIG_SLAB=y
130# CONFIG_SLUB is not set 133# CONFIG_SLUB is not set
131# CONFIG_SLOB is not set 134# CONFIG_SLOB is not set
132# CONFIG_PROFILING is not set 135# CONFIG_PROFILING is not set
133# CONFIG_MARKERS is not set
134CONFIG_HAVE_OPROFILE=y 136CONFIG_HAVE_OPROFILE=y
135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 137CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
136CONFIG_HAVE_IOREMAP_PROT=y 138CONFIG_HAVE_IOREMAP_PROT=y
137CONFIG_HAVE_KPROBES=y 139CONFIG_HAVE_KPROBES=y
138CONFIG_HAVE_KRETPROBES=y 140CONFIG_HAVE_KRETPROBES=y
139CONFIG_HAVE_ARCH_TRACEHOOK=y 141CONFIG_HAVE_ARCH_TRACEHOOK=y
142CONFIG_HAVE_DMA_ATTRS=y
140CONFIG_HAVE_CLK=y 143CONFIG_HAVE_CLK=y
144CONFIG_HAVE_DMA_API_DEBUG=y
141 145
142# 146#
143# GCOV-based kernel profiling 147# GCOV-based kernel profiling
@@ -237,10 +241,10 @@ CONFIG_BINFMT_ELF=y
237CONFIG_MATH_EMULATION=y 241CONFIG_MATH_EMULATION=y
238# CONFIG_IOMMU_HELPER is not set 242# CONFIG_IOMMU_HELPER is not set
239# CONFIG_SWIOTLB is not set 243# CONFIG_SWIOTLB is not set
240CONFIG_PPC_NEED_DMA_SYNC_OPS=y
241CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 244CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
242CONFIG_ARCH_HAS_WALK_MEMORY=y 245CONFIG_ARCH_HAS_WALK_MEMORY=y
243CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 246CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
247CONFIG_MAX_ACTIVE_REGIONS=32
244CONFIG_ARCH_FLATMEM_ENABLE=y 248CONFIG_ARCH_FLATMEM_ENABLE=y
245CONFIG_ARCH_POPULATES_NODE_MAP=y 249CONFIG_ARCH_POPULATES_NODE_MAP=y
246CONFIG_SELECT_MEMORY_MODEL=y 250CONFIG_SELECT_MEMORY_MODEL=y
@@ -258,6 +262,7 @@ CONFIG_BOUNCE=y
258CONFIG_VIRT_TO_BUS=y 262CONFIG_VIRT_TO_BUS=y
259CONFIG_HAVE_MLOCK=y 263CONFIG_HAVE_MLOCK=y
260CONFIG_HAVE_MLOCKED_PAGE_BIT=y 264CONFIG_HAVE_MLOCKED_PAGE_BIT=y
265# CONFIG_KSM is not set
261CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 266CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
262CONFIG_PPC_4K_PAGES=y 267CONFIG_PPC_4K_PAGES=y
263# CONFIG_PPC_16K_PAGES is not set 268# CONFIG_PPC_16K_PAGES is not set
@@ -344,6 +349,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
344# CONFIG_NETFILTER is not set 349# CONFIG_NETFILTER is not set
345# CONFIG_IP_DCCP is not set 350# CONFIG_IP_DCCP is not set
346# CONFIG_IP_SCTP is not set 351# CONFIG_IP_SCTP is not set
352# CONFIG_RDS is not set
347# CONFIG_TIPC is not set 353# CONFIG_TIPC is not set
348# CONFIG_ATM is not set 354# CONFIG_ATM is not set
349# CONFIG_BRIDGE is not set 355# CONFIG_BRIDGE is not set
@@ -373,6 +379,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
373# CONFIG_AF_RXRPC is not set 379# CONFIG_AF_RXRPC is not set
374CONFIG_WIRELESS=y 380CONFIG_WIRELESS=y
375# CONFIG_CFG80211 is not set 381# CONFIG_CFG80211 is not set
382CONFIG_CFG80211_DEFAULT_PS_VALUE=0
376CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
377# CONFIG_WIRELESS_EXT is not set 384# CONFIG_WIRELESS_EXT is not set
378# CONFIG_LIB80211 is not set 385# CONFIG_LIB80211 is not set
@@ -380,7 +387,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
380# 387#
381# CFG80211 needs to be enabled for MAC80211 388# CFG80211 needs to be enabled for MAC80211
382# 389#
383CONFIG_MAC80211_DEFAULT_PS_VALUE=0
384# CONFIG_WIMAX is not set 390# CONFIG_WIMAX is not set
385# CONFIG_RFKILL is not set 391# CONFIG_RFKILL is not set
386# CONFIG_NET_9P is not set 392# CONFIG_NET_9P is not set
@@ -553,16 +559,15 @@ CONFIG_MII=y
553# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 559# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
554# CONFIG_B44 is not set 560# CONFIG_B44 is not set
555# CONFIG_KS8842 is not set 561# CONFIG_KS8842 is not set
562# CONFIG_KS8851_MLL is not set
563# CONFIG_XILINX_EMACLITE is not set
556CONFIG_FS_ENET=y 564CONFIG_FS_ENET=y
557CONFIG_FS_ENET_HAS_SCC=y 565CONFIG_FS_ENET_HAS_SCC=y
558# CONFIG_FS_ENET_HAS_FEC is not set 566# CONFIG_FS_ENET_HAS_FEC is not set
559# CONFIG_FS_ENET_MDIO_FEC is not set 567# CONFIG_FS_ENET_MDIO_FEC is not set
560# CONFIG_NETDEV_1000 is not set 568# CONFIG_NETDEV_1000 is not set
561# CONFIG_NETDEV_10000 is not set 569# CONFIG_NETDEV_10000 is not set
562 570CONFIG_WLAN=y
563#
564# Wireless LAN
565#
566# CONFIG_WLAN_PRE80211 is not set 571# CONFIG_WLAN_PRE80211 is not set
567# CONFIG_WLAN_80211 is not set 572# CONFIG_WLAN_80211 is not set
568 573
@@ -635,7 +640,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
635# CONFIG_POWER_SUPPLY is not set 640# CONFIG_POWER_SUPPLY is not set
636# CONFIG_HWMON is not set 641# CONFIG_HWMON is not set
637# CONFIG_THERMAL is not set 642# CONFIG_THERMAL is not set
638# CONFIG_THERMAL_HWMON is not set
639# CONFIG_WATCHDOG is not set 643# CONFIG_WATCHDOG is not set
640CONFIG_SSB_POSSIBLE=y 644CONFIG_SSB_POSSIBLE=y
641 645
@@ -707,6 +711,7 @@ CONFIG_FS_MBCACHE=y
707# CONFIG_GFS2_FS is not set 711# CONFIG_GFS2_FS is not set
708# CONFIG_OCFS2_FS is not set 712# CONFIG_OCFS2_FS is not set
709# CONFIG_BTRFS_FS is not set 713# CONFIG_BTRFS_FS is not set
714# CONFIG_NILFS2_FS is not set
710CONFIG_FILE_LOCKING=y 715CONFIG_FILE_LOCKING=y
711CONFIG_FSNOTIFY=y 716CONFIG_FSNOTIFY=y
712CONFIG_DNOTIFY=y 717CONFIG_DNOTIFY=y
@@ -776,7 +781,6 @@ CONFIG_CRAMFS=y
776# CONFIG_ROMFS_FS is not set 781# CONFIG_ROMFS_FS is not set
777# CONFIG_SYSV_FS is not set 782# CONFIG_SYSV_FS is not set
778# CONFIG_UFS_FS is not set 783# CONFIG_UFS_FS is not set
779# CONFIG_NILFS2_FS is not set
780CONFIG_NETWORK_FILESYSTEMS=y 784CONFIG_NETWORK_FILESYSTEMS=y
781CONFIG_NFS_FS=y 785CONFIG_NFS_FS=y
782CONFIG_NFS_V3=y 786CONFIG_NFS_V3=y
@@ -851,6 +855,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
851CONFIG_ENABLE_MUST_CHECK=y 855CONFIG_ENABLE_MUST_CHECK=y
852CONFIG_FRAME_WARN=1024 856CONFIG_FRAME_WARN=1024
853# CONFIG_MAGIC_SYSRQ is not set 857# CONFIG_MAGIC_SYSRQ is not set
858# CONFIG_STRIP_ASM_SYMS is not set
854# CONFIG_UNUSED_SYMBOLS is not set 859# CONFIG_UNUSED_SYMBOLS is not set
855CONFIG_DEBUG_FS=y 860CONFIG_DEBUG_FS=y
856# CONFIG_HEADERS_CHECK is not set 861# CONFIG_HEADERS_CHECK is not set
@@ -865,6 +870,7 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
865CONFIG_TRACING_SUPPORT=y 870CONFIG_TRACING_SUPPORT=y
866# CONFIG_FTRACE is not set 871# CONFIG_FTRACE is not set
867# CONFIG_DYNAMIC_DEBUG is not set 872# CONFIG_DYNAMIC_DEBUG is not set
873# CONFIG_DMA_API_DEBUG is not set
868# CONFIG_SAMPLES is not set 874# CONFIG_SAMPLES is not set
869CONFIG_HAVE_ARCH_KGDB=y 875CONFIG_HAVE_ARCH_KGDB=y
870# CONFIG_PPC_DISABLE_WERROR is not set 876# CONFIG_PPC_DISABLE_WERROR is not set
@@ -887,7 +893,6 @@ CONFIG_CRYPTO=y
887# 893#
888# Crypto core or helper 894# Crypto core or helper
889# 895#
890# CONFIG_CRYPTO_FIPS is not set
891# CONFIG_CRYPTO_MANAGER is not set 896# CONFIG_CRYPTO_MANAGER is not set
892# CONFIG_CRYPTO_MANAGER2 is not set 897# CONFIG_CRYPTO_MANAGER2 is not set
893# CONFIG_CRYPTO_GF128MUL is not set 898# CONFIG_CRYPTO_GF128MUL is not set
@@ -918,11 +923,13 @@ CONFIG_CRYPTO=y
918# 923#
919# CONFIG_CRYPTO_HMAC is not set 924# CONFIG_CRYPTO_HMAC is not set
920# CONFIG_CRYPTO_XCBC is not set 925# CONFIG_CRYPTO_XCBC is not set
926# CONFIG_CRYPTO_VMAC is not set
921 927
922# 928#
923# Digest 929# Digest
924# 930#
925# CONFIG_CRYPTO_CRC32C is not set 931# CONFIG_CRYPTO_CRC32C is not set
932# CONFIG_CRYPTO_GHASH is not set
926# CONFIG_CRYPTO_MD4 is not set 933# CONFIG_CRYPTO_MD4 is not set
927# CONFIG_CRYPTO_MD5 is not set 934# CONFIG_CRYPTO_MD5 is not set
928# CONFIG_CRYPTO_MICHAEL_MIC is not set 935# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index f23428c3b34e..d8b364a45944 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:53 2009 4# Thu Nov 5 08:20:10 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
34CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
38CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
39CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -82,11 +83,12 @@ CONFIG_SYSVIPC_SYSCTL=y
82# 83#
83# RCU Subsystem 84# RCU Subsystem
84# 85#
85CONFIG_CLASSIC_RCU=y 86CONFIG_TREE_RCU=y
86# CONFIG_TREE_RCU is not set 87# CONFIG_TREE_PREEMPT_RCU is not set
87# CONFIG_PREEMPT_RCU is not set 88# CONFIG_RCU_TRACE is not set
89CONFIG_RCU_FANOUT=32
90# CONFIG_RCU_FANOUT_EXACT is not set
88# CONFIG_TREE_RCU_TRACE is not set 91# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
90# CONFIG_IKCONFIG is not set 92# CONFIG_IKCONFIG is not set
91CONFIG_LOG_BUF_SHIFT=14 93CONFIG_LOG_BUF_SHIFT=14
92CONFIG_GROUP_SCHED=y 94CONFIG_GROUP_SCHED=y
@@ -123,28 +125,29 @@ CONFIG_TIMERFD=y
123CONFIG_EVENTFD=y 125CONFIG_EVENTFD=y
124CONFIG_SHMEM=y 126CONFIG_SHMEM=y
125CONFIG_AIO=y 127CONFIG_AIO=y
126CONFIG_HAVE_PERF_COUNTERS=y 128CONFIG_HAVE_PERF_EVENTS=y
127 129
128# 130#
129# Performance Counters 131# Kernel Performance Events And Counters
130# 132#
133# CONFIG_PERF_EVENTS is not set
131# CONFIG_PERF_COUNTERS is not set 134# CONFIG_PERF_COUNTERS is not set
132CONFIG_VM_EVENT_COUNTERS=y 135CONFIG_VM_EVENT_COUNTERS=y
133CONFIG_PCI_QUIRKS=y 136CONFIG_PCI_QUIRKS=y
134CONFIG_SLUB_DEBUG=y 137CONFIG_SLUB_DEBUG=y
135# CONFIG_STRIP_ASM_SYMS is not set
136CONFIG_COMPAT_BRK=y 138CONFIG_COMPAT_BRK=y
137# CONFIG_SLAB is not set 139# CONFIG_SLAB is not set
138CONFIG_SLUB=y 140CONFIG_SLUB=y
139# CONFIG_SLOB is not set 141# CONFIG_SLOB is not set
140# CONFIG_PROFILING is not set 142# CONFIG_PROFILING is not set
141# CONFIG_MARKERS is not set
142CONFIG_HAVE_OPROFILE=y 143CONFIG_HAVE_OPROFILE=y
143CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
144CONFIG_HAVE_IOREMAP_PROT=y 145CONFIG_HAVE_IOREMAP_PROT=y
145CONFIG_HAVE_KPROBES=y 146CONFIG_HAVE_KPROBES=y
146CONFIG_HAVE_KRETPROBES=y 147CONFIG_HAVE_KRETPROBES=y
147CONFIG_HAVE_ARCH_TRACEHOOK=y 148CONFIG_HAVE_ARCH_TRACEHOOK=y
149CONFIG_HAVE_DMA_ATTRS=y
150CONFIG_HAVE_DMA_API_DEBUG=y
148 151
149# 152#
150# GCOV-based kernel profiling 153# GCOV-based kernel profiling
@@ -241,6 +244,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
241CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 244CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
242# CONFIG_KEXEC is not set 245# CONFIG_KEXEC is not set
243# CONFIG_CRASH_DUMP is not set 246# CONFIG_CRASH_DUMP is not set
247CONFIG_MAX_ACTIVE_REGIONS=32
244CONFIG_ARCH_FLATMEM_ENABLE=y 248CONFIG_ARCH_FLATMEM_ENABLE=y
245CONFIG_ARCH_POPULATES_NODE_MAP=y 249CONFIG_ARCH_POPULATES_NODE_MAP=y
246CONFIG_SELECT_MEMORY_MODEL=y 250CONFIG_SELECT_MEMORY_MODEL=y
@@ -258,6 +262,7 @@ CONFIG_BOUNCE=y
258CONFIG_VIRT_TO_BUS=y 262CONFIG_VIRT_TO_BUS=y
259CONFIG_HAVE_MLOCK=y 263CONFIG_HAVE_MLOCK=y
260CONFIG_HAVE_MLOCKED_PAGE_BIT=y 264CONFIG_HAVE_MLOCKED_PAGE_BIT=y
265# CONFIG_KSM is not set
261CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 266CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
262CONFIG_PPC_4K_PAGES=y 267CONFIG_PPC_4K_PAGES=y
263# CONFIG_PPC_16K_PAGES is not set 268# CONFIG_PPC_16K_PAGES is not set
@@ -350,6 +355,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_NETFILTER is not set 355# CONFIG_NETFILTER is not set
351# CONFIG_IP_DCCP is not set 356# CONFIG_IP_DCCP is not set
352# CONFIG_IP_SCTP is not set 357# CONFIG_IP_SCTP is not set
358# CONFIG_RDS is not set
353# CONFIG_TIPC is not set 359# CONFIG_TIPC is not set
354# CONFIG_ATM is not set 360# CONFIG_ATM is not set
355# CONFIG_BRIDGE is not set 361# CONFIG_BRIDGE is not set
@@ -379,6 +385,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
379# CONFIG_AF_RXRPC is not set 385# CONFIG_AF_RXRPC is not set
380CONFIG_WIRELESS=y 386CONFIG_WIRELESS=y
381# CONFIG_CFG80211 is not set 387# CONFIG_CFG80211 is not set
388CONFIG_CFG80211_DEFAULT_PS_VALUE=0
382CONFIG_WIRELESS_OLD_REGULATORY=y 389CONFIG_WIRELESS_OLD_REGULATORY=y
383# CONFIG_WIRELESS_EXT is not set 390# CONFIG_WIRELESS_EXT is not set
384# CONFIG_LIB80211 is not set 391# CONFIG_LIB80211 is not set
@@ -386,7 +393,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
386# 393#
387# CFG80211 needs to be enabled for MAC80211 394# CFG80211 needs to be enabled for MAC80211
388# 395#
389CONFIG_MAC80211_DEFAULT_PS_VALUE=0
390# CONFIG_WIMAX is not set 396# CONFIG_WIMAX is not set
391# CONFIG_RFKILL is not set 397# CONFIG_RFKILL is not set
392# CONFIG_NET_9P is not set 398# CONFIG_NET_9P is not set
@@ -399,6 +405,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
399# Generic Driver Options 405# Generic Driver Options
400# 406#
401CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 407CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
408# CONFIG_DEVTMPFS is not set
402CONFIG_STANDALONE=y 409CONFIG_STANDALONE=y
403CONFIG_PREVENT_FIRMWARE_BUILD=y 410CONFIG_PREVENT_FIRMWARE_BUILD=y
404# CONFIG_FW_LOADER is not set 411# CONFIG_FW_LOADER is not set
@@ -478,6 +485,7 @@ CONFIG_SCSI_LOWLEVEL=y
478# CONFIG_ISCSI_TCP is not set 485# CONFIG_ISCSI_TCP is not set
479# CONFIG_SCSI_CXGB3_ISCSI is not set 486# CONFIG_SCSI_CXGB3_ISCSI is not set
480# CONFIG_SCSI_BNX2_ISCSI is not set 487# CONFIG_SCSI_BNX2_ISCSI is not set
488# CONFIG_BE2ISCSI is not set
481# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 489# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
482# CONFIG_SCSI_3W_9XXX is not set 490# CONFIG_SCSI_3W_9XXX is not set
483# CONFIG_SCSI_ACARD is not set 491# CONFIG_SCSI_ACARD is not set
@@ -517,11 +525,14 @@ CONFIG_SCSI_LOWLEVEL=y
517# CONFIG_SCSI_DC390T is not set 525# CONFIG_SCSI_DC390T is not set
518# CONFIG_SCSI_NSP32 is not set 526# CONFIG_SCSI_NSP32 is not set
519# CONFIG_SCSI_DEBUG is not set 527# CONFIG_SCSI_DEBUG is not set
528# CONFIG_SCSI_PMCRAID is not set
520# CONFIG_SCSI_SRP is not set 529# CONFIG_SCSI_SRP is not set
530# CONFIG_SCSI_BFA_FC is not set
521# CONFIG_SCSI_DH is not set 531# CONFIG_SCSI_DH is not set
522# CONFIG_SCSI_OSD_INITIATOR is not set 532# CONFIG_SCSI_OSD_INITIATOR is not set
523CONFIG_ATA=y 533CONFIG_ATA=y
524# CONFIG_ATA_NONSTANDARD is not set 534# CONFIG_ATA_NONSTANDARD is not set
535CONFIG_ATA_VERBOSE_ERROR=y
525CONFIG_SATA_PMP=y 536CONFIG_SATA_PMP=y
526# CONFIG_SATA_AHCI is not set 537# CONFIG_SATA_AHCI is not set
527# CONFIG_SATA_SIL24 is not set 538# CONFIG_SATA_SIL24 is not set
@@ -543,6 +554,7 @@ CONFIG_SATA_MV=y
543# CONFIG_PATA_ALI is not set 554# CONFIG_PATA_ALI is not set
544# CONFIG_PATA_AMD is not set 555# CONFIG_PATA_AMD is not set
545# CONFIG_PATA_ARTOP is not set 556# CONFIG_PATA_ARTOP is not set
557# CONFIG_PATA_ATP867X is not set
546# CONFIG_PATA_ATIIXP is not set 558# CONFIG_PATA_ATIIXP is not set
547# CONFIG_PATA_CMD640_PCI is not set 559# CONFIG_PATA_CMD640_PCI is not set
548# CONFIG_PATA_CMD64X is not set 560# CONFIG_PATA_CMD64X is not set
@@ -570,6 +582,7 @@ CONFIG_SATA_MV=y
570# CONFIG_PATA_OPTIDMA is not set 582# CONFIG_PATA_OPTIDMA is not set
571# CONFIG_PATA_PDC_OLD is not set 583# CONFIG_PATA_PDC_OLD is not set
572# CONFIG_PATA_RADISYS is not set 584# CONFIG_PATA_RADISYS is not set
585# CONFIG_PATA_RDC is not set
573# CONFIG_PATA_RZ1000 is not set 586# CONFIG_PATA_RZ1000 is not set
574# CONFIG_PATA_SC1200 is not set 587# CONFIG_PATA_SC1200 is not set
575# CONFIG_PATA_SERVERWORKS is not set 588# CONFIG_PATA_SERVERWORKS is not set
@@ -666,9 +679,11 @@ CONFIG_8139TOO=y
666# CONFIG_SUNDANCE is not set 679# CONFIG_SUNDANCE is not set
667# CONFIG_TLAN is not set 680# CONFIG_TLAN is not set
668# CONFIG_KS8842 is not set 681# CONFIG_KS8842 is not set
682# CONFIG_KS8851_MLL is not set
669# CONFIG_VIA_RHINE is not set 683# CONFIG_VIA_RHINE is not set
670# CONFIG_SC92031 is not set 684# CONFIG_SC92031 is not set
671# CONFIG_ATL2 is not set 685# CONFIG_ATL2 is not set
686# CONFIG_XILINX_EMACLITE is not set
672CONFIG_NETDEV_1000=y 687CONFIG_NETDEV_1000=y
673# CONFIG_ACENIC is not set 688# CONFIG_ACENIC is not set
674# CONFIG_DL2K is not set 689# CONFIG_DL2K is not set
@@ -715,10 +730,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
715# CONFIG_SFC is not set 730# CONFIG_SFC is not set
716# CONFIG_BE2NET is not set 731# CONFIG_BE2NET is not set
717# CONFIG_TR is not set 732# CONFIG_TR is not set
718 733CONFIG_WLAN=y
719#
720# Wireless LAN
721#
722# CONFIG_WLAN_PRE80211 is not set 734# CONFIG_WLAN_PRE80211 is not set
723# CONFIG_WLAN_80211 is not set 735# CONFIG_WLAN_80211 is not set
724 736
@@ -822,6 +834,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
822# CONFIG_POWER_SUPPLY is not set 834# CONFIG_POWER_SUPPLY is not set
823CONFIG_HWMON=y 835CONFIG_HWMON=y
824# CONFIG_HWMON_VID is not set 836# CONFIG_HWMON_VID is not set
837# CONFIG_HWMON_DEBUG_CHIP is not set
838
839#
840# Native drivers
841#
825# CONFIG_SENSORS_I5K_AMB is not set 842# CONFIG_SENSORS_I5K_AMB is not set
826# CONFIG_SENSORS_F71805F is not set 843# CONFIG_SENSORS_F71805F is not set
827# CONFIG_SENSORS_F71882FG is not set 844# CONFIG_SENSORS_F71882FG is not set
@@ -836,9 +853,7 @@ CONFIG_HWMON=y
836# CONFIG_SENSORS_VT8231 is not set 853# CONFIG_SENSORS_VT8231 is not set
837# CONFIG_SENSORS_W83627HF is not set 854# CONFIG_SENSORS_W83627HF is not set
838# CONFIG_SENSORS_W83627EHF is not set 855# CONFIG_SENSORS_W83627EHF is not set
839# CONFIG_HWMON_DEBUG_CHIP is not set
840# CONFIG_THERMAL is not set 856# CONFIG_THERMAL is not set
841# CONFIG_THERMAL_HWMON is not set
842# CONFIG_WATCHDOG is not set 857# CONFIG_WATCHDOG is not set
843CONFIG_SSB_POSSIBLE=y 858CONFIG_SSB_POSSIBLE=y
844 859
@@ -861,6 +876,7 @@ CONFIG_SSB_POSSIBLE=y
861# Graphics support 876# Graphics support
862# 877#
863# CONFIG_AGP is not set 878# CONFIG_AGP is not set
879CONFIG_VGA_ARB=y
864# CONFIG_DRM is not set 880# CONFIG_DRM is not set
865# CONFIG_VGASTATE is not set 881# CONFIG_VGASTATE is not set
866CONFIG_VIDEO_OUTPUT_CONTROL=y 882CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -874,7 +890,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
874# CONFIG_SOUND is not set 890# CONFIG_SOUND is not set
875CONFIG_HID_SUPPORT=y 891CONFIG_HID_SUPPORT=y
876CONFIG_HID=y 892CONFIG_HID=y
877# CONFIG_HID_DEBUG is not set
878# CONFIG_HIDRAW is not set 893# CONFIG_HIDRAW is not set
879# CONFIG_HID_PID is not set 894# CONFIG_HID_PID is not set
880 895
@@ -939,6 +954,7 @@ CONFIG_FS_MBCACHE=y
939# CONFIG_GFS2_FS is not set 954# CONFIG_GFS2_FS is not set
940# CONFIG_OCFS2_FS is not set 955# CONFIG_OCFS2_FS is not set
941# CONFIG_BTRFS_FS is not set 956# CONFIG_BTRFS_FS is not set
957# CONFIG_NILFS2_FS is not set
942CONFIG_FILE_LOCKING=y 958CONFIG_FILE_LOCKING=y
943CONFIG_FSNOTIFY=y 959CONFIG_FSNOTIFY=y
944CONFIG_DNOTIFY=y 960CONFIG_DNOTIFY=y
@@ -997,7 +1013,6 @@ CONFIG_MISC_FILESYSTEMS=y
997# CONFIG_ROMFS_FS is not set 1013# CONFIG_ROMFS_FS is not set
998# CONFIG_SYSV_FS is not set 1014# CONFIG_SYSV_FS is not set
999# CONFIG_UFS_FS is not set 1015# CONFIG_UFS_FS is not set
1000# CONFIG_NILFS2_FS is not set
1001CONFIG_NETWORK_FILESYSTEMS=y 1016CONFIG_NETWORK_FILESYSTEMS=y
1002CONFIG_NFS_FS=y 1017CONFIG_NFS_FS=y
1003# CONFIG_NFS_V3 is not set 1018# CONFIG_NFS_V3 is not set
@@ -1069,6 +1084,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1069CONFIG_ENABLE_MUST_CHECK=y 1084CONFIG_ENABLE_MUST_CHECK=y
1070CONFIG_FRAME_WARN=1024 1085CONFIG_FRAME_WARN=1024
1071# CONFIG_MAGIC_SYSRQ is not set 1086# CONFIG_MAGIC_SYSRQ is not set
1087# CONFIG_STRIP_ASM_SYMS is not set
1072# CONFIG_UNUSED_SYMBOLS is not set 1088# CONFIG_UNUSED_SYMBOLS is not set
1073# CONFIG_DEBUG_FS is not set 1089# CONFIG_DEBUG_FS is not set
1074# CONFIG_HEADERS_CHECK is not set 1090# CONFIG_HEADERS_CHECK is not set
@@ -1086,6 +1102,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1086CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1102CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1087CONFIG_TRACING_SUPPORT=y 1103CONFIG_TRACING_SUPPORT=y
1088# CONFIG_FTRACE is not set 1104# CONFIG_FTRACE is not set
1105# CONFIG_DMA_API_DEBUG is not set
1089# CONFIG_SAMPLES is not set 1106# CONFIG_SAMPLES is not set
1090CONFIG_HAVE_ARCH_KGDB=y 1107CONFIG_HAVE_ARCH_KGDB=y
1091# CONFIG_PPC_DISABLE_WERROR is not set 1108# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1107,7 +1124,6 @@ CONFIG_CRYPTO=y
1107# 1124#
1108# Crypto core or helper 1125# Crypto core or helper
1109# 1126#
1110# CONFIG_CRYPTO_FIPS is not set
1111# CONFIG_CRYPTO_MANAGER is not set 1127# CONFIG_CRYPTO_MANAGER is not set
1112# CONFIG_CRYPTO_MANAGER2 is not set 1128# CONFIG_CRYPTO_MANAGER2 is not set
1113# CONFIG_CRYPTO_GF128MUL is not set 1129# CONFIG_CRYPTO_GF128MUL is not set
@@ -1138,11 +1154,13 @@ CONFIG_CRYPTO=y
1138# 1154#
1139# CONFIG_CRYPTO_HMAC is not set 1155# CONFIG_CRYPTO_HMAC is not set
1140# CONFIG_CRYPTO_XCBC is not set 1156# CONFIG_CRYPTO_XCBC is not set
1157# CONFIG_CRYPTO_VMAC is not set
1141 1158
1142# 1159#
1143# Digest 1160# Digest
1144# 1161#
1145# CONFIG_CRYPTO_CRC32C is not set 1162# CONFIG_CRYPTO_CRC32C is not set
1163# CONFIG_CRYPTO_GHASH is not set
1146# CONFIG_CRYPTO_MD4 is not set 1164# CONFIG_CRYPTO_MD4 is not set
1147# CONFIG_CRYPTO_MD5 is not set 1165# CONFIG_CRYPTO_MD5 is not set
1148# CONFIG_CRYPTO_MICHAEL_MIC is not set 1166# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index 02716f72db6f..00fad81b6fce 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:54 2009 4# Thu Nov 5 08:20:11 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
34CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
38CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
39CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -82,11 +83,12 @@ CONFIG_SYSVIPC_SYSCTL=y
82# 83#
83# RCU Subsystem 84# RCU Subsystem
84# 85#
85CONFIG_CLASSIC_RCU=y 86CONFIG_TREE_RCU=y
86# CONFIG_TREE_RCU is not set 87# CONFIG_TREE_PREEMPT_RCU is not set
87# CONFIG_PREEMPT_RCU is not set 88# CONFIG_RCU_TRACE is not set
89CONFIG_RCU_FANOUT=32
90# CONFIG_RCU_FANOUT_EXACT is not set
88# CONFIG_TREE_RCU_TRACE is not set 91# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
90CONFIG_IKCONFIG=y 92CONFIG_IKCONFIG=y
91CONFIG_IKCONFIG_PROC=y 93CONFIG_IKCONFIG_PROC=y
92CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
@@ -116,29 +118,30 @@ CONFIG_TIMERFD=y
116CONFIG_EVENTFD=y 118CONFIG_EVENTFD=y
117CONFIG_SHMEM=y 119CONFIG_SHMEM=y
118CONFIG_AIO=y 120CONFIG_AIO=y
119CONFIG_HAVE_PERF_COUNTERS=y 121CONFIG_HAVE_PERF_EVENTS=y
120 122
121# 123#
122# Performance Counters 124# Kernel Performance Events And Counters
123# 125#
126# CONFIG_PERF_EVENTS is not set
124# CONFIG_PERF_COUNTERS is not set 127# CONFIG_PERF_COUNTERS is not set
125CONFIG_VM_EVENT_COUNTERS=y 128CONFIG_VM_EVENT_COUNTERS=y
126CONFIG_PCI_QUIRKS=y 129CONFIG_PCI_QUIRKS=y
127CONFIG_SLUB_DEBUG=y 130CONFIG_SLUB_DEBUG=y
128# CONFIG_STRIP_ASM_SYMS is not set
129CONFIG_COMPAT_BRK=y 131CONFIG_COMPAT_BRK=y
130# CONFIG_SLAB is not set 132# CONFIG_SLAB is not set
131CONFIG_SLUB=y 133CONFIG_SLUB=y
132# CONFIG_SLOB is not set 134# CONFIG_SLOB is not set
133# CONFIG_PROFILING is not set 135# CONFIG_PROFILING is not set
134# CONFIG_MARKERS is not set
135CONFIG_HAVE_OPROFILE=y 136CONFIG_HAVE_OPROFILE=y
136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 137CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
137CONFIG_HAVE_IOREMAP_PROT=y 138CONFIG_HAVE_IOREMAP_PROT=y
138CONFIG_HAVE_KPROBES=y 139CONFIG_HAVE_KPROBES=y
139CONFIG_HAVE_KRETPROBES=y 140CONFIG_HAVE_KRETPROBES=y
140CONFIG_HAVE_ARCH_TRACEHOOK=y 141CONFIG_HAVE_ARCH_TRACEHOOK=y
142CONFIG_HAVE_DMA_ATTRS=y
141CONFIG_HAVE_CLK=y 143CONFIG_HAVE_CLK=y
144CONFIG_HAVE_DMA_API_DEBUG=y
142 145
143# 146#
144# GCOV-based kernel profiling 147# GCOV-based kernel profiling
@@ -151,6 +154,7 @@ CONFIG_BASE_SMALL=0
151# CONFIG_MODULES is not set 154# CONFIG_MODULES is not set
152CONFIG_BLOCK=y 155CONFIG_BLOCK=y
153CONFIG_LBDAF=y 156CONFIG_LBDAF=y
157CONFIG_BLK_DEV_BSG=y
154# CONFIG_BLK_DEV_INTEGRITY is not set 158# CONFIG_BLK_DEV_INTEGRITY is not set
155 159
156# 160#
@@ -236,6 +240,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
236CONFIG_ARCH_HAS_WALK_MEMORY=y 240CONFIG_ARCH_HAS_WALK_MEMORY=y
237CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 241CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
238# CONFIG_CRASH_DUMP is not set 242# CONFIG_CRASH_DUMP is not set
243CONFIG_MAX_ACTIVE_REGIONS=32
239CONFIG_ARCH_FLATMEM_ENABLE=y 244CONFIG_ARCH_FLATMEM_ENABLE=y
240CONFIG_ARCH_POPULATES_NODE_MAP=y 245CONFIG_ARCH_POPULATES_NODE_MAP=y
241CONFIG_FLATMEM=y 246CONFIG_FLATMEM=y
@@ -249,6 +254,7 @@ CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y 254CONFIG_VIRT_TO_BUS=y
250CONFIG_HAVE_MLOCK=y 255CONFIG_HAVE_MLOCK=y
251CONFIG_HAVE_MLOCKED_PAGE_BIT=y 256CONFIG_HAVE_MLOCKED_PAGE_BIT=y
257# CONFIG_KSM is not set
252CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 258CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
253CONFIG_PPC_4K_PAGES=y 259CONFIG_PPC_4K_PAGES=y
254# CONFIG_PPC_16K_PAGES is not set 260# CONFIG_PPC_16K_PAGES is not set
@@ -397,6 +403,7 @@ CONFIG_NETFILTER_ADVANCED=y
397# CONFIG_BT is not set 403# CONFIG_BT is not set
398CONFIG_WIRELESS=y 404CONFIG_WIRELESS=y
399# CONFIG_CFG80211 is not set 405# CONFIG_CFG80211 is not set
406CONFIG_CFG80211_DEFAULT_PS_VALUE=0
400CONFIG_WIRELESS_OLD_REGULATORY=y 407CONFIG_WIRELESS_OLD_REGULATORY=y
401# CONFIG_WIRELESS_EXT is not set 408# CONFIG_WIRELESS_EXT is not set
402# CONFIG_LIB80211 is not set 409# CONFIG_LIB80211 is not set
@@ -404,7 +411,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
404# 411#
405# CFG80211 needs to be enabled for MAC80211 412# CFG80211 needs to be enabled for MAC80211
406# 413#
407CONFIG_MAC80211_DEFAULT_PS_VALUE=0
408# CONFIG_WIMAX is not set 414# CONFIG_WIMAX is not set
409# CONFIG_RFKILL is not set 415# CONFIG_RFKILL is not set
410 416
@@ -416,6 +422,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
416# Generic Driver Options 422# Generic Driver Options
417# 423#
418CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 424CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
425# CONFIG_DEVTMPFS is not set
419CONFIG_STANDALONE=y 426CONFIG_STANDALONE=y
420CONFIG_PREVENT_FIRMWARE_BUILD=y 427CONFIG_PREVENT_FIRMWARE_BUILD=y
421# CONFIG_FW_LOADER is not set 428# CONFIG_FW_LOADER is not set
@@ -477,7 +484,6 @@ CONFIG_MTD_CFI_UTIL=y
477# CONFIG_MTD_COMPLEX_MAPPINGS is not set 484# CONFIG_MTD_COMPLEX_MAPPINGS is not set
478# CONFIG_MTD_PHYSMAP is not set 485# CONFIG_MTD_PHYSMAP is not set
479CONFIG_MTD_PHYSMAP_OF=y 486CONFIG_MTD_PHYSMAP_OF=y
480# CONFIG_MTD_SBC8240 is not set
481# CONFIG_MTD_INTEL_VR_NOR is not set 487# CONFIG_MTD_INTEL_VR_NOR is not set
482# CONFIG_MTD_PLATRAM is not set 488# CONFIG_MTD_PLATRAM is not set
483 489
@@ -604,7 +610,9 @@ CONFIG_MII=y
604# CONFIG_NET_PCI is not set 610# CONFIG_NET_PCI is not set
605# CONFIG_B44 is not set 611# CONFIG_B44 is not set
606# CONFIG_KS8842 is not set 612# CONFIG_KS8842 is not set
613# CONFIG_KS8851_MLL is not set
607# CONFIG_ATL2 is not set 614# CONFIG_ATL2 is not set
615# CONFIG_XILINX_EMACLITE is not set
608CONFIG_FS_ENET=y 616CONFIG_FS_ENET=y
609# CONFIG_FS_ENET_HAS_SCC is not set 617# CONFIG_FS_ENET_HAS_SCC is not set
610CONFIG_FS_ENET_HAS_FCC=y 618CONFIG_FS_ENET_HAS_FCC=y
@@ -652,10 +660,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
652# CONFIG_SFC is not set 660# CONFIG_SFC is not set
653# CONFIG_BE2NET is not set 661# CONFIG_BE2NET is not set
654# CONFIG_TR is not set 662# CONFIG_TR is not set
655 663CONFIG_WLAN=y
656#
657# Wireless LAN
658#
659# CONFIG_WLAN_PRE80211 is not set 664# CONFIG_WLAN_PRE80211 is not set
660# CONFIG_WLAN_80211 is not set 665# CONFIG_WLAN_80211 is not set
661 666
@@ -704,6 +709,7 @@ CONFIG_KEYBOARD_ATKBD=y
704# CONFIG_KEYBOARD_GPIO is not set 709# CONFIG_KEYBOARD_GPIO is not set
705# CONFIG_KEYBOARD_MATRIX is not set 710# CONFIG_KEYBOARD_MATRIX is not set
706# CONFIG_KEYBOARD_NEWTON is not set 711# CONFIG_KEYBOARD_NEWTON is not set
712# CONFIG_KEYBOARD_OPENCORES is not set
707# CONFIG_KEYBOARD_STOWAWAY is not set 713# CONFIG_KEYBOARD_STOWAWAY is not set
708# CONFIG_KEYBOARD_SUNKBD is not set 714# CONFIG_KEYBOARD_SUNKBD is not set
709# CONFIG_KEYBOARD_XTKBD is not set 715# CONFIG_KEYBOARD_XTKBD is not set
@@ -714,6 +720,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
714CONFIG_MOUSE_PS2_SYNAPTICS=y 720CONFIG_MOUSE_PS2_SYNAPTICS=y
715CONFIG_MOUSE_PS2_TRACKPOINT=y 721CONFIG_MOUSE_PS2_TRACKPOINT=y
716# CONFIG_MOUSE_PS2_ELANTECH is not set 722# CONFIG_MOUSE_PS2_ELANTECH is not set
723# CONFIG_MOUSE_PS2_SENTELIC is not set
717# CONFIG_MOUSE_PS2_TOUCHKIT is not set 724# CONFIG_MOUSE_PS2_TOUCHKIT is not set
718# CONFIG_MOUSE_SERIAL is not set 725# CONFIG_MOUSE_SERIAL is not set
719# CONFIG_MOUSE_VSXXXAA is not set 726# CONFIG_MOUSE_VSXXXAA is not set
@@ -793,15 +800,19 @@ CONFIG_GPIOLIB=y
793# PCI GPIO expanders: 800# PCI GPIO expanders:
794# 801#
795# CONFIG_GPIO_BT8XX is not set 802# CONFIG_GPIO_BT8XX is not set
803# CONFIG_GPIO_LANGWELL is not set
796 804
797# 805#
798# SPI GPIO expanders: 806# SPI GPIO expanders:
799# 807#
808
809#
810# AC97 GPIO expanders:
811#
800# CONFIG_W1 is not set 812# CONFIG_W1 is not set
801# CONFIG_POWER_SUPPLY is not set 813# CONFIG_POWER_SUPPLY is not set
802# CONFIG_HWMON is not set 814# CONFIG_HWMON is not set
803# CONFIG_THERMAL is not set 815# CONFIG_THERMAL is not set
804# CONFIG_THERMAL_HWMON is not set
805# CONFIG_WATCHDOG is not set 816# CONFIG_WATCHDOG is not set
806CONFIG_SSB_POSSIBLE=y 817CONFIG_SSB_POSSIBLE=y
807 818
@@ -824,6 +835,7 @@ CONFIG_SSB_POSSIBLE=y
824# Graphics support 835# Graphics support
825# 836#
826# CONFIG_AGP is not set 837# CONFIG_AGP is not set
838CONFIG_VGA_ARB=y
827# CONFIG_DRM is not set 839# CONFIG_DRM is not set
828# CONFIG_VGASTATE is not set 840# CONFIG_VGASTATE is not set
829# CONFIG_VIDEO_OUTPUT_CONTROL is not set 841# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1032,6 +1044,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1032CONFIG_ENABLE_MUST_CHECK=y 1044CONFIG_ENABLE_MUST_CHECK=y
1033CONFIG_FRAME_WARN=1024 1045CONFIG_FRAME_WARN=1024
1034CONFIG_MAGIC_SYSRQ=y 1046CONFIG_MAGIC_SYSRQ=y
1047# CONFIG_STRIP_ASM_SYMS is not set
1035# CONFIG_UNUSED_SYMBOLS is not set 1048# CONFIG_UNUSED_SYMBOLS is not set
1036# CONFIG_DEBUG_FS is not set 1049# CONFIG_DEBUG_FS is not set
1037# CONFIG_HEADERS_CHECK is not set 1050# CONFIG_HEADERS_CHECK is not set
@@ -1067,10 +1080,12 @@ CONFIG_DEBUG_INFO=y
1067# CONFIG_DEBUG_LIST is not set 1080# CONFIG_DEBUG_LIST is not set
1068# CONFIG_DEBUG_SG is not set 1081# CONFIG_DEBUG_SG is not set
1069# CONFIG_DEBUG_NOTIFIERS is not set 1082# CONFIG_DEBUG_NOTIFIERS is not set
1083# CONFIG_DEBUG_CREDENTIALS is not set
1070# CONFIG_RCU_TORTURE_TEST is not set 1084# CONFIG_RCU_TORTURE_TEST is not set
1071# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1085# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1072# CONFIG_BACKTRACE_SELF_TEST is not set 1086# CONFIG_BACKTRACE_SELF_TEST is not set
1073# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1087# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1088# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1074# CONFIG_FAULT_INJECTION is not set 1089# CONFIG_FAULT_INJECTION is not set
1075# CONFIG_LATENCYTOP is not set 1090# CONFIG_LATENCYTOP is not set
1076CONFIG_SYSCTL_SYSCALL_CHECK=y 1091CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1093,6 +1108,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
1093# CONFIG_KMEMTRACE is not set 1108# CONFIG_KMEMTRACE is not set
1094# CONFIG_WORKQUEUE_TRACER is not set 1109# CONFIG_WORKQUEUE_TRACER is not set
1095# CONFIG_BLK_DEV_IO_TRACE is not set 1110# CONFIG_BLK_DEV_IO_TRACE is not set
1111# CONFIG_DMA_API_DEBUG is not set
1096# CONFIG_SAMPLES is not set 1112# CONFIG_SAMPLES is not set
1097CONFIG_HAVE_ARCH_KGDB=y 1113CONFIG_HAVE_ARCH_KGDB=y
1098# CONFIG_PPC_DISABLE_WERROR is not set 1114# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1121,7 +1137,6 @@ CONFIG_CRYPTO=y
1121# 1137#
1122# Crypto core or helper 1138# Crypto core or helper
1123# 1139#
1124# CONFIG_CRYPTO_FIPS is not set
1125CONFIG_CRYPTO_ALGAPI=y 1140CONFIG_CRYPTO_ALGAPI=y
1126CONFIG_CRYPTO_ALGAPI2=y 1141CONFIG_CRYPTO_ALGAPI2=y
1127CONFIG_CRYPTO_AEAD2=y 1142CONFIG_CRYPTO_AEAD2=y
@@ -1163,6 +1178,7 @@ CONFIG_CRYPTO_PCBC=y
1163# Digest 1178# Digest
1164# 1179#
1165# CONFIG_CRYPTO_CRC32C is not set 1180# CONFIG_CRYPTO_CRC32C is not set
1181# CONFIG_CRYPTO_GHASH is not set
1166# CONFIG_CRYPTO_MD4 is not set 1182# CONFIG_CRYPTO_MD4 is not set
1167CONFIG_CRYPTO_MD5=y 1183CONFIG_CRYPTO_MD5=y
1168# CONFIG_CRYPTO_MICHAEL_MIC is not set 1184# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index 4a96cb6925b4..64dff21516cb 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:55 2009 4# Thu Nov 5 08:20:12 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -35,6 +35,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
38CONFIG_IRQ_PER_CPU=y 39CONFIG_IRQ_PER_CPU=y
39CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -86,11 +87,12 @@ CONFIG_SYSVIPC_SYSCTL=y
86# 87#
87# RCU Subsystem 88# RCU Subsystem
88# 89#
89CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
90# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
91# CONFIG_PREEMPT_RCU is not set 92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
92# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
93# CONFIG_PREEMPT_RCU_TRACE is not set
94# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
95CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
96CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -127,21 +129,20 @@ CONFIG_TIMERFD=y
127CONFIG_EVENTFD=y 129CONFIG_EVENTFD=y
128CONFIG_SHMEM=y 130CONFIG_SHMEM=y
129CONFIG_AIO=y 131CONFIG_AIO=y
130CONFIG_HAVE_PERF_COUNTERS=y 132CONFIG_HAVE_PERF_EVENTS=y
131 133
132# 134#
133# Performance Counters 135# Kernel Performance Events And Counters
134# 136#
137# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set 138# CONFIG_PERF_COUNTERS is not set
136CONFIG_VM_EVENT_COUNTERS=y 139CONFIG_VM_EVENT_COUNTERS=y
137CONFIG_PCI_QUIRKS=y 140CONFIG_PCI_QUIRKS=y
138# CONFIG_STRIP_ASM_SYMS is not set
139CONFIG_COMPAT_BRK=y 141CONFIG_COMPAT_BRK=y
140CONFIG_SLAB=y 142CONFIG_SLAB=y
141# CONFIG_SLUB is not set 143# CONFIG_SLUB is not set
142# CONFIG_SLOB is not set 144# CONFIG_SLOB is not set
143# CONFIG_PROFILING is not set 145# CONFIG_PROFILING is not set
144# CONFIG_MARKERS is not set
145CONFIG_HAVE_OPROFILE=y 146CONFIG_HAVE_OPROFILE=y
146# CONFIG_KPROBES is not set 147# CONFIG_KPROBES is not set
147CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 148CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -149,6 +150,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
149CONFIG_HAVE_KPROBES=y 150CONFIG_HAVE_KPROBES=y
150CONFIG_HAVE_KRETPROBES=y 151CONFIG_HAVE_KRETPROBES=y
151CONFIG_HAVE_ARCH_TRACEHOOK=y 152CONFIG_HAVE_ARCH_TRACEHOOK=y
153CONFIG_HAVE_DMA_ATTRS=y
154CONFIG_HAVE_DMA_API_DEBUG=y
152 155
153# 156#
154# GCOV-based kernel profiling 157# GCOV-based kernel profiling
@@ -263,6 +266,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
263CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 266CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
264# CONFIG_KEXEC is not set 267# CONFIG_KEXEC is not set
265# CONFIG_CRASH_DUMP is not set 268# CONFIG_CRASH_DUMP is not set
269CONFIG_MAX_ACTIVE_REGIONS=32
266CONFIG_ARCH_FLATMEM_ENABLE=y 270CONFIG_ARCH_FLATMEM_ENABLE=y
267CONFIG_ARCH_POPULATES_NODE_MAP=y 271CONFIG_ARCH_POPULATES_NODE_MAP=y
268CONFIG_SELECT_MEMORY_MODEL=y 272CONFIG_SELECT_MEMORY_MODEL=y
@@ -280,6 +284,7 @@ CONFIG_BOUNCE=y
280CONFIG_VIRT_TO_BUS=y 284CONFIG_VIRT_TO_BUS=y
281CONFIG_HAVE_MLOCK=y 285CONFIG_HAVE_MLOCK=y
282CONFIG_HAVE_MLOCKED_PAGE_BIT=y 286CONFIG_HAVE_MLOCKED_PAGE_BIT=y
287# CONFIG_KSM is not set
283CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 288CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
284CONFIG_PPC_4K_PAGES=y 289CONFIG_PPC_4K_PAGES=y
285# CONFIG_PPC_16K_PAGES is not set 290# CONFIG_PPC_16K_PAGES is not set
@@ -343,7 +348,8 @@ CONFIG_XFRM_USER=m
343# CONFIG_XFRM_SUB_POLICY is not set 348# CONFIG_XFRM_SUB_POLICY is not set
344# CONFIG_XFRM_MIGRATE is not set 349# CONFIG_XFRM_MIGRATE is not set
345# CONFIG_XFRM_STATISTICS is not set 350# CONFIG_XFRM_STATISTICS is not set
346# CONFIG_NET_KEY is not set 351CONFIG_NET_KEY=y
352# CONFIG_NET_KEY_MIGRATE is not set
347CONFIG_INET=y 353CONFIG_INET=y
348CONFIG_IP_MULTICAST=y 354CONFIG_IP_MULTICAST=y
349# CONFIG_IP_ADVANCED_ROUTER is not set 355# CONFIG_IP_ADVANCED_ROUTER is not set
@@ -358,7 +364,7 @@ CONFIG_IP_PNP_BOOTP=y
358# CONFIG_ARPD is not set 364# CONFIG_ARPD is not set
359CONFIG_SYN_COOKIES=y 365CONFIG_SYN_COOKIES=y
360# CONFIG_INET_AH is not set 366# CONFIG_INET_AH is not set
361# CONFIG_INET_ESP is not set 367CONFIG_INET_ESP=y
362# CONFIG_INET_IPCOMP is not set 368# CONFIG_INET_IPCOMP is not set
363# CONFIG_INET_XFRM_TUNNEL is not set 369# CONFIG_INET_XFRM_TUNNEL is not set
364# CONFIG_INET_TUNNEL is not set 370# CONFIG_INET_TUNNEL is not set
@@ -377,6 +383,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
377# CONFIG_NETFILTER is not set 383# CONFIG_NETFILTER is not set
378# CONFIG_IP_DCCP is not set 384# CONFIG_IP_DCCP is not set
379# CONFIG_IP_SCTP is not set 385# CONFIG_IP_SCTP is not set
386# CONFIG_RDS is not set
380# CONFIG_TIPC is not set 387# CONFIG_TIPC is not set
381# CONFIG_ATM is not set 388# CONFIG_ATM is not set
382# CONFIG_BRIDGE is not set 389# CONFIG_BRIDGE is not set
@@ -406,6 +413,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
406# CONFIG_AF_RXRPC is not set 413# CONFIG_AF_RXRPC is not set
407CONFIG_WIRELESS=y 414CONFIG_WIRELESS=y
408# CONFIG_CFG80211 is not set 415# CONFIG_CFG80211 is not set
416CONFIG_CFG80211_DEFAULT_PS_VALUE=0
409CONFIG_WIRELESS_OLD_REGULATORY=y 417CONFIG_WIRELESS_OLD_REGULATORY=y
410# CONFIG_WIRELESS_EXT is not set 418# CONFIG_WIRELESS_EXT is not set
411# CONFIG_LIB80211 is not set 419# CONFIG_LIB80211 is not set
@@ -413,7 +421,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
413# 421#
414# CFG80211 needs to be enabled for MAC80211 422# CFG80211 needs to be enabled for MAC80211
415# 423#
416CONFIG_MAC80211_DEFAULT_PS_VALUE=0
417# CONFIG_WIMAX is not set 424# CONFIG_WIMAX is not set
418# CONFIG_RFKILL is not set 425# CONFIG_RFKILL is not set
419# CONFIG_NET_9P is not set 426# CONFIG_NET_9P is not set
@@ -426,6 +433,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
426# Generic Driver Options 433# Generic Driver Options
427# 434#
428CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 435CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
436# CONFIG_DEVTMPFS is not set
429CONFIG_STANDALONE=y 437CONFIG_STANDALONE=y
430CONFIG_PREVENT_FIRMWARE_BUILD=y 438CONFIG_PREVENT_FIRMWARE_BUILD=y
431# CONFIG_FW_LOADER is not set 439# CONFIG_FW_LOADER is not set
@@ -433,9 +441,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
433# CONFIG_CONNECTOR is not set 441# CONFIG_CONNECTOR is not set
434CONFIG_MTD=y 442CONFIG_MTD=y
435# CONFIG_MTD_DEBUG is not set 443# CONFIG_MTD_DEBUG is not set
444# CONFIG_MTD_TESTS is not set
436# CONFIG_MTD_CONCAT is not set 445# CONFIG_MTD_CONCAT is not set
437CONFIG_MTD_PARTITIONS=y 446CONFIG_MTD_PARTITIONS=y
438# CONFIG_MTD_TESTS is not set
439# CONFIG_MTD_REDBOOT_PARTS is not set 447# CONFIG_MTD_REDBOOT_PARTS is not set
440# CONFIG_MTD_CMDLINE_PARTS is not set 448# CONFIG_MTD_CMDLINE_PARTS is not set
441CONFIG_MTD_OF_PARTS=y 449CONFIG_MTD_OF_PARTS=y
@@ -608,6 +616,7 @@ CONFIG_SCSI_LOWLEVEL=y
608# CONFIG_ISCSI_TCP is not set 616# CONFIG_ISCSI_TCP is not set
609# CONFIG_SCSI_CXGB3_ISCSI is not set 617# CONFIG_SCSI_CXGB3_ISCSI is not set
610# CONFIG_SCSI_BNX2_ISCSI is not set 618# CONFIG_SCSI_BNX2_ISCSI is not set
619# CONFIG_BE2ISCSI is not set
611# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 620# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
612# CONFIG_SCSI_3W_9XXX is not set 621# CONFIG_SCSI_3W_9XXX is not set
613# CONFIG_SCSI_ACARD is not set 622# CONFIG_SCSI_ACARD is not set
@@ -647,11 +656,14 @@ CONFIG_SCSI_LOWLEVEL=y
647# CONFIG_SCSI_DC390T is not set 656# CONFIG_SCSI_DC390T is not set
648# CONFIG_SCSI_NSP32 is not set 657# CONFIG_SCSI_NSP32 is not set
649# CONFIG_SCSI_DEBUG is not set 658# CONFIG_SCSI_DEBUG is not set
659# CONFIG_SCSI_PMCRAID is not set
650# CONFIG_SCSI_SRP is not set 660# CONFIG_SCSI_SRP is not set
661# CONFIG_SCSI_BFA_FC is not set
651# CONFIG_SCSI_DH is not set 662# CONFIG_SCSI_DH is not set
652# CONFIG_SCSI_OSD_INITIATOR is not set 663# CONFIG_SCSI_OSD_INITIATOR is not set
653CONFIG_ATA=y 664CONFIG_ATA=y
654# CONFIG_ATA_NONSTANDARD is not set 665# CONFIG_ATA_NONSTANDARD is not set
666CONFIG_ATA_VERBOSE_ERROR=y
655CONFIG_SATA_PMP=y 667CONFIG_SATA_PMP=y
656# CONFIG_SATA_AHCI is not set 668# CONFIG_SATA_AHCI is not set
657# CONFIG_SATA_SIL24 is not set 669# CONFIG_SATA_SIL24 is not set
@@ -674,6 +686,7 @@ CONFIG_ATA_SFF=y
674# CONFIG_PATA_ALI is not set 686# CONFIG_PATA_ALI is not set
675# CONFIG_PATA_AMD is not set 687# CONFIG_PATA_AMD is not set
676# CONFIG_PATA_ARTOP is not set 688# CONFIG_PATA_ARTOP is not set
689# CONFIG_PATA_ATP867X is not set
677# CONFIG_PATA_ATIIXP is not set 690# CONFIG_PATA_ATIIXP is not set
678# CONFIG_PATA_CMD640_PCI is not set 691# CONFIG_PATA_CMD640_PCI is not set
679# CONFIG_PATA_CMD64X is not set 692# CONFIG_PATA_CMD64X is not set
@@ -701,6 +714,7 @@ CONFIG_ATA_SFF=y
701# CONFIG_PATA_OPTIDMA is not set 714# CONFIG_PATA_OPTIDMA is not set
702# CONFIG_PATA_PDC_OLD is not set 715# CONFIG_PATA_PDC_OLD is not set
703# CONFIG_PATA_RADISYS is not set 716# CONFIG_PATA_RADISYS is not set
717# CONFIG_PATA_RDC is not set
704# CONFIG_PATA_RZ1000 is not set 718# CONFIG_PATA_RZ1000 is not set
705# CONFIG_PATA_SC1200 is not set 719# CONFIG_PATA_SC1200 is not set
706# CONFIG_PATA_SERVERWORKS is not set 720# CONFIG_PATA_SERVERWORKS is not set
@@ -777,7 +791,9 @@ CONFIG_MII=y
777# CONFIG_NET_PCI is not set 791# CONFIG_NET_PCI is not set
778# CONFIG_B44 is not set 792# CONFIG_B44 is not set
779# CONFIG_KS8842 is not set 793# CONFIG_KS8842 is not set
794# CONFIG_KS8851_MLL is not set
780# CONFIG_ATL2 is not set 795# CONFIG_ATL2 is not set
796# CONFIG_XILINX_EMACLITE is not set
781CONFIG_NETDEV_1000=y 797CONFIG_NETDEV_1000=y
782# CONFIG_ACENIC is not set 798# CONFIG_ACENIC is not set
783# CONFIG_DL2K is not set 799# CONFIG_DL2K is not set
@@ -800,7 +816,6 @@ CONFIG_NETDEV_1000=y
800CONFIG_FSL_PQ_MDIO=y 816CONFIG_FSL_PQ_MDIO=y
801CONFIG_GIANFAR=y 817CONFIG_GIANFAR=y
802CONFIG_UCC_GETH=y 818CONFIG_UCC_GETH=y
803# CONFIG_UGETH_MAGIC_PACKET is not set
804# CONFIG_UGETH_TX_ON_DEMAND is not set 819# CONFIG_UGETH_TX_ON_DEMAND is not set
805# CONFIG_MV643XX_ETH is not set 820# CONFIG_MV643XX_ETH is not set
806# CONFIG_QLA3XXX is not set 821# CONFIG_QLA3XXX is not set
@@ -828,10 +843,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
828# CONFIG_SFC is not set 843# CONFIG_SFC is not set
829# CONFIG_BE2NET is not set 844# CONFIG_BE2NET is not set
830# CONFIG_TR is not set 845# CONFIG_TR is not set
831 846CONFIG_WLAN=y
832#
833# Wireless LAN
834#
835# CONFIG_WLAN_PRE80211 is not set 847# CONFIG_WLAN_PRE80211 is not set
836# CONFIG_WLAN_80211 is not set 848# CONFIG_WLAN_80211 is not set
837 849
@@ -935,6 +947,7 @@ CONFIG_GEN_RTC=y
935CONFIG_DEVPORT=y 947CONFIG_DEVPORT=y
936CONFIG_I2C=y 948CONFIG_I2C=y
937CONFIG_I2C_BOARDINFO=y 949CONFIG_I2C_BOARDINFO=y
950CONFIG_I2C_COMPAT=y
938CONFIG_I2C_CHARDEV=y 951CONFIG_I2C_CHARDEV=y
939CONFIG_I2C_HELPER_AUTO=y 952CONFIG_I2C_HELPER_AUTO=y
940 953
@@ -990,9 +1003,6 @@ CONFIG_I2C_MPC=y
990# Miscellaneous I2C Chip support 1003# Miscellaneous I2C Chip support
991# 1004#
992# CONFIG_DS1682 is not set 1005# CONFIG_DS1682 is not set
993# CONFIG_SENSORS_PCF8574 is not set
994# CONFIG_PCF8575 is not set
995# CONFIG_SENSORS_PCA9539 is not set
996# CONFIG_SENSORS_TSL2550 is not set 1006# CONFIG_SENSORS_TSL2550 is not set
997# CONFIG_I2C_DEBUG_CORE is not set 1007# CONFIG_I2C_DEBUG_CORE is not set
998# CONFIG_I2C_DEBUG_ALGO is not set 1008# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1025,14 +1035,24 @@ CONFIG_GPIOLIB=y
1025# PCI GPIO expanders: 1035# PCI GPIO expanders:
1026# 1036#
1027# CONFIG_GPIO_BT8XX is not set 1037# CONFIG_GPIO_BT8XX is not set
1038# CONFIG_GPIO_LANGWELL is not set
1028 1039
1029# 1040#
1030# SPI GPIO expanders: 1041# SPI GPIO expanders:
1031# 1042#
1043
1044#
1045# AC97 GPIO expanders:
1046#
1032# CONFIG_W1 is not set 1047# CONFIG_W1 is not set
1033# CONFIG_POWER_SUPPLY is not set 1048# CONFIG_POWER_SUPPLY is not set
1034CONFIG_HWMON=y 1049CONFIG_HWMON=y
1035# CONFIG_HWMON_VID is not set 1050# CONFIG_HWMON_VID is not set
1051# CONFIG_HWMON_DEBUG_CHIP is not set
1052
1053#
1054# Native drivers
1055#
1036# CONFIG_SENSORS_AD7414 is not set 1056# CONFIG_SENSORS_AD7414 is not set
1037# CONFIG_SENSORS_AD7418 is not set 1057# CONFIG_SENSORS_AD7418 is not set
1038# CONFIG_SENSORS_ADM1021 is not set 1058# CONFIG_SENSORS_ADM1021 is not set
@@ -1083,6 +1103,7 @@ CONFIG_HWMON=y
1083# CONFIG_SENSORS_ADS7828 is not set 1103# CONFIG_SENSORS_ADS7828 is not set
1084# CONFIG_SENSORS_THMC50 is not set 1104# CONFIG_SENSORS_THMC50 is not set
1085# CONFIG_SENSORS_TMP401 is not set 1105# CONFIG_SENSORS_TMP401 is not set
1106# CONFIG_SENSORS_TMP421 is not set
1086# CONFIG_SENSORS_VIA686A is not set 1107# CONFIG_SENSORS_VIA686A is not set
1087# CONFIG_SENSORS_VT1211 is not set 1108# CONFIG_SENSORS_VT1211 is not set
1088# CONFIG_SENSORS_VT8231 is not set 1109# CONFIG_SENSORS_VT8231 is not set
@@ -1094,9 +1115,7 @@ CONFIG_HWMON=y
1094# CONFIG_SENSORS_W83L786NG is not set 1115# CONFIG_SENSORS_W83L786NG is not set
1095# CONFIG_SENSORS_W83627HF is not set 1116# CONFIG_SENSORS_W83627HF is not set
1096# CONFIG_SENSORS_W83627EHF is not set 1117# CONFIG_SENSORS_W83627EHF is not set
1097# CONFIG_HWMON_DEBUG_CHIP is not set
1098# CONFIG_THERMAL is not set 1118# CONFIG_THERMAL is not set
1099# CONFIG_THERMAL_HWMON is not set
1100CONFIG_WATCHDOG=y 1119CONFIG_WATCHDOG=y
1101# CONFIG_WATCHDOG_NOWAYOUT is not set 1120# CONFIG_WATCHDOG_NOWAYOUT is not set
1102 1121
@@ -1135,6 +1154,7 @@ CONFIG_SSB_POSSIBLE=y
1135# CONFIG_MFD_TMIO is not set 1154# CONFIG_MFD_TMIO is not set
1136# CONFIG_PMIC_DA903X is not set 1155# CONFIG_PMIC_DA903X is not set
1137# CONFIG_MFD_WM8400 is not set 1156# CONFIG_MFD_WM8400 is not set
1157# CONFIG_MFD_WM831X is not set
1138# CONFIG_MFD_WM8350_I2C is not set 1158# CONFIG_MFD_WM8350_I2C is not set
1139# CONFIG_MFD_PCF50633 is not set 1159# CONFIG_MFD_PCF50633 is not set
1140# CONFIG_AB3100_CORE is not set 1160# CONFIG_AB3100_CORE is not set
@@ -1145,6 +1165,7 @@ CONFIG_SSB_POSSIBLE=y
1145# Graphics support 1165# Graphics support
1146# 1166#
1147# CONFIG_AGP is not set 1167# CONFIG_AGP is not set
1168CONFIG_VGA_ARB=y
1148# CONFIG_DRM is not set 1169# CONFIG_DRM is not set
1149# CONFIG_VGASTATE is not set 1170# CONFIG_VGASTATE is not set
1150CONFIG_VIDEO_OUTPUT_CONTROL=m 1171CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1158,7 +1179,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1158# CONFIG_SOUND is not set 1179# CONFIG_SOUND is not set
1159CONFIG_HID_SUPPORT=y 1180CONFIG_HID_SUPPORT=y
1160CONFIG_HID=y 1181CONFIG_HID=y
1161# CONFIG_HID_DEBUG is not set
1162# CONFIG_HIDRAW is not set 1182# CONFIG_HIDRAW is not set
1163 1183
1164# 1184#
@@ -1181,6 +1201,7 @@ CONFIG_HID_CYPRESS=y
1181CONFIG_HID_EZKEY=y 1201CONFIG_HID_EZKEY=y
1182# CONFIG_HID_KYE is not set 1202# CONFIG_HID_KYE is not set
1183CONFIG_HID_GYRATION=y 1203CONFIG_HID_GYRATION=y
1204# CONFIG_HID_TWINHAN is not set
1184# CONFIG_HID_KENSINGTON is not set 1205# CONFIG_HID_KENSINGTON is not set
1185CONFIG_HID_LOGITECH=y 1206CONFIG_HID_LOGITECH=y
1186# CONFIG_LOGITECH_FF is not set 1207# CONFIG_LOGITECH_FF is not set
@@ -1233,6 +1254,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1233# CONFIG_USB_OXU210HP_HCD is not set 1254# CONFIG_USB_OXU210HP_HCD is not set
1234# CONFIG_USB_ISP116X_HCD is not set 1255# CONFIG_USB_ISP116X_HCD is not set
1235# CONFIG_USB_ISP1760_HCD is not set 1256# CONFIG_USB_ISP1760_HCD is not set
1257# CONFIG_USB_ISP1362_HCD is not set
1236# CONFIG_USB_OHCI_HCD is not set 1258# CONFIG_USB_OHCI_HCD is not set
1237# CONFIG_USB_UHCI_HCD is not set 1259# CONFIG_USB_UHCI_HCD is not set
1238# CONFIG_USB_FHCI_HCD is not set 1260# CONFIG_USB_FHCI_HCD is not set
@@ -1291,6 +1313,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1291# CONFIG_USB_LD is not set 1313# CONFIG_USB_LD is not set
1292# CONFIG_USB_TRANCEVIBRATOR is not set 1314# CONFIG_USB_TRANCEVIBRATOR is not set
1293# CONFIG_USB_IOWARRIOR is not set 1315# CONFIG_USB_IOWARRIOR is not set
1316# CONFIG_USB_TEST is not set
1294# CONFIG_USB_ISIGHTFW is not set 1317# CONFIG_USB_ISIGHTFW is not set
1295# CONFIG_USB_VST is not set 1318# CONFIG_USB_VST is not set
1296# CONFIG_USB_GADGET is not set 1319# CONFIG_USB_GADGET is not set
@@ -1338,6 +1361,7 @@ CONFIG_FS_MBCACHE=y
1338# CONFIG_GFS2_FS is not set 1361# CONFIG_GFS2_FS is not set
1339# CONFIG_OCFS2_FS is not set 1362# CONFIG_OCFS2_FS is not set
1340# CONFIG_BTRFS_FS is not set 1363# CONFIG_BTRFS_FS is not set
1364# CONFIG_NILFS2_FS is not set
1341CONFIG_FILE_LOCKING=y 1365CONFIG_FILE_LOCKING=y
1342CONFIG_FSNOTIFY=y 1366CONFIG_FSNOTIFY=y
1343CONFIG_DNOTIFY=y 1367CONFIG_DNOTIFY=y
@@ -1397,7 +1421,6 @@ CONFIG_MISC_FILESYSTEMS=y
1397# CONFIG_ROMFS_FS is not set 1421# CONFIG_ROMFS_FS is not set
1398# CONFIG_SYSV_FS is not set 1422# CONFIG_SYSV_FS is not set
1399# CONFIG_UFS_FS is not set 1423# CONFIG_UFS_FS is not set
1400# CONFIG_NILFS2_FS is not set
1401CONFIG_NETWORK_FILESYSTEMS=y 1424CONFIG_NETWORK_FILESYSTEMS=y
1402CONFIG_NFS_FS=y 1425CONFIG_NFS_FS=y
1403CONFIG_NFS_V3=y 1426CONFIG_NFS_V3=y
@@ -1514,6 +1537,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1514CONFIG_ENABLE_MUST_CHECK=y 1537CONFIG_ENABLE_MUST_CHECK=y
1515CONFIG_FRAME_WARN=1024 1538CONFIG_FRAME_WARN=1024
1516# CONFIG_MAGIC_SYSRQ is not set 1539# CONFIG_MAGIC_SYSRQ is not set
1540# CONFIG_STRIP_ASM_SYMS is not set
1517# CONFIG_UNUSED_SYMBOLS is not set 1541# CONFIG_UNUSED_SYMBOLS is not set
1518# CONFIG_DEBUG_FS is not set 1542# CONFIG_DEBUG_FS is not set
1519# CONFIG_HEADERS_CHECK is not set 1543# CONFIG_HEADERS_CHECK is not set
@@ -1529,6 +1553,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1529CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1553CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1530CONFIG_TRACING_SUPPORT=y 1554CONFIG_TRACING_SUPPORT=y
1531# CONFIG_FTRACE is not set 1555# CONFIG_FTRACE is not set
1556# CONFIG_DMA_API_DEBUG is not set
1532# CONFIG_SAMPLES is not set 1557# CONFIG_SAMPLES is not set
1533CONFIG_HAVE_ARCH_KGDB=y 1558CONFIG_HAVE_ARCH_KGDB=y
1534# CONFIG_PPC_DISABLE_WERROR is not set 1559# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1550,7 +1575,6 @@ CONFIG_CRYPTO=y
1550# 1575#
1551# Crypto core or helper 1576# Crypto core or helper
1552# 1577#
1553# CONFIG_CRYPTO_FIPS is not set
1554CONFIG_CRYPTO_ALGAPI=y 1578CONFIG_CRYPTO_ALGAPI=y
1555CONFIG_CRYPTO_ALGAPI2=y 1579CONFIG_CRYPTO_ALGAPI2=y
1556CONFIG_CRYPTO_AEAD=y 1580CONFIG_CRYPTO_AEAD=y
@@ -1591,13 +1615,15 @@ CONFIG_CRYPTO_PCBC=m
1591# 1615#
1592# Hash modes 1616# Hash modes
1593# 1617#
1594# CONFIG_CRYPTO_HMAC is not set 1618CONFIG_CRYPTO_HMAC=y
1595# CONFIG_CRYPTO_XCBC is not set 1619# CONFIG_CRYPTO_XCBC is not set
1620# CONFIG_CRYPTO_VMAC is not set
1596 1621
1597# 1622#
1598# Digest 1623# Digest
1599# 1624#
1600# CONFIG_CRYPTO_CRC32C is not set 1625# CONFIG_CRYPTO_CRC32C is not set
1626# CONFIG_CRYPTO_GHASH is not set
1601# CONFIG_CRYPTO_MD4 is not set 1627# CONFIG_CRYPTO_MD4 is not set
1602CONFIG_CRYPTO_MD5=y 1628CONFIG_CRYPTO_MD5=y
1603# CONFIG_CRYPTO_MICHAEL_MIC is not set 1629# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1605,16 +1631,16 @@ CONFIG_CRYPTO_MD5=y
1605# CONFIG_CRYPTO_RMD160 is not set 1631# CONFIG_CRYPTO_RMD160 is not set
1606# CONFIG_CRYPTO_RMD256 is not set 1632# CONFIG_CRYPTO_RMD256 is not set
1607# CONFIG_CRYPTO_RMD320 is not set 1633# CONFIG_CRYPTO_RMD320 is not set
1608# CONFIG_CRYPTO_SHA1 is not set 1634CONFIG_CRYPTO_SHA1=y
1609# CONFIG_CRYPTO_SHA256 is not set 1635CONFIG_CRYPTO_SHA256=y
1610# CONFIG_CRYPTO_SHA512 is not set 1636CONFIG_CRYPTO_SHA512=y
1611# CONFIG_CRYPTO_TGR192 is not set 1637# CONFIG_CRYPTO_TGR192 is not set
1612# CONFIG_CRYPTO_WP512 is not set 1638# CONFIG_CRYPTO_WP512 is not set
1613 1639
1614# 1640#
1615# Ciphers 1641# Ciphers
1616# 1642#
1617# CONFIG_CRYPTO_AES is not set 1643CONFIG_CRYPTO_AES=y
1618# CONFIG_CRYPTO_ANUBIS is not set 1644# CONFIG_CRYPTO_ANUBIS is not set
1619# CONFIG_CRYPTO_ARC4 is not set 1645# CONFIG_CRYPTO_ARC4 is not set
1620# CONFIG_CRYPTO_BLOWFISH is not set 1646# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
index ee6acc6557f8..a12e7ba87a43 100644
--- a/arch/powerpc/configs/mpc85xx_defconfig
+++ b/arch/powerpc/configs/mpc85xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:55 2009 4# Thu Nov 5 08:25: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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27# CONFIG_SMP is not set 28# CONFIG_SMP is not set
@@ -36,6 +37,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 37CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
40# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 41CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -88,11 +90,12 @@ CONFIG_AUDIT=y
88# 90#
89# RCU Subsystem 91# RCU Subsystem
90# 92#
91CONFIG_CLASSIC_RCU=y 93CONFIG_TREE_RCU=y
92# CONFIG_TREE_RCU is not set 94# CONFIG_TREE_PREEMPT_RCU is not set
93# CONFIG_PREEMPT_RCU is not set 95# CONFIG_RCU_TRACE is not set
96CONFIG_RCU_FANOUT=32
97# CONFIG_RCU_FANOUT_EXACT is not set
94# CONFIG_TREE_RCU_TRACE is not set 98# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_PREEMPT_RCU_TRACE is not set
96CONFIG_IKCONFIG=y 99CONFIG_IKCONFIG=y
97CONFIG_IKCONFIG_PROC=y 100CONFIG_IKCONFIG_PROC=y
98CONFIG_LOG_BUF_SHIFT=14 101CONFIG_LOG_BUF_SHIFT=14
@@ -131,22 +134,21 @@ CONFIG_TIMERFD=y
131CONFIG_EVENTFD=y 134CONFIG_EVENTFD=y
132CONFIG_SHMEM=y 135CONFIG_SHMEM=y
133CONFIG_AIO=y 136CONFIG_AIO=y
134CONFIG_HAVE_PERF_COUNTERS=y 137CONFIG_HAVE_PERF_EVENTS=y
135 138
136# 139#
137# Performance Counters 140# Kernel Performance Events And Counters
138# 141#
142# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set 143# CONFIG_PERF_COUNTERS is not set
140CONFIG_VM_EVENT_COUNTERS=y 144CONFIG_VM_EVENT_COUNTERS=y
141CONFIG_PCI_QUIRKS=y 145CONFIG_PCI_QUIRKS=y
142CONFIG_SLUB_DEBUG=y 146CONFIG_SLUB_DEBUG=y
143# CONFIG_STRIP_ASM_SYMS is not set
144CONFIG_COMPAT_BRK=y 147CONFIG_COMPAT_BRK=y
145# CONFIG_SLAB is not set 148# CONFIG_SLAB is not set
146CONFIG_SLUB=y 149CONFIG_SLUB=y
147# CONFIG_SLOB is not set 150# CONFIG_SLOB is not set
148# CONFIG_PROFILING is not set 151# CONFIG_PROFILING is not set
149# CONFIG_MARKERS is not set
150CONFIG_HAVE_OPROFILE=y 152CONFIG_HAVE_OPROFILE=y
151# CONFIG_KPROBES is not set 153# CONFIG_KPROBES is not set
152CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 154CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -154,7 +156,9 @@ CONFIG_HAVE_IOREMAP_PROT=y
154CONFIG_HAVE_KPROBES=y 156CONFIG_HAVE_KPROBES=y
155CONFIG_HAVE_KRETPROBES=y 157CONFIG_HAVE_KRETPROBES=y
156CONFIG_HAVE_ARCH_TRACEHOOK=y 158CONFIG_HAVE_ARCH_TRACEHOOK=y
159CONFIG_HAVE_DMA_ATTRS=y
157CONFIG_HAVE_CLK=y 160CONFIG_HAVE_CLK=y
161CONFIG_HAVE_DMA_API_DEBUG=y
158 162
159# 163#
160# GCOV-based kernel profiling 164# GCOV-based kernel profiling
@@ -189,6 +193,7 @@ CONFIG_DEFAULT_CFQ=y
189# CONFIG_DEFAULT_NOOP is not set 193# CONFIG_DEFAULT_NOOP is not set
190CONFIG_DEFAULT_IOSCHED="cfq" 194CONFIG_DEFAULT_IOSCHED="cfq"
191# CONFIG_FREEZER is not set 195# CONFIG_FREEZER is not set
196CONFIG_PPC_MSI_BITMAP=y
192 197
193# 198#
194# Platform support 199# Platform support
@@ -206,7 +211,7 @@ CONFIG_MPC85xx_DS=y
206CONFIG_MPC85xx_RDB=y 211CONFIG_MPC85xx_RDB=y
207CONFIG_SOCRATES=y 212CONFIG_SOCRATES=y
208CONFIG_KSI8560=y 213CONFIG_KSI8560=y
209# CONFIG_XES_MPC85xx is not set 214CONFIG_XES_MPC85xx=y
210CONFIG_STX_GP3=y 215CONFIG_STX_GP3=y
211CONFIG_TQM8540=y 216CONFIG_TQM8540=y
212CONFIG_TQM8541=y 217CONFIG_TQM8541=y
@@ -259,10 +264,10 @@ CONFIG_BINFMT_MISC=m
259CONFIG_MATH_EMULATION=y 264CONFIG_MATH_EMULATION=y
260CONFIG_IOMMU_HELPER=y 265CONFIG_IOMMU_HELPER=y
261CONFIG_SWIOTLB=y 266CONFIG_SWIOTLB=y
262CONFIG_PPC_NEED_DMA_SYNC_OPS=y
263CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 267CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
264CONFIG_ARCH_HAS_WALK_MEMORY=y 268CONFIG_ARCH_HAS_WALK_MEMORY=y
265CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 269CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
270CONFIG_MAX_ACTIVE_REGIONS=32
266CONFIG_ARCH_FLATMEM_ENABLE=y 271CONFIG_ARCH_FLATMEM_ENABLE=y
267CONFIG_ARCH_POPULATES_NODE_MAP=y 272CONFIG_ARCH_POPULATES_NODE_MAP=y
268CONFIG_SELECT_MEMORY_MODEL=y 273CONFIG_SELECT_MEMORY_MODEL=y
@@ -280,6 +285,7 @@ CONFIG_BOUNCE=y
280CONFIG_VIRT_TO_BUS=y 285CONFIG_VIRT_TO_BUS=y
281CONFIG_HAVE_MLOCK=y 286CONFIG_HAVE_MLOCK=y
282CONFIG_HAVE_MLOCKED_PAGE_BIT=y 287CONFIG_HAVE_MLOCKED_PAGE_BIT=y
288# CONFIG_KSM is not set
283CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 289CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
284CONFIG_PPC_4K_PAGES=y 290CONFIG_PPC_4K_PAGES=y
285# CONFIG_PPC_16K_PAGES is not set 291# CONFIG_PPC_16K_PAGES is not set
@@ -307,7 +313,7 @@ CONFIG_PCI_DOMAINS=y
307CONFIG_PCI_SYSCALL=y 313CONFIG_PCI_SYSCALL=y
308# CONFIG_PCIEPORTBUS is not set 314# CONFIG_PCIEPORTBUS is not set
309CONFIG_ARCH_SUPPORTS_MSI=y 315CONFIG_ARCH_SUPPORTS_MSI=y
310# CONFIG_PCI_MSI is not set 316CONFIG_PCI_MSI=y
311# CONFIG_PCI_LEGACY is not set 317# CONFIG_PCI_LEGACY is not set
312# CONFIG_PCI_DEBUG is not set 318# CONFIG_PCI_DEBUG is not set
313# CONFIG_PCI_STUB is not set 319# CONFIG_PCI_STUB is not set
@@ -315,7 +321,8 @@ CONFIG_ARCH_SUPPORTS_MSI=y
315# CONFIG_PCCARD is not set 321# CONFIG_PCCARD is not set
316# CONFIG_HOTPLUG_PCI is not set 322# CONFIG_HOTPLUG_PCI is not set
317CONFIG_HAS_RAPIDIO=y 323CONFIG_HAS_RAPIDIO=y
318# CONFIG_RAPIDIO is not set 324CONFIG_RAPIDIO=y
325CONFIG_RAPIDIO_DISC_TIMEOUT=30
319 326
320# 327#
321# Advanced setup 328# Advanced setup
@@ -345,7 +352,7 @@ CONFIG_XFRM_USER=y
345# CONFIG_XFRM_SUB_POLICY is not set 352# CONFIG_XFRM_SUB_POLICY is not set
346# CONFIG_XFRM_MIGRATE is not set 353# CONFIG_XFRM_MIGRATE is not set
347# CONFIG_XFRM_STATISTICS is not set 354# CONFIG_XFRM_STATISTICS is not set
348CONFIG_NET_KEY=m 355CONFIG_NET_KEY=y
349# CONFIG_NET_KEY_MIGRATE is not set 356# CONFIG_NET_KEY_MIGRATE is not set
350CONFIG_INET=y 357CONFIG_INET=y
351CONFIG_IP_MULTICAST=y 358CONFIG_IP_MULTICAST=y
@@ -369,12 +376,12 @@ CONFIG_IP_PIMSM_V2=y
369CONFIG_ARPD=y 376CONFIG_ARPD=y
370# CONFIG_SYN_COOKIES is not set 377# CONFIG_SYN_COOKIES is not set
371# CONFIG_INET_AH is not set 378# CONFIG_INET_AH is not set
372# CONFIG_INET_ESP is not set 379CONFIG_INET_ESP=y
373# CONFIG_INET_IPCOMP is not set 380# CONFIG_INET_IPCOMP is not set
374# CONFIG_INET_XFRM_TUNNEL is not set 381# CONFIG_INET_XFRM_TUNNEL is not set
375CONFIG_INET_TUNNEL=y 382CONFIG_INET_TUNNEL=y
376# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 383CONFIG_INET_XFRM_MODE_TRANSPORT=y
377# CONFIG_INET_XFRM_MODE_TUNNEL is not set 384CONFIG_INET_XFRM_MODE_TUNNEL=y
378# CONFIG_INET_XFRM_MODE_BEET is not set 385# CONFIG_INET_XFRM_MODE_BEET is not set
379# CONFIG_INET_LRO is not set 386# CONFIG_INET_LRO is not set
380CONFIG_INET_DIAG=y 387CONFIG_INET_DIAG=y
@@ -411,6 +418,7 @@ CONFIG_IP_SCTP=m
411# CONFIG_SCTP_HMAC_NONE is not set 418# CONFIG_SCTP_HMAC_NONE is not set
412# CONFIG_SCTP_HMAC_SHA1 is not set 419# CONFIG_SCTP_HMAC_SHA1 is not set
413CONFIG_SCTP_HMAC_MD5=y 420CONFIG_SCTP_HMAC_MD5=y
421# CONFIG_RDS is not set
414# CONFIG_TIPC is not set 422# CONFIG_TIPC is not set
415# CONFIG_ATM is not set 423# CONFIG_ATM is not set
416# CONFIG_BRIDGE is not set 424# CONFIG_BRIDGE is not set
@@ -441,6 +449,7 @@ CONFIG_SCTP_HMAC_MD5=y
441CONFIG_FIB_RULES=y 449CONFIG_FIB_RULES=y
442CONFIG_WIRELESS=y 450CONFIG_WIRELESS=y
443# CONFIG_CFG80211 is not set 451# CONFIG_CFG80211 is not set
452CONFIG_CFG80211_DEFAULT_PS_VALUE=0
444CONFIG_WIRELESS_OLD_REGULATORY=y 453CONFIG_WIRELESS_OLD_REGULATORY=y
445# CONFIG_WIRELESS_EXT is not set 454# CONFIG_WIRELESS_EXT is not set
446# CONFIG_LIB80211 is not set 455# CONFIG_LIB80211 is not set
@@ -448,7 +457,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
448# 457#
449# CFG80211 needs to be enabled for MAC80211 458# CFG80211 needs to be enabled for MAC80211
450# 459#
451CONFIG_MAC80211_DEFAULT_PS_VALUE=0
452# CONFIG_WIMAX is not set 460# CONFIG_WIMAX is not set
453# CONFIG_RFKILL is not set 461# CONFIG_RFKILL is not set
454# CONFIG_NET_9P is not set 462# CONFIG_NET_9P is not set
@@ -461,6 +469,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
461# Generic Driver Options 469# Generic Driver Options
462# 470#
463CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 471CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
472# CONFIG_DEVTMPFS is not set
464CONFIG_STANDALONE=y 473CONFIG_STANDALONE=y
465CONFIG_PREVENT_FIRMWARE_BUILD=y 474CONFIG_PREVENT_FIRMWARE_BUILD=y
466CONFIG_FW_LOADER=y 475CONFIG_FW_LOADER=y
@@ -554,6 +563,7 @@ CONFIG_SCSI_LOWLEVEL=y
554# CONFIG_ISCSI_TCP is not set 563# CONFIG_ISCSI_TCP is not set
555# CONFIG_SCSI_CXGB3_ISCSI is not set 564# CONFIG_SCSI_CXGB3_ISCSI is not set
556# CONFIG_SCSI_BNX2_ISCSI is not set 565# CONFIG_SCSI_BNX2_ISCSI is not set
566# CONFIG_BE2ISCSI is not set
557# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 567# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
558# CONFIG_SCSI_3W_9XXX is not set 568# CONFIG_SCSI_3W_9XXX is not set
559# CONFIG_SCSI_ACARD is not set 569# CONFIG_SCSI_ACARD is not set
@@ -593,11 +603,14 @@ CONFIG_SCSI_LOWLEVEL=y
593# CONFIG_SCSI_DC390T is not set 603# CONFIG_SCSI_DC390T is not set
594# CONFIG_SCSI_NSP32 is not set 604# CONFIG_SCSI_NSP32 is not set
595# CONFIG_SCSI_DEBUG is not set 605# CONFIG_SCSI_DEBUG is not set
606# CONFIG_SCSI_PMCRAID is not set
596# CONFIG_SCSI_SRP is not set 607# CONFIG_SCSI_SRP is not set
608# CONFIG_SCSI_BFA_FC is not set
597# CONFIG_SCSI_DH is not set 609# CONFIG_SCSI_DH is not set
598# CONFIG_SCSI_OSD_INITIATOR is not set 610# CONFIG_SCSI_OSD_INITIATOR is not set
599CONFIG_ATA=y 611CONFIG_ATA=y
600# CONFIG_ATA_NONSTANDARD is not set 612# CONFIG_ATA_NONSTANDARD is not set
613CONFIG_ATA_VERBOSE_ERROR=y
601CONFIG_SATA_PMP=y 614CONFIG_SATA_PMP=y
602CONFIG_SATA_AHCI=y 615CONFIG_SATA_AHCI=y
603# CONFIG_SATA_SIL24 is not set 616# CONFIG_SATA_SIL24 is not set
@@ -620,6 +633,7 @@ CONFIG_ATA_SFF=y
620CONFIG_PATA_ALI=y 633CONFIG_PATA_ALI=y
621# CONFIG_PATA_AMD is not set 634# CONFIG_PATA_AMD is not set
622# CONFIG_PATA_ARTOP is not set 635# CONFIG_PATA_ARTOP is not set
636# CONFIG_PATA_ATP867X is not set
623# CONFIG_PATA_ATIIXP is not set 637# CONFIG_PATA_ATIIXP is not set
624# CONFIG_PATA_CMD640_PCI is not set 638# CONFIG_PATA_CMD640_PCI is not set
625# CONFIG_PATA_CMD64X is not set 639# CONFIG_PATA_CMD64X is not set
@@ -647,6 +661,7 @@ CONFIG_PATA_ALI=y
647# CONFIG_PATA_OPTIDMA is not set 661# CONFIG_PATA_OPTIDMA is not set
648# CONFIG_PATA_PDC_OLD is not set 662# CONFIG_PATA_PDC_OLD is not set
649# CONFIG_PATA_RADISYS is not set 663# CONFIG_PATA_RADISYS is not set
664# CONFIG_PATA_RDC is not set
650# CONFIG_PATA_RZ1000 is not set 665# CONFIG_PATA_RZ1000 is not set
651# CONFIG_PATA_SC1200 is not set 666# CONFIG_PATA_SC1200 is not set
652# CONFIG_PATA_SERVERWORKS is not set 667# CONFIG_PATA_SERVERWORKS is not set
@@ -723,7 +738,9 @@ CONFIG_MII=y
723# CONFIG_NET_PCI is not set 738# CONFIG_NET_PCI is not set
724# CONFIG_B44 is not set 739# CONFIG_B44 is not set
725# CONFIG_KS8842 is not set 740# CONFIG_KS8842 is not set
741# CONFIG_KS8851_MLL is not set
726# CONFIG_ATL2 is not set 742# CONFIG_ATL2 is not set
743# CONFIG_XILINX_EMACLITE is not set
727CONFIG_FS_ENET=y 744CONFIG_FS_ENET=y
728CONFIG_FS_ENET_HAS_SCC=y 745CONFIG_FS_ENET_HAS_SCC=y
729CONFIG_FS_ENET_HAS_FCC=y 746CONFIG_FS_ENET_HAS_FCC=y
@@ -750,7 +767,6 @@ CONFIG_NETDEV_1000=y
750CONFIG_FSL_PQ_MDIO=y 767CONFIG_FSL_PQ_MDIO=y
751CONFIG_GIANFAR=y 768CONFIG_GIANFAR=y
752CONFIG_UCC_GETH=y 769CONFIG_UCC_GETH=y
753# CONFIG_UGETH_MAGIC_PACKET is not set
754# CONFIG_UGETH_TX_ON_DEMAND is not set 770# CONFIG_UGETH_TX_ON_DEMAND is not set
755# CONFIG_MV643XX_ETH is not set 771# CONFIG_MV643XX_ETH is not set
756# CONFIG_QLA3XXX is not set 772# CONFIG_QLA3XXX is not set
@@ -778,10 +794,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
778# CONFIG_SFC is not set 794# CONFIG_SFC is not set
779# CONFIG_BE2NET is not set 795# CONFIG_BE2NET is not set
780# CONFIG_TR is not set 796# CONFIG_TR is not set
781 797CONFIG_WLAN=y
782#
783# Wireless LAN
784#
785# CONFIG_WLAN_PRE80211 is not set 798# CONFIG_WLAN_PRE80211 is not set
786# CONFIG_WLAN_80211 is not set 799# CONFIG_WLAN_80211 is not set
787 800
@@ -798,6 +811,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
798# CONFIG_USB_RTL8150 is not set 811# CONFIG_USB_RTL8150 is not set
799# CONFIG_USB_USBNET is not set 812# CONFIG_USB_USBNET is not set
800# CONFIG_WAN is not set 813# CONFIG_WAN is not set
814# CONFIG_RIONET is not set
801# CONFIG_FDDI is not set 815# CONFIG_FDDI is not set
802# CONFIG_HIPPI is not set 816# CONFIG_HIPPI is not set
803# CONFIG_PPP is not set 817# CONFIG_PPP is not set
@@ -898,6 +912,7 @@ CONFIG_NVRAM=y
898CONFIG_DEVPORT=y 912CONFIG_DEVPORT=y
899CONFIG_I2C=y 913CONFIG_I2C=y
900CONFIG_I2C_BOARDINFO=y 914CONFIG_I2C_BOARDINFO=y
915CONFIG_I2C_COMPAT=y
901# CONFIG_I2C_CHARDEV is not set 916# CONFIG_I2C_CHARDEV is not set
902CONFIG_I2C_HELPER_AUTO=y 917CONFIG_I2C_HELPER_AUTO=y
903 918
@@ -955,9 +970,6 @@ CONFIG_I2C_MPC=y
955# Miscellaneous I2C Chip support 970# Miscellaneous I2C Chip support
956# 971#
957# CONFIG_DS1682 is not set 972# CONFIG_DS1682 is not set
958# CONFIG_SENSORS_PCF8574 is not set
959# CONFIG_PCF8575 is not set
960# CONFIG_SENSORS_PCA9539 is not set
961# CONFIG_SENSORS_TSL2550 is not set 973# CONFIG_SENSORS_TSL2550 is not set
962# CONFIG_I2C_DEBUG_CORE is not set 974# CONFIG_I2C_DEBUG_CORE is not set
963# CONFIG_I2C_DEBUG_ALGO is not set 975# CONFIG_I2C_DEBUG_ALGO is not set
@@ -991,15 +1003,19 @@ CONFIG_GPIOLIB=y
991# PCI GPIO expanders: 1003# PCI GPIO expanders:
992# 1004#
993# CONFIG_GPIO_BT8XX is not set 1005# CONFIG_GPIO_BT8XX is not set
1006# CONFIG_GPIO_LANGWELL is not set
994 1007
995# 1008#
996# SPI GPIO expanders: 1009# SPI GPIO expanders:
997# 1010#
1011
1012#
1013# AC97 GPIO expanders:
1014#
998# CONFIG_W1 is not set 1015# CONFIG_W1 is not set
999# CONFIG_POWER_SUPPLY is not set 1016# CONFIG_POWER_SUPPLY is not set
1000# CONFIG_HWMON is not set 1017# CONFIG_HWMON is not set
1001# CONFIG_THERMAL is not set 1018# CONFIG_THERMAL is not set
1002# CONFIG_THERMAL_HWMON is not set
1003# CONFIG_WATCHDOG is not set 1019# CONFIG_WATCHDOG is not set
1004CONFIG_SSB_POSSIBLE=y 1020CONFIG_SSB_POSSIBLE=y
1005 1021
@@ -1020,6 +1036,7 @@ CONFIG_SSB_POSSIBLE=y
1020# CONFIG_MFD_TMIO is not set 1036# CONFIG_MFD_TMIO is not set
1021# CONFIG_PMIC_DA903X is not set 1037# CONFIG_PMIC_DA903X is not set
1022# CONFIG_MFD_WM8400 is not set 1038# CONFIG_MFD_WM8400 is not set
1039# CONFIG_MFD_WM831X is not set
1023# CONFIG_MFD_WM8350_I2C is not set 1040# CONFIG_MFD_WM8350_I2C is not set
1024# CONFIG_MFD_PCF50633 is not set 1041# CONFIG_MFD_PCF50633 is not set
1025# CONFIG_AB3100_CORE is not set 1042# CONFIG_AB3100_CORE is not set
@@ -1030,6 +1047,7 @@ CONFIG_SSB_POSSIBLE=y
1030# Graphics support 1047# Graphics support
1031# 1048#
1032# CONFIG_AGP is not set 1049# CONFIG_AGP is not set
1050CONFIG_VGA_ARB=y
1033# CONFIG_DRM is not set 1051# CONFIG_DRM is not set
1034# CONFIG_VGASTATE is not set 1052# CONFIG_VGASTATE is not set
1035CONFIG_VIDEO_OUTPUT_CONTROL=y 1053CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1049,6 +1067,7 @@ CONFIG_VGA_CONSOLE=y
1049CONFIG_DUMMY_CONSOLE=y 1067CONFIG_DUMMY_CONSOLE=y
1050CONFIG_SOUND=y 1068CONFIG_SOUND=y
1051CONFIG_SOUND_OSS_CORE=y 1069CONFIG_SOUND_OSS_CORE=y
1070CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1052CONFIG_SND=y 1071CONFIG_SND=y
1053CONFIG_SND_TIMER=y 1072CONFIG_SND_TIMER=y
1054CONFIG_SND_PCM=y 1073CONFIG_SND_PCM=y
@@ -1152,7 +1171,6 @@ CONFIG_SND_USB=y
1152CONFIG_AC97_BUS=y 1171CONFIG_AC97_BUS=y
1153CONFIG_HID_SUPPORT=y 1172CONFIG_HID_SUPPORT=y
1154CONFIG_HID=y 1173CONFIG_HID=y
1155# CONFIG_HID_DEBUG is not set
1156# CONFIG_HIDRAW is not set 1174# CONFIG_HIDRAW is not set
1157 1175
1158# 1176#
@@ -1175,6 +1193,7 @@ CONFIG_HID_CYPRESS=y
1175CONFIG_HID_EZKEY=y 1193CONFIG_HID_EZKEY=y
1176# CONFIG_HID_KYE is not set 1194# CONFIG_HID_KYE is not set
1177CONFIG_HID_GYRATION=y 1195CONFIG_HID_GYRATION=y
1196# CONFIG_HID_TWINHAN is not set
1178# CONFIG_HID_KENSINGTON is not set 1197# CONFIG_HID_KENSINGTON is not set
1179CONFIG_HID_LOGITECH=y 1198CONFIG_HID_LOGITECH=y
1180# CONFIG_LOGITECH_FF is not set 1199# CONFIG_LOGITECH_FF is not set
@@ -1227,6 +1246,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1227# CONFIG_USB_OXU210HP_HCD is not set 1246# CONFIG_USB_OXU210HP_HCD is not set
1228# CONFIG_USB_ISP116X_HCD is not set 1247# CONFIG_USB_ISP116X_HCD is not set
1229# CONFIG_USB_ISP1760_HCD is not set 1248# CONFIG_USB_ISP1760_HCD is not set
1249# CONFIG_USB_ISP1362_HCD is not set
1230CONFIG_USB_OHCI_HCD=y 1250CONFIG_USB_OHCI_HCD=y
1231CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1251CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1232CONFIG_USB_OHCI_HCD_PPC_OF_LE=y 1252CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
@@ -1241,7 +1261,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1241# CONFIG_USB_R8A66597_HCD is not set 1261# CONFIG_USB_R8A66597_HCD is not set
1242# CONFIG_USB_WHCI_HCD is not set 1262# CONFIG_USB_WHCI_HCD is not set
1243# CONFIG_USB_HWA_HCD is not set 1263# CONFIG_USB_HWA_HCD is not set
1244# CONFIG_USB_MUSB_HDRC is not set
1245 1264
1246# 1265#
1247# USB Device Class drivers 1266# USB Device Class drivers
@@ -1429,6 +1448,7 @@ CONFIG_FS_MBCACHE=y
1429# CONFIG_GFS2_FS is not set 1448# CONFIG_GFS2_FS is not set
1430# CONFIG_OCFS2_FS is not set 1449# CONFIG_OCFS2_FS is not set
1431# CONFIG_BTRFS_FS is not set 1450# CONFIG_BTRFS_FS is not set
1451# CONFIG_NILFS2_FS is not set
1432CONFIG_FILE_LOCKING=y 1452CONFIG_FILE_LOCKING=y
1433CONFIG_FSNOTIFY=y 1453CONFIG_FSNOTIFY=y
1434CONFIG_DNOTIFY=y 1454CONFIG_DNOTIFY=y
@@ -1499,7 +1519,6 @@ CONFIG_SYSV_FS=m
1499CONFIG_UFS_FS=m 1519CONFIG_UFS_FS=m
1500# CONFIG_UFS_FS_WRITE is not set 1520# CONFIG_UFS_FS_WRITE is not set
1501# CONFIG_UFS_DEBUG is not set 1521# CONFIG_UFS_DEBUG is not set
1502# CONFIG_NILFS2_FS is not set
1503CONFIG_NETWORK_FILESYSTEMS=y 1522CONFIG_NETWORK_FILESYSTEMS=y
1504CONFIG_NFS_FS=y 1523CONFIG_NFS_FS=y
1505CONFIG_NFS_V3=y 1524CONFIG_NFS_V3=y
@@ -1620,6 +1639,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1620CONFIG_ENABLE_MUST_CHECK=y 1639CONFIG_ENABLE_MUST_CHECK=y
1621CONFIG_FRAME_WARN=1024 1640CONFIG_FRAME_WARN=1024
1622# CONFIG_MAGIC_SYSRQ is not set 1641# CONFIG_MAGIC_SYSRQ is not set
1642# CONFIG_STRIP_ASM_SYMS is not set
1623# CONFIG_UNUSED_SYMBOLS is not set 1643# CONFIG_UNUSED_SYMBOLS is not set
1624CONFIG_DEBUG_FS=y 1644CONFIG_DEBUG_FS=y
1625# CONFIG_HEADERS_CHECK is not set 1645# CONFIG_HEADERS_CHECK is not set
@@ -1637,6 +1657,7 @@ CONFIG_SCHED_DEBUG=y
1637# CONFIG_DEBUG_OBJECTS is not set 1657# CONFIG_DEBUG_OBJECTS is not set
1638# CONFIG_SLUB_DEBUG_ON is not set 1658# CONFIG_SLUB_DEBUG_ON is not set
1639# CONFIG_SLUB_STATS is not set 1659# CONFIG_SLUB_STATS is not set
1660# CONFIG_DEBUG_KMEMLEAK is not set
1640# CONFIG_DEBUG_RT_MUTEXES is not set 1661# CONFIG_DEBUG_RT_MUTEXES is not set
1641# CONFIG_RT_MUTEX_TESTER is not set 1662# CONFIG_RT_MUTEX_TESTER is not set
1642# CONFIG_DEBUG_SPINLOCK is not set 1663# CONFIG_DEBUG_SPINLOCK is not set
@@ -1656,10 +1677,12 @@ CONFIG_DEBUG_INFO=y
1656# CONFIG_DEBUG_LIST is not set 1677# CONFIG_DEBUG_LIST is not set
1657# CONFIG_DEBUG_SG is not set 1678# CONFIG_DEBUG_SG is not set
1658# CONFIG_DEBUG_NOTIFIERS is not set 1679# CONFIG_DEBUG_NOTIFIERS is not set
1680# CONFIG_DEBUG_CREDENTIALS is not set
1659# CONFIG_RCU_TORTURE_TEST is not set 1681# CONFIG_RCU_TORTURE_TEST is not set
1660# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1682# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1661# CONFIG_BACKTRACE_SELF_TEST is not set 1683# CONFIG_BACKTRACE_SELF_TEST is not set
1662# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1684# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1685# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1663# CONFIG_FAULT_INJECTION is not set 1686# CONFIG_FAULT_INJECTION is not set
1664# CONFIG_LATENCYTOP is not set 1687# CONFIG_LATENCYTOP is not set
1665CONFIG_SYSCTL_SYSCALL_CHECK=y 1688CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1683,10 +1706,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1683# CONFIG_WORKQUEUE_TRACER is not set 1706# CONFIG_WORKQUEUE_TRACER is not set
1684# CONFIG_BLK_DEV_IO_TRACE is not set 1707# CONFIG_BLK_DEV_IO_TRACE is not set
1685# CONFIG_DYNAMIC_DEBUG is not set 1708# CONFIG_DYNAMIC_DEBUG is not set
1709# CONFIG_DMA_API_DEBUG is not set
1686# CONFIG_SAMPLES is not set 1710# CONFIG_SAMPLES is not set
1687CONFIG_HAVE_ARCH_KGDB=y 1711CONFIG_HAVE_ARCH_KGDB=y
1688# CONFIG_KGDB is not set 1712# CONFIG_KGDB is not set
1689# CONFIG_KMEMCHECK is not set
1690# CONFIG_PPC_DISABLE_WERROR is not set 1713# CONFIG_PPC_DISABLE_WERROR is not set
1691CONFIG_PPC_WERROR=y 1714CONFIG_PPC_WERROR=y
1692CONFIG_PRINT_STACK_DEPTH=64 1715CONFIG_PRINT_STACK_DEPTH=64
@@ -1714,7 +1737,6 @@ CONFIG_CRYPTO=y
1714# 1737#
1715# Crypto core or helper 1738# Crypto core or helper
1716# 1739#
1717# CONFIG_CRYPTO_FIPS is not set
1718CONFIG_CRYPTO_ALGAPI=y 1740CONFIG_CRYPTO_ALGAPI=y
1719CONFIG_CRYPTO_ALGAPI2=y 1741CONFIG_CRYPTO_ALGAPI2=y
1720CONFIG_CRYPTO_AEAD=y 1742CONFIG_CRYPTO_AEAD=y
@@ -1757,11 +1779,13 @@ CONFIG_CRYPTO_PCBC=m
1757# 1779#
1758CONFIG_CRYPTO_HMAC=y 1780CONFIG_CRYPTO_HMAC=y
1759# CONFIG_CRYPTO_XCBC is not set 1781# CONFIG_CRYPTO_XCBC is not set
1782# CONFIG_CRYPTO_VMAC is not set
1760 1783
1761# 1784#
1762# Digest 1785# Digest
1763# 1786#
1764CONFIG_CRYPTO_CRC32C=m 1787CONFIG_CRYPTO_CRC32C=m
1788# CONFIG_CRYPTO_GHASH is not set
1765# CONFIG_CRYPTO_MD4 is not set 1789# CONFIG_CRYPTO_MD4 is not set
1766CONFIG_CRYPTO_MD5=y 1790CONFIG_CRYPTO_MD5=y
1767# CONFIG_CRYPTO_MICHAEL_MIC is not set 1791# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1769,16 +1793,16 @@ CONFIG_CRYPTO_MD5=y
1769# CONFIG_CRYPTO_RMD160 is not set 1793# CONFIG_CRYPTO_RMD160 is not set
1770# CONFIG_CRYPTO_RMD256 is not set 1794# CONFIG_CRYPTO_RMD256 is not set
1771# CONFIG_CRYPTO_RMD320 is not set 1795# CONFIG_CRYPTO_RMD320 is not set
1772CONFIG_CRYPTO_SHA1=m 1796CONFIG_CRYPTO_SHA1=y
1773# CONFIG_CRYPTO_SHA256 is not set 1797CONFIG_CRYPTO_SHA256=y
1774# CONFIG_CRYPTO_SHA512 is not set 1798CONFIG_CRYPTO_SHA512=y
1775# CONFIG_CRYPTO_TGR192 is not set 1799# CONFIG_CRYPTO_TGR192 is not set
1776# CONFIG_CRYPTO_WP512 is not set 1800# CONFIG_CRYPTO_WP512 is not set
1777 1801
1778# 1802#
1779# Ciphers 1803# Ciphers
1780# 1804#
1781# CONFIG_CRYPTO_AES is not set 1805CONFIG_CRYPTO_AES=y
1782# CONFIG_CRYPTO_ANUBIS is not set 1806# CONFIG_CRYPTO_ANUBIS is not set
1783# CONFIG_CRYPTO_ARC4 is not set 1807# CONFIG_CRYPTO_ARC4 is not set
1784# CONFIG_CRYPTO_BLOWFISH is not set 1808# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/mpc85xx_smp_defconfig b/arch/powerpc/configs/mpc85xx_smp_defconfig
index db082ce5a1c5..cd70b4a4ce01 100644
--- a/arch/powerpc/configs/mpc85xx_smp_defconfig
+++ b/arch/powerpc/configs/mpc85xx_smp_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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:56 2009 4# Thu Nov 5 08:26:01 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_MMU_NOHASH_32=y
25CONFIG_PPC_BOOK3E_MMU=y 26CONFIG_PPC_BOOK3E_MMU=y
26# CONFIG_PPC_MM_SLICES is not set 27# CONFIG_PPC_MM_SLICES is not set
27CONFIG_SMP=y 28CONFIG_SMP=y
@@ -37,6 +38,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
37CONFIG_GENERIC_HARDIRQS=y 38CONFIG_GENERIC_HARDIRQS=y
38CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 39CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
39# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 40# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
41# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
40CONFIG_IRQ_PER_CPU=y 42CONFIG_IRQ_PER_CPU=y
41CONFIG_STACKTRACE_SUPPORT=y 43CONFIG_STACKTRACE_SUPPORT=y
42CONFIG_HAVE_LATENCYTOP_SUPPORT=y 44CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -89,11 +91,12 @@ CONFIG_AUDIT=y
89# 91#
90# RCU Subsystem 92# RCU Subsystem
91# 93#
92CONFIG_CLASSIC_RCU=y 94CONFIG_TREE_RCU=y
93# CONFIG_TREE_RCU is not set 95# CONFIG_TREE_PREEMPT_RCU is not set
94# CONFIG_PREEMPT_RCU is not set 96# CONFIG_RCU_TRACE is not set
97CONFIG_RCU_FANOUT=32
98# CONFIG_RCU_FANOUT_EXACT is not set
95# CONFIG_TREE_RCU_TRACE is not set 99# CONFIG_TREE_RCU_TRACE is not set
96# CONFIG_PREEMPT_RCU_TRACE is not set
97CONFIG_IKCONFIG=y 100CONFIG_IKCONFIG=y
98CONFIG_IKCONFIG_PROC=y 101CONFIG_IKCONFIG_PROC=y
99CONFIG_LOG_BUF_SHIFT=14 102CONFIG_LOG_BUF_SHIFT=14
@@ -132,22 +135,21 @@ CONFIG_TIMERFD=y
132CONFIG_EVENTFD=y 135CONFIG_EVENTFD=y
133CONFIG_SHMEM=y 136CONFIG_SHMEM=y
134CONFIG_AIO=y 137CONFIG_AIO=y
135CONFIG_HAVE_PERF_COUNTERS=y 138CONFIG_HAVE_PERF_EVENTS=y
136 139
137# 140#
138# Performance Counters 141# Kernel Performance Events And Counters
139# 142#
143# CONFIG_PERF_EVENTS is not set
140# CONFIG_PERF_COUNTERS is not set 144# CONFIG_PERF_COUNTERS is not set
141CONFIG_VM_EVENT_COUNTERS=y 145CONFIG_VM_EVENT_COUNTERS=y
142CONFIG_PCI_QUIRKS=y 146CONFIG_PCI_QUIRKS=y
143CONFIG_SLUB_DEBUG=y 147CONFIG_SLUB_DEBUG=y
144# CONFIG_STRIP_ASM_SYMS is not set
145CONFIG_COMPAT_BRK=y 148CONFIG_COMPAT_BRK=y
146# CONFIG_SLAB is not set 149# CONFIG_SLAB is not set
147CONFIG_SLUB=y 150CONFIG_SLUB=y
148# CONFIG_SLOB is not set 151# CONFIG_SLOB is not set
149# CONFIG_PROFILING is not set 152# CONFIG_PROFILING is not set
150# CONFIG_MARKERS is not set
151CONFIG_HAVE_OPROFILE=y 153CONFIG_HAVE_OPROFILE=y
152# CONFIG_KPROBES is not set 154# CONFIG_KPROBES is not set
153CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 155CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -155,8 +157,10 @@ CONFIG_HAVE_IOREMAP_PROT=y
155CONFIG_HAVE_KPROBES=y 157CONFIG_HAVE_KPROBES=y
156CONFIG_HAVE_KRETPROBES=y 158CONFIG_HAVE_KRETPROBES=y
157CONFIG_HAVE_ARCH_TRACEHOOK=y 159CONFIG_HAVE_ARCH_TRACEHOOK=y
160CONFIG_HAVE_DMA_ATTRS=y
158CONFIG_USE_GENERIC_SMP_HELPERS=y 161CONFIG_USE_GENERIC_SMP_HELPERS=y
159CONFIG_HAVE_CLK=y 162CONFIG_HAVE_CLK=y
163CONFIG_HAVE_DMA_API_DEBUG=y
160 164
161# 165#
162# GCOV-based kernel profiling 166# GCOV-based kernel profiling
@@ -192,6 +196,7 @@ CONFIG_DEFAULT_CFQ=y
192# CONFIG_DEFAULT_NOOP is not set 196# CONFIG_DEFAULT_NOOP is not set
193CONFIG_DEFAULT_IOSCHED="cfq" 197CONFIG_DEFAULT_IOSCHED="cfq"
194# CONFIG_FREEZER is not set 198# CONFIG_FREEZER is not set
199CONFIG_PPC_MSI_BITMAP=y
195 200
196# 201#
197# Platform support 202# Platform support
@@ -206,9 +211,10 @@ CONFIG_MPC85xx_CDS=y
206CONFIG_MPC85xx_MDS=y 211CONFIG_MPC85xx_MDS=y
207CONFIG_MPC8536_DS=y 212CONFIG_MPC8536_DS=y
208CONFIG_MPC85xx_DS=y 213CONFIG_MPC85xx_DS=y
214CONFIG_MPC85xx_RDB=y
209CONFIG_SOCRATES=y 215CONFIG_SOCRATES=y
210CONFIG_KSI8560=y 216CONFIG_KSI8560=y
211# CONFIG_XES_MPC85xx is not set 217CONFIG_XES_MPC85xx=y
212CONFIG_STX_GP3=y 218CONFIG_STX_GP3=y
213CONFIG_TQM8540=y 219CONFIG_TQM8540=y
214CONFIG_TQM8541=y 220CONFIG_TQM8541=y
@@ -261,11 +267,11 @@ CONFIG_BINFMT_MISC=m
261CONFIG_MATH_EMULATION=y 267CONFIG_MATH_EMULATION=y
262CONFIG_IOMMU_HELPER=y 268CONFIG_IOMMU_HELPER=y
263CONFIG_SWIOTLB=y 269CONFIG_SWIOTLB=y
264CONFIG_PPC_NEED_DMA_SYNC_OPS=y
265CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 270CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
266CONFIG_ARCH_HAS_WALK_MEMORY=y 271CONFIG_ARCH_HAS_WALK_MEMORY=y
267CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 272CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
268# CONFIG_IRQ_ALL_CPUS is not set 273# CONFIG_IRQ_ALL_CPUS is not set
274CONFIG_MAX_ACTIVE_REGIONS=32
269CONFIG_ARCH_FLATMEM_ENABLE=y 275CONFIG_ARCH_FLATMEM_ENABLE=y
270CONFIG_ARCH_POPULATES_NODE_MAP=y 276CONFIG_ARCH_POPULATES_NODE_MAP=y
271CONFIG_SELECT_MEMORY_MODEL=y 277CONFIG_SELECT_MEMORY_MODEL=y
@@ -283,6 +289,7 @@ CONFIG_BOUNCE=y
283CONFIG_VIRT_TO_BUS=y 289CONFIG_VIRT_TO_BUS=y
284CONFIG_HAVE_MLOCK=y 290CONFIG_HAVE_MLOCK=y
285CONFIG_HAVE_MLOCKED_PAGE_BIT=y 291CONFIG_HAVE_MLOCKED_PAGE_BIT=y
292# CONFIG_KSM is not set
286CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 293CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
287CONFIG_PPC_4K_PAGES=y 294CONFIG_PPC_4K_PAGES=y
288# CONFIG_PPC_16K_PAGES is not set 295# CONFIG_PPC_16K_PAGES is not set
@@ -310,7 +317,7 @@ CONFIG_PCI_DOMAINS=y
310CONFIG_PCI_SYSCALL=y 317CONFIG_PCI_SYSCALL=y
311# CONFIG_PCIEPORTBUS is not set 318# CONFIG_PCIEPORTBUS is not set
312CONFIG_ARCH_SUPPORTS_MSI=y 319CONFIG_ARCH_SUPPORTS_MSI=y
313# CONFIG_PCI_MSI is not set 320CONFIG_PCI_MSI=y
314# CONFIG_PCI_LEGACY is not set 321# CONFIG_PCI_LEGACY is not set
315# CONFIG_PCI_DEBUG is not set 322# CONFIG_PCI_DEBUG is not set
316# CONFIG_PCI_STUB is not set 323# CONFIG_PCI_STUB is not set
@@ -318,7 +325,8 @@ CONFIG_ARCH_SUPPORTS_MSI=y
318# CONFIG_PCCARD is not set 325# CONFIG_PCCARD is not set
319# CONFIG_HOTPLUG_PCI is not set 326# CONFIG_HOTPLUG_PCI is not set
320CONFIG_HAS_RAPIDIO=y 327CONFIG_HAS_RAPIDIO=y
321# CONFIG_RAPIDIO is not set 328CONFIG_RAPIDIO=y
329CONFIG_RAPIDIO_DISC_TIMEOUT=30
322 330
323# 331#
324# Advanced setup 332# Advanced setup
@@ -348,7 +356,7 @@ CONFIG_XFRM_USER=y
348# CONFIG_XFRM_SUB_POLICY is not set 356# CONFIG_XFRM_SUB_POLICY is not set
349# CONFIG_XFRM_MIGRATE is not set 357# CONFIG_XFRM_MIGRATE is not set
350# CONFIG_XFRM_STATISTICS is not set 358# CONFIG_XFRM_STATISTICS is not set
351CONFIG_NET_KEY=m 359CONFIG_NET_KEY=y
352# CONFIG_NET_KEY_MIGRATE is not set 360# CONFIG_NET_KEY_MIGRATE is not set
353CONFIG_INET=y 361CONFIG_INET=y
354CONFIG_IP_MULTICAST=y 362CONFIG_IP_MULTICAST=y
@@ -372,12 +380,12 @@ CONFIG_IP_PIMSM_V2=y
372CONFIG_ARPD=y 380CONFIG_ARPD=y
373# CONFIG_SYN_COOKIES is not set 381# CONFIG_SYN_COOKIES is not set
374# CONFIG_INET_AH is not set 382# CONFIG_INET_AH is not set
375# CONFIG_INET_ESP is not set 383CONFIG_INET_ESP=y
376# CONFIG_INET_IPCOMP is not set 384# CONFIG_INET_IPCOMP is not set
377# CONFIG_INET_XFRM_TUNNEL is not set 385# CONFIG_INET_XFRM_TUNNEL is not set
378CONFIG_INET_TUNNEL=y 386CONFIG_INET_TUNNEL=y
379# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 387CONFIG_INET_XFRM_MODE_TRANSPORT=y
380# CONFIG_INET_XFRM_MODE_TUNNEL is not set 388CONFIG_INET_XFRM_MODE_TUNNEL=y
381# CONFIG_INET_XFRM_MODE_BEET is not set 389# CONFIG_INET_XFRM_MODE_BEET is not set
382# CONFIG_INET_LRO is not set 390# CONFIG_INET_LRO is not set
383CONFIG_INET_DIAG=y 391CONFIG_INET_DIAG=y
@@ -414,6 +422,7 @@ CONFIG_IP_SCTP=m
414# CONFIG_SCTP_HMAC_NONE is not set 422# CONFIG_SCTP_HMAC_NONE is not set
415# CONFIG_SCTP_HMAC_SHA1 is not set 423# CONFIG_SCTP_HMAC_SHA1 is not set
416CONFIG_SCTP_HMAC_MD5=y 424CONFIG_SCTP_HMAC_MD5=y
425# CONFIG_RDS is not set
417# CONFIG_TIPC is not set 426# CONFIG_TIPC is not set
418# CONFIG_ATM is not set 427# CONFIG_ATM is not set
419# CONFIG_BRIDGE is not set 428# CONFIG_BRIDGE is not set
@@ -444,6 +453,7 @@ CONFIG_SCTP_HMAC_MD5=y
444CONFIG_FIB_RULES=y 453CONFIG_FIB_RULES=y
445CONFIG_WIRELESS=y 454CONFIG_WIRELESS=y
446# CONFIG_CFG80211 is not set 455# CONFIG_CFG80211 is not set
456CONFIG_CFG80211_DEFAULT_PS_VALUE=0
447CONFIG_WIRELESS_OLD_REGULATORY=y 457CONFIG_WIRELESS_OLD_REGULATORY=y
448# CONFIG_WIRELESS_EXT is not set 458# CONFIG_WIRELESS_EXT is not set
449# CONFIG_LIB80211 is not set 459# CONFIG_LIB80211 is not set
@@ -451,7 +461,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
451# 461#
452# CFG80211 needs to be enabled for MAC80211 462# CFG80211 needs to be enabled for MAC80211
453# 463#
454CONFIG_MAC80211_DEFAULT_PS_VALUE=0
455# CONFIG_WIMAX is not set 464# CONFIG_WIMAX is not set
456# CONFIG_RFKILL is not set 465# CONFIG_RFKILL is not set
457# CONFIG_NET_9P is not set 466# CONFIG_NET_9P is not set
@@ -464,6 +473,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
464# Generic Driver Options 473# Generic Driver Options
465# 474#
466CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 475CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
476# CONFIG_DEVTMPFS is not set
467CONFIG_STANDALONE=y 477CONFIG_STANDALONE=y
468CONFIG_PREVENT_FIRMWARE_BUILD=y 478CONFIG_PREVENT_FIRMWARE_BUILD=y
469CONFIG_FW_LOADER=y 479CONFIG_FW_LOADER=y
@@ -557,6 +567,7 @@ CONFIG_SCSI_LOWLEVEL=y
557# CONFIG_ISCSI_TCP is not set 567# CONFIG_ISCSI_TCP is not set
558# CONFIG_SCSI_CXGB3_ISCSI is not set 568# CONFIG_SCSI_CXGB3_ISCSI is not set
559# CONFIG_SCSI_BNX2_ISCSI is not set 569# CONFIG_SCSI_BNX2_ISCSI is not set
570# CONFIG_BE2ISCSI is not set
560# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 571# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
561# CONFIG_SCSI_3W_9XXX is not set 572# CONFIG_SCSI_3W_9XXX is not set
562# CONFIG_SCSI_ACARD is not set 573# CONFIG_SCSI_ACARD is not set
@@ -596,11 +607,14 @@ CONFIG_SCSI_LOWLEVEL=y
596# CONFIG_SCSI_DC390T is not set 607# CONFIG_SCSI_DC390T is not set
597# CONFIG_SCSI_NSP32 is not set 608# CONFIG_SCSI_NSP32 is not set
598# CONFIG_SCSI_DEBUG is not set 609# CONFIG_SCSI_DEBUG is not set
610# CONFIG_SCSI_PMCRAID is not set
599# CONFIG_SCSI_SRP is not set 611# CONFIG_SCSI_SRP is not set
612# CONFIG_SCSI_BFA_FC is not set
600# CONFIG_SCSI_DH is not set 613# CONFIG_SCSI_DH is not set
601# CONFIG_SCSI_OSD_INITIATOR is not set 614# CONFIG_SCSI_OSD_INITIATOR is not set
602CONFIG_ATA=y 615CONFIG_ATA=y
603# CONFIG_ATA_NONSTANDARD is not set 616# CONFIG_ATA_NONSTANDARD is not set
617CONFIG_ATA_VERBOSE_ERROR=y
604CONFIG_SATA_PMP=y 618CONFIG_SATA_PMP=y
605CONFIG_SATA_AHCI=y 619CONFIG_SATA_AHCI=y
606# CONFIG_SATA_SIL24 is not set 620# CONFIG_SATA_SIL24 is not set
@@ -623,6 +637,7 @@ CONFIG_ATA_SFF=y
623CONFIG_PATA_ALI=y 637CONFIG_PATA_ALI=y
624# CONFIG_PATA_AMD is not set 638# CONFIG_PATA_AMD is not set
625# CONFIG_PATA_ARTOP is not set 639# CONFIG_PATA_ARTOP is not set
640# CONFIG_PATA_ATP867X is not set
626# CONFIG_PATA_ATIIXP is not set 641# CONFIG_PATA_ATIIXP is not set
627# CONFIG_PATA_CMD640_PCI is not set 642# CONFIG_PATA_CMD640_PCI is not set
628# CONFIG_PATA_CMD64X is not set 643# CONFIG_PATA_CMD64X is not set
@@ -650,6 +665,7 @@ CONFIG_PATA_ALI=y
650# CONFIG_PATA_OPTIDMA is not set 665# CONFIG_PATA_OPTIDMA is not set
651# CONFIG_PATA_PDC_OLD is not set 666# CONFIG_PATA_PDC_OLD is not set
652# CONFIG_PATA_RADISYS is not set 667# CONFIG_PATA_RADISYS is not set
668# CONFIG_PATA_RDC is not set
653# CONFIG_PATA_RZ1000 is not set 669# CONFIG_PATA_RZ1000 is not set
654# CONFIG_PATA_SC1200 is not set 670# CONFIG_PATA_SC1200 is not set
655# CONFIG_PATA_SERVERWORKS is not set 671# CONFIG_PATA_SERVERWORKS is not set
@@ -726,7 +742,9 @@ CONFIG_MII=y
726# CONFIG_NET_PCI is not set 742# CONFIG_NET_PCI is not set
727# CONFIG_B44 is not set 743# CONFIG_B44 is not set
728# CONFIG_KS8842 is not set 744# CONFIG_KS8842 is not set
745# CONFIG_KS8851_MLL is not set
729# CONFIG_ATL2 is not set 746# CONFIG_ATL2 is not set
747# CONFIG_XILINX_EMACLITE is not set
730CONFIG_FS_ENET=y 748CONFIG_FS_ENET=y
731CONFIG_FS_ENET_HAS_SCC=y 749CONFIG_FS_ENET_HAS_SCC=y
732CONFIG_FS_ENET_HAS_FCC=y 750CONFIG_FS_ENET_HAS_FCC=y
@@ -753,7 +771,6 @@ CONFIG_NETDEV_1000=y
753CONFIG_FSL_PQ_MDIO=y 771CONFIG_FSL_PQ_MDIO=y
754CONFIG_GIANFAR=y 772CONFIG_GIANFAR=y
755CONFIG_UCC_GETH=y 773CONFIG_UCC_GETH=y
756# CONFIG_UGETH_MAGIC_PACKET is not set
757# CONFIG_UGETH_TX_ON_DEMAND is not set 774# CONFIG_UGETH_TX_ON_DEMAND is not set
758# CONFIG_MV643XX_ETH is not set 775# CONFIG_MV643XX_ETH is not set
759# CONFIG_QLA3XXX is not set 776# CONFIG_QLA3XXX is not set
@@ -781,10 +798,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
781# CONFIG_SFC is not set 798# CONFIG_SFC is not set
782# CONFIG_BE2NET is not set 799# CONFIG_BE2NET is not set
783# CONFIG_TR is not set 800# CONFIG_TR is not set
784 801CONFIG_WLAN=y
785#
786# Wireless LAN
787#
788# CONFIG_WLAN_PRE80211 is not set 802# CONFIG_WLAN_PRE80211 is not set
789# CONFIG_WLAN_80211 is not set 803# CONFIG_WLAN_80211 is not set
790 804
@@ -801,6 +815,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
801# CONFIG_USB_RTL8150 is not set 815# CONFIG_USB_RTL8150 is not set
802# CONFIG_USB_USBNET is not set 816# CONFIG_USB_USBNET is not set
803# CONFIG_WAN is not set 817# CONFIG_WAN is not set
818# CONFIG_RIONET is not set
804# CONFIG_FDDI is not set 819# CONFIG_FDDI is not set
805# CONFIG_HIPPI is not set 820# CONFIG_HIPPI is not set
806# CONFIG_PPP is not set 821# CONFIG_PPP is not set
@@ -901,6 +916,7 @@ CONFIG_NVRAM=y
901CONFIG_DEVPORT=y 916CONFIG_DEVPORT=y
902CONFIG_I2C=y 917CONFIG_I2C=y
903CONFIG_I2C_BOARDINFO=y 918CONFIG_I2C_BOARDINFO=y
919CONFIG_I2C_COMPAT=y
904# CONFIG_I2C_CHARDEV is not set 920# CONFIG_I2C_CHARDEV is not set
905CONFIG_I2C_HELPER_AUTO=y 921CONFIG_I2C_HELPER_AUTO=y
906 922
@@ -958,9 +974,6 @@ CONFIG_I2C_MPC=y
958# Miscellaneous I2C Chip support 974# Miscellaneous I2C Chip support
959# 975#
960# CONFIG_DS1682 is not set 976# CONFIG_DS1682 is not set
961# CONFIG_SENSORS_PCF8574 is not set
962# CONFIG_PCF8575 is not set
963# CONFIG_SENSORS_PCA9539 is not set
964# CONFIG_SENSORS_TSL2550 is not set 977# CONFIG_SENSORS_TSL2550 is not set
965# CONFIG_I2C_DEBUG_CORE is not set 978# CONFIG_I2C_DEBUG_CORE is not set
966# CONFIG_I2C_DEBUG_ALGO is not set 979# CONFIG_I2C_DEBUG_ALGO is not set
@@ -994,15 +1007,19 @@ CONFIG_GPIOLIB=y
994# PCI GPIO expanders: 1007# PCI GPIO expanders:
995# 1008#
996# CONFIG_GPIO_BT8XX is not set 1009# CONFIG_GPIO_BT8XX is not set
1010# CONFIG_GPIO_LANGWELL is not set
997 1011
998# 1012#
999# SPI GPIO expanders: 1013# SPI GPIO expanders:
1000# 1014#
1015
1016#
1017# AC97 GPIO expanders:
1018#
1001# CONFIG_W1 is not set 1019# CONFIG_W1 is not set
1002# CONFIG_POWER_SUPPLY is not set 1020# CONFIG_POWER_SUPPLY is not set
1003# CONFIG_HWMON is not set 1021# CONFIG_HWMON is not set
1004# CONFIG_THERMAL is not set 1022# CONFIG_THERMAL is not set
1005# CONFIG_THERMAL_HWMON is not set
1006# CONFIG_WATCHDOG is not set 1023# CONFIG_WATCHDOG is not set
1007CONFIG_SSB_POSSIBLE=y 1024CONFIG_SSB_POSSIBLE=y
1008 1025
@@ -1023,6 +1040,7 @@ CONFIG_SSB_POSSIBLE=y
1023# CONFIG_MFD_TMIO is not set 1040# CONFIG_MFD_TMIO is not set
1024# CONFIG_PMIC_DA903X is not set 1041# CONFIG_PMIC_DA903X is not set
1025# CONFIG_MFD_WM8400 is not set 1042# CONFIG_MFD_WM8400 is not set
1043# CONFIG_MFD_WM831X is not set
1026# CONFIG_MFD_WM8350_I2C is not set 1044# CONFIG_MFD_WM8350_I2C is not set
1027# CONFIG_MFD_PCF50633 is not set 1045# CONFIG_MFD_PCF50633 is not set
1028# CONFIG_AB3100_CORE is not set 1046# CONFIG_AB3100_CORE is not set
@@ -1033,6 +1051,7 @@ CONFIG_SSB_POSSIBLE=y
1033# Graphics support 1051# Graphics support
1034# 1052#
1035# CONFIG_AGP is not set 1053# CONFIG_AGP is not set
1054CONFIG_VGA_ARB=y
1036# CONFIG_DRM is not set 1055# CONFIG_DRM is not set
1037# CONFIG_VGASTATE is not set 1056# CONFIG_VGASTATE is not set
1038CONFIG_VIDEO_OUTPUT_CONTROL=y 1057CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1052,6 +1071,7 @@ CONFIG_VGA_CONSOLE=y
1052CONFIG_DUMMY_CONSOLE=y 1071CONFIG_DUMMY_CONSOLE=y
1053CONFIG_SOUND=y 1072CONFIG_SOUND=y
1054CONFIG_SOUND_OSS_CORE=y 1073CONFIG_SOUND_OSS_CORE=y
1074CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1055CONFIG_SND=y 1075CONFIG_SND=y
1056CONFIG_SND_TIMER=y 1076CONFIG_SND_TIMER=y
1057CONFIG_SND_PCM=y 1077CONFIG_SND_PCM=y
@@ -1155,7 +1175,6 @@ CONFIG_SND_USB=y
1155CONFIG_AC97_BUS=y 1175CONFIG_AC97_BUS=y
1156CONFIG_HID_SUPPORT=y 1176CONFIG_HID_SUPPORT=y
1157CONFIG_HID=y 1177CONFIG_HID=y
1158# CONFIG_HID_DEBUG is not set
1159# CONFIG_HIDRAW is not set 1178# CONFIG_HIDRAW is not set
1160 1179
1161# 1180#
@@ -1178,6 +1197,7 @@ CONFIG_HID_CYPRESS=y
1178CONFIG_HID_EZKEY=y 1197CONFIG_HID_EZKEY=y
1179# CONFIG_HID_KYE is not set 1198# CONFIG_HID_KYE is not set
1180CONFIG_HID_GYRATION=y 1199CONFIG_HID_GYRATION=y
1200# CONFIG_HID_TWINHAN is not set
1181# CONFIG_HID_KENSINGTON is not set 1201# CONFIG_HID_KENSINGTON is not set
1182CONFIG_HID_LOGITECH=y 1202CONFIG_HID_LOGITECH=y
1183# CONFIG_LOGITECH_FF is not set 1203# CONFIG_LOGITECH_FF is not set
@@ -1230,6 +1250,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1230# CONFIG_USB_OXU210HP_HCD is not set 1250# CONFIG_USB_OXU210HP_HCD is not set
1231# CONFIG_USB_ISP116X_HCD is not set 1251# CONFIG_USB_ISP116X_HCD is not set
1232# CONFIG_USB_ISP1760_HCD is not set 1252# CONFIG_USB_ISP1760_HCD is not set
1253# CONFIG_USB_ISP1362_HCD is not set
1233CONFIG_USB_OHCI_HCD=y 1254CONFIG_USB_OHCI_HCD=y
1234CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1255CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1235CONFIG_USB_OHCI_HCD_PPC_OF_LE=y 1256CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
@@ -1244,7 +1265,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1244# CONFIG_USB_R8A66597_HCD is not set 1265# CONFIG_USB_R8A66597_HCD is not set
1245# CONFIG_USB_WHCI_HCD is not set 1266# CONFIG_USB_WHCI_HCD is not set
1246# CONFIG_USB_HWA_HCD is not set 1267# CONFIG_USB_HWA_HCD is not set
1247# CONFIG_USB_MUSB_HDRC is not set
1248 1268
1249# 1269#
1250# USB Device Class drivers 1270# USB Device Class drivers
@@ -1432,6 +1452,7 @@ CONFIG_FS_MBCACHE=y
1432# CONFIG_GFS2_FS is not set 1452# CONFIG_GFS2_FS is not set
1433# CONFIG_OCFS2_FS is not set 1453# CONFIG_OCFS2_FS is not set
1434# CONFIG_BTRFS_FS is not set 1454# CONFIG_BTRFS_FS is not set
1455# CONFIG_NILFS2_FS is not set
1435CONFIG_FILE_LOCKING=y 1456CONFIG_FILE_LOCKING=y
1436CONFIG_FSNOTIFY=y 1457CONFIG_FSNOTIFY=y
1437CONFIG_DNOTIFY=y 1458CONFIG_DNOTIFY=y
@@ -1502,7 +1523,6 @@ CONFIG_SYSV_FS=m
1502CONFIG_UFS_FS=m 1523CONFIG_UFS_FS=m
1503# CONFIG_UFS_FS_WRITE is not set 1524# CONFIG_UFS_FS_WRITE is not set
1504# CONFIG_UFS_DEBUG is not set 1525# CONFIG_UFS_DEBUG is not set
1505# CONFIG_NILFS2_FS is not set
1506CONFIG_NETWORK_FILESYSTEMS=y 1526CONFIG_NETWORK_FILESYSTEMS=y
1507CONFIG_NFS_FS=y 1527CONFIG_NFS_FS=y
1508CONFIG_NFS_V3=y 1528CONFIG_NFS_V3=y
@@ -1623,6 +1643,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1623CONFIG_ENABLE_MUST_CHECK=y 1643CONFIG_ENABLE_MUST_CHECK=y
1624CONFIG_FRAME_WARN=1024 1644CONFIG_FRAME_WARN=1024
1625# CONFIG_MAGIC_SYSRQ is not set 1645# CONFIG_MAGIC_SYSRQ is not set
1646# CONFIG_STRIP_ASM_SYMS is not set
1626# CONFIG_UNUSED_SYMBOLS is not set 1647# CONFIG_UNUSED_SYMBOLS is not set
1627CONFIG_DEBUG_FS=y 1648CONFIG_DEBUG_FS=y
1628# CONFIG_HEADERS_CHECK is not set 1649# CONFIG_HEADERS_CHECK is not set
@@ -1640,6 +1661,7 @@ CONFIG_SCHED_DEBUG=y
1640# CONFIG_DEBUG_OBJECTS is not set 1661# CONFIG_DEBUG_OBJECTS is not set
1641# CONFIG_SLUB_DEBUG_ON is not set 1662# CONFIG_SLUB_DEBUG_ON is not set
1642# CONFIG_SLUB_STATS is not set 1663# CONFIG_SLUB_STATS is not set
1664# CONFIG_DEBUG_KMEMLEAK is not set
1643# CONFIG_DEBUG_RT_MUTEXES is not set 1665# CONFIG_DEBUG_RT_MUTEXES is not set
1644# CONFIG_RT_MUTEX_TESTER is not set 1666# CONFIG_RT_MUTEX_TESTER is not set
1645# CONFIG_DEBUG_SPINLOCK is not set 1667# CONFIG_DEBUG_SPINLOCK is not set
@@ -1659,10 +1681,12 @@ CONFIG_DEBUG_INFO=y
1659# CONFIG_DEBUG_LIST is not set 1681# CONFIG_DEBUG_LIST is not set
1660# CONFIG_DEBUG_SG is not set 1682# CONFIG_DEBUG_SG is not set
1661# CONFIG_DEBUG_NOTIFIERS is not set 1683# CONFIG_DEBUG_NOTIFIERS is not set
1684# CONFIG_DEBUG_CREDENTIALS is not set
1662# CONFIG_RCU_TORTURE_TEST is not set 1685# CONFIG_RCU_TORTURE_TEST is not set
1663# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1686# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1664# CONFIG_BACKTRACE_SELF_TEST is not set 1687# CONFIG_BACKTRACE_SELF_TEST is not set
1665# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1688# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1689# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1666# CONFIG_FAULT_INJECTION is not set 1690# CONFIG_FAULT_INJECTION is not set
1667# CONFIG_LATENCYTOP is not set 1691# CONFIG_LATENCYTOP is not set
1668CONFIG_SYSCTL_SYSCALL_CHECK=y 1692CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1686,10 +1710,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1686# CONFIG_WORKQUEUE_TRACER is not set 1710# CONFIG_WORKQUEUE_TRACER is not set
1687# CONFIG_BLK_DEV_IO_TRACE is not set 1711# CONFIG_BLK_DEV_IO_TRACE is not set
1688# CONFIG_DYNAMIC_DEBUG is not set 1712# CONFIG_DYNAMIC_DEBUG is not set
1713# CONFIG_DMA_API_DEBUG is not set
1689# CONFIG_SAMPLES is not set 1714# CONFIG_SAMPLES is not set
1690CONFIG_HAVE_ARCH_KGDB=y 1715CONFIG_HAVE_ARCH_KGDB=y
1691# CONFIG_KGDB is not set 1716# CONFIG_KGDB is not set
1692# CONFIG_KMEMCHECK is not set
1693# CONFIG_PPC_DISABLE_WERROR is not set 1717# CONFIG_PPC_DISABLE_WERROR is not set
1694CONFIG_PPC_WERROR=y 1718CONFIG_PPC_WERROR=y
1695CONFIG_PRINT_STACK_DEPTH=64 1719CONFIG_PRINT_STACK_DEPTH=64
@@ -1717,7 +1741,6 @@ CONFIG_CRYPTO=y
1717# 1741#
1718# Crypto core or helper 1742# Crypto core or helper
1719# 1743#
1720# CONFIG_CRYPTO_FIPS is not set
1721CONFIG_CRYPTO_ALGAPI=y 1744CONFIG_CRYPTO_ALGAPI=y
1722CONFIG_CRYPTO_ALGAPI2=y 1745CONFIG_CRYPTO_ALGAPI2=y
1723CONFIG_CRYPTO_AEAD=y 1746CONFIG_CRYPTO_AEAD=y
@@ -1760,11 +1783,13 @@ CONFIG_CRYPTO_PCBC=m
1760# 1783#
1761CONFIG_CRYPTO_HMAC=y 1784CONFIG_CRYPTO_HMAC=y
1762# CONFIG_CRYPTO_XCBC is not set 1785# CONFIG_CRYPTO_XCBC is not set
1786# CONFIG_CRYPTO_VMAC is not set
1763 1787
1764# 1788#
1765# Digest 1789# Digest
1766# 1790#
1767CONFIG_CRYPTO_CRC32C=m 1791CONFIG_CRYPTO_CRC32C=m
1792# CONFIG_CRYPTO_GHASH is not set
1768# CONFIG_CRYPTO_MD4 is not set 1793# CONFIG_CRYPTO_MD4 is not set
1769CONFIG_CRYPTO_MD5=y 1794CONFIG_CRYPTO_MD5=y
1770# CONFIG_CRYPTO_MICHAEL_MIC is not set 1795# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1772,16 +1797,16 @@ CONFIG_CRYPTO_MD5=y
1772# CONFIG_CRYPTO_RMD160 is not set 1797# CONFIG_CRYPTO_RMD160 is not set
1773# CONFIG_CRYPTO_RMD256 is not set 1798# CONFIG_CRYPTO_RMD256 is not set
1774# CONFIG_CRYPTO_RMD320 is not set 1799# CONFIG_CRYPTO_RMD320 is not set
1775CONFIG_CRYPTO_SHA1=m 1800CONFIG_CRYPTO_SHA1=y
1776# CONFIG_CRYPTO_SHA256 is not set 1801CONFIG_CRYPTO_SHA256=y
1777# CONFIG_CRYPTO_SHA512 is not set 1802CONFIG_CRYPTO_SHA512=y
1778# CONFIG_CRYPTO_TGR192 is not set 1803# CONFIG_CRYPTO_TGR192 is not set
1779# CONFIG_CRYPTO_WP512 is not set 1804# CONFIG_CRYPTO_WP512 is not set
1780 1805
1781# 1806#
1782# Ciphers 1807# Ciphers
1783# 1808#
1784# CONFIG_CRYPTO_AES is not set 1809CONFIG_CRYPTO_AES=y
1785# CONFIG_CRYPTO_ANUBIS is not set 1810# CONFIG_CRYPTO_ANUBIS is not set
1786# CONFIG_CRYPTO_ARC4 is not set 1811# CONFIG_CRYPTO_ARC4 is not set
1787# CONFIG_CRYPTO_BLOWFISH is not set 1812# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index 6809b61ed3de..40d6f0568ca5 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:57 2009 4# Thu Nov 5 08:20:15 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_PPC_8xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_8xx=y 17CONFIG_8xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -29,6 +30,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
30CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
32CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y 36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -76,11 +78,12 @@ CONFIG_SYSVIPC_SYSCTL=y
76# 78#
77# RCU Subsystem 79# RCU Subsystem
78# 80#
79CONFIG_CLASSIC_RCU=y 81CONFIG_TREE_RCU=y
80# CONFIG_TREE_RCU is not set 82# CONFIG_TREE_PREEMPT_RCU is not set
81# CONFIG_PREEMPT_RCU is not set 83# CONFIG_RCU_TRACE is not set
84CONFIG_RCU_FANOUT=32
85# CONFIG_RCU_FANOUT_EXACT is not set
82# CONFIG_TREE_RCU_TRACE is not set 86# CONFIG_TREE_RCU_TRACE is not set
83# CONFIG_PREEMPT_RCU_TRACE is not set
84# CONFIG_IKCONFIG is not set 87# CONFIG_IKCONFIG is not set
85CONFIG_LOG_BUF_SHIFT=14 88CONFIG_LOG_BUF_SHIFT=14
86CONFIG_GROUP_SCHED=y 89CONFIG_GROUP_SCHED=y
@@ -113,28 +116,29 @@ CONFIG_TIMERFD=y
113CONFIG_EVENTFD=y 116CONFIG_EVENTFD=y
114CONFIG_SHMEM=y 117CONFIG_SHMEM=y
115CONFIG_AIO=y 118CONFIG_AIO=y
116CONFIG_HAVE_PERF_COUNTERS=y 119CONFIG_HAVE_PERF_EVENTS=y
117 120
118# 121#
119# Performance Counters 122# Kernel Performance Events And Counters
120# 123#
124# CONFIG_PERF_EVENTS is not set
121# CONFIG_PERF_COUNTERS is not set 125# CONFIG_PERF_COUNTERS is not set
122# CONFIG_VM_EVENT_COUNTERS is not set 126# CONFIG_VM_EVENT_COUNTERS is not set
123CONFIG_SLUB_DEBUG=y 127CONFIG_SLUB_DEBUG=y
124# CONFIG_STRIP_ASM_SYMS is not set
125CONFIG_COMPAT_BRK=y 128CONFIG_COMPAT_BRK=y
126# CONFIG_SLAB is not set 129# CONFIG_SLAB is not set
127CONFIG_SLUB=y 130CONFIG_SLUB=y
128# CONFIG_SLOB is not set 131# CONFIG_SLOB is not set
129# CONFIG_PROFILING is not set 132# CONFIG_PROFILING is not set
130# CONFIG_MARKERS is not set
131CONFIG_HAVE_OPROFILE=y 133CONFIG_HAVE_OPROFILE=y
132CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 134CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
133CONFIG_HAVE_IOREMAP_PROT=y 135CONFIG_HAVE_IOREMAP_PROT=y
134CONFIG_HAVE_KPROBES=y 136CONFIG_HAVE_KPROBES=y
135CONFIG_HAVE_KRETPROBES=y 137CONFIG_HAVE_KRETPROBES=y
136CONFIG_HAVE_ARCH_TRACEHOOK=y 138CONFIG_HAVE_ARCH_TRACEHOOK=y
139CONFIG_HAVE_DMA_ATTRS=y
137CONFIG_HAVE_CLK=y 140CONFIG_HAVE_CLK=y
141CONFIG_HAVE_DMA_API_DEBUG=y
138 142
139# 143#
140# GCOV-based kernel profiling 144# GCOV-based kernel profiling
@@ -233,10 +237,10 @@ CONFIG_BINFMT_ELF=y
233CONFIG_MATH_EMULATION=y 237CONFIG_MATH_EMULATION=y
234# CONFIG_IOMMU_HELPER is not set 238# CONFIG_IOMMU_HELPER is not set
235# CONFIG_SWIOTLB is not set 239# CONFIG_SWIOTLB is not set
236CONFIG_PPC_NEED_DMA_SYNC_OPS=y
237CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 240CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
238CONFIG_ARCH_HAS_WALK_MEMORY=y 241CONFIG_ARCH_HAS_WALK_MEMORY=y
239CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 242CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
243CONFIG_MAX_ACTIVE_REGIONS=32
240CONFIG_ARCH_FLATMEM_ENABLE=y 244CONFIG_ARCH_FLATMEM_ENABLE=y
241CONFIG_ARCH_POPULATES_NODE_MAP=y 245CONFIG_ARCH_POPULATES_NODE_MAP=y
242CONFIG_SELECT_MEMORY_MODEL=y 246CONFIG_SELECT_MEMORY_MODEL=y
@@ -254,6 +258,7 @@ CONFIG_BOUNCE=y
254CONFIG_VIRT_TO_BUS=y 258CONFIG_VIRT_TO_BUS=y
255CONFIG_HAVE_MLOCK=y 259CONFIG_HAVE_MLOCK=y
256CONFIG_HAVE_MLOCKED_PAGE_BIT=y 260CONFIG_HAVE_MLOCKED_PAGE_BIT=y
261# CONFIG_KSM is not set
257CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 262CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
258CONFIG_PPC_4K_PAGES=y 263CONFIG_PPC_4K_PAGES=y
259# CONFIG_PPC_16K_PAGES is not set 264# CONFIG_PPC_16K_PAGES is not set
@@ -340,6 +345,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_NETFILTER is not set 345# CONFIG_NETFILTER is not set
341# CONFIG_IP_DCCP is not set 346# CONFIG_IP_DCCP is not set
342# CONFIG_IP_SCTP is not set 347# CONFIG_IP_SCTP is not set
348# CONFIG_RDS is not set
343# CONFIG_TIPC is not set 349# CONFIG_TIPC is not set
344# CONFIG_ATM is not set 350# CONFIG_ATM is not set
345# CONFIG_BRIDGE is not set 351# CONFIG_BRIDGE is not set
@@ -369,6 +375,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# CONFIG_AF_RXRPC is not set 375# CONFIG_AF_RXRPC is not set
370CONFIG_WIRELESS=y 376CONFIG_WIRELESS=y
371# CONFIG_CFG80211 is not set 377# CONFIG_CFG80211 is not set
378CONFIG_CFG80211_DEFAULT_PS_VALUE=0
372CONFIG_WIRELESS_OLD_REGULATORY=y 379CONFIG_WIRELESS_OLD_REGULATORY=y
373# CONFIG_WIRELESS_EXT is not set 380# CONFIG_WIRELESS_EXT is not set
374# CONFIG_LIB80211 is not set 381# CONFIG_LIB80211 is not set
@@ -376,7 +383,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
376# 383#
377# CFG80211 needs to be enabled for MAC80211 384# CFG80211 needs to be enabled for MAC80211
378# 385#
379CONFIG_MAC80211_DEFAULT_PS_VALUE=0
380# CONFIG_WIMAX is not set 386# CONFIG_WIMAX is not set
381# CONFIG_RFKILL is not set 387# CONFIG_RFKILL is not set
382# CONFIG_NET_9P is not set 388# CONFIG_NET_9P is not set
@@ -467,6 +473,8 @@ CONFIG_MII=y
467# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 473# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
468# CONFIG_B44 is not set 474# CONFIG_B44 is not set
469# CONFIG_KS8842 is not set 475# CONFIG_KS8842 is not set
476# CONFIG_KS8851_MLL is not set
477# CONFIG_XILINX_EMACLITE is not set
470CONFIG_FS_ENET=y 478CONFIG_FS_ENET=y
471CONFIG_FS_ENET_HAS_SCC=y 479CONFIG_FS_ENET_HAS_SCC=y
472CONFIG_FS_ENET_HAS_FEC=y 480CONFIG_FS_ENET_HAS_FEC=y
@@ -476,10 +484,7 @@ CONFIG_NETDEV_1000=y
476# CONFIG_GIANFAR is not set 484# CONFIG_GIANFAR is not set
477# CONFIG_MV643XX_ETH is not set 485# CONFIG_MV643XX_ETH is not set
478CONFIG_NETDEV_10000=y 486CONFIG_NETDEV_10000=y
479 487CONFIG_WLAN=y
480#
481# Wireless LAN
482#
483# CONFIG_WLAN_PRE80211 is not set 488# CONFIG_WLAN_PRE80211 is not set
484# CONFIG_WLAN_80211 is not set 489# CONFIG_WLAN_80211 is not set
485 490
@@ -520,6 +525,7 @@ CONFIG_INPUT_KEYBOARD=y
520CONFIG_KEYBOARD_ATKBD=y 525CONFIG_KEYBOARD_ATKBD=y
521# CONFIG_KEYBOARD_LKKBD is not set 526# CONFIG_KEYBOARD_LKKBD is not set
522# CONFIG_KEYBOARD_NEWTON is not set 527# CONFIG_KEYBOARD_NEWTON is not set
528# CONFIG_KEYBOARD_OPENCORES is not set
523# CONFIG_KEYBOARD_STOWAWAY is not set 529# CONFIG_KEYBOARD_STOWAWAY is not set
524# CONFIG_KEYBOARD_SUNKBD is not set 530# CONFIG_KEYBOARD_SUNKBD is not set
525# CONFIG_KEYBOARD_XTKBD is not set 531# CONFIG_KEYBOARD_XTKBD is not set
@@ -530,6 +536,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
530CONFIG_MOUSE_PS2_SYNAPTICS=y 536CONFIG_MOUSE_PS2_SYNAPTICS=y
531CONFIG_MOUSE_PS2_TRACKPOINT=y 537CONFIG_MOUSE_PS2_TRACKPOINT=y
532# CONFIG_MOUSE_PS2_ELANTECH is not set 538# CONFIG_MOUSE_PS2_ELANTECH is not set
539# CONFIG_MOUSE_PS2_SENTELIC is not set
533# CONFIG_MOUSE_PS2_TOUCHKIT is not set 540# CONFIG_MOUSE_PS2_TOUCHKIT is not set
534# CONFIG_MOUSE_SERIAL is not set 541# CONFIG_MOUSE_SERIAL is not set
535# CONFIG_MOUSE_VSXXXAA is not set 542# CONFIG_MOUSE_VSXXXAA is not set
@@ -595,6 +602,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
595# CONFIG_POWER_SUPPLY is not set 602# CONFIG_POWER_SUPPLY is not set
596CONFIG_HWMON=y 603CONFIG_HWMON=y
597# CONFIG_HWMON_VID is not set 604# CONFIG_HWMON_VID is not set
605# CONFIG_HWMON_DEBUG_CHIP is not set
606
607#
608# Native drivers
609#
598# CONFIG_SENSORS_F71805F is not set 610# CONFIG_SENSORS_F71805F is not set
599# CONFIG_SENSORS_F71882FG is not set 611# CONFIG_SENSORS_F71882FG is not set
600# CONFIG_SENSORS_IT87 is not set 612# CONFIG_SENSORS_IT87 is not set
@@ -605,9 +617,7 @@ CONFIG_HWMON=y
605# CONFIG_SENSORS_VT1211 is not set 617# CONFIG_SENSORS_VT1211 is not set
606# CONFIG_SENSORS_W83627HF is not set 618# CONFIG_SENSORS_W83627HF is not set
607# CONFIG_SENSORS_W83627EHF is not set 619# CONFIG_SENSORS_W83627EHF is not set
608# CONFIG_HWMON_DEBUG_CHIP is not set
609# CONFIG_THERMAL is not set 620# CONFIG_THERMAL is not set
610# CONFIG_THERMAL_HWMON is not set
611# CONFIG_WATCHDOG is not set 621# CONFIG_WATCHDOG is not set
612CONFIG_SSB_POSSIBLE=y 622CONFIG_SSB_POSSIBLE=y
613 623
@@ -641,7 +651,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
641# CONFIG_SOUND is not set 651# CONFIG_SOUND is not set
642CONFIG_HID_SUPPORT=y 652CONFIG_HID_SUPPORT=y
643CONFIG_HID=y 653CONFIG_HID=y
644# CONFIG_HID_DEBUG is not set
645# CONFIG_HIDRAW is not set 654# CONFIG_HIDRAW is not set
646# CONFIG_HID_PID is not set 655# CONFIG_HID_PID is not set
647 656
@@ -705,6 +714,7 @@ CONFIG_FS_MBCACHE=y
705# CONFIG_GFS2_FS is not set 714# CONFIG_GFS2_FS is not set
706# CONFIG_OCFS2_FS is not set 715# CONFIG_OCFS2_FS is not set
707# CONFIG_BTRFS_FS is not set 716# CONFIG_BTRFS_FS is not set
717# CONFIG_NILFS2_FS is not set
708CONFIG_FILE_LOCKING=y 718CONFIG_FILE_LOCKING=y
709CONFIG_FSNOTIFY=y 719CONFIG_FSNOTIFY=y
710CONFIG_DNOTIFY=y 720CONFIG_DNOTIFY=y
@@ -763,7 +773,6 @@ CONFIG_CRAMFS=y
763# CONFIG_ROMFS_FS is not set 773# CONFIG_ROMFS_FS is not set
764# CONFIG_SYSV_FS is not set 774# CONFIG_SYSV_FS is not set
765# CONFIG_UFS_FS is not set 775# CONFIG_UFS_FS is not set
766# CONFIG_NILFS2_FS is not set
767CONFIG_NETWORK_FILESYSTEMS=y 776CONFIG_NETWORK_FILESYSTEMS=y
768CONFIG_NFS_FS=y 777CONFIG_NFS_FS=y
769CONFIG_NFS_V3=y 778CONFIG_NFS_V3=y
@@ -836,6 +845,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
836CONFIG_ENABLE_MUST_CHECK=y 845CONFIG_ENABLE_MUST_CHECK=y
837CONFIG_FRAME_WARN=1024 846CONFIG_FRAME_WARN=1024
838# CONFIG_MAGIC_SYSRQ is not set 847# CONFIG_MAGIC_SYSRQ is not set
848# CONFIG_STRIP_ASM_SYMS is not set
839# CONFIG_UNUSED_SYMBOLS is not set 849# CONFIG_UNUSED_SYMBOLS is not set
840# CONFIG_DEBUG_FS is not set 850# CONFIG_DEBUG_FS is not set
841# CONFIG_HEADERS_CHECK is not set 851# CONFIG_HEADERS_CHECK is not set
@@ -851,6 +861,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
851CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 861CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
852CONFIG_TRACING_SUPPORT=y 862CONFIG_TRACING_SUPPORT=y
853# CONFIG_FTRACE is not set 863# CONFIG_FTRACE is not set
864# CONFIG_DMA_API_DEBUG is not set
854# CONFIG_SAMPLES is not set 865# CONFIG_SAMPLES is not set
855CONFIG_HAVE_ARCH_KGDB=y 866CONFIG_HAVE_ARCH_KGDB=y
856# CONFIG_PPC_DISABLE_WERROR is not set 867# CONFIG_PPC_DISABLE_WERROR is not set
@@ -871,7 +882,6 @@ CONFIG_CRYPTO=y
871# 882#
872# Crypto core or helper 883# Crypto core or helper
873# 884#
874# CONFIG_CRYPTO_FIPS is not set
875# CONFIG_CRYPTO_MANAGER is not set 885# CONFIG_CRYPTO_MANAGER is not set
876# CONFIG_CRYPTO_MANAGER2 is not set 886# CONFIG_CRYPTO_MANAGER2 is not set
877# CONFIG_CRYPTO_GF128MUL is not set 887# CONFIG_CRYPTO_GF128MUL is not set
@@ -902,11 +912,13 @@ CONFIG_CRYPTO=y
902# 912#
903# CONFIG_CRYPTO_HMAC is not set 913# CONFIG_CRYPTO_HMAC is not set
904# CONFIG_CRYPTO_XCBC is not set 914# CONFIG_CRYPTO_XCBC is not set
915# CONFIG_CRYPTO_VMAC is not set
905 916
906# 917#
907# Digest 918# Digest
908# 919#
909# CONFIG_CRYPTO_CRC32C is not set 920# CONFIG_CRYPTO_CRC32C is not set
921# CONFIG_CRYPTO_GHASH is not set
910# CONFIG_CRYPTO_MD4 is not set 922# CONFIG_CRYPTO_MD4 is not set
911# CONFIG_CRYPTO_MD5 is not set 923# CONFIG_CRYPTO_MD5 is not set
912# CONFIG_CRYPTO_MICHAEL_MIC is not set 924# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/mpc86xx_defconfig b/arch/powerpc/configs/mpc86xx_defconfig
index 0e8684a3138d..5b3abb42ae30 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:58 2009 4# Thu Nov 5 08:20:16 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -36,6 +36,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
39# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 41CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -88,11 +89,12 @@ CONFIG_AUDIT=y
88# 89#
89# RCU Subsystem 90# RCU Subsystem
90# 91#
91CONFIG_CLASSIC_RCU=y 92CONFIG_TREE_RCU=y
92# CONFIG_TREE_RCU is not set 93# CONFIG_TREE_PREEMPT_RCU is not set
93# CONFIG_PREEMPT_RCU is not set 94# CONFIG_RCU_TRACE is not set
95CONFIG_RCU_FANOUT=32
96# CONFIG_RCU_FANOUT_EXACT is not set
94# CONFIG_TREE_RCU_TRACE is not set 97# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_PREEMPT_RCU_TRACE is not set
96CONFIG_IKCONFIG=y 98CONFIG_IKCONFIG=y
97CONFIG_IKCONFIG_PROC=y 99CONFIG_IKCONFIG_PROC=y
98CONFIG_LOG_BUF_SHIFT=14 100CONFIG_LOG_BUF_SHIFT=14
@@ -131,22 +133,21 @@ CONFIG_TIMERFD=y
131CONFIG_EVENTFD=y 133CONFIG_EVENTFD=y
132CONFIG_SHMEM=y 134CONFIG_SHMEM=y
133CONFIG_AIO=y 135CONFIG_AIO=y
134CONFIG_HAVE_PERF_COUNTERS=y 136CONFIG_HAVE_PERF_EVENTS=y
135 137
136# 138#
137# Performance Counters 139# Kernel Performance Events And Counters
138# 140#
141# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set 142# CONFIG_PERF_COUNTERS is not set
140CONFIG_VM_EVENT_COUNTERS=y 143CONFIG_VM_EVENT_COUNTERS=y
141CONFIG_PCI_QUIRKS=y 144CONFIG_PCI_QUIRKS=y
142CONFIG_SLUB_DEBUG=y 145CONFIG_SLUB_DEBUG=y
143# CONFIG_STRIP_ASM_SYMS is not set
144CONFIG_COMPAT_BRK=y 146CONFIG_COMPAT_BRK=y
145# CONFIG_SLAB is not set 147# CONFIG_SLAB is not set
146CONFIG_SLUB=y 148CONFIG_SLUB=y
147# CONFIG_SLOB is not set 149# CONFIG_SLOB is not set
148# CONFIG_PROFILING is not set 150# CONFIG_PROFILING is not set
149# CONFIG_MARKERS is not set
150CONFIG_HAVE_OPROFILE=y 151CONFIG_HAVE_OPROFILE=y
151# CONFIG_KPROBES is not set 152# CONFIG_KPROBES is not set
152CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 153CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -154,7 +155,9 @@ CONFIG_HAVE_IOREMAP_PROT=y
154CONFIG_HAVE_KPROBES=y 155CONFIG_HAVE_KPROBES=y
155CONFIG_HAVE_KRETPROBES=y 156CONFIG_HAVE_KRETPROBES=y
156CONFIG_HAVE_ARCH_TRACEHOOK=y 157CONFIG_HAVE_ARCH_TRACEHOOK=y
158CONFIG_HAVE_DMA_ATTRS=y
157CONFIG_USE_GENERIC_SMP_HELPERS=y 159CONFIG_USE_GENERIC_SMP_HELPERS=y
160CONFIG_HAVE_DMA_API_DEBUG=y
158 161
159# 162#
160# GCOV-based kernel profiling 163# GCOV-based kernel profiling
@@ -253,13 +256,13 @@ CONFIG_BINFMT_ELF=y
253CONFIG_BINFMT_MISC=m 256CONFIG_BINFMT_MISC=m
254CONFIG_IOMMU_HELPER=y 257CONFIG_IOMMU_HELPER=y
255CONFIG_SWIOTLB=y 258CONFIG_SWIOTLB=y
256CONFIG_PPC_NEED_DMA_SYNC_OPS=y
257CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 259CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
258CONFIG_ARCH_HAS_WALK_MEMORY=y 260CONFIG_ARCH_HAS_WALK_MEMORY=y
259CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 261CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
260# CONFIG_KEXEC is not set 262# CONFIG_KEXEC is not set
261# CONFIG_CRASH_DUMP is not set 263# CONFIG_CRASH_DUMP is not set
262# CONFIG_IRQ_ALL_CPUS is not set 264# CONFIG_IRQ_ALL_CPUS is not set
265CONFIG_MAX_ACTIVE_REGIONS=32
263CONFIG_ARCH_FLATMEM_ENABLE=y 266CONFIG_ARCH_FLATMEM_ENABLE=y
264CONFIG_ARCH_POPULATES_NODE_MAP=y 267CONFIG_ARCH_POPULATES_NODE_MAP=y
265CONFIG_SELECT_MEMORY_MODEL=y 268CONFIG_SELECT_MEMORY_MODEL=y
@@ -277,6 +280,7 @@ CONFIG_BOUNCE=y
277CONFIG_VIRT_TO_BUS=y 280CONFIG_VIRT_TO_BUS=y
278CONFIG_HAVE_MLOCK=y 281CONFIG_HAVE_MLOCK=y
279CONFIG_HAVE_MLOCKED_PAGE_BIT=y 282CONFIG_HAVE_MLOCKED_PAGE_BIT=y
283# CONFIG_KSM is not set
280CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 284CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
281CONFIG_PPC_4K_PAGES=y 285CONFIG_PPC_4K_PAGES=y
282# CONFIG_PPC_16K_PAGES is not set 286# CONFIG_PPC_16K_PAGES is not set
@@ -406,6 +410,7 @@ CONFIG_IP_SCTP=m
406# CONFIG_SCTP_HMAC_NONE is not set 410# CONFIG_SCTP_HMAC_NONE is not set
407# CONFIG_SCTP_HMAC_SHA1 is not set 411# CONFIG_SCTP_HMAC_SHA1 is not set
408CONFIG_SCTP_HMAC_MD5=y 412CONFIG_SCTP_HMAC_MD5=y
413# CONFIG_RDS is not set
409# CONFIG_TIPC is not set 414# CONFIG_TIPC is not set
410# CONFIG_ATM is not set 415# CONFIG_ATM is not set
411# CONFIG_BRIDGE is not set 416# CONFIG_BRIDGE is not set
@@ -436,6 +441,7 @@ CONFIG_SCTP_HMAC_MD5=y
436CONFIG_FIB_RULES=y 441CONFIG_FIB_RULES=y
437CONFIG_WIRELESS=y 442CONFIG_WIRELESS=y
438# CONFIG_CFG80211 is not set 443# CONFIG_CFG80211 is not set
444CONFIG_CFG80211_DEFAULT_PS_VALUE=0
439CONFIG_WIRELESS_OLD_REGULATORY=y 445CONFIG_WIRELESS_OLD_REGULATORY=y
440# CONFIG_WIRELESS_EXT is not set 446# CONFIG_WIRELESS_EXT is not set
441# CONFIG_LIB80211 is not set 447# CONFIG_LIB80211 is not set
@@ -443,7 +449,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
443# 449#
444# CFG80211 needs to be enabled for MAC80211 450# CFG80211 needs to be enabled for MAC80211
445# 451#
446CONFIG_MAC80211_DEFAULT_PS_VALUE=0
447# CONFIG_WIMAX is not set 452# CONFIG_WIMAX is not set
448# CONFIG_RFKILL is not set 453# CONFIG_RFKILL is not set
449# CONFIG_NET_9P is not set 454# CONFIG_NET_9P is not set
@@ -456,6 +461,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
456# Generic Driver Options 461# Generic Driver Options
457# 462#
458CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 463CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
464# CONFIG_DEVTMPFS is not set
459CONFIG_STANDALONE=y 465CONFIG_STANDALONE=y
460CONFIG_PREVENT_FIRMWARE_BUILD=y 466CONFIG_PREVENT_FIRMWARE_BUILD=y
461CONFIG_FW_LOADER=y 467CONFIG_FW_LOADER=y
@@ -549,6 +555,7 @@ CONFIG_SCSI_LOWLEVEL=y
549# CONFIG_ISCSI_TCP is not set 555# CONFIG_ISCSI_TCP is not set
550# CONFIG_SCSI_CXGB3_ISCSI is not set 556# CONFIG_SCSI_CXGB3_ISCSI is not set
551# CONFIG_SCSI_BNX2_ISCSI is not set 557# CONFIG_SCSI_BNX2_ISCSI is not set
558# CONFIG_BE2ISCSI is not set
552# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 559# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
553# CONFIG_SCSI_3W_9XXX is not set 560# CONFIG_SCSI_3W_9XXX is not set
554# CONFIG_SCSI_ACARD is not set 561# CONFIG_SCSI_ACARD is not set
@@ -588,11 +595,14 @@ CONFIG_SCSI_LOWLEVEL=y
588# CONFIG_SCSI_DC390T is not set 595# CONFIG_SCSI_DC390T is not set
589# CONFIG_SCSI_NSP32 is not set 596# CONFIG_SCSI_NSP32 is not set
590# CONFIG_SCSI_DEBUG is not set 597# CONFIG_SCSI_DEBUG is not set
598# CONFIG_SCSI_PMCRAID is not set
591# CONFIG_SCSI_SRP is not set 599# CONFIG_SCSI_SRP is not set
600# CONFIG_SCSI_BFA_FC is not set
592# CONFIG_SCSI_DH is not set 601# CONFIG_SCSI_DH is not set
593# CONFIG_SCSI_OSD_INITIATOR is not set 602# CONFIG_SCSI_OSD_INITIATOR is not set
594CONFIG_ATA=y 603CONFIG_ATA=y
595# CONFIG_ATA_NONSTANDARD is not set 604# CONFIG_ATA_NONSTANDARD is not set
605CONFIG_ATA_VERBOSE_ERROR=y
596CONFIG_SATA_PMP=y 606CONFIG_SATA_PMP=y
597CONFIG_SATA_AHCI=y 607CONFIG_SATA_AHCI=y
598# CONFIG_SATA_SIL24 is not set 608# CONFIG_SATA_SIL24 is not set
@@ -615,6 +625,7 @@ CONFIG_ATA_SFF=y
615CONFIG_PATA_ALI=y 625CONFIG_PATA_ALI=y
616# CONFIG_PATA_AMD is not set 626# CONFIG_PATA_AMD is not set
617# CONFIG_PATA_ARTOP is not set 627# CONFIG_PATA_ARTOP is not set
628# CONFIG_PATA_ATP867X is not set
618# CONFIG_PATA_ATIIXP is not set 629# CONFIG_PATA_ATIIXP is not set
619# CONFIG_PATA_CMD640_PCI is not set 630# CONFIG_PATA_CMD640_PCI is not set
620# CONFIG_PATA_CMD64X is not set 631# CONFIG_PATA_CMD64X is not set
@@ -642,6 +653,7 @@ CONFIG_PATA_ALI=y
642# CONFIG_PATA_OPTIDMA is not set 653# CONFIG_PATA_OPTIDMA is not set
643# CONFIG_PATA_PDC_OLD is not set 654# CONFIG_PATA_PDC_OLD is not set
644# CONFIG_PATA_RADISYS is not set 655# CONFIG_PATA_RADISYS is not set
656# CONFIG_PATA_RDC is not set
645# CONFIG_PATA_RZ1000 is not set 657# CONFIG_PATA_RZ1000 is not set
646# CONFIG_PATA_SC1200 is not set 658# CONFIG_PATA_SC1200 is not set
647# CONFIG_PATA_SERVERWORKS is not set 659# CONFIG_PATA_SERVERWORKS is not set
@@ -718,7 +730,9 @@ CONFIG_MII=y
718# CONFIG_NET_PCI is not set 730# CONFIG_NET_PCI is not set
719# CONFIG_B44 is not set 731# CONFIG_B44 is not set
720# CONFIG_KS8842 is not set 732# CONFIG_KS8842 is not set
733# CONFIG_KS8851_MLL is not set
721# CONFIG_ATL2 is not set 734# CONFIG_ATL2 is not set
735# CONFIG_XILINX_EMACLITE is not set
722CONFIG_NETDEV_1000=y 736CONFIG_NETDEV_1000=y
723# CONFIG_ACENIC is not set 737# CONFIG_ACENIC is not set
724# CONFIG_DL2K is not set 738# CONFIG_DL2K is not set
@@ -766,10 +780,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
766# CONFIG_SFC is not set 780# CONFIG_SFC is not set
767# CONFIG_BE2NET is not set 781# CONFIG_BE2NET is not set
768# CONFIG_TR is not set 782# CONFIG_TR is not set
769 783CONFIG_WLAN=y
770#
771# Wireless LAN
772#
773# CONFIG_WLAN_PRE80211 is not set 784# CONFIG_WLAN_PRE80211 is not set
774# CONFIG_WLAN_80211 is not set 785# CONFIG_WLAN_80211 is not set
775 786
@@ -883,6 +894,7 @@ CONFIG_NVRAM=y
883CONFIG_DEVPORT=y 894CONFIG_DEVPORT=y
884CONFIG_I2C=y 895CONFIG_I2C=y
885CONFIG_I2C_BOARDINFO=y 896CONFIG_I2C_BOARDINFO=y
897CONFIG_I2C_COMPAT=y
886# CONFIG_I2C_CHARDEV is not set 898# CONFIG_I2C_CHARDEV is not set
887CONFIG_I2C_HELPER_AUTO=y 899CONFIG_I2C_HELPER_AUTO=y
888 900
@@ -938,9 +950,6 @@ CONFIG_I2C_MPC=y
938# Miscellaneous I2C Chip support 950# Miscellaneous I2C Chip support
939# 951#
940# CONFIG_DS1682 is not set 952# CONFIG_DS1682 is not set
941# CONFIG_SENSORS_PCF8574 is not set
942# CONFIG_PCF8575 is not set
943# CONFIG_SENSORS_PCA9539 is not set
944# CONFIG_SENSORS_TSL2550 is not set 953# CONFIG_SENSORS_TSL2550 is not set
945# CONFIG_I2C_DEBUG_CORE is not set 954# CONFIG_I2C_DEBUG_CORE is not set
946# CONFIG_I2C_DEBUG_ALGO is not set 955# CONFIG_I2C_DEBUG_ALGO is not set
@@ -974,15 +983,19 @@ CONFIG_GPIOLIB=y
974# PCI GPIO expanders: 983# PCI GPIO expanders:
975# 984#
976# CONFIG_GPIO_BT8XX is not set 985# CONFIG_GPIO_BT8XX is not set
986# CONFIG_GPIO_LANGWELL is not set
977 987
978# 988#
979# SPI GPIO expanders: 989# SPI GPIO expanders:
980# 990#
991
992#
993# AC97 GPIO expanders:
994#
981# CONFIG_W1 is not set 995# CONFIG_W1 is not set
982# CONFIG_POWER_SUPPLY is not set 996# CONFIG_POWER_SUPPLY is not set
983# CONFIG_HWMON is not set 997# CONFIG_HWMON is not set
984# CONFIG_THERMAL is not set 998# CONFIG_THERMAL is not set
985# CONFIG_THERMAL_HWMON is not set
986# CONFIG_WATCHDOG is not set 999# CONFIG_WATCHDOG is not set
987CONFIG_SSB_POSSIBLE=y 1000CONFIG_SSB_POSSIBLE=y
988 1001
@@ -1003,6 +1016,7 @@ CONFIG_SSB_POSSIBLE=y
1003# CONFIG_MFD_TMIO is not set 1016# CONFIG_MFD_TMIO is not set
1004# CONFIG_PMIC_DA903X is not set 1017# CONFIG_PMIC_DA903X is not set
1005# CONFIG_MFD_WM8400 is not set 1018# CONFIG_MFD_WM8400 is not set
1019# CONFIG_MFD_WM831X is not set
1006# CONFIG_MFD_WM8350_I2C is not set 1020# CONFIG_MFD_WM8350_I2C is not set
1007# CONFIG_MFD_PCF50633 is not set 1021# CONFIG_MFD_PCF50633 is not set
1008# CONFIG_AB3100_CORE is not set 1022# CONFIG_AB3100_CORE is not set
@@ -1013,6 +1027,7 @@ CONFIG_SSB_POSSIBLE=y
1013# Graphics support 1027# Graphics support
1014# 1028#
1015# CONFIG_AGP is not set 1029# CONFIG_AGP is not set
1030CONFIG_VGA_ARB=y
1016# CONFIG_DRM is not set 1031# CONFIG_DRM is not set
1017# CONFIG_VGASTATE is not set 1032# CONFIG_VGASTATE is not set
1018CONFIG_VIDEO_OUTPUT_CONTROL=y 1033CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1032,6 +1047,7 @@ CONFIG_VGA_CONSOLE=y
1032CONFIG_DUMMY_CONSOLE=y 1047CONFIG_DUMMY_CONSOLE=y
1033CONFIG_SOUND=y 1048CONFIG_SOUND=y
1034CONFIG_SOUND_OSS_CORE=y 1049CONFIG_SOUND_OSS_CORE=y
1050CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1035CONFIG_SND=y 1051CONFIG_SND=y
1036CONFIG_SND_TIMER=y 1052CONFIG_SND_TIMER=y
1037CONFIG_SND_PCM=y 1053CONFIG_SND_PCM=y
@@ -1135,7 +1151,6 @@ CONFIG_SND_USB=y
1135CONFIG_AC97_BUS=y 1151CONFIG_AC97_BUS=y
1136CONFIG_HID_SUPPORT=y 1152CONFIG_HID_SUPPORT=y
1137CONFIG_HID=y 1153CONFIG_HID=y
1138# CONFIG_HID_DEBUG is not set
1139# CONFIG_HIDRAW is not set 1154# CONFIG_HIDRAW is not set
1140 1155
1141# 1156#
@@ -1158,6 +1173,7 @@ CONFIG_HID_CYPRESS=y
1158CONFIG_HID_EZKEY=y 1173CONFIG_HID_EZKEY=y
1159# CONFIG_HID_KYE is not set 1174# CONFIG_HID_KYE is not set
1160CONFIG_HID_GYRATION=y 1175CONFIG_HID_GYRATION=y
1176# CONFIG_HID_TWINHAN is not set
1161# CONFIG_HID_KENSINGTON is not set 1177# CONFIG_HID_KENSINGTON is not set
1162CONFIG_HID_LOGITECH=y 1178CONFIG_HID_LOGITECH=y
1163# CONFIG_LOGITECH_FF is not set 1179# CONFIG_LOGITECH_FF is not set
@@ -1210,6 +1226,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1210# CONFIG_USB_OXU210HP_HCD is not set 1226# CONFIG_USB_OXU210HP_HCD is not set
1211# CONFIG_USB_ISP116X_HCD is not set 1227# CONFIG_USB_ISP116X_HCD is not set
1212# CONFIG_USB_ISP1760_HCD is not set 1228# CONFIG_USB_ISP1760_HCD is not set
1229# CONFIG_USB_ISP1362_HCD is not set
1213CONFIG_USB_OHCI_HCD=y 1230CONFIG_USB_OHCI_HCD=y
1214CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1231CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1215CONFIG_USB_OHCI_HCD_PPC_OF_LE=y 1232CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
@@ -1389,6 +1406,7 @@ CONFIG_FS_MBCACHE=y
1389# CONFIG_GFS2_FS is not set 1406# CONFIG_GFS2_FS is not set
1390# CONFIG_OCFS2_FS is not set 1407# CONFIG_OCFS2_FS is not set
1391# CONFIG_BTRFS_FS is not set 1408# CONFIG_BTRFS_FS is not set
1409# CONFIG_NILFS2_FS is not set
1392CONFIG_FILE_LOCKING=y 1410CONFIG_FILE_LOCKING=y
1393CONFIG_FSNOTIFY=y 1411CONFIG_FSNOTIFY=y
1394CONFIG_DNOTIFY=y 1412CONFIG_DNOTIFY=y
@@ -1459,7 +1477,6 @@ CONFIG_SYSV_FS=m
1459CONFIG_UFS_FS=m 1477CONFIG_UFS_FS=m
1460# CONFIG_UFS_FS_WRITE is not set 1478# CONFIG_UFS_FS_WRITE is not set
1461# CONFIG_UFS_DEBUG is not set 1479# CONFIG_UFS_DEBUG is not set
1462# CONFIG_NILFS2_FS is not set
1463CONFIG_NETWORK_FILESYSTEMS=y 1480CONFIG_NETWORK_FILESYSTEMS=y
1464CONFIG_NFS_FS=y 1481CONFIG_NFS_FS=y
1465CONFIG_NFS_V3=y 1482CONFIG_NFS_V3=y
@@ -1577,6 +1594,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1577CONFIG_ENABLE_MUST_CHECK=y 1594CONFIG_ENABLE_MUST_CHECK=y
1578CONFIG_FRAME_WARN=1024 1595CONFIG_FRAME_WARN=1024
1579# CONFIG_MAGIC_SYSRQ is not set 1596# CONFIG_MAGIC_SYSRQ is not set
1597# CONFIG_STRIP_ASM_SYMS is not set
1580# CONFIG_UNUSED_SYMBOLS is not set 1598# CONFIG_UNUSED_SYMBOLS is not set
1581# CONFIG_DEBUG_FS is not set 1599# CONFIG_DEBUG_FS is not set
1582# CONFIG_HEADERS_CHECK is not set 1600# CONFIG_HEADERS_CHECK is not set
@@ -1594,6 +1612,7 @@ CONFIG_SCHED_DEBUG=y
1594# CONFIG_DEBUG_OBJECTS is not set 1612# CONFIG_DEBUG_OBJECTS is not set
1595# CONFIG_SLUB_DEBUG_ON is not set 1613# CONFIG_SLUB_DEBUG_ON is not set
1596# CONFIG_SLUB_STATS is not set 1614# CONFIG_SLUB_STATS is not set
1615# CONFIG_DEBUG_KMEMLEAK is not set
1597# CONFIG_DEBUG_RT_MUTEXES is not set 1616# CONFIG_DEBUG_RT_MUTEXES is not set
1598# CONFIG_RT_MUTEX_TESTER is not set 1617# CONFIG_RT_MUTEX_TESTER is not set
1599# CONFIG_DEBUG_SPINLOCK is not set 1618# CONFIG_DEBUG_SPINLOCK is not set
@@ -1613,10 +1632,12 @@ CONFIG_DEBUG_INFO=y
1613# CONFIG_DEBUG_LIST is not set 1632# CONFIG_DEBUG_LIST is not set
1614# CONFIG_DEBUG_SG is not set 1633# CONFIG_DEBUG_SG is not set
1615# CONFIG_DEBUG_NOTIFIERS is not set 1634# CONFIG_DEBUG_NOTIFIERS is not set
1635# CONFIG_DEBUG_CREDENTIALS is not set
1616# CONFIG_RCU_TORTURE_TEST is not set 1636# CONFIG_RCU_TORTURE_TEST is not set
1617# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1637# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1618# CONFIG_BACKTRACE_SELF_TEST is not set 1638# CONFIG_BACKTRACE_SELF_TEST is not set
1619# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1639# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1640# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1620# CONFIG_FAULT_INJECTION is not set 1641# CONFIG_FAULT_INJECTION is not set
1621# CONFIG_LATENCYTOP is not set 1642# CONFIG_LATENCYTOP is not set
1622CONFIG_SYSCTL_SYSCALL_CHECK=y 1643CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1639,10 +1660,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1639# CONFIG_KMEMTRACE is not set 1660# CONFIG_KMEMTRACE is not set
1640# CONFIG_WORKQUEUE_TRACER is not set 1661# CONFIG_WORKQUEUE_TRACER is not set
1641# CONFIG_BLK_DEV_IO_TRACE is not set 1662# CONFIG_BLK_DEV_IO_TRACE is not set
1663# CONFIG_DMA_API_DEBUG is not set
1642# CONFIG_SAMPLES is not set 1664# CONFIG_SAMPLES is not set
1643CONFIG_HAVE_ARCH_KGDB=y 1665CONFIG_HAVE_ARCH_KGDB=y
1644# CONFIG_KGDB is not set 1666# CONFIG_KGDB is not set
1645# CONFIG_KMEMCHECK is not set
1646# CONFIG_PPC_DISABLE_WERROR is not set 1667# CONFIG_PPC_DISABLE_WERROR is not set
1647CONFIG_PPC_WERROR=y 1668CONFIG_PPC_WERROR=y
1648CONFIG_PRINT_STACK_DEPTH=64 1669CONFIG_PRINT_STACK_DEPTH=64
@@ -1669,7 +1690,6 @@ CONFIG_CRYPTO=y
1669# 1690#
1670# Crypto core or helper 1691# Crypto core or helper
1671# 1692#
1672# CONFIG_CRYPTO_FIPS is not set
1673CONFIG_CRYPTO_ALGAPI=y 1693CONFIG_CRYPTO_ALGAPI=y
1674CONFIG_CRYPTO_ALGAPI2=y 1694CONFIG_CRYPTO_ALGAPI2=y
1675CONFIG_CRYPTO_AEAD2=y 1695CONFIG_CRYPTO_AEAD2=y
@@ -1711,11 +1731,13 @@ CONFIG_CRYPTO_PCBC=m
1711# 1731#
1712CONFIG_CRYPTO_HMAC=y 1732CONFIG_CRYPTO_HMAC=y
1713# CONFIG_CRYPTO_XCBC is not set 1733# CONFIG_CRYPTO_XCBC is not set
1734# CONFIG_CRYPTO_VMAC is not set
1714 1735
1715# 1736#
1716# Digest 1737# Digest
1717# 1738#
1718CONFIG_CRYPTO_CRC32C=m 1739CONFIG_CRYPTO_CRC32C=m
1740# CONFIG_CRYPTO_GHASH is not set
1719# CONFIG_CRYPTO_MD4 is not set 1741# CONFIG_CRYPTO_MD4 is not set
1720CONFIG_CRYPTO_MD5=y 1742CONFIG_CRYPTO_MD5=y
1721# CONFIG_CRYPTO_MICHAEL_MIC is not set 1743# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index dbe8e869a827..1da3488a603d 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:31:59 2009 4# Thu Nov 5 08:20:17 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_PPC_8xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_8xx=y 17CONFIG_8xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -29,6 +30,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
30CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
32CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y 36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -77,11 +79,12 @@ CONFIG_SYSVIPC_SYSCTL=y
77# 79#
78# RCU Subsystem 80# RCU Subsystem
79# 81#
80CONFIG_CLASSIC_RCU=y 82CONFIG_TREE_RCU=y
81# CONFIG_TREE_RCU is not set 83# CONFIG_TREE_PREEMPT_RCU is not set
82# CONFIG_PREEMPT_RCU is not set 84# CONFIG_RCU_TRACE is not set
85CONFIG_RCU_FANOUT=32
86# CONFIG_RCU_FANOUT_EXACT is not set
83# CONFIG_TREE_RCU_TRACE is not set 87# CONFIG_TREE_RCU_TRACE is not set
84# CONFIG_PREEMPT_RCU_TRACE is not set
85# CONFIG_IKCONFIG is not set 88# CONFIG_IKCONFIG is not set
86CONFIG_LOG_BUF_SHIFT=14 89CONFIG_LOG_BUF_SHIFT=14
87CONFIG_GROUP_SCHED=y 90CONFIG_GROUP_SCHED=y
@@ -115,28 +118,29 @@ CONFIG_TIMERFD=y
115CONFIG_EVENTFD=y 118CONFIG_EVENTFD=y
116CONFIG_SHMEM=y 119CONFIG_SHMEM=y
117CONFIG_AIO=y 120CONFIG_AIO=y
118CONFIG_HAVE_PERF_COUNTERS=y 121CONFIG_HAVE_PERF_EVENTS=y
119 122
120# 123#
121# Performance Counters 124# Kernel Performance Events And Counters
122# 125#
126# CONFIG_PERF_EVENTS is not set
123# CONFIG_PERF_COUNTERS is not set 127# CONFIG_PERF_COUNTERS is not set
124# CONFIG_VM_EVENT_COUNTERS is not set 128# CONFIG_VM_EVENT_COUNTERS is not set
125CONFIG_SLUB_DEBUG=y 129CONFIG_SLUB_DEBUG=y
126# CONFIG_STRIP_ASM_SYMS is not set
127CONFIG_COMPAT_BRK=y 130CONFIG_COMPAT_BRK=y
128# CONFIG_SLAB is not set 131# CONFIG_SLAB is not set
129CONFIG_SLUB=y 132CONFIG_SLUB=y
130# CONFIG_SLOB is not set 133# CONFIG_SLOB is not set
131# CONFIG_PROFILING is not set 134# CONFIG_PROFILING is not set
132# CONFIG_MARKERS is not set
133CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
134CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
135CONFIG_HAVE_IOREMAP_PROT=y 137CONFIG_HAVE_IOREMAP_PROT=y
136CONFIG_HAVE_KPROBES=y 138CONFIG_HAVE_KPROBES=y
137CONFIG_HAVE_KRETPROBES=y 139CONFIG_HAVE_KRETPROBES=y
138CONFIG_HAVE_ARCH_TRACEHOOK=y 140CONFIG_HAVE_ARCH_TRACEHOOK=y
141CONFIG_HAVE_DMA_ATTRS=y
139CONFIG_HAVE_CLK=y 142CONFIG_HAVE_CLK=y
143CONFIG_HAVE_DMA_API_DEBUG=y
140 144
141# 145#
142# GCOV-based kernel profiling 146# GCOV-based kernel profiling
@@ -241,10 +245,10 @@ CONFIG_BINFMT_ELF=y
241CONFIG_8XX_MINIMAL_FPEMU=y 245CONFIG_8XX_MINIMAL_FPEMU=y
242# CONFIG_IOMMU_HELPER is not set 246# CONFIG_IOMMU_HELPER is not set
243# CONFIG_SWIOTLB is not set 247# CONFIG_SWIOTLB is not set
244CONFIG_PPC_NEED_DMA_SYNC_OPS=y
245CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 248CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
246CONFIG_ARCH_HAS_WALK_MEMORY=y 249CONFIG_ARCH_HAS_WALK_MEMORY=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 250CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
251CONFIG_MAX_ACTIVE_REGIONS=32
248CONFIG_ARCH_FLATMEM_ENABLE=y 252CONFIG_ARCH_FLATMEM_ENABLE=y
249CONFIG_ARCH_POPULATES_NODE_MAP=y 253CONFIG_ARCH_POPULATES_NODE_MAP=y
250CONFIG_SELECT_MEMORY_MODEL=y 254CONFIG_SELECT_MEMORY_MODEL=y
@@ -262,6 +266,7 @@ CONFIG_BOUNCE=y
262CONFIG_VIRT_TO_BUS=y 266CONFIG_VIRT_TO_BUS=y
263CONFIG_HAVE_MLOCK=y 267CONFIG_HAVE_MLOCK=y
264CONFIG_HAVE_MLOCKED_PAGE_BIT=y 268CONFIG_HAVE_MLOCKED_PAGE_BIT=y
269# CONFIG_KSM is not set
265CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 270CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
266CONFIG_PPC_4K_PAGES=y 271CONFIG_PPC_4K_PAGES=y
267# CONFIG_PPC_16K_PAGES is not set 272# CONFIG_PPC_16K_PAGES is not set
@@ -344,6 +349,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
344# CONFIG_NETFILTER is not set 349# CONFIG_NETFILTER is not set
345# CONFIG_IP_DCCP is not set 350# CONFIG_IP_DCCP is not set
346# CONFIG_IP_SCTP is not set 351# CONFIG_IP_SCTP is not set
352# CONFIG_RDS is not set
347# CONFIG_TIPC is not set 353# CONFIG_TIPC is not set
348# CONFIG_ATM is not set 354# CONFIG_ATM is not set
349# CONFIG_BRIDGE is not set 355# CONFIG_BRIDGE is not set
@@ -373,6 +379,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
373# CONFIG_AF_RXRPC is not set 379# CONFIG_AF_RXRPC is not set
374CONFIG_WIRELESS=y 380CONFIG_WIRELESS=y
375# CONFIG_CFG80211 is not set 381# CONFIG_CFG80211 is not set
382CONFIG_CFG80211_DEFAULT_PS_VALUE=0
376CONFIG_WIRELESS_OLD_REGULATORY=y 383CONFIG_WIRELESS_OLD_REGULATORY=y
377# CONFIG_WIRELESS_EXT is not set 384# CONFIG_WIRELESS_EXT is not set
378# CONFIG_LIB80211 is not set 385# CONFIG_LIB80211 is not set
@@ -380,7 +387,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
380# 387#
381# CFG80211 needs to be enabled for MAC80211 388# CFG80211 needs to be enabled for MAC80211
382# 389#
383CONFIG_MAC80211_DEFAULT_PS_VALUE=0
384# CONFIG_WIMAX is not set 390# CONFIG_WIMAX is not set
385# CONFIG_RFKILL is not set 391# CONFIG_RFKILL is not set
386# CONFIG_NET_9P is not set 392# CONFIG_NET_9P is not set
@@ -393,6 +399,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
393# Generic Driver Options 399# Generic Driver Options
394# 400#
395CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 401CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
402# CONFIG_DEVTMPFS is not set
396CONFIG_STANDALONE=y 403CONFIG_STANDALONE=y
397CONFIG_PREVENT_FIRMWARE_BUILD=y 404CONFIG_PREVENT_FIRMWARE_BUILD=y
398# CONFIG_FW_LOADER is not set 405# CONFIG_FW_LOADER is not set
@@ -540,16 +547,15 @@ CONFIG_MII=y
540# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 547# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
541# CONFIG_B44 is not set 548# CONFIG_B44 is not set
542# CONFIG_KS8842 is not set 549# CONFIG_KS8842 is not set
550# CONFIG_KS8851_MLL is not set
551# CONFIG_XILINX_EMACLITE is not set
543CONFIG_FS_ENET=y 552CONFIG_FS_ENET=y
544# CONFIG_FS_ENET_HAS_SCC is not set 553# CONFIG_FS_ENET_HAS_SCC is not set
545CONFIG_FS_ENET_HAS_FEC=y 554CONFIG_FS_ENET_HAS_FEC=y
546CONFIG_FS_ENET_MDIO_FEC=y 555CONFIG_FS_ENET_MDIO_FEC=y
547# CONFIG_NETDEV_1000 is not set 556# CONFIG_NETDEV_1000 is not set
548# CONFIG_NETDEV_10000 is not set 557# CONFIG_NETDEV_10000 is not set
549 558CONFIG_WLAN=y
550#
551# Wireless LAN
552#
553# CONFIG_WLAN_PRE80211 is not set 559# CONFIG_WLAN_PRE80211 is not set
554# CONFIG_WLAN_80211 is not set 560# CONFIG_WLAN_80211 is not set
555 561
@@ -622,7 +628,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
622# CONFIG_POWER_SUPPLY is not set 628# CONFIG_POWER_SUPPLY is not set
623# CONFIG_HWMON is not set 629# CONFIG_HWMON is not set
624# CONFIG_THERMAL is not set 630# CONFIG_THERMAL is not set
625# CONFIG_THERMAL_HWMON is not set
626# CONFIG_WATCHDOG is not set 631# CONFIG_WATCHDOG is not set
627CONFIG_SSB_POSSIBLE=y 632CONFIG_SSB_POSSIBLE=y
628 633
@@ -683,6 +688,7 @@ CONFIG_SSB_POSSIBLE=y
683# CONFIG_GFS2_FS is not set 688# CONFIG_GFS2_FS is not set
684# CONFIG_OCFS2_FS is not set 689# CONFIG_OCFS2_FS is not set
685# CONFIG_BTRFS_FS is not set 690# CONFIG_BTRFS_FS is not set
691# CONFIG_NILFS2_FS is not set
686CONFIG_FILE_LOCKING=y 692CONFIG_FILE_LOCKING=y
687CONFIG_FSNOTIFY=y 693CONFIG_FSNOTIFY=y
688# CONFIG_DNOTIFY is not set 694# CONFIG_DNOTIFY is not set
@@ -742,7 +748,6 @@ CONFIG_CRAMFS=y
742# CONFIG_ROMFS_FS is not set 748# CONFIG_ROMFS_FS is not set
743# CONFIG_SYSV_FS is not set 749# CONFIG_SYSV_FS is not set
744# CONFIG_UFS_FS is not set 750# CONFIG_UFS_FS is not set
745# CONFIG_NILFS2_FS is not set
746CONFIG_NETWORK_FILESYSTEMS=y 751CONFIG_NETWORK_FILESYSTEMS=y
747CONFIG_NFS_FS=y 752CONFIG_NFS_FS=y
748CONFIG_NFS_V3=y 753CONFIG_NFS_V3=y
@@ -814,6 +819,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
814CONFIG_ENABLE_MUST_CHECK=y 819CONFIG_ENABLE_MUST_CHECK=y
815CONFIG_FRAME_WARN=1024 820CONFIG_FRAME_WARN=1024
816CONFIG_MAGIC_SYSRQ=y 821CONFIG_MAGIC_SYSRQ=y
822# CONFIG_STRIP_ASM_SYMS is not set
817# CONFIG_UNUSED_SYMBOLS is not set 823# CONFIG_UNUSED_SYMBOLS is not set
818# CONFIG_DEBUG_FS is not set 824# CONFIG_DEBUG_FS is not set
819# CONFIG_HEADERS_CHECK is not set 825# CONFIG_HEADERS_CHECK is not set
@@ -831,6 +837,7 @@ CONFIG_SCHED_DEBUG=y
831# CONFIG_DEBUG_OBJECTS is not set 837# CONFIG_DEBUG_OBJECTS is not set
832# CONFIG_SLUB_DEBUG_ON is not set 838# CONFIG_SLUB_DEBUG_ON is not set
833# CONFIG_SLUB_STATS is not set 839# CONFIG_SLUB_STATS is not set
840# CONFIG_DEBUG_KMEMLEAK is not set
834# CONFIG_DEBUG_SPINLOCK is not set 841# CONFIG_DEBUG_SPINLOCK is not set
835# CONFIG_DEBUG_MUTEXES is not set 842# CONFIG_DEBUG_MUTEXES is not set
836# CONFIG_DEBUG_LOCK_ALLOC is not set 843# CONFIG_DEBUG_LOCK_ALLOC is not set
@@ -847,10 +854,12 @@ CONFIG_DEBUG_INFO=y
847# CONFIG_DEBUG_LIST is not set 854# CONFIG_DEBUG_LIST is not set
848# CONFIG_DEBUG_SG is not set 855# CONFIG_DEBUG_SG is not set
849# CONFIG_DEBUG_NOTIFIERS is not set 856# CONFIG_DEBUG_NOTIFIERS is not set
857# CONFIG_DEBUG_CREDENTIALS is not set
850# CONFIG_RCU_TORTURE_TEST is not set 858# CONFIG_RCU_TORTURE_TEST is not set
851# CONFIG_RCU_CPU_STALL_DETECTOR is not set 859# CONFIG_RCU_CPU_STALL_DETECTOR is not set
852# CONFIG_BACKTRACE_SELF_TEST is not set 860# CONFIG_BACKTRACE_SELF_TEST is not set
853# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 861# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
862# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
854# CONFIG_FAULT_INJECTION is not set 863# CONFIG_FAULT_INJECTION is not set
855# CONFIG_LATENCYTOP is not set 864# CONFIG_LATENCYTOP is not set
856# CONFIG_DEBUG_PAGEALLOC is not set 865# CONFIG_DEBUG_PAGEALLOC is not set
@@ -872,10 +881,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
872# CONFIG_KMEMTRACE is not set 881# CONFIG_KMEMTRACE is not set
873# CONFIG_WORKQUEUE_TRACER is not set 882# CONFIG_WORKQUEUE_TRACER is not set
874# CONFIG_BLK_DEV_IO_TRACE is not set 883# CONFIG_BLK_DEV_IO_TRACE is not set
884# CONFIG_DMA_API_DEBUG is not set
875# CONFIG_SAMPLES is not set 885# CONFIG_SAMPLES is not set
876CONFIG_HAVE_ARCH_KGDB=y 886CONFIG_HAVE_ARCH_KGDB=y
877# CONFIG_KGDB is not set 887# CONFIG_KGDB is not set
878# CONFIG_KMEMCHECK is not set
879# CONFIG_PPC_DISABLE_WERROR is not set 888# CONFIG_PPC_DISABLE_WERROR is not set
880CONFIG_PPC_WERROR=y 889CONFIG_PPC_WERROR=y
881CONFIG_PRINT_STACK_DEPTH=64 890CONFIG_PRINT_STACK_DEPTH=64
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig
index 4f8681cc8d77..20ba0cfff8ba 100644
--- a/arch/powerpc/configs/pasemi_defconfig
+++ b/arch/powerpc/configs/pasemi_defconfig
@@ -1,49 +1,58 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc3 3# Linux kernel version: 2.6.32-rc3
4# Tue May 27 16:08:06 2008 4# Tue Oct 6 10:27:18 2009
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11CONFIG_PPC_BOOK3S_64=y
12# CONFIG_PPC_BOOK3E_64 is not set
13CONFIG_PPC_BOOK3S=y
11CONFIG_POWER4_ONLY=y 14CONFIG_POWER4_ONLY=y
12CONFIG_POWER4=y 15CONFIG_POWER4=y
13# CONFIG_TUNE_CELL is not set 16# CONFIG_TUNE_CELL is not set
14CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
15CONFIG_ALTIVEC=y 18CONFIG_ALTIVEC=y
19# CONFIG_VSX is not set
16CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
21CONFIG_PPC_STD_MMU_64=y
17CONFIG_PPC_MM_SLICES=y 22CONFIG_PPC_MM_SLICES=y
18# CONFIG_VIRT_CPU_ACCOUNTING is not set 23# CONFIG_VIRT_CPU_ACCOUNTING is not set
24CONFIG_PPC_HAVE_PMU_SUPPORT=y
25CONFIG_PPC_PERF_CTRS=y
19CONFIG_SMP=y 26CONFIG_SMP=y
20CONFIG_NR_CPUS=2 27CONFIG_NR_CPUS=2
21CONFIG_64BIT=y 28CONFIG_64BIT=y
22CONFIG_WORD_SIZE=64 29CONFIG_WORD_SIZE=64
23CONFIG_PPC_MERGE=y 30CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
24CONFIG_MMU=y 31CONFIG_MMU=y
25CONFIG_GENERIC_CMOS_UPDATE=y 32CONFIG_GENERIC_CMOS_UPDATE=y
26CONFIG_GENERIC_TIME=y 33CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 34CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 35CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
30CONFIG_HAVE_SETUP_PER_CPU_AREA=y 38CONFIG_HAVE_SETUP_PER_CPU_AREA=y
39CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
31CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
32CONFIG_STACKTRACE_SUPPORT=y 41CONFIG_STACKTRACE_SUPPORT=y
42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
33CONFIG_TRACE_IRQFLAGS_SUPPORT=y 43CONFIG_TRACE_IRQFLAGS_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 44CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 45CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 46CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_ARCH_HAS_ILOG2_U64=y 47CONFIG_ARCH_HAS_ILOG2_U64=y
38CONFIG_GENERIC_HWEIGHT=y 48CONFIG_GENERIC_HWEIGHT=y
39CONFIG_GENERIC_CALIBRATE_DELAY=y
40CONFIG_GENERIC_FIND_NEXT_BIT=y 49CONFIG_GENERIC_FIND_NEXT_BIT=y
41CONFIG_ARCH_NO_VIRT_TO_BUS=y 50CONFIG_ARCH_NO_VIRT_TO_BUS=y
42CONFIG_PPC=y 51CONFIG_PPC=y
43CONFIG_EARLY_PRINTK=y 52CONFIG_EARLY_PRINTK=y
44CONFIG_COMPAT=y 53CONFIG_COMPAT=y
45CONFIG_SYSVIPC_COMPAT=y 54CONFIG_SYSVIPC_COMPAT=y
46CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 55CONFIG_SCHED_OMIT_FRAME_POINTER=y
47CONFIG_ARCH_MAY_HAVE_PC_FDC=y 56CONFIG_ARCH_MAY_HAVE_PC_FDC=y
48CONFIG_PPC_OF=y 57CONFIG_PPC_OF=y
49CONFIG_OF=y 58CONFIG_OF=y
@@ -51,11 +60,14 @@ CONFIG_PPC_UDBG_16550=y
51# CONFIG_GENERIC_TBSYNC is not set 60# CONFIG_GENERIC_TBSYNC is not set
52CONFIG_AUDIT_ARCH=y 61CONFIG_AUDIT_ARCH=y
53CONFIG_GENERIC_BUG=y 62CONFIG_GENERIC_BUG=y
63CONFIG_DTC=y
54# CONFIG_DEFAULT_UIMAGE is not set 64# CONFIG_DEFAULT_UIMAGE is not set
55# CONFIG_PPC_DCR_NATIVE is not set 65# CONFIG_PPC_DCR_NATIVE is not set
56# CONFIG_PPC_DCR_MMIO is not set 66# CONFIG_PPC_DCR_MMIO is not set
57# CONFIG_PPC_OF_PLATFORM_PCI is not set 67# CONFIG_PPC_OF_PLATFORM_PCI is not set
68CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 69CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
70CONFIG_CONSTRUCTORS=y
59 71
60# 72#
61# General setup 73# General setup
@@ -72,10 +84,20 @@ CONFIG_SYSVIPC_SYSCTL=y
72# CONFIG_BSD_PROCESS_ACCT is not set 84# CONFIG_BSD_PROCESS_ACCT is not set
73# CONFIG_TASKSTATS is not set 85# CONFIG_TASKSTATS is not set
74# CONFIG_AUDIT is not set 86# CONFIG_AUDIT is not set
87
88#
89# RCU Subsystem
90#
91CONFIG_TREE_RCU=y
92# CONFIG_TREE_PREEMPT_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=64
95# CONFIG_RCU_FANOUT_EXACT is not set
96# CONFIG_TREE_RCU_TRACE is not set
75# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
76CONFIG_LOG_BUF_SHIFT=17 98CONFIG_LOG_BUF_SHIFT=17
77# CONFIG_CGROUPS is not set
78# CONFIG_GROUP_SCHED is not set 99# CONFIG_GROUP_SCHED is not set
100# CONFIG_CGROUPS is not set
79CONFIG_SYSFS_DEPRECATED=y 101CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y 102CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_RELAY is not set 103# CONFIG_RELAY is not set
@@ -84,13 +106,17 @@ CONFIG_NAMESPACES=y
84# CONFIG_IPC_NS is not set 106# CONFIG_IPC_NS is not set
85# CONFIG_USER_NS is not set 107# CONFIG_USER_NS is not set
86# CONFIG_PID_NS is not set 108# CONFIG_PID_NS is not set
109# CONFIG_NET_NS is not set
87CONFIG_BLK_DEV_INITRD=y 110CONFIG_BLK_DEV_INITRD=y
88CONFIG_INITRAMFS_SOURCE="" 111CONFIG_INITRAMFS_SOURCE=""
112CONFIG_RD_GZIP=y
113CONFIG_RD_BZIP2=y
114CONFIG_RD_LZMA=y
89# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 115# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
90CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
117CONFIG_ANON_INODES=y
91# CONFIG_EMBEDDED is not set 118# CONFIG_EMBEDDED is not set
92CONFIG_SYSCTL_SYSCALL=y 119CONFIG_SYSCTL_SYSCALL=y
93CONFIG_SYSCTL_SYSCALL_CHECK=y
94CONFIG_KALLSYMS=y 120CONFIG_KALLSYMS=y
95# CONFIG_KALLSYMS_ALL is not set 121# CONFIG_KALLSYMS_ALL is not set
96# CONFIG_KALLSYMS_EXTRA_PASS is not set 122# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -98,32 +124,52 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 124CONFIG_PRINTK=y
99CONFIG_BUG=y 125CONFIG_BUG=y
100CONFIG_ELF_CORE=y 126CONFIG_ELF_CORE=y
101CONFIG_COMPAT_BRK=y
102CONFIG_BASE_FULL=y 127CONFIG_BASE_FULL=y
103CONFIG_FUTEX=y 128CONFIG_FUTEX=y
104CONFIG_ANON_INODES=y
105CONFIG_EPOLL=y 129CONFIG_EPOLL=y
106CONFIG_SIGNALFD=y 130CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 131CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y 132CONFIG_EVENTFD=y
109CONFIG_SHMEM=y 133CONFIG_SHMEM=y
134CONFIG_AIO=y
135CONFIG_HAVE_PERF_EVENTS=y
136
137#
138# Kernel Performance Events And Counters
139#
140CONFIG_PERF_EVENTS=y
141CONFIG_EVENT_PROFILE=y
142# CONFIG_PERF_COUNTERS is not set
110CONFIG_VM_EVENT_COUNTERS=y 143CONFIG_VM_EVENT_COUNTERS=y
144CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 145CONFIG_SLUB_DEBUG=y
146CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 147# CONFIG_SLAB is not set
113CONFIG_SLUB=y 148CONFIG_SLUB=y
114# CONFIG_SLOB is not set 149# CONFIG_SLOB is not set
115CONFIG_PROFILING=y 150CONFIG_PROFILING=y
116# CONFIG_MARKERS is not set 151CONFIG_TRACEPOINTS=y
117CONFIG_OPROFILE=y 152CONFIG_OPROFILE=y
118CONFIG_HAVE_OPROFILE=y 153CONFIG_HAVE_OPROFILE=y
119# CONFIG_KPROBES is not set 154# CONFIG_KPROBES is not set
155CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
156CONFIG_HAVE_SYSCALL_WRAPPERS=y
157CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 158CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 159CONFIG_HAVE_KRETPROBES=y
122# CONFIG_HAVE_DMA_ATTRS is not set 160CONFIG_HAVE_ARCH_TRACEHOOK=y
123CONFIG_PROC_PAGE_MONITOR=y 161CONFIG_HAVE_DMA_ATTRS=y
162CONFIG_USE_GENERIC_SMP_HELPERS=y
163CONFIG_HAVE_DMA_API_DEBUG=y
164
165#
166# GCOV-based kernel profiling
167#
168# CONFIG_GCOV_KERNEL is not set
169# CONFIG_SLOW_WORK is not set
170# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 171CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 172CONFIG_RT_MUTEXES=y
126# CONFIG_TINY_SHMEM is not set
127CONFIG_BASE_SMALL=0 173CONFIG_BASE_SMALL=0
128CONFIG_MODULES=y 174CONFIG_MODULES=y
129# CONFIG_MODULE_FORCE_LOAD is not set 175# CONFIG_MODULE_FORCE_LOAD is not set
@@ -131,11 +177,10 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODULE_FORCE_UNLOAD is not set 177# CONFIG_MODULE_FORCE_UNLOAD is not set
132# CONFIG_MODVERSIONS is not set 178# CONFIG_MODVERSIONS is not set
133# CONFIG_MODULE_SRCVERSION_ALL is not set 179# CONFIG_MODULE_SRCVERSION_ALL is not set
134# CONFIG_KMOD is not set
135CONFIG_STOP_MACHINE=y 180CONFIG_STOP_MACHINE=y
136CONFIG_BLOCK=y 181CONFIG_BLOCK=y
137# CONFIG_BLK_DEV_IO_TRACE is not set
138# CONFIG_BLK_DEV_BSG is not set 182# CONFIG_BLK_DEV_BSG is not set
183# CONFIG_BLK_DEV_INTEGRITY is not set
139CONFIG_BLOCK_COMPAT=y 184CONFIG_BLOCK_COMPAT=y
140 185
141# 186#
@@ -150,19 +195,14 @@ CONFIG_DEFAULT_AS=y
150# CONFIG_DEFAULT_CFQ is not set 195# CONFIG_DEFAULT_CFQ is not set
151# CONFIG_DEFAULT_NOOP is not set 196# CONFIG_DEFAULT_NOOP is not set
152CONFIG_DEFAULT_IOSCHED="anticipatory" 197CONFIG_DEFAULT_IOSCHED="anticipatory"
153CONFIG_CLASSIC_RCU=y 198# CONFIG_FREEZER is not set
199CONFIG_PPC_MSI_BITMAP=y
154 200
155# 201#
156# Platform support 202# Platform support
157# 203#
158CONFIG_PPC_MULTIPLATFORM=y
159# CONFIG_PPC_82xx is not set
160# CONFIG_PPC_83xx is not set
161# CONFIG_PPC_86xx is not set
162# CONFIG_PPC_PSERIES is not set 204# CONFIG_PPC_PSERIES is not set
163# CONFIG_PPC_ISERIES is not set 205# CONFIG_PPC_ISERIES is not set
164# CONFIG_PPC_MPC512x is not set
165# CONFIG_PPC_MPC5121 is not set
166# CONFIG_PPC_PMAC is not set 206# CONFIG_PPC_PMAC is not set
167# CONFIG_PPC_MAPLE is not set 207# CONFIG_PPC_MAPLE is not set
168CONFIG_PPC_PASEMI=y 208CONFIG_PPC_PASEMI=y
@@ -178,8 +218,10 @@ CONFIG_PPC_PASEMI_MDIO=y
178# CONFIG_PPC_CELL_NATIVE is not set 218# CONFIG_PPC_CELL_NATIVE is not set
179# CONFIG_PPC_IBM_CELL_BLADE is not set 219# CONFIG_PPC_IBM_CELL_BLADE is not set
180# CONFIG_PPC_CELLEB is not set 220# CONFIG_PPC_CELLEB is not set
221# CONFIG_PPC_CELL_QPACE is not set
181# CONFIG_PQ2ADS is not set 222# CONFIG_PQ2ADS is not set
182CONFIG_PPC_NATIVE=y 223CONFIG_PPC_NATIVE=y
224CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
183# CONFIG_IPIC is not set 225# CONFIG_IPIC is not set
184CONFIG_MPIC=y 226CONFIG_MPIC=y
185# CONFIG_MPIC_WEIRD is not set 227# CONFIG_MPIC_WEIRD is not set
@@ -213,6 +255,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
213# 255#
214CONFIG_PPC_PASEMI_CPUFREQ=y 256CONFIG_PPC_PASEMI_CPUFREQ=y
215# CONFIG_FSL_ULI1575 is not set 257# CONFIG_FSL_ULI1575 is not set
258# CONFIG_SIMPLE_GPIO is not set
216 259
217# 260#
218# Kernel options 261# Kernel options
@@ -226,16 +269,19 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
226# CONFIG_HZ_300 is not set 269# CONFIG_HZ_300 is not set
227CONFIG_HZ_1000=y 270CONFIG_HZ_1000=y
228CONFIG_HZ=1000 271CONFIG_HZ=1000
229# CONFIG_SCHED_HRTICK is not set 272CONFIG_SCHED_HRTICK=y
230CONFIG_PREEMPT_NONE=y 273CONFIG_PREEMPT_NONE=y
231# CONFIG_PREEMPT_VOLUNTARY is not set 274# CONFIG_PREEMPT_VOLUNTARY is not set
232# CONFIG_PREEMPT is not set 275# CONFIG_PREEMPT is not set
233CONFIG_BINFMT_ELF=y 276CONFIG_BINFMT_ELF=y
234CONFIG_COMPAT_BINFMT_ELF=y 277CONFIG_COMPAT_BINFMT_ELF=y
278# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
279# CONFIG_HAVE_AOUT is not set
235# CONFIG_BINFMT_MISC is not set 280# CONFIG_BINFMT_MISC is not set
236CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 281CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
237CONFIG_IOMMU_VMERGE=y 282CONFIG_IOMMU_VMERGE=y
238CONFIG_IOMMU_HELPER=y 283CONFIG_IOMMU_HELPER=y
284# CONFIG_SWIOTLB is not set
239CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 285CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
240CONFIG_ARCH_HAS_WALK_MEMORY=y 286CONFIG_ARCH_HAS_WALK_MEMORY=y
241CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 287CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
@@ -243,6 +289,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
243# CONFIG_CRASH_DUMP is not set 289# CONFIG_CRASH_DUMP is not set
244# CONFIG_IRQ_ALL_CPUS is not set 290# CONFIG_IRQ_ALL_CPUS is not set
245# CONFIG_NUMA is not set 291# CONFIG_NUMA is not set
292CONFIG_MAX_ACTIVE_REGIONS=256
246CONFIG_ARCH_SELECT_MEMORY_MODEL=y 293CONFIG_ARCH_SELECT_MEMORY_MODEL=y
247CONFIG_ARCH_FLATMEM_ENABLE=y 294CONFIG_ARCH_FLATMEM_ENABLE=y
248CONFIG_ARCH_SPARSEMEM_ENABLE=y 295CONFIG_ARCH_SPARSEMEM_ENABLE=y
@@ -253,20 +300,28 @@ CONFIG_FLATMEM_MANUAL=y
253# CONFIG_SPARSEMEM_MANUAL is not set 300# CONFIG_SPARSEMEM_MANUAL is not set
254CONFIG_FLATMEM=y 301CONFIG_FLATMEM=y
255CONFIG_FLAT_NODE_MEM_MAP=y 302CONFIG_FLAT_NODE_MEM_MAP=y
256# CONFIG_SPARSEMEM_STATIC is not set
257CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 303CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
258CONFIG_PAGEFLAGS_EXTENDED=y 304CONFIG_PAGEFLAGS_EXTENDED=y
259CONFIG_SPLIT_PTLOCK_CPUS=4 305CONFIG_SPLIT_PTLOCK_CPUS=4
260CONFIG_RESOURCES_64BIT=y 306CONFIG_MIGRATION=y
307CONFIG_PHYS_ADDR_T_64BIT=y
261CONFIG_ZONE_DMA_FLAG=1 308CONFIG_ZONE_DMA_FLAG=1
262CONFIG_BOUNCE=y 309CONFIG_BOUNCE=y
310CONFIG_HAVE_MLOCK=y
311CONFIG_HAVE_MLOCKED_PAGE_BIT=y
312# CONFIG_KSM is not set
313CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
263CONFIG_PPC_HAS_HASH_64K=y 314CONFIG_PPC_HAS_HASH_64K=y
315# CONFIG_PPC_4K_PAGES is not set
316# CONFIG_PPC_16K_PAGES is not set
264CONFIG_PPC_64K_PAGES=y 317CONFIG_PPC_64K_PAGES=y
318# CONFIG_PPC_256K_PAGES is not set
265CONFIG_FORCE_MAX_ZONEORDER=9 319CONFIG_FORCE_MAX_ZONEORDER=9
266# CONFIG_PPC_SUBPAGE_PROT is not set 320# CONFIG_PPC_SUBPAGE_PROT is not set
267# CONFIG_SCHED_SMT is not set 321# CONFIG_SCHED_SMT is not set
268CONFIG_PROC_DEVICETREE=y 322CONFIG_PROC_DEVICETREE=y
269# CONFIG_CMDLINE_BOOL is not set 323# CONFIG_CMDLINE_BOOL is not set
324CONFIG_EXTRA_TARGETS=""
270# CONFIG_PM is not set 325# CONFIG_PM is not set
271# CONFIG_SECCOMP is not set 326# CONFIG_SECCOMP is not set
272CONFIG_ISA_DMA_API=y 327CONFIG_ISA_DMA_API=y
@@ -285,6 +340,8 @@ CONFIG_ARCH_SUPPORTS_MSI=y
285CONFIG_PCI_MSI=y 340CONFIG_PCI_MSI=y
286CONFIG_PCI_LEGACY=y 341CONFIG_PCI_LEGACY=y
287# CONFIG_PCI_DEBUG is not set 342# CONFIG_PCI_DEBUG is not set
343# CONFIG_PCI_STUB is not set
344# CONFIG_PCI_IOV is not set
288CONFIG_PCCARD=y 345CONFIG_PCCARD=y
289CONFIG_PCMCIA_DEBUG=y 346CONFIG_PCMCIA_DEBUG=y
290CONFIG_PCMCIA=y 347CONFIG_PCMCIA=y
@@ -301,13 +358,10 @@ CONFIG_CARDBUS=y
301CONFIG_ELECTRA_CF=y 358CONFIG_ELECTRA_CF=y
302# CONFIG_HOTPLUG_PCI is not set 359# CONFIG_HOTPLUG_PCI is not set
303# CONFIG_HAS_RAPIDIO is not set 360# CONFIG_HAS_RAPIDIO is not set
361# CONFIG_RELOCATABLE is not set
304CONFIG_PAGE_OFFSET=0xc000000000000000 362CONFIG_PAGE_OFFSET=0xc000000000000000
305CONFIG_KERNEL_START=0xc000000000000000 363CONFIG_KERNEL_START=0xc000000000000000
306CONFIG_PHYSICAL_START=0x00000000 364CONFIG_PHYSICAL_START=0x00000000
307
308#
309# Networking
310#
311CONFIG_NET=y 365CONFIG_NET=y
312 366
313# 367#
@@ -356,9 +410,11 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
356# CONFIG_NETFILTER is not set 410# CONFIG_NETFILTER is not set
357# CONFIG_IP_DCCP is not set 411# CONFIG_IP_DCCP is not set
358# CONFIG_IP_SCTP is not set 412# CONFIG_IP_SCTP is not set
413# CONFIG_RDS is not set
359# CONFIG_TIPC is not set 414# CONFIG_TIPC is not set
360# CONFIG_ATM is not set 415# CONFIG_ATM is not set
361# CONFIG_BRIDGE is not set 416# CONFIG_BRIDGE is not set
417# CONFIG_NET_DSA is not set
362# CONFIG_VLAN_8021Q is not set 418# CONFIG_VLAN_8021Q is not set
363# CONFIG_DECNET is not set 419# CONFIG_DECNET is not set
364# CONFIG_LLC2 is not set 420# CONFIG_LLC2 is not set
@@ -368,25 +424,32 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
368# CONFIG_LAPB is not set 424# CONFIG_LAPB is not set
369# CONFIG_ECONET is not set 425# CONFIG_ECONET is not set
370# CONFIG_WAN_ROUTER is not set 426# CONFIG_WAN_ROUTER is not set
427# CONFIG_PHONET is not set
428# CONFIG_IEEE802154 is not set
371# CONFIG_NET_SCHED is not set 429# CONFIG_NET_SCHED is not set
430# CONFIG_DCB is not set
372 431
373# 432#
374# Network testing 433# Network testing
375# 434#
376# CONFIG_NET_PKTGEN is not set 435# CONFIG_NET_PKTGEN is not set
436# CONFIG_NET_DROP_MONITOR is not set
377# CONFIG_HAMRADIO is not set 437# CONFIG_HAMRADIO is not set
378# CONFIG_CAN is not set 438# CONFIG_CAN is not set
379# CONFIG_IRDA is not set 439# CONFIG_IRDA is not set
380# CONFIG_BT is not set 440# CONFIG_BT is not set
381# CONFIG_AF_RXRPC is not set 441# CONFIG_AF_RXRPC is not set
442CONFIG_WIRELESS=y
443# CONFIG_CFG80211 is not set
444CONFIG_CFG80211_DEFAULT_PS_VALUE=0
445# CONFIG_WIRELESS_OLD_REGULATORY is not set
446# CONFIG_WIRELESS_EXT is not set
447# CONFIG_LIB80211 is not set
382 448
383# 449#
384# Wireless 450# CFG80211 needs to be enabled for MAC80211
385# 451#
386# CONFIG_CFG80211 is not set 452# CONFIG_WIMAX is not set
387# CONFIG_WIRELESS_EXT is not set
388# CONFIG_MAC80211 is not set
389# CONFIG_IEEE80211 is not set
390# CONFIG_RFKILL is not set 453# CONFIG_RFKILL is not set
391# CONFIG_NET_9P is not set 454# CONFIG_NET_9P is not set
392 455
@@ -398,15 +461,19 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
398# Generic Driver Options 461# Generic Driver Options
399# 462#
400CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 463CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
464# CONFIG_DEVTMPFS is not set
401CONFIG_STANDALONE=y 465CONFIG_STANDALONE=y
402CONFIG_PREVENT_FIRMWARE_BUILD=y 466CONFIG_PREVENT_FIRMWARE_BUILD=y
403CONFIG_FW_LOADER=y 467CONFIG_FW_LOADER=y
468CONFIG_FIRMWARE_IN_KERNEL=y
469CONFIG_EXTRA_FIRMWARE=""
404# CONFIG_DEBUG_DRIVER is not set 470# CONFIG_DEBUG_DRIVER is not set
405# CONFIG_DEBUG_DEVRES is not set 471# CONFIG_DEBUG_DEVRES is not set
406# CONFIG_SYS_HYPERVISOR is not set 472# CONFIG_SYS_HYPERVISOR is not set
407# CONFIG_CONNECTOR is not set 473# CONFIG_CONNECTOR is not set
408CONFIG_MTD=y 474CONFIG_MTD=y
409# CONFIG_MTD_DEBUG is not set 475# CONFIG_MTD_DEBUG is not set
476# CONFIG_MTD_TESTS is not set
410CONFIG_MTD_CONCAT=y 477CONFIG_MTD_CONCAT=y
411# CONFIG_MTD_PARTITIONS is not set 478# CONFIG_MTD_PARTITIONS is not set
412 479
@@ -478,11 +545,17 @@ CONFIG_MTD_NAND_PASEMI=y
478# CONFIG_MTD_ONENAND is not set 545# CONFIG_MTD_ONENAND is not set
479 546
480# 547#
548# LPDDR flash memory drivers
549#
550# CONFIG_MTD_LPDDR is not set
551
552#
481# UBI - Unsorted block images 553# UBI - Unsorted block images
482# 554#
483# CONFIG_MTD_UBI is not set 555# CONFIG_MTD_UBI is not set
484CONFIG_OF_DEVICE=y 556CONFIG_OF_DEVICE=y
485CONFIG_OF_I2C=y 557CONFIG_OF_I2C=y
558CONFIG_OF_MDIO=y
486# CONFIG_PARPORT is not set 559# CONFIG_PARPORT is not set
487CONFIG_BLK_DEV=y 560CONFIG_BLK_DEV=y
488# CONFIG_BLK_DEV_FD is not set 561# CONFIG_BLK_DEV_FD is not set
@@ -501,29 +574,41 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
501# CONFIG_BLK_DEV_XIP is not set 574# CONFIG_BLK_DEV_XIP is not set
502# CONFIG_CDROM_PKTCDVD is not set 575# CONFIG_CDROM_PKTCDVD is not set
503# CONFIG_ATA_OVER_ETH is not set 576# CONFIG_ATA_OVER_ETH is not set
577# CONFIG_BLK_DEV_HD is not set
504CONFIG_MISC_DEVICES=y 578CONFIG_MISC_DEVICES=y
505# CONFIG_PHANTOM is not set 579# CONFIG_PHANTOM is not set
506# CONFIG_EEPROM_93CX6 is not set
507# CONFIG_SGI_IOC4 is not set 580# CONFIG_SGI_IOC4 is not set
508# CONFIG_TIFM_CORE is not set 581# CONFIG_TIFM_CORE is not set
582# CONFIG_ICS932S401 is not set
509# CONFIG_ENCLOSURE_SERVICES is not set 583# CONFIG_ENCLOSURE_SERVICES is not set
584# CONFIG_HP_ILO is not set
585# CONFIG_ISL29003 is not set
586# CONFIG_C2PORT is not set
587
588#
589# EEPROM support
590#
591# CONFIG_EEPROM_AT24 is not set
592CONFIG_EEPROM_LEGACY=y
593# CONFIG_EEPROM_MAX6875 is not set
594# CONFIG_EEPROM_93CX6 is not set
595# CONFIG_CB710_CORE is not set
510CONFIG_HAVE_IDE=y 596CONFIG_HAVE_IDE=y
511CONFIG_IDE=y 597CONFIG_IDE=y
512CONFIG_BLK_DEV_IDE=y
513 598
514# 599#
515# Please see Documentation/ide/ide.txt for help/info on IDE drives 600# Please see Documentation/ide/ide.txt for help/info on IDE drives
516# 601#
602CONFIG_IDE_ATAPI=y
517# CONFIG_BLK_DEV_IDE_SATA is not set 603# CONFIG_BLK_DEV_IDE_SATA is not set
518CONFIG_BLK_DEV_IDEDISK=y 604CONFIG_IDE_GD=y
519CONFIG_IDEDISK_MULTI_MODE=y 605CONFIG_IDE_GD_ATA=y
606# CONFIG_IDE_GD_ATAPI is not set
520# CONFIG_BLK_DEV_IDECS is not set 607# CONFIG_BLK_DEV_IDECS is not set
521# CONFIG_BLK_DEV_DELKIN is not set 608# CONFIG_BLK_DEV_DELKIN is not set
522CONFIG_BLK_DEV_IDECD=y 609CONFIG_BLK_DEV_IDECD=y
523CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 610CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
524# CONFIG_BLK_DEV_IDETAPE is not set 611# CONFIG_BLK_DEV_IDETAPE is not set
525# CONFIG_BLK_DEV_IDEFLOPPY is not set
526CONFIG_BLK_DEV_IDESCSI=y
527CONFIG_IDE_TASK_IOCTL=y 612CONFIG_IDE_TASK_IOCTL=y
528CONFIG_IDE_PROC_FS=y 613CONFIG_IDE_PROC_FS=y
529 614
@@ -542,14 +627,13 @@ CONFIG_IDE_PROC_FS=y
542# CONFIG_BLK_DEV_AMD74XX is not set 627# CONFIG_BLK_DEV_AMD74XX is not set
543# CONFIG_BLK_DEV_CMD64X is not set 628# CONFIG_BLK_DEV_CMD64X is not set
544# CONFIG_BLK_DEV_TRIFLEX is not set 629# CONFIG_BLK_DEV_TRIFLEX is not set
545# CONFIG_BLK_DEV_CY82C693 is not set
546# CONFIG_BLK_DEV_CS5520 is not set 630# CONFIG_BLK_DEV_CS5520 is not set
547# CONFIG_BLK_DEV_CS5530 is not set 631# CONFIG_BLK_DEV_CS5530 is not set
548# CONFIG_BLK_DEV_HPT34X is not set
549# CONFIG_BLK_DEV_HPT366 is not set 632# CONFIG_BLK_DEV_HPT366 is not set
550# CONFIG_BLK_DEV_JMICRON is not set 633# CONFIG_BLK_DEV_JMICRON is not set
551# CONFIG_BLK_DEV_SC1200 is not set 634# CONFIG_BLK_DEV_SC1200 is not set
552# CONFIG_BLK_DEV_PIIX is not set 635# CONFIG_BLK_DEV_PIIX is not set
636# CONFIG_BLK_DEV_IT8172 is not set
553# CONFIG_BLK_DEV_IT8213 is not set 637# CONFIG_BLK_DEV_IT8213 is not set
554# CONFIG_BLK_DEV_IT821X is not set 638# CONFIG_BLK_DEV_IT821X is not set
555# CONFIG_BLK_DEV_NS87415 is not set 639# CONFIG_BLK_DEV_NS87415 is not set
@@ -563,8 +647,6 @@ CONFIG_IDE_PROC_FS=y
563# CONFIG_BLK_DEV_VIA82CXXX is not set 647# CONFIG_BLK_DEV_VIA82CXXX is not set
564# CONFIG_BLK_DEV_TC86C001 is not set 648# CONFIG_BLK_DEV_TC86C001 is not set
565# CONFIG_BLK_DEV_IDEDMA is not set 649# CONFIG_BLK_DEV_IDEDMA is not set
566# CONFIG_BLK_DEV_HD_ONLY is not set
567# CONFIG_BLK_DEV_HD is not set
568 650
569# 651#
570# SCSI device support 652# SCSI device support
@@ -586,10 +668,6 @@ CONFIG_BLK_DEV_SR=y
586CONFIG_BLK_DEV_SR_VENDOR=y 668CONFIG_BLK_DEV_SR_VENDOR=y
587CONFIG_CHR_DEV_SG=y 669CONFIG_CHR_DEV_SG=y
588CONFIG_CHR_DEV_SCH=y 670CONFIG_CHR_DEV_SCH=y
589
590#
591# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
592#
593CONFIG_SCSI_MULTI_LUN=y 671CONFIG_SCSI_MULTI_LUN=y
594CONFIG_SCSI_CONSTANTS=y 672CONFIG_SCSI_CONSTANTS=y
595CONFIG_SCSI_LOGGING=y 673CONFIG_SCSI_LOGGING=y
@@ -606,6 +684,8 @@ CONFIG_SCSI_WAIT_SCAN=m
606# CONFIG_SCSI_SRP_ATTRS is not set 684# CONFIG_SCSI_SRP_ATTRS is not set
607CONFIG_SCSI_LOWLEVEL=y 685CONFIG_SCSI_LOWLEVEL=y
608# CONFIG_ISCSI_TCP is not set 686# CONFIG_ISCSI_TCP is not set
687# CONFIG_SCSI_CXGB3_ISCSI is not set
688# CONFIG_SCSI_BNX2_ISCSI is not set
609# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 689# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
610# CONFIG_SCSI_3W_9XXX is not set 690# CONFIG_SCSI_3W_9XXX is not set
611# CONFIG_SCSI_ACARD is not set 691# CONFIG_SCSI_ACARD is not set
@@ -614,11 +694,16 @@ CONFIG_SCSI_LOWLEVEL=y
614# CONFIG_SCSI_AIC7XXX_OLD is not set 694# CONFIG_SCSI_AIC7XXX_OLD is not set
615# CONFIG_SCSI_AIC79XX is not set 695# CONFIG_SCSI_AIC79XX is not set
616# CONFIG_SCSI_AIC94XX is not set 696# CONFIG_SCSI_AIC94XX is not set
697# CONFIG_SCSI_MVSAS is not set
617# CONFIG_SCSI_ARCMSR is not set 698# CONFIG_SCSI_ARCMSR is not set
618# CONFIG_MEGARAID_NEWGEN is not set 699# CONFIG_MEGARAID_NEWGEN is not set
619# CONFIG_MEGARAID_LEGACY is not set 700# CONFIG_MEGARAID_LEGACY is not set
620# CONFIG_MEGARAID_SAS is not set 701# CONFIG_MEGARAID_SAS is not set
702# CONFIG_SCSI_MPT2SAS is not set
621# CONFIG_SCSI_HPTIOP is not set 703# CONFIG_SCSI_HPTIOP is not set
704# CONFIG_LIBFC is not set
705# CONFIG_LIBFCOE is not set
706# CONFIG_FCOE is not set
622# CONFIG_SCSI_DMX3191D is not set 707# CONFIG_SCSI_DMX3191D is not set
623# CONFIG_SCSI_EATA is not set 708# CONFIG_SCSI_EATA is not set
624# CONFIG_SCSI_FUTURE_DOMAIN is not set 709# CONFIG_SCSI_FUTURE_DOMAIN is not set
@@ -626,7 +711,6 @@ CONFIG_SCSI_LOWLEVEL=y
626# CONFIG_SCSI_IPS is not set 711# CONFIG_SCSI_IPS is not set
627# CONFIG_SCSI_INITIO is not set 712# CONFIG_SCSI_INITIO is not set
628# CONFIG_SCSI_INIA100 is not set 713# CONFIG_SCSI_INIA100 is not set
629# CONFIG_SCSI_MVSAS is not set
630# CONFIG_SCSI_STEX is not set 714# CONFIG_SCSI_STEX is not set
631# CONFIG_SCSI_SYM53C8XX_2 is not set 715# CONFIG_SCSI_SYM53C8XX_2 is not set
632# CONFIG_SCSI_IPR is not set 716# CONFIG_SCSI_IPR is not set
@@ -637,10 +721,14 @@ CONFIG_SCSI_LOWLEVEL=y
637# CONFIG_SCSI_DC395x is not set 721# CONFIG_SCSI_DC395x is not set
638# CONFIG_SCSI_DC390T is not set 722# CONFIG_SCSI_DC390T is not set
639# CONFIG_SCSI_DEBUG is not set 723# CONFIG_SCSI_DEBUG is not set
724# CONFIG_SCSI_PMCRAID is not set
640# CONFIG_SCSI_SRP is not set 725# CONFIG_SCSI_SRP is not set
641# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 726# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
727# CONFIG_SCSI_DH is not set
728# CONFIG_SCSI_OSD_INITIATOR is not set
642CONFIG_ATA=y 729CONFIG_ATA=y
643# CONFIG_ATA_NONSTANDARD is not set 730# CONFIG_ATA_NONSTANDARD is not set
731CONFIG_ATA_VERBOSE_ERROR=y
644CONFIG_SATA_PMP=y 732CONFIG_SATA_PMP=y
645# CONFIG_SATA_AHCI is not set 733# CONFIG_SATA_AHCI is not set
646CONFIG_SATA_SIL24=y 734CONFIG_SATA_SIL24=y
@@ -662,6 +750,7 @@ CONFIG_SATA_MV=y
662# CONFIG_PATA_ALI is not set 750# CONFIG_PATA_ALI is not set
663# CONFIG_PATA_AMD is not set 751# CONFIG_PATA_AMD is not set
664# CONFIG_PATA_ARTOP is not set 752# CONFIG_PATA_ARTOP is not set
753# CONFIG_PATA_ATP867X is not set
665# CONFIG_PATA_ATIIXP is not set 754# CONFIG_PATA_ATIIXP is not set
666# CONFIG_PATA_CMD640_PCI is not set 755# CONFIG_PATA_CMD640_PCI is not set
667# CONFIG_PATA_CMD64X is not set 756# CONFIG_PATA_CMD64X is not set
@@ -690,6 +779,7 @@ CONFIG_ATA_GENERIC=y
690CONFIG_PATA_PCMCIA=y 779CONFIG_PATA_PCMCIA=y
691# CONFIG_PATA_PDC_OLD is not set 780# CONFIG_PATA_PDC_OLD is not set
692# CONFIG_PATA_RADISYS is not set 781# CONFIG_PATA_RADISYS is not set
782# CONFIG_PATA_RDC is not set
693# CONFIG_PATA_RZ1000 is not set 783# CONFIG_PATA_RZ1000 is not set
694# CONFIG_PATA_SC1200 is not set 784# CONFIG_PATA_SC1200 is not set
695# CONFIG_PATA_SERVERWORKS is not set 785# CONFIG_PATA_SERVERWORKS is not set
@@ -703,12 +793,15 @@ CONFIG_PATA_OF_PLATFORM=y
703# CONFIG_PATA_SCH is not set 793# CONFIG_PATA_SCH is not set
704CONFIG_MD=y 794CONFIG_MD=y
705CONFIG_BLK_DEV_MD=y 795CONFIG_BLK_DEV_MD=y
796CONFIG_MD_AUTODETECT=y
706CONFIG_MD_LINEAR=y 797CONFIG_MD_LINEAR=y
707CONFIG_MD_RAID0=y 798CONFIG_MD_RAID0=y
708CONFIG_MD_RAID1=y 799CONFIG_MD_RAID1=y
709CONFIG_MD_RAID10=y 800CONFIG_MD_RAID10=y
710CONFIG_MD_RAID456=y 801CONFIG_MD_RAID456=y
711CONFIG_MD_RAID5_RESHAPE=y 802# CONFIG_MULTICORE_RAID456 is not set
803CONFIG_MD_RAID6_PQ=y
804# CONFIG_ASYNC_RAID6_TEST is not set
712# CONFIG_MD_MULTIPATH is not set 805# CONFIG_MD_MULTIPATH is not set
713# CONFIG_MD_FAULTY is not set 806# CONFIG_MD_FAULTY is not set
714CONFIG_BLK_DEV_DM=y 807CONFIG_BLK_DEV_DM=y
@@ -725,12 +818,19 @@ CONFIG_DM_CRYPT=y
725# 818#
726# IEEE 1394 (FireWire) support 819# IEEE 1394 (FireWire) support
727# 820#
821
822#
823# You can enable one or both FireWire driver stacks.
824#
825
826#
827# See the help texts for more information.
828#
728# CONFIG_FIREWIRE is not set 829# CONFIG_FIREWIRE is not set
729# CONFIG_IEEE1394 is not set 830# CONFIG_IEEE1394 is not set
730# CONFIG_I2O is not set 831# CONFIG_I2O is not set
731# CONFIG_MACINTOSH_DRIVERS is not set 832# CONFIG_MACINTOSH_DRIVERS is not set
732CONFIG_NETDEVICES=y 833CONFIG_NETDEVICES=y
733# CONFIG_NETDEVICES_MULTIQUEUE is not set
734CONFIG_DUMMY=y 834CONFIG_DUMMY=y
735# CONFIG_BONDING is not set 835# CONFIG_BONDING is not set
736# CONFIG_MACVLAN is not set 836# CONFIG_MACVLAN is not set
@@ -753,6 +853,9 @@ CONFIG_MARVELL_PHY=y
753# CONFIG_BROADCOM_PHY is not set 853# CONFIG_BROADCOM_PHY is not set
754# CONFIG_ICPLUS_PHY is not set 854# CONFIG_ICPLUS_PHY is not set
755# CONFIG_REALTEK_PHY is not set 855# CONFIG_REALTEK_PHY is not set
856# CONFIG_NATIONAL_PHY is not set
857# CONFIG_STE10XP is not set
858# CONFIG_LSI_ET1011C_PHY is not set
756# CONFIG_FIXED_PHY is not set 859# CONFIG_FIXED_PHY is not set
757# CONFIG_MDIO_BITBANG is not set 860# CONFIG_MDIO_BITBANG is not set
758CONFIG_NET_ETHERNET=y 861CONFIG_NET_ETHERNET=y
@@ -761,19 +864,23 @@ CONFIG_MII=y
761# CONFIG_SUNGEM is not set 864# CONFIG_SUNGEM is not set
762# CONFIG_CASSINI is not set 865# CONFIG_CASSINI is not set
763# CONFIG_NET_VENDOR_3COM is not set 866# CONFIG_NET_VENDOR_3COM is not set
867# CONFIG_ETHOC is not set
868# CONFIG_DNET is not set
764# CONFIG_NET_TULIP is not set 869# CONFIG_NET_TULIP is not set
765# CONFIG_HP100 is not set 870# CONFIG_HP100 is not set
766# CONFIG_IBM_NEW_EMAC_ZMII is not set 871# CONFIG_IBM_NEW_EMAC_ZMII is not set
767# CONFIG_IBM_NEW_EMAC_RGMII is not set 872# CONFIG_IBM_NEW_EMAC_RGMII is not set
768# CONFIG_IBM_NEW_EMAC_TAH is not set 873# CONFIG_IBM_NEW_EMAC_TAH is not set
769# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 874# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
875# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
876# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
877# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
770CONFIG_NET_PCI=y 878CONFIG_NET_PCI=y
771# CONFIG_PCNET32 is not set 879# CONFIG_PCNET32 is not set
772# CONFIG_AMD8111_ETH is not set 880# CONFIG_AMD8111_ETH is not set
773# CONFIG_ADAPTEC_STARFIRE is not set 881# CONFIG_ADAPTEC_STARFIRE is not set
774# CONFIG_B44 is not set 882# CONFIG_B44 is not set
775# CONFIG_FORCEDETH is not set 883# CONFIG_FORCEDETH is not set
776# CONFIG_EEPRO100 is not set
777# CONFIG_E100 is not set 884# CONFIG_E100 is not set
778# CONFIG_FEALNX is not set 885# CONFIG_FEALNX is not set
779# CONFIG_NATSEMI is not set 886# CONFIG_NATSEMI is not set
@@ -783,19 +890,22 @@ CONFIG_NET_PCI=y
783# CONFIG_R6040 is not set 890# CONFIG_R6040 is not set
784# CONFIG_SIS900 is not set 891# CONFIG_SIS900 is not set
785# CONFIG_EPIC100 is not set 892# CONFIG_EPIC100 is not set
893# CONFIG_SMSC9420 is not set
786# CONFIG_SUNDANCE is not set 894# CONFIG_SUNDANCE is not set
895# CONFIG_TLAN is not set
896# CONFIG_KS8842 is not set
897# CONFIG_KS8851_MLL is not set
787# CONFIG_VIA_RHINE is not set 898# CONFIG_VIA_RHINE is not set
788# CONFIG_SC92031 is not set 899# CONFIG_SC92031 is not set
900# CONFIG_ATL2 is not set
789CONFIG_NETDEV_1000=y 901CONFIG_NETDEV_1000=y
790# CONFIG_ACENIC is not set 902# CONFIG_ACENIC is not set
791# CONFIG_DL2K is not set 903# CONFIG_DL2K is not set
792CONFIG_E1000=y 904CONFIG_E1000=y
793CONFIG_E1000_NAPI=y
794# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
795# CONFIG_E1000E is not set 905# CONFIG_E1000E is not set
796# CONFIG_E1000E_ENABLED is not set
797# CONFIG_IP1000 is not set 906# CONFIG_IP1000 is not set
798# CONFIG_IGB is not set 907# CONFIG_IGB is not set
908# CONFIG_IGBVF is not set
799# CONFIG_NS83820 is not set 909# CONFIG_NS83820 is not set
800# CONFIG_HAMACHI is not set 910# CONFIG_HAMACHI is not set
801# CONFIG_YELLOWFIN is not set 911# CONFIG_YELLOWFIN is not set
@@ -806,30 +916,40 @@ CONFIG_E1000_NAPI=y
806# CONFIG_VIA_VELOCITY is not set 916# CONFIG_VIA_VELOCITY is not set
807CONFIG_TIGON3=y 917CONFIG_TIGON3=y
808# CONFIG_BNX2 is not set 918# CONFIG_BNX2 is not set
919# CONFIG_CNIC is not set
809# CONFIG_QLA3XXX is not set 920# CONFIG_QLA3XXX is not set
810# CONFIG_ATL1 is not set 921# CONFIG_ATL1 is not set
922# CONFIG_ATL1E is not set
923# CONFIG_ATL1C is not set
924# CONFIG_JME is not set
811CONFIG_NETDEV_10000=y 925CONFIG_NETDEV_10000=y
812# CONFIG_CHELSIO_T1 is not set 926# CONFIG_CHELSIO_T1 is not set
927CONFIG_CHELSIO_T3_DEPENDS=y
813# CONFIG_CHELSIO_T3 is not set 928# CONFIG_CHELSIO_T3 is not set
929# CONFIG_ENIC is not set
814# CONFIG_IXGBE is not set 930# CONFIG_IXGBE is not set
815# CONFIG_IXGB is not set 931# CONFIG_IXGB is not set
816# CONFIG_S2IO is not set 932# CONFIG_S2IO is not set
933# CONFIG_VXGE is not set
817# CONFIG_MYRI10GE is not set 934# CONFIG_MYRI10GE is not set
818# CONFIG_NETXEN_NIC is not set 935# CONFIG_NETXEN_NIC is not set
819# CONFIG_NIU is not set 936# CONFIG_NIU is not set
820CONFIG_PASEMI_MAC=y 937CONFIG_PASEMI_MAC=y
938# CONFIG_MLX4_EN is not set
821# CONFIG_MLX4_CORE is not set 939# CONFIG_MLX4_CORE is not set
822# CONFIG_TEHUTI is not set 940# CONFIG_TEHUTI is not set
823# CONFIG_BNX2X is not set 941# CONFIG_BNX2X is not set
942# CONFIG_QLGE is not set
824# CONFIG_SFC is not set 943# CONFIG_SFC is not set
944# CONFIG_BE2NET is not set
825# CONFIG_TR is not set 945# CONFIG_TR is not set
946CONFIG_WLAN=y
947# CONFIG_WLAN_PRE80211 is not set
948# CONFIG_WLAN_80211 is not set
826 949
827# 950#
828# Wireless LAN 951# Enable WiMAX (Networking options) to see the WiMAX drivers
829# 952#
830# CONFIG_WLAN_PRE80211 is not set
831# CONFIG_WLAN_80211 is not set
832# CONFIG_IWLWIFI_LEDS is not set
833 953
834# 954#
835# USB Network Adapters 955# USB Network Adapters
@@ -874,17 +994,23 @@ CONFIG_INPUT_EVDEV=y
874# Input Device Drivers 994# Input Device Drivers
875# 995#
876CONFIG_INPUT_KEYBOARD=y 996CONFIG_INPUT_KEYBOARD=y
997# CONFIG_KEYBOARD_ADP5588 is not set
877# CONFIG_KEYBOARD_ATKBD is not set 998# CONFIG_KEYBOARD_ATKBD is not set
878# CONFIG_KEYBOARD_SUNKBD is not set 999# CONFIG_QT2160 is not set
879# CONFIG_KEYBOARD_LKKBD is not set 1000# CONFIG_KEYBOARD_LKKBD is not set
880# CONFIG_KEYBOARD_XTKBD is not set 1001# CONFIG_KEYBOARD_MAX7359 is not set
881# CONFIG_KEYBOARD_NEWTON is not set 1002# CONFIG_KEYBOARD_NEWTON is not set
1003# CONFIG_KEYBOARD_OPENCORES is not set
882# CONFIG_KEYBOARD_STOWAWAY is not set 1004# CONFIG_KEYBOARD_STOWAWAY is not set
1005# CONFIG_KEYBOARD_SUNKBD is not set
1006# CONFIG_KEYBOARD_XTKBD is not set
883CONFIG_INPUT_MOUSE=y 1007CONFIG_INPUT_MOUSE=y
884# CONFIG_MOUSE_PS2 is not set 1008# CONFIG_MOUSE_PS2 is not set
885# CONFIG_MOUSE_SERIAL is not set 1009# CONFIG_MOUSE_SERIAL is not set
886# CONFIG_MOUSE_APPLETOUCH is not set 1010# CONFIG_MOUSE_APPLETOUCH is not set
1011# CONFIG_MOUSE_BCM5974 is not set
887# CONFIG_MOUSE_VSXXXAA is not set 1012# CONFIG_MOUSE_VSXXXAA is not set
1013# CONFIG_MOUSE_SYNAPTICS_I2C is not set
888# CONFIG_INPUT_JOYSTICK is not set 1014# CONFIG_INPUT_JOYSTICK is not set
889# CONFIG_INPUT_TABLET is not set 1015# CONFIG_INPUT_TABLET is not set
890# CONFIG_INPUT_TOUCHSCREEN is not set 1016# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -900,6 +1026,7 @@ CONFIG_INPUT_MOUSE=y
900# Character devices 1026# Character devices
901# 1027#
902CONFIG_VT=y 1028CONFIG_VT=y
1029CONFIG_CONSOLE_TRANSLATIONS=y
903CONFIG_VT_CONSOLE=y 1030CONFIG_VT_CONSOLE=y
904CONFIG_HW_CONSOLE=y 1031CONFIG_HW_CONSOLE=y
905# CONFIG_VT_HW_CONSOLE_BINDING is not set 1032# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -926,10 +1053,13 @@ CONFIG_SERIAL_CORE_CONSOLE=y
926# CONFIG_SERIAL_JSM is not set 1053# CONFIG_SERIAL_JSM is not set
927# CONFIG_SERIAL_OF_PLATFORM is not set 1054# CONFIG_SERIAL_OF_PLATFORM is not set
928CONFIG_UNIX98_PTYS=y 1055CONFIG_UNIX98_PTYS=y
1056# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
929CONFIG_LEGACY_PTYS=y 1057CONFIG_LEGACY_PTYS=y
930CONFIG_LEGACY_PTY_COUNT=4 1058CONFIG_LEGACY_PTY_COUNT=4
1059# CONFIG_HVC_UDBG is not set
931# CONFIG_IPMI_HANDLER is not set 1060# CONFIG_IPMI_HANDLER is not set
932CONFIG_HW_RANDOM=y 1061CONFIG_HW_RANDOM=y
1062# CONFIG_HW_RANDOM_TIMERIOMEM is not set
933CONFIG_HW_RANDOM_PASEMI=y 1063CONFIG_HW_RANDOM_PASEMI=y
934# CONFIG_R3964 is not set 1064# CONFIG_R3964 is not set
935# CONFIG_APPLICOM is not set 1065# CONFIG_APPLICOM is not set
@@ -948,57 +1078,85 @@ CONFIG_MAX_RAW_DEVS=256
948CONFIG_DEVPORT=y 1078CONFIG_DEVPORT=y
949CONFIG_I2C=y 1079CONFIG_I2C=y
950CONFIG_I2C_BOARDINFO=y 1080CONFIG_I2C_BOARDINFO=y
1081CONFIG_I2C_COMPAT=y
951CONFIG_I2C_CHARDEV=y 1082CONFIG_I2C_CHARDEV=y
1083CONFIG_I2C_HELPER_AUTO=y
952CONFIG_I2C_ALGOBIT=y 1084CONFIG_I2C_ALGOBIT=y
953 1085
954# 1086#
955# I2C Hardware Bus support 1087# I2C Hardware Bus support
956# 1088#
1089
1090#
1091# PC SMBus host controller drivers
1092#
957# CONFIG_I2C_ALI1535 is not set 1093# CONFIG_I2C_ALI1535 is not set
958# CONFIG_I2C_ALI1563 is not set 1094# CONFIG_I2C_ALI1563 is not set
959# CONFIG_I2C_ALI15X3 is not set 1095# CONFIG_I2C_ALI15X3 is not set
960# CONFIG_I2C_AMD756 is not set 1096# CONFIG_I2C_AMD756 is not set
961# CONFIG_I2C_AMD8111 is not set 1097# CONFIG_I2C_AMD8111 is not set
962# CONFIG_I2C_I801 is not set 1098# CONFIG_I2C_I801 is not set
963# CONFIG_I2C_I810 is not set 1099# CONFIG_I2C_ISCH is not set
964# CONFIG_I2C_PIIX4 is not set 1100# CONFIG_I2C_PIIX4 is not set
965# CONFIG_I2C_NFORCE2 is not set 1101# CONFIG_I2C_NFORCE2 is not set
966# CONFIG_I2C_OCORES is not set
967# CONFIG_I2C_PARPORT_LIGHT is not set
968CONFIG_I2C_PASEMI=y
969# CONFIG_I2C_PROSAVAGE is not set
970# CONFIG_I2C_SAVAGE4 is not set
971# CONFIG_I2C_SIMTEC is not set
972# CONFIG_I2C_SIS5595 is not set 1102# CONFIG_I2C_SIS5595 is not set
973# CONFIG_I2C_SIS630 is not set 1103# CONFIG_I2C_SIS630 is not set
974# CONFIG_I2C_SIS96X is not set 1104# CONFIG_I2C_SIS96X is not set
975# CONFIG_I2C_TAOS_EVM is not set
976# CONFIG_I2C_STUB is not set
977# CONFIG_I2C_TINY_USB is not set
978# CONFIG_I2C_VIA is not set 1105# CONFIG_I2C_VIA is not set
979# CONFIG_I2C_VIAPRO is not set 1106# CONFIG_I2C_VIAPRO is not set
1107
1108#
1109# I2C system bus drivers (mostly embedded / system-on-chip)
1110#
1111# CONFIG_I2C_OCORES is not set
1112CONFIG_I2C_PASEMI=y
1113# CONFIG_I2C_SIMTEC is not set
1114
1115#
1116# External I2C/SMBus adapter drivers
1117#
1118# CONFIG_I2C_PARPORT_LIGHT is not set
1119# CONFIG_I2C_TAOS_EVM is not set
1120# CONFIG_I2C_TINY_USB is not set
1121
1122#
1123# Graphics adapter I2C/DDC channel drivers
1124#
980# CONFIG_I2C_VOODOO3 is not set 1125# CONFIG_I2C_VOODOO3 is not set
1126
1127#
1128# Other I2C/SMBus bus drivers
1129#
981# CONFIG_I2C_PCA_PLATFORM is not set 1130# CONFIG_I2C_PCA_PLATFORM is not set
1131# CONFIG_I2C_STUB is not set
982 1132
983# 1133#
984# Miscellaneous I2C Chip support 1134# Miscellaneous I2C Chip support
985# 1135#
986# CONFIG_DS1682 is not set 1136# CONFIG_DS1682 is not set
987CONFIG_EEPROM_LEGACY=y
988# CONFIG_SENSORS_PCF8574 is not set
989# CONFIG_PCF8575 is not set
990# CONFIG_SENSORS_PCF8591 is not set
991# CONFIG_SENSORS_MAX6875 is not set
992# CONFIG_SENSORS_TSL2550 is not set 1137# CONFIG_SENSORS_TSL2550 is not set
993# CONFIG_I2C_DEBUG_CORE is not set 1138# CONFIG_I2C_DEBUG_CORE is not set
994# CONFIG_I2C_DEBUG_ALGO is not set 1139# CONFIG_I2C_DEBUG_ALGO is not set
995# CONFIG_I2C_DEBUG_BUS is not set 1140# CONFIG_I2C_DEBUG_BUS is not set
996# CONFIG_I2C_DEBUG_CHIP is not set 1141# CONFIG_I2C_DEBUG_CHIP is not set
997# CONFIG_SPI is not set 1142# CONFIG_SPI is not set
1143
1144#
1145# PPS support
1146#
1147# CONFIG_PPS is not set
1148CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1149# CONFIG_GPIOLIB is not set
998# CONFIG_W1 is not set 1150# CONFIG_W1 is not set
999# CONFIG_POWER_SUPPLY is not set 1151# CONFIG_POWER_SUPPLY is not set
1000CONFIG_HWMON=y 1152CONFIG_HWMON=y
1001CONFIG_HWMON_VID=y 1153CONFIG_HWMON_VID=y
1154# CONFIG_HWMON_DEBUG_CHIP is not set
1155
1156#
1157# Native drivers
1158#
1159# CONFIG_SENSORS_AD7414 is not set
1002# CONFIG_SENSORS_AD7418 is not set 1160# CONFIG_SENSORS_AD7418 is not set
1003# CONFIG_SENSORS_ADM1021 is not set 1161# CONFIG_SENSORS_ADM1021 is not set
1004# CONFIG_SENSORS_ADM1025 is not set 1162# CONFIG_SENSORS_ADM1025 is not set
@@ -1006,14 +1164,17 @@ CONFIG_HWMON_VID=y
1006# CONFIG_SENSORS_ADM1029 is not set 1164# CONFIG_SENSORS_ADM1029 is not set
1007# CONFIG_SENSORS_ADM1031 is not set 1165# CONFIG_SENSORS_ADM1031 is not set
1008# CONFIG_SENSORS_ADM9240 is not set 1166# CONFIG_SENSORS_ADM9240 is not set
1167# CONFIG_SENSORS_ADT7462 is not set
1009# CONFIG_SENSORS_ADT7470 is not set 1168# CONFIG_SENSORS_ADT7470 is not set
1010# CONFIG_SENSORS_ADT7473 is not set 1169# CONFIG_SENSORS_ADT7473 is not set
1170# CONFIG_SENSORS_ADT7475 is not set
1011# CONFIG_SENSORS_ATXP1 is not set 1171# CONFIG_SENSORS_ATXP1 is not set
1012# CONFIG_SENSORS_DS1621 is not set 1172# CONFIG_SENSORS_DS1621 is not set
1013# CONFIG_SENSORS_I5K_AMB is not set 1173# CONFIG_SENSORS_I5K_AMB is not set
1014# CONFIG_SENSORS_F71805F is not set 1174# CONFIG_SENSORS_F71805F is not set
1015# CONFIG_SENSORS_F71882FG is not set 1175# CONFIG_SENSORS_F71882FG is not set
1016# CONFIG_SENSORS_F75375S is not set 1176# CONFIG_SENSORS_F75375S is not set
1177# CONFIG_SENSORS_G760A is not set
1017# CONFIG_SENSORS_GL518SM is not set 1178# CONFIG_SENSORS_GL518SM is not set
1018# CONFIG_SENSORS_GL520SM is not set 1179# CONFIG_SENSORS_GL520SM is not set
1019# CONFIG_SENSORS_IT87 is not set 1180# CONFIG_SENSORS_IT87 is not set
@@ -1028,10 +1189,14 @@ CONFIG_SENSORS_LM85=y
1028CONFIG_SENSORS_LM90=y 1189CONFIG_SENSORS_LM90=y
1029# CONFIG_SENSORS_LM92 is not set 1190# CONFIG_SENSORS_LM92 is not set
1030# CONFIG_SENSORS_LM93 is not set 1191# CONFIG_SENSORS_LM93 is not set
1192# CONFIG_SENSORS_LTC4215 is not set
1193# CONFIG_SENSORS_LTC4245 is not set
1194# CONFIG_SENSORS_LM95241 is not set
1031# CONFIG_SENSORS_MAX1619 is not set 1195# CONFIG_SENSORS_MAX1619 is not set
1032# CONFIG_SENSORS_MAX6650 is not set 1196# CONFIG_SENSORS_MAX6650 is not set
1033# CONFIG_SENSORS_PC87360 is not set 1197# CONFIG_SENSORS_PC87360 is not set
1034# CONFIG_SENSORS_PC87427 is not set 1198# CONFIG_SENSORS_PC87427 is not set
1199# CONFIG_SENSORS_PCF8591 is not set
1035# CONFIG_SENSORS_SIS5595 is not set 1200# CONFIG_SENSORS_SIS5595 is not set
1036# CONFIG_SENSORS_DME1737 is not set 1201# CONFIG_SENSORS_DME1737 is not set
1037# CONFIG_SENSORS_SMSC47M1 is not set 1202# CONFIG_SENSORS_SMSC47M1 is not set
@@ -1039,6 +1204,8 @@ CONFIG_SENSORS_LM90=y
1039# CONFIG_SENSORS_SMSC47B397 is not set 1204# CONFIG_SENSORS_SMSC47B397 is not set
1040# CONFIG_SENSORS_ADS7828 is not set 1205# CONFIG_SENSORS_ADS7828 is not set
1041# CONFIG_SENSORS_THMC50 is not set 1206# CONFIG_SENSORS_THMC50 is not set
1207# CONFIG_SENSORS_TMP401 is not set
1208# CONFIG_SENSORS_TMP421 is not set
1042# CONFIG_SENSORS_VIA686A is not set 1209# CONFIG_SENSORS_VIA686A is not set
1043# CONFIG_SENSORS_VT1211 is not set 1210# CONFIG_SENSORS_VT1211 is not set
1044# CONFIG_SENSORS_VT8231 is not set 1211# CONFIG_SENSORS_VT8231 is not set
@@ -1050,44 +1217,40 @@ CONFIG_SENSORS_LM90=y
1050# CONFIG_SENSORS_W83L786NG is not set 1217# CONFIG_SENSORS_W83L786NG is not set
1051# CONFIG_SENSORS_W83627HF is not set 1218# CONFIG_SENSORS_W83627HF is not set
1052# CONFIG_SENSORS_W83627EHF is not set 1219# CONFIG_SENSORS_W83627EHF is not set
1053# CONFIG_HWMON_DEBUG_CHIP is not set
1054# CONFIG_THERMAL is not set 1220# CONFIG_THERMAL is not set
1055# CONFIG_WATCHDOG is not set 1221# CONFIG_WATCHDOG is not set
1222CONFIG_SSB_POSSIBLE=y
1056 1223
1057# 1224#
1058# Sonics Silicon Backplane 1225# Sonics Silicon Backplane
1059# 1226#
1060CONFIG_SSB_POSSIBLE=y
1061# CONFIG_SSB is not set 1227# CONFIG_SSB is not set
1062 1228
1063# 1229#
1064# Multifunction device drivers 1230# Multifunction device drivers
1065# 1231#
1232# CONFIG_MFD_CORE is not set
1066# CONFIG_MFD_SM501 is not set 1233# CONFIG_MFD_SM501 is not set
1067# CONFIG_HTC_PASIC3 is not set 1234# CONFIG_HTC_PASIC3 is not set
1068 1235# CONFIG_TWL4030_CORE is not set
1069# 1236# CONFIG_MFD_TMIO is not set
1070# Multimedia devices 1237# CONFIG_PMIC_DA903X is not set
1071# 1238# CONFIG_MFD_WM8400 is not set
1072 1239# CONFIG_MFD_WM831X is not set
1073# 1240# CONFIG_MFD_WM8350_I2C is not set
1074# Multimedia core support 1241# CONFIG_MFD_PCF50633 is not set
1075# 1242# CONFIG_AB3100_CORE is not set
1076# CONFIG_VIDEO_DEV is not set 1243# CONFIG_REGULATOR is not set
1077# CONFIG_DVB_CORE is not set 1244# CONFIG_MEDIA_SUPPORT is not set
1078# CONFIG_VIDEO_MEDIA is not set
1079
1080#
1081# Multimedia drivers
1082#
1083CONFIG_DAB=y
1084# CONFIG_USB_DABUSB is not set
1085 1245
1086# 1246#
1087# Graphics support 1247# Graphics support
1088# 1248#
1089# CONFIG_AGP is not set 1249# CONFIG_AGP is not set
1250CONFIG_VGA_ARB=y
1090CONFIG_DRM=y 1251CONFIG_DRM=y
1252CONFIG_DRM_KMS_HELPER=y
1253CONFIG_DRM_TTM=y
1091# CONFIG_DRM_TDFX is not set 1254# CONFIG_DRM_TDFX is not set
1092# CONFIG_DRM_R128 is not set 1255# CONFIG_DRM_R128 is not set
1093CONFIG_DRM_RADEON=y 1256CONFIG_DRM_RADEON=y
@@ -1099,6 +1262,7 @@ CONFIG_VGASTATE=y
1099CONFIG_FB=y 1262CONFIG_FB=y
1100CONFIG_FIRMWARE_EDID=y 1263CONFIG_FIRMWARE_EDID=y
1101CONFIG_FB_DDC=y 1264CONFIG_FB_DDC=y
1265# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1102CONFIG_FB_CFB_FILLRECT=y 1266CONFIG_FB_CFB_FILLRECT=y
1103CONFIG_FB_CFB_COPYAREA=y 1267CONFIG_FB_CFB_COPYAREA=y
1104CONFIG_FB_CFB_IMAGEBLIT=y 1268CONFIG_FB_CFB_IMAGEBLIT=y
@@ -1140,6 +1304,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1140# CONFIG_FB_S3 is not set 1304# CONFIG_FB_S3 is not set
1141# CONFIG_FB_SAVAGE is not set 1305# CONFIG_FB_SAVAGE is not set
1142# CONFIG_FB_SIS is not set 1306# CONFIG_FB_SIS is not set
1307# CONFIG_FB_VIA is not set
1143# CONFIG_FB_NEOMAGIC is not set 1308# CONFIG_FB_NEOMAGIC is not set
1144# CONFIG_FB_KYRO is not set 1309# CONFIG_FB_KYRO is not set
1145# CONFIG_FB_3DFX is not set 1310# CONFIG_FB_3DFX is not set
@@ -1148,12 +1313,16 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1148# CONFIG_FB_TRIDENT is not set 1313# CONFIG_FB_TRIDENT is not set
1149# CONFIG_FB_ARK is not set 1314# CONFIG_FB_ARK is not set
1150# CONFIG_FB_PM3 is not set 1315# CONFIG_FB_PM3 is not set
1316# CONFIG_FB_CARMINE is not set
1151# CONFIG_FB_IBM_GXT4500 is not set 1317# CONFIG_FB_IBM_GXT4500 is not set
1152# CONFIG_FB_VIRTUAL is not set 1318# CONFIG_FB_VIRTUAL is not set
1319# CONFIG_FB_METRONOME is not set
1320# CONFIG_FB_MB862XX is not set
1321# CONFIG_FB_BROADSHEET is not set
1153CONFIG_BACKLIGHT_LCD_SUPPORT=y 1322CONFIG_BACKLIGHT_LCD_SUPPORT=y
1154# CONFIG_LCD_CLASS_DEVICE is not set 1323# CONFIG_LCD_CLASS_DEVICE is not set
1155CONFIG_BACKLIGHT_CLASS_DEVICE=y 1324CONFIG_BACKLIGHT_CLASS_DEVICE=y
1156# CONFIG_BACKLIGHT_CORGI is not set 1325CONFIG_BACKLIGHT_GENERIC=y
1157 1326
1158# 1327#
1159# Display device support 1328# Display device support
@@ -1177,15 +1346,9 @@ CONFIG_LOGO=y
1177CONFIG_LOGO_LINUX_MONO=y 1346CONFIG_LOGO_LINUX_MONO=y
1178CONFIG_LOGO_LINUX_VGA16=y 1347CONFIG_LOGO_LINUX_VGA16=y
1179CONFIG_LOGO_LINUX_CLUT224=y 1348CONFIG_LOGO_LINUX_CLUT224=y
1180
1181#
1182# Sound
1183#
1184CONFIG_SOUND=y 1349CONFIG_SOUND=y
1185 1350CONFIG_SOUND_OSS_CORE=y
1186# 1351CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1187# Advanced Linux Sound Architecture
1188#
1189CONFIG_SND=y 1352CONFIG_SND=y
1190CONFIG_SND_TIMER=y 1353CONFIG_SND_TIMER=y
1191CONFIG_SND_PCM=y 1354CONFIG_SND_PCM=y
@@ -1198,24 +1361,24 @@ CONFIG_SND_MIXER_OSS=y
1198CONFIG_SND_PCM_OSS=y 1361CONFIG_SND_PCM_OSS=y
1199CONFIG_SND_PCM_OSS_PLUGINS=y 1362CONFIG_SND_PCM_OSS_PLUGINS=y
1200CONFIG_SND_SEQUENCER_OSS=y 1363CONFIG_SND_SEQUENCER_OSS=y
1364# CONFIG_SND_HRTIMER is not set
1201# CONFIG_SND_DYNAMIC_MINORS is not set 1365# CONFIG_SND_DYNAMIC_MINORS is not set
1202CONFIG_SND_SUPPORT_OLD_API=y 1366CONFIG_SND_SUPPORT_OLD_API=y
1203CONFIG_SND_VERBOSE_PROCFS=y 1367CONFIG_SND_VERBOSE_PROCFS=y
1204# CONFIG_SND_VERBOSE_PRINTK is not set 1368# CONFIG_SND_VERBOSE_PRINTK is not set
1205# CONFIG_SND_DEBUG is not set 1369# CONFIG_SND_DEBUG is not set
1206 1370CONFIG_SND_RAWMIDI_SEQ=y
1207# 1371# CONFIG_SND_OPL3_LIB_SEQ is not set
1208# Generic devices 1372# CONFIG_SND_OPL4_LIB_SEQ is not set
1209# 1373# CONFIG_SND_SBAWE_SEQ is not set
1374# CONFIG_SND_EMU10K1_SEQ is not set
1375CONFIG_SND_DRIVERS=y
1210# CONFIG_SND_DUMMY is not set 1376# CONFIG_SND_DUMMY is not set
1211# CONFIG_SND_VIRMIDI is not set 1377# CONFIG_SND_VIRMIDI is not set
1212# CONFIG_SND_MTPAV is not set 1378# CONFIG_SND_MTPAV is not set
1213# CONFIG_SND_SERIAL_U16550 is not set 1379# CONFIG_SND_SERIAL_U16550 is not set
1214# CONFIG_SND_MPU401 is not set 1380# CONFIG_SND_MPU401 is not set
1215 1381CONFIG_SND_PCI=y
1216#
1217# PCI devices
1218#
1219# CONFIG_SND_AD1889 is not set 1382# CONFIG_SND_AD1889 is not set
1220# CONFIG_SND_ALS300 is not set 1383# CONFIG_SND_ALS300 is not set
1221# CONFIG_SND_ALS4000 is not set 1384# CONFIG_SND_ALS4000 is not set
@@ -1234,6 +1397,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1234# CONFIG_SND_CS4281 is not set 1397# CONFIG_SND_CS4281 is not set
1235# CONFIG_SND_CS46XX is not set 1398# CONFIG_SND_CS46XX is not set
1236# CONFIG_SND_CS5530 is not set 1399# CONFIG_SND_CS5530 is not set
1400# CONFIG_SND_CTXFI is not set
1237# CONFIG_SND_DARLA20 is not set 1401# CONFIG_SND_DARLA20 is not set
1238# CONFIG_SND_GINA20 is not set 1402# CONFIG_SND_GINA20 is not set
1239# CONFIG_SND_LAYLA20 is not set 1403# CONFIG_SND_LAYLA20 is not set
@@ -1246,6 +1410,8 @@ CONFIG_SND_VERBOSE_PROCFS=y
1246# CONFIG_SND_INDIGO is not set 1410# CONFIG_SND_INDIGO is not set
1247# CONFIG_SND_INDIGOIO is not set 1411# CONFIG_SND_INDIGOIO is not set
1248# CONFIG_SND_INDIGODJ is not set 1412# CONFIG_SND_INDIGODJ is not set
1413# CONFIG_SND_INDIGOIOX is not set
1414# CONFIG_SND_INDIGODJX is not set
1249# CONFIG_SND_EMU10K1 is not set 1415# CONFIG_SND_EMU10K1 is not set
1250# CONFIG_SND_EMU10K1X is not set 1416# CONFIG_SND_EMU10K1X is not set
1251# CONFIG_SND_ENS1370 is not set 1417# CONFIG_SND_ENS1370 is not set
@@ -1262,6 +1428,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1262# CONFIG_SND_INTEL8X0 is not set 1428# CONFIG_SND_INTEL8X0 is not set
1263# CONFIG_SND_INTEL8X0M is not set 1429# CONFIG_SND_INTEL8X0M is not set
1264# CONFIG_SND_KORG1212 is not set 1430# CONFIG_SND_KORG1212 is not set
1431# CONFIG_SND_LX6464ES is not set
1265# CONFIG_SND_MAESTRO3 is not set 1432# CONFIG_SND_MAESTRO3 is not set
1266# CONFIG_SND_MIXART is not set 1433# CONFIG_SND_MIXART is not set
1267# CONFIG_SND_NM256 is not set 1434# CONFIG_SND_NM256 is not set
@@ -1277,57 +1444,64 @@ CONFIG_SND_VERBOSE_PROCFS=y
1277# CONFIG_SND_VIRTUOSO is not set 1444# CONFIG_SND_VIRTUOSO is not set
1278# CONFIG_SND_VX222 is not set 1445# CONFIG_SND_VX222 is not set
1279# CONFIG_SND_YMFPCI is not set 1446# CONFIG_SND_YMFPCI is not set
1280 1447CONFIG_SND_PPC=y
1281# 1448CONFIG_SND_USB=y
1282# ALSA PowerMac devices
1283#
1284
1285#
1286# ALSA PowerPC devices
1287#
1288
1289#
1290# USB devices
1291#
1292CONFIG_SND_USB_AUDIO=y 1449CONFIG_SND_USB_AUDIO=y
1293CONFIG_SND_USB_USX2Y=y 1450CONFIG_SND_USB_USX2Y=y
1294# CONFIG_SND_USB_CAIAQ is not set 1451# CONFIG_SND_USB_CAIAQ is not set
1295 1452CONFIG_SND_PCMCIA=y
1296#
1297# PCMCIA devices
1298#
1299# CONFIG_SND_VXPOCKET is not set 1453# CONFIG_SND_VXPOCKET is not set
1300# CONFIG_SND_PDAUDIOCF is not set 1454# CONFIG_SND_PDAUDIOCF is not set
1301
1302#
1303# System on Chip audio support
1304#
1305# CONFIG_SND_SOC is not set 1455# CONFIG_SND_SOC is not set
1306
1307#
1308# ALSA SoC audio for Freescale SOCs
1309#
1310
1311#
1312# SoC Audio for the Texas Instruments OMAP
1313#
1314
1315#
1316# Open Sound System
1317#
1318# CONFIG_SOUND_PRIME is not set 1456# CONFIG_SOUND_PRIME is not set
1319CONFIG_HID_SUPPORT=y 1457CONFIG_HID_SUPPORT=y
1320CONFIG_HID=y 1458CONFIG_HID=y
1321# CONFIG_HID_DEBUG is not set
1322# CONFIG_HIDRAW is not set 1459# CONFIG_HIDRAW is not set
1323 1460
1324# 1461#
1325# USB Input Devices 1462# USB Input Devices
1326# 1463#
1327CONFIG_USB_HID=y 1464CONFIG_USB_HID=y
1328# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1465# CONFIG_HID_PID is not set
1329# CONFIG_HID_FF is not set
1330# CONFIG_USB_HIDDEV is not set 1466# CONFIG_USB_HIDDEV is not set
1467
1468#
1469# Special HID drivers
1470#
1471CONFIG_HID_A4TECH=y
1472CONFIG_HID_APPLE=y
1473CONFIG_HID_BELKIN=y
1474CONFIG_HID_CHERRY=y
1475CONFIG_HID_CHICONY=y
1476CONFIG_HID_CYPRESS=y
1477CONFIG_HID_DRAGONRISE=y
1478# CONFIG_DRAGONRISE_FF is not set
1479CONFIG_HID_EZKEY=y
1480CONFIG_HID_KYE=y
1481CONFIG_HID_GYRATION=y
1482CONFIG_HID_TWINHAN=y
1483CONFIG_HID_KENSINGTON=y
1484CONFIG_HID_LOGITECH=y
1485# CONFIG_LOGITECH_FF is not set
1486# CONFIG_LOGIRUMBLEPAD2_FF is not set
1487CONFIG_HID_MICROSOFT=y
1488CONFIG_HID_MONTEREY=y
1489CONFIG_HID_NTRIG=y
1490CONFIG_HID_PANTHERLORD=y
1491# CONFIG_PANTHERLORD_FF is not set
1492CONFIG_HID_PETALYNX=y
1493CONFIG_HID_SAMSUNG=y
1494CONFIG_HID_SONY=y
1495CONFIG_HID_SUNPLUS=y
1496CONFIG_HID_GREENASIA=y
1497# CONFIG_GREENASIA_FF is not set
1498CONFIG_HID_SMARTJOYPLUS=y
1499# CONFIG_SMARTJOYPLUS_FF is not set
1500CONFIG_HID_TOPSEED=y
1501CONFIG_HID_THRUSTMASTER=y
1502# CONFIG_THRUSTMASTER_FF is not set
1503CONFIG_HID_ZEROPLUS=y
1504# CONFIG_ZEROPLUS_FF is not set
1331CONFIG_USB_SUPPORT=y 1505CONFIG_USB_SUPPORT=y
1332CONFIG_USB_ARCH_HAS_HCD=y 1506CONFIG_USB_ARCH_HAS_HCD=y
1333CONFIG_USB_ARCH_HAS_OHCI=y 1507CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1343,18 +1517,26 @@ CONFIG_USB_DEVICEFS=y
1343# CONFIG_USB_DEVICE_CLASS is not set 1517# CONFIG_USB_DEVICE_CLASS is not set
1344# CONFIG_USB_DYNAMIC_MINORS is not set 1518# CONFIG_USB_DYNAMIC_MINORS is not set
1345# CONFIG_USB_OTG is not set 1519# CONFIG_USB_OTG is not set
1520# CONFIG_USB_MON is not set
1521# CONFIG_USB_WUSB is not set
1522# CONFIG_USB_WUSB_CBAF is not set
1346 1523
1347# 1524#
1348# USB Host Controller Drivers 1525# USB Host Controller Drivers
1349# 1526#
1350# CONFIG_USB_C67X00_HCD is not set 1527# CONFIG_USB_C67X00_HCD is not set
1528# CONFIG_USB_XHCI_HCD is not set
1351CONFIG_USB_EHCI_HCD=y 1529CONFIG_USB_EHCI_HCD=y
1352# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1530# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1353# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1531# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1354CONFIG_USB_EHCI_HCD_PPC_OF=y 1532CONFIG_USB_EHCI_HCD_PPC_OF=y
1533# CONFIG_USB_OXU210HP_HCD is not set
1355# CONFIG_USB_ISP116X_HCD is not set 1534# CONFIG_USB_ISP116X_HCD is not set
1356# CONFIG_USB_ISP1760_HCD is not set 1535# CONFIG_USB_ISP1760_HCD is not set
1536# CONFIG_USB_ISP1362_HCD is not set
1357CONFIG_USB_OHCI_HCD=y 1537CONFIG_USB_OHCI_HCD=y
1538# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set
1539# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
1358# CONFIG_USB_OHCI_HCD_PPC_OF is not set 1540# CONFIG_USB_OHCI_HCD_PPC_OF is not set
1359# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set 1541# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1360# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set 1542# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
@@ -1363,6 +1545,8 @@ CONFIG_USB_UHCI_HCD=y
1363CONFIG_USB_SL811_HCD=y 1545CONFIG_USB_SL811_HCD=y
1364# CONFIG_USB_SL811_CS is not set 1546# CONFIG_USB_SL811_CS is not set
1365# CONFIG_USB_R8A66597_HCD is not set 1547# CONFIG_USB_R8A66597_HCD is not set
1548# CONFIG_USB_WHCI_HCD is not set
1549# CONFIG_USB_HWA_HCD is not set
1366 1550
1367# 1551#
1368# USB Device Class drivers 1552# USB Device Class drivers
@@ -1370,20 +1554,20 @@ CONFIG_USB_SL811_HCD=y
1370# CONFIG_USB_ACM is not set 1554# CONFIG_USB_ACM is not set
1371# CONFIG_USB_PRINTER is not set 1555# CONFIG_USB_PRINTER is not set
1372# CONFIG_USB_WDM is not set 1556# CONFIG_USB_WDM is not set
1557# CONFIG_USB_TMC is not set
1373 1558
1374# 1559#
1375# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1560# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1376# 1561#
1377 1562
1378# 1563#
1379# may also be needed; see USB_STORAGE Help for more information 1564# also be needed; see USB_STORAGE Help for more info
1380# 1565#
1381CONFIG_USB_STORAGE=y 1566CONFIG_USB_STORAGE=y
1382# CONFIG_USB_STORAGE_DEBUG is not set 1567# CONFIG_USB_STORAGE_DEBUG is not set
1383# CONFIG_USB_STORAGE_DATAFAB is not set 1568# CONFIG_USB_STORAGE_DATAFAB is not set
1384# CONFIG_USB_STORAGE_FREECOM is not set 1569# CONFIG_USB_STORAGE_FREECOM is not set
1385# CONFIG_USB_STORAGE_ISD200 is not set 1570# CONFIG_USB_STORAGE_ISD200 is not set
1386# CONFIG_USB_STORAGE_DPCM is not set
1387# CONFIG_USB_STORAGE_USBAT is not set 1571# CONFIG_USB_STORAGE_USBAT is not set
1388# CONFIG_USB_STORAGE_SDDR09 is not set 1572# CONFIG_USB_STORAGE_SDDR09 is not set
1389# CONFIG_USB_STORAGE_SDDR55 is not set 1573# CONFIG_USB_STORAGE_SDDR55 is not set
@@ -1399,7 +1583,6 @@ CONFIG_USB_LIBUSUAL=y
1399# 1583#
1400# CONFIG_USB_MDC800 is not set 1584# CONFIG_USB_MDC800 is not set
1401# CONFIG_USB_MICROTEK is not set 1585# CONFIG_USB_MICROTEK is not set
1402# CONFIG_USB_MON is not set
1403 1586
1404# 1587#
1405# USB port drivers 1588# USB port drivers
@@ -1412,7 +1595,7 @@ CONFIG_USB_LIBUSUAL=y
1412# CONFIG_USB_EMI62 is not set 1595# CONFIG_USB_EMI62 is not set
1413# CONFIG_USB_EMI26 is not set 1596# CONFIG_USB_EMI26 is not set
1414# CONFIG_USB_ADUTUX is not set 1597# CONFIG_USB_ADUTUX is not set
1415# CONFIG_USB_AUERSWALD is not set 1598# CONFIG_USB_SEVSEG is not set
1416# CONFIG_USB_RIO500 is not set 1599# CONFIG_USB_RIO500 is not set
1417# CONFIG_USB_LEGOTOWER is not set 1600# CONFIG_USB_LEGOTOWER is not set
1418# CONFIG_USB_LCD is not set 1601# CONFIG_USB_LCD is not set
@@ -1420,7 +1603,6 @@ CONFIG_USB_LIBUSUAL=y
1420# CONFIG_USB_LED is not set 1603# CONFIG_USB_LED is not set
1421# CONFIG_USB_CYPRESS_CY7C63 is not set 1604# CONFIG_USB_CYPRESS_CY7C63 is not set
1422# CONFIG_USB_CYTHERM is not set 1605# CONFIG_USB_CYTHERM is not set
1423# CONFIG_USB_PHIDGET is not set
1424# CONFIG_USB_IDMOUSE is not set 1606# CONFIG_USB_IDMOUSE is not set
1425# CONFIG_USB_FTDI_ELAN is not set 1607# CONFIG_USB_FTDI_ELAN is not set
1426# CONFIG_USB_APPLEDISPLAY is not set 1608# CONFIG_USB_APPLEDISPLAY is not set
@@ -1429,7 +1611,15 @@ CONFIG_USB_LIBUSUAL=y
1429# CONFIG_USB_TRANCEVIBRATOR is not set 1611# CONFIG_USB_TRANCEVIBRATOR is not set
1430# CONFIG_USB_IOWARRIOR is not set 1612# CONFIG_USB_IOWARRIOR is not set
1431# CONFIG_USB_TEST is not set 1613# CONFIG_USB_TEST is not set
1614# CONFIG_USB_ISIGHTFW is not set
1615# CONFIG_USB_VST is not set
1432# CONFIG_USB_GADGET is not set 1616# CONFIG_USB_GADGET is not set
1617
1618#
1619# OTG and related infrastructure
1620#
1621# CONFIG_NOP_USB_XCEIV is not set
1622# CONFIG_UWB is not set
1433# CONFIG_MMC is not set 1623# CONFIG_MMC is not set
1434# CONFIG_MEMSTICK is not set 1624# CONFIG_MEMSTICK is not set
1435# CONFIG_NEW_LEDS is not set 1625# CONFIG_NEW_LEDS is not set
@@ -1443,6 +1633,7 @@ CONFIG_EDAC=y
1443# CONFIG_EDAC_DEBUG is not set 1633# CONFIG_EDAC_DEBUG is not set
1444CONFIG_EDAC_MM_EDAC=y 1634CONFIG_EDAC_MM_EDAC=y
1445CONFIG_EDAC_PASEMI=y 1635CONFIG_EDAC_PASEMI=y
1636# CONFIG_EDAC_CPC925 is not set
1446CONFIG_RTC_LIB=y 1637CONFIG_RTC_LIB=y
1447CONFIG_RTC_CLASS=y 1638CONFIG_RTC_CLASS=y
1448CONFIG_RTC_HCTOSYS=y 1639CONFIG_RTC_HCTOSYS=y
@@ -1472,6 +1663,9 @@ CONFIG_RTC_DRV_DS1307=y
1472# CONFIG_RTC_DRV_PCF8583 is not set 1663# CONFIG_RTC_DRV_PCF8583 is not set
1473# CONFIG_RTC_DRV_M41T80 is not set 1664# CONFIG_RTC_DRV_M41T80 is not set
1474# CONFIG_RTC_DRV_S35390A is not set 1665# CONFIG_RTC_DRV_S35390A is not set
1666# CONFIG_RTC_DRV_FM3130 is not set
1667# CONFIG_RTC_DRV_RX8581 is not set
1668# CONFIG_RTC_DRV_RX8025 is not set
1475 1669
1476# 1670#
1477# SPI RTC drivers 1671# SPI RTC drivers
@@ -1481,21 +1675,31 @@ CONFIG_RTC_DRV_DS1307=y
1481# Platform RTC drivers 1675# Platform RTC drivers
1482# 1676#
1483# CONFIG_RTC_DRV_CMOS is not set 1677# CONFIG_RTC_DRV_CMOS is not set
1678# CONFIG_RTC_DRV_DS1286 is not set
1484# CONFIG_RTC_DRV_DS1511 is not set 1679# CONFIG_RTC_DRV_DS1511 is not set
1485# CONFIG_RTC_DRV_DS1553 is not set 1680# CONFIG_RTC_DRV_DS1553 is not set
1486# CONFIG_RTC_DRV_DS1742 is not set 1681# CONFIG_RTC_DRV_DS1742 is not set
1487# CONFIG_RTC_DRV_STK17TA8 is not set 1682# CONFIG_RTC_DRV_STK17TA8 is not set
1488# CONFIG_RTC_DRV_M48T86 is not set 1683# CONFIG_RTC_DRV_M48T86 is not set
1684# CONFIG_RTC_DRV_M48T35 is not set
1489# CONFIG_RTC_DRV_M48T59 is not set 1685# CONFIG_RTC_DRV_M48T59 is not set
1686# CONFIG_RTC_DRV_BQ4802 is not set
1490# CONFIG_RTC_DRV_V3020 is not set 1687# CONFIG_RTC_DRV_V3020 is not set
1491 1688
1492# 1689#
1493# on-CPU RTC drivers 1690# on-CPU RTC drivers
1494# 1691#
1692# CONFIG_RTC_DRV_GENERIC is not set
1495# CONFIG_DMADEVICES is not set 1693# CONFIG_DMADEVICES is not set
1694# CONFIG_AUXDISPLAY is not set
1496# CONFIG_UIO is not set 1695# CONFIG_UIO is not set
1497 1696
1498# 1697#
1698# TI VLYNQ
1699#
1700# CONFIG_STAGING is not set
1701
1702#
1499# File systems 1703# File systems
1500# 1704#
1501CONFIG_EXT2_FS=y 1705CONFIG_EXT2_FS=y
@@ -1504,11 +1708,13 @@ CONFIG_EXT2_FS_POSIX_ACL=y
1504# CONFIG_EXT2_FS_SECURITY is not set 1708# CONFIG_EXT2_FS_SECURITY is not set
1505# CONFIG_EXT2_FS_XIP is not set 1709# CONFIG_EXT2_FS_XIP is not set
1506CONFIG_EXT3_FS=y 1710CONFIG_EXT3_FS=y
1711# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1507CONFIG_EXT3_FS_XATTR=y 1712CONFIG_EXT3_FS_XATTR=y
1508# CONFIG_EXT3_FS_POSIX_ACL is not set 1713# CONFIG_EXT3_FS_POSIX_ACL is not set
1509# CONFIG_EXT3_FS_SECURITY is not set 1714# CONFIG_EXT3_FS_SECURITY is not set
1510# CONFIG_EXT4DEV_FS is not set 1715# CONFIG_EXT4_FS is not set
1511CONFIG_JBD=y 1716CONFIG_JBD=y
1717# CONFIG_JBD_DEBUG is not set
1512CONFIG_FS_MBCACHE=y 1718CONFIG_FS_MBCACHE=y
1513# CONFIG_REISERFS_FS is not set 1719# CONFIG_REISERFS_FS is not set
1514# CONFIG_JFS_FS is not set 1720# CONFIG_JFS_FS is not set
@@ -1516,6 +1722,10 @@ CONFIG_FS_POSIX_ACL=y
1516# CONFIG_XFS_FS is not set 1722# CONFIG_XFS_FS is not set
1517# CONFIG_GFS2_FS is not set 1723# CONFIG_GFS2_FS is not set
1518# CONFIG_OCFS2_FS is not set 1724# CONFIG_OCFS2_FS is not set
1725# CONFIG_BTRFS_FS is not set
1726# CONFIG_NILFS2_FS is not set
1727CONFIG_FILE_LOCKING=y
1728CONFIG_FSNOTIFY=y
1519CONFIG_DNOTIFY=y 1729CONFIG_DNOTIFY=y
1520CONFIG_INOTIFY=y 1730CONFIG_INOTIFY=y
1521CONFIG_INOTIFY_USER=y 1731CONFIG_INOTIFY_USER=y
@@ -1525,6 +1735,11 @@ CONFIG_AUTOFS4_FS=y
1525# CONFIG_FUSE_FS is not set 1735# CONFIG_FUSE_FS is not set
1526 1736
1527# 1737#
1738# Caches
1739#
1740# CONFIG_FSCACHE is not set
1741
1742#
1528# CD-ROM/DVD Filesystems 1743# CD-ROM/DVD Filesystems
1529# 1744#
1530CONFIG_ISO9660_FS=y 1745CONFIG_ISO9660_FS=y
@@ -1549,16 +1764,14 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1549CONFIG_PROC_FS=y 1764CONFIG_PROC_FS=y
1550CONFIG_PROC_KCORE=y 1765CONFIG_PROC_KCORE=y
1551CONFIG_PROC_SYSCTL=y 1766CONFIG_PROC_SYSCTL=y
1767CONFIG_PROC_PAGE_MONITOR=y
1552CONFIG_SYSFS=y 1768CONFIG_SYSFS=y
1553CONFIG_TMPFS=y 1769CONFIG_TMPFS=y
1554# CONFIG_TMPFS_POSIX_ACL is not set 1770# CONFIG_TMPFS_POSIX_ACL is not set
1555CONFIG_HUGETLBFS=y 1771CONFIG_HUGETLBFS=y
1556CONFIG_HUGETLB_PAGE=y 1772CONFIG_HUGETLB_PAGE=y
1557CONFIG_CONFIGFS_FS=y 1773CONFIG_CONFIGFS_FS=y
1558 1774CONFIG_MISC_FILESYSTEMS=y
1559#
1560# Miscellaneous filesystems
1561#
1562# CONFIG_ADFS_FS is not set 1775# CONFIG_ADFS_FS is not set
1563# CONFIG_AFFS_FS is not set 1776# CONFIG_AFFS_FS is not set
1564# CONFIG_HFS_FS is not set 1777# CONFIG_HFS_FS is not set
@@ -1578,8 +1791,10 @@ CONFIG_JFFS2_ZLIB=y
1578CONFIG_JFFS2_RTIME=y 1791CONFIG_JFFS2_RTIME=y
1579# CONFIG_JFFS2_RUBIN is not set 1792# CONFIG_JFFS2_RUBIN is not set
1580# CONFIG_CRAMFS is not set 1793# CONFIG_CRAMFS is not set
1794# CONFIG_SQUASHFS is not set
1581# CONFIG_VXFS_FS is not set 1795# CONFIG_VXFS_FS is not set
1582# CONFIG_MINIX_FS is not set 1796# CONFIG_MINIX_FS is not set
1797# CONFIG_OMFS_FS is not set
1583# CONFIG_HPFS_FS is not set 1798# CONFIG_HPFS_FS is not set
1584# CONFIG_QNX4FS_FS is not set 1799# CONFIG_QNX4FS_FS is not set
1585# CONFIG_ROMFS_FS is not set 1800# CONFIG_ROMFS_FS is not set
@@ -1590,18 +1805,17 @@ CONFIG_NFS_FS=y
1590CONFIG_NFS_V3=y 1805CONFIG_NFS_V3=y
1591# CONFIG_NFS_V3_ACL is not set 1806# CONFIG_NFS_V3_ACL is not set
1592# CONFIG_NFS_V4 is not set 1807# CONFIG_NFS_V4 is not set
1808CONFIG_ROOT_NFS=y
1593CONFIG_NFSD=y 1809CONFIG_NFSD=y
1594CONFIG_NFSD_V3=y 1810CONFIG_NFSD_V3=y
1595# CONFIG_NFSD_V3_ACL is not set 1811# CONFIG_NFSD_V3_ACL is not set
1596CONFIG_NFSD_V4=y 1812CONFIG_NFSD_V4=y
1597CONFIG_ROOT_NFS=y
1598CONFIG_LOCKD=y 1813CONFIG_LOCKD=y
1599CONFIG_LOCKD_V4=y 1814CONFIG_LOCKD_V4=y
1600CONFIG_EXPORTFS=y 1815CONFIG_EXPORTFS=y
1601CONFIG_NFS_COMMON=y 1816CONFIG_NFS_COMMON=y
1602CONFIG_SUNRPC=y 1817CONFIG_SUNRPC=y
1603CONFIG_SUNRPC_GSS=y 1818CONFIG_SUNRPC_GSS=y
1604# CONFIG_SUNRPC_BIND34 is not set
1605CONFIG_RPCSEC_GSS_KRB5=y 1819CONFIG_RPCSEC_GSS_KRB5=y
1606# CONFIG_RPCSEC_GSS_SPKM3 is not set 1820# CONFIG_RPCSEC_GSS_SPKM3 is not set
1607# CONFIG_SMB_FS is not set 1821# CONFIG_SMB_FS is not set
@@ -1672,25 +1886,30 @@ CONFIG_NLS_ISO8859_1=y
1672# CONFIG_NLS_KOI8_U is not set 1886# CONFIG_NLS_KOI8_U is not set
1673# CONFIG_NLS_UTF8 is not set 1887# CONFIG_NLS_UTF8 is not set
1674# CONFIG_DLM is not set 1888# CONFIG_DLM is not set
1889CONFIG_BINARY_PRINTF=y
1675 1890
1676# 1891#
1677# Library routines 1892# Library routines
1678# 1893#
1679CONFIG_BITREVERSE=y 1894CONFIG_BITREVERSE=y
1680# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1895CONFIG_GENERIC_FIND_LAST_BIT=y
1681CONFIG_CRC_CCITT=y 1896CONFIG_CRC_CCITT=y
1682# CONFIG_CRC16 is not set 1897# CONFIG_CRC16 is not set
1898# CONFIG_CRC_T10DIF is not set
1683CONFIG_CRC_ITU_T=y 1899CONFIG_CRC_ITU_T=y
1684CONFIG_CRC32=y 1900CONFIG_CRC32=y
1685# CONFIG_CRC7 is not set 1901# CONFIG_CRC7 is not set
1686CONFIG_LIBCRC32C=m 1902# CONFIG_LIBCRC32C is not set
1687CONFIG_ZLIB_INFLATE=y 1903CONFIG_ZLIB_INFLATE=y
1688CONFIG_ZLIB_DEFLATE=y 1904CONFIG_ZLIB_DEFLATE=y
1689CONFIG_PLIST=y 1905CONFIG_DECOMPRESS_GZIP=y
1906CONFIG_DECOMPRESS_BZIP2=y
1907CONFIG_DECOMPRESS_LZMA=y
1690CONFIG_HAS_IOMEM=y 1908CONFIG_HAS_IOMEM=y
1691CONFIG_HAS_IOPORT=y 1909CONFIG_HAS_IOPORT=y
1692CONFIG_HAS_DMA=y 1910CONFIG_HAS_DMA=y
1693CONFIG_HAVE_LMB=y 1911CONFIG_HAVE_LMB=y
1912CONFIG_NLATTR=y
1694 1913
1695# 1914#
1696# Kernel hacking 1915# Kernel hacking
@@ -1700,18 +1919,25 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1700CONFIG_ENABLE_MUST_CHECK=y 1919CONFIG_ENABLE_MUST_CHECK=y
1701CONFIG_FRAME_WARN=2048 1920CONFIG_FRAME_WARN=2048
1702CONFIG_MAGIC_SYSRQ=y 1921CONFIG_MAGIC_SYSRQ=y
1922# CONFIG_STRIP_ASM_SYMS is not set
1703# CONFIG_UNUSED_SYMBOLS is not set 1923# CONFIG_UNUSED_SYMBOLS is not set
1704# CONFIG_DEBUG_FS is not set 1924CONFIG_DEBUG_FS=y
1705# CONFIG_HEADERS_CHECK is not set 1925# CONFIG_HEADERS_CHECK is not set
1706CONFIG_DEBUG_KERNEL=y 1926CONFIG_DEBUG_KERNEL=y
1707# CONFIG_DEBUG_SHIRQ is not set 1927# CONFIG_DEBUG_SHIRQ is not set
1708CONFIG_DETECT_SOFTLOCKUP=y 1928CONFIG_DETECT_SOFTLOCKUP=y
1929# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1930CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1931CONFIG_DETECT_HUNG_TASK=y
1932# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1933CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1709# CONFIG_SCHED_DEBUG is not set 1934# CONFIG_SCHED_DEBUG is not set
1710# CONFIG_SCHEDSTATS is not set 1935# CONFIG_SCHEDSTATS is not set
1711# CONFIG_TIMER_STATS is not set 1936# CONFIG_TIMER_STATS is not set
1712# CONFIG_DEBUG_OBJECTS is not set 1937# CONFIG_DEBUG_OBJECTS is not set
1713# CONFIG_SLUB_DEBUG_ON is not set 1938# CONFIG_SLUB_DEBUG_ON is not set
1714# CONFIG_SLUB_STATS is not set 1939# CONFIG_SLUB_STATS is not set
1940# CONFIG_DEBUG_KMEMLEAK is not set
1715# CONFIG_DEBUG_RT_MUTEXES is not set 1941# CONFIG_DEBUG_RT_MUTEXES is not set
1716# CONFIG_RT_MUTEX_TESTER is not set 1942# CONFIG_RT_MUTEX_TESTER is not set
1717# CONFIG_DEBUG_SPINLOCK is not set 1943# CONFIG_DEBUG_SPINLOCK is not set
@@ -1721,26 +1947,71 @@ CONFIG_DETECT_SOFTLOCKUP=y
1721# CONFIG_LOCK_STAT is not set 1947# CONFIG_LOCK_STAT is not set
1722# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1948# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1723# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1949# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1950CONFIG_STACKTRACE=y
1724# CONFIG_DEBUG_KOBJECT is not set 1951# CONFIG_DEBUG_KOBJECT is not set
1725CONFIG_DEBUG_BUGVERBOSE=y 1952CONFIG_DEBUG_BUGVERBOSE=y
1726# CONFIG_DEBUG_INFO is not set 1953# CONFIG_DEBUG_INFO is not set
1727# CONFIG_DEBUG_VM is not set 1954# CONFIG_DEBUG_VM is not set
1728# CONFIG_DEBUG_WRITECOUNT is not set 1955# CONFIG_DEBUG_WRITECOUNT is not set
1956CONFIG_DEBUG_MEMORY_INIT=y
1729# CONFIG_DEBUG_LIST is not set 1957# CONFIG_DEBUG_LIST is not set
1730# CONFIG_DEBUG_SG is not set 1958# CONFIG_DEBUG_SG is not set
1731# CONFIG_BOOT_PRINTK_DELAY is not set 1959# CONFIG_DEBUG_NOTIFIERS is not set
1960# CONFIG_DEBUG_CREDENTIALS is not set
1732# CONFIG_RCU_TORTURE_TEST is not set 1961# CONFIG_RCU_TORTURE_TEST is not set
1962# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1733# CONFIG_BACKTRACE_SELF_TEST is not set 1963# CONFIG_BACKTRACE_SELF_TEST is not set
1964# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1965# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1734# CONFIG_FAULT_INJECTION is not set 1966# CONFIG_FAULT_INJECTION is not set
1967# CONFIG_LATENCYTOP is not set
1968CONFIG_SYSCTL_SYSCALL_CHECK=y
1969# CONFIG_DEBUG_PAGEALLOC is not set
1970CONFIG_NOP_TRACER=y
1971CONFIG_HAVE_FUNCTION_TRACER=y
1972CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1973CONFIG_HAVE_DYNAMIC_FTRACE=y
1974CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1975CONFIG_RING_BUFFER=y
1976CONFIG_EVENT_TRACING=y
1977CONFIG_CONTEXT_SWITCH_TRACER=y
1978CONFIG_RING_BUFFER_ALLOW_SWAP=y
1979CONFIG_TRACING=y
1980CONFIG_TRACING_SUPPORT=y
1981CONFIG_FTRACE=y
1982# CONFIG_FUNCTION_TRACER is not set
1983# CONFIG_IRQSOFF_TRACER is not set
1984# CONFIG_SCHED_TRACER is not set
1985# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1986# CONFIG_BOOT_TRACER is not set
1987CONFIG_BRANCH_PROFILE_NONE=y
1988# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1989# CONFIG_PROFILE_ALL_BRANCHES is not set
1990# CONFIG_STACK_TRACER is not set
1991# CONFIG_KMEMTRACE is not set
1992# CONFIG_WORKQUEUE_TRACER is not set
1993# CONFIG_BLK_DEV_IO_TRACE is not set
1994# CONFIG_RING_BUFFER_BENCHMARK is not set
1995# CONFIG_DYNAMIC_DEBUG is not set
1996# CONFIG_DMA_API_DEBUG is not set
1735# CONFIG_SAMPLES is not set 1997# CONFIG_SAMPLES is not set
1998CONFIG_HAVE_ARCH_KGDB=y
1999# CONFIG_KGDB is not set
2000# CONFIG_PPC_DISABLE_WERROR is not set
2001CONFIG_PPC_WERROR=y
2002CONFIG_PRINT_STACK_DEPTH=64
1736# CONFIG_DEBUG_STACKOVERFLOW is not set 2003# CONFIG_DEBUG_STACKOVERFLOW is not set
1737# CONFIG_DEBUG_STACK_USAGE is not set 2004# CONFIG_DEBUG_STACK_USAGE is not set
1738# CONFIG_DEBUG_PAGEALLOC is not set 2005# CONFIG_PPC_EMULATED_STATS is not set
1739CONFIG_DEBUGGER=y 2006# CONFIG_CODE_PATCHING_SELFTEST is not set
2007# CONFIG_FTR_FIXUP_SELFTEST is not set
2008# CONFIG_MSI_BITMAP_SELFTEST is not set
1740CONFIG_XMON=y 2009CONFIG_XMON=y
1741CONFIG_XMON_DEFAULT=y 2010CONFIG_XMON_DEFAULT=y
1742CONFIG_XMON_DISASSEMBLY=y 2011CONFIG_XMON_DISASSEMBLY=y
2012CONFIG_DEBUGGER=y
1743# CONFIG_IRQSTACKS is not set 2013# CONFIG_IRQSTACKS is not set
2014# CONFIG_VIRQ_DEBUG is not set
1744# CONFIG_BOOTX_TEXT is not set 2015# CONFIG_BOOTX_TEXT is not set
1745# CONFIG_PPC_EARLY_DEBUG is not set 2016# CONFIG_PPC_EARLY_DEBUG is not set
1746 2017
@@ -1749,23 +2020,34 @@ CONFIG_XMON_DISASSEMBLY=y
1749# 2020#
1750# CONFIG_KEYS is not set 2021# CONFIG_KEYS is not set
1751# CONFIG_SECURITY is not set 2022# CONFIG_SECURITY is not set
2023# CONFIG_SECURITYFS is not set
1752# CONFIG_SECURITY_FILE_CAPABILITIES is not set 2024# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1753CONFIG_XOR_BLOCKS=y 2025CONFIG_XOR_BLOCKS=y
1754CONFIG_ASYNC_CORE=y 2026CONFIG_ASYNC_CORE=y
1755CONFIG_ASYNC_MEMCPY=y 2027CONFIG_ASYNC_MEMCPY=y
1756CONFIG_ASYNC_XOR=y 2028CONFIG_ASYNC_XOR=y
2029CONFIG_ASYNC_PQ=y
2030CONFIG_ASYNC_RAID6_RECOV=y
1757CONFIG_CRYPTO=y 2031CONFIG_CRYPTO=y
1758 2032
1759# 2033#
1760# Crypto core or helper 2034# Crypto core or helper
1761# 2035#
1762CONFIG_CRYPTO_ALGAPI=y 2036CONFIG_CRYPTO_ALGAPI=y
2037CONFIG_CRYPTO_ALGAPI2=y
1763CONFIG_CRYPTO_AEAD=y 2038CONFIG_CRYPTO_AEAD=y
2039CONFIG_CRYPTO_AEAD2=y
1764CONFIG_CRYPTO_BLKCIPHER=y 2040CONFIG_CRYPTO_BLKCIPHER=y
2041CONFIG_CRYPTO_BLKCIPHER2=y
1765CONFIG_CRYPTO_HASH=y 2042CONFIG_CRYPTO_HASH=y
2043CONFIG_CRYPTO_HASH2=y
2044CONFIG_CRYPTO_RNG2=y
2045CONFIG_CRYPTO_PCOMP=y
1766CONFIG_CRYPTO_MANAGER=y 2046CONFIG_CRYPTO_MANAGER=y
2047CONFIG_CRYPTO_MANAGER2=y
1767# CONFIG_CRYPTO_GF128MUL is not set 2048# CONFIG_CRYPTO_GF128MUL is not set
1768# CONFIG_CRYPTO_NULL is not set 2049# CONFIG_CRYPTO_NULL is not set
2050CONFIG_CRYPTO_WORKQUEUE=y
1769# CONFIG_CRYPTO_CRYPTD is not set 2051# CONFIG_CRYPTO_CRYPTD is not set
1770CONFIG_CRYPTO_AUTHENC=y 2052CONFIG_CRYPTO_AUTHENC=y
1771# CONFIG_CRYPTO_TEST is not set 2053# CONFIG_CRYPTO_TEST is not set
@@ -1793,14 +2075,20 @@ CONFIG_CRYPTO_CBC=y
1793# 2075#
1794CONFIG_CRYPTO_HMAC=y 2076CONFIG_CRYPTO_HMAC=y
1795# CONFIG_CRYPTO_XCBC is not set 2077# CONFIG_CRYPTO_XCBC is not set
2078# CONFIG_CRYPTO_VMAC is not set
1796 2079
1797# 2080#
1798# Digest 2081# Digest
1799# 2082#
1800# CONFIG_CRYPTO_CRC32C is not set 2083# CONFIG_CRYPTO_CRC32C is not set
2084# CONFIG_CRYPTO_GHASH is not set
1801CONFIG_CRYPTO_MD4=y 2085CONFIG_CRYPTO_MD4=y
1802CONFIG_CRYPTO_MD5=y 2086CONFIG_CRYPTO_MD5=y
1803# CONFIG_CRYPTO_MICHAEL_MIC is not set 2087# CONFIG_CRYPTO_MICHAEL_MIC is not set
2088# CONFIG_CRYPTO_RMD128 is not set
2089# CONFIG_CRYPTO_RMD160 is not set
2090# CONFIG_CRYPTO_RMD256 is not set
2091# CONFIG_CRYPTO_RMD320 is not set
1804CONFIG_CRYPTO_SHA1=y 2092CONFIG_CRYPTO_SHA1=y
1805CONFIG_CRYPTO_SHA256=y 2093CONFIG_CRYPTO_SHA256=y
1806CONFIG_CRYPTO_SHA512=y 2094CONFIG_CRYPTO_SHA512=y
@@ -1830,7 +2118,13 @@ CONFIG_CRYPTO_DES=y
1830# Compression 2118# Compression
1831# 2119#
1832# CONFIG_CRYPTO_DEFLATE is not set 2120# CONFIG_CRYPTO_DEFLATE is not set
2121# CONFIG_CRYPTO_ZLIB is not set
1833# CONFIG_CRYPTO_LZO is not set 2122# CONFIG_CRYPTO_LZO is not set
2123
2124#
2125# Random Number Generation
2126#
2127# CONFIG_CRYPTO_ANSI_CPRNG is not set
1834CONFIG_CRYPTO_HW=y 2128CONFIG_CRYPTO_HW=y
1835# CONFIG_CRYPTO_DEV_HIFN_795X is not set 2129# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1836# CONFIG_PPC_CLOCK is not set 2130# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index ff96bb43c32d..b7911216af78 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:00 2009 4# Thu Nov 5 08:20:17 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
34CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
38CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
39CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -82,11 +83,12 @@ CONFIG_SYSVIPC_SYSCTL=y
82# 83#
83# RCU Subsystem 84# RCU Subsystem
84# 85#
85CONFIG_CLASSIC_RCU=y 86CONFIG_TREE_RCU=y
86# CONFIG_TREE_RCU is not set 87# CONFIG_TREE_PREEMPT_RCU is not set
87# CONFIG_PREEMPT_RCU is not set 88# CONFIG_RCU_TRACE is not set
89CONFIG_RCU_FANOUT=32
90# CONFIG_RCU_FANOUT_EXACT is not set
88# CONFIG_TREE_RCU_TRACE is not set 91# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
90CONFIG_IKCONFIG=y 92CONFIG_IKCONFIG=y
91CONFIG_IKCONFIG_PROC=y 93CONFIG_IKCONFIG_PROC=y
92CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
@@ -120,29 +122,30 @@ CONFIG_TIMERFD=y
120CONFIG_EVENTFD=y 122CONFIG_EVENTFD=y
121CONFIG_SHMEM=y 123CONFIG_SHMEM=y
122CONFIG_AIO=y 124CONFIG_AIO=y
123CONFIG_HAVE_PERF_COUNTERS=y 125CONFIG_HAVE_PERF_EVENTS=y
124 126
125# 127#
126# Performance Counters 128# Kernel Performance Events And Counters
127# 129#
130# CONFIG_PERF_EVENTS is not set
128# CONFIG_PERF_COUNTERS is not set 131# CONFIG_PERF_COUNTERS is not set
129CONFIG_VM_EVENT_COUNTERS=y 132CONFIG_VM_EVENT_COUNTERS=y
130CONFIG_PCI_QUIRKS=y 133CONFIG_PCI_QUIRKS=y
131CONFIG_SLUB_DEBUG=y 134CONFIG_SLUB_DEBUG=y
132# CONFIG_STRIP_ASM_SYMS is not set
133CONFIG_COMPAT_BRK=y 135CONFIG_COMPAT_BRK=y
134# CONFIG_SLAB is not set 136# CONFIG_SLAB is not set
135CONFIG_SLUB=y 137CONFIG_SLUB=y
136# CONFIG_SLOB is not set 138# CONFIG_SLOB is not set
137# CONFIG_PROFILING is not set 139# CONFIG_PROFILING is not set
138# CONFIG_MARKERS is not set
139CONFIG_HAVE_OPROFILE=y 140CONFIG_HAVE_OPROFILE=y
140CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 141CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
141CONFIG_HAVE_IOREMAP_PROT=y 142CONFIG_HAVE_IOREMAP_PROT=y
142CONFIG_HAVE_KPROBES=y 143CONFIG_HAVE_KPROBES=y
143CONFIG_HAVE_KRETPROBES=y 144CONFIG_HAVE_KRETPROBES=y
144CONFIG_HAVE_ARCH_TRACEHOOK=y 145CONFIG_HAVE_ARCH_TRACEHOOK=y
146CONFIG_HAVE_DMA_ATTRS=y
145CONFIG_HAVE_CLK=y 147CONFIG_HAVE_CLK=y
148CONFIG_HAVE_DMA_API_DEBUG=y
146 149
147# 150#
148# GCOV-based kernel profiling 151# GCOV-based kernel profiling
@@ -155,6 +158,7 @@ CONFIG_BASE_SMALL=0
155# CONFIG_MODULES is not set 158# CONFIG_MODULES is not set
156CONFIG_BLOCK=y 159CONFIG_BLOCK=y
157CONFIG_LBDAF=y 160CONFIG_LBDAF=y
161CONFIG_BLK_DEV_BSG=y
158# CONFIG_BLK_DEV_INTEGRITY is not set 162# CONFIG_BLK_DEV_INTEGRITY is not set
159 163
160# 164#
@@ -239,6 +243,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
239CONFIG_ARCH_HAS_WALK_MEMORY=y 243CONFIG_ARCH_HAS_WALK_MEMORY=y
240CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 244CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
241# CONFIG_CRASH_DUMP is not set 245# CONFIG_CRASH_DUMP is not set
246CONFIG_MAX_ACTIVE_REGIONS=32
242CONFIG_ARCH_FLATMEM_ENABLE=y 247CONFIG_ARCH_FLATMEM_ENABLE=y
243CONFIG_ARCH_POPULATES_NODE_MAP=y 248CONFIG_ARCH_POPULATES_NODE_MAP=y
244CONFIG_FLATMEM=y 249CONFIG_FLATMEM=y
@@ -252,6 +257,7 @@ CONFIG_BOUNCE=y
252CONFIG_VIRT_TO_BUS=y 257CONFIG_VIRT_TO_BUS=y
253CONFIG_HAVE_MLOCK=y 258CONFIG_HAVE_MLOCK=y
254CONFIG_HAVE_MLOCKED_PAGE_BIT=y 259CONFIG_HAVE_MLOCKED_PAGE_BIT=y
260# CONFIG_KSM is not set
255CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 261CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
256CONFIG_PPC_4K_PAGES=y 262CONFIG_PPC_4K_PAGES=y
257# CONFIG_PPC_16K_PAGES is not set 263# CONFIG_PPC_16K_PAGES is not set
@@ -401,6 +407,7 @@ CONFIG_NETFILTER_ADVANCED=y
401# CONFIG_BT is not set 407# CONFIG_BT is not set
402CONFIG_WIRELESS=y 408CONFIG_WIRELESS=y
403# CONFIG_CFG80211 is not set 409# CONFIG_CFG80211 is not set
410CONFIG_CFG80211_DEFAULT_PS_VALUE=0
404CONFIG_WIRELESS_OLD_REGULATORY=y 411CONFIG_WIRELESS_OLD_REGULATORY=y
405# CONFIG_WIRELESS_EXT is not set 412# CONFIG_WIRELESS_EXT is not set
406# CONFIG_LIB80211 is not set 413# CONFIG_LIB80211 is not set
@@ -408,7 +415,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
408# 415#
409# CFG80211 needs to be enabled for MAC80211 416# CFG80211 needs to be enabled for MAC80211
410# 417#
411CONFIG_MAC80211_DEFAULT_PS_VALUE=0
412# CONFIG_WIMAX is not set 418# CONFIG_WIMAX is not set
413# CONFIG_RFKILL is not set 419# CONFIG_RFKILL is not set
414 420
@@ -420,6 +426,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
420# Generic Driver Options 426# Generic Driver Options
421# 427#
422CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 428CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
429# CONFIG_DEVTMPFS is not set
423CONFIG_STANDALONE=y 430CONFIG_STANDALONE=y
424CONFIG_PREVENT_FIRMWARE_BUILD=y 431CONFIG_PREVENT_FIRMWARE_BUILD=y
425# CONFIG_FW_LOADER is not set 432# CONFIG_FW_LOADER is not set
@@ -481,7 +488,6 @@ CONFIG_MTD_CFI_UTIL=y
481# CONFIG_MTD_COMPLEX_MAPPINGS is not set 488# CONFIG_MTD_COMPLEX_MAPPINGS is not set
482# CONFIG_MTD_PHYSMAP is not set 489# CONFIG_MTD_PHYSMAP is not set
483CONFIG_MTD_PHYSMAP_OF=y 490CONFIG_MTD_PHYSMAP_OF=y
484# CONFIG_MTD_SBC8240 is not set
485# CONFIG_MTD_INTEL_VR_NOR is not set 491# CONFIG_MTD_INTEL_VR_NOR is not set
486# CONFIG_MTD_PLATRAM is not set 492# CONFIG_MTD_PLATRAM is not set
487 493
@@ -664,7 +670,9 @@ CONFIG_MII=y
664# CONFIG_NET_PCI is not set 670# CONFIG_NET_PCI is not set
665# CONFIG_B44 is not set 671# CONFIG_B44 is not set
666# CONFIG_KS8842 is not set 672# CONFIG_KS8842 is not set
673# CONFIG_KS8851_MLL is not set
667# CONFIG_ATL2 is not set 674# CONFIG_ATL2 is not set
675# CONFIG_XILINX_EMACLITE is not set
668CONFIG_FS_ENET=y 676CONFIG_FS_ENET=y
669# CONFIG_FS_ENET_HAS_SCC is not set 677# CONFIG_FS_ENET_HAS_SCC is not set
670CONFIG_FS_ENET_HAS_FCC=y 678CONFIG_FS_ENET_HAS_FCC=y
@@ -712,10 +720,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
712# CONFIG_SFC is not set 720# CONFIG_SFC is not set
713# CONFIG_BE2NET is not set 721# CONFIG_BE2NET is not set
714# CONFIG_TR is not set 722# CONFIG_TR is not set
715 723CONFIG_WLAN=y
716#
717# Wireless LAN
718#
719# CONFIG_WLAN_PRE80211 is not set 724# CONFIG_WLAN_PRE80211 is not set
720# CONFIG_WLAN_80211 is not set 725# CONFIG_WLAN_80211 is not set
721 726
@@ -764,6 +769,7 @@ CONFIG_KEYBOARD_ATKBD=y
764# CONFIG_KEYBOARD_GPIO is not set 769# CONFIG_KEYBOARD_GPIO is not set
765# CONFIG_KEYBOARD_MATRIX is not set 770# CONFIG_KEYBOARD_MATRIX is not set
766# CONFIG_KEYBOARD_NEWTON is not set 771# CONFIG_KEYBOARD_NEWTON is not set
772# CONFIG_KEYBOARD_OPENCORES is not set
767# CONFIG_KEYBOARD_STOWAWAY is not set 773# CONFIG_KEYBOARD_STOWAWAY is not set
768# CONFIG_KEYBOARD_SUNKBD is not set 774# CONFIG_KEYBOARD_SUNKBD is not set
769# CONFIG_KEYBOARD_XTKBD is not set 775# CONFIG_KEYBOARD_XTKBD is not set
@@ -774,6 +780,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
774CONFIG_MOUSE_PS2_SYNAPTICS=y 780CONFIG_MOUSE_PS2_SYNAPTICS=y
775CONFIG_MOUSE_PS2_TRACKPOINT=y 781CONFIG_MOUSE_PS2_TRACKPOINT=y
776# CONFIG_MOUSE_PS2_ELANTECH is not set 782# CONFIG_MOUSE_PS2_ELANTECH is not set
783# CONFIG_MOUSE_PS2_SENTELIC is not set
777# CONFIG_MOUSE_PS2_TOUCHKIT is not set 784# CONFIG_MOUSE_PS2_TOUCHKIT is not set
778# CONFIG_MOUSE_SERIAL is not set 785# CONFIG_MOUSE_SERIAL is not set
779# CONFIG_MOUSE_APPLETOUCH is not set 786# CONFIG_MOUSE_APPLETOUCH is not set
@@ -855,15 +862,19 @@ CONFIG_GPIOLIB=y
855# PCI GPIO expanders: 862# PCI GPIO expanders:
856# 863#
857# CONFIG_GPIO_BT8XX is not set 864# CONFIG_GPIO_BT8XX is not set
865# CONFIG_GPIO_LANGWELL is not set
858 866
859# 867#
860# SPI GPIO expanders: 868# SPI GPIO expanders:
861# 869#
870
871#
872# AC97 GPIO expanders:
873#
862# CONFIG_W1 is not set 874# CONFIG_W1 is not set
863# CONFIG_POWER_SUPPLY is not set 875# CONFIG_POWER_SUPPLY is not set
864# CONFIG_HWMON is not set 876# CONFIG_HWMON is not set
865# CONFIG_THERMAL is not set 877# CONFIG_THERMAL is not set
866# CONFIG_THERMAL_HWMON is not set
867# CONFIG_WATCHDOG is not set 878# CONFIG_WATCHDOG is not set
868CONFIG_SSB_POSSIBLE=y 879CONFIG_SSB_POSSIBLE=y
869 880
@@ -886,6 +897,7 @@ CONFIG_SSB_POSSIBLE=y
886# Graphics support 897# Graphics support
887# 898#
888# CONFIG_AGP is not set 899# CONFIG_AGP is not set
900CONFIG_VGA_ARB=y
889# CONFIG_DRM is not set 901# CONFIG_DRM is not set
890# CONFIG_VGASTATE is not set 902# CONFIG_VGASTATE is not set
891CONFIG_VIDEO_OUTPUT_CONTROL=y 903CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -905,7 +917,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
905# CONFIG_USB is not set 917# CONFIG_USB is not set
906# CONFIG_USB_OTG_WHITELIST is not set 918# CONFIG_USB_OTG_WHITELIST is not set
907# CONFIG_USB_OTG_BLACKLIST_HUB is not set 919# CONFIG_USB_OTG_BLACKLIST_HUB is not set
908# CONFIG_USB_MUSB_HDRC is not set
909# CONFIG_USB_GADGET_MUSB_HDRC is not set 920# CONFIG_USB_GADGET_MUSB_HDRC is not set
910 921
911# 922#
@@ -922,6 +933,7 @@ CONFIG_USB_GADGET_SELECTED=y
922# CONFIG_USB_GADGET_LH7A40X is not set 933# CONFIG_USB_GADGET_LH7A40X is not set
923# CONFIG_USB_GADGET_OMAP is not set 934# CONFIG_USB_GADGET_OMAP is not set
924# CONFIG_USB_GADGET_PXA25X is not set 935# CONFIG_USB_GADGET_PXA25X is not set
936# CONFIG_USB_GADGET_R8A66597 is not set
925# CONFIG_USB_GADGET_PXA27X is not set 937# CONFIG_USB_GADGET_PXA27X is not set
926# CONFIG_USB_GADGET_S3C_HSOTG is not set 938# CONFIG_USB_GADGET_S3C_HSOTG is not set
927# CONFIG_USB_GADGET_IMX is not set 939# CONFIG_USB_GADGET_IMX is not set
@@ -940,6 +952,7 @@ CONFIG_USB_GADGET_DUALSPEED=y
940# CONFIG_USB_AUDIO is not set 952# CONFIG_USB_AUDIO is not set
941CONFIG_USB_ETH=y 953CONFIG_USB_ETH=y
942CONFIG_USB_ETH_RNDIS=y 954CONFIG_USB_ETH_RNDIS=y
955# CONFIG_USB_ETH_EEM is not set
943# CONFIG_USB_GADGETFS is not set 956# CONFIG_USB_GADGETFS is not set
944# CONFIG_USB_FILE_STORAGE is not set 957# CONFIG_USB_FILE_STORAGE is not set
945# CONFIG_USB_G_SERIAL is not set 958# CONFIG_USB_G_SERIAL is not set
@@ -1148,6 +1161,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1148CONFIG_ENABLE_MUST_CHECK=y 1161CONFIG_ENABLE_MUST_CHECK=y
1149CONFIG_FRAME_WARN=1024 1162CONFIG_FRAME_WARN=1024
1150CONFIG_MAGIC_SYSRQ=y 1163CONFIG_MAGIC_SYSRQ=y
1164# CONFIG_STRIP_ASM_SYMS is not set
1151# CONFIG_UNUSED_SYMBOLS is not set 1165# CONFIG_UNUSED_SYMBOLS is not set
1152# CONFIG_DEBUG_FS is not set 1166# CONFIG_DEBUG_FS is not set
1153# CONFIG_HEADERS_CHECK is not set 1167# CONFIG_HEADERS_CHECK is not set
@@ -1183,10 +1197,12 @@ CONFIG_DEBUG_INFO=y
1183# CONFIG_DEBUG_LIST is not set 1197# CONFIG_DEBUG_LIST is not set
1184# CONFIG_DEBUG_SG is not set 1198# CONFIG_DEBUG_SG is not set
1185# CONFIG_DEBUG_NOTIFIERS is not set 1199# CONFIG_DEBUG_NOTIFIERS is not set
1200# CONFIG_DEBUG_CREDENTIALS is not set
1186# CONFIG_RCU_TORTURE_TEST is not set 1201# CONFIG_RCU_TORTURE_TEST is not set
1187# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1202# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1188# CONFIG_BACKTRACE_SELF_TEST is not set 1203# CONFIG_BACKTRACE_SELF_TEST is not set
1189# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1204# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1205# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1190# CONFIG_FAULT_INJECTION is not set 1206# CONFIG_FAULT_INJECTION is not set
1191# CONFIG_LATENCYTOP is not set 1207# CONFIG_LATENCYTOP is not set
1192CONFIG_SYSCTL_SYSCALL_CHECK=y 1208CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1209,6 +1225,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
1209# CONFIG_KMEMTRACE is not set 1225# CONFIG_KMEMTRACE is not set
1210# CONFIG_WORKQUEUE_TRACER is not set 1226# CONFIG_WORKQUEUE_TRACER is not set
1211# CONFIG_BLK_DEV_IO_TRACE is not set 1227# CONFIG_BLK_DEV_IO_TRACE is not set
1228# CONFIG_DMA_API_DEBUG is not set
1212# CONFIG_SAMPLES is not set 1229# CONFIG_SAMPLES is not set
1213CONFIG_HAVE_ARCH_KGDB=y 1230CONFIG_HAVE_ARCH_KGDB=y
1214# CONFIG_PPC_DISABLE_WERROR is not set 1231# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1237,7 +1254,6 @@ CONFIG_CRYPTO=y
1237# 1254#
1238# Crypto core or helper 1255# Crypto core or helper
1239# 1256#
1240# CONFIG_CRYPTO_FIPS is not set
1241CONFIG_CRYPTO_ALGAPI=y 1257CONFIG_CRYPTO_ALGAPI=y
1242CONFIG_CRYPTO_ALGAPI2=y 1258CONFIG_CRYPTO_ALGAPI2=y
1243CONFIG_CRYPTO_AEAD2=y 1259CONFIG_CRYPTO_AEAD2=y
@@ -1279,6 +1295,7 @@ CONFIG_CRYPTO_PCBC=y
1279# Digest 1295# Digest
1280# 1296#
1281# CONFIG_CRYPTO_CRC32C is not set 1297# CONFIG_CRYPTO_CRC32C is not set
1298# CONFIG_CRYPTO_GHASH is not set
1282# CONFIG_CRYPTO_MD4 is not set 1299# CONFIG_CRYPTO_MD4 is not set
1283CONFIG_CRYPTO_MD5=y 1300CONFIG_CRYPTO_MD5=y
1284# CONFIG_CRYPTO_MICHAEL_MIC is not set 1301# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index 1293c465d7fa..ef50ce45d50b 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:01 2009 4# Thu Nov 5 08:20:18 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -36,6 +36,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
39# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
40CONFIG_STACKTRACE_SUPPORT=y 41CONFIG_STACKTRACE_SUPPORT=y
41CONFIG_HAVE_LATENCYTOP_SUPPORT=y 42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -85,11 +86,12 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
85# 86#
86# RCU Subsystem 87# RCU Subsystem
87# 88#
88CONFIG_CLASSIC_RCU=y 89CONFIG_TREE_RCU=y
89# CONFIG_TREE_RCU is not set 90# CONFIG_TREE_PREEMPT_RCU is not set
90# CONFIG_PREEMPT_RCU is not set 91# CONFIG_RCU_TRACE is not set
92CONFIG_RCU_FANOUT=32
93# CONFIG_RCU_FANOUT_EXACT is not set
91# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_PREEMPT_RCU_TRACE is not set
93# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
94CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
95CONFIG_GROUP_SCHED=y 97CONFIG_GROUP_SCHED=y
@@ -131,28 +133,29 @@ CONFIG_TIMERFD=y
131CONFIG_EVENTFD=y 133CONFIG_EVENTFD=y
132CONFIG_SHMEM=y 134CONFIG_SHMEM=y
133CONFIG_AIO=y 135CONFIG_AIO=y
134CONFIG_HAVE_PERF_COUNTERS=y 136CONFIG_HAVE_PERF_EVENTS=y
135 137
136# 138#
137# Performance Counters 139# Kernel Performance Events And Counters
138# 140#
141# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set 142# CONFIG_PERF_COUNTERS is not set
140CONFIG_VM_EVENT_COUNTERS=y 143CONFIG_VM_EVENT_COUNTERS=y
141CONFIG_PCI_QUIRKS=y 144CONFIG_PCI_QUIRKS=y
142CONFIG_SLUB_DEBUG=y 145CONFIG_SLUB_DEBUG=y
143# CONFIG_STRIP_ASM_SYMS is not set
144CONFIG_COMPAT_BRK=y 146CONFIG_COMPAT_BRK=y
145# CONFIG_SLAB is not set 147# CONFIG_SLAB is not set
146CONFIG_SLUB=y 148CONFIG_SLUB=y
147# CONFIG_SLOB is not set 149# CONFIG_SLOB is not set
148# CONFIG_PROFILING is not set 150# CONFIG_PROFILING is not set
149# CONFIG_MARKERS is not set
150CONFIG_HAVE_OPROFILE=y 151CONFIG_HAVE_OPROFILE=y
151CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 152CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
152CONFIG_HAVE_IOREMAP_PROT=y 153CONFIG_HAVE_IOREMAP_PROT=y
153CONFIG_HAVE_KPROBES=y 154CONFIG_HAVE_KPROBES=y
154CONFIG_HAVE_KRETPROBES=y 155CONFIG_HAVE_KRETPROBES=y
155CONFIG_HAVE_ARCH_TRACEHOOK=y 156CONFIG_HAVE_ARCH_TRACEHOOK=y
157CONFIG_HAVE_DMA_ATTRS=y
158CONFIG_HAVE_DMA_API_DEBUG=y
156 159
157# 160#
158# GCOV-based kernel profiling 161# GCOV-based kernel profiling
@@ -244,12 +247,12 @@ CONFIG_BINFMT_ELF=y
244CONFIG_BINFMT_MISC=y 247CONFIG_BINFMT_MISC=y
245# CONFIG_IOMMU_HELPER is not set 248# CONFIG_IOMMU_HELPER is not set
246# CONFIG_SWIOTLB is not set 249# CONFIG_SWIOTLB is not set
247CONFIG_PPC_NEED_DMA_SYNC_OPS=y
248CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 250CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
249CONFIG_ARCH_HAS_WALK_MEMORY=y 251CONFIG_ARCH_HAS_WALK_MEMORY=y
250CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 252CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
251# CONFIG_KEXEC is not set 253# CONFIG_KEXEC is not set
252# CONFIG_CRASH_DUMP is not set 254# CONFIG_CRASH_DUMP is not set
255CONFIG_MAX_ACTIVE_REGIONS=32
253CONFIG_ARCH_FLATMEM_ENABLE=y 256CONFIG_ARCH_FLATMEM_ENABLE=y
254CONFIG_ARCH_POPULATES_NODE_MAP=y 257CONFIG_ARCH_POPULATES_NODE_MAP=y
255CONFIG_SELECT_MEMORY_MODEL=y 258CONFIG_SELECT_MEMORY_MODEL=y
@@ -267,6 +270,7 @@ CONFIG_BOUNCE=y
267CONFIG_VIRT_TO_BUS=y 270CONFIG_VIRT_TO_BUS=y
268CONFIG_HAVE_MLOCK=y 271CONFIG_HAVE_MLOCK=y
269CONFIG_HAVE_MLOCKED_PAGE_BIT=y 272CONFIG_HAVE_MLOCKED_PAGE_BIT=y
273# CONFIG_KSM is not set
270CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 274CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
271CONFIG_PPC_4K_PAGES=y 275CONFIG_PPC_4K_PAGES=y
272# CONFIG_PPC_16K_PAGES is not set 276# CONFIG_PPC_16K_PAGES is not set
@@ -360,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
360# CONFIG_NETFILTER is not set 364# CONFIG_NETFILTER is not set
361# CONFIG_IP_DCCP is not set 365# CONFIG_IP_DCCP is not set
362# CONFIG_IP_SCTP is not set 366# CONFIG_IP_SCTP is not set
367# CONFIG_RDS is not set
363# CONFIG_TIPC is not set 368# CONFIG_TIPC is not set
364# CONFIG_ATM is not set 369# CONFIG_ATM is not set
365# CONFIG_BRIDGE is not set 370# CONFIG_BRIDGE is not set
@@ -389,6 +394,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
389# CONFIG_AF_RXRPC is not set 394# CONFIG_AF_RXRPC is not set
390CONFIG_WIRELESS=y 395CONFIG_WIRELESS=y
391# CONFIG_CFG80211 is not set 396# CONFIG_CFG80211 is not set
397CONFIG_CFG80211_DEFAULT_PS_VALUE=0
392CONFIG_WIRELESS_OLD_REGULATORY=y 398CONFIG_WIRELESS_OLD_REGULATORY=y
393# CONFIG_WIRELESS_EXT is not set 399# CONFIG_WIRELESS_EXT is not set
394# CONFIG_LIB80211 is not set 400# CONFIG_LIB80211 is not set
@@ -396,7 +402,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
396# 402#
397# CFG80211 needs to be enabled for MAC80211 403# CFG80211 needs to be enabled for MAC80211
398# 404#
399CONFIG_MAC80211_DEFAULT_PS_VALUE=0
400# CONFIG_WIMAX is not set 405# CONFIG_WIMAX is not set
401# CONFIG_RFKILL is not set 406# CONFIG_RFKILL is not set
402# CONFIG_NET_9P is not set 407# CONFIG_NET_9P is not set
@@ -409,6 +414,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
409# Generic Driver Options 414# Generic Driver Options
410# 415#
411CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 416CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
417# CONFIG_DEVTMPFS is not set
412CONFIG_STANDALONE=y 418CONFIG_STANDALONE=y
413CONFIG_PREVENT_FIRMWARE_BUILD=y 419CONFIG_PREVENT_FIRMWARE_BUILD=y
414CONFIG_FW_LOADER=y 420CONFIG_FW_LOADER=y
@@ -633,6 +639,7 @@ CONFIG_SCSI_LOWLEVEL=y
633# CONFIG_ISCSI_TCP is not set 639# CONFIG_ISCSI_TCP is not set
634# CONFIG_SCSI_CXGB3_ISCSI is not set 640# CONFIG_SCSI_CXGB3_ISCSI is not set
635# CONFIG_SCSI_BNX2_ISCSI is not set 641# CONFIG_SCSI_BNX2_ISCSI is not set
642# CONFIG_BE2ISCSI is not set
636# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 643# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
637# CONFIG_SCSI_3W_9XXX is not set 644# CONFIG_SCSI_3W_9XXX is not set
638# CONFIG_SCSI_ACARD is not set 645# CONFIG_SCSI_ACARD is not set
@@ -672,11 +679,14 @@ CONFIG_SCSI_LOWLEVEL=y
672# CONFIG_SCSI_DC390T is not set 679# CONFIG_SCSI_DC390T is not set
673# CONFIG_SCSI_NSP32 is not set 680# CONFIG_SCSI_NSP32 is not set
674# CONFIG_SCSI_DEBUG is not set 681# CONFIG_SCSI_DEBUG is not set
682# CONFIG_SCSI_PMCRAID is not set
675# CONFIG_SCSI_SRP is not set 683# CONFIG_SCSI_SRP is not set
684# CONFIG_SCSI_BFA_FC is not set
676# CONFIG_SCSI_DH is not set 685# CONFIG_SCSI_DH is not set
677# CONFIG_SCSI_OSD_INITIATOR is not set 686# CONFIG_SCSI_OSD_INITIATOR is not set
678CONFIG_ATA=y 687CONFIG_ATA=y
679# CONFIG_ATA_NONSTANDARD is not set 688# CONFIG_ATA_NONSTANDARD is not set
689CONFIG_ATA_VERBOSE_ERROR=y
680CONFIG_SATA_PMP=y 690CONFIG_SATA_PMP=y
681# CONFIG_SATA_AHCI is not set 691# CONFIG_SATA_AHCI is not set
682# CONFIG_SATA_SIL24 is not set 692# CONFIG_SATA_SIL24 is not set
@@ -698,6 +708,7 @@ CONFIG_SATA_MV=y
698# CONFIG_PATA_ALI is not set 708# CONFIG_PATA_ALI is not set
699# CONFIG_PATA_AMD is not set 709# CONFIG_PATA_AMD is not set
700# CONFIG_PATA_ARTOP is not set 710# CONFIG_PATA_ARTOP is not set
711# CONFIG_PATA_ATP867X is not set
701# CONFIG_PATA_ATIIXP is not set 712# CONFIG_PATA_ATIIXP is not set
702# CONFIG_PATA_CMD640_PCI is not set 713# CONFIG_PATA_CMD640_PCI is not set
703# CONFIG_PATA_CMD64X is not set 714# CONFIG_PATA_CMD64X is not set
@@ -725,6 +736,7 @@ CONFIG_SATA_MV=y
725# CONFIG_PATA_OPTIDMA is not set 736# CONFIG_PATA_OPTIDMA is not set
726# CONFIG_PATA_PDC_OLD is not set 737# CONFIG_PATA_PDC_OLD is not set
727# CONFIG_PATA_RADISYS is not set 738# CONFIG_PATA_RADISYS is not set
739# CONFIG_PATA_RDC is not set
728# CONFIG_PATA_RZ1000 is not set 740# CONFIG_PATA_RZ1000 is not set
729# CONFIG_PATA_SC1200 is not set 741# CONFIG_PATA_SC1200 is not set
730# CONFIG_PATA_SERVERWORKS is not set 742# CONFIG_PATA_SERVERWORKS is not set
@@ -823,9 +835,11 @@ CONFIG_8139TOO=y
823# CONFIG_SUNDANCE is not set 835# CONFIG_SUNDANCE is not set
824# CONFIG_TLAN is not set 836# CONFIG_TLAN is not set
825# CONFIG_KS8842 is not set 837# CONFIG_KS8842 is not set
838# CONFIG_KS8851_MLL is not set
826# CONFIG_VIA_RHINE is not set 839# CONFIG_VIA_RHINE is not set
827# CONFIG_SC92031 is not set 840# CONFIG_SC92031 is not set
828# CONFIG_ATL2 is not set 841# CONFIG_ATL2 is not set
842# CONFIG_XILINX_EMACLITE is not set
829CONFIG_NETDEV_1000=y 843CONFIG_NETDEV_1000=y
830# CONFIG_ACENIC is not set 844# CONFIG_ACENIC is not set
831# CONFIG_DL2K is not set 845# CONFIG_DL2K is not set
@@ -871,10 +885,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
871# CONFIG_SFC is not set 885# CONFIG_SFC is not set
872# CONFIG_BE2NET is not set 886# CONFIG_BE2NET is not set
873# CONFIG_TR is not set 887# CONFIG_TR is not set
874 888CONFIG_WLAN=y
875#
876# Wireless LAN
877#
878# CONFIG_WLAN_PRE80211 is not set 889# CONFIG_WLAN_PRE80211 is not set
879# CONFIG_WLAN_80211 is not set 890# CONFIG_WLAN_80211 is not set
880 891
@@ -977,6 +988,7 @@ CONFIG_LEGACY_PTY_COUNT=256
977CONFIG_DEVPORT=y 988CONFIG_DEVPORT=y
978CONFIG_I2C=y 989CONFIG_I2C=y
979CONFIG_I2C_BOARDINFO=y 990CONFIG_I2C_BOARDINFO=y
991CONFIG_I2C_COMPAT=y
980CONFIG_I2C_CHARDEV=y 992CONFIG_I2C_CHARDEV=y
981CONFIG_I2C_HELPER_AUTO=y 993CONFIG_I2C_HELPER_AUTO=y
982 994
@@ -1031,9 +1043,6 @@ CONFIG_I2C_MV64XXX=y
1031# Miscellaneous I2C Chip support 1043# Miscellaneous I2C Chip support
1032# 1044#
1033# CONFIG_DS1682 is not set 1045# CONFIG_DS1682 is not set
1034# CONFIG_SENSORS_PCF8574 is not set
1035# CONFIG_PCF8575 is not set
1036# CONFIG_SENSORS_PCA9539 is not set
1037# CONFIG_SENSORS_TSL2550 is not set 1046# CONFIG_SENSORS_TSL2550 is not set
1038# CONFIG_I2C_DEBUG_CORE is not set 1047# CONFIG_I2C_DEBUG_CORE is not set
1039# CONFIG_I2C_DEBUG_ALGO is not set 1048# CONFIG_I2C_DEBUG_ALGO is not set
@@ -1051,6 +1060,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1051# CONFIG_POWER_SUPPLY is not set 1060# CONFIG_POWER_SUPPLY is not set
1052CONFIG_HWMON=y 1061CONFIG_HWMON=y
1053# CONFIG_HWMON_VID is not set 1062# CONFIG_HWMON_VID is not set
1063# CONFIG_HWMON_DEBUG_CHIP is not set
1064
1065#
1066# Native drivers
1067#
1054# CONFIG_SENSORS_AD7414 is not set 1068# CONFIG_SENSORS_AD7414 is not set
1055# CONFIG_SENSORS_AD7418 is not set 1069# CONFIG_SENSORS_AD7418 is not set
1056# CONFIG_SENSORS_ADM1021 is not set 1070# CONFIG_SENSORS_ADM1021 is not set
@@ -1100,6 +1114,7 @@ CONFIG_HWMON=y
1100# CONFIG_SENSORS_ADS7828 is not set 1114# CONFIG_SENSORS_ADS7828 is not set
1101# CONFIG_SENSORS_THMC50 is not set 1115# CONFIG_SENSORS_THMC50 is not set
1102# CONFIG_SENSORS_TMP401 is not set 1116# CONFIG_SENSORS_TMP401 is not set
1117# CONFIG_SENSORS_TMP421 is not set
1103# CONFIG_SENSORS_VIA686A is not set 1118# CONFIG_SENSORS_VIA686A is not set
1104# CONFIG_SENSORS_VT1211 is not set 1119# CONFIG_SENSORS_VT1211 is not set
1105# CONFIG_SENSORS_VT8231 is not set 1120# CONFIG_SENSORS_VT8231 is not set
@@ -1111,9 +1126,7 @@ CONFIG_HWMON=y
1111# CONFIG_SENSORS_W83L786NG is not set 1126# CONFIG_SENSORS_W83L786NG is not set
1112# CONFIG_SENSORS_W83627HF is not set 1127# CONFIG_SENSORS_W83627HF is not set
1113# CONFIG_SENSORS_W83627EHF is not set 1128# CONFIG_SENSORS_W83627EHF is not set
1114# CONFIG_HWMON_DEBUG_CHIP is not set
1115# CONFIG_THERMAL is not set 1129# CONFIG_THERMAL is not set
1116# CONFIG_THERMAL_HWMON is not set
1117# CONFIG_WATCHDOG is not set 1130# CONFIG_WATCHDOG is not set
1118CONFIG_SSB_POSSIBLE=y 1131CONFIG_SSB_POSSIBLE=y
1119 1132
@@ -1132,6 +1145,7 @@ CONFIG_SSB_POSSIBLE=y
1132# CONFIG_MFD_TMIO is not set 1145# CONFIG_MFD_TMIO is not set
1133# CONFIG_PMIC_DA903X is not set 1146# CONFIG_PMIC_DA903X is not set
1134# CONFIG_MFD_WM8400 is not set 1147# CONFIG_MFD_WM8400 is not set
1148# CONFIG_MFD_WM831X is not set
1135# CONFIG_MFD_WM8350_I2C is not set 1149# CONFIG_MFD_WM8350_I2C is not set
1136# CONFIG_MFD_PCF50633 is not set 1150# CONFIG_MFD_PCF50633 is not set
1137# CONFIG_AB3100_CORE is not set 1151# CONFIG_AB3100_CORE is not set
@@ -1142,6 +1156,7 @@ CONFIG_SSB_POSSIBLE=y
1142# Graphics support 1156# Graphics support
1143# 1157#
1144# CONFIG_AGP is not set 1158# CONFIG_AGP is not set
1159CONFIG_VGA_ARB=y
1145# CONFIG_DRM is not set 1160# CONFIG_DRM is not set
1146# CONFIG_VGASTATE is not set 1161# CONFIG_VGASTATE is not set
1147CONFIG_VIDEO_OUTPUT_CONTROL=y 1162CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1162,7 +1177,6 @@ CONFIG_DUMMY_CONSOLE=y
1162# CONFIG_SOUND is not set 1177# CONFIG_SOUND is not set
1163CONFIG_HID_SUPPORT=y 1178CONFIG_HID_SUPPORT=y
1164CONFIG_HID=y 1179CONFIG_HID=y
1165# CONFIG_HID_DEBUG is not set
1166# CONFIG_HIDRAW is not set 1180# CONFIG_HIDRAW is not set
1167 1181
1168# 1182#
@@ -1186,6 +1200,7 @@ CONFIG_HID_DRAGONRISE=y
1186CONFIG_HID_EZKEY=y 1200CONFIG_HID_EZKEY=y
1187CONFIG_HID_KYE=y 1201CONFIG_HID_KYE=y
1188CONFIG_HID_GYRATION=y 1202CONFIG_HID_GYRATION=y
1203CONFIG_HID_TWINHAN=y
1189CONFIG_HID_KENSINGTON=y 1204CONFIG_HID_KENSINGTON=y
1190CONFIG_HID_LOGITECH=y 1205CONFIG_HID_LOGITECH=y
1191# CONFIG_LOGITECH_FF is not set 1206# CONFIG_LOGITECH_FF is not set
@@ -1239,6 +1254,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1239# CONFIG_USB_OXU210HP_HCD is not set 1254# CONFIG_USB_OXU210HP_HCD is not set
1240# CONFIG_USB_ISP116X_HCD is not set 1255# CONFIG_USB_ISP116X_HCD is not set
1241# CONFIG_USB_ISP1760_HCD is not set 1256# CONFIG_USB_ISP1760_HCD is not set
1257# CONFIG_USB_ISP1362_HCD is not set
1242CONFIG_USB_OHCI_HCD=y 1258CONFIG_USB_OHCI_HCD=y
1243# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set 1259# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set
1244# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1260# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1404,6 +1420,7 @@ CONFIG_FS_MBCACHE=y
1404# CONFIG_GFS2_FS is not set 1420# CONFIG_GFS2_FS is not set
1405# CONFIG_OCFS2_FS is not set 1421# CONFIG_OCFS2_FS is not set
1406# CONFIG_BTRFS_FS is not set 1422# CONFIG_BTRFS_FS is not set
1423# CONFIG_NILFS2_FS is not set
1407CONFIG_FILE_LOCKING=y 1424CONFIG_FILE_LOCKING=y
1408CONFIG_FSNOTIFY=y 1425CONFIG_FSNOTIFY=y
1409CONFIG_DNOTIFY=y 1426CONFIG_DNOTIFY=y
@@ -1463,7 +1480,6 @@ CONFIG_MISC_FILESYSTEMS=y
1463# CONFIG_ROMFS_FS is not set 1480# CONFIG_ROMFS_FS is not set
1464# CONFIG_SYSV_FS is not set 1481# CONFIG_SYSV_FS is not set
1465# CONFIG_UFS_FS is not set 1482# CONFIG_UFS_FS is not set
1466# CONFIG_NILFS2_FS is not set
1467CONFIG_NETWORK_FILESYSTEMS=y 1483CONFIG_NETWORK_FILESYSTEMS=y
1468CONFIG_NFS_FS=y 1484CONFIG_NFS_FS=y
1469# CONFIG_NFS_V3 is not set 1485# CONFIG_NFS_V3 is not set
@@ -1576,6 +1592,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1576CONFIG_ENABLE_MUST_CHECK=y 1592CONFIG_ENABLE_MUST_CHECK=y
1577CONFIG_FRAME_WARN=1024 1593CONFIG_FRAME_WARN=1024
1578# CONFIG_MAGIC_SYSRQ is not set 1594# CONFIG_MAGIC_SYSRQ is not set
1595# CONFIG_STRIP_ASM_SYMS is not set
1579# CONFIG_UNUSED_SYMBOLS is not set 1596# CONFIG_UNUSED_SYMBOLS is not set
1580# CONFIG_DEBUG_FS is not set 1597# CONFIG_DEBUG_FS is not set
1581# CONFIG_HEADERS_CHECK is not set 1598# CONFIG_HEADERS_CHECK is not set
@@ -1593,6 +1610,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1593CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1610CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1594CONFIG_TRACING_SUPPORT=y 1611CONFIG_TRACING_SUPPORT=y
1595# CONFIG_FTRACE is not set 1612# CONFIG_FTRACE is not set
1613# CONFIG_DMA_API_DEBUG is not set
1596# CONFIG_SAMPLES is not set 1614# CONFIG_SAMPLES is not set
1597CONFIG_HAVE_ARCH_KGDB=y 1615CONFIG_HAVE_ARCH_KGDB=y
1598# CONFIG_PPC_DISABLE_WERROR is not set 1616# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1614,7 +1632,6 @@ CONFIG_CRYPTO=y
1614# 1632#
1615# Crypto core or helper 1633# Crypto core or helper
1616# 1634#
1617# CONFIG_CRYPTO_FIPS is not set
1618# CONFIG_CRYPTO_MANAGER is not set 1635# CONFIG_CRYPTO_MANAGER is not set
1619# CONFIG_CRYPTO_MANAGER2 is not set 1636# CONFIG_CRYPTO_MANAGER2 is not set
1620# CONFIG_CRYPTO_GF128MUL is not set 1637# CONFIG_CRYPTO_GF128MUL is not set
@@ -1645,11 +1662,13 @@ CONFIG_CRYPTO=y
1645# 1662#
1646# CONFIG_CRYPTO_HMAC is not set 1663# CONFIG_CRYPTO_HMAC is not set
1647# CONFIG_CRYPTO_XCBC is not set 1664# CONFIG_CRYPTO_XCBC is not set
1665# CONFIG_CRYPTO_VMAC is not set
1648 1666
1649# 1667#
1650# Digest 1668# Digest
1651# 1669#
1652# CONFIG_CRYPTO_CRC32C is not set 1670# CONFIG_CRYPTO_CRC32C is not set
1671# CONFIG_CRYPTO_GHASH is not set
1653# CONFIG_CRYPTO_MD4 is not set 1672# CONFIG_CRYPTO_MD4 is not set
1654# CONFIG_CRYPTO_MD5 is not set 1673# CONFIG_CRYPTO_MD5 is not set
1655# CONFIG_CRYPTO_MICHAEL_MIC is not set 1674# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index 28384dc01003..524263158fc0 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.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Wed Jul 29 23:32:01 2009 4# Thu Nov 5 08:20:19 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
34CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
38CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
39CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -82,11 +83,12 @@ CONFIG_SYSVIPC_SYSCTL=y
82# 83#
83# RCU Subsystem 84# RCU Subsystem
84# 85#
85CONFIG_CLASSIC_RCU=y 86CONFIG_TREE_RCU=y
86# CONFIG_TREE_RCU is not set 87# CONFIG_TREE_PREEMPT_RCU is not set
87# CONFIG_PREEMPT_RCU is not set 88# CONFIG_RCU_TRACE is not set
89CONFIG_RCU_FANOUT=32
90# CONFIG_RCU_FANOUT_EXACT is not set
88# CONFIG_TREE_RCU_TRACE is not set 91# CONFIG_TREE_RCU_TRACE is not set
89# CONFIG_PREEMPT_RCU_TRACE is not set
90# CONFIG_IKCONFIG is not set 92# CONFIG_IKCONFIG is not set
91CONFIG_LOG_BUF_SHIFT=14 93CONFIG_LOG_BUF_SHIFT=14
92CONFIG_GROUP_SCHED=y 94CONFIG_GROUP_SCHED=y
@@ -118,28 +120,29 @@ CONFIG_TIMERFD=y
118CONFIG_EVENTFD=y 120CONFIG_EVENTFD=y
119CONFIG_SHMEM=y 121CONFIG_SHMEM=y
120CONFIG_AIO=y 122CONFIG_AIO=y
121CONFIG_HAVE_PERF_COUNTERS=y 123CONFIG_HAVE_PERF_EVENTS=y
122 124
123# 125#
124# Performance Counters 126# Kernel Performance Events And Counters
125# 127#
128# CONFIG_PERF_EVENTS is not set
126# CONFIG_PERF_COUNTERS is not set 129# CONFIG_PERF_COUNTERS is not set
127CONFIG_VM_EVENT_COUNTERS=y 130CONFIG_VM_EVENT_COUNTERS=y
128CONFIG_PCI_QUIRKS=y 131CONFIG_PCI_QUIRKS=y
129CONFIG_SLUB_DEBUG=y 132CONFIG_SLUB_DEBUG=y
130# CONFIG_STRIP_ASM_SYMS is not set
131CONFIG_COMPAT_BRK=y 133CONFIG_COMPAT_BRK=y
132# CONFIG_SLAB is not set 134# CONFIG_SLAB is not set
133CONFIG_SLUB=y 135CONFIG_SLUB=y
134# CONFIG_SLOB is not set 136# CONFIG_SLOB is not set
135# CONFIG_PROFILING is not set 137# CONFIG_PROFILING is not set
136# CONFIG_MARKERS is not set
137CONFIG_HAVE_OPROFILE=y 138CONFIG_HAVE_OPROFILE=y
138CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 139CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
139CONFIG_HAVE_IOREMAP_PROT=y 140CONFIG_HAVE_IOREMAP_PROT=y
140CONFIG_HAVE_KPROBES=y 141CONFIG_HAVE_KPROBES=y
141CONFIG_HAVE_KRETPROBES=y 142CONFIG_HAVE_KRETPROBES=y
142CONFIG_HAVE_ARCH_TRACEHOOK=y 143CONFIG_HAVE_ARCH_TRACEHOOK=y
144CONFIG_HAVE_DMA_ATTRS=y
145CONFIG_HAVE_DMA_API_DEBUG=y
143 146
144# 147#
145# GCOV-based kernel profiling 148# GCOV-based kernel profiling
@@ -243,6 +246,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
243CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 246CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
244# CONFIG_KEXEC is not set 247# CONFIG_KEXEC is not set
245# CONFIG_CRASH_DUMP is not set 248# CONFIG_CRASH_DUMP is not set
249CONFIG_MAX_ACTIVE_REGIONS=32
246CONFIG_ARCH_FLATMEM_ENABLE=y 250CONFIG_ARCH_FLATMEM_ENABLE=y
247CONFIG_ARCH_POPULATES_NODE_MAP=y 251CONFIG_ARCH_POPULATES_NODE_MAP=y
248CONFIG_SELECT_MEMORY_MODEL=y 252CONFIG_SELECT_MEMORY_MODEL=y
@@ -260,6 +264,7 @@ CONFIG_BOUNCE=y
260CONFIG_VIRT_TO_BUS=y 264CONFIG_VIRT_TO_BUS=y
261CONFIG_HAVE_MLOCK=y 265CONFIG_HAVE_MLOCK=y
262CONFIG_HAVE_MLOCKED_PAGE_BIT=y 266CONFIG_HAVE_MLOCKED_PAGE_BIT=y
267# CONFIG_KSM is not set
263CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 268CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
264CONFIG_PPC_4K_PAGES=y 269CONFIG_PPC_4K_PAGES=y
265# CONFIG_PPC_16K_PAGES is not set 270# CONFIG_PPC_16K_PAGES is not set
@@ -349,6 +354,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
349# CONFIG_NETFILTER is not set 354# CONFIG_NETFILTER is not set
350# CONFIG_IP_DCCP is not set 355# CONFIG_IP_DCCP is not set
351# CONFIG_IP_SCTP is not set 356# CONFIG_IP_SCTP is not set
357# CONFIG_RDS is not set
352# CONFIG_TIPC is not set 358# CONFIG_TIPC is not set
353# CONFIG_ATM is not set 359# CONFIG_ATM is not set
354# CONFIG_BRIDGE is not set 360# CONFIG_BRIDGE is not set
@@ -378,6 +384,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
378# CONFIG_AF_RXRPC is not set 384# CONFIG_AF_RXRPC is not set
379CONFIG_WIRELESS=y 385CONFIG_WIRELESS=y
380# CONFIG_CFG80211 is not set 386# CONFIG_CFG80211 is not set
387CONFIG_CFG80211_DEFAULT_PS_VALUE=0
381CONFIG_WIRELESS_OLD_REGULATORY=y 388CONFIG_WIRELESS_OLD_REGULATORY=y
382# CONFIG_WIRELESS_EXT is not set 389# CONFIG_WIRELESS_EXT is not set
383# CONFIG_LIB80211 is not set 390# CONFIG_LIB80211 is not set
@@ -385,7 +392,6 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
385# 392#
386# CFG80211 needs to be enabled for MAC80211 393# CFG80211 needs to be enabled for MAC80211
387# 394#
388CONFIG_MAC80211_DEFAULT_PS_VALUE=0
389# CONFIG_WIMAX is not set 395# CONFIG_WIMAX is not set
390# CONFIG_RFKILL is not set 396# CONFIG_RFKILL is not set
391# CONFIG_NET_9P is not set 397# CONFIG_NET_9P is not set
@@ -398,6 +404,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
398# Generic Driver Options 404# Generic Driver Options
399# 405#
400CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 406CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
407# CONFIG_DEVTMPFS is not set
401CONFIG_STANDALONE=y 408CONFIG_STANDALONE=y
402CONFIG_PREVENT_FIRMWARE_BUILD=y 409CONFIG_PREVENT_FIRMWARE_BUILD=y
403# CONFIG_FW_LOADER is not set 410# CONFIG_FW_LOADER is not set
@@ -405,9 +412,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
405# CONFIG_CONNECTOR is not set 412# CONFIG_CONNECTOR is not set
406CONFIG_MTD=y 413CONFIG_MTD=y
407# CONFIG_MTD_DEBUG is not set 414# CONFIG_MTD_DEBUG is not set
415# CONFIG_MTD_TESTS is not set
408# CONFIG_MTD_CONCAT is not set 416# CONFIG_MTD_CONCAT is not set
409CONFIG_MTD_PARTITIONS=y 417CONFIG_MTD_PARTITIONS=y
410# CONFIG_MTD_TESTS is not set
411# CONFIG_MTD_REDBOOT_PARTS is not set 418# CONFIG_MTD_REDBOOT_PARTS is not set
412CONFIG_MTD_CMDLINE_PARTS=y 419CONFIG_MTD_CMDLINE_PARTS=y
413CONFIG_MTD_OF_PARTS=y 420CONFIG_MTD_OF_PARTS=y
@@ -619,6 +626,7 @@ CONFIG_SCSI_SPI_ATTRS=y
619CONFIG_SCSI_LOWLEVEL=y 626CONFIG_SCSI_LOWLEVEL=y
620# CONFIG_ISCSI_TCP is not set 627# CONFIG_ISCSI_TCP is not set
621# CONFIG_SCSI_BNX2_ISCSI is not set 628# CONFIG_SCSI_BNX2_ISCSI is not set
629# CONFIG_BE2ISCSI is not set
622# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 630# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
623# CONFIG_SCSI_3W_9XXX is not set 631# CONFIG_SCSI_3W_9XXX is not set
624# CONFIG_SCSI_ACARD is not set 632# CONFIG_SCSI_ACARD is not set
@@ -657,7 +665,9 @@ CONFIG_SCSI_LOWLEVEL=y
657# CONFIG_SCSI_DC390T is not set 665# CONFIG_SCSI_DC390T is not set
658# CONFIG_SCSI_NSP32 is not set 666# CONFIG_SCSI_NSP32 is not set
659# CONFIG_SCSI_DEBUG is not set 667# CONFIG_SCSI_DEBUG is not set
668# CONFIG_SCSI_PMCRAID is not set
660# CONFIG_SCSI_SRP is not set 669# CONFIG_SCSI_SRP is not set
670# CONFIG_SCSI_BFA_FC is not set
661# CONFIG_SCSI_DH is not set 671# CONFIG_SCSI_DH is not set
662# CONFIG_SCSI_OSD_INITIATOR is not set 672# CONFIG_SCSI_OSD_INITIATOR is not set
663# CONFIG_ATA is not set 673# CONFIG_ATA is not set
@@ -670,6 +680,7 @@ CONFIG_MD_RAID1=y
670# CONFIG_MD_RAID10 is not set 680# CONFIG_MD_RAID10 is not set
671CONFIG_MD_RAID456=y 681CONFIG_MD_RAID456=y
672CONFIG_MD_RAID6_PQ=y 682CONFIG_MD_RAID6_PQ=y
683# CONFIG_ASYNC_RAID6_TEST is not set
673# CONFIG_MD_MULTIPATH is not set 684# CONFIG_MD_MULTIPATH is not set
674# CONFIG_MD_FAULTY is not set 685# CONFIG_MD_FAULTY is not set
675# CONFIG_BLK_DEV_DM is not set 686# CONFIG_BLK_DEV_DM is not set
@@ -729,10 +740,7 @@ CONFIG_R8169=y
729# CONFIG_JME is not set 740# CONFIG_JME is not set
730# CONFIG_NETDEV_10000 is not set 741# CONFIG_NETDEV_10000 is not set
731# CONFIG_TR is not set 742# CONFIG_TR is not set
732 743CONFIG_WLAN=y
733#
734# Wireless LAN
735#
736# CONFIG_WLAN_PRE80211 is not set 744# CONFIG_WLAN_PRE80211 is not set
737# CONFIG_WLAN_80211 is not set 745# CONFIG_WLAN_80211 is not set
738 746
@@ -813,6 +821,7 @@ CONFIG_NVRAM=y
813CONFIG_DEVPORT=y 821CONFIG_DEVPORT=y
814CONFIG_I2C=y 822CONFIG_I2C=y
815CONFIG_I2C_BOARDINFO=y 823CONFIG_I2C_BOARDINFO=y
824CONFIG_I2C_COMPAT=y
816CONFIG_I2C_CHARDEV=y 825CONFIG_I2C_CHARDEV=y
817CONFIG_I2C_HELPER_AUTO=y 826CONFIG_I2C_HELPER_AUTO=y
818 827
@@ -867,9 +876,6 @@ CONFIG_I2C_MPC=y
867# Miscellaneous I2C Chip support 876# Miscellaneous I2C Chip support
868# 877#
869# CONFIG_DS1682 is not set 878# CONFIG_DS1682 is not set
870# CONFIG_SENSORS_PCF8574 is not set
871# CONFIG_PCF8575 is not set
872# CONFIG_SENSORS_PCA9539 is not set
873# CONFIG_SENSORS_TSL2550 is not set 879# CONFIG_SENSORS_TSL2550 is not set
874# CONFIG_I2C_DEBUG_CORE is not set 880# CONFIG_I2C_DEBUG_CORE is not set
875# CONFIG_I2C_DEBUG_ALGO is not set 881# CONFIG_I2C_DEBUG_ALGO is not set
@@ -887,7 +893,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
887# CONFIG_POWER_SUPPLY is not set 893# CONFIG_POWER_SUPPLY is not set
888# CONFIG_HWMON is not set 894# CONFIG_HWMON is not set
889# CONFIG_THERMAL is not set 895# CONFIG_THERMAL is not set
890# CONFIG_THERMAL_HWMON is not set
891# CONFIG_WATCHDOG is not set 896# CONFIG_WATCHDOG is not set
892CONFIG_SSB_POSSIBLE=y 897CONFIG_SSB_POSSIBLE=y
893 898
@@ -906,6 +911,7 @@ CONFIG_SSB_POSSIBLE=y
906# CONFIG_MFD_TMIO is not set 911# CONFIG_MFD_TMIO is not set
907# CONFIG_PMIC_DA903X is not set 912# CONFIG_PMIC_DA903X is not set
908# CONFIG_MFD_WM8400 is not set 913# CONFIG_MFD_WM8400 is not set
914# CONFIG_MFD_WM831X is not set
909# CONFIG_MFD_WM8350_I2C is not set 915# CONFIG_MFD_WM8350_I2C is not set
910# CONFIG_MFD_PCF50633 is not set 916# CONFIG_MFD_PCF50633 is not set
911# CONFIG_AB3100_CORE is not set 917# CONFIG_AB3100_CORE is not set
@@ -916,6 +922,7 @@ CONFIG_SSB_POSSIBLE=y
916# Graphics support 922# Graphics support
917# 923#
918# CONFIG_AGP is not set 924# CONFIG_AGP is not set
925CONFIG_VGA_ARB=y
919# CONFIG_DRM is not set 926# CONFIG_DRM is not set
920# CONFIG_VGASTATE is not set 927# CONFIG_VGASTATE is not set
921# CONFIG_VIDEO_OUTPUT_CONTROL is not set 928# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -961,6 +968,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
961# CONFIG_USB_OXU210HP_HCD is not set 968# CONFIG_USB_OXU210HP_HCD is not set
962# CONFIG_USB_ISP116X_HCD is not set 969# CONFIG_USB_ISP116X_HCD is not set
963# CONFIG_USB_ISP1760_HCD is not set 970# CONFIG_USB_ISP1760_HCD is not set
971# CONFIG_USB_ISP1362_HCD is not set
964CONFIG_USB_OHCI_HCD=y 972CONFIG_USB_OHCI_HCD=y
965# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set 973# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set
966# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 974# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -1141,6 +1149,7 @@ CONFIG_XFS_FS=m
1141# CONFIG_GFS2_FS is not set 1149# CONFIG_GFS2_FS is not set
1142# CONFIG_OCFS2_FS is not set 1150# CONFIG_OCFS2_FS is not set
1143# CONFIG_BTRFS_FS is not set 1151# CONFIG_BTRFS_FS is not set
1152# CONFIG_NILFS2_FS is not set
1144CONFIG_FILE_LOCKING=y 1153CONFIG_FILE_LOCKING=y
1145CONFIG_FSNOTIFY=y 1154CONFIG_FSNOTIFY=y
1146CONFIG_DNOTIFY=y 1155CONFIG_DNOTIFY=y
@@ -1210,7 +1219,6 @@ CONFIG_JFFS2_RTIME=y
1210# CONFIG_ROMFS_FS is not set 1219# CONFIG_ROMFS_FS is not set
1211# CONFIG_SYSV_FS is not set 1220# CONFIG_SYSV_FS is not set
1212# CONFIG_UFS_FS is not set 1221# CONFIG_UFS_FS is not set
1213# CONFIG_NILFS2_FS is not set
1214# CONFIG_NETWORK_FILESYSTEMS is not set 1222# CONFIG_NETWORK_FILESYSTEMS is not set
1215CONFIG_EXPORTFS=m 1223CONFIG_EXPORTFS=m
1216 1224
@@ -1307,6 +1315,7 @@ CONFIG_GENERIC_ATOMIC64=y
1307# CONFIG_ENABLE_MUST_CHECK is not set 1315# CONFIG_ENABLE_MUST_CHECK is not set
1308CONFIG_FRAME_WARN=1024 1316CONFIG_FRAME_WARN=1024
1309# CONFIG_MAGIC_SYSRQ is not set 1317# CONFIG_MAGIC_SYSRQ is not set
1318# CONFIG_STRIP_ASM_SYMS is not set
1310# CONFIG_UNUSED_SYMBOLS is not set 1319# CONFIG_UNUSED_SYMBOLS is not set
1311# CONFIG_DEBUG_FS is not set 1320# CONFIG_DEBUG_FS is not set
1312# CONFIG_HEADERS_CHECK is not set 1321# CONFIG_HEADERS_CHECK is not set
@@ -1324,6 +1333,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1324CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1333CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1325CONFIG_TRACING_SUPPORT=y 1334CONFIG_TRACING_SUPPORT=y
1326# CONFIG_FTRACE is not set 1335# CONFIG_FTRACE is not set
1336# CONFIG_DMA_API_DEBUG is not set
1327# CONFIG_SAMPLES is not set 1337# CONFIG_SAMPLES is not set
1328CONFIG_HAVE_ARCH_KGDB=y 1338CONFIG_HAVE_ARCH_KGDB=y
1329# CONFIG_PPC_DISABLE_WERROR is not set 1339# CONFIG_PPC_DISABLE_WERROR is not set
@@ -1344,6 +1354,8 @@ CONFIG_XOR_BLOCKS=y
1344CONFIG_ASYNC_CORE=y 1354CONFIG_ASYNC_CORE=y
1345CONFIG_ASYNC_MEMCPY=y 1355CONFIG_ASYNC_MEMCPY=y
1346CONFIG_ASYNC_XOR=y 1356CONFIG_ASYNC_XOR=y
1357CONFIG_ASYNC_PQ=y
1358CONFIG_ASYNC_RAID6_RECOV=y
1347# CONFIG_CRYPTO is not set 1359# CONFIG_CRYPTO is not set
1348# CONFIG_PPC_CLOCK is not set 1360# CONFIG_PPC_CLOCK is not set
1349# CONFIG_VIRTUALIZATION is not set 1361# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/include/asm/kmap_types.h b/arch/powerpc/include/asm/kmap_types.h
index b6bac6f61c16..916369575c97 100644
--- a/arch/powerpc/include/asm/kmap_types.h
+++ b/arch/powerpc/include/asm/kmap_types.h
@@ -29,5 +29,16 @@ enum km_type {
29 KM_TYPE_NR 29 KM_TYPE_NR
30}; 30};
31 31
32/*
33 * This is a temporary build fix that (so they say on lkml....) should no longer
34 * be required after 2.6.33, because of changes planned to the kmap code.
35 * Let's try to remove this cruft then.
36 */
37#ifdef CONFIG_DEBUG_HIGHMEM
38#define KM_NMI (-1)
39#define KM_NMI_PTE (-1)
40#define KM_IRQ_PTE (-1)
41#endif
42
32#endif /* __KERNEL__ */ 43#endif /* __KERNEL__ */
33#endif /* _ASM_POWERPC_KMAP_TYPES_H */ 44#endif /* _ASM_POWERPC_KMAP_TYPES_H */
diff --git a/arch/powerpc/platforms/82xx/ep8248e.c b/arch/powerpc/platforms/82xx/ep8248e.c
index 51fcae41f08a..f9aee182e6f7 100644
--- a/arch/powerpc/platforms/82xx/ep8248e.c
+++ b/arch/powerpc/platforms/82xx/ep8248e.c
@@ -132,12 +132,25 @@ static int __devinit ep8248e_mdio_probe(struct of_device *ofdev,
132 return -ENOMEM; 132 return -ENOMEM;
133 133
134 bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); 134 bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
135 if (bus->irq == NULL) {
136 ret = -ENOMEM;
137 goto err_free_bus;
138 }
135 139
136 bus->name = "ep8248e-mdio-bitbang"; 140 bus->name = "ep8248e-mdio-bitbang";
137 bus->parent = &ofdev->dev; 141 bus->parent = &ofdev->dev;
138 snprintf(bus->id, MII_BUS_ID_SIZE, "%x", res.start); 142 snprintf(bus->id, MII_BUS_ID_SIZE, "%x", res.start);
139 143
140 return of_mdiobus_register(bus, ofdev->node); 144 ret = of_mdiobus_register(bus, ofdev->node);
145 if (ret)
146 goto err_free_irq;
147
148 return 0;
149err_free_irq:
150 kfree(bus->irq);
151err_free_bus:
152 free_mdio_bitbang(bus);
153 return ret;
141} 154}
142 155
143static int ep8248e_mdio_remove(struct of_device *ofdev) 156static int ep8248e_mdio_remove(struct of_device *ofdev)
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c
index bf8b4ae7ff2d..e49e9e0c69fd 100644
--- a/arch/s390/kernel/early.c
+++ b/arch/s390/kernel/early.c
@@ -55,6 +55,7 @@ static void __init reset_tod_clock(void)
55 disabled_wait(0); 55 disabled_wait(0);
56 56
57 sched_clock_base_cc = TOD_UNIX_EPOCH; 57 sched_clock_base_cc = TOD_UNIX_EPOCH;
58 S390_lowcore.last_update_clock = sched_clock_base_cc;
58} 59}
59 60
60#ifdef CONFIG_SHARED_KERNEL 61#ifdef CONFIG_SHARED_KERNEL
@@ -167,6 +168,14 @@ static noinline __init void create_kernel_nss(void)
167 return; 168 return;
168 } 169 }
169 170
171 /* re-initialize cputime accounting. */
172 sched_clock_base_cc = get_clock();
173 S390_lowcore.last_update_clock = sched_clock_base_cc;
174 S390_lowcore.last_update_timer = 0x7fffffffffffffffULL;
175 S390_lowcore.user_timer = 0;
176 S390_lowcore.system_timer = 0;
177 asm volatile("SPT 0(%0)" : : "a" (&S390_lowcore.last_update_timer));
178
170 /* re-setup boot command line with new ipl vm parms */ 179 /* re-setup boot command line with new ipl vm parms */
171 ipl_update_parameters(); 180 ipl_update_parameters();
172 setup_boot_command_line(); 181 setup_boot_command_line();
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index f43d2ee54464..48215d15762b 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -565,10 +565,10 @@ pgm_svcper:
565 lh %r7,0x8a # get svc number from lowcore 565 lh %r7,0x8a # get svc number from lowcore
566 l %r9,__LC_THREAD_INFO # load pointer to thread_info struct 566 l %r9,__LC_THREAD_INFO # load pointer to thread_info struct
567 TRACE_IRQS_OFF 567 TRACE_IRQS_OFF
568 l %r1,__TI_task(%r9) 568 l %r8,__TI_task(%r9)
569 mvc __THREAD_per+__PER_atmid(2,%r1),__LC_PER_ATMID 569 mvc __THREAD_per+__PER_atmid(2,%r8),__LC_PER_ATMID
570 mvc __THREAD_per+__PER_address(4,%r1),__LC_PER_ADDRESS 570 mvc __THREAD_per+__PER_address(4,%r8),__LC_PER_ADDRESS
571 mvc __THREAD_per+__PER_access_id(1,%r1),__LC_PER_ACCESS_ID 571 mvc __THREAD_per+__PER_access_id(1,%r8),__LC_PER_ACCESS_ID
572 oi __TI_flags+3(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP 572 oi __TI_flags+3(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP
573 TRACE_IRQS_ON 573 TRACE_IRQS_ON
574 stosm __SF_EMPTY(%r15),0x03 # reenable interrupts 574 stosm __SF_EMPTY(%r15),0x03 # reenable interrupts
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S
index a6f7b20df616..9aff1d449b6e 100644
--- a/arch/s390/kernel/entry64.S
+++ b/arch/s390/kernel/entry64.S
@@ -543,10 +543,10 @@ pgm_svcper:
543 mvc __LC_LAST_UPDATE_TIMER(8),__LC_SYNC_ENTER_TIMER 543 mvc __LC_LAST_UPDATE_TIMER(8),__LC_SYNC_ENTER_TIMER
544 llgh %r7,__LC_SVC_INT_CODE # get svc number from lowcore 544 llgh %r7,__LC_SVC_INT_CODE # get svc number from lowcore
545 lg %r9,__LC_THREAD_INFO # load pointer to thread_info struct 545 lg %r9,__LC_THREAD_INFO # load pointer to thread_info struct
546 lg %r1,__TI_task(%r9) 546 lg %r8,__TI_task(%r9)
547 mvc __THREAD_per+__PER_atmid(2,%r1),__LC_PER_ATMID 547 mvc __THREAD_per+__PER_atmid(2,%r8),__LC_PER_ATMID
548 mvc __THREAD_per+__PER_address(8,%r1),__LC_PER_ADDRESS 548 mvc __THREAD_per+__PER_address(8,%r8),__LC_PER_ADDRESS
549 mvc __THREAD_per+__PER_access_id(1,%r1),__LC_PER_ACCESS_ID 549 mvc __THREAD_per+__PER_access_id(1,%r8),__LC_PER_ACCESS_ID
550 oi __TI_flags+7(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP 550 oi __TI_flags+7(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP
551 TRACE_IRQS_ON 551 TRACE_IRQS_ON
552 stosm __SF_EMPTY(%r15),0x03 # reenable interrupts 552 stosm __SF_EMPTY(%r15),0x03 # reenable interrupts
diff --git a/arch/sh/kernel/cpu/irq/imask.c b/arch/sh/kernel/cpu/irq/imask.c
index 6b5d191eec3a..a351ed84eec5 100644
--- a/arch/sh/kernel/cpu/irq/imask.c
+++ b/arch/sh/kernel/cpu/irq/imask.c
@@ -68,7 +68,7 @@ static void unmask_imask_irq(unsigned int irq)
68} 68}
69 69
70static struct irq_chip imask_irq_chip = { 70static struct irq_chip imask_irq_chip = {
71 .typename = "SR.IMASK", 71 .name = "SR.IMASK",
72 .mask = mask_imask_irq, 72 .mask = mask_imask_irq,
73 .unmask = unmask_imask_irq, 73 .unmask = unmask_imask_irq,
74 .mask_ack = mask_imask_irq, 74 .mask_ack = mask_imask_irq,
diff --git a/arch/sh/kernel/cpu/irq/intc-sh5.c b/arch/sh/kernel/cpu/irq/intc-sh5.c
index 6c092f1f5557..06e7e2959b54 100644
--- a/arch/sh/kernel/cpu/irq/intc-sh5.c
+++ b/arch/sh/kernel/cpu/irq/intc-sh5.c
@@ -85,7 +85,7 @@ static void mask_and_ack_intc(unsigned int);
85static void end_intc_irq(unsigned int irq); 85static void end_intc_irq(unsigned int irq);
86 86
87static struct irq_chip intc_irq_type = { 87static struct irq_chip intc_irq_type = {
88 .typename = "INTC", 88 .name = "INTC",
89 .startup = startup_intc_irq, 89 .startup = startup_intc_irq,
90 .shutdown = shutdown_intc_irq, 90 .shutdown = shutdown_intc_irq,
91 .enable = enable_intc_irq, 91 .enable = enable_intc_irq,
diff --git a/arch/sparc/boot/btfixupprep.c b/arch/sparc/boot/btfixupprep.c
index 52a4208fe4f0..bbf91b9c3d39 100644
--- a/arch/sparc/boot/btfixupprep.c
+++ b/arch/sparc/boot/btfixupprep.c
@@ -61,14 +61,14 @@ unsigned long lastfoffset = -1;
61unsigned long lastfrelno; 61unsigned long lastfrelno;
62btfixup *lastf; 62btfixup *lastf;
63 63
64void fatal(void) __attribute__((noreturn)); 64static void fatal(void) __attribute__((noreturn));
65void fatal(void) 65static void fatal(void)
66{ 66{
67 fprintf(stderr, "Malformed output from objdump\n%s\n", buffer); 67 fprintf(stderr, "Malformed output from objdump\n%s\n", buffer);
68 exit(1); 68 exit(1);
69} 69}
70 70
71btfixup *find(int type, char *name) 71static btfixup *find(int type, char *name)
72{ 72{
73 int i; 73 int i;
74 for (i = 0; i < last; i++) { 74 for (i = 0; i < last; i++) {
@@ -88,7 +88,7 @@ btfixup *find(int type, char *name)
88 return array + last - 1; 88 return array + last - 1;
89} 89}
90 90
91void set_mode (char *buffer) 91static void set_mode (char *buffer)
92{ 92{
93 for (mode = 0;; mode++) 93 for (mode = 0;; mode++)
94 if (buffer[mode] < '0' || buffer[mode] > '9') 94 if (buffer[mode] < '0' || buffer[mode] > '9')
diff --git a/arch/sparc/boot/piggyback_32.c b/arch/sparc/boot/piggyback_32.c
index e8dc9adfcd61..ac944aec7301 100644
--- a/arch/sparc/boot/piggyback_32.c
+++ b/arch/sparc/boot/piggyback_32.c
@@ -35,17 +35,17 @@
35 * as PROM looks for a.out image only. 35 * as PROM looks for a.out image only.
36 */ 36 */
37 37
38unsigned short ld2(char *p) 38static unsigned short ld2(char *p)
39{ 39{
40 return (p[0] << 8) | p[1]; 40 return (p[0] << 8) | p[1];
41} 41}
42 42
43unsigned int ld4(char *p) 43static unsigned int ld4(char *p)
44{ 44{
45 return (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]; 45 return (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
46} 46}
47 47
48void st4(char *p, unsigned int x) 48static void st4(char *p, unsigned int x)
49{ 49{
50 p[0] = x >> 24; 50 p[0] = x >> 24;
51 p[1] = x >> 16; 51 p[1] = x >> 16;
@@ -53,7 +53,7 @@ void st4(char *p, unsigned int x)
53 p[3] = x; 53 p[3] = x;
54} 54}
55 55
56void usage(void) 56static void usage(void)
57{ 57{
58 /* fs_img.gz is an image of initial ramdisk. */ 58 /* fs_img.gz is an image of initial ramdisk. */
59 fprintf(stderr, "Usage: piggyback vmlinux.aout System.map fs_img.gz\n"); 59 fprintf(stderr, "Usage: piggyback vmlinux.aout System.map fs_img.gz\n");
@@ -61,7 +61,7 @@ void usage(void)
61 exit(1); 61 exit(1);
62} 62}
63 63
64void die(char *str) 64static void die(char *str)
65{ 65{
66 perror (str); 66 perror (str);
67 exit(1); 67 exit(1);
diff --git a/arch/sparc/boot/piggyback_64.c b/arch/sparc/boot/piggyback_64.c
index c63fd1b6bdd4..a26a686cb5aa 100644
--- a/arch/sparc/boot/piggyback_64.c
+++ b/arch/sparc/boot/piggyback_64.c
@@ -32,7 +32,7 @@
32/* Note: run this on an a.out kernel (use elftoaout for it), as PROM looks for a.out image onlly 32/* Note: run this on an a.out kernel (use elftoaout for it), as PROM looks for a.out image onlly
33 usage: piggyback vmlinux System.map tail, where tail is gzipped fs of the initial ramdisk */ 33 usage: piggyback vmlinux System.map tail, where tail is gzipped fs of the initial ramdisk */
34 34
35void die(char *str) 35static void die(char *str)
36{ 36{
37 perror (str); 37 perror (str);
38 exit(1); 38 exit(1);
diff --git a/arch/sparc/mm/init_64.h b/arch/sparc/mm/init_64.h
index c2f772dbd556..77d1b313e344 100644
--- a/arch/sparc/mm/init_64.h
+++ b/arch/sparc/mm/init_64.h
@@ -45,7 +45,7 @@ extern void free_initmem(void);
45#define VMEMMAP_ALIGN(x) (((x)+VMEMMAP_CHUNK-1UL)&VMEMMAP_CHUNK_MASK) 45#define VMEMMAP_ALIGN(x) (((x)+VMEMMAP_CHUNK-1UL)&VMEMMAP_CHUNK_MASK)
46 46
47#define VMEMMAP_SIZE ((((1UL << MAX_PHYSADDR_BITS) >> PAGE_SHIFT) * \ 47#define VMEMMAP_SIZE ((((1UL << MAX_PHYSADDR_BITS) >> PAGE_SHIFT) * \
48 sizeof(struct page *)) >> VMEMMAP_CHUNK_SHIFT) 48 sizeof(struct page)) >> VMEMMAP_CHUNK_SHIFT)
49extern unsigned long vmemmap_table[VMEMMAP_SIZE]; 49extern unsigned long vmemmap_table[VMEMMAP_SIZE];
50#endif 50#endif
51 51
diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h
index 0ee770d23d0e..6a25d5d42836 100644
--- a/arch/x86/include/asm/dma-mapping.h
+++ b/arch/x86/include/asm/dma-mapping.h
@@ -14,6 +14,12 @@
14#include <asm/swiotlb.h> 14#include <asm/swiotlb.h>
15#include <asm-generic/dma-coherent.h> 15#include <asm-generic/dma-coherent.h>
16 16
17#ifdef CONFIG_ISA
18# define ISA_DMA_BIT_MASK DMA_BIT_MASK(24)
19#else
20# define ISA_DMA_BIT_MASK DMA_BIT_MASK(32)
21#endif
22
17extern dma_addr_t bad_dma_address; 23extern dma_addr_t bad_dma_address;
18extern int iommu_merge; 24extern int iommu_merge;
19extern struct device x86_dma_fallback_dev; 25extern struct device x86_dma_fallback_dev;
@@ -124,10 +130,8 @@ dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
124 if (dma_alloc_from_coherent(dev, size, dma_handle, &memory)) 130 if (dma_alloc_from_coherent(dev, size, dma_handle, &memory))
125 return memory; 131 return memory;
126 132
127 if (!dev) { 133 if (!dev)
128 dev = &x86_dma_fallback_dev; 134 dev = &x86_dma_fallback_dev;
129 gfp |= GFP_DMA;
130 }
131 135
132 if (!is_device_dma_capable(dev)) 136 if (!is_device_dma_capable(dev))
133 return NULL; 137 return NULL;
diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c
index d296f4a195c9..d85d1b2432ba 100644
--- a/arch/x86/kernel/acpi/processor.c
+++ b/arch/x86/kernel/acpi/processor.c
@@ -79,7 +79,8 @@ void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
79 struct cpuinfo_x86 *c = &cpu_data(pr->id); 79 struct cpuinfo_x86 *c = &cpu_data(pr->id);
80 80
81 pr->pdc = NULL; 81 pr->pdc = NULL;
82 if (c->x86_vendor == X86_VENDOR_INTEL) 82 if (c->x86_vendor == X86_VENDOR_INTEL ||
83 c->x86_vendor == X86_VENDOR_CENTAUR)
83 init_intel_pdc(pr, c); 84 init_intel_pdc(pr, c);
84 85
85 return; 86 return;
diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
index 7d5c3b0ea8da..8b581d3905cb 100644
--- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
+++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
@@ -526,15 +526,21 @@ static const struct dmi_system_id sw_any_bug_dmi_table[] = {
526 526
527static int acpi_cpufreq_blacklist(struct cpuinfo_x86 *c) 527static int acpi_cpufreq_blacklist(struct cpuinfo_x86 *c)
528{ 528{
529 /* http://www.intel.com/Assets/PDF/specupdate/314554.pdf 529 /* Intel Xeon Processor 7100 Series Specification Update
530 * http://www.intel.com/Assets/PDF/specupdate/314554.pdf
530 * AL30: A Machine Check Exception (MCE) Occurring during an 531 * AL30: A Machine Check Exception (MCE) Occurring during an
531 * Enhanced Intel SpeedStep Technology Ratio Change May Cause 532 * Enhanced Intel SpeedStep Technology Ratio Change May Cause
532 * Both Processor Cores to Lock Up when HT is enabled*/ 533 * Both Processor Cores to Lock Up. */
533 if (c->x86_vendor == X86_VENDOR_INTEL) { 534 if (c->x86_vendor == X86_VENDOR_INTEL) {
534 if ((c->x86 == 15) && 535 if ((c->x86 == 15) &&
535 (c->x86_model == 6) && 536 (c->x86_model == 6) &&
536 (c->x86_mask == 8) && smt_capable()) 537 (c->x86_mask == 8)) {
538 printk(KERN_INFO "acpi-cpufreq: Intel(R) "
539 "Xeon(R) 7100 Errata AL30, processors may "
540 "lock up on frequency changes: disabling "
541 "acpi-cpufreq.\n");
537 return -ENODEV; 542 return -ENODEV;
543 }
538 } 544 }
539 return 0; 545 return 0;
540} 546}
@@ -549,13 +555,18 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
549 unsigned int result = 0; 555 unsigned int result = 0;
550 struct cpuinfo_x86 *c = &cpu_data(policy->cpu); 556 struct cpuinfo_x86 *c = &cpu_data(policy->cpu);
551 struct acpi_processor_performance *perf; 557 struct acpi_processor_performance *perf;
558#ifdef CONFIG_SMP
559 static int blacklisted;
560#endif
552 561
553 dprintk("acpi_cpufreq_cpu_init\n"); 562 dprintk("acpi_cpufreq_cpu_init\n");
554 563
555#ifdef CONFIG_SMP 564#ifdef CONFIG_SMP
556 result = acpi_cpufreq_blacklist(c); 565 if (blacklisted)
557 if (result) 566 return blacklisted;
558 return result; 567 blacklisted = acpi_cpufreq_blacklist(c);
568 if (blacklisted)
569 return blacklisted;
559#endif 570#endif
560 571
561 data = kzalloc(sizeof(struct acpi_cpufreq_data), GFP_KERNEL); 572 data = kzalloc(sizeof(struct acpi_cpufreq_data), GFP_KERNEL);
diff --git a/arch/x86/kernel/cpu/cpufreq/longhaul.c b/arch/x86/kernel/cpu/cpufreq/longhaul.c
index ce2ed3e4aad9..cabd2fa3fc93 100644
--- a/arch/x86/kernel/cpu/cpufreq/longhaul.c
+++ b/arch/x86/kernel/cpu/cpufreq/longhaul.c
@@ -813,7 +813,7 @@ static int __init longhaul_cpu_init(struct cpufreq_policy *policy)
813 memcpy(eblcr, samuel2_eblcr, sizeof(samuel2_eblcr)); 813 memcpy(eblcr, samuel2_eblcr, sizeof(samuel2_eblcr));
814 break; 814 break;
815 case 1 ... 15: 815 case 1 ... 15:
816 longhaul_version = TYPE_LONGHAUL_V1; 816 longhaul_version = TYPE_LONGHAUL_V2;
817 if (c->x86_mask < 8) { 817 if (c->x86_mask < 8) {
818 cpu_model = CPU_SAMUEL2; 818 cpu_model = CPU_SAMUEL2;
819 cpuname = "C3 'Samuel 2' [C5B]"; 819 cpuname = "C3 'Samuel 2' [C5B]";
diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
index 6394aa5c7985..3f12dabeab52 100644
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@ -1022,7 +1022,7 @@ static int get_transition_latency(struct powernow_k8_data *data)
1022 * set it to 1 to avoid problems in the future. 1022 * set it to 1 to avoid problems in the future.
1023 * For all others it's a BIOS bug. 1023 * For all others it's a BIOS bug.
1024 */ 1024 */
1025 if (!boot_cpu_data.x86 == 0x11) 1025 if (boot_cpu_data.x86 != 0x11)
1026 printk(KERN_ERR FW_WARN PFX "Invalid zero transition " 1026 printk(KERN_ERR FW_WARN PFX "Invalid zero transition "
1027 "latency\n"); 1027 "latency\n");
1028 max_latency = 1; 1028 max_latency = 1;
diff --git a/arch/x86/kernel/cpu/cpufreq/speedstep-ich.c b/arch/x86/kernel/cpu/cpufreq/speedstep-ich.c
index 6911e91fb4f6..3ae5a7a3a500 100644
--- a/arch/x86/kernel/cpu/cpufreq/speedstep-ich.c
+++ b/arch/x86/kernel/cpu/cpufreq/speedstep-ich.c
@@ -232,28 +232,23 @@ static unsigned int speedstep_detect_chipset(void)
232 return 0; 232 return 0;
233} 233}
234 234
235struct get_freq_data { 235static void get_freq_data(void *_speed)
236 unsigned int speed;
237 unsigned int processor;
238};
239
240static void get_freq_data(void *_data)
241{ 236{
242 struct get_freq_data *data = _data; 237 unsigned int *speed = _speed;
243 238
244 data->speed = speedstep_get_frequency(data->processor); 239 *speed = speedstep_get_frequency(speedstep_processor);
245} 240}
246 241
247static unsigned int speedstep_get(unsigned int cpu) 242static unsigned int speedstep_get(unsigned int cpu)
248{ 243{
249 struct get_freq_data data = { .processor = cpu }; 244 unsigned int speed;
250 245
251 /* You're supposed to ensure CPU is online. */ 246 /* You're supposed to ensure CPU is online. */
252 if (smp_call_function_single(cpu, get_freq_data, &data, 1) != 0) 247 if (smp_call_function_single(cpu, get_freq_data, &speed, 1) != 0)
253 BUG(); 248 BUG();
254 249
255 dprintk("detected %u kHz as current frequency\n", data.speed); 250 dprintk("detected %u kHz as current frequency\n", speed);
256 return data.speed; 251 return speed;
257} 252}
258 253
259/** 254/**
diff --git a/arch/x86/kernel/microcode_amd.c b/arch/x86/kernel/microcode_amd.c
index 366baa179913..f4c538b681ca 100644
--- a/arch/x86/kernel/microcode_amd.c
+++ b/arch/x86/kernel/microcode_amd.c
@@ -317,6 +317,12 @@ static enum ucode_state request_microcode_fw(int cpu, struct device *device)
317 return UCODE_NFOUND; 317 return UCODE_NFOUND;
318 } 318 }
319 319
320 if (*(u32 *)firmware->data != UCODE_MAGIC) {
321 printk(KERN_ERR "microcode: invalid UCODE_MAGIC (0x%08x)\n",
322 *(u32 *)firmware->data);
323 return UCODE_ERROR;
324 }
325
320 ret = generic_load_microcode(cpu, firmware->data, firmware->size); 326 ret = generic_load_microcode(cpu, firmware->data, firmware->size);
321 327
322 release_firmware(firmware); 328 release_firmware(firmware);
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index b2a71dca5642..a6e804d16c35 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -45,12 +45,10 @@ int iommu_pass_through __read_mostly;
45dma_addr_t bad_dma_address __read_mostly = 0; 45dma_addr_t bad_dma_address __read_mostly = 0;
46EXPORT_SYMBOL(bad_dma_address); 46EXPORT_SYMBOL(bad_dma_address);
47 47
48/* Dummy device used for NULL arguments (normally ISA). Better would 48/* Dummy device used for NULL arguments (normally ISA). */
49 be probably a smaller DMA mask, but this is bug-to-bug compatible
50 to older i386. */
51struct device x86_dma_fallback_dev = { 49struct device x86_dma_fallback_dev = {
52 .init_name = "fallback device", 50 .init_name = "fallback device",
53 .coherent_dma_mask = DMA_BIT_MASK(32), 51 .coherent_dma_mask = ISA_DMA_BIT_MASK,
54 .dma_mask = &x86_dma_fallback_dev.coherent_dma_mask, 52 .dma_mask = &x86_dma_fallback_dev.coherent_dma_mask,
55}; 53};
56EXPORT_SYMBOL(x86_dma_fallback_dev); 54EXPORT_SYMBOL(x86_dma_fallback_dev);
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index e09f0e2c14b5..2a34f9c5be21 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -660,6 +660,13 @@ static struct dmi_system_id __initdata bad_bios_dmi_table[] = {
660 }, 660 },
661 }, 661 },
662 { 662 {
663 .callback = dmi_low_memory_corruption,
664 .ident = "Phoenix/MSC BIOS",
665 .matches = {
666 DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix/MSC"),
667 },
668 },
669 {
663 /* 670 /*
664 * AMI BIOS with low memory corruption was found on Intel DG45ID board. 671 * AMI BIOS with low memory corruption was found on Intel DG45ID board.
665 * It hase different DMI_BIOS_VENDOR = "Intel Corp.", for now we will 672 * It hase different DMI_BIOS_VENDOR = "Intel Corp.", for now we will
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 334e63ca7b2b..2feb9bdedaaf 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -170,8 +170,7 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr,
170 (unsigned long long)phys_addr, 170 (unsigned long long)phys_addr,
171 (unsigned long long)(phys_addr + size), 171 (unsigned long long)(phys_addr + size),
172 prot_val, new_prot_val); 172 prot_val, new_prot_val);
173 free_memtype(phys_addr, phys_addr + size); 173 goto err_free_memtype;
174 return NULL;
175 } 174 }
176 prot_val = new_prot_val; 175 prot_val = new_prot_val;
177 } 176 }
@@ -197,26 +196,25 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr,
197 */ 196 */
198 area = get_vm_area_caller(size, VM_IOREMAP, caller); 197 area = get_vm_area_caller(size, VM_IOREMAP, caller);
199 if (!area) 198 if (!area)
200 return NULL; 199 goto err_free_memtype;
201 area->phys_addr = phys_addr; 200 area->phys_addr = phys_addr;
202 vaddr = (unsigned long) area->addr; 201 vaddr = (unsigned long) area->addr;
203 202
204 if (kernel_map_sync_memtype(phys_addr, size, prot_val)) { 203 if (kernel_map_sync_memtype(phys_addr, size, prot_val))
205 free_memtype(phys_addr, phys_addr + size); 204 goto err_free_area;
206 free_vm_area(area);
207 return NULL;
208 }
209 205
210 if (ioremap_page_range(vaddr, vaddr + size, phys_addr, prot)) { 206 if (ioremap_page_range(vaddr, vaddr + size, phys_addr, prot))
211 free_memtype(phys_addr, phys_addr + size); 207 goto err_free_area;
212 free_vm_area(area);
213 return NULL;
214 }
215 208
216 ret_addr = (void __iomem *) (vaddr + offset); 209 ret_addr = (void __iomem *) (vaddr + offset);
217 mmiotrace_ioremap(unaligned_phys_addr, unaligned_size, ret_addr); 210 mmiotrace_ioremap(unaligned_phys_addr, unaligned_size, ret_addr);
218 211
219 return ret_addr; 212 return ret_addr;
213err_free_area:
214 free_vm_area(area);
215err_free_memtype:
216 free_memtype(phys_addr, phys_addr + size);
217 return NULL;
220} 218}
221 219
222/** 220/**
diff --git a/crypto/async_tx/Kconfig b/crypto/async_tx/Kconfig
index e5aeb2b79e6f..e28e276ac611 100644
--- a/crypto/async_tx/Kconfig
+++ b/crypto/async_tx/Kconfig
@@ -23,3 +23,8 @@ config ASYNC_RAID6_RECOV
23 select ASYNC_CORE 23 select ASYNC_CORE
24 select ASYNC_PQ 24 select ASYNC_PQ
25 25
26config ASYNC_TX_DISABLE_PQ_VAL_DMA
27 bool
28
29config ASYNC_TX_DISABLE_XOR_VAL_DMA
30 bool
diff --git a/crypto/async_tx/async_pq.c b/crypto/async_tx/async_pq.c
index 6b5cc4fba59f..ec87f53d5059 100644
--- a/crypto/async_tx/async_pq.c
+++ b/crypto/async_tx/async_pq.c
@@ -240,6 +240,16 @@ async_gen_syndrome(struct page **blocks, unsigned int offset, int disks,
240} 240}
241EXPORT_SYMBOL_GPL(async_gen_syndrome); 241EXPORT_SYMBOL_GPL(async_gen_syndrome);
242 242
243static inline struct dma_chan *
244pq_val_chan(struct async_submit_ctl *submit, struct page **blocks, int disks, size_t len)
245{
246 #ifdef CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA
247 return NULL;
248 #endif
249 return async_tx_find_channel(submit, DMA_PQ_VAL, NULL, 0, blocks,
250 disks, len);
251}
252
243/** 253/**
244 * async_syndrome_val - asynchronously validate a raid6 syndrome 254 * async_syndrome_val - asynchronously validate a raid6 syndrome
245 * @blocks: source blocks from idx 0..disks-3, P @ disks-2 and Q @ disks-1 255 * @blocks: source blocks from idx 0..disks-3, P @ disks-2 and Q @ disks-1
@@ -260,9 +270,7 @@ async_syndrome_val(struct page **blocks, unsigned int offset, int disks,
260 size_t len, enum sum_check_flags *pqres, struct page *spare, 270 size_t len, enum sum_check_flags *pqres, struct page *spare,
261 struct async_submit_ctl *submit) 271 struct async_submit_ctl *submit)
262{ 272{
263 struct dma_chan *chan = async_tx_find_channel(submit, DMA_PQ_VAL, 273 struct dma_chan *chan = pq_val_chan(submit, blocks, disks, len);
264 NULL, 0, blocks, disks,
265 len);
266 struct dma_device *device = chan ? chan->device : NULL; 274 struct dma_device *device = chan ? chan->device : NULL;
267 struct dma_async_tx_descriptor *tx; 275 struct dma_async_tx_descriptor *tx;
268 unsigned char coefs[disks-2]; 276 unsigned char coefs[disks-2];
diff --git a/crypto/async_tx/async_xor.c b/crypto/async_tx/async_xor.c
index 79182dcb91b7..079ae8ca590b 100644
--- a/crypto/async_tx/async_xor.c
+++ b/crypto/async_tx/async_xor.c
@@ -234,6 +234,17 @@ static int page_is_zero(struct page *p, unsigned int offset, size_t len)
234 memcmp(a, a + 4, len - 4) == 0); 234 memcmp(a, a + 4, len - 4) == 0);
235} 235}
236 236
237static inline struct dma_chan *
238xor_val_chan(struct async_submit_ctl *submit, struct page *dest,
239 struct page **src_list, int src_cnt, size_t len)
240{
241 #ifdef CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA
242 return NULL;
243 #endif
244 return async_tx_find_channel(submit, DMA_XOR_VAL, &dest, 1, src_list,
245 src_cnt, len);
246}
247
237/** 248/**
238 * async_xor_val - attempt a xor parity check with a dma engine. 249 * async_xor_val - attempt a xor parity check with a dma engine.
239 * @dest: destination page used if the xor is performed synchronously 250 * @dest: destination page used if the xor is performed synchronously
@@ -255,9 +266,7 @@ async_xor_val(struct page *dest, struct page **src_list, unsigned int offset,
255 int src_cnt, size_t len, enum sum_check_flags *result, 266 int src_cnt, size_t len, enum sum_check_flags *result,
256 struct async_submit_ctl *submit) 267 struct async_submit_ctl *submit)
257{ 268{
258 struct dma_chan *chan = async_tx_find_channel(submit, DMA_XOR_VAL, 269 struct dma_chan *chan = xor_val_chan(submit, dest, src_list, src_cnt, len);
259 &dest, 1, src_list,
260 src_cnt, len);
261 struct dma_device *device = chan ? chan->device : NULL; 270 struct dma_device *device = chan ? chan->device : NULL;
262 struct dma_async_tx_descriptor *tx = NULL; 271 struct dma_async_tx_descriptor *tx = NULL;
263 dma_addr_t *dma_src = NULL; 272 dma_addr_t *dma_src = NULL;
diff --git a/crypto/gcm.c b/crypto/gcm.c
index 5fc3292483ef..c6547130624c 100644
--- a/crypto/gcm.c
+++ b/crypto/gcm.c
@@ -40,7 +40,7 @@ struct crypto_rfc4106_ctx {
40struct crypto_gcm_ghash_ctx { 40struct crypto_gcm_ghash_ctx {
41 unsigned int cryptlen; 41 unsigned int cryptlen;
42 struct scatterlist *src; 42 struct scatterlist *src;
43 crypto_completion_t complete; 43 void (*complete)(struct aead_request *req, int err);
44}; 44};
45 45
46struct crypto_gcm_req_priv_ctx { 46struct crypto_gcm_req_priv_ctx {
@@ -267,23 +267,26 @@ static int gcm_hash_final(struct aead_request *req,
267 return crypto_ahash_final(ahreq); 267 return crypto_ahash_final(ahreq);
268} 268}
269 269
270static void gcm_hash_final_done(struct crypto_async_request *areq, 270static void __gcm_hash_final_done(struct aead_request *req, int err)
271 int err)
272{ 271{
273 struct aead_request *req = areq->data;
274 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 272 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
275 struct crypto_gcm_ghash_ctx *gctx = &pctx->ghash_ctx; 273 struct crypto_gcm_ghash_ctx *gctx = &pctx->ghash_ctx;
276 274
277 if (!err) 275 if (!err)
278 crypto_xor(pctx->auth_tag, pctx->iauth_tag, 16); 276 crypto_xor(pctx->auth_tag, pctx->iauth_tag, 16);
279 277
280 gctx->complete(areq, err); 278 gctx->complete(req, err);
281} 279}
282 280
283static void gcm_hash_len_done(struct crypto_async_request *areq, 281static void gcm_hash_final_done(struct crypto_async_request *areq, int err)
284 int err)
285{ 282{
286 struct aead_request *req = areq->data; 283 struct aead_request *req = areq->data;
284
285 __gcm_hash_final_done(req, err);
286}
287
288static void __gcm_hash_len_done(struct aead_request *req, int err)
289{
287 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 290 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
288 291
289 if (!err) { 292 if (!err) {
@@ -292,13 +295,18 @@ static void gcm_hash_len_done(struct crypto_async_request *areq,
292 return; 295 return;
293 } 296 }
294 297
295 gcm_hash_final_done(areq, err); 298 __gcm_hash_final_done(req, err);
296} 299}
297 300
298static void gcm_hash_crypt_remain_done(struct crypto_async_request *areq, 301static void gcm_hash_len_done(struct crypto_async_request *areq, int err)
299 int err)
300{ 302{
301 struct aead_request *req = areq->data; 303 struct aead_request *req = areq->data;
304
305 __gcm_hash_len_done(req, err);
306}
307
308static void __gcm_hash_crypt_remain_done(struct aead_request *req, int err)
309{
302 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 310 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
303 311
304 if (!err) { 312 if (!err) {
@@ -307,13 +315,19 @@ static void gcm_hash_crypt_remain_done(struct crypto_async_request *areq,
307 return; 315 return;
308 } 316 }
309 317
310 gcm_hash_len_done(areq, err); 318 __gcm_hash_len_done(req, err);
311} 319}
312 320
313static void gcm_hash_crypt_done(struct crypto_async_request *areq, 321static void gcm_hash_crypt_remain_done(struct crypto_async_request *areq,
314 int err) 322 int err)
315{ 323{
316 struct aead_request *req = areq->data; 324 struct aead_request *req = areq->data;
325
326 __gcm_hash_crypt_remain_done(req, err);
327}
328
329static void __gcm_hash_crypt_done(struct aead_request *req, int err)
330{
317 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 331 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
318 struct crypto_gcm_ghash_ctx *gctx = &pctx->ghash_ctx; 332 struct crypto_gcm_ghash_ctx *gctx = &pctx->ghash_ctx;
319 unsigned int remain; 333 unsigned int remain;
@@ -327,13 +341,18 @@ static void gcm_hash_crypt_done(struct crypto_async_request *areq,
327 return; 341 return;
328 } 342 }
329 343
330 gcm_hash_crypt_remain_done(areq, err); 344 __gcm_hash_crypt_remain_done(req, err);
331} 345}
332 346
333static void gcm_hash_assoc_remain_done(struct crypto_async_request *areq, 347static void gcm_hash_crypt_done(struct crypto_async_request *areq, int err)
334 int err)
335{ 348{
336 struct aead_request *req = areq->data; 349 struct aead_request *req = areq->data;
350
351 __gcm_hash_crypt_done(req, err);
352}
353
354static void __gcm_hash_assoc_remain_done(struct aead_request *req, int err)
355{
337 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 356 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
338 struct crypto_gcm_ghash_ctx *gctx = &pctx->ghash_ctx; 357 struct crypto_gcm_ghash_ctx *gctx = &pctx->ghash_ctx;
339 crypto_completion_t complete; 358 crypto_completion_t complete;
@@ -350,15 +369,21 @@ static void gcm_hash_assoc_remain_done(struct crypto_async_request *areq,
350 } 369 }
351 370
352 if (remain) 371 if (remain)
353 gcm_hash_crypt_done(areq, err); 372 __gcm_hash_crypt_done(req, err);
354 else 373 else
355 gcm_hash_crypt_remain_done(areq, err); 374 __gcm_hash_crypt_remain_done(req, err);
356} 375}
357 376
358static void gcm_hash_assoc_done(struct crypto_async_request *areq, 377static void gcm_hash_assoc_remain_done(struct crypto_async_request *areq,
359 int err) 378 int err)
360{ 379{
361 struct aead_request *req = areq->data; 380 struct aead_request *req = areq->data;
381
382 __gcm_hash_assoc_remain_done(req, err);
383}
384
385static void __gcm_hash_assoc_done(struct aead_request *req, int err)
386{
362 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 387 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
363 unsigned int remain; 388 unsigned int remain;
364 389
@@ -371,13 +396,18 @@ static void gcm_hash_assoc_done(struct crypto_async_request *areq,
371 return; 396 return;
372 } 397 }
373 398
374 gcm_hash_assoc_remain_done(areq, err); 399 __gcm_hash_assoc_remain_done(req, err);
375} 400}
376 401
377static void gcm_hash_init_done(struct crypto_async_request *areq, 402static void gcm_hash_assoc_done(struct crypto_async_request *areq, int err)
378 int err)
379{ 403{
380 struct aead_request *req = areq->data; 404 struct aead_request *req = areq->data;
405
406 __gcm_hash_assoc_done(req, err);
407}
408
409static void __gcm_hash_init_done(struct aead_request *req, int err)
410{
381 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 411 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
382 crypto_completion_t complete; 412 crypto_completion_t complete;
383 unsigned int remain = 0; 413 unsigned int remain = 0;
@@ -393,9 +423,16 @@ static void gcm_hash_init_done(struct crypto_async_request *areq,
393 } 423 }
394 424
395 if (remain) 425 if (remain)
396 gcm_hash_assoc_done(areq, err); 426 __gcm_hash_assoc_done(req, err);
397 else 427 else
398 gcm_hash_assoc_remain_done(areq, err); 428 __gcm_hash_assoc_remain_done(req, err);
429}
430
431static void gcm_hash_init_done(struct crypto_async_request *areq, int err)
432{
433 struct aead_request *req = areq->data;
434
435 __gcm_hash_init_done(req, err);
399} 436}
400 437
401static int gcm_hash(struct aead_request *req, 438static int gcm_hash(struct aead_request *req,
@@ -457,10 +494,8 @@ static void gcm_enc_copy_hash(struct aead_request *req,
457 crypto_aead_authsize(aead), 1); 494 crypto_aead_authsize(aead), 1);
458} 495}
459 496
460static void gcm_enc_hash_done(struct crypto_async_request *areq, 497static void gcm_enc_hash_done(struct aead_request *req, int err)
461 int err)
462{ 498{
463 struct aead_request *req = areq->data;
464 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 499 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
465 500
466 if (!err) 501 if (!err)
@@ -469,8 +504,7 @@ static void gcm_enc_hash_done(struct crypto_async_request *areq,
469 aead_request_complete(req, err); 504 aead_request_complete(req, err);
470} 505}
471 506
472static void gcm_encrypt_done(struct crypto_async_request *areq, 507static void gcm_encrypt_done(struct crypto_async_request *areq, int err)
473 int err)
474{ 508{
475 struct aead_request *req = areq->data; 509 struct aead_request *req = areq->data;
476 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 510 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
@@ -479,9 +513,13 @@ static void gcm_encrypt_done(struct crypto_async_request *areq,
479 err = gcm_hash(req, pctx); 513 err = gcm_hash(req, pctx);
480 if (err == -EINPROGRESS || err == -EBUSY) 514 if (err == -EINPROGRESS || err == -EBUSY)
481 return; 515 return;
516 else if (!err) {
517 crypto_xor(pctx->auth_tag, pctx->iauth_tag, 16);
518 gcm_enc_copy_hash(req, pctx);
519 }
482 } 520 }
483 521
484 gcm_enc_hash_done(areq, err); 522 aead_request_complete(req, err);
485} 523}
486 524
487static int crypto_gcm_encrypt(struct aead_request *req) 525static int crypto_gcm_encrypt(struct aead_request *req)
@@ -538,9 +576,8 @@ static void gcm_decrypt_done(struct crypto_async_request *areq, int err)
538 aead_request_complete(req, err); 576 aead_request_complete(req, err);
539} 577}
540 578
541static void gcm_dec_hash_done(struct crypto_async_request *areq, int err) 579static void gcm_dec_hash_done(struct aead_request *req, int err)
542{ 580{
543 struct aead_request *req = areq->data;
544 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req); 581 struct crypto_gcm_req_priv_ctx *pctx = crypto_gcm_reqctx(req);
545 struct ablkcipher_request *abreq = &pctx->u.abreq; 582 struct ablkcipher_request *abreq = &pctx->u.abreq;
546 struct crypto_gcm_ghash_ctx *gctx = &pctx->ghash_ctx; 583 struct crypto_gcm_ghash_ctx *gctx = &pctx->ghash_ctx;
@@ -552,9 +589,11 @@ static void gcm_dec_hash_done(struct crypto_async_request *areq, int err)
552 err = crypto_ablkcipher_decrypt(abreq); 589 err = crypto_ablkcipher_decrypt(abreq);
553 if (err == -EINPROGRESS || err == -EBUSY) 590 if (err == -EINPROGRESS || err == -EBUSY)
554 return; 591 return;
592 else if (!err)
593 err = crypto_gcm_verify(req, pctx);
555 } 594 }
556 595
557 gcm_decrypt_done(areq, err); 596 aead_request_complete(req, err);
558} 597}
559 598
560static int crypto_gcm_decrypt(struct aead_request *req) 599static int crypto_gcm_decrypt(struct aead_request *req)
diff --git a/drivers/acpi/acpica/acpredef.h b/drivers/acpi/acpica/acpredef.h
index cd80d1dd1950..57bdaf6ffab1 100644
--- a/drivers/acpi/acpica/acpredef.h
+++ b/drivers/acpi/acpica/acpredef.h
@@ -203,8 +203,9 @@ static const union acpi_predefined_info predefined_names[] =
203 {{"_BCT", 1, ACPI_RTYPE_INTEGER}}, 203 {{"_BCT", 1, ACPI_RTYPE_INTEGER}},
204 {{"_BDN", 0, ACPI_RTYPE_INTEGER}}, 204 {{"_BDN", 0, ACPI_RTYPE_INTEGER}},
205 {{"_BFS", 1, 0}}, 205 {{"_BFS", 1, 0}},
206 {{"_BIF", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (9 Int),(4 Str) */ 206 {{"_BIF", 0, ACPI_RTYPE_PACKAGE} }, /* Fixed-length (9 Int),(4 Str/Buf) */
207 {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING}, 4,0}}, 207 {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9,
208 ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER}, 4, 0} },
208 209
209 {{"_BIX", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (16 Int),(4 Str) */ 210 {{"_BIX", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (16 Int),(4 Str) */
210 {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING}, 4, 211 {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING}, 4,
diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c
index e56b2a7b53db..23e5a0519af5 100644
--- a/drivers/acpi/blacklist.c
+++ b/drivers/acpi/blacklist.c
@@ -224,6 +224,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
224 * _OSI(Linux) helps sound 224 * _OSI(Linux) helps sound
225 * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad R61"), 225 * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad R61"),
226 * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T61"), 226 * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T61"),
227 * T400, T500
227 * _OSI(Linux) has Linux specific hooks 228 * _OSI(Linux) has Linux specific hooks
228 * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"), 229 * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"),
229 * _OSI(Linux) is a NOP: 230 * _OSI(Linux) is a NOP:
@@ -254,6 +255,22 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
254 DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"), 255 DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"),
255 }, 256 },
256 }, 257 },
258 {
259 .callback = dmi_enable_osi_linux,
260 .ident = "Lenovo ThinkPad T400",
261 .matches = {
262 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
263 DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T400"),
264 },
265 },
266 {
267 .callback = dmi_enable_osi_linux,
268 .ident = "Lenovo ThinkPad T500",
269 .matches = {
270 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
271 DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T500"),
272 },
273 },
257 {} 274 {}
258}; 275};
259 276
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
index 4cc1b8116e76..5f2c379ab7bf 100644
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -430,6 +430,14 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
430 }, 430 },
431 { 431 {
432 .callback = init_set_sci_en_on_resume, 432 .callback = init_set_sci_en_on_resume,
433 .ident = "Hewlett-Packard Compaq Presario C700 Notebook PC",
434 .matches = {
435 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
436 DMI_MATCH(DMI_PRODUCT_NAME, "Compaq Presario C700 Notebook PC"),
437 },
438 },
439 {
440 .callback = init_set_sci_en_on_resume,
433 .ident = "Hewlett-Packard Compaq Presario CQ40 Notebook PC", 441 .ident = "Hewlett-Packard Compaq Presario CQ40 Notebook PC",
434 .matches = { 442 .matches = {
435 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), 443 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index d344db42a002..172b57e6543f 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -707,34 +707,17 @@ static unsigned int sata_fsl_dev_classify(struct ata_port *ap)
707 return ata_dev_classify(&tf); 707 return ata_dev_classify(&tf);
708} 708}
709 709
710static int sata_fsl_prereset(struct ata_link *link, unsigned long deadline) 710static int sata_fsl_hardreset(struct ata_link *link, unsigned int *class,
711{
712 /* FIXME: Never skip softreset, sata_fsl_softreset() is
713 * combination of soft and hard resets. sata_fsl_softreset()
714 * needs to be splitted into soft and hard resets.
715 */
716 return 0;
717}
718
719static int sata_fsl_softreset(struct ata_link *link, unsigned int *class,
720 unsigned long deadline) 711 unsigned long deadline)
721{ 712{
722 struct ata_port *ap = link->ap; 713 struct ata_port *ap = link->ap;
723 struct sata_fsl_port_priv *pp = ap->private_data;
724 struct sata_fsl_host_priv *host_priv = ap->host->private_data; 714 struct sata_fsl_host_priv *host_priv = ap->host->private_data;
725 void __iomem *hcr_base = host_priv->hcr_base; 715 void __iomem *hcr_base = host_priv->hcr_base;
726 int pmp = sata_srst_pmp(link);
727 u32 temp; 716 u32 temp;
728 struct ata_taskfile tf;
729 u8 *cfis;
730 u32 Serror;
731 int i = 0; 717 int i = 0;
732 unsigned long start_jiffies; 718 unsigned long start_jiffies;
733 719
734 DPRINTK("in xx_softreset\n"); 720 DPRINTK("in xx_hardreset\n");
735
736 if (pmp != SATA_PMP_CTRL_PORT)
737 goto issue_srst;
738 721
739try_offline_again: 722try_offline_again:
740 /* 723 /*
@@ -749,7 +732,7 @@ try_offline_again:
749 732
750 if (temp & ONLINE) { 733 if (temp & ONLINE) {
751 ata_port_printk(ap, KERN_ERR, 734 ata_port_printk(ap, KERN_ERR,
752 "Softreset failed, not off-lined %d\n", i); 735 "Hardreset failed, not off-lined %d\n", i);
753 736
754 /* 737 /*
755 * Try to offline controller atleast twice 738 * Try to offline controller atleast twice
@@ -761,7 +744,7 @@ try_offline_again:
761 goto try_offline_again; 744 goto try_offline_again;
762 } 745 }
763 746
764 DPRINTK("softreset, controller off-lined\n"); 747 DPRINTK("hardreset, controller off-lined\n");
765 VPRINTK("HStatus = 0x%x\n", ioread32(hcr_base + HSTATUS)); 748 VPRINTK("HStatus = 0x%x\n", ioread32(hcr_base + HSTATUS));
766 VPRINTK("HControl = 0x%x\n", ioread32(hcr_base + HCONTROL)); 749 VPRINTK("HControl = 0x%x\n", ioread32(hcr_base + HCONTROL));
767 750
@@ -786,11 +769,11 @@ try_offline_again:
786 769
787 if (!(temp & ONLINE)) { 770 if (!(temp & ONLINE)) {
788 ata_port_printk(ap, KERN_ERR, 771 ata_port_printk(ap, KERN_ERR,
789 "Softreset failed, not on-lined\n"); 772 "Hardreset failed, not on-lined\n");
790 goto err; 773 goto err;
791 } 774 }
792 775
793 DPRINTK("softreset, controller off-lined & on-lined\n"); 776 DPRINTK("hardreset, controller off-lined & on-lined\n");
794 VPRINTK("HStatus = 0x%x\n", ioread32(hcr_base + HSTATUS)); 777 VPRINTK("HStatus = 0x%x\n", ioread32(hcr_base + HSTATUS));
795 VPRINTK("HControl = 0x%x\n", ioread32(hcr_base + HCONTROL)); 778 VPRINTK("HControl = 0x%x\n", ioread32(hcr_base + HCONTROL));
796 779
@@ -806,7 +789,7 @@ try_offline_again:
806 "No Device OR PHYRDY change,Hstatus = 0x%x\n", 789 "No Device OR PHYRDY change,Hstatus = 0x%x\n",
807 ioread32(hcr_base + HSTATUS)); 790 ioread32(hcr_base + HSTATUS));
808 *class = ATA_DEV_NONE; 791 *class = ATA_DEV_NONE;
809 goto out; 792 return 0;
810 } 793 }
811 794
812 /* 795 /*
@@ -819,11 +802,44 @@ try_offline_again:
819 if ((temp & 0xFF) != 0x18) { 802 if ((temp & 0xFF) != 0x18) {
820 ata_port_printk(ap, KERN_WARNING, "No Signature Update\n"); 803 ata_port_printk(ap, KERN_WARNING, "No Signature Update\n");
821 *class = ATA_DEV_NONE; 804 *class = ATA_DEV_NONE;
822 goto out; 805 goto do_followup_srst;
823 } else { 806 } else {
824 ata_port_printk(ap, KERN_INFO, 807 ata_port_printk(ap, KERN_INFO,
825 "Signature Update detected @ %d msecs\n", 808 "Signature Update detected @ %d msecs\n",
826 jiffies_to_msecs(jiffies - start_jiffies)); 809 jiffies_to_msecs(jiffies - start_jiffies));
810 *class = sata_fsl_dev_classify(ap);
811 return 0;
812 }
813
814do_followup_srst:
815 /*
816 * request libATA to perform follow-up softreset
817 */
818 return -EAGAIN;
819
820err:
821 return -EIO;
822}
823
824static int sata_fsl_softreset(struct ata_link *link, unsigned int *class,
825 unsigned long deadline)
826{
827 struct ata_port *ap = link->ap;
828 struct sata_fsl_port_priv *pp = ap->private_data;
829 struct sata_fsl_host_priv *host_priv = ap->host->private_data;
830 void __iomem *hcr_base = host_priv->hcr_base;
831 int pmp = sata_srst_pmp(link);
832 u32 temp;
833 struct ata_taskfile tf;
834 u8 *cfis;
835 u32 Serror;
836
837 DPRINTK("in xx_softreset\n");
838
839 if (ata_link_offline(link)) {
840 DPRINTK("PHY reports no device\n");
841 *class = ATA_DEV_NONE;
842 return 0;
827 } 843 }
828 844
829 /* 845 /*
@@ -834,7 +850,6 @@ try_offline_again:
834 * reached here, we can send a command to the target device 850 * reached here, we can send a command to the target device
835 */ 851 */
836 852
837issue_srst:
838 DPRINTK("Sending SRST/device reset\n"); 853 DPRINTK("Sending SRST/device reset\n");
839 854
840 ata_tf_init(link->device, &tf); 855 ata_tf_init(link->device, &tf);
@@ -860,6 +875,8 @@ issue_srst:
860 ioread32(CA + hcr_base), ioread32(CC + hcr_base)); 875 ioread32(CA + hcr_base), ioread32(CC + hcr_base));
861 876
862 iowrite32(0xFFFF, CC + hcr_base); 877 iowrite32(0xFFFF, CC + hcr_base);
878 if (pmp != SATA_PMP_CTRL_PORT)
879 iowrite32(pmp, CQPMP + hcr_base);
863 iowrite32(1, CQ + hcr_base); 880 iowrite32(1, CQ + hcr_base);
864 881
865 temp = ata_wait_register(CQ + hcr_base, 0x1, 0x1, 1, 5000); 882 temp = ata_wait_register(CQ + hcr_base, 0x1, 0x1, 1, 5000);
@@ -926,7 +943,6 @@ issue_srst:
926 VPRINTK("cereg = 0x%x\n", ioread32(hcr_base + CE)); 943 VPRINTK("cereg = 0x%x\n", ioread32(hcr_base + CE));
927 } 944 }
928 945
929out:
930 return 0; 946 return 0;
931 947
932err: 948err:
@@ -988,18 +1004,6 @@ static void sata_fsl_error_intr(struct ata_port *ap)
988 ehi->err_mask |= AC_ERR_ATA_BUS; 1004 ehi->err_mask |= AC_ERR_ATA_BUS;
989 ehi->action |= ATA_EH_SOFTRESET; 1005 ehi->action |= ATA_EH_SOFTRESET;
990 1006
991 /*
992 * Ignore serror in case of fatal errors as we always want
993 * to do a soft-reset of the FSL SATA controller. Analyzing
994 * serror may cause libata to schedule a hard-reset action,
995 * and hard-reset currently does not do controller
996 * offline/online, causing command timeouts and leads to an
997 * un-recoverable state, hence make libATA ignore
998 * autopsy in case of fatal errors.
999 */
1000
1001 ehi->flags |= ATA_EHI_NO_AUTOPSY;
1002
1003 freeze = 1; 1007 freeze = 1;
1004 } 1008 }
1005 1009
@@ -1267,8 +1271,8 @@ static struct ata_port_operations sata_fsl_ops = {
1267 1271
1268 .freeze = sata_fsl_freeze, 1272 .freeze = sata_fsl_freeze,
1269 .thaw = sata_fsl_thaw, 1273 .thaw = sata_fsl_thaw,
1270 .prereset = sata_fsl_prereset,
1271 .softreset = sata_fsl_softreset, 1274 .softreset = sata_fsl_softreset,
1275 .hardreset = sata_fsl_hardreset,
1272 .pmp_softreset = sata_fsl_softreset, 1276 .pmp_softreset = sata_fsl_softreset,
1273 .error_handler = sata_fsl_error_handler, 1277 .error_handler = sata_fsl_error_handler,
1274 .post_internal_cmd = sata_fsl_post_internal_cmd, 1278 .post_internal_cmd = sata_fsl_post_internal_cmd,
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index a770498a74ec..846d89e3d122 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -328,11 +328,11 @@ int __pm_runtime_resume(struct device *dev, bool from_wq)
328 * necessary. 328 * necessary.
329 */ 329 */
330 parent = dev->parent; 330 parent = dev->parent;
331 spin_unlock_irq(&dev->power.lock); 331 spin_unlock(&dev->power.lock);
332 332
333 pm_runtime_get_noresume(parent); 333 pm_runtime_get_noresume(parent);
334 334
335 spin_lock_irq(&parent->power.lock); 335 spin_lock(&parent->power.lock);
336 /* 336 /*
337 * We can resume if the parent's run-time PM is disabled or it 337 * We can resume if the parent's run-time PM is disabled or it
338 * is set to ignore children. 338 * is set to ignore children.
@@ -343,9 +343,9 @@ int __pm_runtime_resume(struct device *dev, bool from_wq)
343 if (parent->power.runtime_status != RPM_ACTIVE) 343 if (parent->power.runtime_status != RPM_ACTIVE)
344 retval = -EBUSY; 344 retval = -EBUSY;
345 } 345 }
346 spin_unlock_irq(&parent->power.lock); 346 spin_unlock(&parent->power.lock);
347 347
348 spin_lock_irq(&dev->power.lock); 348 spin_lock(&dev->power.lock);
349 if (retval) 349 if (retval)
350 goto out; 350 goto out;
351 goto repeat; 351 goto repeat;
@@ -777,7 +777,7 @@ int __pm_runtime_set_status(struct device *dev, unsigned int status)
777 } 777 }
778 778
779 if (parent) { 779 if (parent) {
780 spin_lock_irq(&parent->power.lock); 780 spin_lock(&parent->power.lock);
781 781
782 /* 782 /*
783 * It is invalid to put an active child under a parent that is 783 * It is invalid to put an active child under a parent that is
@@ -793,7 +793,7 @@ int __pm_runtime_set_status(struct device *dev, unsigned int status)
793 atomic_inc(&parent->power.child_count); 793 atomic_inc(&parent->power.child_count);
794 } 794 }
795 795
796 spin_unlock_irq(&parent->power.lock); 796 spin_unlock(&parent->power.lock);
797 797
798 if (error) 798 if (error)
799 goto out; 799 goto out;
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index 965ece2c7e4d..13bb69d2abb3 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -735,6 +735,21 @@ diskstats(struct gendisk *disk, struct bio *bio, ulong duration, sector_t sector
735 part_stat_unlock(); 735 part_stat_unlock();
736} 736}
737 737
738/*
739 * Ensure we don't create aliases in VI caches
740 */
741static inline void
742killalias(struct bio *bio)
743{
744 struct bio_vec *bv;
745 int i;
746
747 if (bio_data_dir(bio) == READ)
748 __bio_for_each_segment(bv, bio, i, 0) {
749 flush_dcache_page(bv->bv_page);
750 }
751}
752
738void 753void
739aoecmd_ata_rsp(struct sk_buff *skb) 754aoecmd_ata_rsp(struct sk_buff *skb)
740{ 755{
@@ -853,8 +868,12 @@ aoecmd_ata_rsp(struct sk_buff *skb)
853 868
854 if (buf && --buf->nframesout == 0 && buf->resid == 0) { 869 if (buf && --buf->nframesout == 0 && buf->resid == 0) {
855 diskstats(d->gd, buf->bio, jiffies - buf->stime, buf->sector); 870 diskstats(d->gd, buf->bio, jiffies - buf->stime, buf->sector);
856 n = (buf->flags & BUFFL_FAIL) ? -EIO : 0; 871 if (buf->flags & BUFFL_FAIL)
857 bio_endio(buf->bio, n); 872 bio_endio(buf->bio, -EIO);
873 else {
874 killalias(buf->bio);
875 bio_endio(buf->bio, 0);
876 }
858 mempool_free(buf, d->bufpool); 877 mempool_free(buf, d->bufpool);
859 } 878 }
860 879
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 6399e5090df4..92b126394fa1 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -482,7 +482,7 @@ static ssize_t host_store_rescan(struct device *dev,
482 482
483 return count; 483 return count;
484} 484}
485DEVICE_ATTR(rescan, S_IWUSR, NULL, host_store_rescan); 485static DEVICE_ATTR(rescan, S_IWUSR, NULL, host_store_rescan);
486 486
487static ssize_t dev_show_unique_id(struct device *dev, 487static ssize_t dev_show_unique_id(struct device *dev,
488 struct device_attribute *attr, 488 struct device_attribute *attr,
@@ -512,7 +512,7 @@ static ssize_t dev_show_unique_id(struct device *dev,
512 sn[8], sn[9], sn[10], sn[11], 512 sn[8], sn[9], sn[10], sn[11],
513 sn[12], sn[13], sn[14], sn[15]); 513 sn[12], sn[13], sn[14], sn[15]);
514} 514}
515DEVICE_ATTR(unique_id, S_IRUGO, dev_show_unique_id, NULL); 515static DEVICE_ATTR(unique_id, S_IRUGO, dev_show_unique_id, NULL);
516 516
517static ssize_t dev_show_vendor(struct device *dev, 517static ssize_t dev_show_vendor(struct device *dev,
518 struct device_attribute *attr, 518 struct device_attribute *attr,
@@ -536,7 +536,7 @@ static ssize_t dev_show_vendor(struct device *dev,
536 else 536 else
537 return snprintf(buf, sizeof(vendor) + 1, "%s\n", drv->vendor); 537 return snprintf(buf, sizeof(vendor) + 1, "%s\n", drv->vendor);
538} 538}
539DEVICE_ATTR(vendor, S_IRUGO, dev_show_vendor, NULL); 539static DEVICE_ATTR(vendor, S_IRUGO, dev_show_vendor, NULL);
540 540
541static ssize_t dev_show_model(struct device *dev, 541static ssize_t dev_show_model(struct device *dev,
542 struct device_attribute *attr, 542 struct device_attribute *attr,
@@ -560,7 +560,7 @@ static ssize_t dev_show_model(struct device *dev,
560 else 560 else
561 return snprintf(buf, sizeof(model) + 1, "%s\n", drv->model); 561 return snprintf(buf, sizeof(model) + 1, "%s\n", drv->model);
562} 562}
563DEVICE_ATTR(model, S_IRUGO, dev_show_model, NULL); 563static DEVICE_ATTR(model, S_IRUGO, dev_show_model, NULL);
564 564
565static ssize_t dev_show_rev(struct device *dev, 565static ssize_t dev_show_rev(struct device *dev,
566 struct device_attribute *attr, 566 struct device_attribute *attr,
@@ -584,7 +584,7 @@ static ssize_t dev_show_rev(struct device *dev,
584 else 584 else
585 return snprintf(buf, sizeof(rev) + 1, "%s\n", drv->rev); 585 return snprintf(buf, sizeof(rev) + 1, "%s\n", drv->rev);
586} 586}
587DEVICE_ATTR(rev, S_IRUGO, dev_show_rev, NULL); 587static DEVICE_ATTR(rev, S_IRUGO, dev_show_rev, NULL);
588 588
589static ssize_t cciss_show_lunid(struct device *dev, 589static ssize_t cciss_show_lunid(struct device *dev,
590 struct device_attribute *attr, char *buf) 590 struct device_attribute *attr, char *buf)
@@ -609,7 +609,7 @@ static ssize_t cciss_show_lunid(struct device *dev,
609 lunid[0], lunid[1], lunid[2], lunid[3], 609 lunid[0], lunid[1], lunid[2], lunid[3],
610 lunid[4], lunid[5], lunid[6], lunid[7]); 610 lunid[4], lunid[5], lunid[6], lunid[7]);
611} 611}
612DEVICE_ATTR(lunid, S_IRUGO, cciss_show_lunid, NULL); 612static DEVICE_ATTR(lunid, S_IRUGO, cciss_show_lunid, NULL);
613 613
614static ssize_t cciss_show_raid_level(struct device *dev, 614static ssize_t cciss_show_raid_level(struct device *dev,
615 struct device_attribute *attr, char *buf) 615 struct device_attribute *attr, char *buf)
@@ -632,7 +632,7 @@ static ssize_t cciss_show_raid_level(struct device *dev,
632 return snprintf(buf, strlen(raid_label[raid]) + 7, "RAID %s\n", 632 return snprintf(buf, strlen(raid_label[raid]) + 7, "RAID %s\n",
633 raid_label[raid]); 633 raid_label[raid]);
634} 634}
635DEVICE_ATTR(raid_level, S_IRUGO, cciss_show_raid_level, NULL); 635static DEVICE_ATTR(raid_level, S_IRUGO, cciss_show_raid_level, NULL);
636 636
637static ssize_t cciss_show_usage_count(struct device *dev, 637static ssize_t cciss_show_usage_count(struct device *dev,
638 struct device_attribute *attr, char *buf) 638 struct device_attribute *attr, char *buf)
@@ -651,7 +651,7 @@ static ssize_t cciss_show_usage_count(struct device *dev,
651 spin_unlock_irqrestore(CCISS_LOCK(h->ctlr), flags); 651 spin_unlock_irqrestore(CCISS_LOCK(h->ctlr), flags);
652 return snprintf(buf, 20, "%d\n", count); 652 return snprintf(buf, 20, "%d\n", count);
653} 653}
654DEVICE_ATTR(usage_count, S_IRUGO, cciss_show_usage_count, NULL); 654static DEVICE_ATTR(usage_count, S_IRUGO, cciss_show_usage_count, NULL);
655 655
656static struct attribute *cciss_host_attrs[] = { 656static struct attribute *cciss_host_attrs[] = {
657 &dev_attr_rescan.attr, 657 &dev_attr_rescan.attr,
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 7ba91aa3fe8b..44bc8bbabf54 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -591,6 +591,7 @@ static int btusb_close(struct hci_dev *hdev)
591 return 0; 591 return 0;
592 592
593 cancel_work_sync(&data->work); 593 cancel_work_sync(&data->work);
594 cancel_work_sync(&data->waker);
594 595
595 clear_bit(BTUSB_ISOC_RUNNING, &data->flags); 596 clear_bit(BTUSB_ISOC_RUNNING, &data->flags);
596 clear_bit(BTUSB_BULK_RUNNING, &data->flags); 597 clear_bit(BTUSB_BULK_RUNNING, &data->flags);
@@ -599,11 +600,13 @@ static int btusb_close(struct hci_dev *hdev)
599 btusb_stop_traffic(data); 600 btusb_stop_traffic(data);
600 err = usb_autopm_get_interface(data->intf); 601 err = usb_autopm_get_interface(data->intf);
601 if (err < 0) 602 if (err < 0)
602 return 0; 603 goto failed;
603 604
604 data->intf->needs_remote_wakeup = 0; 605 data->intf->needs_remote_wakeup = 0;
605 usb_autopm_put_interface(data->intf); 606 usb_autopm_put_interface(data->intf);
606 607
608failed:
609 usb_scuttle_anchored_urbs(&data->deferred);
607 return 0; 610 return 0;
608} 611}
609 612
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index 4068467ce7b9..3cb56a049e24 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -62,6 +62,7 @@
62#define PCI_DEVICE_ID_INTEL_IGDNG_D_IG 0x0042 62#define PCI_DEVICE_ID_INTEL_IGDNG_D_IG 0x0042
63#define PCI_DEVICE_ID_INTEL_IGDNG_M_HB 0x0044 63#define PCI_DEVICE_ID_INTEL_IGDNG_M_HB 0x0044
64#define PCI_DEVICE_ID_INTEL_IGDNG_MA_HB 0x0062 64#define PCI_DEVICE_ID_INTEL_IGDNG_MA_HB 0x0062
65#define PCI_DEVICE_ID_INTEL_IGDNG_MC2_HB 0x006a
65#define PCI_DEVICE_ID_INTEL_IGDNG_M_IG 0x0046 66#define PCI_DEVICE_ID_INTEL_IGDNG_M_IG 0x0046
66 67
67/* cover 915 and 945 variants */ 68/* cover 915 and 945 variants */
@@ -96,7 +97,8 @@
96 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_B43_HB || \ 97 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_B43_HB || \
97 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_D_HB || \ 98 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_D_HB || \
98 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_M_HB || \ 99 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_M_HB || \
99 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_MA_HB) 100 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_MA_HB || \
101 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_MC2_HB)
100 102
101extern int agp_memory_reserved; 103extern int agp_memory_reserved;
102 104
@@ -1161,12 +1163,6 @@ static int intel_i915_configure(void)
1161 1163
1162 intel_i9xx_setup_flush(); 1164 intel_i9xx_setup_flush();
1163 1165
1164#ifdef USE_PCI_DMA_API
1165 if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(36)))
1166 dev_err(&intel_private.pcidev->dev,
1167 "set gfx device dma mask 36bit failed!\n");
1168#endif
1169
1170 return 0; 1166 return 0;
1171} 1167}
1172 1168
@@ -1364,6 +1360,7 @@ static void intel_i965_get_gtt_range(int *gtt_offset, int *gtt_size)
1364 case PCI_DEVICE_ID_INTEL_IGDNG_D_HB: 1360 case PCI_DEVICE_ID_INTEL_IGDNG_D_HB:
1365 case PCI_DEVICE_ID_INTEL_IGDNG_M_HB: 1361 case PCI_DEVICE_ID_INTEL_IGDNG_M_HB:
1366 case PCI_DEVICE_ID_INTEL_IGDNG_MA_HB: 1362 case PCI_DEVICE_ID_INTEL_IGDNG_MA_HB:
1363 case PCI_DEVICE_ID_INTEL_IGDNG_MC2_HB:
1367 *gtt_offset = *gtt_size = MB(2); 1364 *gtt_offset = *gtt_size = MB(2);
1368 break; 1365 break;
1369 default: 1366 default:
@@ -2365,6 +2362,8 @@ static const struct intel_driver_description {
2365 "IGDNG/M", NULL, &intel_i965_driver }, 2362 "IGDNG/M", NULL, &intel_i965_driver },
2366 { PCI_DEVICE_ID_INTEL_IGDNG_MA_HB, PCI_DEVICE_ID_INTEL_IGDNG_M_IG, 0, 2363 { PCI_DEVICE_ID_INTEL_IGDNG_MA_HB, PCI_DEVICE_ID_INTEL_IGDNG_M_IG, 0,
2367 "IGDNG/MA", NULL, &intel_i965_driver }, 2364 "IGDNG/MA", NULL, &intel_i965_driver },
2365 { PCI_DEVICE_ID_INTEL_IGDNG_MC2_HB, PCI_DEVICE_ID_INTEL_IGDNG_M_IG, 0,
2366 "IGDNG/MC2", NULL, &intel_i965_driver },
2368 { 0, 0, 0, NULL, NULL, NULL } 2367 { 0, 0, 0, NULL, NULL, NULL }
2369}; 2368};
2370 2369
@@ -2456,6 +2455,11 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev,
2456 &bridge->mode); 2455 &bridge->mode);
2457 } 2456 }
2458 2457
2458 if (bridge->driver->mask_memory == intel_i965_mask_memory)
2459 if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(36)))
2460 dev_err(&intel_private.pcidev->dev,
2461 "set gfx device dma mask 36bit failed!\n");
2462
2459 pci_set_drvdata(pdev, bridge); 2463 pci_set_drvdata(pdev, bridge);
2460 return agp_add_bridge(bridge); 2464 return agp_add_bridge(bridge);
2461} 2465}
@@ -2561,6 +2565,7 @@ static struct pci_device_id agp_intel_pci_table[] = {
2561 ID(PCI_DEVICE_ID_INTEL_IGDNG_D_HB), 2565 ID(PCI_DEVICE_ID_INTEL_IGDNG_D_HB),
2562 ID(PCI_DEVICE_ID_INTEL_IGDNG_M_HB), 2566 ID(PCI_DEVICE_ID_INTEL_IGDNG_M_HB),
2563 ID(PCI_DEVICE_ID_INTEL_IGDNG_MA_HB), 2567 ID(PCI_DEVICE_ID_INTEL_IGDNG_MA_HB),
2568 ID(PCI_DEVICE_ID_INTEL_IGDNG_MC2_HB),
2564 { } 2569 { }
2565}; 2570};
2566 2571
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c
index 737be953cc58..950837cf9e9c 100644
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
@@ -1249,7 +1249,7 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw)
1249 1249
1250 if (keycode >= NR_KEYS) 1250 if (keycode >= NR_KEYS)
1251 if (keycode >= KEY_BRL_DOT1 && keycode <= KEY_BRL_DOT8) 1251 if (keycode >= KEY_BRL_DOT1 && keycode <= KEY_BRL_DOT8)
1252 keysym = K(KT_BRL, keycode - KEY_BRL_DOT1 + 1); 1252 keysym = U(K(KT_BRL, keycode - KEY_BRL_DOT1 + 1));
1253 else 1253 else
1254 return; 1254 return;
1255 else 1255 else
diff --git a/drivers/char/tty_port.c b/drivers/char/tty_port.c
index a4bbb28f10be..c63f3d33914a 100644
--- a/drivers/char/tty_port.c
+++ b/drivers/char/tty_port.c
@@ -219,8 +219,14 @@ int tty_port_block_til_ready(struct tty_port *port,
219 219
220 /* if non-blocking mode is set we can pass directly to open unless 220 /* if non-blocking mode is set we can pass directly to open unless
221 the port has just hung up or is in another error state */ 221 the port has just hung up or is in another error state */
222 if ((filp->f_flags & O_NONBLOCK) || 222 if (tty->flags & (1 << TTY_IO_ERROR)) {
223 (tty->flags & (1 << TTY_IO_ERROR))) { 223 port->flags |= ASYNC_NORMAL_ACTIVE;
224 return 0;
225 }
226 if (filp->f_flags & O_NONBLOCK) {
227 /* Indicate we are open */
228 if (tty->termios->c_cflag & CBAUD)
229 tty_port_raise_dtr_rts(port);
224 port->flags |= ASYNC_NORMAL_ACTIVE; 230 port->flags |= ASYNC_NORMAL_ACTIVE;
225 return 0; 231 return 0;
226 } 232 }
diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
index ed86d3bf249a..6aa10284104a 100644
--- a/drivers/char/vt_ioctl.c
+++ b/drivers/char/vt_ioctl.c
@@ -103,8 +103,8 @@ void vt_event_post(unsigned int event, unsigned int old, unsigned int new)
103 ve->event.event = event; 103 ve->event.event = event;
104 /* kernel view is consoles 0..n-1, user space view is 104 /* kernel view is consoles 0..n-1, user space view is
105 console 1..n with 0 meaning current, so we must bias */ 105 console 1..n with 0 meaning current, so we must bias */
106 ve->event.old = old + 1; 106 ve->event.oldev = old + 1;
107 ve->event.new = new + 1; 107 ve->event.newev = new + 1;
108 wake = 1; 108 wake = 1;
109 ve->done = 1; 109 ve->done = 1;
110 } 110 }
@@ -186,7 +186,7 @@ int vt_waitactive(int n)
186 vt_event_wait(&vw); 186 vt_event_wait(&vw);
187 if (vw.done == 0) 187 if (vw.done == 0)
188 return -EINTR; 188 return -EINTR;
189 } while (vw.event.new != n); 189 } while (vw.event.newev != n);
190 return 0; 190 return 0;
191} 191}
192 192
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 3938c7817095..ff57c40e9b8b 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -41,7 +41,7 @@ static struct cpufreq_driver *cpufreq_driver;
41static DEFINE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_data); 41static DEFINE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_data);
42#ifdef CONFIG_HOTPLUG_CPU 42#ifdef CONFIG_HOTPLUG_CPU
43/* This one keeps track of the previously set governor of a removed CPU */ 43/* This one keeps track of the previously set governor of a removed CPU */
44static DEFINE_PER_CPU(struct cpufreq_governor *, cpufreq_cpu_governor); 44static DEFINE_PER_CPU(char[CPUFREQ_NAME_LEN], cpufreq_cpu_governor);
45#endif 45#endif
46static DEFINE_SPINLOCK(cpufreq_driver_lock); 46static DEFINE_SPINLOCK(cpufreq_driver_lock);
47 47
@@ -774,10 +774,12 @@ int cpufreq_add_dev_policy(unsigned int cpu, struct cpufreq_policy *policy,
774#ifdef CONFIG_SMP 774#ifdef CONFIG_SMP
775 unsigned long flags; 775 unsigned long flags;
776 unsigned int j; 776 unsigned int j;
777
778#ifdef CONFIG_HOTPLUG_CPU 777#ifdef CONFIG_HOTPLUG_CPU
779 if (per_cpu(cpufreq_cpu_governor, cpu)) { 778 struct cpufreq_governor *gov;
780 policy->governor = per_cpu(cpufreq_cpu_governor, cpu); 779
780 gov = __find_governor(per_cpu(cpufreq_cpu_governor, cpu));
781 if (gov) {
782 policy->governor = gov;
781 dprintk("Restoring governor %s for cpu %d\n", 783 dprintk("Restoring governor %s for cpu %d\n",
782 policy->governor->name, cpu); 784 policy->governor->name, cpu);
783 } 785 }
@@ -949,10 +951,13 @@ err_out_kobj_put:
949static int cpufreq_add_dev(struct sys_device *sys_dev) 951static int cpufreq_add_dev(struct sys_device *sys_dev)
950{ 952{
951 unsigned int cpu = sys_dev->id; 953 unsigned int cpu = sys_dev->id;
952 int ret = 0; 954 int ret = 0, found = 0;
953 struct cpufreq_policy *policy; 955 struct cpufreq_policy *policy;
954 unsigned long flags; 956 unsigned long flags;
955 unsigned int j; 957 unsigned int j;
958#ifdef CONFIG_HOTPLUG_CPU
959 int sibling;
960#endif
956 961
957 if (cpu_is_offline(cpu)) 962 if (cpu_is_offline(cpu))
958 return 0; 963 return 0;
@@ -999,7 +1004,19 @@ static int cpufreq_add_dev(struct sys_device *sys_dev)
999 INIT_WORK(&policy->update, handle_update); 1004 INIT_WORK(&policy->update, handle_update);
1000 1005
1001 /* Set governor before ->init, so that driver could check it */ 1006 /* Set governor before ->init, so that driver could check it */
1002 policy->governor = CPUFREQ_DEFAULT_GOVERNOR; 1007#ifdef CONFIG_HOTPLUG_CPU
1008 for_each_online_cpu(sibling) {
1009 struct cpufreq_policy *cp = per_cpu(cpufreq_cpu_data, sibling);
1010 if (cp && cp->governor &&
1011 (cpumask_test_cpu(cpu, cp->related_cpus))) {
1012 policy->governor = cp->governor;
1013 found = 1;
1014 break;
1015 }
1016 }
1017#endif
1018 if (!found)
1019 policy->governor = CPUFREQ_DEFAULT_GOVERNOR;
1003 /* call driver. From then on the cpufreq must be able 1020 /* call driver. From then on the cpufreq must be able
1004 * to accept all calls to ->verify and ->setpolicy for this CPU 1021 * to accept all calls to ->verify and ->setpolicy for this CPU
1005 */ 1022 */
@@ -1111,7 +1128,8 @@ static int __cpufreq_remove_dev(struct sys_device *sys_dev)
1111#ifdef CONFIG_SMP 1128#ifdef CONFIG_SMP
1112 1129
1113#ifdef CONFIG_HOTPLUG_CPU 1130#ifdef CONFIG_HOTPLUG_CPU
1114 per_cpu(cpufreq_cpu_governor, cpu) = data->governor; 1131 strncpy(per_cpu(cpufreq_cpu_governor, cpu), data->governor->name,
1132 CPUFREQ_NAME_LEN);
1115#endif 1133#endif
1116 1134
1117 /* if we have other CPUs still registered, we need to unlink them, 1135 /* if we have other CPUs still registered, we need to unlink them,
@@ -1135,7 +1153,8 @@ static int __cpufreq_remove_dev(struct sys_device *sys_dev)
1135 continue; 1153 continue;
1136 dprintk("removing link for cpu %u\n", j); 1154 dprintk("removing link for cpu %u\n", j);
1137#ifdef CONFIG_HOTPLUG_CPU 1155#ifdef CONFIG_HOTPLUG_CPU
1138 per_cpu(cpufreq_cpu_governor, j) = data->governor; 1156 strncpy(per_cpu(cpufreq_cpu_governor, j),
1157 data->governor->name, CPUFREQ_NAME_LEN);
1139#endif 1158#endif
1140 cpu_sys_dev = get_cpu_sysdev(j); 1159 cpu_sys_dev = get_cpu_sysdev(j);
1141 sysfs_remove_link(&cpu_sys_dev->kobj, "cpufreq"); 1160 sysfs_remove_link(&cpu_sys_dev->kobj, "cpufreq");
@@ -1606,9 +1625,22 @@ EXPORT_SYMBOL_GPL(cpufreq_register_governor);
1606 1625
1607void cpufreq_unregister_governor(struct cpufreq_governor *governor) 1626void cpufreq_unregister_governor(struct cpufreq_governor *governor)
1608{ 1627{
1628#ifdef CONFIG_HOTPLUG_CPU
1629 int cpu;
1630#endif
1631
1609 if (!governor) 1632 if (!governor)
1610 return; 1633 return;
1611 1634
1635#ifdef CONFIG_HOTPLUG_CPU
1636 for_each_present_cpu(cpu) {
1637 if (cpu_online(cpu))
1638 continue;
1639 if (!strcmp(per_cpu(cpufreq_cpu_governor, cpu), governor->name))
1640 strcpy(per_cpu(cpufreq_cpu_governor, cpu), "\0");
1641 }
1642#endif
1643
1612 mutex_lock(&cpufreq_governor_mutex); 1644 mutex_lock(&cpufreq_governor_mutex);
1613 list_del(&governor->governor_list); 1645 list_del(&governor->governor_list);
1614 mutex_unlock(&cpufreq_governor_mutex); 1646 mutex_unlock(&cpufreq_governor_mutex);
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c
index bc33ddc9c97c..c7b081b839ff 100644
--- a/drivers/cpufreq/cpufreq_conservative.c
+++ b/drivers/cpufreq/cpufreq_conservative.c
@@ -116,9 +116,9 @@ static inline cputime64_t get_cpu_idle_time_jiffy(unsigned int cpu,
116 116
117 idle_time = cputime64_sub(cur_wall_time, busy_time); 117 idle_time = cputime64_sub(cur_wall_time, busy_time);
118 if (wall) 118 if (wall)
119 *wall = cur_wall_time; 119 *wall = (cputime64_t)jiffies_to_usecs(cur_wall_time);
120 120
121 return idle_time; 121 return (cputime64_t)jiffies_to_usecs(idle_time);;
122} 122}
123 123
124static inline cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall) 124static inline cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall)
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
index 071699de50ee..4b34ade2332b 100644
--- a/drivers/cpufreq/cpufreq_ondemand.c
+++ b/drivers/cpufreq/cpufreq_ondemand.c
@@ -133,9 +133,9 @@ static inline cputime64_t get_cpu_idle_time_jiffy(unsigned int cpu,
133 133
134 idle_time = cputime64_sub(cur_wall_time, busy_time); 134 idle_time = cputime64_sub(cur_wall_time, busy_time);
135 if (wall) 135 if (wall)
136 *wall = cur_wall_time; 136 *wall = (cputime64_t)jiffies_to_usecs(cur_wall_time);
137 137
138 return idle_time; 138 return (cputime64_t)jiffies_to_usecs(idle_time);
139} 139}
140 140
141static inline cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall) 141static inline cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall)
diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c
index a9952b1236b0..84c51e177269 100644
--- a/drivers/crypto/padlock-aes.c
+++ b/drivers/crypto/padlock-aes.c
@@ -236,7 +236,7 @@ static inline void ecb_crypt(const u8 *in, u8 *out, u32 *key,
236 /* Padlock in ECB mode fetches at least ecb_fetch_bytes of data. 236 /* Padlock in ECB mode fetches at least ecb_fetch_bytes of data.
237 * We could avoid some copying here but it's probably not worth it. 237 * We could avoid some copying here but it's probably not worth it.
238 */ 238 */
239 if (unlikely(((unsigned long)in & PAGE_SIZE) + ecb_fetch_bytes > PAGE_SIZE)) { 239 if (unlikely(((unsigned long)in & ~PAGE_MASK) + ecb_fetch_bytes > PAGE_SIZE)) {
240 ecb_crypt_copy(in, out, key, cword, count); 240 ecb_crypt_copy(in, out, key, cword, count);
241 return; 241 return;
242 } 242 }
@@ -248,7 +248,7 @@ static inline u8 *cbc_crypt(const u8 *in, u8 *out, u32 *key,
248 u8 *iv, struct cword *cword, int count) 248 u8 *iv, struct cword *cword, int count)
249{ 249{
250 /* Padlock in CBC mode fetches at least cbc_fetch_bytes of data. */ 250 /* Padlock in CBC mode fetches at least cbc_fetch_bytes of data. */
251 if (unlikely(((unsigned long)in & PAGE_SIZE) + cbc_fetch_bytes > PAGE_SIZE)) 251 if (unlikely(((unsigned long)in & ~PAGE_MASK) + cbc_fetch_bytes > PAGE_SIZE))
252 return cbc_crypt_copy(in, out, key, iv, cword, count); 252 return cbc_crypt_copy(in, out, key, iv, cword, count);
253 253
254 return rep_xcrypt_cbc(in, out, key, iv, cword, count); 254 return rep_xcrypt_cbc(in, out, key, iv, cword, count);
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index 5903a88351bf..b401dadad4a8 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -26,6 +26,8 @@ config INTEL_IOATDMA
26 select DMA_ENGINE 26 select DMA_ENGINE
27 select DCA 27 select DCA
28 select ASYNC_TX_DISABLE_CHANNEL_SWITCH 28 select ASYNC_TX_DISABLE_CHANNEL_SWITCH
29 select ASYNC_TX_DISABLE_PQ_VAL_DMA
30 select ASYNC_TX_DISABLE_XOR_VAL_DMA
29 help 31 help
30 Enable support for the Intel(R) I/OAT DMA engine present 32 Enable support for the Intel(R) I/OAT DMA engine present
31 in recent Intel Xeon chipsets. 33 in recent Intel Xeon chipsets.
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
index bd0b248de2cf..8f99354082ce 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
@@ -632,11 +632,21 @@ static bool device_has_all_tx_types(struct dma_device *device)
632 #if defined(CONFIG_ASYNC_XOR) || defined(CONFIG_ASYNC_XOR_MODULE) 632 #if defined(CONFIG_ASYNC_XOR) || defined(CONFIG_ASYNC_XOR_MODULE)
633 if (!dma_has_cap(DMA_XOR, device->cap_mask)) 633 if (!dma_has_cap(DMA_XOR, device->cap_mask))
634 return false; 634 return false;
635
636 #ifndef CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA
637 if (!dma_has_cap(DMA_XOR_VAL, device->cap_mask))
638 return false;
639 #endif
635 #endif 640 #endif
636 641
637 #if defined(CONFIG_ASYNC_PQ) || defined(CONFIG_ASYNC_PQ_MODULE) 642 #if defined(CONFIG_ASYNC_PQ) || defined(CONFIG_ASYNC_PQ_MODULE)
638 if (!dma_has_cap(DMA_PQ, device->cap_mask)) 643 if (!dma_has_cap(DMA_PQ, device->cap_mask))
639 return false; 644 return false;
645
646 #ifndef CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA
647 if (!dma_has_cap(DMA_PQ_VAL, device->cap_mask))
648 return false;
649 #endif
640 #endif 650 #endif
641 651
642 return true; 652 return true;
diff --git a/drivers/dma/ioat/dca.c b/drivers/dma/ioat/dca.c
index 69d02615c4d6..abd9038e06b1 100644
--- a/drivers/dma/ioat/dca.c
+++ b/drivers/dma/ioat/dca.c
@@ -98,17 +98,17 @@ static int dca_enabled_in_bios(struct pci_dev *pdev)
98 cpuid_level_9 = cpuid_eax(9); 98 cpuid_level_9 = cpuid_eax(9);
99 res = test_bit(0, &cpuid_level_9); 99 res = test_bit(0, &cpuid_level_9);
100 if (!res) 100 if (!res)
101 dev_err(&pdev->dev, "DCA is disabled in BIOS\n"); 101 dev_dbg(&pdev->dev, "DCA is disabled in BIOS\n");
102 102
103 return res; 103 return res;
104} 104}
105 105
106static int system_has_dca_enabled(struct pci_dev *pdev) 106int system_has_dca_enabled(struct pci_dev *pdev)
107{ 107{
108 if (boot_cpu_has(X86_FEATURE_DCA)) 108 if (boot_cpu_has(X86_FEATURE_DCA))
109 return dca_enabled_in_bios(pdev); 109 return dca_enabled_in_bios(pdev);
110 110
111 dev_err(&pdev->dev, "boot cpu doesn't have X86_FEATURE_DCA\n"); 111 dev_dbg(&pdev->dev, "boot cpu doesn't have X86_FEATURE_DCA\n");
112 return 0; 112 return 0;
113} 113}
114 114
diff --git a/drivers/dma/ioat/dma.h b/drivers/dma/ioat/dma.h
index c14fdfeb7f33..45edde996480 100644
--- a/drivers/dma/ioat/dma.h
+++ b/drivers/dma/ioat/dma.h
@@ -297,9 +297,7 @@ static inline bool is_ioat_suspended(unsigned long status)
297/* channel was fatally programmed */ 297/* channel was fatally programmed */
298static inline bool is_ioat_bug(unsigned long err) 298static inline bool is_ioat_bug(unsigned long err)
299{ 299{
300 return !!(err & (IOAT_CHANERR_SRC_ADDR_ERR|IOAT_CHANERR_DEST_ADDR_ERR| 300 return !!err;
301 IOAT_CHANERR_NEXT_ADDR_ERR|IOAT_CHANERR_CONTROL_ERR|
302 IOAT_CHANERR_LENGTH_ERR));
303} 301}
304 302
305static inline void ioat_unmap(struct pci_dev *pdev, dma_addr_t addr, size_t len, 303static inline void ioat_unmap(struct pci_dev *pdev, dma_addr_t addr, size_t len,
diff --git a/drivers/dma/ioat/dma_v2.c b/drivers/dma/ioat/dma_v2.c
index 96ffab7d37a7..8f1f7f05deaa 100644
--- a/drivers/dma/ioat/dma_v2.c
+++ b/drivers/dma/ioat/dma_v2.c
@@ -279,6 +279,8 @@ void ioat2_timer_event(unsigned long data)
279 u32 chanerr; 279 u32 chanerr;
280 280
281 chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET); 281 chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET);
282 dev_err(to_dev(chan), "%s: Channel halted (%x)\n",
283 __func__, chanerr);
282 BUG_ON(is_ioat_bug(chanerr)); 284 BUG_ON(is_ioat_bug(chanerr));
283 } 285 }
284 286
diff --git a/drivers/dma/ioat/dma_v3.c b/drivers/dma/ioat/dma_v3.c
index 35d1e33afd5b..42f6f10fb0cc 100644
--- a/drivers/dma/ioat/dma_v3.c
+++ b/drivers/dma/ioat/dma_v3.c
@@ -378,6 +378,8 @@ static void ioat3_timer_event(unsigned long data)
378 u32 chanerr; 378 u32 chanerr;
379 379
380 chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET); 380 chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET);
381 dev_err(to_dev(chan), "%s: Channel halted (%x)\n",
382 __func__, chanerr);
381 BUG_ON(is_ioat_bug(chanerr)); 383 BUG_ON(is_ioat_bug(chanerr));
382 } 384 }
383 385
@@ -569,7 +571,7 @@ __ioat3_prep_xor_lock(struct dma_chan *c, enum sum_check_flags *result,
569 dump_desc_dbg(ioat, compl_desc); 571 dump_desc_dbg(ioat, compl_desc);
570 572
571 /* we leave the channel locked to ensure in order submission */ 573 /* we leave the channel locked to ensure in order submission */
572 return &desc->txd; 574 return &compl_desc->txd;
573} 575}
574 576
575static struct dma_async_tx_descriptor * 577static struct dma_async_tx_descriptor *
@@ -728,7 +730,7 @@ __ioat3_prep_pq_lock(struct dma_chan *c, enum sum_check_flags *result,
728 dump_desc_dbg(ioat, compl_desc); 730 dump_desc_dbg(ioat, compl_desc);
729 731
730 /* we leave the channel locked to ensure in order submission */ 732 /* we leave the channel locked to ensure in order submission */
731 return &desc->txd; 733 return &compl_desc->txd;
732} 734}
733 735
734static struct dma_async_tx_descriptor * 736static struct dma_async_tx_descriptor *
@@ -736,10 +738,16 @@ ioat3_prep_pq(struct dma_chan *chan, dma_addr_t *dst, dma_addr_t *src,
736 unsigned int src_cnt, const unsigned char *scf, size_t len, 738 unsigned int src_cnt, const unsigned char *scf, size_t len,
737 unsigned long flags) 739 unsigned long flags)
738{ 740{
741 /* specify valid address for disabled result */
742 if (flags & DMA_PREP_PQ_DISABLE_P)
743 dst[0] = dst[1];
744 if (flags & DMA_PREP_PQ_DISABLE_Q)
745 dst[1] = dst[0];
746
739 /* handle the single source multiply case from the raid6 747 /* handle the single source multiply case from the raid6
740 * recovery path 748 * recovery path
741 */ 749 */
742 if (unlikely((flags & DMA_PREP_PQ_DISABLE_P) && src_cnt == 1)) { 750 if ((flags & DMA_PREP_PQ_DISABLE_P) && src_cnt == 1) {
743 dma_addr_t single_source[2]; 751 dma_addr_t single_source[2];
744 unsigned char single_source_coef[2]; 752 unsigned char single_source_coef[2];
745 753
@@ -761,6 +769,12 @@ ioat3_prep_pq_val(struct dma_chan *chan, dma_addr_t *pq, dma_addr_t *src,
761 unsigned int src_cnt, const unsigned char *scf, size_t len, 769 unsigned int src_cnt, const unsigned char *scf, size_t len,
762 enum sum_check_flags *pqres, unsigned long flags) 770 enum sum_check_flags *pqres, unsigned long flags)
763{ 771{
772 /* specify valid address for disabled result */
773 if (flags & DMA_PREP_PQ_DISABLE_P)
774 pq[0] = pq[1];
775 if (flags & DMA_PREP_PQ_DISABLE_Q)
776 pq[1] = pq[0];
777
764 /* the cleanup routine only sets bits on validate failure, it 778 /* the cleanup routine only sets bits on validate failure, it
765 * does not clear bits on validate success... so clear it here 779 * does not clear bits on validate success... so clear it here
766 */ 780 */
@@ -778,9 +792,9 @@ ioat3_prep_pqxor(struct dma_chan *chan, dma_addr_t dst, dma_addr_t *src,
778 dma_addr_t pq[2]; 792 dma_addr_t pq[2];
779 793
780 memset(scf, 0, src_cnt); 794 memset(scf, 0, src_cnt);
781 flags |= DMA_PREP_PQ_DISABLE_Q;
782 pq[0] = dst; 795 pq[0] = dst;
783 pq[1] = ~0; 796 flags |= DMA_PREP_PQ_DISABLE_Q;
797 pq[1] = dst; /* specify valid address for disabled result */
784 798
785 return __ioat3_prep_pq_lock(chan, NULL, pq, src, src_cnt, scf, len, 799 return __ioat3_prep_pq_lock(chan, NULL, pq, src, src_cnt, scf, len,
786 flags); 800 flags);
@@ -800,9 +814,9 @@ ioat3_prep_pqxor_val(struct dma_chan *chan, dma_addr_t *src,
800 *result = 0; 814 *result = 0;
801 815
802 memset(scf, 0, src_cnt); 816 memset(scf, 0, src_cnt);
803 flags |= DMA_PREP_PQ_DISABLE_Q;
804 pq[0] = src[0]; 817 pq[0] = src[0];
805 pq[1] = ~0; 818 flags |= DMA_PREP_PQ_DISABLE_Q;
819 pq[1] = pq[0]; /* specify valid address for disabled result */
806 820
807 return __ioat3_prep_pq_lock(chan, result, pq, &src[1], src_cnt - 1, scf, 821 return __ioat3_prep_pq_lock(chan, result, pq, &src[1], src_cnt - 1, scf,
808 len, flags); 822 len, flags);
@@ -1117,6 +1131,7 @@ static int __devinit ioat3_dma_self_test(struct ioatdma_device *device)
1117int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca) 1131int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca)
1118{ 1132{
1119 struct pci_dev *pdev = device->pdev; 1133 struct pci_dev *pdev = device->pdev;
1134 int dca_en = system_has_dca_enabled(pdev);
1120 struct dma_device *dma; 1135 struct dma_device *dma;
1121 struct dma_chan *c; 1136 struct dma_chan *c;
1122 struct ioat_chan_common *chan; 1137 struct ioat_chan_common *chan;
@@ -1137,6 +1152,11 @@ int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca)
1137 dma->device_prep_dma_interrupt = ioat3_prep_interrupt_lock; 1152 dma->device_prep_dma_interrupt = ioat3_prep_interrupt_lock;
1138 1153
1139 cap = readl(device->reg_base + IOAT_DMA_CAP_OFFSET); 1154 cap = readl(device->reg_base + IOAT_DMA_CAP_OFFSET);
1155
1156 /* dca is incompatible with raid operations */
1157 if (dca_en && (cap & (IOAT_CAP_XOR|IOAT_CAP_PQ)))
1158 cap &= ~(IOAT_CAP_XOR|IOAT_CAP_PQ);
1159
1140 if (cap & IOAT_CAP_XOR) { 1160 if (cap & IOAT_CAP_XOR) {
1141 is_raid_device = true; 1161 is_raid_device = true;
1142 dma->max_xor = 8; 1162 dma->max_xor = 8;
@@ -1186,6 +1206,16 @@ int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca)
1186 device->timer_fn = ioat2_timer_event; 1206 device->timer_fn = ioat2_timer_event;
1187 } 1207 }
1188 1208
1209 #ifdef CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA
1210 dma_cap_clear(DMA_PQ_VAL, dma->cap_mask);
1211 dma->device_prep_dma_pq_val = NULL;
1212 #endif
1213
1214 #ifdef CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA
1215 dma_cap_clear(DMA_XOR_VAL, dma->cap_mask);
1216 dma->device_prep_dma_xor_val = NULL;
1217 #endif
1218
1189 /* -= IOAT ver.3 workarounds =- */ 1219 /* -= IOAT ver.3 workarounds =- */
1190 /* Write CHANERRMSK_INT with 3E07h to mask out the errors 1220 /* Write CHANERRMSK_INT with 3E07h to mask out the errors
1191 * that can cause stability issues for IOAT ver.3 1221 * that can cause stability issues for IOAT ver.3
diff --git a/drivers/dma/ioat/hw.h b/drivers/dma/ioat/hw.h
index 99afb12bd409..60e675455b6a 100644
--- a/drivers/dma/ioat/hw.h
+++ b/drivers/dma/ioat/hw.h
@@ -39,6 +39,8 @@
39#define IOAT_VER_3_0 0x30 /* Version 3.0 */ 39#define IOAT_VER_3_0 0x30 /* Version 3.0 */
40#define IOAT_VER_3_2 0x32 /* Version 3.2 */ 40#define IOAT_VER_3_2 0x32 /* Version 3.2 */
41 41
42int system_has_dca_enabled(struct pci_dev *pdev);
43
42struct ioat_dma_descriptor { 44struct ioat_dma_descriptor {
43 uint32_t size; 45 uint32_t size;
44 union { 46 union {
diff --git a/drivers/dma/ioat/registers.h b/drivers/dma/ioat/registers.h
index 63038e18ab03..f015ec196700 100644
--- a/drivers/dma/ioat/registers.h
+++ b/drivers/dma/ioat/registers.h
@@ -92,9 +92,7 @@
92#define IOAT_CHANCTRL_ERR_COMPLETION_EN 0x0004 92#define IOAT_CHANCTRL_ERR_COMPLETION_EN 0x0004
93#define IOAT_CHANCTRL_INT_REARM 0x0001 93#define IOAT_CHANCTRL_INT_REARM 0x0001
94#define IOAT_CHANCTRL_RUN (IOAT_CHANCTRL_INT_REARM |\ 94#define IOAT_CHANCTRL_RUN (IOAT_CHANCTRL_INT_REARM |\
95 IOAT_CHANCTRL_ERR_COMPLETION_EN |\ 95 IOAT_CHANCTRL_ANY_ERR_ABORT_EN)
96 IOAT_CHANCTRL_ANY_ERR_ABORT_EN |\
97 IOAT_CHANCTRL_ERR_INT_EN)
98 96
99#define IOAT_DMA_COMP_OFFSET 0x02 /* 16-bit DMA channel compatibility */ 97#define IOAT_DMA_COMP_OFFSET 0x02 /* 16-bit DMA channel compatibility */
100#define IOAT_DMA_COMP_V1 0x0001 /* Compatibility with DMA version 1 */ 98#define IOAT_DMA_COMP_V1 0x0001 /* Compatibility with DMA version 1 */
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c
index b3b065c4e5c1..034ecf0ace03 100644
--- a/drivers/dma/shdma.c
+++ b/drivers/dma/shdma.c
@@ -640,17 +640,16 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
640#endif 640#endif
641 struct sh_dmae_device *shdev; 641 struct sh_dmae_device *shdev;
642 642
643 /* get platform data */
644 if (!pdev->dev.platform_data)
645 return -ENODEV;
646
643 shdev = kzalloc(sizeof(struct sh_dmae_device), GFP_KERNEL); 647 shdev = kzalloc(sizeof(struct sh_dmae_device), GFP_KERNEL);
644 if (!shdev) { 648 if (!shdev) {
645 dev_err(&pdev->dev, "No enough memory\n"); 649 dev_err(&pdev->dev, "No enough memory\n");
646 err = -ENOMEM; 650 return -ENOMEM;
647 goto shdev_err;
648 } 651 }
649 652
650 /* get platform data */
651 if (!pdev->dev.platform_data)
652 goto shdev_err;
653
654 /* platform data */ 653 /* platform data */
655 memcpy(&shdev->pdata, pdev->dev.platform_data, 654 memcpy(&shdev->pdata, pdev->dev.platform_data,
656 sizeof(struct sh_dmae_pdata)); 655 sizeof(struct sh_dmae_pdata));
@@ -722,7 +721,6 @@ eirq_err:
722rst_err: 721rst_err:
723 kfree(shdev); 722 kfree(shdev);
724 723
725shdev_err:
726 return err; 724 return err;
727} 725}
728 726
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
index 5d524254499e..94260aa76aa3 100644
--- a/drivers/firewire/ohci.c
+++ b/drivers/firewire/ohci.c
@@ -275,7 +275,7 @@ static void log_irqs(u32 evt)
275 !(evt & OHCI1394_busReset)) 275 !(evt & OHCI1394_busReset))
276 return; 276 return;
277 277
278 fw_notify("IRQ %08x%s%s%s%s%s%s%s%s%s%s%s%s%s\n", evt, 278 fw_notify("IRQ %08x%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", evt,
279 evt & OHCI1394_selfIDComplete ? " selfID" : "", 279 evt & OHCI1394_selfIDComplete ? " selfID" : "",
280 evt & OHCI1394_RQPkt ? " AR_req" : "", 280 evt & OHCI1394_RQPkt ? " AR_req" : "",
281 evt & OHCI1394_RSPkt ? " AR_resp" : "", 281 evt & OHCI1394_RSPkt ? " AR_resp" : "",
@@ -286,6 +286,7 @@ static void log_irqs(u32 evt)
286 evt & OHCI1394_postedWriteErr ? " postedWriteErr" : "", 286 evt & OHCI1394_postedWriteErr ? " postedWriteErr" : "",
287 evt & OHCI1394_cycleTooLong ? " cycleTooLong" : "", 287 evt & OHCI1394_cycleTooLong ? " cycleTooLong" : "",
288 evt & OHCI1394_cycle64Seconds ? " cycle64Seconds" : "", 288 evt & OHCI1394_cycle64Seconds ? " cycle64Seconds" : "",
289 evt & OHCI1394_cycleInconsistent ? " cycleInconsistent" : "",
289 evt & OHCI1394_regAccessFail ? " regAccessFail" : "", 290 evt & OHCI1394_regAccessFail ? " regAccessFail" : "",
290 evt & OHCI1394_busReset ? " busReset" : "", 291 evt & OHCI1394_busReset ? " busReset" : "",
291 evt & ~(OHCI1394_selfIDComplete | OHCI1394_RQPkt | 292 evt & ~(OHCI1394_selfIDComplete | OHCI1394_RQPkt |
@@ -293,6 +294,7 @@ static void log_irqs(u32 evt)
293 OHCI1394_respTxComplete | OHCI1394_isochRx | 294 OHCI1394_respTxComplete | OHCI1394_isochRx |
294 OHCI1394_isochTx | OHCI1394_postedWriteErr | 295 OHCI1394_isochTx | OHCI1394_postedWriteErr |
295 OHCI1394_cycleTooLong | OHCI1394_cycle64Seconds | 296 OHCI1394_cycleTooLong | OHCI1394_cycle64Seconds |
297 OHCI1394_cycleInconsistent |
296 OHCI1394_regAccessFail | OHCI1394_busReset) 298 OHCI1394_regAccessFail | OHCI1394_busReset)
297 ? " ?" : ""); 299 ? " ?" : "");
298} 300}
@@ -1439,6 +1441,17 @@ static irqreturn_t irq_handler(int irq, void *data)
1439 OHCI1394_LinkControl_cycleMaster); 1441 OHCI1394_LinkControl_cycleMaster);
1440 } 1442 }
1441 1443
1444 if (unlikely(event & OHCI1394_cycleInconsistent)) {
1445 /*
1446 * We need to clear this event bit in order to make
1447 * cycleMatch isochronous I/O work. In theory we should
1448 * stop active cycleMatch iso contexts now and restart
1449 * them at least two cycles later. (FIXME?)
1450 */
1451 if (printk_ratelimit())
1452 fw_notify("isochronous cycle inconsistent\n");
1453 }
1454
1442 if (event & OHCI1394_cycle64Seconds) { 1455 if (event & OHCI1394_cycle64Seconds) {
1443 cycle_time = reg_read(ohci, OHCI1394_IsochronousCycleTimer); 1456 cycle_time = reg_read(ohci, OHCI1394_IsochronousCycleTimer);
1444 if ((cycle_time & 0x80000000) == 0) 1457 if ((cycle_time & 0x80000000) == 0)
@@ -1528,6 +1541,7 @@ static int ohci_enable(struct fw_card *card, u32 *config_rom, size_t length)
1528 OHCI1394_reqTxComplete | OHCI1394_respTxComplete | 1541 OHCI1394_reqTxComplete | OHCI1394_respTxComplete |
1529 OHCI1394_isochRx | OHCI1394_isochTx | 1542 OHCI1394_isochRx | OHCI1394_isochTx |
1530 OHCI1394_postedWriteErr | OHCI1394_cycleTooLong | 1543 OHCI1394_postedWriteErr | OHCI1394_cycleTooLong |
1544 OHCI1394_cycleInconsistent |
1531 OHCI1394_cycle64Seconds | OHCI1394_regAccessFail | 1545 OHCI1394_cycle64Seconds | OHCI1394_regAccessFail |
1532 OHCI1394_masterIntEnable); 1546 OHCI1394_masterIntEnable);
1533 if (param_debug & OHCI_PARAM_DEBUG_BUSRESETS) 1547 if (param_debug & OHCI_PARAM_DEBUG_BUSRESETS)
@@ -1890,15 +1904,30 @@ static int handle_it_packet(struct context *context,
1890{ 1904{
1891 struct iso_context *ctx = 1905 struct iso_context *ctx =
1892 container_of(context, struct iso_context, context); 1906 container_of(context, struct iso_context, context);
1907 int i;
1908 struct descriptor *pd;
1893 1909
1894 if (last->transfer_status == 0) 1910 for (pd = d; pd <= last; pd++)
1895 /* This descriptor isn't done yet, stop iteration. */ 1911 if (pd->transfer_status)
1912 break;
1913 if (pd > last)
1914 /* Descriptor(s) not done yet, stop iteration */
1896 return 0; 1915 return 0;
1897 1916
1898 if (le16_to_cpu(last->control) & DESCRIPTOR_IRQ_ALWAYS) 1917 i = ctx->header_length;
1918 if (i + 4 < PAGE_SIZE) {
1919 /* Present this value as big-endian to match the receive code */
1920 *(__be32 *)(ctx->header + i) = cpu_to_be32(
1921 ((u32)le16_to_cpu(pd->transfer_status) << 16) |
1922 le16_to_cpu(pd->res_count));
1923 ctx->header_length += 4;
1924 }
1925 if (le16_to_cpu(last->control) & DESCRIPTOR_IRQ_ALWAYS) {
1899 ctx->base.callback(&ctx->base, le16_to_cpu(last->res_count), 1926 ctx->base.callback(&ctx->base, le16_to_cpu(last->res_count),
1900 0, NULL, ctx->base.callback_data); 1927 ctx->header_length, ctx->header,
1901 1928 ctx->base.callback_data);
1929 ctx->header_length = 0;
1930 }
1902 return 1; 1931 return 1;
1903} 1932}
1904 1933
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 662ed923d9eb..50de0f5750d8 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -661,7 +661,7 @@ int gpio_export(unsigned gpio, bool direction_may_change)
661 661
662 dev = device_create(&gpio_class, desc->chip->dev, MKDEV(0, 0), 662 dev = device_create(&gpio_class, desc->chip->dev, MKDEV(0, 0),
663 desc, ioname ? ioname : "gpio%d", gpio); 663 desc, ioname ? ioname : "gpio%d", gpio);
664 if (dev) { 664 if (!IS_ERR(dev)) {
665 if (direction_may_change) 665 if (direction_may_change)
666 status = sysfs_create_group(&dev->kobj, 666 status = sysfs_create_group(&dev->kobj,
667 &gpio_attr_group); 667 &gpio_attr_group);
@@ -679,7 +679,7 @@ int gpio_export(unsigned gpio, bool direction_may_change)
679 if (status != 0) 679 if (status != 0)
680 device_unregister(dev); 680 device_unregister(dev);
681 } else 681 } else
682 status = -ENODEV; 682 status = PTR_ERR(dev);
683 if (status == 0) 683 if (status == 0)
684 set_bit(FLAG_EXPORT, &desc->flags); 684 set_bit(FLAG_EXPORT, &desc->flags);
685 } 685 }
@@ -800,11 +800,11 @@ static int gpiochip_export(struct gpio_chip *chip)
800 mutex_lock(&sysfs_lock); 800 mutex_lock(&sysfs_lock);
801 dev = device_create(&gpio_class, chip->dev, MKDEV(0, 0), chip, 801 dev = device_create(&gpio_class, chip->dev, MKDEV(0, 0), chip,
802 "gpiochip%d", chip->base); 802 "gpiochip%d", chip->base);
803 if (dev) { 803 if (!IS_ERR(dev)) {
804 status = sysfs_create_group(&dev->kobj, 804 status = sysfs_create_group(&dev->kobj,
805 &gpiochip_attr_group); 805 &gpiochip_attr_group);
806 } else 806 } else
807 status = -ENODEV; 807 status = PTR_ERR(dev);
808 chip->exported = (status == 0); 808 chip->exported = (status == 0);
809 mutex_unlock(&sysfs_lock); 809 mutex_unlock(&sysfs_lock);
810 810
diff --git a/drivers/gpio/langwell_gpio.c b/drivers/gpio/langwell_gpio.c
index 5711ce5353c6..4baf3d7d0f8e 100644
--- a/drivers/gpio/langwell_gpio.c
+++ b/drivers/gpio/langwell_gpio.c
@@ -144,13 +144,6 @@ static int lnw_irq_type(unsigned irq, unsigned type)
144 144
145static void lnw_irq_unmask(unsigned irq) 145static void lnw_irq_unmask(unsigned irq)
146{ 146{
147 struct lnw_gpio *lnw = get_irq_chip_data(irq);
148 u32 gpio = irq - lnw->irq_base;
149 u8 reg = gpio / 32;
150 void __iomem *gedr;
151
152 gedr = (void __iomem *)(&lnw->reg_base->GEDR[reg]);
153 writel(BIT(gpio % 32), gedr);
154}; 147};
155 148
156static void lnw_irq_mask(unsigned irq) 149static void lnw_irq_mask(unsigned irq)
@@ -183,13 +176,11 @@ static void lnw_irq_handler(unsigned irq, struct irq_desc *desc)
183 gedr_v = readl(gedr); 176 gedr_v = readl(gedr);
184 if (!gedr_v) 177 if (!gedr_v)
185 continue; 178 continue;
186 for (gpio = reg*32; gpio < reg*32+32; gpio++) { 179 for (gpio = reg*32; gpio < reg*32+32; gpio++)
187 gedr_v = readl(gedr);
188 if (gedr_v & BIT(gpio % 32)) { 180 if (gedr_v & BIT(gpio % 32)) {
189 pr_debug("pin %d triggered\n", gpio); 181 pr_debug("pin %d triggered\n", gpio);
190 generic_handle_irq(lnw->irq_base + gpio); 182 generic_handle_irq(lnw->irq_base + gpio);
191 } 183 }
192 }
193 /* clear the edge detect status bit */ 184 /* clear the edge detect status bit */
194 writel(gedr_v, gedr); 185 writel(gedr_v, gedr);
195 } 186 }
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index f831ea159291..96eddd17e050 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -92,6 +92,7 @@ config DRM_I830
92config DRM_I915 92config DRM_I915
93 tristate "i915 driver" 93 tristate "i915 driver"
94 depends on AGP_INTEL 94 depends on AGP_INTEL
95 select SHMEM
95 select DRM_KMS_HELPER 96 select DRM_KMS_HELPER
96 select FB_CFB_FILLRECT 97 select FB_CFB_FILLRECT
97 select FB_CFB_COPYAREA 98 select FB_CFB_COPYAREA
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index c5bd50ce78e2..3963b3c1081a 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -331,6 +331,7 @@ create_mode:
331 cmdline_mode->refresh_specified ? cmdline_mode->refresh : 60, 331 cmdline_mode->refresh_specified ? cmdline_mode->refresh : 60,
332 cmdline_mode->rb, cmdline_mode->interlace, 332 cmdline_mode->rb, cmdline_mode->interlace,
333 cmdline_mode->margins); 333 cmdline_mode->margins);
334 drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
334 list_add(&mode->head, &connector->modes); 335 list_add(&mode->head, &connector->modes);
335 return mode; 336 return mode;
336} 337}
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 30af8f3e6427..c39b26f1abed 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -673,6 +673,12 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
673 return NULL; 673 return NULL;
674 } 674 }
675 675
676 /* Some EDIDs have bogus h/vtotal values */
677 if (mode->hsync_end > mode->htotal)
678 mode->htotal = mode->hsync_end + 1;
679 if (mode->vsync_end > mode->vtotal)
680 mode->vtotal = mode->vsync_end + 1;
681
676 drm_mode_set_name(mode); 682 drm_mode_set_name(mode);
677 683
678 if (pt->misc & DRM_EDID_PT_INTERLACED) 684 if (pt->misc & DRM_EDID_PT_INTERLACED)
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 9a0aac0f7b79..1b49fa055f4f 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -710,7 +710,7 @@ int drm_fb_helper_set_par(struct fb_info *info)
710 710
711 if (crtc->fb == fb_helper->crtc_info[i].mode_set.fb) { 711 if (crtc->fb == fb_helper->crtc_info[i].mode_set.fb) {
712 mutex_lock(&dev->mode_config.mutex); 712 mutex_lock(&dev->mode_config.mutex);
713 ret = crtc->funcs->set_config(&fb_helper->crtc_info->mode_set); 713 ret = crtc->funcs->set_config(&fb_helper->crtc_info[i].mode_set);
714 mutex_unlock(&dev->mode_config.mutex); 714 mutex_unlock(&dev->mode_config.mutex);
715 if (ret) 715 if (ret)
716 return ret; 716 return ret;
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 80391995bdec..e9dbb481c469 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -552,7 +552,7 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
552 vma->vm_flags |= VM_RESERVED | VM_IO | VM_PFNMAP | VM_DONTEXPAND; 552 vma->vm_flags |= VM_RESERVED | VM_IO | VM_PFNMAP | VM_DONTEXPAND;
553 vma->vm_ops = obj->dev->driver->gem_vm_ops; 553 vma->vm_ops = obj->dev->driver->gem_vm_ops;
554 vma->vm_private_data = map->handle; 554 vma->vm_private_data = map->handle;
555 vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); 555 vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags));
556 556
557 /* Take a ref for this mapping of the object, so that the fault 557 /* Take a ref for this mapping of the object, so that the fault
558 * handler can dereference the mmap offset's pointer to the object. 558 * handler can dereference the mmap offset's pointer to the object.
diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
index 59cebd7d3fc2..1f0d717dbad6 100644
--- a/drivers/gpu/drm/drm_mm.c
+++ b/drivers/gpu/drm/drm_mm.c
@@ -103,6 +103,11 @@ static struct drm_mm_node *drm_mm_kmalloc(struct drm_mm *mm, int atomic)
103 return child; 103 return child;
104} 104}
105 105
106/* drm_mm_pre_get() - pre allocate drm_mm_node structure
107 * drm_mm: memory manager struct we are pre-allocating for
108 *
109 * Returns 0 on success or -ENOMEM if allocation fails.
110 */
106int drm_mm_pre_get(struct drm_mm *mm) 111int drm_mm_pre_get(struct drm_mm *mm)
107{ 112{
108 struct drm_mm_node *node; 113 struct drm_mm_node *node;
@@ -253,12 +258,14 @@ void drm_mm_put_block(struct drm_mm_node *cur)
253 prev_node->size += next_node->size; 258 prev_node->size += next_node->size;
254 list_del(&next_node->ml_entry); 259 list_del(&next_node->ml_entry);
255 list_del(&next_node->fl_entry); 260 list_del(&next_node->fl_entry);
261 spin_lock(&mm->unused_lock);
256 if (mm->num_unused < MM_UNUSED_TARGET) { 262 if (mm->num_unused < MM_UNUSED_TARGET) {
257 list_add(&next_node->fl_entry, 263 list_add(&next_node->fl_entry,
258 &mm->unused_nodes); 264 &mm->unused_nodes);
259 ++mm->num_unused; 265 ++mm->num_unused;
260 } else 266 } else
261 kfree(next_node); 267 kfree(next_node);
268 spin_unlock(&mm->unused_lock);
262 } else { 269 } else {
263 next_node->size += cur->size; 270 next_node->size += cur->size;
264 next_node->start = cur->start; 271 next_node->start = cur->start;
@@ -271,11 +278,13 @@ void drm_mm_put_block(struct drm_mm_node *cur)
271 list_add(&cur->fl_entry, &mm->fl_entry); 278 list_add(&cur->fl_entry, &mm->fl_entry);
272 } else { 279 } else {
273 list_del(&cur->ml_entry); 280 list_del(&cur->ml_entry);
281 spin_lock(&mm->unused_lock);
274 if (mm->num_unused < MM_UNUSED_TARGET) { 282 if (mm->num_unused < MM_UNUSED_TARGET) {
275 list_add(&cur->fl_entry, &mm->unused_nodes); 283 list_add(&cur->fl_entry, &mm->unused_nodes);
276 ++mm->num_unused; 284 ++mm->num_unused;
277 } else 285 } else
278 kfree(cur); 286 kfree(cur);
287 spin_unlock(&mm->unused_lock);
279 } 288 }
280} 289}
281 290
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index f8ce9a3a420d..26bf0552b3cb 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -267,10 +267,10 @@ static void i915_dump_pages(struct seq_file *m, struct page **pages, int page_co
267 uint32_t *mem; 267 uint32_t *mem;
268 268
269 for (page = 0; page < page_count; page++) { 269 for (page = 0; page < page_count; page++) {
270 mem = kmap(pages[page]); 270 mem = kmap_atomic(pages[page], KM_USER0);
271 for (i = 0; i < PAGE_SIZE; i += 4) 271 for (i = 0; i < PAGE_SIZE; i += 4)
272 seq_printf(m, "%08x : %08x\n", i, mem[i / 4]); 272 seq_printf(m, "%08x : %08x\n", i, mem[i / 4]);
273 kunmap(pages[page]); 273 kunmap_atomic(pages[page], KM_USER0);
274 } 274 }
275} 275}
276 276
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 57204e298975..a725f6591192 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -296,6 +296,7 @@ typedef struct drm_i915_private {
296 u32 saveVBLANK_A; 296 u32 saveVBLANK_A;
297 u32 saveVSYNC_A; 297 u32 saveVSYNC_A;
298 u32 saveBCLRPAT_A; 298 u32 saveBCLRPAT_A;
299 u32 saveTRANSACONF;
299 u32 saveTRANS_HTOTAL_A; 300 u32 saveTRANS_HTOTAL_A;
300 u32 saveTRANS_HBLANK_A; 301 u32 saveTRANS_HBLANK_A;
301 u32 saveTRANS_HSYNC_A; 302 u32 saveTRANS_HSYNC_A;
@@ -326,6 +327,7 @@ typedef struct drm_i915_private {
326 u32 saveVBLANK_B; 327 u32 saveVBLANK_B;
327 u32 saveVSYNC_B; 328 u32 saveVSYNC_B;
328 u32 saveBCLRPAT_B; 329 u32 saveBCLRPAT_B;
330 u32 saveTRANSBCONF;
329 u32 saveTRANS_HTOTAL_B; 331 u32 saveTRANS_HTOTAL_B;
330 u32 saveTRANS_HBLANK_B; 332 u32 saveTRANS_HBLANK_B;
331 u32 saveTRANS_HSYNC_B; 333 u32 saveTRANS_HSYNC_B;
@@ -414,6 +416,16 @@ typedef struct drm_i915_private {
414 u32 savePFB_WIN_SZ; 416 u32 savePFB_WIN_SZ;
415 u32 savePFA_WIN_POS; 417 u32 savePFA_WIN_POS;
416 u32 savePFB_WIN_POS; 418 u32 savePFB_WIN_POS;
419 u32 savePCH_DREF_CONTROL;
420 u32 saveDISP_ARB_CTL;
421 u32 savePIPEA_DATA_M1;
422 u32 savePIPEA_DATA_N1;
423 u32 savePIPEA_LINK_M1;
424 u32 savePIPEA_LINK_N1;
425 u32 savePIPEB_DATA_M1;
426 u32 savePIPEB_DATA_N1;
427 u32 savePIPEB_LINK_M1;
428 u32 savePIPEB_LINK_N1;
417 429
418 struct { 430 struct {
419 struct drm_mm gtt_space; 431 struct drm_mm gtt_space;
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index c3ceffa46ea0..aa7fd82aa6eb 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -254,10 +254,15 @@ irqreturn_t igdng_irq_handler(struct drm_device *dev)
254{ 254{
255 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 255 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
256 int ret = IRQ_NONE; 256 int ret = IRQ_NONE;
257 u32 de_iir, gt_iir; 257 u32 de_iir, gt_iir, de_ier;
258 u32 new_de_iir, new_gt_iir; 258 u32 new_de_iir, new_gt_iir;
259 struct drm_i915_master_private *master_priv; 259 struct drm_i915_master_private *master_priv;
260 260
261 /* disable master interrupt before clearing iir */
262 de_ier = I915_READ(DEIER);
263 I915_WRITE(DEIER, de_ier & ~DE_MASTER_IRQ_CONTROL);
264 (void)I915_READ(DEIER);
265
261 de_iir = I915_READ(DEIIR); 266 de_iir = I915_READ(DEIIR);
262 gt_iir = I915_READ(GTIIR); 267 gt_iir = I915_READ(GTIIR);
263 268
@@ -290,6 +295,9 @@ irqreturn_t igdng_irq_handler(struct drm_device *dev)
290 gt_iir = new_gt_iir; 295 gt_iir = new_gt_iir;
291 } 296 }
292 297
298 I915_WRITE(DEIER, de_ier);
299 (void)I915_READ(DEIER);
300
293 return ret; 301 return ret;
294} 302}
295 303
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index 992d5617e798..6eec8171a44e 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -239,6 +239,11 @@ static void i915_save_modeset_reg(struct drm_device *dev)
239 if (drm_core_check_feature(dev, DRIVER_MODESET)) 239 if (drm_core_check_feature(dev, DRIVER_MODESET))
240 return; 240 return;
241 241
242 if (IS_IGDNG(dev)) {
243 dev_priv->savePCH_DREF_CONTROL = I915_READ(PCH_DREF_CONTROL);
244 dev_priv->saveDISP_ARB_CTL = I915_READ(DISP_ARB_CTL);
245 }
246
242 /* Pipe & plane A info */ 247 /* Pipe & plane A info */
243 dev_priv->savePIPEACONF = I915_READ(PIPEACONF); 248 dev_priv->savePIPEACONF = I915_READ(PIPEACONF);
244 dev_priv->savePIPEASRC = I915_READ(PIPEASRC); 249 dev_priv->savePIPEASRC = I915_READ(PIPEASRC);
@@ -263,6 +268,11 @@ static void i915_save_modeset_reg(struct drm_device *dev)
263 dev_priv->saveBCLRPAT_A = I915_READ(BCLRPAT_A); 268 dev_priv->saveBCLRPAT_A = I915_READ(BCLRPAT_A);
264 269
265 if (IS_IGDNG(dev)) { 270 if (IS_IGDNG(dev)) {
271 dev_priv->savePIPEA_DATA_M1 = I915_READ(PIPEA_DATA_M1);
272 dev_priv->savePIPEA_DATA_N1 = I915_READ(PIPEA_DATA_N1);
273 dev_priv->savePIPEA_LINK_M1 = I915_READ(PIPEA_LINK_M1);
274 dev_priv->savePIPEA_LINK_N1 = I915_READ(PIPEA_LINK_N1);
275
266 dev_priv->saveFDI_TXA_CTL = I915_READ(FDI_TXA_CTL); 276 dev_priv->saveFDI_TXA_CTL = I915_READ(FDI_TXA_CTL);
267 dev_priv->saveFDI_RXA_CTL = I915_READ(FDI_RXA_CTL); 277 dev_priv->saveFDI_RXA_CTL = I915_READ(FDI_RXA_CTL);
268 278
@@ -270,6 +280,7 @@ static void i915_save_modeset_reg(struct drm_device *dev)
270 dev_priv->savePFA_WIN_SZ = I915_READ(PFA_WIN_SZ); 280 dev_priv->savePFA_WIN_SZ = I915_READ(PFA_WIN_SZ);
271 dev_priv->savePFA_WIN_POS = I915_READ(PFA_WIN_POS); 281 dev_priv->savePFA_WIN_POS = I915_READ(PFA_WIN_POS);
272 282
283 dev_priv->saveTRANSACONF = I915_READ(TRANSACONF);
273 dev_priv->saveTRANS_HTOTAL_A = I915_READ(TRANS_HTOTAL_A); 284 dev_priv->saveTRANS_HTOTAL_A = I915_READ(TRANS_HTOTAL_A);
274 dev_priv->saveTRANS_HBLANK_A = I915_READ(TRANS_HBLANK_A); 285 dev_priv->saveTRANS_HBLANK_A = I915_READ(TRANS_HBLANK_A);
275 dev_priv->saveTRANS_HSYNC_A = I915_READ(TRANS_HSYNC_A); 286 dev_priv->saveTRANS_HSYNC_A = I915_READ(TRANS_HSYNC_A);
@@ -314,6 +325,11 @@ static void i915_save_modeset_reg(struct drm_device *dev)
314 dev_priv->saveBCLRPAT_B = I915_READ(BCLRPAT_B); 325 dev_priv->saveBCLRPAT_B = I915_READ(BCLRPAT_B);
315 326
316 if (IS_IGDNG(dev)) { 327 if (IS_IGDNG(dev)) {
328 dev_priv->savePIPEB_DATA_M1 = I915_READ(PIPEB_DATA_M1);
329 dev_priv->savePIPEB_DATA_N1 = I915_READ(PIPEB_DATA_N1);
330 dev_priv->savePIPEB_LINK_M1 = I915_READ(PIPEB_LINK_M1);
331 dev_priv->savePIPEB_LINK_N1 = I915_READ(PIPEB_LINK_N1);
332
317 dev_priv->saveFDI_TXB_CTL = I915_READ(FDI_TXB_CTL); 333 dev_priv->saveFDI_TXB_CTL = I915_READ(FDI_TXB_CTL);
318 dev_priv->saveFDI_RXB_CTL = I915_READ(FDI_RXB_CTL); 334 dev_priv->saveFDI_RXB_CTL = I915_READ(FDI_RXB_CTL);
319 335
@@ -321,6 +337,7 @@ static void i915_save_modeset_reg(struct drm_device *dev)
321 dev_priv->savePFB_WIN_SZ = I915_READ(PFB_WIN_SZ); 337 dev_priv->savePFB_WIN_SZ = I915_READ(PFB_WIN_SZ);
322 dev_priv->savePFB_WIN_POS = I915_READ(PFB_WIN_POS); 338 dev_priv->savePFB_WIN_POS = I915_READ(PFB_WIN_POS);
323 339
340 dev_priv->saveTRANSBCONF = I915_READ(TRANSBCONF);
324 dev_priv->saveTRANS_HTOTAL_B = I915_READ(TRANS_HTOTAL_B); 341 dev_priv->saveTRANS_HTOTAL_B = I915_READ(TRANS_HTOTAL_B);
325 dev_priv->saveTRANS_HBLANK_B = I915_READ(TRANS_HBLANK_B); 342 dev_priv->saveTRANS_HBLANK_B = I915_READ(TRANS_HBLANK_B);
326 dev_priv->saveTRANS_HSYNC_B = I915_READ(TRANS_HSYNC_B); 343 dev_priv->saveTRANS_HSYNC_B = I915_READ(TRANS_HSYNC_B);
@@ -368,6 +385,11 @@ static void i915_restore_modeset_reg(struct drm_device *dev)
368 fpb1_reg = FPB1; 385 fpb1_reg = FPB1;
369 } 386 }
370 387
388 if (IS_IGDNG(dev)) {
389 I915_WRITE(PCH_DREF_CONTROL, dev_priv->savePCH_DREF_CONTROL);
390 I915_WRITE(DISP_ARB_CTL, dev_priv->saveDISP_ARB_CTL);
391 }
392
371 /* Pipe & plane A info */ 393 /* Pipe & plane A info */
372 /* Prime the clock */ 394 /* Prime the clock */
373 if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) { 395 if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) {
@@ -395,6 +417,11 @@ static void i915_restore_modeset_reg(struct drm_device *dev)
395 I915_WRITE(BCLRPAT_A, dev_priv->saveBCLRPAT_A); 417 I915_WRITE(BCLRPAT_A, dev_priv->saveBCLRPAT_A);
396 418
397 if (IS_IGDNG(dev)) { 419 if (IS_IGDNG(dev)) {
420 I915_WRITE(PIPEA_DATA_M1, dev_priv->savePIPEA_DATA_M1);
421 I915_WRITE(PIPEA_DATA_N1, dev_priv->savePIPEA_DATA_N1);
422 I915_WRITE(PIPEA_LINK_M1, dev_priv->savePIPEA_LINK_M1);
423 I915_WRITE(PIPEA_LINK_N1, dev_priv->savePIPEA_LINK_N1);
424
398 I915_WRITE(FDI_RXA_CTL, dev_priv->saveFDI_RXA_CTL); 425 I915_WRITE(FDI_RXA_CTL, dev_priv->saveFDI_RXA_CTL);
399 I915_WRITE(FDI_TXA_CTL, dev_priv->saveFDI_TXA_CTL); 426 I915_WRITE(FDI_TXA_CTL, dev_priv->saveFDI_TXA_CTL);
400 427
@@ -402,6 +429,7 @@ static void i915_restore_modeset_reg(struct drm_device *dev)
402 I915_WRITE(PFA_WIN_SZ, dev_priv->savePFA_WIN_SZ); 429 I915_WRITE(PFA_WIN_SZ, dev_priv->savePFA_WIN_SZ);
403 I915_WRITE(PFA_WIN_POS, dev_priv->savePFA_WIN_POS); 430 I915_WRITE(PFA_WIN_POS, dev_priv->savePFA_WIN_POS);
404 431
432 I915_WRITE(TRANSACONF, dev_priv->saveTRANSACONF);
405 I915_WRITE(TRANS_HTOTAL_A, dev_priv->saveTRANS_HTOTAL_A); 433 I915_WRITE(TRANS_HTOTAL_A, dev_priv->saveTRANS_HTOTAL_A);
406 I915_WRITE(TRANS_HBLANK_A, dev_priv->saveTRANS_HBLANK_A); 434 I915_WRITE(TRANS_HBLANK_A, dev_priv->saveTRANS_HBLANK_A);
407 I915_WRITE(TRANS_HSYNC_A, dev_priv->saveTRANS_HSYNC_A); 435 I915_WRITE(TRANS_HSYNC_A, dev_priv->saveTRANS_HSYNC_A);
@@ -439,7 +467,7 @@ static void i915_restore_modeset_reg(struct drm_device *dev)
439 /* Actually enable it */ 467 /* Actually enable it */
440 I915_WRITE(dpll_b_reg, dev_priv->saveDPLL_B); 468 I915_WRITE(dpll_b_reg, dev_priv->saveDPLL_B);
441 DRM_UDELAY(150); 469 DRM_UDELAY(150);
442 if (IS_I965G(dev)) 470 if (IS_I965G(dev) && !IS_IGDNG(dev))
443 I915_WRITE(DPLL_B_MD, dev_priv->saveDPLL_B_MD); 471 I915_WRITE(DPLL_B_MD, dev_priv->saveDPLL_B_MD);
444 DRM_UDELAY(150); 472 DRM_UDELAY(150);
445 473
@@ -454,6 +482,11 @@ static void i915_restore_modeset_reg(struct drm_device *dev)
454 I915_WRITE(BCLRPAT_B, dev_priv->saveBCLRPAT_B); 482 I915_WRITE(BCLRPAT_B, dev_priv->saveBCLRPAT_B);
455 483
456 if (IS_IGDNG(dev)) { 484 if (IS_IGDNG(dev)) {
485 I915_WRITE(PIPEB_DATA_M1, dev_priv->savePIPEB_DATA_M1);
486 I915_WRITE(PIPEB_DATA_N1, dev_priv->savePIPEB_DATA_N1);
487 I915_WRITE(PIPEB_LINK_M1, dev_priv->savePIPEB_LINK_M1);
488 I915_WRITE(PIPEB_LINK_N1, dev_priv->savePIPEB_LINK_N1);
489
457 I915_WRITE(FDI_RXB_CTL, dev_priv->saveFDI_RXB_CTL); 490 I915_WRITE(FDI_RXB_CTL, dev_priv->saveFDI_RXB_CTL);
458 I915_WRITE(FDI_TXB_CTL, dev_priv->saveFDI_TXB_CTL); 491 I915_WRITE(FDI_TXB_CTL, dev_priv->saveFDI_TXB_CTL);
459 492
@@ -461,6 +494,7 @@ static void i915_restore_modeset_reg(struct drm_device *dev)
461 I915_WRITE(PFB_WIN_SZ, dev_priv->savePFB_WIN_SZ); 494 I915_WRITE(PFB_WIN_SZ, dev_priv->savePFB_WIN_SZ);
462 I915_WRITE(PFB_WIN_POS, dev_priv->savePFB_WIN_POS); 495 I915_WRITE(PFB_WIN_POS, dev_priv->savePFB_WIN_POS);
463 496
497 I915_WRITE(TRANSBCONF, dev_priv->saveTRANSBCONF);
464 I915_WRITE(TRANS_HTOTAL_B, dev_priv->saveTRANS_HTOTAL_B); 498 I915_WRITE(TRANS_HTOTAL_B, dev_priv->saveTRANS_HTOTAL_B);
465 I915_WRITE(TRANS_HBLANK_B, dev_priv->saveTRANS_HBLANK_B); 499 I915_WRITE(TRANS_HBLANK_B, dev_priv->saveTRANS_HBLANK_B);
466 I915_WRITE(TRANS_HSYNC_B, dev_priv->saveTRANS_HSYNC_B); 500 I915_WRITE(TRANS_HSYNC_B, dev_priv->saveTRANS_HSYNC_B);
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 212e22740fc1..e5051446c48e 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -262,8 +262,8 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
262 } while (time_after(timeout, jiffies)); 262 } while (time_after(timeout, jiffies));
263 } 263 }
264 264
265 if ((I915_READ(PORT_HOTPLUG_STAT) & CRT_HOTPLUG_MONITOR_MASK) == 265 if ((I915_READ(PORT_HOTPLUG_STAT) & CRT_HOTPLUG_MONITOR_MASK) !=
266 CRT_HOTPLUG_MONITOR_COLOR) 266 CRT_HOTPLUG_MONITOR_NONE)
267 return true; 267 return true;
268 268
269 return false; 269 return false;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index ccd180dce4cc..897230832c8c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -863,10 +863,8 @@ intel_igdng_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,
863 struct drm_device *dev = crtc->dev; 863 struct drm_device *dev = crtc->dev;
864 struct drm_i915_private *dev_priv = dev->dev_private; 864 struct drm_i915_private *dev_priv = dev->dev_private;
865 intel_clock_t clock; 865 intel_clock_t clock;
866 int max_n;
867 bool found;
868 int err_most = 47; 866 int err_most = 47;
869 found = false; 867 int err_min = 10000;
870 868
871 /* eDP has only 2 clock choice, no n/m/p setting */ 869 /* eDP has only 2 clock choice, no n/m/p setting */
872 if (HAS_eDP) 870 if (HAS_eDP)
@@ -890,10 +888,9 @@ intel_igdng_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,
890 } 888 }
891 889
892 memset(best_clock, 0, sizeof(*best_clock)); 890 memset(best_clock, 0, sizeof(*best_clock));
893 max_n = limit->n.max;
894 for (clock.p1 = limit->p1.max; clock.p1 >= limit->p1.min; clock.p1--) { 891 for (clock.p1 = limit->p1.max; clock.p1 >= limit->p1.min; clock.p1--) {
895 /* based on hardware requriment prefer smaller n to precision */ 892 /* based on hardware requriment prefer smaller n to precision */
896 for (clock.n = limit->n.min; clock.n <= max_n; clock.n++) { 893 for (clock.n = limit->n.min; clock.n <= limit->n.max; clock.n++) {
897 /* based on hardware requirment prefere larger m1,m2 */ 894 /* based on hardware requirment prefere larger m1,m2 */
898 for (clock.m1 = limit->m1.max; 895 for (clock.m1 = limit->m1.max;
899 clock.m1 >= limit->m1.min; clock.m1--) { 896 clock.m1 >= limit->m1.min; clock.m1--) {
@@ -907,18 +904,18 @@ intel_igdng_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,
907 this_err = abs((10000 - (target*10000/clock.dot))); 904 this_err = abs((10000 - (target*10000/clock.dot)));
908 if (this_err < err_most) { 905 if (this_err < err_most) {
909 *best_clock = clock; 906 *best_clock = clock;
910 err_most = this_err;
911 max_n = clock.n;
912 found = true;
913 /* found on first matching */ 907 /* found on first matching */
914 goto out; 908 goto out;
909 } else if (this_err < err_min) {
910 *best_clock = clock;
911 err_min = this_err;
915 } 912 }
916 } 913 }
917 } 914 }
918 } 915 }
919 } 916 }
920out: 917out:
921 return found; 918 return true;
922} 919}
923 920
924/* DisplayPort has only two frequencies, 162MHz and 270MHz */ 921/* DisplayPort has only two frequencies, 162MHz and 270MHz */
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 663ab6de0b58..c33451aec1bd 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -77,14 +77,32 @@ static void intel_hdmi_dpms(struct drm_encoder *encoder, int mode)
77 struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; 77 struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv;
78 u32 temp; 78 u32 temp;
79 79
80 if (mode != DRM_MODE_DPMS_ON) { 80 temp = I915_READ(hdmi_priv->sdvox_reg);
81 temp = I915_READ(hdmi_priv->sdvox_reg); 81
82 /* HW workaround, need to toggle enable bit off and on for 12bpc, but
83 * we do this anyway which shows more stable in testing.
84 */
85 if (IS_IGDNG(dev)) {
82 I915_WRITE(hdmi_priv->sdvox_reg, temp & ~SDVO_ENABLE); 86 I915_WRITE(hdmi_priv->sdvox_reg, temp & ~SDVO_ENABLE);
87 POSTING_READ(hdmi_priv->sdvox_reg);
88 }
89
90 if (mode != DRM_MODE_DPMS_ON) {
91 temp &= ~SDVO_ENABLE;
83 } else { 92 } else {
84 temp = I915_READ(hdmi_priv->sdvox_reg); 93 temp |= SDVO_ENABLE;
85 I915_WRITE(hdmi_priv->sdvox_reg, temp | SDVO_ENABLE);
86 } 94 }
95
96 I915_WRITE(hdmi_priv->sdvox_reg, temp);
87 POSTING_READ(hdmi_priv->sdvox_reg); 97 POSTING_READ(hdmi_priv->sdvox_reg);
98
99 /* HW workaround, need to write this twice for issue that may result
100 * in first write getting masked.
101 */
102 if (IS_IGDNG(dev)) {
103 I915_WRITE(hdmi_priv->sdvox_reg, temp);
104 POSTING_READ(hdmi_priv->sdvox_reg);
105 }
88} 106}
89 107
90static void intel_hdmi_save(struct drm_connector *connector) 108static void intel_hdmi_save(struct drm_connector *connector)
diff --git a/drivers/gpu/drm/radeon/Makefile b/drivers/gpu/drm/radeon/Makefile
index 09a28923f46e..b5713eedd6e1 100644
--- a/drivers/gpu/drm/radeon/Makefile
+++ b/drivers/gpu/drm/radeon/Makefile
@@ -49,7 +49,7 @@ radeon-y += radeon_device.o radeon_kms.o \
49 radeon_cs.o radeon_bios.o radeon_benchmark.o r100.o r300.o r420.o \ 49 radeon_cs.o radeon_bios.o radeon_benchmark.o r100.o r300.o r420.o \
50 rs400.o rs600.o rs690.o rv515.o r520.o r600.o rv770.o radeon_test.o \ 50 rs400.o rs600.o rs690.o rv515.o r520.o r600.o rv770.o radeon_test.o \
51 r200.o radeon_legacy_tv.o r600_cs.o r600_blit.o r600_blit_shaders.o \ 51 r200.o radeon_legacy_tv.o r600_cs.o r600_blit.o r600_blit_shaders.o \
52 r600_blit_kms.o 52 r600_blit_kms.o radeon_pm.o
53 53
54radeon-$(CONFIG_COMPAT) += radeon_ioc32.o 54radeon-$(CONFIG_COMPAT) += radeon_ioc32.o
55 55
diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
index 901befe03da2..d67c42555ab9 100644
--- a/drivers/gpu/drm/radeon/atom.c
+++ b/drivers/gpu/drm/radeon/atom.c
@@ -107,6 +107,7 @@ static uint32_t atom_iio_execute(struct atom_context *ctx, int base,
107 base += 3; 107 base += 3;
108 break; 108 break;
109 case ATOM_IIO_WRITE: 109 case ATOM_IIO_WRITE:
110 (void)ctx->card->reg_read(ctx->card, CU16(base + 1));
110 ctx->card->reg_write(ctx->card, CU16(base + 1), temp); 111 ctx->card->reg_write(ctx->card, CU16(base + 1), temp);
111 base += 3; 112 base += 3;
112 break; 113 break;
diff --git a/drivers/gpu/drm/radeon/atombios.h b/drivers/gpu/drm/radeon/atombios.h
index 5d402086bc47..c11ddddfb3b6 100644
--- a/drivers/gpu/drm/radeon/atombios.h
+++ b/drivers/gpu/drm/radeon/atombios.h
@@ -2314,7 +2314,7 @@ typedef struct _ATOM_SPREAD_SPECTRUM_ASSIGNMENT {
2314 UCHAR ucSS_Step; 2314 UCHAR ucSS_Step;
2315 UCHAR ucSS_Delay; 2315 UCHAR ucSS_Delay;
2316 UCHAR ucSS_Id; 2316 UCHAR ucSS_Id;
2317 UCHAR ucRecommandedRef_Div; 2317 UCHAR ucRecommendedRef_Div;
2318 UCHAR ucSS_Range; /* it was reserved for V11 */ 2318 UCHAR ucSS_Range; /* it was reserved for V11 */
2319} ATOM_SPREAD_SPECTRUM_ASSIGNMENT; 2319} ATOM_SPREAD_SPECTRUM_ASSIGNMENT;
2320 2320
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index 14fa9701aeb3..c15287a590ff 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -31,10 +31,6 @@
31#include "atom.h" 31#include "atom.h"
32#include "atom-bits.h" 32#include "atom-bits.h"
33 33
34/* evil but including atombios.h is much worse */
35bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index,
36 SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION *crtc_timing,
37 int32_t *pixel_clock);
38static void atombios_overscan_setup(struct drm_crtc *crtc, 34static void atombios_overscan_setup(struct drm_crtc *crtc,
39 struct drm_display_mode *mode, 35 struct drm_display_mode *mode,
40 struct drm_display_mode *adjusted_mode) 36 struct drm_display_mode *adjusted_mode)
@@ -248,18 +244,18 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode)
248 244
249 switch (mode) { 245 switch (mode) {
250 case DRM_MODE_DPMS_ON: 246 case DRM_MODE_DPMS_ON:
247 atombios_enable_crtc(crtc, 1);
251 if (ASIC_IS_DCE3(rdev)) 248 if (ASIC_IS_DCE3(rdev))
252 atombios_enable_crtc_memreq(crtc, 1); 249 atombios_enable_crtc_memreq(crtc, 1);
253 atombios_enable_crtc(crtc, 1);
254 atombios_blank_crtc(crtc, 0); 250 atombios_blank_crtc(crtc, 0);
255 break; 251 break;
256 case DRM_MODE_DPMS_STANDBY: 252 case DRM_MODE_DPMS_STANDBY:
257 case DRM_MODE_DPMS_SUSPEND: 253 case DRM_MODE_DPMS_SUSPEND:
258 case DRM_MODE_DPMS_OFF: 254 case DRM_MODE_DPMS_OFF:
259 atombios_blank_crtc(crtc, 1); 255 atombios_blank_crtc(crtc, 1);
260 atombios_enable_crtc(crtc, 0);
261 if (ASIC_IS_DCE3(rdev)) 256 if (ASIC_IS_DCE3(rdev))
262 atombios_enable_crtc_memreq(crtc, 0); 257 atombios_enable_crtc_memreq(crtc, 0);
258 atombios_enable_crtc(crtc, 0);
263 break; 259 break;
264 } 260 }
265 261
@@ -270,59 +266,147 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode)
270 266
271static void 267static void
272atombios_set_crtc_dtd_timing(struct drm_crtc *crtc, 268atombios_set_crtc_dtd_timing(struct drm_crtc *crtc,
273 SET_CRTC_USING_DTD_TIMING_PARAMETERS * crtc_param) 269 struct drm_display_mode *mode)
274{ 270{
271 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
275 struct drm_device *dev = crtc->dev; 272 struct drm_device *dev = crtc->dev;
276 struct radeon_device *rdev = dev->dev_private; 273 struct radeon_device *rdev = dev->dev_private;
277 SET_CRTC_USING_DTD_TIMING_PARAMETERS conv_param; 274 SET_CRTC_USING_DTD_TIMING_PARAMETERS args;
278 int index = GetIndexIntoMasterTable(COMMAND, SetCRTC_UsingDTDTiming); 275 int index = GetIndexIntoMasterTable(COMMAND, SetCRTC_UsingDTDTiming);
276 u16 misc = 0;
279 277
280 conv_param.usH_Size = cpu_to_le16(crtc_param->usH_Size); 278 memset(&args, 0, sizeof(args));
281 conv_param.usH_Blanking_Time = 279 args.usH_Size = cpu_to_le16(mode->crtc_hdisplay);
282 cpu_to_le16(crtc_param->usH_Blanking_Time); 280 args.usH_Blanking_Time =
283 conv_param.usV_Size = cpu_to_le16(crtc_param->usV_Size); 281 cpu_to_le16(mode->crtc_hblank_end - mode->crtc_hdisplay);
284 conv_param.usV_Blanking_Time = 282 args.usV_Size = cpu_to_le16(mode->crtc_vdisplay);
285 cpu_to_le16(crtc_param->usV_Blanking_Time); 283 args.usV_Blanking_Time =
286 conv_param.usH_SyncOffset = cpu_to_le16(crtc_param->usH_SyncOffset); 284 cpu_to_le16(mode->crtc_vblank_end - mode->crtc_vdisplay);
287 conv_param.usH_SyncWidth = cpu_to_le16(crtc_param->usH_SyncWidth); 285 args.usH_SyncOffset =
288 conv_param.usV_SyncOffset = cpu_to_le16(crtc_param->usV_SyncOffset); 286 cpu_to_le16(mode->crtc_hsync_start - mode->crtc_hdisplay);
289 conv_param.usV_SyncWidth = cpu_to_le16(crtc_param->usV_SyncWidth); 287 args.usH_SyncWidth =
290 conv_param.susModeMiscInfo.usAccess = 288 cpu_to_le16(mode->crtc_hsync_end - mode->crtc_hsync_start);
291 cpu_to_le16(crtc_param->susModeMiscInfo.usAccess); 289 args.usV_SyncOffset =
292 conv_param.ucCRTC = crtc_param->ucCRTC; 290 cpu_to_le16(mode->crtc_vsync_start - mode->crtc_vdisplay);
291 args.usV_SyncWidth =
292 cpu_to_le16(mode->crtc_vsync_end - mode->crtc_vsync_start);
293 /*args.ucH_Border = mode->hborder;*/
294 /*args.ucV_Border = mode->vborder;*/
295
296 if (mode->flags & DRM_MODE_FLAG_NVSYNC)
297 misc |= ATOM_VSYNC_POLARITY;
298 if (mode->flags & DRM_MODE_FLAG_NHSYNC)
299 misc |= ATOM_HSYNC_POLARITY;
300 if (mode->flags & DRM_MODE_FLAG_CSYNC)
301 misc |= ATOM_COMPOSITESYNC;
302 if (mode->flags & DRM_MODE_FLAG_INTERLACE)
303 misc |= ATOM_INTERLACE;
304 if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
305 misc |= ATOM_DOUBLE_CLOCK_MODE;
306
307 args.susModeMiscInfo.usAccess = cpu_to_le16(misc);
308 args.ucCRTC = radeon_crtc->crtc_id;
293 309
294 printk("executing set crtc dtd timing\n"); 310 printk("executing set crtc dtd timing\n");
295 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&conv_param); 311 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
296} 312}
297 313
298void atombios_crtc_set_timing(struct drm_crtc *crtc, 314static void atombios_crtc_set_timing(struct drm_crtc *crtc,
299 SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION * 315 struct drm_display_mode *mode)
300 crtc_param)
301{ 316{
317 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
302 struct drm_device *dev = crtc->dev; 318 struct drm_device *dev = crtc->dev;
303 struct radeon_device *rdev = dev->dev_private; 319 struct radeon_device *rdev = dev->dev_private;
304 SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION conv_param; 320 SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION args;
305 int index = GetIndexIntoMasterTable(COMMAND, SetCRTC_Timing); 321 int index = GetIndexIntoMasterTable(COMMAND, SetCRTC_Timing);
322 u16 misc = 0;
306 323
307 conv_param.usH_Total = cpu_to_le16(crtc_param->usH_Total); 324 memset(&args, 0, sizeof(args));
308 conv_param.usH_Disp = cpu_to_le16(crtc_param->usH_Disp); 325 args.usH_Total = cpu_to_le16(mode->crtc_htotal);
309 conv_param.usH_SyncStart = cpu_to_le16(crtc_param->usH_SyncStart); 326 args.usH_Disp = cpu_to_le16(mode->crtc_hdisplay);
310 conv_param.usH_SyncWidth = cpu_to_le16(crtc_param->usH_SyncWidth); 327 args.usH_SyncStart = cpu_to_le16(mode->crtc_hsync_start);
311 conv_param.usV_Total = cpu_to_le16(crtc_param->usV_Total); 328 args.usH_SyncWidth =
312 conv_param.usV_Disp = cpu_to_le16(crtc_param->usV_Disp); 329 cpu_to_le16(mode->crtc_hsync_end - mode->crtc_hsync_start);
313 conv_param.usV_SyncStart = cpu_to_le16(crtc_param->usV_SyncStart); 330 args.usV_Total = cpu_to_le16(mode->crtc_vtotal);
314 conv_param.usV_SyncWidth = cpu_to_le16(crtc_param->usV_SyncWidth); 331 args.usV_Disp = cpu_to_le16(mode->crtc_vdisplay);
315 conv_param.susModeMiscInfo.usAccess = 332 args.usV_SyncStart = cpu_to_le16(mode->crtc_vsync_start);
316 cpu_to_le16(crtc_param->susModeMiscInfo.usAccess); 333 args.usV_SyncWidth =
317 conv_param.ucCRTC = crtc_param->ucCRTC; 334 cpu_to_le16(mode->crtc_vsync_end - mode->crtc_vsync_start);
318 conv_param.ucOverscanRight = crtc_param->ucOverscanRight; 335
319 conv_param.ucOverscanLeft = crtc_param->ucOverscanLeft; 336 if (mode->flags & DRM_MODE_FLAG_NVSYNC)
320 conv_param.ucOverscanBottom = crtc_param->ucOverscanBottom; 337 misc |= ATOM_VSYNC_POLARITY;
321 conv_param.ucOverscanTop = crtc_param->ucOverscanTop; 338 if (mode->flags & DRM_MODE_FLAG_NHSYNC)
322 conv_param.ucReserved = crtc_param->ucReserved; 339 misc |= ATOM_HSYNC_POLARITY;
340 if (mode->flags & DRM_MODE_FLAG_CSYNC)
341 misc |= ATOM_COMPOSITESYNC;
342 if (mode->flags & DRM_MODE_FLAG_INTERLACE)
343 misc |= ATOM_INTERLACE;
344 if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
345 misc |= ATOM_DOUBLE_CLOCK_MODE;
346
347 args.susModeMiscInfo.usAccess = cpu_to_le16(misc);
348 args.ucCRTC = radeon_crtc->crtc_id;
323 349
324 printk("executing set crtc timing\n"); 350 printk("executing set crtc timing\n");
325 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&conv_param); 351 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
352}
353
354static void atombios_set_ss(struct drm_crtc *crtc, int enable)
355{
356 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
357 struct drm_device *dev = crtc->dev;
358 struct radeon_device *rdev = dev->dev_private;
359 struct drm_encoder *encoder = NULL;
360 struct radeon_encoder *radeon_encoder = NULL;
361 struct radeon_encoder_atom_dig *dig = NULL;
362 int index = GetIndexIntoMasterTable(COMMAND, EnableSpreadSpectrumOnPPLL);
363 ENABLE_SPREAD_SPECTRUM_ON_PPLL_PS_ALLOCATION args;
364 ENABLE_LVDS_SS_PARAMETERS legacy_args;
365 uint16_t percentage = 0;
366 uint8_t type = 0, step = 0, delay = 0, range = 0;
367
368 list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
369 if (encoder->crtc == crtc) {
370 radeon_encoder = to_radeon_encoder(encoder);
371 /* only enable spread spectrum on LVDS */
372 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
373 dig = radeon_encoder->enc_priv;
374 if (dig && dig->ss) {
375 percentage = dig->ss->percentage;
376 type = dig->ss->type;
377 step = dig->ss->step;
378 delay = dig->ss->delay;
379 range = dig->ss->range;
380 } else if (enable)
381 return;
382 } else if (enable)
383 return;
384 break;
385 }
386 }
387
388 if (!radeon_encoder)
389 return;
390
391 if (ASIC_IS_AVIVO(rdev)) {
392 memset(&args, 0, sizeof(args));
393 args.usSpreadSpectrumPercentage = cpu_to_le16(percentage);
394 args.ucSpreadSpectrumType = type;
395 args.ucSpreadSpectrumStep = step;
396 args.ucSpreadSpectrumDelay = delay;
397 args.ucSpreadSpectrumRange = range;
398 args.ucPpll = radeon_crtc->crtc_id ? ATOM_PPLL2 : ATOM_PPLL1;
399 args.ucEnable = enable;
400 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
401 } else {
402 memset(&legacy_args, 0, sizeof(legacy_args));
403 legacy_args.usSpreadSpectrumPercentage = cpu_to_le16(percentage);
404 legacy_args.ucSpreadSpectrumType = type;
405 legacy_args.ucSpreadSpectrumStepSize_Delay = (step & 3) << 2;
406 legacy_args.ucSpreadSpectrumStepSize_Delay |= (delay & 7) << 4;
407 legacy_args.ucEnable = enable;
408 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&legacy_args);
409 }
326} 410}
327 411
328void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) 412void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
@@ -333,12 +417,13 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
333 struct drm_encoder *encoder = NULL; 417 struct drm_encoder *encoder = NULL;
334 struct radeon_encoder *radeon_encoder = NULL; 418 struct radeon_encoder *radeon_encoder = NULL;
335 uint8_t frev, crev; 419 uint8_t frev, crev;
336 int index = GetIndexIntoMasterTable(COMMAND, SetPixelClock); 420 int index;
337 SET_PIXEL_CLOCK_PS_ALLOCATION args; 421 SET_PIXEL_CLOCK_PS_ALLOCATION args;
338 PIXEL_CLOCK_PARAMETERS *spc1_ptr; 422 PIXEL_CLOCK_PARAMETERS *spc1_ptr;
339 PIXEL_CLOCK_PARAMETERS_V2 *spc2_ptr; 423 PIXEL_CLOCK_PARAMETERS_V2 *spc2_ptr;
340 PIXEL_CLOCK_PARAMETERS_V3 *spc3_ptr; 424 PIXEL_CLOCK_PARAMETERS_V3 *spc3_ptr;
341 uint32_t sclock = mode->clock; 425 uint32_t pll_clock = mode->clock;
426 uint32_t adjusted_clock;
342 uint32_t ref_div = 0, fb_div = 0, frac_fb_div = 0, post_div = 0; 427 uint32_t ref_div = 0, fb_div = 0, frac_fb_div = 0, post_div = 0;
343 struct radeon_pll *pll; 428 struct radeon_pll *pll;
344 int pll_flags = 0; 429 int pll_flags = 0;
@@ -346,8 +431,6 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
346 memset(&args, 0, sizeof(args)); 431 memset(&args, 0, sizeof(args));
347 432
348 if (ASIC_IS_AVIVO(rdev)) { 433 if (ASIC_IS_AVIVO(rdev)) {
349 uint32_t ss_cntl;
350
351 if ((rdev->family == CHIP_RS600) || 434 if ((rdev->family == CHIP_RS600) ||
352 (rdev->family == CHIP_RS690) || 435 (rdev->family == CHIP_RS690) ||
353 (rdev->family == CHIP_RS740)) 436 (rdev->family == CHIP_RS740))
@@ -358,15 +441,6 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
358 pll_flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; 441 pll_flags |= RADEON_PLL_PREFER_HIGH_FB_DIV;
359 else 442 else
360 pll_flags |= RADEON_PLL_PREFER_LOW_REF_DIV; 443 pll_flags |= RADEON_PLL_PREFER_LOW_REF_DIV;
361
362 /* disable spread spectrum clocking for now -- thanks Hedy Lamarr */
363 if (radeon_crtc->crtc_id == 0) {
364 ss_cntl = RREG32(AVIVO_P1PLL_INT_SS_CNTL);
365 WREG32(AVIVO_P1PLL_INT_SS_CNTL, ss_cntl & ~1);
366 } else {
367 ss_cntl = RREG32(AVIVO_P2PLL_INT_SS_CNTL);
368 WREG32(AVIVO_P2PLL_INT_SS_CNTL, ss_cntl & ~1);
369 }
370 } else { 444 } else {
371 pll_flags |= RADEON_PLL_LEGACY; 445 pll_flags |= RADEON_PLL_LEGACY;
372 446
@@ -393,14 +467,43 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
393 } 467 }
394 } 468 }
395 469
470 /* DCE3+ has an AdjustDisplayPll that will adjust the pixel clock
471 * accordingly based on the encoder/transmitter to work around
472 * special hw requirements.
473 */
474 if (ASIC_IS_DCE3(rdev)) {
475 ADJUST_DISPLAY_PLL_PS_ALLOCATION adjust_pll_args;
476
477 if (!encoder)
478 return;
479
480 memset(&adjust_pll_args, 0, sizeof(adjust_pll_args));
481 adjust_pll_args.usPixelClock = cpu_to_le16(mode->clock / 10);
482 adjust_pll_args.ucTransmitterID = radeon_encoder->encoder_id;
483 adjust_pll_args.ucEncodeMode = atombios_get_encoder_mode(encoder);
484
485 index = GetIndexIntoMasterTable(COMMAND, AdjustDisplayPll);
486 atom_execute_table(rdev->mode_info.atom_context,
487 index, (uint32_t *)&adjust_pll_args);
488 adjusted_clock = le16_to_cpu(adjust_pll_args.usPixelClock) * 10;
489 } else {
490 /* DVO wants 2x pixel clock if the DVO chip is in 12 bit mode */
491 if (ASIC_IS_AVIVO(rdev) &&
492 (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1))
493 adjusted_clock = mode->clock * 2;
494 else
495 adjusted_clock = mode->clock;
496 }
497
396 if (radeon_crtc->crtc_id == 0) 498 if (radeon_crtc->crtc_id == 0)
397 pll = &rdev->clock.p1pll; 499 pll = &rdev->clock.p1pll;
398 else 500 else
399 pll = &rdev->clock.p2pll; 501 pll = &rdev->clock.p2pll;
400 502
401 radeon_compute_pll(pll, mode->clock, &sclock, &fb_div, &frac_fb_div, 503 radeon_compute_pll(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div,
402 &ref_div, &post_div, pll_flags); 504 &ref_div, &post_div, pll_flags);
403 505
506 index = GetIndexIntoMasterTable(COMMAND, SetPixelClock);
404 atom_parse_cmd_header(rdev->mode_info.atom_context, index, &frev, 507 atom_parse_cmd_header(rdev->mode_info.atom_context, index, &frev,
405 &crev); 508 &crev);
406 509
@@ -409,7 +512,7 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
409 switch (crev) { 512 switch (crev) {
410 case 1: 513 case 1:
411 spc1_ptr = (PIXEL_CLOCK_PARAMETERS *) & args.sPCLKInput; 514 spc1_ptr = (PIXEL_CLOCK_PARAMETERS *) & args.sPCLKInput;
412 spc1_ptr->usPixelClock = cpu_to_le16(sclock); 515 spc1_ptr->usPixelClock = cpu_to_le16(mode->clock / 10);
413 spc1_ptr->usRefDiv = cpu_to_le16(ref_div); 516 spc1_ptr->usRefDiv = cpu_to_le16(ref_div);
414 spc1_ptr->usFbDiv = cpu_to_le16(fb_div); 517 spc1_ptr->usFbDiv = cpu_to_le16(fb_div);
415 spc1_ptr->ucFracFbDiv = frac_fb_div; 518 spc1_ptr->ucFracFbDiv = frac_fb_div;
@@ -422,7 +525,7 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
422 case 2: 525 case 2:
423 spc2_ptr = 526 spc2_ptr =
424 (PIXEL_CLOCK_PARAMETERS_V2 *) & args.sPCLKInput; 527 (PIXEL_CLOCK_PARAMETERS_V2 *) & args.sPCLKInput;
425 spc2_ptr->usPixelClock = cpu_to_le16(sclock); 528 spc2_ptr->usPixelClock = cpu_to_le16(mode->clock / 10);
426 spc2_ptr->usRefDiv = cpu_to_le16(ref_div); 529 spc2_ptr->usRefDiv = cpu_to_le16(ref_div);
427 spc2_ptr->usFbDiv = cpu_to_le16(fb_div); 530 spc2_ptr->usFbDiv = cpu_to_le16(fb_div);
428 spc2_ptr->ucFracFbDiv = frac_fb_div; 531 spc2_ptr->ucFracFbDiv = frac_fb_div;
@@ -437,7 +540,7 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
437 return; 540 return;
438 spc3_ptr = 541 spc3_ptr =
439 (PIXEL_CLOCK_PARAMETERS_V3 *) & args.sPCLKInput; 542 (PIXEL_CLOCK_PARAMETERS_V3 *) & args.sPCLKInput;
440 spc3_ptr->usPixelClock = cpu_to_le16(sclock); 543 spc3_ptr->usPixelClock = cpu_to_le16(mode->clock / 10);
441 spc3_ptr->usRefDiv = cpu_to_le16(ref_div); 544 spc3_ptr->usRefDiv = cpu_to_le16(ref_div);
442 spc3_ptr->usFbDiv = cpu_to_le16(fb_div); 545 spc3_ptr->usFbDiv = cpu_to_le16(fb_div);
443 spc3_ptr->ucFracFbDiv = frac_fb_div; 546 spc3_ptr->ucFracFbDiv = frac_fb_div;
@@ -527,6 +630,16 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
527 WREG32(AVIVO_D1VGA_CONTROL, 0); 630 WREG32(AVIVO_D1VGA_CONTROL, 0);
528 else 631 else
529 WREG32(AVIVO_D2VGA_CONTROL, 0); 632 WREG32(AVIVO_D2VGA_CONTROL, 0);
633
634 if (rdev->family >= CHIP_RV770) {
635 if (radeon_crtc->crtc_id) {
636 WREG32(R700_D2GRPH_PRIMARY_SURFACE_ADDRESS_HIGH, 0);
637 WREG32(R700_D2GRPH_SECONDARY_SURFACE_ADDRESS_HIGH, 0);
638 } else {
639 WREG32(R700_D1GRPH_PRIMARY_SURFACE_ADDRESS_HIGH, 0);
640 WREG32(R700_D1GRPH_SECONDARY_SURFACE_ADDRESS_HIGH, 0);
641 }
642 }
530 WREG32(AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS + radeon_crtc->crtc_offset, 643 WREG32(AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS + radeon_crtc->crtc_offset,
531 (u32) fb_location); 644 (u32) fb_location);
532 WREG32(AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS + 645 WREG32(AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS +
@@ -563,6 +676,10 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
563 radeon_fb = to_radeon_framebuffer(old_fb); 676 radeon_fb = to_radeon_framebuffer(old_fb);
564 radeon_gem_object_unpin(radeon_fb->obj); 677 radeon_gem_object_unpin(radeon_fb->obj);
565 } 678 }
679
680 /* Bytes per pixel may have changed */
681 radeon_bandwidth_update(rdev);
682
566 return 0; 683 return 0;
567} 684}
568 685
@@ -574,134 +691,24 @@ int atombios_crtc_mode_set(struct drm_crtc *crtc,
574 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); 691 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
575 struct drm_device *dev = crtc->dev; 692 struct drm_device *dev = crtc->dev;
576 struct radeon_device *rdev = dev->dev_private; 693 struct radeon_device *rdev = dev->dev_private;
577 struct drm_encoder *encoder;
578 SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION crtc_timing;
579 int need_tv_timings = 0;
580 bool ret;
581 694
582 /* TODO color tiling */ 695 /* TODO color tiling */
583 memset(&crtc_timing, 0, sizeof(crtc_timing));
584
585 list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
586 /* find tv std */
587 if (encoder->crtc == crtc) {
588 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
589
590 if (radeon_encoder->active_device & ATOM_DEVICE_TV_SUPPORT) {
591 struct radeon_encoder_atom_dac *tv_dac = radeon_encoder->enc_priv;
592 if (tv_dac) {
593 if (tv_dac->tv_std == TV_STD_NTSC ||
594 tv_dac->tv_std == TV_STD_NTSC_J ||
595 tv_dac->tv_std == TV_STD_PAL_M)
596 need_tv_timings = 1;
597 else
598 need_tv_timings = 2;
599 break;
600 }
601 }
602 }
603 }
604
605 crtc_timing.ucCRTC = radeon_crtc->crtc_id;
606 if (need_tv_timings) {
607 ret = radeon_atom_get_tv_timings(rdev, need_tv_timings - 1,
608 &crtc_timing, &adjusted_mode->clock);
609 if (ret == false)
610 need_tv_timings = 0;
611 }
612
613 if (!need_tv_timings) {
614 crtc_timing.usH_Total = adjusted_mode->crtc_htotal;
615 crtc_timing.usH_Disp = adjusted_mode->crtc_hdisplay;
616 crtc_timing.usH_SyncStart = adjusted_mode->crtc_hsync_start;
617 crtc_timing.usH_SyncWidth =
618 adjusted_mode->crtc_hsync_end - adjusted_mode->crtc_hsync_start;
619
620 crtc_timing.usV_Total = adjusted_mode->crtc_vtotal;
621 crtc_timing.usV_Disp = adjusted_mode->crtc_vdisplay;
622 crtc_timing.usV_SyncStart = adjusted_mode->crtc_vsync_start;
623 crtc_timing.usV_SyncWidth =
624 adjusted_mode->crtc_vsync_end - adjusted_mode->crtc_vsync_start;
625
626 if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC)
627 crtc_timing.susModeMiscInfo.usAccess |= ATOM_VSYNC_POLARITY;
628
629 if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC)
630 crtc_timing.susModeMiscInfo.usAccess |= ATOM_HSYNC_POLARITY;
631
632 if (adjusted_mode->flags & DRM_MODE_FLAG_CSYNC)
633 crtc_timing.susModeMiscInfo.usAccess |= ATOM_COMPOSITESYNC;
634
635 if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE)
636 crtc_timing.susModeMiscInfo.usAccess |= ATOM_INTERLACE;
637
638 if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN)
639 crtc_timing.susModeMiscInfo.usAccess |= ATOM_DOUBLE_CLOCK_MODE;
640 }
641 696
697 atombios_set_ss(crtc, 0);
642 atombios_crtc_set_pll(crtc, adjusted_mode); 698 atombios_crtc_set_pll(crtc, adjusted_mode);
643 atombios_crtc_set_timing(crtc, &crtc_timing); 699 atombios_set_ss(crtc, 1);
700 atombios_crtc_set_timing(crtc, adjusted_mode);
644 701
645 if (ASIC_IS_AVIVO(rdev)) 702 if (ASIC_IS_AVIVO(rdev))
646 atombios_crtc_set_base(crtc, x, y, old_fb); 703 atombios_crtc_set_base(crtc, x, y, old_fb);
647 else { 704 else {
648 if (radeon_crtc->crtc_id == 0) { 705 if (radeon_crtc->crtc_id == 0)
649 SET_CRTC_USING_DTD_TIMING_PARAMETERS crtc_dtd_timing; 706 atombios_set_crtc_dtd_timing(crtc, adjusted_mode);
650 memset(&crtc_dtd_timing, 0, sizeof(crtc_dtd_timing));
651
652 /* setup FP shadow regs on R4xx */
653 crtc_dtd_timing.ucCRTC = radeon_crtc->crtc_id;
654 crtc_dtd_timing.usH_Size = adjusted_mode->crtc_hdisplay;
655 crtc_dtd_timing.usV_Size = adjusted_mode->crtc_vdisplay;
656 crtc_dtd_timing.usH_Blanking_Time =
657 adjusted_mode->crtc_hblank_end -
658 adjusted_mode->crtc_hdisplay;
659 crtc_dtd_timing.usV_Blanking_Time =
660 adjusted_mode->crtc_vblank_end -
661 adjusted_mode->crtc_vdisplay;
662 crtc_dtd_timing.usH_SyncOffset =
663 adjusted_mode->crtc_hsync_start -
664 adjusted_mode->crtc_hdisplay;
665 crtc_dtd_timing.usV_SyncOffset =
666 adjusted_mode->crtc_vsync_start -
667 adjusted_mode->crtc_vdisplay;
668 crtc_dtd_timing.usH_SyncWidth =
669 adjusted_mode->crtc_hsync_end -
670 adjusted_mode->crtc_hsync_start;
671 crtc_dtd_timing.usV_SyncWidth =
672 adjusted_mode->crtc_vsync_end -
673 adjusted_mode->crtc_vsync_start;
674 /* crtc_dtd_timing.ucH_Border = adjusted_mode->crtc_hborder; */
675 /* crtc_dtd_timing.ucV_Border = adjusted_mode->crtc_vborder; */
676
677 if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC)
678 crtc_dtd_timing.susModeMiscInfo.usAccess |=
679 ATOM_VSYNC_POLARITY;
680
681 if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC)
682 crtc_dtd_timing.susModeMiscInfo.usAccess |=
683 ATOM_HSYNC_POLARITY;
684
685 if (adjusted_mode->flags & DRM_MODE_FLAG_CSYNC)
686 crtc_dtd_timing.susModeMiscInfo.usAccess |=
687 ATOM_COMPOSITESYNC;
688
689 if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE)
690 crtc_dtd_timing.susModeMiscInfo.usAccess |=
691 ATOM_INTERLACE;
692
693 if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN)
694 crtc_dtd_timing.susModeMiscInfo.usAccess |=
695 ATOM_DOUBLE_CLOCK_MODE;
696
697 atombios_set_crtc_dtd_timing(crtc, &crtc_dtd_timing);
698 }
699 radeon_crtc_set_base(crtc, x, y, old_fb); 707 radeon_crtc_set_base(crtc, x, y, old_fb);
700 radeon_legacy_atom_set_surface(crtc); 708 radeon_legacy_atom_set_surface(crtc);
701 } 709 }
702 atombios_overscan_setup(crtc, mode, adjusted_mode); 710 atombios_overscan_setup(crtc, mode, adjusted_mode);
703 atombios_scaler_setup(crtc); 711 atombios_scaler_setup(crtc);
704 radeon_bandwidth_update(rdev);
705 return 0; 712 return 0;
706} 713}
707 714
diff --git a/drivers/gpu/drm/radeon/mkregtable.c b/drivers/gpu/drm/radeon/mkregtable.c
index fb211e585dea..0d79577c1576 100644
--- a/drivers/gpu/drm/radeon/mkregtable.c
+++ b/drivers/gpu/drm/radeon/mkregtable.c
@@ -561,7 +561,7 @@ struct table {
561 char *gpu_prefix; 561 char *gpu_prefix;
562}; 562};
563 563
564struct offset *offset_new(unsigned o) 564static struct offset *offset_new(unsigned o)
565{ 565{
566 struct offset *offset; 566 struct offset *offset;
567 567
@@ -573,12 +573,12 @@ struct offset *offset_new(unsigned o)
573 return offset; 573 return offset;
574} 574}
575 575
576void table_offset_add(struct table *t, struct offset *offset) 576static void table_offset_add(struct table *t, struct offset *offset)
577{ 577{
578 list_add_tail(&offset->list, &t->offsets); 578 list_add_tail(&offset->list, &t->offsets);
579} 579}
580 580
581void table_init(struct table *t) 581static void table_init(struct table *t)
582{ 582{
583 INIT_LIST_HEAD(&t->offsets); 583 INIT_LIST_HEAD(&t->offsets);
584 t->offset_max = 0; 584 t->offset_max = 0;
@@ -586,7 +586,7 @@ void table_init(struct table *t)
586 t->table = NULL; 586 t->table = NULL;
587} 587}
588 588
589void table_print(struct table *t) 589static void table_print(struct table *t)
590{ 590{
591 unsigned nlloop, i, j, n, c, id; 591 unsigned nlloop, i, j, n, c, id;
592 592
@@ -611,7 +611,7 @@ void table_print(struct table *t)
611 printf("};\n"); 611 printf("};\n");
612} 612}
613 613
614int table_build(struct table *t) 614static int table_build(struct table *t)
615{ 615{
616 struct offset *offset; 616 struct offset *offset;
617 unsigned i, m; 617 unsigned i, m;
@@ -631,7 +631,7 @@ int table_build(struct table *t)
631} 631}
632 632
633static char gpu_name[10]; 633static char gpu_name[10];
634int parser_auth(struct table *t, const char *filename) 634static int parser_auth(struct table *t, const char *filename)
635{ 635{
636 FILE *file; 636 FILE *file;
637 regex_t mask_rex; 637 regex_t mask_rex;
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
index 161094c07d94..c9e93eabcf16 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
@@ -186,7 +186,7 @@ static inline uint32_t r100_irq_ack(struct radeon_device *rdev)
186 186
187int r100_irq_process(struct radeon_device *rdev) 187int r100_irq_process(struct radeon_device *rdev)
188{ 188{
189 uint32_t status; 189 uint32_t status, msi_rearm;
190 190
191 status = r100_irq_ack(rdev); 191 status = r100_irq_ack(rdev);
192 if (!status) { 192 if (!status) {
@@ -209,6 +209,21 @@ int r100_irq_process(struct radeon_device *rdev)
209 } 209 }
210 status = r100_irq_ack(rdev); 210 status = r100_irq_ack(rdev);
211 } 211 }
212 if (rdev->msi_enabled) {
213 switch (rdev->family) {
214 case CHIP_RS400:
215 case CHIP_RS480:
216 msi_rearm = RREG32(RADEON_AIC_CNTL) & ~RS400_MSI_REARM;
217 WREG32(RADEON_AIC_CNTL, msi_rearm);
218 WREG32(RADEON_AIC_CNTL, msi_rearm | RS400_MSI_REARM);
219 break;
220 default:
221 msi_rearm = RREG32(RADEON_MSI_REARM_EN) & ~RV370_MSI_REARM_EN;
222 WREG32(RADEON_MSI_REARM_EN, msi_rearm);
223 WREG32(RADEON_MSI_REARM_EN, msi_rearm | RV370_MSI_REARM_EN);
224 break;
225 }
226 }
212 return IRQ_HANDLED; 227 return IRQ_HANDLED;
213} 228}
214 229
@@ -240,7 +255,7 @@ int r100_wb_init(struct radeon_device *rdev)
240 int r; 255 int r;
241 256
242 if (rdev->wb.wb_obj == NULL) { 257 if (rdev->wb.wb_obj == NULL) {
243 r = radeon_object_create(rdev, NULL, 4096, 258 r = radeon_object_create(rdev, NULL, RADEON_GPU_PAGE_SIZE,
244 true, 259 true,
245 RADEON_GEM_DOMAIN_GTT, 260 RADEON_GEM_DOMAIN_GTT,
246 false, &rdev->wb.wb_obj); 261 false, &rdev->wb.wb_obj);
@@ -563,19 +578,19 @@ int r100_cp_init(struct radeon_device *rdev, unsigned ring_size)
563 indirect1_start = 16; 578 indirect1_start = 16;
564 /* cp setup */ 579 /* cp setup */
565 WREG32(0x718, pre_write_timer | (pre_write_limit << 28)); 580 WREG32(0x718, pre_write_timer | (pre_write_limit << 28));
566 WREG32(RADEON_CP_RB_CNTL, 581 tmp = (REG_SET(RADEON_RB_BUFSZ, rb_bufsz) |
567#ifdef __BIG_ENDIAN
568 RADEON_BUF_SWAP_32BIT |
569#endif
570 REG_SET(RADEON_RB_BUFSZ, rb_bufsz) |
571 REG_SET(RADEON_RB_BLKSZ, rb_blksz) | 582 REG_SET(RADEON_RB_BLKSZ, rb_blksz) |
572 REG_SET(RADEON_MAX_FETCH, max_fetch) | 583 REG_SET(RADEON_MAX_FETCH, max_fetch) |
573 RADEON_RB_NO_UPDATE); 584 RADEON_RB_NO_UPDATE);
585#ifdef __BIG_ENDIAN
586 tmp |= RADEON_BUF_SWAP_32BIT;
587#endif
588 WREG32(RADEON_CP_RB_CNTL, tmp);
589
574 /* Set ring address */ 590 /* Set ring address */
575 DRM_INFO("radeon: ring at 0x%016lX\n", (unsigned long)rdev->cp.gpu_addr); 591 DRM_INFO("radeon: ring at 0x%016lX\n", (unsigned long)rdev->cp.gpu_addr);
576 WREG32(RADEON_CP_RB_BASE, rdev->cp.gpu_addr); 592 WREG32(RADEON_CP_RB_BASE, rdev->cp.gpu_addr);
577 /* Force read & write ptr to 0 */ 593 /* Force read & write ptr to 0 */
578 tmp = RREG32(RADEON_CP_RB_CNTL);
579 WREG32(RADEON_CP_RB_CNTL, tmp | RADEON_RB_RPTR_WR_ENA); 594 WREG32(RADEON_CP_RB_CNTL, tmp | RADEON_RB_RPTR_WR_ENA);
580 WREG32(RADEON_CP_RB_RPTR_WR, 0); 595 WREG32(RADEON_CP_RB_RPTR_WR, 0);
581 WREG32(RADEON_CP_RB_WPTR, 0); 596 WREG32(RADEON_CP_RB_WPTR, 0);
@@ -2364,7 +2379,7 @@ void r100_bandwidth_update(struct radeon_device *rdev)
2364 /* 2379 /*
2365 Find the total latency for the display data. 2380 Find the total latency for the display data.
2366 */ 2381 */
2367 disp_latency_overhead.full = rfixed_const(80); 2382 disp_latency_overhead.full = rfixed_const(8);
2368 disp_latency_overhead.full = rfixed_div(disp_latency_overhead, sclk_ff); 2383 disp_latency_overhead.full = rfixed_div(disp_latency_overhead, sclk_ff);
2369 mc_latency_mclk.full += disp_latency_overhead.full + cur_latency_mclk.full; 2384 mc_latency_mclk.full += disp_latency_overhead.full + cur_latency_mclk.full;
2370 mc_latency_sclk.full += disp_latency_overhead.full + cur_latency_sclk.full; 2385 mc_latency_sclk.full += disp_latency_overhead.full + cur_latency_sclk.full;
@@ -2562,8 +2577,11 @@ void r100_bandwidth_update(struct radeon_device *rdev)
2562static inline void r100_cs_track_texture_print(struct r100_cs_track_texture *t) 2577static inline void r100_cs_track_texture_print(struct r100_cs_track_texture *t)
2563{ 2578{
2564 DRM_ERROR("pitch %d\n", t->pitch); 2579 DRM_ERROR("pitch %d\n", t->pitch);
2580 DRM_ERROR("use_pitch %d\n", t->use_pitch);
2565 DRM_ERROR("width %d\n", t->width); 2581 DRM_ERROR("width %d\n", t->width);
2582 DRM_ERROR("width_11 %d\n", t->width_11);
2566 DRM_ERROR("height %d\n", t->height); 2583 DRM_ERROR("height %d\n", t->height);
2584 DRM_ERROR("height_11 %d\n", t->height_11);
2567 DRM_ERROR("num levels %d\n", t->num_levels); 2585 DRM_ERROR("num levels %d\n", t->num_levels);
2568 DRM_ERROR("depth %d\n", t->txdepth); 2586 DRM_ERROR("depth %d\n", t->txdepth);
2569 DRM_ERROR("bpp %d\n", t->cpp); 2587 DRM_ERROR("bpp %d\n", t->cpp);
@@ -2623,15 +2641,17 @@ static int r100_cs_track_texture_check(struct radeon_device *rdev,
2623 else 2641 else
2624 w = track->textures[u].pitch / (1 << i); 2642 w = track->textures[u].pitch / (1 << i);
2625 } else { 2643 } else {
2626 w = track->textures[u].width / (1 << i); 2644 w = track->textures[u].width;
2627 if (rdev->family >= CHIP_RV515) 2645 if (rdev->family >= CHIP_RV515)
2628 w |= track->textures[u].width_11; 2646 w |= track->textures[u].width_11;
2647 w = w / (1 << i);
2629 if (track->textures[u].roundup_w) 2648 if (track->textures[u].roundup_w)
2630 w = roundup_pow_of_two(w); 2649 w = roundup_pow_of_two(w);
2631 } 2650 }
2632 h = track->textures[u].height / (1 << i); 2651 h = track->textures[u].height;
2633 if (rdev->family >= CHIP_RV515) 2652 if (rdev->family >= CHIP_RV515)
2634 h |= track->textures[u].height_11; 2653 h |= track->textures[u].height_11;
2654 h = h / (1 << i);
2635 if (track->textures[u].roundup_h) 2655 if (track->textures[u].roundup_h)
2636 h = roundup_pow_of_two(h); 2656 h = roundup_pow_of_two(h);
2637 size += w * h; 2657 size += w * h;
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
index e08c4a8974ca..2f43ee8e4048 100644
--- a/drivers/gpu/drm/radeon/r300.c
+++ b/drivers/gpu/drm/radeon/r300.c
@@ -113,7 +113,7 @@ int rv370_pcie_gart_enable(struct radeon_device *rdev)
113 tmp = RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD; 113 tmp = RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD;
114 WREG32_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp); 114 WREG32_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp);
115 WREG32_PCIE(RADEON_PCIE_TX_GART_START_LO, rdev->mc.gtt_location); 115 WREG32_PCIE(RADEON_PCIE_TX_GART_START_LO, rdev->mc.gtt_location);
116 tmp = rdev->mc.gtt_location + rdev->mc.gtt_size - 4096; 116 tmp = rdev->mc.gtt_location + rdev->mc.gtt_size - RADEON_GPU_PAGE_SIZE;
117 WREG32_PCIE(RADEON_PCIE_TX_GART_END_LO, tmp); 117 WREG32_PCIE(RADEON_PCIE_TX_GART_END_LO, tmp);
118 WREG32_PCIE(RADEON_PCIE_TX_GART_START_HI, 0); 118 WREG32_PCIE(RADEON_PCIE_TX_GART_START_HI, 0);
119 WREG32_PCIE(RADEON_PCIE_TX_GART_END_HI, 0); 119 WREG32_PCIE(RADEON_PCIE_TX_GART_END_HI, 0);
diff --git a/drivers/gpu/drm/radeon/r420.c b/drivers/gpu/drm/radeon/r420.c
index 5c7fe52de30e..1cefdbcc0850 100644
--- a/drivers/gpu/drm/radeon/r420.c
+++ b/drivers/gpu/drm/radeon/r420.c
@@ -311,6 +311,8 @@ int r420_init(struct radeon_device *rdev)
311 } 311 }
312 /* Initialize clocks */ 312 /* Initialize clocks */
313 radeon_get_clock_info(rdev->ddev); 313 radeon_get_clock_info(rdev->ddev);
314 /* Initialize power management */
315 radeon_pm_init(rdev);
314 /* Get vram informations */ 316 /* Get vram informations */
315 r300_vram_info(rdev); 317 r300_vram_info(rdev);
316 /* Initialize memory controller (also test AGP) */ 318 /* Initialize memory controller (also test AGP) */
diff --git a/drivers/gpu/drm/radeon/r500_reg.h b/drivers/gpu/drm/radeon/r500_reg.h
index 868add6e166d..7baa73955563 100644
--- a/drivers/gpu/drm/radeon/r500_reg.h
+++ b/drivers/gpu/drm/radeon/r500_reg.h
@@ -384,9 +384,16 @@
384# define AVIVO_D1GRPH_TILED (1 << 20) 384# define AVIVO_D1GRPH_TILED (1 << 20)
385# define AVIVO_D1GRPH_MACRO_ADDRESS_MODE (1 << 21) 385# define AVIVO_D1GRPH_MACRO_ADDRESS_MODE (1 << 21)
386 386
387/* The R7xx *_HIGH surface regs are backwards; the D1 regs are in the D2
388 * block and vice versa. This applies to GRPH, CUR, etc.
389 */
387#define AVIVO_D1GRPH_LUT_SEL 0x6108 390#define AVIVO_D1GRPH_LUT_SEL 0x6108
388#define AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS 0x6110 391#define AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS 0x6110
392#define R700_D1GRPH_PRIMARY_SURFACE_ADDRESS_HIGH 0x6914
393#define R700_D2GRPH_PRIMARY_SURFACE_ADDRESS_HIGH 0x6114
389#define AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS 0x6118 394#define AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS 0x6118
395#define R700_D1GRPH_SECONDARY_SURFACE_ADDRESS_HIGH 0x691c
396#define R700_D2GRPH_SECONDARY_SURFACE_ADDRESS_HIGH 0x611c
390#define AVIVO_D1GRPH_PITCH 0x6120 397#define AVIVO_D1GRPH_PITCH 0x6120
391#define AVIVO_D1GRPH_SURFACE_OFFSET_X 0x6124 398#define AVIVO_D1GRPH_SURFACE_OFFSET_X 0x6124
392#define AVIVO_D1GRPH_SURFACE_OFFSET_Y 0x6128 399#define AVIVO_D1GRPH_SURFACE_OFFSET_Y 0x6128
@@ -404,6 +411,8 @@
404# define AVIVO_D1CURSOR_MODE_MASK (3 << 8) 411# define AVIVO_D1CURSOR_MODE_MASK (3 << 8)
405# define AVIVO_D1CURSOR_MODE_24BPP 2 412# define AVIVO_D1CURSOR_MODE_24BPP 2
406#define AVIVO_D1CUR_SURFACE_ADDRESS 0x6408 413#define AVIVO_D1CUR_SURFACE_ADDRESS 0x6408
414#define R700_D1CUR_SURFACE_ADDRESS_HIGH 0x6c0c
415#define R700_D2CUR_SURFACE_ADDRESS_HIGH 0x640c
407#define AVIVO_D1CUR_SIZE 0x6410 416#define AVIVO_D1CUR_SIZE 0x6410
408#define AVIVO_D1CUR_POSITION 0x6414 417#define AVIVO_D1CUR_POSITION 0x6414
409#define AVIVO_D1CUR_HOT_SPOT 0x6418 418#define AVIVO_D1CUR_HOT_SPOT 0x6418
diff --git a/drivers/gpu/drm/radeon/r520.c b/drivers/gpu/drm/radeon/r520.c
index a555b7b19b48..f7435185c0a6 100644
--- a/drivers/gpu/drm/radeon/r520.c
+++ b/drivers/gpu/drm/radeon/r520.c
@@ -260,6 +260,8 @@ int r520_init(struct radeon_device *rdev)
260 } 260 }
261 /* Initialize clocks */ 261 /* Initialize clocks */
262 radeon_get_clock_info(rdev->ddev); 262 radeon_get_clock_info(rdev->ddev);
263 /* Initialize power management */
264 radeon_pm_init(rdev);
263 /* Get vram informations */ 265 /* Get vram informations */
264 r520_vram_info(rdev); 266 r520_vram_info(rdev);
265 /* Initialize memory controller (also test AGP) */ 267 /* Initialize memory controller (also test AGP) */
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index 609719490ec2..278f646bc18e 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -339,11 +339,10 @@ int r600_mc_init(struct radeon_device *rdev)
339{ 339{
340 fixed20_12 a; 340 fixed20_12 a;
341 u32 tmp; 341 u32 tmp;
342 int chansize; 342 int chansize, numchan;
343 int r; 343 int r;
344 344
345 /* Get VRAM informations */ 345 /* Get VRAM informations */
346 rdev->mc.vram_width = 128;
347 rdev->mc.vram_is_ddr = true; 346 rdev->mc.vram_is_ddr = true;
348 tmp = RREG32(RAMCFG); 347 tmp = RREG32(RAMCFG);
349 if (tmp & CHANSIZE_OVERRIDE) { 348 if (tmp & CHANSIZE_OVERRIDE) {
@@ -353,17 +352,23 @@ int r600_mc_init(struct radeon_device *rdev)
353 } else { 352 } else {
354 chansize = 32; 353 chansize = 32;
355 } 354 }
356 if (rdev->family == CHIP_R600) { 355 tmp = RREG32(CHMAP);
357 rdev->mc.vram_width = 8 * chansize; 356 switch ((tmp & NOOFCHAN_MASK) >> NOOFCHAN_SHIFT) {
358 } else if (rdev->family == CHIP_RV670) { 357 case 0:
359 rdev->mc.vram_width = 4 * chansize; 358 default:
360 } else if ((rdev->family == CHIP_RV610) || 359 numchan = 1;
361 (rdev->family == CHIP_RV620)) { 360 break;
362 rdev->mc.vram_width = chansize; 361 case 1:
363 } else if ((rdev->family == CHIP_RV630) || 362 numchan = 2;
364 (rdev->family == CHIP_RV635)) { 363 break;
365 rdev->mc.vram_width = 2 * chansize; 364 case 2:
365 numchan = 4;
366 break;
367 case 3:
368 numchan = 8;
369 break;
366 } 370 }
371 rdev->mc.vram_width = numchan * chansize;
367 /* Could aper size report 0 ? */ 372 /* Could aper size report 0 ? */
368 rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0); 373 rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0);
369 rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0); 374 rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0);
@@ -404,35 +409,29 @@ int r600_mc_init(struct radeon_device *rdev)
404 rdev->mc.gtt_location = rdev->mc.mc_vram_size; 409 rdev->mc.gtt_location = rdev->mc.mc_vram_size;
405 } 410 }
406 } else { 411 } else {
407 if (rdev->family == CHIP_RS780 || rdev->family == CHIP_RS880) { 412 rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024;
408 rdev->mc.vram_location = (RREG32(MC_VM_FB_LOCATION) & 413 rdev->mc.vram_location = (RREG32(MC_VM_FB_LOCATION) &
409 0xFFFF) << 24; 414 0xFFFF) << 24;
410 rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024; 415 tmp = rdev->mc.vram_location + rdev->mc.mc_vram_size;
411 tmp = rdev->mc.vram_location + rdev->mc.mc_vram_size; 416 if ((0xFFFFFFFFUL - tmp) >= rdev->mc.gtt_size) {
412 if ((0xFFFFFFFFUL - tmp) >= rdev->mc.gtt_size) { 417 /* Enough place after vram */
413 /* Enough place after vram */ 418 rdev->mc.gtt_location = tmp;
414 rdev->mc.gtt_location = tmp; 419 } else if (rdev->mc.vram_location >= rdev->mc.gtt_size) {
415 } else if (rdev->mc.vram_location >= rdev->mc.gtt_size) { 420 /* Enough place before vram */
416 /* Enough place before vram */ 421 rdev->mc.gtt_location = 0;
422 } else {
423 /* Not enough place after or before shrink
424 * gart size
425 */
426 if (rdev->mc.vram_location > (0xFFFFFFFFUL - tmp)) {
417 rdev->mc.gtt_location = 0; 427 rdev->mc.gtt_location = 0;
428 rdev->mc.gtt_size = rdev->mc.vram_location;
418 } else { 429 } else {
419 /* Not enough place after or before shrink 430 rdev->mc.gtt_location = tmp;
420 * gart size 431 rdev->mc.gtt_size = 0xFFFFFFFFUL - tmp;
421 */
422 if (rdev->mc.vram_location > (0xFFFFFFFFUL - tmp)) {
423 rdev->mc.gtt_location = 0;
424 rdev->mc.gtt_size = rdev->mc.vram_location;
425 } else {
426 rdev->mc.gtt_location = tmp;
427 rdev->mc.gtt_size = 0xFFFFFFFFUL - tmp;
428 }
429 } 432 }
430 rdev->mc.gtt_location = rdev->mc.mc_vram_size;
431 } else {
432 rdev->mc.vram_location = 0x00000000UL;
433 rdev->mc.gtt_location = rdev->mc.mc_vram_size;
434 rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024;
435 } 433 }
434 rdev->mc.gtt_location = rdev->mc.mc_vram_size;
436 } 435 }
437 rdev->mc.vram_start = rdev->mc.vram_location; 436 rdev->mc.vram_start = rdev->mc.vram_location;
438 rdev->mc.vram_end = rdev->mc.vram_location + rdev->mc.mc_vram_size - 1; 437 rdev->mc.vram_end = rdev->mc.vram_location + rdev->mc.mc_vram_size - 1;
@@ -859,7 +858,8 @@ void r600_gpu_init(struct radeon_device *rdev)
859 ((rdev->family) == CHIP_RV630) || 858 ((rdev->family) == CHIP_RV630) ||
860 ((rdev->family) == CHIP_RV610) || 859 ((rdev->family) == CHIP_RV610) ||
861 ((rdev->family) == CHIP_RV620) || 860 ((rdev->family) == CHIP_RV620) ||
862 ((rdev->family) == CHIP_RS780)) { 861 ((rdev->family) == CHIP_RS780) ||
862 ((rdev->family) == CHIP_RS880)) {
863 WREG32(DB_DEBUG, PREZ_MUST_WAIT_FOR_POSTZ_DONE); 863 WREG32(DB_DEBUG, PREZ_MUST_WAIT_FOR_POSTZ_DONE);
864 } else { 864 } else {
865 WREG32(DB_DEBUG, 0); 865 WREG32(DB_DEBUG, 0);
@@ -876,7 +876,8 @@ void r600_gpu_init(struct radeon_device *rdev)
876 tmp = RREG32(SQ_MS_FIFO_SIZES); 876 tmp = RREG32(SQ_MS_FIFO_SIZES);
877 if (((rdev->family) == CHIP_RV610) || 877 if (((rdev->family) == CHIP_RV610) ||
878 ((rdev->family) == CHIP_RV620) || 878 ((rdev->family) == CHIP_RV620) ||
879 ((rdev->family) == CHIP_RS780)) { 879 ((rdev->family) == CHIP_RS780) ||
880 ((rdev->family) == CHIP_RS880)) {
880 tmp = (CACHE_FIFO_SIZE(0xa) | 881 tmp = (CACHE_FIFO_SIZE(0xa) |
881 FETCH_FIFO_HIWATER(0xa) | 882 FETCH_FIFO_HIWATER(0xa) |
882 DONE_FIFO_HIWATER(0xe0) | 883 DONE_FIFO_HIWATER(0xe0) |
@@ -919,7 +920,8 @@ void r600_gpu_init(struct radeon_device *rdev)
919 NUM_ES_STACK_ENTRIES(0)); 920 NUM_ES_STACK_ENTRIES(0));
920 } else if (((rdev->family) == CHIP_RV610) || 921 } else if (((rdev->family) == CHIP_RV610) ||
921 ((rdev->family) == CHIP_RV620) || 922 ((rdev->family) == CHIP_RV620) ||
922 ((rdev->family) == CHIP_RS780)) { 923 ((rdev->family) == CHIP_RS780) ||
924 ((rdev->family) == CHIP_RS880)) {
923 /* no vertex cache */ 925 /* no vertex cache */
924 sq_config &= ~VC_ENABLE; 926 sq_config &= ~VC_ENABLE;
925 927
@@ -976,7 +978,8 @@ void r600_gpu_init(struct radeon_device *rdev)
976 978
977 if (((rdev->family) == CHIP_RV610) || 979 if (((rdev->family) == CHIP_RV610) ||
978 ((rdev->family) == CHIP_RV620) || 980 ((rdev->family) == CHIP_RV620) ||
979 ((rdev->family) == CHIP_RS780)) { 981 ((rdev->family) == CHIP_RS780) ||
982 ((rdev->family) == CHIP_RS880)) {
980 WREG32(VGT_CACHE_INVALIDATION, CACHE_INVALIDATION(TC_ONLY)); 983 WREG32(VGT_CACHE_INVALIDATION, CACHE_INVALIDATION(TC_ONLY));
981 } else { 984 } else {
982 WREG32(VGT_CACHE_INVALIDATION, CACHE_INVALIDATION(VC_AND_TC)); 985 WREG32(VGT_CACHE_INVALIDATION, CACHE_INVALIDATION(VC_AND_TC));
@@ -1002,8 +1005,9 @@ void r600_gpu_init(struct radeon_device *rdev)
1002 tmp = rdev->config.r600.max_pipes * 16; 1005 tmp = rdev->config.r600.max_pipes * 16;
1003 switch (rdev->family) { 1006 switch (rdev->family) {
1004 case CHIP_RV610: 1007 case CHIP_RV610:
1005 case CHIP_RS780:
1006 case CHIP_RV620: 1008 case CHIP_RV620:
1009 case CHIP_RS780:
1010 case CHIP_RS880:
1007 tmp += 32; 1011 tmp += 32;
1008 break; 1012 break;
1009 case CHIP_RV670: 1013 case CHIP_RV670:
@@ -1044,8 +1048,9 @@ void r600_gpu_init(struct radeon_device *rdev)
1044 1048
1045 switch (rdev->family) { 1049 switch (rdev->family) {
1046 case CHIP_RV610: 1050 case CHIP_RV610:
1047 case CHIP_RS780:
1048 case CHIP_RV620: 1051 case CHIP_RV620:
1052 case CHIP_RS780:
1053 case CHIP_RS880:
1049 tmp = TC_L2_SIZE(8); 1054 tmp = TC_L2_SIZE(8);
1050 break; 1055 break;
1051 case CHIP_RV630: 1056 case CHIP_RV630:
@@ -1267,19 +1272,17 @@ int r600_cp_resume(struct radeon_device *rdev)
1267 1272
1268 /* Set ring buffer size */ 1273 /* Set ring buffer size */
1269 rb_bufsz = drm_order(rdev->cp.ring_size / 8); 1274 rb_bufsz = drm_order(rdev->cp.ring_size / 8);
1275 tmp = RB_NO_UPDATE | (drm_order(RADEON_GPU_PAGE_SIZE/8) << 8) | rb_bufsz;
1270#ifdef __BIG_ENDIAN 1276#ifdef __BIG_ENDIAN
1271 WREG32(CP_RB_CNTL, BUF_SWAP_32BIT | RB_NO_UPDATE | 1277 tmp |= BUF_SWAP_32BIT;
1272 (drm_order(4096/8) << 8) | rb_bufsz);
1273#else
1274 WREG32(CP_RB_CNTL, RB_NO_UPDATE | (drm_order(4096/8) << 8) | rb_bufsz);
1275#endif 1278#endif
1279 WREG32(CP_RB_CNTL, tmp);
1276 WREG32(CP_SEM_WAIT_TIMER, 0x4); 1280 WREG32(CP_SEM_WAIT_TIMER, 0x4);
1277 1281
1278 /* Set the write pointer delay */ 1282 /* Set the write pointer delay */
1279 WREG32(CP_RB_WPTR_DELAY, 0); 1283 WREG32(CP_RB_WPTR_DELAY, 0);
1280 1284
1281 /* Initialize the ring buffer's read and write pointers */ 1285 /* Initialize the ring buffer's read and write pointers */
1282 tmp = RREG32(CP_RB_CNTL);
1283 WREG32(CP_RB_CNTL, tmp | RB_RPTR_WR_ENA); 1286 WREG32(CP_RB_CNTL, tmp | RB_RPTR_WR_ENA);
1284 WREG32(CP_RB_RPTR_WR, 0); 1287 WREG32(CP_RB_RPTR_WR, 0);
1285 WREG32(CP_RB_WPTR, 0); 1288 WREG32(CP_RB_WPTR, 0);
@@ -1400,7 +1403,7 @@ int r600_wb_enable(struct radeon_device *rdev)
1400 int r; 1403 int r;
1401 1404
1402 if (rdev->wb.wb_obj == NULL) { 1405 if (rdev->wb.wb_obj == NULL) {
1403 r = radeon_object_create(rdev, NULL, 4096, true, 1406 r = radeon_object_create(rdev, NULL, RADEON_GPU_PAGE_SIZE, true,
1404 RADEON_GEM_DOMAIN_GTT, false, &rdev->wb.wb_obj); 1407 RADEON_GEM_DOMAIN_GTT, false, &rdev->wb.wb_obj);
1405 if (r) { 1408 if (r) {
1406 dev_warn(rdev->dev, "failed to create WB buffer (%d).\n", r); 1409 dev_warn(rdev->dev, "failed to create WB buffer (%d).\n", r);
@@ -1450,8 +1453,8 @@ int r600_copy_blit(struct radeon_device *rdev,
1450 uint64_t src_offset, uint64_t dst_offset, 1453 uint64_t src_offset, uint64_t dst_offset,
1451 unsigned num_pages, struct radeon_fence *fence) 1454 unsigned num_pages, struct radeon_fence *fence)
1452{ 1455{
1453 r600_blit_prepare_copy(rdev, num_pages * 4096); 1456 r600_blit_prepare_copy(rdev, num_pages * RADEON_GPU_PAGE_SIZE);
1454 r600_kms_blit_copy(rdev, src_offset, dst_offset, num_pages * 4096); 1457 r600_kms_blit_copy(rdev, src_offset, dst_offset, num_pages * RADEON_GPU_PAGE_SIZE);
1455 r600_blit_done_copy(rdev, fence); 1458 r600_blit_done_copy(rdev, fence);
1456 return 0; 1459 return 0;
1457} 1460}
@@ -1632,10 +1635,13 @@ int r600_init(struct radeon_device *rdev)
1632 r600_scratch_init(rdev); 1635 r600_scratch_init(rdev);
1633 /* Initialize surface registers */ 1636 /* Initialize surface registers */
1634 radeon_surface_init(rdev); 1637 radeon_surface_init(rdev);
1638 /* Initialize clocks */
1635 radeon_get_clock_info(rdev->ddev); 1639 radeon_get_clock_info(rdev->ddev);
1636 r = radeon_clocks_init(rdev); 1640 r = radeon_clocks_init(rdev);
1637 if (r) 1641 if (r)
1638 return r; 1642 return r;
1643 /* Initialize power management */
1644 radeon_pm_init(rdev);
1639 /* Fence driver */ 1645 /* Fence driver */
1640 r = radeon_fence_driver_init(rdev); 1646 r = radeon_fence_driver_init(rdev);
1641 if (r) 1647 if (r)
diff --git a/drivers/gpu/drm/radeon/r600_blit.c b/drivers/gpu/drm/radeon/r600_blit.c
index dec501081608..5ea432347589 100644
--- a/drivers/gpu/drm/radeon/r600_blit.c
+++ b/drivers/gpu/drm/radeon/r600_blit.c
@@ -582,6 +582,8 @@ r600_blit_copy(struct drm_device *dev,
582 u64 vb_addr; 582 u64 vb_addr;
583 u32 *vb; 583 u32 *vb;
584 584
585 vb = r600_nomm_get_vb_ptr(dev);
586
585 if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) { 587 if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) {
586 max_bytes = 8192; 588 max_bytes = 8192;
587 589
@@ -617,8 +619,8 @@ r600_blit_copy(struct drm_device *dev,
617 if (!dev_priv->blit_vb) 619 if (!dev_priv->blit_vb)
618 return; 620 return;
619 set_shaders(dev); 621 set_shaders(dev);
622 vb = r600_nomm_get_vb_ptr(dev);
620 } 623 }
621 vb = r600_nomm_get_vb_ptr(dev);
622 624
623 vb[0] = i2f(dst_x); 625 vb[0] = i2f(dst_x);
624 vb[1] = 0; 626 vb[1] = 0;
@@ -706,8 +708,8 @@ r600_blit_copy(struct drm_device *dev,
706 return; 708 return;
707 709
708 set_shaders(dev); 710 set_shaders(dev);
711 vb = r600_nomm_get_vb_ptr(dev);
709 } 712 }
710 vb = r600_nomm_get_vb_ptr(dev);
711 713
712 vb[0] = i2f(dst_x / 4); 714 vb[0] = i2f(dst_x / 4);
713 vb[1] = 0; 715 vb[1] = 0;
@@ -772,6 +774,7 @@ r600_blit_swap(struct drm_device *dev,
772{ 774{
773 drm_radeon_private_t *dev_priv = dev->dev_private; 775 drm_radeon_private_t *dev_priv = dev->dev_private;
774 int cb_format, tex_format; 776 int cb_format, tex_format;
777 int sx2, sy2, dx2, dy2;
775 u64 vb_addr; 778 u64 vb_addr;
776 u32 *vb; 779 u32 *vb;
777 780
@@ -786,16 +789,10 @@ r600_blit_swap(struct drm_device *dev,
786 } 789 }
787 vb = r600_nomm_get_vb_ptr(dev); 790 vb = r600_nomm_get_vb_ptr(dev);
788 791
789 if (cpp == 4) { 792 sx2 = sx + w;
790 cb_format = COLOR_8_8_8_8; 793 sy2 = sy + h;
791 tex_format = FMT_8_8_8_8; 794 dx2 = dx + w;
792 } else if (cpp == 2) { 795 dy2 = dy + h;
793 cb_format = COLOR_5_6_5;
794 tex_format = FMT_5_6_5;
795 } else {
796 cb_format = COLOR_8;
797 tex_format = FMT_8;
798 }
799 796
800 vb[0] = i2f(dx); 797 vb[0] = i2f(dx);
801 vb[1] = i2f(dy); 798 vb[1] = i2f(dy);
@@ -803,31 +800,46 @@ r600_blit_swap(struct drm_device *dev,
803 vb[3] = i2f(sy); 800 vb[3] = i2f(sy);
804 801
805 vb[4] = i2f(dx); 802 vb[4] = i2f(dx);
806 vb[5] = i2f(dy + h); 803 vb[5] = i2f(dy2);
807 vb[6] = i2f(sx); 804 vb[6] = i2f(sx);
808 vb[7] = i2f(sy + h); 805 vb[7] = i2f(sy2);
806
807 vb[8] = i2f(dx2);
808 vb[9] = i2f(dy2);
809 vb[10] = i2f(sx2);
810 vb[11] = i2f(sy2);
809 811
810 vb[8] = i2f(dx + w); 812 switch(cpp) {
811 vb[9] = i2f(dy + h); 813 case 4:
812 vb[10] = i2f(sx + w); 814 cb_format = COLOR_8_8_8_8;
813 vb[11] = i2f(sy + h); 815 tex_format = FMT_8_8_8_8;
816 break;
817 case 2:
818 cb_format = COLOR_5_6_5;
819 tex_format = FMT_5_6_5;
820 break;
821 default:
822 cb_format = COLOR_8;
823 tex_format = FMT_8;
824 break;
825 }
814 826
815 /* src */ 827 /* src */
816 set_tex_resource(dev_priv, tex_format, 828 set_tex_resource(dev_priv, tex_format,
817 src_pitch / cpp, 829 src_pitch / cpp,
818 sy + h, src_pitch / cpp, 830 sy2, src_pitch / cpp,
819 src_gpu_addr); 831 src_gpu_addr);
820 832
821 cp_set_surface_sync(dev_priv, 833 cp_set_surface_sync(dev_priv,
822 R600_TC_ACTION_ENA, (src_pitch * (sy + h)), src_gpu_addr); 834 R600_TC_ACTION_ENA, src_pitch * sy2, src_gpu_addr);
823 835
824 /* dst */ 836 /* dst */
825 set_render_target(dev_priv, cb_format, 837 set_render_target(dev_priv, cb_format,
826 dst_pitch / cpp, dy + h, 838 dst_pitch / cpp, dy2,
827 dst_gpu_addr); 839 dst_gpu_addr);
828 840
829 /* scissors */ 841 /* scissors */
830 set_scissors(dev_priv, dx, dy, dx + w, dy + h); 842 set_scissors(dev_priv, dx, dy, dx2, dy2);
831 843
832 /* Vertex buffer setup */ 844 /* Vertex buffer setup */
833 vb_addr = dev_priv->gart_buffers_offset + 845 vb_addr = dev_priv->gart_buffers_offset +
@@ -840,7 +852,7 @@ r600_blit_swap(struct drm_device *dev,
840 852
841 cp_set_surface_sync(dev_priv, 853 cp_set_surface_sync(dev_priv,
842 R600_CB_ACTION_ENA | R600_CB0_DEST_BASE_ENA, 854 R600_CB_ACTION_ENA | R600_CB0_DEST_BASE_ENA,
843 dst_pitch * (dy + h), dst_gpu_addr); 855 dst_pitch * dy2, dst_gpu_addr);
844 856
845 dev_priv->blit_vb->used += 12 * 4; 857 dev_priv->blit_vb->used += 12 * 4;
846} 858}
diff --git a/drivers/gpu/drm/radeon/r600_blit_kms.c b/drivers/gpu/drm/radeon/r600_blit_kms.c
index 93108bb31d1d..dbf716e1fbf3 100644
--- a/drivers/gpu/drm/radeon/r600_blit_kms.c
+++ b/drivers/gpu/drm/radeon/r600_blit_kms.c
@@ -368,7 +368,7 @@ set_default_state(struct radeon_device *rdev)
368 if ((rdev->family == CHIP_RV610) || 368 if ((rdev->family == CHIP_RV610) ||
369 (rdev->family == CHIP_RV620) || 369 (rdev->family == CHIP_RV620) ||
370 (rdev->family == CHIP_RS780) || 370 (rdev->family == CHIP_RS780) ||
371 (rdev->family == CHIP_RS780) || 371 (rdev->family == CHIP_RS880) ||
372 (rdev->family == CHIP_RV710)) 372 (rdev->family == CHIP_RV710))
373 sq_config = 0; 373 sq_config = 0;
374 else 374 else
@@ -610,6 +610,7 @@ void r600_kms_blit_copy(struct radeon_device *rdev,
610 610
611 DRM_DEBUG("emitting copy %16llx %16llx %d %d\n", src_gpu_addr, dst_gpu_addr, 611 DRM_DEBUG("emitting copy %16llx %16llx %d %d\n", src_gpu_addr, dst_gpu_addr,
612 size_bytes, rdev->r600_blit.vb_used); 612 size_bytes, rdev->r600_blit.vb_used);
613 vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used);
613 if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) { 614 if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) {
614 max_bytes = 8192; 615 max_bytes = 8192;
615 616
@@ -652,7 +653,6 @@ void r600_kms_blit_copy(struct radeon_device *rdev,
652 vb = r600_nomm_get_vb_ptr(dev); 653 vb = r600_nomm_get_vb_ptr(dev);
653#endif 654#endif
654 } 655 }
655 vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used);
656 656
657 vb[0] = i2f(dst_x); 657 vb[0] = i2f(dst_x);
658 vb[1] = 0; 658 vb[1] = 0;
@@ -747,7 +747,6 @@ void r600_kms_blit_copy(struct radeon_device *rdev,
747 vb = r600_nomm_get_vb_ptr(dev); 747 vb = r600_nomm_get_vb_ptr(dev);
748 } 748 }
749#endif 749#endif
750 vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used);
751 750
752 vb[0] = i2f(dst_x / 4); 751 vb[0] = i2f(dst_x / 4);
753 vb[1] = 0; 752 vb[1] = 0;
diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
index 17e42195c632..0d820764f340 100644
--- a/drivers/gpu/drm/radeon/r600_cs.c
+++ b/drivers/gpu/drm/radeon/r600_cs.c
@@ -466,6 +466,23 @@ static int r600_packet3_check(struct radeon_cs_parser *p,
466 for (i = 0; i < pkt->count; i++) { 466 for (i = 0; i < pkt->count; i++) {
467 reg = start_reg + (4 * i); 467 reg = start_reg + (4 * i);
468 switch (reg) { 468 switch (reg) {
469 case SQ_ESGS_RING_BASE:
470 case SQ_GSVS_RING_BASE:
471 case SQ_ESTMP_RING_BASE:
472 case SQ_GSTMP_RING_BASE:
473 case SQ_VSTMP_RING_BASE:
474 case SQ_PSTMP_RING_BASE:
475 case SQ_FBUF_RING_BASE:
476 case SQ_REDUC_RING_BASE:
477 case SX_MEMORY_EXPORT_BASE:
478 r = r600_cs_packet_next_reloc(p, &reloc);
479 if (r) {
480 DRM_ERROR("bad SET_CONFIG_REG "
481 "0x%04X\n", reg);
482 return -EINVAL;
483 }
484 ib[idx+1+i] += (u32)((reloc->lobj.gpu_offset >> 8) & 0xffffffff);
485 break;
469 case CP_COHER_BASE: 486 case CP_COHER_BASE:
470 /* use PACKET3_SURFACE_SYNC */ 487 /* use PACKET3_SURFACE_SYNC */
471 return -EINVAL; 488 return -EINVAL;
@@ -487,6 +504,7 @@ static int r600_packet3_check(struct radeon_cs_parser *p,
487 reg = start_reg + (4 * i); 504 reg = start_reg + (4 * i);
488 switch (reg) { 505 switch (reg) {
489 case DB_DEPTH_BASE: 506 case DB_DEPTH_BASE:
507 case DB_HTILE_DATA_BASE:
490 case CB_COLOR0_BASE: 508 case CB_COLOR0_BASE:
491 case CB_COLOR1_BASE: 509 case CB_COLOR1_BASE:
492 case CB_COLOR2_BASE: 510 case CB_COLOR2_BASE:
diff --git a/drivers/gpu/drm/radeon/r600d.h b/drivers/gpu/drm/radeon/r600d.h
index 9b64d47f1f82..27ab428b149b 100644
--- a/drivers/gpu/drm/radeon/r600d.h
+++ b/drivers/gpu/drm/radeon/r600d.h
@@ -119,6 +119,7 @@
119#define DB_DEBUG 0x9830 119#define DB_DEBUG 0x9830
120#define PREZ_MUST_WAIT_FOR_POSTZ_DONE (1 << 31) 120#define PREZ_MUST_WAIT_FOR_POSTZ_DONE (1 << 31)
121#define DB_DEPTH_BASE 0x2800C 121#define DB_DEPTH_BASE 0x2800C
122#define DB_HTILE_DATA_BASE 0x28014
122#define DB_WATERMARKS 0x9838 123#define DB_WATERMARKS 0x9838
123#define DEPTH_FREE(x) ((x) << 0) 124#define DEPTH_FREE(x) ((x) << 0)
124#define DEPTH_FLUSH(x) ((x) << 5) 125#define DEPTH_FLUSH(x) ((x) << 5)
@@ -171,6 +172,14 @@
171#define SQ_STACK_RESOURCE_MGMT_2 0x8c14 172#define SQ_STACK_RESOURCE_MGMT_2 0x8c14
172# define NUM_GS_STACK_ENTRIES(x) ((x) << 0) 173# define NUM_GS_STACK_ENTRIES(x) ((x) << 0)
173# define NUM_ES_STACK_ENTRIES(x) ((x) << 16) 174# define NUM_ES_STACK_ENTRIES(x) ((x) << 16)
175#define SQ_ESGS_RING_BASE 0x8c40
176#define SQ_GSVS_RING_BASE 0x8c48
177#define SQ_ESTMP_RING_BASE 0x8c50
178#define SQ_GSTMP_RING_BASE 0x8c58
179#define SQ_VSTMP_RING_BASE 0x8c60
180#define SQ_PSTMP_RING_BASE 0x8c68
181#define SQ_FBUF_RING_BASE 0x8c70
182#define SQ_REDUC_RING_BASE 0x8c78
174 183
175#define GRBM_CNTL 0x8000 184#define GRBM_CNTL 0x8000
176# define GRBM_READ_TIMEOUT(x) ((x) << 0) 185# define GRBM_READ_TIMEOUT(x) ((x) << 0)
@@ -271,6 +280,10 @@
271#define PCIE_PORT_INDEX 0x0038 280#define PCIE_PORT_INDEX 0x0038
272#define PCIE_PORT_DATA 0x003C 281#define PCIE_PORT_DATA 0x003C
273 282
283#define CHMAP 0x2004
284#define NOOFCHAN_SHIFT 12
285#define NOOFCHAN_MASK 0x00003000
286
274#define RAMCFG 0x2408 287#define RAMCFG 0x2408
275#define NOOFBANK_SHIFT 0 288#define NOOFBANK_SHIFT 0
276#define NOOFBANK_MASK 0x00000001 289#define NOOFBANK_MASK 0x00000001
@@ -352,6 +365,7 @@
352 365
353 366
354#define SX_MISC 0x28350 367#define SX_MISC 0x28350
368#define SX_MEMORY_EXPORT_BASE 0x9010
355#define SX_DEBUG_1 0x9054 369#define SX_DEBUG_1 0x9054
356#define SMX_EVENT_RELEASE (1 << 0) 370#define SMX_EVENT_RELEASE (1 << 0)
357#define ENABLE_NEW_SMX_ADDRESS (1 << 16) 371#define ENABLE_NEW_SMX_ADDRESS (1 << 16)
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 5ab35b81c86b..224506a2f7b1 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -139,6 +139,10 @@ struct radeon_clock {
139 uint32_t default_sclk; 139 uint32_t default_sclk;
140}; 140};
141 141
142/*
143 * Power management
144 */
145int radeon_pm_init(struct radeon_device *rdev);
142 146
143/* 147/*
144 * Fences. 148 * Fences.
@@ -276,6 +280,8 @@ union radeon_gart_table {
276 struct radeon_gart_table_vram vram; 280 struct radeon_gart_table_vram vram;
277}; 281};
278 282
283#define RADEON_GPU_PAGE_SIZE 4096
284
279struct radeon_gart { 285struct radeon_gart {
280 dma_addr_t table_addr; 286 dma_addr_t table_addr;
281 unsigned num_gpu_pages; 287 unsigned num_gpu_pages;
@@ -513,6 +519,7 @@ typedef int (*radeon_packet3_check_t)(struct radeon_cs_parser *p,
513 * AGP 519 * AGP
514 */ 520 */
515int radeon_agp_init(struct radeon_device *rdev); 521int radeon_agp_init(struct radeon_device *rdev);
522void radeon_agp_resume(struct radeon_device *rdev);
516void radeon_agp_fini(struct radeon_device *rdev); 523void radeon_agp_fini(struct radeon_device *rdev);
517 524
518 525
@@ -621,7 +628,9 @@ struct radeon_asic {
621 uint64_t dst_offset, 628 uint64_t dst_offset,
622 unsigned num_pages, 629 unsigned num_pages,
623 struct radeon_fence *fence); 630 struct radeon_fence *fence);
631 uint32_t (*get_engine_clock)(struct radeon_device *rdev);
624 void (*set_engine_clock)(struct radeon_device *rdev, uint32_t eng_clock); 632 void (*set_engine_clock)(struct radeon_device *rdev, uint32_t eng_clock);
633 uint32_t (*get_memory_clock)(struct radeon_device *rdev);
625 void (*set_memory_clock)(struct radeon_device *rdev, uint32_t mem_clock); 634 void (*set_memory_clock)(struct radeon_device *rdev, uint32_t mem_clock);
626 void (*set_pcie_lanes)(struct radeon_device *rdev, int lanes); 635 void (*set_pcie_lanes)(struct radeon_device *rdev, int lanes);
627 void (*set_clock_gating)(struct radeon_device *rdev, int enable); 636 void (*set_clock_gating)(struct radeon_device *rdev, int enable);
@@ -783,6 +792,7 @@ struct radeon_device {
783 const struct firmware *me_fw; /* all family ME firmware */ 792 const struct firmware *me_fw; /* all family ME firmware */
784 const struct firmware *pfp_fw; /* r6/700 PFP firmware */ 793 const struct firmware *pfp_fw; /* r6/700 PFP firmware */
785 struct r600_blit r600_blit; 794 struct r600_blit r600_blit;
795 int msi_enabled; /* msi enabled */
786}; 796};
787 797
788int radeon_device_init(struct radeon_device *rdev, 798int radeon_device_init(struct radeon_device *rdev,
@@ -952,7 +962,9 @@ static inline void radeon_ring_write(struct radeon_device *rdev, uint32_t v)
952#define radeon_copy_blit(rdev, s, d, np, f) (rdev)->asic->copy_blit((rdev), (s), (d), (np), (f)) 962#define radeon_copy_blit(rdev, s, d, np, f) (rdev)->asic->copy_blit((rdev), (s), (d), (np), (f))
953#define radeon_copy_dma(rdev, s, d, np, f) (rdev)->asic->copy_dma((rdev), (s), (d), (np), (f)) 963#define radeon_copy_dma(rdev, s, d, np, f) (rdev)->asic->copy_dma((rdev), (s), (d), (np), (f))
954#define radeon_copy(rdev, s, d, np, f) (rdev)->asic->copy((rdev), (s), (d), (np), (f)) 964#define radeon_copy(rdev, s, d, np, f) (rdev)->asic->copy((rdev), (s), (d), (np), (f))
965#define radeon_get_engine_clock(rdev) (rdev)->asic->get_engine_clock((rdev))
955#define radeon_set_engine_clock(rdev, e) (rdev)->asic->set_engine_clock((rdev), (e)) 966#define radeon_set_engine_clock(rdev, e) (rdev)->asic->set_engine_clock((rdev), (e))
967#define radeon_get_memory_clock(rdev) (rdev)->asic->get_memory_clock((rdev))
956#define radeon_set_memory_clock(rdev, e) (rdev)->asic->set_engine_clock((rdev), (e)) 968#define radeon_set_memory_clock(rdev, e) (rdev)->asic->set_engine_clock((rdev), (e))
957#define radeon_set_pcie_lanes(rdev, l) (rdev)->asic->set_pcie_lanes((rdev), (l)) 969#define radeon_set_pcie_lanes(rdev, l) (rdev)->asic->set_pcie_lanes((rdev), (l))
958#define radeon_set_clock_gating(rdev, e) (rdev)->asic->set_clock_gating((rdev), (e)) 970#define radeon_set_clock_gating(rdev, e) (rdev)->asic->set_clock_gating((rdev), (e))
diff --git a/drivers/gpu/drm/radeon/radeon_agp.c b/drivers/gpu/drm/radeon/radeon_agp.c
index 23ea9955ac59..54bf49a6d676 100644
--- a/drivers/gpu/drm/radeon/radeon_agp.c
+++ b/drivers/gpu/drm/radeon/radeon_agp.c
@@ -237,6 +237,18 @@ int radeon_agp_init(struct radeon_device *rdev)
237#endif 237#endif
238} 238}
239 239
240void radeon_agp_resume(struct radeon_device *rdev)
241{
242#if __OS_HAS_AGP
243 int r;
244 if (rdev->flags & RADEON_IS_AGP) {
245 r = radeon_agp_init(rdev);
246 if (r)
247 dev_warn(rdev->dev, "radeon AGP reinit failed\n");
248 }
249#endif
250}
251
240void radeon_agp_fini(struct radeon_device *rdev) 252void radeon_agp_fini(struct radeon_device *rdev)
241{ 253{
242#if __OS_HAS_AGP 254#if __OS_HAS_AGP
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h
index c3532c7a6f3f..c18fbee387d7 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.h
+++ b/drivers/gpu/drm/radeon/radeon_asic.h
@@ -31,10 +31,13 @@
31/* 31/*
32 * common functions 32 * common functions
33 */ 33 */
34uint32_t radeon_legacy_get_engine_clock(struct radeon_device *rdev);
34void radeon_legacy_set_engine_clock(struct radeon_device *rdev, uint32_t eng_clock); 35void radeon_legacy_set_engine_clock(struct radeon_device *rdev, uint32_t eng_clock);
35void radeon_legacy_set_clock_gating(struct radeon_device *rdev, int enable); 36void radeon_legacy_set_clock_gating(struct radeon_device *rdev, int enable);
36 37
38uint32_t radeon_atom_get_engine_clock(struct radeon_device *rdev);
37void radeon_atom_set_engine_clock(struct radeon_device *rdev, uint32_t eng_clock); 39void radeon_atom_set_engine_clock(struct radeon_device *rdev, uint32_t eng_clock);
40uint32_t radeon_atom_get_memory_clock(struct radeon_device *rdev);
38void radeon_atom_set_memory_clock(struct radeon_device *rdev, uint32_t mem_clock); 41void radeon_atom_set_memory_clock(struct radeon_device *rdev, uint32_t mem_clock);
39void radeon_atom_set_clock_gating(struct radeon_device *rdev, int enable); 42void radeon_atom_set_clock_gating(struct radeon_device *rdev, int enable);
40 43
@@ -95,7 +98,9 @@ static struct radeon_asic r100_asic = {
95 .copy_blit = &r100_copy_blit, 98 .copy_blit = &r100_copy_blit,
96 .copy_dma = NULL, 99 .copy_dma = NULL,
97 .copy = &r100_copy_blit, 100 .copy = &r100_copy_blit,
101 .get_engine_clock = &radeon_legacy_get_engine_clock,
98 .set_engine_clock = &radeon_legacy_set_engine_clock, 102 .set_engine_clock = &radeon_legacy_set_engine_clock,
103 .get_memory_clock = NULL,
99 .set_memory_clock = NULL, 104 .set_memory_clock = NULL,
100 .set_pcie_lanes = NULL, 105 .set_pcie_lanes = NULL,
101 .set_clock_gating = &radeon_legacy_set_clock_gating, 106 .set_clock_gating = &radeon_legacy_set_clock_gating,
@@ -148,7 +153,9 @@ static struct radeon_asic r300_asic = {
148 .copy_blit = &r100_copy_blit, 153 .copy_blit = &r100_copy_blit,
149 .copy_dma = &r300_copy_dma, 154 .copy_dma = &r300_copy_dma,
150 .copy = &r100_copy_blit, 155 .copy = &r100_copy_blit,
156 .get_engine_clock = &radeon_legacy_get_engine_clock,
151 .set_engine_clock = &radeon_legacy_set_engine_clock, 157 .set_engine_clock = &radeon_legacy_set_engine_clock,
158 .get_memory_clock = NULL,
152 .set_memory_clock = NULL, 159 .set_memory_clock = NULL,
153 .set_pcie_lanes = &rv370_set_pcie_lanes, 160 .set_pcie_lanes = &rv370_set_pcie_lanes,
154 .set_clock_gating = &radeon_legacy_set_clock_gating, 161 .set_clock_gating = &radeon_legacy_set_clock_gating,
@@ -185,7 +192,9 @@ static struct radeon_asic r420_asic = {
185 .copy_blit = &r100_copy_blit, 192 .copy_blit = &r100_copy_blit,
186 .copy_dma = &r300_copy_dma, 193 .copy_dma = &r300_copy_dma,
187 .copy = &r100_copy_blit, 194 .copy = &r100_copy_blit,
195 .get_engine_clock = &radeon_atom_get_engine_clock,
188 .set_engine_clock = &radeon_atom_set_engine_clock, 196 .set_engine_clock = &radeon_atom_set_engine_clock,
197 .get_memory_clock = &radeon_atom_get_memory_clock,
189 .set_memory_clock = &radeon_atom_set_memory_clock, 198 .set_memory_clock = &radeon_atom_set_memory_clock,
190 .set_pcie_lanes = &rv370_set_pcie_lanes, 199 .set_pcie_lanes = &rv370_set_pcie_lanes,
191 .set_clock_gating = &radeon_atom_set_clock_gating, 200 .set_clock_gating = &radeon_atom_set_clock_gating,
@@ -227,7 +236,9 @@ static struct radeon_asic rs400_asic = {
227 .copy_blit = &r100_copy_blit, 236 .copy_blit = &r100_copy_blit,
228 .copy_dma = &r300_copy_dma, 237 .copy_dma = &r300_copy_dma,
229 .copy = &r100_copy_blit, 238 .copy = &r100_copy_blit,
239 .get_engine_clock = &radeon_legacy_get_engine_clock,
230 .set_engine_clock = &radeon_legacy_set_engine_clock, 240 .set_engine_clock = &radeon_legacy_set_engine_clock,
241 .get_memory_clock = NULL,
231 .set_memory_clock = NULL, 242 .set_memory_clock = NULL,
232 .set_pcie_lanes = NULL, 243 .set_pcie_lanes = NULL,
233 .set_clock_gating = &radeon_legacy_set_clock_gating, 244 .set_clock_gating = &radeon_legacy_set_clock_gating,
@@ -273,7 +284,9 @@ static struct radeon_asic rs600_asic = {
273 .copy_blit = &r100_copy_blit, 284 .copy_blit = &r100_copy_blit,
274 .copy_dma = &r300_copy_dma, 285 .copy_dma = &r300_copy_dma,
275 .copy = &r100_copy_blit, 286 .copy = &r100_copy_blit,
287 .get_engine_clock = &radeon_atom_get_engine_clock,
276 .set_engine_clock = &radeon_atom_set_engine_clock, 288 .set_engine_clock = &radeon_atom_set_engine_clock,
289 .get_memory_clock = &radeon_atom_get_memory_clock,
277 .set_memory_clock = &radeon_atom_set_memory_clock, 290 .set_memory_clock = &radeon_atom_set_memory_clock,
278 .set_pcie_lanes = NULL, 291 .set_pcie_lanes = NULL,
279 .set_clock_gating = &radeon_atom_set_clock_gating, 292 .set_clock_gating = &radeon_atom_set_clock_gating,
@@ -312,7 +325,9 @@ static struct radeon_asic rs690_asic = {
312 .copy_blit = &r100_copy_blit, 325 .copy_blit = &r100_copy_blit,
313 .copy_dma = &r300_copy_dma, 326 .copy_dma = &r300_copy_dma,
314 .copy = &r300_copy_dma, 327 .copy = &r300_copy_dma,
328 .get_engine_clock = &radeon_atom_get_engine_clock,
315 .set_engine_clock = &radeon_atom_set_engine_clock, 329 .set_engine_clock = &radeon_atom_set_engine_clock,
330 .get_memory_clock = &radeon_atom_get_memory_clock,
316 .set_memory_clock = &radeon_atom_set_memory_clock, 331 .set_memory_clock = &radeon_atom_set_memory_clock,
317 .set_pcie_lanes = NULL, 332 .set_pcie_lanes = NULL,
318 .set_clock_gating = &radeon_atom_set_clock_gating, 333 .set_clock_gating = &radeon_atom_set_clock_gating,
@@ -357,7 +372,9 @@ static struct radeon_asic rv515_asic = {
357 .copy_blit = &r100_copy_blit, 372 .copy_blit = &r100_copy_blit,
358 .copy_dma = &r300_copy_dma, 373 .copy_dma = &r300_copy_dma,
359 .copy = &r100_copy_blit, 374 .copy = &r100_copy_blit,
375 .get_engine_clock = &radeon_atom_get_engine_clock,
360 .set_engine_clock = &radeon_atom_set_engine_clock, 376 .set_engine_clock = &radeon_atom_set_engine_clock,
377 .get_memory_clock = &radeon_atom_get_memory_clock,
361 .set_memory_clock = &radeon_atom_set_memory_clock, 378 .set_memory_clock = &radeon_atom_set_memory_clock,
362 .set_pcie_lanes = &rv370_set_pcie_lanes, 379 .set_pcie_lanes = &rv370_set_pcie_lanes,
363 .set_clock_gating = &radeon_atom_set_clock_gating, 380 .set_clock_gating = &radeon_atom_set_clock_gating,
@@ -393,7 +410,9 @@ static struct radeon_asic r520_asic = {
393 .copy_blit = &r100_copy_blit, 410 .copy_blit = &r100_copy_blit,
394 .copy_dma = &r300_copy_dma, 411 .copy_dma = &r300_copy_dma,
395 .copy = &r100_copy_blit, 412 .copy = &r100_copy_blit,
413 .get_engine_clock = &radeon_atom_get_engine_clock,
396 .set_engine_clock = &radeon_atom_set_engine_clock, 414 .set_engine_clock = &radeon_atom_set_engine_clock,
415 .get_memory_clock = &radeon_atom_get_memory_clock,
397 .set_memory_clock = &radeon_atom_set_memory_clock, 416 .set_memory_clock = &radeon_atom_set_memory_clock,
398 .set_pcie_lanes = &rv370_set_pcie_lanes, 417 .set_pcie_lanes = &rv370_set_pcie_lanes,
399 .set_clock_gating = &radeon_atom_set_clock_gating, 418 .set_clock_gating = &radeon_atom_set_clock_gating,
@@ -456,7 +475,9 @@ static struct radeon_asic r600_asic = {
456 .copy_blit = &r600_copy_blit, 475 .copy_blit = &r600_copy_blit,
457 .copy_dma = &r600_copy_blit, 476 .copy_dma = &r600_copy_blit,
458 .copy = &r600_copy_blit, 477 .copy = &r600_copy_blit,
478 .get_engine_clock = &radeon_atom_get_engine_clock,
459 .set_engine_clock = &radeon_atom_set_engine_clock, 479 .set_engine_clock = &radeon_atom_set_engine_clock,
480 .get_memory_clock = &radeon_atom_get_memory_clock,
460 .set_memory_clock = &radeon_atom_set_memory_clock, 481 .set_memory_clock = &radeon_atom_set_memory_clock,
461 .set_pcie_lanes = NULL, 482 .set_pcie_lanes = NULL,
462 .set_clock_gating = &radeon_atom_set_clock_gating, 483 .set_clock_gating = &radeon_atom_set_clock_gating,
@@ -493,7 +514,9 @@ static struct radeon_asic rv770_asic = {
493 .copy_blit = &r600_copy_blit, 514 .copy_blit = &r600_copy_blit,
494 .copy_dma = &r600_copy_blit, 515 .copy_dma = &r600_copy_blit,
495 .copy = &r600_copy_blit, 516 .copy = &r600_copy_blit,
517 .get_engine_clock = &radeon_atom_get_engine_clock,
496 .set_engine_clock = &radeon_atom_set_engine_clock, 518 .set_engine_clock = &radeon_atom_set_engine_clock,
519 .get_memory_clock = &radeon_atom_get_memory_clock,
497 .set_memory_clock = &radeon_atom_set_memory_clock, 520 .set_memory_clock = &radeon_atom_set_memory_clock,
498 .set_pcie_lanes = NULL, 521 .set_pcie_lanes = NULL,
499 .set_clock_gating = &radeon_atom_set_clock_gating, 522 .set_clock_gating = &radeon_atom_set_clock_gating,
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index 5b6c08cee40e..2ed88a820935 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -46,7 +46,8 @@ radeon_add_atom_connector(struct drm_device *dev,
46 uint32_t supported_device, 46 uint32_t supported_device,
47 int connector_type, 47 int connector_type,
48 struct radeon_i2c_bus_rec *i2c_bus, 48 struct radeon_i2c_bus_rec *i2c_bus,
49 bool linkb, uint32_t igp_lane_info); 49 bool linkb, uint32_t igp_lane_info,
50 uint16_t connector_object_id);
50 51
51/* from radeon_legacy_encoder.c */ 52/* from radeon_legacy_encoder.c */
52extern void 53extern void
@@ -193,6 +194,23 @@ const int supported_devices_connector_convert[] = {
193 DRM_MODE_CONNECTOR_DisplayPort 194 DRM_MODE_CONNECTOR_DisplayPort
194}; 195};
195 196
197const uint16_t supported_devices_connector_object_id_convert[] = {
198 CONNECTOR_OBJECT_ID_NONE,
199 CONNECTOR_OBJECT_ID_VGA,
200 CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I, /* not all boards support DL */
201 CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D, /* not all boards support DL */
202 CONNECTOR_OBJECT_ID_VGA, /* technically DVI-A */
203 CONNECTOR_OBJECT_ID_COMPOSITE,
204 CONNECTOR_OBJECT_ID_SVIDEO,
205 CONNECTOR_OBJECT_ID_LVDS,
206 CONNECTOR_OBJECT_ID_9PIN_DIN,
207 CONNECTOR_OBJECT_ID_9PIN_DIN,
208 CONNECTOR_OBJECT_ID_DISPLAYPORT,
209 CONNECTOR_OBJECT_ID_HDMI_TYPE_A,
210 CONNECTOR_OBJECT_ID_HDMI_TYPE_B,
211 CONNECTOR_OBJECT_ID_SVIDEO
212};
213
196const int object_connector_convert[] = { 214const int object_connector_convert[] = {
197 DRM_MODE_CONNECTOR_Unknown, 215 DRM_MODE_CONNECTOR_Unknown,
198 DRM_MODE_CONNECTOR_DVII, 216 DRM_MODE_CONNECTOR_DVII,
@@ -229,7 +247,7 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
229 ATOM_OBJECT_HEADER *obj_header; 247 ATOM_OBJECT_HEADER *obj_header;
230 int i, j, path_size, device_support; 248 int i, j, path_size, device_support;
231 int connector_type; 249 int connector_type;
232 uint16_t igp_lane_info, conn_id; 250 uint16_t igp_lane_info, conn_id, connector_object_id;
233 bool linkb; 251 bool linkb;
234 struct radeon_i2c_bus_rec ddc_bus; 252 struct radeon_i2c_bus_rec ddc_bus;
235 253
@@ -277,7 +295,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
277 ATOM_DEVICE_CV_SUPPORT) 295 ATOM_DEVICE_CV_SUPPORT)
278 continue; 296 continue;
279 297
280 if ((rdev->family == CHIP_RS780) && 298 /* IGP chips */
299 if ((rdev->flags & RADEON_IS_IGP) &&
281 (con_obj_id == 300 (con_obj_id ==
282 CONNECTOR_OBJECT_ID_PCIE_CONNECTOR)) { 301 CONNECTOR_OBJECT_ID_PCIE_CONNECTOR)) {
283 uint16_t igp_offset = 0; 302 uint16_t igp_offset = 0;
@@ -311,6 +330,7 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
311 connector_type = 330 connector_type =
312 object_connector_convert 331 object_connector_convert
313 [ct]; 332 [ct];
333 connector_object_id = ct;
314 igp_lane_info = 334 igp_lane_info =
315 slot_config & 0xffff; 335 slot_config & 0xffff;
316 } else 336 } else
@@ -321,6 +341,7 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
321 igp_lane_info = 0; 341 igp_lane_info = 0;
322 connector_type = 342 connector_type =
323 object_connector_convert[con_obj_id]; 343 object_connector_convert[con_obj_id];
344 connector_object_id = con_obj_id;
324 } 345 }
325 346
326 if (connector_type == DRM_MODE_CONNECTOR_Unknown) 347 if (connector_type == DRM_MODE_CONNECTOR_Unknown)
@@ -425,7 +446,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
425 le16_to_cpu(path-> 446 le16_to_cpu(path->
426 usDeviceTag), 447 usDeviceTag),
427 connector_type, &ddc_bus, 448 connector_type, &ddc_bus,
428 linkb, igp_lane_info); 449 linkb, igp_lane_info,
450 connector_object_id);
429 451
430 } 452 }
431 } 453 }
@@ -435,6 +457,45 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
435 return true; 457 return true;
436} 458}
437 459
460static uint16_t atombios_get_connector_object_id(struct drm_device *dev,
461 int connector_type,
462 uint16_t devices)
463{
464 struct radeon_device *rdev = dev->dev_private;
465
466 if (rdev->flags & RADEON_IS_IGP) {
467 return supported_devices_connector_object_id_convert
468 [connector_type];
469 } else if (((connector_type == DRM_MODE_CONNECTOR_DVII) ||
470 (connector_type == DRM_MODE_CONNECTOR_DVID)) &&
471 (devices & ATOM_DEVICE_DFP2_SUPPORT)) {
472 struct radeon_mode_info *mode_info = &rdev->mode_info;
473 struct atom_context *ctx = mode_info->atom_context;
474 int index = GetIndexIntoMasterTable(DATA, XTMDS_Info);
475 uint16_t size, data_offset;
476 uint8_t frev, crev;
477 ATOM_XTMDS_INFO *xtmds;
478
479 atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset);
480 xtmds = (ATOM_XTMDS_INFO *)(ctx->bios + data_offset);
481
482 if (xtmds->ucSupportedLink & ATOM_XTMDS_SUPPORTED_DUALLINK) {
483 if (connector_type == DRM_MODE_CONNECTOR_DVII)
484 return CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I;
485 else
486 return CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D;
487 } else {
488 if (connector_type == DRM_MODE_CONNECTOR_DVII)
489 return CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I;
490 else
491 return CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D;
492 }
493 } else {
494 return supported_devices_connector_object_id_convert
495 [connector_type];
496 }
497}
498
438struct bios_connector { 499struct bios_connector {
439 bool valid; 500 bool valid;
440 uint16_t line_mux; 501 uint16_t line_mux;
@@ -593,14 +654,20 @@ bool radeon_get_atom_connector_info_from_supported_devices_table(struct
593 654
594 /* add the connectors */ 655 /* add the connectors */
595 for (i = 0; i < ATOM_MAX_SUPPORTED_DEVICE; i++) { 656 for (i = 0; i < ATOM_MAX_SUPPORTED_DEVICE; i++) {
596 if (bios_connectors[i].valid) 657 if (bios_connectors[i].valid) {
658 uint16_t connector_object_id =
659 atombios_get_connector_object_id(dev,
660 bios_connectors[i].connector_type,
661 bios_connectors[i].devices);
597 radeon_add_atom_connector(dev, 662 radeon_add_atom_connector(dev,
598 bios_connectors[i].line_mux, 663 bios_connectors[i].line_mux,
599 bios_connectors[i].devices, 664 bios_connectors[i].devices,
600 bios_connectors[i]. 665 bios_connectors[i].
601 connector_type, 666 connector_type,
602 &bios_connectors[i].ddc_bus, 667 &bios_connectors[i].ddc_bus,
603 false, 0); 668 false, 0,
669 connector_object_id);
670 }
604 } 671 }
605 672
606 radeon_link_encoder_connector(dev); 673 radeon_link_encoder_connector(dev);
@@ -641,8 +708,12 @@ bool radeon_atom_get_clock_info(struct drm_device *dev)
641 le16_to_cpu(firmware_info->info.usReferenceClock); 708 le16_to_cpu(firmware_info->info.usReferenceClock);
642 p1pll->reference_div = 0; 709 p1pll->reference_div = 0;
643 710
644 p1pll->pll_out_min = 711 if (crev < 2)
645 le16_to_cpu(firmware_info->info.usMinPixelClockPLL_Output); 712 p1pll->pll_out_min =
713 le16_to_cpu(firmware_info->info.usMinPixelClockPLL_Output);
714 else
715 p1pll->pll_out_min =
716 le32_to_cpu(firmware_info->info_12.ulMinPixelClockPLL_Output);
646 p1pll->pll_out_max = 717 p1pll->pll_out_max =
647 le32_to_cpu(firmware_info->info.ulMaxPixelClockPLL_Output); 718 le32_to_cpu(firmware_info->info.ulMaxPixelClockPLL_Output);
648 719
@@ -651,6 +722,16 @@ bool radeon_atom_get_clock_info(struct drm_device *dev)
651 p1pll->pll_out_min = 64800; 722 p1pll->pll_out_min = 64800;
652 else 723 else
653 p1pll->pll_out_min = 20000; 724 p1pll->pll_out_min = 20000;
725 } else if (p1pll->pll_out_min > 64800) {
726 /* Limiting the pll output range is a good thing generally as
727 * it limits the number of possible pll combinations for a given
728 * frequency presumably to the ones that work best on each card.
729 * However, certain duallink DVI monitors seem to like
730 * pll combinations that would be limited by this at least on
731 * pre-DCE 3.0 r6xx hardware. This might need to be adjusted per
732 * family.
733 */
734 p1pll->pll_out_min = 64800;
654 } 735 }
655 736
656 p1pll->pll_in_min = 737 p1pll->pll_in_min =
@@ -767,6 +848,46 @@ bool radeon_atombios_get_tmds_info(struct radeon_encoder *encoder,
767 return false; 848 return false;
768} 849}
769 850
851static struct radeon_atom_ss *radeon_atombios_get_ss_info(struct
852 radeon_encoder
853 *encoder,
854 int id)
855{
856 struct drm_device *dev = encoder->base.dev;
857 struct radeon_device *rdev = dev->dev_private;
858 struct radeon_mode_info *mode_info = &rdev->mode_info;
859 int index = GetIndexIntoMasterTable(DATA, PPLL_SS_Info);
860 uint16_t data_offset;
861 struct _ATOM_SPREAD_SPECTRUM_INFO *ss_info;
862 uint8_t frev, crev;
863 struct radeon_atom_ss *ss = NULL;
864
865 if (id > ATOM_MAX_SS_ENTRY)
866 return NULL;
867
868 atom_parse_data_header(mode_info->atom_context, index, NULL, &frev,
869 &crev, &data_offset);
870
871 ss_info =
872 (struct _ATOM_SPREAD_SPECTRUM_INFO *)(mode_info->atom_context->bios + data_offset);
873
874 if (ss_info) {
875 ss =
876 kzalloc(sizeof(struct radeon_atom_ss), GFP_KERNEL);
877
878 if (!ss)
879 return NULL;
880
881 ss->percentage = le16_to_cpu(ss_info->asSS_Info[id].usSpreadSpectrumPercentage);
882 ss->type = ss_info->asSS_Info[id].ucSpreadSpectrumType;
883 ss->step = ss_info->asSS_Info[id].ucSS_Step;
884 ss->delay = ss_info->asSS_Info[id].ucSS_Delay;
885 ss->range = ss_info->asSS_Info[id].ucSS_Range;
886 ss->refdiv = ss_info->asSS_Info[id].ucRecommendedRef_Div;
887 }
888 return ss;
889}
890
770union lvds_info { 891union lvds_info {
771 struct _ATOM_LVDS_INFO info; 892 struct _ATOM_LVDS_INFO info;
772 struct _ATOM_LVDS_INFO_V12 info_12; 893 struct _ATOM_LVDS_INFO_V12 info_12;
@@ -798,27 +919,31 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct
798 if (!lvds) 919 if (!lvds)
799 return NULL; 920 return NULL;
800 921
801 lvds->native_mode.dotclock = 922 lvds->native_mode.clock =
802 le16_to_cpu(lvds_info->info.sLCDTiming.usPixClk) * 10; 923 le16_to_cpu(lvds_info->info.sLCDTiming.usPixClk) * 10;
803 lvds->native_mode.panel_xres = 924 lvds->native_mode.hdisplay =
804 le16_to_cpu(lvds_info->info.sLCDTiming.usHActive); 925 le16_to_cpu(lvds_info->info.sLCDTiming.usHActive);
805 lvds->native_mode.panel_yres = 926 lvds->native_mode.vdisplay =
806 le16_to_cpu(lvds_info->info.sLCDTiming.usVActive); 927 le16_to_cpu(lvds_info->info.sLCDTiming.usVActive);
807 lvds->native_mode.hblank = 928 lvds->native_mode.htotal = lvds->native_mode.hdisplay +
808 le16_to_cpu(lvds_info->info.sLCDTiming.usHBlanking_Time); 929 le16_to_cpu(lvds_info->info.sLCDTiming.usHBlanking_Time);
809 lvds->native_mode.hoverplus = 930 lvds->native_mode.hsync_start = lvds->native_mode.hdisplay +
810 le16_to_cpu(lvds_info->info.sLCDTiming.usHSyncOffset); 931 le16_to_cpu(lvds_info->info.sLCDTiming.usHSyncOffset);
811 lvds->native_mode.hsync_width = 932 lvds->native_mode.hsync_end = lvds->native_mode.hsync_start +
812 le16_to_cpu(lvds_info->info.sLCDTiming.usHSyncWidth); 933 le16_to_cpu(lvds_info->info.sLCDTiming.usHSyncWidth);
813 lvds->native_mode.vblank = 934 lvds->native_mode.vtotal = lvds->native_mode.vdisplay +
814 le16_to_cpu(lvds_info->info.sLCDTiming.usVBlanking_Time); 935 le16_to_cpu(lvds_info->info.sLCDTiming.usVBlanking_Time);
815 lvds->native_mode.voverplus = 936 lvds->native_mode.vsync_start = lvds->native_mode.vdisplay +
816 le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncOffset); 937 le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncWidth);
817 lvds->native_mode.vsync_width = 938 lvds->native_mode.vsync_end = lvds->native_mode.vsync_start +
818 le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncWidth); 939 le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncWidth);
819 lvds->panel_pwr_delay = 940 lvds->panel_pwr_delay =
820 le16_to_cpu(lvds_info->info.usOffDelayInMs); 941 le16_to_cpu(lvds_info->info.usOffDelayInMs);
821 lvds->lvds_misc = lvds_info->info.ucLVDS_Misc; 942 lvds->lvds_misc = lvds_info->info.ucLVDS_Misc;
943 /* set crtc values */
944 drm_mode_set_crtcinfo(&lvds->native_mode, CRTC_INTERLACE_HALVE_V);
945
946 lvds->ss = radeon_atombios_get_ss_info(encoder, lvds_info->info.ucSS_Id);
822 947
823 encoder->native_mode = lvds->native_mode; 948 encoder->native_mode = lvds->native_mode;
824 } 949 }
@@ -857,8 +982,7 @@ radeon_atombios_get_primary_dac_info(struct radeon_encoder *encoder)
857} 982}
858 983
859bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index, 984bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index,
860 SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION *crtc_timing, 985 struct drm_display_mode *mode)
861 int32_t *pixel_clock)
862{ 986{
863 struct radeon_mode_info *mode_info = &rdev->mode_info; 987 struct radeon_mode_info *mode_info = &rdev->mode_info;
864 ATOM_ANALOG_TV_INFO *tv_info; 988 ATOM_ANALOG_TV_INFO *tv_info;
@@ -866,7 +990,7 @@ bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index,
866 ATOM_DTD_FORMAT *dtd_timings; 990 ATOM_DTD_FORMAT *dtd_timings;
867 int data_index = GetIndexIntoMasterTable(DATA, AnalogTV_Info); 991 int data_index = GetIndexIntoMasterTable(DATA, AnalogTV_Info);
868 u8 frev, crev; 992 u8 frev, crev;
869 uint16_t data_offset; 993 u16 data_offset, misc;
870 994
871 atom_parse_data_header(mode_info->atom_context, data_index, NULL, &frev, &crev, &data_offset); 995 atom_parse_data_header(mode_info->atom_context, data_index, NULL, &frev, &crev, &data_offset);
872 996
@@ -876,28 +1000,37 @@ bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index,
876 if (index > MAX_SUPPORTED_TV_TIMING) 1000 if (index > MAX_SUPPORTED_TV_TIMING)
877 return false; 1001 return false;
878 1002
879 crtc_timing->usH_Total = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_Total); 1003 mode->crtc_htotal = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_Total);
880 crtc_timing->usH_Disp = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_Disp); 1004 mode->crtc_hdisplay = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_Disp);
881 crtc_timing->usH_SyncStart = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_SyncStart); 1005 mode->crtc_hsync_start = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_SyncStart);
882 crtc_timing->usH_SyncWidth = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_SyncWidth); 1006 mode->crtc_hsync_end = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_SyncStart) +
883 1007 le16_to_cpu(tv_info->aModeTimings[index].usCRTC_H_SyncWidth);
884 crtc_timing->usV_Total = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_Total); 1008
885 crtc_timing->usV_Disp = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_Disp); 1009 mode->crtc_vtotal = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_Total);
886 crtc_timing->usV_SyncStart = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_SyncStart); 1010 mode->crtc_vdisplay = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_Disp);
887 crtc_timing->usV_SyncWidth = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_SyncWidth); 1011 mode->crtc_vsync_start = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_SyncStart);
888 1012 mode->crtc_vsync_end = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_SyncStart) +
889 crtc_timing->susModeMiscInfo = tv_info->aModeTimings[index].susModeMiscInfo; 1013 le16_to_cpu(tv_info->aModeTimings[index].usCRTC_V_SyncWidth);
890 1014
891 crtc_timing->ucOverscanRight = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_OverscanRight); 1015 mode->flags = 0;
892 crtc_timing->ucOverscanLeft = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_OverscanLeft); 1016 misc = le16_to_cpu(tv_info->aModeTimings[index].susModeMiscInfo.usAccess);
893 crtc_timing->ucOverscanBottom = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_OverscanBottom); 1017 if (misc & ATOM_VSYNC_POLARITY)
894 crtc_timing->ucOverscanTop = le16_to_cpu(tv_info->aModeTimings[index].usCRTC_OverscanTop); 1018 mode->flags |= DRM_MODE_FLAG_NVSYNC;
895 *pixel_clock = le16_to_cpu(tv_info->aModeTimings[index].usPixelClock) * 10; 1019 if (misc & ATOM_HSYNC_POLARITY)
1020 mode->flags |= DRM_MODE_FLAG_NHSYNC;
1021 if (misc & ATOM_COMPOSITESYNC)
1022 mode->flags |= DRM_MODE_FLAG_CSYNC;
1023 if (misc & ATOM_INTERLACE)
1024 mode->flags |= DRM_MODE_FLAG_INTERLACE;
1025 if (misc & ATOM_DOUBLE_CLOCK_MODE)
1026 mode->flags |= DRM_MODE_FLAG_DBLSCAN;
1027
1028 mode->clock = le16_to_cpu(tv_info->aModeTimings[index].usPixelClock) * 10;
896 1029
897 if (index == 1) { 1030 if (index == 1) {
898 /* PAL timings appear to have wrong values for totals */ 1031 /* PAL timings appear to have wrong values for totals */
899 crtc_timing->usH_Total -= 1; 1032 mode->crtc_htotal -= 1;
900 crtc_timing->usV_Total -= 1; 1033 mode->crtc_vtotal -= 1;
901 } 1034 }
902 break; 1035 break;
903 case 2: 1036 case 2:
@@ -906,17 +1039,36 @@ bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index,
906 return false; 1039 return false;
907 1040
908 dtd_timings = &tv_info_v1_2->aModeTimings[index]; 1041 dtd_timings = &tv_info_v1_2->aModeTimings[index];
909 crtc_timing->usH_Total = le16_to_cpu(dtd_timings->usHActive) + le16_to_cpu(dtd_timings->usHBlanking_Time); 1042 mode->crtc_htotal = le16_to_cpu(dtd_timings->usHActive) +
910 crtc_timing->usH_Disp = le16_to_cpu(dtd_timings->usHActive); 1043 le16_to_cpu(dtd_timings->usHBlanking_Time);
911 crtc_timing->usH_SyncStart = le16_to_cpu(dtd_timings->usHActive) + le16_to_cpu(dtd_timings->usHSyncOffset); 1044 mode->crtc_hdisplay = le16_to_cpu(dtd_timings->usHActive);
912 crtc_timing->usH_SyncWidth = le16_to_cpu(dtd_timings->usHSyncWidth); 1045 mode->crtc_hsync_start = le16_to_cpu(dtd_timings->usHActive) +
913 crtc_timing->usV_Total = le16_to_cpu(dtd_timings->usVActive) + le16_to_cpu(dtd_timings->usVBlanking_Time); 1046 le16_to_cpu(dtd_timings->usHSyncOffset);
914 crtc_timing->usV_Disp = le16_to_cpu(dtd_timings->usVActive); 1047 mode->crtc_hsync_end = mode->crtc_hsync_start +
915 crtc_timing->usV_SyncStart = le16_to_cpu(dtd_timings->usVActive) + le16_to_cpu(dtd_timings->usVSyncOffset); 1048 le16_to_cpu(dtd_timings->usHSyncWidth);
916 crtc_timing->usV_SyncWidth = le16_to_cpu(dtd_timings->usVSyncWidth); 1049
917 1050 mode->crtc_vtotal = le16_to_cpu(dtd_timings->usVActive) +
918 crtc_timing->susModeMiscInfo.usAccess = le16_to_cpu(dtd_timings->susModeMiscInfo.usAccess); 1051 le16_to_cpu(dtd_timings->usVBlanking_Time);
919 *pixel_clock = le16_to_cpu(dtd_timings->usPixClk) * 10; 1052 mode->crtc_vdisplay = le16_to_cpu(dtd_timings->usVActive);
1053 mode->crtc_vsync_start = le16_to_cpu(dtd_timings->usVActive) +
1054 le16_to_cpu(dtd_timings->usVSyncOffset);
1055 mode->crtc_vsync_end = mode->crtc_vsync_start +
1056 le16_to_cpu(dtd_timings->usVSyncWidth);
1057
1058 mode->flags = 0;
1059 misc = le16_to_cpu(dtd_timings->susModeMiscInfo.usAccess);
1060 if (misc & ATOM_VSYNC_POLARITY)
1061 mode->flags |= DRM_MODE_FLAG_NVSYNC;
1062 if (misc & ATOM_HSYNC_POLARITY)
1063 mode->flags |= DRM_MODE_FLAG_NHSYNC;
1064 if (misc & ATOM_COMPOSITESYNC)
1065 mode->flags |= DRM_MODE_FLAG_CSYNC;
1066 if (misc & ATOM_INTERLACE)
1067 mode->flags |= DRM_MODE_FLAG_INTERLACE;
1068 if (misc & ATOM_DOUBLE_CLOCK_MODE)
1069 mode->flags |= DRM_MODE_FLAG_DBLSCAN;
1070
1071 mode->clock = le16_to_cpu(dtd_timings->usPixClk) * 10;
920 break; 1072 break;
921 } 1073 }
922 return true; 1074 return true;
@@ -981,6 +1133,24 @@ void radeon_atom_static_pwrmgt_setup(struct radeon_device *rdev, int enable)
981 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); 1133 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
982} 1134}
983 1135
1136uint32_t radeon_atom_get_engine_clock(struct radeon_device *rdev)
1137{
1138 GET_ENGINE_CLOCK_PS_ALLOCATION args;
1139 int index = GetIndexIntoMasterTable(COMMAND, GetEngineClock);
1140
1141 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
1142 return args.ulReturnEngineClock;
1143}
1144
1145uint32_t radeon_atom_get_memory_clock(struct radeon_device *rdev)
1146{
1147 GET_MEMORY_CLOCK_PS_ALLOCATION args;
1148 int index = GetIndexIntoMasterTable(COMMAND, GetMemoryClock);
1149
1150 atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
1151 return args.ulReturnMemoryClock;
1152}
1153
984void radeon_atom_set_engine_clock(struct radeon_device *rdev, 1154void radeon_atom_set_engine_clock(struct radeon_device *rdev,
985 uint32_t eng_clock) 1155 uint32_t eng_clock)
986{ 1156{
diff --git a/drivers/gpu/drm/radeon/radeon_benchmark.c b/drivers/gpu/drm/radeon/radeon_benchmark.c
index 2e938f7496fb..10bd50a7db87 100644
--- a/drivers/gpu/drm/radeon/radeon_benchmark.c
+++ b/drivers/gpu/drm/radeon/radeon_benchmark.c
@@ -63,7 +63,7 @@ void radeon_benchmark_move(struct radeon_device *rdev, unsigned bsize,
63 if (r) { 63 if (r) {
64 goto out_cleanup; 64 goto out_cleanup;
65 } 65 }
66 r = radeon_copy_dma(rdev, saddr, daddr, size / 4096, fence); 66 r = radeon_copy_dma(rdev, saddr, daddr, size / RADEON_GPU_PAGE_SIZE, fence);
67 if (r) { 67 if (r) {
68 goto out_cleanup; 68 goto out_cleanup;
69 } 69 }
@@ -88,7 +88,7 @@ void radeon_benchmark_move(struct radeon_device *rdev, unsigned bsize,
88 if (r) { 88 if (r) {
89 goto out_cleanup; 89 goto out_cleanup;
90 } 90 }
91 r = radeon_copy_blit(rdev, saddr, daddr, size / 4096, fence); 91 r = radeon_copy_blit(rdev, saddr, daddr, size / RADEON_GPU_PAGE_SIZE, fence);
92 if (r) { 92 if (r) {
93 goto out_cleanup; 93 goto out_cleanup;
94 } 94 }
diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/radeon/radeon_bios.c
index 34a9b9119518..906921740c60 100644
--- a/drivers/gpu/drm/radeon/radeon_bios.c
+++ b/drivers/gpu/drm/radeon/radeon_bios.c
@@ -50,19 +50,16 @@ static bool igp_read_bios_from_vram(struct radeon_device *rdev)
50 vram_base = drm_get_resource_start(rdev->ddev, 0); 50 vram_base = drm_get_resource_start(rdev->ddev, 0);
51 bios = ioremap(vram_base, size); 51 bios = ioremap(vram_base, size);
52 if (!bios) { 52 if (!bios) {
53 DRM_ERROR("Unable to mmap vram\n");
54 return false; 53 return false;
55 } 54 }
56 55
57 if (size == 0 || bios[0] != 0x55 || bios[1] != 0xaa) { 56 if (size == 0 || bios[0] != 0x55 || bios[1] != 0xaa) {
58 iounmap(bios); 57 iounmap(bios);
59 DRM_ERROR("bad rom signature\n");
60 return false; 58 return false;
61 } 59 }
62 rdev->bios = kmalloc(size, GFP_KERNEL); 60 rdev->bios = kmalloc(size, GFP_KERNEL);
63 if (rdev->bios == NULL) { 61 if (rdev->bios == NULL) {
64 iounmap(bios); 62 iounmap(bios);
65 DRM_ERROR("kmalloc failed\n");
66 return false; 63 return false;
67 } 64 }
68 memcpy(rdev->bios, bios, size); 65 memcpy(rdev->bios, bios, size);
diff --git a/drivers/gpu/drm/radeon/radeon_clocks.c b/drivers/gpu/drm/radeon/radeon_clocks.c
index f5c32a766b10..a81354167621 100644
--- a/drivers/gpu/drm/radeon/radeon_clocks.c
+++ b/drivers/gpu/drm/radeon/radeon_clocks.c
@@ -32,7 +32,7 @@
32#include "atom.h" 32#include "atom.h"
33 33
34/* 10 khz */ 34/* 10 khz */
35static uint32_t radeon_legacy_get_engine_clock(struct radeon_device *rdev) 35uint32_t radeon_legacy_get_engine_clock(struct radeon_device *rdev)
36{ 36{
37 struct radeon_pll *spll = &rdev->clock.spll; 37 struct radeon_pll *spll = &rdev->clock.spll;
38 uint32_t fb_div, ref_div, post_div, sclk; 38 uint32_t fb_div, ref_div, post_div, sclk;
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
index 748265a105b3..5253cbf6db1f 100644
--- a/drivers/gpu/drm/radeon/radeon_combios.c
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
@@ -49,7 +49,8 @@ radeon_add_legacy_connector(struct drm_device *dev,
49 uint32_t connector_id, 49 uint32_t connector_id,
50 uint32_t supported_device, 50 uint32_t supported_device,
51 int connector_type, 51 int connector_type,
52 struct radeon_i2c_bus_rec *i2c_bus); 52 struct radeon_i2c_bus_rec *i2c_bus,
53 uint16_t connector_object_id);
53 54
54/* from radeon_legacy_encoder.c */ 55/* from radeon_legacy_encoder.c */
55extern void 56extern void
@@ -808,25 +809,25 @@ static struct radeon_encoder_lvds *radeon_legacy_get_lvds_info_from_regs(struct
808 lvds->panel_blon_delay = (lvds_ss_gen_cntl >> RADEON_LVDS_PWRSEQ_DELAY2_SHIFT) & 0xf; 809 lvds->panel_blon_delay = (lvds_ss_gen_cntl >> RADEON_LVDS_PWRSEQ_DELAY2_SHIFT) & 0xf;
809 810
810 if (fp_vert_stretch & RADEON_VERT_STRETCH_ENABLE) 811 if (fp_vert_stretch & RADEON_VERT_STRETCH_ENABLE)
811 lvds->native_mode.panel_yres = 812 lvds->native_mode.vdisplay =
812 ((fp_vert_stretch & RADEON_VERT_PANEL_SIZE) >> 813 ((fp_vert_stretch & RADEON_VERT_PANEL_SIZE) >>
813 RADEON_VERT_PANEL_SHIFT) + 1; 814 RADEON_VERT_PANEL_SHIFT) + 1;
814 else 815 else
815 lvds->native_mode.panel_yres = 816 lvds->native_mode.vdisplay =
816 (RREG32(RADEON_CRTC_V_TOTAL_DISP) >> 16) + 1; 817 (RREG32(RADEON_CRTC_V_TOTAL_DISP) >> 16) + 1;
817 818
818 if (fp_horz_stretch & RADEON_HORZ_STRETCH_ENABLE) 819 if (fp_horz_stretch & RADEON_HORZ_STRETCH_ENABLE)
819 lvds->native_mode.panel_xres = 820 lvds->native_mode.hdisplay =
820 (((fp_horz_stretch & RADEON_HORZ_PANEL_SIZE) >> 821 (((fp_horz_stretch & RADEON_HORZ_PANEL_SIZE) >>
821 RADEON_HORZ_PANEL_SHIFT) + 1) * 8; 822 RADEON_HORZ_PANEL_SHIFT) + 1) * 8;
822 else 823 else
823 lvds->native_mode.panel_xres = 824 lvds->native_mode.hdisplay =
824 ((RREG32(RADEON_CRTC_H_TOTAL_DISP) >> 16) + 1) * 8; 825 ((RREG32(RADEON_CRTC_H_TOTAL_DISP) >> 16) + 1) * 8;
825 826
826 if ((lvds->native_mode.panel_xres < 640) || 827 if ((lvds->native_mode.hdisplay < 640) ||
827 (lvds->native_mode.panel_yres < 480)) { 828 (lvds->native_mode.vdisplay < 480)) {
828 lvds->native_mode.panel_xres = 640; 829 lvds->native_mode.hdisplay = 640;
829 lvds->native_mode.panel_yres = 480; 830 lvds->native_mode.vdisplay = 480;
830 } 831 }
831 832
832 ppll_div_sel = RREG8(RADEON_CLOCK_CNTL_INDEX + 1) & 0x3; 833 ppll_div_sel = RREG8(RADEON_CLOCK_CNTL_INDEX + 1) & 0x3;
@@ -846,8 +847,8 @@ static struct radeon_encoder_lvds *radeon_legacy_get_lvds_info_from_regs(struct
846 lvds->panel_vcc_delay = 200; 847 lvds->panel_vcc_delay = 200;
847 848
848 DRM_INFO("Panel info derived from registers\n"); 849 DRM_INFO("Panel info derived from registers\n");
849 DRM_INFO("Panel Size %dx%d\n", lvds->native_mode.panel_xres, 850 DRM_INFO("Panel Size %dx%d\n", lvds->native_mode.hdisplay,
850 lvds->native_mode.panel_yres); 851 lvds->native_mode.vdisplay);
851 852
852 return lvds; 853 return lvds;
853} 854}
@@ -882,11 +883,11 @@ struct radeon_encoder_lvds *radeon_combios_get_lvds_info(struct radeon_encoder
882 883
883 DRM_INFO("Panel ID String: %s\n", stmp); 884 DRM_INFO("Panel ID String: %s\n", stmp);
884 885
885 lvds->native_mode.panel_xres = RBIOS16(lcd_info + 0x19); 886 lvds->native_mode.hdisplay = RBIOS16(lcd_info + 0x19);
886 lvds->native_mode.panel_yres = RBIOS16(lcd_info + 0x1b); 887 lvds->native_mode.vdisplay = RBIOS16(lcd_info + 0x1b);
887 888
888 DRM_INFO("Panel Size %dx%d\n", lvds->native_mode.panel_xres, 889 DRM_INFO("Panel Size %dx%d\n", lvds->native_mode.hdisplay,
889 lvds->native_mode.panel_yres); 890 lvds->native_mode.vdisplay);
890 891
891 lvds->panel_vcc_delay = RBIOS16(lcd_info + 0x2c); 892 lvds->panel_vcc_delay = RBIOS16(lcd_info + 0x2c);
892 if (lvds->panel_vcc_delay > 2000 || lvds->panel_vcc_delay < 0) 893 if (lvds->panel_vcc_delay > 2000 || lvds->panel_vcc_delay < 0)
@@ -944,27 +945,25 @@ struct radeon_encoder_lvds *radeon_combios_get_lvds_info(struct radeon_encoder
944 if (tmp == 0) 945 if (tmp == 0)
945 break; 946 break;
946 947
947 if ((RBIOS16(tmp) == lvds->native_mode.panel_xres) && 948 if ((RBIOS16(tmp) == lvds->native_mode.hdisplay) &&
948 (RBIOS16(tmp + 2) == 949 (RBIOS16(tmp + 2) ==
949 lvds->native_mode.panel_yres)) { 950 lvds->native_mode.vdisplay)) {
950 lvds->native_mode.hblank = 951 lvds->native_mode.htotal = RBIOS16(tmp + 17) * 8;
951 (RBIOS16(tmp + 17) - RBIOS16(tmp + 19)) * 8; 952 lvds->native_mode.hsync_start = RBIOS16(tmp + 21) * 8;
952 lvds->native_mode.hoverplus = 953 lvds->native_mode.hsync_end = (RBIOS8(tmp + 23) +
953 (RBIOS16(tmp + 21) - RBIOS16(tmp + 19) - 954 RBIOS16(tmp + 21)) * 8;
954 1) * 8; 955
955 lvds->native_mode.hsync_width = 956 lvds->native_mode.vtotal = RBIOS16(tmp + 24);
956 RBIOS8(tmp + 23) * 8; 957 lvds->native_mode.vsync_start = RBIOS16(tmp + 28) & 0x7ff;
957 958 lvds->native_mode.vsync_end =
958 lvds->native_mode.vblank = (RBIOS16(tmp + 24) - 959 ((RBIOS16(tmp + 28) & 0xf800) >> 11) +
959 RBIOS16(tmp + 26)); 960 (RBIOS16(tmp + 28) & 0x7ff);
960 lvds->native_mode.voverplus = 961
961 ((RBIOS16(tmp + 28) & 0x7ff) - 962 lvds->native_mode.clock = RBIOS16(tmp + 9) * 10;
962 RBIOS16(tmp + 26));
963 lvds->native_mode.vsync_width =
964 ((RBIOS16(tmp + 28) & 0xf800) >> 11);
965 lvds->native_mode.dotclock =
966 RBIOS16(tmp + 9) * 10;
967 lvds->native_mode.flags = 0; 963 lvds->native_mode.flags = 0;
964 /* set crtc values */
965 drm_mode_set_crtcinfo(&lvds->native_mode, CRTC_INTERLACE_HALVE_V);
966
968 } 967 }
969 } 968 }
970 } else { 969 } else {
@@ -1178,7 +1177,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1178 radeon_add_legacy_connector(dev, 0, 1177 radeon_add_legacy_connector(dev, 0,
1179 ATOM_DEVICE_CRT1_SUPPORT, 1178 ATOM_DEVICE_CRT1_SUPPORT,
1180 DRM_MODE_CONNECTOR_VGA, 1179 DRM_MODE_CONNECTOR_VGA,
1181 &ddc_i2c); 1180 &ddc_i2c,
1181 CONNECTOR_OBJECT_ID_VGA);
1182 } else if (rdev->flags & RADEON_IS_MOBILITY) { 1182 } else if (rdev->flags & RADEON_IS_MOBILITY) {
1183 /* LVDS */ 1183 /* LVDS */
1184 ddc_i2c = combios_setup_i2c_bus(RADEON_LCD_GPIO_MASK); 1184 ddc_i2c = combios_setup_i2c_bus(RADEON_LCD_GPIO_MASK);
@@ -1190,7 +1190,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1190 radeon_add_legacy_connector(dev, 0, 1190 radeon_add_legacy_connector(dev, 0,
1191 ATOM_DEVICE_LCD1_SUPPORT, 1191 ATOM_DEVICE_LCD1_SUPPORT,
1192 DRM_MODE_CONNECTOR_LVDS, 1192 DRM_MODE_CONNECTOR_LVDS,
1193 &ddc_i2c); 1193 &ddc_i2c,
1194 CONNECTOR_OBJECT_ID_LVDS);
1194 1195
1195 /* VGA - primary dac */ 1196 /* VGA - primary dac */
1196 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); 1197 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
@@ -1202,7 +1203,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1202 radeon_add_legacy_connector(dev, 1, 1203 radeon_add_legacy_connector(dev, 1,
1203 ATOM_DEVICE_CRT1_SUPPORT, 1204 ATOM_DEVICE_CRT1_SUPPORT,
1204 DRM_MODE_CONNECTOR_VGA, 1205 DRM_MODE_CONNECTOR_VGA,
1205 &ddc_i2c); 1206 &ddc_i2c,
1207 CONNECTOR_OBJECT_ID_VGA);
1206 } else { 1208 } else {
1207 /* DVI-I - tv dac, int tmds */ 1209 /* DVI-I - tv dac, int tmds */
1208 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); 1210 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC);
@@ -1220,7 +1222,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1220 ATOM_DEVICE_DFP1_SUPPORT | 1222 ATOM_DEVICE_DFP1_SUPPORT |
1221 ATOM_DEVICE_CRT2_SUPPORT, 1223 ATOM_DEVICE_CRT2_SUPPORT,
1222 DRM_MODE_CONNECTOR_DVII, 1224 DRM_MODE_CONNECTOR_DVII,
1223 &ddc_i2c); 1225 &ddc_i2c,
1226 CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I);
1224 1227
1225 /* VGA - primary dac */ 1228 /* VGA - primary dac */
1226 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); 1229 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
@@ -1232,7 +1235,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1232 radeon_add_legacy_connector(dev, 1, 1235 radeon_add_legacy_connector(dev, 1,
1233 ATOM_DEVICE_CRT1_SUPPORT, 1236 ATOM_DEVICE_CRT1_SUPPORT,
1234 DRM_MODE_CONNECTOR_VGA, 1237 DRM_MODE_CONNECTOR_VGA,
1235 &ddc_i2c); 1238 &ddc_i2c,
1239 CONNECTOR_OBJECT_ID_VGA);
1236 } 1240 }
1237 1241
1238 if (rdev->family != CHIP_R100 && rdev->family != CHIP_R200) { 1242 if (rdev->family != CHIP_R100 && rdev->family != CHIP_R200) {
@@ -1245,7 +1249,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1245 radeon_add_legacy_connector(dev, 2, 1249 radeon_add_legacy_connector(dev, 2,
1246 ATOM_DEVICE_TV1_SUPPORT, 1250 ATOM_DEVICE_TV1_SUPPORT,
1247 DRM_MODE_CONNECTOR_SVIDEO, 1251 DRM_MODE_CONNECTOR_SVIDEO,
1248 &ddc_i2c); 1252 &ddc_i2c,
1253 CONNECTOR_OBJECT_ID_SVIDEO);
1249 } 1254 }
1250 break; 1255 break;
1251 case CT_IBOOK: 1256 case CT_IBOOK:
@@ -1259,7 +1264,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1259 0), 1264 0),
1260 ATOM_DEVICE_LCD1_SUPPORT); 1265 ATOM_DEVICE_LCD1_SUPPORT);
1261 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT, 1266 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT,
1262 DRM_MODE_CONNECTOR_LVDS, &ddc_i2c); 1267 DRM_MODE_CONNECTOR_LVDS, &ddc_i2c,
1268 CONNECTOR_OBJECT_ID_LVDS);
1263 /* VGA - TV DAC */ 1269 /* VGA - TV DAC */
1264 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); 1270 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
1265 radeon_add_legacy_encoder(dev, 1271 radeon_add_legacy_encoder(dev,
@@ -1268,7 +1274,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1268 2), 1274 2),
1269 ATOM_DEVICE_CRT2_SUPPORT); 1275 ATOM_DEVICE_CRT2_SUPPORT);
1270 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT, 1276 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT,
1271 DRM_MODE_CONNECTOR_VGA, &ddc_i2c); 1277 DRM_MODE_CONNECTOR_VGA, &ddc_i2c,
1278 CONNECTOR_OBJECT_ID_VGA);
1272 /* TV - TV DAC */ 1279 /* TV - TV DAC */
1273 radeon_add_legacy_encoder(dev, 1280 radeon_add_legacy_encoder(dev,
1274 radeon_get_encoder_id(dev, 1281 radeon_get_encoder_id(dev,
@@ -1277,7 +1284,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1277 ATOM_DEVICE_TV1_SUPPORT); 1284 ATOM_DEVICE_TV1_SUPPORT);
1278 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, 1285 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT,
1279 DRM_MODE_CONNECTOR_SVIDEO, 1286 DRM_MODE_CONNECTOR_SVIDEO,
1280 &ddc_i2c); 1287 &ddc_i2c,
1288 CONNECTOR_OBJECT_ID_SVIDEO);
1281 break; 1289 break;
1282 case CT_POWERBOOK_EXTERNAL: 1290 case CT_POWERBOOK_EXTERNAL:
1283 DRM_INFO("Connector Table: %d (powerbook external tmds)\n", 1291 DRM_INFO("Connector Table: %d (powerbook external tmds)\n",
@@ -1290,7 +1298,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1290 0), 1298 0),
1291 ATOM_DEVICE_LCD1_SUPPORT); 1299 ATOM_DEVICE_LCD1_SUPPORT);
1292 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT, 1300 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT,
1293 DRM_MODE_CONNECTOR_LVDS, &ddc_i2c); 1301 DRM_MODE_CONNECTOR_LVDS, &ddc_i2c,
1302 CONNECTOR_OBJECT_ID_LVDS);
1294 /* DVI-I - primary dac, ext tmds */ 1303 /* DVI-I - primary dac, ext tmds */
1295 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); 1304 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
1296 radeon_add_legacy_encoder(dev, 1305 radeon_add_legacy_encoder(dev,
@@ -1303,10 +1312,12 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1303 ATOM_DEVICE_CRT1_SUPPORT, 1312 ATOM_DEVICE_CRT1_SUPPORT,
1304 1), 1313 1),
1305 ATOM_DEVICE_CRT1_SUPPORT); 1314 ATOM_DEVICE_CRT1_SUPPORT);
1315 /* XXX some are SL */
1306 radeon_add_legacy_connector(dev, 1, 1316 radeon_add_legacy_connector(dev, 1,
1307 ATOM_DEVICE_DFP2_SUPPORT | 1317 ATOM_DEVICE_DFP2_SUPPORT |
1308 ATOM_DEVICE_CRT1_SUPPORT, 1318 ATOM_DEVICE_CRT1_SUPPORT,
1309 DRM_MODE_CONNECTOR_DVII, &ddc_i2c); 1319 DRM_MODE_CONNECTOR_DVII, &ddc_i2c,
1320 CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I);
1310 /* TV - TV DAC */ 1321 /* TV - TV DAC */
1311 radeon_add_legacy_encoder(dev, 1322 radeon_add_legacy_encoder(dev,
1312 radeon_get_encoder_id(dev, 1323 radeon_get_encoder_id(dev,
@@ -1315,7 +1326,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1315 ATOM_DEVICE_TV1_SUPPORT); 1326 ATOM_DEVICE_TV1_SUPPORT);
1316 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, 1327 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT,
1317 DRM_MODE_CONNECTOR_SVIDEO, 1328 DRM_MODE_CONNECTOR_SVIDEO,
1318 &ddc_i2c); 1329 &ddc_i2c,
1330 CONNECTOR_OBJECT_ID_SVIDEO);
1319 break; 1331 break;
1320 case CT_POWERBOOK_INTERNAL: 1332 case CT_POWERBOOK_INTERNAL:
1321 DRM_INFO("Connector Table: %d (powerbook internal tmds)\n", 1333 DRM_INFO("Connector Table: %d (powerbook internal tmds)\n",
@@ -1328,7 +1340,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1328 0), 1340 0),
1329 ATOM_DEVICE_LCD1_SUPPORT); 1341 ATOM_DEVICE_LCD1_SUPPORT);
1330 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT, 1342 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT,
1331 DRM_MODE_CONNECTOR_LVDS, &ddc_i2c); 1343 DRM_MODE_CONNECTOR_LVDS, &ddc_i2c,
1344 CONNECTOR_OBJECT_ID_LVDS);
1332 /* DVI-I - primary dac, int tmds */ 1345 /* DVI-I - primary dac, int tmds */
1333 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); 1346 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
1334 radeon_add_legacy_encoder(dev, 1347 radeon_add_legacy_encoder(dev,
@@ -1344,7 +1357,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1344 radeon_add_legacy_connector(dev, 1, 1357 radeon_add_legacy_connector(dev, 1,
1345 ATOM_DEVICE_DFP1_SUPPORT | 1358 ATOM_DEVICE_DFP1_SUPPORT |
1346 ATOM_DEVICE_CRT1_SUPPORT, 1359 ATOM_DEVICE_CRT1_SUPPORT,
1347 DRM_MODE_CONNECTOR_DVII, &ddc_i2c); 1360 DRM_MODE_CONNECTOR_DVII, &ddc_i2c,
1361 CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I);
1348 /* TV - TV DAC */ 1362 /* TV - TV DAC */
1349 radeon_add_legacy_encoder(dev, 1363 radeon_add_legacy_encoder(dev,
1350 radeon_get_encoder_id(dev, 1364 radeon_get_encoder_id(dev,
@@ -1353,7 +1367,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1353 ATOM_DEVICE_TV1_SUPPORT); 1367 ATOM_DEVICE_TV1_SUPPORT);
1354 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, 1368 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT,
1355 DRM_MODE_CONNECTOR_SVIDEO, 1369 DRM_MODE_CONNECTOR_SVIDEO,
1356 &ddc_i2c); 1370 &ddc_i2c,
1371 CONNECTOR_OBJECT_ID_SVIDEO);
1357 break; 1372 break;
1358 case CT_POWERBOOK_VGA: 1373 case CT_POWERBOOK_VGA:
1359 DRM_INFO("Connector Table: %d (powerbook vga)\n", 1374 DRM_INFO("Connector Table: %d (powerbook vga)\n",
@@ -1366,7 +1381,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1366 0), 1381 0),
1367 ATOM_DEVICE_LCD1_SUPPORT); 1382 ATOM_DEVICE_LCD1_SUPPORT);
1368 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT, 1383 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_LCD1_SUPPORT,
1369 DRM_MODE_CONNECTOR_LVDS, &ddc_i2c); 1384 DRM_MODE_CONNECTOR_LVDS, &ddc_i2c,
1385 CONNECTOR_OBJECT_ID_LVDS);
1370 /* VGA - primary dac */ 1386 /* VGA - primary dac */
1371 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC); 1387 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
1372 radeon_add_legacy_encoder(dev, 1388 radeon_add_legacy_encoder(dev,
@@ -1375,7 +1391,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1375 1), 1391 1),
1376 ATOM_DEVICE_CRT1_SUPPORT); 1392 ATOM_DEVICE_CRT1_SUPPORT);
1377 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT1_SUPPORT, 1393 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT1_SUPPORT,
1378 DRM_MODE_CONNECTOR_VGA, &ddc_i2c); 1394 DRM_MODE_CONNECTOR_VGA, &ddc_i2c,
1395 CONNECTOR_OBJECT_ID_VGA);
1379 /* TV - TV DAC */ 1396 /* TV - TV DAC */
1380 radeon_add_legacy_encoder(dev, 1397 radeon_add_legacy_encoder(dev,
1381 radeon_get_encoder_id(dev, 1398 radeon_get_encoder_id(dev,
@@ -1384,7 +1401,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1384 ATOM_DEVICE_TV1_SUPPORT); 1401 ATOM_DEVICE_TV1_SUPPORT);
1385 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, 1402 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT,
1386 DRM_MODE_CONNECTOR_SVIDEO, 1403 DRM_MODE_CONNECTOR_SVIDEO,
1387 &ddc_i2c); 1404 &ddc_i2c,
1405 CONNECTOR_OBJECT_ID_SVIDEO);
1388 break; 1406 break;
1389 case CT_MINI_EXTERNAL: 1407 case CT_MINI_EXTERNAL:
1390 DRM_INFO("Connector Table: %d (mini external tmds)\n", 1408 DRM_INFO("Connector Table: %d (mini external tmds)\n",
@@ -1401,10 +1419,12 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1401 ATOM_DEVICE_CRT2_SUPPORT, 1419 ATOM_DEVICE_CRT2_SUPPORT,
1402 2), 1420 2),
1403 ATOM_DEVICE_CRT2_SUPPORT); 1421 ATOM_DEVICE_CRT2_SUPPORT);
1422 /* XXX are any DL? */
1404 radeon_add_legacy_connector(dev, 0, 1423 radeon_add_legacy_connector(dev, 0,
1405 ATOM_DEVICE_DFP2_SUPPORT | 1424 ATOM_DEVICE_DFP2_SUPPORT |
1406 ATOM_DEVICE_CRT2_SUPPORT, 1425 ATOM_DEVICE_CRT2_SUPPORT,
1407 DRM_MODE_CONNECTOR_DVII, &ddc_i2c); 1426 DRM_MODE_CONNECTOR_DVII, &ddc_i2c,
1427 CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I);
1408 /* TV - TV DAC */ 1428 /* TV - TV DAC */
1409 radeon_add_legacy_encoder(dev, 1429 radeon_add_legacy_encoder(dev,
1410 radeon_get_encoder_id(dev, 1430 radeon_get_encoder_id(dev,
@@ -1413,7 +1433,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1413 ATOM_DEVICE_TV1_SUPPORT); 1433 ATOM_DEVICE_TV1_SUPPORT);
1414 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_TV1_SUPPORT, 1434 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_TV1_SUPPORT,
1415 DRM_MODE_CONNECTOR_SVIDEO, 1435 DRM_MODE_CONNECTOR_SVIDEO,
1416 &ddc_i2c); 1436 &ddc_i2c,
1437 CONNECTOR_OBJECT_ID_SVIDEO);
1417 break; 1438 break;
1418 case CT_MINI_INTERNAL: 1439 case CT_MINI_INTERNAL:
1419 DRM_INFO("Connector Table: %d (mini internal tmds)\n", 1440 DRM_INFO("Connector Table: %d (mini internal tmds)\n",
@@ -1433,7 +1454,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1433 radeon_add_legacy_connector(dev, 0, 1454 radeon_add_legacy_connector(dev, 0,
1434 ATOM_DEVICE_DFP1_SUPPORT | 1455 ATOM_DEVICE_DFP1_SUPPORT |
1435 ATOM_DEVICE_CRT2_SUPPORT, 1456 ATOM_DEVICE_CRT2_SUPPORT,
1436 DRM_MODE_CONNECTOR_DVII, &ddc_i2c); 1457 DRM_MODE_CONNECTOR_DVII, &ddc_i2c,
1458 CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I);
1437 /* TV - TV DAC */ 1459 /* TV - TV DAC */
1438 radeon_add_legacy_encoder(dev, 1460 radeon_add_legacy_encoder(dev,
1439 radeon_get_encoder_id(dev, 1461 radeon_get_encoder_id(dev,
@@ -1442,7 +1464,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1442 ATOM_DEVICE_TV1_SUPPORT); 1464 ATOM_DEVICE_TV1_SUPPORT);
1443 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_TV1_SUPPORT, 1465 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_TV1_SUPPORT,
1444 DRM_MODE_CONNECTOR_SVIDEO, 1466 DRM_MODE_CONNECTOR_SVIDEO,
1445 &ddc_i2c); 1467 &ddc_i2c,
1468 CONNECTOR_OBJECT_ID_SVIDEO);
1446 break; 1469 break;
1447 case CT_IMAC_G5_ISIGHT: 1470 case CT_IMAC_G5_ISIGHT:
1448 DRM_INFO("Connector Table: %d (imac g5 isight)\n", 1471 DRM_INFO("Connector Table: %d (imac g5 isight)\n",
@@ -1455,7 +1478,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1455 0), 1478 0),
1456 ATOM_DEVICE_DFP1_SUPPORT); 1479 ATOM_DEVICE_DFP1_SUPPORT);
1457 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_DFP1_SUPPORT, 1480 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_DFP1_SUPPORT,
1458 DRM_MODE_CONNECTOR_DVID, &ddc_i2c); 1481 DRM_MODE_CONNECTOR_DVID, &ddc_i2c,
1482 CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D);
1459 /* VGA - tv dac */ 1483 /* VGA - tv dac */
1460 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC); 1484 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_DVI_DDC);
1461 radeon_add_legacy_encoder(dev, 1485 radeon_add_legacy_encoder(dev,
@@ -1464,7 +1488,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1464 2), 1488 2),
1465 ATOM_DEVICE_CRT2_SUPPORT); 1489 ATOM_DEVICE_CRT2_SUPPORT);
1466 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT, 1490 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT,
1467 DRM_MODE_CONNECTOR_VGA, &ddc_i2c); 1491 DRM_MODE_CONNECTOR_VGA, &ddc_i2c,
1492 CONNECTOR_OBJECT_ID_VGA);
1468 /* TV - TV DAC */ 1493 /* TV - TV DAC */
1469 radeon_add_legacy_encoder(dev, 1494 radeon_add_legacy_encoder(dev,
1470 radeon_get_encoder_id(dev, 1495 radeon_get_encoder_id(dev,
@@ -1473,7 +1498,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1473 ATOM_DEVICE_TV1_SUPPORT); 1498 ATOM_DEVICE_TV1_SUPPORT);
1474 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, 1499 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT,
1475 DRM_MODE_CONNECTOR_SVIDEO, 1500 DRM_MODE_CONNECTOR_SVIDEO,
1476 &ddc_i2c); 1501 &ddc_i2c,
1502 CONNECTOR_OBJECT_ID_SVIDEO);
1477 break; 1503 break;
1478 case CT_EMAC: 1504 case CT_EMAC:
1479 DRM_INFO("Connector Table: %d (emac)\n", 1505 DRM_INFO("Connector Table: %d (emac)\n",
@@ -1486,7 +1512,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1486 1), 1512 1),
1487 ATOM_DEVICE_CRT1_SUPPORT); 1513 ATOM_DEVICE_CRT1_SUPPORT);
1488 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_CRT1_SUPPORT, 1514 radeon_add_legacy_connector(dev, 0, ATOM_DEVICE_CRT1_SUPPORT,
1489 DRM_MODE_CONNECTOR_VGA, &ddc_i2c); 1515 DRM_MODE_CONNECTOR_VGA, &ddc_i2c,
1516 CONNECTOR_OBJECT_ID_VGA);
1490 /* VGA - tv dac */ 1517 /* VGA - tv dac */
1491 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_CRT2_DDC); 1518 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_CRT2_DDC);
1492 radeon_add_legacy_encoder(dev, 1519 radeon_add_legacy_encoder(dev,
@@ -1495,7 +1522,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1495 2), 1522 2),
1496 ATOM_DEVICE_CRT2_SUPPORT); 1523 ATOM_DEVICE_CRT2_SUPPORT);
1497 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT, 1524 radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT2_SUPPORT,
1498 DRM_MODE_CONNECTOR_VGA, &ddc_i2c); 1525 DRM_MODE_CONNECTOR_VGA, &ddc_i2c,
1526 CONNECTOR_OBJECT_ID_VGA);
1499 /* TV - TV DAC */ 1527 /* TV - TV DAC */
1500 radeon_add_legacy_encoder(dev, 1528 radeon_add_legacy_encoder(dev,
1501 radeon_get_encoder_id(dev, 1529 radeon_get_encoder_id(dev,
@@ -1504,7 +1532,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
1504 ATOM_DEVICE_TV1_SUPPORT); 1532 ATOM_DEVICE_TV1_SUPPORT);
1505 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, 1533 radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT,
1506 DRM_MODE_CONNECTOR_SVIDEO, 1534 DRM_MODE_CONNECTOR_SVIDEO,
1507 &ddc_i2c); 1535 &ddc_i2c,
1536 CONNECTOR_OBJECT_ID_SVIDEO);
1508 break; 1537 break;
1509 default: 1538 default:
1510 DRM_INFO("Connector table: %d (invalid)\n", 1539 DRM_INFO("Connector table: %d (invalid)\n",
@@ -1581,11 +1610,63 @@ static bool radeon_apply_legacy_quirks(struct drm_device *dev,
1581 return true; 1610 return true;
1582} 1611}
1583 1612
1613static bool radeon_apply_legacy_tv_quirks(struct drm_device *dev)
1614{
1615 /* Acer 5102 has non-existent TV port */
1616 if (dev->pdev->device == 0x5975 &&
1617 dev->pdev->subsystem_vendor == 0x1025 &&
1618 dev->pdev->subsystem_device == 0x009f)
1619 return false;
1620
1621 /* HP dc5750 has non-existent TV port */
1622 if (dev->pdev->device == 0x5974 &&
1623 dev->pdev->subsystem_vendor == 0x103c &&
1624 dev->pdev->subsystem_device == 0x280a)
1625 return false;
1626
1627 return true;
1628}
1629
1630static uint16_t combios_check_dl_dvi(struct drm_device *dev, int is_dvi_d)
1631{
1632 struct radeon_device *rdev = dev->dev_private;
1633 uint32_t ext_tmds_info;
1634
1635 if (rdev->flags & RADEON_IS_IGP) {
1636 if (is_dvi_d)
1637 return CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D;
1638 else
1639 return CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I;
1640 }
1641 ext_tmds_info = combios_get_table_offset(dev, COMBIOS_EXT_TMDS_INFO_TABLE);
1642 if (ext_tmds_info) {
1643 uint8_t rev = RBIOS8(ext_tmds_info);
1644 uint8_t flags = RBIOS8(ext_tmds_info + 4 + 5);
1645 if (rev >= 3) {
1646 if (is_dvi_d)
1647 return CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D;
1648 else
1649 return CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I;
1650 } else {
1651 if (flags & 1) {
1652 if (is_dvi_d)
1653 return CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D;
1654 else
1655 return CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I;
1656 }
1657 }
1658 }
1659 if (is_dvi_d)
1660 return CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D;
1661 else
1662 return CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I;
1663}
1664
1584bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev) 1665bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1585{ 1666{
1586 struct radeon_device *rdev = dev->dev_private; 1667 struct radeon_device *rdev = dev->dev_private;
1587 uint32_t conn_info, entry, devices; 1668 uint32_t conn_info, entry, devices;
1588 uint16_t tmp; 1669 uint16_t tmp, connector_object_id;
1589 enum radeon_combios_ddc ddc_type; 1670 enum radeon_combios_ddc ddc_type;
1590 enum radeon_combios_connector connector; 1671 enum radeon_combios_connector connector;
1591 int i = 0; 1672 int i = 0;
@@ -1628,8 +1709,9 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1628 break; 1709 break;
1629 } 1710 }
1630 1711
1631 radeon_apply_legacy_quirks(dev, i, &connector, 1712 if (!radeon_apply_legacy_quirks(dev, i, &connector,
1632 &ddc_i2c); 1713 &ddc_i2c))
1714 continue;
1633 1715
1634 switch (connector) { 1716 switch (connector) {
1635 case CONNECTOR_PROPRIETARY_LEGACY: 1717 case CONNECTOR_PROPRIETARY_LEGACY:
@@ -1644,7 +1726,8 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1644 radeon_add_legacy_connector(dev, i, devices, 1726 radeon_add_legacy_connector(dev, i, devices,
1645 legacy_connector_convert 1727 legacy_connector_convert
1646 [connector], 1728 [connector],
1647 &ddc_i2c); 1729 &ddc_i2c,
1730 CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D);
1648 break; 1731 break;
1649 case CONNECTOR_CRT_LEGACY: 1732 case CONNECTOR_CRT_LEGACY:
1650 if (tmp & 0x1) { 1733 if (tmp & 0x1) {
@@ -1669,7 +1752,8 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1669 devices, 1752 devices,
1670 legacy_connector_convert 1753 legacy_connector_convert
1671 [connector], 1754 [connector],
1672 &ddc_i2c); 1755 &ddc_i2c,
1756 CONNECTOR_OBJECT_ID_VGA);
1673 break; 1757 break;
1674 case CONNECTOR_DVI_I_LEGACY: 1758 case CONNECTOR_DVI_I_LEGACY:
1675 devices = 0; 1759 devices = 0;
@@ -1698,6 +1782,7 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1698 ATOM_DEVICE_DFP2_SUPPORT, 1782 ATOM_DEVICE_DFP2_SUPPORT,
1699 0), 1783 0),
1700 ATOM_DEVICE_DFP2_SUPPORT); 1784 ATOM_DEVICE_DFP2_SUPPORT);
1785 connector_object_id = combios_check_dl_dvi(dev, 0);
1701 } else { 1786 } else {
1702 devices |= ATOM_DEVICE_DFP1_SUPPORT; 1787 devices |= ATOM_DEVICE_DFP1_SUPPORT;
1703 radeon_add_legacy_encoder(dev, 1788 radeon_add_legacy_encoder(dev,
@@ -1706,19 +1791,24 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1706 ATOM_DEVICE_DFP1_SUPPORT, 1791 ATOM_DEVICE_DFP1_SUPPORT,
1707 0), 1792 0),
1708 ATOM_DEVICE_DFP1_SUPPORT); 1793 ATOM_DEVICE_DFP1_SUPPORT);
1794 connector_object_id = CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I;
1709 } 1795 }
1710 radeon_add_legacy_connector(dev, 1796 radeon_add_legacy_connector(dev,
1711 i, 1797 i,
1712 devices, 1798 devices,
1713 legacy_connector_convert 1799 legacy_connector_convert
1714 [connector], 1800 [connector],
1715 &ddc_i2c); 1801 &ddc_i2c,
1802 connector_object_id);
1716 break; 1803 break;
1717 case CONNECTOR_DVI_D_LEGACY: 1804 case CONNECTOR_DVI_D_LEGACY:
1718 if ((tmp >> 4) & 0x1) 1805 if ((tmp >> 4) & 0x1) {
1719 devices = ATOM_DEVICE_DFP2_SUPPORT; 1806 devices = ATOM_DEVICE_DFP2_SUPPORT;
1720 else 1807 connector_object_id = combios_check_dl_dvi(dev, 1);
1808 } else {
1721 devices = ATOM_DEVICE_DFP1_SUPPORT; 1809 devices = ATOM_DEVICE_DFP1_SUPPORT;
1810 connector_object_id = CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I;
1811 }
1722 radeon_add_legacy_encoder(dev, 1812 radeon_add_legacy_encoder(dev,
1723 radeon_get_encoder_id 1813 radeon_get_encoder_id
1724 (dev, devices, 0), 1814 (dev, devices, 0),
@@ -1726,7 +1816,8 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1726 radeon_add_legacy_connector(dev, i, devices, 1816 radeon_add_legacy_connector(dev, i, devices,
1727 legacy_connector_convert 1817 legacy_connector_convert
1728 [connector], 1818 [connector],
1729 &ddc_i2c); 1819 &ddc_i2c,
1820 connector_object_id);
1730 break; 1821 break;
1731 case CONNECTOR_CTV_LEGACY: 1822 case CONNECTOR_CTV_LEGACY:
1732 case CONNECTOR_STV_LEGACY: 1823 case CONNECTOR_STV_LEGACY:
@@ -1740,7 +1831,8 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1740 ATOM_DEVICE_TV1_SUPPORT, 1831 ATOM_DEVICE_TV1_SUPPORT,
1741 legacy_connector_convert 1832 legacy_connector_convert
1742 [connector], 1833 [connector],
1743 &ddc_i2c); 1834 &ddc_i2c,
1835 CONNECTOR_OBJECT_ID_SVIDEO);
1744 break; 1836 break;
1745 default: 1837 default:
1746 DRM_ERROR("Unknown connector type: %d\n", 1838 DRM_ERROR("Unknown connector type: %d\n",
@@ -1772,10 +1864,29 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1772 ATOM_DEVICE_CRT1_SUPPORT | 1864 ATOM_DEVICE_CRT1_SUPPORT |
1773 ATOM_DEVICE_DFP1_SUPPORT, 1865 ATOM_DEVICE_DFP1_SUPPORT,
1774 DRM_MODE_CONNECTOR_DVII, 1866 DRM_MODE_CONNECTOR_DVII,
1775 &ddc_i2c); 1867 &ddc_i2c,
1868 CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I);
1776 } else { 1869 } else {
1777 DRM_DEBUG("No connector info found\n"); 1870 uint16_t crt_info =
1778 return false; 1871 combios_get_table_offset(dev, COMBIOS_CRT_INFO_TABLE);
1872 DRM_DEBUG("Found CRT table, assuming VGA connector\n");
1873 if (crt_info) {
1874 radeon_add_legacy_encoder(dev,
1875 radeon_get_encoder_id(dev,
1876 ATOM_DEVICE_CRT1_SUPPORT,
1877 1),
1878 ATOM_DEVICE_CRT1_SUPPORT);
1879 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
1880 radeon_add_legacy_connector(dev,
1881 0,
1882 ATOM_DEVICE_CRT1_SUPPORT,
1883 DRM_MODE_CONNECTOR_VGA,
1884 &ddc_i2c,
1885 CONNECTOR_OBJECT_ID_VGA);
1886 } else {
1887 DRM_DEBUG("No connector info found\n");
1888 return false;
1889 }
1779 } 1890 }
1780 } 1891 }
1781 1892
@@ -1870,7 +1981,8 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1870 5, 1981 5,
1871 ATOM_DEVICE_LCD1_SUPPORT, 1982 ATOM_DEVICE_LCD1_SUPPORT,
1872 DRM_MODE_CONNECTOR_LVDS, 1983 DRM_MODE_CONNECTOR_LVDS,
1873 &ddc_i2c); 1984 &ddc_i2c,
1985 CONNECTOR_OBJECT_ID_LVDS);
1874 } 1986 }
1875 } 1987 }
1876 1988
@@ -1880,16 +1992,19 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1880 combios_get_table_offset(dev, COMBIOS_TV_INFO_TABLE); 1992 combios_get_table_offset(dev, COMBIOS_TV_INFO_TABLE);
1881 if (tv_info) { 1993 if (tv_info) {
1882 if (RBIOS8(tv_info + 6) == 'T') { 1994 if (RBIOS8(tv_info + 6) == 'T') {
1883 radeon_add_legacy_encoder(dev, 1995 if (radeon_apply_legacy_tv_quirks(dev)) {
1884 radeon_get_encoder_id 1996 radeon_add_legacy_encoder(dev,
1885 (dev, 1997 radeon_get_encoder_id
1886 ATOM_DEVICE_TV1_SUPPORT, 1998 (dev,
1887 2), 1999 ATOM_DEVICE_TV1_SUPPORT,
1888 ATOM_DEVICE_TV1_SUPPORT); 2000 2),
1889 radeon_add_legacy_connector(dev, 6, 2001 ATOM_DEVICE_TV1_SUPPORT);
1890 ATOM_DEVICE_TV1_SUPPORT, 2002 radeon_add_legacy_connector(dev, 6,
1891 DRM_MODE_CONNECTOR_SVIDEO, 2003 ATOM_DEVICE_TV1_SUPPORT,
1892 &ddc_i2c); 2004 DRM_MODE_CONNECTOR_SVIDEO,
2005 &ddc_i2c,
2006 CONNECTOR_OBJECT_ID_SVIDEO);
2007 }
1893 } 2008 }
1894 } 2009 }
1895 } 2010 }
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
index e376be47a4a0..29763ceae3af 100644
--- a/drivers/gpu/drm/radeon/radeon_connectors.c
+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
@@ -178,25 +178,12 @@ static struct drm_display_mode *radeon_fp_native_mode(struct drm_encoder *encode
178 struct drm_device *dev = encoder->dev; 178 struct drm_device *dev = encoder->dev;
179 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); 179 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
180 struct drm_display_mode *mode = NULL; 180 struct drm_display_mode *mode = NULL;
181 struct radeon_native_mode *native_mode = &radeon_encoder->native_mode; 181 struct drm_display_mode *native_mode = &radeon_encoder->native_mode;
182
183 if (native_mode->panel_xres != 0 &&
184 native_mode->panel_yres != 0 &&
185 native_mode->dotclock != 0) {
186 mode = drm_mode_create(dev);
187
188 mode->hdisplay = native_mode->panel_xres;
189 mode->vdisplay = native_mode->panel_yres;
190
191 mode->htotal = mode->hdisplay + native_mode->hblank;
192 mode->hsync_start = mode->hdisplay + native_mode->hoverplus;
193 mode->hsync_end = mode->hsync_start + native_mode->hsync_width;
194 mode->vtotal = mode->vdisplay + native_mode->vblank;
195 mode->vsync_start = mode->vdisplay + native_mode->voverplus;
196 mode->vsync_end = mode->vsync_start + native_mode->vsync_width;
197 mode->clock = native_mode->dotclock;
198 mode->flags = 0;
199 182
183 if (native_mode->hdisplay != 0 &&
184 native_mode->vdisplay != 0 &&
185 native_mode->clock != 0) {
186 mode = drm_mode_duplicate(dev, native_mode);
200 mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER; 187 mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER;
201 drm_mode_set_name(mode); 188 drm_mode_set_name(mode);
202 189
@@ -210,7 +197,7 @@ static void radeon_add_common_modes(struct drm_encoder *encoder, struct drm_conn
210 struct drm_device *dev = encoder->dev; 197 struct drm_device *dev = encoder->dev;
211 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); 198 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
212 struct drm_display_mode *mode = NULL; 199 struct drm_display_mode *mode = NULL;
213 struct radeon_native_mode *native_mode = &radeon_encoder->native_mode; 200 struct drm_display_mode *native_mode = &radeon_encoder->native_mode;
214 int i; 201 int i;
215 struct mode_size { 202 struct mode_size {
216 int w; 203 int w;
@@ -236,11 +223,16 @@ static void radeon_add_common_modes(struct drm_encoder *encoder, struct drm_conn
236 }; 223 };
237 224
238 for (i = 0; i < 17; i++) { 225 for (i = 0; i < 17; i++) {
226 if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT)) {
227 if (common_modes[i].w > 1024 ||
228 common_modes[i].h > 768)
229 continue;
230 }
239 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { 231 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
240 if (common_modes[i].w > native_mode->panel_xres || 232 if (common_modes[i].w > native_mode->hdisplay ||
241 common_modes[i].h > native_mode->panel_yres || 233 common_modes[i].h > native_mode->vdisplay ||
242 (common_modes[i].w == native_mode->panel_xres && 234 (common_modes[i].w == native_mode->hdisplay &&
243 common_modes[i].h == native_mode->panel_yres)) 235 common_modes[i].h == native_mode->vdisplay))
244 continue; 236 continue;
245 } 237 }
246 if (common_modes[i].w < 320 || common_modes[i].h < 200) 238 if (common_modes[i].w < 320 || common_modes[i].h < 200)
@@ -344,28 +336,23 @@ static void radeon_fixup_lvds_native_mode(struct drm_encoder *encoder,
344 struct drm_connector *connector) 336 struct drm_connector *connector)
345{ 337{
346 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); 338 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
347 struct radeon_native_mode *native_mode = &radeon_encoder->native_mode; 339 struct drm_display_mode *native_mode = &radeon_encoder->native_mode;
348 340
349 /* Try to get native mode details from EDID if necessary */ 341 /* Try to get native mode details from EDID if necessary */
350 if (!native_mode->dotclock) { 342 if (!native_mode->clock) {
351 struct drm_display_mode *t, *mode; 343 struct drm_display_mode *t, *mode;
352 344
353 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { 345 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) {
354 if (mode->hdisplay == native_mode->panel_xres && 346 if (mode->hdisplay == native_mode->hdisplay &&
355 mode->vdisplay == native_mode->panel_yres) { 347 mode->vdisplay == native_mode->vdisplay) {
356 native_mode->hblank = mode->htotal - mode->hdisplay; 348 *native_mode = *mode;
357 native_mode->hoverplus = mode->hsync_start - mode->hdisplay; 349 drm_mode_set_crtcinfo(native_mode, CRTC_INTERLACE_HALVE_V);
358 native_mode->hsync_width = mode->hsync_end - mode->hsync_start;
359 native_mode->vblank = mode->vtotal - mode->vdisplay;
360 native_mode->voverplus = mode->vsync_start - mode->vdisplay;
361 native_mode->vsync_width = mode->vsync_end - mode->vsync_start;
362 native_mode->dotclock = mode->clock;
363 DRM_INFO("Determined LVDS native mode details from EDID\n"); 350 DRM_INFO("Determined LVDS native mode details from EDID\n");
364 break; 351 break;
365 } 352 }
366 } 353 }
367 } 354 }
368 if (!native_mode->dotclock) { 355 if (!native_mode->clock) {
369 DRM_INFO("No LVDS native mode details, disabling RMX\n"); 356 DRM_INFO("No LVDS native mode details, disabling RMX\n");
370 radeon_encoder->rmx_type = RMX_OFF; 357 radeon_encoder->rmx_type = RMX_OFF;
371 } 358 }
@@ -410,13 +397,64 @@ static int radeon_lvds_get_modes(struct drm_connector *connector)
410static int radeon_lvds_mode_valid(struct drm_connector *connector, 397static int radeon_lvds_mode_valid(struct drm_connector *connector,
411 struct drm_display_mode *mode) 398 struct drm_display_mode *mode)
412{ 399{
400 struct drm_encoder *encoder = radeon_best_single_encoder(connector);
401
402 if ((mode->hdisplay < 320) || (mode->vdisplay < 240))
403 return MODE_PANEL;
404
405 if (encoder) {
406 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
407 struct drm_display_mode *native_mode = &radeon_encoder->native_mode;
408
409 /* AVIVO hardware supports downscaling modes larger than the panel
410 * to the panel size, but I'm not sure this is desirable.
411 */
412 if ((mode->hdisplay > native_mode->hdisplay) ||
413 (mode->vdisplay > native_mode->vdisplay))
414 return MODE_PANEL;
415
416 /* if scaling is disabled, block non-native modes */
417 if (radeon_encoder->rmx_type == RMX_OFF) {
418 if ((mode->hdisplay != native_mode->hdisplay) ||
419 (mode->vdisplay != native_mode->vdisplay))
420 return MODE_PANEL;
421 }
422 }
423
413 return MODE_OK; 424 return MODE_OK;
414} 425}
415 426
416static enum drm_connector_status radeon_lvds_detect(struct drm_connector *connector) 427static enum drm_connector_status radeon_lvds_detect(struct drm_connector *connector)
417{ 428{
418 enum drm_connector_status ret = connector_status_connected; 429 struct radeon_connector *radeon_connector = to_radeon_connector(connector);
430 struct drm_encoder *encoder = radeon_best_single_encoder(connector);
431 enum drm_connector_status ret = connector_status_disconnected;
432
433 if (encoder) {
434 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
435 struct drm_display_mode *native_mode = &radeon_encoder->native_mode;
436
437 /* check if panel is valid */
438 if (native_mode->hdisplay >= 320 && native_mode->vdisplay >= 240)
439 ret = connector_status_connected;
440
441 }
442
443 /* check for edid as well */
444 if (radeon_connector->edid)
445 ret = connector_status_connected;
446 else {
447 if (radeon_connector->ddc_bus) {
448 radeon_i2c_do_lock(radeon_connector, 1);
449 radeon_connector->edid = drm_get_edid(&radeon_connector->base,
450 &radeon_connector->ddc_bus->adapter);
451 radeon_i2c_do_lock(radeon_connector, 0);
452 if (radeon_connector->edid)
453 ret = connector_status_connected;
454 }
455 }
419 /* check acpi lid status ??? */ 456 /* check acpi lid status ??? */
457
420 radeon_connector_update_scratch_regs(connector, ret); 458 radeon_connector_update_scratch_regs(connector, ret);
421 return ret; 459 return ret;
422} 460}
@@ -427,6 +465,8 @@ static void radeon_connector_destroy(struct drm_connector *connector)
427 465
428 if (radeon_connector->ddc_bus) 466 if (radeon_connector->ddc_bus)
429 radeon_i2c_destroy(radeon_connector->ddc_bus); 467 radeon_i2c_destroy(radeon_connector->ddc_bus);
468 if (radeon_connector->edid)
469 kfree(radeon_connector->edid);
430 kfree(radeon_connector->con_priv); 470 kfree(radeon_connector->con_priv);
431 drm_sysfs_connector_remove(connector); 471 drm_sysfs_connector_remove(connector);
432 drm_connector_cleanup(connector); 472 drm_connector_cleanup(connector);
@@ -496,6 +536,8 @@ static int radeon_vga_get_modes(struct drm_connector *connector)
496static int radeon_vga_mode_valid(struct drm_connector *connector, 536static int radeon_vga_mode_valid(struct drm_connector *connector,
497 struct drm_display_mode *mode) 537 struct drm_display_mode *mode)
498{ 538{
539 /* XXX check mode bandwidth */
540 /* XXX verify against max DAC output frequency */
499 return MODE_OK; 541 return MODE_OK;
500} 542}
501 543
@@ -514,9 +556,33 @@ static enum drm_connector_status radeon_vga_detect(struct drm_connector *connect
514 radeon_i2c_do_lock(radeon_connector, 1); 556 radeon_i2c_do_lock(radeon_connector, 1);
515 dret = radeon_ddc_probe(radeon_connector); 557 dret = radeon_ddc_probe(radeon_connector);
516 radeon_i2c_do_lock(radeon_connector, 0); 558 radeon_i2c_do_lock(radeon_connector, 0);
517 if (dret) 559 if (dret) {
518 ret = connector_status_connected; 560 if (radeon_connector->edid) {
519 else { 561 kfree(radeon_connector->edid);
562 radeon_connector->edid = NULL;
563 }
564 radeon_i2c_do_lock(radeon_connector, 1);
565 radeon_connector->edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter);
566 radeon_i2c_do_lock(radeon_connector, 0);
567
568 if (!radeon_connector->edid) {
569 DRM_ERROR("%s: probed a monitor but no|invalid EDID\n",
570 drm_get_connector_name(connector));
571 ret = connector_status_connected;
572 } else {
573 radeon_connector->use_digital = !!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
574
575 /* some oems have boards with separate digital and analog connectors
576 * with a shared ddc line (often vga + hdmi)
577 */
578 if (radeon_connector->use_digital && radeon_connector->shared_ddc) {
579 kfree(radeon_connector->edid);
580 radeon_connector->edid = NULL;
581 ret = connector_status_disconnected;
582 } else
583 ret = connector_status_connected;
584 }
585 } else {
520 if (radeon_connector->dac_load_detect) { 586 if (radeon_connector->dac_load_detect) {
521 encoder_funcs = encoder->helper_private; 587 encoder_funcs = encoder->helper_private;
522 ret = encoder_funcs->detect(encoder, connector); 588 ret = encoder_funcs->detect(encoder, connector);
@@ -570,6 +636,8 @@ static int radeon_tv_get_modes(struct drm_connector *connector)
570static int radeon_tv_mode_valid(struct drm_connector *connector, 636static int radeon_tv_mode_valid(struct drm_connector *connector,
571 struct drm_display_mode *mode) 637 struct drm_display_mode *mode)
572{ 638{
639 if ((mode->hdisplay > 1024) || (mode->vdisplay > 768))
640 return MODE_CLOCK_RANGE;
573 return MODE_OK; 641 return MODE_OK;
574} 642}
575 643
@@ -644,20 +712,29 @@ static enum drm_connector_status radeon_dvi_detect(struct drm_connector *connect
644 dret = radeon_ddc_probe(radeon_connector); 712 dret = radeon_ddc_probe(radeon_connector);
645 radeon_i2c_do_lock(radeon_connector, 0); 713 radeon_i2c_do_lock(radeon_connector, 0);
646 if (dret) { 714 if (dret) {
715 if (radeon_connector->edid) {
716 kfree(radeon_connector->edid);
717 radeon_connector->edid = NULL;
718 }
647 radeon_i2c_do_lock(radeon_connector, 1); 719 radeon_i2c_do_lock(radeon_connector, 1);
648 radeon_connector->edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter); 720 radeon_connector->edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter);
649 radeon_i2c_do_lock(radeon_connector, 0); 721 radeon_i2c_do_lock(radeon_connector, 0);
650 722
651 if (!radeon_connector->edid) { 723 if (!radeon_connector->edid) {
652 DRM_ERROR("DDC responded but not EDID found for %s\n", 724 DRM_ERROR("%s: probed a monitor but no|invalid EDID\n",
653 drm_get_connector_name(connector)); 725 drm_get_connector_name(connector));
654 } else { 726 } else {
655 radeon_connector->use_digital = !!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL); 727 radeon_connector->use_digital = !!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL);
656 728
657 /* if this isn't a digital monitor 729 /* some oems have boards with separate digital and analog connectors
658 then we need to make sure we don't have any 730 * with a shared ddc line (often vga + hdmi)
659 TV conflicts */ 731 */
660 ret = connector_status_connected; 732 if ((!radeon_connector->use_digital) && radeon_connector->shared_ddc) {
733 kfree(radeon_connector->edid);
734 radeon_connector->edid = NULL;
735 ret = connector_status_disconnected;
736 } else
737 ret = connector_status_connected;
661 } 738 }
662 } 739 }
663 740
@@ -753,9 +830,27 @@ static void radeon_dvi_force(struct drm_connector *connector)
753 radeon_connector->use_digital = true; 830 radeon_connector->use_digital = true;
754} 831}
755 832
833static int radeon_dvi_mode_valid(struct drm_connector *connector,
834 struct drm_display_mode *mode)
835{
836 struct radeon_connector *radeon_connector = to_radeon_connector(connector);
837
838 /* XXX check mode bandwidth */
839
840 if (radeon_connector->use_digital && (mode->clock > 165000)) {
841 if ((radeon_connector->connector_object_id == CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I) ||
842 (radeon_connector->connector_object_id == CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D) ||
843 (radeon_connector->connector_object_id == CONNECTOR_OBJECT_ID_HDMI_TYPE_B))
844 return MODE_OK;
845 else
846 return MODE_CLOCK_HIGH;
847 }
848 return MODE_OK;
849}
850
756struct drm_connector_helper_funcs radeon_dvi_connector_helper_funcs = { 851struct drm_connector_helper_funcs radeon_dvi_connector_helper_funcs = {
757 .get_modes = radeon_dvi_get_modes, 852 .get_modes = radeon_dvi_get_modes,
758 .mode_valid = radeon_vga_mode_valid, 853 .mode_valid = radeon_dvi_mode_valid,
759 .best_encoder = radeon_dvi_encoder, 854 .best_encoder = radeon_dvi_encoder,
760}; 855};
761 856
@@ -775,13 +870,15 @@ radeon_add_atom_connector(struct drm_device *dev,
775 int connector_type, 870 int connector_type,
776 struct radeon_i2c_bus_rec *i2c_bus, 871 struct radeon_i2c_bus_rec *i2c_bus,
777 bool linkb, 872 bool linkb,
778 uint32_t igp_lane_info) 873 uint32_t igp_lane_info,
874 uint16_t connector_object_id)
779{ 875{
780 struct radeon_device *rdev = dev->dev_private; 876 struct radeon_device *rdev = dev->dev_private;
781 struct drm_connector *connector; 877 struct drm_connector *connector;
782 struct radeon_connector *radeon_connector; 878 struct radeon_connector *radeon_connector;
783 struct radeon_connector_atom_dig *radeon_dig_connector; 879 struct radeon_connector_atom_dig *radeon_dig_connector;
784 uint32_t subpixel_order = SubPixelNone; 880 uint32_t subpixel_order = SubPixelNone;
881 bool shared_ddc = false;
785 int ret; 882 int ret;
786 883
787 /* fixme - tv/cv/din */ 884 /* fixme - tv/cv/din */
@@ -795,6 +892,13 @@ radeon_add_atom_connector(struct drm_device *dev,
795 radeon_connector->devices |= supported_device; 892 radeon_connector->devices |= supported_device;
796 return; 893 return;
797 } 894 }
895 if (radeon_connector->ddc_bus && i2c_bus->valid) {
896 if (memcmp(&radeon_connector->ddc_bus->rec, i2c_bus,
897 sizeof(struct radeon_i2c_bus_rec)) == 0) {
898 radeon_connector->shared_ddc = true;
899 shared_ddc = true;
900 }
901 }
798 } 902 }
799 903
800 radeon_connector = kzalloc(sizeof(struct radeon_connector), GFP_KERNEL); 904 radeon_connector = kzalloc(sizeof(struct radeon_connector), GFP_KERNEL);
@@ -805,6 +909,8 @@ radeon_add_atom_connector(struct drm_device *dev,
805 909
806 radeon_connector->connector_id = connector_id; 910 radeon_connector->connector_id = connector_id;
807 radeon_connector->devices = supported_device; 911 radeon_connector->devices = supported_device;
912 radeon_connector->shared_ddc = shared_ddc;
913 radeon_connector->connector_object_id = connector_object_id;
808 switch (connector_type) { 914 switch (connector_type) {
809 case DRM_MODE_CONNECTOR_VGA: 915 case DRM_MODE_CONNECTOR_VGA:
810 drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type); 916 drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
@@ -956,7 +1062,8 @@ radeon_add_legacy_connector(struct drm_device *dev,
956 uint32_t connector_id, 1062 uint32_t connector_id,
957 uint32_t supported_device, 1063 uint32_t supported_device,
958 int connector_type, 1064 int connector_type,
959 struct radeon_i2c_bus_rec *i2c_bus) 1065 struct radeon_i2c_bus_rec *i2c_bus,
1066 uint16_t connector_object_id)
960{ 1067{
961 struct radeon_device *rdev = dev->dev_private; 1068 struct radeon_device *rdev = dev->dev_private;
962 struct drm_connector *connector; 1069 struct drm_connector *connector;
@@ -985,6 +1092,7 @@ radeon_add_legacy_connector(struct drm_device *dev,
985 1092
986 radeon_connector->connector_id = connector_id; 1093 radeon_connector->connector_id = connector_id;
987 radeon_connector->devices = supported_device; 1094 radeon_connector->devices = supported_device;
1095 radeon_connector->connector_object_id = connector_object_id;
988 switch (connector_type) { 1096 switch (connector_type) {
989 case DRM_MODE_CONNECTOR_VGA: 1097 case DRM_MODE_CONNECTOR_VGA:
990 drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type); 1098 drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
@@ -1042,6 +1150,13 @@ radeon_add_legacy_connector(struct drm_device *dev,
1042 if (ret) 1150 if (ret)
1043 goto failed; 1151 goto failed;
1044 radeon_connector->dac_load_detect = true; 1152 radeon_connector->dac_load_detect = true;
1153 /* RS400,RC410,RS480 chipset seems to report a lot
1154 * of false positive on load detect, we haven't yet
1155 * found a way to make load detect reliable on those
1156 * chipset, thus just disable it for TV.
1157 */
1158 if (rdev->family == CHIP_RS400 || rdev->family == CHIP_RS480)
1159 radeon_connector->dac_load_detect = false;
1045 drm_connector_attach_property(&radeon_connector->base, 1160 drm_connector_attach_property(&radeon_connector->base,
1046 rdev->mode_info.load_detect_property, 1161 rdev->mode_info.load_detect_property,
1047 1); 1162 1);
diff --git a/drivers/gpu/drm/radeon/radeon_cursor.c b/drivers/gpu/drm/radeon/radeon_cursor.c
index b13c79e38bc0..28772a37009c 100644
--- a/drivers/gpu/drm/radeon/radeon_cursor.c
+++ b/drivers/gpu/drm/radeon/radeon_cursor.c
@@ -109,9 +109,15 @@ static void radeon_set_cursor(struct drm_crtc *crtc, struct drm_gem_object *obj,
109 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); 109 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
110 struct radeon_device *rdev = crtc->dev->dev_private; 110 struct radeon_device *rdev = crtc->dev->dev_private;
111 111
112 if (ASIC_IS_AVIVO(rdev)) 112 if (ASIC_IS_AVIVO(rdev)) {
113 if (rdev->family >= CHIP_RV770) {
114 if (radeon_crtc->crtc_id)
115 WREG32(R700_D2CUR_SURFACE_ADDRESS_HIGH, 0);
116 else
117 WREG32(R700_D1CUR_SURFACE_ADDRESS_HIGH, 0);
118 }
113 WREG32(AVIVO_D1CUR_SURFACE_ADDRESS + radeon_crtc->crtc_offset, gpu_addr); 119 WREG32(AVIVO_D1CUR_SURFACE_ADDRESS + radeon_crtc->crtc_offset, gpu_addr);
114 else { 120 } else {
115 radeon_crtc->legacy_cursor_offset = gpu_addr - radeon_crtc->legacy_display_base_addr; 121 radeon_crtc->legacy_cursor_offset = gpu_addr - radeon_crtc->legacy_display_base_addr;
116 /* offset is from DISP(2)_BASE_ADDRESS */ 122 /* offset is from DISP(2)_BASE_ADDRESS */
117 WREG32(RADEON_CUR_OFFSET + radeon_crtc->crtc_offset, radeon_crtc->legacy_cursor_offset); 123 WREG32(RADEON_CUR_OFFSET + radeon_crtc->crtc_offset, radeon_crtc->legacy_cursor_offset);
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index df988142e6b0..41bb76fbe734 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -444,20 +444,24 @@ static uint32_t cail_reg_read(struct card_info *info, uint32_t reg)
444 return r; 444 return r;
445} 445}
446 446
447static struct card_info atom_card_info = {
448 .dev = NULL,
449 .reg_read = cail_reg_read,
450 .reg_write = cail_reg_write,
451 .mc_read = cail_mc_read,
452 .mc_write = cail_mc_write,
453 .pll_read = cail_pll_read,
454 .pll_write = cail_pll_write,
455};
456
457int radeon_atombios_init(struct radeon_device *rdev) 447int radeon_atombios_init(struct radeon_device *rdev)
458{ 448{
459 atom_card_info.dev = rdev->ddev; 449 struct card_info *atom_card_info =
460 rdev->mode_info.atom_context = atom_parse(&atom_card_info, rdev->bios); 450 kzalloc(sizeof(struct card_info), GFP_KERNEL);
451
452 if (!atom_card_info)
453 return -ENOMEM;
454
455 rdev->mode_info.atom_card_info = atom_card_info;
456 atom_card_info->dev = rdev->ddev;
457 atom_card_info->reg_read = cail_reg_read;
458 atom_card_info->reg_write = cail_reg_write;
459 atom_card_info->mc_read = cail_mc_read;
460 atom_card_info->mc_write = cail_mc_write;
461 atom_card_info->pll_read = cail_pll_read;
462 atom_card_info->pll_write = cail_pll_write;
463
464 rdev->mode_info.atom_context = atom_parse(atom_card_info, rdev->bios);
461 radeon_atom_initialize_bios_scratch_regs(rdev->ddev); 465 radeon_atom_initialize_bios_scratch_regs(rdev->ddev);
462 return 0; 466 return 0;
463} 467}
@@ -465,6 +469,7 @@ int radeon_atombios_init(struct radeon_device *rdev)
465void radeon_atombios_fini(struct radeon_device *rdev) 469void radeon_atombios_fini(struct radeon_device *rdev)
466{ 470{
467 kfree(rdev->mode_info.atom_context); 471 kfree(rdev->mode_info.atom_context);
472 kfree(rdev->mode_info.atom_card_info);
468} 473}
469 474
470int radeon_combios_init(struct radeon_device *rdev) 475int radeon_combios_init(struct radeon_device *rdev)
@@ -683,6 +688,8 @@ int radeon_resume_kms(struct drm_device *dev)
683 return -1; 688 return -1;
684 } 689 }
685 pci_set_master(dev->pdev); 690 pci_set_master(dev->pdev);
691 /* resume AGP if in use */
692 radeon_agp_resume(rdev);
686 radeon_resume(rdev); 693 radeon_resume(rdev);
687 radeon_restore_bios_scratch_regs(rdev); 694 radeon_restore_bios_scratch_regs(rdev);
688 fb_set_suspend(rdev->fbdev_info, 0); 695 fb_set_suspend(rdev->fbdev_info, 0);
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 3655d91993a6..c85df4afcb7a 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -137,9 +137,6 @@ static void radeon_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
137 if (size != 256) { 137 if (size != 256) {
138 return; 138 return;
139 } 139 }
140 if (crtc->fb == NULL) {
141 return;
142 }
143 140
144 /* userspace palettes are always correct as is */ 141 /* userspace palettes are always correct as is */
145 for (i = 0; i < 256; i++) { 142 for (i = 0; i < 256; i++) {
@@ -147,7 +144,6 @@ static void radeon_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
147 radeon_crtc->lut_g[i] = green[i] >> 6; 144 radeon_crtc->lut_g[i] = green[i] >> 6;
148 radeon_crtc->lut_b[i] = blue[i] >> 6; 145 radeon_crtc->lut_b[i] = blue[i] >> 6;
149 } 146 }
150
151 radeon_crtc_load_lut(crtc); 147 radeon_crtc_load_lut(crtc);
152} 148}
153 149
@@ -338,27 +334,19 @@ static bool radeon_setup_enc_conn(struct drm_device *dev)
338 334
339int radeon_ddc_get_modes(struct radeon_connector *radeon_connector) 335int radeon_ddc_get_modes(struct radeon_connector *radeon_connector)
340{ 336{
341 struct edid *edid;
342 int ret = 0; 337 int ret = 0;
343 338
344 if (!radeon_connector->ddc_bus) 339 if (!radeon_connector->ddc_bus)
345 return -1; 340 return -1;
346 if (!radeon_connector->edid) { 341 if (!radeon_connector->edid) {
347 radeon_i2c_do_lock(radeon_connector, 1); 342 radeon_i2c_do_lock(radeon_connector, 1);
348 edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter); 343 radeon_connector->edid = drm_get_edid(&radeon_connector->base, &radeon_connector->ddc_bus->adapter);
349 radeon_i2c_do_lock(radeon_connector, 0); 344 radeon_i2c_do_lock(radeon_connector, 0);
350 } else 345 }
351 edid = radeon_connector->edid;
352 346
353 if (edid) { 347 if (radeon_connector->edid) {
354 /* update digital bits here */ 348 drm_mode_connector_update_edid_property(&radeon_connector->base, radeon_connector->edid);
355 if (edid->input & DRM_EDID_INPUT_DIGITAL) 349 ret = drm_add_edid_modes(&radeon_connector->base, radeon_connector->edid);
356 radeon_connector->use_digital = 1;
357 else
358 radeon_connector->use_digital = 0;
359 drm_mode_connector_update_edid_property(&radeon_connector->base, edid);
360 ret = drm_add_edid_modes(&radeon_connector->base, edid);
361 kfree(edid);
362 return ret; 350 return ret;
363 } 351 }
364 drm_mode_connector_update_edid_property(&radeon_connector->base, NULL); 352 drm_mode_connector_update_edid_property(&radeon_connector->base, NULL);
@@ -765,7 +753,7 @@ bool radeon_crtc_scaling_mode_fixup(struct drm_crtc *crtc,
765 radeon_crtc->rmx_type = radeon_encoder->rmx_type; 753 radeon_crtc->rmx_type = radeon_encoder->rmx_type;
766 memcpy(&radeon_crtc->native_mode, 754 memcpy(&radeon_crtc->native_mode,
767 &radeon_encoder->native_mode, 755 &radeon_encoder->native_mode,
768 sizeof(struct radeon_native_mode)); 756 sizeof(struct drm_display_mode));
769 first = false; 757 first = false;
770 } else { 758 } else {
771 if (radeon_crtc->rmx_type != radeon_encoder->rmx_type) { 759 if (radeon_crtc->rmx_type != radeon_encoder->rmx_type) {
@@ -783,10 +771,10 @@ bool radeon_crtc_scaling_mode_fixup(struct drm_crtc *crtc,
783 if (radeon_crtc->rmx_type != RMX_OFF) { 771 if (radeon_crtc->rmx_type != RMX_OFF) {
784 fixed20_12 a, b; 772 fixed20_12 a, b;
785 a.full = rfixed_const(crtc->mode.vdisplay); 773 a.full = rfixed_const(crtc->mode.vdisplay);
786 b.full = rfixed_const(radeon_crtc->native_mode.panel_xres); 774 b.full = rfixed_const(radeon_crtc->native_mode.hdisplay);
787 radeon_crtc->vsc.full = rfixed_div(a, b); 775 radeon_crtc->vsc.full = rfixed_div(a, b);
788 a.full = rfixed_const(crtc->mode.hdisplay); 776 a.full = rfixed_const(crtc->mode.hdisplay);
789 b.full = rfixed_const(radeon_crtc->native_mode.panel_yres); 777 b.full = rfixed_const(radeon_crtc->native_mode.vdisplay);
790 radeon_crtc->hsc.full = rfixed_div(a, b); 778 radeon_crtc->hsc.full = rfixed_div(a, b);
791 } else { 779 } else {
792 radeon_crtc->vsc.full = rfixed_const(1); 780 radeon_crtc->vsc.full = rfixed_const(1);
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
index a65ab1a0dad2..d42bc512d75a 100644
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
@@ -31,6 +31,10 @@
31 31
32extern int atom_debug; 32extern int atom_debug;
33 33
34/* evil but including atombios.h is much worse */
35bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index,
36 struct drm_display_mode *mode);
37
34uint32_t 38uint32_t
35radeon_get_encoder_id(struct drm_device *dev, uint32_t supported_device, uint8_t dac) 39radeon_get_encoder_id(struct drm_device *dev, uint32_t supported_device, uint8_t dac)
36{ 40{
@@ -167,49 +171,17 @@ void radeon_rmx_mode_fixup(struct drm_encoder *encoder,
167 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); 171 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
168 struct drm_device *dev = encoder->dev; 172 struct drm_device *dev = encoder->dev;
169 struct radeon_device *rdev = dev->dev_private; 173 struct radeon_device *rdev = dev->dev_private;
170 struct radeon_native_mode *native_mode = &radeon_encoder->native_mode; 174 struct drm_display_mode *native_mode = &radeon_encoder->native_mode;
171 175
172 if (mode->hdisplay < native_mode->panel_xres || 176 if (mode->hdisplay < native_mode->hdisplay ||
173 mode->vdisplay < native_mode->panel_yres) { 177 mode->vdisplay < native_mode->vdisplay) {
174 if (ASIC_IS_AVIVO(rdev)) { 178 int mode_id = adjusted_mode->base.id;
175 adjusted_mode->hdisplay = native_mode->panel_xres; 179 *adjusted_mode = *native_mode;
176 adjusted_mode->vdisplay = native_mode->panel_yres; 180 if (!ASIC_IS_AVIVO(rdev)) {
177 adjusted_mode->htotal = native_mode->panel_xres + native_mode->hblank; 181 adjusted_mode->hdisplay = mode->hdisplay;
178 adjusted_mode->hsync_start = native_mode->panel_xres + native_mode->hoverplus; 182 adjusted_mode->vdisplay = mode->vdisplay;
179 adjusted_mode->hsync_end = adjusted_mode->hsync_start + native_mode->hsync_width;
180 adjusted_mode->vtotal = native_mode->panel_yres + native_mode->vblank;
181 adjusted_mode->vsync_start = native_mode->panel_yres + native_mode->voverplus;
182 adjusted_mode->vsync_end = adjusted_mode->vsync_start + native_mode->vsync_width;
183 /* update crtc values */
184 drm_mode_set_crtcinfo(adjusted_mode, CRTC_INTERLACE_HALVE_V);
185 /* adjust crtc values */
186 adjusted_mode->crtc_hdisplay = native_mode->panel_xres;
187 adjusted_mode->crtc_vdisplay = native_mode->panel_yres;
188 adjusted_mode->crtc_htotal = adjusted_mode->crtc_hdisplay + native_mode->hblank;
189 adjusted_mode->crtc_hsync_start = adjusted_mode->crtc_hdisplay + native_mode->hoverplus;
190 adjusted_mode->crtc_hsync_end = adjusted_mode->crtc_hsync_start + native_mode->hsync_width;
191 adjusted_mode->crtc_vtotal = adjusted_mode->crtc_vdisplay + native_mode->vblank;
192 adjusted_mode->crtc_vsync_start = adjusted_mode->crtc_vdisplay + native_mode->voverplus;
193 adjusted_mode->crtc_vsync_end = adjusted_mode->crtc_vsync_start + native_mode->vsync_width;
194 } else {
195 adjusted_mode->htotal = native_mode->panel_xres + native_mode->hblank;
196 adjusted_mode->hsync_start = native_mode->panel_xres + native_mode->hoverplus;
197 adjusted_mode->hsync_end = adjusted_mode->hsync_start + native_mode->hsync_width;
198 adjusted_mode->vtotal = native_mode->panel_yres + native_mode->vblank;
199 adjusted_mode->vsync_start = native_mode->panel_yres + native_mode->voverplus;
200 adjusted_mode->vsync_end = adjusted_mode->vsync_start + native_mode->vsync_width;
201 /* update crtc values */
202 drm_mode_set_crtcinfo(adjusted_mode, CRTC_INTERLACE_HALVE_V);
203 /* adjust crtc values */
204 adjusted_mode->crtc_htotal = adjusted_mode->crtc_hdisplay + native_mode->hblank;
205 adjusted_mode->crtc_hsync_start = adjusted_mode->crtc_hdisplay + native_mode->hoverplus;
206 adjusted_mode->crtc_hsync_end = adjusted_mode->crtc_hsync_start + native_mode->hsync_width;
207 adjusted_mode->crtc_vtotal = adjusted_mode->crtc_vdisplay + native_mode->vblank;
208 adjusted_mode->crtc_vsync_start = adjusted_mode->crtc_vdisplay + native_mode->voverplus;
209 adjusted_mode->crtc_vsync_end = adjusted_mode->crtc_vsync_start + native_mode->vsync_width;
210 } 183 }
211 adjusted_mode->flags = native_mode->flags; 184 adjusted_mode->base.id = mode_id;
212 adjusted_mode->clock = native_mode->dotclock;
213 } 185 }
214} 186}
215 187
@@ -219,7 +191,11 @@ static bool radeon_atom_mode_fixup(struct drm_encoder *encoder,
219 struct drm_display_mode *adjusted_mode) 191 struct drm_display_mode *adjusted_mode)
220{ 192{
221 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); 193 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
194 struct drm_device *dev = encoder->dev;
195 struct radeon_device *rdev = dev->dev_private;
222 196
197 /* set the active encoder to connector routing */
198 radeon_encoder_set_active_device(encoder);
223 drm_mode_set_crtcinfo(adjusted_mode, 0); 199 drm_mode_set_crtcinfo(adjusted_mode, 0);
224 200
225 if (radeon_encoder->rmx_type != RMX_OFF) 201 if (radeon_encoder->rmx_type != RMX_OFF)
@@ -230,6 +206,18 @@ static bool radeon_atom_mode_fixup(struct drm_encoder *encoder,
230 && (mode->crtc_vsync_start < (mode->crtc_vdisplay + 2))) 206 && (mode->crtc_vsync_start < (mode->crtc_vdisplay + 2)))
231 adjusted_mode->crtc_vsync_start = adjusted_mode->crtc_vdisplay + 2; 207 adjusted_mode->crtc_vsync_start = adjusted_mode->crtc_vdisplay + 2;
232 208
209 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) {
210 struct radeon_encoder_atom_dac *tv_dac = radeon_encoder->enc_priv;
211 if (tv_dac) {
212 if (tv_dac->tv_std == TV_STD_NTSC ||
213 tv_dac->tv_std == TV_STD_NTSC_J ||
214 tv_dac->tv_std == TV_STD_PAL_M)
215 radeon_atom_get_tv_timings(rdev, 0, adjusted_mode);
216 else
217 radeon_atom_get_tv_timings(rdev, 1, adjusted_mode);
218 }
219 }
220
233 return true; 221 return true;
234} 222}
235 223
@@ -461,7 +449,7 @@ atombios_digital_setup(struct drm_encoder *encoder, int action)
461 case 1: 449 case 1:
462 args.v1.ucMisc = 0; 450 args.v1.ucMisc = 0;
463 args.v1.ucAction = action; 451 args.v1.ucAction = action;
464 if (drm_detect_hdmi_monitor((struct edid *)connector->edid_blob_ptr)) 452 if (drm_detect_hdmi_monitor(radeon_connector->edid))
465 args.v1.ucMisc |= PANEL_ENCODER_MISC_HDMI_TYPE; 453 args.v1.ucMisc |= PANEL_ENCODER_MISC_HDMI_TYPE;
466 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); 454 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
467 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { 455 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
@@ -486,7 +474,7 @@ atombios_digital_setup(struct drm_encoder *encoder, int action)
486 if (dig->coherent_mode) 474 if (dig->coherent_mode)
487 args.v2.ucMisc |= PANEL_ENCODER_MISC_COHERENT; 475 args.v2.ucMisc |= PANEL_ENCODER_MISC_COHERENT;
488 } 476 }
489 if (drm_detect_hdmi_monitor((struct edid *)connector->edid_blob_ptr)) 477 if (drm_detect_hdmi_monitor(radeon_connector->edid))
490 args.v2.ucMisc |= PANEL_ENCODER_MISC_HDMI_TYPE; 478 args.v2.ucMisc |= PANEL_ENCODER_MISC_HDMI_TYPE;
491 args.v2.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); 479 args.v2.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
492 args.v2.ucTruncate = 0; 480 args.v2.ucTruncate = 0;
@@ -544,7 +532,7 @@ atombios_get_encoder_mode(struct drm_encoder *encoder)
544 switch (connector->connector_type) { 532 switch (connector->connector_type) {
545 case DRM_MODE_CONNECTOR_DVII: 533 case DRM_MODE_CONNECTOR_DVII:
546 case DRM_MODE_CONNECTOR_HDMIB: /* HDMI-B is basically DL-DVI; analog works fine */ 534 case DRM_MODE_CONNECTOR_HDMIB: /* HDMI-B is basically DL-DVI; analog works fine */
547 if (drm_detect_hdmi_monitor((struct edid *)connector->edid_blob_ptr)) 535 if (drm_detect_hdmi_monitor(radeon_connector->edid))
548 return ATOM_ENCODER_MODE_HDMI; 536 return ATOM_ENCODER_MODE_HDMI;
549 else if (radeon_connector->use_digital) 537 else if (radeon_connector->use_digital)
550 return ATOM_ENCODER_MODE_DVI; 538 return ATOM_ENCODER_MODE_DVI;
@@ -554,7 +542,7 @@ atombios_get_encoder_mode(struct drm_encoder *encoder)
554 case DRM_MODE_CONNECTOR_DVID: 542 case DRM_MODE_CONNECTOR_DVID:
555 case DRM_MODE_CONNECTOR_HDMIA: 543 case DRM_MODE_CONNECTOR_HDMIA:
556 default: 544 default:
557 if (drm_detect_hdmi_monitor((struct edid *)connector->edid_blob_ptr)) 545 if (drm_detect_hdmi_monitor(radeon_connector->edid))
558 return ATOM_ENCODER_MODE_HDMI; 546 return ATOM_ENCODER_MODE_HDMI;
559 else 547 else
560 return ATOM_ENCODER_MODE_DVI; 548 return ATOM_ENCODER_MODE_DVI;
@@ -566,7 +554,7 @@ atombios_get_encoder_mode(struct drm_encoder *encoder)
566 /*if (radeon_output->MonType == MT_DP) 554 /*if (radeon_output->MonType == MT_DP)
567 return ATOM_ENCODER_MODE_DP; 555 return ATOM_ENCODER_MODE_DP;
568 else*/ 556 else*/
569 if (drm_detect_hdmi_monitor((struct edid *)connector->edid_blob_ptr)) 557 if (drm_detect_hdmi_monitor(radeon_connector->edid))
570 return ATOM_ENCODER_MODE_HDMI; 558 return ATOM_ENCODER_MODE_HDMI;
571 else 559 else
572 return ATOM_ENCODER_MODE_DVI; 560 return ATOM_ENCODER_MODE_DVI;
@@ -734,14 +722,17 @@ atombios_dig_transmitter_setup(struct drm_encoder *encoder, int action)
734 atom_parse_cmd_header(rdev->mode_info.atom_context, index, &frev, &crev); 722 atom_parse_cmd_header(rdev->mode_info.atom_context, index, &frev, &crev);
735 723
736 args.v1.ucAction = action; 724 args.v1.ucAction = action;
737 725 if (action == ATOM_TRANSMITTER_ACTION_INIT) {
726 args.v1.usInitInfo = radeon_connector->connector_object_id;
727 } else {
728 if (radeon_encoder->pixel_clock > 165000)
729 args.v1.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10);
730 else
731 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
732 }
738 if (ASIC_IS_DCE32(rdev)) { 733 if (ASIC_IS_DCE32(rdev)) {
739 if (radeon_encoder->pixel_clock > 165000) { 734 if (radeon_encoder->pixel_clock > 165000)
740 args.v2.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock * 10 * 2) / 100); 735 args.v2.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10);
741 args.v2.acConfig.fDualLinkConnector = 1;
742 } else {
743 args.v2.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock * 10 * 4) / 100);
744 }
745 if (dig->dig_block) 736 if (dig->dig_block)
746 args.v2.acConfig.ucEncoderSel = 1; 737 args.v2.acConfig.ucEncoderSel = 1;
747 738
@@ -766,7 +757,6 @@ atombios_dig_transmitter_setup(struct drm_encoder *encoder, int action)
766 } 757 }
767 } else { 758 } else {
768 args.v1.ucConfig = ATOM_TRANSMITTER_CONFIG_CLKSRC_PPLL; 759 args.v1.ucConfig = ATOM_TRANSMITTER_CONFIG_CLKSRC_PPLL;
769 args.v1.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock) / 10);
770 760
771 switch (radeon_encoder->encoder_id) { 761 switch (radeon_encoder->encoder_id) {
772 case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: 762 case ENCODER_OBJECT_ID_INTERNAL_UNIPHY:
@@ -874,16 +864,9 @@ radeon_atom_encoder_dpms(struct drm_encoder *encoder, int mode)
874 DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION args; 864 DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION args;
875 int index = 0; 865 int index = 0;
876 bool is_dig = false; 866 bool is_dig = false;
877 int devices;
878 867
879 memset(&args, 0, sizeof(args)); 868 memset(&args, 0, sizeof(args));
880 869
881 /* on DPMS off we have no idea if active device is meaningful */
882 if (mode != DRM_MODE_DPMS_ON && !radeon_encoder->active_device)
883 devices = radeon_encoder->devices;
884 else
885 devices = radeon_encoder->active_device;
886
887 DRM_DEBUG("encoder dpms %d to mode %d, devices %08x, active_devices %08x\n", 870 DRM_DEBUG("encoder dpms %d to mode %d, devices %08x, active_devices %08x\n",
888 radeon_encoder->encoder_id, mode, radeon_encoder->devices, 871 radeon_encoder->encoder_id, mode, radeon_encoder->devices,
889 radeon_encoder->active_device); 872 radeon_encoder->active_device);
@@ -914,18 +897,18 @@ radeon_atom_encoder_dpms(struct drm_encoder *encoder, int mode)
914 break; 897 break;
915 case ENCODER_OBJECT_ID_INTERNAL_DAC1: 898 case ENCODER_OBJECT_ID_INTERNAL_DAC1:
916 case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1: 899 case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1:
917 if (devices & (ATOM_DEVICE_TV_SUPPORT)) 900 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
918 index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl); 901 index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl);
919 else if (devices & (ATOM_DEVICE_CV_SUPPORT)) 902 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
920 index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl); 903 index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl);
921 else 904 else
922 index = GetIndexIntoMasterTable(COMMAND, DAC1OutputControl); 905 index = GetIndexIntoMasterTable(COMMAND, DAC1OutputControl);
923 break; 906 break;
924 case ENCODER_OBJECT_ID_INTERNAL_DAC2: 907 case ENCODER_OBJECT_ID_INTERNAL_DAC2:
925 case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2: 908 case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2:
926 if (devices & (ATOM_DEVICE_TV_SUPPORT)) 909 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
927 index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl); 910 index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl);
928 else if (devices & (ATOM_DEVICE_CV_SUPPORT)) 911 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
929 index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl); 912 index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl);
930 else 913 else
931 index = GetIndexIntoMasterTable(COMMAND, DAC2OutputControl); 914 index = GetIndexIntoMasterTable(COMMAND, DAC2OutputControl);
@@ -1104,8 +1087,11 @@ atombios_apply_encoder_quirks(struct drm_encoder *encoder,
1104 } 1087 }
1105 1088
1106 /* set scaler clears this on some chips */ 1089 /* set scaler clears this on some chips */
1107 if (ASIC_IS_AVIVO(rdev) && (mode->flags & DRM_MODE_FLAG_INTERLACE)) 1090 if (!(radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))) {
1108 WREG32(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset, AVIVO_D1MODE_INTERLEAVE_EN); 1091 if (ASIC_IS_AVIVO(rdev) && (mode->flags & DRM_MODE_FLAG_INTERLACE))
1092 WREG32(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset,
1093 AVIVO_D1MODE_INTERLEAVE_EN);
1094 }
1109} 1095}
1110 1096
1111static void 1097static void
@@ -1153,6 +1139,7 @@ radeon_atom_encoder_mode_set(struct drm_encoder *encoder,
1153 1139
1154 /* setup and enable the encoder and transmitter */ 1140 /* setup and enable the encoder and transmitter */
1155 atombios_dig_encoder_setup(encoder, ATOM_ENABLE); 1141 atombios_dig_encoder_setup(encoder, ATOM_ENABLE);
1142 atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_INIT);
1156 atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_SETUP); 1143 atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_SETUP);
1157 atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE); 1144 atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE);
1158 break; 1145 break;
@@ -1268,8 +1255,6 @@ static void radeon_atom_encoder_prepare(struct drm_encoder *encoder)
1268{ 1255{
1269 radeon_atom_output_lock(encoder, true); 1256 radeon_atom_output_lock(encoder, true);
1270 radeon_atom_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); 1257 radeon_atom_encoder_dpms(encoder, DRM_MODE_DPMS_OFF);
1271
1272 radeon_encoder_set_active_device(encoder);
1273} 1258}
1274 1259
1275static void radeon_atom_encoder_commit(struct drm_encoder *encoder) 1260static void radeon_atom_encoder_commit(struct drm_encoder *encoder)
diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c
index a931af065dd4..a68d7566178c 100644
--- a/drivers/gpu/drm/radeon/radeon_gart.c
+++ b/drivers/gpu/drm/radeon/radeon_gart.c
@@ -140,15 +140,15 @@ void radeon_gart_unbind(struct radeon_device *rdev, unsigned offset,
140 WARN(1, "trying to unbind memory to unitialized GART !\n"); 140 WARN(1, "trying to unbind memory to unitialized GART !\n");
141 return; 141 return;
142 } 142 }
143 t = offset / 4096; 143 t = offset / RADEON_GPU_PAGE_SIZE;
144 p = t / (PAGE_SIZE / 4096); 144 p = t / (PAGE_SIZE / RADEON_GPU_PAGE_SIZE);
145 for (i = 0; i < pages; i++, p++) { 145 for (i = 0; i < pages; i++, p++) {
146 if (rdev->gart.pages[p]) { 146 if (rdev->gart.pages[p]) {
147 pci_unmap_page(rdev->pdev, rdev->gart.pages_addr[p], 147 pci_unmap_page(rdev->pdev, rdev->gart.pages_addr[p],
148 PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); 148 PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
149 rdev->gart.pages[p] = NULL; 149 rdev->gart.pages[p] = NULL;
150 rdev->gart.pages_addr[p] = 0; 150 rdev->gart.pages_addr[p] = 0;
151 for (j = 0; j < (PAGE_SIZE / 4096); j++, t++) { 151 for (j = 0; j < (PAGE_SIZE / RADEON_GPU_PAGE_SIZE); j++, t++) {
152 radeon_gart_set_page(rdev, t, 0); 152 radeon_gart_set_page(rdev, t, 0);
153 } 153 }
154 } 154 }
@@ -169,8 +169,8 @@ int radeon_gart_bind(struct radeon_device *rdev, unsigned offset,
169 DRM_ERROR("trying to bind memory to unitialized GART !\n"); 169 DRM_ERROR("trying to bind memory to unitialized GART !\n");
170 return -EINVAL; 170 return -EINVAL;
171 } 171 }
172 t = offset / 4096; 172 t = offset / RADEON_GPU_PAGE_SIZE;
173 p = t / (PAGE_SIZE / 4096); 173 p = t / (PAGE_SIZE / RADEON_GPU_PAGE_SIZE);
174 174
175 for (i = 0; i < pages; i++, p++) { 175 for (i = 0; i < pages; i++, p++) {
176 /* we need to support large memory configurations */ 176 /* we need to support large memory configurations */
@@ -185,9 +185,9 @@ int radeon_gart_bind(struct radeon_device *rdev, unsigned offset,
185 } 185 }
186 rdev->gart.pages[p] = pagelist[i]; 186 rdev->gart.pages[p] = pagelist[i];
187 page_base = rdev->gart.pages_addr[p]; 187 page_base = rdev->gart.pages_addr[p];
188 for (j = 0; j < (PAGE_SIZE / 4096); j++, t++) { 188 for (j = 0; j < (PAGE_SIZE / RADEON_GPU_PAGE_SIZE); j++, t++) {
189 radeon_gart_set_page(rdev, t, page_base); 189 radeon_gart_set_page(rdev, t, page_base);
190 page_base += 4096; 190 page_base += RADEON_GPU_PAGE_SIZE;
191 } 191 }
192 } 192 }
193 mb(); 193 mb();
@@ -200,14 +200,14 @@ int radeon_gart_init(struct radeon_device *rdev)
200 if (rdev->gart.pages) { 200 if (rdev->gart.pages) {
201 return 0; 201 return 0;
202 } 202 }
203 /* We need PAGE_SIZE >= 4096 */ 203 /* We need PAGE_SIZE >= RADEON_GPU_PAGE_SIZE */
204 if (PAGE_SIZE < 4096) { 204 if (PAGE_SIZE < RADEON_GPU_PAGE_SIZE) {
205 DRM_ERROR("Page size is smaller than GPU page size!\n"); 205 DRM_ERROR("Page size is smaller than GPU page size!\n");
206 return -EINVAL; 206 return -EINVAL;
207 } 207 }
208 /* Compute table size */ 208 /* Compute table size */
209 rdev->gart.num_cpu_pages = rdev->mc.gtt_size / PAGE_SIZE; 209 rdev->gart.num_cpu_pages = rdev->mc.gtt_size / PAGE_SIZE;
210 rdev->gart.num_gpu_pages = rdev->mc.gtt_size / 4096; 210 rdev->gart.num_gpu_pages = rdev->mc.gtt_size / RADEON_GPU_PAGE_SIZE;
211 DRM_INFO("GART: num cpu pages %u, num gpu pages %u\n", 211 DRM_INFO("GART: num cpu pages %u, num gpu pages %u\n",
212 rdev->gart.num_cpu_pages, rdev->gart.num_gpu_pages); 212 rdev->gart.num_cpu_pages, rdev->gart.num_gpu_pages);
213 /* Allocate pages table */ 213 /* Allocate pages table */
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 8e0a8759e428..a0fe6232dcb6 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -92,6 +92,13 @@ int radeon_irq_kms_init(struct radeon_device *rdev)
92 if (r) { 92 if (r) {
93 return r; 93 return r;
94 } 94 }
95 /* enable msi */
96 rdev->msi_enabled = 0;
97 if (rdev->family >= CHIP_RV380) {
98 int ret = pci_enable_msi(rdev->pdev);
99 if (!ret)
100 rdev->msi_enabled = 1;
101 }
95 drm_irq_install(rdev->ddev); 102 drm_irq_install(rdev->ddev);
96 rdev->irq.installed = true; 103 rdev->irq.installed = true;
97 DRM_INFO("radeon: irq initialized.\n"); 104 DRM_INFO("radeon: irq initialized.\n");
@@ -103,5 +110,7 @@ void radeon_irq_kms_fini(struct radeon_device *rdev)
103 if (rdev->irq.installed) { 110 if (rdev->irq.installed) {
104 rdev->irq.installed = false; 111 rdev->irq.installed = false;
105 drm_irq_uninstall(rdev->ddev); 112 drm_irq_uninstall(rdev->ddev);
113 if (rdev->msi_enabled)
114 pci_disable_msi(rdev->pdev);
106 } 115 }
107} 116}
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
index 36410f85d705..8d0b7aa87fa4 100644
--- a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
+++ b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
@@ -48,7 +48,7 @@ static void radeon_legacy_rmx_mode_set(struct drm_crtc *crtc,
48 u32 fp_horz_stretch, fp_vert_stretch, fp_horz_vert_active; 48 u32 fp_horz_stretch, fp_vert_stretch, fp_horz_vert_active;
49 u32 fp_h_sync_strt_wid, fp_crtc_h_total_disp; 49 u32 fp_h_sync_strt_wid, fp_crtc_h_total_disp;
50 u32 fp_v_sync_strt_wid, fp_crtc_v_total_disp; 50 u32 fp_v_sync_strt_wid, fp_crtc_v_total_disp;
51 struct radeon_native_mode *native_mode = &radeon_crtc->native_mode; 51 struct drm_display_mode *native_mode = &radeon_crtc->native_mode;
52 52
53 fp_vert_stretch = RREG32(RADEON_FP_VERT_STRETCH) & 53 fp_vert_stretch = RREG32(RADEON_FP_VERT_STRETCH) &
54 (RADEON_VERT_STRETCH_RESERVED | 54 (RADEON_VERT_STRETCH_RESERVED |
@@ -95,19 +95,19 @@ static void radeon_legacy_rmx_mode_set(struct drm_crtc *crtc,
95 95
96 fp_horz_vert_active = 0; 96 fp_horz_vert_active = 0;
97 97
98 if (native_mode->panel_xres == 0 || 98 if (native_mode->hdisplay == 0 ||
99 native_mode->panel_yres == 0) { 99 native_mode->vdisplay == 0) {
100 hscale = false; 100 hscale = false;
101 vscale = false; 101 vscale = false;
102 } else { 102 } else {
103 if (xres > native_mode->panel_xres) 103 if (xres > native_mode->hdisplay)
104 xres = native_mode->panel_xres; 104 xres = native_mode->hdisplay;
105 if (yres > native_mode->panel_yres) 105 if (yres > native_mode->vdisplay)
106 yres = native_mode->panel_yres; 106 yres = native_mode->vdisplay;
107 107
108 if (xres == native_mode->panel_xres) 108 if (xres == native_mode->hdisplay)
109 hscale = false; 109 hscale = false;
110 if (yres == native_mode->panel_yres) 110 if (yres == native_mode->vdisplay)
111 vscale = false; 111 vscale = false;
112 } 112 }
113 113
@@ -119,11 +119,11 @@ static void radeon_legacy_rmx_mode_set(struct drm_crtc *crtc,
119 else { 119 else {
120 inc = (fp_horz_stretch & RADEON_HORZ_AUTO_RATIO_INC) ? 1 : 0; 120 inc = (fp_horz_stretch & RADEON_HORZ_AUTO_RATIO_INC) ? 1 : 0;
121 scale = ((xres + inc) * RADEON_HORZ_STRETCH_RATIO_MAX) 121 scale = ((xres + inc) * RADEON_HORZ_STRETCH_RATIO_MAX)
122 / native_mode->panel_xres + 1; 122 / native_mode->hdisplay + 1;
123 fp_horz_stretch |= (((scale) & RADEON_HORZ_STRETCH_RATIO_MASK) | 123 fp_horz_stretch |= (((scale) & RADEON_HORZ_STRETCH_RATIO_MASK) |
124 RADEON_HORZ_STRETCH_BLEND | 124 RADEON_HORZ_STRETCH_BLEND |
125 RADEON_HORZ_STRETCH_ENABLE | 125 RADEON_HORZ_STRETCH_ENABLE |
126 ((native_mode->panel_xres/8-1) << 16)); 126 ((native_mode->hdisplay/8-1) << 16));
127 } 127 }
128 128
129 if (!vscale) 129 if (!vscale)
@@ -131,11 +131,11 @@ static void radeon_legacy_rmx_mode_set(struct drm_crtc *crtc,
131 else { 131 else {
132 inc = (fp_vert_stretch & RADEON_VERT_AUTO_RATIO_INC) ? 1 : 0; 132 inc = (fp_vert_stretch & RADEON_VERT_AUTO_RATIO_INC) ? 1 : 0;
133 scale = ((yres + inc) * RADEON_VERT_STRETCH_RATIO_MAX) 133 scale = ((yres + inc) * RADEON_VERT_STRETCH_RATIO_MAX)
134 / native_mode->panel_yres + 1; 134 / native_mode->vdisplay + 1;
135 fp_vert_stretch |= (((scale) & RADEON_VERT_STRETCH_RATIO_MASK) | 135 fp_vert_stretch |= (((scale) & RADEON_VERT_STRETCH_RATIO_MASK) |
136 RADEON_VERT_STRETCH_ENABLE | 136 RADEON_VERT_STRETCH_ENABLE |
137 RADEON_VERT_STRETCH_BLEND | 137 RADEON_VERT_STRETCH_BLEND |
138 ((native_mode->panel_yres-1) << 12)); 138 ((native_mode->vdisplay-1) << 12));
139 } 139 }
140 break; 140 break;
141 case RMX_CENTER: 141 case RMX_CENTER:
@@ -175,8 +175,8 @@ static void radeon_legacy_rmx_mode_set(struct drm_crtc *crtc,
175 ? RADEON_CRTC_V_SYNC_POL 175 ? RADEON_CRTC_V_SYNC_POL
176 : 0))); 176 : 0)));
177 177
178 fp_horz_vert_active = (((native_mode->panel_yres) & 0xfff) | 178 fp_horz_vert_active = (((native_mode->vdisplay) & 0xfff) |
179 (((native_mode->panel_xres / 8) & 0x1ff) << 16)); 179 (((native_mode->hdisplay / 8) & 0x1ff) << 16));
180 break; 180 break;
181 case RMX_OFF: 181 case RMX_OFF:
182 default: 182 default:
@@ -532,6 +532,10 @@ int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y,
532 radeon_fb = to_radeon_framebuffer(old_fb); 532 radeon_fb = to_radeon_framebuffer(old_fb);
533 radeon_gem_object_unpin(radeon_fb->obj); 533 radeon_gem_object_unpin(radeon_fb->obj);
534 } 534 }
535
536 /* Bytes per pixel may have changed */
537 radeon_bandwidth_update(rdev);
538
535 return 0; 539 return 0;
536} 540}
537 541
@@ -664,6 +668,9 @@ static bool radeon_set_crtc_timing(struct drm_crtc *crtc, struct drm_display_mod
664 668
665 WREG32(RADEON_DISP2_MERGE_CNTL, disp2_merge_cntl); 669 WREG32(RADEON_DISP2_MERGE_CNTL, disp2_merge_cntl);
666 WREG32(RADEON_CRTC2_GEN_CNTL, crtc2_gen_cntl); 670 WREG32(RADEON_CRTC2_GEN_CNTL, crtc2_gen_cntl);
671
672 WREG32(RADEON_FP_H2_SYNC_STRT_WID, crtc_h_sync_strt_wid);
673 WREG32(RADEON_FP_V2_SYNC_STRT_WID, crtc_v_sync_strt_wid);
667 } else { 674 } else {
668 uint32_t crtc_gen_cntl; 675 uint32_t crtc_gen_cntl;
669 uint32_t crtc_ext_cntl; 676 uint32_t crtc_ext_cntl;
@@ -1015,14 +1022,11 @@ static int radeon_crtc_mode_set(struct drm_crtc *crtc,
1015 int x, int y, struct drm_framebuffer *old_fb) 1022 int x, int y, struct drm_framebuffer *old_fb)
1016{ 1023{
1017 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); 1024 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
1018 struct drm_device *dev = crtc->dev;
1019 struct radeon_device *rdev = dev->dev_private;
1020 1025
1021 /* TODO TV */ 1026 /* TODO TV */
1022 radeon_crtc_set_base(crtc, x, y, old_fb); 1027 radeon_crtc_set_base(crtc, x, y, old_fb);
1023 radeon_set_crtc_timing(crtc, adjusted_mode); 1028 radeon_set_crtc_timing(crtc, adjusted_mode);
1024 radeon_set_pll(crtc, adjusted_mode); 1029 radeon_set_pll(crtc, adjusted_mode);
1025 radeon_bandwidth_update(rdev);
1026 if (radeon_crtc->crtc_id == 0) { 1030 if (radeon_crtc->crtc_id == 0) {
1027 radeon_legacy_rmx_mode_set(crtc, mode, adjusted_mode); 1031 radeon_legacy_rmx_mode_set(crtc, mode, adjusted_mode);
1028 } else { 1032 } else {
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
index 6ceb958fd194..00382122869b 100644
--- a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
@@ -107,8 +107,6 @@ static void radeon_legacy_lvds_prepare(struct drm_encoder *encoder)
107 else 107 else
108 radeon_combios_output_lock(encoder, true); 108 radeon_combios_output_lock(encoder, true);
109 radeon_legacy_lvds_dpms(encoder, DRM_MODE_DPMS_OFF); 109 radeon_legacy_lvds_dpms(encoder, DRM_MODE_DPMS_OFF);
110
111 radeon_encoder_set_active_device(encoder);
112} 110}
113 111
114static void radeon_legacy_lvds_commit(struct drm_encoder *encoder) 112static void radeon_legacy_lvds_commit(struct drm_encoder *encoder)
@@ -192,6 +190,8 @@ static bool radeon_legacy_lvds_mode_fixup(struct drm_encoder *encoder,
192{ 190{
193 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); 191 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
194 192
193 /* set the active encoder to connector routing */
194 radeon_encoder_set_active_device(encoder);
195 drm_mode_set_crtcinfo(adjusted_mode, 0); 195 drm_mode_set_crtcinfo(adjusted_mode, 0);
196 196
197 if (radeon_encoder->rmx_type != RMX_OFF) 197 if (radeon_encoder->rmx_type != RMX_OFF)
@@ -218,7 +218,8 @@ static bool radeon_legacy_primary_dac_mode_fixup(struct drm_encoder *encoder,
218 struct drm_display_mode *mode, 218 struct drm_display_mode *mode,
219 struct drm_display_mode *adjusted_mode) 219 struct drm_display_mode *adjusted_mode)
220{ 220{
221 221 /* set the active encoder to connector routing */
222 radeon_encoder_set_active_device(encoder);
222 drm_mode_set_crtcinfo(adjusted_mode, 0); 223 drm_mode_set_crtcinfo(adjusted_mode, 0);
223 224
224 return true; 225 return true;
@@ -272,7 +273,6 @@ static void radeon_legacy_primary_dac_prepare(struct drm_encoder *encoder)
272 else 273 else
273 radeon_combios_output_lock(encoder, true); 274 radeon_combios_output_lock(encoder, true);
274 radeon_legacy_primary_dac_dpms(encoder, DRM_MODE_DPMS_OFF); 275 radeon_legacy_primary_dac_dpms(encoder, DRM_MODE_DPMS_OFF);
275 radeon_encoder_set_active_device(encoder);
276} 276}
277 277
278static void radeon_legacy_primary_dac_commit(struct drm_encoder *encoder) 278static void radeon_legacy_primary_dac_commit(struct drm_encoder *encoder)
@@ -468,7 +468,6 @@ static void radeon_legacy_tmds_int_prepare(struct drm_encoder *encoder)
468 else 468 else
469 radeon_combios_output_lock(encoder, true); 469 radeon_combios_output_lock(encoder, true);
470 radeon_legacy_tmds_int_dpms(encoder, DRM_MODE_DPMS_OFF); 470 radeon_legacy_tmds_int_dpms(encoder, DRM_MODE_DPMS_OFF);
471 radeon_encoder_set_active_device(encoder);
472} 471}
473 472
474static void radeon_legacy_tmds_int_commit(struct drm_encoder *encoder) 473static void radeon_legacy_tmds_int_commit(struct drm_encoder *encoder)
@@ -543,6 +542,14 @@ static void radeon_legacy_tmds_int_mode_set(struct drm_encoder *encoder,
543 542
544 fp_gen_cntl &= ~(RADEON_FP_FPON | RADEON_FP_TMDS_EN); 543 fp_gen_cntl &= ~(RADEON_FP_FPON | RADEON_FP_TMDS_EN);
545 544
545 fp_gen_cntl &= ~(RADEON_FP_RMX_HVSYNC_CONTROL_EN |
546 RADEON_FP_DFP_SYNC_SEL |
547 RADEON_FP_CRT_SYNC_SEL |
548 RADEON_FP_CRTC_LOCK_8DOT |
549 RADEON_FP_USE_SHADOW_EN |
550 RADEON_FP_CRTC_USE_SHADOW_VEND |
551 RADEON_FP_CRT_SYNC_ALT);
552
546 if (1) /* FIXME rgbBits == 8 */ 553 if (1) /* FIXME rgbBits == 8 */
547 fp_gen_cntl |= RADEON_FP_PANEL_FORMAT; /* 24 bit format */ 554 fp_gen_cntl |= RADEON_FP_PANEL_FORMAT; /* 24 bit format */
548 else 555 else
@@ -556,7 +563,7 @@ static void radeon_legacy_tmds_int_mode_set(struct drm_encoder *encoder,
556 else 563 else
557 fp_gen_cntl |= R200_FP_SOURCE_SEL_CRTC1; 564 fp_gen_cntl |= R200_FP_SOURCE_SEL_CRTC1;
558 } else 565 } else
559 fp_gen_cntl |= RADEON_FP_SEL_CRTC1; 566 fp_gen_cntl &= ~RADEON_FP_SEL_CRTC2;
560 } else { 567 } else {
561 if (ASIC_IS_R300(rdev) || rdev->family == CHIP_R200) { 568 if (ASIC_IS_R300(rdev) || rdev->family == CHIP_R200) {
562 fp_gen_cntl &= ~R200_FP_SOURCE_SEL_MASK; 569 fp_gen_cntl &= ~R200_FP_SOURCE_SEL_MASK;
@@ -593,7 +600,8 @@ static bool radeon_legacy_tmds_ext_mode_fixup(struct drm_encoder *encoder,
593 struct drm_display_mode *mode, 600 struct drm_display_mode *mode,
594 struct drm_display_mode *adjusted_mode) 601 struct drm_display_mode *adjusted_mode)
595{ 602{
596 603 /* set the active encoder to connector routing */
604 radeon_encoder_set_active_device(encoder);
597 drm_mode_set_crtcinfo(adjusted_mode, 0); 605 drm_mode_set_crtcinfo(adjusted_mode, 0);
598 606
599 return true; 607 return true;
@@ -636,7 +644,6 @@ static void radeon_legacy_tmds_ext_prepare(struct drm_encoder *encoder)
636 else 644 else
637 radeon_combios_output_lock(encoder, true); 645 radeon_combios_output_lock(encoder, true);
638 radeon_legacy_tmds_ext_dpms(encoder, DRM_MODE_DPMS_OFF); 646 radeon_legacy_tmds_ext_dpms(encoder, DRM_MODE_DPMS_OFF);
639 radeon_encoder_set_active_device(encoder);
640} 647}
641 648
642static void radeon_legacy_tmds_ext_commit(struct drm_encoder *encoder) 649static void radeon_legacy_tmds_ext_commit(struct drm_encoder *encoder)
@@ -735,7 +742,8 @@ static bool radeon_legacy_tv_dac_mode_fixup(struct drm_encoder *encoder,
735 struct drm_display_mode *mode, 742 struct drm_display_mode *mode,
736 struct drm_display_mode *adjusted_mode) 743 struct drm_display_mode *adjusted_mode)
737{ 744{
738 745 /* set the active encoder to connector routing */
746 radeon_encoder_set_active_device(encoder);
739 drm_mode_set_crtcinfo(adjusted_mode, 0); 747 drm_mode_set_crtcinfo(adjusted_mode, 0);
740 748
741 return true; 749 return true;
@@ -839,7 +847,6 @@ static void radeon_legacy_tv_dac_prepare(struct drm_encoder *encoder)
839 else 847 else
840 radeon_combios_output_lock(encoder, true); 848 radeon_combios_output_lock(encoder, true);
841 radeon_legacy_tv_dac_dpms(encoder, DRM_MODE_DPMS_OFF); 849 radeon_legacy_tv_dac_dpms(encoder, DRM_MODE_DPMS_OFF);
842 radeon_encoder_set_active_device(encoder);
843} 850}
844 851
845static void radeon_legacy_tv_dac_commit(struct drm_encoder *encoder) 852static void radeon_legacy_tv_dac_commit(struct drm_encoder *encoder)
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
index e61226817ccf..ace726aa0d76 100644
--- a/drivers/gpu/drm/radeon/radeon_mode.h
+++ b/drivers/gpu/drm/radeon/radeon_mode.h
@@ -172,6 +172,7 @@ enum radeon_connector_table {
172 172
173struct radeon_mode_info { 173struct radeon_mode_info {
174 struct atom_context *atom_context; 174 struct atom_context *atom_context;
175 struct card_info *atom_card_info;
175 enum radeon_connector_table connector_table; 176 enum radeon_connector_table connector_table;
176 bool mode_config_initialized; 177 bool mode_config_initialized;
177 struct radeon_crtc *crtcs[2]; 178 struct radeon_crtc *crtcs[2];
@@ -186,17 +187,6 @@ struct radeon_mode_info {
186 187
187}; 188};
188 189
189struct radeon_native_mode {
190 /* preferred mode */
191 uint32_t panel_xres, panel_yres;
192 uint32_t hoverplus, hsync_width;
193 uint32_t hblank;
194 uint32_t voverplus, vsync_width;
195 uint32_t vblank;
196 uint32_t dotclock;
197 uint32_t flags;
198};
199
200#define MAX_H_CODE_TIMING_LEN 32 190#define MAX_H_CODE_TIMING_LEN 32
201#define MAX_V_CODE_TIMING_LEN 32 191#define MAX_V_CODE_TIMING_LEN 32
202 192
@@ -228,7 +218,7 @@ struct radeon_crtc {
228 enum radeon_rmx_type rmx_type; 218 enum radeon_rmx_type rmx_type;
229 fixed20_12 vsc; 219 fixed20_12 vsc;
230 fixed20_12 hsc; 220 fixed20_12 hsc;
231 struct radeon_native_mode native_mode; 221 struct drm_display_mode native_mode;
232}; 222};
233 223
234struct radeon_encoder_primary_dac { 224struct radeon_encoder_primary_dac {
@@ -248,7 +238,7 @@ struct radeon_encoder_lvds {
248 bool use_bios_dividers; 238 bool use_bios_dividers;
249 uint32_t lvds_gen_cntl; 239 uint32_t lvds_gen_cntl;
250 /* panel mode */ 240 /* panel mode */
251 struct radeon_native_mode native_mode; 241 struct drm_display_mode native_mode;
252}; 242};
253 243
254struct radeon_encoder_tv_dac { 244struct radeon_encoder_tv_dac {
@@ -271,6 +261,16 @@ struct radeon_encoder_int_tmds {
271 struct radeon_tmds_pll tmds_pll[4]; 261 struct radeon_tmds_pll tmds_pll[4];
272}; 262};
273 263
264/* spread spectrum */
265struct radeon_atom_ss {
266 uint16_t percentage;
267 uint8_t type;
268 uint8_t step;
269 uint8_t delay;
270 uint8_t range;
271 uint8_t refdiv;
272};
273
274struct radeon_encoder_atom_dig { 274struct radeon_encoder_atom_dig {
275 /* atom dig */ 275 /* atom dig */
276 bool coherent_mode; 276 bool coherent_mode;
@@ -278,8 +278,9 @@ struct radeon_encoder_atom_dig {
278 /* atom lvds */ 278 /* atom lvds */
279 uint32_t lvds_misc; 279 uint32_t lvds_misc;
280 uint16_t panel_pwr_delay; 280 uint16_t panel_pwr_delay;
281 struct radeon_atom_ss *ss;
281 /* panel mode */ 282 /* panel mode */
282 struct radeon_native_mode native_mode; 283 struct drm_display_mode native_mode;
283}; 284};
284 285
285struct radeon_encoder_atom_dac { 286struct radeon_encoder_atom_dac {
@@ -294,7 +295,7 @@ struct radeon_encoder {
294 uint32_t flags; 295 uint32_t flags;
295 uint32_t pixel_clock; 296 uint32_t pixel_clock;
296 enum radeon_rmx_type rmx_type; 297 enum radeon_rmx_type rmx_type;
297 struct radeon_native_mode native_mode; 298 struct drm_display_mode native_mode;
298 void *enc_priv; 299 void *enc_priv;
299}; 300};
300 301
@@ -308,12 +309,15 @@ struct radeon_connector {
308 uint32_t connector_id; 309 uint32_t connector_id;
309 uint32_t devices; 310 uint32_t devices;
310 struct radeon_i2c_chan *ddc_bus; 311 struct radeon_i2c_chan *ddc_bus;
312 /* some systems have a an hdmi and vga port with a shared ddc line */
313 bool shared_ddc;
311 bool use_digital; 314 bool use_digital;
312 /* we need to mind the EDID between detect 315 /* we need to mind the EDID between detect
313 and get modes due to analog/digital/tvencoder */ 316 and get modes due to analog/digital/tvencoder */
314 struct edid *edid; 317 struct edid *edid;
315 void *con_priv; 318 void *con_priv;
316 bool dac_load_detect; 319 bool dac_load_detect;
320 uint16_t connector_object_id;
317}; 321};
318 322
319struct radeon_framebuffer { 323struct radeon_framebuffer {
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
new file mode 100644
index 000000000000..46146c6a2a06
--- /dev/null
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -0,0 +1,65 @@
1/*
2 * Permission is hereby granted, free of charge, to any person obtaining a
3 * copy of this software and associated documentation files (the "Software"),
4 * to deal in the Software without restriction, including without limitation
5 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
6 * and/or sell copies of the Software, and to permit persons to whom the
7 * Software is furnished to do so, subject to the following conditions:
8 *
9 * The above copyright notice and this permission notice shall be included in
10 * all copies or substantial portions of the Software.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
15 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
16 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
17 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
18 * OTHER DEALINGS IN THE SOFTWARE.
19 *
20 * Authors: Rafał Miłecki <zajec5@gmail.com>
21 */
22#include "drmP.h"
23#include "radeon.h"
24
25int radeon_debugfs_pm_init(struct radeon_device *rdev);
26
27int radeon_pm_init(struct radeon_device *rdev)
28{
29 if (radeon_debugfs_pm_init(rdev)) {
30 DRM_ERROR("Failed to register debugfs file for CP !\n");
31 }
32
33 return 0;
34}
35
36/*
37 * Debugfs info
38 */
39#if defined(CONFIG_DEBUG_FS)
40
41static int radeon_debugfs_pm_info(struct seq_file *m, void *data)
42{
43 struct drm_info_node *node = (struct drm_info_node *) m->private;
44 struct drm_device *dev = node->minor->dev;
45 struct radeon_device *rdev = dev->dev_private;
46
47 seq_printf(m, "engine clock: %u0 Hz\n", radeon_get_engine_clock(rdev));
48 seq_printf(m, "memory clock: %u0 Hz\n", radeon_get_memory_clock(rdev));
49
50 return 0;
51}
52
53static struct drm_info_list radeon_pm_info_list[] = {
54 {"radeon_pm_info", radeon_debugfs_pm_info, 0, NULL},
55};
56#endif
57
58int radeon_debugfs_pm_init(struct radeon_device *rdev)
59{
60#if defined(CONFIG_DEBUG_FS)
61 return radeon_debugfs_add_files(rdev, radeon_pm_info_list, ARRAY_SIZE(radeon_pm_info_list));
62#else
63 return 0;
64#endif
65}
diff --git a/drivers/gpu/drm/radeon/radeon_reg.h b/drivers/gpu/drm/radeon/radeon_reg.h
index bfa1ab9c93e1..29ab75903ec1 100644
--- a/drivers/gpu/drm/radeon/radeon_reg.h
+++ b/drivers/gpu/drm/radeon/radeon_reg.h
@@ -290,6 +290,8 @@
290#define RADEON_BUS_CNTL 0x0030 290#define RADEON_BUS_CNTL 0x0030
291# define RADEON_BUS_MASTER_DIS (1 << 6) 291# define RADEON_BUS_MASTER_DIS (1 << 6)
292# define RADEON_BUS_BIOS_DIS_ROM (1 << 12) 292# define RADEON_BUS_BIOS_DIS_ROM (1 << 12)
293# define RS600_BUS_MASTER_DIS (1 << 14)
294# define RS600_MSI_REARM (1 << 20) /* rs600/rs690/rs740 */
293# define RADEON_BUS_RD_DISCARD_EN (1 << 24) 295# define RADEON_BUS_RD_DISCARD_EN (1 << 24)
294# define RADEON_BUS_RD_ABORT_EN (1 << 25) 296# define RADEON_BUS_RD_ABORT_EN (1 << 25)
295# define RADEON_BUS_MSTR_DISCONNECT_EN (1 << 28) 297# define RADEON_BUS_MSTR_DISCONNECT_EN (1 << 28)
@@ -297,6 +299,9 @@
297# define RADEON_BUS_READ_BURST (1 << 30) 299# define RADEON_BUS_READ_BURST (1 << 30)
298#define RADEON_BUS_CNTL1 0x0034 300#define RADEON_BUS_CNTL1 0x0034
299# define RADEON_BUS_WAIT_ON_LOCK_EN (1 << 4) 301# define RADEON_BUS_WAIT_ON_LOCK_EN (1 << 4)
302/* rv370/rv380, rv410, r423/r430/r480, r5xx */
303#define RADEON_MSI_REARM_EN 0x0160
304# define RV370_MSI_REARM_EN (1 << 0)
300 305
301/* #define RADEON_PCIE_INDEX 0x0030 */ 306/* #define RADEON_PCIE_INDEX 0x0030 */
302/* #define RADEON_PCIE_DATA 0x0034 */ 307/* #define RADEON_PCIE_DATA 0x0034 */
@@ -3311,6 +3316,7 @@
3311#define RADEON_AIC_CNTL 0x01d0 3316#define RADEON_AIC_CNTL 0x01d0
3312# define RADEON_PCIGART_TRANSLATE_EN (1 << 0) 3317# define RADEON_PCIGART_TRANSLATE_EN (1 << 0)
3313# define RADEON_DIS_OUT_OF_PCI_GART_ACCESS (1 << 1) 3318# define RADEON_DIS_OUT_OF_PCI_GART_ACCESS (1 << 1)
3319# define RS400_MSI_REARM (1 << 3) /* rs400/rs480 */
3314#define RADEON_AIC_LO_ADDR 0x01dc 3320#define RADEON_AIC_LO_ADDR 0x01dc
3315#define RADEON_AIC_PT_BASE 0x01d8 3321#define RADEON_AIC_PT_BASE 0x01d8
3316#define RADEON_AIC_HI_ADDR 0x01e0 3322#define RADEON_AIC_HI_ADDR 0x01e0
diff --git a/drivers/gpu/drm/radeon/radeon_test.c b/drivers/gpu/drm/radeon/radeon_test.c
index 03c33cf4e14c..f8a465d9a1cf 100644
--- a/drivers/gpu/drm/radeon/radeon_test.c
+++ b/drivers/gpu/drm/radeon/radeon_test.c
@@ -42,7 +42,7 @@ void radeon_test_moves(struct radeon_device *rdev)
42 /* Number of tests = 42 /* Number of tests =
43 * (Total GTT - IB pool - writeback page - ring buffer) / test size 43 * (Total GTT - IB pool - writeback page - ring buffer) / test size
44 */ 44 */
45 n = (rdev->mc.gtt_size - RADEON_IB_POOL_SIZE*64*1024 - 4096 - 45 n = (rdev->mc.gtt_size - RADEON_IB_POOL_SIZE*64*1024 - RADEON_GPU_PAGE_SIZE -
46 rdev->cp.ring_size) / size; 46 rdev->cp.ring_size) / size;
47 47
48 gtt_obj = kzalloc(n * sizeof(*gtt_obj), GFP_KERNEL); 48 gtt_obj = kzalloc(n * sizeof(*gtt_obj), GFP_KERNEL);
@@ -102,7 +102,7 @@ void radeon_test_moves(struct radeon_device *rdev)
102 goto out_cleanup; 102 goto out_cleanup;
103 } 103 }
104 104
105 r = radeon_copy(rdev, gtt_addr, vram_addr, size / 4096, fence); 105 r = radeon_copy(rdev, gtt_addr, vram_addr, size / RADEON_GPU_PAGE_SIZE, fence);
106 if (r) { 106 if (r) {
107 DRM_ERROR("Failed GTT->VRAM copy %d\n", i); 107 DRM_ERROR("Failed GTT->VRAM copy %d\n", i);
108 goto out_cleanup; 108 goto out_cleanup;
@@ -145,7 +145,7 @@ void radeon_test_moves(struct radeon_device *rdev)
145 goto out_cleanup; 145 goto out_cleanup;
146 } 146 }
147 147
148 r = radeon_copy(rdev, vram_addr, gtt_addr, size / 4096, fence); 148 r = radeon_copy(rdev, vram_addr, gtt_addr, size / RADEON_GPU_PAGE_SIZE, fence);
149 if (r) { 149 if (r) {
150 DRM_ERROR("Failed VRAM->GTT copy %d\n", i); 150 DRM_ERROR("Failed VRAM->GTT copy %d\n", i);
151 goto out_cleanup; 151 goto out_cleanup;
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index 765bd184b6fc..1381e06d6af3 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -295,6 +295,12 @@ static int radeon_move_vram_ram(struct ttm_buffer_object *bo,
295 if (unlikely(r)) { 295 if (unlikely(r)) {
296 return r; 296 return r;
297 } 297 }
298
299 r = ttm_tt_set_placement_caching(bo->ttm, tmp_mem.placement);
300 if (unlikely(r)) {
301 goto out_cleanup;
302 }
303
298 r = ttm_tt_bind(bo->ttm, &tmp_mem); 304 r = ttm_tt_bind(bo->ttm, &tmp_mem);
299 if (unlikely(r)) { 305 if (unlikely(r)) {
300 goto out_cleanup; 306 goto out_cleanup;
diff --git a/drivers/gpu/drm/radeon/rs400.c b/drivers/gpu/drm/radeon/rs400.c
index a769c296f6a6..ca037160a582 100644
--- a/drivers/gpu/drm/radeon/rs400.c
+++ b/drivers/gpu/drm/radeon/rs400.c
@@ -418,6 +418,8 @@ int rs400_resume(struct radeon_device *rdev)
418 rs400_gart_disable(rdev); 418 rs400_gart_disable(rdev);
419 /* Resume clock before doing reset */ 419 /* Resume clock before doing reset */
420 r300_clock_startup(rdev); 420 r300_clock_startup(rdev);
421 /* setup MC before calling post tables */
422 rs400_mc_program(rdev);
421 /* Reset gpu before posting otherwise ATOM will enter infinite loop */ 423 /* Reset gpu before posting otherwise ATOM will enter infinite loop */
422 if (radeon_gpu_reset(rdev)) { 424 if (radeon_gpu_reset(rdev)) {
423 dev_warn(rdev->dev, "GPU reset failed ! (0xE40=0x%08X, 0x7C0=0x%08X)\n", 425 dev_warn(rdev->dev, "GPU reset failed ! (0xE40=0x%08X, 0x7C0=0x%08X)\n",
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c
index 10dfa78762da..5f117cd8736a 100644
--- a/drivers/gpu/drm/radeon/rs600.c
+++ b/drivers/gpu/drm/radeon/rs600.c
@@ -242,7 +242,7 @@ void rs600_irq_disable(struct radeon_device *rdev)
242 242
243int rs600_irq_process(struct radeon_device *rdev) 243int rs600_irq_process(struct radeon_device *rdev)
244{ 244{
245 uint32_t status; 245 uint32_t status, msi_rearm;
246 uint32_t r500_disp_int; 246 uint32_t r500_disp_int;
247 247
248 status = rs600_irq_ack(rdev, &r500_disp_int); 248 status = rs600_irq_ack(rdev, &r500_disp_int);
@@ -260,6 +260,22 @@ int rs600_irq_process(struct radeon_device *rdev)
260 drm_handle_vblank(rdev->ddev, 1); 260 drm_handle_vblank(rdev->ddev, 1);
261 status = rs600_irq_ack(rdev, &r500_disp_int); 261 status = rs600_irq_ack(rdev, &r500_disp_int);
262 } 262 }
263 if (rdev->msi_enabled) {
264 switch (rdev->family) {
265 case CHIP_RS600:
266 case CHIP_RS690:
267 case CHIP_RS740:
268 msi_rearm = RREG32(RADEON_BUS_CNTL) & ~RS600_MSI_REARM;
269 WREG32(RADEON_BUS_CNTL, msi_rearm);
270 WREG32(RADEON_BUS_CNTL, msi_rearm | RS600_MSI_REARM);
271 break;
272 default:
273 msi_rearm = RREG32(RADEON_MSI_REARM_EN) & ~RV370_MSI_REARM_EN;
274 WREG32(RADEON_MSI_REARM_EN, msi_rearm);
275 WREG32(RADEON_MSI_REARM_EN, msi_rearm | RV370_MSI_REARM_EN);
276 break;
277 }
278 }
263 return IRQ_HANDLED; 279 return IRQ_HANDLED;
264} 280}
265 281
@@ -472,6 +488,8 @@ int rs600_init(struct radeon_device *rdev)
472 } 488 }
473 /* Initialize clocks */ 489 /* Initialize clocks */
474 radeon_get_clock_info(rdev->ddev); 490 radeon_get_clock_info(rdev->ddev);
491 /* Initialize power management */
492 radeon_pm_init(rdev);
475 /* Get vram informations */ 493 /* Get vram informations */
476 rs600_vram_info(rdev); 494 rs600_vram_info(rdev);
477 /* Initialize memory controller (also test AGP) */ 495 /* Initialize memory controller (also test AGP) */
diff --git a/drivers/gpu/drm/radeon/rs690.c b/drivers/gpu/drm/radeon/rs690.c
index 025e3225346c..27547175cf93 100644
--- a/drivers/gpu/drm/radeon/rs690.c
+++ b/drivers/gpu/drm/radeon/rs690.c
@@ -706,6 +706,8 @@ int rs690_init(struct radeon_device *rdev)
706 } 706 }
707 /* Initialize clocks */ 707 /* Initialize clocks */
708 radeon_get_clock_info(rdev->ddev); 708 radeon_get_clock_info(rdev->ddev);
709 /* Initialize power management */
710 radeon_pm_init(rdev);
709 /* Get vram informations */ 711 /* Get vram informations */
710 rs690_vram_info(rdev); 712 rs690_vram_info(rdev);
711 /* Initialize memory controller (also test AGP) */ 713 /* Initialize memory controller (also test AGP) */
diff --git a/drivers/gpu/drm/radeon/rv515.c b/drivers/gpu/drm/radeon/rv515.c
index 41a34c23e6d8..ba68c9fe90a1 100644
--- a/drivers/gpu/drm/radeon/rv515.c
+++ b/drivers/gpu/drm/radeon/rv515.c
@@ -380,7 +380,6 @@ void rv515_mc_stop(struct radeon_device *rdev, struct rv515_mc_save *save)
380 save->d2crtc_control = RREG32(R_006880_D2CRTC_CONTROL); 380 save->d2crtc_control = RREG32(R_006880_D2CRTC_CONTROL);
381 381
382 /* Stop all video */ 382 /* Stop all video */
383 WREG32(R_000330_D1VGA_CONTROL, 0);
384 WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 0); 383 WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 0);
385 WREG32(R_000300_VGA_RENDER_CONTROL, 0); 384 WREG32(R_000300_VGA_RENDER_CONTROL, 0);
386 WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 1); 385 WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 1);
@@ -389,6 +388,8 @@ void rv515_mc_stop(struct radeon_device *rdev, struct rv515_mc_save *save)
389 WREG32(R_006880_D2CRTC_CONTROL, 0); 388 WREG32(R_006880_D2CRTC_CONTROL, 0);
390 WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 0); 389 WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 0);
391 WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 0); 390 WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 0);
391 WREG32(R_000330_D1VGA_CONTROL, 0);
392 WREG32(R_000338_D2VGA_CONTROL, 0);
392} 393}
393 394
394void rv515_mc_resume(struct radeon_device *rdev, struct rv515_mc_save *save) 395void rv515_mc_resume(struct radeon_device *rdev, struct rv515_mc_save *save)
@@ -402,14 +403,14 @@ void rv515_mc_resume(struct radeon_device *rdev, struct rv515_mc_save *save)
402 WREG32(R_000328_VGA_HDP_CONTROL, save->vga_hdp_control); 403 WREG32(R_000328_VGA_HDP_CONTROL, save->vga_hdp_control);
403 mdelay(1); 404 mdelay(1);
404 /* Restore video state */ 405 /* Restore video state */
406 WREG32(R_000330_D1VGA_CONTROL, save->d1vga_control);
407 WREG32(R_000338_D2VGA_CONTROL, save->d2vga_control);
405 WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 1); 408 WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 1);
406 WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 1); 409 WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 1);
407 WREG32(R_006080_D1CRTC_CONTROL, save->d1crtc_control); 410 WREG32(R_006080_D1CRTC_CONTROL, save->d1crtc_control);
408 WREG32(R_006880_D2CRTC_CONTROL, save->d2crtc_control); 411 WREG32(R_006880_D2CRTC_CONTROL, save->d2crtc_control);
409 WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 0); 412 WREG32(R_0060E8_D1CRTC_UPDATE_LOCK, 0);
410 WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 0); 413 WREG32(R_0068E8_D2CRTC_UPDATE_LOCK, 0);
411 WREG32(R_000330_D1VGA_CONTROL, save->d1vga_control);
412 WREG32(R_000338_D2VGA_CONTROL, save->d2vga_control);
413 WREG32(R_000300_VGA_RENDER_CONTROL, save->vga_render_control); 414 WREG32(R_000300_VGA_RENDER_CONTROL, save->vga_render_control);
414} 415}
415 416
@@ -585,6 +586,8 @@ int rv515_init(struct radeon_device *rdev)
585 } 586 }
586 /* Initialize clocks */ 587 /* Initialize clocks */
587 radeon_get_clock_info(rdev->ddev); 588 radeon_get_clock_info(rdev->ddev);
589 /* Initialize power management */
590 radeon_pm_init(rdev);
588 /* Get vram informations */ 591 /* Get vram informations */
589 rv515_vram_info(rdev); 592 rv515_vram_info(rdev);
590 /* Initialize memory controller (also test AGP) */ 593 /* Initialize memory controller (also test AGP) */
diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c
index 595ac638039d..b0efd0ddae7a 100644
--- a/drivers/gpu/drm/radeon/rv770.c
+++ b/drivers/gpu/drm/radeon/rv770.c
@@ -529,11 +529,11 @@ static void rv770_gpu_init(struct radeon_device *rdev)
529 if (rdev->family == CHIP_RV770) 529 if (rdev->family == CHIP_RV770)
530 gb_tiling_config |= BANK_TILING(1); 530 gb_tiling_config |= BANK_TILING(1);
531 else 531 else
532 gb_tiling_config |= BANK_TILING((mc_arb_ramcfg & NOOFBANK_SHIFT) >> NOOFBANK_MASK); 532 gb_tiling_config |= BANK_TILING((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT);
533 533
534 gb_tiling_config |= GROUP_SIZE(0); 534 gb_tiling_config |= GROUP_SIZE(0);
535 535
536 if (((mc_arb_ramcfg & NOOFROWS_MASK) & NOOFROWS_SHIFT) > 3) { 536 if (((mc_arb_ramcfg & NOOFROWS_MASK) >> NOOFROWS_SHIFT) > 3) {
537 gb_tiling_config |= ROW_TILING(3); 537 gb_tiling_config |= ROW_TILING(3);
538 gb_tiling_config |= SAMPLE_SPLIT(3); 538 gb_tiling_config |= SAMPLE_SPLIT(3);
539 } else { 539 } else {
@@ -579,14 +579,14 @@ static void rv770_gpu_init(struct radeon_device *rdev)
579 579
580 /* set HW defaults for 3D engine */ 580 /* set HW defaults for 3D engine */
581 WREG32(CP_QUEUE_THRESHOLDS, (ROQ_IB1_START(0x16) | 581 WREG32(CP_QUEUE_THRESHOLDS, (ROQ_IB1_START(0x16) |
582 ROQ_IB2_START(0x2b))); 582 ROQ_IB2_START(0x2b)));
583 583
584 WREG32(CP_MEQ_THRESHOLDS, STQ_SPLIT(0x30)); 584 WREG32(CP_MEQ_THRESHOLDS, STQ_SPLIT(0x30));
585 585
586 WREG32(TA_CNTL_AUX, (DISABLE_CUBE_ANISO | 586 WREG32(TA_CNTL_AUX, (DISABLE_CUBE_ANISO |
587 SYNC_GRADIENT | 587 SYNC_GRADIENT |
588 SYNC_WALKER | 588 SYNC_WALKER |
589 SYNC_ALIGNER)); 589 SYNC_ALIGNER));
590 590
591 sx_debug_1 = RREG32(SX_DEBUG_1); 591 sx_debug_1 = RREG32(SX_DEBUG_1);
592 sx_debug_1 |= ENABLE_NEW_SMX_ADDRESS; 592 sx_debug_1 |= ENABLE_NEW_SMX_ADDRESS;
@@ -598,9 +598,9 @@ static void rv770_gpu_init(struct radeon_device *rdev)
598 WREG32(SMX_DC_CTL0, smx_dc_ctl0); 598 WREG32(SMX_DC_CTL0, smx_dc_ctl0);
599 599
600 WREG32(SMX_EVENT_CTL, (ES_FLUSH_CTL(4) | 600 WREG32(SMX_EVENT_CTL, (ES_FLUSH_CTL(4) |
601 GS_FLUSH_CTL(4) | 601 GS_FLUSH_CTL(4) |
602 ACK_FLUSH_CTL(3) | 602 ACK_FLUSH_CTL(3) |
603 SYNC_FLUSH_CTL)); 603 SYNC_FLUSH_CTL));
604 604
605 if (rdev->family == CHIP_RV770) 605 if (rdev->family == CHIP_RV770)
606 WREG32(DB_DEBUG3, DB_CLK_OFF_DELAY(0x1f)); 606 WREG32(DB_DEBUG3, DB_CLK_OFF_DELAY(0x1f));
@@ -611,12 +611,12 @@ static void rv770_gpu_init(struct radeon_device *rdev)
611 } 611 }
612 612
613 WREG32(SX_EXPORT_BUFFER_SIZES, (COLOR_BUFFER_SIZE((rdev->config.rv770.sx_max_export_size / 4) - 1) | 613 WREG32(SX_EXPORT_BUFFER_SIZES, (COLOR_BUFFER_SIZE((rdev->config.rv770.sx_max_export_size / 4) - 1) |
614 POSITION_BUFFER_SIZE((rdev->config.rv770.sx_max_export_pos_size / 4) - 1) | 614 POSITION_BUFFER_SIZE((rdev->config.rv770.sx_max_export_pos_size / 4) - 1) |
615 SMX_BUFFER_SIZE((rdev->config.rv770.sx_max_export_smx_size / 4) - 1))); 615 SMX_BUFFER_SIZE((rdev->config.rv770.sx_max_export_smx_size / 4) - 1)));
616 616
617 WREG32(PA_SC_FIFO_SIZE, (SC_PRIM_FIFO_SIZE(rdev->config.rv770.sc_prim_fifo_size) | 617 WREG32(PA_SC_FIFO_SIZE, (SC_PRIM_FIFO_SIZE(rdev->config.rv770.sc_prim_fifo_size) |
618 SC_HIZ_TILE_FIFO_SIZE(rdev->config.rv770.sc_hiz_tile_fifo_size) | 618 SC_HIZ_TILE_FIFO_SIZE(rdev->config.rv770.sc_hiz_tile_fifo_size) |
619 SC_EARLYZ_TILE_FIFO_SIZE(rdev->config.rv770.sc_earlyz_tile_fifo_fize))); 619 SC_EARLYZ_TILE_FIFO_SIZE(rdev->config.rv770.sc_earlyz_tile_fifo_fize)));
620 620
621 WREG32(PA_SC_MULTI_CHIP_CNTL, 0); 621 WREG32(PA_SC_MULTI_CHIP_CNTL, 0);
622 622
@@ -774,14 +774,36 @@ int rv770_mc_init(struct radeon_device *rdev)
774{ 774{
775 fixed20_12 a; 775 fixed20_12 a;
776 u32 tmp; 776 u32 tmp;
777 int chansize, numchan;
777 int r; 778 int r;
778 779
779 /* Get VRAM informations */ 780 /* Get VRAM informations */
780 /* FIXME: Don't know how to determine vram width, need to check
781 * vram_width usage
782 */
783 rdev->mc.vram_width = 128;
784 rdev->mc.vram_is_ddr = true; 781 rdev->mc.vram_is_ddr = true;
782 tmp = RREG32(MC_ARB_RAMCFG);
783 if (tmp & CHANSIZE_OVERRIDE) {
784 chansize = 16;
785 } else if (tmp & CHANSIZE_MASK) {
786 chansize = 64;
787 } else {
788 chansize = 32;
789 }
790 tmp = RREG32(MC_SHARED_CHMAP);
791 switch ((tmp & NOOFCHAN_MASK) >> NOOFCHAN_SHIFT) {
792 case 0:
793 default:
794 numchan = 1;
795 break;
796 case 1:
797 numchan = 2;
798 break;
799 case 2:
800 numchan = 4;
801 break;
802 case 3:
803 numchan = 8;
804 break;
805 }
806 rdev->mc.vram_width = numchan * chansize;
785 /* Could aper size report 0 ? */ 807 /* Could aper size report 0 ? */
786 rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0); 808 rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0);
787 rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0); 809 rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0);
@@ -961,10 +983,13 @@ int rv770_init(struct radeon_device *rdev)
961 r600_scratch_init(rdev); 983 r600_scratch_init(rdev);
962 /* Initialize surface registers */ 984 /* Initialize surface registers */
963 radeon_surface_init(rdev); 985 radeon_surface_init(rdev);
986 /* Initialize clocks */
964 radeon_get_clock_info(rdev->ddev); 987 radeon_get_clock_info(rdev->ddev);
965 r = radeon_clocks_init(rdev); 988 r = radeon_clocks_init(rdev);
966 if (r) 989 if (r)
967 return r; 990 return r;
991 /* Initialize power management */
992 radeon_pm_init(rdev);
968 /* Fence driver */ 993 /* Fence driver */
969 r = radeon_fence_driver_init(rdev); 994 r = radeon_fence_driver_init(rdev);
970 if (r) 995 if (r)
diff --git a/drivers/gpu/drm/radeon/rv770d.h b/drivers/gpu/drm/radeon/rv770d.h
index 4b9c3d6396ff..a1367ab6f261 100644
--- a/drivers/gpu/drm/radeon/rv770d.h
+++ b/drivers/gpu/drm/radeon/rv770d.h
@@ -129,6 +129,10 @@
129#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 129#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0
130#define HDP_TILING_CONFIG 0x2F3C 130#define HDP_TILING_CONFIG 0x2F3C
131 131
132#define MC_SHARED_CHMAP 0x2004
133#define NOOFCHAN_SHIFT 12
134#define NOOFCHAN_MASK 0x00003000
135
132#define MC_ARB_RAMCFG 0x2760 136#define MC_ARB_RAMCFG 0x2760
133#define NOOFBANK_SHIFT 0 137#define NOOFBANK_SHIFT 0
134#define NOOFBANK_MASK 0x00000003 138#define NOOFBANK_MASK 0x00000003
@@ -142,6 +146,7 @@
142#define CHANSIZE_MASK 0x00000100 146#define CHANSIZE_MASK 0x00000100
143#define BURSTLENGTH_SHIFT 9 147#define BURSTLENGTH_SHIFT 9
144#define BURSTLENGTH_MASK 0x00000200 148#define BURSTLENGTH_MASK 0x00000200
149#define CHANSIZE_OVERRIDE (1 << 11)
145#define MC_VM_AGP_TOP 0x2028 150#define MC_VM_AGP_TOP 0x2028
146#define MC_VM_AGP_BOT 0x202C 151#define MC_VM_AGP_BOT 0x202C
147#define MC_VM_AGP_BASE 0x2030 152#define MC_VM_AGP_BASE 0x2030
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index 90ea46aed050..9c2b1cc5dba5 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -280,6 +280,7 @@ int ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t placement)
280 280
281 return ttm_tt_set_caching(ttm, state); 281 return ttm_tt_set_caching(ttm, state);
282} 282}
283EXPORT_SYMBOL(ttm_tt_set_placement_caching);
283 284
284static void ttm_tt_free_alloced_pages(struct ttm_tt *ttm) 285static void ttm_tt_free_alloced_pages(struct ttm_tt *ttm)
285{ 286{
diff --git a/drivers/hwmon/adt7475.c b/drivers/hwmon/adt7475.c
index d39877a7da63..b5a95193c694 100644
--- a/drivers/hwmon/adt7475.c
+++ b/drivers/hwmon/adt7475.c
@@ -350,8 +350,7 @@ static ssize_t show_temp(struct device *dev, struct device_attribute *attr,
350 350
351 case FAULT: 351 case FAULT:
352 /* Note - only for remote1 and remote2 */ 352 /* Note - only for remote1 and remote2 */
353 out = data->alarms & (sattr->index ? 0x8000 : 0x4000); 353 out = !!(data->alarms & (sattr->index ? 0x8000 : 0x4000));
354 out = out ? 0 : 1;
355 break; 354 break;
356 355
357 default: 356 default:
@@ -863,7 +862,7 @@ static SENSOR_DEVICE_ATTR_2(pwm1_freq, S_IRUGO | S_IWUSR, show_pwmfreq,
863 set_pwmfreq, INPUT, 0); 862 set_pwmfreq, INPUT, 0);
864static SENSOR_DEVICE_ATTR_2(pwm1_enable, S_IRUGO | S_IWUSR, show_pwmctrl, 863static SENSOR_DEVICE_ATTR_2(pwm1_enable, S_IRUGO | S_IWUSR, show_pwmctrl,
865 set_pwmctrl, INPUT, 0); 864 set_pwmctrl, INPUT, 0);
866static SENSOR_DEVICE_ATTR_2(pwm1_auto_channel_temp, S_IRUGO | S_IWUSR, 865static SENSOR_DEVICE_ATTR_2(pwm1_auto_channels_temp, S_IRUGO | S_IWUSR,
867 show_pwmchan, set_pwmchan, INPUT, 0); 866 show_pwmchan, set_pwmchan, INPUT, 0);
868static SENSOR_DEVICE_ATTR_2(pwm1_auto_point1_pwm, S_IRUGO | S_IWUSR, show_pwm, 867static SENSOR_DEVICE_ATTR_2(pwm1_auto_point1_pwm, S_IRUGO | S_IWUSR, show_pwm,
869 set_pwm, MIN, 0); 868 set_pwm, MIN, 0);
@@ -875,7 +874,7 @@ static SENSOR_DEVICE_ATTR_2(pwm2_freq, S_IRUGO | S_IWUSR, show_pwmfreq,
875 set_pwmfreq, INPUT, 1); 874 set_pwmfreq, INPUT, 1);
876static SENSOR_DEVICE_ATTR_2(pwm2_enable, S_IRUGO | S_IWUSR, show_pwmctrl, 875static SENSOR_DEVICE_ATTR_2(pwm2_enable, S_IRUGO | S_IWUSR, show_pwmctrl,
877 set_pwmctrl, INPUT, 1); 876 set_pwmctrl, INPUT, 1);
878static SENSOR_DEVICE_ATTR_2(pwm2_auto_channel_temp, S_IRUGO | S_IWUSR, 877static SENSOR_DEVICE_ATTR_2(pwm2_auto_channels_temp, S_IRUGO | S_IWUSR,
879 show_pwmchan, set_pwmchan, INPUT, 1); 878 show_pwmchan, set_pwmchan, INPUT, 1);
880static SENSOR_DEVICE_ATTR_2(pwm2_auto_point1_pwm, S_IRUGO | S_IWUSR, show_pwm, 879static SENSOR_DEVICE_ATTR_2(pwm2_auto_point1_pwm, S_IRUGO | S_IWUSR, show_pwm,
881 set_pwm, MIN, 1); 880 set_pwm, MIN, 1);
@@ -887,7 +886,7 @@ static SENSOR_DEVICE_ATTR_2(pwm3_freq, S_IRUGO | S_IWUSR, show_pwmfreq,
887 set_pwmfreq, INPUT, 2); 886 set_pwmfreq, INPUT, 2);
888static SENSOR_DEVICE_ATTR_2(pwm3_enable, S_IRUGO | S_IWUSR, show_pwmctrl, 887static SENSOR_DEVICE_ATTR_2(pwm3_enable, S_IRUGO | S_IWUSR, show_pwmctrl,
889 set_pwmctrl, INPUT, 2); 888 set_pwmctrl, INPUT, 2);
890static SENSOR_DEVICE_ATTR_2(pwm3_auto_channel_temp, S_IRUGO | S_IWUSR, 889static SENSOR_DEVICE_ATTR_2(pwm3_auto_channels_temp, S_IRUGO | S_IWUSR,
891 show_pwmchan, set_pwmchan, INPUT, 2); 890 show_pwmchan, set_pwmchan, INPUT, 2);
892static SENSOR_DEVICE_ATTR_2(pwm3_auto_point1_pwm, S_IRUGO | S_IWUSR, show_pwm, 891static SENSOR_DEVICE_ATTR_2(pwm3_auto_point1_pwm, S_IRUGO | S_IWUSR, show_pwm,
893 set_pwm, MIN, 2); 892 set_pwm, MIN, 2);
@@ -947,19 +946,19 @@ static struct attribute *adt7475_attrs[] = {
947 &sensor_dev_attr_pwm1.dev_attr.attr, 946 &sensor_dev_attr_pwm1.dev_attr.attr,
948 &sensor_dev_attr_pwm1_freq.dev_attr.attr, 947 &sensor_dev_attr_pwm1_freq.dev_attr.attr,
949 &sensor_dev_attr_pwm1_enable.dev_attr.attr, 948 &sensor_dev_attr_pwm1_enable.dev_attr.attr,
950 &sensor_dev_attr_pwm1_auto_channel_temp.dev_attr.attr, 949 &sensor_dev_attr_pwm1_auto_channels_temp.dev_attr.attr,
951 &sensor_dev_attr_pwm1_auto_point1_pwm.dev_attr.attr, 950 &sensor_dev_attr_pwm1_auto_point1_pwm.dev_attr.attr,
952 &sensor_dev_attr_pwm1_auto_point2_pwm.dev_attr.attr, 951 &sensor_dev_attr_pwm1_auto_point2_pwm.dev_attr.attr,
953 &sensor_dev_attr_pwm2.dev_attr.attr, 952 &sensor_dev_attr_pwm2.dev_attr.attr,
954 &sensor_dev_attr_pwm2_freq.dev_attr.attr, 953 &sensor_dev_attr_pwm2_freq.dev_attr.attr,
955 &sensor_dev_attr_pwm2_enable.dev_attr.attr, 954 &sensor_dev_attr_pwm2_enable.dev_attr.attr,
956 &sensor_dev_attr_pwm2_auto_channel_temp.dev_attr.attr, 955 &sensor_dev_attr_pwm2_auto_channels_temp.dev_attr.attr,
957 &sensor_dev_attr_pwm2_auto_point1_pwm.dev_attr.attr, 956 &sensor_dev_attr_pwm2_auto_point1_pwm.dev_attr.attr,
958 &sensor_dev_attr_pwm2_auto_point2_pwm.dev_attr.attr, 957 &sensor_dev_attr_pwm2_auto_point2_pwm.dev_attr.attr,
959 &sensor_dev_attr_pwm3.dev_attr.attr, 958 &sensor_dev_attr_pwm3.dev_attr.attr,
960 &sensor_dev_attr_pwm3_freq.dev_attr.attr, 959 &sensor_dev_attr_pwm3_freq.dev_attr.attr,
961 &sensor_dev_attr_pwm3_enable.dev_attr.attr, 960 &sensor_dev_attr_pwm3_enable.dev_attr.attr,
962 &sensor_dev_attr_pwm3_auto_channel_temp.dev_attr.attr, 961 &sensor_dev_attr_pwm3_auto_channels_temp.dev_attr.attr,
963 &sensor_dev_attr_pwm3_auto_point1_pwm.dev_attr.attr, 962 &sensor_dev_attr_pwm3_auto_point1_pwm.dev_attr.attr,
964 &sensor_dev_attr_pwm3_auto_point2_pwm.dev_attr.attr, 963 &sensor_dev_attr_pwm3_auto_point2_pwm.dev_attr.attr,
965 NULL, 964 NULL,
@@ -1152,7 +1151,7 @@ static struct adt7475_data *adt7475_update_device(struct device *dev)
1152 } 1151 }
1153 1152
1154 /* Limits and settings, should never change update every 60 seconds */ 1153 /* Limits and settings, should never change update every 60 seconds */
1155 if (time_after(jiffies, data->limits_updated + HZ * 2) || 1154 if (time_after(jiffies, data->limits_updated + HZ * 60) ||
1156 !data->valid) { 1155 !data->valid) {
1157 data->config5 = adt7475_read(REG_CONFIG5); 1156 data->config5 = adt7475_read(REG_CONFIG5);
1158 1157
diff --git a/drivers/hwmon/s3c-hwmon.c b/drivers/hwmon/s3c-hwmon.c
index 3a524f2fe493..71835412529f 100644
--- a/drivers/hwmon/s3c-hwmon.c
+++ b/drivers/hwmon/s3c-hwmon.c
@@ -323,14 +323,21 @@ static int __devinit s3c_hwmon_probe(struct platform_device *dev)
323 } 323 }
324 324
325 for (i = 0; i < ARRAY_SIZE(pdata->in); i++) { 325 for (i = 0; i < ARRAY_SIZE(pdata->in); i++) {
326 if (!pdata->in[i]) 326 struct s3c24xx_adc_hwmon_incfg *cfg = pdata->in[i];
327
328 if (!cfg)
327 continue; 329 continue;
328 330
329 if (pdata->in[i]->mult >= 0x10000) 331 if (cfg->mult >= 0x10000)
330 dev_warn(&dev->dev, 332 dev_warn(&dev->dev,
331 "channel %d multiplier too large\n", 333 "channel %d multiplier too large\n",
332 i); 334 i);
333 335
336 if (cfg->divider == 0) {
337 dev_err(&dev->dev, "channel %d divider zero\n", i);
338 continue;
339 }
340
334 ret = s3c_hwmon_create_attr(&dev->dev, pdata->in[i], 341 ret = s3c_hwmon_create_attr(&dev->dev, pdata->in[i],
335 &hwmon->attrs[i], i); 342 &hwmon->attrs[i], i);
336 if (ret) { 343 if (ret) {
diff --git a/drivers/i2c/busses/i2c-pnx.c b/drivers/i2c/busses/i2c-pnx.c
index 6ff6c20f1e78..fbab6846ae64 100644
--- a/drivers/i2c/busses/i2c-pnx.c
+++ b/drivers/i2c/busses/i2c-pnx.c
@@ -19,7 +19,9 @@
19#include <linux/completion.h> 19#include <linux/completion.h>
20#include <linux/platform_device.h> 20#include <linux/platform_device.h>
21#include <linux/i2c-pnx.h> 21#include <linux/i2c-pnx.h>
22#include <linux/io.h>
22#include <mach/hardware.h> 23#include <mach/hardware.h>
24#include <mach/i2c.h>
23#include <asm/irq.h> 25#include <asm/irq.h>
24#include <asm/uaccess.h> 26#include <asm/uaccess.h>
25 27
@@ -54,6 +56,9 @@ static inline void i2c_pnx_arm_timer(struct i2c_adapter *adap)
54 struct timer_list *timer = &data->mif.timer; 56 struct timer_list *timer = &data->mif.timer;
55 int expires = I2C_PNX_TIMEOUT / (1000 / HZ); 57 int expires = I2C_PNX_TIMEOUT / (1000 / HZ);
56 58
59 if (expires <= 1)
60 expires = 2;
61
57 del_timer_sync(timer); 62 del_timer_sync(timer);
58 63
59 dev_dbg(&adap->dev, "Timer armed at %lu plus %u jiffies.\n", 64 dev_dbg(&adap->dev, "Timer armed at %lu plus %u jiffies.\n",
@@ -645,7 +650,7 @@ static int __devinit i2c_pnx_probe(struct platform_device *pdev)
645 return 0; 650 return 0;
646 651
647out_irq: 652out_irq:
648 free_irq(alg_data->irq, alg_data); 653 free_irq(alg_data->irq, i2c_pnx->adapter);
649out_clock: 654out_clock:
650 i2c_pnx->set_clock_stop(pdev); 655 i2c_pnx->set_clock_stop(pdev);
651out_unmap: 656out_unmap:
@@ -664,7 +669,7 @@ static int __devexit i2c_pnx_remove(struct platform_device *pdev)
664 struct i2c_adapter *adap = i2c_pnx->adapter; 669 struct i2c_adapter *adap = i2c_pnx->adapter;
665 struct i2c_pnx_algo_data *alg_data = adap->algo_data; 670 struct i2c_pnx_algo_data *alg_data = adap->algo_data;
666 671
667 free_irq(alg_data->irq, alg_data); 672 free_irq(alg_data->irq, i2c_pnx->adapter);
668 i2c_del_adapter(adap); 673 i2c_del_adapter(adap);
669 i2c_pnx->set_clock_stop(pdev); 674 i2c_pnx->set_clock_stop(pdev);
670 iounmap((void *)alg_data->ioaddr); 675 iounmap((void *)alg_data->ioaddr);
diff --git a/drivers/i2c/chips/tsl2550.c b/drivers/i2c/chips/tsl2550.c
index aa96bd2d27ea..a0702f36a72f 100644
--- a/drivers/i2c/chips/tsl2550.c
+++ b/drivers/i2c/chips/tsl2550.c
@@ -257,6 +257,7 @@ static DEVICE_ATTR(operating_mode, S_IWUSR | S_IRUGO,
257 257
258static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf) 258static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf)
259{ 259{
260 struct tsl2550_data *data = i2c_get_clientdata(client);
260 u8 ch0, ch1; 261 u8 ch0, ch1;
261 int ret; 262 int ret;
262 263
@@ -274,6 +275,8 @@ static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf)
274 ret = tsl2550_calculate_lux(ch0, ch1); 275 ret = tsl2550_calculate_lux(ch0, ch1);
275 if (ret < 0) 276 if (ret < 0)
276 return ret; 277 return ret;
278 if (data->operating_mode == 1)
279 ret *= 5;
277 280
278 return sprintf(buf, "%d\n", ret); 281 return sprintf(buf, "%d\n", ret);
279} 282}
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 8d80fceca6a4..296504355142 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -762,6 +762,7 @@ int i2c_del_adapter(struct i2c_adapter *adap)
762{ 762{
763 int res = 0; 763 int res = 0;
764 struct i2c_adapter *found; 764 struct i2c_adapter *found;
765 struct i2c_client *client, *next;
765 766
766 /* First make sure that this adapter was ever added */ 767 /* First make sure that this adapter was ever added */
767 mutex_lock(&core_lock); 768 mutex_lock(&core_lock);
@@ -781,6 +782,16 @@ int i2c_del_adapter(struct i2c_adapter *adap)
781 if (res) 782 if (res)
782 return res; 783 return res;
783 784
785 /* Remove devices instantiated from sysfs */
786 list_for_each_entry_safe(client, next, &userspace_devices, detected) {
787 if (client->adapter == adap) {
788 dev_dbg(&adap->dev, "Removing %s at 0x%x\n",
789 client->name, client->addr);
790 list_del(&client->detected);
791 i2c_unregister_device(client);
792 }
793 }
794
784 /* Detach any active clients. This can't fail, thus we do not 795 /* Detach any active clients. This can't fail, thus we do not
785 checking the returned value. */ 796 checking the returned value. */
786 res = device_for_each_child(&adap->dev, NULL, __unregister_client); 797 res = device_for_each_child(&adap->dev, NULL, __unregister_client);
diff --git a/drivers/ide/ide-ioctls.c b/drivers/ide/ide-ioctls.c
index d3440b5010a5..6e7ae2b6cfc6 100644
--- a/drivers/ide/ide-ioctls.c
+++ b/drivers/ide/ide-ioctls.c
@@ -162,7 +162,7 @@ static int ide_cmd_ioctl(ide_drive_t *drive, unsigned long arg)
162 if (tf->command == ATA_CMD_SET_FEATURES && 162 if (tf->command == ATA_CMD_SET_FEATURES &&
163 tf->feature == SETFEATURES_XFER && 163 tf->feature == SETFEATURES_XFER &&
164 tf->nsect >= XFER_SW_DMA_0) { 164 tf->nsect >= XFER_SW_DMA_0) {
165 xfer_rate = ide_find_dma_mode(drive, XFER_UDMA_6); 165 xfer_rate = ide_find_dma_mode(drive, tf->nsect);
166 if (xfer_rate != tf->nsect) { 166 if (xfer_rate != tf->nsect) {
167 err = -EINVAL; 167 err = -EINVAL;
168 goto abort; 168 goto abort;
diff --git a/drivers/ieee802154/fakehard.c b/drivers/ieee802154/fakehard.c
index 96a2959ce877..7c544f7c74c4 100644
--- a/drivers/ieee802154/fakehard.c
+++ b/drivers/ieee802154/fakehard.c
@@ -260,15 +260,12 @@ static int ieee802154_fake_close(struct net_device *dev)
260static netdev_tx_t ieee802154_fake_xmit(struct sk_buff *skb, 260static netdev_tx_t ieee802154_fake_xmit(struct sk_buff *skb,
261 struct net_device *dev) 261 struct net_device *dev)
262{ 262{
263 skb->iif = dev->ifindex;
264 skb->dev = dev;
265 dev->stats.tx_packets++; 263 dev->stats.tx_packets++;
266 dev->stats.tx_bytes += skb->len; 264 dev->stats.tx_bytes += skb->len;
267 265
268 dev->trans_start = jiffies;
269
270 /* FIXME: do hardware work here ... */ 266 /* FIXME: do hardware work here ... */
271 267
268 dev_kfree_skb(skb);
272 return NETDEV_TX_OK; 269 return NETDEV_TX_OK;
273} 270}
274 271
diff --git a/drivers/input/ff-core.c b/drivers/input/ff-core.c
index 72c63e5dd630..38df81fcdc3a 100644
--- a/drivers/input/ff-core.c
+++ b/drivers/input/ff-core.c
@@ -337,16 +337,16 @@ int input_ff_create(struct input_dev *dev, int max_effects)
337 dev->ff = ff; 337 dev->ff = ff;
338 dev->flush = flush_effects; 338 dev->flush = flush_effects;
339 dev->event = input_ff_event; 339 dev->event = input_ff_event;
340 set_bit(EV_FF, dev->evbit); 340 __set_bit(EV_FF, dev->evbit);
341 341
342 /* Copy "true" bits into ff device bitmap */ 342 /* Copy "true" bits into ff device bitmap */
343 for (i = 0; i <= FF_MAX; i++) 343 for (i = 0; i <= FF_MAX; i++)
344 if (test_bit(i, dev->ffbit)) 344 if (test_bit(i, dev->ffbit))
345 set_bit(i, ff->ffbit); 345 __set_bit(i, ff->ffbit);
346 346
347 /* we can emulate RUMBLE with periodic effects */ 347 /* we can emulate RUMBLE with periodic effects */
348 if (test_bit(FF_PERIODIC, ff->ffbit)) 348 if (test_bit(FF_PERIODIC, ff->ffbit))
349 set_bit(FF_RUMBLE, dev->ffbit); 349 __set_bit(FF_RUMBLE, dev->ffbit);
350 350
351 return 0; 351 return 0;
352} 352}
@@ -362,12 +362,14 @@ EXPORT_SYMBOL_GPL(input_ff_create);
362 */ 362 */
363void input_ff_destroy(struct input_dev *dev) 363void input_ff_destroy(struct input_dev *dev)
364{ 364{
365 clear_bit(EV_FF, dev->evbit); 365 struct ff_device *ff = dev->ff;
366 if (dev->ff) { 366
367 if (dev->ff->destroy) 367 __clear_bit(EV_FF, dev->evbit);
368 dev->ff->destroy(dev->ff); 368 if (ff) {
369 kfree(dev->ff->private); 369 if (ff->destroy)
370 kfree(dev->ff); 370 ff->destroy(ff);
371 kfree(ff->private);
372 kfree(ff);
371 dev->ff = NULL; 373 dev->ff = NULL;
372 } 374 }
373} 375}
diff --git a/drivers/input/ff-memless.c b/drivers/input/ff-memless.c
index 2d1415e16834..b483b2995fa9 100644
--- a/drivers/input/ff-memless.c
+++ b/drivers/input/ff-memless.c
@@ -61,7 +61,6 @@ struct ml_device {
61 struct ml_effect_state states[FF_MEMLESS_EFFECTS]; 61 struct ml_effect_state states[FF_MEMLESS_EFFECTS];
62 int gain; 62 int gain;
63 struct timer_list timer; 63 struct timer_list timer;
64 spinlock_t timer_lock;
65 struct input_dev *dev; 64 struct input_dev *dev;
66 65
67 int (*play_effect)(struct input_dev *dev, void *data, 66 int (*play_effect)(struct input_dev *dev, void *data,
@@ -368,38 +367,38 @@ static void ml_effect_timer(unsigned long timer_data)
368{ 367{
369 struct input_dev *dev = (struct input_dev *)timer_data; 368 struct input_dev *dev = (struct input_dev *)timer_data;
370 struct ml_device *ml = dev->ff->private; 369 struct ml_device *ml = dev->ff->private;
370 unsigned long flags;
371 371
372 debug("timer: updating effects"); 372 debug("timer: updating effects");
373 373
374 spin_lock(&ml->timer_lock); 374 spin_lock_irqsave(&dev->event_lock, flags);
375 ml_play_effects(ml); 375 ml_play_effects(ml);
376 spin_unlock(&ml->timer_lock); 376 spin_unlock_irqrestore(&dev->event_lock, flags);
377} 377}
378 378
379/*
380 * Sets requested gain for FF effects. Called with dev->event_lock held.
381 */
379static void ml_ff_set_gain(struct input_dev *dev, u16 gain) 382static void ml_ff_set_gain(struct input_dev *dev, u16 gain)
380{ 383{
381 struct ml_device *ml = dev->ff->private; 384 struct ml_device *ml = dev->ff->private;
382 int i; 385 int i;
383 386
384 spin_lock_bh(&ml->timer_lock);
385
386 ml->gain = gain; 387 ml->gain = gain;
387 388
388 for (i = 0; i < FF_MEMLESS_EFFECTS; i++) 389 for (i = 0; i < FF_MEMLESS_EFFECTS; i++)
389 __clear_bit(FF_EFFECT_PLAYING, &ml->states[i].flags); 390 __clear_bit(FF_EFFECT_PLAYING, &ml->states[i].flags);
390 391
391 ml_play_effects(ml); 392 ml_play_effects(ml);
392
393 spin_unlock_bh(&ml->timer_lock);
394} 393}
395 394
395/*
396 * Start/stop specified FF effect. Called with dev->event_lock held.
397 */
396static int ml_ff_playback(struct input_dev *dev, int effect_id, int value) 398static int ml_ff_playback(struct input_dev *dev, int effect_id, int value)
397{ 399{
398 struct ml_device *ml = dev->ff->private; 400 struct ml_device *ml = dev->ff->private;
399 struct ml_effect_state *state = &ml->states[effect_id]; 401 struct ml_effect_state *state = &ml->states[effect_id];
400 unsigned long flags;
401
402 spin_lock_irqsave(&ml->timer_lock, flags);
403 402
404 if (value > 0) { 403 if (value > 0) {
405 debug("initiated play"); 404 debug("initiated play");
@@ -425,8 +424,6 @@ static int ml_ff_playback(struct input_dev *dev, int effect_id, int value)
425 ml_play_effects(ml); 424 ml_play_effects(ml);
426 } 425 }
427 426
428 spin_unlock_irqrestore(&ml->timer_lock, flags);
429
430 return 0; 427 return 0;
431} 428}
432 429
@@ -436,7 +433,7 @@ static int ml_ff_upload(struct input_dev *dev,
436 struct ml_device *ml = dev->ff->private; 433 struct ml_device *ml = dev->ff->private;
437 struct ml_effect_state *state = &ml->states[effect->id]; 434 struct ml_effect_state *state = &ml->states[effect->id];
438 435
439 spin_lock_bh(&ml->timer_lock); 436 spin_lock_irq(&dev->event_lock);
440 437
441 if (test_bit(FF_EFFECT_STARTED, &state->flags)) { 438 if (test_bit(FF_EFFECT_STARTED, &state->flags)) {
442 __clear_bit(FF_EFFECT_PLAYING, &state->flags); 439 __clear_bit(FF_EFFECT_PLAYING, &state->flags);
@@ -448,7 +445,7 @@ static int ml_ff_upload(struct input_dev *dev,
448 ml_schedule_timer(ml); 445 ml_schedule_timer(ml);
449 } 446 }
450 447
451 spin_unlock_bh(&ml->timer_lock); 448 spin_unlock_irq(&dev->event_lock);
452 449
453 return 0; 450 return 0;
454} 451}
@@ -482,7 +479,6 @@ int input_ff_create_memless(struct input_dev *dev, void *data,
482 ml->private = data; 479 ml->private = data;
483 ml->play_effect = play_effect; 480 ml->play_effect = play_effect;
484 ml->gain = 0xffff; 481 ml->gain = 0xffff;
485 spin_lock_init(&ml->timer_lock);
486 setup_timer(&ml->timer, ml_effect_timer, (unsigned long)dev); 482 setup_timer(&ml->timer, ml_effect_timer, (unsigned long)dev);
487 483
488 set_bit(FF_GAIN, dev->ffbit); 484 set_bit(FF_GAIN, dev->ffbit);
diff --git a/drivers/input/input.c b/drivers/input/input.c
index cc763c96fada..2266ecbfbc01 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -1292,17 +1292,24 @@ static int input_dev_uevent(struct device *device, struct kobj_uevent_env *env)
1292 return 0; 1292 return 0;
1293} 1293}
1294 1294
1295#define INPUT_DO_TOGGLE(dev, type, bits, on) \ 1295#define INPUT_DO_TOGGLE(dev, type, bits, on) \
1296 do { \ 1296 do { \
1297 int i; \ 1297 int i; \
1298 if (!test_bit(EV_##type, dev->evbit)) \ 1298 bool active; \
1299 break; \ 1299 \
1300 for (i = 0; i < type##_MAX; i++) { \ 1300 if (!test_bit(EV_##type, dev->evbit)) \
1301 if (!test_bit(i, dev->bits##bit) || \ 1301 break; \
1302 !test_bit(i, dev->bits)) \ 1302 \
1303 continue; \ 1303 for (i = 0; i < type##_MAX; i++) { \
1304 dev->event(dev, EV_##type, i, on); \ 1304 if (!test_bit(i, dev->bits##bit)) \
1305 } \ 1305 continue; \
1306 \
1307 active = test_bit(i, dev->bits); \
1308 if (!active && !on) \
1309 continue; \
1310 \
1311 dev->event(dev, EV_##type, i, on ? active : 0); \
1312 } \
1306 } while (0) 1313 } while (0)
1307 1314
1308#ifdef CONFIG_PM 1315#ifdef CONFIG_PM
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 4452eabbee6d..28e6110d1ff8 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -1174,6 +1174,18 @@ static int atkbd_reconnect(struct serio *serio)
1174 return -1; 1174 return -1;
1175 1175
1176 atkbd_activate(atkbd); 1176 atkbd_activate(atkbd);
1177
1178 /*
1179 * Restore LED state and repeat rate. While input core
1180 * will do this for us at resume time reconnect may happen
1181 * because user requested it via sysfs or simply because
1182 * keyboard was unplugged and plugged in again so we need
1183 * to do it ourselves here.
1184 */
1185 atkbd_set_leds(atkbd);
1186 if (!atkbd->softrepeat)
1187 atkbd_set_repeat_rate(atkbd);
1188
1177 } 1189 }
1178 1190
1179 atkbd_enable(atkbd); 1191 atkbd_enable(atkbd);
@@ -1422,6 +1434,7 @@ static ssize_t atkbd_set_set(struct atkbd *atkbd, const char *buf, size_t count)
1422 1434
1423 atkbd->dev = new_dev; 1435 atkbd->dev = new_dev;
1424 atkbd->set = atkbd_select_set(atkbd, value, atkbd->extra); 1436 atkbd->set = atkbd_select_set(atkbd, value, atkbd->extra);
1437 atkbd_reset_state(atkbd);
1425 atkbd_activate(atkbd); 1438 atkbd_activate(atkbd);
1426 atkbd_set_keycode_table(atkbd); 1439 atkbd_set_keycode_table(atkbd);
1427 atkbd_set_device_attrs(atkbd); 1440 atkbd_set_device_attrs(atkbd);
diff --git a/drivers/input/mouse/lifebook.c b/drivers/input/mouse/lifebook.c
index 5e6308694408..82811558ec33 100644
--- a/drivers/input/mouse/lifebook.c
+++ b/drivers/input/mouse/lifebook.c
@@ -107,8 +107,7 @@ static const struct dmi_system_id lifebook_dmi_table[] = {
107 .matches = { 107 .matches = {
108 DMI_MATCH(DMI_PRODUCT_NAME, "CF-72"), 108 DMI_MATCH(DMI_PRODUCT_NAME, "CF-72"),
109 }, 109 },
110 .callback = lifebook_set_serio_phys, 110 .callback = lifebook_set_6byte_proto,
111 .driver_data = "isa0060/serio3",
112 }, 111 },
113 { 112 {
114 .ident = "Lifebook B142", 113 .ident = "Lifebook B142",
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 690aed905436..07c53798301a 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -581,7 +581,7 @@ static int cortron_detect(struct psmouse *psmouse, bool set_properties)
581static int psmouse_extensions(struct psmouse *psmouse, 581static int psmouse_extensions(struct psmouse *psmouse,
582 unsigned int max_proto, bool set_properties) 582 unsigned int max_proto, bool set_properties)
583{ 583{
584 bool synaptics_hardware = true; 584 bool synaptics_hardware = false;
585 585
586/* 586/*
587 * We always check for lifebook because it does not disturb mouse 587 * We always check for lifebook because it does not disturb mouse
@@ -1673,7 +1673,7 @@ static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp)
1673{ 1673{
1674 int type = *((unsigned int *)kp->arg); 1674 int type = *((unsigned int *)kp->arg);
1675 1675
1676 return sprintf(buffer, "%s\n", psmouse_protocol_by_type(type)->name); 1676 return sprintf(buffer, "%s", psmouse_protocol_by_type(type)->name);
1677} 1677}
1678 1678
1679static int __init psmouse_init(void) 1679static int __init psmouse_init(void)
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index a537925f7651..2bcf1ace27c0 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -447,6 +447,27 @@ static struct dmi_system_id __initdata i8042_dmi_reset_table[] = {
447 DMI_MATCH(DMI_PRODUCT_NAME, "N10"), 447 DMI_MATCH(DMI_PRODUCT_NAME, "N10"),
448 }, 448 },
449 }, 449 },
450 {
451 .ident = "Dell Vostro 1320",
452 .matches = {
453 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
454 DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1320"),
455 },
456 },
457 {
458 .ident = "Dell Vostro 1520",
459 .matches = {
460 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
461 DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1520"),
462 },
463 },
464 {
465 .ident = "Dell Vostro 1720",
466 .matches = {
467 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
468 DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1720"),
469 },
470 },
450 { } 471 { }
451}; 472};
452 473
diff --git a/drivers/isdn/hardware/mISDN/hfcmulti.c b/drivers/isdn/hardware/mISDN/hfcmulti.c
index faed794cf75a..a6624ad252c5 100644
--- a/drivers/isdn/hardware/mISDN/hfcmulti.c
+++ b/drivers/isdn/hardware/mISDN/hfcmulti.c
@@ -5481,7 +5481,7 @@ HFCmulti_init(void)
5481 if (err) { 5481 if (err) {
5482 printk(KERN_ERR "error registering embedded driver: " 5482 printk(KERN_ERR "error registering embedded driver: "
5483 "%x\n", err); 5483 "%x\n", err);
5484 return -err; 5484 return err;
5485 } 5485 }
5486 HFC_cnt++; 5486 HFC_cnt++;
5487 printk(KERN_INFO "%d devices registered\n", HFC_cnt); 5487 printk(KERN_INFO "%d devices registered\n", HFC_cnt);
diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c
index 2d14b64202a3..642d5aaf53ce 100644
--- a/drivers/isdn/i4l/isdn_ppp.c
+++ b/drivers/isdn/i4l/isdn_ppp.c
@@ -1535,10 +1535,8 @@ static int isdn_ppp_mp_bundle_array_init(void)
1535 int sz = ISDN_MAX_CHANNELS*sizeof(ippp_bundle); 1535 int sz = ISDN_MAX_CHANNELS*sizeof(ippp_bundle);
1536 if( (isdn_ppp_bundle_arr = kzalloc(sz, GFP_KERNEL)) == NULL ) 1536 if( (isdn_ppp_bundle_arr = kzalloc(sz, GFP_KERNEL)) == NULL )
1537 return -ENOMEM; 1537 return -ENOMEM;
1538 for (i = 0; i < ISDN_MAX_CHANNELS; i++) { 1538 for( i = 0; i < ISDN_MAX_CHANNELS; i++ )
1539 spin_lock_init(&isdn_ppp_bundle_arr[i].lock); 1539 spin_lock_init(&isdn_ppp_bundle_arr[i].lock);
1540 skb_queue_head_init(&isdn_ppp_bundle_arr[i].frags);
1541 }
1542 return 0; 1540 return 0;
1543} 1541}
1544 1542
@@ -1571,7 +1569,7 @@ static int isdn_ppp_mp_init( isdn_net_local * lp, ippp_bundle * add_to )
1571 if ((lp->netdev->pb = isdn_ppp_mp_bundle_alloc()) == NULL) 1569 if ((lp->netdev->pb = isdn_ppp_mp_bundle_alloc()) == NULL)
1572 return -ENOMEM; 1570 return -ENOMEM;
1573 lp->next = lp->last = lp; /* nobody else in a queue */ 1571 lp->next = lp->last = lp; /* nobody else in a queue */
1574 skb_queue_head_init(&lp->netdev->pb->frags); 1572 lp->netdev->pb->frags = NULL;
1575 lp->netdev->pb->frames = 0; 1573 lp->netdev->pb->frames = 0;
1576 lp->netdev->pb->seq = UINT_MAX; 1574 lp->netdev->pb->seq = UINT_MAX;
1577 } 1575 }
@@ -1583,29 +1581,28 @@ static int isdn_ppp_mp_init( isdn_net_local * lp, ippp_bundle * add_to )
1583 1581
1584static u32 isdn_ppp_mp_get_seq( int short_seq, 1582static u32 isdn_ppp_mp_get_seq( int short_seq,
1585 struct sk_buff * skb, u32 last_seq ); 1583 struct sk_buff * skb, u32 last_seq );
1586static void isdn_ppp_mp_discard(ippp_bundle *mp, struct sk_buff *from, 1584static struct sk_buff * isdn_ppp_mp_discard( ippp_bundle * mp,
1587 struct sk_buff *to); 1585 struct sk_buff * from, struct sk_buff * to );
1588static void isdn_ppp_mp_reassembly(isdn_net_dev *net_dev, isdn_net_local *lp, 1586static void isdn_ppp_mp_reassembly( isdn_net_dev * net_dev, isdn_net_local * lp,
1589 struct sk_buff *from, struct sk_buff *to, 1587 struct sk_buff * from, struct sk_buff * to );
1590 u32 lastseq); 1588static void isdn_ppp_mp_free_skb( ippp_bundle * mp, struct sk_buff * skb );
1591static void isdn_ppp_mp_free_skb(ippp_bundle *mp, struct sk_buff *skb);
1592static void isdn_ppp_mp_print_recv_pkt( int slot, struct sk_buff * skb ); 1589static void isdn_ppp_mp_print_recv_pkt( int slot, struct sk_buff * skb );
1593 1590
1594static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp, 1591static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp,
1595 struct sk_buff *skb) 1592 struct sk_buff *skb)
1596{ 1593{
1597 struct sk_buff *newfrag, *frag, *start, *nextf;
1598 u32 newseq, minseq, thisseq;
1599 isdn_mppp_stats *stats;
1600 struct ippp_struct *is; 1594 struct ippp_struct *is;
1595 isdn_net_local * lpq;
1596 ippp_bundle * mp;
1597 isdn_mppp_stats * stats;
1598 struct sk_buff * newfrag, * frag, * start, *nextf;
1599 u32 newseq, minseq, thisseq;
1601 unsigned long flags; 1600 unsigned long flags;
1602 isdn_net_local *lpq;
1603 ippp_bundle *mp;
1604 int slot; 1601 int slot;
1605 1602
1606 spin_lock_irqsave(&net_dev->pb->lock, flags); 1603 spin_lock_irqsave(&net_dev->pb->lock, flags);
1607 mp = net_dev->pb; 1604 mp = net_dev->pb;
1608 stats = &mp->stats; 1605 stats = &mp->stats;
1609 slot = lp->ppp_slot; 1606 slot = lp->ppp_slot;
1610 if (slot < 0 || slot >= ISDN_MAX_CHANNELS) { 1607 if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
1611 printk(KERN_ERR "%s: lp->ppp_slot(%d)\n", 1608 printk(KERN_ERR "%s: lp->ppp_slot(%d)\n",
@@ -1616,19 +1613,20 @@ static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp,
1616 return; 1613 return;
1617 } 1614 }
1618 is = ippp_table[slot]; 1615 is = ippp_table[slot];
1619 if (++mp->frames > stats->max_queue_len) 1616 if( ++mp->frames > stats->max_queue_len )
1620 stats->max_queue_len = mp->frames; 1617 stats->max_queue_len = mp->frames;
1621 1618
1622 if (is->debug & 0x8) 1619 if (is->debug & 0x8)
1623 isdn_ppp_mp_print_recv_pkt(lp->ppp_slot, skb); 1620 isdn_ppp_mp_print_recv_pkt(lp->ppp_slot, skb);
1624 1621
1625 newseq = isdn_ppp_mp_get_seq(is->mpppcfg & SC_IN_SHORT_SEQ, 1622 newseq = isdn_ppp_mp_get_seq(is->mpppcfg & SC_IN_SHORT_SEQ,
1626 skb, is->last_link_seqno); 1623 skb, is->last_link_seqno);
1624
1627 1625
1628 /* if this packet seq # is less than last already processed one, 1626 /* if this packet seq # is less than last already processed one,
1629 * toss it right away, but check for sequence start case first 1627 * toss it right away, but check for sequence start case first
1630 */ 1628 */
1631 if (mp->seq > MP_LONGSEQ_MAX && (newseq & MP_LONGSEQ_MAXBIT)) { 1629 if( mp->seq > MP_LONGSEQ_MAX && (newseq & MP_LONGSEQ_MAXBIT) ) {
1632 mp->seq = newseq; /* the first packet: required for 1630 mp->seq = newseq; /* the first packet: required for
1633 * rfc1990 non-compliant clients -- 1631 * rfc1990 non-compliant clients --
1634 * prevents constant packet toss */ 1632 * prevents constant packet toss */
@@ -1638,7 +1636,7 @@ static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp,
1638 spin_unlock_irqrestore(&mp->lock, flags); 1636 spin_unlock_irqrestore(&mp->lock, flags);
1639 return; 1637 return;
1640 } 1638 }
1641 1639
1642 /* find the minimum received sequence number over all links */ 1640 /* find the minimum received sequence number over all links */
1643 is->last_link_seqno = minseq = newseq; 1641 is->last_link_seqno = minseq = newseq;
1644 for (lpq = net_dev->queue;;) { 1642 for (lpq = net_dev->queue;;) {
@@ -1659,31 +1657,22 @@ static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp,
1659 * packets */ 1657 * packets */
1660 newfrag = skb; 1658 newfrag = skb;
1661 1659
1662 /* Insert new fragment into the proper sequence slot. */ 1660 /* if this new fragment is before the first one, then enqueue it now. */
1663 skb_queue_walk(&mp->frags, frag) { 1661 if ((frag = mp->frags) == NULL || MP_LT(newseq, MP_SEQ(frag))) {
1664 if (MP_SEQ(frag) == newseq) { 1662 newfrag->next = frag;
1665 isdn_ppp_mp_free_skb(mp, newfrag); 1663 mp->frags = frag = newfrag;
1666 newfrag = NULL; 1664 newfrag = NULL;
1667 break; 1665 }
1668 }
1669 if (MP_LT(newseq, MP_SEQ(frag))) {
1670 __skb_queue_before(&mp->frags, frag, newfrag);
1671 newfrag = NULL;
1672 break;
1673 }
1674 }
1675 if (newfrag)
1676 __skb_queue_tail(&mp->frags, newfrag);
1677 1666
1678 frag = skb_peek(&mp->frags); 1667 start = MP_FLAGS(frag) & MP_BEGIN_FRAG &&
1679 start = ((MP_FLAGS(frag) & MP_BEGIN_FRAG) && 1668 MP_SEQ(frag) == mp->seq ? frag : NULL;
1680 (MP_SEQ(frag) == mp->seq)) ? frag : NULL;
1681 if (!start)
1682 goto check_overflow;
1683 1669
1684 /* main fragment traversing loop 1670 /*
1671 * main fragment traversing loop
1685 * 1672 *
1686 * try to accomplish several tasks: 1673 * try to accomplish several tasks:
1674 * - insert new fragment into the proper sequence slot (once that's done
1675 * newfrag will be set to NULL)
1687 * - reassemble any complete fragment sequence (non-null 'start' 1676 * - reassemble any complete fragment sequence (non-null 'start'
1688 * indicates there is a continguous sequence present) 1677 * indicates there is a continguous sequence present)
1689 * - discard any incomplete sequences that are below minseq -- due 1678 * - discard any incomplete sequences that are below minseq -- due
@@ -1692,46 +1681,71 @@ static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp,
1692 * come to complete such sequence and it should be discarded 1681 * come to complete such sequence and it should be discarded
1693 * 1682 *
1694 * loop completes when we accomplished the following tasks: 1683 * loop completes when we accomplished the following tasks:
1684 * - new fragment is inserted in the proper sequence ('newfrag' is
1685 * set to NULL)
1695 * - we hit a gap in the sequence, so no reassembly/processing is 1686 * - we hit a gap in the sequence, so no reassembly/processing is
1696 * possible ('start' would be set to NULL) 1687 * possible ('start' would be set to NULL)
1697 * 1688 *
1698 * algorithm for this code is derived from code in the book 1689 * algorithm for this code is derived from code in the book
1699 * 'PPP Design And Debugging' by James Carlson (Addison-Wesley) 1690 * 'PPP Design And Debugging' by James Carlson (Addison-Wesley)
1700 */ 1691 */
1701 skb_queue_walk_safe(&mp->frags, frag, nextf) { 1692 while (start != NULL || newfrag != NULL) {
1702 thisseq = MP_SEQ(frag); 1693
1703 1694 thisseq = MP_SEQ(frag);
1704 /* check for misplaced start */ 1695 nextf = frag->next;
1705 if (start != frag && (MP_FLAGS(frag) & MP_BEGIN_FRAG)) { 1696
1706 printk(KERN_WARNING"isdn_mppp(seq %d): new " 1697 /* drop any duplicate fragments */
1707 "BEGIN flag with no prior END", thisseq); 1698 if (newfrag != NULL && thisseq == newseq) {
1708 stats->seqerrs++; 1699 isdn_ppp_mp_free_skb(mp, newfrag);
1709 stats->frame_drops++; 1700 newfrag = NULL;
1710 isdn_ppp_mp_discard(mp, start, frag); 1701 }
1711 start = frag; 1702
1712 } else if (MP_LE(thisseq, minseq)) { 1703 /* insert new fragment before next element if possible. */
1713 if (MP_FLAGS(frag) & MP_BEGIN_FRAG) 1704 if (newfrag != NULL && (nextf == NULL ||
1705 MP_LT(newseq, MP_SEQ(nextf)))) {
1706 newfrag->next = nextf;
1707 frag->next = nextf = newfrag;
1708 newfrag = NULL;
1709 }
1710
1711 if (start != NULL) {
1712 /* check for misplaced start */
1713 if (start != frag && (MP_FLAGS(frag) & MP_BEGIN_FRAG)) {
1714 printk(KERN_WARNING"isdn_mppp(seq %d): new "
1715 "BEGIN flag with no prior END", thisseq);
1716 stats->seqerrs++;
1717 stats->frame_drops++;
1718 start = isdn_ppp_mp_discard(mp, start,frag);
1719 nextf = frag->next;
1720 }
1721 } else if (MP_LE(thisseq, minseq)) {
1722 if (MP_FLAGS(frag) & MP_BEGIN_FRAG)
1714 start = frag; 1723 start = frag;
1715 else { 1724 else {
1716 if (MP_FLAGS(frag) & MP_END_FRAG) 1725 if (MP_FLAGS(frag) & MP_END_FRAG)
1717 stats->frame_drops++; 1726 stats->frame_drops++;
1718 __skb_unlink(skb, &mp->frags); 1727 if( mp->frags == frag )
1728 mp->frags = nextf;
1719 isdn_ppp_mp_free_skb(mp, frag); 1729 isdn_ppp_mp_free_skb(mp, frag);
1730 frag = nextf;
1720 continue; 1731 continue;
1721 } 1732 }
1722 } 1733 }
1723 1734
1724 /* if we have end fragment, then we have full reassembly 1735 /* if start is non-null and we have end fragment, then
1725 * sequence -- reassemble and process packet now 1736 * we have full reassembly sequence -- reassemble
1737 * and process packet now
1726 */ 1738 */
1727 if (MP_FLAGS(frag) & MP_END_FRAG) { 1739 if (start != NULL && (MP_FLAGS(frag) & MP_END_FRAG)) {
1728 minseq = mp->seq = (thisseq+1) & MP_LONGSEQ_MASK; 1740 minseq = mp->seq = (thisseq+1) & MP_LONGSEQ_MASK;
1729 /* Reassemble the packet then dispatch it */ 1741 /* Reassemble the packet then dispatch it */
1730 isdn_ppp_mp_reassembly(net_dev, lp, start, frag, thisseq); 1742 isdn_ppp_mp_reassembly(net_dev, lp, start, nextf);
1743
1744 start = NULL;
1745 frag = NULL;
1731 1746
1732 start = NULL; 1747 mp->frags = nextf;
1733 frag = NULL; 1748 }
1734 }
1735 1749
1736 /* check if need to update start pointer: if we just 1750 /* check if need to update start pointer: if we just
1737 * reassembled the packet and sequence is contiguous 1751 * reassembled the packet and sequence is contiguous
@@ -1742,25 +1756,26 @@ static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp,
1742 * below low watermark and set start to the next frag or 1756 * below low watermark and set start to the next frag or
1743 * clear start ptr. 1757 * clear start ptr.
1744 */ 1758 */
1745 if (nextf != (struct sk_buff *)&mp->frags && 1759 if (nextf != NULL &&
1746 ((thisseq+1) & MP_LONGSEQ_MASK) == MP_SEQ(nextf)) { 1760 ((thisseq+1) & MP_LONGSEQ_MASK) == MP_SEQ(nextf)) {
1747 /* if we just reassembled and the next one is here, 1761 /* if we just reassembled and the next one is here,
1748 * then start another reassembly. 1762 * then start another reassembly. */
1749 */ 1763
1750 if (frag == NULL) { 1764 if (frag == NULL) {
1751 if (MP_FLAGS(nextf) & MP_BEGIN_FRAG) 1765 if (MP_FLAGS(nextf) & MP_BEGIN_FRAG)
1752 start = nextf; 1766 start = nextf;
1753 else { 1767 else
1754 printk(KERN_WARNING"isdn_mppp(seq %d):" 1768 {
1755 " END flag with no following " 1769 printk(KERN_WARNING"isdn_mppp(seq %d):"
1756 "BEGIN", thisseq); 1770 " END flag with no following "
1771 "BEGIN", thisseq);
1757 stats->seqerrs++; 1772 stats->seqerrs++;
1758 } 1773 }
1759 } 1774 }
1760 } else { 1775
1761 if (nextf != (struct sk_buff *)&mp->frags && 1776 } else {
1762 frag != NULL && 1777 if ( nextf != NULL && frag != NULL &&
1763 MP_LT(thisseq, minseq)) { 1778 MP_LT(thisseq, minseq)) {
1764 /* we've got a break in the sequence 1779 /* we've got a break in the sequence
1765 * and we not at the end yet 1780 * and we not at the end yet
1766 * and we did not just reassembled 1781 * and we did not just reassembled
@@ -1769,39 +1784,41 @@ static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp,
1769 * discard all the frames below low watermark 1784 * discard all the frames below low watermark
1770 * and start over */ 1785 * and start over */
1771 stats->frame_drops++; 1786 stats->frame_drops++;
1772 isdn_ppp_mp_discard(mp, start, nextf); 1787 mp->frags = isdn_ppp_mp_discard(mp,start,nextf);
1773 } 1788 }
1774 /* break in the sequence, no reassembly */ 1789 /* break in the sequence, no reassembly */
1775 start = NULL; 1790 start = NULL;
1776 } 1791 }
1777 if (!start) 1792
1778 break; 1793 frag = nextf;
1779 } 1794 } /* while -- main loop */
1780 1795
1781check_overflow: 1796 if (mp->frags == NULL)
1797 mp->frags = frag;
1798
1782 /* rather straighforward way to deal with (not very) possible 1799 /* rather straighforward way to deal with (not very) possible
1783 * queue overflow 1800 * queue overflow */
1784 */
1785 if (mp->frames > MP_MAX_QUEUE_LEN) { 1801 if (mp->frames > MP_MAX_QUEUE_LEN) {
1786 stats->overflows++; 1802 stats->overflows++;
1787 skb_queue_walk_safe(&mp->frags, frag, nextf) { 1803 while (mp->frames > MP_MAX_QUEUE_LEN) {
1788 if (mp->frames <= MP_MAX_QUEUE_LEN) 1804 frag = mp->frags->next;
1789 break; 1805 isdn_ppp_mp_free_skb(mp, mp->frags);
1790 __skb_unlink(frag, &mp->frags); 1806 mp->frags = frag;
1791 isdn_ppp_mp_free_skb(mp, frag);
1792 } 1807 }
1793 } 1808 }
1794 spin_unlock_irqrestore(&mp->lock, flags); 1809 spin_unlock_irqrestore(&mp->lock, flags);
1795} 1810}
1796 1811
1797static void isdn_ppp_mp_cleanup(isdn_net_local *lp) 1812static void isdn_ppp_mp_cleanup( isdn_net_local * lp )
1798{ 1813{
1799 struct sk_buff *skb, *tmp; 1814 struct sk_buff * frag = lp->netdev->pb->frags;
1800 1815 struct sk_buff * nextfrag;
1801 skb_queue_walk_safe(&lp->netdev->pb->frags, skb, tmp) { 1816 while( frag ) {
1802 __skb_unlink(skb, &lp->netdev->pb->frags); 1817 nextfrag = frag->next;
1803 isdn_ppp_mp_free_skb(lp->netdev->pb, skb); 1818 isdn_ppp_mp_free_skb(lp->netdev->pb, frag);
1804 } 1819 frag = nextfrag;
1820 }
1821 lp->netdev->pb->frags = NULL;
1805} 1822}
1806 1823
1807static u32 isdn_ppp_mp_get_seq( int short_seq, 1824static u32 isdn_ppp_mp_get_seq( int short_seq,
@@ -1838,115 +1855,72 @@ static u32 isdn_ppp_mp_get_seq( int short_seq,
1838 return seq; 1855 return seq;
1839} 1856}
1840 1857
1841static void isdn_ppp_mp_discard(ippp_bundle *mp, struct sk_buff *from, 1858struct sk_buff * isdn_ppp_mp_discard( ippp_bundle * mp,
1842 struct sk_buff *to) 1859 struct sk_buff * from, struct sk_buff * to )
1843{ 1860{
1844 if (from) { 1861 if( from )
1845 struct sk_buff *skb, *tmp; 1862 while (from != to) {
1846 int freeing = 0; 1863 struct sk_buff * next = from->next;
1847 1864 isdn_ppp_mp_free_skb(mp, from);
1848 skb_queue_walk_safe(&mp->frags, skb, tmp) { 1865 from = next;
1849 if (skb == to)
1850 break;
1851 if (skb == from)
1852 freeing = 1;
1853 if (!freeing)
1854 continue;
1855 __skb_unlink(skb, &mp->frags);
1856 isdn_ppp_mp_free_skb(mp, skb);
1857 } 1866 }
1858 } 1867 return from;
1859}
1860
1861static unsigned int calc_tot_len(struct sk_buff_head *queue,
1862 struct sk_buff *from, struct sk_buff *to)
1863{
1864 unsigned int tot_len = 0;
1865 struct sk_buff *skb;
1866 int found_start = 0;
1867
1868 skb_queue_walk(queue, skb) {
1869 if (skb == from)
1870 found_start = 1;
1871 if (!found_start)
1872 continue;
1873 tot_len += skb->len - MP_HEADER_LEN;
1874 if (skb == to)
1875 break;
1876 }
1877 return tot_len;
1878} 1868}
1879 1869
1880/* Reassemble packet using fragments in the reassembly queue from 1870void isdn_ppp_mp_reassembly( isdn_net_dev * net_dev, isdn_net_local * lp,
1881 * 'from' until 'to', inclusive. 1871 struct sk_buff * from, struct sk_buff * to )
1882 */
1883static void isdn_ppp_mp_reassembly(isdn_net_dev *net_dev, isdn_net_local *lp,
1884 struct sk_buff *from, struct sk_buff *to,
1885 u32 lastseq)
1886{ 1872{
1887 ippp_bundle *mp = net_dev->pb; 1873 ippp_bundle * mp = net_dev->pb;
1888 unsigned int tot_len;
1889 struct sk_buff *skb;
1890 int proto; 1874 int proto;
1875 struct sk_buff * skb;
1876 unsigned int tot_len;
1891 1877
1892 if (lp->ppp_slot < 0 || lp->ppp_slot >= ISDN_MAX_CHANNELS) { 1878 if (lp->ppp_slot < 0 || lp->ppp_slot >= ISDN_MAX_CHANNELS) {
1893 printk(KERN_ERR "%s: lp->ppp_slot(%d) out of range\n", 1879 printk(KERN_ERR "%s: lp->ppp_slot(%d) out of range\n",
1894 __func__, lp->ppp_slot); 1880 __func__, lp->ppp_slot);
1895 return; 1881 return;
1896 } 1882 }
1897 1883 if( MP_FLAGS(from) == (MP_BEGIN_FRAG | MP_END_FRAG) ) {
1898 tot_len = calc_tot_len(&mp->frags, from, to); 1884 if( ippp_table[lp->ppp_slot]->debug & 0x40 )
1899
1900 if (MP_FLAGS(from) == (MP_BEGIN_FRAG | MP_END_FRAG)) {
1901 if (ippp_table[lp->ppp_slot]->debug & 0x40)
1902 printk(KERN_DEBUG "isdn_mppp: reassembly: frame %d, " 1885 printk(KERN_DEBUG "isdn_mppp: reassembly: frame %d, "
1903 "len %d\n", MP_SEQ(from), from->len); 1886 "len %d\n", MP_SEQ(from), from->len );
1904 skb = from; 1887 skb = from;
1905 skb_pull(skb, MP_HEADER_LEN); 1888 skb_pull(skb, MP_HEADER_LEN);
1906 __skb_unlink(skb, &mp->frags);
1907 mp->frames--; 1889 mp->frames--;
1908 } else { 1890 } else {
1909 struct sk_buff *walk, *tmp; 1891 struct sk_buff * frag;
1910 int found_start = 0; 1892 int n;
1911 1893
1912 if (ippp_table[lp->ppp_slot]->debug & 0x40) 1894 for(tot_len=n=0, frag=from; frag != to; frag=frag->next, n++)
1913 printk(KERN_DEBUG"isdn_mppp: reassembling frames %d " 1895 tot_len += frag->len - MP_HEADER_LEN;
1914 "to %d, len %d\n", MP_SEQ(from), lastseq,
1915 tot_len);
1916 1896
1917 skb = dev_alloc_skb(tot_len); 1897 if( ippp_table[lp->ppp_slot]->debug & 0x40 )
1918 if (!skb) 1898 printk(KERN_DEBUG"isdn_mppp: reassembling frames %d "
1899 "to %d, len %d\n", MP_SEQ(from),
1900 (MP_SEQ(from)+n-1) & MP_LONGSEQ_MASK, tot_len );
1901 if( (skb = dev_alloc_skb(tot_len)) == NULL ) {
1919 printk(KERN_ERR "isdn_mppp: cannot allocate sk buff " 1902 printk(KERN_ERR "isdn_mppp: cannot allocate sk buff "
1920 "of size %d\n", tot_len); 1903 "of size %d\n", tot_len);
1921 1904 isdn_ppp_mp_discard(mp, from, to);
1922 found_start = 0; 1905 return;
1923 skb_queue_walk_safe(&mp->frags, walk, tmp) { 1906 }
1924 if (walk == from)
1925 found_start = 1;
1926 if (!found_start)
1927 continue;
1928 1907
1929 if (skb) { 1908 while( from != to ) {
1930 unsigned int len = walk->len - MP_HEADER_LEN; 1909 unsigned int len = from->len - MP_HEADER_LEN;
1931 skb_copy_from_linear_data_offset(walk, MP_HEADER_LEN,
1932 skb_put(skb, len),
1933 len);
1934 }
1935 __skb_unlink(walk, &mp->frags);
1936 isdn_ppp_mp_free_skb(mp, walk);
1937 1910
1938 if (walk == to) 1911 skb_copy_from_linear_data_offset(from, MP_HEADER_LEN,
1939 break; 1912 skb_put(skb,len),
1913 len);
1914 frag = from->next;
1915 isdn_ppp_mp_free_skb(mp, from);
1916 from = frag;
1940 } 1917 }
1941 } 1918 }
1942 if (!skb)
1943 return;
1944
1945 proto = isdn_ppp_strip_proto(skb); 1919 proto = isdn_ppp_strip_proto(skb);
1946 isdn_ppp_push_higher(net_dev, lp, skb, proto); 1920 isdn_ppp_push_higher(net_dev, lp, skb, proto);
1947} 1921}
1948 1922
1949static void isdn_ppp_mp_free_skb(ippp_bundle *mp, struct sk_buff *skb) 1923static void isdn_ppp_mp_free_skb(ippp_bundle * mp, struct sk_buff * skb)
1950{ 1924{
1951 dev_kfree_skb(skb); 1925 dev_kfree_skb(skb);
1952 mp->frames--; 1926 mp->frames--;
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index 7467980b8cf9..e5225d28f392 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -78,6 +78,8 @@ static int __devinit create_gpio_led(const struct gpio_led *template,
78{ 78{
79 int ret, state; 79 int ret, state;
80 80
81 led_dat->gpio = -1;
82
81 /* skip leds that aren't available */ 83 /* skip leds that aren't available */
82 if (!gpio_is_valid(template->gpio)) { 84 if (!gpio_is_valid(template->gpio)) {
83 printk(KERN_INFO "Skipping unavailable LED gpio %d (%s)\n", 85 printk(KERN_INFO "Skipping unavailable LED gpio %d (%s)\n",
diff --git a/drivers/md/md.c b/drivers/md/md.c
index e64c971038d1..b182f86a19dd 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -944,6 +944,14 @@ static int super_90_validate(mddev_t *mddev, mdk_rdev_t *rdev)
944 desc->raid_disk < mddev->raid_disks */) { 944 desc->raid_disk < mddev->raid_disks */) {
945 set_bit(In_sync, &rdev->flags); 945 set_bit(In_sync, &rdev->flags);
946 rdev->raid_disk = desc->raid_disk; 946 rdev->raid_disk = desc->raid_disk;
947 } else if (desc->state & (1<<MD_DISK_ACTIVE)) {
948 /* active but not in sync implies recovery up to
949 * reshape position. We don't know exactly where
950 * that is, so set to zero for now */
951 if (mddev->minor_version >= 91) {
952 rdev->recovery_offset = 0;
953 rdev->raid_disk = desc->raid_disk;
954 }
947 } 955 }
948 if (desc->state & (1<<MD_DISK_WRITEMOSTLY)) 956 if (desc->state & (1<<MD_DISK_WRITEMOSTLY))
949 set_bit(WriteMostly, &rdev->flags); 957 set_bit(WriteMostly, &rdev->flags);
@@ -1032,8 +1040,19 @@ static void super_90_sync(mddev_t *mddev, mdk_rdev_t *rdev)
1032 list_for_each_entry(rdev2, &mddev->disks, same_set) { 1040 list_for_each_entry(rdev2, &mddev->disks, same_set) {
1033 mdp_disk_t *d; 1041 mdp_disk_t *d;
1034 int desc_nr; 1042 int desc_nr;
1035 if (rdev2->raid_disk >= 0 && test_bit(In_sync, &rdev2->flags) 1043 int is_active = test_bit(In_sync, &rdev2->flags);
1036 && !test_bit(Faulty, &rdev2->flags)) 1044
1045 if (rdev2->raid_disk >= 0 &&
1046 sb->minor_version >= 91)
1047 /* we have nowhere to store the recovery_offset,
1048 * but if it is not below the reshape_position,
1049 * we can piggy-back on that.
1050 */
1051 is_active = 1;
1052 if (rdev2->raid_disk < 0 ||
1053 test_bit(Faulty, &rdev2->flags))
1054 is_active = 0;
1055 if (is_active)
1037 desc_nr = rdev2->raid_disk; 1056 desc_nr = rdev2->raid_disk;
1038 else 1057 else
1039 desc_nr = next_spare++; 1058 desc_nr = next_spare++;
@@ -1043,16 +1062,16 @@ static void super_90_sync(mddev_t *mddev, mdk_rdev_t *rdev)
1043 d->number = rdev2->desc_nr; 1062 d->number = rdev2->desc_nr;
1044 d->major = MAJOR(rdev2->bdev->bd_dev); 1063 d->major = MAJOR(rdev2->bdev->bd_dev);
1045 d->minor = MINOR(rdev2->bdev->bd_dev); 1064 d->minor = MINOR(rdev2->bdev->bd_dev);
1046 if (rdev2->raid_disk >= 0 && test_bit(In_sync, &rdev2->flags) 1065 if (is_active)
1047 && !test_bit(Faulty, &rdev2->flags))
1048 d->raid_disk = rdev2->raid_disk; 1066 d->raid_disk = rdev2->raid_disk;
1049 else 1067 else
1050 d->raid_disk = rdev2->desc_nr; /* compatibility */ 1068 d->raid_disk = rdev2->desc_nr; /* compatibility */
1051 if (test_bit(Faulty, &rdev2->flags)) 1069 if (test_bit(Faulty, &rdev2->flags))
1052 d->state = (1<<MD_DISK_FAULTY); 1070 d->state = (1<<MD_DISK_FAULTY);
1053 else if (test_bit(In_sync, &rdev2->flags)) { 1071 else if (is_active) {
1054 d->state = (1<<MD_DISK_ACTIVE); 1072 d->state = (1<<MD_DISK_ACTIVE);
1055 d->state |= (1<<MD_DISK_SYNC); 1073 if (test_bit(In_sync, &rdev2->flags))
1074 d->state |= (1<<MD_DISK_SYNC);
1056 active++; 1075 active++;
1057 working++; 1076 working++;
1058 } else { 1077 } else {
@@ -1382,8 +1401,6 @@ static void super_1_sync(mddev_t *mddev, mdk_rdev_t *rdev)
1382 1401
1383 if (rdev->raid_disk >= 0 && 1402 if (rdev->raid_disk >= 0 &&
1384 !test_bit(In_sync, &rdev->flags)) { 1403 !test_bit(In_sync, &rdev->flags)) {
1385 if (mddev->curr_resync_completed > rdev->recovery_offset)
1386 rdev->recovery_offset = mddev->curr_resync_completed;
1387 if (rdev->recovery_offset > 0) { 1404 if (rdev->recovery_offset > 0) {
1388 sb->feature_map |= 1405 sb->feature_map |=
1389 cpu_to_le32(MD_FEATURE_RECOVERY_OFFSET); 1406 cpu_to_le32(MD_FEATURE_RECOVERY_OFFSET);
@@ -1917,6 +1934,14 @@ static void sync_sbs(mddev_t * mddev, int nospares)
1917 */ 1934 */
1918 mdk_rdev_t *rdev; 1935 mdk_rdev_t *rdev;
1919 1936
1937 /* First make sure individual recovery_offsets are correct */
1938 list_for_each_entry(rdev, &mddev->disks, same_set) {
1939 if (rdev->raid_disk >= 0 &&
1940 !test_bit(In_sync, &rdev->flags) &&
1941 mddev->curr_resync_completed > rdev->recovery_offset)
1942 rdev->recovery_offset = mddev->curr_resync_completed;
1943
1944 }
1920 list_for_each_entry(rdev, &mddev->disks, same_set) { 1945 list_for_each_entry(rdev, &mddev->disks, same_set) {
1921 if (rdev->sb_events == mddev->events || 1946 if (rdev->sb_events == mddev->events ||
1922 (nospares && 1947 (nospares &&
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index a053423785c9..e07ce2e033a9 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1650,11 +1650,12 @@ static void raid1d(mddev_t *mddev)
1650 r1_bio->sector, 1650 r1_bio->sector,
1651 r1_bio->sectors); 1651 r1_bio->sectors);
1652 unfreeze_array(conf); 1652 unfreeze_array(conf);
1653 } 1653 } else
1654 md_error(mddev,
1655 conf->mirrors[r1_bio->read_disk].rdev);
1654 1656
1655 bio = r1_bio->bios[r1_bio->read_disk]; 1657 bio = r1_bio->bios[r1_bio->read_disk];
1656 if ((disk=read_balance(conf, r1_bio)) == -1 || 1658 if ((disk=read_balance(conf, r1_bio)) == -1) {
1657 disk == r1_bio->read_disk) {
1658 printk(KERN_ALERT "raid1: %s: unrecoverable I/O" 1659 printk(KERN_ALERT "raid1: %s: unrecoverable I/O"
1659 " read error for block %llu\n", 1660 " read error for block %llu\n",
1660 bdevname(bio->bi_bdev,b), 1661 bdevname(bio->bi_bdev,b),
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index dcce204b6c73..d29215d966da 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -4823,11 +4823,40 @@ static raid5_conf_t *setup_conf(mddev_t *mddev)
4823 return ERR_PTR(-ENOMEM); 4823 return ERR_PTR(-ENOMEM);
4824} 4824}
4825 4825
4826
4827static int only_parity(int raid_disk, int algo, int raid_disks, int max_degraded)
4828{
4829 switch (algo) {
4830 case ALGORITHM_PARITY_0:
4831 if (raid_disk < max_degraded)
4832 return 1;
4833 break;
4834 case ALGORITHM_PARITY_N:
4835 if (raid_disk >= raid_disks - max_degraded)
4836 return 1;
4837 break;
4838 case ALGORITHM_PARITY_0_6:
4839 if (raid_disk == 0 ||
4840 raid_disk == raid_disks - 1)
4841 return 1;
4842 break;
4843 case ALGORITHM_LEFT_ASYMMETRIC_6:
4844 case ALGORITHM_RIGHT_ASYMMETRIC_6:
4845 case ALGORITHM_LEFT_SYMMETRIC_6:
4846 case ALGORITHM_RIGHT_SYMMETRIC_6:
4847 if (raid_disk == raid_disks - 1)
4848 return 1;
4849 }
4850 return 0;
4851}
4852
4826static int run(mddev_t *mddev) 4853static int run(mddev_t *mddev)
4827{ 4854{
4828 raid5_conf_t *conf; 4855 raid5_conf_t *conf;
4829 int working_disks = 0, chunk_size; 4856 int working_disks = 0, chunk_size;
4857 int dirty_parity_disks = 0;
4830 mdk_rdev_t *rdev; 4858 mdk_rdev_t *rdev;
4859 sector_t reshape_offset = 0;
4831 4860
4832 if (mddev->recovery_cp != MaxSector) 4861 if (mddev->recovery_cp != MaxSector)
4833 printk(KERN_NOTICE "raid5: %s is not clean" 4862 printk(KERN_NOTICE "raid5: %s is not clean"
@@ -4861,6 +4890,7 @@ static int run(mddev_t *mddev)
4861 "on a stripe boundary\n"); 4890 "on a stripe boundary\n");
4862 return -EINVAL; 4891 return -EINVAL;
4863 } 4892 }
4893 reshape_offset = here_new * mddev->new_chunk_sectors;
4864 /* here_new is the stripe we will write to */ 4894 /* here_new is the stripe we will write to */
4865 here_old = mddev->reshape_position; 4895 here_old = mddev->reshape_position;
4866 sector_div(here_old, mddev->chunk_sectors * 4896 sector_div(here_old, mddev->chunk_sectors *
@@ -4916,10 +4946,51 @@ static int run(mddev_t *mddev)
4916 /* 4946 /*
4917 * 0 for a fully functional array, 1 or 2 for a degraded array. 4947 * 0 for a fully functional array, 1 or 2 for a degraded array.
4918 */ 4948 */
4919 list_for_each_entry(rdev, &mddev->disks, same_set) 4949 list_for_each_entry(rdev, &mddev->disks, same_set) {
4920 if (rdev->raid_disk >= 0 && 4950 if (rdev->raid_disk < 0)
4921 test_bit(In_sync, &rdev->flags)) 4951 continue;
4952 if (test_bit(In_sync, &rdev->flags))
4922 working_disks++; 4953 working_disks++;
4954 /* This disc is not fully in-sync. However if it
4955 * just stored parity (beyond the recovery_offset),
4956 * when we don't need to be concerned about the
4957 * array being dirty.
4958 * When reshape goes 'backwards', we never have
4959 * partially completed devices, so we only need
4960 * to worry about reshape going forwards.
4961 */
4962 /* Hack because v0.91 doesn't store recovery_offset properly. */
4963 if (mddev->major_version == 0 &&
4964 mddev->minor_version > 90)
4965 rdev->recovery_offset = reshape_offset;
4966
4967 printk("%d: w=%d pa=%d pr=%d m=%d a=%d r=%d op1=%d op2=%d\n",
4968 rdev->raid_disk, working_disks, conf->prev_algo,
4969 conf->previous_raid_disks, conf->max_degraded,
4970 conf->algorithm, conf->raid_disks,
4971 only_parity(rdev->raid_disk,
4972 conf->prev_algo,
4973 conf->previous_raid_disks,
4974 conf->max_degraded),
4975 only_parity(rdev->raid_disk,
4976 conf->algorithm,
4977 conf->raid_disks,
4978 conf->max_degraded));
4979 if (rdev->recovery_offset < reshape_offset) {
4980 /* We need to check old and new layout */
4981 if (!only_parity(rdev->raid_disk,
4982 conf->algorithm,
4983 conf->raid_disks,
4984 conf->max_degraded))
4985 continue;
4986 }
4987 if (!only_parity(rdev->raid_disk,
4988 conf->prev_algo,
4989 conf->previous_raid_disks,
4990 conf->max_degraded))
4991 continue;
4992 dirty_parity_disks++;
4993 }
4923 4994
4924 mddev->degraded = (max(conf->raid_disks, conf->previous_raid_disks) 4995 mddev->degraded = (max(conf->raid_disks, conf->previous_raid_disks)
4925 - working_disks); 4996 - working_disks);
@@ -4935,7 +5006,7 @@ static int run(mddev_t *mddev)
4935 mddev->dev_sectors &= ~(mddev->chunk_sectors - 1); 5006 mddev->dev_sectors &= ~(mddev->chunk_sectors - 1);
4936 mddev->resync_max_sectors = mddev->dev_sectors; 5007 mddev->resync_max_sectors = mddev->dev_sectors;
4937 5008
4938 if (mddev->degraded > 0 && 5009 if (mddev->degraded > dirty_parity_disks &&
4939 mddev->recovery_cp != MaxSector) { 5010 mddev->recovery_cp != MaxSector) {
4940 if (mddev->ok_start_degraded) 5011 if (mddev->ok_start_degraded)
4941 printk(KERN_WARNING 5012 printk(KERN_WARNING
@@ -5361,9 +5432,11 @@ static int raid5_start_reshape(mddev_t *mddev)
5361 !test_bit(Faulty, &rdev->flags)) { 5432 !test_bit(Faulty, &rdev->flags)) {
5362 if (raid5_add_disk(mddev, rdev) == 0) { 5433 if (raid5_add_disk(mddev, rdev) == 0) {
5363 char nm[20]; 5434 char nm[20];
5364 set_bit(In_sync, &rdev->flags); 5435 if (rdev->raid_disk >= conf->previous_raid_disks)
5436 set_bit(In_sync, &rdev->flags);
5437 else
5438 rdev->recovery_offset = 0;
5365 added_devices++; 5439 added_devices++;
5366 rdev->recovery_offset = 0;
5367 sprintf(nm, "rd%d", rdev->raid_disk); 5440 sprintf(nm, "rd%d", rdev->raid_disk);
5368 if (sysfs_create_link(&mddev->kobj, 5441 if (sysfs_create_link(&mddev->kobj,
5369 &rdev->kobj, nm)) 5442 &rdev->kobj, nm))
diff --git a/drivers/media/common/ir-functions.c b/drivers/media/common/ir-functions.c
index 655474b29e21..abd4791acb0e 100644
--- a/drivers/media/common/ir-functions.c
+++ b/drivers/media/common/ir-functions.c
@@ -64,7 +64,7 @@ void ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
64 64
65 ir->ir_type = ir_type; 65 ir->ir_type = ir_type;
66 66
67 memset(ir->ir_codes, sizeof(ir->ir_codes), 0); 67 memset(ir->ir_codes, 0, sizeof(ir->ir_codes));
68 68
69 /* 69 /*
70 * FIXME: This is a temporary workaround to use the new IR tables 70 * FIXME: This is a temporary workaround to use the new IR tables
diff --git a/drivers/media/common/tuners/tda18271-fe.c b/drivers/media/common/tuners/tda18271-fe.c
index 64595112000d..3a50ce96fcb9 100644
--- a/drivers/media/common/tuners/tda18271-fe.c
+++ b/drivers/media/common/tuners/tda18271-fe.c
@@ -616,13 +616,13 @@ static int tda18271_rf_tracking_filters_init(struct dvb_frontend *fe, u32 freq)
616 case RF2: 616 case RF2:
617 map[i].rf_a1 = (prog_cal[RF2] - prog_tab[RF2] - 617 map[i].rf_a1 = (prog_cal[RF2] - prog_tab[RF2] -
618 prog_cal[RF1] + prog_tab[RF1]) / 618 prog_cal[RF1] + prog_tab[RF1]) /
619 ((rf_freq[RF2] - rf_freq[RF1]) / 1000); 619 (s32)((rf_freq[RF2] - rf_freq[RF1]) / 1000);
620 map[i].rf2 = rf_freq[RF2] / 1000; 620 map[i].rf2 = rf_freq[RF2] / 1000;
621 break; 621 break;
622 case RF3: 622 case RF3:
623 map[i].rf_a2 = (prog_cal[RF3] - prog_tab[RF3] - 623 map[i].rf_a2 = (prog_cal[RF3] - prog_tab[RF3] -
624 prog_cal[RF2] + prog_tab[RF2]) / 624 prog_cal[RF2] + prog_tab[RF2]) /
625 ((rf_freq[RF3] - rf_freq[RF2]) / 1000); 625 (s32)((rf_freq[RF3] - rf_freq[RF2]) / 1000);
626 map[i].rf_b2 = prog_cal[RF2] - prog_tab[RF2]; 626 map[i].rf_b2 = prog_cal[RF2] - prog_tab[RF2];
627 map[i].rf3 = rf_freq[RF3] / 1000; 627 map[i].rf3 = rf_freq[RF3] / 1000;
628 break; 628 break;
@@ -1000,12 +1000,12 @@ static int tda18271_set_analog_params(struct dvb_frontend *fe,
1000 struct tda18271_std_map_item *map; 1000 struct tda18271_std_map_item *map;
1001 char *mode; 1001 char *mode;
1002 int ret; 1002 int ret;
1003 u32 freq = params->frequency * 62500; 1003 u32 freq = params->frequency * 125 *
1004 ((params->mode == V4L2_TUNER_RADIO) ? 1 : 1000) / 2;
1004 1005
1005 priv->mode = TDA18271_ANALOG; 1006 priv->mode = TDA18271_ANALOG;
1006 1007
1007 if (params->mode == V4L2_TUNER_RADIO) { 1008 if (params->mode == V4L2_TUNER_RADIO) {
1008 freq = freq / 1000;
1009 map = &std_map->fm_radio; 1009 map = &std_map->fm_radio;
1010 mode = "fm"; 1010 mode = "fm";
1011 } else if (params->std & V4L2_STD_MN) { 1011 } else if (params->std & V4L2_STD_MN) {
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index ddf639ed2fd8..98082416aa52 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -31,6 +31,7 @@
31#include <linux/wait.h> 31#include <linux/wait.h>
32#include <linux/slab.h> 32#include <linux/slab.h>
33#include <linux/poll.h> 33#include <linux/poll.h>
34#include <linux/semaphore.h>
34#include <linux/module.h> 35#include <linux/module.h>
35#include <linux/list.h> 36#include <linux/list.h>
36#include <linux/freezer.h> 37#include <linux/freezer.h>
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index 9744b0692417..0e4b97fba384 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -75,7 +75,7 @@ config DVB_USB_DIB0700
75 select DVB_DIB3000MC if !DVB_FE_CUSTOMISE 75 select DVB_DIB3000MC if !DVB_FE_CUSTOMISE
76 select DVB_S5H1411 if !DVB_FE_CUSTOMISE 76 select DVB_S5H1411 if !DVB_FE_CUSTOMISE
77 select DVB_LGDT3305 if !DVB_FE_CUSTOMISE 77 select DVB_LGDT3305 if !DVB_FE_CUSTOMISE
78 select DVB_TUNER_DIB0070 78 select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE
79 select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE 79 select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE
80 select MEDIA_TUNER_MT2266 if !MEDIA_TUNER_CUSTOMISE 80 select MEDIA_TUNER_MT2266 if !MEDIA_TUNER_CUSTOMISE
81 select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE 81 select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE
diff --git a/drivers/media/dvb/dvb-usb/ce6230.c b/drivers/media/dvb/dvb-usb/ce6230.c
index 0737c6377892..3df2045b7d2d 100644
--- a/drivers/media/dvb/dvb-usb/ce6230.c
+++ b/drivers/media/dvb/dvb-usb/ce6230.c
@@ -105,7 +105,7 @@ static int ce6230_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[],
105 int i = 0; 105 int i = 0;
106 struct req_t req; 106 struct req_t req;
107 int ret = 0; 107 int ret = 0;
108 memset(&req, 0, sizeof(&req)); 108 memset(&req, 0, sizeof(req));
109 109
110 if (num > 2) 110 if (num > 2)
111 return -EINVAL; 111 return -EINVAL;
diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c
index f65591fb7cec..2a53dd096eef 100644
--- a/drivers/media/dvb/dvb-usb/cxusb.c
+++ b/drivers/media/dvb/dvb-usb/cxusb.c
@@ -663,6 +663,14 @@ static struct zl10353_config cxusb_zl10353_xc3028_config = {
663 .parallel_ts = 1, 663 .parallel_ts = 1,
664}; 664};
665 665
666static struct zl10353_config cxusb_zl10353_xc3028_config_no_i2c_gate = {
667 .demod_address = 0x0f,
668 .if2 = 45600,
669 .no_tuner = 1,
670 .parallel_ts = 1,
671 .disable_i2c_gate_ctrl = 1,
672};
673
666static struct mt352_config cxusb_mt352_xc3028_config = { 674static struct mt352_config cxusb_mt352_xc3028_config = {
667 .demod_address = 0x0f, 675 .demod_address = 0x0f,
668 .if2 = 4560, 676 .if2 = 4560,
@@ -894,7 +902,7 @@ static int cxusb_dualdig4_frontend_attach(struct dvb_usb_adapter *adap)
894 cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1); 902 cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1);
895 903
896 if ((adap->fe = dvb_attach(zl10353_attach, 904 if ((adap->fe = dvb_attach(zl10353_attach,
897 &cxusb_zl10353_xc3028_config, 905 &cxusb_zl10353_xc3028_config_no_i2c_gate,
898 &adap->dev->i2c_adap)) == NULL) 906 &adap->dev->i2c_adap)) == NULL)
899 return -EIO; 907 return -EIO;
900 908
diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c
index 0b2812aa30a4..6bd8951ea02b 100644
--- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
@@ -1925,7 +1925,7 @@ struct dvb_usb_device_properties dib0700_devices[] = {
1925 { NULL }, 1925 { NULL },
1926 }, 1926 },
1927 { "Leadtek Winfast DTV Dongle (STK7700P based)", 1927 { "Leadtek Winfast DTV Dongle (STK7700P based)",
1928 { &dib0700_usb_id_table[8] }, 1928 { &dib0700_usb_id_table[8], &dib0700_usb_id_table[34] },
1929 { NULL }, 1929 { NULL },
1930 }, 1930 },
1931 { "AVerMedia AVerTV DVB-T Express", 1931 { "AVerMedia AVerTV DVB-T Express",
@@ -2064,7 +2064,7 @@ struct dvb_usb_device_properties dib0700_devices[] = {
2064 }, 2064 },
2065 }, 2065 },
2066 2066
2067 .num_device_descs = 12, 2067 .num_device_descs = 11,
2068 .devices = { 2068 .devices = {
2069 { "DiBcom STK7070P reference design", 2069 { "DiBcom STK7070P reference design",
2070 { &dib0700_usb_id_table[15], NULL }, 2070 { &dib0700_usb_id_table[15], NULL },
@@ -2098,11 +2098,6 @@ struct dvb_usb_device_properties dib0700_devices[] = {
2098 { &dib0700_usb_id_table[30], NULL }, 2098 { &dib0700_usb_id_table[30], NULL },
2099 { NULL }, 2099 { NULL },
2100 }, 2100 },
2101 { "Terratec Cinergy T USB XXS/ T3",
2102 { &dib0700_usb_id_table[33],
2103 &dib0700_usb_id_table[52], NULL },
2104 { NULL },
2105 },
2106 { "Elgato EyeTV DTT", 2101 { "Elgato EyeTV DTT",
2107 { &dib0700_usb_id_table[49], NULL }, 2102 { &dib0700_usb_id_table[49], NULL },
2108 { NULL }, 2103 { NULL },
@@ -2343,8 +2338,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
2343 { &dib0700_usb_id_table[59], NULL }, 2338 { &dib0700_usb_id_table[59], NULL },
2344 { NULL }, 2339 { NULL },
2345 }, 2340 },
2346 { "Terratec Cinergy T USB XXS (HD)", 2341 { "Terratec Cinergy T USB XXS (HD)/ T3",
2347 { &dib0700_usb_id_table[34], &dib0700_usb_id_table[60] }, 2342 { &dib0700_usb_id_table[33],
2343 &dib0700_usb_id_table[52],
2344 &dib0700_usb_id_table[60], NULL},
2348 { NULL }, 2345 { NULL },
2349 }, 2346 },
2350 }, 2347 },
diff --git a/drivers/media/dvb/firewire/firedtv-avc.c b/drivers/media/dvb/firewire/firedtv-avc.c
index d1b67fe0f011..485d061319ab 100644
--- a/drivers/media/dvb/firewire/firedtv-avc.c
+++ b/drivers/media/dvb/firewire/firedtv-avc.c
@@ -1050,28 +1050,28 @@ int avc_ca_pmt(struct firedtv *fdtv, char *msg, int length)
1050 c->operand[4] = 0; /* slot */ 1050 c->operand[4] = 0; /* slot */
1051 c->operand[5] = SFE_VENDOR_TAG_CA_PMT; /* ca tag */ 1051 c->operand[5] = SFE_VENDOR_TAG_CA_PMT; /* ca tag */
1052 c->operand[6] = 0; /* more/last */ 1052 c->operand[6] = 0; /* more/last */
1053 /* c->operand[7] = XXXprogram_info_length + 17; */ /* length */ 1053 /* Use three bytes for length field in case length > 127 */
1054 c->operand[8] = list_management; 1054 c->operand[10] = list_management;
1055 c->operand[9] = 0x01; /* pmt_cmd=OK_descramble */ 1055 c->operand[11] = 0x01; /* pmt_cmd=OK_descramble */
1056 1056
1057 /* TS program map table */ 1057 /* TS program map table */
1058 1058
1059 c->operand[10] = 0x02; /* Table id=2 */ 1059 c->operand[12] = 0x02; /* Table id=2 */
1060 c->operand[11] = 0x80; /* Section syntax + length */ 1060 c->operand[13] = 0x80; /* Section syntax + length */
1061 /* c->operand[12] = XXXprogram_info_length + 12; */ 1061 /* c->operand[14] = XXXprogram_info_length + 12; */
1062 c->operand[13] = msg[1]; /* Program number */ 1062 c->operand[15] = msg[1]; /* Program number */
1063 c->operand[14] = msg[2]; 1063 c->operand[16] = msg[2];
1064 c->operand[15] = 0x01; /* Version number=0 + current/next=1 */ 1064 c->operand[17] = 0x01; /* Version number=0 + current/next=1 */
1065 c->operand[16] = 0x00; /* Section number=0 */ 1065 c->operand[18] = 0x00; /* Section number=0 */
1066 c->operand[17] = 0x00; /* Last section number=0 */ 1066 c->operand[19] = 0x00; /* Last section number=0 */
1067 c->operand[18] = 0x1f; /* PCR_PID=1FFF */ 1067 c->operand[20] = 0x1f; /* PCR_PID=1FFF */
1068 c->operand[19] = 0xff; 1068 c->operand[21] = 0xff;
1069 c->operand[20] = (program_info_length >> 8); /* Program info length */ 1069 c->operand[22] = (program_info_length >> 8); /* Program info length */
1070 c->operand[21] = (program_info_length & 0xff); 1070 c->operand[23] = (program_info_length & 0xff);
1071 1071
1072 /* CA descriptors at programme level */ 1072 /* CA descriptors at programme level */
1073 read_pos = 6; 1073 read_pos = 6;
1074 write_pos = 22; 1074 write_pos = 24;
1075 if (program_info_length > 0) { 1075 if (program_info_length > 0) {
1076 pmt_cmd_id = msg[read_pos++]; 1076 pmt_cmd_id = msg[read_pos++];
1077 if (pmt_cmd_id != 1 && pmt_cmd_id != 4) 1077 if (pmt_cmd_id != 1 && pmt_cmd_id != 4)
@@ -1113,8 +1113,10 @@ int avc_ca_pmt(struct firedtv *fdtv, char *msg, int length)
1113 c->operand[write_pos++] = 0x00; 1113 c->operand[write_pos++] = 0x00;
1114 c->operand[write_pos++] = 0x00; 1114 c->operand[write_pos++] = 0x00;
1115 1115
1116 c->operand[7] = write_pos - 8; 1116 c->operand[7] = 0x82;
1117 c->operand[12] = write_pos - 13; 1117 c->operand[8] = (write_pos - 10) >> 8;
1118 c->operand[9] = (write_pos - 10) & 0xff;
1119 c->operand[14] = write_pos - 15;
1118 1120
1119 crc32_csum = crc32_be(0, &c->operand[10], c->operand[12] - 1); 1121 crc32_csum = crc32_be(0, &c->operand[10], c->operand[12] - 1);
1120 c->operand[write_pos - 4] = (crc32_csum >> 24) & 0xff; 1122 c->operand[write_pos - 4] = (crc32_csum >> 24) & 0xff;
diff --git a/drivers/media/dvb/firewire/firedtv-fe.c b/drivers/media/dvb/firewire/firedtv-fe.c
index 7ba43630a25d..e49cdc88b0c7 100644
--- a/drivers/media/dvb/firewire/firedtv-fe.c
+++ b/drivers/media/dvb/firewire/firedtv-fe.c
@@ -141,18 +141,12 @@ static int fdtv_read_uncorrected_blocks(struct dvb_frontend *fe, u32 *ucblocks)
141 return -EOPNOTSUPP; 141 return -EOPNOTSUPP;
142} 142}
143 143
144#define ACCEPTED 0x9
145
146static int fdtv_set_frontend(struct dvb_frontend *fe, 144static int fdtv_set_frontend(struct dvb_frontend *fe,
147 struct dvb_frontend_parameters *params) 145 struct dvb_frontend_parameters *params)
148{ 146{
149 struct firedtv *fdtv = fe->sec_priv; 147 struct firedtv *fdtv = fe->sec_priv;
150 148
151 /* FIXME: avc_tuner_dsd never returns ACCEPTED. Check status? */ 149 return avc_tuner_dsd(fdtv, params);
152 if (avc_tuner_dsd(fdtv, params) != ACCEPTED)
153 return -EINVAL;
154 else
155 return 0; /* not sure of this... */
156} 150}
157 151
158static int fdtv_get_frontend(struct dvb_frontend *fe, 152static int fdtv_get_frontend(struct dvb_frontend *fe,
diff --git a/drivers/media/dvb/frontends/dib0070.h b/drivers/media/dvb/frontends/dib0070.h
index 8a2e1e710adb..eec9e52ffa75 100644
--- a/drivers/media/dvb/frontends/dib0070.h
+++ b/drivers/media/dvb/frontends/dib0070.h
@@ -51,6 +51,7 @@ struct dib0070_config {
51#if defined(CONFIG_DVB_TUNER_DIB0070) || (defined(CONFIG_DVB_TUNER_DIB0070_MODULE) && defined(MODULE)) 51#if defined(CONFIG_DVB_TUNER_DIB0070) || (defined(CONFIG_DVB_TUNER_DIB0070_MODULE) && defined(MODULE))
52extern struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg); 52extern struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg);
53extern u16 dib0070_wbd_offset(struct dvb_frontend *); 53extern u16 dib0070_wbd_offset(struct dvb_frontend *);
54extern void dib0070_ctrl_agc_filter(struct dvb_frontend *, u8 open);
54#else 55#else
55static inline struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg) 56static inline struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg)
56{ 57{
@@ -63,7 +64,11 @@ static inline u16 dib0070_wbd_offset(struct dvb_frontend *fe)
63 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 64 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
64 return -ENODEV; 65 return -ENODEV;
65} 66}
67
68static inline void dib0070_ctrl_agc_filter(struct dvb_frontend *fe, u8 open)
69{
70 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
71}
66#endif 72#endif
67extern void dib0070_ctrl_agc_filter(struct dvb_frontend *, u8 open);
68 73
69#endif 74#endif
diff --git a/drivers/media/dvb/frontends/dib7000p.c b/drivers/media/dvb/frontends/dib7000p.c
index 55ef6eeb0769..0781f94e05d2 100644
--- a/drivers/media/dvb/frontends/dib7000p.c
+++ b/drivers/media/dvb/frontends/dib7000p.c
@@ -1375,6 +1375,11 @@ struct dvb_frontend * dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr,
1375 if (dib7000p_identify(st) != 0) 1375 if (dib7000p_identify(st) != 0)
1376 goto error; 1376 goto error;
1377 1377
1378 /* FIXME: make sure the dev.parent field is initialized, or else
1379 request_firmware() will hit an OOPS (this should be moved somewhere
1380 more common) */
1381 st->i2c_master.gated_tuner_i2c_adap.dev.parent = i2c_adap->dev.parent;
1382
1378 dibx000_init_i2c_master(&st->i2c_master, DIB7000P, st->i2c_adap, st->i2c_addr); 1383 dibx000_init_i2c_master(&st->i2c_master, DIB7000P, st->i2c_adap, st->i2c_addr);
1379 1384
1380 dib7000p_demod_reset(st); 1385 dib7000p_demod_reset(st);
diff --git a/drivers/media/dvb/pt1/pt1.c b/drivers/media/dvb/pt1/pt1.c
index 81e623a90f09..1fd8306371e2 100644
--- a/drivers/media/dvb/pt1/pt1.c
+++ b/drivers/media/dvb/pt1/pt1.c
@@ -27,6 +27,7 @@
27#include <linux/pci.h> 27#include <linux/pci.h>
28#include <linux/kthread.h> 28#include <linux/kthread.h>
29#include <linux/freezer.h> 29#include <linux/freezer.h>
30#include <linux/vmalloc.h>
30 31
31#include "dvbdev.h" 32#include "dvbdev.h"
32#include "dvb_demux.h" 33#include "dvb_demux.h"
diff --git a/drivers/media/dvb/siano/Kconfig b/drivers/media/dvb/siano/Kconfig
index 8c1aed77ea30..85a222c4eaa0 100644
--- a/drivers/media/dvb/siano/Kconfig
+++ b/drivers/media/dvb/siano/Kconfig
@@ -4,7 +4,7 @@
4 4
5config SMS_SIANO_MDTV 5config SMS_SIANO_MDTV
6 tristate "Siano SMS1xxx based MDTV receiver" 6 tristate "Siano SMS1xxx based MDTV receiver"
7 depends on DVB_CORE && INPUT 7 depends on DVB_CORE && INPUT && HAS_DMA
8 ---help--- 8 ---help---
9 Choose Y or M here if you have MDTV receiver with a Siano chipset. 9 Choose Y or M here if you have MDTV receiver with a Siano chipset.
10 10
diff --git a/drivers/media/dvb/siano/smsusb.c b/drivers/media/dvb/siano/smsusb.c
index cb8a358b7310..8f88a586b0dd 100644
--- a/drivers/media/dvb/siano/smsusb.c
+++ b/drivers/media/dvb/siano/smsusb.c
@@ -529,6 +529,12 @@ struct usb_device_id smsusb_id_table[] = {
529 .driver_info = SMS1XXX_BOARD_SIANO_NICE }, 529 .driver_info = SMS1XXX_BOARD_SIANO_NICE },
530 { USB_DEVICE(0x187f, 0x0301), 530 { USB_DEVICE(0x187f, 0x0301),
531 .driver_info = SMS1XXX_BOARD_SIANO_VENICE }, 531 .driver_info = SMS1XXX_BOARD_SIANO_VENICE },
532 { USB_DEVICE(0x2040, 0xb900),
533 .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
534 { USB_DEVICE(0x2040, 0xb910),
535 .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
536 { USB_DEVICE(0x2040, 0xc000),
537 .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
532 { } /* Terminating entry */ 538 { } /* Terminating entry */
533 }; 539 };
534 540
diff --git a/drivers/media/radio/radio-gemtek-pci.c b/drivers/media/radio/radio-gemtek-pci.c
index c3f579de6e71..c6cf11661868 100644
--- a/drivers/media/radio/radio-gemtek-pci.c
+++ b/drivers/media/radio/radio-gemtek-pci.c
@@ -181,12 +181,10 @@ static void gemtek_pci_mute(struct gemtek_pci *card)
181 181
182static void gemtek_pci_unmute(struct gemtek_pci *card) 182static void gemtek_pci_unmute(struct gemtek_pci *card)
183{ 183{
184 mutex_lock(&card->lock);
185 if (card->mute) { 184 if (card->mute) {
186 gemtek_pci_setfrequency(card, card->current_frequency); 185 gemtek_pci_setfrequency(card, card->current_frequency);
187 card->mute = false; 186 card->mute = false;
188 } 187 }
189 mutex_unlock(&card->lock);
190} 188}
191 189
192static int gemtek_pci_getsignal(struct gemtek_pci *card) 190static int gemtek_pci_getsignal(struct gemtek_pci *card)
diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
index 939d1e512974..a6724019c66f 100644
--- a/drivers/media/video/bt8xx/bttv-driver.c
+++ b/drivers/media/video/bt8xx/bttv-driver.c
@@ -1299,7 +1299,7 @@ set_tvnorm(struct bttv *btv, unsigned int norm)
1299 1299
1300 tvnorm = &bttv_tvnorms[norm]; 1300 tvnorm = &bttv_tvnorms[norm];
1301 1301
1302 if (!memcmp(&bttv_tvnorms[btv->tvnorm].cropcap, &tvnorm->cropcap, 1302 if (memcmp(&bttv_tvnorms[btv->tvnorm].cropcap, &tvnorm->cropcap,
1303 sizeof (tvnorm->cropcap))) { 1303 sizeof (tvnorm->cropcap))) {
1304 bttv_crop_reset(&btv->crop[0], norm); 1304 bttv_crop_reset(&btv->crop[0], norm);
1305 btv->crop[1] = btv->crop[0]; /* current = default */ 1305 btv->crop[1] = btv->crop[0]; /* current = default */
@@ -3800,11 +3800,34 @@ bttv_irq_next_video(struct bttv *btv, struct bttv_buffer_set *set)
3800 if (!V4L2_FIELD_HAS_BOTH(item->vb.field) && 3800 if (!V4L2_FIELD_HAS_BOTH(item->vb.field) &&
3801 (item->vb.queue.next != &btv->capture)) { 3801 (item->vb.queue.next != &btv->capture)) {
3802 item = list_entry(item->vb.queue.next, struct bttv_buffer, vb.queue); 3802 item = list_entry(item->vb.queue.next, struct bttv_buffer, vb.queue);
3803 /* Mike Isely <isely@pobox.com> - Only check
3804 * and set up the bottom field in the logic
3805 * below. Don't ever do the top field. This
3806 * of course means that if we set up the
3807 * bottom field in the above code that we'll
3808 * actually skip a field. But that's OK.
3809 * Having processed only a single buffer this
3810 * time, then the next time around the first
3811 * available buffer should be for a top field.
3812 * That will then cause us here to set up a
3813 * top then a bottom field in the normal way.
3814 * The alternative to this understanding is
3815 * that we set up the second available buffer
3816 * as a top field, but that's out of order
3817 * since this driver always processes the top
3818 * field first - the effect will be the two
3819 * buffers being returned in the wrong order,
3820 * with the second buffer also being delayed
3821 * by one field time (owing to the fifo nature
3822 * of videobuf). Worse still, we'll be stuck
3823 * doing fields out of order now every time
3824 * until something else causes a field to be
3825 * dropped. By effectively forcing a field to
3826 * drop this way then we always get back into
3827 * sync within a single frame time. (Out of
3828 * order fields can screw up deinterlacing
3829 * algorithms.) */
3803 if (!V4L2_FIELD_HAS_BOTH(item->vb.field)) { 3830 if (!V4L2_FIELD_HAS_BOTH(item->vb.field)) {
3804 if (NULL == set->top &&
3805 V4L2_FIELD_TOP == item->vb.field) {
3806 set->top = item;
3807 }
3808 if (NULL == set->bottom && 3831 if (NULL == set->bottom &&
3809 V4L2_FIELD_BOTTOM == item->vb.field) { 3832 V4L2_FIELD_BOTTOM == item->vb.field) {
3810 set->bottom = item; 3833 set->bottom = item;
diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c
index c015da813dda..d14cfb200ed0 100644
--- a/drivers/media/video/davinci/vpif_display.c
+++ b/drivers/media/video/davinci/vpif_display.c
@@ -1426,7 +1426,6 @@ static __init int vpif_probe(struct platform_device *pdev)
1426 struct vpif_display_config *config; 1426 struct vpif_display_config *config;
1427 int i, j = 0, k, q, m, err = 0; 1427 int i, j = 0, k, q, m, err = 0;
1428 struct i2c_adapter *i2c_adap; 1428 struct i2c_adapter *i2c_adap;
1429 struct vpif_config *config;
1430 struct common_obj *common; 1429 struct common_obj *common;
1431 struct channel_obj *ch; 1430 struct channel_obj *ch;
1432 struct video_device *vfd; 1431 struct video_device *vfd;
diff --git a/drivers/media/video/em28xx/em28xx-audio.c b/drivers/media/video/em28xx/em28xx-audio.c
index 7bd8a70f0a0b..ac947aecb9c3 100644
--- a/drivers/media/video/em28xx/em28xx-audio.c
+++ b/drivers/media/video/em28xx/em28xx-audio.c
@@ -383,6 +383,11 @@ static int snd_em28xx_hw_capture_free(struct snd_pcm_substream *substream)
383 383
384static int snd_em28xx_prepare(struct snd_pcm_substream *substream) 384static int snd_em28xx_prepare(struct snd_pcm_substream *substream)
385{ 385{
386 struct em28xx *dev = snd_pcm_substream_chip(substream);
387
388 dev->adev.hwptr_done_capture = 0;
389 dev->adev.capture_transfer_done = 0;
390
386 return 0; 391 return 0;
387} 392}
388 393
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index bdb249bd9d5d..c0fd5c6feeac 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -1584,8 +1584,8 @@ struct em28xx_board em28xx_boards[] = {
1584 [EM2870_BOARD_REDDO_DVB_C_USB_BOX] = { 1584 [EM2870_BOARD_REDDO_DVB_C_USB_BOX] = {
1585 .name = "Reddo DVB-C USB TV Box", 1585 .name = "Reddo DVB-C USB TV Box",
1586 .tuner_type = TUNER_ABSENT, 1586 .tuner_type = TUNER_ABSENT,
1587 .tuner_gpio = reddo_dvb_c_usb_box,
1587 .has_dvb = 1, 1588 .has_dvb = 1,
1588 .dvb_gpio = reddo_dvb_c_usb_box,
1589 }, 1589 },
1590}; 1590};
1591const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards); 1591const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
diff --git a/drivers/media/video/gspca/m5602/m5602_s5k4aa.c b/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
index 59400e858965..a27afeb6f39b 100644
--- a/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
+++ b/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
@@ -35,12 +35,25 @@ static
35 const 35 const
36 struct dmi_system_id s5k4aa_vflip_dmi_table[] = { 36 struct dmi_system_id s5k4aa_vflip_dmi_table[] = {
37 { 37 {
38 .ident = "BRUNEINIT",
39 .matches = {
40 DMI_MATCH(DMI_SYS_VENDOR, "BRUNENIT"),
41 DMI_MATCH(DMI_PRODUCT_NAME, "BRUNENIT"),
42 DMI_MATCH(DMI_BOARD_VERSION, "00030D0000000001")
43 }
44 }, {
38 .ident = "Fujitsu-Siemens Amilo Xa 2528", 45 .ident = "Fujitsu-Siemens Amilo Xa 2528",
39 .matches = { 46 .matches = {
40 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), 47 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
41 DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Xa 2528") 48 DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Xa 2528")
42 } 49 }
43 }, { 50 }, {
51 .ident = "Fujitsu-Siemens Amilo Xi 2528",
52 .matches = {
53 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
54 DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Xi 2528")
55 }
56 }, {
44 .ident = "Fujitsu-Siemens Amilo Xi 2550", 57 .ident = "Fujitsu-Siemens Amilo Xi 2550",
45 .matches = { 58 .matches = {
46 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), 59 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
@@ -57,6 +70,13 @@ static
57 .matches = { 70 .matches = {
58 DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International"), 71 DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International"),
59 DMI_MATCH(DMI_PRODUCT_NAME, "GX700"), 72 DMI_MATCH(DMI_PRODUCT_NAME, "GX700"),
73 DMI_MATCH(DMI_BIOS_DATE, "12/02/2008")
74 }
75 }, {
76 .ident = "MSI GX700",
77 .matches = {
78 DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International"),
79 DMI_MATCH(DMI_PRODUCT_NAME, "GX700"),
60 DMI_MATCH(DMI_BIOS_DATE, "07/26/2007") 80 DMI_MATCH(DMI_BIOS_DATE, "07/26/2007")
61 } 81 }
62 }, { 82 }, {
diff --git a/drivers/media/video/gspca/mr97310a.c b/drivers/media/video/gspca/mr97310a.c
index 140c8f320e47..f8328b9efae5 100644
--- a/drivers/media/video/gspca/mr97310a.c
+++ b/drivers/media/video/gspca/mr97310a.c
@@ -483,7 +483,7 @@ static int start_cif_cam(struct gspca_dev *gspca_dev)
483 data[3] = 0x2c; /* reg 2, H size/8 */ 483 data[3] = 0x2c; /* reg 2, H size/8 */
484 data[4] = 0x48; /* reg 3, V size/4 */ 484 data[4] = 0x48; /* reg 3, V size/4 */
485 data[6] = 0x06; /* reg 5, H start */ 485 data[6] = 0x06; /* reg 5, H start */
486 data[8] = 0x06 + sd->sensor_type; /* reg 7, V start */ 486 data[8] = 0x06 - sd->sensor_type; /* reg 7, V start */
487 break; 487 break;
488 } 488 }
489 err_code = mr_write(gspca_dev, 11); 489 err_code = mr_write(gspca_dev, 11);
diff --git a/drivers/media/video/gspca/ov519.c b/drivers/media/video/gspca/ov519.c
index 2f6e135d94bc..a5c190e93799 100644
--- a/drivers/media/video/gspca/ov519.c
+++ b/drivers/media/video/gspca/ov519.c
@@ -2919,7 +2919,7 @@ static void ov518_pkt_scan(struct gspca_dev *gspca_dev,
2919 /* A false positive here is likely, until OVT gives me 2919 /* A false positive here is likely, until OVT gives me
2920 * the definitive SOF/EOF format */ 2920 * the definitive SOF/EOF format */
2921 if ((!(data[0] | data[1] | data[2] | data[3] | data[5])) && data[6]) { 2921 if ((!(data[0] | data[1] | data[2] | data[3] | data[5])) && data[6]) {
2922 gspca_frame_add(gspca_dev, LAST_PACKET, frame, data, 0); 2922 frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame, data, 0);
2923 gspca_frame_add(gspca_dev, FIRST_PACKET, frame, data, 0); 2923 gspca_frame_add(gspca_dev, FIRST_PACKET, frame, data, 0);
2924 sd->packet_nr = 0; 2924 sd->packet_nr = 0;
2925 } 2925 }
diff --git a/drivers/media/video/gspca/stv06xx/stv06xx.c b/drivers/media/video/gspca/stv06xx/stv06xx.c
index 65489d6b0d89..bfae63f5584c 100644
--- a/drivers/media/video/gspca/stv06xx/stv06xx.c
+++ b/drivers/media/video/gspca/stv06xx/stv06xx.c
@@ -394,7 +394,8 @@ frame_data:
394 PDEBUG(D_PACK, "End of frame detected"); 394 PDEBUG(D_PACK, "End of frame detected");
395 395
396 /* Complete the last frame (if any) */ 396 /* Complete the last frame (if any) */
397 gspca_frame_add(gspca_dev, LAST_PACKET, frame, data, 0); 397 frame = gspca_frame_add(gspca_dev, LAST_PACKET,
398 frame, data, 0);
398 399
399 if (chunk_len) 400 if (chunk_len)
400 PDEBUG(D_ERR, "Chunk length is " 401 PDEBUG(D_ERR, "Chunk length is "
diff --git a/drivers/media/video/mx1_camera.c b/drivers/media/video/mx1_camera.c
index 5f37952c75cf..72802291e812 100644
--- a/drivers/media/video/mx1_camera.c
+++ b/drivers/media/video/mx1_camera.c
@@ -28,6 +28,7 @@
28#include <linux/moduleparam.h> 28#include <linux/moduleparam.h>
29#include <linux/mutex.h> 29#include <linux/mutex.h>
30#include <linux/platform_device.h> 30#include <linux/platform_device.h>
31#include <linux/sched.h>
31#include <linux/time.h> 32#include <linux/time.h>
32#include <linux/version.h> 33#include <linux/version.h>
33#include <linux/videodev2.h> 34#include <linux/videodev2.h>
diff --git a/drivers/media/video/mx3_camera.c b/drivers/media/video/mx3_camera.c
index dff2e5e2d8c6..7db82bdf6f31 100644
--- a/drivers/media/video/mx3_camera.c
+++ b/drivers/media/video/mx3_camera.c
@@ -17,6 +17,7 @@
17#include <linux/clk.h> 17#include <linux/clk.h>
18#include <linux/vmalloc.h> 18#include <linux/vmalloc.h>
19#include <linux/interrupt.h> 19#include <linux/interrupt.h>
20#include <linux/sched.h>
20 21
21#include <media/v4l2-common.h> 22#include <media/v4l2-common.h>
22#include <media/v4l2-dev.h> 23#include <media/v4l2-dev.h>
diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c
index 6952e9602d5d..51b683c63b70 100644
--- a/drivers/media/video/pxa_camera.c
+++ b/drivers/media/video/pxa_camera.c
@@ -26,6 +26,7 @@
26#include <linux/device.h> 26#include <linux/device.h>
27#include <linux/platform_device.h> 27#include <linux/platform_device.h>
28#include <linux/clk.h> 28#include <linux/clk.h>
29#include <linux/sched.h>
29 30
30#include <media/v4l2-common.h> 31#include <media/v4l2-common.h>
31#include <media/v4l2-dev.h> 32#include <media/v4l2-dev.h>
@@ -1432,7 +1433,9 @@ static int pxa_camera_set_fmt(struct soc_camera_device *icd,
1432 icd->sense = &sense; 1433 icd->sense = &sense;
1433 1434
1434 cam_f.fmt.pix.pixelformat = cam_fmt->fourcc; 1435 cam_f.fmt.pix.pixelformat = cam_fmt->fourcc;
1435 ret = v4l2_subdev_call(sd, video, s_fmt, f); 1436 ret = v4l2_subdev_call(sd, video, s_fmt, &cam_f);
1437 cam_f.fmt.pix.pixelformat = pix->pixelformat;
1438 *pix = cam_f.fmt.pix;
1436 1439
1437 icd->sense = NULL; 1440 icd->sense = NULL;
1438 1441
diff --git a/drivers/media/video/s2255drv.c b/drivers/media/video/s2255drv.c
index 9e3262c0ba37..2c0bb06cab3b 100644
--- a/drivers/media/video/s2255drv.c
+++ b/drivers/media/video/s2255drv.c
@@ -598,11 +598,6 @@ static int s2255_got_frame(struct s2255_dev *dev, int chn, int jpgsize)
598 buf = list_entry(dma_q->active.next, 598 buf = list_entry(dma_q->active.next,
599 struct s2255_buffer, vb.queue); 599 struct s2255_buffer, vb.queue);
600 600
601 if (!waitqueue_active(&buf->vb.done)) {
602 /* no one active */
603 rc = -1;
604 goto unlock;
605 }
606 list_del(&buf->vb.queue); 601 list_del(&buf->vb.queue);
607 do_gettimeofday(&buf->vb.ts); 602 do_gettimeofday(&buf->vb.ts);
608 dprintk(100, "[%p/%d] wakeup\n", buf, buf->vb.i); 603 dprintk(100, "[%p/%d] wakeup\n", buf, buf->vb.i);
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 71145bff94fa..09013229d4aa 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -3428,6 +3428,7 @@ struct saa7134_board saa7134_boards[] = {
3428 .tuner_config = 3, 3428 .tuner_config = 3,
3429 .mpeg = SAA7134_MPEG_DVB, 3429 .mpeg = SAA7134_MPEG_DVB,
3430 .ts_type = SAA7134_MPEG_TS_SERIAL, 3430 .ts_type = SAA7134_MPEG_TS_SERIAL,
3431 .ts_force_val = 1,
3431 .gpiomask = 0x0800100, /* GPIO 21 is an INPUT */ 3432 .gpiomask = 0x0800100, /* GPIO 21 is an INPUT */
3432 .inputs = {{ 3433 .inputs = {{
3433 .name = name_tv, 3434 .name = name_tv,
diff --git a/drivers/media/video/saa7134/saa7134-ts.c b/drivers/media/video/saa7134/saa7134-ts.c
index 3fa652279ac0..03488ba4c99c 100644
--- a/drivers/media/video/saa7134/saa7134-ts.c
+++ b/drivers/media/video/saa7134/saa7134-ts.c
@@ -262,11 +262,13 @@ int saa7134_ts_start(struct saa7134_dev *dev)
262 switch (saa7134_boards[dev->board].ts_type) { 262 switch (saa7134_boards[dev->board].ts_type) {
263 case SAA7134_MPEG_TS_PARALLEL: 263 case SAA7134_MPEG_TS_PARALLEL:
264 saa_writeb(SAA7134_TS_SERIAL0, 0x40); 264 saa_writeb(SAA7134_TS_SERIAL0, 0x40);
265 saa_writeb(SAA7134_TS_PARALLEL, 0xec); 265 saa_writeb(SAA7134_TS_PARALLEL, 0xec |
266 (saa7134_boards[dev->board].ts_force_val << 4));
266 break; 267 break;
267 case SAA7134_MPEG_TS_SERIAL: 268 case SAA7134_MPEG_TS_SERIAL:
268 saa_writeb(SAA7134_TS_SERIAL0, 0xd8); 269 saa_writeb(SAA7134_TS_SERIAL0, 0xd8);
269 saa_writeb(SAA7134_TS_PARALLEL, 0x6c); 270 saa_writeb(SAA7134_TS_PARALLEL, 0x6c |
271 (saa7134_boards[dev->board].ts_force_val << 4));
270 saa_writeb(SAA7134_TS_PARALLEL_SERIAL, 0xbc); 272 saa_writeb(SAA7134_TS_PARALLEL_SERIAL, 0xbc);
271 saa_writeb(SAA7134_TS_SERIAL1, 0x02); 273 saa_writeb(SAA7134_TS_SERIAL1, 0x02);
272 break; 274 break;
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index 6ee3e9b7769e..f8697d46ff5f 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -360,6 +360,7 @@ struct saa7134_board {
360 enum saa7134_mpeg_type mpeg; 360 enum saa7134_mpeg_type mpeg;
361 enum saa7134_mpeg_ts_type ts_type; 361 enum saa7134_mpeg_ts_type ts_type;
362 unsigned int vid_port_opts; 362 unsigned int vid_port_opts;
363 unsigned int ts_force_val:1;
363}; 364};
364 365
365#define card_has_radio(dev) (NULL != saa7134_boards[dev->board].radio.name) 366#define card_has_radio(dev) (NULL != saa7134_boards[dev->board].radio.name)
diff --git a/drivers/media/video/saa7164/saa7164-cmd.c b/drivers/media/video/saa7164/saa7164-cmd.c
index c45966edc0cf..9c1d3ac43869 100644
--- a/drivers/media/video/saa7164/saa7164-cmd.c
+++ b/drivers/media/video/saa7164/saa7164-cmd.c
@@ -347,7 +347,7 @@ int saa7164_cmd_send(struct saa7164_dev *dev, u8 id, tmComResCmd_t command,
347 347
348 /* Prepare some basic command/response structures */ 348 /* Prepare some basic command/response structures */
349 memset(&command_t, 0, sizeof(command_t)); 349 memset(&command_t, 0, sizeof(command_t));
350 memset(&response_t, 0, sizeof(&response_t)); 350 memset(&response_t, 0, sizeof(response_t));
351 pcommand_t = &command_t; 351 pcommand_t = &command_t;
352 presponse_t = &response_t; 352 presponse_t = &response_t;
353 command_t.id = id; 353 command_t.id = id;
diff --git a/drivers/media/video/sh_mobile_ceu_camera.c b/drivers/media/video/sh_mobile_ceu_camera.c
index 65ac474c517a..9c8b7c7b89ee 100644
--- a/drivers/media/video/sh_mobile_ceu_camera.c
+++ b/drivers/media/video/sh_mobile_ceu_camera.c
@@ -31,6 +31,7 @@
31#include <linux/platform_device.h> 31#include <linux/platform_device.h>
32#include <linux/videodev2.h> 32#include <linux/videodev2.h>
33#include <linux/pm_runtime.h> 33#include <linux/pm_runtime.h>
34#include <linux/sched.h>
34 35
35#include <media/v4l2-common.h> 36#include <media/v4l2-common.h>
36#include <media/v4l2-dev.h> 37#include <media/v4l2-dev.h>
@@ -1173,8 +1174,8 @@ static int get_scales(struct soc_camera_device *icd,
1173 width_in = scale_up(cam->ceu_rect.width, *scale_h); 1174 width_in = scale_up(cam->ceu_rect.width, *scale_h);
1174 height_in = scale_up(cam->ceu_rect.height, *scale_v); 1175 height_in = scale_up(cam->ceu_rect.height, *scale_v);
1175 1176
1176 *scale_h = calc_generic_scale(cam->ceu_rect.width, icd->user_width); 1177 *scale_h = calc_generic_scale(width_in, icd->user_width);
1177 *scale_v = calc_generic_scale(cam->ceu_rect.height, icd->user_height); 1178 *scale_v = calc_generic_scale(height_in, icd->user_height);
1178 1179
1179 return 0; 1180 return 0;
1180} 1181}
@@ -1723,11 +1724,12 @@ static int __devinit sh_mobile_ceu_probe(struct platform_device *pdev)
1723 1724
1724 err = soc_camera_host_register(&pcdev->ici); 1725 err = soc_camera_host_register(&pcdev->ici);
1725 if (err) 1726 if (err)
1726 goto exit_free_irq; 1727 goto exit_free_clk;
1727 1728
1728 return 0; 1729 return 0;
1729 1730
1730exit_free_irq: 1731exit_free_clk:
1732 pm_runtime_disable(&pdev->dev);
1731 free_irq(pcdev->irq, pcdev); 1733 free_irq(pcdev->irq, pcdev);
1732exit_release_mem: 1734exit_release_mem:
1733 if (platform_get_resource(pdev, IORESOURCE_MEM, 1)) 1735 if (platform_get_resource(pdev, IORESOURCE_MEM, 1))
@@ -1747,6 +1749,7 @@ static int __devexit sh_mobile_ceu_remove(struct platform_device *pdev)
1747 struct sh_mobile_ceu_dev, ici); 1749 struct sh_mobile_ceu_dev, ici);
1748 1750
1749 soc_camera_host_unregister(soc_host); 1751 soc_camera_host_unregister(soc_host);
1752 pm_runtime_disable(&pdev->dev);
1750 free_irq(pcdev->irq, pcdev); 1753 free_irq(pcdev->irq, pcdev);
1751 if (platform_get_resource(pdev, IORESOURCE_MEM, 1)) 1754 if (platform_get_resource(pdev, IORESOURCE_MEM, 1))
1752 dma_release_declared_memory(&pdev->dev); 1755 dma_release_declared_memory(&pdev->dev);
diff --git a/drivers/media/video/soc_camera.c b/drivers/media/video/soc_camera.c
index 59aa7a3694c2..95fdeb23c2c1 100644
--- a/drivers/media/video/soc_camera.c
+++ b/drivers/media/video/soc_camera.c
@@ -1097,6 +1097,13 @@ static int default_s_crop(struct soc_camera_device *icd, struct v4l2_crop *a)
1097 return v4l2_subdev_call(sd, video, s_crop, a); 1097 return v4l2_subdev_call(sd, video, s_crop, a);
1098} 1098}
1099 1099
1100static void soc_camera_device_init(struct device *dev, void *pdata)
1101{
1102 dev->platform_data = pdata;
1103 dev->bus = &soc_camera_bus_type;
1104 dev->release = dummy_release;
1105}
1106
1100int soc_camera_host_register(struct soc_camera_host *ici) 1107int soc_camera_host_register(struct soc_camera_host *ici)
1101{ 1108{
1102 struct soc_camera_host *ix; 1109 struct soc_camera_host *ix;
@@ -1158,15 +1165,19 @@ void soc_camera_host_unregister(struct soc_camera_host *ici)
1158 1165
1159 list_for_each_entry(icd, &devices, list) { 1166 list_for_each_entry(icd, &devices, list) {
1160 if (icd->iface == ici->nr) { 1167 if (icd->iface == ici->nr) {
1168 void *pdata = icd->dev.platform_data;
1161 /* The bus->remove will be called */ 1169 /* The bus->remove will be called */
1162 device_unregister(&icd->dev); 1170 device_unregister(&icd->dev);
1163 /* Not before device_unregister(), .remove 1171 /*
1164 * needs parent to call ici->ops->remove() */ 1172 * Not before device_unregister(), .remove
1165 icd->dev.parent = NULL; 1173 * needs parent to call ici->ops->remove().
1166 1174 * If the host module is loaded again, device_register()
1167 /* If the host module is loaded again, device_register() 1175 * would complain "already initialised," since 2.6.32
1168 * would complain "already initialised" */ 1176 * this is also needed to prevent use-after-free of the
1169 memset(&icd->dev.kobj, 0, sizeof(icd->dev.kobj)); 1177 * device private data.
1178 */
1179 memset(&icd->dev, 0, sizeof(icd->dev));
1180 soc_camera_device_init(&icd->dev, pdata);
1170 } 1181 }
1171 } 1182 }
1172 1183
@@ -1198,10 +1209,7 @@ static int soc_camera_device_register(struct soc_camera_device *icd)
1198 * man, stay reasonable... */ 1209 * man, stay reasonable... */
1199 return -ENOMEM; 1210 return -ENOMEM;
1200 1211
1201 icd->devnum = num; 1212 icd->devnum = num;
1202 icd->dev.bus = &soc_camera_bus_type;
1203
1204 icd->dev.release = dummy_release;
1205 icd->use_count = 0; 1213 icd->use_count = 0;
1206 icd->host_priv = NULL; 1214 icd->host_priv = NULL;
1207 mutex_init(&icd->video_lock); 1215 mutex_init(&icd->video_lock);
@@ -1309,12 +1317,13 @@ static int __devinit soc_camera_pdrv_probe(struct platform_device *pdev)
1309 icd->iface = icl->bus_id; 1317 icd->iface = icl->bus_id;
1310 icd->pdev = &pdev->dev; 1318 icd->pdev = &pdev->dev;
1311 platform_set_drvdata(pdev, icd); 1319 platform_set_drvdata(pdev, icd);
1312 icd->dev.platform_data = icl;
1313 1320
1314 ret = soc_camera_device_register(icd); 1321 ret = soc_camera_device_register(icd);
1315 if (ret < 0) 1322 if (ret < 0)
1316 goto escdevreg; 1323 goto escdevreg;
1317 1324
1325 soc_camera_device_init(&icd->dev, icl);
1326
1318 icd->user_width = DEFAULT_WIDTH; 1327 icd->user_width = DEFAULT_WIDTH;
1319 icd->user_height = DEFAULT_HEIGHT; 1328 icd->user_height = DEFAULT_HEIGHT;
1320 1329
diff --git a/drivers/media/video/uvc/uvc_ctrl.c b/drivers/media/video/uvc/uvc_ctrl.c
index c3225a561748..1b89735e62fd 100644
--- a/drivers/media/video/uvc/uvc_ctrl.c
+++ b/drivers/media/video/uvc/uvc_ctrl.c
@@ -348,7 +348,7 @@ static void uvc_ctrl_set_zoom(struct uvc_control_mapping *mapping,
348 __s32 value, __u8 *data) 348 __s32 value, __u8 *data)
349{ 349{
350 data[0] = value == 0 ? 0 : (value > 0) ? 1 : 0xff; 350 data[0] = value == 0 ? 0 : (value > 0) ? 1 : 0xff;
351 data[2] = min(abs(value), 0xff); 351 data[2] = min((int)abs(value), 0xff);
352} 352}
353 353
354static struct uvc_control_mapping uvc_ctrl_mappings[] = { 354static struct uvc_control_mapping uvc_ctrl_mappings[] = {
diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
index f960e8ea4f17..a6e41d12b221 100644
--- a/drivers/media/video/uvc/uvc_video.c
+++ b/drivers/media/video/uvc/uvc_video.c
@@ -90,7 +90,8 @@ static void uvc_fixup_video_ctrl(struct uvc_streaming *stream,
90 ctrl->dwMaxVideoFrameSize = 90 ctrl->dwMaxVideoFrameSize =
91 frame->dwMaxVideoFrameBufferSize; 91 frame->dwMaxVideoFrameBufferSize;
92 92
93 if (stream->dev->quirks & UVC_QUIRK_FIX_BANDWIDTH && 93 if (!(format->flags & UVC_FMT_FLAG_COMPRESSED) &&
94 stream->dev->quirks & UVC_QUIRK_FIX_BANDWIDTH &&
94 stream->intf->num_altsetting > 1) { 95 stream->intf->num_altsetting > 1) {
95 u32 interval; 96 u32 interval;
96 u32 bandwidth; 97 u32 bandwidth;
diff --git a/drivers/media/video/videobuf-dma-contig.c b/drivers/media/video/videobuf-dma-contig.c
index 635ffc7b0391..c3065c4bcba9 100644
--- a/drivers/media/video/videobuf-dma-contig.c
+++ b/drivers/media/video/videobuf-dma-contig.c
@@ -19,6 +19,7 @@
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/pagemap.h> 20#include <linux/pagemap.h>
21#include <linux/dma-mapping.h> 21#include <linux/dma-mapping.h>
22#include <linux/sched.h>
22#include <media/videobuf-dma-contig.h> 23#include <media/videobuf-dma-contig.h>
23 24
24struct videobuf_dma_contig_memory { 25struct videobuf_dma_contig_memory {
diff --git a/drivers/mfd/wm831x-core.c b/drivers/mfd/wm831x-core.c
index 49b7885c2702..7f27576ca046 100644
--- a/drivers/mfd/wm831x-core.c
+++ b/drivers/mfd/wm831x-core.c
@@ -29,7 +29,7 @@
29/* Current settings - values are 2*2^(reg_val/4) microamps. These are 29/* Current settings - values are 2*2^(reg_val/4) microamps. These are
30 * exported since they are used by multiple drivers. 30 * exported since they are used by multiple drivers.
31 */ 31 */
32int wm831x_isinkv_values[WM831X_ISINK_MAX_ISEL] = { 32int wm831x_isinkv_values[WM831X_ISINK_MAX_ISEL + 1] = {
33 2, 33 2,
34 2, 34 2,
35 3, 35 3,
diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index db39f4a52f53..2cb2736d65aa 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -158,6 +158,7 @@ static ssize_t at24_eeprom_read(struct at24_data *at24, char *buf,
158 struct i2c_msg msg[2]; 158 struct i2c_msg msg[2];
159 u8 msgbuf[2]; 159 u8 msgbuf[2];
160 struct i2c_client *client; 160 struct i2c_client *client;
161 unsigned long timeout, read_time;
161 int status, i; 162 int status, i;
162 163
163 memset(msg, 0, sizeof(msg)); 164 memset(msg, 0, sizeof(msg));
@@ -183,47 +184,60 @@ static ssize_t at24_eeprom_read(struct at24_data *at24, char *buf,
183 if (count > io_limit) 184 if (count > io_limit)
184 count = io_limit; 185 count = io_limit;
185 186
186 /* Smaller eeproms can work given some SMBus extension calls */
187 if (at24->use_smbus) { 187 if (at24->use_smbus) {
188 /* Smaller eeproms can work given some SMBus extension calls */
188 if (count > I2C_SMBUS_BLOCK_MAX) 189 if (count > I2C_SMBUS_BLOCK_MAX)
189 count = I2C_SMBUS_BLOCK_MAX; 190 count = I2C_SMBUS_BLOCK_MAX;
190 status = i2c_smbus_read_i2c_block_data(client, offset, 191 } else {
191 count, buf); 192 /*
192 dev_dbg(&client->dev, "smbus read %zu@%d --> %d\n", 193 * When we have a better choice than SMBus calls, use a
193 count, offset, status); 194 * combined I2C message. Write address; then read up to
194 return (status < 0) ? -EIO : status; 195 * io_limit data bytes. Note that read page rollover helps us
196 * here (unlike writes). msgbuf is u8 and will cast to our
197 * needs.
198 */
199 i = 0;
200 if (at24->chip.flags & AT24_FLAG_ADDR16)
201 msgbuf[i++] = offset >> 8;
202 msgbuf[i++] = offset;
203
204 msg[0].addr = client->addr;
205 msg[0].buf = msgbuf;
206 msg[0].len = i;
207
208 msg[1].addr = client->addr;
209 msg[1].flags = I2C_M_RD;
210 msg[1].buf = buf;
211 msg[1].len = count;
195 } 212 }
196 213
197 /* 214 /*
198 * When we have a better choice than SMBus calls, use a combined 215 * Reads fail if the previous write didn't complete yet. We may
199 * I2C message. Write address; then read up to io_limit data bytes. 216 * loop a few times until this one succeeds, waiting at least
200 * Note that read page rollover helps us here (unlike writes). 217 * long enough for one entire page write to work.
201 * msgbuf is u8 and will cast to our needs.
202 */ 218 */
203 i = 0; 219 timeout = jiffies + msecs_to_jiffies(write_timeout);
204 if (at24->chip.flags & AT24_FLAG_ADDR16) 220 do {
205 msgbuf[i++] = offset >> 8; 221 read_time = jiffies;
206 msgbuf[i++] = offset; 222 if (at24->use_smbus) {
207 223 status = i2c_smbus_read_i2c_block_data(client, offset,
208 msg[0].addr = client->addr; 224 count, buf);
209 msg[0].buf = msgbuf; 225 } else {
210 msg[0].len = i; 226 status = i2c_transfer(client->adapter, msg, 2);
227 if (status == 2)
228 status = count;
229 }
230 dev_dbg(&client->dev, "read %zu@%d --> %d (%ld)\n",
231 count, offset, status, jiffies);
211 232
212 msg[1].addr = client->addr; 233 if (status == count)
213 msg[1].flags = I2C_M_RD; 234 return count;
214 msg[1].buf = buf;
215 msg[1].len = count;
216 235
217 status = i2c_transfer(client->adapter, msg, 2); 236 /* REVISIT: at HZ=100, this is sloooow */
218 dev_dbg(&client->dev, "i2c read %zu@%d --> %d\n", 237 msleep(1);
219 count, offset, status); 238 } while (time_before(read_time, timeout));
220 239
221 if (status == 2) 240 return -ETIMEDOUT;
222 return count;
223 else if (status >= 0)
224 return -EIO;
225 else
226 return status;
227} 241}
228 242
229static ssize_t at24_read(struct at24_data *at24, 243static ssize_t at24_read(struct at24_data *at24,
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index e7a331de5733..b8fd7af1ceeb 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1529,6 +1529,7 @@ static int mmc_omap_remove(struct platform_device *pdev)
1529 host->pdata->cleanup(&pdev->dev); 1529 host->pdata->cleanup(&pdev->dev);
1530 1530
1531 mmc_omap_fclk_enable(host, 0); 1531 mmc_omap_fclk_enable(host, 0);
1532 free_irq(host->irq, host);
1532 clk_put(host->fclk); 1533 clk_put(host->fclk);
1533 clk_disable(host->iclk); 1534 clk_disable(host->iclk);
1534 clk_put(host->iclk); 1535 clk_put(host->iclk);
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index b00d67319058..9fb480bb0e0a 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -760,6 +760,8 @@ static int pxamci_remove(struct platform_device *pdev)
760 if (mmc) { 760 if (mmc) {
761 struct pxamci_host *host = mmc_priv(mmc); 761 struct pxamci_host *host = mmc_priv(mmc);
762 762
763 mmc_remove_host(mmc);
764
763 if (host->pdata) { 765 if (host->pdata) {
764 gpio_cd = host->pdata->gpio_card_detect; 766 gpio_cd = host->pdata->gpio_card_detect;
765 gpio_ro = host->pdata->gpio_card_ro; 767 gpio_ro = host->pdata->gpio_card_ro;
@@ -779,8 +781,6 @@ static int pxamci_remove(struct platform_device *pdev)
779 if (host->pdata && host->pdata->exit) 781 if (host->pdata && host->pdata->exit)
780 host->pdata->exit(&pdev->dev, mmc); 782 host->pdata->exit(&pdev->dev, mmc);
781 783
782 mmc_remove_host(mmc);
783
784 pxamci_stop_clock(host); 784 pxamci_stop_clock(host);
785 writel(TXFIFO_WR_REQ|RXFIFO_RD_REQ|CLK_IS_OFF|STOP_CMD| 785 writel(TXFIFO_WR_REQ|RXFIFO_RD_REQ|CLK_IS_OFF|STOP_CMD|
786 END_CMD_RES|PRG_DONE|DATA_TRAN_DONE, 786 END_CMD_RES|PRG_DONE|DATA_TRAN_DONE,
diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile
index 1d5cf8636723..ae2f6dbe43c3 100644
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
@@ -58,4 +58,6 @@ obj-$(CONFIG_MTD_PLATRAM) += plat-ram.o
58obj-$(CONFIG_MTD_OMAP_NOR) += omap_nor.o 58obj-$(CONFIG_MTD_OMAP_NOR) += omap_nor.o
59obj-$(CONFIG_MTD_INTEL_VR_NOR) += intel_vr_nor.o 59obj-$(CONFIG_MTD_INTEL_VR_NOR) += intel_vr_nor.o
60obj-$(CONFIG_MTD_BFIN_ASYNC) += bfin-async-flash.o 60obj-$(CONFIG_MTD_BFIN_ASYNC) += bfin-async-flash.o
61obj-$(CONFIG_MTD_RBTX4939) += rbtx4939-flash.o
62obj-$(CONFIG_MTD_VMU) += vmu-flash.o
61obj-$(CONFIG_MTD_GPIO_ADDR) += gpio-addr-flash.o 63obj-$(CONFIG_MTD_GPIO_ADDR) += gpio-addr-flash.o
diff --git a/drivers/mtd/maps/sa1100-flash.c b/drivers/mtd/maps/sa1100-flash.c
index fdb97f3d30e9..d7a47574d21e 100644
--- a/drivers/mtd/maps/sa1100-flash.c
+++ b/drivers/mtd/maps/sa1100-flash.c
@@ -209,8 +209,8 @@ static int sa1100_probe_subdev(struct sa_subdev_info *subdev, struct resource *r
209 } 209 }
210 subdev->mtd->owner = THIS_MODULE; 210 subdev->mtd->owner = THIS_MODULE;
211 211
212 printk(KERN_INFO "SA1100 flash: CFI device at 0x%08lx, %dMiB, " 212 printk(KERN_INFO "SA1100 flash: CFI device at 0x%08lx, %uMiB, %d-bit\n",
213 "%d-bit\n", phys, subdev->mtd->size >> 20, 213 phys, (unsigned)(subdev->mtd->size >> 20),
214 subdev->map.bankwidth * 8); 214 subdev->map.bankwidth * 8);
215 215
216 return 0; 216 return 0;
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index e19ca4bb7510..b2f71f79baaf 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -975,7 +975,7 @@ config ENC28J60_WRITEVERIFY
975 975
976config ETHOC 976config ETHOC
977 tristate "OpenCores 10/100 Mbps Ethernet MAC support" 977 tristate "OpenCores 10/100 Mbps Ethernet MAC support"
978 depends on NET_ETHERNET && HAS_IOMEM 978 depends on NET_ETHERNET && HAS_IOMEM && HAS_DMA
979 select MII 979 select MII
980 select PHYLIB 980 select PHYLIB
981 select CRC32 981 select CRC32
diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c
index 2be49c817995..b25467ac895c 100644
--- a/drivers/net/arm/ep93xx_eth.c
+++ b/drivers/net/arm/ep93xx_eth.c
@@ -628,15 +628,6 @@ static int ep93xx_open(struct net_device *dev)
628 if (ep93xx_alloc_buffers(ep)) 628 if (ep93xx_alloc_buffers(ep))
629 return -ENOMEM; 629 return -ENOMEM;
630 630
631 if (is_zero_ether_addr(dev->dev_addr)) {
632 random_ether_addr(dev->dev_addr);
633 printk(KERN_INFO "%s: generated random MAC address "
634 "%.2x:%.2x:%.2x:%.2x:%.2x:%.2x.\n", dev->name,
635 dev->dev_addr[0], dev->dev_addr[1],
636 dev->dev_addr[2], dev->dev_addr[3],
637 dev->dev_addr[4], dev->dev_addr[5]);
638 }
639
640 napi_enable(&ep->napi); 631 napi_enable(&ep->napi);
641 632
642 if (ep93xx_start_hw(dev)) { 633 if (ep93xx_start_hw(dev)) {
@@ -877,6 +868,9 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
877 ep->mii.mdio_write = ep93xx_mdio_write; 868 ep->mii.mdio_write = ep93xx_mdio_write;
878 ep->mdc_divisor = 40; /* Max HCLK 100 MHz, min MDIO clk 2.5 MHz. */ 869 ep->mdc_divisor = 40; /* Max HCLK 100 MHz, min MDIO clk 2.5 MHz. */
879 870
871 if (is_zero_ether_addr(dev->dev_addr))
872 random_ether_addr(dev->dev_addr);
873
880 err = register_netdev(dev); 874 err = register_netdev(dev);
881 if (err) { 875 if (err) {
882 dev_err(&pdev->dev, "Failed to register netdev\n"); 876 dev_err(&pdev->dev, "Failed to register netdev\n");
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index ce6f1ac25df8..3f4b4300f533 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -1088,7 +1088,14 @@ static struct net_device * au1000_probe(int port_num)
1088 return NULL; 1088 return NULL;
1089 } 1089 }
1090 1090
1091 if ((err = register_netdev(dev)) != 0) { 1091 dev->base_addr = base;
1092 dev->irq = irq;
1093 dev->netdev_ops = &au1000_netdev_ops;
1094 SET_ETHTOOL_OPS(dev, &au1000_ethtool_ops);
1095 dev->watchdog_timeo = ETH_TX_TIMEOUT;
1096
1097 err = register_netdev(dev);
1098 if (err != 0) {
1092 printk(KERN_ERR "%s: Cannot register net device, error %d\n", 1099 printk(KERN_ERR "%s: Cannot register net device, error %d\n",
1093 DRV_NAME, err); 1100 DRV_NAME, err);
1094 free_netdev(dev); 1101 free_netdev(dev);
@@ -1209,12 +1216,6 @@ static struct net_device * au1000_probe(int port_num)
1209 aup->tx_db_inuse[i] = pDB; 1216 aup->tx_db_inuse[i] = pDB;
1210 } 1217 }
1211 1218
1212 dev->base_addr = base;
1213 dev->irq = irq;
1214 dev->netdev_ops = &au1000_netdev_ops;
1215 SET_ETHTOOL_OPS(dev, &au1000_ethtool_ops);
1216 dev->watchdog_timeo = ETH_TX_TIMEOUT;
1217
1218 /* 1219 /*
1219 * The boot code uses the ethernet controller, so reset it to start 1220 * The boot code uses the ethernet controller, so reset it to start
1220 * fresh. au1000_init() expects that the device is in reset state. 1221 * fresh. au1000_init() expects that the device is in reset state.
diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index e046943ef29d..2a9132343b66 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -912,9 +912,6 @@ static irqreturn_t b44_interrupt(int irq, void *dev_id)
912 bp->istat = istat; 912 bp->istat = istat;
913 __b44_disable_ints(bp); 913 __b44_disable_ints(bp);
914 __napi_schedule(&bp->napi); 914 __napi_schedule(&bp->napi);
915 } else {
916 printk(KERN_ERR PFX "%s: Error, poll already scheduled\n",
917 dev->name);
918 } 915 }
919 916
920irq_ack: 917irq_ack:
diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig
index df32c109b7ac..772f6d2489ce 100644
--- a/drivers/net/can/Kconfig
+++ b/drivers/net/can/Kconfig
@@ -35,66 +35,16 @@ config CAN_CALC_BITTIMING
35 arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw". 35 arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw".
36 If unsure, say Y. 36 If unsure, say Y.
37 37
38config CAN_SJA1000
39 depends on CAN_DEV && HAS_IOMEM
40 tristate "Philips SJA1000"
41 ---help---
42 Driver for the SJA1000 CAN controllers from Philips or NXP
43
44config CAN_SJA1000_ISA
45 depends on CAN_SJA1000 && ISA
46 tristate "ISA Bus based legacy SJA1000 driver"
47 ---help---
48 This driver adds legacy support for SJA1000 chips connected to
49 the ISA bus using I/O port, memory mapped or indirect access.
50
51config CAN_SJA1000_PLATFORM
52 depends on CAN_SJA1000
53 tristate "Generic Platform Bus based SJA1000 driver"
54 ---help---
55 This driver adds support for the SJA1000 chips connected to
56 the "platform bus" (Linux abstraction for directly to the
57 processor attached devices). Which can be found on various
58 boards from Phytec (http://www.phytec.de) like the PCM027,
59 PCM038.
60
61config CAN_SJA1000_OF_PLATFORM
62 depends on CAN_SJA1000 && PPC_OF
63 tristate "Generic OF Platform Bus based SJA1000 driver"
64 ---help---
65 This driver adds support for the SJA1000 chips connected to
66 the OpenFirmware "platform bus" found on embedded systems with
67 OpenFirmware bindings, e.g. if you have a PowerPC based system
68 you may want to enable this option.
69
70config CAN_EMS_PCI
71 tristate "EMS CPC-PCI, CPC-PCIe and CPC-104P Card"
72 depends on PCI && CAN_SJA1000
73 ---help---
74 This driver is for the one, two or four channel CPC-PCI,
75 CPC-PCIe and CPC-104P cards from EMS Dr. Thomas Wuensche
76 (http://www.ems-wuensche.de).
77
78config CAN_EMS_USB
79 tristate "EMS CPC-USB/ARM7 CAN/USB interface"
80 depends on USB && CAN_DEV
81 ---help---
82 This driver is for the one channel CPC-USB/ARM7 CAN/USB interface
83 from from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de).
84
85config CAN_KVASER_PCI
86 tristate "Kvaser PCIcanx and Kvaser PCIcan PCI Cards"
87 depends on PCI && CAN_SJA1000
88 ---help---
89 This driver is for the the PCIcanx and PCIcan cards (1, 2 or
90 4 channel) from Kvaser (http://www.kvaser.com).
91
92config CAN_AT91 38config CAN_AT91
93 tristate "Atmel AT91 onchip CAN controller" 39 tristate "Atmel AT91 onchip CAN controller"
94 depends on CAN && CAN_DEV && ARCH_AT91SAM9263 40 depends on CAN_DEV && ARCH_AT91SAM9263
95 ---help--- 41 ---help---
96 This is a driver for the SoC CAN controller in Atmel's AT91SAM9263. 42 This is a driver for the SoC CAN controller in Atmel's AT91SAM9263.
97 43
44source "drivers/net/can/sja1000/Kconfig"
45
46source "drivers/net/can/usb/Kconfig"
47
98config CAN_DEBUG_DEVICES 48config CAN_DEBUG_DEVICES
99 bool "CAN devices debugging messages" 49 bool "CAN devices debugging messages"
100 depends on CAN 50 depends on CAN
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index 564e31c9fee4..2868fe842a41 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -629,6 +629,11 @@ nla_put_failure:
629 return -EMSGSIZE; 629 return -EMSGSIZE;
630} 630}
631 631
632static size_t can_get_xstats_size(const struct net_device *dev)
633{
634 return sizeof(struct can_device_stats);
635}
636
632static int can_fill_xstats(struct sk_buff *skb, const struct net_device *dev) 637static int can_fill_xstats(struct sk_buff *skb, const struct net_device *dev)
633{ 638{
634 struct can_priv *priv = netdev_priv(dev); 639 struct can_priv *priv = netdev_priv(dev);
@@ -657,6 +662,7 @@ static struct rtnl_link_ops can_link_ops __read_mostly = {
657 .changelink = can_changelink, 662 .changelink = can_changelink,
658 .get_size = can_get_size, 663 .get_size = can_get_size,
659 .fill_info = can_fill_info, 664 .fill_info = can_fill_info,
665 .get_xstats_size = can_get_xstats_size,
660 .fill_xstats = can_fill_xstats, 666 .fill_xstats = can_fill_xstats,
661}; 667};
662 668
diff --git a/drivers/net/can/sja1000/Kconfig b/drivers/net/can/sja1000/Kconfig
new file mode 100644
index 000000000000..4c674927f247
--- /dev/null
+++ b/drivers/net/can/sja1000/Kconfig
@@ -0,0 +1,47 @@
1menuconfig CAN_SJA1000
2 tristate "Philips/NXP SJA1000 devices"
3 depends on CAN_DEV && HAS_IOMEM
4
5if CAN_SJA1000
6
7config CAN_SJA1000_ISA
8 tristate "ISA Bus based legacy SJA1000 driver"
9 depends on ISA
10 ---help---
11 This driver adds legacy support for SJA1000 chips connected to
12 the ISA bus using I/O port, memory mapped or indirect access.
13
14config CAN_SJA1000_PLATFORM
15 tristate "Generic Platform Bus based SJA1000 driver"
16 ---help---
17 This driver adds support for the SJA1000 chips connected to
18 the "platform bus" (Linux abstraction for directly to the
19 processor attached devices). Which can be found on various
20 boards from Phytec (http://www.phytec.de) like the PCM027,
21 PCM038.
22
23config CAN_SJA1000_OF_PLATFORM
24 tristate "Generic OF Platform Bus based SJA1000 driver"
25 depends on PPC_OF
26 ---help---
27 This driver adds support for the SJA1000 chips connected to
28 the OpenFirmware "platform bus" found on embedded systems with
29 OpenFirmware bindings, e.g. if you have a PowerPC based system
30 you may want to enable this option.
31
32config CAN_EMS_PCI
33 tristate "EMS CPC-PCI, CPC-PCIe and CPC-104P Card"
34 depends on PCI
35 ---help---
36 This driver is for the one, two or four channel CPC-PCI,
37 CPC-PCIe and CPC-104P cards from EMS Dr. Thomas Wuensche
38 (http://www.ems-wuensche.de).
39
40config CAN_KVASER_PCI
41 tristate "Kvaser PCIcanx and Kvaser PCIcan PCI Cards"
42 depends on PCI
43 ---help---
44 This driver is for the the PCIcanx and PCIcan cards (1, 2 or
45 4 channel) from Kvaser (http://www.kvaser.com).
46
47endif
diff --git a/drivers/net/can/usb/Kconfig b/drivers/net/can/usb/Kconfig
new file mode 100644
index 000000000000..bbc78e0b8a15
--- /dev/null
+++ b/drivers/net/can/usb/Kconfig
@@ -0,0 +1,10 @@
1menu "CAN USB interfaces"
2 depends on USB && CAN_DEV
3
4config CAN_EMS_USB
5 tristate "EMS CPC-USB/ARM7 CAN/USB interface"
6 ---help---
7 This driver is for the one channel CPC-USB/ARM7 CAN/USB interface
8 from from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de).
9
10endmenu
diff --git a/drivers/net/can/usb/Makefile b/drivers/net/can/usb/Makefile
index c3f75ba701b1..0afd51d4c7a5 100644
--- a/drivers/net/can/usb/Makefile
+++ b/drivers/net/can/usb/Makefile
@@ -3,3 +3,5 @@
3# 3#
4 4
5obj-$(CONFIG_CAN_EMS_USB) += ems_usb.o 5obj-$(CONFIG_CAN_EMS_USB) += ems_usb.o
6
7ccflags-$(CONFIG_CAN_DEBUG_DEVICES) := -DDEBUG
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index f86612857a73..6366061712f4 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -879,7 +879,7 @@ recycle:
879 pci_dma_sync_single_for_cpu(adap->pdev, dma_addr, len, 879 pci_dma_sync_single_for_cpu(adap->pdev, dma_addr, len,
880 PCI_DMA_FROMDEVICE); 880 PCI_DMA_FROMDEVICE);
881 (*sd->pg_chunk.p_cnt)--; 881 (*sd->pg_chunk.p_cnt)--;
882 if (!*sd->pg_chunk.p_cnt) 882 if (!*sd->pg_chunk.p_cnt && sd->pg_chunk.page != fl->pg_chunk.page)
883 pci_unmap_page(adap->pdev, 883 pci_unmap_page(adap->pdev,
884 sd->pg_chunk.mapping, 884 sd->pg_chunk.mapping,
885 fl->alloc_size, 885 fl->alloc_size,
@@ -2088,7 +2088,7 @@ static void lro_add_page(struct adapter *adap, struct sge_qset *qs,
2088 PCI_DMA_FROMDEVICE); 2088 PCI_DMA_FROMDEVICE);
2089 2089
2090 (*sd->pg_chunk.p_cnt)--; 2090 (*sd->pg_chunk.p_cnt)--;
2091 if (!*sd->pg_chunk.p_cnt) 2091 if (!*sd->pg_chunk.p_cnt && sd->pg_chunk.page != fl->pg_chunk.page)
2092 pci_unmap_page(adap->pdev, 2092 pci_unmap_page(adap->pdev,
2093 sd->pg_chunk.mapping, 2093 sd->pg_chunk.mapping,
2094 fl->alloc_size, 2094 fl->alloc_size,
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index 3179521aee90..e3478314c002 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -164,16 +164,14 @@ static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1";
164# define EMAC_MBP_MCASTCHAN(ch) ((ch) & 0x7) 164# define EMAC_MBP_MCASTCHAN(ch) ((ch) & 0x7)
165 165
166/* EMAC mac_control register */ 166/* EMAC mac_control register */
167#define EMAC_MACCONTROL_TXPTYPE (0x200) 167#define EMAC_MACCONTROL_TXPTYPE BIT(9)
168#define EMAC_MACCONTROL_TXPACEEN (0x40) 168#define EMAC_MACCONTROL_TXPACEEN BIT(6)
169#define EMAC_MACCONTROL_MIIEN (0x20) 169#define EMAC_MACCONTROL_GMIIEN BIT(5)
170#define EMAC_MACCONTROL_GIGABITEN (0x80) 170#define EMAC_MACCONTROL_GIGABITEN BIT(7)
171#define EMAC_MACCONTROL_GIGABITEN_SHIFT (7) 171#define EMAC_MACCONTROL_FULLDUPLEXEN BIT(0)
172#define EMAC_MACCONTROL_FULLDUPLEXEN (0x1)
173#define EMAC_MACCONTROL_RMIISPEED_MASK BIT(15) 172#define EMAC_MACCONTROL_RMIISPEED_MASK BIT(15)
174 173
175/* GIGABIT MODE related bits */ 174/* GIGABIT MODE related bits */
176#define EMAC_DM646X_MACCONTORL_GMIIEN BIT(5)
177#define EMAC_DM646X_MACCONTORL_GIG BIT(7) 175#define EMAC_DM646X_MACCONTORL_GIG BIT(7)
178#define EMAC_DM646X_MACCONTORL_GIGFORCE BIT(17) 176#define EMAC_DM646X_MACCONTORL_GIGFORCE BIT(17)
179 177
@@ -192,10 +190,10 @@ static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1";
192#define EMAC_RX_BUFFER_OFFSET_MASK (0xFFFF) 190#define EMAC_RX_BUFFER_OFFSET_MASK (0xFFFF)
193 191
194/* MAC_IN_VECTOR (0x180) register bit fields */ 192/* MAC_IN_VECTOR (0x180) register bit fields */
195#define EMAC_DM644X_MAC_IN_VECTOR_HOST_INT (0x20000) 193#define EMAC_DM644X_MAC_IN_VECTOR_HOST_INT BIT(17)
196#define EMAC_DM644X_MAC_IN_VECTOR_STATPEND_INT (0x10000) 194#define EMAC_DM644X_MAC_IN_VECTOR_STATPEND_INT BIT(16)
197#define EMAC_DM644X_MAC_IN_VECTOR_RX_INT_VEC (0x0100) 195#define EMAC_DM644X_MAC_IN_VECTOR_RX_INT_VEC BIT(8)
198#define EMAC_DM644X_MAC_IN_VECTOR_TX_INT_VEC (0x01) 196#define EMAC_DM644X_MAC_IN_VECTOR_TX_INT_VEC BIT(0)
199 197
200/** NOTE:: For DM646x the IN_VECTOR has changed */ 198/** NOTE:: For DM646x the IN_VECTOR has changed */
201#define EMAC_DM646X_MAC_IN_VECTOR_RX_INT_VEC BIT(EMAC_DEF_RX_CH) 199#define EMAC_DM646X_MAC_IN_VECTOR_RX_INT_VEC BIT(EMAC_DEF_RX_CH)
@@ -203,7 +201,6 @@ static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1";
203#define EMAC_DM646X_MAC_IN_VECTOR_HOST_INT BIT(26) 201#define EMAC_DM646X_MAC_IN_VECTOR_HOST_INT BIT(26)
204#define EMAC_DM646X_MAC_IN_VECTOR_STATPEND_INT BIT(27) 202#define EMAC_DM646X_MAC_IN_VECTOR_STATPEND_INT BIT(27)
205 203
206
207/* CPPI bit positions */ 204/* CPPI bit positions */
208#define EMAC_CPPI_SOP_BIT BIT(31) 205#define EMAC_CPPI_SOP_BIT BIT(31)
209#define EMAC_CPPI_EOP_BIT BIT(30) 206#define EMAC_CPPI_EOP_BIT BIT(30)
@@ -750,8 +747,7 @@ static void emac_update_phystatus(struct emac_priv *priv)
750 747
751 if (priv->speed == SPEED_1000 && (priv->version == EMAC_VERSION_2)) { 748 if (priv->speed == SPEED_1000 && (priv->version == EMAC_VERSION_2)) {
752 mac_control = emac_read(EMAC_MACCONTROL); 749 mac_control = emac_read(EMAC_MACCONTROL);
753 mac_control |= (EMAC_DM646X_MACCONTORL_GMIIEN | 750 mac_control |= (EMAC_DM646X_MACCONTORL_GIG |
754 EMAC_DM646X_MACCONTORL_GIG |
755 EMAC_DM646X_MACCONTORL_GIGFORCE); 751 EMAC_DM646X_MACCONTORL_GIGFORCE);
756 } else { 752 } else {
757 /* Clear the GIG bit and GIGFORCE bit */ 753 /* Clear the GIG bit and GIGFORCE bit */
@@ -2108,7 +2104,7 @@ static int emac_hw_enable(struct emac_priv *priv)
2108 2104
2109 /* Enable MII */ 2105 /* Enable MII */
2110 val = emac_read(EMAC_MACCONTROL); 2106 val = emac_read(EMAC_MACCONTROL);
2111 val |= (EMAC_MACCONTROL_MIIEN); 2107 val |= (EMAC_MACCONTROL_GMIIEN);
2112 emac_write(EMAC_MACCONTROL, val); 2108 emac_write(EMAC_MACCONTROL, val);
2113 2109
2114 /* Enable NAPI and interrupts */ 2110 /* Enable NAPI and interrupts */
@@ -2140,9 +2136,6 @@ static int emac_poll(struct napi_struct *napi, int budget)
2140 u32 status = 0; 2136 u32 status = 0;
2141 u32 num_pkts = 0; 2137 u32 num_pkts = 0;
2142 2138
2143 if (!netif_running(ndev))
2144 return 0;
2145
2146 /* Check interrupt vectors and call packet processing */ 2139 /* Check interrupt vectors and call packet processing */
2147 status = emac_read(EMAC_MACINVECTOR); 2140 status = emac_read(EMAC_MACINVECTOR);
2148 2141
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 3c29a20b751e..d269a68ce354 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -157,6 +157,7 @@
157#include <linux/init.h> 157#include <linux/init.h>
158#include <linux/pci.h> 158#include <linux/pci.h>
159#include <linux/dma-mapping.h> 159#include <linux/dma-mapping.h>
160#include <linux/dmapool.h>
160#include <linux/netdevice.h> 161#include <linux/netdevice.h>
161#include <linux/etherdevice.h> 162#include <linux/etherdevice.h>
162#include <linux/mii.h> 163#include <linux/mii.h>
@@ -602,6 +603,7 @@ struct nic {
602 struct mem *mem; 603 struct mem *mem;
603 dma_addr_t dma_addr; 604 dma_addr_t dma_addr;
604 605
606 struct pci_pool *cbs_pool;
605 dma_addr_t cbs_dma_addr; 607 dma_addr_t cbs_dma_addr;
606 u8 adaptive_ifs; 608 u8 adaptive_ifs;
607 u8 tx_threshold; 609 u8 tx_threshold;
@@ -1793,9 +1795,7 @@ static void e100_clean_cbs(struct nic *nic)
1793 nic->cb_to_clean = nic->cb_to_clean->next; 1795 nic->cb_to_clean = nic->cb_to_clean->next;
1794 nic->cbs_avail++; 1796 nic->cbs_avail++;
1795 } 1797 }
1796 pci_free_consistent(nic->pdev, 1798 pci_pool_free(nic->cbs_pool, nic->cbs, nic->cbs_dma_addr);
1797 sizeof(struct cb) * nic->params.cbs.count,
1798 nic->cbs, nic->cbs_dma_addr);
1799 nic->cbs = NULL; 1799 nic->cbs = NULL;
1800 nic->cbs_avail = 0; 1800 nic->cbs_avail = 0;
1801 } 1801 }
@@ -1813,8 +1813,8 @@ static int e100_alloc_cbs(struct nic *nic)
1813 nic->cb_to_use = nic->cb_to_send = nic->cb_to_clean = NULL; 1813 nic->cb_to_use = nic->cb_to_send = nic->cb_to_clean = NULL;
1814 nic->cbs_avail = 0; 1814 nic->cbs_avail = 0;
1815 1815
1816 nic->cbs = pci_alloc_consistent(nic->pdev, 1816 nic->cbs = pci_pool_alloc(nic->cbs_pool, GFP_KERNEL,
1817 sizeof(struct cb) * count, &nic->cbs_dma_addr); 1817 &nic->cbs_dma_addr);
1818 if (!nic->cbs) 1818 if (!nic->cbs)
1819 return -ENOMEM; 1819 return -ENOMEM;
1820 1820
@@ -2841,7 +2841,11 @@ static int __devinit e100_probe(struct pci_dev *pdev,
2841 DPRINTK(PROBE, ERR, "Cannot register net device, aborting.\n"); 2841 DPRINTK(PROBE, ERR, "Cannot register net device, aborting.\n");
2842 goto err_out_free; 2842 goto err_out_free;
2843 } 2843 }
2844 2844 nic->cbs_pool = pci_pool_create(netdev->name,
2845 nic->pdev,
2846 nic->params.cbs.count * sizeof(struct cb),
2847 sizeof(u32),
2848 0);
2845 DPRINTK(PROBE, INFO, "addr 0x%llx, irq %d, MAC addr %pM\n", 2849 DPRINTK(PROBE, INFO, "addr 0x%llx, irq %d, MAC addr %pM\n",
2846 (unsigned long long)pci_resource_start(pdev, use_io ? 1 : 0), 2850 (unsigned long long)pci_resource_start(pdev, use_io ? 1 : 0),
2847 pdev->irq, netdev->dev_addr); 2851 pdev->irq, netdev->dev_addr);
@@ -2871,6 +2875,7 @@ static void __devexit e100_remove(struct pci_dev *pdev)
2871 unregister_netdev(netdev); 2875 unregister_netdev(netdev);
2872 e100_free(nic); 2876 e100_free(nic);
2873 pci_iounmap(pdev, nic->csr); 2877 pci_iounmap(pdev, nic->csr);
2878 pci_pool_destroy(nic->cbs_pool);
2874 free_netdev(netdev); 2879 free_netdev(netdev);
2875 pci_release_regions(pdev); 2880 pci_release_regions(pdev);
2876 pci_disable_device(pdev); 2881 pci_disable_device(pdev);
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h
index 189dfa2d6c76..3e187b0e4203 100644
--- a/drivers/net/e1000e/e1000.h
+++ b/drivers/net/e1000e/e1000.h
@@ -141,6 +141,8 @@ struct e1000_info;
141#define HV_TNCRS_UPPER PHY_REG(778, 29) /* Transmit with no CRS */ 141#define HV_TNCRS_UPPER PHY_REG(778, 29) /* Transmit with no CRS */
142#define HV_TNCRS_LOWER PHY_REG(778, 30) 142#define HV_TNCRS_LOWER PHY_REG(778, 30)
143 143
144#define E1000_FCRTV_PCH 0x05F40 /* PCH Flow Control Refresh Timer Value */
145
144/* BM PHY Copper Specific Status */ 146/* BM PHY Copper Specific Status */
145#define BM_CS_STATUS 17 147#define BM_CS_STATUS 17
146#define BM_CS_STATUS_LINK_UP 0x0400 148#define BM_CS_STATUS_LINK_UP 0x0400
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 1bf4d2a5d34f..e82638ecae88 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -327,10 +327,18 @@ static int e1000_set_pauseparam(struct net_device *netdev,
327 327
328 hw->fc.current_mode = hw->fc.requested_mode; 328 hw->fc.current_mode = hw->fc.requested_mode;
329 329
330 retval = ((hw->phy.media_type == e1000_media_type_fiber) ? 330 if (hw->phy.media_type == e1000_media_type_fiber) {
331 hw->mac.ops.setup_link(hw) : e1000e_force_mac_fc(hw)); 331 retval = hw->mac.ops.setup_link(hw);
332 /* implicit goto out */
333 } else {
334 retval = e1000e_force_mac_fc(hw);
335 if (retval)
336 goto out;
337 e1000e_set_fc_watermarks(hw);
338 }
332 } 339 }
333 340
341out:
334 clear_bit(__E1000_RESETTING, &adapter->state); 342 clear_bit(__E1000_RESETTING, &adapter->state);
335 return retval; 343 return retval;
336} 344}
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 51ddb04ab195..eff3f4783655 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -1118,7 +1118,8 @@ static s32 e1000_oem_bits_config_ich8lan(struct e1000_hw *hw, bool d0_state)
1118 oem_reg |= HV_OEM_BITS_LPLU; 1118 oem_reg |= HV_OEM_BITS_LPLU;
1119 } 1119 }
1120 /* Restart auto-neg to activate the bits */ 1120 /* Restart auto-neg to activate the bits */
1121 oem_reg |= HV_OEM_BITS_RESTART_AN; 1121 if (!e1000_check_reset_block(hw))
1122 oem_reg |= HV_OEM_BITS_RESTART_AN;
1122 ret_val = hw->phy.ops.write_phy_reg_locked(hw, HV_OEM_BITS, oem_reg); 1123 ret_val = hw->phy.ops.write_phy_reg_locked(hw, HV_OEM_BITS, oem_reg);
1123 1124
1124out: 1125out:
@@ -3558,6 +3559,7 @@ struct e1000_info e1000_pch_info = {
3558 | FLAG_HAS_AMT 3559 | FLAG_HAS_AMT
3559 | FLAG_HAS_FLASH 3560 | FLAG_HAS_FLASH
3560 | FLAG_HAS_JUMBO_FRAMES 3561 | FLAG_HAS_JUMBO_FRAMES
3562 | FLAG_DISABLE_FC_PAUSE_TIME /* errata */
3561 | FLAG_APME_IN_WUC, 3563 | FLAG_APME_IN_WUC,
3562 .pba = 26, 3564 .pba = 26,
3563 .max_hw_frame_size = 4096, 3565 .max_hw_frame_size = 4096,
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 0687c6aa4e46..fad8f9ea0043 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -2769,25 +2769,38 @@ void e1000e_reset(struct e1000_adapter *adapter)
2769 /* 2769 /*
2770 * flow control settings 2770 * flow control settings
2771 * 2771 *
2772 * The high water mark must be low enough to fit two full frame 2772 * The high water mark must be low enough to fit one full frame
2773 * (or the size used for early receive) above it in the Rx FIFO. 2773 * (or the size used for early receive) above it in the Rx FIFO.
2774 * Set it to the lower of: 2774 * Set it to the lower of:
2775 * - 90% of the Rx FIFO size, and 2775 * - 90% of the Rx FIFO size, and
2776 * - the full Rx FIFO size minus the early receive size (for parts 2776 * - the full Rx FIFO size minus the early receive size (for parts
2777 * with ERT support assuming ERT set to E1000_ERT_2048), or 2777 * with ERT support assuming ERT set to E1000_ERT_2048), or
2778 * - the full Rx FIFO size minus two full frames 2778 * - the full Rx FIFO size minus one full frame
2779 */ 2779 */
2780 if ((adapter->flags & FLAG_HAS_ERT) && 2780 if (hw->mac.type == e1000_pchlan) {
2781 (adapter->netdev->mtu > ETH_DATA_LEN)) 2781 /*
2782 hwm = min(((pba << 10) * 9 / 10), 2782 * Workaround PCH LOM adapter hangs with certain network
2783 ((pba << 10) - (E1000_ERT_2048 << 3))); 2783 * loads. If hangs persist, try disabling Tx flow control.
2784 else 2784 */
2785 hwm = min(((pba << 10) * 9 / 10), 2785 if (adapter->netdev->mtu > ETH_DATA_LEN) {
2786 ((pba << 10) - (2 * adapter->max_frame_size))); 2786 fc->high_water = 0x3500;
2787 fc->low_water = 0x1500;
2788 } else {
2789 fc->high_water = 0x5000;
2790 fc->low_water = 0x3000;
2791 }
2792 } else {
2793 if ((adapter->flags & FLAG_HAS_ERT) &&
2794 (adapter->netdev->mtu > ETH_DATA_LEN))
2795 hwm = min(((pba << 10) * 9 / 10),
2796 ((pba << 10) - (E1000_ERT_2048 << 3)));
2797 else
2798 hwm = min(((pba << 10) * 9 / 10),
2799 ((pba << 10) - adapter->max_frame_size));
2787 2800
2788 fc->high_water = hwm & E1000_FCRTH_RTH; /* 8-byte granularity */ 2801 fc->high_water = hwm & E1000_FCRTH_RTH; /* 8-byte granularity */
2789 fc->low_water = (fc->high_water - (2 * adapter->max_frame_size)); 2802 fc->low_water = fc->high_water - 8;
2790 fc->low_water &= E1000_FCRTL_RTL; /* 8-byte granularity */ 2803 }
2791 2804
2792 if (adapter->flags & FLAG_DISABLE_FC_PAUSE_TIME) 2805 if (adapter->flags & FLAG_DISABLE_FC_PAUSE_TIME)
2793 fc->pause_time = 0xFFFF; 2806 fc->pause_time = 0xFFFF;
@@ -2813,6 +2826,10 @@ void e1000e_reset(struct e1000_adapter *adapter)
2813 if (mac->ops.init_hw(hw)) 2826 if (mac->ops.init_hw(hw))
2814 e_err("Hardware Error\n"); 2827 e_err("Hardware Error\n");
2815 2828
2829 /* additional part of the flow-control workaround above */
2830 if (hw->mac.type == e1000_pchlan)
2831 ew32(FCRTV_PCH, 0x1000);
2832
2816 e1000_update_mng_vlan(adapter); 2833 e1000_update_mng_vlan(adapter);
2817 2834
2818 /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */ 2835 /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */
@@ -3610,7 +3627,7 @@ static void e1000_watchdog_task(struct work_struct *work)
3610 case SPEED_100: 3627 case SPEED_100:
3611 txb2b = 0; 3628 txb2b = 0;
3612 netdev->tx_queue_len = 100; 3629 netdev->tx_queue_len = 100;
3613 /* maybe add some timeout factor ? */ 3630 adapter->tx_timeout_factor = 10;
3614 break; 3631 break;
3615 } 3632 }
3616 3633
@@ -4288,8 +4305,10 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu)
4288 4305
4289 while (test_and_set_bit(__E1000_RESETTING, &adapter->state)) 4306 while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
4290 msleep(1); 4307 msleep(1);
4291 /* e1000e_down has a dependency on max_frame_size */ 4308 /* e1000e_down -> e1000e_reset dependent on max_frame_size & mtu */
4292 adapter->max_frame_size = max_frame; 4309 adapter->max_frame_size = max_frame;
4310 e_info("changing MTU from %d to %d\n", netdev->mtu, new_mtu);
4311 netdev->mtu = new_mtu;
4293 if (netif_running(netdev)) 4312 if (netif_running(netdev))
4294 e1000e_down(adapter); 4313 e1000e_down(adapter);
4295 4314
@@ -4319,9 +4338,6 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu)
4319 adapter->rx_buffer_len = ETH_FRAME_LEN + VLAN_HLEN 4338 adapter->rx_buffer_len = ETH_FRAME_LEN + VLAN_HLEN
4320 + ETH_FCS_LEN; 4339 + ETH_FCS_LEN;
4321 4340
4322 e_info("changing MTU from %d to %d\n", netdev->mtu, new_mtu);
4323 netdev->mtu = new_mtu;
4324
4325 if (netif_running(netdev)) 4341 if (netif_running(netdev))
4326 e1000e_up(adapter); 4342 e1000e_up(adapter);
4327 else 4343 else
diff --git a/drivers/net/e1000e/phy.c b/drivers/net/e1000e/phy.c
index 03175b3a2c9e..85f955f70417 100644
--- a/drivers/net/e1000e/phy.c
+++ b/drivers/net/e1000e/phy.c
@@ -71,7 +71,6 @@ static const u16 e1000_igp_2_cable_length_table[] =
71#define I82577_CFG_ASSERT_CRS_ON_TX (1 << 15) 71#define I82577_CFG_ASSERT_CRS_ON_TX (1 << 15)
72#define I82577_CFG_ENABLE_DOWNSHIFT (3 << 10) /* auto downshift 100/10 */ 72#define I82577_CFG_ENABLE_DOWNSHIFT (3 << 10) /* auto downshift 100/10 */
73#define I82577_CTRL_REG 23 73#define I82577_CTRL_REG 23
74#define I82577_CTRL_DOWNSHIFT_MASK (7 << 10)
75 74
76/* 82577 specific PHY registers */ 75/* 82577 specific PHY registers */
77#define I82577_PHY_CTRL_2 18 76#define I82577_PHY_CTRL_2 18
@@ -660,15 +659,6 @@ s32 e1000_copper_link_setup_82577(struct e1000_hw *hw)
660 phy_data |= I82577_CFG_ENABLE_DOWNSHIFT; 659 phy_data |= I82577_CFG_ENABLE_DOWNSHIFT;
661 660
662 ret_val = phy->ops.write_phy_reg(hw, I82577_CFG_REG, phy_data); 661 ret_val = phy->ops.write_phy_reg(hw, I82577_CFG_REG, phy_data);
663 if (ret_val)
664 goto out;
665
666 /* Set number of link attempts before downshift */
667 ret_val = phy->ops.read_phy_reg(hw, I82577_CTRL_REG, &phy_data);
668 if (ret_val)
669 goto out;
670 phy_data &= ~I82577_CTRL_DOWNSHIFT_MASK;
671 ret_val = phy->ops.write_phy_reg(hw, I82577_CTRL_REG, phy_data);
672 662
673out: 663out:
674 return ret_val; 664 return ret_val;
@@ -2658,19 +2648,18 @@ static s32 __e1000_read_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 *data,
2658 page = 0; 2648 page = 0;
2659 2649
2660 if (reg > MAX_PHY_MULTI_PAGE_REG) { 2650 if (reg > MAX_PHY_MULTI_PAGE_REG) {
2661 if ((hw->phy.type != e1000_phy_82578) || 2651 u32 phy_addr = hw->phy.addr;
2662 ((reg != I82578_ADDR_REG) &&
2663 (reg != I82578_ADDR_REG + 1))) {
2664 u32 phy_addr = hw->phy.addr;
2665 2652
2666 hw->phy.addr = 1; 2653 hw->phy.addr = 1;
2667 2654
2668 /* Page is shifted left, PHY expects (page x 32) */ 2655 /* Page is shifted left, PHY expects (page x 32) */
2669 ret_val = e1000e_write_phy_reg_mdic(hw, 2656 ret_val = e1000e_write_phy_reg_mdic(hw,
2670 IGP01E1000_PHY_PAGE_SELECT, 2657 IGP01E1000_PHY_PAGE_SELECT,
2671 (page << IGP_PAGE_SHIFT)); 2658 (page << IGP_PAGE_SHIFT));
2672 hw->phy.addr = phy_addr; 2659 hw->phy.addr = phy_addr;
2673 } 2660
2661 if (ret_val)
2662 goto out;
2674 } 2663 }
2675 2664
2676 ret_val = e1000e_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & reg, 2665 ret_val = e1000e_read_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & reg,
@@ -2678,7 +2667,7 @@ static s32 __e1000_read_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 *data,
2678out: 2667out:
2679 /* Revert to MDIO fast mode, if applicable */ 2668 /* Revert to MDIO fast mode, if applicable */
2680 if ((hw->phy.type == e1000_phy_82577) && in_slow_mode) 2669 if ((hw->phy.type == e1000_phy_82577) && in_slow_mode)
2681 ret_val = e1000_set_mdio_slow_mode_hv(hw, false); 2670 ret_val |= e1000_set_mdio_slow_mode_hv(hw, false);
2682 2671
2683 if (!locked) 2672 if (!locked)
2684 hw->phy.ops.release_phy(hw); 2673 hw->phy.ops.release_phy(hw);
@@ -2784,19 +2773,18 @@ static s32 __e1000_write_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 data,
2784 } 2773 }
2785 2774
2786 if (reg > MAX_PHY_MULTI_PAGE_REG) { 2775 if (reg > MAX_PHY_MULTI_PAGE_REG) {
2787 if ((hw->phy.type != e1000_phy_82578) || 2776 u32 phy_addr = hw->phy.addr;
2788 ((reg != I82578_ADDR_REG) &&
2789 (reg != I82578_ADDR_REG + 1))) {
2790 u32 phy_addr = hw->phy.addr;
2791 2777
2792 hw->phy.addr = 1; 2778 hw->phy.addr = 1;
2793 2779
2794 /* Page is shifted left, PHY expects (page x 32) */ 2780 /* Page is shifted left, PHY expects (page x 32) */
2795 ret_val = e1000e_write_phy_reg_mdic(hw, 2781 ret_val = e1000e_write_phy_reg_mdic(hw,
2796 IGP01E1000_PHY_PAGE_SELECT, 2782 IGP01E1000_PHY_PAGE_SELECT,
2797 (page << IGP_PAGE_SHIFT)); 2783 (page << IGP_PAGE_SHIFT));
2798 hw->phy.addr = phy_addr; 2784 hw->phy.addr = phy_addr;
2799 } 2785
2786 if (ret_val)
2787 goto out;
2800 } 2788 }
2801 2789
2802 ret_val = e1000e_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & reg, 2790 ret_val = e1000e_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & reg,
@@ -2805,7 +2793,7 @@ static s32 __e1000_write_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 data,
2805out: 2793out:
2806 /* Revert to MDIO fast mode, if applicable */ 2794 /* Revert to MDIO fast mode, if applicable */
2807 if ((hw->phy.type == e1000_phy_82577) && in_slow_mode) 2795 if ((hw->phy.type == e1000_phy_82577) && in_slow_mode)
2808 ret_val = e1000_set_mdio_slow_mode_hv(hw, false); 2796 ret_val |= e1000_set_mdio_slow_mode_hv(hw, false);
2809 2797
2810 if (!locked) 2798 if (!locked)
2811 hw->phy.ops.release_phy(hw); 2799 hw->phy.ops.release_phy(hw);
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index e1da4666f204..3116601dbfea 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -5821,10 +5821,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
5821 dev->dev_addr); 5821 dev->dev_addr);
5822 dev_printk(KERN_ERR, &pci_dev->dev, 5822 dev_printk(KERN_ERR, &pci_dev->dev,
5823 "Please complain to your hardware vendor. Switching to a random MAC.\n"); 5823 "Please complain to your hardware vendor. Switching to a random MAC.\n");
5824 dev->dev_addr[0] = 0x00; 5824 random_ether_addr(dev->dev_addr);
5825 dev->dev_addr[1] = 0x00;
5826 dev->dev_addr[2] = 0x6c;
5827 get_random_bytes(&dev->dev_addr[3], 3);
5828 } 5825 }
5829 5826
5830 dprintk(KERN_DEBUG "%s: MAC Address %pM\n", 5827 dprintk(KERN_DEBUG "%s: MAC Address %pM\n",
diff --git a/drivers/net/ibm_newemac/emac.h b/drivers/net/ibm_newemac/emac.h
index d34adf99fc6a..8a61b597a169 100644
--- a/drivers/net/ibm_newemac/emac.h
+++ b/drivers/net/ibm_newemac/emac.h
@@ -263,8 +263,8 @@ struct emac_regs {
263 263
264 264
265/* EMACx_TRTR */ 265/* EMACx_TRTR */
266#define EMAC_TRTR_SHIFT_EMAC4 27 266#define EMAC_TRTR_SHIFT_EMAC4 24
267#define EMAC_TRTR_SHIFT 24 267#define EMAC_TRTR_SHIFT 27
268 268
269/* EMAC specific TX descriptor control fields (write access) */ 269/* EMAC specific TX descriptor control fields (write access) */
270#define EMAC_TX_CTRL_GFCS 0x0200 270#define EMAC_TX_CTRL_GFCS 0x0200
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 5bd9e6bf6f2f..a456578b8578 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -240,11 +240,11 @@ static void ixgbe_unmap_and_free_tx_resource(struct ixgbe_adapter *adapter,
240static inline bool ixgbe_tx_is_paused(struct ixgbe_adapter *adapter, 240static inline bool ixgbe_tx_is_paused(struct ixgbe_adapter *adapter,
241 struct ixgbe_ring *tx_ring) 241 struct ixgbe_ring *tx_ring)
242{ 242{
243 int tc;
244 u32 txoff = IXGBE_TFCS_TXOFF; 243 u32 txoff = IXGBE_TFCS_TXOFF;
245 244
246#ifdef CONFIG_IXGBE_DCB 245#ifdef CONFIG_IXGBE_DCB
247 if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) { 246 if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
247 int tc;
248 int reg_idx = tx_ring->reg_idx; 248 int reg_idx = tx_ring->reg_idx;
249 int dcb_i = adapter->ring_feature[RING_F_DCB].indices; 249 int dcb_i = adapter->ring_feature[RING_F_DCB].indices;
250 250
@@ -5994,6 +5994,7 @@ static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev)
5994 } else { 5994 } else {
5995 pci_set_master(pdev); 5995 pci_set_master(pdev);
5996 pci_restore_state(pdev); 5996 pci_restore_state(pdev);
5997 pci_save_state(pdev);
5997 5998
5998 pci_wake_from_d3(pdev, false); 5999 pci_wake_from_d3(pdev, false);
5999 6000
diff --git a/drivers/net/ks8851_mll.c b/drivers/net/ks8851_mll.c
index 0be14d702beb..c146304d8d6c 100644
--- a/drivers/net/ks8851_mll.c
+++ b/drivers/net/ks8851_mll.c
@@ -568,6 +568,16 @@ static inline void ks_outblk(struct ks_net *ks, u16 *wptr, u32 len)
568 iowrite16(*wptr++, ks->hw_addr); 568 iowrite16(*wptr++, ks->hw_addr);
569} 569}
570 570
571static void ks_disable_int(struct ks_net *ks)
572{
573 ks_wrreg16(ks, KS_IER, 0x0000);
574} /* ks_disable_int */
575
576static void ks_enable_int(struct ks_net *ks)
577{
578 ks_wrreg16(ks, KS_IER, ks->rc_ier);
579} /* ks_enable_int */
580
571/** 581/**
572 * ks_tx_fifo_space - return the available hardware buffer size. 582 * ks_tx_fifo_space - return the available hardware buffer size.
573 * @ks: The chip information 583 * @ks: The chip information
@@ -681,6 +691,47 @@ static void ks_soft_reset(struct ks_net *ks, unsigned op)
681} 691}
682 692
683 693
694void ks_enable_qmu(struct ks_net *ks)
695{
696 u16 w;
697
698 w = ks_rdreg16(ks, KS_TXCR);
699 /* Enables QMU Transmit (TXCR). */
700 ks_wrreg16(ks, KS_TXCR, w | TXCR_TXE);
701
702 /*
703 * RX Frame Count Threshold Enable and Auto-Dequeue RXQ Frame
704 * Enable
705 */
706
707 w = ks_rdreg16(ks, KS_RXQCR);
708 ks_wrreg16(ks, KS_RXQCR, w | RXQCR_RXFCTE);
709
710 /* Enables QMU Receive (RXCR1). */
711 w = ks_rdreg16(ks, KS_RXCR1);
712 ks_wrreg16(ks, KS_RXCR1, w | RXCR1_RXE);
713 ks->enabled = true;
714} /* ks_enable_qmu */
715
716static void ks_disable_qmu(struct ks_net *ks)
717{
718 u16 w;
719
720 w = ks_rdreg16(ks, KS_TXCR);
721
722 /* Disables QMU Transmit (TXCR). */
723 w &= ~TXCR_TXE;
724 ks_wrreg16(ks, KS_TXCR, w);
725
726 /* Disables QMU Receive (RXCR1). */
727 w = ks_rdreg16(ks, KS_RXCR1);
728 w &= ~RXCR1_RXE ;
729 ks_wrreg16(ks, KS_RXCR1, w);
730
731 ks->enabled = false;
732
733} /* ks_disable_qmu */
734
684/** 735/**
685 * ks_read_qmu - read 1 pkt data from the QMU. 736 * ks_read_qmu - read 1 pkt data from the QMU.
686 * @ks: The chip information 737 * @ks: The chip information
@@ -752,7 +803,7 @@ static void ks_rcv(struct ks_net *ks, struct net_device *netdev)
752 (frame_hdr->len < RX_BUF_SIZE) && frame_hdr->len)) { 803 (frame_hdr->len < RX_BUF_SIZE) && frame_hdr->len)) {
753 skb_reserve(skb, 2); 804 skb_reserve(skb, 2);
754 /* read data block including CRC 4 bytes */ 805 /* read data block including CRC 4 bytes */
755 ks_read_qmu(ks, (u16 *)skb->data, frame_hdr->len + 4); 806 ks_read_qmu(ks, (u16 *)skb->data, frame_hdr->len);
756 skb_put(skb, frame_hdr->len); 807 skb_put(skb, frame_hdr->len);
757 skb->dev = netdev; 808 skb->dev = netdev;
758 skb->protocol = eth_type_trans(skb, netdev); 809 skb->protocol = eth_type_trans(skb, netdev);
@@ -861,7 +912,7 @@ static int ks_net_open(struct net_device *netdev)
861 ks_dbg(ks, "%s - entry\n", __func__); 912 ks_dbg(ks, "%s - entry\n", __func__);
862 913
863 /* reset the HW */ 914 /* reset the HW */
864 err = request_irq(ks->irq, ks_irq, KS_INT_FLAGS, DRV_NAME, ks); 915 err = request_irq(ks->irq, ks_irq, KS_INT_FLAGS, DRV_NAME, netdev);
865 916
866 if (err) { 917 if (err) {
867 printk(KERN_ERR "Failed to request IRQ: %d: %d\n", 918 printk(KERN_ERR "Failed to request IRQ: %d: %d\n",
@@ -869,6 +920,15 @@ static int ks_net_open(struct net_device *netdev)
869 return err; 920 return err;
870 } 921 }
871 922
923 /* wake up powermode to normal mode */
924 ks_set_powermode(ks, PMECR_PM_NORMAL);
925 mdelay(1); /* wait for normal mode to take effect */
926
927 ks_wrreg16(ks, KS_ISR, 0xffff);
928 ks_enable_int(ks);
929 ks_enable_qmu(ks);
930 netif_start_queue(ks->netdev);
931
872 if (netif_msg_ifup(ks)) 932 if (netif_msg_ifup(ks))
873 ks_dbg(ks, "network device %s up\n", netdev->name); 933 ks_dbg(ks, "network device %s up\n", netdev->name);
874 934
@@ -892,19 +952,14 @@ static int ks_net_stop(struct net_device *netdev)
892 952
893 netif_stop_queue(netdev); 953 netif_stop_queue(netdev);
894 954
895 kfree(ks->frame_head_info);
896
897 mutex_lock(&ks->lock); 955 mutex_lock(&ks->lock);
898 956
899 /* turn off the IRQs and ack any outstanding */ 957 /* turn off the IRQs and ack any outstanding */
900 ks_wrreg16(ks, KS_IER, 0x0000); 958 ks_wrreg16(ks, KS_IER, 0x0000);
901 ks_wrreg16(ks, KS_ISR, 0xffff); 959 ks_wrreg16(ks, KS_ISR, 0xffff);
902 960
903 /* shutdown RX process */ 961 /* shutdown RX/TX QMU */
904 ks_wrreg16(ks, KS_RXCR1, 0x0000); 962 ks_disable_qmu(ks);
905
906 /* shutdown TX process */
907 ks_wrreg16(ks, KS_TXCR, 0x0000);
908 963
909 /* set powermode to soft power down to save power */ 964 /* set powermode to soft power down to save power */
910 ks_set_powermode(ks, PMECR_PM_SOFTDOWN); 965 ks_set_powermode(ks, PMECR_PM_SOFTDOWN);
@@ -929,17 +984,8 @@ static int ks_net_stop(struct net_device *netdev)
929 */ 984 */
930static void ks_write_qmu(struct ks_net *ks, u8 *pdata, u16 len) 985static void ks_write_qmu(struct ks_net *ks, u8 *pdata, u16 len)
931{ 986{
932 unsigned fid = ks->fid;
933
934 fid = ks->fid;
935 ks->fid = (ks->fid + 1) & TXFR_TXFID_MASK;
936
937 /* reduce the tx interrupt occurrances. */
938 if (!fid)
939 fid |= TXFR_TXIC; /* irq on completion */
940
941 /* start header at txb[0] to align txw entries */ 987 /* start header at txb[0] to align txw entries */
942 ks->txh.txw[0] = cpu_to_le16(fid); 988 ks->txh.txw[0] = 0;
943 ks->txh.txw[1] = cpu_to_le16(len); 989 ks->txh.txw[1] = cpu_to_le16(len);
944 990
945 /* 1. set sudo-DMA mode */ 991 /* 1. set sudo-DMA mode */
@@ -957,16 +1003,6 @@ static void ks_write_qmu(struct ks_net *ks, u8 *pdata, u16 len)
957 ; 1003 ;
958} 1004}
959 1005
960static void ks_disable_int(struct ks_net *ks)
961{
962 ks_wrreg16(ks, KS_IER, 0x0000);
963} /* ks_disable_int */
964
965static void ks_enable_int(struct ks_net *ks)
966{
967 ks_wrreg16(ks, KS_IER, ks->rc_ier);
968} /* ks_enable_int */
969
970/** 1006/**
971 * ks_start_xmit - transmit packet 1007 * ks_start_xmit - transmit packet
972 * @skb : The buffer to transmit 1008 * @skb : The buffer to transmit
@@ -1410,25 +1446,6 @@ static int ks_read_selftest(struct ks_net *ks)
1410 return ret; 1446 return ret;
1411} 1447}
1412 1448
1413static void ks_disable(struct ks_net *ks)
1414{
1415 u16 w;
1416
1417 w = ks_rdreg16(ks, KS_TXCR);
1418
1419 /* Disables QMU Transmit (TXCR). */
1420 w &= ~TXCR_TXE;
1421 ks_wrreg16(ks, KS_TXCR, w);
1422
1423 /* Disables QMU Receive (RXCR1). */
1424 w = ks_rdreg16(ks, KS_RXCR1);
1425 w &= ~RXCR1_RXE ;
1426 ks_wrreg16(ks, KS_RXCR1, w);
1427
1428 ks->enabled = false;
1429
1430} /* ks_disable */
1431
1432static void ks_setup(struct ks_net *ks) 1449static void ks_setup(struct ks_net *ks)
1433{ 1450{
1434 u16 w; 1451 u16 w;
@@ -1463,7 +1480,7 @@ static void ks_setup(struct ks_net *ks)
1463 w = TXCR_TXFCE | TXCR_TXPE | TXCR_TXCRC | TXCR_TCGIP; 1480 w = TXCR_TXFCE | TXCR_TXPE | TXCR_TXCRC | TXCR_TCGIP;
1464 ks_wrreg16(ks, KS_TXCR, w); 1481 ks_wrreg16(ks, KS_TXCR, w);
1465 1482
1466 w = RXCR1_RXFCE | RXCR1_RXBE | RXCR1_RXUE; 1483 w = RXCR1_RXFCE | RXCR1_RXBE | RXCR1_RXUE | RXCR1_RXME | RXCR1_RXIPFCC;
1467 1484
1468 if (ks->promiscuous) /* bPromiscuous */ 1485 if (ks->promiscuous) /* bPromiscuous */
1469 w |= (RXCR1_RXAE | RXCR1_RXINVF); 1486 w |= (RXCR1_RXAE | RXCR1_RXINVF);
@@ -1486,28 +1503,6 @@ static void ks_setup_int(struct ks_net *ks)
1486 ks->rc_ier = (IRQ_LCI | IRQ_TXI | IRQ_RXI); 1503 ks->rc_ier = (IRQ_LCI | IRQ_TXI | IRQ_RXI);
1487} /* ks_setup_int */ 1504} /* ks_setup_int */
1488 1505
1489void ks_enable(struct ks_net *ks)
1490{
1491 u16 w;
1492
1493 w = ks_rdreg16(ks, KS_TXCR);
1494 /* Enables QMU Transmit (TXCR). */
1495 ks_wrreg16(ks, KS_TXCR, w | TXCR_TXE);
1496
1497 /*
1498 * RX Frame Count Threshold Enable and Auto-Dequeue RXQ Frame
1499 * Enable
1500 */
1501
1502 w = ks_rdreg16(ks, KS_RXQCR);
1503 ks_wrreg16(ks, KS_RXQCR, w | RXQCR_RXFCTE);
1504
1505 /* Enables QMU Receive (RXCR1). */
1506 w = ks_rdreg16(ks, KS_RXCR1);
1507 ks_wrreg16(ks, KS_RXCR1, w | RXCR1_RXE);
1508 ks->enabled = true;
1509} /* ks_enable */
1510
1511static int ks_hw_init(struct ks_net *ks) 1506static int ks_hw_init(struct ks_net *ks)
1512{ 1507{
1513#define MHEADER_SIZE (sizeof(struct type_frame_head) * MAX_RECV_FRAMES) 1508#define MHEADER_SIZE (sizeof(struct type_frame_head) * MAX_RECV_FRAMES)
@@ -1612,11 +1607,9 @@ static int __devinit ks8851_probe(struct platform_device *pdev)
1612 1607
1613 ks_soft_reset(ks, GRR_GSR); 1608 ks_soft_reset(ks, GRR_GSR);
1614 ks_hw_init(ks); 1609 ks_hw_init(ks);
1615 ks_disable(ks); 1610 ks_disable_qmu(ks);
1616 ks_setup(ks); 1611 ks_setup(ks);
1617 ks_setup_int(ks); 1612 ks_setup_int(ks);
1618 ks_enable_int(ks);
1619 ks_enable(ks);
1620 memcpy(netdev->dev_addr, ks->mac_addr, 6); 1613 memcpy(netdev->dev_addr, ks->mac_addr, 6);
1621 1614
1622 data = ks_rdreg16(ks, KS_OBCR); 1615 data = ks_rdreg16(ks, KS_OBCR);
@@ -1658,6 +1651,7 @@ static int __devexit ks8851_remove(struct platform_device *pdev)
1658 struct ks_net *ks = netdev_priv(netdev); 1651 struct ks_net *ks = netdev_priv(netdev);
1659 struct resource *iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1652 struct resource *iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1660 1653
1654 kfree(ks->frame_head_info);
1661 unregister_netdev(netdev); 1655 unregister_netdev(netdev);
1662 iounmap(ks->hw_addr); 1656 iounmap(ks->hw_addr);
1663 free_netdev(netdev); 1657 free_netdev(netdev);
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 3aabfd9dd212..2490aa39804c 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -360,6 +360,7 @@ static int macvlan_init(struct net_device *dev)
360 dev->state = (dev->state & ~MACVLAN_STATE_MASK) | 360 dev->state = (dev->state & ~MACVLAN_STATE_MASK) |
361 (lowerdev->state & MACVLAN_STATE_MASK); 361 (lowerdev->state & MACVLAN_STATE_MASK);
362 dev->features = lowerdev->features & MACVLAN_FEATURES; 362 dev->features = lowerdev->features & MACVLAN_FEATURES;
363 dev->gso_max_size = lowerdev->gso_max_size;
363 dev->iflink = lowerdev->ifindex; 364 dev->iflink = lowerdev->ifindex;
364 dev->hard_header_len = lowerdev->hard_header_len; 365 dev->hard_header_len = lowerdev->hard_header_len;
365 366
@@ -596,6 +597,7 @@ static int macvlan_device_event(struct notifier_block *unused,
596 case NETDEV_FEAT_CHANGE: 597 case NETDEV_FEAT_CHANGE:
597 list_for_each_entry(vlan, &port->vlans, list) { 598 list_for_each_entry(vlan, &port->vlans, list) {
598 vlan->dev->features = dev->features & MACVLAN_FEATURES; 599 vlan->dev->features = dev->features & MACVLAN_FEATURES;
600 vlan->dev->gso_max_size = dev->gso_max_size;
599 netdev_features_change(vlan->dev); 601 netdev_features_change(vlan->dev);
600 } 602 }
601 break; 603 break;
diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
index 7384f59df615..e1237b802872 100644
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@ -1163,6 +1163,8 @@ struct netxen_adapter {
1163 u32 int_vec_bit; 1163 u32 int_vec_bit;
1164 u32 heartbit; 1164 u32 heartbit;
1165 1165
1166 u8 mac_addr[ETH_ALEN];
1167
1166 struct netxen_adapter_stats stats; 1168 struct netxen_adapter_stats stats;
1167 1169
1168 struct netxen_recv_context recv_ctx; 1170 struct netxen_recv_context recv_ctx;
diff --git a/drivers/net/netxen/netxen_nic_hdr.h b/drivers/net/netxen/netxen_nic_hdr.h
index 1c46da632125..17bb3818d84e 100644
--- a/drivers/net/netxen/netxen_nic_hdr.h
+++ b/drivers/net/netxen/netxen_nic_hdr.h
@@ -545,6 +545,8 @@ enum {
545#define NETXEN_NIU_TEST_MUX_CTL (NETXEN_CRB_NIU + 0x00094) 545#define NETXEN_NIU_TEST_MUX_CTL (NETXEN_CRB_NIU + 0x00094)
546#define NETXEN_NIU_XG_PAUSE_CTL (NETXEN_CRB_NIU + 0x00098) 546#define NETXEN_NIU_XG_PAUSE_CTL (NETXEN_CRB_NIU + 0x00098)
547#define NETXEN_NIU_XG_PAUSE_LEVEL (NETXEN_CRB_NIU + 0x000dc) 547#define NETXEN_NIU_XG_PAUSE_LEVEL (NETXEN_CRB_NIU + 0x000dc)
548#define NETXEN_NIU_FRAME_COUNT_SELECT (NETXEN_CRB_NIU + 0x000ac)
549#define NETXEN_NIU_FRAME_COUNT (NETXEN_CRB_NIU + 0x000b0)
548#define NETXEN_NIU_XG_SEL (NETXEN_CRB_NIU + 0x00128) 550#define NETXEN_NIU_XG_SEL (NETXEN_CRB_NIU + 0x00128)
549#define NETXEN_NIU_GB_PAUSE_CTL (NETXEN_CRB_NIU + 0x0030c) 551#define NETXEN_NIU_GB_PAUSE_CTL (NETXEN_CRB_NIU + 0x0030c)
550 552
diff --git a/drivers/net/netxen/netxen_nic_hw.c b/drivers/net/netxen/netxen_nic_hw.c
index 3185a98b0917..52a3798d8d94 100644
--- a/drivers/net/netxen/netxen_nic_hw.c
+++ b/drivers/net/netxen/netxen_nic_hw.c
@@ -383,24 +383,51 @@ int netxen_niu_disable_xg_port(struct netxen_adapter *adapter)
383 383
384int netxen_p2_nic_set_promisc(struct netxen_adapter *adapter, u32 mode) 384int netxen_p2_nic_set_promisc(struct netxen_adapter *adapter, u32 mode)
385{ 385{
386 __u32 reg; 386 u32 mac_cfg;
387 u32 cnt = 0;
388 __u32 reg = 0x0200;
387 u32 port = adapter->physical_port; 389 u32 port = adapter->physical_port;
390 u16 board_type = adapter->ahw.board_type;
388 391
389 if (port > NETXEN_NIU_MAX_XG_PORTS) 392 if (port > NETXEN_NIU_MAX_XG_PORTS)
390 return -EINVAL; 393 return -EINVAL;
391 394
392 reg = NXRD32(adapter, NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port)); 395 mac_cfg = NXRD32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port));
393 if (mode == NETXEN_NIU_PROMISC_MODE) 396 mac_cfg &= ~0x4;
394 reg = (reg | 0x2000UL); 397 NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), mac_cfg);
395 else
396 reg = (reg & ~0x2000UL);
397 398
398 if (mode == NETXEN_NIU_ALLMULTI_MODE) 399 if ((board_type == NETXEN_BRDTYPE_P2_SB31_10G_IMEZ) ||
399 reg = (reg | 0x1000UL); 400 (board_type == NETXEN_BRDTYPE_P2_SB31_10G_HMEZ))
400 else 401 reg = (0x20 << port);
401 reg = (reg & ~0x1000UL); 402
403 NXWR32(adapter, NETXEN_NIU_FRAME_COUNT_SELECT, reg);
404
405 mdelay(10);
406
407 while (NXRD32(adapter, NETXEN_NIU_FRAME_COUNT) && ++cnt < 20)
408 mdelay(10);
409
410 if (cnt < 20) {
411
412 reg = NXRD32(adapter,
413 NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port));
414
415 if (mode == NETXEN_NIU_PROMISC_MODE)
416 reg = (reg | 0x2000UL);
417 else
418 reg = (reg & ~0x2000UL);
419
420 if (mode == NETXEN_NIU_ALLMULTI_MODE)
421 reg = (reg | 0x1000UL);
422 else
423 reg = (reg & ~0x1000UL);
424
425 NXWR32(adapter,
426 NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port), reg);
427 }
402 428
403 NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port), reg); 429 mac_cfg |= 0x4;
430 NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), mac_cfg);
404 431
405 return 0; 432 return 0;
406} 433}
@@ -436,7 +463,7 @@ netxen_nic_enable_mcast_filter(struct netxen_adapter *adapter)
436{ 463{
437 u32 val = 0; 464 u32 val = 0;
438 u16 port = adapter->physical_port; 465 u16 port = adapter->physical_port;
439 u8 *addr = adapter->netdev->dev_addr; 466 u8 *addr = adapter->mac_addr;
440 467
441 if (adapter->mc_enabled) 468 if (adapter->mc_enabled)
442 return 0; 469 return 0;
@@ -465,7 +492,7 @@ netxen_nic_disable_mcast_filter(struct netxen_adapter *adapter)
465{ 492{
466 u32 val = 0; 493 u32 val = 0;
467 u16 port = adapter->physical_port; 494 u16 port = adapter->physical_port;
468 u8 *addr = adapter->netdev->dev_addr; 495 u8 *addr = adapter->mac_addr;
469 496
470 if (!adapter->mc_enabled) 497 if (!adapter->mc_enabled)
471 return 0; 498 return 0;
@@ -660,7 +687,7 @@ void netxen_p3_nic_set_multi(struct net_device *netdev)
660 687
661 list_splice_tail_init(&adapter->mac_list, &del_list); 688 list_splice_tail_init(&adapter->mac_list, &del_list);
662 689
663 nx_p3_nic_add_mac(adapter, netdev->dev_addr, &del_list); 690 nx_p3_nic_add_mac(adapter, adapter->mac_addr, &del_list);
664 nx_p3_nic_add_mac(adapter, bcast_addr, &del_list); 691 nx_p3_nic_add_mac(adapter, bcast_addr, &del_list);
665 692
666 if (netdev->flags & IFF_PROMISC) { 693 if (netdev->flags & IFF_PROMISC) {
diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c
index e40b914d6faf..8a0904368e08 100644
--- a/drivers/net/netxen/netxen_nic_init.c
+++ b/drivers/net/netxen/netxen_nic_init.c
@@ -544,6 +544,8 @@ int netxen_pinit_from_rom(struct netxen_adapter *adapter, int verbose)
544 continue; 544 continue;
545 if (off == (ROMUSB_GLB + 0x1c)) /* MS clock */ 545 if (off == (ROMUSB_GLB + 0x1c)) /* MS clock */
546 continue; 546 continue;
547 if ((off & 0x0ff00000) == NETXEN_CRB_DDR_NET)
548 continue;
547 if (off == (NETXEN_CRB_PEG_NET_1 + 0x18)) 549 if (off == (NETXEN_CRB_PEG_NET_1 + 0x18))
548 buf[i].data = 0x1020; 550 buf[i].data = 0x1020;
549 /* skip the function enable register */ 551 /* skip the function enable register */
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 0b4a56a8c8d5..3bf78dbfbf0f 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -437,6 +437,7 @@ netxen_read_mac_addr(struct netxen_adapter *adapter)
437 netdev->dev_addr[i] = *(p + 5 - i); 437 netdev->dev_addr[i] = *(p + 5 - i);
438 438
439 memcpy(netdev->perm_addr, netdev->dev_addr, netdev->addr_len); 439 memcpy(netdev->perm_addr, netdev->dev_addr, netdev->addr_len);
440 memcpy(adapter->mac_addr, netdev->dev_addr, netdev->addr_len);
440 441
441 /* set station address */ 442 /* set station address */
442 443
@@ -459,6 +460,7 @@ int netxen_nic_set_mac(struct net_device *netdev, void *p)
459 netxen_napi_disable(adapter); 460 netxen_napi_disable(adapter);
460 } 461 }
461 462
463 memcpy(adapter->mac_addr, addr->sa_data, netdev->addr_len);
462 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); 464 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
463 adapter->macaddr_set(adapter, addr->sa_data); 465 adapter->macaddr_set(adapter, addr->sa_data);
464 466
@@ -956,7 +958,7 @@ netxen_nic_up(struct netxen_adapter *adapter, struct net_device *netdev)
956 return err; 958 return err;
957 } 959 }
958 if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) 960 if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
959 adapter->macaddr_set(adapter, netdev->dev_addr); 961 adapter->macaddr_set(adapter, adapter->mac_addr);
960 962
961 adapter->set_multi(netdev); 963 adapter->set_multi(netdev);
962 adapter->set_mtu(adapter, netdev->mtu); 964 adapter->set_mtu(adapter, netdev->mtu);
diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 8659d341e769..35897134a5dd 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -139,7 +139,7 @@ out:
139 return NULL; 139 return NULL;
140} 140}
141 141
142static void __devinit mdio_gpio_bus_deinit(struct device *dev) 142static void mdio_gpio_bus_deinit(struct device *dev)
143{ 143{
144 struct mii_bus *bus = dev_get_drvdata(dev); 144 struct mii_bus *bus = dev_get_drvdata(dev);
145 struct mdio_gpio_info *bitbang = bus->priv; 145 struct mdio_gpio_info *bitbang = bus->priv;
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c
index 9bf2a6be9031..965adb6174c3 100644
--- a/drivers/net/ppp_generic.c
+++ b/drivers/net/ppp_generic.c
@@ -1944,8 +1944,15 @@ ppp_receive_mp_frame(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)
1944 } 1944 }
1945 1945
1946 /* Pull completed packets off the queue and receive them. */ 1946 /* Pull completed packets off the queue and receive them. */
1947 while ((skb = ppp_mp_reconstruct(ppp))) 1947 while ((skb = ppp_mp_reconstruct(ppp))) {
1948 ppp_receive_nonmp_frame(ppp, skb); 1948 if (pskb_may_pull(skb, 2))
1949 ppp_receive_nonmp_frame(ppp, skb);
1950 else {
1951 ++ppp->dev->stats.rx_length_errors;
1952 kfree_skb(skb);
1953 ppp_receive_error(ppp);
1954 }
1955 }
1949 1956
1950 return; 1957 return;
1951 1958
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c
index 7dfcb58b0eb4..8b14c6eda7c3 100644
--- a/drivers/net/r6040.c
+++ b/drivers/net/r6040.c
@@ -1085,7 +1085,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,
1085 int bar = 0; 1085 int bar = 0;
1086 u16 *adrp; 1086 u16 *adrp;
1087 1087
1088 printk(KERN_INFO "%s\n", version); 1088 printk("%s\n", version);
1089 1089
1090 err = pci_enable_device(pdev); 1090 err = pci_enable_device(pdev);
1091 if (err) 1091 if (err)
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index fa4935678488..0fe2fc90f207 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -3235,6 +3235,10 @@ static void __devexit rtl8169_remove_one(struct pci_dev *pdev)
3235 flush_scheduled_work(); 3235 flush_scheduled_work();
3236 3236
3237 unregister_netdev(dev); 3237 unregister_netdev(dev);
3238
3239 /* restore original MAC address */
3240 rtl_rar_set(tp, dev->perm_addr);
3241
3238 rtl_disable_msi(pdev, tp); 3242 rtl_disable_msi(pdev, tp);
3239 rtl8169_release_board(pdev, dev, tp->mmio_addr); 3243 rtl8169_release_board(pdev, dev, tp->mmio_addr);
3240 pci_set_drvdata(pdev, NULL); 3244 pci_set_drvdata(pdev, NULL);
@@ -3243,9 +3247,9 @@ static void __devexit rtl8169_remove_one(struct pci_dev *pdev)
3243static void rtl8169_set_rxbufsize(struct rtl8169_private *tp, 3247static void rtl8169_set_rxbufsize(struct rtl8169_private *tp,
3244 struct net_device *dev) 3248 struct net_device *dev)
3245{ 3249{
3246 unsigned int mtu = dev->mtu; 3250 unsigned int max_frame = dev->mtu + VLAN_ETH_HLEN + ETH_FCS_LEN;
3247 3251
3248 tp->rx_buf_sz = (mtu > RX_BUF_SIZE) ? mtu + ETH_HLEN + 8 : RX_BUF_SIZE; 3252 tp->rx_buf_sz = (max_frame > RX_BUF_SIZE) ? max_frame : RX_BUF_SIZE;
3249} 3253}
3250 3254
3251static int rtl8169_open(struct net_device *dev) 3255static int rtl8169_open(struct net_device *dev)
@@ -4881,6 +4885,9 @@ static void rtl_shutdown(struct pci_dev *pdev)
4881 4885
4882 rtl8169_net_suspend(dev); 4886 rtl8169_net_suspend(dev);
4883 4887
4888 /* restore original MAC address */
4889 rtl_rar_set(tp, dev->perm_addr);
4890
4884 spin_lock_irq(&tp->lock); 4891 spin_lock_irq(&tp->lock);
4885 4892
4886 rtl8169_asic_down(ioaddr); 4893 rtl8169_asic_down(ioaddr);
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index ddccf5fa56b6..0dd7839322bc 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -3494,6 +3494,7 @@ static void s2io_reset(struct s2io_nic *sp)
3494 3494
3495 /* Restore the PCI state saved during initialization. */ 3495 /* Restore the PCI state saved during initialization. */
3496 pci_restore_state(sp->pdev); 3496 pci_restore_state(sp->pdev);
3497 pci_save_state(sp->pdev);
3497 pci_read_config_word(sp->pdev, 0x2, &val16); 3498 pci_read_config_word(sp->pdev, 0x2, &val16);
3498 if (check_pci_device_id(val16) != (u16)PCI_ANY_ID) 3499 if (check_pci_device_id(val16) != (u16)PCI_ANY_ID)
3499 break; 3500 break;
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index 05c91ee6921e..f12206bdbb75 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -2283,7 +2283,7 @@ static int __devinit smc_drv_probe(struct platform_device *pdev)
2283 2283
2284 ndev->irq = ires->start; 2284 ndev->irq = ires->start;
2285 2285
2286 if (ires->flags & IRQF_TRIGGER_MASK) 2286 if (irq_flags == -1 || ires->flags & IRQF_TRIGGER_MASK)
2287 irq_flags = ires->flags & IRQF_TRIGGER_MASK; 2287 irq_flags = ires->flags & IRQF_TRIGGER_MASK;
2288 2288
2289 ret = smc_request_attrib(pdev, ndev); 2289 ret = smc_request_attrib(pdev, ndev);
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index ccdd196f5297..f9cdcbcb77d4 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -986,7 +986,7 @@ static int smsc911x_poll(struct napi_struct *napi, int budget)
986 struct net_device *dev = pdata->dev; 986 struct net_device *dev = pdata->dev;
987 int npackets = 0; 987 int npackets = 0;
988 988
989 while (likely(netif_running(dev)) && (npackets < budget)) { 989 while (npackets < budget) {
990 unsigned int pktlength; 990 unsigned int pktlength;
991 unsigned int pktwords; 991 unsigned int pktwords;
992 struct sk_buff *skb; 992 struct sk_buff *skb;
diff --git a/drivers/net/smsc9420.c b/drivers/net/smsc9420.c
index b4909a2dec66..0f7909276237 100644
--- a/drivers/net/smsc9420.c
+++ b/drivers/net/smsc9420.c
@@ -252,6 +252,9 @@ static int smsc9420_ethtool_get_settings(struct net_device *dev,
252{ 252{
253 struct smsc9420_pdata *pd = netdev_priv(dev); 253 struct smsc9420_pdata *pd = netdev_priv(dev);
254 254
255 if (!pd->phy_dev)
256 return -ENODEV;
257
255 cmd->maxtxpkt = 1; 258 cmd->maxtxpkt = 1;
256 cmd->maxrxpkt = 1; 259 cmd->maxrxpkt = 1;
257 return phy_ethtool_gset(pd->phy_dev, cmd); 260 return phy_ethtool_gset(pd->phy_dev, cmd);
@@ -262,6 +265,9 @@ static int smsc9420_ethtool_set_settings(struct net_device *dev,
262{ 265{
263 struct smsc9420_pdata *pd = netdev_priv(dev); 266 struct smsc9420_pdata *pd = netdev_priv(dev);
264 267
268 if (!pd->phy_dev)
269 return -ENODEV;
270
265 return phy_ethtool_sset(pd->phy_dev, cmd); 271 return phy_ethtool_sset(pd->phy_dev, cmd);
266} 272}
267 273
@@ -290,6 +296,10 @@ static void smsc9420_ethtool_set_msglevel(struct net_device *netdev, u32 data)
290static int smsc9420_ethtool_nway_reset(struct net_device *netdev) 296static int smsc9420_ethtool_nway_reset(struct net_device *netdev)
291{ 297{
292 struct smsc9420_pdata *pd = netdev_priv(netdev); 298 struct smsc9420_pdata *pd = netdev_priv(netdev);
299
300 if (!pd->phy_dev)
301 return -ENODEV;
302
293 return phy_start_aneg(pd->phy_dev); 303 return phy_start_aneg(pd->phy_dev);
294} 304}
295 305
@@ -312,6 +322,10 @@ smsc9420_ethtool_getregs(struct net_device *dev, struct ethtool_regs *regs,
312 for (i = 0; i < 0x100; i += (sizeof(u32))) 322 for (i = 0; i < 0x100; i += (sizeof(u32)))
313 data[j++] = smsc9420_reg_read(pd, i); 323 data[j++] = smsc9420_reg_read(pd, i);
314 324
325 // cannot read phy registers if the net device is down
326 if (!phy_dev)
327 return;
328
315 for (i = 0; i <= 31; i++) 329 for (i = 0; i <= 31; i++)
316 data[j++] = smsc9420_mii_read(phy_dev->bus, phy_dev->addr, i); 330 data[j++] = smsc9420_mii_read(phy_dev->bus, phy_dev->addr, i);
317} 331}
diff --git a/drivers/net/stmmac/stmmac_main.c b/drivers/net/stmmac/stmmac_main.c
index c2f14dc9ba28..9542995ba667 100644
--- a/drivers/net/stmmac/stmmac_main.c
+++ b/drivers/net/stmmac/stmmac_main.c
@@ -416,13 +416,8 @@ static void init_dma_desc_rings(struct net_device *dev)
416 unsigned int txsize = priv->dma_tx_size; 416 unsigned int txsize = priv->dma_tx_size;
417 unsigned int rxsize = priv->dma_rx_size; 417 unsigned int rxsize = priv->dma_rx_size;
418 unsigned int bfsize = priv->dma_buf_sz; 418 unsigned int bfsize = priv->dma_buf_sz;
419 int buff2_needed = 0; 419 int buff2_needed = 0, dis_ic = 0;
420 int dis_ic = 0;
421 420
422#ifdef CONFIG_STMMAC_TIMER
423 /* Using Timers disable interrupts on completion for the reception */
424 dis_ic = 1;
425#endif
426 /* Set the Buffer size according to the MTU; 421 /* Set the Buffer size according to the MTU;
427 * indeed, in case of jumbo we need to bump-up the buffer sizes. 422 * indeed, in case of jumbo we need to bump-up the buffer sizes.
428 */ 423 */
@@ -437,6 +432,11 @@ static void init_dma_desc_rings(struct net_device *dev)
437 else 432 else
438 bfsize = DMA_BUFFER_SIZE; 433 bfsize = DMA_BUFFER_SIZE;
439 434
435#ifdef CONFIG_STMMAC_TIMER
436 /* Disable interrupts on completion for the reception if timer is on */
437 if (likely(priv->tm->enable))
438 dis_ic = 1;
439#endif
440 /* If the MTU exceeds 8k so use the second buffer in the chain */ 440 /* If the MTU exceeds 8k so use the second buffer in the chain */
441 if (bfsize >= BUF_SIZE_8KiB) 441 if (bfsize >= BUF_SIZE_8KiB)
442 buff2_needed = 1; 442 buff2_needed = 1;
@@ -809,20 +809,22 @@ static void stmmac_tx(struct stmmac_priv *priv)
809 809
810static inline void stmmac_enable_irq(struct stmmac_priv *priv) 810static inline void stmmac_enable_irq(struct stmmac_priv *priv)
811{ 811{
812#ifndef CONFIG_STMMAC_TIMER 812#ifdef CONFIG_STMMAC_TIMER
813 writel(DMA_INTR_DEFAULT_MASK, priv->dev->base_addr + DMA_INTR_ENA); 813 if (likely(priv->tm->enable))
814#else 814 priv->tm->timer_start(tmrate);
815 priv->tm->timer_start(tmrate); 815 else
816#endif 816#endif
817 writel(DMA_INTR_DEFAULT_MASK, priv->dev->base_addr + DMA_INTR_ENA);
817} 818}
818 819
819static inline void stmmac_disable_irq(struct stmmac_priv *priv) 820static inline void stmmac_disable_irq(struct stmmac_priv *priv)
820{ 821{
821#ifndef CONFIG_STMMAC_TIMER 822#ifdef CONFIG_STMMAC_TIMER
822 writel(0, priv->dev->base_addr + DMA_INTR_ENA); 823 if (likely(priv->tm->enable))
823#else 824 priv->tm->timer_stop();
824 priv->tm->timer_stop(); 825 else
825#endif 826#endif
827 writel(0, priv->dev->base_addr + DMA_INTR_ENA);
826} 828}
827 829
828static int stmmac_has_work(struct stmmac_priv *priv) 830static int stmmac_has_work(struct stmmac_priv *priv)
@@ -1031,22 +1033,23 @@ static int stmmac_open(struct net_device *dev)
1031 } 1033 }
1032 1034
1033#ifdef CONFIG_STMMAC_TIMER 1035#ifdef CONFIG_STMMAC_TIMER
1034 priv->tm = kmalloc(sizeof(struct stmmac_timer *), GFP_KERNEL); 1036 priv->tm = kzalloc(sizeof(struct stmmac_timer *), GFP_KERNEL);
1035 if (unlikely(priv->tm == NULL)) { 1037 if (unlikely(priv->tm == NULL)) {
1036 pr_err("%s: ERROR: timer memory alloc failed \n", __func__); 1038 pr_err("%s: ERROR: timer memory alloc failed \n", __func__);
1037 return -ENOMEM; 1039 return -ENOMEM;
1038 } 1040 }
1039 priv->tm->freq = tmrate; 1041 priv->tm->freq = tmrate;
1040 1042
1041 /* Test if the HW timer can be actually used. 1043 /* Test if the external timer can be actually used.
1042 * In case of failure continue with no timer. */ 1044 * In case of failure continue without timer. */
1043 if (unlikely((stmmac_open_ext_timer(dev, priv->tm)) < 0)) { 1045 if (unlikely((stmmac_open_ext_timer(dev, priv->tm)) < 0)) {
1044 pr_warning("stmmaceth: cannot attach the HW timer\n"); 1046 pr_warning("stmmaceth: cannot attach the external timer.\n");
1045 tmrate = 0; 1047 tmrate = 0;
1046 priv->tm->freq = 0; 1048 priv->tm->freq = 0;
1047 priv->tm->timer_start = stmmac_no_timer_started; 1049 priv->tm->timer_start = stmmac_no_timer_started;
1048 priv->tm->timer_stop = stmmac_no_timer_stopped; 1050 priv->tm->timer_stop = stmmac_no_timer_stopped;
1049 } 1051 } else
1052 priv->tm->enable = 1;
1050#endif 1053#endif
1051 1054
1052 /* Create and initialize the TX/RX descriptors chains. */ 1055 /* Create and initialize the TX/RX descriptors chains. */
@@ -1322,9 +1325,11 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb, struct net_device *dev)
1322 1325
1323 /* Interrupt on completition only for the latest segment */ 1326 /* Interrupt on completition only for the latest segment */
1324 priv->mac_type->ops->close_tx_desc(desc); 1327 priv->mac_type->ops->close_tx_desc(desc);
1328
1325#ifdef CONFIG_STMMAC_TIMER 1329#ifdef CONFIG_STMMAC_TIMER
1326 /* Clean IC while using timers */ 1330 /* Clean IC while using timer */
1327 priv->mac_type->ops->clear_tx_ic(desc); 1331 if (likely(priv->tm->enable))
1332 priv->mac_type->ops->clear_tx_ic(desc);
1328#endif 1333#endif
1329 /* To avoid raise condition */ 1334 /* To avoid raise condition */
1330 priv->mac_type->ops->set_tx_owner(first); 1335 priv->mac_type->ops->set_tx_owner(first);
@@ -2028,7 +2033,8 @@ static int stmmac_suspend(struct platform_device *pdev, pm_message_t state)
2028 2033
2029#ifdef CONFIG_STMMAC_TIMER 2034#ifdef CONFIG_STMMAC_TIMER
2030 priv->tm->timer_stop(); 2035 priv->tm->timer_stop();
2031 dis_ic = 1; 2036 if (likely(priv->tm->enable))
2037 dis_ic = 1;
2032#endif 2038#endif
2033 napi_disable(&priv->napi); 2039 napi_disable(&priv->napi);
2034 2040
diff --git a/drivers/net/stmmac/stmmac_timer.c b/drivers/net/stmmac/stmmac_timer.c
index b838c6582077..679f61ffb1f8 100644
--- a/drivers/net/stmmac/stmmac_timer.c
+++ b/drivers/net/stmmac/stmmac_timer.c
@@ -63,7 +63,7 @@ int stmmac_open_ext_timer(struct net_device *dev, struct stmmac_timer *tm)
63 63
64 stmmac_rtc = rtc_class_open(CONFIG_RTC_HCTOSYS_DEVICE); 64 stmmac_rtc = rtc_class_open(CONFIG_RTC_HCTOSYS_DEVICE);
65 if (stmmac_rtc == NULL) { 65 if (stmmac_rtc == NULL) {
66 pr_error("open rtc device failed\n"); 66 pr_err("open rtc device failed\n");
67 return -ENODEV; 67 return -ENODEV;
68 } 68 }
69 69
@@ -71,7 +71,7 @@ int stmmac_open_ext_timer(struct net_device *dev, struct stmmac_timer *tm)
71 71
72 /* Periodic mode is not supported */ 72 /* Periodic mode is not supported */
73 if ((rtc_irq_set_freq(stmmac_rtc, &stmmac_task, tm->freq) < 0)) { 73 if ((rtc_irq_set_freq(stmmac_rtc, &stmmac_task, tm->freq) < 0)) {
74 pr_error("set periodic failed\n"); 74 pr_err("set periodic failed\n");
75 rtc_irq_unregister(stmmac_rtc, &stmmac_task); 75 rtc_irq_unregister(stmmac_rtc, &stmmac_task);
76 rtc_class_close(stmmac_rtc); 76 rtc_class_close(stmmac_rtc);
77 return -1; 77 return -1;
diff --git a/drivers/net/stmmac/stmmac_timer.h b/drivers/net/stmmac/stmmac_timer.h
index f795cae33725..6863590d184b 100644
--- a/drivers/net/stmmac/stmmac_timer.h
+++ b/drivers/net/stmmac/stmmac_timer.h
@@ -26,6 +26,7 @@ struct stmmac_timer {
26 void (*timer_start) (unsigned int new_freq); 26 void (*timer_start) (unsigned int new_freq);
27 void (*timer_stop) (void); 27 void (*timer_stop) (void);
28 unsigned int freq; 28 unsigned int freq;
29 unsigned int enable;
29}; 30};
30 31
31/* Open the HW timer device and return 0 in case of success */ 32/* Open the HW timer device and return 0 in case of success */
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 7019a0d1a82b..61640b99b705 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -2063,7 +2063,15 @@ static int gem_check_invariants(struct gem *gp)
2063 mif_cfg &= ~MIF_CFG_PSELECT; 2063 mif_cfg &= ~MIF_CFG_PSELECT;
2064 writel(mif_cfg, gp->regs + MIF_CFG); 2064 writel(mif_cfg, gp->regs + MIF_CFG);
2065 } else { 2065 } else {
2066 gp->phy_type = phy_serialink; 2066#ifdef CONFIG_SPARC
2067 const char *p;
2068
2069 p = of_get_property(gp->of_node, "shared-pins", NULL);
2070 if (p && !strcmp(p, "serdes"))
2071 gp->phy_type = phy_serdes;
2072 else
2073#endif
2074 gp->phy_type = phy_serialink;
2067 } 2075 }
2068 if (gp->phy_type == phy_mii_mdio1 || 2076 if (gp->phy_type == phy_mii_mdio1 ||
2069 gp->phy_type == phy_mii_mdio0) { 2077 gp->phy_type == phy_mii_mdio0) {
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index fa4e58196c21..43bc3fcc0d85 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -378,7 +378,7 @@ static void dbg_dump(int line_count, const char *func_name, unsigned char *buf,
378} 378}
379 379
380#define DUMP(buf_, len_) \ 380#define DUMP(buf_, len_) \
381 dbg_dump(__LINE__, __func__, buf_, len_) 381 dbg_dump(__LINE__, __func__, (unsigned char *)buf_, len_)
382 382
383#define DUMP1(buf_, len_) \ 383#define DUMP1(buf_, len_) \
384 do { \ 384 do { \
@@ -1363,7 +1363,7 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp)
1363 /* reset the rts and dtr */ 1363 /* reset the rts and dtr */
1364 /* do the actual close */ 1364 /* do the actual close */
1365 serial->open_count--; 1365 serial->open_count--;
1366 kref_put(&serial->parent->ref, hso_serial_ref_free); 1366
1367 if (serial->open_count <= 0) { 1367 if (serial->open_count <= 0) {
1368 serial->open_count = 0; 1368 serial->open_count = 0;
1369 spin_lock_irq(&serial->serial_lock); 1369 spin_lock_irq(&serial->serial_lock);
@@ -1383,6 +1383,8 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp)
1383 usb_autopm_put_interface(serial->parent->interface); 1383 usb_autopm_put_interface(serial->parent->interface);
1384 1384
1385 mutex_unlock(&serial->parent->mutex); 1385 mutex_unlock(&serial->parent->mutex);
1386
1387 kref_put(&serial->parent->ref, hso_serial_ref_free);
1386} 1388}
1387 1389
1388/* close the requested serial port */ 1390/* close the requested serial port */
@@ -1527,7 +1529,7 @@ static void tiocmget_intr_callback(struct urb *urb)
1527 dev_warn(&usb->dev, 1529 dev_warn(&usb->dev,
1528 "hso received invalid serial state notification\n"); 1530 "hso received invalid serial state notification\n");
1529 DUMP(serial_state_notification, 1531 DUMP(serial_state_notification,
1530 sizeof(hso_serial_state_notifation)) 1532 sizeof(struct hso_serial_state_notification));
1531 } else { 1533 } else {
1532 1534
1533 UART_state_bitmap = le16_to_cpu(serial_state_notification-> 1535 UART_state_bitmap = le16_to_cpu(serial_state_notification->
diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index ade5b344f75d..52af5017c46b 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -210,32 +210,29 @@ rx_drop:
210static struct net_device_stats *veth_get_stats(struct net_device *dev) 210static struct net_device_stats *veth_get_stats(struct net_device *dev)
211{ 211{
212 struct veth_priv *priv; 212 struct veth_priv *priv;
213 struct net_device_stats *dev_stats;
214 int cpu; 213 int cpu;
215 struct veth_net_stats *stats; 214 struct veth_net_stats *stats, total = {0};
216 215
217 priv = netdev_priv(dev); 216 priv = netdev_priv(dev);
218 dev_stats = &dev->stats;
219
220 dev_stats->rx_packets = 0;
221 dev_stats->tx_packets = 0;
222 dev_stats->rx_bytes = 0;
223 dev_stats->tx_bytes = 0;
224 dev_stats->tx_dropped = 0;
225 dev_stats->rx_dropped = 0;
226 217
227 for_each_online_cpu(cpu) { 218 for_each_possible_cpu(cpu) {
228 stats = per_cpu_ptr(priv->stats, cpu); 219 stats = per_cpu_ptr(priv->stats, cpu);
229 220
230 dev_stats->rx_packets += stats->rx_packets; 221 total.rx_packets += stats->rx_packets;
231 dev_stats->tx_packets += stats->tx_packets; 222 total.tx_packets += stats->tx_packets;
232 dev_stats->rx_bytes += stats->rx_bytes; 223 total.rx_bytes += stats->rx_bytes;
233 dev_stats->tx_bytes += stats->tx_bytes; 224 total.tx_bytes += stats->tx_bytes;
234 dev_stats->tx_dropped += stats->tx_dropped; 225 total.tx_dropped += stats->tx_dropped;
235 dev_stats->rx_dropped += stats->rx_dropped; 226 total.rx_dropped += stats->rx_dropped;
236 } 227 }
237 228 dev->stats.rx_packets = total.rx_packets;
238 return dev_stats; 229 dev->stats.tx_packets = total.tx_packets;
230 dev->stats.rx_bytes = total.rx_bytes;
231 dev->stats.tx_bytes = total.tx_bytes;
232 dev->stats.tx_dropped = total.tx_dropped;
233 dev->stats.rx_dropped = total.rx_dropped;
234
235 return &dev->stats;
239} 236}
240 237
241static int veth_open(struct net_device *dev) 238static int veth_open(struct net_device *dev)
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index e2c33c06190b..8e25ca7080c7 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -907,6 +907,7 @@ static ssize_t cosa_write(struct file *file,
907 current->state = TASK_RUNNING; 907 current->state = TASK_RUNNING;
908 chan->tx_status = 1; 908 chan->tx_status = 1;
909 spin_unlock_irqrestore(&cosa->lock, flags); 909 spin_unlock_irqrestore(&cosa->lock, flags);
910 up(&chan->wsem);
910 return -ERESTARTSYS; 911 return -ERESTARTSYS;
911 } 912 }
912 } 913 }
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 9c6ab5378f6e..95a8e232b58f 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -1125,7 +1125,6 @@ ath5k_mode_setup(struct ath5k_softc *sc)
1125 /* configure operational mode */ 1125 /* configure operational mode */
1126 ath5k_hw_set_opmode(ah); 1126 ath5k_hw_set_opmode(ah);
1127 1127
1128 ath5k_hw_set_mcast_filter(ah, 0, 0);
1129 ATH5K_DBG(sc, ATH5K_DEBUG_MODE, "RX filter 0x%x\n", rfilt); 1128 ATH5K_DBG(sc, ATH5K_DEBUG_MODE, "RX filter 0x%x\n", rfilt);
1130} 1129}
1131 1130
diff --git a/drivers/net/wireless/ath/ath5k/led.c b/drivers/net/wireless/ath/ath5k/led.c
index b767c3b67b24..b548c8eaaae1 100644
--- a/drivers/net/wireless/ath/ath5k/led.c
+++ b/drivers/net/wireless/ath/ath5k/led.c
@@ -63,12 +63,16 @@ static const struct pci_device_id ath5k_led_devices[] = {
63 { ATH_SDEVICE(PCI_VENDOR_ID_AMBIT, 0x0422), ATH_LED(1, 1) }, 63 { ATH_SDEVICE(PCI_VENDOR_ID_AMBIT, 0x0422), ATH_LED(1, 1) },
64 /* E-machines E510 (tuliom@gmail.com) */ 64 /* E-machines E510 (tuliom@gmail.com) */
65 { ATH_SDEVICE(PCI_VENDOR_ID_AMBIT, 0x0428), ATH_LED(3, 0) }, 65 { ATH_SDEVICE(PCI_VENDOR_ID_AMBIT, 0x0428), ATH_LED(3, 0) },
66 /* BenQ Joybook R55v (nowymarluk@wp.pl) */
67 { ATH_SDEVICE(PCI_VENDOR_ID_QMI, 0x0100), ATH_LED(1, 0) },
66 /* Acer Extensa 5620z (nekoreeve@gmail.com) */ 68 /* Acer Extensa 5620z (nekoreeve@gmail.com) */
67 { ATH_SDEVICE(PCI_VENDOR_ID_QMI, 0x0105), ATH_LED(3, 0) }, 69 { ATH_SDEVICE(PCI_VENDOR_ID_QMI, 0x0105), ATH_LED(3, 0) },
68 /* Fukato Datacask Jupiter 1014a (mrb74@gmx.at) */ 70 /* Fukato Datacask Jupiter 1014a (mrb74@gmx.at) */
69 { ATH_SDEVICE(PCI_VENDOR_ID_AZWAVE, 0x1026), ATH_LED(3, 0) }, 71 { ATH_SDEVICE(PCI_VENDOR_ID_AZWAVE, 0x1026), ATH_LED(3, 0) },
70 /* IBM ThinkPad AR5BXB6 (legovini@spiro.fisica.unipd.it) */ 72 /* IBM ThinkPad AR5BXB6 (legovini@spiro.fisica.unipd.it) */
71 { ATH_SDEVICE(PCI_VENDOR_ID_IBM, 0x058a), ATH_LED(1, 0) }, 73 { ATH_SDEVICE(PCI_VENDOR_ID_IBM, 0x058a), ATH_LED(1, 0) },
74 /* HP Compaq CQ60-206US (ddreggors@jumptv.com) */
75 { ATH_SDEVICE(PCI_VENDOR_ID_HP, 0x0137a), ATH_LED(3, 1) },
72 /* HP Compaq C700 (nitrousnrg@gmail.com) */ 76 /* HP Compaq C700 (nitrousnrg@gmail.com) */
73 { ATH_SDEVICE(PCI_VENDOR_ID_HP, 0x0137b), ATH_LED(3, 1) }, 77 { ATH_SDEVICE(PCI_VENDOR_ID_HP, 0x0137b), ATH_LED(3, 1) },
74 /* IBM-specific AR5212 (all others) */ 78 /* IBM-specific AR5212 (all others) */
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 52bed89063d4..43d2be9867fc 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1555,6 +1555,8 @@ void ath_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
1555 BIT(NL80211_IFTYPE_ADHOC) | 1555 BIT(NL80211_IFTYPE_ADHOC) |
1556 BIT(NL80211_IFTYPE_MESH_POINT); 1556 BIT(NL80211_IFTYPE_MESH_POINT);
1557 1557
1558 hw->wiphy->ps_default = false;
1559
1558 hw->queues = 4; 1560 hw->queues = 4;
1559 hw->max_rates = 4; 1561 hw->max_rates = 4;
1560 hw->channel_change_time = 5000; 1562 hw->channel_change_time = 5000;
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 86f35827f008..098dda1a67c1 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -4521,9 +4521,8 @@ static int b43_op_beacon_set_tim(struct ieee80211_hw *hw,
4521{ 4521{
4522 struct b43_wl *wl = hw_to_b43_wl(hw); 4522 struct b43_wl *wl = hw_to_b43_wl(hw);
4523 4523
4524 mutex_lock(&wl->mutex); 4524 /* FIXME: add locking */
4525 b43_update_templates(wl); 4525 b43_update_templates(wl);
4526 mutex_unlock(&wl->mutex);
4527 4526
4528 return 0; 4527 return 0;
4529} 4528}
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c
index 240cff1e6979..6e2fc0cb6f8a 100644
--- a/drivers/net/wireless/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
@@ -6029,7 +6029,7 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
6029 struct ipw2100_priv *priv; 6029 struct ipw2100_priv *priv;
6030 struct net_device *dev; 6030 struct net_device *dev;
6031 6031
6032 dev = alloc_ieee80211(sizeof(struct ipw2100_priv), 0); 6032 dev = alloc_ieee80211(sizeof(struct ipw2100_priv));
6033 if (!dev) 6033 if (!dev)
6034 return NULL; 6034 return NULL;
6035 priv = libipw_priv(dev); 6035 priv = libipw_priv(dev);
@@ -6342,7 +6342,7 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
6342 sysfs_remove_group(&pci_dev->dev.kobj, 6342 sysfs_remove_group(&pci_dev->dev.kobj,
6343 &ipw2100_attribute_group); 6343 &ipw2100_attribute_group);
6344 6344
6345 free_ieee80211(dev, 0); 6345 free_ieee80211(dev);
6346 pci_set_drvdata(pci_dev, NULL); 6346 pci_set_drvdata(pci_dev, NULL);
6347 } 6347 }
6348 6348
@@ -6400,7 +6400,7 @@ static void __devexit ipw2100_pci_remove_one(struct pci_dev *pci_dev)
6400 if (dev->base_addr) 6400 if (dev->base_addr)
6401 iounmap((void __iomem *)dev->base_addr); 6401 iounmap((void __iomem *)dev->base_addr);
6402 6402
6403 free_ieee80211(dev, 0); 6403 free_ieee80211(dev);
6404 } 6404 }
6405 6405
6406 pci_release_regions(pci_dev); 6406 pci_release_regions(pci_dev);
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
index 827824d45de9..a6ca536e44f8 100644
--- a/drivers/net/wireless/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
@@ -104,25 +104,6 @@ static int antenna = CFG_SYS_ANTENNA_BOTH;
104static int rtap_iface = 0; /* def: 0 -- do not create rtap interface */ 104static int rtap_iface = 0; /* def: 0 -- do not create rtap interface */
105#endif 105#endif
106 106
107static struct ieee80211_rate ipw2200_rates[] = {
108 { .bitrate = 10 },
109 { .bitrate = 20, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
110 { .bitrate = 55, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
111 { .bitrate = 110, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
112 { .bitrate = 60 },
113 { .bitrate = 90 },
114 { .bitrate = 120 },
115 { .bitrate = 180 },
116 { .bitrate = 240 },
117 { .bitrate = 360 },
118 { .bitrate = 480 },
119 { .bitrate = 540 }
120};
121
122#define ipw2200_a_rates (ipw2200_rates + 4)
123#define ipw2200_num_a_rates 8
124#define ipw2200_bg_rates (ipw2200_rates + 0)
125#define ipw2200_num_bg_rates 12
126 107
127#ifdef CONFIG_IPW2200_QOS 108#ifdef CONFIG_IPW2200_QOS
128static int qos_enable = 0; 109static int qos_enable = 0;
@@ -8674,6 +8655,24 @@ static int ipw_sw_reset(struct ipw_priv *priv, int option)
8674 * 8655 *
8675 */ 8656 */
8676 8657
8658static int ipw_wx_get_name(struct net_device *dev,
8659 struct iw_request_info *info,
8660 union iwreq_data *wrqu, char *extra)
8661{
8662 struct ipw_priv *priv = libipw_priv(dev);
8663 mutex_lock(&priv->mutex);
8664 if (priv->status & STATUS_RF_KILL_MASK)
8665 strcpy(wrqu->name, "radio off");
8666 else if (!(priv->status & STATUS_ASSOCIATED))
8667 strcpy(wrqu->name, "unassociated");
8668 else
8669 snprintf(wrqu->name, IFNAMSIZ, "IEEE 802.11%c",
8670 ipw_modes[priv->assoc_request.ieee_mode]);
8671 IPW_DEBUG_WX("Name: %s\n", wrqu->name);
8672 mutex_unlock(&priv->mutex);
8673 return 0;
8674}
8675
8677static int ipw_set_channel(struct ipw_priv *priv, u8 channel) 8676static int ipw_set_channel(struct ipw_priv *priv, u8 channel)
8678{ 8677{
8679 if (channel == 0) { 8678 if (channel == 0) {
@@ -9973,7 +9972,7 @@ static int ipw_wx_sw_reset(struct net_device *dev,
9973/* Rebase the WE IOCTLs to zero for the handler array */ 9972/* Rebase the WE IOCTLs to zero for the handler array */
9974#define IW_IOCTL(x) [(x)-SIOCSIWCOMMIT] 9973#define IW_IOCTL(x) [(x)-SIOCSIWCOMMIT]
9975static iw_handler ipw_wx_handlers[] = { 9974static iw_handler ipw_wx_handlers[] = {
9976 IW_IOCTL(SIOCGIWNAME) = (iw_handler) cfg80211_wext_giwname, 9975 IW_IOCTL(SIOCGIWNAME) = ipw_wx_get_name,
9977 IW_IOCTL(SIOCSIWFREQ) = ipw_wx_set_freq, 9976 IW_IOCTL(SIOCSIWFREQ) = ipw_wx_set_freq,
9978 IW_IOCTL(SIOCGIWFREQ) = ipw_wx_get_freq, 9977 IW_IOCTL(SIOCGIWFREQ) = ipw_wx_get_freq,
9979 IW_IOCTL(SIOCSIWMODE) = ipw_wx_set_mode, 9978 IW_IOCTL(SIOCSIWMODE) = ipw_wx_set_mode,
@@ -11417,100 +11416,16 @@ static void ipw_bg_down(struct work_struct *work)
11417/* Called by register_netdev() */ 11416/* Called by register_netdev() */
11418static int ipw_net_init(struct net_device *dev) 11417static int ipw_net_init(struct net_device *dev)
11419{ 11418{
11420 int i, rc = 0;
11421 struct ipw_priv *priv = libipw_priv(dev); 11419 struct ipw_priv *priv = libipw_priv(dev);
11422 const struct libipw_geo *geo = libipw_get_geo(priv->ieee);
11423 struct wireless_dev *wdev = &priv->ieee->wdev;
11424 mutex_lock(&priv->mutex); 11420 mutex_lock(&priv->mutex);
11425 11421
11426 if (ipw_up(priv)) { 11422 if (ipw_up(priv)) {
11427 rc = -EIO; 11423 mutex_unlock(&priv->mutex);
11428 goto out; 11424 return -EIO;
11429 }
11430
11431 memcpy(wdev->wiphy->perm_addr, priv->mac_addr, ETH_ALEN);
11432
11433 /* fill-out priv->ieee->bg_band */
11434 if (geo->bg_channels) {
11435 struct ieee80211_supported_band *bg_band = &priv->ieee->bg_band;
11436
11437 bg_band->band = IEEE80211_BAND_2GHZ;
11438 bg_band->n_channels = geo->bg_channels;
11439 bg_band->channels =
11440 kzalloc(geo->bg_channels *
11441 sizeof(struct ieee80211_channel), GFP_KERNEL);
11442 /* translate geo->bg to bg_band.channels */
11443 for (i = 0; i < geo->bg_channels; i++) {
11444 bg_band->channels[i].band = IEEE80211_BAND_2GHZ;
11445 bg_band->channels[i].center_freq = geo->bg[i].freq;
11446 bg_band->channels[i].hw_value = geo->bg[i].channel;
11447 bg_band->channels[i].max_power = geo->bg[i].max_power;
11448 if (geo->bg[i].flags & LIBIPW_CH_PASSIVE_ONLY)
11449 bg_band->channels[i].flags |=
11450 IEEE80211_CHAN_PASSIVE_SCAN;
11451 if (geo->bg[i].flags & LIBIPW_CH_NO_IBSS)
11452 bg_band->channels[i].flags |=
11453 IEEE80211_CHAN_NO_IBSS;
11454 if (geo->bg[i].flags & LIBIPW_CH_RADAR_DETECT)
11455 bg_band->channels[i].flags |=
11456 IEEE80211_CHAN_RADAR;
11457 /* No equivalent for LIBIPW_CH_80211H_RULES,
11458 LIBIPW_CH_UNIFORM_SPREADING, or
11459 LIBIPW_CH_B_ONLY... */
11460 }
11461 /* point at bitrate info */
11462 bg_band->bitrates = ipw2200_bg_rates;
11463 bg_band->n_bitrates = ipw2200_num_bg_rates;
11464
11465 wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = bg_band;
11466 }
11467
11468 /* fill-out priv->ieee->a_band */
11469 if (geo->a_channels) {
11470 struct ieee80211_supported_band *a_band = &priv->ieee->a_band;
11471
11472 a_band->band = IEEE80211_BAND_5GHZ;
11473 a_band->n_channels = geo->a_channels;
11474 a_band->channels =
11475 kzalloc(geo->a_channels *
11476 sizeof(struct ieee80211_channel), GFP_KERNEL);
11477 /* translate geo->bg to a_band.channels */
11478 for (i = 0; i < geo->a_channels; i++) {
11479 a_band->channels[i].band = IEEE80211_BAND_2GHZ;
11480 a_band->channels[i].center_freq = geo->a[i].freq;
11481 a_band->channels[i].hw_value = geo->a[i].channel;
11482 a_band->channels[i].max_power = geo->a[i].max_power;
11483 if (geo->a[i].flags & LIBIPW_CH_PASSIVE_ONLY)
11484 a_band->channels[i].flags |=
11485 IEEE80211_CHAN_PASSIVE_SCAN;
11486 if (geo->a[i].flags & LIBIPW_CH_NO_IBSS)
11487 a_band->channels[i].flags |=
11488 IEEE80211_CHAN_NO_IBSS;
11489 if (geo->a[i].flags & LIBIPW_CH_RADAR_DETECT)
11490 a_band->channels[i].flags |=
11491 IEEE80211_CHAN_RADAR;
11492 /* No equivalent for LIBIPW_CH_80211H_RULES,
11493 LIBIPW_CH_UNIFORM_SPREADING, or
11494 LIBIPW_CH_B_ONLY... */
11495 }
11496 /* point at bitrate info */
11497 a_band->bitrates = ipw2200_a_rates;
11498 a_band->n_bitrates = ipw2200_num_a_rates;
11499
11500 wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = a_band;
11501 }
11502
11503 set_wiphy_dev(wdev->wiphy, &priv->pci_dev->dev);
11504
11505 /* With that information in place, we can now register the wiphy... */
11506 if (wiphy_register(wdev->wiphy)) {
11507 rc = -EIO;
11508 goto out;
11509 } 11425 }
11510 11426
11511out:
11512 mutex_unlock(&priv->mutex); 11427 mutex_unlock(&priv->mutex);
11513 return rc; 11428 return 0;
11514} 11429}
11515 11430
11516/* PCI driver stuff */ 11431/* PCI driver stuff */
@@ -11641,7 +11556,7 @@ static int ipw_prom_alloc(struct ipw_priv *priv)
11641 if (priv->prom_net_dev) 11556 if (priv->prom_net_dev)
11642 return -EPERM; 11557 return -EPERM;
11643 11558
11644 priv->prom_net_dev = alloc_ieee80211(sizeof(struct ipw_prom_priv), 1); 11559 priv->prom_net_dev = alloc_ieee80211(sizeof(struct ipw_prom_priv));
11645 if (priv->prom_net_dev == NULL) 11560 if (priv->prom_net_dev == NULL)
11646 return -ENOMEM; 11561 return -ENOMEM;
11647 11562
@@ -11660,7 +11575,7 @@ static int ipw_prom_alloc(struct ipw_priv *priv)
11660 11575
11661 rc = register_netdev(priv->prom_net_dev); 11576 rc = register_netdev(priv->prom_net_dev);
11662 if (rc) { 11577 if (rc) {
11663 free_ieee80211(priv->prom_net_dev, 1); 11578 free_ieee80211(priv->prom_net_dev);
11664 priv->prom_net_dev = NULL; 11579 priv->prom_net_dev = NULL;
11665 return rc; 11580 return rc;
11666 } 11581 }
@@ -11674,7 +11589,7 @@ static void ipw_prom_free(struct ipw_priv *priv)
11674 return; 11589 return;
11675 11590
11676 unregister_netdev(priv->prom_net_dev); 11591 unregister_netdev(priv->prom_net_dev);
11677 free_ieee80211(priv->prom_net_dev, 1); 11592 free_ieee80211(priv->prom_net_dev);
11678 11593
11679 priv->prom_net_dev = NULL; 11594 priv->prom_net_dev = NULL;
11680} 11595}
@@ -11702,7 +11617,7 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
11702 struct ipw_priv *priv; 11617 struct ipw_priv *priv;
11703 int i; 11618 int i;
11704 11619
11705 net_dev = alloc_ieee80211(sizeof(struct ipw_priv), 0); 11620 net_dev = alloc_ieee80211(sizeof(struct ipw_priv));
11706 if (net_dev == NULL) { 11621 if (net_dev == NULL) {
11707 err = -ENOMEM; 11622 err = -ENOMEM;
11708 goto out; 11623 goto out;
@@ -11850,7 +11765,7 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
11850 pci_disable_device(pdev); 11765 pci_disable_device(pdev);
11851 pci_set_drvdata(pdev, NULL); 11766 pci_set_drvdata(pdev, NULL);
11852 out_free_ieee80211: 11767 out_free_ieee80211:
11853 free_ieee80211(priv->net_dev, 0); 11768 free_ieee80211(priv->net_dev);
11854 out: 11769 out:
11855 return err; 11770 return err;
11856} 11771}
@@ -11917,7 +11832,7 @@ static void __devexit ipw_pci_remove(struct pci_dev *pdev)
11917 pci_release_regions(pdev); 11832 pci_release_regions(pdev);
11918 pci_disable_device(pdev); 11833 pci_disable_device(pdev);
11919 pci_set_drvdata(pdev, NULL); 11834 pci_set_drvdata(pdev, NULL);
11920 free_ieee80211(priv->net_dev, 0); 11835 free_ieee80211(priv->net_dev);
11921 free_firmware(); 11836 free_firmware();
11922} 11837}
11923 11838
diff --git a/drivers/net/wireless/ipw2x00/libipw.h b/drivers/net/wireless/ipw2x00/libipw.h
index bf45391172f3..1e334ff6bd52 100644
--- a/drivers/net/wireless/ipw2x00/libipw.h
+++ b/drivers/net/wireless/ipw2x00/libipw.h
@@ -31,7 +31,6 @@
31#include <linux/ieee80211.h> 31#include <linux/ieee80211.h>
32 32
33#include <net/lib80211.h> 33#include <net/lib80211.h>
34#include <net/cfg80211.h>
35 34
36#define LIBIPW_VERSION "git-1.1.13" 35#define LIBIPW_VERSION "git-1.1.13"
37 36
@@ -784,15 +783,12 @@ struct libipw_geo {
784 783
785struct libipw_device { 784struct libipw_device {
786 struct net_device *dev; 785 struct net_device *dev;
787 struct wireless_dev wdev;
788 struct libipw_security sec; 786 struct libipw_security sec;
789 787
790 /* Bookkeeping structures */ 788 /* Bookkeeping structures */
791 struct libipw_stats ieee_stats; 789 struct libipw_stats ieee_stats;
792 790
793 struct libipw_geo geo; 791 struct libipw_geo geo;
794 struct ieee80211_supported_band bg_band;
795 struct ieee80211_supported_band a_band;
796 792
797 /* Probe / Beacon management */ 793 /* Probe / Beacon management */
798 struct list_head network_free_list; 794 struct list_head network_free_list;
@@ -1018,8 +1014,8 @@ static inline int libipw_is_cck_rate(u8 rate)
1018} 1014}
1019 1015
1020/* ieee80211.c */ 1016/* ieee80211.c */
1021extern void free_ieee80211(struct net_device *dev, int monitor); 1017extern void free_ieee80211(struct net_device *dev);
1022extern struct net_device *alloc_ieee80211(int sizeof_priv, int monitor); 1018extern struct net_device *alloc_ieee80211(int sizeof_priv);
1023extern int libipw_change_mtu(struct net_device *dev, int new_mtu); 1019extern int libipw_change_mtu(struct net_device *dev, int new_mtu);
1024 1020
1025extern void libipw_networks_age(struct libipw_device *ieee, 1021extern void libipw_networks_age(struct libipw_device *ieee,
diff --git a/drivers/net/wireless/ipw2x00/libipw_module.c b/drivers/net/wireless/ipw2x00/libipw_module.c
index a0e9f6aed7da..eb2b60834c17 100644
--- a/drivers/net/wireless/ipw2x00/libipw_module.c
+++ b/drivers/net/wireless/ipw2x00/libipw_module.c
@@ -62,9 +62,6 @@ MODULE_DESCRIPTION(DRV_DESCRIPTION);
62MODULE_AUTHOR(DRV_COPYRIGHT); 62MODULE_AUTHOR(DRV_COPYRIGHT);
63MODULE_LICENSE("GPL"); 63MODULE_LICENSE("GPL");
64 64
65struct cfg80211_ops libipw_config_ops = { };
66void *libipw_wiphy_privid = &libipw_wiphy_privid;
67
68static int libipw_networks_allocate(struct libipw_device *ieee) 65static int libipw_networks_allocate(struct libipw_device *ieee)
69{ 66{
70 if (ieee->networks) 67 if (ieee->networks)
@@ -143,7 +140,7 @@ int libipw_change_mtu(struct net_device *dev, int new_mtu)
143} 140}
144EXPORT_SYMBOL(libipw_change_mtu); 141EXPORT_SYMBOL(libipw_change_mtu);
145 142
146struct net_device *alloc_ieee80211(int sizeof_priv, int monitor) 143struct net_device *alloc_ieee80211(int sizeof_priv)
147{ 144{
148 struct libipw_device *ieee; 145 struct libipw_device *ieee;
149 struct net_device *dev; 146 struct net_device *dev;
@@ -160,31 +157,10 @@ struct net_device *alloc_ieee80211(int sizeof_priv, int monitor)
160 157
161 ieee->dev = dev; 158 ieee->dev = dev;
162 159
163 if (!monitor) {
164 ieee->wdev.wiphy = wiphy_new(&libipw_config_ops, 0);
165 if (!ieee->wdev.wiphy) {
166 LIBIPW_ERROR("Unable to allocate wiphy.\n");
167 goto failed_free_netdev;
168 }
169
170 ieee->dev->ieee80211_ptr = &ieee->wdev;
171 ieee->wdev.iftype = NL80211_IFTYPE_STATION;
172
173 /* Fill-out wiphy structure bits we know... Not enough info
174 here to call set_wiphy_dev or set MAC address or channel info
175 -- have to do that in ->ndo_init... */
176 ieee->wdev.wiphy->privid = libipw_wiphy_privid;
177
178 ieee->wdev.wiphy->max_scan_ssids = 1;
179 ieee->wdev.wiphy->max_scan_ie_len = 0;
180 ieee->wdev.wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION)
181 | BIT(NL80211_IFTYPE_ADHOC);
182 }
183
184 err = libipw_networks_allocate(ieee); 160 err = libipw_networks_allocate(ieee);
185 if (err) { 161 if (err) {
186 LIBIPW_ERROR("Unable to allocate beacon storage: %d\n", err); 162 LIBIPW_ERROR("Unable to allocate beacon storage: %d\n", err);
187 goto failed_free_wiphy; 163 goto failed_free_netdev;
188 } 164 }
189 libipw_networks_initialize(ieee); 165 libipw_networks_initialize(ieee);
190 166
@@ -217,31 +193,19 @@ struct net_device *alloc_ieee80211(int sizeof_priv, int monitor)
217 193
218 return dev; 194 return dev;
219 195
220failed_free_wiphy:
221 if (!monitor)
222 wiphy_free(ieee->wdev.wiphy);
223failed_free_netdev: 196failed_free_netdev:
224 free_netdev(dev); 197 free_netdev(dev);
225failed: 198failed:
226 return NULL; 199 return NULL;
227} 200}
228 201
229void free_ieee80211(struct net_device *dev, int monitor) 202void free_ieee80211(struct net_device *dev)
230{ 203{
231 struct libipw_device *ieee = netdev_priv(dev); 204 struct libipw_device *ieee = netdev_priv(dev);
232 205
233 lib80211_crypt_info_free(&ieee->crypt_info); 206 lib80211_crypt_info_free(&ieee->crypt_info);
234 207
235 libipw_networks_free(ieee); 208 libipw_networks_free(ieee);
236
237 /* free cfg80211 resources */
238 if (!monitor) {
239 wiphy_unregister(ieee->wdev.wiphy);
240 kfree(ieee->a_band.channels);
241 kfree(ieee->bg_band.channels);
242 wiphy_free(ieee->wdev.wiphy);
243 }
244
245 free_netdev(dev); 209 free_netdev(dev);
246} 210}
247 211
diff --git a/drivers/net/wireless/iwlwifi/iwl-1000.c b/drivers/net/wireless/iwlwifi/iwl-1000.c
index 2716b91ba9fa..950267ab556a 100644
--- a/drivers/net/wireless/iwlwifi/iwl-1000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-1000.c
@@ -161,5 +161,6 @@ struct iwl_cfg iwl1000_bgn_cfg = {
161 .max_ll_items = OTP_MAX_LL_ITEMS_1000, 161 .max_ll_items = OTP_MAX_LL_ITEMS_1000,
162 .shadow_ram_support = false, 162 .shadow_ram_support = false,
163 .ht_greenfield_support = true, 163 .ht_greenfield_support = true,
164 .use_rts_for_ht = true, /* use rts/cts protection */
164}; 165};
165 166
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index c295b8ee9228..1473452ba22f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -175,6 +175,7 @@ struct iwl_cfg iwl6000h_2agn_cfg = {
175 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 175 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
176 .shadow_ram_support = true, 176 .shadow_ram_support = true,
177 .ht_greenfield_support = true, 177 .ht_greenfield_support = true,
178 .use_rts_for_ht = true, /* use rts/cts protection */
178}; 179};
179 180
180/* 181/*
@@ -198,6 +199,7 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
198 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 199 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
199 .shadow_ram_support = true, 200 .shadow_ram_support = true,
200 .ht_greenfield_support = true, 201 .ht_greenfield_support = true,
202 .use_rts_for_ht = true, /* use rts/cts protection */
201}; 203};
202 204
203struct iwl_cfg iwl6050_2agn_cfg = { 205struct iwl_cfg iwl6050_2agn_cfg = {
@@ -218,6 +220,7 @@ struct iwl_cfg iwl6050_2agn_cfg = {
218 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 220 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
219 .shadow_ram_support = true, 221 .shadow_ram_support = true,
220 .ht_greenfield_support = true, 222 .ht_greenfield_support = true,
223 .use_rts_for_ht = true, /* use rts/cts protection */
221}; 224};
222 225
223struct iwl_cfg iwl6000_3agn_cfg = { 226struct iwl_cfg iwl6000_3agn_cfg = {
@@ -238,6 +241,7 @@ struct iwl_cfg iwl6000_3agn_cfg = {
238 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 241 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
239 .shadow_ram_support = true, 242 .shadow_ram_support = true,
240 .ht_greenfield_support = true, 243 .ht_greenfield_support = true,
244 .use_rts_for_ht = true, /* use rts/cts protection */
241}; 245};
242 246
243struct iwl_cfg iwl6050_3agn_cfg = { 247struct iwl_cfg iwl6050_3agn_cfg = {
@@ -258,6 +262,7 @@ struct iwl_cfg iwl6050_3agn_cfg = {
258 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 262 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
259 .shadow_ram_support = true, 263 .shadow_ram_support = true,
260 .ht_greenfield_support = true, 264 .ht_greenfield_support = true,
265 .use_rts_for_ht = true, /* use rts/cts protection */
261}; 266};
262 267
263MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX)); 268MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX));
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
index 346dc06fa7b7..81726ee32858 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -418,6 +418,15 @@ static void rs_tl_turn_on_agg(struct iwl_priv *priv, u8 tid,
418 else if (tid == IWL_AGG_ALL_TID) 418 else if (tid == IWL_AGG_ALL_TID)
419 for (tid = 0; tid < TID_MAX_LOAD_COUNT; tid++) 419 for (tid = 0; tid < TID_MAX_LOAD_COUNT; tid++)
420 rs_tl_turn_on_agg_for_tid(priv, lq_data, tid, sta); 420 rs_tl_turn_on_agg_for_tid(priv, lq_data, tid, sta);
421 if (priv->cfg->use_rts_for_ht) {
422 /*
423 * switch to RTS/CTS if it is the prefer protection method
424 * for HT traffic
425 */
426 IWL_DEBUG_HT(priv, "use RTS/CTS protection for HT\n");
427 priv->staging_rxon.flags &= ~RXON_FLG_SELF_CTS_EN;
428 iwlcore_commit_rxon(priv);
429 }
421} 430}
422 431
423static inline int get_num_of_ant_from_rate(u32 rate_n_flags) 432static inline int get_num_of_ant_from_rate(u32 rate_n_flags)
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index eaafae091f5b..921dc4a26fe2 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -116,9 +116,6 @@ int iwl_commit_rxon(struct iwl_priv *priv)
116 116
117 /* always get timestamp with Rx frame */ 117 /* always get timestamp with Rx frame */
118 priv->staging_rxon.flags |= RXON_FLG_TSF2HOST_MSK; 118 priv->staging_rxon.flags |= RXON_FLG_TSF2HOST_MSK;
119 /* allow CTS-to-self if possible. this is relevant only for
120 * 5000, but will not damage 4965 */
121 priv->staging_rxon.flags |= RXON_FLG_SELF_CTS_EN;
122 119
123 ret = iwl_check_rxon_cmd(priv); 120 ret = iwl_check_rxon_cmd(priv);
124 if (ret) { 121 if (ret) {
@@ -218,6 +215,13 @@ int iwl_commit_rxon(struct iwl_priv *priv)
218 "Could not send WEP static key.\n"); 215 "Could not send WEP static key.\n");
219 } 216 }
220 217
218 /*
219 * allow CTS-to-self if possible for new association.
220 * this is relevant only for 5000 series and up,
221 * but will not damage 4965
222 */
223 priv->staging_rxon.flags |= RXON_FLG_SELF_CTS_EN;
224
221 /* Apply the new configuration 225 /* Apply the new configuration
222 * RXON assoc doesn't clear the station table in uCode, 226 * RXON assoc doesn't clear the station table in uCode,
223 */ 227 */
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index e50103a956b1..7754538c2194 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -213,6 +213,7 @@ struct iwl_mod_params {
213 * @pa_type: used by 6000 series only to identify the type of Power Amplifier 213 * @pa_type: used by 6000 series only to identify the type of Power Amplifier
214 * @max_ll_items: max number of OTP blocks 214 * @max_ll_items: max number of OTP blocks
215 * @shadow_ram_support: shadow support for OTP memory 215 * @shadow_ram_support: shadow support for OTP memory
216 * @use_rts_for_ht: use rts/cts protection for HT traffic
216 * 217 *
217 * We enable the driver to be backward compatible wrt API version. The 218 * We enable the driver to be backward compatible wrt API version. The
218 * driver specifies which APIs it supports (with @ucode_api_max being the 219 * driver specifies which APIs it supports (with @ucode_api_max being the
@@ -255,6 +256,7 @@ struct iwl_cfg {
255 const bool shadow_ram_support; 256 const bool shadow_ram_support;
256 const bool ht_greenfield_support; 257 const bool ht_greenfield_support;
257 const bool broken_powersave; 258 const bool broken_powersave;
259 bool use_rts_for_ht;
258}; 260};
259 261
260/*************************** 262/***************************
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c
index fb9bcfa6d947..b7e196e3c8d3 100644
--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
@@ -1277,8 +1277,16 @@ int iwl_tx_agg_stop(struct iwl_priv *priv , const u8 *ra, u16 tid)
1277 return -ENXIO; 1277 return -ENXIO;
1278 } 1278 }
1279 1279
1280 if (priv->stations[sta_id].tid[tid].agg.state ==
1281 IWL_EMPTYING_HW_QUEUE_ADDBA) {
1282 IWL_DEBUG_HT(priv, "AGG stop before setup done\n");
1283 ieee80211_stop_tx_ba_cb_irqsafe(priv->hw, ra, tid);
1284 priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF;
1285 return 0;
1286 }
1287
1280 if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON) 1288 if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON)
1281 IWL_WARN(priv, "Stopping AGG while state not IWL_AGG_ON\n"); 1289 IWL_WARN(priv, "Stopping AGG while state not ON or starting\n");
1282 1290
1283 tid_data = &priv->stations[sta_id].tid[tid]; 1291 tid_data = &priv->stations[sta_id].tid[tid];
1284 ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4; 1292 ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4;
diff --git a/drivers/net/wireless/libertas/ethtool.c b/drivers/net/wireless/libertas/ethtool.c
index 039b555e4d76..53d56ab83c03 100644
--- a/drivers/net/wireless/libertas/ethtool.c
+++ b/drivers/net/wireless/libertas/ethtool.c
@@ -169,16 +169,19 @@ static int lbs_ethtool_set_wol(struct net_device *dev,
169 struct lbs_private *priv = dev->ml_priv; 169 struct lbs_private *priv = dev->ml_priv;
170 uint32_t criteria = 0; 170 uint32_t criteria = 0;
171 171
172 if (priv->wol_criteria == 0xffffffff && wol->wolopts)
173 return -EOPNOTSUPP;
174
175 if (wol->wolopts & ~(WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY)) 172 if (wol->wolopts & ~(WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY))
176 return -EOPNOTSUPP; 173 return -EOPNOTSUPP;
177 174
178 if (wol->wolopts & WAKE_UCAST) criteria |= EHS_WAKE_ON_UNICAST_DATA; 175 if (wol->wolopts & WAKE_UCAST)
179 if (wol->wolopts & WAKE_MCAST) criteria |= EHS_WAKE_ON_MULTICAST_DATA; 176 criteria |= EHS_WAKE_ON_UNICAST_DATA;
180 if (wol->wolopts & WAKE_BCAST) criteria |= EHS_WAKE_ON_BROADCAST_DATA; 177 if (wol->wolopts & WAKE_MCAST)
181 if (wol->wolopts & WAKE_PHY) criteria |= EHS_WAKE_ON_MAC_EVENT; 178 criteria |= EHS_WAKE_ON_MULTICAST_DATA;
179 if (wol->wolopts & WAKE_BCAST)
180 criteria |= EHS_WAKE_ON_BROADCAST_DATA;
181 if (wol->wolopts & WAKE_PHY)
182 criteria |= EHS_WAKE_ON_MAC_EVENT;
183 if (wol->wolopts == 0)
184 criteria |= EHS_REMOVE_WAKEUP;
182 185
183 return lbs_host_sleep_cfg(priv, criteria, (struct wol_config *)NULL); 186 return lbs_host_sleep_cfg(priv, criteria, (struct wol_config *)NULL);
184} 187}
diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c
index 17e199546eeb..92af9b96bb7a 100644
--- a/drivers/net/wireless/p54/p54usb.c
+++ b/drivers/net/wireless/p54/p54usb.c
@@ -426,12 +426,16 @@ static const char p54u_romboot_3887[] = "~~~~";
426static int p54u_firmware_reset_3887(struct ieee80211_hw *dev) 426static int p54u_firmware_reset_3887(struct ieee80211_hw *dev)
427{ 427{
428 struct p54u_priv *priv = dev->priv; 428 struct p54u_priv *priv = dev->priv;
429 u8 buf[4]; 429 u8 *buf;
430 int ret; 430 int ret;
431 431
432 memcpy(&buf, p54u_romboot_3887, sizeof(buf)); 432 buf = kmalloc(4, GFP_KERNEL);
433 if (!buf)
434 return -ENOMEM;
435 memcpy(buf, p54u_romboot_3887, 4);
433 ret = p54u_bulk_msg(priv, P54U_PIPE_DATA, 436 ret = p54u_bulk_msg(priv, P54U_PIPE_DATA,
434 buf, sizeof(buf)); 437 buf, 4);
438 kfree(buf);
435 if (ret) 439 if (ret)
436 dev_err(&priv->udev->dev, "(p54usb) unable to jump to " 440 dev_err(&priv->udev->dev, "(p54usb) unable to jump to "
437 "boot ROM (%d)!\n", ret); 441 "boot ROM (%d)!\n", ret);
diff --git a/drivers/net/wireless/rtl818x/rtl8187_rfkill.c b/drivers/net/wireless/rtl818x/rtl8187_rfkill.c
index 9fab13e4004e..cad8037ab2af 100644
--- a/drivers/net/wireless/rtl818x/rtl8187_rfkill.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_rfkill.c
@@ -18,6 +18,7 @@
18#include <net/mac80211.h> 18#include <net/mac80211.h>
19 19
20#include "rtl8187.h" 20#include "rtl8187.h"
21#include "rtl8187_rfkill.h"
21 22
22static bool rtl8187_is_radio_enabled(struct rtl8187_priv *priv) 23static bool rtl8187_is_radio_enabled(struct rtl8187_priv *priv)
23{ 24{
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c
index 22b02c6df854..b952ebc7a78b 100644
--- a/drivers/pci/dmar.c
+++ b/drivers/pci/dmar.c
@@ -175,15 +175,6 @@ dmar_parse_one_drhd(struct acpi_dmar_header *header)
175 int ret = 0; 175 int ret = 0;
176 176
177 drhd = (struct acpi_dmar_hardware_unit *)header; 177 drhd = (struct acpi_dmar_hardware_unit *)header;
178 if (!drhd->address) {
179 /* Promote an attitude of violence to a BIOS engineer today */
180 WARN(1, "Your BIOS is broken; DMAR reported at address zero!\n"
181 "BIOS vendor: %s; Ver: %s; Product Version: %s\n",
182 dmi_get_system_info(DMI_BIOS_VENDOR),
183 dmi_get_system_info(DMI_BIOS_VERSION),
184 dmi_get_system_info(DMI_PRODUCT_VERSION));
185 return -ENODEV;
186 }
187 dmaru = kzalloc(sizeof(*dmaru), GFP_KERNEL); 178 dmaru = kzalloc(sizeof(*dmaru), GFP_KERNEL);
188 if (!dmaru) 179 if (!dmaru)
189 return -ENOMEM; 180 return -ENOMEM;
@@ -591,12 +582,53 @@ int __init dmar_table_init(void)
591 return 0; 582 return 0;
592} 583}
593 584
585int __init check_zero_address(void)
586{
587 struct acpi_table_dmar *dmar;
588 struct acpi_dmar_header *entry_header;
589 struct acpi_dmar_hardware_unit *drhd;
590
591 dmar = (struct acpi_table_dmar *)dmar_tbl;
592 entry_header = (struct acpi_dmar_header *)(dmar + 1);
593
594 while (((unsigned long)entry_header) <
595 (((unsigned long)dmar) + dmar_tbl->length)) {
596 /* Avoid looping forever on bad ACPI tables */
597 if (entry_header->length == 0) {
598 printk(KERN_WARNING PREFIX
599 "Invalid 0-length structure\n");
600 return 0;
601 }
602
603 if (entry_header->type == ACPI_DMAR_TYPE_HARDWARE_UNIT) {
604 drhd = (void *)entry_header;
605 if (!drhd->address) {
606 /* Promote an attitude of violence to a BIOS engineer today */
607 WARN(1, "Your BIOS is broken; DMAR reported at address zero!\n"
608 "BIOS vendor: %s; Ver: %s; Product Version: %s\n",
609 dmi_get_system_info(DMI_BIOS_VENDOR),
610 dmi_get_system_info(DMI_BIOS_VERSION),
611 dmi_get_system_info(DMI_PRODUCT_VERSION));
612#ifdef CONFIG_DMAR
613 dmar_disabled = 1;
614#endif
615 return 0;
616 }
617 break;
618 }
619
620 entry_header = ((void *)entry_header + entry_header->length);
621 }
622 return 1;
623}
624
594void __init detect_intel_iommu(void) 625void __init detect_intel_iommu(void)
595{ 626{
596 int ret; 627 int ret;
597 628
598 ret = dmar_table_detect(); 629 ret = dmar_table_detect();
599 630 if (ret)
631 ret = check_zero_address();
600 { 632 {
601#ifdef CONFIG_INTR_REMAP 633#ifdef CONFIG_INTR_REMAP
602 struct acpi_table_dmar *dmar; 634 struct acpi_table_dmar *dmar;
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
index b1e97e682500..1840a0578a42 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
@@ -2767,7 +2767,15 @@ static void *intel_alloc_coherent(struct device *hwdev, size_t size,
2767 2767
2768 size = PAGE_ALIGN(size); 2768 size = PAGE_ALIGN(size);
2769 order = get_order(size); 2769 order = get_order(size);
2770 flags &= ~(GFP_DMA | GFP_DMA32); 2770
2771 if (!iommu_no_mapping(hwdev))
2772 flags &= ~(GFP_DMA | GFP_DMA32);
2773 else if (hwdev->coherent_dma_mask < dma_get_required_mask(hwdev)) {
2774 if (hwdev->coherent_dma_mask < DMA_BIT_MASK(32))
2775 flags |= GFP_DMA;
2776 else
2777 flags |= GFP_DMA32;
2778 }
2771 2779
2772 vaddr = (void *)__get_free_pages(flags, order); 2780 vaddr = (void *)__get_free_pages(flags, order);
2773 if (!vaddr) 2781 if (!vaddr)
@@ -3207,6 +3215,33 @@ static int __init init_iommu_sysfs(void)
3207} 3215}
3208#endif /* CONFIG_PM */ 3216#endif /* CONFIG_PM */
3209 3217
3218/*
3219 * Here we only respond to action of unbound device from driver.
3220 *
3221 * Added device is not attached to its DMAR domain here yet. That will happen
3222 * when mapping the device to iova.
3223 */
3224static int device_notifier(struct notifier_block *nb,
3225 unsigned long action, void *data)
3226{
3227 struct device *dev = data;
3228 struct pci_dev *pdev = to_pci_dev(dev);
3229 struct dmar_domain *domain;
3230
3231 domain = find_domain(pdev);
3232 if (!domain)
3233 return 0;
3234
3235 if (action == BUS_NOTIFY_UNBOUND_DRIVER && !iommu_pass_through)
3236 domain_remove_one_dev_info(domain, pdev);
3237
3238 return 0;
3239}
3240
3241static struct notifier_block device_nb = {
3242 .notifier_call = device_notifier,
3243};
3244
3210int __init intel_iommu_init(void) 3245int __init intel_iommu_init(void)
3211{ 3246{
3212 int ret = 0; 3247 int ret = 0;
@@ -3259,6 +3294,8 @@ int __init intel_iommu_init(void)
3259 3294
3260 register_iommu(&intel_iommu_ops); 3295 register_iommu(&intel_iommu_ops);
3261 3296
3297 bus_register_notifier(&pci_bus_type, &device_nb);
3298
3262 return 0; 3299 return 0;
3263} 3300}
3264 3301
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 745402e8e498..5b7056cec00c 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -656,8 +656,10 @@ void pcie_aspm_exit_link_state(struct pci_dev *pdev)
656 free_link_state(link); 656 free_link_state(link);
657 657
658 /* Recheck latencies and configure upstream links */ 658 /* Recheck latencies and configure upstream links */
659 pcie_update_aspm_capable(root); 659 if (parent_link) {
660 pcie_config_aspm_path(parent_link); 660 pcie_update_aspm_capable(root);
661 pcie_config_aspm_path(parent_link);
662 }
661out: 663out:
662 mutex_unlock(&aspm_lock); 664 mutex_unlock(&aspm_lock);
663 up_read(&pci_bus_sem); 665 up_read(&pci_bus_sem);
diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c
index 0a8f735f6c4a..ab64522aaa64 100644
--- a/drivers/platform/x86/acerhdf.c
+++ b/drivers/platform/x86/acerhdf.c
@@ -52,7 +52,7 @@
52 */ 52 */
53#undef START_IN_KERNEL_MODE 53#undef START_IN_KERNEL_MODE
54 54
55#define DRV_VER "0.5.17" 55#define DRV_VER "0.5.18"
56 56
57/* 57/*
58 * According to the Atom N270 datasheet, 58 * According to the Atom N270 datasheet,
@@ -61,7 +61,7 @@
61 * measured by the on-die thermal monitor are within 0 <= Tj <= 90. So, 61 * measured by the on-die thermal monitor are within 0 <= Tj <= 90. So,
62 * assume 89°C is critical temperature. 62 * assume 89°C is critical temperature.
63 */ 63 */
64#define ACERHDF_TEMP_CRIT 89 64#define ACERHDF_TEMP_CRIT 89000
65#define ACERHDF_FAN_OFF 0 65#define ACERHDF_FAN_OFF 0
66#define ACERHDF_FAN_AUTO 1 66#define ACERHDF_FAN_AUTO 1
67 67
@@ -69,7 +69,7 @@
69 * No matter what value the user puts into the fanon variable, turn on the fan 69 * No matter what value the user puts into the fanon variable, turn on the fan
70 * at 80 degree Celsius to prevent hardware damage 70 * at 80 degree Celsius to prevent hardware damage
71 */ 71 */
72#define ACERHDF_MAX_FANON 80 72#define ACERHDF_MAX_FANON 80000
73 73
74/* 74/*
75 * Maximum interval between two temperature checks is 15 seconds, as the die 75 * Maximum interval between two temperature checks is 15 seconds, as the die
@@ -85,8 +85,8 @@ static int kernelmode;
85#endif 85#endif
86 86
87static unsigned int interval = 10; 87static unsigned int interval = 10;
88static unsigned int fanon = 63; 88static unsigned int fanon = 63000;
89static unsigned int fanoff = 58; 89static unsigned int fanoff = 58000;
90static unsigned int verbose; 90static unsigned int verbose;
91static unsigned int fanstate = ACERHDF_FAN_AUTO; 91static unsigned int fanstate = ACERHDF_FAN_AUTO;
92static char force_bios[16]; 92static char force_bios[16];
@@ -171,7 +171,7 @@ static int acerhdf_get_temp(int *temp)
171 if (ec_read(bios_cfg->tempreg, &read_temp)) 171 if (ec_read(bios_cfg->tempreg, &read_temp))
172 return -EINVAL; 172 return -EINVAL;
173 173
174 *temp = read_temp; 174 *temp = read_temp * 1000;
175 175
176 return 0; 176 return 0;
177} 177}
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index d93108d148fc..a848c7e20aeb 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -1680,36 +1680,48 @@ static void tpacpi_remove_driver_attributes(struct device_driver *drv)
1680 | (__bv1) << 8 | (__bv2) } 1680 | (__bv1) << 8 | (__bv2) }
1681 1681
1682#define TPV_Q_X(__v, __bid1, __bid2, __bv1, __bv2, \ 1682#define TPV_Q_X(__v, __bid1, __bid2, __bv1, __bv2, \
1683 __eid1, __eid2, __ev1, __ev2) \ 1683 __eid, __ev1, __ev2) \
1684 { .vendor = (__v), \ 1684 { .vendor = (__v), \
1685 .bios = TPID(__bid1, __bid2), \ 1685 .bios = TPID(__bid1, __bid2), \
1686 .ec = TPID(__eid1, __eid2), \ 1686 .ec = __eid, \
1687 .quirks = (__ev1) << 24 | (__ev2) << 16 \ 1687 .quirks = (__ev1) << 24 | (__ev2) << 16 \
1688 | (__bv1) << 8 | (__bv2) } 1688 | (__bv1) << 8 | (__bv2) }
1689 1689
1690#define TPV_QI0(__id1, __id2, __bv1, __bv2) \ 1690#define TPV_QI0(__id1, __id2, __bv1, __bv2) \
1691 TPV_Q(PCI_VENDOR_ID_IBM, __id1, __id2, __bv1, __bv2) 1691 TPV_Q(PCI_VENDOR_ID_IBM, __id1, __id2, __bv1, __bv2)
1692 1692
1693/* Outdated IBM BIOSes often lack the EC id string */
1693#define TPV_QI1(__id1, __id2, __bv1, __bv2, __ev1, __ev2) \ 1694#define TPV_QI1(__id1, __id2, __bv1, __bv2, __ev1, __ev2) \
1694 TPV_Q_X(PCI_VENDOR_ID_IBM, __id1, __id2, \ 1695 TPV_Q_X(PCI_VENDOR_ID_IBM, __id1, __id2, \
1695 __bv1, __bv2, __id1, __id2, __ev1, __ev2) 1696 __bv1, __bv2, TPID(__id1, __id2), \
1697 __ev1, __ev2), \
1698 TPV_Q_X(PCI_VENDOR_ID_IBM, __id1, __id2, \
1699 __bv1, __bv2, TPACPI_MATCH_UNKNOWN, \
1700 __ev1, __ev2)
1696 1701
1702/* Outdated IBM BIOSes often lack the EC id string */
1697#define TPV_QI2(__bid1, __bid2, __bv1, __bv2, \ 1703#define TPV_QI2(__bid1, __bid2, __bv1, __bv2, \
1698 __eid1, __eid2, __ev1, __ev2) \ 1704 __eid1, __eid2, __ev1, __ev2) \
1699 TPV_Q_X(PCI_VENDOR_ID_IBM, __bid1, __bid2, \ 1705 TPV_Q_X(PCI_VENDOR_ID_IBM, __bid1, __bid2, \
1700 __bv1, __bv2, __eid1, __eid2, __ev1, __ev2) 1706 __bv1, __bv2, TPID(__eid1, __eid2), \
1707 __ev1, __ev2), \
1708 TPV_Q_X(PCI_VENDOR_ID_IBM, __bid1, __bid2, \
1709 __bv1, __bv2, TPACPI_MATCH_UNKNOWN, \
1710 __ev1, __ev2)
1701 1711
1702#define TPV_QL0(__id1, __id2, __bv1, __bv2) \ 1712#define TPV_QL0(__id1, __id2, __bv1, __bv2) \
1703 TPV_Q(PCI_VENDOR_ID_LENOVO, __id1, __id2, __bv1, __bv2) 1713 TPV_Q(PCI_VENDOR_ID_LENOVO, __id1, __id2, __bv1, __bv2)
1704 1714
1705#define TPV_QL1(__id1, __id2, __bv1, __bv2, __ev1, __ev2) \ 1715#define TPV_QL1(__id1, __id2, __bv1, __bv2, __ev1, __ev2) \
1706 TPV_Q_X(PCI_VENDOR_ID_LENOVO, __id1, __id2, \ 1716 TPV_Q_X(PCI_VENDOR_ID_LENOVO, __id1, __id2, \
1707 __bv1, __bv2, __id1, __id2, __ev1, __ev2) 1717 __bv1, __bv2, TPID(__id1, __id2), \
1718 __ev1, __ev2)
1708 1719
1709#define TPV_QL2(__bid1, __bid2, __bv1, __bv2, \ 1720#define TPV_QL2(__bid1, __bid2, __bv1, __bv2, \
1710 __eid1, __eid2, __ev1, __ev2) \ 1721 __eid1, __eid2, __ev1, __ev2) \
1711 TPV_Q_X(PCI_VENDOR_ID_LENOVO, __bid1, __bid2, \ 1722 TPV_Q_X(PCI_VENDOR_ID_LENOVO, __bid1, __bid2, \
1712 __bv1, __bv2, __eid1, __eid2, __ev1, __ev2) 1723 __bv1, __bv2, TPID(__eid1, __eid2), \
1724 __ev1, __ev2)
1713 1725
1714static const struct tpacpi_quirk tpacpi_bios_version_qtable[] __initconst = { 1726static const struct tpacpi_quirk tpacpi_bios_version_qtable[] __initconst = {
1715 /* Numeric models ------------------ */ 1727 /* Numeric models ------------------ */
@@ -6313,7 +6325,7 @@ static int brightness_write(char *buf)
6313 * Doing it this way makes the syscall restartable in case of EINTR 6325 * Doing it this way makes the syscall restartable in case of EINTR
6314 */ 6326 */
6315 rc = brightness_set(level); 6327 rc = brightness_set(level);
6316 return (rc == -EINTR)? ERESTARTSYS : rc; 6328 return (rc == -EINTR)? -ERESTARTSYS : rc;
6317} 6329}
6318 6330
6319static struct ibm_struct brightness_driver_data = { 6331static struct ibm_struct brightness_driver_data = {
diff --git a/drivers/pps/kapi.c b/drivers/pps/kapi.c
index 35a0b192d768..2d414e23d390 100644
--- a/drivers/pps/kapi.c
+++ b/drivers/pps/kapi.c
@@ -271,6 +271,7 @@ void pps_event(int source, struct pps_ktime *ts, int event, void *data)
271{ 271{
272 struct pps_device *pps; 272 struct pps_device *pps;
273 unsigned long flags; 273 unsigned long flags;
274 int captured = 0;
274 275
275 if ((event & (PPS_CAPTUREASSERT | PPS_CAPTURECLEAR)) == 0) { 276 if ((event & (PPS_CAPTUREASSERT | PPS_CAPTURECLEAR)) == 0) {
276 printk(KERN_ERR "pps: unknown event (%x) for source %d\n", 277 printk(KERN_ERR "pps: unknown event (%x) for source %d\n",
@@ -293,7 +294,8 @@ void pps_event(int source, struct pps_ktime *ts, int event, void *data)
293 294
294 /* Check the event */ 295 /* Check the event */
295 pps->current_mode = pps->params.mode; 296 pps->current_mode = pps->params.mode;
296 if (event & PPS_CAPTUREASSERT) { 297 if ((event & PPS_CAPTUREASSERT) &
298 (pps->params.mode & PPS_CAPTUREASSERT)) {
297 /* We have to add an offset? */ 299 /* We have to add an offset? */
298 if (pps->params.mode & PPS_OFFSETASSERT) 300 if (pps->params.mode & PPS_OFFSETASSERT)
299 pps_add_offset(ts, &pps->params.assert_off_tu); 301 pps_add_offset(ts, &pps->params.assert_off_tu);
@@ -303,8 +305,11 @@ void pps_event(int source, struct pps_ktime *ts, int event, void *data)
303 pps->assert_sequence++; 305 pps->assert_sequence++;
304 pr_debug("capture assert seq #%u for source %d\n", 306 pr_debug("capture assert seq #%u for source %d\n",
305 pps->assert_sequence, source); 307 pps->assert_sequence, source);
308
309 captured = ~0;
306 } 310 }
307 if (event & PPS_CAPTURECLEAR) { 311 if ((event & PPS_CAPTURECLEAR) &
312 (pps->params.mode & PPS_CAPTURECLEAR)) {
308 /* We have to add an offset? */ 313 /* We have to add an offset? */
309 if (pps->params.mode & PPS_OFFSETCLEAR) 314 if (pps->params.mode & PPS_OFFSETCLEAR)
310 pps_add_offset(ts, &pps->params.clear_off_tu); 315 pps_add_offset(ts, &pps->params.clear_off_tu);
@@ -314,12 +319,17 @@ void pps_event(int source, struct pps_ktime *ts, int event, void *data)
314 pps->clear_sequence++; 319 pps->clear_sequence++;
315 pr_debug("capture clear seq #%u for source %d\n", 320 pr_debug("capture clear seq #%u for source %d\n",
316 pps->clear_sequence, source); 321 pps->clear_sequence, source);
322
323 captured = ~0;
317 } 324 }
318 325
319 pps->go = ~0; 326 /* Wake up iif captured somthing */
320 wake_up_interruptible(&pps->queue); 327 if (captured) {
328 pps->go = ~0;
329 wake_up_interruptible(&pps->queue);
321 330
322 kill_fasync(&pps->async_queue, SIGIO, POLL_IN); 331 kill_fasync(&pps->async_queue, SIGIO, POLL_IN);
332 }
323 333
324 spin_unlock_irqrestore(&pps->lock, flags); 334 spin_unlock_irqrestore(&pps->lock, flags);
325 335
diff --git a/drivers/pps/pps.c b/drivers/pps/pps.c
index fea17e7805e9..ca5183bdad85 100644
--- a/drivers/pps/pps.c
+++ b/drivers/pps/pps.c
@@ -71,9 +71,14 @@ static long pps_cdev_ioctl(struct file *file,
71 case PPS_GETPARAMS: 71 case PPS_GETPARAMS:
72 pr_debug("PPS_GETPARAMS: source %d\n", pps->id); 72 pr_debug("PPS_GETPARAMS: source %d\n", pps->id);
73 73
74 /* Return current parameters */ 74 spin_lock_irq(&pps->lock);
75 err = copy_to_user(uarg, &pps->params, 75
76 sizeof(struct pps_kparams)); 76 /* Get the current parameters */
77 params = pps->params;
78
79 spin_unlock_irq(&pps->lock);
80
81 err = copy_to_user(uarg, &params, sizeof(struct pps_kparams));
77 if (err) 82 if (err)
78 return -EFAULT; 83 return -EFAULT;
79 84
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 744ea1d0b59b..efe568deda12 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1283,7 +1283,8 @@ static int _regulator_disable(struct regulator_dev *rdev)
1283 return -EIO; 1283 return -EIO;
1284 1284
1285 /* are we the last user and permitted to disable ? */ 1285 /* are we the last user and permitted to disable ? */
1286 if (rdev->use_count == 1 && !rdev->constraints->always_on) { 1286 if (rdev->use_count == 1 &&
1287 (rdev->constraints && !rdev->constraints->always_on)) {
1287 1288
1288 /* we are last user */ 1289 /* we are last user */
1289 if (_regulator_can_change_status(rdev) && 1290 if (_regulator_can_change_status(rdev) &&
diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c
index f8b295700d7d..f9f516a3028a 100644
--- a/drivers/regulator/fixed.c
+++ b/drivers/regulator/fixed.c
@@ -196,11 +196,10 @@ static int regulator_fixed_voltage_remove(struct platform_device *pdev)
196 struct fixed_voltage_data *drvdata = platform_get_drvdata(pdev); 196 struct fixed_voltage_data *drvdata = platform_get_drvdata(pdev);
197 197
198 regulator_unregister(drvdata->dev); 198 regulator_unregister(drvdata->dev);
199 kfree(drvdata->desc.name);
200 kfree(drvdata);
201
202 if (gpio_is_valid(drvdata->gpio)) 199 if (gpio_is_valid(drvdata->gpio))
203 gpio_free(drvdata->gpio); 200 gpio_free(drvdata->gpio);
201 kfree(drvdata->desc.name);
202 kfree(drvdata);
204 203
205 return 0; 204 return 0;
206} 205}
diff --git a/drivers/regulator/wm831x-isink.c b/drivers/regulator/wm831x-isink.c
index 1d8d9879d3a1..48857008758c 100644
--- a/drivers/regulator/wm831x-isink.c
+++ b/drivers/regulator/wm831x-isink.c
@@ -167,6 +167,8 @@ static __devinit int wm831x_isink_probe(struct platform_device *pdev)
167 return -ENOMEM; 167 return -ENOMEM;
168 } 168 }
169 169
170 isink->wm831x = wm831x;
171
170 res = platform_get_resource(pdev, IORESOURCE_IO, 0); 172 res = platform_get_resource(pdev, IORESOURCE_IO, 0);
171 if (res == NULL) { 173 if (res == NULL) {
172 dev_err(&pdev->dev, "No I/O resource\n"); 174 dev_err(&pdev->dev, "No I/O resource\n");
diff --git a/drivers/regulator/wm831x-ldo.c b/drivers/regulator/wm831x-ldo.c
index bb61aede4801..902db56ce099 100644
--- a/drivers/regulator/wm831x-ldo.c
+++ b/drivers/regulator/wm831x-ldo.c
@@ -175,18 +175,18 @@ static unsigned int wm831x_gp_ldo_get_mode(struct regulator_dev *rdev)
175 struct wm831x *wm831x = ldo->wm831x; 175 struct wm831x *wm831x = ldo->wm831x;
176 int ctrl_reg = ldo->base + WM831X_LDO_CONTROL; 176 int ctrl_reg = ldo->base + WM831X_LDO_CONTROL;
177 int on_reg = ldo->base + WM831X_LDO_ON_CONTROL; 177 int on_reg = ldo->base + WM831X_LDO_ON_CONTROL;
178 unsigned int ret; 178 int ret;
179 179
180 ret = wm831x_reg_read(wm831x, on_reg); 180 ret = wm831x_reg_read(wm831x, on_reg);
181 if (ret < 0) 181 if (ret < 0)
182 return 0; 182 return ret;
183 183
184 if (!(ret & WM831X_LDO1_ON_MODE)) 184 if (!(ret & WM831X_LDO1_ON_MODE))
185 return REGULATOR_MODE_NORMAL; 185 return REGULATOR_MODE_NORMAL;
186 186
187 ret = wm831x_reg_read(wm831x, ctrl_reg); 187 ret = wm831x_reg_read(wm831x, ctrl_reg);
188 if (ret < 0) 188 if (ret < 0)
189 return 0; 189 return ret;
190 190
191 if (ret & WM831X_LDO1_LP_MODE) 191 if (ret & WM831X_LDO1_LP_MODE)
192 return REGULATOR_MODE_STANDBY; 192 return REGULATOR_MODE_STANDBY;
diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
index 7fe1fa26c52c..03ea530981d1 100644
--- a/drivers/rtc/rtc-coh901331.c
+++ b/drivers/rtc/rtc-coh901331.c
@@ -58,7 +58,16 @@ static irqreturn_t coh901331_interrupt(int irq, void *data)
58 clk_enable(rtap->clk); 58 clk_enable(rtap->clk);
59 /* Ack IRQ */ 59 /* Ack IRQ */
60 writel(1, rtap->virtbase + COH901331_IRQ_EVENT); 60 writel(1, rtap->virtbase + COH901331_IRQ_EVENT);
61 /*
62 * Disable the interrupt. This is necessary because
63 * the RTC lives on a lower-clocked line and will
64 * not release the IRQ line until after a few (slower)
65 * clock cycles. The interrupt will be re-enabled when
66 * a new alarm is set anyway.
67 */
68 writel(0, rtap->virtbase + COH901331_IRQ_MASK);
61 clk_disable(rtap->clk); 69 clk_disable(rtap->clk);
70
62 /* Set alarm flag */ 71 /* Set alarm flag */
63 rtc_update_irq(rtap->rtc, 1, RTC_AF); 72 rtc_update_irq(rtap->rtc, 1, RTC_AF);
64 73
@@ -128,6 +137,8 @@ static int coh901331_alarm_irq_enable(struct device *dev, unsigned int enabled)
128 else 137 else
129 writel(0, rtap->virtbase + COH901331_IRQ_MASK); 138 writel(0, rtap->virtbase + COH901331_IRQ_MASK);
130 clk_disable(rtap->clk); 139 clk_disable(rtap->clk);
140
141 return 0;
131} 142}
132 143
133static struct rtc_class_ops coh901331_ops = { 144static struct rtc_class_ops coh901331_ops = {
diff --git a/drivers/rtc/rtc-pcf50633.c b/drivers/rtc/rtc-pcf50633.c
index f4dd87e29075..4c5d5d0c4cfc 100644
--- a/drivers/rtc/rtc-pcf50633.c
+++ b/drivers/rtc/rtc-pcf50633.c
@@ -70,7 +70,7 @@ static void pcf2rtc_time(struct rtc_time *rtc, struct pcf50633_time *pcf)
70 rtc->tm_hour = bcd2bin(pcf->time[PCF50633_TI_HOUR]); 70 rtc->tm_hour = bcd2bin(pcf->time[PCF50633_TI_HOUR]);
71 rtc->tm_wday = bcd2bin(pcf->time[PCF50633_TI_WKDAY]); 71 rtc->tm_wday = bcd2bin(pcf->time[PCF50633_TI_WKDAY]);
72 rtc->tm_mday = bcd2bin(pcf->time[PCF50633_TI_DAY]); 72 rtc->tm_mday = bcd2bin(pcf->time[PCF50633_TI_DAY]);
73 rtc->tm_mon = bcd2bin(pcf->time[PCF50633_TI_MONTH]); 73 rtc->tm_mon = bcd2bin(pcf->time[PCF50633_TI_MONTH]) - 1;
74 rtc->tm_year = bcd2bin(pcf->time[PCF50633_TI_YEAR]) + 100; 74 rtc->tm_year = bcd2bin(pcf->time[PCF50633_TI_YEAR]) + 100;
75} 75}
76 76
@@ -81,7 +81,7 @@ static void rtc2pcf_time(struct pcf50633_time *pcf, struct rtc_time *rtc)
81 pcf->time[PCF50633_TI_HOUR] = bin2bcd(rtc->tm_hour); 81 pcf->time[PCF50633_TI_HOUR] = bin2bcd(rtc->tm_hour);
82 pcf->time[PCF50633_TI_WKDAY] = bin2bcd(rtc->tm_wday); 82 pcf->time[PCF50633_TI_WKDAY] = bin2bcd(rtc->tm_wday);
83 pcf->time[PCF50633_TI_DAY] = bin2bcd(rtc->tm_mday); 83 pcf->time[PCF50633_TI_DAY] = bin2bcd(rtc->tm_mday);
84 pcf->time[PCF50633_TI_MONTH] = bin2bcd(rtc->tm_mon); 84 pcf->time[PCF50633_TI_MONTH] = bin2bcd(rtc->tm_mon + 1);
85 pcf->time[PCF50633_TI_YEAR] = bin2bcd(rtc->tm_year % 100); 85 pcf->time[PCF50633_TI_YEAR] = bin2bcd(rtc->tm_year % 100);
86} 86}
87 87
@@ -245,8 +245,9 @@ static int pcf50633_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
245 ret = pcf50633_write_block(rtc->pcf, PCF50633_REG_RTCSCA, 245 ret = pcf50633_write_block(rtc->pcf, PCF50633_REG_RTCSCA,
246 PCF50633_TI_EXTENT, &pcf_tm.time[0]); 246 PCF50633_TI_EXTENT, &pcf_tm.time[0]);
247 247
248 if (!alarm_masked) 248 if (!alarm_masked || alrm->enabled)
249 pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_ALARM); 249 pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_ALARM);
250 rtc->alarm_enabled = alrm->enabled;
250 251
251 return ret; 252 return ret;
252} 253}
@@ -291,8 +292,9 @@ static int __devinit pcf50633_rtc_probe(struct platform_device *pdev)
291 &pcf50633_rtc_ops, THIS_MODULE); 292 &pcf50633_rtc_ops, THIS_MODULE);
292 293
293 if (IS_ERR(rtc->rtc_dev)) { 294 if (IS_ERR(rtc->rtc_dev)) {
295 int ret = PTR_ERR(rtc->rtc_dev);
294 kfree(rtc); 296 kfree(rtc);
295 return PTR_ERR(rtc->rtc_dev); 297 return ret;
296 } 298 }
297 299
298 pcf50633_register_irq(rtc->pcf, PCF50633_IRQ_ALARM, 300 pcf50633_register_irq(rtc->pcf, PCF50633_IRQ_ALARM,
diff --git a/drivers/rtc/rtc-v3020.c b/drivers/rtc/rtc-v3020.c
index ad164056feb6..423cd5a30b10 100644
--- a/drivers/rtc/rtc-v3020.c
+++ b/drivers/rtc/rtc-v3020.c
@@ -96,7 +96,7 @@ static void v3020_mmio_write_bit(struct v3020 *chip, unsigned char bit)
96 96
97static unsigned char v3020_mmio_read_bit(struct v3020 *chip) 97static unsigned char v3020_mmio_read_bit(struct v3020 *chip)
98{ 98{
99 return readl(chip->ioaddress) & (1 << chip->leftshift); 99 return !!(readl(chip->ioaddress) & (1 << chip->leftshift));
100} 100}
101 101
102static struct v3020_chip_ops v3020_mmio_ops = { 102static struct v3020_chip_ops v3020_mmio_ops = {
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
index 2c839d0d21bd..fadddac1e5a4 100644
--- a/drivers/rtc/rtc-vr41xx.c
+++ b/drivers/rtc/rtc-vr41xx.c
@@ -209,19 +209,18 @@ static int vr41xx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *wkalrm)
209 209
210static int vr41xx_rtc_irq_set_freq(struct device *dev, int freq) 210static int vr41xx_rtc_irq_set_freq(struct device *dev, int freq)
211{ 211{
212 unsigned long count; 212 u64 count;
213 213
214 if (!is_power_of_2(freq)) 214 if (!is_power_of_2(freq))
215 return -EINVAL; 215 return -EINVAL;
216 count = RTC_FREQUENCY; 216 count = RTC_FREQUENCY;
217 do_div(count, freq); 217 do_div(count, freq);
218 218
219 periodic_count = count;
220
221 spin_lock_irq(&rtc_lock); 219 spin_lock_irq(&rtc_lock);
222 220
223 rtc1_write(RTCL1LREG, count); 221 periodic_count = count;
224 rtc1_write(RTCL1HREG, count >> 16); 222 rtc1_write(RTCL1LREG, periodic_count);
223 rtc1_write(RTCL1HREG, periodic_count >> 16);
225 224
226 spin_unlock_irq(&rtc_lock); 225 spin_unlock_irq(&rtc_lock);
227 226
diff --git a/drivers/rtc/rtc-x1205.c b/drivers/rtc/rtc-x1205.c
index 310c10795e9a..6583c1a8b070 100644
--- a/drivers/rtc/rtc-x1205.c
+++ b/drivers/rtc/rtc-x1205.c
@@ -195,7 +195,7 @@ static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
195 /* year, since the rtc epoch*/ 195 /* year, since the rtc epoch*/
196 buf[CCR_YEAR] = bin2bcd(tm->tm_year % 100); 196 buf[CCR_YEAR] = bin2bcd(tm->tm_year % 100);
197 buf[CCR_WDAY] = tm->tm_wday & 0x07; 197 buf[CCR_WDAY] = tm->tm_wday & 0x07;
198 buf[CCR_Y2K] = bin2bcd(tm->tm_year / 100); 198 buf[CCR_Y2K] = bin2bcd((tm->tm_year + 1900) / 100);
199 } 199 }
200 200
201 /* If writing alarm registers, set compare bits on registers 0-4 */ 201 /* If writing alarm registers, set compare bits on registers 0-4 */
@@ -280,9 +280,9 @@ static int x1205_fix_osc(struct i2c_client *client)
280 int err; 280 int err;
281 struct rtc_time tm; 281 struct rtc_time tm;
282 282
283 tm.tm_hour = tm.tm_min = tm.tm_sec = 0; 283 memset(&tm, 0, sizeof(tm));
284 284
285 err = x1205_set_datetime(client, &tm, 0, X1205_CCR_BASE, 0); 285 err = x1205_set_datetime(client, &tm, 1, X1205_CCR_BASE, 0);
286 if (err < 0) 286 if (err < 0)
287 dev_err(&client->dev, "unable to restart the oscillator\n"); 287 dev_err(&client->dev, "unable to restart the oscillator\n");
288 288
diff --git a/drivers/s390/char/monreader.c b/drivers/s390/char/monreader.c
index 89ece1c235aa..66e21dd23154 100644
--- a/drivers/s390/char/monreader.c
+++ b/drivers/s390/char/monreader.c
@@ -357,6 +357,7 @@ static int mon_close(struct inode *inode, struct file *filp)
357 atomic_set(&monpriv->msglim_count, 0); 357 atomic_set(&monpriv->msglim_count, 0);
358 monpriv->write_index = 0; 358 monpriv->write_index = 0;
359 monpriv->read_index = 0; 359 monpriv->read_index = 0;
360 dev_set_drvdata(monreader_device, NULL);
360 361
361 for (i = 0; i < MON_MSGLIM; i++) 362 for (i = 0; i < MON_MSGLIM; i++)
362 kfree(monpriv->msg_array[i]); 363 kfree(monpriv->msg_array[i]);
diff --git a/drivers/s390/char/sclp_quiesce.c b/drivers/s390/char/sclp_quiesce.c
index 84c191c1cd62..05909a7df8b3 100644
--- a/drivers/s390/char/sclp_quiesce.c
+++ b/drivers/s390/char/sclp_quiesce.c
@@ -20,9 +20,12 @@
20 20
21#include "sclp.h" 21#include "sclp.h"
22 22
23static void (*old_machine_restart)(char *);
24static void (*old_machine_halt)(void);
25static void (*old_machine_power_off)(void);
26
23/* Shutdown handler. Signal completion of shutdown by loading special PSW. */ 27/* Shutdown handler. Signal completion of shutdown by loading special PSW. */
24static void 28static void do_machine_quiesce(void)
25do_machine_quiesce(void)
26{ 29{
27 psw_t quiesce_psw; 30 psw_t quiesce_psw;
28 31
@@ -33,23 +36,48 @@ do_machine_quiesce(void)
33} 36}
34 37
35/* Handler for quiesce event. Start shutdown procedure. */ 38/* Handler for quiesce event. Start shutdown procedure. */
36static void 39static void sclp_quiesce_handler(struct evbuf_header *evbuf)
37sclp_quiesce_handler(struct evbuf_header *evbuf)
38{ 40{
39 _machine_restart = (void *) do_machine_quiesce; 41 if (_machine_restart != (void *) do_machine_quiesce) {
40 _machine_halt = do_machine_quiesce; 42 old_machine_restart = _machine_restart;
41 _machine_power_off = do_machine_quiesce; 43 old_machine_halt = _machine_halt;
44 old_machine_power_off = _machine_power_off;
45 _machine_restart = (void *) do_machine_quiesce;
46 _machine_halt = do_machine_quiesce;
47 _machine_power_off = do_machine_quiesce;
48 }
42 ctrl_alt_del(); 49 ctrl_alt_del();
43} 50}
44 51
52/* Undo machine restart/halt/power_off modification on resume */
53static void sclp_quiesce_pm_event(struct sclp_register *reg,
54 enum sclp_pm_event sclp_pm_event)
55{
56 switch (sclp_pm_event) {
57 case SCLP_PM_EVENT_RESTORE:
58 if (old_machine_restart) {
59 _machine_restart = old_machine_restart;
60 _machine_halt = old_machine_halt;
61 _machine_power_off = old_machine_power_off;
62 old_machine_restart = NULL;
63 old_machine_halt = NULL;
64 old_machine_power_off = NULL;
65 }
66 break;
67 case SCLP_PM_EVENT_FREEZE:
68 case SCLP_PM_EVENT_THAW:
69 break;
70 }
71}
72
45static struct sclp_register sclp_quiesce_event = { 73static struct sclp_register sclp_quiesce_event = {
46 .receive_mask = EVTYP_SIGQUIESCE_MASK, 74 .receive_mask = EVTYP_SIGQUIESCE_MASK,
47 .receiver_fn = sclp_quiesce_handler 75 .receiver_fn = sclp_quiesce_handler,
76 .pm_event_fn = sclp_quiesce_pm_event
48}; 77};
49 78
50/* Initialize quiesce driver. */ 79/* Initialize quiesce driver. */
51static int __init 80static int __init sclp_quiesce_init(void)
52sclp_quiesce_init(void)
53{ 81{
54 return sclp_register(&sclp_quiesce_event); 82 return sclp_register(&sclp_quiesce_event);
55} 83}
diff --git a/drivers/scsi/bfa/bfad_fwimg.c b/drivers/scsi/bfa/bfad_fwimg.c
index b2f6949bc8d3..bd34b0db2d6b 100644
--- a/drivers/scsi/bfa/bfad_fwimg.c
+++ b/drivers/scsi/bfa/bfad_fwimg.c
@@ -41,6 +41,8 @@ u32 *bfi_image_cb;
41 41
42#define BFAD_FW_FILE_CT "ctfw.bin" 42#define BFAD_FW_FILE_CT "ctfw.bin"
43#define BFAD_FW_FILE_CB "cbfw.bin" 43#define BFAD_FW_FILE_CB "cbfw.bin"
44MODULE_FIRMWARE(BFAD_FW_FILE_CT);
45MODULE_FIRMWARE(BFAD_FW_FILE_CB);
44 46
45u32 * 47u32 *
46bfad_read_firmware(struct pci_dev *pdev, u32 **bfi_image, 48bfad_read_firmware(struct pci_dev *pdev, u32 **bfi_image,
diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c
index 158c99243c08..55d012a9a668 100644
--- a/drivers/scsi/bfa/bfad_im.c
+++ b/drivers/scsi/bfa/bfad_im.c
@@ -948,7 +948,7 @@ bfad_os_fc_host_init(struct bfad_im_port_s *im_port)
948 if (bfad_supported_fc4s & (BFA_PORT_ROLE_FCP_IM | BFA_PORT_ROLE_FCP_TM)) 948 if (bfad_supported_fc4s & (BFA_PORT_ROLE_FCP_IM | BFA_PORT_ROLE_FCP_TM))
949 /* For FCP type 0x08 */ 949 /* For FCP type 0x08 */
950 fc_host_supported_fc4s(host)[2] = 1; 950 fc_host_supported_fc4s(host)[2] = 1;
951 if (bfad_supported_fc4s | BFA_PORT_ROLE_FCP_IPFC) 951 if (bfad_supported_fc4s & BFA_PORT_ROLE_FCP_IPFC)
952 /* For LLC/SNAP type 0x05 */ 952 /* For LLC/SNAP type 0x05 */
953 fc_host_supported_fc4s(host)[3] = 0x20; 953 fc_host_supported_fc4s(host)[3] = 0x20;
954 /* For fibre channel services type 0x20 */ 954 /* For fibre channel services type 0x20 */
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 185e6bc4dd40..9e8fce0f0c1b 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -2900,7 +2900,7 @@ static int gdth_read_event(gdth_ha_str *ha, int handle, gdth_evt_str *estr)
2900 eindex = handle; 2900 eindex = handle;
2901 estr->event_source = 0; 2901 estr->event_source = 0;
2902 2902
2903 if (eindex >= MAX_EVENTS) { 2903 if (eindex < 0 || eindex >= MAX_EVENTS) {
2904 spin_unlock_irqrestore(&ha->smp_lock, flags); 2904 spin_unlock_irqrestore(&ha->smp_lock, flags);
2905 return eindex; 2905 return eindex;
2906 } 2906 }
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index 5fd2da494d08..c968cc31cd86 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -164,8 +164,8 @@ void scsi_remove_host(struct Scsi_Host *shost)
164 return; 164 return;
165 } 165 }
166 spin_unlock_irqrestore(shost->host_lock, flags); 166 spin_unlock_irqrestore(shost->host_lock, flags);
167 mutex_unlock(&shost->scan_mutex);
168 scsi_forget_host(shost); 167 scsi_forget_host(shost);
168 mutex_unlock(&shost->scan_mutex);
169 scsi_proc_host_rm(shost); 169 scsi_proc_host_rm(shost);
170 170
171 spin_lock_irqsave(shost->host_lock, flags); 171 spin_lock_irqsave(shost->host_lock, flags);
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 5f045505a1f4..76d294fc7846 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -4189,6 +4189,25 @@ static irqreturn_t ipr_handle_other_interrupt(struct ipr_ioa_cfg *ioa_cfg,
4189} 4189}
4190 4190
4191/** 4191/**
4192 * ipr_isr_eh - Interrupt service routine error handler
4193 * @ioa_cfg: ioa config struct
4194 * @msg: message to log
4195 *
4196 * Return value:
4197 * none
4198 **/
4199static void ipr_isr_eh(struct ipr_ioa_cfg *ioa_cfg, char *msg)
4200{
4201 ioa_cfg->errors_logged++;
4202 dev_err(&ioa_cfg->pdev->dev, "%s\n", msg);
4203
4204 if (WAIT_FOR_DUMP == ioa_cfg->sdt_state)
4205 ioa_cfg->sdt_state = GET_DUMP;
4206
4207 ipr_initiate_ioa_reset(ioa_cfg, IPR_SHUTDOWN_NONE);
4208}
4209
4210/**
4192 * ipr_isr - Interrupt service routine 4211 * ipr_isr - Interrupt service routine
4193 * @irq: irq number 4212 * @irq: irq number
4194 * @devp: pointer to ioa config struct 4213 * @devp: pointer to ioa config struct
@@ -4203,6 +4222,7 @@ static irqreturn_t ipr_isr(int irq, void *devp)
4203 volatile u32 int_reg, int_mask_reg; 4222 volatile u32 int_reg, int_mask_reg;
4204 u32 ioasc; 4223 u32 ioasc;
4205 u16 cmd_index; 4224 u16 cmd_index;
4225 int num_hrrq = 0;
4206 struct ipr_cmnd *ipr_cmd; 4226 struct ipr_cmnd *ipr_cmd;
4207 irqreturn_t rc = IRQ_NONE; 4227 irqreturn_t rc = IRQ_NONE;
4208 4228
@@ -4233,13 +4253,7 @@ static irqreturn_t ipr_isr(int irq, void *devp)
4233 IPR_HRRQ_REQ_RESP_HANDLE_MASK) >> IPR_HRRQ_REQ_RESP_HANDLE_SHIFT; 4253 IPR_HRRQ_REQ_RESP_HANDLE_MASK) >> IPR_HRRQ_REQ_RESP_HANDLE_SHIFT;
4234 4254
4235 if (unlikely(cmd_index >= IPR_NUM_CMD_BLKS)) { 4255 if (unlikely(cmd_index >= IPR_NUM_CMD_BLKS)) {
4236 ioa_cfg->errors_logged++; 4256 ipr_isr_eh(ioa_cfg, "Invalid response handle from IOA");
4237 dev_err(&ioa_cfg->pdev->dev, "Invalid response handle from IOA\n");
4238
4239 if (WAIT_FOR_DUMP == ioa_cfg->sdt_state)
4240 ioa_cfg->sdt_state = GET_DUMP;
4241
4242 ipr_initiate_ioa_reset(ioa_cfg, IPR_SHUTDOWN_NONE);
4243 spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); 4257 spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
4244 return IRQ_HANDLED; 4258 return IRQ_HANDLED;
4245 } 4259 }
@@ -4266,8 +4280,18 @@ static irqreturn_t ipr_isr(int irq, void *devp)
4266 4280
4267 if (ipr_cmd != NULL) { 4281 if (ipr_cmd != NULL) {
4268 /* Clear the PCI interrupt */ 4282 /* Clear the PCI interrupt */
4269 writel(IPR_PCII_HRRQ_UPDATED, ioa_cfg->regs.clr_interrupt_reg); 4283 do {
4270 int_reg = readl(ioa_cfg->regs.sense_interrupt_reg) & ~int_mask_reg; 4284 writel(IPR_PCII_HRRQ_UPDATED, ioa_cfg->regs.clr_interrupt_reg);
4285 int_reg = readl(ioa_cfg->regs.sense_interrupt_reg) & ~int_mask_reg;
4286 } while (int_reg & IPR_PCII_HRRQ_UPDATED &&
4287 num_hrrq++ < IPR_MAX_HRRQ_RETRIES);
4288
4289 if (int_reg & IPR_PCII_HRRQ_UPDATED) {
4290 ipr_isr_eh(ioa_cfg, "Error clearing HRRQ");
4291 spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
4292 return IRQ_HANDLED;
4293 }
4294
4271 } else 4295 } else
4272 break; 4296 break;
4273 } 4297 }
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index 163245a1c3e5..19bbcf39f0c9 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -144,6 +144,7 @@
144#define IPR_IOA_MAX_SECTORS 32767 144#define IPR_IOA_MAX_SECTORS 32767
145#define IPR_VSET_MAX_SECTORS 512 145#define IPR_VSET_MAX_SECTORS 512
146#define IPR_MAX_CDB_LEN 16 146#define IPR_MAX_CDB_LEN 16
147#define IPR_MAX_HRRQ_RETRIES 3
147 148
148#define IPR_DEFAULT_BUS_WIDTH 16 149#define IPR_DEFAULT_BUS_WIDTH 16
149#define IPR_80MBs_SCSI_RATE ((80 * 10) / (IPR_DEFAULT_BUS_WIDTH / 8)) 150#define IPR_80MBs_SCSI_RATE ((80 * 10) / (IPR_DEFAULT_BUS_WIDTH / 8))
diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c
index b3381959acce..33cf988c8c8a 100644
--- a/drivers/scsi/libsas/sas_expander.c
+++ b/drivers/scsi/libsas/sas_expander.c
@@ -960,7 +960,6 @@ static int sas_ex_discover_dev(struct domain_device *dev, int phy_id)
960 960
961 } 961 }
962 } 962 }
963 res = 0;
964 } 963 }
965 964
966 return res; 965 return res;
diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
index f7c70e2a8224..0a97bc9074bb 100644
--- a/drivers/scsi/pmcraid.c
+++ b/drivers/scsi/pmcraid.c
@@ -1071,7 +1071,7 @@ static struct pmcraid_cmd *pmcraid_init_hcam
1071 1071
1072 ioarcb->data_transfer_length = cpu_to_le32(rcb_size); 1072 ioarcb->data_transfer_length = cpu_to_le32(rcb_size);
1073 1073
1074 ioadl[0].flags |= cpu_to_le32(IOADL_FLAGS_READ_LAST); 1074 ioadl[0].flags |= IOADL_FLAGS_READ_LAST;
1075 ioadl[0].data_len = cpu_to_le32(rcb_size); 1075 ioadl[0].data_len = cpu_to_le32(rcb_size);
1076 ioadl[0].address = cpu_to_le32(dma); 1076 ioadl[0].address = cpu_to_le32(dma);
1077 1077
@@ -2251,7 +2251,7 @@ static void pmcraid_request_sense(struct pmcraid_cmd *cmd)
2251 2251
2252 ioadl->address = cpu_to_le64(cmd->sense_buffer_dma); 2252 ioadl->address = cpu_to_le64(cmd->sense_buffer_dma);
2253 ioadl->data_len = cpu_to_le32(SCSI_SENSE_BUFFERSIZE); 2253 ioadl->data_len = cpu_to_le32(SCSI_SENSE_BUFFERSIZE);
2254 ioadl->flags = cpu_to_le32(IOADL_FLAGS_LAST_DESC); 2254 ioadl->flags = IOADL_FLAGS_LAST_DESC;
2255 2255
2256 /* request sense might be called as part of error response processing 2256 /* request sense might be called as part of error response processing
2257 * which runs in tasklets context. It is possible that mid-layer might 2257 * which runs in tasklets context. It is possible that mid-layer might
@@ -3017,7 +3017,7 @@ static int pmcraid_build_ioadl(
3017 ioadl[i].flags = 0; 3017 ioadl[i].flags = 0;
3018 } 3018 }
3019 /* setup last descriptor */ 3019 /* setup last descriptor */
3020 ioadl[i - 1].flags = cpu_to_le32(IOADL_FLAGS_LAST_DESC); 3020 ioadl[i - 1].flags = IOADL_FLAGS_LAST_DESC;
3021 3021
3022 return 0; 3022 return 0;
3023} 3023}
@@ -3387,7 +3387,7 @@ static int pmcraid_build_passthrough_ioadls(
3387 } 3387 }
3388 3388
3389 /* setup the last descriptor */ 3389 /* setup the last descriptor */
3390 ioadl[i - 1].flags = cpu_to_le32(IOADL_FLAGS_LAST_DESC); 3390 ioadl[i - 1].flags = IOADL_FLAGS_LAST_DESC;
3391 3391
3392 return 0; 3392 return 0;
3393} 3393}
@@ -5314,7 +5314,7 @@ static void pmcraid_querycfg(struct pmcraid_cmd *cmd)
5314 cpu_to_le32(sizeof(struct pmcraid_config_table)); 5314 cpu_to_le32(sizeof(struct pmcraid_config_table));
5315 5315
5316 ioadl = &(ioarcb->add_data.u.ioadl[0]); 5316 ioadl = &(ioarcb->add_data.u.ioadl[0]);
5317 ioadl->flags = cpu_to_le32(IOADL_FLAGS_LAST_DESC); 5317 ioadl->flags = IOADL_FLAGS_LAST_DESC;
5318 ioadl->address = cpu_to_le64(pinstance->cfg_table_bus_addr); 5318 ioadl->address = cpu_to_le64(pinstance->cfg_table_bus_addr);
5319 ioadl->data_len = cpu_to_le32(sizeof(struct pmcraid_config_table)); 5319 ioadl->data_len = cpu_to_le32(sizeof(struct pmcraid_config_table));
5320 5320
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index 0547a7f44d42..47291bcff0d5 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -952,16 +952,6 @@ static int scsi_add_lun(struct scsi_device *sdev, unsigned char *inq_result,
952 return SCSI_SCAN_LUN_PRESENT; 952 return SCSI_SCAN_LUN_PRESENT;
953} 953}
954 954
955static inline void scsi_destroy_sdev(struct scsi_device *sdev)
956{
957 scsi_device_set_state(sdev, SDEV_DEL);
958 if (sdev->host->hostt->slave_destroy)
959 sdev->host->hostt->slave_destroy(sdev);
960 transport_destroy_device(&sdev->sdev_gendev);
961 put_device(&sdev->sdev_dev);
962 put_device(&sdev->sdev_gendev);
963}
964
965#ifdef CONFIG_SCSI_LOGGING 955#ifdef CONFIG_SCSI_LOGGING
966/** 956/**
967 * scsi_inq_str - print INQUIRY data from min to max index, strip trailing whitespace 957 * scsi_inq_str - print INQUIRY data from min to max index, strip trailing whitespace
@@ -1139,7 +1129,7 @@ static int scsi_probe_and_add_lun(struct scsi_target *starget,
1139 } 1129 }
1140 } 1130 }
1141 } else 1131 } else
1142 scsi_destroy_sdev(sdev); 1132 __scsi_remove_device(sdev);
1143 out: 1133 out:
1144 return res; 1134 return res;
1145} 1135}
@@ -1500,7 +1490,7 @@ static int scsi_report_lun_scan(struct scsi_target *starget, int bflags,
1500 /* 1490 /*
1501 * the sdev we used didn't appear in the report luns scan 1491 * the sdev we used didn't appear in the report luns scan
1502 */ 1492 */
1503 scsi_destroy_sdev(sdev); 1493 __scsi_remove_device(sdev);
1504 return ret; 1494 return ret;
1505} 1495}
1506 1496
@@ -1710,7 +1700,7 @@ static void scsi_sysfs_add_devices(struct Scsi_Host *shost)
1710 shost_for_each_device(sdev, shost) { 1700 shost_for_each_device(sdev, shost) {
1711 if (!scsi_host_scan_allowed(shost) || 1701 if (!scsi_host_scan_allowed(shost) ||
1712 scsi_sysfs_add_sdev(sdev) != 0) 1702 scsi_sysfs_add_sdev(sdev) != 0)
1713 scsi_destroy_sdev(sdev); 1703 __scsi_remove_device(sdev);
1714 } 1704 }
1715} 1705}
1716 1706
@@ -1943,7 +1933,7 @@ void scsi_free_host_dev(struct scsi_device *sdev)
1943{ 1933{
1944 BUG_ON(sdev->id != sdev->host->this_id); 1934 BUG_ON(sdev->id != sdev->host->this_id);
1945 1935
1946 scsi_destroy_sdev(sdev); 1936 __scsi_remove_device(sdev);
1947} 1937}
1948EXPORT_SYMBOL(scsi_free_host_dev); 1938EXPORT_SYMBOL(scsi_free_host_dev);
1949 1939
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index 5c7eb63a19d1..392d8db33905 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -854,82 +854,73 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
854 transport_configure_device(&starget->dev); 854 transport_configure_device(&starget->dev);
855 error = device_add(&sdev->sdev_gendev); 855 error = device_add(&sdev->sdev_gendev);
856 if (error) { 856 if (error) {
857 put_device(sdev->sdev_gendev.parent);
858 printk(KERN_INFO "error 1\n"); 857 printk(KERN_INFO "error 1\n");
859 return error; 858 goto out_remove;
860 } 859 }
861 error = device_add(&sdev->sdev_dev); 860 error = device_add(&sdev->sdev_dev);
862 if (error) { 861 if (error) {
863 printk(KERN_INFO "error 2\n"); 862 printk(KERN_INFO "error 2\n");
864 goto clean_device; 863 device_del(&sdev->sdev_gendev);
864 goto out_remove;
865 } 865 }
866 transport_add_device(&sdev->sdev_gendev);
867 sdev->is_visible = 1;
866 868
867 /* create queue files, which may be writable, depending on the host */ 869 /* create queue files, which may be writable, depending on the host */
868 if (sdev->host->hostt->change_queue_depth) 870 if (sdev->host->hostt->change_queue_depth)
869 error = device_create_file(&sdev->sdev_gendev, &sdev_attr_queue_depth_rw); 871 error = device_create_file(&sdev->sdev_gendev, &sdev_attr_queue_depth_rw);
870 else 872 else
871 error = device_create_file(&sdev->sdev_gendev, &dev_attr_queue_depth); 873 error = device_create_file(&sdev->sdev_gendev, &dev_attr_queue_depth);
872 if (error) { 874 if (error)
873 __scsi_remove_device(sdev); 875 goto out_remove;
874 goto out; 876
875 }
876 if (sdev->host->hostt->change_queue_type) 877 if (sdev->host->hostt->change_queue_type)
877 error = device_create_file(&sdev->sdev_gendev, &sdev_attr_queue_type_rw); 878 error = device_create_file(&sdev->sdev_gendev, &sdev_attr_queue_type_rw);
878 else 879 else
879 error = device_create_file(&sdev->sdev_gendev, &dev_attr_queue_type); 880 error = device_create_file(&sdev->sdev_gendev, &dev_attr_queue_type);
880 if (error) { 881 if (error)
881 __scsi_remove_device(sdev); 882 goto out_remove;
882 goto out;
883 }
884 883
885 error = bsg_register_queue(rq, &sdev->sdev_gendev, NULL, NULL); 884 error = bsg_register_queue(rq, &sdev->sdev_gendev, NULL, NULL);
886 885
887 if (error) 886 if (error)
887 /* we're treating error on bsg register as non-fatal,
888 * so pretend nothing went wrong */
888 sdev_printk(KERN_INFO, sdev, 889 sdev_printk(KERN_INFO, sdev,
889 "Failed to register bsg queue, errno=%d\n", error); 890 "Failed to register bsg queue, errno=%d\n", error);
890 891
891 /* we're treating error on bsg register as non-fatal, so pretend
892 * nothing went wrong */
893 error = 0;
894
895 /* add additional host specific attributes */ 892 /* add additional host specific attributes */
896 if (sdev->host->hostt->sdev_attrs) { 893 if (sdev->host->hostt->sdev_attrs) {
897 for (i = 0; sdev->host->hostt->sdev_attrs[i]; i++) { 894 for (i = 0; sdev->host->hostt->sdev_attrs[i]; i++) {
898 error = device_create_file(&sdev->sdev_gendev, 895 error = device_create_file(&sdev->sdev_gendev,
899 sdev->host->hostt->sdev_attrs[i]); 896 sdev->host->hostt->sdev_attrs[i]);
900 if (error) { 897 if (error)
901 __scsi_remove_device(sdev); 898 goto out_remove;
902 goto out;
903 }
904 } 899 }
905 } 900 }
906 901
907 transport_add_device(&sdev->sdev_gendev); 902 return 0;
908 out:
909 return error;
910
911 clean_device:
912 scsi_device_set_state(sdev, SDEV_CANCEL);
913
914 device_del(&sdev->sdev_gendev);
915 transport_destroy_device(&sdev->sdev_gendev);
916 put_device(&sdev->sdev_dev);
917 put_device(&sdev->sdev_gendev);
918 903
904 out_remove:
905 __scsi_remove_device(sdev);
919 return error; 906 return error;
907
920} 908}
921 909
922void __scsi_remove_device(struct scsi_device *sdev) 910void __scsi_remove_device(struct scsi_device *sdev)
923{ 911{
924 struct device *dev = &sdev->sdev_gendev; 912 struct device *dev = &sdev->sdev_gendev;
925 913
926 if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0) 914 if (sdev->is_visible) {
927 return; 915 if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0)
916 return;
928 917
929 bsg_unregister_queue(sdev->request_queue); 918 bsg_unregister_queue(sdev->request_queue);
930 device_unregister(&sdev->sdev_dev); 919 device_unregister(&sdev->sdev_dev);
931 transport_remove_device(dev); 920 transport_remove_device(dev);
932 device_del(dev); 921 device_del(dev);
922 } else
923 put_device(&sdev->sdev_dev);
933 scsi_device_set_state(sdev, SDEV_DEL); 924 scsi_device_set_state(sdev, SDEV_DEL);
934 if (sdev->host->hostt->slave_destroy) 925 if (sdev->host->hostt->slave_destroy)
935 sdev->host->hostt->slave_destroy(sdev); 926 sdev->host->hostt->slave_destroy(sdev);
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
index a67fed10598a..c6f70dae9b2e 100644
--- a/drivers/scsi/scsi_transport_fc.c
+++ b/drivers/scsi/scsi_transport_fc.c
@@ -3656,6 +3656,7 @@ fc_bsg_host_dispatch(struct request_queue *q, struct Scsi_Host *shost,
3656fail_host_msg: 3656fail_host_msg:
3657 /* return the errno failure code as the only status */ 3657 /* return the errno failure code as the only status */
3658 BUG_ON(job->reply_len < sizeof(uint32_t)); 3658 BUG_ON(job->reply_len < sizeof(uint32_t));
3659 job->reply->reply_payload_rcv_len = 0;
3659 job->reply->result = ret; 3660 job->reply->result = ret;
3660 job->reply_len = sizeof(uint32_t); 3661 job->reply_len = sizeof(uint32_t);
3661 fc_bsg_jobdone(job); 3662 fc_bsg_jobdone(job);
@@ -3741,6 +3742,7 @@ check_bidi:
3741fail_rport_msg: 3742fail_rport_msg:
3742 /* return the errno failure code as the only status */ 3743 /* return the errno failure code as the only status */
3743 BUG_ON(job->reply_len < sizeof(uint32_t)); 3744 BUG_ON(job->reply_len < sizeof(uint32_t));
3745 job->reply->reply_payload_rcv_len = 0;
3744 job->reply->result = ret; 3746 job->reply->result = ret;
3745 job->reply_len = sizeof(uint32_t); 3747 job->reply_len = sizeof(uint32_t);
3746 fc_bsg_jobdone(job); 3748 fc_bsg_jobdone(job);
@@ -3797,6 +3799,7 @@ fc_bsg_request_handler(struct request_queue *q, struct Scsi_Host *shost,
3797 /* check if we have the msgcode value at least */ 3799 /* check if we have the msgcode value at least */
3798 if (job->request_len < sizeof(uint32_t)) { 3800 if (job->request_len < sizeof(uint32_t)) {
3799 BUG_ON(job->reply_len < sizeof(uint32_t)); 3801 BUG_ON(job->reply_len < sizeof(uint32_t));
3802 job->reply->reply_payload_rcv_len = 0;
3800 job->reply->result = -ENOMSG; 3803 job->reply->result = -ENOMSG;
3801 job->reply_len = sizeof(uint32_t); 3804 job->reply_len = sizeof(uint32_t);
3802 fc_bsg_jobdone(job); 3805 fc_bsg_jobdone(job);
diff --git a/drivers/scsi/sd_dif.c b/drivers/scsi/sd_dif.c
index 88da97745710..84be62149c6c 100644
--- a/drivers/scsi/sd_dif.c
+++ b/drivers/scsi/sd_dif.c
@@ -418,7 +418,7 @@ error:
418 __func__, virt, phys, be32_to_cpu(sdt->ref_tag), 418 __func__, virt, phys, be32_to_cpu(sdt->ref_tag),
419 be16_to_cpu(sdt->app_tag)); 419 be16_to_cpu(sdt->app_tag));
420 420
421 return -EIO; 421 return -EILSEQ;
422} 422}
423 423
424/* 424/*
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index b1ae774016f1..737b4c960971 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -1089,7 +1089,7 @@ static void autoconfig(struct uart_8250_port *up, unsigned int probeflags)
1089 if (!up->port.iobase && !up->port.mapbase && !up->port.membase) 1089 if (!up->port.iobase && !up->port.mapbase && !up->port.membase)
1090 return; 1090 return;
1091 1091
1092 DEBUG_AUTOCONF("ttyS%d: autoconf (0x%04x, 0x%p): ", 1092 DEBUG_AUTOCONF("ttyS%d: autoconf (0x%04lx, 0x%p): ",
1093 serial_index(&up->port), up->port.iobase, up->port.membase); 1093 serial_index(&up->port), up->port.iobase, up->port.membase);
1094 1094
1095 /* 1095 /*
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
index 42e8550cd2b6..b28af13c45a1 100644
--- a/drivers/serial/8250_pci.c
+++ b/drivers/serial/8250_pci.c
@@ -2383,7 +2383,7 @@ pciserial_init_ports(struct pci_dev *dev, const struct pciserial_board *board)
2383 break; 2383 break;
2384 2384
2385#ifdef SERIAL_DEBUG_PCI 2385#ifdef SERIAL_DEBUG_PCI
2386 printk(KERN_DEBUG "Setup PCI port: port %x, irq %d, type %d\n", 2386 printk(KERN_DEBUG "Setup PCI port: port %lx, irq %d, type %d\n",
2387 serial_port.iobase, serial_port.irq, serial_port.iotype); 2387 serial_port.iobase, serial_port.irq, serial_port.iotype);
2388#endif 2388#endif
2389 2389
@@ -3139,6 +3139,12 @@ static struct pci_device_id serial_pci_tbl[] = {
3139 { PCI_VENDOR_ID_LAVA, PCI_DEVICE_ID_LAVA_QUATRO_B, 3139 { PCI_VENDOR_ID_LAVA, PCI_DEVICE_ID_LAVA_QUATRO_B,
3140 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3140 PCI_ANY_ID, PCI_ANY_ID, 0, 0,
3141 pbn_b0_bt_2_115200 }, 3141 pbn_b0_bt_2_115200 },
3142 { PCI_VENDOR_ID_LAVA, PCI_DEVICE_ID_LAVA_QUATTRO_A,
3143 PCI_ANY_ID, PCI_ANY_ID, 0, 0,
3144 pbn_b0_bt_2_115200 },
3145 { PCI_VENDOR_ID_LAVA, PCI_DEVICE_ID_LAVA_QUATTRO_B,
3146 PCI_ANY_ID, PCI_ANY_ID, 0, 0,
3147 pbn_b0_bt_2_115200 },
3142 { PCI_VENDOR_ID_LAVA, PCI_DEVICE_ID_LAVA_OCTO_A, 3148 { PCI_VENDOR_ID_LAVA, PCI_DEVICE_ID_LAVA_OCTO_A,
3143 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3149 PCI_ANY_ID, PCI_ANY_ID, 0, 0,
3144 pbn_b0_bt_4_460800 }, 3150 pbn_b0_bt_4_460800 },
diff --git a/drivers/serial/bcm63xx_uart.c b/drivers/serial/bcm63xx_uart.c
index beddaa6e9069..37ad0c449937 100644
--- a/drivers/serial/bcm63xx_uart.c
+++ b/drivers/serial/bcm63xx_uart.c
@@ -242,7 +242,7 @@ static void bcm_uart_do_rx(struct uart_port *port)
242 * higher than fifo size anyway since we're much faster than 242 * higher than fifo size anyway since we're much faster than
243 * serial port */ 243 * serial port */
244 max_count = 32; 244 max_count = 32;
245 tty = port->info->port.tty; 245 tty = port->state->port.tty;
246 do { 246 do {
247 unsigned int iestat, c, cstat; 247 unsigned int iestat, c, cstat;
248 char flag; 248 char flag;
@@ -318,7 +318,7 @@ static void bcm_uart_do_tx(struct uart_port *port)
318 return; 318 return;
319 } 319 }
320 320
321 xmit = &port->info->xmit; 321 xmit = &port->state->xmit;
322 if (uart_circ_empty(xmit)) 322 if (uart_circ_empty(xmit))
323 goto txq_empty; 323 goto txq_empty;
324 324
diff --git a/drivers/serial/of_serial.c b/drivers/serial/of_serial.c
index 02406ba6da1c..cdf172eda2e3 100644
--- a/drivers/serial/of_serial.c
+++ b/drivers/serial/of_serial.c
@@ -161,6 +161,7 @@ static int of_platform_serial_remove(struct of_device *ofdev)
161static struct of_device_id __devinitdata of_platform_serial_table[] = { 161static struct of_device_id __devinitdata of_platform_serial_table[] = {
162 { .type = "serial", .compatible = "ns8250", .data = (void *)PORT_8250, }, 162 { .type = "serial", .compatible = "ns8250", .data = (void *)PORT_8250, },
163 { .type = "serial", .compatible = "ns16450", .data = (void *)PORT_16450, }, 163 { .type = "serial", .compatible = "ns16450", .data = (void *)PORT_16450, },
164 { .type = "serial", .compatible = "ns16550a", .data = (void *)PORT_16550A, },
164 { .type = "serial", .compatible = "ns16550", .data = (void *)PORT_16550, }, 165 { .type = "serial", .compatible = "ns16550", .data = (void *)PORT_16550, },
165 { .type = "serial", .compatible = "ns16750", .data = (void *)PORT_16750, }, 166 { .type = "serial", .compatible = "ns16750", .data = (void *)PORT_16750, },
166 { .type = "serial", .compatible = "ns16850", .data = (void *)PORT_16850, }, 167 { .type = "serial", .compatible = "ns16850", .data = (void *)PORT_16850, },
diff --git a/drivers/serial/suncore.c b/drivers/serial/suncore.c
index a2d4a19550ab..ed7d958b0a01 100644
--- a/drivers/serial/suncore.c
+++ b/drivers/serial/suncore.c
@@ -53,20 +53,21 @@ void sunserial_unregister_minors(struct uart_driver *drv, int count)
53EXPORT_SYMBOL(sunserial_unregister_minors); 53EXPORT_SYMBOL(sunserial_unregister_minors);
54 54
55int sunserial_console_match(struct console *con, struct device_node *dp, 55int sunserial_console_match(struct console *con, struct device_node *dp,
56 struct uart_driver *drv, int line) 56 struct uart_driver *drv, int line, bool ignore_line)
57{ 57{
58 int off;
59
60 if (!con || of_console_device != dp) 58 if (!con || of_console_device != dp)
61 return 0; 59 return 0;
62 60
63 off = 0; 61 if (!ignore_line) {
64 if (of_console_options && 62 int off = 0;
65 *of_console_options == 'b')
66 off = 1;
67 63
68 if ((line & 1) != off) 64 if (of_console_options &&
69 return 0; 65 *of_console_options == 'b')
66 off = 1;
67
68 if ((line & 1) != off)
69 return 0;
70 }
70 71
71 con->index = line; 72 con->index = line;
72 drv->cons = con; 73 drv->cons = con;
@@ -76,23 +77,24 @@ int sunserial_console_match(struct console *con, struct device_node *dp,
76} 77}
77EXPORT_SYMBOL(sunserial_console_match); 78EXPORT_SYMBOL(sunserial_console_match);
78 79
79void 80void sunserial_console_termios(struct console *con, struct device_node *uart_dp)
80sunserial_console_termios(struct console *con)
81{ 81{
82 struct device_node *dp; 82 const char *mode, *s;
83 const char *od, *mode, *s;
84 char mode_prop[] = "ttyX-mode"; 83 char mode_prop[] = "ttyX-mode";
85 int baud, bits, stop, cflag; 84 int baud, bits, stop, cflag;
86 char parity; 85 char parity;
87 86
88 dp = of_find_node_by_path("/options"); 87 if (!strcmp(uart_dp->name, "rsc") ||
89 od = of_get_property(dp, "output-device", NULL); 88 !strcmp(uart_dp->name, "rsc-console") ||
90 if (!strcmp(od, "rsc")) { 89 !strcmp(uart_dp->name, "rsc-control")) {
91 mode = of_get_property(of_console_device, 90 mode = of_get_property(uart_dp,
92 "ssp-console-modes", NULL); 91 "ssp-console-modes", NULL);
93 if (!mode) 92 if (!mode)
94 mode = "115200,8,n,1,-"; 93 mode = "115200,8,n,1,-";
94 } else if (!strcmp(uart_dp->name, "lom-console")) {
95 mode = "9600,8,n,1,-";
95 } else { 96 } else {
97 struct device_node *dp;
96 char c; 98 char c;
97 99
98 c = 'a'; 100 c = 'a';
@@ -101,6 +103,7 @@ sunserial_console_termios(struct console *con)
101 103
102 mode_prop[3] = c; 104 mode_prop[3] = c;
103 105
106 dp = of_find_node_by_path("/options");
104 mode = of_get_property(dp, mode_prop, NULL); 107 mode = of_get_property(dp, mode_prop, NULL);
105 if (!mode) 108 if (!mode)
106 mode = "9600,8,n,1,-"; 109 mode = "9600,8,n,1,-";
diff --git a/drivers/serial/suncore.h b/drivers/serial/suncore.h
index 042668aa602e..db2057936c31 100644
--- a/drivers/serial/suncore.h
+++ b/drivers/serial/suncore.h
@@ -26,7 +26,8 @@ extern int sunserial_register_minors(struct uart_driver *, int);
26extern void sunserial_unregister_minors(struct uart_driver *, int); 26extern void sunserial_unregister_minors(struct uart_driver *, int);
27 27
28extern int sunserial_console_match(struct console *, struct device_node *, 28extern int sunserial_console_match(struct console *, struct device_node *,
29 struct uart_driver *, int); 29 struct uart_driver *, int, bool);
30extern void sunserial_console_termios(struct console *); 30extern void sunserial_console_termios(struct console *,
31 struct device_node *);
31 32
32#endif /* !(_SERIAL_SUN_H) */ 33#endif /* !(_SERIAL_SUN_H) */
diff --git a/drivers/serial/sunhv.c b/drivers/serial/sunhv.c
index d548652dee50..d14cca7fb88d 100644
--- a/drivers/serial/sunhv.c
+++ b/drivers/serial/sunhv.c
@@ -566,7 +566,7 @@ static int __devinit hv_probe(struct of_device *op, const struct of_device_id *m
566 goto out_free_con_read_page; 566 goto out_free_con_read_page;
567 567
568 sunserial_console_match(&sunhv_console, op->node, 568 sunserial_console_match(&sunhv_console, op->node,
569 &sunhv_reg, port->line); 569 &sunhv_reg, port->line, false);
570 570
571 err = uart_add_one_port(&sunhv_reg, port); 571 err = uart_add_one_port(&sunhv_reg, port);
572 if (err) 572 if (err)
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index d1ad34128635..d514e28d0755 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -883,7 +883,7 @@ static int sunsab_console_setup(struct console *con, char *options)
883 printk("Console: ttyS%d (SAB82532)\n", 883 printk("Console: ttyS%d (SAB82532)\n",
884 (sunsab_reg.minor - 64) + con->index); 884 (sunsab_reg.minor - 64) + con->index);
885 885
886 sunserial_console_termios(con); 886 sunserial_console_termios(con, to_of_device(up->port.dev)->node);
887 887
888 switch (con->cflag & CBAUD) { 888 switch (con->cflag & CBAUD) {
889 case B150: baud = 150; break; 889 case B150: baud = 150; break;
@@ -1027,10 +1027,12 @@ static int __devinit sab_probe(struct of_device *op, const struct of_device_id *
1027 goto out1; 1027 goto out1;
1028 1028
1029 sunserial_console_match(SUNSAB_CONSOLE(), op->node, 1029 sunserial_console_match(SUNSAB_CONSOLE(), op->node,
1030 &sunsab_reg, up[0].port.line); 1030 &sunsab_reg, up[0].port.line,
1031 false);
1031 1032
1032 sunserial_console_match(SUNSAB_CONSOLE(), op->node, 1033 sunserial_console_match(SUNSAB_CONSOLE(), op->node,
1033 &sunsab_reg, up[1].port.line); 1034 &sunsab_reg, up[1].port.line,
1035 false);
1034 1036
1035 err = uart_add_one_port(&sunsab_reg, &up[0].port); 1037 err = uart_add_one_port(&sunsab_reg, &up[0].port);
1036 if (err) 1038 if (err)
@@ -1116,7 +1118,6 @@ static int __init sunsab_init(void)
1116 if (!sunsab_ports) 1118 if (!sunsab_ports)
1117 return -ENOMEM; 1119 return -ENOMEM;
1118 1120
1119 sunsab_reg.cons = SUNSAB_CONSOLE();
1120 err = sunserial_register_minors(&sunsab_reg, num_channels); 1121 err = sunserial_register_minors(&sunsab_reg, num_channels);
1121 if (err) { 1122 if (err) {
1122 kfree(sunsab_ports); 1123 kfree(sunsab_ports);
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index 68d262b15749..170d3d68c8f0 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -1329,11 +1329,9 @@ static void sunsu_console_write(struct console *co, const char *s,
1329 */ 1329 */
1330static int __init sunsu_console_setup(struct console *co, char *options) 1330static int __init sunsu_console_setup(struct console *co, char *options)
1331{ 1331{
1332 static struct ktermios dummy;
1333 struct ktermios termios;
1332 struct uart_port *port; 1334 struct uart_port *port;
1333 int baud = 9600;
1334 int bits = 8;
1335 int parity = 'n';
1336 int flow = 'n';
1337 1335
1338 printk("Console: ttyS%d (SU)\n", 1336 printk("Console: ttyS%d (SU)\n",
1339 (sunsu_reg.minor - 64) + co->index); 1337 (sunsu_reg.minor - 64) + co->index);
@@ -1352,10 +1350,15 @@ static int __init sunsu_console_setup(struct console *co, char *options)
1352 */ 1350 */
1353 spin_lock_init(&port->lock); 1351 spin_lock_init(&port->lock);
1354 1352
1355 if (options) 1353 /* Get firmware console settings. */
1356 uart_parse_options(options, &baud, &parity, &bits, &flow); 1354 sunserial_console_termios(co, to_of_device(port->dev)->node);
1357 1355
1358 return uart_set_options(port, co, baud, parity, bits, flow); 1356 memset(&termios, 0, sizeof(struct ktermios));
1357 termios.c_cflag = co->cflag;
1358 port->mctrl |= TIOCM_DTR;
1359 port->ops->set_termios(port, &termios, &dummy);
1360
1361 return 0;
1359} 1362}
1360 1363
1361static struct console sunsu_console = { 1364static struct console sunsu_console = {
@@ -1409,6 +1412,7 @@ static int __devinit su_probe(struct of_device *op, const struct of_device_id *m
1409 struct uart_sunsu_port *up; 1412 struct uart_sunsu_port *up;
1410 struct resource *rp; 1413 struct resource *rp;
1411 enum su_type type; 1414 enum su_type type;
1415 bool ignore_line;
1412 int err; 1416 int err;
1413 1417
1414 type = su_get_type(dp); 1418 type = su_get_type(dp);
@@ -1467,8 +1471,14 @@ static int __devinit su_probe(struct of_device *op, const struct of_device_id *m
1467 1471
1468 up->port.ops = &sunsu_pops; 1472 up->port.ops = &sunsu_pops;
1469 1473
1474 ignore_line = false;
1475 if (!strcmp(dp->name, "rsc-console") ||
1476 !strcmp(dp->name, "lom-console"))
1477 ignore_line = true;
1478
1470 sunserial_console_match(SUNSU_CONSOLE(), dp, 1479 sunserial_console_match(SUNSU_CONSOLE(), dp,
1471 &sunsu_reg, up->port.line); 1480 &sunsu_reg, up->port.line,
1481 ignore_line);
1472 err = uart_add_one_port(&sunsu_reg, &up->port); 1482 err = uart_add_one_port(&sunsu_reg, &up->port);
1473 if (err) 1483 if (err)
1474 goto out_unmap; 1484 goto out_unmap;
@@ -1517,6 +1527,10 @@ static const struct of_device_id su_match[] = {
1517 .name = "serial", 1527 .name = "serial",
1518 .compatible = "su", 1528 .compatible = "su",
1519 }, 1529 },
1530 {
1531 .type = "serial",
1532 .compatible = "su",
1533 },
1520 {}, 1534 {},
1521}; 1535};
1522MODULE_DEVICE_TABLE(of, su_match); 1536MODULE_DEVICE_TABLE(of, su_match);
@@ -1548,6 +1562,12 @@ static int __init sunsu_init(void)
1548 num_uart++; 1562 num_uart++;
1549 } 1563 }
1550 } 1564 }
1565 for_each_node_by_type(dp, "serial") {
1566 if (of_device_is_compatible(dp, "su")) {
1567 if (su_get_type(dp) == SU_PORT_PORT)
1568 num_uart++;
1569 }
1570 }
1551 1571
1552 if (num_uart) { 1572 if (num_uart) {
1553 err = sunserial_register_minors(&sunsu_reg, num_uart); 1573 err = sunserial_register_minors(&sunsu_reg, num_uart);
diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
index ef693ae22e7f..2c7a66af4f52 100644
--- a/drivers/serial/sunzilog.c
+++ b/drivers/serial/sunzilog.c
@@ -1180,7 +1180,7 @@ static int __init sunzilog_console_setup(struct console *con, char *options)
1180 (sunzilog_reg.minor - 64) + con->index, con->index); 1180 (sunzilog_reg.minor - 64) + con->index, con->index);
1181 1181
1182 /* Get firmware console settings. */ 1182 /* Get firmware console settings. */
1183 sunserial_console_termios(con); 1183 sunserial_console_termios(con, to_of_device(up->port.dev)->node);
1184 1184
1185 /* Firmware console speed is limited to 150-->38400 baud so 1185 /* Firmware console speed is limited to 150-->38400 baud so
1186 * this hackish cflag thing is OK. 1186 * this hackish cflag thing is OK.
@@ -1416,7 +1416,8 @@ static int __devinit zs_probe(struct of_device *op, const struct of_device_id *m
1416 1416
1417 if (!keyboard_mouse) { 1417 if (!keyboard_mouse) {
1418 if (sunserial_console_match(SUNZILOG_CONSOLE(), op->node, 1418 if (sunserial_console_match(SUNZILOG_CONSOLE(), op->node,
1419 &sunzilog_reg, up[0].port.line)) 1419 &sunzilog_reg, up[0].port.line,
1420 false))
1420 up->flags |= SUNZILOG_FLAG_IS_CONS; 1421 up->flags |= SUNZILOG_FLAG_IS_CONS;
1421 err = uart_add_one_port(&sunzilog_reg, &up[0].port); 1422 err = uart_add_one_port(&sunzilog_reg, &up[0].port);
1422 if (err) { 1423 if (err) {
@@ -1425,7 +1426,8 @@ static int __devinit zs_probe(struct of_device *op, const struct of_device_id *m
1425 return err; 1426 return err;
1426 } 1427 }
1427 if (sunserial_console_match(SUNZILOG_CONSOLE(), op->node, 1428 if (sunserial_console_match(SUNZILOG_CONSOLE(), op->node,
1428 &sunzilog_reg, up[1].port.line)) 1429 &sunzilog_reg, up[1].port.line,
1430 false))
1429 up->flags |= SUNZILOG_FLAG_IS_CONS; 1431 up->flags |= SUNZILOG_FLAG_IS_CONS;
1430 err = uart_add_one_port(&sunzilog_reg, &up[1].port); 1432 err = uart_add_one_port(&sunzilog_reg, &up[1].port);
1431 if (err) { 1433 if (err) {
diff --git a/drivers/spi/spi_stmp.c b/drivers/spi/spi_stmp.c
index d871dc23909c..2552bb364005 100644
--- a/drivers/spi/spi_stmp.c
+++ b/drivers/spi/spi_stmp.c
@@ -242,7 +242,7 @@ static int stmp_spi_txrx_dma(struct stmp_spi *ss, int cs,
242 wait_for_completion(&ss->done); 242 wait_for_completion(&ss->done);
243 243
244 if (!busy_wait(readl(ss->regs + HW_SSP_CTRL0) & BM_SSP_CTRL0_RUN)) 244 if (!busy_wait(readl(ss->regs + HW_SSP_CTRL0) & BM_SSP_CTRL0_RUN))
245 status = ETIMEDOUT; 245 status = -ETIMEDOUT;
246 246
247 if (!dma_buf) 247 if (!dma_buf)
248 dma_unmap_single(ss->master_dev, spi_buf_dma, len, dir); 248 dma_unmap_single(ss->master_dev, spi_buf_dma, len, dir);
diff --git a/drivers/spi/spi_txx9.c b/drivers/spi/spi_txx9.c
index 96057de133ad..19f75627c3de 100644
--- a/drivers/spi/spi_txx9.c
+++ b/drivers/spi/spi_txx9.c
@@ -29,6 +29,8 @@
29 29
30 30
31#define SPI_FIFO_SIZE 4 31#define SPI_FIFO_SIZE 4
32#define SPI_MAX_DIVIDER 0xff /* Max. value for SPCR1.SER */
33#define SPI_MIN_DIVIDER 1 /* Min. value for SPCR1.SER */
32 34
33#define TXx9_SPMCR 0x00 35#define TXx9_SPMCR 0x00
34#define TXx9_SPCR0 0x04 36#define TXx9_SPCR0 0x04
@@ -193,11 +195,8 @@ static void txx9spi_work_one(struct txx9spi *c, struct spi_message *m)
193 195
194 if (prev_speed_hz != speed_hz 196 if (prev_speed_hz != speed_hz
195 || prev_bits_per_word != bits_per_word) { 197 || prev_bits_per_word != bits_per_word) {
196 u32 n = (c->baseclk + speed_hz - 1) / speed_hz; 198 int n = DIV_ROUND_UP(c->baseclk, speed_hz) - 1;
197 if (n < 1) 199 n = clamp(n, SPI_MIN_DIVIDER, SPI_MAX_DIVIDER);
198 n = 1;
199 else if (n > 0xff)
200 n = 0xff;
201 /* enter config mode */ 200 /* enter config mode */
202 txx9spi_wr(c, mcr | TXx9_SPMCR_CONFIG | TXx9_SPMCR_BCLR, 201 txx9spi_wr(c, mcr | TXx9_SPMCR_CONFIG | TXx9_SPMCR_BCLR,
203 TXx9_SPMCR); 202 TXx9_SPMCR);
@@ -370,8 +369,8 @@ static int __init txx9spi_probe(struct platform_device *dev)
370 goto exit; 369 goto exit;
371 } 370 }
372 c->baseclk = clk_get_rate(c->clk); 371 c->baseclk = clk_get_rate(c->clk);
373 c->min_speed_hz = (c->baseclk + 0xff - 1) / 0xff; 372 c->min_speed_hz = DIV_ROUND_UP(c->baseclk, SPI_MAX_DIVIDER + 1);
374 c->max_speed_hz = c->baseclk; 373 c->max_speed_hz = c->baseclk / (SPI_MIN_DIVIDER + 1);
375 374
376 res = platform_get_resource(dev, IORESOURCE_MEM, 0); 375 res = platform_get_resource(dev, IORESOURCE_MEM, 0);
377 if (!res) 376 if (!res)
diff --git a/drivers/ssb/scan.c b/drivers/ssb/scan.c
index b74212d698c7..e8b89e8ac9bd 100644
--- a/drivers/ssb/scan.c
+++ b/drivers/ssb/scan.c
@@ -162,6 +162,8 @@ static u8 chipid_to_nrcores(u16 chipid)
162static u32 scan_read32(struct ssb_bus *bus, u8 current_coreidx, 162static u32 scan_read32(struct ssb_bus *bus, u8 current_coreidx,
163 u16 offset) 163 u16 offset)
164{ 164{
165 u32 lo, hi;
166
165 switch (bus->bustype) { 167 switch (bus->bustype) {
166 case SSB_BUSTYPE_SSB: 168 case SSB_BUSTYPE_SSB:
167 offset += current_coreidx * SSB_CORE_SIZE; 169 offset += current_coreidx * SSB_CORE_SIZE;
@@ -174,7 +176,9 @@ static u32 scan_read32(struct ssb_bus *bus, u8 current_coreidx,
174 offset -= 0x800; 176 offset -= 0x800;
175 } else 177 } else
176 ssb_pcmcia_switch_segment(bus, 0); 178 ssb_pcmcia_switch_segment(bus, 0);
177 break; 179 lo = readw(bus->mmio + offset);
180 hi = readw(bus->mmio + offset + 2);
181 return lo | (hi << 16);
178 case SSB_BUSTYPE_SDIO: 182 case SSB_BUSTYPE_SDIO:
179 offset += current_coreidx * SSB_CORE_SIZE; 183 offset += current_coreidx * SSB_CORE_SIZE;
180 return ssb_sdio_scan_read32(bus, offset); 184 return ssb_sdio_scan_read32(bus, offset);
diff --git a/drivers/staging/go7007/s2250-board.c b/drivers/staging/go7007/s2250-board.c
index 8c85a9c3665a..f4a6541c3e60 100644
--- a/drivers/staging/go7007/s2250-board.c
+++ b/drivers/staging/go7007/s2250-board.c
@@ -261,7 +261,7 @@ static int read_reg_fp(struct i2c_client *client, u16 addr, u16 *val)
261 261
262 memset(buf, 0xcd, 6); 262 memset(buf, 0xcd, 6);
263 usb = go->hpi_context; 263 usb = go->hpi_context;
264 if (down_interruptible(&usb->i2c_lock) != 0) { 264 if (mutex_lock_interruptible(&usb->i2c_lock) != 0) {
265 printk(KERN_INFO "i2c lock failed\n"); 265 printk(KERN_INFO "i2c lock failed\n");
266 kfree(buf); 266 kfree(buf);
267 return -EINTR; 267 return -EINTR;
@@ -270,7 +270,7 @@ static int read_reg_fp(struct i2c_client *client, u16 addr, u16 *val)
270 kfree(buf); 270 kfree(buf);
271 return -EFAULT; 271 return -EFAULT;
272 } 272 }
273 up(&usb->i2c_lock); 273 mutex_unlock(&usb->i2c_lock);
274 274
275 *val = (buf[0] << 8) | buf[1]; 275 *val = (buf[0] << 8) | buf[1];
276 kfree(buf); 276 kfree(buf);
diff --git a/drivers/staging/go7007/s2250-loader.h b/drivers/staging/go7007/s2250-loader.h
new file mode 100644
index 000000000000..b7c301af16cc
--- /dev/null
+++ b/drivers/staging/go7007/s2250-loader.h
@@ -0,0 +1,24 @@
1/*
2 * Copyright (C) 2005-2006 Micronas USA Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License (Version 2) as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software Foundation,
15 * Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16 */
17
18#ifndef _S2250_LOADER_H_
19#define _S2250_LOADER_H_
20
21extern int s2250loader_init(void);
22extern void s2250loader_cleanup(void);
23
24#endif
diff --git a/drivers/staging/hv/BlkVsc.c b/drivers/staging/hv/BlkVsc.c
index 51aa861292fc..a48ee3a12646 100644
--- a/drivers/staging/hv/BlkVsc.c
+++ b/drivers/staging/hv/BlkVsc.c
@@ -16,6 +16,7 @@
16 * Place - Suite 330, Boston, MA 02111-1307 USA. 16 * Place - Suite 330, Boston, MA 02111-1307 USA.
17 * 17 *
18 * Authors: 18 * Authors:
19 * Haiyang Zhang <haiyangz@microsoft.com>
19 * Hank Janssen <hjanssen@microsoft.com> 20 * Hank Janssen <hjanssen@microsoft.com>
20 * 21 *
21 */ 22 */
diff --git a/drivers/staging/hv/Channel.c b/drivers/staging/hv/Channel.c
index d649ee169d95..746370e82115 100644
--- a/drivers/staging/hv/Channel.c
+++ b/drivers/staging/hv/Channel.c
@@ -611,7 +611,7 @@ void VmbusChannelClose(struct vmbus_channel *Channel)
611 611
612 /* Stop callback and cancel the timer asap */ 612 /* Stop callback and cancel the timer asap */
613 Channel->OnChannelCallback = NULL; 613 Channel->OnChannelCallback = NULL;
614 del_timer(&Channel->poll_timer); 614 del_timer_sync(&Channel->poll_timer);
615 615
616 /* Send a closing message */ 616 /* Send a closing message */
617 info = kmalloc(sizeof(*info) + 617 info = kmalloc(sizeof(*info) +
@@ -978,14 +978,10 @@ void VmbusChannelOnChannelEvent(struct vmbus_channel *Channel)
978{ 978{
979 DumpVmbusChannel(Channel); 979 DumpVmbusChannel(Channel);
980 ASSERT(Channel->OnChannelCallback); 980 ASSERT(Channel->OnChannelCallback);
981#ifdef ENABLE_POLLING 981
982 del_timer(&Channel->poll_timer);
983 Channel->OnChannelCallback(Channel->ChannelCallbackContext);
984 channel->poll_timer.expires(jiffies + usecs_to_jiffies(100);
985 add_timer(&channel->poll_timer);
986#else
987 Channel->OnChannelCallback(Channel->ChannelCallbackContext); 982 Channel->OnChannelCallback(Channel->ChannelCallbackContext);
988#endif 983
984 mod_timer(&Channel->poll_timer, jiffies + usecs_to_jiffies(100));
989} 985}
990 986
991/** 987/**
@@ -997,10 +993,6 @@ void VmbusChannelOnTimer(unsigned long data)
997 993
998 if (channel->OnChannelCallback) { 994 if (channel->OnChannelCallback) {
999 channel->OnChannelCallback(channel->ChannelCallbackContext); 995 channel->OnChannelCallback(channel->ChannelCallbackContext);
1000#ifdef ENABLE_POLLING
1001 channel->poll_timer.expires(jiffies + usecs_to_jiffies(100);
1002 add_timer(&channel->poll_timer);
1003#endif
1004 } 996 }
1005} 997}
1006 998
diff --git a/drivers/staging/hv/ChannelMgmt.c b/drivers/staging/hv/ChannelMgmt.c
index 3db62caedcff..ef38467ed4e2 100644
--- a/drivers/staging/hv/ChannelMgmt.c
+++ b/drivers/staging/hv/ChannelMgmt.c
@@ -119,7 +119,7 @@ static inline void ReleaseVmbusChannel(void *context)
119 */ 119 */
120void FreeVmbusChannel(struct vmbus_channel *Channel) 120void FreeVmbusChannel(struct vmbus_channel *Channel)
121{ 121{
122 del_timer(&Channel->poll_timer); 122 del_timer_sync(&Channel->poll_timer);
123 123
124 /* 124 /*
125 * We have to release the channel's workqueue/thread in the vmbus's 125 * We have to release the channel's workqueue/thread in the vmbus's
diff --git a/drivers/staging/hv/NetVsc.c b/drivers/staging/hv/NetVsc.c
index d384c0ddf069..1c717f9a554e 100644
--- a/drivers/staging/hv/NetVsc.c
+++ b/drivers/staging/hv/NetVsc.c
@@ -15,6 +15,7 @@
15 * Place - Suite 330, Boston, MA 02111-1307 USA. 15 * Place - Suite 330, Boston, MA 02111-1307 USA.
16 * 16 *
17 * Authors: 17 * Authors:
18 * Haiyang Zhang <haiyangz@microsoft.com>
18 * Hank Janssen <hjanssen@microsoft.com> 19 * Hank Janssen <hjanssen@microsoft.com>
19 */ 20 */
20#include <linux/kernel.h> 21#include <linux/kernel.h>
diff --git a/drivers/staging/hv/NetVsc.h b/drivers/staging/hv/NetVsc.h
index 3e7112f7c755..6e0e03494126 100644
--- a/drivers/staging/hv/NetVsc.h
+++ b/drivers/staging/hv/NetVsc.h
@@ -16,6 +16,7 @@
16 * Place - Suite 330, Boston, MA 02111-1307 USA. 16 * Place - Suite 330, Boston, MA 02111-1307 USA.
17 * 17 *
18 * Authors: 18 * Authors:
19 * Haiyang Zhang <haiyangz@microsoft.com>
19 * Hank Janssen <hjanssen@microsoft.com> 20 * Hank Janssen <hjanssen@microsoft.com>
20 * 21 *
21 */ 22 */
diff --git a/drivers/staging/hv/StorVsc.c b/drivers/staging/hv/StorVsc.c
index 14015c927940..2f7c425896f7 100644
--- a/drivers/staging/hv/StorVsc.c
+++ b/drivers/staging/hv/StorVsc.c
@@ -196,7 +196,7 @@ static int StorVscChannelInit(struct hv_device *Device)
196 * Now, initiate the vsc/vsp initialization protocol on the open 196 * Now, initiate the vsc/vsp initialization protocol on the open
197 * channel 197 * channel
198 */ 198 */
199 memset(request, sizeof(struct storvsc_request_extension), 0); 199 memset(request, 0, sizeof(struct storvsc_request_extension));
200 request->WaitEvent = osd_WaitEventCreate(); 200 request->WaitEvent = osd_WaitEventCreate();
201 201
202 vstorPacket->Operation = VStorOperationBeginInitialization; 202 vstorPacket->Operation = VStorOperationBeginInitialization;
@@ -233,7 +233,7 @@ static int StorVscChannelInit(struct hv_device *Device)
233 DPRINT_INFO(STORVSC, "QUERY_PROTOCOL_VERSION_OPERATION..."); 233 DPRINT_INFO(STORVSC, "QUERY_PROTOCOL_VERSION_OPERATION...");
234 234
235 /* reuse the packet for version range supported */ 235 /* reuse the packet for version range supported */
236 memset(vstorPacket, sizeof(struct vstor_packet), 0); 236 memset(vstorPacket, 0, sizeof(struct vstor_packet));
237 vstorPacket->Operation = VStorOperationQueryProtocolVersion; 237 vstorPacket->Operation = VStorOperationQueryProtocolVersion;
238 vstorPacket->Flags = REQUEST_COMPLETION_FLAG; 238 vstorPacket->Flags = REQUEST_COMPLETION_FLAG;
239 239
@@ -266,7 +266,7 @@ static int StorVscChannelInit(struct hv_device *Device)
266 /* Query channel properties */ 266 /* Query channel properties */
267 DPRINT_INFO(STORVSC, "QUERY_PROPERTIES_OPERATION..."); 267 DPRINT_INFO(STORVSC, "QUERY_PROPERTIES_OPERATION...");
268 268
269 memset(vstorPacket, sizeof(struct vstor_packet), 0); 269 memset(vstorPacket, 0, sizeof(struct vstor_packet));
270 vstorPacket->Operation = VStorOperationQueryProperties; 270 vstorPacket->Operation = VStorOperationQueryProperties;
271 vstorPacket->Flags = REQUEST_COMPLETION_FLAG; 271 vstorPacket->Flags = REQUEST_COMPLETION_FLAG;
272 vstorPacket->StorageChannelProperties.PortNumber = 272 vstorPacket->StorageChannelProperties.PortNumber =
@@ -305,7 +305,7 @@ static int StorVscChannelInit(struct hv_device *Device)
305 305
306 DPRINT_INFO(STORVSC, "END_INITIALIZATION_OPERATION..."); 306 DPRINT_INFO(STORVSC, "END_INITIALIZATION_OPERATION...");
307 307
308 memset(vstorPacket, sizeof(struct vstor_packet), 0); 308 memset(vstorPacket, 0, sizeof(struct vstor_packet));
309 vstorPacket->Operation = VStorOperationEndInitialization; 309 vstorPacket->Operation = VStorOperationEndInitialization;
310 vstorPacket->Flags = REQUEST_COMPLETION_FLAG; 310 vstorPacket->Flags = REQUEST_COMPLETION_FLAG;
311 311
@@ -508,7 +508,7 @@ static int StorVscConnectToVsp(struct hv_device *Device)
508 int ret; 508 int ret;
509 509
510 storDriver = (struct storvsc_driver_object *)Device->Driver; 510 storDriver = (struct storvsc_driver_object *)Device->Driver;
511 memset(&props, sizeof(struct vmstorage_channel_properties), 0); 511 memset(&props, 0, sizeof(struct vmstorage_channel_properties));
512 512
513 /* Open the channel */ 513 /* Open the channel */
514 ret = Device->Driver->VmbusChannelInterface.Open(Device, 514 ret = Device->Driver->VmbusChannelInterface.Open(Device,
diff --git a/drivers/staging/hv/blkvsc_drv.c b/drivers/staging/hv/blkvsc_drv.c
index 99c49261a8b4..62b282844a53 100644
--- a/drivers/staging/hv/blkvsc_drv.c
+++ b/drivers/staging/hv/blkvsc_drv.c
@@ -15,6 +15,7 @@
15 * Place - Suite 330, Boston, MA 02111-1307 USA. 15 * Place - Suite 330, Boston, MA 02111-1307 USA.
16 * 16 *
17 * Authors: 17 * Authors:
18 * Haiyang Zhang <haiyangz@microsoft.com>
18 * Hank Janssen <hjanssen@microsoft.com> 19 * Hank Janssen <hjanssen@microsoft.com>
19 */ 20 */
20#include <linux/init.h> 21#include <linux/init.h>
diff --git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 3192d50f7251..0d7459e2d036 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -15,6 +15,7 @@
15 * Place - Suite 330, Boston, MA 02111-1307 USA. 15 * Place - Suite 330, Boston, MA 02111-1307 USA.
16 * 16 *
17 * Authors: 17 * Authors:
18 * Haiyang Zhang <haiyangz@microsoft.com>
18 * Hank Janssen <hjanssen@microsoft.com> 19 * Hank Janssen <hjanssen@microsoft.com>
19 */ 20 */
20#include <linux/init.h> 21#include <linux/init.h>
diff --git a/drivers/staging/octeon/ethernet-mdio.c b/drivers/staging/octeon/ethernet-mdio.c
index 42230e62a222..31a58e508924 100644
--- a/drivers/staging/octeon/ethernet-mdio.c
+++ b/drivers/staging/octeon/ethernet-mdio.c
@@ -170,7 +170,7 @@ static u32 cvm_oct_get_link(struct net_device *dev)
170 return ret; 170 return ret;
171} 171}
172 172
173struct const ethtool_ops cvm_oct_ethtool_ops = { 173const struct ethtool_ops cvm_oct_ethtool_ops = {
174 .get_drvinfo = cvm_oct_get_drvinfo, 174 .get_drvinfo = cvm_oct_get_drvinfo,
175 .get_settings = cvm_oct_get_settings, 175 .get_settings = cvm_oct_get_settings,
176 .set_settings = cvm_oct_set_settings, 176 .set_settings = cvm_oct_set_settings,
diff --git a/drivers/staging/octeon/ethernet-spi.c b/drivers/staging/octeon/ethernet-spi.c
index 66190b0cb68f..00dc0f4bad19 100644
--- a/drivers/staging/octeon/ethernet-spi.c
+++ b/drivers/staging/octeon/ethernet-spi.c
@@ -317,6 +317,6 @@ void cvm_oct_spi_uninit(struct net_device *dev)
317 cvmx_write_csr(CVMX_SPXX_INT_MSK(interface), 0); 317 cvmx_write_csr(CVMX_SPXX_INT_MSK(interface), 0);
318 cvmx_write_csr(CVMX_STXX_INT_MSK(interface), 0); 318 cvmx_write_csr(CVMX_STXX_INT_MSK(interface), 0);
319 } 319 }
320 free_irq(8 + 46, &number_spi_ports); 320 free_irq(OCTEON_IRQ_RML, &number_spi_ports);
321 } 321 }
322} 322}
diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c
index b8479517dce2..492c5029992d 100644
--- a/drivers/staging/octeon/ethernet.c
+++ b/drivers/staging/octeon/ethernet.c
@@ -111,6 +111,16 @@ MODULE_PARM_DESC(disable_core_queueing, "\n"
111 "\tallows packets to be sent without lock contention in the packet\n" 111 "\tallows packets to be sent without lock contention in the packet\n"
112 "\tscheduler resulting in some cases in improved throughput.\n"); 112 "\tscheduler resulting in some cases in improved throughput.\n");
113 113
114
115/*
116 * The offset from mac_addr_base that should be used for the next port
117 * that is configured. By convention, if any mgmt ports exist on the
118 * chip, they get the first mac addresses, The ports controlled by
119 * this driver are numbered sequencially following any mgmt addresses
120 * that may exist.
121 */
122static unsigned int cvm_oct_mac_addr_offset;
123
114/** 124/**
115 * Periodic timer to check auto negotiation 125 * Periodic timer to check auto negotiation
116 */ 126 */
@@ -474,16 +484,30 @@ static int cvm_oct_common_set_mac_address(struct net_device *dev, void *addr)
474 */ 484 */
475int cvm_oct_common_init(struct net_device *dev) 485int cvm_oct_common_init(struct net_device *dev)
476{ 486{
477 static int count;
478 char mac[8] = { 0x00, 0x00,
479 octeon_bootinfo->mac_addr_base[0],
480 octeon_bootinfo->mac_addr_base[1],
481 octeon_bootinfo->mac_addr_base[2],
482 octeon_bootinfo->mac_addr_base[3],
483 octeon_bootinfo->mac_addr_base[4],
484 octeon_bootinfo->mac_addr_base[5] + count
485 };
486 struct octeon_ethernet *priv = netdev_priv(dev); 487 struct octeon_ethernet *priv = netdev_priv(dev);
488 struct sockaddr sa;
489 u64 mac = ((u64)(octeon_bootinfo->mac_addr_base[0] & 0xff) << 40) |
490 ((u64)(octeon_bootinfo->mac_addr_base[1] & 0xff) << 32) |
491 ((u64)(octeon_bootinfo->mac_addr_base[2] & 0xff) << 24) |
492 ((u64)(octeon_bootinfo->mac_addr_base[3] & 0xff) << 16) |
493 ((u64)(octeon_bootinfo->mac_addr_base[4] & 0xff) << 8) |
494 (u64)(octeon_bootinfo->mac_addr_base[5] & 0xff);
495
496 mac += cvm_oct_mac_addr_offset;
497 sa.sa_data[0] = (mac >> 40) & 0xff;
498 sa.sa_data[1] = (mac >> 32) & 0xff;
499 sa.sa_data[2] = (mac >> 24) & 0xff;
500 sa.sa_data[3] = (mac >> 16) & 0xff;
501 sa.sa_data[4] = (mac >> 8) & 0xff;
502 sa.sa_data[5] = mac & 0xff;
503
504 if (cvm_oct_mac_addr_offset >= octeon_bootinfo->mac_addr_count)
505 printk(KERN_DEBUG "%s: Using MAC outside of the assigned range:"
506 " %02x:%02x:%02x:%02x:%02x:%02x\n", dev->name,
507 sa.sa_data[0] & 0xff, sa.sa_data[1] & 0xff,
508 sa.sa_data[2] & 0xff, sa.sa_data[3] & 0xff,
509 sa.sa_data[4] & 0xff, sa.sa_data[5] & 0xff);
510 cvm_oct_mac_addr_offset++;
487 511
488 /* 512 /*
489 * Force the interface to use the POW send if always_use_pow 513 * Force the interface to use the POW send if always_use_pow
@@ -496,14 +520,12 @@ int cvm_oct_common_init(struct net_device *dev)
496 if (priv->queue != -1 && USE_HW_TCPUDP_CHECKSUM) 520 if (priv->queue != -1 && USE_HW_TCPUDP_CHECKSUM)
497 dev->features |= NETIF_F_IP_CSUM; 521 dev->features |= NETIF_F_IP_CSUM;
498 522
499 count++;
500
501 /* We do our own locking, Linux doesn't need to */ 523 /* We do our own locking, Linux doesn't need to */
502 dev->features |= NETIF_F_LLTX; 524 dev->features |= NETIF_F_LLTX;
503 SET_ETHTOOL_OPS(dev, &cvm_oct_ethtool_ops); 525 SET_ETHTOOL_OPS(dev, &cvm_oct_ethtool_ops);
504 526
505 cvm_oct_mdio_setup_device(dev); 527 cvm_oct_mdio_setup_device(dev);
506 dev->netdev_ops->ndo_set_mac_address(dev, mac); 528 dev->netdev_ops->ndo_set_mac_address(dev, &sa);
507 dev->netdev_ops->ndo_change_mtu(dev, dev->mtu); 529 dev->netdev_ops->ndo_change_mtu(dev, dev->mtu);
508 530
509 /* 531 /*
@@ -620,6 +642,13 @@ static int __init cvm_oct_init_module(void)
620 642
621 pr_notice("cavium-ethernet %s\n", OCTEON_ETHERNET_VERSION); 643 pr_notice("cavium-ethernet %s\n", OCTEON_ETHERNET_VERSION);
622 644
645 if (OCTEON_IS_MODEL(OCTEON_CN52XX))
646 cvm_oct_mac_addr_offset = 2; /* First two are the mgmt ports. */
647 else if (OCTEON_IS_MODEL(OCTEON_CN56XX))
648 cvm_oct_mac_addr_offset = 1; /* First one is the mgmt port. */
649 else
650 cvm_oct_mac_addr_offset = 0;
651
623 cvm_oct_proc_initialize(); 652 cvm_oct_proc_initialize();
624 cvm_oct_rx_initialize(); 653 cvm_oct_rx_initialize();
625 cvm_oct_configure_common_hw(); 654 cvm_oct_configure_common_hw();
diff --git a/drivers/staging/rtl8187se/TODO b/drivers/staging/rtl8187se/TODO
index c09a9160739d..a762e79873e9 100644
--- a/drivers/staging/rtl8187se/TODO
+++ b/drivers/staging/rtl8187se/TODO
@@ -11,5 +11,4 @@ TODO:
11- sparse fixes 11- sparse fixes
12- integrate with drivers/net/wireless/rtl818x 12- integrate with drivers/net/wireless/rtl818x
13 13
14Please send any patches to Greg Kroah-Hartman <greg@kroah.com> and 14Please send any patches to Greg Kroah-Hartman <greg@kroah.com>.
15Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>.
diff --git a/drivers/staging/rtl8192su/TODO b/drivers/staging/rtl8192su/TODO
index b13be9edb278..f11eec700030 100644
--- a/drivers/staging/rtl8192su/TODO
+++ b/drivers/staging/rtl8192su/TODO
@@ -14,5 +14,4 @@ TODO:
14- sparse fixes 14- sparse fixes
15- integrate with drivers/net/wireless/rtl818x 15- integrate with drivers/net/wireless/rtl818x
16 16
17Please send any patches to Greg Kroah-Hartman <greg@kroah.com> and 17Please send any patches to Greg Kroah-Hartman <greg@kroah.com>.
18Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>.
diff --git a/drivers/staging/vt6655/TODO b/drivers/staging/vt6655/TODO
index 8462cd17eb61..cb04aaafc46f 100644
--- a/drivers/staging/vt6655/TODO
+++ b/drivers/staging/vt6655/TODO
@@ -16,6 +16,5 @@ TODO:
16- sparse fixes 16- sparse fixes
17- integrate with drivers/net/wireless 17- integrate with drivers/net/wireless
18 18
19Please send any patches to Greg Kroah-Hartman <greg@kroah.com>, 19Please send any patches to Greg Kroah-Hartman <greg@kroah.com>
20Forest Bond <forest@alittletooquiet.net> and Bartlomiej Zolnierkiewicz 20and Forest Bond <forest@alittletooquiet.net>.
21<bzolnier@gmail.com>.
diff --git a/drivers/staging/vt6656/TODO b/drivers/staging/vt6656/TODO
index 17cf50c6735e..a318995ba07f 100644
--- a/drivers/staging/vt6656/TODO
+++ b/drivers/staging/vt6656/TODO
@@ -15,6 +15,5 @@ TODO:
15- sparse fixes 15- sparse fixes
16- integrate with drivers/net/wireless 16- integrate with drivers/net/wireless
17 17
18Please send any patches to Greg Kroah-Hartman <greg@kroah.com>, 18Please send any patches to Greg Kroah-Hartman <greg@kroah.com>
19Forest Bond <forest@alittletooquiet.net> and Bartlomiej Zolnierkiewicz 19and Forest Bond <forest@alittletooquiet.net>.
20<bzolnier@gmail.com>.
diff --git a/drivers/uio/uio_pdrv_genirq.c b/drivers/uio/uio_pdrv_genirq.c
index 02347c57357d..aa53db9f2e88 100644
--- a/drivers/uio/uio_pdrv_genirq.c
+++ b/drivers/uio/uio_pdrv_genirq.c
@@ -178,6 +178,7 @@ static int uio_pdrv_genirq_probe(struct platform_device *pdev)
178 return 0; 178 return 0;
179 bad1: 179 bad1:
180 kfree(priv); 180 kfree(priv);
181 pm_runtime_disable(&pdev->dev);
181 bad0: 182 bad0:
182 return ret; 183 return ret;
183} 184}
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index e3861b21e776..e4eca7810bcf 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -609,9 +609,9 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp)
609 609
610 acm->throttle = 0; 610 acm->throttle = 0;
611 611
612 tasklet_schedule(&acm->urb_task);
613 set_bit(ASYNCB_INITIALIZED, &acm->port.flags); 612 set_bit(ASYNCB_INITIALIZED, &acm->port.flags);
614 rv = tty_port_block_til_ready(&acm->port, tty, filp); 613 rv = tty_port_block_til_ready(&acm->port, tty, filp);
614 tasklet_schedule(&acm->urb_task);
615done: 615done:
616 mutex_unlock(&acm->mutex); 616 mutex_unlock(&acm->mutex);
617err_out: 617err_out:
@@ -686,15 +686,21 @@ static void acm_tty_close(struct tty_struct *tty, struct file *filp)
686 686
687 /* Perform the closing process and see if we need to do the hardware 687 /* Perform the closing process and see if we need to do the hardware
688 shutdown */ 688 shutdown */
689 if (!acm || tty_port_close_start(&acm->port, tty, filp) == 0) 689 if (!acm)
690 return;
691 if (tty_port_close_start(&acm->port, tty, filp) == 0) {
692 mutex_lock(&open_mutex);
693 if (!acm->dev) {
694 tty_port_tty_set(&acm->port, NULL);
695 acm_tty_unregister(acm);
696 tty->driver_data = NULL;
697 }
698 mutex_unlock(&open_mutex);
690 return; 699 return;
700 }
691 acm_port_down(acm, 0); 701 acm_port_down(acm, 0);
692 tty_port_close_end(&acm->port, tty); 702 tty_port_close_end(&acm->port, tty);
693 mutex_lock(&open_mutex);
694 tty_port_tty_set(&acm->port, NULL); 703 tty_port_tty_set(&acm->port, NULL);
695 if (!acm->dev)
696 acm_tty_unregister(acm);
697 mutex_unlock(&open_mutex);
698} 704}
699 705
700static int acm_tty_write(struct tty_struct *tty, 706static int acm_tty_write(struct tty_struct *tty,
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 5ce839137ad6..0f857e645058 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -444,7 +444,7 @@ resubmit:
444static inline int 444static inline int
445hub_clear_tt_buffer (struct usb_device *hdev, u16 devinfo, u16 tt) 445hub_clear_tt_buffer (struct usb_device *hdev, u16 devinfo, u16 tt)
446{ 446{
447 return usb_control_msg(hdev, usb_rcvctrlpipe(hdev, 0), 447 return usb_control_msg(hdev, usb_sndctrlpipe(hdev, 0),
448 HUB_CLEAR_TT_BUFFER, USB_RT_PORT, devinfo, 448 HUB_CLEAR_TT_BUFFER, USB_RT_PORT, devinfo,
449 tt, NULL, 0, 1000); 449 tt, NULL, 0, 1000);
450} 450}
diff --git a/drivers/usb/gadget/amd5536udc.c b/drivers/usb/gadget/amd5536udc.c
index d5b65962dd36..731150d4b1d9 100644
--- a/drivers/usb/gadget/amd5536udc.c
+++ b/drivers/usb/gadget/amd5536udc.c
@@ -1213,7 +1213,12 @@ udc_queue(struct usb_ep *usbep, struct usb_request *usbreq, gfp_t gfp)
1213 tmp &= AMD_UNMASK_BIT(ep->num); 1213 tmp &= AMD_UNMASK_BIT(ep->num);
1214 writel(tmp, &dev->regs->ep_irqmsk); 1214 writel(tmp, &dev->regs->ep_irqmsk);
1215 } 1215 }
1216 } 1216 } else if (ep->in) {
1217 /* enable ep irq */
1218 tmp = readl(&dev->regs->ep_irqmsk);
1219 tmp &= AMD_UNMASK_BIT(ep->num);
1220 writel(tmp, &dev->regs->ep_irqmsk);
1221 }
1217 1222
1218 } else if (ep->dma) { 1223 } else if (ep->dma) {
1219 1224
@@ -2005,18 +2010,17 @@ __acquires(dev->lock)
2005{ 2010{
2006 int tmp; 2011 int tmp;
2007 2012
2008 /* empty queues and init hardware */
2009 udc_basic_init(dev);
2010 for (tmp = 0; tmp < UDC_EP_NUM; tmp++) {
2011 empty_req_queue(&dev->ep[tmp]);
2012 }
2013
2014 if (dev->gadget.speed != USB_SPEED_UNKNOWN) { 2013 if (dev->gadget.speed != USB_SPEED_UNKNOWN) {
2015 spin_unlock(&dev->lock); 2014 spin_unlock(&dev->lock);
2016 driver->disconnect(&dev->gadget); 2015 driver->disconnect(&dev->gadget);
2017 spin_lock(&dev->lock); 2016 spin_lock(&dev->lock);
2018 } 2017 }
2019 /* init */ 2018
2019 /* empty queues and init hardware */
2020 udc_basic_init(dev);
2021 for (tmp = 0; tmp < UDC_EP_NUM; tmp++)
2022 empty_req_queue(&dev->ep[tmp]);
2023
2020 udc_setup_endpoints(dev); 2024 udc_setup_endpoints(dev);
2021} 2025}
2022 2026
@@ -2472,6 +2476,13 @@ static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix)
2472 } 2476 }
2473 } 2477 }
2474 2478
2479 } else if (!use_dma && ep->in) {
2480 /* disable interrupt */
2481 tmp = readl(
2482 &dev->regs->ep_irqmsk);
2483 tmp |= AMD_BIT(ep->num);
2484 writel(tmp,
2485 &dev->regs->ep_irqmsk);
2475 } 2486 }
2476 } 2487 }
2477 /* clear status bits */ 2488 /* clear status bits */
@@ -3279,6 +3290,17 @@ static int udc_pci_probe(
3279 goto finished; 3290 goto finished;
3280 } 3291 }
3281 3292
3293 spin_lock_init(&dev->lock);
3294 /* udc csr registers base */
3295 dev->csr = dev->virt_addr + UDC_CSR_ADDR;
3296 /* dev registers base */
3297 dev->regs = dev->virt_addr + UDC_DEVCFG_ADDR;
3298 /* ep registers base */
3299 dev->ep_regs = dev->virt_addr + UDC_EPREGS_ADDR;
3300 /* fifo's base */
3301 dev->rxfifo = (u32 __iomem *)(dev->virt_addr + UDC_RXFIFO_ADDR);
3302 dev->txfifo = (u32 __iomem *)(dev->virt_addr + UDC_TXFIFO_ADDR);
3303
3282 if (request_irq(pdev->irq, udc_irq, IRQF_SHARED, name, dev) != 0) { 3304 if (request_irq(pdev->irq, udc_irq, IRQF_SHARED, name, dev) != 0) {
3283 dev_dbg(&dev->pdev->dev, "request_irq(%d) fail\n", pdev->irq); 3305 dev_dbg(&dev->pdev->dev, "request_irq(%d) fail\n", pdev->irq);
3284 kfree(dev); 3306 kfree(dev);
@@ -3331,7 +3353,6 @@ static int udc_probe(struct udc *dev)
3331 udc_pollstall_timer.data = 0; 3353 udc_pollstall_timer.data = 0;
3332 3354
3333 /* device struct setup */ 3355 /* device struct setup */
3334 spin_lock_init(&dev->lock);
3335 dev->gadget.ops = &udc_ops; 3356 dev->gadget.ops = &udc_ops;
3336 3357
3337 dev_set_name(&dev->gadget.dev, "gadget"); 3358 dev_set_name(&dev->gadget.dev, "gadget");
@@ -3340,16 +3361,6 @@ static int udc_probe(struct udc *dev)
3340 dev->gadget.name = name; 3361 dev->gadget.name = name;
3341 dev->gadget.is_dualspeed = 1; 3362 dev->gadget.is_dualspeed = 1;
3342 3363
3343 /* udc csr registers base */
3344 dev->csr = dev->virt_addr + UDC_CSR_ADDR;
3345 /* dev registers base */
3346 dev->regs = dev->virt_addr + UDC_DEVCFG_ADDR;
3347 /* ep registers base */
3348 dev->ep_regs = dev->virt_addr + UDC_EPREGS_ADDR;
3349 /* fifo's base */
3350 dev->rxfifo = (u32 __iomem *)(dev->virt_addr + UDC_RXFIFO_ADDR);
3351 dev->txfifo = (u32 __iomem *)(dev->virt_addr + UDC_TXFIFO_ADDR);
3352
3353 /* init registers, interrupts, ... */ 3364 /* init registers, interrupts, ... */
3354 startup_registers(dev); 3365 startup_registers(dev);
3355 3366
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 9835e0713943..f5f5601701c9 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -28,6 +28,7 @@
28#include <linux/errno.h> 28#include <linux/errno.h>
29#include <linux/init.h> 29#include <linux/init.h>
30#include <linux/timer.h> 30#include <linux/timer.h>
31#include <linux/ktime.h>
31#include <linux/list.h> 32#include <linux/list.h>
32#include <linux/interrupt.h> 33#include <linux/interrupt.h>
33#include <linux/usb.h> 34#include <linux/usb.h>
@@ -676,6 +677,7 @@ static int ehci_run (struct usb_hcd *hcd)
676 ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ 677 ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */
677 msleep(5); 678 msleep(5);
678 up_write(&ehci_cf_port_reset_rwsem); 679 up_write(&ehci_cf_port_reset_rwsem);
680 ehci->last_periodic_enable = ktime_get_real();
679 681
680 temp = HC_VERSION(ehci_readl(ehci, &ehci->caps->hc_capbase)); 682 temp = HC_VERSION(ehci_readl(ehci, &ehci->caps->hc_capbase));
681 ehci_info (ehci, 683 ehci_info (ehci,
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index 378861b9d79a..ead5f4f2aa5a 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -111,6 +111,10 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
111 switch (pdev->vendor) { 111 switch (pdev->vendor) {
112 case PCI_VENDOR_ID_INTEL: 112 case PCI_VENDOR_ID_INTEL:
113 ehci->need_io_watchdog = 0; 113 ehci->need_io_watchdog = 0;
114 if (pdev->device == 0x27cc) {
115 ehci->broken_periodic = 1;
116 ehci_info(ehci, "using broken periodic workaround\n");
117 }
114 break; 118 break;
115 case PCI_VENDOR_ID_TDI: 119 case PCI_VENDOR_ID_TDI:
116 if (pdev->device == PCI_DEVICE_ID_TDI_EHCI) { 120 if (pdev->device == PCI_DEVICE_ID_TDI_EHCI) {
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
index 00ad9ce392ed..139a2cc3f641 100644
--- a/drivers/usb/host/ehci-q.c
+++ b/drivers/usb/host/ehci-q.c
@@ -487,8 +487,20 @@ halt:
487 * we must clear the TT buffer (11.17.5). 487 * we must clear the TT buffer (11.17.5).
488 */ 488 */
489 if (unlikely(last_status != -EINPROGRESS && 489 if (unlikely(last_status != -EINPROGRESS &&
490 last_status != -EREMOTEIO)) 490 last_status != -EREMOTEIO)) {
491 ehci_clear_tt_buffer(ehci, qh, urb, token); 491 /* The TT's in some hubs malfunction when they
492 * receive this request following a STALL (they
493 * stop sending isochronous packets). Since a
494 * STALL can't leave the TT buffer in a busy
495 * state (if you believe Figures 11-48 - 11-51
496 * in the USB 2.0 spec), we won't clear the TT
497 * buffer in this case. Strictly speaking this
498 * is a violation of the spec.
499 */
500 if (last_status != -EPIPE)
501 ehci_clear_tt_buffer(ehci, qh, urb,
502 token);
503 }
492 } 504 }
493 505
494 /* if we're removing something not at the queue head, 506 /* if we're removing something not at the queue head,
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
index b25cdea93a1f..a5535b5e3fe2 100644
--- a/drivers/usb/host/ehci-sched.c
+++ b/drivers/usb/host/ehci-sched.c
@@ -475,6 +475,8 @@ static int enable_periodic (struct ehci_hcd *ehci)
475 /* make sure ehci_work scans these */ 475 /* make sure ehci_work scans these */
476 ehci->next_uframe = ehci_readl(ehci, &ehci->regs->frame_index) 476 ehci->next_uframe = ehci_readl(ehci, &ehci->regs->frame_index)
477 % (ehci->periodic_size << 3); 477 % (ehci->periodic_size << 3);
478 if (unlikely(ehci->broken_periodic))
479 ehci->last_periodic_enable = ktime_get_real();
478 return 0; 480 return 0;
479} 481}
480 482
@@ -486,6 +488,16 @@ static int disable_periodic (struct ehci_hcd *ehci)
486 if (--ehci->periodic_sched) 488 if (--ehci->periodic_sched)
487 return 0; 489 return 0;
488 490
491 if (unlikely(ehci->broken_periodic)) {
492 /* delay experimentally determined */
493 ktime_t safe = ktime_add_us(ehci->last_periodic_enable, 1000);
494 ktime_t now = ktime_get_real();
495 s64 delay = ktime_us_delta(safe, now);
496
497 if (unlikely(delay > 0))
498 udelay(delay);
499 }
500
489 /* did setting PSE not take effect yet? 501 /* did setting PSE not take effect yet?
490 * takes effect only at frame boundaries... 502 * takes effect only at frame boundaries...
491 */ 503 */
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
index 064e76821ff5..2d85e21ff282 100644
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
@@ -118,6 +118,7 @@ struct ehci_hcd { /* one per controller */
118 unsigned stamp; 118 unsigned stamp;
119 unsigned random_frame; 119 unsigned random_frame;
120 unsigned long next_statechange; 120 unsigned long next_statechange;
121 ktime_t last_periodic_enable;
121 u32 command; 122 u32 command;
122 123
123 /* SILICON QUIRKS */ 124 /* SILICON QUIRKS */
@@ -127,6 +128,7 @@ struct ehci_hcd { /* one per controller */
127 unsigned big_endian_desc:1; 128 unsigned big_endian_desc:1;
128 unsigned has_amcc_usb23:1; 129 unsigned has_amcc_usb23:1;
129 unsigned need_io_watchdog:1; 130 unsigned need_io_watchdog:1;
131 unsigned broken_periodic:1;
130 132
131 /* required for usb32 quirk */ 133 /* required for usb32 quirk */
132 #define OHCI_CTRL_HCFS (3 << 6) 134 #define OHCI_CTRL_HCFS (3 << 6)
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 78bb7710f36d..24eb74781919 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -87,6 +87,7 @@ static int ohci_restart (struct ohci_hcd *ohci);
87#ifdef CONFIG_PCI 87#ifdef CONFIG_PCI
88static void quirk_amd_pll(int state); 88static void quirk_amd_pll(int state);
89static void amd_iso_dev_put(void); 89static void amd_iso_dev_put(void);
90static void sb800_prefetch(struct ohci_hcd *ohci, int on);
90#else 91#else
91static inline void quirk_amd_pll(int state) 92static inline void quirk_amd_pll(int state)
92{ 93{
@@ -96,6 +97,10 @@ static inline void amd_iso_dev_put(void)
96{ 97{
97 return; 98 return;
98} 99}
100static inline void sb800_prefetch(struct ohci_hcd *ohci, int on)
101{
102 return;
103}
99#endif 104#endif
100 105
101 106
diff --git a/drivers/usb/host/ohci-pci.c b/drivers/usb/host/ohci-pci.c
index d2ba04dd785e..b8a1148f248e 100644
--- a/drivers/usb/host/ohci-pci.c
+++ b/drivers/usb/host/ohci-pci.c
@@ -177,6 +177,13 @@ static int ohci_quirk_amd700(struct usb_hcd *hcd)
177 return 0; 177 return 0;
178 178
179 pci_read_config_byte(amd_smbus_dev, PCI_REVISION_ID, &rev); 179 pci_read_config_byte(amd_smbus_dev, PCI_REVISION_ID, &rev);
180
181 /* SB800 needs pre-fetch fix */
182 if ((rev >= 0x40) && (rev <= 0x4f)) {
183 ohci->flags |= OHCI_QUIRK_AMD_PREFETCH;
184 ohci_dbg(ohci, "enabled AMD prefetch quirk\n");
185 }
186
180 if ((rev > 0x3b) || (rev < 0x30)) { 187 if ((rev > 0x3b) || (rev < 0x30)) {
181 pci_dev_put(amd_smbus_dev); 188 pci_dev_put(amd_smbus_dev);
182 amd_smbus_dev = NULL; 189 amd_smbus_dev = NULL;
@@ -262,6 +269,19 @@ static void amd_iso_dev_put(void)
262 269
263} 270}
264 271
272static void sb800_prefetch(struct ohci_hcd *ohci, int on)
273{
274 struct pci_dev *pdev;
275 u16 misc;
276
277 pdev = to_pci_dev(ohci_to_hcd(ohci)->self.controller);
278 pci_read_config_word(pdev, 0x50, &misc);
279 if (on == 0)
280 pci_write_config_word(pdev, 0x50, misc & 0xfcff);
281 else
282 pci_write_config_word(pdev, 0x50, misc | 0x0300);
283}
284
265/* List of quirks for OHCI */ 285/* List of quirks for OHCI */
266static const struct pci_device_id ohci_pci_quirks[] = { 286static const struct pci_device_id ohci_pci_quirks[] = {
267 { 287 {
diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c
index 16fecb8ecc39..35288bcae0db 100644
--- a/drivers/usb/host/ohci-q.c
+++ b/drivers/usb/host/ohci-q.c
@@ -49,9 +49,12 @@ __acquires(ohci->lock)
49 switch (usb_pipetype (urb->pipe)) { 49 switch (usb_pipetype (urb->pipe)) {
50 case PIPE_ISOCHRONOUS: 50 case PIPE_ISOCHRONOUS:
51 ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs--; 51 ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs--;
52 if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0 52 if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0) {
53 && quirk_amdiso(ohci)) 53 if (quirk_amdiso(ohci))
54 quirk_amd_pll(1); 54 quirk_amd_pll(1);
55 if (quirk_amdprefetch(ohci))
56 sb800_prefetch(ohci, 0);
57 }
55 break; 58 break;
56 case PIPE_INTERRUPT: 59 case PIPE_INTERRUPT:
57 ohci_to_hcd(ohci)->self.bandwidth_int_reqs--; 60 ohci_to_hcd(ohci)->self.bandwidth_int_reqs--;
@@ -680,9 +683,12 @@ static void td_submit_urb (
680 data + urb->iso_frame_desc [cnt].offset, 683 data + urb->iso_frame_desc [cnt].offset,
681 urb->iso_frame_desc [cnt].length, urb, cnt); 684 urb->iso_frame_desc [cnt].length, urb, cnt);
682 } 685 }
683 if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0 686 if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0) {
684 && quirk_amdiso(ohci)) 687 if (quirk_amdiso(ohci))
685 quirk_amd_pll(0); 688 quirk_amd_pll(0);
689 if (quirk_amdprefetch(ohci))
690 sb800_prefetch(ohci, 1);
691 }
686 periodic = ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs++ == 0 692 periodic = ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs++ == 0
687 && ohci_to_hcd(ohci)->self.bandwidth_int_reqs == 0; 693 && ohci_to_hcd(ohci)->self.bandwidth_int_reqs == 0;
688 break; 694 break;
diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h
index 222011f6172c..5bf15fed0d9f 100644
--- a/drivers/usb/host/ohci.h
+++ b/drivers/usb/host/ohci.h
@@ -402,6 +402,7 @@ struct ohci_hcd {
402#define OHCI_QUIRK_FRAME_NO 0x80 /* no big endian frame_no shift */ 402#define OHCI_QUIRK_FRAME_NO 0x80 /* no big endian frame_no shift */
403#define OHCI_QUIRK_HUB_POWER 0x100 /* distrust firmware power/oc setup */ 403#define OHCI_QUIRK_HUB_POWER 0x100 /* distrust firmware power/oc setup */
404#define OHCI_QUIRK_AMD_ISO 0x200 /* ISO transfers*/ 404#define OHCI_QUIRK_AMD_ISO 0x200 /* ISO transfers*/
405#define OHCI_QUIRK_AMD_PREFETCH 0x400 /* pre-fetch for ISO transfer */
405 // there are also chip quirks/bugs in init logic 406 // there are also chip quirks/bugs in init logic
406 407
407 struct work_struct nec_work; /* Worker for NEC quirk */ 408 struct work_struct nec_work; /* Worker for NEC quirk */
@@ -433,6 +434,10 @@ static inline int quirk_amdiso(struct ohci_hcd *ohci)
433{ 434{
434 return ohci->flags & OHCI_QUIRK_AMD_ISO; 435 return ohci->flags & OHCI_QUIRK_AMD_ISO;
435} 436}
437static inline int quirk_amdprefetch(struct ohci_hcd *ohci)
438{
439 return ohci->flags & OHCI_QUIRK_AMD_PREFETCH;
440}
436#else 441#else
437static inline int quirk_nec(struct ohci_hcd *ohci) 442static inline int quirk_nec(struct ohci_hcd *ohci)
438{ 443{
@@ -446,6 +451,10 @@ static inline int quirk_amdiso(struct ohci_hcd *ohci)
446{ 451{
447 return 0; 452 return 0;
448} 453}
454static inline int quirk_amdprefetch(struct ohci_hcd *ohci)
455{
456 return 0;
457}
449#endif 458#endif
450 459
451/* convert between an hcd pointer and the corresponding ohci_hcd */ 460/* convert between an hcd pointer and the corresponding ohci_hcd */
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index 1db4fea8c170..b8fd270a8b0d 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -802,9 +802,11 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci)
802 int i; 802 int i;
803 803
804 /* Free the Event Ring Segment Table and the actual Event Ring */ 804 /* Free the Event Ring Segment Table and the actual Event Ring */
805 xhci_writel(xhci, 0, &xhci->ir_set->erst_size); 805 if (xhci->ir_set) {
806 xhci_write_64(xhci, 0, &xhci->ir_set->erst_base); 806 xhci_writel(xhci, 0, &xhci->ir_set->erst_size);
807 xhci_write_64(xhci, 0, &xhci->ir_set->erst_dequeue); 807 xhci_write_64(xhci, 0, &xhci->ir_set->erst_base);
808 xhci_write_64(xhci, 0, &xhci->ir_set->erst_dequeue);
809 }
808 size = sizeof(struct xhci_erst_entry)*(xhci->erst.num_entries); 810 size = sizeof(struct xhci_erst_entry)*(xhci->erst.num_entries);
809 if (xhci->erst.entries) 811 if (xhci->erst.entries)
810 pci_free_consistent(pdev, size, 812 pci_free_consistent(pdev, size,
@@ -841,9 +843,9 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci)
841 xhci->dcbaa, xhci->dcbaa->dma); 843 xhci->dcbaa, xhci->dcbaa->dma);
842 xhci->dcbaa = NULL; 844 xhci->dcbaa = NULL;
843 845
846 scratchpad_free(xhci);
844 xhci->page_size = 0; 847 xhci->page_size = 0;
845 xhci->page_shift = 0; 848 xhci->page_shift = 0;
846 scratchpad_free(xhci);
847} 849}
848 850
849int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) 851int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags)
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 173c39c76489..821b7b4709de 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -864,9 +864,11 @@ static struct xhci_segment *trb_in_td(
864 cur_seg = start_seg; 864 cur_seg = start_seg;
865 865
866 do { 866 do {
867 if (start_dma == 0)
868 return 0;
867 /* We may get an event for a Link TRB in the middle of a TD */ 869 /* We may get an event for a Link TRB in the middle of a TD */
868 end_seg_dma = xhci_trb_virt_to_dma(cur_seg, 870 end_seg_dma = xhci_trb_virt_to_dma(cur_seg,
869 &start_seg->trbs[TRBS_PER_SEGMENT - 1]); 871 &cur_seg->trbs[TRBS_PER_SEGMENT - 1]);
870 /* If the end TRB isn't in this segment, this is set to 0 */ 872 /* If the end TRB isn't in this segment, this is set to 0 */
871 end_trb_dma = xhci_trb_virt_to_dma(cur_seg, end_trb); 873 end_trb_dma = xhci_trb_virt_to_dma(cur_seg, end_trb);
872 874
@@ -893,8 +895,9 @@ static struct xhci_segment *trb_in_td(
893 } 895 }
894 cur_seg = cur_seg->next; 896 cur_seg = cur_seg->next;
895 start_dma = xhci_trb_virt_to_dma(cur_seg, &cur_seg->trbs[0]); 897 start_dma = xhci_trb_virt_to_dma(cur_seg, &cur_seg->trbs[0]);
896 } while (1); 898 } while (cur_seg != start_seg);
897 899
900 return 0;
898} 901}
899 902
900/* 903/*
diff --git a/drivers/usb/mon/mon_bin.c b/drivers/usb/mon/mon_bin.c
index 9ed3e741bee1..10f3205798e8 100644
--- a/drivers/usb/mon/mon_bin.c
+++ b/drivers/usb/mon/mon_bin.c
@@ -348,12 +348,12 @@ static unsigned int mon_buff_area_alloc_contiguous(struct mon_reader_bin *rp,
348 348
349/* 349/*
350 * Return a few (kilo-)bytes to the head of the buffer. 350 * Return a few (kilo-)bytes to the head of the buffer.
351 * This is used if a DMA fetch fails. 351 * This is used if a data fetch fails.
352 */ 352 */
353static void mon_buff_area_shrink(struct mon_reader_bin *rp, unsigned int size) 353static void mon_buff_area_shrink(struct mon_reader_bin *rp, unsigned int size)
354{ 354{
355 355
356 size = (size + PKT_ALIGN-1) & ~(PKT_ALIGN-1); 356 /* size &= ~(PKT_ALIGN-1); -- we're called with aligned size */
357 rp->b_cnt -= size; 357 rp->b_cnt -= size;
358 if (rp->b_in < size) 358 if (rp->b_in < size)
359 rp->b_in += rp->b_size; 359 rp->b_in += rp->b_size;
@@ -433,6 +433,7 @@ static void mon_bin_event(struct mon_reader_bin *rp, struct urb *urb,
433 unsigned int urb_length; 433 unsigned int urb_length;
434 unsigned int offset; 434 unsigned int offset;
435 unsigned int length; 435 unsigned int length;
436 unsigned int delta;
436 unsigned int ndesc, lendesc; 437 unsigned int ndesc, lendesc;
437 unsigned char dir; 438 unsigned char dir;
438 struct mon_bin_hdr *ep; 439 struct mon_bin_hdr *ep;
@@ -537,8 +538,10 @@ static void mon_bin_event(struct mon_reader_bin *rp, struct urb *urb,
537 if (length != 0) { 538 if (length != 0) {
538 ep->flag_data = mon_bin_get_data(rp, offset, urb, length); 539 ep->flag_data = mon_bin_get_data(rp, offset, urb, length);
539 if (ep->flag_data != 0) { /* Yes, it's 0x00, not '0' */ 540 if (ep->flag_data != 0) { /* Yes, it's 0x00, not '0' */
540 ep->len_cap = 0; 541 delta = (ep->len_cap + PKT_ALIGN-1) & ~(PKT_ALIGN-1);
541 mon_buff_area_shrink(rp, length); 542 ep->len_cap -= length;
543 delta -= (ep->len_cap + PKT_ALIGN-1) & ~(PKT_ALIGN-1);
544 mon_buff_area_shrink(rp, delta);
542 } 545 }
543 } else { 546 } else {
544 ep->flag_data = data_tag; 547 ep->flag_data = data_tag;
diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
index c3577bbbae6c..ef2332a9941d 100644
--- a/drivers/usb/musb/cppi_dma.c
+++ b/drivers/usb/musb/cppi_dma.c
@@ -1442,11 +1442,6 @@ static int cppi_channel_abort(struct dma_channel *channel)
1442 musb_writew(regs, MUSB_TXCSR, value); 1442 musb_writew(regs, MUSB_TXCSR, value);
1443 musb_writew(regs, MUSB_TXCSR, value); 1443 musb_writew(regs, MUSB_TXCSR, value);
1444 1444
1445 /* re-enable interrupt */
1446 if (enabled)
1447 musb_writel(tibase, DAVINCI_TXCPPI_INTENAB_REG,
1448 (1 << cppi_ch->index));
1449
1450 /* While we scrub the TX state RAM, ensure that we clean 1445 /* While we scrub the TX state RAM, ensure that we clean
1451 * up any interrupt that's currently asserted: 1446 * up any interrupt that's currently asserted:
1452 * 1. Write to completion Ptr value 0x1(bit 0 set) 1447 * 1. Write to completion Ptr value 0x1(bit 0 set)
@@ -1459,6 +1454,11 @@ static int cppi_channel_abort(struct dma_channel *channel)
1459 cppi_reset_tx(tx_ram, 1); 1454 cppi_reset_tx(tx_ram, 1);
1460 musb_writel(&tx_ram->tx_complete, 0, 0); 1455 musb_writel(&tx_ram->tx_complete, 0, 0);
1461 1456
1457 /* re-enable interrupt */
1458 if (enabled)
1459 musb_writel(tibase, DAVINCI_TXCPPI_INTENAB_REG,
1460 (1 << cppi_ch->index));
1461
1462 cppi_dump_tx(5, cppi_ch, " (done teardown)"); 1462 cppi_dump_tx(5, cppi_ch, " (done teardown)");
1463 1463
1464 /* REVISIT tx side _should_ clean up the same way 1464 /* REVISIT tx side _should_ clean up the same way
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 3a61ddb62bd2..547e0e390726 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -1450,7 +1450,7 @@ static int __init musb_core_init(u16 musb_type, struct musb *musb)
1450#endif 1450#endif
1451 1451
1452 if (hw_ep->max_packet_sz_tx) { 1452 if (hw_ep->max_packet_sz_tx) {
1453 printk(KERN_DEBUG 1453 DBG(1,
1454 "%s: hw_ep %d%s, %smax %d\n", 1454 "%s: hw_ep %d%s, %smax %d\n",
1455 musb_driver_name, i, 1455 musb_driver_name, i,
1456 hw_ep->is_shared_fifo ? "shared" : "tx", 1456 hw_ep->is_shared_fifo ? "shared" : "tx",
@@ -1459,7 +1459,7 @@ static int __init musb_core_init(u16 musb_type, struct musb *musb)
1459 hw_ep->max_packet_sz_tx); 1459 hw_ep->max_packet_sz_tx);
1460 } 1460 }
1461 if (hw_ep->max_packet_sz_rx && !hw_ep->is_shared_fifo) { 1461 if (hw_ep->max_packet_sz_rx && !hw_ep->is_shared_fifo) {
1462 printk(KERN_DEBUG 1462 DBG(1,
1463 "%s: hw_ep %d%s, %smax %d\n", 1463 "%s: hw_ep %d%s, %smax %d\n",
1464 musb_driver_name, i, 1464 musb_driver_name, i,
1465 "rx", 1465 "rx",
diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
index 8b3c4e2ed7b8..74073f9a43f0 100644
--- a/drivers/usb/musb/musb_gadget.c
+++ b/drivers/usb/musb/musb_gadget.c
@@ -4,6 +4,7 @@
4 * Copyright 2005 Mentor Graphics Corporation 4 * Copyright 2005 Mentor Graphics Corporation
5 * Copyright (C) 2005-2006 by Texas Instruments 5 * Copyright (C) 2005-2006 by Texas Instruments
6 * Copyright (C) 2006-2007 Nokia Corporation 6 * Copyright (C) 2006-2007 Nokia Corporation
7 * Copyright (C) 2009 MontaVista Software, Inc. <source@mvista.com>
7 * 8 *
8 * This program is free software; you can redistribute it and/or 9 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License 10 * modify it under the terms of the GNU General Public License
@@ -436,14 +437,6 @@ void musb_g_tx(struct musb *musb, u8 epnum)
436 csr |= MUSB_TXCSR_P_WZC_BITS; 437 csr |= MUSB_TXCSR_P_WZC_BITS;
437 csr &= ~MUSB_TXCSR_P_SENTSTALL; 438 csr &= ~MUSB_TXCSR_P_SENTSTALL;
438 musb_writew(epio, MUSB_TXCSR, csr); 439 musb_writew(epio, MUSB_TXCSR, csr);
439 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) {
440 dma->status = MUSB_DMA_STATUS_CORE_ABORT;
441 musb->dma_controller->channel_abort(dma);
442 }
443
444 if (request)
445 musb_g_giveback(musb_ep, request, -EPIPE);
446
447 break; 440 break;
448 } 441 }
449 442
@@ -582,15 +575,25 @@ void musb_g_tx(struct musb *musb, u8 epnum)
582 */ 575 */
583static void rxstate(struct musb *musb, struct musb_request *req) 576static void rxstate(struct musb *musb, struct musb_request *req)
584{ 577{
585 u16 csr = 0;
586 const u8 epnum = req->epnum; 578 const u8 epnum = req->epnum;
587 struct usb_request *request = &req->request; 579 struct usb_request *request = &req->request;
588 struct musb_ep *musb_ep = &musb->endpoints[epnum].ep_out; 580 struct musb_ep *musb_ep = &musb->endpoints[epnum].ep_out;
589 void __iomem *epio = musb->endpoints[epnum].regs; 581 void __iomem *epio = musb->endpoints[epnum].regs;
590 unsigned fifo_count = 0; 582 unsigned fifo_count = 0;
591 u16 len = musb_ep->packet_sz; 583 u16 len = musb_ep->packet_sz;
584 u16 csr = musb_readw(epio, MUSB_RXCSR);
592 585
593 csr = musb_readw(epio, MUSB_RXCSR); 586 /* We shouldn't get here while DMA is active, but we do... */
587 if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) {
588 DBG(4, "DMA pending...\n");
589 return;
590 }
591
592 if (csr & MUSB_RXCSR_P_SENDSTALL) {
593 DBG(5, "%s stalling, RXCSR %04x\n",
594 musb_ep->end_point.name, csr);
595 return;
596 }
594 597
595 if (is_cppi_enabled() && musb_ep->dma) { 598 if (is_cppi_enabled() && musb_ep->dma) {
596 struct dma_controller *c = musb->dma_controller; 599 struct dma_controller *c = musb->dma_controller;
@@ -761,19 +764,10 @@ void musb_g_rx(struct musb *musb, u8 epnum)
761 csr, dma ? " (dma)" : "", request); 764 csr, dma ? " (dma)" : "", request);
762 765
763 if (csr & MUSB_RXCSR_P_SENTSTALL) { 766 if (csr & MUSB_RXCSR_P_SENTSTALL) {
764 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) {
765 dma->status = MUSB_DMA_STATUS_CORE_ABORT;
766 (void) musb->dma_controller->channel_abort(dma);
767 request->actual += musb_ep->dma->actual_len;
768 }
769
770 csr |= MUSB_RXCSR_P_WZC_BITS; 767 csr |= MUSB_RXCSR_P_WZC_BITS;
771 csr &= ~MUSB_RXCSR_P_SENTSTALL; 768 csr &= ~MUSB_RXCSR_P_SENTSTALL;
772 musb_writew(epio, MUSB_RXCSR, csr); 769 musb_writew(epio, MUSB_RXCSR, csr);
773 770 return;
774 if (request)
775 musb_g_giveback(musb_ep, request, -EPIPE);
776 goto done;
777 } 771 }
778 772
779 if (csr & MUSB_RXCSR_P_OVERRUN) { 773 if (csr & MUSB_RXCSR_P_OVERRUN) {
@@ -795,7 +789,7 @@ void musb_g_rx(struct musb *musb, u8 epnum)
795 DBG((csr & MUSB_RXCSR_DMAENAB) ? 4 : 1, 789 DBG((csr & MUSB_RXCSR_DMAENAB) ? 4 : 1,
796 "%s busy, csr %04x\n", 790 "%s busy, csr %04x\n",
797 musb_ep->end_point.name, csr); 791 musb_ep->end_point.name, csr);
798 goto done; 792 return;
799 } 793 }
800 794
801 if (dma && (csr & MUSB_RXCSR_DMAENAB)) { 795 if (dma && (csr & MUSB_RXCSR_DMAENAB)) {
@@ -826,22 +820,15 @@ void musb_g_rx(struct musb *musb, u8 epnum)
826 if ((request->actual < request->length) 820 if ((request->actual < request->length)
827 && (musb_ep->dma->actual_len 821 && (musb_ep->dma->actual_len
828 == musb_ep->packet_sz)) 822 == musb_ep->packet_sz))
829 goto done; 823 return;
830#endif 824#endif
831 musb_g_giveback(musb_ep, request, 0); 825 musb_g_giveback(musb_ep, request, 0);
832 826
833 request = next_request(musb_ep); 827 request = next_request(musb_ep);
834 if (!request) 828 if (!request)
835 goto done; 829 return;
836
837 /* don't start more i/o till the stall clears */
838 musb_ep_select(mbase, epnum);
839 csr = musb_readw(epio, MUSB_RXCSR);
840 if (csr & MUSB_RXCSR_P_SENDSTALL)
841 goto done;
842 } 830 }
843 831
844
845 /* analyze request if the ep is hot */ 832 /* analyze request if the ep is hot */
846 if (request) 833 if (request)
847 rxstate(musb, to_musb_request(request)); 834 rxstate(musb, to_musb_request(request));
@@ -849,8 +836,6 @@ void musb_g_rx(struct musb *musb, u8 epnum)
849 DBG(3, "packet waiting for %s%s request\n", 836 DBG(3, "packet waiting for %s%s request\n",
850 musb_ep->desc ? "" : "inactive ", 837 musb_ep->desc ? "" : "inactive ",
851 musb_ep->end_point.name); 838 musb_ep->end_point.name);
852
853done:
854 return; 839 return;
855} 840}
856 841
@@ -1244,7 +1229,7 @@ int musb_gadget_set_halt(struct usb_ep *ep, int value)
1244 void __iomem *mbase; 1229 void __iomem *mbase;
1245 unsigned long flags; 1230 unsigned long flags;
1246 u16 csr; 1231 u16 csr;
1247 struct musb_request *request = NULL; 1232 struct musb_request *request;
1248 int status = 0; 1233 int status = 0;
1249 1234
1250 if (!ep) 1235 if (!ep)
@@ -1260,24 +1245,29 @@ int musb_gadget_set_halt(struct usb_ep *ep, int value)
1260 1245
1261 musb_ep_select(mbase, epnum); 1246 musb_ep_select(mbase, epnum);
1262 1247
1263 /* cannot portably stall with non-empty FIFO */
1264 request = to_musb_request(next_request(musb_ep)); 1248 request = to_musb_request(next_request(musb_ep));
1265 if (value && musb_ep->is_in) { 1249 if (value) {
1266 csr = musb_readw(epio, MUSB_TXCSR); 1250 if (request) {
1267 if (csr & MUSB_TXCSR_FIFONOTEMPTY) { 1251 DBG(3, "request in progress, cannot halt %s\n",
1268 DBG(3, "%s fifo busy, cannot halt\n", ep->name); 1252 ep->name);
1269 spin_unlock_irqrestore(&musb->lock, flags); 1253 status = -EAGAIN;
1270 return -EAGAIN; 1254 goto done;
1255 }
1256 /* Cannot portably stall with non-empty FIFO */
1257 if (musb_ep->is_in) {
1258 csr = musb_readw(epio, MUSB_TXCSR);
1259 if (csr & MUSB_TXCSR_FIFONOTEMPTY) {
1260 DBG(3, "FIFO busy, cannot halt %s\n", ep->name);
1261 status = -EAGAIN;
1262 goto done;
1263 }
1271 } 1264 }
1272
1273 } 1265 }
1274 1266
1275 /* set/clear the stall and toggle bits */ 1267 /* set/clear the stall and toggle bits */
1276 DBG(2, "%s: %s stall\n", ep->name, value ? "set" : "clear"); 1268 DBG(2, "%s: %s stall\n", ep->name, value ? "set" : "clear");
1277 if (musb_ep->is_in) { 1269 if (musb_ep->is_in) {
1278 csr = musb_readw(epio, MUSB_TXCSR); 1270 csr = musb_readw(epio, MUSB_TXCSR);
1279 if (csr & MUSB_TXCSR_FIFONOTEMPTY)
1280 csr |= MUSB_TXCSR_FLUSHFIFO;
1281 csr |= MUSB_TXCSR_P_WZC_BITS 1271 csr |= MUSB_TXCSR_P_WZC_BITS
1282 | MUSB_TXCSR_CLRDATATOG; 1272 | MUSB_TXCSR_CLRDATATOG;
1283 if (value) 1273 if (value)
@@ -1300,14 +1290,13 @@ int musb_gadget_set_halt(struct usb_ep *ep, int value)
1300 musb_writew(epio, MUSB_RXCSR, csr); 1290 musb_writew(epio, MUSB_RXCSR, csr);
1301 } 1291 }
1302 1292
1303done:
1304
1305 /* maybe start the first request in the queue */ 1293 /* maybe start the first request in the queue */
1306 if (!musb_ep->busy && !value && request) { 1294 if (!musb_ep->busy && !value && request) {
1307 DBG(3, "restarting the request\n"); 1295 DBG(3, "restarting the request\n");
1308 musb_ep_restart(musb, request); 1296 musb_ep_restart(musb, request);
1309 } 1297 }
1310 1298
1299done:
1311 spin_unlock_irqrestore(&musb->lock, flags); 1300 spin_unlock_irqrestore(&musb->lock, flags);
1312 return status; 1301 return status;
1313} 1302}
diff --git a/drivers/usb/musb/musb_gadget_ep0.c b/drivers/usb/musb/musb_gadget_ep0.c
index 7a6778675ad3..522efb31b56b 100644
--- a/drivers/usb/musb/musb_gadget_ep0.c
+++ b/drivers/usb/musb/musb_gadget_ep0.c
@@ -511,7 +511,8 @@ static void ep0_txstate(struct musb *musb)
511 511
512 /* update the flags */ 512 /* update the flags */
513 if (fifo_count < MUSB_MAX_END0_PACKET 513 if (fifo_count < MUSB_MAX_END0_PACKET
514 || request->actual == request->length) { 514 || (request->actual == request->length
515 && !request->zero)) {
515 musb->ep0_state = MUSB_EP0_STAGE_STATUSOUT; 516 musb->ep0_state = MUSB_EP0_STAGE_STATUSOUT;
516 csr |= MUSB_CSR0_P_DATAEND; 517 csr |= MUSB_CSR0_P_DATAEND;
517 } else 518 } else
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index cf94511485f2..e3ab40a966eb 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -1301,8 +1301,11 @@ void musb_host_tx(struct musb *musb, u8 epnum)
1301 return; 1301 return;
1302 } else if (usb_pipeisoc(pipe) && dma) { 1302 } else if (usb_pipeisoc(pipe) && dma) {
1303 if (musb_tx_dma_program(musb->dma_controller, hw_ep, qh, urb, 1303 if (musb_tx_dma_program(musb->dma_controller, hw_ep, qh, urb,
1304 offset, length)) 1304 offset, length)) {
1305 if (is_cppi_enabled() || tusb_dma_omap())
1306 musb_h_tx_dma_start(hw_ep);
1305 return; 1307 return;
1308 }
1306 } else if (tx_csr & MUSB_TXCSR_DMAENAB) { 1309 } else if (tx_csr & MUSB_TXCSR_DMAENAB) {
1307 DBG(1, "not complete, but DMA enabled?\n"); 1310 DBG(1, "not complete, but DMA enabled?\n");
1308 return; 1311 return;
diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
index 698252a4dc5d..bd254ec97d14 100644
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -50,6 +50,8 @@ static int cp210x_tiocmset_port(struct usb_serial_port *port, struct file *,
50static void cp210x_break_ctl(struct tty_struct *, int); 50static void cp210x_break_ctl(struct tty_struct *, int);
51static int cp210x_startup(struct usb_serial *); 51static int cp210x_startup(struct usb_serial *);
52static void cp210x_disconnect(struct usb_serial *); 52static void cp210x_disconnect(struct usb_serial *);
53static void cp210x_dtr_rts(struct usb_serial_port *p, int on);
54static int cp210x_carrier_raised(struct usb_serial_port *p);
53 55
54static int debug; 56static int debug;
55 57
@@ -143,6 +145,8 @@ static struct usb_serial_driver cp210x_device = {
143 .tiocmset = cp210x_tiocmset, 145 .tiocmset = cp210x_tiocmset,
144 .attach = cp210x_startup, 146 .attach = cp210x_startup,
145 .disconnect = cp210x_disconnect, 147 .disconnect = cp210x_disconnect,
148 .dtr_rts = cp210x_dtr_rts,
149 .carrier_raised = cp210x_carrier_raised
146}; 150};
147 151
148/* Config request types */ 152/* Config request types */
@@ -746,6 +750,14 @@ static int cp210x_tiocmset_port(struct usb_serial_port *port, struct file *file,
746 return cp210x_set_config(port, CP210X_SET_MHS, &control, 2); 750 return cp210x_set_config(port, CP210X_SET_MHS, &control, 2);
747} 751}
748 752
753static void cp210x_dtr_rts(struct usb_serial_port *p, int on)
754{
755 if (on)
756 cp210x_tiocmset_port(p, NULL, TIOCM_DTR|TIOCM_RTS, 0);
757 else
758 cp210x_tiocmset_port(p, NULL, 0, TIOCM_DTR|TIOCM_RTS);
759}
760
749static int cp210x_tiocmget (struct tty_struct *tty, struct file *file) 761static int cp210x_tiocmget (struct tty_struct *tty, struct file *file)
750{ 762{
751 struct usb_serial_port *port = tty->driver_data; 763 struct usb_serial_port *port = tty->driver_data;
@@ -768,6 +780,15 @@ static int cp210x_tiocmget (struct tty_struct *tty, struct file *file)
768 return result; 780 return result;
769} 781}
770 782
783static int cp210x_carrier_raised(struct usb_serial_port *p)
784{
785 unsigned int control;
786 cp210x_get_config(p, CP210X_GET_MDMSTS, &control, 1);
787 if (control & CONTROL_DCD)
788 return 1;
789 return 0;
790}
791
771static void cp210x_break_ctl (struct tty_struct *tty, int break_state) 792static void cp210x_break_ctl (struct tty_struct *tty, int break_state)
772{ 793{
773 struct usb_serial_port *port = tty->driver_data; 794 struct usb_serial_port *port = tty->driver_data;
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 9c60d6d4908a..ebcc6d0e2e91 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1937,7 +1937,7 @@ static void ftdi_write_bulk_callback(struct urb *urb)
1937 return; 1937 return;
1938 } 1938 }
1939 /* account for transferred data */ 1939 /* account for transferred data */
1940 countback = urb->actual_length; 1940 countback = urb->transfer_buffer_length;
1941 data_offset = priv->write_offset; 1941 data_offset = priv->write_offset;
1942 if (data_offset > 0) { 1942 if (data_offset > 0) {
1943 /* Subtract the control bytes */ 1943 /* Subtract the control bytes */
@@ -1950,7 +1950,6 @@ static void ftdi_write_bulk_callback(struct urb *urb)
1950 1950
1951 if (status) { 1951 if (status) {
1952 dbg("nonzero write bulk status received: %d", status); 1952 dbg("nonzero write bulk status received: %d", status);
1953 return;
1954 } 1953 }
1955 1954
1956 usb_serial_port_softint(port); 1955 usb_serial_port_softint(port);
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index cd44c68954df..0577e4b61114 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -308,6 +308,7 @@ static int option_resume(struct usb_serial *serial);
308 308
309#define DLINK_VENDOR_ID 0x1186 309#define DLINK_VENDOR_ID 0x1186
310#define DLINK_PRODUCT_DWM_652 0x3e04 310#define DLINK_PRODUCT_DWM_652 0x3e04
311#define DLINK_PRODUCT_DWM_652_U5 0xce16
311 312
312#define QISDA_VENDOR_ID 0x1da5 313#define QISDA_VENDOR_ID 0x1da5
313#define QISDA_PRODUCT_H21_4512 0x4512 314#define QISDA_PRODUCT_H21_4512 0x4512
@@ -335,6 +336,10 @@ static int option_resume(struct usb_serial *serial);
335#define AIRPLUS_VENDOR_ID 0x1011 336#define AIRPLUS_VENDOR_ID 0x1011
336#define AIRPLUS_PRODUCT_MCD650 0x3198 337#define AIRPLUS_PRODUCT_MCD650 0x3198
337 338
339/* 4G Systems products */
340#define FOUR_G_SYSTEMS_VENDOR_ID 0x1c9e
341#define FOUR_G_SYSTEMS_PRODUCT_W14 0x9603
342
338static struct usb_device_id option_ids[] = { 343static struct usb_device_id option_ids[] = {
339 { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, 344 { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
340 { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) }, 345 { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
@@ -586,6 +591,7 @@ static struct usb_device_id option_ids[] = {
586 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC2726, 0xff, 0xff, 0xff) }, 591 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC2726, 0xff, 0xff, 0xff) },
587 { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) }, 592 { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) },
588 { USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) }, 593 { USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) },
594 { USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5) }, /* Yes, ALINK_VENDOR_ID */
589 { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4512) }, 595 { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4512) },
590 { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4523) }, 596 { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4523) },
591 { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4515) }, 597 { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4515) },
@@ -597,6 +603,7 @@ static struct usb_device_id option_ids[] = {
597 { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S) }, 603 { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S) },
598 { USB_DEVICE(AIRPLUS_VENDOR_ID, AIRPLUS_PRODUCT_MCD650) }, 604 { USB_DEVICE(AIRPLUS_VENDOR_ID, AIRPLUS_PRODUCT_MCD650) },
599 { USB_DEVICE(TLAYTECH_VENDOR_ID, TLAYTECH_PRODUCT_TEU800) }, 605 { USB_DEVICE(TLAYTECH_VENDOR_ID, TLAYTECH_PRODUCT_TEU800) },
606 { USB_DEVICE(FOUR_G_SYSTEMS_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W14) },
600 { } /* Terminating entry */ 607 { } /* Terminating entry */
601}; 608};
602MODULE_DEVICE_TABLE(usb, option_ids); 609MODULE_DEVICE_TABLE(usb, option_ids);
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 9bbb2855ea91..188e1ba3b69f 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -2121,7 +2121,7 @@ config FB_EP93XX
2121 2121
2122config FB_PRE_INIT_FB 2122config FB_PRE_INIT_FB
2123 bool "Don't reinitialize, use bootloader's GDC/Display configuration" 2123 bool "Don't reinitialize, use bootloader's GDC/Display configuration"
2124 depends on FB_MB862XX_LIME 2124 depends on FB && FB_MB862XX_LIME
2125 ---help--- 2125 ---help---
2126 Select this option if display contents should be inherited as set by 2126 Select this option if display contents should be inherited as set by
2127 the bootloader. 2127 the bootloader.
diff --git a/drivers/video/atafb.c b/drivers/video/atafb.c
index 8cd279be74e5..37624f74e88b 100644
--- a/drivers/video/atafb.c
+++ b/drivers/video/atafb.c
@@ -329,12 +329,6 @@ extern unsigned char fontdata_8x16[];
329 * 329 *
330 * * perform fb specific mmap * 330 * * perform fb specific mmap *
331 * int (*fb_mmap)(struct fb_info *info, struct vm_area_struct *vma); 331 * int (*fb_mmap)(struct fb_info *info, struct vm_area_struct *vma);
332 *
333 * * save current hardware state *
334 * void (*fb_save_state)(struct fb_info *info);
335 *
336 * * restore saved state *
337 * void (*fb_restore_state)(struct fb_info *info);
338 * } ; 332 * } ;
339 */ 333 */
340 334
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index 2830ffd72976..d5e801076d33 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -484,6 +484,7 @@ static int atmel_lcdfb_set_par(struct fb_info *info)
484 unsigned long value; 484 unsigned long value;
485 unsigned long clk_value_khz; 485 unsigned long clk_value_khz;
486 unsigned long bits_per_line; 486 unsigned long bits_per_line;
487 unsigned long pix_factor = 2;
487 488
488 might_sleep(); 489 might_sleep();
489 490
@@ -516,20 +517,24 @@ static int atmel_lcdfb_set_par(struct fb_info *info)
516 /* Now, the LCDC core... */ 517 /* Now, the LCDC core... */
517 518
518 /* Set pixel clock */ 519 /* Set pixel clock */
520 if (cpu_is_at91sam9g45() && !cpu_is_at91sam9g45es())
521 pix_factor = 1;
522
519 clk_value_khz = clk_get_rate(sinfo->lcdc_clk) / 1000; 523 clk_value_khz = clk_get_rate(sinfo->lcdc_clk) / 1000;
520 524
521 value = DIV_ROUND_UP(clk_value_khz, PICOS2KHZ(info->var.pixclock)); 525 value = DIV_ROUND_UP(clk_value_khz, PICOS2KHZ(info->var.pixclock));
522 526
523 if (value < 2) { 527 if (value < pix_factor) {
524 dev_notice(info->device, "Bypassing pixel clock divider\n"); 528 dev_notice(info->device, "Bypassing pixel clock divider\n");
525 lcdc_writel(sinfo, ATMEL_LCDC_LCDCON1, ATMEL_LCDC_BYPASS); 529 lcdc_writel(sinfo, ATMEL_LCDC_LCDCON1, ATMEL_LCDC_BYPASS);
526 } else { 530 } else {
527 value = (value / 2) - 1; 531 value = (value / pix_factor) - 1;
528 dev_dbg(info->device, " * programming CLKVAL = 0x%08lx\n", 532 dev_dbg(info->device, " * programming CLKVAL = 0x%08lx\n",
529 value); 533 value);
530 lcdc_writel(sinfo, ATMEL_LCDC_LCDCON1, 534 lcdc_writel(sinfo, ATMEL_LCDC_LCDCON1,
531 value << ATMEL_LCDC_CLKVAL_OFFSET); 535 value << ATMEL_LCDC_CLKVAL_OFFSET);
532 info->var.pixclock = KHZ2PICOS(clk_value_khz / (2 * (value + 1))); 536 info->var.pixclock =
537 KHZ2PICOS(clk_value_khz / (pix_factor * (value + 1)));
533 dev_dbg(info->device, " updated pixclk: %lu KHz\n", 538 dev_dbg(info->device, " updated pixclk: %lu KHz\n",
534 PICOS2KHZ(info->var.pixclock)); 539 PICOS2KHZ(info->var.pixclock));
535 } 540 }
diff --git a/drivers/video/backlight/corgi_lcd.c b/drivers/video/backlight/corgi_lcd.c
index 2211a852af9c..96774949cd30 100644
--- a/drivers/video/backlight/corgi_lcd.c
+++ b/drivers/video/backlight/corgi_lcd.c
@@ -433,8 +433,9 @@ static int corgi_bl_update_status(struct backlight_device *bd)
433 433
434 if (corgibl_flags & CORGIBL_SUSPENDED) 434 if (corgibl_flags & CORGIBL_SUSPENDED)
435 intensity = 0; 435 intensity = 0;
436 if (corgibl_flags & CORGIBL_BATTLOW) 436
437 intensity &= lcd->limit_mask; 437 if ((corgibl_flags & CORGIBL_BATTLOW) && intensity > lcd->limit_mask)
438 intensity = lcd->limit_mask;
438 439
439 return corgi_bl_set_intensity(lcd, intensity); 440 return corgi_bl_set_intensity(lcd, intensity);
440} 441}
diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c
index b6449470106c..a482dd7b0311 100644
--- a/drivers/video/backlight/lcd.c
+++ b/drivers/video/backlight/lcd.c
@@ -56,7 +56,7 @@ static int fb_notifier_callback(struct notifier_block *self,
56 56
57static int lcd_register_fb(struct lcd_device *ld) 57static int lcd_register_fb(struct lcd_device *ld)
58{ 58{
59 memset(&ld->fb_notif, 0, sizeof(&ld->fb_notif)); 59 memset(&ld->fb_notif, 0, sizeof(ld->fb_notif));
60 ld->fb_notif.notifier_call = fb_notifier_callback; 60 ld->fb_notif.notifier_call = fb_notifier_callback;
61 return fb_register_client(&ld->fb_notif); 61 return fb_register_client(&ld->fb_notif);
62} 62}
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index 5a686cea23f4..3681c6a88212 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -2311,14 +2311,11 @@ static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch)
2311 ops->graphics = 1; 2311 ops->graphics = 1;
2312 2312
2313 if (!blank) { 2313 if (!blank) {
2314 if (info->fbops->fb_save_state)
2315 info->fbops->fb_save_state(info);
2316 var.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE; 2314 var.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE;
2317 fb_set_var(info, &var); 2315 fb_set_var(info, &var);
2318 ops->graphics = 0; 2316 ops->graphics = 0;
2319 ops->var = info->var; 2317 ops->var = info->var;
2320 } else if (info->fbops->fb_restore_state) 2318 }
2321 info->fbops->fb_restore_state(info);
2322 } 2319 }
2323 2320
2324 if (!fbcon_is_inactive(vc, info)) { 2321 if (!fbcon_is_inactive(vc, info)) {
diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index d065894ce38f..ea1fd3f47511 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -554,11 +554,11 @@ static int fb_check_var(struct fb_var_screeninfo *var,
554 var->transp.length = 0; 554 var->transp.length = 0;
555 break; 555 break;
556 case 16: /* RGB 565 */ 556 case 16: /* RGB 565 */
557 var->red.offset = 0; 557 var->red.offset = 11;
558 var->red.length = 5; 558 var->red.length = 5;
559 var->green.offset = 5; 559 var->green.offset = 5;
560 var->green.length = 6; 560 var->green.length = 6;
561 var->blue.offset = 11; 561 var->blue.offset = 0;
562 var->blue.length = 5; 562 var->blue.length = 5;
563 var->transp.offset = 0; 563 var->transp.offset = 0;
564 var->transp.length = 0; 564 var->transp.length = 0;
@@ -591,7 +591,7 @@ static int __devexit fb_remove(struct platform_device *dev)
591 unregister_framebuffer(info); 591 unregister_framebuffer(info);
592 fb_dealloc_cmap(&info->cmap); 592 fb_dealloc_cmap(&info->cmap);
593 dma_free_coherent(NULL, par->databuf_sz + PAGE_SIZE, 593 dma_free_coherent(NULL, par->databuf_sz + PAGE_SIZE,
594 info->screen_base, 594 info->screen_base - PAGE_SIZE,
595 info->fix.smem_start); 595 info->fix.smem_start);
596 free_irq(par->irq, par); 596 free_irq(par->irq, par);
597 clk_disable(par->lcdc_clk); 597 clk_disable(par->lcdc_clk);
@@ -704,7 +704,7 @@ static int __init fb_probe(struct platform_device *device)
704 704
705 if (i == ARRAY_SIZE(known_lcd_panels)) { 705 if (i == ARRAY_SIZE(known_lcd_panels)) {
706 dev_err(&device->dev, "GLCD: No valid panel found\n"); 706 dev_err(&device->dev, "GLCD: No valid panel found\n");
707 ret = ENODEV; 707 ret = -ENODEV;
708 goto err_clk_disable; 708 goto err_clk_disable;
709 } else 709 } else
710 dev_info(&device->dev, "GLCD: Found %s panel\n", 710 dev_info(&device->dev, "GLCD: Found %s panel\n",
@@ -749,6 +749,7 @@ static int __init fb_probe(struct platform_device *device)
749 (PAGE_SIZE - par->palette_sz); 749 (PAGE_SIZE - par->palette_sz);
750 750
751 /* the rest of the frame buffer is pixel data */ 751 /* the rest of the frame buffer is pixel data */
752 da8xx_fb_info->screen_base = par->v_palette_base + par->palette_sz;
752 da8xx_fb_fix.smem_start = par->p_palette_base + par->palette_sz; 753 da8xx_fb_fix.smem_start = par->p_palette_base + par->palette_sz;
753 da8xx_fb_fix.smem_len = par->databuf_sz - par->palette_sz; 754 da8xx_fb_fix.smem_len = par->databuf_sz - par->palette_sz;
754 da8xx_fb_fix.line_length = (lcdc_info->width * lcd_cfg->bpp) / 8; 755 da8xx_fb_fix.line_length = (lcdc_info->width * lcd_cfg->bpp) / 8;
@@ -787,6 +788,8 @@ static int __init fb_probe(struct platform_device *device)
787 da8xx_fb_info->var = da8xx_fb_var; 788 da8xx_fb_info->var = da8xx_fb_var;
788 da8xx_fb_info->fbops = &da8xx_fb_ops; 789 da8xx_fb_info->fbops = &da8xx_fb_ops;
789 da8xx_fb_info->pseudo_palette = par->pseudo_palette; 790 da8xx_fb_info->pseudo_palette = par->pseudo_palette;
791 da8xx_fb_info->fix.visual = (da8xx_fb_info->var.bits_per_pixel <= 8) ?
792 FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
790 793
791 ret = fb_alloc_cmap(&da8xx_fb_info->cmap, PALETTE_SIZE, 0); 794 ret = fb_alloc_cmap(&da8xx_fb_info->cmap, PALETTE_SIZE, 0);
792 if (ret) 795 if (ret)
@@ -825,7 +828,7 @@ err_free_irq:
825 828
826err_release_fb_mem: 829err_release_fb_mem:
827 dma_free_coherent(NULL, par->databuf_sz + PAGE_SIZE, 830 dma_free_coherent(NULL, par->databuf_sz + PAGE_SIZE,
828 da8xx_fb_info->screen_base, 831 da8xx_fb_info->screen_base - PAGE_SIZE,
829 da8xx_fb_info->fix.smem_start); 832 da8xx_fb_info->fix.smem_start);
830 833
831err_release_fb: 834err_release_fb:
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c
index 1a83709f9611..f67db4268374 100644
--- a/drivers/video/gbefb.c
+++ b/drivers/video/gbefb.c
@@ -1147,7 +1147,7 @@ static int __init gbefb_probe(struct platform_device *p_dev)
1147 gbefb_setup(options); 1147 gbefb_setup(options);
1148#endif 1148#endif
1149 1149
1150 if (!request_region(GBE_BASE, sizeof(struct sgi_gbe), "GBE")) { 1150 if (!request_mem_region(GBE_BASE, sizeof(struct sgi_gbe), "GBE")) {
1151 printk(KERN_ERR "gbefb: couldn't reserve mmio region\n"); 1151 printk(KERN_ERR "gbefb: couldn't reserve mmio region\n");
1152 ret = -EBUSY; 1152 ret = -EBUSY;
1153 goto out_release_framebuffer; 1153 goto out_release_framebuffer;
diff --git a/drivers/video/msm/mddi.c b/drivers/video/msm/mddi.c
index 5c5a1ad1d397..474421fe79a6 100644
--- a/drivers/video/msm/mddi.c
+++ b/drivers/video/msm/mddi.c
@@ -24,6 +24,7 @@
24#include <linux/spinlock.h> 24#include <linux/spinlock.h>
25#include <linux/clk.h> 25#include <linux/clk.h>
26#include <linux/io.h> 26#include <linux/io.h>
27#include <linux/sched.h>
27#include <mach/msm_iomap.h> 28#include <mach/msm_iomap.h>
28#include <mach/irqs.h> 29#include <mach/irqs.h>
29#include <mach/board.h> 30#include <mach/board.h>
diff --git a/drivers/video/msm/mddi_client_nt35399.c b/drivers/video/msm/mddi_client_nt35399.c
index 9c78050ac799..c9e9349451cb 100644
--- a/drivers/video/msm/mddi_client_nt35399.c
+++ b/drivers/video/msm/mddi_client_nt35399.c
@@ -19,6 +19,7 @@
19#include <linux/kernel.h> 19#include <linux/kernel.h>
20#include <linux/platform_device.h> 20#include <linux/platform_device.h>
21#include <linux/interrupt.h> 21#include <linux/interrupt.h>
22#include <linux/sched.h>
22#include <linux/gpio.h> 23#include <linux/gpio.h>
23#include <mach/msm_fb.h> 24#include <mach/msm_fb.h>
24 25
diff --git a/drivers/video/msm/mddi_client_toshiba.c b/drivers/video/msm/mddi_client_toshiba.c
index 80d0f5fdf0b1..71048e78f7f0 100644
--- a/drivers/video/msm/mddi_client_toshiba.c
+++ b/drivers/video/msm/mddi_client_toshiba.c
@@ -20,6 +20,7 @@
20#include <linux/platform_device.h> 20#include <linux/platform_device.h>
21#include <linux/interrupt.h> 21#include <linux/interrupt.h>
22#include <linux/gpio.h> 22#include <linux/gpio.h>
23#include <linux/sched.h>
23#include <mach/msm_fb.h> 24#include <mach/msm_fb.h>
24 25
25 26
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c
index 99636a2b20f2..6c519e2fa2b7 100644
--- a/drivers/video/msm/mdp.c
+++ b/drivers/video/msm/mdp.c
@@ -22,9 +22,6 @@
22#include <linux/wait.h> 22#include <linux/wait.h>
23#include <linux/clk.h> 23#include <linux/clk.h>
24#include <linux/file.h> 24#include <linux/file.h>
25#ifdef CONFIG_ANDROID_PMEM
26#include <linux/android_pmem.h>
27#endif
28#include <linux/major.h> 25#include <linux/major.h>
29 26
30#include <mach/msm_iomap.h> 27#include <mach/msm_iomap.h>
@@ -262,11 +259,6 @@ int get_img(struct mdp_img *img, struct fb_info *info,
262 struct file *file; 259 struct file *file;
263 unsigned long vstart; 260 unsigned long vstart;
264 261
265#ifdef CONFIG_ANDROID_PMEM
266 if (!get_pmem_file(img->memory_id, start, &vstart, len, filep))
267 return 0;
268#endif
269
270 file = fget_light(img->memory_id, &put_needed); 262 file = fget_light(img->memory_id, &put_needed);
271 if (file == NULL) 263 if (file == NULL)
272 return -1; 264 return -1;
@@ -283,12 +275,6 @@ int get_img(struct mdp_img *img, struct fb_info *info,
283 275
284void put_img(struct file *src_file, struct file *dst_file) 276void put_img(struct file *src_file, struct file *dst_file)
285{ 277{
286#ifdef CONFIG_ANDROID_PMEM
287 if (src_file)
288 put_pmem_file(src_file);
289 if (dst_file)
290 put_pmem_file(dst_file);
291#endif
292} 278}
293 279
294int mdp_blit(struct mdp_device *mdp_dev, struct fb_info *fb, 280int mdp_blit(struct mdp_device *mdp_dev, struct fb_info *fb,
@@ -320,9 +306,6 @@ int mdp_blit(struct mdp_device *mdp_dev, struct fb_info *fb,
320 if (unlikely(get_img(&req->dst, fb, &dst_start, &dst_len, &dst_file))) { 306 if (unlikely(get_img(&req->dst, fb, &dst_start, &dst_len, &dst_file))) {
321 printk(KERN_ERR "mpd_ppp: could not retrieve dst image from " 307 printk(KERN_ERR "mpd_ppp: could not retrieve dst image from "
322 "memory\n"); 308 "memory\n");
323#ifdef CONFIG_ANDROID_PMEM
324 put_pmem_file(src_file);
325#endif
326 return -EINVAL; 309 return -EINVAL;
327 } 310 }
328 mutex_lock(&mdp_mutex); 311 mutex_lock(&mdp_mutex);
@@ -499,7 +482,6 @@ int mdp_probe(struct platform_device *pdev)
499 /* register mdp device */ 482 /* register mdp device */
500 mdp->mdp_dev.dev.parent = &pdev->dev; 483 mdp->mdp_dev.dev.parent = &pdev->dev;
501 mdp->mdp_dev.dev.class = mdp_class; 484 mdp->mdp_dev.dev.class = mdp_class;
502 snprintf(mdp->mdp_dev.dev.bus_id, BUS_ID_SIZE, "mdp%d", pdev->id);
503 485
504 /* if you can remove the platform device you'd have to implement 486 /* if you can remove the platform device you'd have to implement
505 * this: 487 * this:
diff --git a/drivers/video/msm/mdp_ppp.c b/drivers/video/msm/mdp_ppp.c
index ba2c4673b648..4ff001f4cbbd 100644
--- a/drivers/video/msm/mdp_ppp.c
+++ b/drivers/video/msm/mdp_ppp.c
@@ -16,7 +16,6 @@
16#include <linux/file.h> 16#include <linux/file.h>
17#include <linux/delay.h> 17#include <linux/delay.h>
18#include <linux/msm_mdp.h> 18#include <linux/msm_mdp.h>
19#include <linux/android_pmem.h>
20#include <mach/msm_fb.h> 19#include <mach/msm_fb.h>
21 20
22#include "mdp_hw.h" 21#include "mdp_hw.h"
@@ -579,25 +578,6 @@ static int valid_src_dst(unsigned long src_start, unsigned long src_len,
579static void flush_imgs(struct mdp_blit_req *req, struct mdp_regs *regs, 578static void flush_imgs(struct mdp_blit_req *req, struct mdp_regs *regs,
580 struct file *src_file, struct file *dst_file) 579 struct file *src_file, struct file *dst_file)
581{ 580{
582#ifdef CONFIG_ANDROID_PMEM
583 uint32_t src0_len, src1_len, dst0_len, dst1_len;
584
585 /* flush src images to memory before dma to mdp */
586 get_len(&req->src, &req->src_rect, regs->src_bpp, &src0_len,
587 &src1_len);
588 flush_pmem_file(src_file, req->src.offset, src0_len);
589 if (IS_PSEUDOPLNR(req->src.format))
590 flush_pmem_file(src_file, req->src.offset + src0_len,
591 src1_len);
592
593 /* flush dst images */
594 get_len(&req->dst, &req->dst_rect, regs->dst_bpp, &dst0_len,
595 &dst1_len);
596 flush_pmem_file(dst_file, req->dst.offset, dst0_len);
597 if (IS_PSEUDOPLNR(req->dst.format))
598 flush_pmem_file(dst_file, req->dst.offset + dst0_len,
599 dst1_len);
600#endif
601} 581}
602 582
603static void get_chroma_addr(struct mdp_img *img, struct mdp_rect *rect, 583static void get_chroma_addr(struct mdp_img *img, struct mdp_rect *rect,
diff --git a/drivers/video/savage/savagefb_driver.c b/drivers/video/savage/savagefb_driver.c
index 37b135d5d12e..842d157e1025 100644
--- a/drivers/video/savage/savagefb_driver.c
+++ b/drivers/video/savage/savagefb_driver.c
@@ -1565,7 +1565,7 @@ static int savagefb_blank(int blank, struct fb_info *info)
1565 vga_out8(0x3c5, sr8, par); 1565 vga_out8(0x3c5, sr8, par);
1566 vga_out8(0x3c4, 0x0d, par); 1566 vga_out8(0x3c4, 0x0d, par);
1567 srd = vga_in8(0x3c5, par); 1567 srd = vga_in8(0x3c5, par);
1568 srd &= 0x03; 1568 srd &= 0x50;
1569 1569
1570 switch (blank) { 1570 switch (blank) {
1571 case FB_BLANK_UNBLANK: 1571 case FB_BLANK_UNBLANK:
@@ -1606,22 +1606,6 @@ static int savagefb_blank(int blank, struct fb_info *info)
1606 return (blank == FB_BLANK_NORMAL) ? 1 : 0; 1606 return (blank == FB_BLANK_NORMAL) ? 1 : 0;
1607} 1607}
1608 1608
1609static void savagefb_save_state(struct fb_info *info)
1610{
1611 struct savagefb_par *par = info->par;
1612
1613 savage_get_default_par(par, &par->save);
1614}
1615
1616static void savagefb_restore_state(struct fb_info *info)
1617{
1618 struct savagefb_par *par = info->par;
1619
1620 savagefb_blank(FB_BLANK_POWERDOWN, info);
1621 savage_set_default_par(par, &par->save);
1622 savagefb_blank(FB_BLANK_UNBLANK, info);
1623}
1624
1625static int savagefb_open(struct fb_info *info, int user) 1609static int savagefb_open(struct fb_info *info, int user)
1626{ 1610{
1627 struct savagefb_par *par = info->par; 1611 struct savagefb_par *par = info->par;
@@ -1667,8 +1651,6 @@ static struct fb_ops savagefb_ops = {
1667 .fb_setcolreg = savagefb_setcolreg, 1651 .fb_setcolreg = savagefb_setcolreg,
1668 .fb_pan_display = savagefb_pan_display, 1652 .fb_pan_display = savagefb_pan_display,
1669 .fb_blank = savagefb_blank, 1653 .fb_blank = savagefb_blank,
1670 .fb_save_state = savagefb_save_state,
1671 .fb_restore_state = savagefb_restore_state,
1672#if defined(CONFIG_FB_SAVAGE_ACCEL) 1654#if defined(CONFIG_FB_SAVAGE_ACCEL)
1673 .fb_fillrect = savagefb_fillrect, 1655 .fb_fillrect = savagefb_fillrect,
1674 .fb_copyarea = savagefb_copyarea, 1656 .fb_copyarea = savagefb_copyarea,
diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
index e35232a18571..54fbb2995a5f 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -1411,23 +1411,6 @@ static int uvesafb_check_var(struct fb_var_screeninfo *var,
1411 return 0; 1411 return 0;
1412} 1412}
1413 1413
1414static void uvesafb_save_state(struct fb_info *info)
1415{
1416 struct uvesafb_par *par = info->par;
1417
1418 if (par->vbe_state_saved)
1419 kfree(par->vbe_state_saved);
1420
1421 par->vbe_state_saved = uvesafb_vbe_state_save(par);
1422}
1423
1424static void uvesafb_restore_state(struct fb_info *info)
1425{
1426 struct uvesafb_par *par = info->par;
1427
1428 uvesafb_vbe_state_restore(par, par->vbe_state_saved);
1429}
1430
1431static struct fb_ops uvesafb_ops = { 1414static struct fb_ops uvesafb_ops = {
1432 .owner = THIS_MODULE, 1415 .owner = THIS_MODULE,
1433 .fb_open = uvesafb_open, 1416 .fb_open = uvesafb_open,
@@ -1441,8 +1424,6 @@ static struct fb_ops uvesafb_ops = {
1441 .fb_imageblit = cfb_imageblit, 1424 .fb_imageblit = cfb_imageblit,
1442 .fb_check_var = uvesafb_check_var, 1425 .fb_check_var = uvesafb_check_var,
1443 .fb_set_par = uvesafb_set_par, 1426 .fb_set_par = uvesafb_set_par,
1444 .fb_save_state = uvesafb_save_state,
1445 .fb_restore_state = uvesafb_restore_state,
1446}; 1427};
1447 1428
1448static void __devinit uvesafb_init_info(struct fb_info *info, 1429static void __devinit uvesafb_init_info(struct fb_info *info,
@@ -1459,15 +1440,6 @@ static void __devinit uvesafb_init_info(struct fb_info *info,
1459 info->fix.ypanstep = par->ypan ? 1 : 0; 1440 info->fix.ypanstep = par->ypan ? 1 : 0;
1460 info->fix.ywrapstep = (par->ypan > 1) ? 1 : 0; 1441 info->fix.ywrapstep = (par->ypan > 1) ? 1 : 0;
1461 1442
1462 /*
1463 * If we were unable to get the state buffer size, disable
1464 * functions for saving and restoring the hardware state.
1465 */
1466 if (par->vbe_state_size == 0) {
1467 info->fbops->fb_save_state = NULL;
1468 info->fbops->fb_restore_state = NULL;
1469 }
1470
1471 /* Disable blanking if the user requested so. */ 1443 /* Disable blanking if the user requested so. */
1472 if (!blank) 1444 if (!blank)
1473 info->fbops->fb_blank = NULL; 1445 info->fbops->fb_blank = NULL;
diff --git a/drivers/watchdog/pnx4008_wdt.c b/drivers/watchdog/pnx4008_wdt.c
index f24d04132eda..4d227b152001 100644
--- a/drivers/watchdog/pnx4008_wdt.c
+++ b/drivers/watchdog/pnx4008_wdt.c
@@ -317,7 +317,7 @@ static int __devexit pnx4008_wdt_remove(struct platform_device *pdev)
317 317
318static struct platform_driver platform_wdt_driver = { 318static struct platform_driver platform_wdt_driver = {
319 .driver = { 319 .driver = {
320 .name = "watchdog", 320 .name = "pnx4008-watchdog",
321 .owner = THIS_MODULE, 321 .owner = THIS_MODULE,
322 }, 322 },
323 .probe = pnx4008_wdt_probe, 323 .probe = pnx4008_wdt_probe,
@@ -352,4 +352,4 @@ MODULE_PARM_DESC(nowayout,
352 352
353MODULE_LICENSE("GPL"); 353MODULE_LICENSE("GPL");
354MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); 354MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
355MODULE_ALIAS("platform:watchdog"); 355MODULE_ALIAS("platform:pnx4008-watchdog");
diff --git a/drivers/watchdog/rc32434_wdt.c b/drivers/watchdog/rc32434_wdt.c
index f6cccc9df022..bf12d06b5877 100644
--- a/drivers/watchdog/rc32434_wdt.c
+++ b/drivers/watchdog/rc32434_wdt.c
@@ -62,7 +62,7 @@ extern unsigned int idt_cpu_freq;
62static int timeout = WATCHDOG_TIMEOUT; 62static int timeout = WATCHDOG_TIMEOUT;
63module_param(timeout, int, 0); 63module_param(timeout, int, 0);
64MODULE_PARM_DESC(timeout, "Watchdog timeout value, in seconds (default=" 64MODULE_PARM_DESC(timeout, "Watchdog timeout value, in seconds (default="
65 WATCHDOG_TIMEOUT ")"); 65 __MODULE_STRING(WATCHDOG_TIMEOUT) ")");
66 66
67static int nowayout = WATCHDOG_NOWAYOUT; 67static int nowayout = WATCHDOG_NOWAYOUT;
68module_param(nowayout, int, 0); 68module_param(nowayout, int, 0);
@@ -276,7 +276,7 @@ static int __devinit rc32434_wdt_probe(struct platform_device *pdev)
276 return -ENODEV; 276 return -ENODEV;
277 } 277 }
278 278
279 wdt_reg = ioremap_nocache(r->start, r->end - r->start); 279 wdt_reg = ioremap_nocache(r->start, resource_size(r));
280 if (!wdt_reg) { 280 if (!wdt_reg) {
281 printk(KERN_ERR PFX "failed to remap I/O resources\n"); 281 printk(KERN_ERR PFX "failed to remap I/O resources\n");
282 return -ENXIO; 282 return -ENXIO;
diff --git a/drivers/watchdog/sbc_fitpc2_wdt.c b/drivers/watchdog/sbc_fitpc2_wdt.c
index 852ca1977917..91430a89107c 100644
--- a/drivers/watchdog/sbc_fitpc2_wdt.c
+++ b/drivers/watchdog/sbc_fitpc2_wdt.c
@@ -227,7 +227,7 @@ static int __init fitpc2_wdt_init(void)
227 } 227 }
228 228
229 err = misc_register(&fitpc2_wdt_miscdev); 229 err = misc_register(&fitpc2_wdt_miscdev);
230 if (!err) { 230 if (err) {
231 pr_err("cannot register miscdev on minor=%d (err=%d)\n", 231 pr_err("cannot register miscdev on minor=%d (err=%d)\n",
232 WATCHDOG_MINOR, err); 232 WATCHDOG_MINOR, err);
233 goto err_margin; 233 goto err_margin;
diff --git a/fs/9p/cache.c b/fs/9p/cache.c
index 51c94e26a346..e777961939f3 100644
--- a/fs/9p/cache.c
+++ b/fs/9p/cache.c
@@ -343,18 +343,7 @@ int __v9fs_fscache_release_page(struct page *page, gfp_t gfp)
343 343
344 BUG_ON(!vcookie->fscache); 344 BUG_ON(!vcookie->fscache);
345 345
346 if (PageFsCache(page)) { 346 return fscache_maybe_release_page(vcookie->fscache, page, gfp);
347 if (fscache_check_page_write(vcookie->fscache, page)) {
348 if (!(gfp & __GFP_WAIT))
349 return 0;
350 fscache_wait_on_page_write(vcookie->fscache, page);
351 }
352
353 fscache_uncache_page(vcookie->fscache, page);
354 ClearPageFsCache(page);
355 }
356
357 return 1;
358} 347}
359 348
360void __v9fs_fscache_invalidate_page(struct page *page) 349void __v9fs_fscache_invalidate_page(struct page *page)
@@ -368,7 +357,6 @@ void __v9fs_fscache_invalidate_page(struct page *page)
368 fscache_wait_on_page_write(vcookie->fscache, page); 357 fscache_wait_on_page_write(vcookie->fscache, page);
369 BUG_ON(!PageLocked(page)); 358 BUG_ON(!PageLocked(page));
370 fscache_uncache_page(vcookie->fscache, page); 359 fscache_uncache_page(vcookie->fscache, page);
371 ClearPageFsCache(page);
372 } 360 }
373} 361}
374 362
diff --git a/fs/afs/file.c b/fs/afs/file.c
index 681c2a7b013f..39b301662f22 100644
--- a/fs/afs/file.c
+++ b/fs/afs/file.c
@@ -315,7 +315,6 @@ static void afs_invalidatepage(struct page *page, unsigned long offset)
315 struct afs_vnode *vnode = AFS_FS_I(page->mapping->host); 315 struct afs_vnode *vnode = AFS_FS_I(page->mapping->host);
316 fscache_wait_on_page_write(vnode->cache, page); 316 fscache_wait_on_page_write(vnode->cache, page);
317 fscache_uncache_page(vnode->cache, page); 317 fscache_uncache_page(vnode->cache, page);
318 ClearPageFsCache(page);
319 } 318 }
320#endif 319#endif
321 320
@@ -349,17 +348,9 @@ static int afs_releasepage(struct page *page, gfp_t gfp_flags)
349 /* deny if page is being written to the cache and the caller hasn't 348 /* deny if page is being written to the cache and the caller hasn't
350 * elected to wait */ 349 * elected to wait */
351#ifdef CONFIG_AFS_FSCACHE 350#ifdef CONFIG_AFS_FSCACHE
352 if (PageFsCache(page)) { 351 if (!fscache_maybe_release_page(vnode->cache, page, gfp_flags)) {
353 if (fscache_check_page_write(vnode->cache, page)) { 352 _leave(" = F [cache busy]");
354 if (!(gfp_flags & __GFP_WAIT)) { 353 return 0;
355 _leave(" = F [cache busy]");
356 return 0;
357 }
358 fscache_wait_on_page_write(vnode->cache, page);
359 }
360
361 fscache_uncache_page(vnode->cache, page);
362 ClearPageFsCache(page);
363 } 354 }
364#endif 355#endif
365 356
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index e238a0cdac67..94627c4cc193 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -2977,10 +2977,10 @@ static int maybe_allocate_chunk(struct btrfs_root *root,
2977 2977
2978 free_space = btrfs_super_total_bytes(disk_super); 2978 free_space = btrfs_super_total_bytes(disk_super);
2979 /* 2979 /*
2980 * we allow the metadata to grow to a max of either 5gb or 5% of the 2980 * we allow the metadata to grow to a max of either 10gb or 5% of the
2981 * space in the volume. 2981 * space in the volume.
2982 */ 2982 */
2983 min_metadata = min((u64)5 * 1024 * 1024 * 1024, 2983 min_metadata = min((u64)10 * 1024 * 1024 * 1024,
2984 div64_u64(free_space * 5, 100)); 2984 div64_u64(free_space * 5, 100));
2985 if (info->total_bytes >= min_metadata) { 2985 if (info->total_bytes >= min_metadata) {
2986 spin_unlock(&info->lock); 2986 spin_unlock(&info->lock);
@@ -4102,7 +4102,7 @@ wait_block_group_cache_done(struct btrfs_block_group_cache *cache)
4102} 4102}
4103 4103
4104enum btrfs_loop_type { 4104enum btrfs_loop_type {
4105 LOOP_CACHED_ONLY = 0, 4105 LOOP_FIND_IDEAL = 0,
4106 LOOP_CACHING_NOWAIT = 1, 4106 LOOP_CACHING_NOWAIT = 1,
4107 LOOP_CACHING_WAIT = 2, 4107 LOOP_CACHING_WAIT = 2,
4108 LOOP_ALLOC_CHUNK = 3, 4108 LOOP_ALLOC_CHUNK = 3,
@@ -4131,12 +4131,15 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
4131 struct btrfs_block_group_cache *block_group = NULL; 4131 struct btrfs_block_group_cache *block_group = NULL;
4132 int empty_cluster = 2 * 1024 * 1024; 4132 int empty_cluster = 2 * 1024 * 1024;
4133 int allowed_chunk_alloc = 0; 4133 int allowed_chunk_alloc = 0;
4134 int done_chunk_alloc = 0;
4134 struct btrfs_space_info *space_info; 4135 struct btrfs_space_info *space_info;
4135 int last_ptr_loop = 0; 4136 int last_ptr_loop = 0;
4136 int loop = 0; 4137 int loop = 0;
4137 bool found_uncached_bg = false; 4138 bool found_uncached_bg = false;
4138 bool failed_cluster_refill = false; 4139 bool failed_cluster_refill = false;
4139 bool failed_alloc = false; 4140 bool failed_alloc = false;
4141 u64 ideal_cache_percent = 0;
4142 u64 ideal_cache_offset = 0;
4140 4143
4141 WARN_ON(num_bytes < root->sectorsize); 4144 WARN_ON(num_bytes < root->sectorsize);
4142 btrfs_set_key_type(ins, BTRFS_EXTENT_ITEM_KEY); 4145 btrfs_set_key_type(ins, BTRFS_EXTENT_ITEM_KEY);
@@ -4172,14 +4175,19 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
4172 empty_cluster = 0; 4175 empty_cluster = 0;
4173 4176
4174 if (search_start == hint_byte) { 4177 if (search_start == hint_byte) {
4178ideal_cache:
4175 block_group = btrfs_lookup_block_group(root->fs_info, 4179 block_group = btrfs_lookup_block_group(root->fs_info,
4176 search_start); 4180 search_start);
4177 /* 4181 /*
4178 * we don't want to use the block group if it doesn't match our 4182 * we don't want to use the block group if it doesn't match our
4179 * allocation bits, or if its not cached. 4183 * allocation bits, or if its not cached.
4184 *
4185 * However if we are re-searching with an ideal block group
4186 * picked out then we don't care that the block group is cached.
4180 */ 4187 */
4181 if (block_group && block_group_bits(block_group, data) && 4188 if (block_group && block_group_bits(block_group, data) &&
4182 block_group_cache_done(block_group)) { 4189 (block_group->cached != BTRFS_CACHE_NO ||
4190 search_start == ideal_cache_offset)) {
4183 down_read(&space_info->groups_sem); 4191 down_read(&space_info->groups_sem);
4184 if (list_empty(&block_group->list) || 4192 if (list_empty(&block_group->list) ||
4185 block_group->ro) { 4193 block_group->ro) {
@@ -4191,13 +4199,13 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
4191 */ 4199 */
4192 btrfs_put_block_group(block_group); 4200 btrfs_put_block_group(block_group);
4193 up_read(&space_info->groups_sem); 4201 up_read(&space_info->groups_sem);
4194 } else 4202 } else {
4195 goto have_block_group; 4203 goto have_block_group;
4204 }
4196 } else if (block_group) { 4205 } else if (block_group) {
4197 btrfs_put_block_group(block_group); 4206 btrfs_put_block_group(block_group);
4198 } 4207 }
4199 } 4208 }
4200
4201search: 4209search:
4202 down_read(&space_info->groups_sem); 4210 down_read(&space_info->groups_sem);
4203 list_for_each_entry(block_group, &space_info->block_groups, list) { 4211 list_for_each_entry(block_group, &space_info->block_groups, list) {
@@ -4209,28 +4217,45 @@ search:
4209 4217
4210have_block_group: 4218have_block_group:
4211 if (unlikely(block_group->cached == BTRFS_CACHE_NO)) { 4219 if (unlikely(block_group->cached == BTRFS_CACHE_NO)) {
4220 u64 free_percent;
4221
4222 free_percent = btrfs_block_group_used(&block_group->item);
4223 free_percent *= 100;
4224 free_percent = div64_u64(free_percent,
4225 block_group->key.offset);
4226 free_percent = 100 - free_percent;
4227 if (free_percent > ideal_cache_percent &&
4228 likely(!block_group->ro)) {
4229 ideal_cache_offset = block_group->key.objectid;
4230 ideal_cache_percent = free_percent;
4231 }
4232
4212 /* 4233 /*
4213 * we want to start caching kthreads, but not too many 4234 * We only want to start kthread caching if we are at
4214 * right off the bat so we don't overwhelm the system, 4235 * the point where we will wait for caching to make
4215 * so only start them if there are less than 2 and we're 4236 * progress, or if our ideal search is over and we've
4216 * in the initial allocation phase. 4237 * found somebody to start caching.
4217 */ 4238 */
4218 if (loop > LOOP_CACHING_NOWAIT || 4239 if (loop > LOOP_CACHING_NOWAIT ||
4219 atomic_read(&space_info->caching_threads) < 2) { 4240 (loop > LOOP_FIND_IDEAL &&
4241 atomic_read(&space_info->caching_threads) < 2)) {
4220 ret = cache_block_group(block_group); 4242 ret = cache_block_group(block_group);
4221 BUG_ON(ret); 4243 BUG_ON(ret);
4222 } 4244 }
4223 }
4224
4225 cached = block_group_cache_done(block_group);
4226 if (unlikely(!cached)) {
4227 found_uncached_bg = true; 4245 found_uncached_bg = true;
4228 4246
4229 /* if we only want cached bgs, loop */ 4247 /*
4230 if (loop == LOOP_CACHED_ONLY) 4248 * If loop is set for cached only, try the next block
4249 * group.
4250 */
4251 if (loop == LOOP_FIND_IDEAL)
4231 goto loop; 4252 goto loop;
4232 } 4253 }
4233 4254
4255 cached = block_group_cache_done(block_group);
4256 if (unlikely(!cached))
4257 found_uncached_bg = true;
4258
4234 if (unlikely(block_group->ro)) 4259 if (unlikely(block_group->ro))
4235 goto loop; 4260 goto loop;
4236 4261
@@ -4410,9 +4435,11 @@ loop:
4410 } 4435 }
4411 up_read(&space_info->groups_sem); 4436 up_read(&space_info->groups_sem);
4412 4437
4413 /* LOOP_CACHED_ONLY, only search fully cached block groups 4438 /* LOOP_FIND_IDEAL, only search caching/cached bg's, and don't wait for
4414 * LOOP_CACHING_NOWAIT, search partially cached block groups, but 4439 * for them to make caching progress. Also
4415 * dont wait foR them to finish caching 4440 * determine the best possible bg to cache
4441 * LOOP_CACHING_NOWAIT, search partially cached block groups, kicking
4442 * caching kthreads as we move along
4416 * LOOP_CACHING_WAIT, search everything, and wait if our bg is caching 4443 * LOOP_CACHING_WAIT, search everything, and wait if our bg is caching
4417 * LOOP_ALLOC_CHUNK, force a chunk allocation and try again 4444 * LOOP_ALLOC_CHUNK, force a chunk allocation and try again
4418 * LOOP_NO_EMPTY_SIZE, set empty_size and empty_cluster to 0 and try 4445 * LOOP_NO_EMPTY_SIZE, set empty_size and empty_cluster to 0 and try
@@ -4421,12 +4448,47 @@ loop:
4421 if (!ins->objectid && loop < LOOP_NO_EMPTY_SIZE && 4448 if (!ins->objectid && loop < LOOP_NO_EMPTY_SIZE &&
4422 (found_uncached_bg || empty_size || empty_cluster || 4449 (found_uncached_bg || empty_size || empty_cluster ||
4423 allowed_chunk_alloc)) { 4450 allowed_chunk_alloc)) {
4424 if (found_uncached_bg) { 4451 if (loop == LOOP_FIND_IDEAL && found_uncached_bg) {
4425 found_uncached_bg = false; 4452 found_uncached_bg = false;
4426 if (loop < LOOP_CACHING_WAIT) { 4453 loop++;
4427 loop++; 4454 if (!ideal_cache_percent &&
4455 atomic_read(&space_info->caching_threads))
4428 goto search; 4456 goto search;
4429 } 4457
4458 /*
4459 * 1 of the following 2 things have happened so far
4460 *
4461 * 1) We found an ideal block group for caching that
4462 * is mostly full and will cache quickly, so we might
4463 * as well wait for it.
4464 *
4465 * 2) We searched for cached only and we didn't find
4466 * anything, and we didn't start any caching kthreads
4467 * either, so chances are we will loop through and
4468 * start a couple caching kthreads, and then come back
4469 * around and just wait for them. This will be slower
4470 * because we will have 2 caching kthreads reading at
4471 * the same time when we could have just started one
4472 * and waited for it to get far enough to give us an
4473 * allocation, so go ahead and go to the wait caching
4474 * loop.
4475 */
4476 loop = LOOP_CACHING_WAIT;
4477 search_start = ideal_cache_offset;
4478 ideal_cache_percent = 0;
4479 goto ideal_cache;
4480 } else if (loop == LOOP_FIND_IDEAL) {
4481 /*
4482 * Didn't find a uncached bg, wait on anything we find
4483 * next.
4484 */
4485 loop = LOOP_CACHING_WAIT;
4486 goto search;
4487 }
4488
4489 if (loop < LOOP_CACHING_WAIT) {
4490 loop++;
4491 goto search;
4430 } 4492 }
4431 4493
4432 if (loop == LOOP_ALLOC_CHUNK) { 4494 if (loop == LOOP_ALLOC_CHUNK) {
@@ -4438,7 +4500,8 @@ loop:
4438 ret = do_chunk_alloc(trans, root, num_bytes + 4500 ret = do_chunk_alloc(trans, root, num_bytes +
4439 2 * 1024 * 1024, data, 1); 4501 2 * 1024 * 1024, data, 1);
4440 allowed_chunk_alloc = 0; 4502 allowed_chunk_alloc = 0;
4441 } else { 4503 done_chunk_alloc = 1;
4504 } else if (!done_chunk_alloc) {
4442 space_info->force_alloc = 1; 4505 space_info->force_alloc = 1;
4443 } 4506 }
4444 4507
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c
index 2c726b7b9faa..ccbdcb54ec5d 100644
--- a/fs/btrfs/extent_map.c
+++ b/fs/btrfs/extent_map.c
@@ -208,7 +208,7 @@ int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 len)
208 write_lock(&tree->lock); 208 write_lock(&tree->lock);
209 em = lookup_extent_mapping(tree, start, len); 209 em = lookup_extent_mapping(tree, start, len);
210 210
211 WARN_ON(em->start != start || !em); 211 WARN_ON(!em || em->start != start);
212 212
213 if (!em) 213 if (!em)
214 goto out; 214 goto out;
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 5c2caad76212..cb2849f03251 100644
--- a/fs/btrfs/free-space-cache.c
+++ b/fs/btrfs/free-space-cache.c
@@ -1296,7 +1296,7 @@ again:
1296 window_start = entry->offset; 1296 window_start = entry->offset;
1297 window_free = entry->bytes; 1297 window_free = entry->bytes;
1298 last = entry; 1298 last = entry;
1299 max_extent = 0; 1299 max_extent = entry->bytes;
1300 } else { 1300 } else {
1301 last = next; 1301 last = next;
1302 window_free += next->bytes; 1302 window_free += next->bytes;
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index dae12dc7e159..b3ad168a0bfc 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -538,7 +538,7 @@ static noinline int submit_compressed_extents(struct inode *inode,
538 struct btrfs_root *root = BTRFS_I(inode)->root; 538 struct btrfs_root *root = BTRFS_I(inode)->root;
539 struct extent_map_tree *em_tree = &BTRFS_I(inode)->extent_tree; 539 struct extent_map_tree *em_tree = &BTRFS_I(inode)->extent_tree;
540 struct extent_io_tree *io_tree; 540 struct extent_io_tree *io_tree;
541 int ret; 541 int ret = 0;
542 542
543 if (list_empty(&async_cow->extents)) 543 if (list_empty(&async_cow->extents))
544 return 0; 544 return 0;
@@ -552,6 +552,7 @@ static noinline int submit_compressed_extents(struct inode *inode,
552 552
553 io_tree = &BTRFS_I(inode)->io_tree; 553 io_tree = &BTRFS_I(inode)->io_tree;
554 554
555retry:
555 /* did the compression code fall back to uncompressed IO? */ 556 /* did the compression code fall back to uncompressed IO? */
556 if (!async_extent->pages) { 557 if (!async_extent->pages) {
557 int page_started = 0; 558 int page_started = 0;
@@ -562,11 +563,11 @@ static noinline int submit_compressed_extents(struct inode *inode,
562 async_extent->ram_size - 1, GFP_NOFS); 563 async_extent->ram_size - 1, GFP_NOFS);
563 564
564 /* allocate blocks */ 565 /* allocate blocks */
565 cow_file_range(inode, async_cow->locked_page, 566 ret = cow_file_range(inode, async_cow->locked_page,
566 async_extent->start, 567 async_extent->start,
567 async_extent->start + 568 async_extent->start +
568 async_extent->ram_size - 1, 569 async_extent->ram_size - 1,
569 &page_started, &nr_written, 0); 570 &page_started, &nr_written, 0);
570 571
571 /* 572 /*
572 * if page_started, cow_file_range inserted an 573 * if page_started, cow_file_range inserted an
@@ -574,7 +575,7 @@ static noinline int submit_compressed_extents(struct inode *inode,
574 * and IO for us. Otherwise, we need to submit 575 * and IO for us. Otherwise, we need to submit
575 * all those pages down to the drive. 576 * all those pages down to the drive.
576 */ 577 */
577 if (!page_started) 578 if (!page_started && !ret)
578 extent_write_locked_range(io_tree, 579 extent_write_locked_range(io_tree,
579 inode, async_extent->start, 580 inode, async_extent->start,
580 async_extent->start + 581 async_extent->start +
@@ -602,7 +603,21 @@ static noinline int submit_compressed_extents(struct inode *inode,
602 async_extent->compressed_size, 603 async_extent->compressed_size,
603 0, alloc_hint, 604 0, alloc_hint,
604 (u64)-1, &ins, 1); 605 (u64)-1, &ins, 1);
605 BUG_ON(ret); 606 if (ret) {
607 int i;
608 for (i = 0; i < async_extent->nr_pages; i++) {
609 WARN_ON(async_extent->pages[i]->mapping);
610 page_cache_release(async_extent->pages[i]);
611 }
612 kfree(async_extent->pages);
613 async_extent->nr_pages = 0;
614 async_extent->pages = NULL;
615 unlock_extent(io_tree, async_extent->start,
616 async_extent->start +
617 async_extent->ram_size - 1, GFP_NOFS);
618 goto retry;
619 }
620
606 em = alloc_extent_map(GFP_NOFS); 621 em = alloc_extent_map(GFP_NOFS);
607 em->start = async_extent->start; 622 em->start = async_extent->start;
608 em->len = async_extent->ram_size; 623 em->len = async_extent->ram_size;
@@ -743,8 +758,22 @@ static noinline int cow_file_range(struct inode *inode,
743 em = search_extent_mapping(&BTRFS_I(inode)->extent_tree, 758 em = search_extent_mapping(&BTRFS_I(inode)->extent_tree,
744 start, num_bytes); 759 start, num_bytes);
745 if (em) { 760 if (em) {
746 alloc_hint = em->block_start; 761 /*
747 free_extent_map(em); 762 * if block start isn't an actual block number then find the
763 * first block in this inode and use that as a hint. If that
764 * block is also bogus then just don't worry about it.
765 */
766 if (em->block_start >= EXTENT_MAP_LAST_BYTE) {
767 free_extent_map(em);
768 em = search_extent_mapping(em_tree, 0, 0);
769 if (em && em->block_start < EXTENT_MAP_LAST_BYTE)
770 alloc_hint = em->block_start;
771 if (em)
772 free_extent_map(em);
773 } else {
774 alloc_hint = em->block_start;
775 free_extent_map(em);
776 }
748 } 777 }
749 read_unlock(&BTRFS_I(inode)->extent_tree.lock); 778 read_unlock(&BTRFS_I(inode)->extent_tree.lock);
750 btrfs_drop_extent_cache(inode, start, start + num_bytes - 1, 0); 779 btrfs_drop_extent_cache(inode, start, start + num_bytes - 1, 0);
@@ -2474,7 +2503,19 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry)
2474 2503
2475 root = BTRFS_I(dir)->root; 2504 root = BTRFS_I(dir)->root;
2476 2505
2506 /*
2507 * 5 items for unlink inode
2508 * 1 for orphan
2509 */
2510 ret = btrfs_reserve_metadata_space(root, 6);
2511 if (ret)
2512 return ret;
2513
2477 trans = btrfs_start_transaction(root, 1); 2514 trans = btrfs_start_transaction(root, 1);
2515 if (IS_ERR(trans)) {
2516 btrfs_unreserve_metadata_space(root, 6);
2517 return PTR_ERR(trans);
2518 }
2478 2519
2479 btrfs_set_trans_block_group(trans, dir); 2520 btrfs_set_trans_block_group(trans, dir);
2480 2521
@@ -2489,6 +2530,7 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry)
2489 nr = trans->blocks_used; 2530 nr = trans->blocks_used;
2490 2531
2491 btrfs_end_transaction_throttle(trans, root); 2532 btrfs_end_transaction_throttle(trans, root);
2533 btrfs_unreserve_metadata_space(root, 6);
2492 btrfs_btree_balance_dirty(root, nr); 2534 btrfs_btree_balance_dirty(root, nr);
2493 return ret; 2535 return ret;
2494} 2536}
@@ -2569,7 +2611,16 @@ static int btrfs_rmdir(struct inode *dir, struct dentry *dentry)
2569 inode->i_ino == BTRFS_FIRST_FREE_OBJECTID) 2611 inode->i_ino == BTRFS_FIRST_FREE_OBJECTID)
2570 return -ENOTEMPTY; 2612 return -ENOTEMPTY;
2571 2613
2614 ret = btrfs_reserve_metadata_space(root, 5);
2615 if (ret)
2616 return ret;
2617
2572 trans = btrfs_start_transaction(root, 1); 2618 trans = btrfs_start_transaction(root, 1);
2619 if (IS_ERR(trans)) {
2620 btrfs_unreserve_metadata_space(root, 5);
2621 return PTR_ERR(trans);
2622 }
2623
2573 btrfs_set_trans_block_group(trans, dir); 2624 btrfs_set_trans_block_group(trans, dir);
2574 2625
2575 if (unlikely(inode->i_ino == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)) { 2626 if (unlikely(inode->i_ino == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)) {
@@ -2592,6 +2643,7 @@ static int btrfs_rmdir(struct inode *dir, struct dentry *dentry)
2592out: 2643out:
2593 nr = trans->blocks_used; 2644 nr = trans->blocks_used;
2594 ret = btrfs_end_transaction_throttle(trans, root); 2645 ret = btrfs_end_transaction_throttle(trans, root);
2646 btrfs_unreserve_metadata_space(root, 5);
2595 btrfs_btree_balance_dirty(root, nr); 2647 btrfs_btree_balance_dirty(root, nr);
2596 2648
2597 if (ret && !err) 2649 if (ret && !err)
@@ -5128,6 +5180,7 @@ struct inode *btrfs_alloc_inode(struct super_block *sb)
5128 ei->logged_trans = 0; 5180 ei->logged_trans = 0;
5129 ei->outstanding_extents = 0; 5181 ei->outstanding_extents = 0;
5130 ei->reserved_extents = 0; 5182 ei->reserved_extents = 0;
5183 ei->root = NULL;
5131 spin_lock_init(&ei->accounting_lock); 5184 spin_lock_init(&ei->accounting_lock);
5132 btrfs_ordered_inode_tree_init(&ei->ordered_tree); 5185 btrfs_ordered_inode_tree_init(&ei->ordered_tree);
5133 INIT_LIST_HEAD(&ei->i_orphan); 5186 INIT_LIST_HEAD(&ei->i_orphan);
@@ -5144,6 +5197,14 @@ void btrfs_destroy_inode(struct inode *inode)
5144 WARN_ON(inode->i_data.nrpages); 5197 WARN_ON(inode->i_data.nrpages);
5145 5198
5146 /* 5199 /*
5200 * This can happen where we create an inode, but somebody else also
5201 * created the same inode and we need to destroy the one we already
5202 * created.
5203 */
5204 if (!root)
5205 goto free;
5206
5207 /*
5147 * Make sure we're properly removed from the ordered operation 5208 * Make sure we're properly removed from the ordered operation
5148 * lists. 5209 * lists.
5149 */ 5210 */
@@ -5178,6 +5239,7 @@ void btrfs_destroy_inode(struct inode *inode)
5178 } 5239 }
5179 inode_tree_del(inode); 5240 inode_tree_del(inode);
5180 btrfs_drop_extent_cache(inode, 0, (u64)-1, 0); 5241 btrfs_drop_extent_cache(inode, 0, (u64)-1, 0);
5242free:
5181 kmem_cache_free(btrfs_inode_cachep, BTRFS_I(inode)); 5243 kmem_cache_free(btrfs_inode_cachep, BTRFS_I(inode));
5182} 5244}
5183 5245
@@ -5283,11 +5345,14 @@ static int btrfs_rename(struct inode *old_dir, struct dentry *old_dentry,
5283 return -ENOTEMPTY; 5345 return -ENOTEMPTY;
5284 5346
5285 /* 5347 /*
5286 * 2 items for dir items 5348 * We want to reserve the absolute worst case amount of items. So if
5287 * 1 item for orphan entry 5349 * both inodes are subvols and we need to unlink them then that would
5288 * 1 item for ref 5350 * require 4 item modifications, but if they are both normal inodes it
5351 * would require 5 item modifications, so we'll assume their normal
5352 * inodes. So 5 * 2 is 10, plus 1 for the new link, so 11 total items
5353 * should cover the worst case number of items we'll modify.
5289 */ 5354 */
5290 ret = btrfs_reserve_metadata_space(root, 4); 5355 ret = btrfs_reserve_metadata_space(root, 11);
5291 if (ret) 5356 if (ret)
5292 return ret; 5357 return ret;
5293 5358
@@ -5403,7 +5468,7 @@ out_fail:
5403 if (old_inode->i_ino == BTRFS_FIRST_FREE_OBJECTID) 5468 if (old_inode->i_ino == BTRFS_FIRST_FREE_OBJECTID)
5404 up_read(&root->fs_info->subvol_sem); 5469 up_read(&root->fs_info->subvol_sem);
5405 5470
5406 btrfs_unreserve_metadata_space(root, 4); 5471 btrfs_unreserve_metadata_space(root, 11);
5407 return ret; 5472 return ret;
5408} 5473}
5409 5474
diff --git a/fs/btrfs/root-tree.c b/fs/btrfs/root-tree.c
index 9351428f30e2..67fa2d29d663 100644
--- a/fs/btrfs/root-tree.c
+++ b/fs/btrfs/root-tree.c
@@ -159,7 +159,6 @@ int btrfs_update_root(struct btrfs_trans_handle *trans, struct btrfs_root
159 write_extent_buffer(l, item, ptr, sizeof(*item)); 159 write_extent_buffer(l, item, ptr, sizeof(*item));
160 btrfs_mark_buffer_dirty(path->nodes[0]); 160 btrfs_mark_buffer_dirty(path->nodes[0]);
161out: 161out:
162 btrfs_release_path(root, path);
163 btrfs_free_path(path); 162 btrfs_free_path(path);
164 return ret; 163 return ret;
165} 164}
@@ -332,7 +331,6 @@ int btrfs_del_root(struct btrfs_trans_handle *trans, struct btrfs_root *root,
332 BUG_ON(refs != 0); 331 BUG_ON(refs != 0);
333 ret = btrfs_del_item(trans, root, path); 332 ret = btrfs_del_item(trans, root, path);
334out: 333out:
335 btrfs_release_path(root, path);
336 btrfs_free_path(path); 334 btrfs_free_path(path);
337 return ret; 335 return ret;
338} 336}
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index bca82a4ca8e6..c207e8c32c9b 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -163,8 +163,14 @@ static void wait_current_trans(struct btrfs_root *root)
163 } 163 }
164} 164}
165 165
166enum btrfs_trans_type {
167 TRANS_START,
168 TRANS_JOIN,
169 TRANS_USERSPACE,
170};
171
166static struct btrfs_trans_handle *start_transaction(struct btrfs_root *root, 172static struct btrfs_trans_handle *start_transaction(struct btrfs_root *root,
167 int num_blocks, int wait) 173 int num_blocks, int type)
168{ 174{
169 struct btrfs_trans_handle *h = 175 struct btrfs_trans_handle *h =
170 kmem_cache_alloc(btrfs_trans_handle_cachep, GFP_NOFS); 176 kmem_cache_alloc(btrfs_trans_handle_cachep, GFP_NOFS);
@@ -172,7 +178,8 @@ static struct btrfs_trans_handle *start_transaction(struct btrfs_root *root,
172 178
173 mutex_lock(&root->fs_info->trans_mutex); 179 mutex_lock(&root->fs_info->trans_mutex);
174 if (!root->fs_info->log_root_recovering && 180 if (!root->fs_info->log_root_recovering &&
175 ((wait == 1 && !root->fs_info->open_ioctl_trans) || wait == 2)) 181 ((type == TRANS_START && !root->fs_info->open_ioctl_trans) ||
182 type == TRANS_USERSPACE))
176 wait_current_trans(root); 183 wait_current_trans(root);
177 ret = join_transaction(root); 184 ret = join_transaction(root);
178 BUG_ON(ret); 185 BUG_ON(ret);
@@ -186,7 +193,7 @@ static struct btrfs_trans_handle *start_transaction(struct btrfs_root *root,
186 h->alloc_exclude_start = 0; 193 h->alloc_exclude_start = 0;
187 h->delayed_ref_updates = 0; 194 h->delayed_ref_updates = 0;
188 195
189 if (!current->journal_info) 196 if (!current->journal_info && type != TRANS_USERSPACE)
190 current->journal_info = h; 197 current->journal_info = h;
191 198
192 root->fs_info->running_transaction->use_count++; 199 root->fs_info->running_transaction->use_count++;
@@ -198,18 +205,18 @@ static struct btrfs_trans_handle *start_transaction(struct btrfs_root *root,
198struct btrfs_trans_handle *btrfs_start_transaction(struct btrfs_root *root, 205struct btrfs_trans_handle *btrfs_start_transaction(struct btrfs_root *root,
199 int num_blocks) 206 int num_blocks)
200{ 207{
201 return start_transaction(root, num_blocks, 1); 208 return start_transaction(root, num_blocks, TRANS_START);
202} 209}
203struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root, 210struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root,
204 int num_blocks) 211 int num_blocks)
205{ 212{
206 return start_transaction(root, num_blocks, 0); 213 return start_transaction(root, num_blocks, TRANS_JOIN);
207} 214}
208 215
209struct btrfs_trans_handle *btrfs_start_ioctl_transaction(struct btrfs_root *r, 216struct btrfs_trans_handle *btrfs_start_ioctl_transaction(struct btrfs_root *r,
210 int num_blocks) 217 int num_blocks)
211{ 218{
212 return start_transaction(r, num_blocks, 2); 219 return start_transaction(r, num_blocks, TRANS_USERSPACE);
213} 220}
214 221
215/* wait for a transaction commit to be fully complete */ 222/* wait for a transaction commit to be fully complete */
diff --git a/fs/cachefiles/interface.c b/fs/cachefiles/interface.c
index 431accd475a7..27089311fbea 100644
--- a/fs/cachefiles/interface.c
+++ b/fs/cachefiles/interface.c
@@ -114,8 +114,9 @@ nomem_lookup_data:
114 114
115/* 115/*
116 * attempt to look up the nominated node in this cache 116 * attempt to look up the nominated node in this cache
117 * - return -ETIMEDOUT to be scheduled again
117 */ 118 */
118static void cachefiles_lookup_object(struct fscache_object *_object) 119static int cachefiles_lookup_object(struct fscache_object *_object)
119{ 120{
120 struct cachefiles_lookup_data *lookup_data; 121 struct cachefiles_lookup_data *lookup_data;
121 struct cachefiles_object *parent, *object; 122 struct cachefiles_object *parent, *object;
@@ -145,13 +146,15 @@ static void cachefiles_lookup_object(struct fscache_object *_object)
145 object->fscache.cookie->def->type != FSCACHE_COOKIE_TYPE_INDEX) 146 object->fscache.cookie->def->type != FSCACHE_COOKIE_TYPE_INDEX)
146 cachefiles_attr_changed(&object->fscache); 147 cachefiles_attr_changed(&object->fscache);
147 148
148 if (ret < 0) { 149 if (ret < 0 && ret != -ETIMEDOUT) {
149 printk(KERN_WARNING "CacheFiles: Lookup failed error %d\n", 150 if (ret != -ENOBUFS)
150 ret); 151 printk(KERN_WARNING
152 "CacheFiles: Lookup failed error %d\n", ret);
151 fscache_object_lookup_error(&object->fscache); 153 fscache_object_lookup_error(&object->fscache);
152 } 154 }
153 155
154 _leave(" [%d]", ret); 156 _leave(" [%d]", ret);
157 return ret;
155} 158}
156 159
157/* 160/*
@@ -331,6 +334,7 @@ static void cachefiles_put_object(struct fscache_object *_object)
331 } 334 }
332 335
333 cache = object->fscache.cache; 336 cache = object->fscache.cache;
337 fscache_object_destroy(&object->fscache);
334 kmem_cache_free(cachefiles_object_jar, object); 338 kmem_cache_free(cachefiles_object_jar, object);
335 fscache_object_destroyed(cache); 339 fscache_object_destroyed(cache);
336 } 340 }
@@ -403,12 +407,26 @@ static int cachefiles_attr_changed(struct fscache_object *_object)
403 if (oi_size == ni_size) 407 if (oi_size == ni_size)
404 return 0; 408 return 0;
405 409
406 newattrs.ia_size = ni_size;
407 newattrs.ia_valid = ATTR_SIZE;
408
409 cachefiles_begin_secure(cache, &saved_cred); 410 cachefiles_begin_secure(cache, &saved_cred);
410 mutex_lock(&object->backer->d_inode->i_mutex); 411 mutex_lock(&object->backer->d_inode->i_mutex);
412
413 /* if there's an extension to a partial page at the end of the backing
414 * file, we need to discard the partial page so that we pick up new
415 * data after it */
416 if (oi_size & ~PAGE_MASK && ni_size > oi_size) {
417 _debug("discard tail %llx", oi_size);
418 newattrs.ia_valid = ATTR_SIZE;
419 newattrs.ia_size = oi_size & PAGE_MASK;
420 ret = notify_change(object->backer, &newattrs);
421 if (ret < 0)
422 goto truncate_failed;
423 }
424
425 newattrs.ia_valid = ATTR_SIZE;
426 newattrs.ia_size = ni_size;
411 ret = notify_change(object->backer, &newattrs); 427 ret = notify_change(object->backer, &newattrs);
428
429truncate_failed:
412 mutex_unlock(&object->backer->d_inode->i_mutex); 430 mutex_unlock(&object->backer->d_inode->i_mutex);
413 cachefiles_end_secure(cache, saved_cred); 431 cachefiles_end_secure(cache, saved_cred);
414 432
diff --git a/fs/cachefiles/namei.c b/fs/cachefiles/namei.c
index 4ce818ae39ea..14ac4806e291 100644
--- a/fs/cachefiles/namei.c
+++ b/fs/cachefiles/namei.c
@@ -21,17 +21,81 @@
21#include <linux/security.h> 21#include <linux/security.h>
22#include "internal.h" 22#include "internal.h"
23 23
24static int cachefiles_wait_bit(void *flags) 24#define CACHEFILES_KEYBUF_SIZE 512
25
26/*
27 * dump debugging info about an object
28 */
29static noinline
30void __cachefiles_printk_object(struct cachefiles_object *object,
31 const char *prefix,
32 u8 *keybuf)
25{ 33{
26 schedule(); 34 struct fscache_cookie *cookie;
27 return 0; 35 unsigned keylen, loop;
36
37 printk(KERN_ERR "%sobject: OBJ%x\n",
38 prefix, object->fscache.debug_id);
39 printk(KERN_ERR "%sobjstate=%s fl=%lx swfl=%lx ev=%lx[%lx]\n",
40 prefix, fscache_object_states[object->fscache.state],
41 object->fscache.flags, object->fscache.work.flags,
42 object->fscache.events,
43 object->fscache.event_mask & FSCACHE_OBJECT_EVENTS_MASK);
44 printk(KERN_ERR "%sops=%u inp=%u exc=%u\n",
45 prefix, object->fscache.n_ops, object->fscache.n_in_progress,
46 object->fscache.n_exclusive);
47 printk(KERN_ERR "%sparent=%p\n",
48 prefix, object->fscache.parent);
49
50 spin_lock(&object->fscache.lock);
51 cookie = object->fscache.cookie;
52 if (cookie) {
53 printk(KERN_ERR "%scookie=%p [pr=%p nd=%p fl=%lx]\n",
54 prefix,
55 object->fscache.cookie,
56 object->fscache.cookie->parent,
57 object->fscache.cookie->netfs_data,
58 object->fscache.cookie->flags);
59 if (keybuf)
60 keylen = cookie->def->get_key(cookie->netfs_data, keybuf,
61 CACHEFILES_KEYBUF_SIZE);
62 else
63 keylen = 0;
64 } else {
65 printk(KERN_ERR "%scookie=NULL\n", prefix);
66 keylen = 0;
67 }
68 spin_unlock(&object->fscache.lock);
69
70 if (keylen) {
71 printk(KERN_ERR "%skey=[%u] '", prefix, keylen);
72 for (loop = 0; loop < keylen; loop++)
73 printk("%02x", keybuf[loop]);
74 printk("'\n");
75 }
76}
77
78/*
79 * dump debugging info about a pair of objects
80 */
81static noinline void cachefiles_printk_object(struct cachefiles_object *object,
82 struct cachefiles_object *xobject)
83{
84 u8 *keybuf;
85
86 keybuf = kmalloc(CACHEFILES_KEYBUF_SIZE, GFP_NOIO);
87 if (object)
88 __cachefiles_printk_object(object, "", keybuf);
89 if (xobject)
90 __cachefiles_printk_object(xobject, "x", keybuf);
91 kfree(keybuf);
28} 92}
29 93
30/* 94/*
31 * record the fact that an object is now active 95 * record the fact that an object is now active
32 */ 96 */
33static void cachefiles_mark_object_active(struct cachefiles_cache *cache, 97static int cachefiles_mark_object_active(struct cachefiles_cache *cache,
34 struct cachefiles_object *object) 98 struct cachefiles_object *object)
35{ 99{
36 struct cachefiles_object *xobject; 100 struct cachefiles_object *xobject;
37 struct rb_node **_p, *_parent = NULL; 101 struct rb_node **_p, *_parent = NULL;
@@ -42,8 +106,11 @@ static void cachefiles_mark_object_active(struct cachefiles_cache *cache,
42try_again: 106try_again:
43 write_lock(&cache->active_lock); 107 write_lock(&cache->active_lock);
44 108
45 if (test_and_set_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags)) 109 if (test_and_set_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags)) {
110 printk(KERN_ERR "CacheFiles: Error: Object already active\n");
111 cachefiles_printk_object(object, NULL);
46 BUG(); 112 BUG();
113 }
47 114
48 dentry = object->dentry; 115 dentry = object->dentry;
49 _p = &cache->active_nodes.rb_node; 116 _p = &cache->active_nodes.rb_node;
@@ -66,8 +133,8 @@ try_again:
66 rb_insert_color(&object->active_node, &cache->active_nodes); 133 rb_insert_color(&object->active_node, &cache->active_nodes);
67 134
68 write_unlock(&cache->active_lock); 135 write_unlock(&cache->active_lock);
69 _leave(""); 136 _leave(" = 0");
70 return; 137 return 0;
71 138
72 /* an old object from a previous incarnation is hogging the slot - we 139 /* an old object from a previous incarnation is hogging the slot - we
73 * need to wait for it to be destroyed */ 140 * need to wait for it to be destroyed */
@@ -76,44 +143,70 @@ wait_for_old_object:
76 printk(KERN_ERR "\n"); 143 printk(KERN_ERR "\n");
77 printk(KERN_ERR "CacheFiles: Error:" 144 printk(KERN_ERR "CacheFiles: Error:"
78 " Unexpected object collision\n"); 145 " Unexpected object collision\n");
79 printk(KERN_ERR "xobject: OBJ%x\n", 146 cachefiles_printk_object(object, xobject);
80 xobject->fscache.debug_id);
81 printk(KERN_ERR "xobjstate=%s\n",
82 fscache_object_states[xobject->fscache.state]);
83 printk(KERN_ERR "xobjflags=%lx\n", xobject->fscache.flags);
84 printk(KERN_ERR "xobjevent=%lx [%lx]\n",
85 xobject->fscache.events, xobject->fscache.event_mask);
86 printk(KERN_ERR "xops=%u inp=%u exc=%u\n",
87 xobject->fscache.n_ops, xobject->fscache.n_in_progress,
88 xobject->fscache.n_exclusive);
89 printk(KERN_ERR "xcookie=%p [pr=%p nd=%p fl=%lx]\n",
90 xobject->fscache.cookie,
91 xobject->fscache.cookie->parent,
92 xobject->fscache.cookie->netfs_data,
93 xobject->fscache.cookie->flags);
94 printk(KERN_ERR "xparent=%p\n",
95 xobject->fscache.parent);
96 printk(KERN_ERR "object: OBJ%x\n",
97 object->fscache.debug_id);
98 printk(KERN_ERR "cookie=%p [pr=%p nd=%p fl=%lx]\n",
99 object->fscache.cookie,
100 object->fscache.cookie->parent,
101 object->fscache.cookie->netfs_data,
102 object->fscache.cookie->flags);
103 printk(KERN_ERR "parent=%p\n",
104 object->fscache.parent);
105 BUG(); 147 BUG();
106 } 148 }
107 atomic_inc(&xobject->usage); 149 atomic_inc(&xobject->usage);
108 write_unlock(&cache->active_lock); 150 write_unlock(&cache->active_lock);
109 151
110 _debug(">>> wait"); 152 if (test_bit(CACHEFILES_OBJECT_ACTIVE, &xobject->flags)) {
111 wait_on_bit(&xobject->flags, CACHEFILES_OBJECT_ACTIVE, 153 wait_queue_head_t *wq;
112 cachefiles_wait_bit, TASK_UNINTERRUPTIBLE); 154
113 _debug("<<< waited"); 155 signed long timeout = 60 * HZ;
156 wait_queue_t wait;
157 bool requeue;
158
159 /* if the object we're waiting for is queued for processing,
160 * then just put ourselves on the queue behind it */
161 if (slow_work_is_queued(&xobject->fscache.work)) {
162 _debug("queue OBJ%x behind OBJ%x immediately",
163 object->fscache.debug_id,
164 xobject->fscache.debug_id);
165 goto requeue;
166 }
167
168 /* otherwise we sleep until either the object we're waiting for
169 * is done, or the slow-work facility wants the thread back to
170 * do other work */
171 wq = bit_waitqueue(&xobject->flags, CACHEFILES_OBJECT_ACTIVE);
172 init_wait(&wait);
173 requeue = false;
174 do {
175 prepare_to_wait(wq, &wait, TASK_UNINTERRUPTIBLE);
176 if (!test_bit(CACHEFILES_OBJECT_ACTIVE, &xobject->flags))
177 break;
178 requeue = slow_work_sleep_till_thread_needed(
179 &object->fscache.work, &timeout);
180 } while (timeout > 0 && !requeue);
181 finish_wait(wq, &wait);
182
183 if (requeue &&
184 test_bit(CACHEFILES_OBJECT_ACTIVE, &xobject->flags)) {
185 _debug("queue OBJ%x behind OBJ%x after wait",
186 object->fscache.debug_id,
187 xobject->fscache.debug_id);
188 goto requeue;
189 }
190
191 if (timeout <= 0) {
192 printk(KERN_ERR "\n");
193 printk(KERN_ERR "CacheFiles: Error: Overlong"
194 " wait for old active object to go away\n");
195 cachefiles_printk_object(object, xobject);
196 goto requeue;
197 }
198 }
199
200 ASSERT(!test_bit(CACHEFILES_OBJECT_ACTIVE, &xobject->flags));
114 201
115 cache->cache.ops->put_object(&xobject->fscache); 202 cache->cache.ops->put_object(&xobject->fscache);
116 goto try_again; 203 goto try_again;
204
205requeue:
206 clear_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags);
207 cache->cache.ops->put_object(&xobject->fscache);
208 _leave(" = -ETIMEDOUT");
209 return -ETIMEDOUT;
117} 210}
118 211
119/* 212/*
@@ -254,7 +347,7 @@ int cachefiles_delete_object(struct cachefiles_cache *cache,
254 347
255 dir = dget_parent(object->dentry); 348 dir = dget_parent(object->dentry);
256 349
257 mutex_lock(&dir->d_inode->i_mutex); 350 mutex_lock_nested(&dir->d_inode->i_mutex, I_MUTEX_PARENT);
258 ret = cachefiles_bury_object(cache, dir, object->dentry); 351 ret = cachefiles_bury_object(cache, dir, object->dentry);
259 352
260 dput(dir); 353 dput(dir);
@@ -307,7 +400,7 @@ lookup_again:
307 /* search the current directory for the element name */ 400 /* search the current directory for the element name */
308 _debug("lookup '%s'", name); 401 _debug("lookup '%s'", name);
309 402
310 mutex_lock(&dir->d_inode->i_mutex); 403 mutex_lock_nested(&dir->d_inode->i_mutex, I_MUTEX_PARENT);
311 404
312 start = jiffies; 405 start = jiffies;
313 next = lookup_one_len(name, dir, nlen); 406 next = lookup_one_len(name, dir, nlen);
@@ -418,12 +511,15 @@ lookup_again:
418 } 511 }
419 512
420 /* note that we're now using this object */ 513 /* note that we're now using this object */
421 cachefiles_mark_object_active(cache, object); 514 ret = cachefiles_mark_object_active(cache, object);
422 515
423 mutex_unlock(&dir->d_inode->i_mutex); 516 mutex_unlock(&dir->d_inode->i_mutex);
424 dput(dir); 517 dput(dir);
425 dir = NULL; 518 dir = NULL;
426 519
520 if (ret == -ETIMEDOUT)
521 goto mark_active_timed_out;
522
427 _debug("=== OBTAINED_OBJECT ==="); 523 _debug("=== OBTAINED_OBJECT ===");
428 524
429 if (object->new) { 525 if (object->new) {
@@ -467,6 +563,10 @@ create_error:
467 cachefiles_io_error(cache, "Create/mkdir failed"); 563 cachefiles_io_error(cache, "Create/mkdir failed");
468 goto error; 564 goto error;
469 565
566mark_active_timed_out:
567 _debug("mark active timed out");
568 goto release_dentry;
569
470check_error: 570check_error:
471 _debug("check error %d", ret); 571 _debug("check error %d", ret);
472 write_lock(&cache->active_lock); 572 write_lock(&cache->active_lock);
@@ -474,7 +574,7 @@ check_error:
474 clear_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags); 574 clear_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags);
475 wake_up_bit(&object->flags, CACHEFILES_OBJECT_ACTIVE); 575 wake_up_bit(&object->flags, CACHEFILES_OBJECT_ACTIVE);
476 write_unlock(&cache->active_lock); 576 write_unlock(&cache->active_lock);
477 577release_dentry:
478 dput(object->dentry); 578 dput(object->dentry);
479 object->dentry = NULL; 579 object->dentry = NULL;
480 goto error_out; 580 goto error_out;
@@ -495,9 +595,6 @@ error:
495error_out2: 595error_out2:
496 dput(dir); 596 dput(dir);
497error_out: 597error_out:
498 if (ret == -ENOSPC)
499 ret = -ENOBUFS;
500
501 _leave(" = error %d", -ret); 598 _leave(" = error %d", -ret);
502 return ret; 599 return ret;
503} 600}
diff --git a/fs/cachefiles/rdwr.c b/fs/cachefiles/rdwr.c
index a69787e7dd96..a6c8c6fe8df9 100644
--- a/fs/cachefiles/rdwr.c
+++ b/fs/cachefiles/rdwr.c
@@ -11,6 +11,7 @@
11 11
12#include <linux/mount.h> 12#include <linux/mount.h>
13#include <linux/file.h> 13#include <linux/file.h>
14#include <linux/ima.h>
14#include "internal.h" 15#include "internal.h"
15 16
16/* 17/*
@@ -40,8 +41,10 @@ static int cachefiles_read_waiter(wait_queue_t *wait, unsigned mode,
40 41
41 _debug("--- monitor %p %lx ---", page, page->flags); 42 _debug("--- monitor %p %lx ---", page, page->flags);
42 43
43 if (!PageUptodate(page) && !PageError(page)) 44 if (!PageUptodate(page) && !PageError(page)) {
44 dump_stack(); 45 /* unlocked, not uptodate and not erronous? */
46 _debug("page probably truncated");
47 }
45 48
46 /* remove from the waitqueue */ 49 /* remove from the waitqueue */
47 list_del(&wait->task_list); 50 list_del(&wait->task_list);
@@ -61,6 +64,84 @@ static int cachefiles_read_waiter(wait_queue_t *wait, unsigned mode,
61} 64}
62 65
63/* 66/*
67 * handle a probably truncated page
68 * - check to see if the page is still relevant and reissue the read if
69 * possible
70 * - return -EIO on error, -ENODATA if the page is gone, -EINPROGRESS if we
71 * must wait again and 0 if successful
72 */
73static int cachefiles_read_reissue(struct cachefiles_object *object,
74 struct cachefiles_one_read *monitor)
75{
76 struct address_space *bmapping = object->backer->d_inode->i_mapping;
77 struct page *backpage = monitor->back_page, *backpage2;
78 int ret;
79
80 kenter("{ino=%lx},{%lx,%lx}",
81 object->backer->d_inode->i_ino,
82 backpage->index, backpage->flags);
83
84 /* skip if the page was truncated away completely */
85 if (backpage->mapping != bmapping) {
86 kleave(" = -ENODATA [mapping]");
87 return -ENODATA;
88 }
89
90 backpage2 = find_get_page(bmapping, backpage->index);
91 if (!backpage2) {
92 kleave(" = -ENODATA [gone]");
93 return -ENODATA;
94 }
95
96 if (backpage != backpage2) {
97 put_page(backpage2);
98 kleave(" = -ENODATA [different]");
99 return -ENODATA;
100 }
101
102 /* the page is still there and we already have a ref on it, so we don't
103 * need a second */
104 put_page(backpage2);
105
106 INIT_LIST_HEAD(&monitor->op_link);
107 add_page_wait_queue(backpage, &monitor->monitor);
108
109 if (trylock_page(backpage)) {
110 ret = -EIO;
111 if (PageError(backpage))
112 goto unlock_discard;
113 ret = 0;
114 if (PageUptodate(backpage))
115 goto unlock_discard;
116
117 kdebug("reissue read");
118 ret = bmapping->a_ops->readpage(NULL, backpage);
119 if (ret < 0)
120 goto unlock_discard;
121 }
122
123 /* but the page may have been read before the monitor was installed, so
124 * the monitor may miss the event - so we have to ensure that we do get
125 * one in such a case */
126 if (trylock_page(backpage)) {
127 _debug("jumpstart %p {%lx}", backpage, backpage->flags);
128 unlock_page(backpage);
129 }
130
131 /* it'll reappear on the todo list */
132 kleave(" = -EINPROGRESS");
133 return -EINPROGRESS;
134
135unlock_discard:
136 unlock_page(backpage);
137 spin_lock_irq(&object->work_lock);
138 list_del(&monitor->op_link);
139 spin_unlock_irq(&object->work_lock);
140 kleave(" = %d", ret);
141 return ret;
142}
143
144/*
64 * copy data from backing pages to netfs pages to complete a read operation 145 * copy data from backing pages to netfs pages to complete a read operation
65 * - driven by FS-Cache's thread pool 146 * - driven by FS-Cache's thread pool
66 */ 147 */
@@ -92,20 +173,26 @@ static void cachefiles_read_copier(struct fscache_operation *_op)
92 173
93 _debug("- copy {%lu}", monitor->back_page->index); 174 _debug("- copy {%lu}", monitor->back_page->index);
94 175
95 error = -EIO; 176 recheck:
96 if (PageUptodate(monitor->back_page)) { 177 if (PageUptodate(monitor->back_page)) {
97 copy_highpage(monitor->netfs_page, monitor->back_page); 178 copy_highpage(monitor->netfs_page, monitor->back_page);
98 179
99 pagevec_add(&pagevec, monitor->netfs_page); 180 pagevec_add(&pagevec, monitor->netfs_page);
100 fscache_mark_pages_cached(monitor->op, &pagevec); 181 fscache_mark_pages_cached(monitor->op, &pagevec);
101 error = 0; 182 error = 0;
102 } 183 } else if (!PageError(monitor->back_page)) {
103 184 /* the page has probably been truncated */
104 if (error) 185 error = cachefiles_read_reissue(object, monitor);
186 if (error == -EINPROGRESS)
187 goto next;
188 goto recheck;
189 } else {
105 cachefiles_io_error_obj( 190 cachefiles_io_error_obj(
106 object, 191 object,
107 "Readpage failed on backing file %lx", 192 "Readpage failed on backing file %lx",
108 (unsigned long) monitor->back_page->flags); 193 (unsigned long) monitor->back_page->flags);
194 error = -EIO;
195 }
109 196
110 page_cache_release(monitor->back_page); 197 page_cache_release(monitor->back_page);
111 198
@@ -114,6 +201,7 @@ static void cachefiles_read_copier(struct fscache_operation *_op)
114 fscache_put_retrieval(op); 201 fscache_put_retrieval(op);
115 kfree(monitor); 202 kfree(monitor);
116 203
204 next:
117 /* let the thread pool have some air occasionally */ 205 /* let the thread pool have some air occasionally */
118 max--; 206 max--;
119 if (max < 0 || need_resched()) { 207 if (max < 0 || need_resched()) {
@@ -333,7 +421,8 @@ int cachefiles_read_or_alloc_page(struct fscache_retrieval *op,
333 421
334 shift = PAGE_SHIFT - inode->i_sb->s_blocksize_bits; 422 shift = PAGE_SHIFT - inode->i_sb->s_blocksize_bits;
335 423
336 op->op.flags = FSCACHE_OP_FAST; 424 op->op.flags &= FSCACHE_OP_KEEP_FLAGS;
425 op->op.flags |= FSCACHE_OP_FAST;
337 op->op.processor = cachefiles_read_copier; 426 op->op.processor = cachefiles_read_copier;
338 427
339 pagevec_init(&pagevec, 0); 428 pagevec_init(&pagevec, 0);
@@ -639,7 +728,8 @@ int cachefiles_read_or_alloc_pages(struct fscache_retrieval *op,
639 728
640 pagevec_init(&pagevec, 0); 729 pagevec_init(&pagevec, 0);
641 730
642 op->op.flags = FSCACHE_OP_FAST; 731 op->op.flags &= FSCACHE_OP_KEEP_FLAGS;
732 op->op.flags |= FSCACHE_OP_FAST;
643 op->op.processor = cachefiles_read_copier; 733 op->op.processor = cachefiles_read_copier;
644 734
645 INIT_LIST_HEAD(&backpages); 735 INIT_LIST_HEAD(&backpages);
@@ -801,7 +891,8 @@ int cachefiles_write_page(struct fscache_storage *op, struct page *page)
801 struct cachefiles_cache *cache; 891 struct cachefiles_cache *cache;
802 mm_segment_t old_fs; 892 mm_segment_t old_fs;
803 struct file *file; 893 struct file *file;
804 loff_t pos; 894 loff_t pos, eof;
895 size_t len;
805 void *data; 896 void *data;
806 int ret; 897 int ret;
807 898
@@ -832,18 +923,33 @@ int cachefiles_write_page(struct fscache_storage *op, struct page *page)
832 if (IS_ERR(file)) { 923 if (IS_ERR(file)) {
833 ret = PTR_ERR(file); 924 ret = PTR_ERR(file);
834 } else { 925 } else {
926 ima_counts_get(file);
835 ret = -EIO; 927 ret = -EIO;
836 if (file->f_op->write) { 928 if (file->f_op->write) {
837 pos = (loff_t) page->index << PAGE_SHIFT; 929 pos = (loff_t) page->index << PAGE_SHIFT;
930
931 /* we mustn't write more data than we have, so we have
932 * to beware of a partial page at EOF */
933 eof = object->fscache.store_limit_l;
934 len = PAGE_SIZE;
935 if (eof & ~PAGE_MASK) {
936 ASSERTCMP(pos, <, eof);
937 if (eof - pos < PAGE_SIZE) {
938 _debug("cut short %llx to %llx",
939 pos, eof);
940 len = eof - pos;
941 ASSERTCMP(pos + len, ==, eof);
942 }
943 }
944
838 data = kmap(page); 945 data = kmap(page);
839 old_fs = get_fs(); 946 old_fs = get_fs();
840 set_fs(KERNEL_DS); 947 set_fs(KERNEL_DS);
841 ret = file->f_op->write( 948 ret = file->f_op->write(
842 file, (const void __user *) data, PAGE_SIZE, 949 file, (const void __user *) data, len, &pos);
843 &pos);
844 set_fs(old_fs); 950 set_fs(old_fs);
845 kunmap(page); 951 kunmap(page);
846 if (ret != PAGE_SIZE) 952 if (ret != len)
847 ret = -EIO; 953 ret = -EIO;
848 } 954 }
849 fput(file); 955 fput(file);
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES
index 145540a316ab..094ea65afc85 100644
--- a/fs/cifs/CHANGES
+++ b/fs/cifs/CHANGES
@@ -1,3 +1,12 @@
1Version 1.61
2------------
3Fix append problem to Samba servers (files opened with O_APPEND could
4have duplicated data). Fix oops in cifs_lookup. Workaround problem
5mounting to OS/400 Netserve. Fix oops in cifs_get_tcp_session.
6Disable use of server inode numbers when server only
7partially supports them (e.g. for one server querying inode numbers on
8FindFirst fails but QPathInfo queries works).
9
1Version 1.60 10Version 1.60
2------------- 11-------------
3Fix memory leak in reconnect. Fix oops in DFS mount error path. 12Fix memory leak in reconnect. Fix oops in DFS mount error path.
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 9a5e4f5f3122..29f1da761bbf 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -1037,7 +1037,7 @@ init_cifs(void)
1037 if (rc) 1037 if (rc)
1038 goto out_unregister_key_type; 1038 goto out_unregister_key_type;
1039#endif 1039#endif
1040 rc = slow_work_register_user(); 1040 rc = slow_work_register_user(THIS_MODULE);
1041 if (rc) 1041 if (rc)
1042 goto out_unregister_resolver_key; 1042 goto out_unregister_resolver_key;
1043 1043
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index 627a60a6c1b1..1f42f772865a 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -214,8 +214,6 @@ int cifs_posix_open(char *full_path, struct inode **pinode,
214 posix_flags |= SMB_O_EXCL; 214 posix_flags |= SMB_O_EXCL;
215 if (oflags & O_TRUNC) 215 if (oflags & O_TRUNC)
216 posix_flags |= SMB_O_TRUNC; 216 posix_flags |= SMB_O_TRUNC;
217 if (oflags & O_APPEND)
218 posix_flags |= SMB_O_APPEND;
219 if (oflags & O_SYNC) 217 if (oflags & O_SYNC)
220 posix_flags |= SMB_O_SYNC; 218 posix_flags |= SMB_O_SYNC;
221 if (oflags & O_DIRECTORY) 219 if (oflags & O_DIRECTORY)
@@ -643,9 +641,9 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
643 * O_EXCL: optimize away the lookup, but don't hash the dentry. Let 641 * O_EXCL: optimize away the lookup, but don't hash the dentry. Let
644 * the VFS handle the create. 642 * the VFS handle the create.
645 */ 643 */
646 if (nd->flags & LOOKUP_EXCL) { 644 if (nd && (nd->flags & LOOKUP_EXCL)) {
647 d_instantiate(direntry, NULL); 645 d_instantiate(direntry, NULL);
648 return 0; 646 return NULL;
649 } 647 }
650 648
651 /* can not grab the rename sem here since it would 649 /* can not grab the rename sem here since it would
@@ -675,7 +673,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
675 * reduction in network traffic in the other paths. 673 * reduction in network traffic in the other paths.
676 */ 674 */
677 if (pTcon->unix_ext) { 675 if (pTcon->unix_ext) {
678 if (!(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY)) && 676 if (nd && !(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY)) &&
679 (nd->flags & LOOKUP_OPEN) && !pTcon->broken_posix_open && 677 (nd->flags & LOOKUP_OPEN) && !pTcon->broken_posix_open &&
680 (nd->intent.open.flags & O_CREAT)) { 678 (nd->intent.open.flags & O_CREAT)) {
681 rc = cifs_posix_open(full_path, &newInode, nd->path.mnt, 679 rc = cifs_posix_open(full_path, &newInode, nd->path.mnt,
diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c
index 1e25efcb55c8..d27d4ec6579b 100644
--- a/fs/cifs/misc.c
+++ b/fs/cifs/misc.c
@@ -720,7 +720,7 @@ void
720cifs_autodisable_serverino(struct cifs_sb_info *cifs_sb) 720cifs_autodisable_serverino(struct cifs_sb_info *cifs_sb)
721{ 721{
722 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) { 722 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) {
723 cifs_sb->mnt_cifs_flags &= CIFS_MOUNT_SERVER_INUM; 723 cifs_sb->mnt_cifs_flags &= ~CIFS_MOUNT_SERVER_INUM;
724 cERROR(1, ("Autodisabling the use of server inode numbers on " 724 cERROR(1, ("Autodisabling the use of server inode numbers on "
725 "%s. This server doesn't seem to support them " 725 "%s. This server doesn't seem to support them "
726 "properly. Hardlinks will not be recognized on this " 726 "properly. Hardlinks will not be recognized on this "
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c
index f91fd51b32e3..d84e7058c298 100644
--- a/fs/compat_ioctl.c
+++ b/fs/compat_ioctl.c
@@ -1800,7 +1800,7 @@ struct space_resv_32 {
1800/* just account for different alignment */ 1800/* just account for different alignment */
1801static int compat_ioctl_preallocate(struct file *file, unsigned long arg) 1801static int compat_ioctl_preallocate(struct file *file, unsigned long arg)
1802{ 1802{
1803 struct space_resv_32 __user *p32 = (void __user *)arg; 1803 struct space_resv_32 __user *p32 = compat_ptr(arg);
1804 struct space_resv __user *p = compat_alloc_user_space(sizeof(*p)); 1804 struct space_resv __user *p = compat_alloc_user_space(sizeof(*p));
1805 1805
1806 if (copy_in_user(&p->l_type, &p32->l_type, sizeof(s16)) || 1806 if (copy_in_user(&p->l_type, &p32->l_type, sizeof(s16)) ||
@@ -2802,7 +2802,7 @@ asmlinkage long compat_sys_ioctl(unsigned int fd, unsigned int cmd,
2802#else 2802#else
2803 case FS_IOC_RESVSP: 2803 case FS_IOC_RESVSP:
2804 case FS_IOC_RESVSP64: 2804 case FS_IOC_RESVSP64:
2805 error = ioctl_preallocate(filp, (void __user *)arg); 2805 error = ioctl_preallocate(filp, compat_ptr(arg));
2806 goto out_fput; 2806 goto out_fput;
2807#endif 2807#endif
2808 2808
diff --git a/fs/exec.c b/fs/exec.c
index d49be6bc1793..ba112bd4a339 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -624,10 +624,8 @@ int setup_arg_pages(struct linux_binprm *bprm,
624 /* Move stack pages down in memory. */ 624 /* Move stack pages down in memory. */
625 if (stack_shift) { 625 if (stack_shift) {
626 ret = shift_arg_pages(vma, stack_shift); 626 ret = shift_arg_pages(vma, stack_shift);
627 if (ret) { 627 if (ret)
628 up_write(&mm->mmap_sem); 628 goto out_unlock;
629 return ret;
630 }
631 } 629 }
632 630
633#ifdef CONFIG_STACK_GROWSUP 631#ifdef CONFIG_STACK_GROWSUP
@@ -641,7 +639,7 @@ int setup_arg_pages(struct linux_binprm *bprm,
641 639
642out_unlock: 640out_unlock:
643 up_write(&mm->mmap_sem); 641 up_write(&mm->mmap_sem);
644 return 0; 642 return ret;
645} 643}
646EXPORT_SYMBOL(setup_arg_pages); 644EXPORT_SYMBOL(setup_arg_pages);
647 645
diff --git a/fs/ext3/fsync.c b/fs/ext3/fsync.c
index 451d166bbe93..8209f266e9ad 100644
--- a/fs/ext3/fsync.c
+++ b/fs/ext3/fsync.c
@@ -46,19 +46,21 @@
46int ext3_sync_file(struct file * file, struct dentry *dentry, int datasync) 46int ext3_sync_file(struct file * file, struct dentry *dentry, int datasync)
47{ 47{
48 struct inode *inode = dentry->d_inode; 48 struct inode *inode = dentry->d_inode;
49 struct ext3_inode_info *ei = EXT3_I(inode);
50 journal_t *journal = EXT3_SB(inode->i_sb)->s_journal;
49 int ret = 0; 51 int ret = 0;
52 tid_t commit_tid;
53
54 if (inode->i_sb->s_flags & MS_RDONLY)
55 return 0;
50 56
51 J_ASSERT(ext3_journal_current_handle() == NULL); 57 J_ASSERT(ext3_journal_current_handle() == NULL);
52 58
53 /* 59 /*
54 * data=writeback: 60 * data=writeback,ordered:
55 * The caller's filemap_fdatawrite()/wait will sync the data. 61 * The caller's filemap_fdatawrite()/wait will sync the data.
56 * sync_inode() will sync the metadata 62 * Metadata is in the journal, we wait for a proper transaction
57 * 63 * to commit here.
58 * data=ordered:
59 * The caller's filemap_fdatawrite() will write the data and
60 * sync_inode() will write the inode if it is dirty. Then the caller's
61 * filemap_fdatawait() will wait on the pages.
62 * 64 *
63 * data=journal: 65 * data=journal:
64 * filemap_fdatawrite won't do anything (the buffers are clean). 66 * filemap_fdatawrite won't do anything (the buffers are clean).
@@ -73,22 +75,16 @@ int ext3_sync_file(struct file * file, struct dentry *dentry, int datasync)
73 goto out; 75 goto out;
74 } 76 }
75 77
76 if (datasync && !(inode->i_state & I_DIRTY_DATASYNC)) 78 if (datasync)
77 goto flush; 79 commit_tid = atomic_read(&ei->i_datasync_tid);
80 else
81 commit_tid = atomic_read(&ei->i_sync_tid);
78 82
79 /* 83 if (log_start_commit(journal, commit_tid)) {
80 * The VFS has written the file data. If the inode is unaltered 84 log_wait_commit(journal, commit_tid);
81 * then we need not start a commit.
82 */
83 if (inode->i_state & (I_DIRTY_SYNC|I_DIRTY_DATASYNC)) {
84 struct writeback_control wbc = {
85 .sync_mode = WB_SYNC_ALL,
86 .nr_to_write = 0, /* sys_fsync did this */
87 };
88 ret = sync_inode(inode, &wbc);
89 goto out; 85 goto out;
90 } 86 }
91flush: 87
92 /* 88 /*
93 * In case we didn't commit a transaction, we have to flush 89 * In case we didn't commit a transaction, we have to flush
94 * disk caches manually so that data really is on persistent 90 * disk caches manually so that data really is on persistent
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
index acf1b1423327..354ed3b47b30 100644
--- a/fs/ext3/inode.c
+++ b/fs/ext3/inode.c
@@ -699,8 +699,9 @@ static int ext3_splice_branch(handle_t *handle, struct inode *inode,
699 int err = 0; 699 int err = 0;
700 struct ext3_block_alloc_info *block_i; 700 struct ext3_block_alloc_info *block_i;
701 ext3_fsblk_t current_block; 701 ext3_fsblk_t current_block;
702 struct ext3_inode_info *ei = EXT3_I(inode);
702 703
703 block_i = EXT3_I(inode)->i_block_alloc_info; 704 block_i = ei->i_block_alloc_info;
704 /* 705 /*
705 * If we're splicing into a [td]indirect block (as opposed to the 706 * If we're splicing into a [td]indirect block (as opposed to the
706 * inode) then we need to get write access to the [td]indirect block 707 * inode) then we need to get write access to the [td]indirect block
@@ -741,6 +742,8 @@ static int ext3_splice_branch(handle_t *handle, struct inode *inode,
741 742
742 inode->i_ctime = CURRENT_TIME_SEC; 743 inode->i_ctime = CURRENT_TIME_SEC;
743 ext3_mark_inode_dirty(handle, inode); 744 ext3_mark_inode_dirty(handle, inode);
745 /* ext3_mark_inode_dirty already updated i_sync_tid */
746 atomic_set(&ei->i_datasync_tid, handle->h_transaction->t_tid);
744 747
745 /* had we spliced it onto indirect block? */ 748 /* had we spliced it onto indirect block? */
746 if (where->bh) { 749 if (where->bh) {
@@ -1735,6 +1738,7 @@ static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb,
1735 ssize_t ret; 1738 ssize_t ret;
1736 int orphan = 0; 1739 int orphan = 0;
1737 size_t count = iov_length(iov, nr_segs); 1740 size_t count = iov_length(iov, nr_segs);
1741 int retries = 0;
1738 1742
1739 if (rw == WRITE) { 1743 if (rw == WRITE) {
1740 loff_t final_size = offset + count; 1744 loff_t final_size = offset + count;
@@ -1757,9 +1761,12 @@ static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb,
1757 } 1761 }
1758 } 1762 }
1759 1763
1764retry:
1760 ret = blockdev_direct_IO(rw, iocb, inode, inode->i_sb->s_bdev, iov, 1765 ret = blockdev_direct_IO(rw, iocb, inode, inode->i_sb->s_bdev, iov,
1761 offset, nr_segs, 1766 offset, nr_segs,
1762 ext3_get_block, NULL); 1767 ext3_get_block, NULL);
1768 if (ret == -ENOSPC && ext3_should_retry_alloc(inode->i_sb, &retries))
1769 goto retry;
1763 1770
1764 if (orphan) { 1771 if (orphan) {
1765 int err; 1772 int err;
@@ -2750,6 +2757,8 @@ struct inode *ext3_iget(struct super_block *sb, unsigned long ino)
2750 struct ext3_inode_info *ei; 2757 struct ext3_inode_info *ei;
2751 struct buffer_head *bh; 2758 struct buffer_head *bh;
2752 struct inode *inode; 2759 struct inode *inode;
2760 journal_t *journal = EXT3_SB(sb)->s_journal;
2761 transaction_t *transaction;
2753 long ret; 2762 long ret;
2754 int block; 2763 int block;
2755 2764
@@ -2827,6 +2836,30 @@ struct inode *ext3_iget(struct super_block *sb, unsigned long ino)
2827 ei->i_data[block] = raw_inode->i_block[block]; 2836 ei->i_data[block] = raw_inode->i_block[block];
2828 INIT_LIST_HEAD(&ei->i_orphan); 2837 INIT_LIST_HEAD(&ei->i_orphan);
2829 2838
2839 /*
2840 * Set transaction id's of transactions that have to be committed
2841 * to finish f[data]sync. We set them to currently running transaction
2842 * as we cannot be sure that the inode or some of its metadata isn't
2843 * part of the transaction - the inode could have been reclaimed and
2844 * now it is reread from disk.
2845 */
2846 if (journal) {
2847 tid_t tid;
2848
2849 spin_lock(&journal->j_state_lock);
2850 if (journal->j_running_transaction)
2851 transaction = journal->j_running_transaction;
2852 else
2853 transaction = journal->j_committing_transaction;
2854 if (transaction)
2855 tid = transaction->t_tid;
2856 else
2857 tid = journal->j_commit_sequence;
2858 spin_unlock(&journal->j_state_lock);
2859 atomic_set(&ei->i_sync_tid, tid);
2860 atomic_set(&ei->i_datasync_tid, tid);
2861 }
2862
2830 if (inode->i_ino >= EXT3_FIRST_INO(inode->i_sb) + 1 && 2863 if (inode->i_ino >= EXT3_FIRST_INO(inode->i_sb) + 1 &&
2831 EXT3_INODE_SIZE(inode->i_sb) > EXT3_GOOD_OLD_INODE_SIZE) { 2864 EXT3_INODE_SIZE(inode->i_sb) > EXT3_GOOD_OLD_INODE_SIZE) {
2832 /* 2865 /*
@@ -3011,6 +3044,7 @@ again:
3011 err = rc; 3044 err = rc;
3012 ei->i_state &= ~EXT3_STATE_NEW; 3045 ei->i_state &= ~EXT3_STATE_NEW;
3013 3046
3047 atomic_set(&ei->i_sync_tid, handle->h_transaction->t_tid);
3014out_brelse: 3048out_brelse:
3015 brelse (bh); 3049 brelse (bh);
3016 ext3_std_error(inode->i_sb, err); 3050 ext3_std_error(inode->i_sb, err);
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 7a520a862f49..427496c4767c 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -466,6 +466,8 @@ static struct inode *ext3_alloc_inode(struct super_block *sb)
466 return NULL; 466 return NULL;
467 ei->i_block_alloc_info = NULL; 467 ei->i_block_alloc_info = NULL;
468 ei->vfs_inode.i_version = 1; 468 ei->vfs_inode.i_version = 1;
469 atomic_set(&ei->i_datasync_tid, 0);
470 atomic_set(&ei->i_sync_tid, 0);
469 return &ei->vfs_inode; 471 return &ei->vfs_inode;
470} 472}
471 473
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 00d153f2f261..8825515eeddd 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -322,6 +322,7 @@ static inline __u32 ext4_mask_flags(umode_t mode, __u32 flags)
322#define EXT4_STATE_NO_EXPAND 0x00000008 /* No space for expansion */ 322#define EXT4_STATE_NO_EXPAND 0x00000008 /* No space for expansion */
323#define EXT4_STATE_DA_ALLOC_CLOSE 0x00000010 /* Alloc DA blks on close */ 323#define EXT4_STATE_DA_ALLOC_CLOSE 0x00000010 /* Alloc DA blks on close */
324#define EXT4_STATE_EXT_MIGRATE 0x00000020 /* Inode is migrating */ 324#define EXT4_STATE_EXT_MIGRATE 0x00000020 /* Inode is migrating */
325#define EXT4_STATE_DIO_UNWRITTEN 0x00000040 /* need convert on dio done*/
325 326
326/* Used to pass group descriptor data when online resize is done */ 327/* Used to pass group descriptor data when online resize is done */
327struct ext4_new_group_input { 328struct ext4_new_group_input {
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 10539e364283..715264b4bae4 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -2807,6 +2807,8 @@ fix_extent_len:
2807 * into three uninitialized extent(at most). After IO complete, the part 2807 * into three uninitialized extent(at most). After IO complete, the part
2808 * being filled will be convert to initialized by the end_io callback function 2808 * being filled will be convert to initialized by the end_io callback function
2809 * via ext4_convert_unwritten_extents(). 2809 * via ext4_convert_unwritten_extents().
2810 *
2811 * Returns the size of uninitialized extent to be written on success.
2810 */ 2812 */
2811static int ext4_split_unwritten_extents(handle_t *handle, 2813static int ext4_split_unwritten_extents(handle_t *handle,
2812 struct inode *inode, 2814 struct inode *inode,
@@ -2824,7 +2826,6 @@ static int ext4_split_unwritten_extents(handle_t *handle,
2824 unsigned int allocated, ee_len, depth; 2826 unsigned int allocated, ee_len, depth;
2825 ext4_fsblk_t newblock; 2827 ext4_fsblk_t newblock;
2826 int err = 0; 2828 int err = 0;
2827 int ret = 0;
2828 2829
2829 ext_debug("ext4_split_unwritten_extents: inode %lu," 2830 ext_debug("ext4_split_unwritten_extents: inode %lu,"
2830 "iblock %llu, max_blocks %u\n", inode->i_ino, 2831 "iblock %llu, max_blocks %u\n", inode->i_ino,
@@ -2842,12 +2843,12 @@ static int ext4_split_unwritten_extents(handle_t *handle,
2842 ext4_ext_store_pblock(&orig_ex, ext_pblock(ex)); 2843 ext4_ext_store_pblock(&orig_ex, ext_pblock(ex));
2843 2844
2844 /* 2845 /*
2845 * if the entire unintialized extent length less than 2846 * If the uninitialized extent begins at the same logical
2846 * the size of extent to write, there is no need to split 2847 * block where the write begins, and the write completely
2847 * uninitialized extent 2848 * covers the extent, then we don't need to split it.
2848 */ 2849 */
2849 if (allocated <= max_blocks) 2850 if ((iblock == ee_block) && (allocated <= max_blocks))
2850 return ret; 2851 return allocated;
2851 2852
2852 err = ext4_ext_get_access(handle, inode, path + depth); 2853 err = ext4_ext_get_access(handle, inode, path + depth);
2853 if (err) 2854 if (err)
@@ -3048,12 +3049,18 @@ ext4_ext_handle_uninitialized_extents(handle_t *handle, struct inode *inode,
3048 ret = ext4_split_unwritten_extents(handle, 3049 ret = ext4_split_unwritten_extents(handle,
3049 inode, path, iblock, 3050 inode, path, iblock,
3050 max_blocks, flags); 3051 max_blocks, flags);
3051 /* flag the io_end struct that we need convert when IO done */ 3052 /*
3053 * Flag the inode(non aio case) or end_io struct (aio case)
3054 * that this IO needs to convertion to written when IO is
3055 * completed
3056 */
3052 if (io) 3057 if (io)
3053 io->flag = DIO_AIO_UNWRITTEN; 3058 io->flag = DIO_AIO_UNWRITTEN;
3059 else
3060 EXT4_I(inode)->i_state |= EXT4_STATE_DIO_UNWRITTEN;
3054 goto out; 3061 goto out;
3055 } 3062 }
3056 /* DIO end_io complete, convert the filled extent to written */ 3063 /* async DIO end_io complete, convert the filled extent to written */
3057 if (flags == EXT4_GET_BLOCKS_DIO_CONVERT_EXT) { 3064 if (flags == EXT4_GET_BLOCKS_DIO_CONVERT_EXT) {
3058 ret = ext4_convert_unwritten_extents_dio(handle, inode, 3065 ret = ext4_convert_unwritten_extents_dio(handle, inode,
3059 path); 3066 path);
@@ -3295,10 +3302,16 @@ int ext4_ext_get_blocks(handle_t *handle, struct inode *inode,
3295 * To avoid unecessary convertion for every aio dio rewrite 3302 * To avoid unecessary convertion for every aio dio rewrite
3296 * to the mid of file, here we flag the IO that is really 3303 * to the mid of file, here we flag the IO that is really
3297 * need the convertion. 3304 * need the convertion.
3298 * 3305 * For non asycn direct IO case, flag the inode state
3306 * that we need to perform convertion when IO is done.
3299 */ 3307 */
3300 if (io && flags == EXT4_GET_BLOCKS_DIO_CREATE_EXT) 3308 if (flags == EXT4_GET_BLOCKS_DIO_CREATE_EXT) {
3301 io->flag = DIO_AIO_UNWRITTEN; 3309 if (io)
3310 io->flag = DIO_AIO_UNWRITTEN;
3311 else
3312 EXT4_I(inode)->i_state |=
3313 EXT4_STATE_DIO_UNWRITTEN;;
3314 }
3302 } 3315 }
3303 err = ext4_ext_insert_extent(handle, inode, path, &newex, flags); 3316 err = ext4_ext_insert_extent(handle, inode, path, &newex, flags);
3304 if (err) { 3317 if (err) {
@@ -3519,6 +3532,7 @@ retry:
3519 * 3532 *
3520 * This function is called from the direct IO end io call back 3533 * This function is called from the direct IO end io call back
3521 * function, to convert the fallocated extents after IO is completed. 3534 * function, to convert the fallocated extents after IO is completed.
3535 * Returns 0 on success.
3522 */ 3536 */
3523int ext4_convert_unwritten_extents(struct inode *inode, loff_t offset, 3537int ext4_convert_unwritten_extents(struct inode *inode, loff_t offset,
3524 loff_t len) 3538 loff_t len)
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 5c5bc5dafff8..2c8caa51addb 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -193,7 +193,7 @@ static int try_to_extend_transaction(handle_t *handle, struct inode *inode)
193 * so before we call here everything must be consistently dirtied against 193 * so before we call here everything must be consistently dirtied against
194 * this transaction. 194 * this transaction.
195 */ 195 */
196 int ext4_truncate_restart_trans(handle_t *handle, struct inode *inode, 196int ext4_truncate_restart_trans(handle_t *handle, struct inode *inode,
197 int nblocks) 197 int nblocks)
198{ 198{
199 int ret; 199 int ret;
@@ -209,6 +209,7 @@ static int try_to_extend_transaction(handle_t *handle, struct inode *inode)
209 up_write(&EXT4_I(inode)->i_data_sem); 209 up_write(&EXT4_I(inode)->i_data_sem);
210 ret = ext4_journal_restart(handle, blocks_for_truncate(inode)); 210 ret = ext4_journal_restart(handle, blocks_for_truncate(inode));
211 down_write(&EXT4_I(inode)->i_data_sem); 211 down_write(&EXT4_I(inode)->i_data_sem);
212 ext4_discard_preallocations(inode);
212 213
213 return ret; 214 return ret;
214} 215}
@@ -3445,8 +3446,6 @@ out:
3445 return ret; 3446 return ret;
3446} 3447}
3447 3448
3448/* Maximum number of blocks we map for direct IO at once. */
3449
3450static int ext4_get_block_dio_write(struct inode *inode, sector_t iblock, 3449static int ext4_get_block_dio_write(struct inode *inode, sector_t iblock,
3451 struct buffer_head *bh_result, int create) 3450 struct buffer_head *bh_result, int create)
3452{ 3451{
@@ -3654,13 +3653,14 @@ static void ext4_end_io_dio(struct kiocb *iocb, loff_t offset,
3654 ext4_io_end_t *io_end = iocb->private; 3653 ext4_io_end_t *io_end = iocb->private;
3655 struct workqueue_struct *wq; 3654 struct workqueue_struct *wq;
3656 3655
3656 /* if not async direct IO or dio with 0 bytes write, just return */
3657 if (!io_end || !size)
3658 return;
3659
3657 ext_debug("ext4_end_io_dio(): io_end 0x%p" 3660 ext_debug("ext4_end_io_dio(): io_end 0x%p"
3658 "for inode %lu, iocb 0x%p, offset %llu, size %llu\n", 3661 "for inode %lu, iocb 0x%p, offset %llu, size %llu\n",
3659 iocb->private, io_end->inode->i_ino, iocb, offset, 3662 iocb->private, io_end->inode->i_ino, iocb, offset,
3660 size); 3663 size);
3661 /* if not async direct IO or dio with 0 bytes write, just return */
3662 if (!io_end || !size)
3663 return;
3664 3664
3665 /* if not aio dio with unwritten extents, just free io and return */ 3665 /* if not aio dio with unwritten extents, just free io and return */
3666 if (io_end->flag != DIO_AIO_UNWRITTEN){ 3666 if (io_end->flag != DIO_AIO_UNWRITTEN){
@@ -3771,13 +3771,19 @@ static ssize_t ext4_ext_direct_IO(int rw, struct kiocb *iocb,
3771 if (ret != -EIOCBQUEUED && ret <= 0 && iocb->private) { 3771 if (ret != -EIOCBQUEUED && ret <= 0 && iocb->private) {
3772 ext4_free_io_end(iocb->private); 3772 ext4_free_io_end(iocb->private);
3773 iocb->private = NULL; 3773 iocb->private = NULL;
3774 } else if (ret > 0) 3774 } else if (ret > 0 && (EXT4_I(inode)->i_state &
3775 EXT4_STATE_DIO_UNWRITTEN)) {
3776 int err;
3775 /* 3777 /*
3776 * for non AIO case, since the IO is already 3778 * for non AIO case, since the IO is already
3777 * completed, we could do the convertion right here 3779 * completed, we could do the convertion right here
3778 */ 3780 */
3779 ret = ext4_convert_unwritten_extents(inode, 3781 err = ext4_convert_unwritten_extents(inode,
3780 offset, ret); 3782 offset, ret);
3783 if (err < 0)
3784 ret = err;
3785 EXT4_I(inode)->i_state &= ~EXT4_STATE_DIO_UNWRITTEN;
3786 }
3781 return ret; 3787 return ret;
3782 } 3788 }
3783 3789
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index 7c8fe80bacdd..6d2c1b897fc7 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -1518,12 +1518,8 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
1518 return retval; 1518 return retval;
1519 1519
1520 if (blocks == 1 && !dx_fallback && 1520 if (blocks == 1 && !dx_fallback &&
1521 EXT4_HAS_COMPAT_FEATURE(sb, EXT4_FEATURE_COMPAT_DIR_INDEX)) { 1521 EXT4_HAS_COMPAT_FEATURE(sb, EXT4_FEATURE_COMPAT_DIR_INDEX))
1522 retval = make_indexed_dir(handle, dentry, inode, bh); 1522 return make_indexed_dir(handle, dentry, inode, bh);
1523 if (retval == -ENOSPC)
1524 brelse(bh);
1525 return retval;
1526 }
1527 brelse(bh); 1523 brelse(bh);
1528 } 1524 }
1529 bh = ext4_append(handle, dir, &block, &retval); 1525 bh = ext4_append(handle, dir, &block, &retval);
@@ -1532,10 +1528,7 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
1532 de = (struct ext4_dir_entry_2 *) bh->b_data; 1528 de = (struct ext4_dir_entry_2 *) bh->b_data;
1533 de->inode = 0; 1529 de->inode = 0;
1534 de->rec_len = ext4_rec_len_to_disk(blocksize, blocksize); 1530 de->rec_len = ext4_rec_len_to_disk(blocksize, blocksize);
1535 retval = add_dirent_to_buf(handle, dentry, inode, de, bh); 1531 return add_dirent_to_buf(handle, dentry, inode, de, bh);
1536 if (retval == -ENOSPC)
1537 brelse(bh);
1538 return retval;
1539} 1532}
1540 1533
1541/* 1534/*
@@ -1664,8 +1657,7 @@ static int ext4_dx_add_entry(handle_t *handle, struct dentry *dentry,
1664 if (!de) 1657 if (!de)
1665 goto cleanup; 1658 goto cleanup;
1666 err = add_dirent_to_buf(handle, dentry, inode, de, bh); 1659 err = add_dirent_to_buf(handle, dentry, inode, de, bh);
1667 if (err != -ENOSPC) 1660 bh = NULL;
1668 bh = NULL;
1669 goto cleanup; 1661 goto cleanup;
1670 1662
1671journal_error: 1663journal_error:
diff --git a/fs/fcntl.c b/fs/fcntl.c
index fc089f2f7f56..2cf93ec40a67 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -284,7 +284,7 @@ static int f_setown_ex(struct file *filp, unsigned long arg)
284 type = PIDTYPE_PID; 284 type = PIDTYPE_PID;
285 break; 285 break;
286 286
287 case F_OWNER_GID: 287 case F_OWNER_PGRP:
288 type = PIDTYPE_PGID; 288 type = PIDTYPE_PGID;
289 break; 289 break;
290 290
@@ -321,7 +321,7 @@ static int f_getown_ex(struct file *filp, unsigned long arg)
321 break; 321 break;
322 322
323 case PIDTYPE_PGID: 323 case PIDTYPE_PGID:
324 owner.type = F_OWNER_GID; 324 owner.type = F_OWNER_PGRP;
325 break; 325 break;
326 326
327 default: 327 default:
diff --git a/fs/fscache/Kconfig b/fs/fscache/Kconfig
index 9bbb8ce7bea0..864dac20a242 100644
--- a/fs/fscache/Kconfig
+++ b/fs/fscache/Kconfig
@@ -54,3 +54,10 @@ config FSCACHE_DEBUG
54 enabled by setting bits in /sys/modules/fscache/parameter/debug. 54 enabled by setting bits in /sys/modules/fscache/parameter/debug.
55 55
56 See Documentation/filesystems/caching/fscache.txt for more information. 56 See Documentation/filesystems/caching/fscache.txt for more information.
57
58config FSCACHE_OBJECT_LIST
59 bool "Maintain global object list for debugging purposes"
60 depends on FSCACHE && PROC_FS
61 help
62 Maintain a global list of active fscache objects that can be
63 retrieved through /proc/fs/fscache/objects for debugging purposes
diff --git a/fs/fscache/Makefile b/fs/fscache/Makefile
index 91571b95aacc..6d561531cb36 100644
--- a/fs/fscache/Makefile
+++ b/fs/fscache/Makefile
@@ -15,5 +15,6 @@ fscache-y := \
15fscache-$(CONFIG_PROC_FS) += proc.o 15fscache-$(CONFIG_PROC_FS) += proc.o
16fscache-$(CONFIG_FSCACHE_STATS) += stats.o 16fscache-$(CONFIG_FSCACHE_STATS) += stats.o
17fscache-$(CONFIG_FSCACHE_HISTOGRAM) += histogram.o 17fscache-$(CONFIG_FSCACHE_HISTOGRAM) += histogram.o
18fscache-$(CONFIG_FSCACHE_OBJECT_LIST) += object-list.o
18 19
19obj-$(CONFIG_FSCACHE) := fscache.o 20obj-$(CONFIG_FSCACHE) := fscache.o
diff --git a/fs/fscache/cache.c b/fs/fscache/cache.c
index e21985bbb1fb..6a3c48abd677 100644
--- a/fs/fscache/cache.c
+++ b/fs/fscache/cache.c
@@ -263,6 +263,7 @@ int fscache_add_cache(struct fscache_cache *cache,
263 spin_lock(&cache->object_list_lock); 263 spin_lock(&cache->object_list_lock);
264 list_add_tail(&ifsdef->cache_link, &cache->object_list); 264 list_add_tail(&ifsdef->cache_link, &cache->object_list);
265 spin_unlock(&cache->object_list_lock); 265 spin_unlock(&cache->object_list_lock);
266 fscache_objlist_add(ifsdef);
266 267
267 /* add the cache's netfs definition index object to the top level index 268 /* add the cache's netfs definition index object to the top level index
268 * cookie as a known backing object */ 269 * cookie as a known backing object */
@@ -380,11 +381,15 @@ void fscache_withdraw_cache(struct fscache_cache *cache)
380 381
381 /* make sure all pages pinned by operations on behalf of the netfs are 382 /* make sure all pages pinned by operations on behalf of the netfs are
382 * written to disk */ 383 * written to disk */
384 fscache_stat(&fscache_n_cop_sync_cache);
383 cache->ops->sync_cache(cache); 385 cache->ops->sync_cache(cache);
386 fscache_stat_d(&fscache_n_cop_sync_cache);
384 387
385 /* dissociate all the netfs pages backed by this cache from the block 388 /* dissociate all the netfs pages backed by this cache from the block
386 * mappings in the cache */ 389 * mappings in the cache */
390 fscache_stat(&fscache_n_cop_dissociate_pages);
387 cache->ops->dissociate_pages(cache); 391 cache->ops->dissociate_pages(cache);
392 fscache_stat_d(&fscache_n_cop_dissociate_pages);
388 393
389 /* we now have to destroy all the active objects pertaining to this 394 /* we now have to destroy all the active objects pertaining to this
390 * cache - which we do by passing them off to thread pool to be 395 * cache - which we do by passing them off to thread pool to be
diff --git a/fs/fscache/cookie.c b/fs/fscache/cookie.c
index 72fd18f6c71f..990535071a8a 100644
--- a/fs/fscache/cookie.c
+++ b/fs/fscache/cookie.c
@@ -36,6 +36,7 @@ void fscache_cookie_init_once(void *_cookie)
36 36
37 memset(cookie, 0, sizeof(*cookie)); 37 memset(cookie, 0, sizeof(*cookie));
38 spin_lock_init(&cookie->lock); 38 spin_lock_init(&cookie->lock);
39 spin_lock_init(&cookie->stores_lock);
39 INIT_HLIST_HEAD(&cookie->backing_objects); 40 INIT_HLIST_HEAD(&cookie->backing_objects);
40} 41}
41 42
@@ -102,7 +103,9 @@ struct fscache_cookie *__fscache_acquire_cookie(
102 cookie->netfs_data = netfs_data; 103 cookie->netfs_data = netfs_data;
103 cookie->flags = 0; 104 cookie->flags = 0;
104 105
105 INIT_RADIX_TREE(&cookie->stores, GFP_NOFS); 106 /* radix tree insertion won't use the preallocation pool unless it's
107 * told it may not wait */
108 INIT_RADIX_TREE(&cookie->stores, GFP_NOFS & ~__GFP_WAIT);
106 109
107 switch (cookie->def->type) { 110 switch (cookie->def->type) {
108 case FSCACHE_COOKIE_TYPE_INDEX: 111 case FSCACHE_COOKIE_TYPE_INDEX:
@@ -249,7 +252,9 @@ static int fscache_alloc_object(struct fscache_cache *cache,
249 252
250 /* ask the cache to allocate an object (we may end up with duplicate 253 /* ask the cache to allocate an object (we may end up with duplicate
251 * objects at this stage, but we sort that out later) */ 254 * objects at this stage, but we sort that out later) */
255 fscache_stat(&fscache_n_cop_alloc_object);
252 object = cache->ops->alloc_object(cache, cookie); 256 object = cache->ops->alloc_object(cache, cookie);
257 fscache_stat_d(&fscache_n_cop_alloc_object);
253 if (IS_ERR(object)) { 258 if (IS_ERR(object)) {
254 fscache_stat(&fscache_n_object_no_alloc); 259 fscache_stat(&fscache_n_object_no_alloc);
255 ret = PTR_ERR(object); 260 ret = PTR_ERR(object);
@@ -270,8 +275,11 @@ static int fscache_alloc_object(struct fscache_cache *cache,
270 /* only attach if we managed to allocate all we needed, otherwise 275 /* only attach if we managed to allocate all we needed, otherwise
271 * discard the object we just allocated and instead use the one 276 * discard the object we just allocated and instead use the one
272 * attached to the cookie */ 277 * attached to the cookie */
273 if (fscache_attach_object(cookie, object) < 0) 278 if (fscache_attach_object(cookie, object) < 0) {
279 fscache_stat(&fscache_n_cop_put_object);
274 cache->ops->put_object(object); 280 cache->ops->put_object(object);
281 fscache_stat_d(&fscache_n_cop_put_object);
282 }
275 283
276 _leave(" = 0"); 284 _leave(" = 0");
277 return 0; 285 return 0;
@@ -287,7 +295,9 @@ object_already_extant:
287 return 0; 295 return 0;
288 296
289error_put: 297error_put:
298 fscache_stat(&fscache_n_cop_put_object);
290 cache->ops->put_object(object); 299 cache->ops->put_object(object);
300 fscache_stat_d(&fscache_n_cop_put_object);
291error: 301error:
292 _leave(" = %d", ret); 302 _leave(" = %d", ret);
293 return ret; 303 return ret;
@@ -349,6 +359,8 @@ static int fscache_attach_object(struct fscache_cookie *cookie,
349 object->cookie = cookie; 359 object->cookie = cookie;
350 atomic_inc(&cookie->usage); 360 atomic_inc(&cookie->usage);
351 hlist_add_head(&object->cookie_link, &cookie->backing_objects); 361 hlist_add_head(&object->cookie_link, &cookie->backing_objects);
362
363 fscache_objlist_add(object);
352 ret = 0; 364 ret = 0;
353 365
354cant_attach_object: 366cant_attach_object:
@@ -403,6 +415,8 @@ void __fscache_relinquish_cookie(struct fscache_cookie *cookie, int retire)
403 unsigned long event; 415 unsigned long event;
404 416
405 fscache_stat(&fscache_n_relinquishes); 417 fscache_stat(&fscache_n_relinquishes);
418 if (retire)
419 fscache_stat(&fscache_n_relinquishes_retire);
406 420
407 if (!cookie) { 421 if (!cookie) {
408 fscache_stat(&fscache_n_relinquishes_null); 422 fscache_stat(&fscache_n_relinquishes_null);
@@ -428,12 +442,8 @@ void __fscache_relinquish_cookie(struct fscache_cookie *cookie, int retire)
428 442
429 event = retire ? FSCACHE_OBJECT_EV_RETIRE : FSCACHE_OBJECT_EV_RELEASE; 443 event = retire ? FSCACHE_OBJECT_EV_RETIRE : FSCACHE_OBJECT_EV_RELEASE;
430 444
431 /* detach pointers back to the netfs */
432 spin_lock(&cookie->lock); 445 spin_lock(&cookie->lock);
433 446
434 cookie->netfs_data = NULL;
435 cookie->def = NULL;
436
437 /* break links with all the active objects */ 447 /* break links with all the active objects */
438 while (!hlist_empty(&cookie->backing_objects)) { 448 while (!hlist_empty(&cookie->backing_objects)) {
439 object = hlist_entry(cookie->backing_objects.first, 449 object = hlist_entry(cookie->backing_objects.first,
@@ -456,6 +466,10 @@ void __fscache_relinquish_cookie(struct fscache_cookie *cookie, int retire)
456 BUG(); 466 BUG();
457 } 467 }
458 468
469 /* detach pointers back to the netfs */
470 cookie->netfs_data = NULL;
471 cookie->def = NULL;
472
459 spin_unlock(&cookie->lock); 473 spin_unlock(&cookie->lock);
460 474
461 if (cookie->parent) { 475 if (cookie->parent) {
diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h
index 1c341304621f..edd7434ab6e5 100644
--- a/fs/fscache/internal.h
+++ b/fs/fscache/internal.h
@@ -17,6 +17,7 @@
17 * - cache->object_list_lock 17 * - cache->object_list_lock
18 * - object->lock 18 * - object->lock
19 * - object->parent->lock 19 * - object->parent->lock
20 * - cookie->stores_lock
20 * - fscache_thread_lock 21 * - fscache_thread_lock
21 * 22 *
22 */ 23 */
@@ -88,17 +89,31 @@ extern int fscache_wait_bit_interruptible(void *);
88/* 89/*
89 * object.c 90 * object.c
90 */ 91 */
92extern const char fscache_object_states_short[FSCACHE_OBJECT__NSTATES][5];
93
91extern void fscache_withdrawing_object(struct fscache_cache *, 94extern void fscache_withdrawing_object(struct fscache_cache *,
92 struct fscache_object *); 95 struct fscache_object *);
93extern void fscache_enqueue_object(struct fscache_object *); 96extern void fscache_enqueue_object(struct fscache_object *);
94 97
95/* 98/*
99 * object-list.c
100 */
101#ifdef CONFIG_FSCACHE_OBJECT_LIST
102extern const struct file_operations fscache_objlist_fops;
103
104extern void fscache_objlist_add(struct fscache_object *);
105#else
106#define fscache_objlist_add(object) do {} while(0)
107#endif
108
109/*
96 * operation.c 110 * operation.c
97 */ 111 */
98extern int fscache_submit_exclusive_op(struct fscache_object *, 112extern int fscache_submit_exclusive_op(struct fscache_object *,
99 struct fscache_operation *); 113 struct fscache_operation *);
100extern int fscache_submit_op(struct fscache_object *, 114extern int fscache_submit_op(struct fscache_object *,
101 struct fscache_operation *); 115 struct fscache_operation *);
116extern int fscache_cancel_op(struct fscache_operation *);
102extern void fscache_abort_object(struct fscache_object *); 117extern void fscache_abort_object(struct fscache_object *);
103extern void fscache_start_operations(struct fscache_object *); 118extern void fscache_start_operations(struct fscache_object *);
104extern void fscache_operation_gc(struct work_struct *); 119extern void fscache_operation_gc(struct work_struct *);
@@ -127,6 +142,8 @@ extern atomic_t fscache_n_op_enqueue;
127extern atomic_t fscache_n_op_deferred_release; 142extern atomic_t fscache_n_op_deferred_release;
128extern atomic_t fscache_n_op_release; 143extern atomic_t fscache_n_op_release;
129extern atomic_t fscache_n_op_gc; 144extern atomic_t fscache_n_op_gc;
145extern atomic_t fscache_n_op_cancelled;
146extern atomic_t fscache_n_op_rejected;
130 147
131extern atomic_t fscache_n_attr_changed; 148extern atomic_t fscache_n_attr_changed;
132extern atomic_t fscache_n_attr_changed_ok; 149extern atomic_t fscache_n_attr_changed_ok;
@@ -138,6 +155,8 @@ extern atomic_t fscache_n_allocs;
138extern atomic_t fscache_n_allocs_ok; 155extern atomic_t fscache_n_allocs_ok;
139extern atomic_t fscache_n_allocs_wait; 156extern atomic_t fscache_n_allocs_wait;
140extern atomic_t fscache_n_allocs_nobufs; 157extern atomic_t fscache_n_allocs_nobufs;
158extern atomic_t fscache_n_allocs_intr;
159extern atomic_t fscache_n_allocs_object_dead;
141extern atomic_t fscache_n_alloc_ops; 160extern atomic_t fscache_n_alloc_ops;
142extern atomic_t fscache_n_alloc_op_waits; 161extern atomic_t fscache_n_alloc_op_waits;
143 162
@@ -148,6 +167,7 @@ extern atomic_t fscache_n_retrievals_nodata;
148extern atomic_t fscache_n_retrievals_nobufs; 167extern atomic_t fscache_n_retrievals_nobufs;
149extern atomic_t fscache_n_retrievals_intr; 168extern atomic_t fscache_n_retrievals_intr;
150extern atomic_t fscache_n_retrievals_nomem; 169extern atomic_t fscache_n_retrievals_nomem;
170extern atomic_t fscache_n_retrievals_object_dead;
151extern atomic_t fscache_n_retrieval_ops; 171extern atomic_t fscache_n_retrieval_ops;
152extern atomic_t fscache_n_retrieval_op_waits; 172extern atomic_t fscache_n_retrieval_op_waits;
153 173
@@ -158,6 +178,14 @@ extern atomic_t fscache_n_stores_nobufs;
158extern atomic_t fscache_n_stores_oom; 178extern atomic_t fscache_n_stores_oom;
159extern atomic_t fscache_n_store_ops; 179extern atomic_t fscache_n_store_ops;
160extern atomic_t fscache_n_store_calls; 180extern atomic_t fscache_n_store_calls;
181extern atomic_t fscache_n_store_pages;
182extern atomic_t fscache_n_store_radix_deletes;
183extern atomic_t fscache_n_store_pages_over_limit;
184
185extern atomic_t fscache_n_store_vmscan_not_storing;
186extern atomic_t fscache_n_store_vmscan_gone;
187extern atomic_t fscache_n_store_vmscan_busy;
188extern atomic_t fscache_n_store_vmscan_cancelled;
161 189
162extern atomic_t fscache_n_marks; 190extern atomic_t fscache_n_marks;
163extern atomic_t fscache_n_uncaches; 191extern atomic_t fscache_n_uncaches;
@@ -176,6 +204,7 @@ extern atomic_t fscache_n_updates_run;
176extern atomic_t fscache_n_relinquishes; 204extern atomic_t fscache_n_relinquishes;
177extern atomic_t fscache_n_relinquishes_null; 205extern atomic_t fscache_n_relinquishes_null;
178extern atomic_t fscache_n_relinquishes_waitcrt; 206extern atomic_t fscache_n_relinquishes_waitcrt;
207extern atomic_t fscache_n_relinquishes_retire;
179 208
180extern atomic_t fscache_n_cookie_index; 209extern atomic_t fscache_n_cookie_index;
181extern atomic_t fscache_n_cookie_data; 210extern atomic_t fscache_n_cookie_data;
@@ -186,6 +215,7 @@ extern atomic_t fscache_n_object_no_alloc;
186extern atomic_t fscache_n_object_lookups; 215extern atomic_t fscache_n_object_lookups;
187extern atomic_t fscache_n_object_lookups_negative; 216extern atomic_t fscache_n_object_lookups_negative;
188extern atomic_t fscache_n_object_lookups_positive; 217extern atomic_t fscache_n_object_lookups_positive;
218extern atomic_t fscache_n_object_lookups_timed_out;
189extern atomic_t fscache_n_object_created; 219extern atomic_t fscache_n_object_created;
190extern atomic_t fscache_n_object_avail; 220extern atomic_t fscache_n_object_avail;
191extern atomic_t fscache_n_object_dead; 221extern atomic_t fscache_n_object_dead;
@@ -195,15 +225,41 @@ extern atomic_t fscache_n_checkaux_okay;
195extern atomic_t fscache_n_checkaux_update; 225extern atomic_t fscache_n_checkaux_update;
196extern atomic_t fscache_n_checkaux_obsolete; 226extern atomic_t fscache_n_checkaux_obsolete;
197 227
228extern atomic_t fscache_n_cop_alloc_object;
229extern atomic_t fscache_n_cop_lookup_object;
230extern atomic_t fscache_n_cop_lookup_complete;
231extern atomic_t fscache_n_cop_grab_object;
232extern atomic_t fscache_n_cop_update_object;
233extern atomic_t fscache_n_cop_drop_object;
234extern atomic_t fscache_n_cop_put_object;
235extern atomic_t fscache_n_cop_sync_cache;
236extern atomic_t fscache_n_cop_attr_changed;
237extern atomic_t fscache_n_cop_read_or_alloc_page;
238extern atomic_t fscache_n_cop_read_or_alloc_pages;
239extern atomic_t fscache_n_cop_allocate_page;
240extern atomic_t fscache_n_cop_allocate_pages;
241extern atomic_t fscache_n_cop_write_page;
242extern atomic_t fscache_n_cop_uncache_page;
243extern atomic_t fscache_n_cop_dissociate_pages;
244
198static inline void fscache_stat(atomic_t *stat) 245static inline void fscache_stat(atomic_t *stat)
199{ 246{
200 atomic_inc(stat); 247 atomic_inc(stat);
201} 248}
202 249
250static inline void fscache_stat_d(atomic_t *stat)
251{
252 atomic_dec(stat);
253}
254
255#define __fscache_stat(stat) (stat)
256
203extern const struct file_operations fscache_stats_fops; 257extern const struct file_operations fscache_stats_fops;
204#else 258#else
205 259
260#define __fscache_stat(stat) (NULL)
206#define fscache_stat(stat) do {} while (0) 261#define fscache_stat(stat) do {} while (0)
262#define fscache_stat_d(stat) do {} while (0)
207#endif 263#endif
208 264
209/* 265/*
diff --git a/fs/fscache/main.c b/fs/fscache/main.c
index 4de41b597499..add6bdb53f04 100644
--- a/fs/fscache/main.c
+++ b/fs/fscache/main.c
@@ -48,7 +48,7 @@ static int __init fscache_init(void)
48{ 48{
49 int ret; 49 int ret;
50 50
51 ret = slow_work_register_user(); 51 ret = slow_work_register_user(THIS_MODULE);
52 if (ret < 0) 52 if (ret < 0)
53 goto error_slow_work; 53 goto error_slow_work;
54 54
@@ -80,7 +80,7 @@ error_kobj:
80error_cookie_jar: 80error_cookie_jar:
81 fscache_proc_cleanup(); 81 fscache_proc_cleanup();
82error_proc: 82error_proc:
83 slow_work_unregister_user(); 83 slow_work_unregister_user(THIS_MODULE);
84error_slow_work: 84error_slow_work:
85 return ret; 85 return ret;
86} 86}
@@ -97,7 +97,7 @@ static void __exit fscache_exit(void)
97 kobject_put(fscache_root); 97 kobject_put(fscache_root);
98 kmem_cache_destroy(fscache_cookie_jar); 98 kmem_cache_destroy(fscache_cookie_jar);
99 fscache_proc_cleanup(); 99 fscache_proc_cleanup();
100 slow_work_unregister_user(); 100 slow_work_unregister_user(THIS_MODULE);
101 printk(KERN_NOTICE "FS-Cache: Unloaded\n"); 101 printk(KERN_NOTICE "FS-Cache: Unloaded\n");
102} 102}
103 103
diff --git a/fs/fscache/object-list.c b/fs/fscache/object-list.c
new file mode 100644
index 000000000000..e590242fa41a
--- /dev/null
+++ b/fs/fscache/object-list.c
@@ -0,0 +1,432 @@
1/* Global fscache object list maintainer and viewer
2 *
3 * Copyright (C) 2009 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public Licence
8 * as published by the Free Software Foundation; either version
9 * 2 of the Licence, or (at your option) any later version.
10 */
11
12#define FSCACHE_DEBUG_LEVEL COOKIE
13#include <linux/module.h>
14#include <linux/seq_file.h>
15#include <linux/key.h>
16#include <keys/user-type.h>
17#include "internal.h"
18
19static struct rb_root fscache_object_list;
20static DEFINE_RWLOCK(fscache_object_list_lock);
21
22struct fscache_objlist_data {
23 unsigned long config; /* display configuration */
24#define FSCACHE_OBJLIST_CONFIG_KEY 0x00000001 /* show object keys */
25#define FSCACHE_OBJLIST_CONFIG_AUX 0x00000002 /* show object auxdata */
26#define FSCACHE_OBJLIST_CONFIG_COOKIE 0x00000004 /* show objects with cookies */
27#define FSCACHE_OBJLIST_CONFIG_NOCOOKIE 0x00000008 /* show objects without cookies */
28#define FSCACHE_OBJLIST_CONFIG_BUSY 0x00000010 /* show busy objects */
29#define FSCACHE_OBJLIST_CONFIG_IDLE 0x00000020 /* show idle objects */
30#define FSCACHE_OBJLIST_CONFIG_PENDWR 0x00000040 /* show objects with pending writes */
31#define FSCACHE_OBJLIST_CONFIG_NOPENDWR 0x00000080 /* show objects without pending writes */
32#define FSCACHE_OBJLIST_CONFIG_READS 0x00000100 /* show objects with active reads */
33#define FSCACHE_OBJLIST_CONFIG_NOREADS 0x00000200 /* show objects without active reads */
34#define FSCACHE_OBJLIST_CONFIG_EVENTS 0x00000400 /* show objects with events */
35#define FSCACHE_OBJLIST_CONFIG_NOEVENTS 0x00000800 /* show objects without no events */
36#define FSCACHE_OBJLIST_CONFIG_WORK 0x00001000 /* show objects with slow work */
37#define FSCACHE_OBJLIST_CONFIG_NOWORK 0x00002000 /* show objects without slow work */
38
39 u8 buf[512]; /* key and aux data buffer */
40};
41
42/*
43 * Add an object to the object list
44 * - we use the address of the fscache_object structure as the key into the
45 * tree
46 */
47void fscache_objlist_add(struct fscache_object *obj)
48{
49 struct fscache_object *xobj;
50 struct rb_node **p = &fscache_object_list.rb_node, *parent = NULL;
51
52 write_lock(&fscache_object_list_lock);
53
54 while (*p) {
55 parent = *p;
56 xobj = rb_entry(parent, struct fscache_object, objlist_link);
57
58 if (obj < xobj)
59 p = &(*p)->rb_left;
60 else if (obj > xobj)
61 p = &(*p)->rb_right;
62 else
63 BUG();
64 }
65
66 rb_link_node(&obj->objlist_link, parent, p);
67 rb_insert_color(&obj->objlist_link, &fscache_object_list);
68
69 write_unlock(&fscache_object_list_lock);
70}
71
72/**
73 * fscache_object_destroy - Note that a cache object is about to be destroyed
74 * @object: The object to be destroyed
75 *
76 * Note the imminent destruction and deallocation of a cache object record.
77 */
78void fscache_object_destroy(struct fscache_object *obj)
79{
80 write_lock(&fscache_object_list_lock);
81
82 BUG_ON(RB_EMPTY_ROOT(&fscache_object_list));
83 rb_erase(&obj->objlist_link, &fscache_object_list);
84
85 write_unlock(&fscache_object_list_lock);
86}
87EXPORT_SYMBOL(fscache_object_destroy);
88
89/*
90 * find the object in the tree on or after the specified index
91 */
92static struct fscache_object *fscache_objlist_lookup(loff_t *_pos)
93{
94 struct fscache_object *pobj, *obj, *minobj = NULL;
95 struct rb_node *p;
96 unsigned long pos;
97
98 if (*_pos >= (unsigned long) ERR_PTR(-ENOENT))
99 return NULL;
100 pos = *_pos;
101
102 /* banners (can't represent line 0 by pos 0 as that would involve
103 * returning a NULL pointer) */
104 if (pos == 0)
105 return (struct fscache_object *) ++(*_pos);
106 if (pos < 3)
107 return (struct fscache_object *)pos;
108
109 pobj = (struct fscache_object *)pos;
110 p = fscache_object_list.rb_node;
111 while (p) {
112 obj = rb_entry(p, struct fscache_object, objlist_link);
113 if (pobj < obj) {
114 if (!minobj || minobj > obj)
115 minobj = obj;
116 p = p->rb_left;
117 } else if (pobj > obj) {
118 p = p->rb_right;
119 } else {
120 minobj = obj;
121 break;
122 }
123 obj = NULL;
124 }
125
126 if (!minobj)
127 *_pos = (unsigned long) ERR_PTR(-ENOENT);
128 else if (minobj != obj)
129 *_pos = (unsigned long) minobj;
130 return minobj;
131}
132
133/*
134 * set up the iterator to start reading from the first line
135 */
136static void *fscache_objlist_start(struct seq_file *m, loff_t *_pos)
137 __acquires(&fscache_object_list_lock)
138{
139 read_lock(&fscache_object_list_lock);
140 return fscache_objlist_lookup(_pos);
141}
142
143/*
144 * move to the next line
145 */
146static void *fscache_objlist_next(struct seq_file *m, void *v, loff_t *_pos)
147{
148 (*_pos)++;
149 return fscache_objlist_lookup(_pos);
150}
151
152/*
153 * clean up after reading
154 */
155static void fscache_objlist_stop(struct seq_file *m, void *v)
156 __releases(&fscache_object_list_lock)
157{
158 read_unlock(&fscache_object_list_lock);
159}
160
161/*
162 * display an object
163 */
164static int fscache_objlist_show(struct seq_file *m, void *v)
165{
166 struct fscache_objlist_data *data = m->private;
167 struct fscache_object *obj = v;
168 unsigned long config = data->config;
169 uint16_t keylen, auxlen;
170 char _type[3], *type;
171 bool no_cookie;
172 u8 *buf = data->buf, *p;
173
174 if ((unsigned long) v == 1) {
175 seq_puts(m, "OBJECT PARENT STAT CHLDN OPS OOP IPR EX READS"
176 " EM EV F S"
177 " | NETFS_COOKIE_DEF TY FL NETFS_DATA");
178 if (config & (FSCACHE_OBJLIST_CONFIG_KEY |
179 FSCACHE_OBJLIST_CONFIG_AUX))
180 seq_puts(m, " ");
181 if (config & FSCACHE_OBJLIST_CONFIG_KEY)
182 seq_puts(m, "OBJECT_KEY");
183 if ((config & (FSCACHE_OBJLIST_CONFIG_KEY |
184 FSCACHE_OBJLIST_CONFIG_AUX)) ==
185 (FSCACHE_OBJLIST_CONFIG_KEY | FSCACHE_OBJLIST_CONFIG_AUX))
186 seq_puts(m, ", ");
187 if (config & FSCACHE_OBJLIST_CONFIG_AUX)
188 seq_puts(m, "AUX_DATA");
189 seq_puts(m, "\n");
190 return 0;
191 }
192
193 if ((unsigned long) v == 2) {
194 seq_puts(m, "======== ======== ==== ===== === === === == ====="
195 " == == = ="
196 " | ================ == == ================");
197 if (config & (FSCACHE_OBJLIST_CONFIG_KEY |
198 FSCACHE_OBJLIST_CONFIG_AUX))
199 seq_puts(m, " ================");
200 seq_puts(m, "\n");
201 return 0;
202 }
203
204 /* filter out any unwanted objects */
205#define FILTER(criterion, _yes, _no) \
206 do { \
207 unsigned long yes = FSCACHE_OBJLIST_CONFIG_##_yes; \
208 unsigned long no = FSCACHE_OBJLIST_CONFIG_##_no; \
209 if (criterion) { \
210 if (!(config & yes)) \
211 return 0; \
212 } else { \
213 if (!(config & no)) \
214 return 0; \
215 } \
216 } while(0)
217
218 if (~config) {
219 FILTER(obj->cookie,
220 COOKIE, NOCOOKIE);
221 FILTER(obj->state != FSCACHE_OBJECT_ACTIVE ||
222 obj->n_ops != 0 ||
223 obj->n_obj_ops != 0 ||
224 obj->flags ||
225 !list_empty(&obj->dependents),
226 BUSY, IDLE);
227 FILTER(test_bit(FSCACHE_OBJECT_PENDING_WRITE, &obj->flags),
228 PENDWR, NOPENDWR);
229 FILTER(atomic_read(&obj->n_reads),
230 READS, NOREADS);
231 FILTER(obj->events & obj->event_mask,
232 EVENTS, NOEVENTS);
233 FILTER(obj->work.flags & ~(1UL << SLOW_WORK_VERY_SLOW),
234 WORK, NOWORK);
235 }
236
237 seq_printf(m,
238 "%8x %8x %s %5u %3u %3u %3u %2u %5u %2lx %2lx %1lx %1lx | ",
239 obj->debug_id,
240 obj->parent ? obj->parent->debug_id : -1,
241 fscache_object_states_short[obj->state],
242 obj->n_children,
243 obj->n_ops,
244 obj->n_obj_ops,
245 obj->n_in_progress,
246 obj->n_exclusive,
247 atomic_read(&obj->n_reads),
248 obj->event_mask & FSCACHE_OBJECT_EVENTS_MASK,
249 obj->events,
250 obj->flags,
251 obj->work.flags);
252
253 no_cookie = true;
254 keylen = auxlen = 0;
255 if (obj->cookie) {
256 spin_lock(&obj->lock);
257 if (obj->cookie) {
258 switch (obj->cookie->def->type) {
259 case 0:
260 type = "IX";
261 break;
262 case 1:
263 type = "DT";
264 break;
265 default:
266 sprintf(_type, "%02u",
267 obj->cookie->def->type);
268 type = _type;
269 break;
270 }
271
272 seq_printf(m, "%-16s %s %2lx %16p",
273 obj->cookie->def->name,
274 type,
275 obj->cookie->flags,
276 obj->cookie->netfs_data);
277
278 if (obj->cookie->def->get_key &&
279 config & FSCACHE_OBJLIST_CONFIG_KEY)
280 keylen = obj->cookie->def->get_key(
281 obj->cookie->netfs_data,
282 buf, 400);
283
284 if (obj->cookie->def->get_aux &&
285 config & FSCACHE_OBJLIST_CONFIG_AUX)
286 auxlen = obj->cookie->def->get_aux(
287 obj->cookie->netfs_data,
288 buf + keylen, 512 - keylen);
289
290 no_cookie = false;
291 }
292 spin_unlock(&obj->lock);
293
294 if (!no_cookie && (keylen > 0 || auxlen > 0)) {
295 seq_printf(m, " ");
296 for (p = buf; keylen > 0; keylen--)
297 seq_printf(m, "%02x", *p++);
298 if (auxlen > 0) {
299 if (config & FSCACHE_OBJLIST_CONFIG_KEY)
300 seq_printf(m, ", ");
301 for (; auxlen > 0; auxlen--)
302 seq_printf(m, "%02x", *p++);
303 }
304 }
305 }
306
307 if (no_cookie)
308 seq_printf(m, "<no_cookie>\n");
309 else
310 seq_printf(m, "\n");
311 return 0;
312}
313
314static const struct seq_operations fscache_objlist_ops = {
315 .start = fscache_objlist_start,
316 .stop = fscache_objlist_stop,
317 .next = fscache_objlist_next,
318 .show = fscache_objlist_show,
319};
320
321/*
322 * get the configuration for filtering the list
323 */
324static void fscache_objlist_config(struct fscache_objlist_data *data)
325{
326#ifdef CONFIG_KEYS
327 struct user_key_payload *confkey;
328 unsigned long config;
329 struct key *key;
330 const char *buf;
331 int len;
332
333 key = request_key(&key_type_user, "fscache:objlist", NULL);
334 if (IS_ERR(key))
335 goto no_config;
336
337 config = 0;
338 rcu_read_lock();
339
340 confkey = key->payload.data;
341 buf = confkey->data;
342
343 for (len = confkey->datalen - 1; len >= 0; len--) {
344 switch (buf[len]) {
345 case 'K': config |= FSCACHE_OBJLIST_CONFIG_KEY; break;
346 case 'A': config |= FSCACHE_OBJLIST_CONFIG_AUX; break;
347 case 'C': config |= FSCACHE_OBJLIST_CONFIG_COOKIE; break;
348 case 'c': config |= FSCACHE_OBJLIST_CONFIG_NOCOOKIE; break;
349 case 'B': config |= FSCACHE_OBJLIST_CONFIG_BUSY; break;
350 case 'b': config |= FSCACHE_OBJLIST_CONFIG_IDLE; break;
351 case 'W': config |= FSCACHE_OBJLIST_CONFIG_PENDWR; break;
352 case 'w': config |= FSCACHE_OBJLIST_CONFIG_NOPENDWR; break;
353 case 'R': config |= FSCACHE_OBJLIST_CONFIG_READS; break;
354 case 'r': config |= FSCACHE_OBJLIST_CONFIG_NOREADS; break;
355 case 'S': config |= FSCACHE_OBJLIST_CONFIG_WORK; break;
356 case 's': config |= FSCACHE_OBJLIST_CONFIG_NOWORK; break;
357 }
358 }
359
360 rcu_read_unlock();
361 key_put(key);
362
363 if (!(config & (FSCACHE_OBJLIST_CONFIG_COOKIE | FSCACHE_OBJLIST_CONFIG_NOCOOKIE)))
364 config |= FSCACHE_OBJLIST_CONFIG_COOKIE | FSCACHE_OBJLIST_CONFIG_NOCOOKIE;
365 if (!(config & (FSCACHE_OBJLIST_CONFIG_BUSY | FSCACHE_OBJLIST_CONFIG_IDLE)))
366 config |= FSCACHE_OBJLIST_CONFIG_BUSY | FSCACHE_OBJLIST_CONFIG_IDLE;
367 if (!(config & (FSCACHE_OBJLIST_CONFIG_PENDWR | FSCACHE_OBJLIST_CONFIG_NOPENDWR)))
368 config |= FSCACHE_OBJLIST_CONFIG_PENDWR | FSCACHE_OBJLIST_CONFIG_NOPENDWR;
369 if (!(config & (FSCACHE_OBJLIST_CONFIG_READS | FSCACHE_OBJLIST_CONFIG_NOREADS)))
370 config |= FSCACHE_OBJLIST_CONFIG_READS | FSCACHE_OBJLIST_CONFIG_NOREADS;
371 if (!(config & (FSCACHE_OBJLIST_CONFIG_EVENTS | FSCACHE_OBJLIST_CONFIG_NOEVENTS)))
372 config |= FSCACHE_OBJLIST_CONFIG_EVENTS | FSCACHE_OBJLIST_CONFIG_NOEVENTS;
373 if (!(config & (FSCACHE_OBJLIST_CONFIG_WORK | FSCACHE_OBJLIST_CONFIG_NOWORK)))
374 config |= FSCACHE_OBJLIST_CONFIG_WORK | FSCACHE_OBJLIST_CONFIG_NOWORK;
375
376 data->config = config;
377 return;
378
379no_config:
380#endif
381 data->config = ULONG_MAX;
382}
383
384/*
385 * open "/proc/fs/fscache/objects" to provide a list of active objects
386 * - can be configured by a user-defined key added to the caller's keyrings
387 */
388static int fscache_objlist_open(struct inode *inode, struct file *file)
389{
390 struct fscache_objlist_data *data;
391 struct seq_file *m;
392 int ret;
393
394 ret = seq_open(file, &fscache_objlist_ops);
395 if (ret < 0)
396 return ret;
397
398 m = file->private_data;
399
400 /* buffer for key extraction */
401 data = kmalloc(sizeof(struct fscache_objlist_data), GFP_KERNEL);
402 if (!data) {
403 seq_release(inode, file);
404 return -ENOMEM;
405 }
406
407 /* get the configuration key */
408 fscache_objlist_config(data);
409
410 m->private = data;
411 return 0;
412}
413
414/*
415 * clean up on close
416 */
417static int fscache_objlist_release(struct inode *inode, struct file *file)
418{
419 struct seq_file *m = file->private_data;
420
421 kfree(m->private);
422 m->private = NULL;
423 return seq_release(inode, file);
424}
425
426const struct file_operations fscache_objlist_fops = {
427 .owner = THIS_MODULE,
428 .open = fscache_objlist_open,
429 .read = seq_read,
430 .llseek = seq_lseek,
431 .release = fscache_objlist_release,
432};
diff --git a/fs/fscache/object.c b/fs/fscache/object.c
index 392a41b1b79d..e513ac599c8e 100644
--- a/fs/fscache/object.c
+++ b/fs/fscache/object.c
@@ -14,9 +14,10 @@
14 14
15#define FSCACHE_DEBUG_LEVEL COOKIE 15#define FSCACHE_DEBUG_LEVEL COOKIE
16#include <linux/module.h> 16#include <linux/module.h>
17#include <linux/seq_file.h>
17#include "internal.h" 18#include "internal.h"
18 19
19const char *fscache_object_states[] = { 20const char *fscache_object_states[FSCACHE_OBJECT__NSTATES] = {
20 [FSCACHE_OBJECT_INIT] = "OBJECT_INIT", 21 [FSCACHE_OBJECT_INIT] = "OBJECT_INIT",
21 [FSCACHE_OBJECT_LOOKING_UP] = "OBJECT_LOOKING_UP", 22 [FSCACHE_OBJECT_LOOKING_UP] = "OBJECT_LOOKING_UP",
22 [FSCACHE_OBJECT_CREATING] = "OBJECT_CREATING", 23 [FSCACHE_OBJECT_CREATING] = "OBJECT_CREATING",
@@ -33,9 +34,28 @@ const char *fscache_object_states[] = {
33}; 34};
34EXPORT_SYMBOL(fscache_object_states); 35EXPORT_SYMBOL(fscache_object_states);
35 36
37const char fscache_object_states_short[FSCACHE_OBJECT__NSTATES][5] = {
38 [FSCACHE_OBJECT_INIT] = "INIT",
39 [FSCACHE_OBJECT_LOOKING_UP] = "LOOK",
40 [FSCACHE_OBJECT_CREATING] = "CRTN",
41 [FSCACHE_OBJECT_AVAILABLE] = "AVBL",
42 [FSCACHE_OBJECT_ACTIVE] = "ACTV",
43 [FSCACHE_OBJECT_UPDATING] = "UPDT",
44 [FSCACHE_OBJECT_DYING] = "DYNG",
45 [FSCACHE_OBJECT_LC_DYING] = "LCDY",
46 [FSCACHE_OBJECT_ABORT_INIT] = "ABTI",
47 [FSCACHE_OBJECT_RELEASING] = "RELS",
48 [FSCACHE_OBJECT_RECYCLING] = "RCYC",
49 [FSCACHE_OBJECT_WITHDRAWING] = "WTHD",
50 [FSCACHE_OBJECT_DEAD] = "DEAD",
51};
52
36static void fscache_object_slow_work_put_ref(struct slow_work *); 53static void fscache_object_slow_work_put_ref(struct slow_work *);
37static int fscache_object_slow_work_get_ref(struct slow_work *); 54static int fscache_object_slow_work_get_ref(struct slow_work *);
38static void fscache_object_slow_work_execute(struct slow_work *); 55static void fscache_object_slow_work_execute(struct slow_work *);
56#ifdef CONFIG_SLOW_WORK_PROC
57static void fscache_object_slow_work_desc(struct slow_work *, struct seq_file *);
58#endif
39static void fscache_initialise_object(struct fscache_object *); 59static void fscache_initialise_object(struct fscache_object *);
40static void fscache_lookup_object(struct fscache_object *); 60static void fscache_lookup_object(struct fscache_object *);
41static void fscache_object_available(struct fscache_object *); 61static void fscache_object_available(struct fscache_object *);
@@ -45,9 +65,13 @@ static void fscache_enqueue_dependents(struct fscache_object *);
45static void fscache_dequeue_object(struct fscache_object *); 65static void fscache_dequeue_object(struct fscache_object *);
46 66
47const struct slow_work_ops fscache_object_slow_work_ops = { 67const struct slow_work_ops fscache_object_slow_work_ops = {
68 .owner = THIS_MODULE,
48 .get_ref = fscache_object_slow_work_get_ref, 69 .get_ref = fscache_object_slow_work_get_ref,
49 .put_ref = fscache_object_slow_work_put_ref, 70 .put_ref = fscache_object_slow_work_put_ref,
50 .execute = fscache_object_slow_work_execute, 71 .execute = fscache_object_slow_work_execute,
72#ifdef CONFIG_SLOW_WORK_PROC
73 .desc = fscache_object_slow_work_desc,
74#endif
51}; 75};
52EXPORT_SYMBOL(fscache_object_slow_work_ops); 76EXPORT_SYMBOL(fscache_object_slow_work_ops);
53 77
@@ -81,6 +105,7 @@ static inline void fscache_done_parent_op(struct fscache_object *object)
81static void fscache_object_state_machine(struct fscache_object *object) 105static void fscache_object_state_machine(struct fscache_object *object)
82{ 106{
83 enum fscache_object_state new_state; 107 enum fscache_object_state new_state;
108 struct fscache_cookie *cookie;
84 109
85 ASSERT(object != NULL); 110 ASSERT(object != NULL);
86 111
@@ -120,20 +145,31 @@ static void fscache_object_state_machine(struct fscache_object *object)
120 case FSCACHE_OBJECT_UPDATING: 145 case FSCACHE_OBJECT_UPDATING:
121 clear_bit(FSCACHE_OBJECT_EV_UPDATE, &object->events); 146 clear_bit(FSCACHE_OBJECT_EV_UPDATE, &object->events);
122 fscache_stat(&fscache_n_updates_run); 147 fscache_stat(&fscache_n_updates_run);
148 fscache_stat(&fscache_n_cop_update_object);
123 object->cache->ops->update_object(object); 149 object->cache->ops->update_object(object);
150 fscache_stat_d(&fscache_n_cop_update_object);
124 goto active_transit; 151 goto active_transit;
125 152
126 /* handle an object dying during lookup or creation */ 153 /* handle an object dying during lookup or creation */
127 case FSCACHE_OBJECT_LC_DYING: 154 case FSCACHE_OBJECT_LC_DYING:
128 object->event_mask &= ~(1 << FSCACHE_OBJECT_EV_UPDATE); 155 object->event_mask &= ~(1 << FSCACHE_OBJECT_EV_UPDATE);
156 fscache_stat(&fscache_n_cop_lookup_complete);
129 object->cache->ops->lookup_complete(object); 157 object->cache->ops->lookup_complete(object);
158 fscache_stat_d(&fscache_n_cop_lookup_complete);
130 159
131 spin_lock(&object->lock); 160 spin_lock(&object->lock);
132 object->state = FSCACHE_OBJECT_DYING; 161 object->state = FSCACHE_OBJECT_DYING;
133 if (test_and_clear_bit(FSCACHE_COOKIE_CREATING, 162 cookie = object->cookie;
134 &object->cookie->flags)) 163 if (cookie) {
135 wake_up_bit(&object->cookie->flags, 164 if (test_and_clear_bit(FSCACHE_COOKIE_LOOKING_UP,
136 FSCACHE_COOKIE_CREATING); 165 &cookie->flags))
166 wake_up_bit(&cookie->flags,
167 FSCACHE_COOKIE_LOOKING_UP);
168 if (test_and_clear_bit(FSCACHE_COOKIE_CREATING,
169 &cookie->flags))
170 wake_up_bit(&cookie->flags,
171 FSCACHE_COOKIE_CREATING);
172 }
137 spin_unlock(&object->lock); 173 spin_unlock(&object->lock);
138 174
139 fscache_done_parent_op(object); 175 fscache_done_parent_op(object);
@@ -165,6 +201,7 @@ static void fscache_object_state_machine(struct fscache_object *object)
165 } 201 }
166 spin_unlock(&object->lock); 202 spin_unlock(&object->lock);
167 fscache_enqueue_dependents(object); 203 fscache_enqueue_dependents(object);
204 fscache_start_operations(object);
168 goto terminal_transit; 205 goto terminal_transit;
169 206
170 /* handle an abort during initialisation */ 207 /* handle an abort during initialisation */
@@ -316,14 +353,29 @@ static void fscache_object_slow_work_execute(struct slow_work *work)
316 353
317 _enter("{OBJ%x}", object->debug_id); 354 _enter("{OBJ%x}", object->debug_id);
318 355
319 clear_bit(FSCACHE_OBJECT_EV_REQUEUE, &object->events);
320
321 start = jiffies; 356 start = jiffies;
322 fscache_object_state_machine(object); 357 fscache_object_state_machine(object);
323 fscache_hist(fscache_objs_histogram, start); 358 fscache_hist(fscache_objs_histogram, start);
324 if (object->events & object->event_mask) 359 if (object->events & object->event_mask)
325 fscache_enqueue_object(object); 360 fscache_enqueue_object(object);
361 clear_bit(FSCACHE_OBJECT_EV_REQUEUE, &object->events);
362}
363
364/*
365 * describe an object for slow-work debugging
366 */
367#ifdef CONFIG_SLOW_WORK_PROC
368static void fscache_object_slow_work_desc(struct slow_work *work,
369 struct seq_file *m)
370{
371 struct fscache_object *object =
372 container_of(work, struct fscache_object, work);
373
374 seq_printf(m, "FSC: OBJ%x: %s",
375 object->debug_id,
376 fscache_object_states_short[object->state]);
326} 377}
378#endif
327 379
328/* 380/*
329 * initialise an object 381 * initialise an object
@@ -376,7 +428,9 @@ static void fscache_initialise_object(struct fscache_object *object)
376 * binding on to us, so we need to make sure we don't 428 * binding on to us, so we need to make sure we don't
377 * add ourself to the list multiple times */ 429 * add ourself to the list multiple times */
378 if (list_empty(&object->dep_link)) { 430 if (list_empty(&object->dep_link)) {
431 fscache_stat(&fscache_n_cop_grab_object);
379 object->cache->ops->grab_object(object); 432 object->cache->ops->grab_object(object);
433 fscache_stat_d(&fscache_n_cop_grab_object);
380 list_add(&object->dep_link, 434 list_add(&object->dep_link,
381 &parent->dependents); 435 &parent->dependents);
382 436
@@ -414,6 +468,7 @@ static void fscache_lookup_object(struct fscache_object *object)
414{ 468{
415 struct fscache_cookie *cookie = object->cookie; 469 struct fscache_cookie *cookie = object->cookie;
416 struct fscache_object *parent; 470 struct fscache_object *parent;
471 int ret;
417 472
418 _enter(""); 473 _enter("");
419 474
@@ -438,11 +493,20 @@ static void fscache_lookup_object(struct fscache_object *object)
438 object->cache->tag->name); 493 object->cache->tag->name);
439 494
440 fscache_stat(&fscache_n_object_lookups); 495 fscache_stat(&fscache_n_object_lookups);
441 object->cache->ops->lookup_object(object); 496 fscache_stat(&fscache_n_cop_lookup_object);
497 ret = object->cache->ops->lookup_object(object);
498 fscache_stat_d(&fscache_n_cop_lookup_object);
442 499
443 if (test_bit(FSCACHE_OBJECT_EV_ERROR, &object->events)) 500 if (test_bit(FSCACHE_OBJECT_EV_ERROR, &object->events))
444 set_bit(FSCACHE_COOKIE_UNAVAILABLE, &cookie->flags); 501 set_bit(FSCACHE_COOKIE_UNAVAILABLE, &cookie->flags);
445 502
503 if (ret == -ETIMEDOUT) {
504 /* probably stuck behind another object, so move this one to
505 * the back of the queue */
506 fscache_stat(&fscache_n_object_lookups_timed_out);
507 set_bit(FSCACHE_OBJECT_EV_REQUEUE, &object->events);
508 }
509
446 _leave(""); 510 _leave("");
447} 511}
448 512
@@ -546,7 +610,8 @@ static void fscache_object_available(struct fscache_object *object)
546 610
547 spin_lock(&object->lock); 611 spin_lock(&object->lock);
548 612
549 if (test_and_clear_bit(FSCACHE_COOKIE_CREATING, &object->cookie->flags)) 613 if (object->cookie &&
614 test_and_clear_bit(FSCACHE_COOKIE_CREATING, &object->cookie->flags))
550 wake_up_bit(&object->cookie->flags, FSCACHE_COOKIE_CREATING); 615 wake_up_bit(&object->cookie->flags, FSCACHE_COOKIE_CREATING);
551 616
552 fscache_done_parent_op(object); 617 fscache_done_parent_op(object);
@@ -562,7 +627,9 @@ static void fscache_object_available(struct fscache_object *object)
562 } 627 }
563 spin_unlock(&object->lock); 628 spin_unlock(&object->lock);
564 629
630 fscache_stat(&fscache_n_cop_lookup_complete);
565 object->cache->ops->lookup_complete(object); 631 object->cache->ops->lookup_complete(object);
632 fscache_stat_d(&fscache_n_cop_lookup_complete);
566 fscache_enqueue_dependents(object); 633 fscache_enqueue_dependents(object);
567 634
568 fscache_hist(fscache_obj_instantiate_histogram, object->lookup_jif); 635 fscache_hist(fscache_obj_instantiate_histogram, object->lookup_jif);
@@ -581,11 +648,16 @@ static void fscache_drop_object(struct fscache_object *object)
581 648
582 _enter("{OBJ%x,%d}", object->debug_id, object->n_children); 649 _enter("{OBJ%x,%d}", object->debug_id, object->n_children);
583 650
651 ASSERTCMP(object->cookie, ==, NULL);
652 ASSERT(hlist_unhashed(&object->cookie_link));
653
584 spin_lock(&cache->object_list_lock); 654 spin_lock(&cache->object_list_lock);
585 list_del_init(&object->cache_link); 655 list_del_init(&object->cache_link);
586 spin_unlock(&cache->object_list_lock); 656 spin_unlock(&cache->object_list_lock);
587 657
658 fscache_stat(&fscache_n_cop_drop_object);
588 cache->ops->drop_object(object); 659 cache->ops->drop_object(object);
660 fscache_stat_d(&fscache_n_cop_drop_object);
589 661
590 if (parent) { 662 if (parent) {
591 _debug("release parent OBJ%x {%d}", 663 _debug("release parent OBJ%x {%d}",
@@ -600,7 +672,9 @@ static void fscache_drop_object(struct fscache_object *object)
600 } 672 }
601 673
602 /* this just shifts the object release to the slow work processor */ 674 /* this just shifts the object release to the slow work processor */
675 fscache_stat(&fscache_n_cop_put_object);
603 object->cache->ops->put_object(object); 676 object->cache->ops->put_object(object);
677 fscache_stat_d(&fscache_n_cop_put_object);
604 678
605 _leave(""); 679 _leave("");
606} 680}
@@ -690,8 +764,12 @@ static int fscache_object_slow_work_get_ref(struct slow_work *work)
690{ 764{
691 struct fscache_object *object = 765 struct fscache_object *object =
692 container_of(work, struct fscache_object, work); 766 container_of(work, struct fscache_object, work);
767 int ret;
693 768
694 return object->cache->ops->grab_object(object) ? 0 : -EAGAIN; 769 fscache_stat(&fscache_n_cop_grab_object);
770 ret = object->cache->ops->grab_object(object) ? 0 : -EAGAIN;
771 fscache_stat_d(&fscache_n_cop_grab_object);
772 return ret;
695} 773}
696 774
697/* 775/*
@@ -702,7 +780,9 @@ static void fscache_object_slow_work_put_ref(struct slow_work *work)
702 struct fscache_object *object = 780 struct fscache_object *object =
703 container_of(work, struct fscache_object, work); 781 container_of(work, struct fscache_object, work);
704 782
705 return object->cache->ops->put_object(object); 783 fscache_stat(&fscache_n_cop_put_object);
784 object->cache->ops->put_object(object);
785 fscache_stat_d(&fscache_n_cop_put_object);
706} 786}
707 787
708/* 788/*
@@ -739,7 +819,9 @@ static void fscache_enqueue_dependents(struct fscache_object *object)
739 819
740 /* sort onto appropriate lists */ 820 /* sort onto appropriate lists */
741 fscache_enqueue_object(dep); 821 fscache_enqueue_object(dep);
822 fscache_stat(&fscache_n_cop_put_object);
742 dep->cache->ops->put_object(dep); 823 dep->cache->ops->put_object(dep);
824 fscache_stat_d(&fscache_n_cop_put_object);
743 825
744 if (!list_empty(&object->dependents)) 826 if (!list_empty(&object->dependents))
745 cond_resched_lock(&object->lock); 827 cond_resched_lock(&object->lock);
diff --git a/fs/fscache/operation.c b/fs/fscache/operation.c
index e7f8d53b8b6b..313e79a14266 100644
--- a/fs/fscache/operation.c
+++ b/fs/fscache/operation.c
@@ -13,6 +13,7 @@
13 13
14#define FSCACHE_DEBUG_LEVEL OPERATION 14#define FSCACHE_DEBUG_LEVEL OPERATION
15#include <linux/module.h> 15#include <linux/module.h>
16#include <linux/seq_file.h>
16#include "internal.h" 17#include "internal.h"
17 18
18atomic_t fscache_op_debug_id; 19atomic_t fscache_op_debug_id;
@@ -31,32 +32,33 @@ void fscache_enqueue_operation(struct fscache_operation *op)
31 _enter("{OBJ%x OP%x,%u}", 32 _enter("{OBJ%x OP%x,%u}",
32 op->object->debug_id, op->debug_id, atomic_read(&op->usage)); 33 op->object->debug_id, op->debug_id, atomic_read(&op->usage));
33 34
35 fscache_set_op_state(op, "EnQ");
36
37 ASSERT(list_empty(&op->pend_link));
34 ASSERT(op->processor != NULL); 38 ASSERT(op->processor != NULL);
35 ASSERTCMP(op->object->state, >=, FSCACHE_OBJECT_AVAILABLE); 39 ASSERTCMP(op->object->state, >=, FSCACHE_OBJECT_AVAILABLE);
36 ASSERTCMP(atomic_read(&op->usage), >, 0); 40 ASSERTCMP(atomic_read(&op->usage), >, 0);
37 41
38 if (list_empty(&op->pend_link)) { 42 fscache_stat(&fscache_n_op_enqueue);
39 switch (op->flags & FSCACHE_OP_TYPE) { 43 switch (op->flags & FSCACHE_OP_TYPE) {
40 case FSCACHE_OP_FAST: 44 case FSCACHE_OP_FAST:
41 _debug("queue fast"); 45 _debug("queue fast");
42 atomic_inc(&op->usage); 46 atomic_inc(&op->usage);
43 if (!schedule_work(&op->fast_work)) 47 if (!schedule_work(&op->fast_work))
44 fscache_put_operation(op); 48 fscache_put_operation(op);
45 break; 49 break;
46 case FSCACHE_OP_SLOW: 50 case FSCACHE_OP_SLOW:
47 _debug("queue slow"); 51 _debug("queue slow");
48 slow_work_enqueue(&op->slow_work); 52 slow_work_enqueue(&op->slow_work);
49 break; 53 break;
50 case FSCACHE_OP_MYTHREAD: 54 case FSCACHE_OP_MYTHREAD:
51 _debug("queue for caller's attention"); 55 _debug("queue for caller's attention");
52 break; 56 break;
53 default: 57 default:
54 printk(KERN_ERR "FS-Cache: Unexpected op type %lx", 58 printk(KERN_ERR "FS-Cache: Unexpected op type %lx",
55 op->flags); 59 op->flags);
56 BUG(); 60 BUG();
57 break; 61 break;
58 }
59 fscache_stat(&fscache_n_op_enqueue);
60 } 62 }
61} 63}
62EXPORT_SYMBOL(fscache_enqueue_operation); 64EXPORT_SYMBOL(fscache_enqueue_operation);
@@ -67,6 +69,8 @@ EXPORT_SYMBOL(fscache_enqueue_operation);
67static void fscache_run_op(struct fscache_object *object, 69static void fscache_run_op(struct fscache_object *object,
68 struct fscache_operation *op) 70 struct fscache_operation *op)
69{ 71{
72 fscache_set_op_state(op, "Run");
73
70 object->n_in_progress++; 74 object->n_in_progress++;
71 if (test_and_clear_bit(FSCACHE_OP_WAITING, &op->flags)) 75 if (test_and_clear_bit(FSCACHE_OP_WAITING, &op->flags))
72 wake_up_bit(&op->flags, FSCACHE_OP_WAITING); 76 wake_up_bit(&op->flags, FSCACHE_OP_WAITING);
@@ -87,9 +91,12 @@ int fscache_submit_exclusive_op(struct fscache_object *object,
87 91
88 _enter("{OBJ%x OP%x},", object->debug_id, op->debug_id); 92 _enter("{OBJ%x OP%x},", object->debug_id, op->debug_id);
89 93
94 fscache_set_op_state(op, "SubmitX");
95
90 spin_lock(&object->lock); 96 spin_lock(&object->lock);
91 ASSERTCMP(object->n_ops, >=, object->n_in_progress); 97 ASSERTCMP(object->n_ops, >=, object->n_in_progress);
92 ASSERTCMP(object->n_ops, >=, object->n_exclusive); 98 ASSERTCMP(object->n_ops, >=, object->n_exclusive);
99 ASSERT(list_empty(&op->pend_link));
93 100
94 ret = -ENOBUFS; 101 ret = -ENOBUFS;
95 if (fscache_object_is_active(object)) { 102 if (fscache_object_is_active(object)) {
@@ -190,9 +197,12 @@ int fscache_submit_op(struct fscache_object *object,
190 197
191 ASSERTCMP(atomic_read(&op->usage), >, 0); 198 ASSERTCMP(atomic_read(&op->usage), >, 0);
192 199
200 fscache_set_op_state(op, "Submit");
201
193 spin_lock(&object->lock); 202 spin_lock(&object->lock);
194 ASSERTCMP(object->n_ops, >=, object->n_in_progress); 203 ASSERTCMP(object->n_ops, >=, object->n_in_progress);
195 ASSERTCMP(object->n_ops, >=, object->n_exclusive); 204 ASSERTCMP(object->n_ops, >=, object->n_exclusive);
205 ASSERT(list_empty(&op->pend_link));
196 206
197 ostate = object->state; 207 ostate = object->state;
198 smp_rmb(); 208 smp_rmb();
@@ -222,6 +232,11 @@ int fscache_submit_op(struct fscache_object *object,
222 list_add_tail(&op->pend_link, &object->pending_ops); 232 list_add_tail(&op->pend_link, &object->pending_ops);
223 fscache_stat(&fscache_n_op_pend); 233 fscache_stat(&fscache_n_op_pend);
224 ret = 0; 234 ret = 0;
235 } else if (object->state == FSCACHE_OBJECT_DYING ||
236 object->state == FSCACHE_OBJECT_LC_DYING ||
237 object->state == FSCACHE_OBJECT_WITHDRAWING) {
238 fscache_stat(&fscache_n_op_rejected);
239 ret = -ENOBUFS;
225 } else if (!test_bit(FSCACHE_IOERROR, &object->cache->flags)) { 240 } else if (!test_bit(FSCACHE_IOERROR, &object->cache->flags)) {
226 fscache_report_unexpected_submission(object, op, ostate); 241 fscache_report_unexpected_submission(object, op, ostate);
227 ASSERT(!fscache_object_is_active(object)); 242 ASSERT(!fscache_object_is_active(object));
@@ -264,12 +279,7 @@ void fscache_start_operations(struct fscache_object *object)
264 stop = true; 279 stop = true;
265 } 280 }
266 list_del_init(&op->pend_link); 281 list_del_init(&op->pend_link);
267 object->n_in_progress++; 282 fscache_run_op(object, op);
268
269 if (test_and_clear_bit(FSCACHE_OP_WAITING, &op->flags))
270 wake_up_bit(&op->flags, FSCACHE_OP_WAITING);
271 if (op->processor)
272 fscache_enqueue_operation(op);
273 283
274 /* the pending queue was holding a ref on the object */ 284 /* the pending queue was holding a ref on the object */
275 fscache_put_operation(op); 285 fscache_put_operation(op);
@@ -282,6 +292,36 @@ void fscache_start_operations(struct fscache_object *object)
282} 292}
283 293
284/* 294/*
295 * cancel an operation that's pending on an object
296 */
297int fscache_cancel_op(struct fscache_operation *op)
298{
299 struct fscache_object *object = op->object;
300 int ret;
301
302 _enter("OBJ%x OP%x}", op->object->debug_id, op->debug_id);
303
304 spin_lock(&object->lock);
305
306 ret = -EBUSY;
307 if (!list_empty(&op->pend_link)) {
308 fscache_stat(&fscache_n_op_cancelled);
309 list_del_init(&op->pend_link);
310 object->n_ops--;
311 if (test_bit(FSCACHE_OP_EXCLUSIVE, &op->flags))
312 object->n_exclusive--;
313 if (test_and_clear_bit(FSCACHE_OP_WAITING, &op->flags))
314 wake_up_bit(&op->flags, FSCACHE_OP_WAITING);
315 fscache_put_operation(op);
316 ret = 0;
317 }
318
319 spin_unlock(&object->lock);
320 _leave(" = %d", ret);
321 return ret;
322}
323
324/*
285 * release an operation 325 * release an operation
286 * - queues pending ops if this is the last in-progress op 326 * - queues pending ops if this is the last in-progress op
287 */ 327 */
@@ -298,6 +338,8 @@ void fscache_put_operation(struct fscache_operation *op)
298 if (!atomic_dec_and_test(&op->usage)) 338 if (!atomic_dec_and_test(&op->usage))
299 return; 339 return;
300 340
341 fscache_set_op_state(op, "Put");
342
301 _debug("PUT OP"); 343 _debug("PUT OP");
302 if (test_and_set_bit(FSCACHE_OP_DEAD, &op->flags)) 344 if (test_and_set_bit(FSCACHE_OP_DEAD, &op->flags))
303 BUG(); 345 BUG();
@@ -311,6 +353,9 @@ void fscache_put_operation(struct fscache_operation *op)
311 353
312 object = op->object; 354 object = op->object;
313 355
356 if (test_bit(FSCACHE_OP_DEC_READ_CNT, &op->flags))
357 atomic_dec(&object->n_reads);
358
314 /* now... we may get called with the object spinlock held, so we 359 /* now... we may get called with the object spinlock held, so we
315 * complete the cleanup here only if we can immediately acquire the 360 * complete the cleanup here only if we can immediately acquire the
316 * lock, and defer it otherwise */ 361 * lock, and defer it otherwise */
@@ -452,8 +497,27 @@ static void fscache_op_execute(struct slow_work *work)
452 _leave(""); 497 _leave("");
453} 498}
454 499
500/*
501 * describe an operation for slow-work debugging
502 */
503#ifdef CONFIG_SLOW_WORK_PROC
504static void fscache_op_desc(struct slow_work *work, struct seq_file *m)
505{
506 struct fscache_operation *op =
507 container_of(work, struct fscache_operation, slow_work);
508
509 seq_printf(m, "FSC: OBJ%x OP%x: %s/%s fl=%lx",
510 op->object->debug_id, op->debug_id,
511 op->name, op->state, op->flags);
512}
513#endif
514
455const struct slow_work_ops fscache_op_slow_work_ops = { 515const struct slow_work_ops fscache_op_slow_work_ops = {
516 .owner = THIS_MODULE,
456 .get_ref = fscache_op_get_ref, 517 .get_ref = fscache_op_get_ref,
457 .put_ref = fscache_op_put_ref, 518 .put_ref = fscache_op_put_ref,
458 .execute = fscache_op_execute, 519 .execute = fscache_op_execute,
520#ifdef CONFIG_SLOW_WORK_PROC
521 .desc = fscache_op_desc,
522#endif
459}; 523};
diff --git a/fs/fscache/page.c b/fs/fscache/page.c
index 2568e0eb644f..c598ea4c4e7d 100644
--- a/fs/fscache/page.c
+++ b/fs/fscache/page.c
@@ -43,18 +43,102 @@ void __fscache_wait_on_page_write(struct fscache_cookie *cookie, struct page *pa
43EXPORT_SYMBOL(__fscache_wait_on_page_write); 43EXPORT_SYMBOL(__fscache_wait_on_page_write);
44 44
45/* 45/*
46 * note that a page has finished being written to the cache 46 * decide whether a page can be released, possibly by cancelling a store to it
47 * - we're allowed to sleep if __GFP_WAIT is flagged
47 */ 48 */
48static void fscache_end_page_write(struct fscache_cookie *cookie, struct page *page) 49bool __fscache_maybe_release_page(struct fscache_cookie *cookie,
50 struct page *page,
51 gfp_t gfp)
49{ 52{
50 struct page *xpage; 53 struct page *xpage;
54 void *val;
55
56 _enter("%p,%p,%x", cookie, page, gfp);
57
58 rcu_read_lock();
59 val = radix_tree_lookup(&cookie->stores, page->index);
60 if (!val) {
61 rcu_read_unlock();
62 fscache_stat(&fscache_n_store_vmscan_not_storing);
63 __fscache_uncache_page(cookie, page);
64 return true;
65 }
66
67 /* see if the page is actually undergoing storage - if so we can't get
68 * rid of it till the cache has finished with it */
69 if (radix_tree_tag_get(&cookie->stores, page->index,
70 FSCACHE_COOKIE_STORING_TAG)) {
71 rcu_read_unlock();
72 goto page_busy;
73 }
74
75 /* the page is pending storage, so we attempt to cancel the store and
76 * discard the store request so that the page can be reclaimed */
77 spin_lock(&cookie->stores_lock);
78 rcu_read_unlock();
79
80 if (radix_tree_tag_get(&cookie->stores, page->index,
81 FSCACHE_COOKIE_STORING_TAG)) {
82 /* the page started to undergo storage whilst we were looking,
83 * so now we can only wait or return */
84 spin_unlock(&cookie->stores_lock);
85 goto page_busy;
86 }
51 87
52 spin_lock(&cookie->lock);
53 xpage = radix_tree_delete(&cookie->stores, page->index); 88 xpage = radix_tree_delete(&cookie->stores, page->index);
54 spin_unlock(&cookie->lock); 89 spin_unlock(&cookie->stores_lock);
55 ASSERT(xpage != NULL); 90
91 if (xpage) {
92 fscache_stat(&fscache_n_store_vmscan_cancelled);
93 fscache_stat(&fscache_n_store_radix_deletes);
94 ASSERTCMP(xpage, ==, page);
95 } else {
96 fscache_stat(&fscache_n_store_vmscan_gone);
97 }
56 98
57 wake_up_bit(&cookie->flags, 0); 99 wake_up_bit(&cookie->flags, 0);
100 if (xpage)
101 page_cache_release(xpage);
102 __fscache_uncache_page(cookie, page);
103 return true;
104
105page_busy:
106 /* we might want to wait here, but that could deadlock the allocator as
107 * the slow-work threads writing to the cache may all end up sleeping
108 * on memory allocation */
109 fscache_stat(&fscache_n_store_vmscan_busy);
110 return false;
111}
112EXPORT_SYMBOL(__fscache_maybe_release_page);
113
114/*
115 * note that a page has finished being written to the cache
116 */
117static void fscache_end_page_write(struct fscache_object *object,
118 struct page *page)
119{
120 struct fscache_cookie *cookie;
121 struct page *xpage = NULL;
122
123 spin_lock(&object->lock);
124 cookie = object->cookie;
125 if (cookie) {
126 /* delete the page from the tree if it is now no longer
127 * pending */
128 spin_lock(&cookie->stores_lock);
129 radix_tree_tag_clear(&cookie->stores, page->index,
130 FSCACHE_COOKIE_STORING_TAG);
131 if (!radix_tree_tag_get(&cookie->stores, page->index,
132 FSCACHE_COOKIE_PENDING_TAG)) {
133 fscache_stat(&fscache_n_store_radix_deletes);
134 xpage = radix_tree_delete(&cookie->stores, page->index);
135 }
136 spin_unlock(&cookie->stores_lock);
137 wake_up_bit(&cookie->flags, 0);
138 }
139 spin_unlock(&object->lock);
140 if (xpage)
141 page_cache_release(xpage);
58} 142}
59 143
60/* 144/*
@@ -63,14 +147,21 @@ static void fscache_end_page_write(struct fscache_cookie *cookie, struct page *p
63static void fscache_attr_changed_op(struct fscache_operation *op) 147static void fscache_attr_changed_op(struct fscache_operation *op)
64{ 148{
65 struct fscache_object *object = op->object; 149 struct fscache_object *object = op->object;
150 int ret;
66 151
67 _enter("{OBJ%x OP%x}", object->debug_id, op->debug_id); 152 _enter("{OBJ%x OP%x}", object->debug_id, op->debug_id);
68 153
69 fscache_stat(&fscache_n_attr_changed_calls); 154 fscache_stat(&fscache_n_attr_changed_calls);
70 155
71 if (fscache_object_is_active(object) && 156 if (fscache_object_is_active(object)) {
72 object->cache->ops->attr_changed(object) < 0) 157 fscache_set_op_state(op, "CallFS");
73 fscache_abort_object(object); 158 fscache_stat(&fscache_n_cop_attr_changed);
159 ret = object->cache->ops->attr_changed(object);
160 fscache_stat_d(&fscache_n_cop_attr_changed);
161 fscache_set_op_state(op, "Done");
162 if (ret < 0)
163 fscache_abort_object(object);
164 }
74 165
75 _leave(""); 166 _leave("");
76} 167}
@@ -99,6 +190,7 @@ int __fscache_attr_changed(struct fscache_cookie *cookie)
99 fscache_operation_init(op, NULL); 190 fscache_operation_init(op, NULL);
100 fscache_operation_init_slow(op, fscache_attr_changed_op); 191 fscache_operation_init_slow(op, fscache_attr_changed_op);
101 op->flags = FSCACHE_OP_SLOW | (1 << FSCACHE_OP_EXCLUSIVE); 192 op->flags = FSCACHE_OP_SLOW | (1 << FSCACHE_OP_EXCLUSIVE);
193 fscache_set_op_name(op, "Attr");
102 194
103 spin_lock(&cookie->lock); 195 spin_lock(&cookie->lock);
104 196
@@ -184,6 +276,7 @@ static struct fscache_retrieval *fscache_alloc_retrieval(
184 op->start_time = jiffies; 276 op->start_time = jiffies;
185 INIT_WORK(&op->op.fast_work, fscache_retrieval_work); 277 INIT_WORK(&op->op.fast_work, fscache_retrieval_work);
186 INIT_LIST_HEAD(&op->to_do); 278 INIT_LIST_HEAD(&op->to_do);
279 fscache_set_op_name(&op->op, "Retr");
187 return op; 280 return op;
188} 281}
189 282
@@ -221,6 +314,43 @@ static int fscache_wait_for_deferred_lookup(struct fscache_cookie *cookie)
221} 314}
222 315
223/* 316/*
317 * wait for an object to become active (or dead)
318 */
319static int fscache_wait_for_retrieval_activation(struct fscache_object *object,
320 struct fscache_retrieval *op,
321 atomic_t *stat_op_waits,
322 atomic_t *stat_object_dead)
323{
324 int ret;
325
326 if (!test_bit(FSCACHE_OP_WAITING, &op->op.flags))
327 goto check_if_dead;
328
329 _debug(">>> WT");
330 fscache_stat(stat_op_waits);
331 if (wait_on_bit(&op->op.flags, FSCACHE_OP_WAITING,
332 fscache_wait_bit_interruptible,
333 TASK_INTERRUPTIBLE) < 0) {
334 ret = fscache_cancel_op(&op->op);
335 if (ret == 0)
336 return -ERESTARTSYS;
337
338 /* it's been removed from the pending queue by another party,
339 * so we should get to run shortly */
340 wait_on_bit(&op->op.flags, FSCACHE_OP_WAITING,
341 fscache_wait_bit, TASK_UNINTERRUPTIBLE);
342 }
343 _debug("<<< GO");
344
345check_if_dead:
346 if (unlikely(fscache_object_is_dead(object))) {
347 fscache_stat(stat_object_dead);
348 return -ENOBUFS;
349 }
350 return 0;
351}
352
353/*
224 * read a page from the cache or allocate a block in which to store it 354 * read a page from the cache or allocate a block in which to store it
225 * - we return: 355 * - we return:
226 * -ENOMEM - out of memory, nothing done 356 * -ENOMEM - out of memory, nothing done
@@ -257,6 +387,7 @@ int __fscache_read_or_alloc_page(struct fscache_cookie *cookie,
257 _leave(" = -ENOMEM"); 387 _leave(" = -ENOMEM");
258 return -ENOMEM; 388 return -ENOMEM;
259 } 389 }
390 fscache_set_op_name(&op->op, "RetrRA1");
260 391
261 spin_lock(&cookie->lock); 392 spin_lock(&cookie->lock);
262 393
@@ -267,6 +398,9 @@ int __fscache_read_or_alloc_page(struct fscache_cookie *cookie,
267 398
268 ASSERTCMP(object->state, >, FSCACHE_OBJECT_LOOKING_UP); 399 ASSERTCMP(object->state, >, FSCACHE_OBJECT_LOOKING_UP);
269 400
401 atomic_inc(&object->n_reads);
402 set_bit(FSCACHE_OP_DEC_READ_CNT, &op->op.flags);
403
270 if (fscache_submit_op(object, &op->op) < 0) 404 if (fscache_submit_op(object, &op->op) < 0)
271 goto nobufs_unlock; 405 goto nobufs_unlock;
272 spin_unlock(&cookie->lock); 406 spin_unlock(&cookie->lock);
@@ -279,23 +413,27 @@ int __fscache_read_or_alloc_page(struct fscache_cookie *cookie,
279 413
280 /* we wait for the operation to become active, and then process it 414 /* we wait for the operation to become active, and then process it
281 * *here*, in this thread, and not in the thread pool */ 415 * *here*, in this thread, and not in the thread pool */
282 if (test_bit(FSCACHE_OP_WAITING, &op->op.flags)) { 416 ret = fscache_wait_for_retrieval_activation(
283 _debug(">>> WT"); 417 object, op,
284 fscache_stat(&fscache_n_retrieval_op_waits); 418 __fscache_stat(&fscache_n_retrieval_op_waits),
285 wait_on_bit(&op->op.flags, FSCACHE_OP_WAITING, 419 __fscache_stat(&fscache_n_retrievals_object_dead));
286 fscache_wait_bit, TASK_UNINTERRUPTIBLE); 420 if (ret < 0)
287 _debug("<<< GO"); 421 goto error;
288 }
289 422
290 /* ask the cache to honour the operation */ 423 /* ask the cache to honour the operation */
291 if (test_bit(FSCACHE_COOKIE_NO_DATA_YET, &object->cookie->flags)) { 424 if (test_bit(FSCACHE_COOKIE_NO_DATA_YET, &object->cookie->flags)) {
425 fscache_stat(&fscache_n_cop_allocate_page);
292 ret = object->cache->ops->allocate_page(op, page, gfp); 426 ret = object->cache->ops->allocate_page(op, page, gfp);
427 fscache_stat_d(&fscache_n_cop_allocate_page);
293 if (ret == 0) 428 if (ret == 0)
294 ret = -ENODATA; 429 ret = -ENODATA;
295 } else { 430 } else {
431 fscache_stat(&fscache_n_cop_read_or_alloc_page);
296 ret = object->cache->ops->read_or_alloc_page(op, page, gfp); 432 ret = object->cache->ops->read_or_alloc_page(op, page, gfp);
433 fscache_stat_d(&fscache_n_cop_read_or_alloc_page);
297 } 434 }
298 435
436error:
299 if (ret == -ENOMEM) 437 if (ret == -ENOMEM)
300 fscache_stat(&fscache_n_retrievals_nomem); 438 fscache_stat(&fscache_n_retrievals_nomem);
301 else if (ret == -ERESTARTSYS) 439 else if (ret == -ERESTARTSYS)
@@ -347,7 +485,6 @@ int __fscache_read_or_alloc_pages(struct fscache_cookie *cookie,
347 void *context, 485 void *context,
348 gfp_t gfp) 486 gfp_t gfp)
349{ 487{
350 fscache_pages_retrieval_func_t func;
351 struct fscache_retrieval *op; 488 struct fscache_retrieval *op;
352 struct fscache_object *object; 489 struct fscache_object *object;
353 int ret; 490 int ret;
@@ -369,6 +506,7 @@ int __fscache_read_or_alloc_pages(struct fscache_cookie *cookie,
369 op = fscache_alloc_retrieval(mapping, end_io_func, context); 506 op = fscache_alloc_retrieval(mapping, end_io_func, context);
370 if (!op) 507 if (!op)
371 return -ENOMEM; 508 return -ENOMEM;
509 fscache_set_op_name(&op->op, "RetrRAN");
372 510
373 spin_lock(&cookie->lock); 511 spin_lock(&cookie->lock);
374 512
@@ -377,6 +515,9 @@ int __fscache_read_or_alloc_pages(struct fscache_cookie *cookie,
377 object = hlist_entry(cookie->backing_objects.first, 515 object = hlist_entry(cookie->backing_objects.first,
378 struct fscache_object, cookie_link); 516 struct fscache_object, cookie_link);
379 517
518 atomic_inc(&object->n_reads);
519 set_bit(FSCACHE_OP_DEC_READ_CNT, &op->op.flags);
520
380 if (fscache_submit_op(object, &op->op) < 0) 521 if (fscache_submit_op(object, &op->op) < 0)
381 goto nobufs_unlock; 522 goto nobufs_unlock;
382 spin_unlock(&cookie->lock); 523 spin_unlock(&cookie->lock);
@@ -389,21 +530,27 @@ int __fscache_read_or_alloc_pages(struct fscache_cookie *cookie,
389 530
390 /* we wait for the operation to become active, and then process it 531 /* we wait for the operation to become active, and then process it
391 * *here*, in this thread, and not in the thread pool */ 532 * *here*, in this thread, and not in the thread pool */
392 if (test_bit(FSCACHE_OP_WAITING, &op->op.flags)) { 533 ret = fscache_wait_for_retrieval_activation(
393 _debug(">>> WT"); 534 object, op,
394 fscache_stat(&fscache_n_retrieval_op_waits); 535 __fscache_stat(&fscache_n_retrieval_op_waits),
395 wait_on_bit(&op->op.flags, FSCACHE_OP_WAITING, 536 __fscache_stat(&fscache_n_retrievals_object_dead));
396 fscache_wait_bit, TASK_UNINTERRUPTIBLE); 537 if (ret < 0)
397 _debug("<<< GO"); 538 goto error;
398 }
399 539
400 /* ask the cache to honour the operation */ 540 /* ask the cache to honour the operation */
401 if (test_bit(FSCACHE_COOKIE_NO_DATA_YET, &object->cookie->flags)) 541 if (test_bit(FSCACHE_COOKIE_NO_DATA_YET, &object->cookie->flags)) {
402 func = object->cache->ops->allocate_pages; 542 fscache_stat(&fscache_n_cop_allocate_pages);
403 else 543 ret = object->cache->ops->allocate_pages(
404 func = object->cache->ops->read_or_alloc_pages; 544 op, pages, nr_pages, gfp);
405 ret = func(op, pages, nr_pages, gfp); 545 fscache_stat_d(&fscache_n_cop_allocate_pages);
546 } else {
547 fscache_stat(&fscache_n_cop_read_or_alloc_pages);
548 ret = object->cache->ops->read_or_alloc_pages(
549 op, pages, nr_pages, gfp);
550 fscache_stat_d(&fscache_n_cop_read_or_alloc_pages);
551 }
406 552
553error:
407 if (ret == -ENOMEM) 554 if (ret == -ENOMEM)
408 fscache_stat(&fscache_n_retrievals_nomem); 555 fscache_stat(&fscache_n_retrievals_nomem);
409 else if (ret == -ERESTARTSYS) 556 else if (ret == -ERESTARTSYS)
@@ -461,6 +608,7 @@ int __fscache_alloc_page(struct fscache_cookie *cookie,
461 op = fscache_alloc_retrieval(page->mapping, NULL, NULL); 608 op = fscache_alloc_retrieval(page->mapping, NULL, NULL);
462 if (!op) 609 if (!op)
463 return -ENOMEM; 610 return -ENOMEM;
611 fscache_set_op_name(&op->op, "RetrAL1");
464 612
465 spin_lock(&cookie->lock); 613 spin_lock(&cookie->lock);
466 614
@@ -475,18 +623,22 @@ int __fscache_alloc_page(struct fscache_cookie *cookie,
475 623
476 fscache_stat(&fscache_n_alloc_ops); 624 fscache_stat(&fscache_n_alloc_ops);
477 625
478 if (test_bit(FSCACHE_OP_WAITING, &op->op.flags)) { 626 ret = fscache_wait_for_retrieval_activation(
479 _debug(">>> WT"); 627 object, op,
480 fscache_stat(&fscache_n_alloc_op_waits); 628 __fscache_stat(&fscache_n_alloc_op_waits),
481 wait_on_bit(&op->op.flags, FSCACHE_OP_WAITING, 629 __fscache_stat(&fscache_n_allocs_object_dead));
482 fscache_wait_bit, TASK_UNINTERRUPTIBLE); 630 if (ret < 0)
483 _debug("<<< GO"); 631 goto error;
484 }
485 632
486 /* ask the cache to honour the operation */ 633 /* ask the cache to honour the operation */
634 fscache_stat(&fscache_n_cop_allocate_page);
487 ret = object->cache->ops->allocate_page(op, page, gfp); 635 ret = object->cache->ops->allocate_page(op, page, gfp);
636 fscache_stat_d(&fscache_n_cop_allocate_page);
488 637
489 if (ret < 0) 638error:
639 if (ret == -ERESTARTSYS)
640 fscache_stat(&fscache_n_allocs_intr);
641 else if (ret < 0)
490 fscache_stat(&fscache_n_allocs_nobufs); 642 fscache_stat(&fscache_n_allocs_nobufs);
491 else 643 else
492 fscache_stat(&fscache_n_allocs_ok); 644 fscache_stat(&fscache_n_allocs_ok);
@@ -521,7 +673,7 @@ static void fscache_write_op(struct fscache_operation *_op)
521 struct fscache_storage *op = 673 struct fscache_storage *op =
522 container_of(_op, struct fscache_storage, op); 674 container_of(_op, struct fscache_storage, op);
523 struct fscache_object *object = op->op.object; 675 struct fscache_object *object = op->op.object;
524 struct fscache_cookie *cookie = object->cookie; 676 struct fscache_cookie *cookie;
525 struct page *page; 677 struct page *page;
526 unsigned n; 678 unsigned n;
527 void *results[1]; 679 void *results[1];
@@ -529,16 +681,19 @@ static void fscache_write_op(struct fscache_operation *_op)
529 681
530 _enter("{OP%x,%d}", op->op.debug_id, atomic_read(&op->op.usage)); 682 _enter("{OP%x,%d}", op->op.debug_id, atomic_read(&op->op.usage));
531 683
532 spin_lock(&cookie->lock); 684 fscache_set_op_state(&op->op, "GetPage");
685
533 spin_lock(&object->lock); 686 spin_lock(&object->lock);
687 cookie = object->cookie;
534 688
535 if (!fscache_object_is_active(object)) { 689 if (!fscache_object_is_active(object) || !cookie) {
536 spin_unlock(&object->lock); 690 spin_unlock(&object->lock);
537 spin_unlock(&cookie->lock);
538 _leave(""); 691 _leave("");
539 return; 692 return;
540 } 693 }
541 694
695 spin_lock(&cookie->stores_lock);
696
542 fscache_stat(&fscache_n_store_calls); 697 fscache_stat(&fscache_n_store_calls);
543 698
544 /* find a page to store */ 699 /* find a page to store */
@@ -549,23 +704,35 @@ static void fscache_write_op(struct fscache_operation *_op)
549 goto superseded; 704 goto superseded;
550 page = results[0]; 705 page = results[0];
551 _debug("gang %d [%lx]", n, page->index); 706 _debug("gang %d [%lx]", n, page->index);
552 if (page->index > op->store_limit) 707 if (page->index > op->store_limit) {
708 fscache_stat(&fscache_n_store_pages_over_limit);
553 goto superseded; 709 goto superseded;
710 }
554 711
555 radix_tree_tag_clear(&cookie->stores, page->index, 712 if (page) {
556 FSCACHE_COOKIE_PENDING_TAG); 713 radix_tree_tag_set(&cookie->stores, page->index,
714 FSCACHE_COOKIE_STORING_TAG);
715 radix_tree_tag_clear(&cookie->stores, page->index,
716 FSCACHE_COOKIE_PENDING_TAG);
717 }
557 718
719 spin_unlock(&cookie->stores_lock);
558 spin_unlock(&object->lock); 720 spin_unlock(&object->lock);
559 spin_unlock(&cookie->lock);
560 721
561 if (page) { 722 if (page) {
723 fscache_set_op_state(&op->op, "Store");
724 fscache_stat(&fscache_n_store_pages);
725 fscache_stat(&fscache_n_cop_write_page);
562 ret = object->cache->ops->write_page(op, page); 726 ret = object->cache->ops->write_page(op, page);
563 fscache_end_page_write(cookie, page); 727 fscache_stat_d(&fscache_n_cop_write_page);
564 page_cache_release(page); 728 fscache_set_op_state(&op->op, "EndWrite");
565 if (ret < 0) 729 fscache_end_page_write(object, page);
730 if (ret < 0) {
731 fscache_set_op_state(&op->op, "Abort");
566 fscache_abort_object(object); 732 fscache_abort_object(object);
567 else 733 } else {
568 fscache_enqueue_operation(&op->op); 734 fscache_enqueue_operation(&op->op);
735 }
569 } 736 }
570 737
571 _leave(""); 738 _leave("");
@@ -575,9 +742,9 @@ superseded:
575 /* this writer is going away and there aren't any more things to 742 /* this writer is going away and there aren't any more things to
576 * write */ 743 * write */
577 _debug("cease"); 744 _debug("cease");
745 spin_unlock(&cookie->stores_lock);
578 clear_bit(FSCACHE_OBJECT_PENDING_WRITE, &object->flags); 746 clear_bit(FSCACHE_OBJECT_PENDING_WRITE, &object->flags);
579 spin_unlock(&object->lock); 747 spin_unlock(&object->lock);
580 spin_unlock(&cookie->lock);
581 _leave(""); 748 _leave("");
582} 749}
583 750
@@ -634,6 +801,7 @@ int __fscache_write_page(struct fscache_cookie *cookie,
634 fscache_operation_init(&op->op, fscache_release_write_op); 801 fscache_operation_init(&op->op, fscache_release_write_op);
635 fscache_operation_init_slow(&op->op, fscache_write_op); 802 fscache_operation_init_slow(&op->op, fscache_write_op);
636 op->op.flags = FSCACHE_OP_SLOW | (1 << FSCACHE_OP_WAITING); 803 op->op.flags = FSCACHE_OP_SLOW | (1 << FSCACHE_OP_WAITING);
804 fscache_set_op_name(&op->op, "Write1");
637 805
638 ret = radix_tree_preload(gfp & ~__GFP_HIGHMEM); 806 ret = radix_tree_preload(gfp & ~__GFP_HIGHMEM);
639 if (ret < 0) 807 if (ret < 0)
@@ -652,6 +820,7 @@ int __fscache_write_page(struct fscache_cookie *cookie,
652 /* add the page to the pending-storage radix tree on the backing 820 /* add the page to the pending-storage radix tree on the backing
653 * object */ 821 * object */
654 spin_lock(&object->lock); 822 spin_lock(&object->lock);
823 spin_lock(&cookie->stores_lock);
655 824
656 _debug("store limit %llx", (unsigned long long) object->store_limit); 825 _debug("store limit %llx", (unsigned long long) object->store_limit);
657 826
@@ -672,6 +841,7 @@ int __fscache_write_page(struct fscache_cookie *cookie,
672 if (test_and_set_bit(FSCACHE_OBJECT_PENDING_WRITE, &object->flags)) 841 if (test_and_set_bit(FSCACHE_OBJECT_PENDING_WRITE, &object->flags))
673 goto already_pending; 842 goto already_pending;
674 843
844 spin_unlock(&cookie->stores_lock);
675 spin_unlock(&object->lock); 845 spin_unlock(&object->lock);
676 846
677 op->op.debug_id = atomic_inc_return(&fscache_op_debug_id); 847 op->op.debug_id = atomic_inc_return(&fscache_op_debug_id);
@@ -693,6 +863,7 @@ int __fscache_write_page(struct fscache_cookie *cookie,
693already_queued: 863already_queued:
694 fscache_stat(&fscache_n_stores_again); 864 fscache_stat(&fscache_n_stores_again);
695already_pending: 865already_pending:
866 spin_unlock(&cookie->stores_lock);
696 spin_unlock(&object->lock); 867 spin_unlock(&object->lock);
697 spin_unlock(&cookie->lock); 868 spin_unlock(&cookie->lock);
698 radix_tree_preload_end(); 869 radix_tree_preload_end();
@@ -702,7 +873,9 @@ already_pending:
702 return 0; 873 return 0;
703 874
704submit_failed: 875submit_failed:
876 spin_lock(&cookie->stores_lock);
705 radix_tree_delete(&cookie->stores, page->index); 877 radix_tree_delete(&cookie->stores, page->index);
878 spin_unlock(&cookie->stores_lock);
706 page_cache_release(page); 879 page_cache_release(page);
707 ret = -ENOBUFS; 880 ret = -ENOBUFS;
708 goto nobufs; 881 goto nobufs;
@@ -763,7 +936,9 @@ void __fscache_uncache_page(struct fscache_cookie *cookie, struct page *page)
763 if (TestClearPageFsCache(page) && 936 if (TestClearPageFsCache(page) &&
764 object->cache->ops->uncache_page) { 937 object->cache->ops->uncache_page) {
765 /* the cache backend releases the cookie lock */ 938 /* the cache backend releases the cookie lock */
939 fscache_stat(&fscache_n_cop_uncache_page);
766 object->cache->ops->uncache_page(object, page); 940 object->cache->ops->uncache_page(object, page);
941 fscache_stat_d(&fscache_n_cop_uncache_page);
767 goto done; 942 goto done;
768 } 943 }
769 944
diff --git a/fs/fscache/proc.c b/fs/fscache/proc.c
index beeab44bc31a..1d9e4951a597 100644
--- a/fs/fscache/proc.c
+++ b/fs/fscache/proc.c
@@ -37,10 +37,20 @@ int __init fscache_proc_init(void)
37 goto error_histogram; 37 goto error_histogram;
38#endif 38#endif
39 39
40#ifdef CONFIG_FSCACHE_OBJECT_LIST
41 if (!proc_create("fs/fscache/objects", S_IFREG | 0444, NULL,
42 &fscache_objlist_fops))
43 goto error_objects;
44#endif
45
40 _leave(" = 0"); 46 _leave(" = 0");
41 return 0; 47 return 0;
42 48
49#ifdef CONFIG_FSCACHE_OBJECT_LIST
50error_objects:
51#endif
43#ifdef CONFIG_FSCACHE_HISTOGRAM 52#ifdef CONFIG_FSCACHE_HISTOGRAM
53 remove_proc_entry("fs/fscache/histogram", NULL);
44error_histogram: 54error_histogram:
45#endif 55#endif
46#ifdef CONFIG_FSCACHE_STATS 56#ifdef CONFIG_FSCACHE_STATS
@@ -58,6 +68,9 @@ error_dir:
58 */ 68 */
59void fscache_proc_cleanup(void) 69void fscache_proc_cleanup(void)
60{ 70{
71#ifdef CONFIG_FSCACHE_OBJECT_LIST
72 remove_proc_entry("fs/fscache/objects", NULL);
73#endif
61#ifdef CONFIG_FSCACHE_HISTOGRAM 74#ifdef CONFIG_FSCACHE_HISTOGRAM
62 remove_proc_entry("fs/fscache/histogram", NULL); 75 remove_proc_entry("fs/fscache/histogram", NULL);
63#endif 76#endif
diff --git a/fs/fscache/stats.c b/fs/fscache/stats.c
index 65deb99e756b..46435f3aae68 100644
--- a/fs/fscache/stats.c
+++ b/fs/fscache/stats.c
@@ -25,6 +25,8 @@ atomic_t fscache_n_op_requeue;
25atomic_t fscache_n_op_deferred_release; 25atomic_t fscache_n_op_deferred_release;
26atomic_t fscache_n_op_release; 26atomic_t fscache_n_op_release;
27atomic_t fscache_n_op_gc; 27atomic_t fscache_n_op_gc;
28atomic_t fscache_n_op_cancelled;
29atomic_t fscache_n_op_rejected;
28 30
29atomic_t fscache_n_attr_changed; 31atomic_t fscache_n_attr_changed;
30atomic_t fscache_n_attr_changed_ok; 32atomic_t fscache_n_attr_changed_ok;
@@ -36,6 +38,8 @@ atomic_t fscache_n_allocs;
36atomic_t fscache_n_allocs_ok; 38atomic_t fscache_n_allocs_ok;
37atomic_t fscache_n_allocs_wait; 39atomic_t fscache_n_allocs_wait;
38atomic_t fscache_n_allocs_nobufs; 40atomic_t fscache_n_allocs_nobufs;
41atomic_t fscache_n_allocs_intr;
42atomic_t fscache_n_allocs_object_dead;
39atomic_t fscache_n_alloc_ops; 43atomic_t fscache_n_alloc_ops;
40atomic_t fscache_n_alloc_op_waits; 44atomic_t fscache_n_alloc_op_waits;
41 45
@@ -46,6 +50,7 @@ atomic_t fscache_n_retrievals_nodata;
46atomic_t fscache_n_retrievals_nobufs; 50atomic_t fscache_n_retrievals_nobufs;
47atomic_t fscache_n_retrievals_intr; 51atomic_t fscache_n_retrievals_intr;
48atomic_t fscache_n_retrievals_nomem; 52atomic_t fscache_n_retrievals_nomem;
53atomic_t fscache_n_retrievals_object_dead;
49atomic_t fscache_n_retrieval_ops; 54atomic_t fscache_n_retrieval_ops;
50atomic_t fscache_n_retrieval_op_waits; 55atomic_t fscache_n_retrieval_op_waits;
51 56
@@ -56,6 +61,14 @@ atomic_t fscache_n_stores_nobufs;
56atomic_t fscache_n_stores_oom; 61atomic_t fscache_n_stores_oom;
57atomic_t fscache_n_store_ops; 62atomic_t fscache_n_store_ops;
58atomic_t fscache_n_store_calls; 63atomic_t fscache_n_store_calls;
64atomic_t fscache_n_store_pages;
65atomic_t fscache_n_store_radix_deletes;
66atomic_t fscache_n_store_pages_over_limit;
67
68atomic_t fscache_n_store_vmscan_not_storing;
69atomic_t fscache_n_store_vmscan_gone;
70atomic_t fscache_n_store_vmscan_busy;
71atomic_t fscache_n_store_vmscan_cancelled;
59 72
60atomic_t fscache_n_marks; 73atomic_t fscache_n_marks;
61atomic_t fscache_n_uncaches; 74atomic_t fscache_n_uncaches;
@@ -74,6 +87,7 @@ atomic_t fscache_n_updates_run;
74atomic_t fscache_n_relinquishes; 87atomic_t fscache_n_relinquishes;
75atomic_t fscache_n_relinquishes_null; 88atomic_t fscache_n_relinquishes_null;
76atomic_t fscache_n_relinquishes_waitcrt; 89atomic_t fscache_n_relinquishes_waitcrt;
90atomic_t fscache_n_relinquishes_retire;
77 91
78atomic_t fscache_n_cookie_index; 92atomic_t fscache_n_cookie_index;
79atomic_t fscache_n_cookie_data; 93atomic_t fscache_n_cookie_data;
@@ -84,6 +98,7 @@ atomic_t fscache_n_object_no_alloc;
84atomic_t fscache_n_object_lookups; 98atomic_t fscache_n_object_lookups;
85atomic_t fscache_n_object_lookups_negative; 99atomic_t fscache_n_object_lookups_negative;
86atomic_t fscache_n_object_lookups_positive; 100atomic_t fscache_n_object_lookups_positive;
101atomic_t fscache_n_object_lookups_timed_out;
87atomic_t fscache_n_object_created; 102atomic_t fscache_n_object_created;
88atomic_t fscache_n_object_avail; 103atomic_t fscache_n_object_avail;
89atomic_t fscache_n_object_dead; 104atomic_t fscache_n_object_dead;
@@ -93,6 +108,23 @@ atomic_t fscache_n_checkaux_okay;
93atomic_t fscache_n_checkaux_update; 108atomic_t fscache_n_checkaux_update;
94atomic_t fscache_n_checkaux_obsolete; 109atomic_t fscache_n_checkaux_obsolete;
95 110
111atomic_t fscache_n_cop_alloc_object;
112atomic_t fscache_n_cop_lookup_object;
113atomic_t fscache_n_cop_lookup_complete;
114atomic_t fscache_n_cop_grab_object;
115atomic_t fscache_n_cop_update_object;
116atomic_t fscache_n_cop_drop_object;
117atomic_t fscache_n_cop_put_object;
118atomic_t fscache_n_cop_sync_cache;
119atomic_t fscache_n_cop_attr_changed;
120atomic_t fscache_n_cop_read_or_alloc_page;
121atomic_t fscache_n_cop_read_or_alloc_pages;
122atomic_t fscache_n_cop_allocate_page;
123atomic_t fscache_n_cop_allocate_pages;
124atomic_t fscache_n_cop_write_page;
125atomic_t fscache_n_cop_uncache_page;
126atomic_t fscache_n_cop_dissociate_pages;
127
96/* 128/*
97 * display the general statistics 129 * display the general statistics
98 */ 130 */
@@ -129,10 +161,11 @@ static int fscache_stats_show(struct seq_file *m, void *v)
129 atomic_read(&fscache_n_acquires_nobufs), 161 atomic_read(&fscache_n_acquires_nobufs),
130 atomic_read(&fscache_n_acquires_oom)); 162 atomic_read(&fscache_n_acquires_oom));
131 163
132 seq_printf(m, "Lookups: n=%u neg=%u pos=%u crt=%u\n", 164 seq_printf(m, "Lookups: n=%u neg=%u pos=%u crt=%u tmo=%u\n",
133 atomic_read(&fscache_n_object_lookups), 165 atomic_read(&fscache_n_object_lookups),
134 atomic_read(&fscache_n_object_lookups_negative), 166 atomic_read(&fscache_n_object_lookups_negative),
135 atomic_read(&fscache_n_object_lookups_positive), 167 atomic_read(&fscache_n_object_lookups_positive),
168 atomic_read(&fscache_n_object_lookups_timed_out),
136 atomic_read(&fscache_n_object_created)); 169 atomic_read(&fscache_n_object_created));
137 170
138 seq_printf(m, "Updates: n=%u nul=%u run=%u\n", 171 seq_printf(m, "Updates: n=%u nul=%u run=%u\n",
@@ -140,10 +173,11 @@ static int fscache_stats_show(struct seq_file *m, void *v)
140 atomic_read(&fscache_n_updates_null), 173 atomic_read(&fscache_n_updates_null),
141 atomic_read(&fscache_n_updates_run)); 174 atomic_read(&fscache_n_updates_run));
142 175
143 seq_printf(m, "Relinqs: n=%u nul=%u wcr=%u\n", 176 seq_printf(m, "Relinqs: n=%u nul=%u wcr=%u rtr=%u\n",
144 atomic_read(&fscache_n_relinquishes), 177 atomic_read(&fscache_n_relinquishes),
145 atomic_read(&fscache_n_relinquishes_null), 178 atomic_read(&fscache_n_relinquishes_null),
146 atomic_read(&fscache_n_relinquishes_waitcrt)); 179 atomic_read(&fscache_n_relinquishes_waitcrt),
180 atomic_read(&fscache_n_relinquishes_retire));
147 181
148 seq_printf(m, "AttrChg: n=%u ok=%u nbf=%u oom=%u run=%u\n", 182 seq_printf(m, "AttrChg: n=%u ok=%u nbf=%u oom=%u run=%u\n",
149 atomic_read(&fscache_n_attr_changed), 183 atomic_read(&fscache_n_attr_changed),
@@ -152,14 +186,16 @@ static int fscache_stats_show(struct seq_file *m, void *v)
152 atomic_read(&fscache_n_attr_changed_nomem), 186 atomic_read(&fscache_n_attr_changed_nomem),
153 atomic_read(&fscache_n_attr_changed_calls)); 187 atomic_read(&fscache_n_attr_changed_calls));
154 188
155 seq_printf(m, "Allocs : n=%u ok=%u wt=%u nbf=%u\n", 189 seq_printf(m, "Allocs : n=%u ok=%u wt=%u nbf=%u int=%u\n",
156 atomic_read(&fscache_n_allocs), 190 atomic_read(&fscache_n_allocs),
157 atomic_read(&fscache_n_allocs_ok), 191 atomic_read(&fscache_n_allocs_ok),
158 atomic_read(&fscache_n_allocs_wait), 192 atomic_read(&fscache_n_allocs_wait),
159 atomic_read(&fscache_n_allocs_nobufs)); 193 atomic_read(&fscache_n_allocs_nobufs),
160 seq_printf(m, "Allocs : ops=%u owt=%u\n", 194 atomic_read(&fscache_n_allocs_intr));
195 seq_printf(m, "Allocs : ops=%u owt=%u abt=%u\n",
161 atomic_read(&fscache_n_alloc_ops), 196 atomic_read(&fscache_n_alloc_ops),
162 atomic_read(&fscache_n_alloc_op_waits)); 197 atomic_read(&fscache_n_alloc_op_waits),
198 atomic_read(&fscache_n_allocs_object_dead));
163 199
164 seq_printf(m, "Retrvls: n=%u ok=%u wt=%u nod=%u nbf=%u" 200 seq_printf(m, "Retrvls: n=%u ok=%u wt=%u nod=%u nbf=%u"
165 " int=%u oom=%u\n", 201 " int=%u oom=%u\n",
@@ -170,9 +206,10 @@ static int fscache_stats_show(struct seq_file *m, void *v)
170 atomic_read(&fscache_n_retrievals_nobufs), 206 atomic_read(&fscache_n_retrievals_nobufs),
171 atomic_read(&fscache_n_retrievals_intr), 207 atomic_read(&fscache_n_retrievals_intr),
172 atomic_read(&fscache_n_retrievals_nomem)); 208 atomic_read(&fscache_n_retrievals_nomem));
173 seq_printf(m, "Retrvls: ops=%u owt=%u\n", 209 seq_printf(m, "Retrvls: ops=%u owt=%u abt=%u\n",
174 atomic_read(&fscache_n_retrieval_ops), 210 atomic_read(&fscache_n_retrieval_ops),
175 atomic_read(&fscache_n_retrieval_op_waits)); 211 atomic_read(&fscache_n_retrieval_op_waits),
212 atomic_read(&fscache_n_retrievals_object_dead));
176 213
177 seq_printf(m, "Stores : n=%u ok=%u agn=%u nbf=%u oom=%u\n", 214 seq_printf(m, "Stores : n=%u ok=%u agn=%u nbf=%u oom=%u\n",
178 atomic_read(&fscache_n_stores), 215 atomic_read(&fscache_n_stores),
@@ -180,18 +217,49 @@ static int fscache_stats_show(struct seq_file *m, void *v)
180 atomic_read(&fscache_n_stores_again), 217 atomic_read(&fscache_n_stores_again),
181 atomic_read(&fscache_n_stores_nobufs), 218 atomic_read(&fscache_n_stores_nobufs),
182 atomic_read(&fscache_n_stores_oom)); 219 atomic_read(&fscache_n_stores_oom));
183 seq_printf(m, "Stores : ops=%u run=%u\n", 220 seq_printf(m, "Stores : ops=%u run=%u pgs=%u rxd=%u olm=%u\n",
184 atomic_read(&fscache_n_store_ops), 221 atomic_read(&fscache_n_store_ops),
185 atomic_read(&fscache_n_store_calls)); 222 atomic_read(&fscache_n_store_calls),
223 atomic_read(&fscache_n_store_pages),
224 atomic_read(&fscache_n_store_radix_deletes),
225 atomic_read(&fscache_n_store_pages_over_limit));
186 226
187 seq_printf(m, "Ops : pend=%u run=%u enq=%u\n", 227 seq_printf(m, "VmScan : nos=%u gon=%u bsy=%u can=%u\n",
228 atomic_read(&fscache_n_store_vmscan_not_storing),
229 atomic_read(&fscache_n_store_vmscan_gone),
230 atomic_read(&fscache_n_store_vmscan_busy),
231 atomic_read(&fscache_n_store_vmscan_cancelled));
232
233 seq_printf(m, "Ops : pend=%u run=%u enq=%u can=%u rej=%u\n",
188 atomic_read(&fscache_n_op_pend), 234 atomic_read(&fscache_n_op_pend),
189 atomic_read(&fscache_n_op_run), 235 atomic_read(&fscache_n_op_run),
190 atomic_read(&fscache_n_op_enqueue)); 236 atomic_read(&fscache_n_op_enqueue),
237 atomic_read(&fscache_n_op_cancelled),
238 atomic_read(&fscache_n_op_rejected));
191 seq_printf(m, "Ops : dfr=%u rel=%u gc=%u\n", 239 seq_printf(m, "Ops : dfr=%u rel=%u gc=%u\n",
192 atomic_read(&fscache_n_op_deferred_release), 240 atomic_read(&fscache_n_op_deferred_release),
193 atomic_read(&fscache_n_op_release), 241 atomic_read(&fscache_n_op_release),
194 atomic_read(&fscache_n_op_gc)); 242 atomic_read(&fscache_n_op_gc));
243
244 seq_printf(m, "CacheOp: alo=%d luo=%d luc=%d gro=%d\n",
245 atomic_read(&fscache_n_cop_alloc_object),
246 atomic_read(&fscache_n_cop_lookup_object),
247 atomic_read(&fscache_n_cop_lookup_complete),
248 atomic_read(&fscache_n_cop_grab_object));
249 seq_printf(m, "CacheOp: upo=%d dro=%d pto=%d atc=%d syn=%d\n",
250 atomic_read(&fscache_n_cop_update_object),
251 atomic_read(&fscache_n_cop_drop_object),
252 atomic_read(&fscache_n_cop_put_object),
253 atomic_read(&fscache_n_cop_attr_changed),
254 atomic_read(&fscache_n_cop_sync_cache));
255 seq_printf(m, "CacheOp: rap=%d ras=%d alp=%d als=%d wrp=%d ucp=%d dsp=%d\n",
256 atomic_read(&fscache_n_cop_read_or_alloc_page),
257 atomic_read(&fscache_n_cop_read_or_alloc_pages),
258 atomic_read(&fscache_n_cop_allocate_page),
259 atomic_read(&fscache_n_cop_allocate_pages),
260 atomic_read(&fscache_n_cop_write_page),
261 atomic_read(&fscache_n_cop_uncache_page),
262 atomic_read(&fscache_n_cop_dissociate_pages));
195 return 0; 263 return 0;
196} 264}
197 265
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index 8ada78aade58..4787ae6c5c1c 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -385,6 +385,9 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, int mode,
385 if (fc->no_create) 385 if (fc->no_create)
386 return -ENOSYS; 386 return -ENOSYS;
387 387
388 if (flags & O_DIRECT)
389 return -EINVAL;
390
388 forget_req = fuse_get_req(fc); 391 forget_req = fuse_get_req(fc);
389 if (IS_ERR(forget_req)) 392 if (IS_ERR(forget_req))
390 return PTR_ERR(forget_req); 393 return PTR_ERR(forget_req);
diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c
index eacd78a5d082..5b31f7741a8f 100644
--- a/fs/gfs2/main.c
+++ b/fs/gfs2/main.c
@@ -114,7 +114,7 @@ static int __init init_gfs2_fs(void)
114 if (error) 114 if (error)
115 goto fail_unregister; 115 goto fail_unregister;
116 116
117 error = slow_work_register_user(); 117 error = slow_work_register_user(THIS_MODULE);
118 if (error) 118 if (error)
119 goto fail_slow; 119 goto fail_slow;
120 120
@@ -163,7 +163,7 @@ static void __exit exit_gfs2_fs(void)
163 gfs2_unregister_debugfs(); 163 gfs2_unregister_debugfs();
164 unregister_filesystem(&gfs2_fs_type); 164 unregister_filesystem(&gfs2_fs_type);
165 unregister_filesystem(&gfs2meta_fs_type); 165 unregister_filesystem(&gfs2meta_fs_type);
166 slow_work_unregister_user(); 166 slow_work_unregister_user(THIS_MODULE);
167 167
168 kmem_cache_destroy(gfs2_quotad_cachep); 168 kmem_cache_destroy(gfs2_quotad_cachep);
169 kmem_cache_destroy(gfs2_rgrpd_cachep); 169 kmem_cache_destroy(gfs2_rgrpd_cachep);
diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
index 59d2695509d3..09fa31965576 100644
--- a/fs/gfs2/recovery.c
+++ b/fs/gfs2/recovery.c
@@ -7,6 +7,7 @@
7 * of the GNU General Public License version 2. 7 * of the GNU General Public License version 2.
8 */ 8 */
9 9
10#include <linux/module.h>
10#include <linux/slab.h> 11#include <linux/slab.h>
11#include <linux/spinlock.h> 12#include <linux/spinlock.h>
12#include <linux/completion.h> 13#include <linux/completion.h>
@@ -593,6 +594,7 @@ fail:
593} 594}
594 595
595struct slow_work_ops gfs2_recover_ops = { 596struct slow_work_ops gfs2_recover_ops = {
597 .owner = THIS_MODULE,
596 .get_ref = gfs2_recover_get_ref, 598 .get_ref = gfs2_recover_get_ref,
597 .put_ref = gfs2_recover_put_ref, 599 .put_ref = gfs2_recover_put_ref,
598 .execute = gfs2_recover_work, 600 .execute = gfs2_recover_work,
diff --git a/fs/ioctl.c b/fs/ioctl.c
index 7b17a14396ff..6c751106c2e5 100644
--- a/fs/ioctl.c
+++ b/fs/ioctl.c
@@ -254,7 +254,7 @@ int __generic_block_fiemap(struct inode *inode,
254 u64 len, get_block_t *get_block) 254 u64 len, get_block_t *get_block)
255{ 255{
256 struct buffer_head tmp; 256 struct buffer_head tmp;
257 unsigned int start_blk; 257 unsigned long long start_blk;
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;
diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
index bd3c073b485d..4160afad6d00 100644
--- a/fs/jbd/journal.c
+++ b/fs/jbd/journal.c
@@ -73,6 +73,7 @@ EXPORT_SYMBOL(journal_errno);
73EXPORT_SYMBOL(journal_ack_err); 73EXPORT_SYMBOL(journal_ack_err);
74EXPORT_SYMBOL(journal_clear_err); 74EXPORT_SYMBOL(journal_clear_err);
75EXPORT_SYMBOL(log_wait_commit); 75EXPORT_SYMBOL(log_wait_commit);
76EXPORT_SYMBOL(log_start_commit);
76EXPORT_SYMBOL(journal_start_commit); 77EXPORT_SYMBOL(journal_start_commit);
77EXPORT_SYMBOL(journal_force_commit_nested); 78EXPORT_SYMBOL(journal_force_commit_nested);
78EXPORT_SYMBOL(journal_wipe); 79EXPORT_SYMBOL(journal_wipe);
@@ -756,6 +757,7 @@ journal_t * journal_init_dev(struct block_device *bdev,
756 757
757 return journal; 758 return journal;
758out_err: 759out_err:
760 kfree(journal->j_wbuf);
759 kfree(journal); 761 kfree(journal);
760 return NULL; 762 return NULL;
761} 763}
@@ -820,6 +822,7 @@ journal_t * journal_init_inode (struct inode *inode)
820 822
821 return journal; 823 return journal;
822out_err: 824out_err:
825 kfree(journal->j_wbuf);
823 kfree(journal); 826 kfree(journal);
824 return NULL; 827 return NULL;
825} 828}
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index b0ab5219becb..fed85388ee86 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -913,6 +913,7 @@ journal_t * jbd2_journal_init_dev(struct block_device *bdev,
913 913
914 return journal; 914 return journal;
915out_err: 915out_err:
916 kfree(journal->j_wbuf);
916 jbd2_stats_proc_exit(journal); 917 jbd2_stats_proc_exit(journal);
917 kfree(journal); 918 kfree(journal);
918 return NULL; 919 return NULL;
@@ -986,6 +987,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode)
986 987
987 return journal; 988 return journal;
988out_err: 989out_err:
990 kfree(journal->j_wbuf);
989 jbd2_stats_proc_exit(journal); 991 jbd2_stats_proc_exit(journal);
990 kfree(journal); 992 kfree(journal);
991 return NULL; 993 return NULL;
diff --git a/fs/jffs2/read.c b/fs/jffs2/read.c
index cfe05c1966a5..3f39be1b0455 100644
--- a/fs/jffs2/read.c
+++ b/fs/jffs2/read.c
@@ -164,12 +164,15 @@ int jffs2_read_inode_range(struct jffs2_sb_info *c, struct jffs2_inode_info *f,
164 164
165 /* XXX FIXME: Where a single physical node actually shows up in two 165 /* XXX FIXME: Where a single physical node actually shows up in two
166 frags, we read it twice. Don't do that. */ 166 frags, we read it twice. Don't do that. */
167 /* Now we're pointing at the first frag which overlaps our page */ 167 /* Now we're pointing at the first frag which overlaps our page
168 * (or perhaps is before it, if we've been asked to read off the
169 * end of the file). */
168 while(offset < end) { 170 while(offset < end) {
169 D2(printk(KERN_DEBUG "jffs2_read_inode_range: offset %d, end %d\n", offset, end)); 171 D2(printk(KERN_DEBUG "jffs2_read_inode_range: offset %d, end %d\n", offset, end));
170 if (unlikely(!frag || frag->ofs > offset)) { 172 if (unlikely(!frag || frag->ofs > offset ||
173 frag->ofs + frag->size <= offset)) {
171 uint32_t holesize = end - offset; 174 uint32_t holesize = end - offset;
172 if (frag) { 175 if (frag && frag->ofs > offset) {
173 D1(printk(KERN_NOTICE "Eep. Hole in ino #%u fraglist. frag->ofs = 0x%08x, offset = 0x%08x\n", f->inocache->ino, frag->ofs, offset)); 176 D1(printk(KERN_NOTICE "Eep. Hole in ino #%u fraglist. frag->ofs = 0x%08x, offset = 0x%08x\n", f->inocache->ino, frag->ofs, offset));
174 holesize = min(holesize, frag->ofs - offset); 177 holesize = min(holesize, frag->ofs - offset);
175 } 178 }
diff --git a/fs/nfs/fscache.c b/fs/nfs/fscache.c
index 70fad69eb959..fa588006588d 100644
--- a/fs/nfs/fscache.c
+++ b/fs/nfs/fscache.c
@@ -359,17 +359,13 @@ int nfs_fscache_release_page(struct page *page, gfp_t gfp)
359 359
360 BUG_ON(!cookie); 360 BUG_ON(!cookie);
361 361
362 if (fscache_check_page_write(cookie, page)) {
363 if (!(gfp & __GFP_WAIT))
364 return 0;
365 fscache_wait_on_page_write(cookie, page);
366 }
367
368 if (PageFsCache(page)) { 362 if (PageFsCache(page)) {
369 dfprintk(FSCACHE, "NFS: fscache releasepage (0x%p/0x%p/0x%p)\n", 363 dfprintk(FSCACHE, "NFS: fscache releasepage (0x%p/0x%p/0x%p)\n",
370 cookie, page, nfsi); 364 cookie, page, nfsi);
371 365
372 fscache_uncache_page(cookie, page); 366 if (!fscache_maybe_release_page(cookie, page, gfp))
367 return 0;
368
373 nfs_add_fscache_stats(page->mapping->host, 369 nfs_add_fscache_stats(page->mapping->host,
374 NFSIOS_FSCACHE_PAGES_UNCACHED, 1); 370 NFSIOS_FSCACHE_PAGES_UNCACHED, 1);
375 } 371 }
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index ff37454fa783..741a562177fc 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2767,7 +2767,7 @@ static int _nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
2767 .pages = &page, 2767 .pages = &page,
2768 .pgbase = 0, 2768 .pgbase = 0,
2769 .count = count, 2769 .count = count,
2770 .bitmask = NFS_SERVER(dentry->d_inode)->cache_consistency_bitmask, 2770 .bitmask = NFS_SERVER(dentry->d_inode)->attr_bitmask,
2771 }; 2771 };
2772 struct nfs4_readdir_res res; 2772 struct nfs4_readdir_res res;
2773 struct rpc_message msg = { 2773 struct rpc_message msg = {
diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c
index edf926e1062f..d0a2ce1b4324 100644
--- a/fs/nfsd/nfs3xdr.c
+++ b/fs/nfsd/nfs3xdr.c
@@ -958,7 +958,7 @@ encode_entry(struct readdir_cd *ccd, const char *name, int namlen,
958 p1 = encode_entry_baggage(cd, p1, name, namlen, ino); 958 p1 = encode_entry_baggage(cd, p1, name, namlen, ino);
959 959
960 if (plus) 960 if (plus)
961 p = encode_entryplus_baggage(cd, p1, name, namlen); 961 p1 = encode_entryplus_baggage(cd, p1, name, namlen);
962 962
963 /* determine entry word length and lengths to go in pages */ 963 /* determine entry word length and lengths to go in pages */
964 num_entry_words = p1 - tmp; 964 num_entry_words = p1 - tmp;
diff --git a/fs/nilfs2/cpfile.c b/fs/nilfs2/cpfile.c
index 1c6cfb59128d..3f5d5d06f53c 100644
--- a/fs/nilfs2/cpfile.c
+++ b/fs/nilfs2/cpfile.c
@@ -871,7 +871,6 @@ int nilfs_cpfile_change_cpmode(struct inode *cpfile, __u64 cno, int mode)
871 * exclusive with a new mount job. Though it doesn't cover 871 * exclusive with a new mount job. Though it doesn't cover
872 * umount, it's enough for the purpose. 872 * umount, it's enough for the purpose.
873 */ 873 */
874 mutex_lock(&nilfs->ns_mount_mutex);
875 if (nilfs_checkpoint_is_mounted(nilfs, cno, 1)) { 874 if (nilfs_checkpoint_is_mounted(nilfs, cno, 1)) {
876 /* Current implementation does not have to protect 875 /* Current implementation does not have to protect
877 plain read-only mounts since they are exclusive 876 plain read-only mounts since they are exclusive
@@ -880,7 +879,6 @@ int nilfs_cpfile_change_cpmode(struct inode *cpfile, __u64 cno, int mode)
880 ret = -EBUSY; 879 ret = -EBUSY;
881 } else 880 } else
882 ret = nilfs_cpfile_clear_snapshot(cpfile, cno); 881 ret = nilfs_cpfile_clear_snapshot(cpfile, cno);
883 mutex_unlock(&nilfs->ns_mount_mutex);
884 return ret; 882 return ret;
885 case NILFS_SNAPSHOT: 883 case NILFS_SNAPSHOT:
886 return nilfs_cpfile_set_snapshot(cpfile, cno); 884 return nilfs_cpfile_set_snapshot(cpfile, cno);
diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
index 5040220c3732..2a0a5a3ac134 100644
--- a/fs/nilfs2/inode.c
+++ b/fs/nilfs2/inode.c
@@ -664,7 +664,6 @@ int nilfs_load_inode_block(struct nilfs_sb_info *sbi, struct inode *inode,
664 int err; 664 int err;
665 665
666 spin_lock(&sbi->s_inode_lock); 666 spin_lock(&sbi->s_inode_lock);
667 /* Caller of this function MUST lock s_inode_lock */
668 if (ii->i_bh == NULL) { 667 if (ii->i_bh == NULL) {
669 spin_unlock(&sbi->s_inode_lock); 668 spin_unlock(&sbi->s_inode_lock);
670 err = nilfs_ifile_get_inode_block(sbi->s_ifile, inode->i_ino, 669 err = nilfs_ifile_get_inode_block(sbi->s_ifile, inode->i_ino,
diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c
index d24057d58f17..f6af76042d80 100644
--- a/fs/nilfs2/ioctl.c
+++ b/fs/nilfs2/ioctl.c
@@ -99,7 +99,8 @@ static int nilfs_ioctl_wrap_copy(struct the_nilfs *nilfs,
99static int nilfs_ioctl_change_cpmode(struct inode *inode, struct file *filp, 99static int nilfs_ioctl_change_cpmode(struct inode *inode, struct file *filp,
100 unsigned int cmd, void __user *argp) 100 unsigned int cmd, void __user *argp)
101{ 101{
102 struct inode *cpfile = NILFS_SB(inode->i_sb)->s_nilfs->ns_cpfile; 102 struct the_nilfs *nilfs = NILFS_SB(inode->i_sb)->s_nilfs;
103 struct inode *cpfile = nilfs->ns_cpfile;
103 struct nilfs_transaction_info ti; 104 struct nilfs_transaction_info ti;
104 struct nilfs_cpmode cpmode; 105 struct nilfs_cpmode cpmode;
105 int ret; 106 int ret;
@@ -109,14 +110,17 @@ static int nilfs_ioctl_change_cpmode(struct inode *inode, struct file *filp,
109 if (copy_from_user(&cpmode, argp, sizeof(cpmode))) 110 if (copy_from_user(&cpmode, argp, sizeof(cpmode)))
110 return -EFAULT; 111 return -EFAULT;
111 112
113 mutex_lock(&nilfs->ns_mount_mutex);
112 nilfs_transaction_begin(inode->i_sb, &ti, 0); 114 nilfs_transaction_begin(inode->i_sb, &ti, 0);
113 ret = nilfs_cpfile_change_cpmode( 115 ret = nilfs_cpfile_change_cpmode(
114 cpfile, cpmode.cm_cno, cpmode.cm_mode); 116 cpfile, cpmode.cm_cno, cpmode.cm_mode);
115 if (unlikely(ret < 0)) { 117 if (unlikely(ret < 0)) {
116 nilfs_transaction_abort(inode->i_sb); 118 nilfs_transaction_abort(inode->i_sb);
119 mutex_unlock(&nilfs->ns_mount_mutex);
117 return ret; 120 return ret;
118 } 121 }
119 nilfs_transaction_commit(inode->i_sb); /* never fails */ 122 nilfs_transaction_commit(inode->i_sb); /* never fails */
123 mutex_unlock(&nilfs->ns_mount_mutex);
120 return ret; 124 return ret;
121} 125}
122 126
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 89fc8ee1f5a5..de059f490586 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -1712,7 +1712,8 @@ int ocfs2_check_range_for_refcount(struct inode *inode, loff_t pos,
1712 struct super_block *sb = inode->i_sb; 1712 struct super_block *sb = inode->i_sb;
1713 1713
1714 if (!ocfs2_refcount_tree(OCFS2_SB(inode->i_sb)) || 1714 if (!ocfs2_refcount_tree(OCFS2_SB(inode->i_sb)) ||
1715 !(OCFS2_I(inode)->ip_dyn_features & OCFS2_HAS_REFCOUNT_FL)) 1715 !(OCFS2_I(inode)->ip_dyn_features & OCFS2_HAS_REFCOUNT_FL) ||
1716 OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL)
1716 return 0; 1717 return 0;
1717 1718
1718 cpos = pos >> OCFS2_SB(sb)->s_clustersize_bits; 1719 cpos = pos >> OCFS2_SB(sb)->s_clustersize_bits;
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h
index eae404602424..d963d8638709 100644
--- a/fs/ocfs2/ocfs2.h
+++ b/fs/ocfs2/ocfs2.h
@@ -35,12 +35,7 @@
35#include <linux/kref.h> 35#include <linux/kref.h>
36#include <linux/mutex.h> 36#include <linux/mutex.h>
37#include <linux/lockdep.h> 37#include <linux/lockdep.h>
38#ifndef CONFIG_OCFS2_COMPAT_JBD 38#include <linux/jbd2.h>
39# include <linux/jbd2.h>
40#else
41# include <linux/jbd.h>
42# include "ocfs2_jbd_compat.h"
43#endif
44 39
45/* For union ocfs2_dlm_lksb */ 40/* For union ocfs2_dlm_lksb */
46#include "stackglue.h" 41#include "stackglue.h"
diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c
index 60287fc56bcb..3a0df7a1b810 100644
--- a/fs/ocfs2/refcounttree.c
+++ b/fs/ocfs2/refcounttree.c
@@ -3743,6 +3743,9 @@ static int ocfs2_attach_refcount_tree(struct inode *inode,
3743 goto out; 3743 goto out;
3744 } 3744 }
3745 3745
3746 if (oi->ip_dyn_features & OCFS2_INLINE_DATA_FL)
3747 goto attach_xattr;
3748
3746 ocfs2_init_dinode_extent_tree(&di_et, INODE_CACHE(inode), di_bh); 3749 ocfs2_init_dinode_extent_tree(&di_et, INODE_CACHE(inode), di_bh);
3747 3750
3748 size = i_size_read(inode); 3751 size = i_size_read(inode);
@@ -3769,6 +3772,7 @@ static int ocfs2_attach_refcount_tree(struct inode *inode,
3769 cpos += num_clusters; 3772 cpos += num_clusters;
3770 } 3773 }
3771 3774
3775attach_xattr:
3772 if (oi->ip_dyn_features & OCFS2_HAS_XATTR_FL) { 3776 if (oi->ip_dyn_features & OCFS2_HAS_XATTR_FL) {
3773 ret = ocfs2_xattr_attach_refcount_tree(inode, di_bh, 3777 ret = ocfs2_xattr_attach_refcount_tree(inode, di_bh,
3774 &ref_tree->rf_ci, 3778 &ref_tree->rf_ci,
@@ -3858,6 +3862,49 @@ out:
3858 return ret; 3862 return ret;
3859} 3863}
3860 3864
3865static int ocfs2_duplicate_inline_data(struct inode *s_inode,
3866 struct buffer_head *s_bh,
3867 struct inode *t_inode,
3868 struct buffer_head *t_bh)
3869{
3870 int ret;
3871 handle_t *handle;
3872 struct ocfs2_super *osb = OCFS2_SB(s_inode->i_sb);
3873 struct ocfs2_dinode *s_di = (struct ocfs2_dinode *)s_bh->b_data;
3874 struct ocfs2_dinode *t_di = (struct ocfs2_dinode *)t_bh->b_data;
3875
3876 BUG_ON(!(OCFS2_I(s_inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL));
3877
3878 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
3879 if (IS_ERR(handle)) {
3880 ret = PTR_ERR(handle);
3881 mlog_errno(ret);
3882 goto out;
3883 }
3884
3885 ret = ocfs2_journal_access_di(handle, INODE_CACHE(t_inode), t_bh,
3886 OCFS2_JOURNAL_ACCESS_WRITE);
3887 if (ret) {
3888 mlog_errno(ret);
3889 goto out_commit;
3890 }
3891
3892 t_di->id2.i_data.id_count = s_di->id2.i_data.id_count;
3893 memcpy(t_di->id2.i_data.id_data, s_di->id2.i_data.id_data,
3894 le16_to_cpu(s_di->id2.i_data.id_count));
3895 spin_lock(&OCFS2_I(t_inode)->ip_lock);
3896 OCFS2_I(t_inode)->ip_dyn_features |= OCFS2_INLINE_DATA_FL;
3897 t_di->i_dyn_features = cpu_to_le16(OCFS2_I(t_inode)->ip_dyn_features);
3898 spin_unlock(&OCFS2_I(t_inode)->ip_lock);
3899
3900 ocfs2_journal_dirty(handle, t_bh);
3901
3902out_commit:
3903 ocfs2_commit_trans(osb, handle);
3904out:
3905 return ret;
3906}
3907
3861static int ocfs2_duplicate_extent_list(struct inode *s_inode, 3908static int ocfs2_duplicate_extent_list(struct inode *s_inode,
3862 struct inode *t_inode, 3909 struct inode *t_inode,
3863 struct buffer_head *t_bh, 3910 struct buffer_head *t_bh,
@@ -3997,6 +4044,14 @@ static int ocfs2_create_reflink_node(struct inode *s_inode,
3997 goto out; 4044 goto out;
3998 } 4045 }
3999 4046
4047 if (OCFS2_I(s_inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) {
4048 ret = ocfs2_duplicate_inline_data(s_inode, s_bh,
4049 t_inode, t_bh);
4050 if (ret)
4051 mlog_errno(ret);
4052 goto out;
4053 }
4054
4000 ret = ocfs2_lock_refcount_tree(osb, le64_to_cpu(di->i_refcount_loc), 4055 ret = ocfs2_lock_refcount_tree(osb, le64_to_cpu(di->i_refcount_loc),
4001 1, &ref_tree, &ref_root_bh); 4056 1, &ref_tree, &ref_root_bh);
4002 if (ret) { 4057 if (ret) {
@@ -4013,10 +4068,6 @@ static int ocfs2_create_reflink_node(struct inode *s_inode,
4013 goto out_unlock_refcount; 4068 goto out_unlock_refcount;
4014 } 4069 }
4015 4070
4016 ret = ocfs2_complete_reflink(s_inode, s_bh, t_inode, t_bh, preserve);
4017 if (ret)
4018 mlog_errno(ret);
4019
4020out_unlock_refcount: 4071out_unlock_refcount:
4021 ocfs2_unlock_refcount_tree(osb, ref_tree, 1); 4072 ocfs2_unlock_refcount_tree(osb, ref_tree, 1);
4022 brelse(ref_root_bh); 4073 brelse(ref_root_bh);
@@ -4068,9 +4119,17 @@ static int __ocfs2_reflink(struct dentry *old_dentry,
4068 ret = ocfs2_reflink_xattrs(inode, old_bh, 4119 ret = ocfs2_reflink_xattrs(inode, old_bh,
4069 new_inode, new_bh, 4120 new_inode, new_bh,
4070 preserve); 4121 preserve);
4071 if (ret) 4122 if (ret) {
4072 mlog_errno(ret); 4123 mlog_errno(ret);
4124 goto inode_unlock;
4125 }
4073 } 4126 }
4127
4128 ret = ocfs2_complete_reflink(inode, old_bh,
4129 new_inode, new_bh, preserve);
4130 if (ret)
4131 mlog_errno(ret);
4132
4074inode_unlock: 4133inode_unlock:
4075 ocfs2_inode_unlock(new_inode, 1); 4134 ocfs2_inode_unlock(new_inode, 1);
4076 brelse(new_bh); 4135 brelse(new_bh);
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
index c0e48aeebb1c..14f47d2bfe02 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -773,18 +773,20 @@ static int ocfs2_sb_probe(struct super_block *sb,
773 if (tmpstat < 0) { 773 if (tmpstat < 0) {
774 status = tmpstat; 774 status = tmpstat;
775 mlog_errno(status); 775 mlog_errno(status);
776 goto bail; 776 break;
777 } 777 }
778 di = (struct ocfs2_dinode *) (*bh)->b_data; 778 di = (struct ocfs2_dinode *) (*bh)->b_data;
779 memset(stats, 0, sizeof(struct ocfs2_blockcheck_stats)); 779 memset(stats, 0, sizeof(struct ocfs2_blockcheck_stats));
780 spin_lock_init(&stats->b_lock); 780 spin_lock_init(&stats->b_lock);
781 status = ocfs2_verify_volume(di, *bh, blksize, stats); 781 tmpstat = ocfs2_verify_volume(di, *bh, blksize, stats);
782 if (status >= 0) 782 if (tmpstat < 0) {
783 goto bail; 783 brelse(*bh);
784 brelse(*bh); 784 *bh = NULL;
785 *bh = NULL; 785 }
786 if (status != -EAGAIN) 786 if (tmpstat != -EAGAIN) {
787 status = tmpstat;
787 break; 788 break;
789 }
788 } 790 }
789 791
790bail: 792bail:
@@ -1645,6 +1647,10 @@ static int ocfs2_statfs(struct dentry *dentry, struct kstatfs *buf)
1645 buf->f_bavail = buf->f_bfree; 1647 buf->f_bavail = buf->f_bfree;
1646 buf->f_files = numbits; 1648 buf->f_files = numbits;
1647 buf->f_ffree = freebits; 1649 buf->f_ffree = freebits;
1650 buf->f_fsid.val[0] = crc32_le(0, osb->uuid_str, OCFS2_VOL_UUID_LEN)
1651 & 0xFFFFFFFFUL;
1652 buf->f_fsid.val[1] = crc32_le(0, osb->uuid_str + OCFS2_VOL_UUID_LEN,
1653 OCFS2_VOL_UUID_LEN) & 0xFFFFFFFFUL;
1648 1654
1649 brelse(bh); 1655 brelse(bh);
1650 1656
diff --git a/fs/ocfs2/uptodate.c b/fs/ocfs2/uptodate.c
index b6284f235d2f..c61369342a27 100644
--- a/fs/ocfs2/uptodate.c
+++ b/fs/ocfs2/uptodate.c
@@ -53,11 +53,6 @@
53#include <linux/highmem.h> 53#include <linux/highmem.h>
54#include <linux/buffer_head.h> 54#include <linux/buffer_head.h>
55#include <linux/rbtree.h> 55#include <linux/rbtree.h>
56#ifndef CONFIG_OCFS2_COMPAT_JBD
57# include <linux/jbd2.h>
58#else
59# include <linux/jbd.h>
60#endif
61 56
62#define MLOG_MASK_PREFIX ML_UPTODATE 57#define MLOG_MASK_PREFIX ML_UPTODATE
63 58
diff --git a/fs/proc/array.c b/fs/proc/array.c
index 07f77a7945c3..822c2d506518 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -571,7 +571,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
571 rsslim, 571 rsslim,
572 mm ? mm->start_code : 0, 572 mm ? mm->start_code : 0,
573 mm ? mm->end_code : 0, 573 mm ? mm->end_code : 0,
574 (permitted) ? task->stack_start : 0, 574 (permitted && mm) ? task->stack_start : 0,
575 esp, 575 esp,
576 eip, 576 eip,
577 /* The signal information here is obsolete. 577 /* The signal information here is obsolete.
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 837469a96598..af643b5aefe8 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -2597,8 +2597,7 @@ static void proc_flush_task_mnt(struct vfsmount *mnt, pid_t pid, pid_t tgid)
2597 name.len = snprintf(buf, sizeof(buf), "%d", pid); 2597 name.len = snprintf(buf, sizeof(buf), "%d", pid);
2598 dentry = d_hash_and_lookup(mnt->mnt_root, &name); 2598 dentry = d_hash_and_lookup(mnt->mnt_root, &name);
2599 if (dentry) { 2599 if (dentry) {
2600 if (!(current->flags & PF_EXITING)) 2600 shrink_dcache_parent(dentry);
2601 shrink_dcache_parent(dentry);
2602 d_drop(dentry); 2601 d_drop(dentry);
2603 dput(dentry); 2602 dput(dentry);
2604 } 2603 }
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index 1099395d7d6c..fb17f8226b09 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -1980,7 +1980,7 @@ xlog_recover_do_reg_buffer(
1980 "XFS: NULL dquot in %s.", __func__); 1980 "XFS: NULL dquot in %s.", __func__);
1981 goto next; 1981 goto next;
1982 } 1982 }
1983 if (item->ri_buf[i].i_len < sizeof(xfs_dqblk_t)) { 1983 if (item->ri_buf[i].i_len < sizeof(xfs_disk_dquot_t)) {
1984 cmn_err(CE_ALERT, 1984 cmn_err(CE_ALERT,
1985 "XFS: dquot too small (%d) in %s.", 1985 "XFS: dquot too small (%d) in %s.",
1986 item->ri_buf[i].i_len, __func__); 1986 item->ri_buf[i].i_len, __func__);
@@ -2635,7 +2635,7 @@ xlog_recover_do_dquot_trans(
2635 "XFS: NULL dquot in %s.", __func__); 2635 "XFS: NULL dquot in %s.", __func__);
2636 return XFS_ERROR(EIO); 2636 return XFS_ERROR(EIO);
2637 } 2637 }
2638 if (item->ri_buf[1].i_len < sizeof(xfs_dqblk_t)) { 2638 if (item->ri_buf[1].i_len < sizeof(xfs_disk_dquot_t)) {
2639 cmn_err(CE_ALERT, 2639 cmn_err(CE_ALERT,
2640 "XFS: dquot too small (%d) in %s.", 2640 "XFS: dquot too small (%d) in %s.",
2641 item->ri_buf[1].i_len, __func__); 2641 item->ri_buf[1].i_len, __func__);
diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c
index f31271c30de9..2ffc570679be 100644
--- a/fs/xfs/xfs_trans_ail.c
+++ b/fs/xfs/xfs_trans_ail.c
@@ -467,6 +467,7 @@ xfs_trans_ail_update(
467{ 467{
468 xfs_log_item_t *dlip = NULL; 468 xfs_log_item_t *dlip = NULL;
469 xfs_log_item_t *mlip; /* ptr to minimum lip */ 469 xfs_log_item_t *mlip; /* ptr to minimum lip */
470 xfs_lsn_t tail_lsn;
470 471
471 mlip = xfs_ail_min(ailp); 472 mlip = xfs_ail_min(ailp);
472 473
@@ -483,8 +484,16 @@ xfs_trans_ail_update(
483 484
484 if (mlip == dlip) { 485 if (mlip == dlip) {
485 mlip = xfs_ail_min(ailp); 486 mlip = xfs_ail_min(ailp);
487 /*
488 * It is not safe to access mlip after the AIL lock is
489 * dropped, so we must get a copy of li_lsn before we do
490 * so. This is especially important on 32-bit platforms
491 * where accessing and updating 64-bit values like li_lsn
492 * is not atomic.
493 */
494 tail_lsn = mlip->li_lsn;
486 spin_unlock(&ailp->xa_lock); 495 spin_unlock(&ailp->xa_lock);
487 xfs_log_move_tail(ailp->xa_mount, mlip->li_lsn); 496 xfs_log_move_tail(ailp->xa_mount, tail_lsn);
488 } else { 497 } else {
489 spin_unlock(&ailp->xa_lock); 498 spin_unlock(&ailp->xa_lock);
490 } 499 }
@@ -514,6 +523,7 @@ xfs_trans_ail_delete(
514{ 523{
515 xfs_log_item_t *dlip; 524 xfs_log_item_t *dlip;
516 xfs_log_item_t *mlip; 525 xfs_log_item_t *mlip;
526 xfs_lsn_t tail_lsn;
517 527
518 if (lip->li_flags & XFS_LI_IN_AIL) { 528 if (lip->li_flags & XFS_LI_IN_AIL) {
519 mlip = xfs_ail_min(ailp); 529 mlip = xfs_ail_min(ailp);
@@ -527,9 +537,16 @@ xfs_trans_ail_delete(
527 537
528 if (mlip == dlip) { 538 if (mlip == dlip) {
529 mlip = xfs_ail_min(ailp); 539 mlip = xfs_ail_min(ailp);
540 /*
541 * It is not safe to access mlip after the AIL lock
542 * is dropped, so we must get a copy of li_lsn
543 * before we do so. This is especially important
544 * on 32-bit platforms where accessing and updating
545 * 64-bit values like li_lsn is not atomic.
546 */
547 tail_lsn = mlip ? mlip->li_lsn : 0;
530 spin_unlock(&ailp->xa_lock); 548 spin_unlock(&ailp->xa_lock);
531 xfs_log_move_tail(ailp->xa_mount, 549 xfs_log_move_tail(ailp->xa_mount, tail_lsn);
532 (mlip ? mlip->li_lsn : 0));
533 } else { 550 } else {
534 spin_unlock(&ailp->xa_lock); 551 spin_unlock(&ailp->xa_lock);
535 } 552 }
diff --git a/include/asm-generic/fcntl.h b/include/asm-generic/fcntl.h
index 0c3dd8603927..495dc8af4044 100644
--- a/include/asm-generic/fcntl.h
+++ b/include/asm-generic/fcntl.h
@@ -73,14 +73,23 @@
73#define F_SETSIG 10 /* for sockets. */ 73#define F_SETSIG 10 /* for sockets. */
74#define F_GETSIG 11 /* for sockets. */ 74#define F_GETSIG 11 /* for sockets. */
75#endif 75#endif
76
77#ifndef CONFIG_64BIT
78#ifndef F_GETLK64
79#define F_GETLK64 12 /* using 'struct flock64' */
80#define F_SETLK64 13
81#define F_SETLKW64 14
82#endif
83#endif
84
76#ifndef F_SETOWN_EX 85#ifndef F_SETOWN_EX
77#define F_SETOWN_EX 12 86#define F_SETOWN_EX 15
78#define F_GETOWN_EX 13 87#define F_GETOWN_EX 16
79#endif 88#endif
80 89
81#define F_OWNER_TID 0 90#define F_OWNER_TID 0
82#define F_OWNER_PID 1 91#define F_OWNER_PID 1
83#define F_OWNER_GID 2 92#define F_OWNER_PGRP 2
84 93
85struct f_owner_ex { 94struct f_owner_ex {
86 int type; 95 int type;
@@ -139,12 +148,6 @@ struct flock {
139 148
140#ifndef CONFIG_64BIT 149#ifndef CONFIG_64BIT
141 150
142#ifndef F_GETLK64
143#define F_GETLK64 12 /* using 'struct flock64' */
144#define F_SETLK64 13
145#define F_SETLKW64 14
146#endif
147
148#ifndef HAVE_ARCH_STRUCT_FLOCK64 151#ifndef HAVE_ARCH_STRUCT_FLOCK64
149#ifndef __ARCH_FLOCK64_PAD 152#ifndef __ARCH_FLOCK64_PAD
150#define __ARCH_FLOCK64_PAD 153#define __ARCH_FLOCK64_PAD
diff --git a/include/linux/ext3_fs_i.h b/include/linux/ext3_fs_i.h
index ca1bfe90004f..93e7428156ba 100644
--- a/include/linux/ext3_fs_i.h
+++ b/include/linux/ext3_fs_i.h
@@ -137,6 +137,14 @@ struct ext3_inode_info {
137 * by other means, so we have truncate_mutex. 137 * by other means, so we have truncate_mutex.
138 */ 138 */
139 struct mutex truncate_mutex; 139 struct mutex truncate_mutex;
140
141 /*
142 * Transactions that contain inode's metadata needed to complete
143 * fsync and fdatasync, respectively.
144 */
145 atomic_t i_sync_tid;
146 atomic_t i_datasync_tid;
147
140 struct inode vfs_inode; 148 struct inode vfs_inode;
141}; 149};
142 150
diff --git a/include/linux/fb.h b/include/linux/fb.h
index a34bdf5a9d23..de9c722e7b90 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -669,12 +669,6 @@ struct fb_ops {
669 /* perform fb specific mmap */ 669 /* perform fb specific mmap */
670 int (*fb_mmap)(struct fb_info *info, struct vm_area_struct *vma); 670 int (*fb_mmap)(struct fb_info *info, struct vm_area_struct *vma);
671 671
672 /* save current hardware state */
673 void (*fb_save_state)(struct fb_info *info);
674
675 /* restore saved state */
676 void (*fb_restore_state)(struct fb_info *info);
677
678 /* get capability given var */ 672 /* get capability given var */
679 void (*fb_get_caps)(struct fb_info *info, struct fb_blit_caps *caps, 673 void (*fb_get_caps)(struct fb_info *info, struct fb_blit_caps *caps,
680 struct fb_var_screeninfo *var); 674 struct fb_var_screeninfo *var);
diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h
index 84d3532dd3ea..7be0c6fbe880 100644
--- a/include/linux/fscache-cache.h
+++ b/include/linux/fscache-cache.h
@@ -91,6 +91,8 @@ struct fscache_operation {
91#define FSCACHE_OP_WAITING 4 /* cleared when op is woken */ 91#define FSCACHE_OP_WAITING 4 /* cleared when op is woken */
92#define FSCACHE_OP_EXCLUSIVE 5 /* exclusive op, other ops must wait */ 92#define FSCACHE_OP_EXCLUSIVE 5 /* exclusive op, other ops must wait */
93#define FSCACHE_OP_DEAD 6 /* op is now dead */ 93#define FSCACHE_OP_DEAD 6 /* op is now dead */
94#define FSCACHE_OP_DEC_READ_CNT 7 /* decrement object->n_reads on destruction */
95#define FSCACHE_OP_KEEP_FLAGS 0xc0 /* flags to keep when repurposing an op */
94 96
95 atomic_t usage; 97 atomic_t usage;
96 unsigned debug_id; /* debugging ID */ 98 unsigned debug_id; /* debugging ID */
@@ -102,6 +104,16 @@ struct fscache_operation {
102 104
103 /* operation releaser */ 105 /* operation releaser */
104 fscache_operation_release_t release; 106 fscache_operation_release_t release;
107
108#ifdef CONFIG_SLOW_WORK_PROC
109 const char *name; /* operation name */
110 const char *state; /* operation state */
111#define fscache_set_op_name(OP, N) do { (OP)->name = (N); } while(0)
112#define fscache_set_op_state(OP, S) do { (OP)->state = (S); } while(0)
113#else
114#define fscache_set_op_name(OP, N) do { } while(0)
115#define fscache_set_op_state(OP, S) do { } while(0)
116#endif
105}; 117};
106 118
107extern atomic_t fscache_op_debug_id; 119extern atomic_t fscache_op_debug_id;
@@ -125,6 +137,7 @@ static inline void fscache_operation_init(struct fscache_operation *op,
125 op->debug_id = atomic_inc_return(&fscache_op_debug_id); 137 op->debug_id = atomic_inc_return(&fscache_op_debug_id);
126 op->release = release; 138 op->release = release;
127 INIT_LIST_HEAD(&op->pend_link); 139 INIT_LIST_HEAD(&op->pend_link);
140 fscache_set_op_state(op, "Init");
128} 141}
129 142
130/** 143/**
@@ -221,8 +234,10 @@ struct fscache_cache_ops {
221 struct fscache_object *(*alloc_object)(struct fscache_cache *cache, 234 struct fscache_object *(*alloc_object)(struct fscache_cache *cache,
222 struct fscache_cookie *cookie); 235 struct fscache_cookie *cookie);
223 236
224 /* look up the object for a cookie */ 237 /* look up the object for a cookie
225 void (*lookup_object)(struct fscache_object *object); 238 * - return -ETIMEDOUT to be requeued
239 */
240 int (*lookup_object)(struct fscache_object *object);
226 241
227 /* finished looking up */ 242 /* finished looking up */
228 void (*lookup_complete)(struct fscache_object *object); 243 void (*lookup_complete)(struct fscache_object *object);
@@ -297,12 +312,14 @@ struct fscache_cookie {
297 atomic_t usage; /* number of users of this cookie */ 312 atomic_t usage; /* number of users of this cookie */
298 atomic_t n_children; /* number of children of this cookie */ 313 atomic_t n_children; /* number of children of this cookie */
299 spinlock_t lock; 314 spinlock_t lock;
315 spinlock_t stores_lock; /* lock on page store tree */
300 struct hlist_head backing_objects; /* object(s) backing this file/index */ 316 struct hlist_head backing_objects; /* object(s) backing this file/index */
301 const struct fscache_cookie_def *def; /* definition */ 317 const struct fscache_cookie_def *def; /* definition */
302 struct fscache_cookie *parent; /* parent of this entry */ 318 struct fscache_cookie *parent; /* parent of this entry */
303 void *netfs_data; /* back pointer to netfs */ 319 void *netfs_data; /* back pointer to netfs */
304 struct radix_tree_root stores; /* pages to be stored on this cookie */ 320 struct radix_tree_root stores; /* pages to be stored on this cookie */
305#define FSCACHE_COOKIE_PENDING_TAG 0 /* pages tag: pending write to cache */ 321#define FSCACHE_COOKIE_PENDING_TAG 0 /* pages tag: pending write to cache */
322#define FSCACHE_COOKIE_STORING_TAG 1 /* pages tag: writing to cache */
306 323
307 unsigned long flags; 324 unsigned long flags;
308#define FSCACHE_COOKIE_LOOKING_UP 0 /* T if non-index cookie being looked up still */ 325#define FSCACHE_COOKIE_LOOKING_UP 0 /* T if non-index cookie being looked up still */
@@ -337,6 +354,7 @@ struct fscache_object {
337 FSCACHE_OBJECT_RECYCLING, /* retiring object */ 354 FSCACHE_OBJECT_RECYCLING, /* retiring object */
338 FSCACHE_OBJECT_WITHDRAWING, /* withdrawing object */ 355 FSCACHE_OBJECT_WITHDRAWING, /* withdrawing object */
339 FSCACHE_OBJECT_DEAD, /* object is now dead */ 356 FSCACHE_OBJECT_DEAD, /* object is now dead */
357 FSCACHE_OBJECT__NSTATES
340 } state; 358 } state;
341 359
342 int debug_id; /* debugging ID */ 360 int debug_id; /* debugging ID */
@@ -345,6 +363,7 @@ struct fscache_object {
345 int n_obj_ops; /* number of object ops outstanding on object */ 363 int n_obj_ops; /* number of object ops outstanding on object */
346 int n_in_progress; /* number of ops in progress */ 364 int n_in_progress; /* number of ops in progress */
347 int n_exclusive; /* number of exclusive ops queued */ 365 int n_exclusive; /* number of exclusive ops queued */
366 atomic_t n_reads; /* number of read ops in progress */
348 spinlock_t lock; /* state and operations lock */ 367 spinlock_t lock; /* state and operations lock */
349 368
350 unsigned long lookup_jif; /* time at which lookup started */ 369 unsigned long lookup_jif; /* time at which lookup started */
@@ -358,6 +377,7 @@ struct fscache_object {
358#define FSCACHE_OBJECT_EV_RELEASE 4 /* T if netfs requested object release */ 377#define FSCACHE_OBJECT_EV_RELEASE 4 /* T if netfs requested object release */
359#define FSCACHE_OBJECT_EV_RETIRE 5 /* T if netfs requested object retirement */ 378#define FSCACHE_OBJECT_EV_RETIRE 5 /* T if netfs requested object retirement */
360#define FSCACHE_OBJECT_EV_WITHDRAW 6 /* T if cache requested object withdrawal */ 379#define FSCACHE_OBJECT_EV_WITHDRAW 6 /* T if cache requested object withdrawal */
380#define FSCACHE_OBJECT_EVENTS_MASK 0x7f /* mask of all events*/
361 381
362 unsigned long flags; 382 unsigned long flags;
363#define FSCACHE_OBJECT_LOCK 0 /* T if object is busy being processed */ 383#define FSCACHE_OBJECT_LOCK 0 /* T if object is busy being processed */
@@ -373,7 +393,11 @@ struct fscache_object {
373 struct list_head dependents; /* FIFO of dependent objects */ 393 struct list_head dependents; /* FIFO of dependent objects */
374 struct list_head dep_link; /* link in parent's dependents list */ 394 struct list_head dep_link; /* link in parent's dependents list */
375 struct list_head pending_ops; /* unstarted operations on this object */ 395 struct list_head pending_ops; /* unstarted operations on this object */
396#ifdef CONFIG_FSCACHE_OBJECT_LIST
397 struct rb_node objlist_link; /* link in global object list */
398#endif
376 pgoff_t store_limit; /* current storage limit */ 399 pgoff_t store_limit; /* current storage limit */
400 loff_t store_limit_l; /* current storage limit */
377}; 401};
378 402
379extern const char *fscache_object_states[]; 403extern const char *fscache_object_states[];
@@ -383,6 +407,10 @@ extern const char *fscache_object_states[];
383 (obj)->state >= FSCACHE_OBJECT_AVAILABLE && \ 407 (obj)->state >= FSCACHE_OBJECT_AVAILABLE && \
384 (obj)->state < FSCACHE_OBJECT_DYING) 408 (obj)->state < FSCACHE_OBJECT_DYING)
385 409
410#define fscache_object_is_dead(obj) \
411 (test_bit(FSCACHE_IOERROR, &(obj)->cache->flags) && \
412 (obj)->state >= FSCACHE_OBJECT_DYING)
413
386extern const struct slow_work_ops fscache_object_slow_work_ops; 414extern const struct slow_work_ops fscache_object_slow_work_ops;
387 415
388/** 416/**
@@ -414,6 +442,7 @@ void fscache_object_init(struct fscache_object *object,
414 object->events = object->event_mask = 0; 442 object->events = object->event_mask = 0;
415 object->flags = 0; 443 object->flags = 0;
416 object->store_limit = 0; 444 object->store_limit = 0;
445 object->store_limit_l = 0;
417 object->cache = cache; 446 object->cache = cache;
418 object->cookie = cookie; 447 object->cookie = cookie;
419 object->parent = NULL; 448 object->parent = NULL;
@@ -422,6 +451,12 @@ void fscache_object_init(struct fscache_object *object,
422extern void fscache_object_lookup_negative(struct fscache_object *object); 451extern void fscache_object_lookup_negative(struct fscache_object *object);
423extern void fscache_obtained_object(struct fscache_object *object); 452extern void fscache_obtained_object(struct fscache_object *object);
424 453
454#ifdef CONFIG_FSCACHE_OBJECT_LIST
455extern void fscache_object_destroy(struct fscache_object *object);
456#else
457#define fscache_object_destroy(object) do {} while(0)
458#endif
459
425/** 460/**
426 * fscache_object_destroyed - Note destruction of an object in a cache 461 * fscache_object_destroyed - Note destruction of an object in a cache
427 * @cache: The cache from which the object came 462 * @cache: The cache from which the object came
@@ -460,6 +495,7 @@ static inline void fscache_object_lookup_error(struct fscache_object *object)
460static inline 495static inline
461void fscache_set_store_limit(struct fscache_object *object, loff_t i_size) 496void fscache_set_store_limit(struct fscache_object *object, loff_t i_size)
462{ 497{
498 object->store_limit_l = i_size;
463 object->store_limit = i_size >> PAGE_SHIFT; 499 object->store_limit = i_size >> PAGE_SHIFT;
464 if (i_size & ~PAGE_MASK) 500 if (i_size & ~PAGE_MASK)
465 object->store_limit++; 501 object->store_limit++;
diff --git a/include/linux/fscache.h b/include/linux/fscache.h
index 6d8ee466e0a0..595ce49288b7 100644
--- a/include/linux/fscache.h
+++ b/include/linux/fscache.h
@@ -202,6 +202,8 @@ extern int __fscache_write_page(struct fscache_cookie *, struct page *, gfp_t);
202extern void __fscache_uncache_page(struct fscache_cookie *, struct page *); 202extern void __fscache_uncache_page(struct fscache_cookie *, struct page *);
203extern bool __fscache_check_page_write(struct fscache_cookie *, struct page *); 203extern bool __fscache_check_page_write(struct fscache_cookie *, struct page *);
204extern void __fscache_wait_on_page_write(struct fscache_cookie *, struct page *); 204extern void __fscache_wait_on_page_write(struct fscache_cookie *, struct page *);
205extern bool __fscache_maybe_release_page(struct fscache_cookie *, struct page *,
206 gfp_t);
205 207
206/** 208/**
207 * fscache_register_netfs - Register a filesystem as desiring caching services 209 * fscache_register_netfs - Register a filesystem as desiring caching services
@@ -615,4 +617,29 @@ void fscache_wait_on_page_write(struct fscache_cookie *cookie,
615 __fscache_wait_on_page_write(cookie, page); 617 __fscache_wait_on_page_write(cookie, page);
616} 618}
617 619
620/**
621 * fscache_maybe_release_page - Consider releasing a page, cancelling a store
622 * @cookie: The cookie representing the cache object
623 * @page: The netfs page that is being cached.
624 * @gfp: The gfp flags passed to releasepage()
625 *
626 * Consider releasing a page for the vmscan algorithm, on behalf of the netfs's
627 * releasepage() call. A storage request on the page may cancelled if it is
628 * not currently being processed.
629 *
630 * The function returns true if the page no longer has a storage request on it,
631 * and false if a storage request is left in place. If true is returned, the
632 * page will have been passed to fscache_uncache_page(). If false is returned
633 * the page cannot be freed yet.
634 */
635static inline
636bool fscache_maybe_release_page(struct fscache_cookie *cookie,
637 struct page *page,
638 gfp_t gfp)
639{
640 if (fscache_cookie_valid(cookie) && PageFsCache(page))
641 return __fscache_maybe_release_page(cookie, page, gfp);
642 return false;
643}
644
618#endif /* _LINUX_FSCACHE_H */ 645#endif /* _LINUX_FSCACHE_H */
diff --git a/include/linux/i2c-pnx.h b/include/linux/i2c-pnx.h
index f13255e06406..9eb07bbc6522 100644
--- a/include/linux/i2c-pnx.h
+++ b/include/linux/i2c-pnx.h
@@ -21,7 +21,7 @@ struct i2c_pnx_mif {
21 int mode; /* Interface mode */ 21 int mode; /* Interface mode */
22 struct completion complete; /* I/O completion */ 22 struct completion complete; /* I/O completion */
23 struct timer_list timer; /* Timeout */ 23 struct timer_list timer; /* Timeout */
24 char * buf; /* Data buffer */ 24 u8 * buf; /* Data buffer */
25 int len; /* Length of data buffer */ 25 int len; /* Length of data buffer */
26}; 26};
27 27
diff --git a/include/linux/input.h b/include/linux/input.h
index 0ccfc30cd40f..c2b1a7d244d9 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -1377,6 +1377,10 @@ extern struct class input_class;
1377 * methods; erase() is optional. set_gain() and set_autocenter() need 1377 * methods; erase() is optional. set_gain() and set_autocenter() need
1378 * only be implemented if driver sets up FF_GAIN and FF_AUTOCENTER 1378 * only be implemented if driver sets up FF_GAIN and FF_AUTOCENTER
1379 * bits. 1379 * bits.
1380 *
1381 * Note that playback(), set_gain() and set_autocenter() are called with
1382 * dev->event_lock spinlock held and interrupts off and thus may not
1383 * sleep.
1380 */ 1384 */
1381struct ff_device { 1385struct ff_device {
1382 int (*upload)(struct input_dev *dev, struct ff_effect *effect, 1386 int (*upload)(struct input_dev *dev, struct ff_effect *effect,
diff --git a/include/linux/isdn_ppp.h b/include/linux/isdn_ppp.h
index 4c218ee7587a..8687a7dc0632 100644
--- a/include/linux/isdn_ppp.h
+++ b/include/linux/isdn_ppp.h
@@ -157,7 +157,7 @@ typedef struct {
157 157
158typedef struct { 158typedef struct {
159 int mp_mrru; /* unused */ 159 int mp_mrru; /* unused */
160 struct sk_buff_head frags; /* fragments sl list */ 160 struct sk_buff * frags; /* fragments sl list -- use skb->next */
161 long frames; /* number of frames in the frame list */ 161 long frames; /* number of frames in the frame list */
162 unsigned int seq; /* last processed packet seq #: any packets 162 unsigned int seq; /* last processed packet seq #: any packets
163 * with smaller seq # will be dropped 163 * with smaller seq # will be dropped
diff --git a/include/linux/mfd/wm831x/regulator.h b/include/linux/mfd/wm831x/regulator.h
index f95466343fb2..955d30fc6a27 100644
--- a/include/linux/mfd/wm831x/regulator.h
+++ b/include/linux/mfd/wm831x/regulator.h
@@ -1212,7 +1212,7 @@
1212#define WM831X_LDO1_OK_SHIFT 0 /* LDO1_OK */ 1212#define WM831X_LDO1_OK_SHIFT 0 /* LDO1_OK */
1213#define WM831X_LDO1_OK_WIDTH 1 /* LDO1_OK */ 1213#define WM831X_LDO1_OK_WIDTH 1 /* LDO1_OK */
1214 1214
1215#define WM831X_ISINK_MAX_ISEL 56 1215#define WM831X_ISINK_MAX_ISEL 55
1216extern int wm831x_isinkv_values[WM831X_ISINK_MAX_ISEL]; 1216extern int wm831x_isinkv_values[WM831X_ISINK_MAX_ISEL + 1];
1217 1217
1218#endif 1218#endif
diff --git a/include/linux/nilfs2_fs.h b/include/linux/nilfs2_fs.h
index 79fec6af3f9f..ce520402e840 100644
--- a/include/linux/nilfs2_fs.h
+++ b/include/linux/nilfs2_fs.h
@@ -425,15 +425,6 @@ struct nilfs_dat_entry {
425}; 425};
426 426
427/** 427/**
428 * struct nilfs_dat_group_desc - block group descriptor
429 * @dg_nfrees: number of free virtual block numbers in block group
430 */
431struct nilfs_dat_group_desc {
432 __le32 dg_nfrees;
433};
434
435
436/**
437 * struct nilfs_snapshot_list - snapshot list 428 * struct nilfs_snapshot_list - snapshot list
438 * @ssl_next: next checkpoint number on snapshot list 429 * @ssl_next: next checkpoint number on snapshot list
439 * @ssl_prev: previous checkpoint number on snapshot list 430 * @ssl_prev: previous checkpoint number on snapshot list
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 9ceb392cb984..84cf1f3b7838 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1956,6 +1956,8 @@
1956#define PCI_DEVICE_ID_LAVA_DSERIAL 0x0100 /* 2x 16550 */ 1956#define PCI_DEVICE_ID_LAVA_DSERIAL 0x0100 /* 2x 16550 */
1957#define PCI_DEVICE_ID_LAVA_QUATRO_A 0x0101 /* 2x 16550, half of 4 port */ 1957#define PCI_DEVICE_ID_LAVA_QUATRO_A 0x0101 /* 2x 16550, half of 4 port */
1958#define PCI_DEVICE_ID_LAVA_QUATRO_B 0x0102 /* 2x 16550, half of 4 port */ 1958#define PCI_DEVICE_ID_LAVA_QUATRO_B 0x0102 /* 2x 16550, half of 4 port */
1959#define PCI_DEVICE_ID_LAVA_QUATTRO_A 0x0120 /* 2x 16550A, half of 4 port */
1960#define PCI_DEVICE_ID_LAVA_QUATTRO_B 0x0121 /* 2x 16550A, half of 4 port */
1959#define PCI_DEVICE_ID_LAVA_OCTO_A 0x0180 /* 4x 16550A, half of 8 port */ 1961#define PCI_DEVICE_ID_LAVA_OCTO_A 0x0180 /* 4x 16550A, half of 8 port */
1960#define PCI_DEVICE_ID_LAVA_OCTO_B 0x0181 /* 4x 16550A, half of 8 port */ 1962#define PCI_DEVICE_ID_LAVA_OCTO_B 0x0181 /* 4x 16550A, half of 8 port */
1961#define PCI_DEVICE_ID_LAVA_PORT_PLUS 0x0200 /* 2x 16650 */ 1963#define PCI_DEVICE_ID_LAVA_PORT_PLUS 0x0200 /* 2x 16650 */
diff --git a/include/linux/slow-work.h b/include/linux/slow-work.h
index b65c8881f07a..13337bf6c3f5 100644
--- a/include/linux/slow-work.h
+++ b/include/linux/slow-work.h
@@ -17,13 +17,20 @@
17#ifdef CONFIG_SLOW_WORK 17#ifdef CONFIG_SLOW_WORK
18 18
19#include <linux/sysctl.h> 19#include <linux/sysctl.h>
20#include <linux/timer.h>
20 21
21struct slow_work; 22struct slow_work;
23#ifdef CONFIG_SLOW_WORK_DEBUG
24struct seq_file;
25#endif
22 26
23/* 27/*
24 * The operations used to support slow work items 28 * The operations used to support slow work items
25 */ 29 */
26struct slow_work_ops { 30struct slow_work_ops {
31 /* owner */
32 struct module *owner;
33
27 /* get a ref on a work item 34 /* get a ref on a work item
28 * - return 0 if successful, -ve if not 35 * - return 0 if successful, -ve if not
29 */ 36 */
@@ -34,6 +41,11 @@ struct slow_work_ops {
34 41
35 /* execute a work item */ 42 /* execute a work item */
36 void (*execute)(struct slow_work *work); 43 void (*execute)(struct slow_work *work);
44
45#ifdef CONFIG_SLOW_WORK_DEBUG
46 /* describe a work item for debugfs */
47 void (*desc)(struct slow_work *work, struct seq_file *m);
48#endif
37}; 49};
38 50
39/* 51/*
@@ -42,13 +54,24 @@ struct slow_work_ops {
42 * queued 54 * queued
43 */ 55 */
44struct slow_work { 56struct slow_work {
57 struct module *owner; /* the owning module */
45 unsigned long flags; 58 unsigned long flags;
46#define SLOW_WORK_PENDING 0 /* item pending (further) execution */ 59#define SLOW_WORK_PENDING 0 /* item pending (further) execution */
47#define SLOW_WORK_EXECUTING 1 /* item currently executing */ 60#define SLOW_WORK_EXECUTING 1 /* item currently executing */
48#define SLOW_WORK_ENQ_DEFERRED 2 /* item enqueue deferred */ 61#define SLOW_WORK_ENQ_DEFERRED 2 /* item enqueue deferred */
49#define SLOW_WORK_VERY_SLOW 3 /* item is very slow */ 62#define SLOW_WORK_VERY_SLOW 3 /* item is very slow */
63#define SLOW_WORK_CANCELLING 4 /* item is being cancelled, don't enqueue */
64#define SLOW_WORK_DELAYED 5 /* item is struct delayed_slow_work with active timer */
50 const struct slow_work_ops *ops; /* operations table for this item */ 65 const struct slow_work_ops *ops; /* operations table for this item */
51 struct list_head link; /* link in queue */ 66 struct list_head link; /* link in queue */
67#ifdef CONFIG_SLOW_WORK_DEBUG
68 struct timespec mark; /* jiffies at which queued or exec begun */
69#endif
70};
71
72struct delayed_slow_work {
73 struct slow_work work;
74 struct timer_list timer;
52}; 75};
53 76
54/** 77/**
@@ -67,6 +90,20 @@ static inline void slow_work_init(struct slow_work *work,
67} 90}
68 91
69/** 92/**
93 * slow_work_init - Initialise a delayed slow work item
94 * @work: The work item to initialise
95 * @ops: The operations to use to handle the slow work item
96 *
97 * Initialise a delayed slow work item.
98 */
99static inline void delayed_slow_work_init(struct delayed_slow_work *dwork,
100 const struct slow_work_ops *ops)
101{
102 init_timer(&dwork->timer);
103 slow_work_init(&dwork->work, ops);
104}
105
106/**
70 * vslow_work_init - Initialise a very slow work item 107 * vslow_work_init - Initialise a very slow work item
71 * @work: The work item to initialise 108 * @work: The work item to initialise
72 * @ops: The operations to use to handle the slow work item 109 * @ops: The operations to use to handle the slow work item
@@ -83,9 +120,40 @@ static inline void vslow_work_init(struct slow_work *work,
83 INIT_LIST_HEAD(&work->link); 120 INIT_LIST_HEAD(&work->link);
84} 121}
85 122
123/**
124 * slow_work_is_queued - Determine if a slow work item is on the work queue
125 * work: The work item to test
126 *
127 * Determine if the specified slow-work item is on the work queue. This
128 * returns true if it is actually on the queue.
129 *
130 * If the item is executing and has been marked for requeue when execution
131 * finishes, then false will be returned.
132 *
133 * Anyone wishing to wait for completion of execution can wait on the
134 * SLOW_WORK_EXECUTING bit.
135 */
136static inline bool slow_work_is_queued(struct slow_work *work)
137{
138 unsigned long flags = work->flags;
139 return flags & SLOW_WORK_PENDING && !(flags & SLOW_WORK_EXECUTING);
140}
141
86extern int slow_work_enqueue(struct slow_work *work); 142extern int slow_work_enqueue(struct slow_work *work);
87extern int slow_work_register_user(void); 143extern void slow_work_cancel(struct slow_work *work);
88extern void slow_work_unregister_user(void); 144extern int slow_work_register_user(struct module *owner);
145extern void slow_work_unregister_user(struct module *owner);
146
147extern int delayed_slow_work_enqueue(struct delayed_slow_work *dwork,
148 unsigned long delay);
149
150static inline void delayed_slow_work_cancel(struct delayed_slow_work *dwork)
151{
152 slow_work_cancel(&dwork->work);
153}
154
155extern bool slow_work_sleep_till_thread_needed(struct slow_work *work,
156 signed long *_timeout);
89 157
90#ifdef CONFIG_SYSCTL 158#ifdef CONFIG_SYSCTL
91extern ctl_table slow_work_sysctls[]; 159extern ctl_table slow_work_sysctls[];
diff --git a/include/linux/suspend.h b/include/linux/suspend.h
index cd15df6c63cd..5e781d824e6d 100644
--- a/include/linux/suspend.h
+++ b/include/linux/suspend.h
@@ -301,6 +301,8 @@ static inline int unregister_pm_notifier(struct notifier_block *nb)
301#define pm_notifier(fn, pri) do { (void)(fn); } while (0) 301#define pm_notifier(fn, pri) do { (void)(fn); } while (0)
302#endif /* !CONFIG_PM_SLEEP */ 302#endif /* !CONFIG_PM_SLEEP */
303 303
304extern struct mutex pm_mutex;
305
304#ifndef CONFIG_HIBERNATION 306#ifndef CONFIG_HIBERNATION
305static inline void register_nosave_region(unsigned long b, unsigned long e) 307static inline void register_nosave_region(unsigned long b, unsigned long e)
306{ 308{
@@ -308,8 +310,23 @@ static inline void register_nosave_region(unsigned long b, unsigned long e)
308static inline void register_nosave_region_late(unsigned long b, unsigned long e) 310static inline void register_nosave_region_late(unsigned long b, unsigned long e)
309{ 311{
310} 312}
311#endif
312 313
313extern struct mutex pm_mutex; 314static inline void lock_system_sleep(void) {}
315static inline void unlock_system_sleep(void) {}
316
317#else
318
319/* Let some subsystems like memory hotadd exclude hibernation */
320
321static inline void lock_system_sleep(void)
322{
323 mutex_lock(&pm_mutex);
324}
325
326static inline void unlock_system_sleep(void)
327{
328 mutex_unlock(&pm_mutex);
329}
330#endif
314 331
315#endif /* _LINUX_SUSPEND_H */ 332#endif /* _LINUX_SUSPEND_H */
diff --git a/include/linux/vt.h b/include/linux/vt.h
index 7afca0d72139..7ffa11f06232 100644
--- a/include/linux/vt.h
+++ b/include/linux/vt.h
@@ -70,8 +70,8 @@ struct vt_event {
70#define VT_EVENT_UNBLANK 0x0004 /* Screen unblank */ 70#define VT_EVENT_UNBLANK 0x0004 /* Screen unblank */
71#define VT_EVENT_RESIZE 0x0008 /* Resize display */ 71#define VT_EVENT_RESIZE 0x0008 /* Resize display */
72#define VT_MAX_EVENT 0x000F 72#define VT_MAX_EVENT 0x000F
73 unsigned int old; /* Old console */ 73 unsigned int oldev; /* Old console */
74 unsigned int new; /* New console (if changing) */ 74 unsigned int newev; /* New console (if changing) */
75 unsigned int pad[4]; /* Padding for expansion */ 75 unsigned int pad[4]; /* Padding for expansion */
76}; 76};
77 77
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index c75b960c8ac8..998c30fc8981 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1283,6 +1283,12 @@ enum ieee80211_filter_flags {
1283 * 1283 *
1284 * These flags are used with the ampdu_action() callback in 1284 * These flags are used with the ampdu_action() callback in
1285 * &struct ieee80211_ops to indicate which action is needed. 1285 * &struct ieee80211_ops to indicate which action is needed.
1286 *
1287 * Note that drivers MUST be able to deal with a TX aggregation
1288 * session being stopped even before they OK'ed starting it by
1289 * calling ieee80211_start_tx_ba_cb(_irqsafe), because the peer
1290 * might receive the addBA frame and send a delBA right away!
1291 *
1286 * @IEEE80211_AMPDU_RX_START: start Rx aggregation 1292 * @IEEE80211_AMPDU_RX_START: start Rx aggregation
1287 * @IEEE80211_AMPDU_RX_STOP: stop Rx aggregation 1293 * @IEEE80211_AMPDU_RX_STOP: stop Rx aggregation
1288 * @IEEE80211_AMPDU_TX_START: start Tx aggregation 1294 * @IEEE80211_AMPDU_TX_START: start Tx aggregation
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 6e5f0e0c7967..0a474568b003 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -893,7 +893,6 @@ struct sctp_transport {
893 */ 893 */
894 /* RTO : The current retransmission timeout value. */ 894 /* RTO : The current retransmission timeout value. */
895 unsigned long rto; 895 unsigned long rto;
896 unsigned long last_rto;
897 896
898 __u32 rtt; /* This is the most recent RTT. */ 897 __u32 rtt; /* This is the most recent RTT. */
899 898
@@ -1980,7 +1979,7 @@ void sctp_assoc_set_primary(struct sctp_association *,
1980void sctp_assoc_del_nonprimary_peers(struct sctp_association *, 1979void sctp_assoc_del_nonprimary_peers(struct sctp_association *,
1981 struct sctp_transport *); 1980 struct sctp_transport *);
1982int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, 1981int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *,
1983 gfp_t); 1982 sctp_scope_t, gfp_t);
1984int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, 1983int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *,
1985 struct sctp_cookie*, 1984 struct sctp_cookie*,
1986 gfp_t gfp); 1985 gfp_t gfp);
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
index 9af48cbf0036..f097ae340bc1 100644
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -145,6 +145,7 @@ struct scsi_device {
145 unsigned retry_hwerror:1; /* Retry HARDWARE_ERROR */ 145 unsigned retry_hwerror:1; /* Retry HARDWARE_ERROR */
146 unsigned last_sector_bug:1; /* do not use multisector accesses on 146 unsigned last_sector_bug:1; /* do not use multisector accesses on
147 SD_LAST_BUGGY_SECTORS */ 147 SD_LAST_BUGGY_SECTORS */
148 unsigned is_visible:1; /* is the device visible in sysfs */
148 149
149 DECLARE_BITMAP(supported_events, SDEV_EVT_MAXBITS); /* supported events */ 150 DECLARE_BITMAP(supported_events, SDEV_EVT_MAXBITS); /* supported events */
150 struct list_head event_list; /* asserted events */ 151 struct list_head event_list; /* asserted events */
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index 6e728b176904..47941fc5aba7 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -797,30 +797,23 @@ static inline unsigned int scsi_host_get_prot(struct Scsi_Host *shost)
797 797
798static inline unsigned int scsi_host_dif_capable(struct Scsi_Host *shost, unsigned int target_type) 798static inline unsigned int scsi_host_dif_capable(struct Scsi_Host *shost, unsigned int target_type)
799{ 799{
800 switch (target_type) { 800 static unsigned char cap[] = { 0,
801 case 1: 801 SHOST_DIF_TYPE1_PROTECTION,
802 if (shost->prot_capabilities & SHOST_DIF_TYPE1_PROTECTION) 802 SHOST_DIF_TYPE2_PROTECTION,
803 return target_type; 803 SHOST_DIF_TYPE3_PROTECTION };
804 case 2:
805 if (shost->prot_capabilities & SHOST_DIF_TYPE2_PROTECTION)
806 return target_type;
807 case 3:
808 if (shost->prot_capabilities & SHOST_DIF_TYPE3_PROTECTION)
809 return target_type;
810 }
811 804
812 return 0; 805 return shost->prot_capabilities & cap[target_type] ? target_type : 0;
813} 806}
814 807
815static inline unsigned int scsi_host_dix_capable(struct Scsi_Host *shost, unsigned int target_type) 808static inline unsigned int scsi_host_dix_capable(struct Scsi_Host *shost, unsigned int target_type)
816{ 809{
817#if defined(CONFIG_BLK_DEV_INTEGRITY) 810#if defined(CONFIG_BLK_DEV_INTEGRITY)
818 switch (target_type) { 811 static unsigned char cap[] = { SHOST_DIX_TYPE0_PROTECTION,
819 case 0: return shost->prot_capabilities & SHOST_DIX_TYPE0_PROTECTION; 812 SHOST_DIX_TYPE1_PROTECTION,
820 case 1: return shost->prot_capabilities & SHOST_DIX_TYPE1_PROTECTION; 813 SHOST_DIX_TYPE2_PROTECTION,
821 case 2: return shost->prot_capabilities & SHOST_DIX_TYPE2_PROTECTION; 814 SHOST_DIX_TYPE3_PROTECTION };
822 case 3: return shost->prot_capabilities & SHOST_DIX_TYPE3_PROTECTION; 815
823 } 816 return shost->prot_capabilities & cap[target_type];
824#endif 817#endif
825 return 0; 818 return 0;
826} 819}
diff --git a/init/Kconfig b/init/Kconfig
index f51586406d62..eb4b33725db1 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -606,7 +606,7 @@ config SYSFS_DEPRECATED
606 bool 606 bool
607 607
608config SYSFS_DEPRECATED_V2 608config SYSFS_DEPRECATED_V2
609 bool "remove sysfs features which may confuse old userspace tools" 609 bool "enable deprecated sysfs features which may confuse old userspace tools"
610 depends on SYSFS 610 depends on SYSFS
611 default n 611 default n
612 select SYSFS_DEPRECATED 612 select SYSFS_DEPRECATED
@@ -937,7 +937,7 @@ config PERF_EVENTS
937 Enable kernel support for various performance events provided 937 Enable kernel support for various performance events provided
938 by software and hardware. 938 by software and hardware.
939 939
940 Software events are supported either build-in or via the 940 Software events are supported either built-in or via the
941 use of generic tracepoints. 941 use of generic tracepoints.
942 942
943 Most modern CPUs support performance events via performance 943 Most modern CPUs support performance events via performance
@@ -949,7 +949,7 @@ config PERF_EVENTS
949 used to profile the code that runs on that CPU. 949 used to profile the code that runs on that CPU.
950 950
951 The Linux Performance Event subsystem provides an abstraction of 951 The Linux Performance Event subsystem provides an abstraction of
952 these software and hardware cevent apabilities, available via a 952 these software and hardware event capabilities, available via a
953 system call and used by the "perf" utility in tools/perf/. It 953 system call and used by the "perf" utility in tools/perf/. It
954 provides per task and per CPU counters, and it provides event 954 provides per task and per CPU counters, and it provides event
955 capabilities on top of those. 955 capabilities on top of those.
@@ -1098,6 +1098,16 @@ config SLOW_WORK
1098 1098
1099 See Documentation/slow-work.txt. 1099 See Documentation/slow-work.txt.
1100 1100
1101config SLOW_WORK_DEBUG
1102 bool "Slow work debugging through debugfs"
1103 default n
1104 depends on SLOW_WORK && DEBUG_FS
1105 help
1106 Display the contents of the slow work run queue through debugfs,
1107 including items currently executing.
1108
1109 See Documentation/slow-work.txt.
1110
1101endmenu # General setup 1111endmenu # General setup
1102 1112
1103config HAVE_GENERIC_DMA_COHERENT 1113config HAVE_GENERIC_DMA_COHERENT
diff --git a/init/main.c b/init/main.c
index 5988debfc505..4051d75dd2d6 100644
--- a/init/main.c
+++ b/init/main.c
@@ -251,7 +251,7 @@ early_param("loglevel", loglevel);
251 251
252/* 252/*
253 * Unknown boot options get handed to init, unless they look like 253 * Unknown boot options get handed to init, unless they look like
254 * failed parameters 254 * unused parameters (modprobe will find them in /proc/cmdline).
255 */ 255 */
256static int __init unknown_bootoption(char *param, char *val) 256static int __init unknown_bootoption(char *param, char *val)
257{ 257{
@@ -272,14 +272,9 @@ static int __init unknown_bootoption(char *param, char *val)
272 if (obsolete_checksetup(param)) 272 if (obsolete_checksetup(param))
273 return 0; 273 return 0;
274 274
275 /* 275 /* Unused module parameter. */
276 * Preemptive maintenance for "why didn't my misspelled command 276 if (strchr(param, '.') && (!val || strchr(param, '.') < val))
277 * line work?"
278 */
279 if (strchr(param, '.') && (!val || strchr(param, '.') < val)) {
280 printk(KERN_ERR "Unknown boot option `%s': ignoring\n", param);
281 return 0; 277 return 0;
282 }
283 278
284 if (panic_later) 279 if (panic_later)
285 return 0; 280 return 0;
diff --git a/kernel/Makefile b/kernel/Makefile
index b8d4cd8ac0b9..d7c13d249b2d 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -94,6 +94,7 @@ obj-$(CONFIG_X86_DS) += trace/
94obj-$(CONFIG_RING_BUFFER) += trace/ 94obj-$(CONFIG_RING_BUFFER) += trace/
95obj-$(CONFIG_SMP) += sched_cpupri.o 95obj-$(CONFIG_SMP) += sched_cpupri.o
96obj-$(CONFIG_SLOW_WORK) += slow-work.o 96obj-$(CONFIG_SLOW_WORK) += slow-work.o
97obj-$(CONFIG_SLOW_WORK_DEBUG) += slow-work-debugfs.o
97obj-$(CONFIG_PERF_EVENTS) += perf_event.o 98obj-$(CONFIG_PERF_EVENTS) += perf_event.o
98 99
99ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y) 100ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c
index 114e704760fe..bd7273e6282e 100644
--- a/kernel/irq/spurious.c
+++ b/kernel/irq/spurious.c
@@ -121,7 +121,9 @@ static void poll_all_shared_irqs(void)
121 if (!(status & IRQ_SPURIOUS_DISABLED)) 121 if (!(status & IRQ_SPURIOUS_DISABLED))
122 continue; 122 continue;
123 123
124 local_irq_disable();
124 try_one_irq(i, desc); 125 try_one_irq(i, desc);
126 local_irq_enable();
125 } 127 }
126} 128}
127 129
diff --git a/kernel/module.c b/kernel/module.c
index 8b7d8805819d..5842a71cf052 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1187,7 +1187,8 @@ static void add_sect_attrs(struct module *mod, unsigned int nsect,
1187 1187
1188 /* Count loaded sections and allocate structures */ 1188 /* Count loaded sections and allocate structures */
1189 for (i = 0; i < nsect; i++) 1189 for (i = 0; i < nsect; i++)
1190 if (sechdrs[i].sh_flags & SHF_ALLOC) 1190 if (sechdrs[i].sh_flags & SHF_ALLOC
1191 && sechdrs[i].sh_size)
1191 nloaded++; 1192 nloaded++;
1192 size[0] = ALIGN(sizeof(*sect_attrs) 1193 size[0] = ALIGN(sizeof(*sect_attrs)
1193 + nloaded * sizeof(sect_attrs->attrs[0]), 1194 + nloaded * sizeof(sect_attrs->attrs[0]),
@@ -1207,6 +1208,8 @@ static void add_sect_attrs(struct module *mod, unsigned int nsect,
1207 for (i = 0; i < nsect; i++) { 1208 for (i = 0; i < nsect; i++) {
1208 if (! (sechdrs[i].sh_flags & SHF_ALLOC)) 1209 if (! (sechdrs[i].sh_flags & SHF_ALLOC))
1209 continue; 1210 continue;
1211 if (!sechdrs[i].sh_size)
1212 continue;
1210 sattr->address = sechdrs[i].sh_addr; 1213 sattr->address = sechdrs[i].sh_addr;
1211 sattr->name = kstrdup(secstrings + sechdrs[i].sh_name, 1214 sattr->name = kstrdup(secstrings + sechdrs[i].sh_name,
1212 GFP_KERNEL); 1215 GFP_KERNEL);
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index 0536125b0497..f3077c0ab181 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -59,7 +59,7 @@
59 NUM_RCU_LVL_2, \ 59 NUM_RCU_LVL_2, \
60 NUM_RCU_LVL_3, /* == MAX_RCU_LVLS */ \ 60 NUM_RCU_LVL_3, /* == MAX_RCU_LVLS */ \
61 }, \ 61 }, \
62 .signaled = RCU_SIGNAL_INIT, \ 62 .signaled = RCU_GP_IDLE, \
63 .gpnum = -300, \ 63 .gpnum = -300, \
64 .completed = -300, \ 64 .completed = -300, \
65 .onofflock = __SPIN_LOCK_UNLOCKED(&name.onofflock), \ 65 .onofflock = __SPIN_LOCK_UNLOCKED(&name.onofflock), \
@@ -657,14 +657,17 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags)
657 * irqs disabled. 657 * irqs disabled.
658 */ 658 */
659 rcu_for_each_node_breadth_first(rsp, rnp) { 659 rcu_for_each_node_breadth_first(rsp, rnp) {
660 spin_lock(&rnp->lock); /* irqs already disabled. */ 660 spin_lock(&rnp->lock); /* irqs already disabled. */
661 rcu_preempt_check_blocked_tasks(rnp); 661 rcu_preempt_check_blocked_tasks(rnp);
662 rnp->qsmask = rnp->qsmaskinit; 662 rnp->qsmask = rnp->qsmaskinit;
663 rnp->gpnum = rsp->gpnum; 663 rnp->gpnum = rsp->gpnum;
664 spin_unlock(&rnp->lock); /* irqs already disabled. */ 664 spin_unlock(&rnp->lock); /* irqs remain disabled. */
665 } 665 }
666 666
667 rnp = rcu_get_root(rsp);
668 spin_lock(&rnp->lock); /* irqs already disabled. */
667 rsp->signaled = RCU_SIGNAL_INIT; /* force_quiescent_state now OK. */ 669 rsp->signaled = RCU_SIGNAL_INIT; /* force_quiescent_state now OK. */
670 spin_unlock(&rnp->lock); /* irqs remain disabled. */
668 spin_unlock_irqrestore(&rsp->onofflock, flags); 671 spin_unlock_irqrestore(&rsp->onofflock, flags);
669} 672}
670 673
@@ -706,6 +709,7 @@ static void cpu_quiet_msk_finish(struct rcu_state *rsp, unsigned long flags)
706{ 709{
707 WARN_ON_ONCE(!rcu_gp_in_progress(rsp)); 710 WARN_ON_ONCE(!rcu_gp_in_progress(rsp));
708 rsp->completed = rsp->gpnum; 711 rsp->completed = rsp->gpnum;
712 rsp->signaled = RCU_GP_IDLE;
709 rcu_process_gp_end(rsp, rsp->rda[smp_processor_id()]); 713 rcu_process_gp_end(rsp, rsp->rda[smp_processor_id()]);
710 rcu_start_gp(rsp, flags); /* releases root node's rnp->lock. */ 714 rcu_start_gp(rsp, flags); /* releases root node's rnp->lock. */
711} 715}
@@ -1162,9 +1166,10 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
1162 } 1166 }
1163 spin_unlock(&rnp->lock); 1167 spin_unlock(&rnp->lock);
1164 switch (signaled) { 1168 switch (signaled) {
1169 case RCU_GP_IDLE:
1165 case RCU_GP_INIT: 1170 case RCU_GP_INIT:
1166 1171
1167 break; /* grace period still initializing, ignore. */ 1172 break; /* grace period idle or initializing, ignore. */
1168 1173
1169 case RCU_SAVE_DYNTICK: 1174 case RCU_SAVE_DYNTICK:
1170 1175
@@ -1178,7 +1183,8 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
1178 1183
1179 /* Update state, record completion counter. */ 1184 /* Update state, record completion counter. */
1180 spin_lock(&rnp->lock); 1185 spin_lock(&rnp->lock);
1181 if (lastcomp == rsp->completed) { 1186 if (lastcomp == rsp->completed &&
1187 rsp->signaled == RCU_SAVE_DYNTICK) {
1182 rsp->signaled = RCU_FORCE_QS; 1188 rsp->signaled = RCU_FORCE_QS;
1183 dyntick_record_completed(rsp, lastcomp); 1189 dyntick_record_completed(rsp, lastcomp);
1184 } 1190 }
diff --git a/kernel/rcutree.h b/kernel/rcutree.h
index 1823c6e20609..1899023b0962 100644
--- a/kernel/rcutree.h
+++ b/kernel/rcutree.h
@@ -201,9 +201,10 @@ struct rcu_data {
201}; 201};
202 202
203/* Values for signaled field in struct rcu_state. */ 203/* Values for signaled field in struct rcu_state. */
204#define RCU_GP_INIT 0 /* Grace period being initialized. */ 204#define RCU_GP_IDLE 0 /* No grace period in progress. */
205#define RCU_SAVE_DYNTICK 1 /* Need to scan dyntick state. */ 205#define RCU_GP_INIT 1 /* Grace period being initialized. */
206#define RCU_FORCE_QS 2 /* Need to force quiescent state. */ 206#define RCU_SAVE_DYNTICK 2 /* Need to scan dyntick state. */
207#define RCU_FORCE_QS 3 /* Need to force quiescent state. */
207#ifdef CONFIG_NO_HZ 208#ifdef CONFIG_NO_HZ
208#define RCU_SIGNAL_INIT RCU_SAVE_DYNTICK 209#define RCU_SIGNAL_INIT RCU_SAVE_DYNTICK
209#else /* #ifdef CONFIG_NO_HZ */ 210#else /* #ifdef CONFIG_NO_HZ */
diff --git a/kernel/sched.c b/kernel/sched.c
index 28dd4f490bfc..3c11ae0a948d 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -309,6 +309,8 @@ static DEFINE_PER_CPU_SHARED_ALIGNED(struct rt_rq, init_rt_rq);
309 */ 309 */
310static DEFINE_SPINLOCK(task_group_lock); 310static DEFINE_SPINLOCK(task_group_lock);
311 311
312#ifdef CONFIG_FAIR_GROUP_SCHED
313
312#ifdef CONFIG_SMP 314#ifdef CONFIG_SMP
313static int root_task_group_empty(void) 315static int root_task_group_empty(void)
314{ 316{
@@ -316,7 +318,6 @@ static int root_task_group_empty(void)
316} 318}
317#endif 319#endif
318 320
319#ifdef CONFIG_FAIR_GROUP_SCHED
320#ifdef CONFIG_USER_SCHED 321#ifdef CONFIG_USER_SCHED
321# define INIT_TASK_GROUP_LOAD (2*NICE_0_LOAD) 322# define INIT_TASK_GROUP_LOAD (2*NICE_0_LOAD)
322#else /* !CONFIG_USER_SCHED */ 323#else /* !CONFIG_USER_SCHED */
@@ -1994,7 +1995,7 @@ static inline void check_class_changed(struct rq *rq, struct task_struct *p,
1994 1995
1995/** 1996/**
1996 * kthread_bind - bind a just-created kthread to a cpu. 1997 * kthread_bind - bind a just-created kthread to a cpu.
1997 * @k: thread created by kthread_create(). 1998 * @p: thread created by kthread_create().
1998 * @cpu: cpu (might not be online, must be possible) for @k to run on. 1999 * @cpu: cpu (might not be online, must be possible) for @k to run on.
1999 * 2000 *
2000 * Description: This function is equivalent to set_cpus_allowed(), 2001 * Description: This function is equivalent to set_cpus_allowed(),
diff --git a/kernel/slow-work-debugfs.c b/kernel/slow-work-debugfs.c
new file mode 100644
index 000000000000..e45c43645298
--- /dev/null
+++ b/kernel/slow-work-debugfs.c
@@ -0,0 +1,227 @@
1/* Slow work debugging
2 *
3 * Copyright (C) 2009 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public Licence
8 * as published by the Free Software Foundation; either version
9 * 2 of the Licence, or (at your option) any later version.
10 */
11
12#include <linux/module.h>
13#include <linux/slow-work.h>
14#include <linux/fs.h>
15#include <linux/time.h>
16#include <linux/seq_file.h>
17#include "slow-work.h"
18
19#define ITERATOR_SHIFT (BITS_PER_LONG - 4)
20#define ITERATOR_SELECTOR (0xfUL << ITERATOR_SHIFT)
21#define ITERATOR_COUNTER (~ITERATOR_SELECTOR)
22
23void slow_work_new_thread_desc(struct slow_work *work, struct seq_file *m)
24{
25 seq_puts(m, "Slow-work: New thread");
26}
27
28/*
29 * Render the time mark field on a work item into a 5-char time with units plus
30 * a space
31 */
32static void slow_work_print_mark(struct seq_file *m, struct slow_work *work)
33{
34 struct timespec now, diff;
35
36 now = CURRENT_TIME;
37 diff = timespec_sub(now, work->mark);
38
39 if (diff.tv_sec < 0)
40 seq_puts(m, " -ve ");
41 else if (diff.tv_sec == 0 && diff.tv_nsec < 1000)
42 seq_printf(m, "%3luns ", diff.tv_nsec);
43 else if (diff.tv_sec == 0 && diff.tv_nsec < 1000000)
44 seq_printf(m, "%3luus ", diff.tv_nsec / 1000);
45 else if (diff.tv_sec == 0 && diff.tv_nsec < 1000000000)
46 seq_printf(m, "%3lums ", diff.tv_nsec / 1000000);
47 else if (diff.tv_sec <= 1)
48 seq_puts(m, " 1s ");
49 else if (diff.tv_sec < 60)
50 seq_printf(m, "%4lus ", diff.tv_sec);
51 else if (diff.tv_sec < 60 * 60)
52 seq_printf(m, "%4lum ", diff.tv_sec / 60);
53 else if (diff.tv_sec < 60 * 60 * 24)
54 seq_printf(m, "%4luh ", diff.tv_sec / 3600);
55 else
56 seq_puts(m, "exces ");
57}
58
59/*
60 * Describe a slow work item for debugfs
61 */
62static int slow_work_runqueue_show(struct seq_file *m, void *v)
63{
64 struct slow_work *work;
65 struct list_head *p = v;
66 unsigned long id;
67
68 switch ((unsigned long) v) {
69 case 1:
70 seq_puts(m, "THR PID ITEM ADDR FL MARK DESC\n");
71 return 0;
72 case 2:
73 seq_puts(m, "=== ===== ================ == ===== ==========\n");
74 return 0;
75
76 case 3 ... 3 + SLOW_WORK_THREAD_LIMIT - 1:
77 id = (unsigned long) v - 3;
78
79 read_lock(&slow_work_execs_lock);
80 work = slow_work_execs[id];
81 if (work) {
82 smp_read_barrier_depends();
83
84 seq_printf(m, "%3lu %5d %16p %2lx ",
85 id, slow_work_pids[id], work, work->flags);
86 slow_work_print_mark(m, work);
87
88 if (work->ops->desc)
89 work->ops->desc(work, m);
90 seq_putc(m, '\n');
91 }
92 read_unlock(&slow_work_execs_lock);
93 return 0;
94
95 default:
96 work = list_entry(p, struct slow_work, link);
97 seq_printf(m, "%3s - %16p %2lx ",
98 work->flags & SLOW_WORK_VERY_SLOW ? "vsq" : "sq",
99 work, work->flags);
100 slow_work_print_mark(m, work);
101
102 if (work->ops->desc)
103 work->ops->desc(work, m);
104 seq_putc(m, '\n');
105 return 0;
106 }
107}
108
109/*
110 * map the iterator to a work item
111 */
112static void *slow_work_runqueue_index(struct seq_file *m, loff_t *_pos)
113{
114 struct list_head *p;
115 unsigned long count, id;
116
117 switch (*_pos >> ITERATOR_SHIFT) {
118 case 0x0:
119 if (*_pos == 0)
120 *_pos = 1;
121 if (*_pos < 3)
122 return (void *)(unsigned long) *_pos;
123 if (*_pos < 3 + SLOW_WORK_THREAD_LIMIT)
124 for (id = *_pos - 3;
125 id < SLOW_WORK_THREAD_LIMIT;
126 id++, (*_pos)++)
127 if (slow_work_execs[id])
128 return (void *)(unsigned long) *_pos;
129 *_pos = 0x1UL << ITERATOR_SHIFT;
130
131 case 0x1:
132 count = *_pos & ITERATOR_COUNTER;
133 list_for_each(p, &slow_work_queue) {
134 if (count == 0)
135 return p;
136 count--;
137 }
138 *_pos = 0x2UL << ITERATOR_SHIFT;
139
140 case 0x2:
141 count = *_pos & ITERATOR_COUNTER;
142 list_for_each(p, &vslow_work_queue) {
143 if (count == 0)
144 return p;
145 count--;
146 }
147 *_pos = 0x3UL << ITERATOR_SHIFT;
148
149 default:
150 return NULL;
151 }
152}
153
154/*
155 * set up the iterator to start reading from the first line
156 */
157static void *slow_work_runqueue_start(struct seq_file *m, loff_t *_pos)
158{
159 spin_lock_irq(&slow_work_queue_lock);
160 return slow_work_runqueue_index(m, _pos);
161}
162
163/*
164 * move to the next line
165 */
166static void *slow_work_runqueue_next(struct seq_file *m, void *v, loff_t *_pos)
167{
168 struct list_head *p = v;
169 unsigned long selector = *_pos >> ITERATOR_SHIFT;
170
171 (*_pos)++;
172 switch (selector) {
173 case 0x0:
174 return slow_work_runqueue_index(m, _pos);
175
176 case 0x1:
177 if (*_pos >> ITERATOR_SHIFT == 0x1) {
178 p = p->next;
179 if (p != &slow_work_queue)
180 return p;
181 }
182 *_pos = 0x2UL << ITERATOR_SHIFT;
183 p = &vslow_work_queue;
184
185 case 0x2:
186 if (*_pos >> ITERATOR_SHIFT == 0x2) {
187 p = p->next;
188 if (p != &vslow_work_queue)
189 return p;
190 }
191 *_pos = 0x3UL << ITERATOR_SHIFT;
192
193 default:
194 return NULL;
195 }
196}
197
198/*
199 * clean up after reading
200 */
201static void slow_work_runqueue_stop(struct seq_file *m, void *v)
202{
203 spin_unlock_irq(&slow_work_queue_lock);
204}
205
206static const struct seq_operations slow_work_runqueue_ops = {
207 .start = slow_work_runqueue_start,
208 .stop = slow_work_runqueue_stop,
209 .next = slow_work_runqueue_next,
210 .show = slow_work_runqueue_show,
211};
212
213/*
214 * open "/sys/kernel/debug/slow_work/runqueue" to list queue contents
215 */
216static int slow_work_runqueue_open(struct inode *inode, struct file *file)
217{
218 return seq_open(file, &slow_work_runqueue_ops);
219}
220
221const struct file_operations slow_work_runqueue_fops = {
222 .owner = THIS_MODULE,
223 .open = slow_work_runqueue_open,
224 .read = seq_read,
225 .llseek = seq_lseek,
226 .release = seq_release,
227};
diff --git a/kernel/slow-work.c b/kernel/slow-work.c
index 0d31135efbf4..00889bd3c590 100644
--- a/kernel/slow-work.c
+++ b/kernel/slow-work.c
@@ -16,11 +16,8 @@
16#include <linux/kthread.h> 16#include <linux/kthread.h>
17#include <linux/freezer.h> 17#include <linux/freezer.h>
18#include <linux/wait.h> 18#include <linux/wait.h>
19 19#include <linux/debugfs.h>
20#define SLOW_WORK_CULL_TIMEOUT (5 * HZ) /* cull threads 5s after running out of 20#include "slow-work.h"
21 * things to do */
22#define SLOW_WORK_OOM_TIMEOUT (5 * HZ) /* can't start new threads for 5s after
23 * OOM */
24 21
25static void slow_work_cull_timeout(unsigned long); 22static void slow_work_cull_timeout(unsigned long);
26static void slow_work_oom_timeout(unsigned long); 23static void slow_work_oom_timeout(unsigned long);
@@ -46,7 +43,7 @@ static unsigned vslow_work_proportion = 50; /* % of threads that may process
46 43
47#ifdef CONFIG_SYSCTL 44#ifdef CONFIG_SYSCTL
48static const int slow_work_min_min_threads = 2; 45static const int slow_work_min_min_threads = 2;
49static int slow_work_max_max_threads = 255; 46static int slow_work_max_max_threads = SLOW_WORK_THREAD_LIMIT;
50static const int slow_work_min_vslow = 1; 47static const int slow_work_min_vslow = 1;
51static const int slow_work_max_vslow = 99; 48static const int slow_work_max_vslow = 99;
52 49
@@ -98,6 +95,56 @@ static DEFINE_TIMER(slow_work_oom_timer, slow_work_oom_timeout, 0, 0);
98static struct slow_work slow_work_new_thread; /* new thread starter */ 95static struct slow_work slow_work_new_thread; /* new thread starter */
99 96
100/* 97/*
98 * slow work ID allocation (use slow_work_queue_lock)
99 */
100static DECLARE_BITMAP(slow_work_ids, SLOW_WORK_THREAD_LIMIT);
101
102/*
103 * Unregistration tracking to prevent put_ref() from disappearing during module
104 * unload
105 */
106#ifdef CONFIG_MODULES
107static struct module *slow_work_thread_processing[SLOW_WORK_THREAD_LIMIT];
108static struct module *slow_work_unreg_module;
109static struct slow_work *slow_work_unreg_work_item;
110static DECLARE_WAIT_QUEUE_HEAD(slow_work_unreg_wq);
111static DEFINE_MUTEX(slow_work_unreg_sync_lock);
112
113static void slow_work_set_thread_processing(int id, struct slow_work *work)
114{
115 if (work)
116 slow_work_thread_processing[id] = work->owner;
117}
118static void slow_work_done_thread_processing(int id, struct slow_work *work)
119{
120 struct module *module = slow_work_thread_processing[id];
121
122 slow_work_thread_processing[id] = NULL;
123 smp_mb();
124 if (slow_work_unreg_work_item == work ||
125 slow_work_unreg_module == module)
126 wake_up_all(&slow_work_unreg_wq);
127}
128static void slow_work_clear_thread_processing(int id)
129{
130 slow_work_thread_processing[id] = NULL;
131}
132#else
133static void slow_work_set_thread_processing(int id, struct slow_work *work) {}
134static void slow_work_done_thread_processing(int id, struct slow_work *work) {}
135static void slow_work_clear_thread_processing(int id) {}
136#endif
137
138/*
139 * Data for tracking currently executing items for indication through /proc
140 */
141#ifdef CONFIG_SLOW_WORK_DEBUG
142struct slow_work *slow_work_execs[SLOW_WORK_THREAD_LIMIT];
143pid_t slow_work_pids[SLOW_WORK_THREAD_LIMIT];
144DEFINE_RWLOCK(slow_work_execs_lock);
145#endif
146
147/*
101 * The queues of work items and the lock governing access to them. These are 148 * The queues of work items and the lock governing access to them. These are
102 * shared between all the CPUs. It doesn't make sense to have per-CPU queues 149 * shared between all the CPUs. It doesn't make sense to have per-CPU queues
103 * as the number of threads bears no relation to the number of CPUs. 150 * as the number of threads bears no relation to the number of CPUs.
@@ -105,9 +152,18 @@ static struct slow_work slow_work_new_thread; /* new thread starter */
105 * There are two queues of work items: one for slow work items, and one for 152 * There are two queues of work items: one for slow work items, and one for
106 * very slow work items. 153 * very slow work items.
107 */ 154 */
108static LIST_HEAD(slow_work_queue); 155LIST_HEAD(slow_work_queue);
109static LIST_HEAD(vslow_work_queue); 156LIST_HEAD(vslow_work_queue);
110static DEFINE_SPINLOCK(slow_work_queue_lock); 157DEFINE_SPINLOCK(slow_work_queue_lock);
158
159/*
160 * The following are two wait queues that get pinged when a work item is placed
161 * on an empty queue. These allow work items that are hogging a thread by
162 * sleeping in a way that could be deferred to yield their thread and enqueue
163 * themselves.
164 */
165static DECLARE_WAIT_QUEUE_HEAD(slow_work_queue_waits_for_occupation);
166static DECLARE_WAIT_QUEUE_HEAD(vslow_work_queue_waits_for_occupation);
111 167
112/* 168/*
113 * The thread controls. A variable used to signal to the threads that they 169 * The thread controls. A variable used to signal to the threads that they
@@ -126,6 +182,20 @@ static DECLARE_COMPLETION(slow_work_last_thread_exited);
126static int slow_work_user_count; 182static int slow_work_user_count;
127static DEFINE_MUTEX(slow_work_user_lock); 183static DEFINE_MUTEX(slow_work_user_lock);
128 184
185static inline int slow_work_get_ref(struct slow_work *work)
186{
187 if (work->ops->get_ref)
188 return work->ops->get_ref(work);
189
190 return 0;
191}
192
193static inline void slow_work_put_ref(struct slow_work *work)
194{
195 if (work->ops->put_ref)
196 work->ops->put_ref(work);
197}
198
129/* 199/*
130 * Calculate the maximum number of active threads in the pool that are 200 * Calculate the maximum number of active threads in the pool that are
131 * permitted to process very slow work items. 201 * permitted to process very slow work items.
@@ -149,7 +219,7 @@ static unsigned slow_work_calc_vsmax(void)
149 * Attempt to execute stuff queued on a slow thread. Return true if we managed 219 * Attempt to execute stuff queued on a slow thread. Return true if we managed
150 * it, false if there was nothing to do. 220 * it, false if there was nothing to do.
151 */ 221 */
152static bool slow_work_execute(void) 222static noinline bool slow_work_execute(int id)
153{ 223{
154 struct slow_work *work = NULL; 224 struct slow_work *work = NULL;
155 unsigned vsmax; 225 unsigned vsmax;
@@ -186,6 +256,13 @@ static bool slow_work_execute(void)
186 } else { 256 } else {
187 very_slow = false; /* avoid the compiler warning */ 257 very_slow = false; /* avoid the compiler warning */
188 } 258 }
259
260 slow_work_set_thread_processing(id, work);
261 if (work) {
262 slow_work_mark_time(work);
263 slow_work_begin_exec(id, work);
264 }
265
189 spin_unlock_irq(&slow_work_queue_lock); 266 spin_unlock_irq(&slow_work_queue_lock);
190 267
191 if (!work) 268 if (!work)
@@ -194,12 +271,19 @@ static bool slow_work_execute(void)
194 if (!test_and_clear_bit(SLOW_WORK_PENDING, &work->flags)) 271 if (!test_and_clear_bit(SLOW_WORK_PENDING, &work->flags))
195 BUG(); 272 BUG();
196 273
197 work->ops->execute(work); 274 /* don't execute if the work is in the process of being cancelled */
275 if (!test_bit(SLOW_WORK_CANCELLING, &work->flags))
276 work->ops->execute(work);
198 277
199 if (very_slow) 278 if (very_slow)
200 atomic_dec(&vslow_work_executing_count); 279 atomic_dec(&vslow_work_executing_count);
201 clear_bit_unlock(SLOW_WORK_EXECUTING, &work->flags); 280 clear_bit_unlock(SLOW_WORK_EXECUTING, &work->flags);
202 281
282 /* wake up anyone waiting for this work to be complete */
283 wake_up_bit(&work->flags, SLOW_WORK_EXECUTING);
284
285 slow_work_end_exec(id, work);
286
203 /* if someone tried to enqueue the item whilst we were executing it, 287 /* if someone tried to enqueue the item whilst we were executing it,
204 * then it'll be left unenqueued to avoid multiple threads trying to 288 * then it'll be left unenqueued to avoid multiple threads trying to
205 * execute it simultaneously 289 * execute it simultaneously
@@ -219,7 +303,10 @@ static bool slow_work_execute(void)
219 spin_unlock_irq(&slow_work_queue_lock); 303 spin_unlock_irq(&slow_work_queue_lock);
220 } 304 }
221 305
222 work->ops->put_ref(work); 306 /* sort out the race between module unloading and put_ref() */
307 slow_work_put_ref(work);
308 slow_work_done_thread_processing(id, work);
309
223 return true; 310 return true;
224 311
225auto_requeue: 312auto_requeue:
@@ -227,15 +314,61 @@ auto_requeue:
227 * - we transfer our ref on the item back to the appropriate queue 314 * - we transfer our ref on the item back to the appropriate queue
228 * - don't wake another thread up as we're awake already 315 * - don't wake another thread up as we're awake already
229 */ 316 */
317 slow_work_mark_time(work);
230 if (test_bit(SLOW_WORK_VERY_SLOW, &work->flags)) 318 if (test_bit(SLOW_WORK_VERY_SLOW, &work->flags))
231 list_add_tail(&work->link, &vslow_work_queue); 319 list_add_tail(&work->link, &vslow_work_queue);
232 else 320 else
233 list_add_tail(&work->link, &slow_work_queue); 321 list_add_tail(&work->link, &slow_work_queue);
234 spin_unlock_irq(&slow_work_queue_lock); 322 spin_unlock_irq(&slow_work_queue_lock);
323 slow_work_clear_thread_processing(id);
235 return true; 324 return true;
236} 325}
237 326
238/** 327/**
328 * slow_work_sleep_till_thread_needed - Sleep till thread needed by other work
329 * work: The work item under execution that wants to sleep
330 * _timeout: Scheduler sleep timeout
331 *
332 * Allow a requeueable work item to sleep on a slow-work processor thread until
333 * that thread is needed to do some other work or the sleep is interrupted by
334 * some other event.
335 *
336 * The caller must set up a wake up event before calling this and must have set
337 * the appropriate sleep mode (such as TASK_UNINTERRUPTIBLE) and tested its own
338 * condition before calling this function as no test is made here.
339 *
340 * False is returned if there is nothing on the queue; true is returned if the
341 * work item should be requeued
342 */
343bool slow_work_sleep_till_thread_needed(struct slow_work *work,
344 signed long *_timeout)
345{
346 wait_queue_head_t *wfo_wq;
347 struct list_head *queue;
348
349 DEFINE_WAIT(wait);
350
351 if (test_bit(SLOW_WORK_VERY_SLOW, &work->flags)) {
352 wfo_wq = &vslow_work_queue_waits_for_occupation;
353 queue = &vslow_work_queue;
354 } else {
355 wfo_wq = &slow_work_queue_waits_for_occupation;
356 queue = &slow_work_queue;
357 }
358
359 if (!list_empty(queue))
360 return true;
361
362 add_wait_queue_exclusive(wfo_wq, &wait);
363 if (list_empty(queue))
364 *_timeout = schedule_timeout(*_timeout);
365 finish_wait(wfo_wq, &wait);
366
367 return !list_empty(queue);
368}
369EXPORT_SYMBOL(slow_work_sleep_till_thread_needed);
370
371/**
239 * slow_work_enqueue - Schedule a slow work item for processing 372 * slow_work_enqueue - Schedule a slow work item for processing
240 * @work: The work item to queue 373 * @work: The work item to queue
241 * 374 *
@@ -260,16 +393,22 @@ auto_requeue:
260 * allowed to pick items to execute. This ensures that very slow items won't 393 * allowed to pick items to execute. This ensures that very slow items won't
261 * overly block ones that are just ordinarily slow. 394 * overly block ones that are just ordinarily slow.
262 * 395 *
263 * Returns 0 if successful, -EAGAIN if not. 396 * Returns 0 if successful, -EAGAIN if not (or -ECANCELED if cancelled work is
397 * attempted queued)
264 */ 398 */
265int slow_work_enqueue(struct slow_work *work) 399int slow_work_enqueue(struct slow_work *work)
266{ 400{
401 wait_queue_head_t *wfo_wq;
402 struct list_head *queue;
267 unsigned long flags; 403 unsigned long flags;
404 int ret;
405
406 if (test_bit(SLOW_WORK_CANCELLING, &work->flags))
407 return -ECANCELED;
268 408
269 BUG_ON(slow_work_user_count <= 0); 409 BUG_ON(slow_work_user_count <= 0);
270 BUG_ON(!work); 410 BUG_ON(!work);
271 BUG_ON(!work->ops); 411 BUG_ON(!work->ops);
272 BUG_ON(!work->ops->get_ref);
273 412
274 /* when honouring an enqueue request, we only promise that we will run 413 /* when honouring an enqueue request, we only promise that we will run
275 * the work function in the future; we do not promise to run it once 414 * the work function in the future; we do not promise to run it once
@@ -280,8 +419,19 @@ int slow_work_enqueue(struct slow_work *work)
280 * maintaining our promise 419 * maintaining our promise
281 */ 420 */
282 if (!test_and_set_bit_lock(SLOW_WORK_PENDING, &work->flags)) { 421 if (!test_and_set_bit_lock(SLOW_WORK_PENDING, &work->flags)) {
422 if (test_bit(SLOW_WORK_VERY_SLOW, &work->flags)) {
423 wfo_wq = &vslow_work_queue_waits_for_occupation;
424 queue = &vslow_work_queue;
425 } else {
426 wfo_wq = &slow_work_queue_waits_for_occupation;
427 queue = &slow_work_queue;
428 }
429
283 spin_lock_irqsave(&slow_work_queue_lock, flags); 430 spin_lock_irqsave(&slow_work_queue_lock, flags);
284 431
432 if (unlikely(test_bit(SLOW_WORK_CANCELLING, &work->flags)))
433 goto cancelled;
434
285 /* we promise that we will not attempt to execute the work 435 /* we promise that we will not attempt to execute the work
286 * function in more than one thread simultaneously 436 * function in more than one thread simultaneously
287 * 437 *
@@ -299,25 +449,221 @@ int slow_work_enqueue(struct slow_work *work)
299 if (test_bit(SLOW_WORK_EXECUTING, &work->flags)) { 449 if (test_bit(SLOW_WORK_EXECUTING, &work->flags)) {
300 set_bit(SLOW_WORK_ENQ_DEFERRED, &work->flags); 450 set_bit(SLOW_WORK_ENQ_DEFERRED, &work->flags);
301 } else { 451 } else {
302 if (work->ops->get_ref(work) < 0) 452 ret = slow_work_get_ref(work);
303 goto cant_get_ref; 453 if (ret < 0)
304 if (test_bit(SLOW_WORK_VERY_SLOW, &work->flags)) 454 goto failed;
305 list_add_tail(&work->link, &vslow_work_queue); 455 slow_work_mark_time(work);
306 else 456 list_add_tail(&work->link, queue);
307 list_add_tail(&work->link, &slow_work_queue);
308 wake_up(&slow_work_thread_wq); 457 wake_up(&slow_work_thread_wq);
458
459 /* if someone who could be requeued is sleeping on a
460 * thread, then ask them to yield their thread */
461 if (work->link.prev == queue)
462 wake_up(wfo_wq);
309 } 463 }
310 464
311 spin_unlock_irqrestore(&slow_work_queue_lock, flags); 465 spin_unlock_irqrestore(&slow_work_queue_lock, flags);
312 } 466 }
313 return 0; 467 return 0;
314 468
315cant_get_ref: 469cancelled:
470 ret = -ECANCELED;
471failed:
316 spin_unlock_irqrestore(&slow_work_queue_lock, flags); 472 spin_unlock_irqrestore(&slow_work_queue_lock, flags);
317 return -EAGAIN; 473 return ret;
318} 474}
319EXPORT_SYMBOL(slow_work_enqueue); 475EXPORT_SYMBOL(slow_work_enqueue);
320 476
477static int slow_work_wait(void *word)
478{
479 schedule();
480 return 0;
481}
482
483/**
484 * slow_work_cancel - Cancel a slow work item
485 * @work: The work item to cancel
486 *
487 * This function will cancel a previously enqueued work item. If we cannot
488 * cancel the work item, it is guarenteed to have run when this function
489 * returns.
490 */
491void slow_work_cancel(struct slow_work *work)
492{
493 bool wait = true, put = false;
494
495 set_bit(SLOW_WORK_CANCELLING, &work->flags);
496 smp_mb();
497
498 /* if the work item is a delayed work item with an active timer, we
499 * need to wait for the timer to finish _before_ getting the spinlock,
500 * lest we deadlock against the timer routine
501 *
502 * the timer routine will leave DELAYED set if it notices the
503 * CANCELLING flag in time
504 */
505 if (test_bit(SLOW_WORK_DELAYED, &work->flags)) {
506 struct delayed_slow_work *dwork =
507 container_of(work, struct delayed_slow_work, work);
508 del_timer_sync(&dwork->timer);
509 }
510
511 spin_lock_irq(&slow_work_queue_lock);
512
513 if (test_bit(SLOW_WORK_DELAYED, &work->flags)) {
514 /* the timer routine aborted or never happened, so we are left
515 * holding the timer's reference on the item and should just
516 * drop the pending flag and wait for any ongoing execution to
517 * finish */
518 struct delayed_slow_work *dwork =
519 container_of(work, struct delayed_slow_work, work);
520
521 BUG_ON(timer_pending(&dwork->timer));
522 BUG_ON(!list_empty(&work->link));
523
524 clear_bit(SLOW_WORK_DELAYED, &work->flags);
525 put = true;
526 clear_bit(SLOW_WORK_PENDING, &work->flags);
527
528 } else if (test_bit(SLOW_WORK_PENDING, &work->flags) &&
529 !list_empty(&work->link)) {
530 /* the link in the pending queue holds a reference on the item
531 * that we will need to release */
532 list_del_init(&work->link);
533 wait = false;
534 put = true;
535 clear_bit(SLOW_WORK_PENDING, &work->flags);
536
537 } else if (test_and_clear_bit(SLOW_WORK_ENQ_DEFERRED, &work->flags)) {
538 /* the executor is holding our only reference on the item, so
539 * we merely need to wait for it to finish executing */
540 clear_bit(SLOW_WORK_PENDING, &work->flags);
541 }
542
543 spin_unlock_irq(&slow_work_queue_lock);
544
545 /* the EXECUTING flag is set by the executor whilst the spinlock is set
546 * and before the item is dequeued - so assuming the above doesn't
547 * actually dequeue it, simply waiting for the EXECUTING flag to be
548 * released here should be sufficient */
549 if (wait)
550 wait_on_bit(&work->flags, SLOW_WORK_EXECUTING, slow_work_wait,
551 TASK_UNINTERRUPTIBLE);
552
553 clear_bit(SLOW_WORK_CANCELLING, &work->flags);
554 if (put)
555 slow_work_put_ref(work);
556}
557EXPORT_SYMBOL(slow_work_cancel);
558
559/*
560 * Handle expiry of the delay timer, indicating that a delayed slow work item
561 * should now be queued if not cancelled
562 */
563static void delayed_slow_work_timer(unsigned long data)
564{
565 wait_queue_head_t *wfo_wq;
566 struct list_head *queue;
567 struct slow_work *work = (struct slow_work *) data;
568 unsigned long flags;
569 bool queued = false, put = false, first = false;
570
571 if (test_bit(SLOW_WORK_VERY_SLOW, &work->flags)) {
572 wfo_wq = &vslow_work_queue_waits_for_occupation;
573 queue = &vslow_work_queue;
574 } else {
575 wfo_wq = &slow_work_queue_waits_for_occupation;
576 queue = &slow_work_queue;
577 }
578
579 spin_lock_irqsave(&slow_work_queue_lock, flags);
580 if (likely(!test_bit(SLOW_WORK_CANCELLING, &work->flags))) {
581 clear_bit(SLOW_WORK_DELAYED, &work->flags);
582
583 if (test_bit(SLOW_WORK_EXECUTING, &work->flags)) {
584 /* we discard the reference the timer was holding in
585 * favour of the one the executor holds */
586 set_bit(SLOW_WORK_ENQ_DEFERRED, &work->flags);
587 put = true;
588 } else {
589 slow_work_mark_time(work);
590 list_add_tail(&work->link, queue);
591 queued = true;
592 if (work->link.prev == queue)
593 first = true;
594 }
595 }
596
597 spin_unlock_irqrestore(&slow_work_queue_lock, flags);
598 if (put)
599 slow_work_put_ref(work);
600 if (first)
601 wake_up(wfo_wq);
602 if (queued)
603 wake_up(&slow_work_thread_wq);
604}
605
606/**
607 * delayed_slow_work_enqueue - Schedule a delayed slow work item for processing
608 * @dwork: The delayed work item to queue
609 * @delay: When to start executing the work, in jiffies from now
610 *
611 * This is similar to slow_work_enqueue(), but it adds a delay before the work
612 * is actually queued for processing.
613 *
614 * The item can have delayed processing requested on it whilst it is being
615 * executed. The delay will begin immediately, and if it expires before the
616 * item finishes executing, the item will be placed back on the queue when it
617 * has done executing.
618 */
619int delayed_slow_work_enqueue(struct delayed_slow_work *dwork,
620 unsigned long delay)
621{
622 struct slow_work *work = &dwork->work;
623 unsigned long flags;
624 int ret;
625
626 if (delay == 0)
627 return slow_work_enqueue(&dwork->work);
628
629 BUG_ON(slow_work_user_count <= 0);
630 BUG_ON(!work);
631 BUG_ON(!work->ops);
632
633 if (test_bit(SLOW_WORK_CANCELLING, &work->flags))
634 return -ECANCELED;
635
636 if (!test_and_set_bit_lock(SLOW_WORK_PENDING, &work->flags)) {
637 spin_lock_irqsave(&slow_work_queue_lock, flags);
638
639 if (test_bit(SLOW_WORK_CANCELLING, &work->flags))
640 goto cancelled;
641
642 /* the timer holds a reference whilst it is pending */
643 ret = work->ops->get_ref(work);
644 if (ret < 0)
645 goto cant_get_ref;
646
647 if (test_and_set_bit(SLOW_WORK_DELAYED, &work->flags))
648 BUG();
649 dwork->timer.expires = jiffies + delay;
650 dwork->timer.data = (unsigned long) work;
651 dwork->timer.function = delayed_slow_work_timer;
652 add_timer(&dwork->timer);
653
654 spin_unlock_irqrestore(&slow_work_queue_lock, flags);
655 }
656
657 return 0;
658
659cancelled:
660 ret = -ECANCELED;
661cant_get_ref:
662 spin_unlock_irqrestore(&slow_work_queue_lock, flags);
663 return ret;
664}
665EXPORT_SYMBOL(delayed_slow_work_enqueue);
666
321/* 667/*
322 * Schedule a cull of the thread pool at some time in the near future 668 * Schedule a cull of the thread pool at some time in the near future
323 */ 669 */
@@ -368,13 +714,23 @@ static inline bool slow_work_available(int vsmax)
368 */ 714 */
369static int slow_work_thread(void *_data) 715static int slow_work_thread(void *_data)
370{ 716{
371 int vsmax; 717 int vsmax, id;
372 718
373 DEFINE_WAIT(wait); 719 DEFINE_WAIT(wait);
374 720
375 set_freezable(); 721 set_freezable();
376 set_user_nice(current, -5); 722 set_user_nice(current, -5);
377 723
724 /* allocate ourselves an ID */
725 spin_lock_irq(&slow_work_queue_lock);
726 id = find_first_zero_bit(slow_work_ids, SLOW_WORK_THREAD_LIMIT);
727 BUG_ON(id < 0 || id >= SLOW_WORK_THREAD_LIMIT);
728 __set_bit(id, slow_work_ids);
729 slow_work_set_thread_pid(id, current->pid);
730 spin_unlock_irq(&slow_work_queue_lock);
731
732 sprintf(current->comm, "kslowd%03u", id);
733
378 for (;;) { 734 for (;;) {
379 vsmax = vslow_work_proportion; 735 vsmax = vslow_work_proportion;
380 vsmax *= atomic_read(&slow_work_thread_count); 736 vsmax *= atomic_read(&slow_work_thread_count);
@@ -395,7 +751,7 @@ static int slow_work_thread(void *_data)
395 vsmax *= atomic_read(&slow_work_thread_count); 751 vsmax *= atomic_read(&slow_work_thread_count);
396 vsmax /= 100; 752 vsmax /= 100;
397 753
398 if (slow_work_available(vsmax) && slow_work_execute()) { 754 if (slow_work_available(vsmax) && slow_work_execute(id)) {
399 cond_resched(); 755 cond_resched();
400 if (list_empty(&slow_work_queue) && 756 if (list_empty(&slow_work_queue) &&
401 list_empty(&vslow_work_queue) && 757 list_empty(&vslow_work_queue) &&
@@ -412,6 +768,11 @@ static int slow_work_thread(void *_data)
412 break; 768 break;
413 } 769 }
414 770
771 spin_lock_irq(&slow_work_queue_lock);
772 slow_work_set_thread_pid(id, 0);
773 __clear_bit(id, slow_work_ids);
774 spin_unlock_irq(&slow_work_queue_lock);
775
415 if (atomic_dec_and_test(&slow_work_thread_count)) 776 if (atomic_dec_and_test(&slow_work_thread_count))
416 complete_and_exit(&slow_work_last_thread_exited, 0); 777 complete_and_exit(&slow_work_last_thread_exited, 0);
417 return 0; 778 return 0;
@@ -427,21 +788,6 @@ static void slow_work_cull_timeout(unsigned long data)
427} 788}
428 789
429/* 790/*
430 * Get a reference on slow work thread starter
431 */
432static int slow_work_new_thread_get_ref(struct slow_work *work)
433{
434 return 0;
435}
436
437/*
438 * Drop a reference on slow work thread starter
439 */
440static void slow_work_new_thread_put_ref(struct slow_work *work)
441{
442}
443
444/*
445 * Start a new slow work thread 791 * Start a new slow work thread
446 */ 792 */
447static void slow_work_new_thread_execute(struct slow_work *work) 793static void slow_work_new_thread_execute(struct slow_work *work)
@@ -475,9 +821,11 @@ static void slow_work_new_thread_execute(struct slow_work *work)
475} 821}
476 822
477static const struct slow_work_ops slow_work_new_thread_ops = { 823static const struct slow_work_ops slow_work_new_thread_ops = {
478 .get_ref = slow_work_new_thread_get_ref, 824 .owner = THIS_MODULE,
479 .put_ref = slow_work_new_thread_put_ref,
480 .execute = slow_work_new_thread_execute, 825 .execute = slow_work_new_thread_execute,
826#ifdef CONFIG_SLOW_WORK_DEBUG
827 .desc = slow_work_new_thread_desc,
828#endif
481}; 829};
482 830
483/* 831/*
@@ -546,12 +894,13 @@ static int slow_work_max_threads_sysctl(struct ctl_table *table, int write,
546 894
547/** 895/**
548 * slow_work_register_user - Register a user of the facility 896 * slow_work_register_user - Register a user of the facility
897 * @module: The module about to make use of the facility
549 * 898 *
550 * Register a user of the facility, starting up the initial threads if there 899 * Register a user of the facility, starting up the initial threads if there
551 * aren't any other users at this point. This will return 0 if successful, or 900 * aren't any other users at this point. This will return 0 if successful, or
552 * an error if not. 901 * an error if not.
553 */ 902 */
554int slow_work_register_user(void) 903int slow_work_register_user(struct module *module)
555{ 904{
556 struct task_struct *p; 905 struct task_struct *p;
557 int loop; 906 int loop;
@@ -598,14 +947,81 @@ error:
598} 947}
599EXPORT_SYMBOL(slow_work_register_user); 948EXPORT_SYMBOL(slow_work_register_user);
600 949
950/*
951 * wait for all outstanding items from the calling module to complete
952 * - note that more items may be queued whilst we're waiting
953 */
954static void slow_work_wait_for_items(struct module *module)
955{
956#ifdef CONFIG_MODULES
957 DECLARE_WAITQUEUE(myself, current);
958 struct slow_work *work;
959 int loop;
960
961 mutex_lock(&slow_work_unreg_sync_lock);
962 add_wait_queue(&slow_work_unreg_wq, &myself);
963
964 for (;;) {
965 spin_lock_irq(&slow_work_queue_lock);
966
967 /* first of all, we wait for the last queued item in each list
968 * to be processed */
969 list_for_each_entry_reverse(work, &vslow_work_queue, link) {
970 if (work->owner == module) {
971 set_current_state(TASK_UNINTERRUPTIBLE);
972 slow_work_unreg_work_item = work;
973 goto do_wait;
974 }
975 }
976 list_for_each_entry_reverse(work, &slow_work_queue, link) {
977 if (work->owner == module) {
978 set_current_state(TASK_UNINTERRUPTIBLE);
979 slow_work_unreg_work_item = work;
980 goto do_wait;
981 }
982 }
983
984 /* then we wait for the items being processed to finish */
985 slow_work_unreg_module = module;
986 smp_mb();
987 for (loop = 0; loop < SLOW_WORK_THREAD_LIMIT; loop++) {
988 if (slow_work_thread_processing[loop] == module)
989 goto do_wait;
990 }
991 spin_unlock_irq(&slow_work_queue_lock);
992 break; /* okay, we're done */
993
994 do_wait:
995 spin_unlock_irq(&slow_work_queue_lock);
996 schedule();
997 slow_work_unreg_work_item = NULL;
998 slow_work_unreg_module = NULL;
999 }
1000
1001 remove_wait_queue(&slow_work_unreg_wq, &myself);
1002 mutex_unlock(&slow_work_unreg_sync_lock);
1003#endif /* CONFIG_MODULES */
1004}
1005
601/** 1006/**
602 * slow_work_unregister_user - Unregister a user of the facility 1007 * slow_work_unregister_user - Unregister a user of the facility
1008 * @module: The module whose items should be cleared
603 * 1009 *
604 * Unregister a user of the facility, killing all the threads if this was the 1010 * Unregister a user of the facility, killing all the threads if this was the
605 * last one. 1011 * last one.
1012 *
1013 * This waits for all the work items belonging to the nominated module to go
1014 * away before proceeding.
606 */ 1015 */
607void slow_work_unregister_user(void) 1016void slow_work_unregister_user(struct module *module)
608{ 1017{
1018 /* first of all, wait for all outstanding items from the calling module
1019 * to complete */
1020 if (module)
1021 slow_work_wait_for_items(module);
1022
1023 /* then we can actually go about shutting down the facility if need
1024 * be */
609 mutex_lock(&slow_work_user_lock); 1025 mutex_lock(&slow_work_user_lock);
610 1026
611 BUG_ON(slow_work_user_count <= 0); 1027 BUG_ON(slow_work_user_count <= 0);
@@ -639,6 +1055,16 @@ static int __init init_slow_work(void)
639 if (slow_work_max_max_threads < nr_cpus * 2) 1055 if (slow_work_max_max_threads < nr_cpus * 2)
640 slow_work_max_max_threads = nr_cpus * 2; 1056 slow_work_max_max_threads = nr_cpus * 2;
641#endif 1057#endif
1058#ifdef CONFIG_SLOW_WORK_DEBUG
1059 {
1060 struct dentry *dbdir;
1061
1062 dbdir = debugfs_create_dir("slow_work", NULL);
1063 if (dbdir && !IS_ERR(dbdir))
1064 debugfs_create_file("runqueue", S_IFREG | 0400, dbdir,
1065 NULL, &slow_work_runqueue_fops);
1066 }
1067#endif
642 return 0; 1068 return 0;
643} 1069}
644 1070
diff --git a/kernel/slow-work.h b/kernel/slow-work.h
new file mode 100644
index 000000000000..321f3c59d732
--- /dev/null
+++ b/kernel/slow-work.h
@@ -0,0 +1,72 @@
1/* Slow work private definitions
2 *
3 * Copyright (C) 2009 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public Licence
8 * as published by the Free Software Foundation; either version
9 * 2 of the Licence, or (at your option) any later version.
10 */
11
12#define SLOW_WORK_CULL_TIMEOUT (5 * HZ) /* cull threads 5s after running out of
13 * things to do */
14#define SLOW_WORK_OOM_TIMEOUT (5 * HZ) /* can't start new threads for 5s after
15 * OOM */
16
17#define SLOW_WORK_THREAD_LIMIT 255 /* abs maximum number of slow-work threads */
18
19/*
20 * slow-work.c
21 */
22#ifdef CONFIG_SLOW_WORK_DEBUG
23extern struct slow_work *slow_work_execs[];
24extern pid_t slow_work_pids[];
25extern rwlock_t slow_work_execs_lock;
26#endif
27
28extern struct list_head slow_work_queue;
29extern struct list_head vslow_work_queue;
30extern spinlock_t slow_work_queue_lock;
31
32/*
33 * slow-work-debugfs.c
34 */
35#ifdef CONFIG_SLOW_WORK_DEBUG
36extern const struct file_operations slow_work_runqueue_fops;
37
38extern void slow_work_new_thread_desc(struct slow_work *, struct seq_file *);
39#endif
40
41/*
42 * Helper functions
43 */
44static inline void slow_work_set_thread_pid(int id, pid_t pid)
45{
46#ifdef CONFIG_SLOW_WORK_PROC
47 slow_work_pids[id] = pid;
48#endif
49}
50
51static inline void slow_work_mark_time(struct slow_work *work)
52{
53#ifdef CONFIG_SLOW_WORK_PROC
54 work->mark = CURRENT_TIME;
55#endif
56}
57
58static inline void slow_work_begin_exec(int id, struct slow_work *work)
59{
60#ifdef CONFIG_SLOW_WORK_PROC
61 slow_work_execs[id] = work;
62#endif
63}
64
65static inline void slow_work_end_exec(int id, struct slow_work *work)
66{
67#ifdef CONFIG_SLOW_WORK_PROC
68 write_lock(&slow_work_execs_lock);
69 slow_work_execs[id] = NULL;
70 write_unlock(&slow_work_execs_lock);
71#endif
72}
diff --git a/kernel/user.c b/kernel/user.c
index 2c000e7132ac..46d0165ca70c 100644
--- a/kernel/user.c
+++ b/kernel/user.c
@@ -330,9 +330,9 @@ done:
330 */ 330 */
331static void free_user(struct user_struct *up, unsigned long flags) 331static void free_user(struct user_struct *up, unsigned long flags)
332{ 332{
333 spin_unlock_irqrestore(&uidhash_lock, flags);
334 INIT_DELAYED_WORK(&up->work, cleanup_user_struct); 333 INIT_DELAYED_WORK(&up->work, cleanup_user_struct);
335 schedule_delayed_work(&up->work, msecs_to_jiffies(1000)); 334 schedule_delayed_work(&up->work, msecs_to_jiffies(1000));
335 spin_unlock_irqrestore(&uidhash_lock, flags);
336} 336}
337 337
338#else /* CONFIG_USER_SCHED && CONFIG_SYSFS */ 338#else /* CONFIG_USER_SCHED && CONFIG_SYSFS */
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 12328147132c..67e526b6ae81 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -692,31 +692,29 @@ int schedule_on_each_cpu(work_func_t func)
692 if (!works) 692 if (!works)
693 return -ENOMEM; 693 return -ENOMEM;
694 694
695 get_online_cpus();
696
695 /* 697 /*
696 * when running in keventd don't schedule a work item on itself. 698 * When running in keventd don't schedule a work item on
697 * Can just call directly because the work queue is already bound. 699 * itself. Can just call directly because the work queue is
698 * This also is faster. 700 * already bound. This also is faster.
699 * Make this a generic parameter for other workqueues?
700 */ 701 */
701 if (current_is_keventd()) { 702 if (current_is_keventd())
702 orig = raw_smp_processor_id(); 703 orig = raw_smp_processor_id();
703 INIT_WORK(per_cpu_ptr(works, orig), func);
704 func(per_cpu_ptr(works, orig));
705 }
706 704
707 get_online_cpus();
708 for_each_online_cpu(cpu) { 705 for_each_online_cpu(cpu) {
709 struct work_struct *work = per_cpu_ptr(works, cpu); 706 struct work_struct *work = per_cpu_ptr(works, cpu);
710 707
711 if (cpu == orig)
712 continue;
713 INIT_WORK(work, func); 708 INIT_WORK(work, func);
714 schedule_work_on(cpu, work);
715 }
716 for_each_online_cpu(cpu) {
717 if (cpu != orig) 709 if (cpu != orig)
718 flush_work(per_cpu_ptr(works, cpu)); 710 schedule_work_on(cpu, work);
719 } 711 }
712 if (orig >= 0)
713 func(per_cpu_ptr(works, orig));
714
715 for_each_online_cpu(cpu)
716 flush_work(per_cpu_ptr(works, cpu));
717
720 put_online_cpus(); 718 put_online_cpus();
721 free_percpu(works); 719 free_percpu(works);
722 return 0; 720 return 0;
diff --git a/lib/radix-tree.c b/lib/radix-tree.c
index 23abbd93cae1..92cdd9936e3d 100644
--- a/lib/radix-tree.c
+++ b/lib/radix-tree.c
@@ -200,6 +200,9 @@ radix_tree_node_free(struct radix_tree_node *node)
200 * ensure that the addition of a single element in the tree cannot fail. On 200 * ensure that the addition of a single element in the tree cannot fail. On
201 * success, return zero, with preemption disabled. On error, return -ENOMEM 201 * success, return zero, with preemption disabled. On error, return -ENOMEM
202 * with preemption not disabled. 202 * with preemption not disabled.
203 *
204 * To make use of this facility, the radix tree must be initialised without
205 * __GFP_WAIT being passed to INIT_RADIX_TREE().
203 */ 206 */
204int radix_tree_preload(gfp_t gfp_mask) 207int radix_tree_preload(gfp_t gfp_mask)
205{ 208{
@@ -543,7 +546,6 @@ out:
543} 546}
544EXPORT_SYMBOL(radix_tree_tag_clear); 547EXPORT_SYMBOL(radix_tree_tag_clear);
545 548
546#ifndef __KERNEL__ /* Only the test harness uses this at present */
547/** 549/**
548 * radix_tree_tag_get - get a tag on a radix tree node 550 * radix_tree_tag_get - get a tag on a radix tree node
549 * @root: radix tree root 551 * @root: radix tree root
@@ -606,7 +608,6 @@ int radix_tree_tag_get(struct radix_tree_root *root,
606 } 608 }
607} 609}
608EXPORT_SYMBOL(radix_tree_tag_get); 610EXPORT_SYMBOL(radix_tree_tag_get);
609#endif
610 611
611/** 612/**
612 * radix_tree_next_hole - find the next hole (not-present entry) 613 * radix_tree_next_hole - find the next hole (not-present entry)
diff --git a/lib/string.c b/lib/string.c
index b19b87af65a3..e96421ab9a9a 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -246,13 +246,17 @@ EXPORT_SYMBOL(strlcat);
246#undef strcmp 246#undef strcmp
247int strcmp(const char *cs, const char *ct) 247int strcmp(const char *cs, const char *ct)
248{ 248{
249 signed char __res; 249 unsigned char c1, c2;
250 250
251 while (1) { 251 while (1) {
252 if ((__res = *cs - *ct++) != 0 || !*cs++) 252 c1 = *cs++;
253 c2 = *ct++;
254 if (c1 != c2)
255 return c1 < c2 ? -1 : 1;
256 if (!c1)
253 break; 257 break;
254 } 258 }
255 return __res; 259 return 0;
256} 260}
257EXPORT_SYMBOL(strcmp); 261EXPORT_SYMBOL(strcmp);
258#endif 262#endif
@@ -266,14 +270,18 @@ EXPORT_SYMBOL(strcmp);
266 */ 270 */
267int strncmp(const char *cs, const char *ct, size_t count) 271int strncmp(const char *cs, const char *ct, size_t count)
268{ 272{
269 signed char __res = 0; 273 unsigned char c1, c2;
270 274
271 while (count) { 275 while (count) {
272 if ((__res = *cs - *ct++) != 0 || !*cs++) 276 c1 = *cs++;
277 c2 = *ct++;
278 if (c1 != c2)
279 return c1 < c2 ? -1 : 1;
280 if (!c1)
273 break; 281 break;
274 count--; 282 count--;
275 } 283 }
276 return __res; 284 return 0;
277} 285}
278EXPORT_SYMBOL(strncmp); 286EXPORT_SYMBOL(strncmp);
279#endif 287#endif
diff --git a/mm/Kconfig b/mm/Kconfig
index fd3386242cf0..44cf6f0a3a6d 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -128,12 +128,9 @@ config SPARSEMEM_VMEMMAP
128config MEMORY_HOTPLUG 128config MEMORY_HOTPLUG
129 bool "Allow for memory hot-add" 129 bool "Allow for memory hot-add"
130 depends on SPARSEMEM || X86_64_ACPI_NUMA 130 depends on SPARSEMEM || X86_64_ACPI_NUMA
131 depends on HOTPLUG && !(HIBERNATION && !S390) && ARCH_ENABLE_MEMORY_HOTPLUG 131 depends on HOTPLUG && ARCH_ENABLE_MEMORY_HOTPLUG
132 depends on (IA64 || X86 || PPC_BOOK3S_64 || SUPERH || S390) 132 depends on (IA64 || X86 || PPC_BOOK3S_64 || SUPERH || S390)
133 133
134comment "Memory hotplug is currently incompatible with Software Suspend"
135 depends on SPARSEMEM && HOTPLUG && HIBERNATION && !S390
136
137config MEMORY_HOTPLUG_SPARSE 134config MEMORY_HOTPLUG_SPARSE
138 def_bool y 135 def_bool y
139 depends on SPARSEMEM && MEMORY_HOTPLUG 136 depends on SPARSEMEM && MEMORY_HOTPLUG
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 11aee09dd2a6..67a33a5a1a93 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -604,10 +604,14 @@ static void bdi_wb_shutdown(struct backing_dev_info *bdi)
604 604
605 /* 605 /*
606 * Finally, kill the kernel threads. We don't need to be RCU 606 * Finally, kill the kernel threads. We don't need to be RCU
607 * safe anymore, since the bdi is gone from visibility. 607 * safe anymore, since the bdi is gone from visibility. Force
608 * unfreeze of the thread before calling kthread_stop(), otherwise
609 * it would never exet if it is currently stuck in the refrigerator.
608 */ 610 */
609 list_for_each_entry(wb, &bdi->wb_list, list) 611 list_for_each_entry(wb, &bdi->wb_list, list) {
612 wb->task->flags &= ~PF_FROZEN;
610 kthread_stop(wb->task); 613 kthread_stop(wb->task);
614 }
611} 615}
612 616
613/* 617/*
diff --git a/mm/highmem.c b/mm/highmem.c
index 25878cc49daa..9c1e627f282e 100644
--- a/mm/highmem.c
+++ b/mm/highmem.c
@@ -426,16 +426,21 @@ void __init page_address_init(void)
426 426
427void debug_kmap_atomic(enum km_type type) 427void debug_kmap_atomic(enum km_type type)
428{ 428{
429 static unsigned warn_count = 10; 429 static int warn_count = 10;
430 430
431 if (unlikely(warn_count == 0)) 431 if (unlikely(warn_count < 0))
432 return; 432 return;
433 433
434 if (unlikely(in_interrupt())) { 434 if (unlikely(in_interrupt())) {
435 if (in_irq()) { 435 if (in_nmi()) {
436 if (type != KM_NMI && type != KM_NMI_PTE) {
437 WARN_ON(1);
438 warn_count--;
439 }
440 } else if (in_irq()) {
436 if (type != KM_IRQ0 && type != KM_IRQ1 && 441 if (type != KM_IRQ0 && type != KM_IRQ1 &&
437 type != KM_BIO_SRC_IRQ && type != KM_BIO_DST_IRQ && 442 type != KM_BIO_SRC_IRQ && type != KM_BIO_DST_IRQ &&
438 type != KM_BOUNCE_READ) { 443 type != KM_BOUNCE_READ && type != KM_IRQ_PTE) {
439 WARN_ON(1); 444 WARN_ON(1);
440 warn_count--; 445 warn_count--;
441 } 446 }
@@ -452,7 +457,9 @@ void debug_kmap_atomic(enum km_type type)
452 } 457 }
453 458
454 if (type == KM_IRQ0 || type == KM_IRQ1 || type == KM_BOUNCE_READ || 459 if (type == KM_IRQ0 || type == KM_IRQ1 || type == KM_BOUNCE_READ ||
455 type == KM_BIO_SRC_IRQ || type == KM_BIO_DST_IRQ) { 460 type == KM_BIO_SRC_IRQ || type == KM_BIO_DST_IRQ ||
461 type == KM_IRQ_PTE || type == KM_NMI ||
462 type == KM_NMI_PTE ) {
456 if (!irqs_disabled()) { 463 if (!irqs_disabled()) {
457 WARN_ON(1); 464 WARN_ON(1);
458 warn_count--; 465 warn_count--;
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index 821dee596377..2047465cd27c 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -26,6 +26,7 @@
26#include <linux/migrate.h> 26#include <linux/migrate.h>
27#include <linux/page-isolation.h> 27#include <linux/page-isolation.h>
28#include <linux/pfn.h> 28#include <linux/pfn.h>
29#include <linux/suspend.h>
29 30
30#include <asm/tlbflush.h> 31#include <asm/tlbflush.h>
31 32
@@ -447,7 +448,8 @@ int online_pages(unsigned long pfn, unsigned long nr_pages)
447} 448}
448#endif /* CONFIG_MEMORY_HOTPLUG_SPARSE */ 449#endif /* CONFIG_MEMORY_HOTPLUG_SPARSE */
449 450
450static pg_data_t *hotadd_new_pgdat(int nid, u64 start) 451/* we are OK calling __meminit stuff here - we have CONFIG_MEMORY_HOTPLUG */
452static pg_data_t __ref *hotadd_new_pgdat(int nid, u64 start)
451{ 453{
452 struct pglist_data *pgdat; 454 struct pglist_data *pgdat;
453 unsigned long zones_size[MAX_NR_ZONES] = {0}; 455 unsigned long zones_size[MAX_NR_ZONES] = {0};
@@ -484,14 +486,18 @@ int __ref add_memory(int nid, u64 start, u64 size)
484 struct resource *res; 486 struct resource *res;
485 int ret; 487 int ret;
486 488
489 lock_system_sleep();
490
487 res = register_memory_resource(start, size); 491 res = register_memory_resource(start, size);
492 ret = -EEXIST;
488 if (!res) 493 if (!res)
489 return -EEXIST; 494 goto out;
490 495
491 if (!node_online(nid)) { 496 if (!node_online(nid)) {
492 pgdat = hotadd_new_pgdat(nid, start); 497 pgdat = hotadd_new_pgdat(nid, start);
498 ret = -ENOMEM;
493 if (!pgdat) 499 if (!pgdat)
494 return -ENOMEM; 500 goto out;
495 new_pgdat = 1; 501 new_pgdat = 1;
496 } 502 }
497 503
@@ -514,7 +520,8 @@ int __ref add_memory(int nid, u64 start, u64 size)
514 BUG_ON(ret); 520 BUG_ON(ret);
515 } 521 }
516 522
517 return ret; 523 goto out;
524
518error: 525error:
519 /* rollback pgdat allocation and others */ 526 /* rollback pgdat allocation and others */
520 if (new_pgdat) 527 if (new_pgdat)
@@ -522,6 +529,8 @@ error:
522 if (res) 529 if (res)
523 release_memory_resource(res); 530 release_memory_resource(res);
524 531
532out:
533 unlock_system_sleep();
525 return ret; 534 return ret;
526} 535}
527EXPORT_SYMBOL_GPL(add_memory); 536EXPORT_SYMBOL_GPL(add_memory);
@@ -758,6 +767,8 @@ int offline_pages(unsigned long start_pfn,
758 if (!test_pages_in_a_zone(start_pfn, end_pfn)) 767 if (!test_pages_in_a_zone(start_pfn, end_pfn))
759 return -EINVAL; 768 return -EINVAL;
760 769
770 lock_system_sleep();
771
761 zone = page_zone(pfn_to_page(start_pfn)); 772 zone = page_zone(pfn_to_page(start_pfn));
762 node = zone_to_nid(zone); 773 node = zone_to_nid(zone);
763 nr_pages = end_pfn - start_pfn; 774 nr_pages = end_pfn - start_pfn;
@@ -765,7 +776,7 @@ int offline_pages(unsigned long start_pfn,
765 /* set above range as isolated */ 776 /* set above range as isolated */
766 ret = start_isolate_page_range(start_pfn, end_pfn); 777 ret = start_isolate_page_range(start_pfn, end_pfn);
767 if (ret) 778 if (ret)
768 return ret; 779 goto out;
769 780
770 arg.start_pfn = start_pfn; 781 arg.start_pfn = start_pfn;
771 arg.nr_pages = nr_pages; 782 arg.nr_pages = nr_pages;
@@ -843,6 +854,7 @@ repeat:
843 writeback_set_ratelimit(); 854 writeback_set_ratelimit();
844 855
845 memory_notify(MEM_OFFLINE, &arg); 856 memory_notify(MEM_OFFLINE, &arg);
857 unlock_system_sleep();
846 return 0; 858 return 0;
847 859
848failed_removal: 860failed_removal:
@@ -852,6 +864,8 @@ failed_removal:
852 /* pushback to free area */ 864 /* pushback to free area */
853 undo_isolate_page_range(start_pfn, end_pfn); 865 undo_isolate_page_range(start_pfn, end_pfn);
854 866
867out:
868 unlock_system_sleep();
855 return ret; 869 return ret;
856} 870}
857 871
diff --git a/mm/migrate.c b/mm/migrate.c
index 1a4bf4813780..7dbcb22316d2 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -602,7 +602,7 @@ static int unmap_and_move(new_page_t get_new_page, unsigned long private,
602 struct page *newpage = get_new_page(page, private, &result); 602 struct page *newpage = get_new_page(page, private, &result);
603 int rcu_locked = 0; 603 int rcu_locked = 0;
604 int charge = 0; 604 int charge = 0;
605 struct mem_cgroup *mem; 605 struct mem_cgroup *mem = NULL;
606 606
607 if (!newpage) 607 if (!newpage)
608 return -ENOMEM; 608 return -ENOMEM;
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index cdcedf661616..2bc2ac63f41e 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1769,7 +1769,7 @@ gfp_to_alloc_flags(gfp_t gfp_mask)
1769 * See also cpuset_zone_allowed() comment in kernel/cpuset.c. 1769 * See also cpuset_zone_allowed() comment in kernel/cpuset.c.
1770 */ 1770 */
1771 alloc_flags &= ~ALLOC_CPUSET; 1771 alloc_flags &= ~ALLOC_CPUSET;
1772 } else if (unlikely(rt_task(p))) 1772 } else if (unlikely(rt_task(p)) && !in_interrupt())
1773 alloc_flags |= ALLOC_HARDER; 1773 alloc_flags |= ALLOC_HARDER;
1774 1774
1775 if (likely(!(gfp_mask & __GFP_NOMEMALLOC))) { 1775 if (likely(!(gfp_mask & __GFP_NOMEMALLOC))) {
@@ -1817,9 +1817,9 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
1817 if (NUMA_BUILD && (gfp_mask & GFP_THISNODE) == GFP_THISNODE) 1817 if (NUMA_BUILD && (gfp_mask & GFP_THISNODE) == GFP_THISNODE)
1818 goto nopage; 1818 goto nopage;
1819 1819
1820restart:
1820 wake_all_kswapd(order, zonelist, high_zoneidx); 1821 wake_all_kswapd(order, zonelist, high_zoneidx);
1821 1822
1822restart:
1823 /* 1823 /*
1824 * OK, we're below the kswapd watermark and have kicked background 1824 * OK, we're below the kswapd watermark and have kicked background
1825 * reclaim. Now things get more complex, so set up alloc_flags according 1825 * reclaim. Now things get more complex, so set up alloc_flags according
diff --git a/mm/percpu.c b/mm/percpu.c
index d90797160c2a..5adfc268b408 100644
--- a/mm/percpu.c
+++ b/mm/percpu.c
@@ -355,62 +355,86 @@ static struct pcpu_chunk *pcpu_chunk_addr_search(void *addr)
355} 355}
356 356
357/** 357/**
358 * pcpu_extend_area_map - extend area map for allocation 358 * pcpu_need_to_extend - determine whether chunk area map needs to be extended
359 * @chunk: target chunk 359 * @chunk: chunk of interest
360 * 360 *
361 * Extend area map of @chunk so that it can accomodate an allocation. 361 * Determine whether area map of @chunk needs to be extended to
362 * A single allocation can split an area into three areas, so this 362 * accomodate a new allocation.
363 * function makes sure that @chunk->map has at least two extra slots.
364 * 363 *
365 * CONTEXT: 364 * CONTEXT:
366 * pcpu_alloc_mutex, pcpu_lock. pcpu_lock is released and reacquired 365 * pcpu_lock.
367 * if area map is extended.
368 * 366 *
369 * RETURNS: 367 * RETURNS:
370 * 0 if noop, 1 if successfully extended, -errno on failure. 368 * New target map allocation length if extension is necessary, 0
369 * otherwise.
371 */ 370 */
372static int pcpu_extend_area_map(struct pcpu_chunk *chunk, unsigned long *flags) 371static int pcpu_need_to_extend(struct pcpu_chunk *chunk)
373{ 372{
374 int new_alloc; 373 int new_alloc;
375 int *new;
376 size_t size;
377 374
378 /* has enough? */
379 if (chunk->map_alloc >= chunk->map_used + 2) 375 if (chunk->map_alloc >= chunk->map_used + 2)
380 return 0; 376 return 0;
381 377
382 spin_unlock_irqrestore(&pcpu_lock, *flags);
383
384 new_alloc = PCPU_DFL_MAP_ALLOC; 378 new_alloc = PCPU_DFL_MAP_ALLOC;
385 while (new_alloc < chunk->map_used + 2) 379 while (new_alloc < chunk->map_used + 2)
386 new_alloc *= 2; 380 new_alloc *= 2;
387 381
388 new = pcpu_mem_alloc(new_alloc * sizeof(new[0])); 382 return new_alloc;
389 if (!new) { 383}
390 spin_lock_irqsave(&pcpu_lock, *flags); 384
385/**
386 * pcpu_extend_area_map - extend area map of a chunk
387 * @chunk: chunk of interest
388 * @new_alloc: new target allocation length of the area map
389 *
390 * Extend area map of @chunk to have @new_alloc entries.
391 *
392 * CONTEXT:
393 * Does GFP_KERNEL allocation. Grabs and releases pcpu_lock.
394 *
395 * RETURNS:
396 * 0 on success, -errno on failure.
397 */
398static int pcpu_extend_area_map(struct pcpu_chunk *chunk, int new_alloc)
399{
400 int *old = NULL, *new = NULL;
401 size_t old_size = 0, new_size = new_alloc * sizeof(new[0]);
402 unsigned long flags;
403
404 new = pcpu_mem_alloc(new_size);
405 if (!new)
391 return -ENOMEM; 406 return -ENOMEM;
392 }
393 407
394 /* 408 /* acquire pcpu_lock and switch to new area map */
395 * Acquire pcpu_lock and switch to new area map. Only free 409 spin_lock_irqsave(&pcpu_lock, flags);
396 * could have happened inbetween, so map_used couldn't have 410
397 * grown. 411 if (new_alloc <= chunk->map_alloc)
398 */ 412 goto out_unlock;
399 spin_lock_irqsave(&pcpu_lock, *flags);
400 BUG_ON(new_alloc < chunk->map_used + 2);
401 413
402 size = chunk->map_alloc * sizeof(chunk->map[0]); 414 old_size = chunk->map_alloc * sizeof(chunk->map[0]);
403 memcpy(new, chunk->map, size); 415 memcpy(new, chunk->map, old_size);
404 416
405 /* 417 /*
406 * map_alloc < PCPU_DFL_MAP_ALLOC indicates that the chunk is 418 * map_alloc < PCPU_DFL_MAP_ALLOC indicates that the chunk is
407 * one of the first chunks and still using static map. 419 * one of the first chunks and still using static map.
408 */ 420 */
409 if (chunk->map_alloc >= PCPU_DFL_MAP_ALLOC) 421 if (chunk->map_alloc >= PCPU_DFL_MAP_ALLOC)
410 pcpu_mem_free(chunk->map, size); 422 old = chunk->map;
411 423
412 chunk->map_alloc = new_alloc; 424 chunk->map_alloc = new_alloc;
413 chunk->map = new; 425 chunk->map = new;
426 new = NULL;
427
428out_unlock:
429 spin_unlock_irqrestore(&pcpu_lock, flags);
430
431 /*
432 * pcpu_mem_free() might end up calling vfree() which uses
433 * IRQ-unsafe lock and thus can't be called under pcpu_lock.
434 */
435 pcpu_mem_free(old, old_size);
436 pcpu_mem_free(new, new_size);
437
414 return 0; 438 return 0;
415} 439}
416 440
@@ -1049,7 +1073,7 @@ static void *pcpu_alloc(size_t size, size_t align, bool reserved)
1049 static int warn_limit = 10; 1073 static int warn_limit = 10;
1050 struct pcpu_chunk *chunk; 1074 struct pcpu_chunk *chunk;
1051 const char *err; 1075 const char *err;
1052 int slot, off; 1076 int slot, off, new_alloc;
1053 unsigned long flags; 1077 unsigned long flags;
1054 1078
1055 if (unlikely(!size || size > PCPU_MIN_UNIT_SIZE || align > PAGE_SIZE)) { 1079 if (unlikely(!size || size > PCPU_MIN_UNIT_SIZE || align > PAGE_SIZE)) {
@@ -1064,14 +1088,25 @@ static void *pcpu_alloc(size_t size, size_t align, bool reserved)
1064 /* serve reserved allocations from the reserved chunk if available */ 1088 /* serve reserved allocations from the reserved chunk if available */
1065 if (reserved && pcpu_reserved_chunk) { 1089 if (reserved && pcpu_reserved_chunk) {
1066 chunk = pcpu_reserved_chunk; 1090 chunk = pcpu_reserved_chunk;
1067 if (size > chunk->contig_hint || 1091
1068 pcpu_extend_area_map(chunk, &flags) < 0) { 1092 if (size > chunk->contig_hint) {
1069 err = "failed to extend area map of reserved chunk"; 1093 err = "alloc from reserved chunk failed";
1070 goto fail_unlock; 1094 goto fail_unlock;
1071 } 1095 }
1096
1097 while ((new_alloc = pcpu_need_to_extend(chunk))) {
1098 spin_unlock_irqrestore(&pcpu_lock, flags);
1099 if (pcpu_extend_area_map(chunk, new_alloc) < 0) {
1100 err = "failed to extend area map of reserved chunk";
1101 goto fail_unlock_mutex;
1102 }
1103 spin_lock_irqsave(&pcpu_lock, flags);
1104 }
1105
1072 off = pcpu_alloc_area(chunk, size, align); 1106 off = pcpu_alloc_area(chunk, size, align);
1073 if (off >= 0) 1107 if (off >= 0)
1074 goto area_found; 1108 goto area_found;
1109
1075 err = "alloc from reserved chunk failed"; 1110 err = "alloc from reserved chunk failed";
1076 goto fail_unlock; 1111 goto fail_unlock;
1077 } 1112 }
@@ -1083,14 +1118,20 @@ restart:
1083 if (size > chunk->contig_hint) 1118 if (size > chunk->contig_hint)
1084 continue; 1119 continue;
1085 1120
1086 switch (pcpu_extend_area_map(chunk, &flags)) { 1121 new_alloc = pcpu_need_to_extend(chunk);
1087 case 0: 1122 if (new_alloc) {
1088 break; 1123 spin_unlock_irqrestore(&pcpu_lock, flags);
1089 case 1: 1124 if (pcpu_extend_area_map(chunk,
1090 goto restart; /* pcpu_lock dropped, restart */ 1125 new_alloc) < 0) {
1091 default: 1126 err = "failed to extend area map";
1092 err = "failed to extend area map"; 1127 goto fail_unlock_mutex;
1093 goto fail_unlock; 1128 }
1129 spin_lock_irqsave(&pcpu_lock, flags);
1130 /*
1131 * pcpu_lock has been dropped, need to
1132 * restart cpu_slot list walking.
1133 */
1134 goto restart;
1094 } 1135 }
1095 1136
1096 off = pcpu_alloc_area(chunk, size, align); 1137 off = pcpu_alloc_area(chunk, size, align);
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 8836575f9d79..a29c5ab5815c 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -281,8 +281,11 @@ out_uninit_applicant:
281 if (ngrp) 281 if (ngrp)
282 vlan_gvrp_uninit_applicant(real_dev); 282 vlan_gvrp_uninit_applicant(real_dev);
283out_free_group: 283out_free_group:
284 if (ngrp) 284 if (ngrp) {
285 vlan_group_free(ngrp); 285 hlist_del_rcu(&ngrp->hlist);
286 /* Free the group, after all cpu's are done. */
287 call_rcu(&ngrp->rcu, vlan_rcu_free);
288 }
286 return err; 289 return err;
287} 290}
288 291
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index a9750984f772..b7c4224f4e7d 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -211,6 +211,7 @@ struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst)
211 conn->type = type; 211 conn->type = type;
212 conn->mode = HCI_CM_ACTIVE; 212 conn->mode = HCI_CM_ACTIVE;
213 conn->state = BT_OPEN; 213 conn->state = BT_OPEN;
214 conn->auth_type = HCI_AT_GENERAL_BONDING;
214 215
215 conn->power_save = 1; 216 conn->power_save = 1;
216 conn->disc_timeout = HCI_DISCONN_TIMEOUT; 217 conn->disc_timeout = HCI_DISCONN_TIMEOUT;
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
index 77e9fb130adb..947f8bbb4bb3 100644
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
@@ -2205,7 +2205,7 @@ static int l2cap_build_conf_req(struct sock *sk, void *data)
2205{ 2205{
2206 struct l2cap_pinfo *pi = l2cap_pi(sk); 2206 struct l2cap_pinfo *pi = l2cap_pi(sk);
2207 struct l2cap_conf_req *req = data; 2207 struct l2cap_conf_req *req = data;
2208 struct l2cap_conf_rfc rfc = { .mode = L2CAP_MODE_ERTM }; 2208 struct l2cap_conf_rfc rfc = { .mode = L2CAP_MODE_BASIC };
2209 void *ptr = req->data; 2209 void *ptr = req->data;
2210 2210
2211 BT_DBG("sk %p", sk); 2211 BT_DBG("sk %p", sk);
@@ -2394,6 +2394,10 @@ done:
2394 rfc.monitor_timeout = L2CAP_DEFAULT_MONITOR_TO; 2394 rfc.monitor_timeout = L2CAP_DEFAULT_MONITOR_TO;
2395 2395
2396 pi->conf_state |= L2CAP_CONF_MODE_DONE; 2396 pi->conf_state |= L2CAP_CONF_MODE_DONE;
2397
2398 l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC,
2399 sizeof(rfc), (unsigned long) &rfc);
2400
2397 break; 2401 break;
2398 2402
2399 case L2CAP_MODE_STREAMING: 2403 case L2CAP_MODE_STREAMING:
@@ -2401,6 +2405,10 @@ done:
2401 pi->max_pdu_size = rfc.max_pdu_size; 2405 pi->max_pdu_size = rfc.max_pdu_size;
2402 2406
2403 pi->conf_state |= L2CAP_CONF_MODE_DONE; 2407 pi->conf_state |= L2CAP_CONF_MODE_DONE;
2408
2409 l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC,
2410 sizeof(rfc), (unsigned long) &rfc);
2411
2404 break; 2412 break;
2405 2413
2406 default: 2414 default:
@@ -2410,9 +2418,6 @@ done:
2410 rfc.mode = pi->mode; 2418 rfc.mode = pi->mode;
2411 } 2419 }
2412 2420
2413 l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC,
2414 sizeof(rfc), (unsigned long) &rfc);
2415
2416 if (result == L2CAP_CONF_SUCCESS) 2421 if (result == L2CAP_CONF_SUCCESS)
2417 pi->conf_state |= L2CAP_CONF_OUTPUT_DONE; 2422 pi->conf_state |= L2CAP_CONF_OUTPUT_DONE;
2418 } 2423 }
diff --git a/net/core/dev.c b/net/core/dev.c
index b8f74cfb1bfd..fe10551d3671 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -942,14 +942,15 @@ rollback:
942 ret = notifier_to_errno(ret); 942 ret = notifier_to_errno(ret);
943 943
944 if (ret) { 944 if (ret) {
945 if (err) { 945 /* err >= 0 after dev_alloc_name() or stores the first errno */
946 printk(KERN_ERR 946 if (err >= 0) {
947 "%s: name change rollback failed: %d.\n",
948 dev->name, ret);
949 } else {
950 err = ret; 947 err = ret;
951 memcpy(dev->name, oldname, IFNAMSIZ); 948 memcpy(dev->name, oldname, IFNAMSIZ);
952 goto rollback; 949 goto rollback;
950 } else {
951 printk(KERN_ERR
952 "%s: name change rollback failed: %d.\n",
953 dev->name, ret);
953 } 954 }
954 } 955 }
955 956
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 6eb8d47cbf3a..6e79e96cb4f2 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -363,6 +363,7 @@ struct pktgen_dev {
363 * device name (not when the inject is 363 * device name (not when the inject is
364 * started as it used to do.) 364 * started as it used to do.)
365 */ 365 */
366 char odevname[32];
366 struct flow_state *flows; 367 struct flow_state *flows;
367 unsigned cflows; /* Concurrent flows (config) */ 368 unsigned cflows; /* Concurrent flows (config) */
368 unsigned lflow; /* Flow length (config) */ 369 unsigned lflow; /* Flow length (config) */
@@ -426,7 +427,7 @@ static const char version[] =
426static int pktgen_remove_device(struct pktgen_thread *t, struct pktgen_dev *i); 427static int pktgen_remove_device(struct pktgen_thread *t, struct pktgen_dev *i);
427static int pktgen_add_device(struct pktgen_thread *t, const char *ifname); 428static int pktgen_add_device(struct pktgen_thread *t, const char *ifname);
428static struct pktgen_dev *pktgen_find_dev(struct pktgen_thread *t, 429static struct pktgen_dev *pktgen_find_dev(struct pktgen_thread *t,
429 const char *ifname); 430 const char *ifname, bool exact);
430static int pktgen_device_event(struct notifier_block *, unsigned long, void *); 431static int pktgen_device_event(struct notifier_block *, unsigned long, void *);
431static void pktgen_run_all_threads(void); 432static void pktgen_run_all_threads(void);
432static void pktgen_reset_all_threads(void); 433static void pktgen_reset_all_threads(void);
@@ -528,7 +529,7 @@ static int pktgen_if_show(struct seq_file *seq, void *v)
528 seq_printf(seq, 529 seq_printf(seq,
529 " frags: %d delay: %llu clone_skb: %d ifname: %s\n", 530 " frags: %d delay: %llu clone_skb: %d ifname: %s\n",
530 pkt_dev->nfrags, (unsigned long long) pkt_dev->delay, 531 pkt_dev->nfrags, (unsigned long long) pkt_dev->delay,
531 pkt_dev->clone_skb, pkt_dev->odev->name); 532 pkt_dev->clone_skb, pkt_dev->odevname);
532 533
533 seq_printf(seq, " flows: %u flowlen: %u\n", pkt_dev->cflows, 534 seq_printf(seq, " flows: %u flowlen: %u\n", pkt_dev->cflows,
534 pkt_dev->lflow); 535 pkt_dev->lflow);
@@ -1688,13 +1689,13 @@ static int pktgen_thread_show(struct seq_file *seq, void *v)
1688 if_lock(t); 1689 if_lock(t);
1689 list_for_each_entry(pkt_dev, &t->if_list, list) 1690 list_for_each_entry(pkt_dev, &t->if_list, list)
1690 if (pkt_dev->running) 1691 if (pkt_dev->running)
1691 seq_printf(seq, "%s ", pkt_dev->odev->name); 1692 seq_printf(seq, "%s ", pkt_dev->odevname);
1692 1693
1693 seq_printf(seq, "\nStopped: "); 1694 seq_printf(seq, "\nStopped: ");
1694 1695
1695 list_for_each_entry(pkt_dev, &t->if_list, list) 1696 list_for_each_entry(pkt_dev, &t->if_list, list)
1696 if (!pkt_dev->running) 1697 if (!pkt_dev->running)
1697 seq_printf(seq, "%s ", pkt_dev->odev->name); 1698 seq_printf(seq, "%s ", pkt_dev->odevname);
1698 1699
1699 if (t->result[0]) 1700 if (t->result[0])
1700 seq_printf(seq, "\nResult: %s\n", t->result); 1701 seq_printf(seq, "\nResult: %s\n", t->result);
@@ -1817,9 +1818,10 @@ static struct pktgen_dev *__pktgen_NN_threads(const char *ifname, int remove)
1817{ 1818{
1818 struct pktgen_thread *t; 1819 struct pktgen_thread *t;
1819 struct pktgen_dev *pkt_dev = NULL; 1820 struct pktgen_dev *pkt_dev = NULL;
1821 bool exact = (remove == FIND);
1820 1822
1821 list_for_each_entry(t, &pktgen_threads, th_list) { 1823 list_for_each_entry(t, &pktgen_threads, th_list) {
1822 pkt_dev = pktgen_find_dev(t, ifname); 1824 pkt_dev = pktgen_find_dev(t, ifname, exact);
1823 if (pkt_dev) { 1825 if (pkt_dev) {
1824 if (remove) { 1826 if (remove) {
1825 if_lock(t); 1827 if_lock(t);
@@ -1994,7 +1996,7 @@ static void pktgen_setup_inject(struct pktgen_dev *pkt_dev)
1994 "queue_map_min (zero-based) (%d) exceeds valid range " 1996 "queue_map_min (zero-based) (%d) exceeds valid range "
1995 "[0 - %d] for (%d) queues on %s, resetting\n", 1997 "[0 - %d] for (%d) queues on %s, resetting\n",
1996 pkt_dev->queue_map_min, (ntxq ?: 1) - 1, ntxq, 1998 pkt_dev->queue_map_min, (ntxq ?: 1) - 1, ntxq,
1997 pkt_dev->odev->name); 1999 pkt_dev->odevname);
1998 pkt_dev->queue_map_min = ntxq - 1; 2000 pkt_dev->queue_map_min = ntxq - 1;
1999 } 2001 }
2000 if (pkt_dev->queue_map_max >= ntxq) { 2002 if (pkt_dev->queue_map_max >= ntxq) {
@@ -2002,7 +2004,7 @@ static void pktgen_setup_inject(struct pktgen_dev *pkt_dev)
2002 "queue_map_max (zero-based) (%d) exceeds valid range " 2004 "queue_map_max (zero-based) (%d) exceeds valid range "
2003 "[0 - %d] for (%d) queues on %s, resetting\n", 2005 "[0 - %d] for (%d) queues on %s, resetting\n",
2004 pkt_dev->queue_map_max, (ntxq ?: 1) - 1, ntxq, 2006 pkt_dev->queue_map_max, (ntxq ?: 1) - 1, ntxq,
2005 pkt_dev->odev->name); 2007 pkt_dev->odevname);
2006 pkt_dev->queue_map_max = ntxq - 1; 2008 pkt_dev->queue_map_max = ntxq - 1;
2007 } 2009 }
2008 2010
@@ -3262,7 +3264,7 @@ static int pktgen_stop_device(struct pktgen_dev *pkt_dev)
3262 3264
3263 if (!pkt_dev->running) { 3265 if (!pkt_dev->running) {
3264 printk(KERN_WARNING "pktgen: interface: %s is already " 3266 printk(KERN_WARNING "pktgen: interface: %s is already "
3265 "stopped\n", pkt_dev->odev->name); 3267 "stopped\n", pkt_dev->odevname);
3266 return -EINVAL; 3268 return -EINVAL;
3267 } 3269 }
3268 3270
@@ -3464,7 +3466,7 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev)
3464 default: /* Drivers are not supposed to return other values! */ 3466 default: /* Drivers are not supposed to return other values! */
3465 if (net_ratelimit()) 3467 if (net_ratelimit())
3466 pr_info("pktgen: %s xmit error: %d\n", 3468 pr_info("pktgen: %s xmit error: %d\n",
3467 odev->name, ret); 3469 pkt_dev->odevname, ret);
3468 pkt_dev->errors++; 3470 pkt_dev->errors++;
3469 /* fallthru */ 3471 /* fallthru */
3470 case NETDEV_TX_LOCKED: 3472 case NETDEV_TX_LOCKED:
@@ -3566,13 +3568,18 @@ static int pktgen_thread_worker(void *arg)
3566} 3568}
3567 3569
3568static struct pktgen_dev *pktgen_find_dev(struct pktgen_thread *t, 3570static struct pktgen_dev *pktgen_find_dev(struct pktgen_thread *t,
3569 const char *ifname) 3571 const char *ifname, bool exact)
3570{ 3572{
3571 struct pktgen_dev *p, *pkt_dev = NULL; 3573 struct pktgen_dev *p, *pkt_dev = NULL;
3572 if_lock(t); 3574 size_t len = strlen(ifname);
3573 3575
3576 if_lock(t);
3574 list_for_each_entry(p, &t->if_list, list) 3577 list_for_each_entry(p, &t->if_list, list)
3575 if (strncmp(p->odev->name, ifname, IFNAMSIZ) == 0) { 3578 if (strncmp(p->odevname, ifname, len) == 0) {
3579 if (p->odevname[len]) {
3580 if (exact || p->odevname[len] != '@')
3581 continue;
3582 }
3576 pkt_dev = p; 3583 pkt_dev = p;
3577 break; 3584 break;
3578 } 3585 }
@@ -3628,6 +3635,7 @@ static int pktgen_add_device(struct pktgen_thread *t, const char *ifname)
3628 if (!pkt_dev) 3635 if (!pkt_dev)
3629 return -ENOMEM; 3636 return -ENOMEM;
3630 3637
3638 strcpy(pkt_dev->odevname, ifname);
3631 pkt_dev->flows = vmalloc(MAX_CFLOWS * sizeof(struct flow_state)); 3639 pkt_dev->flows = vmalloc(MAX_CFLOWS * sizeof(struct flow_state));
3632 if (pkt_dev->flows == NULL) { 3640 if (pkt_dev->flows == NULL) {
3633 kfree(pkt_dev); 3641 kfree(pkt_dev);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 80a96166df39..ec85681a7dd8 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -2701,7 +2701,8 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb)
2701 2701
2702 NAPI_GRO_CB(skb)->free = 1; 2702 NAPI_GRO_CB(skb)->free = 1;
2703 goto done; 2703 goto done;
2704 } 2704 } else if (skb_gro_len(p) != pinfo->gso_size)
2705 return -E2BIG;
2705 2706
2706 headroom = skb_headroom(p); 2707 headroom = skb_headroom(p);
2707 nskb = netdev_alloc_skb(p->dev, headroom + skb_gro_offset(p)); 2708 nskb = netdev_alloc_skb(p->dev, headroom + skb_gro_offset(p));
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
index 575f9bd51ccd..d3fe10be7219 100644
--- a/net/ipv4/ip_fragment.c
+++ b/net/ipv4/ip_fragment.c
@@ -563,7 +563,7 @@ out_oversize:
563 printk(KERN_INFO "Oversized IP packet from %pI4.\n", 563 printk(KERN_INFO "Oversized IP packet from %pI4.\n",
564 &qp->saddr); 564 &qp->saddr);
565out_fail: 565out_fail:
566 IP_INC_STATS_BH(dev_net(dev), IPSTATS_MIB_REASMFAILS); 566 IP_INC_STATS_BH(net, IPSTATS_MIB_REASMFAILS);
567 return err; 567 return err;
568} 568}
569 569
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index 630a56df7b47..99508d66a642 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -483,8 +483,10 @@ static int vif_add(struct net *net, struct vifctl *vifc, int mrtsock)
483 return -EINVAL; 483 return -EINVAL;
484 } 484 }
485 485
486 if ((in_dev = __in_dev_get_rtnl(dev)) == NULL) 486 if ((in_dev = __in_dev_get_rtnl(dev)) == NULL) {
487 dev_put(dev);
487 return -EADDRNOTAVAIL; 488 return -EADDRNOTAVAIL;
489 }
488 IPV4_DEVCONF(in_dev->cnf, MC_FORWARDING)++; 490 IPV4_DEVCONF(in_dev->cnf, MC_FORWARDING)++;
489 ip_rt_multicast_event(in_dev); 491 ip_rt_multicast_event(in_dev);
490 492
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 98440ad82558..f1813bc71088 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1183,7 +1183,9 @@ void tcp_cleanup_rbuf(struct sock *sk, int copied)
1183#if TCP_DEBUG 1183#if TCP_DEBUG
1184 struct sk_buff *skb = skb_peek(&sk->sk_receive_queue); 1184 struct sk_buff *skb = skb_peek(&sk->sk_receive_queue);
1185 1185
1186 WARN_ON(skb && !before(tp->copied_seq, TCP_SKB_CB(skb)->end_seq)); 1186 WARN(skb && !before(tp->copied_seq, TCP_SKB_CB(skb)->end_seq),
1187 KERN_INFO "cleanup rbuf bug: copied %X seq %X rcvnxt %X\n",
1188 tp->copied_seq, TCP_SKB_CB(skb)->end_seq, tp->rcv_nxt);
1187#endif 1189#endif
1188 1190
1189 if (inet_csk_ack_scheduled(sk)) { 1191 if (inet_csk_ack_scheduled(sk)) {
@@ -1430,11 +1432,13 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
1430 /* Now that we have two receive queues this 1432 /* Now that we have two receive queues this
1431 * shouldn't happen. 1433 * shouldn't happen.
1432 */ 1434 */
1433 if (before(*seq, TCP_SKB_CB(skb)->seq)) { 1435 if (WARN(before(*seq, TCP_SKB_CB(skb)->seq),
1434 printk(KERN_INFO "recvmsg bug: copied %X " 1436 KERN_INFO "recvmsg bug: copied %X "
1435 "seq %X\n", *seq, TCP_SKB_CB(skb)->seq); 1437 "seq %X rcvnxt %X fl %X\n", *seq,
1438 TCP_SKB_CB(skb)->seq, tp->rcv_nxt,
1439 flags))
1436 break; 1440 break;
1437 } 1441
1438 offset = *seq - TCP_SKB_CB(skb)->seq; 1442 offset = *seq - TCP_SKB_CB(skb)->seq;
1439 if (tcp_hdr(skb)->syn) 1443 if (tcp_hdr(skb)->syn)
1440 offset--; 1444 offset--;
@@ -1443,8 +1447,9 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
1443 if (tcp_hdr(skb)->fin) 1447 if (tcp_hdr(skb)->fin)
1444 goto found_fin_ok; 1448 goto found_fin_ok;
1445 WARN(!(flags & MSG_PEEK), KERN_INFO "recvmsg bug 2: " 1449 WARN(!(flags & MSG_PEEK), KERN_INFO "recvmsg bug 2: "
1446 "copied %X seq %X\n", *seq, 1450 "copied %X seq %X rcvnxt %X fl %X\n",
1447 TCP_SKB_CB(skb)->seq); 1451 *seq, TCP_SKB_CB(skb)->seq,
1452 tp->rcv_nxt, flags);
1448 } 1453 }
1449 1454
1450 /* Well, if we have backlog, try to process it now yet. */ 1455 /* Well, if we have backlog, try to process it now yet. */
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index bc064d7933ff..ce8e0e772bab 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -85,10 +85,6 @@ void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *r
85 struct ieee80211_local *local = sdata->local; 85 struct ieee80211_local *local = sdata->local;
86 struct sta_info *sta; 86 struct sta_info *sta;
87 87
88 /* stop HW Rx aggregation. ampdu_action existence
89 * already verified in session init so we add the BUG_ON */
90 BUG_ON(!local->ops->ampdu_action);
91
92 rcu_read_lock(); 88 rcu_read_lock();
93 89
94 sta = sta_info_get(local, ra); 90 sta = sta_info_get(local, ra);
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index b09948ceec4a..89e238b001de 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -123,13 +123,18 @@ void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u1
123 ieee80211_tx_skb(sdata, skb, 0); 123 ieee80211_tx_skb(sdata, skb, 0);
124} 124}
125 125
126static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, 126int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
127 enum ieee80211_back_parties initiator) 127 enum ieee80211_back_parties initiator)
128{ 128{
129 struct ieee80211_local *local = sta->local; 129 struct ieee80211_local *local = sta->local;
130 int ret; 130 int ret;
131 u8 *state; 131 u8 *state;
132 132
133#ifdef CONFIG_MAC80211_HT_DEBUG
134 printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n",
135 sta->sta.addr, tid);
136#endif /* CONFIG_MAC80211_HT_DEBUG */
137
133 state = &sta->ampdu_mlme.tid_state_tx[tid]; 138 state = &sta->ampdu_mlme.tid_state_tx[tid];
134 139
135 if (*state == HT_AGG_STATE_OPERATIONAL) 140 if (*state == HT_AGG_STATE_OPERATIONAL)
@@ -143,7 +148,6 @@ static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
143 148
144 /* HW shall not deny going back to legacy */ 149 /* HW shall not deny going back to legacy */
145 if (WARN_ON(ret)) { 150 if (WARN_ON(ret)) {
146 *state = HT_AGG_STATE_OPERATIONAL;
147 /* 151 /*
148 * We may have pending packets get stuck in this case... 152 * We may have pending packets get stuck in this case...
149 * Not bothering with a workaround for now. 153 * Not bothering with a workaround for now.
@@ -173,12 +177,14 @@ static void sta_addba_resp_timer_expired(unsigned long data)
173 177
174 /* check if the TID waits for addBA response */ 178 /* check if the TID waits for addBA response */
175 spin_lock_bh(&sta->lock); 179 spin_lock_bh(&sta->lock);
176 if (!(*state & HT_ADDBA_REQUESTED_MSK)) { 180 if ((*state & (HT_ADDBA_REQUESTED_MSK | HT_ADDBA_RECEIVED_MSK)) !=
181 HT_ADDBA_REQUESTED_MSK) {
177 spin_unlock_bh(&sta->lock); 182 spin_unlock_bh(&sta->lock);
178 *state = HT_AGG_STATE_IDLE; 183 *state = HT_AGG_STATE_IDLE;
179#ifdef CONFIG_MAC80211_HT_DEBUG 184#ifdef CONFIG_MAC80211_HT_DEBUG
180 printk(KERN_DEBUG "timer expired on tid %d but we are not " 185 printk(KERN_DEBUG "timer expired on tid %d but we are not "
181 "expecting addBA response there", tid); 186 "(or no longer) expecting addBA response there",
187 tid);
182#endif 188#endif
183 return; 189 return;
184 } 190 }
@@ -523,11 +529,6 @@ int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
523 goto unlock; 529 goto unlock;
524 } 530 }
525 531
526#ifdef CONFIG_MAC80211_HT_DEBUG
527 printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n",
528 sta->sta.addr, tid);
529#endif /* CONFIG_MAC80211_HT_DEBUG */
530
531 ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator); 532 ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator);
532 533
533 unlock: 534 unlock:
@@ -543,7 +544,7 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
543 struct sta_info *sta; 544 struct sta_info *sta;
544 int ret = 0; 545 int ret = 0;
545 546
546 if (WARN_ON(!local->ops->ampdu_action)) 547 if (!local->ops->ampdu_action)
547 return -EINVAL; 548 return -EINVAL;
548 549
549 if (tid >= STA_TID_NUM) 550 if (tid >= STA_TID_NUM)
@@ -666,21 +667,21 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
666 667
667 state = &sta->ampdu_mlme.tid_state_tx[tid]; 668 state = &sta->ampdu_mlme.tid_state_tx[tid];
668 669
669 del_timer_sync(&sta->ampdu_mlme.tid_tx[tid]->addba_resp_timer);
670
671 spin_lock_bh(&sta->lock); 670 spin_lock_bh(&sta->lock);
672 671
673 if (!(*state & HT_ADDBA_REQUESTED_MSK)) 672 if (!(*state & HT_ADDBA_REQUESTED_MSK))
674 goto timer_still_needed; 673 goto out;
675 674
676 if (mgmt->u.action.u.addba_resp.dialog_token != 675 if (mgmt->u.action.u.addba_resp.dialog_token !=
677 sta->ampdu_mlme.tid_tx[tid]->dialog_token) { 676 sta->ampdu_mlme.tid_tx[tid]->dialog_token) {
678#ifdef CONFIG_MAC80211_HT_DEBUG 677#ifdef CONFIG_MAC80211_HT_DEBUG
679 printk(KERN_DEBUG "wrong addBA response token, tid %d\n", tid); 678 printk(KERN_DEBUG "wrong addBA response token, tid %d\n", tid);
680#endif /* CONFIG_MAC80211_HT_DEBUG */ 679#endif /* CONFIG_MAC80211_HT_DEBUG */
681 goto timer_still_needed; 680 goto out;
682 } 681 }
683 682
683 del_timer(&sta->ampdu_mlme.tid_tx[tid]->addba_resp_timer);
684
684#ifdef CONFIG_MAC80211_HT_DEBUG 685#ifdef CONFIG_MAC80211_HT_DEBUG
685 printk(KERN_DEBUG "switched off addBA timer for tid %d \n", tid); 686 printk(KERN_DEBUG "switched off addBA timer for tid %d \n", tid);
686#endif /* CONFIG_MAC80211_HT_DEBUG */ 687#endif /* CONFIG_MAC80211_HT_DEBUG */
@@ -699,10 +700,6 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
699 ___ieee80211_stop_tx_ba_session(sta, tid, WLAN_BACK_INITIATOR); 700 ___ieee80211_stop_tx_ba_session(sta, tid, WLAN_BACK_INITIATOR);
700 } 701 }
701 702
702 goto out;
703
704 timer_still_needed:
705 add_timer(&sta->ampdu_mlme.tid_tx[tid]->addba_resp_timer);
706 out: 703 out:
707 spin_unlock_bh(&sta->lock); 704 spin_unlock_bh(&sta->lock);
708} 705}
diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c
index 48ef1a282b91..cdc58e61d921 100644
--- a/net/mac80211/ht.c
+++ b/net/mac80211/ht.c
@@ -141,7 +141,6 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
141 struct sta_info *sta, 141 struct sta_info *sta,
142 struct ieee80211_mgmt *mgmt, size_t len) 142 struct ieee80211_mgmt *mgmt, size_t len)
143{ 143{
144 struct ieee80211_local *local = sdata->local;
145 u16 tid, params; 144 u16 tid, params;
146 u16 initiator; 145 u16 initiator;
147 146
@@ -161,10 +160,9 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
161 WLAN_BACK_INITIATOR, 0); 160 WLAN_BACK_INITIATOR, 0);
162 else { /* WLAN_BACK_RECIPIENT */ 161 else { /* WLAN_BACK_RECIPIENT */
163 spin_lock_bh(&sta->lock); 162 spin_lock_bh(&sta->lock);
164 sta->ampdu_mlme.tid_state_tx[tid] = 163 if (sta->ampdu_mlme.tid_state_tx[tid] & HT_ADDBA_REQUESTED_MSK)
165 HT_AGG_STATE_OPERATIONAL; 164 ___ieee80211_stop_tx_ba_session(sta, tid,
165 WLAN_BACK_RECIPIENT);
166 spin_unlock_bh(&sta->lock); 166 spin_unlock_bh(&sta->lock);
167 ieee80211_stop_tx_ba_session(&local->hw, sta->sta.addr, tid,
168 WLAN_BACK_RECIPIENT);
169 } 167 }
170} 168}
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 588005c84a6d..10d316e455de 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -662,6 +662,14 @@ struct ieee80211_local {
662 bool suspended; 662 bool suspended;
663 663
664 /* 664 /*
665 * Resuming is true while suspended, but when we're reprogramming the
666 * hardware -- at that time it's allowed to use ieee80211_queue_work()
667 * again even though some other parts of the stack are still suspended
668 * and we still drop received frames to avoid waking the stack.
669 */
670 bool resuming;
671
672 /*
665 * quiescing is true during the suspend process _only_ to 673 * quiescing is true during the suspend process _only_ to
666 * ease timer cancelling etc. 674 * ease timer cancelling etc.
667 */ 675 */
@@ -1083,6 +1091,8 @@ void ieee80211_process_addba_request(struct ieee80211_local *local,
1083 1091
1084int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, 1092int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
1085 enum ieee80211_back_parties initiator); 1093 enum ieee80211_back_parties initiator);
1094int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
1095 enum ieee80211_back_parties initiator);
1086 1096
1087/* Spectrum management */ 1097/* Spectrum management */
1088void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, 1098void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata,
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index aeb65b3d2295..e6c08da8da26 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -520,9 +520,9 @@ EXPORT_SYMBOL_GPL(ieee80211_iterate_active_interfaces_atomic);
520 */ 520 */
521static bool ieee80211_can_queue_work(struct ieee80211_local *local) 521static bool ieee80211_can_queue_work(struct ieee80211_local *local)
522{ 522{
523 if (WARN(local->suspended, "queueing ieee80211 work while " 523 if (WARN(local->suspended && !local->resuming,
524 "going to suspend\n")) 524 "queueing ieee80211 work while going to suspend\n"))
525 return false; 525 return false;
526 526
527 return true; 527 return true;
528} 528}
@@ -1025,13 +1025,9 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1025 struct sta_info *sta; 1025 struct sta_info *sta;
1026 unsigned long flags; 1026 unsigned long flags;
1027 int res; 1027 int res;
1028 bool from_suspend = local->suspended;
1029 1028
1030 /* 1029 if (local->suspended)
1031 * We're going to start the hardware, at that point 1030 local->resuming = true;
1032 * we are no longer suspended and can RX frames.
1033 */
1034 local->suspended = false;
1035 1031
1036 /* restart hardware */ 1032 /* restart hardware */
1037 if (local->open_count) { 1033 if (local->open_count) {
@@ -1129,11 +1125,14 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1129 * If this is for hw restart things are still running. 1125 * If this is for hw restart things are still running.
1130 * We may want to change that later, however. 1126 * We may want to change that later, however.
1131 */ 1127 */
1132 if (!from_suspend) 1128 if (!local->suspended)
1133 return 0; 1129 return 0;
1134 1130
1135#ifdef CONFIG_PM 1131#ifdef CONFIG_PM
1132 /* first set suspended false, then resuming */
1136 local->suspended = false; 1133 local->suspended = false;
1134 mb();
1135 local->resuming = false;
1137 1136
1138 list_for_each_entry(sdata, &local->interfaces, list) { 1137 list_for_each_entry(sdata, &local->interfaces, list) {
1139 switch(sdata->vif.type) { 1138 switch(sdata->vif.type) {
diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
index c93494fef8ef..d65d3481919c 100644
--- a/net/netfilter/nf_log.c
+++ b/net/netfilter/nf_log.c
@@ -128,9 +128,8 @@ EXPORT_SYMBOL(nf_log_packet);
128 128
129#ifdef CONFIG_PROC_FS 129#ifdef CONFIG_PROC_FS
130static void *seq_start(struct seq_file *seq, loff_t *pos) 130static void *seq_start(struct seq_file *seq, loff_t *pos)
131 __acquires(RCU)
132{ 131{
133 rcu_read_lock(); 132 mutex_lock(&nf_log_mutex);
134 133
135 if (*pos >= ARRAY_SIZE(nf_loggers)) 134 if (*pos >= ARRAY_SIZE(nf_loggers))
136 return NULL; 135 return NULL;
@@ -149,9 +148,8 @@ static void *seq_next(struct seq_file *s, void *v, loff_t *pos)
149} 148}
150 149
151static void seq_stop(struct seq_file *s, void *v) 150static void seq_stop(struct seq_file *s, void *v)
152 __releases(RCU)
153{ 151{
154 rcu_read_unlock(); 152 mutex_unlock(&nf_log_mutex);
155} 153}
156 154
157static int seq_show(struct seq_file *s, void *v) 155static int seq_show(struct seq_file *s, void *v)
@@ -161,7 +159,7 @@ static int seq_show(struct seq_file *s, void *v)
161 struct nf_logger *t; 159 struct nf_logger *t;
162 int ret; 160 int ret;
163 161
164 logger = rcu_dereference(nf_loggers[*pos]); 162 logger = nf_loggers[*pos];
165 163
166 if (!logger) 164 if (!logger)
167 ret = seq_printf(s, "%2lld NONE (", *pos); 165 ret = seq_printf(s, "%2lld NONE (", *pos);
@@ -171,22 +169,16 @@ static int seq_show(struct seq_file *s, void *v)
171 if (ret < 0) 169 if (ret < 0)
172 return ret; 170 return ret;
173 171
174 mutex_lock(&nf_log_mutex);
175 list_for_each_entry(t, &nf_loggers_l[*pos], list[*pos]) { 172 list_for_each_entry(t, &nf_loggers_l[*pos], list[*pos]) {
176 ret = seq_printf(s, "%s", t->name); 173 ret = seq_printf(s, "%s", t->name);
177 if (ret < 0) { 174 if (ret < 0)
178 mutex_unlock(&nf_log_mutex);
179 return ret; 175 return ret;
180 }
181 if (&t->list[*pos] != nf_loggers_l[*pos].prev) { 176 if (&t->list[*pos] != nf_loggers_l[*pos].prev) {
182 ret = seq_printf(s, ","); 177 ret = seq_printf(s, ",");
183 if (ret < 0) { 178 if (ret < 0)
184 mutex_unlock(&nf_log_mutex);
185 return ret; 179 return ret;
186 }
187 } 180 }
188 } 181 }
189 mutex_unlock(&nf_log_mutex);
190 182
191 return seq_printf(s, ")\n"); 183 return seq_printf(s, ")\n");
192} 184}
diff --git a/net/netfilter/xt_limit.c b/net/netfilter/xt_limit.c
index 2e8089ecd0af..2773be6a71dd 100644
--- a/net/netfilter/xt_limit.c
+++ b/net/netfilter/xt_limit.c
@@ -112,7 +112,7 @@ static bool limit_mt_check(const struct xt_mtchk_param *par)
112 112
113 priv = kmalloc(sizeof(*priv), GFP_KERNEL); 113 priv = kmalloc(sizeof(*priv), GFP_KERNEL);
114 if (priv == NULL) 114 if (priv == NULL)
115 return -ENOMEM; 115 return false;
116 116
117 /* For SMP, we only want to use one set of state. */ 117 /* For SMP, we only want to use one set of state. */
118 r->master = priv; 118 r->master = priv;
diff --git a/net/netfilter/xt_osf.c b/net/netfilter/xt_osf.c
index 63e190504656..4d1a41bbd5d7 100644
--- a/net/netfilter/xt_osf.c
+++ b/net/netfilter/xt_osf.c
@@ -118,7 +118,7 @@ static int xt_osf_remove_callback(struct sock *ctnl, struct sk_buff *skb,
118{ 118{
119 struct xt_osf_user_finger *f; 119 struct xt_osf_user_finger *f;
120 struct xt_osf_finger *sf; 120 struct xt_osf_finger *sf;
121 int err = ENOENT; 121 int err = -ENOENT;
122 122
123 if (!osf_attrs[OSF_ATTR_FINGER]) 123 if (!osf_attrs[OSF_ATTR_FINGER])
124 return -EINVAL; 124 return -EINVAL;
diff --git a/net/rfkill/core.c b/net/rfkill/core.c
index ba2efb960c60..a001f7c1f711 100644
--- a/net/rfkill/core.c
+++ b/net/rfkill/core.c
@@ -1189,6 +1189,7 @@ static long rfkill_fop_ioctl(struct file *file, unsigned int cmd,
1189#endif 1189#endif
1190 1190
1191static const struct file_operations rfkill_fops = { 1191static const struct file_operations rfkill_fops = {
1192 .owner = THIS_MODULE,
1192 .open = rfkill_fop_open, 1193 .open = rfkill_fop_open,
1193 .read = rfkill_fop_read, 1194 .read = rfkill_fop_read,
1194 .write = rfkill_fop_write, 1195 .write = rfkill_fop_write,
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 8450960df24f..7eed77a39d0d 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -1485,15 +1485,13 @@ void sctp_assoc_rwnd_decrease(struct sctp_association *asoc, unsigned len)
1485 * local endpoint and the remote peer. 1485 * local endpoint and the remote peer.
1486 */ 1486 */
1487int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *asoc, 1487int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *asoc,
1488 gfp_t gfp) 1488 sctp_scope_t scope, gfp_t gfp)
1489{ 1489{
1490 sctp_scope_t scope;
1491 int flags; 1490 int flags;
1492 1491
1493 /* Use scoping rules to determine the subset of addresses from 1492 /* Use scoping rules to determine the subset of addresses from
1494 * the endpoint. 1493 * the endpoint.
1495 */ 1494 */
1496 scope = sctp_scope(&asoc->peer.active_path->ipaddr);
1497 flags = (PF_INET6 == asoc->base.sk->sk_family) ? SCTP_ADDR6_ALLOWED : 0; 1495 flags = (PF_INET6 == asoc->base.sk->sk_family) ? SCTP_ADDR6_ALLOWED : 0;
1498 if (asoc->peer.ipv4_address) 1496 if (asoc->peer.ipv4_address)
1499 flags |= SCTP_ADDR4_PEERSUPP; 1497 flags |= SCTP_ADDR4_PEERSUPP;
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index c9f20e28521b..23e5e97aa617 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -423,16 +423,6 @@ void sctp_retransmit_mark(struct sctp_outq *q,
423 if ((reason == SCTP_RTXR_FAST_RTX && 423 if ((reason == SCTP_RTXR_FAST_RTX &&
424 (chunk->fast_retransmit == SCTP_NEED_FRTX)) || 424 (chunk->fast_retransmit == SCTP_NEED_FRTX)) ||
425 (reason != SCTP_RTXR_FAST_RTX && !chunk->tsn_gap_acked)) { 425 (reason != SCTP_RTXR_FAST_RTX && !chunk->tsn_gap_acked)) {
426 /* If this chunk was sent less then 1 rto ago, do not
427 * retransmit this chunk, but give the peer time
428 * to acknowlege it. Do this only when
429 * retransmitting due to T3 timeout.
430 */
431 if (reason == SCTP_RTXR_T3_RTX &&
432 time_before(jiffies, chunk->sent_at +
433 transport->last_rto))
434 continue;
435
436 /* RFC 2960 6.2.1 Processing a Received SACK 426 /* RFC 2960 6.2.1 Processing a Received SACK
437 * 427 *
438 * C) Any time a DATA chunk is marked for 428 * C) Any time a DATA chunk is marked for
diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c
index 8674d4919556..efa516b47e81 100644
--- a/net/sctp/sm_sideeffect.c
+++ b/net/sctp/sm_sideeffect.c
@@ -480,7 +480,6 @@ static void sctp_do_8_2_transport_strike(struct sctp_association *asoc,
480 * that indicates that we have an outstanding HB. 480 * that indicates that we have an outstanding HB.
481 */ 481 */
482 if (!is_hb || transport->hb_sent) { 482 if (!is_hb || transport->hb_sent) {
483 transport->last_rto = transport->rto;
484 transport->rto = min((transport->rto * 2), transport->asoc->rto_max); 483 transport->rto = min((transport->rto * 2), transport->asoc->rto_max);
485 } 484 }
486} 485}
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index c8fae1983dd1..d4df45022ffa 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -384,6 +384,11 @@ sctp_disposition_t sctp_sf_do_5_1B_init(const struct sctp_endpoint *ep,
384 if (!new_asoc) 384 if (!new_asoc)
385 goto nomem; 385 goto nomem;
386 386
387 if (sctp_assoc_set_bind_addr_from_ep(new_asoc,
388 sctp_scope(sctp_source(chunk)),
389 GFP_ATOMIC) < 0)
390 goto nomem_init;
391
387 /* The call, sctp_process_init(), can fail on memory allocation. */ 392 /* The call, sctp_process_init(), can fail on memory allocation. */
388 if (!sctp_process_init(new_asoc, chunk->chunk_hdr->type, 393 if (!sctp_process_init(new_asoc, chunk->chunk_hdr->type,
389 sctp_source(chunk), 394 sctp_source(chunk),
@@ -401,9 +406,6 @@ sctp_disposition_t sctp_sf_do_5_1B_init(const struct sctp_endpoint *ep,
401 len = ntohs(err_chunk->chunk_hdr->length) - 406 len = ntohs(err_chunk->chunk_hdr->length) -
402 sizeof(sctp_chunkhdr_t); 407 sizeof(sctp_chunkhdr_t);
403 408
404 if (sctp_assoc_set_bind_addr_from_ep(new_asoc, GFP_ATOMIC) < 0)
405 goto nomem_init;
406
407 repl = sctp_make_init_ack(new_asoc, chunk, GFP_ATOMIC, len); 409 repl = sctp_make_init_ack(new_asoc, chunk, GFP_ATOMIC, len);
408 if (!repl) 410 if (!repl)
409 goto nomem_init; 411 goto nomem_init;
@@ -1452,6 +1454,10 @@ static sctp_disposition_t sctp_sf_do_unexpected_init(
1452 if (!new_asoc) 1454 if (!new_asoc)
1453 goto nomem; 1455 goto nomem;
1454 1456
1457 if (sctp_assoc_set_bind_addr_from_ep(new_asoc,
1458 sctp_scope(sctp_source(chunk)), GFP_ATOMIC) < 0)
1459 goto nomem;
1460
1455 /* In the outbound INIT ACK the endpoint MUST copy its current 1461 /* In the outbound INIT ACK the endpoint MUST copy its current
1456 * Verification Tag and Peers Verification tag into a reserved 1462 * Verification Tag and Peers Verification tag into a reserved
1457 * place (local tie-tag and per tie-tag) within the state cookie. 1463 * place (local tie-tag and per tie-tag) within the state cookie.
@@ -1488,9 +1494,6 @@ static sctp_disposition_t sctp_sf_do_unexpected_init(
1488 sizeof(sctp_chunkhdr_t); 1494 sizeof(sctp_chunkhdr_t);
1489 } 1495 }
1490 1496
1491 if (sctp_assoc_set_bind_addr_from_ep(new_asoc, GFP_ATOMIC) < 0)
1492 goto nomem;
1493
1494 repl = sctp_make_init_ack(new_asoc, chunk, GFP_ATOMIC, len); 1497 repl = sctp_make_init_ack(new_asoc, chunk, GFP_ATOMIC, len);
1495 if (!repl) 1498 if (!repl)
1496 goto nomem; 1499 goto nomem;
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index c8d05758661d..3a95fcb17a9e 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -1080,6 +1080,13 @@ static int __sctp_connect(struct sock* sk,
1080 err = -ENOMEM; 1080 err = -ENOMEM;
1081 goto out_free; 1081 goto out_free;
1082 } 1082 }
1083
1084 err = sctp_assoc_set_bind_addr_from_ep(asoc, scope,
1085 GFP_KERNEL);
1086 if (err < 0) {
1087 goto out_free;
1088 }
1089
1083 } 1090 }
1084 1091
1085 /* Prime the peer's transport structures. */ 1092 /* Prime the peer's transport structures. */
@@ -1095,11 +1102,6 @@ static int __sctp_connect(struct sock* sk,
1095 walk_size += af->sockaddr_len; 1102 walk_size += af->sockaddr_len;
1096 } 1103 }
1097 1104
1098 err = sctp_assoc_set_bind_addr_from_ep(asoc, GFP_KERNEL);
1099 if (err < 0) {
1100 goto out_free;
1101 }
1102
1103 /* In case the user of sctp_connectx() wants an association 1105 /* In case the user of sctp_connectx() wants an association
1104 * id back, assign one now. 1106 * id back, assign one now.
1105 */ 1107 */
@@ -1274,22 +1276,30 @@ SCTP_STATIC int sctp_setsockopt_connectx(struct sock* sk,
1274} 1276}
1275 1277
1276/* 1278/*
1277 * New (hopefully final) interface for the API. The option buffer is used 1279 * New (hopefully final) interface for the API.
1278 * both for the returned association id and the addresses. 1280 * We use the sctp_getaddrs_old structure so that use-space library
1281 * can avoid any unnecessary allocations. The only defferent part
1282 * is that we store the actual length of the address buffer into the
1283 * addrs_num structure member. That way we can re-use the existing
1284 * code.
1279 */ 1285 */
1280SCTP_STATIC int sctp_getsockopt_connectx3(struct sock* sk, int len, 1286SCTP_STATIC int sctp_getsockopt_connectx3(struct sock* sk, int len,
1281 char __user *optval, 1287 char __user *optval,
1282 int __user *optlen) 1288 int __user *optlen)
1283{ 1289{
1290 struct sctp_getaddrs_old param;
1284 sctp_assoc_t assoc_id = 0; 1291 sctp_assoc_t assoc_id = 0;
1285 int err = 0; 1292 int err = 0;
1286 1293
1287 if (len < sizeof(assoc_id)) 1294 if (len < sizeof(param))
1288 return -EINVAL; 1295 return -EINVAL;
1289 1296
1297 if (copy_from_user(&param, optval, sizeof(param)))
1298 return -EFAULT;
1299
1290 err = __sctp_setsockopt_connectx(sk, 1300 err = __sctp_setsockopt_connectx(sk,
1291 (struct sockaddr __user *)(optval + sizeof(assoc_id)), 1301 (struct sockaddr __user *)param.addrs,
1292 len - sizeof(assoc_id), &assoc_id); 1302 param.addr_num, &assoc_id);
1293 1303
1294 if (err == 0 || err == -EINPROGRESS) { 1304 if (err == 0 || err == -EINPROGRESS) {
1295 if (copy_to_user(optval, &assoc_id, sizeof(assoc_id))) 1305 if (copy_to_user(optval, &assoc_id, sizeof(assoc_id)))
@@ -1689,6 +1699,11 @@ SCTP_STATIC int sctp_sendmsg(struct kiocb *iocb, struct sock *sk,
1689 goto out_unlock; 1699 goto out_unlock;
1690 } 1700 }
1691 asoc = new_asoc; 1701 asoc = new_asoc;
1702 err = sctp_assoc_set_bind_addr_from_ep(asoc, scope, GFP_KERNEL);
1703 if (err < 0) {
1704 err = -ENOMEM;
1705 goto out_free;
1706 }
1692 1707
1693 /* If the SCTP_INIT ancillary data is specified, set all 1708 /* If the SCTP_INIT ancillary data is specified, set all
1694 * the association init values accordingly. 1709 * the association init values accordingly.
@@ -1718,11 +1733,6 @@ SCTP_STATIC int sctp_sendmsg(struct kiocb *iocb, struct sock *sk,
1718 err = -ENOMEM; 1733 err = -ENOMEM;
1719 goto out_free; 1734 goto out_free;
1720 } 1735 }
1721 err = sctp_assoc_set_bind_addr_from_ep(asoc, GFP_KERNEL);
1722 if (err < 0) {
1723 err = -ENOMEM;
1724 goto out_free;
1725 }
1726 } 1736 }
1727 1737
1728 /* ASSERT: we have a valid association at this point. */ 1738 /* ASSERT: we have a valid association at this point. */
diff --git a/net/sctp/transport.c b/net/sctp/transport.c
index c256e4839316..37a1184d789f 100644
--- a/net/sctp/transport.c
+++ b/net/sctp/transport.c
@@ -74,7 +74,7 @@ static struct sctp_transport *sctp_transport_init(struct sctp_transport *peer,
74 * given destination transport address, set RTO to the protocol 74 * given destination transport address, set RTO to the protocol
75 * parameter 'RTO.Initial'. 75 * parameter 'RTO.Initial'.
76 */ 76 */
77 peer->last_rto = peer->rto = msecs_to_jiffies(sctp_rto_initial); 77 peer->rto = msecs_to_jiffies(sctp_rto_initial);
78 peer->rtt = 0; 78 peer->rtt = 0;
79 peer->rttvar = 0; 79 peer->rttvar = 0;
80 peer->srtt = 0; 80 peer->srtt = 0;
@@ -308,7 +308,8 @@ void sctp_transport_route(struct sctp_transport *transport,
308 /* Initialize sk->sk_rcv_saddr, if the transport is the 308 /* Initialize sk->sk_rcv_saddr, if the transport is the
309 * association's active path for getsockname(). 309 * association's active path for getsockname().
310 */ 310 */
311 if (asoc && (transport == asoc->peer.active_path)) 311 if (asoc && (!asoc->peer.primary_path ||
312 (transport == asoc->peer.active_path)))
312 opt->pf->af->to_sk_saddr(&transport->saddr, 313 opt->pf->af->to_sk_saddr(&transport->saddr,
313 asoc->base.sk); 314 asoc->base.sk);
314 } else 315 } else
@@ -385,7 +386,6 @@ void sctp_transport_update_rto(struct sctp_transport *tp, __u32 rtt)
385 tp->rto = tp->asoc->rto_max; 386 tp->rto = tp->asoc->rto_max;
386 387
387 tp->rtt = rtt; 388 tp->rtt = rtt;
388 tp->last_rto = tp->rto;
389 389
390 /* Reset rto_pending so that a new RTT measurement is started when a 390 /* Reset rto_pending so that a new RTT measurement is started when a
391 * new data chunk is sent. 391 * new data chunk is sent.
@@ -601,7 +601,7 @@ void sctp_transport_reset(struct sctp_transport *t)
601 */ 601 */
602 t->cwnd = min(4*asoc->pathmtu, max_t(__u32, 2*asoc->pathmtu, 4380)); 602 t->cwnd = min(4*asoc->pathmtu, max_t(__u32, 2*asoc->pathmtu, 4380));
603 t->ssthresh = asoc->peer.i.a_rwnd; 603 t->ssthresh = asoc->peer.i.a_rwnd;
604 t->last_rto = t->rto = asoc->rto_initial; 604 t->rto = asoc->rto_initial;
605 t->rtt = 0; 605 t->rtt = 0;
606 t->srtt = 0; 606 t->srtt = 0;
607 t->rttvar = 0; 607 t->rttvar = 0;
diff --git a/net/sunrpc/addr.c b/net/sunrpc/addr.c
index 22e8fd89477f..c7450c8f0a7c 100644
--- a/net/sunrpc/addr.c
+++ b/net/sunrpc/addr.c
@@ -306,24 +306,25 @@ EXPORT_SYMBOL_GPL(rpc_sockaddr2uaddr);
306 * @sap: buffer into which to plant socket address 306 * @sap: buffer into which to plant socket address
307 * @salen: size of buffer 307 * @salen: size of buffer
308 * 308 *
309 * @uaddr does not have to be '\0'-terminated, but strict_strtoul() and
310 * rpc_pton() require proper string termination to be successful.
311 *
309 * Returns the size of the socket address if successful; otherwise 312 * Returns the size of the socket address if successful; otherwise
310 * zero is returned. 313 * zero is returned.
311 */ 314 */
312size_t rpc_uaddr2sockaddr(const char *uaddr, const size_t uaddr_len, 315size_t rpc_uaddr2sockaddr(const char *uaddr, const size_t uaddr_len,
313 struct sockaddr *sap, const size_t salen) 316 struct sockaddr *sap, const size_t salen)
314{ 317{
315 char *c, buf[RPCBIND_MAXUADDRLEN]; 318 char *c, buf[RPCBIND_MAXUADDRLEN + sizeof('\0')];
316 unsigned long portlo, porthi; 319 unsigned long portlo, porthi;
317 unsigned short port; 320 unsigned short port;
318 321
319 if (uaddr_len > sizeof(buf)) 322 if (uaddr_len > RPCBIND_MAXUADDRLEN)
320 return 0; 323 return 0;
321 324
322 memcpy(buf, uaddr, uaddr_len); 325 memcpy(buf, uaddr, uaddr_len);
323 326
324 buf[uaddr_len] = '\n'; 327 buf[uaddr_len] = '\0';
325 buf[uaddr_len + 1] = '\0';
326
327 c = strrchr(buf, '.'); 328 c = strrchr(buf, '.');
328 if (unlikely(c == NULL)) 329 if (unlikely(c == NULL))
329 return 0; 330 return 0;
@@ -332,9 +333,7 @@ size_t rpc_uaddr2sockaddr(const char *uaddr, const size_t uaddr_len,
332 if (unlikely(portlo > 255)) 333 if (unlikely(portlo > 255))
333 return 0; 334 return 0;
334 335
335 c[0] = '\n'; 336 *c = '\0';
336 c[1] = '\0';
337
338 c = strrchr(buf, '.'); 337 c = strrchr(buf, '.');
339 if (unlikely(c == NULL)) 338 if (unlikely(c == NULL))
340 return 0; 339 return 0;
@@ -345,8 +344,7 @@ size_t rpc_uaddr2sockaddr(const char *uaddr, const size_t uaddr_len,
345 344
346 port = (unsigned short)((porthi << 8) | portlo); 345 port = (unsigned short)((porthi << 8) | portlo);
347 346
348 c[0] = '\0'; 347 *c = '\0';
349
350 if (rpc_pton(buf, strlen(buf), sap, salen) == 0) 348 if (rpc_pton(buf, strlen(buf), sap, salen) == 0)
351 return 0; 349 return 0;
352 350
diff --git a/scripts/dtc/data.c b/scripts/dtc/data.c
index dd2e3d39d4c1..fe555e819bf8 100644
--- a/scripts/dtc/data.c
+++ b/scripts/dtc/data.c
@@ -217,7 +217,7 @@ struct data data_insert_at_marker(struct data d, struct marker *m,
217 return d; 217 return d;
218} 218}
219 219
220struct data data_append_markers(struct data d, struct marker *m) 220static struct data data_append_markers(struct data d, struct marker *m)
221{ 221{
222 struct marker **mp = &d.markers; 222 struct marker **mp = &d.markers;
223 223
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
index 44dbfd3f0976..a627bbee91d4 100644
--- a/scripts/dtc/dtc-lexer.l
+++ b/scripts/dtc/dtc-lexer.l
@@ -18,7 +18,7 @@
18 * USA 18 * USA
19 */ 19 */
20 20
21%option noyywrap nounput yylineno 21%option noyywrap noinput nounput yylineno
22 22
23%x INCLUDE 23%x INCLUDE
24%x BYTESTRING 24%x BYTESTRING
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
index ac392cb040f6..e27cc636e326 100644
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
@@ -9,7 +9,7 @@
9#define FLEX_SCANNER 9#define FLEX_SCANNER
10#define YY_FLEX_MAJOR_VERSION 2 10#define YY_FLEX_MAJOR_VERSION 2
11#define YY_FLEX_MINOR_VERSION 5 11#define YY_FLEX_MINOR_VERSION 5
12#define YY_FLEX_SUBMINOR_VERSION 34 12#define YY_FLEX_SUBMINOR_VERSION 35
13#if YY_FLEX_SUBMINOR_VERSION > 0 13#if YY_FLEX_SUBMINOR_VERSION > 0
14#define FLEX_BETA 14#define FLEX_BETA
15#endif 15#endif
@@ -54,7 +54,6 @@ typedef int flex_int32_t;
54typedef unsigned char flex_uint8_t; 54typedef unsigned char flex_uint8_t;
55typedef unsigned short int flex_uint16_t; 55typedef unsigned short int flex_uint16_t;
56typedef unsigned int flex_uint32_t; 56typedef unsigned int flex_uint32_t;
57#endif /* ! C99 */
58 57
59/* Limits of integral types. */ 58/* Limits of integral types. */
60#ifndef INT8_MIN 59#ifndef INT8_MIN
@@ -85,6 +84,8 @@ typedef unsigned int flex_uint32_t;
85#define UINT32_MAX (4294967295U) 84#define UINT32_MAX (4294967295U)
86#endif 85#endif
87 86
87#endif /* ! C99 */
88
88#endif /* ! FLEXINT_H */ 89#endif /* ! FLEXINT_H */
89 90
90#ifdef __cplusplus 91#ifdef __cplusplus
@@ -141,7 +142,15 @@ typedef unsigned int flex_uint32_t;
141 142
142/* Size of default input buffer. */ 143/* Size of default input buffer. */
143#ifndef YY_BUF_SIZE 144#ifndef YY_BUF_SIZE
145#ifdef __ia64__
146/* On IA-64, the buffer size is 16k, not 8k.
147 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
148 * Ditto for the __ia64__ case accordingly.
149 */
150#define YY_BUF_SIZE 32768
151#else
144#define YY_BUF_SIZE 16384 152#define YY_BUF_SIZE 16384
153#endif /* __ia64__ */
145#endif 154#endif
146 155
147/* The state buf must be large enough to hold one state per character in the main buffer. 156/* The state buf must be large enough to hold one state per character in the main buffer.
@@ -192,13 +201,6 @@ extern FILE *yyin, *yyout;
192 201
193#define unput(c) yyunput( c, (yytext_ptr) ) 202#define unput(c) yyunput( c, (yytext_ptr) )
194 203
195/* The following is because we cannot portably get our hands on size_t
196 * (without autoconf's help, which isn't available because we want
197 * flex-generated scanners to compile on their own).
198 * Given that the standard has decreed that size_t exists since 1989,
199 * I guess we can afford to depend on it. Manoj.
200 */
201
202#ifndef YY_TYPEDEF_YY_SIZE_T 204#ifndef YY_TYPEDEF_YY_SIZE_T
203#define YY_TYPEDEF_YY_SIZE_T 205#define YY_TYPEDEF_YY_SIZE_T
204typedef size_t yy_size_t; 206typedef size_t yy_size_t;
@@ -604,6 +606,7 @@ char *yytext;
604 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 606 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
605 * USA 607 * USA
606 */ 608 */
609#define YY_NO_INPUT 1
607 610
608 611
609 612
@@ -634,7 +637,7 @@ static int dts_version; /* = 0 */
634 637
635static void push_input_file(const char *filename); 638static void push_input_file(const char *filename);
636static int pop_input_file(void); 639static int pop_input_file(void);
637#line 638 "dtc-lexer.lex.c" 640#line 641 "dtc-lexer.lex.c"
638 641
639#define INITIAL 0 642#define INITIAL 0
640#define INCLUDE 1 643#define INCLUDE 1
@@ -656,6 +659,35 @@ static int pop_input_file(void);
656 659
657static int yy_init_globals (void ); 660static int yy_init_globals (void );
658 661
662/* Accessor methods to globals.
663 These are made visible to non-reentrant scanners for convenience. */
664
665int yylex_destroy (void );
666
667int yyget_debug (void );
668
669void yyset_debug (int debug_flag );
670
671YY_EXTRA_TYPE yyget_extra (void );
672
673void yyset_extra (YY_EXTRA_TYPE user_defined );
674
675FILE *yyget_in (void );
676
677void yyset_in (FILE * in_str );
678
679FILE *yyget_out (void );
680
681void yyset_out (FILE * out_str );
682
683int yyget_leng (void );
684
685char *yyget_text (void );
686
687int yyget_lineno (void );
688
689void yyset_lineno (int line_number );
690
659/* Macros after this point can all be overridden by user definitions in 691/* Macros after this point can all be overridden by user definitions in
660 * section 1. 692 * section 1.
661 */ 693 */
@@ -688,7 +720,12 @@ static int input (void );
688 720
689/* Amount of stuff to slurp up with each read. */ 721/* Amount of stuff to slurp up with each read. */
690#ifndef YY_READ_BUF_SIZE 722#ifndef YY_READ_BUF_SIZE
723#ifdef __ia64__
724/* On IA-64, the buffer size is 16k, not 8k */
725#define YY_READ_BUF_SIZE 16384
726#else
691#define YY_READ_BUF_SIZE 8192 727#define YY_READ_BUF_SIZE 8192
728#endif /* __ia64__ */
692#endif 729#endif
693 730
694/* Copy whatever the last rule matched to the standard output. */ 731/* Copy whatever the last rule matched to the standard output. */
@@ -696,7 +733,7 @@ static int input (void );
696/* This used to be an fputs(), but since the string might contain NUL's, 733/* This used to be an fputs(), but since the string might contain NUL's,
697 * we now use fwrite(). 734 * we now use fwrite().
698 */ 735 */
699#define ECHO fwrite( yytext, yyleng, 1, yyout ) 736#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
700#endif 737#endif
701 738
702/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 739/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -707,7 +744,7 @@ static int input (void );
707 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 744 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
708 { \ 745 { \
709 int c = '*'; \ 746 int c = '*'; \
710 int n; \ 747 size_t n; \
711 for ( n = 0; n < max_size && \ 748 for ( n = 0; n < max_size && \
712 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 749 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
713 buf[n] = (char) c; \ 750 buf[n] = (char) c; \
@@ -791,7 +828,7 @@ YY_DECL
791 828
792#line 64 "dtc-lexer.l" 829#line 64 "dtc-lexer.l"
793 830
794#line 795 "dtc-lexer.lex.c" 831#line 832 "dtc-lexer.lex.c"
795 832
796 if ( !(yy_init) ) 833 if ( !(yy_init) )
797 { 834 {
@@ -1116,7 +1153,7 @@ YY_RULE_SETUP
1116#line 222 "dtc-lexer.l" 1153#line 222 "dtc-lexer.l"
1117ECHO; 1154ECHO;
1118 YY_BREAK 1155 YY_BREAK
1119#line 1120 "dtc-lexer.lex.c" 1156#line 1157 "dtc-lexer.lex.c"
1120 1157
1121 case YY_END_OF_BUFFER: 1158 case YY_END_OF_BUFFER:
1122 { 1159 {
@@ -1840,8 +1877,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
1840 1877
1841/** Setup the input buffer state to scan the given bytes. The next call to yylex() will 1878/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
1842 * scan from a @e copy of @a bytes. 1879 * scan from a @e copy of @a bytes.
1843 * @param bytes the byte buffer to scan 1880 * @param yybytes the byte buffer to scan
1844 * @param len the number of bytes in the buffer pointed to by @a bytes. 1881 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
1845 * 1882 *
1846 * @return the newly allocated buffer state object. 1883 * @return the newly allocated buffer state object.
1847 */ 1884 */
diff --git a/scripts/dtc/libfdt/fdt_ro.c b/scripts/dtc/libfdt/fdt_ro.c
index fbbba44fcd0d..22e692919ff9 100644
--- a/scripts/dtc/libfdt/fdt_ro.c
+++ b/scripts/dtc/libfdt/fdt_ro.c
@@ -411,7 +411,7 @@ int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle)
411 &phandle, sizeof(phandle)); 411 &phandle, sizeof(phandle));
412} 412}
413 413
414int _stringlist_contains(const char *strlist, int listlen, const char *str) 414static int _stringlist_contains(const char *strlist, int listlen, const char *str)
415{ 415{
416 int len = strlen(str); 416 int len = strlen(str);
417 const char *p; 417 const char *p;
diff --git a/scripts/dtc/treesource.c b/scripts/dtc/treesource.c
index ebeb6eb27907..1521ff11bb97 100644
--- a/scripts/dtc/treesource.c
+++ b/scripts/dtc/treesource.c
@@ -52,7 +52,7 @@ static void write_prefix(FILE *f, int level)
52 fputc('\t', f); 52 fputc('\t', f);
53} 53}
54 54
55int isstring(char c) 55static int isstring(char c)
56{ 56{
57 return (isprint(c) 57 return (isprint(c)
58 || (c == '\0') 58 || (c == '\0')
diff --git a/scripts/genksyms/keywords.c_shipped b/scripts/genksyms/keywords.c_shipped
index 971e0113ae7a..287467a2e8c7 100644
--- a/scripts/genksyms/keywords.c_shipped
+++ b/scripts/genksyms/keywords.c_shipped
@@ -1,4 +1,4 @@
1/* ANSI-C code produced by gperf version 3.0.2 */ 1/* ANSI-C code produced by gperf version 3.0.3 */
2/* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */ 2/* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */
3 3
4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ 4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -30,7 +30,9 @@
30 30
31#line 1 "scripts/genksyms/keywords.gperf" 31#line 1 "scripts/genksyms/keywords.gperf"
32 32
33#line 3 "scripts/genksyms/keywords.gperf" 33struct resword;
34static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
35#line 5 "scripts/genksyms/keywords.gperf"
34struct resword { const char *name; int token; }; 36struct resword { const char *name; int token; };
35/* maximum key range = 62, duplicates = 0 */ 37/* maximum key range = 62, duplicates = 0 */
36 38
@@ -78,6 +80,9 @@ is_reserved_hash (register const char *str, register unsigned int len)
78 80
79#ifdef __GNUC__ 81#ifdef __GNUC__
80__inline 82__inline
83#ifdef __GNUC_STDC_INLINE__
84__attribute__ ((__gnu_inline__))
85#endif
81#endif 86#endif
82const struct resword * 87const struct resword *
83is_reserved_word (register const char *str, register unsigned int len) 88is_reserved_word (register const char *str, register unsigned int len)
@@ -94,105 +99,105 @@ is_reserved_word (register const char *str, register unsigned int len)
94 static const struct resword wordlist[] = 99 static const struct resword wordlist[] =
95 { 100 {
96 {""}, {""}, {""}, 101 {""}, {""}, {""},
97#line 26 "scripts/genksyms/keywords.gperf" 102#line 28 "scripts/genksyms/keywords.gperf"
98 {"asm", ASM_KEYW}, 103 {"asm", ASM_KEYW},
99 {""}, 104 {""},
100#line 8 "scripts/genksyms/keywords.gperf" 105#line 10 "scripts/genksyms/keywords.gperf"
101 {"__asm", ASM_KEYW}, 106 {"__asm", ASM_KEYW},
102 {""}, 107 {""},
103#line 9 "scripts/genksyms/keywords.gperf" 108#line 11 "scripts/genksyms/keywords.gperf"
104 {"__asm__", ASM_KEYW}, 109 {"__asm__", ASM_KEYW},
105 {""}, {""}, 110 {""}, {""},
106#line 52 "scripts/genksyms/keywords.gperf" 111#line 54 "scripts/genksyms/keywords.gperf"
107 {"__typeof__", TYPEOF_KEYW}, 112 {"__typeof__", TYPEOF_KEYW},
108 {""}, 113 {""},
109#line 12 "scripts/genksyms/keywords.gperf" 114#line 14 "scripts/genksyms/keywords.gperf"
110 {"__const", CONST_KEYW}, 115 {"__const", CONST_KEYW},
111#line 11 "scripts/genksyms/keywords.gperf"
112 {"__attribute__", ATTRIBUTE_KEYW},
113#line 13 "scripts/genksyms/keywords.gperf" 116#line 13 "scripts/genksyms/keywords.gperf"
117 {"__attribute__", ATTRIBUTE_KEYW},
118#line 15 "scripts/genksyms/keywords.gperf"
114 {"__const__", CONST_KEYW}, 119 {"__const__", CONST_KEYW},
115#line 18 "scripts/genksyms/keywords.gperf" 120#line 20 "scripts/genksyms/keywords.gperf"
116 {"__signed__", SIGNED_KEYW}, 121 {"__signed__", SIGNED_KEYW},
117#line 44 "scripts/genksyms/keywords.gperf" 122#line 46 "scripts/genksyms/keywords.gperf"
118 {"static", STATIC_KEYW}, 123 {"static", STATIC_KEYW},
119#line 20 "scripts/genksyms/keywords.gperf" 124#line 22 "scripts/genksyms/keywords.gperf"
120 {"__volatile__", VOLATILE_KEYW}, 125 {"__volatile__", VOLATILE_KEYW},
121#line 39 "scripts/genksyms/keywords.gperf" 126#line 41 "scripts/genksyms/keywords.gperf"
122 {"int", INT_KEYW}, 127 {"int", INT_KEYW},
123#line 32 "scripts/genksyms/keywords.gperf" 128#line 34 "scripts/genksyms/keywords.gperf"
124 {"char", CHAR_KEYW}, 129 {"char", CHAR_KEYW},
125#line 33 "scripts/genksyms/keywords.gperf" 130#line 35 "scripts/genksyms/keywords.gperf"
126 {"const", CONST_KEYW}, 131 {"const", CONST_KEYW},
127#line 45 "scripts/genksyms/keywords.gperf" 132#line 47 "scripts/genksyms/keywords.gperf"
128 {"struct", STRUCT_KEYW}, 133 {"struct", STRUCT_KEYW},
129#line 24 "scripts/genksyms/keywords.gperf" 134#line 26 "scripts/genksyms/keywords.gperf"
130 {"__restrict__", RESTRICT_KEYW}, 135 {"__restrict__", RESTRICT_KEYW},
131#line 25 "scripts/genksyms/keywords.gperf" 136#line 27 "scripts/genksyms/keywords.gperf"
132 {"restrict", RESTRICT_KEYW}, 137 {"restrict", RESTRICT_KEYW},
133#line 23 "scripts/genksyms/keywords.gperf" 138#line 25 "scripts/genksyms/keywords.gperf"
134 {"_restrict", RESTRICT_KEYW}, 139 {"_restrict", RESTRICT_KEYW},
135#line 16 "scripts/genksyms/keywords.gperf" 140#line 18 "scripts/genksyms/keywords.gperf"
136 {"__inline__", INLINE_KEYW}, 141 {"__inline__", INLINE_KEYW},
137#line 10 "scripts/genksyms/keywords.gperf" 142#line 12 "scripts/genksyms/keywords.gperf"
138 {"__attribute", ATTRIBUTE_KEYW}, 143 {"__attribute", ATTRIBUTE_KEYW},
139 {""}, 144 {""},
140#line 14 "scripts/genksyms/keywords.gperf" 145#line 16 "scripts/genksyms/keywords.gperf"
141 {"__extension__", EXTENSION_KEYW}, 146 {"__extension__", EXTENSION_KEYW},
142#line 35 "scripts/genksyms/keywords.gperf" 147#line 37 "scripts/genksyms/keywords.gperf"
143 {"enum", ENUM_KEYW}, 148 {"enum", ENUM_KEYW},
144#line 19 "scripts/genksyms/keywords.gperf" 149#line 21 "scripts/genksyms/keywords.gperf"
145 {"__volatile", VOLATILE_KEYW}, 150 {"__volatile", VOLATILE_KEYW},
146#line 36 "scripts/genksyms/keywords.gperf" 151#line 38 "scripts/genksyms/keywords.gperf"
147 {"extern", EXTERN_KEYW}, 152 {"extern", EXTERN_KEYW},
148 {""}, 153 {""},
149#line 17 "scripts/genksyms/keywords.gperf" 154#line 19 "scripts/genksyms/keywords.gperf"
150 {"__signed", SIGNED_KEYW}, 155 {"__signed", SIGNED_KEYW},
151#line 7 "scripts/genksyms/keywords.gperf" 156#line 9 "scripts/genksyms/keywords.gperf"
152 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, 157 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
153 {""}, 158 {""},
154#line 51 "scripts/genksyms/keywords.gperf" 159#line 53 "scripts/genksyms/keywords.gperf"
155 {"typeof", TYPEOF_KEYW}, 160 {"typeof", TYPEOF_KEYW},
156#line 46 "scripts/genksyms/keywords.gperf" 161#line 48 "scripts/genksyms/keywords.gperf"
157 {"typedef", TYPEDEF_KEYW}, 162 {"typedef", TYPEDEF_KEYW},
158#line 15 "scripts/genksyms/keywords.gperf" 163#line 17 "scripts/genksyms/keywords.gperf"
159 {"__inline", INLINE_KEYW}, 164 {"__inline", INLINE_KEYW},
160#line 31 "scripts/genksyms/keywords.gperf" 165#line 33 "scripts/genksyms/keywords.gperf"
161 {"auto", AUTO_KEYW}, 166 {"auto", AUTO_KEYW},
162#line 47 "scripts/genksyms/keywords.gperf" 167#line 49 "scripts/genksyms/keywords.gperf"
163 {"union", UNION_KEYW}, 168 {"union", UNION_KEYW},
164 {""}, {""}, 169 {""}, {""},
165#line 48 "scripts/genksyms/keywords.gperf" 170#line 50 "scripts/genksyms/keywords.gperf"
166 {"unsigned", UNSIGNED_KEYW}, 171 {"unsigned", UNSIGNED_KEYW},
167#line 49 "scripts/genksyms/keywords.gperf" 172#line 51 "scripts/genksyms/keywords.gperf"
168 {"void", VOID_KEYW}, 173 {"void", VOID_KEYW},
169#line 42 "scripts/genksyms/keywords.gperf" 174#line 44 "scripts/genksyms/keywords.gperf"
170 {"short", SHORT_KEYW}, 175 {"short", SHORT_KEYW},
171 {""}, {""}, 176 {""}, {""},
172#line 50 "scripts/genksyms/keywords.gperf" 177#line 52 "scripts/genksyms/keywords.gperf"
173 {"volatile", VOLATILE_KEYW}, 178 {"volatile", VOLATILE_KEYW},
174 {""}, 179 {""},
175#line 37 "scripts/genksyms/keywords.gperf" 180#line 39 "scripts/genksyms/keywords.gperf"
176 {"float", FLOAT_KEYW}, 181 {"float", FLOAT_KEYW},
177#line 34 "scripts/genksyms/keywords.gperf" 182#line 36 "scripts/genksyms/keywords.gperf"
178 {"double", DOUBLE_KEYW}, 183 {"double", DOUBLE_KEYW},
179 {""}, 184 {""},
180#line 5 "scripts/genksyms/keywords.gperf" 185#line 7 "scripts/genksyms/keywords.gperf"
181 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW}, 186 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
182 {""}, {""}, 187 {""}, {""},
183#line 38 "scripts/genksyms/keywords.gperf" 188#line 40 "scripts/genksyms/keywords.gperf"
184 {"inline", INLINE_KEYW}, 189 {"inline", INLINE_KEYW},
185#line 6 "scripts/genksyms/keywords.gperf" 190#line 8 "scripts/genksyms/keywords.gperf"
186 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, 191 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
187#line 41 "scripts/genksyms/keywords.gperf" 192#line 43 "scripts/genksyms/keywords.gperf"
188 {"register", REGISTER_KEYW}, 193 {"register", REGISTER_KEYW},
189 {""}, 194 {""},
190#line 22 "scripts/genksyms/keywords.gperf" 195#line 24 "scripts/genksyms/keywords.gperf"
191 {"_Bool", BOOL_KEYW}, 196 {"_Bool", BOOL_KEYW},
192#line 43 "scripts/genksyms/keywords.gperf" 197#line 45 "scripts/genksyms/keywords.gperf"
193 {"signed", SIGNED_KEYW}, 198 {"signed", SIGNED_KEYW},
194 {""}, {""}, 199 {""}, {""},
195#line 40 "scripts/genksyms/keywords.gperf" 200#line 42 "scripts/genksyms/keywords.gperf"
196 {"long", LONG_KEYW} 201 {"long", LONG_KEYW}
197 }; 202 };
198 203
diff --git a/scripts/genksyms/keywords.gperf b/scripts/genksyms/keywords.gperf
index 5ef3733225fb..8fe977a4d57b 100644
--- a/scripts/genksyms/keywords.gperf
+++ b/scripts/genksyms/keywords.gperf
@@ -1,4 +1,6 @@
1%{ 1%{
2struct resword;
3static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
2%} 4%}
3struct resword { const char *name; int token; } 5struct resword { const char *name; int token; }
4%% 6%%
diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 102b76608f35..81a67a458e78 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -5,8 +5,8 @@
5# Print selected MAINTAINERS information for 5# Print selected MAINTAINERS information for
6# the files modified in a patch or for a file 6# the files modified in a patch or for a file
7# 7#
8# usage: perl scripts/get_maintainers.pl [OPTIONS] <patch> 8# usage: perl scripts/get_maintainer.pl [OPTIONS] <patch>
9# perl scripts/get_maintainers.pl [OPTIONS] -f <file> 9# perl scripts/get_maintainer.pl [OPTIONS] -f <file>
10# 10#
11# Licensed under the terms of the GNU GPL License version 2 11# Licensed under the terms of the GNU GPL License version 2
12 12
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 6d69c7ccdcc7..80599e3a7994 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -30,7 +30,7 @@ silentoldconfig: $(obj)/conf
30 $< -s $(Kconfig) 30 $< -s $(Kconfig)
31 31
32localmodconfig: $(obj)/streamline_config.pl $(obj)/conf 32localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
33 $(Q)perl $< $(Kconfig) > .tmp.config 33 $(Q)perl $< $(srctree) $(Kconfig) > .tmp.config
34 $(Q)if [ -f .config ]; then \ 34 $(Q)if [ -f .config ]; then \
35 cmp -s .tmp.config .config || \ 35 cmp -s .tmp.config .config || \
36 (mv -f .config .config.old.1; \ 36 (mv -f .config .config.old.1; \
@@ -44,7 +44,7 @@ localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
44 $(Q)rm -f .tmp.config 44 $(Q)rm -f .tmp.config
45 45
46localyesconfig: $(obj)/streamline_config.pl $(obj)/conf 46localyesconfig: $(obj)/streamline_config.pl $(obj)/conf
47 $(Q)perl $< $(Kconfig) > .tmp.config 47 $(Q)perl $< $(srctree) $(Kconfig) > .tmp.config
48 $(Q)sed -i s/=m/=y/ .tmp.config 48 $(Q)sed -i s/=m/=y/ .tmp.config
49 $(Q)if [ -f .config ]; then \ 49 $(Q)if [ -f .config ]; then \
50 cmp -s .tmp.config .config || \ 50 cmp -s .tmp.config .config || \
diff --git a/scripts/kconfig/lex.zconf.c_shipped b/scripts/kconfig/lex.zconf.c_shipped
index dc3e81807d13..fdc7113b08d1 100644
--- a/scripts/kconfig/lex.zconf.c_shipped
+++ b/scripts/kconfig/lex.zconf.c_shipped
@@ -160,7 +160,15 @@ typedef unsigned int flex_uint32_t;
160 160
161/* Size of default input buffer. */ 161/* Size of default input buffer. */
162#ifndef YY_BUF_SIZE 162#ifndef YY_BUF_SIZE
163#ifdef __ia64__
164/* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
167 */
168#define YY_BUF_SIZE 32768
169#else
163#define YY_BUF_SIZE 16384 170#define YY_BUF_SIZE 16384
171#endif /* __ia64__ */
164#endif 172#endif
165 173
166/* The state buf must be large enough to hold one state per character in the main buffer. 174/* The state buf must be large enough to hold one state per character in the main buffer.
@@ -802,7 +810,7 @@ static int last_ts, first_ts;
802static void zconf_endhelp(void); 810static void zconf_endhelp(void);
803static void zconf_endfile(void); 811static void zconf_endfile(void);
804 812
805void new_string(void) 813static void new_string(void)
806{ 814{
807 text = malloc(START_STRSIZE); 815 text = malloc(START_STRSIZE);
808 text_asize = START_STRSIZE; 816 text_asize = START_STRSIZE;
@@ -810,7 +818,7 @@ void new_string(void)
810 *text = 0; 818 *text = 0;
811} 819}
812 820
813void append_string(const char *str, int size) 821static void append_string(const char *str, int size)
814{ 822{
815 int new_size = text_size + size + 1; 823 int new_size = text_size + size + 1;
816 if (new_size > text_asize) { 824 if (new_size > text_asize) {
@@ -824,7 +832,7 @@ void append_string(const char *str, int size)
824 text[text_size] = 0; 832 text[text_size] = 0;
825} 833}
826 834
827void alloc_string(const char *str, int size) 835static void alloc_string(const char *str, int size)
828{ 836{
829 text = malloc(size + 1); 837 text = malloc(size + 1);
830 memcpy(text, str, size); 838 memcpy(text, str, size);
@@ -914,7 +922,12 @@ static int input (void );
914 922
915/* Amount of stuff to slurp up with each read. */ 923/* Amount of stuff to slurp up with each read. */
916#ifndef YY_READ_BUF_SIZE 924#ifndef YY_READ_BUF_SIZE
925#ifdef __ia64__
926/* On IA-64, the buffer size is 16k, not 8k */
927#define YY_READ_BUF_SIZE 16384
928#else
917#define YY_READ_BUF_SIZE 8192 929#define YY_READ_BUF_SIZE 8192
930#endif /* __ia64__ */
918#endif 931#endif
919 932
920/* Copy whatever the last rule matched to the standard output. */ 933/* Copy whatever the last rule matched to the standard output. */
@@ -922,7 +935,7 @@ static int input (void );
922/* This used to be an fputs(), but since the string might contain NUL's, 935/* This used to be an fputs(), but since the string might contain NUL's,
923 * we now use fwrite(). 936 * we now use fwrite().
924 */ 937 */
925#define ECHO fwrite( zconftext, zconfleng, 1, zconfout ) 938#define ECHO do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0)
926#endif 939#endif
927 940
928/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 941/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -2060,8 +2073,8 @@ YY_BUFFER_STATE zconf_scan_string (yyconst char * yystr )
2060 2073
2061/** Setup the input buffer state to scan the given bytes. The next call to zconflex() will 2074/** Setup the input buffer state to scan the given bytes. The next call to zconflex() will
2062 * scan from a @e copy of @a bytes. 2075 * scan from a @e copy of @a bytes.
2063 * @param bytes the byte buffer to scan 2076 * @param yybytes the byte buffer to scan
2064 * @param len the number of bytes in the buffer pointed to by @a bytes. 2077 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2065 * 2078 *
2066 * @return the newly allocated buffer state object. 2079 * @return the newly allocated buffer state object.
2067 */ 2080 */
diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
index 95984db8e1e0..0d800820c3cd 100644
--- a/scripts/kconfig/streamline_config.pl
+++ b/scripts/kconfig/streamline_config.pl
@@ -43,7 +43,6 @@
43# make oldconfig 43# make oldconfig
44# 44#
45my $config = ".config"; 45my $config = ".config";
46my $linuxpath = ".";
47 46
48my $uname = `uname -r`; 47my $uname = `uname -r`;
49chomp $uname; 48chomp $uname;
@@ -111,7 +110,11 @@ sub find_config {
111 110
112find_config; 111find_config;
113 112
114my @makefiles = `find $linuxpath -name Makefile`; 113# Get the build source and top level Kconfig file (passed in)
114my $ksource = $ARGV[0];
115my $kconfig = $ARGV[1];
116
117my @makefiles = `find $ksource -name Makefile`;
115my %depends; 118my %depends;
116my %selects; 119my %selects;
117my %prompts; 120my %prompts;
@@ -119,9 +122,6 @@ my %objects;
119my $var; 122my $var;
120my $cont = 0; 123my $cont = 0;
121 124
122# Get the top level Kconfig file (passed in)
123my $kconfig = $ARGV[0];
124
125# prevent recursion 125# prevent recursion
126my %read_kconfigs; 126my %read_kconfigs;
127 127
@@ -132,7 +132,7 @@ sub read_kconfig {
132 my $config; 132 my $config;
133 my @kconfigs; 133 my @kconfigs;
134 134
135 open(KIN, $kconfig) || die "Can't open $kconfig"; 135 open(KIN, "$ksource/$kconfig") || die "Can't open $kconfig";
136 while (<KIN>) { 136 while (<KIN>) {
137 chomp; 137 chomp;
138 138
diff --git a/scripts/kconfig/zconf.gperf b/scripts/kconfig/zconf.gperf
index 25ef5d01c0af..d8bc74249622 100644
--- a/scripts/kconfig/zconf.gperf
+++ b/scripts/kconfig/zconf.gperf
@@ -9,6 +9,8 @@
9 9
10struct kconf_id; 10struct kconf_id;
11 11
12static struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
13
12%% 14%%
13mainmenu, T_MAINMENU, TF_COMMAND 15mainmenu, T_MAINMENU, TF_COMMAND
14menu, T_MENU, TF_COMMAND 16menu, T_MENU, TF_COMMAND
diff --git a/scripts/kconfig/zconf.hash.c_shipped b/scripts/kconfig/zconf.hash.c_shipped
index 5c73d51339d8..c1748faf4634 100644
--- a/scripts/kconfig/zconf.hash.c_shipped
+++ b/scripts/kconfig/zconf.hash.c_shipped
@@ -30,6 +30,8 @@
30#endif 30#endif
31 31
32struct kconf_id; 32struct kconf_id;
33
34static struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
33/* maximum key range = 47, duplicates = 0 */ 35/* maximum key range = 47, duplicates = 0 */
34 36
35#ifdef __GNUC__ 37#ifdef __GNUC__
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l
index 21ff69c9ad4e..d8f7236cb0a3 100644
--- a/scripts/kconfig/zconf.l
+++ b/scripts/kconfig/zconf.l
@@ -39,7 +39,7 @@ static int last_ts, first_ts;
39static void zconf_endhelp(void); 39static void zconf_endhelp(void);
40static void zconf_endfile(void); 40static void zconf_endfile(void);
41 41
42void new_string(void) 42static void new_string(void)
43{ 43{
44 text = malloc(START_STRSIZE); 44 text = malloc(START_STRSIZE);
45 text_asize = START_STRSIZE; 45 text_asize = START_STRSIZE;
@@ -47,7 +47,7 @@ void new_string(void)
47 *text = 0; 47 *text = 0;
48} 48}
49 49
50void append_string(const char *str, int size) 50static void append_string(const char *str, int size)
51{ 51{
52 int new_size = text_size + size + 1; 52 int new_size = text_size + size + 1;
53 if (new_size > text_asize) { 53 if (new_size > text_asize) {
@@ -61,7 +61,7 @@ void append_string(const char *str, int size)
61 text[text_size] = 0; 61 text[text_size] = 0;
62} 62}
63 63
64void alloc_string(const char *str, int size) 64static void alloc_string(const char *str, int size)
65{ 65{
66 text = malloc(size + 1); 66 text = malloc(size + 1);
67 memcpy(text, str, size); 67 memcpy(text, str, size);
diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped
index 95df833b5a9d..6e9dcd59aa87 100644
--- a/scripts/kconfig/zconf.tab.c_shipped
+++ b/scripts/kconfig/zconf.tab.c_shipped
@@ -1,24 +1,23 @@
1/* A Bison parser, made by GNU Bison 2.3. */
2 1
3/* Skeleton implementation for Bison's Yacc-like parsers in C 2/* A Bison parser, made by GNU Bison 2.4.1. */
4 3
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 4/* Skeleton implementation for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc. 7 Free Software Foundation, Inc.
7 8
8 This program is free software; you can redistribute it and/or modify 9 This program is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by 10 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option) 11 the Free Software Foundation, either version 3 of the License, or
11 any later version. 12 (at your option) any later version.
12 13
13 This program is distributed in the hope that it will be useful, 14 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details. 17 GNU General Public License for more details.
17 18
18 You should have received a copy of the GNU General Public License 19 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
22 21
23/* As a special exception, you may create a larger work that contains 22/* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work 23 part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
29 special exception, which will cause the skeleton and the resulting 28 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public 29 Bison output files to be licensed under the GNU General Public
31 License without this special exception. 30 License without this special exception.
32 31
33 This special exception was added by the Free Software Foundation in 32 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */ 33 version 2.2 of Bison. */
35 34
@@ -47,7 +46,7 @@
47#define YYBISON 1 46#define YYBISON 1
48 47
49/* Bison version. */ 48/* Bison version. */
50#define YYBISON_VERSION "2.3" 49#define YYBISON_VERSION "2.4.1"
51 50
52/* Skeleton name. */ 51/* Skeleton name. */
53#define YYSKELETON_NAME "yacc.c" 52#define YYSKELETON_NAME "yacc.c"
@@ -55,94 +54,23 @@
55/* Pure parsers. */ 54/* Pure parsers. */
56#define YYPURE 0 55#define YYPURE 0
57 56
57/* Push parsers. */
58#define YYPUSH 0
59
60/* Pull parsers. */
61#define YYPULL 1
62
58/* Using locations. */ 63/* Using locations. */
59#define YYLSP_NEEDED 0 64#define YYLSP_NEEDED 0
60 65
61/* Substitute the variable and function names. */ 66/* Substitute the variable and function names. */
62#define yyparse zconfparse 67#define yyparse zconfparse
63#define yylex zconflex 68#define yylex zconflex
64#define yyerror zconferror 69#define yyerror zconferror
65#define yylval zconflval 70#define yylval zconflval
66#define yychar zconfchar 71#define yychar zconfchar
67#define yydebug zconfdebug 72#define yydebug zconfdebug
68#define yynerrs zconfnerrs 73#define yynerrs zconfnerrs
69
70
71/* Tokens. */
72#ifndef YYTOKENTYPE
73# define YYTOKENTYPE
74 /* Put the tokens into the symbol table, so that GDB and other debuggers
75 know about them. */
76 enum yytokentype {
77 T_MAINMENU = 258,
78 T_MENU = 259,
79 T_ENDMENU = 260,
80 T_SOURCE = 261,
81 T_CHOICE = 262,
82 T_ENDCHOICE = 263,
83 T_COMMENT = 264,
84 T_CONFIG = 265,
85 T_MENUCONFIG = 266,
86 T_HELP = 267,
87 T_HELPTEXT = 268,
88 T_IF = 269,
89 T_ENDIF = 270,
90 T_DEPENDS = 271,
91 T_OPTIONAL = 272,
92 T_PROMPT = 273,
93 T_TYPE = 274,
94 T_DEFAULT = 275,
95 T_SELECT = 276,
96 T_RANGE = 277,
97 T_OPTION = 278,
98 T_ON = 279,
99 T_WORD = 280,
100 T_WORD_QUOTE = 281,
101 T_UNEQUAL = 282,
102 T_CLOSE_PAREN = 283,
103 T_OPEN_PAREN = 284,
104 T_EOL = 285,
105 T_OR = 286,
106 T_AND = 287,
107 T_EQUAL = 288,
108 T_NOT = 289
109 };
110#endif
111/* Tokens. */
112#define T_MAINMENU 258
113#define T_MENU 259
114#define T_ENDMENU 260
115#define T_SOURCE 261
116#define T_CHOICE 262
117#define T_ENDCHOICE 263
118#define T_COMMENT 264
119#define T_CONFIG 265
120#define T_MENUCONFIG 266
121#define T_HELP 267
122#define T_HELPTEXT 268
123#define T_IF 269
124#define T_ENDIF 270
125#define T_DEPENDS 271
126#define T_OPTIONAL 272
127#define T_PROMPT 273
128#define T_TYPE 274
129#define T_DEFAULT 275
130#define T_SELECT 276
131#define T_RANGE 277
132#define T_OPTION 278
133#define T_ON 279
134#define T_WORD 280
135#define T_WORD_QUOTE 281
136#define T_UNEQUAL 282
137#define T_CLOSE_PAREN 283
138#define T_OPEN_PAREN 284
139#define T_EOL 285
140#define T_OR 286
141#define T_AND 287
142#define T_EQUAL 288
143#define T_NOT 289
144
145
146 74
147 75
148/* Copy the first part of user declarations. */ 76/* Copy the first part of user declarations. */
@@ -163,8 +91,6 @@
163#define LKC_DIRECT_LINK 91#define LKC_DIRECT_LINK
164#include "lkc.h" 92#include "lkc.h"
165 93
166#include "zconf.hash.c"
167
168#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt) 94#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
169 95
170#define PRINTD 0x0001 96#define PRINTD 0x0001
@@ -188,6 +114,7 @@ static struct menu *current_menu, *current_entry;
188#endif 114#endif
189 115
190 116
117
191/* Enabling traces. */ 118/* Enabling traces. */
192#ifndef YYDEBUG 119#ifndef YYDEBUG
193# define YYDEBUG 0 120# define YYDEBUG 0
@@ -206,31 +133,77 @@ static struct menu *current_menu, *current_entry;
206# define YYTOKEN_TABLE 0 133# define YYTOKEN_TABLE 0
207#endif 134#endif
208 135
136
137/* Tokens. */
138#ifndef YYTOKENTYPE
139# define YYTOKENTYPE
140 /* Put the tokens into the symbol table, so that GDB and other debuggers
141 know about them. */
142 enum yytokentype {
143 T_MAINMENU = 258,
144 T_MENU = 259,
145 T_ENDMENU = 260,
146 T_SOURCE = 261,
147 T_CHOICE = 262,
148 T_ENDCHOICE = 263,
149 T_COMMENT = 264,
150 T_CONFIG = 265,
151 T_MENUCONFIG = 266,
152 T_HELP = 267,
153 T_HELPTEXT = 268,
154 T_IF = 269,
155 T_ENDIF = 270,
156 T_DEPENDS = 271,
157 T_OPTIONAL = 272,
158 T_PROMPT = 273,
159 T_TYPE = 274,
160 T_DEFAULT = 275,
161 T_SELECT = 276,
162 T_RANGE = 277,
163 T_OPTION = 278,
164 T_ON = 279,
165 T_WORD = 280,
166 T_WORD_QUOTE = 281,
167 T_UNEQUAL = 282,
168 T_CLOSE_PAREN = 283,
169 T_OPEN_PAREN = 284,
170 T_EOL = 285,
171 T_OR = 286,
172 T_AND = 287,
173 T_EQUAL = 288,
174 T_NOT = 289
175 };
176#endif
177
178
179
209#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 180#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
210typedef union YYSTYPE 181typedef union YYSTYPE
211
212{ 182{
183
184
213 char *string; 185 char *string;
214 struct file *file; 186 struct file *file;
215 struct symbol *symbol; 187 struct symbol *symbol;
216 struct expr *expr; 188 struct expr *expr;
217 struct menu *menu; 189 struct menu *menu;
218 struct kconf_id *id; 190 struct kconf_id *id;
219}
220/* Line 187 of yacc.c. */
221 191
222 YYSTYPE; 192
193
194} YYSTYPE;
195# define YYSTYPE_IS_TRIVIAL 1
223# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 196# define yystype YYSTYPE /* obsolescent; will be withdrawn */
224# define YYSTYPE_IS_DECLARED 1 197# define YYSTYPE_IS_DECLARED 1
225# define YYSTYPE_IS_TRIVIAL 1
226#endif 198#endif
227 199
228 200
229
230/* Copy the second part of user declarations. */ 201/* Copy the second part of user declarations. */
231 202
232 203
233/* Line 216 of yacc.c. */ 204/* Include zconf.hash.c here so it can see the token constants. */
205#include "zconf.hash.c"
206
234 207
235 208
236#ifdef short 209#ifdef short
@@ -306,14 +279,14 @@ typedef short int yytype_int16;
306#if (defined __STDC__ || defined __C99__FUNC__ \ 279#if (defined __STDC__ || defined __C99__FUNC__ \
307 || defined __cplusplus || defined _MSC_VER) 280 || defined __cplusplus || defined _MSC_VER)
308static int 281static int
309YYID (int i) 282YYID (int yyi)
310#else 283#else
311static int 284static int
312YYID (i) 285YYID (yyi)
313 int i; 286 int yyi;
314#endif 287#endif
315{ 288{
316 return i; 289 return yyi;
317} 290}
318#endif 291#endif
319 292
@@ -394,9 +367,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
394/* A type that is properly aligned for any stack member. */ 367/* A type that is properly aligned for any stack member. */
395union yyalloc 368union yyalloc
396{ 369{
397 yytype_int16 yyss; 370 yytype_int16 yyss_alloc;
398 YYSTYPE yyvs; 371 YYSTYPE yyvs_alloc;
399 }; 372};
400 373
401/* The size of the maximum gap between one aligned stack and the next. */ 374/* The size of the maximum gap between one aligned stack and the next. */
402# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 375# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -430,12 +403,12 @@ union yyalloc
430 elements in the stack, and YYPTR gives the new location of the 403 elements in the stack, and YYPTR gives the new location of the
431 stack. Advance YYPTR to a properly aligned location for the next 404 stack. Advance YYPTR to a properly aligned location for the next
432 stack. */ 405 stack. */
433# define YYSTACK_RELOCATE(Stack) \ 406# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
434 do \ 407 do \
435 { \ 408 { \
436 YYSIZE_T yynewbytes; \ 409 YYSIZE_T yynewbytes; \
437 YYCOPY (&yyptr->Stack, Stack, yysize); \ 410 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
438 Stack = &yyptr->Stack; \ 411 Stack = &yyptr->Stack_alloc; \
439 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 412 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
440 yyptr += yynewbytes / sizeof (*yyptr); \ 413 yyptr += yynewbytes / sizeof (*yyptr); \
441 } \ 414 } \
@@ -558,18 +531,18 @@ static const yytype_int8 yyrhs[] =
558/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 531/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
559static const yytype_uint16 yyrline[] = 532static const yytype_uint16 yyrline[] =
560{ 533{
561 0, 104, 104, 106, 108, 109, 110, 111, 112, 113, 534 0, 107, 107, 109, 111, 112, 113, 114, 115, 116,
562 114, 118, 122, 122, 122, 122, 122, 122, 122, 126, 535 117, 121, 125, 125, 125, 125, 125, 125, 125, 129,
563 127, 128, 129, 130, 131, 135, 136, 142, 150, 156, 536 130, 131, 132, 133, 134, 138, 139, 145, 153, 159,
564 164, 174, 176, 177, 178, 179, 180, 181, 184, 192, 537 167, 177, 179, 180, 181, 182, 183, 184, 187, 195,
565 198, 208, 214, 220, 223, 225, 236, 237, 242, 251, 538 201, 211, 217, 223, 226, 228, 239, 240, 245, 254,
566 256, 264, 267, 269, 270, 271, 272, 273, 276, 282, 539 259, 267, 270, 272, 273, 274, 275, 276, 279, 285,
567 293, 299, 309, 311, 316, 324, 332, 335, 337, 338, 540 296, 302, 312, 314, 319, 327, 335, 338, 340, 341,
568 339, 344, 351, 356, 364, 367, 369, 370, 371, 374, 541 342, 347, 354, 359, 367, 370, 372, 373, 374, 377,
569 382, 389, 396, 402, 409, 411, 412, 413, 416, 424, 542 385, 392, 399, 405, 412, 414, 415, 416, 419, 427,
570 426, 431, 432, 435, 436, 437, 441, 442, 445, 446, 543 429, 434, 435, 438, 439, 440, 444, 445, 448, 449,
571 449, 450, 451, 452, 453, 454, 455, 458, 459, 462, 544 452, 453, 454, 455, 456, 457, 458, 461, 462, 465,
572 463 545 466
573}; 546};
574#endif 547#endif
575 548
@@ -985,17 +958,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
985#if (defined __STDC__ || defined __C99__FUNC__ \ 958#if (defined __STDC__ || defined __C99__FUNC__ \
986 || defined __cplusplus || defined _MSC_VER) 959 || defined __cplusplus || defined _MSC_VER)
987static void 960static void
988yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) 961yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
989#else 962#else
990static void 963static void
991yy_stack_print (bottom, top) 964yy_stack_print (yybottom, yytop)
992 yytype_int16 *bottom; 965 yytype_int16 *yybottom;
993 yytype_int16 *top; 966 yytype_int16 *yytop;
994#endif 967#endif
995{ 968{
996 YYFPRINTF (stderr, "Stack now"); 969 YYFPRINTF (stderr, "Stack now");
997 for (; bottom <= top; ++bottom) 970 for (; yybottom <= yytop; yybottom++)
998 YYFPRINTF (stderr, " %d", *bottom); 971 {
972 int yybot = *yybottom;
973 YYFPRINTF (stderr, " %d", yybot);
974 }
999 YYFPRINTF (stderr, "\n"); 975 YYFPRINTF (stderr, "\n");
1000} 976}
1001 977
@@ -1029,11 +1005,11 @@ yy_reduce_print (yyvsp, yyrule)
1029 /* The symbols being reduced. */ 1005 /* The symbols being reduced. */
1030 for (yyi = 0; yyi < yynrhs; yyi++) 1006 for (yyi = 0; yyi < yynrhs; yyi++)
1031 { 1007 {
1032 fprintf (stderr, " $%d = ", yyi + 1); 1008 YYFPRINTF (stderr, " $%d = ", yyi + 1);
1033 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1009 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1034 &(yyvsp[(yyi + 1) - (yynrhs)]) 1010 &(yyvsp[(yyi + 1) - (yynrhs)])
1035 ); 1011 );
1036 fprintf (stderr, "\n"); 1012 YYFPRINTF (stderr, "\n");
1037 } 1013 }
1038} 1014}
1039 1015
@@ -1343,10 +1319,8 @@ yydestruct (yymsg, yytype, yyvaluep)
1343 break; 1319 break;
1344 } 1320 }
1345} 1321}
1346
1347 1322
1348/* Prevent warnings from -Wmissing-prototypes. */ 1323/* Prevent warnings from -Wmissing-prototypes. */
1349
1350#ifdef YYPARSE_PARAM 1324#ifdef YYPARSE_PARAM
1351#if defined __STDC__ || defined __cplusplus 1325#if defined __STDC__ || defined __cplusplus
1352int yyparse (void *YYPARSE_PARAM); 1326int yyparse (void *YYPARSE_PARAM);
@@ -1362,11 +1336,10 @@ int yyparse ();
1362#endif /* ! YYPARSE_PARAM */ 1336#endif /* ! YYPARSE_PARAM */
1363 1337
1364 1338
1365 1339/* The lookahead symbol. */
1366/* The look-ahead symbol. */
1367int yychar; 1340int yychar;
1368 1341
1369/* The semantic value of the look-ahead symbol. */ 1342/* The semantic value of the lookahead symbol. */
1370YYSTYPE yylval; 1343YYSTYPE yylval;
1371 1344
1372/* Number of syntax errors so far. */ 1345/* Number of syntax errors so far. */
@@ -1374,9 +1347,9 @@ int yynerrs;
1374 1347
1375 1348
1376 1349
1377/*----------. 1350/*-------------------------.
1378| yyparse. | 1351| yyparse or yypush_parse. |
1379`----------*/ 1352`-------------------------*/
1380 1353
1381#ifdef YYPARSE_PARAM 1354#ifdef YYPARSE_PARAM
1382#if (defined __STDC__ || defined __C99__FUNC__ \ 1355#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1400,66 +1373,68 @@ yyparse ()
1400#endif 1373#endif
1401#endif 1374#endif
1402{ 1375{
1403
1404 int yystate;
1405 int yyn;
1406 int yyresult;
1407 /* Number of tokens to shift before error messages enabled. */
1408 int yyerrstatus;
1409 /* Look-ahead token as an internal (translated) token number. */
1410 int yytoken = 0;
1411#if YYERROR_VERBOSE
1412 /* Buffer for error messages, and its allocated size. */
1413 char yymsgbuf[128];
1414 char *yymsg = yymsgbuf;
1415 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1416#endif
1417
1418 /* Three stacks and their tools:
1419 `yyss': related to states,
1420 `yyvs': related to semantic values,
1421 `yyls': related to locations.
1422 1376
1423 Refer to the stacks thru separate pointers, to allow yyoverflow
1424 to reallocate them elsewhere. */
1425 1377
1426 /* The state stack. */ 1378 int yystate;
1427 yytype_int16 yyssa[YYINITDEPTH]; 1379 /* Number of tokens to shift before error messages enabled. */
1428 yytype_int16 *yyss = yyssa; 1380 int yyerrstatus;
1429 yytype_int16 *yyssp;
1430 1381
1431 /* The semantic value stack. */ 1382 /* The stacks and their tools:
1432 YYSTYPE yyvsa[YYINITDEPTH]; 1383 `yyss': related to states.
1433 YYSTYPE *yyvs = yyvsa; 1384 `yyvs': related to semantic values.
1434 YYSTYPE *yyvsp;
1435 1385
1386 Refer to the stacks thru separate pointers, to allow yyoverflow
1387 to reallocate them elsewhere. */
1436 1388
1389 /* The state stack. */
1390 yytype_int16 yyssa[YYINITDEPTH];
1391 yytype_int16 *yyss;
1392 yytype_int16 *yyssp;
1437 1393
1438#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1394 /* The semantic value stack. */
1395 YYSTYPE yyvsa[YYINITDEPTH];
1396 YYSTYPE *yyvs;
1397 YYSTYPE *yyvsp;
1439 1398
1440 YYSIZE_T yystacksize = YYINITDEPTH; 1399 YYSIZE_T yystacksize;
1441 1400
1401 int yyn;
1402 int yyresult;
1403 /* Lookahead token as an internal (translated) token number. */
1404 int yytoken;
1442 /* The variables used to return semantic value and location from the 1405 /* The variables used to return semantic value and location from the
1443 action routines. */ 1406 action routines. */
1444 YYSTYPE yyval; 1407 YYSTYPE yyval;
1445 1408
1409#if YYERROR_VERBOSE
1410 /* Buffer for error messages, and its allocated size. */
1411 char yymsgbuf[128];
1412 char *yymsg = yymsgbuf;
1413 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1414#endif
1415
1416#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1446 1417
1447 /* The number of symbols on the RHS of the reduced rule. 1418 /* The number of symbols on the RHS of the reduced rule.
1448 Keep to zero when no symbol should be popped. */ 1419 Keep to zero when no symbol should be popped. */
1449 int yylen = 0; 1420 int yylen = 0;
1450 1421
1422 yytoken = 0;
1423 yyss = yyssa;
1424 yyvs = yyvsa;
1425 yystacksize = YYINITDEPTH;
1426
1451 YYDPRINTF ((stderr, "Starting parse\n")); 1427 YYDPRINTF ((stderr, "Starting parse\n"));
1452 1428
1453 yystate = 0; 1429 yystate = 0;
1454 yyerrstatus = 0; 1430 yyerrstatus = 0;
1455 yynerrs = 0; 1431 yynerrs = 0;
1456 yychar = YYEMPTY; /* Cause a token to be read. */ 1432 yychar = YYEMPTY; /* Cause a token to be read. */
1457 1433
1458 /* Initialize stack pointers. 1434 /* Initialize stack pointers.
1459 Waste one element of value and location stack 1435 Waste one element of value and location stack
1460 so that they stay on the same level as the state stack. 1436 so that they stay on the same level as the state stack.
1461 The wasted elements are never initialized. */ 1437 The wasted elements are never initialized. */
1462
1463 yyssp = yyss; 1438 yyssp = yyss;
1464 yyvsp = yyvs; 1439 yyvsp = yyvs;
1465 1440
@@ -1489,7 +1464,6 @@ yyparse ()
1489 YYSTYPE *yyvs1 = yyvs; 1464 YYSTYPE *yyvs1 = yyvs;
1490 yytype_int16 *yyss1 = yyss; 1465 yytype_int16 *yyss1 = yyss;
1491 1466
1492
1493 /* Each stack pointer address is followed by the size of the 1467 /* Each stack pointer address is followed by the size of the
1494 data in use in that stack, in bytes. This used to be a 1468 data in use in that stack, in bytes. This used to be a
1495 conditional around just the two extra args, but that might 1469 conditional around just the two extra args, but that might
@@ -1497,7 +1471,6 @@ yyparse ()
1497 yyoverflow (YY_("memory exhausted"), 1471 yyoverflow (YY_("memory exhausted"),
1498 &yyss1, yysize * sizeof (*yyssp), 1472 &yyss1, yysize * sizeof (*yyssp),
1499 &yyvs1, yysize * sizeof (*yyvsp), 1473 &yyvs1, yysize * sizeof (*yyvsp),
1500
1501 &yystacksize); 1474 &yystacksize);
1502 1475
1503 yyss = yyss1; 1476 yyss = yyss1;
@@ -1520,9 +1493,8 @@ yyparse ()
1520 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1493 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1521 if (! yyptr) 1494 if (! yyptr)
1522 goto yyexhaustedlab; 1495 goto yyexhaustedlab;
1523 YYSTACK_RELOCATE (yyss); 1496 YYSTACK_RELOCATE (yyss_alloc, yyss);
1524 YYSTACK_RELOCATE (yyvs); 1497 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1525
1526# undef YYSTACK_RELOCATE 1498# undef YYSTACK_RELOCATE
1527 if (yyss1 != yyssa) 1499 if (yyss1 != yyssa)
1528 YYSTACK_FREE (yyss1); 1500 YYSTACK_FREE (yyss1);
@@ -1533,7 +1505,6 @@ yyparse ()
1533 yyssp = yyss + yysize - 1; 1505 yyssp = yyss + yysize - 1;
1534 yyvsp = yyvs + yysize - 1; 1506 yyvsp = yyvs + yysize - 1;
1535 1507
1536
1537 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1508 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1538 (unsigned long int) yystacksize)); 1509 (unsigned long int) yystacksize));
1539 1510
@@ -1543,6 +1514,9 @@ yyparse ()
1543 1514
1544 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1515 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1545 1516
1517 if (yystate == YYFINAL)
1518 YYACCEPT;
1519
1546 goto yybackup; 1520 goto yybackup;
1547 1521
1548/*-----------. 1522/*-----------.
@@ -1551,16 +1525,16 @@ yyparse ()
1551yybackup: 1525yybackup:
1552 1526
1553 /* Do appropriate processing given the current state. Read a 1527 /* Do appropriate processing given the current state. Read a
1554 look-ahead token if we need one and don't already have one. */ 1528 lookahead token if we need one and don't already have one. */
1555 1529
1556 /* First try to decide what to do without reference to look-ahead token. */ 1530 /* First try to decide what to do without reference to lookahead token. */
1557 yyn = yypact[yystate]; 1531 yyn = yypact[yystate];
1558 if (yyn == YYPACT_NINF) 1532 if (yyn == YYPACT_NINF)
1559 goto yydefault; 1533 goto yydefault;
1560 1534
1561 /* Not known => get a look-ahead token if don't already have one. */ 1535 /* Not known => get a lookahead token if don't already have one. */
1562 1536
1563 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ 1537 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1564 if (yychar == YYEMPTY) 1538 if (yychar == YYEMPTY)
1565 { 1539 {
1566 YYDPRINTF ((stderr, "Reading a token: ")); 1540 YYDPRINTF ((stderr, "Reading a token: "));
@@ -1592,20 +1566,16 @@ yybackup:
1592 goto yyreduce; 1566 goto yyreduce;
1593 } 1567 }
1594 1568
1595 if (yyn == YYFINAL)
1596 YYACCEPT;
1597
1598 /* Count tokens shifted since error; after three, turn off error 1569 /* Count tokens shifted since error; after three, turn off error
1599 status. */ 1570 status. */
1600 if (yyerrstatus) 1571 if (yyerrstatus)
1601 yyerrstatus--; 1572 yyerrstatus--;
1602 1573
1603 /* Shift the look-ahead token. */ 1574 /* Shift the lookahead token. */
1604 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1575 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1605 1576
1606 /* Discard the shifted token unless it is eof. */ 1577 /* Discard the shifted token. */
1607 if (yychar != YYEOF) 1578 yychar = YYEMPTY;
1608 yychar = YYEMPTY;
1609 1579
1610 yystate = yyn; 1580 yystate = yyn;
1611 *++yyvsp = yylval; 1581 *++yyvsp = yylval;
@@ -2029,7 +1999,6 @@ yyreduce:
2029 break; 1999 break;
2030 2000
2031 2001
2032/* Line 1267 of yacc.c. */
2033 2002
2034 default: break; 2003 default: break;
2035 } 2004 }
@@ -2041,7 +2010,6 @@ yyreduce:
2041 2010
2042 *++yyvsp = yyval; 2011 *++yyvsp = yyval;
2043 2012
2044
2045 /* Now `shift' the result of the reduction. Determine what state 2013 /* Now `shift' the result of the reduction. Determine what state
2046 that goes to, based on the state we popped back to and the rule 2014 that goes to, based on the state we popped back to and the rule
2047 number reduced by. */ 2015 number reduced by. */
@@ -2106,7 +2074,7 @@ yyerrlab:
2106 2074
2107 if (yyerrstatus == 3) 2075 if (yyerrstatus == 3)
2108 { 2076 {
2109 /* If just tried and failed to reuse look-ahead token after an 2077 /* If just tried and failed to reuse lookahead token after an
2110 error, discard it. */ 2078 error, discard it. */
2111 2079
2112 if (yychar <= YYEOF) 2080 if (yychar <= YYEOF)
@@ -2123,7 +2091,7 @@ yyerrlab:
2123 } 2091 }
2124 } 2092 }
2125 2093
2126 /* Else will try to reuse look-ahead token after shifting the error 2094 /* Else will try to reuse lookahead token after shifting the error
2127 token. */ 2095 token. */
2128 goto yyerrlab1; 2096 goto yyerrlab1;
2129 2097
@@ -2180,9 +2148,6 @@ yyerrlab1:
2180 YY_STACK_PRINT (yyss, yyssp); 2148 YY_STACK_PRINT (yyss, yyssp);
2181 } 2149 }
2182 2150
2183 if (yyn == YYFINAL)
2184 YYACCEPT;
2185
2186 *++yyvsp = yylval; 2151 *++yyvsp = yylval;
2187 2152
2188 2153
@@ -2207,7 +2172,7 @@ yyabortlab:
2207 yyresult = 1; 2172 yyresult = 1;
2208 goto yyreturn; 2173 goto yyreturn;
2209 2174
2210#ifndef yyoverflow 2175#if !defined(yyoverflow) || YYERROR_VERBOSE
2211/*-------------------------------------------------. 2176/*-------------------------------------------------.
2212| yyexhaustedlab -- memory exhaustion comes here. | 2177| yyexhaustedlab -- memory exhaustion comes here. |
2213`-------------------------------------------------*/ 2178`-------------------------------------------------*/
@@ -2218,7 +2183,7 @@ yyexhaustedlab:
2218#endif 2183#endif
2219 2184
2220yyreturn: 2185yyreturn:
2221 if (yychar != YYEOF && yychar != YYEMPTY) 2186 if (yychar != YYEMPTY)
2222 yydestruct ("Cleanup: discarding lookahead", 2187 yydestruct ("Cleanup: discarding lookahead",
2223 yytoken, &yylval); 2188 yytoken, &yylval);
2224 /* Do not reclaim the symbols of the rule which action triggered 2189 /* Do not reclaim the symbols of the rule which action triggered
@@ -2284,7 +2249,7 @@ void conf_parse(const char *name)
2284 sym_set_change_count(1); 2249 sym_set_change_count(1);
2285} 2250}
2286 2251
2287const char *zconf_tokenname(int token) 2252static const char *zconf_tokenname(int token)
2288{ 2253{
2289 switch (token) { 2254 switch (token) {
2290 case T_MENU: return "menu"; 2255 case T_MENU: return "menu";
@@ -2348,7 +2313,7 @@ static void zconferror(const char *err)
2348#endif 2313#endif
2349} 2314}
2350 2315
2351void print_quoted_string(FILE *out, const char *str) 2316static void print_quoted_string(FILE *out, const char *str)
2352{ 2317{
2353 const char *p; 2318 const char *p;
2354 int len; 2319 int len;
@@ -2365,7 +2330,7 @@ void print_quoted_string(FILE *out, const char *str)
2365 putc('"', out); 2330 putc('"', out);
2366} 2331}
2367 2332
2368void print_symbol(FILE *out, struct menu *menu) 2333static void print_symbol(FILE *out, struct menu *menu)
2369{ 2334{
2370 struct symbol *sym = menu->sym; 2335 struct symbol *sym = menu->sym;
2371 struct property *prop; 2336 struct property *prop;
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
index 9710b82466f2..8c43491f8cc9 100644
--- a/scripts/kconfig/zconf.y
+++ b/scripts/kconfig/zconf.y
@@ -14,8 +14,6 @@
14#define LKC_DIRECT_LINK 14#define LKC_DIRECT_LINK
15#include "lkc.h" 15#include "lkc.h"
16 16
17#include "zconf.hash.c"
18
19#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt) 17#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
20 18
21#define PRINTD 0x0001 19#define PRINTD 0x0001
@@ -100,6 +98,11 @@ static struct menu *current_menu, *current_entry;
100 menu_end_menu(); 98 menu_end_menu();
101} if_entry menu_entry choice_entry 99} if_entry menu_entry choice_entry
102 100
101%{
102/* Include zconf.hash.c here so it can see the token constants. */
103#include "zconf.hash.c"
104%}
105
103%% 106%%
104input: stmt_list; 107input: stmt_list;
105 108
@@ -501,7 +504,7 @@ void conf_parse(const char *name)
501 sym_set_change_count(1); 504 sym_set_change_count(1);
502} 505}
503 506
504const char *zconf_tokenname(int token) 507static const char *zconf_tokenname(int token)
505{ 508{
506 switch (token) { 509 switch (token) {
507 case T_MENU: return "menu"; 510 case T_MENU: return "menu";
@@ -565,7 +568,7 @@ static void zconferror(const char *err)
565#endif 568#endif
566} 569}
567 570
568void print_quoted_string(FILE *out, const char *str) 571static void print_quoted_string(FILE *out, const char *str)
569{ 572{
570 const char *p; 573 const char *p;
571 int len; 574 int len;
@@ -582,7 +585,7 @@ void print_quoted_string(FILE *out, const char *str)
582 putc('"', out); 585 putc('"', out);
583} 586}
584 587
585void print_symbol(FILE *out, struct menu *menu) 588static void print_symbol(FILE *out, struct menu *menu)
586{ 589{
587 struct symbol *sym = menu->sym; 590 struct symbol *sym = menu->sym;
588 struct property *prop; 591 struct property *prop;
diff --git a/security/integrity/ima/ima_iint.c b/security/integrity/ima/ima_iint.c
index b8dd693f8790..a4e2b1dac943 100644
--- a/security/integrity/ima/ima_iint.c
+++ b/security/integrity/ima/ima_iint.c
@@ -58,11 +58,11 @@ struct ima_iint_cache *ima_iint_insert(struct inode *inode)
58 58
59 if (!ima_initialized) 59 if (!ima_initialized)
60 return iint; 60 return iint;
61 iint = kmem_cache_alloc(iint_cache, GFP_KERNEL); 61 iint = kmem_cache_alloc(iint_cache, GFP_NOFS);
62 if (!iint) 62 if (!iint)
63 return iint; 63 return iint;
64 64
65 rc = radix_tree_preload(GFP_KERNEL); 65 rc = radix_tree_preload(GFP_NOFS);
66 if (rc < 0) 66 if (rc < 0)
67 goto out; 67 goto out;
68 68
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index 1f0f8213e2d5..6c160a038b23 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -504,6 +504,10 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
504 int err; 504 int err;
505 505
506 aaci_pcm_hw_free(substream); 506 aaci_pcm_hw_free(substream);
507 if (aacirun->pcm_open) {
508 snd_ac97_pcm_close(aacirun->pcm);
509 aacirun->pcm_open = 0;
510 }
507 511
508 err = devdma_hw_alloc(NULL, substream, 512 err = devdma_hw_alloc(NULL, substream,
509 params_buffer_bytes(params)); 513 params_buffer_bytes(params));
@@ -517,7 +521,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
517 else 521 else
518 err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params), 522 err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params),
519 params_channels(params), 523 params_channels(params),
520 aacirun->pcm->r[1].slots); 524 aacirun->pcm->r[0].slots);
521 525
522 if (err) 526 if (err)
523 goto out; 527 goto out;
diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c
index c0adc14c91f0..70d6f25ba526 100644
--- a/sound/core/rawmidi.c
+++ b/sound/core/rawmidi.c
@@ -248,7 +248,8 @@ static int assign_substream(struct snd_rawmidi *rmidi, int subdevice,
248 list_for_each_entry(substream, &s->substreams, list) { 248 list_for_each_entry(substream, &s->substreams, list) {
249 if (substream->opened) { 249 if (substream->opened) {
250 if (stream == SNDRV_RAWMIDI_STREAM_INPUT || 250 if (stream == SNDRV_RAWMIDI_STREAM_INPUT ||
251 !(mode & SNDRV_RAWMIDI_LFLG_APPEND)) 251 !(mode & SNDRV_RAWMIDI_LFLG_APPEND) ||
252 !substream->append)
252 continue; 253 continue;
253 } 254 }
254 if (subdevice < 0 || subdevice == substream->number) { 255 if (subdevice < 0 || subdevice == substream->number) {
@@ -266,17 +267,21 @@ static int open_substream(struct snd_rawmidi *rmidi,
266{ 267{
267 int err; 268 int err;
268 269
269 err = snd_rawmidi_runtime_create(substream); 270 if (substream->use_count == 0) {
270 if (err < 0) 271 err = snd_rawmidi_runtime_create(substream);
271 return err; 272 if (err < 0)
272 err = substream->ops->open(substream); 273 return err;
273 if (err < 0) 274 err = substream->ops->open(substream);
274 return err; 275 if (err < 0) {
275 substream->opened = 1; 276 snd_rawmidi_runtime_free(substream);
276 if (substream->use_count++ == 0) 277 return err;
278 }
279 substream->opened = 1;
277 substream->active_sensing = 0; 280 substream->active_sensing = 0;
278 if (mode & SNDRV_RAWMIDI_LFLG_APPEND) 281 if (mode & SNDRV_RAWMIDI_LFLG_APPEND)
279 substream->append = 1; 282 substream->append = 1;
283 }
284 substream->use_count++;
280 rmidi->streams[substream->stream].substream_opened++; 285 rmidi->streams[substream->stream].substream_opened++;
281 return 0; 286 return 0;
282} 287}
@@ -297,27 +302,27 @@ static int rawmidi_open_priv(struct snd_rawmidi *rmidi, int subdevice, int mode,
297 SNDRV_RAWMIDI_STREAM_INPUT, 302 SNDRV_RAWMIDI_STREAM_INPUT,
298 mode, &sinput); 303 mode, &sinput);
299 if (err < 0) 304 if (err < 0)
300 goto __error; 305 return err;
301 } 306 }
302 if (mode & SNDRV_RAWMIDI_LFLG_OUTPUT) { 307 if (mode & SNDRV_RAWMIDI_LFLG_OUTPUT) {
303 err = assign_substream(rmidi, subdevice, 308 err = assign_substream(rmidi, subdevice,
304 SNDRV_RAWMIDI_STREAM_OUTPUT, 309 SNDRV_RAWMIDI_STREAM_OUTPUT,
305 mode, &soutput); 310 mode, &soutput);
306 if (err < 0) 311 if (err < 0)
307 goto __error; 312 return err;
308 } 313 }
309 314
310 if (sinput) { 315 if (sinput) {
311 err = open_substream(rmidi, sinput, mode); 316 err = open_substream(rmidi, sinput, mode);
312 if (err < 0) 317 if (err < 0)
313 goto __error; 318 return err;
314 } 319 }
315 if (soutput) { 320 if (soutput) {
316 err = open_substream(rmidi, soutput, mode); 321 err = open_substream(rmidi, soutput, mode);
317 if (err < 0) { 322 if (err < 0) {
318 if (sinput) 323 if (sinput)
319 close_substream(rmidi, sinput, 0); 324 close_substream(rmidi, sinput, 0);
320 goto __error; 325 return err;
321 } 326 }
322 } 327 }
323 328
@@ -325,13 +330,6 @@ static int rawmidi_open_priv(struct snd_rawmidi *rmidi, int subdevice, int mode,
325 rfile->input = sinput; 330 rfile->input = sinput;
326 rfile->output = soutput; 331 rfile->output = soutput;
327 return 0; 332 return 0;
328
329 __error:
330 if (sinput && sinput->runtime)
331 snd_rawmidi_runtime_free(sinput);
332 if (soutput && soutput->runtime)
333 snd_rawmidi_runtime_free(soutput);
334 return err;
335} 333}
336 334
337/* called from sound/core/seq/seq_midi.c */ 335/* called from sound/core/seq/seq_midi.c */
diff --git a/sound/oss/hex2hex.c b/sound/oss/hex2hex.c
index 5460faae98c9..041ef5c52bc2 100644
--- a/sound/oss/hex2hex.c
+++ b/sound/oss/hex2hex.c
@@ -12,7 +12,7 @@
12#define MAX_SIZE (256*1024) 12#define MAX_SIZE (256*1024)
13unsigned char buf[MAX_SIZE]; 13unsigned char buf[MAX_SIZE];
14 14
15int loadhex(FILE *inf, unsigned char *buf) 15static int loadhex(FILE *inf, unsigned char *buf)
16{ 16{
17 int l=0, c, i; 17 int l=0, c, i;
18 18
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 6479e65858d3..905859d4f4df 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -110,6 +110,7 @@ struct conexant_spec {
110 110
111 unsigned int dell_automute; 111 unsigned int dell_automute;
112 unsigned int port_d_mode; 112 unsigned int port_d_mode;
113 unsigned char ext_mic_bias;
113}; 114};
114 115
115static int conexant_playback_pcm_open(struct hda_pcm_stream *hinfo, 116static int conexant_playback_pcm_open(struct hda_pcm_stream *hinfo,
@@ -1927,6 +1928,11 @@ static hda_nid_t cxt5066_adc_nids[3] = { 0x14, 0x15, 0x16 };
1927static hda_nid_t cxt5066_capsrc_nids[1] = { 0x17 }; 1928static hda_nid_t cxt5066_capsrc_nids[1] = { 0x17 };
1928#define CXT5066_SPDIF_OUT 0x21 1929#define CXT5066_SPDIF_OUT 0x21
1929 1930
1931/* OLPC's microphone port is DC coupled for use with external sensors,
1932 * therefore we use a 50% mic bias in order to center the input signal with
1933 * the DC input range of the codec. */
1934#define CXT5066_OLPC_EXT_MIC_BIAS PIN_VREF50
1935
1930static struct hda_channel_mode cxt5066_modes[1] = { 1936static struct hda_channel_mode cxt5066_modes[1] = {
1931 { 2, NULL }, 1937 { 2, NULL },
1932}; 1938};
@@ -1980,9 +1986,10 @@ static int cxt5066_hp_master_sw_put(struct snd_kcontrol *kcontrol,
1980/* toggle input of built-in and mic jack appropriately */ 1986/* toggle input of built-in and mic jack appropriately */
1981static void cxt5066_automic(struct hda_codec *codec) 1987static void cxt5066_automic(struct hda_codec *codec)
1982{ 1988{
1983 static struct hda_verb ext_mic_present[] = { 1989 struct conexant_spec *spec = codec->spec;
1990 struct hda_verb ext_mic_present[] = {
1984 /* enable external mic, port B */ 1991 /* enable external mic, port B */
1985 {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, 1992 {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, spec->ext_mic_bias},
1986 1993
1987 /* switch to external mic input */ 1994 /* switch to external mic input */
1988 {0x17, AC_VERB_SET_CONNECT_SEL, 0}, 1995 {0x17, AC_VERB_SET_CONNECT_SEL, 0},
@@ -2235,7 +2242,7 @@ static struct hda_verb cxt5066_init_verbs_olpc[] = {
2235 {0x19, AC_VERB_SET_CONNECT_SEL, 0x00}, /* DAC1 */ 2242 {0x19, AC_VERB_SET_CONNECT_SEL, 0x00}, /* DAC1 */
2236 2243
2237 /* Port B: external microphone */ 2244 /* Port B: external microphone */
2238 {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, 2245 {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, CXT5066_OLPC_EXT_MIC_BIAS},
2239 2246
2240 /* Port C: internal microphone */ 2247 /* Port C: internal microphone */
2241 {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, 2248 {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
@@ -2353,6 +2360,7 @@ static int patch_cxt5066(struct hda_codec *codec)
2353 spec->input_mux = &cxt5066_capture_source; 2360 spec->input_mux = &cxt5066_capture_source;
2354 2361
2355 spec->port_d_mode = PIN_HP; 2362 spec->port_d_mode = PIN_HP;
2363 spec->ext_mic_bias = PIN_VREF80;
2356 2364
2357 spec->num_init_verbs = 1; 2365 spec->num_init_verbs = 1;
2358 spec->init_verbs[0] = cxt5066_init_verbs; 2366 spec->init_verbs[0] = cxt5066_init_verbs;
@@ -2384,6 +2392,7 @@ static int patch_cxt5066(struct hda_codec *codec)
2384 spec->mixers[spec->num_mixers++] = cxt5066_mixer_master_olpc; 2392 spec->mixers[spec->num_mixers++] = cxt5066_mixer_master_olpc;
2385 spec->mixers[spec->num_mixers++] = cxt5066_mixers; 2393 spec->mixers[spec->num_mixers++] = cxt5066_mixers;
2386 spec->port_d_mode = 0; 2394 spec->port_d_mode = 0;
2395 spec->ext_mic_bias = CXT5066_OLPC_EXT_MIC_BIAS;
2387 2396
2388 /* no S/PDIF out */ 2397 /* no S/PDIF out */
2389 spec->multiout.dig_out_nid = 0; 2398 spec->multiout.dig_out_nid = 0;
diff --git a/sound/pci/hda/patch_nvhdmi.c b/sound/pci/hda/patch_nvhdmi.c
index 9fb60276f5c9..6afdab09bab7 100644
--- a/sound/pci/hda/patch_nvhdmi.c
+++ b/sound/pci/hda/patch_nvhdmi.c
@@ -397,6 +397,7 @@ static int patch_nvhdmi_2ch(struct hda_codec *codec)
397static struct hda_codec_preset snd_hda_preset_nvhdmi[] = { 397static struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
398 { .id = 0x10de0002, .name = "MCP78 HDMI", .patch = patch_nvhdmi_8ch }, 398 { .id = 0x10de0002, .name = "MCP78 HDMI", .patch = patch_nvhdmi_8ch },
399 { .id = 0x10de0003, .name = "MCP78 HDMI", .patch = patch_nvhdmi_8ch }, 399 { .id = 0x10de0003, .name = "MCP78 HDMI", .patch = patch_nvhdmi_8ch },
400 { .id = 0x10de0005, .name = "MCP78 HDMI", .patch = patch_nvhdmi_8ch },
400 { .id = 0x10de0006, .name = "MCP78 HDMI", .patch = patch_nvhdmi_8ch }, 401 { .id = 0x10de0006, .name = "MCP78 HDMI", .patch = patch_nvhdmi_8ch },
401 { .id = 0x10de0007, .name = "MCP7A HDMI", .patch = patch_nvhdmi_8ch }, 402 { .id = 0x10de0007, .name = "MCP7A HDMI", .patch = patch_nvhdmi_8ch },
402 { .id = 0x10de0067, .name = "MCP67 HDMI", .patch = patch_nvhdmi_2ch }, 403 { .id = 0x10de0067, .name = "MCP67 HDMI", .patch = patch_nvhdmi_2ch },
@@ -406,6 +407,7 @@ static struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
406 407
407MODULE_ALIAS("snd-hda-codec-id:10de0002"); 408MODULE_ALIAS("snd-hda-codec-id:10de0002");
408MODULE_ALIAS("snd-hda-codec-id:10de0003"); 409MODULE_ALIAS("snd-hda-codec-id:10de0003");
410MODULE_ALIAS("snd-hda-codec-id:10de0005");
409MODULE_ALIAS("snd-hda-codec-id:10de0006"); 411MODULE_ALIAS("snd-hda-codec-id:10de0006");
410MODULE_ALIAS("snd-hda-codec-id:10de0007"); 412MODULE_ALIAS("snd-hda-codec-id:10de0007");
411MODULE_ALIAS("snd-hda-codec-id:10de0067"); 413MODULE_ALIAS("snd-hda-codec-id:10de0067");
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index ff20048504b6..70583719282b 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4684,9 +4684,9 @@ static int alc880_parse_auto_config(struct hda_codec *codec)
4684 spec->multiout.dig_out_nid = dig_nid; 4684 spec->multiout.dig_out_nid = dig_nid;
4685 else { 4685 else {
4686 spec->multiout.slave_dig_outs = spec->slave_dig_outs; 4686 spec->multiout.slave_dig_outs = spec->slave_dig_outs;
4687 spec->slave_dig_outs[i - 1] = dig_nid; 4687 if (i >= ARRAY_SIZE(spec->slave_dig_outs) - 1)
4688 if (i == ARRAY_SIZE(spec->slave_dig_outs) - 1)
4689 break; 4688 break;
4689 spec->slave_dig_outs[i - 1] = dig_nid;
4690 } 4690 }
4691 } 4691 }
4692 if (spec->autocfg.dig_in_pin) 4692 if (spec->autocfg.dig_in_pin)
@@ -6249,7 +6249,7 @@ static struct snd_pci_quirk alc260_cfg_tbl[] = {
6249 SND_PCI_QUIRK(0x1025, 0x008f, "Acer", ALC260_ACER), 6249 SND_PCI_QUIRK(0x1025, 0x008f, "Acer", ALC260_ACER),
6250 SND_PCI_QUIRK(0x1509, 0x4540, "Favorit 100XS", ALC260_FAVORIT100), 6250 SND_PCI_QUIRK(0x1509, 0x4540, "Favorit 100XS", ALC260_FAVORIT100),
6251 SND_PCI_QUIRK(0x103c, 0x2808, "HP d5700", ALC260_HP_3013), 6251 SND_PCI_QUIRK(0x103c, 0x2808, "HP d5700", ALC260_HP_3013),
6252 SND_PCI_QUIRK(0x103c, 0x280a, "HP d5750", ALC260_HP_3013), 6252 SND_PCI_QUIRK(0x103c, 0x280a, "HP d5750", ALC260_AUTO), /* no quirk */
6253 SND_PCI_QUIRK(0x103c, 0x3010, "HP", ALC260_HP_3013), 6253 SND_PCI_QUIRK(0x103c, 0x3010, "HP", ALC260_HP_3013),
6254 SND_PCI_QUIRK(0x103c, 0x3011, "HP", ALC260_HP_3013), 6254 SND_PCI_QUIRK(0x103c, 0x3011, "HP", ALC260_HP_3013),
6255 SND_PCI_QUIRK(0x103c, 0x3012, "HP", ALC260_HP_DC7600), 6255 SND_PCI_QUIRK(0x103c, 0x3012, "HP", ALC260_HP_DC7600),
@@ -8911,10 +8911,11 @@ static struct snd_pci_quirk alc882_ssid_cfg_tbl[] = {
8911 SND_PCI_QUIRK(0x106b, 0x3800, "MacbookPro 4,1", ALC885_MBP3), 8911 SND_PCI_QUIRK(0x106b, 0x3800, "MacbookPro 4,1", ALC885_MBP3),
8912 SND_PCI_QUIRK(0x106b, 0x3e00, "iMac 24 Aluminum", ALC885_IMAC24), 8912 SND_PCI_QUIRK(0x106b, 0x3e00, "iMac 24 Aluminum", ALC885_IMAC24),
8913 SND_PCI_QUIRK(0x106b, 0x3f00, "Macbook 5,1", ALC885_MB5), 8913 SND_PCI_QUIRK(0x106b, 0x3f00, "Macbook 5,1", ALC885_MB5),
8914 /* FIXME: HP jack sense seems not working for MBP 5,1, so apparently 8914 /* FIXME: HP jack sense seems not working for MBP 5,1 or 5,2,
8915 * no perfect solution yet 8915 * so apparently no perfect solution yet
8916 */ 8916 */
8917 SND_PCI_QUIRK(0x106b, 0x4000, "MacbookPro 5,1", ALC885_MB5), 8917 SND_PCI_QUIRK(0x106b, 0x4000, "MacbookPro 5,1", ALC885_MB5),
8918 SND_PCI_QUIRK(0x106b, 0x4600, "MacbookPro 5,2", ALC885_MB5),
8918 {} /* terminator */ 8919 {} /* terminator */
8919}; 8920};
8920 8921
@@ -9813,9 +9814,9 @@ static int alc882_parse_auto_config(struct hda_codec *codec)
9813 spec->multiout.dig_out_nid = dig_nid; 9814 spec->multiout.dig_out_nid = dig_nid;
9814 else { 9815 else {
9815 spec->multiout.slave_dig_outs = spec->slave_dig_outs; 9816 spec->multiout.slave_dig_outs = spec->slave_dig_outs;
9816 spec->slave_dig_outs[i - 1] = dig_nid; 9817 if (i >= ARRAY_SIZE(spec->slave_dig_outs) - 1)
9817 if (i == ARRAY_SIZE(spec->slave_dig_outs) - 1)
9818 break; 9818 break;
9819 spec->slave_dig_outs[i - 1] = dig_nid;
9819 } 9820 }
9820 } 9821 }
9821 if (spec->autocfg.dig_in_pin) 9822 if (spec->autocfg.dig_in_pin)
@@ -11460,6 +11461,8 @@ static struct snd_pci_quirk alc262_cfg_tbl[] = {
11460 SND_PCI_QUIRK(0x104d, 0x820f, "Sony ASSAMD", ALC262_SONY_ASSAMD), 11461 SND_PCI_QUIRK(0x104d, 0x820f, "Sony ASSAMD", ALC262_SONY_ASSAMD),
11461 SND_PCI_QUIRK(0x104d, 0x9016, "Sony VAIO", ALC262_AUTO), /* dig-only */ 11462 SND_PCI_QUIRK(0x104d, 0x9016, "Sony VAIO", ALC262_AUTO), /* dig-only */
11462 SND_PCI_QUIRK(0x104d, 0x9025, "Sony VAIO Z21MN", ALC262_TOSHIBA_S06), 11463 SND_PCI_QUIRK(0x104d, 0x9025, "Sony VAIO Z21MN", ALC262_TOSHIBA_S06),
11464 SND_PCI_QUIRK(0x104d, 0x9035, "Sony VAIO VGN-FW170J", ALC262_AUTO),
11465 SND_PCI_QUIRK(0x104d, 0x9047, "Sony VAIO Type G", ALC262_AUTO),
11463 SND_PCI_QUIRK_MASK(0x104d, 0xff00, 0x9000, "Sony VAIO", 11466 SND_PCI_QUIRK_MASK(0x104d, 0xff00, 0x9000, "Sony VAIO",
11464 ALC262_SONY_ASSAMD), 11467 ALC262_SONY_ASSAMD),
11465 SND_PCI_QUIRK(0x1179, 0x0001, "Toshiba dynabook SS RX1", 11468 SND_PCI_QUIRK(0x1179, 0x0001, "Toshiba dynabook SS RX1",
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 8eb6508cd991..86de305fc9f2 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -1590,6 +1590,8 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
1590 "Dell Studio 17", STAC_DELL_M6_DMIC), 1590 "Dell Studio 17", STAC_DELL_M6_DMIC),
1591 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02be, 1591 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02be,
1592 "Dell Studio 1555", STAC_DELL_M6_DMIC), 1592 "Dell Studio 1555", STAC_DELL_M6_DMIC),
1593 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02bd,
1594 "Dell Studio 1557", STAC_DELL_M6_DMIC),
1593 {} /* terminator */ 1595 {} /* terminator */
1594}; 1596};
1595 1597
diff --git a/sound/pci/ice1712/ice1712.h b/sound/pci/ice1712/ice1712.h
index 9da2dae64c5b..d063149e7047 100644
--- a/sound/pci/ice1712/ice1712.h
+++ b/sound/pci/ice1712/ice1712.h
@@ -382,8 +382,8 @@ struct snd_ice1712 {
382#ifdef CONFIG_PM 382#ifdef CONFIG_PM
383 int (*pm_suspend)(struct snd_ice1712 *); 383 int (*pm_suspend)(struct snd_ice1712 *);
384 int (*pm_resume)(struct snd_ice1712 *); 384 int (*pm_resume)(struct snd_ice1712 *);
385 int pm_suspend_enabled:1; 385 unsigned int pm_suspend_enabled:1;
386 int pm_saved_is_spdif_master:1; 386 unsigned int pm_saved_is_spdif_master:1;
387 unsigned int pm_saved_spdif_ctrl; 387 unsigned int pm_saved_spdif_ctrl;
388 unsigned char pm_saved_spdif_cfg; 388 unsigned char pm_saved_spdif_cfg;
389 unsigned int pm_saved_route; 389 unsigned int pm_saved_route;
diff --git a/sound/pci/ice1712/prodigy_hifi.c b/sound/pci/ice1712/prodigy_hifi.c
index c75515f5be6f..6a9fee3ee78f 100644
--- a/sound/pci/ice1712/prodigy_hifi.c
+++ b/sound/pci/ice1712/prodigy_hifi.c
@@ -1100,7 +1100,7 @@ static void ak4396_init(struct snd_ice1712 *ice)
1100} 1100}
1101 1101
1102#ifdef CONFIG_PM 1102#ifdef CONFIG_PM
1103static int __devinit prodigy_hd2_resume(struct snd_ice1712 *ice) 1103static int prodigy_hd2_resume(struct snd_ice1712 *ice)
1104{ 1104{
1105 /* initialize ak4396 codec and restore previous mixer volumes */ 1105 /* initialize ak4396 codec and restore previous mixer volumes */
1106 struct prodigy_hifi_spec *spec = ice->spec; 1106 struct prodigy_hifi_spec *spec = ice->spec;
diff --git a/sound/soc/codecs/tlv320aic23.c b/sound/soc/codecs/tlv320aic23.c
index 0b8dcb5cd729..90a0264f7538 100644
--- a/sound/soc/codecs/tlv320aic23.c
+++ b/sound/soc/codecs/tlv320aic23.c
@@ -265,8 +265,8 @@ static const int bosr_usb_divisor_table[] = {
265#define UPPER_GROUP ((1<<8) | (1<<9) | (1<<10) | (1<<11) | (1<<15)) 265#define UPPER_GROUP ((1<<8) | (1<<9) | (1<<10) | (1<<11) | (1<<15))
266static const unsigned short sr_valid_mask[] = { 266static const unsigned short sr_valid_mask[] = {
267 LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 0*/ 267 LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 0*/
268 LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 1*/
269 LOWER_GROUP, /* Usb, bosr - 0*/ 268 LOWER_GROUP, /* Usb, bosr - 0*/
269 LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 1*/
270 UPPER_GROUP, /* Usb, bosr - 1*/ 270 UPPER_GROUP, /* Usb, bosr - 1*/
271}; 271};
272/* 272/*
@@ -625,11 +625,10 @@ static int tlv320aic23_resume(struct platform_device *pdev)
625{ 625{
626 struct snd_soc_device *socdev = platform_get_drvdata(pdev); 626 struct snd_soc_device *socdev = platform_get_drvdata(pdev);
627 struct snd_soc_codec *codec = socdev->card->codec; 627 struct snd_soc_codec *codec = socdev->card->codec;
628 int i;
629 u16 reg; 628 u16 reg;
630 629
631 /* Sync reg_cache with the hardware */ 630 /* Sync reg_cache with the hardware */
632 for (reg = 0; reg < ARRAY_SIZE(tlv320aic23_reg); i++) { 631 for (reg = 0; reg < TLV320AIC23_RESET; reg++) {
633 u16 val = tlv320aic23_read_reg_cache(codec, reg); 632 u16 val = tlv320aic23_read_reg_cache(codec, reg);
634 tlv320aic23_write(codec, reg, val); 633 tlv320aic23_write(codec, reg, val);
635 } 634 }
diff --git a/sound/soc/omap/omap3evm.c b/sound/soc/omap/omap3evm.c
index 9114c263077b..13aa380de162 100644
--- a/sound/soc/omap/omap3evm.c
+++ b/sound/soc/omap/omap3evm.c
@@ -144,4 +144,4 @@ module_exit(omap3evm_soc_exit);
144 144
145MODULE_AUTHOR("Anuj Aggarwal <anuj.aggarwal@ti.com>"); 145MODULE_AUTHOR("Anuj Aggarwal <anuj.aggarwal@ti.com>");
146MODULE_DESCRIPTION("ALSA SoC OMAP3 EVM"); 146MODULE_DESCRIPTION("ALSA SoC OMAP3 EVM");
147MODULE_LICENSE("GPLv2"); 147MODULE_LICENSE("GPL v2");
diff --git a/sound/soc/omap/omap3pandora.c b/sound/soc/omap/omap3pandora.c
index ad219aaf7cb8..0cd06f5dd356 100644
--- a/sound/soc/omap/omap3pandora.c
+++ b/sound/soc/omap/omap3pandora.c
@@ -134,7 +134,7 @@ static int omap3pandora_hp_event(struct snd_soc_dapm_widget *w,
134 * |P| <--- TWL4030 <--------- Line In and MICs 134 * |P| <--- TWL4030 <--------- Line In and MICs
135 */ 135 */
136static const struct snd_soc_dapm_widget omap3pandora_out_dapm_widgets[] = { 136static const struct snd_soc_dapm_widget omap3pandora_out_dapm_widgets[] = {
137 SND_SOC_DAPM_DAC("PCM DAC", "Playback", SND_SOC_NOPM, 0, 0), 137 SND_SOC_DAPM_DAC("PCM DAC", "HiFi Playback", SND_SOC_NOPM, 0, 0),
138 SND_SOC_DAPM_PGA_E("Headphone Amplifier", SND_SOC_NOPM, 138 SND_SOC_DAPM_PGA_E("Headphone Amplifier", SND_SOC_NOPM,
139 0, 0, NULL, 0, omap3pandora_hp_event, 139 0, 0, NULL, 0, omap3pandora_hp_event,
140 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), 140 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
@@ -181,6 +181,7 @@ static int omap3pandora_out_init(struct snd_soc_codec *codec)
181 snd_soc_dapm_nc_pin(codec, "CARKITR"); 181 snd_soc_dapm_nc_pin(codec, "CARKITR");
182 snd_soc_dapm_nc_pin(codec, "HFL"); 182 snd_soc_dapm_nc_pin(codec, "HFL");
183 snd_soc_dapm_nc_pin(codec, "HFR"); 183 snd_soc_dapm_nc_pin(codec, "HFR");
184 snd_soc_dapm_nc_pin(codec, "VIBRA");
184 185
185 ret = snd_soc_dapm_new_controls(codec, omap3pandora_out_dapm_widgets, 186 ret = snd_soc_dapm_new_controls(codec, omap3pandora_out_dapm_widgets,
186 ARRAY_SIZE(omap3pandora_out_dapm_widgets)); 187 ARRAY_SIZE(omap3pandora_out_dapm_widgets));
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index d89f6dc00908..66d4c165f99b 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -973,9 +973,19 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
973 if (!w->power_check) 973 if (!w->power_check)
974 continue; 974 continue;
975 975
976 power = w->power_check(w); 976 /* If we're suspending then pull down all the
977 if (power) 977 * power. */
978 sys_power = 1; 978 switch (event) {
979 case SND_SOC_DAPM_STREAM_SUSPEND:
980 power = 0;
981 break;
982
983 default:
984 power = w->power_check(w);
985 if (power)
986 sys_power = 1;
987 break;
988 }
979 989
980 if (w->power == power) 990 if (w->power == power)
981 continue; 991 continue;
@@ -999,8 +1009,12 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
999 case SND_SOC_DAPM_STREAM_RESUME: 1009 case SND_SOC_DAPM_STREAM_RESUME:
1000 sys_power = 1; 1010 sys_power = 1;
1001 break; 1011 break;
1012 case SND_SOC_DAPM_STREAM_SUSPEND:
1013 sys_power = 0;
1014 break;
1002 case SND_SOC_DAPM_STREAM_NOP: 1015 case SND_SOC_DAPM_STREAM_NOP:
1003 sys_power = codec->bias_level != SND_SOC_BIAS_STANDBY; 1016 sys_power = codec->bias_level != SND_SOC_BIAS_STANDBY;
1017 break;
1004 default: 1018 default:
1005 break; 1019 break;
1006 } 1020 }
diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c
index 9efcfd08d747..c998220b99c6 100644
--- a/sound/usb/usbmixer.c
+++ b/sound/usb/usbmixer.c
@@ -1071,6 +1071,15 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, unsig
1071 channels = (ftr[0] - 7) / csize - 1; 1071 channels = (ftr[0] - 7) / csize - 1;
1072 1072
1073 master_bits = snd_usb_combine_bytes(ftr + 6, csize); 1073 master_bits = snd_usb_combine_bytes(ftr + 6, csize);
1074 /* master configuration quirks */
1075 switch (state->chip->usb_id) {
1076 case USB_ID(0x08bb, 0x2702):
1077 snd_printk(KERN_INFO
1078 "usbmixer: master volume quirk for PCM2702 chip\n");
1079 /* disable non-functional volume control */
1080 master_bits &= ~(1 << (USB_FEATURE_VOLUME - 1));
1081 break;
1082 }
1074 if (channels > 0) 1083 if (channels > 0)
1075 first_ch_bits = snd_usb_combine_bytes(ftr + 6 + csize, csize); 1084 first_ch_bits = snd_usb_combine_bytes(ftr + 6 + csize, csize);
1076 else 1085 else
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 3eeef339c787..a4be453fc8a9 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -426,7 +426,7 @@ try_again:
426 if (fd[nr_cpu][counter] < 0) { 426 if (fd[nr_cpu][counter] < 0) {
427 int err = errno; 427 int err = errno;
428 428
429 if (err == EPERM) 429 if (err == EPERM || err == EACCES)
430 die("Permission error - are you root?\n"); 430 die("Permission error - are you root?\n");
431 else if (err == ENODEV && profile_cpu != -1) 431 else if (err == ENODEV && profile_cpu != -1)
432 die("No such device - did you specify an out-of-range profile CPU?\n"); 432 die("No such device - did you specify an out-of-range profile CPU?\n");
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index a1b1d10912dc..e23bc74e734f 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -1027,7 +1027,7 @@ try_again:
1027 if (fd[i][counter] < 0) { 1027 if (fd[i][counter] < 0) {
1028 int err = errno; 1028 int err = errno;
1029 1029
1030 if (err == EPERM) 1030 if (err == EPERM || err == EACCES)
1031 die("No permission - are you root?\n"); 1031 die("No permission - are you root?\n");
1032 /* 1032 /*
1033 * If it's cycles then fall back to hrtimer 1033 * If it's cycles then fall back to hrtimer