aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-04-03 17:33:42 -0400
committerDavid S. Miller <davem@davemloft.net>2008-04-03 17:33:42 -0400
commit3bb5da3837cc1aa17736b05139c9a22c3794851a (patch)
treec92d5684a866542b1cb20641607ac1643ce03a47
parent7feb49c82a74bc7c091b8ab2a3f96baa33d08ece (diff)
parent9597362d354f8655ece324b01d0c640a0e99c077 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
-rw-r--r--Documentation/SubmittingPatches2
-rw-r--r--Documentation/fb/cmap_xfbdev.txt53
-rw-r--r--Documentation/fb/metronomefb.txt38
-rw-r--r--Documentation/feature-removal-schedule.txt10
-rw-r--r--Documentation/hw_random.txt59
-rw-r--r--Documentation/i386/IO-APIC.txt2
-rw-r--r--Documentation/ide/ide.txt21
-rw-r--r--Documentation/input/notifier.txt52
-rw-r--r--Documentation/kernel-parameters.txt11
-rw-r--r--Documentation/lguest/lguest.c70
-rw-r--r--Documentation/lguest/lguest.txt19
-rw-r--r--Documentation/mca.txt17
-rw-r--r--Documentation/nmi_watchdog.txt3
-rw-r--r--Documentation/unaligned-memory-access.txt4
-rw-r--r--MAINTAINERS18
-rw-r--r--Makefile4
-rw-r--r--arch/alpha/kernel/pci_iommu.c8
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/common/it8152.c5
-rw-r--r--arch/arm/kernel/calls.S2
-rw-r--r--arch/arm/kernel/signal.c4
-rw-r--r--arch/arm/kernel/sys_oabi-compat.c24
-rw-r--r--arch/arm/mach-iop32x/glantank.c12
-rw-r--r--arch/arm/mach-omap1/time.c12
-rw-r--r--arch/arm/mm/proc-xscale.S4
-rw-r--r--arch/arm/plat-omap/Kconfig1
-rw-r--r--arch/arm/plat-omap/Makefile5
-rw-r--r--arch/arm/plat-omap/dma.c9
-rw-r--r--arch/arm/plat-omap/gpio.c3
-rw-r--r--arch/avr32/kernel/setup.c1
-rw-r--r--arch/avr32/kernel/traps.c4
-rw-r--r--arch/mips/Makefile7
-rw-r--r--arch/mips/au1000/common/cputable.c36
-rw-r--r--arch/mips/au1000/common/setup.c13
-rw-r--r--arch/mips/au1000/common/time.c24
-rw-r--r--arch/mips/au1000/xxs1500/board_setup.c3
-rw-r--r--arch/mips/au1000/xxs1500/irqmap.c2
-rw-r--r--arch/mips/configs/bigsur_defconfig939
-rw-r--r--arch/mips/kernel/i8253.c1
-rw-r--r--arch/mips/kernel/time.c2
-rw-r--r--arch/mips/kernel/vpe.c21
-rw-r--r--arch/mips/mm/tlbex.c1
-rw-r--r--arch/mips/pci/pci-bcm1480.c6
-rw-r--r--arch/mips/pci/pci-bcm1480ht.c21
-rw-r--r--arch/powerpc/boot/Makefile4
-rw-r--r--arch/powerpc/boot/dts/lite5200b.dts2
-rwxr-xr-xarch/powerpc/boot/wrapper4
-rw-r--r--arch/powerpc/configs/cell_defconfig141
-rw-r--r--arch/powerpc/configs/celleb_defconfig117
-rw-r--r--arch/powerpc/configs/chrp32_defconfig165
-rw-r--r--arch/powerpc/configs/ep8248e_defconfig74
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig56
-rw-r--r--arch/powerpc/configs/g5_defconfig137
-rw-r--r--arch/powerpc/configs/iseries_defconfig99
-rw-r--r--arch/powerpc/configs/linkstation_defconfig131
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig119
-rw-r--r--arch/powerpc/configs/mpc8272_ads_defconfig75
-rw-r--r--arch/powerpc/configs/mpc8313_rdb_defconfig114
-rw-r--r--arch/powerpc/configs/mpc8315_rdb_defconfig110
-rw-r--r--arch/powerpc/configs/mpc832x_mds_defconfig101
-rw-r--r--arch/powerpc/configs/mpc832x_rdb_defconfig106
-rw-r--r--arch/powerpc/configs/mpc834x_itx_defconfig111
-rw-r--r--arch/powerpc/configs/mpc834x_itxgp_defconfig109
-rw-r--r--arch/powerpc/configs/mpc834x_mds_defconfig104
-rw-r--r--arch/powerpc/configs/mpc836x_mds_defconfig102
-rw-r--r--arch/powerpc/configs/mpc837x_mds_defconfig197
-rw-r--r--arch/powerpc/configs/mpc837x_rdb_defconfig83
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig88
-rw-r--r--arch/powerpc/configs/mpc8540_ads_defconfig121
-rw-r--r--arch/powerpc/configs/mpc8544_ds_defconfig127
-rw-r--r--arch/powerpc/configs/mpc8560_ads_defconfig126
-rw-r--r--arch/powerpc/configs/mpc8568mds_defconfig106
-rw-r--r--arch/powerpc/configs/mpc8572_ds_defconfig127
-rw-r--r--arch/powerpc/configs/mpc85xx_cds_defconfig131
-rw-r--r--arch/powerpc/configs/mpc85xx_defconfig111
-rw-r--r--arch/powerpc/configs/mpc8610_hpcd_defconfig131
-rw-r--r--arch/powerpc/configs/mpc8641_hpcn_defconfig115
-rw-r--r--arch/powerpc/configs/mpc866_ads_defconfig112
-rw-r--r--arch/powerpc/configs/mpc885_ads_defconfig56
-rw-r--r--arch/powerpc/configs/pasemi_defconfig142
-rw-r--r--arch/powerpc/configs/pmac32_defconfig195
-rw-r--r--arch/powerpc/configs/ppc64_defconfig169
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig89
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig160
-rw-r--r--arch/powerpc/configs/ps3_defconfig103
-rw-r--r--arch/powerpc/configs/pseries_defconfig136
-rw-r--r--arch/powerpc/configs/sbc834x_defconfig78
-rw-r--r--arch/powerpc/configs/sbc8548_defconfig115
-rw-r--r--arch/powerpc/configs/sbc8560_defconfig124
-rw-r--r--arch/powerpc/configs/storcenter_defconfig102
-rw-r--r--arch/powerpc/configs/stx_gp3_defconfig154
-rw-r--r--arch/powerpc/configs/tqm8540_defconfig133
-rw-r--r--arch/powerpc/configs/tqm8541_defconfig133
-rw-r--r--arch/powerpc/configs/tqm8555_defconfig133
-rw-r--r--arch/powerpc/configs/tqm8560_defconfig133
-rw-r--r--arch/powerpc/kernel/process.c16
-rw-r--r--arch/powerpc/kernel/ptrace.c10
-rw-r--r--arch/powerpc/mm/hash_utils_64.c11
-rw-r--r--arch/powerpc/mm/slb.c6
-rw-r--r--arch/powerpc/oprofile/cell/vma_map.c37
-rw-r--r--arch/powerpc/platforms/cell/iommu.c41
-rw-r--r--arch/powerpc/platforms/cell/setup.c36
-rw-r--r--arch/powerpc/platforms/pseries/xics.c2
-rw-r--r--arch/powerpc/sysdev/bestcomm/bestcomm.c8
-rw-r--r--arch/powerpc/sysdev/ipic.c2
-rw-r--r--arch/s390/lib/uaccess_pt.c2
-rw-r--r--arch/sh/Kconfig4
-rw-r--r--arch/sh/Makefile8
-rw-r--r--arch/sh/boot/Makefile6
-rw-r--r--arch/sh/kernel/cpu/sh2/entry.S1
-rw-r--r--arch/sh/kernel/cpu/sh2a/fpu.c1
-rw-r--r--arch/sh/kernel/cpu/sh4/fpu.c1
-rw-r--r--arch/sh/kernel/cpu/sh5/fpu.c1
-rw-r--r--arch/sh/kernel/dump_task.c1
-rw-r--r--arch/sh/kernel/process_32.c1
-rw-r--r--arch/sh/kernel/signal_32.c1
-rw-r--r--arch/sh/kernel/smp.c2
-rw-r--r--arch/sparc64/defconfig12
-rw-r--r--arch/sparc64/kernel/cpu.c10
-rw-r--r--arch/sparc64/kernel/ds.c3
-rw-r--r--arch/sparc64/kernel/entry.S30
-rw-r--r--arch/sparc64/kernel/entry.h196
-rw-r--r--arch/sparc64/kernel/head.S8
-rw-r--r--arch/sparc64/kernel/iommu.c20
-rw-r--r--arch/sparc64/kernel/iommu_common.h18
-rw-r--r--arch/sparc64/kernel/irq.c21
-rw-r--r--arch/sparc64/kernel/pci_sun4v.c12
-rw-r--r--arch/sparc64/kernel/process.c3
-rw-r--r--arch/sparc64/kernel/ptrace.c20
-rw-r--r--arch/sparc64/kernel/setup.c5
-rw-r--r--arch/sparc64/kernel/signal.c3
-rw-r--r--arch/sparc64/kernel/smp.c20
-rw-r--r--arch/sparc64/kernel/stacktrace.c4
-rw-r--r--arch/sparc64/kernel/sys_sparc.c14
-rw-r--r--arch/sparc64/kernel/sys_sparc32.c3
-rw-r--r--arch/sparc64/kernel/systbls.h53
-rw-r--r--arch/sparc64/kernel/time.c66
-rw-r--r--arch/sparc64/kernel/trampoline.S188
-rw-r--r--arch/sparc64/kernel/traps.c49
-rw-r--r--arch/sparc64/mm/init.c43
-rw-r--r--arch/sparc64/mm/tlb.c6
-rw-r--r--arch/x86/kernel/aperture_64.c3
-rw-r--r--arch/x86/kernel/cpu/cpufreq/speedstep-smi.c39
-rw-r--r--arch/x86/kernel/cpu/mtrr/generic.c42
-rw-r--r--arch/x86/kernel/cpu/mtrr/main.c3
-rw-r--r--arch/x86/kernel/e820_32.c26
-rw-r--r--arch/x86/kernel/e820_64.c27
-rw-r--r--arch/x86/kernel/head_32.S2
-rw-r--r--arch/x86/kernel/io_delay.c8
-rw-r--r--arch/x86/kernel/machine_kexec_64.c1
-rw-r--r--arch/x86/kernel/mfgpt_32.c1
-rw-r--r--arch/x86/kernel/pci-dma_64.c5
-rw-r--r--arch/x86/kernel/ptrace.c169
-rw-r--r--arch/x86/kernel/quirks.c2
-rw-r--r--arch/x86/kernel/reboot.c18
-rw-r--r--arch/x86/kernel/setup64.c14
-rw-r--r--arch/x86/kernel/setup_32.c9
-rw-r--r--arch/x86/kernel/setup_64.c2
-rw-r--r--arch/x86/kvm/mmu.c18
-rw-r--r--arch/x86/kvm/vmx.c7
-rw-r--r--arch/x86/lguest/boot.c108
-rw-r--r--arch/x86/lguest/i386_head.S15
-rw-r--r--arch/x86/mach-rdc321x/gpio.c199
-rw-r--r--arch/x86/mach-rdc321x/platform.c2
-rw-r--r--arch/x86/mach-visws/traps.c5
-rw-r--r--arch/x86/mm/discontig_32.c1
-rw-r--r--arch/x86/mm/fault.c10
-rw-r--r--arch/x86/mm/highmem_32.c6
-rw-r--r--arch/x86/mm/hugetlbpage.c2
-rw-r--r--arch/x86/mm/ioremap.c12
-rw-r--r--arch/x86/mm/numa_64.c3
-rw-r--r--arch/x86/mm/pageattr.c2
-rw-r--r--arch/x86/xen/enlighten.c47
-rw-r--r--arch/x86/xen/xen-asm.S9
-rw-r--r--block/blk-settings.c2
-rw-r--r--block/cfq-iosched.c57
-rw-r--r--crypto/async_tx/async_xor.c2
-rw-r--r--crypto/xcbc.c17
-rw-r--r--drivers/acpi/asus_acpi.c2
-rw-r--r--drivers/acpi/battery.c11
-rw-r--r--drivers/acpi/dock.c1
-rw-r--r--drivers/acpi/ec.c11
-rw-r--r--drivers/acpi/pci_irq.c4
-rw-r--r--drivers/acpi/processor_idle.c19
-rw-r--r--drivers/acpi/sbshc.c1
-rw-r--r--drivers/acpi/scan.c18
-rw-r--r--drivers/acpi/sleep/main.c71
-rw-r--r--drivers/acpi/video.c60
-rw-r--r--drivers/ata/Kconfig1
-rw-r--r--drivers/ata/ahci.c6
-rw-r--r--drivers/ata/libata-core.c48
-rw-r--r--drivers/ata/libata-eh.c2
-rw-r--r--drivers/ata/libata-scsi.c14
-rw-r--r--drivers/ata/pata_it821x.c2
-rw-r--r--drivers/ata/pata_sil680.c6
-rw-r--r--drivers/ata/sata_promise.c109
-rw-r--r--drivers/base/core.c5
-rw-r--r--drivers/base/driver.c5
-rw-r--r--drivers/block/Kconfig10
-rw-r--r--drivers/block/Makefile1
-rw-r--r--drivers/block/nbd.c6
-rw-r--r--drivers/block/ps2esdi.c1079
-rw-r--r--drivers/char/drm/ati_pcigart.c102
-rw-r--r--drivers/char/drm/drmP.h3
-rw-r--r--drivers/char/drm/drm_fops.c7
-rw-r--r--drivers/char/drm/drm_lock.c35
-rw-r--r--drivers/char/drm/drm_pciids.h7
-rw-r--r--drivers/char/drm/drm_scatter.c11
-rw-r--r--drivers/char/drm/drm_vm.c20
-rw-r--r--drivers/char/drm/i915_dma.c3
-rw-r--r--drivers/char/drm/r128_cce.c1
-rw-r--r--drivers/char/drm/r300_cmdbuf.c54
-rw-r--r--drivers/char/drm/radeon_cp.c1
-rw-r--r--drivers/char/drm/radeon_drm.h12
-rw-r--r--drivers/char/drm/radeon_mem.c8
-rw-r--r--drivers/char/drm/via_dma.c59
-rw-r--r--drivers/char/drm/via_dmablit.c2
-rw-r--r--drivers/char/hw_random/Kconfig9
-rw-r--r--drivers/char/ip2/i2lib.c12
-rw-r--r--drivers/char/n_tty.c2
-rw-r--r--drivers/char/nozomi.c20
-rw-r--r--drivers/char/rio/riotable.c4
-rw-r--r--drivers/char/rio/riotty.c4
-rw-r--r--drivers/char/rocket.c37
-rw-r--r--drivers/char/rocket_int.h83
-rw-r--r--drivers/cpuidle/cpuidle.c4
-rw-r--r--drivers/cpuidle/sysfs.c10
-rw-r--r--drivers/crypto/hifn_795x.c28
-rw-r--r--drivers/dma/fsldma.c30
-rw-r--r--drivers/dma/fsldma.h48
-rw-r--r--drivers/dma/ioat_dca.c4
-rw-r--r--drivers/firewire/fw-ohci.c9
-rw-r--r--drivers/firewire/fw-transaction.c6
-rw-r--r--drivers/hid/hid-core.c2
-rw-r--r--drivers/hid/hid-input.c22
-rw-r--r--drivers/hid/usbhid/hid-core.c2
-rw-r--r--drivers/hid/usbhid/hid-quirks.c6
-rw-r--r--drivers/hwmon/Kconfig5
-rw-r--r--drivers/hwmon/ibmpex.c13
-rw-r--r--drivers/hwmon/w83781d.c21
-rw-r--r--drivers/i2c/busses/Kconfig2
-rw-r--r--drivers/i2c/busses/i2c-omap.c36
-rw-r--r--drivers/i2c/i2c-core.c4
-rw-r--r--drivers/ide/arm/ide_arm.c2
-rw-r--r--drivers/ide/cris/ide-cris.c2
-rw-r--r--drivers/ide/h8300/ide-h8300.c3
-rw-r--r--drivers/ide/ide-iops.c3
-rw-r--r--drivers/ide/ide-lib.c10
-rw-r--r--drivers/ide/ide-pnp.c2
-rw-r--r--drivers/ide/ide-probe.c5
-rw-r--r--drivers/ide/ide-tape.c5
-rw-r--r--drivers/ide/ide-taskfile.c36
-rw-r--r--drivers/ide/ide.c20
-rw-r--r--drivers/ide/legacy/buddha.c2
-rw-r--r--drivers/ide/legacy/falconide.c2
-rw-r--r--drivers/ide/legacy/gayle.c2
-rw-r--r--drivers/ide/legacy/macide.c2
-rw-r--r--drivers/ide/legacy/q40ide.c2
-rw-r--r--drivers/ide/pci/cmd640.c2
-rw-r--r--drivers/ide/ppc/mpc8xx.c2
-rw-r--r--drivers/ide/ppc/pmac.c2
-rw-r--r--drivers/infiniband/core/addr.c8
-rw-r--r--drivers/infiniband/core/cm.c2
-rw-r--r--drivers/infiniband/core/cma.c24
-rw-r--r--drivers/infiniband/hw/cxgb3/iwch_cm.c2
-rw-r--r--drivers/infiniband/hw/nes/nes_cm.c3
-rw-r--r--drivers/input/apm-power.c7
-rw-r--r--drivers/input/evdev.c3
-rw-r--r--drivers/input/joydev.c3
-rw-r--r--drivers/input/keyboard/pxa27x_keypad.c6
-rw-r--r--drivers/input/misc/cobalt_btns.c16
-rw-r--r--drivers/input/misc/ixp4xx-beeper.c1
-rw-r--r--drivers/input/mouse/alps.c5
-rw-r--r--drivers/input/mousedev.c3
-rw-r--r--drivers/input/serio/i8042-snirm.h75
-rw-r--r--drivers/input/serio/i8042-x86ia64io.h7
-rw-r--r--drivers/input/serio/i8042.c3
-rw-r--r--drivers/input/serio/i8042.h2
-rw-r--r--drivers/input/tablet/wacom.h6
-rw-r--r--drivers/input/tablet/wacom_sys.c6
-rw-r--r--drivers/input/tablet/wacom_wac.c31
-rw-r--r--drivers/input/tablet/wacom_wac.h1
-rw-r--r--drivers/input/touchscreen/ads7846.c2
-rw-r--r--drivers/leds/leds-gpio.c20
-rw-r--r--drivers/lguest/Makefile8
-rw-r--r--drivers/lguest/core.c18
-rw-r--r--drivers/lguest/hypercalls.c11
-rw-r--r--drivers/lguest/interrupts_and_traps.c7
-rw-r--r--drivers/lguest/lguest_device.c11
-rw-r--r--drivers/lguest/lguest_user.c32
-rw-r--r--drivers/lguest/page_tables.c32
-rw-r--r--drivers/lguest/x86/core.c33
-rw-r--r--drivers/lguest/x86/switcher_32.S8
-rw-r--r--drivers/md/dm-crypt.c58
-rw-r--r--drivers/md/dm-io.c2
-rw-r--r--drivers/md/dm-raid1.c4
-rw-r--r--drivers/md/dm-snap.c2
-rw-r--r--drivers/md/kcopyd.c10
-rw-r--r--drivers/md/kcopyd.h4
-rw-r--r--drivers/md/md.c12
-rw-r--r--drivers/md/raid5.c6
-rw-r--r--drivers/media/common/saa7146_core.c13
-rw-r--r--drivers/media/common/saa7146_fops.c2
-rw-r--r--drivers/media/dvb/dvb-core/dvb_net.c4
-rw-r--r--drivers/media/dvb/dvb-usb/opera1.c2
-rw-r--r--drivers/media/radio/radio-cadet.c6
-rw-r--r--drivers/media/video/Kconfig4
-rw-r--r--drivers/media/video/adv7170.c2
-rw-r--r--drivers/media/video/adv7175.c2
-rw-r--r--drivers/media/video/bt819.c2
-rw-r--r--drivers/media/video/bt856.c2
-rw-r--r--drivers/media/video/bt8xx/bttv-driver.c32
-rw-r--r--drivers/media/video/cx23885/cx23885-cards.c6
-rw-r--r--drivers/media/video/cx23885/cx23885-core.c134
-rw-r--r--drivers/media/video/cx88/cx88-cards.c5
-rw-r--r--drivers/media/video/cx88/cx88-video.c2
-rw-r--r--drivers/media/video/dpc7146.c2
-rw-r--r--drivers/media/video/em28xx/em28xx-core.c2
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.c7
-rw-r--r--drivers/media/video/ivtv/ivtv-firmware.c8
-rw-r--r--drivers/media/video/mt20xx.c2
-rw-r--r--drivers/media/video/mxb.c5
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-ctrl.c4
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-hdw.c6
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-io.c2
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-ioread.c2
-rw-r--r--drivers/media/video/pwc/pwc-if.c7
-rw-r--r--drivers/media/video/saa7110.c4
-rw-r--r--drivers/media/video/saa7111.c2
-rw-r--r--drivers/media/video/saa7114.c2
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c41
-rw-r--r--drivers/media/video/saa7134/saa7134-core.c5
-rw-r--r--drivers/media/video/saa7185.c2
-rw-r--r--drivers/media/video/tda9840.c2
-rw-r--r--drivers/media/video/tea6415c.c2
-rw-r--r--drivers/media/video/tea6420.c2
-rw-r--r--drivers/media/video/tvp5150.c8
-rw-r--r--drivers/media/video/usbvideo/usbvideo.c9
-rw-r--r--drivers/media/video/v4l1-compat.c50
-rw-r--r--drivers/media/video/v4l2-int-device.c2
-rw-r--r--drivers/media/video/zoran_driver.c2
-rw-r--r--drivers/media/video/zr364xx.c2
-rw-r--r--drivers/memstick/core/memstick.c9
-rw-r--r--drivers/memstick/core/mspro_block.c94
-rw-r--r--drivers/memstick/host/jmb38x_ms.c113
-rw-r--r--drivers/memstick/host/tifm_ms.c21
-rw-r--r--drivers/message/fusion/mptbase.c276
-rw-r--r--drivers/message/fusion/mptscsih.c11
-rw-r--r--drivers/mfd/asic3.c4
-rw-r--r--drivers/misc/fujitsu-laptop.c2
-rw-r--r--drivers/misc/ibmasm/module.c2
-rw-r--r--drivers/misc/lkdtm.c2
-rw-r--r--drivers/mmc/core/Makefile2
-rw-r--r--drivers/mmc/core/bus.c23
-rw-r--r--drivers/mmc/core/bus.h11
-rw-r--r--drivers/mmc/core/core.h2
-rw-r--r--drivers/mmc/core/mmc.c90
-rw-r--r--drivers/mmc/core/sd.c95
-rw-r--r--drivers/mmc/core/sdio.c2
-rw-r--r--drivers/mmc/core/sysfs.c43
-rw-r--r--drivers/mmc/core/sysfs.h26
-rw-r--r--drivers/mtd/devices/block2mtd.c1
-rw-r--r--drivers/mtd/maps/physmap.c15
-rw-r--r--drivers/mtd/nand/rtc_from4.c2
-rw-r--r--drivers/net/dm9000.c2
-rw-r--r--drivers/net/fec_mpc52xx_phy.c3
-rw-r--r--drivers/net/plip.c7
-rw-r--r--drivers/net/sky2.c6
-rw-r--r--drivers/net/usb/rtl8150.c2
-rw-r--r--drivers/pci/hotplug/pciehp_core.c2
-rw-r--r--drivers/pci/intel-iommu.c7
-rw-r--r--drivers/pci/pci.c21
-rw-r--r--drivers/pci/quirks.c11
-rw-r--r--drivers/pci/setup-bus.c5
-rw-r--r--drivers/pnp/isapnp/core.c25
-rw-r--r--drivers/pnp/pnpacpi/rsparser.c8
-rw-r--r--drivers/rtc/Kconfig2
-rw-r--r--drivers/rtc/rtc-at91sam9.c6
-rw-r--r--drivers/scsi/Kconfig2
-rw-r--r--drivers/scsi/a100u2w.c9
-rw-r--r--drivers/scsi/advansys.c2
-rw-r--r--drivers/scsi/arcmsr/arcmsr.h14
-rw-r--r--drivers/scsi/gdth.c7
-rw-r--r--drivers/scsi/hosts.c16
-rw-r--r--drivers/scsi/libsas/sas_discover.c5
-rw-r--r--drivers/scsi/mvsas.c711
-rw-r--r--drivers/scsi/scsi_lib.c5
-rw-r--r--drivers/scsi/sd.c1
-rw-r--r--drivers/scsi/sr.c1
-rw-r--r--drivers/serial/8250_pci.c7
-rw-r--r--drivers/serial/atmel_serial.c30
-rw-r--r--drivers/serial/sh-sci.c4
-rw-r--r--drivers/thermal/Kconfig2
-rw-r--r--drivers/thermal/thermal.c169
-rw-r--r--drivers/uio/uio.c2
-rw-r--r--drivers/usb/core/message.c5
-rw-r--r--drivers/usb/core/quirks.c3
-rw-r--r--drivers/usb/gadget/inode.c4
-rw-r--r--drivers/usb/host/ehci-hub.c5
-rw-r--r--drivers/usb/host/ehci-pci.c14
-rw-r--r--drivers/usb/host/ohci-hcd.c2
-rw-r--r--drivers/usb/host/ohci-q.c2
-rw-r--r--drivers/usb/misc/usbtest.c3
-rw-r--r--drivers/usb/serial/cp2101.c1
-rw-r--r--drivers/usb/serial/keyspan.h4
-rw-r--r--drivers/usb/serial/pl2303.c1
-rw-r--r--drivers/usb/serial/pl2303.h1
-rw-r--r--drivers/usb/serial/sierra.c18
-rw-r--r--drivers/usb/serial/ti_usb_3410_5052.c4
-rw-r--r--drivers/usb/serial/visor.c2
-rw-r--r--drivers/usb/storage/isd200.c6
-rw-r--r--drivers/usb/storage/transport.c3
-rw-r--r--drivers/usb/storage/unusual_devs.h11
-rw-r--r--drivers/video/Kconfig14
-rw-r--r--drivers/video/Makefile1
-rw-r--r--drivers/video/bf54x-lq043fb.c2
-rw-r--r--drivers/video/bfin-t350mcqb-fb.c38
-rw-r--r--drivers/video/fb_defio.c22
-rw-r--r--drivers/video/i810/i810_main.c2
-rw-r--r--drivers/video/metronomefb.c999
-rw-r--r--drivers/virtio/virtio_pci.c7
-rw-r--r--drivers/watchdog/it8712f_wdt.c14
-rw-r--r--fs/afs/cell.c16
-rw-r--r--fs/afs/internal.h1
-rw-r--r--fs/afs/mntpt.c8
-rw-r--r--fs/afs/super.c1
-rw-r--r--fs/aio.c8
-rw-r--r--fs/anon_inodes.c18
-rw-r--r--fs/bio.c2
-rw-r--r--fs/buffer.c17
-rw-r--r--fs/cifs/cifs_dfs_ref.c19
-rw-r--r--fs/cifs/cifsacl.c29
-rw-r--r--fs/cifs/cifsproto.h9
-rw-r--r--fs/cifs/dir.c5
-rw-r--r--fs/cifs/dns_resolve.c8
-rw-r--r--fs/cifs/file.c4
-rw-r--r--fs/cifs/inode.c161
-rw-r--r--fs/cifs/link.c2
-rw-r--r--fs/dquot.c2
-rw-r--r--fs/ecryptfs/dentry.c2
-rw-r--r--fs/efs/inode.c2
-rw-r--r--fs/ext3/acl.c8
-rw-r--r--fs/ext3/resize.c4
-rw-r--r--fs/ext3/xattr.c4
-rw-r--r--fs/file_table.c6
-rw-r--r--fs/fs-writeback.c6
-rw-r--r--fs/hppfs/hppfs_kern.c435
-rw-r--r--fs/hugetlbfs/inode.c2
-rw-r--r--fs/isofs/compress.c11
-rw-r--r--fs/jbd/journal.c9
-rw-r--r--fs/jbd/recovery.c2
-rw-r--r--fs/jbd/revoke.c4
-rw-r--r--fs/jbd/transaction.c8
-rw-r--r--fs/jbd2/journal.c12
-rw-r--r--fs/jbd2/recovery.c2
-rw-r--r--fs/jbd2/revoke.c4
-rw-r--r--fs/locks.c4
-rw-r--r--fs/namei.c69
-rw-r--r--fs/namespace.c200
-rw-r--r--fs/nfs/read.c5
-rw-r--r--fs/nfs/super.c2
-rw-r--r--fs/nfs/write.c8
-rw-r--r--fs/open.c12
-rw-r--r--fs/pipe.c19
-rw-r--r--fs/pnode.c2
-rw-r--r--fs/proc/base.c22
-rw-r--r--fs/proc/task_mmu.c50
-rw-r--r--fs/reiserfs/do_balan.c8
-rw-r--r--fs/reiserfs/fix_node.c8
-rw-r--r--fs/reiserfs/lbalance.c2
-rw-r--r--fs/reiserfs/namei.c2
-rw-r--r--fs/reiserfs/xattr.c110
-rw-r--r--fs/romfs/inode.c30
-rw-r--r--fs/smbfs/smbiod.c2
-rw-r--r--fs/super.c7
-rw-r--r--fs/sysfs/file.c8
-rw-r--r--fs/ufs/balloc.c4
-rw-r--r--include/asm-alpha/current.h2
-rw-r--r--include/asm-alpha/dma-mapping.h2
-rw-r--r--include/asm-alpha/kvm.h6
-rw-r--r--include/asm-alpha/pci.h8
-rw-r--r--include/asm-arm/arch-at91/at91cap9.h7
-rw-r--r--include/asm-arm/arch-omap/dsp_common.h8
-rw-r--r--include/asm-arm/arch-s3c2410/irqs.h2
-rw-r--r--include/asm-arm/kvm.h6
-rw-r--r--include/asm-avr32/byteorder.h6
-rw-r--r--include/asm-avr32/kvm.h6
-rw-r--r--include/asm-blackfin/kvm.h6
-rw-r--r--include/asm-cris/kvm.h6
-rw-r--r--include/asm-frv/kvm.h6
-rw-r--r--include/asm-frv/system.h4
-rw-r--r--include/asm-generic/Kbuild.asm2
-rw-r--r--include/asm-h8300/kvm.h6
-rw-r--r--include/asm-ia64/kvm.h6
-rw-r--r--include/asm-m32r/kvm.h6
-rw-r--r--include/asm-m68k/kvm.h6
-rw-r--r--include/asm-m68knommu/kvm.h6
-rw-r--r--include/asm-mips/kvm.h6
-rw-r--r--include/asm-mips/mach-au1x00/au1000.h1
-rw-r--r--include/asm-mn10300/kvm.h6
-rw-r--r--include/asm-parisc/kvm.h6
-rw-r--r--include/asm-powerpc/kvm.h6
-rw-r--r--include/asm-s390/kvm.h6
-rw-r--r--include/asm-sh/byteorder.h15
-rw-r--r--include/asm-sh/floppy.h268
-rw-r--r--include/asm-sh/fpu.h39
-rw-r--r--include/asm-sh/kvm.h6
-rw-r--r--include/asm-sh/posix_types.h6
-rw-r--r--include/asm-sh/processor.h1
-rw-r--r--include/asm-sh/processor_32.h1
-rw-r--r--include/asm-sh/processor_64.h1
-rw-r--r--include/asm-sparc/kvm.h6
-rw-r--r--include/asm-sparc64/backoff.h3
-rw-r--r--include/asm-sparc64/cpudata.h2
-rw-r--r--include/asm-sparc64/dcu.h41
-rw-r--r--include/asm-sparc64/hvtramp.h2
-rw-r--r--include/asm-sparc64/irq.h1
-rw-r--r--include/asm-sparc64/kvm.h6
-rw-r--r--include/asm-sparc64/pgtable.h12
-rw-r--r--include/asm-sparc64/processor.h3
-rw-r--r--include/asm-sparc64/spitfire.h2
-rw-r--r--include/asm-sparc64/stacktrace.h6
-rw-r--r--include/asm-sparc64/timer.h9
-rw-r--r--include/asm-um/kvm.h6
-rw-r--r--include/asm-v850/kvm.h6
-rw-r--r--include/asm-x86/cmpxchg_32.h32
-rw-r--r--include/asm-x86/e820_32.h2
-rw-r--r--include/asm-x86/e820_64.h2
-rw-r--r--include/asm-x86/io_32.h6
-rw-r--r--include/asm-x86/io_64.h6
-rw-r--r--include/asm-x86/lguest_hcall.h2
-rw-r--r--include/asm-x86/mach-rdc321x/gpio.h9
-rw-r--r--include/asm-x86/mach-rdc321x/rdc321x_defs.h8
-rw-r--r--include/asm-x86/page.h4
-rw-r--r--include/asm-x86/pgtable.h2
-rw-r--r--include/asm-x86/sync_bitops.h9
-rw-r--r--include/asm-xtensa/kvm.h6
-rw-r--r--include/linux/Kbuild5
-rw-r--r--include/linux/bitops.h40
-rw-r--r--include/linux/compat.h4
-rw-r--r--include/linux/cpuidle.h4
-rw-r--r--include/linux/dmaengine.h2
-rw-r--r--include/linux/hardirq.h7
-rw-r--r--include/linux/ide.h2
-rw-r--r--include/linux/input.h5
-rw-r--r--include/linux/iocontext.h3
-rw-r--r--include/linux/jbd.h11
-rw-r--r--include/linux/lguest_launcher.h6
-rw-r--r--include/linux/libata.h10
-rw-r--r--include/linux/memstick.h1
-rw-r--r--include/linux/mount.h2
-rw-r--r--include/linux/pci.h4
-rw-r--r--include/linux/pnp.h2
-rw-r--r--include/linux/ps2esdi.h98
-rw-r--r--include/linux/rcupreempt.h4
-rw-r--r--include/linux/sched.h10
-rw-r--r--include/linux/security.h3
-rw-r--r--include/linux/topology.h3
-rw-r--r--include/linux/usb/quirks.h3
-rw-r--r--include/linux/usb_usual.h4
-rw-r--r--kernel/acct.c23
-rw-r--r--kernel/audit.c6
-rw-r--r--kernel/cgroup.c4
-rw-r--r--kernel/fork.c2
-rw-r--r--kernel/futex.c6
-rw-r--r--kernel/futex_compat.c2
-rw-r--r--kernel/marker.c40
-rw-r--r--kernel/printk.c83
-rw-r--r--kernel/relay.c12
-rw-r--r--kernel/sched.c71
-rw-r--r--kernel/sched_debug.c1
-rw-r--r--kernel/sched_fair.c205
-rw-r--r--kernel/time/clocksource.c16
-rw-r--r--kernel/time/timekeeping.c4
-rw-r--r--kernel/timer.c10
-rw-r--r--lib/iomap.c2
-rw-r--r--lib/kobject_uevent.c2
-rw-r--r--mm/bootmem.c25
-rw-r--r--mm/filemap.c20
-rw-r--r--mm/fremap.c2
-rw-r--r--mm/highmem.c30
-rw-r--r--mm/hugetlb.c17
-rw-r--r--mm/memcontrol.c2
-rw-r--r--mm/oom_kill.c9
-rw-r--r--mm/pagewalk.c10
-rw-r--r--mm/readahead.c5
-rw-r--r--mm/rmap.c13
-rw-r--r--mm/shmem.c25
-rw-r--r--mm/slab.c9
-rw-r--r--mm/slub.c17
-rw-r--r--mm/sparse-vmemmap.c8
-rw-r--r--mm/swap.c5
-rw-r--r--mm/swap_state.c2
-rw-r--r--mm/tiny-shmem.c10
-rw-r--r--mm/vmalloc.c6
-rw-r--r--mm/vmscan.c27
-rw-r--r--net/9p/trans_fd.c2
-rw-r--r--net/core/sock.c4
-rw-r--r--net/rxrpc/ar-internal.h2
-rw-r--r--net/rxrpc/rxkad.c27
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_recvfrom.c23
-rw-r--r--scripts/Makefile.modpost6
-rwxr-xr-xscripts/checkpatch.pl463
-rw-r--r--scripts/mod/file2alias.c4
-rw-r--r--scripts/mod/modpost.c5
-rw-r--r--scripts/mod/modpost.h1
-rw-r--r--security/capability.c1
-rw-r--r--security/commoncap.c40
-rw-r--r--security/selinux/hooks.c9
-rw-r--r--security/smack/smack_lsm.c14
-rw-r--r--security/smack/smackfs.c35
-rw-r--r--sound/oss/ac97_codec.c2
-rw-r--r--sound/soc/codecs/tlv320aic3x.c2
613 files changed, 11365 insertions, 7843 deletions
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index 08a1ed1cb5d..47a539c7642 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -512,7 +512,7 @@ They provide type safety, have no length limitations, no formatting
512limitations, and under gcc they are as cheap as macros. 512limitations, and under gcc they are as cheap as macros.
513 513
514Macros should only be used for cases where a static inline is clearly 514Macros should only be used for cases where a static inline is clearly
515suboptimal [there a few, isolated cases of this in fast paths], 515suboptimal [there are a few, isolated cases of this in fast paths],
516or where it is impossible to use a static inline function [such as 516or where it is impossible to use a static inline function [such as
517string-izing]. 517string-izing].
518 518
diff --git a/Documentation/fb/cmap_xfbdev.txt b/Documentation/fb/cmap_xfbdev.txt
new file mode 100644
index 00000000000..55e1f0a3d2b
--- /dev/null
+++ b/Documentation/fb/cmap_xfbdev.txt
@@ -0,0 +1,53 @@
1Understanding fbdev's cmap
2--------------------------
3
4These notes explain how X's dix layer uses fbdev's cmap structures.
5
6*. example of relevant structures in fbdev as used for a 3-bit grayscale cmap
7struct fb_var_screeninfo {
8 .bits_per_pixel = 8,
9 .grayscale = 1,
10 .red = { 4, 3, 0 },
11 .green = { 0, 0, 0 },
12 .blue = { 0, 0, 0 },
13}
14struct fb_fix_screeninfo {
15 .visual = FB_VISUAL_STATIC_PSEUDOCOLOR,
16}
17for (i = 0; i < 8; i++)
18 info->cmap.red[i] = (((2*i)+1)*(0xFFFF))/16;
19memcpy(info->cmap.green, info->cmap.red, sizeof(u16)*8);
20memcpy(info->cmap.blue, info->cmap.red, sizeof(u16)*8);
21
22*. X11 apps do something like the following when trying to use grayscale.
23for (i=0; i < 8; i++) {
24 char colorspec[64];
25 memset(colorspec,0,64);
26 sprintf(colorspec, "rgb:%x/%x/%x", i*36,i*36,i*36);
27 if (!XParseColor(outputDisplay, testColormap, colorspec, &wantedColor))
28 printf("Can't get color %s\n",colorspec);
29 XAllocColor(outputDisplay, testColormap, &wantedColor);
30 grays[i] = wantedColor;
31}
32There's also named equivalents like gray1..x provided you have an rgb.txt.
33
34Somewhere in X's callchain, this results in a call to X code that handles the
35colormap. For example, Xfbdev hits the following:
36
37xc-011010/programs/Xserver/dix/colormap.c:
38
39FindBestPixel(pentFirst, size, prgb, channel)
40
41dr = (long) pent->co.local.red - prgb->red;
42dg = (long) pent->co.local.green - prgb->green;
43db = (long) pent->co.local.blue - prgb->blue;
44sq = dr * dr;
45UnsignedToBigNum (sq, &sum);
46BigNumAdd (&sum, &temp, &sum);
47
48co.local.red are entries that were brought in through FBIOGETCMAP which come
49directly from the info->cmap.red that was listed above. The prgb is the rgb
50that the app wants to match to. The above code is doing what looks like a least
51squares matching function. That's why the cmap entries can't be set to the left
52hand side boundaries of a color range.
53
diff --git a/Documentation/fb/metronomefb.txt b/Documentation/fb/metronomefb.txt
new file mode 100644
index 00000000000..b9a2e7b7e83
--- /dev/null
+++ b/Documentation/fb/metronomefb.txt
@@ -0,0 +1,38 @@
1 Metronomefb
2 -----------
3Maintained by Jaya Kumar <jayakumar.lkml.gmail.com>
4Last revised: Nov 20, 2007
5
6Metronomefb is a driver for the Metronome display controller. The controller
7is from E-Ink Corporation. It is intended to be used to drive the E-Ink
8Vizplex display media. E-Ink hosts some details of this controller and the
9display media here http://www.e-ink.com/products/matrix/metronome.html .
10
11Metronome is interfaced to the host CPU through the AMLCD interface. The
12host CPU generates the control information and the image in a framebuffer
13which is then delivered to the AMLCD interface by a host specific method.
14Currently, that's implemented for the PXA's LCDC controller. The display and
15error status are each pulled through individual GPIOs.
16
17Metronomefb was written for the PXA255/gumstix/lyre combination and
18therefore currently has board set specific code in it. If other boards based on
19other architectures are available, then the host specific code can be separated
20and abstracted out.
21
22Metronomefb requires waveform information which is delivered via the AMLCD
23interface to the metronome controller. The waveform information is expected to
24be delivered from userspace via the firmware class interface. The waveform file
25can be compressed as long as your udev or hotplug script is aware of the need
26to uncompress it before delivering it. metronomefb will ask for waveform.wbf
27which would typically go into /lib/firmware/waveform.wbf depending on your
28udev/hotplug setup. I have only tested with a single waveform file which was
29originally labeled 23P01201_60_WT0107_MTC. I do not know what it stands for.
30Caution should be exercised when manipulating the waveform as there may be
31a possibility that it could have some permanent effects on the display media.
32I neither have access to nor know exactly what the waveform does in terms of
33the physical media.
34
35Metronomefb uses the deferred IO interface so that it can provide a memory
36mappable frame buffer. It has been tested with tinyx (Xfbdev). It is known
37to work at this time with xeyes, xclock, xloadimage, xpdf.
38
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 1d171fe5fcd..ee3cc8b8c84 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -172,16 +172,6 @@ Who: Len Brown <len.brown@intel.com>
172 172
173--------------------------- 173---------------------------
174 174
175What: ide-tape driver
176When: July 2008
177Files: drivers/ide/ide-tape.c
178Why: This driver might not have any users anymore and maintaining it for no
179 reason is an effort no one wants to make.
180Who: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>, Borislav Petkov
181 <petkovbb@googlemail.com>
182
183---------------------------
184
185What: libata spindown skipping and warning 175What: libata spindown skipping and warning
186When: Dec 2008 176When: Dec 2008
187Why: Some halt(8) implementations synchronize caches for and spin 177Why: Some halt(8) implementations synchronize caches for and spin
diff --git a/Documentation/hw_random.txt b/Documentation/hw_random.txt
index bb58c36b584..690f52550c8 100644
--- a/Documentation/hw_random.txt
+++ b/Documentation/hw_random.txt
@@ -1,33 +1,26 @@
1 Hardware driver for Intel/AMD/VIA Random Number Generators (RNG)
2 Copyright 2000,2001 Jeff Garzik <jgarzik@pobox.com>
3 Copyright 2000,2001 Philipp Rumpf <prumpf@mandrakesoft.com>
4
5Introduction: 1Introduction:
6 2
7 The hw_random device driver is software that makes use of a 3 The hw_random framework is software that makes use of a
8 special hardware feature on your CPU or motherboard, 4 special hardware feature on your CPU or motherboard,
9 a Random Number Generator (RNG). 5 a Random Number Generator (RNG). The software has two parts:
6 a core providing the /dev/hw_random character device and its
7 sysfs support, plus a hardware-specific driver that plugs
8 into that core.
10 9
11 In order to make effective use of this device driver, you 10 To make the most effective use of these mechanisms, you
12 should download the support software as well. Download the 11 should download the support software as well. Download the
13 latest version of the "rng-tools" package from the 12 latest version of the "rng-tools" package from the
14 hw_random driver's official Web site: 13 hw_random driver's official Web site:
15 14
16 http://sourceforge.net/projects/gkernel/ 15 http://sourceforge.net/projects/gkernel/
17 16
18About the Intel RNG hardware, from the firmware hub datasheet: 17 Those tools use /dev/hw_random to fill the kernel entropy pool,
19 18 which is used internally and exported by the /dev/urandom and
20 The Firmware Hub integrates a Random Number Generator (RNG) 19 /dev/random special files.
21 using thermal noise generated from inherently random quantum
22 mechanical properties of silicon. When not generating new random
23 bits the RNG circuitry will enter a low power state. Intel will
24 provide a binary software driver to give third party software
25 access to our RNG for use as a security feature. At this time,
26 the RNG is only to be used with a system in an OS-present state.
27 20
28Theory of operation: 21Theory of operation:
29 22
30 Character driver. Using the standard open() 23 CHARACTER DEVICE. Using the standard open()
31 and read() system calls, you can read random data from 24 and read() system calls, you can read random data from
32 the hardware RNG device. This data is NOT CHECKED by any 25 the hardware RNG device. This data is NOT CHECKED by any
33 fitness tests, and could potentially be bogus (if the 26 fitness tests, and could potentially be bogus (if the
@@ -36,9 +29,37 @@ Theory of operation:
36 a security-conscious person would run fitness tests on the 29 a security-conscious person would run fitness tests on the
37 data before assuming it is truly random. 30 data before assuming it is truly random.
38 31
39 /dev/hwrandom is char device major 10, minor 183. 32 The rng-tools package uses such tests in "rngd", and lets you
33 run them by hand with a "rngtest" utility.
34
35 /dev/hw_random is char device major 10, minor 183.
36
37 CLASS DEVICE. There is a /sys/class/misc/hw_random node with
38 two unique attributes, "rng_available" and "rng_current". The
39 "rng_available" attribute lists the hardware-specific drivers
40 available, while "rng_current" lists the one which is currently
41 connected to /dev/hw_random. If your system has more than one
42 RNG available, you may change the one used by writing a name from
43 the list in "rng_available" into "rng_current".
44
45==========================================================================
46
47 Hardware driver for Intel/AMD/VIA Random Number Generators (RNG)
48 Copyright 2000,2001 Jeff Garzik <jgarzik@pobox.com>
49 Copyright 2000,2001 Philipp Rumpf <prumpf@mandrakesoft.com>
50
51
52About the Intel RNG hardware, from the firmware hub datasheet:
53
54 The Firmware Hub integrates a Random Number Generator (RNG)
55 using thermal noise generated from inherently random quantum
56 mechanical properties of silicon. When not generating new random
57 bits the RNG circuitry will enter a low power state. Intel will
58 provide a binary software driver to give third party software
59 access to our RNG for use as a security feature. At this time,
60 the RNG is only to be used with a system in an OS-present state.
40 61
41Driver notes: 62Intel RNG Driver notes:
42 63
43 * FIXME: support poll(2) 64 * FIXME: support poll(2)
44 65
diff --git a/Documentation/i386/IO-APIC.txt b/Documentation/i386/IO-APIC.txt
index f95166645d2..30b4c714fbe 100644
--- a/Documentation/i386/IO-APIC.txt
+++ b/Documentation/i386/IO-APIC.txt
@@ -70,7 +70,7 @@ Every PCI card emits a PCI IRQ, which can be INTA, INTB, INTC or INTD:
70 70
71These INTA-D PCI IRQs are always 'local to the card', their real meaning 71These INTA-D PCI IRQs are always 'local to the card', their real meaning
72depends on which slot they are in. If you look at the daisy chaining diagram, 72depends on which slot they are in. If you look at the daisy chaining diagram,
73a card in slot4, issuing INTA IRQ, it will end up as a signal on PIRQ2 of 73a card in slot4, issuing INTA IRQ, it will end up as a signal on PIRQ4 of
74the PCI chipset. Most cards issue INTA, this creates optimal distribution 74the PCI chipset. Most cards issue INTA, this creates optimal distribution
75between the PIRQ lines. (distributing IRQ sources properly is not a 75between the PIRQ lines. (distributing IRQ sources properly is not a
76necessity, PCI IRQs can be shared at will, but it's a good for performance 76necessity, PCI IRQs can be shared at will, but it's a good for performance
diff --git a/Documentation/ide/ide.txt b/Documentation/ide/ide.txt
index e3b3425328b..818676aad45 100644
--- a/Documentation/ide/ide.txt
+++ b/Documentation/ide/ide.txt
@@ -105,7 +105,7 @@ Drives are normally found by auto-probing and/or examining the CMOS/BIOS data.
105For really weird situations, the apparent (fdisk) geometry can also be specified 105For really weird situations, the apparent (fdisk) geometry can also be specified
106on the kernel "command line" using LILO. The format of such lines is: 106on the kernel "command line" using LILO. The format of such lines is:
107 107
108 hdx=cyls,heads,sects,wpcom,irq 108 hdx=cyls,heads,sects
109or hdx=cdrom 109or hdx=cdrom
110 110
111where hdx can be any of hda through hdh, Three values are required 111where hdx can be any of hda through hdh, Three values are required
@@ -214,9 +214,9 @@ driver using the "options=" keyword to insmod, while replacing any ',' with
214Summary of ide driver parameters for kernel command line 214Summary of ide driver parameters for kernel command line
215-------------------------------------------------------- 215--------------------------------------------------------
216 216
217 "hdx=" is recognized for all "x" from "a" to "h", such as "hdc". 217 "hdx=" is recognized for all "x" from "a" to "u", such as "hdc".
218 218
219 "idex=" is recognized for all "x" from "0" to "3", such as "ide1". 219 "idex=" is recognized for all "x" from "0" to "9", such as "ide1".
220 220
221 "hdx=noprobe" : drive may be present, but do not probe for it 221 "hdx=noprobe" : drive may be present, but do not probe for it
222 222
@@ -228,13 +228,6 @@ Summary of ide driver parameters for kernel command line
228 228
229 "hdx=cyl,head,sect" : disk drive is present, with specified geometry 229 "hdx=cyl,head,sect" : disk drive is present, with specified geometry
230 230
231 "hdx=remap" : remap access of sector 0 to sector 1 (for EZDrive)
232
233 "hdx=remap63" : remap the drive: add 63 to all sector numbers
234 (for DM OnTrack)
235
236 "idex=noautotune" : driver will NOT attempt to tune interface speed
237
238 "hdx=autotune" : driver will attempt to tune interface speed 231 "hdx=autotune" : driver will attempt to tune interface speed
239 to the fastest PIO mode supported, 232 to the fastest PIO mode supported,
240 if possible for this drive only. 233 if possible for this drive only.
@@ -244,10 +237,6 @@ Summary of ide driver parameters for kernel command line
244 237
245 "hdx=nodma" : disallow DMA 238 "hdx=nodma" : disallow DMA
246 239
247 "hdx=scsi" : the return of the ide-scsi flag, this is useful for
248 allowing ide-floppy, ide-tape, and ide-cdrom|writers
249 to use ide-scsi emulation on a device specific option.
250
251 "idebus=xx" : inform IDE driver of VESA/PCI bus speed in MHz, 240 "idebus=xx" : inform IDE driver of VESA/PCI bus speed in MHz,
252 where "xx" is between 20 and 66 inclusive, 241 where "xx" is between 20 and 66 inclusive,
253 used when tuning chipset PIO modes. 242 used when tuning chipset PIO modes.
@@ -282,10 +271,6 @@ Summary of ide driver parameters for kernel command line
282 271
283 "ide=reverse" : formerly called to pci sub-system, but now local. 272 "ide=reverse" : formerly called to pci sub-system, but now local.
284 273
285The following are valid ONLY on ide0, which usually corresponds
286to the first ATA interface found on the particular host, and the defaults for
287the base,ctl ports must not be altered.
288
289 "ide=doubler" : probe/support IDE doublers on Amiga 274 "ide=doubler" : probe/support IDE doublers on Amiga
290 275
291There may be more options than shown -- use the source, Luke! 276There may be more options than shown -- use the source, Luke!
diff --git a/Documentation/input/notifier.txt b/Documentation/input/notifier.txt
new file mode 100644
index 00000000000..95172ca6f3d
--- /dev/null
+++ b/Documentation/input/notifier.txt
@@ -0,0 +1,52 @@
1Keyboard notifier
2
3One can use register_keyboard_notifier to get called back on keyboard
4events (see kbd_keycode() function for details). The passed structure is
5keyboard_notifier_param:
6
7- 'vc' always provide the VC for which the keyboard event applies;
8- 'down' is 1 for a key press event, 0 for a key release;
9- 'shift' is the current modifier state, mask bit indexes are KG_*;
10- 'value' depends on the type of event.
11
12- KBD_KEYCODE events are always sent before other events, value is the keycode.
13- KBD_UNBOUND_KEYCODE events are sent if the keycode is not bound to a keysym.
14 value is the keycode.
15- KBD_UNICODE events are sent if the keycode -> keysym translation produced a
16 unicode character. value is the unicode value.
17- KBD_KEYSYM events are sent if the keycode -> keysym translation produced a
18 non-unicode character. value is the keysym.
19- KBD_POST_KEYSYM events are sent after the treatment of non-unicode keysyms.
20 That permits one to inspect the resulting LEDs for instance.
21
22For each kind of event but the last, the callback may return NOTIFY_STOP in
23order to "eat" the event: the notify loop is stopped and the keyboard event is
24dropped.
25
26In a rough C snippet, we have:
27
28kbd_keycode(keycode) {
29 ...
30 params.value = keycode;
31 if (notifier_call_chain(KBD_KEYCODE,&params) == NOTIFY_STOP)
32 || !bound) {
33 notifier_call_chain(KBD_UNBOUND_KEYCODE,&params);
34 return;
35 }
36
37 if (unicode) {
38 param.value = unicode;
39 if (notifier_call_chain(KBD_UNICODE,&params) == NOTIFY_STOP)
40 return;
41 emit unicode;
42 return;
43 }
44
45 params.value = keysym;
46 if (notifier_call_chain(KBD_KEYSYM,&params) == NOTIFY_STOP)
47 return;
48 apply keysym;
49 notifier_call_chain(KBD_POST_KEYSYM,&params);
50}
51
52NOTE: This notifier is usually called from interrupt context.
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 622f7849edb..4cd1a5da80a 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -170,11 +170,6 @@ and is between 256 and 4096 characters. It is defined in the file
170 acpi_irq_isa= [HW,ACPI] If irq_balance, mark listed IRQs used by ISA 170 acpi_irq_isa= [HW,ACPI] If irq_balance, mark listed IRQs used by ISA
171 Format: <irq>,<irq>... 171 Format: <irq>,<irq>...
172 172
173 acpi_new_pts_ordering [HW,ACPI]
174 Enforce the ACPI 2.0 ordering of the _PTS control
175 method wrt putting devices into low power states
176 default: pre ACPI 2.0 ordering of _PTS
177
178 acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT 173 acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT
179 174
180 acpi_os_name= [HW,ACPI] Tell ACPI BIOS the name of the OS 175 acpi_os_name= [HW,ACPI] Tell ACPI BIOS the name of the OS
@@ -732,6 +727,8 @@ and is between 256 and 4096 characters. It is defined in the file
732 (Don't attempt to blink the leds) 727 (Don't attempt to blink the leds)
733 i8042.noaux [HW] Don't check for auxiliary (== mouse) port 728 i8042.noaux [HW] Don't check for auxiliary (== mouse) port
734 i8042.nokbd [HW] Don't check/create keyboard port 729 i8042.nokbd [HW] Don't check/create keyboard port
730 i8042.noloop [HW] Disable the AUX Loopback command while probing
731 for the AUX port
735 i8042.nomux [HW] Don't check presence of an active multiplexing 732 i8042.nomux [HW] Don't check presence of an active multiplexing
736 controller 733 controller
737 i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX 734 i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
@@ -1128,6 +1125,10 @@ and is between 256 and 4096 characters. It is defined in the file
1128 memmap=nn[KMG]$ss[KMG] 1125 memmap=nn[KMG]$ss[KMG]
1129 [KNL,ACPI] Mark specific memory as reserved. 1126 [KNL,ACPI] Mark specific memory as reserved.
1130 Region of memory to be used, from ss to ss+nn. 1127 Region of memory to be used, from ss to ss+nn.
1128 Example: Exclude memory from 0x18690000-0x1869ffff
1129 memmap=64K$0x18690000
1130 or
1131 memmap=0x10000$0x18690000
1131 1132
1132 meye.*= [HW] Set MotionEye Camera parameters 1133 meye.*= [HW] Set MotionEye Camera parameters
1133 See Documentation/video4linux/meye.txt. 1134 See Documentation/video4linux/meye.txt.
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c
index bec5a32e409..4c1fc65a8b3 100644
--- a/Documentation/lguest/lguest.c
+++ b/Documentation/lguest/lguest.c
@@ -1,7 +1,7 @@
1/*P:100 This is the Launcher code, a simple program which lays out the 1/*P:100 This is the Launcher code, a simple program which lays out the
2 * "physical" memory for the new Guest by mapping the kernel image and the 2 * "physical" memory for the new Guest by mapping the kernel image and
3 * virtual devices, then reads repeatedly from /dev/lguest to run the Guest. 3 * the virtual devices, then opens /dev/lguest to tell the kernel
4:*/ 4 * about the Guest and control it. :*/
5#define _LARGEFILE64_SOURCE 5#define _LARGEFILE64_SOURCE
6#define _GNU_SOURCE 6#define _GNU_SOURCE
7#include <stdio.h> 7#include <stdio.h>
@@ -43,7 +43,7 @@
43#include "linux/virtio_console.h" 43#include "linux/virtio_console.h"
44#include "linux/virtio_ring.h" 44#include "linux/virtio_ring.h"
45#include "asm-x86/bootparam.h" 45#include "asm-x86/bootparam.h"
46/*L:110 We can ignore the 38 include files we need for this program, but I do 46/*L:110 We can ignore the 39 include files we need for this program, but I do
47 * want to draw attention to the use of kernel-style types. 47 * want to draw attention to the use of kernel-style types.
48 * 48 *
49 * As Linus said, "C is a Spartan language, and so should your naming be." I 49 * As Linus said, "C is a Spartan language, and so should your naming be." I
@@ -320,7 +320,7 @@ static unsigned long map_elf(int elf_fd, const Elf32_Ehdr *ehdr)
320 err(1, "Reading program headers"); 320 err(1, "Reading program headers");
321 321
322 /* Try all the headers: there are usually only three. A read-only one, 322 /* Try all the headers: there are usually only three. A read-only one,
323 * a read-write one, and a "note" section which isn't loadable. */ 323 * a read-write one, and a "note" section which we don't load. */
324 for (i = 0; i < ehdr->e_phnum; i++) { 324 for (i = 0; i < ehdr->e_phnum; i++) {
325 /* If this isn't a loadable segment, we ignore it */ 325 /* If this isn't a loadable segment, we ignore it */
326 if (phdr[i].p_type != PT_LOAD) 326 if (phdr[i].p_type != PT_LOAD)
@@ -387,7 +387,7 @@ static unsigned long load_kernel(int fd)
387 if (memcmp(hdr.e_ident, ELFMAG, SELFMAG) == 0) 387 if (memcmp(hdr.e_ident, ELFMAG, SELFMAG) == 0)
388 return map_elf(fd, &hdr); 388 return map_elf(fd, &hdr);
389 389
390 /* Otherwise we assume it's a bzImage, and try to unpack it */ 390 /* Otherwise we assume it's a bzImage, and try to load it. */
391 return load_bzimage(fd); 391 return load_bzimage(fd);
392} 392}
393 393
@@ -433,12 +433,12 @@ static unsigned long load_initrd(const char *name, unsigned long mem)
433 return len; 433 return len;
434} 434}
435 435
436/* Once we know how much memory we have, we can construct simple linear page 436/* Once we know how much memory we have we can construct simple linear page
437 * tables which set virtual == physical which will get the Guest far enough 437 * tables which set virtual == physical which will get the Guest far enough
438 * into the boot to create its own. 438 * into the boot to create its own.
439 * 439 *
440 * We lay them out of the way, just below the initrd (which is why we need to 440 * We lay them out of the way, just below the initrd (which is why we need to
441 * know its size). */ 441 * know its size here). */
442static unsigned long setup_pagetables(unsigned long mem, 442static unsigned long setup_pagetables(unsigned long mem,
443 unsigned long initrd_size) 443 unsigned long initrd_size)
444{ 444{
@@ -850,7 +850,8 @@ static void handle_console_output(int fd, struct virtqueue *vq)
850 * 850 *
851 * Handling output for network is also simple: we get all the output buffers 851 * Handling output for network is also simple: we get all the output buffers
852 * and write them (ignoring the first element) to this device's file descriptor 852 * and write them (ignoring the first element) to this device's file descriptor
853 * (stdout). */ 853 * (/dev/net/tun).
854 */
854static void handle_net_output(int fd, struct virtqueue *vq) 855static void handle_net_output(int fd, struct virtqueue *vq)
855{ 856{
856 unsigned int head, out, in; 857 unsigned int head, out, in;
@@ -924,7 +925,7 @@ static void enable_fd(int fd, struct virtqueue *vq)
924 write(waker_fd, &vq->dev->fd, sizeof(vq->dev->fd)); 925 write(waker_fd, &vq->dev->fd, sizeof(vq->dev->fd));
925} 926}
926 927
927/* Resetting a device is fairly easy. */ 928/* When the Guest asks us to reset a device, it's is fairly easy. */
928static void reset_device(struct device *dev) 929static void reset_device(struct device *dev)
929{ 930{
930 struct virtqueue *vq; 931 struct virtqueue *vq;
@@ -1003,8 +1004,8 @@ static void handle_input(int fd)
1003 if (select(devices.max_infd+1, &fds, NULL, NULL, &poll) == 0) 1004 if (select(devices.max_infd+1, &fds, NULL, NULL, &poll) == 0)
1004 break; 1005 break;
1005 1006
1006 /* Otherwise, call the device(s) which have readable 1007 /* Otherwise, call the device(s) which have readable file
1007 * file descriptors and a method of handling them. */ 1008 * descriptors and a method of handling them. */
1008 for (i = devices.dev; i; i = i->next) { 1009 for (i = devices.dev; i; i = i->next) {
1009 if (i->handle_input && FD_ISSET(i->fd, &fds)) { 1010 if (i->handle_input && FD_ISSET(i->fd, &fds)) {
1010 int dev_fd; 1011 int dev_fd;
@@ -1015,8 +1016,7 @@ static void handle_input(int fd)
1015 * should no longer service it. Networking and 1016 * should no longer service it. Networking and
1016 * console do this when there's no input 1017 * console do this when there's no input
1017 * buffers to deliver into. Console also uses 1018 * buffers to deliver into. Console also uses
1018 * it when it discovers that stdin is 1019 * it when it discovers that stdin is closed. */
1019 * closed. */
1020 FD_CLR(i->fd, &devices.infds); 1020 FD_CLR(i->fd, &devices.infds);
1021 /* Tell waker to ignore it too, by sending a 1021 /* Tell waker to ignore it too, by sending a
1022 * negative fd number (-1, since 0 is a valid 1022 * negative fd number (-1, since 0 is a valid
@@ -1033,7 +1033,8 @@ static void handle_input(int fd)
1033 * 1033 *
1034 * All devices need a descriptor so the Guest knows it exists, and a "struct 1034 * All devices need a descriptor so the Guest knows it exists, and a "struct
1035 * device" so the Launcher can keep track of it. We have common helper 1035 * device" so the Launcher can keep track of it. We have common helper
1036 * routines to allocate and manage them. */ 1036 * routines to allocate and manage them.
1037 */
1037 1038
1038/* The layout of the device page is a "struct lguest_device_desc" followed by a 1039/* The layout of the device page is a "struct lguest_device_desc" followed by a
1039 * number of virtqueue descriptors, then two sets of feature bits, then an 1040 * number of virtqueue descriptors, then two sets of feature bits, then an
@@ -1078,7 +1079,7 @@ static void add_virtqueue(struct device *dev, unsigned int num_descs,
1078 struct virtqueue **i, *vq = malloc(sizeof(*vq)); 1079 struct virtqueue **i, *vq = malloc(sizeof(*vq));
1079 void *p; 1080 void *p;
1080 1081
1081 /* First we need some pages for this virtqueue. */ 1082 /* First we need some memory for this virtqueue. */
1082 pages = (vring_size(num_descs, getpagesize()) + getpagesize() - 1) 1083 pages = (vring_size(num_descs, getpagesize()) + getpagesize() - 1)
1083 / getpagesize(); 1084 / getpagesize();
1084 p = get_pages(pages); 1085 p = get_pages(pages);
@@ -1122,7 +1123,7 @@ static void add_virtqueue(struct device *dev, unsigned int num_descs,
1122} 1123}
1123 1124
1124/* The first half of the feature bitmask is for us to advertise features. The 1125/* The first half of the feature bitmask is for us to advertise features. The
1125 * second half if for the Guest to accept features. */ 1126 * second half is for the Guest to accept features. */
1126static void add_feature(struct device *dev, unsigned bit) 1127static void add_feature(struct device *dev, unsigned bit)
1127{ 1128{
1128 u8 *features = get_feature_bits(dev); 1129 u8 *features = get_feature_bits(dev);
@@ -1151,7 +1152,9 @@ static void set_config(struct device *dev, unsigned len, const void *conf)
1151} 1152}
1152 1153
1153/* This routine does all the creation and setup of a new device, including 1154/* This routine does all the creation and setup of a new device, including
1154 * calling new_dev_desc() to allocate the descriptor and device memory. */ 1155 * calling new_dev_desc() to allocate the descriptor and device memory.
1156 *
1157 * See what I mean about userspace being boring? */
1155static struct device *new_device(const char *name, u16 type, int fd, 1158static struct device *new_device(const char *name, u16 type, int fd,
1156 bool (*handle_input)(int, struct device *)) 1159 bool (*handle_input)(int, struct device *))
1157{ 1160{
@@ -1383,7 +1386,6 @@ struct vblk_info
1383 * Launcher triggers interrupt to Guest. */ 1386 * Launcher triggers interrupt to Guest. */
1384 int done_fd; 1387 int done_fd;
1385}; 1388};
1386/*:*/
1387 1389
1388/*L:210 1390/*L:210
1389 * The Disk 1391 * The Disk
@@ -1493,7 +1495,10 @@ static int io_thread(void *_dev)
1493 while (read(vblk->workpipe[0], &c, 1) == 1) { 1495 while (read(vblk->workpipe[0], &c, 1) == 1) {
1494 /* We acknowledge each request immediately to reduce latency, 1496 /* We acknowledge each request immediately to reduce latency,
1495 * rather than waiting until we've done them all. I haven't 1497 * rather than waiting until we've done them all. I haven't
1496 * measured to see if it makes any difference. */ 1498 * measured to see if it makes any difference.
1499 *
1500 * That would be an interesting test, wouldn't it? You could
1501 * also try having more than one I/O thread. */
1497 while (service_io(dev)) 1502 while (service_io(dev))
1498 write(vblk->done_fd, &c, 1); 1503 write(vblk->done_fd, &c, 1);
1499 } 1504 }
@@ -1501,7 +1506,7 @@ static int io_thread(void *_dev)
1501} 1506}
1502 1507
1503/* Now we've seen the I/O thread, we return to the Launcher to see what happens 1508/* Now we've seen the I/O thread, we return to the Launcher to see what happens
1504 * when the thread tells us it's completed some I/O. */ 1509 * when that thread tells us it's completed some I/O. */
1505static bool handle_io_finish(int fd, struct device *dev) 1510static bool handle_io_finish(int fd, struct device *dev)
1506{ 1511{
1507 char c; 1512 char c;
@@ -1573,11 +1578,12 @@ static void setup_block_file(const char *filename)
1573 * more work. */ 1578 * more work. */
1574 pipe(vblk->workpipe); 1579 pipe(vblk->workpipe);
1575 1580
1576 /* Create stack for thread and run it */ 1581 /* Create stack for thread and run it. Since stack grows upwards, we
1582 * point the stack pointer to the end of this region. */
1577 stack = malloc(32768); 1583 stack = malloc(32768);
1578 /* SIGCHLD - We dont "wait" for our cloned thread, so prevent it from 1584 /* SIGCHLD - We dont "wait" for our cloned thread, so prevent it from
1579 * becoming a zombie. */ 1585 * becoming a zombie. */
1580 if (clone(io_thread, stack + 32768, CLONE_VM | SIGCHLD, dev) == -1) 1586 if (clone(io_thread, stack + 32768, CLONE_VM | SIGCHLD, dev) == -1)
1581 err(1, "Creating clone"); 1587 err(1, "Creating clone");
1582 1588
1583 /* We don't need to keep the I/O thread's end of the pipes open. */ 1589 /* We don't need to keep the I/O thread's end of the pipes open. */
@@ -1587,14 +1593,14 @@ static void setup_block_file(const char *filename)
1587 verbose("device %u: virtblock %llu sectors\n", 1593 verbose("device %u: virtblock %llu sectors\n",
1588 devices.device_num, le64_to_cpu(conf.capacity)); 1594 devices.device_num, le64_to_cpu(conf.capacity));
1589} 1595}
1590/* That's the end of device setup. :*/ 1596/* That's the end of device setup. */
1591 1597
1592/* Reboot */ 1598/*L:230 Reboot is pretty easy: clean up and exec() the Launcher afresh. */
1593static void __attribute__((noreturn)) restart_guest(void) 1599static void __attribute__((noreturn)) restart_guest(void)
1594{ 1600{
1595 unsigned int i; 1601 unsigned int i;
1596 1602
1597 /* Closing pipes causes the waker thread and io_threads to die, and 1603 /* Closing pipes causes the Waker thread and io_threads to die, and
1598 * closing /dev/lguest cleans up the Guest. Since we don't track all 1604 * closing /dev/lguest cleans up the Guest. Since we don't track all
1599 * open fds, we simply close everything beyond stderr. */ 1605 * open fds, we simply close everything beyond stderr. */
1600 for (i = 3; i < FD_SETSIZE; i++) 1606 for (i = 3; i < FD_SETSIZE; i++)
@@ -1603,7 +1609,7 @@ static void __attribute__((noreturn)) restart_guest(void)
1603 err(1, "Could not exec %s", main_args[0]); 1609 err(1, "Could not exec %s", main_args[0]);
1604} 1610}
1605 1611
1606/*L:220 Finally we reach the core of the Launcher, which runs the Guest, serves 1612/*L:220 Finally we reach the core of the Launcher which runs the Guest, serves
1607 * its input and output, and finally, lays it to rest. */ 1613 * its input and output, and finally, lays it to rest. */
1608static void __attribute__((noreturn)) run_guest(int lguest_fd) 1614static void __attribute__((noreturn)) run_guest(int lguest_fd)
1609{ 1615{
@@ -1644,7 +1650,7 @@ static void __attribute__((noreturn)) run_guest(int lguest_fd)
1644 err(1, "Resetting break"); 1650 err(1, "Resetting break");
1645 } 1651 }
1646} 1652}
1647/* 1653/*L:240
1648 * This is the end of the Launcher. The good news: we are over halfway 1654 * This is the end of the Launcher. The good news: we are over halfway
1649 * through! The bad news: the most fiendish part of the code still lies ahead 1655 * through! The bad news: the most fiendish part of the code still lies ahead
1650 * of us. 1656 * of us.
@@ -1691,8 +1697,8 @@ int main(int argc, char *argv[])
1691 * device receive input from a file descriptor, we keep an fdset 1697 * device receive input from a file descriptor, we keep an fdset
1692 * (infds) and the maximum fd number (max_infd) with the head of the 1698 * (infds) and the maximum fd number (max_infd) with the head of the
1693 * list. We also keep a pointer to the last device. Finally, we keep 1699 * list. We also keep a pointer to the last device. Finally, we keep
1694 * the next interrupt number to hand out (1: remember that 0 is used by 1700 * the next interrupt number to use for devices (1: remember that 0 is
1695 * the timer). */ 1701 * used by the timer). */
1696 FD_ZERO(&devices.infds); 1702 FD_ZERO(&devices.infds);
1697 devices.max_infd = -1; 1703 devices.max_infd = -1;
1698 devices.lastdev = NULL; 1704 devices.lastdev = NULL;
@@ -1793,8 +1799,8 @@ int main(int argc, char *argv[])
1793 lguest_fd = tell_kernel(pgdir, start); 1799 lguest_fd = tell_kernel(pgdir, start);
1794 1800
1795 /* We fork off a child process, which wakes the Launcher whenever one 1801 /* We fork off a child process, which wakes the Launcher whenever one
1796 * of the input file descriptors needs attention. Otherwise we would 1802 * of the input file descriptors needs attention. We call this the
1797 * run the Guest until it tries to output something. */ 1803 * Waker, and we'll cover it in a moment. */
1798 waker_fd = setup_waker(lguest_fd); 1804 waker_fd = setup_waker(lguest_fd);
1799 1805
1800 /* Finally, run the Guest. This doesn't return. */ 1806 /* Finally, run the Guest. This doesn't return. */
diff --git a/Documentation/lguest/lguest.txt b/Documentation/lguest/lguest.txt
index 722d4e7fbeb..29510dc5151 100644
--- a/Documentation/lguest/lguest.txt
+++ b/Documentation/lguest/lguest.txt
@@ -1,6 +1,7 @@
1Rusty's Remarkably Unreliable Guide to Lguest 1 __
2 - or, A Young Coder's Illustrated Hypervisor 2 (___()'`; Rusty's Remarkably Unreliable Guide to Lguest
3http://lguest.ozlabs.org 3 /, /` - or, A Young Coder's Illustrated Hypervisor
4 \\"--\\ http://lguest.ozlabs.org
4 5
5Lguest is designed to be a minimal hypervisor for the Linux kernel, for 6Lguest is designed to be a minimal hypervisor for the Linux kernel, for
6Linux developers and users to experiment with virtualization with the 7Linux developers and users to experiment with virtualization with the
@@ -41,12 +42,16 @@ Running Lguest:
41 CONFIG_PHYSICAL_ALIGN=0x100000) 42 CONFIG_PHYSICAL_ALIGN=0x100000)
42 43
43 "Device Drivers": 44 "Device Drivers":
45 "Block devices"
46 "Virtio block driver (EXPERIMENTAL)" = M/Y
44 "Network device support" 47 "Network device support"
45 "Universal TUN/TAP device driver support" = M/Y 48 "Universal TUN/TAP device driver support" = M/Y
46 (CONFIG_TUN=m) 49 "Virtio network driver (EXPERIMENTAL)" = M/Y
47 "Virtualization" 50 (CONFIG_VIRTIO_BLK=m, CONFIG_VIRTIO_NET=m and CONFIG_TUN=m)
48 "Linux hypervisor example code" = M/Y 51
49 (CONFIG_LGUEST=m) 52 "Virtualization"
53 "Linux hypervisor example code" = M/Y
54 (CONFIG_LGUEST=m)
50 55
51- A tool called "lguest" is available in this directory: type "make" 56- A tool called "lguest" is available in this directory: type "make"
52 to build it. If you didn't build your kernel in-tree, use "make 57 to build it. If you didn't build your kernel in-tree, use "make
diff --git a/Documentation/mca.txt b/Documentation/mca.txt
index aabce4ad90f..510375d4209 100644
--- a/Documentation/mca.txt
+++ b/Documentation/mca.txt
@@ -143,14 +143,7 @@ MCA Device Drivers
143 143
144Currently, there are a number of MCA-specific device drivers. 144Currently, there are a number of MCA-specific device drivers.
145 145
1461) PS/2 ESDI 1461) PS/2 SCSI
147 drivers/block/ps2esdi.c
148 include/linux/ps2esdi.h
149 Uses major number 36, and should use /dev files /dev/eda, /dev/edb.
150 Supports two drives, but only one controller. May use the
151 command-line args "ed=cyl,head,sec" and "tp720".
152
1532) PS/2 SCSI
154 drivers/scsi/ibmmca.c 147 drivers/scsi/ibmmca.c
155 drivers/scsi/ibmmca.h 148 drivers/scsi/ibmmca.h
156 The driver for the IBM SCSI subsystem. Includes both integrated 149 The driver for the IBM SCSI subsystem. Includes both integrated
@@ -159,25 +152,25 @@ Currently, there are a number of MCA-specific device drivers.
159 machine with a front-panel display (i.e. model 95), you can use 152 machine with a front-panel display (i.e. model 95), you can use
160 "ibmmcascsi=display" to enable a drive activity indicator. 153 "ibmmcascsi=display" to enable a drive activity indicator.
161 154
1623) 3c523 1552) 3c523
163 drivers/net/3c523.c 156 drivers/net/3c523.c
164 drivers/net/3c523.h 157 drivers/net/3c523.h
165 3Com 3c523 Etherlink/MC ethernet driver. 158 3Com 3c523 Etherlink/MC ethernet driver.
166 159
1674) SMC Ultra/MCA and IBM Adapter/A 1603) SMC Ultra/MCA and IBM Adapter/A
168 drivers/net/smc-mca.c 161 drivers/net/smc-mca.c
169 drivers/net/smc-mca.h 162 drivers/net/smc-mca.h
170 Driver for the MCA version of the SMC Ultra and various other 163 Driver for the MCA version of the SMC Ultra and various other
171 OEM'ed and work-alike cards (Elite, Adapter/A, etc). 164 OEM'ed and work-alike cards (Elite, Adapter/A, etc).
172 165
1735) NE/2 1664) NE/2
174 driver/net/ne2.c 167 driver/net/ne2.c
175 driver/net/ne2.h 168 driver/net/ne2.h
176 The NE/2 is the MCA version of the NE2000. This may not work 169 The NE/2 is the MCA version of the NE2000. This may not work
177 with clones that have a different adapter id than the original 170 with clones that have a different adapter id than the original
178 NE/2. 171 NE/2.
179 172
1806) Future Domain MCS-600/700, OEM'd IBM Fast SCSI Adapter/A and 1735) Future Domain MCS-600/700, OEM'd IBM Fast SCSI Adapter/A and
181 Reply Sound Blaster/SCSI (SCSI part) 174 Reply Sound Blaster/SCSI (SCSI part)
182 Better support for these cards than the driver for ISA. 175 Better support for these cards than the driver for ISA.
183 Supports multiple cards with IRQ sharing. 176 Supports multiple cards with IRQ sharing.
diff --git a/Documentation/nmi_watchdog.txt b/Documentation/nmi_watchdog.txt
index c025a4561c1..757c729ee42 100644
--- a/Documentation/nmi_watchdog.txt
+++ b/Documentation/nmi_watchdog.txt
@@ -23,8 +23,7 @@ kernel debugging options, such as Kernel Stack Meter or Kernel Tracer,
23may implicitly disable the NMI watchdog.] 23may implicitly disable the NMI watchdog.]
24 24
25For x86-64, the needed APIC is always compiled in, and the NMI watchdog is 25For x86-64, the needed APIC is always compiled in, and the NMI watchdog is
26always enabled with I/O-APIC mode (nmi_watchdog=1). Currently, local APIC 26always enabled with I/O-APIC mode (nmi_watchdog=1).
27mode (nmi_watchdog=2) does not work on x86-64.
28 27
29Using local APIC (nmi_watchdog=2) needs the first performance register, so 28Using local APIC (nmi_watchdog=2) needs the first performance register, so
30you can't use it for other purposes (such as high precision performance 29you can't use it for other purposes (such as high precision performance
diff --git a/Documentation/unaligned-memory-access.txt b/Documentation/unaligned-memory-access.txt
index 6223eace3c0..b0472ac5226 100644
--- a/Documentation/unaligned-memory-access.txt
+++ b/Documentation/unaligned-memory-access.txt
@@ -57,7 +57,7 @@ here; a summary of the common scenarios is presented below:
57 unaligned access to be corrected. 57 unaligned access to be corrected.
58 - Some architectures are not capable of unaligned memory access, but will 58 - Some architectures are not capable of unaligned memory access, but will
59 silently perform a different memory access to the one that was requested, 59 silently perform a different memory access to the one that was requested,
60 resulting a a subtle code bug that is hard to detect! 60 resulting in a subtle code bug that is hard to detect!
61 61
62It should be obvious from the above that if your code causes unaligned 62It should be obvious from the above that if your code causes unaligned
63memory accesses to happen, your code will not work correctly on certain 63memory accesses to happen, your code will not work correctly on certain
@@ -209,7 +209,7 @@ memory and you wish to avoid unaligned access, its usage is as follows:
209 209
210 u32 value = get_unaligned((u32 *) data); 210 u32 value = get_unaligned((u32 *) data);
211 211
212These macros work work for memory accesses of any length (not just 32 bits as 212These macros work for memory accesses of any length (not just 32 bits as
213in the examples above). Be aware that when compared to standard access of 213in the examples above). Be aware that when compared to standard access of
214aligned memory, using these macros to access unaligned memory can be costly in 214aligned memory, using these macros to access unaligned memory can be costly in
215terms of performance. 215terms of performance.
diff --git a/MAINTAINERS b/MAINTAINERS
index fc7365cdc8d..c6ade7e777f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -163,6 +163,12 @@ M: A2232@gmx.net
163L: linux-m68k@lists.linux-m68k.org 163L: linux-m68k@lists.linux-m68k.org
164S: Maintained 164S: Maintained
165 165
166AFS FILESYSTEM & AF_RXRPC SOCKET DOMAIN
167P: David Howells
168M: dhowells@redhat.com
169L: linux-afs@lists.infradead.org
170S: Supported
171
166AIO 172AIO
167P: Benjamin LaHaise 173P: Benjamin LaHaise
168M: bcrl@kvack.org 174M: bcrl@kvack.org
@@ -452,7 +458,7 @@ S: Maintained
452 458
453ARM/ATMEL AT91RM9200 ARM ARCHITECTURE 459ARM/ATMEL AT91RM9200 ARM ARCHITECTURE
454P: Andrew Victor 460P: Andrew Victor
455M: andrew@sanpeople.com 461M: linux@maxim.org.za
456L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) 462L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
457W: http://maxim.org.za/at91_26.html 463W: http://maxim.org.za/at91_26.html
458S: Maintained 464S: Maintained
@@ -2305,14 +2311,14 @@ L: kexec@lists.infradead.org
2305S: Maintained 2311S: Maintained
2306 2312
2307KPROBES 2313KPROBES
2308P: Prasanna S Panchamukhi
2309M: prasanna@in.ibm.com
2310P: Ananth N Mavinakayanahalli 2314P: Ananth N Mavinakayanahalli
2311M: ananth@in.ibm.com 2315M: ananth@in.ibm.com
2312P: Anil S Keshavamurthy 2316P: Anil S Keshavamurthy
2313M: anil.s.keshavamurthy@intel.com 2317M: anil.s.keshavamurthy@intel.com
2314P: David S. Miller 2318P: David S. Miller
2315M: davem@davemloft.net 2319M: davem@davemloft.net
2320P: Masami Hiramatsu
2321M: mhiramat@redhat.com
2316L: linux-kernel@vger.kernel.org 2322L: linux-kernel@vger.kernel.org
2317S: Maintained 2323S: Maintained
2318 2324
@@ -2926,9 +2932,9 @@ S: Maintained
2926 2932
2927ORACLE CLUSTER FILESYSTEM 2 (OCFS2) 2933ORACLE CLUSTER FILESYSTEM 2 (OCFS2)
2928P: Mark Fasheh 2934P: Mark Fasheh
2929M: mark.fasheh@oracle.com 2935M: mfasheh@suse.com
2930P: Kurt Hackel 2936P: Joel Becker
2931M: kurt.hackel@oracle.com 2937M: joel.becker@oracle.com
2932L: ocfs2-devel@oss.oracle.com 2938L: ocfs2-devel@oss.oracle.com
2933W: http://oss.oracle.com/projects/ocfs2/ 2939W: http://oss.oracle.com/projects/ocfs2/
2934S: Supported 2940S: Supported
diff --git a/Makefile b/Makefile
index 7a4d34b91e0..fec2a12710e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 25 3SUBLEVEL = 25
4EXTRAVERSION = -rc6 4EXTRAVERSION = -rc8
5NAME = Funky Weasel is Jiggy wit it 5NAME = Funky Weasel is Jiggy wit it
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
@@ -189,7 +189,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
189# Alternatively CROSS_COMPILE can be set in the environment. 189# Alternatively CROSS_COMPILE can be set in the environment.
190# Default value for CROSS_COMPILE is not to prefix executables 190# Default value for CROSS_COMPILE is not to prefix executables
191# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile 191# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
192 192export KBUILD_BUILDHOST := $(SUBARCH)
193ARCH ?= $(SUBARCH) 193ARCH ?= $(SUBARCH)
194CROSS_COMPILE ?= 194CROSS_COMPILE ?=
195 195
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index 4e1c08636ed..dd6e334ab9e 100644
--- a/arch/alpha/kernel/pci_iommu.c
+++ b/arch/alpha/kernel/pci_iommu.c
@@ -424,11 +424,13 @@ EXPORT_SYMBOL(pci_unmap_page);
424 else DMA_ADDRP is undefined. */ 424 else DMA_ADDRP is undefined. */
425 425
426void * 426void *
427pci_alloc_consistent(struct pci_dev *pdev, size_t size, dma_addr_t *dma_addrp) 427__pci_alloc_consistent(struct pci_dev *pdev, size_t size,
428 dma_addr_t *dma_addrp, gfp_t gfp)
428{ 429{
429 void *cpu_addr; 430 void *cpu_addr;
430 long order = get_order(size); 431 long order = get_order(size);
431 gfp_t gfp = GFP_ATOMIC; 432
433 gfp &= ~GFP_DMA;
432 434
433try_again: 435try_again:
434 cpu_addr = (void *)__get_free_pages(gfp, order); 436 cpu_addr = (void *)__get_free_pages(gfp, order);
@@ -458,7 +460,7 @@ try_again:
458 460
459 return cpu_addr; 461 return cpu_addr;
460} 462}
461EXPORT_SYMBOL(pci_alloc_consistent); 463EXPORT_SYMBOL(__pci_alloc_consistent);
462 464
463/* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must 465/* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must
464 be values that were returned from pci_alloc_consistent. SIZE must 466 be values that were returned from pci_alloc_consistent. SIZE must
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 955fc53c1c0..4039a133006 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -469,6 +469,7 @@ config ARCH_OMAP
469 bool "TI OMAP" 469 bool "TI OMAP"
470 select GENERIC_GPIO 470 select GENERIC_GPIO
471 select GENERIC_TIME 471 select GENERIC_TIME
472 select GENERIC_CLOCKEVENTS
472 help 473 help
473 Support for TI's OMAP platform (OMAP1 and OMAP2). 474 Support for TI's OMAP platform (OMAP1 and OMAP2).
474 475
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
index 53826224148..5fe9588db07 100644
--- a/arch/arm/common/it8152.c
+++ b/arch/arm/common/it8152.c
@@ -120,6 +120,7 @@ void it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
120 time, when they all three were 0. */ 120 time, when they all three were 0. */
121 bits_pd = __raw_readl(IT8152_INTC_PDCNIRR); 121 bits_pd = __raw_readl(IT8152_INTC_PDCNIRR);
122 bits_lp = __raw_readl(IT8152_INTC_LPCNIRR); 122 bits_lp = __raw_readl(IT8152_INTC_LPCNIRR);
123 bits_ld = __raw_readl(IT8152_INTC_LDCNIRR);
123 if (!(bits_ld | bits_lp | bits_pd)) 124 if (!(bits_ld | bits_lp | bits_pd))
124 return; 125 return;
125 } 126 }
@@ -133,14 +134,14 @@ void it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
133 134
134 bits_lp &= ((1 << IT8152_LP_IRQ_COUNT) - 1); 135 bits_lp &= ((1 << IT8152_LP_IRQ_COUNT) - 1);
135 while (bits_lp) { 136 while (bits_lp) {
136 i = __ffs(bits_pd); 137 i = __ffs(bits_lp);
137 it8152_irq(IT8152_LP_IRQ(i)); 138 it8152_irq(IT8152_LP_IRQ(i));
138 bits_lp &= ~(1 << i); 139 bits_lp &= ~(1 << i);
139 } 140 }
140 141
141 bits_ld &= ((1 << IT8152_LD_IRQ_COUNT) - 1); 142 bits_ld &= ((1 << IT8152_LD_IRQ_COUNT) - 1);
142 while (bits_ld) { 143 while (bits_ld) {
143 i = __ffs(bits_pd); 144 i = __ffs(bits_ld);
144 it8152_irq(IT8152_LD_IRQ(i)); 145 it8152_irq(IT8152_LD_IRQ(i));
145 bits_ld &= ~(1 << i); 146 bits_ld &= ~(1 << i);
146 } 147 }
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index 283e14fff99..7e97b737656 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -336,7 +336,7 @@
336 CALL(sys_mknodat) 336 CALL(sys_mknodat)
337/* 325 */ CALL(sys_fchownat) 337/* 325 */ CALL(sys_fchownat)
338 CALL(sys_futimesat) 338 CALL(sys_futimesat)
339 CALL(sys_fstatat64) 339 CALL(ABI(sys_fstatat64, sys_oabi_fstatat64))
340 CALL(sys_unlinkat) 340 CALL(sys_unlinkat)
341 CALL(sys_renameat) 341 CALL(sys_renameat)
342/* 330 */ CALL(sys_linkat) 342/* 330 */ CALL(sys_linkat)
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index 54cdf1aeefc..ef2f86a5e78 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -26,8 +26,8 @@
26/* 26/*
27 * For ARM syscalls, we encode the syscall number into the instruction. 27 * For ARM syscalls, we encode the syscall number into the instruction.
28 */ 28 */
29#define SWI_SYS_SIGRETURN (0xef000000|(__NR_sigreturn)) 29#define SWI_SYS_SIGRETURN (0xef000000|(__NR_sigreturn)|(__NR_OABI_SYSCALL_BASE))
30#define SWI_SYS_RT_SIGRETURN (0xef000000|(__NR_rt_sigreturn)) 30#define SWI_SYS_RT_SIGRETURN (0xef000000|(__NR_rt_sigreturn)|(__NR_OABI_SYSCALL_BASE))
31 31
32/* 32/*
33 * With EABI, the syscall number has to be loaded into r7. 33 * With EABI, the syscall number has to be loaded into r7.
diff --git a/arch/arm/kernel/sys_oabi-compat.c b/arch/arm/kernel/sys_oabi-compat.c
index e8b98046895..96ab5f52949 100644
--- a/arch/arm/kernel/sys_oabi-compat.c
+++ b/arch/arm/kernel/sys_oabi-compat.c
@@ -25,6 +25,7 @@
25 * sys_stat64: 25 * sys_stat64:
26 * sys_lstat64: 26 * sys_lstat64:
27 * sys_fstat64: 27 * sys_fstat64:
28 * sys_fstatat64:
28 * 29 *
29 * struct stat64 has different sizes and some members are shifted 30 * struct stat64 has different sizes and some members are shifted
30 * Compatibility wrappers are needed for them and provided below. 31 * Compatibility wrappers are needed for them and provided below.
@@ -169,6 +170,29 @@ asmlinkage long sys_oabi_fstat64(unsigned long fd,
169 return error; 170 return error;
170} 171}
171 172
173asmlinkage long sys_oabi_fstatat64(int dfd,
174 char __user *filename,
175 struct oldabi_stat64 __user *statbuf,
176 int flag)
177{
178 struct kstat stat;
179 int error = -EINVAL;
180
181 if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0)
182 goto out;
183
184 if (flag & AT_SYMLINK_NOFOLLOW)
185 error = vfs_lstat_fd(dfd, filename, &stat);
186 else
187 error = vfs_stat_fd(dfd, filename, &stat);
188
189 if (!error)
190 error = cp_oldabi_stat64(&stat, statbuf);
191
192out:
193 return error;
194}
195
172struct oabi_flock64 { 196struct oabi_flock64 {
173 short l_type; 197 short l_type;
174 short l_whence; 198 short l_whence;
diff --git a/arch/arm/mach-iop32x/glantank.c b/arch/arm/mach-iop32x/glantank.c
index 74c65ce221d..d2a7b04f1cb 100644
--- a/arch/arm/mach-iop32x/glantank.c
+++ b/arch/arm/mach-iop32x/glantank.c
@@ -14,8 +14,10 @@
14 14
15#include <linux/mm.h> 15#include <linux/mm.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/f75375s.h>
17#include <linux/kernel.h> 18#include <linux/kernel.h>
18#include <linux/pci.h> 19#include <linux/pci.h>
20#include <linux/pm.h>
19#include <linux/string.h> 21#include <linux/string.h>
20#include <linux/slab.h> 22#include <linux/slab.h>
21#include <linux/serial_core.h> 23#include <linux/serial_core.h>
@@ -167,11 +169,21 @@ static struct platform_device glantank_serial_device = {
167 .resource = &glantank_uart_resource, 169 .resource = &glantank_uart_resource,
168}; 170};
169 171
172static struct f75375s_platform_data glantank_f75375s = {
173 .pwm = { 255, 255 },
174 .pwm_enable = { 0, 0 },
175};
176
170static struct i2c_board_info __initdata glantank_i2c_devices[] = { 177static struct i2c_board_info __initdata glantank_i2c_devices[] = {
171 { 178 {
172 I2C_BOARD_INFO("rtc-rs5c372", 0x32), 179 I2C_BOARD_INFO("rtc-rs5c372", 0x32),
173 .type = "rs5c372a", 180 .type = "rs5c372a",
174 }, 181 },
182 {
183 I2C_BOARD_INFO("f75375", 0x2e),
184 .type = "f75375",
185 .platform_data = &glantank_f75375s,
186 },
175}; 187};
176 188
177static void glantank_power_off(void) 189static void glantank_power_off(void)
diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c
index 237651ebae5..a4f8b205543 100644
--- a/arch/arm/mach-omap1/time.c
+++ b/arch/arm/mach-omap1/time.c
@@ -132,13 +132,20 @@ static inline void omap_mpu_timer_start(int nr, unsigned long load_val,
132 timer->cntl = timerflags; 132 timer->cntl = timerflags;
133} 133}
134 134
135static inline void omap_mpu_timer_stop(int nr)
136{
137 volatile omap_mpu_timer_regs_t* timer = omap_mpu_timer_base(nr);
138
139 timer->cntl &= ~MPU_TIMER_ST;
140}
141
135/* 142/*
136 * --------------------------------------------------------------------------- 143 * ---------------------------------------------------------------------------
137 * MPU timer 1 ... count down to zero, interrupt, reload 144 * MPU timer 1 ... count down to zero, interrupt, reload
138 * --------------------------------------------------------------------------- 145 * ---------------------------------------------------------------------------
139 */ 146 */
140static int omap_mpu_set_next_event(unsigned long cycles, 147static int omap_mpu_set_next_event(unsigned long cycles,
141 struct clock_event_device *evt) 148 struct clock_event_device *evt)
142{ 149{
143 omap_mpu_timer_start(0, cycles, 0); 150 omap_mpu_timer_start(0, cycles, 0);
144 return 0; 151 return 0;
@@ -152,6 +159,7 @@ static void omap_mpu_set_mode(enum clock_event_mode mode,
152 omap_mpu_set_autoreset(0); 159 omap_mpu_set_autoreset(0);
153 break; 160 break;
154 case CLOCK_EVT_MODE_ONESHOT: 161 case CLOCK_EVT_MODE_ONESHOT:
162 omap_mpu_timer_stop(0);
155 omap_mpu_remove_autoreset(0); 163 omap_mpu_remove_autoreset(0);
156 break; 164 break;
157 case CLOCK_EVT_MODE_UNUSED: 165 case CLOCK_EVT_MODE_UNUSED:
@@ -163,7 +171,7 @@ static void omap_mpu_set_mode(enum clock_event_mode mode,
163 171
164static struct clock_event_device clockevent_mpu_timer1 = { 172static struct clock_event_device clockevent_mpu_timer1 = {
165 .name = "mpu_timer1", 173 .name = "mpu_timer1",
166 .features = CLOCK_EVT_FEAT_PERIODIC, CLOCK_EVT_FEAT_ONESHOT, 174 .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
167 .shift = 32, 175 .shift = 32,
168 .set_next_event = omap_mpu_set_next_event, 176 .set_next_event = omap_mpu_set_next_event,
169 .set_mode = omap_mpu_set_mode, 177 .set_mode = omap_mpu_set_mode,
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S
index c156ddab9a2..016690b9d56 100644
--- a/arch/arm/mm/proc-xscale.S
+++ b/arch/arm/mm/proc-xscale.S
@@ -114,6 +114,10 @@ clean_addr: .word CLEAN_ADDR
114 * Nothing too exciting at the moment 114 * Nothing too exciting at the moment
115 */ 115 */
116ENTRY(cpu_xscale_proc_init) 116ENTRY(cpu_xscale_proc_init)
117 @ enable write buffer coalescing. Some bootloader disable it
118 mrc p15, 0, r1, c1, c0, 1
119 bic r1, r1, #1
120 mcr p15, 0, r1, c1, c0, 1
117 mov pc, lr 121 mov pc, lr
118 122
119/* 123/*
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
index c1f7e5a819a..b917206ee90 100644
--- a/arch/arm/plat-omap/Kconfig
+++ b/arch/arm/plat-omap/Kconfig
@@ -11,7 +11,6 @@ choice
11 11
12config ARCH_OMAP1 12config ARCH_OMAP1
13 bool "TI OMAP1" 13 bool "TI OMAP1"
14 select GENERIC_CLOCKEVENTS
15 14
16config ARCH_OMAP2 15config ARCH_OMAP2
17 bool "TI OMAP2" 16 bool "TI OMAP2"
diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
index ce17df31b84..8f56c255d1e 100644
--- a/arch/arm/plat-omap/Makefile
+++ b/arch/arm/plat-omap/Makefile
@@ -14,9 +14,14 @@ obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o
14# OCPI interconnect support for 1710, 1610 and 5912 14# OCPI interconnect support for 1710, 1610 and 5912
15obj-$(CONFIG_ARCH_OMAP16XX) += ocpi.o 15obj-$(CONFIG_ARCH_OMAP16XX) += ocpi.o
16 16
17obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
17 18
18obj-$(CONFIG_CPU_FREQ) += cpu-omap.o 19obj-$(CONFIG_CPU_FREQ) += cpu-omap.o
19obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o 20obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
20obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o 21obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o
21obj-$(CONFIG_OMAP_DEBUG_LEDS) += debug-leds.o 22obj-$(CONFIG_OMAP_DEBUG_LEDS) += debug-leds.o
22obj-$(CONFIG_I2C_OMAP) += i2c.o 23obj-$(CONFIG_I2C_OMAP) += i2c.o
24
25# OMAP mailbox framework
26obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o
27
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 91004a3c479..793740686be 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -1020,12 +1020,12 @@ static void create_dma_lch_chain(int lch_head, int lch_queue)
1020 } 1020 }
1021 1021
1022 w = OMAP_DMA_CLNK_CTRL_REG(lch_head); 1022 w = OMAP_DMA_CLNK_CTRL_REG(lch_head);
1023 w &= ~(0x0f); 1023 w &= ~(0x1f);
1024 w |= lch_queue; 1024 w |= lch_queue;
1025 OMAP_DMA_CLNK_CTRL_REG(lch_head) = w; 1025 OMAP_DMA_CLNK_CTRL_REG(lch_head) = w;
1026 1026
1027 w = OMAP_DMA_CLNK_CTRL_REG(lch_queue); 1027 w = OMAP_DMA_CLNK_CTRL_REG(lch_queue);
1028 w &= ~(0x0f); 1028 w &= ~(0x1f);
1029 w |= (dma_chan[lch_queue].next_linked_ch); 1029 w |= (dma_chan[lch_queue].next_linked_ch);
1030 OMAP_DMA_CLNK_CTRL_REG(lch_queue) = w; 1030 OMAP_DMA_CLNK_CTRL_REG(lch_queue) = w;
1031} 1031}
@@ -1248,7 +1248,7 @@ EXPORT_SYMBOL(omap_dma_chain_status);
1248 * @param frame_count 1248 * @param frame_count
1249 * @param callbk_data - channel callback parameter data. 1249 * @param callbk_data - channel callback parameter data.
1250 * 1250 *
1251 * @return - Success : start_dma status 1251 * @return - Success : 0
1252 * Failure: -EINVAL/-EBUSY 1252 * Failure: -EINVAL/-EBUSY
1253 */ 1253 */
1254int omap_dma_chain_a_transfer(int chain_id, int src_start, int dest_start, 1254int omap_dma_chain_a_transfer(int chain_id, int src_start, int dest_start,
@@ -1367,7 +1367,7 @@ int omap_dma_chain_a_transfer(int chain_id, int src_start, int dest_start,
1367 dma_chan[lch].flags |= OMAP_DMA_ACTIVE; 1367 dma_chan[lch].flags |= OMAP_DMA_ACTIVE;
1368 } 1368 }
1369 } 1369 }
1370 return start_dma; 1370 return 0;
1371} 1371}
1372EXPORT_SYMBOL(omap_dma_chain_a_transfer); 1372EXPORT_SYMBOL(omap_dma_chain_a_transfer);
1373 1373
@@ -1663,6 +1663,7 @@ static int omap2_dma_handle_ch(int ch)
1663 if (!status) { 1663 if (!status) {
1664 if (printk_ratelimit()) 1664 if (printk_ratelimit())
1665 printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", ch); 1665 printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", ch);
1666 omap_writel(1 << ch, OMAP_DMA4_IRQSTATUS_L0);
1666 return 0; 1667 return 0;
1667 } 1668 }
1668 if (unlikely(dma_chan[ch].dev_id == -1)) { 1669 if (unlikely(dma_chan[ch].dev_id == -1)) {
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 66a1455595f..8c78e4e57b5 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -1134,10 +1134,9 @@ static void gpio_mask_irq(unsigned int irq)
1134static void gpio_unmask_irq(unsigned int irq) 1134static void gpio_unmask_irq(unsigned int irq)
1135{ 1135{
1136 unsigned int gpio = irq - IH_GPIO_BASE; 1136 unsigned int gpio = irq - IH_GPIO_BASE;
1137 unsigned int gpio_idx = get_gpio_index(gpio);
1138 struct gpio_bank *bank = get_irq_chip_data(irq); 1137 struct gpio_bank *bank = get_irq_chip_data(irq);
1139 1138
1140 _set_gpio_irqenable(bank, gpio_idx, 1); 1139 _set_gpio_irqenable(bank, gpio, 1);
1141} 1140}
1142 1141
1143static struct irq_chip gpio_irq_chip = { 1142static struct irq_chip gpio_irq_chip = {
diff --git a/arch/avr32/kernel/setup.c b/arch/avr32/kernel/setup.c
index e66a07a928c..2687b730e2d 100644
--- a/arch/avr32/kernel/setup.c
+++ b/arch/avr32/kernel/setup.c
@@ -163,6 +163,7 @@ add_reserved_region(resource_size_t start, resource_size_t end,
163 new->start = start; 163 new->start = start;
164 new->end = end; 164 new->end = end;
165 new->name = name; 165 new->name = name;
166 new->sibling = next;
166 new->flags = IORESOURCE_MEM; 167 new->flags = IORESOURCE_MEM;
167 168
168 *pprev = new; 169 *pprev = new;
diff --git a/arch/avr32/kernel/traps.c b/arch/avr32/kernel/traps.c
index cf6f686d9b0..b835c4c0136 100644
--- a/arch/avr32/kernel/traps.c
+++ b/arch/avr32/kernel/traps.c
@@ -178,6 +178,7 @@ static int do_cop_absent(u32 insn)
178 return 0; 178 return 0;
179} 179}
180 180
181#ifdef CONFIG_BUG
181int is_valid_bugaddr(unsigned long pc) 182int is_valid_bugaddr(unsigned long pc)
182{ 183{
183 unsigned short opcode; 184 unsigned short opcode;
@@ -189,6 +190,7 @@ int is_valid_bugaddr(unsigned long pc)
189 190
190 return opcode == AVR32_BUG_OPCODE; 191 return opcode == AVR32_BUG_OPCODE;
191} 192}
193#endif
192 194
193asmlinkage void do_illegal_opcode(unsigned long ecr, struct pt_regs *regs) 195asmlinkage void do_illegal_opcode(unsigned long ecr, struct pt_regs *regs)
194{ 196{
@@ -197,6 +199,7 @@ asmlinkage void do_illegal_opcode(unsigned long ecr, struct pt_regs *regs)
197 void __user *pc; 199 void __user *pc;
198 long code; 200 long code;
199 201
202#ifdef CONFIG_BUG
200 if (!user_mode(regs) && (ecr == ECR_ILLEGAL_OPCODE)) { 203 if (!user_mode(regs) && (ecr == ECR_ILLEGAL_OPCODE)) {
201 enum bug_trap_type type; 204 enum bug_trap_type type;
202 205
@@ -211,6 +214,7 @@ asmlinkage void do_illegal_opcode(unsigned long ecr, struct pt_regs *regs)
211 die("Kernel BUG", regs, SIGKILL); 214 die("Kernel BUG", regs, SIGKILL);
212 } 215 }
213 } 216 }
217#endif
214 218
215 local_irq_enable(); 219 local_irq_enable();
216 220
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 72097dacabd..1c62381f5c2 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -482,10 +482,13 @@ endif
482# be 16kb aligned or the handling of the current variable will break. 482# be 16kb aligned or the handling of the current variable will break.
483# Simplified: what IP22 does at 128MB+ in ksegN, IP28 does at 512MB+ in xkphys 483# Simplified: what IP22 does at 128MB+ in ksegN, IP28 does at 512MB+ in xkphys
484# 484#
485#core-$(CONFIG_SGI_IP28) += arch/mips/sgi-ip22/ arch/mips/arc/arc_con.o 485ifdef CONFIG_SGI_IP28
486 ifeq ($(call cc-option-yn,-mr10k-cache-barrier=1), n)
487 $(error gcc doesn't support needed option -mr10k-cache-barrier=1)
488 endif
489endif
486core-$(CONFIG_SGI_IP28) += arch/mips/sgi-ip22/ 490core-$(CONFIG_SGI_IP28) += arch/mips/sgi-ip22/
487cflags-$(CONFIG_SGI_IP28) += -mr10k-cache-barrier=1 -Iinclude/asm-mips/mach-ip28 491cflags-$(CONFIG_SGI_IP28) += -mr10k-cache-barrier=1 -Iinclude/asm-mips/mach-ip28
488#cflags-$(CONFIG_SGI_IP28) += -Iinclude/asm-mips/mach-ip28
489load-$(CONFIG_SGI_IP28) += 0xa800000020004000 492load-$(CONFIG_SGI_IP28) += 0xa800000020004000
490 493
491# 494#
diff --git a/arch/mips/au1000/common/cputable.c b/arch/mips/au1000/common/cputable.c
index d8df5fdb045..5c0d35d6e22 100644
--- a/arch/mips/au1000/common/cputable.c
+++ b/arch/mips/au1000/common/cputable.c
@@ -22,24 +22,24 @@ struct cpu_spec* cur_cpu_spec[NR_CPUS];
22/* With some thought, we can probably use the mask to reduce the 22/* With some thought, we can probably use the mask to reduce the
23 * size of the table. 23 * size of the table.
24 */ 24 */
25struct cpu_spec cpu_specs[] = { 25struct cpu_spec cpu_specs[] = {
26 { 0xffffffff, 0x00030100, "Au1000 DA", 1, 0 }, 26 { 0xffffffff, 0x00030100, "Au1000 DA", 1, 0, 1 },
27 { 0xffffffff, 0x00030201, "Au1000 HA", 1, 0 }, 27 { 0xffffffff, 0x00030201, "Au1000 HA", 1, 0, 1 },
28 { 0xffffffff, 0x00030202, "Au1000 HB", 1, 0 }, 28 { 0xffffffff, 0x00030202, "Au1000 HB", 1, 0, 1 },
29 { 0xffffffff, 0x00030203, "Au1000 HC", 1, 1 }, 29 { 0xffffffff, 0x00030203, "Au1000 HC", 1, 1, 0 },
30 { 0xffffffff, 0x00030204, "Au1000 HD", 1, 1 }, 30 { 0xffffffff, 0x00030204, "Au1000 HD", 1, 1, 0 },
31 { 0xffffffff, 0x01030200, "Au1500 AB", 1, 1 }, 31 { 0xffffffff, 0x01030200, "Au1500 AB", 1, 1, 0 },
32 { 0xffffffff, 0x01030201, "Au1500 AC", 0, 1 }, 32 { 0xffffffff, 0x01030201, "Au1500 AC", 0, 1, 0 },
33 { 0xffffffff, 0x01030202, "Au1500 AD", 0, 1 }, 33 { 0xffffffff, 0x01030202, "Au1500 AD", 0, 1, 0 },
34 { 0xffffffff, 0x02030200, "Au1100 AB", 1, 1 }, 34 { 0xffffffff, 0x02030200, "Au1100 AB", 1, 1, 0 },
35 { 0xffffffff, 0x02030201, "Au1100 BA", 1, 1 }, 35 { 0xffffffff, 0x02030201, "Au1100 BA", 1, 1, 0 },
36 { 0xffffffff, 0x02030202, "Au1100 BC", 1, 1 }, 36 { 0xffffffff, 0x02030202, "Au1100 BC", 1, 1, 0 },
37 { 0xffffffff, 0x02030203, "Au1100 BD", 0, 1 }, 37 { 0xffffffff, 0x02030203, "Au1100 BD", 0, 1, 0 },
38 { 0xffffffff, 0x02030204, "Au1100 BE", 0, 1 }, 38 { 0xffffffff, 0x02030204, "Au1100 BE", 0, 1, 0 },
39 { 0xffffffff, 0x03030200, "Au1550 AA", 0, 1 }, 39 { 0xffffffff, 0x03030200, "Au1550 AA", 0, 1, 0 },
40 { 0xffffffff, 0x04030200, "Au1200 AB", 0, 0 }, 40 { 0xffffffff, 0x04030200, "Au1200 AB", 0, 0, 0 },
41 { 0xffffffff, 0x04030201, "Au1200 AC", 1, 0 }, 41 { 0xffffffff, 0x04030201, "Au1200 AC", 1, 0, 0 },
42 { 0x00000000, 0x00000000, "Unknown Au1xxx", 1, 0 }, 42 { 0x00000000, 0x00000000, "Unknown Au1xxx", 1, 0, 0 }
43}; 43};
44 44
45void 45void
diff --git a/arch/mips/au1000/common/setup.c b/arch/mips/au1000/common/setup.c
index d885e3848ec..9e4ab80caab 100644
--- a/arch/mips/au1000/common/setup.c
+++ b/arch/mips/au1000/common/setup.c
@@ -57,7 +57,7 @@ void __init plat_mem_setup(void)
57{ 57{
58 struct cpu_spec *sp; 58 struct cpu_spec *sp;
59 char *argptr; 59 char *argptr;
60 unsigned long prid, cpupll, bclk = 1; 60 unsigned long prid, cpufreq, bclk = 1;
61 61
62 set_cpuspec(); 62 set_cpuspec();
63 sp = cur_cpu_spec[0]; 63 sp = cur_cpu_spec[0];
@@ -65,8 +65,15 @@ void __init plat_mem_setup(void)
65 board_setup(); /* board specific setup */ 65 board_setup(); /* board specific setup */
66 66
67 prid = read_c0_prid(); 67 prid = read_c0_prid();
68 cpupll = (au_readl(0xB1900060) & 0x3F) * 12; 68 if (sp->cpu_pll_wo)
69 printk("(PRId %08lx) @ %ldMHZ\n", prid, cpupll); 69#ifdef CONFIG_SOC_AU1000_FREQUENCY
70 cpufreq = CONFIG_SOC_AU1000_FREQUENCY / 1000000;
71#else
72 cpufreq = 396;
73#endif
74 else
75 cpufreq = (au_readl(SYS_CPUPLL) & 0x3F) * 12;
76 printk(KERN_INFO "(PRID %08lx) @ %ld MHz\n", prid, cpufreq);
70 77
71 bclk = sp->cpu_bclk; 78 bclk = sp->cpu_bclk;
72 if (bclk) 79 if (bclk)
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c
index f113b512d7b..e122bbc6cd8 100644
--- a/arch/mips/au1000/common/time.c
+++ b/arch/mips/au1000/common/time.c
@@ -209,18 +209,22 @@ unsigned long cal_r4koff(void)
209 while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S); 209 while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S);
210 au_writel(0, SYS_TOYWRITE); 210 au_writel(0, SYS_TOYWRITE);
211 while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S); 211 while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S);
212 } else
213 no_au1xxx_32khz = 1;
212 214
213 cpu_speed = (au_readl(SYS_CPUPLL) & 0x0000003f) * 215 /*
214 AU1000_SRC_CLK; 216 * On early Au1000, sys_cpupll was write-only. Since these
215 } 217 * silicon versions of Au1000 are not sold by AMD, we don't bend
216 else { 218 * over backwards trying to determine the frequency.
217 /* The 32KHz oscillator isn't running, so assume there 219 */
218 * isn't one and grab the processor speed from the PLL. 220 if (cur_cpu_spec[0]->cpu_pll_wo)
219 * NOTE: some old silicon doesn't allow reading the PLL. 221#ifdef CONFIG_SOC_AU1000_FREQUENCY
220 */ 222 cpu_speed = CONFIG_SOC_AU1000_FREQUENCY;
223#else
224 cpu_speed = 396000000;
225#endif
226 else
221 cpu_speed = (au_readl(SYS_CPUPLL) & 0x0000003f) * AU1000_SRC_CLK; 227 cpu_speed = (au_readl(SYS_CPUPLL) & 0x0000003f) * AU1000_SRC_CLK;
222 no_au1xxx_32khz = 1;
223 }
224 mips_hpt_frequency = cpu_speed; 228 mips_hpt_frequency = cpu_speed;
225 // Equation: Baudrate = CPU / (SD * 2 * CLKDIV * 16) 229 // Equation: Baudrate = CPU / (SD * 2 * CLKDIV * 16)
226 set_au1x00_uart_baud_base(cpu_speed / (2 * ((int)(au_readl(SYS_POWERCTRL)&0x03) + 2) * 16)); 230 set_au1x00_uart_baud_base(cpu_speed / (2 * ((int)(au_readl(SYS_POWERCTRL)&0x03) + 2) * 16));
diff --git a/arch/mips/au1000/xxs1500/board_setup.c b/arch/mips/au1000/xxs1500/board_setup.c
index a9237f41933..b2e413e597a 100644
--- a/arch/mips/au1000/xxs1500/board_setup.c
+++ b/arch/mips/au1000/xxs1500/board_setup.c
@@ -33,11 +33,10 @@
33#include <asm/cpu.h> 33#include <asm/cpu.h>
34#include <asm/bootinfo.h> 34#include <asm/bootinfo.h>
35#include <asm/irq.h> 35#include <asm/irq.h>
36#include <asm/keyboard.h>
37#include <asm/mipsregs.h> 36#include <asm/mipsregs.h>
38#include <asm/reboot.h> 37#include <asm/reboot.h>
39#include <asm/pgtable.h> 38#include <asm/pgtable.h>
40#include <asm/au1000.h> 39#include <asm/mach-au1x00/au1000.h>
41 40
42void board_reset(void) 41void board_reset(void)
43{ 42{
diff --git a/arch/mips/au1000/xxs1500/irqmap.c b/arch/mips/au1000/xxs1500/irqmap.c
index 389349295d7..a343da13433 100644
--- a/arch/mips/au1000/xxs1500/irqmap.c
+++ b/arch/mips/au1000/xxs1500/irqmap.c
@@ -45,7 +45,7 @@
45#include <asm/io.h> 45#include <asm/io.h>
46#include <asm/mipsregs.h> 46#include <asm/mipsregs.h>
47#include <asm/system.h> 47#include <asm/system.h>
48#include <asm/au1000.h> 48#include <asm/mach-au1x00/au1000.h>
49 49
50struct au1xxx_irqmap __initdata au1xxx_irq_map[] = { 50struct au1xxx_irqmap __initdata au1xxx_irq_map[] = {
51 { AU1500_GPIO_204, INTC_INT_HIGH_LEVEL, 0}, 51 { AU1500_GPIO_204, INTC_INT_HIGH_LEVEL, 0},
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig
index abf70d74e9d..3b42cea2e40 100644
--- a/arch/mips/configs/bigsur_defconfig
+++ b/arch/mips/configs/bigsur_defconfig
@@ -1,58 +1,48 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20 3# Linux kernel version: 2.6.25-rc7
4# Tue Feb 20 21:47:22 2007 4# Mon Mar 31 08:11:19 2008
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
8# 8#
9# Machine selection 9# Machine selection
10# 10#
11CONFIG_ZONE_DMA=y 11# CONFIG_MACH_ALCHEMY is not set
12# CONFIG_MIPS_MTX1 is not set
13# CONFIG_MIPS_BOSPORUS is not set
14# CONFIG_MIPS_PB1000 is not set
15# CONFIG_MIPS_PB1100 is not set
16# CONFIG_MIPS_PB1500 is not set
17# CONFIG_MIPS_PB1550 is not set
18# CONFIG_MIPS_PB1200 is not set
19# CONFIG_MIPS_DB1000 is not set
20# CONFIG_MIPS_DB1100 is not set
21# CONFIG_MIPS_DB1500 is not set
22# CONFIG_MIPS_DB1550 is not set
23# CONFIG_MIPS_DB1200 is not set
24# CONFIG_MIPS_MIRAGE is not set
25# CONFIG_BASLER_EXCITE is not set 12# CONFIG_BASLER_EXCITE is not set
13# CONFIG_BCM47XX is not set
26# CONFIG_MIPS_COBALT is not set 14# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 15# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MACH_JAZZ is not set 16# CONFIG_MACH_JAZZ is not set
17# CONFIG_LASAT is not set
18# CONFIG_LEMOTE_FULONG is not set
29# CONFIG_MIPS_ATLAS is not set 19# CONFIG_MIPS_ATLAS is not set
30# CONFIG_MIPS_MALTA is not set 20# CONFIG_MIPS_MALTA is not set
31# CONFIG_MIPS_SEAD is not set 21# CONFIG_MIPS_SEAD is not set
32# CONFIG_WR_PPMC is not set
33# CONFIG_MIPS_SIM is not set 22# CONFIG_MIPS_SIM is not set
34# CONFIG_MOMENCO_JAGUAR_ATX is not set 23# CONFIG_MARKEINS is not set
35# CONFIG_MIPS_XXS1500 is not set 24# CONFIG_MACH_VR41XX is not set
36# CONFIG_PNX8550_JBS is not set 25# CONFIG_PNX8550_JBS is not set
37# CONFIG_PNX8550_STB810 is not set 26# CONFIG_PNX8550_STB810 is not set
38# CONFIG_MACH_VR41XX is not set 27# CONFIG_PMC_MSP is not set
39# CONFIG_PMC_YOSEMITE is not set 28# CONFIG_PMC_YOSEMITE is not set
40# CONFIG_MARKEINS is not set
41# CONFIG_SGI_IP22 is not set 29# CONFIG_SGI_IP22 is not set
42# CONFIG_SGI_IP27 is not set 30# CONFIG_SGI_IP27 is not set
31# CONFIG_SGI_IP28 is not set
43# CONFIG_SGI_IP32 is not set 32# CONFIG_SGI_IP32 is not set
44CONFIG_SIBYTE_BIGSUR=y
45# CONFIG_SIBYTE_SWARM is not set
46# CONFIG_SIBYTE_SENTOSA is not set
47# CONFIG_SIBYTE_RHONE is not set
48# CONFIG_SIBYTE_CARMEL is not set
49# CONFIG_SIBYTE_LITTLESUR is not set
50# CONFIG_SIBYTE_CRHINE is not set 33# CONFIG_SIBYTE_CRHINE is not set
34# CONFIG_SIBYTE_CARMEL is not set
51# CONFIG_SIBYTE_CRHONE is not set 35# CONFIG_SIBYTE_CRHONE is not set
36# CONFIG_SIBYTE_RHONE is not set
37# CONFIG_SIBYTE_SWARM is not set
38# CONFIG_SIBYTE_LITTLESUR is not set
39# CONFIG_SIBYTE_SENTOSA is not set
40CONFIG_SIBYTE_BIGSUR=y
52# CONFIG_SNI_RM is not set 41# CONFIG_SNI_RM is not set
53# CONFIG_TOSHIBA_JMR3927 is not set 42# CONFIG_TOSHIBA_JMR3927 is not set
54# CONFIG_TOSHIBA_RBTX4927 is not set 43# CONFIG_TOSHIBA_RBTX4927 is not set
55# CONFIG_TOSHIBA_RBTX4938 is not set 44# CONFIG_TOSHIBA_RBTX4938 is not set
45# CONFIG_WR_PPMC is not set
56CONFIG_SIBYTE_BCM1x80=y 46CONFIG_SIBYTE_BCM1x80=y
57CONFIG_SIBYTE_SB1xxx_SOC=y 47CONFIG_SIBYTE_SB1xxx_SOC=y
58# CONFIG_CPU_SB1_PASS_1 is not set 48# CONFIG_CPU_SB1_PASS_1 is not set
@@ -68,9 +58,11 @@ CONFIG_SIBYTE_CFE=y
68# CONFIG_SIBYTE_CFE_CONSOLE is not set 58# CONFIG_SIBYTE_CFE_CONSOLE is not set
69# CONFIG_SIBYTE_BUS_WATCHER is not set 59# CONFIG_SIBYTE_BUS_WATCHER is not set
70# CONFIG_SIBYTE_TBPROF is not set 60# CONFIG_SIBYTE_TBPROF is not set
61CONFIG_SIBYTE_HAS_ZBUS_PROFILING=y
71CONFIG_RWSEM_GENERIC_SPINLOCK=y 62CONFIG_RWSEM_GENERIC_SPINLOCK=y
72# CONFIG_ARCH_HAS_ILOG2_U32 is not set 63# CONFIG_ARCH_HAS_ILOG2_U32 is not set
73# CONFIG_ARCH_HAS_ILOG2_U64 is not set 64# CONFIG_ARCH_HAS_ILOG2_U64 is not set
65CONFIG_ARCH_SUPPORTS_OPROFILE=y
74CONFIG_GENERIC_FIND_NEXT_BIT=y 66CONFIG_GENERIC_FIND_NEXT_BIT=y
75CONFIG_GENERIC_HWEIGHT=y 67CONFIG_GENERIC_HWEIGHT=y
76CONFIG_GENERIC_CALIBRATE_DELAY=y 68CONFIG_GENERIC_CALIBRATE_DELAY=y
@@ -81,11 +73,17 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
81# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set 73# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
82CONFIG_CEVT_BCM1480=y 74CONFIG_CEVT_BCM1480=y
83CONFIG_CSRC_BCM1480=y 75CONFIG_CSRC_BCM1480=y
76CONFIG_CFE=y
84CONFIG_DMA_COHERENT=y 77CONFIG_DMA_COHERENT=y
78CONFIG_EARLY_PRINTK=y
79CONFIG_SYS_HAS_EARLY_PRINTK=y
80# CONFIG_HOTPLUG_CPU is not set
81# CONFIG_NO_IOPORT is not set
85CONFIG_CPU_BIG_ENDIAN=y 82CONFIG_CPU_BIG_ENDIAN=y
86# CONFIG_CPU_LITTLE_ENDIAN is not set 83# CONFIG_CPU_LITTLE_ENDIAN is not set
87CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y 84CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
88CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y 85CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
86CONFIG_IRQ_CPU=y
89CONFIG_SWAP_IO_SPACE=y 87CONFIG_SWAP_IO_SPACE=y
90CONFIG_BOOT_ELF32=y 88CONFIG_BOOT_ELF32=y
91CONFIG_MIPS_L1_CACHE_SHIFT=5 89CONFIG_MIPS_L1_CACHE_SHIFT=5
@@ -93,10 +91,6 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
93# 91#
94# CPU selection 92# CPU selection
95# 93#
96CONFIG_TICK_ONESHOT=y
97CONFIG_NO_HZ=y
98CONFIG_HIGH_RES_TIMERS=y
99CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
100# CONFIG_CPU_LOONGSON2 is not set 94# CONFIG_CPU_LOONGSON2 is not set
101# CONFIG_CPU_MIPS32_R1 is not set 95# CONFIG_CPU_MIPS32_R1 is not set
102# CONFIG_CPU_MIPS32_R2 is not set 96# CONFIG_CPU_MIPS32_R2 is not set
@@ -137,14 +131,15 @@ CONFIG_PAGE_SIZE_4KB=y
137CONFIG_MIPS_MT_DISABLED=y 131CONFIG_MIPS_MT_DISABLED=y
138# CONFIG_MIPS_MT_SMP is not set 132# CONFIG_MIPS_MT_SMP is not set
139# CONFIG_MIPS_MT_SMTC is not set 133# CONFIG_MIPS_MT_SMTC is not set
140# CONFIG_MIPS_VPE_LOADER is not set
141CONFIG_CPU_HAS_LLSC=y 134CONFIG_CPU_HAS_LLSC=y
142CONFIG_CPU_HAS_SYNC=y 135CONFIG_CPU_HAS_SYNC=y
143CONFIG_GENERIC_HARDIRQS=y 136CONFIG_GENERIC_HARDIRQS=y
144CONFIG_GENERIC_IRQ_PROBE=y 137CONFIG_GENERIC_IRQ_PROBE=y
145CONFIG_IRQ_PER_CPU=y 138CONFIG_IRQ_PER_CPU=y
146CONFIG_CPU_SUPPORTS_HIGHMEM=y 139CONFIG_CPU_SUPPORTS_HIGHMEM=y
140CONFIG_SYS_SUPPORTS_HIGHMEM=y
147CONFIG_ARCH_FLATMEM_ENABLE=y 141CONFIG_ARCH_FLATMEM_ENABLE=y
142CONFIG_ARCH_POPULATES_NODE_MAP=y
148CONFIG_SELECT_MEMORY_MODEL=y 143CONFIG_SELECT_MEMORY_MODEL=y
149CONFIG_FLATMEM_MANUAL=y 144CONFIG_FLATMEM_MANUAL=y
150# CONFIG_DISCONTIGMEM_MANUAL is not set 145# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -152,13 +147,19 @@ CONFIG_FLATMEM_MANUAL=y
152CONFIG_FLATMEM=y 147CONFIG_FLATMEM=y
153CONFIG_FLAT_NODE_MEM_MAP=y 148CONFIG_FLAT_NODE_MEM_MAP=y
154# CONFIG_SPARSEMEM_STATIC is not set 149# CONFIG_SPARSEMEM_STATIC is not set
150# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
155CONFIG_SPLIT_PTLOCK_CPUS=4 151CONFIG_SPLIT_PTLOCK_CPUS=4
156CONFIG_RESOURCES_64BIT=y 152CONFIG_RESOURCES_64BIT=y
157CONFIG_ZONE_DMA_FLAG=1 153CONFIG_ZONE_DMA_FLAG=0
154CONFIG_VIRT_TO_BUS=y
158CONFIG_SMP=y 155CONFIG_SMP=y
159CONFIG_SYS_SUPPORTS_SMP=y 156CONFIG_SYS_SUPPORTS_SMP=y
160CONFIG_NR_CPUS_DEFAULT_4=y 157CONFIG_NR_CPUS_DEFAULT_4=y
161CONFIG_NR_CPUS=4 158CONFIG_NR_CPUS=4
159CONFIG_TICK_ONESHOT=y
160CONFIG_NO_HZ=y
161CONFIG_HIGH_RES_TIMERS=y
162CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
162# CONFIG_HZ_48 is not set 163# CONFIG_HZ_48 is not set
163# CONFIG_HZ_100 is not set 164# CONFIG_HZ_100 is not set
164# CONFIG_HZ_128 is not set 165# CONFIG_HZ_128 is not set
@@ -171,38 +172,45 @@ CONFIG_HZ=1000
171CONFIG_PREEMPT_NONE=y 172CONFIG_PREEMPT_NONE=y
172# CONFIG_PREEMPT_VOLUNTARY is not set 173# CONFIG_PREEMPT_VOLUNTARY is not set
173# CONFIG_PREEMPT is not set 174# CONFIG_PREEMPT is not set
174# CONFIG_PREEMPT_BKL is not set
175# CONFIG_KEXEC is not set 175# CONFIG_KEXEC is not set
176CONFIG_SECCOMP=y
176CONFIG_LOCKDEP_SUPPORT=y 177CONFIG_LOCKDEP_SUPPORT=y
177CONFIG_STACKTRACE_SUPPORT=y 178CONFIG_STACKTRACE_SUPPORT=y
178CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 179CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
179 180
180# 181#
181# Code maturity level options 182# General setup
182# 183#
183CONFIG_EXPERIMENTAL=y 184CONFIG_EXPERIMENTAL=y
184CONFIG_LOCK_KERNEL=y 185CONFIG_LOCK_KERNEL=y
185CONFIG_INIT_ENV_ARG_LIMIT=32 186CONFIG_INIT_ENV_ARG_LIMIT=32
186
187#
188# General setup
189#
190CONFIG_LOCALVERSION="" 187CONFIG_LOCALVERSION=""
191CONFIG_LOCALVERSION_AUTO=y 188CONFIG_LOCALVERSION_AUTO=y
192CONFIG_SWAP=y 189CONFIG_SWAP=y
193CONFIG_SYSVIPC=y 190CONFIG_SYSVIPC=y
194# CONFIG_IPC_NS is not set
195CONFIG_SYSVIPC_SYSCTL=y 191CONFIG_SYSVIPC_SYSCTL=y
196# CONFIG_POSIX_MQUEUE is not set 192CONFIG_POSIX_MQUEUE=y
197# CONFIG_BSD_PROCESS_ACCT is not set 193CONFIG_BSD_PROCESS_ACCT=y
198# CONFIG_TASKSTATS is not set 194CONFIG_BSD_PROCESS_ACCT_V3=y
199# CONFIG_UTS_NS is not set 195CONFIG_TASKSTATS=y
200# CONFIG_AUDIT is not set 196CONFIG_TASK_DELAY_ACCT=y
197CONFIG_TASK_XACCT=y
198CONFIG_TASK_IO_ACCOUNTING=y
199CONFIG_AUDIT=y
201CONFIG_IKCONFIG=y 200CONFIG_IKCONFIG=y
202CONFIG_IKCONFIG_PROC=y 201CONFIG_IKCONFIG_PROC=y
203# CONFIG_CPUSETS is not set 202CONFIG_LOG_BUF_SHIFT=16
203# CONFIG_CGROUPS is not set
204CONFIG_GROUP_SCHED=y
205CONFIG_FAIR_GROUP_SCHED=y
206# CONFIG_RT_GROUP_SCHED is not set
207CONFIG_USER_SCHED=y
208# CONFIG_CGROUP_SCHED is not set
204CONFIG_SYSFS_DEPRECATED=y 209CONFIG_SYSFS_DEPRECATED=y
205# CONFIG_RELAY is not set 210CONFIG_SYSFS_DEPRECATED_V2=y
211CONFIG_RELAY=y
212# CONFIG_NAMESPACES is not set
213CONFIG_BLK_DEV_INITRD=y
206CONFIG_INITRAMFS_SOURCE="" 214CONFIG_INITRAMFS_SOURCE=""
207# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 215# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
208CONFIG_SYSCTL=y 216CONFIG_SYSCTL=y
@@ -211,24 +219,33 @@ CONFIG_EMBEDDED=y
211CONFIG_KALLSYMS=y 219CONFIG_KALLSYMS=y
212# CONFIG_KALLSYMS_ALL is not set 220# CONFIG_KALLSYMS_ALL is not set
213# CONFIG_KALLSYMS_EXTRA_PASS is not set 221# CONFIG_KALLSYMS_EXTRA_PASS is not set
214# CONFIG_HOTPLUG is not set 222CONFIG_HOTPLUG=y
215CONFIG_PRINTK=y 223CONFIG_PRINTK=y
216CONFIG_BUG=y 224CONFIG_BUG=y
217CONFIG_ELF_CORE=y 225CONFIG_ELF_CORE=y
226CONFIG_COMPAT_BRK=y
218CONFIG_BASE_FULL=y 227CONFIG_BASE_FULL=y
219CONFIG_FUTEX=y 228CONFIG_FUTEX=y
229CONFIG_ANON_INODES=y
220CONFIG_EPOLL=y 230CONFIG_EPOLL=y
231CONFIG_SIGNALFD=y
232CONFIG_TIMERFD=y
233CONFIG_EVENTFD=y
221CONFIG_SHMEM=y 234CONFIG_SHMEM=y
222CONFIG_SLAB=y
223CONFIG_VM_EVENT_COUNTERS=y 235CONFIG_VM_EVENT_COUNTERS=y
236CONFIG_SLAB=y
237# CONFIG_SLUB is not set
238# CONFIG_SLOB is not set
239# CONFIG_PROFILING is not set
240# CONFIG_MARKERS is not set
241CONFIG_HAVE_OPROFILE=y
242# CONFIG_HAVE_KPROBES is not set
243# CONFIG_HAVE_KRETPROBES is not set
244CONFIG_PROC_PAGE_MONITOR=y
245CONFIG_SLABINFO=y
224CONFIG_RT_MUTEXES=y 246CONFIG_RT_MUTEXES=y
225# CONFIG_TINY_SHMEM is not set 247# CONFIG_TINY_SHMEM is not set
226CONFIG_BASE_SMALL=0 248CONFIG_BASE_SMALL=0
227# CONFIG_SLOB is not set
228
229#
230# Loadable module support
231#
232CONFIG_MODULES=y 249CONFIG_MODULES=y
233CONFIG_MODULE_UNLOAD=y 250CONFIG_MODULE_UNLOAD=y
234# CONFIG_MODULE_FORCE_UNLOAD is not set 251# CONFIG_MODULE_FORCE_UNLOAD is not set
@@ -236,12 +253,10 @@ CONFIG_MODVERSIONS=y
236CONFIG_MODULE_SRCVERSION_ALL=y 253CONFIG_MODULE_SRCVERSION_ALL=y
237CONFIG_KMOD=y 254CONFIG_KMOD=y
238CONFIG_STOP_MACHINE=y 255CONFIG_STOP_MACHINE=y
239
240#
241# Block layer
242#
243CONFIG_BLOCK=y 256CONFIG_BLOCK=y
244# CONFIG_BLK_DEV_IO_TRACE is not set 257# CONFIG_BLK_DEV_IO_TRACE is not set
258# CONFIG_BLK_DEV_BSG is not set
259CONFIG_BLOCK_COMPAT=y
245 260
246# 261#
247# IO Schedulers 262# IO Schedulers
@@ -255,6 +270,7 @@ CONFIG_DEFAULT_AS=y
255# CONFIG_DEFAULT_CFQ is not set 270# CONFIG_DEFAULT_CFQ is not set
256# CONFIG_DEFAULT_NOOP is not set 271# CONFIG_DEFAULT_NOOP is not set
257CONFIG_DEFAULT_IOSCHED="anticipatory" 272CONFIG_DEFAULT_IOSCHED="anticipatory"
273CONFIG_CLASSIC_RCU=y
258 274
259# 275#
260# Bus options (PCI, PCMCIA, EISA, ISA, TC) 276# Bus options (PCI, PCMCIA, EISA, ISA, TC)
@@ -262,23 +278,19 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
262CONFIG_HW_HAS_PCI=y 278CONFIG_HW_HAS_PCI=y
263CONFIG_PCI=y 279CONFIG_PCI=y
264CONFIG_PCI_DOMAINS=y 280CONFIG_PCI_DOMAINS=y
281# CONFIG_ARCH_SUPPORTS_MSI is not set
282CONFIG_PCI_LEGACY=y
265CONFIG_PCI_DEBUG=y 283CONFIG_PCI_DEBUG=y
266CONFIG_MMU=y 284CONFIG_MMU=y
267 285CONFIG_ZONE_DMA32=y
268# 286# CONFIG_PCCARD is not set
269# PCCARD (PCMCIA/CardBus) support 287# CONFIG_HOTPLUG_PCI is not set
270#
271
272#
273# PCI Hotplug Support
274#
275 288
276# 289#
277# Executable file formats 290# Executable file formats
278# 291#
279CONFIG_BINFMT_ELF=y 292CONFIG_BINFMT_ELF=y
280# CONFIG_BINFMT_MISC is not set 293# CONFIG_BINFMT_MISC is not set
281# CONFIG_BUILD_ELF64 is not set
282CONFIG_MIPS32_COMPAT=y 294CONFIG_MIPS32_COMPAT=y
283CONFIG_COMPAT=y 295CONFIG_COMPAT=y
284CONFIG_SYSVIPC_COMPAT=y 296CONFIG_SYSVIPC_COMPAT=y
@@ -292,7 +304,6 @@ CONFIG_BINFMT_ELF32=y
292CONFIG_PM=y 304CONFIG_PM=y
293# CONFIG_PM_LEGACY is not set 305# CONFIG_PM_LEGACY is not set
294# CONFIG_PM_DEBUG is not set 306# CONFIG_PM_DEBUG is not set
295# CONFIG_PM_SYSFS_DEPRECATED is not set
296 307
297# 308#
298# Networking 309# Networking
@@ -302,7 +313,6 @@ CONFIG_NET=y
302# 313#
303# Networking options 314# Networking options
304# 315#
305# CONFIG_NETDEBUG is not set
306CONFIG_PACKET=y 316CONFIG_PACKET=y
307CONFIG_PACKET_MMAP=y 317CONFIG_PACKET_MMAP=y
308CONFIG_UNIX=y 318CONFIG_UNIX=y
@@ -310,10 +320,11 @@ CONFIG_XFRM=y
310CONFIG_XFRM_USER=m 320CONFIG_XFRM_USER=m
311# CONFIG_XFRM_SUB_POLICY is not set 321# CONFIG_XFRM_SUB_POLICY is not set
312CONFIG_XFRM_MIGRATE=y 322CONFIG_XFRM_MIGRATE=y
323# CONFIG_XFRM_STATISTICS is not set
313CONFIG_NET_KEY=y 324CONFIG_NET_KEY=y
314CONFIG_NET_KEY_MIGRATE=y 325CONFIG_NET_KEY_MIGRATE=y
315CONFIG_INET=y 326CONFIG_INET=y
316# CONFIG_IP_MULTICAST is not set 327CONFIG_IP_MULTICAST=y
317# CONFIG_IP_ADVANCED_ROUTER is not set 328# CONFIG_IP_ADVANCED_ROUTER is not set
318CONFIG_IP_FIB_HASH=y 329CONFIG_IP_FIB_HASH=y
319CONFIG_IP_PNP=y 330CONFIG_IP_PNP=y
@@ -322,41 +333,141 @@ CONFIG_IP_PNP_BOOTP=y
322# CONFIG_IP_PNP_RARP is not set 333# CONFIG_IP_PNP_RARP is not set
323# CONFIG_NET_IPIP is not set 334# CONFIG_NET_IPIP is not set
324# CONFIG_NET_IPGRE is not set 335# CONFIG_NET_IPGRE is not set
336CONFIG_IP_MROUTE=y
337CONFIG_IP_PIMSM_V1=y
338CONFIG_IP_PIMSM_V2=y
325# CONFIG_ARPD is not set 339# CONFIG_ARPD is not set
326# CONFIG_SYN_COOKIES is not set 340# CONFIG_SYN_COOKIES is not set
327# CONFIG_INET_AH is not set 341CONFIG_INET_AH=m
328# CONFIG_INET_ESP is not set 342CONFIG_INET_ESP=m
329# CONFIG_INET_IPCOMP is not set 343CONFIG_INET_IPCOMP=m
330# CONFIG_INET_XFRM_TUNNEL is not set 344CONFIG_INET_XFRM_TUNNEL=m
331# CONFIG_INET_TUNNEL is not set 345CONFIG_INET_TUNNEL=m
332CONFIG_INET_XFRM_MODE_TRANSPORT=m 346CONFIG_INET_XFRM_MODE_TRANSPORT=m
333CONFIG_INET_XFRM_MODE_TUNNEL=m 347CONFIG_INET_XFRM_MODE_TUNNEL=m
334CONFIG_INET_XFRM_MODE_BEET=y 348CONFIG_INET_XFRM_MODE_BEET=y
349# CONFIG_INET_LRO is not set
335CONFIG_INET_DIAG=y 350CONFIG_INET_DIAG=y
336CONFIG_INET_TCP_DIAG=y 351CONFIG_INET_TCP_DIAG=y
337# CONFIG_TCP_CONG_ADVANCED is not set 352# CONFIG_TCP_CONG_ADVANCED is not set
338CONFIG_TCP_CONG_CUBIC=y 353CONFIG_TCP_CONG_CUBIC=y
339CONFIG_DEFAULT_TCP_CONG="cubic" 354CONFIG_DEFAULT_TCP_CONG="cubic"
340CONFIG_TCP_MD5SIG=y 355CONFIG_TCP_MD5SIG=y
341# CONFIG_IPV6 is not set 356CONFIG_IP_VS=m
342# CONFIG_INET6_XFRM_TUNNEL is not set 357# CONFIG_IP_VS_DEBUG is not set
343# CONFIG_INET6_TUNNEL is not set 358CONFIG_IP_VS_TAB_BITS=12
359
360#
361# IPVS transport protocol load balancing support
362#
363CONFIG_IP_VS_PROTO_TCP=y
364CONFIG_IP_VS_PROTO_UDP=y
365CONFIG_IP_VS_PROTO_ESP=y
366CONFIG_IP_VS_PROTO_AH=y
367
368#
369# IPVS scheduler
370#
371CONFIG_IP_VS_RR=m
372CONFIG_IP_VS_WRR=m
373CONFIG_IP_VS_LC=m
374CONFIG_IP_VS_WLC=m
375CONFIG_IP_VS_LBLC=m
376CONFIG_IP_VS_LBLCR=m
377CONFIG_IP_VS_DH=m
378CONFIG_IP_VS_SH=m
379CONFIG_IP_VS_SED=m
380CONFIG_IP_VS_NQ=m
381
382#
383# IPVS application helper
384#
385CONFIG_IP_VS_FTP=m
386CONFIG_IPV6=m
387CONFIG_IPV6_PRIVACY=y
388CONFIG_IPV6_ROUTER_PREF=y
389CONFIG_IPV6_ROUTE_INFO=y
390CONFIG_IPV6_OPTIMISTIC_DAD=y
391CONFIG_INET6_AH=m
392CONFIG_INET6_ESP=m
393CONFIG_INET6_IPCOMP=m
394CONFIG_IPV6_MIP6=m
395CONFIG_INET6_XFRM_TUNNEL=m
396CONFIG_INET6_TUNNEL=m
397CONFIG_INET6_XFRM_MODE_TRANSPORT=m
398CONFIG_INET6_XFRM_MODE_TUNNEL=m
399CONFIG_INET6_XFRM_MODE_BEET=m
400CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
401CONFIG_IPV6_SIT=m
402CONFIG_IPV6_TUNNEL=m
403CONFIG_IPV6_MULTIPLE_TABLES=y
404CONFIG_IPV6_SUBTREES=y
344CONFIG_NETWORK_SECMARK=y 405CONFIG_NETWORK_SECMARK=y
345# CONFIG_NETFILTER is not set 406CONFIG_NETFILTER=y
346 407# CONFIG_NETFILTER_DEBUG is not set
347# 408# CONFIG_NETFILTER_ADVANCED is not set
348# DCCP Configuration (EXPERIMENTAL) 409
349# 410#
411# Core Netfilter Configuration
412#
413CONFIG_NETFILTER_NETLINK=m
414CONFIG_NETFILTER_NETLINK_LOG=m
415CONFIG_NF_CONNTRACK=m
416CONFIG_NF_CONNTRACK_SECMARK=y
417CONFIG_NF_CONNTRACK_FTP=m
418CONFIG_NF_CONNTRACK_IRC=m
419CONFIG_NF_CONNTRACK_SIP=m
420CONFIG_NF_CT_NETLINK=m
421CONFIG_NETFILTER_XTABLES=m
422CONFIG_NETFILTER_XT_TARGET_MARK=m
423CONFIG_NETFILTER_XT_TARGET_NFLOG=m
424CONFIG_NETFILTER_XT_TARGET_SECMARK=m
425CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
426CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
427CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
428CONFIG_NETFILTER_XT_MATCH_MARK=m
429CONFIG_NETFILTER_XT_MATCH_POLICY=m
430CONFIG_NETFILTER_XT_MATCH_STATE=m
431
432#
433# IP: Netfilter Configuration
434#
435CONFIG_NF_CONNTRACK_IPV4=m
436CONFIG_NF_CONNTRACK_PROC_COMPAT=y
437CONFIG_IP_NF_IPTABLES=m
438CONFIG_IP_NF_FILTER=m
439CONFIG_IP_NF_TARGET_REJECT=m
440CONFIG_IP_NF_TARGET_LOG=m
441CONFIG_IP_NF_TARGET_ULOG=m
442CONFIG_NF_NAT=m
443CONFIG_NF_NAT_NEEDED=y
444CONFIG_IP_NF_TARGET_MASQUERADE=m
445CONFIG_NF_NAT_FTP=m
446CONFIG_NF_NAT_IRC=m
447# CONFIG_NF_NAT_TFTP is not set
448# CONFIG_NF_NAT_AMANDA is not set
449# CONFIG_NF_NAT_PPTP is not set
450# CONFIG_NF_NAT_H323 is not set
451CONFIG_NF_NAT_SIP=m
452CONFIG_IP_NF_MANGLE=m
453
454#
455# IPv6: Netfilter Configuration
456#
457CONFIG_NF_CONNTRACK_IPV6=m
458CONFIG_IP6_NF_IPTABLES=m
459CONFIG_IP6_NF_MATCH_IPV6HEADER=m
460CONFIG_IP6_NF_FILTER=m
461CONFIG_IP6_NF_TARGET_LOG=m
462CONFIG_IP6_NF_TARGET_REJECT=m
463CONFIG_IP6_NF_MANGLE=m
350# CONFIG_IP_DCCP is not set 464# CONFIG_IP_DCCP is not set
351 465CONFIG_IP_SCTP=m
352# 466# CONFIG_SCTP_DBG_MSG is not set
353# SCTP Configuration (EXPERIMENTAL) 467# CONFIG_SCTP_DBG_OBJCNT is not set
354# 468# CONFIG_SCTP_HMAC_NONE is not set
355# CONFIG_IP_SCTP is not set 469# CONFIG_SCTP_HMAC_SHA1 is not set
356 470CONFIG_SCTP_HMAC_MD5=y
357#
358# TIPC Configuration (EXPERIMENTAL)
359#
360# CONFIG_TIPC is not set 471# CONFIG_TIPC is not set
361# CONFIG_ATM is not set 472# CONFIG_ATM is not set
362# CONFIG_BRIDGE is not set 473# CONFIG_BRIDGE is not set
@@ -369,10 +480,6 @@ CONFIG_NETWORK_SECMARK=y
369# CONFIG_LAPB is not set 480# CONFIG_LAPB is not set
370# CONFIG_ECONET is not set 481# CONFIG_ECONET is not set
371# CONFIG_WAN_ROUTER is not set 482# CONFIG_WAN_ROUTER is not set
372
373#
374# QoS and/or fair queueing
375#
376# CONFIG_NET_SCHED is not set 483# CONFIG_NET_SCHED is not set
377 484
378# 485#
@@ -380,9 +487,21 @@ CONFIG_NETWORK_SECMARK=y
380# 487#
381# CONFIG_NET_PKTGEN is not set 488# CONFIG_NET_PKTGEN is not set
382# CONFIG_HAMRADIO is not set 489# CONFIG_HAMRADIO is not set
490# CONFIG_CAN is not set
383# CONFIG_IRDA is not set 491# CONFIG_IRDA is not set
384# CONFIG_BT is not set 492# CONFIG_BT is not set
493# CONFIG_AF_RXRPC is not set
494CONFIG_FIB_RULES=y
495
496#
497# Wireless
498#
499# CONFIG_CFG80211 is not set
500# CONFIG_WIRELESS_EXT is not set
501# CONFIG_MAC80211 is not set
385# CONFIG_IEEE80211 is not set 502# CONFIG_IEEE80211 is not set
503# CONFIG_RFKILL is not set
504# CONFIG_NET_9P is not set
386 505
387# 506#
388# Device Drivers 507# Device Drivers
@@ -391,85 +510,70 @@ CONFIG_NETWORK_SECMARK=y
391# 510#
392# Generic Driver Options 511# Generic Driver Options
393# 512#
513CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
394CONFIG_STANDALONE=y 514CONFIG_STANDALONE=y
395CONFIG_PREVENT_FIRMWARE_BUILD=y 515CONFIG_PREVENT_FIRMWARE_BUILD=y
516CONFIG_FW_LOADER=m
396# CONFIG_DEBUG_DRIVER is not set 517# CONFIG_DEBUG_DRIVER is not set
397# CONFIG_DEBUG_DEVRES is not set 518# CONFIG_DEBUG_DEVRES is not set
398# CONFIG_SYS_HYPERVISOR is not set 519# CONFIG_SYS_HYPERVISOR is not set
399
400#
401# Connector - unified userspace <-> kernelspace linker
402#
403# CONFIG_CONNECTOR is not set 520# CONFIG_CONNECTOR is not set
404
405#
406# Memory Technology Devices (MTD)
407#
408# CONFIG_MTD is not set 521# CONFIG_MTD is not set
409
410#
411# Parallel port support
412#
413# CONFIG_PARPORT is not set 522# CONFIG_PARPORT is not set
414 523CONFIG_BLK_DEV=y
415#
416# Plug and Play support
417#
418# CONFIG_PNPACPI is not set
419
420#
421# Block devices
422#
423# CONFIG_BLK_CPQ_DA is not set 524# CONFIG_BLK_CPQ_DA is not set
424# CONFIG_BLK_CPQ_CISS_DA is not set 525# CONFIG_BLK_CPQ_CISS_DA is not set
425# CONFIG_BLK_DEV_DAC960 is not set 526# CONFIG_BLK_DEV_DAC960 is not set
426# CONFIG_BLK_DEV_UMEM is not set 527# CONFIG_BLK_DEV_UMEM is not set
427# CONFIG_BLK_DEV_COW_COMMON is not set 528# CONFIG_BLK_DEV_COW_COMMON is not set
428CONFIG_BLK_DEV_LOOP=m 529CONFIG_BLK_DEV_LOOP=m
429# CONFIG_BLK_DEV_CRYPTOLOOP is not set 530CONFIG_BLK_DEV_CRYPTOLOOP=m
430CONFIG_BLK_DEV_NBD=m 531CONFIG_BLK_DEV_NBD=m
431# CONFIG_BLK_DEV_SX8 is not set 532# CONFIG_BLK_DEV_SX8 is not set
432# CONFIG_BLK_DEV_RAM is not set 533# CONFIG_BLK_DEV_RAM is not set
433CONFIG_BLK_DEV_INITRD=y
434# CONFIG_CDROM_PKTCDVD is not set 534# CONFIG_CDROM_PKTCDVD is not set
435# CONFIG_ATA_OVER_ETH is not set 535# CONFIG_ATA_OVER_ETH is not set
436 536CONFIG_MISC_DEVICES=y
437# 537# CONFIG_PHANTOM is not set
438# Misc devices 538# CONFIG_EEPROM_93CX6 is not set
439#
440CONFIG_SGI_IOC4=m 539CONFIG_SGI_IOC4=m
441# CONFIG_TIFM_CORE is not set 540# CONFIG_TIFM_CORE is not set
442 541# CONFIG_ENCLOSURE_SERVICES is not set
443# 542CONFIG_HAVE_IDE=y
444# ATA/ATAPI/MFM/RLL support
445#
446CONFIG_IDE=y 543CONFIG_IDE=y
447CONFIG_IDE_MAX_HWIFS=4 544CONFIG_IDE_MAX_HWIFS=4
448CONFIG_BLK_DEV_IDE=y 545CONFIG_BLK_DEV_IDE=y
449 546
450# 547#
451# Please see Documentation/ide.txt for help/info on IDE drives 548# Please see Documentation/ide/ide.txt for help/info on IDE drives
452# 549#
453# CONFIG_BLK_DEV_IDE_SATA is not set 550# CONFIG_BLK_DEV_IDE_SATA is not set
454CONFIG_BLK_DEV_IDEDISK=y 551CONFIG_BLK_DEV_IDEDISK=y
455# CONFIG_IDEDISK_MULTI_MODE is not set 552# CONFIG_IDEDISK_MULTI_MODE is not set
456CONFIG_BLK_DEV_IDECD=y 553CONFIG_BLK_DEV_IDECD=y
554CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
457CONFIG_BLK_DEV_IDETAPE=y 555CONFIG_BLK_DEV_IDETAPE=y
458CONFIG_BLK_DEV_IDEFLOPPY=y 556CONFIG_BLK_DEV_IDEFLOPPY=y
557# CONFIG_BLK_DEV_IDESCSI is not set
459# CONFIG_IDE_TASK_IOCTL is not set 558# CONFIG_IDE_TASK_IOCTL is not set
559CONFIG_IDE_PROC_FS=y
460 560
461# 561#
462# IDE chipset support/bugfixes 562# IDE chipset support/bugfixes
463# 563#
464CONFIG_IDE_GENERIC=y 564CONFIG_IDE_GENERIC=y
565# CONFIG_BLK_DEV_PLATFORM is not set
566CONFIG_BLK_DEV_IDEDMA_SFF=y
567
568#
569# PCI IDE chipsets support
570#
465CONFIG_BLK_DEV_IDEPCI=y 571CONFIG_BLK_DEV_IDEPCI=y
466# CONFIG_IDEPCI_SHARE_IRQ is not set 572CONFIG_IDEPCI_PCIBUS_ORDER=y
467# CONFIG_BLK_DEV_OFFBOARD is not set 573# CONFIG_BLK_DEV_OFFBOARD is not set
468CONFIG_BLK_DEV_GENERIC=y 574CONFIG_BLK_DEV_GENERIC=y
469# CONFIG_BLK_DEV_OPTI621 is not set 575# CONFIG_BLK_DEV_OPTI621 is not set
470CONFIG_BLK_DEV_IDEDMA_PCI=y 576CONFIG_BLK_DEV_IDEDMA_PCI=y
471# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
472# CONFIG_IDEDMA_PCI_AUTO is not set
473# CONFIG_BLK_DEV_AEC62XX is not set 577# CONFIG_BLK_DEV_AEC62XX is not set
474# CONFIG_BLK_DEV_ALI15X3 is not set 578# CONFIG_BLK_DEV_ALI15X3 is not set
475# CONFIG_BLK_DEV_AMD74XX is not set 579# CONFIG_BLK_DEV_AMD74XX is not set
@@ -495,87 +599,196 @@ CONFIG_BLK_DEV_IT8213=m
495# CONFIG_BLK_DEV_VIA82CXXX is not set 599# CONFIG_BLK_DEV_VIA82CXXX is not set
496CONFIG_BLK_DEV_TC86C001=m 600CONFIG_BLK_DEV_TC86C001=m
497# CONFIG_BLK_DEV_IDE_SWARM is not set 601# CONFIG_BLK_DEV_IDE_SWARM is not set
498# CONFIG_IDE_ARM is not set
499CONFIG_BLK_DEV_IDEDMA=y 602CONFIG_BLK_DEV_IDEDMA=y
500# CONFIG_IDEDMA_IVB is not set 603CONFIG_IDE_ARCH_OBSOLETE_INIT=y
501# CONFIG_IDEDMA_AUTO is not set
502# CONFIG_BLK_DEV_HD is not set 604# CONFIG_BLK_DEV_HD is not set
503 605
504# 606#
505# SCSI device support 607# SCSI device support
506# 608#
507# CONFIG_RAID_ATTRS is not set 609# CONFIG_RAID_ATTRS is not set
508# CONFIG_SCSI is not set 610CONFIG_SCSI=y
611CONFIG_SCSI_DMA=y
612# CONFIG_SCSI_TGT is not set
509# CONFIG_SCSI_NETLINK is not set 613# CONFIG_SCSI_NETLINK is not set
510 614CONFIG_SCSI_PROC_FS=y
511# 615
512# Serial ATA (prod) and Parallel ATA (experimental) drivers 616#
513# 617# SCSI support type (disk, tape, CD-ROM)
514# CONFIG_ATA is not set 618#
515 619CONFIG_BLK_DEV_SD=y
516# 620# CONFIG_CHR_DEV_ST is not set
517# Multi-device support (RAID and LVM) 621# CONFIG_CHR_DEV_OSST is not set
518# 622# CONFIG_BLK_DEV_SR is not set
623# CONFIG_CHR_DEV_SG is not set
624# CONFIG_CHR_DEV_SCH is not set
625
626#
627# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
628#
629# CONFIG_SCSI_MULTI_LUN is not set
630# CONFIG_SCSI_CONSTANTS is not set
631# CONFIG_SCSI_LOGGING is not set
632# CONFIG_SCSI_SCAN_ASYNC is not set
633CONFIG_SCSI_WAIT_SCAN=m
634
635#
636# SCSI Transports
637#
638# CONFIG_SCSI_SPI_ATTRS is not set
639# CONFIG_SCSI_FC_ATTRS is not set
640# CONFIG_SCSI_ISCSI_ATTRS is not set
641# CONFIG_SCSI_SAS_LIBSAS is not set
642# CONFIG_SCSI_SRP_ATTRS is not set
643CONFIG_SCSI_LOWLEVEL=y
644# CONFIG_ISCSI_TCP is not set
645# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
646# CONFIG_SCSI_3W_9XXX is not set
647# CONFIG_SCSI_ACARD is not set
648# CONFIG_SCSI_AACRAID is not set
649# CONFIG_SCSI_AIC7XXX is not set
650# CONFIG_SCSI_AIC7XXX_OLD is not set
651# CONFIG_SCSI_AIC79XX is not set
652# CONFIG_SCSI_AIC94XX is not set
653# CONFIG_SCSI_ADVANSYS is not set
654# CONFIG_SCSI_ARCMSR is not set
655# CONFIG_MEGARAID_NEWGEN is not set
656# CONFIG_MEGARAID_LEGACY is not set
657# CONFIG_MEGARAID_SAS is not set
658# CONFIG_SCSI_HPTIOP is not set
659# CONFIG_SCSI_DMX3191D is not set
660# CONFIG_SCSI_FUTURE_DOMAIN is not set
661# CONFIG_SCSI_IPS is not set
662# CONFIG_SCSI_INITIO is not set
663# CONFIG_SCSI_INIA100 is not set
664# CONFIG_SCSI_MVSAS is not set
665# CONFIG_SCSI_STEX is not set
666# CONFIG_SCSI_SYM53C8XX_2 is not set
667# CONFIG_SCSI_IPR is not set
668# CONFIG_SCSI_QLOGIC_1280 is not set
669# CONFIG_SCSI_QLA_FC is not set
670# CONFIG_SCSI_QLA_ISCSI is not set
671# CONFIG_SCSI_LPFC is not set
672# CONFIG_SCSI_DC395x is not set
673# CONFIG_SCSI_DC390T is not set
674# CONFIG_SCSI_DEBUG is not set
675# CONFIG_SCSI_SRP is not set
676CONFIG_ATA=y
677# CONFIG_ATA_NONSTANDARD is not set
678# CONFIG_SATA_AHCI is not set
679# CONFIG_SATA_SVW is not set
680# CONFIG_ATA_PIIX is not set
681# CONFIG_SATA_MV is not set
682# CONFIG_SATA_NV is not set
683# CONFIG_PDC_ADMA is not set
684# CONFIG_SATA_QSTOR is not set
685# CONFIG_SATA_PROMISE is not set
686# CONFIG_SATA_SX4 is not set
687# CONFIG_SATA_SIL is not set
688CONFIG_SATA_SIL24=y
689# CONFIG_SATA_SIS is not set
690# CONFIG_SATA_ULI is not set
691# CONFIG_SATA_VIA is not set
692# CONFIG_SATA_VITESSE is not set
693# CONFIG_SATA_INIC162X is not set
694# CONFIG_PATA_ALI is not set
695# CONFIG_PATA_AMD is not set
696# CONFIG_PATA_ARTOP is not set
697# CONFIG_PATA_ATIIXP is not set
698# CONFIG_PATA_CMD640_PCI is not set
699# CONFIG_PATA_CMD64X is not set
700# CONFIG_PATA_CS5520 is not set
701# CONFIG_PATA_CS5530 is not set
702# CONFIG_PATA_CYPRESS is not set
703# CONFIG_PATA_EFAR is not set
704# CONFIG_ATA_GENERIC is not set
705# CONFIG_PATA_HPT366 is not set
706# CONFIG_PATA_HPT37X is not set
707# CONFIG_PATA_HPT3X2N is not set
708# CONFIG_PATA_HPT3X3 is not set
709# CONFIG_PATA_IT821X is not set
710# CONFIG_PATA_IT8213 is not set
711# CONFIG_PATA_JMICRON is not set
712# CONFIG_PATA_TRIFLEX is not set
713# CONFIG_PATA_MARVELL is not set
714# CONFIG_PATA_MPIIX is not set
715# CONFIG_PATA_OLDPIIX is not set
716# CONFIG_PATA_NETCELL is not set
717# CONFIG_PATA_NINJA32 is not set
718# CONFIG_PATA_NS87410 is not set
719# CONFIG_PATA_NS87415 is not set
720# CONFIG_PATA_OPTI is not set
721# CONFIG_PATA_OPTIDMA is not set
722# CONFIG_PATA_PDC_OLD is not set
723# CONFIG_PATA_RADISYS is not set
724# CONFIG_PATA_RZ1000 is not set
725# CONFIG_PATA_SC1200 is not set
726# CONFIG_PATA_SERVERWORKS is not set
727# CONFIG_PATA_PDC2027X is not set
728CONFIG_PATA_SIL680=y
729# CONFIG_PATA_SIS is not set
730# CONFIG_PATA_VIA is not set
731# CONFIG_PATA_WINBOND is not set
732# CONFIG_PATA_PLATFORM is not set
519# CONFIG_MD is not set 733# CONFIG_MD is not set
520
521#
522# Fusion MPT device support
523#
524# CONFIG_FUSION is not set 734# CONFIG_FUSION is not set
525 735
526# 736#
527# IEEE 1394 (FireWire) support 737# IEEE 1394 (FireWire) support
528# 738#
739# CONFIG_FIREWIRE is not set
529# CONFIG_IEEE1394 is not set 740# CONFIG_IEEE1394 is not set
530
531#
532# I2O device support
533#
534# CONFIG_I2O is not set 741# CONFIG_I2O is not set
535
536#
537# Network device support
538#
539CONFIG_NETDEVICES=y 742CONFIG_NETDEVICES=y
743# CONFIG_NETDEVICES_MULTIQUEUE is not set
540# CONFIG_DUMMY is not set 744# CONFIG_DUMMY is not set
541# CONFIG_BONDING is not set 745# CONFIG_BONDING is not set
746# CONFIG_MACVLAN is not set
542# CONFIG_EQUALIZER is not set 747# CONFIG_EQUALIZER is not set
543# CONFIG_TUN is not set 748# CONFIG_TUN is not set
544 749# CONFIG_VETH is not set
545#
546# ARCnet devices
547#
548# CONFIG_ARCNET is not set 750# CONFIG_ARCNET is not set
549 751CONFIG_PHYLIB=y
550# 752
551# PHY device support 753#
552# 754# MII PHY device drivers
553# CONFIG_PHYLIB is not set 755#
554 756# CONFIG_MARVELL_PHY is not set
555# 757# CONFIG_DAVICOM_PHY is not set
556# Ethernet (10 or 100Mbit) 758# CONFIG_QSEMI_PHY is not set
557# 759# CONFIG_LXT_PHY is not set
760# CONFIG_CICADA_PHY is not set
761# CONFIG_VITESSE_PHY is not set
762# CONFIG_SMSC_PHY is not set
763# CONFIG_BROADCOM_PHY is not set
764# CONFIG_ICPLUS_PHY is not set
765# CONFIG_REALTEK_PHY is not set
766# CONFIG_FIXED_PHY is not set
767# CONFIG_MDIO_BITBANG is not set
558CONFIG_NET_ETHERNET=y 768CONFIG_NET_ETHERNET=y
559CONFIG_MII=y 769CONFIG_MII=y
770# CONFIG_AX88796 is not set
560# CONFIG_HAPPYMEAL is not set 771# CONFIG_HAPPYMEAL is not set
561# CONFIG_SUNGEM is not set 772# CONFIG_SUNGEM is not set
562# CONFIG_CASSINI is not set 773# CONFIG_CASSINI is not set
563# CONFIG_NET_VENDOR_3COM is not set 774# CONFIG_NET_VENDOR_3COM is not set
564# CONFIG_DM9000 is not set 775# CONFIG_DM9000 is not set
565
566#
567# Tulip family network device support
568#
569# CONFIG_NET_TULIP is not set 776# CONFIG_NET_TULIP is not set
570# CONFIG_HP100 is not set 777# CONFIG_HP100 is not set
778# CONFIG_IBM_NEW_EMAC_ZMII is not set
779# CONFIG_IBM_NEW_EMAC_RGMII is not set
780# CONFIG_IBM_NEW_EMAC_TAH is not set
781# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
571# CONFIG_NET_PCI is not set 782# CONFIG_NET_PCI is not set
572 783# CONFIG_B44 is not set
573# 784CONFIG_NETDEV_1000=y
574# Ethernet (1000 Mbit)
575#
576# CONFIG_ACENIC is not set 785# CONFIG_ACENIC is not set
577# CONFIG_DL2K is not set 786# CONFIG_DL2K is not set
578# CONFIG_E1000 is not set 787# CONFIG_E1000 is not set
788# CONFIG_E1000E is not set
789# CONFIG_E1000E_ENABLED is not set
790# CONFIG_IP1000 is not set
791# CONFIG_IGB is not set
579# CONFIG_NS83820 is not set 792# CONFIG_NS83820 is not set
580# CONFIG_HAMACHI is not set 793# CONFIG_HAMACHI is not set
581# CONFIG_YELLOWFIN is not set 794# CONFIG_YELLOWFIN is not set
@@ -585,52 +798,53 @@ CONFIG_SB1250_MAC=y
585# CONFIG_SKGE is not set 798# CONFIG_SKGE is not set
586# CONFIG_SKY2 is not set 799# CONFIG_SKY2 is not set
587# CONFIG_SK98LIN is not set 800# CONFIG_SK98LIN is not set
801# CONFIG_VIA_VELOCITY is not set
588# CONFIG_TIGON3 is not set 802# CONFIG_TIGON3 is not set
589# CONFIG_BNX2 is not set 803# CONFIG_BNX2 is not set
590# CONFIG_QLA3XXX is not set 804# CONFIG_QLA3XXX is not set
591# CONFIG_ATL1 is not set 805# CONFIG_ATL1 is not set
592 806CONFIG_NETDEV_10000=y
593#
594# Ethernet (10000 Mbit)
595#
596# CONFIG_CHELSIO_T1 is not set 807# CONFIG_CHELSIO_T1 is not set
597CONFIG_CHELSIO_T3=m 808CONFIG_CHELSIO_T3=m
809# CONFIG_IXGBE is not set
598# CONFIG_IXGB is not set 810# CONFIG_IXGB is not set
599# CONFIG_S2IO is not set 811# CONFIG_S2IO is not set
600# CONFIG_MYRI10GE is not set 812# CONFIG_MYRI10GE is not set
601CONFIG_NETXEN_NIC=m 813CONFIG_NETXEN_NIC=m
602 814# CONFIG_NIU is not set
603# 815# CONFIG_MLX4_CORE is not set
604# Token Ring devices 816# CONFIG_TEHUTI is not set
605# 817# CONFIG_BNX2X is not set
606# CONFIG_TR is not set 818# CONFIG_TR is not set
607 819
608# 820#
609# Wireless LAN (non-hamradio) 821# Wireless LAN
610#
611# CONFIG_NET_RADIO is not set
612
613#
614# Wan interfaces
615# 822#
823# CONFIG_WLAN_PRE80211 is not set
824# CONFIG_WLAN_80211 is not set
616# CONFIG_WAN is not set 825# CONFIG_WAN is not set
617# CONFIG_FDDI is not set 826# CONFIG_FDDI is not set
618# CONFIG_HIPPI is not set 827# CONFIG_HIPPI is not set
619# CONFIG_PPP is not set 828CONFIG_PPP=m
620# CONFIG_SLIP is not set 829CONFIG_PPP_MULTILINK=y
621# CONFIG_SHAPER is not set 830CONFIG_PPP_FILTER=y
831CONFIG_PPP_ASYNC=m
832CONFIG_PPP_SYNC_TTY=m
833CONFIG_PPP_DEFLATE=m
834CONFIG_PPP_BSDCOMP=m
835CONFIG_PPP_MPPE=m
836CONFIG_PPPOE=m
837CONFIG_PPPOL2TP=m
838CONFIG_SLIP=m
839CONFIG_SLIP_COMPRESSED=y
840CONFIG_SLHC=m
841CONFIG_SLIP_SMART=y
842CONFIG_SLIP_MODE_SLIP6=y
843# CONFIG_NET_FC is not set
622# CONFIG_NETCONSOLE is not set 844# CONFIG_NETCONSOLE is not set
623# CONFIG_NETPOLL is not set 845# CONFIG_NETPOLL is not set
624# CONFIG_NET_POLL_CONTROLLER is not set 846# CONFIG_NET_POLL_CONTROLLER is not set
625
626#
627# ISDN subsystem
628#
629# CONFIG_ISDN is not set 847# CONFIG_ISDN is not set
630
631#
632# Telephony Support
633#
634# CONFIG_PHONE is not set 848# CONFIG_PHONE is not set
635 849
636# 850#
@@ -660,17 +874,16 @@ CONFIG_SERIAL_NONSTANDARD=y
660# CONFIG_DIGIEPCA is not set 874# CONFIG_DIGIEPCA is not set
661# CONFIG_MOXA_INTELLIO is not set 875# CONFIG_MOXA_INTELLIO is not set
662# CONFIG_MOXA_SMARTIO is not set 876# CONFIG_MOXA_SMARTIO is not set
663CONFIG_MOXA_SMARTIO_NEW=m
664# CONFIG_ISI is not set 877# CONFIG_ISI is not set
665# CONFIG_SYNCLINKMP is not set 878# CONFIG_SYNCLINKMP is not set
666# CONFIG_SYNCLINK_GT is not set 879# CONFIG_SYNCLINK_GT is not set
667# CONFIG_N_HDLC is not set 880# CONFIG_N_HDLC is not set
881# CONFIG_RISCOM8 is not set
668# CONFIG_SPECIALIX is not set 882# CONFIG_SPECIALIX is not set
669# CONFIG_SX is not set 883# CONFIG_SX is not set
670# CONFIG_RIO is not set 884# CONFIG_RIO is not set
671# CONFIG_STALDRV is not set 885# CONFIG_STALDRV is not set
672CONFIG_SERIAL_SB1250_DUART=y 886# CONFIG_NOZOMI is not set
673CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
674 887
675# 888#
676# Serial drivers 889# Serial drivers
@@ -680,39 +893,24 @@ CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
680# 893#
681# Non-8250 serial port support 894# Non-8250 serial port support
682# 895#
896CONFIG_SERIAL_SB1250_DUART=y
897CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
898CONFIG_SERIAL_CORE=y
899CONFIG_SERIAL_CORE_CONSOLE=y
683# CONFIG_SERIAL_JSM is not set 900# CONFIG_SERIAL_JSM is not set
684CONFIG_UNIX98_PTYS=y 901CONFIG_UNIX98_PTYS=y
685CONFIG_LEGACY_PTYS=y 902CONFIG_LEGACY_PTYS=y
686CONFIG_LEGACY_PTY_COUNT=256 903CONFIG_LEGACY_PTY_COUNT=256
687
688#
689# IPMI
690#
691# CONFIG_IPMI_HANDLER is not set 904# CONFIG_IPMI_HANDLER is not set
692
693#
694# Watchdog Cards
695#
696# CONFIG_WATCHDOG is not set
697# CONFIG_HW_RANDOM is not set 905# CONFIG_HW_RANDOM is not set
698# CONFIG_RTC is not set 906# CONFIG_RTC is not set
699CONFIG_GEN_RTC=y
700# CONFIG_GEN_RTC_X is not set
701# CONFIG_DTLK is not set
702# CONFIG_R3964 is not set 907# CONFIG_R3964 is not set
703# CONFIG_APPLICOM is not set 908# CONFIG_APPLICOM is not set
704# CONFIG_DRM is not set
705# CONFIG_RAW_DRIVER is not set 909# CONFIG_RAW_DRIVER is not set
706
707#
708# TPM devices
709#
710# CONFIG_TCG_TPM is not set 910# CONFIG_TCG_TPM is not set
711 911CONFIG_DEVPORT=y
712#
713# I2C support
714#
715CONFIG_I2C=y 912CONFIG_I2C=y
913CONFIG_I2C_BOARDINFO=y
716CONFIG_I2C_CHARDEV=y 914CONFIG_I2C_CHARDEV=y
717 915
718# 916#
@@ -736,29 +934,30 @@ CONFIG_I2C_CHARDEV=y
736# CONFIG_I2C_NFORCE2 is not set 934# CONFIG_I2C_NFORCE2 is not set
737# CONFIG_I2C_OCORES is not set 935# CONFIG_I2C_OCORES is not set
738# CONFIG_I2C_PARPORT_LIGHT is not set 936# CONFIG_I2C_PARPORT_LIGHT is not set
739# CONFIG_I2C_PASEMI is not set
740# CONFIG_I2C_PROSAVAGE is not set 937# CONFIG_I2C_PROSAVAGE is not set
741# CONFIG_I2C_SAVAGE4 is not set 938# CONFIG_I2C_SAVAGE4 is not set
742CONFIG_I2C_SIBYTE=y 939CONFIG_I2C_SIBYTE=y
940# CONFIG_I2C_SIMTEC is not set
743# CONFIG_I2C_SIS5595 is not set 941# CONFIG_I2C_SIS5595 is not set
744# CONFIG_I2C_SIS630 is not set 942# CONFIG_I2C_SIS630 is not set
745# CONFIG_I2C_SIS96X is not set 943# CONFIG_I2C_SIS96X is not set
944# CONFIG_I2C_TAOS_EVM is not set
746# CONFIG_I2C_STUB is not set 945# CONFIG_I2C_STUB is not set
747# CONFIG_I2C_VIA is not set 946# CONFIG_I2C_VIA is not set
748# CONFIG_I2C_VIAPRO is not set 947# CONFIG_I2C_VIAPRO is not set
749# CONFIG_I2C_VOODOO3 is not set 948# CONFIG_I2C_VOODOO3 is not set
750# CONFIG_I2C_PCA_ISA is not set
751 949
752# 950#
753# Miscellaneous I2C Chip support 951# Miscellaneous I2C Chip support
754# 952#
755CONFIG_SENSORS_DS1337=y 953# CONFIG_DS1682 is not set
756CONFIG_SENSORS_DS1374=y
757CONFIG_SENSORS_EEPROM=y 954CONFIG_SENSORS_EEPROM=y
758CONFIG_SENSORS_PCF8574=y 955CONFIG_SENSORS_PCF8574=y
759CONFIG_SENSORS_PCA9539=y 956# CONFIG_PCF8575 is not set
760CONFIG_SENSORS_PCF8591=y 957CONFIG_SENSORS_PCF8591=y
958# CONFIG_TPS65010 is not set
761CONFIG_SENSORS_MAX6875=y 959CONFIG_SENSORS_MAX6875=y
960# CONFIG_SENSORS_TSL2550 is not set
762CONFIG_I2C_DEBUG_CORE=y 961CONFIG_I2C_DEBUG_CORE=y
763CONFIG_I2C_DEBUG_ALGO=y 962CONFIG_I2C_DEBUG_ALGO=y
764CONFIG_I2C_DEBUG_BUS=y 963CONFIG_I2C_DEBUG_BUS=y
@@ -769,43 +968,49 @@ CONFIG_I2C_DEBUG_CHIP=y
769# 968#
770# CONFIG_SPI is not set 969# CONFIG_SPI is not set
771# CONFIG_SPI_MASTER is not set 970# CONFIG_SPI_MASTER is not set
971# CONFIG_W1 is not set
972# CONFIG_POWER_SUPPLY is not set
973# CONFIG_HWMON is not set
974# CONFIG_THERMAL is not set
975# CONFIG_WATCHDOG is not set
772 976
773# 977#
774# Dallas's 1-wire bus 978# Sonics Silicon Backplane
775# 979#
776# CONFIG_W1 is not set 980CONFIG_SSB_POSSIBLE=y
981# CONFIG_SSB is not set
777 982
778# 983#
779# Hardware Monitoring support 984# Multifunction device drivers
780# 985#
781# CONFIG_HWMON is not set 986# CONFIG_MFD_SM501 is not set
782# CONFIG_HWMON_VID is not set
783 987
784# 988#
785# Multimedia devices 989# Multimedia devices
786# 990#
787# CONFIG_VIDEO_DEV is not set 991# CONFIG_VIDEO_DEV is not set
788 992# CONFIG_DVB_CORE is not set
789# 993# CONFIG_DAB is not set
790# Digital Video Broadcasting Devices
791#
792# CONFIG_DVB is not set
793 994
794# 995#
795# Graphics support 996# Graphics support
796# 997#
797# CONFIG_FIRMWARE_EDID is not set 998# CONFIG_DRM is not set
999# CONFIG_VGASTATE is not set
1000# CONFIG_VIDEO_OUTPUT_CONTROL is not set
798# CONFIG_FB is not set 1001# CONFIG_FB is not set
799# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1002# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
800 1003
801# 1004#
802# Sound 1005# Display device support
803# 1006#
804# CONFIG_SOUND is not set 1007# CONFIG_DISPLAY_SUPPORT is not set
805 1008
806# 1009#
807# USB support 1010# Sound
808# 1011#
1012# CONFIG_SOUND is not set
1013CONFIG_USB_SUPPORT=y
809CONFIG_USB_ARCH_HAS_HCD=y 1014CONFIG_USB_ARCH_HAS_HCD=y
810CONFIG_USB_ARCH_HAS_OHCI=y 1015CONFIG_USB_ARCH_HAS_OHCI=y
811CONFIG_USB_ARCH_HAS_EHCI=y 1016CONFIG_USB_ARCH_HAS_EHCI=y
@@ -814,104 +1019,73 @@ CONFIG_USB_ARCH_HAS_EHCI=y
814# 1019#
815# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1020# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
816# 1021#
817
818#
819# USB Gadget Support
820#
821# CONFIG_USB_GADGET is not set 1022# CONFIG_USB_GADGET is not set
822
823#
824# MMC/SD Card support
825#
826# CONFIG_MMC is not set 1023# CONFIG_MMC is not set
827 1024# CONFIG_MEMSTICK is not set
828#
829# LED devices
830#
831# CONFIG_NEW_LEDS is not set 1025# CONFIG_NEW_LEDS is not set
832
833#
834# LED drivers
835#
836
837#
838# LED Triggers
839#
840
841#
842# InfiniBand support
843#
844# CONFIG_INFINIBAND is not set 1026# CONFIG_INFINIBAND is not set
845 1027CONFIG_RTC_LIB=y
846#
847# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
848#
849
850#
851# Real Time Clock
852#
853# CONFIG_RTC_CLASS is not set 1028# CONFIG_RTC_CLASS is not set
854 1029
855# 1030#
856# DMA Engine support 1031# Userspace I/O
857#
858# CONFIG_DMA_ENGINE is not set
859
860#
861# DMA Clients
862#
863
864#
865# DMA Devices
866#
867
868#
869# Auxiliary Display support
870#
871
872#
873# Virtualization
874# 1032#
1033# CONFIG_UIO is not set
875 1034
876# 1035#
877# File systems 1036# File systems
878# 1037#
879CONFIG_EXT2_FS=y 1038CONFIG_EXT2_FS=m
880CONFIG_EXT2_FS_XATTR=y 1039CONFIG_EXT2_FS_XATTR=y
881CONFIG_EXT2_FS_POSIX_ACL=y 1040# CONFIG_EXT2_FS_POSIX_ACL is not set
882CONFIG_EXT2_FS_SECURITY=y 1041# CONFIG_EXT2_FS_SECURITY is not set
883# CONFIG_EXT2_FS_XIP is not set 1042# CONFIG_EXT2_FS_XIP is not set
884# CONFIG_EXT3_FS is not set 1043CONFIG_EXT3_FS=y
1044CONFIG_EXT3_FS_XATTR=y
1045# CONFIG_EXT3_FS_POSIX_ACL is not set
1046# CONFIG_EXT3_FS_SECURITY is not set
885# CONFIG_EXT4DEV_FS is not set 1047# CONFIG_EXT4DEV_FS is not set
1048CONFIG_JBD=y
886CONFIG_FS_MBCACHE=y 1049CONFIG_FS_MBCACHE=y
887# CONFIG_REISERFS_FS is not set 1050# CONFIG_REISERFS_FS is not set
888# CONFIG_JFS_FS is not set 1051# CONFIG_JFS_FS is not set
889CONFIG_FS_POSIX_ACL=y 1052# CONFIG_FS_POSIX_ACL is not set
890# CONFIG_XFS_FS is not set 1053# CONFIG_XFS_FS is not set
891# CONFIG_GFS2_FS is not set 1054# CONFIG_GFS2_FS is not set
892# CONFIG_OCFS2_FS is not set 1055# CONFIG_OCFS2_FS is not set
893# CONFIG_MINIX_FS is not set 1056CONFIG_DNOTIFY=y
894# CONFIG_ROMFS_FS is not set
895CONFIG_INOTIFY=y 1057CONFIG_INOTIFY=y
896CONFIG_INOTIFY_USER=y 1058CONFIG_INOTIFY_USER=y
897# CONFIG_QUOTA is not set 1059CONFIG_QUOTA=y
898CONFIG_DNOTIFY=y 1060CONFIG_QUOTA_NETLINK_INTERFACE=y
899# CONFIG_AUTOFS_FS is not set 1061# CONFIG_PRINT_QUOTA_WARNING is not set
900# CONFIG_AUTOFS4_FS is not set 1062# CONFIG_QFMT_V1 is not set
901# CONFIG_FUSE_FS is not set 1063CONFIG_QFMT_V2=m
1064CONFIG_QUOTACTL=y
1065CONFIG_AUTOFS_FS=m
1066CONFIG_AUTOFS4_FS=m
1067CONFIG_FUSE_FS=m
902 1068
903# 1069#
904# CD-ROM/DVD Filesystems 1070# CD-ROM/DVD Filesystems
905# 1071#
906# CONFIG_ISO9660_FS is not set 1072CONFIG_ISO9660_FS=m
907# CONFIG_UDF_FS is not set 1073CONFIG_JOLIET=y
1074CONFIG_ZISOFS=y
1075CONFIG_UDF_FS=m
1076CONFIG_UDF_NLS=y
908 1077
909# 1078#
910# DOS/FAT/NT Filesystems 1079# DOS/FAT/NT Filesystems
911# 1080#
912# CONFIG_MSDOS_FS is not set 1081CONFIG_FAT_FS=m
913# CONFIG_VFAT_FS is not set 1082CONFIG_MSDOS_FS=m
914# CONFIG_NTFS_FS is not set 1083CONFIG_VFAT_FS=m
1084CONFIG_FAT_DEFAULT_CODEPAGE=437
1085CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1086CONFIG_NTFS_FS=m
1087# CONFIG_NTFS_DEBUG is not set
1088CONFIG_NTFS_RW=y
915 1089
916# 1090#
917# Pseudo filesystems 1091# Pseudo filesystems
@@ -923,7 +1097,6 @@ CONFIG_SYSFS=y
923CONFIG_TMPFS=y 1097CONFIG_TMPFS=y
924# CONFIG_TMPFS_POSIX_ACL is not set 1098# CONFIG_TMPFS_POSIX_ACL is not set
925# CONFIG_HUGETLB_PAGE is not set 1099# CONFIG_HUGETLB_PAGE is not set
926CONFIG_RAMFS=y
927CONFIG_CONFIGFS_FS=m 1100CONFIG_CONFIGFS_FS=m
928 1101
929# 1102#
@@ -939,14 +1112,13 @@ CONFIG_CONFIGFS_FS=m
939# CONFIG_EFS_FS is not set 1112# CONFIG_EFS_FS is not set
940# CONFIG_CRAMFS is not set 1113# CONFIG_CRAMFS is not set
941# CONFIG_VXFS_FS is not set 1114# CONFIG_VXFS_FS is not set
1115# CONFIG_MINIX_FS is not set
942# CONFIG_HPFS_FS is not set 1116# CONFIG_HPFS_FS is not set
943# CONFIG_QNX4FS_FS is not set 1117# CONFIG_QNX4FS_FS is not set
1118# CONFIG_ROMFS_FS is not set
944# CONFIG_SYSV_FS is not set 1119# CONFIG_SYSV_FS is not set
945# CONFIG_UFS_FS is not set 1120# CONFIG_UFS_FS is not set
946 1121CONFIG_NETWORK_FILESYSTEMS=y
947#
948# Network File Systems
949#
950CONFIG_NFS_FS=y 1122CONFIG_NFS_FS=y
951CONFIG_NFS_V3=y 1123CONFIG_NFS_V3=y
952# CONFIG_NFS_V3_ACL is not set 1124# CONFIG_NFS_V3_ACL is not set
@@ -958,6 +1130,7 @@ CONFIG_LOCKD=y
958CONFIG_LOCKD_V4=y 1130CONFIG_LOCKD_V4=y
959CONFIG_NFS_COMMON=y 1131CONFIG_NFS_COMMON=y
960CONFIG_SUNRPC=y 1132CONFIG_SUNRPC=y
1133# CONFIG_SUNRPC_BIND34 is not set
961# CONFIG_RPCSEC_GSS_KRB5 is not set 1134# CONFIG_RPCSEC_GSS_KRB5 is not set
962# CONFIG_RPCSEC_GSS_SPKM3 is not set 1135# CONFIG_RPCSEC_GSS_SPKM3 is not set
963# CONFIG_SMB_FS is not set 1136# CONFIG_SMB_FS is not set
@@ -965,37 +1138,61 @@ CONFIG_SUNRPC=y
965# CONFIG_NCP_FS is not set 1138# CONFIG_NCP_FS is not set
966# CONFIG_CODA_FS is not set 1139# CONFIG_CODA_FS is not set
967# CONFIG_AFS_FS is not set 1140# CONFIG_AFS_FS is not set
968# CONFIG_9P_FS is not set
969 1141
970# 1142#
971# Partition Types 1143# Partition Types
972# 1144#
973# CONFIG_PARTITION_ADVANCED is not set 1145# CONFIG_PARTITION_ADVANCED is not set
974CONFIG_MSDOS_PARTITION=y 1146CONFIG_MSDOS_PARTITION=y
975 1147CONFIG_NLS=m
976# 1148CONFIG_NLS_DEFAULT="iso8859-1"
977# Native Language Support 1149CONFIG_NLS_CODEPAGE_437=m
978# 1150CONFIG_NLS_CODEPAGE_737=m
979# CONFIG_NLS is not set 1151CONFIG_NLS_CODEPAGE_775=m
980 1152CONFIG_NLS_CODEPAGE_850=m
981# 1153CONFIG_NLS_CODEPAGE_852=m
982# Distributed Lock Manager 1154CONFIG_NLS_CODEPAGE_855=m
983# 1155CONFIG_NLS_CODEPAGE_857=m
1156CONFIG_NLS_CODEPAGE_860=m
1157CONFIG_NLS_CODEPAGE_861=m
1158CONFIG_NLS_CODEPAGE_862=m
1159CONFIG_NLS_CODEPAGE_863=m
1160CONFIG_NLS_CODEPAGE_864=m
1161CONFIG_NLS_CODEPAGE_865=m
1162CONFIG_NLS_CODEPAGE_866=m
1163CONFIG_NLS_CODEPAGE_869=m
1164CONFIG_NLS_CODEPAGE_936=m
1165CONFIG_NLS_CODEPAGE_950=m
1166CONFIG_NLS_CODEPAGE_932=m
1167CONFIG_NLS_CODEPAGE_949=m
1168CONFIG_NLS_CODEPAGE_874=m
1169CONFIG_NLS_ISO8859_8=m
1170CONFIG_NLS_CODEPAGE_1250=m
1171CONFIG_NLS_CODEPAGE_1251=m
1172CONFIG_NLS_ASCII=m
1173CONFIG_NLS_ISO8859_1=m
1174CONFIG_NLS_ISO8859_2=m
1175CONFIG_NLS_ISO8859_3=m
1176CONFIG_NLS_ISO8859_4=m
1177CONFIG_NLS_ISO8859_5=m
1178CONFIG_NLS_ISO8859_6=m
1179CONFIG_NLS_ISO8859_7=m
1180CONFIG_NLS_ISO8859_9=m
1181CONFIG_NLS_ISO8859_13=m
1182CONFIG_NLS_ISO8859_14=m
1183CONFIG_NLS_ISO8859_15=m
1184CONFIG_NLS_KOI8_R=m
1185CONFIG_NLS_KOI8_U=m
1186CONFIG_NLS_UTF8=m
984CONFIG_DLM=m 1187CONFIG_DLM=m
985CONFIG_DLM_TCP=y
986# CONFIG_DLM_SCTP is not set
987# CONFIG_DLM_DEBUG is not set 1188# CONFIG_DLM_DEBUG is not set
988 1189
989# 1190#
990# Profiling support
991#
992# CONFIG_PROFILING is not set
993
994#
995# Kernel hacking 1191# Kernel hacking
996# 1192#
997CONFIG_TRACE_IRQFLAGS_SUPPORT=y 1193CONFIG_TRACE_IRQFLAGS_SUPPORT=y
998# CONFIG_PRINTK_TIME is not set 1194# CONFIG_PRINTK_TIME is not set
1195CONFIG_ENABLE_WARN_DEPRECATED=y
999CONFIG_ENABLE_MUST_CHECK=y 1196CONFIG_ENABLE_MUST_CHECK=y
1000CONFIG_MAGIC_SYSRQ=y 1197CONFIG_MAGIC_SYSRQ=y
1001# CONFIG_UNUSED_SYMBOLS is not set 1198# CONFIG_UNUSED_SYMBOLS is not set
@@ -1003,8 +1200,8 @@ CONFIG_MAGIC_SYSRQ=y
1003# CONFIG_HEADERS_CHECK is not set 1200# CONFIG_HEADERS_CHECK is not set
1004CONFIG_DEBUG_KERNEL=y 1201CONFIG_DEBUG_KERNEL=y
1005# CONFIG_DEBUG_SHIRQ is not set 1202# CONFIG_DEBUG_SHIRQ is not set
1006CONFIG_LOG_BUF_SHIFT=16
1007CONFIG_DETECT_SOFTLOCKUP=y 1203CONFIG_DETECT_SOFTLOCKUP=y
1204CONFIG_SCHED_DEBUG=y
1008# CONFIG_SCHEDSTATS is not set 1205# CONFIG_SCHEDSTATS is not set
1009# CONFIG_TIMER_STATS is not set 1206# CONFIG_TIMER_STATS is not set
1010# CONFIG_DEBUG_SLAB is not set 1207# CONFIG_DEBUG_SLAB is not set
@@ -1014,15 +1211,19 @@ CONFIG_DETECT_SOFTLOCKUP=y
1014CONFIG_DEBUG_MUTEXES=y 1211CONFIG_DEBUG_MUTEXES=y
1015# CONFIG_DEBUG_LOCK_ALLOC is not set 1212# CONFIG_DEBUG_LOCK_ALLOC is not set
1016# CONFIG_PROVE_LOCKING is not set 1213# CONFIG_PROVE_LOCKING is not set
1214# CONFIG_LOCK_STAT is not set
1017# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1215# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1018# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1216# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1019# CONFIG_DEBUG_KOBJECT is not set 1217# CONFIG_DEBUG_KOBJECT is not set
1020# CONFIG_DEBUG_INFO is not set 1218# CONFIG_DEBUG_INFO is not set
1021# CONFIG_DEBUG_VM is not set 1219# CONFIG_DEBUG_VM is not set
1022# CONFIG_DEBUG_LIST is not set 1220# CONFIG_DEBUG_LIST is not set
1023CONFIG_FORCED_INLINING=y 1221# CONFIG_DEBUG_SG is not set
1222# CONFIG_BOOT_PRINTK_DELAY is not set
1024# CONFIG_RCU_TORTURE_TEST is not set 1223# CONFIG_RCU_TORTURE_TEST is not set
1025CONFIG_CROSSCOMPILE=y 1224# CONFIG_BACKTRACE_SELF_TEST is not set
1225# CONFIG_FAULT_INJECTION is not set
1226# CONFIG_SAMPLES is not set
1026CONFIG_CMDLINE="" 1227CONFIG_CMDLINE=""
1027# CONFIG_DEBUG_STACK_USAGE is not set 1228# CONFIG_DEBUG_STACK_USAGE is not set
1028# CONFIG_SB1XXX_CORELIS is not set 1229# CONFIG_SB1XXX_CORELIS is not set
@@ -1034,23 +1235,22 @@ CONFIG_CMDLINE=""
1034CONFIG_KEYS=y 1235CONFIG_KEYS=y
1035CONFIG_KEYS_DEBUG_PROC_KEYS=y 1236CONFIG_KEYS_DEBUG_PROC_KEYS=y
1036# CONFIG_SECURITY is not set 1237# CONFIG_SECURITY is not set
1037 1238# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1038#
1039# Cryptographic options
1040#
1041CONFIG_CRYPTO=y 1239CONFIG_CRYPTO=y
1042CONFIG_CRYPTO_ALGAPI=y 1240CONFIG_CRYPTO_ALGAPI=y
1043CONFIG_CRYPTO_BLKCIPHER=m 1241CONFIG_CRYPTO_AEAD=m
1242CONFIG_CRYPTO_BLKCIPHER=y
1243CONFIG_CRYPTO_SEQIV=m
1044CONFIG_CRYPTO_HASH=y 1244CONFIG_CRYPTO_HASH=y
1045CONFIG_CRYPTO_MANAGER=y 1245CONFIG_CRYPTO_MANAGER=y
1046CONFIG_CRYPTO_HMAC=y 1246CONFIG_CRYPTO_HMAC=y
1047CONFIG_CRYPTO_XCBC=m 1247CONFIG_CRYPTO_XCBC=m
1048CONFIG_CRYPTO_NULL=y 1248CONFIG_CRYPTO_NULL=y
1049CONFIG_CRYPTO_MD4=y 1249CONFIG_CRYPTO_MD4=m
1050CONFIG_CRYPTO_MD5=y 1250CONFIG_CRYPTO_MD5=y
1051CONFIG_CRYPTO_SHA1=y 1251CONFIG_CRYPTO_SHA1=m
1052CONFIG_CRYPTO_SHA256=y 1252CONFIG_CRYPTO_SHA256=m
1053CONFIG_CRYPTO_SHA512=y 1253CONFIG_CRYPTO_SHA512=m
1054CONFIG_CRYPTO_WP512=m 1254CONFIG_CRYPTO_WP512=m
1055CONFIG_CRYPTO_TGR192=m 1255CONFIG_CRYPTO_TGR192=m
1056CONFIG_CRYPTO_GF128MUL=m 1256CONFIG_CRYPTO_GF128MUL=m
@@ -1058,39 +1258,50 @@ CONFIG_CRYPTO_ECB=m
1058CONFIG_CRYPTO_CBC=m 1258CONFIG_CRYPTO_CBC=m
1059CONFIG_CRYPTO_PCBC=m 1259CONFIG_CRYPTO_PCBC=m
1060CONFIG_CRYPTO_LRW=m 1260CONFIG_CRYPTO_LRW=m
1061CONFIG_CRYPTO_DES=y 1261CONFIG_CRYPTO_XTS=m
1262CONFIG_CRYPTO_CTR=m
1263CONFIG_CRYPTO_GCM=m
1264CONFIG_CRYPTO_CCM=m
1265# CONFIG_CRYPTO_CRYPTD is not set
1266CONFIG_CRYPTO_DES=m
1062CONFIG_CRYPTO_FCRYPT=m 1267CONFIG_CRYPTO_FCRYPT=m
1063CONFIG_CRYPTO_BLOWFISH=y 1268CONFIG_CRYPTO_BLOWFISH=m
1064CONFIG_CRYPTO_TWOFISH=y 1269CONFIG_CRYPTO_TWOFISH=m
1065CONFIG_CRYPTO_TWOFISH_COMMON=y 1270CONFIG_CRYPTO_TWOFISH_COMMON=m
1066CONFIG_CRYPTO_SERPENT=y 1271CONFIG_CRYPTO_SERPENT=m
1067CONFIG_CRYPTO_AES=m 1272CONFIG_CRYPTO_AES=m
1068# CONFIG_CRYPTO_CAST5 is not set 1273CONFIG_CRYPTO_CAST5=m
1069# CONFIG_CRYPTO_CAST6 is not set 1274CONFIG_CRYPTO_CAST6=m
1070CONFIG_CRYPTO_TEA=m 1275CONFIG_CRYPTO_TEA=m
1071# CONFIG_CRYPTO_ARC4 is not set 1276CONFIG_CRYPTO_ARC4=m
1072CONFIG_CRYPTO_KHAZAD=m 1277CONFIG_CRYPTO_KHAZAD=m
1073CONFIG_CRYPTO_ANUBIS=m 1278CONFIG_CRYPTO_ANUBIS=m
1074CONFIG_CRYPTO_DEFLATE=y 1279CONFIG_CRYPTO_SEED=m
1075CONFIG_CRYPTO_MICHAEL_MIC=y 1280CONFIG_CRYPTO_SALSA20=m
1281CONFIG_CRYPTO_DEFLATE=m
1282CONFIG_CRYPTO_MICHAEL_MIC=m
1076# CONFIG_CRYPTO_CRC32C is not set 1283# CONFIG_CRYPTO_CRC32C is not set
1077CONFIG_CRYPTO_CAMELLIA=m 1284CONFIG_CRYPTO_CAMELLIA=m
1078# CONFIG_CRYPTO_TEST is not set 1285# CONFIG_CRYPTO_TEST is not set
1079 1286CONFIG_CRYPTO_AUTHENC=m
1080# 1287# CONFIG_CRYPTO_LZO is not set
1081# Hardware crypto devices 1288CONFIG_CRYPTO_HW=y
1082# 1289# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1083 1290
1084# 1291#
1085# Library routines 1292# Library routines
1086# 1293#
1087CONFIG_BITREVERSE=y 1294CONFIG_BITREVERSE=y
1088# CONFIG_CRC_CCITT is not set 1295CONFIG_CRC_CCITT=m
1089# CONFIG_CRC16 is not set 1296# CONFIG_CRC16 is not set
1297# CONFIG_CRC_ITU_T is not set
1090CONFIG_CRC32=y 1298CONFIG_CRC32=y
1091# CONFIG_LIBCRC32C is not set 1299# CONFIG_CRC7 is not set
1092CONFIG_ZLIB_INFLATE=y 1300CONFIG_LIBCRC32C=m
1093CONFIG_ZLIB_DEFLATE=y 1301CONFIG_AUDIT_GENERIC=y
1302CONFIG_ZLIB_INFLATE=m
1303CONFIG_ZLIB_DEFLATE=m
1094CONFIG_PLIST=y 1304CONFIG_PLIST=y
1095CONFIG_HAS_IOMEM=y 1305CONFIG_HAS_IOMEM=y
1096CONFIG_HAS_IOPORT=y 1306CONFIG_HAS_IOPORT=y
1307CONFIG_HAS_DMA=y
diff --git a/arch/mips/kernel/i8253.c b/arch/mips/kernel/i8253.c
index fc4aa07b6d3..38fa1a194bf 100644
--- a/arch/mips/kernel/i8253.c
+++ b/arch/mips/kernel/i8253.c
@@ -15,6 +15,7 @@
15#include <asm/time.h> 15#include <asm/time.h>
16 16
17DEFINE_SPINLOCK(i8253_lock); 17DEFINE_SPINLOCK(i8253_lock);
18EXPORT_SYMBOL(i8253_lock);
18 19
19/* 20/*
20 * Initialize the PIT timer. 21 * Initialize the PIT timer.
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index 9f85d4cecc5..b45a7093ca2 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -157,6 +157,6 @@ void __init time_init(void)
157{ 157{
158 plat_time_init(); 158 plat_time_init();
159 159
160 if (mips_clockevent_init() || !cpu_has_mfc0_count_bug()) 160 if (!mips_clockevent_init() || !cpu_has_mfc0_count_bug())
161 init_mips_clocksource(); 161 init_mips_clocksource();
162} 162}
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index eed2dc4273e..39804c584ed 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -262,13 +262,21 @@ void dump_mtregs(void)
262/* Find some VPE program space */ 262/* Find some VPE program space */
263static void *alloc_progmem(unsigned long len) 263static void *alloc_progmem(unsigned long len)
264{ 264{
265 void *addr;
266
265#ifdef CONFIG_MIPS_VPE_LOADER_TOM 267#ifdef CONFIG_MIPS_VPE_LOADER_TOM
266 /* this means you must tell linux to use less memory than you physically have */ 268 /*
267 return pfn_to_kaddr(max_pfn); 269 * This means you must tell Linux to use less memory than you
270 * physically have, for example by passing a mem= boot argument.
271 */
272 addr = pfn_to_kaddr(max_pfn);
273 memset(addr, 0, len);
268#else 274#else
269 // simple grab some mem for now 275 /* simple grab some mem for now */
270 return kmalloc(len, GFP_KERNEL); 276 addr = kzalloc(len, GFP_KERNEL);
271#endif 277#endif
278
279 return addr;
272} 280}
273 281
274static void release_progmem(void *ptr) 282static void release_progmem(void *ptr)
@@ -884,9 +892,10 @@ static int vpe_elfload(struct vpe * v)
884 } 892 }
885 893
886 v->load_addr = alloc_progmem(mod.core_size); 894 v->load_addr = alloc_progmem(mod.core_size);
887 memset(v->load_addr, 0, mod.core_size); 895 if (!v->load_addr)
896 return -ENOMEM;
888 897
889 printk("VPE loader: loading to %p\n", v->load_addr); 898 pr_info("VPE loader: loading to %p\n", v->load_addr);
890 899
891 if (relocate) { 900 if (relocate) {
892 for (i = 0; i < hdr->e_shnum; i++) { 901 for (i = 0; i < hdr->e_shnum; i++) {
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index 3a93d4ce270..382738ca8a0 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -307,6 +307,7 @@ static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l,
307 case CPU_R12000: 307 case CPU_R12000:
308 case CPU_R14000: 308 case CPU_R14000:
309 case CPU_4KC: 309 case CPU_4KC:
310 case CPU_4KEC:
310 case CPU_SB1: 311 case CPU_SB1:
311 case CPU_SB1A: 312 case CPU_SB1A:
312 case CPU_4KSC: 313 case CPU_4KSC:
diff --git a/arch/mips/pci/pci-bcm1480.c b/arch/mips/pci/pci-bcm1480.c
index ab68c4318a3..87e2c8f54e2 100644
--- a/arch/mips/pci/pci-bcm1480.c
+++ b/arch/mips/pci/pci-bcm1480.c
@@ -185,8 +185,8 @@ static struct resource bcm1480_mem_resource = {
185 185
186static struct resource bcm1480_io_resource = { 186static struct resource bcm1480_io_resource = {
187 .name = "BCM1480 PCI I/O", 187 .name = "BCM1480 PCI I/O",
188 .start = 0x2c000000UL, 188 .start = A_BCM1480_PHYS_PCI_IO_MATCH_BYTES,
189 .end = 0x2dffffffUL, 189 .end = A_BCM1480_PHYS_PCI_IO_MATCH_BYTES + 0x1ffffffUL,
190 .flags = IORESOURCE_IO, 190 .flags = IORESOURCE_IO,
191}; 191};
192 192
@@ -194,6 +194,7 @@ struct pci_controller bcm1480_controller = {
194 .pci_ops = &bcm1480_pci_ops, 194 .pci_ops = &bcm1480_pci_ops,
195 .mem_resource = &bcm1480_mem_resource, 195 .mem_resource = &bcm1480_mem_resource,
196 .io_resource = &bcm1480_io_resource, 196 .io_resource = &bcm1480_io_resource,
197 .io_offset = A_BCM1480_PHYS_PCI_IO_MATCH_BYTES,
197}; 198};
198 199
199 200
@@ -251,6 +252,7 @@ static int __init bcm1480_pcibios_init(void)
251 252
252 bcm1480_controller.io_map_base = (unsigned long) 253 bcm1480_controller.io_map_base = (unsigned long)
253 ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536); 254 ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536);
255 bcm1480_controller.io_map_base -= bcm1480_controller.io_offset;
254 set_io_port_base(bcm1480_controller.io_map_base); 256 set_io_port_base(bcm1480_controller.io_map_base);
255 isa_slot_offset = (unsigned long) 257 isa_slot_offset = (unsigned long)
256 ioremap(A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES, 1024*1024); 258 ioremap(A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES, 1024*1024);
diff --git a/arch/mips/pci/pci-bcm1480ht.c b/arch/mips/pci/pci-bcm1480ht.c
index 005e7fecab0..f54f45412b0 100644
--- a/arch/mips/pci/pci-bcm1480ht.c
+++ b/arch/mips/pci/pci-bcm1480ht.c
@@ -180,8 +180,8 @@ static struct resource bcm1480ht_mem_resource = {
180 180
181static struct resource bcm1480ht_io_resource = { 181static struct resource bcm1480ht_io_resource = {
182 .name = "BCM1480 HT I/O", 182 .name = "BCM1480 HT I/O",
183 .start = 0x00000000UL, 183 .start = A_BCM1480_PHYS_HT_IO_MATCH_BYTES,
184 .end = 0x01ffffffUL, 184 .end = A_BCM1480_PHYS_HT_IO_MATCH_BYTES + 0x01ffffffUL,
185 .flags = IORESOURCE_IO, 185 .flags = IORESOURCE_IO,
186}; 186};
187 187
@@ -191,29 +191,22 @@ struct pci_controller bcm1480ht_controller = {
191 .io_resource = &bcm1480ht_io_resource, 191 .io_resource = &bcm1480ht_io_resource,
192 .index = 1, 192 .index = 1,
193 .get_busno = bcm1480ht_pcibios_get_busno, 193 .get_busno = bcm1480ht_pcibios_get_busno,
194 .io_offset = A_BCM1480_PHYS_HT_IO_MATCH_BYTES,
194}; 195};
195 196
196static int __init bcm1480ht_pcibios_init(void) 197static int __init bcm1480ht_pcibios_init(void)
197{ 198{
198 uint32_t cmdreg;
199
200 ht_cfg_space = ioremap(A_BCM1480_PHYS_HT_CFG_MATCH_BITS, 16*1024*1024); 199 ht_cfg_space = ioremap(A_BCM1480_PHYS_HT_CFG_MATCH_BITS, 16*1024*1024);
201 200
202 /* 201 /* CFE doesn't always init all HT paths, so we always scan */
203 * See if the PCI bus has been configured by the firmware.
204 */
205 cmdreg = READCFG32(CFGOFFSET(0, PCI_DEVFN(PCI_BRIDGE_DEVICE, 0),
206 PCI_COMMAND));
207 if (!(cmdreg & PCI_COMMAND_MASTER)) {
208 printk("HT: Skipping HT probe. Bus is not initialized.\n");
209 iounmap(ht_cfg_space);
210 return 1; /* XXX */
211 }
212 bcm1480ht_bus_status |= PCI_BUS_ENABLED; 202 bcm1480ht_bus_status |= PCI_BUS_ENABLED;
213 203
214 ht_eoi_space = (unsigned long) 204 ht_eoi_space = (unsigned long)
215 ioremap(A_BCM1480_PHYS_HT_SPECIAL_MATCH_BYTES, 205 ioremap(A_BCM1480_PHYS_HT_SPECIAL_MATCH_BYTES,
216 4 * 1024 * 1024); 206 4 * 1024 * 1024);
207 bcm1480ht_controller.io_map_base = (unsigned long)
208 ioremap(A_BCM1480_PHYS_HT_IO_MATCH_BYTES, 65536);
209 bcm1480ht_controller.io_map_base -= bcm1480ht_controller.io_offset;
217 210
218 register_pci_controller(&bcm1480ht_controller); 211 register_pci_controller(&bcm1480ht_controller);
219 212
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 4974d9e56ea..1aded8f759d 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -253,8 +253,8 @@ image-$(CONFIG_TQM8540) += cuImage.tqm8540
253image-$(CONFIG_TQM8541) += cuImage.tqm8541 253image-$(CONFIG_TQM8541) += cuImage.tqm8541
254image-$(CONFIG_TQM8555) += cuImage.tqm8555 254image-$(CONFIG_TQM8555) += cuImage.tqm8555
255image-$(CONFIG_TQM8560) += cuImage.tqm8560 255image-$(CONFIG_TQM8560) += cuImage.tqm8560
256image-$(CONFIG_SBC8548) += cuImage.tqm8548 256image-$(CONFIG_SBC8548) += cuImage.sbc8548
257image-$(CONFIG_SBC8560) += cuImage.tqm8560 257image-$(CONFIG_SBC8560) += cuImage.sbc8560
258 258
259# Board ports in arch/powerpc/platform/embedded6xx/Kconfig 259# Board ports in arch/powerpc/platform/embedded6xx/Kconfig
260image-$(CONFIG_STORCENTER) += cuImage.storcenter 260image-$(CONFIG_STORCENTER) += cuImage.storcenter
diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts
index 571ba02acca..2e9bc397ae9 100644
--- a/arch/powerpc/boot/dts/lite5200b.dts
+++ b/arch/powerpc/boot/dts/lite5200b.dts
@@ -270,7 +270,7 @@
270 mdio@3000 { 270 mdio@3000 {
271 #address-cells = <1>; 271 #address-cells = <1>;
272 #size-cells = <0>; 272 #size-cells = <0>;
273 compatible = "fsl,mpc5200b-mdio"; 273 compatible = "fsl,mpc5200b-mdio", "fsl,mpc5200-mdio";
274 reg = <3000 400>; // fec range, since we need to setup fec interrupts 274 reg = <3000 400>; // fec range, since we need to setup fec interrupts
275 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. 275 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
276 interrupt-parent = <&mpc5200_pic>; 276 interrupt-parent = <&mpc5200_pic>;
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index d50e498a072..8f8b8494d62 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -174,10 +174,10 @@ cuboot*)
174 *-mpc83*) 174 *-mpc83*)
175 platformo=$object/cuboot-83xx.o 175 platformo=$object/cuboot-83xx.o
176 ;; 176 ;;
177 *-tqm8541|*-mpc8560*|*-tqm8560|*-tqm8555*) 177 *-tqm8541|*-mpc8560*|*-tqm8560|*-tqm8555)
178 platformo=$object/cuboot-85xx-cpm2.o 178 platformo=$object/cuboot-85xx-cpm2.o
179 ;; 179 ;;
180 *-mpc85*) 180 *-mpc85*|*-tqm8540|*-sbc85*)
181 platformo=$object/cuboot-85xx.o 181 platformo=$object/cuboot-85xx.o
182 ;; 182 ;;
183 esac 183 esac
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig
index f3bde8c6c8c..c420e47426f 100644
--- a/arch/powerpc/configs/cell_defconfig
+++ b/arch/powerpc/configs/cell_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:05 2007 4# Thu Mar 20 10:31:04 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -69,8 +70,6 @@ CONFIG_SYSVIPC_SYSCTL=y
69# CONFIG_POSIX_MQUEUE is not set 70# CONFIG_POSIX_MQUEUE is not set
70# CONFIG_BSD_PROCESS_ACCT is not set 71# CONFIG_BSD_PROCESS_ACCT is not set
71# CONFIG_TASKSTATS is not set 72# CONFIG_TASKSTATS is not set
72# CONFIG_USER_NS is not set
73# CONFIG_PID_NS is not set
74# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
75CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
76CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
@@ -79,13 +78,20 @@ CONFIG_CGROUPS=y
79# CONFIG_CGROUP_DEBUG is not set 78# CONFIG_CGROUP_DEBUG is not set
80# CONFIG_CGROUP_NS is not set 79# CONFIG_CGROUP_NS is not set
81CONFIG_CPUSETS=y 80CONFIG_CPUSETS=y
82CONFIG_FAIR_GROUP_SCHED=y 81# CONFIG_GROUP_SCHED is not set
83CONFIG_FAIR_USER_SCHED=y 82# CONFIG_USER_SCHED is not set
84# CONFIG_FAIR_CGROUP_SCHED is not set 83# CONFIG_CGROUP_SCHED is not set
85# CONFIG_CGROUP_CPUACCT is not set 84# CONFIG_CGROUP_CPUACCT is not set
85# CONFIG_RESOURCE_COUNTERS is not set
86CONFIG_SYSFS_DEPRECATED=y 86CONFIG_SYSFS_DEPRECATED=y
87CONFIG_SYSFS_DEPRECATED_V2=y
87CONFIG_PROC_PID_CPUSET=y 88CONFIG_PROC_PID_CPUSET=y
88# CONFIG_RELAY is not set 89# CONFIG_RELAY is not set
90CONFIG_NAMESPACES=y
91# CONFIG_UTS_NS is not set
92# CONFIG_IPC_NS is not set
93# CONFIG_USER_NS is not set
94# CONFIG_PID_NS is not set
89CONFIG_BLK_DEV_INITRD=y 95CONFIG_BLK_DEV_INITRD=y
90CONFIG_INITRAMFS_SOURCE="" 96CONFIG_INITRAMFS_SOURCE=""
91CONFIG_CC_OPTIMIZE_FOR_SIZE=y 97CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -99,11 +105,13 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 105CONFIG_PRINTK=y
100CONFIG_BUG=y 106CONFIG_BUG=y
101CONFIG_ELF_CORE=y 107CONFIG_ELF_CORE=y
108# CONFIG_COMPAT_BRK is not set
102CONFIG_BASE_FULL=y 109CONFIG_BASE_FULL=y
103CONFIG_FUTEX=y 110CONFIG_FUTEX=y
104CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
105CONFIG_EPOLL=y 112CONFIG_EPOLL=y
106CONFIG_SIGNALFD=y 113CONFIG_SIGNALFD=y
114CONFIG_TIMERFD=y
107CONFIG_EVENTFD=y 115CONFIG_EVENTFD=y
108CONFIG_SHMEM=y 116CONFIG_SHMEM=y
109CONFIG_VM_EVENT_COUNTERS=y 117CONFIG_VM_EVENT_COUNTERS=y
@@ -111,6 +119,15 @@ CONFIG_SLUB_DEBUG=y
111# CONFIG_SLAB is not set 119# CONFIG_SLAB is not set
112CONFIG_SLUB=y 120CONFIG_SLUB=y
113# CONFIG_SLOB is not set 121# CONFIG_SLOB is not set
122CONFIG_PROFILING=y
123# CONFIG_MARKERS is not set
124CONFIG_OPROFILE=m
125CONFIG_HAVE_OPROFILE=y
126# CONFIG_KPROBES is not set
127CONFIG_HAVE_KPROBES=y
128CONFIG_HAVE_KRETPROBES=y
129CONFIG_PROC_PAGE_MONITOR=y
130CONFIG_SLABINFO=y
114CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
115# CONFIG_TINY_SHMEM is not set 132# CONFIG_TINY_SHMEM is not set
116CONFIG_BASE_SMALL=0 133CONFIG_BASE_SMALL=0
@@ -138,6 +155,7 @@ CONFIG_DEFAULT_AS=y
138# CONFIG_DEFAULT_CFQ is not set 155# CONFIG_DEFAULT_CFQ is not set
139# CONFIG_DEFAULT_NOOP is not set 156# CONFIG_DEFAULT_NOOP is not set
140CONFIG_DEFAULT_IOSCHED="anticipatory" 157CONFIG_DEFAULT_IOSCHED="anticipatory"
158CONFIG_CLASSIC_RCU=y
141 159
142# 160#
143# Platform support 161# Platform support
@@ -148,8 +166,8 @@ CONFIG_PPC_MULTIPLATFORM=y
148# CONFIG_PPC_86xx is not set 166# CONFIG_PPC_86xx is not set
149# CONFIG_PPC_PSERIES is not set 167# CONFIG_PPC_PSERIES is not set
150# CONFIG_PPC_ISERIES is not set 168# CONFIG_PPC_ISERIES is not set
151# CONFIG_PPC_MPC52xx is not set 169# CONFIG_PPC_MPC512x is not set
152# CONFIG_PPC_MPC5200 is not set 170# CONFIG_PPC_MPC5121 is not set
153# CONFIG_PPC_PMAC is not set 171# CONFIG_PPC_PMAC is not set
154# CONFIG_PPC_MAPLE is not set 172# CONFIG_PPC_MAPLE is not set
155# CONFIG_PPC_PASEMI is not set 173# CONFIG_PPC_PASEMI is not set
@@ -162,14 +180,14 @@ CONFIG_PPC_PS3=y
162# CONFIG_PS3_ADVANCED is not set 180# CONFIG_PS3_ADVANCED is not set
163CONFIG_PS3_HTAB_SIZE=20 181CONFIG_PS3_HTAB_SIZE=20
164# CONFIG_PS3_DYNAMIC_DMA is not set 182# CONFIG_PS3_DYNAMIC_DMA is not set
165CONFIG_PS3_USE_LPAR_ADDR=y
166CONFIG_PS3_VUART=y 183CONFIG_PS3_VUART=y
167CONFIG_PS3_PS3AV=y 184CONFIG_PS3_PS3AV=y
168CONFIG_PS3_SYS_MANAGER=m 185CONFIG_PS3_SYS_MANAGER=y
169CONFIG_PS3_STORAGE=y 186CONFIG_PS3_STORAGE=y
170CONFIG_PS3_DISK=y 187CONFIG_PS3_DISK=y
171CONFIG_PS3_ROM=m 188CONFIG_PS3_ROM=m
172CONFIG_PS3_FLASH=m 189CONFIG_PS3_FLASH=m
190CONFIG_PS3_LPM=m
173CONFIG_PPC_CELL=y 191CONFIG_PPC_CELL=y
174CONFIG_PPC_CELL_NATIVE=y 192CONFIG_PPC_CELL_NATIVE=y
175CONFIG_PPC_IBM_CELL_BLADE=y 193CONFIG_PPC_IBM_CELL_BLADE=y
@@ -183,10 +201,12 @@ CONFIG_CBE_RAS=y
183CONFIG_CBE_THERM=m 201CONFIG_CBE_THERM=m
184CONFIG_CBE_CPUFREQ=m 202CONFIG_CBE_CPUFREQ=m
185CONFIG_CBE_CPUFREQ_PMI=m 203CONFIG_CBE_CPUFREQ_PMI=m
204CONFIG_OPROFILE_CELL=y
186# CONFIG_PQ2ADS is not set 205# CONFIG_PQ2ADS is not set
187CONFIG_PPC_NATIVE=y 206CONFIG_PPC_NATIVE=y
188CONFIG_UDBG_RTAS_CONSOLE=y 207CONFIG_UDBG_RTAS_CONSOLE=y
189CONFIG_PPC_UDBG_BEAT=y 208CONFIG_PPC_UDBG_BEAT=y
209# CONFIG_IPIC is not set
190CONFIG_MPIC=y 210CONFIG_MPIC=y
191# CONFIG_MPIC_WEIRD is not set 211# CONFIG_MPIC_WEIRD is not set
192# CONFIG_PPC_I8259 is not set 212# CONFIG_PPC_I8259 is not set
@@ -219,7 +239,6 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
219# 239#
220# CPU Frequency drivers 240# CPU Frequency drivers
221# 241#
222# CONFIG_CPM2 is not set
223CONFIG_AXON_RAM=m 242CONFIG_AXON_RAM=m
224# CONFIG_FSL_ULI1575 is not set 243# CONFIG_FSL_ULI1575 is not set
225 244
@@ -235,16 +254,20 @@ CONFIG_HZ_250=y
235# CONFIG_HZ_300 is not set 254# CONFIG_HZ_300 is not set
236# CONFIG_HZ_1000 is not set 255# CONFIG_HZ_1000 is not set
237CONFIG_HZ=250 256CONFIG_HZ=250
257# CONFIG_SCHED_HRTICK is not set
238CONFIG_PREEMPT_NONE=y 258CONFIG_PREEMPT_NONE=y
239# CONFIG_PREEMPT_VOLUNTARY is not set 259# CONFIG_PREEMPT_VOLUNTARY is not set
240# CONFIG_PREEMPT is not set 260# CONFIG_PREEMPT is not set
241CONFIG_PREEMPT_BKL=y
242CONFIG_BINFMT_ELF=y 261CONFIG_BINFMT_ELF=y
262CONFIG_COMPAT_BINFMT_ELF=y
243CONFIG_BINFMT_MISC=m 263CONFIG_BINFMT_MISC=m
244CONFIG_FORCE_MAX_ZONEORDER=9 264CONFIG_FORCE_MAX_ZONEORDER=9
245CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 265CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
246# CONFIG_IOMMU_VMERGE is not set 266# CONFIG_IOMMU_VMERGE is not set
267CONFIG_IOMMU_HELPER=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 268CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
269CONFIG_ARCH_HAS_WALK_MEMORY=y
270CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
248# CONFIG_KEXEC is not set 271# CONFIG_KEXEC is not set
249# CONFIG_CRASH_DUMP is not set 272# CONFIG_CRASH_DUMP is not set
250CONFIG_IRQ_ALL_CPUS=y 273CONFIG_IRQ_ALL_CPUS=y
@@ -267,6 +290,7 @@ CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
267CONFIG_SPARSEMEM_VMEMMAP=y 290CONFIG_SPARSEMEM_VMEMMAP=y
268CONFIG_MEMORY_HOTPLUG=y 291CONFIG_MEMORY_HOTPLUG=y
269CONFIG_MEMORY_HOTPLUG_SPARSE=y 292CONFIG_MEMORY_HOTPLUG_SPARSE=y
293CONFIG_MEMORY_HOTREMOVE=y
270CONFIG_SPLIT_PTLOCK_CPUS=4 294CONFIG_SPLIT_PTLOCK_CPUS=4
271CONFIG_MIGRATION=y 295CONFIG_MIGRATION=y
272CONFIG_RESOURCES_64BIT=y 296CONFIG_RESOURCES_64BIT=y
@@ -276,12 +300,12 @@ CONFIG_ARCH_MEMORY_PROBE=y
276CONFIG_NODES_SPAN_OTHER_NODES=y 300CONFIG_NODES_SPAN_OTHER_NODES=y
277CONFIG_PPC_HAS_HASH_64K=y 301CONFIG_PPC_HAS_HASH_64K=y
278CONFIG_PPC_64K_PAGES=y 302CONFIG_PPC_64K_PAGES=y
303# CONFIG_PPC_SUBPAGE_PROT is not set
279CONFIG_SCHED_SMT=y 304CONFIG_SCHED_SMT=y
280CONFIG_PROC_DEVICETREE=y 305CONFIG_PROC_DEVICETREE=y
281# CONFIG_CMDLINE_BOOL is not set 306# CONFIG_CMDLINE_BOOL is not set
282# CONFIG_PM is not set 307# CONFIG_PM is not set
283CONFIG_SECCOMP=y 308CONFIG_SECCOMP=y
284# CONFIG_WANT_DEVICE_TREE is not set
285CONFIG_ISA_DMA_API=y 309CONFIG_ISA_DMA_API=y
286 310
287# 311#
@@ -318,6 +342,7 @@ CONFIG_XFRM=y
318# CONFIG_XFRM_USER is not set 342# CONFIG_XFRM_USER is not set
319# CONFIG_XFRM_SUB_POLICY is not set 343# CONFIG_XFRM_SUB_POLICY is not set
320# CONFIG_XFRM_MIGRATE is not set 344# CONFIG_XFRM_MIGRATE is not set
345# CONFIG_XFRM_STATISTICS is not set
321# CONFIG_NET_KEY is not set 346# CONFIG_NET_KEY is not set
322CONFIG_INET=y 347CONFIG_INET=y
323CONFIG_IP_MULTICAST=y 348CONFIG_IP_MULTICAST=y
@@ -368,6 +393,7 @@ CONFIG_IPV6_TUNNEL=m
368# CONFIG_NETWORK_SECMARK is not set 393# CONFIG_NETWORK_SECMARK is not set
369CONFIG_NETFILTER=y 394CONFIG_NETFILTER=y
370# CONFIG_NETFILTER_DEBUG is not set 395# CONFIG_NETFILTER_DEBUG is not set
396CONFIG_NETFILTER_ADVANCED=y
371 397
372# 398#
373# Core Netfilter Configuration 399# Core Netfilter Configuration
@@ -375,7 +401,6 @@ CONFIG_NETFILTER=y
375CONFIG_NETFILTER_NETLINK=m 401CONFIG_NETFILTER_NETLINK=m
376CONFIG_NETFILTER_NETLINK_QUEUE=m 402CONFIG_NETFILTER_NETLINK_QUEUE=m
377CONFIG_NETFILTER_NETLINK_LOG=m 403CONFIG_NETFILTER_NETLINK_LOG=m
378# CONFIG_NF_CONNTRACK_ENABLED is not set
379# CONFIG_NF_CONNTRACK is not set 404# CONFIG_NF_CONNTRACK is not set
380CONFIG_NETFILTER_XTABLES=m 405CONFIG_NETFILTER_XTABLES=m
381CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 406CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
@@ -383,20 +408,25 @@ CONFIG_NETFILTER_XT_TARGET_DSCP=m
383CONFIG_NETFILTER_XT_TARGET_MARK=m 408CONFIG_NETFILTER_XT_TARGET_MARK=m
384CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 409CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
385CONFIG_NETFILTER_XT_TARGET_NFLOG=m 410CONFIG_NETFILTER_XT_TARGET_NFLOG=m
411CONFIG_NETFILTER_XT_TARGET_RATEEST=m
386# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 412# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
387CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 413CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
414CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
388CONFIG_NETFILTER_XT_MATCH_COMMENT=m 415CONFIG_NETFILTER_XT_MATCH_COMMENT=m
389CONFIG_NETFILTER_XT_MATCH_DCCP=m 416CONFIG_NETFILTER_XT_MATCH_DCCP=m
390CONFIG_NETFILTER_XT_MATCH_DSCP=m 417CONFIG_NETFILTER_XT_MATCH_DSCP=m
391CONFIG_NETFILTER_XT_MATCH_ESP=m 418CONFIG_NETFILTER_XT_MATCH_ESP=m
419CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
392CONFIG_NETFILTER_XT_MATCH_LENGTH=m 420CONFIG_NETFILTER_XT_MATCH_LENGTH=m
393CONFIG_NETFILTER_XT_MATCH_LIMIT=m 421CONFIG_NETFILTER_XT_MATCH_LIMIT=m
394CONFIG_NETFILTER_XT_MATCH_MAC=m 422CONFIG_NETFILTER_XT_MATCH_MAC=m
395CONFIG_NETFILTER_XT_MATCH_MARK=m 423CONFIG_NETFILTER_XT_MATCH_MARK=m
424CONFIG_NETFILTER_XT_MATCH_OWNER=m
396CONFIG_NETFILTER_XT_MATCH_POLICY=m 425CONFIG_NETFILTER_XT_MATCH_POLICY=m
397CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 426CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
398CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 427CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
399CONFIG_NETFILTER_XT_MATCH_QUOTA=m 428CONFIG_NETFILTER_XT_MATCH_QUOTA=m
429CONFIG_NETFILTER_XT_MATCH_RATEEST=m
400CONFIG_NETFILTER_XT_MATCH_REALM=m 430CONFIG_NETFILTER_XT_MATCH_REALM=m
401CONFIG_NETFILTER_XT_MATCH_SCTP=m 431CONFIG_NETFILTER_XT_MATCH_SCTP=m
402CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 432CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
@@ -411,20 +441,16 @@ CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
411# 441#
412CONFIG_IP_NF_QUEUE=m 442CONFIG_IP_NF_QUEUE=m
413CONFIG_IP_NF_IPTABLES=m 443CONFIG_IP_NF_IPTABLES=m
414CONFIG_IP_NF_MATCH_IPRANGE=m
415CONFIG_IP_NF_MATCH_TOS=m
416CONFIG_IP_NF_MATCH_RECENT=m 444CONFIG_IP_NF_MATCH_RECENT=m
417CONFIG_IP_NF_MATCH_ECN=m 445CONFIG_IP_NF_MATCH_ECN=m
418CONFIG_IP_NF_MATCH_AH=m 446CONFIG_IP_NF_MATCH_AH=m
419CONFIG_IP_NF_MATCH_TTL=m 447CONFIG_IP_NF_MATCH_TTL=m
420CONFIG_IP_NF_MATCH_OWNER=m
421CONFIG_IP_NF_MATCH_ADDRTYPE=m 448CONFIG_IP_NF_MATCH_ADDRTYPE=m
422CONFIG_IP_NF_FILTER=m 449CONFIG_IP_NF_FILTER=m
423CONFIG_IP_NF_TARGET_REJECT=m 450CONFIG_IP_NF_TARGET_REJECT=m
424CONFIG_IP_NF_TARGET_LOG=m 451CONFIG_IP_NF_TARGET_LOG=m
425CONFIG_IP_NF_TARGET_ULOG=m 452CONFIG_IP_NF_TARGET_ULOG=m
426CONFIG_IP_NF_MANGLE=m 453CONFIG_IP_NF_MANGLE=m
427CONFIG_IP_NF_TARGET_TOS=m
428CONFIG_IP_NF_TARGET_ECN=m 454CONFIG_IP_NF_TARGET_ECN=m
429CONFIG_IP_NF_TARGET_TTL=m 455CONFIG_IP_NF_TARGET_TTL=m
430CONFIG_IP_NF_RAW=m 456CONFIG_IP_NF_RAW=m
@@ -433,7 +459,7 @@ CONFIG_IP_NF_ARPFILTER=m
433CONFIG_IP_NF_ARP_MANGLE=m 459CONFIG_IP_NF_ARP_MANGLE=m
434 460
435# 461#
436# IPv6: Netfilter Configuration (EXPERIMENTAL) 462# IPv6: Netfilter Configuration
437# 463#
438# CONFIG_IP6_NF_QUEUE is not set 464# CONFIG_IP6_NF_QUEUE is not set
439# CONFIG_IP6_NF_IPTABLES is not set 465# CONFIG_IP6_NF_IPTABLES is not set
@@ -459,6 +485,7 @@ CONFIG_NET_CLS_ROUTE=y
459# 485#
460# CONFIG_NET_PKTGEN is not set 486# CONFIG_NET_PKTGEN is not set
461# CONFIG_HAMRADIO is not set 487# CONFIG_HAMRADIO is not set
488# CONFIG_CAN is not set
462# CONFIG_IRDA is not set 489# CONFIG_IRDA is not set
463# CONFIG_BT is not set 490# CONFIG_BT is not set
464# CONFIG_AF_RXRPC is not set 491# CONFIG_AF_RXRPC is not set
@@ -467,7 +494,7 @@ CONFIG_NET_CLS_ROUTE=y
467# Wireless 494# Wireless
468# 495#
469# CONFIG_CFG80211 is not set 496# CONFIG_CFG80211 is not set
470# CONFIG_WIRELESS_EXT is not set 497CONFIG_WIRELESS_EXT=y
471# CONFIG_MAC80211 is not set 498# CONFIG_MAC80211 is not set
472# CONFIG_IEEE80211 is not set 499# CONFIG_IEEE80211 is not set
473# CONFIG_RFKILL is not set 500# CONFIG_RFKILL is not set
@@ -505,7 +532,7 @@ CONFIG_BLK_DEV_LOOP=y
505CONFIG_BLK_DEV_RAM=y 532CONFIG_BLK_DEV_RAM=y
506CONFIG_BLK_DEV_RAM_COUNT=16 533CONFIG_BLK_DEV_RAM_COUNT=16
507CONFIG_BLK_DEV_RAM_SIZE=131072 534CONFIG_BLK_DEV_RAM_SIZE=131072
508CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 535# CONFIG_BLK_DEV_XIP is not set
509# CONFIG_CDROM_PKTCDVD is not set 536# CONFIG_CDROM_PKTCDVD is not set
510# CONFIG_ATA_OVER_ETH is not set 537# CONFIG_ATA_OVER_ETH is not set
511CONFIG_MISC_DEVICES=y 538CONFIG_MISC_DEVICES=y
@@ -513,11 +540,13 @@ CONFIG_MISC_DEVICES=y
513# CONFIG_EEPROM_93CX6 is not set 540# CONFIG_EEPROM_93CX6 is not set
514# CONFIG_SGI_IOC4 is not set 541# CONFIG_SGI_IOC4 is not set
515# CONFIG_TIFM_CORE is not set 542# CONFIG_TIFM_CORE is not set
543# CONFIG_ENCLOSURE_SERVICES is not set
544CONFIG_HAVE_IDE=y
516CONFIG_IDE=y 545CONFIG_IDE=y
517CONFIG_BLK_DEV_IDE=y 546CONFIG_BLK_DEV_IDE=y
518 547
519# 548#
520# Please see Documentation/ide.txt for help/info on IDE drives 549# Please see Documentation/ide/ide.txt for help/info on IDE drives
521# 550#
522# CONFIG_BLK_DEV_IDE_SATA is not set 551# CONFIG_BLK_DEV_IDE_SATA is not set
523CONFIG_BLK_DEV_IDEDISK=y 552CONFIG_BLK_DEV_IDEDISK=y
@@ -534,12 +563,12 @@ CONFIG_IDE_PROC_FS=y
534# 563#
535CONFIG_IDE_GENERIC=y 564CONFIG_IDE_GENERIC=y
536# CONFIG_BLK_DEV_PLATFORM is not set 565# CONFIG_BLK_DEV_PLATFORM is not set
566CONFIG_BLK_DEV_IDEDMA_SFF=y
537 567
538# 568#
539# PCI IDE chipsets support 569# PCI IDE chipsets support
540# 570#
541CONFIG_BLK_DEV_IDEPCI=y 571CONFIG_BLK_DEV_IDEPCI=y
542CONFIG_IDEPCI_SHARE_IRQ=y
543CONFIG_IDEPCI_PCIBUS_ORDER=y 572CONFIG_IDEPCI_PCIBUS_ORDER=y
544# CONFIG_BLK_DEV_OFFBOARD is not set 573# CONFIG_BLK_DEV_OFFBOARD is not set
545CONFIG_BLK_DEV_GENERIC=y 574CONFIG_BLK_DEV_GENERIC=y
@@ -571,7 +600,6 @@ CONFIG_BLK_DEV_SIIMAGE=y
571# CONFIG_BLK_DEV_VIA82CXXX is not set 600# CONFIG_BLK_DEV_VIA82CXXX is not set
572# CONFIG_BLK_DEV_TC86C001 is not set 601# CONFIG_BLK_DEV_TC86C001 is not set
573CONFIG_BLK_DEV_CELLEB=y 602CONFIG_BLK_DEV_CELLEB=y
574# CONFIG_IDE_ARM is not set
575CONFIG_BLK_DEV_IDEDMA=y 603CONFIG_BLK_DEV_IDEDMA=y
576CONFIG_IDE_ARCH_OBSOLETE_INIT=y 604CONFIG_IDE_ARCH_OBSOLETE_INIT=y
577# CONFIG_BLK_DEV_HD is not set 605# CONFIG_BLK_DEV_HD is not set
@@ -637,6 +665,7 @@ CONFIG_SCSI_LOWLEVEL=y
637# CONFIG_SCSI_IPS is not set 665# CONFIG_SCSI_IPS is not set
638# CONFIG_SCSI_INITIO is not set 666# CONFIG_SCSI_INITIO is not set
639# CONFIG_SCSI_INIA100 is not set 667# CONFIG_SCSI_INIA100 is not set
668# CONFIG_SCSI_MVSAS is not set
640# CONFIG_SCSI_STEX is not set 669# CONFIG_SCSI_STEX is not set
641# CONFIG_SCSI_SYM53C8XX_2 is not set 670# CONFIG_SCSI_SYM53C8XX_2 is not set
642# CONFIG_SCSI_IPR is not set 671# CONFIG_SCSI_IPR is not set
@@ -689,6 +718,7 @@ CONFIG_SATA_PROMISE=y
689# CONFIG_PATA_MPIIX is not set 718# CONFIG_PATA_MPIIX is not set
690# CONFIG_PATA_OLDPIIX is not set 719# CONFIG_PATA_OLDPIIX is not set
691# CONFIG_PATA_NETCELL is not set 720# CONFIG_PATA_NETCELL is not set
721# CONFIG_PATA_NINJA32 is not set
692# CONFIG_PATA_NS87410 is not set 722# CONFIG_PATA_NS87410 is not set
693# CONFIG_PATA_NS87415 is not set 723# CONFIG_PATA_NS87415 is not set
694# CONFIG_PATA_OPTI is not set 724# CONFIG_PATA_OPTI is not set
@@ -703,6 +733,7 @@ CONFIG_PATA_PDC2027X=m
703# CONFIG_PATA_SIS is not set 733# CONFIG_PATA_SIS is not set
704# CONFIG_PATA_VIA is not set 734# CONFIG_PATA_VIA is not set
705# CONFIG_PATA_WINBOND is not set 735# CONFIG_PATA_WINBOND is not set
736# CONFIG_PATA_PLATFORM is not set
706# CONFIG_PATA_SCC is not set 737# CONFIG_PATA_SCC is not set
707CONFIG_MD=y 738CONFIG_MD=y
708CONFIG_BLK_DEV_MD=m 739CONFIG_BLK_DEV_MD=m
@@ -748,7 +779,6 @@ CONFIG_MACVLAN=m
748# CONFIG_EQUALIZER is not set 779# CONFIG_EQUALIZER is not set
749CONFIG_TUN=y 780CONFIG_TUN=y
750# CONFIG_VETH is not set 781# CONFIG_VETH is not set
751# CONFIG_IP1000 is not set
752# CONFIG_ARCNET is not set 782# CONFIG_ARCNET is not set
753# CONFIG_PHYLIB is not set 783# CONFIG_PHYLIB is not set
754CONFIG_NET_ETHERNET=y 784CONFIG_NET_ETHERNET=y
@@ -773,6 +803,9 @@ CONFIG_E1000=m
773CONFIG_E1000_NAPI=y 803CONFIG_E1000_NAPI=y
774# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 804# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
775# CONFIG_E1000E is not set 805# CONFIG_E1000E is not set
806# CONFIG_E1000E_ENABLED is not set
807# CONFIG_IP1000 is not set
808# CONFIG_IGB is not set
776# CONFIG_NS83820 is not set 809# CONFIG_NS83820 is not set
777# CONFIG_HAMACHI is not set 810# CONFIG_HAMACHI is not set
778# CONFIG_YELLOWFIN is not set 811# CONFIG_YELLOWFIN is not set
@@ -788,6 +821,7 @@ CONFIG_TIGON3=y
788# CONFIG_BNX2 is not set 821# CONFIG_BNX2 is not set
789CONFIG_SPIDER_NET=y 822CONFIG_SPIDER_NET=y
790CONFIG_GELIC_NET=m 823CONFIG_GELIC_NET=m
824CONFIG_GELIC_WIRELESS=y
791# CONFIG_QLA3XXX is not set 825# CONFIG_QLA3XXX is not set
792# CONFIG_ATL1 is not set 826# CONFIG_ATL1 is not set
793CONFIG_NETDEV_10000=y 827CONFIG_NETDEV_10000=y
@@ -802,6 +836,7 @@ CONFIG_NETDEV_10000=y
802# CONFIG_PASEMI_MAC is not set 836# CONFIG_PASEMI_MAC is not set
803# CONFIG_MLX4_CORE is not set 837# CONFIG_MLX4_CORE is not set
804# CONFIG_TEHUTI is not set 838# CONFIG_TEHUTI is not set
839# CONFIG_BNX2X is not set
805# CONFIG_TR is not set 840# CONFIG_TR is not set
806 841
807# 842#
@@ -824,7 +859,6 @@ CONFIG_NETDEV_10000=y
824# CONFIG_PPP is not set 859# CONFIG_PPP is not set
825# CONFIG_SLIP is not set 860# CONFIG_SLIP is not set
826# CONFIG_NET_FC is not set 861# CONFIG_NET_FC is not set
827# CONFIG_SHAPER is not set
828# CONFIG_NETCONSOLE is not set 862# CONFIG_NETCONSOLE is not set
829# CONFIG_NETPOLL is not set 863# CONFIG_NETPOLL is not set
830# CONFIG_NET_POLL_CONTROLLER is not set 864# CONFIG_NET_POLL_CONTROLLER is not set
@@ -883,16 +917,17 @@ CONFIG_SERIAL_NONSTANDARD=y
883# CONFIG_DIGIEPCA is not set 917# CONFIG_DIGIEPCA is not set
884# CONFIG_MOXA_INTELLIO is not set 918# CONFIG_MOXA_INTELLIO is not set
885# CONFIG_MOXA_SMARTIO is not set 919# CONFIG_MOXA_SMARTIO is not set
886# CONFIG_MOXA_SMARTIO_NEW is not set
887# CONFIG_ISI is not set 920# CONFIG_ISI is not set
888# CONFIG_SYNCLINK is not set 921# CONFIG_SYNCLINK is not set
889# CONFIG_SYNCLINKMP is not set 922# CONFIG_SYNCLINKMP is not set
890# CONFIG_SYNCLINK_GT is not set 923# CONFIG_SYNCLINK_GT is not set
891# CONFIG_N_HDLC is not set 924# CONFIG_N_HDLC is not set
925# CONFIG_RISCOM8 is not set
892# CONFIG_SPECIALIX is not set 926# CONFIG_SPECIALIX is not set
893# CONFIG_SX is not set 927# CONFIG_SX is not set
894# CONFIG_RIO is not set 928# CONFIG_RIO is not set
895# CONFIG_STALDRV is not set 929# CONFIG_STALDRV is not set
930# CONFIG_NOZOMI is not set
896 931
897# 932#
898# Serial drivers 933# Serial drivers
@@ -976,13 +1011,12 @@ CONFIG_I2C_ALGOBIT=y
976# 1011#
977# Miscellaneous I2C Chip support 1012# Miscellaneous I2C Chip support
978# 1013#
979# CONFIG_SENSORS_DS1337 is not set
980# CONFIG_SENSORS_DS1374 is not set
981# CONFIG_DS1682 is not set 1014# CONFIG_DS1682 is not set
982# CONFIG_SENSORS_EEPROM is not set 1015# CONFIG_SENSORS_EEPROM is not set
983# CONFIG_SENSORS_PCF8574 is not set 1016# CONFIG_SENSORS_PCF8574 is not set
984# CONFIG_SENSORS_PCA9539 is not set 1017# CONFIG_PCF8575 is not set
985# CONFIG_SENSORS_PCF8591 is not set 1018# CONFIG_SENSORS_PCF8591 is not set
1019# CONFIG_TPS65010 is not set
986# CONFIG_SENSORS_MAX6875 is not set 1020# CONFIG_SENSORS_MAX6875 is not set
987# CONFIG_SENSORS_TSL2550 is not set 1021# CONFIG_SENSORS_TSL2550 is not set
988# CONFIG_I2C_DEBUG_CORE is not set 1022# CONFIG_I2C_DEBUG_CORE is not set
@@ -998,6 +1032,7 @@ CONFIG_I2C_ALGOBIT=y
998# CONFIG_W1 is not set 1032# CONFIG_W1 is not set
999# CONFIG_POWER_SUPPLY is not set 1033# CONFIG_POWER_SUPPLY is not set
1000# CONFIG_HWMON is not set 1034# CONFIG_HWMON is not set
1035# CONFIG_THERMAL is not set
1001CONFIG_WATCHDOG=y 1036CONFIG_WATCHDOG=y
1002# CONFIG_WATCHDOG_NOWAYOUT is not set 1037# CONFIG_WATCHDOG_NOWAYOUT is not set
1003 1038
@@ -1082,6 +1117,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1082CONFIG_USB_ARCH_HAS_EHCI=y 1117CONFIG_USB_ARCH_HAS_EHCI=y
1083CONFIG_USB=m 1118CONFIG_USB=m
1084# CONFIG_USB_DEBUG is not set 1119# CONFIG_USB_DEBUG is not set
1120# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1085 1121
1086# 1122#
1087# Miscellaneous USB options 1123# Miscellaneous USB options
@@ -1095,10 +1131,10 @@ CONFIG_USB_DEVICE_CLASS=y
1095# USB Host Controller Drivers 1131# USB Host Controller Drivers
1096# 1132#
1097CONFIG_USB_EHCI_HCD=m 1133CONFIG_USB_EHCI_HCD=m
1098# CONFIG_USB_EHCI_SPLIT_ISO is not set
1099# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1134# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1100# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1135# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1101CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y 1136CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
1137# CONFIG_USB_EHCI_HCD_PPC_OF is not set
1102# CONFIG_USB_ISP116X_HCD is not set 1138# CONFIG_USB_ISP116X_HCD is not set
1103CONFIG_USB_OHCI_HCD=m 1139CONFIG_USB_OHCI_HCD=m
1104CONFIG_USB_OHCI_HCD_PPC_OF=y 1140CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1149,10 +1185,6 @@ CONFIG_USB_MON=y
1149# 1185#
1150# USB port drivers 1186# USB port drivers
1151# 1187#
1152
1153#
1154# USB Serial Converter support
1155#
1156# CONFIG_USB_SERIAL is not set 1188# CONFIG_USB_SERIAL is not set
1157 1189
1158# 1190#
@@ -1178,16 +1210,9 @@ CONFIG_USB_MON=y
1178# CONFIG_USB_TRANCEVIBRATOR is not set 1210# CONFIG_USB_TRANCEVIBRATOR is not set
1179# CONFIG_USB_IOWARRIOR is not set 1211# CONFIG_USB_IOWARRIOR is not set
1180# CONFIG_USB_TEST is not set 1212# CONFIG_USB_TEST is not set
1181
1182#
1183# USB DSL modem support
1184#
1185
1186#
1187# USB Gadget Support
1188#
1189# CONFIG_USB_GADGET is not set 1213# CONFIG_USB_GADGET is not set
1190# CONFIG_MMC is not set 1214# CONFIG_MMC is not set
1215# CONFIG_MEMSTICK is not set
1191# CONFIG_NEW_LEDS is not set 1216# CONFIG_NEW_LEDS is not set
1192CONFIG_INFINIBAND=m 1217CONFIG_INFINIBAND=m
1193CONFIG_INFINIBAND_USER_MAD=m 1218CONFIG_INFINIBAND_USER_MAD=m
@@ -1198,6 +1223,7 @@ CONFIG_INFINIBAND_MTHCA=m
1198CONFIG_INFINIBAND_MTHCA_DEBUG=y 1223CONFIG_INFINIBAND_MTHCA_DEBUG=y
1199# CONFIG_INFINIBAND_AMSO1100 is not set 1224# CONFIG_INFINIBAND_AMSO1100 is not set
1200# CONFIG_MLX4_INFINIBAND is not set 1225# CONFIG_MLX4_INFINIBAND is not set
1226# CONFIG_INFINIBAND_NES is not set
1201CONFIG_INFINIBAND_IPOIB=m 1227CONFIG_INFINIBAND_IPOIB=m
1202# CONFIG_INFINIBAND_IPOIB_CM is not set 1228# CONFIG_INFINIBAND_IPOIB_CM is not set
1203CONFIG_INFINIBAND_IPOIB_DEBUG=y 1229CONFIG_INFINIBAND_IPOIB_DEBUG=y
@@ -1211,7 +1237,9 @@ CONFIG_EDAC=y
1211# 1237#
1212# CONFIG_EDAC_DEBUG is not set 1238# CONFIG_EDAC_DEBUG is not set
1213CONFIG_EDAC_MM_EDAC=y 1239CONFIG_EDAC_MM_EDAC=y
1240CONFIG_EDAC_CELL=y
1214# CONFIG_RTC_CLASS is not set 1241# CONFIG_RTC_CLASS is not set
1242# CONFIG_DMADEVICES is not set
1215 1243
1216# 1244#
1217# Userspace I/O 1245# Userspace I/O
@@ -1239,12 +1267,10 @@ CONFIG_FS_POSIX_ACL=y
1239# CONFIG_XFS_FS is not set 1267# CONFIG_XFS_FS is not set
1240# CONFIG_GFS2_FS is not set 1268# CONFIG_GFS2_FS is not set
1241# CONFIG_OCFS2_FS is not set 1269# CONFIG_OCFS2_FS is not set
1242# CONFIG_MINIX_FS is not set 1270CONFIG_DNOTIFY=y
1243# CONFIG_ROMFS_FS is not set
1244CONFIG_INOTIFY=y 1271CONFIG_INOTIFY=y
1245CONFIG_INOTIFY_USER=y 1272CONFIG_INOTIFY_USER=y
1246# CONFIG_QUOTA is not set 1273# CONFIG_QUOTA is not set
1247CONFIG_DNOTIFY=y
1248# CONFIG_AUTOFS_FS is not set 1274# CONFIG_AUTOFS_FS is not set
1249CONFIG_AUTOFS4_FS=m 1275CONFIG_AUTOFS4_FS=m
1250# CONFIG_FUSE_FS is not set 1276# CONFIG_FUSE_FS is not set
@@ -1293,8 +1319,10 @@ CONFIG_HUGETLB_PAGE=y
1293# CONFIG_EFS_FS is not set 1319# CONFIG_EFS_FS is not set
1294# CONFIG_CRAMFS is not set 1320# CONFIG_CRAMFS is not set
1295# CONFIG_VXFS_FS is not set 1321# CONFIG_VXFS_FS is not set
1322# CONFIG_MINIX_FS is not set
1296# CONFIG_HPFS_FS is not set 1323# CONFIG_HPFS_FS is not set
1297# CONFIG_QNX4FS_FS is not set 1324# CONFIG_QNX4FS_FS is not set
1325# CONFIG_ROMFS_FS is not set
1298# CONFIG_SYSV_FS is not set 1326# CONFIG_SYSV_FS is not set
1299# CONFIG_UFS_FS is not set 1327# CONFIG_UFS_FS is not set
1300CONFIG_NETWORK_FILESYSTEMS=y 1328CONFIG_NETWORK_FILESYSTEMS=y
@@ -1382,7 +1410,6 @@ CONFIG_NLS_ISO8859_15=m
1382# CONFIG_NLS_KOI8_U is not set 1410# CONFIG_NLS_KOI8_U is not set
1383# CONFIG_NLS_UTF8 is not set 1411# CONFIG_NLS_UTF8 is not set
1384# CONFIG_DLM is not set 1412# CONFIG_DLM is not set
1385# CONFIG_UCC_SLOW is not set
1386 1413
1387# 1414#
1388# Library routines 1415# Library routines
@@ -1404,11 +1431,6 @@ CONFIG_PLIST=y
1404CONFIG_HAS_IOMEM=y 1431CONFIG_HAS_IOMEM=y
1405CONFIG_HAS_IOPORT=y 1432CONFIG_HAS_IOPORT=y
1406CONFIG_HAS_DMA=y 1433CONFIG_HAS_DMA=y
1407CONFIG_INSTRUMENTATION=y
1408CONFIG_PROFILING=y
1409CONFIG_OPROFILE=m
1410# CONFIG_KPROBES is not set
1411# CONFIG_MARKERS is not set
1412 1434
1413# 1435#
1414# Kernel hacking 1436# Kernel hacking
@@ -1427,6 +1449,7 @@ CONFIG_SCHED_DEBUG=y
1427# CONFIG_SCHEDSTATS is not set 1449# CONFIG_SCHEDSTATS is not set
1428# CONFIG_TIMER_STATS is not set 1450# CONFIG_TIMER_STATS is not set
1429# CONFIG_SLUB_DEBUG_ON is not set 1451# CONFIG_SLUB_DEBUG_ON is not set
1452# CONFIG_SLUB_STATS is not set
1430# CONFIG_DEBUG_RT_MUTEXES is not set 1453# CONFIG_DEBUG_RT_MUTEXES is not set
1431# CONFIG_RT_MUTEX_TESTER is not set 1454# CONFIG_RT_MUTEX_TESTER is not set
1432# CONFIG_DEBUG_SPINLOCK is not set 1455# CONFIG_DEBUG_SPINLOCK is not set
@@ -1439,9 +1462,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1439# CONFIG_DEBUG_VM is not set 1462# CONFIG_DEBUG_VM is not set
1440# CONFIG_DEBUG_LIST is not set 1463# CONFIG_DEBUG_LIST is not set
1441# CONFIG_DEBUG_SG is not set 1464# CONFIG_DEBUG_SG is not set
1442# CONFIG_FORCED_INLINING is not set
1443# CONFIG_BOOT_PRINTK_DELAY is not set 1465# CONFIG_BOOT_PRINTK_DELAY is not set
1444# CONFIG_RCU_TORTURE_TEST is not set 1466# CONFIG_RCU_TORTURE_TEST is not set
1467# CONFIG_BACKTRACE_SELF_TEST is not set
1445# CONFIG_FAULT_INJECTION is not set 1468# CONFIG_FAULT_INJECTION is not set
1446# CONFIG_SAMPLES is not set 1469# CONFIG_SAMPLES is not set
1447# CONFIG_DEBUG_STACKOVERFLOW is not set 1470# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1464,7 +1487,9 @@ CONFIG_IRQSTACKS=y
1464# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1487# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1465CONFIG_CRYPTO=y 1488CONFIG_CRYPTO=y
1466CONFIG_CRYPTO_ALGAPI=y 1489CONFIG_CRYPTO_ALGAPI=y
1490CONFIG_CRYPTO_AEAD=m
1467CONFIG_CRYPTO_BLKCIPHER=m 1491CONFIG_CRYPTO_BLKCIPHER=m
1492# CONFIG_CRYPTO_SEQIV is not set
1468CONFIG_CRYPTO_HASH=y 1493CONFIG_CRYPTO_HASH=y
1469CONFIG_CRYPTO_MANAGER=y 1494CONFIG_CRYPTO_MANAGER=y
1470CONFIG_CRYPTO_HMAC=y 1495CONFIG_CRYPTO_HMAC=y
@@ -1483,6 +1508,9 @@ CONFIG_CRYPTO_CBC=m
1483CONFIG_CRYPTO_PCBC=m 1508CONFIG_CRYPTO_PCBC=m
1484# CONFIG_CRYPTO_LRW is not set 1509# CONFIG_CRYPTO_LRW is not set
1485# CONFIG_CRYPTO_XTS is not set 1510# CONFIG_CRYPTO_XTS is not set
1511# CONFIG_CRYPTO_CTR is not set
1512# CONFIG_CRYPTO_GCM is not set
1513# CONFIG_CRYPTO_CCM is not set
1486# CONFIG_CRYPTO_CRYPTD is not set 1514# CONFIG_CRYPTO_CRYPTD is not set
1487CONFIG_CRYPTO_DES=m 1515CONFIG_CRYPTO_DES=m
1488# CONFIG_CRYPTO_FCRYPT is not set 1516# CONFIG_CRYPTO_FCRYPT is not set
@@ -1497,11 +1525,14 @@ CONFIG_CRYPTO_DES=m
1497# CONFIG_CRYPTO_KHAZAD is not set 1525# CONFIG_CRYPTO_KHAZAD is not set
1498# CONFIG_CRYPTO_ANUBIS is not set 1526# CONFIG_CRYPTO_ANUBIS is not set
1499# CONFIG_CRYPTO_SEED is not set 1527# CONFIG_CRYPTO_SEED is not set
1528# CONFIG_CRYPTO_SALSA20 is not set
1500CONFIG_CRYPTO_DEFLATE=m 1529CONFIG_CRYPTO_DEFLATE=m
1501# CONFIG_CRYPTO_MICHAEL_MIC is not set 1530# CONFIG_CRYPTO_MICHAEL_MIC is not set
1502# CONFIG_CRYPTO_CRC32C is not set 1531# CONFIG_CRYPTO_CRC32C is not set
1503# CONFIG_CRYPTO_CAMELLIA is not set 1532# CONFIG_CRYPTO_CAMELLIA is not set
1504# CONFIG_CRYPTO_TEST is not set 1533# CONFIG_CRYPTO_TEST is not set
1505# CONFIG_CRYPTO_AUTHENC is not set 1534CONFIG_CRYPTO_AUTHENC=m
1535# CONFIG_CRYPTO_LZO is not set
1506CONFIG_CRYPTO_HW=y 1536CONFIG_CRYPTO_HW=y
1537# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1507# CONFIG_PPC_CLOCK is not set 1538# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/celleb_defconfig b/arch/powerpc/configs/celleb_defconfig
index 9ed2e098f96..9ba3c6fc2fe 100644
--- a/arch/powerpc/configs/celleb_defconfig
+++ b/arch/powerpc/configs/celleb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:07 2007 4# Thu Mar 20 10:32:45 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -69,16 +70,22 @@ CONFIG_SYSVIPC_SYSCTL=y
69# CONFIG_POSIX_MQUEUE is not set 70# CONFIG_POSIX_MQUEUE is not set
70# CONFIG_BSD_PROCESS_ACCT is not set 71# CONFIG_BSD_PROCESS_ACCT is not set
71# CONFIG_TASKSTATS is not set 72# CONFIG_TASKSTATS is not set
72# CONFIG_USER_NS is not set
73# CONFIG_PID_NS is not set
74# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
75CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
76CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=15 76CONFIG_LOG_BUF_SHIFT=15
78# CONFIG_CGROUPS is not set 77# CONFIG_CGROUPS is not set
79# CONFIG_FAIR_GROUP_SCHED is not set 78# CONFIG_GROUP_SCHED is not set
79# CONFIG_USER_SCHED is not set
80# CONFIG_CGROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y 81CONFIG_SYSFS_DEPRECATED=y
82CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_RELAY is not set 83# CONFIG_RELAY is not set
84CONFIG_NAMESPACES=y
85# CONFIG_UTS_NS is not set
86# CONFIG_IPC_NS is not set
87# CONFIG_USER_NS is not set
88# CONFIG_PID_NS is not set
82CONFIG_BLK_DEV_INITRD=y 89CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE="" 90CONFIG_INITRAMFS_SOURCE=""
84CONFIG_CC_OPTIMIZE_FOR_SIZE=y 91CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -92,11 +99,13 @@ CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 99CONFIG_PRINTK=y
93CONFIG_BUG=y 100CONFIG_BUG=y
94CONFIG_ELF_CORE=y 101CONFIG_ELF_CORE=y
102# CONFIG_COMPAT_BRK is not set
95CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y 104CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y 105CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y 106CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y 107CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 109CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 110CONFIG_SHMEM=y
102CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
@@ -104,6 +113,14 @@ CONFIG_SLUB_DEBUG=y
104# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
105CONFIG_SLUB=y 114CONFIG_SLUB=y
106# CONFIG_SLOB is not set 115# CONFIG_SLOB is not set
116# CONFIG_PROFILING is not set
117# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y
119# CONFIG_KPROBES is not set
120CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y
122CONFIG_PROC_PAGE_MONITOR=y
123CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set 125# CONFIG_TINY_SHMEM is not set
109CONFIG_BASE_SMALL=0 126CONFIG_BASE_SMALL=0
@@ -131,6 +148,7 @@ CONFIG_DEFAULT_AS=y
131# CONFIG_DEFAULT_CFQ is not set 148# CONFIG_DEFAULT_CFQ is not set
132# CONFIG_DEFAULT_NOOP is not set 149# CONFIG_DEFAULT_NOOP is not set
133CONFIG_DEFAULT_IOSCHED="anticipatory" 150CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y
134 152
135# 153#
136# Platform support 154# Platform support
@@ -141,8 +159,8 @@ CONFIG_PPC_MULTIPLATFORM=y
141# CONFIG_PPC_86xx is not set 159# CONFIG_PPC_86xx is not set
142# CONFIG_PPC_PSERIES is not set 160# CONFIG_PPC_PSERIES is not set
143# CONFIG_PPC_ISERIES is not set 161# CONFIG_PPC_ISERIES is not set
144# CONFIG_PPC_MPC52xx is not set 162# CONFIG_PPC_MPC512x is not set
145# CONFIG_PPC_MPC5200 is not set 163# CONFIG_PPC_MPC5121 is not set
146# CONFIG_PPC_PMAC is not set 164# CONFIG_PPC_PMAC is not set
147# CONFIG_PPC_MAPLE is not set 165# CONFIG_PPC_MAPLE is not set
148# CONFIG_PPC_PASEMI is not set 166# CONFIG_PPC_PASEMI is not set
@@ -164,6 +182,7 @@ CONFIG_CBE_RAS=y
164CONFIG_PPC_NATIVE=y 182CONFIG_PPC_NATIVE=y
165CONFIG_UDBG_RTAS_CONSOLE=y 183CONFIG_UDBG_RTAS_CONSOLE=y
166CONFIG_PPC_UDBG_BEAT=y 184CONFIG_PPC_UDBG_BEAT=y
185# CONFIG_IPIC is not set
167CONFIG_MPIC=y 186CONFIG_MPIC=y
168# CONFIG_MPIC_WEIRD is not set 187# CONFIG_MPIC_WEIRD is not set
169# CONFIG_PPC_I8259 is not set 188# CONFIG_PPC_I8259 is not set
@@ -177,7 +196,6 @@ CONFIG_PPC_RTAS=y
177CONFIG_PPC_INDIRECT_IO=y 196CONFIG_PPC_INDIRECT_IO=y
178CONFIG_GENERIC_IOMAP=y 197CONFIG_GENERIC_IOMAP=y
179# CONFIG_CPU_FREQ is not set 198# CONFIG_CPU_FREQ is not set
180# CONFIG_CPM2 is not set
181# CONFIG_FSL_ULI1575 is not set 199# CONFIG_FSL_ULI1575 is not set
182 200
183# 201#
@@ -192,16 +210,20 @@ CONFIG_HZ_250=y
192# CONFIG_HZ_300 is not set 210# CONFIG_HZ_300 is not set
193# CONFIG_HZ_1000 is not set 211# CONFIG_HZ_1000 is not set
194CONFIG_HZ=250 212CONFIG_HZ=250
213# CONFIG_SCHED_HRTICK is not set
195CONFIG_PREEMPT_NONE=y 214CONFIG_PREEMPT_NONE=y
196# CONFIG_PREEMPT_VOLUNTARY is not set 215# CONFIG_PREEMPT_VOLUNTARY is not set
197# CONFIG_PREEMPT is not set 216# CONFIG_PREEMPT is not set
198CONFIG_PREEMPT_BKL=y
199CONFIG_BINFMT_ELF=y 217CONFIG_BINFMT_ELF=y
218CONFIG_COMPAT_BINFMT_ELF=y
200CONFIG_BINFMT_MISC=m 219CONFIG_BINFMT_MISC=m
201CONFIG_FORCE_MAX_ZONEORDER=13 220CONFIG_FORCE_MAX_ZONEORDER=13
202CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 221CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
203# CONFIG_IOMMU_VMERGE is not set 222# CONFIG_IOMMU_VMERGE is not set
223CONFIG_IOMMU_HELPER=y
204CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
225CONFIG_ARCH_HAS_WALK_MEMORY=y
226CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
205CONFIG_KEXEC=y 227CONFIG_KEXEC=y
206# CONFIG_CRASH_DUMP is not set 228# CONFIG_CRASH_DUMP is not set
207# CONFIG_IRQ_ALL_CPUS is not set 229# CONFIG_IRQ_ALL_CPUS is not set
@@ -223,6 +245,7 @@ CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
223CONFIG_SPARSEMEM_VMEMMAP=y 245CONFIG_SPARSEMEM_VMEMMAP=y
224CONFIG_MEMORY_HOTPLUG=y 246CONFIG_MEMORY_HOTPLUG=y
225CONFIG_MEMORY_HOTPLUG_SPARSE=y 247CONFIG_MEMORY_HOTPLUG_SPARSE=y
248# CONFIG_MEMORY_HOTREMOVE is not set
226CONFIG_SPLIT_PTLOCK_CPUS=4 249CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y 250CONFIG_MIGRATION=y
228CONFIG_RESOURCES_64BIT=y 251CONFIG_RESOURCES_64BIT=y
@@ -237,7 +260,6 @@ CONFIG_PROC_DEVICETREE=y
237# CONFIG_CMDLINE_BOOL is not set 260# CONFIG_CMDLINE_BOOL is not set
238# CONFIG_PM is not set 261# CONFIG_PM is not set
239CONFIG_SECCOMP=y 262CONFIG_SECCOMP=y
240# CONFIG_WANT_DEVICE_TREE is not set
241CONFIG_ISA_DMA_API=y 263CONFIG_ISA_DMA_API=y
242 264
243# 265#
@@ -273,6 +295,7 @@ CONFIG_XFRM=y
273# CONFIG_XFRM_USER is not set 295# CONFIG_XFRM_USER is not set
274# CONFIG_XFRM_SUB_POLICY is not set 296# CONFIG_XFRM_SUB_POLICY is not set
275# CONFIG_XFRM_MIGRATE is not set 297# CONFIG_XFRM_MIGRATE is not set
298# CONFIG_XFRM_STATISTICS is not set
276# CONFIG_NET_KEY is not set 299# CONFIG_NET_KEY is not set
277CONFIG_INET=y 300CONFIG_INET=y
278CONFIG_IP_MULTICAST=y 301CONFIG_IP_MULTICAST=y
@@ -320,12 +343,13 @@ CONFIG_IPV6_TUNNEL=m
320# CONFIG_NETWORK_SECMARK is not set 343# CONFIG_NETWORK_SECMARK is not set
321CONFIG_NETFILTER=y 344CONFIG_NETFILTER=y
322# CONFIG_NETFILTER_DEBUG is not set 345# CONFIG_NETFILTER_DEBUG is not set
346CONFIG_NETFILTER_ADVANCED=y
323 347
324# 348#
325# Core Netfilter Configuration 349# Core Netfilter Configuration
326# 350#
327# CONFIG_NETFILTER_NETLINK is not set 351# CONFIG_NETFILTER_NETLINK_QUEUE is not set
328# CONFIG_NF_CONNTRACK_ENABLED is not set 352# CONFIG_NETFILTER_NETLINK_LOG is not set
329# CONFIG_NF_CONNTRACK is not set 353# CONFIG_NF_CONNTRACK is not set
330# CONFIG_NETFILTER_XTABLES is not set 354# CONFIG_NETFILTER_XTABLES is not set
331 355
@@ -337,7 +361,7 @@ CONFIG_IP_NF_QUEUE=m
337# CONFIG_IP_NF_ARPTABLES is not set 361# CONFIG_IP_NF_ARPTABLES is not set
338 362
339# 363#
340# IPv6: Netfilter Configuration (EXPERIMENTAL) 364# IPv6: Netfilter Configuration
341# 365#
342# CONFIG_IP6_NF_QUEUE is not set 366# CONFIG_IP6_NF_QUEUE is not set
343# CONFIG_IP6_NF_IPTABLES is not set 367# CONFIG_IP6_NF_IPTABLES is not set
@@ -362,6 +386,7 @@ CONFIG_IP_NF_QUEUE=m
362# 386#
363# CONFIG_NET_PKTGEN is not set 387# CONFIG_NET_PKTGEN is not set
364# CONFIG_HAMRADIO is not set 388# CONFIG_HAMRADIO is not set
389# CONFIG_CAN is not set
365# CONFIG_IRDA is not set 390# CONFIG_IRDA is not set
366# CONFIG_BT is not set 391# CONFIG_BT is not set
367# CONFIG_AF_RXRPC is not set 392# CONFIG_AF_RXRPC is not set
@@ -408,7 +433,7 @@ CONFIG_BLK_DEV_LOOP=y
408CONFIG_BLK_DEV_RAM=y 433CONFIG_BLK_DEV_RAM=y
409CONFIG_BLK_DEV_RAM_COUNT=16 434CONFIG_BLK_DEV_RAM_COUNT=16
410CONFIG_BLK_DEV_RAM_SIZE=131072 435CONFIG_BLK_DEV_RAM_SIZE=131072
411CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 436# CONFIG_BLK_DEV_XIP is not set
412# CONFIG_CDROM_PKTCDVD is not set 437# CONFIG_CDROM_PKTCDVD is not set
413# CONFIG_ATA_OVER_ETH is not set 438# CONFIG_ATA_OVER_ETH is not set
414CONFIG_MISC_DEVICES=y 439CONFIG_MISC_DEVICES=y
@@ -416,16 +441,19 @@ CONFIG_MISC_DEVICES=y
416# CONFIG_EEPROM_93CX6 is not set 441# CONFIG_EEPROM_93CX6 is not set
417# CONFIG_SGI_IOC4 is not set 442# CONFIG_SGI_IOC4 is not set
418# CONFIG_TIFM_CORE is not set 443# CONFIG_TIFM_CORE is not set
444# CONFIG_ENCLOSURE_SERVICES is not set
445CONFIG_HAVE_IDE=y
419CONFIG_IDE=y 446CONFIG_IDE=y
420CONFIG_BLK_DEV_IDE=y 447CONFIG_BLK_DEV_IDE=y
421 448
422# 449#
423# Please see Documentation/ide.txt for help/info on IDE drives 450# Please see Documentation/ide/ide.txt for help/info on IDE drives
424# 451#
425# CONFIG_BLK_DEV_IDE_SATA is not set 452# CONFIG_BLK_DEV_IDE_SATA is not set
426CONFIG_BLK_DEV_IDEDISK=y 453CONFIG_BLK_DEV_IDEDISK=y
427CONFIG_IDEDISK_MULTI_MODE=y 454CONFIG_IDEDISK_MULTI_MODE=y
428CONFIG_BLK_DEV_IDECD=m 455CONFIG_BLK_DEV_IDECD=m
456CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
429# CONFIG_BLK_DEV_IDETAPE is not set 457# CONFIG_BLK_DEV_IDETAPE is not set
430# CONFIG_BLK_DEV_IDEFLOPPY is not set 458# CONFIG_BLK_DEV_IDEFLOPPY is not set
431# CONFIG_BLK_DEV_IDESCSI is not set 459# CONFIG_BLK_DEV_IDESCSI is not set
@@ -437,12 +465,12 @@ CONFIG_IDE_PROC_FS=y
437# 465#
438CONFIG_IDE_GENERIC=y 466CONFIG_IDE_GENERIC=y
439# CONFIG_BLK_DEV_PLATFORM is not set 467# CONFIG_BLK_DEV_PLATFORM is not set
468CONFIG_BLK_DEV_IDEDMA_SFF=y
440 469
441# 470#
442# PCI IDE chipsets support 471# PCI IDE chipsets support
443# 472#
444CONFIG_BLK_DEV_IDEPCI=y 473CONFIG_BLK_DEV_IDEPCI=y
445CONFIG_IDEPCI_SHARE_IRQ=y
446CONFIG_IDEPCI_PCIBUS_ORDER=y 474CONFIG_IDEPCI_PCIBUS_ORDER=y
447# CONFIG_BLK_DEV_OFFBOARD is not set 475# CONFIG_BLK_DEV_OFFBOARD is not set
448CONFIG_BLK_DEV_GENERIC=y 476CONFIG_BLK_DEV_GENERIC=y
@@ -474,7 +502,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
474# CONFIG_BLK_DEV_VIA82CXXX is not set 502# CONFIG_BLK_DEV_VIA82CXXX is not set
475# CONFIG_BLK_DEV_TC86C001 is not set 503# CONFIG_BLK_DEV_TC86C001 is not set
476CONFIG_BLK_DEV_CELLEB=y 504CONFIG_BLK_DEV_CELLEB=y
477# CONFIG_IDE_ARM is not set
478CONFIG_BLK_DEV_IDEDMA=y 505CONFIG_BLK_DEV_IDEDMA=y
479CONFIG_IDE_ARCH_OBSOLETE_INIT=y 506CONFIG_IDE_ARCH_OBSOLETE_INIT=y
480# CONFIG_BLK_DEV_HD is not set 507# CONFIG_BLK_DEV_HD is not set
@@ -540,6 +567,7 @@ CONFIG_SCSI_LOWLEVEL=y
540# CONFIG_SCSI_IPS is not set 567# CONFIG_SCSI_IPS is not set
541# CONFIG_SCSI_INITIO is not set 568# CONFIG_SCSI_INITIO is not set
542# CONFIG_SCSI_INIA100 is not set 569# CONFIG_SCSI_INIA100 is not set
570# CONFIG_SCSI_MVSAS is not set
543# CONFIG_SCSI_STEX is not set 571# CONFIG_SCSI_STEX is not set
544# CONFIG_SCSI_SYM53C8XX_2 is not set 572# CONFIG_SCSI_SYM53C8XX_2 is not set
545# CONFIG_SCSI_QLOGIC_1280 is not set 573# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -589,7 +617,6 @@ CONFIG_NETDEVICES=y
589# CONFIG_EQUALIZER is not set 617# CONFIG_EQUALIZER is not set
590# CONFIG_TUN is not set 618# CONFIG_TUN is not set
591# CONFIG_VETH is not set 619# CONFIG_VETH is not set
592# CONFIG_IP1000 is not set
593# CONFIG_ARCNET is not set 620# CONFIG_ARCNET is not set
594# CONFIG_PHYLIB is not set 621# CONFIG_PHYLIB is not set
595CONFIG_NET_ETHERNET=y 622CONFIG_NET_ETHERNET=y
@@ -612,6 +639,9 @@ CONFIG_NETDEV_1000=y
612# CONFIG_DL2K is not set 639# CONFIG_DL2K is not set
613# CONFIG_E1000 is not set 640# CONFIG_E1000 is not set
614# CONFIG_E1000E is not set 641# CONFIG_E1000E is not set
642# CONFIG_E1000E_ENABLED is not set
643# CONFIG_IP1000 is not set
644# CONFIG_IGB is not set
615# CONFIG_NS83820 is not set 645# CONFIG_NS83820 is not set
616# CONFIG_HAMACHI is not set 646# CONFIG_HAMACHI is not set
617# CONFIG_YELLOWFIN is not set 647# CONFIG_YELLOWFIN is not set
@@ -638,6 +668,7 @@ CONFIG_NETDEV_10000=y
638# CONFIG_PASEMI_MAC is not set 668# CONFIG_PASEMI_MAC is not set
639# CONFIG_MLX4_CORE is not set 669# CONFIG_MLX4_CORE is not set
640# CONFIG_TEHUTI is not set 670# CONFIG_TEHUTI is not set
671# CONFIG_BNX2X is not set
641# CONFIG_TR is not set 672# CONFIG_TR is not set
642 673
643# 674#
@@ -660,7 +691,6 @@ CONFIG_NETDEV_10000=y
660# CONFIG_PPP is not set 691# CONFIG_PPP is not set
661# CONFIG_SLIP is not set 692# CONFIG_SLIP is not set
662# CONFIG_NET_FC is not set 693# CONFIG_NET_FC is not set
663# CONFIG_SHAPER is not set
664# CONFIG_NETCONSOLE is not set 694# CONFIG_NETCONSOLE is not set
665# CONFIG_NETPOLL is not set 695# CONFIG_NETPOLL is not set
666# CONFIG_NET_POLL_CONTROLLER is not set 696# CONFIG_NET_POLL_CONTROLLER is not set
@@ -719,16 +749,17 @@ CONFIG_SERIAL_NONSTANDARD=y
719# CONFIG_DIGIEPCA is not set 749# CONFIG_DIGIEPCA is not set
720# CONFIG_MOXA_INTELLIO is not set 750# CONFIG_MOXA_INTELLIO is not set
721# CONFIG_MOXA_SMARTIO is not set 751# CONFIG_MOXA_SMARTIO is not set
722# CONFIG_MOXA_SMARTIO_NEW is not set
723# CONFIG_ISI is not set 752# CONFIG_ISI is not set
724# CONFIG_SYNCLINK is not set 753# CONFIG_SYNCLINK is not set
725# CONFIG_SYNCLINKMP is not set 754# CONFIG_SYNCLINKMP is not set
726# CONFIG_SYNCLINK_GT is not set 755# CONFIG_SYNCLINK_GT is not set
727# CONFIG_N_HDLC is not set 756# CONFIG_N_HDLC is not set
757# CONFIG_RISCOM8 is not set
728# CONFIG_SPECIALIX is not set 758# CONFIG_SPECIALIX is not set
729# CONFIG_SX is not set 759# CONFIG_SX is not set
730# CONFIG_RIO is not set 760# CONFIG_RIO is not set
731# CONFIG_STALDRV is not set 761# CONFIG_STALDRV is not set
762# CONFIG_NOZOMI is not set
732 763
733# 764#
734# Serial drivers 765# Serial drivers
@@ -802,13 +833,12 @@ CONFIG_I2C_ALGOBIT=y
802# 833#
803# Miscellaneous I2C Chip support 834# Miscellaneous I2C Chip support
804# 835#
805# CONFIG_SENSORS_DS1337 is not set
806# CONFIG_SENSORS_DS1374 is not set
807# CONFIG_DS1682 is not set 836# CONFIG_DS1682 is not set
808# CONFIG_SENSORS_EEPROM is not set 837# CONFIG_SENSORS_EEPROM is not set
809# CONFIG_SENSORS_PCF8574 is not set 838# CONFIG_SENSORS_PCF8574 is not set
810# CONFIG_SENSORS_PCA9539 is not set 839# CONFIG_PCF8575 is not set
811# CONFIG_SENSORS_PCF8591 is not set 840# CONFIG_SENSORS_PCF8591 is not set
841# CONFIG_TPS65010 is not set
812# CONFIG_SENSORS_MAX6875 is not set 842# CONFIG_SENSORS_MAX6875 is not set
813# CONFIG_SENSORS_TSL2550 is not set 843# CONFIG_SENSORS_TSL2550 is not set
814# CONFIG_I2C_DEBUG_CORE is not set 844# CONFIG_I2C_DEBUG_CORE is not set
@@ -824,6 +854,7 @@ CONFIG_I2C_ALGOBIT=y
824# CONFIG_W1 is not set 854# CONFIG_W1 is not set
825# CONFIG_POWER_SUPPLY is not set 855# CONFIG_POWER_SUPPLY is not set
826# CONFIG_HWMON is not set 856# CONFIG_HWMON is not set
857# CONFIG_THERMAL is not set
827CONFIG_WATCHDOG=y 858CONFIG_WATCHDOG=y
828# CONFIG_WATCHDOG_NOWAYOUT is not set 859# CONFIG_WATCHDOG_NOWAYOUT is not set
829 860
@@ -905,6 +936,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
905CONFIG_USB_ARCH_HAS_EHCI=y 936CONFIG_USB_ARCH_HAS_EHCI=y
906CONFIG_USB=y 937CONFIG_USB=y
907# CONFIG_USB_DEBUG is not set 938# CONFIG_USB_DEBUG is not set
939# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
908 940
909# 941#
910# Miscellaneous USB options 942# Miscellaneous USB options
@@ -918,10 +950,10 @@ CONFIG_USB_DEVICEFS=y
918# USB Host Controller Drivers 950# USB Host Controller Drivers
919# 951#
920CONFIG_USB_EHCI_HCD=m 952CONFIG_USB_EHCI_HCD=m
921# CONFIG_USB_EHCI_SPLIT_ISO is not set
922# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 953# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
923# CONFIG_USB_EHCI_TT_NEWSCHED is not set 954# CONFIG_USB_EHCI_TT_NEWSCHED is not set
924CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y 955CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
956# CONFIG_USB_EHCI_HCD_PPC_OF is not set
925# CONFIG_USB_ISP116X_HCD is not set 957# CONFIG_USB_ISP116X_HCD is not set
926CONFIG_USB_OHCI_HCD=m 958CONFIG_USB_OHCI_HCD=m
927# CONFIG_USB_OHCI_HCD_PPC_OF is not set 959# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -969,10 +1001,6 @@ CONFIG_USB_MON=y
969# 1001#
970# USB port drivers 1002# USB port drivers
971# 1003#
972
973#
974# USB Serial Converter support
975#
976# CONFIG_USB_SERIAL is not set 1004# CONFIG_USB_SERIAL is not set
977 1005
978# 1006#
@@ -998,20 +1026,14 @@ CONFIG_USB_MON=y
998# CONFIG_USB_TRANCEVIBRATOR is not set 1026# CONFIG_USB_TRANCEVIBRATOR is not set
999# CONFIG_USB_IOWARRIOR is not set 1027# CONFIG_USB_IOWARRIOR is not set
1000# CONFIG_USB_TEST is not set 1028# CONFIG_USB_TEST is not set
1001
1002#
1003# USB DSL modem support
1004#
1005
1006#
1007# USB Gadget Support
1008#
1009# CONFIG_USB_GADGET is not set 1029# CONFIG_USB_GADGET is not set
1010# CONFIG_MMC is not set 1030# CONFIG_MMC is not set
1031# CONFIG_MEMSTICK is not set
1011# CONFIG_NEW_LEDS is not set 1032# CONFIG_NEW_LEDS is not set
1012# CONFIG_INFINIBAND is not set 1033# CONFIG_INFINIBAND is not set
1013# CONFIG_EDAC is not set 1034# CONFIG_EDAC is not set
1014# CONFIG_RTC_CLASS is not set 1035# CONFIG_RTC_CLASS is not set
1036# CONFIG_DMADEVICES is not set
1015 1037
1016# 1038#
1017# Userspace I/O 1039# Userspace I/O
@@ -1041,12 +1063,10 @@ CONFIG_FS_POSIX_ACL=y
1041# CONFIG_XFS_FS is not set 1063# CONFIG_XFS_FS is not set
1042# CONFIG_GFS2_FS is not set 1064# CONFIG_GFS2_FS is not set
1043# CONFIG_OCFS2_FS is not set 1065# CONFIG_OCFS2_FS is not set
1044# CONFIG_MINIX_FS is not set 1066CONFIG_DNOTIFY=y
1045# CONFIG_ROMFS_FS is not set
1046CONFIG_INOTIFY=y 1067CONFIG_INOTIFY=y
1047CONFIG_INOTIFY_USER=y 1068CONFIG_INOTIFY_USER=y
1048# CONFIG_QUOTA is not set 1069# CONFIG_QUOTA is not set
1049CONFIG_DNOTIFY=y
1050# CONFIG_AUTOFS_FS is not set 1070# CONFIG_AUTOFS_FS is not set
1051# CONFIG_AUTOFS4_FS is not set 1071# CONFIG_AUTOFS4_FS is not set
1052# CONFIG_FUSE_FS is not set 1072# CONFIG_FUSE_FS is not set
@@ -1095,8 +1115,10 @@ CONFIG_HUGETLB_PAGE=y
1095# CONFIG_EFS_FS is not set 1115# CONFIG_EFS_FS is not set
1096# CONFIG_CRAMFS is not set 1116# CONFIG_CRAMFS is not set
1097# CONFIG_VXFS_FS is not set 1117# CONFIG_VXFS_FS is not set
1118# CONFIG_MINIX_FS is not set
1098# CONFIG_HPFS_FS is not set 1119# CONFIG_HPFS_FS is not set
1099# CONFIG_QNX4FS_FS is not set 1120# CONFIG_QNX4FS_FS is not set
1121# CONFIG_ROMFS_FS is not set
1100# CONFIG_SYSV_FS is not set 1122# CONFIG_SYSV_FS is not set
1101# CONFIG_UFS_FS is not set 1123# CONFIG_UFS_FS is not set
1102CONFIG_NETWORK_FILESYSTEMS=y 1124CONFIG_NETWORK_FILESYSTEMS=y
@@ -1188,7 +1210,6 @@ CONFIG_NLS_ISO8859_15=m
1188# CONFIG_NLS_KOI8_U is not set 1210# CONFIG_NLS_KOI8_U is not set
1189# CONFIG_NLS_UTF8 is not set 1211# CONFIG_NLS_UTF8 is not set
1190# CONFIG_DLM is not set 1212# CONFIG_DLM is not set
1191# CONFIG_UCC_SLOW is not set
1192 1213
1193# 1214#
1194# Library routines 1215# Library routines
@@ -1206,10 +1227,6 @@ CONFIG_PLIST=y
1206CONFIG_HAS_IOMEM=y 1227CONFIG_HAS_IOMEM=y
1207CONFIG_HAS_IOPORT=y 1228CONFIG_HAS_IOPORT=y
1208CONFIG_HAS_DMA=y 1229CONFIG_HAS_DMA=y
1209CONFIG_INSTRUMENTATION=y
1210# CONFIG_PROFILING is not set
1211# CONFIG_KPROBES is not set
1212# CONFIG_MARKERS is not set
1213 1230
1214# 1231#
1215# Kernel hacking 1232# Kernel hacking
@@ -1228,6 +1245,7 @@ CONFIG_SCHED_DEBUG=y
1228# CONFIG_SCHEDSTATS is not set 1245# CONFIG_SCHEDSTATS is not set
1229# CONFIG_TIMER_STATS is not set 1246# CONFIG_TIMER_STATS is not set
1230# CONFIG_SLUB_DEBUG_ON is not set 1247# CONFIG_SLUB_DEBUG_ON is not set
1248# CONFIG_SLUB_STATS is not set
1231# CONFIG_DEBUG_RT_MUTEXES is not set 1249# CONFIG_DEBUG_RT_MUTEXES is not set
1232# CONFIG_RT_MUTEX_TESTER is not set 1250# CONFIG_RT_MUTEX_TESTER is not set
1233# CONFIG_DEBUG_SPINLOCK is not set 1251# CONFIG_DEBUG_SPINLOCK is not set
@@ -1240,9 +1258,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1240# CONFIG_DEBUG_VM is not set 1258# CONFIG_DEBUG_VM is not set
1241# CONFIG_DEBUG_LIST is not set 1259# CONFIG_DEBUG_LIST is not set
1242# CONFIG_DEBUG_SG is not set 1260# CONFIG_DEBUG_SG is not set
1243# CONFIG_FORCED_INLINING is not set
1244# CONFIG_BOOT_PRINTK_DELAY is not set 1261# CONFIG_BOOT_PRINTK_DELAY is not set
1245# CONFIG_RCU_TORTURE_TEST is not set 1262# CONFIG_RCU_TORTURE_TEST is not set
1263# CONFIG_BACKTRACE_SELF_TEST is not set
1246# CONFIG_FAULT_INJECTION is not set 1264# CONFIG_FAULT_INJECTION is not set
1247# CONFIG_SAMPLES is not set 1265# CONFIG_SAMPLES is not set
1248# CONFIG_DEBUG_STACKOVERFLOW is not set 1266# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1265,7 +1283,9 @@ CONFIG_IRQSTACKS=y
1265# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1283# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1266CONFIG_CRYPTO=y 1284CONFIG_CRYPTO=y
1267CONFIG_CRYPTO_ALGAPI=y 1285CONFIG_CRYPTO_ALGAPI=y
1286CONFIG_CRYPTO_AEAD=m
1268CONFIG_CRYPTO_BLKCIPHER=m 1287CONFIG_CRYPTO_BLKCIPHER=m
1288# CONFIG_CRYPTO_SEQIV is not set
1269CONFIG_CRYPTO_HASH=y 1289CONFIG_CRYPTO_HASH=y
1270CONFIG_CRYPTO_MANAGER=y 1290CONFIG_CRYPTO_MANAGER=y
1271CONFIG_CRYPTO_HMAC=y 1291CONFIG_CRYPTO_HMAC=y
@@ -1284,6 +1304,9 @@ CONFIG_CRYPTO_CBC=m
1284CONFIG_CRYPTO_PCBC=m 1304CONFIG_CRYPTO_PCBC=m
1285# CONFIG_CRYPTO_LRW is not set 1305# CONFIG_CRYPTO_LRW is not set
1286# CONFIG_CRYPTO_XTS is not set 1306# CONFIG_CRYPTO_XTS is not set
1307# CONFIG_CRYPTO_CTR is not set
1308# CONFIG_CRYPTO_GCM is not set
1309# CONFIG_CRYPTO_CCM is not set
1287# CONFIG_CRYPTO_CRYPTD is not set 1310# CONFIG_CRYPTO_CRYPTD is not set
1288CONFIG_CRYPTO_DES=m 1311CONFIG_CRYPTO_DES=m
1289# CONFIG_CRYPTO_FCRYPT is not set 1312# CONFIG_CRYPTO_FCRYPT is not set
@@ -1299,11 +1322,13 @@ CONFIG_CRYPTO_ARC4=m
1299CONFIG_CRYPTO_KHAZAD=m 1322CONFIG_CRYPTO_KHAZAD=m
1300CONFIG_CRYPTO_ANUBIS=m 1323CONFIG_CRYPTO_ANUBIS=m
1301# CONFIG_CRYPTO_SEED is not set 1324# CONFIG_CRYPTO_SEED is not set
1325# CONFIG_CRYPTO_SALSA20 is not set
1302CONFIG_CRYPTO_DEFLATE=m 1326CONFIG_CRYPTO_DEFLATE=m
1303CONFIG_CRYPTO_MICHAEL_MIC=m 1327CONFIG_CRYPTO_MICHAEL_MIC=m
1304CONFIG_CRYPTO_CRC32C=m 1328CONFIG_CRYPTO_CRC32C=m
1305# CONFIG_CRYPTO_CAMELLIA is not set 1329# CONFIG_CRYPTO_CAMELLIA is not set
1306CONFIG_CRYPTO_TEST=m 1330CONFIG_CRYPTO_TEST=m
1307# CONFIG_CRYPTO_AUTHENC is not set 1331CONFIG_CRYPTO_AUTHENC=m
1332# CONFIG_CRYPTO_LZO is not set
1308# CONFIG_CRYPTO_HW is not set 1333# CONFIG_CRYPTO_HW is not set
1309# CONFIG_PPC_CLOCK is not set 1334# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index 5989b5d2277..38b85b211c3 100644
--- a/arch/powerpc/configs/chrp32_defconfig
+++ b/arch/powerpc/configs/chrp32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:09 2007 4# Thu Mar 20 10:33:36 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,16 +68,22 @@ CONFIG_SYSVIPC_SYSCTL=y
67CONFIG_POSIX_MQUEUE=y 68CONFIG_POSIX_MQUEUE=y
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73CONFIG_IKCONFIG=y 72CONFIG_IKCONFIG=y
74CONFIG_IKCONFIG_PROC=y 73CONFIG_IKCONFIG_PROC=y
75CONFIG_LOG_BUF_SHIFT=15 74CONFIG_LOG_BUF_SHIFT=15
76# CONFIG_CGROUPS is not set 75# CONFIG_CGROUPS is not set
77# CONFIG_FAIR_GROUP_SCHED is not set 76# CONFIG_GROUP_SCHED is not set
77# CONFIG_USER_SCHED is not set
78# CONFIG_CGROUP_SCHED is not set
78CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
79# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82CONFIG_NAMESPACES=y
83# CONFIG_UTS_NS is not set
84# CONFIG_IPC_NS is not set
85# CONFIG_USER_NS is not set
86# CONFIG_PID_NS is not set
80CONFIG_BLK_DEV_INITRD=y 87CONFIG_BLK_DEV_INITRD=y
81CONFIG_INITRAMFS_SOURCE="" 88CONFIG_INITRAMFS_SOURCE=""
82# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 89# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -90,11 +97,13 @@ CONFIG_HOTPLUG=y
90CONFIG_PRINTK=y 97CONFIG_PRINTK=y
91CONFIG_BUG=y 98CONFIG_BUG=y
92CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
100# CONFIG_COMPAT_BRK is not set
93CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
94CONFIG_FUTEX=y 102CONFIG_FUTEX=y
95CONFIG_ANON_INODES=y 103CONFIG_ANON_INODES=y
96CONFIG_EPOLL=y 104CONFIG_EPOLL=y
97CONFIG_SIGNALFD=y 105CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y
98CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
99CONFIG_SHMEM=y 108CONFIG_SHMEM=y
100CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
@@ -102,6 +111,14 @@ CONFIG_SLUB_DEBUG=y
102# CONFIG_SLAB is not set 111# CONFIG_SLAB is not set
103CONFIG_SLUB=y 112CONFIG_SLUB=y
104# CONFIG_SLOB is not set 113# CONFIG_SLOB is not set
114# CONFIG_PROFILING is not set
115# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set
118CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y
120CONFIG_PROC_PAGE_MONITOR=y
121CONFIG_SLABINFO=y
105CONFIG_RT_MUTEXES=y 122CONFIG_RT_MUTEXES=y
106# CONFIG_TINY_SHMEM is not set 123# CONFIG_TINY_SHMEM is not set
107CONFIG_BASE_SMALL=0 124CONFIG_BASE_SMALL=0
@@ -130,6 +147,7 @@ CONFIG_DEFAULT_AS=y
130# CONFIG_DEFAULT_CFQ is not set 147# CONFIG_DEFAULT_CFQ is not set
131# CONFIG_DEFAULT_NOOP is not set 148# CONFIG_DEFAULT_NOOP is not set
132CONFIG_DEFAULT_IOSCHED="anticipatory" 149CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
133 151
134# 152#
135# Platform support 153# Platform support
@@ -140,16 +158,17 @@ CONFIG_PPC_MULTIPLATFORM=y
140# CONFIG_PPC_86xx is not set 158# CONFIG_PPC_86xx is not set
141CONFIG_CLASSIC32=y 159CONFIG_CLASSIC32=y
142CONFIG_PPC_CHRP=y 160CONFIG_PPC_CHRP=y
161# CONFIG_PPC_MPC512x is not set
162# CONFIG_PPC_MPC5121 is not set
163# CONFIG_MPC5121_ADS is not set
143# CONFIG_PPC_MPC52xx is not set 164# CONFIG_PPC_MPC52xx is not set
144# CONFIG_PPC_MPC5200 is not set
145# CONFIG_PPC_EFIKA is not set
146# CONFIG_PPC_LITE5200 is not set
147# CONFIG_PPC_PMAC is not set 165# CONFIG_PPC_PMAC is not set
148# CONFIG_PPC_CELL is not set 166# CONFIG_PPC_CELL is not set
149# CONFIG_PPC_CELL_NATIVE is not set 167# CONFIG_PPC_CELL_NATIVE is not set
150# CONFIG_PQ2ADS is not set 168# CONFIG_PQ2ADS is not set
151CONFIG_PPC_NATIVE=y 169CONFIG_PPC_NATIVE=y
152# CONFIG_UDBG_RTAS_CONSOLE is not set 170# CONFIG_UDBG_RTAS_CONSOLE is not set
171# CONFIG_IPIC is not set
153CONFIG_MPIC=y 172CONFIG_MPIC=y
154# CONFIG_MPIC_WEIRD is not set 173# CONFIG_MPIC_WEIRD is not set
155CONFIG_PPC_I8259=y 174CONFIG_PPC_I8259=y
@@ -163,7 +182,6 @@ CONFIG_PPC_MPC106=y
163# CONFIG_GENERIC_IOMAP is not set 182# CONFIG_GENERIC_IOMAP is not set
164# CONFIG_CPU_FREQ is not set 183# CONFIG_CPU_FREQ is not set
165# CONFIG_TAU is not set 184# CONFIG_TAU is not set
166# CONFIG_CPM2 is not set
167# CONFIG_FSL_ULI1575 is not set 185# CONFIG_FSL_ULI1575 is not set
168 186
169# 187#
@@ -179,13 +197,16 @@ CONFIG_HZ_250=y
179# CONFIG_HZ_300 is not set 197# CONFIG_HZ_300 is not set
180# CONFIG_HZ_1000 is not set 198# CONFIG_HZ_1000 is not set
181CONFIG_HZ=250 199CONFIG_HZ=250
200# CONFIG_SCHED_HRTICK is not set
182CONFIG_PREEMPT_NONE=y 201CONFIG_PREEMPT_NONE=y
183# CONFIG_PREEMPT_VOLUNTARY is not set 202# CONFIG_PREEMPT_VOLUNTARY is not set
184# CONFIG_PREEMPT is not set 203# CONFIG_PREEMPT is not set
185CONFIG_PREEMPT_BKL=y
186CONFIG_BINFMT_ELF=y 204CONFIG_BINFMT_ELF=y
187CONFIG_BINFMT_MISC=y 205CONFIG_BINFMT_MISC=y
206# CONFIG_IOMMU_HELPER is not set
188CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 207CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
208CONFIG_ARCH_HAS_WALK_MEMORY=y
209CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
189# CONFIG_KEXEC is not set 210# CONFIG_KEXEC is not set
190CONFIG_IRQ_ALL_CPUS=y 211CONFIG_IRQ_ALL_CPUS=y
191CONFIG_ARCH_FLATMEM_ENABLE=y 212CONFIG_ARCH_FLATMEM_ENABLE=y
@@ -207,7 +228,6 @@ CONFIG_PROC_DEVICETREE=y
207# CONFIG_CMDLINE_BOOL is not set 228# CONFIG_CMDLINE_BOOL is not set
208# CONFIG_PM is not set 229# CONFIG_PM is not set
209CONFIG_SECCOMP=y 230CONFIG_SECCOMP=y
210# CONFIG_WANT_DEVICE_TREE is not set
211CONFIG_ISA_DMA_API=y 231CONFIG_ISA_DMA_API=y
212 232
213# 233#
@@ -286,74 +306,32 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
286# CONFIG_NETWORK_SECMARK is not set 306# CONFIG_NETWORK_SECMARK is not set
287CONFIG_NETFILTER=y 307CONFIG_NETFILTER=y
288# CONFIG_NETFILTER_DEBUG is not set 308# CONFIG_NETFILTER_DEBUG is not set
309# CONFIG_NETFILTER_ADVANCED is not set
289 310
290# 311#
291# Core Netfilter Configuration 312# Core Netfilter Configuration
292# 313#
293# CONFIG_NETFILTER_NETLINK is not set 314CONFIG_NETFILTER_NETLINK=m
294CONFIG_NF_CONNTRACK_ENABLED=m 315CONFIG_NETFILTER_NETLINK_LOG=m
295CONFIG_NF_CONNTRACK=m 316CONFIG_NF_CONNTRACK=m
296# CONFIG_NF_CT_ACCT is not set
297# CONFIG_NF_CONNTRACK_MARK is not set
298# CONFIG_NF_CONNTRACK_EVENTS is not set
299# CONFIG_NF_CT_PROTO_SCTP is not set
300# CONFIG_NF_CT_PROTO_UDPLITE is not set
301# CONFIG_NF_CONNTRACK_AMANDA is not set
302CONFIG_NF_CONNTRACK_FTP=m 317CONFIG_NF_CONNTRACK_FTP=m
303# CONFIG_NF_CONNTRACK_H323 is not set
304CONFIG_NF_CONNTRACK_IRC=m 318CONFIG_NF_CONNTRACK_IRC=m
305# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
306# CONFIG_NF_CONNTRACK_PPTP is not set
307# CONFIG_NF_CONNTRACK_SANE is not set
308CONFIG_NF_CONNTRACK_SIP=m 319CONFIG_NF_CONNTRACK_SIP=m
309CONFIG_NF_CONNTRACK_TFTP=m 320CONFIG_NF_CT_NETLINK=m
310CONFIG_NETFILTER_XTABLES=m 321CONFIG_NETFILTER_XTABLES=m
311# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
312# CONFIG_NETFILTER_XT_TARGET_MARK is not set 322# CONFIG_NETFILTER_XT_TARGET_MARK is not set
313# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
314# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 323# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
315# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 324# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
316# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
317# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
318# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
319# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
320# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set 325# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
321# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
322# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
323# CONFIG_NETFILTER_XT_MATCH_ESP is not set
324# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
325# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
326# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
327# CONFIG_NETFILTER_XT_MATCH_MAC is not set
328# CONFIG_NETFILTER_XT_MATCH_MARK is not set 326# CONFIG_NETFILTER_XT_MATCH_MARK is not set
329# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
330# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
331# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
332# CONFIG_NETFILTER_XT_MATCH_REALM is not set
333# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
334# CONFIG_NETFILTER_XT_MATCH_STATE is not set 327# CONFIG_NETFILTER_XT_MATCH_STATE is not set
335# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
336# CONFIG_NETFILTER_XT_MATCH_STRING is not set
337# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
338# CONFIG_NETFILTER_XT_MATCH_TIME is not set
339# CONFIG_NETFILTER_XT_MATCH_U32 is not set
340# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
341 328
342# 329#
343# IP: Netfilter Configuration 330# IP: Netfilter Configuration
344# 331#
345CONFIG_NF_CONNTRACK_IPV4=m 332CONFIG_NF_CONNTRACK_IPV4=m
346CONFIG_NF_CONNTRACK_PROC_COMPAT=y 333CONFIG_NF_CONNTRACK_PROC_COMPAT=y
347# CONFIG_IP_NF_QUEUE is not set
348CONFIG_IP_NF_IPTABLES=m 334CONFIG_IP_NF_IPTABLES=m
349# CONFIG_IP_NF_MATCH_IPRANGE is not set
350# CONFIG_IP_NF_MATCH_TOS is not set
351# CONFIG_IP_NF_MATCH_RECENT is not set
352# CONFIG_IP_NF_MATCH_ECN is not set
353# CONFIG_IP_NF_MATCH_AH is not set
354# CONFIG_IP_NF_MATCH_TTL is not set
355# CONFIG_IP_NF_MATCH_OWNER is not set
356# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
357CONFIG_IP_NF_FILTER=m 335CONFIG_IP_NF_FILTER=m
358CONFIG_IP_NF_TARGET_REJECT=m 336CONFIG_IP_NF_TARGET_REJECT=m
359CONFIG_IP_NF_TARGET_LOG=m 337CONFIG_IP_NF_TARGET_LOG=m
@@ -361,20 +339,14 @@ CONFIG_IP_NF_TARGET_LOG=m
361CONFIG_NF_NAT=m 339CONFIG_NF_NAT=m
362CONFIG_NF_NAT_NEEDED=y 340CONFIG_NF_NAT_NEEDED=y
363CONFIG_IP_NF_TARGET_MASQUERADE=m 341CONFIG_IP_NF_TARGET_MASQUERADE=m
364CONFIG_IP_NF_TARGET_REDIRECT=m
365# CONFIG_IP_NF_TARGET_NETMAP is not set
366# CONFIG_IP_NF_TARGET_SAME is not set
367# CONFIG_NF_NAT_SNMP_BASIC is not set
368CONFIG_NF_NAT_FTP=m 342CONFIG_NF_NAT_FTP=m
369CONFIG_NF_NAT_IRC=m 343CONFIG_NF_NAT_IRC=m
370CONFIG_NF_NAT_TFTP=m 344# CONFIG_NF_NAT_TFTP is not set
371# CONFIG_NF_NAT_AMANDA is not set 345# CONFIG_NF_NAT_AMANDA is not set
372# CONFIG_NF_NAT_PPTP is not set 346# CONFIG_NF_NAT_PPTP is not set
373# CONFIG_NF_NAT_H323 is not set 347# CONFIG_NF_NAT_H323 is not set
374CONFIG_NF_NAT_SIP=m 348CONFIG_NF_NAT_SIP=m
375# CONFIG_IP_NF_MANGLE is not set 349# CONFIG_IP_NF_MANGLE is not set
376# CONFIG_IP_NF_RAW is not set
377# CONFIG_IP_NF_ARPTABLES is not set
378# CONFIG_IP_DCCP is not set 350# CONFIG_IP_DCCP is not set
379# CONFIG_IP_SCTP is not set 351# CONFIG_IP_SCTP is not set
380# CONFIG_TIPC is not set 352# CONFIG_TIPC is not set
@@ -396,6 +368,7 @@ CONFIG_NF_NAT_SIP=m
396# 368#
397# CONFIG_NET_PKTGEN is not set 369# CONFIG_NET_PKTGEN is not set
398# CONFIG_HAMRADIO is not set 370# CONFIG_HAMRADIO is not set
371# CONFIG_CAN is not set
399# CONFIG_IRDA is not set 372# CONFIG_IRDA is not set
400# CONFIG_BT is not set 373# CONFIG_BT is not set
401# CONFIG_AF_RXRPC is not set 374# CONFIG_AF_RXRPC is not set
@@ -445,7 +418,7 @@ CONFIG_BLK_DEV_LOOP=y
445CONFIG_BLK_DEV_RAM=y 418CONFIG_BLK_DEV_RAM=y
446CONFIG_BLK_DEV_RAM_COUNT=16 419CONFIG_BLK_DEV_RAM_COUNT=16
447CONFIG_BLK_DEV_RAM_SIZE=4096 420CONFIG_BLK_DEV_RAM_SIZE=4096
448CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 421# CONFIG_BLK_DEV_XIP is not set
449# CONFIG_CDROM_PKTCDVD is not set 422# CONFIG_CDROM_PKTCDVD is not set
450# CONFIG_ATA_OVER_ETH is not set 423# CONFIG_ATA_OVER_ETH is not set
451CONFIG_MISC_DEVICES=y 424CONFIG_MISC_DEVICES=y
@@ -453,16 +426,19 @@ CONFIG_MISC_DEVICES=y
453# CONFIG_EEPROM_93CX6 is not set 426# CONFIG_EEPROM_93CX6 is not set
454# CONFIG_SGI_IOC4 is not set 427# CONFIG_SGI_IOC4 is not set
455# CONFIG_TIFM_CORE is not set 428# CONFIG_TIFM_CORE is not set
429# CONFIG_ENCLOSURE_SERVICES is not set
430CONFIG_HAVE_IDE=y
456CONFIG_IDE=y 431CONFIG_IDE=y
457CONFIG_BLK_DEV_IDE=y 432CONFIG_BLK_DEV_IDE=y
458 433
459# 434#
460# Please see Documentation/ide.txt for help/info on IDE drives 435# Please see Documentation/ide/ide.txt for help/info on IDE drives
461# 436#
462# CONFIG_BLK_DEV_IDE_SATA is not set 437# CONFIG_BLK_DEV_IDE_SATA is not set
463CONFIG_BLK_DEV_IDEDISK=y 438CONFIG_BLK_DEV_IDEDISK=y
464CONFIG_IDEDISK_MULTI_MODE=y 439CONFIG_IDEDISK_MULTI_MODE=y
465CONFIG_BLK_DEV_IDECD=y 440CONFIG_BLK_DEV_IDECD=y
441CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
466# CONFIG_BLK_DEV_IDETAPE is not set 442# CONFIG_BLK_DEV_IDETAPE is not set
467# CONFIG_BLK_DEV_IDEFLOPPY is not set 443# CONFIG_BLK_DEV_IDEFLOPPY is not set
468# CONFIG_BLK_DEV_IDESCSI is not set 444# CONFIG_BLK_DEV_IDESCSI is not set
@@ -474,12 +450,12 @@ CONFIG_IDE_PROC_FS=y
474# 450#
475CONFIG_IDE_GENERIC=y 451CONFIG_IDE_GENERIC=y
476# CONFIG_BLK_DEV_PLATFORM is not set 452# CONFIG_BLK_DEV_PLATFORM is not set
453CONFIG_BLK_DEV_IDEDMA_SFF=y
477 454
478# 455#
479# PCI IDE chipsets support 456# PCI IDE chipsets support
480# 457#
481CONFIG_BLK_DEV_IDEPCI=y 458CONFIG_BLK_DEV_IDEPCI=y
482CONFIG_IDEPCI_SHARE_IRQ=y
483CONFIG_IDEPCI_PCIBUS_ORDER=y 459CONFIG_IDEPCI_PCIBUS_ORDER=y
484# CONFIG_BLK_DEV_OFFBOARD is not set 460# CONFIG_BLK_DEV_OFFBOARD is not set
485CONFIG_BLK_DEV_GENERIC=y 461CONFIG_BLK_DEV_GENERIC=y
@@ -510,7 +486,6 @@ CONFIG_BLK_DEV_SL82C105=y
510# CONFIG_BLK_DEV_TRM290 is not set 486# CONFIG_BLK_DEV_TRM290 is not set
511CONFIG_BLK_DEV_VIA82CXXX=y 487CONFIG_BLK_DEV_VIA82CXXX=y
512# CONFIG_BLK_DEV_TC86C001 is not set 488# CONFIG_BLK_DEV_TC86C001 is not set
513# CONFIG_IDE_ARM is not set
514 489
515# 490#
516# Other IDE chipsets support 491# Other IDE chipsets support
@@ -599,6 +574,7 @@ CONFIG_SCSI_LOWLEVEL=y
599# CONFIG_SCSI_IPS is not set 574# CONFIG_SCSI_IPS is not set
600# CONFIG_SCSI_INITIO is not set 575# CONFIG_SCSI_INITIO is not set
601# CONFIG_SCSI_INIA100 is not set 576# CONFIG_SCSI_INIA100 is not set
577# CONFIG_SCSI_MVSAS is not set
602# CONFIG_SCSI_NCR53C406A is not set 578# CONFIG_SCSI_NCR53C406A is not set
603# CONFIG_SCSI_STEX is not set 579# CONFIG_SCSI_STEX is not set
604CONFIG_SCSI_SYM53C8XX_2=y 580CONFIG_SCSI_SYM53C8XX_2=y
@@ -607,7 +583,6 @@ CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
607CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 583CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
608CONFIG_SCSI_SYM53C8XX_MMIO=y 584CONFIG_SCSI_SYM53C8XX_MMIO=y
609# CONFIG_SCSI_PAS16 is not set 585# CONFIG_SCSI_PAS16 is not set
610# CONFIG_SCSI_PSI240I is not set
611# CONFIG_SCSI_QLOGIC_FAS is not set 586# CONFIG_SCSI_QLOGIC_FAS is not set
612# CONFIG_SCSI_QLOGIC_1280 is not set 587# CONFIG_SCSI_QLOGIC_1280 is not set
613# CONFIG_SCSI_QLA_FC is not set 588# CONFIG_SCSI_QLA_FC is not set
@@ -640,7 +615,6 @@ CONFIG_NETDEVICES=y
640# CONFIG_EQUALIZER is not set 615# CONFIG_EQUALIZER is not set
641# CONFIG_TUN is not set 616# CONFIG_TUN is not set
642# CONFIG_VETH is not set 617# CONFIG_VETH is not set
643# CONFIG_IP1000 is not set
644# CONFIG_ARCNET is not set 618# CONFIG_ARCNET is not set
645# CONFIG_PHYLIB is not set 619# CONFIG_PHYLIB is not set
646CONFIG_NET_ETHERNET=y 620CONFIG_NET_ETHERNET=y
@@ -688,6 +662,7 @@ CONFIG_8139TOO=y
688# CONFIG_8139TOO_TUNE_TWISTER is not set 662# CONFIG_8139TOO_TUNE_TWISTER is not set
689# CONFIG_8139TOO_8129 is not set 663# CONFIG_8139TOO_8129 is not set
690# CONFIG_8139_OLD_RX_RESET is not set 664# CONFIG_8139_OLD_RX_RESET is not set
665# CONFIG_R6040 is not set
691# CONFIG_SIS900 is not set 666# CONFIG_SIS900 is not set
692# CONFIG_EPIC100 is not set 667# CONFIG_EPIC100 is not set
693# CONFIG_SUNDANCE is not set 668# CONFIG_SUNDANCE is not set
@@ -701,6 +676,9 @@ CONFIG_NETDEV_1000=y
701# CONFIG_DL2K is not set 676# CONFIG_DL2K is not set
702# CONFIG_E1000 is not set 677# CONFIG_E1000 is not set
703# CONFIG_E1000E is not set 678# CONFIG_E1000E is not set
679# CONFIG_E1000E_ENABLED is not set
680# CONFIG_IP1000 is not set
681# CONFIG_IGB is not set
704# CONFIG_NS83820 is not set 682# CONFIG_NS83820 is not set
705# CONFIG_HAMACHI is not set 683# CONFIG_HAMACHI is not set
706# CONFIG_YELLOWFIN is not set 684# CONFIG_YELLOWFIN is not set
@@ -726,6 +704,7 @@ CONFIG_NETDEV_10000=y
726# CONFIG_NIU is not set 704# CONFIG_NIU is not set
727# CONFIG_MLX4_CORE is not set 705# CONFIG_MLX4_CORE is not set
728# CONFIG_TEHUTI is not set 706# CONFIG_TEHUTI is not set
707# CONFIG_BNX2X is not set
729# CONFIG_TR is not set 708# CONFIG_TR is not set
730 709
731# 710#
@@ -758,7 +737,6 @@ CONFIG_PPPOE=m
758# CONFIG_SLIP is not set 737# CONFIG_SLIP is not set
759CONFIG_SLHC=m 738CONFIG_SLHC=m
760# CONFIG_NET_FC is not set 739# CONFIG_NET_FC is not set
761# CONFIG_SHAPER is not set
762# CONFIG_NETCONSOLE is not set 740# CONFIG_NETCONSOLE is not set
763# CONFIG_NETPOLL is not set 741# CONFIG_NETPOLL is not set
764# CONFIG_NET_POLL_CONTROLLER is not set 742# CONFIG_NET_POLL_CONTROLLER is not set
@@ -838,6 +816,7 @@ CONFIG_VT_CONSOLE=y
838CONFIG_HW_CONSOLE=y 816CONFIG_HW_CONSOLE=y
839# CONFIG_VT_HW_CONSOLE_BINDING is not set 817# CONFIG_VT_HW_CONSOLE_BINDING is not set
840# CONFIG_SERIAL_NONSTANDARD is not set 818# CONFIG_SERIAL_NONSTANDARD is not set
819# CONFIG_NOZOMI is not set
841 820
842# 821#
843# Serial drivers 822# Serial drivers
@@ -917,14 +896,12 @@ CONFIG_I2C_ALGOBIT=y
917# 896#
918# Miscellaneous I2C Chip support 897# Miscellaneous I2C Chip support
919# 898#
920# CONFIG_SENSORS_DS1337 is not set
921# CONFIG_SENSORS_DS1374 is not set
922# CONFIG_DS1682 is not set 899# CONFIG_DS1682 is not set
923# CONFIG_SENSORS_EEPROM is not set 900# CONFIG_SENSORS_EEPROM is not set
924# CONFIG_SENSORS_PCF8574 is not set 901# CONFIG_SENSORS_PCF8574 is not set
925# CONFIG_SENSORS_PCA9539 is not set 902# CONFIG_PCF8575 is not set
926# CONFIG_SENSORS_PCF8591 is not set 903# CONFIG_SENSORS_PCF8591 is not set
927# CONFIG_SENSORS_M41T00 is not set 904# CONFIG_TPS65010 is not set
928# CONFIG_SENSORS_MAX6875 is not set 905# CONFIG_SENSORS_MAX6875 is not set
929# CONFIG_SENSORS_TSL2550 is not set 906# CONFIG_SENSORS_TSL2550 is not set
930# CONFIG_I2C_DEBUG_CORE is not set 907# CONFIG_I2C_DEBUG_CORE is not set
@@ -940,6 +917,7 @@ CONFIG_I2C_ALGOBIT=y
940# CONFIG_W1 is not set 917# CONFIG_W1 is not set
941# CONFIG_POWER_SUPPLY is not set 918# CONFIG_POWER_SUPPLY is not set
942# CONFIG_HWMON is not set 919# CONFIG_HWMON is not set
920# CONFIG_THERMAL is not set
943# CONFIG_WATCHDOG is not set 921# CONFIG_WATCHDOG is not set
944 922
945# 923#
@@ -1083,6 +1061,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1083CONFIG_USB_ARCH_HAS_EHCI=y 1061CONFIG_USB_ARCH_HAS_EHCI=y
1084CONFIG_USB=y 1062CONFIG_USB=y
1085# CONFIG_USB_DEBUG is not set 1063# CONFIG_USB_DEBUG is not set
1064# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1086 1065
1087# 1066#
1088# Miscellaneous USB options 1067# Miscellaneous USB options
@@ -1096,9 +1075,9 @@ CONFIG_USB_DEVICE_CLASS=y
1096# USB Host Controller Drivers 1075# USB Host Controller Drivers
1097# 1076#
1098CONFIG_USB_EHCI_HCD=m 1077CONFIG_USB_EHCI_HCD=m
1099# CONFIG_USB_EHCI_SPLIT_ISO is not set
1100# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1078# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1101# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1079# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1080# CONFIG_USB_EHCI_HCD_PPC_OF is not set
1102# CONFIG_USB_ISP116X_HCD is not set 1081# CONFIG_USB_ISP116X_HCD is not set
1103CONFIG_USB_OHCI_HCD=y 1082CONFIG_USB_OHCI_HCD=y
1104# CONFIG_USB_OHCI_HCD_PPC_OF is not set 1083# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -1147,10 +1126,6 @@ CONFIG_USB_MON=y
1147# 1126#
1148# USB port drivers 1127# USB port drivers
1149# 1128#
1150
1151#
1152# USB Serial Converter support
1153#
1154# CONFIG_USB_SERIAL is not set 1129# CONFIG_USB_SERIAL is not set
1155 1130
1156# 1131#
@@ -1176,20 +1151,14 @@ CONFIG_USB_MON=y
1176# CONFIG_USB_TRANCEVIBRATOR is not set 1151# CONFIG_USB_TRANCEVIBRATOR is not set
1177# CONFIG_USB_IOWARRIOR is not set 1152# CONFIG_USB_IOWARRIOR is not set
1178# CONFIG_USB_TEST is not set 1153# CONFIG_USB_TEST is not set
1179
1180#
1181# USB DSL modem support
1182#
1183
1184#
1185# USB Gadget Support
1186#
1187# CONFIG_USB_GADGET is not set 1154# CONFIG_USB_GADGET is not set
1188# CONFIG_MMC is not set 1155# CONFIG_MMC is not set
1156# CONFIG_MEMSTICK is not set
1189# CONFIG_NEW_LEDS is not set 1157# CONFIG_NEW_LEDS is not set
1190# CONFIG_INFINIBAND is not set 1158# CONFIG_INFINIBAND is not set
1191# CONFIG_EDAC is not set 1159# CONFIG_EDAC is not set
1192# CONFIG_RTC_CLASS is not set 1160# CONFIG_RTC_CLASS is not set
1161# CONFIG_DMADEVICES is not set
1193 1162
1194# 1163#
1195# Userspace I/O 1164# Userspace I/O
@@ -1215,12 +1184,10 @@ CONFIG_FS_MBCACHE=y
1215# CONFIG_XFS_FS is not set 1184# CONFIG_XFS_FS is not set
1216# CONFIG_GFS2_FS is not set 1185# CONFIG_GFS2_FS is not set
1217# CONFIG_OCFS2_FS is not set 1186# CONFIG_OCFS2_FS is not set
1218# CONFIG_MINIX_FS is not set 1187CONFIG_DNOTIFY=y
1219# CONFIG_ROMFS_FS is not set
1220CONFIG_INOTIFY=y 1188CONFIG_INOTIFY=y
1221CONFIG_INOTIFY_USER=y 1189CONFIG_INOTIFY_USER=y
1222# CONFIG_QUOTA is not set 1190# CONFIG_QUOTA is not set
1223CONFIG_DNOTIFY=y
1224# CONFIG_AUTOFS_FS is not set 1191# CONFIG_AUTOFS_FS is not set
1225# CONFIG_AUTOFS4_FS is not set 1192# CONFIG_AUTOFS4_FS is not set
1226# CONFIG_FUSE_FS is not set 1193# CONFIG_FUSE_FS is not set
@@ -1267,8 +1234,10 @@ CONFIG_TMPFS=y
1267# CONFIG_EFS_FS is not set 1234# CONFIG_EFS_FS is not set
1268# CONFIG_CRAMFS is not set 1235# CONFIG_CRAMFS is not set
1269# CONFIG_VXFS_FS is not set 1236# CONFIG_VXFS_FS is not set
1237# CONFIG_MINIX_FS is not set
1270# CONFIG_HPFS_FS is not set 1238# CONFIG_HPFS_FS is not set
1271# CONFIG_QNX4FS_FS is not set 1239# CONFIG_QNX4FS_FS is not set
1240# CONFIG_ROMFS_FS is not set
1272# CONFIG_SYSV_FS is not set 1241# CONFIG_SYSV_FS is not set
1273# CONFIG_UFS_FS is not set 1242# CONFIG_UFS_FS is not set
1274CONFIG_NETWORK_FILESYSTEMS=y 1243CONFIG_NETWORK_FILESYSTEMS=y
@@ -1342,7 +1311,6 @@ CONFIG_NLS_ISO8859_1=m
1342# CONFIG_NLS_KOI8_U is not set 1311# CONFIG_NLS_KOI8_U is not set
1343# CONFIG_NLS_UTF8 is not set 1312# CONFIG_NLS_UTF8 is not set
1344# CONFIG_DLM is not set 1313# CONFIG_DLM is not set
1345# CONFIG_UCC_SLOW is not set
1346 1314
1347# 1315#
1348# Library routines 1316# Library routines
@@ -1360,10 +1328,6 @@ CONFIG_PLIST=y
1360CONFIG_HAS_IOMEM=y 1328CONFIG_HAS_IOMEM=y
1361CONFIG_HAS_IOPORT=y 1329CONFIG_HAS_IOPORT=y
1362CONFIG_HAS_DMA=y 1330CONFIG_HAS_DMA=y
1363CONFIG_INSTRUMENTATION=y
1364# CONFIG_PROFILING is not set
1365# CONFIG_KPROBES is not set
1366# CONFIG_MARKERS is not set
1367 1331
1368# 1332#
1369# Kernel hacking 1333# Kernel hacking
@@ -1382,6 +1346,7 @@ CONFIG_SCHED_DEBUG=y
1382# CONFIG_SCHEDSTATS is not set 1346# CONFIG_SCHEDSTATS is not set
1383# CONFIG_TIMER_STATS is not set 1347# CONFIG_TIMER_STATS is not set
1384# CONFIG_SLUB_DEBUG_ON is not set 1348# CONFIG_SLUB_DEBUG_ON is not set
1349# CONFIG_SLUB_STATS is not set
1385# CONFIG_DEBUG_RT_MUTEXES is not set 1350# CONFIG_DEBUG_RT_MUTEXES is not set
1386# CONFIG_RT_MUTEX_TESTER is not set 1351# CONFIG_RT_MUTEX_TESTER is not set
1387# CONFIG_DEBUG_SPINLOCK is not set 1352# CONFIG_DEBUG_SPINLOCK is not set
@@ -1395,9 +1360,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1395# CONFIG_DEBUG_VM is not set 1360# CONFIG_DEBUG_VM is not set
1396# CONFIG_DEBUG_LIST is not set 1361# CONFIG_DEBUG_LIST is not set
1397# CONFIG_DEBUG_SG is not set 1362# CONFIG_DEBUG_SG is not set
1398CONFIG_FORCED_INLINING=y
1399# CONFIG_BOOT_PRINTK_DELAY is not set 1363# CONFIG_BOOT_PRINTK_DELAY is not set
1400# CONFIG_RCU_TORTURE_TEST is not set 1364# CONFIG_RCU_TORTURE_TEST is not set
1365# CONFIG_BACKTRACE_SELF_TEST is not set
1401# CONFIG_FAULT_INJECTION is not set 1366# CONFIG_FAULT_INJECTION is not set
1402# CONFIG_SAMPLES is not set 1367# CONFIG_SAMPLES is not set
1403# CONFIG_DEBUG_STACKOVERFLOW is not set 1368# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1420,6 +1385,7 @@ CONFIG_XMON_DISASSEMBLY=y
1420CONFIG_CRYPTO=y 1385CONFIG_CRYPTO=y
1421CONFIG_CRYPTO_ALGAPI=m 1386CONFIG_CRYPTO_ALGAPI=m
1422CONFIG_CRYPTO_BLKCIPHER=m 1387CONFIG_CRYPTO_BLKCIPHER=m
1388# CONFIG_CRYPTO_SEQIV is not set
1423CONFIG_CRYPTO_MANAGER=m 1389CONFIG_CRYPTO_MANAGER=m
1424# CONFIG_CRYPTO_HMAC is not set 1390# CONFIG_CRYPTO_HMAC is not set
1425# CONFIG_CRYPTO_XCBC is not set 1391# CONFIG_CRYPTO_XCBC is not set
@@ -1437,6 +1403,9 @@ CONFIG_CRYPTO_CBC=m
1437CONFIG_CRYPTO_PCBC=m 1403CONFIG_CRYPTO_PCBC=m
1438# CONFIG_CRYPTO_LRW is not set 1404# CONFIG_CRYPTO_LRW is not set
1439# CONFIG_CRYPTO_XTS is not set 1405# CONFIG_CRYPTO_XTS is not set
1406# CONFIG_CRYPTO_CTR is not set
1407# CONFIG_CRYPTO_GCM is not set
1408# CONFIG_CRYPTO_CCM is not set
1440# CONFIG_CRYPTO_CRYPTD is not set 1409# CONFIG_CRYPTO_CRYPTD is not set
1441# CONFIG_CRYPTO_DES is not set 1410# CONFIG_CRYPTO_DES is not set
1442# CONFIG_CRYPTO_FCRYPT is not set 1411# CONFIG_CRYPTO_FCRYPT is not set
@@ -1451,11 +1420,13 @@ CONFIG_CRYPTO_ARC4=m
1451# CONFIG_CRYPTO_KHAZAD is not set 1420# CONFIG_CRYPTO_KHAZAD is not set
1452# CONFIG_CRYPTO_ANUBIS is not set 1421# CONFIG_CRYPTO_ANUBIS is not set
1453# CONFIG_CRYPTO_SEED is not set 1422# CONFIG_CRYPTO_SEED is not set
1423# CONFIG_CRYPTO_SALSA20 is not set
1454# CONFIG_CRYPTO_DEFLATE is not set 1424# CONFIG_CRYPTO_DEFLATE is not set
1455# CONFIG_CRYPTO_MICHAEL_MIC is not set 1425# CONFIG_CRYPTO_MICHAEL_MIC is not set
1456# CONFIG_CRYPTO_CRC32C is not set 1426# CONFIG_CRYPTO_CRC32C is not set
1457# CONFIG_CRYPTO_CAMELLIA is not set 1427# CONFIG_CRYPTO_CAMELLIA is not set
1458# CONFIG_CRYPTO_TEST is not set 1428# CONFIG_CRYPTO_TEST is not set
1459# CONFIG_CRYPTO_AUTHENC is not set 1429# CONFIG_CRYPTO_AUTHENC is not set
1430# CONFIG_CRYPTO_LZO is not set
1460# CONFIG_CRYPTO_HW is not set 1431# CONFIG_CRYPTO_HW is not set
1461# CONFIG_PPC_CLOCK is not set 1432# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index 01ad5951ade..2b1504e0a11 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.24-rc6 3# Linux kernel version: 2.6.25-rc6
4# Fri Jan 11 14:02:06 2008 4# Mon Mar 24 08:48:09 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -69,11 +70,14 @@ CONFIG_IKCONFIG=y
69CONFIG_IKCONFIG_PROC=y 70CONFIG_IKCONFIG_PROC=y
70CONFIG_LOG_BUF_SHIFT=14 71CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set 72# CONFIG_CGROUPS is not set
73CONFIG_GROUP_SCHED=y
72CONFIG_FAIR_GROUP_SCHED=y 74CONFIG_FAIR_GROUP_SCHED=y
73CONFIG_FAIR_USER_SCHED=y 75CONFIG_USER_SCHED=y
74# CONFIG_FAIR_CGROUP_SCHED is not set 76# CONFIG_CGROUP_SCHED is not set
75CONFIG_SYSFS_DEPRECATED=y 77CONFIG_SYSFS_DEPRECATED=y
78CONFIG_SYSFS_DEPRECATED_V2=y
76# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
80# CONFIG_NAMESPACES is not set
77# CONFIG_BLK_DEV_INITRD is not set 81# CONFIG_BLK_DEV_INITRD is not set
78CONFIG_SYSCTL=y 82CONFIG_SYSCTL=y
79CONFIG_EMBEDDED=y 83CONFIG_EMBEDDED=y
@@ -85,17 +89,26 @@ CONFIG_HOTPLUG=y
85CONFIG_PRINTK=y 89CONFIG_PRINTK=y
86CONFIG_BUG=y 90CONFIG_BUG=y
87CONFIG_ELF_CORE=y 91CONFIG_ELF_CORE=y
92CONFIG_COMPAT_BRK=y
88CONFIG_BASE_FULL=y 93CONFIG_BASE_FULL=y
89CONFIG_FUTEX=y 94CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y 95CONFIG_ANON_INODES=y
91CONFIG_EPOLL=y 96CONFIG_EPOLL=y
92CONFIG_SIGNALFD=y 97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
93CONFIG_EVENTFD=y 99CONFIG_EVENTFD=y
94CONFIG_SHMEM=y 100CONFIG_SHMEM=y
95CONFIG_VM_EVENT_COUNTERS=y 101CONFIG_VM_EVENT_COUNTERS=y
96CONFIG_SLAB=y 102CONFIG_SLAB=y
97# CONFIG_SLUB is not set 103# CONFIG_SLUB is not set
98# CONFIG_SLOB is not set 104# CONFIG_SLOB is not set
105# CONFIG_PROFILING is not set
106# CONFIG_MARKERS is not set
107CONFIG_HAVE_OPROFILE=y
108CONFIG_HAVE_KPROBES=y
109CONFIG_HAVE_KRETPROBES=y
110CONFIG_PROC_PAGE_MONITOR=y
111CONFIG_SLABINFO=y
99CONFIG_RT_MUTEXES=y 112CONFIG_RT_MUTEXES=y
100# CONFIG_TINY_SHMEM is not set 113# CONFIG_TINY_SHMEM is not set
101CONFIG_BASE_SMALL=0 114CONFIG_BASE_SMALL=0
@@ -117,6 +130,7 @@ CONFIG_DEFAULT_DEADLINE=y
117# CONFIG_DEFAULT_CFQ is not set 130# CONFIG_DEFAULT_CFQ is not set
118# CONFIG_DEFAULT_NOOP is not set 131# CONFIG_DEFAULT_NOOP is not set
119CONFIG_DEFAULT_IOSCHED="deadline" 132CONFIG_DEFAULT_IOSCHED="deadline"
133CONFIG_CLASSIC_RCU=y
120 134
121# 135#
122# Platform support 136# Platform support
@@ -125,8 +139,8 @@ CONFIG_DEFAULT_IOSCHED="deadline"
125CONFIG_PPC_82xx=y 139CONFIG_PPC_82xx=y
126# CONFIG_PPC_83xx is not set 140# CONFIG_PPC_83xx is not set
127# CONFIG_PPC_86xx is not set 141# CONFIG_PPC_86xx is not set
128# CONFIG_PPC_MPC52xx is not set 142# CONFIG_PPC_MPC512x is not set
129# CONFIG_PPC_MPC5200 is not set 143# CONFIG_PPC_MPC5121 is not set
130# CONFIG_PPC_CELL is not set 144# CONFIG_PPC_CELL is not set
131# CONFIG_PPC_CELL_NATIVE is not set 145# CONFIG_PPC_CELL_NATIVE is not set
132# CONFIG_MPC8272_ADS is not set 146# CONFIG_MPC8272_ADS is not set
@@ -135,6 +149,7 @@ CONFIG_EP8248E=y
135# CONFIG_PQ2ADS is not set 149# CONFIG_PQ2ADS is not set
136CONFIG_8260=y 150CONFIG_8260=y
137CONFIG_8272=y 151CONFIG_8272=y
152# CONFIG_IPIC is not set
138# CONFIG_MPIC is not set 153# CONFIG_MPIC is not set
139# CONFIG_MPIC_WEIRD is not set 154# CONFIG_MPIC_WEIRD is not set
140# CONFIG_PPC_I8259 is not set 155# CONFIG_PPC_I8259 is not set
@@ -163,12 +178,16 @@ CONFIG_HZ_250=y
163# CONFIG_HZ_300 is not set 178# CONFIG_HZ_300 is not set
164# CONFIG_HZ_1000 is not set 179# CONFIG_HZ_1000 is not set
165CONFIG_HZ=250 180CONFIG_HZ=250
181# CONFIG_SCHED_HRTICK is not set
166CONFIG_PREEMPT_NONE=y 182CONFIG_PREEMPT_NONE=y
167# CONFIG_PREEMPT_VOLUNTARY is not set 183# CONFIG_PREEMPT_VOLUNTARY is not set
168# CONFIG_PREEMPT is not set 184# CONFIG_PREEMPT is not set
169CONFIG_BINFMT_ELF=y 185CONFIG_BINFMT_ELF=y
170CONFIG_BINFMT_MISC=y 186CONFIG_BINFMT_MISC=y
187# CONFIG_IOMMU_HELPER is not set
171CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 188CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
189CONFIG_ARCH_HAS_WALK_MEMORY=y
190CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
172CONFIG_ARCH_FLATMEM_ENABLE=y 191CONFIG_ARCH_FLATMEM_ENABLE=y
173CONFIG_ARCH_POPULATES_NODE_MAP=y 192CONFIG_ARCH_POPULATES_NODE_MAP=y
174CONFIG_FLATMEM=y 193CONFIG_FLATMEM=y
@@ -183,11 +202,7 @@ CONFIG_VIRT_TO_BUS=y
183CONFIG_PROC_DEVICETREE=y 202CONFIG_PROC_DEVICETREE=y
184# CONFIG_CMDLINE_BOOL is not set 203# CONFIG_CMDLINE_BOOL is not set
185# CONFIG_PM is not set 204# CONFIG_PM is not set
186CONFIG_SUSPEND_UP_POSSIBLE=y
187CONFIG_HIBERNATION_UP_POSSIBLE=y
188# CONFIG_SECCOMP is not set 205# CONFIG_SECCOMP is not set
189CONFIG_WANT_DEVICE_TREE=y
190CONFIG_DEVICE_TREE="ep8248e.dts"
191CONFIG_ISA_DMA_API=y 206CONFIG_ISA_DMA_API=y
192 207
193# 208#
@@ -272,12 +287,13 @@ CONFIG_IPV6_SIT=y
272# CONFIG_NETWORK_SECMARK is not set 287# CONFIG_NETWORK_SECMARK is not set
273CONFIG_NETFILTER=y 288CONFIG_NETFILTER=y
274# CONFIG_NETFILTER_DEBUG is not set 289# CONFIG_NETFILTER_DEBUG is not set
290CONFIG_NETFILTER_ADVANCED=y
275 291
276# 292#
277# Core Netfilter Configuration 293# Core Netfilter Configuration
278# 294#
279# CONFIG_NETFILTER_NETLINK is not set 295# CONFIG_NETFILTER_NETLINK_QUEUE is not set
280# CONFIG_NF_CONNTRACK_ENABLED is not set 296# CONFIG_NETFILTER_NETLINK_LOG is not set
281# CONFIG_NF_CONNTRACK is not set 297# CONFIG_NF_CONNTRACK is not set
282# CONFIG_NETFILTER_XTABLES is not set 298# CONFIG_NETFILTER_XTABLES is not set
283 299
@@ -287,6 +303,13 @@ CONFIG_NETFILTER=y
287# CONFIG_IP_NF_QUEUE is not set 303# CONFIG_IP_NF_QUEUE is not set
288# CONFIG_IP_NF_IPTABLES is not set 304# CONFIG_IP_NF_IPTABLES is not set
289# CONFIG_IP_NF_ARPTABLES is not set 305# CONFIG_IP_NF_ARPTABLES is not set
306
307#
308# IPv6: Netfilter Configuration
309#
310# CONFIG_IP6_NF_QUEUE is not set
311# CONFIG_IP6_NF_IPTABLES is not set
312# CONFIG_ATM is not set
290# CONFIG_BRIDGE is not set 313# CONFIG_BRIDGE is not set
291# CONFIG_VLAN_8021Q is not set 314# CONFIG_VLAN_8021Q is not set
292# CONFIG_DECNET is not set 315# CONFIG_DECNET is not set
@@ -300,6 +323,7 @@ CONFIG_NETFILTER=y
300# 323#
301# CONFIG_NET_PKTGEN is not set 324# CONFIG_NET_PKTGEN is not set
302# CONFIG_HAMRADIO is not set 325# CONFIG_HAMRADIO is not set
326# CONFIG_CAN is not set
303# CONFIG_IRDA is not set 327# CONFIG_IRDA is not set
304# CONFIG_BT is not set 328# CONFIG_BT is not set
305 329
@@ -308,6 +332,7 @@ CONFIG_NETFILTER=y
308# 332#
309# CONFIG_CFG80211 is not set 333# CONFIG_CFG80211 is not set
310# CONFIG_WIRELESS_EXT is not set 334# CONFIG_WIRELESS_EXT is not set
335# CONFIG_MAC80211 is not set
311# CONFIG_IEEE80211 is not set 336# CONFIG_IEEE80211 is not set
312# CONFIG_RFKILL is not set 337# CONFIG_RFKILL is not set
313 338
@@ -415,6 +440,7 @@ CONFIG_BLK_DEV_LOOP=y
415# CONFIG_CDROM_PKTCDVD is not set 440# CONFIG_CDROM_PKTCDVD is not set
416# CONFIG_ATA_OVER_ETH is not set 441# CONFIG_ATA_OVER_ETH is not set
417# CONFIG_MISC_DEVICES is not set 442# CONFIG_MISC_DEVICES is not set
443CONFIG_HAVE_IDE=y
418# CONFIG_IDE is not set 444# CONFIG_IDE is not set
419 445
420# 446#
@@ -448,6 +474,7 @@ CONFIG_DAVICOM_PHY=y
448# CONFIG_SMSC_PHY is not set 474# CONFIG_SMSC_PHY is not set
449# CONFIG_BROADCOM_PHY is not set 475# CONFIG_BROADCOM_PHY is not set
450# CONFIG_ICPLUS_PHY is not set 476# CONFIG_ICPLUS_PHY is not set
477# CONFIG_REALTEK_PHY is not set
451# CONFIG_FIXED_PHY is not set 478# CONFIG_FIXED_PHY is not set
452CONFIG_MDIO_BITBANG=y 479CONFIG_MDIO_BITBANG=y
453CONFIG_NET_ETHERNET=y 480CONFIG_NET_ETHERNET=y
@@ -462,6 +489,8 @@ CONFIG_FS_ENET=y
462CONFIG_FS_ENET_HAS_FCC=y 489CONFIG_FS_ENET_HAS_FCC=y
463# CONFIG_FS_ENET_MDIO_FCC is not set 490# CONFIG_FS_ENET_MDIO_FCC is not set
464CONFIG_NETDEV_1000=y 491CONFIG_NETDEV_1000=y
492# CONFIG_E1000E_ENABLED is not set
493# CONFIG_GIANFAR is not set
465CONFIG_NETDEV_10000=y 494CONFIG_NETDEV_10000=y
466 495
467# 496#
@@ -532,6 +561,7 @@ CONFIG_HW_RANDOM=y
532# CONFIG_W1 is not set 561# CONFIG_W1 is not set
533# CONFIG_POWER_SUPPLY is not set 562# CONFIG_POWER_SUPPLY is not set
534# CONFIG_HWMON is not set 563# CONFIG_HWMON is not set
564# CONFIG_THERMAL is not set
535# CONFIG_WATCHDOG is not set 565# CONFIG_WATCHDOG is not set
536 566
537# 567#
@@ -571,8 +601,10 @@ CONFIG_DAB=y
571# CONFIG_SOUND is not set 601# CONFIG_SOUND is not set
572# CONFIG_USB_SUPPORT is not set 602# CONFIG_USB_SUPPORT is not set
573# CONFIG_MMC is not set 603# CONFIG_MMC is not set
604# CONFIG_MEMSTICK is not set
574# CONFIG_NEW_LEDS is not set 605# CONFIG_NEW_LEDS is not set
575# CONFIG_RTC_CLASS is not set 606# CONFIG_RTC_CLASS is not set
607# CONFIG_DMADEVICES is not set
576 608
577# 609#
578# Userspace I/O 610# Userspace I/O
@@ -593,12 +625,10 @@ CONFIG_JBD=y
593# CONFIG_FS_POSIX_ACL is not set 625# CONFIG_FS_POSIX_ACL is not set
594# CONFIG_XFS_FS is not set 626# CONFIG_XFS_FS is not set
595# CONFIG_OCFS2_FS is not set 627# CONFIG_OCFS2_FS is not set
596# CONFIG_MINIX_FS is not set 628CONFIG_DNOTIFY=y
597# CONFIG_ROMFS_FS is not set
598CONFIG_INOTIFY=y 629CONFIG_INOTIFY=y
599CONFIG_INOTIFY_USER=y 630CONFIG_INOTIFY_USER=y
600# CONFIG_QUOTA is not set 631# CONFIG_QUOTA is not set
601CONFIG_DNOTIFY=y
602# CONFIG_AUTOFS_FS is not set 632# CONFIG_AUTOFS_FS is not set
603CONFIG_AUTOFS4_FS=y 633CONFIG_AUTOFS4_FS=y
604# CONFIG_FUSE_FS is not set 634# CONFIG_FUSE_FS is not set
@@ -626,6 +656,7 @@ CONFIG_SYSFS=y
626CONFIG_TMPFS=y 656CONFIG_TMPFS=y
627# CONFIG_TMPFS_POSIX_ACL is not set 657# CONFIG_TMPFS_POSIX_ACL is not set
628# CONFIG_HUGETLB_PAGE is not set 658# CONFIG_HUGETLB_PAGE is not set
659# CONFIG_CONFIGFS_FS is not set
629 660
630# 661#
631# Miscellaneous filesystems 662# Miscellaneous filesystems
@@ -634,8 +665,10 @@ CONFIG_TMPFS=y
634# CONFIG_JFFS2_FS is not set 665# CONFIG_JFFS2_FS is not set
635CONFIG_CRAMFS=y 666CONFIG_CRAMFS=y
636# CONFIG_VXFS_FS is not set 667# CONFIG_VXFS_FS is not set
668# CONFIG_MINIX_FS is not set
637# CONFIG_HPFS_FS is not set 669# CONFIG_HPFS_FS is not set
638# CONFIG_QNX4FS_FS is not set 670# CONFIG_QNX4FS_FS is not set
671# CONFIG_ROMFS_FS is not set
639# CONFIG_SYSV_FS is not set 672# CONFIG_SYSV_FS is not set
640# CONFIG_UFS_FS is not set 673# CONFIG_UFS_FS is not set
641CONFIG_NETWORK_FILESYSTEMS=y 674CONFIG_NETWORK_FILESYSTEMS=y
@@ -715,7 +748,6 @@ CONFIG_NLS_ISO8859_1=y
715# CONFIG_NLS_KOI8_R is not set 748# CONFIG_NLS_KOI8_R is not set
716# CONFIG_NLS_KOI8_U is not set 749# CONFIG_NLS_KOI8_U is not set
717CONFIG_NLS_UTF8=y 750CONFIG_NLS_UTF8=y
718# CONFIG_UCC_SLOW is not set
719 751
720# 752#
721# Library routines 753# Library routines
@@ -731,9 +763,6 @@ CONFIG_PLIST=y
731CONFIG_HAS_IOMEM=y 763CONFIG_HAS_IOMEM=y
732CONFIG_HAS_IOPORT=y 764CONFIG_HAS_IOPORT=y
733CONFIG_HAS_DMA=y 765CONFIG_HAS_DMA=y
734CONFIG_INSTRUMENTATION=y
735# CONFIG_PROFILING is not set
736# CONFIG_MARKERS is not set
737 766
738# 767#
739# Kernel hacking 768# Kernel hacking
@@ -764,8 +793,8 @@ CONFIG_DEBUG_INFO=y
764# CONFIG_DEBUG_VM is not set 793# CONFIG_DEBUG_VM is not set
765# CONFIG_DEBUG_LIST is not set 794# CONFIG_DEBUG_LIST is not set
766# CONFIG_DEBUG_SG is not set 795# CONFIG_DEBUG_SG is not set
767CONFIG_FORCED_INLINING=y
768# CONFIG_BOOT_PRINTK_DELAY is not set 796# CONFIG_BOOT_PRINTK_DELAY is not set
797# CONFIG_BACKTRACE_SELF_TEST is not set
769# CONFIG_FAULT_INJECTION is not set 798# CONFIG_FAULT_INJECTION is not set
770# CONFIG_SAMPLES is not set 799# CONFIG_SAMPLES is not set
771# CONFIG_DEBUG_STACKOVERFLOW is not set 800# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -784,6 +813,7 @@ CONFIG_BDI_SWITCH=y
784CONFIG_CRYPTO=y 813CONFIG_CRYPTO=y
785CONFIG_CRYPTO_ALGAPI=y 814CONFIG_CRYPTO_ALGAPI=y
786CONFIG_CRYPTO_BLKCIPHER=y 815CONFIG_CRYPTO_BLKCIPHER=y
816# CONFIG_CRYPTO_SEQIV is not set
787CONFIG_CRYPTO_MANAGER=y 817CONFIG_CRYPTO_MANAGER=y
788# CONFIG_CRYPTO_HMAC is not set 818# CONFIG_CRYPTO_HMAC is not set
789# CONFIG_CRYPTO_NULL is not set 819# CONFIG_CRYPTO_NULL is not set
@@ -797,6 +827,9 @@ CONFIG_CRYPTO_MD5=y
797CONFIG_CRYPTO_ECB=y 827CONFIG_CRYPTO_ECB=y
798CONFIG_CRYPTO_CBC=y 828CONFIG_CRYPTO_CBC=y
799CONFIG_CRYPTO_PCBC=y 829CONFIG_CRYPTO_PCBC=y
830# CONFIG_CRYPTO_CTR is not set
831# CONFIG_CRYPTO_GCM is not set
832# CONFIG_CRYPTO_CCM is not set
800# CONFIG_CRYPTO_CRYPTD is not set 833# CONFIG_CRYPTO_CRYPTD is not set
801CONFIG_CRYPTO_DES=y 834CONFIG_CRYPTO_DES=y
802# CONFIG_CRYPTO_FCRYPT is not set 835# CONFIG_CRYPTO_FCRYPT is not set
@@ -816,6 +849,7 @@ CONFIG_CRYPTO_DES=y
816# CONFIG_CRYPTO_CRC32C is not set 849# CONFIG_CRYPTO_CRC32C is not set
817# CONFIG_CRYPTO_CAMELLIA is not set 850# CONFIG_CRYPTO_CAMELLIA is not set
818# CONFIG_CRYPTO_AUTHENC is not set 851# CONFIG_CRYPTO_AUTHENC is not set
852# CONFIG_CRYPTO_LZO is not set
819# CONFIG_CRYPTO_HW is not set 853# CONFIG_CRYPTO_HW is not set
820# CONFIG_PPC_CLOCK is not set 854# CONFIG_PPC_CLOCK is not set
821CONFIG_PPC_LIB_RHEAP=y 855CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index a1f98200d9e..125b4764aad 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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:13 2007 4# Mon Mar 24 08:48:10 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -26,6 +26,7 @@ CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y 26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y 27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
29CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
30CONFIG_RWSEM_XCHGADD_ALGORITHM=y 31CONFIG_RWSEM_XCHGADD_ALGORITHM=y
31CONFIG_ARCH_HAS_ILOG2_U32=y 32CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -63,15 +64,19 @@ CONFIG_SYSVIPC_SYSCTL=y
63# CONFIG_POSIX_MQUEUE is not set 64# CONFIG_POSIX_MQUEUE is not set
64# CONFIG_BSD_PROCESS_ACCT is not set 65# CONFIG_BSD_PROCESS_ACCT is not set
65# CONFIG_TASKSTATS is not set 66# CONFIG_TASKSTATS is not set
66# CONFIG_USER_NS is not set
67# CONFIG_PID_NS is not set
68# CONFIG_AUDIT is not set 67# CONFIG_AUDIT is not set
69# CONFIG_IKCONFIG is not set 68# CONFIG_IKCONFIG is not set
70CONFIG_LOG_BUF_SHIFT=14 69CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set 70# CONFIG_CGROUPS is not set
71CONFIG_GROUP_SCHED=y
72# CONFIG_FAIR_GROUP_SCHED is not set 72# CONFIG_FAIR_GROUP_SCHED is not set
73# CONFIG_RT_GROUP_SCHED is not set
74CONFIG_USER_SCHED=y
75# CONFIG_CGROUP_SCHED is not set
73CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
77CONFIG_SYSFS_DEPRECATED_V2=y
74# CONFIG_RELAY is not set 78# CONFIG_RELAY is not set
79# CONFIG_NAMESPACES is not set
75# CONFIG_BLK_DEV_INITRD is not set 80# CONFIG_BLK_DEV_INITRD is not set
76# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
77CONFIG_SYSCTL=y 82CONFIG_SYSCTL=y
@@ -84,11 +89,13 @@ CONFIG_HOTPLUG=y
84CONFIG_PRINTK=y 89CONFIG_PRINTK=y
85CONFIG_BUG=y 90CONFIG_BUG=y
86# CONFIG_ELF_CORE is not set 91# CONFIG_ELF_CORE is not set
92CONFIG_COMPAT_BRK=y
87# CONFIG_BASE_FULL is not set 93# CONFIG_BASE_FULL is not set
88# CONFIG_FUTEX is not set 94# CONFIG_FUTEX is not set
89CONFIG_ANON_INODES=y 95CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 96CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y 97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
92CONFIG_EVENTFD=y 99CONFIG_EVENTFD=y
93CONFIG_SHMEM=y 100CONFIG_SHMEM=y
94# CONFIG_VM_EVENT_COUNTERS is not set 101# CONFIG_VM_EVENT_COUNTERS is not set
@@ -96,6 +103,13 @@ CONFIG_SLUB_DEBUG=y
96# CONFIG_SLAB is not set 103# CONFIG_SLAB is not set
97CONFIG_SLUB=y 104CONFIG_SLUB=y
98# CONFIG_SLOB is not set 105# CONFIG_SLOB is not set
106# CONFIG_PROFILING is not set
107# CONFIG_MARKERS is not set
108CONFIG_HAVE_OPROFILE=y
109CONFIG_HAVE_KPROBES=y
110CONFIG_HAVE_KRETPROBES=y
111CONFIG_PROC_PAGE_MONITOR=y
112CONFIG_SLABINFO=y
99# CONFIG_TINY_SHMEM is not set 113# CONFIG_TINY_SHMEM is not set
100CONFIG_BASE_SMALL=1 114CONFIG_BASE_SMALL=1
101# CONFIG_MODULES is not set 115# CONFIG_MODULES is not set
@@ -117,12 +131,13 @@ CONFIG_DEFAULT_DEADLINE=y
117# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
118# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
119CONFIG_DEFAULT_IOSCHED="deadline" 133CONFIG_DEFAULT_IOSCHED="deadline"
134CONFIG_CLASSIC_RCU=y
120 135
121# 136#
122# Platform support 137# Platform support
123# 138#
124# CONFIG_PPC_MPC52xx is not set 139# CONFIG_PPC_MPC512x is not set
125# CONFIG_PPC_MPC5200 is not set 140# CONFIG_PPC_MPC5121 is not set
126# CONFIG_PPC_CELL is not set 141# CONFIG_PPC_CELL is not set
127# CONFIG_PPC_CELL_NATIVE is not set 142# CONFIG_PPC_CELL_NATIVE is not set
128CONFIG_CPM1=y 143CONFIG_CPM1=y
@@ -130,6 +145,7 @@ CONFIG_CPM1=y
130# CONFIG_MPC86XADS is not set 145# CONFIG_MPC86XADS is not set
131# CONFIG_MPC885ADS is not set 146# CONFIG_MPC885ADS is not set
132CONFIG_PPC_EP88XC=y 147CONFIG_PPC_EP88XC=y
148# CONFIG_PPC_ADDER875 is not set
133 149
134# 150#
135# MPC8xx CPM Options 151# MPC8xx CPM Options
@@ -146,6 +162,7 @@ CONFIG_NO_UCODE_PATCH=y
146# CONFIG_I2C_SPI_UCODE_PATCH is not set 162# CONFIG_I2C_SPI_UCODE_PATCH is not set
147# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 163# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set
148# CONFIG_PQ2ADS is not set 164# CONFIG_PQ2ADS is not set
165# CONFIG_IPIC is not set
149# CONFIG_MPIC is not set 166# CONFIG_MPIC is not set
150# CONFIG_MPIC_WEIRD is not set 167# CONFIG_MPIC_WEIRD is not set
151# CONFIG_PPC_I8259 is not set 168# CONFIG_PPC_I8259 is not set
@@ -156,7 +173,6 @@ CONFIG_NO_UCODE_PATCH=y
156# CONFIG_PPC_INDIRECT_IO is not set 173# CONFIG_PPC_INDIRECT_IO is not set
157# CONFIG_GENERIC_IOMAP is not set 174# CONFIG_GENERIC_IOMAP is not set
158# CONFIG_CPU_FREQ is not set 175# CONFIG_CPU_FREQ is not set
159# CONFIG_CPM2 is not set
160CONFIG_PPC_CPM_NEW_BINDING=y 176CONFIG_PPC_CPM_NEW_BINDING=y
161# CONFIG_FSL_ULI1575 is not set 177# CONFIG_FSL_ULI1575 is not set
162CONFIG_CPM=y 178CONFIG_CPM=y
@@ -174,6 +190,7 @@ CONFIG_HZ_100=y
174# CONFIG_HZ_300 is not set 190# CONFIG_HZ_300 is not set
175# CONFIG_HZ_1000 is not set 191# CONFIG_HZ_1000 is not set
176CONFIG_HZ=100 192CONFIG_HZ=100
193# CONFIG_SCHED_HRTICK is not set
177CONFIG_PREEMPT_NONE=y 194CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set 195# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set 196# CONFIG_PREEMPT is not set
@@ -181,7 +198,10 @@ CONFIG_BINFMT_ELF=y
181# CONFIG_BINFMT_MISC is not set 198# CONFIG_BINFMT_MISC is not set
182# CONFIG_MATH_EMULATION is not set 199# CONFIG_MATH_EMULATION is not set
183CONFIG_8XX_MINIMAL_FPEMU=y 200CONFIG_8XX_MINIMAL_FPEMU=y
201# CONFIG_IOMMU_HELPER is not set
184CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 202CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
203CONFIG_ARCH_HAS_WALK_MEMORY=y
204CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
185CONFIG_ARCH_FLATMEM_ENABLE=y 205CONFIG_ARCH_FLATMEM_ENABLE=y
186CONFIG_ARCH_POPULATES_NODE_MAP=y 206CONFIG_ARCH_POPULATES_NODE_MAP=y
187CONFIG_SELECT_MEMORY_MODEL=y 207CONFIG_SELECT_MEMORY_MODEL=y
@@ -200,11 +220,7 @@ CONFIG_VIRT_TO_BUS=y
200CONFIG_PROC_DEVICETREE=y 220CONFIG_PROC_DEVICETREE=y
201# CONFIG_CMDLINE_BOOL is not set 221# CONFIG_CMDLINE_BOOL is not set
202# CONFIG_PM is not set 222# CONFIG_PM is not set
203CONFIG_SUSPEND_UP_POSSIBLE=y
204CONFIG_HIBERNATION_UP_POSSIBLE=y
205# CONFIG_SECCOMP is not set 223# CONFIG_SECCOMP is not set
206CONFIG_WANT_DEVICE_TREE=y
207CONFIG_DEVICE_TREE="ep88xc.dts"
208CONFIG_ISA_DMA_API=y 224CONFIG_ISA_DMA_API=y
209 225
210# 226#
@@ -301,6 +317,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
301# 317#
302# CONFIG_NET_PKTGEN is not set 318# CONFIG_NET_PKTGEN is not set
303# CONFIG_HAMRADIO is not set 319# CONFIG_HAMRADIO is not set
320# CONFIG_CAN is not set
304# CONFIG_IRDA is not set 321# CONFIG_IRDA is not set
305# CONFIG_BT is not set 322# CONFIG_BT is not set
306# CONFIG_AF_RXRPC is not set 323# CONFIG_AF_RXRPC is not set
@@ -407,6 +424,7 @@ CONFIG_OF_DEVICE=y
407# CONFIG_PARPORT is not set 424# CONFIG_PARPORT is not set
408# CONFIG_BLK_DEV is not set 425# CONFIG_BLK_DEV is not set
409# CONFIG_MISC_DEVICES is not set 426# CONFIG_MISC_DEVICES is not set
427CONFIG_HAVE_IDE=y
410# CONFIG_IDE is not set 428# CONFIG_IDE is not set
411 429
412# 430#
@@ -441,6 +459,7 @@ CONFIG_LXT_PHY=y
441# CONFIG_SMSC_PHY is not set 459# CONFIG_SMSC_PHY is not set
442# CONFIG_BROADCOM_PHY is not set 460# CONFIG_BROADCOM_PHY is not set
443# CONFIG_ICPLUS_PHY is not set 461# CONFIG_ICPLUS_PHY is not set
462# CONFIG_REALTEK_PHY is not set
444# CONFIG_FIXED_PHY is not set 463# CONFIG_FIXED_PHY is not set
445# CONFIG_MDIO_BITBANG is not set 464# CONFIG_MDIO_BITBANG is not set
446CONFIG_NET_ETHERNET=y 465CONFIG_NET_ETHERNET=y
@@ -465,7 +484,6 @@ CONFIG_FS_ENET_MDIO_FEC=y
465# CONFIG_WAN is not set 484# CONFIG_WAN is not set
466# CONFIG_PPP is not set 485# CONFIG_PPP is not set
467# CONFIG_SLIP is not set 486# CONFIG_SLIP is not set
468# CONFIG_SHAPER is not set
469# CONFIG_NETCONSOLE is not set 487# CONFIG_NETCONSOLE is not set
470# CONFIG_NETPOLL is not set 488# CONFIG_NETPOLL is not set
471# CONFIG_NET_POLL_CONTROLLER is not set 489# CONFIG_NET_POLL_CONTROLLER is not set
@@ -528,6 +546,7 @@ CONFIG_GEN_RTC=y
528# CONFIG_W1 is not set 546# CONFIG_W1 is not set
529# CONFIG_POWER_SUPPLY is not set 547# CONFIG_POWER_SUPPLY is not set
530# CONFIG_HWMON is not set 548# CONFIG_HWMON is not set
549# CONFIG_THERMAL is not set
531# CONFIG_WATCHDOG is not set 550# CONFIG_WATCHDOG is not set
532 551
533# 552#
@@ -567,9 +586,11 @@ CONFIG_DAB=y
567# CONFIG_SOUND is not set 586# CONFIG_SOUND is not set
568# CONFIG_USB_SUPPORT is not set 587# CONFIG_USB_SUPPORT is not set
569# CONFIG_MMC is not set 588# CONFIG_MMC is not set
589# CONFIG_MEMSTICK is not set
570# CONFIG_NEW_LEDS is not set 590# CONFIG_NEW_LEDS is not set
571# CONFIG_EDAC is not set 591# CONFIG_EDAC is not set
572# CONFIG_RTC_CLASS is not set 592# CONFIG_RTC_CLASS is not set
593# CONFIG_DMADEVICES is not set
573 594
574# 595#
575# Userspace I/O 596# Userspace I/O
@@ -588,11 +609,9 @@ CONFIG_DAB=y
588# CONFIG_XFS_FS is not set 609# CONFIG_XFS_FS is not set
589# CONFIG_GFS2_FS is not set 610# CONFIG_GFS2_FS is not set
590# CONFIG_OCFS2_FS is not set 611# CONFIG_OCFS2_FS is not set
591# CONFIG_MINIX_FS is not set 612# CONFIG_DNOTIFY is not set
592# CONFIG_ROMFS_FS is not set
593# CONFIG_INOTIFY is not set 613# CONFIG_INOTIFY is not set
594# CONFIG_QUOTA is not set 614# CONFIG_QUOTA is not set
595# CONFIG_DNOTIFY is not set
596# CONFIG_AUTOFS_FS is not set 615# CONFIG_AUTOFS_FS is not set
597# CONFIG_AUTOFS4_FS is not set 616# CONFIG_AUTOFS4_FS is not set
598# CONFIG_FUSE_FS is not set 617# CONFIG_FUSE_FS is not set
@@ -635,8 +654,10 @@ CONFIG_TMPFS=y
635# CONFIG_JFFS2_FS is not set 654# CONFIG_JFFS2_FS is not set
636CONFIG_CRAMFS=y 655CONFIG_CRAMFS=y
637# CONFIG_VXFS_FS is not set 656# CONFIG_VXFS_FS is not set
657# CONFIG_MINIX_FS is not set
638# CONFIG_HPFS_FS is not set 658# CONFIG_HPFS_FS is not set
639# CONFIG_QNX4FS_FS is not set 659# CONFIG_QNX4FS_FS is not set
660# CONFIG_ROMFS_FS is not set
640# CONFIG_SYSV_FS is not set 661# CONFIG_SYSV_FS is not set
641# CONFIG_UFS_FS is not set 662# CONFIG_UFS_FS is not set
642CONFIG_NETWORK_FILESYSTEMS=y 663CONFIG_NETWORK_FILESYSTEMS=y
@@ -683,7 +704,6 @@ CONFIG_MSDOS_PARTITION=y
683# CONFIG_SYSV68_PARTITION is not set 704# CONFIG_SYSV68_PARTITION is not set
684# CONFIG_NLS is not set 705# CONFIG_NLS is not set
685# CONFIG_DLM is not set 706# CONFIG_DLM is not set
686# CONFIG_UCC_SLOW is not set
687 707
688# 708#
689# Library routines 709# Library routines
@@ -698,7 +718,6 @@ CONFIG_ZLIB_INFLATE=y
698CONFIG_HAS_IOMEM=y 718CONFIG_HAS_IOMEM=y
699CONFIG_HAS_IOPORT=y 719CONFIG_HAS_IOPORT=y
700CONFIG_HAS_DMA=y 720CONFIG_HAS_DMA=y
701# CONFIG_INSTRUMENTATION is not set
702 721
703# 722#
704# Kernel hacking 723# Kernel hacking
@@ -717,6 +736,7 @@ CONFIG_SCHED_DEBUG=y
717# CONFIG_SCHEDSTATS is not set 736# CONFIG_SCHEDSTATS is not set
718# CONFIG_TIMER_STATS is not set 737# CONFIG_TIMER_STATS is not set
719# CONFIG_SLUB_DEBUG_ON is not set 738# CONFIG_SLUB_DEBUG_ON is not set
739# CONFIG_SLUB_STATS is not set
720# CONFIG_DEBUG_SPINLOCK is not set 740# CONFIG_DEBUG_SPINLOCK is not set
721# CONFIG_DEBUG_MUTEXES is not set 741# CONFIG_DEBUG_MUTEXES is not set
722# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 742# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
@@ -727,8 +747,8 @@ CONFIG_DEBUG_INFO=y
727# CONFIG_DEBUG_VM is not set 747# CONFIG_DEBUG_VM is not set
728# CONFIG_DEBUG_LIST is not set 748# CONFIG_DEBUG_LIST is not set
729# CONFIG_DEBUG_SG is not set 749# CONFIG_DEBUG_SG is not set
730CONFIG_FORCED_INLINING=y
731# CONFIG_BOOT_PRINTK_DELAY is not set 750# CONFIG_BOOT_PRINTK_DELAY is not set
751# CONFIG_BACKTRACE_SELF_TEST is not set
732# CONFIG_FAULT_INJECTION is not set 752# CONFIG_FAULT_INJECTION is not set
733# CONFIG_SAMPLES is not set 753# CONFIG_SAMPLES is not set
734# CONFIG_DEBUG_STACKOVERFLOW is not set 754# CONFIG_DEBUG_STACKOVERFLOW is not set
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index 3673dd23120..0f82f66a60f 100644
--- a/arch/powerpc/configs/g5_defconfig
+++ b/arch/powerpc/configs/g5_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:15 2007 4# Thu Mar 20 10:36:41 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -27,6 +27,7 @@ CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 27CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 28CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 29CONFIG_GENERIC_HARDIRQS=y
30CONFIG_HAVE_SETUP_PER_CPU_AREA=y
30CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
31CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
32CONFIG_ARCH_HAS_ILOG2_U32=y 33CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -48,7 +49,9 @@ CONFIG_GENERIC_TBSYNC=y
48CONFIG_AUDIT_ARCH=y 49CONFIG_AUDIT_ARCH=y
49CONFIG_GENERIC_BUG=y 50CONFIG_GENERIC_BUG=y
50# CONFIG_DEFAULT_UIMAGE is not set 51# CONFIG_DEFAULT_UIMAGE is not set
51CONFIG_PPC64_SWSUSP=y 52CONFIG_HIBERNATE_64=y
53CONFIG_ARCH_HIBERNATION_POSSIBLE=y
54CONFIG_ARCH_SUSPEND_POSSIBLE=y
52# CONFIG_PPC_DCR_NATIVE is not set 55# CONFIG_PPC_DCR_NATIVE is not set
53# CONFIG_PPC_DCR_MMIO is not set 56# CONFIG_PPC_DCR_MMIO is not set
54# CONFIG_PPC_OF_PLATFORM_PCI is not set 57# CONFIG_PPC_OF_PLATFORM_PCI is not set
@@ -68,18 +71,22 @@ CONFIG_SYSVIPC_SYSCTL=y
68CONFIG_POSIX_MQUEUE=y 71CONFIG_POSIX_MQUEUE=y
69# CONFIG_BSD_PROCESS_ACCT is not set 72# CONFIG_BSD_PROCESS_ACCT is not set
70# CONFIG_TASKSTATS is not set 73# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
73# CONFIG_AUDIT is not set 74# CONFIG_AUDIT is not set
74CONFIG_IKCONFIG=y 75CONFIG_IKCONFIG=y
75CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
76CONFIG_LOG_BUF_SHIFT=17 77CONFIG_LOG_BUF_SHIFT=17
77# CONFIG_CGROUPS is not set 78# CONFIG_CGROUPS is not set
78CONFIG_FAIR_GROUP_SCHED=y 79# CONFIG_GROUP_SCHED is not set
79CONFIG_FAIR_USER_SCHED=y 80# CONFIG_USER_SCHED is not set
80# CONFIG_FAIR_CGROUP_SCHED is not set 81# CONFIG_CGROUP_SCHED is not set
81CONFIG_SYSFS_DEPRECATED=y 82CONFIG_SYSFS_DEPRECATED=y
83CONFIG_SYSFS_DEPRECATED_V2=y
82# CONFIG_RELAY is not set 84# CONFIG_RELAY is not set
85CONFIG_NAMESPACES=y
86# CONFIG_UTS_NS is not set
87# CONFIG_IPC_NS is not set
88# CONFIG_USER_NS is not set
89# CONFIG_PID_NS is not set
83CONFIG_BLK_DEV_INITRD=y 90CONFIG_BLK_DEV_INITRD=y
84CONFIG_INITRAMFS_SOURCE="" 91CONFIG_INITRAMFS_SOURCE=""
85CONFIG_CC_OPTIMIZE_FOR_SIZE=y 92CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -93,11 +100,13 @@ CONFIG_HOTPLUG=y
93CONFIG_PRINTK=y 100CONFIG_PRINTK=y
94CONFIG_BUG=y 101CONFIG_BUG=y
95CONFIG_ELF_CORE=y 102CONFIG_ELF_CORE=y
103# CONFIG_COMPAT_BRK is not set
96CONFIG_BASE_FULL=y 104CONFIG_BASE_FULL=y
97CONFIG_FUTEX=y 105CONFIG_FUTEX=y
98CONFIG_ANON_INODES=y 106CONFIG_ANON_INODES=y
99CONFIG_EPOLL=y 107CONFIG_EPOLL=y
100CONFIG_SIGNALFD=y 108CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y
101CONFIG_EVENTFD=y 110CONFIG_EVENTFD=y
102CONFIG_SHMEM=y 111CONFIG_SHMEM=y
103CONFIG_VM_EVENT_COUNTERS=y 112CONFIG_VM_EVENT_COUNTERS=y
@@ -105,6 +114,15 @@ CONFIG_SLUB_DEBUG=y
105# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
106CONFIG_SLUB=y 115CONFIG_SLUB=y
107# CONFIG_SLOB is not set 116# CONFIG_SLOB is not set
117CONFIG_PROFILING=y
118# CONFIG_MARKERS is not set
119CONFIG_OPROFILE=y
120CONFIG_HAVE_OPROFILE=y
121# CONFIG_KPROBES is not set
122CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y
124CONFIG_PROC_PAGE_MONITOR=y
125CONFIG_SLABINFO=y
108CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
109# CONFIG_TINY_SHMEM is not set 127# CONFIG_TINY_SHMEM is not set
110CONFIG_BASE_SMALL=0 128CONFIG_BASE_SMALL=0
@@ -132,6 +150,7 @@ CONFIG_DEFAULT_AS=y
132# CONFIG_DEFAULT_CFQ is not set 150# CONFIG_DEFAULT_CFQ is not set
133# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
134CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
153CONFIG_CLASSIC_RCU=y
135 154
136# 155#
137# Platform support 156# Platform support
@@ -142,8 +161,8 @@ CONFIG_PPC_MULTIPLATFORM=y
142# CONFIG_PPC_86xx is not set 161# CONFIG_PPC_86xx is not set
143# CONFIG_PPC_PSERIES is not set 162# CONFIG_PPC_PSERIES is not set
144# CONFIG_PPC_ISERIES is not set 163# CONFIG_PPC_ISERIES is not set
145# CONFIG_PPC_MPC52xx is not set 164# CONFIG_PPC_MPC512x is not set
146# CONFIG_PPC_MPC5200 is not set 165# CONFIG_PPC_MPC5121 is not set
147CONFIG_PPC_PMAC=y 166CONFIG_PPC_PMAC=y
148CONFIG_PPC_PMAC64=y 167CONFIG_PPC_PMAC64=y
149# CONFIG_PPC_MAPLE is not set 168# CONFIG_PPC_MAPLE is not set
@@ -155,6 +174,7 @@ CONFIG_PPC_PMAC64=y
155# CONFIG_PPC_IBM_CELL_BLADE is not set 174# CONFIG_PPC_IBM_CELL_BLADE is not set
156# CONFIG_PQ2ADS is not set 175# CONFIG_PQ2ADS is not set
157CONFIG_PPC_NATIVE=y 176CONFIG_PPC_NATIVE=y
177# CONFIG_IPIC is not set
158CONFIG_MPIC=y 178CONFIG_MPIC=y
159# CONFIG_MPIC_WEIRD is not set 179# CONFIG_MPIC_WEIRD is not set
160# CONFIG_PPC_I8259 is not set 180# CONFIG_PPC_I8259 is not set
@@ -185,7 +205,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
185# CPU Frequency drivers 205# CPU Frequency drivers
186# 206#
187CONFIG_CPU_FREQ_PMAC64=y 207CONFIG_CPU_FREQ_PMAC64=y
188# CONFIG_CPM2 is not set
189# CONFIG_FSL_ULI1575 is not set 208# CONFIG_FSL_ULI1575 is not set
190 209
191# 210#
@@ -200,17 +219,21 @@ CONFIG_HZ_250=y
200# CONFIG_HZ_300 is not set 219# CONFIG_HZ_300 is not set
201# CONFIG_HZ_1000 is not set 220# CONFIG_HZ_1000 is not set
202CONFIG_HZ=250 221CONFIG_HZ=250
222# CONFIG_SCHED_HRTICK is not set
203CONFIG_PREEMPT_NONE=y 223CONFIG_PREEMPT_NONE=y
204# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
205# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
206# CONFIG_PREEMPT_BKL is not set
207CONFIG_BINFMT_ELF=y 226CONFIG_BINFMT_ELF=y
227CONFIG_COMPAT_BINFMT_ELF=y
208# CONFIG_BINFMT_MISC is not set 228# CONFIG_BINFMT_MISC is not set
209CONFIG_FORCE_MAX_ZONEORDER=13 229CONFIG_FORCE_MAX_ZONEORDER=13
210CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 230CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
211CONFIG_IOMMU_VMERGE=y 231CONFIG_IOMMU_VMERGE=y
232CONFIG_IOMMU_HELPER=y
212# CONFIG_HOTPLUG_CPU is not set 233# CONFIG_HOTPLUG_CPU is not set
213CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 234CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
235CONFIG_ARCH_HAS_WALK_MEMORY=y
236CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
214CONFIG_KEXEC=y 237CONFIG_KEXEC=y
215# CONFIG_CRASH_DUMP is not set 238# CONFIG_CRASH_DUMP is not set
216CONFIG_IRQ_ALL_CPUS=y 239CONFIG_IRQ_ALL_CPUS=y
@@ -236,11 +259,9 @@ CONFIG_BOUNCE=y
236# CONFIG_SCHED_SMT is not set 259# CONFIG_SCHED_SMT is not set
237CONFIG_PROC_DEVICETREE=y 260CONFIG_PROC_DEVICETREE=y
238# CONFIG_CMDLINE_BOOL is not set 261# CONFIG_CMDLINE_BOOL is not set
262CONFIG_ARCH_WANTS_FREEZER_CONTROL=y
239# CONFIG_PM is not set 263# CONFIG_PM is not set
240CONFIG_SUSPEND_SMP_POSSIBLE=y
241CONFIG_HIBERNATION_SMP_POSSIBLE=y
242CONFIG_SECCOMP=y 264CONFIG_SECCOMP=y
243# CONFIG_WANT_DEVICE_TREE is not set
244CONFIG_ISA_DMA_API=y 265CONFIG_ISA_DMA_API=y
245 266
246# 267#
@@ -276,6 +297,7 @@ CONFIG_XFRM=y
276CONFIG_XFRM_USER=m 297CONFIG_XFRM_USER=m
277# CONFIG_XFRM_SUB_POLICY is not set 298# CONFIG_XFRM_SUB_POLICY is not set
278# CONFIG_XFRM_MIGRATE is not set 299# CONFIG_XFRM_MIGRATE is not set
300# CONFIG_XFRM_STATISTICS is not set
279CONFIG_NET_KEY=m 301CONFIG_NET_KEY=m
280# CONFIG_NET_KEY_MIGRATE is not set 302# CONFIG_NET_KEY_MIGRATE is not set
281CONFIG_INET=y 303CONFIG_INET=y
@@ -310,12 +332,14 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
310# CONFIG_NETWORK_SECMARK is not set 332# CONFIG_NETWORK_SECMARK is not set
311CONFIG_NETFILTER=y 333CONFIG_NETFILTER=y
312# CONFIG_NETFILTER_DEBUG is not set 334# CONFIG_NETFILTER_DEBUG is not set
335CONFIG_NETFILTER_ADVANCED=y
313 336
314# 337#
315# Core Netfilter Configuration 338# Core Netfilter Configuration
316# 339#
317# CONFIG_NETFILTER_NETLINK is not set 340CONFIG_NETFILTER_NETLINK=m
318CONFIG_NF_CONNTRACK_ENABLED=m 341CONFIG_NETFILTER_NETLINK_QUEUE=m
342CONFIG_NETFILTER_NETLINK_LOG=m
319CONFIG_NF_CONNTRACK=m 343CONFIG_NF_CONNTRACK=m
320# CONFIG_NF_CT_ACCT is not set 344# CONFIG_NF_CT_ACCT is not set
321CONFIG_NF_CONNTRACK_MARK=y 345CONFIG_NF_CONNTRACK_MARK=y
@@ -331,6 +355,7 @@ CONFIG_NF_CONNTRACK_IRC=m
331# CONFIG_NF_CONNTRACK_SANE is not set 355# CONFIG_NF_CONNTRACK_SANE is not set
332# CONFIG_NF_CONNTRACK_SIP is not set 356# CONFIG_NF_CONNTRACK_SIP is not set
333CONFIG_NF_CONNTRACK_TFTP=m 357CONFIG_NF_CONNTRACK_TFTP=m
358CONFIG_NF_CT_NETLINK=m
334# CONFIG_NETFILTER_XTABLES is not set 359# CONFIG_NETFILTER_XTABLES is not set
335 360
336# 361#
@@ -363,6 +388,7 @@ CONFIG_LLC=y
363# 388#
364# CONFIG_NET_PKTGEN is not set 389# CONFIG_NET_PKTGEN is not set
365# CONFIG_HAMRADIO is not set 390# CONFIG_HAMRADIO is not set
391# CONFIG_CAN is not set
366# CONFIG_IRDA is not set 392# CONFIG_IRDA is not set
367# CONFIG_BT is not set 393# CONFIG_BT is not set
368# CONFIG_AF_RXRPC is not set 394# CONFIG_AF_RXRPC is not set
@@ -409,7 +435,7 @@ CONFIG_BLK_DEV_NBD=m
409CONFIG_BLK_DEV_RAM=y 435CONFIG_BLK_DEV_RAM=y
410CONFIG_BLK_DEV_RAM_COUNT=16 436CONFIG_BLK_DEV_RAM_COUNT=16
411CONFIG_BLK_DEV_RAM_SIZE=65536 437CONFIG_BLK_DEV_RAM_SIZE=65536
412CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 438# CONFIG_BLK_DEV_XIP is not set
413CONFIG_CDROM_PKTCDVD=m 439CONFIG_CDROM_PKTCDVD=m
414CONFIG_CDROM_PKTCDVD_BUFFERS=8 440CONFIG_CDROM_PKTCDVD_BUFFERS=8
415# CONFIG_CDROM_PKTCDVD_WCACHE is not set 441# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -419,16 +445,19 @@ CONFIG_MISC_DEVICES=y
419# CONFIG_EEPROM_93CX6 is not set 445# CONFIG_EEPROM_93CX6 is not set
420# CONFIG_SGI_IOC4 is not set 446# CONFIG_SGI_IOC4 is not set
421# CONFIG_TIFM_CORE is not set 447# CONFIG_TIFM_CORE is not set
448# CONFIG_ENCLOSURE_SERVICES is not set
449CONFIG_HAVE_IDE=y
422CONFIG_IDE=y 450CONFIG_IDE=y
423CONFIG_BLK_DEV_IDE=y 451CONFIG_BLK_DEV_IDE=y
424 452
425# 453#
426# Please see Documentation/ide.txt for help/info on IDE drives 454# Please see Documentation/ide/ide.txt for help/info on IDE drives
427# 455#
428# CONFIG_BLK_DEV_IDE_SATA is not set 456# CONFIG_BLK_DEV_IDE_SATA is not set
429CONFIG_BLK_DEV_IDEDISK=y 457CONFIG_BLK_DEV_IDEDISK=y
430# CONFIG_IDEDISK_MULTI_MODE is not set 458# CONFIG_IDEDISK_MULTI_MODE is not set
431CONFIG_BLK_DEV_IDECD=y 459CONFIG_BLK_DEV_IDECD=y
460CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
432# CONFIG_BLK_DEV_IDETAPE is not set 461# CONFIG_BLK_DEV_IDETAPE is not set
433# CONFIG_BLK_DEV_IDEFLOPPY is not set 462# CONFIG_BLK_DEV_IDEFLOPPY is not set
434# CONFIG_BLK_DEV_IDESCSI is not set 463# CONFIG_BLK_DEV_IDESCSI is not set
@@ -440,12 +469,12 @@ CONFIG_IDE_PROC_FS=y
440# 469#
441CONFIG_IDE_GENERIC=y 470CONFIG_IDE_GENERIC=y
442# CONFIG_BLK_DEV_PLATFORM is not set 471# CONFIG_BLK_DEV_PLATFORM is not set
472CONFIG_BLK_DEV_IDEDMA_SFF=y
443 473
444# 474#
445# PCI IDE chipsets support 475# PCI IDE chipsets support
446# 476#
447CONFIG_BLK_DEV_IDEPCI=y 477CONFIG_BLK_DEV_IDEPCI=y
448# CONFIG_IDEPCI_SHARE_IRQ is not set
449CONFIG_IDEPCI_PCIBUS_ORDER=y 478CONFIG_IDEPCI_PCIBUS_ORDER=y
450# CONFIG_BLK_DEV_GENERIC is not set 479# CONFIG_BLK_DEV_GENERIC is not set
451# CONFIG_BLK_DEV_OPTI621 is not set 480# CONFIG_BLK_DEV_OPTI621 is not set
@@ -478,7 +507,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
478CONFIG_BLK_DEV_IDE_PMAC=y 507CONFIG_BLK_DEV_IDE_PMAC=y
479CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 508CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
480CONFIG_BLK_DEV_IDEDMA_PMAC=y 509CONFIG_BLK_DEV_IDEDMA_PMAC=y
481# CONFIG_IDE_ARM is not set
482CONFIG_BLK_DEV_IDEDMA=y 510CONFIG_BLK_DEV_IDEDMA=y
483CONFIG_IDE_ARCH_OBSOLETE_INIT=y 511CONFIG_IDE_ARCH_OBSOLETE_INIT=y
484# CONFIG_BLK_DEV_HD is not set 512# CONFIG_BLK_DEV_HD is not set
@@ -544,6 +572,7 @@ CONFIG_SCSI_LOWLEVEL=y
544# CONFIG_SCSI_IPS is not set 572# CONFIG_SCSI_IPS is not set
545# CONFIG_SCSI_INITIO is not set 573# CONFIG_SCSI_INITIO is not set
546# CONFIG_SCSI_INIA100 is not set 574# CONFIG_SCSI_INIA100 is not set
575# CONFIG_SCSI_MVSAS is not set
547# CONFIG_SCSI_STEX is not set 576# CONFIG_SCSI_STEX is not set
548# CONFIG_SCSI_SYM53C8XX_2 is not set 577# CONFIG_SCSI_SYM53C8XX_2 is not set
549# CONFIG_SCSI_IPR is not set 578# CONFIG_SCSI_IPR is not set
@@ -596,6 +625,7 @@ CONFIG_SATA_SVW=y
596# CONFIG_PATA_MPIIX is not set 625# CONFIG_PATA_MPIIX is not set
597# CONFIG_PATA_OLDPIIX is not set 626# CONFIG_PATA_OLDPIIX is not set
598# CONFIG_PATA_NETCELL is not set 627# CONFIG_PATA_NETCELL is not set
628# CONFIG_PATA_NINJA32 is not set
599# CONFIG_PATA_NS87410 is not set 629# CONFIG_PATA_NS87410 is not set
600# CONFIG_PATA_NS87415 is not set 630# CONFIG_PATA_NS87415 is not set
601# CONFIG_PATA_OPTI is not set 631# CONFIG_PATA_OPTI is not set
@@ -610,6 +640,7 @@ CONFIG_SATA_SVW=y
610# CONFIG_PATA_SIS is not set 640# CONFIG_PATA_SIS is not set
611# CONFIG_PATA_VIA is not set 641# CONFIG_PATA_VIA is not set
612# CONFIG_PATA_WINBOND is not set 642# CONFIG_PATA_WINBOND is not set
643# CONFIG_PATA_PLATFORM is not set
613CONFIG_MD=y 644CONFIG_MD=y
614CONFIG_BLK_DEV_MD=y 645CONFIG_BLK_DEV_MD=y
615CONFIG_MD_LINEAR=y 646CONFIG_MD_LINEAR=y
@@ -676,7 +707,6 @@ CONFIG_BONDING=m
676# CONFIG_EQUALIZER is not set 707# CONFIG_EQUALIZER is not set
677CONFIG_TUN=m 708CONFIG_TUN=m
678# CONFIG_VETH is not set 709# CONFIG_VETH is not set
679# CONFIG_IP1000 is not set
680# CONFIG_ARCNET is not set 710# CONFIG_ARCNET is not set
681# CONFIG_PHYLIB is not set 711# CONFIG_PHYLIB is not set
682CONFIG_NET_ETHERNET=y 712CONFIG_NET_ETHERNET=y
@@ -701,6 +731,9 @@ CONFIG_E1000=y
701# CONFIG_E1000_NAPI is not set 731# CONFIG_E1000_NAPI is not set
702# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 732# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
703# CONFIG_E1000E is not set 733# CONFIG_E1000E is not set
734# CONFIG_E1000E_ENABLED is not set
735# CONFIG_IP1000 is not set
736# CONFIG_IGB is not set
704# CONFIG_NS83820 is not set 737# CONFIG_NS83820 is not set
705# CONFIG_HAMACHI is not set 738# CONFIG_HAMACHI is not set
706# CONFIG_YELLOWFIN is not set 739# CONFIG_YELLOWFIN is not set
@@ -726,6 +759,7 @@ CONFIG_NETDEV_10000=y
726# CONFIG_PASEMI_MAC is not set 759# CONFIG_PASEMI_MAC is not set
727# CONFIG_MLX4_CORE is not set 760# CONFIG_MLX4_CORE is not set
728# CONFIG_TEHUTI is not set 761# CONFIG_TEHUTI is not set
762# CONFIG_BNX2X is not set
729CONFIG_TR=y 763CONFIG_TR=y
730CONFIG_IBMOL=y 764CONFIG_IBMOL=y
731# CONFIG_3C359 is not set 765# CONFIG_3C359 is not set
@@ -771,7 +805,6 @@ CONFIG_PPPOE=m
771# CONFIG_SLIP is not set 805# CONFIG_SLIP is not set
772CONFIG_SLHC=m 806CONFIG_SLHC=m
773# CONFIG_NET_FC is not set 807# CONFIG_NET_FC is not set
774# CONFIG_SHAPER is not set
775# CONFIG_NETCONSOLE is not set 808# CONFIG_NETCONSOLE is not set
776# CONFIG_NETPOLL is not set 809# CONFIG_NETPOLL is not set
777# CONFIG_NET_POLL_CONTROLLER is not set 810# CONFIG_NET_POLL_CONTROLLER is not set
@@ -834,6 +867,7 @@ CONFIG_VT_CONSOLE=y
834CONFIG_HW_CONSOLE=y 867CONFIG_HW_CONSOLE=y
835# CONFIG_VT_HW_CONSOLE_BINDING is not set 868# CONFIG_VT_HW_CONSOLE_BINDING is not set
836# CONFIG_SERIAL_NONSTANDARD is not set 869# CONFIG_SERIAL_NONSTANDARD is not set
870# CONFIG_NOZOMI is not set
837 871
838# 872#
839# Serial drivers 873# Serial drivers
@@ -901,13 +935,12 @@ CONFIG_I2C_POWERMAC=y
901# 935#
902# Miscellaneous I2C Chip support 936# Miscellaneous I2C Chip support
903# 937#
904# CONFIG_SENSORS_DS1337 is not set
905# CONFIG_SENSORS_DS1374 is not set
906# CONFIG_DS1682 is not set 938# CONFIG_DS1682 is not set
907# CONFIG_SENSORS_EEPROM is not set 939# CONFIG_SENSORS_EEPROM is not set
908# CONFIG_SENSORS_PCF8574 is not set 940# CONFIG_SENSORS_PCF8574 is not set
909# CONFIG_SENSORS_PCA9539 is not set 941# CONFIG_PCF8575 is not set
910# CONFIG_SENSORS_PCF8591 is not set 942# CONFIG_SENSORS_PCF8591 is not set
943# CONFIG_TPS65010 is not set
911# CONFIG_SENSORS_MAX6875 is not set 944# CONFIG_SENSORS_MAX6875 is not set
912# CONFIG_SENSORS_TSL2550 is not set 945# CONFIG_SENSORS_TSL2550 is not set
913# CONFIG_I2C_DEBUG_CORE is not set 946# CONFIG_I2C_DEBUG_CORE is not set
@@ -923,6 +956,7 @@ CONFIG_I2C_POWERMAC=y
923# CONFIG_W1 is not set 956# CONFIG_W1 is not set
924# CONFIG_POWER_SUPPLY is not set 957# CONFIG_POWER_SUPPLY is not set
925# CONFIG_HWMON is not set 958# CONFIG_HWMON is not set
959# CONFIG_THERMAL is not set
926# CONFIG_WATCHDOG is not set 960# CONFIG_WATCHDOG is not set
927 961
928# 962#
@@ -1083,6 +1117,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1083# CONFIG_SND_BT87X is not set 1117# CONFIG_SND_BT87X is not set
1084# CONFIG_SND_CA0106 is not set 1118# CONFIG_SND_CA0106 is not set
1085# CONFIG_SND_CMIPCI is not set 1119# CONFIG_SND_CMIPCI is not set
1120# CONFIG_SND_OXYGEN is not set
1086# CONFIG_SND_CS4281 is not set 1121# CONFIG_SND_CS4281 is not set
1087# CONFIG_SND_CS46XX is not set 1122# CONFIG_SND_CS46XX is not set
1088# CONFIG_SND_CS5530 is not set 1123# CONFIG_SND_CS5530 is not set
@@ -1108,6 +1143,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1108# CONFIG_SND_HDA_INTEL is not set 1143# CONFIG_SND_HDA_INTEL is not set
1109# CONFIG_SND_HDSP is not set 1144# CONFIG_SND_HDSP is not set
1110# CONFIG_SND_HDSPM is not set 1145# CONFIG_SND_HDSPM is not set
1146# CONFIG_SND_HIFIER is not set
1111# CONFIG_SND_ICE1712 is not set 1147# CONFIG_SND_ICE1712 is not set
1112# CONFIG_SND_ICE1724 is not set 1148# CONFIG_SND_ICE1724 is not set
1113# CONFIG_SND_INTEL8X0 is not set 1149# CONFIG_SND_INTEL8X0 is not set
@@ -1125,6 +1161,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1125# CONFIG_SND_TRIDENT is not set 1161# CONFIG_SND_TRIDENT is not set
1126# CONFIG_SND_VIA82XX is not set 1162# CONFIG_SND_VIA82XX is not set
1127# CONFIG_SND_VIA82XX_MODEM is not set 1163# CONFIG_SND_VIA82XX_MODEM is not set
1164# CONFIG_SND_VIRTUOSO is not set
1128# CONFIG_SND_VX222 is not set 1165# CONFIG_SND_VX222 is not set
1129# CONFIG_SND_YMFPCI is not set 1166# CONFIG_SND_YMFPCI is not set
1130 1167
@@ -1166,6 +1203,10 @@ CONFIG_SND_USB_AUDIO=m
1166# 1203#
1167 1204
1168# 1205#
1206# ALSA SoC audio for Freescale SOCs
1207#
1208
1209#
1169# Open Sound System 1210# Open Sound System
1170# 1211#
1171# CONFIG_SOUND_PRIME is not set 1212# CONFIG_SOUND_PRIME is not set
@@ -1192,6 +1233,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1192CONFIG_USB_ARCH_HAS_EHCI=y 1233CONFIG_USB_ARCH_HAS_EHCI=y
1193CONFIG_USB=y 1234CONFIG_USB=y
1194# CONFIG_USB_DEBUG is not set 1235# CONFIG_USB_DEBUG is not set
1236# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1195 1237
1196# 1238#
1197# Miscellaneous USB options 1239# Miscellaneous USB options
@@ -1205,9 +1247,9 @@ CONFIG_USB_DEVICE_CLASS=y
1205# USB Host Controller Drivers 1247# USB Host Controller Drivers
1206# 1248#
1207CONFIG_USB_EHCI_HCD=y 1249CONFIG_USB_EHCI_HCD=y
1208# CONFIG_USB_EHCI_SPLIT_ISO is not set
1209# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1250# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1210# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1251# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1252# CONFIG_USB_EHCI_HCD_PPC_OF is not set
1211# CONFIG_USB_ISP116X_HCD is not set 1253# CONFIG_USB_ISP116X_HCD is not set
1212CONFIG_USB_OHCI_HCD=y 1254CONFIG_USB_OHCI_HCD=y
1213CONFIG_USB_OHCI_HCD_PPC_OF=y 1255CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1259,11 +1301,8 @@ CONFIG_USB_MON=y
1259# 1301#
1260# USB port drivers 1302# USB port drivers
1261# 1303#
1262
1263#
1264# USB Serial Converter support
1265#
1266CONFIG_USB_SERIAL=m 1304CONFIG_USB_SERIAL=m
1305CONFIG_USB_EZUSB=y
1267CONFIG_USB_SERIAL_GENERIC=y 1306CONFIG_USB_SERIAL_GENERIC=y
1268# CONFIG_USB_SERIAL_AIRCABLE is not set 1307# CONFIG_USB_SERIAL_AIRCABLE is not set
1269# CONFIG_USB_SERIAL_AIRPRIME is not set 1308# CONFIG_USB_SERIAL_AIRPRIME is not set
@@ -1284,6 +1323,7 @@ CONFIG_USB_SERIAL_EDGEPORT=m
1284CONFIG_USB_SERIAL_EDGEPORT_TI=m 1323CONFIG_USB_SERIAL_EDGEPORT_TI=m
1285CONFIG_USB_SERIAL_GARMIN=m 1324CONFIG_USB_SERIAL_GARMIN=m
1286CONFIG_USB_SERIAL_IPW=m 1325CONFIG_USB_SERIAL_IPW=m
1326# CONFIG_USB_SERIAL_IUU is not set
1287CONFIG_USB_SERIAL_KEYSPAN_PDA=m 1327CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1288CONFIG_USB_SERIAL_KEYSPAN=m 1328CONFIG_USB_SERIAL_KEYSPAN=m
1289CONFIG_USB_SERIAL_KEYSPAN_MPR=y 1329CONFIG_USB_SERIAL_KEYSPAN_MPR=y
@@ -1316,7 +1356,6 @@ CONFIG_USB_SERIAL_XIRCOM=m
1316# CONFIG_USB_SERIAL_OPTION is not set 1356# CONFIG_USB_SERIAL_OPTION is not set
1317CONFIG_USB_SERIAL_OMNINET=m 1357CONFIG_USB_SERIAL_OMNINET=m
1318# CONFIG_USB_SERIAL_DEBUG is not set 1358# CONFIG_USB_SERIAL_DEBUG is not set
1319CONFIG_USB_EZUSB=y
1320 1359
1321# 1360#
1322# USB Miscellaneous drivers 1361# USB Miscellaneous drivers
@@ -1341,20 +1380,14 @@ CONFIG_USB_APPLEDISPLAY=m
1341# CONFIG_USB_TRANCEVIBRATOR is not set 1380# CONFIG_USB_TRANCEVIBRATOR is not set
1342# CONFIG_USB_IOWARRIOR is not set 1381# CONFIG_USB_IOWARRIOR is not set
1343# CONFIG_USB_TEST is not set 1382# CONFIG_USB_TEST is not set
1344
1345#
1346# USB DSL modem support
1347#
1348
1349#
1350# USB Gadget Support
1351#
1352# CONFIG_USB_GADGET is not set 1383# CONFIG_USB_GADGET is not set
1353# CONFIG_MMC is not set 1384# CONFIG_MMC is not set
1385# CONFIG_MEMSTICK is not set
1354# CONFIG_NEW_LEDS is not set 1386# CONFIG_NEW_LEDS is not set
1355# CONFIG_INFINIBAND is not set 1387# CONFIG_INFINIBAND is not set
1356# CONFIG_EDAC is not set 1388# CONFIG_EDAC is not set
1357# CONFIG_RTC_CLASS is not set 1389# CONFIG_RTC_CLASS is not set
1390# CONFIG_DMADEVICES is not set
1358 1391
1359# 1392#
1360# Userspace I/O 1393# Userspace I/O
@@ -1393,12 +1426,10 @@ CONFIG_XFS_POSIX_ACL=y
1393# CONFIG_XFS_RT is not set 1426# CONFIG_XFS_RT is not set
1394# CONFIG_GFS2_FS is not set 1427# CONFIG_GFS2_FS is not set
1395# CONFIG_OCFS2_FS is not set 1428# CONFIG_OCFS2_FS is not set
1396# CONFIG_MINIX_FS is not set 1429CONFIG_DNOTIFY=y
1397# CONFIG_ROMFS_FS is not set
1398CONFIG_INOTIFY=y 1430CONFIG_INOTIFY=y
1399CONFIG_INOTIFY_USER=y 1431CONFIG_INOTIFY_USER=y
1400# CONFIG_QUOTA is not set 1432# CONFIG_QUOTA is not set
1401CONFIG_DNOTIFY=y
1402CONFIG_AUTOFS_FS=m 1433CONFIG_AUTOFS_FS=m
1403# CONFIG_AUTOFS4_FS is not set 1434# CONFIG_AUTOFS4_FS is not set
1404# CONFIG_FUSE_FS is not set 1435# CONFIG_FUSE_FS is not set
@@ -1447,8 +1478,10 @@ CONFIG_HFSPLUS_FS=m
1447# CONFIG_EFS_FS is not set 1478# CONFIG_EFS_FS is not set
1448CONFIG_CRAMFS=y 1479CONFIG_CRAMFS=y
1449# CONFIG_VXFS_FS is not set 1480# CONFIG_VXFS_FS is not set
1481# CONFIG_MINIX_FS is not set
1450# CONFIG_HPFS_FS is not set 1482# CONFIG_HPFS_FS is not set
1451# CONFIG_QNX4FS_FS is not set 1483# CONFIG_QNX4FS_FS is not set
1484# CONFIG_ROMFS_FS is not set
1452# CONFIG_SYSV_FS is not set 1485# CONFIG_SYSV_FS is not set
1453# CONFIG_UFS_FS is not set 1486# CONFIG_UFS_FS is not set
1454CONFIG_NETWORK_FILESYSTEMS=y 1487CONFIG_NETWORK_FILESYSTEMS=y
@@ -1546,7 +1579,6 @@ CONFIG_NLS_ISO8859_15=y
1546# CONFIG_NLS_KOI8_U is not set 1579# CONFIG_NLS_KOI8_U is not set
1547CONFIG_NLS_UTF8=y 1580CONFIG_NLS_UTF8=y
1548# CONFIG_DLM is not set 1581# CONFIG_DLM is not set
1549# CONFIG_UCC_SLOW is not set
1550 1582
1551# 1583#
1552# Library routines 1584# Library routines
@@ -1564,11 +1596,6 @@ CONFIG_PLIST=y
1564CONFIG_HAS_IOMEM=y 1596CONFIG_HAS_IOMEM=y
1565CONFIG_HAS_IOPORT=y 1597CONFIG_HAS_IOPORT=y
1566CONFIG_HAS_DMA=y 1598CONFIG_HAS_DMA=y
1567CONFIG_INSTRUMENTATION=y
1568CONFIG_PROFILING=y
1569CONFIG_OPROFILE=y
1570# CONFIG_KPROBES is not set
1571# CONFIG_MARKERS is not set
1572 1599
1573# 1600#
1574# Kernel hacking 1601# Kernel hacking
@@ -1587,6 +1614,7 @@ CONFIG_SCHED_DEBUG=y
1587# CONFIG_SCHEDSTATS is not set 1614# CONFIG_SCHEDSTATS is not set
1588# CONFIG_TIMER_STATS is not set 1615# CONFIG_TIMER_STATS is not set
1589# CONFIG_SLUB_DEBUG_ON is not set 1616# CONFIG_SLUB_DEBUG_ON is not set
1617# CONFIG_SLUB_STATS is not set
1590# CONFIG_DEBUG_RT_MUTEXES is not set 1618# CONFIG_DEBUG_RT_MUTEXES is not set
1591# CONFIG_RT_MUTEX_TESTER is not set 1619# CONFIG_RT_MUTEX_TESTER is not set
1592# CONFIG_DEBUG_SPINLOCK is not set 1620# CONFIG_DEBUG_SPINLOCK is not set
@@ -1599,9 +1627,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1599# CONFIG_DEBUG_VM is not set 1627# CONFIG_DEBUG_VM is not set
1600# CONFIG_DEBUG_LIST is not set 1628# CONFIG_DEBUG_LIST is not set
1601# CONFIG_DEBUG_SG is not set 1629# CONFIG_DEBUG_SG is not set
1602CONFIG_FORCED_INLINING=y
1603# CONFIG_BOOT_PRINTK_DELAY is not set 1630# CONFIG_BOOT_PRINTK_DELAY is not set
1604# CONFIG_RCU_TORTURE_TEST is not set 1631# CONFIG_RCU_TORTURE_TEST is not set
1632# CONFIG_BACKTRACE_SELF_TEST is not set
1605# CONFIG_FAULT_INJECTION is not set 1633# CONFIG_FAULT_INJECTION is not set
1606# CONFIG_SAMPLES is not set 1634# CONFIG_SAMPLES is not set
1607# CONFIG_DEBUG_STACKOVERFLOW is not set 1635# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1621,7 +1649,9 @@ CONFIG_BOOTX_TEXT=y
1621# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1649# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1622CONFIG_CRYPTO=y 1650CONFIG_CRYPTO=y
1623CONFIG_CRYPTO_ALGAPI=y 1651CONFIG_CRYPTO_ALGAPI=y
1652CONFIG_CRYPTO_AEAD=m
1624CONFIG_CRYPTO_BLKCIPHER=y 1653CONFIG_CRYPTO_BLKCIPHER=y
1654# CONFIG_CRYPTO_SEQIV is not set
1625CONFIG_CRYPTO_HASH=y 1655CONFIG_CRYPTO_HASH=y
1626CONFIG_CRYPTO_MANAGER=y 1656CONFIG_CRYPTO_MANAGER=y
1627CONFIG_CRYPTO_HMAC=y 1657CONFIG_CRYPTO_HMAC=y
@@ -1640,6 +1670,9 @@ CONFIG_CRYPTO_CBC=y
1640CONFIG_CRYPTO_PCBC=m 1670CONFIG_CRYPTO_PCBC=m
1641# CONFIG_CRYPTO_LRW is not set 1671# CONFIG_CRYPTO_LRW is not set
1642# CONFIG_CRYPTO_XTS is not set 1672# CONFIG_CRYPTO_XTS is not set
1673# CONFIG_CRYPTO_CTR is not set
1674# CONFIG_CRYPTO_GCM is not set
1675# CONFIG_CRYPTO_CCM is not set
1643# CONFIG_CRYPTO_CRYPTD is not set 1676# CONFIG_CRYPTO_CRYPTD is not set
1644CONFIG_CRYPTO_DES=y 1677CONFIG_CRYPTO_DES=y
1645# CONFIG_CRYPTO_FCRYPT is not set 1678# CONFIG_CRYPTO_FCRYPT is not set
@@ -1655,11 +1688,13 @@ CONFIG_CRYPTO_ARC4=m
1655CONFIG_CRYPTO_KHAZAD=m 1688CONFIG_CRYPTO_KHAZAD=m
1656CONFIG_CRYPTO_ANUBIS=m 1689CONFIG_CRYPTO_ANUBIS=m
1657# CONFIG_CRYPTO_SEED is not set 1690# CONFIG_CRYPTO_SEED is not set
1691# CONFIG_CRYPTO_SALSA20 is not set
1658CONFIG_CRYPTO_DEFLATE=m 1692CONFIG_CRYPTO_DEFLATE=m
1659CONFIG_CRYPTO_MICHAEL_MIC=m 1693CONFIG_CRYPTO_MICHAEL_MIC=m
1660CONFIG_CRYPTO_CRC32C=m 1694CONFIG_CRYPTO_CRC32C=m
1661# CONFIG_CRYPTO_CAMELLIA is not set 1695# CONFIG_CRYPTO_CAMELLIA is not set
1662CONFIG_CRYPTO_TEST=m 1696CONFIG_CRYPTO_TEST=m
1663# CONFIG_CRYPTO_AUTHENC is not set 1697CONFIG_CRYPTO_AUTHENC=m
1698# CONFIG_CRYPTO_LZO is not set
1664# CONFIG_CRYPTO_HW is not set 1699# CONFIG_CRYPTO_HW is not set
1665# CONFIG_PPC_CLOCK is not set 1700# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index 4a87745c780..8d9a84f5015 100644
--- a/arch/powerpc/configs/iseries_defconfig
+++ b/arch/powerpc/configs/iseries_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc3 3# Linux kernel version: 2.6.25-rc6
4# Wed Nov 21 11:19:59 2007 4# Thu Mar 20 10:43:46 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -68,8 +69,6 @@ CONFIG_SYSVIPC_SYSCTL=y
68CONFIG_POSIX_MQUEUE=y 69CONFIG_POSIX_MQUEUE=y
69# CONFIG_BSD_PROCESS_ACCT is not set 70# CONFIG_BSD_PROCESS_ACCT is not set
70# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
73CONFIG_AUDIT=y 72CONFIG_AUDIT=y
74CONFIG_AUDITSYSCALL=y 73CONFIG_AUDITSYSCALL=y
75CONFIG_AUDIT_TREE=y 74CONFIG_AUDIT_TREE=y
@@ -77,11 +76,17 @@ CONFIG_IKCONFIG=y
77CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
78CONFIG_LOG_BUF_SHIFT=17 77CONFIG_LOG_BUF_SHIFT=17
79# CONFIG_CGROUPS is not set 78# CONFIG_CGROUPS is not set
80CONFIG_FAIR_GROUP_SCHED=y 79# CONFIG_GROUP_SCHED is not set
81CONFIG_FAIR_USER_SCHED=y 80# CONFIG_USER_SCHED is not set
82# CONFIG_FAIR_CGROUP_SCHED is not set 81# CONFIG_CGROUP_SCHED is not set
83CONFIG_SYSFS_DEPRECATED=y 82CONFIG_SYSFS_DEPRECATED=y
83CONFIG_SYSFS_DEPRECATED_V2=y
84# CONFIG_RELAY is not set 84# CONFIG_RELAY is not set
85CONFIG_NAMESPACES=y
86# CONFIG_UTS_NS is not set
87# CONFIG_IPC_NS is not set
88# CONFIG_USER_NS is not set
89# CONFIG_PID_NS is not set
85CONFIG_BLK_DEV_INITRD=y 90CONFIG_BLK_DEV_INITRD=y
86CONFIG_INITRAMFS_SOURCE="" 91CONFIG_INITRAMFS_SOURCE=""
87CONFIG_CC_OPTIMIZE_FOR_SIZE=y 92CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -95,11 +100,13 @@ CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y 100CONFIG_PRINTK=y
96CONFIG_BUG=y 101CONFIG_BUG=y
97CONFIG_ELF_CORE=y 102CONFIG_ELF_CORE=y
103# CONFIG_COMPAT_BRK is not set
98CONFIG_BASE_FULL=y 104CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 105CONFIG_FUTEX=y
100CONFIG_ANON_INODES=y 106CONFIG_ANON_INODES=y
101CONFIG_EPOLL=y 107CONFIG_EPOLL=y
102CONFIG_SIGNALFD=y 108CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y
103CONFIG_EVENTFD=y 110CONFIG_EVENTFD=y
104CONFIG_SHMEM=y 111CONFIG_SHMEM=y
105CONFIG_VM_EVENT_COUNTERS=y 112CONFIG_VM_EVENT_COUNTERS=y
@@ -107,6 +114,14 @@ CONFIG_SLUB_DEBUG=y
107# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
108CONFIG_SLUB=y 115CONFIG_SLUB=y
109# CONFIG_SLOB is not set 116# CONFIG_SLOB is not set
117# CONFIG_PROFILING is not set
118# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y
120# CONFIG_KPROBES is not set
121CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y
123CONFIG_PROC_PAGE_MONITOR=y
124CONFIG_SLABINFO=y
110CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
111# CONFIG_TINY_SHMEM is not set 126# CONFIG_TINY_SHMEM is not set
112CONFIG_BASE_SMALL=0 127CONFIG_BASE_SMALL=0
@@ -134,6 +149,7 @@ CONFIG_DEFAULT_AS=y
134# CONFIG_DEFAULT_CFQ is not set 149# CONFIG_DEFAULT_CFQ is not set
135# CONFIG_DEFAULT_NOOP is not set 150# CONFIG_DEFAULT_NOOP is not set
136CONFIG_DEFAULT_IOSCHED="anticipatory" 151CONFIG_DEFAULT_IOSCHED="anticipatory"
152CONFIG_CLASSIC_RCU=y
137 153
138# 154#
139# Platform support 155# Platform support
@@ -153,8 +169,8 @@ CONFIG_VIODASD=y
153CONFIG_VIOCD=m 169CONFIG_VIOCD=m
154CONFIG_VIOTAPE=m 170CONFIG_VIOTAPE=m
155CONFIG_VIOPATH=y 171CONFIG_VIOPATH=y
156# CONFIG_PPC_MPC52xx is not set 172# CONFIG_PPC_MPC512x is not set
157# CONFIG_PPC_MPC5200 is not set 173# CONFIG_PPC_MPC5121 is not set
158# CONFIG_PPC_PMAC is not set 174# CONFIG_PPC_PMAC is not set
159# CONFIG_PPC_MAPLE is not set 175# CONFIG_PPC_MAPLE is not set
160# CONFIG_PPC_PASEMI is not set 176# CONFIG_PPC_PASEMI is not set
@@ -164,6 +180,7 @@ CONFIG_VIOPATH=y
164# CONFIG_PPC_CELL_NATIVE is not set 180# CONFIG_PPC_CELL_NATIVE is not set
165# CONFIG_PPC_IBM_CELL_BLADE is not set 181# CONFIG_PPC_IBM_CELL_BLADE is not set
166# CONFIG_PQ2ADS is not set 182# CONFIG_PQ2ADS is not set
183# CONFIG_IPIC is not set
167# CONFIG_MPIC is not set 184# CONFIG_MPIC is not set
168# CONFIG_MPIC_WEIRD is not set 185# CONFIG_MPIC_WEIRD is not set
169# CONFIG_PPC_I8259 is not set 186# CONFIG_PPC_I8259 is not set
@@ -176,7 +193,6 @@ CONFIG_IBMVIO=y
176CONFIG_PPC_INDIRECT_IO=y 193CONFIG_PPC_INDIRECT_IO=y
177CONFIG_GENERIC_IOMAP=y 194CONFIG_GENERIC_IOMAP=y
178# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
179# CONFIG_CPM2 is not set
180# CONFIG_FSL_ULI1575 is not set 196# CONFIG_FSL_ULI1575 is not set
181 197
182# 198#
@@ -191,15 +207,19 @@ CONFIG_HZ_250=y
191# CONFIG_HZ_300 is not set 207# CONFIG_HZ_300 is not set
192# CONFIG_HZ_1000 is not set 208# CONFIG_HZ_1000 is not set
193CONFIG_HZ=250 209CONFIG_HZ=250
210# CONFIG_SCHED_HRTICK is not set
194CONFIG_PREEMPT_NONE=y 211CONFIG_PREEMPT_NONE=y
195# CONFIG_PREEMPT_VOLUNTARY is not set 212# CONFIG_PREEMPT_VOLUNTARY is not set
196# CONFIG_PREEMPT is not set 213# CONFIG_PREEMPT is not set
197# CONFIG_PREEMPT_BKL is not set
198CONFIG_BINFMT_ELF=y 214CONFIG_BINFMT_ELF=y
215CONFIG_COMPAT_BINFMT_ELF=y
199# CONFIG_BINFMT_MISC is not set 216# CONFIG_BINFMT_MISC is not set
200CONFIG_FORCE_MAX_ZONEORDER=13 217CONFIG_FORCE_MAX_ZONEORDER=13
201CONFIG_IOMMU_VMERGE=y 218CONFIG_IOMMU_VMERGE=y
219CONFIG_IOMMU_HELPER=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 220CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
221CONFIG_ARCH_HAS_WALK_MEMORY=y
222CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
203# CONFIG_KEXEC is not set 223# CONFIG_KEXEC is not set
204# CONFIG_CRASH_DUMP is not set 224# CONFIG_CRASH_DUMP is not set
205CONFIG_IRQ_ALL_CPUS=y 225CONFIG_IRQ_ALL_CPUS=y
@@ -227,7 +247,6 @@ CONFIG_PROC_DEVICETREE=y
227# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
228# CONFIG_PM is not set 248# CONFIG_PM is not set
229CONFIG_SECCOMP=y 249CONFIG_SECCOMP=y
230# CONFIG_WANT_DEVICE_TREE is not set
231CONFIG_ISA_DMA_API=y 250CONFIG_ISA_DMA_API=y
232 251
233# 252#
@@ -263,6 +282,7 @@ CONFIG_XFRM=y
263CONFIG_XFRM_USER=m 282CONFIG_XFRM_USER=m
264CONFIG_XFRM_SUB_POLICY=y 283CONFIG_XFRM_SUB_POLICY=y
265# CONFIG_XFRM_MIGRATE is not set 284# CONFIG_XFRM_MIGRATE is not set
285# CONFIG_XFRM_STATISTICS is not set
266CONFIG_NET_KEY=m 286CONFIG_NET_KEY=m
267# CONFIG_NET_KEY_MIGRATE is not set 287# CONFIG_NET_KEY_MIGRATE is not set
268CONFIG_INET=y 288CONFIG_INET=y
@@ -297,12 +317,14 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
297# CONFIG_NETWORK_SECMARK is not set 317# CONFIG_NETWORK_SECMARK is not set
298CONFIG_NETFILTER=y 318CONFIG_NETFILTER=y
299# CONFIG_NETFILTER_DEBUG is not set 319# CONFIG_NETFILTER_DEBUG is not set
320CONFIG_NETFILTER_ADVANCED=y
300 321
301# 322#
302# Core Netfilter Configuration 323# Core Netfilter Configuration
303# 324#
304# CONFIG_NETFILTER_NETLINK is not set 325CONFIG_NETFILTER_NETLINK=m
305CONFIG_NF_CONNTRACK_ENABLED=m 326CONFIG_NETFILTER_NETLINK_QUEUE=m
327CONFIG_NETFILTER_NETLINK_LOG=m
306CONFIG_NF_CONNTRACK=m 328CONFIG_NF_CONNTRACK=m
307# CONFIG_NF_CT_ACCT is not set 329# CONFIG_NF_CT_ACCT is not set
308CONFIG_NF_CONNTRACK_MARK=y 330CONFIG_NF_CONNTRACK_MARK=y
@@ -318,6 +340,7 @@ CONFIG_NF_CONNTRACK_IRC=m
318# CONFIG_NF_CONNTRACK_SANE is not set 340# CONFIG_NF_CONNTRACK_SANE is not set
319# CONFIG_NF_CONNTRACK_SIP is not set 341# CONFIG_NF_CONNTRACK_SIP is not set
320CONFIG_NF_CONNTRACK_TFTP=m 342CONFIG_NF_CONNTRACK_TFTP=m
343CONFIG_NF_CT_NETLINK=m
321CONFIG_NETFILTER_XTABLES=m 344CONFIG_NETFILTER_XTABLES=m
322CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 345CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
323CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 346CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
@@ -326,8 +349,10 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
326CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 349CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
327# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 350# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
328# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set 351# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
352CONFIG_NETFILTER_XT_TARGET_RATEEST=m
329# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 353# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
330# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 354# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
355CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
331CONFIG_NETFILTER_XT_MATCH_COMMENT=m 356CONFIG_NETFILTER_XT_MATCH_COMMENT=m
332# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set 357# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
333# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set 358# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
@@ -337,14 +362,17 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
337CONFIG_NETFILTER_XT_MATCH_DSCP=m 362CONFIG_NETFILTER_XT_MATCH_DSCP=m
338# CONFIG_NETFILTER_XT_MATCH_ESP is not set 363# CONFIG_NETFILTER_XT_MATCH_ESP is not set
339# CONFIG_NETFILTER_XT_MATCH_HELPER is not set 364# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
365CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
340CONFIG_NETFILTER_XT_MATCH_LENGTH=m 366CONFIG_NETFILTER_XT_MATCH_LENGTH=m
341CONFIG_NETFILTER_XT_MATCH_LIMIT=m 367CONFIG_NETFILTER_XT_MATCH_LIMIT=m
342CONFIG_NETFILTER_XT_MATCH_MAC=m 368CONFIG_NETFILTER_XT_MATCH_MAC=m
343CONFIG_NETFILTER_XT_MATCH_MARK=m 369CONFIG_NETFILTER_XT_MATCH_MARK=m
370CONFIG_NETFILTER_XT_MATCH_OWNER=m
344# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 371# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
345# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set 372# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
346CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 373CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
347# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 374# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
375CONFIG_NETFILTER_XT_MATCH_RATEEST=m
348CONFIG_NETFILTER_XT_MATCH_REALM=m 376CONFIG_NETFILTER_XT_MATCH_REALM=m
349CONFIG_NETFILTER_XT_MATCH_SCTP=m 377CONFIG_NETFILTER_XT_MATCH_SCTP=m
350# CONFIG_NETFILTER_XT_MATCH_STATE is not set 378# CONFIG_NETFILTER_XT_MATCH_STATE is not set
@@ -362,13 +390,10 @@ CONFIG_NF_CONNTRACK_IPV4=m
362CONFIG_NF_CONNTRACK_PROC_COMPAT=y 390CONFIG_NF_CONNTRACK_PROC_COMPAT=y
363CONFIG_IP_NF_QUEUE=m 391CONFIG_IP_NF_QUEUE=m
364CONFIG_IP_NF_IPTABLES=m 392CONFIG_IP_NF_IPTABLES=m
365CONFIG_IP_NF_MATCH_IPRANGE=m
366CONFIG_IP_NF_MATCH_TOS=m
367CONFIG_IP_NF_MATCH_RECENT=m 393CONFIG_IP_NF_MATCH_RECENT=m
368CONFIG_IP_NF_MATCH_ECN=m 394CONFIG_IP_NF_MATCH_ECN=m
369# CONFIG_IP_NF_MATCH_AH is not set 395# CONFIG_IP_NF_MATCH_AH is not set
370CONFIG_IP_NF_MATCH_TTL=m 396CONFIG_IP_NF_MATCH_TTL=m
371CONFIG_IP_NF_MATCH_OWNER=m
372CONFIG_IP_NF_MATCH_ADDRTYPE=m 397CONFIG_IP_NF_MATCH_ADDRTYPE=m
373CONFIG_IP_NF_FILTER=m 398CONFIG_IP_NF_FILTER=m
374CONFIG_IP_NF_TARGET_REJECT=m 399CONFIG_IP_NF_TARGET_REJECT=m
@@ -379,7 +404,6 @@ CONFIG_NF_NAT_NEEDED=y
379CONFIG_IP_NF_TARGET_MASQUERADE=m 404CONFIG_IP_NF_TARGET_MASQUERADE=m
380CONFIG_IP_NF_TARGET_REDIRECT=m 405CONFIG_IP_NF_TARGET_REDIRECT=m
381CONFIG_IP_NF_TARGET_NETMAP=m 406CONFIG_IP_NF_TARGET_NETMAP=m
382CONFIG_IP_NF_TARGET_SAME=m
383# CONFIG_NF_NAT_SNMP_BASIC is not set 407# CONFIG_NF_NAT_SNMP_BASIC is not set
384CONFIG_NF_NAT_FTP=m 408CONFIG_NF_NAT_FTP=m
385CONFIG_NF_NAT_IRC=m 409CONFIG_NF_NAT_IRC=m
@@ -389,7 +413,6 @@ CONFIG_NF_NAT_TFTP=m
389# CONFIG_NF_NAT_H323 is not set 413# CONFIG_NF_NAT_H323 is not set
390# CONFIG_NF_NAT_SIP is not set 414# CONFIG_NF_NAT_SIP is not set
391CONFIG_IP_NF_MANGLE=m 415CONFIG_IP_NF_MANGLE=m
392CONFIG_IP_NF_TARGET_TOS=m
393CONFIG_IP_NF_TARGET_ECN=m 416CONFIG_IP_NF_TARGET_ECN=m
394CONFIG_IP_NF_TARGET_TTL=m 417CONFIG_IP_NF_TARGET_TTL=m
395CONFIG_IP_NF_TARGET_CLUSTERIP=m 418CONFIG_IP_NF_TARGET_CLUSTERIP=m
@@ -425,6 +448,7 @@ CONFIG_NET_CLS_ROUTE=y
425# 448#
426# CONFIG_NET_PKTGEN is not set 449# CONFIG_NET_PKTGEN is not set
427# CONFIG_HAMRADIO is not set 450# CONFIG_HAMRADIO is not set
451# CONFIG_CAN is not set
428# CONFIG_IRDA is not set 452# CONFIG_IRDA is not set
429# CONFIG_BT is not set 453# CONFIG_BT is not set
430# CONFIG_AF_RXRPC is not set 454# CONFIG_AF_RXRPC is not set
@@ -470,7 +494,7 @@ CONFIG_BLK_DEV_NBD=m
470CONFIG_BLK_DEV_RAM=y 494CONFIG_BLK_DEV_RAM=y
471CONFIG_BLK_DEV_RAM_COUNT=16 495CONFIG_BLK_DEV_RAM_COUNT=16
472CONFIG_BLK_DEV_RAM_SIZE=65536 496CONFIG_BLK_DEV_RAM_SIZE=65536
473CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 497# CONFIG_BLK_DEV_XIP is not set
474# CONFIG_CDROM_PKTCDVD is not set 498# CONFIG_CDROM_PKTCDVD is not set
475# CONFIG_ATA_OVER_ETH is not set 499# CONFIG_ATA_OVER_ETH is not set
476CONFIG_MISC_DEVICES=y 500CONFIG_MISC_DEVICES=y
@@ -478,6 +502,8 @@ CONFIG_MISC_DEVICES=y
478# CONFIG_EEPROM_93CX6 is not set 502# CONFIG_EEPROM_93CX6 is not set
479# CONFIG_SGI_IOC4 is not set 503# CONFIG_SGI_IOC4 is not set
480# CONFIG_TIFM_CORE is not set 504# CONFIG_TIFM_CORE is not set
505# CONFIG_ENCLOSURE_SERVICES is not set
506CONFIG_HAVE_IDE=y
481# CONFIG_IDE is not set 507# CONFIG_IDE is not set
482 508
483# 509#
@@ -518,6 +544,7 @@ CONFIG_SCSI_FC_ATTRS=y
518# CONFIG_SCSI_ISCSI_ATTRS is not set 544# CONFIG_SCSI_ISCSI_ATTRS is not set
519CONFIG_SCSI_SAS_ATTRS=m 545CONFIG_SCSI_SAS_ATTRS=m
520CONFIG_SCSI_SAS_LIBSAS=m 546CONFIG_SCSI_SAS_LIBSAS=m
547CONFIG_SCSI_SAS_HOST_SMP=y
521CONFIG_SCSI_SAS_LIBSAS_DEBUG=y 548CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
522CONFIG_SCSI_SRP_ATTRS=m 549CONFIG_SCSI_SRP_ATTRS=m
523CONFIG_SCSI_LOWLEVEL=y 550CONFIG_SCSI_LOWLEVEL=y
@@ -543,6 +570,7 @@ CONFIG_SCSI_LOWLEVEL=y
543CONFIG_SCSI_IBMVSCSI=m 570CONFIG_SCSI_IBMVSCSI=m
544# CONFIG_SCSI_INITIO is not set 571# CONFIG_SCSI_INITIO is not set
545# CONFIG_SCSI_INIA100 is not set 572# CONFIG_SCSI_INIA100 is not set
573# CONFIG_SCSI_MVSAS is not set
546# CONFIG_SCSI_STEX is not set 574# CONFIG_SCSI_STEX is not set
547# CONFIG_SCSI_SYM53C8XX_2 is not set 575# CONFIG_SCSI_SYM53C8XX_2 is not set
548# CONFIG_SCSI_QLOGIC_1280 is not set 576# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -589,7 +617,6 @@ CONFIG_BONDING=m
589# CONFIG_EQUALIZER is not set 617# CONFIG_EQUALIZER is not set
590CONFIG_TUN=m 618CONFIG_TUN=m
591# CONFIG_VETH is not set 619# CONFIG_VETH is not set
592# CONFIG_IP1000 is not set
593# CONFIG_ARCNET is not set 620# CONFIG_ARCNET is not set
594# CONFIG_PHYLIB is not set 621# CONFIG_PHYLIB is not set
595CONFIG_NET_ETHERNET=y 622CONFIG_NET_ETHERNET=y
@@ -618,6 +645,7 @@ CONFIG_E100=y
618# CONFIG_NE2K_PCI is not set 645# CONFIG_NE2K_PCI is not set
619# CONFIG_8139CP is not set 646# CONFIG_8139CP is not set
620# CONFIG_8139TOO is not set 647# CONFIG_8139TOO is not set
648# CONFIG_R6040 is not set
621# CONFIG_SIS900 is not set 649# CONFIG_SIS900 is not set
622# CONFIG_EPIC100 is not set 650# CONFIG_EPIC100 is not set
623# CONFIG_SUNDANCE is not set 651# CONFIG_SUNDANCE is not set
@@ -631,6 +659,9 @@ CONFIG_E1000=m
631# CONFIG_E1000_NAPI is not set 659# CONFIG_E1000_NAPI is not set
632# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 660# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
633# CONFIG_E1000E is not set 661# CONFIG_E1000E is not set
662# CONFIG_E1000E_ENABLED is not set
663# CONFIG_IP1000 is not set
664# CONFIG_IGB is not set
634# CONFIG_NS83820 is not set 665# CONFIG_NS83820 is not set
635# CONFIG_HAMACHI is not set 666# CONFIG_HAMACHI is not set
636# CONFIG_YELLOWFIN is not set 667# CONFIG_YELLOWFIN is not set
@@ -656,6 +687,7 @@ CONFIG_NETDEV_10000=y
656# CONFIG_PASEMI_MAC is not set 687# CONFIG_PASEMI_MAC is not set
657# CONFIG_MLX4_CORE is not set 688# CONFIG_MLX4_CORE is not set
658# CONFIG_TEHUTI is not set 689# CONFIG_TEHUTI is not set
690# CONFIG_BNX2X is not set
659CONFIG_TR=y 691CONFIG_TR=y
660CONFIG_IBMOL=y 692CONFIG_IBMOL=y
661# CONFIG_3C359 is not set 693# CONFIG_3C359 is not set
@@ -683,7 +715,6 @@ CONFIG_PPPOE=m
683# CONFIG_SLIP is not set 715# CONFIG_SLIP is not set
684CONFIG_SLHC=m 716CONFIG_SLHC=m
685# CONFIG_NET_FC is not set 717# CONFIG_NET_FC is not set
686# CONFIG_SHAPER is not set
687CONFIG_NETCONSOLE=y 718CONFIG_NETCONSOLE=y
688# CONFIG_NETCONSOLE_DYNAMIC is not set 719# CONFIG_NETCONSOLE_DYNAMIC is not set
689CONFIG_NETPOLL=y 720CONFIG_NETPOLL=y
@@ -734,6 +765,7 @@ CONFIG_VT_CONSOLE=y
734CONFIG_HW_CONSOLE=y 765CONFIG_HW_CONSOLE=y
735# CONFIG_VT_HW_CONSOLE_BINDING is not set 766# CONFIG_VT_HW_CONSOLE_BINDING is not set
736# CONFIG_SERIAL_NONSTANDARD is not set 767# CONFIG_SERIAL_NONSTANDARD is not set
768# CONFIG_NOZOMI is not set
737 769
738# 770#
739# Serial drivers 771# Serial drivers
@@ -772,6 +804,7 @@ CONFIG_DEVPORT=y
772# CONFIG_W1 is not set 804# CONFIG_W1 is not set
773# CONFIG_POWER_SUPPLY is not set 805# CONFIG_POWER_SUPPLY is not set
774# CONFIG_HWMON is not set 806# CONFIG_HWMON is not set
807# CONFIG_THERMAL is not set
775# CONFIG_WATCHDOG is not set 808# CONFIG_WATCHDOG is not set
776 809
777# 810#
@@ -821,10 +854,12 @@ CONFIG_DUMMY_CONSOLE=y
821# CONFIG_HID_SUPPORT is not set 854# CONFIG_HID_SUPPORT is not set
822# CONFIG_USB_SUPPORT is not set 855# CONFIG_USB_SUPPORT is not set
823# CONFIG_MMC is not set 856# CONFIG_MMC is not set
857# CONFIG_MEMSTICK is not set
824# CONFIG_NEW_LEDS is not set 858# CONFIG_NEW_LEDS is not set
825# CONFIG_INFINIBAND is not set 859# CONFIG_INFINIBAND is not set
826# CONFIG_EDAC is not set 860# CONFIG_EDAC is not set
827# CONFIG_RTC_CLASS is not set 861# CONFIG_RTC_CLASS is not set
862# CONFIG_DMADEVICES is not set
828 863
829# 864#
830# Userspace I/O 865# Userspace I/O
@@ -869,12 +904,10 @@ CONFIG_GFS2_FS=m
869CONFIG_GFS2_FS_LOCKING_NOLOCK=m 904CONFIG_GFS2_FS_LOCKING_NOLOCK=m
870CONFIG_GFS2_FS_LOCKING_DLM=m 905CONFIG_GFS2_FS_LOCKING_DLM=m
871# CONFIG_OCFS2_FS is not set 906# CONFIG_OCFS2_FS is not set
872# CONFIG_MINIX_FS is not set 907CONFIG_DNOTIFY=y
873# CONFIG_ROMFS_FS is not set
874CONFIG_INOTIFY=y 908CONFIG_INOTIFY=y
875CONFIG_INOTIFY_USER=y 909CONFIG_INOTIFY_USER=y
876# CONFIG_QUOTA is not set 910# CONFIG_QUOTA is not set
877CONFIG_DNOTIFY=y
878CONFIG_AUTOFS_FS=m 911CONFIG_AUTOFS_FS=m
879# CONFIG_AUTOFS4_FS is not set 912# CONFIG_AUTOFS4_FS is not set
880# CONFIG_FUSE_FS is not set 913# CONFIG_FUSE_FS is not set
@@ -924,8 +957,10 @@ CONFIG_CONFIGFS_FS=m
924# CONFIG_EFS_FS is not set 957# CONFIG_EFS_FS is not set
925CONFIG_CRAMFS=y 958CONFIG_CRAMFS=y
926# CONFIG_VXFS_FS is not set 959# CONFIG_VXFS_FS is not set
960# CONFIG_MINIX_FS is not set
927# CONFIG_HPFS_FS is not set 961# CONFIG_HPFS_FS is not set
928# CONFIG_QNX4FS_FS is not set 962# CONFIG_QNX4FS_FS is not set
963# CONFIG_ROMFS_FS is not set
929# CONFIG_SYSV_FS is not set 964# CONFIG_SYSV_FS is not set
930# CONFIG_UFS_FS is not set 965# CONFIG_UFS_FS is not set
931CONFIG_NETWORK_FILESYSTEMS=y 966CONFIG_NETWORK_FILESYSTEMS=y
@@ -1009,7 +1044,6 @@ CONFIG_NLS_ISO8859_1=y
1009# CONFIG_NLS_UTF8 is not set 1044# CONFIG_NLS_UTF8 is not set
1010CONFIG_DLM=m 1045CONFIG_DLM=m
1011# CONFIG_DLM_DEBUG is not set 1046# CONFIG_DLM_DEBUG is not set
1012# CONFIG_UCC_SLOW is not set
1013 1047
1014# 1048#
1015# Library routines 1049# Library routines
@@ -1031,10 +1065,6 @@ CONFIG_PLIST=y
1031CONFIG_HAS_IOMEM=y 1065CONFIG_HAS_IOMEM=y
1032CONFIG_HAS_IOPORT=y 1066CONFIG_HAS_IOPORT=y
1033CONFIG_HAS_DMA=y 1067CONFIG_HAS_DMA=y
1034CONFIG_INSTRUMENTATION=y
1035# CONFIG_PROFILING is not set
1036# CONFIG_KPROBES is not set
1037# CONFIG_MARKERS is not set
1038 1068
1039# 1069#
1040# Kernel hacking 1070# Kernel hacking
@@ -1053,6 +1083,7 @@ CONFIG_SCHED_DEBUG=y
1053# CONFIG_SCHEDSTATS is not set 1083# CONFIG_SCHEDSTATS is not set
1054# CONFIG_TIMER_STATS is not set 1084# CONFIG_TIMER_STATS is not set
1055# CONFIG_SLUB_DEBUG_ON is not set 1085# CONFIG_SLUB_DEBUG_ON is not set
1086# CONFIG_SLUB_STATS is not set
1056# CONFIG_DEBUG_RT_MUTEXES is not set 1087# CONFIG_DEBUG_RT_MUTEXES is not set
1057# CONFIG_RT_MUTEX_TESTER is not set 1088# CONFIG_RT_MUTEX_TESTER is not set
1058# CONFIG_DEBUG_SPINLOCK is not set 1089# CONFIG_DEBUG_SPINLOCK is not set
@@ -1065,9 +1096,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1065# CONFIG_DEBUG_VM is not set 1096# CONFIG_DEBUG_VM is not set
1066# CONFIG_DEBUG_LIST is not set 1097# CONFIG_DEBUG_LIST is not set
1067# CONFIG_DEBUG_SG is not set 1098# CONFIG_DEBUG_SG is not set
1068# CONFIG_FORCED_INLINING is not set
1069# CONFIG_BOOT_PRINTK_DELAY is not set 1099# CONFIG_BOOT_PRINTK_DELAY is not set
1070# CONFIG_RCU_TORTURE_TEST is not set 1100# CONFIG_RCU_TORTURE_TEST is not set
1101# CONFIG_BACKTRACE_SELF_TEST is not set
1071# CONFIG_FAULT_INJECTION is not set 1102# CONFIG_FAULT_INJECTION is not set
1072# CONFIG_SAMPLES is not set 1103# CONFIG_SAMPLES is not set
1073CONFIG_DEBUG_STACKOVERFLOW=y 1104CONFIG_DEBUG_STACKOVERFLOW=y
@@ -1089,6 +1120,7 @@ CONFIG_CRYPTO=y
1089CONFIG_CRYPTO_ALGAPI=y 1120CONFIG_CRYPTO_ALGAPI=y
1090CONFIG_CRYPTO_AEAD=m 1121CONFIG_CRYPTO_AEAD=m
1091CONFIG_CRYPTO_BLKCIPHER=y 1122CONFIG_CRYPTO_BLKCIPHER=y
1123# CONFIG_CRYPTO_SEQIV is not set
1092CONFIG_CRYPTO_HASH=y 1124CONFIG_CRYPTO_HASH=y
1093CONFIG_CRYPTO_MANAGER=y 1125CONFIG_CRYPTO_MANAGER=y
1094CONFIG_CRYPTO_HMAC=y 1126CONFIG_CRYPTO_HMAC=y
@@ -1107,6 +1139,9 @@ CONFIG_CRYPTO_CBC=y
1107CONFIG_CRYPTO_PCBC=m 1139CONFIG_CRYPTO_PCBC=m
1108# CONFIG_CRYPTO_LRW is not set 1140# CONFIG_CRYPTO_LRW is not set
1109# CONFIG_CRYPTO_XTS is not set 1141# CONFIG_CRYPTO_XTS is not set
1142# CONFIG_CRYPTO_CTR is not set
1143# CONFIG_CRYPTO_GCM is not set
1144# CONFIG_CRYPTO_CCM is not set
1110# CONFIG_CRYPTO_CRYPTD is not set 1145# CONFIG_CRYPTO_CRYPTD is not set
1111CONFIG_CRYPTO_DES=y 1146CONFIG_CRYPTO_DES=y
1112# CONFIG_CRYPTO_FCRYPT is not set 1147# CONFIG_CRYPTO_FCRYPT is not set
@@ -1122,11 +1157,13 @@ CONFIG_CRYPTO_ARC4=m
1122CONFIG_CRYPTO_KHAZAD=m 1157CONFIG_CRYPTO_KHAZAD=m
1123CONFIG_CRYPTO_ANUBIS=m 1158CONFIG_CRYPTO_ANUBIS=m
1124CONFIG_CRYPTO_SEED=m 1159CONFIG_CRYPTO_SEED=m
1160# CONFIG_CRYPTO_SALSA20 is not set
1125CONFIG_CRYPTO_DEFLATE=m 1161CONFIG_CRYPTO_DEFLATE=m
1126CONFIG_CRYPTO_MICHAEL_MIC=m 1162CONFIG_CRYPTO_MICHAEL_MIC=m
1127CONFIG_CRYPTO_CRC32C=m 1163CONFIG_CRYPTO_CRC32C=m
1128# CONFIG_CRYPTO_CAMELLIA is not set 1164# CONFIG_CRYPTO_CAMELLIA is not set
1129CONFIG_CRYPTO_TEST=m 1165CONFIG_CRYPTO_TEST=m
1130CONFIG_CRYPTO_AUTHENC=m 1166CONFIG_CRYPTO_AUTHENC=m
1167# CONFIG_CRYPTO_LZO is not set
1131# CONFIG_CRYPTO_HW is not set 1168# CONFIG_CRYPTO_HW is not set
1132# CONFIG_PPC_CLOCK is not set 1169# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 7b4280811fb..22a943afc3c 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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:22 2007 4# Mon Mar 24 08:48:10 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,16 +67,24 @@ CONFIG_SYSVIPC_SYSCTL=y
66CONFIG_POSIX_MQUEUE=y 67CONFIG_POSIX_MQUEUE=y
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72CONFIG_IKCONFIG=y 71CONFIG_IKCONFIG=y
73CONFIG_IKCONFIG_PROC=y 72CONFIG_IKCONFIG_PROC=y
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76# CONFIG_FAIR_GROUP_SCHED is not set 76# CONFIG_FAIR_GROUP_SCHED is not set
77# CONFIG_RT_GROUP_SCHED is not set
78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
78# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83CONFIG_NAMESPACES=y
84# CONFIG_UTS_NS is not set
85# CONFIG_IPC_NS is not set
86# CONFIG_USER_NS is not set
87# CONFIG_PID_NS is not set
79CONFIG_BLK_DEV_INITRD=y 88CONFIG_BLK_DEV_INITRD=y
80CONFIG_INITRAMFS_SOURCE="" 89CONFIG_INITRAMFS_SOURCE=""
81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +98,13 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 98CONFIG_PRINTK=y
90CONFIG_BUG=y 99CONFIG_BUG=y
91CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 102CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 103CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 104CONFIG_ANON_INODES=y
95CONFIG_EPOLL=y 105CONFIG_EPOLL=y
96CONFIG_SIGNALFD=y 106CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 109CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +112,14 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
102CONFIG_SLUB=y 113CONFIG_SLUB=y
103# CONFIG_SLOB is not set 114# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set
116# CONFIG_MARKERS is not set
117CONFIG_HAVE_OPROFILE=y
118# CONFIG_KPROBES is not set
119CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y
121CONFIG_PROC_PAGE_MONITOR=y
122CONFIG_SLABINFO=y
104CONFIG_RT_MUTEXES=y 123CONFIG_RT_MUTEXES=y
105# CONFIG_TINY_SHMEM is not set 124# CONFIG_TINY_SHMEM is not set
106CONFIG_BASE_SMALL=0 125CONFIG_BASE_SMALL=0
@@ -128,6 +147,7 @@ CONFIG_DEFAULT_AS=y
128# CONFIG_DEFAULT_CFQ is not set 147# CONFIG_DEFAULT_CFQ is not set
129# CONFIG_DEFAULT_NOOP is not set 148# CONFIG_DEFAULT_NOOP is not set
130CONFIG_DEFAULT_IOSCHED="anticipatory" 149CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y
131 151
132# 152#
133# Platform support 153# Platform support
@@ -138,22 +158,24 @@ CONFIG_PPC_MULTIPLATFORM=y
138# CONFIG_PPC_86xx is not set 158# CONFIG_PPC_86xx is not set
139CONFIG_CLASSIC32=y 159CONFIG_CLASSIC32=y
140# CONFIG_PPC_CHRP is not set 160# CONFIG_PPC_CHRP is not set
161# CONFIG_PPC_MPC512x is not set
162# CONFIG_PPC_MPC5121 is not set
163# CONFIG_MPC5121_ADS is not set
141# CONFIG_PPC_MPC52xx is not set 164# CONFIG_PPC_MPC52xx is not set
142# CONFIG_PPC_MPC5200 is not set
143# CONFIG_PPC_EFIKA is not set
144# CONFIG_PPC_LITE5200 is not set
145# CONFIG_PPC_PMAC is not set 165# CONFIG_PPC_PMAC is not set
146# CONFIG_PPC_CELL is not set 166# CONFIG_PPC_CELL is not set
147# CONFIG_PPC_CELL_NATIVE is not set 167# CONFIG_PPC_CELL_NATIVE is not set
148# CONFIG_PQ2ADS is not set 168# CONFIG_PQ2ADS is not set
149CONFIG_EMBEDDED6xx=y 169CONFIG_EMBEDDED6xx=y
150CONFIG_LINKSTATION=y 170CONFIG_LINKSTATION=y
171# CONFIG_STORCENTER is not set
151# CONFIG_MPC7448HPC2 is not set 172# CONFIG_MPC7448HPC2 is not set
152# CONFIG_PPC_HOLLY is not set 173# CONFIG_PPC_HOLLY is not set
153# CONFIG_PPC_PRPMC2800 is not set 174# CONFIG_PPC_PRPMC2800 is not set
154CONFIG_MPC10X_BRIDGE=y 175CONFIG_MPC10X_BRIDGE=y
155CONFIG_MPC10X_OPENPIC=y 176CONFIG_MPC10X_OPENPIC=y
156# CONFIG_MPC10X_STORE_GATHERING is not set 177# CONFIG_MPC10X_STORE_GATHERING is not set
178# CONFIG_IPIC is not set
157CONFIG_MPIC=y 179CONFIG_MPIC=y
158# CONFIG_MPIC_WEIRD is not set 180# CONFIG_MPIC_WEIRD is not set
159# CONFIG_PPC_I8259 is not set 181# CONFIG_PPC_I8259 is not set
@@ -165,7 +187,6 @@ CONFIG_MPIC=y
165# CONFIG_GENERIC_IOMAP is not set 187# CONFIG_GENERIC_IOMAP is not set
166# CONFIG_CPU_FREQ is not set 188# CONFIG_CPU_FREQ is not set
167# CONFIG_TAU is not set 189# CONFIG_TAU is not set
168# CONFIG_CPM2 is not set
169# CONFIG_FSL_ULI1575 is not set 190# CONFIG_FSL_ULI1575 is not set
170 191
171# 192#
@@ -181,12 +202,16 @@ CONFIG_HZ_100=y
181# CONFIG_HZ_300 is not set 202# CONFIG_HZ_300 is not set
182# CONFIG_HZ_1000 is not set 203# CONFIG_HZ_1000 is not set
183CONFIG_HZ=100 204CONFIG_HZ=100
205# CONFIG_SCHED_HRTICK is not set
184CONFIG_PREEMPT_NONE=y 206CONFIG_PREEMPT_NONE=y
185# CONFIG_PREEMPT_VOLUNTARY is not set 207# CONFIG_PREEMPT_VOLUNTARY is not set
186# CONFIG_PREEMPT is not set 208# CONFIG_PREEMPT is not set
187CONFIG_BINFMT_ELF=y 209CONFIG_BINFMT_ELF=y
188# CONFIG_BINFMT_MISC is not set 210# CONFIG_BINFMT_MISC is not set
211# CONFIG_IOMMU_HELPER is not set
189CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 212CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
213CONFIG_ARCH_HAS_WALK_MEMORY=y
214CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
190# CONFIG_KEXEC is not set 215# CONFIG_KEXEC is not set
191CONFIG_ARCH_FLATMEM_ENABLE=y 216CONFIG_ARCH_FLATMEM_ENABLE=y
192CONFIG_ARCH_POPULATES_NODE_MAP=y 217CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -206,10 +231,7 @@ CONFIG_VIRT_TO_BUS=y
206CONFIG_PROC_DEVICETREE=y 231CONFIG_PROC_DEVICETREE=y
207# CONFIG_CMDLINE_BOOL is not set 232# CONFIG_CMDLINE_BOOL is not set
208# CONFIG_PM is not set 233# CONFIG_PM is not set
209CONFIG_SUSPEND_UP_POSSIBLE=y
210CONFIG_HIBERNATION_UP_POSSIBLE=y
211CONFIG_SECCOMP=y 234CONFIG_SECCOMP=y
212# CONFIG_WANT_DEVICE_TREE is not set
213CONFIG_ISA_DMA_API=y 235CONFIG_ISA_DMA_API=y
214 236
215# 237#
@@ -259,6 +281,7 @@ CONFIG_XFRM=y
259# CONFIG_XFRM_USER is not set 281# CONFIG_XFRM_USER is not set
260# CONFIG_XFRM_SUB_POLICY is not set 282# CONFIG_XFRM_SUB_POLICY is not set
261# CONFIG_XFRM_MIGRATE is not set 283# CONFIG_XFRM_MIGRATE is not set
284# CONFIG_XFRM_STATISTICS is not set
262# CONFIG_NET_KEY is not set 285# CONFIG_NET_KEY is not set
263CONFIG_INET=y 286CONFIG_INET=y
264CONFIG_IP_MULTICAST=y 287CONFIG_IP_MULTICAST=y
@@ -295,12 +318,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
295# CONFIG_NETWORK_SECMARK is not set 318# CONFIG_NETWORK_SECMARK is not set
296CONFIG_NETFILTER=y 319CONFIG_NETFILTER=y
297# CONFIG_NETFILTER_DEBUG is not set 320# CONFIG_NETFILTER_DEBUG is not set
321CONFIG_NETFILTER_ADVANCED=y
298 322
299# 323#
300# Core Netfilter Configuration 324# Core Netfilter Configuration
301# 325#
302# CONFIG_NETFILTER_NETLINK is not set 326# CONFIG_NETFILTER_NETLINK_QUEUE is not set
303CONFIG_NF_CONNTRACK_ENABLED=m 327# CONFIG_NETFILTER_NETLINK_LOG is not set
304CONFIG_NF_CONNTRACK=m 328CONFIG_NF_CONNTRACK=m
305# CONFIG_NF_CT_ACCT is not set 329# CONFIG_NF_CT_ACCT is not set
306# CONFIG_NF_CONNTRACK_MARK is not set 330# CONFIG_NF_CONNTRACK_MARK is not set
@@ -317,6 +341,7 @@ CONFIG_NF_CONNTRACK_PPTP=m
317# CONFIG_NF_CONNTRACK_SANE is not set 341# CONFIG_NF_CONNTRACK_SANE is not set
318CONFIG_NF_CONNTRACK_SIP=m 342CONFIG_NF_CONNTRACK_SIP=m
319CONFIG_NF_CONNTRACK_TFTP=m 343CONFIG_NF_CONNTRACK_TFTP=m
344# CONFIG_NF_CT_NETLINK is not set
320CONFIG_NETFILTER_XTABLES=m 345CONFIG_NETFILTER_XTABLES=m
321# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 346# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
322# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set 347# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
@@ -325,8 +350,10 @@ CONFIG_NETFILTER_XTABLES=m
325# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 350# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
326# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 351# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
327# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set 352# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
353# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
328# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 354# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
329# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 355# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
356# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
330# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set 357# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
331# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set 358# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
332# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set 359# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
@@ -336,14 +363,17 @@ CONFIG_NETFILTER_XTABLES=m
336# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 363# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
337# CONFIG_NETFILTER_XT_MATCH_ESP is not set 364# CONFIG_NETFILTER_XT_MATCH_ESP is not set
338# CONFIG_NETFILTER_XT_MATCH_HELPER is not set 365# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
366# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
339# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 367# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
340# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 368# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
341CONFIG_NETFILTER_XT_MATCH_MAC=m 369CONFIG_NETFILTER_XT_MATCH_MAC=m
342# CONFIG_NETFILTER_XT_MATCH_MARK is not set 370# CONFIG_NETFILTER_XT_MATCH_MARK is not set
371# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
343# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 372# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
344# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set 373# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
345CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 374CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
346# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 375# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
376# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
347# CONFIG_NETFILTER_XT_MATCH_REALM is not set 377# CONFIG_NETFILTER_XT_MATCH_REALM is not set
348# CONFIG_NETFILTER_XT_MATCH_SCTP is not set 378# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
349CONFIG_NETFILTER_XT_MATCH_STATE=m 379CONFIG_NETFILTER_XT_MATCH_STATE=m
@@ -361,13 +391,10 @@ CONFIG_NF_CONNTRACK_IPV4=m
361CONFIG_NF_CONNTRACK_PROC_COMPAT=y 391CONFIG_NF_CONNTRACK_PROC_COMPAT=y
362# CONFIG_IP_NF_QUEUE is not set 392# CONFIG_IP_NF_QUEUE is not set
363CONFIG_IP_NF_IPTABLES=m 393CONFIG_IP_NF_IPTABLES=m
364CONFIG_IP_NF_MATCH_IPRANGE=m
365# CONFIG_IP_NF_MATCH_TOS is not set
366CONFIG_IP_NF_MATCH_RECENT=m 394CONFIG_IP_NF_MATCH_RECENT=m
367# CONFIG_IP_NF_MATCH_ECN is not set 395# CONFIG_IP_NF_MATCH_ECN is not set
368# CONFIG_IP_NF_MATCH_AH is not set 396# CONFIG_IP_NF_MATCH_AH is not set
369# CONFIG_IP_NF_MATCH_TTL is not set 397# CONFIG_IP_NF_MATCH_TTL is not set
370CONFIG_IP_NF_MATCH_OWNER=m
371CONFIG_IP_NF_MATCH_ADDRTYPE=m 398CONFIG_IP_NF_MATCH_ADDRTYPE=m
372CONFIG_IP_NF_FILTER=m 399CONFIG_IP_NF_FILTER=m
373CONFIG_IP_NF_TARGET_REJECT=m 400CONFIG_IP_NF_TARGET_REJECT=m
@@ -378,7 +405,6 @@ CONFIG_NF_NAT_NEEDED=y
378CONFIG_IP_NF_TARGET_MASQUERADE=m 405CONFIG_IP_NF_TARGET_MASQUERADE=m
379CONFIG_IP_NF_TARGET_REDIRECT=m 406CONFIG_IP_NF_TARGET_REDIRECT=m
380# CONFIG_IP_NF_TARGET_NETMAP is not set 407# CONFIG_IP_NF_TARGET_NETMAP is not set
381# CONFIG_IP_NF_TARGET_SAME is not set
382# CONFIG_NF_NAT_SNMP_BASIC is not set 408# CONFIG_NF_NAT_SNMP_BASIC is not set
383CONFIG_NF_NAT_PROTO_GRE=m 409CONFIG_NF_NAT_PROTO_GRE=m
384CONFIG_NF_NAT_FTP=m 410CONFIG_NF_NAT_FTP=m
@@ -389,7 +415,6 @@ CONFIG_NF_NAT_PPTP=m
389CONFIG_NF_NAT_H323=m 415CONFIG_NF_NAT_H323=m
390CONFIG_NF_NAT_SIP=m 416CONFIG_NF_NAT_SIP=m
391CONFIG_IP_NF_MANGLE=m 417CONFIG_IP_NF_MANGLE=m
392CONFIG_IP_NF_TARGET_TOS=m
393CONFIG_IP_NF_TARGET_ECN=m 418CONFIG_IP_NF_TARGET_ECN=m
394CONFIG_IP_NF_TARGET_TTL=m 419CONFIG_IP_NF_TARGET_TTL=m
395# CONFIG_IP_NF_TARGET_CLUSTERIP is not set 420# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
@@ -418,6 +443,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
418# 443#
419# CONFIG_NET_PKTGEN is not set 444# CONFIG_NET_PKTGEN is not set
420# CONFIG_HAMRADIO is not set 445# CONFIG_HAMRADIO is not set
446# CONFIG_CAN is not set
421# CONFIG_IRDA is not set 447# CONFIG_IRDA is not set
422# CONFIG_BT is not set 448# CONFIG_BT is not set
423# CONFIG_AF_RXRPC is not set 449# CONFIG_AF_RXRPC is not set
@@ -459,6 +485,7 @@ CONFIG_MTD_CONCAT=y
459CONFIG_MTD_PARTITIONS=y 485CONFIG_MTD_PARTITIONS=y
460# CONFIG_MTD_REDBOOT_PARTS is not set 486# CONFIG_MTD_REDBOOT_PARTS is not set
461# CONFIG_MTD_CMDLINE_PARTS is not set 487# CONFIG_MTD_CMDLINE_PARTS is not set
488# CONFIG_MTD_OF_PARTS is not set
462 489
463# 490#
464# User Modules And Translation Layers 491# User Modules And Translation Layers
@@ -554,7 +581,7 @@ CONFIG_BLK_DEV_LOOP=y
554CONFIG_BLK_DEV_RAM=y 581CONFIG_BLK_DEV_RAM=y
555CONFIG_BLK_DEV_RAM_COUNT=2 582CONFIG_BLK_DEV_RAM_COUNT=2
556CONFIG_BLK_DEV_RAM_SIZE=8192 583CONFIG_BLK_DEV_RAM_SIZE=8192
557CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 584# CONFIG_BLK_DEV_XIP is not set
558# CONFIG_CDROM_PKTCDVD is not set 585# CONFIG_CDROM_PKTCDVD is not set
559# CONFIG_ATA_OVER_ETH is not set 586# CONFIG_ATA_OVER_ETH is not set
560CONFIG_MISC_DEVICES=y 587CONFIG_MISC_DEVICES=y
@@ -562,6 +589,8 @@ CONFIG_MISC_DEVICES=y
562# CONFIG_EEPROM_93CX6 is not set 589# CONFIG_EEPROM_93CX6 is not set
563# CONFIG_SGI_IOC4 is not set 590# CONFIG_SGI_IOC4 is not set
564# CONFIG_TIFM_CORE is not set 591# CONFIG_TIFM_CORE is not set
592# CONFIG_ENCLOSURE_SERVICES is not set
593CONFIG_HAVE_IDE=y
565# CONFIG_IDE is not set 594# CONFIG_IDE is not set
566 595
567# 596#
@@ -626,6 +655,7 @@ CONFIG_SCSI_LOWLEVEL=y
626# CONFIG_SCSI_IPS is not set 655# CONFIG_SCSI_IPS is not set
627# CONFIG_SCSI_INITIO is not set 656# CONFIG_SCSI_INITIO is not set
628# CONFIG_SCSI_INIA100 is not set 657# CONFIG_SCSI_INIA100 is not set
658# CONFIG_SCSI_MVSAS is not set
629# CONFIG_SCSI_STEX is not set 659# CONFIG_SCSI_STEX is not set
630# CONFIG_SCSI_SYM53C8XX_2 is not set 660# CONFIG_SCSI_SYM53C8XX_2 is not set
631# CONFIG_SCSI_IPR is not set 661# CONFIG_SCSI_IPR is not set
@@ -656,6 +686,7 @@ CONFIG_ATA=y
656# CONFIG_SATA_VIA is not set 686# CONFIG_SATA_VIA is not set
657# CONFIG_SATA_VITESSE is not set 687# CONFIG_SATA_VITESSE is not set
658# CONFIG_SATA_INIC162X is not set 688# CONFIG_SATA_INIC162X is not set
689# CONFIG_SATA_FSL is not set
659# CONFIG_PATA_ALI is not set 690# CONFIG_PATA_ALI is not set
660# CONFIG_PATA_AMD is not set 691# CONFIG_PATA_AMD is not set
661# CONFIG_PATA_ARTOP is not set 692# CONFIG_PATA_ARTOP is not set
@@ -679,6 +710,7 @@ CONFIG_PATA_IT821X=y
679# CONFIG_PATA_MPIIX is not set 710# CONFIG_PATA_MPIIX is not set
680# CONFIG_PATA_OLDPIIX is not set 711# CONFIG_PATA_OLDPIIX is not set
681# CONFIG_PATA_NETCELL is not set 712# CONFIG_PATA_NETCELL is not set
713# CONFIG_PATA_NINJA32 is not set
682# CONFIG_PATA_NS87410 is not set 714# CONFIG_PATA_NS87410 is not set
683# CONFIG_PATA_NS87415 is not set 715# CONFIG_PATA_NS87415 is not set
684# CONFIG_PATA_OPTI is not set 716# CONFIG_PATA_OPTI is not set
@@ -693,6 +725,7 @@ CONFIG_PATA_SIL680=y
693# CONFIG_PATA_SIS is not set 725# CONFIG_PATA_SIS is not set
694# CONFIG_PATA_VIA is not set 726# CONFIG_PATA_VIA is not set
695# CONFIG_PATA_WINBOND is not set 727# CONFIG_PATA_WINBOND is not set
728# CONFIG_PATA_PLATFORM is not set
696# CONFIG_MD is not set 729# CONFIG_MD is not set
697# CONFIG_FUSION is not set 730# CONFIG_FUSION is not set
698 731
@@ -711,7 +744,6 @@ CONFIG_NETDEVICES=y
711# CONFIG_EQUALIZER is not set 744# CONFIG_EQUALIZER is not set
712CONFIG_TUN=m 745CONFIG_TUN=m
713# CONFIG_VETH is not set 746# CONFIG_VETH is not set
714# CONFIG_IP1000 is not set
715# CONFIG_ARCNET is not set 747# CONFIG_ARCNET is not set
716# CONFIG_PHYLIB is not set 748# CONFIG_PHYLIB is not set
717CONFIG_NET_ETHERNET=y 749CONFIG_NET_ETHERNET=y
@@ -742,6 +774,9 @@ CONFIG_NETDEV_1000=y
742# CONFIG_DL2K is not set 774# CONFIG_DL2K is not set
743# CONFIG_E1000 is not set 775# CONFIG_E1000 is not set
744# CONFIG_E1000E is not set 776# CONFIG_E1000E is not set
777# CONFIG_E1000E_ENABLED is not set
778# CONFIG_IP1000 is not set
779# CONFIG_IGB is not set
745# CONFIG_NS83820 is not set 780# CONFIG_NS83820 is not set
746# CONFIG_HAMACHI is not set 781# CONFIG_HAMACHI is not set
747# CONFIG_YELLOWFIN is not set 782# CONFIG_YELLOWFIN is not set
@@ -754,6 +789,7 @@ CONFIG_R8169=y
754# CONFIG_VIA_VELOCITY is not set 789# CONFIG_VIA_VELOCITY is not set
755# CONFIG_TIGON3 is not set 790# CONFIG_TIGON3 is not set
756# CONFIG_BNX2 is not set 791# CONFIG_BNX2 is not set
792# CONFIG_GIANFAR is not set
757# CONFIG_MV643XX_ETH is not set 793# CONFIG_MV643XX_ETH is not set
758# CONFIG_QLA3XXX is not set 794# CONFIG_QLA3XXX is not set
759# CONFIG_ATL1 is not set 795# CONFIG_ATL1 is not set
@@ -768,6 +804,7 @@ CONFIG_NETDEV_10000=y
768# CONFIG_NIU is not set 804# CONFIG_NIU is not set
769# CONFIG_MLX4_CORE is not set 805# CONFIG_MLX4_CORE is not set
770# CONFIG_TEHUTI is not set 806# CONFIG_TEHUTI is not set
807# CONFIG_BNX2X is not set
771# CONFIG_TR is not set 808# CONFIG_TR is not set
772 809
773# 810#
@@ -790,7 +827,6 @@ CONFIG_NETDEV_10000=y
790# CONFIG_PPP is not set 827# CONFIG_PPP is not set
791# CONFIG_SLIP is not set 828# CONFIG_SLIP is not set
792# CONFIG_NET_FC is not set 829# CONFIG_NET_FC is not set
793# CONFIG_SHAPER is not set
794CONFIG_NETCONSOLE=y 830CONFIG_NETCONSOLE=y
795# CONFIG_NETCONSOLE_DYNAMIC is not set 831# CONFIG_NETCONSOLE_DYNAMIC is not set
796CONFIG_NETPOLL=y 832CONFIG_NETPOLL=y
@@ -851,6 +887,7 @@ CONFIG_VT_CONSOLE=y
851CONFIG_HW_CONSOLE=y 887CONFIG_HW_CONSOLE=y
852# CONFIG_VT_HW_CONSOLE_BINDING is not set 888# CONFIG_VT_HW_CONSOLE_BINDING is not set
853# CONFIG_SERIAL_NONSTANDARD is not set 889# CONFIG_SERIAL_NONSTANDARD is not set
890# CONFIG_NOZOMI is not set
854 891
855# 892#
856# Serial drivers 893# Serial drivers
@@ -924,14 +961,12 @@ CONFIG_I2C_MPC=y
924# 961#
925# Miscellaneous I2C Chip support 962# Miscellaneous I2C Chip support
926# 963#
927# CONFIG_SENSORS_DS1337 is not set
928# CONFIG_SENSORS_DS1374 is not set
929# CONFIG_DS1682 is not set 964# CONFIG_DS1682 is not set
930CONFIG_SENSORS_EEPROM=m 965CONFIG_SENSORS_EEPROM=m
931# CONFIG_SENSORS_PCF8574 is not set 966# CONFIG_SENSORS_PCF8574 is not set
932# CONFIG_SENSORS_PCA9539 is not set 967# CONFIG_PCF8575 is not set
933# CONFIG_SENSORS_PCF8591 is not set 968# CONFIG_SENSORS_PCF8591 is not set
934# CONFIG_SENSORS_M41T00 is not set 969# CONFIG_TPS65010 is not set
935# CONFIG_SENSORS_MAX6875 is not set 970# CONFIG_SENSORS_MAX6875 is not set
936# CONFIG_SENSORS_TSL2550 is not set 971# CONFIG_SENSORS_TSL2550 is not set
937# CONFIG_I2C_DEBUG_CORE is not set 972# CONFIG_I2C_DEBUG_CORE is not set
@@ -956,6 +991,7 @@ CONFIG_HWMON=y
956# CONFIG_SENSORS_ADM1031 is not set 991# CONFIG_SENSORS_ADM1031 is not set
957# CONFIG_SENSORS_ADM9240 is not set 992# CONFIG_SENSORS_ADM9240 is not set
958# CONFIG_SENSORS_ADT7470 is not set 993# CONFIG_SENSORS_ADT7470 is not set
994# CONFIG_SENSORS_ADT7473 is not set
959# CONFIG_SENSORS_ATXP1 is not set 995# CONFIG_SENSORS_ATXP1 is not set
960# CONFIG_SENSORS_DS1621 is not set 996# CONFIG_SENSORS_DS1621 is not set
961# CONFIG_SENSORS_I5K_AMB is not set 997# CONFIG_SENSORS_I5K_AMB is not set
@@ -985,6 +1021,7 @@ CONFIG_HWMON=y
985# CONFIG_SENSORS_SMSC47M1 is not set 1021# CONFIG_SENSORS_SMSC47M1 is not set
986# CONFIG_SENSORS_SMSC47M192 is not set 1022# CONFIG_SENSORS_SMSC47M192 is not set
987# CONFIG_SENSORS_SMSC47B397 is not set 1023# CONFIG_SENSORS_SMSC47B397 is not set
1024# CONFIG_SENSORS_ADS7828 is not set
988# CONFIG_SENSORS_THMC50 is not set 1025# CONFIG_SENSORS_THMC50 is not set
989# CONFIG_SENSORS_VIA686A is not set 1026# CONFIG_SENSORS_VIA686A is not set
990# CONFIG_SENSORS_VT1211 is not set 1027# CONFIG_SENSORS_VT1211 is not set
@@ -994,9 +1031,11 @@ CONFIG_HWMON=y
994# CONFIG_SENSORS_W83792D is not set 1031# CONFIG_SENSORS_W83792D is not set
995# CONFIG_SENSORS_W83793 is not set 1032# CONFIG_SENSORS_W83793 is not set
996# CONFIG_SENSORS_W83L785TS is not set 1033# CONFIG_SENSORS_W83L785TS is not set
1034# CONFIG_SENSORS_W83L786NG is not set
997# CONFIG_SENSORS_W83627HF is not set 1035# CONFIG_SENSORS_W83627HF is not set
998# CONFIG_SENSORS_W83627EHF is not set 1036# CONFIG_SENSORS_W83627EHF is not set
999# CONFIG_HWMON_DEBUG_CHIP is not set 1037# CONFIG_HWMON_DEBUG_CHIP is not set
1038# CONFIG_THERMAL is not set
1000# CONFIG_WATCHDOG is not set 1039# CONFIG_WATCHDOG is not set
1001 1040
1002# 1041#
@@ -1063,6 +1102,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1063CONFIG_USB_ARCH_HAS_EHCI=y 1102CONFIG_USB_ARCH_HAS_EHCI=y
1064CONFIG_USB=y 1103CONFIG_USB=y
1065# CONFIG_USB_DEBUG is not set 1104# CONFIG_USB_DEBUG is not set
1105# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1066 1106
1067# 1107#
1068# Miscellaneous USB options 1108# Miscellaneous USB options
@@ -1076,9 +1116,10 @@ CONFIG_USB_DEVICE_CLASS=y
1076# USB Host Controller Drivers 1116# USB Host Controller Drivers
1077# 1117#
1078CONFIG_USB_EHCI_HCD=y 1118CONFIG_USB_EHCI_HCD=y
1079# CONFIG_USB_EHCI_SPLIT_ISO is not set
1080# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1119# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1081# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1120# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1121# CONFIG_USB_EHCI_FSL is not set
1122CONFIG_USB_EHCI_HCD_PPC_OF=y
1082# CONFIG_USB_ISP116X_HCD is not set 1123# CONFIG_USB_ISP116X_HCD is not set
1083CONFIG_USB_OHCI_HCD=y 1124CONFIG_USB_OHCI_HCD=y
1084CONFIG_USB_OHCI_HCD_PPC_OF=y 1125CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1130,12 +1171,9 @@ CONFIG_USB_MON=y
1130# 1171#
1131# USB port drivers 1172# USB port drivers
1132# 1173#
1133
1134#
1135# USB Serial Converter support
1136#
1137CONFIG_USB_SERIAL=y 1174CONFIG_USB_SERIAL=y
1138CONFIG_USB_SERIAL_CONSOLE=y 1175CONFIG_USB_SERIAL_CONSOLE=y
1176# CONFIG_USB_EZUSB is not set
1139# CONFIG_USB_SERIAL_GENERIC is not set 1177# CONFIG_USB_SERIAL_GENERIC is not set
1140# CONFIG_USB_SERIAL_AIRCABLE is not set 1178# CONFIG_USB_SERIAL_AIRCABLE is not set
1141# CONFIG_USB_SERIAL_AIRPRIME is not set 1179# CONFIG_USB_SERIAL_AIRPRIME is not set
@@ -1156,6 +1194,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1156# CONFIG_USB_SERIAL_EDGEPORT_TI is not set 1194# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
1157# CONFIG_USB_SERIAL_GARMIN is not set 1195# CONFIG_USB_SERIAL_GARMIN is not set
1158# CONFIG_USB_SERIAL_IPW is not set 1196# CONFIG_USB_SERIAL_IPW is not set
1197# CONFIG_USB_SERIAL_IUU is not set
1159# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set 1198# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
1160# CONFIG_USB_SERIAL_KEYSPAN is not set 1199# CONFIG_USB_SERIAL_KEYSPAN is not set
1161# CONFIG_USB_SERIAL_KLSI is not set 1200# CONFIG_USB_SERIAL_KLSI is not set
@@ -1199,16 +1238,9 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1199# CONFIG_USB_TRANCEVIBRATOR is not set 1238# CONFIG_USB_TRANCEVIBRATOR is not set
1200# CONFIG_USB_IOWARRIOR is not set 1239# CONFIG_USB_IOWARRIOR is not set
1201# CONFIG_USB_TEST is not set 1240# CONFIG_USB_TEST is not set
1202
1203#
1204# USB DSL modem support
1205#
1206
1207#
1208# USB Gadget Support
1209#
1210# CONFIG_USB_GADGET is not set 1241# CONFIG_USB_GADGET is not set
1211# CONFIG_MMC is not set 1242# CONFIG_MMC is not set
1243# CONFIG_MEMSTICK is not set
1212# CONFIG_NEW_LEDS is not set 1244# CONFIG_NEW_LEDS is not set
1213# CONFIG_INFINIBAND is not set 1245# CONFIG_INFINIBAND is not set
1214# CONFIG_EDAC is not set 1246# CONFIG_EDAC is not set
@@ -1240,6 +1272,7 @@ CONFIG_RTC_DRV_RS5C372=y
1240# CONFIG_RTC_DRV_PCF8563 is not set 1272# CONFIG_RTC_DRV_PCF8563 is not set
1241# CONFIG_RTC_DRV_PCF8583 is not set 1273# CONFIG_RTC_DRV_PCF8583 is not set
1242# CONFIG_RTC_DRV_M41T80 is not set 1274# CONFIG_RTC_DRV_M41T80 is not set
1275# CONFIG_RTC_DRV_S35390A is not set
1243 1276
1244# 1277#
1245# SPI RTC drivers 1278# SPI RTC drivers
@@ -1249,9 +1282,10 @@ CONFIG_RTC_DRV_RS5C372=y
1249# Platform RTC drivers 1282# Platform RTC drivers
1250# 1283#
1251# CONFIG_RTC_DRV_CMOS is not set 1284# CONFIG_RTC_DRV_CMOS is not set
1285# CONFIG_RTC_DRV_DS1511 is not set
1252# CONFIG_RTC_DRV_DS1553 is not set 1286# CONFIG_RTC_DRV_DS1553 is not set
1253# CONFIG_RTC_DRV_STK17TA8 is not set
1254# CONFIG_RTC_DRV_DS1742 is not set 1287# CONFIG_RTC_DRV_DS1742 is not set
1288# CONFIG_RTC_DRV_STK17TA8 is not set
1255# CONFIG_RTC_DRV_M48T86 is not set 1289# CONFIG_RTC_DRV_M48T86 is not set
1256# CONFIG_RTC_DRV_M48T59 is not set 1290# CONFIG_RTC_DRV_M48T59 is not set
1257# CONFIG_RTC_DRV_V3020 is not set 1291# CONFIG_RTC_DRV_V3020 is not set
@@ -1259,6 +1293,7 @@ CONFIG_RTC_DRV_RS5C372=y
1259# 1293#
1260# on-CPU RTC drivers 1294# on-CPU RTC drivers
1261# 1295#
1296# CONFIG_DMADEVICES is not set
1262 1297
1263# 1298#
1264# Userspace I/O 1299# Userspace I/O
@@ -1288,12 +1323,10 @@ CONFIG_XFS_FS=m
1288# CONFIG_XFS_RT is not set 1323# CONFIG_XFS_RT is not set
1289# CONFIG_GFS2_FS is not set 1324# CONFIG_GFS2_FS is not set
1290# CONFIG_OCFS2_FS is not set 1325# CONFIG_OCFS2_FS is not set
1291# CONFIG_MINIX_FS is not set 1326CONFIG_DNOTIFY=y
1292# CONFIG_ROMFS_FS is not set
1293CONFIG_INOTIFY=y 1327CONFIG_INOTIFY=y
1294CONFIG_INOTIFY_USER=y 1328CONFIG_INOTIFY_USER=y
1295# CONFIG_QUOTA is not set 1329# CONFIG_QUOTA is not set
1296CONFIG_DNOTIFY=y
1297# CONFIG_AUTOFS_FS is not set 1330# CONFIG_AUTOFS_FS is not set
1298# CONFIG_AUTOFS4_FS is not set 1331# CONFIG_AUTOFS4_FS is not set
1299# CONFIG_FUSE_FS is not set 1332# CONFIG_FUSE_FS is not set
@@ -1344,8 +1377,10 @@ CONFIG_TMPFS=y
1344# CONFIG_JFFS2_FS is not set 1377# CONFIG_JFFS2_FS is not set
1345# CONFIG_CRAMFS is not set 1378# CONFIG_CRAMFS is not set
1346# CONFIG_VXFS_FS is not set 1379# CONFIG_VXFS_FS is not set
1380# CONFIG_MINIX_FS is not set
1347# CONFIG_HPFS_FS is not set 1381# CONFIG_HPFS_FS is not set
1348# CONFIG_QNX4FS_FS is not set 1382# CONFIG_QNX4FS_FS is not set
1383# CONFIG_ROMFS_FS is not set
1349# CONFIG_SYSV_FS is not set 1384# CONFIG_SYSV_FS is not set
1350# CONFIG_UFS_FS is not set 1385# CONFIG_UFS_FS is not set
1351CONFIG_NETWORK_FILESYSTEMS=y 1386CONFIG_NETWORK_FILESYSTEMS=y
@@ -1427,7 +1462,6 @@ CONFIG_NLS_ISO8859_1=m
1427# CONFIG_NLS_KOI8_U is not set 1462# CONFIG_NLS_KOI8_U is not set
1428CONFIG_NLS_UTF8=m 1463CONFIG_NLS_UTF8=m
1429# CONFIG_DLM is not set 1464# CONFIG_DLM is not set
1430# CONFIG_UCC_SLOW is not set
1431 1465
1432# 1466#
1433# Library routines 1467# Library routines
@@ -1447,7 +1481,6 @@ CONFIG_PLIST=y
1447CONFIG_HAS_IOMEM=y 1481CONFIG_HAS_IOMEM=y
1448CONFIG_HAS_IOPORT=y 1482CONFIG_HAS_IOPORT=y
1449CONFIG_HAS_DMA=y 1483CONFIG_HAS_DMA=y
1450# CONFIG_INSTRUMENTATION is not set
1451 1484
1452# 1485#
1453# Kernel hacking 1486# Kernel hacking
@@ -1466,6 +1499,7 @@ CONFIG_SCHED_DEBUG=y
1466# CONFIG_SCHEDSTATS is not set 1499# CONFIG_SCHEDSTATS is not set
1467# CONFIG_TIMER_STATS is not set 1500# CONFIG_TIMER_STATS is not set
1468# CONFIG_SLUB_DEBUG_ON is not set 1501# CONFIG_SLUB_DEBUG_ON is not set
1502# CONFIG_SLUB_STATS is not set
1469# CONFIG_DEBUG_RT_MUTEXES is not set 1503# CONFIG_DEBUG_RT_MUTEXES is not set
1470# CONFIG_RT_MUTEX_TESTER is not set 1504# CONFIG_RT_MUTEX_TESTER is not set
1471# CONFIG_DEBUG_SPINLOCK is not set 1505# CONFIG_DEBUG_SPINLOCK is not set
@@ -1478,9 +1512,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1478# CONFIG_DEBUG_VM is not set 1512# CONFIG_DEBUG_VM is not set
1479# CONFIG_DEBUG_LIST is not set 1513# CONFIG_DEBUG_LIST is not set
1480# CONFIG_DEBUG_SG is not set 1514# CONFIG_DEBUG_SG is not set
1481CONFIG_FORCED_INLINING=y
1482# CONFIG_BOOT_PRINTK_DELAY is not set 1515# CONFIG_BOOT_PRINTK_DELAY is not set
1483# CONFIG_RCU_TORTURE_TEST is not set 1516# CONFIG_RCU_TORTURE_TEST is not set
1517# CONFIG_BACKTRACE_SELF_TEST is not set
1484# CONFIG_FAULT_INJECTION is not set 1518# CONFIG_FAULT_INJECTION is not set
1485# CONFIG_SAMPLES is not set 1519# CONFIG_SAMPLES is not set
1486# CONFIG_DEBUG_STACKOVERFLOW is not set 1520# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1500,6 +1534,7 @@ CONFIG_FORCED_INLINING=y
1500CONFIG_CRYPTO=y 1534CONFIG_CRYPTO=y
1501CONFIG_CRYPTO_ALGAPI=y 1535CONFIG_CRYPTO_ALGAPI=y
1502CONFIG_CRYPTO_BLKCIPHER=y 1536CONFIG_CRYPTO_BLKCIPHER=y
1537# CONFIG_CRYPTO_SEQIV is not set
1503CONFIG_CRYPTO_MANAGER=y 1538CONFIG_CRYPTO_MANAGER=y
1504# CONFIG_CRYPTO_HMAC is not set 1539# CONFIG_CRYPTO_HMAC is not set
1505# CONFIG_CRYPTO_XCBC is not set 1540# CONFIG_CRYPTO_XCBC is not set
@@ -1517,6 +1552,9 @@ CONFIG_CRYPTO_CBC=y
1517CONFIG_CRYPTO_PCBC=m 1552CONFIG_CRYPTO_PCBC=m
1518# CONFIG_CRYPTO_LRW is not set 1553# CONFIG_CRYPTO_LRW is not set
1519# CONFIG_CRYPTO_XTS is not set 1554# CONFIG_CRYPTO_XTS is not set
1555# CONFIG_CRYPTO_CTR is not set
1556# CONFIG_CRYPTO_GCM is not set
1557# CONFIG_CRYPTO_CCM is not set
1520# CONFIG_CRYPTO_CRYPTD is not set 1558# CONFIG_CRYPTO_CRYPTD is not set
1521CONFIG_CRYPTO_DES=y 1559CONFIG_CRYPTO_DES=y
1522# CONFIG_CRYPTO_FCRYPT is not set 1560# CONFIG_CRYPTO_FCRYPT is not set
@@ -1532,11 +1570,14 @@ CONFIG_CRYPTO_ARC4=m
1532# CONFIG_CRYPTO_KHAZAD is not set 1570# CONFIG_CRYPTO_KHAZAD is not set
1533# CONFIG_CRYPTO_ANUBIS is not set 1571# CONFIG_CRYPTO_ANUBIS is not set
1534# CONFIG_CRYPTO_SEED is not set 1572# CONFIG_CRYPTO_SEED is not set
1573# CONFIG_CRYPTO_SALSA20 is not set
1535CONFIG_CRYPTO_DEFLATE=m 1574CONFIG_CRYPTO_DEFLATE=m
1536CONFIG_CRYPTO_MICHAEL_MIC=m 1575CONFIG_CRYPTO_MICHAEL_MIC=m
1537CONFIG_CRYPTO_CRC32C=m 1576CONFIG_CRYPTO_CRC32C=m
1538# CONFIG_CRYPTO_CAMELLIA is not set 1577# CONFIG_CRYPTO_CAMELLIA is not set
1539# CONFIG_CRYPTO_TEST is not set 1578# CONFIG_CRYPTO_TEST is not set
1540# CONFIG_CRYPTO_AUTHENC is not set 1579# CONFIG_CRYPTO_AUTHENC is not set
1580# CONFIG_CRYPTO_LZO is not set
1541CONFIG_CRYPTO_HW=y 1581CONFIG_CRYPTO_HW=y
1582# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1542# CONFIG_PPC_CLOCK is not set 1583# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index b0266de4849..a3d52e3f2de 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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:28 2007 4# Mon Mar 24 08:48:11 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -87,11 +92,13 @@ CONFIG_HOTPLUG=y
87CONFIG_PRINTK=y 92CONFIG_PRINTK=y
88CONFIG_BUG=y 93CONFIG_BUG=y
89CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
90CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
91CONFIG_FUTEX=y 97CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
93CONFIG_EPOLL=y 99CONFIG_EPOLL=y
94CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
95CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
96CONFIG_SHMEM=y 103CONFIG_SHMEM=y
97CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
@@ -99,6 +106,13 @@ CONFIG_SLUB_DEBUG=y
99# CONFIG_SLAB is not set 106# CONFIG_SLAB is not set
100CONFIG_SLUB=y 107CONFIG_SLUB=y
101# CONFIG_SLOB is not set 108# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
115CONFIG_SLABINFO=y
102CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
103# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
104CONFIG_BASE_SMALL=0 118CONFIG_BASE_SMALL=0
@@ -121,6 +135,7 @@ CONFIG_DEFAULT_AS=y
121# CONFIG_DEFAULT_CFQ is not set 135# CONFIG_DEFAULT_CFQ is not set
122# CONFIG_DEFAULT_NOOP is not set 136# CONFIG_DEFAULT_NOOP is not set
123CONFIG_DEFAULT_IOSCHED="anticipatory" 137CONFIG_DEFAULT_IOSCHED="anticipatory"
138CONFIG_CLASSIC_RCU=y
124 139
125# 140#
126# Platform support 141# Platform support
@@ -131,20 +146,22 @@ CONFIG_PPC_MULTIPLATFORM=y
131# CONFIG_PPC_86xx is not set 146# CONFIG_PPC_86xx is not set
132CONFIG_CLASSIC32=y 147CONFIG_CLASSIC32=y
133# CONFIG_PPC_CHRP is not set 148# CONFIG_PPC_CHRP is not set
149# CONFIG_PPC_MPC512x is not set
150# CONFIG_PPC_MPC5121 is not set
151# CONFIG_MPC5121_ADS is not set
134# CONFIG_PPC_MPC52xx is not set 152# CONFIG_PPC_MPC52xx is not set
135# CONFIG_PPC_MPC5200 is not set
136# CONFIG_PPC_EFIKA is not set
137# CONFIG_PPC_LITE5200 is not set
138# CONFIG_PPC_PMAC is not set 153# CONFIG_PPC_PMAC is not set
139# CONFIG_PPC_CELL is not set 154# CONFIG_PPC_CELL is not set
140# CONFIG_PPC_CELL_NATIVE is not set 155# CONFIG_PPC_CELL_NATIVE is not set
141# CONFIG_PQ2ADS is not set 156# CONFIG_PQ2ADS is not set
142CONFIG_EMBEDDED6xx=y 157CONFIG_EMBEDDED6xx=y
143# CONFIG_LINKSTATION is not set 158# CONFIG_LINKSTATION is not set
159# CONFIG_STORCENTER is not set
144CONFIG_MPC7448HPC2=y 160CONFIG_MPC7448HPC2=y
145# CONFIG_PPC_HOLLY is not set 161# CONFIG_PPC_HOLLY is not set
146# CONFIG_PPC_PRPMC2800 is not set 162# CONFIG_PPC_PRPMC2800 is not set
147CONFIG_TSI108_BRIDGE=y 163CONFIG_TSI108_BRIDGE=y
164# CONFIG_IPIC is not set
148CONFIG_MPIC=y 165CONFIG_MPIC=y
149CONFIG_MPIC_WEIRD=y 166CONFIG_MPIC_WEIRD=y
150# CONFIG_PPC_I8259 is not set 167# CONFIG_PPC_I8259 is not set
@@ -156,7 +173,6 @@ CONFIG_MPIC_WEIRD=y
156# CONFIG_GENERIC_IOMAP is not set 173# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 174# CONFIG_CPU_FREQ is not set
158# CONFIG_TAU is not set 175# CONFIG_TAU is not set
159# CONFIG_CPM2 is not set
160# CONFIG_FSL_ULI1575 is not set 176# CONFIG_FSL_ULI1575 is not set
161 177
162# 178#
@@ -172,12 +188,16 @@ CONFIG_HZ_250=y
172# CONFIG_HZ_300 is not set 188# CONFIG_HZ_300 is not set
173# CONFIG_HZ_1000 is not set 189# CONFIG_HZ_1000 is not set
174CONFIG_HZ=250 190CONFIG_HZ=250
191# CONFIG_SCHED_HRTICK is not set
175CONFIG_PREEMPT_NONE=y 192CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 193# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 194# CONFIG_PREEMPT is not set
178CONFIG_BINFMT_ELF=y 195CONFIG_BINFMT_ELF=y
179CONFIG_BINFMT_MISC=y 196CONFIG_BINFMT_MISC=y
197# CONFIG_IOMMU_HELPER is not set
180CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 198CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
199CONFIG_ARCH_HAS_WALK_MEMORY=y
200CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
181# CONFIG_KEXEC is not set 201# CONFIG_KEXEC is not set
182CONFIG_ARCH_FLATMEM_ENABLE=y 202CONFIG_ARCH_FLATMEM_ENABLE=y
183CONFIG_ARCH_POPULATES_NODE_MAP=y 203CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -197,11 +217,7 @@ CONFIG_VIRT_TO_BUS=y
197CONFIG_PROC_DEVICETREE=y 217CONFIG_PROC_DEVICETREE=y
198# CONFIG_CMDLINE_BOOL is not set 218# CONFIG_CMDLINE_BOOL is not set
199# CONFIG_PM is not set 219# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
202# CONFIG_SECCOMP is not set 220# CONFIG_SECCOMP is not set
203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE=""
205CONFIG_ISA_DMA_API=y 221CONFIG_ISA_DMA_API=y
206 222
207# 223#
@@ -249,6 +265,7 @@ CONFIG_XFRM=y
249CONFIG_XFRM_USER=y 265CONFIG_XFRM_USER=y
250# CONFIG_XFRM_SUB_POLICY is not set 266# CONFIG_XFRM_SUB_POLICY is not set
251# CONFIG_XFRM_MIGRATE is not set 267# CONFIG_XFRM_MIGRATE is not set
268# CONFIG_XFRM_STATISTICS is not set
252# CONFIG_NET_KEY is not set 269# CONFIG_NET_KEY is not set
253CONFIG_INET=y 270CONFIG_INET=y
254CONFIG_IP_MULTICAST=y 271CONFIG_IP_MULTICAST=y
@@ -304,6 +321,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
304# 321#
305# CONFIG_NET_PKTGEN is not set 322# CONFIG_NET_PKTGEN is not set
306# CONFIG_HAMRADIO is not set 323# CONFIG_HAMRADIO is not set
324# CONFIG_CAN is not set
307# CONFIG_IRDA is not set 325# CONFIG_IRDA is not set
308# CONFIG_BT is not set 326# CONFIG_BT is not set
309# CONFIG_AF_RXRPC is not set 327# CONFIG_AF_RXRPC is not set
@@ -348,7 +366,7 @@ CONFIG_BLK_DEV_LOOP=y
348CONFIG_BLK_DEV_RAM=y 366CONFIG_BLK_DEV_RAM=y
349CONFIG_BLK_DEV_RAM_COUNT=16 367CONFIG_BLK_DEV_RAM_COUNT=16
350CONFIG_BLK_DEV_RAM_SIZE=131072 368CONFIG_BLK_DEV_RAM_SIZE=131072
351CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 369# CONFIG_BLK_DEV_XIP is not set
352# CONFIG_CDROM_PKTCDVD is not set 370# CONFIG_CDROM_PKTCDVD is not set
353# CONFIG_ATA_OVER_ETH is not set 371# CONFIG_ATA_OVER_ETH is not set
354CONFIG_MISC_DEVICES=y 372CONFIG_MISC_DEVICES=y
@@ -356,6 +374,8 @@ CONFIG_MISC_DEVICES=y
356# CONFIG_EEPROM_93CX6 is not set 374# CONFIG_EEPROM_93CX6 is not set
357# CONFIG_SGI_IOC4 is not set 375# CONFIG_SGI_IOC4 is not set
358# CONFIG_TIFM_CORE is not set 376# CONFIG_TIFM_CORE is not set
377# CONFIG_ENCLOSURE_SERVICES is not set
378CONFIG_HAVE_IDE=y
359# CONFIG_IDE is not set 379# CONFIG_IDE is not set
360 380
361# 381#
@@ -419,6 +439,7 @@ CONFIG_SCSI_LOWLEVEL=y
419# CONFIG_SCSI_IPS is not set 439# CONFIG_SCSI_IPS is not set
420# CONFIG_SCSI_INITIO is not set 440# CONFIG_SCSI_INITIO is not set
421# CONFIG_SCSI_INIA100 is not set 441# CONFIG_SCSI_INIA100 is not set
442# CONFIG_SCSI_MVSAS is not set
422# CONFIG_SCSI_STEX is not set 443# CONFIG_SCSI_STEX is not set
423# CONFIG_SCSI_SYM53C8XX_2 is not set 444# CONFIG_SCSI_SYM53C8XX_2 is not set
424# CONFIG_SCSI_IPR is not set 445# CONFIG_SCSI_IPR is not set
@@ -472,6 +493,7 @@ CONFIG_SATA_MV=y
472# CONFIG_PATA_MPIIX is not set 493# CONFIG_PATA_MPIIX is not set
473# CONFIG_PATA_OLDPIIX is not set 494# CONFIG_PATA_OLDPIIX is not set
474# CONFIG_PATA_NETCELL is not set 495# CONFIG_PATA_NETCELL is not set
496# CONFIG_PATA_NINJA32 is not set
475# CONFIG_PATA_NS87410 is not set 497# CONFIG_PATA_NS87410 is not set
476# CONFIG_PATA_NS87415 is not set 498# CONFIG_PATA_NS87415 is not set
477# CONFIG_PATA_OPTI is not set 499# CONFIG_PATA_OPTI is not set
@@ -505,7 +527,6 @@ CONFIG_NETDEVICES=y
505# CONFIG_EQUALIZER is not set 527# CONFIG_EQUALIZER is not set
506# CONFIG_TUN is not set 528# CONFIG_TUN is not set
507# CONFIG_VETH is not set 529# CONFIG_VETH is not set
508# CONFIG_IP1000 is not set
509# CONFIG_ARCNET is not set 530# CONFIG_ARCNET is not set
510CONFIG_PHYLIB=y 531CONFIG_PHYLIB=y
511 532
@@ -521,6 +542,7 @@ CONFIG_PHYLIB=y
521# CONFIG_SMSC_PHY is not set 542# CONFIG_SMSC_PHY is not set
522# CONFIG_BROADCOM_PHY is not set 543# CONFIG_BROADCOM_PHY is not set
523# CONFIG_ICPLUS_PHY is not set 544# CONFIG_ICPLUS_PHY is not set
545# CONFIG_REALTEK_PHY is not set
524# CONFIG_FIXED_PHY is not set 546# CONFIG_FIXED_PHY is not set
525# CONFIG_MDIO_BITBANG is not set 547# CONFIG_MDIO_BITBANG is not set
526CONFIG_NET_ETHERNET=y 548CONFIG_NET_ETHERNET=y
@@ -552,6 +574,7 @@ CONFIG_8139TOO=y
552# CONFIG_8139TOO_TUNE_TWISTER is not set 574# CONFIG_8139TOO_TUNE_TWISTER is not set
553# CONFIG_8139TOO_8129 is not set 575# CONFIG_8139TOO_8129 is not set
554# CONFIG_8139_OLD_RX_RESET is not set 576# CONFIG_8139_OLD_RX_RESET is not set
577# CONFIG_R6040 is not set
555# CONFIG_SIS900 is not set 578# CONFIG_SIS900 is not set
556# CONFIG_EPIC100 is not set 579# CONFIG_EPIC100 is not set
557# CONFIG_SUNDANCE is not set 580# CONFIG_SUNDANCE is not set
@@ -563,6 +586,9 @@ CONFIG_NETDEV_1000=y
563# CONFIG_DL2K is not set 586# CONFIG_DL2K is not set
564# CONFIG_E1000 is not set 587# CONFIG_E1000 is not set
565# CONFIG_E1000E is not set 588# CONFIG_E1000E is not set
589# CONFIG_E1000E_ENABLED is not set
590# CONFIG_IP1000 is not set
591# CONFIG_IGB is not set
566# CONFIG_NS83820 is not set 592# CONFIG_NS83820 is not set
567# CONFIG_HAMACHI is not set 593# CONFIG_HAMACHI is not set
568# CONFIG_YELLOWFIN is not set 594# CONFIG_YELLOWFIN is not set
@@ -589,6 +615,7 @@ CONFIG_NETDEV_10000=y
589# CONFIG_NIU is not set 615# CONFIG_NIU is not set
590# CONFIG_MLX4_CORE is not set 616# CONFIG_MLX4_CORE is not set
591# CONFIG_TEHUTI is not set 617# CONFIG_TEHUTI is not set
618# CONFIG_BNX2X is not set
592# CONFIG_TR is not set 619# CONFIG_TR is not set
593 620
594# 621#
@@ -602,7 +629,6 @@ CONFIG_NETDEV_10000=y
602# CONFIG_PPP is not set 629# CONFIG_PPP is not set
603# CONFIG_SLIP is not set 630# CONFIG_SLIP is not set
604# CONFIG_NET_FC is not set 631# CONFIG_NET_FC is not set
605# CONFIG_SHAPER is not set
606# CONFIG_NETCONSOLE is not set 632# CONFIG_NETCONSOLE is not set
607# CONFIG_NETPOLL is not set 633# CONFIG_NETPOLL is not set
608# CONFIG_NET_POLL_CONTROLLER is not set 634# CONFIG_NET_POLL_CONTROLLER is not set
@@ -645,6 +671,7 @@ CONFIG_INPUT=y
645# 671#
646# CONFIG_VT is not set 672# CONFIG_VT is not set
647# CONFIG_SERIAL_NONSTANDARD is not set 673# CONFIG_SERIAL_NONSTANDARD is not set
674# CONFIG_NOZOMI is not set
648 675
649# 676#
650# Serial drivers 677# Serial drivers
@@ -703,6 +730,7 @@ CONFIG_HWMON=y
703# CONFIG_SENSORS_W83627HF is not set 730# CONFIG_SENSORS_W83627HF is not set
704# CONFIG_SENSORS_W83627EHF is not set 731# CONFIG_SENSORS_W83627EHF is not set
705# CONFIG_HWMON_DEBUG_CHIP is not set 732# CONFIG_HWMON_DEBUG_CHIP is not set
733# CONFIG_THERMAL is not set
706# CONFIG_WATCHDOG is not set 734# CONFIG_WATCHDOG is not set
707 735
708# 736#
@@ -755,16 +783,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
755# 783#
756# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 784# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
757# 785#
758
759#
760# USB Gadget Support
761#
762# CONFIG_USB_GADGET is not set 786# CONFIG_USB_GADGET is not set
763# CONFIG_MMC is not set 787# CONFIG_MMC is not set
788# CONFIG_MEMSTICK is not set
764# CONFIG_NEW_LEDS is not set 789# CONFIG_NEW_LEDS is not set
765# CONFIG_INFINIBAND is not set 790# CONFIG_INFINIBAND is not set
766# CONFIG_EDAC is not set 791# CONFIG_EDAC is not set
767# CONFIG_RTC_CLASS is not set 792# CONFIG_RTC_CLASS is not set
793# CONFIG_DMADEVICES is not set
768 794
769# 795#
770# Userspace I/O 796# Userspace I/O
@@ -790,12 +816,10 @@ CONFIG_FS_MBCACHE=y
790# CONFIG_XFS_FS is not set 816# CONFIG_XFS_FS is not set
791# CONFIG_GFS2_FS is not set 817# CONFIG_GFS2_FS is not set
792# CONFIG_OCFS2_FS is not set 818# CONFIG_OCFS2_FS is not set
793# CONFIG_MINIX_FS is not set 819CONFIG_DNOTIFY=y
794# CONFIG_ROMFS_FS is not set
795CONFIG_INOTIFY=y 820CONFIG_INOTIFY=y
796CONFIG_INOTIFY_USER=y 821CONFIG_INOTIFY_USER=y
797# CONFIG_QUOTA is not set 822# CONFIG_QUOTA is not set
798CONFIG_DNOTIFY=y
799# CONFIG_AUTOFS_FS is not set 823# CONFIG_AUTOFS_FS is not set
800# CONFIG_AUTOFS4_FS is not set 824# CONFIG_AUTOFS4_FS is not set
801# CONFIG_FUSE_FS is not set 825# CONFIG_FUSE_FS is not set
@@ -837,8 +861,10 @@ CONFIG_TMPFS=y
837# CONFIG_EFS_FS is not set 861# CONFIG_EFS_FS is not set
838# CONFIG_CRAMFS is not set 862# CONFIG_CRAMFS is not set
839# CONFIG_VXFS_FS is not set 863# CONFIG_VXFS_FS is not set
864# CONFIG_MINIX_FS is not set
840# CONFIG_HPFS_FS is not set 865# CONFIG_HPFS_FS is not set
841# CONFIG_QNX4FS_FS is not set 866# CONFIG_QNX4FS_FS is not set
867# CONFIG_ROMFS_FS is not set
842# CONFIG_SYSV_FS is not set 868# CONFIG_SYSV_FS is not set
843# CONFIG_UFS_FS is not set 869# CONFIG_UFS_FS is not set
844CONFIG_NETWORK_FILESYSTEMS=y 870CONFIG_NETWORK_FILESYSTEMS=y
@@ -883,7 +909,6 @@ CONFIG_MSDOS_PARTITION=y
883# CONFIG_SYSV68_PARTITION is not set 909# CONFIG_SYSV68_PARTITION is not set
884# CONFIG_NLS is not set 910# CONFIG_NLS is not set
885# CONFIG_DLM is not set 911# CONFIG_DLM is not set
886# CONFIG_UCC_SLOW is not set
887 912
888# 913#
889# Library routines 914# Library routines
@@ -899,7 +924,6 @@ CONFIG_PLIST=y
899CONFIG_HAS_IOMEM=y 924CONFIG_HAS_IOMEM=y
900CONFIG_HAS_IOPORT=y 925CONFIG_HAS_IOPORT=y
901CONFIG_HAS_DMA=y 926CONFIG_HAS_DMA=y
902# CONFIG_INSTRUMENTATION is not set
903 927
904# 928#
905# Kernel hacking 929# Kernel hacking
@@ -913,6 +937,7 @@ CONFIG_ENABLE_MUST_CHECK=y
913# CONFIG_HEADERS_CHECK is not set 937# CONFIG_HEADERS_CHECK is not set
914# CONFIG_DEBUG_KERNEL is not set 938# CONFIG_DEBUG_KERNEL is not set
915# CONFIG_SLUB_DEBUG_ON is not set 939# CONFIG_SLUB_DEBUG_ON is not set
940# CONFIG_SLUB_STATS is not set
916# CONFIG_DEBUG_BUGVERBOSE is not set 941# CONFIG_DEBUG_BUGVERBOSE is not set
917# CONFIG_SAMPLES is not set 942# CONFIG_SAMPLES is not set
918# CONFIG_BOOTX_TEXT is not set 943# CONFIG_BOOTX_TEXT is not set
@@ -924,5 +949,49 @@ CONFIG_ENABLE_MUST_CHECK=y
924# CONFIG_KEYS is not set 949# CONFIG_KEYS is not set
925# CONFIG_SECURITY is not set 950# CONFIG_SECURITY is not set
926# CONFIG_SECURITY_FILE_CAPABILITIES is not set 951# CONFIG_SECURITY_FILE_CAPABILITIES is not set
927# CONFIG_CRYPTO is not set 952CONFIG_CRYPTO=y
953# CONFIG_CRYPTO_SEQIV is not set
954# CONFIG_CRYPTO_MANAGER is not set
955# CONFIG_CRYPTO_HMAC is not set
956# CONFIG_CRYPTO_XCBC is not set
957# CONFIG_CRYPTO_NULL is not set
958# CONFIG_CRYPTO_MD4 is not set
959# CONFIG_CRYPTO_MD5 is not set
960# CONFIG_CRYPTO_SHA1 is not set
961# CONFIG_CRYPTO_SHA256 is not set
962# CONFIG_CRYPTO_SHA512 is not set
963# CONFIG_CRYPTO_WP512 is not set
964# CONFIG_CRYPTO_TGR192 is not set
965# CONFIG_CRYPTO_GF128MUL is not set
966# CONFIG_CRYPTO_ECB is not set
967# CONFIG_CRYPTO_CBC is not set
968# CONFIG_CRYPTO_PCBC is not set
969# CONFIG_CRYPTO_LRW is not set
970# CONFIG_CRYPTO_XTS is not set
971# CONFIG_CRYPTO_CTR is not set
972# CONFIG_CRYPTO_GCM is not set
973# CONFIG_CRYPTO_CCM is not set
974# CONFIG_CRYPTO_CRYPTD is not set
975# CONFIG_CRYPTO_DES is not set
976# CONFIG_CRYPTO_FCRYPT is not set
977# CONFIG_CRYPTO_BLOWFISH is not set
978# CONFIG_CRYPTO_TWOFISH is not set
979# CONFIG_CRYPTO_SERPENT is not set
980# CONFIG_CRYPTO_AES is not set
981# CONFIG_CRYPTO_CAST5 is not set
982# CONFIG_CRYPTO_CAST6 is not set
983# CONFIG_CRYPTO_TEA is not set
984# CONFIG_CRYPTO_ARC4 is not set
985# CONFIG_CRYPTO_KHAZAD is not set
986# CONFIG_CRYPTO_ANUBIS is not set
987# CONFIG_CRYPTO_SEED is not set
988# CONFIG_CRYPTO_SALSA20 is not set
989# CONFIG_CRYPTO_DEFLATE is not set
990# CONFIG_CRYPTO_MICHAEL_MIC is not set
991# CONFIG_CRYPTO_CRC32C is not set
992# CONFIG_CRYPTO_CAMELLIA is not set
993# CONFIG_CRYPTO_AUTHENC is not set
994# CONFIG_CRYPTO_LZO is not set
995CONFIG_CRYPTO_HW=y
996# CONFIG_CRYPTO_DEV_HIFN_795X is not set
928# CONFIG_PPC_CLOCK is not set 997# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index 5eae305215d..0264c5757f7 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.24-rc5 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 13 22:40:57 2007 4# Mon Mar 24 08:48:13 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -69,9 +70,14 @@ CONFIG_IKCONFIG=y
69CONFIG_IKCONFIG_PROC=y 70CONFIG_IKCONFIG_PROC=y
70CONFIG_LOG_BUF_SHIFT=14 71CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set 72# CONFIG_CGROUPS is not set
73CONFIG_GROUP_SCHED=y
72# CONFIG_FAIR_GROUP_SCHED is not set 74# CONFIG_FAIR_GROUP_SCHED is not set
75CONFIG_USER_SCHED=y
76# CONFIG_CGROUP_SCHED is not set
73CONFIG_SYSFS_DEPRECATED=y 77CONFIG_SYSFS_DEPRECATED=y
78CONFIG_SYSFS_DEPRECATED_V2=y
74# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
80# CONFIG_NAMESPACES is not set
75# CONFIG_BLK_DEV_INITRD is not set 81# CONFIG_BLK_DEV_INITRD is not set
76CONFIG_SYSCTL=y 82CONFIG_SYSCTL=y
77CONFIG_EMBEDDED=y 83CONFIG_EMBEDDED=y
@@ -83,11 +89,13 @@ CONFIG_HOTPLUG=y
83CONFIG_PRINTK=y 89CONFIG_PRINTK=y
84CONFIG_BUG=y 90CONFIG_BUG=y
85CONFIG_ELF_CORE=y 91CONFIG_ELF_CORE=y
92CONFIG_COMPAT_BRK=y
86CONFIG_BASE_FULL=y 93CONFIG_BASE_FULL=y
87CONFIG_FUTEX=y 94CONFIG_FUTEX=y
88CONFIG_ANON_INODES=y 95CONFIG_ANON_INODES=y
89CONFIG_EPOLL=y 96CONFIG_EPOLL=y
90CONFIG_SIGNALFD=y 97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
91CONFIG_EVENTFD=y 99CONFIG_EVENTFD=y
92CONFIG_SHMEM=y 100CONFIG_SHMEM=y
93CONFIG_VM_EVENT_COUNTERS=y 101CONFIG_VM_EVENT_COUNTERS=y
@@ -95,6 +103,13 @@ CONFIG_SLUB_DEBUG=y
95# CONFIG_SLAB is not set 103# CONFIG_SLAB is not set
96CONFIG_SLUB=y 104CONFIG_SLUB=y
97# CONFIG_SLOB is not set 105# CONFIG_SLOB is not set
106# CONFIG_PROFILING is not set
107# CONFIG_MARKERS is not set
108CONFIG_HAVE_OPROFILE=y
109CONFIG_HAVE_KPROBES=y
110CONFIG_HAVE_KRETPROBES=y
111CONFIG_PROC_PAGE_MONITOR=y
112CONFIG_SLABINFO=y
98CONFIG_RT_MUTEXES=y 113CONFIG_RT_MUTEXES=y
99# CONFIG_TINY_SHMEM is not set 114# CONFIG_TINY_SHMEM is not set
100CONFIG_BASE_SMALL=0 115CONFIG_BASE_SMALL=0
@@ -116,6 +131,7 @@ CONFIG_DEFAULT_AS=y
116# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
117# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
118CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
134CONFIG_CLASSIC_RCU=y
119 135
120# 136#
121# Platform support 137# Platform support
@@ -124,16 +140,18 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
124CONFIG_PPC_82xx=y 140CONFIG_PPC_82xx=y
125# CONFIG_PPC_83xx is not set 141# CONFIG_PPC_83xx is not set
126# CONFIG_PPC_86xx is not set 142# CONFIG_PPC_86xx is not set
127# CONFIG_PPC_MPC52xx is not set 143# CONFIG_PPC_MPC512x is not set
128# CONFIG_PPC_MPC5200 is not set 144# CONFIG_PPC_MPC5121 is not set
129# CONFIG_PPC_CELL is not set 145# CONFIG_PPC_CELL is not set
130# CONFIG_PPC_CELL_NATIVE is not set 146# CONFIG_PPC_CELL_NATIVE is not set
131CONFIG_MPC8272_ADS=y 147CONFIG_MPC8272_ADS=y
132# CONFIG_PQ2FADS is not set 148# CONFIG_PQ2FADS is not set
149# CONFIG_EP8248E is not set
133CONFIG_PQ2ADS=y 150CONFIG_PQ2ADS=y
134CONFIG_8260=y 151CONFIG_8260=y
135CONFIG_8272=y 152CONFIG_8272=y
136CONFIG_PQ2_ADS_PCI_PIC=y 153CONFIG_PQ2_ADS_PCI_PIC=y
154# CONFIG_IPIC is not set
137# CONFIG_MPIC is not set 155# CONFIG_MPIC is not set
138# CONFIG_MPIC_WEIRD is not set 156# CONFIG_MPIC_WEIRD is not set
139# CONFIG_PPC_I8259 is not set 157# CONFIG_PPC_I8259 is not set
@@ -162,12 +180,16 @@ CONFIG_HZ_250=y
162# CONFIG_HZ_300 is not set 180# CONFIG_HZ_300 is not set
163# CONFIG_HZ_1000 is not set 181# CONFIG_HZ_1000 is not set
164CONFIG_HZ=250 182CONFIG_HZ=250
183# CONFIG_SCHED_HRTICK is not set
165CONFIG_PREEMPT_NONE=y 184CONFIG_PREEMPT_NONE=y
166# CONFIG_PREEMPT_VOLUNTARY is not set 185# CONFIG_PREEMPT_VOLUNTARY is not set
167# CONFIG_PREEMPT is not set 186# CONFIG_PREEMPT is not set
168CONFIG_BINFMT_ELF=y 187CONFIG_BINFMT_ELF=y
169CONFIG_BINFMT_MISC=y 188CONFIG_BINFMT_MISC=y
189# CONFIG_IOMMU_HELPER is not set
170CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 190CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
191CONFIG_ARCH_HAS_WALK_MEMORY=y
192CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
171CONFIG_ARCH_FLATMEM_ENABLE=y 193CONFIG_ARCH_FLATMEM_ENABLE=y
172CONFIG_ARCH_POPULATES_NODE_MAP=y 194CONFIG_ARCH_POPULATES_NODE_MAP=y
173CONFIG_FLATMEM=y 195CONFIG_FLATMEM=y
@@ -182,11 +204,7 @@ CONFIG_VIRT_TO_BUS=y
182CONFIG_PROC_DEVICETREE=y 204CONFIG_PROC_DEVICETREE=y
183# CONFIG_CMDLINE_BOOL is not set 205# CONFIG_CMDLINE_BOOL is not set
184# CONFIG_PM is not set 206# CONFIG_PM is not set
185CONFIG_SUSPEND_UP_POSSIBLE=y
186CONFIG_HIBERNATION_UP_POSSIBLE=y
187CONFIG_SECCOMP=y 207CONFIG_SECCOMP=y
188CONFIG_WANT_DEVICE_TREE=y
189CONFIG_DEVICE_TREE="mpc8272ads.dts"
190CONFIG_ISA_DMA_API=y 208CONFIG_ISA_DMA_API=y
191 209
192# 210#
@@ -205,6 +223,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
205CONFIG_PCI_LEGACY=y 223CONFIG_PCI_LEGACY=y
206# CONFIG_PCI_DEBUG is not set 224# CONFIG_PCI_DEBUG is not set
207# CONFIG_PCCARD is not set 225# CONFIG_PCCARD is not set
226# CONFIG_HOTPLUG_PCI is not set
208 227
209# 228#
210# Advanced setup 229# Advanced setup
@@ -277,12 +296,13 @@ CONFIG_IPV6_SIT=y
277# CONFIG_NETWORK_SECMARK is not set 296# CONFIG_NETWORK_SECMARK is not set
278CONFIG_NETFILTER=y 297CONFIG_NETFILTER=y
279# CONFIG_NETFILTER_DEBUG is not set 298# CONFIG_NETFILTER_DEBUG is not set
299CONFIG_NETFILTER_ADVANCED=y
280 300
281# 301#
282# Core Netfilter Configuration 302# Core Netfilter Configuration
283# 303#
284# CONFIG_NETFILTER_NETLINK is not set 304# CONFIG_NETFILTER_NETLINK_QUEUE is not set
285# CONFIG_NF_CONNTRACK_ENABLED is not set 305# CONFIG_NETFILTER_NETLINK_LOG is not set
286# CONFIG_NF_CONNTRACK is not set 306# CONFIG_NF_CONNTRACK is not set
287# CONFIG_NETFILTER_XTABLES is not set 307# CONFIG_NETFILTER_XTABLES is not set
288 308
@@ -292,6 +312,13 @@ CONFIG_NETFILTER=y
292# CONFIG_IP_NF_QUEUE is not set 312# CONFIG_IP_NF_QUEUE is not set
293# CONFIG_IP_NF_IPTABLES is not set 313# CONFIG_IP_NF_IPTABLES is not set
294# CONFIG_IP_NF_ARPTABLES is not set 314# CONFIG_IP_NF_ARPTABLES is not set
315
316#
317# IPv6: Netfilter Configuration
318#
319# CONFIG_IP6_NF_QUEUE is not set
320# CONFIG_IP6_NF_IPTABLES is not set
321# CONFIG_ATM is not set
295# CONFIG_BRIDGE is not set 322# CONFIG_BRIDGE is not set
296# CONFIG_VLAN_8021Q is not set 323# CONFIG_VLAN_8021Q is not set
297# CONFIG_DECNET is not set 324# CONFIG_DECNET is not set
@@ -305,6 +332,7 @@ CONFIG_NETFILTER=y
305# 332#
306# CONFIG_NET_PKTGEN is not set 333# CONFIG_NET_PKTGEN is not set
307# CONFIG_HAMRADIO is not set 334# CONFIG_HAMRADIO is not set
335# CONFIG_CAN is not set
308# CONFIG_IRDA is not set 336# CONFIG_IRDA is not set
309# CONFIG_BT is not set 337# CONFIG_BT is not set
310 338
@@ -313,6 +341,7 @@ CONFIG_NETFILTER=y
313# 341#
314# CONFIG_CFG80211 is not set 342# CONFIG_CFG80211 is not set
315# CONFIG_WIRELESS_EXT is not set 343# CONFIG_WIRELESS_EXT is not set
344# CONFIG_MAC80211 is not set
316# CONFIG_IEEE80211 is not set 345# CONFIG_IEEE80211 is not set
317# CONFIG_RFKILL is not set 346# CONFIG_RFKILL is not set
318 347
@@ -427,6 +456,7 @@ CONFIG_BLK_DEV_LOOP=y
427# CONFIG_CDROM_PKTCDVD is not set 456# CONFIG_CDROM_PKTCDVD is not set
428# CONFIG_ATA_OVER_ETH is not set 457# CONFIG_ATA_OVER_ETH is not set
429# CONFIG_MISC_DEVICES is not set 458# CONFIG_MISC_DEVICES is not set
459CONFIG_HAVE_IDE=y
430# CONFIG_IDE is not set 460# CONFIG_IDE is not set
431 461
432# 462#
@@ -472,6 +502,7 @@ CONFIG_DAVICOM_PHY=y
472# CONFIG_SMSC_PHY is not set 502# CONFIG_SMSC_PHY is not set
473# CONFIG_BROADCOM_PHY is not set 503# CONFIG_BROADCOM_PHY is not set
474# CONFIG_ICPLUS_PHY is not set 504# CONFIG_ICPLUS_PHY is not set
505# CONFIG_REALTEK_PHY is not set
475# CONFIG_FIXED_PHY is not set 506# CONFIG_FIXED_PHY is not set
476CONFIG_MDIO_BITBANG=y 507CONFIG_MDIO_BITBANG=y
477CONFIG_NET_ETHERNET=y 508CONFIG_NET_ETHERNET=y
@@ -497,6 +528,8 @@ CONFIG_NETDEV_1000=y
497# CONFIG_DL2K is not set 528# CONFIG_DL2K is not set
498# CONFIG_E1000 is not set 529# CONFIG_E1000 is not set
499# CONFIG_E1000E is not set 530# CONFIG_E1000E is not set
531# CONFIG_E1000E_ENABLED is not set
532# CONFIG_IGB is not set
500# CONFIG_NS83820 is not set 533# CONFIG_NS83820 is not set
501# CONFIG_HAMACHI is not set 534# CONFIG_HAMACHI is not set
502# CONFIG_R8169 is not set 535# CONFIG_R8169 is not set
@@ -507,6 +540,7 @@ CONFIG_NETDEV_1000=y
507# CONFIG_VIA_VELOCITY is not set 540# CONFIG_VIA_VELOCITY is not set
508# CONFIG_TIGON3 is not set 541# CONFIG_TIGON3 is not set
509# CONFIG_BNX2 is not set 542# CONFIG_BNX2 is not set
543# CONFIG_GIANFAR is not set
510# CONFIG_QLA3XXX is not set 544# CONFIG_QLA3XXX is not set
511CONFIG_NETDEV_10000=y 545CONFIG_NETDEV_10000=y
512# CONFIG_CHELSIO_T1 is not set 546# CONFIG_CHELSIO_T1 is not set
@@ -519,6 +553,7 @@ CONFIG_NETDEV_10000=y
519# CONFIG_NIU is not set 553# CONFIG_NIU is not set
520# CONFIG_MLX4_CORE is not set 554# CONFIG_MLX4_CORE is not set
521# CONFIG_TEHUTI is not set 555# CONFIG_TEHUTI is not set
556# CONFIG_BNX2X is not set
522# CONFIG_TR is not set 557# CONFIG_TR is not set
523 558
524# 559#
@@ -642,6 +677,7 @@ CONFIG_DEVPORT=y
642# CONFIG_W1 is not set 677# CONFIG_W1 is not set
643# CONFIG_POWER_SUPPLY is not set 678# CONFIG_POWER_SUPPLY is not set
644# CONFIG_HWMON is not set 679# CONFIG_HWMON is not set
680# CONFIG_THERMAL is not set
645# CONFIG_WATCHDOG is not set 681# CONFIG_WATCHDOG is not set
646 682
647# 683#
@@ -684,9 +720,11 @@ CONFIG_DAB=y
684# CONFIG_HID_SUPPORT is not set 720# CONFIG_HID_SUPPORT is not set
685# CONFIG_USB_SUPPORT is not set 721# CONFIG_USB_SUPPORT is not set
686# CONFIG_MMC is not set 722# CONFIG_MMC is not set
723# CONFIG_MEMSTICK is not set
687# CONFIG_NEW_LEDS is not set 724# CONFIG_NEW_LEDS is not set
688# CONFIG_INFINIBAND is not set 725# CONFIG_INFINIBAND is not set
689# CONFIG_RTC_CLASS is not set 726# CONFIG_RTC_CLASS is not set
727# CONFIG_DMADEVICES is not set
690 728
691# 729#
692# Userspace I/O 730# Userspace I/O
@@ -710,12 +748,10 @@ CONFIG_FS_MBCACHE=y
710CONFIG_FS_POSIX_ACL=y 748CONFIG_FS_POSIX_ACL=y
711# CONFIG_XFS_FS is not set 749# CONFIG_XFS_FS is not set
712# CONFIG_OCFS2_FS is not set 750# CONFIG_OCFS2_FS is not set
713# CONFIG_MINIX_FS is not set 751CONFIG_DNOTIFY=y
714# CONFIG_ROMFS_FS is not set
715CONFIG_INOTIFY=y 752CONFIG_INOTIFY=y
716CONFIG_INOTIFY_USER=y 753CONFIG_INOTIFY_USER=y
717# CONFIG_QUOTA is not set 754# CONFIG_QUOTA is not set
718CONFIG_DNOTIFY=y
719# CONFIG_AUTOFS_FS is not set 755# CONFIG_AUTOFS_FS is not set
720CONFIG_AUTOFS4_FS=y 756CONFIG_AUTOFS4_FS=y
721# CONFIG_FUSE_FS is not set 757# CONFIG_FUSE_FS is not set
@@ -743,6 +779,7 @@ CONFIG_SYSFS=y
743CONFIG_TMPFS=y 779CONFIG_TMPFS=y
744# CONFIG_TMPFS_POSIX_ACL is not set 780# CONFIG_TMPFS_POSIX_ACL is not set
745# CONFIG_HUGETLB_PAGE is not set 781# CONFIG_HUGETLB_PAGE is not set
782# CONFIG_CONFIGFS_FS is not set
746 783
747# 784#
748# Miscellaneous filesystems 785# Miscellaneous filesystems
@@ -751,8 +788,10 @@ CONFIG_TMPFS=y
751# CONFIG_JFFS2_FS is not set 788# CONFIG_JFFS2_FS is not set
752CONFIG_CRAMFS=y 789CONFIG_CRAMFS=y
753# CONFIG_VXFS_FS is not set 790# CONFIG_VXFS_FS is not set
791# CONFIG_MINIX_FS is not set
754# CONFIG_HPFS_FS is not set 792# CONFIG_HPFS_FS is not set
755# CONFIG_QNX4FS_FS is not set 793# CONFIG_QNX4FS_FS is not set
794# CONFIG_ROMFS_FS is not set
756# CONFIG_SYSV_FS is not set 795# CONFIG_SYSV_FS is not set
757# CONFIG_UFS_FS is not set 796# CONFIG_UFS_FS is not set
758CONFIG_NETWORK_FILESYSTEMS=y 797CONFIG_NETWORK_FILESYSTEMS=y
@@ -833,7 +872,6 @@ CONFIG_NLS_ISO8859_1=y
833# CONFIG_NLS_KOI8_R is not set 872# CONFIG_NLS_KOI8_R is not set
834# CONFIG_NLS_KOI8_U is not set 873# CONFIG_NLS_KOI8_U is not set
835CONFIG_NLS_UTF8=y 874CONFIG_NLS_UTF8=y
836# CONFIG_UCC_SLOW is not set
837 875
838# 876#
839# Library routines 877# Library routines
@@ -851,7 +889,6 @@ CONFIG_PLIST=y
851CONFIG_HAS_IOMEM=y 889CONFIG_HAS_IOMEM=y
852CONFIG_HAS_IOPORT=y 890CONFIG_HAS_IOPORT=y
853CONFIG_HAS_DMA=y 891CONFIG_HAS_DMA=y
854# CONFIG_INSTRUMENTATION is not set
855 892
856# 893#
857# Kernel hacking 894# Kernel hacking
@@ -870,6 +907,7 @@ CONFIG_SCHED_DEBUG=y
870# CONFIG_SCHEDSTATS is not set 907# CONFIG_SCHEDSTATS is not set
871# CONFIG_TIMER_STATS is not set 908# CONFIG_TIMER_STATS is not set
872# CONFIG_SLUB_DEBUG_ON is not set 909# CONFIG_SLUB_DEBUG_ON is not set
910# CONFIG_SLUB_STATS is not set
873# CONFIG_DEBUG_RT_MUTEXES is not set 911# CONFIG_DEBUG_RT_MUTEXES is not set
874# CONFIG_RT_MUTEX_TESTER is not set 912# CONFIG_RT_MUTEX_TESTER is not set
875# CONFIG_DEBUG_SPINLOCK is not set 913# CONFIG_DEBUG_SPINLOCK is not set
@@ -882,8 +920,8 @@ CONFIG_DEBUG_INFO=y
882# CONFIG_DEBUG_VM is not set 920# CONFIG_DEBUG_VM is not set
883# CONFIG_DEBUG_LIST is not set 921# CONFIG_DEBUG_LIST is not set
884# CONFIG_DEBUG_SG is not set 922# CONFIG_DEBUG_SG is not set
885CONFIG_FORCED_INLINING=y
886# CONFIG_BOOT_PRINTK_DELAY is not set 923# CONFIG_BOOT_PRINTK_DELAY is not set
924# CONFIG_BACKTRACE_SELF_TEST is not set
887# CONFIG_FAULT_INJECTION is not set 925# CONFIG_FAULT_INJECTION is not set
888# CONFIG_SAMPLES is not set 926# CONFIG_SAMPLES is not set
889# CONFIG_DEBUG_STACKOVERFLOW is not set 927# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -902,6 +940,7 @@ CONFIG_BDI_SWITCH=y
902CONFIG_CRYPTO=y 940CONFIG_CRYPTO=y
903CONFIG_CRYPTO_ALGAPI=y 941CONFIG_CRYPTO_ALGAPI=y
904CONFIG_CRYPTO_BLKCIPHER=y 942CONFIG_CRYPTO_BLKCIPHER=y
943# CONFIG_CRYPTO_SEQIV is not set
905CONFIG_CRYPTO_MANAGER=y 944CONFIG_CRYPTO_MANAGER=y
906# CONFIG_CRYPTO_HMAC is not set 945# CONFIG_CRYPTO_HMAC is not set
907# CONFIG_CRYPTO_NULL is not set 946# CONFIG_CRYPTO_NULL is not set
@@ -915,6 +954,9 @@ CONFIG_CRYPTO_MD5=y
915CONFIG_CRYPTO_ECB=y 954CONFIG_CRYPTO_ECB=y
916CONFIG_CRYPTO_CBC=y 955CONFIG_CRYPTO_CBC=y
917CONFIG_CRYPTO_PCBC=y 956CONFIG_CRYPTO_PCBC=y
957# CONFIG_CRYPTO_CTR is not set
958# CONFIG_CRYPTO_GCM is not set
959# CONFIG_CRYPTO_CCM is not set
918# CONFIG_CRYPTO_CRYPTD is not set 960# CONFIG_CRYPTO_CRYPTD is not set
919CONFIG_CRYPTO_DES=y 961CONFIG_CRYPTO_DES=y
920# CONFIG_CRYPTO_FCRYPT is not set 962# CONFIG_CRYPTO_FCRYPT is not set
@@ -934,6 +976,7 @@ CONFIG_CRYPTO_DES=y
934# CONFIG_CRYPTO_CRC32C is not set 976# CONFIG_CRYPTO_CRC32C is not set
935# CONFIG_CRYPTO_CAMELLIA is not set 977# CONFIG_CRYPTO_CAMELLIA is not set
936# CONFIG_CRYPTO_AUTHENC is not set 978# CONFIG_CRYPTO_AUTHENC is not set
979# CONFIG_CRYPTO_LZO is not set
937# CONFIG_CRYPTO_HW is not set 980# CONFIG_CRYPTO_HW is not set
938# CONFIG_PPC_CLOCK is not set 981# CONFIG_PPC_CLOCK is not set
939CONFIG_PPC_LIB_RHEAP=y 982CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8313_rdb_defconfig b/arch/powerpc/configs/mpc8313_rdb_defconfig
index 3b29ac53844..7a862a6e3be 100644
--- a/arch/powerpc/configs/mpc8313_rdb_defconfig
+++ b/arch/powerpc/configs/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.24-rc6 3# Linux kernel version: 2.6.25-rc6
4# Thu Jan 17 16:35:55 2008 4# Mon Mar 24 08:48:14 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -86,11 +91,13 @@ CONFIG_HOTPLUG=y
86CONFIG_PRINTK=y 91CONFIG_PRINTK=y
87CONFIG_BUG=y 92CONFIG_BUG=y
88CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
89CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 96CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
92# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 102CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -98,6 +105,13 @@ CONFIG_SLUB_DEBUG=y
98# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
99CONFIG_SLUB=y 106CONFIG_SLUB=y
100# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y
113CONFIG_PROC_PAGE_MONITOR=y
114CONFIG_SLABINFO=y
101CONFIG_RT_MUTEXES=y 115CONFIG_RT_MUTEXES=y
102# CONFIG_TINY_SHMEM is not set 116# CONFIG_TINY_SHMEM is not set
103CONFIG_BASE_SMALL=0 117CONFIG_BASE_SMALL=0
@@ -125,6 +139,7 @@ CONFIG_DEFAULT_AS=y
125# CONFIG_DEFAULT_CFQ is not set 139# CONFIG_DEFAULT_CFQ is not set
126# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
127CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
128 143
129# 144#
130# Platform support 145# Platform support
@@ -133,11 +148,12 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
133# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
134CONFIG_PPC_83xx=y 149CONFIG_PPC_83xx=y
135# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
136# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC512x is not set
137# CONFIG_PPC_MPC5200 is not set 152# CONFIG_PPC_MPC5121 is not set
138# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set 155# CONFIG_PQ2ADS is not set
156CONFIG_MPC83xx=y
141CONFIG_MPC831x_RDB=y 157CONFIG_MPC831x_RDB=y
142# CONFIG_MPC832x_MDS is not set 158# CONFIG_MPC832x_MDS is not set
143# CONFIG_MPC832x_RDB is not set 159# CONFIG_MPC832x_RDB is not set
@@ -145,7 +161,10 @@ CONFIG_MPC831x_RDB=y
145# CONFIG_MPC834x_ITX is not set 161# CONFIG_MPC834x_ITX is not set
146# CONFIG_MPC836x_MDS is not set 162# CONFIG_MPC836x_MDS is not set
147# CONFIG_MPC837x_MDS is not set 163# CONFIG_MPC837x_MDS is not set
164# CONFIG_MPC837x_RDB is not set
165# CONFIG_SBC834x is not set
148CONFIG_PPC_MPC831x=y 166CONFIG_PPC_MPC831x=y
167CONFIG_IPIC=y
149# CONFIG_MPIC is not set 168# CONFIG_MPIC is not set
150# CONFIG_MPIC_WEIRD is not set 169# CONFIG_MPIC_WEIRD is not set
151# CONFIG_PPC_I8259 is not set 170# CONFIG_PPC_I8259 is not set
@@ -156,7 +175,6 @@ CONFIG_PPC_MPC831x=y
156# CONFIG_PPC_INDIRECT_IO is not set 175# CONFIG_PPC_INDIRECT_IO is not set
157# CONFIG_GENERIC_IOMAP is not set 176# CONFIG_GENERIC_IOMAP is not set
158# CONFIG_CPU_FREQ is not set 177# CONFIG_CPU_FREQ is not set
159# CONFIG_CPM2 is not set
160# CONFIG_FSL_ULI1575 is not set 178# CONFIG_FSL_ULI1575 is not set
161 179
162# 180#
@@ -172,12 +190,16 @@ CONFIG_HZ_250=y
172# CONFIG_HZ_300 is not set 190# CONFIG_HZ_300 is not set
173# CONFIG_HZ_1000 is not set 191# CONFIG_HZ_1000 is not set
174CONFIG_HZ=250 192CONFIG_HZ=250
193# CONFIG_SCHED_HRTICK is not set
175CONFIG_PREEMPT_NONE=y 194CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 195# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 196# CONFIG_PREEMPT is not set
178CONFIG_BINFMT_ELF=y 197CONFIG_BINFMT_ELF=y
179# CONFIG_BINFMT_MISC is not set 198# CONFIG_BINFMT_MISC is not set
199# CONFIG_IOMMU_HELPER is not set
180CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
181CONFIG_ARCH_FLATMEM_ENABLE=y 203CONFIG_ARCH_FLATMEM_ENABLE=y
182CONFIG_ARCH_POPULATES_NODE_MAP=y 204CONFIG_ARCH_POPULATES_NODE_MAP=y
183CONFIG_SELECT_MEMORY_MODEL=y 205CONFIG_SELECT_MEMORY_MODEL=y
@@ -196,11 +218,7 @@ CONFIG_VIRT_TO_BUS=y
196CONFIG_PROC_DEVICETREE=y 218CONFIG_PROC_DEVICETREE=y
197# CONFIG_CMDLINE_BOOL is not set 219# CONFIG_CMDLINE_BOOL is not set
198# CONFIG_PM is not set 220# CONFIG_PM is not set
199CONFIG_SUSPEND_UP_POSSIBLE=y
200CONFIG_HIBERNATION_UP_POSSIBLE=y
201CONFIG_SECCOMP=y 221CONFIG_SECCOMP=y
202CONFIG_WANT_DEVICE_TREE=y
203CONFIG_DEVICE_TREE=""
204CONFIG_ISA_DMA_API=y 222CONFIG_ISA_DMA_API=y
205 223
206# 224#
@@ -250,6 +268,7 @@ CONFIG_XFRM=y
250# CONFIG_XFRM_USER is not set 268# CONFIG_XFRM_USER is not set
251# CONFIG_XFRM_SUB_POLICY is not set 269# CONFIG_XFRM_SUB_POLICY is not set
252# CONFIG_XFRM_MIGRATE is not set 270# CONFIG_XFRM_MIGRATE is not set
271# CONFIG_XFRM_STATISTICS is not set
253# CONFIG_NET_KEY is not set 272# CONFIG_NET_KEY is not set
254CONFIG_INET=y 273CONFIG_INET=y
255CONFIG_IP_MULTICAST=y 274CONFIG_IP_MULTICAST=y
@@ -305,6 +324,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
305# 324#
306# CONFIG_NET_PKTGEN is not set 325# CONFIG_NET_PKTGEN is not set
307# CONFIG_HAMRADIO is not set 326# CONFIG_HAMRADIO is not set
327# CONFIG_CAN is not set
308# CONFIG_IRDA is not set 328# CONFIG_IRDA is not set
309# CONFIG_BT is not set 329# CONFIG_BT is not set
310# CONFIG_AF_RXRPC is not set 330# CONFIG_AF_RXRPC is not set
@@ -340,6 +360,7 @@ CONFIG_MTD=y
340CONFIG_MTD_PARTITIONS=y 360CONFIG_MTD_PARTITIONS=y
341# CONFIG_MTD_REDBOOT_PARTS is not set 361# CONFIG_MTD_REDBOOT_PARTS is not set
342# CONFIG_MTD_CMDLINE_PARTS is not set 362# CONFIG_MTD_CMDLINE_PARTS is not set
363# CONFIG_MTD_OF_PARTS is not set
343 364
344# 365#
345# User Modules And Translation Layers 366# User Modules And Translation Layers
@@ -415,6 +436,7 @@ CONFIG_MTD_NAND_IDS=y
415# CONFIG_MTD_NAND_NANDSIM is not set 436# CONFIG_MTD_NAND_NANDSIM is not set
416# CONFIG_MTD_NAND_PLATFORM is not set 437# CONFIG_MTD_NAND_PLATFORM is not set
417# CONFIG_MTD_ALAUDA is not set 438# CONFIG_MTD_ALAUDA is not set
439# CONFIG_MTD_NAND_FSL_ELBC is not set
418# CONFIG_MTD_ONENAND is not set 440# CONFIG_MTD_ONENAND is not set
419 441
420# 442#
@@ -438,7 +460,7 @@ CONFIG_BLK_DEV_LOOP=y
438CONFIG_BLK_DEV_RAM=y 460CONFIG_BLK_DEV_RAM=y
439CONFIG_BLK_DEV_RAM_COUNT=16 461CONFIG_BLK_DEV_RAM_COUNT=16
440CONFIG_BLK_DEV_RAM_SIZE=32768 462CONFIG_BLK_DEV_RAM_SIZE=32768
441CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 463# CONFIG_BLK_DEV_XIP is not set
442# CONFIG_CDROM_PKTCDVD is not set 464# CONFIG_CDROM_PKTCDVD is not set
443# CONFIG_ATA_OVER_ETH is not set 465# CONFIG_ATA_OVER_ETH is not set
444CONFIG_MISC_DEVICES=y 466CONFIG_MISC_DEVICES=y
@@ -446,6 +468,8 @@ CONFIG_MISC_DEVICES=y
446# CONFIG_EEPROM_93CX6 is not set 468# CONFIG_EEPROM_93CX6 is not set
447# CONFIG_SGI_IOC4 is not set 469# CONFIG_SGI_IOC4 is not set
448# CONFIG_TIFM_CORE is not set 470# CONFIG_TIFM_CORE is not set
471# CONFIG_ENCLOSURE_SERVICES is not set
472CONFIG_HAVE_IDE=y
449# CONFIG_IDE is not set 473# CONFIG_IDE is not set
450 474
451# 475#
@@ -510,6 +534,7 @@ CONFIG_SCSI_LOWLEVEL=y
510# CONFIG_SCSI_IPS is not set 534# CONFIG_SCSI_IPS is not set
511# CONFIG_SCSI_INITIO is not set 535# CONFIG_SCSI_INITIO is not set
512# CONFIG_SCSI_INIA100 is not set 536# CONFIG_SCSI_INIA100 is not set
537# CONFIG_SCSI_MVSAS is not set
513# CONFIG_SCSI_STEX is not set 538# CONFIG_SCSI_STEX is not set
514# CONFIG_SCSI_SYM53C8XX_2 is not set 539# CONFIG_SCSI_SYM53C8XX_2 is not set
515# CONFIG_SCSI_QLOGIC_1280 is not set 540# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -549,7 +574,6 @@ CONFIG_NETDEVICES=y
549# CONFIG_EQUALIZER is not set 574# CONFIG_EQUALIZER is not set
550# CONFIG_TUN is not set 575# CONFIG_TUN is not set
551# CONFIG_VETH is not set 576# CONFIG_VETH is not set
552# CONFIG_IP1000 is not set
553# CONFIG_ARCNET is not set 577# CONFIG_ARCNET is not set
554CONFIG_PHYLIB=y 578CONFIG_PHYLIB=y
555 579
@@ -565,6 +589,7 @@ CONFIG_CICADA_PHY=y
565# CONFIG_SMSC_PHY is not set 589# CONFIG_SMSC_PHY is not set
566# CONFIG_BROADCOM_PHY is not set 590# CONFIG_BROADCOM_PHY is not set
567# CONFIG_ICPLUS_PHY is not set 591# CONFIG_ICPLUS_PHY is not set
592# CONFIG_REALTEK_PHY is not set
568# CONFIG_FIXED_PHY is not set 593# CONFIG_FIXED_PHY is not set
569# CONFIG_MDIO_BITBANG is not set 594# CONFIG_MDIO_BITBANG is not set
570CONFIG_NET_ETHERNET=y 595CONFIG_NET_ETHERNET=y
@@ -573,6 +598,7 @@ CONFIG_MII=y
573# CONFIG_SUNGEM is not set 598# CONFIG_SUNGEM is not set
574# CONFIG_CASSINI is not set 599# CONFIG_CASSINI is not set
575# CONFIG_NET_VENDOR_3COM is not set 600# CONFIG_NET_VENDOR_3COM is not set
601# CONFIG_ENC28J60 is not set
576# CONFIG_NET_TULIP is not set 602# CONFIG_NET_TULIP is not set
577# CONFIG_HP100 is not set 603# CONFIG_HP100 is not set
578# CONFIG_IBM_NEW_EMAC_ZMII is not set 604# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -592,6 +618,7 @@ CONFIG_E100=y
592# CONFIG_NE2K_PCI is not set 618# CONFIG_NE2K_PCI is not set
593# CONFIG_8139CP is not set 619# CONFIG_8139CP is not set
594# CONFIG_8139TOO is not set 620# CONFIG_8139TOO is not set
621# CONFIG_R6040 is not set
595# CONFIG_SIS900 is not set 622# CONFIG_SIS900 is not set
596# CONFIG_EPIC100 is not set 623# CONFIG_EPIC100 is not set
597# CONFIG_SUNDANCE is not set 624# CONFIG_SUNDANCE is not set
@@ -603,6 +630,9 @@ CONFIG_NETDEV_1000=y
603# CONFIG_DL2K is not set 630# CONFIG_DL2K is not set
604# CONFIG_E1000 is not set 631# CONFIG_E1000 is not set
605# CONFIG_E1000E is not set 632# CONFIG_E1000E is not set
633# CONFIG_E1000E_ENABLED is not set
634# CONFIG_IP1000 is not set
635# CONFIG_IGB is not set
606# CONFIG_NS83820 is not set 636# CONFIG_NS83820 is not set
607# CONFIG_HAMACHI is not set 637# CONFIG_HAMACHI is not set
608# CONFIG_YELLOWFIN is not set 638# CONFIG_YELLOWFIN is not set
@@ -629,6 +659,7 @@ CONFIG_NETDEV_10000=y
629# CONFIG_NIU is not set 659# CONFIG_NIU is not set
630# CONFIG_MLX4_CORE is not set 660# CONFIG_MLX4_CORE is not set
631# CONFIG_TEHUTI is not set 661# CONFIG_TEHUTI is not set
662# CONFIG_BNX2X is not set
632# CONFIG_TR is not set 663# CONFIG_TR is not set
633 664
634# 665#
@@ -651,7 +682,6 @@ CONFIG_NETDEV_10000=y
651# CONFIG_PPP is not set 682# CONFIG_PPP is not set
652# CONFIG_SLIP is not set 683# CONFIG_SLIP is not set
653# CONFIG_NET_FC is not set 684# CONFIG_NET_FC is not set
654# CONFIG_SHAPER is not set
655# CONFIG_NETCONSOLE is not set 685# CONFIG_NETCONSOLE is not set
656# CONFIG_NETPOLL is not set 686# CONFIG_NETPOLL is not set
657# CONFIG_NET_POLL_CONTROLLER is not set 687# CONFIG_NET_POLL_CONTROLLER is not set
@@ -694,6 +724,7 @@ CONFIG_INPUT=y
694# 724#
695# CONFIG_VT is not set 725# CONFIG_VT is not set
696# CONFIG_SERIAL_NONSTANDARD is not set 726# CONFIG_SERIAL_NONSTANDARD is not set
727# CONFIG_NOZOMI is not set
697 728
698# 729#
699# Serial drivers 730# Serial drivers
@@ -767,14 +798,12 @@ CONFIG_I2C_MPC=y
767# 798#
768# Miscellaneous I2C Chip support 799# Miscellaneous I2C Chip support
769# 800#
770# CONFIG_SENSORS_DS1337 is not set
771# CONFIG_SENSORS_DS1374 is not set
772# CONFIG_DS1682 is not set 801# CONFIG_DS1682 is not set
773# CONFIG_SENSORS_EEPROM is not set 802# CONFIG_SENSORS_EEPROM is not set
774# CONFIG_SENSORS_PCF8574 is not set 803# CONFIG_SENSORS_PCF8574 is not set
775# CONFIG_SENSORS_PCA9539 is not set 804# CONFIG_PCF8575 is not set
776# CONFIG_SENSORS_PCF8591 is not set 805# CONFIG_SENSORS_PCF8591 is not set
777# CONFIG_SENSORS_M41T00 is not set 806# CONFIG_TPS65010 is not set
778# CONFIG_SENSORS_MAX6875 is not set 807# CONFIG_SENSORS_MAX6875 is not set
779# CONFIG_SENSORS_TSL2550 is not set 808# CONFIG_SENSORS_TSL2550 is not set
780# CONFIG_I2C_DEBUG_CORE is not set 809# CONFIG_I2C_DEBUG_CORE is not set
@@ -813,6 +842,7 @@ CONFIG_HWMON=y
813# CONFIG_SENSORS_ADM1031 is not set 842# CONFIG_SENSORS_ADM1031 is not set
814# CONFIG_SENSORS_ADM9240 is not set 843# CONFIG_SENSORS_ADM9240 is not set
815# CONFIG_SENSORS_ADT7470 is not set 844# CONFIG_SENSORS_ADT7470 is not set
845# CONFIG_SENSORS_ADT7473 is not set
816# CONFIG_SENSORS_ATXP1 is not set 846# CONFIG_SENSORS_ATXP1 is not set
817# CONFIG_SENSORS_DS1621 is not set 847# CONFIG_SENSORS_DS1621 is not set
818# CONFIG_SENSORS_I5K_AMB is not set 848# CONFIG_SENSORS_I5K_AMB is not set
@@ -843,6 +873,7 @@ CONFIG_HWMON=y
843# CONFIG_SENSORS_SMSC47M1 is not set 873# CONFIG_SENSORS_SMSC47M1 is not set
844# CONFIG_SENSORS_SMSC47M192 is not set 874# CONFIG_SENSORS_SMSC47M192 is not set
845# CONFIG_SENSORS_SMSC47B397 is not set 875# CONFIG_SENSORS_SMSC47B397 is not set
876# CONFIG_SENSORS_ADS7828 is not set
846# CONFIG_SENSORS_THMC50 is not set 877# CONFIG_SENSORS_THMC50 is not set
847# CONFIG_SENSORS_VIA686A is not set 878# CONFIG_SENSORS_VIA686A is not set
848# CONFIG_SENSORS_VT1211 is not set 879# CONFIG_SENSORS_VT1211 is not set
@@ -852,9 +883,11 @@ CONFIG_HWMON=y
852# CONFIG_SENSORS_W83792D is not set 883# CONFIG_SENSORS_W83792D is not set
853# CONFIG_SENSORS_W83793 is not set 884# CONFIG_SENSORS_W83793 is not set
854# CONFIG_SENSORS_W83L785TS is not set 885# CONFIG_SENSORS_W83L785TS is not set
886# CONFIG_SENSORS_W83L786NG is not set
855# CONFIG_SENSORS_W83627HF is not set 887# CONFIG_SENSORS_W83627HF is not set
856# CONFIG_SENSORS_W83627EHF is not set 888# CONFIG_SENSORS_W83627EHF is not set
857# CONFIG_HWMON_DEBUG_CHIP is not set 889# CONFIG_HWMON_DEBUG_CHIP is not set
890# CONFIG_THERMAL is not set
858CONFIG_WATCHDOG=y 891CONFIG_WATCHDOG=y
859# CONFIG_WATCHDOG_NOWAYOUT is not set 892# CONFIG_WATCHDOG_NOWAYOUT is not set
860 893
@@ -934,6 +967,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
934CONFIG_USB_ARCH_HAS_EHCI=y 967CONFIG_USB_ARCH_HAS_EHCI=y
935CONFIG_USB=y 968CONFIG_USB=y
936# CONFIG_USB_DEBUG is not set 969# CONFIG_USB_DEBUG is not set
970# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
937 971
938# 972#
939# Miscellaneous USB options 973# Miscellaneous USB options
@@ -947,10 +981,10 @@ CONFIG_USB_DEVICE_CLASS=y
947# USB Host Controller Drivers 981# USB Host Controller Drivers
948# 982#
949CONFIG_USB_EHCI_HCD=y 983CONFIG_USB_EHCI_HCD=y
950# CONFIG_USB_EHCI_SPLIT_ISO is not set
951CONFIG_USB_EHCI_ROOT_HUB_TT=y 984CONFIG_USB_EHCI_ROOT_HUB_TT=y
952# CONFIG_USB_EHCI_TT_NEWSCHED is not set 985# CONFIG_USB_EHCI_TT_NEWSCHED is not set
953CONFIG_USB_EHCI_FSL=y 986CONFIG_USB_EHCI_FSL=y
987CONFIG_USB_EHCI_HCD_PPC_OF=y
954# CONFIG_USB_ISP116X_HCD is not set 988# CONFIG_USB_ISP116X_HCD is not set
955CONFIG_USB_OHCI_HCD=y 989CONFIG_USB_OHCI_HCD=y
956CONFIG_USB_OHCI_HCD_PPC_OF=y 990CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1001,10 +1035,6 @@ CONFIG_USB_MON=y
1001# 1035#
1002# USB port drivers 1036# USB port drivers
1003# 1037#
1004
1005#
1006# USB Serial Converter support
1007#
1008# CONFIG_USB_SERIAL is not set 1038# CONFIG_USB_SERIAL is not set
1009 1039
1010# 1040#
@@ -1030,14 +1060,6 @@ CONFIG_USB_MON=y
1030# CONFIG_USB_TRANCEVIBRATOR is not set 1060# CONFIG_USB_TRANCEVIBRATOR is not set
1031# CONFIG_USB_IOWARRIOR is not set 1061# CONFIG_USB_IOWARRIOR is not set
1032# CONFIG_USB_TEST is not set 1062# CONFIG_USB_TEST is not set
1033
1034#
1035# USB DSL modem support
1036#
1037
1038#
1039# USB Gadget Support
1040#
1041CONFIG_USB_GADGET=y 1063CONFIG_USB_GADGET=y
1042# CONFIG_USB_GADGET_DEBUG is not set 1064# CONFIG_USB_GADGET_DEBUG is not set
1043# CONFIG_USB_GADGET_DEBUG_FILES is not set 1065# CONFIG_USB_GADGET_DEBUG_FILES is not set
@@ -1063,7 +1085,9 @@ CONFIG_USB_ETH_RNDIS=y
1063# CONFIG_USB_FILE_STORAGE is not set 1085# CONFIG_USB_FILE_STORAGE is not set
1064# CONFIG_USB_G_SERIAL is not set 1086# CONFIG_USB_G_SERIAL is not set
1065# CONFIG_USB_MIDI_GADGET is not set 1087# CONFIG_USB_MIDI_GADGET is not set
1088# CONFIG_USB_G_PRINTER is not set
1066# CONFIG_MMC is not set 1089# CONFIG_MMC is not set
1090# CONFIG_MEMSTICK is not set
1067# CONFIG_NEW_LEDS is not set 1091# CONFIG_NEW_LEDS is not set
1068# CONFIG_INFINIBAND is not set 1092# CONFIG_INFINIBAND is not set
1069# CONFIG_EDAC is not set 1093# CONFIG_EDAC is not set
@@ -1095,20 +1119,23 @@ CONFIG_RTC_DRV_DS1307=y
1095# CONFIG_RTC_DRV_PCF8563 is not set 1119# CONFIG_RTC_DRV_PCF8563 is not set
1096# CONFIG_RTC_DRV_PCF8583 is not set 1120# CONFIG_RTC_DRV_PCF8583 is not set
1097# CONFIG_RTC_DRV_M41T80 is not set 1121# CONFIG_RTC_DRV_M41T80 is not set
1122# CONFIG_RTC_DRV_S35390A is not set
1098 1123
1099# 1124#
1100# SPI RTC drivers 1125# SPI RTC drivers
1101# 1126#
1102# CONFIG_RTC_DRV_RS5C348 is not set
1103# CONFIG_RTC_DRV_MAX6902 is not set 1127# CONFIG_RTC_DRV_MAX6902 is not set
1128# CONFIG_RTC_DRV_R9701 is not set
1129# CONFIG_RTC_DRV_RS5C348 is not set
1104 1130
1105# 1131#
1106# Platform RTC drivers 1132# Platform RTC drivers
1107# 1133#
1108# CONFIG_RTC_DRV_CMOS is not set 1134# CONFIG_RTC_DRV_CMOS is not set
1135# CONFIG_RTC_DRV_DS1511 is not set
1109# CONFIG_RTC_DRV_DS1553 is not set 1136# CONFIG_RTC_DRV_DS1553 is not set
1110# CONFIG_RTC_DRV_STK17TA8 is not set
1111# CONFIG_RTC_DRV_DS1742 is not set 1137# CONFIG_RTC_DRV_DS1742 is not set
1138# CONFIG_RTC_DRV_STK17TA8 is not set
1112# CONFIG_RTC_DRV_M48T86 is not set 1139# CONFIG_RTC_DRV_M48T86 is not set
1113# CONFIG_RTC_DRV_M48T59 is not set 1140# CONFIG_RTC_DRV_M48T59 is not set
1114# CONFIG_RTC_DRV_V3020 is not set 1141# CONFIG_RTC_DRV_V3020 is not set
@@ -1116,6 +1143,7 @@ CONFIG_RTC_DRV_DS1307=y
1116# 1143#
1117# on-CPU RTC drivers 1144# on-CPU RTC drivers
1118# 1145#
1146# CONFIG_DMADEVICES is not set
1119 1147
1120# 1148#
1121# Userspace I/O 1149# Userspace I/O
@@ -1141,12 +1169,10 @@ CONFIG_FS_MBCACHE=y
1141# CONFIG_XFS_FS is not set 1169# CONFIG_XFS_FS is not set
1142# CONFIG_GFS2_FS is not set 1170# CONFIG_GFS2_FS is not set
1143# CONFIG_OCFS2_FS is not set 1171# CONFIG_OCFS2_FS is not set
1144# CONFIG_MINIX_FS is not set 1172CONFIG_DNOTIFY=y
1145# CONFIG_ROMFS_FS is not set
1146CONFIG_INOTIFY=y 1173CONFIG_INOTIFY=y
1147CONFIG_INOTIFY_USER=y 1174CONFIG_INOTIFY_USER=y
1148# CONFIG_QUOTA is not set 1175# CONFIG_QUOTA is not set
1149CONFIG_DNOTIFY=y
1150# CONFIG_AUTOFS_FS is not set 1176# CONFIG_AUTOFS_FS is not set
1151# CONFIG_AUTOFS4_FS is not set 1177# CONFIG_AUTOFS4_FS is not set
1152# CONFIG_FUSE_FS is not set 1178# CONFIG_FUSE_FS is not set
@@ -1199,8 +1225,10 @@ CONFIG_JFFS2_RTIME=y
1199# CONFIG_JFFS2_RUBIN is not set 1225# CONFIG_JFFS2_RUBIN is not set
1200# CONFIG_CRAMFS is not set 1226# CONFIG_CRAMFS is not set
1201# CONFIG_VXFS_FS is not set 1227# CONFIG_VXFS_FS is not set
1228# CONFIG_MINIX_FS is not set
1202# CONFIG_HPFS_FS is not set 1229# CONFIG_HPFS_FS is not set
1203# CONFIG_QNX4FS_FS is not set 1230# CONFIG_QNX4FS_FS is not set
1231# CONFIG_ROMFS_FS is not set
1204# CONFIG_SYSV_FS is not set 1232# CONFIG_SYSV_FS is not set
1205# CONFIG_UFS_FS is not set 1233# CONFIG_UFS_FS is not set
1206CONFIG_NETWORK_FILESYSTEMS=y 1234CONFIG_NETWORK_FILESYSTEMS=y
@@ -1248,7 +1276,6 @@ CONFIG_MSDOS_PARTITION=y
1248# CONFIG_SYSV68_PARTITION is not set 1276# CONFIG_SYSV68_PARTITION is not set
1249# CONFIG_NLS is not set 1277# CONFIG_NLS is not set
1250# CONFIG_DLM is not set 1278# CONFIG_DLM is not set
1251# CONFIG_UCC_SLOW is not set
1252 1279
1253# 1280#
1254# Library routines 1281# Library routines
@@ -1266,7 +1293,6 @@ CONFIG_PLIST=y
1266CONFIG_HAS_IOMEM=y 1293CONFIG_HAS_IOMEM=y
1267CONFIG_HAS_IOPORT=y 1294CONFIG_HAS_IOPORT=y
1268CONFIG_HAS_DMA=y 1295CONFIG_HAS_DMA=y
1269# CONFIG_INSTRUMENTATION is not set
1270 1296
1271# 1297#
1272# Kernel hacking 1298# Kernel hacking
@@ -1285,6 +1311,7 @@ CONFIG_SCHED_DEBUG=y
1285# CONFIG_SCHEDSTATS is not set 1311# CONFIG_SCHEDSTATS is not set
1286# CONFIG_TIMER_STATS is not set 1312# CONFIG_TIMER_STATS is not set
1287# CONFIG_SLUB_DEBUG_ON is not set 1313# CONFIG_SLUB_DEBUG_ON is not set
1314# CONFIG_SLUB_STATS is not set
1288# CONFIG_DEBUG_RT_MUTEXES is not set 1315# CONFIG_DEBUG_RT_MUTEXES is not set
1289# CONFIG_RT_MUTEX_TESTER is not set 1316# CONFIG_RT_MUTEX_TESTER is not set
1290# CONFIG_DEBUG_SPINLOCK is not set 1317# CONFIG_DEBUG_SPINLOCK is not set
@@ -1297,9 +1324,9 @@ CONFIG_SCHED_DEBUG=y
1297# CONFIG_DEBUG_VM is not set 1324# CONFIG_DEBUG_VM is not set
1298# CONFIG_DEBUG_LIST is not set 1325# CONFIG_DEBUG_LIST is not set
1299# CONFIG_DEBUG_SG is not set 1326# CONFIG_DEBUG_SG is not set
1300CONFIG_FORCED_INLINING=y
1301# CONFIG_BOOT_PRINTK_DELAY is not set 1327# CONFIG_BOOT_PRINTK_DELAY is not set
1302# CONFIG_RCU_TORTURE_TEST is not set 1328# CONFIG_RCU_TORTURE_TEST is not set
1329# CONFIG_BACKTRACE_SELF_TEST is not set
1303# CONFIG_FAULT_INJECTION is not set 1330# CONFIG_FAULT_INJECTION is not set
1304# CONFIG_SAMPLES is not set 1331# CONFIG_SAMPLES is not set
1305# CONFIG_DEBUG_STACKOVERFLOW is not set 1332# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1318,6 +1345,7 @@ CONFIG_FORCED_INLINING=y
1318CONFIG_CRYPTO=y 1345CONFIG_CRYPTO=y
1319CONFIG_CRYPTO_ALGAPI=y 1346CONFIG_CRYPTO_ALGAPI=y
1320CONFIG_CRYPTO_BLKCIPHER=y 1347CONFIG_CRYPTO_BLKCIPHER=y
1348# CONFIG_CRYPTO_SEQIV is not set
1321CONFIG_CRYPTO_MANAGER=y 1349CONFIG_CRYPTO_MANAGER=y
1322# CONFIG_CRYPTO_HMAC is not set 1350# CONFIG_CRYPTO_HMAC is not set
1323# CONFIG_CRYPTO_XCBC is not set 1351# CONFIG_CRYPTO_XCBC is not set
@@ -1335,6 +1363,9 @@ CONFIG_CRYPTO_CBC=y
1335CONFIG_CRYPTO_PCBC=m 1363CONFIG_CRYPTO_PCBC=m
1336# CONFIG_CRYPTO_LRW is not set 1364# CONFIG_CRYPTO_LRW is not set
1337# CONFIG_CRYPTO_XTS is not set 1365# CONFIG_CRYPTO_XTS is not set
1366# CONFIG_CRYPTO_CTR is not set
1367# CONFIG_CRYPTO_GCM is not set
1368# CONFIG_CRYPTO_CCM is not set
1338# CONFIG_CRYPTO_CRYPTD is not set 1369# CONFIG_CRYPTO_CRYPTD is not set
1339CONFIG_CRYPTO_DES=y 1370CONFIG_CRYPTO_DES=y
1340# CONFIG_CRYPTO_FCRYPT is not set 1371# CONFIG_CRYPTO_FCRYPT is not set
@@ -1349,11 +1380,14 @@ CONFIG_CRYPTO_DES=y
1349# CONFIG_CRYPTO_KHAZAD is not set 1380# CONFIG_CRYPTO_KHAZAD is not set
1350# CONFIG_CRYPTO_ANUBIS is not set 1381# CONFIG_CRYPTO_ANUBIS is not set
1351# CONFIG_CRYPTO_SEED is not set 1382# CONFIG_CRYPTO_SEED is not set
1383# CONFIG_CRYPTO_SALSA20 is not set
1352# CONFIG_CRYPTO_DEFLATE is not set 1384# CONFIG_CRYPTO_DEFLATE is not set
1353# CONFIG_CRYPTO_MICHAEL_MIC is not set 1385# CONFIG_CRYPTO_MICHAEL_MIC is not set
1354# CONFIG_CRYPTO_CRC32C is not set 1386# CONFIG_CRYPTO_CRC32C is not set
1355# CONFIG_CRYPTO_CAMELLIA is not set 1387# CONFIG_CRYPTO_CAMELLIA is not set
1356# CONFIG_CRYPTO_TEST is not set 1388# CONFIG_CRYPTO_TEST is not set
1357# CONFIG_CRYPTO_AUTHENC is not set 1389# CONFIG_CRYPTO_AUTHENC is not set
1390# CONFIG_CRYPTO_LZO is not set
1358CONFIG_CRYPTO_HW=y 1391CONFIG_CRYPTO_HW=y
1392# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1359# CONFIG_PPC_CLOCK is not set 1393# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8315_rdb_defconfig b/arch/powerpc/configs/mpc8315_rdb_defconfig
index 9adf7f98f67..1f57456dd81 100644
--- a/arch/powerpc/configs/mpc8315_rdb_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Wed Jan 23 20:02:25 2008 4# Mon Mar 24 08:48:15 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -86,11 +91,13 @@ CONFIG_HOTPLUG=y
86CONFIG_PRINTK=y 91CONFIG_PRINTK=y
87CONFIG_BUG=y 92CONFIG_BUG=y
88CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
89CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 96CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
92# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 102CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -98,6 +105,12 @@ CONFIG_SLUB_DEBUG=y
98# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
99CONFIG_SLUB=y 106CONFIG_SLUB=y
100# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y
113CONFIG_PROC_PAGE_MONITOR=y
101CONFIG_SLABINFO=y 114CONFIG_SLABINFO=y
102CONFIG_RT_MUTEXES=y 115CONFIG_RT_MUTEXES=y
103# CONFIG_TINY_SHMEM is not set 116# CONFIG_TINY_SHMEM is not set
@@ -126,6 +139,7 @@ CONFIG_DEFAULT_AS=y
126# CONFIG_DEFAULT_CFQ is not set 139# CONFIG_DEFAULT_CFQ is not set
127# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
128CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
129 143
130# 144#
131# Platform support 145# Platform support
@@ -134,11 +148,12 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
134# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
135CONFIG_PPC_83xx=y 149CONFIG_PPC_83xx=y
136# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
137# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC512x is not set
138# CONFIG_PPC_MPC5200 is not set 152# CONFIG_PPC_MPC5121 is not set
139# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
140# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
141# CONFIG_PQ2ADS is not set 155# CONFIG_PQ2ADS is not set
156CONFIG_MPC83xx=y
142CONFIG_MPC831x_RDB=y 157CONFIG_MPC831x_RDB=y
143# CONFIG_MPC832x_MDS is not set 158# CONFIG_MPC832x_MDS is not set
144# CONFIG_MPC832x_RDB is not set 159# CONFIG_MPC832x_RDB is not set
@@ -146,6 +161,8 @@ CONFIG_MPC831x_RDB=y
146# CONFIG_MPC834x_ITX is not set 161# CONFIG_MPC834x_ITX is not set
147# CONFIG_MPC836x_MDS is not set 162# CONFIG_MPC836x_MDS is not set
148# CONFIG_MPC837x_MDS is not set 163# CONFIG_MPC837x_MDS is not set
164# CONFIG_MPC837x_RDB is not set
165# CONFIG_SBC834x is not set
149CONFIG_PPC_MPC831x=y 166CONFIG_PPC_MPC831x=y
150CONFIG_IPIC=y 167CONFIG_IPIC=y
151# CONFIG_MPIC is not set 168# CONFIG_MPIC is not set
@@ -158,7 +175,6 @@ CONFIG_IPIC=y
158# CONFIG_PPC_INDIRECT_IO is not set 175# CONFIG_PPC_INDIRECT_IO is not set
159# CONFIG_GENERIC_IOMAP is not set 176# CONFIG_GENERIC_IOMAP is not set
160# CONFIG_CPU_FREQ is not set 177# CONFIG_CPU_FREQ is not set
161# CONFIG_CPM2 is not set
162# CONFIG_FSL_ULI1575 is not set 178# CONFIG_FSL_ULI1575 is not set
163 179
164# 180#
@@ -174,12 +190,16 @@ CONFIG_HZ_250=y
174# CONFIG_HZ_300 is not set 190# CONFIG_HZ_300 is not set
175# CONFIG_HZ_1000 is not set 191# CONFIG_HZ_1000 is not set
176CONFIG_HZ=250 192CONFIG_HZ=250
193# CONFIG_SCHED_HRTICK is not set
177CONFIG_PREEMPT_NONE=y 194CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set 195# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set 196# CONFIG_PREEMPT is not set
180CONFIG_BINFMT_ELF=y 197CONFIG_BINFMT_ELF=y
181# CONFIG_BINFMT_MISC is not set 198# CONFIG_BINFMT_MISC is not set
199# CONFIG_IOMMU_HELPER is not set
182CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
183CONFIG_ARCH_FLATMEM_ENABLE=y 203CONFIG_ARCH_FLATMEM_ENABLE=y
184CONFIG_ARCH_POPULATES_NODE_MAP=y 204CONFIG_ARCH_POPULATES_NODE_MAP=y
185CONFIG_SELECT_MEMORY_MODEL=y 205CONFIG_SELECT_MEMORY_MODEL=y
@@ -198,11 +218,7 @@ CONFIG_VIRT_TO_BUS=y
198CONFIG_PROC_DEVICETREE=y 218CONFIG_PROC_DEVICETREE=y
199# CONFIG_CMDLINE_BOOL is not set 219# CONFIG_CMDLINE_BOOL is not set
200# CONFIG_PM is not set 220# CONFIG_PM is not set
201CONFIG_SUSPEND_UP_POSSIBLE=y
202CONFIG_HIBERNATION_UP_POSSIBLE=y
203CONFIG_SECCOMP=y 221CONFIG_SECCOMP=y
204CONFIG_WANT_DEVICE_TREE=y
205CONFIG_DEVICE_TREE=""
206CONFIG_ISA_DMA_API=y 222CONFIG_ISA_DMA_API=y
207 223
208# 224#
@@ -252,6 +268,7 @@ CONFIG_XFRM=y
252# CONFIG_XFRM_USER is not set 268# CONFIG_XFRM_USER is not set
253# CONFIG_XFRM_SUB_POLICY is not set 269# CONFIG_XFRM_SUB_POLICY is not set
254# CONFIG_XFRM_MIGRATE is not set 270# CONFIG_XFRM_MIGRATE is not set
271# CONFIG_XFRM_STATISTICS is not set
255# CONFIG_NET_KEY is not set 272# CONFIG_NET_KEY is not set
256CONFIG_INET=y 273CONFIG_INET=y
257CONFIG_IP_MULTICAST=y 274CONFIG_IP_MULTICAST=y
@@ -307,6 +324,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
307# 324#
308# CONFIG_NET_PKTGEN is not set 325# CONFIG_NET_PKTGEN is not set
309# CONFIG_HAMRADIO is not set 326# CONFIG_HAMRADIO is not set
327# CONFIG_CAN is not set
310# CONFIG_IRDA is not set 328# CONFIG_IRDA is not set
311# CONFIG_BT is not set 329# CONFIG_BT is not set
312# CONFIG_AF_RXRPC is not set 330# CONFIG_AF_RXRPC is not set
@@ -342,6 +360,7 @@ CONFIG_MTD=y
342CONFIG_MTD_PARTITIONS=y 360CONFIG_MTD_PARTITIONS=y
343# CONFIG_MTD_REDBOOT_PARTS is not set 361# CONFIG_MTD_REDBOOT_PARTS is not set
344# CONFIG_MTD_CMDLINE_PARTS is not set 362# CONFIG_MTD_CMDLINE_PARTS is not set
363# CONFIG_MTD_OF_PARTS is not set
345 364
346# 365#
347# User Modules And Translation Layers 366# User Modules And Translation Layers
@@ -417,6 +436,7 @@ CONFIG_MTD_NAND_IDS=y
417# CONFIG_MTD_NAND_NANDSIM is not set 436# CONFIG_MTD_NAND_NANDSIM is not set
418# CONFIG_MTD_NAND_PLATFORM is not set 437# CONFIG_MTD_NAND_PLATFORM is not set
419# CONFIG_MTD_ALAUDA is not set 438# CONFIG_MTD_ALAUDA is not set
439# CONFIG_MTD_NAND_FSL_ELBC is not set
420# CONFIG_MTD_ONENAND is not set 440# CONFIG_MTD_ONENAND is not set
421 441
422# 442#
@@ -440,7 +460,7 @@ CONFIG_BLK_DEV_LOOP=y
440CONFIG_BLK_DEV_RAM=y 460CONFIG_BLK_DEV_RAM=y
441CONFIG_BLK_DEV_RAM_COUNT=16 461CONFIG_BLK_DEV_RAM_COUNT=16
442CONFIG_BLK_DEV_RAM_SIZE=32768 462CONFIG_BLK_DEV_RAM_SIZE=32768
443CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 463# CONFIG_BLK_DEV_XIP is not set
444# CONFIG_CDROM_PKTCDVD is not set 464# CONFIG_CDROM_PKTCDVD is not set
445# CONFIG_ATA_OVER_ETH is not set 465# CONFIG_ATA_OVER_ETH is not set
446CONFIG_MISC_DEVICES=y 466CONFIG_MISC_DEVICES=y
@@ -448,6 +468,8 @@ CONFIG_MISC_DEVICES=y
448# CONFIG_EEPROM_93CX6 is not set 468# CONFIG_EEPROM_93CX6 is not set
449# CONFIG_SGI_IOC4 is not set 469# CONFIG_SGI_IOC4 is not set
450# CONFIG_TIFM_CORE is not set 470# CONFIG_TIFM_CORE is not set
471# CONFIG_ENCLOSURE_SERVICES is not set
472CONFIG_HAVE_IDE=y
451# CONFIG_IDE is not set 473# CONFIG_IDE is not set
452 474
453# 475#
@@ -512,6 +534,7 @@ CONFIG_SCSI_LOWLEVEL=y
512# CONFIG_SCSI_IPS is not set 534# CONFIG_SCSI_IPS is not set
513# CONFIG_SCSI_INITIO is not set 535# CONFIG_SCSI_INITIO is not set
514# CONFIG_SCSI_INIA100 is not set 536# CONFIG_SCSI_INIA100 is not set
537# CONFIG_SCSI_MVSAS is not set
515# CONFIG_SCSI_STEX is not set 538# CONFIG_SCSI_STEX is not set
516# CONFIG_SCSI_SYM53C8XX_2 is not set 539# CONFIG_SCSI_SYM53C8XX_2 is not set
517# CONFIG_SCSI_IPR is not set 540# CONFIG_SCSI_IPR is not set
@@ -566,6 +589,7 @@ CONFIG_SATA_FSL=y
566# CONFIG_PATA_MPIIX is not set 589# CONFIG_PATA_MPIIX is not set
567# CONFIG_PATA_OLDPIIX is not set 590# CONFIG_PATA_OLDPIIX is not set
568# CONFIG_PATA_NETCELL is not set 591# CONFIG_PATA_NETCELL is not set
592# CONFIG_PATA_NINJA32 is not set
569# CONFIG_PATA_NS87410 is not set 593# CONFIG_PATA_NS87410 is not set
570# CONFIG_PATA_NS87415 is not set 594# CONFIG_PATA_NS87415 is not set
571# CONFIG_PATA_OPTI is not set 595# CONFIG_PATA_OPTI is not set
@@ -623,6 +647,7 @@ CONFIG_PHYLIB=y
623# CONFIG_SMSC_PHY is not set 647# CONFIG_SMSC_PHY is not set
624# CONFIG_BROADCOM_PHY is not set 648# CONFIG_BROADCOM_PHY is not set
625# CONFIG_ICPLUS_PHY is not set 649# CONFIG_ICPLUS_PHY is not set
650# CONFIG_REALTEK_PHY is not set
626# CONFIG_FIXED_PHY is not set 651# CONFIG_FIXED_PHY is not set
627# CONFIG_MDIO_BITBANG is not set 652# CONFIG_MDIO_BITBANG is not set
628CONFIG_NET_ETHERNET=y 653CONFIG_NET_ETHERNET=y
@@ -631,6 +656,7 @@ CONFIG_MII=y
631# CONFIG_SUNGEM is not set 656# CONFIG_SUNGEM is not set
632# CONFIG_CASSINI is not set 657# CONFIG_CASSINI is not set
633# CONFIG_NET_VENDOR_3COM is not set 658# CONFIG_NET_VENDOR_3COM is not set
659# CONFIG_ENC28J60 is not set
634# CONFIG_NET_TULIP is not set 660# CONFIG_NET_TULIP is not set
635# CONFIG_HP100 is not set 661# CONFIG_HP100 is not set
636# CONFIG_IBM_NEW_EMAC_ZMII is not set 662# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -650,6 +676,7 @@ CONFIG_E100=y
650# CONFIG_NE2K_PCI is not set 676# CONFIG_NE2K_PCI is not set
651# CONFIG_8139CP is not set 677# CONFIG_8139CP is not set
652# CONFIG_8139TOO is not set 678# CONFIG_8139TOO is not set
679# CONFIG_R6040 is not set
653# CONFIG_SIS900 is not set 680# CONFIG_SIS900 is not set
654# CONFIG_EPIC100 is not set 681# CONFIG_EPIC100 is not set
655# CONFIG_SUNDANCE is not set 682# CONFIG_SUNDANCE is not set
@@ -661,7 +688,9 @@ CONFIG_NETDEV_1000=y
661# CONFIG_DL2K is not set 688# CONFIG_DL2K is not set
662# CONFIG_E1000 is not set 689# CONFIG_E1000 is not set
663# CONFIG_E1000E is not set 690# CONFIG_E1000E is not set
691# CONFIG_E1000E_ENABLED is not set
664# CONFIG_IP1000 is not set 692# CONFIG_IP1000 is not set
693# CONFIG_IGB is not set
665# CONFIG_NS83820 is not set 694# CONFIG_NS83820 is not set
666# CONFIG_HAMACHI is not set 695# CONFIG_HAMACHI is not set
667# CONFIG_YELLOWFIN is not set 696# CONFIG_YELLOWFIN is not set
@@ -688,6 +717,7 @@ CONFIG_NETDEV_10000=y
688# CONFIG_NIU is not set 717# CONFIG_NIU is not set
689# CONFIG_MLX4_CORE is not set 718# CONFIG_MLX4_CORE is not set
690# CONFIG_TEHUTI is not set 719# CONFIG_TEHUTI is not set
720# CONFIG_BNX2X is not set
691# CONFIG_TR is not set 721# CONFIG_TR is not set
692 722
693# 723#
@@ -710,7 +740,6 @@ CONFIG_NETDEV_10000=y
710# CONFIG_PPP is not set 740# CONFIG_PPP is not set
711# CONFIG_SLIP is not set 741# CONFIG_SLIP is not set
712# CONFIG_NET_FC is not set 742# CONFIG_NET_FC is not set
713# CONFIG_SHAPER is not set
714# CONFIG_NETCONSOLE is not set 743# CONFIG_NETCONSOLE is not set
715# CONFIG_NETPOLL is not set 744# CONFIG_NETPOLL is not set
716# CONFIG_NET_POLL_CONTROLLER is not set 745# CONFIG_NET_POLL_CONTROLLER is not set
@@ -753,6 +782,7 @@ CONFIG_INPUT=y
753# 782#
754# CONFIG_VT is not set 783# CONFIG_VT is not set
755# CONFIG_SERIAL_NONSTANDARD is not set 784# CONFIG_SERIAL_NONSTANDARD is not set
785# CONFIG_NOZOMI is not set
756 786
757# 787#
758# Serial drivers 788# Serial drivers
@@ -826,14 +856,12 @@ CONFIG_I2C_MPC=y
826# 856#
827# Miscellaneous I2C Chip support 857# Miscellaneous I2C Chip support
828# 858#
829# CONFIG_SENSORS_DS1337 is not set
830# CONFIG_SENSORS_DS1374 is not set
831# CONFIG_DS1682 is not set 859# CONFIG_DS1682 is not set
832# CONFIG_SENSORS_EEPROM is not set 860# CONFIG_SENSORS_EEPROM is not set
833# CONFIG_SENSORS_PCF8574 is not set 861# CONFIG_SENSORS_PCF8574 is not set
834# CONFIG_SENSORS_PCA9539 is not set 862# CONFIG_PCF8575 is not set
835# CONFIG_SENSORS_PCF8591 is not set 863# CONFIG_SENSORS_PCF8591 is not set
836# CONFIG_SENSORS_M41T00 is not set 864# CONFIG_TPS65010 is not set
837# CONFIG_SENSORS_MAX6875 is not set 865# CONFIG_SENSORS_MAX6875 is not set
838# CONFIG_SENSORS_TSL2550 is not set 866# CONFIG_SENSORS_TSL2550 is not set
839# CONFIG_I2C_DEBUG_CORE is not set 867# CONFIG_I2C_DEBUG_CORE is not set
@@ -872,6 +900,7 @@ CONFIG_HWMON=y
872# CONFIG_SENSORS_ADM1031 is not set 900# CONFIG_SENSORS_ADM1031 is not set
873# CONFIG_SENSORS_ADM9240 is not set 901# CONFIG_SENSORS_ADM9240 is not set
874# CONFIG_SENSORS_ADT7470 is not set 902# CONFIG_SENSORS_ADT7470 is not set
903# CONFIG_SENSORS_ADT7473 is not set
875# CONFIG_SENSORS_ATXP1 is not set 904# CONFIG_SENSORS_ATXP1 is not set
876# CONFIG_SENSORS_DS1621 is not set 905# CONFIG_SENSORS_DS1621 is not set
877# CONFIG_SENSORS_I5K_AMB is not set 906# CONFIG_SENSORS_I5K_AMB is not set
@@ -902,6 +931,7 @@ CONFIG_HWMON=y
902# CONFIG_SENSORS_SMSC47M1 is not set 931# CONFIG_SENSORS_SMSC47M1 is not set
903# CONFIG_SENSORS_SMSC47M192 is not set 932# CONFIG_SENSORS_SMSC47M192 is not set
904# CONFIG_SENSORS_SMSC47B397 is not set 933# CONFIG_SENSORS_SMSC47B397 is not set
934# CONFIG_SENSORS_ADS7828 is not set
905# CONFIG_SENSORS_THMC50 is not set 935# CONFIG_SENSORS_THMC50 is not set
906# CONFIG_SENSORS_VIA686A is not set 936# CONFIG_SENSORS_VIA686A is not set
907# CONFIG_SENSORS_VT1211 is not set 937# CONFIG_SENSORS_VT1211 is not set
@@ -911,9 +941,11 @@ CONFIG_HWMON=y
911# CONFIG_SENSORS_W83792D is not set 941# CONFIG_SENSORS_W83792D is not set
912# CONFIG_SENSORS_W83793 is not set 942# CONFIG_SENSORS_W83793 is not set
913# CONFIG_SENSORS_W83L785TS is not set 943# CONFIG_SENSORS_W83L785TS is not set
944# CONFIG_SENSORS_W83L786NG is not set
914# CONFIG_SENSORS_W83627HF is not set 945# CONFIG_SENSORS_W83627HF is not set
915# CONFIG_SENSORS_W83627EHF is not set 946# CONFIG_SENSORS_W83627EHF is not set
916# CONFIG_HWMON_DEBUG_CHIP is not set 947# CONFIG_HWMON_DEBUG_CHIP is not set
948# CONFIG_THERMAL is not set
917CONFIG_WATCHDOG=y 949CONFIG_WATCHDOG=y
918# CONFIG_WATCHDOG_NOWAYOUT is not set 950# CONFIG_WATCHDOG_NOWAYOUT is not set
919 951
@@ -993,6 +1025,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
993CONFIG_USB_ARCH_HAS_EHCI=y 1025CONFIG_USB_ARCH_HAS_EHCI=y
994CONFIG_USB=y 1026CONFIG_USB=y
995# CONFIG_USB_DEBUG is not set 1027# CONFIG_USB_DEBUG is not set
1028# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
996 1029
997# 1030#
998# Miscellaneous USB options 1031# Miscellaneous USB options
@@ -1006,10 +1039,10 @@ CONFIG_USB_DEVICE_CLASS=y
1006# USB Host Controller Drivers 1039# USB Host Controller Drivers
1007# 1040#
1008CONFIG_USB_EHCI_HCD=y 1041CONFIG_USB_EHCI_HCD=y
1009# CONFIG_USB_EHCI_SPLIT_ISO is not set
1010CONFIG_USB_EHCI_ROOT_HUB_TT=y 1042CONFIG_USB_EHCI_ROOT_HUB_TT=y
1011# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1043# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1012CONFIG_USB_EHCI_FSL=y 1044CONFIG_USB_EHCI_FSL=y
1045CONFIG_USB_EHCI_HCD_PPC_OF=y
1013# CONFIG_USB_ISP116X_HCD is not set 1046# CONFIG_USB_ISP116X_HCD is not set
1014CONFIG_USB_OHCI_HCD=y 1047CONFIG_USB_OHCI_HCD=y
1015CONFIG_USB_OHCI_HCD_PPC_OF=y 1048CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1060,10 +1093,6 @@ CONFIG_USB_MON=y
1060# 1093#
1061# USB port drivers 1094# USB port drivers
1062# 1095#
1063
1064#
1065# USB Serial Converter support
1066#
1067# CONFIG_USB_SERIAL is not set 1096# CONFIG_USB_SERIAL is not set
1068 1097
1069# 1098#
@@ -1089,14 +1118,6 @@ CONFIG_USB_MON=y
1089# CONFIG_USB_TRANCEVIBRATOR is not set 1118# CONFIG_USB_TRANCEVIBRATOR is not set
1090# CONFIG_USB_IOWARRIOR is not set 1119# CONFIG_USB_IOWARRIOR is not set
1091# CONFIG_USB_TEST is not set 1120# CONFIG_USB_TEST is not set
1092
1093#
1094# USB DSL modem support
1095#
1096
1097#
1098# USB Gadget Support
1099#
1100CONFIG_USB_GADGET=y 1121CONFIG_USB_GADGET=y
1101# CONFIG_USB_GADGET_DEBUG is not set 1122# CONFIG_USB_GADGET_DEBUG is not set
1102# CONFIG_USB_GADGET_DEBUG_FILES is not set 1123# CONFIG_USB_GADGET_DEBUG_FILES is not set
@@ -1122,7 +1143,9 @@ CONFIG_USB_ETH_RNDIS=y
1122# CONFIG_USB_FILE_STORAGE is not set 1143# CONFIG_USB_FILE_STORAGE is not set
1123# CONFIG_USB_G_SERIAL is not set 1144# CONFIG_USB_G_SERIAL is not set
1124# CONFIG_USB_MIDI_GADGET is not set 1145# CONFIG_USB_MIDI_GADGET is not set
1146# CONFIG_USB_G_PRINTER is not set
1125# CONFIG_MMC is not set 1147# CONFIG_MMC is not set
1148# CONFIG_MEMSTICK is not set
1126# CONFIG_NEW_LEDS is not set 1149# CONFIG_NEW_LEDS is not set
1127# CONFIG_INFINIBAND is not set 1150# CONFIG_INFINIBAND is not set
1128# CONFIG_EDAC is not set 1151# CONFIG_EDAC is not set
@@ -1154,20 +1177,23 @@ CONFIG_RTC_DRV_DS1307=y
1154# CONFIG_RTC_DRV_PCF8563 is not set 1177# CONFIG_RTC_DRV_PCF8563 is not set
1155# CONFIG_RTC_DRV_PCF8583 is not set 1178# CONFIG_RTC_DRV_PCF8583 is not set
1156# CONFIG_RTC_DRV_M41T80 is not set 1179# CONFIG_RTC_DRV_M41T80 is not set
1180# CONFIG_RTC_DRV_S35390A is not set
1157 1181
1158# 1182#
1159# SPI RTC drivers 1183# SPI RTC drivers
1160# 1184#
1161# CONFIG_RTC_DRV_RS5C348 is not set
1162# CONFIG_RTC_DRV_MAX6902 is not set 1185# CONFIG_RTC_DRV_MAX6902 is not set
1186# CONFIG_RTC_DRV_R9701 is not set
1187# CONFIG_RTC_DRV_RS5C348 is not set
1163 1188
1164# 1189#
1165# Platform RTC drivers 1190# Platform RTC drivers
1166# 1191#
1167# CONFIG_RTC_DRV_CMOS is not set 1192# CONFIG_RTC_DRV_CMOS is not set
1193# CONFIG_RTC_DRV_DS1511 is not set
1168# CONFIG_RTC_DRV_DS1553 is not set 1194# CONFIG_RTC_DRV_DS1553 is not set
1169# CONFIG_RTC_DRV_STK17TA8 is not set
1170# CONFIG_RTC_DRV_DS1742 is not set 1195# CONFIG_RTC_DRV_DS1742 is not set
1196# CONFIG_RTC_DRV_STK17TA8 is not set
1171# CONFIG_RTC_DRV_M48T86 is not set 1197# CONFIG_RTC_DRV_M48T86 is not set
1172# CONFIG_RTC_DRV_M48T59 is not set 1198# CONFIG_RTC_DRV_M48T59 is not set
1173# CONFIG_RTC_DRV_V3020 is not set 1199# CONFIG_RTC_DRV_V3020 is not set
@@ -1175,6 +1201,7 @@ CONFIG_RTC_DRV_DS1307=y
1175# 1201#
1176# on-CPU RTC drivers 1202# on-CPU RTC drivers
1177# 1203#
1204# CONFIG_DMADEVICES is not set
1178 1205
1179# 1206#
1180# Userspace I/O 1207# Userspace I/O
@@ -1200,12 +1227,10 @@ CONFIG_FS_MBCACHE=y
1200# CONFIG_XFS_FS is not set 1227# CONFIG_XFS_FS is not set
1201# CONFIG_GFS2_FS is not set 1228# CONFIG_GFS2_FS is not set
1202# CONFIG_OCFS2_FS is not set 1229# CONFIG_OCFS2_FS is not set
1203# CONFIG_MINIX_FS is not set 1230CONFIG_DNOTIFY=y
1204# CONFIG_ROMFS_FS is not set
1205CONFIG_INOTIFY=y 1231CONFIG_INOTIFY=y
1206CONFIG_INOTIFY_USER=y 1232CONFIG_INOTIFY_USER=y
1207# CONFIG_QUOTA is not set 1233# CONFIG_QUOTA is not set
1208CONFIG_DNOTIFY=y
1209# CONFIG_AUTOFS_FS is not set 1234# CONFIG_AUTOFS_FS is not set
1210# CONFIG_AUTOFS4_FS is not set 1235# CONFIG_AUTOFS4_FS is not set
1211# CONFIG_FUSE_FS is not set 1236# CONFIG_FUSE_FS is not set
@@ -1258,8 +1283,10 @@ CONFIG_JFFS2_RTIME=y
1258# CONFIG_JFFS2_RUBIN is not set 1283# CONFIG_JFFS2_RUBIN is not set
1259# CONFIG_CRAMFS is not set 1284# CONFIG_CRAMFS is not set
1260# CONFIG_VXFS_FS is not set 1285# CONFIG_VXFS_FS is not set
1286# CONFIG_MINIX_FS is not set
1261# CONFIG_HPFS_FS is not set 1287# CONFIG_HPFS_FS is not set
1262# CONFIG_QNX4FS_FS is not set 1288# CONFIG_QNX4FS_FS is not set
1289# CONFIG_ROMFS_FS is not set
1263# CONFIG_SYSV_FS is not set 1290# CONFIG_SYSV_FS is not set
1264# CONFIG_UFS_FS is not set 1291# CONFIG_UFS_FS is not set
1265CONFIG_NETWORK_FILESYSTEMS=y 1292CONFIG_NETWORK_FILESYSTEMS=y
@@ -1324,7 +1351,6 @@ CONFIG_PLIST=y
1324CONFIG_HAS_IOMEM=y 1351CONFIG_HAS_IOMEM=y
1325CONFIG_HAS_IOPORT=y 1352CONFIG_HAS_IOPORT=y
1326CONFIG_HAS_DMA=y 1353CONFIG_HAS_DMA=y
1327# CONFIG_INSTRUMENTATION is not set
1328 1354
1329# 1355#
1330# Kernel hacking 1356# Kernel hacking
@@ -1343,6 +1369,7 @@ CONFIG_SCHED_DEBUG=y
1343# CONFIG_SCHEDSTATS is not set 1369# CONFIG_SCHEDSTATS is not set
1344# CONFIG_TIMER_STATS is not set 1370# CONFIG_TIMER_STATS is not set
1345# CONFIG_SLUB_DEBUG_ON is not set 1371# CONFIG_SLUB_DEBUG_ON is not set
1372# CONFIG_SLUB_STATS is not set
1346# CONFIG_DEBUG_RT_MUTEXES is not set 1373# CONFIG_DEBUG_RT_MUTEXES is not set
1347# CONFIG_RT_MUTEX_TESTER is not set 1374# CONFIG_RT_MUTEX_TESTER is not set
1348# CONFIG_DEBUG_SPINLOCK is not set 1375# CONFIG_DEBUG_SPINLOCK is not set
@@ -1355,9 +1382,9 @@ CONFIG_SCHED_DEBUG=y
1355# CONFIG_DEBUG_VM is not set 1382# CONFIG_DEBUG_VM is not set
1356# CONFIG_DEBUG_LIST is not set 1383# CONFIG_DEBUG_LIST is not set
1357# CONFIG_DEBUG_SG is not set 1384# CONFIG_DEBUG_SG is not set
1358CONFIG_FORCED_INLINING=y
1359# CONFIG_BOOT_PRINTK_DELAY is not set 1385# CONFIG_BOOT_PRINTK_DELAY is not set
1360# CONFIG_RCU_TORTURE_TEST is not set 1386# CONFIG_RCU_TORTURE_TEST is not set
1387# CONFIG_BACKTRACE_SELF_TEST is not set
1361# CONFIG_FAULT_INJECTION is not set 1388# CONFIG_FAULT_INJECTION is not set
1362# CONFIG_SAMPLES is not set 1389# CONFIG_SAMPLES is not set
1363# CONFIG_DEBUG_STACKOVERFLOW is not set 1390# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1376,6 +1403,7 @@ CONFIG_FORCED_INLINING=y
1376CONFIG_CRYPTO=y 1403CONFIG_CRYPTO=y
1377CONFIG_CRYPTO_ALGAPI=y 1404CONFIG_CRYPTO_ALGAPI=y
1378CONFIG_CRYPTO_BLKCIPHER=y 1405CONFIG_CRYPTO_BLKCIPHER=y
1406# CONFIG_CRYPTO_SEQIV is not set
1379CONFIG_CRYPTO_MANAGER=y 1407CONFIG_CRYPTO_MANAGER=y
1380# CONFIG_CRYPTO_HMAC is not set 1408# CONFIG_CRYPTO_HMAC is not set
1381# CONFIG_CRYPTO_XCBC is not set 1409# CONFIG_CRYPTO_XCBC is not set
@@ -1393,6 +1421,9 @@ CONFIG_CRYPTO_CBC=y
1393CONFIG_CRYPTO_PCBC=m 1421CONFIG_CRYPTO_PCBC=m
1394# CONFIG_CRYPTO_LRW is not set 1422# CONFIG_CRYPTO_LRW is not set
1395# CONFIG_CRYPTO_XTS is not set 1423# CONFIG_CRYPTO_XTS is not set
1424# CONFIG_CRYPTO_CTR is not set
1425# CONFIG_CRYPTO_GCM is not set
1426# CONFIG_CRYPTO_CCM is not set
1396# CONFIG_CRYPTO_CRYPTD is not set 1427# CONFIG_CRYPTO_CRYPTD is not set
1397CONFIG_CRYPTO_DES=y 1428CONFIG_CRYPTO_DES=y
1398# CONFIG_CRYPTO_FCRYPT is not set 1429# CONFIG_CRYPTO_FCRYPT is not set
@@ -1407,11 +1438,14 @@ CONFIG_CRYPTO_DES=y
1407# CONFIG_CRYPTO_KHAZAD is not set 1438# CONFIG_CRYPTO_KHAZAD is not set
1408# CONFIG_CRYPTO_ANUBIS is not set 1439# CONFIG_CRYPTO_ANUBIS is not set
1409# CONFIG_CRYPTO_SEED is not set 1440# CONFIG_CRYPTO_SEED is not set
1441# CONFIG_CRYPTO_SALSA20 is not set
1410# CONFIG_CRYPTO_DEFLATE is not set 1442# CONFIG_CRYPTO_DEFLATE is not set
1411# CONFIG_CRYPTO_MICHAEL_MIC is not set 1443# CONFIG_CRYPTO_MICHAEL_MIC is not set
1412# CONFIG_CRYPTO_CRC32C is not set 1444# CONFIG_CRYPTO_CRC32C is not set
1413# CONFIG_CRYPTO_CAMELLIA is not set 1445# CONFIG_CRYPTO_CAMELLIA is not set
1414# CONFIG_CRYPTO_TEST is not set 1446# CONFIG_CRYPTO_TEST is not set
1415# CONFIG_CRYPTO_AUTHENC is not set 1447# CONFIG_CRYPTO_AUTHENC is not set
1448# CONFIG_CRYPTO_LZO is not set
1416CONFIG_CRYPTO_HW=y 1449CONFIG_CRYPTO_HW=y
1450# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1417# CONFIG_PPC_CLOCK is not set 1451# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc832x_mds_defconfig b/arch/powerpc/configs/mpc832x_mds_defconfig
index 2d8951b1096..79d228f84c5 100644
--- a/arch/powerpc/configs/mpc832x_mds_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:33 2007 4# Mon Mar 24 08:48:16 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -86,11 +91,13 @@ CONFIG_HOTPLUG=y
86CONFIG_PRINTK=y 91CONFIG_PRINTK=y
87CONFIG_BUG=y 92CONFIG_BUG=y
88CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
89CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 96CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
92# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 102CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -98,6 +105,13 @@ CONFIG_SLUB_DEBUG=y
98# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
99CONFIG_SLUB=y 106CONFIG_SLUB=y
100# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y
113CONFIG_PROC_PAGE_MONITOR=y
114CONFIG_SLABINFO=y
101CONFIG_RT_MUTEXES=y 115CONFIG_RT_MUTEXES=y
102# CONFIG_TINY_SHMEM is not set 116# CONFIG_TINY_SHMEM is not set
103CONFIG_BASE_SMALL=0 117CONFIG_BASE_SMALL=0
@@ -125,6 +139,7 @@ CONFIG_DEFAULT_AS=y
125# CONFIG_DEFAULT_CFQ is not set 139# CONFIG_DEFAULT_CFQ is not set
126# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
127CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
128 143
129# 144#
130# Platform support 145# Platform support
@@ -133,18 +148,23 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
133# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
134CONFIG_PPC_83xx=y 149CONFIG_PPC_83xx=y
135# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
136# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC512x is not set
137# CONFIG_PPC_MPC5200 is not set 152# CONFIG_PPC_MPC5121 is not set
138# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set 155# CONFIG_PQ2ADS is not set
141# CONFIG_MPC8313_RDB is not set 156CONFIG_MPC83xx=y
157# CONFIG_MPC831x_RDB is not set
142CONFIG_MPC832x_MDS=y 158CONFIG_MPC832x_MDS=y
143# CONFIG_MPC832x_RDB is not set 159# CONFIG_MPC832x_RDB is not set
144# CONFIG_MPC834x_MDS is not set 160# CONFIG_MPC834x_MDS is not set
145# CONFIG_MPC834x_ITX is not set 161# CONFIG_MPC834x_ITX is not set
146# CONFIG_MPC836x_MDS is not set 162# CONFIG_MPC836x_MDS is not set
163# CONFIG_MPC837x_MDS is not set
164# CONFIG_MPC837x_RDB is not set
165# CONFIG_SBC834x is not set
147CONFIG_PPC_MPC832x=y 166CONFIG_PPC_MPC832x=y
167CONFIG_IPIC=y
148# CONFIG_MPIC is not set 168# CONFIG_MPIC is not set
149# CONFIG_MPIC_WEIRD is not set 169# CONFIG_MPIC_WEIRD is not set
150# CONFIG_PPC_I8259 is not set 170# CONFIG_PPC_I8259 is not set
@@ -156,7 +176,6 @@ CONFIG_PPC_MPC832x=y
156# CONFIG_GENERIC_IOMAP is not set 176# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 177# CONFIG_CPU_FREQ is not set
158CONFIG_QUICC_ENGINE=y 178CONFIG_QUICC_ENGINE=y
159# CONFIG_CPM2 is not set
160# CONFIG_FSL_ULI1575 is not set 179# CONFIG_FSL_ULI1575 is not set
161 180
162# 181#
@@ -172,13 +191,17 @@ CONFIG_HZ_250=y
172# CONFIG_HZ_300 is not set 191# CONFIG_HZ_300 is not set
173# CONFIG_HZ_1000 is not set 192# CONFIG_HZ_1000 is not set
174CONFIG_HZ=250 193CONFIG_HZ=250
194# CONFIG_SCHED_HRTICK is not set
175CONFIG_PREEMPT_NONE=y 195CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 196# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 197# CONFIG_PREEMPT is not set
178CONFIG_BINFMT_ELF=y 198CONFIG_BINFMT_ELF=y
179# CONFIG_BINFMT_MISC is not set 199# CONFIG_BINFMT_MISC is not set
180CONFIG_MATH_EMULATION=y 200CONFIG_MATH_EMULATION=y
201# CONFIG_IOMMU_HELPER is not set
181CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 202CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
203CONFIG_ARCH_HAS_WALK_MEMORY=y
204CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
182CONFIG_ARCH_FLATMEM_ENABLE=y 205CONFIG_ARCH_FLATMEM_ENABLE=y
183CONFIG_ARCH_POPULATES_NODE_MAP=y 206CONFIG_ARCH_POPULATES_NODE_MAP=y
184CONFIG_SELECT_MEMORY_MODEL=y 207CONFIG_SELECT_MEMORY_MODEL=y
@@ -197,11 +220,7 @@ CONFIG_VIRT_TO_BUS=y
197CONFIG_PROC_DEVICETREE=y 220CONFIG_PROC_DEVICETREE=y
198# CONFIG_CMDLINE_BOOL is not set 221# CONFIG_CMDLINE_BOOL is not set
199# CONFIG_PM is not set 222# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
202CONFIG_SECCOMP=y 223CONFIG_SECCOMP=y
203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE=""
205CONFIG_ISA_DMA_API=y 224CONFIG_ISA_DMA_API=y
206 225
207# 226#
@@ -250,6 +269,7 @@ CONFIG_XFRM=y
250# CONFIG_XFRM_USER is not set 269# CONFIG_XFRM_USER is not set
251# CONFIG_XFRM_SUB_POLICY is not set 270# CONFIG_XFRM_SUB_POLICY is not set
252# CONFIG_XFRM_MIGRATE is not set 271# CONFIG_XFRM_MIGRATE is not set
272# CONFIG_XFRM_STATISTICS is not set
253# CONFIG_NET_KEY is not set 273# CONFIG_NET_KEY is not set
254CONFIG_INET=y 274CONFIG_INET=y
255CONFIG_IP_MULTICAST=y 275CONFIG_IP_MULTICAST=y
@@ -305,6 +325,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
305# 325#
306# CONFIG_NET_PKTGEN is not set 326# CONFIG_NET_PKTGEN is not set
307# CONFIG_HAMRADIO is not set 327# CONFIG_HAMRADIO is not set
328# CONFIG_CAN is not set
308# CONFIG_IRDA is not set 329# CONFIG_IRDA is not set
309# CONFIG_BT is not set 330# CONFIG_BT is not set
310# CONFIG_AF_RXRPC is not set 331# CONFIG_AF_RXRPC is not set
@@ -349,7 +370,7 @@ CONFIG_BLK_DEV_LOOP=y
349CONFIG_BLK_DEV_RAM=y 370CONFIG_BLK_DEV_RAM=y
350CONFIG_BLK_DEV_RAM_COUNT=16 371CONFIG_BLK_DEV_RAM_COUNT=16
351CONFIG_BLK_DEV_RAM_SIZE=32768 372CONFIG_BLK_DEV_RAM_SIZE=32768
352CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 373# CONFIG_BLK_DEV_XIP is not set
353# CONFIG_CDROM_PKTCDVD is not set 374# CONFIG_CDROM_PKTCDVD is not set
354# CONFIG_ATA_OVER_ETH is not set 375# CONFIG_ATA_OVER_ETH is not set
355CONFIG_MISC_DEVICES=y 376CONFIG_MISC_DEVICES=y
@@ -357,6 +378,8 @@ CONFIG_MISC_DEVICES=y
357# CONFIG_EEPROM_93CX6 is not set 378# CONFIG_EEPROM_93CX6 is not set
358# CONFIG_SGI_IOC4 is not set 379# CONFIG_SGI_IOC4 is not set
359# CONFIG_TIFM_CORE is not set 380# CONFIG_TIFM_CORE is not set
381# CONFIG_ENCLOSURE_SERVICES is not set
382CONFIG_HAVE_IDE=y
360# CONFIG_IDE is not set 383# CONFIG_IDE is not set
361 384
362# 385#
@@ -421,6 +444,7 @@ CONFIG_SCSI_LOWLEVEL=y
421# CONFIG_SCSI_IPS is not set 444# CONFIG_SCSI_IPS is not set
422# CONFIG_SCSI_INITIO is not set 445# CONFIG_SCSI_INITIO is not set
423# CONFIG_SCSI_INIA100 is not set 446# CONFIG_SCSI_INIA100 is not set
447# CONFIG_SCSI_MVSAS is not set
424# CONFIG_SCSI_STEX is not set 448# CONFIG_SCSI_STEX is not set
425# CONFIG_SCSI_SYM53C8XX_2 is not set 449# CONFIG_SCSI_SYM53C8XX_2 is not set
426# CONFIG_SCSI_QLOGIC_1280 is not set 450# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -451,7 +475,6 @@ CONFIG_NETDEVICES=y
451# CONFIG_EQUALIZER is not set 475# CONFIG_EQUALIZER is not set
452# CONFIG_TUN is not set 476# CONFIG_TUN is not set
453# CONFIG_VETH is not set 477# CONFIG_VETH is not set
454# CONFIG_IP1000 is not set
455# CONFIG_ARCNET is not set 478# CONFIG_ARCNET is not set
456CONFIG_PHYLIB=y 479CONFIG_PHYLIB=y
457 480
@@ -467,6 +490,7 @@ CONFIG_DAVICOM_PHY=y
467# CONFIG_SMSC_PHY is not set 490# CONFIG_SMSC_PHY is not set
468# CONFIG_BROADCOM_PHY is not set 491# CONFIG_BROADCOM_PHY is not set
469# CONFIG_ICPLUS_PHY is not set 492# CONFIG_ICPLUS_PHY is not set
493# CONFIG_REALTEK_PHY is not set
470# CONFIG_FIXED_PHY is not set 494# CONFIG_FIXED_PHY is not set
471# CONFIG_MDIO_BITBANG is not set 495# CONFIG_MDIO_BITBANG is not set
472CONFIG_NET_ETHERNET=y 496CONFIG_NET_ETHERNET=y
@@ -488,6 +512,9 @@ CONFIG_NETDEV_1000=y
488# CONFIG_DL2K is not set 512# CONFIG_DL2K is not set
489# CONFIG_E1000 is not set 513# CONFIG_E1000 is not set
490# CONFIG_E1000E is not set 514# CONFIG_E1000E is not set
515# CONFIG_E1000E_ENABLED is not set
516# CONFIG_IP1000 is not set
517# CONFIG_IGB is not set
491# CONFIG_NS83820 is not set 518# CONFIG_NS83820 is not set
492# CONFIG_HAMACHI is not set 519# CONFIG_HAMACHI is not set
493# CONFIG_YELLOWFIN is not set 520# CONFIG_YELLOWFIN is not set
@@ -518,6 +545,7 @@ CONFIG_NETDEV_10000=y
518# CONFIG_NIU is not set 545# CONFIG_NIU is not set
519# CONFIG_MLX4_CORE is not set 546# CONFIG_MLX4_CORE is not set
520# CONFIG_TEHUTI is not set 547# CONFIG_TEHUTI is not set
548# CONFIG_BNX2X is not set
521# CONFIG_TR is not set 549# CONFIG_TR is not set
522 550
523# 551#
@@ -531,7 +559,6 @@ CONFIG_NETDEV_10000=y
531# CONFIG_PPP is not set 559# CONFIG_PPP is not set
532# CONFIG_SLIP is not set 560# CONFIG_SLIP is not set
533# CONFIG_NET_FC is not set 561# CONFIG_NET_FC is not set
534# CONFIG_SHAPER is not set
535# CONFIG_NETCONSOLE is not set 562# CONFIG_NETCONSOLE is not set
536# CONFIG_NETPOLL is not set 563# CONFIG_NETPOLL is not set
537# CONFIG_NET_POLL_CONTROLLER is not set 564# CONFIG_NET_POLL_CONTROLLER is not set
@@ -574,6 +601,7 @@ CONFIG_INPUT=y
574# 601#
575# CONFIG_VT is not set 602# CONFIG_VT is not set
576# CONFIG_SERIAL_NONSTANDARD is not set 603# CONFIG_SERIAL_NONSTANDARD is not set
604# CONFIG_NOZOMI is not set
577 605
578# 606#
579# Serial drivers 607# Serial drivers
@@ -593,6 +621,7 @@ CONFIG_SERIAL_CORE=y
593CONFIG_SERIAL_CORE_CONSOLE=y 621CONFIG_SERIAL_CORE_CONSOLE=y
594# CONFIG_SERIAL_JSM is not set 622# CONFIG_SERIAL_JSM is not set
595# CONFIG_SERIAL_OF_PLATFORM is not set 623# CONFIG_SERIAL_OF_PLATFORM is not set
624# CONFIG_SERIAL_QE is not set
596CONFIG_UNIX98_PTYS=y 625CONFIG_UNIX98_PTYS=y
597CONFIG_LEGACY_PTYS=y 626CONFIG_LEGACY_PTYS=y
598CONFIG_LEGACY_PTY_COUNT=256 627CONFIG_LEGACY_PTY_COUNT=256
@@ -647,14 +676,12 @@ CONFIG_I2C_MPC=y
647# 676#
648# Miscellaneous I2C Chip support 677# Miscellaneous I2C Chip support
649# 678#
650# CONFIG_SENSORS_DS1337 is not set
651# CONFIG_SENSORS_DS1374 is not set
652# CONFIG_DS1682 is not set 679# CONFIG_DS1682 is not set
653# CONFIG_SENSORS_EEPROM is not set 680# CONFIG_SENSORS_EEPROM is not set
654# CONFIG_SENSORS_PCF8574 is not set 681# CONFIG_SENSORS_PCF8574 is not set
655# CONFIG_SENSORS_PCA9539 is not set 682# CONFIG_PCF8575 is not set
656# CONFIG_SENSORS_PCF8591 is not set 683# CONFIG_SENSORS_PCF8591 is not set
657# CONFIG_SENSORS_M41T00 is not set 684# CONFIG_TPS65010 is not set
658# CONFIG_SENSORS_MAX6875 is not set 685# CONFIG_SENSORS_MAX6875 is not set
659# CONFIG_SENSORS_TSL2550 is not set 686# CONFIG_SENSORS_TSL2550 is not set
660# CONFIG_I2C_DEBUG_CORE is not set 687# CONFIG_I2C_DEBUG_CORE is not set
@@ -679,6 +706,7 @@ CONFIG_HWMON=y
679# CONFIG_SENSORS_ADM1031 is not set 706# CONFIG_SENSORS_ADM1031 is not set
680# CONFIG_SENSORS_ADM9240 is not set 707# CONFIG_SENSORS_ADM9240 is not set
681# CONFIG_SENSORS_ADT7470 is not set 708# CONFIG_SENSORS_ADT7470 is not set
709# CONFIG_SENSORS_ADT7473 is not set
682# CONFIG_SENSORS_ATXP1 is not set 710# CONFIG_SENSORS_ATXP1 is not set
683# CONFIG_SENSORS_DS1621 is not set 711# CONFIG_SENSORS_DS1621 is not set
684# CONFIG_SENSORS_I5K_AMB is not set 712# CONFIG_SENSORS_I5K_AMB is not set
@@ -708,6 +736,7 @@ CONFIG_HWMON=y
708# CONFIG_SENSORS_SMSC47M1 is not set 736# CONFIG_SENSORS_SMSC47M1 is not set
709# CONFIG_SENSORS_SMSC47M192 is not set 737# CONFIG_SENSORS_SMSC47M192 is not set
710# CONFIG_SENSORS_SMSC47B397 is not set 738# CONFIG_SENSORS_SMSC47B397 is not set
739# CONFIG_SENSORS_ADS7828 is not set
711# CONFIG_SENSORS_THMC50 is not set 740# CONFIG_SENSORS_THMC50 is not set
712# CONFIG_SENSORS_VIA686A is not set 741# CONFIG_SENSORS_VIA686A is not set
713# CONFIG_SENSORS_VT1211 is not set 742# CONFIG_SENSORS_VT1211 is not set
@@ -717,9 +746,11 @@ CONFIG_HWMON=y
717# CONFIG_SENSORS_W83792D is not set 746# CONFIG_SENSORS_W83792D is not set
718# CONFIG_SENSORS_W83793 is not set 747# CONFIG_SENSORS_W83793 is not set
719# CONFIG_SENSORS_W83L785TS is not set 748# CONFIG_SENSORS_W83L785TS is not set
749# CONFIG_SENSORS_W83L786NG is not set
720# CONFIG_SENSORS_W83627HF is not set 750# CONFIG_SENSORS_W83627HF is not set
721# CONFIG_SENSORS_W83627EHF is not set 751# CONFIG_SENSORS_W83627EHF is not set
722# CONFIG_HWMON_DEBUG_CHIP is not set 752# CONFIG_HWMON_DEBUG_CHIP is not set
753# CONFIG_THERMAL is not set
723CONFIG_WATCHDOG=y 754CONFIG_WATCHDOG=y
724# CONFIG_WATCHDOG_NOWAYOUT is not set 755# CONFIG_WATCHDOG_NOWAYOUT is not set
725 756
@@ -785,17 +816,18 @@ CONFIG_USB_ARCH_HAS_EHCI=y
785# 816#
786# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 817# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
787# 818#
788
789#
790# USB Gadget Support
791#
792# CONFIG_USB_GADGET is not set 819# CONFIG_USB_GADGET is not set
793# CONFIG_MMC is not set 820# CONFIG_MMC is not set
821# CONFIG_MEMSTICK is not set
794# CONFIG_NEW_LEDS is not set 822# CONFIG_NEW_LEDS is not set
795# CONFIG_INFINIBAND is not set 823# CONFIG_INFINIBAND is not set
796# CONFIG_EDAC is not set 824# CONFIG_EDAC is not set
797CONFIG_RTC_LIB=y 825CONFIG_RTC_LIB=y
798CONFIG_RTC_CLASS=y 826CONFIG_RTC_CLASS=y
827
828#
829# Conflicting RTC option has been selected, check GEN_RTC and RTC
830#
799CONFIG_RTC_HCTOSYS=y 831CONFIG_RTC_HCTOSYS=y
800CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 832CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
801# CONFIG_RTC_DEBUG is not set 833# CONFIG_RTC_DEBUG is not set
@@ -822,6 +854,7 @@ CONFIG_RTC_DRV_DS1374=y
822# CONFIG_RTC_DRV_PCF8563 is not set 854# CONFIG_RTC_DRV_PCF8563 is not set
823# CONFIG_RTC_DRV_PCF8583 is not set 855# CONFIG_RTC_DRV_PCF8583 is not set
824# CONFIG_RTC_DRV_M41T80 is not set 856# CONFIG_RTC_DRV_M41T80 is not set
857# CONFIG_RTC_DRV_S35390A is not set
825 858
826# 859#
827# SPI RTC drivers 860# SPI RTC drivers
@@ -831,9 +864,10 @@ CONFIG_RTC_DRV_DS1374=y
831# Platform RTC drivers 864# Platform RTC drivers
832# 865#
833# CONFIG_RTC_DRV_CMOS is not set 866# CONFIG_RTC_DRV_CMOS is not set
867# CONFIG_RTC_DRV_DS1511 is not set
834# CONFIG_RTC_DRV_DS1553 is not set 868# CONFIG_RTC_DRV_DS1553 is not set
835# CONFIG_RTC_DRV_STK17TA8 is not set
836# CONFIG_RTC_DRV_DS1742 is not set 869# CONFIG_RTC_DRV_DS1742 is not set
870# CONFIG_RTC_DRV_STK17TA8 is not set
837# CONFIG_RTC_DRV_M48T86 is not set 871# CONFIG_RTC_DRV_M48T86 is not set
838# CONFIG_RTC_DRV_M48T59 is not set 872# CONFIG_RTC_DRV_M48T59 is not set
839# CONFIG_RTC_DRV_V3020 is not set 873# CONFIG_RTC_DRV_V3020 is not set
@@ -841,6 +875,7 @@ CONFIG_RTC_DRV_DS1374=y
841# 875#
842# on-CPU RTC drivers 876# on-CPU RTC drivers
843# 877#
878# CONFIG_DMADEVICES is not set
844 879
845# 880#
846# Userspace I/O 881# Userspace I/O
@@ -866,12 +901,10 @@ CONFIG_FS_MBCACHE=y
866# CONFIG_XFS_FS is not set 901# CONFIG_XFS_FS is not set
867# CONFIG_GFS2_FS is not set 902# CONFIG_GFS2_FS is not set
868# CONFIG_OCFS2_FS is not set 903# CONFIG_OCFS2_FS is not set
869# CONFIG_MINIX_FS is not set 904CONFIG_DNOTIFY=y
870# CONFIG_ROMFS_FS is not set
871CONFIG_INOTIFY=y 905CONFIG_INOTIFY=y
872CONFIG_INOTIFY_USER=y 906CONFIG_INOTIFY_USER=y
873# CONFIG_QUOTA is not set 907# CONFIG_QUOTA is not set
874CONFIG_DNOTIFY=y
875# CONFIG_AUTOFS_FS is not set 908# CONFIG_AUTOFS_FS is not set
876# CONFIG_AUTOFS4_FS is not set 909# CONFIG_AUTOFS4_FS is not set
877# CONFIG_FUSE_FS is not set 910# CONFIG_FUSE_FS is not set
@@ -913,8 +946,10 @@ CONFIG_TMPFS=y
913# CONFIG_EFS_FS is not set 946# CONFIG_EFS_FS is not set
914# CONFIG_CRAMFS is not set 947# CONFIG_CRAMFS is not set
915# CONFIG_VXFS_FS is not set 948# CONFIG_VXFS_FS is not set
949# CONFIG_MINIX_FS is not set
916# CONFIG_HPFS_FS is not set 950# CONFIG_HPFS_FS is not set
917# CONFIG_QNX4FS_FS is not set 951# CONFIG_QNX4FS_FS is not set
952# CONFIG_ROMFS_FS is not set
918# CONFIG_SYSV_FS is not set 953# CONFIG_SYSV_FS is not set
919# CONFIG_UFS_FS is not set 954# CONFIG_UFS_FS is not set
920CONFIG_NETWORK_FILESYSTEMS=y 955CONFIG_NETWORK_FILESYSTEMS=y
@@ -958,7 +993,6 @@ CONFIG_PARTITION_ADVANCED=y
958# CONFIG_SYSV68_PARTITION is not set 993# CONFIG_SYSV68_PARTITION is not set
959# CONFIG_NLS is not set 994# CONFIG_NLS is not set
960# CONFIG_DLM is not set 995# CONFIG_DLM is not set
961# CONFIG_UCC_SLOW is not set
962CONFIG_UCC_FAST=y 996CONFIG_UCC_FAST=y
963CONFIG_UCC=y 997CONFIG_UCC=y
964 998
@@ -976,7 +1010,6 @@ CONFIG_PLIST=y
976CONFIG_HAS_IOMEM=y 1010CONFIG_HAS_IOMEM=y
977CONFIG_HAS_IOPORT=y 1011CONFIG_HAS_IOPORT=y
978CONFIG_HAS_DMA=y 1012CONFIG_HAS_DMA=y
979# CONFIG_INSTRUMENTATION is not set
980 1013
981# 1014#
982# Kernel hacking 1015# Kernel hacking
@@ -990,6 +1023,7 @@ CONFIG_ENABLE_MUST_CHECK=y
990# CONFIG_HEADERS_CHECK is not set 1023# CONFIG_HEADERS_CHECK is not set
991# CONFIG_DEBUG_KERNEL is not set 1024# CONFIG_DEBUG_KERNEL is not set
992# CONFIG_SLUB_DEBUG_ON is not set 1025# CONFIG_SLUB_DEBUG_ON is not set
1026# CONFIG_SLUB_STATS is not set
993# CONFIG_DEBUG_BUGVERBOSE is not set 1027# CONFIG_DEBUG_BUGVERBOSE is not set
994# CONFIG_SAMPLES is not set 1028# CONFIG_SAMPLES is not set
995# CONFIG_PPC_EARLY_DEBUG is not set 1029# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1003,6 +1037,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1003CONFIG_CRYPTO=y 1037CONFIG_CRYPTO=y
1004CONFIG_CRYPTO_ALGAPI=y 1038CONFIG_CRYPTO_ALGAPI=y
1005CONFIG_CRYPTO_BLKCIPHER=y 1039CONFIG_CRYPTO_BLKCIPHER=y
1040# CONFIG_CRYPTO_SEQIV is not set
1006CONFIG_CRYPTO_MANAGER=y 1041CONFIG_CRYPTO_MANAGER=y
1007# CONFIG_CRYPTO_HMAC is not set 1042# CONFIG_CRYPTO_HMAC is not set
1008# CONFIG_CRYPTO_XCBC is not set 1043# CONFIG_CRYPTO_XCBC is not set
@@ -1020,6 +1055,9 @@ CONFIG_CRYPTO_CBC=y
1020CONFIG_CRYPTO_PCBC=m 1055CONFIG_CRYPTO_PCBC=m
1021# CONFIG_CRYPTO_LRW is not set 1056# CONFIG_CRYPTO_LRW is not set
1022# CONFIG_CRYPTO_XTS is not set 1057# CONFIG_CRYPTO_XTS is not set
1058# CONFIG_CRYPTO_CTR is not set
1059# CONFIG_CRYPTO_GCM is not set
1060# CONFIG_CRYPTO_CCM is not set
1023# CONFIG_CRYPTO_CRYPTD is not set 1061# CONFIG_CRYPTO_CRYPTD is not set
1024CONFIG_CRYPTO_DES=y 1062CONFIG_CRYPTO_DES=y
1025# CONFIG_CRYPTO_FCRYPT is not set 1063# CONFIG_CRYPTO_FCRYPT is not set
@@ -1034,12 +1072,15 @@ CONFIG_CRYPTO_DES=y
1034# CONFIG_CRYPTO_KHAZAD is not set 1072# CONFIG_CRYPTO_KHAZAD is not set
1035# CONFIG_CRYPTO_ANUBIS is not set 1073# CONFIG_CRYPTO_ANUBIS is not set
1036# CONFIG_CRYPTO_SEED is not set 1074# CONFIG_CRYPTO_SEED is not set
1075# CONFIG_CRYPTO_SALSA20 is not set
1037# CONFIG_CRYPTO_DEFLATE is not set 1076# CONFIG_CRYPTO_DEFLATE is not set
1038# CONFIG_CRYPTO_MICHAEL_MIC is not set 1077# CONFIG_CRYPTO_MICHAEL_MIC is not set
1039# CONFIG_CRYPTO_CRC32C is not set 1078# CONFIG_CRYPTO_CRC32C is not set
1040# CONFIG_CRYPTO_CAMELLIA is not set 1079# CONFIG_CRYPTO_CAMELLIA is not set
1041# CONFIG_CRYPTO_TEST is not set 1080# CONFIG_CRYPTO_TEST is not set
1042# CONFIG_CRYPTO_AUTHENC is not set 1081# CONFIG_CRYPTO_AUTHENC is not set
1082# CONFIG_CRYPTO_LZO is not set
1043CONFIG_CRYPTO_HW=y 1083CONFIG_CRYPTO_HW=y
1084# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1044# CONFIG_PPC_CLOCK is not set 1085# CONFIG_PPC_CLOCK is not set
1045CONFIG_PPC_LIB_RHEAP=y 1086CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc832x_rdb_defconfig b/arch/powerpc/configs/mpc832x_rdb_defconfig
index 761718a63b7..ac913025713 100644
--- a/arch/powerpc/configs/mpc832x_rdb_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:35 2007 4# Mon Mar 24 08:48:16 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -86,11 +91,13 @@ CONFIG_HOTPLUG=y
86CONFIG_PRINTK=y 91CONFIG_PRINTK=y
87CONFIG_BUG=y 92CONFIG_BUG=y
88CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
89CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 96CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
92# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 102CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -98,6 +105,13 @@ CONFIG_SLUB_DEBUG=y
98# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
99CONFIG_SLUB=y 106CONFIG_SLUB=y
100# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y
113CONFIG_PROC_PAGE_MONITOR=y
114CONFIG_SLABINFO=y
101CONFIG_RT_MUTEXES=y 115CONFIG_RT_MUTEXES=y
102# CONFIG_TINY_SHMEM is not set 116# CONFIG_TINY_SHMEM is not set
103CONFIG_BASE_SMALL=0 117CONFIG_BASE_SMALL=0
@@ -125,6 +139,7 @@ CONFIG_DEFAULT_AS=y
125# CONFIG_DEFAULT_CFQ is not set 139# CONFIG_DEFAULT_CFQ is not set
126# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
127CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
128 143
129# 144#
130# Platform support 145# Platform support
@@ -133,18 +148,23 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
133# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
134CONFIG_PPC_83xx=y 149CONFIG_PPC_83xx=y
135# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
136# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC512x is not set
137# CONFIG_PPC_MPC5200 is not set 152# CONFIG_PPC_MPC5121 is not set
138# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set 155# CONFIG_PQ2ADS is not set
141# CONFIG_MPC8313_RDB is not set 156CONFIG_MPC83xx=y
157# CONFIG_MPC831x_RDB is not set
142# CONFIG_MPC832x_MDS is not set 158# CONFIG_MPC832x_MDS is not set
143CONFIG_MPC832x_RDB=y 159CONFIG_MPC832x_RDB=y
144# CONFIG_MPC834x_MDS is not set 160# CONFIG_MPC834x_MDS is not set
145# CONFIG_MPC834x_ITX is not set 161# CONFIG_MPC834x_ITX is not set
146# CONFIG_MPC836x_MDS is not set 162# CONFIG_MPC836x_MDS is not set
163# CONFIG_MPC837x_MDS is not set
164# CONFIG_MPC837x_RDB is not set
165# CONFIG_SBC834x is not set
147CONFIG_PPC_MPC832x=y 166CONFIG_PPC_MPC832x=y
167CONFIG_IPIC=y
148# CONFIG_MPIC is not set 168# CONFIG_MPIC is not set
149# CONFIG_MPIC_WEIRD is not set 169# CONFIG_MPIC_WEIRD is not set
150# CONFIG_PPC_I8259 is not set 170# CONFIG_PPC_I8259 is not set
@@ -156,7 +176,6 @@ CONFIG_PPC_MPC832x=y
156# CONFIG_GENERIC_IOMAP is not set 176# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 177# CONFIG_CPU_FREQ is not set
158CONFIG_QUICC_ENGINE=y 178CONFIG_QUICC_ENGINE=y
159# CONFIG_CPM2 is not set
160# CONFIG_FSL_ULI1575 is not set 179# CONFIG_FSL_ULI1575 is not set
161 180
162# 181#
@@ -172,13 +191,17 @@ CONFIG_HZ_250=y
172# CONFIG_HZ_300 is not set 191# CONFIG_HZ_300 is not set
173# CONFIG_HZ_1000 is not set 192# CONFIG_HZ_1000 is not set
174CONFIG_HZ=250 193CONFIG_HZ=250
194# CONFIG_SCHED_HRTICK is not set
175CONFIG_PREEMPT_NONE=y 195CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 196# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 197# CONFIG_PREEMPT is not set
178CONFIG_BINFMT_ELF=y 198CONFIG_BINFMT_ELF=y
179# CONFIG_BINFMT_MISC is not set 199# CONFIG_BINFMT_MISC is not set
180CONFIG_MATH_EMULATION=y 200CONFIG_MATH_EMULATION=y
201# CONFIG_IOMMU_HELPER is not set
181CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 202CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
203CONFIG_ARCH_HAS_WALK_MEMORY=y
204CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
182CONFIG_ARCH_FLATMEM_ENABLE=y 205CONFIG_ARCH_FLATMEM_ENABLE=y
183CONFIG_ARCH_POPULATES_NODE_MAP=y 206CONFIG_ARCH_POPULATES_NODE_MAP=y
184CONFIG_SELECT_MEMORY_MODEL=y 207CONFIG_SELECT_MEMORY_MODEL=y
@@ -197,11 +220,7 @@ CONFIG_VIRT_TO_BUS=y
197CONFIG_PROC_DEVICETREE=y 220CONFIG_PROC_DEVICETREE=y
198# CONFIG_CMDLINE_BOOL is not set 221# CONFIG_CMDLINE_BOOL is not set
199# CONFIG_PM is not set 222# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
202CONFIG_SECCOMP=y 223CONFIG_SECCOMP=y
203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE=""
205CONFIG_ISA_DMA_API=y 224CONFIG_ISA_DMA_API=y
206 225
207# 226#
@@ -250,6 +269,7 @@ CONFIG_XFRM=y
250# CONFIG_XFRM_USER is not set 269# CONFIG_XFRM_USER is not set
251# CONFIG_XFRM_SUB_POLICY is not set 270# CONFIG_XFRM_SUB_POLICY is not set
252# CONFIG_XFRM_MIGRATE is not set 271# CONFIG_XFRM_MIGRATE is not set
272# CONFIG_XFRM_STATISTICS is not set
253# CONFIG_NET_KEY is not set 273# CONFIG_NET_KEY is not set
254CONFIG_INET=y 274CONFIG_INET=y
255CONFIG_IP_MULTICAST=y 275CONFIG_IP_MULTICAST=y
@@ -305,6 +325,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
305# 325#
306# CONFIG_NET_PKTGEN is not set 326# CONFIG_NET_PKTGEN is not set
307# CONFIG_HAMRADIO is not set 327# CONFIG_HAMRADIO is not set
328# CONFIG_CAN is not set
308# CONFIG_IRDA is not set 329# CONFIG_IRDA is not set
309# CONFIG_BT is not set 330# CONFIG_BT is not set
310# CONFIG_AF_RXRPC is not set 331# CONFIG_AF_RXRPC is not set
@@ -350,7 +371,7 @@ CONFIG_BLK_DEV_LOOP=y
350CONFIG_BLK_DEV_RAM=y 371CONFIG_BLK_DEV_RAM=y
351CONFIG_BLK_DEV_RAM_COUNT=16 372CONFIG_BLK_DEV_RAM_COUNT=16
352CONFIG_BLK_DEV_RAM_SIZE=32768 373CONFIG_BLK_DEV_RAM_SIZE=32768
353CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 374# CONFIG_BLK_DEV_XIP is not set
354# CONFIG_CDROM_PKTCDVD is not set 375# CONFIG_CDROM_PKTCDVD is not set
355# CONFIG_ATA_OVER_ETH is not set 376# CONFIG_ATA_OVER_ETH is not set
356CONFIG_MISC_DEVICES=y 377CONFIG_MISC_DEVICES=y
@@ -358,6 +379,8 @@ CONFIG_MISC_DEVICES=y
358# CONFIG_EEPROM_93CX6 is not set 379# CONFIG_EEPROM_93CX6 is not set
359# CONFIG_SGI_IOC4 is not set 380# CONFIG_SGI_IOC4 is not set
360# CONFIG_TIFM_CORE is not set 381# CONFIG_TIFM_CORE is not set
382# CONFIG_ENCLOSURE_SERVICES is not set
383CONFIG_HAVE_IDE=y
361# CONFIG_IDE is not set 384# CONFIG_IDE is not set
362 385
363# 386#
@@ -422,6 +445,7 @@ CONFIG_SCSI_LOWLEVEL=y
422# CONFIG_SCSI_IPS is not set 445# CONFIG_SCSI_IPS is not set
423# CONFIG_SCSI_INITIO is not set 446# CONFIG_SCSI_INITIO is not set
424# CONFIG_SCSI_INIA100 is not set 447# CONFIG_SCSI_INIA100 is not set
448# CONFIG_SCSI_MVSAS is not set
425# CONFIG_SCSI_STEX is not set 449# CONFIG_SCSI_STEX is not set
426# CONFIG_SCSI_SYM53C8XX_2 is not set 450# CONFIG_SCSI_SYM53C8XX_2 is not set
427# CONFIG_SCSI_QLOGIC_1280 is not set 451# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -452,7 +476,6 @@ CONFIG_NETDEVICES=y
452# CONFIG_EQUALIZER is not set 476# CONFIG_EQUALIZER is not set
453# CONFIG_TUN is not set 477# CONFIG_TUN is not set
454# CONFIG_VETH is not set 478# CONFIG_VETH is not set
455# CONFIG_IP1000 is not set
456# CONFIG_ARCNET is not set 479# CONFIG_ARCNET is not set
457CONFIG_PHYLIB=y 480CONFIG_PHYLIB=y
458 481
@@ -468,6 +491,7 @@ CONFIG_PHYLIB=y
468# CONFIG_SMSC_PHY is not set 491# CONFIG_SMSC_PHY is not set
469# CONFIG_BROADCOM_PHY is not set 492# CONFIG_BROADCOM_PHY is not set
470CONFIG_ICPLUS_PHY=y 493CONFIG_ICPLUS_PHY=y
494# CONFIG_REALTEK_PHY is not set
471# CONFIG_FIXED_PHY is not set 495# CONFIG_FIXED_PHY is not set
472# CONFIG_MDIO_BITBANG is not set 496# CONFIG_MDIO_BITBANG is not set
473CONFIG_NET_ETHERNET=y 497CONFIG_NET_ETHERNET=y
@@ -476,6 +500,7 @@ CONFIG_MII=y
476# CONFIG_SUNGEM is not set 500# CONFIG_SUNGEM is not set
477# CONFIG_CASSINI is not set 501# CONFIG_CASSINI is not set
478# CONFIG_NET_VENDOR_3COM is not set 502# CONFIG_NET_VENDOR_3COM is not set
503# CONFIG_ENC28J60 is not set
479# CONFIG_NET_TULIP is not set 504# CONFIG_NET_TULIP is not set
480# CONFIG_HP100 is not set 505# CONFIG_HP100 is not set
481# CONFIG_IBM_NEW_EMAC_ZMII is not set 506# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -491,6 +516,9 @@ CONFIG_E1000=y
491# CONFIG_E1000_NAPI is not set 516# CONFIG_E1000_NAPI is not set
492# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 517# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
493# CONFIG_E1000E is not set 518# CONFIG_E1000E is not set
519# CONFIG_E1000E_ENABLED is not set
520# CONFIG_IP1000 is not set
521# CONFIG_IGB is not set
494# CONFIG_NS83820 is not set 522# CONFIG_NS83820 is not set
495# CONFIG_HAMACHI is not set 523# CONFIG_HAMACHI is not set
496# CONFIG_YELLOWFIN is not set 524# CONFIG_YELLOWFIN is not set
@@ -521,6 +549,7 @@ CONFIG_NETDEV_10000=y
521# CONFIG_NIU is not set 549# CONFIG_NIU is not set
522# CONFIG_MLX4_CORE is not set 550# CONFIG_MLX4_CORE is not set
523# CONFIG_TEHUTI is not set 551# CONFIG_TEHUTI is not set
552# CONFIG_BNX2X is not set
524# CONFIG_TR is not set 553# CONFIG_TR is not set
525 554
526# 555#
@@ -543,7 +572,6 @@ CONFIG_NETDEV_10000=y
543# CONFIG_PPP is not set 572# CONFIG_PPP is not set
544# CONFIG_SLIP is not set 573# CONFIG_SLIP is not set
545# CONFIG_NET_FC is not set 574# CONFIG_NET_FC is not set
546# CONFIG_SHAPER is not set
547# CONFIG_NETCONSOLE is not set 575# CONFIG_NETCONSOLE is not set
548# CONFIG_NETPOLL is not set 576# CONFIG_NETPOLL is not set
549# CONFIG_NET_POLL_CONTROLLER is not set 577# CONFIG_NET_POLL_CONTROLLER is not set
@@ -586,6 +614,7 @@ CONFIG_INPUT=y
586# 614#
587# CONFIG_VT is not set 615# CONFIG_VT is not set
588# CONFIG_SERIAL_NONSTANDARD is not set 616# CONFIG_SERIAL_NONSTANDARD is not set
617# CONFIG_NOZOMI is not set
589 618
590# 619#
591# Serial drivers 620# Serial drivers
@@ -605,6 +634,7 @@ CONFIG_SERIAL_CORE=y
605CONFIG_SERIAL_CORE_CONSOLE=y 634CONFIG_SERIAL_CORE_CONSOLE=y
606# CONFIG_SERIAL_JSM is not set 635# CONFIG_SERIAL_JSM is not set
607# CONFIG_SERIAL_OF_PLATFORM is not set 636# CONFIG_SERIAL_OF_PLATFORM is not set
637# CONFIG_SERIAL_QE is not set
608CONFIG_UNIX98_PTYS=y 638CONFIG_UNIX98_PTYS=y
609CONFIG_LEGACY_PTYS=y 639CONFIG_LEGACY_PTYS=y
610CONFIG_LEGACY_PTY_COUNT=256 640CONFIG_LEGACY_PTY_COUNT=256
@@ -660,14 +690,12 @@ CONFIG_I2C_MPC=y
660# 690#
661# Miscellaneous I2C Chip support 691# Miscellaneous I2C Chip support
662# 692#
663# CONFIG_SENSORS_DS1337 is not set
664# CONFIG_SENSORS_DS1374 is not set
665# CONFIG_DS1682 is not set 693# CONFIG_DS1682 is not set
666# CONFIG_SENSORS_EEPROM is not set 694# CONFIG_SENSORS_EEPROM is not set
667# CONFIG_SENSORS_PCF8574 is not set 695# CONFIG_SENSORS_PCF8574 is not set
668# CONFIG_SENSORS_PCA9539 is not set 696# CONFIG_PCF8575 is not set
669# CONFIG_SENSORS_PCF8591 is not set 697# CONFIG_SENSORS_PCF8591 is not set
670# CONFIG_SENSORS_M41T00 is not set 698# CONFIG_TPS65010 is not set
671# CONFIG_SENSORS_MAX6875 is not set 699# CONFIG_SENSORS_MAX6875 is not set
672# CONFIG_SENSORS_TSL2550 is not set 700# CONFIG_SENSORS_TSL2550 is not set
673# CONFIG_I2C_DEBUG_CORE is not set 701# CONFIG_I2C_DEBUG_CORE is not set
@@ -705,6 +733,7 @@ CONFIG_HWMON=y
705# CONFIG_SENSORS_ADM1031 is not set 733# CONFIG_SENSORS_ADM1031 is not set
706# CONFIG_SENSORS_ADM9240 is not set 734# CONFIG_SENSORS_ADM9240 is not set
707# CONFIG_SENSORS_ADT7470 is not set 735# CONFIG_SENSORS_ADT7470 is not set
736# CONFIG_SENSORS_ADT7473 is not set
708# CONFIG_SENSORS_ATXP1 is not set 737# CONFIG_SENSORS_ATXP1 is not set
709# CONFIG_SENSORS_DS1621 is not set 738# CONFIG_SENSORS_DS1621 is not set
710# CONFIG_SENSORS_I5K_AMB is not set 739# CONFIG_SENSORS_I5K_AMB is not set
@@ -735,6 +764,7 @@ CONFIG_HWMON=y
735# CONFIG_SENSORS_SMSC47M1 is not set 764# CONFIG_SENSORS_SMSC47M1 is not set
736# CONFIG_SENSORS_SMSC47M192 is not set 765# CONFIG_SENSORS_SMSC47M192 is not set
737# CONFIG_SENSORS_SMSC47B397 is not set 766# CONFIG_SENSORS_SMSC47B397 is not set
767# CONFIG_SENSORS_ADS7828 is not set
738# CONFIG_SENSORS_THMC50 is not set 768# CONFIG_SENSORS_THMC50 is not set
739# CONFIG_SENSORS_VIA686A is not set 769# CONFIG_SENSORS_VIA686A is not set
740# CONFIG_SENSORS_VT1211 is not set 770# CONFIG_SENSORS_VT1211 is not set
@@ -744,9 +774,11 @@ CONFIG_HWMON=y
744# CONFIG_SENSORS_W83792D is not set 774# CONFIG_SENSORS_W83792D is not set
745# CONFIG_SENSORS_W83793 is not set 775# CONFIG_SENSORS_W83793 is not set
746# CONFIG_SENSORS_W83L785TS is not set 776# CONFIG_SENSORS_W83L785TS is not set
777# CONFIG_SENSORS_W83L786NG is not set
747# CONFIG_SENSORS_W83627HF is not set 778# CONFIG_SENSORS_W83627HF is not set
748# CONFIG_SENSORS_W83627EHF is not set 779# CONFIG_SENSORS_W83627EHF is not set
749# CONFIG_HWMON_DEBUG_CHIP is not set 780# CONFIG_HWMON_DEBUG_CHIP is not set
781# CONFIG_THERMAL is not set
750CONFIG_WATCHDOG=y 782CONFIG_WATCHDOG=y
751# CONFIG_WATCHDOG_NOWAYOUT is not set 783# CONFIG_WATCHDOG_NOWAYOUT is not set
752 784
@@ -826,6 +858,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
826CONFIG_USB_ARCH_HAS_EHCI=y 858CONFIG_USB_ARCH_HAS_EHCI=y
827CONFIG_USB=y 859CONFIG_USB=y
828# CONFIG_USB_DEBUG is not set 860# CONFIG_USB_DEBUG is not set
861# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
829 862
830# 863#
831# Miscellaneous USB options 864# Miscellaneous USB options
@@ -839,9 +872,10 @@ CONFIG_USB_DEVICE_CLASS=y
839# USB Host Controller Drivers 872# USB Host Controller Drivers
840# 873#
841CONFIG_USB_EHCI_HCD=y 874CONFIG_USB_EHCI_HCD=y
842# CONFIG_USB_EHCI_SPLIT_ISO is not set
843# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 875# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
844# CONFIG_USB_EHCI_TT_NEWSCHED is not set 876# CONFIG_USB_EHCI_TT_NEWSCHED is not set
877# CONFIG_USB_EHCI_FSL is not set
878CONFIG_USB_EHCI_HCD_PPC_OF=y
845# CONFIG_USB_ISP116X_HCD is not set 879# CONFIG_USB_ISP116X_HCD is not set
846CONFIG_USB_OHCI_HCD=y 880CONFIG_USB_OHCI_HCD=y
847CONFIG_USB_OHCI_HCD_PPC_OF=y 881CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -892,10 +926,6 @@ CONFIG_USB_MON=y
892# 926#
893# USB port drivers 927# USB port drivers
894# 928#
895
896#
897# USB Serial Converter support
898#
899# CONFIG_USB_SERIAL is not set 929# CONFIG_USB_SERIAL is not set
900 930
901# 931#
@@ -921,14 +951,6 @@ CONFIG_USB_MON=y
921# CONFIG_USB_TRANCEVIBRATOR is not set 951# CONFIG_USB_TRANCEVIBRATOR is not set
922# CONFIG_USB_IOWARRIOR is not set 952# CONFIG_USB_IOWARRIOR is not set
923# CONFIG_USB_TEST is not set 953# CONFIG_USB_TEST is not set
924
925#
926# USB DSL modem support
927#
928
929#
930# USB Gadget Support
931#
932# CONFIG_USB_GADGET is not set 954# CONFIG_USB_GADGET is not set
933CONFIG_MMC=y 955CONFIG_MMC=y
934# CONFIG_MMC_DEBUG is not set 956# CONFIG_MMC_DEBUG is not set
@@ -948,10 +970,12 @@ CONFIG_MMC_BLOCK_BOUNCE=y
948# CONFIG_MMC_WBSD is not set 970# CONFIG_MMC_WBSD is not set
949# CONFIG_MMC_TIFM_SD is not set 971# CONFIG_MMC_TIFM_SD is not set
950CONFIG_MMC_SPI=y 972CONFIG_MMC_SPI=y
973# CONFIG_MEMSTICK is not set
951# CONFIG_NEW_LEDS is not set 974# CONFIG_NEW_LEDS is not set
952# CONFIG_INFINIBAND is not set 975# CONFIG_INFINIBAND is not set
953# CONFIG_EDAC is not set 976# CONFIG_EDAC is not set
954# CONFIG_RTC_CLASS is not set 977# CONFIG_RTC_CLASS is not set
978# CONFIG_DMADEVICES is not set
955 979
956# 980#
957# Userspace I/O 981# Userspace I/O
@@ -977,12 +1001,10 @@ CONFIG_FS_MBCACHE=y
977# CONFIG_XFS_FS is not set 1001# CONFIG_XFS_FS is not set
978# CONFIG_GFS2_FS is not set 1002# CONFIG_GFS2_FS is not set
979# CONFIG_OCFS2_FS is not set 1003# CONFIG_OCFS2_FS is not set
980# CONFIG_MINIX_FS is not set 1004CONFIG_DNOTIFY=y
981# CONFIG_ROMFS_FS is not set
982CONFIG_INOTIFY=y 1005CONFIG_INOTIFY=y
983CONFIG_INOTIFY_USER=y 1006CONFIG_INOTIFY_USER=y
984# CONFIG_QUOTA is not set 1007# CONFIG_QUOTA is not set
985CONFIG_DNOTIFY=y
986# CONFIG_AUTOFS_FS is not set 1008# CONFIG_AUTOFS_FS is not set
987# CONFIG_AUTOFS4_FS is not set 1009# CONFIG_AUTOFS4_FS is not set
988# CONFIG_FUSE_FS is not set 1010# CONFIG_FUSE_FS is not set
@@ -1027,8 +1049,10 @@ CONFIG_TMPFS=y
1027# CONFIG_EFS_FS is not set 1049# CONFIG_EFS_FS is not set
1028# CONFIG_CRAMFS is not set 1050# CONFIG_CRAMFS is not set
1029# CONFIG_VXFS_FS is not set 1051# CONFIG_VXFS_FS is not set
1052# CONFIG_MINIX_FS is not set
1030# CONFIG_HPFS_FS is not set 1053# CONFIG_HPFS_FS is not set
1031# CONFIG_QNX4FS_FS is not set 1054# CONFIG_QNX4FS_FS is not set
1055# CONFIG_ROMFS_FS is not set
1032# CONFIG_SYSV_FS is not set 1056# CONFIG_SYSV_FS is not set
1033# CONFIG_UFS_FS is not set 1057# CONFIG_UFS_FS is not set
1034CONFIG_NETWORK_FILESYSTEMS=y 1058CONFIG_NETWORK_FILESYSTEMS=y
@@ -1116,7 +1140,6 @@ CONFIG_NLS_ISO8859_1=y
1116# CONFIG_NLS_KOI8_U is not set 1140# CONFIG_NLS_KOI8_U is not set
1117# CONFIG_NLS_UTF8 is not set 1141# CONFIG_NLS_UTF8 is not set
1118# CONFIG_DLM is not set 1142# CONFIG_DLM is not set
1119# CONFIG_UCC_SLOW is not set
1120CONFIG_UCC_FAST=y 1143CONFIG_UCC_FAST=y
1121CONFIG_UCC=y 1144CONFIG_UCC=y
1122 1145
@@ -1134,7 +1157,6 @@ CONFIG_PLIST=y
1134CONFIG_HAS_IOMEM=y 1157CONFIG_HAS_IOMEM=y
1135CONFIG_HAS_IOPORT=y 1158CONFIG_HAS_IOPORT=y
1136CONFIG_HAS_DMA=y 1159CONFIG_HAS_DMA=y
1137# CONFIG_INSTRUMENTATION is not set
1138 1160
1139# 1161#
1140# Kernel hacking 1162# Kernel hacking
@@ -1148,6 +1170,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1148# CONFIG_HEADERS_CHECK is not set 1170# CONFIG_HEADERS_CHECK is not set
1149# CONFIG_DEBUG_KERNEL is not set 1171# CONFIG_DEBUG_KERNEL is not set
1150# CONFIG_SLUB_DEBUG_ON is not set 1172# CONFIG_SLUB_DEBUG_ON is not set
1173# CONFIG_SLUB_STATS is not set
1151# CONFIG_DEBUG_BUGVERBOSE is not set 1174# CONFIG_DEBUG_BUGVERBOSE is not set
1152# CONFIG_SAMPLES is not set 1175# CONFIG_SAMPLES is not set
1153# CONFIG_PPC_EARLY_DEBUG is not set 1176# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1161,6 +1184,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1161CONFIG_CRYPTO=y 1184CONFIG_CRYPTO=y
1162CONFIG_CRYPTO_ALGAPI=y 1185CONFIG_CRYPTO_ALGAPI=y
1163CONFIG_CRYPTO_BLKCIPHER=y 1186CONFIG_CRYPTO_BLKCIPHER=y
1187# CONFIG_CRYPTO_SEQIV is not set
1164CONFIG_CRYPTO_MANAGER=y 1188CONFIG_CRYPTO_MANAGER=y
1165# CONFIG_CRYPTO_HMAC is not set 1189# CONFIG_CRYPTO_HMAC is not set
1166# CONFIG_CRYPTO_XCBC is not set 1190# CONFIG_CRYPTO_XCBC is not set
@@ -1178,6 +1202,9 @@ CONFIG_CRYPTO_CBC=y
1178CONFIG_CRYPTO_PCBC=m 1202CONFIG_CRYPTO_PCBC=m
1179# CONFIG_CRYPTO_LRW is not set 1203# CONFIG_CRYPTO_LRW is not set
1180# CONFIG_CRYPTO_XTS is not set 1204# CONFIG_CRYPTO_XTS is not set
1205# CONFIG_CRYPTO_CTR is not set
1206# CONFIG_CRYPTO_GCM is not set
1207# CONFIG_CRYPTO_CCM is not set
1181# CONFIG_CRYPTO_CRYPTD is not set 1208# CONFIG_CRYPTO_CRYPTD is not set
1182CONFIG_CRYPTO_DES=y 1209CONFIG_CRYPTO_DES=y
1183# CONFIG_CRYPTO_FCRYPT is not set 1210# CONFIG_CRYPTO_FCRYPT is not set
@@ -1192,12 +1219,15 @@ CONFIG_CRYPTO_DES=y
1192# CONFIG_CRYPTO_KHAZAD is not set 1219# CONFIG_CRYPTO_KHAZAD is not set
1193# CONFIG_CRYPTO_ANUBIS is not set 1220# CONFIG_CRYPTO_ANUBIS is not set
1194# CONFIG_CRYPTO_SEED is not set 1221# CONFIG_CRYPTO_SEED is not set
1222# CONFIG_CRYPTO_SALSA20 is not set
1195# CONFIG_CRYPTO_DEFLATE is not set 1223# CONFIG_CRYPTO_DEFLATE is not set
1196# CONFIG_CRYPTO_MICHAEL_MIC is not set 1224# CONFIG_CRYPTO_MICHAEL_MIC is not set
1197# CONFIG_CRYPTO_CRC32C is not set 1225# CONFIG_CRYPTO_CRC32C is not set
1198# CONFIG_CRYPTO_CAMELLIA is not set 1226# CONFIG_CRYPTO_CAMELLIA is not set
1199# CONFIG_CRYPTO_TEST is not set 1227# CONFIG_CRYPTO_TEST is not set
1200# CONFIG_CRYPTO_AUTHENC is not set 1228# CONFIG_CRYPTO_AUTHENC is not set
1229# CONFIG_CRYPTO_LZO is not set
1201CONFIG_CRYPTO_HW=y 1230CONFIG_CRYPTO_HW=y
1231# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1202# CONFIG_PPC_CLOCK is not set 1232# CONFIG_PPC_CLOCK is not set
1203CONFIG_PPC_LIB_RHEAP=y 1233CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc834x_itx_defconfig b/arch/powerpc/configs/mpc834x_itx_defconfig
index 2fbe4e5344f..e1de399a7bd 100644
--- a/arch/powerpc/configs/mpc834x_itx_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:37 2007 4# Mon Mar 24 08:48:17 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -86,11 +91,13 @@ CONFIG_HOTPLUG=y
86CONFIG_PRINTK=y 91CONFIG_PRINTK=y
87CONFIG_BUG=y 92CONFIG_BUG=y
88CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
89CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 96CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
92# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 102CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -98,6 +105,13 @@ CONFIG_SLUB_DEBUG=y
98# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
99CONFIG_SLUB=y 106CONFIG_SLUB=y
100# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y
113CONFIG_PROC_PAGE_MONITOR=y
114CONFIG_SLABINFO=y
101CONFIG_RT_MUTEXES=y 115CONFIG_RT_MUTEXES=y
102# CONFIG_TINY_SHMEM is not set 116# CONFIG_TINY_SHMEM is not set
103CONFIG_BASE_SMALL=0 117CONFIG_BASE_SMALL=0
@@ -125,6 +139,7 @@ CONFIG_DEFAULT_AS=y
125# CONFIG_DEFAULT_CFQ is not set 139# CONFIG_DEFAULT_CFQ is not set
126# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
127CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
128 143
129# 144#
130# Platform support 145# Platform support
@@ -133,18 +148,23 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
133# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
134CONFIG_PPC_83xx=y 149CONFIG_PPC_83xx=y
135# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
136# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC512x is not set
137# CONFIG_PPC_MPC5200 is not set 152# CONFIG_PPC_MPC5121 is not set
138# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set 155# CONFIG_PQ2ADS is not set
141# CONFIG_MPC8313_RDB is not set 156CONFIG_MPC83xx=y
157# CONFIG_MPC831x_RDB is not set
142# CONFIG_MPC832x_MDS is not set 158# CONFIG_MPC832x_MDS is not set
143# CONFIG_MPC832x_RDB is not set 159# CONFIG_MPC832x_RDB is not set
144# CONFIG_MPC834x_MDS is not set 160# CONFIG_MPC834x_MDS is not set
145CONFIG_MPC834x_ITX=y 161CONFIG_MPC834x_ITX=y
146# CONFIG_MPC836x_MDS is not set 162# CONFIG_MPC836x_MDS is not set
147CONFIG_MPC834x=y 163# CONFIG_MPC837x_MDS is not set
164# CONFIG_MPC837x_RDB is not set
165# CONFIG_SBC834x is not set
166CONFIG_PPC_MPC834x=y
167CONFIG_IPIC=y
148# CONFIG_MPIC is not set 168# CONFIG_MPIC is not set
149# CONFIG_MPIC_WEIRD is not set 169# CONFIG_MPIC_WEIRD is not set
150# CONFIG_PPC_I8259 is not set 170# CONFIG_PPC_I8259 is not set
@@ -155,7 +175,6 @@ CONFIG_MPC834x=y
155# CONFIG_PPC_INDIRECT_IO is not set 175# CONFIG_PPC_INDIRECT_IO is not set
156# CONFIG_GENERIC_IOMAP is not set 176# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 177# CONFIG_CPU_FREQ is not set
158# CONFIG_CPM2 is not set
159# CONFIG_FSL_ULI1575 is not set 178# CONFIG_FSL_ULI1575 is not set
160 179
161# 180#
@@ -171,12 +190,16 @@ CONFIG_HZ_250=y
171# CONFIG_HZ_300 is not set 190# CONFIG_HZ_300 is not set
172# CONFIG_HZ_1000 is not set 191# CONFIG_HZ_1000 is not set
173CONFIG_HZ=250 192CONFIG_HZ=250
193# CONFIG_SCHED_HRTICK is not set
174CONFIG_PREEMPT_NONE=y 194CONFIG_PREEMPT_NONE=y
175# CONFIG_PREEMPT_VOLUNTARY is not set 195# CONFIG_PREEMPT_VOLUNTARY is not set
176# CONFIG_PREEMPT is not set 196# CONFIG_PREEMPT is not set
177CONFIG_BINFMT_ELF=y 197CONFIG_BINFMT_ELF=y
178# CONFIG_BINFMT_MISC is not set 198# CONFIG_BINFMT_MISC is not set
199# CONFIG_IOMMU_HELPER is not set
179CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
180CONFIG_ARCH_FLATMEM_ENABLE=y 203CONFIG_ARCH_FLATMEM_ENABLE=y
181CONFIG_ARCH_POPULATES_NODE_MAP=y 204CONFIG_ARCH_POPULATES_NODE_MAP=y
182CONFIG_SELECT_MEMORY_MODEL=y 205CONFIG_SELECT_MEMORY_MODEL=y
@@ -195,11 +218,7 @@ CONFIG_VIRT_TO_BUS=y
195CONFIG_PROC_DEVICETREE=y 218CONFIG_PROC_DEVICETREE=y
196# CONFIG_CMDLINE_BOOL is not set 219# CONFIG_CMDLINE_BOOL is not set
197# CONFIG_PM is not set 220# CONFIG_PM is not set
198CONFIG_SUSPEND_UP_POSSIBLE=y
199CONFIG_HIBERNATION_UP_POSSIBLE=y
200CONFIG_SECCOMP=y 221CONFIG_SECCOMP=y
201CONFIG_WANT_DEVICE_TREE=y
202CONFIG_DEVICE_TREE=""
203CONFIG_ISA_DMA_API=y 222CONFIG_ISA_DMA_API=y
204 223
205# 224#
@@ -248,6 +267,7 @@ CONFIG_XFRM=y
248# CONFIG_XFRM_USER is not set 267# CONFIG_XFRM_USER is not set
249# CONFIG_XFRM_SUB_POLICY is not set 268# CONFIG_XFRM_SUB_POLICY is not set
250# CONFIG_XFRM_MIGRATE is not set 269# CONFIG_XFRM_MIGRATE is not set
270# CONFIG_XFRM_STATISTICS is not set
251# CONFIG_NET_KEY is not set 271# CONFIG_NET_KEY is not set
252CONFIG_INET=y 272CONFIG_INET=y
253CONFIG_IP_MULTICAST=y 273CONFIG_IP_MULTICAST=y
@@ -303,6 +323,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
303# 323#
304# CONFIG_NET_PKTGEN is not set 324# CONFIG_NET_PKTGEN is not set
305# CONFIG_HAMRADIO is not set 325# CONFIG_HAMRADIO is not set
326# CONFIG_CAN is not set
306# CONFIG_IRDA is not set 327# CONFIG_IRDA is not set
307# CONFIG_BT is not set 328# CONFIG_BT is not set
308# CONFIG_AF_RXRPC is not set 329# CONFIG_AF_RXRPC is not set
@@ -427,7 +448,7 @@ CONFIG_BLK_DEV_LOOP=y
427CONFIG_BLK_DEV_RAM=y 448CONFIG_BLK_DEV_RAM=y
428CONFIG_BLK_DEV_RAM_COUNT=16 449CONFIG_BLK_DEV_RAM_COUNT=16
429CONFIG_BLK_DEV_RAM_SIZE=32768 450CONFIG_BLK_DEV_RAM_SIZE=32768
430CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 451# CONFIG_BLK_DEV_XIP is not set
431# CONFIG_CDROM_PKTCDVD is not set 452# CONFIG_CDROM_PKTCDVD is not set
432# CONFIG_ATA_OVER_ETH is not set 453# CONFIG_ATA_OVER_ETH is not set
433CONFIG_MISC_DEVICES=y 454CONFIG_MISC_DEVICES=y
@@ -435,6 +456,8 @@ CONFIG_MISC_DEVICES=y
435# CONFIG_EEPROM_93CX6 is not set 456# CONFIG_EEPROM_93CX6 is not set
436# CONFIG_SGI_IOC4 is not set 457# CONFIG_SGI_IOC4 is not set
437# CONFIG_TIFM_CORE is not set 458# CONFIG_TIFM_CORE is not set
459# CONFIG_ENCLOSURE_SERVICES is not set
460CONFIG_HAVE_IDE=y
438CONFIG_IDE=y 461CONFIG_IDE=y
439CONFIG_IDE_MAX_HWIFS=4 462CONFIG_IDE_MAX_HWIFS=4
440# CONFIG_BLK_DEV_IDE is not set 463# CONFIG_BLK_DEV_IDE is not set
@@ -503,6 +526,7 @@ CONFIG_SCSI_LOWLEVEL=y
503# CONFIG_SCSI_IPS is not set 526# CONFIG_SCSI_IPS is not set
504# CONFIG_SCSI_INITIO is not set 527# CONFIG_SCSI_INITIO is not set
505# CONFIG_SCSI_INIA100 is not set 528# CONFIG_SCSI_INIA100 is not set
529# CONFIG_SCSI_MVSAS is not set
506# CONFIG_SCSI_STEX is not set 530# CONFIG_SCSI_STEX is not set
507# CONFIG_SCSI_SYM53C8XX_2 is not set 531# CONFIG_SCSI_SYM53C8XX_2 is not set
508# CONFIG_SCSI_IPR is not set 532# CONFIG_SCSI_IPR is not set
@@ -533,6 +557,7 @@ CONFIG_SATA_SIL=y
533# CONFIG_SATA_VIA is not set 557# CONFIG_SATA_VIA is not set
534# CONFIG_SATA_VITESSE is not set 558# CONFIG_SATA_VITESSE is not set
535# CONFIG_SATA_INIC162X is not set 559# CONFIG_SATA_INIC162X is not set
560# CONFIG_SATA_FSL is not set
536# CONFIG_PATA_ALI is not set 561# CONFIG_PATA_ALI is not set
537# CONFIG_PATA_AMD is not set 562# CONFIG_PATA_AMD is not set
538# CONFIG_PATA_ARTOP is not set 563# CONFIG_PATA_ARTOP is not set
@@ -556,6 +581,7 @@ CONFIG_SATA_SIL=y
556# CONFIG_PATA_MPIIX is not set 581# CONFIG_PATA_MPIIX is not set
557# CONFIG_PATA_OLDPIIX is not set 582# CONFIG_PATA_OLDPIIX is not set
558# CONFIG_PATA_NETCELL is not set 583# CONFIG_PATA_NETCELL is not set
584# CONFIG_PATA_NINJA32 is not set
559# CONFIG_PATA_NS87410 is not set 585# CONFIG_PATA_NS87410 is not set
560# CONFIG_PATA_NS87415 is not set 586# CONFIG_PATA_NS87415 is not set
561# CONFIG_PATA_OPTI is not set 587# CONFIG_PATA_OPTI is not set
@@ -599,7 +625,6 @@ CONFIG_NETDEVICES=y
599# CONFIG_EQUALIZER is not set 625# CONFIG_EQUALIZER is not set
600# CONFIG_TUN is not set 626# CONFIG_TUN is not set
601# CONFIG_VETH is not set 627# CONFIG_VETH is not set
602# CONFIG_IP1000 is not set
603# CONFIG_ARCNET is not set 628# CONFIG_ARCNET is not set
604CONFIG_PHYLIB=y 629CONFIG_PHYLIB=y
605 630
@@ -615,6 +640,7 @@ CONFIG_CICADA_PHY=y
615# CONFIG_SMSC_PHY is not set 640# CONFIG_SMSC_PHY is not set
616# CONFIG_BROADCOM_PHY is not set 641# CONFIG_BROADCOM_PHY is not set
617# CONFIG_ICPLUS_PHY is not set 642# CONFIG_ICPLUS_PHY is not set
643# CONFIG_REALTEK_PHY is not set
618# CONFIG_FIXED_PHY is not set 644# CONFIG_FIXED_PHY is not set
619# CONFIG_MDIO_BITBANG is not set 645# CONFIG_MDIO_BITBANG is not set
620# CONFIG_NET_ETHERNET is not set 646# CONFIG_NET_ETHERNET is not set
@@ -623,6 +649,9 @@ CONFIG_NETDEV_1000=y
623# CONFIG_DL2K is not set 649# CONFIG_DL2K is not set
624# CONFIG_E1000 is not set 650# CONFIG_E1000 is not set
625# CONFIG_E1000E is not set 651# CONFIG_E1000E is not set
652# CONFIG_E1000E_ENABLED is not set
653# CONFIG_IP1000 is not set
654# CONFIG_IGB is not set
626# CONFIG_NS83820 is not set 655# CONFIG_NS83820 is not set
627# CONFIG_HAMACHI is not set 656# CONFIG_HAMACHI is not set
628# CONFIG_YELLOWFIN is not set 657# CONFIG_YELLOWFIN is not set
@@ -649,6 +678,7 @@ CONFIG_NETDEV_10000=y
649# CONFIG_NIU is not set 678# CONFIG_NIU is not set
650# CONFIG_MLX4_CORE is not set 679# CONFIG_MLX4_CORE is not set
651# CONFIG_TEHUTI is not set 680# CONFIG_TEHUTI is not set
681# CONFIG_BNX2X is not set
652# CONFIG_TR is not set 682# CONFIG_TR is not set
653 683
654# 684#
@@ -671,7 +701,6 @@ CONFIG_NETDEV_10000=y
671# CONFIG_PPP is not set 701# CONFIG_PPP is not set
672# CONFIG_SLIP is not set 702# CONFIG_SLIP is not set
673# CONFIG_NET_FC is not set 703# CONFIG_NET_FC is not set
674# CONFIG_SHAPER is not set
675# CONFIG_NETCONSOLE is not set 704# CONFIG_NETCONSOLE is not set
676# CONFIG_NETPOLL is not set 705# CONFIG_NETPOLL is not set
677# CONFIG_NET_POLL_CONTROLLER is not set 706# CONFIG_NET_POLL_CONTROLLER is not set
@@ -694,6 +723,7 @@ CONFIG_NETDEV_10000=y
694# 723#
695# CONFIG_VT is not set 724# CONFIG_VT is not set
696# CONFIG_SERIAL_NONSTANDARD is not set 725# CONFIG_SERIAL_NONSTANDARD is not set
726# CONFIG_NOZOMI is not set
697 727
698# 728#
699# Serial drivers 729# Serial drivers
@@ -767,14 +797,12 @@ CONFIG_I2C_MPC=y
767# 797#
768# Miscellaneous I2C Chip support 798# Miscellaneous I2C Chip support
769# 799#
770# CONFIG_SENSORS_DS1337 is not set
771# CONFIG_SENSORS_DS1374 is not set
772# CONFIG_DS1682 is not set 800# CONFIG_DS1682 is not set
773# CONFIG_SENSORS_EEPROM is not set 801# CONFIG_SENSORS_EEPROM is not set
774CONFIG_SENSORS_PCF8574=y 802CONFIG_SENSORS_PCF8574=y
775# CONFIG_SENSORS_PCA9539 is not set 803# CONFIG_PCF8575 is not set
776# CONFIG_SENSORS_PCF8591 is not set 804# CONFIG_SENSORS_PCF8591 is not set
777# CONFIG_SENSORS_M41T00 is not set 805# CONFIG_TPS65010 is not set
778# CONFIG_SENSORS_MAX6875 is not set 806# CONFIG_SENSORS_MAX6875 is not set
779# CONFIG_SENSORS_TSL2550 is not set 807# CONFIG_SENSORS_TSL2550 is not set
780# CONFIG_I2C_DEBUG_CORE is not set 808# CONFIG_I2C_DEBUG_CORE is not set
@@ -803,6 +831,7 @@ CONFIG_SPI_MPC83xx=y
803# CONFIG_W1 is not set 831# CONFIG_W1 is not set
804# CONFIG_POWER_SUPPLY is not set 832# CONFIG_POWER_SUPPLY is not set
805# CONFIG_HWMON is not set 833# CONFIG_HWMON is not set
834# CONFIG_THERMAL is not set
806CONFIG_WATCHDOG=y 835CONFIG_WATCHDOG=y
807# CONFIG_WATCHDOG_NOWAYOUT is not set 836# CONFIG_WATCHDOG_NOWAYOUT is not set
808 837
@@ -867,6 +896,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
867CONFIG_USB_ARCH_HAS_EHCI=y 896CONFIG_USB_ARCH_HAS_EHCI=y
868CONFIG_USB=y 897CONFIG_USB=y
869# CONFIG_USB_DEBUG is not set 898# CONFIG_USB_DEBUG is not set
899# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
870 900
871# 901#
872# Miscellaneous USB options 902# Miscellaneous USB options
@@ -880,10 +910,10 @@ CONFIG_USB_DEVICE_CLASS=y
880# USB Host Controller Drivers 910# USB Host Controller Drivers
881# 911#
882CONFIG_USB_EHCI_HCD=y 912CONFIG_USB_EHCI_HCD=y
883# CONFIG_USB_EHCI_SPLIT_ISO is not set
884CONFIG_USB_EHCI_ROOT_HUB_TT=y 913CONFIG_USB_EHCI_ROOT_HUB_TT=y
885# CONFIG_USB_EHCI_TT_NEWSCHED is not set 914# CONFIG_USB_EHCI_TT_NEWSCHED is not set
886CONFIG_USB_EHCI_FSL=y 915CONFIG_USB_EHCI_FSL=y
916CONFIG_USB_EHCI_HCD_PPC_OF=y
887# CONFIG_USB_ISP116X_HCD is not set 917# CONFIG_USB_ISP116X_HCD is not set
888# CONFIG_USB_OHCI_HCD is not set 918# CONFIG_USB_OHCI_HCD is not set
889CONFIG_USB_UHCI_HCD=y 919CONFIG_USB_UHCI_HCD=y
@@ -927,10 +957,6 @@ CONFIG_USB_MON=y
927# 957#
928# USB port drivers 958# USB port drivers
929# 959#
930
931#
932# USB Serial Converter support
933#
934# CONFIG_USB_SERIAL is not set 960# CONFIG_USB_SERIAL is not set
935 961
936# 962#
@@ -956,16 +982,9 @@ CONFIG_USB_MON=y
956# CONFIG_USB_TRANCEVIBRATOR is not set 982# CONFIG_USB_TRANCEVIBRATOR is not set
957# CONFIG_USB_IOWARRIOR is not set 983# CONFIG_USB_IOWARRIOR is not set
958# CONFIG_USB_TEST is not set 984# CONFIG_USB_TEST is not set
959
960#
961# USB DSL modem support
962#
963
964#
965# USB Gadget Support
966#
967# CONFIG_USB_GADGET is not set 985# CONFIG_USB_GADGET is not set
968# CONFIG_MMC is not set 986# CONFIG_MMC is not set
987# CONFIG_MEMSTICK is not set
969# CONFIG_NEW_LEDS is not set 988# CONFIG_NEW_LEDS is not set
970# CONFIG_INFINIBAND is not set 989# CONFIG_INFINIBAND is not set
971# CONFIG_EDAC is not set 990# CONFIG_EDAC is not set
@@ -997,20 +1016,23 @@ CONFIG_RTC_DRV_DS1307=y
997# CONFIG_RTC_DRV_PCF8563 is not set 1016# CONFIG_RTC_DRV_PCF8563 is not set
998# CONFIG_RTC_DRV_PCF8583 is not set 1017# CONFIG_RTC_DRV_PCF8583 is not set
999# CONFIG_RTC_DRV_M41T80 is not set 1018# CONFIG_RTC_DRV_M41T80 is not set
1019# CONFIG_RTC_DRV_S35390A is not set
1000 1020
1001# 1021#
1002# SPI RTC drivers 1022# SPI RTC drivers
1003# 1023#
1004# CONFIG_RTC_DRV_RS5C348 is not set
1005# CONFIG_RTC_DRV_MAX6902 is not set 1024# CONFIG_RTC_DRV_MAX6902 is not set
1025# CONFIG_RTC_DRV_R9701 is not set
1026# CONFIG_RTC_DRV_RS5C348 is not set
1006 1027
1007# 1028#
1008# Platform RTC drivers 1029# Platform RTC drivers
1009# 1030#
1010# CONFIG_RTC_DRV_CMOS is not set 1031# CONFIG_RTC_DRV_CMOS is not set
1032# CONFIG_RTC_DRV_DS1511 is not set
1011# CONFIG_RTC_DRV_DS1553 is not set 1033# CONFIG_RTC_DRV_DS1553 is not set
1012# CONFIG_RTC_DRV_STK17TA8 is not set
1013# CONFIG_RTC_DRV_DS1742 is not set 1034# CONFIG_RTC_DRV_DS1742 is not set
1035# CONFIG_RTC_DRV_STK17TA8 is not set
1014# CONFIG_RTC_DRV_M48T86 is not set 1036# CONFIG_RTC_DRV_M48T86 is not set
1015# CONFIG_RTC_DRV_M48T59 is not set 1037# CONFIG_RTC_DRV_M48T59 is not set
1016# CONFIG_RTC_DRV_V3020 is not set 1038# CONFIG_RTC_DRV_V3020 is not set
@@ -1018,6 +1040,7 @@ CONFIG_RTC_DRV_DS1307=y
1018# 1040#
1019# on-CPU RTC drivers 1041# on-CPU RTC drivers
1020# 1042#
1043# CONFIG_DMADEVICES is not set
1021 1044
1022# 1045#
1023# Userspace I/O 1046# Userspace I/O
@@ -1043,12 +1066,10 @@ CONFIG_FS_MBCACHE=y
1043# CONFIG_XFS_FS is not set 1066# CONFIG_XFS_FS is not set
1044# CONFIG_GFS2_FS is not set 1067# CONFIG_GFS2_FS is not set
1045# CONFIG_OCFS2_FS is not set 1068# CONFIG_OCFS2_FS is not set
1046# CONFIG_MINIX_FS is not set 1069CONFIG_DNOTIFY=y
1047# CONFIG_ROMFS_FS is not set
1048CONFIG_INOTIFY=y 1070CONFIG_INOTIFY=y
1049CONFIG_INOTIFY_USER=y 1071CONFIG_INOTIFY_USER=y
1050# CONFIG_QUOTA is not set 1072# CONFIG_QUOTA is not set
1051CONFIG_DNOTIFY=y
1052# CONFIG_AUTOFS_FS is not set 1073# CONFIG_AUTOFS_FS is not set
1053# CONFIG_AUTOFS4_FS is not set 1074# CONFIG_AUTOFS4_FS is not set
1054# CONFIG_FUSE_FS is not set 1075# CONFIG_FUSE_FS is not set
@@ -1094,8 +1115,10 @@ CONFIG_TMPFS=y
1094# CONFIG_JFFS2_FS is not set 1115# CONFIG_JFFS2_FS is not set
1095# CONFIG_CRAMFS is not set 1116# CONFIG_CRAMFS is not set
1096# CONFIG_VXFS_FS is not set 1117# CONFIG_VXFS_FS is not set
1118# CONFIG_MINIX_FS is not set
1097# CONFIG_HPFS_FS is not set 1119# CONFIG_HPFS_FS is not set
1098# CONFIG_QNX4FS_FS is not set 1120# CONFIG_QNX4FS_FS is not set
1121# CONFIG_ROMFS_FS is not set
1099# CONFIG_SYSV_FS is not set 1122# CONFIG_SYSV_FS is not set
1100# CONFIG_UFS_FS is not set 1123# CONFIG_UFS_FS is not set
1101CONFIG_NETWORK_FILESYSTEMS=y 1124CONFIG_NETWORK_FILESYSTEMS=y
@@ -1182,7 +1205,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1182# CONFIG_NLS_KOI8_U is not set 1205# CONFIG_NLS_KOI8_U is not set
1183# CONFIG_NLS_UTF8 is not set 1206# CONFIG_NLS_UTF8 is not set
1184# CONFIG_DLM is not set 1207# CONFIG_DLM is not set
1185# CONFIG_UCC_SLOW is not set
1186 1208
1187# 1209#
1188# Library routines 1210# Library routines
@@ -1198,7 +1220,6 @@ CONFIG_PLIST=y
1198CONFIG_HAS_IOMEM=y 1220CONFIG_HAS_IOMEM=y
1199CONFIG_HAS_IOPORT=y 1221CONFIG_HAS_IOPORT=y
1200CONFIG_HAS_DMA=y 1222CONFIG_HAS_DMA=y
1201# CONFIG_INSTRUMENTATION is not set
1202 1223
1203# 1224#
1204# Kernel hacking 1225# Kernel hacking
@@ -1212,6 +1233,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1212# CONFIG_HEADERS_CHECK is not set 1233# CONFIG_HEADERS_CHECK is not set
1213# CONFIG_DEBUG_KERNEL is not set 1234# CONFIG_DEBUG_KERNEL is not set
1214# CONFIG_SLUB_DEBUG_ON is not set 1235# CONFIG_SLUB_DEBUG_ON is not set
1236# CONFIG_SLUB_STATS is not set
1215# CONFIG_DEBUG_BUGVERBOSE is not set 1237# CONFIG_DEBUG_BUGVERBOSE is not set
1216# CONFIG_SAMPLES is not set 1238# CONFIG_SAMPLES is not set
1217# CONFIG_PPC_EARLY_DEBUG is not set 1239# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1225,6 +1247,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1225CONFIG_CRYPTO=y 1247CONFIG_CRYPTO=y
1226CONFIG_CRYPTO_ALGAPI=y 1248CONFIG_CRYPTO_ALGAPI=y
1227CONFIG_CRYPTO_BLKCIPHER=y 1249CONFIG_CRYPTO_BLKCIPHER=y
1250# CONFIG_CRYPTO_SEQIV is not set
1228CONFIG_CRYPTO_MANAGER=y 1251CONFIG_CRYPTO_MANAGER=y
1229# CONFIG_CRYPTO_HMAC is not set 1252# CONFIG_CRYPTO_HMAC is not set
1230# CONFIG_CRYPTO_XCBC is not set 1253# CONFIG_CRYPTO_XCBC is not set
@@ -1242,6 +1265,9 @@ CONFIG_CRYPTO_CBC=y
1242CONFIG_CRYPTO_PCBC=m 1265CONFIG_CRYPTO_PCBC=m
1243# CONFIG_CRYPTO_LRW is not set 1266# CONFIG_CRYPTO_LRW is not set
1244# CONFIG_CRYPTO_XTS is not set 1267# CONFIG_CRYPTO_XTS is not set
1268# CONFIG_CRYPTO_CTR is not set
1269# CONFIG_CRYPTO_GCM is not set
1270# CONFIG_CRYPTO_CCM is not set
1245# CONFIG_CRYPTO_CRYPTD is not set 1271# CONFIG_CRYPTO_CRYPTD is not set
1246CONFIG_CRYPTO_DES=y 1272CONFIG_CRYPTO_DES=y
1247# CONFIG_CRYPTO_FCRYPT is not set 1273# CONFIG_CRYPTO_FCRYPT is not set
@@ -1256,11 +1282,14 @@ CONFIG_CRYPTO_DES=y
1256# CONFIG_CRYPTO_KHAZAD is not set 1282# CONFIG_CRYPTO_KHAZAD is not set
1257# CONFIG_CRYPTO_ANUBIS is not set 1283# CONFIG_CRYPTO_ANUBIS is not set
1258# CONFIG_CRYPTO_SEED is not set 1284# CONFIG_CRYPTO_SEED is not set
1285# CONFIG_CRYPTO_SALSA20 is not set
1259# CONFIG_CRYPTO_DEFLATE is not set 1286# CONFIG_CRYPTO_DEFLATE is not set
1260# CONFIG_CRYPTO_MICHAEL_MIC is not set 1287# CONFIG_CRYPTO_MICHAEL_MIC is not set
1261# CONFIG_CRYPTO_CRC32C is not set 1288# CONFIG_CRYPTO_CRC32C is not set
1262# CONFIG_CRYPTO_CAMELLIA is not set 1289# CONFIG_CRYPTO_CAMELLIA is not set
1263# CONFIG_CRYPTO_TEST is not set 1290# CONFIG_CRYPTO_TEST is not set
1264# CONFIG_CRYPTO_AUTHENC is not set 1291# CONFIG_CRYPTO_AUTHENC is not set
1292# CONFIG_CRYPTO_LZO is not set
1265CONFIG_CRYPTO_HW=y 1293CONFIG_CRYPTO_HW=y
1294# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1266# CONFIG_PPC_CLOCK is not set 1295# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc834x_itxgp_defconfig b/arch/powerpc/configs/mpc834x_itxgp_defconfig
index 67cb09cc3ac..b4e39cf82a8 100644
--- a/arch/powerpc/configs/mpc834x_itxgp_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:39 2007 4# Mon Mar 24 08:48:18 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -86,11 +91,13 @@ CONFIG_HOTPLUG=y
86CONFIG_PRINTK=y 91CONFIG_PRINTK=y
87CONFIG_BUG=y 92CONFIG_BUG=y
88CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
89CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 96CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
92# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 102CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -98,6 +105,13 @@ CONFIG_SLUB_DEBUG=y
98# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
99CONFIG_SLUB=y 106CONFIG_SLUB=y
100# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y
113CONFIG_PROC_PAGE_MONITOR=y
114CONFIG_SLABINFO=y
101CONFIG_RT_MUTEXES=y 115CONFIG_RT_MUTEXES=y
102# CONFIG_TINY_SHMEM is not set 116# CONFIG_TINY_SHMEM is not set
103CONFIG_BASE_SMALL=0 117CONFIG_BASE_SMALL=0
@@ -125,6 +139,7 @@ CONFIG_DEFAULT_AS=y
125# CONFIG_DEFAULT_CFQ is not set 139# CONFIG_DEFAULT_CFQ is not set
126# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
127CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
128 143
129# 144#
130# Platform support 145# Platform support
@@ -133,18 +148,23 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
133# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
134CONFIG_PPC_83xx=y 149CONFIG_PPC_83xx=y
135# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
136# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC512x is not set
137# CONFIG_PPC_MPC5200 is not set 152# CONFIG_PPC_MPC5121 is not set
138# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set 155# CONFIG_PQ2ADS is not set
141# CONFIG_MPC8313_RDB is not set 156CONFIG_MPC83xx=y
157# CONFIG_MPC831x_RDB is not set
142# CONFIG_MPC832x_MDS is not set 158# CONFIG_MPC832x_MDS is not set
143# CONFIG_MPC832x_RDB is not set 159# CONFIG_MPC832x_RDB is not set
144# CONFIG_MPC834x_MDS is not set 160# CONFIG_MPC834x_MDS is not set
145CONFIG_MPC834x_ITX=y 161CONFIG_MPC834x_ITX=y
146# CONFIG_MPC836x_MDS is not set 162# CONFIG_MPC836x_MDS is not set
147CONFIG_MPC834x=y 163# CONFIG_MPC837x_MDS is not set
164# CONFIG_MPC837x_RDB is not set
165# CONFIG_SBC834x is not set
166CONFIG_PPC_MPC834x=y
167CONFIG_IPIC=y
148# CONFIG_MPIC is not set 168# CONFIG_MPIC is not set
149# CONFIG_MPIC_WEIRD is not set 169# CONFIG_MPIC_WEIRD is not set
150# CONFIG_PPC_I8259 is not set 170# CONFIG_PPC_I8259 is not set
@@ -155,7 +175,6 @@ CONFIG_MPC834x=y
155# CONFIG_PPC_INDIRECT_IO is not set 175# CONFIG_PPC_INDIRECT_IO is not set
156# CONFIG_GENERIC_IOMAP is not set 176# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 177# CONFIG_CPU_FREQ is not set
158# CONFIG_CPM2 is not set
159# CONFIG_FSL_ULI1575 is not set 178# CONFIG_FSL_ULI1575 is not set
160 179
161# 180#
@@ -171,12 +190,16 @@ CONFIG_HZ_250=y
171# CONFIG_HZ_300 is not set 190# CONFIG_HZ_300 is not set
172# CONFIG_HZ_1000 is not set 191# CONFIG_HZ_1000 is not set
173CONFIG_HZ=250 192CONFIG_HZ=250
193# CONFIG_SCHED_HRTICK is not set
174CONFIG_PREEMPT_NONE=y 194CONFIG_PREEMPT_NONE=y
175# CONFIG_PREEMPT_VOLUNTARY is not set 195# CONFIG_PREEMPT_VOLUNTARY is not set
176# CONFIG_PREEMPT is not set 196# CONFIG_PREEMPT is not set
177CONFIG_BINFMT_ELF=y 197CONFIG_BINFMT_ELF=y
178# CONFIG_BINFMT_MISC is not set 198# CONFIG_BINFMT_MISC is not set
199# CONFIG_IOMMU_HELPER is not set
179CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
180CONFIG_ARCH_FLATMEM_ENABLE=y 203CONFIG_ARCH_FLATMEM_ENABLE=y
181CONFIG_ARCH_POPULATES_NODE_MAP=y 204CONFIG_ARCH_POPULATES_NODE_MAP=y
182CONFIG_SELECT_MEMORY_MODEL=y 205CONFIG_SELECT_MEMORY_MODEL=y
@@ -195,11 +218,7 @@ CONFIG_VIRT_TO_BUS=y
195CONFIG_PROC_DEVICETREE=y 218CONFIG_PROC_DEVICETREE=y
196# CONFIG_CMDLINE_BOOL is not set 219# CONFIG_CMDLINE_BOOL is not set
197# CONFIG_PM is not set 220# CONFIG_PM is not set
198CONFIG_SUSPEND_UP_POSSIBLE=y
199CONFIG_HIBERNATION_UP_POSSIBLE=y
200CONFIG_SECCOMP=y 221CONFIG_SECCOMP=y
201CONFIG_WANT_DEVICE_TREE=y
202CONFIG_DEVICE_TREE=""
203CONFIG_ISA_DMA_API=y 222CONFIG_ISA_DMA_API=y
204 223
205# 224#
@@ -248,6 +267,7 @@ CONFIG_XFRM=y
248# CONFIG_XFRM_USER is not set 267# CONFIG_XFRM_USER is not set
249# CONFIG_XFRM_SUB_POLICY is not set 268# CONFIG_XFRM_SUB_POLICY is not set
250# CONFIG_XFRM_MIGRATE is not set 269# CONFIG_XFRM_MIGRATE is not set
270# CONFIG_XFRM_STATISTICS is not set
251# CONFIG_NET_KEY is not set 271# CONFIG_NET_KEY is not set
252CONFIG_INET=y 272CONFIG_INET=y
253CONFIG_IP_MULTICAST=y 273CONFIG_IP_MULTICAST=y
@@ -303,6 +323,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
303# 323#
304# CONFIG_NET_PKTGEN is not set 324# CONFIG_NET_PKTGEN is not set
305# CONFIG_HAMRADIO is not set 325# CONFIG_HAMRADIO is not set
326# CONFIG_CAN is not set
306# CONFIG_IRDA is not set 327# CONFIG_IRDA is not set
307# CONFIG_BT is not set 328# CONFIG_BT is not set
308# CONFIG_AF_RXRPC is not set 329# CONFIG_AF_RXRPC is not set
@@ -427,7 +448,7 @@ CONFIG_BLK_DEV_LOOP=y
427CONFIG_BLK_DEV_RAM=y 448CONFIG_BLK_DEV_RAM=y
428CONFIG_BLK_DEV_RAM_COUNT=16 449CONFIG_BLK_DEV_RAM_COUNT=16
429CONFIG_BLK_DEV_RAM_SIZE=32768 450CONFIG_BLK_DEV_RAM_SIZE=32768
430CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 451# CONFIG_BLK_DEV_XIP is not set
431# CONFIG_CDROM_PKTCDVD is not set 452# CONFIG_CDROM_PKTCDVD is not set
432# CONFIG_ATA_OVER_ETH is not set 453# CONFIG_ATA_OVER_ETH is not set
433CONFIG_MISC_DEVICES=y 454CONFIG_MISC_DEVICES=y
@@ -435,6 +456,8 @@ CONFIG_MISC_DEVICES=y
435# CONFIG_EEPROM_93CX6 is not set 456# CONFIG_EEPROM_93CX6 is not set
436# CONFIG_SGI_IOC4 is not set 457# CONFIG_SGI_IOC4 is not set
437# CONFIG_TIFM_CORE is not set 458# CONFIG_TIFM_CORE is not set
459# CONFIG_ENCLOSURE_SERVICES is not set
460CONFIG_HAVE_IDE=y
438# CONFIG_IDE is not set 461# CONFIG_IDE is not set
439 462
440# 463#
@@ -499,6 +522,7 @@ CONFIG_SCSI_LOWLEVEL=y
499# CONFIG_SCSI_IPS is not set 522# CONFIG_SCSI_IPS is not set
500# CONFIG_SCSI_INITIO is not set 523# CONFIG_SCSI_INITIO is not set
501# CONFIG_SCSI_INIA100 is not set 524# CONFIG_SCSI_INIA100 is not set
525# CONFIG_SCSI_MVSAS is not set
502# CONFIG_SCSI_STEX is not set 526# CONFIG_SCSI_STEX is not set
503# CONFIG_SCSI_SYM53C8XX_2 is not set 527# CONFIG_SCSI_SYM53C8XX_2 is not set
504# CONFIG_SCSI_QLOGIC_1280 is not set 528# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -529,7 +553,6 @@ CONFIG_NETDEVICES=y
529# CONFIG_EQUALIZER is not set 553# CONFIG_EQUALIZER is not set
530# CONFIG_TUN is not set 554# CONFIG_TUN is not set
531# CONFIG_VETH is not set 555# CONFIG_VETH is not set
532# CONFIG_IP1000 is not set
533# CONFIG_ARCNET is not set 556# CONFIG_ARCNET is not set
534CONFIG_PHYLIB=y 557CONFIG_PHYLIB=y
535 558
@@ -545,6 +568,7 @@ CONFIG_CICADA_PHY=y
545# CONFIG_SMSC_PHY is not set 568# CONFIG_SMSC_PHY is not set
546# CONFIG_BROADCOM_PHY is not set 569# CONFIG_BROADCOM_PHY is not set
547# CONFIG_ICPLUS_PHY is not set 570# CONFIG_ICPLUS_PHY is not set
571# CONFIG_REALTEK_PHY is not set
548# CONFIG_FIXED_PHY is not set 572# CONFIG_FIXED_PHY is not set
549# CONFIG_MDIO_BITBANG is not set 573# CONFIG_MDIO_BITBANG is not set
550# CONFIG_NET_ETHERNET is not set 574# CONFIG_NET_ETHERNET is not set
@@ -553,6 +577,9 @@ CONFIG_NETDEV_1000=y
553# CONFIG_DL2K is not set 577# CONFIG_DL2K is not set
554# CONFIG_E1000 is not set 578# CONFIG_E1000 is not set
555# CONFIG_E1000E is not set 579# CONFIG_E1000E is not set
580# CONFIG_E1000E_ENABLED is not set
581# CONFIG_IP1000 is not set
582# CONFIG_IGB is not set
556# CONFIG_NS83820 is not set 583# CONFIG_NS83820 is not set
557# CONFIG_HAMACHI is not set 584# CONFIG_HAMACHI is not set
558# CONFIG_YELLOWFIN is not set 585# CONFIG_YELLOWFIN is not set
@@ -579,6 +606,7 @@ CONFIG_NETDEV_10000=y
579# CONFIG_NIU is not set 606# CONFIG_NIU is not set
580# CONFIG_MLX4_CORE is not set 607# CONFIG_MLX4_CORE is not set
581# CONFIG_TEHUTI is not set 608# CONFIG_TEHUTI is not set
609# CONFIG_BNX2X is not set
582# CONFIG_TR is not set 610# CONFIG_TR is not set
583 611
584# 612#
@@ -601,7 +629,6 @@ CONFIG_NETDEV_10000=y
601# CONFIG_PPP is not set 629# CONFIG_PPP is not set
602# CONFIG_SLIP is not set 630# CONFIG_SLIP is not set
603# CONFIG_NET_FC is not set 631# CONFIG_NET_FC is not set
604# CONFIG_SHAPER is not set
605# CONFIG_NETCONSOLE is not set 632# CONFIG_NETCONSOLE is not set
606# CONFIG_NETPOLL is not set 633# CONFIG_NETPOLL is not set
607# CONFIG_NET_POLL_CONTROLLER is not set 634# CONFIG_NET_POLL_CONTROLLER is not set
@@ -624,6 +651,7 @@ CONFIG_NETDEV_10000=y
624# 651#
625# CONFIG_VT is not set 652# CONFIG_VT is not set
626# CONFIG_SERIAL_NONSTANDARD is not set 653# CONFIG_SERIAL_NONSTANDARD is not set
654# CONFIG_NOZOMI is not set
627 655
628# 656#
629# Serial drivers 657# Serial drivers
@@ -697,14 +725,12 @@ CONFIG_I2C_MPC=y
697# 725#
698# Miscellaneous I2C Chip support 726# Miscellaneous I2C Chip support
699# 727#
700# CONFIG_SENSORS_DS1337 is not set
701# CONFIG_SENSORS_DS1374 is not set
702# CONFIG_DS1682 is not set 728# CONFIG_DS1682 is not set
703# CONFIG_SENSORS_EEPROM is not set 729# CONFIG_SENSORS_EEPROM is not set
704CONFIG_SENSORS_PCF8574=y 730CONFIG_SENSORS_PCF8574=y
705# CONFIG_SENSORS_PCA9539 is not set 731# CONFIG_PCF8575 is not set
706# CONFIG_SENSORS_PCF8591 is not set 732# CONFIG_SENSORS_PCF8591 is not set
707# CONFIG_SENSORS_M41T00 is not set 733# CONFIG_TPS65010 is not set
708# CONFIG_SENSORS_MAX6875 is not set 734# CONFIG_SENSORS_MAX6875 is not set
709# CONFIG_SENSORS_TSL2550 is not set 735# CONFIG_SENSORS_TSL2550 is not set
710# CONFIG_I2C_DEBUG_CORE is not set 736# CONFIG_I2C_DEBUG_CORE is not set
@@ -733,6 +759,7 @@ CONFIG_SPI_MPC83xx=y
733# CONFIG_W1 is not set 759# CONFIG_W1 is not set
734# CONFIG_POWER_SUPPLY is not set 760# CONFIG_POWER_SUPPLY is not set
735# CONFIG_HWMON is not set 761# CONFIG_HWMON is not set
762# CONFIG_THERMAL is not set
736CONFIG_WATCHDOG=y 763CONFIG_WATCHDOG=y
737# CONFIG_WATCHDOG_NOWAYOUT is not set 764# CONFIG_WATCHDOG_NOWAYOUT is not set
738 765
@@ -797,6 +824,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
797CONFIG_USB_ARCH_HAS_EHCI=y 824CONFIG_USB_ARCH_HAS_EHCI=y
798CONFIG_USB=y 825CONFIG_USB=y
799# CONFIG_USB_DEBUG is not set 826# CONFIG_USB_DEBUG is not set
827# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
800 828
801# 829#
802# Miscellaneous USB options 830# Miscellaneous USB options
@@ -810,10 +838,10 @@ CONFIG_USB_DEVICE_CLASS=y
810# USB Host Controller Drivers 838# USB Host Controller Drivers
811# 839#
812CONFIG_USB_EHCI_HCD=y 840CONFIG_USB_EHCI_HCD=y
813# CONFIG_USB_EHCI_SPLIT_ISO is not set
814CONFIG_USB_EHCI_ROOT_HUB_TT=y 841CONFIG_USB_EHCI_ROOT_HUB_TT=y
815# CONFIG_USB_EHCI_TT_NEWSCHED is not set 842# CONFIG_USB_EHCI_TT_NEWSCHED is not set
816CONFIG_USB_EHCI_FSL=y 843CONFIG_USB_EHCI_FSL=y
844CONFIG_USB_EHCI_HCD_PPC_OF=y
817# CONFIG_USB_ISP116X_HCD is not set 845# CONFIG_USB_ISP116X_HCD is not set
818# CONFIG_USB_OHCI_HCD is not set 846# CONFIG_USB_OHCI_HCD is not set
819CONFIG_USB_UHCI_HCD=y 847CONFIG_USB_UHCI_HCD=y
@@ -857,10 +885,6 @@ CONFIG_USB_MON=y
857# 885#
858# USB port drivers 886# USB port drivers
859# 887#
860
861#
862# USB Serial Converter support
863#
864# CONFIG_USB_SERIAL is not set 888# CONFIG_USB_SERIAL is not set
865 889
866# 890#
@@ -885,16 +909,9 @@ CONFIG_USB_MON=y
885# CONFIG_USB_LD is not set 909# CONFIG_USB_LD is not set
886# CONFIG_USB_TRANCEVIBRATOR is not set 910# CONFIG_USB_TRANCEVIBRATOR is not set
887# CONFIG_USB_IOWARRIOR is not set 911# CONFIG_USB_IOWARRIOR is not set
888
889#
890# USB DSL modem support
891#
892
893#
894# USB Gadget Support
895#
896# CONFIG_USB_GADGET is not set 912# CONFIG_USB_GADGET is not set
897# CONFIG_MMC is not set 913# CONFIG_MMC is not set
914# CONFIG_MEMSTICK is not set
898# CONFIG_NEW_LEDS is not set 915# CONFIG_NEW_LEDS is not set
899# CONFIG_INFINIBAND is not set 916# CONFIG_INFINIBAND is not set
900# CONFIG_EDAC is not set 917# CONFIG_EDAC is not set
@@ -926,20 +943,23 @@ CONFIG_RTC_DRV_DS1307=y
926# CONFIG_RTC_DRV_PCF8563 is not set 943# CONFIG_RTC_DRV_PCF8563 is not set
927# CONFIG_RTC_DRV_PCF8583 is not set 944# CONFIG_RTC_DRV_PCF8583 is not set
928# CONFIG_RTC_DRV_M41T80 is not set 945# CONFIG_RTC_DRV_M41T80 is not set
946# CONFIG_RTC_DRV_S35390A is not set
929 947
930# 948#
931# SPI RTC drivers 949# SPI RTC drivers
932# 950#
933# CONFIG_RTC_DRV_RS5C348 is not set
934# CONFIG_RTC_DRV_MAX6902 is not set 951# CONFIG_RTC_DRV_MAX6902 is not set
952# CONFIG_RTC_DRV_R9701 is not set
953# CONFIG_RTC_DRV_RS5C348 is not set
935 954
936# 955#
937# Platform RTC drivers 956# Platform RTC drivers
938# 957#
939# CONFIG_RTC_DRV_CMOS is not set 958# CONFIG_RTC_DRV_CMOS is not set
959# CONFIG_RTC_DRV_DS1511 is not set
940# CONFIG_RTC_DRV_DS1553 is not set 960# CONFIG_RTC_DRV_DS1553 is not set
941# CONFIG_RTC_DRV_STK17TA8 is not set
942# CONFIG_RTC_DRV_DS1742 is not set 961# CONFIG_RTC_DRV_DS1742 is not set
962# CONFIG_RTC_DRV_STK17TA8 is not set
943# CONFIG_RTC_DRV_M48T86 is not set 963# CONFIG_RTC_DRV_M48T86 is not set
944# CONFIG_RTC_DRV_M48T59 is not set 964# CONFIG_RTC_DRV_M48T59 is not set
945# CONFIG_RTC_DRV_V3020 is not set 965# CONFIG_RTC_DRV_V3020 is not set
@@ -947,6 +967,7 @@ CONFIG_RTC_DRV_DS1307=y
947# 967#
948# on-CPU RTC drivers 968# on-CPU RTC drivers
949# 969#
970# CONFIG_DMADEVICES is not set
950 971
951# 972#
952# Userspace I/O 973# Userspace I/O
@@ -972,12 +993,10 @@ CONFIG_FS_MBCACHE=y
972# CONFIG_XFS_FS is not set 993# CONFIG_XFS_FS is not set
973# CONFIG_GFS2_FS is not set 994# CONFIG_GFS2_FS is not set
974# CONFIG_OCFS2_FS is not set 995# CONFIG_OCFS2_FS is not set
975# CONFIG_MINIX_FS is not set 996CONFIG_DNOTIFY=y
976# CONFIG_ROMFS_FS is not set
977CONFIG_INOTIFY=y 997CONFIG_INOTIFY=y
978CONFIG_INOTIFY_USER=y 998CONFIG_INOTIFY_USER=y
979# CONFIG_QUOTA is not set 999# CONFIG_QUOTA is not set
980CONFIG_DNOTIFY=y
981# CONFIG_AUTOFS_FS is not set 1000# CONFIG_AUTOFS_FS is not set
982# CONFIG_AUTOFS4_FS is not set 1001# CONFIG_AUTOFS4_FS is not set
983# CONFIG_FUSE_FS is not set 1002# CONFIG_FUSE_FS is not set
@@ -1023,8 +1042,10 @@ CONFIG_TMPFS=y
1023# CONFIG_JFFS2_FS is not set 1042# CONFIG_JFFS2_FS is not set
1024# CONFIG_CRAMFS is not set 1043# CONFIG_CRAMFS is not set
1025# CONFIG_VXFS_FS is not set 1044# CONFIG_VXFS_FS is not set
1045# CONFIG_MINIX_FS is not set
1026# CONFIG_HPFS_FS is not set 1046# CONFIG_HPFS_FS is not set
1027# CONFIG_QNX4FS_FS is not set 1047# CONFIG_QNX4FS_FS is not set
1048# CONFIG_ROMFS_FS is not set
1028# CONFIG_SYSV_FS is not set 1049# CONFIG_SYSV_FS is not set
1029# CONFIG_UFS_FS is not set 1050# CONFIG_UFS_FS is not set
1030CONFIG_NETWORK_FILESYSTEMS=y 1051CONFIG_NETWORK_FILESYSTEMS=y
@@ -1111,7 +1132,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1111# CONFIG_NLS_KOI8_U is not set 1132# CONFIG_NLS_KOI8_U is not set
1112# CONFIG_NLS_UTF8 is not set 1133# CONFIG_NLS_UTF8 is not set
1113# CONFIG_DLM is not set 1134# CONFIG_DLM is not set
1114# CONFIG_UCC_SLOW is not set
1115 1135
1116# 1136#
1117# Library routines 1137# Library routines
@@ -1127,7 +1147,6 @@ CONFIG_PLIST=y
1127CONFIG_HAS_IOMEM=y 1147CONFIG_HAS_IOMEM=y
1128CONFIG_HAS_IOPORT=y 1148CONFIG_HAS_IOPORT=y
1129CONFIG_HAS_DMA=y 1149CONFIG_HAS_DMA=y
1130# CONFIG_INSTRUMENTATION is not set
1131 1150
1132# 1151#
1133# Kernel hacking 1152# Kernel hacking
@@ -1141,6 +1160,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1141# CONFIG_HEADERS_CHECK is not set 1160# CONFIG_HEADERS_CHECK is not set
1142# CONFIG_DEBUG_KERNEL is not set 1161# CONFIG_DEBUG_KERNEL is not set
1143# CONFIG_SLUB_DEBUG_ON is not set 1162# CONFIG_SLUB_DEBUG_ON is not set
1163# CONFIG_SLUB_STATS is not set
1144# CONFIG_DEBUG_BUGVERBOSE is not set 1164# CONFIG_DEBUG_BUGVERBOSE is not set
1145# CONFIG_SAMPLES is not set 1165# CONFIG_SAMPLES is not set
1146# CONFIG_PPC_EARLY_DEBUG is not set 1166# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1154,6 +1174,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1154CONFIG_CRYPTO=y 1174CONFIG_CRYPTO=y
1155CONFIG_CRYPTO_ALGAPI=y 1175CONFIG_CRYPTO_ALGAPI=y
1156CONFIG_CRYPTO_BLKCIPHER=y 1176CONFIG_CRYPTO_BLKCIPHER=y
1177# CONFIG_CRYPTO_SEQIV is not set
1157CONFIG_CRYPTO_MANAGER=y 1178CONFIG_CRYPTO_MANAGER=y
1158# CONFIG_CRYPTO_HMAC is not set 1179# CONFIG_CRYPTO_HMAC is not set
1159# CONFIG_CRYPTO_XCBC is not set 1180# CONFIG_CRYPTO_XCBC is not set
@@ -1171,6 +1192,9 @@ CONFIG_CRYPTO_CBC=y
1171CONFIG_CRYPTO_PCBC=m 1192CONFIG_CRYPTO_PCBC=m
1172# CONFIG_CRYPTO_LRW is not set 1193# CONFIG_CRYPTO_LRW is not set
1173# CONFIG_CRYPTO_XTS is not set 1194# CONFIG_CRYPTO_XTS is not set
1195# CONFIG_CRYPTO_CTR is not set
1196# CONFIG_CRYPTO_GCM is not set
1197# CONFIG_CRYPTO_CCM is not set
1174# CONFIG_CRYPTO_CRYPTD is not set 1198# CONFIG_CRYPTO_CRYPTD is not set
1175CONFIG_CRYPTO_DES=y 1199CONFIG_CRYPTO_DES=y
1176# CONFIG_CRYPTO_FCRYPT is not set 1200# CONFIG_CRYPTO_FCRYPT is not set
@@ -1185,11 +1209,14 @@ CONFIG_CRYPTO_DES=y
1185# CONFIG_CRYPTO_KHAZAD is not set 1209# CONFIG_CRYPTO_KHAZAD is not set
1186# CONFIG_CRYPTO_ANUBIS is not set 1210# CONFIG_CRYPTO_ANUBIS is not set
1187# CONFIG_CRYPTO_SEED is not set 1211# CONFIG_CRYPTO_SEED is not set
1212# CONFIG_CRYPTO_SALSA20 is not set
1188# CONFIG_CRYPTO_DEFLATE is not set 1213# CONFIG_CRYPTO_DEFLATE is not set
1189# CONFIG_CRYPTO_MICHAEL_MIC is not set 1214# CONFIG_CRYPTO_MICHAEL_MIC is not set
1190# CONFIG_CRYPTO_CRC32C is not set 1215# CONFIG_CRYPTO_CRC32C is not set
1191# CONFIG_CRYPTO_CAMELLIA is not set 1216# CONFIG_CRYPTO_CAMELLIA is not set
1192# CONFIG_CRYPTO_TEST is not set 1217# CONFIG_CRYPTO_TEST is not set
1193# CONFIG_CRYPTO_AUTHENC is not set 1218# CONFIG_CRYPTO_AUTHENC is not set
1219# CONFIG_CRYPTO_LZO is not set
1194CONFIG_CRYPTO_HW=y 1220CONFIG_CRYPTO_HW=y
1221# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1195# CONFIG_PPC_CLOCK is not set 1222# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc834x_mds_defconfig b/arch/powerpc/configs/mpc834x_mds_defconfig
index 217539f3ece..9360144942f 100644
--- a/arch/powerpc/configs/mpc834x_mds_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:41 2007 4# Mon Mar 24 08:48:20 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -86,11 +91,13 @@ CONFIG_HOTPLUG=y
86CONFIG_PRINTK=y 91CONFIG_PRINTK=y
87CONFIG_BUG=y 92CONFIG_BUG=y
88CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
89CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 96CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
92# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 102CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -98,6 +105,13 @@ CONFIG_SLUB_DEBUG=y
98# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
99CONFIG_SLUB=y 106CONFIG_SLUB=y
100# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y
113CONFIG_PROC_PAGE_MONITOR=y
114CONFIG_SLABINFO=y
101CONFIG_RT_MUTEXES=y 115CONFIG_RT_MUTEXES=y
102# CONFIG_TINY_SHMEM is not set 116# CONFIG_TINY_SHMEM is not set
103CONFIG_BASE_SMALL=0 117CONFIG_BASE_SMALL=0
@@ -125,6 +139,7 @@ CONFIG_DEFAULT_AS=y
125# CONFIG_DEFAULT_CFQ is not set 139# CONFIG_DEFAULT_CFQ is not set
126# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
127CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
128 143
129# 144#
130# Platform support 145# Platform support
@@ -133,18 +148,23 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
133# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
134CONFIG_PPC_83xx=y 149CONFIG_PPC_83xx=y
135# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
136# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC512x is not set
137# CONFIG_PPC_MPC5200 is not set 152# CONFIG_PPC_MPC5121 is not set
138# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set 155# CONFIG_PQ2ADS is not set
141# CONFIG_MPC8313_RDB is not set 156CONFIG_MPC83xx=y
157# CONFIG_MPC831x_RDB is not set
142# CONFIG_MPC832x_MDS is not set 158# CONFIG_MPC832x_MDS is not set
143# CONFIG_MPC832x_RDB is not set 159# CONFIG_MPC832x_RDB is not set
144CONFIG_MPC834x_MDS=y 160CONFIG_MPC834x_MDS=y
145# CONFIG_MPC834x_ITX is not set 161# CONFIG_MPC834x_ITX is not set
146# CONFIG_MPC836x_MDS is not set 162# CONFIG_MPC836x_MDS is not set
147CONFIG_MPC834x=y 163# CONFIG_MPC837x_MDS is not set
164# CONFIG_MPC837x_RDB is not set
165# CONFIG_SBC834x is not set
166CONFIG_PPC_MPC834x=y
167CONFIG_IPIC=y
148# CONFIG_MPIC is not set 168# CONFIG_MPIC is not set
149# CONFIG_MPIC_WEIRD is not set 169# CONFIG_MPIC_WEIRD is not set
150# CONFIG_PPC_I8259 is not set 170# CONFIG_PPC_I8259 is not set
@@ -155,7 +175,6 @@ CONFIG_MPC834x=y
155# CONFIG_PPC_INDIRECT_IO is not set 175# CONFIG_PPC_INDIRECT_IO is not set
156# CONFIG_GENERIC_IOMAP is not set 176# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 177# CONFIG_CPU_FREQ is not set
158# CONFIG_CPM2 is not set
159# CONFIG_FSL_ULI1575 is not set 178# CONFIG_FSL_ULI1575 is not set
160 179
161# 180#
@@ -171,12 +190,16 @@ CONFIG_HZ_250=y
171# CONFIG_HZ_300 is not set 190# CONFIG_HZ_300 is not set
172# CONFIG_HZ_1000 is not set 191# CONFIG_HZ_1000 is not set
173CONFIG_HZ=250 192CONFIG_HZ=250
193# CONFIG_SCHED_HRTICK is not set
174CONFIG_PREEMPT_NONE=y 194CONFIG_PREEMPT_NONE=y
175# CONFIG_PREEMPT_VOLUNTARY is not set 195# CONFIG_PREEMPT_VOLUNTARY is not set
176# CONFIG_PREEMPT is not set 196# CONFIG_PREEMPT is not set
177CONFIG_BINFMT_ELF=y 197CONFIG_BINFMT_ELF=y
178# CONFIG_BINFMT_MISC is not set 198# CONFIG_BINFMT_MISC is not set
199# CONFIG_IOMMU_HELPER is not set
179CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
180CONFIG_ARCH_FLATMEM_ENABLE=y 203CONFIG_ARCH_FLATMEM_ENABLE=y
181CONFIG_ARCH_POPULATES_NODE_MAP=y 204CONFIG_ARCH_POPULATES_NODE_MAP=y
182CONFIG_SELECT_MEMORY_MODEL=y 205CONFIG_SELECT_MEMORY_MODEL=y
@@ -195,11 +218,7 @@ CONFIG_VIRT_TO_BUS=y
195CONFIG_PROC_DEVICETREE=y 218CONFIG_PROC_DEVICETREE=y
196# CONFIG_CMDLINE_BOOL is not set 219# CONFIG_CMDLINE_BOOL is not set
197# CONFIG_PM is not set 220# CONFIG_PM is not set
198CONFIG_SUSPEND_UP_POSSIBLE=y
199CONFIG_HIBERNATION_UP_POSSIBLE=y
200CONFIG_SECCOMP=y 221CONFIG_SECCOMP=y
201CONFIG_WANT_DEVICE_TREE=y
202CONFIG_DEVICE_TREE=""
203CONFIG_ISA_DMA_API=y 222CONFIG_ISA_DMA_API=y
204 223
205# 224#
@@ -248,6 +267,7 @@ CONFIG_XFRM=y
248CONFIG_XFRM_USER=m 267CONFIG_XFRM_USER=m
249# CONFIG_XFRM_SUB_POLICY is not set 268# CONFIG_XFRM_SUB_POLICY is not set
250# CONFIG_XFRM_MIGRATE is not set 269# CONFIG_XFRM_MIGRATE is not set
270# CONFIG_XFRM_STATISTICS is not set
251# CONFIG_NET_KEY is not set 271# CONFIG_NET_KEY is not set
252CONFIG_INET=y 272CONFIG_INET=y
253CONFIG_IP_MULTICAST=y 273CONFIG_IP_MULTICAST=y
@@ -303,6 +323,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
303# 323#
304# CONFIG_NET_PKTGEN is not set 324# CONFIG_NET_PKTGEN is not set
305# CONFIG_HAMRADIO is not set 325# CONFIG_HAMRADIO is not set
326# CONFIG_CAN is not set
306# CONFIG_IRDA is not set 327# CONFIG_IRDA is not set
307# CONFIG_BT is not set 328# CONFIG_BT is not set
308# CONFIG_AF_RXRPC is not set 329# CONFIG_AF_RXRPC is not set
@@ -347,7 +368,7 @@ CONFIG_BLK_DEV_LOOP=y
347CONFIG_BLK_DEV_RAM=y 368CONFIG_BLK_DEV_RAM=y
348CONFIG_BLK_DEV_RAM_COUNT=16 369CONFIG_BLK_DEV_RAM_COUNT=16
349CONFIG_BLK_DEV_RAM_SIZE=32768 370CONFIG_BLK_DEV_RAM_SIZE=32768
350CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 371# CONFIG_BLK_DEV_XIP is not set
351# CONFIG_CDROM_PKTCDVD is not set 372# CONFIG_CDROM_PKTCDVD is not set
352# CONFIG_ATA_OVER_ETH is not set 373# CONFIG_ATA_OVER_ETH is not set
353CONFIG_MISC_DEVICES=y 374CONFIG_MISC_DEVICES=y
@@ -355,6 +376,8 @@ CONFIG_MISC_DEVICES=y
355# CONFIG_EEPROM_93CX6 is not set 376# CONFIG_EEPROM_93CX6 is not set
356# CONFIG_SGI_IOC4 is not set 377# CONFIG_SGI_IOC4 is not set
357# CONFIG_TIFM_CORE is not set 378# CONFIG_TIFM_CORE is not set
379# CONFIG_ENCLOSURE_SERVICES is not set
380CONFIG_HAVE_IDE=y
358# CONFIG_IDE is not set 381# CONFIG_IDE is not set
359 382
360# 383#
@@ -383,7 +406,6 @@ CONFIG_NETDEVICES=y
383# CONFIG_EQUALIZER is not set 406# CONFIG_EQUALIZER is not set
384# CONFIG_TUN is not set 407# CONFIG_TUN is not set
385# CONFIG_VETH is not set 408# CONFIG_VETH is not set
386# CONFIG_IP1000 is not set
387# CONFIG_ARCNET is not set 409# CONFIG_ARCNET is not set
388CONFIG_PHYLIB=y 410CONFIG_PHYLIB=y
389 411
@@ -399,6 +421,7 @@ CONFIG_MARVELL_PHY=y
399# CONFIG_SMSC_PHY is not set 421# CONFIG_SMSC_PHY is not set
400# CONFIG_BROADCOM_PHY is not set 422# CONFIG_BROADCOM_PHY is not set
401# CONFIG_ICPLUS_PHY is not set 423# CONFIG_ICPLUS_PHY is not set
424# CONFIG_REALTEK_PHY is not set
402# CONFIG_FIXED_PHY is not set 425# CONFIG_FIXED_PHY is not set
403# CONFIG_MDIO_BITBANG is not set 426# CONFIG_MDIO_BITBANG is not set
404CONFIG_NET_ETHERNET=y 427CONFIG_NET_ETHERNET=y
@@ -426,6 +449,7 @@ CONFIG_E100=y
426# CONFIG_NE2K_PCI is not set 449# CONFIG_NE2K_PCI is not set
427# CONFIG_8139CP is not set 450# CONFIG_8139CP is not set
428# CONFIG_8139TOO is not set 451# CONFIG_8139TOO is not set
452# CONFIG_R6040 is not set
429# CONFIG_SIS900 is not set 453# CONFIG_SIS900 is not set
430# CONFIG_EPIC100 is not set 454# CONFIG_EPIC100 is not set
431# CONFIG_SUNDANCE is not set 455# CONFIG_SUNDANCE is not set
@@ -437,6 +461,9 @@ CONFIG_NETDEV_1000=y
437# CONFIG_DL2K is not set 461# CONFIG_DL2K is not set
438# CONFIG_E1000 is not set 462# CONFIG_E1000 is not set
439# CONFIG_E1000E is not set 463# CONFIG_E1000E is not set
464# CONFIG_E1000E_ENABLED is not set
465# CONFIG_IP1000 is not set
466# CONFIG_IGB is not set
440# CONFIG_NS83820 is not set 467# CONFIG_NS83820 is not set
441# CONFIG_HAMACHI is not set 468# CONFIG_HAMACHI is not set
442# CONFIG_YELLOWFIN is not set 469# CONFIG_YELLOWFIN is not set
@@ -463,6 +490,7 @@ CONFIG_NETDEV_10000=y
463# CONFIG_NIU is not set 490# CONFIG_NIU is not set
464# CONFIG_MLX4_CORE is not set 491# CONFIG_MLX4_CORE is not set
465# CONFIG_TEHUTI is not set 492# CONFIG_TEHUTI is not set
493# CONFIG_BNX2X is not set
466# CONFIG_TR is not set 494# CONFIG_TR is not set
467 495
468# 496#
@@ -475,7 +503,6 @@ CONFIG_NETDEV_10000=y
475# CONFIG_HIPPI is not set 503# CONFIG_HIPPI is not set
476# CONFIG_PPP is not set 504# CONFIG_PPP is not set
477# CONFIG_SLIP is not set 505# CONFIG_SLIP is not set
478# CONFIG_SHAPER is not set
479# CONFIG_NETCONSOLE is not set 506# CONFIG_NETCONSOLE is not set
480# CONFIG_NETPOLL is not set 507# CONFIG_NETPOLL is not set
481# CONFIG_NET_POLL_CONTROLLER is not set 508# CONFIG_NET_POLL_CONTROLLER is not set
@@ -518,6 +545,7 @@ CONFIG_INPUT=y
518# 545#
519# CONFIG_VT is not set 546# CONFIG_VT is not set
520# CONFIG_SERIAL_NONSTANDARD is not set 547# CONFIG_SERIAL_NONSTANDARD is not set
548# CONFIG_NOZOMI is not set
521 549
522# 550#
523# Serial drivers 551# Serial drivers
@@ -591,14 +619,12 @@ CONFIG_I2C_MPC=y
591# 619#
592# Miscellaneous I2C Chip support 620# Miscellaneous I2C Chip support
593# 621#
594# CONFIG_SENSORS_DS1337 is not set
595# CONFIG_SENSORS_DS1374 is not set
596# CONFIG_DS1682 is not set 622# CONFIG_DS1682 is not set
597# CONFIG_SENSORS_EEPROM is not set 623# CONFIG_SENSORS_EEPROM is not set
598# CONFIG_SENSORS_PCF8574 is not set 624# CONFIG_SENSORS_PCF8574 is not set
599# CONFIG_SENSORS_PCA9539 is not set 625# CONFIG_PCF8575 is not set
600# CONFIG_SENSORS_PCF8591 is not set 626# CONFIG_SENSORS_PCF8591 is not set
601# CONFIG_SENSORS_M41T00 is not set 627# CONFIG_TPS65010 is not set
602# CONFIG_SENSORS_MAX6875 is not set 628# CONFIG_SENSORS_MAX6875 is not set
603# CONFIG_SENSORS_TSL2550 is not set 629# CONFIG_SENSORS_TSL2550 is not set
604# CONFIG_I2C_DEBUG_CORE is not set 630# CONFIG_I2C_DEBUG_CORE is not set
@@ -623,6 +649,7 @@ CONFIG_HWMON=y
623# CONFIG_SENSORS_ADM1031 is not set 649# CONFIG_SENSORS_ADM1031 is not set
624# CONFIG_SENSORS_ADM9240 is not set 650# CONFIG_SENSORS_ADM9240 is not set
625# CONFIG_SENSORS_ADT7470 is not set 651# CONFIG_SENSORS_ADT7470 is not set
652# CONFIG_SENSORS_ADT7473 is not set
626# CONFIG_SENSORS_ATXP1 is not set 653# CONFIG_SENSORS_ATXP1 is not set
627# CONFIG_SENSORS_DS1621 is not set 654# CONFIG_SENSORS_DS1621 is not set
628# CONFIG_SENSORS_I5K_AMB is not set 655# CONFIG_SENSORS_I5K_AMB is not set
@@ -652,6 +679,7 @@ CONFIG_HWMON=y
652# CONFIG_SENSORS_SMSC47M1 is not set 679# CONFIG_SENSORS_SMSC47M1 is not set
653# CONFIG_SENSORS_SMSC47M192 is not set 680# CONFIG_SENSORS_SMSC47M192 is not set
654# CONFIG_SENSORS_SMSC47B397 is not set 681# CONFIG_SENSORS_SMSC47B397 is not set
682# CONFIG_SENSORS_ADS7828 is not set
655# CONFIG_SENSORS_THMC50 is not set 683# CONFIG_SENSORS_THMC50 is not set
656# CONFIG_SENSORS_VIA686A is not set 684# CONFIG_SENSORS_VIA686A is not set
657# CONFIG_SENSORS_VT1211 is not set 685# CONFIG_SENSORS_VT1211 is not set
@@ -661,9 +689,11 @@ CONFIG_HWMON=y
661# CONFIG_SENSORS_W83792D is not set 689# CONFIG_SENSORS_W83792D is not set
662# CONFIG_SENSORS_W83793 is not set 690# CONFIG_SENSORS_W83793 is not set
663# CONFIG_SENSORS_W83L785TS is not set 691# CONFIG_SENSORS_W83L785TS is not set
692# CONFIG_SENSORS_W83L786NG is not set
664# CONFIG_SENSORS_W83627HF is not set 693# CONFIG_SENSORS_W83627HF is not set
665# CONFIG_SENSORS_W83627EHF is not set 694# CONFIG_SENSORS_W83627EHF is not set
666# CONFIG_HWMON_DEBUG_CHIP is not set 695# CONFIG_HWMON_DEBUG_CHIP is not set
696# CONFIG_THERMAL is not set
667CONFIG_WATCHDOG=y 697CONFIG_WATCHDOG=y
668# CONFIG_WATCHDOG_NOWAYOUT is not set 698# CONFIG_WATCHDOG_NOWAYOUT is not set
669 699
@@ -725,23 +755,22 @@ CONFIG_USB_ARCH_HAS_HCD=y
725CONFIG_USB_ARCH_HAS_OHCI=y 755CONFIG_USB_ARCH_HAS_OHCI=y
726CONFIG_USB_ARCH_HAS_EHCI=y 756CONFIG_USB_ARCH_HAS_EHCI=y
727# CONFIG_USB is not set 757# CONFIG_USB is not set
728CONFIG_USB_EHCI_ROOT_HUB_TT=y
729CONFIG_USB_EHCI_FSL=y
730 758
731# 759#
732# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 760# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
733# 761#
734
735#
736# USB Gadget Support
737#
738# CONFIG_USB_GADGET is not set 762# CONFIG_USB_GADGET is not set
739# CONFIG_MMC is not set 763# CONFIG_MMC is not set
764# CONFIG_MEMSTICK is not set
740# CONFIG_NEW_LEDS is not set 765# CONFIG_NEW_LEDS is not set
741# CONFIG_INFINIBAND is not set 766# CONFIG_INFINIBAND is not set
742# CONFIG_EDAC is not set 767# CONFIG_EDAC is not set
743CONFIG_RTC_LIB=y 768CONFIG_RTC_LIB=y
744CONFIG_RTC_CLASS=y 769CONFIG_RTC_CLASS=y
770
771#
772# Conflicting RTC option has been selected, check GEN_RTC and RTC
773#
745CONFIG_RTC_HCTOSYS=y 774CONFIG_RTC_HCTOSYS=y
746CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 775CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
747# CONFIG_RTC_DEBUG is not set 776# CONFIG_RTC_DEBUG is not set
@@ -768,6 +797,7 @@ CONFIG_RTC_DRV_DS1374=y
768# CONFIG_RTC_DRV_PCF8563 is not set 797# CONFIG_RTC_DRV_PCF8563 is not set
769# CONFIG_RTC_DRV_PCF8583 is not set 798# CONFIG_RTC_DRV_PCF8583 is not set
770# CONFIG_RTC_DRV_M41T80 is not set 799# CONFIG_RTC_DRV_M41T80 is not set
800# CONFIG_RTC_DRV_S35390A is not set
771 801
772# 802#
773# SPI RTC drivers 803# SPI RTC drivers
@@ -777,9 +807,10 @@ CONFIG_RTC_DRV_DS1374=y
777# Platform RTC drivers 807# Platform RTC drivers
778# 808#
779# CONFIG_RTC_DRV_CMOS is not set 809# CONFIG_RTC_DRV_CMOS is not set
810# CONFIG_RTC_DRV_DS1511 is not set
780# CONFIG_RTC_DRV_DS1553 is not set 811# CONFIG_RTC_DRV_DS1553 is not set
781# CONFIG_RTC_DRV_STK17TA8 is not set
782# CONFIG_RTC_DRV_DS1742 is not set 812# CONFIG_RTC_DRV_DS1742 is not set
813# CONFIG_RTC_DRV_STK17TA8 is not set
783# CONFIG_RTC_DRV_M48T86 is not set 814# CONFIG_RTC_DRV_M48T86 is not set
784# CONFIG_RTC_DRV_M48T59 is not set 815# CONFIG_RTC_DRV_M48T59 is not set
785# CONFIG_RTC_DRV_V3020 is not set 816# CONFIG_RTC_DRV_V3020 is not set
@@ -787,6 +818,7 @@ CONFIG_RTC_DRV_DS1374=y
787# 818#
788# on-CPU RTC drivers 819# on-CPU RTC drivers
789# 820#
821# CONFIG_DMADEVICES is not set
790 822
791# 823#
792# Userspace I/O 824# Userspace I/O
@@ -812,12 +844,10 @@ CONFIG_FS_MBCACHE=y
812# CONFIG_XFS_FS is not set 844# CONFIG_XFS_FS is not set
813# CONFIG_GFS2_FS is not set 845# CONFIG_GFS2_FS is not set
814# CONFIG_OCFS2_FS is not set 846# CONFIG_OCFS2_FS is not set
815# CONFIG_MINIX_FS is not set 847CONFIG_DNOTIFY=y
816# CONFIG_ROMFS_FS is not set
817CONFIG_INOTIFY=y 848CONFIG_INOTIFY=y
818CONFIG_INOTIFY_USER=y 849CONFIG_INOTIFY_USER=y
819# CONFIG_QUOTA is not set 850# CONFIG_QUOTA is not set
820CONFIG_DNOTIFY=y
821# CONFIG_AUTOFS_FS is not set 851# CONFIG_AUTOFS_FS is not set
822# CONFIG_AUTOFS4_FS is not set 852# CONFIG_AUTOFS4_FS is not set
823# CONFIG_FUSE_FS is not set 853# CONFIG_FUSE_FS is not set
@@ -859,8 +889,10 @@ CONFIG_TMPFS=y
859# CONFIG_EFS_FS is not set 889# CONFIG_EFS_FS is not set
860# CONFIG_CRAMFS is not set 890# CONFIG_CRAMFS is not set
861# CONFIG_VXFS_FS is not set 891# CONFIG_VXFS_FS is not set
892# CONFIG_MINIX_FS is not set
862# CONFIG_HPFS_FS is not set 893# CONFIG_HPFS_FS is not set
863# CONFIG_QNX4FS_FS is not set 894# CONFIG_QNX4FS_FS is not set
895# CONFIG_ROMFS_FS is not set
864# CONFIG_SYSV_FS is not set 896# CONFIG_SYSV_FS is not set
865# CONFIG_UFS_FS is not set 897# CONFIG_UFS_FS is not set
866CONFIG_NETWORK_FILESYSTEMS=y 898CONFIG_NETWORK_FILESYSTEMS=y
@@ -904,7 +936,6 @@ CONFIG_PARTITION_ADVANCED=y
904# CONFIG_SYSV68_PARTITION is not set 936# CONFIG_SYSV68_PARTITION is not set
905# CONFIG_NLS is not set 937# CONFIG_NLS is not set
906# CONFIG_DLM is not set 938# CONFIG_DLM is not set
907# CONFIG_UCC_SLOW is not set
908 939
909# 940#
910# Library routines 941# Library routines
@@ -920,7 +951,6 @@ CONFIG_PLIST=y
920CONFIG_HAS_IOMEM=y 951CONFIG_HAS_IOMEM=y
921CONFIG_HAS_IOPORT=y 952CONFIG_HAS_IOPORT=y
922CONFIG_HAS_DMA=y 953CONFIG_HAS_DMA=y
923# CONFIG_INSTRUMENTATION is not set
924 954
925# 955#
926# Kernel hacking 956# Kernel hacking
@@ -934,6 +964,7 @@ CONFIG_ENABLE_MUST_CHECK=y
934# CONFIG_HEADERS_CHECK is not set 964# CONFIG_HEADERS_CHECK is not set
935# CONFIG_DEBUG_KERNEL is not set 965# CONFIG_DEBUG_KERNEL is not set
936# CONFIG_SLUB_DEBUG_ON is not set 966# CONFIG_SLUB_DEBUG_ON is not set
967# CONFIG_SLUB_STATS is not set
937# CONFIG_DEBUG_BUGVERBOSE is not set 968# CONFIG_DEBUG_BUGVERBOSE is not set
938# CONFIG_SAMPLES is not set 969# CONFIG_SAMPLES is not set
939# CONFIG_PPC_EARLY_DEBUG is not set 970# CONFIG_PPC_EARLY_DEBUG is not set
@@ -947,6 +978,7 @@ CONFIG_ENABLE_MUST_CHECK=y
947CONFIG_CRYPTO=y 978CONFIG_CRYPTO=y
948CONFIG_CRYPTO_ALGAPI=y 979CONFIG_CRYPTO_ALGAPI=y
949CONFIG_CRYPTO_BLKCIPHER=y 980CONFIG_CRYPTO_BLKCIPHER=y
981# CONFIG_CRYPTO_SEQIV is not set
950CONFIG_CRYPTO_MANAGER=y 982CONFIG_CRYPTO_MANAGER=y
951# CONFIG_CRYPTO_HMAC is not set 983# CONFIG_CRYPTO_HMAC is not set
952# CONFIG_CRYPTO_XCBC is not set 984# CONFIG_CRYPTO_XCBC is not set
@@ -964,6 +996,9 @@ CONFIG_CRYPTO_CBC=y
964CONFIG_CRYPTO_PCBC=m 996CONFIG_CRYPTO_PCBC=m
965# CONFIG_CRYPTO_LRW is not set 997# CONFIG_CRYPTO_LRW is not set
966# CONFIG_CRYPTO_XTS is not set 998# CONFIG_CRYPTO_XTS is not set
999# CONFIG_CRYPTO_CTR is not set
1000# CONFIG_CRYPTO_GCM is not set
1001# CONFIG_CRYPTO_CCM is not set
967# CONFIG_CRYPTO_CRYPTD is not set 1002# CONFIG_CRYPTO_CRYPTD is not set
968CONFIG_CRYPTO_DES=y 1003CONFIG_CRYPTO_DES=y
969# CONFIG_CRYPTO_FCRYPT is not set 1004# CONFIG_CRYPTO_FCRYPT is not set
@@ -978,11 +1013,14 @@ CONFIG_CRYPTO_DES=y
978# CONFIG_CRYPTO_KHAZAD is not set 1013# CONFIG_CRYPTO_KHAZAD is not set
979# CONFIG_CRYPTO_ANUBIS is not set 1014# CONFIG_CRYPTO_ANUBIS is not set
980# CONFIG_CRYPTO_SEED is not set 1015# CONFIG_CRYPTO_SEED is not set
1016# CONFIG_CRYPTO_SALSA20 is not set
981# CONFIG_CRYPTO_DEFLATE is not set 1017# CONFIG_CRYPTO_DEFLATE is not set
982# CONFIG_CRYPTO_MICHAEL_MIC is not set 1018# CONFIG_CRYPTO_MICHAEL_MIC is not set
983# CONFIG_CRYPTO_CRC32C is not set 1019# CONFIG_CRYPTO_CRC32C is not set
984# CONFIG_CRYPTO_CAMELLIA is not set 1020# CONFIG_CRYPTO_CAMELLIA is not set
985# CONFIG_CRYPTO_TEST is not set 1021# CONFIG_CRYPTO_TEST is not set
986# CONFIG_CRYPTO_AUTHENC is not set 1022# CONFIG_CRYPTO_AUTHENC is not set
1023# CONFIG_CRYPTO_LZO is not set
987CONFIG_CRYPTO_HW=y 1024CONFIG_CRYPTO_HW=y
1025# CONFIG_CRYPTO_DEV_HIFN_795X is not set
988# CONFIG_PPC_CLOCK is not set 1026# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc836x_mds_defconfig b/arch/powerpc/configs/mpc836x_mds_defconfig
index c44fc56263e..7c8b06046d5 100644
--- a/arch/powerpc/configs/mpc836x_mds_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:43 2007 4# Mon Mar 24 08:48:21 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,15 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -86,11 +91,13 @@ CONFIG_HOTPLUG=y
86CONFIG_PRINTK=y 91CONFIG_PRINTK=y
87CONFIG_BUG=y 92CONFIG_BUG=y
88CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
89CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 96CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
92# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
95CONFIG_SHMEM=y 102CONFIG_SHMEM=y
96CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
@@ -98,6 +105,13 @@ CONFIG_SLUB_DEBUG=y
98# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
99CONFIG_SLUB=y 106CONFIG_SLUB=y
100# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y
113CONFIG_PROC_PAGE_MONITOR=y
114CONFIG_SLABINFO=y
101CONFIG_RT_MUTEXES=y 115CONFIG_RT_MUTEXES=y
102# CONFIG_TINY_SHMEM is not set 116# CONFIG_TINY_SHMEM is not set
103CONFIG_BASE_SMALL=0 117CONFIG_BASE_SMALL=0
@@ -125,6 +139,7 @@ CONFIG_DEFAULT_AS=y
125# CONFIG_DEFAULT_CFQ is not set 139# CONFIG_DEFAULT_CFQ is not set
126# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
127CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
142CONFIG_CLASSIC_RCU=y
128 143
129# 144#
130# Platform support 145# Platform support
@@ -133,18 +148,22 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
133# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
134CONFIG_PPC_83xx=y 149CONFIG_PPC_83xx=y
135# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
136# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC512x is not set
137# CONFIG_PPC_MPC5200 is not set 152# CONFIG_PPC_MPC5121 is not set
138# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set 155# CONFIG_PQ2ADS is not set
141# CONFIG_MPC8313_RDB is not set 156CONFIG_MPC83xx=y
157# CONFIG_MPC831x_RDB is not set
142# CONFIG_MPC832x_MDS is not set 158# CONFIG_MPC832x_MDS is not set
143# CONFIG_MPC832x_RDB is not set 159# CONFIG_MPC832x_RDB is not set
144# CONFIG_MPC834x_MDS is not set 160# CONFIG_MPC834x_MDS is not set
145# CONFIG_MPC834x_ITX is not set 161# CONFIG_MPC834x_ITX is not set
146CONFIG_MPC836x_MDS=y 162CONFIG_MPC836x_MDS=y
147CONFIG_PPC_MPC836x=y 163# CONFIG_MPC837x_MDS is not set
164# CONFIG_MPC837x_RDB is not set
165# CONFIG_SBC834x is not set
166CONFIG_IPIC=y
148# CONFIG_MPIC is not set 167# CONFIG_MPIC is not set
149# CONFIG_MPIC_WEIRD is not set 168# CONFIG_MPIC_WEIRD is not set
150# CONFIG_PPC_I8259 is not set 169# CONFIG_PPC_I8259 is not set
@@ -156,7 +175,6 @@ CONFIG_PPC_MPC836x=y
156# CONFIG_GENERIC_IOMAP is not set 175# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 176# CONFIG_CPU_FREQ is not set
158CONFIG_QUICC_ENGINE=y 177CONFIG_QUICC_ENGINE=y
159# CONFIG_CPM2 is not set
160# CONFIG_FSL_ULI1575 is not set 178# CONFIG_FSL_ULI1575 is not set
161 179
162# 180#
@@ -172,12 +190,16 @@ CONFIG_HZ_250=y
172# CONFIG_HZ_300 is not set 190# CONFIG_HZ_300 is not set
173# CONFIG_HZ_1000 is not set 191# CONFIG_HZ_1000 is not set
174CONFIG_HZ=250 192CONFIG_HZ=250
193# CONFIG_SCHED_HRTICK is not set
175CONFIG_PREEMPT_NONE=y 194CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 195# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 196# CONFIG_PREEMPT is not set
178CONFIG_BINFMT_ELF=y 197CONFIG_BINFMT_ELF=y
179# CONFIG_BINFMT_MISC is not set 198# CONFIG_BINFMT_MISC is not set
199# CONFIG_IOMMU_HELPER is not set
180CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
181CONFIG_ARCH_FLATMEM_ENABLE=y 203CONFIG_ARCH_FLATMEM_ENABLE=y
182CONFIG_ARCH_POPULATES_NODE_MAP=y 204CONFIG_ARCH_POPULATES_NODE_MAP=y
183CONFIG_SELECT_MEMORY_MODEL=y 205CONFIG_SELECT_MEMORY_MODEL=y
@@ -196,11 +218,7 @@ CONFIG_VIRT_TO_BUS=y
196CONFIG_PROC_DEVICETREE=y 218CONFIG_PROC_DEVICETREE=y
197# CONFIG_CMDLINE_BOOL is not set 219# CONFIG_CMDLINE_BOOL is not set
198# CONFIG_PM is not set 220# CONFIG_PM is not set
199CONFIG_SUSPEND_UP_POSSIBLE=y
200CONFIG_HIBERNATION_UP_POSSIBLE=y
201CONFIG_SECCOMP=y 221CONFIG_SECCOMP=y
202CONFIG_WANT_DEVICE_TREE=y
203CONFIG_DEVICE_TREE=""
204CONFIG_ISA_DMA_API=y 222CONFIG_ISA_DMA_API=y
205 223
206# 224#
@@ -249,6 +267,7 @@ CONFIG_XFRM=y
249# CONFIG_XFRM_USER is not set 267# CONFIG_XFRM_USER is not set
250# CONFIG_XFRM_SUB_POLICY is not set 268# CONFIG_XFRM_SUB_POLICY is not set
251# CONFIG_XFRM_MIGRATE is not set 269# CONFIG_XFRM_MIGRATE is not set
270# CONFIG_XFRM_STATISTICS is not set
252# CONFIG_NET_KEY is not set 271# CONFIG_NET_KEY is not set
253CONFIG_INET=y 272CONFIG_INET=y
254CONFIG_IP_MULTICAST=y 273CONFIG_IP_MULTICAST=y
@@ -304,6 +323,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
304# 323#
305# CONFIG_NET_PKTGEN is not set 324# CONFIG_NET_PKTGEN is not set
306# CONFIG_HAMRADIO is not set 325# CONFIG_HAMRADIO is not set
326# CONFIG_CAN is not set
307# CONFIG_IRDA is not set 327# CONFIG_IRDA is not set
308# CONFIG_BT is not set 328# CONFIG_BT is not set
309# CONFIG_AF_RXRPC is not set 329# CONFIG_AF_RXRPC is not set
@@ -348,7 +368,7 @@ CONFIG_BLK_DEV_LOOP=y
348CONFIG_BLK_DEV_RAM=y 368CONFIG_BLK_DEV_RAM=y
349CONFIG_BLK_DEV_RAM_COUNT=16 369CONFIG_BLK_DEV_RAM_COUNT=16
350CONFIG_BLK_DEV_RAM_SIZE=32768 370CONFIG_BLK_DEV_RAM_SIZE=32768
351CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 371# CONFIG_BLK_DEV_XIP is not set
352# CONFIG_CDROM_PKTCDVD is not set 372# CONFIG_CDROM_PKTCDVD is not set
353# CONFIG_ATA_OVER_ETH is not set 373# CONFIG_ATA_OVER_ETH is not set
354CONFIG_MISC_DEVICES=y 374CONFIG_MISC_DEVICES=y
@@ -356,6 +376,8 @@ CONFIG_MISC_DEVICES=y
356# CONFIG_EEPROM_93CX6 is not set 376# CONFIG_EEPROM_93CX6 is not set
357# CONFIG_SGI_IOC4 is not set 377# CONFIG_SGI_IOC4 is not set
358# CONFIG_TIFM_CORE is not set 378# CONFIG_TIFM_CORE is not set
379# CONFIG_ENCLOSURE_SERVICES is not set
380CONFIG_HAVE_IDE=y
359# CONFIG_IDE is not set 381# CONFIG_IDE is not set
360 382
361# 383#
@@ -420,6 +442,7 @@ CONFIG_SCSI_LOWLEVEL=y
420# CONFIG_SCSI_IPS is not set 442# CONFIG_SCSI_IPS is not set
421# CONFIG_SCSI_INITIO is not set 443# CONFIG_SCSI_INITIO is not set
422# CONFIG_SCSI_INIA100 is not set 444# CONFIG_SCSI_INIA100 is not set
445# CONFIG_SCSI_MVSAS is not set
423# CONFIG_SCSI_STEX is not set 446# CONFIG_SCSI_STEX is not set
424# CONFIG_SCSI_SYM53C8XX_2 is not set 447# CONFIG_SCSI_SYM53C8XX_2 is not set
425# CONFIG_SCSI_QLOGIC_1280 is not set 448# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -450,7 +473,6 @@ CONFIG_NETDEVICES=y
450# CONFIG_EQUALIZER is not set 473# CONFIG_EQUALIZER is not set
451# CONFIG_TUN is not set 474# CONFIG_TUN is not set
452# CONFIG_VETH is not set 475# CONFIG_VETH is not set
453# CONFIG_IP1000 is not set
454# CONFIG_ARCNET is not set 476# CONFIG_ARCNET is not set
455CONFIG_PHYLIB=y 477CONFIG_PHYLIB=y
456 478
@@ -466,6 +488,7 @@ CONFIG_MARVELL_PHY=y
466# CONFIG_SMSC_PHY is not set 488# CONFIG_SMSC_PHY is not set
467# CONFIG_BROADCOM_PHY is not set 489# CONFIG_BROADCOM_PHY is not set
468# CONFIG_ICPLUS_PHY is not set 490# CONFIG_ICPLUS_PHY is not set
491# CONFIG_REALTEK_PHY is not set
469# CONFIG_FIXED_PHY is not set 492# CONFIG_FIXED_PHY is not set
470# CONFIG_MDIO_BITBANG is not set 493# CONFIG_MDIO_BITBANG is not set
471CONFIG_NET_ETHERNET=y 494CONFIG_NET_ETHERNET=y
@@ -487,6 +510,9 @@ CONFIG_NETDEV_1000=y
487# CONFIG_DL2K is not set 510# CONFIG_DL2K is not set
488# CONFIG_E1000 is not set 511# CONFIG_E1000 is not set
489# CONFIG_E1000E is not set 512# CONFIG_E1000E is not set
513# CONFIG_E1000E_ENABLED is not set
514# CONFIG_IP1000 is not set
515# CONFIG_IGB is not set
490# CONFIG_NS83820 is not set 516# CONFIG_NS83820 is not set
491# CONFIG_HAMACHI is not set 517# CONFIG_HAMACHI is not set
492# CONFIG_YELLOWFIN is not set 518# CONFIG_YELLOWFIN is not set
@@ -517,6 +543,7 @@ CONFIG_NETDEV_10000=y
517# CONFIG_NIU is not set 543# CONFIG_NIU is not set
518# CONFIG_MLX4_CORE is not set 544# CONFIG_MLX4_CORE is not set
519# CONFIG_TEHUTI is not set 545# CONFIG_TEHUTI is not set
546# CONFIG_BNX2X is not set
520# CONFIG_TR is not set 547# CONFIG_TR is not set
521 548
522# 549#
@@ -530,7 +557,6 @@ CONFIG_NETDEV_10000=y
530# CONFIG_PPP is not set 557# CONFIG_PPP is not set
531# CONFIG_SLIP is not set 558# CONFIG_SLIP is not set
532# CONFIG_NET_FC is not set 559# CONFIG_NET_FC is not set
533# CONFIG_SHAPER is not set
534# CONFIG_NETCONSOLE is not set 560# CONFIG_NETCONSOLE is not set
535# CONFIG_NETPOLL is not set 561# CONFIG_NETPOLL is not set
536# CONFIG_NET_POLL_CONTROLLER is not set 562# CONFIG_NET_POLL_CONTROLLER is not set
@@ -573,6 +599,7 @@ CONFIG_INPUT=y
573# 599#
574# CONFIG_VT is not set 600# CONFIG_VT is not set
575# CONFIG_SERIAL_NONSTANDARD is not set 601# CONFIG_SERIAL_NONSTANDARD is not set
602# CONFIG_NOZOMI is not set
576 603
577# 604#
578# Serial drivers 605# Serial drivers
@@ -592,6 +619,7 @@ CONFIG_SERIAL_CORE=y
592CONFIG_SERIAL_CORE_CONSOLE=y 619CONFIG_SERIAL_CORE_CONSOLE=y
593# CONFIG_SERIAL_JSM is not set 620# CONFIG_SERIAL_JSM is not set
594# CONFIG_SERIAL_OF_PLATFORM is not set 621# CONFIG_SERIAL_OF_PLATFORM is not set
622# CONFIG_SERIAL_QE is not set
595CONFIG_UNIX98_PTYS=y 623CONFIG_UNIX98_PTYS=y
596CONFIG_LEGACY_PTYS=y 624CONFIG_LEGACY_PTYS=y
597CONFIG_LEGACY_PTY_COUNT=256 625CONFIG_LEGACY_PTY_COUNT=256
@@ -646,14 +674,12 @@ CONFIG_I2C_MPC=y
646# 674#
647# Miscellaneous I2C Chip support 675# Miscellaneous I2C Chip support
648# 676#
649# CONFIG_SENSORS_DS1337 is not set
650# CONFIG_SENSORS_DS1374 is not set
651# CONFIG_DS1682 is not set 677# CONFIG_DS1682 is not set
652# CONFIG_SENSORS_EEPROM is not set 678# CONFIG_SENSORS_EEPROM is not set
653# CONFIG_SENSORS_PCF8574 is not set 679# CONFIG_SENSORS_PCF8574 is not set
654# CONFIG_SENSORS_PCA9539 is not set 680# CONFIG_PCF8575 is not set
655# CONFIG_SENSORS_PCF8591 is not set 681# CONFIG_SENSORS_PCF8591 is not set
656# CONFIG_SENSORS_M41T00 is not set 682# CONFIG_TPS65010 is not set
657# CONFIG_SENSORS_MAX6875 is not set 683# CONFIG_SENSORS_MAX6875 is not set
658# CONFIG_SENSORS_TSL2550 is not set 684# CONFIG_SENSORS_TSL2550 is not set
659# CONFIG_I2C_DEBUG_CORE is not set 685# CONFIG_I2C_DEBUG_CORE is not set
@@ -678,6 +704,7 @@ CONFIG_HWMON=y
678# CONFIG_SENSORS_ADM1031 is not set 704# CONFIG_SENSORS_ADM1031 is not set
679# CONFIG_SENSORS_ADM9240 is not set 705# CONFIG_SENSORS_ADM9240 is not set
680# CONFIG_SENSORS_ADT7470 is not set 706# CONFIG_SENSORS_ADT7470 is not set
707# CONFIG_SENSORS_ADT7473 is not set
681# CONFIG_SENSORS_ATXP1 is not set 708# CONFIG_SENSORS_ATXP1 is not set
682# CONFIG_SENSORS_DS1621 is not set 709# CONFIG_SENSORS_DS1621 is not set
683# CONFIG_SENSORS_I5K_AMB is not set 710# CONFIG_SENSORS_I5K_AMB is not set
@@ -707,6 +734,7 @@ CONFIG_HWMON=y
707# CONFIG_SENSORS_SMSC47M1 is not set 734# CONFIG_SENSORS_SMSC47M1 is not set
708# CONFIG_SENSORS_SMSC47M192 is not set 735# CONFIG_SENSORS_SMSC47M192 is not set
709# CONFIG_SENSORS_SMSC47B397 is not set 736# CONFIG_SENSORS_SMSC47B397 is not set
737# CONFIG_SENSORS_ADS7828 is not set
710# CONFIG_SENSORS_THMC50 is not set 738# CONFIG_SENSORS_THMC50 is not set
711# CONFIG_SENSORS_VIA686A is not set 739# CONFIG_SENSORS_VIA686A is not set
712# CONFIG_SENSORS_VT1211 is not set 740# CONFIG_SENSORS_VT1211 is not set
@@ -716,9 +744,11 @@ CONFIG_HWMON=y
716# CONFIG_SENSORS_W83792D is not set 744# CONFIG_SENSORS_W83792D is not set
717# CONFIG_SENSORS_W83793 is not set 745# CONFIG_SENSORS_W83793 is not set
718# CONFIG_SENSORS_W83L785TS is not set 746# CONFIG_SENSORS_W83L785TS is not set
747# CONFIG_SENSORS_W83L786NG is not set
719# CONFIG_SENSORS_W83627HF is not set 748# CONFIG_SENSORS_W83627HF is not set
720# CONFIG_SENSORS_W83627EHF is not set 749# CONFIG_SENSORS_W83627EHF is not set
721# CONFIG_HWMON_DEBUG_CHIP is not set 750# CONFIG_HWMON_DEBUG_CHIP is not set
751# CONFIG_THERMAL is not set
722CONFIG_WATCHDOG=y 752CONFIG_WATCHDOG=y
723# CONFIG_WATCHDOG_NOWAYOUT is not set 753# CONFIG_WATCHDOG_NOWAYOUT is not set
724 754
@@ -784,17 +814,18 @@ CONFIG_USB_ARCH_HAS_EHCI=y
784# 814#
785# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 815# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
786# 816#
787
788#
789# USB Gadget Support
790#
791# CONFIG_USB_GADGET is not set 817# CONFIG_USB_GADGET is not set
792# CONFIG_MMC is not set 818# CONFIG_MMC is not set
819# CONFIG_MEMSTICK is not set
793# CONFIG_NEW_LEDS is not set 820# CONFIG_NEW_LEDS is not set
794# CONFIG_INFINIBAND is not set 821# CONFIG_INFINIBAND is not set
795# CONFIG_EDAC is not set 822# CONFIG_EDAC is not set
796CONFIG_RTC_LIB=y 823CONFIG_RTC_LIB=y
797CONFIG_RTC_CLASS=y 824CONFIG_RTC_CLASS=y
825
826#
827# Conflicting RTC option has been selected, check GEN_RTC and RTC
828#
798CONFIG_RTC_HCTOSYS=y 829CONFIG_RTC_HCTOSYS=y
799CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 830CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
800# CONFIG_RTC_DEBUG is not set 831# CONFIG_RTC_DEBUG is not set
@@ -821,6 +852,7 @@ CONFIG_RTC_DRV_DS1374=y
821# CONFIG_RTC_DRV_PCF8563 is not set 852# CONFIG_RTC_DRV_PCF8563 is not set
822# CONFIG_RTC_DRV_PCF8583 is not set 853# CONFIG_RTC_DRV_PCF8583 is not set
823# CONFIG_RTC_DRV_M41T80 is not set 854# CONFIG_RTC_DRV_M41T80 is not set
855# CONFIG_RTC_DRV_S35390A is not set
824 856
825# 857#
826# SPI RTC drivers 858# SPI RTC drivers
@@ -830,9 +862,10 @@ CONFIG_RTC_DRV_DS1374=y
830# Platform RTC drivers 862# Platform RTC drivers
831# 863#
832# CONFIG_RTC_DRV_CMOS is not set 864# CONFIG_RTC_DRV_CMOS is not set
865# CONFIG_RTC_DRV_DS1511 is not set
833# CONFIG_RTC_DRV_DS1553 is not set 866# CONFIG_RTC_DRV_DS1553 is not set
834# CONFIG_RTC_DRV_STK17TA8 is not set
835# CONFIG_RTC_DRV_DS1742 is not set 867# CONFIG_RTC_DRV_DS1742 is not set
868# CONFIG_RTC_DRV_STK17TA8 is not set
836# CONFIG_RTC_DRV_M48T86 is not set 869# CONFIG_RTC_DRV_M48T86 is not set
837# CONFIG_RTC_DRV_M48T59 is not set 870# CONFIG_RTC_DRV_M48T59 is not set
838# CONFIG_RTC_DRV_V3020 is not set 871# CONFIG_RTC_DRV_V3020 is not set
@@ -840,6 +873,7 @@ CONFIG_RTC_DRV_DS1374=y
840# 873#
841# on-CPU RTC drivers 874# on-CPU RTC drivers
842# 875#
876# CONFIG_DMADEVICES is not set
843 877
844# 878#
845# Userspace I/O 879# Userspace I/O
@@ -865,12 +899,10 @@ CONFIG_FS_MBCACHE=y
865# CONFIG_XFS_FS is not set 899# CONFIG_XFS_FS is not set
866# CONFIG_GFS2_FS is not set 900# CONFIG_GFS2_FS is not set
867# CONFIG_OCFS2_FS is not set 901# CONFIG_OCFS2_FS is not set
868# CONFIG_MINIX_FS is not set 902CONFIG_DNOTIFY=y
869# CONFIG_ROMFS_FS is not set
870CONFIG_INOTIFY=y 903CONFIG_INOTIFY=y
871CONFIG_INOTIFY_USER=y 904CONFIG_INOTIFY_USER=y
872# CONFIG_QUOTA is not set 905# CONFIG_QUOTA is not set
873CONFIG_DNOTIFY=y
874# CONFIG_AUTOFS_FS is not set 906# CONFIG_AUTOFS_FS is not set
875# CONFIG_AUTOFS4_FS is not set 907# CONFIG_AUTOFS4_FS is not set
876# CONFIG_FUSE_FS is not set 908# CONFIG_FUSE_FS is not set
@@ -912,8 +944,10 @@ CONFIG_TMPFS=y
912# CONFIG_EFS_FS is not set 944# CONFIG_EFS_FS is not set
913# CONFIG_CRAMFS is not set 945# CONFIG_CRAMFS is not set
914# CONFIG_VXFS_FS is not set 946# CONFIG_VXFS_FS is not set
947# CONFIG_MINIX_FS is not set
915# CONFIG_HPFS_FS is not set 948# CONFIG_HPFS_FS is not set
916# CONFIG_QNX4FS_FS is not set 949# CONFIG_QNX4FS_FS is not set
950# CONFIG_ROMFS_FS is not set
917# CONFIG_SYSV_FS is not set 951# CONFIG_SYSV_FS is not set
918# CONFIG_UFS_FS is not set 952# CONFIG_UFS_FS is not set
919CONFIG_NETWORK_FILESYSTEMS=y 953CONFIG_NETWORK_FILESYSTEMS=y
@@ -957,7 +991,6 @@ CONFIG_PARTITION_ADVANCED=y
957# CONFIG_SYSV68_PARTITION is not set 991# CONFIG_SYSV68_PARTITION is not set
958# CONFIG_NLS is not set 992# CONFIG_NLS is not set
959# CONFIG_DLM is not set 993# CONFIG_DLM is not set
960# CONFIG_UCC_SLOW is not set
961CONFIG_UCC_FAST=y 994CONFIG_UCC_FAST=y
962CONFIG_UCC=y 995CONFIG_UCC=y
963 996
@@ -975,7 +1008,6 @@ CONFIG_PLIST=y
975CONFIG_HAS_IOMEM=y 1008CONFIG_HAS_IOMEM=y
976CONFIG_HAS_IOPORT=y 1009CONFIG_HAS_IOPORT=y
977CONFIG_HAS_DMA=y 1010CONFIG_HAS_DMA=y
978# CONFIG_INSTRUMENTATION is not set
979 1011
980# 1012#
981# Kernel hacking 1013# Kernel hacking
@@ -989,6 +1021,7 @@ CONFIG_ENABLE_MUST_CHECK=y
989# CONFIG_HEADERS_CHECK is not set 1021# CONFIG_HEADERS_CHECK is not set
990# CONFIG_DEBUG_KERNEL is not set 1022# CONFIG_DEBUG_KERNEL is not set
991# CONFIG_SLUB_DEBUG_ON is not set 1023# CONFIG_SLUB_DEBUG_ON is not set
1024# CONFIG_SLUB_STATS is not set
992# CONFIG_DEBUG_BUGVERBOSE is not set 1025# CONFIG_DEBUG_BUGVERBOSE is not set
993# CONFIG_SAMPLES is not set 1026# CONFIG_SAMPLES is not set
994# CONFIG_PPC_EARLY_DEBUG is not set 1027# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1002,6 +1035,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1002CONFIG_CRYPTO=y 1035CONFIG_CRYPTO=y
1003CONFIG_CRYPTO_ALGAPI=y 1036CONFIG_CRYPTO_ALGAPI=y
1004CONFIG_CRYPTO_BLKCIPHER=y 1037CONFIG_CRYPTO_BLKCIPHER=y
1038# CONFIG_CRYPTO_SEQIV is not set
1005CONFIG_CRYPTO_MANAGER=y 1039CONFIG_CRYPTO_MANAGER=y
1006# CONFIG_CRYPTO_HMAC is not set 1040# CONFIG_CRYPTO_HMAC is not set
1007# CONFIG_CRYPTO_XCBC is not set 1041# CONFIG_CRYPTO_XCBC is not set
@@ -1019,6 +1053,9 @@ CONFIG_CRYPTO_CBC=y
1019CONFIG_CRYPTO_PCBC=m 1053CONFIG_CRYPTO_PCBC=m
1020# CONFIG_CRYPTO_LRW is not set 1054# CONFIG_CRYPTO_LRW is not set
1021# CONFIG_CRYPTO_XTS is not set 1055# CONFIG_CRYPTO_XTS is not set
1056# CONFIG_CRYPTO_CTR is not set
1057# CONFIG_CRYPTO_GCM is not set
1058# CONFIG_CRYPTO_CCM is not set
1022# CONFIG_CRYPTO_CRYPTD is not set 1059# CONFIG_CRYPTO_CRYPTD is not set
1023CONFIG_CRYPTO_DES=y 1060CONFIG_CRYPTO_DES=y
1024# CONFIG_CRYPTO_FCRYPT is not set 1061# CONFIG_CRYPTO_FCRYPT is not set
@@ -1033,12 +1070,15 @@ CONFIG_CRYPTO_DES=y
1033# CONFIG_CRYPTO_KHAZAD is not set 1070# CONFIG_CRYPTO_KHAZAD is not set
1034# CONFIG_CRYPTO_ANUBIS is not set 1071# CONFIG_CRYPTO_ANUBIS is not set
1035# CONFIG_CRYPTO_SEED is not set 1072# CONFIG_CRYPTO_SEED is not set
1073# CONFIG_CRYPTO_SALSA20 is not set
1036# CONFIG_CRYPTO_DEFLATE is not set 1074# CONFIG_CRYPTO_DEFLATE is not set
1037# CONFIG_CRYPTO_MICHAEL_MIC is not set 1075# CONFIG_CRYPTO_MICHAEL_MIC is not set
1038# CONFIG_CRYPTO_CRC32C is not set 1076# CONFIG_CRYPTO_CRC32C is not set
1039# CONFIG_CRYPTO_CAMELLIA is not set 1077# CONFIG_CRYPTO_CAMELLIA is not set
1040# CONFIG_CRYPTO_TEST is not set 1078# CONFIG_CRYPTO_TEST is not set
1041# CONFIG_CRYPTO_AUTHENC is not set 1079# CONFIG_CRYPTO_AUTHENC is not set
1080# CONFIG_CRYPTO_LZO is not set
1042CONFIG_CRYPTO_HW=y 1081CONFIG_CRYPTO_HW=y
1082# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1043# CONFIG_PPC_CLOCK is not set 1083# CONFIG_PPC_CLOCK is not set
1044CONFIG_PPC_LIB_RHEAP=y 1084CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc837x_mds_defconfig b/arch/powerpc/configs/mpc837x_mds_defconfig
index 4f49aee5da6..f377cde785b 100644
--- a/arch/powerpc/configs/mpc837x_mds_defconfig
+++ b/arch/powerpc/configs/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.23 3# Linux kernel version: 2.6.25-rc6
4# Wed Oct 10 16:31:39 2007 4# Mon Mar 24 08:48:23 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,16 +14,22 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25CONFIG_PPC_MERGE=y
25CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y
26CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
27CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
28CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
29CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -61,12 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
61# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
62# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
64# CONFIG_USER_NS is not set
65# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75CONFIG_FAIR_GROUP_SCHED=y
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
68CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
69# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
70CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
71CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
72# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -79,17 +92,27 @@ CONFIG_HOTPLUG=y
79CONFIG_PRINTK=y 92CONFIG_PRINTK=y
80CONFIG_BUG=y 93CONFIG_BUG=y
81CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
82CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
83CONFIG_FUTEX=y 97CONFIG_FUTEX=y
84CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
85# CONFIG_EPOLL is not set 99# CONFIG_EPOLL is not set
86CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 103CONFIG_SHMEM=y
89CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
90CONFIG_SLAB=y 105CONFIG_SLAB=y
91# CONFIG_SLUB is not set 106# CONFIG_SLUB is not set
92# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111# CONFIG_KPROBES is not set
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
115CONFIG_SLABINFO=y
93CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
94# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
95CONFIG_BASE_SMALL=0 118CONFIG_BASE_SMALL=0
@@ -117,28 +140,32 @@ CONFIG_DEFAULT_AS=y
117# CONFIG_DEFAULT_CFQ is not set 140# CONFIG_DEFAULT_CFQ is not set
118# CONFIG_DEFAULT_NOOP is not set 141# CONFIG_DEFAULT_NOOP is not set
119CONFIG_DEFAULT_IOSCHED="anticipatory" 142CONFIG_DEFAULT_IOSCHED="anticipatory"
143CONFIG_CLASSIC_RCU=y
120 144
121# 145#
122# Platform support 146# Platform support
123# 147#
124# CONFIG_PPC_MULTIPLATFORM is not set 148# CONFIG_PPC_MULTIPLATFORM is not set
125# CONFIG_EMBEDDED6xx is not set
126# CONFIG_PPC_82xx is not set 149# CONFIG_PPC_82xx is not set
127CONFIG_PPC_83xx=y 150CONFIG_PPC_83xx=y
128# CONFIG_PPC_86xx is not set 151# CONFIG_PPC_86xx is not set
129# CONFIG_PPC_MPC52xx is not set 152# CONFIG_PPC_MPC512x is not set
130# CONFIG_PPC_MPC5200 is not set 153# CONFIG_PPC_MPC5121 is not set
131# CONFIG_PPC_CELL is not set 154# CONFIG_PPC_CELL is not set
132# CONFIG_PPC_CELL_NATIVE is not set 155# CONFIG_PPC_CELL_NATIVE is not set
133# CONFIG_PQ2ADS is not set 156# CONFIG_PQ2ADS is not set
134# CONFIG_MPC8313_RDB is not set 157CONFIG_MPC83xx=y
158# CONFIG_MPC831x_RDB is not set
135# CONFIG_MPC832x_MDS is not set 159# CONFIG_MPC832x_MDS is not set
136# CONFIG_MPC832x_RDB is not set 160# CONFIG_MPC832x_RDB is not set
137# CONFIG_MPC834x_MDS is not set 161# CONFIG_MPC834x_MDS is not set
138# CONFIG_MPC834x_ITX is not set 162# CONFIG_MPC834x_ITX is not set
139# CONFIG_MPC836x_MDS is not set 163# CONFIG_MPC836x_MDS is not set
140CONFIG_MPC837x_MDS=y 164CONFIG_MPC837x_MDS=y
165# CONFIG_MPC837x_RDB is not set
166# CONFIG_SBC834x is not set
141CONFIG_PPC_MPC837x=y 167CONFIG_PPC_MPC837x=y
168CONFIG_IPIC=y
142# CONFIG_MPIC is not set 169# CONFIG_MPIC is not set
143# CONFIG_MPIC_WEIRD is not set 170# CONFIG_MPIC_WEIRD is not set
144# CONFIG_PPC_I8259 is not set 171# CONFIG_PPC_I8259 is not set
@@ -149,25 +176,31 @@ CONFIG_PPC_MPC837x=y
149# CONFIG_PPC_INDIRECT_IO is not set 176# CONFIG_PPC_INDIRECT_IO is not set
150# CONFIG_GENERIC_IOMAP is not set 177# CONFIG_GENERIC_IOMAP is not set
151# CONFIG_CPU_FREQ is not set 178# CONFIG_CPU_FREQ is not set
152# CONFIG_CPM2 is not set
153# CONFIG_FSL_ULI1575 is not set 179# CONFIG_FSL_ULI1575 is not set
154CONFIG_FSL_SERDES=y
155 180
156# 181#
157# Kernel options 182# Kernel options
158# 183#
159# CONFIG_HIGHMEM is not set 184# CONFIG_HIGHMEM is not set
185# CONFIG_TICK_ONESHOT is not set
186# CONFIG_NO_HZ is not set
187# CONFIG_HIGH_RES_TIMERS is not set
188CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
160# CONFIG_HZ_100 is not set 189# CONFIG_HZ_100 is not set
161CONFIG_HZ_250=y 190CONFIG_HZ_250=y
162# CONFIG_HZ_300 is not set 191# CONFIG_HZ_300 is not set
163# CONFIG_HZ_1000 is not set 192# CONFIG_HZ_1000 is not set
164CONFIG_HZ=250 193CONFIG_HZ=250
194# CONFIG_SCHED_HRTICK is not set
165CONFIG_PREEMPT_NONE=y 195CONFIG_PREEMPT_NONE=y
166# CONFIG_PREEMPT_VOLUNTARY is not set 196# CONFIG_PREEMPT_VOLUNTARY is not set
167# CONFIG_PREEMPT is not set 197# CONFIG_PREEMPT is not set
168CONFIG_BINFMT_ELF=y 198CONFIG_BINFMT_ELF=y
169# CONFIG_BINFMT_MISC is not set 199# CONFIG_BINFMT_MISC is not set
200# CONFIG_IOMMU_HELPER is not set
170CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 201CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
202CONFIG_ARCH_HAS_WALK_MEMORY=y
203CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
171CONFIG_ARCH_FLATMEM_ENABLE=y 204CONFIG_ARCH_FLATMEM_ENABLE=y
172CONFIG_ARCH_POPULATES_NODE_MAP=y 205CONFIG_ARCH_POPULATES_NODE_MAP=y
173CONFIG_SELECT_MEMORY_MODEL=y 206CONFIG_SELECT_MEMORY_MODEL=y
@@ -177,6 +210,7 @@ CONFIG_FLATMEM_MANUAL=y
177CONFIG_FLATMEM=y 210CONFIG_FLATMEM=y
178CONFIG_FLAT_NODE_MEM_MAP=y 211CONFIG_FLAT_NODE_MEM_MAP=y
179# CONFIG_SPARSEMEM_STATIC is not set 212# CONFIG_SPARSEMEM_STATIC is not set
213# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
180CONFIG_SPLIT_PTLOCK_CPUS=4 214CONFIG_SPLIT_PTLOCK_CPUS=4
181# CONFIG_RESOURCES_64BIT is not set 215# CONFIG_RESOURCES_64BIT is not set
182CONFIG_ZONE_DMA_FLAG=1 216CONFIG_ZONE_DMA_FLAG=1
@@ -185,11 +219,7 @@ CONFIG_VIRT_TO_BUS=y
185CONFIG_PROC_DEVICETREE=y 219CONFIG_PROC_DEVICETREE=y
186# CONFIG_CMDLINE_BOOL is not set 220# CONFIG_CMDLINE_BOOL is not set
187# CONFIG_PM is not set 221# CONFIG_PM is not set
188CONFIG_SUSPEND_UP_POSSIBLE=y
189CONFIG_HIBERNATION_UP_POSSIBLE=y
190CONFIG_SECCOMP=y 222CONFIG_SECCOMP=y
191CONFIG_WANT_DEVICE_TREE=y
192CONFIG_DEVICE_TREE=""
193CONFIG_ISA_DMA_API=y 223CONFIG_ISA_DMA_API=y
194 224
195# 225#
@@ -203,10 +233,6 @@ CONFIG_FSL_SOC=y
203# CONFIG_PCI_DOMAINS is not set 233# CONFIG_PCI_DOMAINS is not set
204# CONFIG_PCI_SYSCALL is not set 234# CONFIG_PCI_SYSCALL is not set
205# CONFIG_ARCH_SUPPORTS_MSI is not set 235# CONFIG_ARCH_SUPPORTS_MSI is not set
206
207#
208# PCCARD (PCMCIA/CardBus) support
209#
210# CONFIG_PCCARD is not set 236# CONFIG_PCCARD is not set
211 237
212# 238#
@@ -220,7 +246,7 @@ CONFIG_FSL_SOC=y
220CONFIG_HIGHMEM_START=0xfe000000 246CONFIG_HIGHMEM_START=0xfe000000
221CONFIG_LOWMEM_SIZE=0x30000000 247CONFIG_LOWMEM_SIZE=0x30000000
222CONFIG_KERNEL_START=0xc0000000 248CONFIG_KERNEL_START=0xc0000000
223CONFIG_TASK_SIZE=0x80000000 249CONFIG_TASK_SIZE=0xc0000000
224CONFIG_BOOT_LOAD=0x00800000 250CONFIG_BOOT_LOAD=0x00800000
225 251
226# 252#
@@ -238,6 +264,7 @@ CONFIG_XFRM=y
238CONFIG_XFRM_USER=m 264CONFIG_XFRM_USER=m
239# CONFIG_XFRM_SUB_POLICY is not set 265# CONFIG_XFRM_SUB_POLICY is not set
240# CONFIG_XFRM_MIGRATE is not set 266# CONFIG_XFRM_MIGRATE is not set
267# CONFIG_XFRM_STATISTICS is not set
241# CONFIG_NET_KEY is not set 268# CONFIG_NET_KEY is not set
242CONFIG_INET=y 269CONFIG_INET=y
243CONFIG_IP_MULTICAST=y 270CONFIG_IP_MULTICAST=y
@@ -260,6 +287,7 @@ CONFIG_SYN_COOKIES=y
260CONFIG_INET_XFRM_MODE_TRANSPORT=y 287CONFIG_INET_XFRM_MODE_TRANSPORT=y
261CONFIG_INET_XFRM_MODE_TUNNEL=y 288CONFIG_INET_XFRM_MODE_TUNNEL=y
262CONFIG_INET_XFRM_MODE_BEET=y 289CONFIG_INET_XFRM_MODE_BEET=y
290# CONFIG_INET_LRO is not set
263CONFIG_INET_DIAG=y 291CONFIG_INET_DIAG=y
264CONFIG_INET_TCP_DIAG=y 292CONFIG_INET_TCP_DIAG=y
265# CONFIG_TCP_CONG_ADVANCED is not set 293# CONFIG_TCP_CONG_ADVANCED is not set
@@ -285,10 +313,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
285# CONFIG_LAPB is not set 313# CONFIG_LAPB is not set
286# CONFIG_ECONET is not set 314# CONFIG_ECONET is not set
287# CONFIG_WAN_ROUTER is not set 315# CONFIG_WAN_ROUTER is not set
288
289#
290# QoS and/or fair queueing
291#
292# CONFIG_NET_SCHED is not set 316# CONFIG_NET_SCHED is not set
293 317
294# 318#
@@ -296,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
296# 320#
297# CONFIG_NET_PKTGEN is not set 321# CONFIG_NET_PKTGEN is not set
298# CONFIG_HAMRADIO is not set 322# CONFIG_HAMRADIO is not set
323# CONFIG_CAN is not set
299# CONFIG_IRDA is not set 324# CONFIG_IRDA is not set
300# CONFIG_BT is not set 325# CONFIG_BT is not set
301# CONFIG_AF_RXRPC is not set 326# CONFIG_AF_RXRPC is not set
@@ -317,6 +342,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
317# 342#
318# Generic Driver Options 343# Generic Driver Options
319# 344#
345CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
320CONFIG_STANDALONE=y 346CONFIG_STANDALONE=y
321CONFIG_PREVENT_FIRMWARE_BUILD=y 347CONFIG_PREVENT_FIRMWARE_BUILD=y
322# CONFIG_FW_LOADER is not set 348# CONFIG_FW_LOADER is not set
@@ -334,11 +360,13 @@ CONFIG_BLK_DEV_LOOP=y
334CONFIG_BLK_DEV_RAM=y 360CONFIG_BLK_DEV_RAM=y
335CONFIG_BLK_DEV_RAM_COUNT=16 361CONFIG_BLK_DEV_RAM_COUNT=16
336CONFIG_BLK_DEV_RAM_SIZE=32768 362CONFIG_BLK_DEV_RAM_SIZE=32768
337CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 363# CONFIG_BLK_DEV_XIP is not set
338# CONFIG_CDROM_PKTCDVD is not set 364# CONFIG_CDROM_PKTCDVD is not set
339# CONFIG_ATA_OVER_ETH is not set 365# CONFIG_ATA_OVER_ETH is not set
340CONFIG_MISC_DEVICES=y 366CONFIG_MISC_DEVICES=y
341# CONFIG_EEPROM_93CX6 is not set 367# CONFIG_EEPROM_93CX6 is not set
368# CONFIG_ENCLOSURE_SERVICES is not set
369CONFIG_HAVE_IDE=y
342# CONFIG_IDE is not set 370# CONFIG_IDE is not set
343 371
344# 372#
@@ -377,11 +405,13 @@ CONFIG_SCSI_WAIT_SCAN=m
377# CONFIG_SCSI_FC_ATTRS is not set 405# CONFIG_SCSI_FC_ATTRS is not set
378# CONFIG_SCSI_ISCSI_ATTRS is not set 406# CONFIG_SCSI_ISCSI_ATTRS is not set
379# CONFIG_SCSI_SAS_LIBSAS is not set 407# CONFIG_SCSI_SAS_LIBSAS is not set
408# CONFIG_SCSI_SRP_ATTRS is not set
380CONFIG_SCSI_LOWLEVEL=y 409CONFIG_SCSI_LOWLEVEL=y
381# CONFIG_ISCSI_TCP is not set 410# CONFIG_ISCSI_TCP is not set
382# CONFIG_SCSI_DEBUG is not set 411# CONFIG_SCSI_DEBUG is not set
383CONFIG_ATA=y 412CONFIG_ATA=y
384# CONFIG_ATA_NONSTANDARD is not set 413# CONFIG_ATA_NONSTANDARD is not set
414# CONFIG_SATA_MV is not set
385CONFIG_SATA_FSL=y 415CONFIG_SATA_FSL=y
386# CONFIG_PATA_PLATFORM is not set 416# CONFIG_PATA_PLATFORM is not set
387# CONFIG_MD is not set 417# CONFIG_MD is not set
@@ -393,6 +423,7 @@ CONFIG_NETDEVICES=y
393# CONFIG_MACVLAN is not set 423# CONFIG_MACVLAN is not set
394# CONFIG_EQUALIZER is not set 424# CONFIG_EQUALIZER is not set
395# CONFIG_TUN is not set 425# CONFIG_TUN is not set
426# CONFIG_VETH is not set
396CONFIG_PHYLIB=y 427CONFIG_PHYLIB=y
397 428
398# 429#
@@ -407,10 +438,18 @@ CONFIG_MARVELL_PHY=y
407# CONFIG_SMSC_PHY is not set 438# CONFIG_SMSC_PHY is not set
408# CONFIG_BROADCOM_PHY is not set 439# CONFIG_BROADCOM_PHY is not set
409# CONFIG_ICPLUS_PHY is not set 440# CONFIG_ICPLUS_PHY is not set
441# CONFIG_REALTEK_PHY is not set
410# CONFIG_FIXED_PHY is not set 442# CONFIG_FIXED_PHY is not set
443# CONFIG_MDIO_BITBANG is not set
411CONFIG_NET_ETHERNET=y 444CONFIG_NET_ETHERNET=y
412CONFIG_MII=y 445CONFIG_MII=y
446# CONFIG_IBM_NEW_EMAC_ZMII is not set
447# CONFIG_IBM_NEW_EMAC_RGMII is not set
448# CONFIG_IBM_NEW_EMAC_TAH is not set
449# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
450# CONFIG_B44 is not set
413CONFIG_NETDEV_1000=y 451CONFIG_NETDEV_1000=y
452# CONFIG_E1000E_ENABLED is not set
414CONFIG_GIANFAR=y 453CONFIG_GIANFAR=y
415# CONFIG_GFAR_NAPI is not set 454# CONFIG_GFAR_NAPI is not set
416CONFIG_NETDEV_10000=y 455CONFIG_NETDEV_10000=y
@@ -423,7 +462,6 @@ CONFIG_NETDEV_10000=y
423# CONFIG_WAN is not set 462# CONFIG_WAN is not set
424# CONFIG_PPP is not set 463# CONFIG_PPP is not set
425# CONFIG_SLIP is not set 464# CONFIG_SLIP is not set
426# CONFIG_SHAPER is not set
427# CONFIG_NETCONSOLE is not set 465# CONFIG_NETCONSOLE is not set
428# CONFIG_NETPOLL is not set 466# CONFIG_NETPOLL is not set
429# CONFIG_NET_POLL_CONTROLLER is not set 467# CONFIG_NET_POLL_CONTROLLER is not set
@@ -442,7 +480,6 @@ CONFIG_INPUT=y
442# 480#
443# CONFIG_INPUT_MOUSEDEV is not set 481# CONFIG_INPUT_MOUSEDEV is not set
444# CONFIG_INPUT_JOYDEV is not set 482# CONFIG_INPUT_JOYDEV is not set
445# CONFIG_INPUT_TSDEV is not set
446# CONFIG_INPUT_EVDEV is not set 483# CONFIG_INPUT_EVDEV is not set
447# CONFIG_INPUT_EVBUG is not set 484# CONFIG_INPUT_EVBUG is not set
448 485
@@ -488,14 +525,6 @@ CONFIG_UNIX98_PTYS=y
488CONFIG_LEGACY_PTYS=y 525CONFIG_LEGACY_PTYS=y
489CONFIG_LEGACY_PTY_COUNT=256 526CONFIG_LEGACY_PTY_COUNT=256
490# CONFIG_IPMI_HANDLER is not set 527# CONFIG_IPMI_HANDLER is not set
491CONFIG_WATCHDOG=y
492# CONFIG_WATCHDOG_NOWAYOUT is not set
493
494#
495# Watchdog Device Drivers
496#
497# CONFIG_SOFT_WATCHDOG is not set
498CONFIG_83xx_WDT=y
499# CONFIG_HW_RANDOM is not set 528# CONFIG_HW_RANDOM is not set
500# CONFIG_NVRAM is not set 529# CONFIG_NVRAM is not set
501CONFIG_GEN_RTC=y 530CONFIG_GEN_RTC=y
@@ -527,14 +556,12 @@ CONFIG_I2C_MPC=y
527# 556#
528# Miscellaneous I2C Chip support 557# Miscellaneous I2C Chip support
529# 558#
530# CONFIG_SENSORS_DS1337 is not set
531# CONFIG_SENSORS_DS1374 is not set
532# CONFIG_DS1682 is not set 559# CONFIG_DS1682 is not set
533# CONFIG_SENSORS_EEPROM is not set 560# CONFIG_SENSORS_EEPROM is not set
534# CONFIG_SENSORS_PCF8574 is not set 561# CONFIG_SENSORS_PCF8574 is not set
535# CONFIG_SENSORS_PCA9539 is not set 562# CONFIG_PCF8575 is not set
536# CONFIG_SENSORS_PCF8591 is not set 563# CONFIG_SENSORS_PCF8591 is not set
537# CONFIG_SENSORS_M41T00 is not set 564# CONFIG_TPS65010 is not set
538# CONFIG_SENSORS_MAX6875 is not set 565# CONFIG_SENSORS_MAX6875 is not set
539# CONFIG_SENSORS_TSL2550 is not set 566# CONFIG_SENSORS_TSL2550 is not set
540# CONFIG_I2C_DEBUG_CORE is not set 567# CONFIG_I2C_DEBUG_CORE is not set
@@ -551,8 +578,6 @@ CONFIG_I2C_MPC=y
551# CONFIG_POWER_SUPPLY is not set 578# CONFIG_POWER_SUPPLY is not set
552CONFIG_HWMON=y 579CONFIG_HWMON=y
553# CONFIG_HWMON_VID is not set 580# CONFIG_HWMON_VID is not set
554# CONFIG_SENSORS_ABITUGURU is not set
555# CONFIG_SENSORS_ABITUGURU3 is not set
556# CONFIG_SENSORS_AD7418 is not set 581# CONFIG_SENSORS_AD7418 is not set
557# CONFIG_SENSORS_ADM1021 is not set 582# CONFIG_SENSORS_ADM1021 is not set
558# CONFIG_SENSORS_ADM1025 is not set 583# CONFIG_SENSORS_ADM1025 is not set
@@ -560,12 +585,13 @@ CONFIG_HWMON=y
560# CONFIG_SENSORS_ADM1029 is not set 585# CONFIG_SENSORS_ADM1029 is not set
561# CONFIG_SENSORS_ADM1031 is not set 586# CONFIG_SENSORS_ADM1031 is not set
562# CONFIG_SENSORS_ADM9240 is not set 587# CONFIG_SENSORS_ADM9240 is not set
563# CONFIG_SENSORS_ASB100 is not set 588# CONFIG_SENSORS_ADT7470 is not set
589# CONFIG_SENSORS_ADT7473 is not set
564# CONFIG_SENSORS_ATXP1 is not set 590# CONFIG_SENSORS_ATXP1 is not set
565# CONFIG_SENSORS_DS1621 is not set 591# CONFIG_SENSORS_DS1621 is not set
566# CONFIG_SENSORS_F71805F is not set 592# CONFIG_SENSORS_F71805F is not set
567# CONFIG_SENSORS_FSCHER is not set 593# CONFIG_SENSORS_F71882FG is not set
568# CONFIG_SENSORS_FSCPOS is not set 594# CONFIG_SENSORS_F75375S is not set
569# CONFIG_SENSORS_GL518SM is not set 595# CONFIG_SENSORS_GL518SM is not set
570# CONFIG_SENSORS_GL520SM is not set 596# CONFIG_SENSORS_GL520SM is not set
571# CONFIG_SENSORS_IT87 is not set 597# CONFIG_SENSORS_IT87 is not set
@@ -588,6 +614,7 @@ CONFIG_HWMON=y
588# CONFIG_SENSORS_SMSC47M1 is not set 614# CONFIG_SENSORS_SMSC47M1 is not set
589# CONFIG_SENSORS_SMSC47M192 is not set 615# CONFIG_SENSORS_SMSC47M192 is not set
590# CONFIG_SENSORS_SMSC47B397 is not set 616# CONFIG_SENSORS_SMSC47B397 is not set
617# CONFIG_SENSORS_ADS7828 is not set
591# CONFIG_SENSORS_THMC50 is not set 618# CONFIG_SENSORS_THMC50 is not set
592# CONFIG_SENSORS_VT1211 is not set 619# CONFIG_SENSORS_VT1211 is not set
593# CONFIG_SENSORS_W83781D is not set 620# CONFIG_SENSORS_W83781D is not set
@@ -595,9 +622,25 @@ CONFIG_HWMON=y
595# CONFIG_SENSORS_W83792D is not set 622# CONFIG_SENSORS_W83792D is not set
596# CONFIG_SENSORS_W83793 is not set 623# CONFIG_SENSORS_W83793 is not set
597# CONFIG_SENSORS_W83L785TS is not set 624# CONFIG_SENSORS_W83L785TS is not set
625# CONFIG_SENSORS_W83L786NG is not set
598# CONFIG_SENSORS_W83627HF is not set 626# CONFIG_SENSORS_W83627HF is not set
599# CONFIG_SENSORS_W83627EHF is not set 627# CONFIG_SENSORS_W83627EHF is not set
600# CONFIG_HWMON_DEBUG_CHIP is not set 628# CONFIG_HWMON_DEBUG_CHIP is not set
629# CONFIG_THERMAL is not set
630CONFIG_WATCHDOG=y
631# CONFIG_WATCHDOG_NOWAYOUT is not set
632
633#
634# Watchdog Device Drivers
635#
636# CONFIG_SOFT_WATCHDOG is not set
637CONFIG_83xx_WDT=y
638
639#
640# Sonics Silicon Backplane
641#
642CONFIG_SSB_POSSIBLE=y
643# CONFIG_SSB is not set
601 644
602# 645#
603# Multifunction device drivers 646# Multifunction device drivers
@@ -614,16 +657,15 @@ CONFIG_DAB=y
614# 657#
615# Graphics support 658# Graphics support
616# 659#
660# CONFIG_VGASTATE is not set
661CONFIG_VIDEO_OUTPUT_CONTROL=m
662# CONFIG_FB is not set
617# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 663# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
618 664
619# 665#
620# Display device support 666# Display device support
621# 667#
622# CONFIG_DISPLAY_SUPPORT is not set 668# CONFIG_DISPLAY_SUPPORT is not set
623# CONFIG_VGASTATE is not set
624CONFIG_VIDEO_OUTPUT_CONTROL=m
625# CONFIG_FB is not set
626# CONFIG_FB_IBM_GXT4500 is not set
627 669
628# 670#
629# Sound 671# Sound
@@ -632,6 +674,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
632CONFIG_HID_SUPPORT=y 674CONFIG_HID_SUPPORT=y
633CONFIG_HID=y 675CONFIG_HID=y
634# CONFIG_HID_DEBUG is not set 676# CONFIG_HID_DEBUG is not set
677# CONFIG_HIDRAW is not set
635CONFIG_USB_SUPPORT=y 678CONFIG_USB_SUPPORT=y
636CONFIG_USB_ARCH_HAS_HCD=y 679CONFIG_USB_ARCH_HAS_HCD=y
637# CONFIG_USB_ARCH_HAS_OHCI is not set 680# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -641,28 +684,13 @@ CONFIG_USB_ARCH_HAS_EHCI=y
641# 684#
642# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 685# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
643# 686#
644
645#
646# USB Gadget Support
647#
648# CONFIG_USB_GADGET is not set 687# CONFIG_USB_GADGET is not set
649# CONFIG_MMC is not set 688# CONFIG_MMC is not set
689# CONFIG_MEMSTICK is not set
650# CONFIG_NEW_LEDS is not set 690# CONFIG_NEW_LEDS is not set
651# CONFIG_EDAC is not set 691# CONFIG_EDAC is not set
652# CONFIG_RTC_CLASS is not set 692# CONFIG_RTC_CLASS is not set
653 693# CONFIG_DMADEVICES is not set
654#
655# DMA Engine support
656#
657# CONFIG_DMA_ENGINE is not set
658
659#
660# DMA Clients
661#
662
663#
664# DMA Devices
665#
666 694
667# 695#
668# Userspace I/O 696# Userspace I/O
@@ -681,7 +709,6 @@ CONFIG_EXT3_FS_XATTR=y
681# CONFIG_EXT3_FS_SECURITY is not set 709# CONFIG_EXT3_FS_SECURITY is not set
682# CONFIG_EXT4DEV_FS is not set 710# CONFIG_EXT4DEV_FS is not set
683CONFIG_JBD=y 711CONFIG_JBD=y
684# CONFIG_JBD_DEBUG is not set
685CONFIG_FS_MBCACHE=y 712CONFIG_FS_MBCACHE=y
686# CONFIG_REISERFS_FS is not set 713# CONFIG_REISERFS_FS is not set
687# CONFIG_JFS_FS is not set 714# CONFIG_JFS_FS is not set
@@ -689,12 +716,10 @@ CONFIG_FS_MBCACHE=y
689# CONFIG_XFS_FS is not set 716# CONFIG_XFS_FS is not set
690# CONFIG_GFS2_FS is not set 717# CONFIG_GFS2_FS is not set
691# CONFIG_OCFS2_FS is not set 718# CONFIG_OCFS2_FS is not set
692# CONFIG_MINIX_FS is not set 719CONFIG_DNOTIFY=y
693# CONFIG_ROMFS_FS is not set
694CONFIG_INOTIFY=y 720CONFIG_INOTIFY=y
695CONFIG_INOTIFY_USER=y 721CONFIG_INOTIFY_USER=y
696# CONFIG_QUOTA is not set 722# CONFIG_QUOTA is not set
697CONFIG_DNOTIFY=y
698# CONFIG_AUTOFS_FS is not set 723# CONFIG_AUTOFS_FS is not set
699# CONFIG_AUTOFS4_FS is not set 724# CONFIG_AUTOFS4_FS is not set
700# CONFIG_FUSE_FS is not set 725# CONFIG_FUSE_FS is not set
@@ -722,7 +747,6 @@ CONFIG_SYSFS=y
722CONFIG_TMPFS=y 747CONFIG_TMPFS=y
723# CONFIG_TMPFS_POSIX_ACL is not set 748# CONFIG_TMPFS_POSIX_ACL is not set
724# CONFIG_HUGETLB_PAGE is not set 749# CONFIG_HUGETLB_PAGE is not set
725CONFIG_RAMFS=y
726# CONFIG_CONFIGFS_FS is not set 750# CONFIG_CONFIGFS_FS is not set
727 751
728# 752#
@@ -737,14 +761,13 @@ CONFIG_RAMFS=y
737# CONFIG_EFS_FS is not set 761# CONFIG_EFS_FS is not set
738# CONFIG_CRAMFS is not set 762# CONFIG_CRAMFS is not set
739# CONFIG_VXFS_FS is not set 763# CONFIG_VXFS_FS is not set
764# CONFIG_MINIX_FS is not set
740# CONFIG_HPFS_FS is not set 765# CONFIG_HPFS_FS is not set
741# CONFIG_QNX4FS_FS is not set 766# CONFIG_QNX4FS_FS is not set
767# CONFIG_ROMFS_FS is not set
742# CONFIG_SYSV_FS is not set 768# CONFIG_SYSV_FS is not set
743# CONFIG_UFS_FS is not set 769# CONFIG_UFS_FS is not set
744 770CONFIG_NETWORK_FILESYSTEMS=y
745#
746# Network File Systems
747#
748CONFIG_NFS_FS=y 771CONFIG_NFS_FS=y
749CONFIG_NFS_V3=y 772CONFIG_NFS_V3=y
750# CONFIG_NFS_V3_ACL is not set 773# CONFIG_NFS_V3_ACL is not set
@@ -787,17 +810,8 @@ CONFIG_MSDOS_PARTITION=y
787# CONFIG_KARMA_PARTITION is not set 810# CONFIG_KARMA_PARTITION is not set
788# CONFIG_EFI_PARTITION is not set 811# CONFIG_EFI_PARTITION is not set
789# CONFIG_SYSV68_PARTITION is not set 812# CONFIG_SYSV68_PARTITION is not set
790
791#
792# Native Language Support
793#
794# CONFIG_NLS is not set 813# CONFIG_NLS is not set
795
796#
797# Distributed Lock Manager
798#
799# CONFIG_DLM is not set 814# CONFIG_DLM is not set
800# CONFIG_UCC_SLOW is not set
801 815
802# 816#
803# Library routines 817# Library routines
@@ -815,15 +829,10 @@ CONFIG_HAS_IOPORT=y
815CONFIG_HAS_DMA=y 829CONFIG_HAS_DMA=y
816 830
817# 831#
818# Instrumentation Support
819#
820# CONFIG_PROFILING is not set
821# CONFIG_KPROBES is not set
822
823#
824# Kernel hacking 832# Kernel hacking
825# 833#
826# CONFIG_PRINTK_TIME is not set 834# CONFIG_PRINTK_TIME is not set
835CONFIG_ENABLE_WARN_DEPRECATED=y
827CONFIG_ENABLE_MUST_CHECK=y 836CONFIG_ENABLE_MUST_CHECK=y
828# CONFIG_MAGIC_SYSRQ is not set 837# CONFIG_MAGIC_SYSRQ is not set
829# CONFIG_UNUSED_SYMBOLS is not set 838# CONFIG_UNUSED_SYMBOLS is not set
@@ -831,6 +840,7 @@ CONFIG_ENABLE_MUST_CHECK=y
831# CONFIG_HEADERS_CHECK is not set 840# CONFIG_HEADERS_CHECK is not set
832# CONFIG_DEBUG_KERNEL is not set 841# CONFIG_DEBUG_KERNEL is not set
833# CONFIG_DEBUG_BUGVERBOSE is not set 842# CONFIG_DEBUG_BUGVERBOSE is not set
843# CONFIG_SAMPLES is not set
834# CONFIG_PPC_EARLY_DEBUG is not set 844# CONFIG_PPC_EARLY_DEBUG is not set
835 845
836# 846#
@@ -838,9 +848,11 @@ CONFIG_ENABLE_MUST_CHECK=y
838# 848#
839# CONFIG_KEYS is not set 849# CONFIG_KEYS is not set
840# CONFIG_SECURITY is not set 850# CONFIG_SECURITY is not set
851# CONFIG_SECURITY_FILE_CAPABILITIES is not set
841CONFIG_CRYPTO=y 852CONFIG_CRYPTO=y
842CONFIG_CRYPTO_ALGAPI=y 853CONFIG_CRYPTO_ALGAPI=y
843CONFIG_CRYPTO_BLKCIPHER=y 854CONFIG_CRYPTO_BLKCIPHER=y
855# CONFIG_CRYPTO_SEQIV is not set
844CONFIG_CRYPTO_MANAGER=y 856CONFIG_CRYPTO_MANAGER=y
845# CONFIG_CRYPTO_HMAC is not set 857# CONFIG_CRYPTO_HMAC is not set
846# CONFIG_CRYPTO_XCBC is not set 858# CONFIG_CRYPTO_XCBC is not set
@@ -857,6 +869,10 @@ CONFIG_CRYPTO_ECB=m
857CONFIG_CRYPTO_CBC=y 869CONFIG_CRYPTO_CBC=y
858CONFIG_CRYPTO_PCBC=m 870CONFIG_CRYPTO_PCBC=m
859# CONFIG_CRYPTO_LRW is not set 871# CONFIG_CRYPTO_LRW is not set
872# CONFIG_CRYPTO_XTS is not set
873# CONFIG_CRYPTO_CTR is not set
874# CONFIG_CRYPTO_GCM is not set
875# CONFIG_CRYPTO_CCM is not set
860# CONFIG_CRYPTO_CRYPTD is not set 876# CONFIG_CRYPTO_CRYPTD is not set
861CONFIG_CRYPTO_DES=y 877CONFIG_CRYPTO_DES=y
862# CONFIG_CRYPTO_FCRYPT is not set 878# CONFIG_CRYPTO_FCRYPT is not set
@@ -870,9 +886,14 @@ CONFIG_CRYPTO_DES=y
870# CONFIG_CRYPTO_ARC4 is not set 886# CONFIG_CRYPTO_ARC4 is not set
871# CONFIG_CRYPTO_KHAZAD is not set 887# CONFIG_CRYPTO_KHAZAD is not set
872# CONFIG_CRYPTO_ANUBIS is not set 888# CONFIG_CRYPTO_ANUBIS is not set
889# CONFIG_CRYPTO_SEED is not set
890# CONFIG_CRYPTO_SALSA20 is not set
873# CONFIG_CRYPTO_DEFLATE is not set 891# CONFIG_CRYPTO_DEFLATE is not set
874# CONFIG_CRYPTO_MICHAEL_MIC is not set 892# CONFIG_CRYPTO_MICHAEL_MIC is not set
875# CONFIG_CRYPTO_CRC32C is not set 893# CONFIG_CRYPTO_CRC32C is not set
876# CONFIG_CRYPTO_CAMELLIA is not set 894# CONFIG_CRYPTO_CAMELLIA is not set
877# CONFIG_CRYPTO_TEST is not set 895# CONFIG_CRYPTO_TEST is not set
896# CONFIG_CRYPTO_AUTHENC is not set
897# CONFIG_CRYPTO_LZO is not set
878CONFIG_CRYPTO_HW=y 898CONFIG_CRYPTO_HW=y
899# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc837x_rdb_defconfig b/arch/powerpc/configs/mpc837x_rdb_defconfig
index 91d291e3ee3..44093a0eaf8 100644
--- a/arch/powerpc/configs/mpc837x_rdb_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Thu Jan 24 20:04:39 2008 4# Mon Mar 24 08:48:24 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,17 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75CONFIG_FAIR_GROUP_SCHED=y 75CONFIG_FAIR_GROUP_SCHED=y
76CONFIG_FAIR_USER_SCHED=y 76# CONFIG_RT_GROUP_SCHED is not set
77# CONFIG_FAIR_CGROUP_SCHED is not set 77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
78CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
79# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
80CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
81CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
82# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,17 +92,26 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 92CONFIG_PRINTK=y
90CONFIG_BUG=y 93CONFIG_BUG=y
91CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 97CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
95# CONFIG_EPOLL is not set 99# CONFIG_EPOLL is not set
96CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 103CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
100CONFIG_SLAB=y 105CONFIG_SLAB=y
101# CONFIG_SLUB is not set 106# CONFIG_SLUB is not set
102# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111# CONFIG_KPROBES is not set
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
103CONFIG_SLABINFO=y 115CONFIG_SLABINFO=y
104CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
105# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
@@ -128,6 +140,7 @@ CONFIG_DEFAULT_AS=y
128# CONFIG_DEFAULT_CFQ is not set 140# CONFIG_DEFAULT_CFQ is not set
129# CONFIG_DEFAULT_NOOP is not set 141# CONFIG_DEFAULT_NOOP is not set
130CONFIG_DEFAULT_IOSCHED="anticipatory" 142CONFIG_DEFAULT_IOSCHED="anticipatory"
143CONFIG_CLASSIC_RCU=y
131 144
132# 145#
133# Platform support 146# Platform support
@@ -136,11 +149,12 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
136# CONFIG_PPC_82xx is not set 149# CONFIG_PPC_82xx is not set
137CONFIG_PPC_83xx=y 150CONFIG_PPC_83xx=y
138# CONFIG_PPC_86xx is not set 151# CONFIG_PPC_86xx is not set
139# CONFIG_PPC_MPC52xx is not set 152# CONFIG_PPC_MPC512x is not set
140# CONFIG_PPC_MPC5200 is not set 153# CONFIG_PPC_MPC5121 is not set
141# CONFIG_PPC_CELL is not set 154# CONFIG_PPC_CELL is not set
142# CONFIG_PPC_CELL_NATIVE is not set 155# CONFIG_PPC_CELL_NATIVE is not set
143# CONFIG_PQ2ADS is not set 156# CONFIG_PQ2ADS is not set
157CONFIG_MPC83xx=y
144# CONFIG_MPC831x_RDB is not set 158# CONFIG_MPC831x_RDB is not set
145# CONFIG_MPC832x_MDS is not set 159# CONFIG_MPC832x_MDS is not set
146# CONFIG_MPC832x_RDB is not set 160# CONFIG_MPC832x_RDB is not set
@@ -149,6 +163,7 @@ CONFIG_PPC_83xx=y
149# CONFIG_MPC836x_MDS is not set 163# CONFIG_MPC836x_MDS is not set
150# CONFIG_MPC837x_MDS is not set 164# CONFIG_MPC837x_MDS is not set
151CONFIG_MPC837x_RDB=y 165CONFIG_MPC837x_RDB=y
166# CONFIG_SBC834x is not set
152CONFIG_PPC_MPC837x=y 167CONFIG_PPC_MPC837x=y
153CONFIG_IPIC=y 168CONFIG_IPIC=y
154# CONFIG_MPIC is not set 169# CONFIG_MPIC is not set
@@ -161,7 +176,6 @@ CONFIG_IPIC=y
161# CONFIG_PPC_INDIRECT_IO is not set 176# CONFIG_PPC_INDIRECT_IO is not set
162# CONFIG_GENERIC_IOMAP is not set 177# CONFIG_GENERIC_IOMAP is not set
163# CONFIG_CPU_FREQ is not set 178# CONFIG_CPU_FREQ is not set
164# CONFIG_CPM2 is not set
165# CONFIG_FSL_ULI1575 is not set 179# CONFIG_FSL_ULI1575 is not set
166 180
167# 181#
@@ -177,12 +191,16 @@ CONFIG_HZ_250=y
177# CONFIG_HZ_300 is not set 191# CONFIG_HZ_300 is not set
178# CONFIG_HZ_1000 is not set 192# CONFIG_HZ_1000 is not set
179CONFIG_HZ=250 193CONFIG_HZ=250
194# CONFIG_SCHED_HRTICK is not set
180CONFIG_PREEMPT_NONE=y 195CONFIG_PREEMPT_NONE=y
181# CONFIG_PREEMPT_VOLUNTARY is not set 196# CONFIG_PREEMPT_VOLUNTARY is not set
182# CONFIG_PREEMPT is not set 197# CONFIG_PREEMPT is not set
183CONFIG_BINFMT_ELF=y 198CONFIG_BINFMT_ELF=y
184# CONFIG_BINFMT_MISC is not set 199# CONFIG_BINFMT_MISC is not set
200# CONFIG_IOMMU_HELPER is not set
185CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 201CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
202CONFIG_ARCH_HAS_WALK_MEMORY=y
203CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
186CONFIG_ARCH_FLATMEM_ENABLE=y 204CONFIG_ARCH_FLATMEM_ENABLE=y
187CONFIG_ARCH_POPULATES_NODE_MAP=y 205CONFIG_ARCH_POPULATES_NODE_MAP=y
188CONFIG_SELECT_MEMORY_MODEL=y 206CONFIG_SELECT_MEMORY_MODEL=y
@@ -201,11 +219,7 @@ CONFIG_VIRT_TO_BUS=y
201CONFIG_PROC_DEVICETREE=y 219CONFIG_PROC_DEVICETREE=y
202# CONFIG_CMDLINE_BOOL is not set 220# CONFIG_CMDLINE_BOOL is not set
203# CONFIG_PM is not set 221# CONFIG_PM is not set
204CONFIG_SUSPEND_UP_POSSIBLE=y
205CONFIG_HIBERNATION_UP_POSSIBLE=y
206CONFIG_SECCOMP=y 222CONFIG_SECCOMP=y
207CONFIG_WANT_DEVICE_TREE=y
208CONFIG_DEVICE_TREE=""
209CONFIG_ISA_DMA_API=y 223CONFIG_ISA_DMA_API=y
210 224
211# 225#
@@ -301,6 +315,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
301# 315#
302# CONFIG_NET_PKTGEN is not set 316# CONFIG_NET_PKTGEN is not set
303# CONFIG_HAMRADIO is not set 317# CONFIG_HAMRADIO is not set
318# CONFIG_CAN is not set
304# CONFIG_IRDA is not set 319# CONFIG_IRDA is not set
305# CONFIG_BT is not set 320# CONFIG_BT is not set
306# CONFIG_AF_RXRPC is not set 321# CONFIG_AF_RXRPC is not set
@@ -340,11 +355,13 @@ CONFIG_BLK_DEV_LOOP=y
340CONFIG_BLK_DEV_RAM=y 355CONFIG_BLK_DEV_RAM=y
341CONFIG_BLK_DEV_RAM_COUNT=16 356CONFIG_BLK_DEV_RAM_COUNT=16
342CONFIG_BLK_DEV_RAM_SIZE=32768 357CONFIG_BLK_DEV_RAM_SIZE=32768
343CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 358# CONFIG_BLK_DEV_XIP is not set
344# CONFIG_CDROM_PKTCDVD is not set 359# CONFIG_CDROM_PKTCDVD is not set
345# CONFIG_ATA_OVER_ETH is not set 360# CONFIG_ATA_OVER_ETH is not set
346CONFIG_MISC_DEVICES=y 361CONFIG_MISC_DEVICES=y
347# CONFIG_EEPROM_93CX6 is not set 362# CONFIG_EEPROM_93CX6 is not set
363# CONFIG_ENCLOSURE_SERVICES is not set
364CONFIG_HAVE_IDE=y
348# CONFIG_IDE is not set 365# CONFIG_IDE is not set
349 366
350# 367#
@@ -389,6 +406,7 @@ CONFIG_SCSI_LOWLEVEL=y
389# CONFIG_SCSI_DEBUG is not set 406# CONFIG_SCSI_DEBUG is not set
390CONFIG_ATA=y 407CONFIG_ATA=y
391# CONFIG_ATA_NONSTANDARD is not set 408# CONFIG_ATA_NONSTANDARD is not set
409# CONFIG_SATA_MV is not set
392CONFIG_SATA_FSL=y 410CONFIG_SATA_FSL=y
393# CONFIG_PATA_PLATFORM is not set 411# CONFIG_PATA_PLATFORM is not set
394CONFIG_MD=y 412CONFIG_MD=y
@@ -425,6 +443,7 @@ CONFIG_MARVELL_PHY=y
425# CONFIG_SMSC_PHY is not set 443# CONFIG_SMSC_PHY is not set
426# CONFIG_BROADCOM_PHY is not set 444# CONFIG_BROADCOM_PHY is not set
427# CONFIG_ICPLUS_PHY is not set 445# CONFIG_ICPLUS_PHY is not set
446# CONFIG_REALTEK_PHY is not set
428# CONFIG_FIXED_PHY is not set 447# CONFIG_FIXED_PHY is not set
429# CONFIG_MDIO_BITBANG is not set 448# CONFIG_MDIO_BITBANG is not set
430CONFIG_NET_ETHERNET=y 449CONFIG_NET_ETHERNET=y
@@ -435,6 +454,7 @@ CONFIG_MII=y
435# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 454# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
436# CONFIG_B44 is not set 455# CONFIG_B44 is not set
437CONFIG_NETDEV_1000=y 456CONFIG_NETDEV_1000=y
457# CONFIG_E1000E_ENABLED is not set
438CONFIG_GIANFAR=y 458CONFIG_GIANFAR=y
439CONFIG_GFAR_NAPI=y 459CONFIG_GFAR_NAPI=y
440# CONFIG_NETDEV_10000 is not set 460# CONFIG_NETDEV_10000 is not set
@@ -447,7 +467,6 @@ CONFIG_GFAR_NAPI=y
447# CONFIG_WAN is not set 467# CONFIG_WAN is not set
448# CONFIG_PPP is not set 468# CONFIG_PPP is not set
449# CONFIG_SLIP is not set 469# CONFIG_SLIP is not set
450# CONFIG_SHAPER is not set
451# CONFIG_NETCONSOLE is not set 470# CONFIG_NETCONSOLE is not set
452# CONFIG_NETPOLL is not set 471# CONFIG_NETPOLL is not set
453# CONFIG_NET_POLL_CONTROLLER is not set 472# CONFIG_NET_POLL_CONTROLLER is not set
@@ -542,14 +561,12 @@ CONFIG_I2C_MPC=y
542# 561#
543# Miscellaneous I2C Chip support 562# Miscellaneous I2C Chip support
544# 563#
545# CONFIG_SENSORS_DS1337 is not set
546# CONFIG_SENSORS_DS1374 is not set
547# CONFIG_DS1682 is not set 564# CONFIG_DS1682 is not set
548# CONFIG_SENSORS_EEPROM is not set 565# CONFIG_SENSORS_EEPROM is not set
549# CONFIG_SENSORS_PCF8574 is not set 566# CONFIG_SENSORS_PCF8574 is not set
550# CONFIG_SENSORS_PCA9539 is not set 567# CONFIG_PCF8575 is not set
551# CONFIG_SENSORS_PCF8591 is not set 568# CONFIG_SENSORS_PCF8591 is not set
552# CONFIG_SENSORS_M41T00 is not set 569# CONFIG_TPS65010 is not set
553# CONFIG_SENSORS_MAX6875 is not set 570# CONFIG_SENSORS_MAX6875 is not set
554# CONFIG_SENSORS_TSL2550 is not set 571# CONFIG_SENSORS_TSL2550 is not set
555# CONFIG_I2C_DEBUG_CORE is not set 572# CONFIG_I2C_DEBUG_CORE is not set
@@ -574,6 +591,7 @@ CONFIG_HWMON=y
574# CONFIG_SENSORS_ADM1031 is not set 591# CONFIG_SENSORS_ADM1031 is not set
575# CONFIG_SENSORS_ADM9240 is not set 592# CONFIG_SENSORS_ADM9240 is not set
576# CONFIG_SENSORS_ADT7470 is not set 593# CONFIG_SENSORS_ADT7470 is not set
594# CONFIG_SENSORS_ADT7473 is not set
577# CONFIG_SENSORS_ATXP1 is not set 595# CONFIG_SENSORS_ATXP1 is not set
578# CONFIG_SENSORS_DS1621 is not set 596# CONFIG_SENSORS_DS1621 is not set
579# CONFIG_SENSORS_F71805F is not set 597# CONFIG_SENSORS_F71805F is not set
@@ -601,6 +619,7 @@ CONFIG_HWMON=y
601# CONFIG_SENSORS_SMSC47M1 is not set 619# CONFIG_SENSORS_SMSC47M1 is not set
602# CONFIG_SENSORS_SMSC47M192 is not set 620# CONFIG_SENSORS_SMSC47M192 is not set
603# CONFIG_SENSORS_SMSC47B397 is not set 621# CONFIG_SENSORS_SMSC47B397 is not set
622# CONFIG_SENSORS_ADS7828 is not set
604# CONFIG_SENSORS_THMC50 is not set 623# CONFIG_SENSORS_THMC50 is not set
605# CONFIG_SENSORS_VT1211 is not set 624# CONFIG_SENSORS_VT1211 is not set
606# CONFIG_SENSORS_W83781D is not set 625# CONFIG_SENSORS_W83781D is not set
@@ -608,9 +627,11 @@ CONFIG_HWMON=y
608# CONFIG_SENSORS_W83792D is not set 627# CONFIG_SENSORS_W83792D is not set
609# CONFIG_SENSORS_W83793 is not set 628# CONFIG_SENSORS_W83793 is not set
610# CONFIG_SENSORS_W83L785TS is not set 629# CONFIG_SENSORS_W83L785TS is not set
630# CONFIG_SENSORS_W83L786NG is not set
611# CONFIG_SENSORS_W83627HF is not set 631# CONFIG_SENSORS_W83627HF is not set
612# CONFIG_SENSORS_W83627EHF is not set 632# CONFIG_SENSORS_W83627EHF is not set
613# CONFIG_HWMON_DEBUG_CHIP is not set 633# CONFIG_HWMON_DEBUG_CHIP is not set
634# CONFIG_THERMAL is not set
614CONFIG_WATCHDOG=y 635CONFIG_WATCHDOG=y
615# CONFIG_WATCHDOG_NOWAYOUT is not set 636# CONFIG_WATCHDOG_NOWAYOUT is not set
616 637
@@ -668,15 +689,13 @@ CONFIG_USB_ARCH_HAS_EHCI=y
668# 689#
669# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 690# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
670# 691#
671
672#
673# USB Gadget Support
674#
675# CONFIG_USB_GADGET is not set 692# CONFIG_USB_GADGET is not set
676# CONFIG_MMC is not set 693# CONFIG_MMC is not set
694# CONFIG_MEMSTICK is not set
677# CONFIG_NEW_LEDS is not set 695# CONFIG_NEW_LEDS is not set
678# CONFIG_EDAC is not set 696# CONFIG_EDAC is not set
679# CONFIG_RTC_CLASS is not set 697# CONFIG_RTC_CLASS is not set
698# CONFIG_DMADEVICES is not set
680 699
681# 700#
682# Userspace I/O 701# Userspace I/O
@@ -702,12 +721,10 @@ CONFIG_FS_MBCACHE=y
702# CONFIG_XFS_FS is not set 721# CONFIG_XFS_FS is not set
703# CONFIG_GFS2_FS is not set 722# CONFIG_GFS2_FS is not set
704# CONFIG_OCFS2_FS is not set 723# CONFIG_OCFS2_FS is not set
705# CONFIG_MINIX_FS is not set 724CONFIG_DNOTIFY=y
706# CONFIG_ROMFS_FS is not set
707CONFIG_INOTIFY=y 725CONFIG_INOTIFY=y
708CONFIG_INOTIFY_USER=y 726CONFIG_INOTIFY_USER=y
709# CONFIG_QUOTA is not set 727# CONFIG_QUOTA is not set
710CONFIG_DNOTIFY=y
711# CONFIG_AUTOFS_FS is not set 728# CONFIG_AUTOFS_FS is not set
712# CONFIG_AUTOFS4_FS is not set 729# CONFIG_AUTOFS4_FS is not set
713# CONFIG_FUSE_FS is not set 730# CONFIG_FUSE_FS is not set
@@ -749,8 +766,10 @@ CONFIG_TMPFS=y
749# CONFIG_EFS_FS is not set 766# CONFIG_EFS_FS is not set
750# CONFIG_CRAMFS is not set 767# CONFIG_CRAMFS is not set
751# CONFIG_VXFS_FS is not set 768# CONFIG_VXFS_FS is not set
769# CONFIG_MINIX_FS is not set
752# CONFIG_HPFS_FS is not set 770# CONFIG_HPFS_FS is not set
753# CONFIG_QNX4FS_FS is not set 771# CONFIG_QNX4FS_FS is not set
772# CONFIG_ROMFS_FS is not set
754# CONFIG_SYSV_FS is not set 773# CONFIG_SYSV_FS is not set
755# CONFIG_UFS_FS is not set 774# CONFIG_UFS_FS is not set
756CONFIG_NETWORK_FILESYSTEMS=y 775CONFIG_NETWORK_FILESYSTEMS=y
@@ -813,10 +832,6 @@ CONFIG_PLIST=y
813CONFIG_HAS_IOMEM=y 832CONFIG_HAS_IOMEM=y
814CONFIG_HAS_IOPORT=y 833CONFIG_HAS_IOPORT=y
815CONFIG_HAS_DMA=y 834CONFIG_HAS_DMA=y
816CONFIG_INSTRUMENTATION=y
817# CONFIG_PROFILING is not set
818# CONFIG_KPROBES is not set
819# CONFIG_MARKERS is not set
820 835
821# 836#
822# Kernel hacking 837# Kernel hacking
@@ -846,6 +861,7 @@ CONFIG_ASYNC_XOR=y
846CONFIG_CRYPTO=y 861CONFIG_CRYPTO=y
847CONFIG_CRYPTO_ALGAPI=y 862CONFIG_CRYPTO_ALGAPI=y
848CONFIG_CRYPTO_BLKCIPHER=y 863CONFIG_CRYPTO_BLKCIPHER=y
864# CONFIG_CRYPTO_SEQIV is not set
849CONFIG_CRYPTO_MANAGER=y 865CONFIG_CRYPTO_MANAGER=y
850# CONFIG_CRYPTO_HMAC is not set 866# CONFIG_CRYPTO_HMAC is not set
851# CONFIG_CRYPTO_XCBC is not set 867# CONFIG_CRYPTO_XCBC is not set
@@ -863,6 +879,9 @@ CONFIG_CRYPTO_CBC=y
863CONFIG_CRYPTO_PCBC=m 879CONFIG_CRYPTO_PCBC=m
864# CONFIG_CRYPTO_LRW is not set 880# CONFIG_CRYPTO_LRW is not set
865# CONFIG_CRYPTO_XTS is not set 881# CONFIG_CRYPTO_XTS is not set
882# CONFIG_CRYPTO_CTR is not set
883# CONFIG_CRYPTO_GCM is not set
884# CONFIG_CRYPTO_CCM is not set
866# CONFIG_CRYPTO_CRYPTD is not set 885# CONFIG_CRYPTO_CRYPTD is not set
867CONFIG_CRYPTO_DES=y 886CONFIG_CRYPTO_DES=y
868# CONFIG_CRYPTO_FCRYPT is not set 887# CONFIG_CRYPTO_FCRYPT is not set
@@ -877,11 +896,13 @@ CONFIG_CRYPTO_DES=y
877# CONFIG_CRYPTO_KHAZAD is not set 896# CONFIG_CRYPTO_KHAZAD is not set
878# CONFIG_CRYPTO_ANUBIS is not set 897# CONFIG_CRYPTO_ANUBIS is not set
879# CONFIG_CRYPTO_SEED is not set 898# CONFIG_CRYPTO_SEED is not set
899# CONFIG_CRYPTO_SALSA20 is not set
880# CONFIG_CRYPTO_DEFLATE is not set 900# CONFIG_CRYPTO_DEFLATE is not set
881# CONFIG_CRYPTO_MICHAEL_MIC is not set 901# CONFIG_CRYPTO_MICHAEL_MIC is not set
882# CONFIG_CRYPTO_CRC32C is not set 902# CONFIG_CRYPTO_CRC32C is not set
883# CONFIG_CRYPTO_CAMELLIA is not set 903# CONFIG_CRYPTO_CAMELLIA is not set
884# CONFIG_CRYPTO_TEST is not set 904# CONFIG_CRYPTO_TEST is not set
885# CONFIG_CRYPTO_AUTHENC is not set 905# CONFIG_CRYPTO_AUTHENC is not set
906# CONFIG_CRYPTO_LZO is not set
886CONFIG_CRYPTO_HW=y 907CONFIG_CRYPTO_HW=y
887# CONFIG_PPC_CLOCK is not set 908# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index a9807f083bc..1f6cf68e89f 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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Mon Jan 28 13:14:19 2008 4# Mon Mar 24 08:48:25 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_6xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
18CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -28,6 +29,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -65,17 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
65# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
66# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
67# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
68# CONFIG_USER_NS is not set
69# CONFIG_PID_NS is not set
70# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
72CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
73# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
74CONFIG_FAIR_GROUP_SCHED=y 75CONFIG_FAIR_GROUP_SCHED=y
75CONFIG_FAIR_USER_SCHED=y 76# CONFIG_RT_GROUP_SCHED is not set
76# CONFIG_FAIR_CGROUP_SCHED is not set 77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
78# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
79CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
80CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -88,17 +92,26 @@ CONFIG_HOTPLUG=y
88CONFIG_PRINTK=y 92CONFIG_PRINTK=y
89CONFIG_BUG=y 93CONFIG_BUG=y
90CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
91CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
92CONFIG_FUTEX=y 97CONFIG_FUTEX=y
93CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
94# CONFIG_EPOLL is not set 99# CONFIG_EPOLL is not set
95CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
97CONFIG_SHMEM=y 103CONFIG_SHMEM=y
98CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
99CONFIG_SLAB=y 105CONFIG_SLAB=y
100# CONFIG_SLUB is not set 106# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set 107# CONFIG_SLOB is not set
108# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y
111# CONFIG_KPROBES is not set
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
102CONFIG_SLABINFO=y 115CONFIG_SLABINFO=y
103CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
104# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
@@ -127,6 +140,7 @@ CONFIG_DEFAULT_AS=y
127# CONFIG_DEFAULT_CFQ is not set 140# CONFIG_DEFAULT_CFQ is not set
128# CONFIG_DEFAULT_NOOP is not set 141# CONFIG_DEFAULT_NOOP is not set
129CONFIG_DEFAULT_IOSCHED="anticipatory" 142CONFIG_DEFAULT_IOSCHED="anticipatory"
143CONFIG_CLASSIC_RCU=y
130 144
131# 145#
132# Platform support 146# Platform support
@@ -135,8 +149,8 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
135# CONFIG_PPC_82xx is not set 149# CONFIG_PPC_82xx is not set
136CONFIG_PPC_83xx=y 150CONFIG_PPC_83xx=y
137# CONFIG_PPC_86xx is not set 151# CONFIG_PPC_86xx is not set
138# CONFIG_PPC_MPC52xx is not set 152# CONFIG_PPC_MPC512x is not set
139# CONFIG_PPC_MPC5200 is not set 153# CONFIG_PPC_MPC5121 is not set
140# CONFIG_PPC_CELL is not set 154# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set 155# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set 156# CONFIG_PQ2ADS is not set
@@ -181,13 +195,17 @@ CONFIG_HZ_250=y
181# CONFIG_HZ_300 is not set 195# CONFIG_HZ_300 is not set
182# CONFIG_HZ_1000 is not set 196# CONFIG_HZ_1000 is not set
183CONFIG_HZ=250 197CONFIG_HZ=250
198# CONFIG_SCHED_HRTICK is not set
184CONFIG_PREEMPT_NONE=y 199CONFIG_PREEMPT_NONE=y
185# CONFIG_PREEMPT_VOLUNTARY is not set 200# CONFIG_PREEMPT_VOLUNTARY is not set
186# CONFIG_PREEMPT is not set 201# CONFIG_PREEMPT is not set
187CONFIG_BINFMT_ELF=y 202CONFIG_BINFMT_ELF=y
188# CONFIG_BINFMT_MISC is not set 203# CONFIG_BINFMT_MISC is not set
189CONFIG_MATH_EMULATION=y 204CONFIG_MATH_EMULATION=y
205# CONFIG_IOMMU_HELPER is not set
190CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 206CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
207CONFIG_ARCH_HAS_WALK_MEMORY=y
208CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
191CONFIG_ARCH_FLATMEM_ENABLE=y 209CONFIG_ARCH_FLATMEM_ENABLE=y
192CONFIG_ARCH_POPULATES_NODE_MAP=y 210CONFIG_ARCH_POPULATES_NODE_MAP=y
193CONFIG_SELECT_MEMORY_MODEL=y 211CONFIG_SELECT_MEMORY_MODEL=y
@@ -206,11 +224,7 @@ CONFIG_VIRT_TO_BUS=y
206CONFIG_PROC_DEVICETREE=y 224CONFIG_PROC_DEVICETREE=y
207# CONFIG_CMDLINE_BOOL is not set 225# CONFIG_CMDLINE_BOOL is not set
208# CONFIG_PM is not set 226# CONFIG_PM is not set
209CONFIG_SUSPEND_UP_POSSIBLE=y
210CONFIG_HIBERNATION_UP_POSSIBLE=y
211CONFIG_SECCOMP=y 227CONFIG_SECCOMP=y
212CONFIG_WANT_DEVICE_TREE=y
213CONFIG_DEVICE_TREE=""
214CONFIG_ISA_DMA_API=y 228CONFIG_ISA_DMA_API=y
215 229
216# 230#
@@ -255,6 +269,7 @@ CONFIG_XFRM=y
255CONFIG_XFRM_USER=m 269CONFIG_XFRM_USER=m
256# CONFIG_XFRM_SUB_POLICY is not set 270# CONFIG_XFRM_SUB_POLICY is not set
257# CONFIG_XFRM_MIGRATE is not set 271# CONFIG_XFRM_MIGRATE is not set
272# CONFIG_XFRM_STATISTICS is not set
258# CONFIG_NET_KEY is not set 273# CONFIG_NET_KEY is not set
259CONFIG_INET=y 274CONFIG_INET=y
260CONFIG_IP_MULTICAST=y 275CONFIG_IP_MULTICAST=y
@@ -310,6 +325,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
310# 325#
311# CONFIG_NET_PKTGEN is not set 326# CONFIG_NET_PKTGEN is not set
312# CONFIG_HAMRADIO is not set 327# CONFIG_HAMRADIO is not set
328# CONFIG_CAN is not set
313# CONFIG_IRDA is not set 329# CONFIG_IRDA is not set
314# CONFIG_BT is not set 330# CONFIG_BT is not set
315# CONFIG_AF_RXRPC is not set 331# CONFIG_AF_RXRPC is not set
@@ -349,11 +365,13 @@ CONFIG_BLK_DEV_LOOP=y
349CONFIG_BLK_DEV_RAM=y 365CONFIG_BLK_DEV_RAM=y
350CONFIG_BLK_DEV_RAM_COUNT=16 366CONFIG_BLK_DEV_RAM_COUNT=16
351CONFIG_BLK_DEV_RAM_SIZE=32768 367CONFIG_BLK_DEV_RAM_SIZE=32768
352CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 368# CONFIG_BLK_DEV_XIP is not set
353# CONFIG_CDROM_PKTCDVD is not set 369# CONFIG_CDROM_PKTCDVD is not set
354# CONFIG_ATA_OVER_ETH is not set 370# CONFIG_ATA_OVER_ETH is not set
355CONFIG_MISC_DEVICES=y 371CONFIG_MISC_DEVICES=y
356# CONFIG_EEPROM_93CX6 is not set 372# CONFIG_EEPROM_93CX6 is not set
373# CONFIG_ENCLOSURE_SERVICES is not set
374CONFIG_HAVE_IDE=y
357# CONFIG_IDE is not set 375# CONFIG_IDE is not set
358 376
359# 377#
@@ -398,6 +416,7 @@ CONFIG_SCSI_LOWLEVEL=y
398# CONFIG_SCSI_DEBUG is not set 416# CONFIG_SCSI_DEBUG is not set
399CONFIG_ATA=y 417CONFIG_ATA=y
400# CONFIG_ATA_NONSTANDARD is not set 418# CONFIG_ATA_NONSTANDARD is not set
419# CONFIG_SATA_MV is not set
401CONFIG_SATA_FSL=y 420CONFIG_SATA_FSL=y
402# CONFIG_PATA_PLATFORM is not set 421# CONFIG_PATA_PLATFORM is not set
403# CONFIG_MD is not set 422# CONFIG_MD is not set
@@ -424,6 +443,7 @@ CONFIG_VITESSE_PHY=y
424# CONFIG_SMSC_PHY is not set 443# CONFIG_SMSC_PHY is not set
425# CONFIG_BROADCOM_PHY is not set 444# CONFIG_BROADCOM_PHY is not set
426CONFIG_ICPLUS_PHY=y 445CONFIG_ICPLUS_PHY=y
446# CONFIG_REALTEK_PHY is not set
427# CONFIG_FIXED_PHY is not set 447# CONFIG_FIXED_PHY is not set
428# CONFIG_MDIO_BITBANG is not set 448# CONFIG_MDIO_BITBANG is not set
429CONFIG_NET_ETHERNET=y 449CONFIG_NET_ETHERNET=y
@@ -434,9 +454,14 @@ CONFIG_MII=y
434# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 454# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
435# CONFIG_B44 is not set 455# CONFIG_B44 is not set
436CONFIG_NETDEV_1000=y 456CONFIG_NETDEV_1000=y
457# CONFIG_E1000E_ENABLED is not set
437CONFIG_GIANFAR=y 458CONFIG_GIANFAR=y
438# CONFIG_GFAR_NAPI is not set 459# CONFIG_GFAR_NAPI is not set
439CONFIG_UCC_GETH=y 460CONFIG_UCC_GETH=y
461# CONFIG_UGETH_NAPI is not set
462# CONFIG_UGETH_MAGIC_PACKET is not set
463# CONFIG_UGETH_FILTERING is not set
464# CONFIG_UGETH_TX_ON_DEMAND is not set
440CONFIG_NETDEV_10000=y 465CONFIG_NETDEV_10000=y
441 466
442# 467#
@@ -447,7 +472,6 @@ CONFIG_NETDEV_10000=y
447# CONFIG_WAN is not set 472# CONFIG_WAN is not set
448# CONFIG_PPP is not set 473# CONFIG_PPP is not set
449# CONFIG_SLIP is not set 474# CONFIG_SLIP is not set
450# CONFIG_SHAPER is not set
451# CONFIG_NETCONSOLE is not set 475# CONFIG_NETCONSOLE is not set
452# CONFIG_NETPOLL is not set 476# CONFIG_NETPOLL is not set
453# CONFIG_NET_POLL_CONTROLLER is not set 477# CONFIG_NET_POLL_CONTROLLER is not set
@@ -543,14 +567,12 @@ CONFIG_I2C_MPC=y
543# 567#
544# Miscellaneous I2C Chip support 568# Miscellaneous I2C Chip support
545# 569#
546# CONFIG_SENSORS_DS1337 is not set
547# CONFIG_SENSORS_DS1374 is not set
548# CONFIG_DS1682 is not set 570# CONFIG_DS1682 is not set
549# CONFIG_SENSORS_EEPROM is not set 571# CONFIG_SENSORS_EEPROM is not set
550# CONFIG_SENSORS_PCF8574 is not set 572# CONFIG_SENSORS_PCF8574 is not set
551# CONFIG_SENSORS_PCA9539 is not set 573# CONFIG_PCF8575 is not set
552# CONFIG_SENSORS_PCF8591 is not set 574# CONFIG_SENSORS_PCF8591 is not set
553# CONFIG_SENSORS_M41T00 is not set 575# CONFIG_TPS65010 is not set
554# CONFIG_SENSORS_MAX6875 is not set 576# CONFIG_SENSORS_MAX6875 is not set
555# CONFIG_SENSORS_TSL2550 is not set 577# CONFIG_SENSORS_TSL2550 is not set
556# CONFIG_I2C_DEBUG_CORE is not set 578# CONFIG_I2C_DEBUG_CORE is not set
@@ -575,6 +597,7 @@ CONFIG_HWMON=y
575# CONFIG_SENSORS_ADM1031 is not set 597# CONFIG_SENSORS_ADM1031 is not set
576# CONFIG_SENSORS_ADM9240 is not set 598# CONFIG_SENSORS_ADM9240 is not set
577# CONFIG_SENSORS_ADT7470 is not set 599# CONFIG_SENSORS_ADT7470 is not set
600# CONFIG_SENSORS_ADT7473 is not set
578# CONFIG_SENSORS_ATXP1 is not set 601# CONFIG_SENSORS_ATXP1 is not set
579# CONFIG_SENSORS_DS1621 is not set 602# CONFIG_SENSORS_DS1621 is not set
580# CONFIG_SENSORS_F71805F is not set 603# CONFIG_SENSORS_F71805F is not set
@@ -602,6 +625,7 @@ CONFIG_HWMON=y
602# CONFIG_SENSORS_SMSC47M1 is not set 625# CONFIG_SENSORS_SMSC47M1 is not set
603# CONFIG_SENSORS_SMSC47M192 is not set 626# CONFIG_SENSORS_SMSC47M192 is not set
604# CONFIG_SENSORS_SMSC47B397 is not set 627# CONFIG_SENSORS_SMSC47B397 is not set
628# CONFIG_SENSORS_ADS7828 is not set
605# CONFIG_SENSORS_THMC50 is not set 629# CONFIG_SENSORS_THMC50 is not set
606# CONFIG_SENSORS_VT1211 is not set 630# CONFIG_SENSORS_VT1211 is not set
607# CONFIG_SENSORS_W83781D is not set 631# CONFIG_SENSORS_W83781D is not set
@@ -609,9 +633,11 @@ CONFIG_HWMON=y
609# CONFIG_SENSORS_W83792D is not set 633# CONFIG_SENSORS_W83792D is not set
610# CONFIG_SENSORS_W83793 is not set 634# CONFIG_SENSORS_W83793 is not set
611# CONFIG_SENSORS_W83L785TS is not set 635# CONFIG_SENSORS_W83L785TS is not set
636# CONFIG_SENSORS_W83L786NG is not set
612# CONFIG_SENSORS_W83627HF is not set 637# CONFIG_SENSORS_W83627HF is not set
613# CONFIG_SENSORS_W83627EHF is not set 638# CONFIG_SENSORS_W83627EHF is not set
614# CONFIG_HWMON_DEBUG_CHIP is not set 639# CONFIG_HWMON_DEBUG_CHIP is not set
640# CONFIG_THERMAL is not set
615CONFIG_WATCHDOG=y 641CONFIG_WATCHDOG=y
616# CONFIG_WATCHDOG_NOWAYOUT is not set 642# CONFIG_WATCHDOG_NOWAYOUT is not set
617 643
@@ -665,21 +691,17 @@ CONFIG_USB_ARCH_HAS_HCD=y
665# CONFIG_USB_ARCH_HAS_OHCI is not set 691# CONFIG_USB_ARCH_HAS_OHCI is not set
666CONFIG_USB_ARCH_HAS_EHCI=y 692CONFIG_USB_ARCH_HAS_EHCI=y
667# CONFIG_USB is not set 693# CONFIG_USB is not set
668CONFIG_USB_EHCI_ROOT_HUB_TT=y
669CONFIG_USB_EHCI_FSL=y
670 694
671# 695#
672# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 696# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
673# 697#
674
675#
676# USB Gadget Support
677#
678# CONFIG_USB_GADGET is not set 698# CONFIG_USB_GADGET is not set
679# CONFIG_MMC is not set 699# CONFIG_MMC is not set
700# CONFIG_MEMSTICK is not set
680# CONFIG_NEW_LEDS is not set 701# CONFIG_NEW_LEDS is not set
681# CONFIG_EDAC is not set 702# CONFIG_EDAC is not set
682# CONFIG_RTC_CLASS is not set 703# CONFIG_RTC_CLASS is not set
704# CONFIG_DMADEVICES is not set
683 705
684# 706#
685# Userspace I/O 707# Userspace I/O
@@ -705,12 +727,10 @@ CONFIG_FS_MBCACHE=y
705# CONFIG_XFS_FS is not set 727# CONFIG_XFS_FS is not set
706# CONFIG_GFS2_FS is not set 728# CONFIG_GFS2_FS is not set
707# CONFIG_OCFS2_FS is not set 729# CONFIG_OCFS2_FS is not set
708# CONFIG_MINIX_FS is not set 730CONFIG_DNOTIFY=y
709# CONFIG_ROMFS_FS is not set
710CONFIG_INOTIFY=y 731CONFIG_INOTIFY=y
711CONFIG_INOTIFY_USER=y 732CONFIG_INOTIFY_USER=y
712# CONFIG_QUOTA is not set 733# CONFIG_QUOTA is not set
713CONFIG_DNOTIFY=y
714# CONFIG_AUTOFS_FS is not set 734# CONFIG_AUTOFS_FS is not set
715# CONFIG_AUTOFS4_FS is not set 735# CONFIG_AUTOFS4_FS is not set
716# CONFIG_FUSE_FS is not set 736# CONFIG_FUSE_FS is not set
@@ -752,8 +772,10 @@ CONFIG_TMPFS=y
752# CONFIG_EFS_FS is not set 772# CONFIG_EFS_FS is not set
753# CONFIG_CRAMFS is not set 773# CONFIG_CRAMFS is not set
754# CONFIG_VXFS_FS is not set 774# CONFIG_VXFS_FS is not set
775# CONFIG_MINIX_FS is not set
755# CONFIG_HPFS_FS is not set 776# CONFIG_HPFS_FS is not set
756# CONFIG_QNX4FS_FS is not set 777# CONFIG_QNX4FS_FS is not set
778# CONFIG_ROMFS_FS is not set
757# CONFIG_SYSV_FS is not set 779# CONFIG_SYSV_FS is not set
758# CONFIG_UFS_FS is not set 780# CONFIG_UFS_FS is not set
759CONFIG_NETWORK_FILESYSTEMS=y 781CONFIG_NETWORK_FILESYSTEMS=y
@@ -801,6 +823,8 @@ CONFIG_MSDOS_PARTITION=y
801# CONFIG_SYSV68_PARTITION is not set 823# CONFIG_SYSV68_PARTITION is not set
802# CONFIG_NLS is not set 824# CONFIG_NLS is not set
803# CONFIG_DLM is not set 825# CONFIG_DLM is not set
826CONFIG_UCC_FAST=y
827CONFIG_UCC=y
804 828
805# 829#
806# Library routines 830# Library routines
@@ -816,10 +840,6 @@ CONFIG_PLIST=y
816CONFIG_HAS_IOMEM=y 840CONFIG_HAS_IOMEM=y
817CONFIG_HAS_IOPORT=y 841CONFIG_HAS_IOPORT=y
818CONFIG_HAS_DMA=y 842CONFIG_HAS_DMA=y
819CONFIG_INSTRUMENTATION=y
820# CONFIG_PROFILING is not set
821# CONFIG_KPROBES is not set
822# CONFIG_MARKERS is not set
823 843
824# 844#
825# Kernel hacking 845# Kernel hacking
@@ -845,6 +865,7 @@ CONFIG_ENABLE_MUST_CHECK=y
845CONFIG_CRYPTO=y 865CONFIG_CRYPTO=y
846CONFIG_CRYPTO_ALGAPI=y 866CONFIG_CRYPTO_ALGAPI=y
847CONFIG_CRYPTO_BLKCIPHER=y 867CONFIG_CRYPTO_BLKCIPHER=y
868# CONFIG_CRYPTO_SEQIV is not set
848CONFIG_CRYPTO_MANAGER=y 869CONFIG_CRYPTO_MANAGER=y
849# CONFIG_CRYPTO_HMAC is not set 870# CONFIG_CRYPTO_HMAC is not set
850# CONFIG_CRYPTO_XCBC is not set 871# CONFIG_CRYPTO_XCBC is not set
@@ -862,6 +883,9 @@ CONFIG_CRYPTO_CBC=y
862CONFIG_CRYPTO_PCBC=m 883CONFIG_CRYPTO_PCBC=m
863# CONFIG_CRYPTO_LRW is not set 884# CONFIG_CRYPTO_LRW is not set
864# CONFIG_CRYPTO_XTS is not set 885# CONFIG_CRYPTO_XTS is not set
886# CONFIG_CRYPTO_CTR is not set
887# CONFIG_CRYPTO_GCM is not set
888# CONFIG_CRYPTO_CCM is not set
865# CONFIG_CRYPTO_CRYPTD is not set 889# CONFIG_CRYPTO_CRYPTD is not set
866CONFIG_CRYPTO_DES=y 890CONFIG_CRYPTO_DES=y
867# CONFIG_CRYPTO_FCRYPT is not set 891# CONFIG_CRYPTO_FCRYPT is not set
@@ -876,12 +900,14 @@ CONFIG_CRYPTO_DES=y
876# CONFIG_CRYPTO_KHAZAD is not set 900# CONFIG_CRYPTO_KHAZAD is not set
877# CONFIG_CRYPTO_ANUBIS is not set 901# CONFIG_CRYPTO_ANUBIS is not set
878# CONFIG_CRYPTO_SEED is not set 902# CONFIG_CRYPTO_SEED is not set
903# CONFIG_CRYPTO_SALSA20 is not set
879# CONFIG_CRYPTO_DEFLATE is not set 904# CONFIG_CRYPTO_DEFLATE is not set
880# CONFIG_CRYPTO_MICHAEL_MIC is not set 905# CONFIG_CRYPTO_MICHAEL_MIC is not set
881# CONFIG_CRYPTO_CRC32C is not set 906# CONFIG_CRYPTO_CRC32C is not set
882# CONFIG_CRYPTO_CAMELLIA is not set 907# CONFIG_CRYPTO_CAMELLIA is not set
883# CONFIG_CRYPTO_TEST is not set 908# CONFIG_CRYPTO_TEST is not set
884# CONFIG_CRYPTO_AUTHENC is not set 909# CONFIG_CRYPTO_AUTHENC is not set
910# CONFIG_CRYPTO_LZO is not set
885CONFIG_CRYPTO_HW=y 911CONFIG_CRYPTO_HW=y
886# CONFIG_PPC_CLOCK is not set 912# CONFIG_PPC_CLOCK is not set
887CONFIG_PPC_LIB_RHEAP=y 913CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8540_ads_defconfig b/arch/powerpc/configs/mpc8540_ads_defconfig
index 3791e29e7d0..b998539da86 100644
--- a/arch/powerpc/configs/mpc8540_ads_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:44 2007 4# Mon Mar 24 08:48:25 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,15 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76# CONFIG_FAIR_GROUP_SCHED is not set 76# CONFIG_FAIR_GROUP_SCHED is not set
77# CONFIG_RT_GROUP_SCHED is not set
78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
78# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
79CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
80CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +94,13 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 94CONFIG_PRINTK=y
90CONFIG_BUG=y 95CONFIG_BUG=y
91CONFIG_ELF_CORE=y 96CONFIG_ELF_CORE=y
97CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 98CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 99CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 100CONFIG_ANON_INODES=y
95CONFIG_EPOLL=y 101CONFIG_EPOLL=y
96CONFIG_SIGNALFD=y 102CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 105CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 106CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +108,13 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 108# CONFIG_SLAB is not set
102CONFIG_SLUB=y 109CONFIG_SLUB=y
103# CONFIG_SLOB is not set 110# CONFIG_SLOB is not set
111# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y
114CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y
116CONFIG_PROC_PAGE_MONITOR=y
117CONFIG_SLABINFO=y
104CONFIG_RT_MUTEXES=y 118CONFIG_RT_MUTEXES=y
105# CONFIG_TINY_SHMEM is not set 119# CONFIG_TINY_SHMEM is not set
106CONFIG_BASE_SMALL=0 120CONFIG_BASE_SMALL=0
@@ -123,22 +137,30 @@ CONFIG_DEFAULT_AS=y
123# CONFIG_DEFAULT_CFQ is not set 137# CONFIG_DEFAULT_CFQ is not set
124# CONFIG_DEFAULT_NOOP is not set 138# CONFIG_DEFAULT_NOOP is not set
125CONFIG_DEFAULT_IOSCHED="anticipatory" 139CONFIG_DEFAULT_IOSCHED="anticipatory"
140CONFIG_CLASSIC_RCU=y
126 141
127# 142#
128# Platform support 143# Platform support
129# 144#
130# CONFIG_PPC_MPC52xx is not set 145# CONFIG_PPC_MPC512x is not set
131# CONFIG_PPC_MPC5200 is not set 146# CONFIG_PPC_MPC5121 is not set
132# CONFIG_PPC_CELL is not set 147# CONFIG_PPC_CELL is not set
133# CONFIG_PPC_CELL_NATIVE is not set 148# CONFIG_PPC_CELL_NATIVE is not set
134# CONFIG_PQ2ADS is not set 149# CONFIG_PQ2ADS is not set
150CONFIG_MPC85xx=y
135CONFIG_MPC8540_ADS=y 151CONFIG_MPC8540_ADS=y
136# CONFIG_MPC8560_ADS is not set 152# CONFIG_MPC8560_ADS is not set
137# CONFIG_MPC85xx_CDS is not set 153# CONFIG_MPC85xx_CDS is not set
138# CONFIG_MPC85xx_MDS is not set 154# CONFIG_MPC85xx_MDS is not set
139# CONFIG_MPC85xx_DS is not set 155# CONFIG_MPC85xx_DS is not set
140CONFIG_MPC8540=y 156# CONFIG_STX_GP3 is not set
141CONFIG_MPC85xx=y 157# CONFIG_TQM8540 is not set
158# CONFIG_TQM8541 is not set
159# CONFIG_TQM8555 is not set
160# CONFIG_TQM8560 is not set
161# CONFIG_SBC8548 is not set
162# CONFIG_SBC8560 is not set
163# CONFIG_IPIC is not set
142CONFIG_MPIC=y 164CONFIG_MPIC=y
143# CONFIG_MPIC_WEIRD is not set 165# CONFIG_MPIC_WEIRD is not set
144# CONFIG_PPC_I8259 is not set 166# CONFIG_PPC_I8259 is not set
@@ -165,13 +187,17 @@ CONFIG_HZ_250=y
165# CONFIG_HZ_300 is not set 187# CONFIG_HZ_300 is not set
166# CONFIG_HZ_1000 is not set 188# CONFIG_HZ_1000 is not set
167CONFIG_HZ=250 189CONFIG_HZ=250
190# CONFIG_SCHED_HRTICK is not set
168CONFIG_PREEMPT_NONE=y 191CONFIG_PREEMPT_NONE=y
169# CONFIG_PREEMPT_VOLUNTARY is not set 192# CONFIG_PREEMPT_VOLUNTARY is not set
170# CONFIG_PREEMPT is not set 193# CONFIG_PREEMPT is not set
171CONFIG_BINFMT_ELF=y 194CONFIG_BINFMT_ELF=y
172CONFIG_BINFMT_MISC=y 195CONFIG_BINFMT_MISC=y
173CONFIG_MATH_EMULATION=y 196CONFIG_MATH_EMULATION=y
197# CONFIG_IOMMU_HELPER is not set
174CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 198CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
199CONFIG_ARCH_HAS_WALK_MEMORY=y
200CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
175CONFIG_ARCH_FLATMEM_ENABLE=y 201CONFIG_ARCH_FLATMEM_ENABLE=y
176CONFIG_ARCH_POPULATES_NODE_MAP=y 202CONFIG_ARCH_POPULATES_NODE_MAP=y
177CONFIG_SELECT_MEMORY_MODEL=y 203CONFIG_SELECT_MEMORY_MODEL=y
@@ -190,18 +216,13 @@ CONFIG_VIRT_TO_BUS=y
190CONFIG_PROC_DEVICETREE=y 216CONFIG_PROC_DEVICETREE=y
191# CONFIG_CMDLINE_BOOL is not set 217# CONFIG_CMDLINE_BOOL is not set
192# CONFIG_PM is not set 218# CONFIG_PM is not set
193CONFIG_SUSPEND_UP_POSSIBLE=y
194CONFIG_HIBERNATION_UP_POSSIBLE=y
195# CONFIG_SECCOMP is not set 219# CONFIG_SECCOMP is not set
196CONFIG_WANT_DEVICE_TREE=y
197CONFIG_DEVICE_TREE=""
198CONFIG_ISA_DMA_API=y 220CONFIG_ISA_DMA_API=y
199 221
200# 222#
201# Bus options 223# Bus options
202# 224#
203CONFIG_ZONE_DMA=y 225CONFIG_ZONE_DMA=y
204CONFIG_PPC_INDIRECT_PCI=y
205CONFIG_FSL_SOC=y 226CONFIG_FSL_SOC=y
206# CONFIG_PCI is not set 227# CONFIG_PCI is not set
207# CONFIG_PCI_DOMAINS is not set 228# CONFIG_PCI_DOMAINS is not set
@@ -238,6 +259,7 @@ CONFIG_XFRM=y
238CONFIG_XFRM_USER=y 259CONFIG_XFRM_USER=y
239# CONFIG_XFRM_SUB_POLICY is not set 260# CONFIG_XFRM_SUB_POLICY is not set
240# CONFIG_XFRM_MIGRATE is not set 261# CONFIG_XFRM_MIGRATE is not set
262# CONFIG_XFRM_STATISTICS is not set
241# CONFIG_NET_KEY is not set 263# CONFIG_NET_KEY is not set
242CONFIG_INET=y 264CONFIG_INET=y
243CONFIG_IP_MULTICAST=y 265CONFIG_IP_MULTICAST=y
@@ -293,6 +315,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
293# 315#
294# CONFIG_NET_PKTGEN is not set 316# CONFIG_NET_PKTGEN is not set
295# CONFIG_HAMRADIO is not set 317# CONFIG_HAMRADIO is not set
318# CONFIG_CAN is not set
296# CONFIG_IRDA is not set 319# CONFIG_IRDA is not set
297# CONFIG_BT is not set 320# CONFIG_BT is not set
298# CONFIG_AF_RXRPC is not set 321# CONFIG_AF_RXRPC is not set
@@ -334,11 +357,13 @@ CONFIG_BLK_DEV_LOOP=y
334CONFIG_BLK_DEV_RAM=y 357CONFIG_BLK_DEV_RAM=y
335CONFIG_BLK_DEV_RAM_COUNT=16 358CONFIG_BLK_DEV_RAM_COUNT=16
336CONFIG_BLK_DEV_RAM_SIZE=32768 359CONFIG_BLK_DEV_RAM_SIZE=32768
337CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 360# CONFIG_BLK_DEV_XIP is not set
338# CONFIG_CDROM_PKTCDVD is not set 361# CONFIG_CDROM_PKTCDVD is not set
339# CONFIG_ATA_OVER_ETH is not set 362# CONFIG_ATA_OVER_ETH is not set
340CONFIG_MISC_DEVICES=y 363CONFIG_MISC_DEVICES=y
341# CONFIG_EEPROM_93CX6 is not set 364# CONFIG_EEPROM_93CX6 is not set
365# CONFIG_ENCLOSURE_SERVICES is not set
366CONFIG_HAVE_IDE=y
342# CONFIG_IDE is not set 367# CONFIG_IDE is not set
343 368
344# 369#
@@ -373,6 +398,7 @@ CONFIG_PHYLIB=y
373# CONFIG_SMSC_PHY is not set 398# CONFIG_SMSC_PHY is not set
374# CONFIG_BROADCOM_PHY is not set 399# CONFIG_BROADCOM_PHY is not set
375# CONFIG_ICPLUS_PHY is not set 400# CONFIG_ICPLUS_PHY is not set
401# CONFIG_REALTEK_PHY is not set
376# CONFIG_FIXED_PHY is not set 402# CONFIG_FIXED_PHY is not set
377# CONFIG_MDIO_BITBANG is not set 403# CONFIG_MDIO_BITBANG is not set
378CONFIG_NET_ETHERNET=y 404CONFIG_NET_ETHERNET=y
@@ -383,6 +409,7 @@ CONFIG_MII=y
383# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 409# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
384# CONFIG_B44 is not set 410# CONFIG_B44 is not set
385CONFIG_NETDEV_1000=y 411CONFIG_NETDEV_1000=y
412# CONFIG_E1000E_ENABLED is not set
386CONFIG_GIANFAR=y 413CONFIG_GIANFAR=y
387CONFIG_GFAR_NAPI=y 414CONFIG_GFAR_NAPI=y
388CONFIG_NETDEV_10000=y 415CONFIG_NETDEV_10000=y
@@ -395,7 +422,6 @@ CONFIG_NETDEV_10000=y
395# CONFIG_WAN is not set 422# CONFIG_WAN is not set
396# CONFIG_PPP is not set 423# CONFIG_PPP is not set
397# CONFIG_SLIP is not set 424# CONFIG_SLIP is not set
398# CONFIG_SHAPER is not set
399# CONFIG_NETCONSOLE is not set 425# CONFIG_NETCONSOLE is not set
400# CONFIG_NETPOLL is not set 426# CONFIG_NETPOLL is not set
401# CONFIG_NET_POLL_CONTROLLER is not set 427# CONFIG_NET_POLL_CONTROLLER is not set
@@ -489,6 +515,7 @@ CONFIG_HWMON=y
489# CONFIG_SENSORS_W83627HF is not set 515# CONFIG_SENSORS_W83627HF is not set
490# CONFIG_SENSORS_W83627EHF is not set 516# CONFIG_SENSORS_W83627EHF is not set
491# CONFIG_HWMON_DEBUG_CHIP is not set 517# CONFIG_HWMON_DEBUG_CHIP is not set
518# CONFIG_THERMAL is not set
492# CONFIG_WATCHDOG is not set 519# CONFIG_WATCHDOG is not set
493 520
494# 521#
@@ -538,15 +565,13 @@ CONFIG_USB_SUPPORT=y
538# 565#
539# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 566# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
540# 567#
541
542#
543# USB Gadget Support
544#
545# CONFIG_USB_GADGET is not set 568# CONFIG_USB_GADGET is not set
546# CONFIG_MMC is not set 569# CONFIG_MMC is not set
570# CONFIG_MEMSTICK is not set
547# CONFIG_NEW_LEDS is not set 571# CONFIG_NEW_LEDS is not set
548# CONFIG_EDAC is not set 572# CONFIG_EDAC is not set
549# CONFIG_RTC_CLASS is not set 573# CONFIG_RTC_CLASS is not set
574# CONFIG_DMADEVICES is not set
550 575
551# 576#
552# Userspace I/O 577# Userspace I/O
@@ -572,12 +597,10 @@ CONFIG_FS_MBCACHE=y
572# CONFIG_XFS_FS is not set 597# CONFIG_XFS_FS is not set
573# CONFIG_GFS2_FS is not set 598# CONFIG_GFS2_FS is not set
574# CONFIG_OCFS2_FS is not set 599# CONFIG_OCFS2_FS is not set
575# CONFIG_MINIX_FS is not set 600CONFIG_DNOTIFY=y
576# CONFIG_ROMFS_FS is not set
577CONFIG_INOTIFY=y 601CONFIG_INOTIFY=y
578CONFIG_INOTIFY_USER=y 602CONFIG_INOTIFY_USER=y
579# CONFIG_QUOTA is not set 603# CONFIG_QUOTA is not set
580CONFIG_DNOTIFY=y
581# CONFIG_AUTOFS_FS is not set 604# CONFIG_AUTOFS_FS is not set
582# CONFIG_AUTOFS4_FS is not set 605# CONFIG_AUTOFS4_FS is not set
583# CONFIG_FUSE_FS is not set 606# CONFIG_FUSE_FS is not set
@@ -619,8 +642,10 @@ CONFIG_TMPFS=y
619# CONFIG_EFS_FS is not set 642# CONFIG_EFS_FS is not set
620# CONFIG_CRAMFS is not set 643# CONFIG_CRAMFS is not set
621# CONFIG_VXFS_FS is not set 644# CONFIG_VXFS_FS is not set
645# CONFIG_MINIX_FS is not set
622# CONFIG_HPFS_FS is not set 646# CONFIG_HPFS_FS is not set
623# CONFIG_QNX4FS_FS is not set 647# CONFIG_QNX4FS_FS is not set
648# CONFIG_ROMFS_FS is not set
624# CONFIG_SYSV_FS is not set 649# CONFIG_SYSV_FS is not set
625# CONFIG_UFS_FS is not set 650# CONFIG_UFS_FS is not set
626CONFIG_NETWORK_FILESYSTEMS=y 651CONFIG_NETWORK_FILESYSTEMS=y
@@ -661,7 +686,6 @@ CONFIG_PARTITION_ADVANCED=y
661# CONFIG_SYSV68_PARTITION is not set 686# CONFIG_SYSV68_PARTITION is not set
662# CONFIG_NLS is not set 687# CONFIG_NLS is not set
663# CONFIG_DLM is not set 688# CONFIG_DLM is not set
664# CONFIG_UCC_SLOW is not set
665 689
666# 690#
667# Library routines 691# Library routines
@@ -677,7 +701,6 @@ CONFIG_PLIST=y
677CONFIG_HAS_IOMEM=y 701CONFIG_HAS_IOMEM=y
678CONFIG_HAS_IOPORT=y 702CONFIG_HAS_IOPORT=y
679CONFIG_HAS_DMA=y 703CONFIG_HAS_DMA=y
680# CONFIG_INSTRUMENTATION is not set
681 704
682# 705#
683# Kernel hacking 706# Kernel hacking
@@ -696,6 +719,7 @@ CONFIG_SCHED_DEBUG=y
696# CONFIG_SCHEDSTATS is not set 719# CONFIG_SCHEDSTATS is not set
697# CONFIG_TIMER_STATS is not set 720# CONFIG_TIMER_STATS is not set
698# CONFIG_SLUB_DEBUG_ON is not set 721# CONFIG_SLUB_DEBUG_ON is not set
722# CONFIG_SLUB_STATS is not set
699# CONFIG_DEBUG_RT_MUTEXES is not set 723# CONFIG_DEBUG_RT_MUTEXES is not set
700# CONFIG_RT_MUTEX_TESTER is not set 724# CONFIG_RT_MUTEX_TESTER is not set
701# CONFIG_DEBUG_SPINLOCK is not set 725# CONFIG_DEBUG_SPINLOCK is not set
@@ -708,8 +732,8 @@ CONFIG_DEBUG_MUTEXES=y
708# CONFIG_DEBUG_VM is not set 732# CONFIG_DEBUG_VM is not set
709# CONFIG_DEBUG_LIST is not set 733# CONFIG_DEBUG_LIST is not set
710# CONFIG_DEBUG_SG is not set 734# CONFIG_DEBUG_SG is not set
711CONFIG_FORCED_INLINING=y
712# CONFIG_BOOT_PRINTK_DELAY is not set 735# CONFIG_BOOT_PRINTK_DELAY is not set
736# CONFIG_BACKTRACE_SELF_TEST is not set
713# CONFIG_FAULT_INJECTION is not set 737# CONFIG_FAULT_INJECTION is not set
714# CONFIG_SAMPLES is not set 738# CONFIG_SAMPLES is not set
715# CONFIG_DEBUG_STACKOVERFLOW is not set 739# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -725,5 +749,48 @@ CONFIG_FORCED_INLINING=y
725# CONFIG_KEYS is not set 749# CONFIG_KEYS is not set
726# CONFIG_SECURITY is not set 750# CONFIG_SECURITY is not set
727# CONFIG_SECURITY_FILE_CAPABILITIES is not set 751# CONFIG_SECURITY_FILE_CAPABILITIES is not set
728# CONFIG_CRYPTO is not set 752CONFIG_CRYPTO=y
753# CONFIG_CRYPTO_SEQIV is not set
754# CONFIG_CRYPTO_MANAGER is not set
755# CONFIG_CRYPTO_HMAC is not set
756# CONFIG_CRYPTO_XCBC is not set
757# CONFIG_CRYPTO_NULL is not set
758# CONFIG_CRYPTO_MD4 is not set
759# CONFIG_CRYPTO_MD5 is not set
760# CONFIG_CRYPTO_SHA1 is not set
761# CONFIG_CRYPTO_SHA256 is not set
762# CONFIG_CRYPTO_SHA512 is not set
763# CONFIG_CRYPTO_WP512 is not set
764# CONFIG_CRYPTO_TGR192 is not set
765# CONFIG_CRYPTO_GF128MUL is not set
766# CONFIG_CRYPTO_ECB is not set
767# CONFIG_CRYPTO_CBC is not set
768# CONFIG_CRYPTO_PCBC is not set
769# CONFIG_CRYPTO_LRW is not set
770# CONFIG_CRYPTO_XTS is not set
771# CONFIG_CRYPTO_CTR is not set
772# CONFIG_CRYPTO_GCM is not set
773# CONFIG_CRYPTO_CCM is not set
774# CONFIG_CRYPTO_CRYPTD is not set
775# CONFIG_CRYPTO_DES is not set
776# CONFIG_CRYPTO_FCRYPT is not set
777# CONFIG_CRYPTO_BLOWFISH is not set
778# CONFIG_CRYPTO_TWOFISH is not set
779# CONFIG_CRYPTO_SERPENT is not set
780# CONFIG_CRYPTO_AES is not set
781# CONFIG_CRYPTO_CAST5 is not set
782# CONFIG_CRYPTO_CAST6 is not set
783# CONFIG_CRYPTO_TEA is not set
784# CONFIG_CRYPTO_ARC4 is not set
785# CONFIG_CRYPTO_KHAZAD is not set
786# CONFIG_CRYPTO_ANUBIS is not set
787# CONFIG_CRYPTO_SEED is not set
788# CONFIG_CRYPTO_SALSA20 is not set
789# CONFIG_CRYPTO_DEFLATE is not set
790# CONFIG_CRYPTO_MICHAEL_MIC is not set
791# CONFIG_CRYPTO_CRC32C is not set
792# CONFIG_CRYPTO_CAMELLIA is not set
793# CONFIG_CRYPTO_AUTHENC is not set
794# CONFIG_CRYPTO_LZO is not set
795CONFIG_CRYPTO_HW=y
729# CONFIG_PPC_CLOCK is not set 796# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8544_ds_defconfig b/arch/powerpc/configs/mpc8544_ds_defconfig
index 18623a8ee75..c75b6aee76d 100644
--- a/arch/powerpc/configs/mpc8544_ds_defconfig
+++ b/arch/powerpc/configs/mpc8544_ds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:46 2007 4# Mon Mar 24 08:48:26 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -68,17 +69,21 @@ CONFIG_POSIX_MQUEUE=y
68CONFIG_BSD_PROCESS_ACCT=y 69CONFIG_BSD_PROCESS_ACCT=y
69# CONFIG_BSD_PROCESS_ACCT_V3 is not set 70# CONFIG_BSD_PROCESS_ACCT_V3 is not set
70# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
73CONFIG_AUDIT=y 72CONFIG_AUDIT=y
74# CONFIG_AUDITSYSCALL is not set 73# CONFIG_AUDITSYSCALL is not set
75CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
76CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=14 76CONFIG_LOG_BUF_SHIFT=14
78# CONFIG_CGROUPS is not set 77# CONFIG_CGROUPS is not set
78CONFIG_GROUP_SCHED=y
79# CONFIG_FAIR_GROUP_SCHED is not set 79# CONFIG_FAIR_GROUP_SCHED is not set
80# CONFIG_RT_GROUP_SCHED is not set
81CONFIG_USER_SCHED=y
82# CONFIG_CGROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y 83CONFIG_SYSFS_DEPRECATED=y
84CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_RELAY is not set 85# CONFIG_RELAY is not set
86# CONFIG_NAMESPACES is not set
82CONFIG_BLK_DEV_INITRD=y 87CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE="" 88CONFIG_INITRAMFS_SOURCE=""
84# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 89# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -92,11 +97,13 @@ CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 97CONFIG_PRINTK=y
93CONFIG_BUG=y 98CONFIG_BUG=y
94CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
95CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y 102CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y 103CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y 104CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y 105CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 108CONFIG_SHMEM=y
102CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
@@ -104,6 +111,14 @@ CONFIG_SLUB_DEBUG=y
104# CONFIG_SLAB is not set 111# CONFIG_SLAB is not set
105CONFIG_SLUB=y 112CONFIG_SLUB=y
106# CONFIG_SLOB is not set 113# CONFIG_SLOB is not set
114# CONFIG_PROFILING is not set
115# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set
118CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y
120CONFIG_PROC_PAGE_MONITOR=y
121CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y 122CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set 123# CONFIG_TINY_SHMEM is not set
109CONFIG_BASE_SMALL=0 124CONFIG_BASE_SMALL=0
@@ -131,21 +146,30 @@ CONFIG_IOSCHED_CFQ=y
131CONFIG_DEFAULT_CFQ=y 146CONFIG_DEFAULT_CFQ=y
132# CONFIG_DEFAULT_NOOP is not set 147# CONFIG_DEFAULT_NOOP is not set
133CONFIG_DEFAULT_IOSCHED="cfq" 148CONFIG_DEFAULT_IOSCHED="cfq"
149CONFIG_CLASSIC_RCU=y
134 150
135# 151#
136# Platform support 152# Platform support
137# 153#
138# CONFIG_PPC_MPC52xx is not set 154# CONFIG_PPC_MPC512x is not set
139# CONFIG_PPC_MPC5200 is not set 155# CONFIG_PPC_MPC5121 is not set
140# CONFIG_PPC_CELL is not set 156# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set 157# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set 158# CONFIG_PQ2ADS is not set
159CONFIG_MPC85xx=y
143# CONFIG_MPC8540_ADS is not set 160# CONFIG_MPC8540_ADS is not set
144# CONFIG_MPC8560_ADS is not set 161# CONFIG_MPC8560_ADS is not set
145# CONFIG_MPC85xx_CDS is not set 162# CONFIG_MPC85xx_CDS is not set
146# CONFIG_MPC85xx_MDS is not set 163# CONFIG_MPC85xx_MDS is not set
147CONFIG_MPC85xx_DS=y 164CONFIG_MPC85xx_DS=y
148CONFIG_MPC85xx=y 165# CONFIG_STX_GP3 is not set
166# CONFIG_TQM8540 is not set
167# CONFIG_TQM8541 is not set
168# CONFIG_TQM8555 is not set
169# CONFIG_TQM8560 is not set
170# CONFIG_SBC8548 is not set
171# CONFIG_SBC8560 is not set
172# CONFIG_IPIC is not set
149CONFIG_MPIC=y 173CONFIG_MPIC=y
150# CONFIG_MPIC_WEIRD is not set 174# CONFIG_MPIC_WEIRD is not set
151CONFIG_PPC_I8259=y 175CONFIG_PPC_I8259=y
@@ -172,13 +196,17 @@ CONFIG_HZ_250=y
172# CONFIG_HZ_300 is not set 196# CONFIG_HZ_300 is not set
173# CONFIG_HZ_1000 is not set 197# CONFIG_HZ_1000 is not set
174CONFIG_HZ=250 198CONFIG_HZ=250
199# CONFIG_SCHED_HRTICK is not set
175CONFIG_PREEMPT_NONE=y 200CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 201# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 202# CONFIG_PREEMPT is not set
178CONFIG_BINFMT_ELF=y 203CONFIG_BINFMT_ELF=y
179CONFIG_BINFMT_MISC=m 204CONFIG_BINFMT_MISC=m
180CONFIG_MATH_EMULATION=y 205CONFIG_MATH_EMULATION=y
206# CONFIG_IOMMU_HELPER is not set
181CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 207CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
208CONFIG_ARCH_HAS_WALK_MEMORY=y
209CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
182CONFIG_ARCH_FLATMEM_ENABLE=y 210CONFIG_ARCH_FLATMEM_ENABLE=y
183CONFIG_ARCH_POPULATES_NODE_MAP=y 211CONFIG_ARCH_POPULATES_NODE_MAP=y
184CONFIG_SELECT_MEMORY_MODEL=y 212CONFIG_SELECT_MEMORY_MODEL=y
@@ -197,11 +225,7 @@ CONFIG_VIRT_TO_BUS=y
197CONFIG_PROC_DEVICETREE=y 225CONFIG_PROC_DEVICETREE=y
198# CONFIG_CMDLINE_BOOL is not set 226# CONFIG_CMDLINE_BOOL is not set
199# CONFIG_PM is not set 227# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
202CONFIG_SECCOMP=y 228CONFIG_SECCOMP=y
203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE=""
205CONFIG_ISA_DMA_API=y 229CONFIG_ISA_DMA_API=y
206 230
207# 231#
@@ -252,6 +276,7 @@ CONFIG_XFRM=y
252CONFIG_XFRM_USER=y 276CONFIG_XFRM_USER=y
253# CONFIG_XFRM_SUB_POLICY is not set 277# CONFIG_XFRM_SUB_POLICY is not set
254# CONFIG_XFRM_MIGRATE is not set 278# CONFIG_XFRM_MIGRATE is not set
279# CONFIG_XFRM_STATISTICS is not set
255CONFIG_NET_KEY=m 280CONFIG_NET_KEY=m
256# CONFIG_NET_KEY_MIGRATE is not set 281# CONFIG_NET_KEY_MIGRATE is not set
257CONFIG_INET=y 282CONFIG_INET=y
@@ -335,6 +360,7 @@ CONFIG_SCTP_HMAC_MD5=y
335# 360#
336# CONFIG_NET_PKTGEN is not set 361# CONFIG_NET_PKTGEN is not set
337# CONFIG_HAMRADIO is not set 362# CONFIG_HAMRADIO is not set
363# CONFIG_CAN is not set
338# CONFIG_IRDA is not set 364# CONFIG_IRDA is not set
339# CONFIG_BT is not set 365# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 366# CONFIG_AF_RXRPC is not set
@@ -383,7 +409,7 @@ CONFIG_BLK_DEV_NBD=y
383CONFIG_BLK_DEV_RAM=y 409CONFIG_BLK_DEV_RAM=y
384CONFIG_BLK_DEV_RAM_COUNT=16 410CONFIG_BLK_DEV_RAM_COUNT=16
385CONFIG_BLK_DEV_RAM_SIZE=131072 411CONFIG_BLK_DEV_RAM_SIZE=131072
386CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 412# CONFIG_BLK_DEV_XIP is not set
387# CONFIG_CDROM_PKTCDVD is not set 413# CONFIG_CDROM_PKTCDVD is not set
388# CONFIG_ATA_OVER_ETH is not set 414# CONFIG_ATA_OVER_ETH is not set
389CONFIG_MISC_DEVICES=y 415CONFIG_MISC_DEVICES=y
@@ -391,6 +417,8 @@ CONFIG_MISC_DEVICES=y
391# CONFIG_EEPROM_93CX6 is not set 417# CONFIG_EEPROM_93CX6 is not set
392# CONFIG_SGI_IOC4 is not set 418# CONFIG_SGI_IOC4 is not set
393# CONFIG_TIFM_CORE is not set 419# CONFIG_TIFM_CORE is not set
420# CONFIG_ENCLOSURE_SERVICES is not set
421CONFIG_HAVE_IDE=y
394# CONFIG_IDE is not set 422# CONFIG_IDE is not set
395 423
396# 424#
@@ -456,6 +484,7 @@ CONFIG_SCSI_LOWLEVEL=y
456# CONFIG_SCSI_IPS is not set 484# CONFIG_SCSI_IPS is not set
457# CONFIG_SCSI_INITIO is not set 485# CONFIG_SCSI_INITIO is not set
458# CONFIG_SCSI_INIA100 is not set 486# CONFIG_SCSI_INIA100 is not set
487# CONFIG_SCSI_MVSAS is not set
459# CONFIG_SCSI_STEX is not set 488# CONFIG_SCSI_STEX is not set
460# CONFIG_SCSI_SYM53C8XX_2 is not set 489# CONFIG_SCSI_SYM53C8XX_2 is not set
461# CONFIG_SCSI_IPR is not set 490# CONFIG_SCSI_IPR is not set
@@ -486,6 +515,7 @@ CONFIG_SATA_AHCI=y
486# CONFIG_SATA_VIA is not set 515# CONFIG_SATA_VIA is not set
487# CONFIG_SATA_VITESSE is not set 516# CONFIG_SATA_VITESSE is not set
488# CONFIG_SATA_INIC162X is not set 517# CONFIG_SATA_INIC162X is not set
518# CONFIG_SATA_FSL is not set
489CONFIG_PATA_ALI=y 519CONFIG_PATA_ALI=y
490# CONFIG_PATA_AMD is not set 520# CONFIG_PATA_AMD is not set
491# CONFIG_PATA_ARTOP is not set 521# CONFIG_PATA_ARTOP is not set
@@ -509,6 +539,7 @@ CONFIG_PATA_ALI=y
509# CONFIG_PATA_MPIIX is not set 539# CONFIG_PATA_MPIIX is not set
510# CONFIG_PATA_OLDPIIX is not set 540# CONFIG_PATA_OLDPIIX is not set
511# CONFIG_PATA_NETCELL is not set 541# CONFIG_PATA_NETCELL is not set
542# CONFIG_PATA_NINJA32 is not set
512# CONFIG_PATA_NS87410 is not set 543# CONFIG_PATA_NS87410 is not set
513# CONFIG_PATA_NS87415 is not set 544# CONFIG_PATA_NS87415 is not set
514# CONFIG_PATA_OPTI is not set 545# CONFIG_PATA_OPTI is not set
@@ -542,7 +573,6 @@ CONFIG_DUMMY=y
542# CONFIG_EQUALIZER is not set 573# CONFIG_EQUALIZER is not set
543# CONFIG_TUN is not set 574# CONFIG_TUN is not set
544# CONFIG_VETH is not set 575# CONFIG_VETH is not set
545# CONFIG_IP1000 is not set
546# CONFIG_ARCNET is not set 576# CONFIG_ARCNET is not set
547CONFIG_PHYLIB=y 577CONFIG_PHYLIB=y
548 578
@@ -558,6 +588,7 @@ CONFIG_VITESSE_PHY=y
558# CONFIG_SMSC_PHY is not set 588# CONFIG_SMSC_PHY is not set
559# CONFIG_BROADCOM_PHY is not set 589# CONFIG_BROADCOM_PHY is not set
560# CONFIG_ICPLUS_PHY is not set 590# CONFIG_ICPLUS_PHY is not set
591# CONFIG_REALTEK_PHY is not set
561# CONFIG_FIXED_PHY is not set 592# CONFIG_FIXED_PHY is not set
562# CONFIG_MDIO_BITBANG is not set 593# CONFIG_MDIO_BITBANG is not set
563CONFIG_NET_ETHERNET=y 594CONFIG_NET_ETHERNET=y
@@ -579,6 +610,9 @@ CONFIG_NETDEV_1000=y
579# CONFIG_DL2K is not set 610# CONFIG_DL2K is not set
580# CONFIG_E1000 is not set 611# CONFIG_E1000 is not set
581# CONFIG_E1000E is not set 612# CONFIG_E1000E is not set
613# CONFIG_E1000E_ENABLED is not set
614# CONFIG_IP1000 is not set
615# CONFIG_IGB is not set
582# CONFIG_NS83820 is not set 616# CONFIG_NS83820 is not set
583# CONFIG_HAMACHI is not set 617# CONFIG_HAMACHI is not set
584# CONFIG_YELLOWFIN is not set 618# CONFIG_YELLOWFIN is not set
@@ -605,6 +639,7 @@ CONFIG_NETDEV_10000=y
605# CONFIG_NIU is not set 639# CONFIG_NIU is not set
606# CONFIG_MLX4_CORE is not set 640# CONFIG_MLX4_CORE is not set
607# CONFIG_TEHUTI is not set 641# CONFIG_TEHUTI is not set
642# CONFIG_BNX2X is not set
608# CONFIG_TR is not set 643# CONFIG_TR is not set
609 644
610# 645#
@@ -627,7 +662,6 @@ CONFIG_NETDEV_10000=y
627# CONFIG_PPP is not set 662# CONFIG_PPP is not set
628# CONFIG_SLIP is not set 663# CONFIG_SLIP is not set
629# CONFIG_NET_FC is not set 664# CONFIG_NET_FC is not set
630# CONFIG_SHAPER is not set
631# CONFIG_NETCONSOLE is not set 665# CONFIG_NETCONSOLE is not set
632# CONFIG_NETPOLL is not set 666# CONFIG_NETPOLL is not set
633# CONFIG_NET_POLL_CONTROLLER is not set 667# CONFIG_NET_POLL_CONTROLLER is not set
@@ -678,6 +712,7 @@ CONFIG_VT_CONSOLE=y
678CONFIG_HW_CONSOLE=y 712CONFIG_HW_CONSOLE=y
679# CONFIG_VT_HW_CONSOLE_BINDING is not set 713# CONFIG_VT_HW_CONSOLE_BINDING is not set
680# CONFIG_SERIAL_NONSTANDARD is not set 714# CONFIG_SERIAL_NONSTANDARD is not set
715# CONFIG_NOZOMI is not set
681 716
682# 717#
683# Serial drivers 718# Serial drivers
@@ -756,14 +791,12 @@ CONFIG_I2C_MPC=y
756# 791#
757# Miscellaneous I2C Chip support 792# Miscellaneous I2C Chip support
758# 793#
759# CONFIG_SENSORS_DS1337 is not set
760# CONFIG_SENSORS_DS1374 is not set
761# CONFIG_DS1682 is not set 794# CONFIG_DS1682 is not set
762CONFIG_SENSORS_EEPROM=y 795CONFIG_SENSORS_EEPROM=y
763# CONFIG_SENSORS_PCF8574 is not set 796# CONFIG_SENSORS_PCF8574 is not set
764# CONFIG_SENSORS_PCA9539 is not set 797# CONFIG_PCF8575 is not set
765# CONFIG_SENSORS_PCF8591 is not set 798# CONFIG_SENSORS_PCF8591 is not set
766# CONFIG_SENSORS_M41T00 is not set 799# CONFIG_TPS65010 is not set
767# CONFIG_SENSORS_MAX6875 is not set 800# CONFIG_SENSORS_MAX6875 is not set
768# CONFIG_SENSORS_TSL2550 is not set 801# CONFIG_SENSORS_TSL2550 is not set
769# CONFIG_I2C_DEBUG_CORE is not set 802# CONFIG_I2C_DEBUG_CORE is not set
@@ -779,6 +812,7 @@ CONFIG_SENSORS_EEPROM=y
779# CONFIG_W1 is not set 812# CONFIG_W1 is not set
780# CONFIG_POWER_SUPPLY is not set 813# CONFIG_POWER_SUPPLY is not set
781# CONFIG_HWMON is not set 814# CONFIG_HWMON is not set
815# CONFIG_THERMAL is not set
782# CONFIG_WATCHDOG is not set 816# CONFIG_WATCHDOG is not set
783 817
784# 818#
@@ -803,6 +837,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
803# 837#
804# Supported SAA7146 based PCI Adapters 838# Supported SAA7146 based PCI Adapters
805# 839#
840# CONFIG_TTPCI_EEPROM is not set
841# CONFIG_DVB_BUDGET_CORE is not set
806 842
807# 843#
808# Supported USB Adapters 844# Supported USB Adapters
@@ -888,11 +924,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
888# CONFIG_DVB_PLL is not set 924# CONFIG_DVB_PLL is not set
889# CONFIG_DVB_TDA826X is not set 925# CONFIG_DVB_TDA826X is not set
890# CONFIG_DVB_TDA827X is not set 926# CONFIG_DVB_TDA827X is not set
927# CONFIG_DVB_TDA18271 is not set
891# CONFIG_DVB_TUNER_QT1010 is not set 928# CONFIG_DVB_TUNER_QT1010 is not set
892# CONFIG_DVB_TUNER_MT2060 is not set 929# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set 930# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set 931# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set 932# CONFIG_DVB_TUNER_DIB0070 is not set
933# CONFIG_DVB_TUNER_XC5000 is not set
896 934
897# 935#
898# Miscellaneous devices 936# Miscellaneous devices
@@ -970,6 +1008,7 @@ CONFIG_SND_AC97_CODEC=y
970# CONFIG_SND_BT87X is not set 1008# CONFIG_SND_BT87X is not set
971# CONFIG_SND_CA0106 is not set 1009# CONFIG_SND_CA0106 is not set
972# CONFIG_SND_CMIPCI is not set 1010# CONFIG_SND_CMIPCI is not set
1011# CONFIG_SND_OXYGEN is not set
973# CONFIG_SND_CS4281 is not set 1012# CONFIG_SND_CS4281 is not set
974# CONFIG_SND_CS46XX is not set 1013# CONFIG_SND_CS46XX is not set
975# CONFIG_SND_CS5530 is not set 1014# CONFIG_SND_CS5530 is not set
@@ -995,6 +1034,7 @@ CONFIG_SND_AC97_CODEC=y
995# CONFIG_SND_HDA_INTEL is not set 1034# CONFIG_SND_HDA_INTEL is not set
996# CONFIG_SND_HDSP is not set 1035# CONFIG_SND_HDSP is not set
997# CONFIG_SND_HDSPM is not set 1036# CONFIG_SND_HDSPM is not set
1037# CONFIG_SND_HIFIER is not set
998# CONFIG_SND_ICE1712 is not set 1038# CONFIG_SND_ICE1712 is not set
999# CONFIG_SND_ICE1724 is not set 1039# CONFIG_SND_ICE1724 is not set
1000CONFIG_SND_INTEL8X0=y 1040CONFIG_SND_INTEL8X0=y
@@ -1012,6 +1052,7 @@ CONFIG_SND_INTEL8X0=y
1012# CONFIG_SND_TRIDENT is not set 1052# CONFIG_SND_TRIDENT is not set
1013# CONFIG_SND_VIA82XX is not set 1053# CONFIG_SND_VIA82XX is not set
1014# CONFIG_SND_VIA82XX_MODEM is not set 1054# CONFIG_SND_VIA82XX_MODEM is not set
1055# CONFIG_SND_VIRTUOSO is not set
1015# CONFIG_SND_VX222 is not set 1056# CONFIG_SND_VX222 is not set
1016# CONFIG_SND_YMFPCI is not set 1057# CONFIG_SND_YMFPCI is not set
1017# CONFIG_SND_AC97_POWER_SAVE is not set 1058# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1041,6 +1082,10 @@ CONFIG_SND_INTEL8X0=y
1041# 1082#
1042 1083
1043# 1084#
1085# ALSA SoC audio for Freescale SOCs
1086#
1087
1088#
1044# Open Sound System 1089# Open Sound System
1045# 1090#
1046# CONFIG_SOUND_PRIME is not set 1091# CONFIG_SOUND_PRIME is not set
@@ -1063,6 +1108,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1063CONFIG_USB_ARCH_HAS_EHCI=y 1108CONFIG_USB_ARCH_HAS_EHCI=y
1064CONFIG_USB=y 1109CONFIG_USB=y
1065# CONFIG_USB_DEBUG is not set 1110# CONFIG_USB_DEBUG is not set
1111# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1066 1112
1067# 1113#
1068# Miscellaneous USB options 1114# Miscellaneous USB options
@@ -1076,9 +1122,10 @@ CONFIG_USB_DEVICE_CLASS=y
1076# USB Host Controller Drivers 1122# USB Host Controller Drivers
1077# 1123#
1078CONFIG_USB_EHCI_HCD=y 1124CONFIG_USB_EHCI_HCD=y
1079# CONFIG_USB_EHCI_SPLIT_ISO is not set
1080# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1125# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1081# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1126# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1127# CONFIG_USB_EHCI_FSL is not set
1128CONFIG_USB_EHCI_HCD_PPC_OF=y
1082# CONFIG_USB_ISP116X_HCD is not set 1129# CONFIG_USB_ISP116X_HCD is not set
1083CONFIG_USB_OHCI_HCD=y 1130CONFIG_USB_OHCI_HCD=y
1084CONFIG_USB_OHCI_HCD_PPC_OF=y 1131CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1129,10 +1176,6 @@ CONFIG_USB_MON=y
1129# 1176#
1130# USB port drivers 1177# USB port drivers
1131# 1178#
1132
1133#
1134# USB Serial Converter support
1135#
1136# CONFIG_USB_SERIAL is not set 1179# CONFIG_USB_SERIAL is not set
1137 1180
1138# 1181#
@@ -1158,21 +1201,18 @@ CONFIG_USB_MON=y
1158# CONFIG_USB_TRANCEVIBRATOR is not set 1201# CONFIG_USB_TRANCEVIBRATOR is not set
1159# CONFIG_USB_IOWARRIOR is not set 1202# CONFIG_USB_IOWARRIOR is not set
1160# CONFIG_USB_TEST is not set 1203# CONFIG_USB_TEST is not set
1161
1162#
1163# USB DSL modem support
1164#
1165
1166#
1167# USB Gadget Support
1168#
1169# CONFIG_USB_GADGET is not set 1204# CONFIG_USB_GADGET is not set
1170# CONFIG_MMC is not set 1205# CONFIG_MMC is not set
1206# CONFIG_MEMSTICK is not set
1171# CONFIG_NEW_LEDS is not set 1207# CONFIG_NEW_LEDS is not set
1172# CONFIG_INFINIBAND is not set 1208# CONFIG_INFINIBAND is not set
1173# CONFIG_EDAC is not set 1209# CONFIG_EDAC is not set
1174CONFIG_RTC_LIB=y 1210CONFIG_RTC_LIB=y
1175CONFIG_RTC_CLASS=y 1211CONFIG_RTC_CLASS=y
1212
1213#
1214# Conflicting RTC option has been selected, check GEN_RTC and RTC
1215#
1176CONFIG_RTC_HCTOSYS=y 1216CONFIG_RTC_HCTOSYS=y
1177CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1217CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1178# CONFIG_RTC_DEBUG is not set 1218# CONFIG_RTC_DEBUG is not set
@@ -1199,6 +1239,7 @@ CONFIG_RTC_INTF_DEV=y
1199# CONFIG_RTC_DRV_PCF8563 is not set 1239# CONFIG_RTC_DRV_PCF8563 is not set
1200# CONFIG_RTC_DRV_PCF8583 is not set 1240# CONFIG_RTC_DRV_PCF8583 is not set
1201# CONFIG_RTC_DRV_M41T80 is not set 1241# CONFIG_RTC_DRV_M41T80 is not set
1242# CONFIG_RTC_DRV_S35390A is not set
1202 1243
1203# 1244#
1204# SPI RTC drivers 1245# SPI RTC drivers
@@ -1208,9 +1249,10 @@ CONFIG_RTC_INTF_DEV=y
1208# Platform RTC drivers 1249# Platform RTC drivers
1209# 1250#
1210CONFIG_RTC_DRV_CMOS=y 1251CONFIG_RTC_DRV_CMOS=y
1252# CONFIG_RTC_DRV_DS1511 is not set
1211# CONFIG_RTC_DRV_DS1553 is not set 1253# CONFIG_RTC_DRV_DS1553 is not set
1212# CONFIG_RTC_DRV_STK17TA8 is not set
1213# CONFIG_RTC_DRV_DS1742 is not set 1254# CONFIG_RTC_DRV_DS1742 is not set
1255# CONFIG_RTC_DRV_STK17TA8 is not set
1214# CONFIG_RTC_DRV_M48T86 is not set 1256# CONFIG_RTC_DRV_M48T86 is not set
1215# CONFIG_RTC_DRV_M48T59 is not set 1257# CONFIG_RTC_DRV_M48T59 is not set
1216# CONFIG_RTC_DRV_V3020 is not set 1258# CONFIG_RTC_DRV_V3020 is not set
@@ -1218,6 +1260,7 @@ CONFIG_RTC_DRV_CMOS=y
1218# 1260#
1219# on-CPU RTC drivers 1261# on-CPU RTC drivers
1220# 1262#
1263# CONFIG_DMADEVICES is not set
1221 1264
1222# 1265#
1223# Userspace I/O 1266# Userspace I/O
@@ -1243,12 +1286,10 @@ CONFIG_FS_MBCACHE=y
1243# CONFIG_XFS_FS is not set 1286# CONFIG_XFS_FS is not set
1244# CONFIG_GFS2_FS is not set 1287# CONFIG_GFS2_FS is not set
1245# CONFIG_OCFS2_FS is not set 1288# CONFIG_OCFS2_FS is not set
1246# CONFIG_MINIX_FS is not set 1289CONFIG_DNOTIFY=y
1247# CONFIG_ROMFS_FS is not set
1248CONFIG_INOTIFY=y 1290CONFIG_INOTIFY=y
1249CONFIG_INOTIFY_USER=y 1291CONFIG_INOTIFY_USER=y
1250# CONFIG_QUOTA is not set 1292# CONFIG_QUOTA is not set
1251CONFIG_DNOTIFY=y
1252# CONFIG_AUTOFS_FS is not set 1293# CONFIG_AUTOFS_FS is not set
1253# CONFIG_AUTOFS4_FS is not set 1294# CONFIG_AUTOFS4_FS is not set
1254# CONFIG_FUSE_FS is not set 1295# CONFIG_FUSE_FS is not set
@@ -1300,8 +1341,10 @@ CONFIG_BFS_FS=m
1300CONFIG_EFS_FS=m 1341CONFIG_EFS_FS=m
1301CONFIG_CRAMFS=y 1342CONFIG_CRAMFS=y
1302CONFIG_VXFS_FS=m 1343CONFIG_VXFS_FS=m
1344# CONFIG_MINIX_FS is not set
1303CONFIG_HPFS_FS=m 1345CONFIG_HPFS_FS=m
1304CONFIG_QNX4FS_FS=m 1346CONFIG_QNX4FS_FS=m
1347# CONFIG_ROMFS_FS is not set
1305CONFIG_SYSV_FS=m 1348CONFIG_SYSV_FS=m
1306CONFIG_UFS_FS=m 1349CONFIG_UFS_FS=m
1307# CONFIG_UFS_FS_WRITE is not set 1350# CONFIG_UFS_FS_WRITE is not set
@@ -1393,7 +1436,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1393# CONFIG_NLS_KOI8_U is not set 1436# CONFIG_NLS_KOI8_U is not set
1394CONFIG_NLS_UTF8=m 1437CONFIG_NLS_UTF8=m
1395# CONFIG_DLM is not set 1438# CONFIG_DLM is not set
1396# CONFIG_UCC_SLOW is not set
1397 1439
1398# 1440#
1399# Library routines 1441# Library routines
@@ -1410,7 +1452,6 @@ CONFIG_PLIST=y
1410CONFIG_HAS_IOMEM=y 1452CONFIG_HAS_IOMEM=y
1411CONFIG_HAS_IOPORT=y 1453CONFIG_HAS_IOPORT=y
1412CONFIG_HAS_DMA=y 1454CONFIG_HAS_DMA=y
1413# CONFIG_INSTRUMENTATION is not set
1414 1455
1415# 1456#
1416# Kernel hacking 1457# Kernel hacking
@@ -1429,6 +1470,7 @@ CONFIG_SCHED_DEBUG=y
1429# CONFIG_SCHEDSTATS is not set 1470# CONFIG_SCHEDSTATS is not set
1430# CONFIG_TIMER_STATS is not set 1471# CONFIG_TIMER_STATS is not set
1431# CONFIG_SLUB_DEBUG_ON is not set 1472# CONFIG_SLUB_DEBUG_ON is not set
1473# CONFIG_SLUB_STATS is not set
1432# CONFIG_DEBUG_RT_MUTEXES is not set 1474# CONFIG_DEBUG_RT_MUTEXES is not set
1433# CONFIG_RT_MUTEX_TESTER is not set 1475# CONFIG_RT_MUTEX_TESTER is not set
1434# CONFIG_DEBUG_SPINLOCK is not set 1476# CONFIG_DEBUG_SPINLOCK is not set
@@ -1442,9 +1484,9 @@ CONFIG_DEBUG_INFO=y
1442# CONFIG_DEBUG_VM is not set 1484# CONFIG_DEBUG_VM is not set
1443# CONFIG_DEBUG_LIST is not set 1485# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set 1486# CONFIG_DEBUG_SG is not set
1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set 1487# CONFIG_BOOT_PRINTK_DELAY is not set
1447# CONFIG_RCU_TORTURE_TEST is not set 1488# CONFIG_RCU_TORTURE_TEST is not set
1489# CONFIG_BACKTRACE_SELF_TEST is not set
1448# CONFIG_FAULT_INJECTION is not set 1490# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set 1491# CONFIG_SAMPLES is not set
1450# CONFIG_DEBUG_STACKOVERFLOW is not set 1492# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1463,6 +1505,7 @@ CONFIG_FORCED_INLINING=y
1463CONFIG_CRYPTO=y 1505CONFIG_CRYPTO=y
1464CONFIG_CRYPTO_ALGAPI=y 1506CONFIG_CRYPTO_ALGAPI=y
1465CONFIG_CRYPTO_BLKCIPHER=y 1507CONFIG_CRYPTO_BLKCIPHER=y
1508# CONFIG_CRYPTO_SEQIV is not set
1466CONFIG_CRYPTO_HASH=y 1509CONFIG_CRYPTO_HASH=y
1467CONFIG_CRYPTO_MANAGER=y 1510CONFIG_CRYPTO_MANAGER=y
1468CONFIG_CRYPTO_HMAC=y 1511CONFIG_CRYPTO_HMAC=y
@@ -1481,6 +1524,9 @@ CONFIG_CRYPTO_CBC=y
1481CONFIG_CRYPTO_PCBC=m 1524CONFIG_CRYPTO_PCBC=m
1482# CONFIG_CRYPTO_LRW is not set 1525# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set 1526# CONFIG_CRYPTO_XTS is not set
1527# CONFIG_CRYPTO_CTR is not set
1528# CONFIG_CRYPTO_GCM is not set
1529# CONFIG_CRYPTO_CCM is not set
1484# CONFIG_CRYPTO_CRYPTD is not set 1530# CONFIG_CRYPTO_CRYPTD is not set
1485CONFIG_CRYPTO_DES=y 1531CONFIG_CRYPTO_DES=y
1486# CONFIG_CRYPTO_FCRYPT is not set 1532# CONFIG_CRYPTO_FCRYPT is not set
@@ -1495,11 +1541,14 @@ CONFIG_CRYPTO_DES=y
1495# CONFIG_CRYPTO_KHAZAD is not set 1541# CONFIG_CRYPTO_KHAZAD is not set
1496# CONFIG_CRYPTO_ANUBIS is not set 1542# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set 1543# CONFIG_CRYPTO_SEED is not set
1544# CONFIG_CRYPTO_SALSA20 is not set
1498# CONFIG_CRYPTO_DEFLATE is not set 1545# CONFIG_CRYPTO_DEFLATE is not set
1499# CONFIG_CRYPTO_MICHAEL_MIC is not set 1546# CONFIG_CRYPTO_MICHAEL_MIC is not set
1500# CONFIG_CRYPTO_CRC32C is not set 1547# CONFIG_CRYPTO_CRC32C is not set
1501# CONFIG_CRYPTO_CAMELLIA is not set 1548# CONFIG_CRYPTO_CAMELLIA is not set
1502# CONFIG_CRYPTO_TEST is not set 1549# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set 1550# CONFIG_CRYPTO_AUTHENC is not set
1551# CONFIG_CRYPTO_LZO is not set
1504CONFIG_CRYPTO_HW=y 1552CONFIG_CRYPTO_HW=y
1553# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1505# CONFIG_PPC_CLOCK is not set 1554# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8560_ads_defconfig b/arch/powerpc/configs/mpc8560_ads_defconfig
index 51f9693bacd..851ac911561 100644
--- a/arch/powerpc/configs/mpc8560_ads_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:48 2007 4# Mon Mar 24 08:48:27 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,15 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76# CONFIG_FAIR_GROUP_SCHED is not set 76# CONFIG_FAIR_GROUP_SCHED is not set
77# CONFIG_RT_GROUP_SCHED is not set
78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
78# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
79CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
80CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +94,13 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 94CONFIG_PRINTK=y
90CONFIG_BUG=y 95CONFIG_BUG=y
91CONFIG_ELF_CORE=y 96CONFIG_ELF_CORE=y
97CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 98CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 99CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 100CONFIG_ANON_INODES=y
95CONFIG_EPOLL=y 101CONFIG_EPOLL=y
96CONFIG_SIGNALFD=y 102CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 105CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 106CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +108,13 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 108# CONFIG_SLAB is not set
102CONFIG_SLUB=y 109CONFIG_SLUB=y
103# CONFIG_SLOB is not set 110# CONFIG_SLOB is not set
111# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y
114CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y
116CONFIG_PROC_PAGE_MONITOR=y
117CONFIG_SLABINFO=y
104CONFIG_RT_MUTEXES=y 118CONFIG_RT_MUTEXES=y
105# CONFIG_TINY_SHMEM is not set 119# CONFIG_TINY_SHMEM is not set
106CONFIG_BASE_SMALL=0 120CONFIG_BASE_SMALL=0
@@ -123,22 +137,30 @@ CONFIG_DEFAULT_AS=y
123# CONFIG_DEFAULT_CFQ is not set 137# CONFIG_DEFAULT_CFQ is not set
124# CONFIG_DEFAULT_NOOP is not set 138# CONFIG_DEFAULT_NOOP is not set
125CONFIG_DEFAULT_IOSCHED="anticipatory" 139CONFIG_DEFAULT_IOSCHED="anticipatory"
140CONFIG_CLASSIC_RCU=y
126 141
127# 142#
128# Platform support 143# Platform support
129# 144#
130# CONFIG_PPC_MPC52xx is not set 145# CONFIG_PPC_MPC512x is not set
131# CONFIG_PPC_MPC5200 is not set 146# CONFIG_PPC_MPC5121 is not set
132# CONFIG_PPC_CELL is not set 147# CONFIG_PPC_CELL is not set
133# CONFIG_PPC_CELL_NATIVE is not set 148# CONFIG_PPC_CELL_NATIVE is not set
134# CONFIG_PQ2ADS is not set 149# CONFIG_PQ2ADS is not set
150CONFIG_MPC85xx=y
135# CONFIG_MPC8540_ADS is not set 151# CONFIG_MPC8540_ADS is not set
136CONFIG_MPC8560_ADS=y 152CONFIG_MPC8560_ADS=y
137# CONFIG_MPC85xx_CDS is not set 153# CONFIG_MPC85xx_CDS is not set
138# CONFIG_MPC85xx_MDS is not set 154# CONFIG_MPC85xx_MDS is not set
139# CONFIG_MPC85xx_DS is not set 155# CONFIG_MPC85xx_DS is not set
140CONFIG_MPC8560=y 156# CONFIG_STX_GP3 is not set
141CONFIG_MPC85xx=y 157# CONFIG_TQM8540 is not set
158# CONFIG_TQM8541 is not set
159# CONFIG_TQM8555 is not set
160# CONFIG_TQM8560 is not set
161# CONFIG_SBC8548 is not set
162# CONFIG_SBC8560 is not set
163# CONFIG_IPIC is not set
142CONFIG_MPIC=y 164CONFIG_MPIC=y
143# CONFIG_MPIC_WEIRD is not set 165# CONFIG_MPIC_WEIRD is not set
144# CONFIG_PPC_I8259 is not set 166# CONFIG_PPC_I8259 is not set
@@ -167,13 +189,17 @@ CONFIG_HZ_250=y
167# CONFIG_HZ_300 is not set 189# CONFIG_HZ_300 is not set
168# CONFIG_HZ_1000 is not set 190# CONFIG_HZ_1000 is not set
169CONFIG_HZ=250 191CONFIG_HZ=250
192# CONFIG_SCHED_HRTICK is not set
170CONFIG_PREEMPT_NONE=y 193CONFIG_PREEMPT_NONE=y
171# CONFIG_PREEMPT_VOLUNTARY is not set 194# CONFIG_PREEMPT_VOLUNTARY is not set
172# CONFIG_PREEMPT is not set 195# CONFIG_PREEMPT is not set
173CONFIG_BINFMT_ELF=y 196CONFIG_BINFMT_ELF=y
174CONFIG_BINFMT_MISC=y 197CONFIG_BINFMT_MISC=y
175CONFIG_MATH_EMULATION=y 198CONFIG_MATH_EMULATION=y
199# CONFIG_IOMMU_HELPER is not set
176CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
177CONFIG_ARCH_FLATMEM_ENABLE=y 203CONFIG_ARCH_FLATMEM_ENABLE=y
178CONFIG_ARCH_POPULATES_NODE_MAP=y 204CONFIG_ARCH_POPULATES_NODE_MAP=y
179CONFIG_SELECT_MEMORY_MODEL=y 205CONFIG_SELECT_MEMORY_MODEL=y
@@ -192,11 +218,7 @@ CONFIG_VIRT_TO_BUS=y
192# CONFIG_PROC_DEVICETREE is not set 218# CONFIG_PROC_DEVICETREE is not set
193# CONFIG_CMDLINE_BOOL is not set 219# CONFIG_CMDLINE_BOOL is not set
194# CONFIG_PM is not set 220# CONFIG_PM is not set
195CONFIG_SUSPEND_UP_POSSIBLE=y
196CONFIG_HIBERNATION_UP_POSSIBLE=y
197# CONFIG_SECCOMP is not set 221# CONFIG_SECCOMP is not set
198CONFIG_WANT_DEVICE_TREE=y
199CONFIG_DEVICE_TREE=""
200CONFIG_ISA_DMA_API=y 222CONFIG_ISA_DMA_API=y
201 223
202# 224#
@@ -246,6 +268,7 @@ CONFIG_XFRM=y
246# CONFIG_XFRM_USER is not set 268# CONFIG_XFRM_USER is not set
247# CONFIG_XFRM_SUB_POLICY is not set 269# CONFIG_XFRM_SUB_POLICY is not set
248# CONFIG_XFRM_MIGRATE is not set 270# CONFIG_XFRM_MIGRATE is not set
271# CONFIG_XFRM_STATISTICS is not set
249# CONFIG_NET_KEY is not set 272# CONFIG_NET_KEY is not set
250CONFIG_INET=y 273CONFIG_INET=y
251CONFIG_IP_MULTICAST=y 274CONFIG_IP_MULTICAST=y
@@ -301,6 +324,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
301# 324#
302# CONFIG_NET_PKTGEN is not set 325# CONFIG_NET_PKTGEN is not set
303# CONFIG_HAMRADIO is not set 326# CONFIG_HAMRADIO is not set
327# CONFIG_CAN is not set
304# CONFIG_IRDA is not set 328# CONFIG_IRDA is not set
305# CONFIG_BT is not set 329# CONFIG_BT is not set
306# CONFIG_AF_RXRPC is not set 330# CONFIG_AF_RXRPC is not set
@@ -347,7 +371,7 @@ CONFIG_BLK_DEV_LOOP=y
347CONFIG_BLK_DEV_RAM=y 371CONFIG_BLK_DEV_RAM=y
348CONFIG_BLK_DEV_RAM_COUNT=16 372CONFIG_BLK_DEV_RAM_COUNT=16
349CONFIG_BLK_DEV_RAM_SIZE=32768 373CONFIG_BLK_DEV_RAM_SIZE=32768
350CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 374# CONFIG_BLK_DEV_XIP is not set
351# CONFIG_CDROM_PKTCDVD is not set 375# CONFIG_CDROM_PKTCDVD is not set
352# CONFIG_ATA_OVER_ETH is not set 376# CONFIG_ATA_OVER_ETH is not set
353CONFIG_MISC_DEVICES=y 377CONFIG_MISC_DEVICES=y
@@ -355,6 +379,8 @@ CONFIG_MISC_DEVICES=y
355# CONFIG_EEPROM_93CX6 is not set 379# CONFIG_EEPROM_93CX6 is not set
356# CONFIG_SGI_IOC4 is not set 380# CONFIG_SGI_IOC4 is not set
357# CONFIG_TIFM_CORE is not set 381# CONFIG_TIFM_CORE is not set
382# CONFIG_ENCLOSURE_SERVICES is not set
383CONFIG_HAVE_IDE=y
358# CONFIG_IDE is not set 384# CONFIG_IDE is not set
359 385
360# 386#
@@ -383,7 +409,6 @@ CONFIG_NETDEVICES=y
383# CONFIG_EQUALIZER is not set 409# CONFIG_EQUALIZER is not set
384# CONFIG_TUN is not set 410# CONFIG_TUN is not set
385# CONFIG_VETH is not set 411# CONFIG_VETH is not set
386# CONFIG_IP1000 is not set
387# CONFIG_ARCNET is not set 412# CONFIG_ARCNET is not set
388CONFIG_PHYLIB=y 413CONFIG_PHYLIB=y
389 414
@@ -399,6 +424,7 @@ CONFIG_DAVICOM_PHY=y
399# CONFIG_SMSC_PHY is not set 424# CONFIG_SMSC_PHY is not set
400# CONFIG_BROADCOM_PHY is not set 425# CONFIG_BROADCOM_PHY is not set
401# CONFIG_ICPLUS_PHY is not set 426# CONFIG_ICPLUS_PHY is not set
427# CONFIG_REALTEK_PHY is not set
402# CONFIG_FIXED_PHY is not set 428# CONFIG_FIXED_PHY is not set
403# CONFIG_MDIO_BITBANG is not set 429# CONFIG_MDIO_BITBANG is not set
404CONFIG_NET_ETHERNET=y 430CONFIG_NET_ETHERNET=y
@@ -426,6 +452,9 @@ CONFIG_E1000=y
426CONFIG_E1000_NAPI=y 452CONFIG_E1000_NAPI=y
427# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 453# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
428# CONFIG_E1000E is not set 454# CONFIG_E1000E is not set
455# CONFIG_E1000E_ENABLED is not set
456# CONFIG_IP1000 is not set
457# CONFIG_IGB is not set
429# CONFIG_NS83820 is not set 458# CONFIG_NS83820 is not set
430# CONFIG_HAMACHI is not set 459# CONFIG_HAMACHI is not set
431# CONFIG_YELLOWFIN is not set 460# CONFIG_YELLOWFIN is not set
@@ -452,6 +481,7 @@ CONFIG_NETDEV_10000=y
452# CONFIG_NIU is not set 481# CONFIG_NIU is not set
453# CONFIG_MLX4_CORE is not set 482# CONFIG_MLX4_CORE is not set
454# CONFIG_TEHUTI is not set 483# CONFIG_TEHUTI is not set
484# CONFIG_BNX2X is not set
455# CONFIG_TR is not set 485# CONFIG_TR is not set
456 486
457# 487#
@@ -464,7 +494,6 @@ CONFIG_NETDEV_10000=y
464# CONFIG_HIPPI is not set 494# CONFIG_HIPPI is not set
465# CONFIG_PPP is not set 495# CONFIG_PPP is not set
466# CONFIG_SLIP is not set 496# CONFIG_SLIP is not set
467# CONFIG_SHAPER is not set
468# CONFIG_NETCONSOLE is not set 497# CONFIG_NETCONSOLE is not set
469# CONFIG_NETPOLL is not set 498# CONFIG_NETPOLL is not set
470# CONFIG_NET_POLL_CONTROLLER is not set 499# CONFIG_NET_POLL_CONTROLLER is not set
@@ -507,6 +536,7 @@ CONFIG_INPUT=y
507# 536#
508# CONFIG_VT is not set 537# CONFIG_VT is not set
509# CONFIG_SERIAL_NONSTANDARD is not set 538# CONFIG_SERIAL_NONSTANDARD is not set
539# CONFIG_NOZOMI is not set
510 540
511# 541#
512# Serial drivers 542# Serial drivers
@@ -567,6 +597,7 @@ CONFIG_HWMON=y
567# CONFIG_SENSORS_W83627HF is not set 597# CONFIG_SENSORS_W83627HF is not set
568# CONFIG_SENSORS_W83627EHF is not set 598# CONFIG_SENSORS_W83627EHF is not set
569# CONFIG_HWMON_DEBUG_CHIP is not set 599# CONFIG_HWMON_DEBUG_CHIP is not set
600# CONFIG_THERMAL is not set
570# CONFIG_WATCHDOG is not set 601# CONFIG_WATCHDOG is not set
571 602
572# 603#
@@ -619,16 +650,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
619# 650#
620# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 651# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
621# 652#
622
623#
624# USB Gadget Support
625#
626# CONFIG_USB_GADGET is not set 653# CONFIG_USB_GADGET is not set
627# CONFIG_MMC is not set 654# CONFIG_MMC is not set
655# CONFIG_MEMSTICK is not set
628# CONFIG_NEW_LEDS is not set 656# CONFIG_NEW_LEDS is not set
629# CONFIG_INFINIBAND is not set 657# CONFIG_INFINIBAND is not set
630# CONFIG_EDAC is not set 658# CONFIG_EDAC is not set
631# CONFIG_RTC_CLASS is not set 659# CONFIG_RTC_CLASS is not set
660# CONFIG_DMADEVICES is not set
632 661
633# 662#
634# Userspace I/O 663# Userspace I/O
@@ -654,12 +683,10 @@ CONFIG_FS_MBCACHE=y
654# CONFIG_XFS_FS is not set 683# CONFIG_XFS_FS is not set
655# CONFIG_GFS2_FS is not set 684# CONFIG_GFS2_FS is not set
656# CONFIG_OCFS2_FS is not set 685# CONFIG_OCFS2_FS is not set
657# CONFIG_MINIX_FS is not set 686CONFIG_DNOTIFY=y
658# CONFIG_ROMFS_FS is not set
659CONFIG_INOTIFY=y 687CONFIG_INOTIFY=y
660CONFIG_INOTIFY_USER=y 688CONFIG_INOTIFY_USER=y
661# CONFIG_QUOTA is not set 689# CONFIG_QUOTA is not set
662CONFIG_DNOTIFY=y
663# CONFIG_AUTOFS_FS is not set 690# CONFIG_AUTOFS_FS is not set
664# CONFIG_AUTOFS4_FS is not set 691# CONFIG_AUTOFS4_FS is not set
665# CONFIG_FUSE_FS is not set 692# CONFIG_FUSE_FS is not set
@@ -701,8 +728,10 @@ CONFIG_TMPFS=y
701# CONFIG_EFS_FS is not set 728# CONFIG_EFS_FS is not set
702# CONFIG_CRAMFS is not set 729# CONFIG_CRAMFS is not set
703# CONFIG_VXFS_FS is not set 730# CONFIG_VXFS_FS is not set
731# CONFIG_MINIX_FS is not set
704# CONFIG_HPFS_FS is not set 732# CONFIG_HPFS_FS is not set
705# CONFIG_QNX4FS_FS is not set 733# CONFIG_QNX4FS_FS is not set
734# CONFIG_ROMFS_FS is not set
706# CONFIG_SYSV_FS is not set 735# CONFIG_SYSV_FS is not set
707# CONFIG_UFS_FS is not set 736# CONFIG_UFS_FS is not set
708CONFIG_NETWORK_FILESYSTEMS=y 737CONFIG_NETWORK_FILESYSTEMS=y
@@ -743,7 +772,6 @@ CONFIG_PARTITION_ADVANCED=y
743# CONFIG_SYSV68_PARTITION is not set 772# CONFIG_SYSV68_PARTITION is not set
744# CONFIG_NLS is not set 773# CONFIG_NLS is not set
745# CONFIG_DLM is not set 774# CONFIG_DLM is not set
746# CONFIG_UCC_SLOW is not set
747 775
748# 776#
749# Library routines 777# Library routines
@@ -759,7 +787,6 @@ CONFIG_PLIST=y
759CONFIG_HAS_IOMEM=y 787CONFIG_HAS_IOMEM=y
760CONFIG_HAS_IOPORT=y 788CONFIG_HAS_IOPORT=y
761CONFIG_HAS_DMA=y 789CONFIG_HAS_DMA=y
762# CONFIG_INSTRUMENTATION is not set
763 790
764# 791#
765# Kernel hacking 792# Kernel hacking
@@ -778,6 +805,7 @@ CONFIG_SCHED_DEBUG=y
778# CONFIG_SCHEDSTATS is not set 805# CONFIG_SCHEDSTATS is not set
779# CONFIG_TIMER_STATS is not set 806# CONFIG_TIMER_STATS is not set
780# CONFIG_SLUB_DEBUG_ON is not set 807# CONFIG_SLUB_DEBUG_ON is not set
808# CONFIG_SLUB_STATS is not set
781# CONFIG_DEBUG_RT_MUTEXES is not set 809# CONFIG_DEBUG_RT_MUTEXES is not set
782# CONFIG_RT_MUTEX_TESTER is not set 810# CONFIG_RT_MUTEX_TESTER is not set
783# CONFIG_DEBUG_SPINLOCK is not set 811# CONFIG_DEBUG_SPINLOCK is not set
@@ -790,8 +818,8 @@ CONFIG_DEBUG_MUTEXES=y
790# CONFIG_DEBUG_VM is not set 818# CONFIG_DEBUG_VM is not set
791# CONFIG_DEBUG_LIST is not set 819# CONFIG_DEBUG_LIST is not set
792# CONFIG_DEBUG_SG is not set 820# CONFIG_DEBUG_SG is not set
793CONFIG_FORCED_INLINING=y
794# CONFIG_BOOT_PRINTK_DELAY is not set 821# CONFIG_BOOT_PRINTK_DELAY is not set
822# CONFIG_BACKTRACE_SELF_TEST is not set
795# CONFIG_FAULT_INJECTION is not set 823# CONFIG_FAULT_INJECTION is not set
796# CONFIG_SAMPLES is not set 824# CONFIG_SAMPLES is not set
797# CONFIG_DEBUG_STACKOVERFLOW is not set 825# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -808,6 +836,50 @@ CONFIG_FORCED_INLINING=y
808# CONFIG_KEYS is not set 836# CONFIG_KEYS is not set
809# CONFIG_SECURITY is not set 837# CONFIG_SECURITY is not set
810# CONFIG_SECURITY_FILE_CAPABILITIES is not set 838# CONFIG_SECURITY_FILE_CAPABILITIES is not set
811# CONFIG_CRYPTO is not set 839CONFIG_CRYPTO=y
840# CONFIG_CRYPTO_SEQIV is not set
841# CONFIG_CRYPTO_MANAGER is not set
842# CONFIG_CRYPTO_HMAC is not set
843# CONFIG_CRYPTO_XCBC is not set
844# CONFIG_CRYPTO_NULL is not set
845# CONFIG_CRYPTO_MD4 is not set
846# CONFIG_CRYPTO_MD5 is not set
847# CONFIG_CRYPTO_SHA1 is not set
848# CONFIG_CRYPTO_SHA256 is not set
849# CONFIG_CRYPTO_SHA512 is not set
850# CONFIG_CRYPTO_WP512 is not set
851# CONFIG_CRYPTO_TGR192 is not set
852# CONFIG_CRYPTO_GF128MUL is not set
853# CONFIG_CRYPTO_ECB is not set
854# CONFIG_CRYPTO_CBC is not set
855# CONFIG_CRYPTO_PCBC is not set
856# CONFIG_CRYPTO_LRW is not set
857# CONFIG_CRYPTO_XTS is not set
858# CONFIG_CRYPTO_CTR is not set
859# CONFIG_CRYPTO_GCM is not set
860# CONFIG_CRYPTO_CCM is not set
861# CONFIG_CRYPTO_CRYPTD is not set
862# CONFIG_CRYPTO_DES is not set
863# CONFIG_CRYPTO_FCRYPT is not set
864# CONFIG_CRYPTO_BLOWFISH is not set
865# CONFIG_CRYPTO_TWOFISH is not set
866# CONFIG_CRYPTO_SERPENT is not set
867# CONFIG_CRYPTO_AES is not set
868# CONFIG_CRYPTO_CAST5 is not set
869# CONFIG_CRYPTO_CAST6 is not set
870# CONFIG_CRYPTO_TEA is not set
871# CONFIG_CRYPTO_ARC4 is not set
872# CONFIG_CRYPTO_KHAZAD is not set
873# CONFIG_CRYPTO_ANUBIS is not set
874# CONFIG_CRYPTO_SEED is not set
875# CONFIG_CRYPTO_SALSA20 is not set
876# CONFIG_CRYPTO_DEFLATE is not set
877# CONFIG_CRYPTO_MICHAEL_MIC is not set
878# CONFIG_CRYPTO_CRC32C is not set
879# CONFIG_CRYPTO_CAMELLIA is not set
880# CONFIG_CRYPTO_AUTHENC is not set
881# CONFIG_CRYPTO_LZO is not set
882CONFIG_CRYPTO_HW=y
883# CONFIG_CRYPTO_DEV_HIFN_795X is not set
812# CONFIG_PPC_CLOCK is not set 884# CONFIG_PPC_CLOCK is not set
813CONFIG_PPC_LIB_RHEAP=y 885CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8568mds_defconfig b/arch/powerpc/configs/mpc8568mds_defconfig
index f51b58ae329..e7da4b96cde 100644
--- a/arch/powerpc/configs/mpc8568mds_defconfig
+++ b/arch/powerpc/configs/mpc8568mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:50 2007 4# Mon Mar 24 08:48:28 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,15 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76# CONFIG_FAIR_GROUP_SCHED is not set 76# CONFIG_FAIR_GROUP_SCHED is not set
77# CONFIG_RT_GROUP_SCHED is not set
78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
78# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
79CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
80CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -87,11 +92,13 @@ CONFIG_HOTPLUG=y
87CONFIG_PRINTK=y 92CONFIG_PRINTK=y
88CONFIG_BUG=y 93CONFIG_BUG=y
89CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
90CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
91CONFIG_FUTEX=y 97CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
93# CONFIG_EPOLL is not set 99# CONFIG_EPOLL is not set
94CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
95CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
96CONFIG_SHMEM=y 103CONFIG_SHMEM=y
97CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
@@ -99,6 +106,13 @@ CONFIG_SLUB_DEBUG=y
99# CONFIG_SLAB is not set 106# CONFIG_SLAB is not set
100CONFIG_SLUB=y 107CONFIG_SLUB=y
101# CONFIG_SLOB is not set 108# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
115CONFIG_SLABINFO=y
102CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
103# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
104CONFIG_BASE_SMALL=0 118CONFIG_BASE_SMALL=0
@@ -126,21 +140,30 @@ CONFIG_DEFAULT_AS=y
126# CONFIG_DEFAULT_CFQ is not set 140# CONFIG_DEFAULT_CFQ is not set
127# CONFIG_DEFAULT_NOOP is not set 141# CONFIG_DEFAULT_NOOP is not set
128CONFIG_DEFAULT_IOSCHED="anticipatory" 142CONFIG_DEFAULT_IOSCHED="anticipatory"
143CONFIG_CLASSIC_RCU=y
129 144
130# 145#
131# Platform support 146# Platform support
132# 147#
133# CONFIG_PPC_MPC52xx is not set 148# CONFIG_PPC_MPC512x is not set
134# CONFIG_PPC_MPC5200 is not set 149# CONFIG_PPC_MPC5121 is not set
135# CONFIG_PPC_CELL is not set 150# CONFIG_PPC_CELL is not set
136# CONFIG_PPC_CELL_NATIVE is not set 151# CONFIG_PPC_CELL_NATIVE is not set
137# CONFIG_PQ2ADS is not set 152# CONFIG_PQ2ADS is not set
153CONFIG_MPC85xx=y
138# CONFIG_MPC8540_ADS is not set 154# CONFIG_MPC8540_ADS is not set
139# CONFIG_MPC8560_ADS is not set 155# CONFIG_MPC8560_ADS is not set
140# CONFIG_MPC85xx_CDS is not set 156# CONFIG_MPC85xx_CDS is not set
141CONFIG_MPC85xx_MDS=y 157CONFIG_MPC85xx_MDS=y
142# CONFIG_MPC85xx_DS is not set 158# CONFIG_MPC85xx_DS is not set
143CONFIG_MPC85xx=y 159# CONFIG_STX_GP3 is not set
160# CONFIG_TQM8540 is not set
161# CONFIG_TQM8541 is not set
162# CONFIG_TQM8555 is not set
163# CONFIG_TQM8560 is not set
164# CONFIG_SBC8548 is not set
165# CONFIG_SBC8560 is not set
166# CONFIG_IPIC is not set
144CONFIG_MPIC=y 167CONFIG_MPIC=y
145# CONFIG_MPIC_WEIRD is not set 168# CONFIG_MPIC_WEIRD is not set
146# CONFIG_PPC_I8259 is not set 169# CONFIG_PPC_I8259 is not set
@@ -168,13 +191,17 @@ CONFIG_HZ_250=y
168# CONFIG_HZ_300 is not set 191# CONFIG_HZ_300 is not set
169# CONFIG_HZ_1000 is not set 192# CONFIG_HZ_1000 is not set
170CONFIG_HZ=250 193CONFIG_HZ=250
194# CONFIG_SCHED_HRTICK is not set
171CONFIG_PREEMPT_NONE=y 195CONFIG_PREEMPT_NONE=y
172# CONFIG_PREEMPT_VOLUNTARY is not set 196# CONFIG_PREEMPT_VOLUNTARY is not set
173# CONFIG_PREEMPT is not set 197# CONFIG_PREEMPT is not set
174CONFIG_BINFMT_ELF=y 198CONFIG_BINFMT_ELF=y
175# CONFIG_BINFMT_MISC is not set 199# CONFIG_BINFMT_MISC is not set
176CONFIG_MATH_EMULATION=y 200CONFIG_MATH_EMULATION=y
201# CONFIG_IOMMU_HELPER is not set
177CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 202CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
203CONFIG_ARCH_HAS_WALK_MEMORY=y
204CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
178CONFIG_ARCH_FLATMEM_ENABLE=y 205CONFIG_ARCH_FLATMEM_ENABLE=y
179CONFIG_ARCH_POPULATES_NODE_MAP=y 206CONFIG_ARCH_POPULATES_NODE_MAP=y
180CONFIG_SELECT_MEMORY_MODEL=y 207CONFIG_SELECT_MEMORY_MODEL=y
@@ -193,11 +220,7 @@ CONFIG_VIRT_TO_BUS=y
193CONFIG_PROC_DEVICETREE=y 220CONFIG_PROC_DEVICETREE=y
194# CONFIG_CMDLINE_BOOL is not set 221# CONFIG_CMDLINE_BOOL is not set
195# CONFIG_PM is not set 222# CONFIG_PM is not set
196CONFIG_SUSPEND_UP_POSSIBLE=y
197CONFIG_HIBERNATION_UP_POSSIBLE=y
198CONFIG_SECCOMP=y 223CONFIG_SECCOMP=y
199CONFIG_WANT_DEVICE_TREE=y
200CONFIG_DEVICE_TREE=""
201CONFIG_ISA_DMA_API=y 224CONFIG_ISA_DMA_API=y
202 225
203# 226#
@@ -247,6 +270,7 @@ CONFIG_XFRM=y
247# CONFIG_XFRM_USER is not set 270# CONFIG_XFRM_USER is not set
248# CONFIG_XFRM_SUB_POLICY is not set 271# CONFIG_XFRM_SUB_POLICY is not set
249# CONFIG_XFRM_MIGRATE is not set 272# CONFIG_XFRM_MIGRATE is not set
273# CONFIG_XFRM_STATISTICS is not set
250# CONFIG_NET_KEY is not set 274# CONFIG_NET_KEY is not set
251CONFIG_INET=y 275CONFIG_INET=y
252CONFIG_IP_MULTICAST=y 276CONFIG_IP_MULTICAST=y
@@ -302,6 +326,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
302# 326#
303# CONFIG_NET_PKTGEN is not set 327# CONFIG_NET_PKTGEN is not set
304# CONFIG_HAMRADIO is not set 328# CONFIG_HAMRADIO is not set
329# CONFIG_CAN is not set
305# CONFIG_IRDA is not set 330# CONFIG_IRDA is not set
306# CONFIG_BT is not set 331# CONFIG_BT is not set
307# CONFIG_AF_RXRPC is not set 332# CONFIG_AF_RXRPC is not set
@@ -348,7 +373,7 @@ CONFIG_BLK_DEV_LOOP=y
348CONFIG_BLK_DEV_RAM=y 373CONFIG_BLK_DEV_RAM=y
349CONFIG_BLK_DEV_RAM_COUNT=16 374CONFIG_BLK_DEV_RAM_COUNT=16
350CONFIG_BLK_DEV_RAM_SIZE=32768 375CONFIG_BLK_DEV_RAM_SIZE=32768
351CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 376# CONFIG_BLK_DEV_XIP is not set
352# CONFIG_CDROM_PKTCDVD is not set 377# CONFIG_CDROM_PKTCDVD is not set
353# CONFIG_ATA_OVER_ETH is not set 378# CONFIG_ATA_OVER_ETH is not set
354CONFIG_MISC_DEVICES=y 379CONFIG_MISC_DEVICES=y
@@ -356,6 +381,8 @@ CONFIG_MISC_DEVICES=y
356# CONFIG_EEPROM_93CX6 is not set 381# CONFIG_EEPROM_93CX6 is not set
357# CONFIG_SGI_IOC4 is not set 382# CONFIG_SGI_IOC4 is not set
358# CONFIG_TIFM_CORE is not set 383# CONFIG_TIFM_CORE is not set
384# CONFIG_ENCLOSURE_SERVICES is not set
385CONFIG_HAVE_IDE=y
359# CONFIG_IDE is not set 386# CONFIG_IDE is not set
360 387
361# 388#
@@ -420,6 +447,7 @@ CONFIG_SCSI_LOWLEVEL=y
420# CONFIG_SCSI_IPS is not set 447# CONFIG_SCSI_IPS is not set
421# CONFIG_SCSI_INITIO is not set 448# CONFIG_SCSI_INITIO is not set
422# CONFIG_SCSI_INIA100 is not set 449# CONFIG_SCSI_INIA100 is not set
450# CONFIG_SCSI_MVSAS is not set
423# CONFIG_SCSI_STEX is not set 451# CONFIG_SCSI_STEX is not set
424# CONFIG_SCSI_SYM53C8XX_2 is not set 452# CONFIG_SCSI_SYM53C8XX_2 is not set
425# CONFIG_SCSI_QLOGIC_1280 is not set 453# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -450,7 +478,6 @@ CONFIG_NETDEVICES=y
450# CONFIG_EQUALIZER is not set 478# CONFIG_EQUALIZER is not set
451# CONFIG_TUN is not set 479# CONFIG_TUN is not set
452# CONFIG_VETH is not set 480# CONFIG_VETH is not set
453# CONFIG_IP1000 is not set
454# CONFIG_ARCNET is not set 481# CONFIG_ARCNET is not set
455CONFIG_PHYLIB=y 482CONFIG_PHYLIB=y
456 483
@@ -466,6 +493,7 @@ CONFIG_MARVELL_PHY=y
466# CONFIG_SMSC_PHY is not set 493# CONFIG_SMSC_PHY is not set
467# CONFIG_BROADCOM_PHY is not set 494# CONFIG_BROADCOM_PHY is not set
468# CONFIG_ICPLUS_PHY is not set 495# CONFIG_ICPLUS_PHY is not set
496# CONFIG_REALTEK_PHY is not set
469# CONFIG_FIXED_PHY is not set 497# CONFIG_FIXED_PHY is not set
470# CONFIG_MDIO_BITBANG is not set 498# CONFIG_MDIO_BITBANG is not set
471CONFIG_NET_ETHERNET=y 499CONFIG_NET_ETHERNET=y
@@ -487,6 +515,9 @@ CONFIG_NETDEV_1000=y
487# CONFIG_DL2K is not set 515# CONFIG_DL2K is not set
488# CONFIG_E1000 is not set 516# CONFIG_E1000 is not set
489# CONFIG_E1000E is not set 517# CONFIG_E1000E is not set
518# CONFIG_E1000E_ENABLED is not set
519# CONFIG_IP1000 is not set
520# CONFIG_IGB is not set
490# CONFIG_NS83820 is not set 521# CONFIG_NS83820 is not set
491# CONFIG_HAMACHI is not set 522# CONFIG_HAMACHI is not set
492# CONFIG_YELLOWFIN is not set 523# CONFIG_YELLOWFIN is not set
@@ -514,6 +545,7 @@ CONFIG_NETDEV_10000=y
514# CONFIG_NIU is not set 545# CONFIG_NIU is not set
515# CONFIG_MLX4_CORE is not set 546# CONFIG_MLX4_CORE is not set
516# CONFIG_TEHUTI is not set 547# CONFIG_TEHUTI is not set
548# CONFIG_BNX2X is not set
517# CONFIG_TR is not set 549# CONFIG_TR is not set
518 550
519# 551#
@@ -527,7 +559,6 @@ CONFIG_NETDEV_10000=y
527# CONFIG_PPP is not set 559# CONFIG_PPP is not set
528# CONFIG_SLIP is not set 560# CONFIG_SLIP is not set
529# CONFIG_NET_FC is not set 561# CONFIG_NET_FC is not set
530# CONFIG_SHAPER is not set
531# CONFIG_NETCONSOLE is not set 562# CONFIG_NETCONSOLE is not set
532# CONFIG_NETPOLL is not set 563# CONFIG_NETPOLL is not set
533# CONFIG_NET_POLL_CONTROLLER is not set 564# CONFIG_NET_POLL_CONTROLLER is not set
@@ -570,6 +601,7 @@ CONFIG_INPUT=y
570# 601#
571# CONFIG_VT is not set 602# CONFIG_VT is not set
572# CONFIG_SERIAL_NONSTANDARD is not set 603# CONFIG_SERIAL_NONSTANDARD is not set
604# CONFIG_NOZOMI is not set
573 605
574# 606#
575# Serial drivers 607# Serial drivers
@@ -590,6 +622,7 @@ CONFIG_SERIAL_CORE=y
590CONFIG_SERIAL_CORE_CONSOLE=y 622CONFIG_SERIAL_CORE_CONSOLE=y
591# CONFIG_SERIAL_JSM is not set 623# CONFIG_SERIAL_JSM is not set
592# CONFIG_SERIAL_OF_PLATFORM is not set 624# CONFIG_SERIAL_OF_PLATFORM is not set
625# CONFIG_SERIAL_QE is not set
593CONFIG_UNIX98_PTYS=y 626CONFIG_UNIX98_PTYS=y
594CONFIG_LEGACY_PTYS=y 627CONFIG_LEGACY_PTYS=y
595CONFIG_LEGACY_PTY_COUNT=256 628CONFIG_LEGACY_PTY_COUNT=256
@@ -644,14 +677,12 @@ CONFIG_I2C_MPC=y
644# 677#
645# Miscellaneous I2C Chip support 678# Miscellaneous I2C Chip support
646# 679#
647# CONFIG_SENSORS_DS1337 is not set
648# CONFIG_SENSORS_DS1374 is not set
649# CONFIG_DS1682 is not set 680# CONFIG_DS1682 is not set
650# CONFIG_SENSORS_EEPROM is not set 681# CONFIG_SENSORS_EEPROM is not set
651# CONFIG_SENSORS_PCF8574 is not set 682# CONFIG_SENSORS_PCF8574 is not set
652# CONFIG_SENSORS_PCA9539 is not set 683# CONFIG_PCF8575 is not set
653# CONFIG_SENSORS_PCF8591 is not set 684# CONFIG_SENSORS_PCF8591 is not set
654# CONFIG_SENSORS_M41T00 is not set 685# CONFIG_TPS65010 is not set
655# CONFIG_SENSORS_MAX6875 is not set 686# CONFIG_SENSORS_MAX6875 is not set
656# CONFIG_SENSORS_TSL2550 is not set 687# CONFIG_SENSORS_TSL2550 is not set
657# CONFIG_I2C_DEBUG_CORE is not set 688# CONFIG_I2C_DEBUG_CORE is not set
@@ -676,6 +707,7 @@ CONFIG_HWMON=y
676# CONFIG_SENSORS_ADM1031 is not set 707# CONFIG_SENSORS_ADM1031 is not set
677# CONFIG_SENSORS_ADM9240 is not set 708# CONFIG_SENSORS_ADM9240 is not set
678# CONFIG_SENSORS_ADT7470 is not set 709# CONFIG_SENSORS_ADT7470 is not set
710# CONFIG_SENSORS_ADT7473 is not set
679# CONFIG_SENSORS_ATXP1 is not set 711# CONFIG_SENSORS_ATXP1 is not set
680# CONFIG_SENSORS_DS1621 is not set 712# CONFIG_SENSORS_DS1621 is not set
681# CONFIG_SENSORS_I5K_AMB is not set 713# CONFIG_SENSORS_I5K_AMB is not set
@@ -705,6 +737,7 @@ CONFIG_HWMON=y
705# CONFIG_SENSORS_SMSC47M1 is not set 737# CONFIG_SENSORS_SMSC47M1 is not set
706# CONFIG_SENSORS_SMSC47M192 is not set 738# CONFIG_SENSORS_SMSC47M192 is not set
707# CONFIG_SENSORS_SMSC47B397 is not set 739# CONFIG_SENSORS_SMSC47B397 is not set
740# CONFIG_SENSORS_ADS7828 is not set
708# CONFIG_SENSORS_THMC50 is not set 741# CONFIG_SENSORS_THMC50 is not set
709# CONFIG_SENSORS_VIA686A is not set 742# CONFIG_SENSORS_VIA686A is not set
710# CONFIG_SENSORS_VT1211 is not set 743# CONFIG_SENSORS_VT1211 is not set
@@ -714,9 +747,11 @@ CONFIG_HWMON=y
714# CONFIG_SENSORS_W83792D is not set 747# CONFIG_SENSORS_W83792D is not set
715# CONFIG_SENSORS_W83793 is not set 748# CONFIG_SENSORS_W83793 is not set
716# CONFIG_SENSORS_W83L785TS is not set 749# CONFIG_SENSORS_W83L785TS is not set
750# CONFIG_SENSORS_W83L786NG is not set
717# CONFIG_SENSORS_W83627HF is not set 751# CONFIG_SENSORS_W83627HF is not set
718# CONFIG_SENSORS_W83627EHF is not set 752# CONFIG_SENSORS_W83627EHF is not set
719# CONFIG_HWMON_DEBUG_CHIP is not set 753# CONFIG_HWMON_DEBUG_CHIP is not set
754# CONFIG_THERMAL is not set
720CONFIG_WATCHDOG=y 755CONFIG_WATCHDOG=y
721# CONFIG_WATCHDOG_NOWAYOUT is not set 756# CONFIG_WATCHDOG_NOWAYOUT is not set
722 757
@@ -782,17 +817,18 @@ CONFIG_USB_ARCH_HAS_EHCI=y
782# 817#
783# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 818# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
784# 819#
785
786#
787# USB Gadget Support
788#
789# CONFIG_USB_GADGET is not set 820# CONFIG_USB_GADGET is not set
790# CONFIG_MMC is not set 821# CONFIG_MMC is not set
822# CONFIG_MEMSTICK is not set
791# CONFIG_NEW_LEDS is not set 823# CONFIG_NEW_LEDS is not set
792# CONFIG_INFINIBAND is not set 824# CONFIG_INFINIBAND is not set
793# CONFIG_EDAC is not set 825# CONFIG_EDAC is not set
794CONFIG_RTC_LIB=y 826CONFIG_RTC_LIB=y
795CONFIG_RTC_CLASS=y 827CONFIG_RTC_CLASS=y
828
829#
830# Conflicting RTC option has been selected, check GEN_RTC and RTC
831#
796CONFIG_RTC_HCTOSYS=y 832CONFIG_RTC_HCTOSYS=y
797CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 833CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
798# CONFIG_RTC_DEBUG is not set 834# CONFIG_RTC_DEBUG is not set
@@ -819,6 +855,7 @@ CONFIG_RTC_DRV_DS1374=y
819# CONFIG_RTC_DRV_PCF8563 is not set 855# CONFIG_RTC_DRV_PCF8563 is not set
820# CONFIG_RTC_DRV_PCF8583 is not set 856# CONFIG_RTC_DRV_PCF8583 is not set
821# CONFIG_RTC_DRV_M41T80 is not set 857# CONFIG_RTC_DRV_M41T80 is not set
858# CONFIG_RTC_DRV_S35390A is not set
822 859
823# 860#
824# SPI RTC drivers 861# SPI RTC drivers
@@ -828,9 +865,10 @@ CONFIG_RTC_DRV_DS1374=y
828# Platform RTC drivers 865# Platform RTC drivers
829# 866#
830# CONFIG_RTC_DRV_CMOS is not set 867# CONFIG_RTC_DRV_CMOS is not set
868# CONFIG_RTC_DRV_DS1511 is not set
831# CONFIG_RTC_DRV_DS1553 is not set 869# CONFIG_RTC_DRV_DS1553 is not set
832# CONFIG_RTC_DRV_STK17TA8 is not set
833# CONFIG_RTC_DRV_DS1742 is not set 870# CONFIG_RTC_DRV_DS1742 is not set
871# CONFIG_RTC_DRV_STK17TA8 is not set
834# CONFIG_RTC_DRV_M48T86 is not set 872# CONFIG_RTC_DRV_M48T86 is not set
835# CONFIG_RTC_DRV_M48T59 is not set 873# CONFIG_RTC_DRV_M48T59 is not set
836# CONFIG_RTC_DRV_V3020 is not set 874# CONFIG_RTC_DRV_V3020 is not set
@@ -838,6 +876,7 @@ CONFIG_RTC_DRV_DS1374=y
838# 876#
839# on-CPU RTC drivers 877# on-CPU RTC drivers
840# 878#
879# CONFIG_DMADEVICES is not set
841 880
842# 881#
843# Userspace I/O 882# Userspace I/O
@@ -863,12 +902,10 @@ CONFIG_FS_MBCACHE=y
863# CONFIG_XFS_FS is not set 902# CONFIG_XFS_FS is not set
864# CONFIG_GFS2_FS is not set 903# CONFIG_GFS2_FS is not set
865# CONFIG_OCFS2_FS is not set 904# CONFIG_OCFS2_FS is not set
866# CONFIG_MINIX_FS is not set 905CONFIG_DNOTIFY=y
867# CONFIG_ROMFS_FS is not set
868CONFIG_INOTIFY=y 906CONFIG_INOTIFY=y
869CONFIG_INOTIFY_USER=y 907CONFIG_INOTIFY_USER=y
870# CONFIG_QUOTA is not set 908# CONFIG_QUOTA is not set
871CONFIG_DNOTIFY=y
872# CONFIG_AUTOFS_FS is not set 909# CONFIG_AUTOFS_FS is not set
873# CONFIG_AUTOFS4_FS is not set 910# CONFIG_AUTOFS4_FS is not set
874# CONFIG_FUSE_FS is not set 911# CONFIG_FUSE_FS is not set
@@ -910,8 +947,10 @@ CONFIG_TMPFS=y
910# CONFIG_EFS_FS is not set 947# CONFIG_EFS_FS is not set
911# CONFIG_CRAMFS is not set 948# CONFIG_CRAMFS is not set
912# CONFIG_VXFS_FS is not set 949# CONFIG_VXFS_FS is not set
950# CONFIG_MINIX_FS is not set
913# CONFIG_HPFS_FS is not set 951# CONFIG_HPFS_FS is not set
914# CONFIG_QNX4FS_FS is not set 952# CONFIG_QNX4FS_FS is not set
953# CONFIG_ROMFS_FS is not set
915# CONFIG_SYSV_FS is not set 954# CONFIG_SYSV_FS is not set
916# CONFIG_UFS_FS is not set 955# CONFIG_UFS_FS is not set
917CONFIG_NETWORK_FILESYSTEMS=y 956CONFIG_NETWORK_FILESYSTEMS=y
@@ -955,7 +994,6 @@ CONFIG_PARTITION_ADVANCED=y
955# CONFIG_SYSV68_PARTITION is not set 994# CONFIG_SYSV68_PARTITION is not set
956# CONFIG_NLS is not set 995# CONFIG_NLS is not set
957# CONFIG_DLM is not set 996# CONFIG_DLM is not set
958# CONFIG_UCC_SLOW is not set
959 997
960# 998#
961# Library routines 999# Library routines
@@ -971,7 +1009,6 @@ CONFIG_PLIST=y
971CONFIG_HAS_IOMEM=y 1009CONFIG_HAS_IOMEM=y
972CONFIG_HAS_IOPORT=y 1010CONFIG_HAS_IOPORT=y
973CONFIG_HAS_DMA=y 1011CONFIG_HAS_DMA=y
974# CONFIG_INSTRUMENTATION is not set
975 1012
976# 1013#
977# Kernel hacking 1014# Kernel hacking
@@ -990,6 +1027,7 @@ CONFIG_SCHED_DEBUG=y
990# CONFIG_SCHEDSTATS is not set 1027# CONFIG_SCHEDSTATS is not set
991# CONFIG_TIMER_STATS is not set 1028# CONFIG_TIMER_STATS is not set
992# CONFIG_SLUB_DEBUG_ON is not set 1029# CONFIG_SLUB_DEBUG_ON is not set
1030# CONFIG_SLUB_STATS is not set
993# CONFIG_DEBUG_RT_MUTEXES is not set 1031# CONFIG_DEBUG_RT_MUTEXES is not set
994# CONFIG_RT_MUTEX_TESTER is not set 1032# CONFIG_RT_MUTEX_TESTER is not set
995# CONFIG_DEBUG_SPINLOCK is not set 1033# CONFIG_DEBUG_SPINLOCK is not set
@@ -1002,9 +1040,9 @@ CONFIG_SCHED_DEBUG=y
1002# CONFIG_DEBUG_VM is not set 1040# CONFIG_DEBUG_VM is not set
1003# CONFIG_DEBUG_LIST is not set 1041# CONFIG_DEBUG_LIST is not set
1004# CONFIG_DEBUG_SG is not set 1042# CONFIG_DEBUG_SG is not set
1005CONFIG_FORCED_INLINING=y
1006# CONFIG_BOOT_PRINTK_DELAY is not set 1043# CONFIG_BOOT_PRINTK_DELAY is not set
1007# CONFIG_RCU_TORTURE_TEST is not set 1044# CONFIG_RCU_TORTURE_TEST is not set
1045# CONFIG_BACKTRACE_SELF_TEST is not set
1008# CONFIG_FAULT_INJECTION is not set 1046# CONFIG_FAULT_INJECTION is not set
1009# CONFIG_SAMPLES is not set 1047# CONFIG_SAMPLES is not set
1010# CONFIG_DEBUG_STACKOVERFLOW is not set 1048# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1023,6 +1061,7 @@ CONFIG_PPC_EARLY_DEBUG=y
1023# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set 1061# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
1024# CONFIG_PPC_EARLY_DEBUG_BEAT is not set 1062# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
1025# CONFIG_PPC_EARLY_DEBUG_44x is not set 1063# CONFIG_PPC_EARLY_DEBUG_44x is not set
1064# CONFIG_PPC_EARLY_DEBUG_40x is not set
1026# CONFIG_PPC_EARLY_DEBUG_CPM is not set 1065# CONFIG_PPC_EARLY_DEBUG_CPM is not set
1027 1066
1028# 1067#
@@ -1034,6 +1073,7 @@ CONFIG_PPC_EARLY_DEBUG=y
1034CONFIG_CRYPTO=y 1073CONFIG_CRYPTO=y
1035CONFIG_CRYPTO_ALGAPI=y 1074CONFIG_CRYPTO_ALGAPI=y
1036CONFIG_CRYPTO_BLKCIPHER=y 1075CONFIG_CRYPTO_BLKCIPHER=y
1076# CONFIG_CRYPTO_SEQIV is not set
1037CONFIG_CRYPTO_MANAGER=y 1077CONFIG_CRYPTO_MANAGER=y
1038# CONFIG_CRYPTO_HMAC is not set 1078# CONFIG_CRYPTO_HMAC is not set
1039# CONFIG_CRYPTO_XCBC is not set 1079# CONFIG_CRYPTO_XCBC is not set
@@ -1051,6 +1091,9 @@ CONFIG_CRYPTO_CBC=y
1051CONFIG_CRYPTO_PCBC=m 1091CONFIG_CRYPTO_PCBC=m
1052# CONFIG_CRYPTO_LRW is not set 1092# CONFIG_CRYPTO_LRW is not set
1053# CONFIG_CRYPTO_XTS is not set 1093# CONFIG_CRYPTO_XTS is not set
1094# CONFIG_CRYPTO_CTR is not set
1095# CONFIG_CRYPTO_GCM is not set
1096# CONFIG_CRYPTO_CCM is not set
1054# CONFIG_CRYPTO_CRYPTD is not set 1097# CONFIG_CRYPTO_CRYPTD is not set
1055CONFIG_CRYPTO_DES=y 1098CONFIG_CRYPTO_DES=y
1056# CONFIG_CRYPTO_FCRYPT is not set 1099# CONFIG_CRYPTO_FCRYPT is not set
@@ -1065,12 +1108,15 @@ CONFIG_CRYPTO_DES=y
1065# CONFIG_CRYPTO_KHAZAD is not set 1108# CONFIG_CRYPTO_KHAZAD is not set
1066# CONFIG_CRYPTO_ANUBIS is not set 1109# CONFIG_CRYPTO_ANUBIS is not set
1067# CONFIG_CRYPTO_SEED is not set 1110# CONFIG_CRYPTO_SEED is not set
1111# CONFIG_CRYPTO_SALSA20 is not set
1068# CONFIG_CRYPTO_DEFLATE is not set 1112# CONFIG_CRYPTO_DEFLATE is not set
1069# CONFIG_CRYPTO_MICHAEL_MIC is not set 1113# CONFIG_CRYPTO_MICHAEL_MIC is not set
1070# CONFIG_CRYPTO_CRC32C is not set 1114# CONFIG_CRYPTO_CRC32C is not set
1071# CONFIG_CRYPTO_CAMELLIA is not set 1115# CONFIG_CRYPTO_CAMELLIA is not set
1072# CONFIG_CRYPTO_TEST is not set 1116# CONFIG_CRYPTO_TEST is not set
1073# CONFIG_CRYPTO_AUTHENC is not set 1117# CONFIG_CRYPTO_AUTHENC is not set
1118# CONFIG_CRYPTO_LZO is not set
1074CONFIG_CRYPTO_HW=y 1119CONFIG_CRYPTO_HW=y
1120# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1075# CONFIG_PPC_CLOCK is not set 1121# CONFIG_PPC_CLOCK is not set
1076CONFIG_PPC_LIB_RHEAP=y 1122CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8572_ds_defconfig b/arch/powerpc/configs/mpc8572_ds_defconfig
index b40802d17e0..460afe99c65 100644
--- a/arch/powerpc/configs/mpc8572_ds_defconfig
+++ b/arch/powerpc/configs/mpc8572_ds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:52 2007 4# Mon Mar 24 08:48:29 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -68,17 +69,21 @@ CONFIG_POSIX_MQUEUE=y
68CONFIG_BSD_PROCESS_ACCT=y 69CONFIG_BSD_PROCESS_ACCT=y
69# CONFIG_BSD_PROCESS_ACCT_V3 is not set 70# CONFIG_BSD_PROCESS_ACCT_V3 is not set
70# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
73CONFIG_AUDIT=y 72CONFIG_AUDIT=y
74# CONFIG_AUDITSYSCALL is not set 73# CONFIG_AUDITSYSCALL is not set
75CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
76CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=14 76CONFIG_LOG_BUF_SHIFT=14
78# CONFIG_CGROUPS is not set 77# CONFIG_CGROUPS is not set
78CONFIG_GROUP_SCHED=y
79# CONFIG_FAIR_GROUP_SCHED is not set 79# CONFIG_FAIR_GROUP_SCHED is not set
80# CONFIG_RT_GROUP_SCHED is not set
81CONFIG_USER_SCHED=y
82# CONFIG_CGROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y 83CONFIG_SYSFS_DEPRECATED=y
84CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_RELAY is not set 85# CONFIG_RELAY is not set
86# CONFIG_NAMESPACES is not set
82CONFIG_BLK_DEV_INITRD=y 87CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE="" 88CONFIG_INITRAMFS_SOURCE=""
84# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 89# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -92,11 +97,13 @@ CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 97CONFIG_PRINTK=y
93CONFIG_BUG=y 98CONFIG_BUG=y
94CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
95CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y 102CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y 103CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y 104CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y 105CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 108CONFIG_SHMEM=y
102CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
@@ -104,6 +111,14 @@ CONFIG_SLUB_DEBUG=y
104# CONFIG_SLAB is not set 111# CONFIG_SLAB is not set
105CONFIG_SLUB=y 112CONFIG_SLUB=y
106# CONFIG_SLOB is not set 113# CONFIG_SLOB is not set
114# CONFIG_PROFILING is not set
115# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set
118CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y
120CONFIG_PROC_PAGE_MONITOR=y
121CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y 122CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set 123# CONFIG_TINY_SHMEM is not set
109CONFIG_BASE_SMALL=0 124CONFIG_BASE_SMALL=0
@@ -131,21 +146,30 @@ CONFIG_IOSCHED_CFQ=y
131CONFIG_DEFAULT_CFQ=y 146CONFIG_DEFAULT_CFQ=y
132# CONFIG_DEFAULT_NOOP is not set 147# CONFIG_DEFAULT_NOOP is not set
133CONFIG_DEFAULT_IOSCHED="cfq" 148CONFIG_DEFAULT_IOSCHED="cfq"
149CONFIG_CLASSIC_RCU=y
134 150
135# 151#
136# Platform support 152# Platform support
137# 153#
138# CONFIG_PPC_MPC52xx is not set 154# CONFIG_PPC_MPC512x is not set
139# CONFIG_PPC_MPC5200 is not set 155# CONFIG_PPC_MPC5121 is not set
140# CONFIG_PPC_CELL is not set 156# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set 157# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set 158# CONFIG_PQ2ADS is not set
159CONFIG_MPC85xx=y
143# CONFIG_MPC8540_ADS is not set 160# CONFIG_MPC8540_ADS is not set
144# CONFIG_MPC8560_ADS is not set 161# CONFIG_MPC8560_ADS is not set
145# CONFIG_MPC85xx_CDS is not set 162# CONFIG_MPC85xx_CDS is not set
146# CONFIG_MPC85xx_MDS is not set 163# CONFIG_MPC85xx_MDS is not set
147CONFIG_MPC85xx_DS=y 164CONFIG_MPC85xx_DS=y
148CONFIG_MPC85xx=y 165# CONFIG_STX_GP3 is not set
166# CONFIG_TQM8540 is not set
167# CONFIG_TQM8541 is not set
168# CONFIG_TQM8555 is not set
169# CONFIG_TQM8560 is not set
170# CONFIG_SBC8548 is not set
171# CONFIG_SBC8560 is not set
172# CONFIG_IPIC is not set
149CONFIG_MPIC=y 173CONFIG_MPIC=y
150# CONFIG_MPIC_WEIRD is not set 174# CONFIG_MPIC_WEIRD is not set
151CONFIG_PPC_I8259=y 175CONFIG_PPC_I8259=y
@@ -172,13 +196,17 @@ CONFIG_HZ_250=y
172# CONFIG_HZ_300 is not set 196# CONFIG_HZ_300 is not set
173# CONFIG_HZ_1000 is not set 197# CONFIG_HZ_1000 is not set
174CONFIG_HZ=250 198CONFIG_HZ=250
199# CONFIG_SCHED_HRTICK is not set
175CONFIG_PREEMPT_NONE=y 200CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 201# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 202# CONFIG_PREEMPT is not set
178CONFIG_BINFMT_ELF=y 203CONFIG_BINFMT_ELF=y
179CONFIG_BINFMT_MISC=m 204CONFIG_BINFMT_MISC=m
180CONFIG_MATH_EMULATION=y 205CONFIG_MATH_EMULATION=y
206# CONFIG_IOMMU_HELPER is not set
181CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 207CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
208CONFIG_ARCH_HAS_WALK_MEMORY=y
209CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
182CONFIG_ARCH_FLATMEM_ENABLE=y 210CONFIG_ARCH_FLATMEM_ENABLE=y
183CONFIG_ARCH_POPULATES_NODE_MAP=y 211CONFIG_ARCH_POPULATES_NODE_MAP=y
184CONFIG_SELECT_MEMORY_MODEL=y 212CONFIG_SELECT_MEMORY_MODEL=y
@@ -197,11 +225,7 @@ CONFIG_VIRT_TO_BUS=y
197CONFIG_PROC_DEVICETREE=y 225CONFIG_PROC_DEVICETREE=y
198# CONFIG_CMDLINE_BOOL is not set 226# CONFIG_CMDLINE_BOOL is not set
199# CONFIG_PM is not set 227# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
202CONFIG_SECCOMP=y 228CONFIG_SECCOMP=y
203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE=""
205CONFIG_ISA_DMA_API=y 229CONFIG_ISA_DMA_API=y
206 230
207# 231#
@@ -252,6 +276,7 @@ CONFIG_XFRM=y
252CONFIG_XFRM_USER=y 276CONFIG_XFRM_USER=y
253# CONFIG_XFRM_SUB_POLICY is not set 277# CONFIG_XFRM_SUB_POLICY is not set
254# CONFIG_XFRM_MIGRATE is not set 278# CONFIG_XFRM_MIGRATE is not set
279# CONFIG_XFRM_STATISTICS is not set
255CONFIG_NET_KEY=m 280CONFIG_NET_KEY=m
256# CONFIG_NET_KEY_MIGRATE is not set 281# CONFIG_NET_KEY_MIGRATE is not set
257CONFIG_INET=y 282CONFIG_INET=y
@@ -335,6 +360,7 @@ CONFIG_SCTP_HMAC_MD5=y
335# 360#
336# CONFIG_NET_PKTGEN is not set 361# CONFIG_NET_PKTGEN is not set
337# CONFIG_HAMRADIO is not set 362# CONFIG_HAMRADIO is not set
363# CONFIG_CAN is not set
338# CONFIG_IRDA is not set 364# CONFIG_IRDA is not set
339# CONFIG_BT is not set 365# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 366# CONFIG_AF_RXRPC is not set
@@ -383,7 +409,7 @@ CONFIG_BLK_DEV_NBD=y
383CONFIG_BLK_DEV_RAM=y 409CONFIG_BLK_DEV_RAM=y
384CONFIG_BLK_DEV_RAM_COUNT=16 410CONFIG_BLK_DEV_RAM_COUNT=16
385CONFIG_BLK_DEV_RAM_SIZE=131072 411CONFIG_BLK_DEV_RAM_SIZE=131072
386CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 412# CONFIG_BLK_DEV_XIP is not set
387# CONFIG_CDROM_PKTCDVD is not set 413# CONFIG_CDROM_PKTCDVD is not set
388# CONFIG_ATA_OVER_ETH is not set 414# CONFIG_ATA_OVER_ETH is not set
389CONFIG_MISC_DEVICES=y 415CONFIG_MISC_DEVICES=y
@@ -391,6 +417,8 @@ CONFIG_MISC_DEVICES=y
391# CONFIG_EEPROM_93CX6 is not set 417# CONFIG_EEPROM_93CX6 is not set
392# CONFIG_SGI_IOC4 is not set 418# CONFIG_SGI_IOC4 is not set
393# CONFIG_TIFM_CORE is not set 419# CONFIG_TIFM_CORE is not set
420# CONFIG_ENCLOSURE_SERVICES is not set
421CONFIG_HAVE_IDE=y
394# CONFIG_IDE is not set 422# CONFIG_IDE is not set
395 423
396# 424#
@@ -456,6 +484,7 @@ CONFIG_SCSI_LOWLEVEL=y
456# CONFIG_SCSI_IPS is not set 484# CONFIG_SCSI_IPS is not set
457# CONFIG_SCSI_INITIO is not set 485# CONFIG_SCSI_INITIO is not set
458# CONFIG_SCSI_INIA100 is not set 486# CONFIG_SCSI_INIA100 is not set
487# CONFIG_SCSI_MVSAS is not set
459# CONFIG_SCSI_STEX is not set 488# CONFIG_SCSI_STEX is not set
460# CONFIG_SCSI_SYM53C8XX_2 is not set 489# CONFIG_SCSI_SYM53C8XX_2 is not set
461# CONFIG_SCSI_IPR is not set 490# CONFIG_SCSI_IPR is not set
@@ -486,6 +515,7 @@ CONFIG_SATA_AHCI=y
486# CONFIG_SATA_VIA is not set 515# CONFIG_SATA_VIA is not set
487# CONFIG_SATA_VITESSE is not set 516# CONFIG_SATA_VITESSE is not set
488# CONFIG_SATA_INIC162X is not set 517# CONFIG_SATA_INIC162X is not set
518# CONFIG_SATA_FSL is not set
489CONFIG_PATA_ALI=y 519CONFIG_PATA_ALI=y
490# CONFIG_PATA_AMD is not set 520# CONFIG_PATA_AMD is not set
491# CONFIG_PATA_ARTOP is not set 521# CONFIG_PATA_ARTOP is not set
@@ -509,6 +539,7 @@ CONFIG_PATA_ALI=y
509# CONFIG_PATA_MPIIX is not set 539# CONFIG_PATA_MPIIX is not set
510# CONFIG_PATA_OLDPIIX is not set 540# CONFIG_PATA_OLDPIIX is not set
511# CONFIG_PATA_NETCELL is not set 541# CONFIG_PATA_NETCELL is not set
542# CONFIG_PATA_NINJA32 is not set
512# CONFIG_PATA_NS87410 is not set 543# CONFIG_PATA_NS87410 is not set
513# CONFIG_PATA_NS87415 is not set 544# CONFIG_PATA_NS87415 is not set
514# CONFIG_PATA_OPTI is not set 545# CONFIG_PATA_OPTI is not set
@@ -542,7 +573,6 @@ CONFIG_DUMMY=y
542# CONFIG_EQUALIZER is not set 573# CONFIG_EQUALIZER is not set
543# CONFIG_TUN is not set 574# CONFIG_TUN is not set
544# CONFIG_VETH is not set 575# CONFIG_VETH is not set
545# CONFIG_IP1000 is not set
546# CONFIG_ARCNET is not set 576# CONFIG_ARCNET is not set
547CONFIG_PHYLIB=y 577CONFIG_PHYLIB=y
548 578
@@ -558,6 +588,7 @@ CONFIG_VITESSE_PHY=y
558# CONFIG_SMSC_PHY is not set 588# CONFIG_SMSC_PHY is not set
559# CONFIG_BROADCOM_PHY is not set 589# CONFIG_BROADCOM_PHY is not set
560# CONFIG_ICPLUS_PHY is not set 590# CONFIG_ICPLUS_PHY is not set
591# CONFIG_REALTEK_PHY is not set
561# CONFIG_FIXED_PHY is not set 592# CONFIG_FIXED_PHY is not set
562# CONFIG_MDIO_BITBANG is not set 593# CONFIG_MDIO_BITBANG is not set
563CONFIG_NET_ETHERNET=y 594CONFIG_NET_ETHERNET=y
@@ -579,6 +610,9 @@ CONFIG_NETDEV_1000=y
579# CONFIG_DL2K is not set 610# CONFIG_DL2K is not set
580# CONFIG_E1000 is not set 611# CONFIG_E1000 is not set
581# CONFIG_E1000E is not set 612# CONFIG_E1000E is not set
613# CONFIG_E1000E_ENABLED is not set
614# CONFIG_IP1000 is not set
615# CONFIG_IGB is not set
582# CONFIG_NS83820 is not set 616# CONFIG_NS83820 is not set
583# CONFIG_HAMACHI is not set 617# CONFIG_HAMACHI is not set
584# CONFIG_YELLOWFIN is not set 618# CONFIG_YELLOWFIN is not set
@@ -605,6 +639,7 @@ CONFIG_NETDEV_10000=y
605# CONFIG_NIU is not set 639# CONFIG_NIU is not set
606# CONFIG_MLX4_CORE is not set 640# CONFIG_MLX4_CORE is not set
607# CONFIG_TEHUTI is not set 641# CONFIG_TEHUTI is not set
642# CONFIG_BNX2X is not set
608# CONFIG_TR is not set 643# CONFIG_TR is not set
609 644
610# 645#
@@ -627,7 +662,6 @@ CONFIG_NETDEV_10000=y
627# CONFIG_PPP is not set 662# CONFIG_PPP is not set
628# CONFIG_SLIP is not set 663# CONFIG_SLIP is not set
629# CONFIG_NET_FC is not set 664# CONFIG_NET_FC is not set
630# CONFIG_SHAPER is not set
631# CONFIG_NETCONSOLE is not set 665# CONFIG_NETCONSOLE is not set
632# CONFIG_NETPOLL is not set 666# CONFIG_NETPOLL is not set
633# CONFIG_NET_POLL_CONTROLLER is not set 667# CONFIG_NET_POLL_CONTROLLER is not set
@@ -678,6 +712,7 @@ CONFIG_VT_CONSOLE=y
678CONFIG_HW_CONSOLE=y 712CONFIG_HW_CONSOLE=y
679# CONFIG_VT_HW_CONSOLE_BINDING is not set 713# CONFIG_VT_HW_CONSOLE_BINDING is not set
680# CONFIG_SERIAL_NONSTANDARD is not set 714# CONFIG_SERIAL_NONSTANDARD is not set
715# CONFIG_NOZOMI is not set
681 716
682# 717#
683# Serial drivers 718# Serial drivers
@@ -756,14 +791,12 @@ CONFIG_I2C_MPC=y
756# 791#
757# Miscellaneous I2C Chip support 792# Miscellaneous I2C Chip support
758# 793#
759# CONFIG_SENSORS_DS1337 is not set
760# CONFIG_SENSORS_DS1374 is not set
761# CONFIG_DS1682 is not set 794# CONFIG_DS1682 is not set
762CONFIG_SENSORS_EEPROM=y 795CONFIG_SENSORS_EEPROM=y
763# CONFIG_SENSORS_PCF8574 is not set 796# CONFIG_SENSORS_PCF8574 is not set
764# CONFIG_SENSORS_PCA9539 is not set 797# CONFIG_PCF8575 is not set
765# CONFIG_SENSORS_PCF8591 is not set 798# CONFIG_SENSORS_PCF8591 is not set
766# CONFIG_SENSORS_M41T00 is not set 799# CONFIG_TPS65010 is not set
767# CONFIG_SENSORS_MAX6875 is not set 800# CONFIG_SENSORS_MAX6875 is not set
768# CONFIG_SENSORS_TSL2550 is not set 801# CONFIG_SENSORS_TSL2550 is not set
769# CONFIG_I2C_DEBUG_CORE is not set 802# CONFIG_I2C_DEBUG_CORE is not set
@@ -779,6 +812,7 @@ CONFIG_SENSORS_EEPROM=y
779# CONFIG_W1 is not set 812# CONFIG_W1 is not set
780# CONFIG_POWER_SUPPLY is not set 813# CONFIG_POWER_SUPPLY is not set
781# CONFIG_HWMON is not set 814# CONFIG_HWMON is not set
815# CONFIG_THERMAL is not set
782# CONFIG_WATCHDOG is not set 816# CONFIG_WATCHDOG is not set
783 817
784# 818#
@@ -803,6 +837,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
803# 837#
804# Supported SAA7146 based PCI Adapters 838# Supported SAA7146 based PCI Adapters
805# 839#
840# CONFIG_TTPCI_EEPROM is not set
841# CONFIG_DVB_BUDGET_CORE is not set
806 842
807# 843#
808# Supported USB Adapters 844# Supported USB Adapters
@@ -888,11 +924,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
888# CONFIG_DVB_PLL is not set 924# CONFIG_DVB_PLL is not set
889# CONFIG_DVB_TDA826X is not set 925# CONFIG_DVB_TDA826X is not set
890# CONFIG_DVB_TDA827X is not set 926# CONFIG_DVB_TDA827X is not set
927# CONFIG_DVB_TDA18271 is not set
891# CONFIG_DVB_TUNER_QT1010 is not set 928# CONFIG_DVB_TUNER_QT1010 is not set
892# CONFIG_DVB_TUNER_MT2060 is not set 929# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set 930# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set 931# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set 932# CONFIG_DVB_TUNER_DIB0070 is not set
933# CONFIG_DVB_TUNER_XC5000 is not set
896 934
897# 935#
898# Miscellaneous devices 936# Miscellaneous devices
@@ -970,6 +1008,7 @@ CONFIG_SND_AC97_CODEC=y
970# CONFIG_SND_BT87X is not set 1008# CONFIG_SND_BT87X is not set
971# CONFIG_SND_CA0106 is not set 1009# CONFIG_SND_CA0106 is not set
972# CONFIG_SND_CMIPCI is not set 1010# CONFIG_SND_CMIPCI is not set
1011# CONFIG_SND_OXYGEN is not set
973# CONFIG_SND_CS4281 is not set 1012# CONFIG_SND_CS4281 is not set
974# CONFIG_SND_CS46XX is not set 1013# CONFIG_SND_CS46XX is not set
975# CONFIG_SND_CS5530 is not set 1014# CONFIG_SND_CS5530 is not set
@@ -995,6 +1034,7 @@ CONFIG_SND_AC97_CODEC=y
995# CONFIG_SND_HDA_INTEL is not set 1034# CONFIG_SND_HDA_INTEL is not set
996# CONFIG_SND_HDSP is not set 1035# CONFIG_SND_HDSP is not set
997# CONFIG_SND_HDSPM is not set 1036# CONFIG_SND_HDSPM is not set
1037# CONFIG_SND_HIFIER is not set
998# CONFIG_SND_ICE1712 is not set 1038# CONFIG_SND_ICE1712 is not set
999# CONFIG_SND_ICE1724 is not set 1039# CONFIG_SND_ICE1724 is not set
1000CONFIG_SND_INTEL8X0=y 1040CONFIG_SND_INTEL8X0=y
@@ -1012,6 +1052,7 @@ CONFIG_SND_INTEL8X0=y
1012# CONFIG_SND_TRIDENT is not set 1052# CONFIG_SND_TRIDENT is not set
1013# CONFIG_SND_VIA82XX is not set 1053# CONFIG_SND_VIA82XX is not set
1014# CONFIG_SND_VIA82XX_MODEM is not set 1054# CONFIG_SND_VIA82XX_MODEM is not set
1055# CONFIG_SND_VIRTUOSO is not set
1015# CONFIG_SND_VX222 is not set 1056# CONFIG_SND_VX222 is not set
1016# CONFIG_SND_YMFPCI is not set 1057# CONFIG_SND_YMFPCI is not set
1017# CONFIG_SND_AC97_POWER_SAVE is not set 1058# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1041,6 +1082,10 @@ CONFIG_SND_INTEL8X0=y
1041# 1082#
1042 1083
1043# 1084#
1085# ALSA SoC audio for Freescale SOCs
1086#
1087
1088#
1044# Open Sound System 1089# Open Sound System
1045# 1090#
1046# CONFIG_SOUND_PRIME is not set 1091# CONFIG_SOUND_PRIME is not set
@@ -1063,6 +1108,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1063CONFIG_USB_ARCH_HAS_EHCI=y 1108CONFIG_USB_ARCH_HAS_EHCI=y
1064CONFIG_USB=y 1109CONFIG_USB=y
1065# CONFIG_USB_DEBUG is not set 1110# CONFIG_USB_DEBUG is not set
1111# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1066 1112
1067# 1113#
1068# Miscellaneous USB options 1114# Miscellaneous USB options
@@ -1076,9 +1122,10 @@ CONFIG_USB_DEVICE_CLASS=y
1076# USB Host Controller Drivers 1122# USB Host Controller Drivers
1077# 1123#
1078CONFIG_USB_EHCI_HCD=y 1124CONFIG_USB_EHCI_HCD=y
1079# CONFIG_USB_EHCI_SPLIT_ISO is not set
1080# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1125# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1081# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1126# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1127# CONFIG_USB_EHCI_FSL is not set
1128CONFIG_USB_EHCI_HCD_PPC_OF=y
1082# CONFIG_USB_ISP116X_HCD is not set 1129# CONFIG_USB_ISP116X_HCD is not set
1083CONFIG_USB_OHCI_HCD=y 1130CONFIG_USB_OHCI_HCD=y
1084CONFIG_USB_OHCI_HCD_PPC_OF=y 1131CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1129,10 +1176,6 @@ CONFIG_USB_MON=y
1129# 1176#
1130# USB port drivers 1177# USB port drivers
1131# 1178#
1132
1133#
1134# USB Serial Converter support
1135#
1136# CONFIG_USB_SERIAL is not set 1179# CONFIG_USB_SERIAL is not set
1137 1180
1138# 1181#
@@ -1158,21 +1201,18 @@ CONFIG_USB_MON=y
1158# CONFIG_USB_TRANCEVIBRATOR is not set 1201# CONFIG_USB_TRANCEVIBRATOR is not set
1159# CONFIG_USB_IOWARRIOR is not set 1202# CONFIG_USB_IOWARRIOR is not set
1160# CONFIG_USB_TEST is not set 1203# CONFIG_USB_TEST is not set
1161
1162#
1163# USB DSL modem support
1164#
1165
1166#
1167# USB Gadget Support
1168#
1169# CONFIG_USB_GADGET is not set 1204# CONFIG_USB_GADGET is not set
1170# CONFIG_MMC is not set 1205# CONFIG_MMC is not set
1206# CONFIG_MEMSTICK is not set
1171# CONFIG_NEW_LEDS is not set 1207# CONFIG_NEW_LEDS is not set
1172# CONFIG_INFINIBAND is not set 1208# CONFIG_INFINIBAND is not set
1173# CONFIG_EDAC is not set 1209# CONFIG_EDAC is not set
1174CONFIG_RTC_LIB=y 1210CONFIG_RTC_LIB=y
1175CONFIG_RTC_CLASS=y 1211CONFIG_RTC_CLASS=y
1212
1213#
1214# Conflicting RTC option has been selected, check GEN_RTC and RTC
1215#
1176CONFIG_RTC_HCTOSYS=y 1216CONFIG_RTC_HCTOSYS=y
1177CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1217CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1178# CONFIG_RTC_DEBUG is not set 1218# CONFIG_RTC_DEBUG is not set
@@ -1199,6 +1239,7 @@ CONFIG_RTC_INTF_DEV=y
1199# CONFIG_RTC_DRV_PCF8563 is not set 1239# CONFIG_RTC_DRV_PCF8563 is not set
1200# CONFIG_RTC_DRV_PCF8583 is not set 1240# CONFIG_RTC_DRV_PCF8583 is not set
1201# CONFIG_RTC_DRV_M41T80 is not set 1241# CONFIG_RTC_DRV_M41T80 is not set
1242# CONFIG_RTC_DRV_S35390A is not set
1202 1243
1203# 1244#
1204# SPI RTC drivers 1245# SPI RTC drivers
@@ -1208,9 +1249,10 @@ CONFIG_RTC_INTF_DEV=y
1208# Platform RTC drivers 1249# Platform RTC drivers
1209# 1250#
1210CONFIG_RTC_DRV_CMOS=y 1251CONFIG_RTC_DRV_CMOS=y
1252# CONFIG_RTC_DRV_DS1511 is not set
1211# CONFIG_RTC_DRV_DS1553 is not set 1253# CONFIG_RTC_DRV_DS1553 is not set
1212# CONFIG_RTC_DRV_STK17TA8 is not set
1213# CONFIG_RTC_DRV_DS1742 is not set 1254# CONFIG_RTC_DRV_DS1742 is not set
1255# CONFIG_RTC_DRV_STK17TA8 is not set
1214# CONFIG_RTC_DRV_M48T86 is not set 1256# CONFIG_RTC_DRV_M48T86 is not set
1215# CONFIG_RTC_DRV_M48T59 is not set 1257# CONFIG_RTC_DRV_M48T59 is not set
1216# CONFIG_RTC_DRV_V3020 is not set 1258# CONFIG_RTC_DRV_V3020 is not set
@@ -1218,6 +1260,7 @@ CONFIG_RTC_DRV_CMOS=y
1218# 1260#
1219# on-CPU RTC drivers 1261# on-CPU RTC drivers
1220# 1262#
1263# CONFIG_DMADEVICES is not set
1221 1264
1222# 1265#
1223# Userspace I/O 1266# Userspace I/O
@@ -1243,12 +1286,10 @@ CONFIG_FS_MBCACHE=y
1243# CONFIG_XFS_FS is not set 1286# CONFIG_XFS_FS is not set
1244# CONFIG_GFS2_FS is not set 1287# CONFIG_GFS2_FS is not set
1245# CONFIG_OCFS2_FS is not set 1288# CONFIG_OCFS2_FS is not set
1246# CONFIG_MINIX_FS is not set 1289CONFIG_DNOTIFY=y
1247# CONFIG_ROMFS_FS is not set
1248CONFIG_INOTIFY=y 1290CONFIG_INOTIFY=y
1249CONFIG_INOTIFY_USER=y 1291CONFIG_INOTIFY_USER=y
1250# CONFIG_QUOTA is not set 1292# CONFIG_QUOTA is not set
1251CONFIG_DNOTIFY=y
1252# CONFIG_AUTOFS_FS is not set 1293# CONFIG_AUTOFS_FS is not set
1253# CONFIG_AUTOFS4_FS is not set 1294# CONFIG_AUTOFS4_FS is not set
1254# CONFIG_FUSE_FS is not set 1295# CONFIG_FUSE_FS is not set
@@ -1300,8 +1341,10 @@ CONFIG_BFS_FS=m
1300CONFIG_EFS_FS=m 1341CONFIG_EFS_FS=m
1301CONFIG_CRAMFS=y 1342CONFIG_CRAMFS=y
1302CONFIG_VXFS_FS=m 1343CONFIG_VXFS_FS=m
1344# CONFIG_MINIX_FS is not set
1303CONFIG_HPFS_FS=m 1345CONFIG_HPFS_FS=m
1304CONFIG_QNX4FS_FS=m 1346CONFIG_QNX4FS_FS=m
1347# CONFIG_ROMFS_FS is not set
1305CONFIG_SYSV_FS=m 1348CONFIG_SYSV_FS=m
1306CONFIG_UFS_FS=m 1349CONFIG_UFS_FS=m
1307# CONFIG_UFS_FS_WRITE is not set 1350# CONFIG_UFS_FS_WRITE is not set
@@ -1393,7 +1436,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1393# CONFIG_NLS_KOI8_U is not set 1436# CONFIG_NLS_KOI8_U is not set
1394CONFIG_NLS_UTF8=m 1437CONFIG_NLS_UTF8=m
1395# CONFIG_DLM is not set 1438# CONFIG_DLM is not set
1396# CONFIG_UCC_SLOW is not set
1397 1439
1398# 1440#
1399# Library routines 1441# Library routines
@@ -1410,7 +1452,6 @@ CONFIG_PLIST=y
1410CONFIG_HAS_IOMEM=y 1452CONFIG_HAS_IOMEM=y
1411CONFIG_HAS_IOPORT=y 1453CONFIG_HAS_IOPORT=y
1412CONFIG_HAS_DMA=y 1454CONFIG_HAS_DMA=y
1413# CONFIG_INSTRUMENTATION is not set
1414 1455
1415# 1456#
1416# Kernel hacking 1457# Kernel hacking
@@ -1429,6 +1470,7 @@ CONFIG_SCHED_DEBUG=y
1429# CONFIG_SCHEDSTATS is not set 1470# CONFIG_SCHEDSTATS is not set
1430# CONFIG_TIMER_STATS is not set 1471# CONFIG_TIMER_STATS is not set
1431# CONFIG_SLUB_DEBUG_ON is not set 1472# CONFIG_SLUB_DEBUG_ON is not set
1473# CONFIG_SLUB_STATS is not set
1432# CONFIG_DEBUG_RT_MUTEXES is not set 1474# CONFIG_DEBUG_RT_MUTEXES is not set
1433# CONFIG_RT_MUTEX_TESTER is not set 1475# CONFIG_RT_MUTEX_TESTER is not set
1434# CONFIG_DEBUG_SPINLOCK is not set 1476# CONFIG_DEBUG_SPINLOCK is not set
@@ -1442,9 +1484,9 @@ CONFIG_DEBUG_INFO=y
1442# CONFIG_DEBUG_VM is not set 1484# CONFIG_DEBUG_VM is not set
1443# CONFIG_DEBUG_LIST is not set 1485# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set 1486# CONFIG_DEBUG_SG is not set
1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set 1487# CONFIG_BOOT_PRINTK_DELAY is not set
1447# CONFIG_RCU_TORTURE_TEST is not set 1488# CONFIG_RCU_TORTURE_TEST is not set
1489# CONFIG_BACKTRACE_SELF_TEST is not set
1448# CONFIG_FAULT_INJECTION is not set 1490# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set 1491# CONFIG_SAMPLES is not set
1450# CONFIG_DEBUG_STACKOVERFLOW is not set 1492# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1463,6 +1505,7 @@ CONFIG_FORCED_INLINING=y
1463CONFIG_CRYPTO=y 1505CONFIG_CRYPTO=y
1464CONFIG_CRYPTO_ALGAPI=y 1506CONFIG_CRYPTO_ALGAPI=y
1465CONFIG_CRYPTO_BLKCIPHER=y 1507CONFIG_CRYPTO_BLKCIPHER=y
1508# CONFIG_CRYPTO_SEQIV is not set
1466CONFIG_CRYPTO_HASH=y 1509CONFIG_CRYPTO_HASH=y
1467CONFIG_CRYPTO_MANAGER=y 1510CONFIG_CRYPTO_MANAGER=y
1468CONFIG_CRYPTO_HMAC=y 1511CONFIG_CRYPTO_HMAC=y
@@ -1481,6 +1524,9 @@ CONFIG_CRYPTO_CBC=y
1481CONFIG_CRYPTO_PCBC=m 1524CONFIG_CRYPTO_PCBC=m
1482# CONFIG_CRYPTO_LRW is not set 1525# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set 1526# CONFIG_CRYPTO_XTS is not set
1527# CONFIG_CRYPTO_CTR is not set
1528# CONFIG_CRYPTO_GCM is not set
1529# CONFIG_CRYPTO_CCM is not set
1484# CONFIG_CRYPTO_CRYPTD is not set 1530# CONFIG_CRYPTO_CRYPTD is not set
1485CONFIG_CRYPTO_DES=y 1531CONFIG_CRYPTO_DES=y
1486# CONFIG_CRYPTO_FCRYPT is not set 1532# CONFIG_CRYPTO_FCRYPT is not set
@@ -1495,11 +1541,14 @@ CONFIG_CRYPTO_DES=y
1495# CONFIG_CRYPTO_KHAZAD is not set 1541# CONFIG_CRYPTO_KHAZAD is not set
1496# CONFIG_CRYPTO_ANUBIS is not set 1542# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set 1543# CONFIG_CRYPTO_SEED is not set
1544# CONFIG_CRYPTO_SALSA20 is not set
1498# CONFIG_CRYPTO_DEFLATE is not set 1545# CONFIG_CRYPTO_DEFLATE is not set
1499# CONFIG_CRYPTO_MICHAEL_MIC is not set 1546# CONFIG_CRYPTO_MICHAEL_MIC is not set
1500# CONFIG_CRYPTO_CRC32C is not set 1547# CONFIG_CRYPTO_CRC32C is not set
1501# CONFIG_CRYPTO_CAMELLIA is not set 1548# CONFIG_CRYPTO_CAMELLIA is not set
1502# CONFIG_CRYPTO_TEST is not set 1549# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set 1550# CONFIG_CRYPTO_AUTHENC is not set
1551# CONFIG_CRYPTO_LZO is not set
1504CONFIG_CRYPTO_HW=y 1552CONFIG_CRYPTO_HW=y
1553# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1505# CONFIG_PPC_CLOCK is not set 1554# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc85xx_cds_defconfig b/arch/powerpc/configs/mpc85xx_cds_defconfig
index 2f9ad589b00..a469fe91881 100644
--- a/arch/powerpc/configs/mpc85xx_cds_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:54 2007 4# Mon Mar 24 08:48:30 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,15 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76# CONFIG_FAIR_GROUP_SCHED is not set 76# CONFIG_FAIR_GROUP_SCHED is not set
77# CONFIG_RT_GROUP_SCHED is not set
78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
78# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
79CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
80CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +94,13 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 94CONFIG_PRINTK=y
90CONFIG_BUG=y 95CONFIG_BUG=y
91CONFIG_ELF_CORE=y 96CONFIG_ELF_CORE=y
97CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 98CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 99CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 100CONFIG_ANON_INODES=y
95CONFIG_EPOLL=y 101CONFIG_EPOLL=y
96CONFIG_SIGNALFD=y 102CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 105CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 106CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +108,13 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 108# CONFIG_SLAB is not set
102CONFIG_SLUB=y 109CONFIG_SLUB=y
103# CONFIG_SLOB is not set 110# CONFIG_SLOB is not set
111# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y
114CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y
116CONFIG_PROC_PAGE_MONITOR=y
117CONFIG_SLABINFO=y
104CONFIG_RT_MUTEXES=y 118CONFIG_RT_MUTEXES=y
105# CONFIG_TINY_SHMEM is not set 119# CONFIG_TINY_SHMEM is not set
106CONFIG_BASE_SMALL=0 120CONFIG_BASE_SMALL=0
@@ -123,22 +137,30 @@ CONFIG_DEFAULT_AS=y
123# CONFIG_DEFAULT_CFQ is not set 137# CONFIG_DEFAULT_CFQ is not set
124# CONFIG_DEFAULT_NOOP is not set 138# CONFIG_DEFAULT_NOOP is not set
125CONFIG_DEFAULT_IOSCHED="anticipatory" 139CONFIG_DEFAULT_IOSCHED="anticipatory"
140CONFIG_CLASSIC_RCU=y
126 141
127# 142#
128# Platform support 143# Platform support
129# 144#
130# CONFIG_PPC_MPC52xx is not set 145# CONFIG_PPC_MPC512x is not set
131# CONFIG_PPC_MPC5200 is not set 146# CONFIG_PPC_MPC5121 is not set
132# CONFIG_PPC_CELL is not set 147# CONFIG_PPC_CELL is not set
133# CONFIG_PPC_CELL_NATIVE is not set 148# CONFIG_PPC_CELL_NATIVE is not set
134# CONFIG_PQ2ADS is not set 149# CONFIG_PQ2ADS is not set
150CONFIG_MPC85xx=y
135# CONFIG_MPC8540_ADS is not set 151# CONFIG_MPC8540_ADS is not set
136# CONFIG_MPC8560_ADS is not set 152# CONFIG_MPC8560_ADS is not set
137CONFIG_MPC85xx_CDS=y 153CONFIG_MPC85xx_CDS=y
138# CONFIG_MPC85xx_MDS is not set 154# CONFIG_MPC85xx_MDS is not set
139# CONFIG_MPC85xx_DS is not set 155# CONFIG_MPC85xx_DS is not set
140CONFIG_MPC8540=y 156# CONFIG_STX_GP3 is not set
141CONFIG_MPC85xx=y 157# CONFIG_TQM8540 is not set
158# CONFIG_TQM8541 is not set
159# CONFIG_TQM8555 is not set
160# CONFIG_TQM8560 is not set
161# CONFIG_SBC8548 is not set
162# CONFIG_SBC8560 is not set
163# CONFIG_IPIC is not set
142CONFIG_MPIC=y 164CONFIG_MPIC=y
143# CONFIG_MPIC_WEIRD is not set 165# CONFIG_MPIC_WEIRD is not set
144CONFIG_PPC_I8259=y 166CONFIG_PPC_I8259=y
@@ -165,13 +187,17 @@ CONFIG_HZ_250=y
165# CONFIG_HZ_300 is not set 187# CONFIG_HZ_300 is not set
166# CONFIG_HZ_1000 is not set 188# CONFIG_HZ_1000 is not set
167CONFIG_HZ=250 189CONFIG_HZ=250
190# CONFIG_SCHED_HRTICK is not set
168CONFIG_PREEMPT_NONE=y 191CONFIG_PREEMPT_NONE=y
169# CONFIG_PREEMPT_VOLUNTARY is not set 192# CONFIG_PREEMPT_VOLUNTARY is not set
170# CONFIG_PREEMPT is not set 193# CONFIG_PREEMPT is not set
171CONFIG_BINFMT_ELF=y 194CONFIG_BINFMT_ELF=y
172CONFIG_BINFMT_MISC=y 195CONFIG_BINFMT_MISC=y
173CONFIG_MATH_EMULATION=y 196CONFIG_MATH_EMULATION=y
197# CONFIG_IOMMU_HELPER is not set
174CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 198CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
199CONFIG_ARCH_HAS_WALK_MEMORY=y
200CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
175CONFIG_ARCH_FLATMEM_ENABLE=y 201CONFIG_ARCH_FLATMEM_ENABLE=y
176CONFIG_ARCH_POPULATES_NODE_MAP=y 202CONFIG_ARCH_POPULATES_NODE_MAP=y
177CONFIG_SELECT_MEMORY_MODEL=y 203CONFIG_SELECT_MEMORY_MODEL=y
@@ -190,11 +216,7 @@ CONFIG_VIRT_TO_BUS=y
190CONFIG_PROC_DEVICETREE=y 216CONFIG_PROC_DEVICETREE=y
191# CONFIG_CMDLINE_BOOL is not set 217# CONFIG_CMDLINE_BOOL is not set
192# CONFIG_PM is not set 218# CONFIG_PM is not set
193CONFIG_SUSPEND_UP_POSSIBLE=y
194CONFIG_HIBERNATION_UP_POSSIBLE=y
195# CONFIG_SECCOMP is not set 219# CONFIG_SECCOMP is not set
196CONFIG_WANT_DEVICE_TREE=y
197CONFIG_DEVICE_TREE=""
198CONFIG_ISA_DMA_API=y 220CONFIG_ISA_DMA_API=y
199 221
200# 222#
@@ -244,6 +266,7 @@ CONFIG_XFRM=y
244CONFIG_XFRM_USER=y 266CONFIG_XFRM_USER=y
245# CONFIG_XFRM_SUB_POLICY is not set 267# CONFIG_XFRM_SUB_POLICY is not set
246# CONFIG_XFRM_MIGRATE is not set 268# CONFIG_XFRM_MIGRATE is not set
269# CONFIG_XFRM_STATISTICS is not set
247# CONFIG_NET_KEY is not set 270# CONFIG_NET_KEY is not set
248CONFIG_INET=y 271CONFIG_INET=y
249CONFIG_IP_MULTICAST=y 272CONFIG_IP_MULTICAST=y
@@ -299,6 +322,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
299# 322#
300# CONFIG_NET_PKTGEN is not set 323# CONFIG_NET_PKTGEN is not set
301# CONFIG_HAMRADIO is not set 324# CONFIG_HAMRADIO is not set
325# CONFIG_CAN is not set
302# CONFIG_IRDA is not set 326# CONFIG_IRDA is not set
303# CONFIG_BT is not set 327# CONFIG_BT is not set
304# CONFIG_AF_RXRPC is not set 328# CONFIG_AF_RXRPC is not set
@@ -345,7 +369,7 @@ CONFIG_BLK_DEV_LOOP=y
345CONFIG_BLK_DEV_RAM=y 369CONFIG_BLK_DEV_RAM=y
346CONFIG_BLK_DEV_RAM_COUNT=16 370CONFIG_BLK_DEV_RAM_COUNT=16
347CONFIG_BLK_DEV_RAM_SIZE=32768 371CONFIG_BLK_DEV_RAM_SIZE=32768
348CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 372# CONFIG_BLK_DEV_XIP is not set
349# CONFIG_CDROM_PKTCDVD is not set 373# CONFIG_CDROM_PKTCDVD is not set
350# CONFIG_ATA_OVER_ETH is not set 374# CONFIG_ATA_OVER_ETH is not set
351CONFIG_MISC_DEVICES=y 375CONFIG_MISC_DEVICES=y
@@ -353,12 +377,14 @@ CONFIG_MISC_DEVICES=y
353# CONFIG_EEPROM_93CX6 is not set 377# CONFIG_EEPROM_93CX6 is not set
354# CONFIG_SGI_IOC4 is not set 378# CONFIG_SGI_IOC4 is not set
355# CONFIG_TIFM_CORE is not set 379# CONFIG_TIFM_CORE is not set
380# CONFIG_ENCLOSURE_SERVICES is not set
381CONFIG_HAVE_IDE=y
356CONFIG_IDE=y 382CONFIG_IDE=y
357CONFIG_IDE_MAX_HWIFS=4 383CONFIG_IDE_MAX_HWIFS=4
358CONFIG_BLK_DEV_IDE=y 384CONFIG_BLK_DEV_IDE=y
359 385
360# 386#
361# Please see Documentation/ide.txt for help/info on IDE drives 387# Please see Documentation/ide/ide.txt for help/info on IDE drives
362# 388#
363# CONFIG_BLK_DEV_IDE_SATA is not set 389# CONFIG_BLK_DEV_IDE_SATA is not set
364# CONFIG_BLK_DEV_IDEDISK is not set 390# CONFIG_BLK_DEV_IDEDISK is not set
@@ -374,12 +400,12 @@ CONFIG_IDE_PROC_FS=y
374# 400#
375CONFIG_IDE_GENERIC=y 401CONFIG_IDE_GENERIC=y
376# CONFIG_BLK_DEV_PLATFORM is not set 402# CONFIG_BLK_DEV_PLATFORM is not set
403CONFIG_BLK_DEV_IDEDMA_SFF=y
377 404
378# 405#
379# PCI IDE chipsets support 406# PCI IDE chipsets support
380# 407#
381CONFIG_BLK_DEV_IDEPCI=y 408CONFIG_BLK_DEV_IDEPCI=y
382CONFIG_IDEPCI_SHARE_IRQ=y
383CONFIG_IDEPCI_PCIBUS_ORDER=y 409CONFIG_IDEPCI_PCIBUS_ORDER=y
384# CONFIG_BLK_DEV_OFFBOARD is not set 410# CONFIG_BLK_DEV_OFFBOARD is not set
385CONFIG_BLK_DEV_GENERIC=y 411CONFIG_BLK_DEV_GENERIC=y
@@ -410,7 +436,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
410# CONFIG_BLK_DEV_TRM290 is not set 436# CONFIG_BLK_DEV_TRM290 is not set
411CONFIG_BLK_DEV_VIA82CXXX=y 437CONFIG_BLK_DEV_VIA82CXXX=y
412# CONFIG_BLK_DEV_TC86C001 is not set 438# CONFIG_BLK_DEV_TC86C001 is not set
413# CONFIG_IDE_ARM is not set
414CONFIG_BLK_DEV_IDEDMA=y 439CONFIG_BLK_DEV_IDEDMA=y
415CONFIG_IDE_ARCH_OBSOLETE_INIT=y 440CONFIG_IDE_ARCH_OBSOLETE_INIT=y
416# CONFIG_BLK_DEV_HD is not set 441# CONFIG_BLK_DEV_HD is not set
@@ -441,7 +466,6 @@ CONFIG_NETDEVICES=y
441# CONFIG_EQUALIZER is not set 466# CONFIG_EQUALIZER is not set
442# CONFIG_TUN is not set 467# CONFIG_TUN is not set
443# CONFIG_VETH is not set 468# CONFIG_VETH is not set
444# CONFIG_IP1000 is not set
445# CONFIG_ARCNET is not set 469# CONFIG_ARCNET is not set
446CONFIG_PHYLIB=y 470CONFIG_PHYLIB=y
447 471
@@ -457,6 +481,7 @@ CONFIG_PHYLIB=y
457# CONFIG_SMSC_PHY is not set 481# CONFIG_SMSC_PHY is not set
458# CONFIG_BROADCOM_PHY is not set 482# CONFIG_BROADCOM_PHY is not set
459# CONFIG_ICPLUS_PHY is not set 483# CONFIG_ICPLUS_PHY is not set
484# CONFIG_REALTEK_PHY is not set
460# CONFIG_FIXED_PHY is not set 485# CONFIG_FIXED_PHY is not set
461# CONFIG_MDIO_BITBANG is not set 486# CONFIG_MDIO_BITBANG is not set
462CONFIG_NET_ETHERNET=y 487CONFIG_NET_ETHERNET=y
@@ -480,6 +505,9 @@ CONFIG_E1000=y
480CONFIG_E1000_NAPI=y 505CONFIG_E1000_NAPI=y
481# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 506# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
482# CONFIG_E1000E is not set 507# CONFIG_E1000E is not set
508# CONFIG_E1000E_ENABLED is not set
509# CONFIG_IP1000 is not set
510# CONFIG_IGB is not set
483# CONFIG_NS83820 is not set 511# CONFIG_NS83820 is not set
484# CONFIG_HAMACHI is not set 512# CONFIG_HAMACHI is not set
485# CONFIG_YELLOWFIN is not set 513# CONFIG_YELLOWFIN is not set
@@ -506,6 +534,7 @@ CONFIG_NETDEV_10000=y
506# CONFIG_NIU is not set 534# CONFIG_NIU is not set
507# CONFIG_MLX4_CORE is not set 535# CONFIG_MLX4_CORE is not set
508# CONFIG_TEHUTI is not set 536# CONFIG_TEHUTI is not set
537# CONFIG_BNX2X is not set
509# CONFIG_TR is not set 538# CONFIG_TR is not set
510 539
511# 540#
@@ -518,7 +547,6 @@ CONFIG_NETDEV_10000=y
518# CONFIG_HIPPI is not set 547# CONFIG_HIPPI is not set
519# CONFIG_PPP is not set 548# CONFIG_PPP is not set
520# CONFIG_SLIP is not set 549# CONFIG_SLIP is not set
521# CONFIG_SHAPER is not set
522# CONFIG_NETCONSOLE is not set 550# CONFIG_NETCONSOLE is not set
523# CONFIG_NETPOLL is not set 551# CONFIG_NETPOLL is not set
524# CONFIG_NET_POLL_CONTROLLER is not set 552# CONFIG_NET_POLL_CONTROLLER is not set
@@ -561,6 +589,7 @@ CONFIG_INPUT=y
561# 589#
562# CONFIG_VT is not set 590# CONFIG_VT is not set
563# CONFIG_SERIAL_NONSTANDARD is not set 591# CONFIG_SERIAL_NONSTANDARD is not set
592# CONFIG_NOZOMI is not set
564 593
565# 594#
566# Serial drivers 595# Serial drivers
@@ -620,6 +649,7 @@ CONFIG_HWMON=y
620# CONFIG_SENSORS_W83627HF is not set 649# CONFIG_SENSORS_W83627HF is not set
621# CONFIG_SENSORS_W83627EHF is not set 650# CONFIG_SENSORS_W83627EHF is not set
622# CONFIG_HWMON_DEBUG_CHIP is not set 651# CONFIG_HWMON_DEBUG_CHIP is not set
652# CONFIG_THERMAL is not set
623# CONFIG_WATCHDOG is not set 653# CONFIG_WATCHDOG is not set
624 654
625# 655#
@@ -672,16 +702,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
672# 702#
673# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 703# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
674# 704#
675
676#
677# USB Gadget Support
678#
679# CONFIG_USB_GADGET is not set 705# CONFIG_USB_GADGET is not set
680# CONFIG_MMC is not set 706# CONFIG_MMC is not set
707# CONFIG_MEMSTICK is not set
681# CONFIG_NEW_LEDS is not set 708# CONFIG_NEW_LEDS is not set
682# CONFIG_INFINIBAND is not set 709# CONFIG_INFINIBAND is not set
683# CONFIG_EDAC is not set 710# CONFIG_EDAC is not set
684# CONFIG_RTC_CLASS is not set 711# CONFIG_RTC_CLASS is not set
712# CONFIG_DMADEVICES is not set
685 713
686# 714#
687# Userspace I/O 715# Userspace I/O
@@ -707,12 +735,10 @@ CONFIG_FS_MBCACHE=y
707# CONFIG_XFS_FS is not set 735# CONFIG_XFS_FS is not set
708# CONFIG_GFS2_FS is not set 736# CONFIG_GFS2_FS is not set
709# CONFIG_OCFS2_FS is not set 737# CONFIG_OCFS2_FS is not set
710# CONFIG_MINIX_FS is not set 738CONFIG_DNOTIFY=y
711# CONFIG_ROMFS_FS is not set
712CONFIG_INOTIFY=y 739CONFIG_INOTIFY=y
713CONFIG_INOTIFY_USER=y 740CONFIG_INOTIFY_USER=y
714# CONFIG_QUOTA is not set 741# CONFIG_QUOTA is not set
715CONFIG_DNOTIFY=y
716# CONFIG_AUTOFS_FS is not set 742# CONFIG_AUTOFS_FS is not set
717# CONFIG_AUTOFS4_FS is not set 743# CONFIG_AUTOFS4_FS is not set
718# CONFIG_FUSE_FS is not set 744# CONFIG_FUSE_FS is not set
@@ -754,8 +780,10 @@ CONFIG_TMPFS=y
754# CONFIG_EFS_FS is not set 780# CONFIG_EFS_FS is not set
755# CONFIG_CRAMFS is not set 781# CONFIG_CRAMFS is not set
756# CONFIG_VXFS_FS is not set 782# CONFIG_VXFS_FS is not set
783# CONFIG_MINIX_FS is not set
757# CONFIG_HPFS_FS is not set 784# CONFIG_HPFS_FS is not set
758# CONFIG_QNX4FS_FS is not set 785# CONFIG_QNX4FS_FS is not set
786# CONFIG_ROMFS_FS is not set
759# CONFIG_SYSV_FS is not set 787# CONFIG_SYSV_FS is not set
760# CONFIG_UFS_FS is not set 788# CONFIG_UFS_FS is not set
761CONFIG_NETWORK_FILESYSTEMS=y 789CONFIG_NETWORK_FILESYSTEMS=y
@@ -796,7 +824,6 @@ CONFIG_PARTITION_ADVANCED=y
796# CONFIG_SYSV68_PARTITION is not set 824# CONFIG_SYSV68_PARTITION is not set
797# CONFIG_NLS is not set 825# CONFIG_NLS is not set
798# CONFIG_DLM is not set 826# CONFIG_DLM is not set
799# CONFIG_UCC_SLOW is not set
800 827
801# 828#
802# Library routines 829# Library routines
@@ -812,7 +839,6 @@ CONFIG_PLIST=y
812CONFIG_HAS_IOMEM=y 839CONFIG_HAS_IOMEM=y
813CONFIG_HAS_IOPORT=y 840CONFIG_HAS_IOPORT=y
814CONFIG_HAS_DMA=y 841CONFIG_HAS_DMA=y
815# CONFIG_INSTRUMENTATION is not set
816 842
817# 843#
818# Kernel hacking 844# Kernel hacking
@@ -831,6 +857,7 @@ CONFIG_SCHED_DEBUG=y
831# CONFIG_SCHEDSTATS is not set 857# CONFIG_SCHEDSTATS is not set
832# CONFIG_TIMER_STATS is not set 858# CONFIG_TIMER_STATS is not set
833# CONFIG_SLUB_DEBUG_ON is not set 859# CONFIG_SLUB_DEBUG_ON is not set
860# CONFIG_SLUB_STATS is not set
834# CONFIG_DEBUG_RT_MUTEXES is not set 861# CONFIG_DEBUG_RT_MUTEXES is not set
835# CONFIG_RT_MUTEX_TESTER is not set 862# CONFIG_RT_MUTEX_TESTER is not set
836# CONFIG_DEBUG_SPINLOCK is not set 863# CONFIG_DEBUG_SPINLOCK is not set
@@ -843,8 +870,8 @@ CONFIG_DEBUG_MUTEXES=y
843# CONFIG_DEBUG_VM is not set 870# CONFIG_DEBUG_VM is not set
844# CONFIG_DEBUG_LIST is not set 871# CONFIG_DEBUG_LIST is not set
845# CONFIG_DEBUG_SG is not set 872# CONFIG_DEBUG_SG is not set
846CONFIG_FORCED_INLINING=y
847# CONFIG_BOOT_PRINTK_DELAY is not set 873# CONFIG_BOOT_PRINTK_DELAY is not set
874# CONFIG_BACKTRACE_SELF_TEST is not set
848# CONFIG_FAULT_INJECTION is not set 875# CONFIG_FAULT_INJECTION is not set
849# CONFIG_SAMPLES is not set 876# CONFIG_SAMPLES is not set
850# CONFIG_DEBUG_STACKOVERFLOW is not set 877# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -860,5 +887,49 @@ CONFIG_FORCED_INLINING=y
860# CONFIG_KEYS is not set 887# CONFIG_KEYS is not set
861# CONFIG_SECURITY is not set 888# CONFIG_SECURITY is not set
862# CONFIG_SECURITY_FILE_CAPABILITIES is not set 889# CONFIG_SECURITY_FILE_CAPABILITIES is not set
863# CONFIG_CRYPTO is not set 890CONFIG_CRYPTO=y
891# CONFIG_CRYPTO_SEQIV is not set
892# CONFIG_CRYPTO_MANAGER is not set
893# CONFIG_CRYPTO_HMAC is not set
894# CONFIG_CRYPTO_XCBC is not set
895# CONFIG_CRYPTO_NULL is not set
896# CONFIG_CRYPTO_MD4 is not set
897# CONFIG_CRYPTO_MD5 is not set
898# CONFIG_CRYPTO_SHA1 is not set
899# CONFIG_CRYPTO_SHA256 is not set
900# CONFIG_CRYPTO_SHA512 is not set
901# CONFIG_CRYPTO_WP512 is not set
902# CONFIG_CRYPTO_TGR192 is not set
903# CONFIG_CRYPTO_GF128MUL is not set
904# CONFIG_CRYPTO_ECB is not set
905# CONFIG_CRYPTO_CBC is not set
906# CONFIG_CRYPTO_PCBC is not set
907# CONFIG_CRYPTO_LRW is not set
908# CONFIG_CRYPTO_XTS is not set
909# CONFIG_CRYPTO_CTR is not set
910# CONFIG_CRYPTO_GCM is not set
911# CONFIG_CRYPTO_CCM is not set
912# CONFIG_CRYPTO_CRYPTD is not set
913# CONFIG_CRYPTO_DES is not set
914# CONFIG_CRYPTO_FCRYPT is not set
915# CONFIG_CRYPTO_BLOWFISH is not set
916# CONFIG_CRYPTO_TWOFISH is not set
917# CONFIG_CRYPTO_SERPENT is not set
918# CONFIG_CRYPTO_AES is not set
919# CONFIG_CRYPTO_CAST5 is not set
920# CONFIG_CRYPTO_CAST6 is not set
921# CONFIG_CRYPTO_TEA is not set
922# CONFIG_CRYPTO_ARC4 is not set
923# CONFIG_CRYPTO_KHAZAD is not set
924# CONFIG_CRYPTO_ANUBIS is not set
925# CONFIG_CRYPTO_SEED is not set
926# CONFIG_CRYPTO_SALSA20 is not set
927# CONFIG_CRYPTO_DEFLATE is not set
928# CONFIG_CRYPTO_MICHAEL_MIC is not set
929# CONFIG_CRYPTO_CRC32C is not set
930# CONFIG_CRYPTO_CAMELLIA is not set
931# CONFIG_CRYPTO_AUTHENC is not set
932# CONFIG_CRYPTO_LZO is not set
933CONFIG_CRYPTO_HW=y
934# CONFIG_CRYPTO_DEV_HIFN_795X is not set
864# CONFIG_PPC_CLOCK is not set 935# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
index 90e38ba3832..615e4c1bf73 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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Mon Jan 28 13:12:07 2008 4# Mon Mar 24 08:48:31 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -17,6 +17,7 @@ CONFIG_PPC_85xx=y
17CONFIG_E500=y 17CONFIG_E500=y
18CONFIG_BOOKE=y 18CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
20# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
21CONFIG_SPE=y 22CONFIG_SPE=y
22# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +30,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +69,21 @@ CONFIG_POSIX_MQUEUE=y
67CONFIG_BSD_PROCESS_ACCT=y 69CONFIG_BSD_PROCESS_ACCT=y
68# CONFIG_BSD_PROCESS_ACCT_V3 is not set 70# CONFIG_BSD_PROCESS_ACCT_V3 is not set
69# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72CONFIG_AUDIT=y 72CONFIG_AUDIT=y
73# CONFIG_AUDITSYSCALL is not set 73# CONFIG_AUDITSYSCALL is not set
74CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
75CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
76CONFIG_LOG_BUF_SHIFT=14 76CONFIG_LOG_BUF_SHIFT=14
77# CONFIG_CGROUPS is not set 77# CONFIG_CGROUPS is not set
78CONFIG_GROUP_SCHED=y
78# CONFIG_FAIR_GROUP_SCHED is not set 79# CONFIG_FAIR_GROUP_SCHED is not set
80# CONFIG_RT_GROUP_SCHED is not set
81CONFIG_USER_SCHED=y
82# CONFIG_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 83CONFIG_SYSFS_DEPRECATED=y
84CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 85# CONFIG_RELAY is not set
86# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y 87CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 88CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 89# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -91,11 +97,13 @@ CONFIG_HOTPLUG=y
91CONFIG_PRINTK=y 97CONFIG_PRINTK=y
92CONFIG_BUG=y 98CONFIG_BUG=y
93CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
94CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
95CONFIG_FUTEX=y 102CONFIG_FUTEX=y
96CONFIG_ANON_INODES=y 103CONFIG_ANON_INODES=y
97CONFIG_EPOLL=y 104CONFIG_EPOLL=y
98CONFIG_SIGNALFD=y 105CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
100CONFIG_SHMEM=y 108CONFIG_SHMEM=y
101CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
@@ -103,6 +111,13 @@ CONFIG_SLUB_DEBUG=y
103# CONFIG_SLAB is not set 111# CONFIG_SLAB is not set
104CONFIG_SLUB=y 112CONFIG_SLUB=y
105# CONFIG_SLOB is not set 113# CONFIG_SLOB is not set
114# CONFIG_PROFILING is not set
115# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set
118CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y
120CONFIG_PROC_PAGE_MONITOR=y
106CONFIG_SLABINFO=y 121CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y 122CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set 123# CONFIG_TINY_SHMEM is not set
@@ -131,12 +146,13 @@ CONFIG_IOSCHED_CFQ=y
131CONFIG_DEFAULT_CFQ=y 146CONFIG_DEFAULT_CFQ=y
132# CONFIG_DEFAULT_NOOP is not set 147# CONFIG_DEFAULT_NOOP is not set
133CONFIG_DEFAULT_IOSCHED="cfq" 148CONFIG_DEFAULT_IOSCHED="cfq"
149CONFIG_CLASSIC_RCU=y
134 150
135# 151#
136# Platform support 152# Platform support
137# 153#
138# CONFIG_PPC_MPC52xx is not set 154# CONFIG_PPC_MPC512x is not set
139# CONFIG_PPC_MPC5200 is not set 155# CONFIG_PPC_MPC5121 is not set
140# CONFIG_PPC_CELL is not set 156# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set 157# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set 158# CONFIG_PQ2ADS is not set
@@ -184,13 +200,17 @@ CONFIG_HZ_250=y
184# CONFIG_HZ_300 is not set 200# CONFIG_HZ_300 is not set
185# CONFIG_HZ_1000 is not set 201# CONFIG_HZ_1000 is not set
186CONFIG_HZ=250 202CONFIG_HZ=250
203# CONFIG_SCHED_HRTICK is not set
187CONFIG_PREEMPT_NONE=y 204CONFIG_PREEMPT_NONE=y
188# CONFIG_PREEMPT_VOLUNTARY is not set 205# CONFIG_PREEMPT_VOLUNTARY is not set
189# CONFIG_PREEMPT is not set 206# CONFIG_PREEMPT is not set
190CONFIG_BINFMT_ELF=y 207CONFIG_BINFMT_ELF=y
191CONFIG_BINFMT_MISC=m 208CONFIG_BINFMT_MISC=m
192CONFIG_MATH_EMULATION=y 209CONFIG_MATH_EMULATION=y
210# CONFIG_IOMMU_HELPER is not set
193CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 211CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
212CONFIG_ARCH_HAS_WALK_MEMORY=y
213CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
194CONFIG_ARCH_FLATMEM_ENABLE=y 214CONFIG_ARCH_FLATMEM_ENABLE=y
195CONFIG_ARCH_POPULATES_NODE_MAP=y 215CONFIG_ARCH_POPULATES_NODE_MAP=y
196CONFIG_SELECT_MEMORY_MODEL=y 216CONFIG_SELECT_MEMORY_MODEL=y
@@ -209,11 +229,7 @@ CONFIG_VIRT_TO_BUS=y
209CONFIG_PROC_DEVICETREE=y 229CONFIG_PROC_DEVICETREE=y
210# CONFIG_CMDLINE_BOOL is not set 230# CONFIG_CMDLINE_BOOL is not set
211# CONFIG_PM is not set 231# CONFIG_PM is not set
212CONFIG_SUSPEND_UP_POSSIBLE=y
213CONFIG_HIBERNATION_UP_POSSIBLE=y
214CONFIG_SECCOMP=y 232CONFIG_SECCOMP=y
215CONFIG_WANT_DEVICE_TREE=y
216CONFIG_DEVICE_TREE=""
217CONFIG_ISA_DMA_API=y 233CONFIG_ISA_DMA_API=y
218 234
219# 235#
@@ -264,6 +280,7 @@ CONFIG_XFRM=y
264CONFIG_XFRM_USER=y 280CONFIG_XFRM_USER=y
265# CONFIG_XFRM_SUB_POLICY is not set 281# CONFIG_XFRM_SUB_POLICY is not set
266# CONFIG_XFRM_MIGRATE is not set 282# CONFIG_XFRM_MIGRATE is not set
283# CONFIG_XFRM_STATISTICS is not set
267CONFIG_NET_KEY=m 284CONFIG_NET_KEY=m
268# CONFIG_NET_KEY_MIGRATE is not set 285# CONFIG_NET_KEY_MIGRATE is not set
269CONFIG_INET=y 286CONFIG_INET=y
@@ -347,6 +364,7 @@ CONFIG_SCTP_HMAC_MD5=y
347# 364#
348# CONFIG_NET_PKTGEN is not set 365# CONFIG_NET_PKTGEN is not set
349# CONFIG_HAMRADIO is not set 366# CONFIG_HAMRADIO is not set
367# CONFIG_CAN is not set
350# CONFIG_IRDA is not set 368# CONFIG_IRDA is not set
351# CONFIG_BT is not set 369# CONFIG_BT is not set
352# CONFIG_AF_RXRPC is not set 370# CONFIG_AF_RXRPC is not set
@@ -395,7 +413,7 @@ CONFIG_BLK_DEV_NBD=y
395CONFIG_BLK_DEV_RAM=y 413CONFIG_BLK_DEV_RAM=y
396CONFIG_BLK_DEV_RAM_COUNT=16 414CONFIG_BLK_DEV_RAM_COUNT=16
397CONFIG_BLK_DEV_RAM_SIZE=131072 415CONFIG_BLK_DEV_RAM_SIZE=131072
398CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 416# CONFIG_BLK_DEV_XIP is not set
399# CONFIG_CDROM_PKTCDVD is not set 417# CONFIG_CDROM_PKTCDVD is not set
400# CONFIG_ATA_OVER_ETH is not set 418# CONFIG_ATA_OVER_ETH is not set
401CONFIG_MISC_DEVICES=y 419CONFIG_MISC_DEVICES=y
@@ -403,6 +421,8 @@ CONFIG_MISC_DEVICES=y
403# CONFIG_EEPROM_93CX6 is not set 421# CONFIG_EEPROM_93CX6 is not set
404# CONFIG_SGI_IOC4 is not set 422# CONFIG_SGI_IOC4 is not set
405# CONFIG_TIFM_CORE is not set 423# CONFIG_TIFM_CORE is not set
424# CONFIG_ENCLOSURE_SERVICES is not set
425CONFIG_HAVE_IDE=y
406# CONFIG_IDE is not set 426# CONFIG_IDE is not set
407 427
408# 428#
@@ -468,6 +488,7 @@ CONFIG_SCSI_LOWLEVEL=y
468# CONFIG_SCSI_IPS is not set 488# CONFIG_SCSI_IPS is not set
469# CONFIG_SCSI_INITIO is not set 489# CONFIG_SCSI_INITIO is not set
470# CONFIG_SCSI_INIA100 is not set 490# CONFIG_SCSI_INIA100 is not set
491# CONFIG_SCSI_MVSAS is not set
471# CONFIG_SCSI_STEX is not set 492# CONFIG_SCSI_STEX is not set
472# CONFIG_SCSI_SYM53C8XX_2 is not set 493# CONFIG_SCSI_SYM53C8XX_2 is not set
473# CONFIG_SCSI_IPR is not set 494# CONFIG_SCSI_IPR is not set
@@ -522,6 +543,7 @@ CONFIG_PATA_ALI=y
522# CONFIG_PATA_MPIIX is not set 543# CONFIG_PATA_MPIIX is not set
523# CONFIG_PATA_OLDPIIX is not set 544# CONFIG_PATA_OLDPIIX is not set
524# CONFIG_PATA_NETCELL is not set 545# CONFIG_PATA_NETCELL is not set
546# CONFIG_PATA_NINJA32 is not set
525# CONFIG_PATA_NS87410 is not set 547# CONFIG_PATA_NS87410 is not set
526# CONFIG_PATA_NS87415 is not set 548# CONFIG_PATA_NS87415 is not set
527# CONFIG_PATA_OPTI is not set 549# CONFIG_PATA_OPTI is not set
@@ -570,6 +592,7 @@ CONFIG_VITESSE_PHY=y
570# CONFIG_SMSC_PHY is not set 592# CONFIG_SMSC_PHY is not set
571# CONFIG_BROADCOM_PHY is not set 593# CONFIG_BROADCOM_PHY is not set
572# CONFIG_ICPLUS_PHY is not set 594# CONFIG_ICPLUS_PHY is not set
595# CONFIG_REALTEK_PHY is not set
573# CONFIG_FIXED_PHY is not set 596# CONFIG_FIXED_PHY is not set
574# CONFIG_MDIO_BITBANG is not set 597# CONFIG_MDIO_BITBANG is not set
575CONFIG_NET_ETHERNET=y 598CONFIG_NET_ETHERNET=y
@@ -592,7 +615,9 @@ CONFIG_NETDEV_1000=y
592# CONFIG_DL2K is not set 615# CONFIG_DL2K is not set
593# CONFIG_E1000 is not set 616# CONFIG_E1000 is not set
594# CONFIG_E1000E is not set 617# CONFIG_E1000E is not set
618# CONFIG_E1000E_ENABLED is not set
595# CONFIG_IP1000 is not set 619# CONFIG_IP1000 is not set
620# CONFIG_IGB is not set
596# CONFIG_NS83820 is not set 621# CONFIG_NS83820 is not set
597# CONFIG_HAMACHI is not set 622# CONFIG_HAMACHI is not set
598# CONFIG_YELLOWFIN is not set 623# CONFIG_YELLOWFIN is not set
@@ -620,6 +645,7 @@ CONFIG_NETDEV_10000=y
620# CONFIG_NIU is not set 645# CONFIG_NIU is not set
621# CONFIG_MLX4_CORE is not set 646# CONFIG_MLX4_CORE is not set
622# CONFIG_TEHUTI is not set 647# CONFIG_TEHUTI is not set
648# CONFIG_BNX2X is not set
623# CONFIG_TR is not set 649# CONFIG_TR is not set
624 650
625# 651#
@@ -642,7 +668,6 @@ CONFIG_NETDEV_10000=y
642# CONFIG_PPP is not set 668# CONFIG_PPP is not set
643# CONFIG_SLIP is not set 669# CONFIG_SLIP is not set
644# CONFIG_NET_FC is not set 670# CONFIG_NET_FC is not set
645# CONFIG_SHAPER is not set
646# CONFIG_NETCONSOLE is not set 671# CONFIG_NETCONSOLE is not set
647# CONFIG_NETPOLL is not set 672# CONFIG_NETPOLL is not set
648# CONFIG_NET_POLL_CONTROLLER is not set 673# CONFIG_NET_POLL_CONTROLLER is not set
@@ -693,6 +718,7 @@ CONFIG_VT_CONSOLE=y
693CONFIG_HW_CONSOLE=y 718CONFIG_HW_CONSOLE=y
694# CONFIG_VT_HW_CONSOLE_BINDING is not set 719# CONFIG_VT_HW_CONSOLE_BINDING is not set
695# CONFIG_SERIAL_NONSTANDARD is not set 720# CONFIG_SERIAL_NONSTANDARD is not set
721# CONFIG_NOZOMI is not set
696 722
697# 723#
698# Serial drivers 724# Serial drivers
@@ -773,14 +799,12 @@ CONFIG_I2C_MPC=y
773# 799#
774# Miscellaneous I2C Chip support 800# Miscellaneous I2C Chip support
775# 801#
776# CONFIG_SENSORS_DS1337 is not set
777# CONFIG_SENSORS_DS1374 is not set
778# CONFIG_DS1682 is not set 802# CONFIG_DS1682 is not set
779CONFIG_SENSORS_EEPROM=y 803CONFIG_SENSORS_EEPROM=y
780# CONFIG_SENSORS_PCF8574 is not set 804# CONFIG_SENSORS_PCF8574 is not set
781# CONFIG_SENSORS_PCA9539 is not set 805# CONFIG_PCF8575 is not set
782# CONFIG_SENSORS_PCF8591 is not set 806# CONFIG_SENSORS_PCF8591 is not set
783# CONFIG_SENSORS_M41T00 is not set 807# CONFIG_TPS65010 is not set
784# CONFIG_SENSORS_MAX6875 is not set 808# CONFIG_SENSORS_MAX6875 is not set
785# CONFIG_SENSORS_TSL2550 is not set 809# CONFIG_SENSORS_TSL2550 is not set
786# CONFIG_I2C_DEBUG_CORE is not set 810# CONFIG_I2C_DEBUG_CORE is not set
@@ -796,6 +820,7 @@ CONFIG_SENSORS_EEPROM=y
796# CONFIG_W1 is not set 820# CONFIG_W1 is not set
797# CONFIG_POWER_SUPPLY is not set 821# CONFIG_POWER_SUPPLY is not set
798# CONFIG_HWMON is not set 822# CONFIG_HWMON is not set
823# CONFIG_THERMAL is not set
799# CONFIG_WATCHDOG is not set 824# CONFIG_WATCHDOG is not set
800 825
801# 826#
@@ -820,6 +845,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
820# 845#
821# Supported SAA7146 based PCI Adapters 846# Supported SAA7146 based PCI Adapters
822# 847#
848# CONFIG_TTPCI_EEPROM is not set
849# CONFIG_DVB_BUDGET_CORE is not set
823 850
824# 851#
825# Supported USB Adapters 852# Supported USB Adapters
@@ -905,11 +932,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
905# CONFIG_DVB_PLL is not set 932# CONFIG_DVB_PLL is not set
906# CONFIG_DVB_TDA826X is not set 933# CONFIG_DVB_TDA826X is not set
907# CONFIG_DVB_TDA827X is not set 934# CONFIG_DVB_TDA827X is not set
935# CONFIG_DVB_TDA18271 is not set
908# CONFIG_DVB_TUNER_QT1010 is not set 936# CONFIG_DVB_TUNER_QT1010 is not set
909# CONFIG_DVB_TUNER_MT2060 is not set 937# CONFIG_DVB_TUNER_MT2060 is not set
910# CONFIG_DVB_TUNER_MT2266 is not set 938# CONFIG_DVB_TUNER_MT2266 is not set
911# CONFIG_DVB_TUNER_MT2131 is not set 939# CONFIG_DVB_TUNER_MT2131 is not set
912# CONFIG_DVB_TUNER_DIB0070 is not set 940# CONFIG_DVB_TUNER_DIB0070 is not set
941# CONFIG_DVB_TUNER_XC5000 is not set
913 942
914# 943#
915# Miscellaneous devices 944# Miscellaneous devices
@@ -987,6 +1016,7 @@ CONFIG_SND_AC97_CODEC=y
987# CONFIG_SND_BT87X is not set 1016# CONFIG_SND_BT87X is not set
988# CONFIG_SND_CA0106 is not set 1017# CONFIG_SND_CA0106 is not set
989# CONFIG_SND_CMIPCI is not set 1018# CONFIG_SND_CMIPCI is not set
1019# CONFIG_SND_OXYGEN is not set
990# CONFIG_SND_CS4281 is not set 1020# CONFIG_SND_CS4281 is not set
991# CONFIG_SND_CS46XX is not set 1021# CONFIG_SND_CS46XX is not set
992# CONFIG_SND_CS5530 is not set 1022# CONFIG_SND_CS5530 is not set
@@ -1012,6 +1042,7 @@ CONFIG_SND_AC97_CODEC=y
1012# CONFIG_SND_HDA_INTEL is not set 1042# CONFIG_SND_HDA_INTEL is not set
1013# CONFIG_SND_HDSP is not set 1043# CONFIG_SND_HDSP is not set
1014# CONFIG_SND_HDSPM is not set 1044# CONFIG_SND_HDSPM is not set
1045# CONFIG_SND_HIFIER is not set
1015# CONFIG_SND_ICE1712 is not set 1046# CONFIG_SND_ICE1712 is not set
1016# CONFIG_SND_ICE1724 is not set 1047# CONFIG_SND_ICE1724 is not set
1017CONFIG_SND_INTEL8X0=y 1048CONFIG_SND_INTEL8X0=y
@@ -1029,6 +1060,7 @@ CONFIG_SND_INTEL8X0=y
1029# CONFIG_SND_TRIDENT is not set 1060# CONFIG_SND_TRIDENT is not set
1030# CONFIG_SND_VIA82XX is not set 1061# CONFIG_SND_VIA82XX is not set
1031# CONFIG_SND_VIA82XX_MODEM is not set 1062# CONFIG_SND_VIA82XX_MODEM is not set
1063# CONFIG_SND_VIRTUOSO is not set
1032# CONFIG_SND_VX222 is not set 1064# CONFIG_SND_VX222 is not set
1033# CONFIG_SND_YMFPCI is not set 1065# CONFIG_SND_YMFPCI is not set
1034# CONFIG_SND_AC97_POWER_SAVE is not set 1066# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1058,6 +1090,10 @@ CONFIG_SND_INTEL8X0=y
1058# 1090#
1059 1091
1060# 1092#
1093# ALSA SoC audio for Freescale SOCs
1094#
1095
1096#
1061# Open Sound System 1097# Open Sound System
1062# 1098#
1063# CONFIG_SOUND_PRIME is not set 1099# CONFIG_SOUND_PRIME is not set
@@ -1080,6 +1116,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1080CONFIG_USB_ARCH_HAS_EHCI=y 1116CONFIG_USB_ARCH_HAS_EHCI=y
1081CONFIG_USB=y 1117CONFIG_USB=y
1082# CONFIG_USB_DEBUG is not set 1118# CONFIG_USB_DEBUG is not set
1119# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1083 1120
1084# 1121#
1085# Miscellaneous USB options 1122# Miscellaneous USB options
@@ -1093,9 +1130,10 @@ CONFIG_USB_DEVICE_CLASS=y
1093# USB Host Controller Drivers 1130# USB Host Controller Drivers
1094# 1131#
1095CONFIG_USB_EHCI_HCD=y 1132CONFIG_USB_EHCI_HCD=y
1096# CONFIG_USB_EHCI_SPLIT_ISO is not set
1097# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1133# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1098# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1134# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1135# CONFIG_USB_EHCI_FSL is not set
1136CONFIG_USB_EHCI_HCD_PPC_OF=y
1099# CONFIG_USB_ISP116X_HCD is not set 1137# CONFIG_USB_ISP116X_HCD is not set
1100CONFIG_USB_OHCI_HCD=y 1138CONFIG_USB_OHCI_HCD=y
1101CONFIG_USB_OHCI_HCD_PPC_OF=y 1139CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1146,10 +1184,6 @@ CONFIG_USB_MON=y
1146# 1184#
1147# USB port drivers 1185# USB port drivers
1148# 1186#
1149
1150#
1151# USB Serial Converter support
1152#
1153# CONFIG_USB_SERIAL is not set 1187# CONFIG_USB_SERIAL is not set
1154 1188
1155# 1189#
@@ -1175,21 +1209,18 @@ CONFIG_USB_MON=y
1175# CONFIG_USB_TRANCEVIBRATOR is not set 1209# CONFIG_USB_TRANCEVIBRATOR is not set
1176# CONFIG_USB_IOWARRIOR is not set 1210# CONFIG_USB_IOWARRIOR is not set
1177# CONFIG_USB_TEST is not set 1211# CONFIG_USB_TEST is not set
1178
1179#
1180# USB DSL modem support
1181#
1182
1183#
1184# USB Gadget Support
1185#
1186# CONFIG_USB_GADGET is not set 1212# CONFIG_USB_GADGET is not set
1187# CONFIG_MMC is not set 1213# CONFIG_MMC is not set
1214# CONFIG_MEMSTICK is not set
1188# CONFIG_NEW_LEDS is not set 1215# CONFIG_NEW_LEDS is not set
1189# CONFIG_INFINIBAND is not set 1216# CONFIG_INFINIBAND is not set
1190# CONFIG_EDAC is not set 1217# CONFIG_EDAC is not set
1191CONFIG_RTC_LIB=y 1218CONFIG_RTC_LIB=y
1192CONFIG_RTC_CLASS=y 1219CONFIG_RTC_CLASS=y
1220
1221#
1222# Conflicting RTC option has been selected, check GEN_RTC and RTC
1223#
1193CONFIG_RTC_HCTOSYS=y 1224CONFIG_RTC_HCTOSYS=y
1194CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1225CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1195# CONFIG_RTC_DEBUG is not set 1226# CONFIG_RTC_DEBUG is not set
@@ -1216,6 +1247,7 @@ CONFIG_RTC_INTF_DEV=y
1216# CONFIG_RTC_DRV_PCF8563 is not set 1247# CONFIG_RTC_DRV_PCF8563 is not set
1217# CONFIG_RTC_DRV_PCF8583 is not set 1248# CONFIG_RTC_DRV_PCF8583 is not set
1218# CONFIG_RTC_DRV_M41T80 is not set 1249# CONFIG_RTC_DRV_M41T80 is not set
1250# CONFIG_RTC_DRV_S35390A is not set
1219 1251
1220# 1252#
1221# SPI RTC drivers 1253# SPI RTC drivers
@@ -1225,9 +1257,10 @@ CONFIG_RTC_INTF_DEV=y
1225# Platform RTC drivers 1257# Platform RTC drivers
1226# 1258#
1227CONFIG_RTC_DRV_CMOS=y 1259CONFIG_RTC_DRV_CMOS=y
1260# CONFIG_RTC_DRV_DS1511 is not set
1228# CONFIG_RTC_DRV_DS1553 is not set 1261# CONFIG_RTC_DRV_DS1553 is not set
1229# CONFIG_RTC_DRV_STK17TA8 is not set
1230# CONFIG_RTC_DRV_DS1742 is not set 1262# CONFIG_RTC_DRV_DS1742 is not set
1263# CONFIG_RTC_DRV_STK17TA8 is not set
1231# CONFIG_RTC_DRV_M48T86 is not set 1264# CONFIG_RTC_DRV_M48T86 is not set
1232# CONFIG_RTC_DRV_M48T59 is not set 1265# CONFIG_RTC_DRV_M48T59 is not set
1233# CONFIG_RTC_DRV_V3020 is not set 1266# CONFIG_RTC_DRV_V3020 is not set
@@ -1235,6 +1268,7 @@ CONFIG_RTC_DRV_CMOS=y
1235# 1268#
1236# on-CPU RTC drivers 1269# on-CPU RTC drivers
1237# 1270#
1271# CONFIG_DMADEVICES is not set
1238 1272
1239# 1273#
1240# Userspace I/O 1274# Userspace I/O
@@ -1260,12 +1294,10 @@ CONFIG_FS_MBCACHE=y
1260# CONFIG_XFS_FS is not set 1294# CONFIG_XFS_FS is not set
1261# CONFIG_GFS2_FS is not set 1295# CONFIG_GFS2_FS is not set
1262# CONFIG_OCFS2_FS is not set 1296# CONFIG_OCFS2_FS is not set
1263# CONFIG_MINIX_FS is not set 1297CONFIG_DNOTIFY=y
1264# CONFIG_ROMFS_FS is not set
1265CONFIG_INOTIFY=y 1298CONFIG_INOTIFY=y
1266CONFIG_INOTIFY_USER=y 1299CONFIG_INOTIFY_USER=y
1267# CONFIG_QUOTA is not set 1300# CONFIG_QUOTA is not set
1268CONFIG_DNOTIFY=y
1269# CONFIG_AUTOFS_FS is not set 1301# CONFIG_AUTOFS_FS is not set
1270# CONFIG_AUTOFS4_FS is not set 1302# CONFIG_AUTOFS4_FS is not set
1271# CONFIG_FUSE_FS is not set 1303# CONFIG_FUSE_FS is not set
@@ -1317,8 +1349,10 @@ CONFIG_BFS_FS=m
1317CONFIG_EFS_FS=m 1349CONFIG_EFS_FS=m
1318CONFIG_CRAMFS=y 1350CONFIG_CRAMFS=y
1319CONFIG_VXFS_FS=m 1351CONFIG_VXFS_FS=m
1352# CONFIG_MINIX_FS is not set
1320CONFIG_HPFS_FS=m 1353CONFIG_HPFS_FS=m
1321CONFIG_QNX4FS_FS=m 1354CONFIG_QNX4FS_FS=m
1355# CONFIG_ROMFS_FS is not set
1322CONFIG_SYSV_FS=m 1356CONFIG_SYSV_FS=m
1323CONFIG_UFS_FS=m 1357CONFIG_UFS_FS=m
1324# CONFIG_UFS_FS_WRITE is not set 1358# CONFIG_UFS_FS_WRITE is not set
@@ -1426,7 +1460,6 @@ CONFIG_PLIST=y
1426CONFIG_HAS_IOMEM=y 1460CONFIG_HAS_IOMEM=y
1427CONFIG_HAS_IOPORT=y 1461CONFIG_HAS_IOPORT=y
1428CONFIG_HAS_DMA=y 1462CONFIG_HAS_DMA=y
1429# CONFIG_INSTRUMENTATION is not set
1430 1463
1431# 1464#
1432# Kernel hacking 1465# Kernel hacking
@@ -1445,6 +1478,7 @@ CONFIG_SCHED_DEBUG=y
1445# CONFIG_SCHEDSTATS is not set 1478# CONFIG_SCHEDSTATS is not set
1446# CONFIG_TIMER_STATS is not set 1479# CONFIG_TIMER_STATS is not set
1447# CONFIG_SLUB_DEBUG_ON is not set 1480# CONFIG_SLUB_DEBUG_ON is not set
1481# CONFIG_SLUB_STATS is not set
1448# CONFIG_DEBUG_RT_MUTEXES is not set 1482# CONFIG_DEBUG_RT_MUTEXES is not set
1449# CONFIG_RT_MUTEX_TESTER is not set 1483# CONFIG_RT_MUTEX_TESTER is not set
1450# CONFIG_DEBUG_SPINLOCK is not set 1484# CONFIG_DEBUG_SPINLOCK is not set
@@ -1458,9 +1492,9 @@ CONFIG_DEBUG_INFO=y
1458# CONFIG_DEBUG_VM is not set 1492# CONFIG_DEBUG_VM is not set
1459# CONFIG_DEBUG_LIST is not set 1493# CONFIG_DEBUG_LIST is not set
1460# CONFIG_DEBUG_SG is not set 1494# CONFIG_DEBUG_SG is not set
1461CONFIG_FORCED_INLINING=y
1462# CONFIG_BOOT_PRINTK_DELAY is not set 1495# CONFIG_BOOT_PRINTK_DELAY is not set
1463# CONFIG_RCU_TORTURE_TEST is not set 1496# CONFIG_RCU_TORTURE_TEST is not set
1497# CONFIG_BACKTRACE_SELF_TEST is not set
1464# CONFIG_FAULT_INJECTION is not set 1498# CONFIG_FAULT_INJECTION is not set
1465# CONFIG_SAMPLES is not set 1499# CONFIG_SAMPLES is not set
1466# CONFIG_DEBUG_STACKOVERFLOW is not set 1500# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1480,6 +1514,7 @@ CONFIG_FORCED_INLINING=y
1480CONFIG_CRYPTO=y 1514CONFIG_CRYPTO=y
1481CONFIG_CRYPTO_ALGAPI=y 1515CONFIG_CRYPTO_ALGAPI=y
1482CONFIG_CRYPTO_BLKCIPHER=y 1516CONFIG_CRYPTO_BLKCIPHER=y
1517# CONFIG_CRYPTO_SEQIV is not set
1483CONFIG_CRYPTO_HASH=y 1518CONFIG_CRYPTO_HASH=y
1484CONFIG_CRYPTO_MANAGER=y 1519CONFIG_CRYPTO_MANAGER=y
1485CONFIG_CRYPTO_HMAC=y 1520CONFIG_CRYPTO_HMAC=y
@@ -1498,6 +1533,9 @@ CONFIG_CRYPTO_CBC=y
1498CONFIG_CRYPTO_PCBC=m 1533CONFIG_CRYPTO_PCBC=m
1499# CONFIG_CRYPTO_LRW is not set 1534# CONFIG_CRYPTO_LRW is not set
1500# CONFIG_CRYPTO_XTS is not set 1535# CONFIG_CRYPTO_XTS is not set
1536# CONFIG_CRYPTO_CTR is not set
1537# CONFIG_CRYPTO_GCM is not set
1538# CONFIG_CRYPTO_CCM is not set
1501# CONFIG_CRYPTO_CRYPTD is not set 1539# CONFIG_CRYPTO_CRYPTD is not set
1502CONFIG_CRYPTO_DES=y 1540CONFIG_CRYPTO_DES=y
1503# CONFIG_CRYPTO_FCRYPT is not set 1541# CONFIG_CRYPTO_FCRYPT is not set
@@ -1512,12 +1550,15 @@ CONFIG_CRYPTO_DES=y
1512# CONFIG_CRYPTO_KHAZAD is not set 1550# CONFIG_CRYPTO_KHAZAD is not set
1513# CONFIG_CRYPTO_ANUBIS is not set 1551# CONFIG_CRYPTO_ANUBIS is not set
1514# CONFIG_CRYPTO_SEED is not set 1552# CONFIG_CRYPTO_SEED is not set
1553# CONFIG_CRYPTO_SALSA20 is not set
1515# CONFIG_CRYPTO_DEFLATE is not set 1554# CONFIG_CRYPTO_DEFLATE is not set
1516# CONFIG_CRYPTO_MICHAEL_MIC is not set 1555# CONFIG_CRYPTO_MICHAEL_MIC is not set
1517# CONFIG_CRYPTO_CRC32C is not set 1556# CONFIG_CRYPTO_CRC32C is not set
1518# CONFIG_CRYPTO_CAMELLIA is not set 1557# CONFIG_CRYPTO_CAMELLIA is not set
1519# CONFIG_CRYPTO_TEST is not set 1558# CONFIG_CRYPTO_TEST is not set
1520# CONFIG_CRYPTO_AUTHENC is not set 1559# CONFIG_CRYPTO_AUTHENC is not set
1560# CONFIG_CRYPTO_LZO is not set
1521CONFIG_CRYPTO_HW=y 1561CONFIG_CRYPTO_HW=y
1562# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1522# CONFIG_PPC_CLOCK is not set 1563# CONFIG_PPC_CLOCK is not set
1523CONFIG_PPC_LIB_RHEAP=y 1564CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc8610_hpcd_defconfig b/arch/powerpc/configs/mpc8610_hpcd_defconfig
index 2500ef42959..9270afe7594 100644
--- a/arch/powerpc/configs/mpc8610_hpcd_defconfig
+++ b/arch/powerpc/configs/mpc8610_hpcd_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:56 2007 4# Mon Mar 24 08:48:33 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -65,16 +66,20 @@ CONFIG_LOCALVERSION=""
65# CONFIG_POSIX_MQUEUE is not set 66# CONFIG_POSIX_MQUEUE is not set
66# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
67# CONFIG_TASKSTATS is not set 68# CONFIG_TASKSTATS is not set
68# CONFIG_USER_NS is not set
69# CONFIG_PID_NS is not set
70# CONFIG_AUDIT is not set 69# CONFIG_AUDIT is not set
71CONFIG_IKCONFIG=y 70CONFIG_IKCONFIG=y
72CONFIG_IKCONFIG_PROC=y 71CONFIG_IKCONFIG_PROC=y
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76# CONFIG_RT_GROUP_SCHED is not set
77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
77# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
78CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -88,11 +93,13 @@ CONFIG_HOTPLUG=y
88CONFIG_PRINTK=y 93CONFIG_PRINTK=y
89CONFIG_BUG=y 94CONFIG_BUG=y
90# CONFIG_ELF_CORE is not set 95# CONFIG_ELF_CORE is not set
96CONFIG_COMPAT_BRK=y
91CONFIG_BASE_FULL=y 97CONFIG_BASE_FULL=y
92CONFIG_FUTEX=y 98CONFIG_FUTEX=y
93CONFIG_ANON_INODES=y 99CONFIG_ANON_INODES=y
94CONFIG_EPOLL=y 100CONFIG_EPOLL=y
95CONFIG_SIGNALFD=y 101CONFIG_SIGNALFD=y
102CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y 103CONFIG_EVENTFD=y
97CONFIG_SHMEM=y 104CONFIG_SHMEM=y
98CONFIG_VM_EVENT_COUNTERS=y 105CONFIG_VM_EVENT_COUNTERS=y
@@ -100,6 +107,13 @@ CONFIG_SLUB_DEBUG=y
100# CONFIG_SLAB is not set 107# CONFIG_SLAB is not set
101CONFIG_SLUB=y 108CONFIG_SLUB=y
102# CONFIG_SLOB is not set 109# CONFIG_SLOB is not set
110# CONFIG_PROFILING is not set
111# CONFIG_MARKERS is not set
112CONFIG_HAVE_OPROFILE=y
113CONFIG_HAVE_KPROBES=y
114CONFIG_HAVE_KRETPROBES=y
115CONFIG_PROC_PAGE_MONITOR=y
116CONFIG_SLABINFO=y
103CONFIG_RT_MUTEXES=y 117CONFIG_RT_MUTEXES=y
104# CONFIG_TINY_SHMEM is not set 118# CONFIG_TINY_SHMEM is not set
105CONFIG_BASE_SMALL=0 119CONFIG_BASE_SMALL=0
@@ -122,6 +136,7 @@ CONFIG_DEFAULT_DEADLINE=y
122# CONFIG_DEFAULT_CFQ is not set 136# CONFIG_DEFAULT_CFQ is not set
123# CONFIG_DEFAULT_NOOP is not set 137# CONFIG_DEFAULT_NOOP is not set
124CONFIG_DEFAULT_IOSCHED="deadline" 138CONFIG_DEFAULT_IOSCHED="deadline"
139CONFIG_CLASSIC_RCU=y
125 140
126# 141#
127# Platform support 142# Platform support
@@ -130,14 +145,15 @@ CONFIG_DEFAULT_IOSCHED="deadline"
130# CONFIG_PPC_82xx is not set 145# CONFIG_PPC_82xx is not set
131# CONFIG_PPC_83xx is not set 146# CONFIG_PPC_83xx is not set
132CONFIG_PPC_86xx=y 147CONFIG_PPC_86xx=y
133# CONFIG_PPC_MPC52xx is not set 148# CONFIG_PPC_MPC512x is not set
134# CONFIG_PPC_MPC5200 is not set 149# CONFIG_PPC_MPC5121 is not set
135# CONFIG_PPC_CELL is not set 150# CONFIG_PPC_CELL is not set
136# CONFIG_PPC_CELL_NATIVE is not set 151# CONFIG_PPC_CELL_NATIVE is not set
137# CONFIG_PQ2ADS is not set 152# CONFIG_PQ2ADS is not set
138# CONFIG_MPC8641_HPCN is not set 153# CONFIG_MPC8641_HPCN is not set
139CONFIG_MPC8610_HPCD=y 154CONFIG_MPC8610_HPCD=y
140CONFIG_MPC8610=y 155CONFIG_MPC8610=y
156# CONFIG_IPIC is not set
141CONFIG_MPIC=y 157CONFIG_MPIC=y
142# CONFIG_MPIC_WEIRD is not set 158# CONFIG_MPIC_WEIRD is not set
143# CONFIG_PPC_I8259 is not set 159# CONFIG_PPC_I8259 is not set
@@ -148,7 +164,6 @@ CONFIG_MPIC=y
148# CONFIG_PPC_INDIRECT_IO is not set 164# CONFIG_PPC_INDIRECT_IO is not set
149# CONFIG_GENERIC_IOMAP is not set 165# CONFIG_GENERIC_IOMAP is not set
150# CONFIG_CPU_FREQ is not set 166# CONFIG_CPU_FREQ is not set
151# CONFIG_CPM2 is not set
152# CONFIG_FSL_ULI1575 is not set 167# CONFIG_FSL_ULI1575 is not set
153 168
154# 169#
@@ -164,12 +179,16 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
164# CONFIG_HZ_300 is not set 179# CONFIG_HZ_300 is not set
165CONFIG_HZ_1000=y 180CONFIG_HZ_1000=y
166CONFIG_HZ=1000 181CONFIG_HZ=1000
182# CONFIG_SCHED_HRTICK is not set
167CONFIG_PREEMPT_NONE=y 183CONFIG_PREEMPT_NONE=y
168# CONFIG_PREEMPT_VOLUNTARY is not set 184# CONFIG_PREEMPT_VOLUNTARY is not set
169# CONFIG_PREEMPT is not set 185# CONFIG_PREEMPT is not set
170CONFIG_BINFMT_ELF=y 186CONFIG_BINFMT_ELF=y
171# CONFIG_BINFMT_MISC is not set 187# CONFIG_BINFMT_MISC is not set
188# CONFIG_IOMMU_HELPER is not set
172CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 189CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
190CONFIG_ARCH_HAS_WALK_MEMORY=y
191CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
173CONFIG_ARCH_FLATMEM_ENABLE=y 192CONFIG_ARCH_FLATMEM_ENABLE=y
174CONFIG_ARCH_POPULATES_NODE_MAP=y 193CONFIG_ARCH_POPULATES_NODE_MAP=y
175CONFIG_SELECT_MEMORY_MODEL=y 194CONFIG_SELECT_MEMORY_MODEL=y
@@ -188,10 +207,7 @@ CONFIG_VIRT_TO_BUS=y
188CONFIG_PROC_DEVICETREE=y 207CONFIG_PROC_DEVICETREE=y
189# CONFIG_CMDLINE_BOOL is not set 208# CONFIG_CMDLINE_BOOL is not set
190# CONFIG_PM is not set 209# CONFIG_PM is not set
191CONFIG_SUSPEND_UP_POSSIBLE=y
192CONFIG_HIBERNATION_UP_POSSIBLE=y
193# CONFIG_SECCOMP is not set 210# CONFIG_SECCOMP is not set
194# CONFIG_WANT_DEVICE_TREE is not set
195CONFIG_ISA_DMA_API=y 211CONFIG_ISA_DMA_API=y
196 212
197# 213#
@@ -243,6 +259,7 @@ CONFIG_XFRM=y
243CONFIG_XFRM_USER=y 259CONFIG_XFRM_USER=y
244# CONFIG_XFRM_SUB_POLICY is not set 260# CONFIG_XFRM_SUB_POLICY is not set
245# CONFIG_XFRM_MIGRATE is not set 261# CONFIG_XFRM_MIGRATE is not set
262# CONFIG_XFRM_STATISTICS is not set
246# CONFIG_NET_KEY is not set 263# CONFIG_NET_KEY is not set
247CONFIG_INET=y 264CONFIG_INET=y
248# CONFIG_IP_MULTICAST is not set 265# CONFIG_IP_MULTICAST is not set
@@ -311,6 +328,7 @@ CONFIG_IPV6_SIT=y
311# 328#
312# CONFIG_NET_PKTGEN is not set 329# CONFIG_NET_PKTGEN is not set
313# CONFIG_HAMRADIO is not set 330# CONFIG_HAMRADIO is not set
331# CONFIG_CAN is not set
314# CONFIG_IRDA is not set 332# CONFIG_IRDA is not set
315# CONFIG_BT is not set 333# CONFIG_BT is not set
316# CONFIG_AF_RXRPC is not set 334# CONFIG_AF_RXRPC is not set
@@ -357,7 +375,7 @@ CONFIG_BLK_DEV_LOOP=y
357CONFIG_BLK_DEV_RAM=y 375CONFIG_BLK_DEV_RAM=y
358CONFIG_BLK_DEV_RAM_COUNT=16 376CONFIG_BLK_DEV_RAM_COUNT=16
359CONFIG_BLK_DEV_RAM_SIZE=131072 377CONFIG_BLK_DEV_RAM_SIZE=131072
360CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 378# CONFIG_BLK_DEV_XIP is not set
361# CONFIG_CDROM_PKTCDVD is not set 379# CONFIG_CDROM_PKTCDVD is not set
362# CONFIG_ATA_OVER_ETH is not set 380# CONFIG_ATA_OVER_ETH is not set
363CONFIG_MISC_DEVICES=y 381CONFIG_MISC_DEVICES=y
@@ -365,6 +383,8 @@ CONFIG_MISC_DEVICES=y
365# CONFIG_EEPROM_93CX6 is not set 383# CONFIG_EEPROM_93CX6 is not set
366# CONFIG_SGI_IOC4 is not set 384# CONFIG_SGI_IOC4 is not set
367# CONFIG_TIFM_CORE is not set 385# CONFIG_TIFM_CORE is not set
386# CONFIG_ENCLOSURE_SERVICES is not set
387CONFIG_HAVE_IDE=y
368CONFIG_IDE=y 388CONFIG_IDE=y
369CONFIG_IDE_MAX_HWIFS=4 389CONFIG_IDE_MAX_HWIFS=4
370# CONFIG_BLK_DEV_IDE is not set 390# CONFIG_BLK_DEV_IDE is not set
@@ -432,6 +452,7 @@ CONFIG_SCSI_LOWLEVEL=y
432# CONFIG_SCSI_IPS is not set 452# CONFIG_SCSI_IPS is not set
433# CONFIG_SCSI_INITIO is not set 453# CONFIG_SCSI_INITIO is not set
434# CONFIG_SCSI_INIA100 is not set 454# CONFIG_SCSI_INIA100 is not set
455# CONFIG_SCSI_MVSAS is not set
435# CONFIG_SCSI_STEX is not set 456# CONFIG_SCSI_STEX is not set
436# CONFIG_SCSI_SYM53C8XX_2 is not set 457# CONFIG_SCSI_SYM53C8XX_2 is not set
437# CONFIG_SCSI_IPR is not set 458# CONFIG_SCSI_IPR is not set
@@ -462,6 +483,7 @@ CONFIG_SATA_AHCI=y
462# CONFIG_SATA_VIA is not set 483# CONFIG_SATA_VIA is not set
463# CONFIG_SATA_VITESSE is not set 484# CONFIG_SATA_VITESSE is not set
464# CONFIG_SATA_INIC162X is not set 485# CONFIG_SATA_INIC162X is not set
486# CONFIG_SATA_FSL is not set
465CONFIG_PATA_ALI=y 487CONFIG_PATA_ALI=y
466# CONFIG_PATA_AMD is not set 488# CONFIG_PATA_AMD is not set
467# CONFIG_PATA_ARTOP is not set 489# CONFIG_PATA_ARTOP is not set
@@ -485,6 +507,7 @@ CONFIG_PATA_ALI=y
485# CONFIG_PATA_MPIIX is not set 507# CONFIG_PATA_MPIIX is not set
486# CONFIG_PATA_OLDPIIX is not set 508# CONFIG_PATA_OLDPIIX is not set
487# CONFIG_PATA_NETCELL is not set 509# CONFIG_PATA_NETCELL is not set
510# CONFIG_PATA_NINJA32 is not set
488# CONFIG_PATA_NS87410 is not set 511# CONFIG_PATA_NS87410 is not set
489# CONFIG_PATA_NS87415 is not set 512# CONFIG_PATA_NS87415 is not set
490# CONFIG_PATA_OPTI is not set 513# CONFIG_PATA_OPTI is not set
@@ -518,7 +541,6 @@ CONFIG_DUMMY=y
518# CONFIG_EQUALIZER is not set 541# CONFIG_EQUALIZER is not set
519# CONFIG_TUN is not set 542# CONFIG_TUN is not set
520# CONFIG_VETH is not set 543# CONFIG_VETH is not set
521# CONFIG_IP1000 is not set
522# CONFIG_ARCNET is not set 544# CONFIG_ARCNET is not set
523CONFIG_PHYLIB=y 545CONFIG_PHYLIB=y
524 546
@@ -534,6 +556,7 @@ CONFIG_PHYLIB=y
534# CONFIG_SMSC_PHY is not set 556# CONFIG_SMSC_PHY is not set
535# CONFIG_BROADCOM_PHY is not set 557# CONFIG_BROADCOM_PHY is not set
536# CONFIG_ICPLUS_PHY is not set 558# CONFIG_ICPLUS_PHY is not set
559# CONFIG_REALTEK_PHY is not set
537# CONFIG_FIXED_PHY is not set 560# CONFIG_FIXED_PHY is not set
538# CONFIG_MDIO_BITBANG is not set 561# CONFIG_MDIO_BITBANG is not set
539CONFIG_NET_ETHERNET=y 562CONFIG_NET_ETHERNET=y
@@ -574,6 +597,7 @@ CONFIG_8139TOO_PIO=y
574# CONFIG_8139TOO_TUNE_TWISTER is not set 597# CONFIG_8139TOO_TUNE_TWISTER is not set
575# CONFIG_8139TOO_8129 is not set 598# CONFIG_8139TOO_8129 is not set
576# CONFIG_8139_OLD_RX_RESET is not set 599# CONFIG_8139_OLD_RX_RESET is not set
600# CONFIG_R6040 is not set
577# CONFIG_SIS900 is not set 601# CONFIG_SIS900 is not set
578# CONFIG_EPIC100 is not set 602# CONFIG_EPIC100 is not set
579# CONFIG_SUNDANCE is not set 603# CONFIG_SUNDANCE is not set
@@ -585,6 +609,9 @@ CONFIG_NETDEV_1000=y
585# CONFIG_DL2K is not set 609# CONFIG_DL2K is not set
586# CONFIG_E1000 is not set 610# CONFIG_E1000 is not set
587# CONFIG_E1000E is not set 611# CONFIG_E1000E is not set
612# CONFIG_E1000E_ENABLED is not set
613# CONFIG_IP1000 is not set
614# CONFIG_IGB is not set
588# CONFIG_NS83820 is not set 615# CONFIG_NS83820 is not set
589# CONFIG_HAMACHI is not set 616# CONFIG_HAMACHI is not set
590# CONFIG_YELLOWFIN is not set 617# CONFIG_YELLOWFIN is not set
@@ -610,6 +637,7 @@ CONFIG_NETDEV_10000=y
610# CONFIG_NIU is not set 637# CONFIG_NIU is not set
611# CONFIG_MLX4_CORE is not set 638# CONFIG_MLX4_CORE is not set
612# CONFIG_TEHUTI is not set 639# CONFIG_TEHUTI is not set
640# CONFIG_BNX2X is not set
613# CONFIG_TR is not set 641# CONFIG_TR is not set
614 642
615# 643#
@@ -623,7 +651,6 @@ CONFIG_NETDEV_10000=y
623# CONFIG_PPP is not set 651# CONFIG_PPP is not set
624# CONFIG_SLIP is not set 652# CONFIG_SLIP is not set
625# CONFIG_NET_FC is not set 653# CONFIG_NET_FC is not set
626# CONFIG_SHAPER is not set
627# CONFIG_NETCONSOLE is not set 654# CONFIG_NETCONSOLE is not set
628# CONFIG_NETPOLL is not set 655# CONFIG_NETPOLL is not set
629# CONFIG_NET_POLL_CONTROLLER is not set 656# CONFIG_NET_POLL_CONTROLLER is not set
@@ -674,6 +701,7 @@ CONFIG_VT_CONSOLE=y
674CONFIG_HW_CONSOLE=y 701CONFIG_HW_CONSOLE=y
675# CONFIG_VT_HW_CONSOLE_BINDING is not set 702# CONFIG_VT_HW_CONSOLE_BINDING is not set
676# CONFIG_SERIAL_NONSTANDARD is not set 703# CONFIG_SERIAL_NONSTANDARD is not set
704# CONFIG_NOZOMI is not set
677 705
678# 706#
679# Serial drivers 707# Serial drivers
@@ -748,14 +776,12 @@ CONFIG_I2C_MPC=y
748# 776#
749# Miscellaneous I2C Chip support 777# Miscellaneous I2C Chip support
750# 778#
751# CONFIG_SENSORS_DS1337 is not set
752# CONFIG_SENSORS_DS1374 is not set
753# CONFIG_DS1682 is not set 779# CONFIG_DS1682 is not set
754# CONFIG_SENSORS_EEPROM is not set 780# CONFIG_SENSORS_EEPROM is not set
755# CONFIG_SENSORS_PCF8574 is not set 781# CONFIG_SENSORS_PCF8574 is not set
756# CONFIG_SENSORS_PCA9539 is not set 782# CONFIG_PCF8575 is not set
757# CONFIG_SENSORS_PCF8591 is not set 783# CONFIG_SENSORS_PCF8591 is not set
758# CONFIG_SENSORS_M41T00 is not set 784# CONFIG_TPS65010 is not set
759# CONFIG_SENSORS_MAX6875 is not set 785# CONFIG_SENSORS_MAX6875 is not set
760# CONFIG_SENSORS_TSL2550 is not set 786# CONFIG_SENSORS_TSL2550 is not set
761# CONFIG_I2C_DEBUG_CORE is not set 787# CONFIG_I2C_DEBUG_CORE is not set
@@ -771,6 +797,7 @@ CONFIG_I2C_MPC=y
771# CONFIG_W1 is not set 797# CONFIG_W1 is not set
772# CONFIG_POWER_SUPPLY is not set 798# CONFIG_POWER_SUPPLY is not set
773# CONFIG_HWMON is not set 799# CONFIG_HWMON is not set
800# CONFIG_THERMAL is not set
774# CONFIG_WATCHDOG is not set 801# CONFIG_WATCHDOG is not set
775 802
776# 803#
@@ -859,6 +886,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
859# CONFIG_SND_BT87X is not set 886# CONFIG_SND_BT87X is not set
860# CONFIG_SND_CA0106 is not set 887# CONFIG_SND_CA0106 is not set
861# CONFIG_SND_CMIPCI is not set 888# CONFIG_SND_CMIPCI is not set
889# CONFIG_SND_OXYGEN is not set
862# CONFIG_SND_CS4281 is not set 890# CONFIG_SND_CS4281 is not set
863# CONFIG_SND_CS46XX is not set 891# CONFIG_SND_CS46XX is not set
864# CONFIG_SND_CS5530 is not set 892# CONFIG_SND_CS5530 is not set
@@ -884,6 +912,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
884# CONFIG_SND_HDA_INTEL is not set 912# CONFIG_SND_HDA_INTEL is not set
885# CONFIG_SND_HDSP is not set 913# CONFIG_SND_HDSP is not set
886# CONFIG_SND_HDSPM is not set 914# CONFIG_SND_HDSPM is not set
915# CONFIG_SND_HIFIER is not set
887# CONFIG_SND_ICE1712 is not set 916# CONFIG_SND_ICE1712 is not set
888# CONFIG_SND_ICE1724 is not set 917# CONFIG_SND_ICE1724 is not set
889# CONFIG_SND_INTEL8X0 is not set 918# CONFIG_SND_INTEL8X0 is not set
@@ -901,6 +930,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
901# CONFIG_SND_TRIDENT is not set 930# CONFIG_SND_TRIDENT is not set
902# CONFIG_SND_VIA82XX is not set 931# CONFIG_SND_VIA82XX is not set
903# CONFIG_SND_VIA82XX_MODEM is not set 932# CONFIG_SND_VIA82XX_MODEM is not set
933# CONFIG_SND_VIRTUOSO is not set
904# CONFIG_SND_VX222 is not set 934# CONFIG_SND_VX222 is not set
905# CONFIG_SND_YMFPCI is not set 935# CONFIG_SND_YMFPCI is not set
906 936
@@ -929,6 +959,10 @@ CONFIG_SND_SOC_MPC8610_HPCD=y
929CONFIG_SND_SOC_CS4270=y 959CONFIG_SND_SOC_CS4270=y
930CONFIG_SND_SOC_CS4270_VD33_ERRATA=y 960CONFIG_SND_SOC_CS4270_VD33_ERRATA=y
931 961
962#
963# Open Sound System
964#
965# CONFIG_SOUND_PRIME is not set
932CONFIG_HID_SUPPORT=y 966CONFIG_HID_SUPPORT=y
933CONFIG_HID=y 967CONFIG_HID=y
934# CONFIG_HID_DEBUG is not set 968# CONFIG_HID_DEBUG is not set
@@ -942,16 +976,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
942# 976#
943# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 977# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
944# 978#
945
946#
947# USB Gadget Support
948#
949# CONFIG_USB_GADGET is not set 979# CONFIG_USB_GADGET is not set
950# CONFIG_MMC is not set 980# CONFIG_MMC is not set
981# CONFIG_MEMSTICK is not set
951# CONFIG_NEW_LEDS is not set 982# CONFIG_NEW_LEDS is not set
952# CONFIG_INFINIBAND is not set 983# CONFIG_INFINIBAND is not set
953# CONFIG_EDAC is not set 984# CONFIG_EDAC is not set
954# CONFIG_RTC_CLASS is not set 985# CONFIG_RTC_CLASS is not set
986# CONFIG_DMADEVICES is not set
955 987
956# 988#
957# Userspace I/O 989# Userspace I/O
@@ -977,11 +1009,9 @@ CONFIG_FS_MBCACHE=y
977# CONFIG_XFS_FS is not set 1009# CONFIG_XFS_FS is not set
978# CONFIG_GFS2_FS is not set 1010# CONFIG_GFS2_FS is not set
979# CONFIG_OCFS2_FS is not set 1011# CONFIG_OCFS2_FS is not set
980# CONFIG_MINIX_FS is not set 1012# CONFIG_DNOTIFY is not set
981# CONFIG_ROMFS_FS is not set
982# CONFIG_INOTIFY is not set 1013# CONFIG_INOTIFY is not set
983# CONFIG_QUOTA is not set 1014# CONFIG_QUOTA is not set
984# CONFIG_DNOTIFY is not set
985# CONFIG_AUTOFS_FS is not set 1015# CONFIG_AUTOFS_FS is not set
986# CONFIG_AUTOFS4_FS is not set 1016# CONFIG_AUTOFS4_FS is not set
987# CONFIG_FUSE_FS is not set 1017# CONFIG_FUSE_FS is not set
@@ -1023,8 +1053,10 @@ CONFIG_TMPFS=y
1023# CONFIG_EFS_FS is not set 1053# CONFIG_EFS_FS is not set
1024# CONFIG_CRAMFS is not set 1054# CONFIG_CRAMFS is not set
1025# CONFIG_VXFS_FS is not set 1055# CONFIG_VXFS_FS is not set
1056# CONFIG_MINIX_FS is not set
1026# CONFIG_HPFS_FS is not set 1057# CONFIG_HPFS_FS is not set
1027# CONFIG_QNX4FS_FS is not set 1058# CONFIG_QNX4FS_FS is not set
1059# CONFIG_ROMFS_FS is not set
1028# CONFIG_SYSV_FS is not set 1060# CONFIG_SYSV_FS is not set
1029# CONFIG_UFS_FS is not set 1061# CONFIG_UFS_FS is not set
1030CONFIG_NETWORK_FILESYSTEMS=y 1062CONFIG_NETWORK_FILESYSTEMS=y
@@ -1114,7 +1146,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1114# CONFIG_NLS_KOI8_U is not set 1146# CONFIG_NLS_KOI8_U is not set
1115# CONFIG_NLS_UTF8 is not set 1147# CONFIG_NLS_UTF8 is not set
1116# CONFIG_DLM is not set 1148# CONFIG_DLM is not set
1117# CONFIG_UCC_SLOW is not set
1118 1149
1119# 1150#
1120# Library routines 1151# Library routines
@@ -1130,7 +1161,6 @@ CONFIG_PLIST=y
1130CONFIG_HAS_IOMEM=y 1161CONFIG_HAS_IOMEM=y
1131CONFIG_HAS_IOPORT=y 1162CONFIG_HAS_IOPORT=y
1132CONFIG_HAS_DMA=y 1163CONFIG_HAS_DMA=y
1133# CONFIG_INSTRUMENTATION is not set
1134 1164
1135# 1165#
1136# Kernel hacking 1166# Kernel hacking
@@ -1149,6 +1179,7 @@ CONFIG_SCHED_DEBUG=y
1149# CONFIG_SCHEDSTATS is not set 1179# CONFIG_SCHEDSTATS is not set
1150# CONFIG_TIMER_STATS is not set 1180# CONFIG_TIMER_STATS is not set
1151# CONFIG_SLUB_DEBUG_ON is not set 1181# CONFIG_SLUB_DEBUG_ON is not set
1182# CONFIG_SLUB_STATS is not set
1152# CONFIG_DEBUG_RT_MUTEXES is not set 1183# CONFIG_DEBUG_RT_MUTEXES is not set
1153# CONFIG_RT_MUTEX_TESTER is not set 1184# CONFIG_RT_MUTEX_TESTER is not set
1154# CONFIG_DEBUG_SPINLOCK is not set 1185# CONFIG_DEBUG_SPINLOCK is not set
@@ -1162,8 +1193,8 @@ CONFIG_DEBUG_INFO=y
1162# CONFIG_DEBUG_VM is not set 1193# CONFIG_DEBUG_VM is not set
1163# CONFIG_DEBUG_LIST is not set 1194# CONFIG_DEBUG_LIST is not set
1164# CONFIG_DEBUG_SG is not set 1195# CONFIG_DEBUG_SG is not set
1165CONFIG_FORCED_INLINING=y
1166# CONFIG_BOOT_PRINTK_DELAY is not set 1196# CONFIG_BOOT_PRINTK_DELAY is not set
1197# CONFIG_BACKTRACE_SELF_TEST is not set
1167# CONFIG_FAULT_INJECTION is not set 1198# CONFIG_FAULT_INJECTION is not set
1168# CONFIG_SAMPLES is not set 1199# CONFIG_SAMPLES is not set
1169# CONFIG_DEBUG_STACKOVERFLOW is not set 1200# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1179,5 +1210,49 @@ CONFIG_FORCED_INLINING=y
1179# CONFIG_KEYS is not set 1210# CONFIG_KEYS is not set
1180# CONFIG_SECURITY is not set 1211# CONFIG_SECURITY is not set
1181# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1212# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1182# CONFIG_CRYPTO is not set 1213CONFIG_CRYPTO=y
1214# CONFIG_CRYPTO_SEQIV is not set
1215# CONFIG_CRYPTO_MANAGER is not set
1216# CONFIG_CRYPTO_HMAC is not set
1217# CONFIG_CRYPTO_XCBC is not set
1218# CONFIG_CRYPTO_NULL is not set
1219# CONFIG_CRYPTO_MD4 is not set
1220# CONFIG_CRYPTO_MD5 is not set
1221# CONFIG_CRYPTO_SHA1 is not set
1222# CONFIG_CRYPTO_SHA256 is not set
1223# CONFIG_CRYPTO_SHA512 is not set
1224# CONFIG_CRYPTO_WP512 is not set
1225# CONFIG_CRYPTO_TGR192 is not set
1226# CONFIG_CRYPTO_GF128MUL is not set
1227# CONFIG_CRYPTO_ECB is not set
1228# CONFIG_CRYPTO_CBC is not set
1229# CONFIG_CRYPTO_PCBC is not set
1230# CONFIG_CRYPTO_LRW is not set
1231# CONFIG_CRYPTO_XTS is not set
1232# CONFIG_CRYPTO_CTR is not set
1233# CONFIG_CRYPTO_GCM is not set
1234# CONFIG_CRYPTO_CCM is not set
1235# CONFIG_CRYPTO_CRYPTD is not set
1236# CONFIG_CRYPTO_DES is not set
1237# CONFIG_CRYPTO_FCRYPT is not set
1238# CONFIG_CRYPTO_BLOWFISH is not set
1239# CONFIG_CRYPTO_TWOFISH is not set
1240# CONFIG_CRYPTO_SERPENT is not set
1241# CONFIG_CRYPTO_AES is not set
1242# CONFIG_CRYPTO_CAST5 is not set
1243# CONFIG_CRYPTO_CAST6 is not set
1244# CONFIG_CRYPTO_TEA is not set
1245# CONFIG_CRYPTO_ARC4 is not set
1246# CONFIG_CRYPTO_KHAZAD is not set
1247# CONFIG_CRYPTO_ANUBIS is not set
1248# CONFIG_CRYPTO_SEED is not set
1249# CONFIG_CRYPTO_SALSA20 is not set
1250# CONFIG_CRYPTO_DEFLATE is not set
1251# CONFIG_CRYPTO_MICHAEL_MIC is not set
1252# CONFIG_CRYPTO_CRC32C is not set
1253# CONFIG_CRYPTO_CAMELLIA is not set
1254# CONFIG_CRYPTO_AUTHENC is not set
1255# CONFIG_CRYPTO_LZO is not set
1256CONFIG_CRYPTO_HW=y
1257# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1183# CONFIG_PPC_CLOCK is not set 1258# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8641_hpcn_defconfig b/arch/powerpc/configs/mpc8641_hpcn_defconfig
index ff092fc4c6b..994e7681796 100644
--- a/arch/powerpc/configs/mpc8641_hpcn_defconfig
+++ b/arch/powerpc/configs/mpc8641_hpcn_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:58 2007 4# Mon Mar 24 08:48:34 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -68,17 +69,21 @@ CONFIG_POSIX_MQUEUE=y
68CONFIG_BSD_PROCESS_ACCT=y 69CONFIG_BSD_PROCESS_ACCT=y
69# CONFIG_BSD_PROCESS_ACCT_V3 is not set 70# CONFIG_BSD_PROCESS_ACCT_V3 is not set
70# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
73CONFIG_AUDIT=y 72CONFIG_AUDIT=y
74# CONFIG_AUDITSYSCALL is not set 73# CONFIG_AUDITSYSCALL is not set
75CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
76CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=14 76CONFIG_LOG_BUF_SHIFT=14
78# CONFIG_CGROUPS is not set 77# CONFIG_CGROUPS is not set
78CONFIG_GROUP_SCHED=y
79# CONFIG_FAIR_GROUP_SCHED is not set 79# CONFIG_FAIR_GROUP_SCHED is not set
80# CONFIG_RT_GROUP_SCHED is not set
81CONFIG_USER_SCHED=y
82# CONFIG_CGROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y 83CONFIG_SYSFS_DEPRECATED=y
84CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_RELAY is not set 85# CONFIG_RELAY is not set
86# CONFIG_NAMESPACES is not set
82CONFIG_BLK_DEV_INITRD=y 87CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE="" 88CONFIG_INITRAMFS_SOURCE=""
84# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 89# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -92,11 +97,13 @@ CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 97CONFIG_PRINTK=y
93CONFIG_BUG=y 98CONFIG_BUG=y
94CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
95CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y 102CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y 103CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y 104CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y 105CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 108CONFIG_SHMEM=y
102CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
@@ -104,6 +111,14 @@ CONFIG_SLUB_DEBUG=y
104# CONFIG_SLAB is not set 111# CONFIG_SLAB is not set
105CONFIG_SLUB=y 112CONFIG_SLUB=y
106# CONFIG_SLOB is not set 113# CONFIG_SLOB is not set
114# CONFIG_PROFILING is not set
115# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set
118CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y
120CONFIG_PROC_PAGE_MONITOR=y
121CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y 122CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set 123# CONFIG_TINY_SHMEM is not set
109CONFIG_BASE_SMALL=0 124CONFIG_BASE_SMALL=0
@@ -132,6 +147,7 @@ CONFIG_IOSCHED_CFQ=y
132CONFIG_DEFAULT_CFQ=y 147CONFIG_DEFAULT_CFQ=y
133# CONFIG_DEFAULT_NOOP is not set 148# CONFIG_DEFAULT_NOOP is not set
134CONFIG_DEFAULT_IOSCHED="cfq" 149CONFIG_DEFAULT_IOSCHED="cfq"
150CONFIG_CLASSIC_RCU=y
135 151
136# 152#
137# Platform support 153# Platform support
@@ -140,14 +156,15 @@ CONFIG_DEFAULT_IOSCHED="cfq"
140# CONFIG_PPC_82xx is not set 156# CONFIG_PPC_82xx is not set
141# CONFIG_PPC_83xx is not set 157# CONFIG_PPC_83xx is not set
142CONFIG_PPC_86xx=y 158CONFIG_PPC_86xx=y
143# CONFIG_PPC_MPC52xx is not set 159# CONFIG_PPC_MPC512x is not set
144# CONFIG_PPC_MPC5200 is not set 160# CONFIG_PPC_MPC5121 is not set
145# CONFIG_PPC_CELL is not set 161# CONFIG_PPC_CELL is not set
146# CONFIG_PPC_CELL_NATIVE is not set 162# CONFIG_PPC_CELL_NATIVE is not set
147# CONFIG_PQ2ADS is not set 163# CONFIG_PQ2ADS is not set
148CONFIG_MPC8641_HPCN=y 164CONFIG_MPC8641_HPCN=y
149# CONFIG_MPC8610_HPCD is not set 165# CONFIG_MPC8610_HPCD is not set
150CONFIG_MPC8641=y 166CONFIG_MPC8641=y
167# CONFIG_IPIC is not set
151CONFIG_MPIC=y 168CONFIG_MPIC=y
152# CONFIG_MPIC_WEIRD is not set 169# CONFIG_MPIC_WEIRD is not set
153CONFIG_PPC_I8259=y 170CONFIG_PPC_I8259=y
@@ -158,7 +175,6 @@ CONFIG_PPC_I8259=y
158# CONFIG_PPC_INDIRECT_IO is not set 175# CONFIG_PPC_INDIRECT_IO is not set
159# CONFIG_GENERIC_IOMAP is not set 176# CONFIG_GENERIC_IOMAP is not set
160# CONFIG_CPU_FREQ is not set 177# CONFIG_CPU_FREQ is not set
161# CONFIG_CPM2 is not set
162CONFIG_FSL_ULI1575=y 178CONFIG_FSL_ULI1575=y
163 179
164# 180#
@@ -174,13 +190,16 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
174# CONFIG_HZ_300 is not set 190# CONFIG_HZ_300 is not set
175CONFIG_HZ_1000=y 191CONFIG_HZ_1000=y
176CONFIG_HZ=1000 192CONFIG_HZ=1000
193# CONFIG_SCHED_HRTICK is not set
177CONFIG_PREEMPT_NONE=y 194CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set 195# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set 196# CONFIG_PREEMPT is not set
180CONFIG_PREEMPT_BKL=y
181CONFIG_BINFMT_ELF=y 197CONFIG_BINFMT_ELF=y
182CONFIG_BINFMT_MISC=m 198CONFIG_BINFMT_MISC=m
199# CONFIG_IOMMU_HELPER is not set
183CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
184# CONFIG_IRQ_ALL_CPUS is not set 203# CONFIG_IRQ_ALL_CPUS is not set
185CONFIG_ARCH_FLATMEM_ENABLE=y 204CONFIG_ARCH_FLATMEM_ENABLE=y
186CONFIG_ARCH_POPULATES_NODE_MAP=y 205CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -201,7 +220,6 @@ CONFIG_PROC_DEVICETREE=y
201# CONFIG_CMDLINE_BOOL is not set 220# CONFIG_CMDLINE_BOOL is not set
202# CONFIG_PM is not set 221# CONFIG_PM is not set
203CONFIG_SECCOMP=y 222CONFIG_SECCOMP=y
204# CONFIG_WANT_DEVICE_TREE is not set
205CONFIG_ISA_DMA_API=y 223CONFIG_ISA_DMA_API=y
206 224
207# 225#
@@ -252,6 +270,7 @@ CONFIG_XFRM=y
252CONFIG_XFRM_USER=y 270CONFIG_XFRM_USER=y
253# CONFIG_XFRM_SUB_POLICY is not set 271# CONFIG_XFRM_SUB_POLICY is not set
254# CONFIG_XFRM_MIGRATE is not set 272# CONFIG_XFRM_MIGRATE is not set
273# CONFIG_XFRM_STATISTICS is not set
255CONFIG_NET_KEY=m 274CONFIG_NET_KEY=m
256# CONFIG_NET_KEY_MIGRATE is not set 275# CONFIG_NET_KEY_MIGRATE is not set
257CONFIG_INET=y 276CONFIG_INET=y
@@ -335,6 +354,7 @@ CONFIG_SCTP_HMAC_MD5=y
335# 354#
336# CONFIG_NET_PKTGEN is not set 355# CONFIG_NET_PKTGEN is not set
337# CONFIG_HAMRADIO is not set 356# CONFIG_HAMRADIO is not set
357# CONFIG_CAN is not set
338# CONFIG_IRDA is not set 358# CONFIG_IRDA is not set
339# CONFIG_BT is not set 359# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 360# CONFIG_AF_RXRPC is not set
@@ -383,7 +403,7 @@ CONFIG_BLK_DEV_NBD=y
383CONFIG_BLK_DEV_RAM=y 403CONFIG_BLK_DEV_RAM=y
384CONFIG_BLK_DEV_RAM_COUNT=16 404CONFIG_BLK_DEV_RAM_COUNT=16
385CONFIG_BLK_DEV_RAM_SIZE=131072 405CONFIG_BLK_DEV_RAM_SIZE=131072
386CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 406# CONFIG_BLK_DEV_XIP is not set
387# CONFIG_CDROM_PKTCDVD is not set 407# CONFIG_CDROM_PKTCDVD is not set
388# CONFIG_ATA_OVER_ETH is not set 408# CONFIG_ATA_OVER_ETH is not set
389CONFIG_MISC_DEVICES=y 409CONFIG_MISC_DEVICES=y
@@ -391,6 +411,8 @@ CONFIG_MISC_DEVICES=y
391# CONFIG_EEPROM_93CX6 is not set 411# CONFIG_EEPROM_93CX6 is not set
392# CONFIG_SGI_IOC4 is not set 412# CONFIG_SGI_IOC4 is not set
393# CONFIG_TIFM_CORE is not set 413# CONFIG_TIFM_CORE is not set
414# CONFIG_ENCLOSURE_SERVICES is not set
415CONFIG_HAVE_IDE=y
394# CONFIG_IDE is not set 416# CONFIG_IDE is not set
395 417
396# 418#
@@ -456,6 +478,7 @@ CONFIG_SCSI_LOWLEVEL=y
456# CONFIG_SCSI_IPS is not set 478# CONFIG_SCSI_IPS is not set
457# CONFIG_SCSI_INITIO is not set 479# CONFIG_SCSI_INITIO is not set
458# CONFIG_SCSI_INIA100 is not set 480# CONFIG_SCSI_INIA100 is not set
481# CONFIG_SCSI_MVSAS is not set
459# CONFIG_SCSI_STEX is not set 482# CONFIG_SCSI_STEX is not set
460# CONFIG_SCSI_SYM53C8XX_2 is not set 483# CONFIG_SCSI_SYM53C8XX_2 is not set
461# CONFIG_SCSI_IPR is not set 484# CONFIG_SCSI_IPR is not set
@@ -486,6 +509,7 @@ CONFIG_SATA_AHCI=y
486# CONFIG_SATA_VIA is not set 509# CONFIG_SATA_VIA is not set
487# CONFIG_SATA_VITESSE is not set 510# CONFIG_SATA_VITESSE is not set
488# CONFIG_SATA_INIC162X is not set 511# CONFIG_SATA_INIC162X is not set
512# CONFIG_SATA_FSL is not set
489CONFIG_PATA_ALI=y 513CONFIG_PATA_ALI=y
490# CONFIG_PATA_AMD is not set 514# CONFIG_PATA_AMD is not set
491# CONFIG_PATA_ARTOP is not set 515# CONFIG_PATA_ARTOP is not set
@@ -509,6 +533,7 @@ CONFIG_PATA_ALI=y
509# CONFIG_PATA_MPIIX is not set 533# CONFIG_PATA_MPIIX is not set
510# CONFIG_PATA_OLDPIIX is not set 534# CONFIG_PATA_OLDPIIX is not set
511# CONFIG_PATA_NETCELL is not set 535# CONFIG_PATA_NETCELL is not set
536# CONFIG_PATA_NINJA32 is not set
512# CONFIG_PATA_NS87410 is not set 537# CONFIG_PATA_NS87410 is not set
513# CONFIG_PATA_NS87415 is not set 538# CONFIG_PATA_NS87415 is not set
514# CONFIG_PATA_OPTI is not set 539# CONFIG_PATA_OPTI is not set
@@ -542,7 +567,6 @@ CONFIG_DUMMY=y
542# CONFIG_EQUALIZER is not set 567# CONFIG_EQUALIZER is not set
543# CONFIG_TUN is not set 568# CONFIG_TUN is not set
544# CONFIG_VETH is not set 569# CONFIG_VETH is not set
545# CONFIG_IP1000 is not set
546# CONFIG_ARCNET is not set 570# CONFIG_ARCNET is not set
547CONFIG_PHYLIB=y 571CONFIG_PHYLIB=y
548 572
@@ -558,6 +582,7 @@ CONFIG_VITESSE_PHY=y
558# CONFIG_SMSC_PHY is not set 582# CONFIG_SMSC_PHY is not set
559# CONFIG_BROADCOM_PHY is not set 583# CONFIG_BROADCOM_PHY is not set
560# CONFIG_ICPLUS_PHY is not set 584# CONFIG_ICPLUS_PHY is not set
585# CONFIG_REALTEK_PHY is not set
561# CONFIG_FIXED_PHY is not set 586# CONFIG_FIXED_PHY is not set
562# CONFIG_MDIO_BITBANG is not set 587# CONFIG_MDIO_BITBANG is not set
563CONFIG_NET_ETHERNET=y 588CONFIG_NET_ETHERNET=y
@@ -579,6 +604,9 @@ CONFIG_NETDEV_1000=y
579# CONFIG_DL2K is not set 604# CONFIG_DL2K is not set
580# CONFIG_E1000 is not set 605# CONFIG_E1000 is not set
581# CONFIG_E1000E is not set 606# CONFIG_E1000E is not set
607# CONFIG_E1000E_ENABLED is not set
608# CONFIG_IP1000 is not set
609# CONFIG_IGB is not set
582# CONFIG_NS83820 is not set 610# CONFIG_NS83820 is not set
583# CONFIG_HAMACHI is not set 611# CONFIG_HAMACHI is not set
584# CONFIG_YELLOWFIN is not set 612# CONFIG_YELLOWFIN is not set
@@ -605,6 +633,7 @@ CONFIG_NETDEV_10000=y
605# CONFIG_NIU is not set 633# CONFIG_NIU is not set
606# CONFIG_MLX4_CORE is not set 634# CONFIG_MLX4_CORE is not set
607# CONFIG_TEHUTI is not set 635# CONFIG_TEHUTI is not set
636# CONFIG_BNX2X is not set
608# CONFIG_TR is not set 637# CONFIG_TR is not set
609 638
610# 639#
@@ -627,7 +656,6 @@ CONFIG_NETDEV_10000=y
627# CONFIG_PPP is not set 656# CONFIG_PPP is not set
628# CONFIG_SLIP is not set 657# CONFIG_SLIP is not set
629# CONFIG_NET_FC is not set 658# CONFIG_NET_FC is not set
630# CONFIG_SHAPER is not set
631# CONFIG_NETCONSOLE is not set 659# CONFIG_NETCONSOLE is not set
632# CONFIG_NETPOLL is not set 660# CONFIG_NETPOLL is not set
633# CONFIG_NET_POLL_CONTROLLER is not set 661# CONFIG_NET_POLL_CONTROLLER is not set
@@ -678,6 +706,7 @@ CONFIG_VT_CONSOLE=y
678CONFIG_HW_CONSOLE=y 706CONFIG_HW_CONSOLE=y
679# CONFIG_VT_HW_CONSOLE_BINDING is not set 707# CONFIG_VT_HW_CONSOLE_BINDING is not set
680# CONFIG_SERIAL_NONSTANDARD is not set 708# CONFIG_SERIAL_NONSTANDARD is not set
709# CONFIG_NOZOMI is not set
681 710
682# 711#
683# Serial drivers 712# Serial drivers
@@ -756,14 +785,12 @@ CONFIG_I2C_MPC=y
756# 785#
757# Miscellaneous I2C Chip support 786# Miscellaneous I2C Chip support
758# 787#
759# CONFIG_SENSORS_DS1337 is not set
760# CONFIG_SENSORS_DS1374 is not set
761# CONFIG_DS1682 is not set 788# CONFIG_DS1682 is not set
762CONFIG_SENSORS_EEPROM=y 789CONFIG_SENSORS_EEPROM=y
763# CONFIG_SENSORS_PCF8574 is not set 790# CONFIG_SENSORS_PCF8574 is not set
764# CONFIG_SENSORS_PCA9539 is not set 791# CONFIG_PCF8575 is not set
765# CONFIG_SENSORS_PCF8591 is not set 792# CONFIG_SENSORS_PCF8591 is not set
766# CONFIG_SENSORS_M41T00 is not set 793# CONFIG_TPS65010 is not set
767# CONFIG_SENSORS_MAX6875 is not set 794# CONFIG_SENSORS_MAX6875 is not set
768# CONFIG_SENSORS_TSL2550 is not set 795# CONFIG_SENSORS_TSL2550 is not set
769# CONFIG_I2C_DEBUG_CORE is not set 796# CONFIG_I2C_DEBUG_CORE is not set
@@ -779,6 +806,7 @@ CONFIG_SENSORS_EEPROM=y
779# CONFIG_W1 is not set 806# CONFIG_W1 is not set
780# CONFIG_POWER_SUPPLY is not set 807# CONFIG_POWER_SUPPLY is not set
781# CONFIG_HWMON is not set 808# CONFIG_HWMON is not set
809# CONFIG_THERMAL is not set
782# CONFIG_WATCHDOG is not set 810# CONFIG_WATCHDOG is not set
783 811
784# 812#
@@ -803,6 +831,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
803# 831#
804# Supported SAA7146 based PCI Adapters 832# Supported SAA7146 based PCI Adapters
805# 833#
834# CONFIG_TTPCI_EEPROM is not set
835# CONFIG_DVB_BUDGET_CORE is not set
806 836
807# 837#
808# Supported USB Adapters 838# Supported USB Adapters
@@ -888,11 +918,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
888# CONFIG_DVB_PLL is not set 918# CONFIG_DVB_PLL is not set
889# CONFIG_DVB_TDA826X is not set 919# CONFIG_DVB_TDA826X is not set
890# CONFIG_DVB_TDA827X is not set 920# CONFIG_DVB_TDA827X is not set
921# CONFIG_DVB_TDA18271 is not set
891# CONFIG_DVB_TUNER_QT1010 is not set 922# CONFIG_DVB_TUNER_QT1010 is not set
892# CONFIG_DVB_TUNER_MT2060 is not set 923# CONFIG_DVB_TUNER_MT2060 is not set
893# CONFIG_DVB_TUNER_MT2266 is not set 924# CONFIG_DVB_TUNER_MT2266 is not set
894# CONFIG_DVB_TUNER_MT2131 is not set 925# CONFIG_DVB_TUNER_MT2131 is not set
895# CONFIG_DVB_TUNER_DIB0070 is not set 926# CONFIG_DVB_TUNER_DIB0070 is not set
927# CONFIG_DVB_TUNER_XC5000 is not set
896 928
897# 929#
898# Miscellaneous devices 930# Miscellaneous devices
@@ -970,6 +1002,7 @@ CONFIG_SND_AC97_CODEC=y
970# CONFIG_SND_BT87X is not set 1002# CONFIG_SND_BT87X is not set
971# CONFIG_SND_CA0106 is not set 1003# CONFIG_SND_CA0106 is not set
972# CONFIG_SND_CMIPCI is not set 1004# CONFIG_SND_CMIPCI is not set
1005# CONFIG_SND_OXYGEN is not set
973# CONFIG_SND_CS4281 is not set 1006# CONFIG_SND_CS4281 is not set
974# CONFIG_SND_CS46XX is not set 1007# CONFIG_SND_CS46XX is not set
975# CONFIG_SND_CS5530 is not set 1008# CONFIG_SND_CS5530 is not set
@@ -995,6 +1028,7 @@ CONFIG_SND_AC97_CODEC=y
995# CONFIG_SND_HDA_INTEL is not set 1028# CONFIG_SND_HDA_INTEL is not set
996# CONFIG_SND_HDSP is not set 1029# CONFIG_SND_HDSP is not set
997# CONFIG_SND_HDSPM is not set 1030# CONFIG_SND_HDSPM is not set
1031# CONFIG_SND_HIFIER is not set
998# CONFIG_SND_ICE1712 is not set 1032# CONFIG_SND_ICE1712 is not set
999# CONFIG_SND_ICE1724 is not set 1033# CONFIG_SND_ICE1724 is not set
1000CONFIG_SND_INTEL8X0=y 1034CONFIG_SND_INTEL8X0=y
@@ -1012,6 +1046,7 @@ CONFIG_SND_INTEL8X0=y
1012# CONFIG_SND_TRIDENT is not set 1046# CONFIG_SND_TRIDENT is not set
1013# CONFIG_SND_VIA82XX is not set 1047# CONFIG_SND_VIA82XX is not set
1014# CONFIG_SND_VIA82XX_MODEM is not set 1048# CONFIG_SND_VIA82XX_MODEM is not set
1049# CONFIG_SND_VIRTUOSO is not set
1015# CONFIG_SND_VX222 is not set 1050# CONFIG_SND_VX222 is not set
1016# CONFIG_SND_YMFPCI is not set 1051# CONFIG_SND_YMFPCI is not set
1017# CONFIG_SND_AC97_POWER_SAVE is not set 1052# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1041,6 +1076,10 @@ CONFIG_SND_INTEL8X0=y
1041# 1076#
1042 1077
1043# 1078#
1079# ALSA SoC audio for Freescale SOCs
1080#
1081
1082#
1044# Open Sound System 1083# Open Sound System
1045# 1084#
1046# CONFIG_SOUND_PRIME is not set 1085# CONFIG_SOUND_PRIME is not set
@@ -1063,6 +1102,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1063CONFIG_USB_ARCH_HAS_EHCI=y 1102CONFIG_USB_ARCH_HAS_EHCI=y
1064CONFIG_USB=y 1103CONFIG_USB=y
1065# CONFIG_USB_DEBUG is not set 1104# CONFIG_USB_DEBUG is not set
1105# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1066 1106
1067# 1107#
1068# Miscellaneous USB options 1108# Miscellaneous USB options
@@ -1076,9 +1116,10 @@ CONFIG_USB_DEVICE_CLASS=y
1076# USB Host Controller Drivers 1116# USB Host Controller Drivers
1077# 1117#
1078CONFIG_USB_EHCI_HCD=y 1118CONFIG_USB_EHCI_HCD=y
1079# CONFIG_USB_EHCI_SPLIT_ISO is not set
1080# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1119# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1081# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1120# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1121# CONFIG_USB_EHCI_FSL is not set
1122CONFIG_USB_EHCI_HCD_PPC_OF=y
1082# CONFIG_USB_ISP116X_HCD is not set 1123# CONFIG_USB_ISP116X_HCD is not set
1083CONFIG_USB_OHCI_HCD=y 1124CONFIG_USB_OHCI_HCD=y
1084CONFIG_USB_OHCI_HCD_PPC_OF=y 1125CONFIG_USB_OHCI_HCD_PPC_OF=y
@@ -1129,10 +1170,6 @@ CONFIG_USB_MON=y
1129# 1170#
1130# USB port drivers 1171# USB port drivers
1131# 1172#
1132
1133#
1134# USB Serial Converter support
1135#
1136# CONFIG_USB_SERIAL is not set 1173# CONFIG_USB_SERIAL is not set
1137 1174
1138# 1175#
@@ -1158,21 +1195,18 @@ CONFIG_USB_MON=y
1158# CONFIG_USB_TRANCEVIBRATOR is not set 1195# CONFIG_USB_TRANCEVIBRATOR is not set
1159# CONFIG_USB_IOWARRIOR is not set 1196# CONFIG_USB_IOWARRIOR is not set
1160# CONFIG_USB_TEST is not set 1197# CONFIG_USB_TEST is not set
1161
1162#
1163# USB DSL modem support
1164#
1165
1166#
1167# USB Gadget Support
1168#
1169# CONFIG_USB_GADGET is not set 1198# CONFIG_USB_GADGET is not set
1170# CONFIG_MMC is not set 1199# CONFIG_MMC is not set
1200# CONFIG_MEMSTICK is not set
1171# CONFIG_NEW_LEDS is not set 1201# CONFIG_NEW_LEDS is not set
1172# CONFIG_INFINIBAND is not set 1202# CONFIG_INFINIBAND is not set
1173# CONFIG_EDAC is not set 1203# CONFIG_EDAC is not set
1174CONFIG_RTC_LIB=y 1204CONFIG_RTC_LIB=y
1175CONFIG_RTC_CLASS=y 1205CONFIG_RTC_CLASS=y
1206
1207#
1208# Conflicting RTC option has been selected, check GEN_RTC and RTC
1209#
1176CONFIG_RTC_HCTOSYS=y 1210CONFIG_RTC_HCTOSYS=y
1177CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1211CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1178# CONFIG_RTC_DEBUG is not set 1212# CONFIG_RTC_DEBUG is not set
@@ -1199,6 +1233,7 @@ CONFIG_RTC_INTF_DEV=y
1199# CONFIG_RTC_DRV_PCF8563 is not set 1233# CONFIG_RTC_DRV_PCF8563 is not set
1200# CONFIG_RTC_DRV_PCF8583 is not set 1234# CONFIG_RTC_DRV_PCF8583 is not set
1201# CONFIG_RTC_DRV_M41T80 is not set 1235# CONFIG_RTC_DRV_M41T80 is not set
1236# CONFIG_RTC_DRV_S35390A is not set
1202 1237
1203# 1238#
1204# SPI RTC drivers 1239# SPI RTC drivers
@@ -1208,9 +1243,10 @@ CONFIG_RTC_INTF_DEV=y
1208# Platform RTC drivers 1243# Platform RTC drivers
1209# 1244#
1210CONFIG_RTC_DRV_CMOS=y 1245CONFIG_RTC_DRV_CMOS=y
1246# CONFIG_RTC_DRV_DS1511 is not set
1211# CONFIG_RTC_DRV_DS1553 is not set 1247# CONFIG_RTC_DRV_DS1553 is not set
1212# CONFIG_RTC_DRV_STK17TA8 is not set
1213# CONFIG_RTC_DRV_DS1742 is not set 1248# CONFIG_RTC_DRV_DS1742 is not set
1249# CONFIG_RTC_DRV_STK17TA8 is not set
1214# CONFIG_RTC_DRV_M48T86 is not set 1250# CONFIG_RTC_DRV_M48T86 is not set
1215# CONFIG_RTC_DRV_M48T59 is not set 1251# CONFIG_RTC_DRV_M48T59 is not set
1216# CONFIG_RTC_DRV_V3020 is not set 1252# CONFIG_RTC_DRV_V3020 is not set
@@ -1218,6 +1254,7 @@ CONFIG_RTC_DRV_CMOS=y
1218# 1254#
1219# on-CPU RTC drivers 1255# on-CPU RTC drivers
1220# 1256#
1257# CONFIG_DMADEVICES is not set
1221 1258
1222# 1259#
1223# Userspace I/O 1260# Userspace I/O
@@ -1243,12 +1280,10 @@ CONFIG_FS_MBCACHE=y
1243# CONFIG_XFS_FS is not set 1280# CONFIG_XFS_FS is not set
1244# CONFIG_GFS2_FS is not set 1281# CONFIG_GFS2_FS is not set
1245# CONFIG_OCFS2_FS is not set 1282# CONFIG_OCFS2_FS is not set
1246# CONFIG_MINIX_FS is not set 1283CONFIG_DNOTIFY=y
1247# CONFIG_ROMFS_FS is not set
1248CONFIG_INOTIFY=y 1284CONFIG_INOTIFY=y
1249CONFIG_INOTIFY_USER=y 1285CONFIG_INOTIFY_USER=y
1250# CONFIG_QUOTA is not set 1286# CONFIG_QUOTA is not set
1251CONFIG_DNOTIFY=y
1252# CONFIG_AUTOFS_FS is not set 1287# CONFIG_AUTOFS_FS is not set
1253# CONFIG_AUTOFS4_FS is not set 1288# CONFIG_AUTOFS4_FS is not set
1254# CONFIG_FUSE_FS is not set 1289# CONFIG_FUSE_FS is not set
@@ -1300,8 +1335,10 @@ CONFIG_BFS_FS=m
1300CONFIG_EFS_FS=m 1335CONFIG_EFS_FS=m
1301CONFIG_CRAMFS=y 1336CONFIG_CRAMFS=y
1302CONFIG_VXFS_FS=m 1337CONFIG_VXFS_FS=m
1338# CONFIG_MINIX_FS is not set
1303CONFIG_HPFS_FS=m 1339CONFIG_HPFS_FS=m
1304CONFIG_QNX4FS_FS=m 1340CONFIG_QNX4FS_FS=m
1341# CONFIG_ROMFS_FS is not set
1305CONFIG_SYSV_FS=m 1342CONFIG_SYSV_FS=m
1306CONFIG_UFS_FS=m 1343CONFIG_UFS_FS=m
1307# CONFIG_UFS_FS_WRITE is not set 1344# CONFIG_UFS_FS_WRITE is not set
@@ -1393,7 +1430,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1393# CONFIG_NLS_KOI8_U is not set 1430# CONFIG_NLS_KOI8_U is not set
1394CONFIG_NLS_UTF8=m 1431CONFIG_NLS_UTF8=m
1395# CONFIG_DLM is not set 1432# CONFIG_DLM is not set
1396# CONFIG_UCC_SLOW is not set
1397 1433
1398# 1434#
1399# Library routines 1435# Library routines
@@ -1410,7 +1446,6 @@ CONFIG_PLIST=y
1410CONFIG_HAS_IOMEM=y 1446CONFIG_HAS_IOMEM=y
1411CONFIG_HAS_IOPORT=y 1447CONFIG_HAS_IOPORT=y
1412CONFIG_HAS_DMA=y 1448CONFIG_HAS_DMA=y
1413# CONFIG_INSTRUMENTATION is not set
1414 1449
1415# 1450#
1416# Kernel hacking 1451# Kernel hacking
@@ -1429,6 +1464,7 @@ CONFIG_SCHED_DEBUG=y
1429# CONFIG_SCHEDSTATS is not set 1464# CONFIG_SCHEDSTATS is not set
1430# CONFIG_TIMER_STATS is not set 1465# CONFIG_TIMER_STATS is not set
1431# CONFIG_SLUB_DEBUG_ON is not set 1466# CONFIG_SLUB_DEBUG_ON is not set
1467# CONFIG_SLUB_STATS is not set
1432# CONFIG_DEBUG_RT_MUTEXES is not set 1468# CONFIG_DEBUG_RT_MUTEXES is not set
1433# CONFIG_RT_MUTEX_TESTER is not set 1469# CONFIG_RT_MUTEX_TESTER is not set
1434# CONFIG_DEBUG_SPINLOCK is not set 1470# CONFIG_DEBUG_SPINLOCK is not set
@@ -1442,9 +1478,9 @@ CONFIG_DEBUG_INFO=y
1442# CONFIG_DEBUG_VM is not set 1478# CONFIG_DEBUG_VM is not set
1443# CONFIG_DEBUG_LIST is not set 1479# CONFIG_DEBUG_LIST is not set
1444# CONFIG_DEBUG_SG is not set 1480# CONFIG_DEBUG_SG is not set
1445CONFIG_FORCED_INLINING=y
1446# CONFIG_BOOT_PRINTK_DELAY is not set 1481# CONFIG_BOOT_PRINTK_DELAY is not set
1447# CONFIG_RCU_TORTURE_TEST is not set 1482# CONFIG_RCU_TORTURE_TEST is not set
1483# CONFIG_BACKTRACE_SELF_TEST is not set
1448# CONFIG_FAULT_INJECTION is not set 1484# CONFIG_FAULT_INJECTION is not set
1449# CONFIG_SAMPLES is not set 1485# CONFIG_SAMPLES is not set
1450# CONFIG_DEBUG_STACKOVERFLOW is not set 1486# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1463,6 +1499,7 @@ CONFIG_FORCED_INLINING=y
1463CONFIG_CRYPTO=y 1499CONFIG_CRYPTO=y
1464CONFIG_CRYPTO_ALGAPI=y 1500CONFIG_CRYPTO_ALGAPI=y
1465CONFIG_CRYPTO_BLKCIPHER=y 1501CONFIG_CRYPTO_BLKCIPHER=y
1502# CONFIG_CRYPTO_SEQIV is not set
1466CONFIG_CRYPTO_HASH=y 1503CONFIG_CRYPTO_HASH=y
1467CONFIG_CRYPTO_MANAGER=y 1504CONFIG_CRYPTO_MANAGER=y
1468CONFIG_CRYPTO_HMAC=y 1505CONFIG_CRYPTO_HMAC=y
@@ -1481,6 +1518,9 @@ CONFIG_CRYPTO_CBC=y
1481CONFIG_CRYPTO_PCBC=m 1518CONFIG_CRYPTO_PCBC=m
1482# CONFIG_CRYPTO_LRW is not set 1519# CONFIG_CRYPTO_LRW is not set
1483# CONFIG_CRYPTO_XTS is not set 1520# CONFIG_CRYPTO_XTS is not set
1521# CONFIG_CRYPTO_CTR is not set
1522# CONFIG_CRYPTO_GCM is not set
1523# CONFIG_CRYPTO_CCM is not set
1484# CONFIG_CRYPTO_CRYPTD is not set 1524# CONFIG_CRYPTO_CRYPTD is not set
1485CONFIG_CRYPTO_DES=y 1525CONFIG_CRYPTO_DES=y
1486# CONFIG_CRYPTO_FCRYPT is not set 1526# CONFIG_CRYPTO_FCRYPT is not set
@@ -1495,11 +1535,14 @@ CONFIG_CRYPTO_DES=y
1495# CONFIG_CRYPTO_KHAZAD is not set 1535# CONFIG_CRYPTO_KHAZAD is not set
1496# CONFIG_CRYPTO_ANUBIS is not set 1536# CONFIG_CRYPTO_ANUBIS is not set
1497# CONFIG_CRYPTO_SEED is not set 1537# CONFIG_CRYPTO_SEED is not set
1538# CONFIG_CRYPTO_SALSA20 is not set
1498# CONFIG_CRYPTO_DEFLATE is not set 1539# CONFIG_CRYPTO_DEFLATE is not set
1499# CONFIG_CRYPTO_MICHAEL_MIC is not set 1540# CONFIG_CRYPTO_MICHAEL_MIC is not set
1500# CONFIG_CRYPTO_CRC32C is not set 1541# CONFIG_CRYPTO_CRC32C is not set
1501# CONFIG_CRYPTO_CAMELLIA is not set 1542# CONFIG_CRYPTO_CAMELLIA is not set
1502# CONFIG_CRYPTO_TEST is not set 1543# CONFIG_CRYPTO_TEST is not set
1503# CONFIG_CRYPTO_AUTHENC is not set 1544# CONFIG_CRYPTO_AUTHENC is not set
1545# CONFIG_CRYPTO_LZO is not set
1504CONFIG_CRYPTO_HW=y 1546CONFIG_CRYPTO_HW=y
1547# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1505# CONFIG_PPC_CLOCK is not set 1548# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index a7ef231f2ab..2d831db9ae5 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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:48:59 2007 4# Mon Mar 24 08:48:35 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -26,6 +26,7 @@ CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y 26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y 27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
29CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
30CONFIG_RWSEM_XCHGADD_ALGORITHM=y 31CONFIG_RWSEM_XCHGADD_ALGORITHM=y
31CONFIG_ARCH_HAS_ILOG2_U32=y 32CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -62,15 +63,19 @@ CONFIG_SYSVIPC_SYSCTL=y
62# CONFIG_POSIX_MQUEUE is not set 63# CONFIG_POSIX_MQUEUE is not set
63# CONFIG_BSD_PROCESS_ACCT is not set 64# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 65# CONFIG_TASKSTATS is not set
65# CONFIG_USER_NS is not set
66# CONFIG_PID_NS is not set
67# CONFIG_AUDIT is not set 66# CONFIG_AUDIT is not set
68# CONFIG_IKCONFIG is not set 67# CONFIG_IKCONFIG is not set
69CONFIG_LOG_BUF_SHIFT=14 68CONFIG_LOG_BUF_SHIFT=14
70# CONFIG_CGROUPS is not set 69# CONFIG_CGROUPS is not set
70CONFIG_GROUP_SCHED=y
71# CONFIG_FAIR_GROUP_SCHED is not set 71# CONFIG_FAIR_GROUP_SCHED is not set
72# CONFIG_RT_GROUP_SCHED is not set
73CONFIG_USER_SCHED=y
74# CONFIG_CGROUP_SCHED is not set
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
76CONFIG_SYSFS_DEPRECATED_V2=y
73# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
78# CONFIG_NAMESPACES is not set
74# CONFIG_BLK_DEV_INITRD is not set 79# CONFIG_BLK_DEV_INITRD is not set
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 81CONFIG_SYSCTL=y
@@ -82,11 +87,13 @@ CONFIG_KALLSYMS=y
82CONFIG_PRINTK=y 87CONFIG_PRINTK=y
83# CONFIG_BUG is not set 88# CONFIG_BUG is not set
84CONFIG_ELF_CORE=y 89CONFIG_ELF_CORE=y
90CONFIG_COMPAT_BRK=y
85# CONFIG_BASE_FULL is not set 91# CONFIG_BASE_FULL is not set
86CONFIG_FUTEX=y 92CONFIG_FUTEX=y
87CONFIG_ANON_INODES=y 93CONFIG_ANON_INODES=y
88# CONFIG_EPOLL is not set 94# CONFIG_EPOLL is not set
89CONFIG_SIGNALFD=y 95CONFIG_SIGNALFD=y
96CONFIG_TIMERFD=y
90CONFIG_EVENTFD=y 97CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 98CONFIG_SHMEM=y
92# CONFIG_VM_EVENT_COUNTERS is not set 99# CONFIG_VM_EVENT_COUNTERS is not set
@@ -94,6 +101,13 @@ CONFIG_SLUB_DEBUG=y
94# CONFIG_SLAB is not set 101# CONFIG_SLAB is not set
95CONFIG_SLUB=y 102CONFIG_SLUB=y
96# CONFIG_SLOB is not set 103# CONFIG_SLOB is not set
104# CONFIG_PROFILING is not set
105# CONFIG_MARKERS is not set
106CONFIG_HAVE_OPROFILE=y
107CONFIG_HAVE_KPROBES=y
108CONFIG_HAVE_KRETPROBES=y
109CONFIG_PROC_PAGE_MONITOR=y
110CONFIG_SLABINFO=y
97CONFIG_RT_MUTEXES=y 111CONFIG_RT_MUTEXES=y
98# CONFIG_TINY_SHMEM is not set 112# CONFIG_TINY_SHMEM is not set
99CONFIG_BASE_SMALL=1 113CONFIG_BASE_SMALL=1
@@ -116,12 +130,13 @@ CONFIG_DEFAULT_AS=y
116# CONFIG_DEFAULT_CFQ is not set 130# CONFIG_DEFAULT_CFQ is not set
117# CONFIG_DEFAULT_NOOP is not set 131# CONFIG_DEFAULT_NOOP is not set
118CONFIG_DEFAULT_IOSCHED="anticipatory" 132CONFIG_DEFAULT_IOSCHED="anticipatory"
133CONFIG_CLASSIC_RCU=y
119 134
120# 135#
121# Platform support 136# Platform support
122# 137#
123# CONFIG_PPC_MPC52xx is not set 138# CONFIG_PPC_MPC512x is not set
124# CONFIG_PPC_MPC5200 is not set 139# CONFIG_PPC_MPC5121 is not set
125# CONFIG_PPC_CELL is not set 140# CONFIG_PPC_CELL is not set
126# CONFIG_PPC_CELL_NATIVE is not set 141# CONFIG_PPC_CELL_NATIVE is not set
127CONFIG_CPM1=y 142CONFIG_CPM1=y
@@ -129,6 +144,7 @@ CONFIG_CPM1=y
129CONFIG_MPC86XADS=y 144CONFIG_MPC86XADS=y
130# CONFIG_MPC885ADS is not set 145# CONFIG_MPC885ADS is not set
131# CONFIG_PPC_EP88XC is not set 146# CONFIG_PPC_EP88XC is not set
147# CONFIG_PPC_ADDER875 is not set
132 148
133# 149#
134# MPC8xx CPM Options 150# MPC8xx CPM Options
@@ -145,6 +161,7 @@ CONFIG_NO_UCODE_PATCH=y
145# CONFIG_I2C_SPI_UCODE_PATCH is not set 161# CONFIG_I2C_SPI_UCODE_PATCH is not set
146# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 162# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set
147# CONFIG_PQ2ADS is not set 163# CONFIG_PQ2ADS is not set
164# CONFIG_IPIC is not set
148# CONFIG_MPIC is not set 165# CONFIG_MPIC is not set
149# CONFIG_MPIC_WEIRD is not set 166# CONFIG_MPIC_WEIRD is not set
150# CONFIG_PPC_I8259 is not set 167# CONFIG_PPC_I8259 is not set
@@ -155,7 +172,7 @@ CONFIG_NO_UCODE_PATCH=y
155# CONFIG_PPC_INDIRECT_IO is not set 172# CONFIG_PPC_INDIRECT_IO is not set
156# CONFIG_GENERIC_IOMAP is not set 173# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 174# CONFIG_CPU_FREQ is not set
158# CONFIG_CPM2 is not set 175CONFIG_PPC_CPM_NEW_BINDING=y
159# CONFIG_FSL_ULI1575 is not set 176# CONFIG_FSL_ULI1575 is not set
160CONFIG_CPM=y 177CONFIG_CPM=y
161 178
@@ -172,13 +189,17 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
172# CONFIG_HZ_300 is not set 189# CONFIG_HZ_300 is not set
173CONFIG_HZ_1000=y 190CONFIG_HZ_1000=y
174CONFIG_HZ=1000 191CONFIG_HZ=1000
192# CONFIG_SCHED_HRTICK is not set
175CONFIG_PREEMPT_NONE=y 193CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 194# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 195# CONFIG_PREEMPT is not set
178CONFIG_BINFMT_ELF=y 196CONFIG_BINFMT_ELF=y
179# CONFIG_BINFMT_MISC is not set 197# CONFIG_BINFMT_MISC is not set
180CONFIG_MATH_EMULATION=y 198CONFIG_MATH_EMULATION=y
199# CONFIG_IOMMU_HELPER is not set
181CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 200CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
201CONFIG_ARCH_HAS_WALK_MEMORY=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
182CONFIG_ARCH_FLATMEM_ENABLE=y 203CONFIG_ARCH_FLATMEM_ENABLE=y
183CONFIG_ARCH_POPULATES_NODE_MAP=y 204CONFIG_ARCH_POPULATES_NODE_MAP=y
184CONFIG_SELECT_MEMORY_MODEL=y 205CONFIG_SELECT_MEMORY_MODEL=y
@@ -197,11 +218,7 @@ CONFIG_VIRT_TO_BUS=y
197# CONFIG_PROC_DEVICETREE is not set 218# CONFIG_PROC_DEVICETREE is not set
198# CONFIG_CMDLINE_BOOL is not set 219# CONFIG_CMDLINE_BOOL is not set
199# CONFIG_PM is not set 220# CONFIG_PM is not set
200CONFIG_SUSPEND_UP_POSSIBLE=y
201CONFIG_HIBERNATION_UP_POSSIBLE=y
202# CONFIG_SECCOMP is not set 221# CONFIG_SECCOMP is not set
203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE=""
205CONFIG_ISA_DMA_API=y 222CONFIG_ISA_DMA_API=y
206 223
207# 224#
@@ -246,6 +263,7 @@ CONFIG_XFRM=y
246# CONFIG_XFRM_USER is not set 263# CONFIG_XFRM_USER is not set
247# CONFIG_XFRM_SUB_POLICY is not set 264# CONFIG_XFRM_SUB_POLICY is not set
248# CONFIG_XFRM_MIGRATE is not set 265# CONFIG_XFRM_MIGRATE is not set
266# CONFIG_XFRM_STATISTICS is not set
249# CONFIG_NET_KEY is not set 267# CONFIG_NET_KEY is not set
250CONFIG_INET=y 268CONFIG_INET=y
251CONFIG_IP_MULTICAST=y 269CONFIG_IP_MULTICAST=y
@@ -301,6 +319,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
301# 319#
302# CONFIG_NET_PKTGEN is not set 320# CONFIG_NET_PKTGEN is not set
303# CONFIG_HAMRADIO is not set 321# CONFIG_HAMRADIO is not set
322# CONFIG_CAN is not set
304# CONFIG_IRDA is not set 323# CONFIG_IRDA is not set
305# CONFIG_BT is not set 324# CONFIG_BT is not set
306# CONFIG_AF_RXRPC is not set 325# CONFIG_AF_RXRPC is not set
@@ -340,6 +359,8 @@ CONFIG_BLK_DEV_LOOP=y
340# CONFIG_ATA_OVER_ETH is not set 359# CONFIG_ATA_OVER_ETH is not set
341CONFIG_MISC_DEVICES=y 360CONFIG_MISC_DEVICES=y
342# CONFIG_EEPROM_93CX6 is not set 361# CONFIG_EEPROM_93CX6 is not set
362# CONFIG_ENCLOSURE_SERVICES is not set
363CONFIG_HAVE_IDE=y
343# CONFIG_IDE is not set 364# CONFIG_IDE is not set
344 365
345# 366#
@@ -374,11 +395,8 @@ CONFIG_PHYLIB=y
374# CONFIG_SMSC_PHY is not set 395# CONFIG_SMSC_PHY is not set
375# CONFIG_BROADCOM_PHY is not set 396# CONFIG_BROADCOM_PHY is not set
376# CONFIG_ICPLUS_PHY is not set 397# CONFIG_ICPLUS_PHY is not set
398# CONFIG_REALTEK_PHY is not set
377CONFIG_FIXED_PHY=y 399CONFIG_FIXED_PHY=y
378CONFIG_FIXED_MII_10_FDX=y
379CONFIG_FIXED_MII_100_FDX=y
380# CONFIG_FIXED_MII_1000_FDX is not set
381CONFIG_FIXED_MII_AMNT=1
382# CONFIG_MDIO_BITBANG is not set 400# CONFIG_MDIO_BITBANG is not set
383CONFIG_NET_ETHERNET=y 401CONFIG_NET_ETHERNET=y
384CONFIG_MII=y 402CONFIG_MII=y
@@ -392,6 +410,8 @@ CONFIG_FS_ENET_HAS_SCC=y
392CONFIG_FS_ENET_HAS_FEC=y 410CONFIG_FS_ENET_HAS_FEC=y
393CONFIG_FS_ENET_MDIO_FEC=y 411CONFIG_FS_ENET_MDIO_FEC=y
394CONFIG_NETDEV_1000=y 412CONFIG_NETDEV_1000=y
413# CONFIG_E1000E_ENABLED is not set
414# CONFIG_GIANFAR is not set
395CONFIG_NETDEV_10000=y 415CONFIG_NETDEV_10000=y
396 416
397# 417#
@@ -402,7 +422,6 @@ CONFIG_NETDEV_10000=y
402# CONFIG_WAN is not set 422# CONFIG_WAN is not set
403# CONFIG_PPP is not set 423# CONFIG_PPP is not set
404# CONFIG_SLIP is not set 424# CONFIG_SLIP is not set
405# CONFIG_SHAPER is not set
406# CONFIG_NETCONSOLE is not set 425# CONFIG_NETCONSOLE is not set
407# CONFIG_NETPOLL is not set 426# CONFIG_NETPOLL is not set
408# CONFIG_NET_POLL_CONTROLLER is not set 427# CONFIG_NET_POLL_CONTROLLER is not set
@@ -519,6 +538,7 @@ CONFIG_HWMON=y
519# CONFIG_SENSORS_W83627HF is not set 538# CONFIG_SENSORS_W83627HF is not set
520# CONFIG_SENSORS_W83627EHF is not set 539# CONFIG_SENSORS_W83627EHF is not set
521# CONFIG_HWMON_DEBUG_CHIP is not set 540# CONFIG_HWMON_DEBUG_CHIP is not set
541# CONFIG_THERMAL is not set
522# CONFIG_WATCHDOG is not set 542# CONFIG_WATCHDOG is not set
523 543
524# 544#
@@ -568,15 +588,13 @@ CONFIG_USB_SUPPORT=y
568# 588#
569# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 589# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
570# 590#
571
572#
573# USB Gadget Support
574#
575# CONFIG_USB_GADGET is not set 591# CONFIG_USB_GADGET is not set
576# CONFIG_MMC is not set 592# CONFIG_MMC is not set
593# CONFIG_MEMSTICK is not set
577# CONFIG_NEW_LEDS is not set 594# CONFIG_NEW_LEDS is not set
578# CONFIG_EDAC is not set 595# CONFIG_EDAC is not set
579# CONFIG_RTC_CLASS is not set 596# CONFIG_RTC_CLASS is not set
597# CONFIG_DMADEVICES is not set
580 598
581# 599#
582# Userspace I/O 600# Userspace I/O
@@ -604,12 +622,10 @@ CONFIG_FS_MBCACHE=y
604# CONFIG_XFS_FS is not set 622# CONFIG_XFS_FS is not set
605# CONFIG_GFS2_FS is not set 623# CONFIG_GFS2_FS is not set
606# CONFIG_OCFS2_FS is not set 624# CONFIG_OCFS2_FS is not set
607# CONFIG_MINIX_FS is not set 625CONFIG_DNOTIFY=y
608# CONFIG_ROMFS_FS is not set
609CONFIG_INOTIFY=y 626CONFIG_INOTIFY=y
610CONFIG_INOTIFY_USER=y 627CONFIG_INOTIFY_USER=y
611# CONFIG_QUOTA is not set 628# CONFIG_QUOTA is not set
612CONFIG_DNOTIFY=y
613# CONFIG_AUTOFS_FS is not set 629# CONFIG_AUTOFS_FS is not set
614# CONFIG_AUTOFS4_FS is not set 630# CONFIG_AUTOFS4_FS is not set
615# CONFIG_FUSE_FS is not set 631# CONFIG_FUSE_FS is not set
@@ -651,8 +667,10 @@ CONFIG_TMPFS=y
651# CONFIG_EFS_FS is not set 667# CONFIG_EFS_FS is not set
652CONFIG_CRAMFS=y 668CONFIG_CRAMFS=y
653# CONFIG_VXFS_FS is not set 669# CONFIG_VXFS_FS is not set
670# CONFIG_MINIX_FS is not set
654# CONFIG_HPFS_FS is not set 671# CONFIG_HPFS_FS is not set
655# CONFIG_QNX4FS_FS is not set 672# CONFIG_QNX4FS_FS is not set
673# CONFIG_ROMFS_FS is not set
656# CONFIG_SYSV_FS is not set 674# CONFIG_SYSV_FS is not set
657# CONFIG_UFS_FS is not set 675# CONFIG_UFS_FS is not set
658CONFIG_NETWORK_FILESYSTEMS=y 676CONFIG_NETWORK_FILESYSTEMS=y
@@ -699,7 +717,6 @@ CONFIG_MSDOS_PARTITION=y
699# CONFIG_SYSV68_PARTITION is not set 717# CONFIG_SYSV68_PARTITION is not set
700# CONFIG_NLS is not set 718# CONFIG_NLS is not set
701# CONFIG_DLM is not set 719# CONFIG_DLM is not set
702# CONFIG_UCC_SLOW is not set
703 720
704# 721#
705# Library routines 722# Library routines
@@ -716,7 +733,6 @@ CONFIG_PLIST=y
716CONFIG_HAS_IOMEM=y 733CONFIG_HAS_IOMEM=y
717CONFIG_HAS_IOPORT=y 734CONFIG_HAS_IOPORT=y
718CONFIG_HAS_DMA=y 735CONFIG_HAS_DMA=y
719# CONFIG_INSTRUMENTATION is not set
720 736
721# 737#
722# Kernel hacking 738# Kernel hacking
@@ -730,6 +746,7 @@ CONFIG_ENABLE_MUST_CHECK=y
730# CONFIG_HEADERS_CHECK is not set 746# CONFIG_HEADERS_CHECK is not set
731# CONFIG_DEBUG_KERNEL is not set 747# CONFIG_DEBUG_KERNEL is not set
732# CONFIG_SLUB_DEBUG_ON is not set 748# CONFIG_SLUB_DEBUG_ON is not set
749# CONFIG_SLUB_STATS is not set
733# CONFIG_SAMPLES is not set 750# CONFIG_SAMPLES is not set
734# CONFIG_PPC_EARLY_DEBUG is not set 751# CONFIG_PPC_EARLY_DEBUG is not set
735 752
@@ -739,6 +756,49 @@ CONFIG_ENABLE_MUST_CHECK=y
739# CONFIG_KEYS is not set 756# CONFIG_KEYS is not set
740# CONFIG_SECURITY is not set 757# CONFIG_SECURITY is not set
741# CONFIG_SECURITY_FILE_CAPABILITIES is not set 758# CONFIG_SECURITY_FILE_CAPABILITIES is not set
742# CONFIG_CRYPTO is not set 759CONFIG_CRYPTO=y
760# CONFIG_CRYPTO_SEQIV is not set
761# CONFIG_CRYPTO_MANAGER is not set
762# CONFIG_CRYPTO_HMAC is not set
763# CONFIG_CRYPTO_XCBC is not set
764# CONFIG_CRYPTO_NULL is not set
765# CONFIG_CRYPTO_MD4 is not set
766# CONFIG_CRYPTO_MD5 is not set
767# CONFIG_CRYPTO_SHA1 is not set
768# CONFIG_CRYPTO_SHA256 is not set
769# CONFIG_CRYPTO_SHA512 is not set
770# CONFIG_CRYPTO_WP512 is not set
771# CONFIG_CRYPTO_TGR192 is not set
772# CONFIG_CRYPTO_GF128MUL is not set
773# CONFIG_CRYPTO_ECB is not set
774# CONFIG_CRYPTO_CBC is not set
775# CONFIG_CRYPTO_PCBC is not set
776# CONFIG_CRYPTO_LRW is not set
777# CONFIG_CRYPTO_XTS is not set
778# CONFIG_CRYPTO_CTR is not set
779# CONFIG_CRYPTO_GCM is not set
780# CONFIG_CRYPTO_CCM is not set
781# CONFIG_CRYPTO_CRYPTD is not set
782# CONFIG_CRYPTO_DES is not set
783# CONFIG_CRYPTO_FCRYPT is not set
784# CONFIG_CRYPTO_BLOWFISH is not set
785# CONFIG_CRYPTO_TWOFISH is not set
786# CONFIG_CRYPTO_SERPENT is not set
787# CONFIG_CRYPTO_AES is not set
788# CONFIG_CRYPTO_CAST5 is not set
789# CONFIG_CRYPTO_CAST6 is not set
790# CONFIG_CRYPTO_TEA is not set
791# CONFIG_CRYPTO_ARC4 is not set
792# CONFIG_CRYPTO_KHAZAD is not set
793# CONFIG_CRYPTO_ANUBIS is not set
794# CONFIG_CRYPTO_SEED is not set
795# CONFIG_CRYPTO_SALSA20 is not set
796# CONFIG_CRYPTO_DEFLATE is not set
797# CONFIG_CRYPTO_MICHAEL_MIC is not set
798# CONFIG_CRYPTO_CRC32C is not set
799# CONFIG_CRYPTO_CAMELLIA is not set
800# CONFIG_CRYPTO_AUTHENC is not set
801# CONFIG_CRYPTO_LZO is not set
802CONFIG_CRYPTO_HW=y
743# CONFIG_PPC_CLOCK is not set 803# CONFIG_PPC_CLOCK is not set
744CONFIG_PPC_LIB_RHEAP=y 804CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index 22f8171d6d4..82151b9bba2 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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:49:01 2007 4# Mon Mar 24 08:48:35 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -26,6 +26,7 @@ CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y 26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y 27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
29CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
30CONFIG_RWSEM_XCHGADD_ALGORITHM=y 31CONFIG_RWSEM_XCHGADD_ALGORITHM=y
31CONFIG_ARCH_HAS_ILOG2_U32=y 32CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -63,15 +64,19 @@ CONFIG_SYSVIPC_SYSCTL=y
63# CONFIG_POSIX_MQUEUE is not set 64# CONFIG_POSIX_MQUEUE is not set
64# CONFIG_BSD_PROCESS_ACCT is not set 65# CONFIG_BSD_PROCESS_ACCT is not set
65# CONFIG_TASKSTATS is not set 66# CONFIG_TASKSTATS is not set
66# CONFIG_USER_NS is not set
67# CONFIG_PID_NS is not set
68# CONFIG_AUDIT is not set 67# CONFIG_AUDIT is not set
69# CONFIG_IKCONFIG is not set 68# CONFIG_IKCONFIG is not set
70CONFIG_LOG_BUF_SHIFT=14 69CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set 70# CONFIG_CGROUPS is not set
71CONFIG_GROUP_SCHED=y
72# CONFIG_FAIR_GROUP_SCHED is not set 72# CONFIG_FAIR_GROUP_SCHED is not set
73# CONFIG_RT_GROUP_SCHED is not set
74CONFIG_USER_SCHED=y
75# CONFIG_CGROUP_SCHED is not set
73CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
77CONFIG_SYSFS_DEPRECATED_V2=y
74# CONFIG_RELAY is not set 78# CONFIG_RELAY is not set
79# CONFIG_NAMESPACES is not set
75# CONFIG_BLK_DEV_INITRD is not set 80# CONFIG_BLK_DEV_INITRD is not set
76# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
77CONFIG_SYSCTL=y 82CONFIG_SYSCTL=y
@@ -84,11 +89,13 @@ CONFIG_HOTPLUG=y
84CONFIG_PRINTK=y 89CONFIG_PRINTK=y
85CONFIG_BUG=y 90CONFIG_BUG=y
86# CONFIG_ELF_CORE is not set 91# CONFIG_ELF_CORE is not set
92CONFIG_COMPAT_BRK=y
87# CONFIG_BASE_FULL is not set 93# CONFIG_BASE_FULL is not set
88# CONFIG_FUTEX is not set 94# CONFIG_FUTEX is not set
89CONFIG_ANON_INODES=y 95CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 96CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y 97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
92CONFIG_EVENTFD=y 99CONFIG_EVENTFD=y
93CONFIG_SHMEM=y 100CONFIG_SHMEM=y
94# CONFIG_VM_EVENT_COUNTERS is not set 101# CONFIG_VM_EVENT_COUNTERS is not set
@@ -96,6 +103,13 @@ CONFIG_SLUB_DEBUG=y
96# CONFIG_SLAB is not set 103# CONFIG_SLAB is not set
97CONFIG_SLUB=y 104CONFIG_SLUB=y
98# CONFIG_SLOB is not set 105# CONFIG_SLOB is not set
106# CONFIG_PROFILING is not set
107# CONFIG_MARKERS is not set
108CONFIG_HAVE_OPROFILE=y
109CONFIG_HAVE_KPROBES=y
110CONFIG_HAVE_KRETPROBES=y
111CONFIG_PROC_PAGE_MONITOR=y
112CONFIG_SLABINFO=y
99# CONFIG_TINY_SHMEM is not set 113# CONFIG_TINY_SHMEM is not set
100CONFIG_BASE_SMALL=1 114CONFIG_BASE_SMALL=1
101# CONFIG_MODULES is not set 115# CONFIG_MODULES is not set
@@ -117,12 +131,13 @@ CONFIG_DEFAULT_DEADLINE=y
117# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
118# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
119CONFIG_DEFAULT_IOSCHED="deadline" 133CONFIG_DEFAULT_IOSCHED="deadline"
134CONFIG_CLASSIC_RCU=y
120 135
121# 136#
122# Platform support 137# Platform support
123# 138#
124# CONFIG_PPC_MPC52xx is not set 139# CONFIG_PPC_MPC512x is not set
125# CONFIG_PPC_MPC5200 is not set 140# CONFIG_PPC_MPC5121 is not set
126# CONFIG_PPC_CELL is not set 141# CONFIG_PPC_CELL is not set
127# CONFIG_PPC_CELL_NATIVE is not set 142# CONFIG_PPC_CELL_NATIVE is not set
128CONFIG_CPM1=y 143CONFIG_CPM1=y
@@ -130,6 +145,7 @@ CONFIG_CPM1=y
130# CONFIG_MPC86XADS is not set 145# CONFIG_MPC86XADS is not set
131CONFIG_MPC885ADS=y 146CONFIG_MPC885ADS=y
132# CONFIG_PPC_EP88XC is not set 147# CONFIG_PPC_EP88XC is not set
148# CONFIG_PPC_ADDER875 is not set
133 149
134# 150#
135# Freescale Ethernet driver platform-specific options 151# Freescale Ethernet driver platform-specific options
@@ -153,6 +169,7 @@ CONFIG_NO_UCODE_PATCH=y
153# CONFIG_I2C_SPI_UCODE_PATCH is not set 169# CONFIG_I2C_SPI_UCODE_PATCH is not set
154# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 170# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set
155# CONFIG_PQ2ADS is not set 171# CONFIG_PQ2ADS is not set
172# CONFIG_IPIC is not set
156# CONFIG_MPIC is not set 173# CONFIG_MPIC is not set
157# CONFIG_MPIC_WEIRD is not set 174# CONFIG_MPIC_WEIRD is not set
158# CONFIG_PPC_I8259 is not set 175# CONFIG_PPC_I8259 is not set
@@ -163,7 +180,6 @@ CONFIG_NO_UCODE_PATCH=y
163# CONFIG_PPC_INDIRECT_IO is not set 180# CONFIG_PPC_INDIRECT_IO is not set
164# CONFIG_GENERIC_IOMAP is not set 181# CONFIG_GENERIC_IOMAP is not set
165# CONFIG_CPU_FREQ is not set 182# CONFIG_CPU_FREQ is not set
166# CONFIG_CPM2 is not set
167CONFIG_PPC_CPM_NEW_BINDING=y 183CONFIG_PPC_CPM_NEW_BINDING=y
168# CONFIG_FSL_ULI1575 is not set 184# CONFIG_FSL_ULI1575 is not set
169CONFIG_CPM=y 185CONFIG_CPM=y
@@ -181,6 +197,7 @@ CONFIG_HZ_100=y
181# CONFIG_HZ_300 is not set 197# CONFIG_HZ_300 is not set
182# CONFIG_HZ_1000 is not set 198# CONFIG_HZ_1000 is not set
183CONFIG_HZ=100 199CONFIG_HZ=100
200# CONFIG_SCHED_HRTICK is not set
184CONFIG_PREEMPT_NONE=y 201CONFIG_PREEMPT_NONE=y
185# CONFIG_PREEMPT_VOLUNTARY is not set 202# CONFIG_PREEMPT_VOLUNTARY is not set
186# CONFIG_PREEMPT is not set 203# CONFIG_PREEMPT is not set
@@ -188,7 +205,10 @@ CONFIG_BINFMT_ELF=y
188# CONFIG_BINFMT_MISC is not set 205# CONFIG_BINFMT_MISC is not set
189# CONFIG_MATH_EMULATION is not set 206# CONFIG_MATH_EMULATION is not set
190CONFIG_8XX_MINIMAL_FPEMU=y 207CONFIG_8XX_MINIMAL_FPEMU=y
208# CONFIG_IOMMU_HELPER is not set
191CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 209CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
210CONFIG_ARCH_HAS_WALK_MEMORY=y
211CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
192CONFIG_ARCH_FLATMEM_ENABLE=y 212CONFIG_ARCH_FLATMEM_ENABLE=y
193CONFIG_ARCH_POPULATES_NODE_MAP=y 213CONFIG_ARCH_POPULATES_NODE_MAP=y
194CONFIG_SELECT_MEMORY_MODEL=y 214CONFIG_SELECT_MEMORY_MODEL=y
@@ -207,11 +227,7 @@ CONFIG_VIRT_TO_BUS=y
207CONFIG_PROC_DEVICETREE=y 227CONFIG_PROC_DEVICETREE=y
208# CONFIG_CMDLINE_BOOL is not set 228# CONFIG_CMDLINE_BOOL is not set
209# CONFIG_PM is not set 229# CONFIG_PM is not set
210CONFIG_SUSPEND_UP_POSSIBLE=y
211CONFIG_HIBERNATION_UP_POSSIBLE=y
212# CONFIG_SECCOMP is not set 230# CONFIG_SECCOMP is not set
213CONFIG_WANT_DEVICE_TREE=y
214CONFIG_DEVICE_TREE="mpc885ads.dts"
215CONFIG_ISA_DMA_API=y 231CONFIG_ISA_DMA_API=y
216 232
217# 233#
@@ -308,6 +324,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
308# 324#
309# CONFIG_NET_PKTGEN is not set 325# CONFIG_NET_PKTGEN is not set
310# CONFIG_HAMRADIO is not set 326# CONFIG_HAMRADIO is not set
327# CONFIG_CAN is not set
311# CONFIG_IRDA is not set 328# CONFIG_IRDA is not set
312# CONFIG_BT is not set 329# CONFIG_BT is not set
313# CONFIG_AF_RXRPC is not set 330# CONFIG_AF_RXRPC is not set
@@ -418,6 +435,7 @@ CONFIG_OF_DEVICE=y
418# CONFIG_PARPORT is not set 435# CONFIG_PARPORT is not set
419# CONFIG_BLK_DEV is not set 436# CONFIG_BLK_DEV is not set
420# CONFIG_MISC_DEVICES is not set 437# CONFIG_MISC_DEVICES is not set
438CONFIG_HAVE_IDE=y
421# CONFIG_IDE is not set 439# CONFIG_IDE is not set
422 440
423# 441#
@@ -452,6 +470,7 @@ CONFIG_DAVICOM_PHY=y
452# CONFIG_SMSC_PHY is not set 470# CONFIG_SMSC_PHY is not set
453# CONFIG_BROADCOM_PHY is not set 471# CONFIG_BROADCOM_PHY is not set
454# CONFIG_ICPLUS_PHY is not set 472# CONFIG_ICPLUS_PHY is not set
473# CONFIG_REALTEK_PHY is not set
455# CONFIG_FIXED_PHY is not set 474# CONFIG_FIXED_PHY is not set
456# CONFIG_MDIO_BITBANG is not set 475# CONFIG_MDIO_BITBANG is not set
457CONFIG_NET_ETHERNET=y 476CONFIG_NET_ETHERNET=y
@@ -476,7 +495,6 @@ CONFIG_FS_ENET_MDIO_FEC=y
476# CONFIG_WAN is not set 495# CONFIG_WAN is not set
477# CONFIG_PPP is not set 496# CONFIG_PPP is not set
478# CONFIG_SLIP is not set 497# CONFIG_SLIP is not set
479# CONFIG_SHAPER is not set
480# CONFIG_NETCONSOLE is not set 498# CONFIG_NETCONSOLE is not set
481# CONFIG_NETPOLL is not set 499# CONFIG_NETPOLL is not set
482# CONFIG_NET_POLL_CONTROLLER is not set 500# CONFIG_NET_POLL_CONTROLLER is not set
@@ -539,6 +557,7 @@ CONFIG_GEN_RTC=y
539# CONFIG_W1 is not set 557# CONFIG_W1 is not set
540# CONFIG_POWER_SUPPLY is not set 558# CONFIG_POWER_SUPPLY is not set
541# CONFIG_HWMON is not set 559# CONFIG_HWMON is not set
560# CONFIG_THERMAL is not set
542# CONFIG_WATCHDOG is not set 561# CONFIG_WATCHDOG is not set
543 562
544# 563#
@@ -578,9 +597,11 @@ CONFIG_DAB=y
578# CONFIG_SOUND is not set 597# CONFIG_SOUND is not set
579# CONFIG_USB_SUPPORT is not set 598# CONFIG_USB_SUPPORT is not set
580# CONFIG_MMC is not set 599# CONFIG_MMC is not set
600# CONFIG_MEMSTICK is not set
581# CONFIG_NEW_LEDS is not set 601# CONFIG_NEW_LEDS is not set
582# CONFIG_EDAC is not set 602# CONFIG_EDAC is not set
583# CONFIG_RTC_CLASS is not set 603# CONFIG_RTC_CLASS is not set
604# CONFIG_DMADEVICES is not set
584 605
585# 606#
586# Userspace I/O 607# Userspace I/O
@@ -599,11 +620,9 @@ CONFIG_DAB=y
599# CONFIG_XFS_FS is not set 620# CONFIG_XFS_FS is not set
600# CONFIG_GFS2_FS is not set 621# CONFIG_GFS2_FS is not set
601# CONFIG_OCFS2_FS is not set 622# CONFIG_OCFS2_FS is not set
602# CONFIG_MINIX_FS is not set 623# CONFIG_DNOTIFY is not set
603# CONFIG_ROMFS_FS is not set
604# CONFIG_INOTIFY is not set 624# CONFIG_INOTIFY is not set
605# CONFIG_QUOTA is not set 625# CONFIG_QUOTA is not set
606# CONFIG_DNOTIFY is not set
607# CONFIG_AUTOFS_FS is not set 626# CONFIG_AUTOFS_FS is not set
608# CONFIG_AUTOFS4_FS is not set 627# CONFIG_AUTOFS4_FS is not set
609# CONFIG_FUSE_FS is not set 628# CONFIG_FUSE_FS is not set
@@ -646,8 +665,10 @@ CONFIG_TMPFS=y
646# CONFIG_JFFS2_FS is not set 665# CONFIG_JFFS2_FS is not set
647CONFIG_CRAMFS=y 666CONFIG_CRAMFS=y
648# CONFIG_VXFS_FS is not set 667# CONFIG_VXFS_FS is not set
668# CONFIG_MINIX_FS is not set
649# CONFIG_HPFS_FS is not set 669# CONFIG_HPFS_FS is not set
650# CONFIG_QNX4FS_FS is not set 670# CONFIG_QNX4FS_FS is not set
671# CONFIG_ROMFS_FS is not set
651# CONFIG_SYSV_FS is not set 672# CONFIG_SYSV_FS is not set
652# CONFIG_UFS_FS is not set 673# CONFIG_UFS_FS is not set
653CONFIG_NETWORK_FILESYSTEMS=y 674CONFIG_NETWORK_FILESYSTEMS=y
@@ -694,7 +715,6 @@ CONFIG_MSDOS_PARTITION=y
694# CONFIG_SYSV68_PARTITION is not set 715# CONFIG_SYSV68_PARTITION is not set
695# CONFIG_NLS is not set 716# CONFIG_NLS is not set
696# CONFIG_DLM is not set 717# CONFIG_DLM is not set
697# CONFIG_UCC_SLOW is not set
698 718
699# 719#
700# Library routines 720# Library routines
@@ -709,7 +729,6 @@ CONFIG_ZLIB_INFLATE=y
709CONFIG_HAS_IOMEM=y 729CONFIG_HAS_IOMEM=y
710CONFIG_HAS_IOPORT=y 730CONFIG_HAS_IOPORT=y
711CONFIG_HAS_DMA=y 731CONFIG_HAS_DMA=y
712# CONFIG_INSTRUMENTATION is not set
713 732
714# 733#
715# Kernel hacking 734# Kernel hacking
@@ -728,6 +747,7 @@ CONFIG_SCHED_DEBUG=y
728# CONFIG_SCHEDSTATS is not set 747# CONFIG_SCHEDSTATS is not set
729# CONFIG_TIMER_STATS is not set 748# CONFIG_TIMER_STATS is not set
730# CONFIG_SLUB_DEBUG_ON is not set 749# CONFIG_SLUB_DEBUG_ON is not set
750# CONFIG_SLUB_STATS is not set
731# CONFIG_DEBUG_SPINLOCK is not set 751# CONFIG_DEBUG_SPINLOCK is not set
732# CONFIG_DEBUG_MUTEXES is not set 752# CONFIG_DEBUG_MUTEXES is not set
733# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 753# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
@@ -738,8 +758,8 @@ CONFIG_DEBUG_INFO=y
738# CONFIG_DEBUG_VM is not set 758# CONFIG_DEBUG_VM is not set
739# CONFIG_DEBUG_LIST is not set 759# CONFIG_DEBUG_LIST is not set
740# CONFIG_DEBUG_SG is not set 760# CONFIG_DEBUG_SG is not set
741CONFIG_FORCED_INLINING=y
742# CONFIG_BOOT_PRINTK_DELAY is not set 761# CONFIG_BOOT_PRINTK_DELAY is not set
762# CONFIG_BACKTRACE_SELF_TEST is not set
743# CONFIG_FAULT_INJECTION is not set 763# CONFIG_FAULT_INJECTION is not set
744# CONFIG_SAMPLES is not set 764# CONFIG_SAMPLES is not set
745# CONFIG_DEBUG_STACKOVERFLOW is not set 765# CONFIG_DEBUG_STACKOVERFLOW is not set
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig
index 797f0dfebde..09f306248f2 100644
--- a/arch/powerpc/configs/pasemi_defconfig
+++ b/arch/powerpc/configs/pasemi_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc6 3# Linux kernel version: 2.6.25-rc6
4# Tue Jan 15 10:26:10 2008 4# Tue Mar 25 10:25:48 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -27,6 +27,7 @@ CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 27CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 28CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 29CONFIG_GENERIC_HARDIRQS=y
30CONFIG_HAVE_SETUP_PER_CPU_AREA=y
30CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
31CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
32CONFIG_ARCH_HAS_ILOG2_U32=y 33CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=17 73CONFIG_LOG_BUF_SHIFT=17
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
76CONFIG_FAIR_GROUP_SCHED=y 75# CONFIG_GROUP_SCHED is not set
77CONFIG_FAIR_USER_SCHED=y
78# CONFIG_FAIR_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
77CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 78# CONFIG_RELAY is not set
79CONFIG_NAMESPACES=y
80# CONFIG_UTS_NS is not set
81# CONFIG_IPC_NS is not set
82# CONFIG_USER_NS is not set
83# CONFIG_PID_NS is not set
81CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -91,11 +94,13 @@ CONFIG_HOTPLUG=y
91CONFIG_PRINTK=y 94CONFIG_PRINTK=y
92CONFIG_BUG=y 95CONFIG_BUG=y
93CONFIG_ELF_CORE=y 96CONFIG_ELF_CORE=y
97CONFIG_COMPAT_BRK=y
94CONFIG_BASE_FULL=y 98CONFIG_BASE_FULL=y
95CONFIG_FUTEX=y 99CONFIG_FUTEX=y
96CONFIG_ANON_INODES=y 100CONFIG_ANON_INODES=y
97CONFIG_EPOLL=y 101CONFIG_EPOLL=y
98CONFIG_SIGNALFD=y 102CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
100CONFIG_SHMEM=y 105CONFIG_SHMEM=y
101CONFIG_VM_EVENT_COUNTERS=y 106CONFIG_VM_EVENT_COUNTERS=y
@@ -103,6 +108,15 @@ CONFIG_SLUB_DEBUG=y
103# CONFIG_SLAB is not set 108# CONFIG_SLAB is not set
104CONFIG_SLUB=y 109CONFIG_SLUB=y
105# CONFIG_SLOB is not set 110# CONFIG_SLOB is not set
111CONFIG_PROFILING=y
112# CONFIG_MARKERS is not set
113CONFIG_OPROFILE=y
114CONFIG_HAVE_OPROFILE=y
115# CONFIG_KPROBES is not set
116CONFIG_HAVE_KPROBES=y
117CONFIG_HAVE_KRETPROBES=y
118CONFIG_PROC_PAGE_MONITOR=y
119CONFIG_SLABINFO=y
106CONFIG_RT_MUTEXES=y 120CONFIG_RT_MUTEXES=y
107# CONFIG_TINY_SHMEM is not set 121# CONFIG_TINY_SHMEM is not set
108CONFIG_BASE_SMALL=0 122CONFIG_BASE_SMALL=0
@@ -130,6 +144,7 @@ CONFIG_DEFAULT_AS=y
130# CONFIG_DEFAULT_CFQ is not set 144# CONFIG_DEFAULT_CFQ is not set
131# CONFIG_DEFAULT_NOOP is not set 145# CONFIG_DEFAULT_NOOP is not set
132CONFIG_DEFAULT_IOSCHED="anticipatory" 146CONFIG_DEFAULT_IOSCHED="anticipatory"
147CONFIG_CLASSIC_RCU=y
133 148
134# 149#
135# Platform support 150# Platform support
@@ -140,8 +155,8 @@ CONFIG_PPC_MULTIPLATFORM=y
140# CONFIG_PPC_86xx is not set 155# CONFIG_PPC_86xx is not set
141# CONFIG_PPC_PSERIES is not set 156# CONFIG_PPC_PSERIES is not set
142# CONFIG_PPC_ISERIES is not set 157# CONFIG_PPC_ISERIES is not set
143# CONFIG_PPC_MPC52xx is not set 158# CONFIG_PPC_MPC512x is not set
144# CONFIG_PPC_MPC5200 is not set 159# CONFIG_PPC_MPC5121 is not set
145# CONFIG_PPC_PMAC is not set 160# CONFIG_PPC_PMAC is not set
146# CONFIG_PPC_MAPLE is not set 161# CONFIG_PPC_MAPLE is not set
147CONFIG_PPC_PASEMI=y 162CONFIG_PPC_PASEMI=y
@@ -159,6 +174,7 @@ CONFIG_PPC_PASEMI_MDIO=y
159# CONFIG_PPC_IBM_CELL_BLADE is not set 174# CONFIG_PPC_IBM_CELL_BLADE is not set
160# CONFIG_PQ2ADS is not set 175# CONFIG_PQ2ADS is not set
161CONFIG_PPC_NATIVE=y 176CONFIG_PPC_NATIVE=y
177# CONFIG_IPIC is not set
162CONFIG_MPIC=y 178CONFIG_MPIC=y
163# CONFIG_MPIC_WEIRD is not set 179# CONFIG_MPIC_WEIRD is not set
164# CONFIG_PPC_I8259 is not set 180# CONFIG_PPC_I8259 is not set
@@ -189,7 +205,6 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
189# CPU Frequency drivers 205# CPU Frequency drivers
190# 206#
191CONFIG_PPC_PASEMI_CPUFREQ=y 207CONFIG_PPC_PASEMI_CPUFREQ=y
192# CONFIG_CPM2 is not set
193# CONFIG_FSL_ULI1575 is not set 208# CONFIG_FSL_ULI1575 is not set
194 209
195# 210#
@@ -204,16 +219,20 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
204# CONFIG_HZ_300 is not set 219# CONFIG_HZ_300 is not set
205CONFIG_HZ_1000=y 220CONFIG_HZ_1000=y
206CONFIG_HZ=1000 221CONFIG_HZ=1000
222# CONFIG_SCHED_HRTICK is not set
207CONFIG_PREEMPT_NONE=y 223CONFIG_PREEMPT_NONE=y
208# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
209# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
210# CONFIG_PREEMPT_BKL is not set
211CONFIG_BINFMT_ELF=y 226CONFIG_BINFMT_ELF=y
227CONFIG_COMPAT_BINFMT_ELF=y
212# CONFIG_BINFMT_MISC is not set 228# CONFIG_BINFMT_MISC is not set
213CONFIG_FORCE_MAX_ZONEORDER=9 229CONFIG_FORCE_MAX_ZONEORDER=9
214CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 230CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
215CONFIG_IOMMU_VMERGE=y 231CONFIG_IOMMU_VMERGE=y
232CONFIG_IOMMU_HELPER=y
216CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 233CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
234CONFIG_ARCH_HAS_WALK_MEMORY=y
235CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
217# CONFIG_KEXEC is not set 236# CONFIG_KEXEC is not set
218# CONFIG_CRASH_DUMP is not set 237# CONFIG_CRASH_DUMP is not set
219# CONFIG_IRQ_ALL_CPUS is not set 238# CONFIG_IRQ_ALL_CPUS is not set
@@ -236,12 +255,12 @@ CONFIG_ZONE_DMA_FLAG=1
236CONFIG_BOUNCE=y 255CONFIG_BOUNCE=y
237CONFIG_PPC_HAS_HASH_64K=y 256CONFIG_PPC_HAS_HASH_64K=y
238CONFIG_PPC_64K_PAGES=y 257CONFIG_PPC_64K_PAGES=y
258# CONFIG_PPC_SUBPAGE_PROT is not set
239# CONFIG_SCHED_SMT is not set 259# CONFIG_SCHED_SMT is not set
240CONFIG_PROC_DEVICETREE=y 260CONFIG_PROC_DEVICETREE=y
241# CONFIG_CMDLINE_BOOL is not set 261# CONFIG_CMDLINE_BOOL is not set
242# CONFIG_PM is not set 262# CONFIG_PM is not set
243# CONFIG_SECCOMP is not set 263# CONFIG_SECCOMP is not set
244# CONFIG_WANT_DEVICE_TREE is not set
245CONFIG_ISA_DMA_API=y 264CONFIG_ISA_DMA_API=y
246 265
247# 266#
@@ -290,6 +309,7 @@ CONFIG_XFRM=y
290CONFIG_XFRM_USER=y 309CONFIG_XFRM_USER=y
291# CONFIG_XFRM_SUB_POLICY is not set 310# CONFIG_XFRM_SUB_POLICY is not set
292# CONFIG_XFRM_MIGRATE is not set 311# CONFIG_XFRM_MIGRATE is not set
312# CONFIG_XFRM_STATISTICS is not set
293CONFIG_NET_KEY=y 313CONFIG_NET_KEY=y
294# CONFIG_NET_KEY_MIGRATE is not set 314# CONFIG_NET_KEY_MIGRATE is not set
295CONFIG_INET=y 315CONFIG_INET=y
@@ -346,6 +366,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
346# 366#
347# CONFIG_NET_PKTGEN is not set 367# CONFIG_NET_PKTGEN is not set
348# CONFIG_HAMRADIO is not set 368# CONFIG_HAMRADIO is not set
369# CONFIG_CAN is not set
349# CONFIG_IRDA is not set 370# CONFIG_IRDA is not set
350# CONFIG_BT is not set 371# CONFIG_BT is not set
351# CONFIG_AF_RXRPC is not set 372# CONFIG_AF_RXRPC is not set
@@ -441,8 +462,10 @@ CONFIG_MTD_NAND=y
441CONFIG_MTD_NAND_IDS=y 462CONFIG_MTD_NAND_IDS=y
442# CONFIG_MTD_NAND_DISKONCHIP is not set 463# CONFIG_MTD_NAND_DISKONCHIP is not set
443# CONFIG_MTD_NAND_CAFE is not set 464# CONFIG_MTD_NAND_CAFE is not set
465CONFIG_MTD_NAND_PASEMI=y
444# CONFIG_MTD_NAND_PLATFORM is not set 466# CONFIG_MTD_NAND_PLATFORM is not set
445# CONFIG_MTD_ALAUDA is not set 467# CONFIG_MTD_ALAUDA is not set
468# CONFIG_MTD_NAND_FSL_ELBC is not set
446# CONFIG_MTD_ONENAND is not set 469# CONFIG_MTD_ONENAND is not set
447 470
448# 471#
@@ -465,7 +488,7 @@ CONFIG_BLK_DEV_LOOP=y
465CONFIG_BLK_DEV_RAM=y 488CONFIG_BLK_DEV_RAM=y
466CONFIG_BLK_DEV_RAM_COUNT=16 489CONFIG_BLK_DEV_RAM_COUNT=16
467CONFIG_BLK_DEV_RAM_SIZE=16384 490CONFIG_BLK_DEV_RAM_SIZE=16384
468CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 491# CONFIG_BLK_DEV_XIP is not set
469# CONFIG_CDROM_PKTCDVD is not set 492# CONFIG_CDROM_PKTCDVD is not set
470# CONFIG_ATA_OVER_ETH is not set 493# CONFIG_ATA_OVER_ETH is not set
471CONFIG_MISC_DEVICES=y 494CONFIG_MISC_DEVICES=y
@@ -473,11 +496,13 @@ CONFIG_MISC_DEVICES=y
473# CONFIG_EEPROM_93CX6 is not set 496# CONFIG_EEPROM_93CX6 is not set
474# CONFIG_SGI_IOC4 is not set 497# CONFIG_SGI_IOC4 is not set
475# CONFIG_TIFM_CORE is not set 498# CONFIG_TIFM_CORE is not set
499# CONFIG_ENCLOSURE_SERVICES is not set
500CONFIG_HAVE_IDE=y
476CONFIG_IDE=y 501CONFIG_IDE=y
477CONFIG_BLK_DEV_IDE=y 502CONFIG_BLK_DEV_IDE=y
478 503
479# 504#
480# Please see Documentation/ide.txt for help/info on IDE drives 505# Please see Documentation/ide/ide.txt for help/info on IDE drives
481# 506#
482# CONFIG_BLK_DEV_IDE_SATA is not set 507# CONFIG_BLK_DEV_IDE_SATA is not set
483CONFIG_BLK_DEV_IDEDISK=y 508CONFIG_BLK_DEV_IDEDISK=y
@@ -485,6 +510,7 @@ CONFIG_IDEDISK_MULTI_MODE=y
485# CONFIG_BLK_DEV_IDECS is not set 510# CONFIG_BLK_DEV_IDECS is not set
486# CONFIG_BLK_DEV_DELKIN is not set 511# CONFIG_BLK_DEV_DELKIN is not set
487CONFIG_BLK_DEV_IDECD=y 512CONFIG_BLK_DEV_IDECD=y
513CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
488# CONFIG_BLK_DEV_IDETAPE is not set 514# CONFIG_BLK_DEV_IDETAPE is not set
489# CONFIG_BLK_DEV_IDEFLOPPY is not set 515# CONFIG_BLK_DEV_IDEFLOPPY is not set
490CONFIG_BLK_DEV_IDESCSI=y 516CONFIG_BLK_DEV_IDESCSI=y
@@ -500,7 +526,6 @@ CONFIG_IDE_PROC_FS=y
500# 526#
501# PCI IDE chipsets support 527# PCI IDE chipsets support
502# 528#
503# CONFIG_IDEPCI_PCIBUS_ORDER is not set
504# CONFIG_BLK_DEV_GENERIC is not set 529# CONFIG_BLK_DEV_GENERIC is not set
505# CONFIG_BLK_DEV_OPTI621 is not set 530# CONFIG_BLK_DEV_OPTI621 is not set
506# CONFIG_BLK_DEV_AEC62XX is not set 531# CONFIG_BLK_DEV_AEC62XX is not set
@@ -528,7 +553,6 @@ CONFIG_IDE_PROC_FS=y
528# CONFIG_BLK_DEV_TRM290 is not set 553# CONFIG_BLK_DEV_TRM290 is not set
529# CONFIG_BLK_DEV_VIA82CXXX is not set 554# CONFIG_BLK_DEV_VIA82CXXX is not set
530# CONFIG_BLK_DEV_TC86C001 is not set 555# CONFIG_BLK_DEV_TC86C001 is not set
531# CONFIG_IDE_ARM is not set
532# CONFIG_BLK_DEV_IDEDMA is not set 556# CONFIG_BLK_DEV_IDEDMA is not set
533CONFIG_IDE_ARCH_OBSOLETE_INIT=y 557CONFIG_IDE_ARCH_OBSOLETE_INIT=y
534# CONFIG_BLK_DEV_HD is not set 558# CONFIG_BLK_DEV_HD is not set
@@ -593,6 +617,7 @@ CONFIG_SCSI_LOWLEVEL=y
593# CONFIG_SCSI_IPS is not set 617# CONFIG_SCSI_IPS is not set
594# CONFIG_SCSI_INITIO is not set 618# CONFIG_SCSI_INITIO is not set
595# CONFIG_SCSI_INIA100 is not set 619# CONFIG_SCSI_INIA100 is not set
620# CONFIG_SCSI_MVSAS is not set
596# CONFIG_SCSI_STEX is not set 621# CONFIG_SCSI_STEX is not set
597# CONFIG_SCSI_SYM53C8XX_2 is not set 622# CONFIG_SCSI_SYM53C8XX_2 is not set
598# CONFIG_SCSI_IPR is not set 623# CONFIG_SCSI_IPR is not set
@@ -646,6 +671,7 @@ CONFIG_ATA_GENERIC=y
646# CONFIG_PATA_MPIIX is not set 671# CONFIG_PATA_MPIIX is not set
647# CONFIG_PATA_OLDPIIX is not set 672# CONFIG_PATA_OLDPIIX is not set
648# CONFIG_PATA_NETCELL is not set 673# CONFIG_PATA_NETCELL is not set
674# CONFIG_PATA_NINJA32 is not set
649# CONFIG_PATA_NS87410 is not set 675# CONFIG_PATA_NS87410 is not set
650# CONFIG_PATA_NS87415 is not set 676# CONFIG_PATA_NS87415 is not set
651# CONFIG_PATA_OPTI is not set 677# CONFIG_PATA_OPTI is not set
@@ -699,7 +725,6 @@ CONFIG_DUMMY=y
699# CONFIG_EQUALIZER is not set 725# CONFIG_EQUALIZER is not set
700# CONFIG_TUN is not set 726# CONFIG_TUN is not set
701# CONFIG_VETH is not set 727# CONFIG_VETH is not set
702# CONFIG_IP1000 is not set
703# CONFIG_ARCNET is not set 728# CONFIG_ARCNET is not set
704CONFIG_PHYLIB=y 729CONFIG_PHYLIB=y
705 730
@@ -715,6 +740,7 @@ CONFIG_MARVELL_PHY=y
715# CONFIG_SMSC_PHY is not set 740# CONFIG_SMSC_PHY is not set
716# CONFIG_BROADCOM_PHY is not set 741# CONFIG_BROADCOM_PHY is not set
717# CONFIG_ICPLUS_PHY is not set 742# CONFIG_ICPLUS_PHY is not set
743# CONFIG_REALTEK_PHY is not set
718# CONFIG_FIXED_PHY is not set 744# CONFIG_FIXED_PHY is not set
719# CONFIG_MDIO_BITBANG is not set 745# CONFIG_MDIO_BITBANG is not set
720CONFIG_NET_ETHERNET=y 746CONFIG_NET_ETHERNET=y
@@ -742,6 +768,7 @@ CONFIG_NET_PCI=y
742# CONFIG_NE2K_PCI is not set 768# CONFIG_NE2K_PCI is not set
743# CONFIG_8139CP is not set 769# CONFIG_8139CP is not set
744# CONFIG_8139TOO is not set 770# CONFIG_8139TOO is not set
771# CONFIG_R6040 is not set
745# CONFIG_SIS900 is not set 772# CONFIG_SIS900 is not set
746# CONFIG_EPIC100 is not set 773# CONFIG_EPIC100 is not set
747# CONFIG_SUNDANCE is not set 774# CONFIG_SUNDANCE is not set
@@ -754,6 +781,9 @@ CONFIG_E1000=y
754CONFIG_E1000_NAPI=y 781CONFIG_E1000_NAPI=y
755# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 782# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
756# CONFIG_E1000E is not set 783# CONFIG_E1000E is not set
784# CONFIG_E1000E_ENABLED is not set
785# CONFIG_IP1000 is not set
786# CONFIG_IGB is not set
757# CONFIG_NS83820 is not set 787# CONFIG_NS83820 is not set
758# CONFIG_HAMACHI is not set 788# CONFIG_HAMACHI is not set
759# CONFIG_YELLOWFIN is not set 789# CONFIG_YELLOWFIN is not set
@@ -779,6 +809,7 @@ CONFIG_NETDEV_10000=y
779CONFIG_PASEMI_MAC=y 809CONFIG_PASEMI_MAC=y
780# CONFIG_MLX4_CORE is not set 810# CONFIG_MLX4_CORE is not set
781# CONFIG_TEHUTI is not set 811# CONFIG_TEHUTI is not set
812# CONFIG_BNX2X is not set
782# CONFIG_TR is not set 813# CONFIG_TR is not set
783 814
784# 815#
@@ -802,7 +833,6 @@ CONFIG_PASEMI_MAC=y
802# CONFIG_PPP is not set 833# CONFIG_PPP is not set
803# CONFIG_SLIP is not set 834# CONFIG_SLIP is not set
804# CONFIG_NET_FC is not set 835# CONFIG_NET_FC is not set
805# CONFIG_SHAPER is not set
806# CONFIG_NETCONSOLE is not set 836# CONFIG_NETCONSOLE is not set
807# CONFIG_NETPOLL is not set 837# CONFIG_NETPOLL is not set
808# CONFIG_NET_POLL_CONTROLLER is not set 838# CONFIG_NET_POLL_CONTROLLER is not set
@@ -861,6 +891,7 @@ CONFIG_VT_CONSOLE=y
861CONFIG_HW_CONSOLE=y 891CONFIG_HW_CONSOLE=y
862# CONFIG_VT_HW_CONSOLE_BINDING is not set 892# CONFIG_VT_HW_CONSOLE_BINDING is not set
863# CONFIG_SERIAL_NONSTANDARD is not set 893# CONFIG_SERIAL_NONSTANDARD is not set
894# CONFIG_NOZOMI is not set
864 895
865# 896#
866# Serial drivers 897# Serial drivers
@@ -886,8 +917,7 @@ CONFIG_LEGACY_PTY_COUNT=4
886# CONFIG_IPMI_HANDLER is not set 917# CONFIG_IPMI_HANDLER is not set
887CONFIG_HW_RANDOM=y 918CONFIG_HW_RANDOM=y
888CONFIG_HW_RANDOM_PASEMI=y 919CONFIG_HW_RANDOM_PASEMI=y
889CONFIG_GEN_RTC=y 920# CONFIG_GEN_RTC is not set
890CONFIG_GEN_RTC_X=y
891# CONFIG_R3964 is not set 921# CONFIG_R3964 is not set
892# CONFIG_APPLICOM is not set 922# CONFIG_APPLICOM is not set
893 923
@@ -897,6 +927,7 @@ CONFIG_GEN_RTC_X=y
897# CONFIG_SYNCLINK_CS is not set 927# CONFIG_SYNCLINK_CS is not set
898# CONFIG_CARDMAN_4000 is not set 928# CONFIG_CARDMAN_4000 is not set
899# CONFIG_CARDMAN_4040 is not set 929# CONFIG_CARDMAN_4040 is not set
930# CONFIG_IPWIRELESS is not set
900CONFIG_RAW_DRIVER=y 931CONFIG_RAW_DRIVER=y
901CONFIG_MAX_RAW_DEVS=256 932CONFIG_MAX_RAW_DEVS=256
902# CONFIG_HANGCHECK_TIMER is not set 933# CONFIG_HANGCHECK_TIMER is not set
@@ -944,13 +975,12 @@ CONFIG_I2C_PASEMI=y
944# 975#
945# Miscellaneous I2C Chip support 976# Miscellaneous I2C Chip support
946# 977#
947# CONFIG_SENSORS_DS1337 is not set
948# CONFIG_SENSORS_DS1374 is not set
949# CONFIG_DS1682 is not set 978# CONFIG_DS1682 is not set
950CONFIG_SENSORS_EEPROM=y 979CONFIG_SENSORS_EEPROM=y
951# CONFIG_SENSORS_PCF8574 is not set 980# CONFIG_SENSORS_PCF8574 is not set
952# CONFIG_SENSORS_PCA9539 is not set 981# CONFIG_PCF8575 is not set
953# CONFIG_SENSORS_PCF8591 is not set 982# CONFIG_SENSORS_PCF8591 is not set
983# CONFIG_TPS65010 is not set
954# CONFIG_SENSORS_MAX6875 is not set 984# CONFIG_SENSORS_MAX6875 is not set
955# CONFIG_SENSORS_TSL2550 is not set 985# CONFIG_SENSORS_TSL2550 is not set
956# CONFIG_I2C_DEBUG_CORE is not set 986# CONFIG_I2C_DEBUG_CORE is not set
@@ -975,6 +1005,7 @@ CONFIG_HWMON_VID=y
975# CONFIG_SENSORS_ADM1031 is not set 1005# CONFIG_SENSORS_ADM1031 is not set
976# CONFIG_SENSORS_ADM9240 is not set 1006# CONFIG_SENSORS_ADM9240 is not set
977# CONFIG_SENSORS_ADT7470 is not set 1007# CONFIG_SENSORS_ADT7470 is not set
1008# CONFIG_SENSORS_ADT7473 is not set
978# CONFIG_SENSORS_ATXP1 is not set 1009# CONFIG_SENSORS_ATXP1 is not set
979# CONFIG_SENSORS_DS1621 is not set 1010# CONFIG_SENSORS_DS1621 is not set
980# CONFIG_SENSORS_I5K_AMB is not set 1011# CONFIG_SENSORS_I5K_AMB is not set
@@ -1004,6 +1035,7 @@ CONFIG_SENSORS_LM90=y
1004# CONFIG_SENSORS_SMSC47M1 is not set 1035# CONFIG_SENSORS_SMSC47M1 is not set
1005# CONFIG_SENSORS_SMSC47M192 is not set 1036# CONFIG_SENSORS_SMSC47M192 is not set
1006# CONFIG_SENSORS_SMSC47B397 is not set 1037# CONFIG_SENSORS_SMSC47B397 is not set
1038# CONFIG_SENSORS_ADS7828 is not set
1007# CONFIG_SENSORS_THMC50 is not set 1039# CONFIG_SENSORS_THMC50 is not set
1008# CONFIG_SENSORS_VIA686A is not set 1040# CONFIG_SENSORS_VIA686A is not set
1009# CONFIG_SENSORS_VT1211 is not set 1041# CONFIG_SENSORS_VT1211 is not set
@@ -1013,9 +1045,11 @@ CONFIG_SENSORS_LM90=y
1013# CONFIG_SENSORS_W83792D is not set 1045# CONFIG_SENSORS_W83792D is not set
1014# CONFIG_SENSORS_W83793 is not set 1046# CONFIG_SENSORS_W83793 is not set
1015# CONFIG_SENSORS_W83L785TS is not set 1047# CONFIG_SENSORS_W83L785TS is not set
1048# CONFIG_SENSORS_W83L786NG is not set
1016# CONFIG_SENSORS_W83627HF is not set 1049# CONFIG_SENSORS_W83627HF is not set
1017# CONFIG_SENSORS_W83627EHF is not set 1050# CONFIG_SENSORS_W83627EHF is not set
1018# CONFIG_HWMON_DEBUG_CHIP is not set 1051# CONFIG_HWMON_DEBUG_CHIP is not set
1052# CONFIG_THERMAL is not set
1019# CONFIG_WATCHDOG is not set 1053# CONFIG_WATCHDOG is not set
1020 1054
1021# 1055#
@@ -1183,6 +1217,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1183# CONFIG_SND_BT87X is not set 1217# CONFIG_SND_BT87X is not set
1184# CONFIG_SND_CA0106 is not set 1218# CONFIG_SND_CA0106 is not set
1185# CONFIG_SND_CMIPCI is not set 1219# CONFIG_SND_CMIPCI is not set
1220# CONFIG_SND_OXYGEN is not set
1186# CONFIG_SND_CS4281 is not set 1221# CONFIG_SND_CS4281 is not set
1187# CONFIG_SND_CS46XX is not set 1222# CONFIG_SND_CS46XX is not set
1188# CONFIG_SND_CS5530 is not set 1223# CONFIG_SND_CS5530 is not set
@@ -1208,6 +1243,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1208# CONFIG_SND_HDA_INTEL is not set 1243# CONFIG_SND_HDA_INTEL is not set
1209# CONFIG_SND_HDSP is not set 1244# CONFIG_SND_HDSP is not set
1210# CONFIG_SND_HDSPM is not set 1245# CONFIG_SND_HDSPM is not set
1246# CONFIG_SND_HIFIER is not set
1211# CONFIG_SND_ICE1712 is not set 1247# CONFIG_SND_ICE1712 is not set
1212# CONFIG_SND_ICE1724 is not set 1248# CONFIG_SND_ICE1724 is not set
1213# CONFIG_SND_INTEL8X0 is not set 1249# CONFIG_SND_INTEL8X0 is not set
@@ -1225,6 +1261,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1225# CONFIG_SND_TRIDENT is not set 1261# CONFIG_SND_TRIDENT is not set
1226# CONFIG_SND_VIA82XX is not set 1262# CONFIG_SND_VIA82XX is not set
1227# CONFIG_SND_VIA82XX_MODEM is not set 1263# CONFIG_SND_VIA82XX_MODEM is not set
1264# CONFIG_SND_VIRTUOSO is not set
1228# CONFIG_SND_VX222 is not set 1265# CONFIG_SND_VX222 is not set
1229# CONFIG_SND_YMFPCI is not set 1266# CONFIG_SND_YMFPCI is not set
1230 1267
@@ -1259,6 +1296,10 @@ CONFIG_SND_USB_USX2Y=y
1259# 1296#
1260 1297
1261# 1298#
1299# ALSA SoC audio for Freescale SOCs
1300#
1301
1302#
1262# Open Sound System 1303# Open Sound System
1263# 1304#
1264# CONFIG_SOUND_PRIME is not set 1305# CONFIG_SOUND_PRIME is not set
@@ -1280,6 +1321,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1280CONFIG_USB_ARCH_HAS_EHCI=y 1321CONFIG_USB_ARCH_HAS_EHCI=y
1281CONFIG_USB=y 1322CONFIG_USB=y
1282# CONFIG_USB_DEBUG is not set 1323# CONFIG_USB_DEBUG is not set
1324# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1283 1325
1284# 1326#
1285# Miscellaneous USB options 1327# Miscellaneous USB options
@@ -1293,17 +1335,14 @@ CONFIG_USB_DEVICEFS=y
1293# USB Host Controller Drivers 1335# USB Host Controller Drivers
1294# 1336#
1295CONFIG_USB_EHCI_HCD=y 1337CONFIG_USB_EHCI_HCD=y
1296# CONFIG_USB_EHCI_SPLIT_ISO is not set
1297# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1338# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1298# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1339# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1340CONFIG_USB_EHCI_HCD_PPC_OF=y
1299# CONFIG_USB_ISP116X_HCD is not set 1341# CONFIG_USB_ISP116X_HCD is not set
1300CONFIG_USB_OHCI_HCD=y 1342CONFIG_USB_OHCI_HCD=y
1301CONFIG_USB_OHCI_HCD_PPC_OF=y 1343# CONFIG_USB_OHCI_HCD_PPC_OF is not set
1302CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1344# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1303# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1345# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1304CONFIG_USB_OHCI_HCD_PCI=y
1305CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
1306CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
1307CONFIG_USB_OHCI_LITTLE_ENDIAN=y 1346CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1308CONFIG_USB_UHCI_HCD=y 1347CONFIG_USB_UHCI_HCD=y
1309CONFIG_USB_SL811_HCD=y 1348CONFIG_USB_SL811_HCD=y
@@ -1348,10 +1387,6 @@ CONFIG_USB_LIBUSUAL=y
1348# 1387#
1349# USB port drivers 1388# USB port drivers
1350# 1389#
1351
1352#
1353# USB Serial Converter support
1354#
1355# CONFIG_USB_SERIAL is not set 1390# CONFIG_USB_SERIAL is not set
1356 1391
1357# 1392#
@@ -1377,16 +1412,9 @@ CONFIG_USB_LIBUSUAL=y
1377# CONFIG_USB_TRANCEVIBRATOR is not set 1412# CONFIG_USB_TRANCEVIBRATOR is not set
1378# CONFIG_USB_IOWARRIOR is not set 1413# CONFIG_USB_IOWARRIOR is not set
1379# CONFIG_USB_TEST is not set 1414# CONFIG_USB_TEST is not set
1380
1381#
1382# USB DSL modem support
1383#
1384
1385#
1386# USB Gadget Support
1387#
1388# CONFIG_USB_GADGET is not set 1415# CONFIG_USB_GADGET is not set
1389# CONFIG_MMC is not set 1416# CONFIG_MMC is not set
1417# CONFIG_MEMSTICK is not set
1390# CONFIG_NEW_LEDS is not set 1418# CONFIG_NEW_LEDS is not set
1391# CONFIG_INFINIBAND is not set 1419# CONFIG_INFINIBAND is not set
1392CONFIG_EDAC=y 1420CONFIG_EDAC=y
@@ -1425,6 +1453,7 @@ CONFIG_RTC_DRV_DS1307=y
1425# CONFIG_RTC_DRV_PCF8563 is not set 1453# CONFIG_RTC_DRV_PCF8563 is not set
1426# CONFIG_RTC_DRV_PCF8583 is not set 1454# CONFIG_RTC_DRV_PCF8583 is not set
1427# CONFIG_RTC_DRV_M41T80 is not set 1455# CONFIG_RTC_DRV_M41T80 is not set
1456# CONFIG_RTC_DRV_S35390A is not set
1428 1457
1429# 1458#
1430# SPI RTC drivers 1459# SPI RTC drivers
@@ -1434,9 +1463,10 @@ CONFIG_RTC_DRV_DS1307=y
1434# Platform RTC drivers 1463# Platform RTC drivers
1435# 1464#
1436# CONFIG_RTC_DRV_CMOS is not set 1465# CONFIG_RTC_DRV_CMOS is not set
1466# CONFIG_RTC_DRV_DS1511 is not set
1437# CONFIG_RTC_DRV_DS1553 is not set 1467# CONFIG_RTC_DRV_DS1553 is not set
1438# CONFIG_RTC_DRV_STK17TA8 is not set
1439# CONFIG_RTC_DRV_DS1742 is not set 1468# CONFIG_RTC_DRV_DS1742 is not set
1469# CONFIG_RTC_DRV_STK17TA8 is not set
1440# CONFIG_RTC_DRV_M48T86 is not set 1470# CONFIG_RTC_DRV_M48T86 is not set
1441# CONFIG_RTC_DRV_M48T59 is not set 1471# CONFIG_RTC_DRV_M48T59 is not set
1442# CONFIG_RTC_DRV_V3020 is not set 1472# CONFIG_RTC_DRV_V3020 is not set
@@ -1444,6 +1474,7 @@ CONFIG_RTC_DRV_DS1307=y
1444# 1474#
1445# on-CPU RTC drivers 1475# on-CPU RTC drivers
1446# 1476#
1477# CONFIG_DMADEVICES is not set
1447 1478
1448# 1479#
1449# Userspace I/O 1480# Userspace I/O
@@ -1471,12 +1502,10 @@ CONFIG_FS_POSIX_ACL=y
1471# CONFIG_XFS_FS is not set 1502# CONFIG_XFS_FS is not set
1472# CONFIG_GFS2_FS is not set 1503# CONFIG_GFS2_FS is not set
1473# CONFIG_OCFS2_FS is not set 1504# CONFIG_OCFS2_FS is not set
1474# CONFIG_MINIX_FS is not set 1505CONFIG_DNOTIFY=y
1475# CONFIG_ROMFS_FS is not set
1476CONFIG_INOTIFY=y 1506CONFIG_INOTIFY=y
1477CONFIG_INOTIFY_USER=y 1507CONFIG_INOTIFY_USER=y
1478# CONFIG_QUOTA is not set 1508# CONFIG_QUOTA is not set
1479CONFIG_DNOTIFY=y
1480CONFIG_AUTOFS_FS=y 1509CONFIG_AUTOFS_FS=y
1481CONFIG_AUTOFS4_FS=y 1510CONFIG_AUTOFS4_FS=y
1482# CONFIG_FUSE_FS is not set 1511# CONFIG_FUSE_FS is not set
@@ -1536,8 +1565,10 @@ CONFIG_JFFS2_RTIME=y
1536# CONFIG_JFFS2_RUBIN is not set 1565# CONFIG_JFFS2_RUBIN is not set
1537# CONFIG_CRAMFS is not set 1566# CONFIG_CRAMFS is not set
1538# CONFIG_VXFS_FS is not set 1567# CONFIG_VXFS_FS is not set
1568# CONFIG_MINIX_FS is not set
1539# CONFIG_HPFS_FS is not set 1569# CONFIG_HPFS_FS is not set
1540# CONFIG_QNX4FS_FS is not set 1570# CONFIG_QNX4FS_FS is not set
1571# CONFIG_ROMFS_FS is not set
1541# CONFIG_SYSV_FS is not set 1572# CONFIG_SYSV_FS is not set
1542# CONFIG_UFS_FS is not set 1573# CONFIG_UFS_FS is not set
1543CONFIG_NETWORK_FILESYSTEMS=y 1574CONFIG_NETWORK_FILESYSTEMS=y
@@ -1629,7 +1660,6 @@ CONFIG_NLS_ISO8859_1=y
1629# CONFIG_NLS_KOI8_U is not set 1660# CONFIG_NLS_KOI8_U is not set
1630# CONFIG_NLS_UTF8 is not set 1661# CONFIG_NLS_UTF8 is not set
1631# CONFIG_DLM is not set 1662# CONFIG_DLM is not set
1632# CONFIG_UCC_SLOW is not set
1633 1663
1634# 1664#
1635# Library routines 1665# Library routines
@@ -1647,11 +1677,6 @@ CONFIG_PLIST=y
1647CONFIG_HAS_IOMEM=y 1677CONFIG_HAS_IOMEM=y
1648CONFIG_HAS_IOPORT=y 1678CONFIG_HAS_IOPORT=y
1649CONFIG_HAS_DMA=y 1679CONFIG_HAS_DMA=y
1650CONFIG_INSTRUMENTATION=y
1651CONFIG_PROFILING=y
1652CONFIG_OPROFILE=y
1653# CONFIG_KPROBES is not set
1654# CONFIG_MARKERS is not set
1655 1680
1656# 1681#
1657# Kernel hacking 1682# Kernel hacking
@@ -1670,6 +1695,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
1670# CONFIG_SCHEDSTATS is not set 1695# CONFIG_SCHEDSTATS is not set
1671# CONFIG_TIMER_STATS is not set 1696# CONFIG_TIMER_STATS is not set
1672# CONFIG_SLUB_DEBUG_ON is not set 1697# CONFIG_SLUB_DEBUG_ON is not set
1698# CONFIG_SLUB_STATS is not set
1673# CONFIG_DEBUG_RT_MUTEXES is not set 1699# CONFIG_DEBUG_RT_MUTEXES is not set
1674# CONFIG_RT_MUTEX_TESTER is not set 1700# CONFIG_RT_MUTEX_TESTER is not set
1675# CONFIG_DEBUG_SPINLOCK is not set 1701# CONFIG_DEBUG_SPINLOCK is not set
@@ -1682,9 +1708,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1682# CONFIG_DEBUG_VM is not set 1708# CONFIG_DEBUG_VM is not set
1683# CONFIG_DEBUG_LIST is not set 1709# CONFIG_DEBUG_LIST is not set
1684# CONFIG_DEBUG_SG is not set 1710# CONFIG_DEBUG_SG is not set
1685# CONFIG_FORCED_INLINING is not set
1686# CONFIG_BOOT_PRINTK_DELAY is not set 1711# CONFIG_BOOT_PRINTK_DELAY is not set
1687# CONFIG_RCU_TORTURE_TEST is not set 1712# CONFIG_RCU_TORTURE_TEST is not set
1713# CONFIG_BACKTRACE_SELF_TEST is not set
1688# CONFIG_FAULT_INJECTION is not set 1714# CONFIG_FAULT_INJECTION is not set
1689# CONFIG_SAMPLES is not set 1715# CONFIG_SAMPLES is not set
1690# CONFIG_DEBUG_STACKOVERFLOW is not set 1716# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1710,7 +1736,9 @@ CONFIG_ASYNC_MEMCPY=y
1710CONFIG_ASYNC_XOR=y 1736CONFIG_ASYNC_XOR=y
1711CONFIG_CRYPTO=y 1737CONFIG_CRYPTO=y
1712CONFIG_CRYPTO_ALGAPI=y 1738CONFIG_CRYPTO_ALGAPI=y
1739CONFIG_CRYPTO_AEAD=y
1713CONFIG_CRYPTO_BLKCIPHER=y 1740CONFIG_CRYPTO_BLKCIPHER=y
1741# CONFIG_CRYPTO_SEQIV is not set
1714CONFIG_CRYPTO_HASH=y 1742CONFIG_CRYPTO_HASH=y
1715CONFIG_CRYPTO_MANAGER=y 1743CONFIG_CRYPTO_MANAGER=y
1716CONFIG_CRYPTO_HMAC=y 1744CONFIG_CRYPTO_HMAC=y
@@ -1729,6 +1757,9 @@ CONFIG_CRYPTO_CBC=y
1729# CONFIG_CRYPTO_PCBC is not set 1757# CONFIG_CRYPTO_PCBC is not set
1730# CONFIG_CRYPTO_LRW is not set 1758# CONFIG_CRYPTO_LRW is not set
1731# CONFIG_CRYPTO_XTS is not set 1759# CONFIG_CRYPTO_XTS is not set
1760# CONFIG_CRYPTO_CTR is not set
1761# CONFIG_CRYPTO_GCM is not set
1762# CONFIG_CRYPTO_CCM is not set
1732# CONFIG_CRYPTO_CRYPTD is not set 1763# CONFIG_CRYPTO_CRYPTD is not set
1733CONFIG_CRYPTO_DES=y 1764CONFIG_CRYPTO_DES=y
1734# CONFIG_CRYPTO_FCRYPT is not set 1765# CONFIG_CRYPTO_FCRYPT is not set
@@ -1743,11 +1774,14 @@ CONFIG_CRYPTO_AES=y
1743# CONFIG_CRYPTO_KHAZAD is not set 1774# CONFIG_CRYPTO_KHAZAD is not set
1744# CONFIG_CRYPTO_ANUBIS is not set 1775# CONFIG_CRYPTO_ANUBIS is not set
1745# CONFIG_CRYPTO_SEED is not set 1776# CONFIG_CRYPTO_SEED is not set
1777# CONFIG_CRYPTO_SALSA20 is not set
1746# CONFIG_CRYPTO_DEFLATE is not set 1778# CONFIG_CRYPTO_DEFLATE is not set
1747# CONFIG_CRYPTO_MICHAEL_MIC is not set 1779# CONFIG_CRYPTO_MICHAEL_MIC is not set
1748# CONFIG_CRYPTO_CRC32C is not set 1780# CONFIG_CRYPTO_CRC32C is not set
1749# CONFIG_CRYPTO_CAMELLIA is not set 1781# CONFIG_CRYPTO_CAMELLIA is not set
1750# CONFIG_CRYPTO_TEST is not set 1782# CONFIG_CRYPTO_TEST is not set
1751# CONFIG_CRYPTO_AUTHENC is not set 1783CONFIG_CRYPTO_AUTHENC=y
1784# CONFIG_CRYPTO_LZO is not set
1752CONFIG_CRYPTO_HW=y 1785CONFIG_CRYPTO_HW=y
1786# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1753# CONFIG_PPC_CLOCK is not set 1787# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index 5416be4419b..558b0d348d4 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:49:05 2007 4# Thu Mar 20 11:05:14 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -49,6 +50,9 @@ CONFIG_AUDIT_ARCH=y
49CONFIG_GENERIC_BUG=y 50CONFIG_GENERIC_BUG=y
50CONFIG_SYS_SUPPORTS_APM_EMULATION=y 51CONFIG_SYS_SUPPORTS_APM_EMULATION=y
51# CONFIG_DEFAULT_UIMAGE is not set 52# CONFIG_DEFAULT_UIMAGE is not set
53CONFIG_HIBERNATE_32=y
54CONFIG_ARCH_HIBERNATION_POSSIBLE=y
55CONFIG_ARCH_SUSPEND_POSSIBLE=y
52# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
53# CONFIG_PPC_DCR_MMIO is not set 57# CONFIG_PPC_DCR_MMIO is not set
54CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -67,18 +71,22 @@ CONFIG_SYSVIPC_SYSCTL=y
67CONFIG_POSIX_MQUEUE=y 71CONFIG_POSIX_MQUEUE=y
68# CONFIG_BSD_PROCESS_ACCT is not set 72# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 73# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 74# CONFIG_AUDIT is not set
73CONFIG_IKCONFIG=y 75CONFIG_IKCONFIG=y
74CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
75CONFIG_LOG_BUF_SHIFT=14 77CONFIG_LOG_BUF_SHIFT=14
76# CONFIG_CGROUPS is not set 78# CONFIG_CGROUPS is not set
77CONFIG_FAIR_GROUP_SCHED=y 79# CONFIG_GROUP_SCHED is not set
78CONFIG_FAIR_USER_SCHED=y 80# CONFIG_USER_SCHED is not set
79# CONFIG_FAIR_CGROUP_SCHED is not set 81# CONFIG_CGROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y 82CONFIG_SYSFS_DEPRECATED=y
83CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_RELAY is not set 84# CONFIG_RELAY is not set
85CONFIG_NAMESPACES=y
86# CONFIG_UTS_NS is not set
87# CONFIG_IPC_NS is not set
88# CONFIG_USER_NS is not set
89# CONFIG_PID_NS is not set
82CONFIG_BLK_DEV_INITRD=y 90CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE="" 91CONFIG_INITRAMFS_SOURCE=""
84# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -92,11 +100,13 @@ CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 100CONFIG_PRINTK=y
93CONFIG_BUG=y 101CONFIG_BUG=y
94CONFIG_ELF_CORE=y 102CONFIG_ELF_CORE=y
103# CONFIG_COMPAT_BRK is not set
95CONFIG_BASE_FULL=y 104CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y 105CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y 106CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y 107CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y 108CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 110CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 111CONFIG_SHMEM=y
102CONFIG_VM_EVENT_COUNTERS=y 112CONFIG_VM_EVENT_COUNTERS=y
@@ -104,6 +114,15 @@ CONFIG_SLUB_DEBUG=y
104# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
105CONFIG_SLUB=y 115CONFIG_SLUB=y
106# CONFIG_SLOB is not set 116# CONFIG_SLOB is not set
117CONFIG_PROFILING=y
118# CONFIG_MARKERS is not set
119CONFIG_OPROFILE=y
120CONFIG_HAVE_OPROFILE=y
121# CONFIG_KPROBES is not set
122CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y
124CONFIG_PROC_PAGE_MONITOR=y
125CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set 127# CONFIG_TINY_SHMEM is not set
109CONFIG_BASE_SMALL=0 128CONFIG_BASE_SMALL=0
@@ -131,6 +150,7 @@ CONFIG_DEFAULT_AS=y
131# CONFIG_DEFAULT_CFQ is not set 150# CONFIG_DEFAULT_CFQ is not set
132# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
133CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
153CONFIG_CLASSIC_RCU=y
134 154
135# 155#
136# Platform support 156# Platform support
@@ -141,16 +161,17 @@ CONFIG_PPC_MULTIPLATFORM=y
141# CONFIG_PPC_86xx is not set 161# CONFIG_PPC_86xx is not set
142CONFIG_CLASSIC32=y 162CONFIG_CLASSIC32=y
143# CONFIG_PPC_CHRP is not set 163# CONFIG_PPC_CHRP is not set
164# CONFIG_PPC_MPC512x is not set
165# CONFIG_PPC_MPC5121 is not set
166# CONFIG_MPC5121_ADS is not set
144# CONFIG_PPC_MPC52xx is not set 167# CONFIG_PPC_MPC52xx is not set
145# CONFIG_PPC_MPC5200 is not set
146# CONFIG_PPC_EFIKA is not set
147# CONFIG_PPC_LITE5200 is not set
148CONFIG_PPC_PMAC=y 168CONFIG_PPC_PMAC=y
149# CONFIG_PPC_CELL is not set 169# CONFIG_PPC_CELL is not set
150# CONFIG_PPC_CELL_NATIVE is not set 170# CONFIG_PPC_CELL_NATIVE is not set
151# CONFIG_PQ2ADS is not set 171# CONFIG_PQ2ADS is not set
152# CONFIG_EMBEDDED6xx is not set 172# CONFIG_EMBEDDED6xx is not set
153CONFIG_PPC_NATIVE=y 173CONFIG_PPC_NATIVE=y
174# CONFIG_IPIC is not set
154CONFIG_MPIC=y 175CONFIG_MPIC=y
155# CONFIG_MPIC_WEIRD is not set 176# CONFIG_MPIC_WEIRD is not set
156# CONFIG_PPC_I8259 is not set 177# CONFIG_PPC_I8259 is not set
@@ -181,7 +202,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
181CONFIG_CPU_FREQ_PMAC=y 202CONFIG_CPU_FREQ_PMAC=y
182CONFIG_PPC601_SYNC_FIX=y 203CONFIG_PPC601_SYNC_FIX=y
183# CONFIG_TAU is not set 204# CONFIG_TAU is not set
184# CONFIG_CPM2 is not set
185# CONFIG_FSL_ULI1575 is not set 205# CONFIG_FSL_ULI1575 is not set
186 206
187# 207#
@@ -197,12 +217,16 @@ CONFIG_HZ_250=y
197# CONFIG_HZ_300 is not set 217# CONFIG_HZ_300 is not set
198# CONFIG_HZ_1000 is not set 218# CONFIG_HZ_1000 is not set
199CONFIG_HZ=250 219CONFIG_HZ=250
220# CONFIG_SCHED_HRTICK is not set
200CONFIG_PREEMPT_NONE=y 221CONFIG_PREEMPT_NONE=y
201# CONFIG_PREEMPT_VOLUNTARY is not set 222# CONFIG_PREEMPT_VOLUNTARY is not set
202# CONFIG_PREEMPT is not set 223# CONFIG_PREEMPT is not set
203CONFIG_BINFMT_ELF=y 224CONFIG_BINFMT_ELF=y
204CONFIG_BINFMT_MISC=m 225CONFIG_BINFMT_MISC=m
226# CONFIG_IOMMU_HELPER is not set
205CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 227CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
228CONFIG_ARCH_HAS_WALK_MEMORY=y
229CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
206# CONFIG_KEXEC is not set 230# CONFIG_KEXEC is not set
207CONFIG_ARCH_FLATMEM_ENABLE=y 231CONFIG_ARCH_FLATMEM_ENABLE=y
208CONFIG_ARCH_POPULATES_NODE_MAP=y 232CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -221,19 +245,19 @@ CONFIG_BOUNCE=y
221CONFIG_VIRT_TO_BUS=y 245CONFIG_VIRT_TO_BUS=y
222CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
223# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
248CONFIG_ARCH_WANTS_FREEZER_CONTROL=y
224CONFIG_PM=y 249CONFIG_PM=y
225# CONFIG_PM_LEGACY is not set 250# CONFIG_PM_LEGACY is not set
226CONFIG_PM_DEBUG=y 251CONFIG_PM_DEBUG=y
227# CONFIG_PM_VERBOSE is not set 252# CONFIG_PM_VERBOSE is not set
253CONFIG_CAN_PM_TRACE=y
228CONFIG_PM_SLEEP=y 254CONFIG_PM_SLEEP=y
229CONFIG_SUSPEND_UP_POSSIBLE=y
230CONFIG_SUSPEND=y 255CONFIG_SUSPEND=y
231CONFIG_HIBERNATION_UP_POSSIBLE=y 256CONFIG_SUSPEND_FREEZER=y
232CONFIG_HIBERNATION=y 257CONFIG_HIBERNATION=y
233CONFIG_PM_STD_PARTITION="" 258CONFIG_PM_STD_PARTITION=""
234CONFIG_APM_EMULATION=y 259CONFIG_APM_EMULATION=y
235CONFIG_SECCOMP=y 260CONFIG_SECCOMP=y
236# CONFIG_WANT_DEVICE_TREE is not set
237CONFIG_ISA_DMA_API=y 261CONFIG_ISA_DMA_API=y
238 262
239# 263#
@@ -300,6 +324,7 @@ CONFIG_XFRM=y
300CONFIG_XFRM_USER=y 324CONFIG_XFRM_USER=y
301# CONFIG_XFRM_SUB_POLICY is not set 325# CONFIG_XFRM_SUB_POLICY is not set
302# CONFIG_XFRM_MIGRATE is not set 326# CONFIG_XFRM_MIGRATE is not set
327# CONFIG_XFRM_STATISTICS is not set
303CONFIG_NET_KEY=y 328CONFIG_NET_KEY=y
304# CONFIG_NET_KEY_MIGRATE is not set 329# CONFIG_NET_KEY_MIGRATE is not set
305CONFIG_INET=y 330CONFIG_INET=y
@@ -334,12 +359,14 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
334# CONFIG_NETWORK_SECMARK is not set 359# CONFIG_NETWORK_SECMARK is not set
335CONFIG_NETFILTER=y 360CONFIG_NETFILTER=y
336# CONFIG_NETFILTER_DEBUG is not set 361# CONFIG_NETFILTER_DEBUG is not set
362CONFIG_NETFILTER_ADVANCED=y
337 363
338# 364#
339# Core Netfilter Configuration 365# Core Netfilter Configuration
340# 366#
341# CONFIG_NETFILTER_NETLINK is not set 367CONFIG_NETFILTER_NETLINK=m
342CONFIG_NF_CONNTRACK_ENABLED=m 368CONFIG_NETFILTER_NETLINK_QUEUE=m
369CONFIG_NETFILTER_NETLINK_LOG=m
343CONFIG_NF_CONNTRACK=m 370CONFIG_NF_CONNTRACK=m
344# CONFIG_NF_CT_ACCT is not set 371# CONFIG_NF_CT_ACCT is not set
345# CONFIG_NF_CONNTRACK_MARK is not set 372# CONFIG_NF_CONNTRACK_MARK is not set
@@ -355,6 +382,7 @@ CONFIG_NF_CONNTRACK_IRC=m
355# CONFIG_NF_CONNTRACK_SANE is not set 382# CONFIG_NF_CONNTRACK_SANE is not set
356# CONFIG_NF_CONNTRACK_SIP is not set 383# CONFIG_NF_CONNTRACK_SIP is not set
357CONFIG_NF_CONNTRACK_TFTP=m 384CONFIG_NF_CONNTRACK_TFTP=m
385CONFIG_NF_CT_NETLINK=m
358CONFIG_NETFILTER_XTABLES=m 386CONFIG_NETFILTER_XTABLES=m
359CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 387CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
360# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set 388# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
@@ -363,8 +391,10 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
363CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 391CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
364CONFIG_NETFILTER_XT_TARGET_NFLOG=m 392CONFIG_NETFILTER_XT_TARGET_NFLOG=m
365CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 393CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
394CONFIG_NETFILTER_XT_TARGET_RATEEST=m
366CONFIG_NETFILTER_XT_TARGET_TRACE=m 395CONFIG_NETFILTER_XT_TARGET_TRACE=m
367CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 396CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
397CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
368CONFIG_NETFILTER_XT_MATCH_COMMENT=m 398CONFIG_NETFILTER_XT_MATCH_COMMENT=m
369# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set 399# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
370CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 400CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
@@ -374,14 +404,17 @@ CONFIG_NETFILTER_XT_MATCH_DCCP=m
374CONFIG_NETFILTER_XT_MATCH_DSCP=m 404CONFIG_NETFILTER_XT_MATCH_DSCP=m
375CONFIG_NETFILTER_XT_MATCH_ESP=m 405CONFIG_NETFILTER_XT_MATCH_ESP=m
376CONFIG_NETFILTER_XT_MATCH_HELPER=m 406CONFIG_NETFILTER_XT_MATCH_HELPER=m
407CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
377CONFIG_NETFILTER_XT_MATCH_LENGTH=m 408CONFIG_NETFILTER_XT_MATCH_LENGTH=m
378CONFIG_NETFILTER_XT_MATCH_LIMIT=m 409CONFIG_NETFILTER_XT_MATCH_LIMIT=m
379CONFIG_NETFILTER_XT_MATCH_MAC=m 410CONFIG_NETFILTER_XT_MATCH_MAC=m
380CONFIG_NETFILTER_XT_MATCH_MARK=m 411CONFIG_NETFILTER_XT_MATCH_MARK=m
412CONFIG_NETFILTER_XT_MATCH_OWNER=m
381CONFIG_NETFILTER_XT_MATCH_POLICY=m 413CONFIG_NETFILTER_XT_MATCH_POLICY=m
382CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 414CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
383CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 415CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
384# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 416# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
417CONFIG_NETFILTER_XT_MATCH_RATEEST=m
385CONFIG_NETFILTER_XT_MATCH_REALM=m 418CONFIG_NETFILTER_XT_MATCH_REALM=m
386CONFIG_NETFILTER_XT_MATCH_SCTP=m 419CONFIG_NETFILTER_XT_MATCH_SCTP=m
387# CONFIG_NETFILTER_XT_MATCH_STATE is not set 420# CONFIG_NETFILTER_XT_MATCH_STATE is not set
@@ -399,13 +432,10 @@ CONFIG_NF_CONNTRACK_IPV4=m
399CONFIG_NF_CONNTRACK_PROC_COMPAT=y 432CONFIG_NF_CONNTRACK_PROC_COMPAT=y
400# CONFIG_IP_NF_QUEUE is not set 433# CONFIG_IP_NF_QUEUE is not set
401CONFIG_IP_NF_IPTABLES=m 434CONFIG_IP_NF_IPTABLES=m
402CONFIG_IP_NF_MATCH_IPRANGE=m
403CONFIG_IP_NF_MATCH_TOS=m
404CONFIG_IP_NF_MATCH_RECENT=m 435CONFIG_IP_NF_MATCH_RECENT=m
405CONFIG_IP_NF_MATCH_ECN=m 436CONFIG_IP_NF_MATCH_ECN=m
406CONFIG_IP_NF_MATCH_AH=m 437CONFIG_IP_NF_MATCH_AH=m
407CONFIG_IP_NF_MATCH_TTL=m 438CONFIG_IP_NF_MATCH_TTL=m
408CONFIG_IP_NF_MATCH_OWNER=m
409CONFIG_IP_NF_MATCH_ADDRTYPE=m 439CONFIG_IP_NF_MATCH_ADDRTYPE=m
410CONFIG_IP_NF_FILTER=m 440CONFIG_IP_NF_FILTER=m
411CONFIG_IP_NF_TARGET_REJECT=m 441CONFIG_IP_NF_TARGET_REJECT=m
@@ -416,7 +446,6 @@ CONFIG_NF_NAT_NEEDED=y
416CONFIG_IP_NF_TARGET_MASQUERADE=m 446CONFIG_IP_NF_TARGET_MASQUERADE=m
417CONFIG_IP_NF_TARGET_REDIRECT=m 447CONFIG_IP_NF_TARGET_REDIRECT=m
418CONFIG_IP_NF_TARGET_NETMAP=m 448CONFIG_IP_NF_TARGET_NETMAP=m
419CONFIG_IP_NF_TARGET_SAME=m
420# CONFIG_NF_NAT_SNMP_BASIC is not set 449# CONFIG_NF_NAT_SNMP_BASIC is not set
421CONFIG_NF_NAT_FTP=m 450CONFIG_NF_NAT_FTP=m
422CONFIG_NF_NAT_IRC=m 451CONFIG_NF_NAT_IRC=m
@@ -426,7 +455,6 @@ CONFIG_NF_NAT_TFTP=m
426# CONFIG_NF_NAT_H323 is not set 455# CONFIG_NF_NAT_H323 is not set
427# CONFIG_NF_NAT_SIP is not set 456# CONFIG_NF_NAT_SIP is not set
428CONFIG_IP_NF_MANGLE=m 457CONFIG_IP_NF_MANGLE=m
429CONFIG_IP_NF_TARGET_TOS=m
430CONFIG_IP_NF_TARGET_ECN=m 458CONFIG_IP_NF_TARGET_ECN=m
431CONFIG_IP_NF_TARGET_TTL=m 459CONFIG_IP_NF_TARGET_TTL=m
432# CONFIG_IP_NF_TARGET_CLUSTERIP is not set 460# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
@@ -444,9 +472,9 @@ CONFIG_IP_DCCP_ACKVEC=y
444CONFIG_IP_DCCP_CCID2=m 472CONFIG_IP_DCCP_CCID2=m
445# CONFIG_IP_DCCP_CCID2_DEBUG is not set 473# CONFIG_IP_DCCP_CCID2_DEBUG is not set
446CONFIG_IP_DCCP_CCID3=m 474CONFIG_IP_DCCP_CCID3=m
447CONFIG_IP_DCCP_TFRC_LIB=m
448# CONFIG_IP_DCCP_CCID3_DEBUG is not set 475# CONFIG_IP_DCCP_CCID3_DEBUG is not set
449CONFIG_IP_DCCP_CCID3_RTO=100 476CONFIG_IP_DCCP_CCID3_RTO=100
477CONFIG_IP_DCCP_TFRC_LIB=m
450 478
451# 479#
452# DCCP Kernel Hacking 480# DCCP Kernel Hacking
@@ -474,6 +502,7 @@ CONFIG_NET_SCH_FIFO=y
474# 502#
475# CONFIG_NET_PKTGEN is not set 503# CONFIG_NET_PKTGEN is not set
476# CONFIG_HAMRADIO is not set 504# CONFIG_HAMRADIO is not set
505# CONFIG_CAN is not set
477CONFIG_IRDA=m 506CONFIG_IRDA=m
478 507
479# 508#
@@ -509,15 +538,6 @@ CONFIG_IRTTY_SIR=m
509# CONFIG_KS959_DONGLE is not set 538# CONFIG_KS959_DONGLE is not set
510 539
511# 540#
512# Old SIR device drivers
513#
514# CONFIG_IRPORT_SIR is not set
515
516#
517# Old Serial dongle support
518#
519
520#
521# FIR device drivers 541# FIR device drivers
522# 542#
523# CONFIG_USB_IRDA is not set 543# CONFIG_USB_IRDA is not set
@@ -563,8 +583,26 @@ CONFIG_CFG80211=m
563CONFIG_NL80211=y 583CONFIG_NL80211=y
564CONFIG_WIRELESS_EXT=y 584CONFIG_WIRELESS_EXT=y
565CONFIG_MAC80211=m 585CONFIG_MAC80211=m
566CONFIG_MAC80211_RCSIMPLE=y 586
587#
588# Rate control algorithm selection
589#
590CONFIG_MAC80211_RC_DEFAULT_PID=y
591# CONFIG_MAC80211_RC_DEFAULT_SIMPLE is not set
592# CONFIG_MAC80211_RC_DEFAULT_NONE is not set
593
594#
595# Selecting 'y' for an algorithm will
596#
597
598#
599# build the algorithm into mac80211.
600#
601CONFIG_MAC80211_RC_DEFAULT="pid"
602CONFIG_MAC80211_RC_PID=y
603# CONFIG_MAC80211_RC_SIMPLE is not set
567CONFIG_MAC80211_LEDS=y 604CONFIG_MAC80211_LEDS=y
605# CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is not set
568# CONFIG_MAC80211_DEBUG is not set 606# CONFIG_MAC80211_DEBUG is not set
569CONFIG_IEEE80211=m 607CONFIG_IEEE80211=m
570# CONFIG_IEEE80211_DEBUG is not set 608# CONFIG_IEEE80211_DEBUG is not set
@@ -610,7 +648,7 @@ CONFIG_BLK_DEV_UB=m
610CONFIG_BLK_DEV_RAM=y 648CONFIG_BLK_DEV_RAM=y
611CONFIG_BLK_DEV_RAM_COUNT=16 649CONFIG_BLK_DEV_RAM_COUNT=16
612CONFIG_BLK_DEV_RAM_SIZE=4096 650CONFIG_BLK_DEV_RAM_SIZE=4096
613CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 651# CONFIG_BLK_DEV_XIP is not set
614# CONFIG_CDROM_PKTCDVD is not set 652# CONFIG_CDROM_PKTCDVD is not set
615# CONFIG_ATA_OVER_ETH is not set 653# CONFIG_ATA_OVER_ETH is not set
616CONFIG_MISC_DEVICES=y 654CONFIG_MISC_DEVICES=y
@@ -618,11 +656,13 @@ CONFIG_MISC_DEVICES=y
618# CONFIG_EEPROM_93CX6 is not set 656# CONFIG_EEPROM_93CX6 is not set
619# CONFIG_SGI_IOC4 is not set 657# CONFIG_SGI_IOC4 is not set
620# CONFIG_TIFM_CORE is not set 658# CONFIG_TIFM_CORE is not set
659# CONFIG_ENCLOSURE_SERVICES is not set
660CONFIG_HAVE_IDE=y
621CONFIG_IDE=y 661CONFIG_IDE=y
622CONFIG_BLK_DEV_IDE=y 662CONFIG_BLK_DEV_IDE=y
623 663
624# 664#
625# Please see Documentation/ide.txt for help/info on IDE drives 665# Please see Documentation/ide/ide.txt for help/info on IDE drives
626# 666#
627# CONFIG_BLK_DEV_IDE_SATA is not set 667# CONFIG_BLK_DEV_IDE_SATA is not set
628CONFIG_BLK_DEV_IDEDISK=y 668CONFIG_BLK_DEV_IDEDISK=y
@@ -630,6 +670,7 @@ CONFIG_BLK_DEV_IDEDISK=y
630CONFIG_BLK_DEV_IDECS=m 670CONFIG_BLK_DEV_IDECS=m
631# CONFIG_BLK_DEV_DELKIN is not set 671# CONFIG_BLK_DEV_DELKIN is not set
632CONFIG_BLK_DEV_IDECD=y 672CONFIG_BLK_DEV_IDECD=y
673CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
633# CONFIG_BLK_DEV_IDETAPE is not set 674# CONFIG_BLK_DEV_IDETAPE is not set
634CONFIG_BLK_DEV_IDEFLOPPY=y 675CONFIG_BLK_DEV_IDEFLOPPY=y
635CONFIG_BLK_DEV_IDESCSI=y 676CONFIG_BLK_DEV_IDESCSI=y
@@ -641,12 +682,12 @@ CONFIG_IDE_PROC_FS=y
641# 682#
642# CONFIG_IDE_GENERIC is not set 683# CONFIG_IDE_GENERIC is not set
643# CONFIG_BLK_DEV_PLATFORM is not set 684# CONFIG_BLK_DEV_PLATFORM is not set
685CONFIG_BLK_DEV_IDEDMA_SFF=y
644 686
645# 687#
646# PCI IDE chipsets support 688# PCI IDE chipsets support
647# 689#
648CONFIG_BLK_DEV_IDEPCI=y 690CONFIG_BLK_DEV_IDEPCI=y
649CONFIG_IDEPCI_SHARE_IRQ=y
650CONFIG_IDEPCI_PCIBUS_ORDER=y 691CONFIG_IDEPCI_PCIBUS_ORDER=y
651# CONFIG_BLK_DEV_OFFBOARD is not set 692# CONFIG_BLK_DEV_OFFBOARD is not set
652CONFIG_BLK_DEV_GENERIC=y 693CONFIG_BLK_DEV_GENERIC=y
@@ -680,7 +721,6 @@ CONFIG_BLK_DEV_SL82C105=y
680CONFIG_BLK_DEV_IDE_PMAC=y 721CONFIG_BLK_DEV_IDE_PMAC=y
681CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 722CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
682CONFIG_BLK_DEV_IDEDMA_PMAC=y 723CONFIG_BLK_DEV_IDEDMA_PMAC=y
683# CONFIG_IDE_ARM is not set
684CONFIG_BLK_DEV_IDEDMA=y 724CONFIG_BLK_DEV_IDEDMA=y
685CONFIG_IDE_ARCH_OBSOLETE_INIT=y 725CONFIG_IDE_ARCH_OBSOLETE_INIT=y
686# CONFIG_BLK_DEV_HD is not set 726# CONFIG_BLK_DEV_HD is not set
@@ -754,6 +794,7 @@ CONFIG_SCSI_AIC7XXX_OLD=m
754# CONFIG_SCSI_IPS is not set 794# CONFIG_SCSI_IPS is not set
755# CONFIG_SCSI_INITIO is not set 795# CONFIG_SCSI_INITIO is not set
756# CONFIG_SCSI_INIA100 is not set 796# CONFIG_SCSI_INIA100 is not set
797# CONFIG_SCSI_MVSAS is not set
757# CONFIG_SCSI_STEX is not set 798# CONFIG_SCSI_STEX is not set
758CONFIG_SCSI_SYM53C8XX_2=y 799CONFIG_SCSI_SYM53C8XX_2=y
759CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 800CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
@@ -848,7 +889,6 @@ CONFIG_DUMMY=m
848# CONFIG_EQUALIZER is not set 889# CONFIG_EQUALIZER is not set
849CONFIG_TUN=m 890CONFIG_TUN=m
850# CONFIG_VETH is not set 891# CONFIG_VETH is not set
851# CONFIG_IP1000 is not set
852# CONFIG_ARCNET is not set 892# CONFIG_ARCNET is not set
853# CONFIG_PHYLIB is not set 893# CONFIG_PHYLIB is not set
854CONFIG_NET_ETHERNET=y 894CONFIG_NET_ETHERNET=y
@@ -880,6 +920,7 @@ CONFIG_PCNET32=y
880# CONFIG_NE2K_PCI is not set 920# CONFIG_NE2K_PCI is not set
881# CONFIG_8139CP is not set 921# CONFIG_8139CP is not set
882# CONFIG_8139TOO is not set 922# CONFIG_8139TOO is not set
923# CONFIG_R6040 is not set
883# CONFIG_SIS900 is not set 924# CONFIG_SIS900 is not set
884# CONFIG_EPIC100 is not set 925# CONFIG_EPIC100 is not set
885# CONFIG_SUNDANCE is not set 926# CONFIG_SUNDANCE is not set
@@ -891,6 +932,9 @@ CONFIG_NETDEV_1000=y
891# CONFIG_DL2K is not set 932# CONFIG_DL2K is not set
892# CONFIG_E1000 is not set 933# CONFIG_E1000 is not set
893# CONFIG_E1000E is not set 934# CONFIG_E1000E is not set
935# CONFIG_E1000E_ENABLED is not set
936# CONFIG_IP1000 is not set
937# CONFIG_IGB is not set
894# CONFIG_NS83820 is not set 938# CONFIG_NS83820 is not set
895# CONFIG_HAMACHI is not set 939# CONFIG_HAMACHI is not set
896# CONFIG_YELLOWFIN is not set 940# CONFIG_YELLOWFIN is not set
@@ -916,6 +960,7 @@ CONFIG_NETDEV_10000=y
916# CONFIG_NIU is not set 960# CONFIG_NIU is not set
917# CONFIG_MLX4_CORE is not set 961# CONFIG_MLX4_CORE is not set
918# CONFIG_TEHUTI is not set 962# CONFIG_TEHUTI is not set
963# CONFIG_BNX2X is not set
919# CONFIG_TR is not set 964# CONFIG_TR is not set
920 965
921# 966#
@@ -941,12 +986,16 @@ CONFIG_PCMCIA_HERMES=m
941# CONFIG_PCMCIA_WL3501 is not set 986# CONFIG_PCMCIA_WL3501 is not set
942CONFIG_PRISM54=m 987CONFIG_PRISM54=m
943# CONFIG_USB_ZD1201 is not set 988# CONFIG_USB_ZD1201 is not set
989# CONFIG_USB_NET_RNDIS_WLAN is not set
990# CONFIG_RTL8180 is not set
944# CONFIG_RTL8187 is not set 991# CONFIG_RTL8187 is not set
945# CONFIG_ADM8211 is not set 992# CONFIG_ADM8211 is not set
946CONFIG_P54_COMMON=m 993CONFIG_P54_COMMON=m
947# CONFIG_P54_USB is not set 994# CONFIG_P54_USB is not set
948# CONFIG_P54_PCI is not set 995# CONFIG_P54_PCI is not set
949# CONFIG_IWLWIFI is not set 996# CONFIG_ATH5K is not set
997# CONFIG_IWL4965 is not set
998# CONFIG_IWL3945 is not set
950# CONFIG_HOSTAP is not set 999# CONFIG_HOSTAP is not set
951CONFIG_B43=m 1000CONFIG_B43=m
952CONFIG_B43_PCI_AUTOSELECT=y 1001CONFIG_B43_PCI_AUTOSELECT=y
@@ -954,20 +1003,17 @@ CONFIG_B43_PCICORE_AUTOSELECT=y
954# CONFIG_B43_PCMCIA is not set 1003# CONFIG_B43_PCMCIA is not set
955CONFIG_B43_LEDS=y 1004CONFIG_B43_LEDS=y
956# CONFIG_B43_DEBUG is not set 1005# CONFIG_B43_DEBUG is not set
957CONFIG_B43_DMA=y
958CONFIG_B43_PIO=y
959CONFIG_B43_DMA_AND_PIO_MODE=y
960# CONFIG_B43_DMA_MODE is not set
961# CONFIG_B43_PIO_MODE is not set
962CONFIG_B43LEGACY=m 1006CONFIG_B43LEGACY=m
963CONFIG_B43LEGACY_PCI_AUTOSELECT=y 1007CONFIG_B43LEGACY_PCI_AUTOSELECT=y
964CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y 1008CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
1009CONFIG_B43LEGACY_LEDS=y
965CONFIG_B43LEGACY_DEBUG=y 1010CONFIG_B43LEGACY_DEBUG=y
966CONFIG_B43LEGACY_DMA=y 1011CONFIG_B43LEGACY_DMA=y
967CONFIG_B43LEGACY_PIO=y 1012CONFIG_B43LEGACY_PIO=y
968CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y 1013CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
969# CONFIG_B43LEGACY_DMA_MODE is not set 1014# CONFIG_B43LEGACY_DMA_MODE is not set
970# CONFIG_B43LEGACY_PIO_MODE is not set 1015# CONFIG_B43LEGACY_PIO_MODE is not set
1016# CONFIG_ZD1211RW is not set
971# CONFIG_RT2X00 is not set 1017# CONFIG_RT2X00 is not set
972 1018
973# 1019#
@@ -1005,7 +1051,6 @@ CONFIG_PPP_BSDCOMP=m
1005# CONFIG_SLIP is not set 1051# CONFIG_SLIP is not set
1006CONFIG_SLHC=y 1052CONFIG_SLHC=y
1007# CONFIG_NET_FC is not set 1053# CONFIG_NET_FC is not set
1008# CONFIG_SHAPER is not set
1009# CONFIG_NETCONSOLE is not set 1054# CONFIG_NETCONSOLE is not set
1010# CONFIG_NETPOLL is not set 1055# CONFIG_NETPOLL is not set
1011# CONFIG_NET_POLL_CONTROLLER is not set 1056# CONFIG_NET_POLL_CONTROLLER is not set
@@ -1068,6 +1113,7 @@ CONFIG_VT_CONSOLE=y
1068CONFIG_HW_CONSOLE=y 1113CONFIG_HW_CONSOLE=y
1069# CONFIG_VT_HW_CONSOLE_BINDING is not set 1114# CONFIG_VT_HW_CONSOLE_BINDING is not set
1070# CONFIG_SERIAL_NONSTANDARD is not set 1115# CONFIG_SERIAL_NONSTANDARD is not set
1116# CONFIG_NOZOMI is not set
1071 1117
1072# 1118#
1073# Serial drivers 1119# Serial drivers
@@ -1105,6 +1151,7 @@ CONFIG_GEN_RTC=y
1105# CONFIG_SYNCLINK_CS is not set 1151# CONFIG_SYNCLINK_CS is not set
1106# CONFIG_CARDMAN_4000 is not set 1152# CONFIG_CARDMAN_4000 is not set
1107# CONFIG_CARDMAN_4040 is not set 1153# CONFIG_CARDMAN_4040 is not set
1154# CONFIG_IPWIRELESS is not set
1108# CONFIG_RAW_DRIVER is not set 1155# CONFIG_RAW_DRIVER is not set
1109# CONFIG_TCG_TPM is not set 1156# CONFIG_TCG_TPM is not set
1110CONFIG_DEVPORT=y 1157CONFIG_DEVPORT=y
@@ -1151,14 +1198,12 @@ CONFIG_I2C_POWERMAC=y
1151# 1198#
1152# Miscellaneous I2C Chip support 1199# Miscellaneous I2C Chip support
1153# 1200#
1154# CONFIG_SENSORS_DS1337 is not set
1155# CONFIG_SENSORS_DS1374 is not set
1156# CONFIG_DS1682 is not set 1201# CONFIG_DS1682 is not set
1157# CONFIG_SENSORS_EEPROM is not set 1202# CONFIG_SENSORS_EEPROM is not set
1158# CONFIG_SENSORS_PCF8574 is not set 1203# CONFIG_SENSORS_PCF8574 is not set
1159# CONFIG_SENSORS_PCA9539 is not set 1204# CONFIG_PCF8575 is not set
1160# CONFIG_SENSORS_PCF8591 is not set 1205# CONFIG_SENSORS_PCF8591 is not set
1161# CONFIG_SENSORS_M41T00 is not set 1206# CONFIG_TPS65010 is not set
1162# CONFIG_SENSORS_MAX6875 is not set 1207# CONFIG_SENSORS_MAX6875 is not set
1163# CONFIG_SENSORS_TSL2550 is not set 1208# CONFIG_SENSORS_TSL2550 is not set
1164# CONFIG_I2C_DEBUG_CORE is not set 1209# CONFIG_I2C_DEBUG_CORE is not set
@@ -1179,6 +1224,7 @@ CONFIG_APM_POWER=y
1179# CONFIG_BATTERY_DS2760 is not set 1224# CONFIG_BATTERY_DS2760 is not set
1180CONFIG_BATTERY_PMU=y 1225CONFIG_BATTERY_PMU=y
1181# CONFIG_HWMON is not set 1226# CONFIG_HWMON is not set
1227# CONFIG_THERMAL is not set
1182# CONFIG_WATCHDOG is not set 1228# CONFIG_WATCHDOG is not set
1183 1229
1184# 1230#
@@ -1188,6 +1234,7 @@ CONFIG_SSB_POSSIBLE=y
1188CONFIG_SSB=m 1234CONFIG_SSB=m
1189CONFIG_SSB_PCIHOST_POSSIBLE=y 1235CONFIG_SSB_PCIHOST_POSSIBLE=y
1190CONFIG_SSB_PCIHOST=y 1236CONFIG_SSB_PCIHOST=y
1237CONFIG_SSB_B43_PCI_BRIDGE=y
1191CONFIG_SSB_PCMCIAHOST_POSSIBLE=y 1238CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
1192# CONFIG_SSB_PCMCIAHOST is not set 1239# CONFIG_SSB_PCMCIAHOST is not set
1193# CONFIG_SSB_DEBUG is not set 1240# CONFIG_SSB_DEBUG is not set
@@ -1372,6 +1419,7 @@ CONFIG_SND_DUMMY=m
1372# CONFIG_SND_BT87X is not set 1419# CONFIG_SND_BT87X is not set
1373# CONFIG_SND_CA0106 is not set 1420# CONFIG_SND_CA0106 is not set
1374# CONFIG_SND_CMIPCI is not set 1421# CONFIG_SND_CMIPCI is not set
1422# CONFIG_SND_OXYGEN is not set
1375# CONFIG_SND_CS4281 is not set 1423# CONFIG_SND_CS4281 is not set
1376# CONFIG_SND_CS46XX is not set 1424# CONFIG_SND_CS46XX is not set
1377# CONFIG_SND_CS5530 is not set 1425# CONFIG_SND_CS5530 is not set
@@ -1397,6 +1445,7 @@ CONFIG_SND_DUMMY=m
1397# CONFIG_SND_HDA_INTEL is not set 1445# CONFIG_SND_HDA_INTEL is not set
1398# CONFIG_SND_HDSP is not set 1446# CONFIG_SND_HDSP is not set
1399# CONFIG_SND_HDSPM is not set 1447# CONFIG_SND_HDSPM is not set
1448# CONFIG_SND_HIFIER is not set
1400# CONFIG_SND_ICE1712 is not set 1449# CONFIG_SND_ICE1712 is not set
1401# CONFIG_SND_ICE1724 is not set 1450# CONFIG_SND_ICE1724 is not set
1402# CONFIG_SND_INTEL8X0 is not set 1451# CONFIG_SND_INTEL8X0 is not set
@@ -1414,6 +1463,7 @@ CONFIG_SND_DUMMY=m
1414# CONFIG_SND_TRIDENT is not set 1463# CONFIG_SND_TRIDENT is not set
1415# CONFIG_SND_VIA82XX is not set 1464# CONFIG_SND_VIA82XX is not set
1416# CONFIG_SND_VIA82XX_MODEM is not set 1465# CONFIG_SND_VIA82XX_MODEM is not set
1466# CONFIG_SND_VIRTUOSO is not set
1417# CONFIG_SND_VX222 is not set 1467# CONFIG_SND_VX222 is not set
1418# CONFIG_SND_YMFPCI is not set 1468# CONFIG_SND_YMFPCI is not set
1419 1469
@@ -1461,6 +1511,10 @@ CONFIG_SND_USB_AUDIO=m
1461# 1511#
1462 1512
1463# 1513#
1514# ALSA SoC audio for Freescale SOCs
1515#
1516
1517#
1464# Open Sound System 1518# Open Sound System
1465# 1519#
1466# CONFIG_SOUND_PRIME is not set 1520# CONFIG_SOUND_PRIME is not set
@@ -1482,6 +1536,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1482CONFIG_USB_ARCH_HAS_EHCI=y 1536CONFIG_USB_ARCH_HAS_EHCI=y
1483CONFIG_USB=y 1537CONFIG_USB=y
1484# CONFIG_USB_DEBUG is not set 1538# CONFIG_USB_DEBUG is not set
1539# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1485 1540
1486# 1541#
1487# Miscellaneous USB options 1542# Miscellaneous USB options
@@ -1497,9 +1552,9 @@ CONFIG_USB_DYNAMIC_MINORS=y
1497# USB Host Controller Drivers 1552# USB Host Controller Drivers
1498# 1553#
1499CONFIG_USB_EHCI_HCD=m 1554CONFIG_USB_EHCI_HCD=m
1500CONFIG_USB_EHCI_SPLIT_ISO=y
1501CONFIG_USB_EHCI_ROOT_HUB_TT=y 1555CONFIG_USB_EHCI_ROOT_HUB_TT=y
1502# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1556# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1557# CONFIG_USB_EHCI_HCD_PPC_OF is not set
1503# CONFIG_USB_ISP116X_HCD is not set 1558# CONFIG_USB_ISP116X_HCD is not set
1504CONFIG_USB_OHCI_HCD=y 1559CONFIG_USB_OHCI_HCD=y
1505# CONFIG_USB_OHCI_HCD_PPC_OF is not set 1560# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -1547,11 +1602,8 @@ CONFIG_USB_MON=y
1547# 1602#
1548# USB port drivers 1603# USB port drivers
1549# 1604#
1550
1551#
1552# USB Serial Converter support
1553#
1554CONFIG_USB_SERIAL=m 1605CONFIG_USB_SERIAL=m
1606CONFIG_USB_EZUSB=y
1555# CONFIG_USB_SERIAL_GENERIC is not set 1607# CONFIG_USB_SERIAL_GENERIC is not set
1556# CONFIG_USB_SERIAL_AIRCABLE is not set 1608# CONFIG_USB_SERIAL_AIRCABLE is not set
1557# CONFIG_USB_SERIAL_AIRPRIME is not set 1609# CONFIG_USB_SERIAL_AIRPRIME is not set
@@ -1572,6 +1624,7 @@ CONFIG_USB_SERIAL_IPAQ=m
1572# CONFIG_USB_SERIAL_EDGEPORT_TI is not set 1624# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
1573# CONFIG_USB_SERIAL_GARMIN is not set 1625# CONFIG_USB_SERIAL_GARMIN is not set
1574# CONFIG_USB_SERIAL_IPW is not set 1626# CONFIG_USB_SERIAL_IPW is not set
1627# CONFIG_USB_SERIAL_IUU is not set
1575CONFIG_USB_SERIAL_KEYSPAN_PDA=m 1628CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1576CONFIG_USB_SERIAL_KEYSPAN=m 1629CONFIG_USB_SERIAL_KEYSPAN=m
1577CONFIG_USB_SERIAL_KEYSPAN_MPR=y 1630CONFIG_USB_SERIAL_KEYSPAN_MPR=y
@@ -1603,7 +1656,6 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
1603# CONFIG_USB_SERIAL_OPTION is not set 1656# CONFIG_USB_SERIAL_OPTION is not set
1604# CONFIG_USB_SERIAL_OMNINET is not set 1657# CONFIG_USB_SERIAL_OMNINET is not set
1605# CONFIG_USB_SERIAL_DEBUG is not set 1658# CONFIG_USB_SERIAL_DEBUG is not set
1606CONFIG_USB_EZUSB=y
1607 1659
1608# 1660#
1609# USB Miscellaneous drivers 1661# USB Miscellaneous drivers
@@ -1628,16 +1680,9 @@ CONFIG_USB_APPLEDISPLAY=m
1628# CONFIG_USB_TRANCEVIBRATOR is not set 1680# CONFIG_USB_TRANCEVIBRATOR is not set
1629# CONFIG_USB_IOWARRIOR is not set 1681# CONFIG_USB_IOWARRIOR is not set
1630# CONFIG_USB_TEST is not set 1682# CONFIG_USB_TEST is not set
1631
1632#
1633# USB DSL modem support
1634#
1635
1636#
1637# USB Gadget Support
1638#
1639# CONFIG_USB_GADGET is not set 1683# CONFIG_USB_GADGET is not set
1640# CONFIG_MMC is not set 1684# CONFIG_MMC is not set
1685# CONFIG_MEMSTICK is not set
1641CONFIG_NEW_LEDS=y 1686CONFIG_NEW_LEDS=y
1642CONFIG_LEDS_CLASS=y 1687CONFIG_LEDS_CLASS=y
1643 1688
@@ -1655,6 +1700,7 @@ CONFIG_LEDS_TRIGGER_IDE_DISK=y
1655# CONFIG_INFINIBAND is not set 1700# CONFIG_INFINIBAND is not set
1656# CONFIG_EDAC is not set 1701# CONFIG_EDAC is not set
1657# CONFIG_RTC_CLASS is not set 1702# CONFIG_RTC_CLASS is not set
1703# CONFIG_DMADEVICES is not set
1658 1704
1659# 1705#
1660# Userspace I/O 1706# Userspace I/O
@@ -1680,12 +1726,10 @@ CONFIG_FS_POSIX_ACL=y
1680# CONFIG_XFS_FS is not set 1726# CONFIG_XFS_FS is not set
1681# CONFIG_GFS2_FS is not set 1727# CONFIG_GFS2_FS is not set
1682# CONFIG_OCFS2_FS is not set 1728# CONFIG_OCFS2_FS is not set
1683# CONFIG_MINIX_FS is not set 1729CONFIG_DNOTIFY=y
1684# CONFIG_ROMFS_FS is not set
1685CONFIG_INOTIFY=y 1730CONFIG_INOTIFY=y
1686CONFIG_INOTIFY_USER=y 1731CONFIG_INOTIFY_USER=y
1687# CONFIG_QUOTA is not set 1732# CONFIG_QUOTA is not set
1688CONFIG_DNOTIFY=y
1689# CONFIG_AUTOFS_FS is not set 1733# CONFIG_AUTOFS_FS is not set
1690CONFIG_AUTOFS4_FS=m 1734CONFIG_AUTOFS4_FS=m
1691CONFIG_FUSE_FS=m 1735CONFIG_FUSE_FS=m
@@ -1733,8 +1777,10 @@ CONFIG_HFSPLUS_FS=m
1733# CONFIG_EFS_FS is not set 1777# CONFIG_EFS_FS is not set
1734# CONFIG_CRAMFS is not set 1778# CONFIG_CRAMFS is not set
1735# CONFIG_VXFS_FS is not set 1779# CONFIG_VXFS_FS is not set
1780# CONFIG_MINIX_FS is not set
1736# CONFIG_HPFS_FS is not set 1781# CONFIG_HPFS_FS is not set
1737# CONFIG_QNX4FS_FS is not set 1782# CONFIG_QNX4FS_FS is not set
1783# CONFIG_ROMFS_FS is not set
1738# CONFIG_SYSV_FS is not set 1784# CONFIG_SYSV_FS is not set
1739# CONFIG_UFS_FS is not set 1785# CONFIG_UFS_FS is not set
1740CONFIG_NETWORK_FILESYSTEMS=y 1786CONFIG_NETWORK_FILESYSTEMS=y
@@ -1828,7 +1874,6 @@ CONFIG_NLS_ISO8859_1=m
1828# CONFIG_NLS_KOI8_U is not set 1874# CONFIG_NLS_KOI8_U is not set
1829CONFIG_NLS_UTF8=m 1875CONFIG_NLS_UTF8=m
1830# CONFIG_DLM is not set 1876# CONFIG_DLM is not set
1831# CONFIG_UCC_SLOW is not set
1832 1877
1833# 1878#
1834# Library routines 1879# Library routines
@@ -1850,11 +1895,6 @@ CONFIG_PLIST=y
1850CONFIG_HAS_IOMEM=y 1895CONFIG_HAS_IOMEM=y
1851CONFIG_HAS_IOPORT=y 1896CONFIG_HAS_IOPORT=y
1852CONFIG_HAS_DMA=y 1897CONFIG_HAS_DMA=y
1853CONFIG_INSTRUMENTATION=y
1854CONFIG_PROFILING=y
1855CONFIG_OPROFILE=y
1856# CONFIG_KPROBES is not set
1857# CONFIG_MARKERS is not set
1858 1898
1859# 1899#
1860# Kernel hacking 1900# Kernel hacking
@@ -1873,6 +1913,7 @@ CONFIG_SCHED_DEBUG=y
1873# CONFIG_SCHEDSTATS is not set 1913# CONFIG_SCHEDSTATS is not set
1874# CONFIG_TIMER_STATS is not set 1914# CONFIG_TIMER_STATS is not set
1875# CONFIG_SLUB_DEBUG_ON is not set 1915# CONFIG_SLUB_DEBUG_ON is not set
1916# CONFIG_SLUB_STATS is not set
1876# CONFIG_DEBUG_RT_MUTEXES is not set 1917# CONFIG_DEBUG_RT_MUTEXES is not set
1877# CONFIG_RT_MUTEX_TESTER is not set 1918# CONFIG_RT_MUTEX_TESTER is not set
1878# CONFIG_DEBUG_SPINLOCK is not set 1919# CONFIG_DEBUG_SPINLOCK is not set
@@ -1885,9 +1926,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1885# CONFIG_DEBUG_VM is not set 1926# CONFIG_DEBUG_VM is not set
1886# CONFIG_DEBUG_LIST is not set 1927# CONFIG_DEBUG_LIST is not set
1887# CONFIG_DEBUG_SG is not set 1928# CONFIG_DEBUG_SG is not set
1888# CONFIG_FORCED_INLINING is not set
1889# CONFIG_BOOT_PRINTK_DELAY is not set 1929# CONFIG_BOOT_PRINTK_DELAY is not set
1890# CONFIG_RCU_TORTURE_TEST is not set 1930# CONFIG_RCU_TORTURE_TEST is not set
1931# CONFIG_BACKTRACE_SELF_TEST is not set
1891# CONFIG_FAULT_INJECTION is not set 1932# CONFIG_FAULT_INJECTION is not set
1892# CONFIG_SAMPLES is not set 1933# CONFIG_SAMPLES is not set
1893# CONFIG_DEBUG_STACKOVERFLOW is not set 1934# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1908,7 +1949,9 @@ CONFIG_BOOTX_TEXT=y
1908# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1949# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1909CONFIG_CRYPTO=y 1950CONFIG_CRYPTO=y
1910CONFIG_CRYPTO_ALGAPI=y 1951CONFIG_CRYPTO_ALGAPI=y
1952CONFIG_CRYPTO_AEAD=y
1911CONFIG_CRYPTO_BLKCIPHER=y 1953CONFIG_CRYPTO_BLKCIPHER=y
1954# CONFIG_CRYPTO_SEQIV is not set
1912CONFIG_CRYPTO_HASH=y 1955CONFIG_CRYPTO_HASH=y
1913CONFIG_CRYPTO_MANAGER=y 1956CONFIG_CRYPTO_MANAGER=y
1914CONFIG_CRYPTO_HMAC=y 1957CONFIG_CRYPTO_HMAC=y
@@ -1927,6 +1970,9 @@ CONFIG_CRYPTO_CBC=y
1927CONFIG_CRYPTO_PCBC=m 1970CONFIG_CRYPTO_PCBC=m
1928# CONFIG_CRYPTO_LRW is not set 1971# CONFIG_CRYPTO_LRW is not set
1929# CONFIG_CRYPTO_XTS is not set 1972# CONFIG_CRYPTO_XTS is not set
1973# CONFIG_CRYPTO_CTR is not set
1974# CONFIG_CRYPTO_GCM is not set
1975# CONFIG_CRYPTO_CCM is not set
1930# CONFIG_CRYPTO_CRYPTD is not set 1976# CONFIG_CRYPTO_CRYPTD is not set
1931CONFIG_CRYPTO_DES=y 1977CONFIG_CRYPTO_DES=y
1932# CONFIG_CRYPTO_FCRYPT is not set 1978# CONFIG_CRYPTO_FCRYPT is not set
@@ -1942,11 +1988,14 @@ CONFIG_CRYPTO_ARC4=m
1942CONFIG_CRYPTO_KHAZAD=m 1988CONFIG_CRYPTO_KHAZAD=m
1943CONFIG_CRYPTO_ANUBIS=m 1989CONFIG_CRYPTO_ANUBIS=m
1944# CONFIG_CRYPTO_SEED is not set 1990# CONFIG_CRYPTO_SEED is not set
1991# CONFIG_CRYPTO_SALSA20 is not set
1945CONFIG_CRYPTO_DEFLATE=m 1992CONFIG_CRYPTO_DEFLATE=m
1946CONFIG_CRYPTO_MICHAEL_MIC=m 1993CONFIG_CRYPTO_MICHAEL_MIC=m
1947CONFIG_CRYPTO_CRC32C=m 1994CONFIG_CRYPTO_CRC32C=m
1948# CONFIG_CRYPTO_CAMELLIA is not set 1995# CONFIG_CRYPTO_CAMELLIA is not set
1949# CONFIG_CRYPTO_TEST is not set 1996# CONFIG_CRYPTO_TEST is not set
1950# CONFIG_CRYPTO_AUTHENC is not set 1997CONFIG_CRYPTO_AUTHENC=y
1998# CONFIG_CRYPTO_LZO is not set
1951CONFIG_CRYPTO_HW=y 1999CONFIG_CRYPTO_HW=y
2000# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1952# CONFIG_PPC_CLOCK is not set 2001# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index 7695a4c66e8..880ab7ad10c 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Fri Dec 21 14:47:29 2007 4# Thu Mar 20 11:06:28 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -49,7 +50,9 @@ CONFIG_GENERIC_TBSYNC=y
49CONFIG_AUDIT_ARCH=y 50CONFIG_AUDIT_ARCH=y
50CONFIG_GENERIC_BUG=y 51CONFIG_GENERIC_BUG=y
51# CONFIG_DEFAULT_UIMAGE is not set 52# CONFIG_DEFAULT_UIMAGE is not set
52CONFIG_PPC64_SWSUSP=y 53CONFIG_HIBERNATE_64=y
54CONFIG_ARCH_HIBERNATION_POSSIBLE=y
55CONFIG_ARCH_SUSPEND_POSSIBLE=y
53# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
54CONFIG_PPC_DCR_MMIO=y 57CONFIG_PPC_DCR_MMIO=y
55CONFIG_PPC_DCR=y 58CONFIG_PPC_DCR=y
@@ -72,8 +75,6 @@ CONFIG_POSIX_MQUEUE=y
72CONFIG_TASKSTATS=y 75CONFIG_TASKSTATS=y
73CONFIG_TASK_DELAY_ACCT=y 76CONFIG_TASK_DELAY_ACCT=y
74# CONFIG_TASK_XACCT is not set 77# CONFIG_TASK_XACCT is not set
75# CONFIG_USER_NS is not set
76# CONFIG_PID_NS is not set
77# CONFIG_AUDIT is not set 78# CONFIG_AUDIT is not set
78CONFIG_IKCONFIG=y 79CONFIG_IKCONFIG=y
79CONFIG_IKCONFIG_PROC=y 80CONFIG_IKCONFIG_PROC=y
@@ -82,13 +83,20 @@ CONFIG_CGROUPS=y
82# CONFIG_CGROUP_DEBUG is not set 83# CONFIG_CGROUP_DEBUG is not set
83# CONFIG_CGROUP_NS is not set 84# CONFIG_CGROUP_NS is not set
84CONFIG_CPUSETS=y 85CONFIG_CPUSETS=y
85CONFIG_FAIR_GROUP_SCHED=y 86# CONFIG_GROUP_SCHED is not set
86CONFIG_FAIR_USER_SCHED=y 87# CONFIG_USER_SCHED is not set
87# CONFIG_FAIR_CGROUP_SCHED is not set 88# CONFIG_CGROUP_SCHED is not set
88# CONFIG_CGROUP_CPUACCT is not set 89# CONFIG_CGROUP_CPUACCT is not set
90# CONFIG_RESOURCE_COUNTERS is not set
89CONFIG_SYSFS_DEPRECATED=y 91CONFIG_SYSFS_DEPRECATED=y
92CONFIG_SYSFS_DEPRECATED_V2=y
90CONFIG_PROC_PID_CPUSET=y 93CONFIG_PROC_PID_CPUSET=y
91CONFIG_RELAY=y 94CONFIG_RELAY=y
95CONFIG_NAMESPACES=y
96# CONFIG_UTS_NS is not set
97# CONFIG_IPC_NS is not set
98# CONFIG_USER_NS is not set
99# CONFIG_PID_NS is not set
92CONFIG_BLK_DEV_INITRD=y 100CONFIG_BLK_DEV_INITRD=y
93CONFIG_INITRAMFS_SOURCE="" 101CONFIG_INITRAMFS_SOURCE=""
94CONFIG_CC_OPTIMIZE_FOR_SIZE=y 102CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -102,11 +110,13 @@ CONFIG_HOTPLUG=y
102CONFIG_PRINTK=y 110CONFIG_PRINTK=y
103CONFIG_BUG=y 111CONFIG_BUG=y
104CONFIG_ELF_CORE=y 112CONFIG_ELF_CORE=y
113# CONFIG_COMPAT_BRK is not set
105CONFIG_BASE_FULL=y 114CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 115CONFIG_FUTEX=y
107CONFIG_ANON_INODES=y 116CONFIG_ANON_INODES=y
108CONFIG_EPOLL=y 117CONFIG_EPOLL=y
109CONFIG_SIGNALFD=y 118CONFIG_SIGNALFD=y
119CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 120CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 121CONFIG_SHMEM=y
112CONFIG_VM_EVENT_COUNTERS=y 122CONFIG_VM_EVENT_COUNTERS=y
@@ -114,6 +124,15 @@ CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 124# CONFIG_SLAB is not set
115CONFIG_SLUB=y 125CONFIG_SLUB=y
116# CONFIG_SLOB is not set 126# CONFIG_SLOB is not set
127CONFIG_PROFILING=y
128# CONFIG_MARKERS is not set
129CONFIG_OPROFILE=y
130CONFIG_HAVE_OPROFILE=y
131# CONFIG_KPROBES is not set
132CONFIG_HAVE_KPROBES=y
133CONFIG_HAVE_KRETPROBES=y
134CONFIG_PROC_PAGE_MONITOR=y
135CONFIG_SLABINFO=y
117CONFIG_RT_MUTEXES=y 136CONFIG_RT_MUTEXES=y
118# CONFIG_TINY_SHMEM is not set 137# CONFIG_TINY_SHMEM is not set
119CONFIG_BASE_SMALL=0 138CONFIG_BASE_SMALL=0
@@ -141,6 +160,7 @@ CONFIG_DEFAULT_AS=y
141# CONFIG_DEFAULT_CFQ is not set 160# CONFIG_DEFAULT_CFQ is not set
142# CONFIG_DEFAULT_NOOP is not set 161# CONFIG_DEFAULT_NOOP is not set
143CONFIG_DEFAULT_IOSCHED="anticipatory" 162CONFIG_DEFAULT_IOSCHED="anticipatory"
163CONFIG_CLASSIC_RCU=y
144 164
145# 165#
146# Platform support 166# Platform support
@@ -163,8 +183,8 @@ CONFIG_VIODASD=y
163CONFIG_VIOCD=m 183CONFIG_VIOCD=m
164CONFIG_VIOTAPE=m 184CONFIG_VIOTAPE=m
165CONFIG_VIOPATH=y 185CONFIG_VIOPATH=y
166# CONFIG_PPC_MPC52xx is not set 186# CONFIG_PPC_MPC512x is not set
167# CONFIG_PPC_MPC5200 is not set 187# CONFIG_PPC_MPC5121 is not set
168CONFIG_PPC_PMAC=y 188CONFIG_PPC_PMAC=y
169CONFIG_PPC_PMAC64=y 189CONFIG_PPC_PMAC64=y
170CONFIG_PPC_MAPLE=y 190CONFIG_PPC_MAPLE=y
@@ -176,7 +196,6 @@ CONFIG_PPC_PASEMI=y
176CONFIG_PPC_PASEMI_IOMMU=y 196CONFIG_PPC_PASEMI_IOMMU=y
177# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set 197# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
178CONFIG_PPC_PASEMI_MDIO=y 198CONFIG_PPC_PASEMI_MDIO=y
179CONFIG_ELECTRA_IDE=y
180CONFIG_PPC_CELLEB=y 199CONFIG_PPC_CELLEB=y
181# CONFIG_PPC_PS3 is not set 200# CONFIG_PPC_PS3 is not set
182CONFIG_PPC_CELL=y 201CONFIG_PPC_CELL=y
@@ -193,11 +212,13 @@ CONFIG_CBE_RAS=y
193CONFIG_CBE_THERM=m 212CONFIG_CBE_THERM=m
194CONFIG_CBE_CPUFREQ=m 213CONFIG_CBE_CPUFREQ=m
195CONFIG_CBE_CPUFREQ_PMI=m 214CONFIG_CBE_CPUFREQ_PMI=m
215CONFIG_OPROFILE_CELL=y
196# CONFIG_PQ2ADS is not set 216# CONFIG_PQ2ADS is not set
197CONFIG_PPC_NATIVE=y 217CONFIG_PPC_NATIVE=y
198CONFIG_UDBG_RTAS_CONSOLE=y 218CONFIG_UDBG_RTAS_CONSOLE=y
199CONFIG_PPC_UDBG_BEAT=y 219CONFIG_PPC_UDBG_BEAT=y
200CONFIG_XICS=y 220CONFIG_XICS=y
221# CONFIG_IPIC is not set
201CONFIG_MPIC=y 222CONFIG_MPIC=y
202# CONFIG_MPIC_WEIRD is not set 223# CONFIG_MPIC_WEIRD is not set
203CONFIG_PPC_I8259=y 224CONFIG_PPC_I8259=y
@@ -236,7 +257,6 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
236# 257#
237CONFIG_CPU_FREQ_PMAC64=y 258CONFIG_CPU_FREQ_PMAC64=y
238CONFIG_PPC_PASEMI_CPUFREQ=y 259CONFIG_PPC_PASEMI_CPUFREQ=y
239# CONFIG_CPM2 is not set
240CONFIG_AXON_RAM=m 260CONFIG_AXON_RAM=m
241# CONFIG_FSL_ULI1575 is not set 261# CONFIG_FSL_ULI1575 is not set
242 262
@@ -252,17 +272,21 @@ CONFIG_HZ_250=y
252# CONFIG_HZ_300 is not set 272# CONFIG_HZ_300 is not set
253# CONFIG_HZ_1000 is not set 273# CONFIG_HZ_1000 is not set
254CONFIG_HZ=250 274CONFIG_HZ=250
275# CONFIG_SCHED_HRTICK is not set
255CONFIG_PREEMPT_NONE=y 276CONFIG_PREEMPT_NONE=y
256# CONFIG_PREEMPT_VOLUNTARY is not set 277# CONFIG_PREEMPT_VOLUNTARY is not set
257# CONFIG_PREEMPT is not set 278# CONFIG_PREEMPT is not set
258# CONFIG_PREEMPT_BKL is not set
259CONFIG_BINFMT_ELF=y 279CONFIG_BINFMT_ELF=y
280CONFIG_COMPAT_BINFMT_ELF=y
260CONFIG_BINFMT_MISC=m 281CONFIG_BINFMT_MISC=m
261CONFIG_FORCE_MAX_ZONEORDER=13 282CONFIG_FORCE_MAX_ZONEORDER=13
262CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 283CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
263CONFIG_IOMMU_VMERGE=y 284CONFIG_IOMMU_VMERGE=y
285CONFIG_IOMMU_HELPER=y
264CONFIG_HOTPLUG_CPU=y 286CONFIG_HOTPLUG_CPU=y
265CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 287CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
288CONFIG_ARCH_HAS_WALK_MEMORY=y
289CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
266CONFIG_KEXEC=y 290CONFIG_KEXEC=y
267# CONFIG_CRASH_DUMP is not set 291# CONFIG_CRASH_DUMP is not set
268CONFIG_IRQ_ALL_CPUS=y 292CONFIG_IRQ_ALL_CPUS=y
@@ -294,11 +318,9 @@ CONFIG_PPC_HAS_HASH_64K=y
294# CONFIG_SCHED_SMT is not set 318# CONFIG_SCHED_SMT is not set
295CONFIG_PROC_DEVICETREE=y 319CONFIG_PROC_DEVICETREE=y
296# CONFIG_CMDLINE_BOOL is not set 320# CONFIG_CMDLINE_BOOL is not set
321CONFIG_ARCH_WANTS_FREEZER_CONTROL=y
297# CONFIG_PM is not set 322# CONFIG_PM is not set
298CONFIG_SUSPEND_SMP_POSSIBLE=y
299CONFIG_HIBERNATION_SMP_POSSIBLE=y
300CONFIG_SECCOMP=y 323CONFIG_SECCOMP=y
301# CONFIG_WANT_DEVICE_TREE is not set
302CONFIG_ISA_DMA_API=y 324CONFIG_ISA_DMA_API=y
303 325
304# 326#
@@ -352,6 +374,7 @@ CONFIG_XFRM=y
352CONFIG_XFRM_USER=m 374CONFIG_XFRM_USER=m
353# CONFIG_XFRM_SUB_POLICY is not set 375# CONFIG_XFRM_SUB_POLICY is not set
354# CONFIG_XFRM_MIGRATE is not set 376# CONFIG_XFRM_MIGRATE is not set
377# CONFIG_XFRM_STATISTICS is not set
355CONFIG_NET_KEY=m 378CONFIG_NET_KEY=m
356# CONFIG_NET_KEY_MIGRATE is not set 379# CONFIG_NET_KEY_MIGRATE is not set
357CONFIG_INET=y 380CONFIG_INET=y
@@ -375,7 +398,7 @@ CONFIG_INET_TUNNEL=y
375CONFIG_INET_XFRM_MODE_TRANSPORT=y 398CONFIG_INET_XFRM_MODE_TRANSPORT=y
376CONFIG_INET_XFRM_MODE_TUNNEL=y 399CONFIG_INET_XFRM_MODE_TUNNEL=y
377CONFIG_INET_XFRM_MODE_BEET=y 400CONFIG_INET_XFRM_MODE_BEET=y
378CONFIG_INET_LRO=m 401CONFIG_INET_LRO=y
379CONFIG_INET_DIAG=y 402CONFIG_INET_DIAG=y
380CONFIG_INET_TCP_DIAG=y 403CONFIG_INET_TCP_DIAG=y
381# CONFIG_TCP_CONG_ADVANCED is not set 404# CONFIG_TCP_CONG_ADVANCED is not set
@@ -389,14 +412,14 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
389# CONFIG_NETWORK_SECMARK is not set 412# CONFIG_NETWORK_SECMARK is not set
390CONFIG_NETFILTER=y 413CONFIG_NETFILTER=y
391# CONFIG_NETFILTER_DEBUG is not set 414# CONFIG_NETFILTER_DEBUG is not set
415CONFIG_NETFILTER_ADVANCED=y
392 416
393# 417#
394# Core Netfilter Configuration 418# Core Netfilter Configuration
395# 419#
396CONFIG_NETFILTER_NETLINK=y 420CONFIG_NETFILTER_NETLINK=m
397CONFIG_NETFILTER_NETLINK_QUEUE=m 421CONFIG_NETFILTER_NETLINK_QUEUE=m
398CONFIG_NETFILTER_NETLINK_LOG=m 422CONFIG_NETFILTER_NETLINK_LOG=m
399CONFIG_NF_CONNTRACK_ENABLED=m
400CONFIG_NF_CONNTRACK=m 423CONFIG_NF_CONNTRACK=m
401CONFIG_NF_CT_ACCT=y 424CONFIG_NF_CT_ACCT=y
402CONFIG_NF_CONNTRACK_MARK=y 425CONFIG_NF_CONNTRACK_MARK=y
@@ -422,8 +445,10 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
422CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 445CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
423CONFIG_NETFILTER_XT_TARGET_NFLOG=m 446CONFIG_NETFILTER_XT_TARGET_NFLOG=m
424CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 447CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
448CONFIG_NETFILTER_XT_TARGET_RATEEST=m
425CONFIG_NETFILTER_XT_TARGET_TRACE=m 449CONFIG_NETFILTER_XT_TARGET_TRACE=m
426CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 450CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
451CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
427CONFIG_NETFILTER_XT_MATCH_COMMENT=m 452CONFIG_NETFILTER_XT_MATCH_COMMENT=m
428CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 453CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
429CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 454CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
@@ -433,14 +458,17 @@ CONFIG_NETFILTER_XT_MATCH_DCCP=m
433CONFIG_NETFILTER_XT_MATCH_DSCP=m 458CONFIG_NETFILTER_XT_MATCH_DSCP=m
434CONFIG_NETFILTER_XT_MATCH_ESP=m 459CONFIG_NETFILTER_XT_MATCH_ESP=m
435CONFIG_NETFILTER_XT_MATCH_HELPER=m 460CONFIG_NETFILTER_XT_MATCH_HELPER=m
461CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
436CONFIG_NETFILTER_XT_MATCH_LENGTH=m 462CONFIG_NETFILTER_XT_MATCH_LENGTH=m
437CONFIG_NETFILTER_XT_MATCH_LIMIT=m 463CONFIG_NETFILTER_XT_MATCH_LIMIT=m
438CONFIG_NETFILTER_XT_MATCH_MAC=m 464CONFIG_NETFILTER_XT_MATCH_MAC=m
439CONFIG_NETFILTER_XT_MATCH_MARK=m 465CONFIG_NETFILTER_XT_MATCH_MARK=m
466CONFIG_NETFILTER_XT_MATCH_OWNER=m
440CONFIG_NETFILTER_XT_MATCH_POLICY=m 467CONFIG_NETFILTER_XT_MATCH_POLICY=m
441CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 468CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
442CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 469CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
443CONFIG_NETFILTER_XT_MATCH_QUOTA=m 470CONFIG_NETFILTER_XT_MATCH_QUOTA=m
471CONFIG_NETFILTER_XT_MATCH_RATEEST=m
444CONFIG_NETFILTER_XT_MATCH_REALM=m 472CONFIG_NETFILTER_XT_MATCH_REALM=m
445CONFIG_NETFILTER_XT_MATCH_SCTP=m 473CONFIG_NETFILTER_XT_MATCH_SCTP=m
446CONFIG_NETFILTER_XT_MATCH_STATE=m 474CONFIG_NETFILTER_XT_MATCH_STATE=m
@@ -458,13 +486,10 @@ CONFIG_NF_CONNTRACK_IPV4=m
458CONFIG_NF_CONNTRACK_PROC_COMPAT=y 486CONFIG_NF_CONNTRACK_PROC_COMPAT=y
459CONFIG_IP_NF_QUEUE=m 487CONFIG_IP_NF_QUEUE=m
460CONFIG_IP_NF_IPTABLES=m 488CONFIG_IP_NF_IPTABLES=m
461CONFIG_IP_NF_MATCH_IPRANGE=m
462CONFIG_IP_NF_MATCH_TOS=m
463CONFIG_IP_NF_MATCH_RECENT=m 489CONFIG_IP_NF_MATCH_RECENT=m
464CONFIG_IP_NF_MATCH_ECN=m 490CONFIG_IP_NF_MATCH_ECN=m
465CONFIG_IP_NF_MATCH_AH=m 491CONFIG_IP_NF_MATCH_AH=m
466CONFIG_IP_NF_MATCH_TTL=m 492CONFIG_IP_NF_MATCH_TTL=m
467CONFIG_IP_NF_MATCH_OWNER=m
468CONFIG_IP_NF_MATCH_ADDRTYPE=m 493CONFIG_IP_NF_MATCH_ADDRTYPE=m
469CONFIG_IP_NF_FILTER=m 494CONFIG_IP_NF_FILTER=m
470CONFIG_IP_NF_TARGET_REJECT=m 495CONFIG_IP_NF_TARGET_REJECT=m
@@ -475,7 +500,6 @@ CONFIG_NF_NAT_NEEDED=y
475CONFIG_IP_NF_TARGET_MASQUERADE=m 500CONFIG_IP_NF_TARGET_MASQUERADE=m
476CONFIG_IP_NF_TARGET_REDIRECT=m 501CONFIG_IP_NF_TARGET_REDIRECT=m
477CONFIG_IP_NF_TARGET_NETMAP=m 502CONFIG_IP_NF_TARGET_NETMAP=m
478CONFIG_IP_NF_TARGET_SAME=m
479CONFIG_NF_NAT_SNMP_BASIC=m 503CONFIG_NF_NAT_SNMP_BASIC=m
480CONFIG_NF_NAT_PROTO_GRE=m 504CONFIG_NF_NAT_PROTO_GRE=m
481CONFIG_NF_NAT_FTP=m 505CONFIG_NF_NAT_FTP=m
@@ -486,7 +510,6 @@ CONFIG_NF_NAT_PPTP=m
486CONFIG_NF_NAT_H323=m 510CONFIG_NF_NAT_H323=m
487CONFIG_NF_NAT_SIP=m 511CONFIG_NF_NAT_SIP=m
488CONFIG_IP_NF_MANGLE=m 512CONFIG_IP_NF_MANGLE=m
489CONFIG_IP_NF_TARGET_TOS=m
490CONFIG_IP_NF_TARGET_ECN=m 513CONFIG_IP_NF_TARGET_ECN=m
491CONFIG_IP_NF_TARGET_TTL=m 514CONFIG_IP_NF_TARGET_TTL=m
492CONFIG_IP_NF_TARGET_CLUSTERIP=m 515CONFIG_IP_NF_TARGET_CLUSTERIP=m
@@ -517,6 +540,7 @@ CONFIG_NET_CLS_ROUTE=y
517# 540#
518# CONFIG_NET_PKTGEN is not set 541# CONFIG_NET_PKTGEN is not set
519# CONFIG_HAMRADIO is not set 542# CONFIG_HAMRADIO is not set
543# CONFIG_CAN is not set
520# CONFIG_IRDA is not set 544# CONFIG_IRDA is not set
521# CONFIG_BT is not set 545# CONFIG_BT is not set
522# CONFIG_AF_RXRPC is not set 546# CONFIG_AF_RXRPC is not set
@@ -563,7 +587,7 @@ CONFIG_BLK_DEV_NBD=m
563CONFIG_BLK_DEV_RAM=y 587CONFIG_BLK_DEV_RAM=y
564CONFIG_BLK_DEV_RAM_COUNT=16 588CONFIG_BLK_DEV_RAM_COUNT=16
565CONFIG_BLK_DEV_RAM_SIZE=65536 589CONFIG_BLK_DEV_RAM_SIZE=65536
566CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 590# CONFIG_BLK_DEV_XIP is not set
567# CONFIG_CDROM_PKTCDVD is not set 591# CONFIG_CDROM_PKTCDVD is not set
568# CONFIG_ATA_OVER_ETH is not set 592# CONFIG_ATA_OVER_ETH is not set
569CONFIG_MISC_DEVICES=y 593CONFIG_MISC_DEVICES=y
@@ -571,11 +595,13 @@ CONFIG_MISC_DEVICES=y
571# CONFIG_EEPROM_93CX6 is not set 595# CONFIG_EEPROM_93CX6 is not set
572# CONFIG_SGI_IOC4 is not set 596# CONFIG_SGI_IOC4 is not set
573# CONFIG_TIFM_CORE is not set 597# CONFIG_TIFM_CORE is not set
598# CONFIG_ENCLOSURE_SERVICES is not set
599CONFIG_HAVE_IDE=y
574CONFIG_IDE=y 600CONFIG_IDE=y
575CONFIG_BLK_DEV_IDE=y 601CONFIG_BLK_DEV_IDE=y
576 602
577# 603#
578# Please see Documentation/ide.txt for help/info on IDE drives 604# Please see Documentation/ide/ide.txt for help/info on IDE drives
579# 605#
580# CONFIG_BLK_DEV_IDE_SATA is not set 606# CONFIG_BLK_DEV_IDE_SATA is not set
581CONFIG_BLK_DEV_IDEDISK=y 607CONFIG_BLK_DEV_IDEDISK=y
@@ -583,6 +609,7 @@ CONFIG_BLK_DEV_IDEDISK=y
583# CONFIG_BLK_DEV_IDECS is not set 609# CONFIG_BLK_DEV_IDECS is not set
584# CONFIG_BLK_DEV_DELKIN is not set 610# CONFIG_BLK_DEV_DELKIN is not set
585CONFIG_BLK_DEV_IDECD=y 611CONFIG_BLK_DEV_IDECD=y
612CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
586# CONFIG_BLK_DEV_IDETAPE is not set 613# CONFIG_BLK_DEV_IDETAPE is not set
587# CONFIG_BLK_DEV_IDEFLOPPY is not set 614# CONFIG_BLK_DEV_IDEFLOPPY is not set
588# CONFIG_BLK_DEV_IDESCSI is not set 615# CONFIG_BLK_DEV_IDESCSI is not set
@@ -594,12 +621,12 @@ CONFIG_IDE_PROC_FS=y
594# 621#
595CONFIG_IDE_GENERIC=y 622CONFIG_IDE_GENERIC=y
596# CONFIG_BLK_DEV_PLATFORM is not set 623# CONFIG_BLK_DEV_PLATFORM is not set
624CONFIG_BLK_DEV_IDEDMA_SFF=y
597 625
598# 626#
599# PCI IDE chipsets support 627# PCI IDE chipsets support
600# 628#
601CONFIG_BLK_DEV_IDEPCI=y 629CONFIG_BLK_DEV_IDEPCI=y
602CONFIG_IDEPCI_SHARE_IRQ=y
603CONFIG_IDEPCI_PCIBUS_ORDER=y 630CONFIG_IDEPCI_PCIBUS_ORDER=y
604# CONFIG_BLK_DEV_OFFBOARD is not set 631# CONFIG_BLK_DEV_OFFBOARD is not set
605CONFIG_BLK_DEV_GENERIC=y 632CONFIG_BLK_DEV_GENERIC=y
@@ -634,7 +661,6 @@ CONFIG_BLK_DEV_CELLEB=y
634CONFIG_BLK_DEV_IDE_PMAC=y 661CONFIG_BLK_DEV_IDE_PMAC=y
635CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 662CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
636CONFIG_BLK_DEV_IDEDMA_PMAC=y 663CONFIG_BLK_DEV_IDEDMA_PMAC=y
637# CONFIG_IDE_ARM is not set
638CONFIG_BLK_DEV_IDEDMA=y 664CONFIG_BLK_DEV_IDEDMA=y
639CONFIG_IDE_ARCH_OBSOLETE_INIT=y 665CONFIG_IDE_ARCH_OBSOLETE_INIT=y
640# CONFIG_BLK_DEV_HD is not set 666# CONFIG_BLK_DEV_HD is not set
@@ -701,6 +727,7 @@ CONFIG_SCSI_LOWLEVEL=y
701CONFIG_SCSI_IBMVSCSI=y 727CONFIG_SCSI_IBMVSCSI=y
702# CONFIG_SCSI_INITIO is not set 728# CONFIG_SCSI_INITIO is not set
703# CONFIG_SCSI_INIA100 is not set 729# CONFIG_SCSI_INIA100 is not set
730# CONFIG_SCSI_MVSAS is not set
704# CONFIG_SCSI_STEX is not set 731# CONFIG_SCSI_STEX is not set
705CONFIG_SCSI_SYM53C8XX_2=y 732CONFIG_SCSI_SYM53C8XX_2=y
706CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 733CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
@@ -760,6 +787,7 @@ CONFIG_SATA_SIL24=y
760# CONFIG_PATA_MPIIX is not set 787# CONFIG_PATA_MPIIX is not set
761# CONFIG_PATA_OLDPIIX is not set 788# CONFIG_PATA_OLDPIIX is not set
762# CONFIG_PATA_NETCELL is not set 789# CONFIG_PATA_NETCELL is not set
790# CONFIG_PATA_NINJA32 is not set
763# CONFIG_PATA_NS87410 is not set 791# CONFIG_PATA_NS87410 is not set
764# CONFIG_PATA_NS87415 is not set 792# CONFIG_PATA_NS87415 is not set
765# CONFIG_PATA_OPTI is not set 793# CONFIG_PATA_OPTI is not set
@@ -776,6 +804,7 @@ CONFIG_PATA_PCMCIA=y
776# CONFIG_PATA_VIA is not set 804# CONFIG_PATA_VIA is not set
777CONFIG_PATA_WINBOND=y 805CONFIG_PATA_WINBOND=y
778CONFIG_PATA_PLATFORM=y 806CONFIG_PATA_PLATFORM=y
807# CONFIG_PATA_OF_PLATFORM is not set
779CONFIG_PATA_SCC=y 808CONFIG_PATA_SCC=y
780CONFIG_MD=y 809CONFIG_MD=y
781CONFIG_BLK_DEV_MD=y 810CONFIG_BLK_DEV_MD=y
@@ -847,7 +876,6 @@ CONFIG_BONDING=m
847# CONFIG_EQUALIZER is not set 876# CONFIG_EQUALIZER is not set
848CONFIG_TUN=m 877CONFIG_TUN=m
849# CONFIG_VETH is not set 878# CONFIG_VETH is not set
850# CONFIG_IP1000 is not set
851# CONFIG_ARCNET is not set 879# CONFIG_ARCNET is not set
852CONFIG_PHYLIB=y 880CONFIG_PHYLIB=y
853 881
@@ -863,11 +891,8 @@ CONFIG_MARVELL_PHY=y
863# CONFIG_SMSC_PHY is not set 891# CONFIG_SMSC_PHY is not set
864CONFIG_BROADCOM_PHY=m 892CONFIG_BROADCOM_PHY=m
865# CONFIG_ICPLUS_PHY is not set 893# CONFIG_ICPLUS_PHY is not set
866CONFIG_FIXED_PHY=m 894# CONFIG_REALTEK_PHY is not set
867CONFIG_FIXED_MII_10_FDX=y 895# CONFIG_FIXED_PHY is not set
868CONFIG_FIXED_MII_100_FDX=y
869# CONFIG_FIXED_MII_1000_FDX is not set
870CONFIG_FIXED_MII_AMNT=1
871# CONFIG_MDIO_BITBANG is not set 896# CONFIG_MDIO_BITBANG is not set
872CONFIG_NET_ETHERNET=y 897CONFIG_NET_ETHERNET=y
873CONFIG_MII=y 898CONFIG_MII=y
@@ -899,6 +924,7 @@ CONFIG_E100=y
899# CONFIG_NE2K_PCI is not set 924# CONFIG_NE2K_PCI is not set
900# CONFIG_8139CP is not set 925# CONFIG_8139CP is not set
901# CONFIG_8139TOO is not set 926# CONFIG_8139TOO is not set
927# CONFIG_R6040 is not set
902# CONFIG_SIS900 is not set 928# CONFIG_SIS900 is not set
903# CONFIG_EPIC100 is not set 929# CONFIG_EPIC100 is not set
904# CONFIG_SUNDANCE is not set 930# CONFIG_SUNDANCE is not set
@@ -912,6 +938,9 @@ CONFIG_E1000=y
912# CONFIG_E1000_NAPI is not set 938# CONFIG_E1000_NAPI is not set
913# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 939# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
914# CONFIG_E1000E is not set 940# CONFIG_E1000E is not set
941# CONFIG_E1000E_ENABLED is not set
942# CONFIG_IP1000 is not set
943# CONFIG_IGB is not set
915# CONFIG_NS83820 is not set 944# CONFIG_NS83820 is not set
916# CONFIG_HAMACHI is not set 945# CONFIG_HAMACHI is not set
917# CONFIG_YELLOWFIN is not set 946# CONFIG_YELLOWFIN is not set
@@ -940,6 +969,7 @@ CONFIG_IXGB=m
940CONFIG_PASEMI_MAC=y 969CONFIG_PASEMI_MAC=y
941# CONFIG_MLX4_CORE is not set 970# CONFIG_MLX4_CORE is not set
942# CONFIG_TEHUTI is not set 971# CONFIG_TEHUTI is not set
972# CONFIG_BNX2X is not set
943CONFIG_TR=y 973CONFIG_TR=y
944CONFIG_IBMOL=y 974CONFIG_IBMOL=y
945# CONFIG_3C359 is not set 975# CONFIG_3C359 is not set
@@ -977,7 +1007,6 @@ CONFIG_PPPOE=m
977# CONFIG_SLIP is not set 1007# CONFIG_SLIP is not set
978CONFIG_SLHC=m 1008CONFIG_SLHC=m
979# CONFIG_NET_FC is not set 1009# CONFIG_NET_FC is not set
980# CONFIG_SHAPER is not set
981CONFIG_NETCONSOLE=y 1010CONFIG_NETCONSOLE=y
982# CONFIG_NETCONSOLE_DYNAMIC is not set 1011# CONFIG_NETCONSOLE_DYNAMIC is not set
983CONFIG_NETPOLL=y 1012CONFIG_NETPOLL=y
@@ -1056,6 +1085,7 @@ CONFIG_VT_CONSOLE=y
1056CONFIG_HW_CONSOLE=y 1085CONFIG_HW_CONSOLE=y
1057# CONFIG_VT_HW_CONSOLE_BINDING is not set 1086# CONFIG_VT_HW_CONSOLE_BINDING is not set
1058# CONFIG_SERIAL_NONSTANDARD is not set 1087# CONFIG_SERIAL_NONSTANDARD is not set
1088# CONFIG_NOZOMI is not set
1059 1089
1060# 1090#
1061# Serial drivers 1091# Serial drivers
@@ -1103,6 +1133,7 @@ CONFIG_GEN_RTC=y
1103# CONFIG_SYNCLINK_CS is not set 1133# CONFIG_SYNCLINK_CS is not set
1104# CONFIG_CARDMAN_4000 is not set 1134# CONFIG_CARDMAN_4000 is not set
1105# CONFIG_CARDMAN_4040 is not set 1135# CONFIG_CARDMAN_4040 is not set
1136# CONFIG_IPWIRELESS is not set
1106CONFIG_RAW_DRIVER=y 1137CONFIG_RAW_DRIVER=y
1107CONFIG_MAX_RAW_DEVS=256 1138CONFIG_MAX_RAW_DEVS=256
1108# CONFIG_HANGCHECK_TIMER is not set 1139# CONFIG_HANGCHECK_TIMER is not set
@@ -1151,13 +1182,12 @@ CONFIG_I2C_PASEMI=y
1151# 1182#
1152# Miscellaneous I2C Chip support 1183# Miscellaneous I2C Chip support
1153# 1184#
1154# CONFIG_SENSORS_DS1337 is not set
1155# CONFIG_SENSORS_DS1374 is not set
1156# CONFIG_DS1682 is not set 1185# CONFIG_DS1682 is not set
1157# CONFIG_SENSORS_EEPROM is not set 1186# CONFIG_SENSORS_EEPROM is not set
1158# CONFIG_SENSORS_PCF8574 is not set 1187# CONFIG_SENSORS_PCF8574 is not set
1159# CONFIG_SENSORS_PCA9539 is not set 1188# CONFIG_PCF8575 is not set
1160# CONFIG_SENSORS_PCF8591 is not set 1189# CONFIG_SENSORS_PCF8591 is not set
1190# CONFIG_TPS65010 is not set
1161# CONFIG_SENSORS_MAX6875 is not set 1191# CONFIG_SENSORS_MAX6875 is not set
1162# CONFIG_SENSORS_TSL2550 is not set 1192# CONFIG_SENSORS_TSL2550 is not set
1163# CONFIG_I2C_DEBUG_CORE is not set 1193# CONFIG_I2C_DEBUG_CORE is not set
@@ -1173,6 +1203,7 @@ CONFIG_I2C_PASEMI=y
1173# CONFIG_W1 is not set 1203# CONFIG_W1 is not set
1174# CONFIG_POWER_SUPPLY is not set 1204# CONFIG_POWER_SUPPLY is not set
1175# CONFIG_HWMON is not set 1205# CONFIG_HWMON is not set
1206# CONFIG_THERMAL is not set
1176# CONFIG_WATCHDOG is not set 1207# CONFIG_WATCHDOG is not set
1177 1208
1178# 1209#
@@ -1337,6 +1368,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1337# CONFIG_SND_BT87X is not set 1368# CONFIG_SND_BT87X is not set
1338# CONFIG_SND_CA0106 is not set 1369# CONFIG_SND_CA0106 is not set
1339# CONFIG_SND_CMIPCI is not set 1370# CONFIG_SND_CMIPCI is not set
1371# CONFIG_SND_OXYGEN is not set
1340# CONFIG_SND_CS4281 is not set 1372# CONFIG_SND_CS4281 is not set
1341# CONFIG_SND_CS46XX is not set 1373# CONFIG_SND_CS46XX is not set
1342# CONFIG_SND_CS5530 is not set 1374# CONFIG_SND_CS5530 is not set
@@ -1362,6 +1394,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1362# CONFIG_SND_HDA_INTEL is not set 1394# CONFIG_SND_HDA_INTEL is not set
1363# CONFIG_SND_HDSP is not set 1395# CONFIG_SND_HDSP is not set
1364# CONFIG_SND_HDSPM is not set 1396# CONFIG_SND_HDSPM is not set
1397# CONFIG_SND_HIFIER is not set
1365# CONFIG_SND_ICE1712 is not set 1398# CONFIG_SND_ICE1712 is not set
1366# CONFIG_SND_ICE1724 is not set 1399# CONFIG_SND_ICE1724 is not set
1367# CONFIG_SND_INTEL8X0 is not set 1400# CONFIG_SND_INTEL8X0 is not set
@@ -1379,6 +1412,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
1379# CONFIG_SND_TRIDENT is not set 1412# CONFIG_SND_TRIDENT is not set
1380# CONFIG_SND_VIA82XX is not set 1413# CONFIG_SND_VIA82XX is not set
1381# CONFIG_SND_VIA82XX_MODEM is not set 1414# CONFIG_SND_VIA82XX_MODEM is not set
1415# CONFIG_SND_VIRTUOSO is not set
1382# CONFIG_SND_VX222 is not set 1416# CONFIG_SND_VX222 is not set
1383# CONFIG_SND_YMFPCI is not set 1417# CONFIG_SND_YMFPCI is not set
1384 1418
@@ -1426,6 +1460,10 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m
1426# 1460#
1427 1461
1428# 1462#
1463# ALSA SoC audio for Freescale SOCs
1464#
1465
1466#
1429# Open Sound System 1467# Open Sound System
1430# 1468#
1431# CONFIG_SOUND_PRIME is not set 1469# CONFIG_SOUND_PRIME is not set
@@ -1447,6 +1485,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1447CONFIG_USB_ARCH_HAS_EHCI=y 1485CONFIG_USB_ARCH_HAS_EHCI=y
1448CONFIG_USB=y 1486CONFIG_USB=y
1449# CONFIG_USB_DEBUG is not set 1487# CONFIG_USB_DEBUG is not set
1488# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1450 1489
1451# 1490#
1452# Miscellaneous USB options 1491# Miscellaneous USB options
@@ -1460,10 +1499,10 @@ CONFIG_USB_DEVICE_CLASS=y
1460# USB Host Controller Drivers 1499# USB Host Controller Drivers
1461# 1500#
1462CONFIG_USB_EHCI_HCD=y 1501CONFIG_USB_EHCI_HCD=y
1463# CONFIG_USB_EHCI_SPLIT_ISO is not set
1464# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1502# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1465CONFIG_USB_EHCI_TT_NEWSCHED=y 1503CONFIG_USB_EHCI_TT_NEWSCHED=y
1466CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y 1504CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
1505# CONFIG_USB_EHCI_HCD_PPC_OF is not set
1467# CONFIG_USB_ISP116X_HCD is not set 1506# CONFIG_USB_ISP116X_HCD is not set
1468CONFIG_USB_OHCI_HCD=y 1507CONFIG_USB_OHCI_HCD=y
1469# CONFIG_USB_OHCI_HCD_PPC_OF is not set 1508# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -1512,10 +1551,6 @@ CONFIG_USB_STORAGE=m
1512# 1551#
1513# USB port drivers 1552# USB port drivers
1514# 1553#
1515
1516#
1517# USB Serial Converter support
1518#
1519# CONFIG_USB_SERIAL is not set 1554# CONFIG_USB_SERIAL is not set
1520 1555
1521# 1556#
@@ -1541,16 +1576,9 @@ CONFIG_USB_APPLEDISPLAY=m
1541# CONFIG_USB_TRANCEVIBRATOR is not set 1576# CONFIG_USB_TRANCEVIBRATOR is not set
1542# CONFIG_USB_IOWARRIOR is not set 1577# CONFIG_USB_IOWARRIOR is not set
1543# CONFIG_USB_TEST is not set 1578# CONFIG_USB_TEST is not set
1544
1545#
1546# USB DSL modem support
1547#
1548
1549#
1550# USB Gadget Support
1551#
1552# CONFIG_USB_GADGET is not set 1579# CONFIG_USB_GADGET is not set
1553# CONFIG_MMC is not set 1580# CONFIG_MMC is not set
1581# CONFIG_MEMSTICK is not set
1554# CONFIG_NEW_LEDS is not set 1582# CONFIG_NEW_LEDS is not set
1555CONFIG_INFINIBAND=m 1583CONFIG_INFINIBAND=m
1556# CONFIG_INFINIBAND_USER_MAD is not set 1584# CONFIG_INFINIBAND_USER_MAD is not set
@@ -1562,6 +1590,7 @@ CONFIG_INFINIBAND_MTHCA_DEBUG=y
1562CONFIG_INFINIBAND_EHCA=m 1590CONFIG_INFINIBAND_EHCA=m
1563# CONFIG_INFINIBAND_AMSO1100 is not set 1591# CONFIG_INFINIBAND_AMSO1100 is not set
1564# CONFIG_MLX4_INFINIBAND is not set 1592# CONFIG_MLX4_INFINIBAND is not set
1593# CONFIG_INFINIBAND_NES is not set
1565CONFIG_INFINIBAND_IPOIB=m 1594CONFIG_INFINIBAND_IPOIB=m
1566# CONFIG_INFINIBAND_IPOIB_CM is not set 1595# CONFIG_INFINIBAND_IPOIB_CM is not set
1567CONFIG_INFINIBAND_IPOIB_DEBUG=y 1596CONFIG_INFINIBAND_IPOIB_DEBUG=y
@@ -1576,8 +1605,13 @@ CONFIG_EDAC=y
1576# CONFIG_EDAC_DEBUG is not set 1605# CONFIG_EDAC_DEBUG is not set
1577CONFIG_EDAC_MM_EDAC=y 1606CONFIG_EDAC_MM_EDAC=y
1578CONFIG_EDAC_PASEMI=y 1607CONFIG_EDAC_PASEMI=y
1608# CONFIG_EDAC_CELL is not set
1579CONFIG_RTC_LIB=y 1609CONFIG_RTC_LIB=y
1580CONFIG_RTC_CLASS=y 1610CONFIG_RTC_CLASS=y
1611
1612#
1613# Conflicting RTC option has been selected, check GEN_RTC and RTC
1614#
1581CONFIG_RTC_HCTOSYS=y 1615CONFIG_RTC_HCTOSYS=y
1582CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1616CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1583# CONFIG_RTC_DEBUG is not set 1617# CONFIG_RTC_DEBUG is not set
@@ -1604,6 +1638,7 @@ CONFIG_RTC_DRV_DS1307=y
1604# CONFIG_RTC_DRV_PCF8563 is not set 1638# CONFIG_RTC_DRV_PCF8563 is not set
1605# CONFIG_RTC_DRV_PCF8583 is not set 1639# CONFIG_RTC_DRV_PCF8583 is not set
1606# CONFIG_RTC_DRV_M41T80 is not set 1640# CONFIG_RTC_DRV_M41T80 is not set
1641# CONFIG_RTC_DRV_S35390A is not set
1607 1642
1608# 1643#
1609# SPI RTC drivers 1644# SPI RTC drivers
@@ -1613,9 +1648,10 @@ CONFIG_RTC_DRV_DS1307=y
1613# Platform RTC drivers 1648# Platform RTC drivers
1614# 1649#
1615# CONFIG_RTC_DRV_CMOS is not set 1650# CONFIG_RTC_DRV_CMOS is not set
1651# CONFIG_RTC_DRV_DS1511 is not set
1616# CONFIG_RTC_DRV_DS1553 is not set 1652# CONFIG_RTC_DRV_DS1553 is not set
1617# CONFIG_RTC_DRV_STK17TA8 is not set
1618# CONFIG_RTC_DRV_DS1742 is not set 1653# CONFIG_RTC_DRV_DS1742 is not set
1654# CONFIG_RTC_DRV_STK17TA8 is not set
1619# CONFIG_RTC_DRV_M48T86 is not set 1655# CONFIG_RTC_DRV_M48T86 is not set
1620# CONFIG_RTC_DRV_M48T59 is not set 1656# CONFIG_RTC_DRV_M48T59 is not set
1621# CONFIG_RTC_DRV_V3020 is not set 1657# CONFIG_RTC_DRV_V3020 is not set
@@ -1623,6 +1659,7 @@ CONFIG_RTC_DRV_DS1307=y
1623# 1659#
1624# on-CPU RTC drivers 1660# on-CPU RTC drivers
1625# 1661#
1662# CONFIG_DMADEVICES is not set
1626 1663
1627# 1664#
1628# Userspace I/O 1665# Userspace I/O
@@ -1665,12 +1702,10 @@ CONFIG_XFS_POSIX_ACL=y
1665# CONFIG_XFS_RT is not set 1702# CONFIG_XFS_RT is not set
1666# CONFIG_GFS2_FS is not set 1703# CONFIG_GFS2_FS is not set
1667# CONFIG_OCFS2_FS is not set 1704# CONFIG_OCFS2_FS is not set
1668# CONFIG_MINIX_FS is not set 1705CONFIG_DNOTIFY=y
1669# CONFIG_ROMFS_FS is not set
1670CONFIG_INOTIFY=y 1706CONFIG_INOTIFY=y
1671CONFIG_INOTIFY_USER=y 1707CONFIG_INOTIFY_USER=y
1672# CONFIG_QUOTA is not set 1708# CONFIG_QUOTA is not set
1673CONFIG_DNOTIFY=y
1674# CONFIG_AUTOFS_FS is not set 1709# CONFIG_AUTOFS_FS is not set
1675CONFIG_AUTOFS4_FS=m 1710CONFIG_AUTOFS4_FS=m
1676# CONFIG_FUSE_FS is not set 1711# CONFIG_FUSE_FS is not set
@@ -1719,8 +1754,10 @@ CONFIG_HFSPLUS_FS=m
1719# CONFIG_EFS_FS is not set 1754# CONFIG_EFS_FS is not set
1720CONFIG_CRAMFS=y 1755CONFIG_CRAMFS=y
1721# CONFIG_VXFS_FS is not set 1756# CONFIG_VXFS_FS is not set
1757# CONFIG_MINIX_FS is not set
1722# CONFIG_HPFS_FS is not set 1758# CONFIG_HPFS_FS is not set
1723# CONFIG_QNX4FS_FS is not set 1759# CONFIG_QNX4FS_FS is not set
1760# CONFIG_ROMFS_FS is not set
1724# CONFIG_SYSV_FS is not set 1761# CONFIG_SYSV_FS is not set
1725# CONFIG_UFS_FS is not set 1762# CONFIG_UFS_FS is not set
1726CONFIG_NETWORK_FILESYSTEMS=y 1763CONFIG_NETWORK_FILESYSTEMS=y
@@ -1821,7 +1858,6 @@ CONFIG_NLS_KOI8_R=m
1821CONFIG_NLS_KOI8_U=m 1858CONFIG_NLS_KOI8_U=m
1822CONFIG_NLS_UTF8=m 1859CONFIG_NLS_UTF8=m
1823# CONFIG_DLM is not set 1860# CONFIG_DLM is not set
1824# CONFIG_UCC_SLOW is not set
1825 1861
1826# 1862#
1827# Library routines 1863# Library routines
@@ -1835,6 +1871,8 @@ CONFIG_CRC32=y
1835CONFIG_LIBCRC32C=m 1871CONFIG_LIBCRC32C=m
1836CONFIG_ZLIB_INFLATE=y 1872CONFIG_ZLIB_INFLATE=y
1837CONFIG_ZLIB_DEFLATE=m 1873CONFIG_ZLIB_DEFLATE=m
1874CONFIG_LZO_COMPRESS=m
1875CONFIG_LZO_DECOMPRESS=m
1838CONFIG_TEXTSEARCH=y 1876CONFIG_TEXTSEARCH=y
1839CONFIG_TEXTSEARCH_KMP=m 1877CONFIG_TEXTSEARCH_KMP=m
1840CONFIG_TEXTSEARCH_BM=m 1878CONFIG_TEXTSEARCH_BM=m
@@ -1843,11 +1881,6 @@ CONFIG_PLIST=y
1843CONFIG_HAS_IOMEM=y 1881CONFIG_HAS_IOMEM=y
1844CONFIG_HAS_IOPORT=y 1882CONFIG_HAS_IOPORT=y
1845CONFIG_HAS_DMA=y 1883CONFIG_HAS_DMA=y
1846CONFIG_INSTRUMENTATION=y
1847CONFIG_PROFILING=y
1848CONFIG_OPROFILE=y
1849# CONFIG_KPROBES is not set
1850# CONFIG_MARKERS is not set
1851 1884
1852# 1885#
1853# Kernel hacking 1886# Kernel hacking
@@ -1866,6 +1899,7 @@ CONFIG_SCHED_DEBUG=y
1866# CONFIG_SCHEDSTATS is not set 1899# CONFIG_SCHEDSTATS is not set
1867# CONFIG_TIMER_STATS is not set 1900# CONFIG_TIMER_STATS is not set
1868# CONFIG_SLUB_DEBUG_ON is not set 1901# CONFIG_SLUB_DEBUG_ON is not set
1902# CONFIG_SLUB_STATS is not set
1869# CONFIG_DEBUG_RT_MUTEXES is not set 1903# CONFIG_DEBUG_RT_MUTEXES is not set
1870# CONFIG_RT_MUTEX_TESTER is not set 1904# CONFIG_RT_MUTEX_TESTER is not set
1871# CONFIG_DEBUG_SPINLOCK is not set 1905# CONFIG_DEBUG_SPINLOCK is not set
@@ -1878,9 +1912,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1878# CONFIG_DEBUG_VM is not set 1912# CONFIG_DEBUG_VM is not set
1879# CONFIG_DEBUG_LIST is not set 1913# CONFIG_DEBUG_LIST is not set
1880# CONFIG_DEBUG_SG is not set 1914# CONFIG_DEBUG_SG is not set
1881CONFIG_FORCED_INLINING=y
1882# CONFIG_BOOT_PRINTK_DELAY is not set 1915# CONFIG_BOOT_PRINTK_DELAY is not set
1883# CONFIG_RCU_TORTURE_TEST is not set 1916# CONFIG_RCU_TORTURE_TEST is not set
1917# CONFIG_BACKTRACE_SELF_TEST is not set
1884# CONFIG_FAULT_INJECTION is not set 1918# CONFIG_FAULT_INJECTION is not set
1885# CONFIG_SAMPLES is not set 1919# CONFIG_SAMPLES is not set
1886CONFIG_DEBUG_STACKOVERFLOW=y 1920CONFIG_DEBUG_STACKOVERFLOW=y
@@ -1908,7 +1942,9 @@ CONFIG_ASYNC_MEMCPY=y
1908CONFIG_ASYNC_XOR=y 1942CONFIG_ASYNC_XOR=y
1909CONFIG_CRYPTO=y 1943CONFIG_CRYPTO=y
1910CONFIG_CRYPTO_ALGAPI=y 1944CONFIG_CRYPTO_ALGAPI=y
1945CONFIG_CRYPTO_AEAD=m
1911CONFIG_CRYPTO_BLKCIPHER=y 1946CONFIG_CRYPTO_BLKCIPHER=y
1947CONFIG_CRYPTO_SEQIV=m
1912CONFIG_CRYPTO_HASH=y 1948CONFIG_CRYPTO_HASH=y
1913CONFIG_CRYPTO_MANAGER=y 1949CONFIG_CRYPTO_MANAGER=y
1914CONFIG_CRYPTO_HMAC=y 1950CONFIG_CRYPTO_HMAC=y
@@ -1921,12 +1957,15 @@ CONFIG_CRYPTO_SHA256=m
1921CONFIG_CRYPTO_SHA512=m 1957CONFIG_CRYPTO_SHA512=m
1922CONFIG_CRYPTO_WP512=m 1958CONFIG_CRYPTO_WP512=m
1923CONFIG_CRYPTO_TGR192=m 1959CONFIG_CRYPTO_TGR192=m
1924# CONFIG_CRYPTO_GF128MUL is not set 1960CONFIG_CRYPTO_GF128MUL=m
1925CONFIG_CRYPTO_ECB=m 1961CONFIG_CRYPTO_ECB=m
1926CONFIG_CRYPTO_CBC=y 1962CONFIG_CRYPTO_CBC=y
1927CONFIG_CRYPTO_PCBC=m 1963CONFIG_CRYPTO_PCBC=m
1928# CONFIG_CRYPTO_LRW is not set 1964# CONFIG_CRYPTO_LRW is not set
1929# CONFIG_CRYPTO_XTS is not set 1965# CONFIG_CRYPTO_XTS is not set
1966CONFIG_CRYPTO_CTR=m
1967CONFIG_CRYPTO_GCM=m
1968CONFIG_CRYPTO_CCM=m
1930# CONFIG_CRYPTO_CRYPTD is not set 1969# CONFIG_CRYPTO_CRYPTD is not set
1931CONFIG_CRYPTO_DES=y 1970CONFIG_CRYPTO_DES=y
1932# CONFIG_CRYPTO_FCRYPT is not set 1971# CONFIG_CRYPTO_FCRYPT is not set
@@ -1942,11 +1981,13 @@ CONFIG_CRYPTO_ARC4=m
1942CONFIG_CRYPTO_KHAZAD=m 1981CONFIG_CRYPTO_KHAZAD=m
1943CONFIG_CRYPTO_ANUBIS=m 1982CONFIG_CRYPTO_ANUBIS=m
1944# CONFIG_CRYPTO_SEED is not set 1983# CONFIG_CRYPTO_SEED is not set
1984CONFIG_CRYPTO_SALSA20=m
1945CONFIG_CRYPTO_DEFLATE=m 1985CONFIG_CRYPTO_DEFLATE=m
1946CONFIG_CRYPTO_MICHAEL_MIC=m 1986CONFIG_CRYPTO_MICHAEL_MIC=m
1947CONFIG_CRYPTO_CRC32C=m 1987CONFIG_CRYPTO_CRC32C=m
1948# CONFIG_CRYPTO_CAMELLIA is not set 1988# CONFIG_CRYPTO_CAMELLIA is not set
1949CONFIG_CRYPTO_TEST=m 1989CONFIG_CRYPTO_TEST=m
1950# CONFIG_CRYPTO_AUTHENC is not set 1990CONFIG_CRYPTO_AUTHENC=m
1991CONFIG_CRYPTO_LZO=m
1951# CONFIG_CRYPTO_HW is not set 1992# CONFIG_CRYPTO_HW is not set
1952# CONFIG_PPC_CLOCK is not set 1993# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index a3bfbb65a93..1383eb696a2 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.24-rc5 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 13 22:39:18 2007 4# Mon Mar 24 08:48:36 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -69,9 +70,14 @@ CONFIG_IKCONFIG=y
69CONFIG_IKCONFIG_PROC=y 70CONFIG_IKCONFIG_PROC=y
70CONFIG_LOG_BUF_SHIFT=14 71CONFIG_LOG_BUF_SHIFT=14
71# CONFIG_CGROUPS is not set 72# CONFIG_CGROUPS is not set
73CONFIG_GROUP_SCHED=y
72# CONFIG_FAIR_GROUP_SCHED is not set 74# CONFIG_FAIR_GROUP_SCHED is not set
73# CONFIG_SYSFS_DEPRECATED is not set 75CONFIG_USER_SCHED=y
76# CONFIG_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y
78CONFIG_SYSFS_DEPRECATED_V2=y
74# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
80# CONFIG_NAMESPACES is not set
75CONFIG_BLK_DEV_INITRD=y 81CONFIG_BLK_DEV_INITRD=y
76CONFIG_INITRAMFS_SOURCE="" 82CONFIG_INITRAMFS_SOURCE=""
77CONFIG_SYSCTL=y 83CONFIG_SYSCTL=y
@@ -84,11 +90,13 @@ CONFIG_HOTPLUG=y
84CONFIG_PRINTK=y 90CONFIG_PRINTK=y
85CONFIG_BUG=y 91CONFIG_BUG=y
86CONFIG_ELF_CORE=y 92CONFIG_ELF_CORE=y
93CONFIG_COMPAT_BRK=y
87CONFIG_BASE_FULL=y 94CONFIG_BASE_FULL=y
88CONFIG_FUTEX=y 95CONFIG_FUTEX=y
89CONFIG_ANON_INODES=y 96CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 97CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y 98CONFIG_SIGNALFD=y
99CONFIG_TIMERFD=y
92CONFIG_EVENTFD=y 100CONFIG_EVENTFD=y
93CONFIG_SHMEM=y 101CONFIG_SHMEM=y
94CONFIG_VM_EVENT_COUNTERS=y 102CONFIG_VM_EVENT_COUNTERS=y
@@ -96,6 +104,13 @@ CONFIG_SLUB_DEBUG=y
96# CONFIG_SLAB is not set 104# CONFIG_SLAB is not set
97CONFIG_SLUB=y 105CONFIG_SLUB=y
98# CONFIG_SLOB is not set 106# CONFIG_SLOB is not set
107# CONFIG_PROFILING is not set
108# CONFIG_MARKERS is not set
109CONFIG_HAVE_OPROFILE=y
110CONFIG_HAVE_KPROBES=y
111CONFIG_HAVE_KRETPROBES=y
112CONFIG_PROC_PAGE_MONITOR=y
113CONFIG_SLABINFO=y
99CONFIG_RT_MUTEXES=y 114CONFIG_RT_MUTEXES=y
100# CONFIG_TINY_SHMEM is not set 115# CONFIG_TINY_SHMEM is not set
101CONFIG_BASE_SMALL=0 116CONFIG_BASE_SMALL=0
@@ -117,6 +132,7 @@ CONFIG_DEFAULT_AS=y
117# CONFIG_DEFAULT_CFQ is not set 132# CONFIG_DEFAULT_CFQ is not set
118# CONFIG_DEFAULT_NOOP is not set 133# CONFIG_DEFAULT_NOOP is not set
119CONFIG_DEFAULT_IOSCHED="anticipatory" 134CONFIG_DEFAULT_IOSCHED="anticipatory"
135CONFIG_CLASSIC_RCU=y
120 136
121# 137#
122# Platform support 138# Platform support
@@ -125,15 +141,17 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
125CONFIG_PPC_82xx=y 141CONFIG_PPC_82xx=y
126# CONFIG_PPC_83xx is not set 142# CONFIG_PPC_83xx is not set
127# CONFIG_PPC_86xx is not set 143# CONFIG_PPC_86xx is not set
128# CONFIG_PPC_MPC52xx is not set 144# CONFIG_PPC_MPC512x is not set
129# CONFIG_PPC_MPC5200 is not set 145# CONFIG_PPC_MPC5121 is not set
130# CONFIG_PPC_CELL is not set 146# CONFIG_PPC_CELL is not set
131# CONFIG_PPC_CELL_NATIVE is not set 147# CONFIG_PPC_CELL_NATIVE is not set
132# CONFIG_MPC8272_ADS is not set 148# CONFIG_MPC8272_ADS is not set
133CONFIG_PQ2FADS=y 149CONFIG_PQ2FADS=y
150# CONFIG_EP8248E is not set
134CONFIG_PQ2ADS=y 151CONFIG_PQ2ADS=y
135CONFIG_8260=y 152CONFIG_8260=y
136CONFIG_PQ2_ADS_PCI_PIC=y 153CONFIG_PQ2_ADS_PCI_PIC=y
154# CONFIG_IPIC is not set
137# CONFIG_MPIC is not set 155# CONFIG_MPIC is not set
138# CONFIG_MPIC_WEIRD is not set 156# CONFIG_MPIC_WEIRD is not set
139# CONFIG_PPC_I8259 is not set 157# CONFIG_PPC_I8259 is not set
@@ -162,12 +180,16 @@ CONFIG_HZ_250=y
162# CONFIG_HZ_300 is not set 180# CONFIG_HZ_300 is not set
163# CONFIG_HZ_1000 is not set 181# CONFIG_HZ_1000 is not set
164CONFIG_HZ=250 182CONFIG_HZ=250
183# CONFIG_SCHED_HRTICK is not set
165CONFIG_PREEMPT_NONE=y 184CONFIG_PREEMPT_NONE=y
166# CONFIG_PREEMPT_VOLUNTARY is not set 185# CONFIG_PREEMPT_VOLUNTARY is not set
167# CONFIG_PREEMPT is not set 186# CONFIG_PREEMPT is not set
168CONFIG_BINFMT_ELF=y 187CONFIG_BINFMT_ELF=y
169CONFIG_BINFMT_MISC=y 188CONFIG_BINFMT_MISC=y
189# CONFIG_IOMMU_HELPER is not set
170CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 190CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
191CONFIG_ARCH_HAS_WALK_MEMORY=y
192CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
171CONFIG_ARCH_FLATMEM_ENABLE=y 193CONFIG_ARCH_FLATMEM_ENABLE=y
172CONFIG_ARCH_POPULATES_NODE_MAP=y 194CONFIG_ARCH_POPULATES_NODE_MAP=y
173CONFIG_FLATMEM=y 195CONFIG_FLATMEM=y
@@ -182,11 +204,7 @@ CONFIG_VIRT_TO_BUS=y
182CONFIG_PROC_DEVICETREE=y 204CONFIG_PROC_DEVICETREE=y
183# CONFIG_CMDLINE_BOOL is not set 205# CONFIG_CMDLINE_BOOL is not set
184# CONFIG_PM is not set 206# CONFIG_PM is not set
185CONFIG_SUSPEND_UP_POSSIBLE=y
186CONFIG_HIBERNATION_UP_POSSIBLE=y
187CONFIG_SECCOMP=y 207CONFIG_SECCOMP=y
188CONFIG_WANT_DEVICE_TREE=y
189CONFIG_DEVICE_TREE="pq2fads.dts"
190CONFIG_ISA_DMA_API=y 208CONFIG_ISA_DMA_API=y
191 209
192# 210#
@@ -206,6 +224,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
206CONFIG_PCI_LEGACY=y 224CONFIG_PCI_LEGACY=y
207# CONFIG_PCI_DEBUG is not set 225# CONFIG_PCI_DEBUG is not set
208# CONFIG_PCCARD is not set 226# CONFIG_PCCARD is not set
227# CONFIG_HOTPLUG_PCI is not set
209 228
210# 229#
211# Advanced setup 230# Advanced setup
@@ -278,12 +297,13 @@ CONFIG_IPV6_SIT=y
278# CONFIG_NETWORK_SECMARK is not set 297# CONFIG_NETWORK_SECMARK is not set
279CONFIG_NETFILTER=y 298CONFIG_NETFILTER=y
280# CONFIG_NETFILTER_DEBUG is not set 299# CONFIG_NETFILTER_DEBUG is not set
300CONFIG_NETFILTER_ADVANCED=y
281 301
282# 302#
283# Core Netfilter Configuration 303# Core Netfilter Configuration
284# 304#
285# CONFIG_NETFILTER_NETLINK is not set 305# CONFIG_NETFILTER_NETLINK_QUEUE is not set
286# CONFIG_NF_CONNTRACK_ENABLED is not set 306# CONFIG_NETFILTER_NETLINK_LOG is not set
287# CONFIG_NF_CONNTRACK is not set 307# CONFIG_NF_CONNTRACK is not set
288# CONFIG_NETFILTER_XTABLES is not set 308# CONFIG_NETFILTER_XTABLES is not set
289 309
@@ -293,6 +313,13 @@ CONFIG_NETFILTER=y
293# CONFIG_IP_NF_QUEUE is not set 313# CONFIG_IP_NF_QUEUE is not set
294# CONFIG_IP_NF_IPTABLES is not set 314# CONFIG_IP_NF_IPTABLES is not set
295# CONFIG_IP_NF_ARPTABLES is not set 315# CONFIG_IP_NF_ARPTABLES is not set
316
317#
318# IPv6: Netfilter Configuration
319#
320# CONFIG_IP6_NF_QUEUE is not set
321# CONFIG_IP6_NF_IPTABLES is not set
322# CONFIG_ATM is not set
296# CONFIG_BRIDGE is not set 323# CONFIG_BRIDGE is not set
297# CONFIG_VLAN_8021Q is not set 324# CONFIG_VLAN_8021Q is not set
298# CONFIG_DECNET is not set 325# CONFIG_DECNET is not set
@@ -306,6 +333,7 @@ CONFIG_NETFILTER=y
306# 333#
307# CONFIG_NET_PKTGEN is not set 334# CONFIG_NET_PKTGEN is not set
308# CONFIG_HAMRADIO is not set 335# CONFIG_HAMRADIO is not set
336# CONFIG_CAN is not set
309# CONFIG_IRDA is not set 337# CONFIG_IRDA is not set
310# CONFIG_BT is not set 338# CONFIG_BT is not set
311 339
@@ -314,6 +342,7 @@ CONFIG_NETFILTER=y
314# 342#
315# CONFIG_CFG80211 is not set 343# CONFIG_CFG80211 is not set
316# CONFIG_WIRELESS_EXT is not set 344# CONFIG_WIRELESS_EXT is not set
345# CONFIG_MAC80211 is not set
317# CONFIG_IEEE80211 is not set 346# CONFIG_IEEE80211 is not set
318# CONFIG_RFKILL is not set 347# CONFIG_RFKILL is not set
319 348
@@ -431,17 +460,20 @@ CONFIG_MISC_DEVICES=y
431# CONFIG_PHANTOM is not set 460# CONFIG_PHANTOM is not set
432# CONFIG_EEPROM_93CX6 is not set 461# CONFIG_EEPROM_93CX6 is not set
433# CONFIG_SGI_IOC4 is not set 462# CONFIG_SGI_IOC4 is not set
463# CONFIG_ENCLOSURE_SERVICES is not set
464CONFIG_HAVE_IDE=y
434CONFIG_IDE=y 465CONFIG_IDE=y
435CONFIG_IDE_MAX_HWIFS=4 466CONFIG_IDE_MAX_HWIFS=4
436CONFIG_BLK_DEV_IDE=y 467CONFIG_BLK_DEV_IDE=y
437 468
438# 469#
439# Please see Documentation/ide.txt for help/info on IDE drives 470# Please see Documentation/ide/ide.txt for help/info on IDE drives
440# 471#
441# CONFIG_BLK_DEV_IDE_SATA is not set 472# CONFIG_BLK_DEV_IDE_SATA is not set
442CONFIG_BLK_DEV_IDEDISK=y 473CONFIG_BLK_DEV_IDEDISK=y
443# CONFIG_IDEDISK_MULTI_MODE is not set 474# CONFIG_IDEDISK_MULTI_MODE is not set
444# CONFIG_BLK_DEV_IDECD is not set 475# CONFIG_BLK_DEV_IDECD is not set
476# CONFIG_BLK_DEV_IDETAPE is not set
445# CONFIG_BLK_DEV_IDEFLOPPY is not set 477# CONFIG_BLK_DEV_IDEFLOPPY is not set
446# CONFIG_IDE_TASK_IOCTL is not set 478# CONFIG_IDE_TASK_IOCTL is not set
447CONFIG_IDE_PROC_FS=y 479CONFIG_IDE_PROC_FS=y
@@ -455,7 +487,6 @@ CONFIG_IDE_PROC_FS=y
455# 487#
456# PCI IDE chipsets support 488# PCI IDE chipsets support
457# 489#
458# CONFIG_IDEPCI_PCIBUS_ORDER is not set
459# CONFIG_BLK_DEV_GENERIC is not set 490# CONFIG_BLK_DEV_GENERIC is not set
460# CONFIG_BLK_DEV_AEC62XX is not set 491# CONFIG_BLK_DEV_AEC62XX is not set
461# CONFIG_BLK_DEV_ALI15X3 is not set 492# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -481,7 +512,6 @@ CONFIG_IDE_PROC_FS=y
481# CONFIG_BLK_DEV_TRM290 is not set 512# CONFIG_BLK_DEV_TRM290 is not set
482# CONFIG_BLK_DEV_VIA82CXXX is not set 513# CONFIG_BLK_DEV_VIA82CXXX is not set
483# CONFIG_BLK_DEV_TC86C001 is not set 514# CONFIG_BLK_DEV_TC86C001 is not set
484# CONFIG_IDE_ARM is not set
485# CONFIG_BLK_DEV_IDEDMA is not set 515# CONFIG_BLK_DEV_IDEDMA is not set
486CONFIG_IDE_ARCH_OBSOLETE_INIT=y 516CONFIG_IDE_ARCH_OBSOLETE_INIT=y
487# CONFIG_BLK_DEV_HD is not set 517# CONFIG_BLK_DEV_HD is not set
@@ -529,6 +559,7 @@ CONFIG_DAVICOM_PHY=y
529# CONFIG_SMSC_PHY is not set 559# CONFIG_SMSC_PHY is not set
530# CONFIG_BROADCOM_PHY is not set 560# CONFIG_BROADCOM_PHY is not set
531# CONFIG_ICPLUS_PHY is not set 561# CONFIG_ICPLUS_PHY is not set
562# CONFIG_REALTEK_PHY is not set
532# CONFIG_FIXED_PHY is not set 563# CONFIG_FIXED_PHY is not set
533CONFIG_MDIO_BITBANG=y 564CONFIG_MDIO_BITBANG=y
534CONFIG_NET_ETHERNET=y 565CONFIG_NET_ETHERNET=y
@@ -554,6 +585,8 @@ CONFIG_NETDEV_1000=y
554# CONFIG_DL2K is not set 585# CONFIG_DL2K is not set
555# CONFIG_E1000 is not set 586# CONFIG_E1000 is not set
556# CONFIG_E1000E is not set 587# CONFIG_E1000E is not set
588# CONFIG_E1000E_ENABLED is not set
589# CONFIG_IGB is not set
557# CONFIG_NS83820 is not set 590# CONFIG_NS83820 is not set
558# CONFIG_HAMACHI is not set 591# CONFIG_HAMACHI is not set
559# CONFIG_R8169 is not set 592# CONFIG_R8169 is not set
@@ -564,6 +597,7 @@ CONFIG_NETDEV_1000=y
564# CONFIG_VIA_VELOCITY is not set 597# CONFIG_VIA_VELOCITY is not set
565# CONFIG_TIGON3 is not set 598# CONFIG_TIGON3 is not set
566# CONFIG_BNX2 is not set 599# CONFIG_BNX2 is not set
600# CONFIG_GIANFAR is not set
567# CONFIG_QLA3XXX is not set 601# CONFIG_QLA3XXX is not set
568CONFIG_NETDEV_10000=y 602CONFIG_NETDEV_10000=y
569# CONFIG_CHELSIO_T1 is not set 603# CONFIG_CHELSIO_T1 is not set
@@ -576,6 +610,7 @@ CONFIG_NETDEV_10000=y
576# CONFIG_NIU is not set 610# CONFIG_NIU is not set
577# CONFIG_MLX4_CORE is not set 611# CONFIG_MLX4_CORE is not set
578# CONFIG_TEHUTI is not set 612# CONFIG_TEHUTI is not set
613# CONFIG_BNX2X is not set
579# CONFIG_TR is not set 614# CONFIG_TR is not set
580 615
581# 616#
@@ -700,6 +735,7 @@ CONFIG_DEVPORT=y
700# CONFIG_W1 is not set 735# CONFIG_W1 is not set
701# CONFIG_POWER_SUPPLY is not set 736# CONFIG_POWER_SUPPLY is not set
702# CONFIG_HWMON is not set 737# CONFIG_HWMON is not set
738# CONFIG_THERMAL is not set
703# CONFIG_WATCHDOG is not set 739# CONFIG_WATCHDOG is not set
704 740
705# 741#
@@ -749,10 +785,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
749# 785#
750# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 786# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
751# 787#
752
753#
754# USB Gadget Support
755#
756CONFIG_USB_GADGET=y 788CONFIG_USB_GADGET=y
757# CONFIG_USB_GADGET_DEBUG_FILES is not set 789# CONFIG_USB_GADGET_DEBUG_FILES is not set
758CONFIG_USB_GADGET_SELECTED=y 790CONFIG_USB_GADGET_SELECTED=y
@@ -776,10 +808,13 @@ CONFIG_USB_ETH=y
776# CONFIG_USB_FILE_STORAGE is not set 808# CONFIG_USB_FILE_STORAGE is not set
777# CONFIG_USB_G_SERIAL is not set 809# CONFIG_USB_G_SERIAL is not set
778# CONFIG_USB_MIDI_GADGET is not set 810# CONFIG_USB_MIDI_GADGET is not set
811# CONFIG_USB_G_PRINTER is not set
779# CONFIG_MMC is not set 812# CONFIG_MMC is not set
813# CONFIG_MEMSTICK is not set
780# CONFIG_NEW_LEDS is not set 814# CONFIG_NEW_LEDS is not set
781# CONFIG_INFINIBAND is not set 815# CONFIG_INFINIBAND is not set
782# CONFIG_RTC_CLASS is not set 816# CONFIG_RTC_CLASS is not set
817# CONFIG_DMADEVICES is not set
783 818
784# 819#
785# Userspace I/O 820# Userspace I/O
@@ -803,12 +838,10 @@ CONFIG_FS_MBCACHE=y
803CONFIG_FS_POSIX_ACL=y 838CONFIG_FS_POSIX_ACL=y
804# CONFIG_XFS_FS is not set 839# CONFIG_XFS_FS is not set
805# CONFIG_OCFS2_FS is not set 840# CONFIG_OCFS2_FS is not set
806# CONFIG_MINIX_FS is not set 841CONFIG_DNOTIFY=y
807# CONFIG_ROMFS_FS is not set
808CONFIG_INOTIFY=y 842CONFIG_INOTIFY=y
809CONFIG_INOTIFY_USER=y 843CONFIG_INOTIFY_USER=y
810# CONFIG_QUOTA is not set 844# CONFIG_QUOTA is not set
811CONFIG_DNOTIFY=y
812# CONFIG_AUTOFS_FS is not set 845# CONFIG_AUTOFS_FS is not set
813CONFIG_AUTOFS4_FS=y 846CONFIG_AUTOFS4_FS=y
814# CONFIG_FUSE_FS is not set 847# CONFIG_FUSE_FS is not set
@@ -836,6 +869,7 @@ CONFIG_SYSFS=y
836CONFIG_TMPFS=y 869CONFIG_TMPFS=y
837# CONFIG_TMPFS_POSIX_ACL is not set 870# CONFIG_TMPFS_POSIX_ACL is not set
838# CONFIG_HUGETLB_PAGE is not set 871# CONFIG_HUGETLB_PAGE is not set
872# CONFIG_CONFIGFS_FS is not set
839 873
840# 874#
841# Miscellaneous filesystems 875# Miscellaneous filesystems
@@ -844,8 +878,10 @@ CONFIG_TMPFS=y
844# CONFIG_JFFS2_FS is not set 878# CONFIG_JFFS2_FS is not set
845CONFIG_CRAMFS=y 879CONFIG_CRAMFS=y
846# CONFIG_VXFS_FS is not set 880# CONFIG_VXFS_FS is not set
881# CONFIG_MINIX_FS is not set
847# CONFIG_HPFS_FS is not set 882# CONFIG_HPFS_FS is not set
848# CONFIG_QNX4FS_FS is not set 883# CONFIG_QNX4FS_FS is not set
884# CONFIG_ROMFS_FS is not set
849# CONFIG_SYSV_FS is not set 885# CONFIG_SYSV_FS is not set
850# CONFIG_UFS_FS is not set 886# CONFIG_UFS_FS is not set
851CONFIG_NETWORK_FILESYSTEMS=y 887CONFIG_NETWORK_FILESYSTEMS=y
@@ -926,7 +962,6 @@ CONFIG_NLS_ISO8859_1=y
926# CONFIG_NLS_KOI8_R is not set 962# CONFIG_NLS_KOI8_R is not set
927# CONFIG_NLS_KOI8_U is not set 963# CONFIG_NLS_KOI8_U is not set
928CONFIG_NLS_UTF8=y 964CONFIG_NLS_UTF8=y
929# CONFIG_UCC_SLOW is not set
930 965
931# 966#
932# Library routines 967# Library routines
@@ -944,7 +979,6 @@ CONFIG_PLIST=y
944CONFIG_HAS_IOMEM=y 979CONFIG_HAS_IOMEM=y
945CONFIG_HAS_IOPORT=y 980CONFIG_HAS_IOPORT=y
946CONFIG_HAS_DMA=y 981CONFIG_HAS_DMA=y
947# CONFIG_INSTRUMENTATION is not set
948 982
949# 983#
950# Kernel hacking 984# Kernel hacking
@@ -963,6 +997,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
963# CONFIG_SCHEDSTATS is not set 997# CONFIG_SCHEDSTATS is not set
964# CONFIG_TIMER_STATS is not set 998# CONFIG_TIMER_STATS is not set
965# CONFIG_SLUB_DEBUG_ON is not set 999# CONFIG_SLUB_DEBUG_ON is not set
1000# CONFIG_SLUB_STATS is not set
966# CONFIG_DEBUG_RT_MUTEXES is not set 1001# CONFIG_DEBUG_RT_MUTEXES is not set
967# CONFIG_RT_MUTEX_TESTER is not set 1002# CONFIG_RT_MUTEX_TESTER is not set
968# CONFIG_DEBUG_SPINLOCK is not set 1003# CONFIG_DEBUG_SPINLOCK is not set
@@ -975,8 +1010,8 @@ CONFIG_DEBUG_INFO=y
975# CONFIG_DEBUG_VM is not set 1010# CONFIG_DEBUG_VM is not set
976# CONFIG_DEBUG_LIST is not set 1011# CONFIG_DEBUG_LIST is not set
977# CONFIG_DEBUG_SG is not set 1012# CONFIG_DEBUG_SG is not set
978CONFIG_FORCED_INLINING=y
979# CONFIG_BOOT_PRINTK_DELAY is not set 1013# CONFIG_BOOT_PRINTK_DELAY is not set
1014# CONFIG_BACKTRACE_SELF_TEST is not set
980# CONFIG_FAULT_INJECTION is not set 1015# CONFIG_FAULT_INJECTION is not set
981# CONFIG_SAMPLES is not set 1016# CONFIG_SAMPLES is not set
982# CONFIG_DEBUG_STACKOVERFLOW is not set 1017# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -995,6 +1030,7 @@ CONFIG_BDI_SWITCH=y
995CONFIG_CRYPTO=y 1030CONFIG_CRYPTO=y
996CONFIG_CRYPTO_ALGAPI=y 1031CONFIG_CRYPTO_ALGAPI=y
997CONFIG_CRYPTO_BLKCIPHER=y 1032CONFIG_CRYPTO_BLKCIPHER=y
1033# CONFIG_CRYPTO_SEQIV is not set
998CONFIG_CRYPTO_MANAGER=y 1034CONFIG_CRYPTO_MANAGER=y
999# CONFIG_CRYPTO_HMAC is not set 1035# CONFIG_CRYPTO_HMAC is not set
1000# CONFIG_CRYPTO_NULL is not set 1036# CONFIG_CRYPTO_NULL is not set
@@ -1008,6 +1044,9 @@ CONFIG_CRYPTO_MD5=y
1008CONFIG_CRYPTO_ECB=y 1044CONFIG_CRYPTO_ECB=y
1009CONFIG_CRYPTO_CBC=y 1045CONFIG_CRYPTO_CBC=y
1010CONFIG_CRYPTO_PCBC=y 1046CONFIG_CRYPTO_PCBC=y
1047# CONFIG_CRYPTO_CTR is not set
1048# CONFIG_CRYPTO_GCM is not set
1049# CONFIG_CRYPTO_CCM is not set
1011# CONFIG_CRYPTO_CRYPTD is not set 1050# CONFIG_CRYPTO_CRYPTD is not set
1012CONFIG_CRYPTO_DES=y 1051CONFIG_CRYPTO_DES=y
1013# CONFIG_CRYPTO_FCRYPT is not set 1052# CONFIG_CRYPTO_FCRYPT is not set
@@ -1027,6 +1066,8 @@ CONFIG_CRYPTO_DES=y
1027# CONFIG_CRYPTO_CRC32C is not set 1066# CONFIG_CRYPTO_CRC32C is not set
1028# CONFIG_CRYPTO_CAMELLIA is not set 1067# CONFIG_CRYPTO_CAMELLIA is not set
1029# CONFIG_CRYPTO_AUTHENC is not set 1068# CONFIG_CRYPTO_AUTHENC is not set
1069# CONFIG_CRYPTO_LZO is not set
1030CONFIG_CRYPTO_HW=y 1070CONFIG_CRYPTO_HW=y
1071# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1031# CONFIG_PPC_CLOCK is not set 1072# CONFIG_PPC_CLOCK is not set
1032CONFIG_PPC_LIB_RHEAP=y 1073CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index 46b2579d38b..f53d55bbdd7 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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:49:11 2007 4# Mon Mar 24 08:48:37 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -31,6 +31,7 @@ CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y 31CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y 32CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 33CONFIG_GENERIC_HARDIRQS=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 36CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 37CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -68,15 +69,23 @@ CONFIG_SYSVIPC_SYSCTL=y
68CONFIG_POSIX_MQUEUE=y 69CONFIG_POSIX_MQUEUE=y
69# CONFIG_BSD_PROCESS_ACCT is not set 70# CONFIG_BSD_PROCESS_ACCT is not set
70# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
73# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
74# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
75CONFIG_LOG_BUF_SHIFT=14 74CONFIG_LOG_BUF_SHIFT=14
76# CONFIG_CGROUPS is not set 75# CONFIG_CGROUPS is not set
76CONFIG_GROUP_SCHED=y
77# CONFIG_FAIR_GROUP_SCHED is not set 77# CONFIG_FAIR_GROUP_SCHED is not set
78# CONFIG_SYSFS_DEPRECATED is not set 78# CONFIG_RT_GROUP_SCHED is not set
79CONFIG_USER_SCHED=y
80# CONFIG_CGROUP_SCHED is not set
81CONFIG_SYSFS_DEPRECATED=y
82CONFIG_SYSFS_DEPRECATED_V2=y
79# CONFIG_RELAY is not set 83# CONFIG_RELAY is not set
84CONFIG_NAMESPACES=y
85# CONFIG_UTS_NS is not set
86# CONFIG_IPC_NS is not set
87# CONFIG_USER_NS is not set
88# CONFIG_PID_NS is not set
80CONFIG_BLK_DEV_INITRD=y 89CONFIG_BLK_DEV_INITRD=y
81CONFIG_INITRAMFS_SOURCE="" 90CONFIG_INITRAMFS_SOURCE=""
82# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 91# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +98,13 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 98CONFIG_PRINTK=y
90CONFIG_BUG=y 99CONFIG_BUG=y
91CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 102CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 103CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 104CONFIG_ANON_INODES=y
95CONFIG_EPOLL=y 105CONFIG_EPOLL=y
96CONFIG_SIGNALFD=y 106CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 109CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +112,13 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
102CONFIG_SLUB=y 113CONFIG_SLUB=y
103# CONFIG_SLOB is not set 114# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set
116# CONFIG_MARKERS is not set
117CONFIG_HAVE_OPROFILE=y
118CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y
120CONFIG_PROC_PAGE_MONITOR=y
121CONFIG_SLABINFO=y
104CONFIG_RT_MUTEXES=y 122CONFIG_RT_MUTEXES=y
105# CONFIG_TINY_SHMEM is not set 123# CONFIG_TINY_SHMEM is not set
106CONFIG_BASE_SMALL=0 124CONFIG_BASE_SMALL=0
@@ -123,6 +141,7 @@ CONFIG_DEFAULT_AS=y
123# CONFIG_DEFAULT_CFQ is not set 141# CONFIG_DEFAULT_CFQ is not set
124# CONFIG_DEFAULT_NOOP is not set 142# CONFIG_DEFAULT_NOOP is not set
125CONFIG_DEFAULT_IOSCHED="anticipatory" 143CONFIG_DEFAULT_IOSCHED="anticipatory"
144CONFIG_CLASSIC_RCU=y
126 145
127# 146#
128# Platform support 147# Platform support
@@ -133,20 +152,22 @@ CONFIG_PPC_MULTIPLATFORM=y
133# CONFIG_PPC_86xx is not set 152# CONFIG_PPC_86xx is not set
134CONFIG_CLASSIC32=y 153CONFIG_CLASSIC32=y
135# CONFIG_PPC_CHRP is not set 154# CONFIG_PPC_CHRP is not set
155# CONFIG_PPC_MPC512x is not set
156# CONFIG_PPC_MPC5121 is not set
157# CONFIG_MPC5121_ADS is not set
136# CONFIG_PPC_MPC52xx is not set 158# CONFIG_PPC_MPC52xx is not set
137# CONFIG_PPC_MPC5200 is not set
138# CONFIG_PPC_EFIKA is not set
139# CONFIG_PPC_LITE5200 is not set
140# CONFIG_PPC_PMAC is not set 159# CONFIG_PPC_PMAC is not set
141# CONFIG_PPC_CELL is not set 160# CONFIG_PPC_CELL is not set
142# CONFIG_PPC_CELL_NATIVE is not set 161# CONFIG_PPC_CELL_NATIVE is not set
143# CONFIG_PQ2ADS is not set 162# CONFIG_PQ2ADS is not set
144CONFIG_EMBEDDED6xx=y 163CONFIG_EMBEDDED6xx=y
145# CONFIG_LINKSTATION is not set 164# CONFIG_LINKSTATION is not set
165# CONFIG_STORCENTER is not set
146# CONFIG_MPC7448HPC2 is not set 166# CONFIG_MPC7448HPC2 is not set
147# CONFIG_PPC_HOLLY is not set 167# CONFIG_PPC_HOLLY is not set
148CONFIG_PPC_PRPMC2800=y 168CONFIG_PPC_PRPMC2800=y
149CONFIG_MV64X60=y 169CONFIG_MV64X60=y
170# CONFIG_IPIC is not set
150# CONFIG_MPIC is not set 171# CONFIG_MPIC is not set
151# CONFIG_MPIC_WEIRD is not set 172# CONFIG_MPIC_WEIRD is not set
152# CONFIG_PPC_I8259 is not set 173# CONFIG_PPC_I8259 is not set
@@ -158,7 +179,6 @@ CONFIG_MV64X60=y
158# CONFIG_GENERIC_IOMAP is not set 179# CONFIG_GENERIC_IOMAP is not set
159# CONFIG_CPU_FREQ is not set 180# CONFIG_CPU_FREQ is not set
160# CONFIG_TAU is not set 181# CONFIG_TAU is not set
161# CONFIG_CPM2 is not set
162# CONFIG_FSL_ULI1575 is not set 182# CONFIG_FSL_ULI1575 is not set
163 183
164# 184#
@@ -174,12 +194,16 @@ CONFIG_HZ_250=y
174# CONFIG_HZ_300 is not set 194# CONFIG_HZ_300 is not set
175# CONFIG_HZ_1000 is not set 195# CONFIG_HZ_1000 is not set
176CONFIG_HZ=250 196CONFIG_HZ=250
197# CONFIG_SCHED_HRTICK is not set
177CONFIG_PREEMPT_NONE=y 198CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set 199# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set 200# CONFIG_PREEMPT is not set
180CONFIG_BINFMT_ELF=y 201CONFIG_BINFMT_ELF=y
181CONFIG_BINFMT_MISC=y 202CONFIG_BINFMT_MISC=y
203# CONFIG_IOMMU_HELPER is not set
182CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 204CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
205CONFIG_ARCH_HAS_WALK_MEMORY=y
206CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
183# CONFIG_KEXEC is not set 207# CONFIG_KEXEC is not set
184CONFIG_ARCH_FLATMEM_ENABLE=y 208CONFIG_ARCH_FLATMEM_ENABLE=y
185CONFIG_ARCH_POPULATES_NODE_MAP=y 209CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -199,11 +223,7 @@ CONFIG_VIRT_TO_BUS=y
199CONFIG_PROC_DEVICETREE=y 223CONFIG_PROC_DEVICETREE=y
200# CONFIG_CMDLINE_BOOL is not set 224# CONFIG_CMDLINE_BOOL is not set
201# CONFIG_PM is not set 225# CONFIG_PM is not set
202CONFIG_SUSPEND_UP_POSSIBLE=y
203CONFIG_HIBERNATION_UP_POSSIBLE=y
204# CONFIG_SECCOMP is not set 226# CONFIG_SECCOMP is not set
205CONFIG_WANT_DEVICE_TREE=y
206CONFIG_DEVICE_TREE="prpmc2800.dts"
207CONFIG_ISA_DMA_API=y 227CONFIG_ISA_DMA_API=y
208 228
209# 229#
@@ -253,6 +273,7 @@ CONFIG_XFRM=y
253CONFIG_XFRM_USER=y 273CONFIG_XFRM_USER=y
254# CONFIG_XFRM_SUB_POLICY is not set 274# CONFIG_XFRM_SUB_POLICY is not set
255# CONFIG_XFRM_MIGRATE is not set 275# CONFIG_XFRM_MIGRATE is not set
276# CONFIG_XFRM_STATISTICS is not set
256# CONFIG_NET_KEY is not set 277# CONFIG_NET_KEY is not set
257CONFIG_INET=y 278CONFIG_INET=y
258CONFIG_IP_MULTICAST=y 279CONFIG_IP_MULTICAST=y
@@ -308,6 +329,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
308# 329#
309# CONFIG_NET_PKTGEN is not set 330# CONFIG_NET_PKTGEN is not set
310# CONFIG_HAMRADIO is not set 331# CONFIG_HAMRADIO is not set
332# CONFIG_CAN is not set
311# CONFIG_IRDA is not set 333# CONFIG_IRDA is not set
312# CONFIG_BT is not set 334# CONFIG_BT is not set
313# CONFIG_AF_RXRPC is not set 335# CONFIG_AF_RXRPC is not set
@@ -341,6 +363,7 @@ CONFIG_MTD_CONCAT=y
341CONFIG_MTD_PARTITIONS=y 363CONFIG_MTD_PARTITIONS=y
342# CONFIG_MTD_REDBOOT_PARTS is not set 364# CONFIG_MTD_REDBOOT_PARTS is not set
343# CONFIG_MTD_CMDLINE_PARTS is not set 365# CONFIG_MTD_CMDLINE_PARTS is not set
366# CONFIG_MTD_OF_PARTS is not set
344 367
345# 368#
346# User Modules And Translation Layers 369# User Modules And Translation Layers
@@ -428,7 +451,7 @@ CONFIG_BLK_DEV_LOOP=y
428CONFIG_BLK_DEV_RAM=y 451CONFIG_BLK_DEV_RAM=y
429CONFIG_BLK_DEV_RAM_COUNT=16 452CONFIG_BLK_DEV_RAM_COUNT=16
430CONFIG_BLK_DEV_RAM_SIZE=131072 453CONFIG_BLK_DEV_RAM_SIZE=131072
431CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 454# CONFIG_BLK_DEV_XIP is not set
432# CONFIG_CDROM_PKTCDVD is not set 455# CONFIG_CDROM_PKTCDVD is not set
433# CONFIG_ATA_OVER_ETH is not set 456# CONFIG_ATA_OVER_ETH is not set
434CONFIG_MISC_DEVICES=y 457CONFIG_MISC_DEVICES=y
@@ -436,11 +459,13 @@ CONFIG_MISC_DEVICES=y
436# CONFIG_EEPROM_93CX6 is not set 459# CONFIG_EEPROM_93CX6 is not set
437# CONFIG_SGI_IOC4 is not set 460# CONFIG_SGI_IOC4 is not set
438# CONFIG_TIFM_CORE is not set 461# CONFIG_TIFM_CORE is not set
462# CONFIG_ENCLOSURE_SERVICES is not set
463CONFIG_HAVE_IDE=y
439CONFIG_IDE=y 464CONFIG_IDE=y
440CONFIG_BLK_DEV_IDE=y 465CONFIG_BLK_DEV_IDE=y
441 466
442# 467#
443# Please see Documentation/ide.txt for help/info on IDE drives 468# Please see Documentation/ide/ide.txt for help/info on IDE drives
444# 469#
445# CONFIG_BLK_DEV_IDE_SATA is not set 470# CONFIG_BLK_DEV_IDE_SATA is not set
446CONFIG_BLK_DEV_IDEDISK=y 471CONFIG_BLK_DEV_IDEDISK=y
@@ -457,12 +482,12 @@ CONFIG_IDE_PROC_FS=y
457# 482#
458CONFIG_IDE_GENERIC=y 483CONFIG_IDE_GENERIC=y
459# CONFIG_BLK_DEV_PLATFORM is not set 484# CONFIG_BLK_DEV_PLATFORM is not set
485CONFIG_BLK_DEV_IDEDMA_SFF=y
460 486
461# 487#
462# PCI IDE chipsets support 488# PCI IDE chipsets support
463# 489#
464CONFIG_BLK_DEV_IDEPCI=y 490CONFIG_BLK_DEV_IDEPCI=y
465# CONFIG_IDEPCI_SHARE_IRQ is not set
466CONFIG_IDEPCI_PCIBUS_ORDER=y 491CONFIG_IDEPCI_PCIBUS_ORDER=y
467# CONFIG_BLK_DEV_OFFBOARD is not set 492# CONFIG_BLK_DEV_OFFBOARD is not set
468CONFIG_BLK_DEV_GENERIC=y 493CONFIG_BLK_DEV_GENERIC=y
@@ -493,7 +518,6 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y
493# CONFIG_BLK_DEV_TRM290 is not set 518# CONFIG_BLK_DEV_TRM290 is not set
494# CONFIG_BLK_DEV_VIA82CXXX is not set 519# CONFIG_BLK_DEV_VIA82CXXX is not set
495# CONFIG_BLK_DEV_TC86C001 is not set 520# CONFIG_BLK_DEV_TC86C001 is not set
496# CONFIG_IDE_ARM is not set
497CONFIG_BLK_DEV_IDEDMA=y 521CONFIG_BLK_DEV_IDEDMA=y
498CONFIG_IDE_ARCH_OBSOLETE_INIT=y 522CONFIG_IDE_ARCH_OBSOLETE_INIT=y
499# CONFIG_BLK_DEV_HD is not set 523# CONFIG_BLK_DEV_HD is not set
@@ -559,6 +583,7 @@ CONFIG_SCSI_LOWLEVEL=y
559# CONFIG_SCSI_IPS is not set 583# CONFIG_SCSI_IPS is not set
560# CONFIG_SCSI_INITIO is not set 584# CONFIG_SCSI_INITIO is not set
561# CONFIG_SCSI_INIA100 is not set 585# CONFIG_SCSI_INIA100 is not set
586# CONFIG_SCSI_MVSAS is not set
562# CONFIG_SCSI_STEX is not set 587# CONFIG_SCSI_STEX is not set
563# CONFIG_SCSI_SYM53C8XX_2 is not set 588# CONFIG_SCSI_SYM53C8XX_2 is not set
564# CONFIG_SCSI_IPR is not set 589# CONFIG_SCSI_IPR is not set
@@ -612,6 +637,7 @@ CONFIG_SATA_MV=y
612# CONFIG_PATA_MPIIX is not set 637# CONFIG_PATA_MPIIX is not set
613# CONFIG_PATA_OLDPIIX is not set 638# CONFIG_PATA_OLDPIIX is not set
614# CONFIG_PATA_NETCELL is not set 639# CONFIG_PATA_NETCELL is not set
640# CONFIG_PATA_NINJA32 is not set
615# CONFIG_PATA_NS87410 is not set 641# CONFIG_PATA_NS87410 is not set
616# CONFIG_PATA_NS87415 is not set 642# CONFIG_PATA_NS87415 is not set
617# CONFIG_PATA_OPTI is not set 643# CONFIG_PATA_OPTI is not set
@@ -626,6 +652,7 @@ CONFIG_SATA_MV=y
626# CONFIG_PATA_SIS is not set 652# CONFIG_PATA_SIS is not set
627# CONFIG_PATA_VIA is not set 653# CONFIG_PATA_VIA is not set
628# CONFIG_PATA_WINBOND is not set 654# CONFIG_PATA_WINBOND is not set
655# CONFIG_PATA_PLATFORM is not set
629# CONFIG_MD is not set 656# CONFIG_MD is not set
630# CONFIG_FUSION is not set 657# CONFIG_FUSION is not set
631 658
@@ -646,7 +673,6 @@ CONFIG_NETDEVICES=y
646# CONFIG_EQUALIZER is not set 673# CONFIG_EQUALIZER is not set
647# CONFIG_TUN is not set 674# CONFIG_TUN is not set
648# CONFIG_VETH is not set 675# CONFIG_VETH is not set
649# CONFIG_IP1000 is not set
650# CONFIG_ARCNET is not set 676# CONFIG_ARCNET is not set
651CONFIG_PHYLIB=y 677CONFIG_PHYLIB=y
652 678
@@ -662,6 +688,7 @@ CONFIG_PHYLIB=y
662# CONFIG_SMSC_PHY is not set 688# CONFIG_SMSC_PHY is not set
663# CONFIG_BROADCOM_PHY is not set 689# CONFIG_BROADCOM_PHY is not set
664# CONFIG_ICPLUS_PHY is not set 690# CONFIG_ICPLUS_PHY is not set
691# CONFIG_REALTEK_PHY is not set
665# CONFIG_FIXED_PHY is not set 692# CONFIG_FIXED_PHY is not set
666# CONFIG_MDIO_BITBANG is not set 693# CONFIG_MDIO_BITBANG is not set
667CONFIG_NET_ETHERNET=y 694CONFIG_NET_ETHERNET=y
@@ -693,6 +720,7 @@ CONFIG_8139TOO=y
693# CONFIG_8139TOO_TUNE_TWISTER is not set 720# CONFIG_8139TOO_TUNE_TWISTER is not set
694# CONFIG_8139TOO_8129 is not set 721# CONFIG_8139TOO_8129 is not set
695# CONFIG_8139_OLD_RX_RESET is not set 722# CONFIG_8139_OLD_RX_RESET is not set
723# CONFIG_R6040 is not set
696# CONFIG_SIS900 is not set 724# CONFIG_SIS900 is not set
697# CONFIG_EPIC100 is not set 725# CONFIG_EPIC100 is not set
698# CONFIG_SUNDANCE is not set 726# CONFIG_SUNDANCE is not set
@@ -706,6 +734,9 @@ CONFIG_E1000=y
706# CONFIG_E1000_NAPI is not set 734# CONFIG_E1000_NAPI is not set
707# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 735# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
708# CONFIG_E1000E is not set 736# CONFIG_E1000E is not set
737# CONFIG_E1000E_ENABLED is not set
738# CONFIG_IP1000 is not set
739# CONFIG_IGB is not set
709# CONFIG_NS83820 is not set 740# CONFIG_NS83820 is not set
710# CONFIG_HAMACHI is not set 741# CONFIG_HAMACHI is not set
711# CONFIG_YELLOWFIN is not set 742# CONFIG_YELLOWFIN is not set
@@ -731,6 +762,7 @@ CONFIG_NETDEV_10000=y
731# CONFIG_NIU is not set 762# CONFIG_NIU is not set
732# CONFIG_MLX4_CORE is not set 763# CONFIG_MLX4_CORE is not set
733# CONFIG_TEHUTI is not set 764# CONFIG_TEHUTI is not set
765# CONFIG_BNX2X is not set
734# CONFIG_TR is not set 766# CONFIG_TR is not set
735 767
736# 768#
@@ -753,7 +785,6 @@ CONFIG_NETDEV_10000=y
753# CONFIG_PPP is not set 785# CONFIG_PPP is not set
754# CONFIG_SLIP is not set 786# CONFIG_SLIP is not set
755# CONFIG_NET_FC is not set 787# CONFIG_NET_FC is not set
756# CONFIG_SHAPER is not set
757# CONFIG_NETCONSOLE is not set 788# CONFIG_NETCONSOLE is not set
758# CONFIG_NETPOLL is not set 789# CONFIG_NETPOLL is not set
759# CONFIG_NET_POLL_CONTROLLER is not set 790# CONFIG_NET_POLL_CONTROLLER is not set
@@ -802,6 +833,7 @@ CONFIG_VT_CONSOLE=y
802CONFIG_HW_CONSOLE=y 833CONFIG_HW_CONSOLE=y
803# CONFIG_VT_HW_CONSOLE_BINDING is not set 834# CONFIG_VT_HW_CONSOLE_BINDING is not set
804# CONFIG_SERIAL_NONSTANDARD is not set 835# CONFIG_SERIAL_NONSTANDARD is not set
836# CONFIG_NOZOMI is not set
805 837
806# 838#
807# Serial drivers 839# Serial drivers
@@ -872,14 +904,12 @@ CONFIG_I2C_MV64XXX=y
872# 904#
873# Miscellaneous I2C Chip support 905# Miscellaneous I2C Chip support
874# 906#
875# CONFIG_SENSORS_DS1337 is not set
876# CONFIG_SENSORS_DS1374 is not set
877# CONFIG_DS1682 is not set 907# CONFIG_DS1682 is not set
878# CONFIG_SENSORS_EEPROM is not set 908# CONFIG_SENSORS_EEPROM is not set
879# CONFIG_SENSORS_PCF8574 is not set 909# CONFIG_SENSORS_PCF8574 is not set
880# CONFIG_SENSORS_PCA9539 is not set 910# CONFIG_PCF8575 is not set
881# CONFIG_SENSORS_PCF8591 is not set 911# CONFIG_SENSORS_PCF8591 is not set
882# CONFIG_SENSORS_M41T00 is not set 912# CONFIG_TPS65010 is not set
883# CONFIG_SENSORS_MAX6875 is not set 913# CONFIG_SENSORS_MAX6875 is not set
884# CONFIG_SENSORS_TSL2550 is not set 914# CONFIG_SENSORS_TSL2550 is not set
885# CONFIG_I2C_DEBUG_CORE is not set 915# CONFIG_I2C_DEBUG_CORE is not set
@@ -904,6 +934,7 @@ CONFIG_HWMON=y
904# CONFIG_SENSORS_ADM1031 is not set 934# CONFIG_SENSORS_ADM1031 is not set
905# CONFIG_SENSORS_ADM9240 is not set 935# CONFIG_SENSORS_ADM9240 is not set
906# CONFIG_SENSORS_ADT7470 is not set 936# CONFIG_SENSORS_ADT7470 is not set
937# CONFIG_SENSORS_ADT7473 is not set
907# CONFIG_SENSORS_ATXP1 is not set 938# CONFIG_SENSORS_ATXP1 is not set
908# CONFIG_SENSORS_DS1621 is not set 939# CONFIG_SENSORS_DS1621 is not set
909# CONFIG_SENSORS_I5K_AMB is not set 940# CONFIG_SENSORS_I5K_AMB is not set
@@ -933,6 +964,7 @@ CONFIG_HWMON=y
933# CONFIG_SENSORS_SMSC47M1 is not set 964# CONFIG_SENSORS_SMSC47M1 is not set
934# CONFIG_SENSORS_SMSC47M192 is not set 965# CONFIG_SENSORS_SMSC47M192 is not set
935# CONFIG_SENSORS_SMSC47B397 is not set 966# CONFIG_SENSORS_SMSC47B397 is not set
967# CONFIG_SENSORS_ADS7828 is not set
936# CONFIG_SENSORS_THMC50 is not set 968# CONFIG_SENSORS_THMC50 is not set
937# CONFIG_SENSORS_VIA686A is not set 969# CONFIG_SENSORS_VIA686A is not set
938# CONFIG_SENSORS_VT1211 is not set 970# CONFIG_SENSORS_VT1211 is not set
@@ -942,9 +974,11 @@ CONFIG_HWMON=y
942# CONFIG_SENSORS_W83792D is not set 974# CONFIG_SENSORS_W83792D is not set
943# CONFIG_SENSORS_W83793 is not set 975# CONFIG_SENSORS_W83793 is not set
944# CONFIG_SENSORS_W83L785TS is not set 976# CONFIG_SENSORS_W83L785TS is not set
977# CONFIG_SENSORS_W83L786NG is not set
945# CONFIG_SENSORS_W83627HF is not set 978# CONFIG_SENSORS_W83627HF is not set
946# CONFIG_SENSORS_W83627EHF is not set 979# CONFIG_SENSORS_W83627EHF is not set
947# CONFIG_HWMON_DEBUG_CHIP is not set 980# CONFIG_HWMON_DEBUG_CHIP is not set
981# CONFIG_THERMAL is not set
948# CONFIG_WATCHDOG is not set 982# CONFIG_WATCHDOG is not set
949 983
950# 984#
@@ -1009,6 +1043,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1009CONFIG_USB_ARCH_HAS_EHCI=y 1043CONFIG_USB_ARCH_HAS_EHCI=y
1010CONFIG_USB=y 1044CONFIG_USB=y
1011# CONFIG_USB_DEBUG is not set 1045# CONFIG_USB_DEBUG is not set
1046# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1012 1047
1013# 1048#
1014# Miscellaneous USB options 1049# Miscellaneous USB options
@@ -1022,9 +1057,9 @@ CONFIG_USB_DEVICEFS=y
1022# USB Host Controller Drivers 1057# USB Host Controller Drivers
1023# 1058#
1024CONFIG_USB_EHCI_HCD=y 1059CONFIG_USB_EHCI_HCD=y
1025# CONFIG_USB_EHCI_SPLIT_ISO is not set
1026# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1060# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1027# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1061# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1062CONFIG_USB_EHCI_HCD_PPC_OF=y
1028# CONFIG_USB_ISP116X_HCD is not set 1063# CONFIG_USB_ISP116X_HCD is not set
1029CONFIG_USB_OHCI_HCD=y 1064CONFIG_USB_OHCI_HCD=y
1030# CONFIG_USB_OHCI_HCD_PPC_OF is not set 1065# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -1061,10 +1096,6 @@ CONFIG_USB_MON=y
1061# 1096#
1062# USB port drivers 1097# USB port drivers
1063# 1098#
1064
1065#
1066# USB Serial Converter support
1067#
1068# CONFIG_USB_SERIAL is not set 1099# CONFIG_USB_SERIAL is not set
1069 1100
1070# 1101#
@@ -1090,21 +1121,18 @@ CONFIG_USB_MON=y
1090# CONFIG_USB_TRANCEVIBRATOR is not set 1121# CONFIG_USB_TRANCEVIBRATOR is not set
1091# CONFIG_USB_IOWARRIOR is not set 1122# CONFIG_USB_IOWARRIOR is not set
1092# CONFIG_USB_TEST is not set 1123# CONFIG_USB_TEST is not set
1093
1094#
1095# USB DSL modem support
1096#
1097
1098#
1099# USB Gadget Support
1100#
1101# CONFIG_USB_GADGET is not set 1124# CONFIG_USB_GADGET is not set
1102# CONFIG_MMC is not set 1125# CONFIG_MMC is not set
1126# CONFIG_MEMSTICK is not set
1103# CONFIG_NEW_LEDS is not set 1127# CONFIG_NEW_LEDS is not set
1104# CONFIG_INFINIBAND is not set 1128# CONFIG_INFINIBAND is not set
1105# CONFIG_EDAC is not set 1129# CONFIG_EDAC is not set
1106CONFIG_RTC_LIB=y 1130CONFIG_RTC_LIB=y
1107CONFIG_RTC_CLASS=y 1131CONFIG_RTC_CLASS=y
1132
1133#
1134# Conflicting RTC option has been selected, check GEN_RTC and RTC
1135#
1108CONFIG_RTC_HCTOSYS=y 1136CONFIG_RTC_HCTOSYS=y
1109CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 1137CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1110# CONFIG_RTC_DEBUG is not set 1138# CONFIG_RTC_DEBUG is not set
@@ -1131,6 +1159,7 @@ CONFIG_RTC_DRV_MAX6900=y
1131# CONFIG_RTC_DRV_PCF8563 is not set 1159# CONFIG_RTC_DRV_PCF8563 is not set
1132# CONFIG_RTC_DRV_PCF8583 is not set 1160# CONFIG_RTC_DRV_PCF8583 is not set
1133# CONFIG_RTC_DRV_M41T80 is not set 1161# CONFIG_RTC_DRV_M41T80 is not set
1162# CONFIG_RTC_DRV_S35390A is not set
1134 1163
1135# 1164#
1136# SPI RTC drivers 1165# SPI RTC drivers
@@ -1140,9 +1169,10 @@ CONFIG_RTC_DRV_MAX6900=y
1140# Platform RTC drivers 1169# Platform RTC drivers
1141# 1170#
1142# CONFIG_RTC_DRV_CMOS is not set 1171# CONFIG_RTC_DRV_CMOS is not set
1172# CONFIG_RTC_DRV_DS1511 is not set
1143# CONFIG_RTC_DRV_DS1553 is not set 1173# CONFIG_RTC_DRV_DS1553 is not set
1144# CONFIG_RTC_DRV_STK17TA8 is not set
1145# CONFIG_RTC_DRV_DS1742 is not set 1174# CONFIG_RTC_DRV_DS1742 is not set
1175# CONFIG_RTC_DRV_STK17TA8 is not set
1146# CONFIG_RTC_DRV_M48T86 is not set 1176# CONFIG_RTC_DRV_M48T86 is not set
1147# CONFIG_RTC_DRV_M48T59 is not set 1177# CONFIG_RTC_DRV_M48T59 is not set
1148# CONFIG_RTC_DRV_V3020 is not set 1178# CONFIG_RTC_DRV_V3020 is not set
@@ -1150,6 +1180,7 @@ CONFIG_RTC_DRV_MAX6900=y
1150# 1180#
1151# on-CPU RTC drivers 1181# on-CPU RTC drivers
1152# 1182#
1183# CONFIG_DMADEVICES is not set
1153 1184
1154# 1185#
1155# Userspace I/O 1186# Userspace I/O
@@ -1175,12 +1206,10 @@ CONFIG_FS_MBCACHE=y
1175# CONFIG_XFS_FS is not set 1206# CONFIG_XFS_FS is not set
1176# CONFIG_GFS2_FS is not set 1207# CONFIG_GFS2_FS is not set
1177# CONFIG_OCFS2_FS is not set 1208# CONFIG_OCFS2_FS is not set
1178# CONFIG_MINIX_FS is not set 1209CONFIG_DNOTIFY=y
1179# CONFIG_ROMFS_FS is not set
1180CONFIG_INOTIFY=y 1210CONFIG_INOTIFY=y
1181CONFIG_INOTIFY_USER=y 1211CONFIG_INOTIFY_USER=y
1182# CONFIG_QUOTA is not set 1212# CONFIG_QUOTA is not set
1183CONFIG_DNOTIFY=y
1184# CONFIG_AUTOFS_FS is not set 1213# CONFIG_AUTOFS_FS is not set
1185# CONFIG_AUTOFS4_FS is not set 1214# CONFIG_AUTOFS4_FS is not set
1186# CONFIG_FUSE_FS is not set 1215# CONFIG_FUSE_FS is not set
@@ -1223,8 +1252,10 @@ CONFIG_TMPFS=y
1223# CONFIG_JFFS2_FS is not set 1252# CONFIG_JFFS2_FS is not set
1224# CONFIG_CRAMFS is not set 1253# CONFIG_CRAMFS is not set
1225# CONFIG_VXFS_FS is not set 1254# CONFIG_VXFS_FS is not set
1255# CONFIG_MINIX_FS is not set
1226# CONFIG_HPFS_FS is not set 1256# CONFIG_HPFS_FS is not set
1227# CONFIG_QNX4FS_FS is not set 1257# CONFIG_QNX4FS_FS is not set
1258# CONFIG_ROMFS_FS is not set
1228# CONFIG_SYSV_FS is not set 1259# CONFIG_SYSV_FS is not set
1229# CONFIG_UFS_FS is not set 1260# CONFIG_UFS_FS is not set
1230CONFIG_NETWORK_FILESYSTEMS=y 1261CONFIG_NETWORK_FILESYSTEMS=y
@@ -1269,7 +1300,6 @@ CONFIG_MSDOS_PARTITION=y
1269# CONFIG_SYSV68_PARTITION is not set 1300# CONFIG_SYSV68_PARTITION is not set
1270# CONFIG_NLS is not set 1301# CONFIG_NLS is not set
1271# CONFIG_DLM is not set 1302# CONFIG_DLM is not set
1272# CONFIG_UCC_SLOW is not set
1273 1303
1274# 1304#
1275# Library routines 1305# Library routines
@@ -1285,7 +1315,6 @@ CONFIG_PLIST=y
1285CONFIG_HAS_IOMEM=y 1315CONFIG_HAS_IOMEM=y
1286CONFIG_HAS_IOPORT=y 1316CONFIG_HAS_IOPORT=y
1287CONFIG_HAS_DMA=y 1317CONFIG_HAS_DMA=y
1288# CONFIG_INSTRUMENTATION is not set
1289 1318
1290# 1319#
1291# Kernel hacking 1320# Kernel hacking
@@ -1299,6 +1328,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1299# CONFIG_HEADERS_CHECK is not set 1328# CONFIG_HEADERS_CHECK is not set
1300# CONFIG_DEBUG_KERNEL is not set 1329# CONFIG_DEBUG_KERNEL is not set
1301# CONFIG_SLUB_DEBUG_ON is not set 1330# CONFIG_SLUB_DEBUG_ON is not set
1331# CONFIG_SLUB_STATS is not set
1302CONFIG_DEBUG_BUGVERBOSE=y 1332CONFIG_DEBUG_BUGVERBOSE=y
1303# CONFIG_SAMPLES is not set 1333# CONFIG_SAMPLES is not set
1304# CONFIG_BOOTX_TEXT is not set 1334# CONFIG_BOOTX_TEXT is not set
@@ -1310,5 +1340,49 @@ CONFIG_DEBUG_BUGVERBOSE=y
1310# CONFIG_KEYS is not set 1340# CONFIG_KEYS is not set
1311# CONFIG_SECURITY is not set 1341# CONFIG_SECURITY is not set
1312# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1342# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1313# CONFIG_CRYPTO is not set 1343CONFIG_CRYPTO=y
1344# CONFIG_CRYPTO_SEQIV is not set
1345# CONFIG_CRYPTO_MANAGER is not set
1346# CONFIG_CRYPTO_HMAC is not set
1347# CONFIG_CRYPTO_XCBC is not set
1348# CONFIG_CRYPTO_NULL is not set
1349# CONFIG_CRYPTO_MD4 is not set
1350# CONFIG_CRYPTO_MD5 is not set
1351# CONFIG_CRYPTO_SHA1 is not set
1352# CONFIG_CRYPTO_SHA256 is not set
1353# CONFIG_CRYPTO_SHA512 is not set
1354# CONFIG_CRYPTO_WP512 is not set
1355# CONFIG_CRYPTO_TGR192 is not set
1356# CONFIG_CRYPTO_GF128MUL is not set
1357# CONFIG_CRYPTO_ECB is not set
1358# CONFIG_CRYPTO_CBC is not set
1359# CONFIG_CRYPTO_PCBC is not set
1360# CONFIG_CRYPTO_LRW is not set
1361# CONFIG_CRYPTO_XTS is not set
1362# CONFIG_CRYPTO_CTR is not set
1363# CONFIG_CRYPTO_GCM is not set
1364# CONFIG_CRYPTO_CCM is not set
1365# CONFIG_CRYPTO_CRYPTD is not set
1366# CONFIG_CRYPTO_DES is not set
1367# CONFIG_CRYPTO_FCRYPT is not set
1368# CONFIG_CRYPTO_BLOWFISH is not set
1369# CONFIG_CRYPTO_TWOFISH is not set
1370# CONFIG_CRYPTO_SERPENT is not set
1371# CONFIG_CRYPTO_AES is not set
1372# CONFIG_CRYPTO_CAST5 is not set
1373# CONFIG_CRYPTO_CAST6 is not set
1374# CONFIG_CRYPTO_TEA is not set
1375# CONFIG_CRYPTO_ARC4 is not set
1376# CONFIG_CRYPTO_KHAZAD is not set
1377# CONFIG_CRYPTO_ANUBIS is not set
1378# CONFIG_CRYPTO_SEED is not set
1379# CONFIG_CRYPTO_SALSA20 is not set
1380# CONFIG_CRYPTO_DEFLATE is not set
1381# CONFIG_CRYPTO_MICHAEL_MIC is not set
1382# CONFIG_CRYPTO_CRC32C is not set
1383# CONFIG_CRYPTO_CAMELLIA is not set
1384# CONFIG_CRYPTO_AUTHENC is not set
1385# CONFIG_CRYPTO_LZO is not set
1386CONFIG_CRYPTO_HW=y
1387# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1314# CONFIG_PPC_CLOCK is not set 1388# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig
index 7994955c29d..7a64c564f6e 100644
--- a/arch/powerpc/configs/ps3_defconfig
+++ b/arch/powerpc/configs/ps3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Wed Jan 16 14:31:21 2008 4# Thu Mar 20 11:07:04 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,7 +52,6 @@ CONFIG_GENERIC_BUG=y
51# CONFIG_DEFAULT_UIMAGE is not set 52# CONFIG_DEFAULT_UIMAGE is not set
52# CONFIG_PPC_DCR_NATIVE is not set 53# CONFIG_PPC_DCR_NATIVE is not set
53# CONFIG_PPC_DCR_MMIO is not set 54# CONFIG_PPC_DCR_MMIO is not set
54# CONFIG_PPC_OF_PLATFORM_PCI is not set
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
56 56
57# 57#
@@ -68,17 +68,21 @@ CONFIG_SYSVIPC_SYSCTL=y
68CONFIG_POSIX_MQUEUE=y 68CONFIG_POSIX_MQUEUE=y
69# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
70# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
73# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
74# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
75CONFIG_LOG_BUF_SHIFT=17 73CONFIG_LOG_BUF_SHIFT=17
76# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
77CONFIG_FAIR_GROUP_SCHED=y 75# CONFIG_GROUP_SCHED is not set
78CONFIG_FAIR_USER_SCHED=y 76# CONFIG_USER_SCHED is not set
79# CONFIG_FAIR_CGROUP_SCHED is not set 77# CONFIG_CGROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
79CONFIG_SYSFS_DEPRECATED_V2=y
81# CONFIG_RELAY is not set 80# CONFIG_RELAY is not set
81CONFIG_NAMESPACES=y
82# CONFIG_UTS_NS is not set
83# CONFIG_IPC_NS is not set
84# CONFIG_USER_NS is not set
85# CONFIG_PID_NS is not set
82CONFIG_BLK_DEV_INITRD=y 86CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE="" 87CONFIG_INITRAMFS_SOURCE=""
84CONFIG_CC_OPTIMIZE_FOR_SIZE=y 88CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -92,17 +96,27 @@ CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 96CONFIG_PRINTK=y
93CONFIG_BUG=y 97CONFIG_BUG=y
94CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
99# CONFIG_COMPAT_BRK is not set
95CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y 101CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y 102CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y 103CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y 104CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 107CONFIG_SHMEM=y
102CONFIG_VM_EVENT_COUNTERS=y 108CONFIG_VM_EVENT_COUNTERS=y
103CONFIG_SLAB=y 109CONFIG_SLAB=y
104# CONFIG_SLUB is not set 110# CONFIG_SLUB is not set
105# CONFIG_SLOB is not set 111# CONFIG_SLOB is not set
112CONFIG_PROFILING=y
113# CONFIG_MARKERS is not set
114CONFIG_OPROFILE=m
115CONFIG_HAVE_OPROFILE=y
116# CONFIG_KPROBES is not set
117CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y
119CONFIG_PROC_PAGE_MONITOR=y
106CONFIG_SLABINFO=y 120CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y 121CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set 122# CONFIG_TINY_SHMEM is not set
@@ -131,6 +145,7 @@ CONFIG_DEFAULT_AS=y
131# CONFIG_DEFAULT_CFQ is not set 145# CONFIG_DEFAULT_CFQ is not set
132# CONFIG_DEFAULT_NOOP is not set 146# CONFIG_DEFAULT_NOOP is not set
133CONFIG_DEFAULT_IOSCHED="anticipatory" 147CONFIG_DEFAULT_IOSCHED="anticipatory"
148CONFIG_CLASSIC_RCU=y
134 149
135# 150#
136# Platform support 151# Platform support
@@ -141,8 +156,8 @@ CONFIG_PPC_MULTIPLATFORM=y
141# CONFIG_PPC_86xx is not set 156# CONFIG_PPC_86xx is not set
142# CONFIG_PPC_PSERIES is not set 157# CONFIG_PPC_PSERIES is not set
143# CONFIG_PPC_ISERIES is not set 158# CONFIG_PPC_ISERIES is not set
144# CONFIG_PPC_MPC52xx is not set 159# CONFIG_PPC_MPC512x is not set
145# CONFIG_PPC_MPC5200 is not set 160# CONFIG_PPC_MPC5121 is not set
146# CONFIG_PPC_PMAC is not set 161# CONFIG_PPC_PMAC is not set
147# CONFIG_PPC_MAPLE is not set 162# CONFIG_PPC_MAPLE is not set
148# CONFIG_PPC_PASEMI is not set 163# CONFIG_PPC_PASEMI is not set
@@ -173,6 +188,7 @@ CONFIG_PPC_CELL=y
173CONFIG_SPU_FS=y 188CONFIG_SPU_FS=y
174CONFIG_SPU_BASE=y 189CONFIG_SPU_BASE=y
175# CONFIG_PQ2ADS is not set 190# CONFIG_PQ2ADS is not set
191# CONFIG_IPIC is not set
176# CONFIG_MPIC is not set 192# CONFIG_MPIC is not set
177# CONFIG_MPIC_WEIRD is not set 193# CONFIG_MPIC_WEIRD is not set
178# CONFIG_PPC_I8259 is not set 194# CONFIG_PPC_I8259 is not set
@@ -184,7 +200,6 @@ CONFIG_SPU_BASE=y
184# CONFIG_PPC_INDIRECT_IO is not set 200# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 201# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 202# CONFIG_CPU_FREQ is not set
187# CONFIG_CPM2 is not set
188# CONFIG_FSL_ULI1575 is not set 203# CONFIG_FSL_ULI1575 is not set
189 204
190# 205#
@@ -199,15 +214,19 @@ CONFIG_HZ_250=y
199# CONFIG_HZ_300 is not set 214# CONFIG_HZ_300 is not set
200# CONFIG_HZ_1000 is not set 215# CONFIG_HZ_1000 is not set
201CONFIG_HZ=250 216CONFIG_HZ=250
217# CONFIG_SCHED_HRTICK is not set
202CONFIG_PREEMPT_NONE=y 218CONFIG_PREEMPT_NONE=y
203# CONFIG_PREEMPT_VOLUNTARY is not set 219# CONFIG_PREEMPT_VOLUNTARY is not set
204# CONFIG_PREEMPT is not set 220# CONFIG_PREEMPT is not set
205# CONFIG_PREEMPT_BKL is not set
206CONFIG_BINFMT_ELF=y 221CONFIG_BINFMT_ELF=y
222CONFIG_COMPAT_BINFMT_ELF=y
207CONFIG_BINFMT_MISC=y 223CONFIG_BINFMT_MISC=y
208CONFIG_FORCE_MAX_ZONEORDER=13 224CONFIG_FORCE_MAX_ZONEORDER=13
209# CONFIG_IOMMU_VMERGE is not set 225# CONFIG_IOMMU_VMERGE is not set
226CONFIG_IOMMU_HELPER=y
210CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 227CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
228CONFIG_ARCH_HAS_WALK_MEMORY=y
229CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
211CONFIG_KEXEC=y 230CONFIG_KEXEC=y
212# CONFIG_CRASH_DUMP is not set 231# CONFIG_CRASH_DUMP is not set
213# CONFIG_IRQ_ALL_CPUS is not set 232# CONFIG_IRQ_ALL_CPUS is not set
@@ -241,7 +260,6 @@ CONFIG_PROC_DEVICETREE=y
241# CONFIG_CMDLINE_BOOL is not set 260# CONFIG_CMDLINE_BOOL is not set
242# CONFIG_PM is not set 261# CONFIG_PM is not set
243# CONFIG_SECCOMP is not set 262# CONFIG_SECCOMP is not set
244# CONFIG_WANT_DEVICE_TREE is not set
245CONFIG_ISA_DMA_API=y 263CONFIG_ISA_DMA_API=y
246 264
247# 265#
@@ -271,6 +289,7 @@ CONFIG_XFRM=y
271# CONFIG_XFRM_USER is not set 289# CONFIG_XFRM_USER is not set
272# CONFIG_XFRM_SUB_POLICY is not set 290# CONFIG_XFRM_SUB_POLICY is not set
273# CONFIG_XFRM_MIGRATE is not set 291# CONFIG_XFRM_MIGRATE is not set
292# CONFIG_XFRM_STATISTICS is not set
274# CONFIG_NET_KEY is not set 293# CONFIG_NET_KEY is not set
275CONFIG_INET=y 294CONFIG_INET=y
276# CONFIG_IP_MULTICAST is not set 295# CONFIG_IP_MULTICAST is not set
@@ -338,6 +357,7 @@ CONFIG_IPV6_SIT=y
338# 357#
339# CONFIG_NET_PKTGEN is not set 358# CONFIG_NET_PKTGEN is not set
340# CONFIG_HAMRADIO is not set 359# CONFIG_HAMRADIO is not set
360# CONFIG_CAN is not set
341# CONFIG_IRDA is not set 361# CONFIG_IRDA is not set
342CONFIG_BT=m 362CONFIG_BT=m
343CONFIG_BT_L2CAP=m 363CONFIG_BT_L2CAP=m
@@ -405,11 +425,13 @@ CONFIG_BLK_DEV_LOOP=y
405CONFIG_BLK_DEV_RAM=y 425CONFIG_BLK_DEV_RAM=y
406CONFIG_BLK_DEV_RAM_COUNT=16 426CONFIG_BLK_DEV_RAM_COUNT=16
407CONFIG_BLK_DEV_RAM_SIZE=65535 427CONFIG_BLK_DEV_RAM_SIZE=65535
408CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 428# CONFIG_BLK_DEV_XIP is not set
409# CONFIG_CDROM_PKTCDVD is not set 429# CONFIG_CDROM_PKTCDVD is not set
410# CONFIG_ATA_OVER_ETH is not set 430# CONFIG_ATA_OVER_ETH is not set
411CONFIG_MISC_DEVICES=y 431CONFIG_MISC_DEVICES=y
412# CONFIG_EEPROM_93CX6 is not set 432# CONFIG_EEPROM_93CX6 is not set
433# CONFIG_ENCLOSURE_SERVICES is not set
434CONFIG_HAVE_IDE=y
413# CONFIG_IDE is not set 435# CONFIG_IDE is not set
414 436
415# 437#
@@ -472,7 +494,9 @@ CONFIG_MII=m
472# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 494# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
473# CONFIG_B44 is not set 495# CONFIG_B44 is not set
474CONFIG_NETDEV_1000=y 496CONFIG_NETDEV_1000=y
497# CONFIG_E1000E_ENABLED is not set
475CONFIG_GELIC_NET=y 498CONFIG_GELIC_NET=y
499CONFIG_GELIC_WIRELESS=y
476# CONFIG_NETDEV_10000 is not set 500# CONFIG_NETDEV_10000 is not set
477 501
478# 502#
@@ -482,9 +506,8 @@ CONFIG_GELIC_NET=y
482CONFIG_WLAN_80211=y 506CONFIG_WLAN_80211=y
483# CONFIG_LIBERTAS is not set 507# CONFIG_LIBERTAS is not set
484# CONFIG_USB_ZD1201 is not set 508# CONFIG_USB_ZD1201 is not set
509# CONFIG_USB_NET_RNDIS_WLAN is not set
485# CONFIG_HOSTAP is not set 510# CONFIG_HOSTAP is not set
486CONFIG_ZD1211RW=m
487# CONFIG_ZD1211RW_DEBUG is not set
488 511
489# 512#
490# USB Network Adapters 513# USB Network Adapters
@@ -507,7 +530,6 @@ CONFIG_USB_NET_MCS7830=m
507# CONFIG_WAN is not set 530# CONFIG_WAN is not set
508# CONFIG_PPP is not set 531# CONFIG_PPP is not set
509# CONFIG_SLIP is not set 532# CONFIG_SLIP is not set
510# CONFIG_SHAPER is not set
511# CONFIG_NETCONSOLE is not set 533# CONFIG_NETCONSOLE is not set
512# CONFIG_NETPOLL is not set 534# CONFIG_NETPOLL is not set
513# CONFIG_NET_POLL_CONTROLLER is not set 535# CONFIG_NET_POLL_CONTROLLER is not set
@@ -606,6 +628,7 @@ CONFIG_GEN_RTC=y
606# CONFIG_W1 is not set 628# CONFIG_W1 is not set
607# CONFIG_POWER_SUPPLY is not set 629# CONFIG_POWER_SUPPLY is not set
608# CONFIG_HWMON is not set 630# CONFIG_HWMON is not set
631# CONFIG_THERMAL is not set
609# CONFIG_WATCHDOG is not set 632# CONFIG_WATCHDOG is not set
610 633
611# 634#
@@ -742,6 +765,10 @@ CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
742# 765#
743 766
744# 767#
768# ALSA SoC audio for Freescale SOCs
769#
770
771#
745# Open Sound System 772# Open Sound System
746# 773#
747# CONFIG_SOUND_PRIME is not set 774# CONFIG_SOUND_PRIME is not set
@@ -769,6 +796,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
769CONFIG_USB_ARCH_HAS_EHCI=y 796CONFIG_USB_ARCH_HAS_EHCI=y
770CONFIG_USB=m 797CONFIG_USB=m
771# CONFIG_USB_DEBUG is not set 798# CONFIG_USB_DEBUG is not set
799# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
772 800
773# 801#
774# Miscellaneous USB options 802# Miscellaneous USB options
@@ -782,10 +810,10 @@ CONFIG_USB_DEVICEFS=y
782# USB Host Controller Drivers 810# USB Host Controller Drivers
783# 811#
784CONFIG_USB_EHCI_HCD=m 812CONFIG_USB_EHCI_HCD=m
785# CONFIG_USB_EHCI_SPLIT_ISO is not set
786# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 813# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
787# CONFIG_USB_EHCI_TT_NEWSCHED is not set 814# CONFIG_USB_EHCI_TT_NEWSCHED is not set
788CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y 815CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
816# CONFIG_USB_EHCI_HCD_PPC_OF is not set
789# CONFIG_USB_ISP116X_HCD is not set 817# CONFIG_USB_ISP116X_HCD is not set
790CONFIG_USB_OHCI_HCD=m 818CONFIG_USB_OHCI_HCD=m
791# CONFIG_USB_OHCI_HCD_PPC_OF is not set 819# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -833,10 +861,6 @@ CONFIG_USB_MON=y
833# 861#
834# USB port drivers 862# USB port drivers
835# 863#
836
837#
838# USB Serial Converter support
839#
840# CONFIG_USB_SERIAL is not set 864# CONFIG_USB_SERIAL is not set
841 865
842# 866#
@@ -862,19 +886,13 @@ CONFIG_USB_MON=y
862# CONFIG_USB_TRANCEVIBRATOR is not set 886# CONFIG_USB_TRANCEVIBRATOR is not set
863# CONFIG_USB_IOWARRIOR is not set 887# CONFIG_USB_IOWARRIOR is not set
864# CONFIG_USB_TEST is not set 888# CONFIG_USB_TEST is not set
865
866#
867# USB DSL modem support
868#
869
870#
871# USB Gadget Support
872#
873# CONFIG_USB_GADGET is not set 889# CONFIG_USB_GADGET is not set
874# CONFIG_MMC is not set 890# CONFIG_MMC is not set
891# CONFIG_MEMSTICK is not set
875# CONFIG_NEW_LEDS is not set 892# CONFIG_NEW_LEDS is not set
876# CONFIG_EDAC is not set 893# CONFIG_EDAC is not set
877# CONFIG_RTC_CLASS is not set 894# CONFIG_RTC_CLASS is not set
895# CONFIG_DMADEVICES is not set
878 896
879# 897#
880# Userspace I/O 898# Userspace I/O
@@ -900,8 +918,7 @@ CONFIG_FS_MBCACHE=y
900# CONFIG_XFS_FS is not set 918# CONFIG_XFS_FS is not set
901# CONFIG_GFS2_FS is not set 919# CONFIG_GFS2_FS is not set
902# CONFIG_OCFS2_FS is not set 920# CONFIG_OCFS2_FS is not set
903# CONFIG_MINIX_FS is not set 921CONFIG_DNOTIFY=y
904# CONFIG_ROMFS_FS is not set
905CONFIG_INOTIFY=y 922CONFIG_INOTIFY=y
906CONFIG_INOTIFY_USER=y 923CONFIG_INOTIFY_USER=y
907CONFIG_QUOTA=y 924CONFIG_QUOTA=y
@@ -910,7 +927,6 @@ CONFIG_PRINT_QUOTA_WARNING=y
910# CONFIG_QFMT_V1 is not set 927# CONFIG_QFMT_V1 is not set
911CONFIG_QFMT_V2=y 928CONFIG_QFMT_V2=y
912CONFIG_QUOTACTL=y 929CONFIG_QUOTACTL=y
913CONFIG_DNOTIFY=y
914CONFIG_AUTOFS_FS=m 930CONFIG_AUTOFS_FS=m
915CONFIG_AUTOFS4_FS=m 931CONFIG_AUTOFS4_FS=m
916# CONFIG_FUSE_FS is not set 932# CONFIG_FUSE_FS is not set
@@ -959,8 +975,10 @@ CONFIG_TMPFS=y
959# CONFIG_EFS_FS is not set 975# CONFIG_EFS_FS is not set
960# CONFIG_CRAMFS is not set 976# CONFIG_CRAMFS is not set
961# CONFIG_VXFS_FS is not set 977# CONFIG_VXFS_FS is not set
978# CONFIG_MINIX_FS is not set
962# CONFIG_HPFS_FS is not set 979# CONFIG_HPFS_FS is not set
963# CONFIG_QNX4FS_FS is not set 980# CONFIG_QNX4FS_FS is not set
981# CONFIG_ROMFS_FS is not set
964# CONFIG_SYSV_FS is not set 982# CONFIG_SYSV_FS is not set
965# CONFIG_UFS_FS is not set 983# CONFIG_UFS_FS is not set
966CONFIG_NETWORK_FILESYSTEMS=y 984CONFIG_NETWORK_FILESYSTEMS=y
@@ -1036,7 +1054,6 @@ CONFIG_NLS_ISO8859_1=y
1036# CONFIG_NLS_KOI8_U is not set 1054# CONFIG_NLS_KOI8_U is not set
1037# CONFIG_NLS_UTF8 is not set 1055# CONFIG_NLS_UTF8 is not set
1038# CONFIG_DLM is not set 1056# CONFIG_DLM is not set
1039# CONFIG_UCC_SLOW is not set
1040 1057
1041# 1058#
1042# Library routines 1059# Library routines
@@ -1048,15 +1065,12 @@ CONFIG_BITREVERSE=y
1048CONFIG_CRC32=y 1065CONFIG_CRC32=y
1049# CONFIG_CRC7 is not set 1066# CONFIG_CRC7 is not set
1050# CONFIG_LIBCRC32C is not set 1067# CONFIG_LIBCRC32C is not set
1068CONFIG_LZO_COMPRESS=m
1069CONFIG_LZO_DECOMPRESS=m
1051CONFIG_PLIST=y 1070CONFIG_PLIST=y
1052CONFIG_HAS_IOMEM=y 1071CONFIG_HAS_IOMEM=y
1053CONFIG_HAS_IOPORT=y 1072CONFIG_HAS_IOPORT=y
1054CONFIG_HAS_DMA=y 1073CONFIG_HAS_DMA=y
1055CONFIG_INSTRUMENTATION=y
1056CONFIG_PROFILING=y
1057CONFIG_OPROFILE=m
1058# CONFIG_KPROBES is not set
1059# CONFIG_MARKERS is not set
1060 1074
1061# 1075#
1062# Kernel hacking 1076# Kernel hacking
@@ -1087,9 +1101,9 @@ CONFIG_DEBUG_INFO=y
1087# CONFIG_DEBUG_VM is not set 1101# CONFIG_DEBUG_VM is not set
1088CONFIG_DEBUG_LIST=y 1102CONFIG_DEBUG_LIST=y
1089# CONFIG_DEBUG_SG is not set 1103# CONFIG_DEBUG_SG is not set
1090CONFIG_FORCED_INLINING=y
1091# CONFIG_BOOT_PRINTK_DELAY is not set 1104# CONFIG_BOOT_PRINTK_DELAY is not set
1092# CONFIG_RCU_TORTURE_TEST is not set 1105# CONFIG_RCU_TORTURE_TEST is not set
1106# CONFIG_BACKTRACE_SELF_TEST is not set
1093# CONFIG_FAULT_INJECTION is not set 1107# CONFIG_FAULT_INJECTION is not set
1094# CONFIG_SAMPLES is not set 1108# CONFIG_SAMPLES is not set
1095CONFIG_DEBUG_STACKOVERFLOW=y 1109CONFIG_DEBUG_STACKOVERFLOW=y
@@ -1108,7 +1122,9 @@ CONFIG_IRQSTACKS=y
1108# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1122# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1109CONFIG_CRYPTO=y 1123CONFIG_CRYPTO=y
1110CONFIG_CRYPTO_ALGAPI=y 1124CONFIG_CRYPTO_ALGAPI=y
1125CONFIG_CRYPTO_AEAD=m
1111CONFIG_CRYPTO_BLKCIPHER=y 1126CONFIG_CRYPTO_BLKCIPHER=y
1127CONFIG_CRYPTO_SEQIV=m
1112CONFIG_CRYPTO_MANAGER=y 1128CONFIG_CRYPTO_MANAGER=y
1113# CONFIG_CRYPTO_HMAC is not set 1129# CONFIG_CRYPTO_HMAC is not set
1114# CONFIG_CRYPTO_XCBC is not set 1130# CONFIG_CRYPTO_XCBC is not set
@@ -1120,12 +1136,15 @@ CONFIG_CRYPTO_MD5=y
1120# CONFIG_CRYPTO_SHA512 is not set 1136# CONFIG_CRYPTO_SHA512 is not set
1121# CONFIG_CRYPTO_WP512 is not set 1137# CONFIG_CRYPTO_WP512 is not set
1122# CONFIG_CRYPTO_TGR192 is not set 1138# CONFIG_CRYPTO_TGR192 is not set
1123# CONFIG_CRYPTO_GF128MUL is not set 1139CONFIG_CRYPTO_GF128MUL=m
1124CONFIG_CRYPTO_ECB=m 1140CONFIG_CRYPTO_ECB=m
1125CONFIG_CRYPTO_CBC=y 1141CONFIG_CRYPTO_CBC=y
1126CONFIG_CRYPTO_PCBC=m 1142CONFIG_CRYPTO_PCBC=m
1127# CONFIG_CRYPTO_LRW is not set 1143# CONFIG_CRYPTO_LRW is not set
1128# CONFIG_CRYPTO_XTS is not set 1144# CONFIG_CRYPTO_XTS is not set
1145CONFIG_CRYPTO_CTR=m
1146CONFIG_CRYPTO_GCM=m
1147CONFIG_CRYPTO_CCM=m
1129# CONFIG_CRYPTO_CRYPTD is not set 1148# CONFIG_CRYPTO_CRYPTD is not set
1130CONFIG_CRYPTO_DES=y 1149CONFIG_CRYPTO_DES=y
1131# CONFIG_CRYPTO_FCRYPT is not set 1150# CONFIG_CRYPTO_FCRYPT is not set
@@ -1140,11 +1159,13 @@ CONFIG_CRYPTO_ARC4=m
1140# CONFIG_CRYPTO_KHAZAD is not set 1159# CONFIG_CRYPTO_KHAZAD is not set
1141# CONFIG_CRYPTO_ANUBIS is not set 1160# CONFIG_CRYPTO_ANUBIS is not set
1142# CONFIG_CRYPTO_SEED is not set 1161# CONFIG_CRYPTO_SEED is not set
1162CONFIG_CRYPTO_SALSA20=m
1143# CONFIG_CRYPTO_DEFLATE is not set 1163# CONFIG_CRYPTO_DEFLATE is not set
1144CONFIG_CRYPTO_MICHAEL_MIC=m 1164CONFIG_CRYPTO_MICHAEL_MIC=m
1145# CONFIG_CRYPTO_CRC32C is not set 1165# CONFIG_CRYPTO_CRC32C is not set
1146# CONFIG_CRYPTO_CAMELLIA is not set 1166# CONFIG_CRYPTO_CAMELLIA is not set
1147# CONFIG_CRYPTO_TEST is not set 1167# CONFIG_CRYPTO_TEST is not set
1148# CONFIG_CRYPTO_AUTHENC is not set 1168# CONFIG_CRYPTO_AUTHENC is not set
1169CONFIG_CRYPTO_LZO=m
1149CONFIG_CRYPTO_HW=y 1170CONFIG_CRYPTO_HW=y
1150# CONFIG_PPC_CLOCK is not set 1171# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index 92bbf51ad4f..755aca72b52 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Thu Dec 6 16:49:15 2007 4# Thu Mar 20 11:08:01 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -28,6 +28,7 @@ CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
30CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y 33CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y 34CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -71,8 +72,6 @@ CONFIG_TASKSTATS=y
71CONFIG_TASK_DELAY_ACCT=y 72CONFIG_TASK_DELAY_ACCT=y
72CONFIG_TASK_XACCT=y 73CONFIG_TASK_XACCT=y
73CONFIG_TASK_IO_ACCOUNTING=y 74CONFIG_TASK_IO_ACCOUNTING=y
74# CONFIG_USER_NS is not set
75# CONFIG_PID_NS is not set
76CONFIG_AUDIT=y 75CONFIG_AUDIT=y
77CONFIG_AUDITSYSCALL=y 76CONFIG_AUDITSYSCALL=y
78CONFIG_AUDIT_TREE=y 77CONFIG_AUDIT_TREE=y
@@ -83,13 +82,20 @@ CONFIG_CGROUPS=y
83# CONFIG_CGROUP_DEBUG is not set 82# CONFIG_CGROUP_DEBUG is not set
84CONFIG_CGROUP_NS=y 83CONFIG_CGROUP_NS=y
85CONFIG_CPUSETS=y 84CONFIG_CPUSETS=y
86CONFIG_FAIR_GROUP_SCHED=y 85# CONFIG_GROUP_SCHED is not set
87# CONFIG_FAIR_USER_SCHED is not set 86# CONFIG_USER_SCHED is not set
88CONFIG_FAIR_CGROUP_SCHED=y 87# CONFIG_CGROUP_SCHED is not set
89CONFIG_CGROUP_CPUACCT=y 88CONFIG_CGROUP_CPUACCT=y
89# CONFIG_RESOURCE_COUNTERS is not set
90CONFIG_SYSFS_DEPRECATED=y 90CONFIG_SYSFS_DEPRECATED=y
91CONFIG_SYSFS_DEPRECATED_V2=y
91CONFIG_PROC_PID_CPUSET=y 92CONFIG_PROC_PID_CPUSET=y
92# CONFIG_RELAY is not set 93# CONFIG_RELAY is not set
94CONFIG_NAMESPACES=y
95# CONFIG_UTS_NS is not set
96# CONFIG_IPC_NS is not set
97# CONFIG_USER_NS is not set
98# CONFIG_PID_NS is not set
93CONFIG_BLK_DEV_INITRD=y 99CONFIG_BLK_DEV_INITRD=y
94CONFIG_INITRAMFS_SOURCE="" 100CONFIG_INITRAMFS_SOURCE=""
95CONFIG_CC_OPTIMIZE_FOR_SIZE=y 101CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -103,11 +109,13 @@ CONFIG_HOTPLUG=y
103CONFIG_PRINTK=y 109CONFIG_PRINTK=y
104CONFIG_BUG=y 110CONFIG_BUG=y
105CONFIG_ELF_CORE=y 111CONFIG_ELF_CORE=y
112# CONFIG_COMPAT_BRK is not set
106CONFIG_BASE_FULL=y 113CONFIG_BASE_FULL=y
107CONFIG_FUTEX=y 114CONFIG_FUTEX=y
108CONFIG_ANON_INODES=y 115CONFIG_ANON_INODES=y
109CONFIG_EPOLL=y 116CONFIG_EPOLL=y
110CONFIG_SIGNALFD=y 117CONFIG_SIGNALFD=y
118CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 119CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 120CONFIG_SHMEM=y
113CONFIG_VM_EVENT_COUNTERS=y 121CONFIG_VM_EVENT_COUNTERS=y
@@ -115,6 +123,16 @@ CONFIG_SLUB_DEBUG=y
115# CONFIG_SLAB is not set 123# CONFIG_SLAB is not set
116CONFIG_SLUB=y 124CONFIG_SLUB=y
117# CONFIG_SLOB is not set 125# CONFIG_SLOB is not set
126CONFIG_PROFILING=y
127CONFIG_MARKERS=y
128CONFIG_OPROFILE=y
129CONFIG_HAVE_OPROFILE=y
130CONFIG_KPROBES=y
131CONFIG_KRETPROBES=y
132CONFIG_HAVE_KPROBES=y
133CONFIG_HAVE_KRETPROBES=y
134CONFIG_PROC_PAGE_MONITOR=y
135CONFIG_SLABINFO=y
118CONFIG_RT_MUTEXES=y 136CONFIG_RT_MUTEXES=y
119# CONFIG_TINY_SHMEM is not set 137# CONFIG_TINY_SHMEM is not set
120CONFIG_BASE_SMALL=0 138CONFIG_BASE_SMALL=0
@@ -142,6 +160,7 @@ CONFIG_DEFAULT_AS=y
142# CONFIG_DEFAULT_CFQ is not set 160# CONFIG_DEFAULT_CFQ is not set
143# CONFIG_DEFAULT_NOOP is not set 161# CONFIG_DEFAULT_NOOP is not set
144CONFIG_DEFAULT_IOSCHED="anticipatory" 162CONFIG_DEFAULT_IOSCHED="anticipatory"
163CONFIG_CLASSIC_RCU=y
145 164
146# 165#
147# Platform support 166# Platform support
@@ -156,8 +175,8 @@ CONFIG_EEH=y
156CONFIG_SCANLOG=m 175CONFIG_SCANLOG=m
157CONFIG_LPARCFG=y 176CONFIG_LPARCFG=y
158# CONFIG_PPC_ISERIES is not set 177# CONFIG_PPC_ISERIES is not set
159# CONFIG_PPC_MPC52xx is not set 178# CONFIG_PPC_MPC512x is not set
160# CONFIG_PPC_MPC5200 is not set 179# CONFIG_PPC_MPC5121 is not set
161# CONFIG_PPC_PMAC is not set 180# CONFIG_PPC_PMAC is not set
162# CONFIG_PPC_MAPLE is not set 181# CONFIG_PPC_MAPLE is not set
163# CONFIG_PPC_PASEMI is not set 182# CONFIG_PPC_PASEMI is not set
@@ -170,6 +189,7 @@ CONFIG_LPARCFG=y
170CONFIG_PPC_NATIVE=y 189CONFIG_PPC_NATIVE=y
171# CONFIG_UDBG_RTAS_CONSOLE is not set 190# CONFIG_UDBG_RTAS_CONSOLE is not set
172CONFIG_XICS=y 191CONFIG_XICS=y
192# CONFIG_IPIC is not set
173CONFIG_MPIC=y 193CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
175CONFIG_PPC_I8259=y 195CONFIG_PPC_I8259=y
@@ -186,7 +206,6 @@ CONFIG_IBMEBUS=y
186# CONFIG_PPC_INDIRECT_IO is not set 206# CONFIG_PPC_INDIRECT_IO is not set
187# CONFIG_GENERIC_IOMAP is not set 207# CONFIG_GENERIC_IOMAP is not set
188# CONFIG_CPU_FREQ is not set 208# CONFIG_CPU_FREQ is not set
189# CONFIG_CPM2 is not set
190# CONFIG_FSL_ULI1575 is not set 209# CONFIG_FSL_ULI1575 is not set
191 210
192# 211#
@@ -201,17 +220,21 @@ CONFIG_HZ_250=y
201# CONFIG_HZ_300 is not set 220# CONFIG_HZ_300 is not set
202# CONFIG_HZ_1000 is not set 221# CONFIG_HZ_1000 is not set
203CONFIG_HZ=250 222CONFIG_HZ=250
223# CONFIG_SCHED_HRTICK is not set
204CONFIG_PREEMPT_NONE=y 224CONFIG_PREEMPT_NONE=y
205# CONFIG_PREEMPT_VOLUNTARY is not set 225# CONFIG_PREEMPT_VOLUNTARY is not set
206# CONFIG_PREEMPT is not set 226# CONFIG_PREEMPT is not set
207# CONFIG_PREEMPT_BKL is not set
208CONFIG_BINFMT_ELF=y 227CONFIG_BINFMT_ELF=y
228CONFIG_COMPAT_BINFMT_ELF=y
209CONFIG_BINFMT_MISC=m 229CONFIG_BINFMT_MISC=m
210CONFIG_FORCE_MAX_ZONEORDER=13 230CONFIG_FORCE_MAX_ZONEORDER=13
211CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 231CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
212CONFIG_IOMMU_VMERGE=y 232CONFIG_IOMMU_VMERGE=y
233CONFIG_IOMMU_HELPER=y
213CONFIG_HOTPLUG_CPU=y 234CONFIG_HOTPLUG_CPU=y
214CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 235CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
236CONFIG_ARCH_HAS_WALK_MEMORY=y
237CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
215CONFIG_KEXEC=y 238CONFIG_KEXEC=y
216# CONFIG_CRASH_DUMP is not set 239# CONFIG_CRASH_DUMP is not set
217CONFIG_IRQ_ALL_CPUS=y 240CONFIG_IRQ_ALL_CPUS=y
@@ -245,9 +268,7 @@ CONFIG_SCHED_SMT=y
245CONFIG_PROC_DEVICETREE=y 268CONFIG_PROC_DEVICETREE=y
246# CONFIG_CMDLINE_BOOL is not set 269# CONFIG_CMDLINE_BOOL is not set
247# CONFIG_PM is not set 270# CONFIG_PM is not set
248CONFIG_SUSPEND_SMP_POSSIBLE=y
249CONFIG_SECCOMP=y 271CONFIG_SECCOMP=y
250# CONFIG_WANT_DEVICE_TREE is not set
251CONFIG_ISA_DMA_API=y 272CONFIG_ISA_DMA_API=y
252 273
253# 274#
@@ -288,6 +309,7 @@ CONFIG_XFRM=y
288CONFIG_XFRM_USER=m 309CONFIG_XFRM_USER=m
289# CONFIG_XFRM_SUB_POLICY is not set 310# CONFIG_XFRM_SUB_POLICY is not set
290# CONFIG_XFRM_MIGRATE is not set 311# CONFIG_XFRM_MIGRATE is not set
312# CONFIG_XFRM_STATISTICS is not set
291CONFIG_NET_KEY=m 313CONFIG_NET_KEY=m
292# CONFIG_NET_KEY_MIGRATE is not set 314# CONFIG_NET_KEY_MIGRATE is not set
293CONFIG_INET=y 315CONFIG_INET=y
@@ -322,14 +344,14 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
322# CONFIG_NETWORK_SECMARK is not set 344# CONFIG_NETWORK_SECMARK is not set
323CONFIG_NETFILTER=y 345CONFIG_NETFILTER=y
324# CONFIG_NETFILTER_DEBUG is not set 346# CONFIG_NETFILTER_DEBUG is not set
347CONFIG_NETFILTER_ADVANCED=y
325 348
326# 349#
327# Core Netfilter Configuration 350# Core Netfilter Configuration
328# 351#
329CONFIG_NETFILTER_NETLINK=y 352CONFIG_NETFILTER_NETLINK=m
330CONFIG_NETFILTER_NETLINK_QUEUE=m 353CONFIG_NETFILTER_NETLINK_QUEUE=m
331CONFIG_NETFILTER_NETLINK_LOG=m 354CONFIG_NETFILTER_NETLINK_LOG=m
332CONFIG_NF_CONNTRACK_ENABLED=m
333CONFIG_NF_CONNTRACK=m 355CONFIG_NF_CONNTRACK=m
334CONFIG_NF_CT_ACCT=y 356CONFIG_NF_CT_ACCT=y
335CONFIG_NF_CONNTRACK_MARK=y 357CONFIG_NF_CONNTRACK_MARK=y
@@ -351,6 +373,7 @@ CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
351CONFIG_NETFILTER_XT_TARGET_MARK=m 373CONFIG_NETFILTER_XT_TARGET_MARK=m
352CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 374CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
353CONFIG_NETFILTER_XT_TARGET_NFLOG=m 375CONFIG_NETFILTER_XT_TARGET_NFLOG=m
376CONFIG_NETFILTER_XT_TARGET_RATEEST=m
354CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 377CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
355CONFIG_NETFILTER_XT_MATCH_COMMENT=m 378CONFIG_NETFILTER_XT_MATCH_COMMENT=m
356CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 379CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
@@ -361,14 +384,17 @@ CONFIG_NETFILTER_XT_MATCH_DCCP=m
361CONFIG_NETFILTER_XT_MATCH_DSCP=m 384CONFIG_NETFILTER_XT_MATCH_DSCP=m
362CONFIG_NETFILTER_XT_MATCH_ESP=m 385CONFIG_NETFILTER_XT_MATCH_ESP=m
363CONFIG_NETFILTER_XT_MATCH_HELPER=m 386CONFIG_NETFILTER_XT_MATCH_HELPER=m
387CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
364CONFIG_NETFILTER_XT_MATCH_LENGTH=m 388CONFIG_NETFILTER_XT_MATCH_LENGTH=m
365CONFIG_NETFILTER_XT_MATCH_LIMIT=m 389CONFIG_NETFILTER_XT_MATCH_LIMIT=m
366CONFIG_NETFILTER_XT_MATCH_MAC=m 390CONFIG_NETFILTER_XT_MATCH_MAC=m
367CONFIG_NETFILTER_XT_MATCH_MARK=m 391CONFIG_NETFILTER_XT_MATCH_MARK=m
392CONFIG_NETFILTER_XT_MATCH_OWNER=m
368CONFIG_NETFILTER_XT_MATCH_POLICY=m 393CONFIG_NETFILTER_XT_MATCH_POLICY=m
369CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 394CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
370CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 395CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
371CONFIG_NETFILTER_XT_MATCH_QUOTA=m 396CONFIG_NETFILTER_XT_MATCH_QUOTA=m
397CONFIG_NETFILTER_XT_MATCH_RATEEST=m
372CONFIG_NETFILTER_XT_MATCH_REALM=m 398CONFIG_NETFILTER_XT_MATCH_REALM=m
373CONFIG_NETFILTER_XT_MATCH_SCTP=m 399CONFIG_NETFILTER_XT_MATCH_SCTP=m
374CONFIG_NETFILTER_XT_MATCH_STATE=m 400CONFIG_NETFILTER_XT_MATCH_STATE=m
@@ -386,13 +412,10 @@ CONFIG_NF_CONNTRACK_IPV4=m
386CONFIG_NF_CONNTRACK_PROC_COMPAT=y 412CONFIG_NF_CONNTRACK_PROC_COMPAT=y
387CONFIG_IP_NF_QUEUE=m 413CONFIG_IP_NF_QUEUE=m
388CONFIG_IP_NF_IPTABLES=m 414CONFIG_IP_NF_IPTABLES=m
389CONFIG_IP_NF_MATCH_IPRANGE=m
390CONFIG_IP_NF_MATCH_TOS=m
391CONFIG_IP_NF_MATCH_RECENT=m 415CONFIG_IP_NF_MATCH_RECENT=m
392CONFIG_IP_NF_MATCH_ECN=m 416CONFIG_IP_NF_MATCH_ECN=m
393CONFIG_IP_NF_MATCH_AH=m 417CONFIG_IP_NF_MATCH_AH=m
394CONFIG_IP_NF_MATCH_TTL=m 418CONFIG_IP_NF_MATCH_TTL=m
395CONFIG_IP_NF_MATCH_OWNER=m
396CONFIG_IP_NF_MATCH_ADDRTYPE=m 419CONFIG_IP_NF_MATCH_ADDRTYPE=m
397CONFIG_IP_NF_FILTER=m 420CONFIG_IP_NF_FILTER=m
398CONFIG_IP_NF_TARGET_REJECT=m 421CONFIG_IP_NF_TARGET_REJECT=m
@@ -403,7 +426,6 @@ CONFIG_NF_NAT_NEEDED=y
403CONFIG_IP_NF_TARGET_MASQUERADE=m 426CONFIG_IP_NF_TARGET_MASQUERADE=m
404CONFIG_IP_NF_TARGET_REDIRECT=m 427CONFIG_IP_NF_TARGET_REDIRECT=m
405CONFIG_IP_NF_TARGET_NETMAP=m 428CONFIG_IP_NF_TARGET_NETMAP=m
406CONFIG_IP_NF_TARGET_SAME=m
407CONFIG_NF_NAT_SNMP_BASIC=m 429CONFIG_NF_NAT_SNMP_BASIC=m
408CONFIG_NF_NAT_FTP=m 430CONFIG_NF_NAT_FTP=m
409CONFIG_NF_NAT_IRC=m 431CONFIG_NF_NAT_IRC=m
@@ -439,6 +461,7 @@ CONFIG_NET_CLS_ROUTE=y
439# CONFIG_NET_PKTGEN is not set 461# CONFIG_NET_PKTGEN is not set
440# CONFIG_NET_TCPPROBE is not set 462# CONFIG_NET_TCPPROBE is not set
441# CONFIG_HAMRADIO is not set 463# CONFIG_HAMRADIO is not set
464# CONFIG_CAN is not set
442# CONFIG_IRDA is not set 465# CONFIG_IRDA is not set
443# CONFIG_BT is not set 466# CONFIG_BT is not set
444# CONFIG_AF_RXRPC is not set 467# CONFIG_AF_RXRPC is not set
@@ -493,7 +516,7 @@ CONFIG_BLK_DEV_NBD=m
493CONFIG_BLK_DEV_RAM=y 516CONFIG_BLK_DEV_RAM=y
494CONFIG_BLK_DEV_RAM_COUNT=16 517CONFIG_BLK_DEV_RAM_COUNT=16
495CONFIG_BLK_DEV_RAM_SIZE=65536 518CONFIG_BLK_DEV_RAM_SIZE=65536
496CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 519# CONFIG_BLK_DEV_XIP is not set
497# CONFIG_CDROM_PKTCDVD is not set 520# CONFIG_CDROM_PKTCDVD is not set
498# CONFIG_ATA_OVER_ETH is not set 521# CONFIG_ATA_OVER_ETH is not set
499CONFIG_MISC_DEVICES=y 522CONFIG_MISC_DEVICES=y
@@ -501,16 +524,19 @@ CONFIG_MISC_DEVICES=y
501# CONFIG_EEPROM_93CX6 is not set 524# CONFIG_EEPROM_93CX6 is not set
502# CONFIG_SGI_IOC4 is not set 525# CONFIG_SGI_IOC4 is not set
503# CONFIG_TIFM_CORE is not set 526# CONFIG_TIFM_CORE is not set
527# CONFIG_ENCLOSURE_SERVICES is not set
528CONFIG_HAVE_IDE=y
504CONFIG_IDE=y 529CONFIG_IDE=y
505CONFIG_BLK_DEV_IDE=y 530CONFIG_BLK_DEV_IDE=y
506 531
507# 532#
508# Please see Documentation/ide.txt for help/info on IDE drives 533# Please see Documentation/ide/ide.txt for help/info on IDE drives
509# 534#
510# CONFIG_BLK_DEV_IDE_SATA is not set 535# CONFIG_BLK_DEV_IDE_SATA is not set
511CONFIG_BLK_DEV_IDEDISK=y 536CONFIG_BLK_DEV_IDEDISK=y
512# CONFIG_IDEDISK_MULTI_MODE is not set 537# CONFIG_IDEDISK_MULTI_MODE is not set
513CONFIG_BLK_DEV_IDECD=y 538CONFIG_BLK_DEV_IDECD=y
539CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
514# CONFIG_BLK_DEV_IDETAPE is not set 540# CONFIG_BLK_DEV_IDETAPE is not set
515# CONFIG_BLK_DEV_IDEFLOPPY is not set 541# CONFIG_BLK_DEV_IDEFLOPPY is not set
516# CONFIG_BLK_DEV_IDESCSI is not set 542# CONFIG_BLK_DEV_IDESCSI is not set
@@ -522,12 +548,12 @@ CONFIG_IDE_PROC_FS=y
522# 548#
523CONFIG_IDE_GENERIC=y 549CONFIG_IDE_GENERIC=y
524# CONFIG_BLK_DEV_PLATFORM is not set 550# CONFIG_BLK_DEV_PLATFORM is not set
551CONFIG_BLK_DEV_IDEDMA_SFF=y
525 552
526# 553#
527# PCI IDE chipsets support 554# PCI IDE chipsets support
528# 555#
529CONFIG_BLK_DEV_IDEPCI=y 556CONFIG_BLK_DEV_IDEPCI=y
530CONFIG_IDEPCI_SHARE_IRQ=y
531CONFIG_IDEPCI_PCIBUS_ORDER=y 557CONFIG_IDEPCI_PCIBUS_ORDER=y
532# CONFIG_BLK_DEV_OFFBOARD is not set 558# CONFIG_BLK_DEV_OFFBOARD is not set
533CONFIG_BLK_DEV_GENERIC=y 559CONFIG_BLK_DEV_GENERIC=y
@@ -558,7 +584,6 @@ CONFIG_BLK_DEV_AMD74XX=y
558# CONFIG_BLK_DEV_TRM290 is not set 584# CONFIG_BLK_DEV_TRM290 is not set
559# CONFIG_BLK_DEV_VIA82CXXX is not set 585# CONFIG_BLK_DEV_VIA82CXXX is not set
560# CONFIG_BLK_DEV_TC86C001 is not set 586# CONFIG_BLK_DEV_TC86C001 is not set
561# CONFIG_IDE_ARM is not set
562CONFIG_BLK_DEV_IDEDMA=y 587CONFIG_BLK_DEV_IDEDMA=y
563CONFIG_IDE_ARCH_OBSOLETE_INIT=y 588CONFIG_IDE_ARCH_OBSOLETE_INIT=y
564# CONFIG_BLK_DEV_HD is not set 589# CONFIG_BLK_DEV_HD is not set
@@ -627,6 +652,7 @@ CONFIG_SCSI_IBMVSCSI=y
627# CONFIG_SCSI_INIA100 is not set 652# CONFIG_SCSI_INIA100 is not set
628# CONFIG_SCSI_PPA is not set 653# CONFIG_SCSI_PPA is not set
629# CONFIG_SCSI_IMM is not set 654# CONFIG_SCSI_IMM is not set
655# CONFIG_SCSI_MVSAS is not set
630# CONFIG_SCSI_STEX is not set 656# CONFIG_SCSI_STEX is not set
631CONFIG_SCSI_SYM53C8XX_2=y 657CONFIG_SCSI_SYM53C8XX_2=y
632CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 658CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
@@ -685,6 +711,7 @@ CONFIG_ATA=y
685# CONFIG_PATA_MPIIX is not set 711# CONFIG_PATA_MPIIX is not set
686# CONFIG_PATA_OLDPIIX is not set 712# CONFIG_PATA_OLDPIIX is not set
687# CONFIG_PATA_NETCELL is not set 713# CONFIG_PATA_NETCELL is not set
714# CONFIG_PATA_NINJA32 is not set
688# CONFIG_PATA_NS87410 is not set 715# CONFIG_PATA_NS87410 is not set
689# CONFIG_PATA_NS87415 is not set 716# CONFIG_PATA_NS87415 is not set
690# CONFIG_PATA_OPTI is not set 717# CONFIG_PATA_OPTI is not set
@@ -699,6 +726,7 @@ CONFIG_ATA=y
699# CONFIG_PATA_SIS is not set 726# CONFIG_PATA_SIS is not set
700# CONFIG_PATA_VIA is not set 727# CONFIG_PATA_VIA is not set
701CONFIG_PATA_WINBOND=y 728CONFIG_PATA_WINBOND=y
729# CONFIG_PATA_PLATFORM is not set
702CONFIG_MD=y 730CONFIG_MD=y
703CONFIG_BLK_DEV_MD=y 731CONFIG_BLK_DEV_MD=y
704CONFIG_MD_LINEAR=y 732CONFIG_MD_LINEAR=y
@@ -737,7 +765,6 @@ CONFIG_BONDING=m
737# CONFIG_EQUALIZER is not set 765# CONFIG_EQUALIZER is not set
738CONFIG_TUN=m 766CONFIG_TUN=m
739# CONFIG_VETH is not set 767# CONFIG_VETH is not set
740# CONFIG_IP1000 is not set
741# CONFIG_ARCNET is not set 768# CONFIG_ARCNET is not set
742# CONFIG_PHYLIB is not set 769# CONFIG_PHYLIB is not set
743CONFIG_NET_ETHERNET=y 770CONFIG_NET_ETHERNET=y
@@ -769,6 +796,7 @@ CONFIG_E100=y
769# CONFIG_NE2K_PCI is not set 796# CONFIG_NE2K_PCI is not set
770# CONFIG_8139CP is not set 797# CONFIG_8139CP is not set
771# CONFIG_8139TOO is not set 798# CONFIG_8139TOO is not set
799# CONFIG_R6040 is not set
772# CONFIG_SIS900 is not set 800# CONFIG_SIS900 is not set
773# CONFIG_EPIC100 is not set 801# CONFIG_EPIC100 is not set
774# CONFIG_SUNDANCE is not set 802# CONFIG_SUNDANCE is not set
@@ -783,6 +811,9 @@ CONFIG_E1000=y
783# CONFIG_E1000_NAPI is not set 811# CONFIG_E1000_NAPI is not set
784# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 812# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
785# CONFIG_E1000E is not set 813# CONFIG_E1000E is not set
814# CONFIG_E1000E_ENABLED is not set
815# CONFIG_IP1000 is not set
816# CONFIG_IGB is not set
786# CONFIG_NS83820 is not set 817# CONFIG_NS83820 is not set
787# CONFIG_HAMACHI is not set 818# CONFIG_HAMACHI is not set
788# CONFIG_YELLOWFIN is not set 819# CONFIG_YELLOWFIN is not set
@@ -811,6 +842,7 @@ CONFIG_S2IO=m
811# CONFIG_PASEMI_MAC is not set 842# CONFIG_PASEMI_MAC is not set
812# CONFIG_MLX4_CORE is not set 843# CONFIG_MLX4_CORE is not set
813# CONFIG_TEHUTI is not set 844# CONFIG_TEHUTI is not set
845# CONFIG_BNX2X is not set
814CONFIG_TR=y 846CONFIG_TR=y
815CONFIG_IBMOL=y 847CONFIG_IBMOL=y
816# CONFIG_3C359 is not set 848# CONFIG_3C359 is not set
@@ -847,7 +879,6 @@ CONFIG_PPPOE=m
847# CONFIG_SLIP is not set 879# CONFIG_SLIP is not set
848CONFIG_SLHC=m 880CONFIG_SLHC=m
849# CONFIG_NET_FC is not set 881# CONFIG_NET_FC is not set
850# CONFIG_SHAPER is not set
851CONFIG_NETCONSOLE=y 882CONFIG_NETCONSOLE=y
852# CONFIG_NETCONSOLE_DYNAMIC is not set 883# CONFIG_NETCONSOLE_DYNAMIC is not set
853CONFIG_NETPOLL=y 884CONFIG_NETPOLL=y
@@ -927,6 +958,7 @@ CONFIG_VT_CONSOLE=y
927CONFIG_HW_CONSOLE=y 958CONFIG_HW_CONSOLE=y
928# CONFIG_VT_HW_CONSOLE_BINDING is not set 959# CONFIG_VT_HW_CONSOLE_BINDING is not set
929# CONFIG_SERIAL_NONSTANDARD is not set 960# CONFIG_SERIAL_NONSTANDARD is not set
961# CONFIG_NOZOMI is not set
930 962
931# 963#
932# Serial drivers 964# Serial drivers
@@ -951,7 +983,6 @@ CONFIG_LEGACY_PTYS=y
951CONFIG_LEGACY_PTY_COUNT=256 983CONFIG_LEGACY_PTY_COUNT=256
952# CONFIG_PRINTER is not set 984# CONFIG_PRINTER is not set
953# CONFIG_PPDEV is not set 985# CONFIG_PPDEV is not set
954# CONFIG_TIPAR is not set
955CONFIG_HVC_DRIVER=y 986CONFIG_HVC_DRIVER=y
956CONFIG_HVC_CONSOLE=y 987CONFIG_HVC_CONSOLE=y
957CONFIG_HVC_RTAS=y 988CONFIG_HVC_RTAS=y
@@ -1009,13 +1040,12 @@ CONFIG_I2C_ALGOBIT=y
1009# 1040#
1010# Miscellaneous I2C Chip support 1041# Miscellaneous I2C Chip support
1011# 1042#
1012# CONFIG_SENSORS_DS1337 is not set
1013# CONFIG_SENSORS_DS1374 is not set
1014# CONFIG_DS1682 is not set 1043# CONFIG_DS1682 is not set
1015# CONFIG_SENSORS_EEPROM is not set 1044# CONFIG_SENSORS_EEPROM is not set
1016# CONFIG_SENSORS_PCF8574 is not set 1045# CONFIG_SENSORS_PCF8574 is not set
1017# CONFIG_SENSORS_PCA9539 is not set 1046# CONFIG_PCF8575 is not set
1018# CONFIG_SENSORS_PCF8591 is not set 1047# CONFIG_SENSORS_PCF8591 is not set
1048# CONFIG_TPS65010 is not set
1019# CONFIG_SENSORS_MAX6875 is not set 1049# CONFIG_SENSORS_MAX6875 is not set
1020# CONFIG_SENSORS_TSL2550 is not set 1050# CONFIG_SENSORS_TSL2550 is not set
1021# CONFIG_I2C_DEBUG_CORE is not set 1051# CONFIG_I2C_DEBUG_CORE is not set
@@ -1031,6 +1061,7 @@ CONFIG_I2C_ALGOBIT=y
1031# CONFIG_W1 is not set 1061# CONFIG_W1 is not set
1032# CONFIG_POWER_SUPPLY is not set 1062# CONFIG_POWER_SUPPLY is not set
1033# CONFIG_HWMON is not set 1063# CONFIG_HWMON is not set
1064# CONFIG_THERMAL is not set
1034# CONFIG_WATCHDOG is not set 1065# CONFIG_WATCHDOG is not set
1035 1066
1036# 1067#
@@ -1166,6 +1197,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1166CONFIG_USB_ARCH_HAS_EHCI=y 1197CONFIG_USB_ARCH_HAS_EHCI=y
1167CONFIG_USB=y 1198CONFIG_USB=y
1168# CONFIG_USB_DEBUG is not set 1199# CONFIG_USB_DEBUG is not set
1200# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1169 1201
1170# 1202#
1171# Miscellaneous USB options 1203# Miscellaneous USB options
@@ -1179,9 +1211,9 @@ CONFIG_USB_DEVICE_CLASS=y
1179# USB Host Controller Drivers 1211# USB Host Controller Drivers
1180# 1212#
1181CONFIG_USB_EHCI_HCD=y 1213CONFIG_USB_EHCI_HCD=y
1182# CONFIG_USB_EHCI_SPLIT_ISO is not set
1183# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1214# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1184# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1215# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1216# CONFIG_USB_EHCI_HCD_PPC_OF is not set
1185# CONFIG_USB_ISP116X_HCD is not set 1217# CONFIG_USB_ISP116X_HCD is not set
1186CONFIG_USB_OHCI_HCD=y 1218CONFIG_USB_OHCI_HCD=y
1187# CONFIG_USB_OHCI_HCD_PPC_OF is not set 1219# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -1230,10 +1262,6 @@ CONFIG_USB_MON=y
1230# USB port drivers 1262# USB port drivers
1231# 1263#
1232# CONFIG_USB_USS720 is not set 1264# CONFIG_USB_USS720 is not set
1233
1234#
1235# USB Serial Converter support
1236#
1237# CONFIG_USB_SERIAL is not set 1265# CONFIG_USB_SERIAL is not set
1238 1266
1239# 1267#
@@ -1259,16 +1287,9 @@ CONFIG_USB_MON=y
1259# CONFIG_USB_TRANCEVIBRATOR is not set 1287# CONFIG_USB_TRANCEVIBRATOR is not set
1260# CONFIG_USB_IOWARRIOR is not set 1288# CONFIG_USB_IOWARRIOR is not set
1261# CONFIG_USB_TEST is not set 1289# CONFIG_USB_TEST is not set
1262
1263#
1264# USB DSL modem support
1265#
1266
1267#
1268# USB Gadget Support
1269#
1270# CONFIG_USB_GADGET is not set 1290# CONFIG_USB_GADGET is not set
1271# CONFIG_MMC is not set 1291# CONFIG_MMC is not set
1292# CONFIG_MEMSTICK is not set
1272# CONFIG_NEW_LEDS is not set 1293# CONFIG_NEW_LEDS is not set
1273CONFIG_INFINIBAND=m 1294CONFIG_INFINIBAND=m
1274CONFIG_INFINIBAND_USER_MAD=m 1295CONFIG_INFINIBAND_USER_MAD=m
@@ -1281,6 +1302,7 @@ CONFIG_INFINIBAND_MTHCA_DEBUG=y
1281CONFIG_INFINIBAND_EHCA=m 1302CONFIG_INFINIBAND_EHCA=m
1282# CONFIG_INFINIBAND_AMSO1100 is not set 1303# CONFIG_INFINIBAND_AMSO1100 is not set
1283# CONFIG_MLX4_INFINIBAND is not set 1304# CONFIG_MLX4_INFINIBAND is not set
1305# CONFIG_INFINIBAND_NES is not set
1284CONFIG_INFINIBAND_IPOIB=m 1306CONFIG_INFINIBAND_IPOIB=m
1285# CONFIG_INFINIBAND_IPOIB_CM is not set 1307# CONFIG_INFINIBAND_IPOIB_CM is not set
1286CONFIG_INFINIBAND_IPOIB_DEBUG=y 1308CONFIG_INFINIBAND_IPOIB_DEBUG=y
@@ -1289,6 +1311,7 @@ CONFIG_INFINIBAND_SRP=m
1289# CONFIG_INFINIBAND_ISER is not set 1311# CONFIG_INFINIBAND_ISER is not set
1290# CONFIG_EDAC is not set 1312# CONFIG_EDAC is not set
1291# CONFIG_RTC_CLASS is not set 1313# CONFIG_RTC_CLASS is not set
1314# CONFIG_DMADEVICES is not set
1292# CONFIG_AUXDISPLAY is not set 1315# CONFIG_AUXDISPLAY is not set
1293 1316
1294# 1317#
@@ -1334,12 +1357,10 @@ CONFIG_XFS_POSIX_ACL=y
1334CONFIG_OCFS2_FS=m 1357CONFIG_OCFS2_FS=m
1335CONFIG_OCFS2_DEBUG_MASKLOG=y 1358CONFIG_OCFS2_DEBUG_MASKLOG=y
1336# CONFIG_OCFS2_DEBUG_FS is not set 1359# CONFIG_OCFS2_DEBUG_FS is not set
1337# CONFIG_MINIX_FS is not set 1360CONFIG_DNOTIFY=y
1338# CONFIG_ROMFS_FS is not set
1339CONFIG_INOTIFY=y 1361CONFIG_INOTIFY=y
1340CONFIG_INOTIFY_USER=y 1362CONFIG_INOTIFY_USER=y
1341# CONFIG_QUOTA is not set 1363# CONFIG_QUOTA is not set
1342CONFIG_DNOTIFY=y
1343# CONFIG_AUTOFS_FS is not set 1364# CONFIG_AUTOFS_FS is not set
1344CONFIG_AUTOFS4_FS=m 1365CONFIG_AUTOFS4_FS=m
1345CONFIG_FUSE_FS=m 1366CONFIG_FUSE_FS=m
@@ -1388,8 +1409,10 @@ CONFIG_CONFIGFS_FS=m
1388# CONFIG_EFS_FS is not set 1409# CONFIG_EFS_FS is not set
1389CONFIG_CRAMFS=y 1410CONFIG_CRAMFS=y
1390# CONFIG_VXFS_FS is not set 1411# CONFIG_VXFS_FS is not set
1412# CONFIG_MINIX_FS is not set
1391# CONFIG_HPFS_FS is not set 1413# CONFIG_HPFS_FS is not set
1392# CONFIG_QNX4FS_FS is not set 1414# CONFIG_QNX4FS_FS is not set
1415# CONFIG_ROMFS_FS is not set
1393# CONFIG_SYSV_FS is not set 1416# CONFIG_SYSV_FS is not set
1394# CONFIG_UFS_FS is not set 1417# CONFIG_UFS_FS is not set
1395CONFIG_NETWORK_FILESYSTEMS=y 1418CONFIG_NETWORK_FILESYSTEMS=y
@@ -1473,7 +1496,6 @@ CONFIG_NLS_ISO8859_1=y
1473# CONFIG_NLS_KOI8_U is not set 1496# CONFIG_NLS_KOI8_U is not set
1474# CONFIG_NLS_UTF8 is not set 1497# CONFIG_NLS_UTF8 is not set
1475# CONFIG_DLM is not set 1498# CONFIG_DLM is not set
1476# CONFIG_UCC_SLOW is not set
1477 1499
1478# 1500#
1479# Library routines 1501# Library routines
@@ -1487,6 +1509,8 @@ CONFIG_CRC32=y
1487CONFIG_LIBCRC32C=m 1509CONFIG_LIBCRC32C=m
1488CONFIG_ZLIB_INFLATE=y 1510CONFIG_ZLIB_INFLATE=y
1489CONFIG_ZLIB_DEFLATE=m 1511CONFIG_ZLIB_DEFLATE=m
1512CONFIG_LZO_COMPRESS=m
1513CONFIG_LZO_DECOMPRESS=m
1490CONFIG_TEXTSEARCH=y 1514CONFIG_TEXTSEARCH=y
1491CONFIG_TEXTSEARCH_KMP=m 1515CONFIG_TEXTSEARCH_KMP=m
1492CONFIG_TEXTSEARCH_BM=m 1516CONFIG_TEXTSEARCH_BM=m
@@ -1495,11 +1519,6 @@ CONFIG_PLIST=y
1495CONFIG_HAS_IOMEM=y 1519CONFIG_HAS_IOMEM=y
1496CONFIG_HAS_IOPORT=y 1520CONFIG_HAS_IOPORT=y
1497CONFIG_HAS_DMA=y 1521CONFIG_HAS_DMA=y
1498CONFIG_INSTRUMENTATION=y
1499CONFIG_PROFILING=y
1500CONFIG_OPROFILE=y
1501CONFIG_KPROBES=y
1502CONFIG_MARKERS=y
1503 1522
1504# 1523#
1505# Kernel hacking 1524# Kernel hacking
@@ -1518,6 +1537,7 @@ CONFIG_SCHED_DEBUG=y
1518# CONFIG_SCHEDSTATS is not set 1537# CONFIG_SCHEDSTATS is not set
1519# CONFIG_TIMER_STATS is not set 1538# CONFIG_TIMER_STATS is not set
1520# CONFIG_SLUB_DEBUG_ON is not set 1539# CONFIG_SLUB_DEBUG_ON is not set
1540# CONFIG_SLUB_STATS is not set
1521# CONFIG_DEBUG_RT_MUTEXES is not set 1541# CONFIG_DEBUG_RT_MUTEXES is not set
1522# CONFIG_RT_MUTEX_TESTER is not set 1542# CONFIG_RT_MUTEX_TESTER is not set
1523# CONFIG_DEBUG_SPINLOCK is not set 1543# CONFIG_DEBUG_SPINLOCK is not set
@@ -1530,9 +1550,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
1530# CONFIG_DEBUG_VM is not set 1550# CONFIG_DEBUG_VM is not set
1531# CONFIG_DEBUG_LIST is not set 1551# CONFIG_DEBUG_LIST is not set
1532# CONFIG_DEBUG_SG is not set 1552# CONFIG_DEBUG_SG is not set
1533CONFIG_FORCED_INLINING=y
1534# CONFIG_BOOT_PRINTK_DELAY is not set 1553# CONFIG_BOOT_PRINTK_DELAY is not set
1535# CONFIG_RCU_TORTURE_TEST is not set 1554# CONFIG_RCU_TORTURE_TEST is not set
1555# CONFIG_KPROBES_SANITY_TEST is not set
1556# CONFIG_BACKTRACE_SELF_TEST is not set
1536# CONFIG_LKDTM is not set 1557# CONFIG_LKDTM is not set
1537# CONFIG_FAULT_INJECTION is not set 1558# CONFIG_FAULT_INJECTION is not set
1538# CONFIG_SAMPLES is not set 1559# CONFIG_SAMPLES is not set
@@ -1557,7 +1578,9 @@ CONFIG_VIRQ_DEBUG=y
1557# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1578# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1558CONFIG_CRYPTO=y 1579CONFIG_CRYPTO=y
1559CONFIG_CRYPTO_ALGAPI=y 1580CONFIG_CRYPTO_ALGAPI=y
1581CONFIG_CRYPTO_AEAD=m
1560CONFIG_CRYPTO_BLKCIPHER=y 1582CONFIG_CRYPTO_BLKCIPHER=y
1583CONFIG_CRYPTO_SEQIV=m
1561CONFIG_CRYPTO_HASH=y 1584CONFIG_CRYPTO_HASH=y
1562CONFIG_CRYPTO_MANAGER=y 1585CONFIG_CRYPTO_MANAGER=y
1563CONFIG_CRYPTO_HMAC=y 1586CONFIG_CRYPTO_HMAC=y
@@ -1570,12 +1593,15 @@ CONFIG_CRYPTO_SHA256=m
1570CONFIG_CRYPTO_SHA512=m 1593CONFIG_CRYPTO_SHA512=m
1571CONFIG_CRYPTO_WP512=m 1594CONFIG_CRYPTO_WP512=m
1572CONFIG_CRYPTO_TGR192=m 1595CONFIG_CRYPTO_TGR192=m
1573# CONFIG_CRYPTO_GF128MUL is not set 1596CONFIG_CRYPTO_GF128MUL=m
1574CONFIG_CRYPTO_ECB=m 1597CONFIG_CRYPTO_ECB=m
1575CONFIG_CRYPTO_CBC=y 1598CONFIG_CRYPTO_CBC=y
1576CONFIG_CRYPTO_PCBC=m 1599CONFIG_CRYPTO_PCBC=m
1577# CONFIG_CRYPTO_LRW is not set 1600# CONFIG_CRYPTO_LRW is not set
1578# CONFIG_CRYPTO_XTS is not set 1601# CONFIG_CRYPTO_XTS is not set
1602CONFIG_CRYPTO_CTR=m
1603CONFIG_CRYPTO_GCM=m
1604CONFIG_CRYPTO_CCM=m
1579# CONFIG_CRYPTO_CRYPTD is not set 1605# CONFIG_CRYPTO_CRYPTD is not set
1580CONFIG_CRYPTO_DES=y 1606CONFIG_CRYPTO_DES=y
1581# CONFIG_CRYPTO_FCRYPT is not set 1607# CONFIG_CRYPTO_FCRYPT is not set
@@ -1591,11 +1617,13 @@ CONFIG_CRYPTO_ARC4=m
1591CONFIG_CRYPTO_KHAZAD=m 1617CONFIG_CRYPTO_KHAZAD=m
1592CONFIG_CRYPTO_ANUBIS=m 1618CONFIG_CRYPTO_ANUBIS=m
1593# CONFIG_CRYPTO_SEED is not set 1619# CONFIG_CRYPTO_SEED is not set
1620CONFIG_CRYPTO_SALSA20=m
1594CONFIG_CRYPTO_DEFLATE=m 1621CONFIG_CRYPTO_DEFLATE=m
1595CONFIG_CRYPTO_MICHAEL_MIC=m 1622CONFIG_CRYPTO_MICHAEL_MIC=m
1596CONFIG_CRYPTO_CRC32C=m 1623CONFIG_CRYPTO_CRC32C=m
1597# CONFIG_CRYPTO_CAMELLIA is not set 1624# CONFIG_CRYPTO_CAMELLIA is not set
1598CONFIG_CRYPTO_TEST=m 1625CONFIG_CRYPTO_TEST=m
1599# CONFIG_CRYPTO_AUTHENC is not set 1626CONFIG_CRYPTO_AUTHENC=m
1627CONFIG_CRYPTO_LZO=m
1600# CONFIG_CRYPTO_HW is not set 1628# CONFIG_CRYPTO_HW is not set
1601# CONFIG_PPC_CLOCK is not set 1629# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/sbc834x_defconfig b/arch/powerpc/configs/sbc834x_defconfig
index 9245bcc2472..1f1518229f6 100644
--- a/arch/powerpc/configs/sbc834x_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Thu Jan 24 15:54:27 2008 4# Mon Mar 24 08:48:38 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,8 +14,8 @@ CONFIG_6xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_83xx=y
18CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set
19CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,17 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75CONFIG_FAIR_GROUP_SCHED=y 75CONFIG_FAIR_GROUP_SCHED=y
76CONFIG_FAIR_USER_SCHED=y 76# CONFIG_RT_GROUP_SCHED is not set
77# CONFIG_FAIR_CGROUP_SCHED is not set 77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
78CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
79# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
80CONFIG_BLK_DEV_INITRD=y 83CONFIG_BLK_DEV_INITRD=y
81CONFIG_INITRAMFS_SOURCE="" 84CONFIG_INITRAMFS_SOURCE=""
82# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 85# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -88,17 +91,25 @@ CONFIG_HOTPLUG=y
88CONFIG_PRINTK=y 91CONFIG_PRINTK=y
89CONFIG_BUG=y 92CONFIG_BUG=y
90CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
94CONFIG_COMPAT_BRK=y
91CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
92CONFIG_FUTEX=y 96CONFIG_FUTEX=y
93CONFIG_ANON_INODES=y 97CONFIG_ANON_INODES=y
94# CONFIG_EPOLL is not set 98# CONFIG_EPOLL is not set
95CONFIG_SIGNALFD=y 99CONFIG_SIGNALFD=y
100CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
97CONFIG_SHMEM=y 102CONFIG_SHMEM=y
98CONFIG_VM_EVENT_COUNTERS=y 103CONFIG_VM_EVENT_COUNTERS=y
99CONFIG_SLAB=y 104CONFIG_SLAB=y
100# CONFIG_SLUB is not set 105# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set 106# CONFIG_SLOB is not set
107# CONFIG_PROFILING is not set
108# CONFIG_MARKERS is not set
109CONFIG_HAVE_OPROFILE=y
110CONFIG_HAVE_KPROBES=y
111CONFIG_HAVE_KRETPROBES=y
112CONFIG_PROC_PAGE_MONITOR=y
102CONFIG_SLABINFO=y 113CONFIG_SLABINFO=y
103CONFIG_RT_MUTEXES=y 114CONFIG_RT_MUTEXES=y
104# CONFIG_TINY_SHMEM is not set 115# CONFIG_TINY_SHMEM is not set
@@ -127,6 +138,7 @@ CONFIG_DEFAULT_AS=y
127# CONFIG_DEFAULT_CFQ is not set 138# CONFIG_DEFAULT_CFQ is not set
128# CONFIG_DEFAULT_NOOP is not set 139# CONFIG_DEFAULT_NOOP is not set
129CONFIG_DEFAULT_IOSCHED="anticipatory" 140CONFIG_DEFAULT_IOSCHED="anticipatory"
141CONFIG_CLASSIC_RCU=y
130 142
131# 143#
132# Platform support 144# Platform support
@@ -135,20 +147,22 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
135# CONFIG_PPC_82xx is not set 147# CONFIG_PPC_82xx is not set
136CONFIG_PPC_83xx=y 148CONFIG_PPC_83xx=y
137# CONFIG_PPC_86xx is not set 149# CONFIG_PPC_86xx is not set
138# CONFIG_PPC_MPC52xx is not set 150# CONFIG_PPC_MPC512x is not set
139# CONFIG_PPC_MPC5200 is not set 151# CONFIG_PPC_MPC5121 is not set
140# CONFIG_PPC_CELL is not set 152# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set 153# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set 154# CONFIG_PQ2ADS is not set
143# CONFIG_MPC8313_RDB is not set 155CONFIG_MPC83xx=y
156# CONFIG_MPC831x_RDB is not set
144# CONFIG_MPC832x_MDS is not set 157# CONFIG_MPC832x_MDS is not set
145# CONFIG_MPC832x_RDB is not set 158# CONFIG_MPC832x_RDB is not set
146# CONFIG_MPC834x_MDS is not set 159# CONFIG_MPC834x_MDS is not set
147# CONFIG_MPC834x_ITX is not set 160# CONFIG_MPC834x_ITX is not set
148# CONFIG_MPC836x_MDS is not set 161# CONFIG_MPC836x_MDS is not set
149# CONFIG_MPC837x_MDS is not set 162# CONFIG_MPC837x_MDS is not set
163# CONFIG_MPC837x_RDB is not set
150CONFIG_SBC834x=y 164CONFIG_SBC834x=y
151CONFIG_MPC834x=y 165CONFIG_PPC_MPC834x=y
152CONFIG_IPIC=y 166CONFIG_IPIC=y
153# CONFIG_MPIC is not set 167# CONFIG_MPIC is not set
154# CONFIG_MPIC_WEIRD is not set 168# CONFIG_MPIC_WEIRD is not set
@@ -175,12 +189,16 @@ CONFIG_HZ_250=y
175# CONFIG_HZ_300 is not set 189# CONFIG_HZ_300 is not set
176# CONFIG_HZ_1000 is not set 190# CONFIG_HZ_1000 is not set
177CONFIG_HZ=250 191CONFIG_HZ=250
192# CONFIG_SCHED_HRTICK is not set
178CONFIG_PREEMPT_NONE=y 193CONFIG_PREEMPT_NONE=y
179# CONFIG_PREEMPT_VOLUNTARY is not set 194# CONFIG_PREEMPT_VOLUNTARY is not set
180# CONFIG_PREEMPT is not set 195# CONFIG_PREEMPT is not set
181CONFIG_BINFMT_ELF=y 196CONFIG_BINFMT_ELF=y
182# CONFIG_BINFMT_MISC is not set 197# CONFIG_BINFMT_MISC is not set
198# CONFIG_IOMMU_HELPER is not set
183CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 199CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
200CONFIG_ARCH_HAS_WALK_MEMORY=y
201CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
184CONFIG_ARCH_FLATMEM_ENABLE=y 202CONFIG_ARCH_FLATMEM_ENABLE=y
185CONFIG_ARCH_POPULATES_NODE_MAP=y 203CONFIG_ARCH_POPULATES_NODE_MAP=y
186CONFIG_SELECT_MEMORY_MODEL=y 204CONFIG_SELECT_MEMORY_MODEL=y
@@ -199,11 +217,7 @@ CONFIG_VIRT_TO_BUS=y
199CONFIG_PROC_DEVICETREE=y 217CONFIG_PROC_DEVICETREE=y
200# CONFIG_CMDLINE_BOOL is not set 218# CONFIG_CMDLINE_BOOL is not set
201# CONFIG_PM is not set 219# CONFIG_PM is not set
202CONFIG_SUSPEND_UP_POSSIBLE=y
203CONFIG_HIBERNATION_UP_POSSIBLE=y
204CONFIG_SECCOMP=y 220CONFIG_SECCOMP=y
205CONFIG_WANT_DEVICE_TREE=y
206CONFIG_DEVICE_TREE=""
207CONFIG_ISA_DMA_API=y 221CONFIG_ISA_DMA_API=y
208 222
209# 223#
@@ -248,6 +262,7 @@ CONFIG_XFRM=y
248CONFIG_XFRM_USER=m 262CONFIG_XFRM_USER=m
249# CONFIG_XFRM_SUB_POLICY is not set 263# CONFIG_XFRM_SUB_POLICY is not set
250# CONFIG_XFRM_MIGRATE is not set 264# CONFIG_XFRM_MIGRATE is not set
265# CONFIG_XFRM_STATISTICS is not set
251# CONFIG_NET_KEY is not set 266# CONFIG_NET_KEY is not set
252CONFIG_INET=y 267CONFIG_INET=y
253CONFIG_IP_MULTICAST=y 268CONFIG_IP_MULTICAST=y
@@ -303,6 +318,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
303# 318#
304# CONFIG_NET_PKTGEN is not set 319# CONFIG_NET_PKTGEN is not set
305# CONFIG_HAMRADIO is not set 320# CONFIG_HAMRADIO is not set
321# CONFIG_CAN is not set
306# CONFIG_IRDA is not set 322# CONFIG_IRDA is not set
307# CONFIG_BT is not set 323# CONFIG_BT is not set
308# CONFIG_AF_RXRPC is not set 324# CONFIG_AF_RXRPC is not set
@@ -342,11 +358,13 @@ CONFIG_BLK_DEV_LOOP=y
342CONFIG_BLK_DEV_RAM=y 358CONFIG_BLK_DEV_RAM=y
343CONFIG_BLK_DEV_RAM_COUNT=16 359CONFIG_BLK_DEV_RAM_COUNT=16
344CONFIG_BLK_DEV_RAM_SIZE=32768 360CONFIG_BLK_DEV_RAM_SIZE=32768
345CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 361# CONFIG_BLK_DEV_XIP is not set
346# CONFIG_CDROM_PKTCDVD is not set 362# CONFIG_CDROM_PKTCDVD is not set
347# CONFIG_ATA_OVER_ETH is not set 363# CONFIG_ATA_OVER_ETH is not set
348CONFIG_MISC_DEVICES=y 364CONFIG_MISC_DEVICES=y
349# CONFIG_EEPROM_93CX6 is not set 365# CONFIG_EEPROM_93CX6 is not set
366# CONFIG_ENCLOSURE_SERVICES is not set
367CONFIG_HAVE_IDE=y
350# CONFIG_IDE is not set 368# CONFIG_IDE is not set
351 369
352# 370#
@@ -381,6 +399,7 @@ CONFIG_PHYLIB=y
381# CONFIG_SMSC_PHY is not set 399# CONFIG_SMSC_PHY is not set
382CONFIG_BROADCOM_PHY=y 400CONFIG_BROADCOM_PHY=y
383# CONFIG_ICPLUS_PHY is not set 401# CONFIG_ICPLUS_PHY is not set
402# CONFIG_REALTEK_PHY is not set
384# CONFIG_FIXED_PHY is not set 403# CONFIG_FIXED_PHY is not set
385# CONFIG_MDIO_BITBANG is not set 404# CONFIG_MDIO_BITBANG is not set
386CONFIG_NET_ETHERNET=y 405CONFIG_NET_ETHERNET=y
@@ -391,6 +410,7 @@ CONFIG_MII=y
391# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 410# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
392# CONFIG_B44 is not set 411# CONFIG_B44 is not set
393CONFIG_NETDEV_1000=y 412CONFIG_NETDEV_1000=y
413# CONFIG_E1000E_ENABLED is not set
394CONFIG_GIANFAR=y 414CONFIG_GIANFAR=y
395# CONFIG_GFAR_NAPI is not set 415# CONFIG_GFAR_NAPI is not set
396# CONFIG_NETDEV_10000 is not set 416# CONFIG_NETDEV_10000 is not set
@@ -403,7 +423,6 @@ CONFIG_GIANFAR=y
403# CONFIG_WAN is not set 423# CONFIG_WAN is not set
404# CONFIG_PPP is not set 424# CONFIG_PPP is not set
405# CONFIG_SLIP is not set 425# CONFIG_SLIP is not set
406# CONFIG_SHAPER is not set
407# CONFIG_NETCONSOLE is not set 426# CONFIG_NETCONSOLE is not set
408# CONFIG_NETPOLL is not set 427# CONFIG_NETPOLL is not set
409# CONFIG_NET_POLL_CONTROLLER is not set 428# CONFIG_NET_POLL_CONTROLLER is not set
@@ -498,14 +517,12 @@ CONFIG_I2C_MPC=y
498# 517#
499# Miscellaneous I2C Chip support 518# Miscellaneous I2C Chip support
500# 519#
501# CONFIG_SENSORS_DS1337 is not set
502# CONFIG_SENSORS_DS1374 is not set
503# CONFIG_DS1682 is not set 520# CONFIG_DS1682 is not set
504# CONFIG_SENSORS_EEPROM is not set 521# CONFIG_SENSORS_EEPROM is not set
505# CONFIG_SENSORS_PCF8574 is not set 522# CONFIG_SENSORS_PCF8574 is not set
506# CONFIG_SENSORS_PCA9539 is not set 523# CONFIG_PCF8575 is not set
507# CONFIG_SENSORS_PCF8591 is not set 524# CONFIG_SENSORS_PCF8591 is not set
508# CONFIG_SENSORS_M41T00 is not set 525# CONFIG_TPS65010 is not set
509# CONFIG_SENSORS_MAX6875 is not set 526# CONFIG_SENSORS_MAX6875 is not set
510# CONFIG_SENSORS_TSL2550 is not set 527# CONFIG_SENSORS_TSL2550 is not set
511# CONFIG_I2C_DEBUG_CORE is not set 528# CONFIG_I2C_DEBUG_CORE is not set
@@ -530,6 +547,7 @@ CONFIG_HWMON=y
530# CONFIG_SENSORS_ADM1031 is not set 547# CONFIG_SENSORS_ADM1031 is not set
531# CONFIG_SENSORS_ADM9240 is not set 548# CONFIG_SENSORS_ADM9240 is not set
532# CONFIG_SENSORS_ADT7470 is not set 549# CONFIG_SENSORS_ADT7470 is not set
550# CONFIG_SENSORS_ADT7473 is not set
533# CONFIG_SENSORS_ATXP1 is not set 551# CONFIG_SENSORS_ATXP1 is not set
534# CONFIG_SENSORS_DS1621 is not set 552# CONFIG_SENSORS_DS1621 is not set
535# CONFIG_SENSORS_F71805F is not set 553# CONFIG_SENSORS_F71805F is not set
@@ -557,6 +575,7 @@ CONFIG_HWMON=y
557# CONFIG_SENSORS_SMSC47M1 is not set 575# CONFIG_SENSORS_SMSC47M1 is not set
558# CONFIG_SENSORS_SMSC47M192 is not set 576# CONFIG_SENSORS_SMSC47M192 is not set
559# CONFIG_SENSORS_SMSC47B397 is not set 577# CONFIG_SENSORS_SMSC47B397 is not set
578# CONFIG_SENSORS_ADS7828 is not set
560# CONFIG_SENSORS_THMC50 is not set 579# CONFIG_SENSORS_THMC50 is not set
561# CONFIG_SENSORS_VT1211 is not set 580# CONFIG_SENSORS_VT1211 is not set
562# CONFIG_SENSORS_W83781D is not set 581# CONFIG_SENSORS_W83781D is not set
@@ -564,9 +583,11 @@ CONFIG_HWMON=y
564# CONFIG_SENSORS_W83792D is not set 583# CONFIG_SENSORS_W83792D is not set
565# CONFIG_SENSORS_W83793 is not set 584# CONFIG_SENSORS_W83793 is not set
566# CONFIG_SENSORS_W83L785TS is not set 585# CONFIG_SENSORS_W83L785TS is not set
586# CONFIG_SENSORS_W83L786NG is not set
567# CONFIG_SENSORS_W83627HF is not set 587# CONFIG_SENSORS_W83627HF is not set
568# CONFIG_SENSORS_W83627EHF is not set 588# CONFIG_SENSORS_W83627EHF is not set
569# CONFIG_HWMON_DEBUG_CHIP is not set 589# CONFIG_HWMON_DEBUG_CHIP is not set
590# CONFIG_THERMAL is not set
570CONFIG_WATCHDOG=y 591CONFIG_WATCHDOG=y
571# CONFIG_WATCHDOG_NOWAYOUT is not set 592# CONFIG_WATCHDOG_NOWAYOUT is not set
572 593
@@ -617,9 +638,11 @@ CONFIG_HID=y
617# CONFIG_HIDRAW is not set 638# CONFIG_HIDRAW is not set
618# CONFIG_USB_SUPPORT is not set 639# CONFIG_USB_SUPPORT is not set
619# CONFIG_MMC is not set 640# CONFIG_MMC is not set
641# CONFIG_MEMSTICK is not set
620# CONFIG_NEW_LEDS is not set 642# CONFIG_NEW_LEDS is not set
621# CONFIG_EDAC is not set 643# CONFIG_EDAC is not set
622# CONFIG_RTC_CLASS is not set 644# CONFIG_RTC_CLASS is not set
645# CONFIG_DMADEVICES is not set
623 646
624# 647#
625# Userspace I/O 648# Userspace I/O
@@ -638,12 +661,10 @@ CONFIG_HID=y
638# CONFIG_XFS_FS is not set 661# CONFIG_XFS_FS is not set
639# CONFIG_GFS2_FS is not set 662# CONFIG_GFS2_FS is not set
640# CONFIG_OCFS2_FS is not set 663# CONFIG_OCFS2_FS is not set
641# CONFIG_MINIX_FS is not set 664CONFIG_DNOTIFY=y
642# CONFIG_ROMFS_FS is not set
643CONFIG_INOTIFY=y 665CONFIG_INOTIFY=y
644CONFIG_INOTIFY_USER=y 666CONFIG_INOTIFY_USER=y
645# CONFIG_QUOTA is not set 667# CONFIG_QUOTA is not set
646CONFIG_DNOTIFY=y
647# CONFIG_AUTOFS_FS is not set 668# CONFIG_AUTOFS_FS is not set
648# CONFIG_AUTOFS4_FS is not set 669# CONFIG_AUTOFS4_FS is not set
649# CONFIG_FUSE_FS is not set 670# CONFIG_FUSE_FS is not set
@@ -685,8 +706,10 @@ CONFIG_TMPFS=y
685# CONFIG_EFS_FS is not set 706# CONFIG_EFS_FS is not set
686# CONFIG_CRAMFS is not set 707# CONFIG_CRAMFS is not set
687# CONFIG_VXFS_FS is not set 708# CONFIG_VXFS_FS is not set
709# CONFIG_MINIX_FS is not set
688# CONFIG_HPFS_FS is not set 710# CONFIG_HPFS_FS is not set
689# CONFIG_QNX4FS_FS is not set 711# CONFIG_QNX4FS_FS is not set
712# CONFIG_ROMFS_FS is not set
690# CONFIG_SYSV_FS is not set 713# CONFIG_SYSV_FS is not set
691# CONFIG_UFS_FS is not set 714# CONFIG_UFS_FS is not set
692CONFIG_NETWORK_FILESYSTEMS=y 715CONFIG_NETWORK_FILESYSTEMS=y
@@ -733,7 +756,6 @@ CONFIG_PLIST=y
733CONFIG_HAS_IOMEM=y 756CONFIG_HAS_IOMEM=y
734CONFIG_HAS_IOPORT=y 757CONFIG_HAS_IOPORT=y
735CONFIG_HAS_DMA=y 758CONFIG_HAS_DMA=y
736# CONFIG_INSTRUMENTATION is not set
737 759
738# 760#
739# Kernel hacking 761# Kernel hacking
@@ -759,6 +781,7 @@ CONFIG_ENABLE_MUST_CHECK=y
759CONFIG_CRYPTO=y 781CONFIG_CRYPTO=y
760CONFIG_CRYPTO_ALGAPI=y 782CONFIG_CRYPTO_ALGAPI=y
761CONFIG_CRYPTO_BLKCIPHER=y 783CONFIG_CRYPTO_BLKCIPHER=y
784# CONFIG_CRYPTO_SEQIV is not set
762CONFIG_CRYPTO_MANAGER=y 785CONFIG_CRYPTO_MANAGER=y
763# CONFIG_CRYPTO_HMAC is not set 786# CONFIG_CRYPTO_HMAC is not set
764# CONFIG_CRYPTO_XCBC is not set 787# CONFIG_CRYPTO_XCBC is not set
@@ -776,6 +799,9 @@ CONFIG_CRYPTO_CBC=y
776CONFIG_CRYPTO_PCBC=m 799CONFIG_CRYPTO_PCBC=m
777# CONFIG_CRYPTO_LRW is not set 800# CONFIG_CRYPTO_LRW is not set
778# CONFIG_CRYPTO_XTS is not set 801# CONFIG_CRYPTO_XTS is not set
802# CONFIG_CRYPTO_CTR is not set
803# CONFIG_CRYPTO_GCM is not set
804# CONFIG_CRYPTO_CCM is not set
779# CONFIG_CRYPTO_CRYPTD is not set 805# CONFIG_CRYPTO_CRYPTD is not set
780CONFIG_CRYPTO_DES=y 806CONFIG_CRYPTO_DES=y
781# CONFIG_CRYPTO_FCRYPT is not set 807# CONFIG_CRYPTO_FCRYPT is not set
@@ -790,11 +816,13 @@ CONFIG_CRYPTO_DES=y
790# CONFIG_CRYPTO_KHAZAD is not set 816# CONFIG_CRYPTO_KHAZAD is not set
791# CONFIG_CRYPTO_ANUBIS is not set 817# CONFIG_CRYPTO_ANUBIS is not set
792# CONFIG_CRYPTO_SEED is not set 818# CONFIG_CRYPTO_SEED is not set
819# CONFIG_CRYPTO_SALSA20 is not set
793# CONFIG_CRYPTO_DEFLATE is not set 820# CONFIG_CRYPTO_DEFLATE is not set
794# CONFIG_CRYPTO_MICHAEL_MIC is not set 821# CONFIG_CRYPTO_MICHAEL_MIC is not set
795# CONFIG_CRYPTO_CRC32C is not set 822# CONFIG_CRYPTO_CRC32C is not set
796# CONFIG_CRYPTO_CAMELLIA is not set 823# CONFIG_CRYPTO_CAMELLIA is not set
797# CONFIG_CRYPTO_TEST is not set 824# CONFIG_CRYPTO_TEST is not set
798# CONFIG_CRYPTO_AUTHENC is not set 825# CONFIG_CRYPTO_AUTHENC is not set
826# CONFIG_CRYPTO_LZO is not set
799# CONFIG_CRYPTO_HW is not set 827# CONFIG_CRYPTO_HW is not set
800# CONFIG_PPC_CLOCK is not set 828# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/sbc8548_defconfig b/arch/powerpc/configs/sbc8548_defconfig
index 3b7fa53a247..67f67978c74 100644
--- a/arch/powerpc/configs/sbc8548_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Thu Jan 24 15:19:12 2008 4# Mon Mar 24 08:48:39 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76CONFIG_FAIR_GROUP_SCHED=y 76CONFIG_FAIR_GROUP_SCHED=y
77CONFIG_FAIR_USER_SCHED=y 77# CONFIG_RT_GROUP_SCHED is not set
78# CONFIG_FAIR_CGROUP_SCHED is not set 78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -90,17 +93,25 @@ CONFIG_HOTPLUG=y
90CONFIG_PRINTK=y 93CONFIG_PRINTK=y
91CONFIG_BUG=y 94CONFIG_BUG=y
92CONFIG_ELF_CORE=y 95CONFIG_ELF_CORE=y
96CONFIG_COMPAT_BRK=y
93CONFIG_BASE_FULL=y 97CONFIG_BASE_FULL=y
94CONFIG_FUTEX=y 98CONFIG_FUTEX=y
95CONFIG_ANON_INODES=y 99CONFIG_ANON_INODES=y
96CONFIG_EPOLL=y 100CONFIG_EPOLL=y
97CONFIG_SIGNALFD=y 101CONFIG_SIGNALFD=y
102CONFIG_TIMERFD=y
98CONFIG_EVENTFD=y 103CONFIG_EVENTFD=y
99CONFIG_SHMEM=y 104CONFIG_SHMEM=y
100CONFIG_VM_EVENT_COUNTERS=y 105CONFIG_VM_EVENT_COUNTERS=y
101CONFIG_SLAB=y 106CONFIG_SLAB=y
102# CONFIG_SLUB is not set 107# CONFIG_SLUB is not set
103# CONFIG_SLOB is not set 108# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
104CONFIG_SLABINFO=y 115CONFIG_SLABINFO=y
105CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
106# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
@@ -124,24 +135,29 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 135# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 136# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 137CONFIG_DEFAULT_IOSCHED="anticipatory"
138CONFIG_CLASSIC_RCU=y
127 139
128# 140#
129# Platform support 141# Platform support
130# 142#
131# CONFIG_PPC_MPC52xx is not set 143# CONFIG_PPC_MPC512x is not set
132# CONFIG_PPC_MPC5200 is not set 144# CONFIG_PPC_MPC5121 is not set
133# CONFIG_PPC_CELL is not set 145# CONFIG_PPC_CELL is not set
134# CONFIG_PPC_CELL_NATIVE is not set 146# CONFIG_PPC_CELL_NATIVE is not set
135# CONFIG_PQ2ADS is not set 147# CONFIG_PQ2ADS is not set
148CONFIG_MPC85xx=y
136# CONFIG_MPC8540_ADS is not set 149# CONFIG_MPC8540_ADS is not set
137# CONFIG_MPC8560_ADS is not set 150# CONFIG_MPC8560_ADS is not set
138# CONFIG_MPC85xx_CDS is not set 151# CONFIG_MPC85xx_CDS is not set
139# CONFIG_MPC85xx_MDS is not set 152# CONFIG_MPC85xx_MDS is not set
140# CONFIG_MPC85xx_DS is not set 153# CONFIG_MPC85xx_DS is not set
154# CONFIG_STX_GP3 is not set
155# CONFIG_TQM8540 is not set
156# CONFIG_TQM8541 is not set
157# CONFIG_TQM8555 is not set
158# CONFIG_TQM8560 is not set
141CONFIG_SBC8548=y 159CONFIG_SBC8548=y
142# CONFIG_SBC8560 is not set 160# CONFIG_SBC8560 is not set
143CONFIG_MPC8540=y
144CONFIG_MPC85xx=y
145# CONFIG_IPIC is not set 161# CONFIG_IPIC is not set
146CONFIG_MPIC=y 162CONFIG_MPIC=y
147# CONFIG_MPIC_WEIRD is not set 163# CONFIG_MPIC_WEIRD is not set
@@ -153,6 +169,7 @@ CONFIG_MPIC=y
153# CONFIG_PPC_INDIRECT_IO is not set 169# CONFIG_PPC_INDIRECT_IO is not set
154# CONFIG_GENERIC_IOMAP is not set 170# CONFIG_GENERIC_IOMAP is not set
155# CONFIG_CPU_FREQ is not set 171# CONFIG_CPU_FREQ is not set
172# CONFIG_CPM2 is not set
156# CONFIG_FSL_ULI1575 is not set 173# CONFIG_FSL_ULI1575 is not set
157 174
158# 175#
@@ -168,13 +185,17 @@ CONFIG_HZ_250=y
168# CONFIG_HZ_300 is not set 185# CONFIG_HZ_300 is not set
169# CONFIG_HZ_1000 is not set 186# CONFIG_HZ_1000 is not set
170CONFIG_HZ=250 187CONFIG_HZ=250
188# CONFIG_SCHED_HRTICK is not set
171CONFIG_PREEMPT_NONE=y 189CONFIG_PREEMPT_NONE=y
172# CONFIG_PREEMPT_VOLUNTARY is not set 190# CONFIG_PREEMPT_VOLUNTARY is not set
173# CONFIG_PREEMPT is not set 191# CONFIG_PREEMPT is not set
174CONFIG_BINFMT_ELF=y 192CONFIG_BINFMT_ELF=y
175CONFIG_BINFMT_MISC=y 193CONFIG_BINFMT_MISC=y
176CONFIG_MATH_EMULATION=y 194CONFIG_MATH_EMULATION=y
195# CONFIG_IOMMU_HELPER is not set
177CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 196CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
197CONFIG_ARCH_HAS_WALK_MEMORY=y
198CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
178CONFIG_ARCH_FLATMEM_ENABLE=y 199CONFIG_ARCH_FLATMEM_ENABLE=y
179CONFIG_ARCH_POPULATES_NODE_MAP=y 200CONFIG_ARCH_POPULATES_NODE_MAP=y
180CONFIG_SELECT_MEMORY_MODEL=y 201CONFIG_SELECT_MEMORY_MODEL=y
@@ -193,11 +214,7 @@ CONFIG_VIRT_TO_BUS=y
193CONFIG_PROC_DEVICETREE=y 214CONFIG_PROC_DEVICETREE=y
194# CONFIG_CMDLINE_BOOL is not set 215# CONFIG_CMDLINE_BOOL is not set
195# CONFIG_PM is not set 216# CONFIG_PM is not set
196CONFIG_SUSPEND_UP_POSSIBLE=y
197CONFIG_HIBERNATION_UP_POSSIBLE=y
198# CONFIG_SECCOMP is not set 217# CONFIG_SECCOMP is not set
199CONFIG_WANT_DEVICE_TREE=y
200CONFIG_DEVICE_TREE=""
201CONFIG_ISA_DMA_API=y 218CONFIG_ISA_DMA_API=y
202 219
203# 220#
@@ -246,6 +263,7 @@ CONFIG_XFRM=y
246CONFIG_XFRM_USER=y 263CONFIG_XFRM_USER=y
247# CONFIG_XFRM_SUB_POLICY is not set 264# CONFIG_XFRM_SUB_POLICY is not set
248# CONFIG_XFRM_MIGRATE is not set 265# CONFIG_XFRM_MIGRATE is not set
266# CONFIG_XFRM_STATISTICS is not set
249# CONFIG_NET_KEY is not set 267# CONFIG_NET_KEY is not set
250CONFIG_INET=y 268CONFIG_INET=y
251CONFIG_IP_MULTICAST=y 269CONFIG_IP_MULTICAST=y
@@ -301,6 +319,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
301# 319#
302# CONFIG_NET_PKTGEN is not set 320# CONFIG_NET_PKTGEN is not set
303# CONFIG_HAMRADIO is not set 321# CONFIG_HAMRADIO is not set
322# CONFIG_CAN is not set
304# CONFIG_IRDA is not set 323# CONFIG_IRDA is not set
305# CONFIG_BT is not set 324# CONFIG_BT is not set
306# CONFIG_AF_RXRPC is not set 325# CONFIG_AF_RXRPC is not set
@@ -345,7 +364,7 @@ CONFIG_BLK_DEV_LOOP=y
345CONFIG_BLK_DEV_RAM=y 364CONFIG_BLK_DEV_RAM=y
346CONFIG_BLK_DEV_RAM_COUNT=16 365CONFIG_BLK_DEV_RAM_COUNT=16
347CONFIG_BLK_DEV_RAM_SIZE=4096 366CONFIG_BLK_DEV_RAM_SIZE=4096
348CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 367# CONFIG_BLK_DEV_XIP is not set
349# CONFIG_CDROM_PKTCDVD is not set 368# CONFIG_CDROM_PKTCDVD is not set
350# CONFIG_ATA_OVER_ETH is not set 369# CONFIG_ATA_OVER_ETH is not set
351CONFIG_MISC_DEVICES=y 370CONFIG_MISC_DEVICES=y
@@ -353,6 +372,8 @@ CONFIG_MISC_DEVICES=y
353# CONFIG_EEPROM_93CX6 is not set 372# CONFIG_EEPROM_93CX6 is not set
354# CONFIG_SGI_IOC4 is not set 373# CONFIG_SGI_IOC4 is not set
355# CONFIG_TIFM_CORE is not set 374# CONFIG_TIFM_CORE is not set
375# CONFIG_ENCLOSURE_SERVICES is not set
376CONFIG_HAVE_IDE=y
356# CONFIG_IDE is not set 377# CONFIG_IDE is not set
357 378
358# 379#
@@ -396,6 +417,7 @@ CONFIG_PHYLIB=y
396# CONFIG_SMSC_PHY is not set 417# CONFIG_SMSC_PHY is not set
397CONFIG_BROADCOM_PHY=y 418CONFIG_BROADCOM_PHY=y
398# CONFIG_ICPLUS_PHY is not set 419# CONFIG_ICPLUS_PHY is not set
420# CONFIG_REALTEK_PHY is not set
399# CONFIG_FIXED_PHY is not set 421# CONFIG_FIXED_PHY is not set
400# CONFIG_MDIO_BITBANG is not set 422# CONFIG_MDIO_BITBANG is not set
401CONFIG_NET_ETHERNET=y 423CONFIG_NET_ETHERNET=y
@@ -417,7 +439,9 @@ CONFIG_NETDEV_1000=y
417# CONFIG_DL2K is not set 439# CONFIG_DL2K is not set
418# CONFIG_E1000 is not set 440# CONFIG_E1000 is not set
419# CONFIG_E1000E is not set 441# CONFIG_E1000E is not set
442# CONFIG_E1000E_ENABLED is not set
420# CONFIG_IP1000 is not set 443# CONFIG_IP1000 is not set
444# CONFIG_IGB is not set
421# CONFIG_NS83820 is not set 445# CONFIG_NS83820 is not set
422# CONFIG_HAMACHI is not set 446# CONFIG_HAMACHI is not set
423# CONFIG_YELLOWFIN is not set 447# CONFIG_YELLOWFIN is not set
@@ -444,6 +468,7 @@ CONFIG_NETDEV_10000=y
444# CONFIG_NIU is not set 468# CONFIG_NIU is not set
445# CONFIG_MLX4_CORE is not set 469# CONFIG_MLX4_CORE is not set
446# CONFIG_TEHUTI is not set 470# CONFIG_TEHUTI is not set
471# CONFIG_BNX2X is not set
447# CONFIG_TR is not set 472# CONFIG_TR is not set
448 473
449# 474#
@@ -456,7 +481,6 @@ CONFIG_NETDEV_10000=y
456# CONFIG_HIPPI is not set 481# CONFIG_HIPPI is not set
457# CONFIG_PPP is not set 482# CONFIG_PPP is not set
458# CONFIG_SLIP is not set 483# CONFIG_SLIP is not set
459# CONFIG_SHAPER is not set
460# CONFIG_NETCONSOLE is not set 484# CONFIG_NETCONSOLE is not set
461# CONFIG_NETPOLL is not set 485# CONFIG_NETPOLL is not set
462# CONFIG_NET_POLL_CONTROLLER is not set 486# CONFIG_NET_POLL_CONTROLLER is not set
@@ -499,6 +523,7 @@ CONFIG_INPUT=y
499# 523#
500# CONFIG_VT is not set 524# CONFIG_VT is not set
501# CONFIG_SERIAL_NONSTANDARD is not set 525# CONFIG_SERIAL_NONSTANDARD is not set
526# CONFIG_NOZOMI is not set
502 527
503# 528#
504# Serial drivers 529# Serial drivers
@@ -558,6 +583,7 @@ CONFIG_HWMON=y
558# CONFIG_SENSORS_W83627HF is not set 583# CONFIG_SENSORS_W83627HF is not set
559# CONFIG_SENSORS_W83627EHF is not set 584# CONFIG_SENSORS_W83627EHF is not set
560# CONFIG_HWMON_DEBUG_CHIP is not set 585# CONFIG_HWMON_DEBUG_CHIP is not set
586# CONFIG_THERMAL is not set
561# CONFIG_WATCHDOG is not set 587# CONFIG_WATCHDOG is not set
562 588
563# 589#
@@ -600,10 +626,12 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
600# CONFIG_HID_SUPPORT is not set 626# CONFIG_HID_SUPPORT is not set
601# CONFIG_USB_SUPPORT is not set 627# CONFIG_USB_SUPPORT is not set
602# CONFIG_MMC is not set 628# CONFIG_MMC is not set
629# CONFIG_MEMSTICK is not set
603# CONFIG_NEW_LEDS is not set 630# CONFIG_NEW_LEDS is not set
604# CONFIG_INFINIBAND is not set 631# CONFIG_INFINIBAND is not set
605# CONFIG_EDAC is not set 632# CONFIG_EDAC is not set
606# CONFIG_RTC_CLASS is not set 633# CONFIG_RTC_CLASS is not set
634# CONFIG_DMADEVICES is not set
607 635
608# 636#
609# Userspace I/O 637# Userspace I/O
@@ -622,12 +650,10 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
622# CONFIG_XFS_FS is not set 650# CONFIG_XFS_FS is not set
623# CONFIG_GFS2_FS is not set 651# CONFIG_GFS2_FS is not set
624# CONFIG_OCFS2_FS is not set 652# CONFIG_OCFS2_FS is not set
625# CONFIG_MINIX_FS is not set 653CONFIG_DNOTIFY=y
626# CONFIG_ROMFS_FS is not set
627CONFIG_INOTIFY=y 654CONFIG_INOTIFY=y
628CONFIG_INOTIFY_USER=y 655CONFIG_INOTIFY_USER=y
629# CONFIG_QUOTA is not set 656# CONFIG_QUOTA is not set
630CONFIG_DNOTIFY=y
631# CONFIG_AUTOFS_FS is not set 657# CONFIG_AUTOFS_FS is not set
632# CONFIG_AUTOFS4_FS is not set 658# CONFIG_AUTOFS4_FS is not set
633# CONFIG_FUSE_FS is not set 659# CONFIG_FUSE_FS is not set
@@ -669,8 +695,10 @@ CONFIG_TMPFS=y
669# CONFIG_EFS_FS is not set 695# CONFIG_EFS_FS is not set
670# CONFIG_CRAMFS is not set 696# CONFIG_CRAMFS is not set
671# CONFIG_VXFS_FS is not set 697# CONFIG_VXFS_FS is not set
698# CONFIG_MINIX_FS is not set
672# CONFIG_HPFS_FS is not set 699# CONFIG_HPFS_FS is not set
673# CONFIG_QNX4FS_FS is not set 700# CONFIG_QNX4FS_FS is not set
701# CONFIG_ROMFS_FS is not set
674# CONFIG_SYSV_FS is not set 702# CONFIG_SYSV_FS is not set
675# CONFIG_UFS_FS is not set 703# CONFIG_UFS_FS is not set
676CONFIG_NETWORK_FILESYSTEMS=y 704CONFIG_NETWORK_FILESYSTEMS=y
@@ -714,7 +742,6 @@ CONFIG_PLIST=y
714CONFIG_HAS_IOMEM=y 742CONFIG_HAS_IOMEM=y
715CONFIG_HAS_IOPORT=y 743CONFIG_HAS_IOPORT=y
716CONFIG_HAS_DMA=y 744CONFIG_HAS_DMA=y
717# CONFIG_INSTRUMENTATION is not set
718 745
719# 746#
720# Kernel hacking 747# Kernel hacking
@@ -737,5 +764,49 @@ CONFIG_ENABLE_MUST_CHECK=y
737# CONFIG_KEYS is not set 764# CONFIG_KEYS is not set
738# CONFIG_SECURITY is not set 765# CONFIG_SECURITY is not set
739# CONFIG_SECURITY_FILE_CAPABILITIES is not set 766# CONFIG_SECURITY_FILE_CAPABILITIES is not set
740# CONFIG_CRYPTO is not set 767CONFIG_CRYPTO=y
768# CONFIG_CRYPTO_SEQIV is not set
769# CONFIG_CRYPTO_MANAGER is not set
770# CONFIG_CRYPTO_HMAC is not set
771# CONFIG_CRYPTO_XCBC is not set
772# CONFIG_CRYPTO_NULL is not set
773# CONFIG_CRYPTO_MD4 is not set
774# CONFIG_CRYPTO_MD5 is not set
775# CONFIG_CRYPTO_SHA1 is not set
776# CONFIG_CRYPTO_SHA256 is not set
777# CONFIG_CRYPTO_SHA512 is not set
778# CONFIG_CRYPTO_WP512 is not set
779# CONFIG_CRYPTO_TGR192 is not set
780# CONFIG_CRYPTO_GF128MUL is not set
781# CONFIG_CRYPTO_ECB is not set
782# CONFIG_CRYPTO_CBC is not set
783# CONFIG_CRYPTO_PCBC is not set
784# CONFIG_CRYPTO_LRW is not set
785# CONFIG_CRYPTO_XTS is not set
786# CONFIG_CRYPTO_CTR is not set
787# CONFIG_CRYPTO_GCM is not set
788# CONFIG_CRYPTO_CCM is not set
789# CONFIG_CRYPTO_CRYPTD is not set
790# CONFIG_CRYPTO_DES is not set
791# CONFIG_CRYPTO_FCRYPT is not set
792# CONFIG_CRYPTO_BLOWFISH is not set
793# CONFIG_CRYPTO_TWOFISH is not set
794# CONFIG_CRYPTO_SERPENT is not set
795# CONFIG_CRYPTO_AES is not set
796# CONFIG_CRYPTO_CAST5 is not set
797# CONFIG_CRYPTO_CAST6 is not set
798# CONFIG_CRYPTO_TEA is not set
799# CONFIG_CRYPTO_ARC4 is not set
800# CONFIG_CRYPTO_KHAZAD is not set
801# CONFIG_CRYPTO_ANUBIS is not set
802# CONFIG_CRYPTO_SEED is not set
803# CONFIG_CRYPTO_SALSA20 is not set
804# CONFIG_CRYPTO_DEFLATE is not set
805# CONFIG_CRYPTO_MICHAEL_MIC is not set
806# CONFIG_CRYPTO_CRC32C is not set
807# CONFIG_CRYPTO_CAMELLIA is not set
808# CONFIG_CRYPTO_AUTHENC is not set
809# CONFIG_CRYPTO_LZO is not set
810CONFIG_CRYPTO_HW=y
811# CONFIG_CRYPTO_DEV_HIFN_795X is not set
741# CONFIG_PPC_CLOCK is not set 812# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/sbc8560_defconfig b/arch/powerpc/configs/sbc8560_defconfig
index d89fce0d3ba..fef605579e2 100644
--- a/arch/powerpc/configs/sbc8560_defconfig
+++ b/arch/powerpc/configs/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.24-rc4 3# Linux kernel version: 2.6.25-rc6
4# Wed Jan 23 14:59:20 2008 4# Mon Mar 24 08:48:39 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76CONFIG_FAIR_GROUP_SCHED=y 76CONFIG_FAIR_GROUP_SCHED=y
77CONFIG_FAIR_USER_SCHED=y 77# CONFIG_RT_GROUP_SCHED is not set
78# CONFIG_FAIR_CGROUP_SCHED is not set 78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -91,17 +94,26 @@ CONFIG_HOTPLUG=y
91CONFIG_PRINTK=y 94CONFIG_PRINTK=y
92CONFIG_BUG=y 95CONFIG_BUG=y
93CONFIG_ELF_CORE=y 96CONFIG_ELF_CORE=y
97CONFIG_COMPAT_BRK=y
94CONFIG_BASE_FULL=y 98CONFIG_BASE_FULL=y
95CONFIG_FUTEX=y 99CONFIG_FUTEX=y
96CONFIG_ANON_INODES=y 100CONFIG_ANON_INODES=y
97CONFIG_EPOLL=y 101CONFIG_EPOLL=y
98CONFIG_SIGNALFD=y 102CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
100CONFIG_SHMEM=y 105CONFIG_SHMEM=y
101CONFIG_VM_EVENT_COUNTERS=y 106CONFIG_VM_EVENT_COUNTERS=y
102CONFIG_SLAB=y 107CONFIG_SLAB=y
103# CONFIG_SLUB is not set 108# CONFIG_SLUB is not set
104# CONFIG_SLOB is not set 109# CONFIG_SLOB is not set
110# CONFIG_PROFILING is not set
111# CONFIG_MARKERS is not set
112CONFIG_HAVE_OPROFILE=y
113CONFIG_HAVE_KPROBES=y
114CONFIG_HAVE_KRETPROBES=y
115CONFIG_PROC_PAGE_MONITOR=y
116CONFIG_SLABINFO=y
105CONFIG_RT_MUTEXES=y 117CONFIG_RT_MUTEXES=y
106# CONFIG_TINY_SHMEM is not set 118# CONFIG_TINY_SHMEM is not set
107CONFIG_BASE_SMALL=0 119CONFIG_BASE_SMALL=0
@@ -124,23 +136,30 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 136# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 137# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 138CONFIG_DEFAULT_IOSCHED="anticipatory"
139CONFIG_CLASSIC_RCU=y
127 140
128# 141#
129# Platform support 142# Platform support
130# 143#
131# CONFIG_PPC_MPC52xx is not set 144# CONFIG_PPC_MPC512x is not set
132# CONFIG_PPC_MPC5200 is not set 145# CONFIG_PPC_MPC5121 is not set
133# CONFIG_PPC_CELL is not set 146# CONFIG_PPC_CELL is not set
134# CONFIG_PPC_CELL_NATIVE is not set 147# CONFIG_PPC_CELL_NATIVE is not set
135# CONFIG_PQ2ADS is not set 148# CONFIG_PQ2ADS is not set
149CONFIG_MPC85xx=y
136# CONFIG_MPC8540_ADS is not set 150# CONFIG_MPC8540_ADS is not set
137# CONFIG_MPC8560_ADS is not set 151# CONFIG_MPC8560_ADS is not set
138# CONFIG_MPC85xx_CDS is not set 152# CONFIG_MPC85xx_CDS is not set
139# CONFIG_MPC85xx_MDS is not set 153# CONFIG_MPC85xx_MDS is not set
140# CONFIG_MPC85xx_DS is not set 154# CONFIG_MPC85xx_DS is not set
155# CONFIG_STX_GP3 is not set
156# CONFIG_TQM8540 is not set
157# CONFIG_TQM8541 is not set
158# CONFIG_TQM8555 is not set
159# CONFIG_TQM8560 is not set
160# CONFIG_SBC8548 is not set
141CONFIG_SBC8560=y 161CONFIG_SBC8560=y
142CONFIG_MPC8560=y 162# CONFIG_IPIC is not set
143CONFIG_MPC85xx=y
144CONFIG_MPIC=y 163CONFIG_MPIC=y
145# CONFIG_MPIC_WEIRD is not set 164# CONFIG_MPIC_WEIRD is not set
146# CONFIG_PPC_I8259 is not set 165# CONFIG_PPC_I8259 is not set
@@ -167,13 +186,17 @@ CONFIG_HZ_250=y
167# CONFIG_HZ_300 is not set 186# CONFIG_HZ_300 is not set
168# CONFIG_HZ_1000 is not set 187# CONFIG_HZ_1000 is not set
169CONFIG_HZ=250 188CONFIG_HZ=250
189# CONFIG_SCHED_HRTICK is not set
170CONFIG_PREEMPT_NONE=y 190CONFIG_PREEMPT_NONE=y
171# CONFIG_PREEMPT_VOLUNTARY is not set 191# CONFIG_PREEMPT_VOLUNTARY is not set
172# CONFIG_PREEMPT is not set 192# CONFIG_PREEMPT is not set
173CONFIG_BINFMT_ELF=y 193CONFIG_BINFMT_ELF=y
174CONFIG_BINFMT_MISC=y 194CONFIG_BINFMT_MISC=y
175# CONFIG_MATH_EMULATION is not set 195# CONFIG_MATH_EMULATION is not set
196# CONFIG_IOMMU_HELPER is not set
176CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 197CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
198CONFIG_ARCH_HAS_WALK_MEMORY=y
199CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
177CONFIG_ARCH_FLATMEM_ENABLE=y 200CONFIG_ARCH_FLATMEM_ENABLE=y
178CONFIG_ARCH_POPULATES_NODE_MAP=y 201CONFIG_ARCH_POPULATES_NODE_MAP=y
179CONFIG_SELECT_MEMORY_MODEL=y 202CONFIG_SELECT_MEMORY_MODEL=y
@@ -192,11 +215,7 @@ CONFIG_VIRT_TO_BUS=y
192CONFIG_PROC_DEVICETREE=y 215CONFIG_PROC_DEVICETREE=y
193# CONFIG_CMDLINE_BOOL is not set 216# CONFIG_CMDLINE_BOOL is not set
194# CONFIG_PM is not set 217# CONFIG_PM is not set
195CONFIG_SUSPEND_UP_POSSIBLE=y
196CONFIG_HIBERNATION_UP_POSSIBLE=y
197# CONFIG_SECCOMP is not set 218# CONFIG_SECCOMP is not set
198CONFIG_WANT_DEVICE_TREE=y
199CONFIG_DEVICE_TREE=""
200CONFIG_ISA_DMA_API=y 219CONFIG_ISA_DMA_API=y
201 220
202# 221#
@@ -239,6 +258,7 @@ CONFIG_XFRM=y
239CONFIG_XFRM_USER=y 258CONFIG_XFRM_USER=y
240# CONFIG_XFRM_SUB_POLICY is not set 259# CONFIG_XFRM_SUB_POLICY is not set
241# CONFIG_XFRM_MIGRATE is not set 260# CONFIG_XFRM_MIGRATE is not set
261# CONFIG_XFRM_STATISTICS is not set
242# CONFIG_NET_KEY is not set 262# CONFIG_NET_KEY is not set
243CONFIG_INET=y 263CONFIG_INET=y
244CONFIG_IP_MULTICAST=y 264CONFIG_IP_MULTICAST=y
@@ -294,6 +314,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
294# 314#
295# CONFIG_NET_PKTGEN is not set 315# CONFIG_NET_PKTGEN is not set
296# CONFIG_HAMRADIO is not set 316# CONFIG_HAMRADIO is not set
317# CONFIG_CAN is not set
297# CONFIG_IRDA is not set 318# CONFIG_IRDA is not set
298# CONFIG_BT is not set 319# CONFIG_BT is not set
299# CONFIG_AF_RXRPC is not set 320# CONFIG_AF_RXRPC is not set
@@ -335,11 +356,13 @@ CONFIG_BLK_DEV_LOOP=y
335CONFIG_BLK_DEV_RAM=y 356CONFIG_BLK_DEV_RAM=y
336CONFIG_BLK_DEV_RAM_COUNT=16 357CONFIG_BLK_DEV_RAM_COUNT=16
337CONFIG_BLK_DEV_RAM_SIZE=32768 358CONFIG_BLK_DEV_RAM_SIZE=32768
338CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 359# CONFIG_BLK_DEV_XIP is not set
339# CONFIG_CDROM_PKTCDVD is not set 360# CONFIG_CDROM_PKTCDVD is not set
340# CONFIG_ATA_OVER_ETH is not set 361# CONFIG_ATA_OVER_ETH is not set
341CONFIG_MISC_DEVICES=y 362CONFIG_MISC_DEVICES=y
342# CONFIG_EEPROM_93CX6 is not set 363# CONFIG_EEPROM_93CX6 is not set
364# CONFIG_ENCLOSURE_SERVICES is not set
365CONFIG_HAVE_IDE=y
343# CONFIG_IDE is not set 366# CONFIG_IDE is not set
344 367
345# 368#
@@ -374,6 +397,7 @@ CONFIG_PHYLIB=y
374# CONFIG_SMSC_PHY is not set 397# CONFIG_SMSC_PHY is not set
375CONFIG_BROADCOM_PHY=y 398CONFIG_BROADCOM_PHY=y
376# CONFIG_ICPLUS_PHY is not set 399# CONFIG_ICPLUS_PHY is not set
400# CONFIG_REALTEK_PHY is not set
377# CONFIG_FIXED_PHY is not set 401# CONFIG_FIXED_PHY is not set
378# CONFIG_MDIO_BITBANG is not set 402# CONFIG_MDIO_BITBANG is not set
379CONFIG_NET_ETHERNET=y 403CONFIG_NET_ETHERNET=y
@@ -384,6 +408,7 @@ CONFIG_MII=y
384# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 408# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
385# CONFIG_B44 is not set 409# CONFIG_B44 is not set
386CONFIG_NETDEV_1000=y 410CONFIG_NETDEV_1000=y
411# CONFIG_E1000E_ENABLED is not set
387CONFIG_GIANFAR=y 412CONFIG_GIANFAR=y
388CONFIG_GFAR_NAPI=y 413CONFIG_GFAR_NAPI=y
389CONFIG_NETDEV_10000=y 414CONFIG_NETDEV_10000=y
@@ -396,7 +421,6 @@ CONFIG_NETDEV_10000=y
396# CONFIG_WAN is not set 421# CONFIG_WAN is not set
397# CONFIG_PPP is not set 422# CONFIG_PPP is not set
398# CONFIG_SLIP is not set 423# CONFIG_SLIP is not set
399# CONFIG_SHAPER is not set
400# CONFIG_NETCONSOLE is not set 424# CONFIG_NETCONSOLE is not set
401# CONFIG_NETPOLL is not set 425# CONFIG_NETPOLL is not set
402# CONFIG_NET_POLL_CONTROLLER is not set 426# CONFIG_NET_POLL_CONTROLLER is not set
@@ -489,6 +513,7 @@ CONFIG_HWMON=y
489# CONFIG_SENSORS_W83627HF is not set 513# CONFIG_SENSORS_W83627HF is not set
490# CONFIG_SENSORS_W83627EHF is not set 514# CONFIG_SENSORS_W83627EHF is not set
491# CONFIG_HWMON_DEBUG_CHIP is not set 515# CONFIG_HWMON_DEBUG_CHIP is not set
516# CONFIG_THERMAL is not set
492# CONFIG_WATCHDOG is not set 517# CONFIG_WATCHDOG is not set
493 518
494# 519#
@@ -538,12 +563,9 @@ CONFIG_USB_SUPPORT=y
538# 563#
539# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 564# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
540# 565#
541
542#
543# USB Gadget Support
544#
545# CONFIG_USB_GADGET is not set 566# CONFIG_USB_GADGET is not set
546# CONFIG_MMC is not set 567# CONFIG_MMC is not set
568# CONFIG_MEMSTICK is not set
547# CONFIG_NEW_LEDS is not set 569# CONFIG_NEW_LEDS is not set
548# CONFIG_EDAC is not set 570# CONFIG_EDAC is not set
549CONFIG_RTC_LIB=y 571CONFIG_RTC_LIB=y
@@ -569,9 +591,10 @@ CONFIG_RTC_INTF_DEV=y
569# Platform RTC drivers 591# Platform RTC drivers
570# 592#
571# CONFIG_RTC_DRV_CMOS is not set 593# CONFIG_RTC_DRV_CMOS is not set
594# CONFIG_RTC_DRV_DS1511 is not set
572# CONFIG_RTC_DRV_DS1553 is not set 595# CONFIG_RTC_DRV_DS1553 is not set
573# CONFIG_RTC_DRV_STK17TA8 is not set
574# CONFIG_RTC_DRV_DS1742 is not set 596# CONFIG_RTC_DRV_DS1742 is not set
597# CONFIG_RTC_DRV_STK17TA8 is not set
575# CONFIG_RTC_DRV_M48T86 is not set 598# CONFIG_RTC_DRV_M48T86 is not set
576CONFIG_RTC_DRV_M48T59=y 599CONFIG_RTC_DRV_M48T59=y
577# CONFIG_RTC_DRV_V3020 is not set 600# CONFIG_RTC_DRV_V3020 is not set
@@ -579,6 +602,7 @@ CONFIG_RTC_DRV_M48T59=y
579# 602#
580# on-CPU RTC drivers 603# on-CPU RTC drivers
581# 604#
605# CONFIG_DMADEVICES is not set
582 606
583# 607#
584# Userspace I/O 608# Userspace I/O
@@ -597,12 +621,10 @@ CONFIG_RTC_DRV_M48T59=y
597# CONFIG_XFS_FS is not set 621# CONFIG_XFS_FS is not set
598# CONFIG_GFS2_FS is not set 622# CONFIG_GFS2_FS is not set
599# CONFIG_OCFS2_FS is not set 623# CONFIG_OCFS2_FS is not set
600# CONFIG_MINIX_FS is not set 624CONFIG_DNOTIFY=y
601# CONFIG_ROMFS_FS is not set
602CONFIG_INOTIFY=y 625CONFIG_INOTIFY=y
603CONFIG_INOTIFY_USER=y 626CONFIG_INOTIFY_USER=y
604# CONFIG_QUOTA is not set 627# CONFIG_QUOTA is not set
605CONFIG_DNOTIFY=y
606# CONFIG_AUTOFS_FS is not set 628# CONFIG_AUTOFS_FS is not set
607# CONFIG_AUTOFS4_FS is not set 629# CONFIG_AUTOFS4_FS is not set
608# CONFIG_FUSE_FS is not set 630# CONFIG_FUSE_FS is not set
@@ -644,8 +666,10 @@ CONFIG_TMPFS=y
644# CONFIG_EFS_FS is not set 666# CONFIG_EFS_FS is not set
645# CONFIG_CRAMFS is not set 667# CONFIG_CRAMFS is not set
646# CONFIG_VXFS_FS is not set 668# CONFIG_VXFS_FS is not set
669# CONFIG_MINIX_FS is not set
647# CONFIG_HPFS_FS is not set 670# CONFIG_HPFS_FS is not set
648# CONFIG_QNX4FS_FS is not set 671# CONFIG_QNX4FS_FS is not set
672# CONFIG_ROMFS_FS is not set
649# CONFIG_SYSV_FS is not set 673# CONFIG_SYSV_FS is not set
650# CONFIG_UFS_FS is not set 674# CONFIG_UFS_FS is not set
651CONFIG_NETWORK_FILESYSTEMS=y 675CONFIG_NETWORK_FILESYSTEMS=y
@@ -686,7 +710,6 @@ CONFIG_PARTITION_ADVANCED=y
686# CONFIG_SYSV68_PARTITION is not set 710# CONFIG_SYSV68_PARTITION is not set
687# CONFIG_NLS is not set 711# CONFIG_NLS is not set
688# CONFIG_DLM is not set 712# CONFIG_DLM is not set
689# CONFIG_UCC_SLOW is not set
690 713
691# 714#
692# Library routines 715# Library routines
@@ -702,7 +725,6 @@ CONFIG_PLIST=y
702CONFIG_HAS_IOMEM=y 725CONFIG_HAS_IOMEM=y
703CONFIG_HAS_IOPORT=y 726CONFIG_HAS_IOPORT=y
704CONFIG_HAS_DMA=y 727CONFIG_HAS_DMA=y
705# CONFIG_INSTRUMENTATION is not set
706 728
707# 729#
708# Kernel hacking 730# Kernel hacking
@@ -733,8 +755,8 @@ CONFIG_DEBUG_MUTEXES=y
733# CONFIG_DEBUG_VM is not set 755# CONFIG_DEBUG_VM is not set
734# CONFIG_DEBUG_LIST is not set 756# CONFIG_DEBUG_LIST is not set
735# CONFIG_DEBUG_SG is not set 757# CONFIG_DEBUG_SG is not set
736CONFIG_FORCED_INLINING=y
737# CONFIG_BOOT_PRINTK_DELAY is not set 758# CONFIG_BOOT_PRINTK_DELAY is not set
759# CONFIG_BACKTRACE_SELF_TEST is not set
738# CONFIG_FAULT_INJECTION is not set 760# CONFIG_FAULT_INJECTION is not set
739# CONFIG_SAMPLES is not set 761# CONFIG_SAMPLES is not set
740# CONFIG_DEBUG_STACKOVERFLOW is not set 762# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -752,6 +774,7 @@ CONFIG_PPC_EARLY_DEBUG=y
752# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set 774# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
753# CONFIG_PPC_EARLY_DEBUG_BEAT is not set 775# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
754# CONFIG_PPC_EARLY_DEBUG_44x is not set 776# CONFIG_PPC_EARLY_DEBUG_44x is not set
777# CONFIG_PPC_EARLY_DEBUG_40x is not set
755# CONFIG_PPC_EARLY_DEBUG_CPM is not set 778# CONFIG_PPC_EARLY_DEBUG_CPM is not set
756 779
757# 780#
@@ -760,5 +783,48 @@ CONFIG_PPC_EARLY_DEBUG=y
760# CONFIG_KEYS is not set 783# CONFIG_KEYS is not set
761# CONFIG_SECURITY is not set 784# CONFIG_SECURITY is not set
762# CONFIG_SECURITY_FILE_CAPABILITIES is not set 785# CONFIG_SECURITY_FILE_CAPABILITIES is not set
763# CONFIG_CRYPTO is not set 786CONFIG_CRYPTO=y
787# CONFIG_CRYPTO_SEQIV is not set
788# CONFIG_CRYPTO_MANAGER is not set
789# CONFIG_CRYPTO_HMAC is not set
790# CONFIG_CRYPTO_XCBC is not set
791# CONFIG_CRYPTO_NULL is not set
792# CONFIG_CRYPTO_MD4 is not set
793# CONFIG_CRYPTO_MD5 is not set
794# CONFIG_CRYPTO_SHA1 is not set
795# CONFIG_CRYPTO_SHA256 is not set
796# CONFIG_CRYPTO_SHA512 is not set
797# CONFIG_CRYPTO_WP512 is not set
798# CONFIG_CRYPTO_TGR192 is not set
799# CONFIG_CRYPTO_GF128MUL is not set
800# CONFIG_CRYPTO_ECB is not set
801# CONFIG_CRYPTO_CBC is not set
802# CONFIG_CRYPTO_PCBC is not set
803# CONFIG_CRYPTO_LRW is not set
804# CONFIG_CRYPTO_XTS is not set
805# CONFIG_CRYPTO_CTR is not set
806# CONFIG_CRYPTO_GCM is not set
807# CONFIG_CRYPTO_CCM is not set
808# CONFIG_CRYPTO_CRYPTD is not set
809# CONFIG_CRYPTO_DES is not set
810# CONFIG_CRYPTO_FCRYPT is not set
811# CONFIG_CRYPTO_BLOWFISH is not set
812# CONFIG_CRYPTO_TWOFISH is not set
813# CONFIG_CRYPTO_SERPENT is not set
814# CONFIG_CRYPTO_AES is not set
815# CONFIG_CRYPTO_CAST5 is not set
816# CONFIG_CRYPTO_CAST6 is not set
817# CONFIG_CRYPTO_TEA is not set
818# CONFIG_CRYPTO_ARC4 is not set
819# CONFIG_CRYPTO_KHAZAD is not set
820# CONFIG_CRYPTO_ANUBIS is not set
821# CONFIG_CRYPTO_SEED is not set
822# CONFIG_CRYPTO_SALSA20 is not set
823# CONFIG_CRYPTO_DEFLATE is not set
824# CONFIG_CRYPTO_MICHAEL_MIC is not set
825# CONFIG_CRYPTO_CRC32C is not set
826# CONFIG_CRYPTO_CAMELLIA is not set
827# CONFIG_CRYPTO_AUTHENC is not set
828# CONFIG_CRYPTO_LZO is not set
829CONFIG_CRYPTO_HW=y
764# CONFIG_PPC_CLOCK is not set 830# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index a034a5e452e..8fc85747a0a 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.24-rc6 3# Linux kernel version: 2.6.25-rc6
4# Tue Jan 8 09:33:54 2008 4# Mon Mar 24 08:48:41 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -66,17 +67,19 @@ CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
69# CONFIG_USER_NS is not set
70# CONFIG_PID_NS is not set
71# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 71# CONFIG_IKCONFIG is not set
73CONFIG_LOG_BUF_SHIFT=14 72CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 73# CONFIG_CGROUPS is not set
74CONFIG_GROUP_SCHED=y
75CONFIG_FAIR_GROUP_SCHED=y 75CONFIG_FAIR_GROUP_SCHED=y
76CONFIG_FAIR_USER_SCHED=y 76# CONFIG_RT_GROUP_SCHED is not set
77# CONFIG_FAIR_CGROUP_SCHED is not set 77CONFIG_USER_SCHED=y
78# CONFIG_CGROUP_SCHED is not set
78CONFIG_SYSFS_DEPRECATED=y 79CONFIG_SYSFS_DEPRECATED=y
80CONFIG_SYSFS_DEPRECATED_V2=y
79# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
82# CONFIG_NAMESPACES is not set
80# CONFIG_BLK_DEV_INITRD is not set 83# CONFIG_BLK_DEV_INITRD is not set
81CONFIG_CC_OPTIMIZE_FOR_SIZE=y 84CONFIG_CC_OPTIMIZE_FOR_SIZE=y
82CONFIG_SYSCTL=y 85CONFIG_SYSCTL=y
@@ -87,11 +90,13 @@ CONFIG_HOTPLUG=y
87CONFIG_PRINTK=y 90CONFIG_PRINTK=y
88CONFIG_BUG=y 91CONFIG_BUG=y
89CONFIG_ELF_CORE=y 92CONFIG_ELF_CORE=y
93CONFIG_COMPAT_BRK=y
90CONFIG_BASE_FULL=y 94CONFIG_BASE_FULL=y
91CONFIG_FUTEX=y 95CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y 96CONFIG_ANON_INODES=y
93CONFIG_EPOLL=y 97CONFIG_EPOLL=y
94CONFIG_SIGNALFD=y 98CONFIG_SIGNALFD=y
99CONFIG_TIMERFD=y
95CONFIG_EVENTFD=y 100CONFIG_EVENTFD=y
96CONFIG_SHMEM=y 101CONFIG_SHMEM=y
97CONFIG_VM_EVENT_COUNTERS=y 102CONFIG_VM_EVENT_COUNTERS=y
@@ -99,6 +104,13 @@ CONFIG_SLUB_DEBUG=y
99# CONFIG_SLAB is not set 104# CONFIG_SLAB is not set
100CONFIG_SLUB=y 105CONFIG_SLUB=y
101# CONFIG_SLOB is not set 106# CONFIG_SLOB is not set
107# CONFIG_PROFILING is not set
108# CONFIG_MARKERS is not set
109CONFIG_HAVE_OPROFILE=y
110CONFIG_HAVE_KPROBES=y
111CONFIG_HAVE_KRETPROBES=y
112CONFIG_PROC_PAGE_MONITOR=y
113CONFIG_SLABINFO=y
102CONFIG_RT_MUTEXES=y 114CONFIG_RT_MUTEXES=y
103# CONFIG_TINY_SHMEM is not set 115# CONFIG_TINY_SHMEM is not set
104CONFIG_BASE_SMALL=0 116CONFIG_BASE_SMALL=0
@@ -126,6 +138,7 @@ CONFIG_IOSCHED_CFQ=y
126CONFIG_DEFAULT_CFQ=y 138CONFIG_DEFAULT_CFQ=y
127# CONFIG_DEFAULT_NOOP is not set 139# CONFIG_DEFAULT_NOOP is not set
128CONFIG_DEFAULT_IOSCHED="cfq" 140CONFIG_DEFAULT_IOSCHED="cfq"
141CONFIG_CLASSIC_RCU=y
129 142
130# 143#
131# Platform support 144# Platform support
@@ -136,10 +149,10 @@ CONFIG_PPC_MULTIPLATFORM=y
136# CONFIG_PPC_86xx is not set 149# CONFIG_PPC_86xx is not set
137CONFIG_CLASSIC32=y 150CONFIG_CLASSIC32=y
138# CONFIG_PPC_CHRP is not set 151# CONFIG_PPC_CHRP is not set
152# CONFIG_PPC_MPC512x is not set
153# CONFIG_PPC_MPC5121 is not set
154# CONFIG_MPC5121_ADS is not set
139# CONFIG_PPC_MPC52xx is not set 155# CONFIG_PPC_MPC52xx is not set
140# CONFIG_PPC_MPC5200 is not set
141# CONFIG_PPC_EFIKA is not set
142# CONFIG_PPC_LITE5200 is not set
143# CONFIG_PPC_PMAC is not set 156# CONFIG_PPC_PMAC is not set
144# CONFIG_PPC_CELL is not set 157# CONFIG_PPC_CELL is not set
145# CONFIG_PPC_CELL_NATIVE is not set 158# CONFIG_PPC_CELL_NATIVE is not set
@@ -153,6 +166,7 @@ CONFIG_STORCENTER=y
153CONFIG_MPC10X_BRIDGE=y 166CONFIG_MPC10X_BRIDGE=y
154CONFIG_MPC10X_OPENPIC=y 167CONFIG_MPC10X_OPENPIC=y
155# CONFIG_MPC10X_STORE_GATHERING is not set 168# CONFIG_MPC10X_STORE_GATHERING is not set
169# CONFIG_IPIC is not set
156CONFIG_MPIC=y 170CONFIG_MPIC=y
157# CONFIG_MPIC_WEIRD is not set 171# CONFIG_MPIC_WEIRD is not set
158# CONFIG_PPC_I8259 is not set 172# CONFIG_PPC_I8259 is not set
@@ -164,7 +178,6 @@ CONFIG_MPIC=y
164# CONFIG_GENERIC_IOMAP is not set 178# CONFIG_GENERIC_IOMAP is not set
165# CONFIG_CPU_FREQ is not set 179# CONFIG_CPU_FREQ is not set
166# CONFIG_TAU is not set 180# CONFIG_TAU is not set
167# CONFIG_CPM2 is not set
168# CONFIG_FSL_ULI1575 is not set 181# CONFIG_FSL_ULI1575 is not set
169 182
170# 183#
@@ -180,12 +193,16 @@ CONFIG_HZ_100=y
180# CONFIG_HZ_300 is not set 193# CONFIG_HZ_300 is not set
181# CONFIG_HZ_1000 is not set 194# CONFIG_HZ_1000 is not set
182CONFIG_HZ=100 195CONFIG_HZ=100
196# CONFIG_SCHED_HRTICK is not set
183CONFIG_PREEMPT_NONE=y 197CONFIG_PREEMPT_NONE=y
184# CONFIG_PREEMPT_VOLUNTARY is not set 198# CONFIG_PREEMPT_VOLUNTARY is not set
185# CONFIG_PREEMPT is not set 199# CONFIG_PREEMPT is not set
186CONFIG_BINFMT_ELF=y 200CONFIG_BINFMT_ELF=y
187CONFIG_BINFMT_MISC=y 201CONFIG_BINFMT_MISC=y
202# CONFIG_IOMMU_HELPER is not set
188CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 203CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
204CONFIG_ARCH_HAS_WALK_MEMORY=y
205CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
189# CONFIG_KEXEC is not set 206# CONFIG_KEXEC is not set
190CONFIG_ARCH_FLATMEM_ENABLE=y 207CONFIG_ARCH_FLATMEM_ENABLE=y
191CONFIG_ARCH_POPULATES_NODE_MAP=y 208CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -206,11 +223,7 @@ CONFIG_PROC_DEVICETREE=y
206CONFIG_CMDLINE_BOOL=y 223CONFIG_CMDLINE_BOOL=y
207CONFIG_CMDLINE="console=ttyS0,115200" 224CONFIG_CMDLINE="console=ttyS0,115200"
208# CONFIG_PM is not set 225# CONFIG_PM is not set
209CONFIG_SUSPEND_UP_POSSIBLE=y
210CONFIG_HIBERNATION_UP_POSSIBLE=y
211# CONFIG_SECCOMP is not set 226# CONFIG_SECCOMP is not set
212CONFIG_WANT_DEVICE_TREE=y
213CONFIG_DEVICE_TREE="storcenter.dts"
214CONFIG_ISA_DMA_API=y 227CONFIG_ISA_DMA_API=y
215 228
216# 229#
@@ -310,6 +323,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
310# 323#
311# CONFIG_NET_PKTGEN is not set 324# CONFIG_NET_PKTGEN is not set
312# CONFIG_HAMRADIO is not set 325# CONFIG_HAMRADIO is not set
326# CONFIG_CAN is not set
313# CONFIG_IRDA is not set 327# CONFIG_IRDA is not set
314# CONFIG_BT is not set 328# CONFIG_BT is not set
315# CONFIG_AF_RXRPC is not set 329# CONFIG_AF_RXRPC is not set
@@ -343,6 +357,7 @@ CONFIG_MTD=y
343CONFIG_MTD_PARTITIONS=y 357CONFIG_MTD_PARTITIONS=y
344# CONFIG_MTD_REDBOOT_PARTS is not set 358# CONFIG_MTD_REDBOOT_PARTS is not set
345# CONFIG_MTD_CMDLINE_PARTS is not set 359# CONFIG_MTD_CMDLINE_PARTS is not set
360# CONFIG_MTD_OF_PARTS is not set
346 361
347# 362#
348# User Modules And Translation Layers 363# User Modules And Translation Layers
@@ -438,12 +453,14 @@ CONFIG_MISC_DEVICES=y
438# CONFIG_EEPROM_93CX6 is not set 453# CONFIG_EEPROM_93CX6 is not set
439# CONFIG_SGI_IOC4 is not set 454# CONFIG_SGI_IOC4 is not set
440# CONFIG_TIFM_CORE is not set 455# CONFIG_TIFM_CORE is not set
456# CONFIG_ENCLOSURE_SERVICES is not set
457CONFIG_HAVE_IDE=y
441CONFIG_IDE=y 458CONFIG_IDE=y
442CONFIG_IDE_MAX_HWIFS=4 459CONFIG_IDE_MAX_HWIFS=4
443CONFIG_BLK_DEV_IDE=y 460CONFIG_BLK_DEV_IDE=y
444 461
445# 462#
446# Please see Documentation/ide.txt for help/info on IDE drives 463# Please see Documentation/ide/ide.txt for help/info on IDE drives
447# 464#
448# CONFIG_BLK_DEV_IDE_SATA is not set 465# CONFIG_BLK_DEV_IDE_SATA is not set
449CONFIG_BLK_DEV_IDEDISK=y 466CONFIG_BLK_DEV_IDEDISK=y
@@ -460,12 +477,12 @@ CONFIG_IDE_PROC_FS=y
460# 477#
461CONFIG_IDE_GENERIC=y 478CONFIG_IDE_GENERIC=y
462# CONFIG_BLK_DEV_PLATFORM is not set 479# CONFIG_BLK_DEV_PLATFORM is not set
480CONFIG_BLK_DEV_IDEDMA_SFF=y
463 481
464# 482#
465# PCI IDE chipsets support 483# PCI IDE chipsets support
466# 484#
467CONFIG_BLK_DEV_IDEPCI=y 485CONFIG_BLK_DEV_IDEPCI=y
468# CONFIG_IDEPCI_SHARE_IRQ is not set
469CONFIG_IDEPCI_PCIBUS_ORDER=y 486CONFIG_IDEPCI_PCIBUS_ORDER=y
470# CONFIG_BLK_DEV_GENERIC is not set 487# CONFIG_BLK_DEV_GENERIC is not set
471# CONFIG_BLK_DEV_OPTI621 is not set 488# CONFIG_BLK_DEV_OPTI621 is not set
@@ -495,7 +512,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
495# CONFIG_BLK_DEV_TRM290 is not set 512# CONFIG_BLK_DEV_TRM290 is not set
496CONFIG_BLK_DEV_VIA82CXXX=y 513CONFIG_BLK_DEV_VIA82CXXX=y
497# CONFIG_BLK_DEV_TC86C001 is not set 514# CONFIG_BLK_DEV_TC86C001 is not set
498# CONFIG_IDE_ARM is not set
499CONFIG_BLK_DEV_IDEDMA=y 515CONFIG_BLK_DEV_IDEDMA=y
500CONFIG_IDE_ARCH_OBSOLETE_INIT=y 516CONFIG_IDE_ARCH_OBSOLETE_INIT=y
501# CONFIG_BLK_DEV_HD is not set 517# CONFIG_BLK_DEV_HD is not set
@@ -563,6 +579,7 @@ CONFIG_SCSI_LOWLEVEL=y
563# CONFIG_SCSI_IPS is not set 579# CONFIG_SCSI_IPS is not set
564# CONFIG_SCSI_INITIO is not set 580# CONFIG_SCSI_INITIO is not set
565# CONFIG_SCSI_INIA100 is not set 581# CONFIG_SCSI_INIA100 is not set
582# CONFIG_SCSI_MVSAS is not set
566# CONFIG_SCSI_STEX is not set 583# CONFIG_SCSI_STEX is not set
567# CONFIG_SCSI_SYM53C8XX_2 is not set 584# CONFIG_SCSI_SYM53C8XX_2 is not set
568# CONFIG_SCSI_QLOGIC_1280 is not set 585# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -603,7 +620,6 @@ CONFIG_DUMMY=m
603# CONFIG_EQUALIZER is not set 620# CONFIG_EQUALIZER is not set
604# CONFIG_TUN is not set 621# CONFIG_TUN is not set
605# CONFIG_VETH is not set 622# CONFIG_VETH is not set
606# CONFIG_IP1000 is not set
607# CONFIG_ARCNET is not set 623# CONFIG_ARCNET is not set
608# CONFIG_NET_ETHERNET is not set 624# CONFIG_NET_ETHERNET is not set
609CONFIG_NETDEV_1000=y 625CONFIG_NETDEV_1000=y
@@ -611,6 +627,9 @@ CONFIG_NETDEV_1000=y
611# CONFIG_DL2K is not set 627# CONFIG_DL2K is not set
612# CONFIG_E1000 is not set 628# CONFIG_E1000 is not set
613# CONFIG_E1000E is not set 629# CONFIG_E1000E is not set
630# CONFIG_E1000E_ENABLED is not set
631# CONFIG_IP1000 is not set
632# CONFIG_IGB is not set
614# CONFIG_NS83820 is not set 633# CONFIG_NS83820 is not set
615# CONFIG_HAMACHI is not set 634# CONFIG_HAMACHI is not set
616# CONFIG_YELLOWFIN is not set 635# CONFIG_YELLOWFIN is not set
@@ -623,6 +642,7 @@ CONFIG_R8169=y
623# CONFIG_VIA_VELOCITY is not set 642# CONFIG_VIA_VELOCITY is not set
624# CONFIG_TIGON3 is not set 643# CONFIG_TIGON3 is not set
625# CONFIG_BNX2 is not set 644# CONFIG_BNX2 is not set
645# CONFIG_GIANFAR is not set
626# CONFIG_MV643XX_ETH is not set 646# CONFIG_MV643XX_ETH is not set
627# CONFIG_QLA3XXX is not set 647# CONFIG_QLA3XXX is not set
628# CONFIG_ATL1 is not set 648# CONFIG_ATL1 is not set
@@ -649,7 +669,6 @@ CONFIG_R8169=y
649# CONFIG_PPP is not set 669# CONFIG_PPP is not set
650# CONFIG_SLIP is not set 670# CONFIG_SLIP is not set
651# CONFIG_NET_FC is not set 671# CONFIG_NET_FC is not set
652# CONFIG_SHAPER is not set
653# CONFIG_NETCONSOLE is not set 672# CONFIG_NETCONSOLE is not set
654# CONFIG_NETPOLL is not set 673# CONFIG_NETPOLL is not set
655# CONFIG_NET_POLL_CONTROLLER is not set 674# CONFIG_NET_POLL_CONTROLLER is not set
@@ -672,6 +691,7 @@ CONFIG_R8169=y
672# 691#
673# CONFIG_VT is not set 692# CONFIG_VT is not set
674# CONFIG_SERIAL_NONSTANDARD is not set 693# CONFIG_SERIAL_NONSTANDARD is not set
694# CONFIG_NOZOMI is not set
675 695
676# 696#
677# Serial drivers 697# Serial drivers
@@ -746,14 +766,12 @@ CONFIG_I2C_MPC=y
746# 766#
747# Miscellaneous I2C Chip support 767# Miscellaneous I2C Chip support
748# 768#
749# CONFIG_SENSORS_DS1337 is not set
750# CONFIG_SENSORS_DS1374 is not set
751# CONFIG_DS1682 is not set 769# CONFIG_DS1682 is not set
752# CONFIG_SENSORS_EEPROM is not set 770# CONFIG_SENSORS_EEPROM is not set
753# CONFIG_SENSORS_PCF8574 is not set 771# CONFIG_SENSORS_PCF8574 is not set
754# CONFIG_SENSORS_PCA9539 is not set 772# CONFIG_PCF8575 is not set
755# CONFIG_SENSORS_PCF8591 is not set 773# CONFIG_SENSORS_PCF8591 is not set
756# CONFIG_SENSORS_M41T00 is not set 774# CONFIG_TPS65010 is not set
757# CONFIG_SENSORS_MAX6875 is not set 775# CONFIG_SENSORS_MAX6875 is not set
758# CONFIG_SENSORS_TSL2550 is not set 776# CONFIG_SENSORS_TSL2550 is not set
759# CONFIG_I2C_DEBUG_CORE is not set 777# CONFIG_I2C_DEBUG_CORE is not set
@@ -769,6 +787,7 @@ CONFIG_I2C_MPC=y
769# CONFIG_W1 is not set 787# CONFIG_W1 is not set
770# CONFIG_POWER_SUPPLY is not set 788# CONFIG_POWER_SUPPLY is not set
771# CONFIG_HWMON is not set 789# CONFIG_HWMON is not set
790# CONFIG_THERMAL is not set
772# CONFIG_WATCHDOG is not set 791# CONFIG_WATCHDOG is not set
773 792
774# 793#
@@ -814,6 +833,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
814CONFIG_USB_ARCH_HAS_EHCI=y 833CONFIG_USB_ARCH_HAS_EHCI=y
815CONFIG_USB=y 834CONFIG_USB=y
816# CONFIG_USB_DEBUG is not set 835# CONFIG_USB_DEBUG is not set
836# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
817 837
818# 838#
819# Miscellaneous USB options 839# Miscellaneous USB options
@@ -827,9 +847,10 @@ CONFIG_USB_DEVICE_CLASS=y
827# USB Host Controller Drivers 847# USB Host Controller Drivers
828# 848#
829CONFIG_USB_EHCI_HCD=y 849CONFIG_USB_EHCI_HCD=y
830# CONFIG_USB_EHCI_SPLIT_ISO is not set
831# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 850# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
832# CONFIG_USB_EHCI_TT_NEWSCHED is not set 851# CONFIG_USB_EHCI_TT_NEWSCHED is not set
852# CONFIG_USB_EHCI_FSL is not set
853CONFIG_USB_EHCI_HCD_PPC_OF=y
833# CONFIG_USB_ISP116X_HCD is not set 854# CONFIG_USB_ISP116X_HCD is not set
834CONFIG_USB_OHCI_HCD=y 855CONFIG_USB_OHCI_HCD=y
835# CONFIG_USB_OHCI_HCD_PPC_OF is not set 856# CONFIG_USB_OHCI_HCD_PPC_OF is not set
@@ -877,10 +898,6 @@ CONFIG_USB_STORAGE=y
877# 898#
878# USB port drivers 899# USB port drivers
879# 900#
880
881#
882# USB Serial Converter support
883#
884# CONFIG_USB_SERIAL is not set 901# CONFIG_USB_SERIAL is not set
885 902
886# 903#
@@ -906,21 +923,18 @@ CONFIG_USB_STORAGE=y
906# CONFIG_USB_TRANCEVIBRATOR is not set 923# CONFIG_USB_TRANCEVIBRATOR is not set
907# CONFIG_USB_IOWARRIOR is not set 924# CONFIG_USB_IOWARRIOR is not set
908# CONFIG_USB_TEST is not set 925# CONFIG_USB_TEST is not set
909
910#
911# USB DSL modem support
912#
913
914#
915# USB Gadget Support
916#
917# CONFIG_USB_GADGET is not set 926# CONFIG_USB_GADGET is not set
918# CONFIG_MMC is not set 927# CONFIG_MMC is not set
928# CONFIG_MEMSTICK is not set
919# CONFIG_NEW_LEDS is not set 929# CONFIG_NEW_LEDS is not set
920# CONFIG_INFINIBAND is not set 930# CONFIG_INFINIBAND is not set
921# CONFIG_EDAC is not set 931# CONFIG_EDAC is not set
922CONFIG_RTC_LIB=y 932CONFIG_RTC_LIB=y
923CONFIG_RTC_CLASS=y 933CONFIG_RTC_CLASS=y
934
935#
936# Conflicting RTC option has been selected, check GEN_RTC and RTC
937#
924CONFIG_RTC_HCTOSYS=y 938CONFIG_RTC_HCTOSYS=y
925CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 939CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
926# CONFIG_RTC_DEBUG is not set 940# CONFIG_RTC_DEBUG is not set
@@ -947,6 +961,7 @@ CONFIG_RTC_DRV_DS1307=y
947# CONFIG_RTC_DRV_PCF8563 is not set 961# CONFIG_RTC_DRV_PCF8563 is not set
948# CONFIG_RTC_DRV_PCF8583 is not set 962# CONFIG_RTC_DRV_PCF8583 is not set
949# CONFIG_RTC_DRV_M41T80 is not set 963# CONFIG_RTC_DRV_M41T80 is not set
964# CONFIG_RTC_DRV_S35390A is not set
950 965
951# 966#
952# SPI RTC drivers 967# SPI RTC drivers
@@ -956,9 +971,10 @@ CONFIG_RTC_DRV_DS1307=y
956# Platform RTC drivers 971# Platform RTC drivers
957# 972#
958# CONFIG_RTC_DRV_CMOS is not set 973# CONFIG_RTC_DRV_CMOS is not set
974# CONFIG_RTC_DRV_DS1511 is not set
959# CONFIG_RTC_DRV_DS1553 is not set 975# CONFIG_RTC_DRV_DS1553 is not set
960# CONFIG_RTC_DRV_STK17TA8 is not set
961# CONFIG_RTC_DRV_DS1742 is not set 976# CONFIG_RTC_DRV_DS1742 is not set
977# CONFIG_RTC_DRV_STK17TA8 is not set
962# CONFIG_RTC_DRV_M48T86 is not set 978# CONFIG_RTC_DRV_M48T86 is not set
963# CONFIG_RTC_DRV_M48T59 is not set 979# CONFIG_RTC_DRV_M48T59 is not set
964# CONFIG_RTC_DRV_V3020 is not set 980# CONFIG_RTC_DRV_V3020 is not set
@@ -966,6 +982,7 @@ CONFIG_RTC_DRV_DS1307=y
966# 982#
967# on-CPU RTC drivers 983# on-CPU RTC drivers
968# 984#
985# CONFIG_DMADEVICES is not set
969 986
970# 987#
971# Userspace I/O 988# Userspace I/O
@@ -995,12 +1012,10 @@ CONFIG_XFS_FS=m
995# CONFIG_XFS_RT is not set 1012# CONFIG_XFS_RT is not set
996# CONFIG_GFS2_FS is not set 1013# CONFIG_GFS2_FS is not set
997# CONFIG_OCFS2_FS is not set 1014# CONFIG_OCFS2_FS is not set
998# CONFIG_MINIX_FS is not set 1015CONFIG_DNOTIFY=y
999# CONFIG_ROMFS_FS is not set
1000CONFIG_INOTIFY=y 1016CONFIG_INOTIFY=y
1001CONFIG_INOTIFY_USER=y 1017CONFIG_INOTIFY_USER=y
1002# CONFIG_QUOTA is not set 1018# CONFIG_QUOTA is not set
1003CONFIG_DNOTIFY=y
1004# CONFIG_AUTOFS_FS is not set 1019# CONFIG_AUTOFS_FS is not set
1005# CONFIG_AUTOFS4_FS is not set 1020# CONFIG_AUTOFS4_FS is not set
1006# CONFIG_FUSE_FS is not set 1021# CONFIG_FUSE_FS is not set
@@ -1053,8 +1068,10 @@ CONFIG_JFFS2_RTIME=y
1053# CONFIG_JFFS2_RUBIN is not set 1068# CONFIG_JFFS2_RUBIN is not set
1054# CONFIG_CRAMFS is not set 1069# CONFIG_CRAMFS is not set
1055# CONFIG_VXFS_FS is not set 1070# CONFIG_VXFS_FS is not set
1071# CONFIG_MINIX_FS is not set
1056# CONFIG_HPFS_FS is not set 1072# CONFIG_HPFS_FS is not set
1057# CONFIG_QNX4FS_FS is not set 1073# CONFIG_QNX4FS_FS is not set
1074# CONFIG_ROMFS_FS is not set
1058# CONFIG_SYSV_FS is not set 1075# CONFIG_SYSV_FS is not set
1059# CONFIG_UFS_FS is not set 1076# CONFIG_UFS_FS is not set
1060# CONFIG_NETWORK_FILESYSTEMS is not set 1077# CONFIG_NETWORK_FILESYSTEMS is not set
@@ -1121,7 +1138,6 @@ CONFIG_NLS_ISO8859_1=y
1121# CONFIG_NLS_KOI8_U is not set 1138# CONFIG_NLS_KOI8_U is not set
1122CONFIG_NLS_UTF8=y 1139CONFIG_NLS_UTF8=y
1123# CONFIG_DLM is not set 1140# CONFIG_DLM is not set
1124# CONFIG_UCC_SLOW is not set
1125 1141
1126# 1142#
1127# Library routines 1143# Library routines
@@ -1139,9 +1155,6 @@ CONFIG_PLIST=y
1139CONFIG_HAS_IOMEM=y 1155CONFIG_HAS_IOMEM=y
1140CONFIG_HAS_IOPORT=y 1156CONFIG_HAS_IOPORT=y
1141CONFIG_HAS_DMA=y 1157CONFIG_HAS_DMA=y
1142CONFIG_INSTRUMENTATION=y
1143# CONFIG_PROFILING is not set
1144# CONFIG_MARKERS is not set
1145 1158
1146# 1159#
1147# Kernel hacking 1160# Kernel hacking
@@ -1155,6 +1168,7 @@ CONFIG_INSTRUMENTATION=y
1155# CONFIG_HEADERS_CHECK is not set 1168# CONFIG_HEADERS_CHECK is not set
1156# CONFIG_DEBUG_KERNEL is not set 1169# CONFIG_DEBUG_KERNEL is not set
1157# CONFIG_SLUB_DEBUG_ON is not set 1170# CONFIG_SLUB_DEBUG_ON is not set
1171# CONFIG_SLUB_STATS is not set
1158# CONFIG_DEBUG_BUGVERBOSE is not set 1172# CONFIG_DEBUG_BUGVERBOSE is not set
1159# CONFIG_SAMPLES is not set 1173# CONFIG_SAMPLES is not set
1160# CONFIG_BOOTX_TEXT is not set 1174# CONFIG_BOOTX_TEXT is not set
diff --git a/arch/powerpc/configs/stx_gp3_defconfig b/arch/powerpc/configs/stx_gp3_defconfig
index e8137a839bd..1d303c49bb0 100644
--- a/arch/powerpc/configs/stx_gp3_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Thu Jan 24 02:02:30 2008 4# Mon Mar 24 08:48:42 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76CONFIG_FAIR_GROUP_SCHED=y 76CONFIG_FAIR_GROUP_SCHED=y
77CONFIG_FAIR_USER_SCHED=y 77# CONFIG_RT_GROUP_SCHED is not set
78# CONFIG_FAIR_CGROUP_SCHED is not set 78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -91,11 +94,13 @@ CONFIG_HOTPLUG=y
91CONFIG_PRINTK=y 94CONFIG_PRINTK=y
92CONFIG_BUG=y 95CONFIG_BUG=y
93CONFIG_ELF_CORE=y 96CONFIG_ELF_CORE=y
97CONFIG_COMPAT_BRK=y
94CONFIG_BASE_FULL=y 98CONFIG_BASE_FULL=y
95CONFIG_FUTEX=y 99CONFIG_FUTEX=y
96CONFIG_ANON_INODES=y 100CONFIG_ANON_INODES=y
97CONFIG_EPOLL=y 101CONFIG_EPOLL=y
98CONFIG_SIGNALFD=y 102CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
100CONFIG_SHMEM=y 105CONFIG_SHMEM=y
101CONFIG_VM_EVENT_COUNTERS=y 106CONFIG_VM_EVENT_COUNTERS=y
@@ -103,6 +108,13 @@ CONFIG_SLUB_DEBUG=y
103# CONFIG_SLAB is not set 108# CONFIG_SLAB is not set
104CONFIG_SLUB=y 109CONFIG_SLUB=y
105# CONFIG_SLOB is not set 110# CONFIG_SLOB is not set
111# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y
114# CONFIG_KPROBES is not set
115CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y
117CONFIG_PROC_PAGE_MONITOR=y
106CONFIG_SLABINFO=y 118CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y 119CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set 120# CONFIG_TINY_SHMEM is not set
@@ -130,23 +142,29 @@ CONFIG_IOSCHED_CFQ=y
130CONFIG_DEFAULT_CFQ=y 142CONFIG_DEFAULT_CFQ=y
131# CONFIG_DEFAULT_NOOP is not set 143# CONFIG_DEFAULT_NOOP is not set
132CONFIG_DEFAULT_IOSCHED="cfq" 144CONFIG_DEFAULT_IOSCHED="cfq"
145CONFIG_CLASSIC_RCU=y
133 146
134# 147#
135# Platform support 148# Platform support
136# 149#
137# CONFIG_PPC_MPC52xx is not set 150# CONFIG_PPC_MPC512x is not set
138# CONFIG_PPC_MPC5200 is not set 151# CONFIG_PPC_MPC5121 is not set
139# CONFIG_PPC_CELL is not set 152# CONFIG_PPC_CELL is not set
140# CONFIG_PPC_CELL_NATIVE is not set 153# CONFIG_PPC_CELL_NATIVE is not set
141# CONFIG_PQ2ADS is not set 154# CONFIG_PQ2ADS is not set
155CONFIG_MPC85xx=y
142# CONFIG_MPC8540_ADS is not set 156# CONFIG_MPC8540_ADS is not set
143# CONFIG_MPC8560_ADS is not set 157# CONFIG_MPC8560_ADS is not set
144# CONFIG_MPC85xx_CDS is not set 158# CONFIG_MPC85xx_CDS is not set
145# CONFIG_MPC85xx_MDS is not set 159# CONFIG_MPC85xx_MDS is not set
146# CONFIG_MPC85xx_DS is not set 160# CONFIG_MPC85xx_DS is not set
147CONFIG_STX_GP3=y 161CONFIG_STX_GP3=y
148CONFIG_MPC8560=y 162# CONFIG_TQM8540 is not set
149CONFIG_MPC85xx=y 163# CONFIG_TQM8541 is not set
164# CONFIG_TQM8555 is not set
165# CONFIG_TQM8560 is not set
166# CONFIG_SBC8548 is not set
167# CONFIG_SBC8560 is not set
150# CONFIG_IPIC is not set 168# CONFIG_IPIC is not set
151CONFIG_MPIC=y 169CONFIG_MPIC=y
152# CONFIG_MPIC_WEIRD is not set 170# CONFIG_MPIC_WEIRD is not set
@@ -176,13 +194,17 @@ CONFIG_HZ_250=y
176# CONFIG_HZ_300 is not set 194# CONFIG_HZ_300 is not set
177# CONFIG_HZ_1000 is not set 195# CONFIG_HZ_1000 is not set
178CONFIG_HZ=250 196CONFIG_HZ=250
197# CONFIG_SCHED_HRTICK is not set
179CONFIG_PREEMPT_NONE=y 198CONFIG_PREEMPT_NONE=y
180# CONFIG_PREEMPT_VOLUNTARY is not set 199# CONFIG_PREEMPT_VOLUNTARY is not set
181# CONFIG_PREEMPT is not set 200# CONFIG_PREEMPT is not set
182CONFIG_BINFMT_ELF=y 201CONFIG_BINFMT_ELF=y
183CONFIG_BINFMT_MISC=m 202CONFIG_BINFMT_MISC=m
184CONFIG_MATH_EMULATION=y 203CONFIG_MATH_EMULATION=y
204# CONFIG_IOMMU_HELPER is not set
185CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 205CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
206CONFIG_ARCH_HAS_WALK_MEMORY=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
186CONFIG_ARCH_FLATMEM_ENABLE=y 208CONFIG_ARCH_FLATMEM_ENABLE=y
187CONFIG_ARCH_POPULATES_NODE_MAP=y 209CONFIG_ARCH_POPULATES_NODE_MAP=y
188CONFIG_SELECT_MEMORY_MODEL=y 210CONFIG_SELECT_MEMORY_MODEL=y
@@ -201,11 +223,7 @@ CONFIG_VIRT_TO_BUS=y
201CONFIG_PROC_DEVICETREE=y 223CONFIG_PROC_DEVICETREE=y
202# CONFIG_CMDLINE_BOOL is not set 224# CONFIG_CMDLINE_BOOL is not set
203# CONFIG_PM is not set 225# CONFIG_PM is not set
204CONFIG_SUSPEND_UP_POSSIBLE=y
205CONFIG_HIBERNATION_UP_POSSIBLE=y
206CONFIG_SECCOMP=y 226CONFIG_SECCOMP=y
207CONFIG_WANT_DEVICE_TREE=y
208CONFIG_DEVICE_TREE="stx_gp3_8560.dts"
209CONFIG_ISA_DMA_API=y 227CONFIG_ISA_DMA_API=y
210 228
211# 229#
@@ -255,6 +273,7 @@ CONFIG_XFRM=y
255# CONFIG_XFRM_USER is not set 273# CONFIG_XFRM_USER is not set
256# CONFIG_XFRM_SUB_POLICY is not set 274# CONFIG_XFRM_SUB_POLICY is not set
257# CONFIG_XFRM_MIGRATE is not set 275# CONFIG_XFRM_MIGRATE is not set
276# CONFIG_XFRM_STATISTICS is not set
258# CONFIG_NET_KEY is not set 277# CONFIG_NET_KEY is not set
259CONFIG_INET=y 278CONFIG_INET=y
260# CONFIG_IP_MULTICAST is not set 279# CONFIG_IP_MULTICAST is not set
@@ -290,31 +309,36 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
290# CONFIG_NETWORK_SECMARK is not set 309# CONFIG_NETWORK_SECMARK is not set
291CONFIG_NETFILTER=y 310CONFIG_NETFILTER=y
292# CONFIG_NETFILTER_DEBUG is not set 311# CONFIG_NETFILTER_DEBUG is not set
312CONFIG_NETFILTER_ADVANCED=y
293 313
294# 314#
295# Core Netfilter Configuration 315# Core Netfilter Configuration
296# 316#
297# CONFIG_NETFILTER_NETLINK is not set 317# CONFIG_NETFILTER_NETLINK_QUEUE is not set
298# CONFIG_NF_CONNTRACK_ENABLED is not set 318# CONFIG_NETFILTER_NETLINK_LOG is not set
299# CONFIG_NF_CONNTRACK is not set 319# CONFIG_NF_CONNTRACK is not set
300CONFIG_NETFILTER_XTABLES=m 320CONFIG_NETFILTER_XTABLES=m
301# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 321# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
302# CONFIG_NETFILTER_XT_TARGET_MARK is not set 322# CONFIG_NETFILTER_XT_TARGET_MARK is not set
303# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 323# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
304# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 324# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
325# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
305# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 326# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
306# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set 327# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
307# CONFIG_NETFILTER_XT_MATCH_DCCP is not set 328# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
308# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 329# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
309# CONFIG_NETFILTER_XT_MATCH_ESP is not set 330# CONFIG_NETFILTER_XT_MATCH_ESP is not set
331# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
310# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 332# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
311# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 333# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
312# CONFIG_NETFILTER_XT_MATCH_MAC is not set 334# CONFIG_NETFILTER_XT_MATCH_MAC is not set
313# CONFIG_NETFILTER_XT_MATCH_MARK is not set 335# CONFIG_NETFILTER_XT_MATCH_MARK is not set
336# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
314# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 337# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
315# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set 338# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
316# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set 339# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
317# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 340# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
341# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
318# CONFIG_NETFILTER_XT_MATCH_REALM is not set 342# CONFIG_NETFILTER_XT_MATCH_REALM is not set
319# CONFIG_NETFILTER_XT_MATCH_SCTP is not set 343# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
320# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 344# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
@@ -329,13 +353,10 @@ CONFIG_NETFILTER_XTABLES=m
329# 353#
330# CONFIG_IP_NF_QUEUE is not set 354# CONFIG_IP_NF_QUEUE is not set
331CONFIG_IP_NF_IPTABLES=m 355CONFIG_IP_NF_IPTABLES=m
332# CONFIG_IP_NF_MATCH_IPRANGE is not set
333# CONFIG_IP_NF_MATCH_TOS is not set
334# CONFIG_IP_NF_MATCH_RECENT is not set 356# CONFIG_IP_NF_MATCH_RECENT is not set
335# CONFIG_IP_NF_MATCH_ECN is not set 357# CONFIG_IP_NF_MATCH_ECN is not set
336# CONFIG_IP_NF_MATCH_AH is not set 358# CONFIG_IP_NF_MATCH_AH is not set
337# CONFIG_IP_NF_MATCH_TTL is not set 359# CONFIG_IP_NF_MATCH_TTL is not set
338# CONFIG_IP_NF_MATCH_OWNER is not set
339# CONFIG_IP_NF_MATCH_ADDRTYPE is not set 360# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
340CONFIG_IP_NF_FILTER=m 361CONFIG_IP_NF_FILTER=m
341# CONFIG_IP_NF_TARGET_REJECT is not set 362# CONFIG_IP_NF_TARGET_REJECT is not set
@@ -365,6 +386,7 @@ CONFIG_IP_NF_FILTER=m
365# 386#
366CONFIG_NET_PKTGEN=y 387CONFIG_NET_PKTGEN=y
367# CONFIG_HAMRADIO is not set 388# CONFIG_HAMRADIO is not set
389# CONFIG_CAN is not set
368# CONFIG_IRDA is not set 390# CONFIG_IRDA is not set
369# CONFIG_BT is not set 391# CONFIG_BT is not set
370# CONFIG_AF_RXRPC is not set 392# CONFIG_AF_RXRPC is not set
@@ -418,7 +440,7 @@ CONFIG_BLK_DEV_NBD=m
418CONFIG_BLK_DEV_RAM=y 440CONFIG_BLK_DEV_RAM=y
419CONFIG_BLK_DEV_RAM_COUNT=16 441CONFIG_BLK_DEV_RAM_COUNT=16
420CONFIG_BLK_DEV_RAM_SIZE=32768 442CONFIG_BLK_DEV_RAM_SIZE=32768
421CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 443# CONFIG_BLK_DEV_XIP is not set
422# CONFIG_CDROM_PKTCDVD is not set 444# CONFIG_CDROM_PKTCDVD is not set
423# CONFIG_ATA_OVER_ETH is not set 445# CONFIG_ATA_OVER_ETH is not set
424CONFIG_MISC_DEVICES=y 446CONFIG_MISC_DEVICES=y
@@ -426,17 +448,20 @@ CONFIG_MISC_DEVICES=y
426# CONFIG_EEPROM_93CX6 is not set 448# CONFIG_EEPROM_93CX6 is not set
427# CONFIG_SGI_IOC4 is not set 449# CONFIG_SGI_IOC4 is not set
428# CONFIG_TIFM_CORE is not set 450# CONFIG_TIFM_CORE is not set
451# CONFIG_ENCLOSURE_SERVICES is not set
452CONFIG_HAVE_IDE=y
429CONFIG_IDE=y 453CONFIG_IDE=y
430CONFIG_IDE_MAX_HWIFS=4 454CONFIG_IDE_MAX_HWIFS=4
431CONFIG_BLK_DEV_IDE=y 455CONFIG_BLK_DEV_IDE=y
432 456
433# 457#
434# Please see Documentation/ide.txt for help/info on IDE drives 458# Please see Documentation/ide/ide.txt for help/info on IDE drives
435# 459#
436# CONFIG_BLK_DEV_IDE_SATA is not set 460# CONFIG_BLK_DEV_IDE_SATA is not set
437CONFIG_BLK_DEV_IDEDISK=y 461CONFIG_BLK_DEV_IDEDISK=y
438# CONFIG_IDEDISK_MULTI_MODE is not set 462# CONFIG_IDEDISK_MULTI_MODE is not set
439CONFIG_BLK_DEV_IDECD=m 463CONFIG_BLK_DEV_IDECD=m
464CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
440# CONFIG_BLK_DEV_IDETAPE is not set 465# CONFIG_BLK_DEV_IDETAPE is not set
441# CONFIG_BLK_DEV_IDEFLOPPY is not set 466# CONFIG_BLK_DEV_IDEFLOPPY is not set
442# CONFIG_BLK_DEV_IDESCSI is not set 467# CONFIG_BLK_DEV_IDESCSI is not set
@@ -452,7 +477,6 @@ CONFIG_IDE_GENERIC=y
452# 477#
453# PCI IDE chipsets support 478# PCI IDE chipsets support
454# 479#
455# CONFIG_IDEPCI_PCIBUS_ORDER is not set
456# CONFIG_BLK_DEV_GENERIC is not set 480# CONFIG_BLK_DEV_GENERIC is not set
457# CONFIG_BLK_DEV_OPTI621 is not set 481# CONFIG_BLK_DEV_OPTI621 is not set
458# CONFIG_BLK_DEV_AEC62XX is not set 482# CONFIG_BLK_DEV_AEC62XX is not set
@@ -480,7 +504,6 @@ CONFIG_IDE_GENERIC=y
480# CONFIG_BLK_DEV_TRM290 is not set 504# CONFIG_BLK_DEV_TRM290 is not set
481# CONFIG_BLK_DEV_VIA82CXXX is not set 505# CONFIG_BLK_DEV_VIA82CXXX is not set
482# CONFIG_BLK_DEV_TC86C001 is not set 506# CONFIG_BLK_DEV_TC86C001 is not set
483# CONFIG_IDE_ARM is not set
484# CONFIG_BLK_DEV_IDEDMA is not set 507# CONFIG_BLK_DEV_IDEDMA is not set
485CONFIG_IDE_ARCH_OBSOLETE_INIT=y 508CONFIG_IDE_ARCH_OBSOLETE_INIT=y
486# CONFIG_BLK_DEV_HD is not set 509# CONFIG_BLK_DEV_HD is not set
@@ -550,6 +573,7 @@ CONFIG_SCSI_LOWLEVEL=y
550# CONFIG_SCSI_INIA100 is not set 573# CONFIG_SCSI_INIA100 is not set
551# CONFIG_SCSI_PPA is not set 574# CONFIG_SCSI_PPA is not set
552# CONFIG_SCSI_IMM is not set 575# CONFIG_SCSI_IMM is not set
576# CONFIG_SCSI_MVSAS is not set
553# CONFIG_SCSI_STEX is not set 577# CONFIG_SCSI_STEX is not set
554# CONFIG_SCSI_SYM53C8XX_2 is not set 578# CONFIG_SCSI_SYM53C8XX_2 is not set
555# CONFIG_SCSI_QLOGIC_1280 is not set 579# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -595,6 +619,7 @@ CONFIG_MARVELL_PHY=y
595# CONFIG_SMSC_PHY is not set 619# CONFIG_SMSC_PHY is not set
596# CONFIG_BROADCOM_PHY is not set 620# CONFIG_BROADCOM_PHY is not set
597# CONFIG_ICPLUS_PHY is not set 621# CONFIG_ICPLUS_PHY is not set
622# CONFIG_REALTEK_PHY is not set
598# CONFIG_FIXED_PHY is not set 623# CONFIG_FIXED_PHY is not set
599# CONFIG_MDIO_BITBANG is not set 624# CONFIG_MDIO_BITBANG is not set
600CONFIG_NET_ETHERNET=y 625CONFIG_NET_ETHERNET=y
@@ -618,7 +643,9 @@ CONFIG_NETDEV_1000=y
618# CONFIG_DL2K is not set 643# CONFIG_DL2K is not set
619# CONFIG_E1000 is not set 644# CONFIG_E1000 is not set
620# CONFIG_E1000E is not set 645# CONFIG_E1000E is not set
646# CONFIG_E1000E_ENABLED is not set
621# CONFIG_IP1000 is not set 647# CONFIG_IP1000 is not set
648# CONFIG_IGB is not set
622# CONFIG_NS83820 is not set 649# CONFIG_NS83820 is not set
623# CONFIG_HAMACHI is not set 650# CONFIG_HAMACHI is not set
624# CONFIG_YELLOWFIN is not set 651# CONFIG_YELLOWFIN is not set
@@ -645,6 +672,7 @@ CONFIG_NETDEV_10000=y
645# CONFIG_NIU is not set 672# CONFIG_NIU is not set
646# CONFIG_MLX4_CORE is not set 673# CONFIG_MLX4_CORE is not set
647# CONFIG_TEHUTI is not set 674# CONFIG_TEHUTI is not set
675# CONFIG_BNX2X is not set
648# CONFIG_TR is not set 676# CONFIG_TR is not set
649 677
650# 678#
@@ -659,7 +687,6 @@ CONFIG_NETDEV_10000=y
659# CONFIG_PPP is not set 687# CONFIG_PPP is not set
660# CONFIG_SLIP is not set 688# CONFIG_SLIP is not set
661# CONFIG_NET_FC is not set 689# CONFIG_NET_FC is not set
662# CONFIG_SHAPER is not set
663# CONFIG_NETCONSOLE is not set 690# CONFIG_NETCONSOLE is not set
664# CONFIG_NETPOLL is not set 691# CONFIG_NETPOLL is not set
665# CONFIG_NET_POLL_CONTROLLER is not set 692# CONFIG_NET_POLL_CONTROLLER is not set
@@ -727,6 +754,7 @@ CONFIG_SERIO_LIBPS2=y
727# 754#
728# CONFIG_VT is not set 755# CONFIG_VT is not set
729# CONFIG_SERIAL_NONSTANDARD is not set 756# CONFIG_SERIAL_NONSTANDARD is not set
757# CONFIG_NOZOMI is not set
730 758
731# 759#
732# Serial drivers 760# Serial drivers
@@ -805,14 +833,12 @@ CONFIG_I2C_ALGOBIT=m
805# 833#
806# Miscellaneous I2C Chip support 834# Miscellaneous I2C Chip support
807# 835#
808# CONFIG_SENSORS_DS1337 is not set
809# CONFIG_SENSORS_DS1374 is not set
810# CONFIG_DS1682 is not set 836# CONFIG_DS1682 is not set
811# CONFIG_SENSORS_EEPROM is not set 837# CONFIG_SENSORS_EEPROM is not set
812# CONFIG_SENSORS_PCF8574 is not set 838# CONFIG_SENSORS_PCF8574 is not set
813# CONFIG_SENSORS_PCA9539 is not set 839# CONFIG_PCF8575 is not set
814# CONFIG_SENSORS_PCF8591 is not set 840# CONFIG_SENSORS_PCF8591 is not set
815# CONFIG_SENSORS_M41T00 is not set 841# CONFIG_TPS65010 is not set
816# CONFIG_SENSORS_MAX6875 is not set 842# CONFIG_SENSORS_MAX6875 is not set
817# CONFIG_SENSORS_TSL2550 is not set 843# CONFIG_SENSORS_TSL2550 is not set
818# CONFIG_I2C_DEBUG_CORE is not set 844# CONFIG_I2C_DEBUG_CORE is not set
@@ -837,6 +863,7 @@ CONFIG_HWMON=y
837# CONFIG_SENSORS_ADM1031 is not set 863# CONFIG_SENSORS_ADM1031 is not set
838# CONFIG_SENSORS_ADM9240 is not set 864# CONFIG_SENSORS_ADM9240 is not set
839# CONFIG_SENSORS_ADT7470 is not set 865# CONFIG_SENSORS_ADT7470 is not set
866# CONFIG_SENSORS_ADT7473 is not set
840# CONFIG_SENSORS_ATXP1 is not set 867# CONFIG_SENSORS_ATXP1 is not set
841# CONFIG_SENSORS_DS1621 is not set 868# CONFIG_SENSORS_DS1621 is not set
842# CONFIG_SENSORS_I5K_AMB is not set 869# CONFIG_SENSORS_I5K_AMB is not set
@@ -866,6 +893,7 @@ CONFIG_HWMON=y
866# CONFIG_SENSORS_SMSC47M1 is not set 893# CONFIG_SENSORS_SMSC47M1 is not set
867# CONFIG_SENSORS_SMSC47M192 is not set 894# CONFIG_SENSORS_SMSC47M192 is not set
868# CONFIG_SENSORS_SMSC47B397 is not set 895# CONFIG_SENSORS_SMSC47B397 is not set
896# CONFIG_SENSORS_ADS7828 is not set
869# CONFIG_SENSORS_THMC50 is not set 897# CONFIG_SENSORS_THMC50 is not set
870# CONFIG_SENSORS_VIA686A is not set 898# CONFIG_SENSORS_VIA686A is not set
871# CONFIG_SENSORS_VT1211 is not set 899# CONFIG_SENSORS_VT1211 is not set
@@ -875,9 +903,11 @@ CONFIG_HWMON=y
875# CONFIG_SENSORS_W83792D is not set 903# CONFIG_SENSORS_W83792D is not set
876# CONFIG_SENSORS_W83793 is not set 904# CONFIG_SENSORS_W83793 is not set
877# CONFIG_SENSORS_W83L785TS is not set 905# CONFIG_SENSORS_W83L785TS is not set
906# CONFIG_SENSORS_W83L786NG is not set
878# CONFIG_SENSORS_W83627HF is not set 907# CONFIG_SENSORS_W83627HF is not set
879# CONFIG_SENSORS_W83627EHF is not set 908# CONFIG_SENSORS_W83627EHF is not set
880# CONFIG_HWMON_DEBUG_CHIP is not set 909# CONFIG_HWMON_DEBUG_CHIP is not set
910# CONFIG_THERMAL is not set
881# CONFIG_WATCHDOG is not set 911# CONFIG_WATCHDOG is not set
882 912
883# 913#
@@ -947,16 +977,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
947# 977#
948# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 978# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
949# 979#
950
951#
952# USB Gadget Support
953#
954# CONFIG_USB_GADGET is not set 980# CONFIG_USB_GADGET is not set
955# CONFIG_MMC is not set 981# CONFIG_MMC is not set
982# CONFIG_MEMSTICK is not set
956# CONFIG_NEW_LEDS is not set 983# CONFIG_NEW_LEDS is not set
957# CONFIG_INFINIBAND is not set 984# CONFIG_INFINIBAND is not set
958# CONFIG_EDAC is not set 985# CONFIG_EDAC is not set
959# CONFIG_RTC_CLASS is not set 986# CONFIG_RTC_CLASS is not set
987# CONFIG_DMADEVICES is not set
960# CONFIG_AUXDISPLAY is not set 988# CONFIG_AUXDISPLAY is not set
961 989
962# 990#
@@ -983,12 +1011,10 @@ CONFIG_FS_MBCACHE=y
983# CONFIG_XFS_FS is not set 1011# CONFIG_XFS_FS is not set
984# CONFIG_GFS2_FS is not set 1012# CONFIG_GFS2_FS is not set
985# CONFIG_OCFS2_FS is not set 1013# CONFIG_OCFS2_FS is not set
986# CONFIG_MINIX_FS is not set 1014CONFIG_DNOTIFY=y
987# CONFIG_ROMFS_FS is not set
988CONFIG_INOTIFY=y 1015CONFIG_INOTIFY=y
989CONFIG_INOTIFY_USER=y 1016CONFIG_INOTIFY_USER=y
990# CONFIG_QUOTA is not set 1017# CONFIG_QUOTA is not set
991CONFIG_DNOTIFY=y
992CONFIG_AUTOFS_FS=m 1018CONFIG_AUTOFS_FS=m
993CONFIG_AUTOFS4_FS=y 1019CONFIG_AUTOFS4_FS=y
994# CONFIG_FUSE_FS is not set 1020# CONFIG_FUSE_FS is not set
@@ -1036,8 +1062,10 @@ CONFIG_TMPFS=y
1036# CONFIG_EFS_FS is not set 1062# CONFIG_EFS_FS is not set
1037CONFIG_CRAMFS=m 1063CONFIG_CRAMFS=m
1038# CONFIG_VXFS_FS is not set 1064# CONFIG_VXFS_FS is not set
1065# CONFIG_MINIX_FS is not set
1039# CONFIG_HPFS_FS is not set 1066# CONFIG_HPFS_FS is not set
1040# CONFIG_QNX4FS_FS is not set 1067# CONFIG_QNX4FS_FS is not set
1068# CONFIG_ROMFS_FS is not set
1041# CONFIG_SYSV_FS is not set 1069# CONFIG_SYSV_FS is not set
1042# CONFIG_UFS_FS is not set 1070# CONFIG_UFS_FS is not set
1043CONFIG_NETWORK_FILESYSTEMS=y 1071CONFIG_NETWORK_FILESYSTEMS=y
@@ -1124,10 +1152,6 @@ CONFIG_PLIST=y
1124CONFIG_HAS_IOMEM=y 1152CONFIG_HAS_IOMEM=y
1125CONFIG_HAS_IOPORT=y 1153CONFIG_HAS_IOPORT=y
1126CONFIG_HAS_DMA=y 1154CONFIG_HAS_DMA=y
1127CONFIG_INSTRUMENTATION=y
1128# CONFIG_PROFILING is not set
1129# CONFIG_KPROBES is not set
1130# CONFIG_MARKERS is not set
1131 1155
1132# 1156#
1133# Kernel hacking 1157# Kernel hacking
@@ -1146,6 +1170,7 @@ CONFIG_SCHED_DEBUG=y
1146# CONFIG_SCHEDSTATS is not set 1170# CONFIG_SCHEDSTATS is not set
1147# CONFIG_TIMER_STATS is not set 1171# CONFIG_TIMER_STATS is not set
1148# CONFIG_SLUB_DEBUG_ON is not set 1172# CONFIG_SLUB_DEBUG_ON is not set
1173# CONFIG_SLUB_STATS is not set
1149# CONFIG_DEBUG_RT_MUTEXES is not set 1174# CONFIG_DEBUG_RT_MUTEXES is not set
1150# CONFIG_RT_MUTEX_TESTER is not set 1175# CONFIG_RT_MUTEX_TESTER is not set
1151# CONFIG_DEBUG_SPINLOCK is not set 1176# CONFIG_DEBUG_SPINLOCK is not set
@@ -1159,9 +1184,9 @@ CONFIG_SCHED_DEBUG=y
1159# CONFIG_DEBUG_VM is not set 1184# CONFIG_DEBUG_VM is not set
1160# CONFIG_DEBUG_LIST is not set 1185# CONFIG_DEBUG_LIST is not set
1161# CONFIG_DEBUG_SG is not set 1186# CONFIG_DEBUG_SG is not set
1162CONFIG_FORCED_INLINING=y
1163# CONFIG_BOOT_PRINTK_DELAY is not set 1187# CONFIG_BOOT_PRINTK_DELAY is not set
1164# CONFIG_RCU_TORTURE_TEST is not set 1188# CONFIG_RCU_TORTURE_TEST is not set
1189# CONFIG_BACKTRACE_SELF_TEST is not set
1165# CONFIG_FAULT_INJECTION is not set 1190# CONFIG_FAULT_INJECTION is not set
1166# CONFIG_SAMPLES is not set 1191# CONFIG_SAMPLES is not set
1167# CONFIG_DEBUG_STACKOVERFLOW is not set 1192# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1178,6 +1203,51 @@ CONFIG_BDI_SWITCH=y
1178# CONFIG_KEYS is not set 1203# CONFIG_KEYS is not set
1179# CONFIG_SECURITY is not set 1204# CONFIG_SECURITY is not set
1180# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1205# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1181# CONFIG_CRYPTO is not set 1206CONFIG_CRYPTO=y
1207# CONFIG_CRYPTO_SEQIV is not set
1208# CONFIG_CRYPTO_MANAGER is not set
1209# CONFIG_CRYPTO_HMAC is not set
1210# CONFIG_CRYPTO_XCBC is not set
1211# CONFIG_CRYPTO_NULL is not set
1212# CONFIG_CRYPTO_MD4 is not set
1213# CONFIG_CRYPTO_MD5 is not set
1214# CONFIG_CRYPTO_SHA1 is not set
1215# CONFIG_CRYPTO_SHA256 is not set
1216# CONFIG_CRYPTO_SHA512 is not set
1217# CONFIG_CRYPTO_WP512 is not set
1218# CONFIG_CRYPTO_TGR192 is not set
1219# CONFIG_CRYPTO_GF128MUL is not set
1220# CONFIG_CRYPTO_ECB is not set
1221# CONFIG_CRYPTO_CBC is not set
1222# CONFIG_CRYPTO_PCBC is not set
1223# CONFIG_CRYPTO_LRW is not set
1224# CONFIG_CRYPTO_XTS is not set
1225# CONFIG_CRYPTO_CTR is not set
1226# CONFIG_CRYPTO_GCM is not set
1227# CONFIG_CRYPTO_CCM is not set
1228# CONFIG_CRYPTO_CRYPTD is not set
1229# CONFIG_CRYPTO_DES is not set
1230# CONFIG_CRYPTO_FCRYPT is not set
1231# CONFIG_CRYPTO_BLOWFISH is not set
1232# CONFIG_CRYPTO_TWOFISH is not set
1233# CONFIG_CRYPTO_SERPENT is not set
1234# CONFIG_CRYPTO_AES is not set
1235# CONFIG_CRYPTO_CAST5 is not set
1236# CONFIG_CRYPTO_CAST6 is not set
1237# CONFIG_CRYPTO_TEA is not set
1238# CONFIG_CRYPTO_ARC4 is not set
1239# CONFIG_CRYPTO_KHAZAD is not set
1240# CONFIG_CRYPTO_ANUBIS is not set
1241# CONFIG_CRYPTO_SEED is not set
1242# CONFIG_CRYPTO_SALSA20 is not set
1243# CONFIG_CRYPTO_DEFLATE is not set
1244# CONFIG_CRYPTO_MICHAEL_MIC is not set
1245# CONFIG_CRYPTO_CRC32C is not set
1246# CONFIG_CRYPTO_CAMELLIA is not set
1247# CONFIG_CRYPTO_TEST is not set
1248# CONFIG_CRYPTO_AUTHENC is not set
1249# CONFIG_CRYPTO_LZO is not set
1250CONFIG_CRYPTO_HW=y
1251# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1182# CONFIG_PPC_CLOCK is not set 1252# CONFIG_PPC_CLOCK is not set
1183CONFIG_PPC_LIB_RHEAP=y 1253CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/tqm8540_defconfig b/arch/powerpc/configs/tqm8540_defconfig
index 732de34cfc2..d39ee3b35bf 100644
--- a/arch/powerpc/configs/tqm8540_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Fri Jan 25 01:32:05 2008 4# Mon Mar 24 08:48:43 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76CONFIG_FAIR_GROUP_SCHED=y 76CONFIG_FAIR_GROUP_SCHED=y
77CONFIG_FAIR_USER_SCHED=y 77# CONFIG_RT_GROUP_SCHED is not set
78# CONFIG_FAIR_CGROUP_SCHED is not set 78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +92,13 @@ CONFIG_SYSCTL_SYSCALL=y
89CONFIG_PRINTK=y 92CONFIG_PRINTK=y
90CONFIG_BUG=y 93CONFIG_BUG=y
91CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 97CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
95# CONFIG_EPOLL is not set 99# CONFIG_EPOLL is not set
96CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 103CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +106,12 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 106# CONFIG_SLAB is not set
102CONFIG_SLUB=y 107CONFIG_SLUB=y
103# CONFIG_SLOB is not set 108# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
104CONFIG_SLABINFO=y 115CONFIG_SLABINFO=y
105CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
106# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
@@ -124,15 +135,17 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 135# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 136# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 137CONFIG_DEFAULT_IOSCHED="anticipatory"
138CONFIG_CLASSIC_RCU=y
127 139
128# 140#
129# Platform support 141# Platform support
130# 142#
131# CONFIG_PPC_MPC52xx is not set 143# CONFIG_PPC_MPC512x is not set
132# CONFIG_PPC_MPC5200 is not set 144# CONFIG_PPC_MPC5121 is not set
133# CONFIG_PPC_CELL is not set 145# CONFIG_PPC_CELL is not set
134# CONFIG_PPC_CELL_NATIVE is not set 146# CONFIG_PPC_CELL_NATIVE is not set
135# CONFIG_PQ2ADS is not set 147# CONFIG_PQ2ADS is not set
148CONFIG_MPC85xx=y
136# CONFIG_MPC8540_ADS is not set 149# CONFIG_MPC8540_ADS is not set
137# CONFIG_MPC8560_ADS is not set 150# CONFIG_MPC8560_ADS is not set
138# CONFIG_MPC85xx_CDS is not set 151# CONFIG_MPC85xx_CDS is not set
@@ -143,8 +156,9 @@ CONFIG_TQM8540=y
143# CONFIG_TQM8541 is not set 156# CONFIG_TQM8541 is not set
144# CONFIG_TQM8555 is not set 157# CONFIG_TQM8555 is not set
145# CONFIG_TQM8560 is not set 158# CONFIG_TQM8560 is not set
159# CONFIG_SBC8548 is not set
160# CONFIG_SBC8560 is not set
146CONFIG_TQM85xx=y 161CONFIG_TQM85xx=y
147CONFIG_MPC85xx=y
148# CONFIG_IPIC is not set 162# CONFIG_IPIC is not set
149CONFIG_MPIC=y 163CONFIG_MPIC=y
150# CONFIG_MPIC_WEIRD is not set 164# CONFIG_MPIC_WEIRD is not set
@@ -173,13 +187,17 @@ CONFIG_HZ_250=y
173# CONFIG_HZ_300 is not set 187# CONFIG_HZ_300 is not set
174# CONFIG_HZ_1000 is not set 188# CONFIG_HZ_1000 is not set
175CONFIG_HZ=250 189CONFIG_HZ=250
190# CONFIG_SCHED_HRTICK is not set
176CONFIG_PREEMPT_NONE=y 191CONFIG_PREEMPT_NONE=y
177# CONFIG_PREEMPT_VOLUNTARY is not set 192# CONFIG_PREEMPT_VOLUNTARY is not set
178# CONFIG_PREEMPT is not set 193# CONFIG_PREEMPT is not set
179CONFIG_BINFMT_ELF=y 194CONFIG_BINFMT_ELF=y
180# CONFIG_BINFMT_MISC is not set 195# CONFIG_BINFMT_MISC is not set
181CONFIG_MATH_EMULATION=y 196CONFIG_MATH_EMULATION=y
197# CONFIG_IOMMU_HELPER is not set
182CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 198CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
199CONFIG_ARCH_HAS_WALK_MEMORY=y
200CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
183CONFIG_ARCH_FLATMEM_ENABLE=y 201CONFIG_ARCH_FLATMEM_ENABLE=y
184CONFIG_ARCH_POPULATES_NODE_MAP=y 202CONFIG_ARCH_POPULATES_NODE_MAP=y
185CONFIG_SELECT_MEMORY_MODEL=y 203CONFIG_SELECT_MEMORY_MODEL=y
@@ -198,11 +216,7 @@ CONFIG_VIRT_TO_BUS=y
198# CONFIG_PROC_DEVICETREE is not set 216# CONFIG_PROC_DEVICETREE is not set
199# CONFIG_CMDLINE_BOOL is not set 217# CONFIG_CMDLINE_BOOL is not set
200# CONFIG_PM is not set 218# CONFIG_PM is not set
201CONFIG_SUSPEND_UP_POSSIBLE=y
202CONFIG_HIBERNATION_UP_POSSIBLE=y
203CONFIG_SECCOMP=y 219CONFIG_SECCOMP=y
204CONFIG_WANT_DEVICE_TREE=y
205CONFIG_DEVICE_TREE="tqm8540.dts"
206CONFIG_ISA_DMA_API=y 220CONFIG_ISA_DMA_API=y
207 221
208# 222#
@@ -249,6 +263,7 @@ CONFIG_XFRM=y
249# CONFIG_XFRM_USER is not set 263# CONFIG_XFRM_USER is not set
250# CONFIG_XFRM_SUB_POLICY is not set 264# CONFIG_XFRM_SUB_POLICY is not set
251# CONFIG_XFRM_MIGRATE is not set 265# CONFIG_XFRM_MIGRATE is not set
266# CONFIG_XFRM_STATISTICS is not set
252# CONFIG_NET_KEY is not set 267# CONFIG_NET_KEY is not set
253CONFIG_INET=y 268CONFIG_INET=y
254CONFIG_IP_MULTICAST=y 269CONFIG_IP_MULTICAST=y
@@ -304,6 +319,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
304# 319#
305# CONFIG_NET_PKTGEN is not set 320# CONFIG_NET_PKTGEN is not set
306# CONFIG_HAMRADIO is not set 321# CONFIG_HAMRADIO is not set
322# CONFIG_CAN is not set
307# CONFIG_IRDA is not set 323# CONFIG_IRDA is not set
308# CONFIG_BT is not set 324# CONFIG_BT is not set
309# CONFIG_AF_RXRPC is not set 325# CONFIG_AF_RXRPC is not set
@@ -335,6 +351,7 @@ CONFIG_MTD_CONCAT=y
335CONFIG_MTD_PARTITIONS=y 351CONFIG_MTD_PARTITIONS=y
336# CONFIG_MTD_REDBOOT_PARTS is not set 352# CONFIG_MTD_REDBOOT_PARTS is not set
337CONFIG_MTD_CMDLINE_PARTS=y 353CONFIG_MTD_CMDLINE_PARTS=y
354# CONFIG_MTD_OF_PARTS is not set
338 355
339# 356#
340# User Modules And Translation Layers 357# User Modules And Translation Layers
@@ -421,7 +438,7 @@ CONFIG_BLK_DEV_LOOP=y
421CONFIG_BLK_DEV_RAM=y 438CONFIG_BLK_DEV_RAM=y
422CONFIG_BLK_DEV_RAM_COUNT=16 439CONFIG_BLK_DEV_RAM_COUNT=16
423CONFIG_BLK_DEV_RAM_SIZE=32768 440CONFIG_BLK_DEV_RAM_SIZE=32768
424CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 441# CONFIG_BLK_DEV_XIP is not set
425# CONFIG_CDROM_PKTCDVD is not set 442# CONFIG_CDROM_PKTCDVD is not set
426# CONFIG_ATA_OVER_ETH is not set 443# CONFIG_ATA_OVER_ETH is not set
427CONFIG_MISC_DEVICES=y 444CONFIG_MISC_DEVICES=y
@@ -429,12 +446,14 @@ CONFIG_MISC_DEVICES=y
429# CONFIG_EEPROM_93CX6 is not set 446# CONFIG_EEPROM_93CX6 is not set
430# CONFIG_SGI_IOC4 is not set 447# CONFIG_SGI_IOC4 is not set
431# CONFIG_TIFM_CORE is not set 448# CONFIG_TIFM_CORE is not set
449# CONFIG_ENCLOSURE_SERVICES is not set
450CONFIG_HAVE_IDE=y
432CONFIG_IDE=y 451CONFIG_IDE=y
433CONFIG_IDE_MAX_HWIFS=4 452CONFIG_IDE_MAX_HWIFS=4
434CONFIG_BLK_DEV_IDE=y 453CONFIG_BLK_DEV_IDE=y
435 454
436# 455#
437# Please see Documentation/ide.txt for help/info on IDE drives 456# Please see Documentation/ide/ide.txt for help/info on IDE drives
438# 457#
439# CONFIG_BLK_DEV_IDE_SATA is not set 458# CONFIG_BLK_DEV_IDE_SATA is not set
440CONFIG_BLK_DEV_IDEDISK=y 459CONFIG_BLK_DEV_IDEDISK=y
@@ -450,12 +469,12 @@ CONFIG_IDE_PROC_FS=y
450# 469#
451CONFIG_IDE_GENERIC=y 470CONFIG_IDE_GENERIC=y
452# CONFIG_BLK_DEV_PLATFORM is not set 471# CONFIG_BLK_DEV_PLATFORM is not set
472CONFIG_BLK_DEV_IDEDMA_SFF=y
453 473
454# 474#
455# PCI IDE chipsets support 475# PCI IDE chipsets support
456# 476#
457CONFIG_BLK_DEV_IDEPCI=y 477CONFIG_BLK_DEV_IDEPCI=y
458CONFIG_IDEPCI_SHARE_IRQ=y
459CONFIG_IDEPCI_PCIBUS_ORDER=y 478CONFIG_IDEPCI_PCIBUS_ORDER=y
460# CONFIG_BLK_DEV_OFFBOARD is not set 479# CONFIG_BLK_DEV_OFFBOARD is not set
461CONFIG_BLK_DEV_GENERIC=y 480CONFIG_BLK_DEV_GENERIC=y
@@ -486,7 +505,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
486# CONFIG_BLK_DEV_TRM290 is not set 505# CONFIG_BLK_DEV_TRM290 is not set
487CONFIG_BLK_DEV_VIA82CXXX=y 506CONFIG_BLK_DEV_VIA82CXXX=y
488# CONFIG_BLK_DEV_TC86C001 is not set 507# CONFIG_BLK_DEV_TC86C001 is not set
489# CONFIG_IDE_ARM is not set
490CONFIG_BLK_DEV_IDEDMA=y 508CONFIG_BLK_DEV_IDEDMA=y
491CONFIG_IDE_ARCH_OBSOLETE_INIT=y 509CONFIG_IDE_ARCH_OBSOLETE_INIT=y
492# CONFIG_BLK_DEV_HD is not set 510# CONFIG_BLK_DEV_HD is not set
@@ -532,6 +550,7 @@ CONFIG_PHYLIB=y
532# CONFIG_SMSC_PHY is not set 550# CONFIG_SMSC_PHY is not set
533# CONFIG_BROADCOM_PHY is not set 551# CONFIG_BROADCOM_PHY is not set
534# CONFIG_ICPLUS_PHY is not set 552# CONFIG_ICPLUS_PHY is not set
553# CONFIG_REALTEK_PHY is not set
535# CONFIG_FIXED_PHY is not set 554# CONFIG_FIXED_PHY is not set
536# CONFIG_MDIO_BITBANG is not set 555# CONFIG_MDIO_BITBANG is not set
537CONFIG_NET_ETHERNET=y 556CONFIG_NET_ETHERNET=y
@@ -559,6 +578,7 @@ CONFIG_E100=y
559# CONFIG_NE2K_PCI is not set 578# CONFIG_NE2K_PCI is not set
560# CONFIG_8139CP is not set 579# CONFIG_8139CP is not set
561# CONFIG_8139TOO is not set 580# CONFIG_8139TOO is not set
581# CONFIG_R6040 is not set
562# CONFIG_SIS900 is not set 582# CONFIG_SIS900 is not set
563# CONFIG_EPIC100 is not set 583# CONFIG_EPIC100 is not set
564# CONFIG_SUNDANCE is not set 584# CONFIG_SUNDANCE is not set
@@ -570,7 +590,9 @@ CONFIG_NETDEV_1000=y
570# CONFIG_DL2K is not set 590# CONFIG_DL2K is not set
571# CONFIG_E1000 is not set 591# CONFIG_E1000 is not set
572# CONFIG_E1000E is not set 592# CONFIG_E1000E is not set
593# CONFIG_E1000E_ENABLED is not set
573# CONFIG_IP1000 is not set 594# CONFIG_IP1000 is not set
595# CONFIG_IGB is not set
574# CONFIG_NS83820 is not set 596# CONFIG_NS83820 is not set
575# CONFIG_HAMACHI is not set 597# CONFIG_HAMACHI is not set
576# CONFIG_YELLOWFIN is not set 598# CONFIG_YELLOWFIN is not set
@@ -597,6 +619,7 @@ CONFIG_NETDEV_10000=y
597# CONFIG_NIU is not set 619# CONFIG_NIU is not set
598# CONFIG_MLX4_CORE is not set 620# CONFIG_MLX4_CORE is not set
599# CONFIG_TEHUTI is not set 621# CONFIG_TEHUTI is not set
622# CONFIG_BNX2X is not set
600# CONFIG_TR is not set 623# CONFIG_TR is not set
601 624
602# 625#
@@ -609,7 +632,6 @@ CONFIG_NETDEV_10000=y
609# CONFIG_HIPPI is not set 632# CONFIG_HIPPI is not set
610# CONFIG_PPP is not set 633# CONFIG_PPP is not set
611# CONFIG_SLIP is not set 634# CONFIG_SLIP is not set
612# CONFIG_SHAPER is not set
613# CONFIG_NETCONSOLE is not set 635# CONFIG_NETCONSOLE is not set
614# CONFIG_NETPOLL is not set 636# CONFIG_NETPOLL is not set
615# CONFIG_NET_POLL_CONTROLLER is not set 637# CONFIG_NET_POLL_CONTROLLER is not set
@@ -652,6 +674,7 @@ CONFIG_INPUT=y
652# 674#
653# CONFIG_VT is not set 675# CONFIG_VT is not set
654# CONFIG_SERIAL_NONSTANDARD is not set 676# CONFIG_SERIAL_NONSTANDARD is not set
677# CONFIG_NOZOMI is not set
655 678
656# 679#
657# Serial drivers 680# Serial drivers
@@ -725,14 +748,12 @@ CONFIG_I2C_MPC=y
725# 748#
726# Miscellaneous I2C Chip support 749# Miscellaneous I2C Chip support
727# 750#
728CONFIG_SENSORS_DS1337=y
729# CONFIG_SENSORS_DS1374 is not set
730# CONFIG_DS1682 is not set 751# CONFIG_DS1682 is not set
731# CONFIG_SENSORS_EEPROM is not set 752# CONFIG_SENSORS_EEPROM is not set
732# CONFIG_SENSORS_PCF8574 is not set 753# CONFIG_SENSORS_PCF8574 is not set
733# CONFIG_SENSORS_PCA9539 is not set 754# CONFIG_PCF8575 is not set
734# CONFIG_SENSORS_PCF8591 is not set 755# CONFIG_SENSORS_PCF8591 is not set
735# CONFIG_SENSORS_M41T00 is not set 756# CONFIG_TPS65010 is not set
736# CONFIG_SENSORS_MAX6875 is not set 757# CONFIG_SENSORS_MAX6875 is not set
737# CONFIG_SENSORS_TSL2550 is not set 758# CONFIG_SENSORS_TSL2550 is not set
738# CONFIG_I2C_DEBUG_CORE is not set 759# CONFIG_I2C_DEBUG_CORE is not set
@@ -757,6 +778,7 @@ CONFIG_HWMON=y
757# CONFIG_SENSORS_ADM1031 is not set 778# CONFIG_SENSORS_ADM1031 is not set
758# CONFIG_SENSORS_ADM9240 is not set 779# CONFIG_SENSORS_ADM9240 is not set
759# CONFIG_SENSORS_ADT7470 is not set 780# CONFIG_SENSORS_ADT7470 is not set
781# CONFIG_SENSORS_ADT7473 is not set
760# CONFIG_SENSORS_ATXP1 is not set 782# CONFIG_SENSORS_ATXP1 is not set
761# CONFIG_SENSORS_DS1621 is not set 783# CONFIG_SENSORS_DS1621 is not set
762# CONFIG_SENSORS_I5K_AMB is not set 784# CONFIG_SENSORS_I5K_AMB is not set
@@ -786,6 +808,7 @@ CONFIG_SENSORS_LM75=y
786# CONFIG_SENSORS_SMSC47M1 is not set 808# CONFIG_SENSORS_SMSC47M1 is not set
787# CONFIG_SENSORS_SMSC47M192 is not set 809# CONFIG_SENSORS_SMSC47M192 is not set
788# CONFIG_SENSORS_SMSC47B397 is not set 810# CONFIG_SENSORS_SMSC47B397 is not set
811# CONFIG_SENSORS_ADS7828 is not set
789# CONFIG_SENSORS_THMC50 is not set 812# CONFIG_SENSORS_THMC50 is not set
790# CONFIG_SENSORS_VIA686A is not set 813# CONFIG_SENSORS_VIA686A is not set
791# CONFIG_SENSORS_VT1211 is not set 814# CONFIG_SENSORS_VT1211 is not set
@@ -795,9 +818,11 @@ CONFIG_SENSORS_LM75=y
795# CONFIG_SENSORS_W83792D is not set 818# CONFIG_SENSORS_W83792D is not set
796# CONFIG_SENSORS_W83793 is not set 819# CONFIG_SENSORS_W83793 is not set
797# CONFIG_SENSORS_W83L785TS is not set 820# CONFIG_SENSORS_W83L785TS is not set
821# CONFIG_SENSORS_W83L786NG is not set
798# CONFIG_SENSORS_W83627HF is not set 822# CONFIG_SENSORS_W83627HF is not set
799# CONFIG_SENSORS_W83627EHF is not set 823# CONFIG_SENSORS_W83627EHF is not set
800CONFIG_HWMON_DEBUG_CHIP=y 824CONFIG_HWMON_DEBUG_CHIP=y
825# CONFIG_THERMAL is not set
801# CONFIG_WATCHDOG is not set 826# CONFIG_WATCHDOG is not set
802 827
803# 828#
@@ -850,16 +875,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
850# 875#
851# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 876# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
852# 877#
853
854#
855# USB Gadget Support
856#
857# CONFIG_USB_GADGET is not set 878# CONFIG_USB_GADGET is not set
858# CONFIG_MMC is not set 879# CONFIG_MMC is not set
880# CONFIG_MEMSTICK is not set
859# CONFIG_NEW_LEDS is not set 881# CONFIG_NEW_LEDS is not set
860# CONFIG_INFINIBAND is not set 882# CONFIG_INFINIBAND is not set
861# CONFIG_EDAC is not set 883# CONFIG_EDAC is not set
862# CONFIG_RTC_CLASS is not set 884# CONFIG_RTC_CLASS is not set
885# CONFIG_DMADEVICES is not set
863 886
864# 887#
865# Userspace I/O 888# Userspace I/O
@@ -885,12 +908,10 @@ CONFIG_FS_MBCACHE=y
885# CONFIG_XFS_FS is not set 908# CONFIG_XFS_FS is not set
886# CONFIG_GFS2_FS is not set 909# CONFIG_GFS2_FS is not set
887# CONFIG_OCFS2_FS is not set 910# CONFIG_OCFS2_FS is not set
888# CONFIG_MINIX_FS is not set 911CONFIG_DNOTIFY=y
889# CONFIG_ROMFS_FS is not set
890CONFIG_INOTIFY=y 912CONFIG_INOTIFY=y
891CONFIG_INOTIFY_USER=y 913CONFIG_INOTIFY_USER=y
892# CONFIG_QUOTA is not set 914# CONFIG_QUOTA is not set
893CONFIG_DNOTIFY=y
894# CONFIG_AUTOFS_FS is not set 915# CONFIG_AUTOFS_FS is not set
895# CONFIG_AUTOFS4_FS is not set 916# CONFIG_AUTOFS4_FS is not set
896# CONFIG_FUSE_FS is not set 917# CONFIG_FUSE_FS is not set
@@ -943,8 +964,10 @@ CONFIG_JFFS2_RTIME=y
943# CONFIG_JFFS2_RUBIN is not set 964# CONFIG_JFFS2_RUBIN is not set
944CONFIG_CRAMFS=y 965CONFIG_CRAMFS=y
945# CONFIG_VXFS_FS is not set 966# CONFIG_VXFS_FS is not set
967# CONFIG_MINIX_FS is not set
946# CONFIG_HPFS_FS is not set 968# CONFIG_HPFS_FS is not set
947# CONFIG_QNX4FS_FS is not set 969# CONFIG_QNX4FS_FS is not set
970# CONFIG_ROMFS_FS is not set
948# CONFIG_SYSV_FS is not set 971# CONFIG_SYSV_FS is not set
949# CONFIG_UFS_FS is not set 972# CONFIG_UFS_FS is not set
950CONFIG_NETWORK_FILESYSTEMS=y 973CONFIG_NETWORK_FILESYSTEMS=y
@@ -1002,9 +1025,6 @@ CONFIG_PLIST=y
1002CONFIG_HAS_IOMEM=y 1025CONFIG_HAS_IOMEM=y
1003CONFIG_HAS_IOPORT=y 1026CONFIG_HAS_IOPORT=y
1004CONFIG_HAS_DMA=y 1027CONFIG_HAS_DMA=y
1005CONFIG_INSTRUMENTATION=y
1006# CONFIG_PROFILING is not set
1007# CONFIG_MARKERS is not set
1008 1028
1009# 1029#
1010# Kernel hacking 1030# Kernel hacking
@@ -1018,6 +1038,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1018# CONFIG_HEADERS_CHECK is not set 1038# CONFIG_HEADERS_CHECK is not set
1019# CONFIG_DEBUG_KERNEL is not set 1039# CONFIG_DEBUG_KERNEL is not set
1020# CONFIG_SLUB_DEBUG_ON is not set 1040# CONFIG_SLUB_DEBUG_ON is not set
1041# CONFIG_SLUB_STATS is not set
1021# CONFIG_DEBUG_BUGVERBOSE is not set 1042# CONFIG_DEBUG_BUGVERBOSE is not set
1022# CONFIG_SAMPLES is not set 1043# CONFIG_SAMPLES is not set
1023# CONFIG_PPC_EARLY_DEBUG is not set 1044# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1028,5 +1049,49 @@ CONFIG_ENABLE_MUST_CHECK=y
1028# CONFIG_KEYS is not set 1049# CONFIG_KEYS is not set
1029# CONFIG_SECURITY is not set 1050# CONFIG_SECURITY is not set
1030# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1051# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1031# CONFIG_CRYPTO is not set 1052CONFIG_CRYPTO=y
1053# CONFIG_CRYPTO_SEQIV is not set
1054# CONFIG_CRYPTO_MANAGER is not set
1055# CONFIG_CRYPTO_HMAC is not set
1056# CONFIG_CRYPTO_XCBC is not set
1057# CONFIG_CRYPTO_NULL is not set
1058# CONFIG_CRYPTO_MD4 is not set
1059# CONFIG_CRYPTO_MD5 is not set
1060# CONFIG_CRYPTO_SHA1 is not set
1061# CONFIG_CRYPTO_SHA256 is not set
1062# CONFIG_CRYPTO_SHA512 is not set
1063# CONFIG_CRYPTO_WP512 is not set
1064# CONFIG_CRYPTO_TGR192 is not set
1065# CONFIG_CRYPTO_GF128MUL is not set
1066# CONFIG_CRYPTO_ECB is not set
1067# CONFIG_CRYPTO_CBC is not set
1068# CONFIG_CRYPTO_PCBC is not set
1069# CONFIG_CRYPTO_LRW is not set
1070# CONFIG_CRYPTO_XTS is not set
1071# CONFIG_CRYPTO_CTR is not set
1072# CONFIG_CRYPTO_GCM is not set
1073# CONFIG_CRYPTO_CCM is not set
1074# CONFIG_CRYPTO_CRYPTD is not set
1075# CONFIG_CRYPTO_DES is not set
1076# CONFIG_CRYPTO_FCRYPT is not set
1077# CONFIG_CRYPTO_BLOWFISH is not set
1078# CONFIG_CRYPTO_TWOFISH is not set
1079# CONFIG_CRYPTO_SERPENT is not set
1080# CONFIG_CRYPTO_AES is not set
1081# CONFIG_CRYPTO_CAST5 is not set
1082# CONFIG_CRYPTO_CAST6 is not set
1083# CONFIG_CRYPTO_TEA is not set
1084# CONFIG_CRYPTO_ARC4 is not set
1085# CONFIG_CRYPTO_KHAZAD is not set
1086# CONFIG_CRYPTO_ANUBIS is not set
1087# CONFIG_CRYPTO_SEED is not set
1088# CONFIG_CRYPTO_SALSA20 is not set
1089# CONFIG_CRYPTO_DEFLATE is not set
1090# CONFIG_CRYPTO_MICHAEL_MIC is not set
1091# CONFIG_CRYPTO_CRC32C is not set
1092# CONFIG_CRYPTO_CAMELLIA is not set
1093# CONFIG_CRYPTO_AUTHENC is not set
1094# CONFIG_CRYPTO_LZO is not set
1095CONFIG_CRYPTO_HW=y
1096# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1032# CONFIG_PPC_CLOCK is not set 1097# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/tqm8541_defconfig b/arch/powerpc/configs/tqm8541_defconfig
index 1aff35f0c53..cbf6ad2d71d 100644
--- a/arch/powerpc/configs/tqm8541_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Fri Jan 25 01:31:28 2008 4# Mon Mar 24 08:48:44 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76CONFIG_FAIR_GROUP_SCHED=y 76CONFIG_FAIR_GROUP_SCHED=y
77CONFIG_FAIR_USER_SCHED=y 77# CONFIG_RT_GROUP_SCHED is not set
78# CONFIG_FAIR_CGROUP_SCHED is not set 78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +92,13 @@ CONFIG_SYSCTL_SYSCALL=y
89CONFIG_PRINTK=y 92CONFIG_PRINTK=y
90CONFIG_BUG=y 93CONFIG_BUG=y
91CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 97CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
95# CONFIG_EPOLL is not set 99# CONFIG_EPOLL is not set
96CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 103CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +106,12 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 106# CONFIG_SLAB is not set
102CONFIG_SLUB=y 107CONFIG_SLUB=y
103# CONFIG_SLOB is not set 108# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
104CONFIG_SLABINFO=y 115CONFIG_SLABINFO=y
105CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
106# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
@@ -124,15 +135,17 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 135# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 136# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 137CONFIG_DEFAULT_IOSCHED="anticipatory"
138CONFIG_CLASSIC_RCU=y
127 139
128# 140#
129# Platform support 141# Platform support
130# 142#
131# CONFIG_PPC_MPC52xx is not set 143# CONFIG_PPC_MPC512x is not set
132# CONFIG_PPC_MPC5200 is not set 144# CONFIG_PPC_MPC5121 is not set
133# CONFIG_PPC_CELL is not set 145# CONFIG_PPC_CELL is not set
134# CONFIG_PPC_CELL_NATIVE is not set 146# CONFIG_PPC_CELL_NATIVE is not set
135# CONFIG_PQ2ADS is not set 147# CONFIG_PQ2ADS is not set
148CONFIG_MPC85xx=y
136# CONFIG_MPC8540_ADS is not set 149# CONFIG_MPC8540_ADS is not set
137# CONFIG_MPC8560_ADS is not set 150# CONFIG_MPC8560_ADS is not set
138# CONFIG_MPC85xx_CDS is not set 151# CONFIG_MPC85xx_CDS is not set
@@ -143,8 +156,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
143CONFIG_TQM8541=y 156CONFIG_TQM8541=y
144# CONFIG_TQM8555 is not set 157# CONFIG_TQM8555 is not set
145# CONFIG_TQM8560 is not set 158# CONFIG_TQM8560 is not set
159# CONFIG_SBC8548 is not set
160# CONFIG_SBC8560 is not set
146CONFIG_TQM85xx=y 161CONFIG_TQM85xx=y
147CONFIG_MPC85xx=y
148# CONFIG_IPIC is not set 162# CONFIG_IPIC is not set
149CONFIG_MPIC=y 163CONFIG_MPIC=y
150# CONFIG_MPIC_WEIRD is not set 164# CONFIG_MPIC_WEIRD is not set
@@ -174,13 +188,17 @@ CONFIG_HZ_250=y
174# CONFIG_HZ_300 is not set 188# CONFIG_HZ_300 is not set
175# CONFIG_HZ_1000 is not set 189# CONFIG_HZ_1000 is not set
176CONFIG_HZ=250 190CONFIG_HZ=250
191# CONFIG_SCHED_HRTICK is not set
177CONFIG_PREEMPT_NONE=y 192CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set 193# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set 194# CONFIG_PREEMPT is not set
180CONFIG_BINFMT_ELF=y 195CONFIG_BINFMT_ELF=y
181# CONFIG_BINFMT_MISC is not set 196# CONFIG_BINFMT_MISC is not set
182CONFIG_MATH_EMULATION=y 197CONFIG_MATH_EMULATION=y
198# CONFIG_IOMMU_HELPER is not set
183CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 199CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
200CONFIG_ARCH_HAS_WALK_MEMORY=y
201CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
184CONFIG_ARCH_FLATMEM_ENABLE=y 202CONFIG_ARCH_FLATMEM_ENABLE=y
185CONFIG_ARCH_POPULATES_NODE_MAP=y 203CONFIG_ARCH_POPULATES_NODE_MAP=y
186CONFIG_SELECT_MEMORY_MODEL=y 204CONFIG_SELECT_MEMORY_MODEL=y
@@ -199,11 +217,7 @@ CONFIG_VIRT_TO_BUS=y
199# CONFIG_PROC_DEVICETREE is not set 217# CONFIG_PROC_DEVICETREE is not set
200# CONFIG_CMDLINE_BOOL is not set 218# CONFIG_CMDLINE_BOOL is not set
201# CONFIG_PM is not set 219# CONFIG_PM is not set
202CONFIG_SUSPEND_UP_POSSIBLE=y
203CONFIG_HIBERNATION_UP_POSSIBLE=y
204CONFIG_SECCOMP=y 220CONFIG_SECCOMP=y
205CONFIG_WANT_DEVICE_TREE=y
206CONFIG_DEVICE_TREE="tqm8541.dts"
207CONFIG_ISA_DMA_API=y 221CONFIG_ISA_DMA_API=y
208 222
209# 223#
@@ -250,6 +264,7 @@ CONFIG_XFRM=y
250# CONFIG_XFRM_USER is not set 264# CONFIG_XFRM_USER is not set
251# CONFIG_XFRM_SUB_POLICY is not set 265# CONFIG_XFRM_SUB_POLICY is not set
252# CONFIG_XFRM_MIGRATE is not set 266# CONFIG_XFRM_MIGRATE is not set
267# CONFIG_XFRM_STATISTICS is not set
253# CONFIG_NET_KEY is not set 268# CONFIG_NET_KEY is not set
254CONFIG_INET=y 269CONFIG_INET=y
255CONFIG_IP_MULTICAST=y 270CONFIG_IP_MULTICAST=y
@@ -305,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
305# 320#
306# CONFIG_NET_PKTGEN is not set 321# CONFIG_NET_PKTGEN is not set
307# CONFIG_HAMRADIO is not set 322# CONFIG_HAMRADIO is not set
323# CONFIG_CAN is not set
308# CONFIG_IRDA is not set 324# CONFIG_IRDA is not set
309# CONFIG_BT is not set 325# CONFIG_BT is not set
310# CONFIG_AF_RXRPC is not set 326# CONFIG_AF_RXRPC is not set
@@ -336,6 +352,7 @@ CONFIG_MTD_CONCAT=y
336CONFIG_MTD_PARTITIONS=y 352CONFIG_MTD_PARTITIONS=y
337# CONFIG_MTD_REDBOOT_PARTS is not set 353# CONFIG_MTD_REDBOOT_PARTS is not set
338CONFIG_MTD_CMDLINE_PARTS=y 354CONFIG_MTD_CMDLINE_PARTS=y
355# CONFIG_MTD_OF_PARTS is not set
339 356
340# 357#
341# User Modules And Translation Layers 358# User Modules And Translation Layers
@@ -422,7 +439,7 @@ CONFIG_BLK_DEV_LOOP=y
422CONFIG_BLK_DEV_RAM=y 439CONFIG_BLK_DEV_RAM=y
423CONFIG_BLK_DEV_RAM_COUNT=16 440CONFIG_BLK_DEV_RAM_COUNT=16
424CONFIG_BLK_DEV_RAM_SIZE=32768 441CONFIG_BLK_DEV_RAM_SIZE=32768
425CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 442# CONFIG_BLK_DEV_XIP is not set
426# CONFIG_CDROM_PKTCDVD is not set 443# CONFIG_CDROM_PKTCDVD is not set
427# CONFIG_ATA_OVER_ETH is not set 444# CONFIG_ATA_OVER_ETH is not set
428CONFIG_MISC_DEVICES=y 445CONFIG_MISC_DEVICES=y
@@ -430,12 +447,14 @@ CONFIG_MISC_DEVICES=y
430# CONFIG_EEPROM_93CX6 is not set 447# CONFIG_EEPROM_93CX6 is not set
431# CONFIG_SGI_IOC4 is not set 448# CONFIG_SGI_IOC4 is not set
432# CONFIG_TIFM_CORE is not set 449# CONFIG_TIFM_CORE is not set
450# CONFIG_ENCLOSURE_SERVICES is not set
451CONFIG_HAVE_IDE=y
433CONFIG_IDE=y 452CONFIG_IDE=y
434CONFIG_IDE_MAX_HWIFS=4 453CONFIG_IDE_MAX_HWIFS=4
435CONFIG_BLK_DEV_IDE=y 454CONFIG_BLK_DEV_IDE=y
436 455
437# 456#
438# Please see Documentation/ide.txt for help/info on IDE drives 457# Please see Documentation/ide/ide.txt for help/info on IDE drives
439# 458#
440# CONFIG_BLK_DEV_IDE_SATA is not set 459# CONFIG_BLK_DEV_IDE_SATA is not set
441CONFIG_BLK_DEV_IDEDISK=y 460CONFIG_BLK_DEV_IDEDISK=y
@@ -451,12 +470,12 @@ CONFIG_IDE_PROC_FS=y
451# 470#
452CONFIG_IDE_GENERIC=y 471CONFIG_IDE_GENERIC=y
453# CONFIG_BLK_DEV_PLATFORM is not set 472# CONFIG_BLK_DEV_PLATFORM is not set
473CONFIG_BLK_DEV_IDEDMA_SFF=y
454 474
455# 475#
456# PCI IDE chipsets support 476# PCI IDE chipsets support
457# 477#
458CONFIG_BLK_DEV_IDEPCI=y 478CONFIG_BLK_DEV_IDEPCI=y
459CONFIG_IDEPCI_SHARE_IRQ=y
460CONFIG_IDEPCI_PCIBUS_ORDER=y 479CONFIG_IDEPCI_PCIBUS_ORDER=y
461# CONFIG_BLK_DEV_OFFBOARD is not set 480# CONFIG_BLK_DEV_OFFBOARD is not set
462CONFIG_BLK_DEV_GENERIC=y 481CONFIG_BLK_DEV_GENERIC=y
@@ -487,7 +506,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
487# CONFIG_BLK_DEV_TRM290 is not set 506# CONFIG_BLK_DEV_TRM290 is not set
488CONFIG_BLK_DEV_VIA82CXXX=y 507CONFIG_BLK_DEV_VIA82CXXX=y
489# CONFIG_BLK_DEV_TC86C001 is not set 508# CONFIG_BLK_DEV_TC86C001 is not set
490# CONFIG_IDE_ARM is not set
491CONFIG_BLK_DEV_IDEDMA=y 509CONFIG_BLK_DEV_IDEDMA=y
492CONFIG_IDE_ARCH_OBSOLETE_INIT=y 510CONFIG_IDE_ARCH_OBSOLETE_INIT=y
493# CONFIG_BLK_DEV_HD is not set 511# CONFIG_BLK_DEV_HD is not set
@@ -533,6 +551,7 @@ CONFIG_PHYLIB=y
533# CONFIG_SMSC_PHY is not set 551# CONFIG_SMSC_PHY is not set
534# CONFIG_BROADCOM_PHY is not set 552# CONFIG_BROADCOM_PHY is not set
535# CONFIG_ICPLUS_PHY is not set 553# CONFIG_ICPLUS_PHY is not set
554# CONFIG_REALTEK_PHY is not set
536# CONFIG_FIXED_PHY is not set 555# CONFIG_FIXED_PHY is not set
537# CONFIG_MDIO_BITBANG is not set 556# CONFIG_MDIO_BITBANG is not set
538CONFIG_NET_ETHERNET=y 557CONFIG_NET_ETHERNET=y
@@ -560,6 +579,7 @@ CONFIG_E100=y
560# CONFIG_NE2K_PCI is not set 579# CONFIG_NE2K_PCI is not set
561# CONFIG_8139CP is not set 580# CONFIG_8139CP is not set
562# CONFIG_8139TOO is not set 581# CONFIG_8139TOO is not set
582# CONFIG_R6040 is not set
563# CONFIG_SIS900 is not set 583# CONFIG_SIS900 is not set
564# CONFIG_EPIC100 is not set 584# CONFIG_EPIC100 is not set
565# CONFIG_SUNDANCE is not set 585# CONFIG_SUNDANCE is not set
@@ -572,7 +592,9 @@ CONFIG_NETDEV_1000=y
572# CONFIG_DL2K is not set 592# CONFIG_DL2K is not set
573# CONFIG_E1000 is not set 593# CONFIG_E1000 is not set
574# CONFIG_E1000E is not set 594# CONFIG_E1000E is not set
595# CONFIG_E1000E_ENABLED is not set
575# CONFIG_IP1000 is not set 596# CONFIG_IP1000 is not set
597# CONFIG_IGB is not set
576# CONFIG_NS83820 is not set 598# CONFIG_NS83820 is not set
577# CONFIG_HAMACHI is not set 599# CONFIG_HAMACHI is not set
578# CONFIG_YELLOWFIN is not set 600# CONFIG_YELLOWFIN is not set
@@ -599,6 +621,7 @@ CONFIG_NETDEV_10000=y
599# CONFIG_NIU is not set 621# CONFIG_NIU is not set
600# CONFIG_MLX4_CORE is not set 622# CONFIG_MLX4_CORE is not set
601# CONFIG_TEHUTI is not set 623# CONFIG_TEHUTI is not set
624# CONFIG_BNX2X is not set
602# CONFIG_TR is not set 625# CONFIG_TR is not set
603 626
604# 627#
@@ -611,7 +634,6 @@ CONFIG_NETDEV_10000=y
611# CONFIG_HIPPI is not set 634# CONFIG_HIPPI is not set
612# CONFIG_PPP is not set 635# CONFIG_PPP is not set
613# CONFIG_SLIP is not set 636# CONFIG_SLIP is not set
614# CONFIG_SHAPER is not set
615# CONFIG_NETCONSOLE is not set 637# CONFIG_NETCONSOLE is not set
616# CONFIG_NETPOLL is not set 638# CONFIG_NETPOLL is not set
617# CONFIG_NET_POLL_CONTROLLER is not set 639# CONFIG_NET_POLL_CONTROLLER is not set
@@ -654,6 +676,7 @@ CONFIG_INPUT=y
654# 676#
655# CONFIG_VT is not set 677# CONFIG_VT is not set
656# CONFIG_SERIAL_NONSTANDARD is not set 678# CONFIG_SERIAL_NONSTANDARD is not set
679# CONFIG_NOZOMI is not set
657 680
658# 681#
659# Serial drivers 682# Serial drivers
@@ -735,14 +758,12 @@ CONFIG_I2C_MPC=y
735# 758#
736# Miscellaneous I2C Chip support 759# Miscellaneous I2C Chip support
737# 760#
738CONFIG_SENSORS_DS1337=y
739# CONFIG_SENSORS_DS1374 is not set
740# CONFIG_DS1682 is not set 761# CONFIG_DS1682 is not set
741# CONFIG_SENSORS_EEPROM is not set 762# CONFIG_SENSORS_EEPROM is not set
742# CONFIG_SENSORS_PCF8574 is not set 763# CONFIG_SENSORS_PCF8574 is not set
743# CONFIG_SENSORS_PCA9539 is not set 764# CONFIG_PCF8575 is not set
744# CONFIG_SENSORS_PCF8591 is not set 765# CONFIG_SENSORS_PCF8591 is not set
745# CONFIG_SENSORS_M41T00 is not set 766# CONFIG_TPS65010 is not set
746# CONFIG_SENSORS_MAX6875 is not set 767# CONFIG_SENSORS_MAX6875 is not set
747# CONFIG_SENSORS_TSL2550 is not set 768# CONFIG_SENSORS_TSL2550 is not set
748# CONFIG_I2C_DEBUG_CORE is not set 769# CONFIG_I2C_DEBUG_CORE is not set
@@ -767,6 +788,7 @@ CONFIG_HWMON=y
767# CONFIG_SENSORS_ADM1031 is not set 788# CONFIG_SENSORS_ADM1031 is not set
768# CONFIG_SENSORS_ADM9240 is not set 789# CONFIG_SENSORS_ADM9240 is not set
769# CONFIG_SENSORS_ADT7470 is not set 790# CONFIG_SENSORS_ADT7470 is not set
791# CONFIG_SENSORS_ADT7473 is not set
770# CONFIG_SENSORS_ATXP1 is not set 792# CONFIG_SENSORS_ATXP1 is not set
771# CONFIG_SENSORS_DS1621 is not set 793# CONFIG_SENSORS_DS1621 is not set
772# CONFIG_SENSORS_I5K_AMB is not set 794# CONFIG_SENSORS_I5K_AMB is not set
@@ -796,6 +818,7 @@ CONFIG_SENSORS_LM75=y
796# CONFIG_SENSORS_SMSC47M1 is not set 818# CONFIG_SENSORS_SMSC47M1 is not set
797# CONFIG_SENSORS_SMSC47M192 is not set 819# CONFIG_SENSORS_SMSC47M192 is not set
798# CONFIG_SENSORS_SMSC47B397 is not set 820# CONFIG_SENSORS_SMSC47B397 is not set
821# CONFIG_SENSORS_ADS7828 is not set
799# CONFIG_SENSORS_THMC50 is not set 822# CONFIG_SENSORS_THMC50 is not set
800# CONFIG_SENSORS_VIA686A is not set 823# CONFIG_SENSORS_VIA686A is not set
801# CONFIG_SENSORS_VT1211 is not set 824# CONFIG_SENSORS_VT1211 is not set
@@ -805,9 +828,11 @@ CONFIG_SENSORS_LM75=y
805# CONFIG_SENSORS_W83792D is not set 828# CONFIG_SENSORS_W83792D is not set
806# CONFIG_SENSORS_W83793 is not set 829# CONFIG_SENSORS_W83793 is not set
807# CONFIG_SENSORS_W83L785TS is not set 830# CONFIG_SENSORS_W83L785TS is not set
831# CONFIG_SENSORS_W83L786NG is not set
808# CONFIG_SENSORS_W83627HF is not set 832# CONFIG_SENSORS_W83627HF is not set
809# CONFIG_SENSORS_W83627EHF is not set 833# CONFIG_SENSORS_W83627EHF is not set
810CONFIG_HWMON_DEBUG_CHIP=y 834CONFIG_HWMON_DEBUG_CHIP=y
835# CONFIG_THERMAL is not set
811# CONFIG_WATCHDOG is not set 836# CONFIG_WATCHDOG is not set
812 837
813# 838#
@@ -860,16 +885,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
860# 885#
861# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 886# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
862# 887#
863
864#
865# USB Gadget Support
866#
867# CONFIG_USB_GADGET is not set 888# CONFIG_USB_GADGET is not set
868# CONFIG_MMC is not set 889# CONFIG_MMC is not set
890# CONFIG_MEMSTICK is not set
869# CONFIG_NEW_LEDS is not set 891# CONFIG_NEW_LEDS is not set
870# CONFIG_INFINIBAND is not set 892# CONFIG_INFINIBAND is not set
871# CONFIG_EDAC is not set 893# CONFIG_EDAC is not set
872# CONFIG_RTC_CLASS is not set 894# CONFIG_RTC_CLASS is not set
895# CONFIG_DMADEVICES is not set
873 896
874# 897#
875# Userspace I/O 898# Userspace I/O
@@ -895,12 +918,10 @@ CONFIG_FS_MBCACHE=y
895# CONFIG_XFS_FS is not set 918# CONFIG_XFS_FS is not set
896# CONFIG_GFS2_FS is not set 919# CONFIG_GFS2_FS is not set
897# CONFIG_OCFS2_FS is not set 920# CONFIG_OCFS2_FS is not set
898# CONFIG_MINIX_FS is not set 921CONFIG_DNOTIFY=y
899# CONFIG_ROMFS_FS is not set
900CONFIG_INOTIFY=y 922CONFIG_INOTIFY=y
901CONFIG_INOTIFY_USER=y 923CONFIG_INOTIFY_USER=y
902# CONFIG_QUOTA is not set 924# CONFIG_QUOTA is not set
903CONFIG_DNOTIFY=y
904# CONFIG_AUTOFS_FS is not set 925# CONFIG_AUTOFS_FS is not set
905# CONFIG_AUTOFS4_FS is not set 926# CONFIG_AUTOFS4_FS is not set
906# CONFIG_FUSE_FS is not set 927# CONFIG_FUSE_FS is not set
@@ -953,8 +974,10 @@ CONFIG_JFFS2_RTIME=y
953# CONFIG_JFFS2_RUBIN is not set 974# CONFIG_JFFS2_RUBIN is not set
954CONFIG_CRAMFS=y 975CONFIG_CRAMFS=y
955# CONFIG_VXFS_FS is not set 976# CONFIG_VXFS_FS is not set
977# CONFIG_MINIX_FS is not set
956# CONFIG_HPFS_FS is not set 978# CONFIG_HPFS_FS is not set
957# CONFIG_QNX4FS_FS is not set 979# CONFIG_QNX4FS_FS is not set
980# CONFIG_ROMFS_FS is not set
958# CONFIG_SYSV_FS is not set 981# CONFIG_SYSV_FS is not set
959# CONFIG_UFS_FS is not set 982# CONFIG_UFS_FS is not set
960CONFIG_NETWORK_FILESYSTEMS=y 983CONFIG_NETWORK_FILESYSTEMS=y
@@ -1012,9 +1035,6 @@ CONFIG_PLIST=y
1012CONFIG_HAS_IOMEM=y 1035CONFIG_HAS_IOMEM=y
1013CONFIG_HAS_IOPORT=y 1036CONFIG_HAS_IOPORT=y
1014CONFIG_HAS_DMA=y 1037CONFIG_HAS_DMA=y
1015CONFIG_INSTRUMENTATION=y
1016# CONFIG_PROFILING is not set
1017# CONFIG_MARKERS is not set
1018 1038
1019# 1039#
1020# Kernel hacking 1040# Kernel hacking
@@ -1028,6 +1048,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1028# CONFIG_HEADERS_CHECK is not set 1048# CONFIG_HEADERS_CHECK is not set
1029# CONFIG_DEBUG_KERNEL is not set 1049# CONFIG_DEBUG_KERNEL is not set
1030# CONFIG_SLUB_DEBUG_ON is not set 1050# CONFIG_SLUB_DEBUG_ON is not set
1051# CONFIG_SLUB_STATS is not set
1031# CONFIG_DEBUG_BUGVERBOSE is not set 1052# CONFIG_DEBUG_BUGVERBOSE is not set
1032# CONFIG_SAMPLES is not set 1053# CONFIG_SAMPLES is not set
1033# CONFIG_KGDB_CONSOLE is not set 1054# CONFIG_KGDB_CONSOLE is not set
@@ -1039,6 +1060,50 @@ CONFIG_ENABLE_MUST_CHECK=y
1039# CONFIG_KEYS is not set 1060# CONFIG_KEYS is not set
1040# CONFIG_SECURITY is not set 1061# CONFIG_SECURITY is not set
1041# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1062# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1042# CONFIG_CRYPTO is not set 1063CONFIG_CRYPTO=y
1064# CONFIG_CRYPTO_SEQIV is not set
1065# CONFIG_CRYPTO_MANAGER is not set
1066# CONFIG_CRYPTO_HMAC is not set
1067# CONFIG_CRYPTO_XCBC is not set
1068# CONFIG_CRYPTO_NULL is not set
1069# CONFIG_CRYPTO_MD4 is not set
1070# CONFIG_CRYPTO_MD5 is not set
1071# CONFIG_CRYPTO_SHA1 is not set
1072# CONFIG_CRYPTO_SHA256 is not set
1073# CONFIG_CRYPTO_SHA512 is not set
1074# CONFIG_CRYPTO_WP512 is not set
1075# CONFIG_CRYPTO_TGR192 is not set
1076# CONFIG_CRYPTO_GF128MUL is not set
1077# CONFIG_CRYPTO_ECB is not set
1078# CONFIG_CRYPTO_CBC is not set
1079# CONFIG_CRYPTO_PCBC is not set
1080# CONFIG_CRYPTO_LRW is not set
1081# CONFIG_CRYPTO_XTS is not set
1082# CONFIG_CRYPTO_CTR is not set
1083# CONFIG_CRYPTO_GCM is not set
1084# CONFIG_CRYPTO_CCM is not set
1085# CONFIG_CRYPTO_CRYPTD is not set
1086# CONFIG_CRYPTO_DES is not set
1087# CONFIG_CRYPTO_FCRYPT is not set
1088# CONFIG_CRYPTO_BLOWFISH is not set
1089# CONFIG_CRYPTO_TWOFISH is not set
1090# CONFIG_CRYPTO_SERPENT is not set
1091# CONFIG_CRYPTO_AES is not set
1092# CONFIG_CRYPTO_CAST5 is not set
1093# CONFIG_CRYPTO_CAST6 is not set
1094# CONFIG_CRYPTO_TEA is not set
1095# CONFIG_CRYPTO_ARC4 is not set
1096# CONFIG_CRYPTO_KHAZAD is not set
1097# CONFIG_CRYPTO_ANUBIS is not set
1098# CONFIG_CRYPTO_SEED is not set
1099# CONFIG_CRYPTO_SALSA20 is not set
1100# CONFIG_CRYPTO_DEFLATE is not set
1101# CONFIG_CRYPTO_MICHAEL_MIC is not set
1102# CONFIG_CRYPTO_CRC32C is not set
1103# CONFIG_CRYPTO_CAMELLIA is not set
1104# CONFIG_CRYPTO_AUTHENC is not set
1105# CONFIG_CRYPTO_LZO is not set
1106CONFIG_CRYPTO_HW=y
1107# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1043# CONFIG_PPC_CLOCK is not set 1108# CONFIG_PPC_CLOCK is not set
1044CONFIG_PPC_LIB_RHEAP=y 1109CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/tqm8555_defconfig b/arch/powerpc/configs/tqm8555_defconfig
index a3af2262128..bbff962c847 100644
--- a/arch/powerpc/configs/tqm8555_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Fri Jan 25 01:15:24 2008 4# Mon Mar 24 08:48:44 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76CONFIG_FAIR_GROUP_SCHED=y 76CONFIG_FAIR_GROUP_SCHED=y
77CONFIG_FAIR_USER_SCHED=y 77# CONFIG_RT_GROUP_SCHED is not set
78# CONFIG_FAIR_CGROUP_SCHED is not set 78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +92,13 @@ CONFIG_SYSCTL_SYSCALL=y
89CONFIG_PRINTK=y 92CONFIG_PRINTK=y
90CONFIG_BUG=y 93CONFIG_BUG=y
91CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 97CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
95# CONFIG_EPOLL is not set 99# CONFIG_EPOLL is not set
96CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 103CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +106,12 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 106# CONFIG_SLAB is not set
102CONFIG_SLUB=y 107CONFIG_SLUB=y
103# CONFIG_SLOB is not set 108# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
104CONFIG_SLABINFO=y 115CONFIG_SLABINFO=y
105CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
106# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
@@ -124,15 +135,17 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 135# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 136# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 137CONFIG_DEFAULT_IOSCHED="anticipatory"
138CONFIG_CLASSIC_RCU=y
127 139
128# 140#
129# Platform support 141# Platform support
130# 142#
131# CONFIG_PPC_MPC52xx is not set 143# CONFIG_PPC_MPC512x is not set
132# CONFIG_PPC_MPC5200 is not set 144# CONFIG_PPC_MPC5121 is not set
133# CONFIG_PPC_CELL is not set 145# CONFIG_PPC_CELL is not set
134# CONFIG_PPC_CELL_NATIVE is not set 146# CONFIG_PPC_CELL_NATIVE is not set
135# CONFIG_PQ2ADS is not set 147# CONFIG_PQ2ADS is not set
148CONFIG_MPC85xx=y
136# CONFIG_MPC8540_ADS is not set 149# CONFIG_MPC8540_ADS is not set
137# CONFIG_MPC8560_ADS is not set 150# CONFIG_MPC8560_ADS is not set
138# CONFIG_MPC85xx_CDS is not set 151# CONFIG_MPC85xx_CDS is not set
@@ -143,8 +156,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
143# CONFIG_TQM8541 is not set 156# CONFIG_TQM8541 is not set
144CONFIG_TQM8555=y 157CONFIG_TQM8555=y
145# CONFIG_TQM8560 is not set 158# CONFIG_TQM8560 is not set
159# CONFIG_SBC8548 is not set
160# CONFIG_SBC8560 is not set
146CONFIG_TQM85xx=y 161CONFIG_TQM85xx=y
147CONFIG_MPC85xx=y
148# CONFIG_IPIC is not set 162# CONFIG_IPIC is not set
149CONFIG_MPIC=y 163CONFIG_MPIC=y
150# CONFIG_MPIC_WEIRD is not set 164# CONFIG_MPIC_WEIRD is not set
@@ -174,13 +188,17 @@ CONFIG_HZ_250=y
174# CONFIG_HZ_300 is not set 188# CONFIG_HZ_300 is not set
175# CONFIG_HZ_1000 is not set 189# CONFIG_HZ_1000 is not set
176CONFIG_HZ=250 190CONFIG_HZ=250
191# CONFIG_SCHED_HRTICK is not set
177CONFIG_PREEMPT_NONE=y 192CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set 193# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set 194# CONFIG_PREEMPT is not set
180CONFIG_BINFMT_ELF=y 195CONFIG_BINFMT_ELF=y
181# CONFIG_BINFMT_MISC is not set 196# CONFIG_BINFMT_MISC is not set
182CONFIG_MATH_EMULATION=y 197CONFIG_MATH_EMULATION=y
198# CONFIG_IOMMU_HELPER is not set
183CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 199CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
200CONFIG_ARCH_HAS_WALK_MEMORY=y
201CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
184CONFIG_ARCH_FLATMEM_ENABLE=y 202CONFIG_ARCH_FLATMEM_ENABLE=y
185CONFIG_ARCH_POPULATES_NODE_MAP=y 203CONFIG_ARCH_POPULATES_NODE_MAP=y
186CONFIG_SELECT_MEMORY_MODEL=y 204CONFIG_SELECT_MEMORY_MODEL=y
@@ -199,11 +217,7 @@ CONFIG_VIRT_TO_BUS=y
199# CONFIG_PROC_DEVICETREE is not set 217# CONFIG_PROC_DEVICETREE is not set
200# CONFIG_CMDLINE_BOOL is not set 218# CONFIG_CMDLINE_BOOL is not set
201# CONFIG_PM is not set 219# CONFIG_PM is not set
202CONFIG_SUSPEND_UP_POSSIBLE=y
203CONFIG_HIBERNATION_UP_POSSIBLE=y
204CONFIG_SECCOMP=y 220CONFIG_SECCOMP=y
205CONFIG_WANT_DEVICE_TREE=y
206CONFIG_DEVICE_TREE="tqm8555.dts"
207CONFIG_ISA_DMA_API=y 221CONFIG_ISA_DMA_API=y
208 222
209# 223#
@@ -250,6 +264,7 @@ CONFIG_XFRM=y
250# CONFIG_XFRM_USER is not set 264# CONFIG_XFRM_USER is not set
251# CONFIG_XFRM_SUB_POLICY is not set 265# CONFIG_XFRM_SUB_POLICY is not set
252# CONFIG_XFRM_MIGRATE is not set 266# CONFIG_XFRM_MIGRATE is not set
267# CONFIG_XFRM_STATISTICS is not set
253# CONFIG_NET_KEY is not set 268# CONFIG_NET_KEY is not set
254CONFIG_INET=y 269CONFIG_INET=y
255CONFIG_IP_MULTICAST=y 270CONFIG_IP_MULTICAST=y
@@ -305,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
305# 320#
306# CONFIG_NET_PKTGEN is not set 321# CONFIG_NET_PKTGEN is not set
307# CONFIG_HAMRADIO is not set 322# CONFIG_HAMRADIO is not set
323# CONFIG_CAN is not set
308# CONFIG_IRDA is not set 324# CONFIG_IRDA is not set
309# CONFIG_BT is not set 325# CONFIG_BT is not set
310# CONFIG_AF_RXRPC is not set 326# CONFIG_AF_RXRPC is not set
@@ -336,6 +352,7 @@ CONFIG_MTD_CONCAT=y
336CONFIG_MTD_PARTITIONS=y 352CONFIG_MTD_PARTITIONS=y
337# CONFIG_MTD_REDBOOT_PARTS is not set 353# CONFIG_MTD_REDBOOT_PARTS is not set
338CONFIG_MTD_CMDLINE_PARTS=y 354CONFIG_MTD_CMDLINE_PARTS=y
355# CONFIG_MTD_OF_PARTS is not set
339 356
340# 357#
341# User Modules And Translation Layers 358# User Modules And Translation Layers
@@ -422,7 +439,7 @@ CONFIG_BLK_DEV_LOOP=y
422CONFIG_BLK_DEV_RAM=y 439CONFIG_BLK_DEV_RAM=y
423CONFIG_BLK_DEV_RAM_COUNT=16 440CONFIG_BLK_DEV_RAM_COUNT=16
424CONFIG_BLK_DEV_RAM_SIZE=32768 441CONFIG_BLK_DEV_RAM_SIZE=32768
425CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 442# CONFIG_BLK_DEV_XIP is not set
426# CONFIG_CDROM_PKTCDVD is not set 443# CONFIG_CDROM_PKTCDVD is not set
427# CONFIG_ATA_OVER_ETH is not set 444# CONFIG_ATA_OVER_ETH is not set
428CONFIG_MISC_DEVICES=y 445CONFIG_MISC_DEVICES=y
@@ -430,12 +447,14 @@ CONFIG_MISC_DEVICES=y
430# CONFIG_EEPROM_93CX6 is not set 447# CONFIG_EEPROM_93CX6 is not set
431# CONFIG_SGI_IOC4 is not set 448# CONFIG_SGI_IOC4 is not set
432# CONFIG_TIFM_CORE is not set 449# CONFIG_TIFM_CORE is not set
450# CONFIG_ENCLOSURE_SERVICES is not set
451CONFIG_HAVE_IDE=y
433CONFIG_IDE=y 452CONFIG_IDE=y
434CONFIG_IDE_MAX_HWIFS=4 453CONFIG_IDE_MAX_HWIFS=4
435CONFIG_BLK_DEV_IDE=y 454CONFIG_BLK_DEV_IDE=y
436 455
437# 456#
438# Please see Documentation/ide.txt for help/info on IDE drives 457# Please see Documentation/ide/ide.txt for help/info on IDE drives
439# 458#
440# CONFIG_BLK_DEV_IDE_SATA is not set 459# CONFIG_BLK_DEV_IDE_SATA is not set
441CONFIG_BLK_DEV_IDEDISK=y 460CONFIG_BLK_DEV_IDEDISK=y
@@ -451,12 +470,12 @@ CONFIG_IDE_PROC_FS=y
451# 470#
452CONFIG_IDE_GENERIC=y 471CONFIG_IDE_GENERIC=y
453# CONFIG_BLK_DEV_PLATFORM is not set 472# CONFIG_BLK_DEV_PLATFORM is not set
473CONFIG_BLK_DEV_IDEDMA_SFF=y
454 474
455# 475#
456# PCI IDE chipsets support 476# PCI IDE chipsets support
457# 477#
458CONFIG_BLK_DEV_IDEPCI=y 478CONFIG_BLK_DEV_IDEPCI=y
459CONFIG_IDEPCI_SHARE_IRQ=y
460CONFIG_IDEPCI_PCIBUS_ORDER=y 479CONFIG_IDEPCI_PCIBUS_ORDER=y
461# CONFIG_BLK_DEV_OFFBOARD is not set 480# CONFIG_BLK_DEV_OFFBOARD is not set
462CONFIG_BLK_DEV_GENERIC=y 481CONFIG_BLK_DEV_GENERIC=y
@@ -487,7 +506,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
487# CONFIG_BLK_DEV_TRM290 is not set 506# CONFIG_BLK_DEV_TRM290 is not set
488CONFIG_BLK_DEV_VIA82CXXX=y 507CONFIG_BLK_DEV_VIA82CXXX=y
489# CONFIG_BLK_DEV_TC86C001 is not set 508# CONFIG_BLK_DEV_TC86C001 is not set
490# CONFIG_IDE_ARM is not set
491CONFIG_BLK_DEV_IDEDMA=y 509CONFIG_BLK_DEV_IDEDMA=y
492CONFIG_IDE_ARCH_OBSOLETE_INIT=y 510CONFIG_IDE_ARCH_OBSOLETE_INIT=y
493# CONFIG_BLK_DEV_HD is not set 511# CONFIG_BLK_DEV_HD is not set
@@ -533,6 +551,7 @@ CONFIG_PHYLIB=y
533# CONFIG_SMSC_PHY is not set 551# CONFIG_SMSC_PHY is not set
534# CONFIG_BROADCOM_PHY is not set 552# CONFIG_BROADCOM_PHY is not set
535# CONFIG_ICPLUS_PHY is not set 553# CONFIG_ICPLUS_PHY is not set
554# CONFIG_REALTEK_PHY is not set
536# CONFIG_FIXED_PHY is not set 555# CONFIG_FIXED_PHY is not set
537# CONFIG_MDIO_BITBANG is not set 556# CONFIG_MDIO_BITBANG is not set
538CONFIG_NET_ETHERNET=y 557CONFIG_NET_ETHERNET=y
@@ -560,6 +579,7 @@ CONFIG_E100=y
560# CONFIG_NE2K_PCI is not set 579# CONFIG_NE2K_PCI is not set
561# CONFIG_8139CP is not set 580# CONFIG_8139CP is not set
562# CONFIG_8139TOO is not set 581# CONFIG_8139TOO is not set
582# CONFIG_R6040 is not set
563# CONFIG_SIS900 is not set 583# CONFIG_SIS900 is not set
564# CONFIG_EPIC100 is not set 584# CONFIG_EPIC100 is not set
565# CONFIG_SUNDANCE is not set 585# CONFIG_SUNDANCE is not set
@@ -572,7 +592,9 @@ CONFIG_NETDEV_1000=y
572# CONFIG_DL2K is not set 592# CONFIG_DL2K is not set
573# CONFIG_E1000 is not set 593# CONFIG_E1000 is not set
574# CONFIG_E1000E is not set 594# CONFIG_E1000E is not set
595# CONFIG_E1000E_ENABLED is not set
575# CONFIG_IP1000 is not set 596# CONFIG_IP1000 is not set
597# CONFIG_IGB is not set
576# CONFIG_NS83820 is not set 598# CONFIG_NS83820 is not set
577# CONFIG_HAMACHI is not set 599# CONFIG_HAMACHI is not set
578# CONFIG_YELLOWFIN is not set 600# CONFIG_YELLOWFIN is not set
@@ -599,6 +621,7 @@ CONFIG_NETDEV_10000=y
599# CONFIG_NIU is not set 621# CONFIG_NIU is not set
600# CONFIG_MLX4_CORE is not set 622# CONFIG_MLX4_CORE is not set
601# CONFIG_TEHUTI is not set 623# CONFIG_TEHUTI is not set
624# CONFIG_BNX2X is not set
602# CONFIG_TR is not set 625# CONFIG_TR is not set
603 626
604# 627#
@@ -611,7 +634,6 @@ CONFIG_NETDEV_10000=y
611# CONFIG_HIPPI is not set 634# CONFIG_HIPPI is not set
612# CONFIG_PPP is not set 635# CONFIG_PPP is not set
613# CONFIG_SLIP is not set 636# CONFIG_SLIP is not set
614# CONFIG_SHAPER is not set
615# CONFIG_NETCONSOLE is not set 637# CONFIG_NETCONSOLE is not set
616# CONFIG_NETPOLL is not set 638# CONFIG_NETPOLL is not set
617# CONFIG_NET_POLL_CONTROLLER is not set 639# CONFIG_NET_POLL_CONTROLLER is not set
@@ -654,6 +676,7 @@ CONFIG_INPUT=y
654# 676#
655# CONFIG_VT is not set 677# CONFIG_VT is not set
656# CONFIG_SERIAL_NONSTANDARD is not set 678# CONFIG_SERIAL_NONSTANDARD is not set
679# CONFIG_NOZOMI is not set
657 680
658# 681#
659# Serial drivers 682# Serial drivers
@@ -735,14 +758,12 @@ CONFIG_I2C_MPC=y
735# 758#
736# Miscellaneous I2C Chip support 759# Miscellaneous I2C Chip support
737# 760#
738CONFIG_SENSORS_DS1337=y
739# CONFIG_SENSORS_DS1374 is not set
740# CONFIG_DS1682 is not set 761# CONFIG_DS1682 is not set
741# CONFIG_SENSORS_EEPROM is not set 762# CONFIG_SENSORS_EEPROM is not set
742# CONFIG_SENSORS_PCF8574 is not set 763# CONFIG_SENSORS_PCF8574 is not set
743# CONFIG_SENSORS_PCA9539 is not set 764# CONFIG_PCF8575 is not set
744# CONFIG_SENSORS_PCF8591 is not set 765# CONFIG_SENSORS_PCF8591 is not set
745# CONFIG_SENSORS_M41T00 is not set 766# CONFIG_TPS65010 is not set
746# CONFIG_SENSORS_MAX6875 is not set 767# CONFIG_SENSORS_MAX6875 is not set
747# CONFIG_SENSORS_TSL2550 is not set 768# CONFIG_SENSORS_TSL2550 is not set
748# CONFIG_I2C_DEBUG_CORE is not set 769# CONFIG_I2C_DEBUG_CORE is not set
@@ -767,6 +788,7 @@ CONFIG_HWMON=y
767# CONFIG_SENSORS_ADM1031 is not set 788# CONFIG_SENSORS_ADM1031 is not set
768# CONFIG_SENSORS_ADM9240 is not set 789# CONFIG_SENSORS_ADM9240 is not set
769# CONFIG_SENSORS_ADT7470 is not set 790# CONFIG_SENSORS_ADT7470 is not set
791# CONFIG_SENSORS_ADT7473 is not set
770# CONFIG_SENSORS_ATXP1 is not set 792# CONFIG_SENSORS_ATXP1 is not set
771# CONFIG_SENSORS_DS1621 is not set 793# CONFIG_SENSORS_DS1621 is not set
772# CONFIG_SENSORS_I5K_AMB is not set 794# CONFIG_SENSORS_I5K_AMB is not set
@@ -796,6 +818,7 @@ CONFIG_SENSORS_LM75=y
796# CONFIG_SENSORS_SMSC47M1 is not set 818# CONFIG_SENSORS_SMSC47M1 is not set
797# CONFIG_SENSORS_SMSC47M192 is not set 819# CONFIG_SENSORS_SMSC47M192 is not set
798# CONFIG_SENSORS_SMSC47B397 is not set 820# CONFIG_SENSORS_SMSC47B397 is not set
821# CONFIG_SENSORS_ADS7828 is not set
799# CONFIG_SENSORS_THMC50 is not set 822# CONFIG_SENSORS_THMC50 is not set
800# CONFIG_SENSORS_VIA686A is not set 823# CONFIG_SENSORS_VIA686A is not set
801# CONFIG_SENSORS_VT1211 is not set 824# CONFIG_SENSORS_VT1211 is not set
@@ -805,9 +828,11 @@ CONFIG_SENSORS_LM75=y
805# CONFIG_SENSORS_W83792D is not set 828# CONFIG_SENSORS_W83792D is not set
806# CONFIG_SENSORS_W83793 is not set 829# CONFIG_SENSORS_W83793 is not set
807# CONFIG_SENSORS_W83L785TS is not set 830# CONFIG_SENSORS_W83L785TS is not set
831# CONFIG_SENSORS_W83L786NG is not set
808# CONFIG_SENSORS_W83627HF is not set 832# CONFIG_SENSORS_W83627HF is not set
809# CONFIG_SENSORS_W83627EHF is not set 833# CONFIG_SENSORS_W83627EHF is not set
810CONFIG_HWMON_DEBUG_CHIP=y 834CONFIG_HWMON_DEBUG_CHIP=y
835# CONFIG_THERMAL is not set
811# CONFIG_WATCHDOG is not set 836# CONFIG_WATCHDOG is not set
812 837
813# 838#
@@ -860,16 +885,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
860# 885#
861# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 886# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
862# 887#
863
864#
865# USB Gadget Support
866#
867# CONFIG_USB_GADGET is not set 888# CONFIG_USB_GADGET is not set
868# CONFIG_MMC is not set 889# CONFIG_MMC is not set
890# CONFIG_MEMSTICK is not set
869# CONFIG_NEW_LEDS is not set 891# CONFIG_NEW_LEDS is not set
870# CONFIG_INFINIBAND is not set 892# CONFIG_INFINIBAND is not set
871# CONFIG_EDAC is not set 893# CONFIG_EDAC is not set
872# CONFIG_RTC_CLASS is not set 894# CONFIG_RTC_CLASS is not set
895# CONFIG_DMADEVICES is not set
873 896
874# 897#
875# Userspace I/O 898# Userspace I/O
@@ -895,12 +918,10 @@ CONFIG_FS_MBCACHE=y
895# CONFIG_XFS_FS is not set 918# CONFIG_XFS_FS is not set
896# CONFIG_GFS2_FS is not set 919# CONFIG_GFS2_FS is not set
897# CONFIG_OCFS2_FS is not set 920# CONFIG_OCFS2_FS is not set
898# CONFIG_MINIX_FS is not set 921CONFIG_DNOTIFY=y
899# CONFIG_ROMFS_FS is not set
900CONFIG_INOTIFY=y 922CONFIG_INOTIFY=y
901CONFIG_INOTIFY_USER=y 923CONFIG_INOTIFY_USER=y
902# CONFIG_QUOTA is not set 924# CONFIG_QUOTA is not set
903CONFIG_DNOTIFY=y
904# CONFIG_AUTOFS_FS is not set 925# CONFIG_AUTOFS_FS is not set
905# CONFIG_AUTOFS4_FS is not set 926# CONFIG_AUTOFS4_FS is not set
906# CONFIG_FUSE_FS is not set 927# CONFIG_FUSE_FS is not set
@@ -953,8 +974,10 @@ CONFIG_JFFS2_RTIME=y
953# CONFIG_JFFS2_RUBIN is not set 974# CONFIG_JFFS2_RUBIN is not set
954CONFIG_CRAMFS=y 975CONFIG_CRAMFS=y
955# CONFIG_VXFS_FS is not set 976# CONFIG_VXFS_FS is not set
977# CONFIG_MINIX_FS is not set
956# CONFIG_HPFS_FS is not set 978# CONFIG_HPFS_FS is not set
957# CONFIG_QNX4FS_FS is not set 979# CONFIG_QNX4FS_FS is not set
980# CONFIG_ROMFS_FS is not set
958# CONFIG_SYSV_FS is not set 981# CONFIG_SYSV_FS is not set
959# CONFIG_UFS_FS is not set 982# CONFIG_UFS_FS is not set
960CONFIG_NETWORK_FILESYSTEMS=y 983CONFIG_NETWORK_FILESYSTEMS=y
@@ -1012,9 +1035,6 @@ CONFIG_PLIST=y
1012CONFIG_HAS_IOMEM=y 1035CONFIG_HAS_IOMEM=y
1013CONFIG_HAS_IOPORT=y 1036CONFIG_HAS_IOPORT=y
1014CONFIG_HAS_DMA=y 1037CONFIG_HAS_DMA=y
1015CONFIG_INSTRUMENTATION=y
1016# CONFIG_PROFILING is not set
1017# CONFIG_MARKERS is not set
1018 1038
1019# 1039#
1020# Kernel hacking 1040# Kernel hacking
@@ -1028,6 +1048,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1028# CONFIG_HEADERS_CHECK is not set 1048# CONFIG_HEADERS_CHECK is not set
1029# CONFIG_DEBUG_KERNEL is not set 1049# CONFIG_DEBUG_KERNEL is not set
1030# CONFIG_SLUB_DEBUG_ON is not set 1050# CONFIG_SLUB_DEBUG_ON is not set
1051# CONFIG_SLUB_STATS is not set
1031# CONFIG_DEBUG_BUGVERBOSE is not set 1052# CONFIG_DEBUG_BUGVERBOSE is not set
1032# CONFIG_SAMPLES is not set 1053# CONFIG_SAMPLES is not set
1033# CONFIG_KGDB_CONSOLE is not set 1054# CONFIG_KGDB_CONSOLE is not set
@@ -1039,6 +1060,50 @@ CONFIG_ENABLE_MUST_CHECK=y
1039# CONFIG_KEYS is not set 1060# CONFIG_KEYS is not set
1040# CONFIG_SECURITY is not set 1061# CONFIG_SECURITY is not set
1041# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1062# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1042# CONFIG_CRYPTO is not set 1063CONFIG_CRYPTO=y
1064# CONFIG_CRYPTO_SEQIV is not set
1065# CONFIG_CRYPTO_MANAGER is not set
1066# CONFIG_CRYPTO_HMAC is not set
1067# CONFIG_CRYPTO_XCBC is not set
1068# CONFIG_CRYPTO_NULL is not set
1069# CONFIG_CRYPTO_MD4 is not set
1070# CONFIG_CRYPTO_MD5 is not set
1071# CONFIG_CRYPTO_SHA1 is not set
1072# CONFIG_CRYPTO_SHA256 is not set
1073# CONFIG_CRYPTO_SHA512 is not set
1074# CONFIG_CRYPTO_WP512 is not set
1075# CONFIG_CRYPTO_TGR192 is not set
1076# CONFIG_CRYPTO_GF128MUL is not set
1077# CONFIG_CRYPTO_ECB is not set
1078# CONFIG_CRYPTO_CBC is not set
1079# CONFIG_CRYPTO_PCBC is not set
1080# CONFIG_CRYPTO_LRW is not set
1081# CONFIG_CRYPTO_XTS is not set
1082# CONFIG_CRYPTO_CTR is not set
1083# CONFIG_CRYPTO_GCM is not set
1084# CONFIG_CRYPTO_CCM is not set
1085# CONFIG_CRYPTO_CRYPTD is not set
1086# CONFIG_CRYPTO_DES is not set
1087# CONFIG_CRYPTO_FCRYPT is not set
1088# CONFIG_CRYPTO_BLOWFISH is not set
1089# CONFIG_CRYPTO_TWOFISH is not set
1090# CONFIG_CRYPTO_SERPENT is not set
1091# CONFIG_CRYPTO_AES is not set
1092# CONFIG_CRYPTO_CAST5 is not set
1093# CONFIG_CRYPTO_CAST6 is not set
1094# CONFIG_CRYPTO_TEA is not set
1095# CONFIG_CRYPTO_ARC4 is not set
1096# CONFIG_CRYPTO_KHAZAD is not set
1097# CONFIG_CRYPTO_ANUBIS is not set
1098# CONFIG_CRYPTO_SEED is not set
1099# CONFIG_CRYPTO_SALSA20 is not set
1100# CONFIG_CRYPTO_DEFLATE is not set
1101# CONFIG_CRYPTO_MICHAEL_MIC is not set
1102# CONFIG_CRYPTO_CRC32C is not set
1103# CONFIG_CRYPTO_CAMELLIA is not set
1104# CONFIG_CRYPTO_AUTHENC is not set
1105# CONFIG_CRYPTO_LZO is not set
1106CONFIG_CRYPTO_HW=y
1107# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1043# CONFIG_PPC_CLOCK is not set 1108# CONFIG_PPC_CLOCK is not set
1044CONFIG_PPC_LIB_RHEAP=y 1109CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/tqm8560_defconfig b/arch/powerpc/configs/tqm8560_defconfig
index 0832e8996ac..63c5ec8b651 100644
--- a/arch/powerpc/configs/tqm8560_defconfig
+++ b/arch/powerpc/configs/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.24-rc8 3# Linux kernel version: 2.6.25-rc6
4# Thu Jan 24 23:50:42 2008 4# Mon Mar 24 08:48:45 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -14,10 +14,10 @@ CONFIG_PPC_85xx=y
14# CONFIG_40x is not set 14# CONFIG_40x is not set
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_85xx=y
18CONFIG_E500=y 17CONFIG_E500=y
19CONFIG_BOOKE=y 18CONFIG_BOOKE=y
20CONFIG_FSL_BOOKE=y 19CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y
21# CONFIG_PHYS_64BIT is not set 21# CONFIG_PHYS_64BIT is not set
22CONFIG_SPE=y 22CONFIG_SPE=y
23# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
@@ -30,6 +30,7 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 36CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -67,17 +68,19 @@ CONFIG_SYSVIPC_SYSCTL=y
67# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
68# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
73# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
75# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_GROUP_SCHED=y
76CONFIG_FAIR_GROUP_SCHED=y 76CONFIG_FAIR_GROUP_SCHED=y
77CONFIG_FAIR_USER_SCHED=y 77# CONFIG_RT_GROUP_SCHED is not set
78# CONFIG_FAIR_CGROUP_SCHED is not set 78CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set
79CONFIG_SYSFS_DEPRECATED=y 80CONFIG_SYSFS_DEPRECATED=y
81CONFIG_SYSFS_DEPRECATED_V2=y
80# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set
81CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
82CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
83# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -89,11 +92,13 @@ CONFIG_SYSCTL_SYSCALL=y
89CONFIG_PRINTK=y 92CONFIG_PRINTK=y
90CONFIG_BUG=y 93CONFIG_BUG=y
91CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
95CONFIG_COMPAT_BRK=y
92CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 97CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 98CONFIG_ANON_INODES=y
95# CONFIG_EPOLL is not set 99# CONFIG_EPOLL is not set
96CONFIG_SIGNALFD=y 100CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 103CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
@@ -101,6 +106,12 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 106# CONFIG_SLAB is not set
102CONFIG_SLUB=y 107CONFIG_SLUB=y
103# CONFIG_SLOB is not set 108# CONFIG_SLOB is not set
109# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y
114CONFIG_PROC_PAGE_MONITOR=y
104CONFIG_SLABINFO=y 115CONFIG_SLABINFO=y
105CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
106# CONFIG_TINY_SHMEM is not set 117# CONFIG_TINY_SHMEM is not set
@@ -124,15 +135,17 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 135# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 136# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 137CONFIG_DEFAULT_IOSCHED="anticipatory"
138CONFIG_CLASSIC_RCU=y
127 139
128# 140#
129# Platform support 141# Platform support
130# 142#
131# CONFIG_PPC_MPC52xx is not set 143# CONFIG_PPC_MPC512x is not set
132# CONFIG_PPC_MPC5200 is not set 144# CONFIG_PPC_MPC5121 is not set
133# CONFIG_PPC_CELL is not set 145# CONFIG_PPC_CELL is not set
134# CONFIG_PPC_CELL_NATIVE is not set 146# CONFIG_PPC_CELL_NATIVE is not set
135# CONFIG_PQ2ADS is not set 147# CONFIG_PQ2ADS is not set
148CONFIG_MPC85xx=y
136# CONFIG_MPC8540_ADS is not set 149# CONFIG_MPC8540_ADS is not set
137# CONFIG_MPC8560_ADS is not set 150# CONFIG_MPC8560_ADS is not set
138# CONFIG_MPC85xx_CDS is not set 151# CONFIG_MPC85xx_CDS is not set
@@ -143,8 +156,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
143# CONFIG_TQM8541 is not set 156# CONFIG_TQM8541 is not set
144# CONFIG_TQM8555 is not set 157# CONFIG_TQM8555 is not set
145CONFIG_TQM8560=y 158CONFIG_TQM8560=y
159# CONFIG_SBC8548 is not set
160# CONFIG_SBC8560 is not set
146CONFIG_TQM85xx=y 161CONFIG_TQM85xx=y
147CONFIG_MPC85xx=y
148# CONFIG_IPIC is not set 162# CONFIG_IPIC is not set
149CONFIG_MPIC=y 163CONFIG_MPIC=y
150# CONFIG_MPIC_WEIRD is not set 164# CONFIG_MPIC_WEIRD is not set
@@ -174,13 +188,17 @@ CONFIG_HZ_250=y
174# CONFIG_HZ_300 is not set 188# CONFIG_HZ_300 is not set
175# CONFIG_HZ_1000 is not set 189# CONFIG_HZ_1000 is not set
176CONFIG_HZ=250 190CONFIG_HZ=250
191# CONFIG_SCHED_HRTICK is not set
177CONFIG_PREEMPT_NONE=y 192CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set 193# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set 194# CONFIG_PREEMPT is not set
180CONFIG_BINFMT_ELF=y 195CONFIG_BINFMT_ELF=y
181# CONFIG_BINFMT_MISC is not set 196# CONFIG_BINFMT_MISC is not set
182CONFIG_MATH_EMULATION=y 197CONFIG_MATH_EMULATION=y
198# CONFIG_IOMMU_HELPER is not set
183CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 199CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
200CONFIG_ARCH_HAS_WALK_MEMORY=y
201CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
184CONFIG_ARCH_FLATMEM_ENABLE=y 202CONFIG_ARCH_FLATMEM_ENABLE=y
185CONFIG_ARCH_POPULATES_NODE_MAP=y 203CONFIG_ARCH_POPULATES_NODE_MAP=y
186CONFIG_SELECT_MEMORY_MODEL=y 204CONFIG_SELECT_MEMORY_MODEL=y
@@ -199,11 +217,7 @@ CONFIG_VIRT_TO_BUS=y
199# CONFIG_PROC_DEVICETREE is not set 217# CONFIG_PROC_DEVICETREE is not set
200# CONFIG_CMDLINE_BOOL is not set 218# CONFIG_CMDLINE_BOOL is not set
201# CONFIG_PM is not set 219# CONFIG_PM is not set
202CONFIG_SUSPEND_UP_POSSIBLE=y
203CONFIG_HIBERNATION_UP_POSSIBLE=y
204CONFIG_SECCOMP=y 220CONFIG_SECCOMP=y
205CONFIG_WANT_DEVICE_TREE=y
206CONFIG_DEVICE_TREE="tqm8560.dts"
207CONFIG_ISA_DMA_API=y 221CONFIG_ISA_DMA_API=y
208 222
209# 223#
@@ -250,6 +264,7 @@ CONFIG_XFRM=y
250# CONFIG_XFRM_USER is not set 264# CONFIG_XFRM_USER is not set
251# CONFIG_XFRM_SUB_POLICY is not set 265# CONFIG_XFRM_SUB_POLICY is not set
252# CONFIG_XFRM_MIGRATE is not set 266# CONFIG_XFRM_MIGRATE is not set
267# CONFIG_XFRM_STATISTICS is not set
253# CONFIG_NET_KEY is not set 268# CONFIG_NET_KEY is not set
254CONFIG_INET=y 269CONFIG_INET=y
255CONFIG_IP_MULTICAST=y 270CONFIG_IP_MULTICAST=y
@@ -305,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
305# 320#
306# CONFIG_NET_PKTGEN is not set 321# CONFIG_NET_PKTGEN is not set
307# CONFIG_HAMRADIO is not set 322# CONFIG_HAMRADIO is not set
323# CONFIG_CAN is not set
308# CONFIG_IRDA is not set 324# CONFIG_IRDA is not set
309# CONFIG_BT is not set 325# CONFIG_BT is not set
310# CONFIG_AF_RXRPC is not set 326# CONFIG_AF_RXRPC is not set
@@ -336,6 +352,7 @@ CONFIG_MTD_CONCAT=y
336CONFIG_MTD_PARTITIONS=y 352CONFIG_MTD_PARTITIONS=y
337# CONFIG_MTD_REDBOOT_PARTS is not set 353# CONFIG_MTD_REDBOOT_PARTS is not set
338CONFIG_MTD_CMDLINE_PARTS=y 354CONFIG_MTD_CMDLINE_PARTS=y
355# CONFIG_MTD_OF_PARTS is not set
339 356
340# 357#
341# User Modules And Translation Layers 358# User Modules And Translation Layers
@@ -422,7 +439,7 @@ CONFIG_BLK_DEV_LOOP=y
422CONFIG_BLK_DEV_RAM=y 439CONFIG_BLK_DEV_RAM=y
423CONFIG_BLK_DEV_RAM_COUNT=16 440CONFIG_BLK_DEV_RAM_COUNT=16
424CONFIG_BLK_DEV_RAM_SIZE=32768 441CONFIG_BLK_DEV_RAM_SIZE=32768
425CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 442# CONFIG_BLK_DEV_XIP is not set
426# CONFIG_CDROM_PKTCDVD is not set 443# CONFIG_CDROM_PKTCDVD is not set
427# CONFIG_ATA_OVER_ETH is not set 444# CONFIG_ATA_OVER_ETH is not set
428CONFIG_MISC_DEVICES=y 445CONFIG_MISC_DEVICES=y
@@ -430,12 +447,14 @@ CONFIG_MISC_DEVICES=y
430# CONFIG_EEPROM_93CX6 is not set 447# CONFIG_EEPROM_93CX6 is not set
431# CONFIG_SGI_IOC4 is not set 448# CONFIG_SGI_IOC4 is not set
432# CONFIG_TIFM_CORE is not set 449# CONFIG_TIFM_CORE is not set
450# CONFIG_ENCLOSURE_SERVICES is not set
451CONFIG_HAVE_IDE=y
433CONFIG_IDE=y 452CONFIG_IDE=y
434CONFIG_IDE_MAX_HWIFS=4 453CONFIG_IDE_MAX_HWIFS=4
435CONFIG_BLK_DEV_IDE=y 454CONFIG_BLK_DEV_IDE=y
436 455
437# 456#
438# Please see Documentation/ide.txt for help/info on IDE drives 457# Please see Documentation/ide/ide.txt for help/info on IDE drives
439# 458#
440# CONFIG_BLK_DEV_IDE_SATA is not set 459# CONFIG_BLK_DEV_IDE_SATA is not set
441CONFIG_BLK_DEV_IDEDISK=y 460CONFIG_BLK_DEV_IDEDISK=y
@@ -451,12 +470,12 @@ CONFIG_IDE_PROC_FS=y
451# 470#
452CONFIG_IDE_GENERIC=y 471CONFIG_IDE_GENERIC=y
453# CONFIG_BLK_DEV_PLATFORM is not set 472# CONFIG_BLK_DEV_PLATFORM is not set
473CONFIG_BLK_DEV_IDEDMA_SFF=y
454 474
455# 475#
456# PCI IDE chipsets support 476# PCI IDE chipsets support
457# 477#
458CONFIG_BLK_DEV_IDEPCI=y 478CONFIG_BLK_DEV_IDEPCI=y
459CONFIG_IDEPCI_SHARE_IRQ=y
460CONFIG_IDEPCI_PCIBUS_ORDER=y 479CONFIG_IDEPCI_PCIBUS_ORDER=y
461# CONFIG_BLK_DEV_OFFBOARD is not set 480# CONFIG_BLK_DEV_OFFBOARD is not set
462CONFIG_BLK_DEV_GENERIC=y 481CONFIG_BLK_DEV_GENERIC=y
@@ -487,7 +506,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
487# CONFIG_BLK_DEV_TRM290 is not set 506# CONFIG_BLK_DEV_TRM290 is not set
488CONFIG_BLK_DEV_VIA82CXXX=y 507CONFIG_BLK_DEV_VIA82CXXX=y
489# CONFIG_BLK_DEV_TC86C001 is not set 508# CONFIG_BLK_DEV_TC86C001 is not set
490# CONFIG_IDE_ARM is not set
491CONFIG_BLK_DEV_IDEDMA=y 509CONFIG_BLK_DEV_IDEDMA=y
492CONFIG_IDE_ARCH_OBSOLETE_INIT=y 510CONFIG_IDE_ARCH_OBSOLETE_INIT=y
493# CONFIG_BLK_DEV_HD is not set 511# CONFIG_BLK_DEV_HD is not set
@@ -533,6 +551,7 @@ CONFIG_PHYLIB=y
533# CONFIG_SMSC_PHY is not set 551# CONFIG_SMSC_PHY is not set
534# CONFIG_BROADCOM_PHY is not set 552# CONFIG_BROADCOM_PHY is not set
535# CONFIG_ICPLUS_PHY is not set 553# CONFIG_ICPLUS_PHY is not set
554# CONFIG_REALTEK_PHY is not set
536# CONFIG_FIXED_PHY is not set 555# CONFIG_FIXED_PHY is not set
537# CONFIG_MDIO_BITBANG is not set 556# CONFIG_MDIO_BITBANG is not set
538CONFIG_NET_ETHERNET=y 557CONFIG_NET_ETHERNET=y
@@ -560,6 +579,7 @@ CONFIG_E100=y
560# CONFIG_NE2K_PCI is not set 579# CONFIG_NE2K_PCI is not set
561# CONFIG_8139CP is not set 580# CONFIG_8139CP is not set
562# CONFIG_8139TOO is not set 581# CONFIG_8139TOO is not set
582# CONFIG_R6040 is not set
563# CONFIG_SIS900 is not set 583# CONFIG_SIS900 is not set
564# CONFIG_EPIC100 is not set 584# CONFIG_EPIC100 is not set
565# CONFIG_SUNDANCE is not set 585# CONFIG_SUNDANCE is not set
@@ -572,7 +592,9 @@ CONFIG_NETDEV_1000=y
572# CONFIG_DL2K is not set 592# CONFIG_DL2K is not set
573# CONFIG_E1000 is not set 593# CONFIG_E1000 is not set
574# CONFIG_E1000E is not set 594# CONFIG_E1000E is not set
595# CONFIG_E1000E_ENABLED is not set
575# CONFIG_IP1000 is not set 596# CONFIG_IP1000 is not set
597# CONFIG_IGB is not set
576# CONFIG_NS83820 is not set 598# CONFIG_NS83820 is not set
577# CONFIG_HAMACHI is not set 599# CONFIG_HAMACHI is not set
578# CONFIG_YELLOWFIN is not set 600# CONFIG_YELLOWFIN is not set
@@ -599,6 +621,7 @@ CONFIG_NETDEV_10000=y
599# CONFIG_NIU is not set 621# CONFIG_NIU is not set
600# CONFIG_MLX4_CORE is not set 622# CONFIG_MLX4_CORE is not set
601# CONFIG_TEHUTI is not set 623# CONFIG_TEHUTI is not set
624# CONFIG_BNX2X is not set
602# CONFIG_TR is not set 625# CONFIG_TR is not set
603 626
604# 627#
@@ -611,7 +634,6 @@ CONFIG_NETDEV_10000=y
611# CONFIG_HIPPI is not set 634# CONFIG_HIPPI is not set
612# CONFIG_PPP is not set 635# CONFIG_PPP is not set
613# CONFIG_SLIP is not set 636# CONFIG_SLIP is not set
614# CONFIG_SHAPER is not set
615# CONFIG_NETCONSOLE is not set 637# CONFIG_NETCONSOLE is not set
616# CONFIG_NETPOLL is not set 638# CONFIG_NETPOLL is not set
617# CONFIG_NET_POLL_CONTROLLER is not set 639# CONFIG_NET_POLL_CONTROLLER is not set
@@ -654,6 +676,7 @@ CONFIG_INPUT=y
654# 676#
655# CONFIG_VT is not set 677# CONFIG_VT is not set
656# CONFIG_SERIAL_NONSTANDARD is not set 678# CONFIG_SERIAL_NONSTANDARD is not set
679# CONFIG_NOZOMI is not set
657 680
658# 681#
659# Serial drivers 682# Serial drivers
@@ -735,14 +758,12 @@ CONFIG_I2C_MPC=y
735# 758#
736# Miscellaneous I2C Chip support 759# Miscellaneous I2C Chip support
737# 760#
738CONFIG_SENSORS_DS1337=y
739# CONFIG_SENSORS_DS1374 is not set
740# CONFIG_DS1682 is not set 761# CONFIG_DS1682 is not set
741# CONFIG_SENSORS_EEPROM is not set 762# CONFIG_SENSORS_EEPROM is not set
742# CONFIG_SENSORS_PCF8574 is not set 763# CONFIG_SENSORS_PCF8574 is not set
743# CONFIG_SENSORS_PCA9539 is not set 764# CONFIG_PCF8575 is not set
744# CONFIG_SENSORS_PCF8591 is not set 765# CONFIG_SENSORS_PCF8591 is not set
745# CONFIG_SENSORS_M41T00 is not set 766# CONFIG_TPS65010 is not set
746# CONFIG_SENSORS_MAX6875 is not set 767# CONFIG_SENSORS_MAX6875 is not set
747# CONFIG_SENSORS_TSL2550 is not set 768# CONFIG_SENSORS_TSL2550 is not set
748# CONFIG_I2C_DEBUG_CORE is not set 769# CONFIG_I2C_DEBUG_CORE is not set
@@ -767,6 +788,7 @@ CONFIG_HWMON=y
767# CONFIG_SENSORS_ADM1031 is not set 788# CONFIG_SENSORS_ADM1031 is not set
768# CONFIG_SENSORS_ADM9240 is not set 789# CONFIG_SENSORS_ADM9240 is not set
769# CONFIG_SENSORS_ADT7470 is not set 790# CONFIG_SENSORS_ADT7470 is not set
791# CONFIG_SENSORS_ADT7473 is not set
770# CONFIG_SENSORS_ATXP1 is not set 792# CONFIG_SENSORS_ATXP1 is not set
771# CONFIG_SENSORS_DS1621 is not set 793# CONFIG_SENSORS_DS1621 is not set
772# CONFIG_SENSORS_I5K_AMB is not set 794# CONFIG_SENSORS_I5K_AMB is not set
@@ -796,6 +818,7 @@ CONFIG_SENSORS_LM75=y
796# CONFIG_SENSORS_SMSC47M1 is not set 818# CONFIG_SENSORS_SMSC47M1 is not set
797# CONFIG_SENSORS_SMSC47M192 is not set 819# CONFIG_SENSORS_SMSC47M192 is not set
798# CONFIG_SENSORS_SMSC47B397 is not set 820# CONFIG_SENSORS_SMSC47B397 is not set
821# CONFIG_SENSORS_ADS7828 is not set
799# CONFIG_SENSORS_THMC50 is not set 822# CONFIG_SENSORS_THMC50 is not set
800# CONFIG_SENSORS_VIA686A is not set 823# CONFIG_SENSORS_VIA686A is not set
801# CONFIG_SENSORS_VT1211 is not set 824# CONFIG_SENSORS_VT1211 is not set
@@ -805,9 +828,11 @@ CONFIG_SENSORS_LM75=y
805# CONFIG_SENSORS_W83792D is not set 828# CONFIG_SENSORS_W83792D is not set
806# CONFIG_SENSORS_W83793 is not set 829# CONFIG_SENSORS_W83793 is not set
807# CONFIG_SENSORS_W83L785TS is not set 830# CONFIG_SENSORS_W83L785TS is not set
831# CONFIG_SENSORS_W83L786NG is not set
808# CONFIG_SENSORS_W83627HF is not set 832# CONFIG_SENSORS_W83627HF is not set
809# CONFIG_SENSORS_W83627EHF is not set 833# CONFIG_SENSORS_W83627EHF is not set
810CONFIG_HWMON_DEBUG_CHIP=y 834CONFIG_HWMON_DEBUG_CHIP=y
835# CONFIG_THERMAL is not set
811# CONFIG_WATCHDOG is not set 836# CONFIG_WATCHDOG is not set
812 837
813# 838#
@@ -860,16 +885,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
860# 885#
861# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 886# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
862# 887#
863
864#
865# USB Gadget Support
866#
867# CONFIG_USB_GADGET is not set 888# CONFIG_USB_GADGET is not set
868# CONFIG_MMC is not set 889# CONFIG_MMC is not set
890# CONFIG_MEMSTICK is not set
869# CONFIG_NEW_LEDS is not set 891# CONFIG_NEW_LEDS is not set
870# CONFIG_INFINIBAND is not set 892# CONFIG_INFINIBAND is not set
871# CONFIG_EDAC is not set 893# CONFIG_EDAC is not set
872# CONFIG_RTC_CLASS is not set 894# CONFIG_RTC_CLASS is not set
895# CONFIG_DMADEVICES is not set
873 896
874# 897#
875# Userspace I/O 898# Userspace I/O
@@ -895,12 +918,10 @@ CONFIG_FS_MBCACHE=y
895# CONFIG_XFS_FS is not set 918# CONFIG_XFS_FS is not set
896# CONFIG_GFS2_FS is not set 919# CONFIG_GFS2_FS is not set
897# CONFIG_OCFS2_FS is not set 920# CONFIG_OCFS2_FS is not set
898# CONFIG_MINIX_FS is not set 921CONFIG_DNOTIFY=y
899# CONFIG_ROMFS_FS is not set
900CONFIG_INOTIFY=y 922CONFIG_INOTIFY=y
901CONFIG_INOTIFY_USER=y 923CONFIG_INOTIFY_USER=y
902# CONFIG_QUOTA is not set 924# CONFIG_QUOTA is not set
903CONFIG_DNOTIFY=y
904# CONFIG_AUTOFS_FS is not set 925# CONFIG_AUTOFS_FS is not set
905# CONFIG_AUTOFS4_FS is not set 926# CONFIG_AUTOFS4_FS is not set
906# CONFIG_FUSE_FS is not set 927# CONFIG_FUSE_FS is not set
@@ -953,8 +974,10 @@ CONFIG_JFFS2_RTIME=y
953# CONFIG_JFFS2_RUBIN is not set 974# CONFIG_JFFS2_RUBIN is not set
954CONFIG_CRAMFS=y 975CONFIG_CRAMFS=y
955# CONFIG_VXFS_FS is not set 976# CONFIG_VXFS_FS is not set
977# CONFIG_MINIX_FS is not set
956# CONFIG_HPFS_FS is not set 978# CONFIG_HPFS_FS is not set
957# CONFIG_QNX4FS_FS is not set 979# CONFIG_QNX4FS_FS is not set
980# CONFIG_ROMFS_FS is not set
958# CONFIG_SYSV_FS is not set 981# CONFIG_SYSV_FS is not set
959# CONFIG_UFS_FS is not set 982# CONFIG_UFS_FS is not set
960CONFIG_NETWORK_FILESYSTEMS=y 983CONFIG_NETWORK_FILESYSTEMS=y
@@ -1012,9 +1035,6 @@ CONFIG_PLIST=y
1012CONFIG_HAS_IOMEM=y 1035CONFIG_HAS_IOMEM=y
1013CONFIG_HAS_IOPORT=y 1036CONFIG_HAS_IOPORT=y
1014CONFIG_HAS_DMA=y 1037CONFIG_HAS_DMA=y
1015CONFIG_INSTRUMENTATION=y
1016# CONFIG_PROFILING is not set
1017# CONFIG_MARKERS is not set
1018 1038
1019# 1039#
1020# Kernel hacking 1040# Kernel hacking
@@ -1028,6 +1048,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1028# CONFIG_HEADERS_CHECK is not set 1048# CONFIG_HEADERS_CHECK is not set
1029# CONFIG_DEBUG_KERNEL is not set 1049# CONFIG_DEBUG_KERNEL is not set
1030# CONFIG_SLUB_DEBUG_ON is not set 1050# CONFIG_SLUB_DEBUG_ON is not set
1051# CONFIG_SLUB_STATS is not set
1031# CONFIG_DEBUG_BUGVERBOSE is not set 1052# CONFIG_DEBUG_BUGVERBOSE is not set
1032# CONFIG_SAMPLES is not set 1053# CONFIG_SAMPLES is not set
1033# CONFIG_KGDB_CONSOLE is not set 1054# CONFIG_KGDB_CONSOLE is not set
@@ -1039,6 +1060,50 @@ CONFIG_ENABLE_MUST_CHECK=y
1039# CONFIG_KEYS is not set 1060# CONFIG_KEYS is not set
1040# CONFIG_SECURITY is not set 1061# CONFIG_SECURITY is not set
1041# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1062# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1042# CONFIG_CRYPTO is not set 1063CONFIG_CRYPTO=y
1064# CONFIG_CRYPTO_SEQIV is not set
1065# CONFIG_CRYPTO_MANAGER is not set
1066# CONFIG_CRYPTO_HMAC is not set
1067# CONFIG_CRYPTO_XCBC is not set
1068# CONFIG_CRYPTO_NULL is not set
1069# CONFIG_CRYPTO_MD4 is not set
1070# CONFIG_CRYPTO_MD5 is not set
1071# CONFIG_CRYPTO_SHA1 is not set
1072# CONFIG_CRYPTO_SHA256 is not set
1073# CONFIG_CRYPTO_SHA512 is not set
1074# CONFIG_CRYPTO_WP512 is not set
1075# CONFIG_CRYPTO_TGR192 is not set
1076# CONFIG_CRYPTO_GF128MUL is not set
1077# CONFIG_CRYPTO_ECB is not set
1078# CONFIG_CRYPTO_CBC is not set
1079# CONFIG_CRYPTO_PCBC is not set
1080# CONFIG_CRYPTO_LRW is not set
1081# CONFIG_CRYPTO_XTS is not set
1082# CONFIG_CRYPTO_CTR is not set
1083# CONFIG_CRYPTO_GCM is not set
1084# CONFIG_CRYPTO_CCM is not set
1085# CONFIG_CRYPTO_CRYPTD is not set
1086# CONFIG_CRYPTO_DES is not set
1087# CONFIG_CRYPTO_FCRYPT is not set
1088# CONFIG_CRYPTO_BLOWFISH is not set
1089# CONFIG_CRYPTO_TWOFISH is not set
1090# CONFIG_CRYPTO_SERPENT is not set
1091# CONFIG_CRYPTO_AES is not set
1092# CONFIG_CRYPTO_CAST5 is not set
1093# CONFIG_CRYPTO_CAST6 is not set
1094# CONFIG_CRYPTO_TEA is not set
1095# CONFIG_CRYPTO_ARC4 is not set
1096# CONFIG_CRYPTO_KHAZAD is not set
1097# CONFIG_CRYPTO_ANUBIS is not set
1098# CONFIG_CRYPTO_SEED is not set
1099# CONFIG_CRYPTO_SALSA20 is not set
1100# CONFIG_CRYPTO_DEFLATE is not set
1101# CONFIG_CRYPTO_MICHAEL_MIC is not set
1102# CONFIG_CRYPTO_CRC32C is not set
1103# CONFIG_CRYPTO_CAMELLIA is not set
1104# CONFIG_CRYPTO_AUTHENC is not set
1105# CONFIG_CRYPTO_LZO is not set
1106CONFIG_CRYPTO_HW=y
1107# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1043# CONFIG_PPC_CLOCK is not set 1108# CONFIG_PPC_CLOCK is not set
1044CONFIG_PPC_LIB_RHEAP=y 1109CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 4846bf543a8..4ec60552150 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -241,8 +241,12 @@ void discard_lazy_cpu_state(void)
241} 241}
242#endif /* CONFIG_SMP */ 242#endif /* CONFIG_SMP */
243 243
244static DEFINE_PER_CPU(unsigned long, current_dabr);
245
244int set_dabr(unsigned long dabr) 246int set_dabr(unsigned long dabr)
245{ 247{
248 __get_cpu_var(current_dabr) = dabr;
249
246#ifdef CONFIG_PPC_MERGE /* XXX for now */ 250#ifdef CONFIG_PPC_MERGE /* XXX for now */
247 if (ppc_md.set_dabr) 251 if (ppc_md.set_dabr)
248 return ppc_md.set_dabr(dabr); 252 return ppc_md.set_dabr(dabr);
@@ -259,8 +263,6 @@ int set_dabr(unsigned long dabr)
259DEFINE_PER_CPU(struct cpu_usage, cpu_usage_array); 263DEFINE_PER_CPU(struct cpu_usage, cpu_usage_array);
260#endif 264#endif
261 265
262static DEFINE_PER_CPU(unsigned long, current_dabr);
263
264struct task_struct *__switch_to(struct task_struct *prev, 266struct task_struct *__switch_to(struct task_struct *prev,
265 struct task_struct *new) 267 struct task_struct *new)
266{ 268{
@@ -325,10 +327,8 @@ struct task_struct *__switch_to(struct task_struct *prev,
325 327
326#endif /* CONFIG_SMP */ 328#endif /* CONFIG_SMP */
327 329
328 if (unlikely(__get_cpu_var(current_dabr) != new->thread.dabr)) { 330 if (unlikely(__get_cpu_var(current_dabr) != new->thread.dabr))
329 set_dabr(new->thread.dabr); 331 set_dabr(new->thread.dabr);
330 __get_cpu_var(current_dabr) = new->thread.dabr;
331 }
332 332
333 new_thread = &new->thread; 333 new_thread = &new->thread;
334 old_thread = &current->thread; 334 old_thread = &current->thread;
@@ -353,6 +353,12 @@ struct task_struct *__switch_to(struct task_struct *prev,
353 account_process_vtime(current); 353 account_process_vtime(current);
354 calculate_steal_time(); 354 calculate_steal_time();
355 355
356 /*
357 * We can't take a PMU exception inside _switch() since there is a
358 * window where the kernel stack SLB and the kernel stack are out
359 * of sync. Hard disable here.
360 */
361 hard_irq_disable();
356 last = _switch(old_thread, new_thread); 362 last = _switch(old_thread, new_thread);
357 363
358 local_irq_restore(flags); 364 local_irq_restore(flags);
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
index 7673e986573..2a9fe97e452 100644
--- a/arch/powerpc/kernel/ptrace.c
+++ b/arch/powerpc/kernel/ptrace.c
@@ -530,15 +530,21 @@ static int gpr32_set(struct task_struct *target,
530 --count; 530 --count;
531 } 531 }
532 532
533 if (kbuf) 533 if (kbuf) {
534 for (; count > 0 && pos <= PT_MAX_PUT_REG; --count) 534 for (; count > 0 && pos <= PT_MAX_PUT_REG; --count)
535 regs[pos++] = *k++; 535 regs[pos++] = *k++;
536 else 536 for (; count > 0 && pos < PT_TRAP; --count, ++pos)
537 ++k;
538 } else {
537 for (; count > 0 && pos <= PT_MAX_PUT_REG; --count) { 539 for (; count > 0 && pos <= PT_MAX_PUT_REG; --count) {
538 if (__get_user(reg, u++)) 540 if (__get_user(reg, u++))
539 return -EFAULT; 541 return -EFAULT;
540 regs[pos++] = reg; 542 regs[pos++] = reg;
541 } 543 }
544 for (; count > 0 && pos < PT_TRAP; --count, ++pos)
545 if (__get_user(reg, u++))
546 return -EFAULT;
547 }
542 548
543 if (count > 0 && pos == PT_TRAP) { 549 if (count > 0 && pos == PT_TRAP) {
544 if (kbuf) 550 if (kbuf)
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index 590f1f67c87..a83dfa3cf40 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -351,9 +351,14 @@ static void __init htab_init_page_sizes(void)
351 mmu_vmalloc_psize = MMU_PAGE_64K; 351 mmu_vmalloc_psize = MMU_PAGE_64K;
352 if (mmu_linear_psize == MMU_PAGE_4K) 352 if (mmu_linear_psize == MMU_PAGE_4K)
353 mmu_linear_psize = MMU_PAGE_64K; 353 mmu_linear_psize = MMU_PAGE_64K;
354 if (cpu_has_feature(CPU_FTR_CI_LARGE_PAGE)) 354 if (cpu_has_feature(CPU_FTR_CI_LARGE_PAGE)) {
355 mmu_io_psize = MMU_PAGE_64K; 355 /*
356 else 356 * Don't use 64k pages for ioremap on pSeries, since
357 * that would stop us accessing the HEA ethernet.
358 */
359 if (!machine_is(pseries))
360 mmu_io_psize = MMU_PAGE_64K;
361 } else
357 mmu_ci_restrictions = 1; 362 mmu_ci_restrictions = 1;
358 } 363 }
359#endif /* CONFIG_PPC_64K_PAGES */ 364#endif /* CONFIG_PPC_64K_PAGES */
diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c
index 47b06bad24a..906daeda59a 100644
--- a/arch/powerpc/mm/slb.c
+++ b/arch/powerpc/mm/slb.c
@@ -124,6 +124,12 @@ void slb_flush_and_rebolt(void)
124 ksp_vsid_data = get_slb_shadow()->save_area[2].vsid; 124 ksp_vsid_data = get_slb_shadow()->save_area[2].vsid;
125 } 125 }
126 126
127 /*
128 * We can't take a PMU exception in the following code, so hard
129 * disable interrupts.
130 */
131 hard_irq_disable();
132
127 /* We need to do this all in asm, so we're sure we don't touch 133 /* We need to do this all in asm, so we're sure we don't touch
128 * the stack between the slbia and rebolting it. */ 134 * the stack between the slbia and rebolting it. */
129 asm volatile("isync\n" 135 asm volatile("isync\n"
diff --git a/arch/powerpc/oprofile/cell/vma_map.c b/arch/powerpc/oprofile/cell/vma_map.c
index 76ec1d16aef..9a932177e70 100644
--- a/arch/powerpc/oprofile/cell/vma_map.c
+++ b/arch/powerpc/oprofile/cell/vma_map.c
@@ -92,7 +92,7 @@ vma_map_add(struct vma_to_fileoffset_map *map, unsigned int vma,
92 * A pointer to the first vma_map in the generated list 92 * A pointer to the first vma_map in the generated list
93 * of vma_maps is returned. */ 93 * of vma_maps is returned. */
94struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu, 94struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
95 unsigned long spu_elf_start) 95 unsigned long __spu_elf_start)
96{ 96{
97 static const unsigned char expected[EI_PAD] = { 97 static const unsigned char expected[EI_PAD] = {
98 [EI_MAG0] = ELFMAG0, 98 [EI_MAG0] = ELFMAG0,
@@ -107,9 +107,11 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
107 107
108 int grd_val; 108 int grd_val;
109 struct vma_to_fileoffset_map *map = NULL; 109 struct vma_to_fileoffset_map *map = NULL;
110 void __user *spu_elf_start = (void __user *)__spu_elf_start;
110 struct spu_overlay_info ovly; 111 struct spu_overlay_info ovly;
111 unsigned int overlay_tbl_offset = -1; 112 unsigned int overlay_tbl_offset = -1;
112 unsigned long phdr_start, shdr_start; 113 Elf32_Phdr __user *phdr_start;
114 Elf32_Shdr __user *shdr_start;
113 Elf32_Ehdr ehdr; 115 Elf32_Ehdr ehdr;
114 Elf32_Phdr phdr; 116 Elf32_Phdr phdr;
115 Elf32_Shdr shdr, shdr_str; 117 Elf32_Shdr shdr, shdr_str;
@@ -121,12 +123,12 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
121 unsigned int ovly_buf_table_sym = 0; 123 unsigned int ovly_buf_table_sym = 0;
122 unsigned int ovly_table_end_sym = 0; 124 unsigned int ovly_table_end_sym = 0;
123 unsigned int ovly_buf_table_end_sym = 0; 125 unsigned int ovly_buf_table_end_sym = 0;
124 unsigned long ovly_table; 126 struct spu_overlay_info __user *ovly_table;
125 unsigned int n_ovlys; 127 unsigned int n_ovlys;
126 128
127 /* Get and validate ELF header. */ 129 /* Get and validate ELF header. */
128 130
129 if (copy_from_user(&ehdr, (void *) spu_elf_start, sizeof (ehdr))) 131 if (copy_from_user(&ehdr, spu_elf_start, sizeof (ehdr)))
130 goto fail; 132 goto fail;
131 133
132 if (memcmp(ehdr.e_ident, expected, EI_PAD) != 0) { 134 if (memcmp(ehdr.e_ident, expected, EI_PAD) != 0) {
@@ -152,9 +154,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
152 154
153 /* Traverse program headers. */ 155 /* Traverse program headers. */
154 for (i = 0; i < ehdr.e_phnum; i++) { 156 for (i = 0; i < ehdr.e_phnum; i++) {
155 if (copy_from_user(&phdr, 157 if (copy_from_user(&phdr, phdr_start + i, sizeof(phdr)))
156 (void *) (phdr_start + i * sizeof(phdr)),
157 sizeof(phdr)))
158 goto fail; 158 goto fail;
159 159
160 if (phdr.p_type != PT_LOAD) 160 if (phdr.p_type != PT_LOAD)
@@ -171,9 +171,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
171 pr_debug("SPU_PROF: Created non-overlay maps\n"); 171 pr_debug("SPU_PROF: Created non-overlay maps\n");
172 /* Traverse section table and search for overlay-related symbols. */ 172 /* Traverse section table and search for overlay-related symbols. */
173 for (i = 0; i < ehdr.e_shnum; i++) { 173 for (i = 0; i < ehdr.e_shnum; i++) {
174 if (copy_from_user(&shdr, 174 if (copy_from_user(&shdr, shdr_start + i, sizeof(shdr)))
175 (void *) (shdr_start + i * sizeof(shdr)),
176 sizeof(shdr)))
177 goto fail; 175 goto fail;
178 176
179 if (shdr.sh_type != SHT_SYMTAB) 177 if (shdr.sh_type != SHT_SYMTAB)
@@ -182,8 +180,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
182 continue; 180 continue;
183 181
184 if (copy_from_user(&shdr_str, 182 if (copy_from_user(&shdr_str,
185 (void *) (shdr_start + shdr.sh_link * 183 shdr_start + shdr.sh_link,
186 sizeof(shdr)),
187 sizeof(shdr))) 184 sizeof(shdr)))
188 goto fail; 185 goto fail;
189 186
@@ -191,15 +188,15 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
191 goto fail;; 188 goto fail;;
192 189
193 for (j = 0; j < shdr.sh_size / sizeof (sym); j++) { 190 for (j = 0; j < shdr.sh_size / sizeof (sym); j++) {
194 if (copy_from_user(&sym, (void *) (spu_elf_start + 191 if (copy_from_user(&sym, spu_elf_start +
195 shdr.sh_offset + j * 192 shdr.sh_offset +
196 sizeof (sym)), 193 j * sizeof (sym),
197 sizeof (sym))) 194 sizeof (sym)))
198 goto fail; 195 goto fail;
199 196
200 if (copy_from_user(name, (void *) 197 if (copy_from_user(name,
201 (spu_elf_start + shdr_str.sh_offset + 198 spu_elf_start + shdr_str.sh_offset +
202 sym.st_name), 199 sym.st_name,
203 20)) 200 20))
204 goto fail; 201 goto fail;
205 202
@@ -245,9 +242,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
245 242
246 /* Traverse overlay table. */ 243 /* Traverse overlay table. */
247 for (i = 0; i < n_ovlys; i++) { 244 for (i = 0; i < n_ovlys; i++) {
248 if (copy_from_user(&ovly, (void *) 245 if (copy_from_user(&ovly, ovly_table + i, sizeof (ovly)))
249 (ovly_table + i * sizeof (ovly)),
250 sizeof (ovly)))
251 goto fail; 246 goto fail;
252 247
253 /* The ovly.vma/size/offset arguments are analogous to the same 248 /* The ovly.vma/size/offset arguments are analogous to the same
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index 20ea0e118f2..d75ccded7f1 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -802,17 +802,24 @@ static int __init cell_iommu_init_disabled(void)
802 802
803static u64 cell_iommu_get_fixed_address(struct device *dev) 803static u64 cell_iommu_get_fixed_address(struct device *dev)
804{ 804{
805 u64 cpu_addr, size, best_size, pci_addr = OF_BAD_ADDR; 805 u64 cpu_addr, size, best_size, dev_addr = OF_BAD_ADDR;
806 struct device_node *np; 806 struct device_node *np;
807 const u32 *ranges = NULL; 807 const u32 *ranges = NULL;
808 int i, len, best; 808 int i, len, best, naddr, nsize, pna, range_size;
809 809
810 np = of_node_get(dev->archdata.of_node); 810 np = of_node_get(dev->archdata.of_node);
811 while (np) { 811 while (1) {
812 naddr = of_n_addr_cells(np);
813 nsize = of_n_size_cells(np);
814 np = of_get_next_parent(np);
815 if (!np)
816 break;
817
812 ranges = of_get_property(np, "dma-ranges", &len); 818 ranges = of_get_property(np, "dma-ranges", &len);
813 if (ranges) 819
820 /* Ignore empty ranges, they imply no translation required */
821 if (ranges && len > 0)
814 break; 822 break;
815 np = of_get_next_parent(np);
816 } 823 }
817 824
818 if (!ranges) { 825 if (!ranges) {
@@ -822,15 +829,17 @@ static u64 cell_iommu_get_fixed_address(struct device *dev)
822 829
823 len /= sizeof(u32); 830 len /= sizeof(u32);
824 831
832 pna = of_n_addr_cells(np);
833 range_size = naddr + nsize + pna;
834
825 /* dma-ranges format: 835 /* dma-ranges format:
826 * 1 cell: pci space 836 * child addr : naddr cells
827 * 2 cells: pci address 837 * parent addr : pna cells
828 * 2 cells: parent address 838 * size : nsize cells
829 * 2 cells: size
830 */ 839 */
831 for (i = 0, best = -1, best_size = 0; i < len; i += 7) { 840 for (i = 0, best = -1, best_size = 0; i < len; i += range_size) {
832 cpu_addr = of_translate_dma_address(np, ranges +i + 3); 841 cpu_addr = of_translate_dma_address(np, ranges + i + naddr);
833 size = of_read_number(ranges + i + 5, 2); 842 size = of_read_number(ranges + i + naddr + pna, nsize);
834 843
835 if (cpu_addr == 0 && size > best_size) { 844 if (cpu_addr == 0 && size > best_size) {
836 best = i; 845 best = i;
@@ -838,15 +847,15 @@ static u64 cell_iommu_get_fixed_address(struct device *dev)
838 } 847 }
839 } 848 }
840 849
841 if (best >= 0) 850 if (best >= 0) {
842 pci_addr = of_read_number(ranges + best + 1, 2); 851 dev_addr = of_read_number(ranges + best, naddr);
843 else 852 } else
844 dev_dbg(dev, "iommu: no suitable range found!\n"); 853 dev_dbg(dev, "iommu: no suitable range found!\n");
845 854
846out: 855out:
847 of_node_put(np); 856 of_node_put(np);
848 857
849 return pci_addr; 858 return dev_addr;
850} 859}
851 860
852static int dma_set_mask_and_switch(struct device *dev, u64 dma_mask) 861static int dma_set_mask_and_switch(struct device *dev, u64 dma_mask)
diff --git a/arch/powerpc/platforms/cell/setup.c b/arch/powerpc/platforms/cell/setup.c
index dda34650cb0..5c531e8f9f6 100644
--- a/arch/powerpc/platforms/cell/setup.c
+++ b/arch/powerpc/platforms/cell/setup.c
@@ -81,6 +81,42 @@ static void cell_progress(char *s, unsigned short hex)
81 printk("*** %04x : %s\n", hex, s ? s : ""); 81 printk("*** %04x : %s\n", hex, s ? s : "");
82} 82}
83 83
84static void cell_fixup_pcie_rootcomplex(struct pci_dev *dev)
85{
86 struct pci_controller *hose;
87 const char *s;
88 int i;
89
90 if (!machine_is(cell))
91 return;
92
93 /* We're searching for a direct child of the PHB */
94 if (dev->bus->self != NULL || dev->devfn != 0)
95 return;
96
97 hose = pci_bus_to_host(dev->bus);
98 if (hose == NULL)
99 return;
100
101 /* Only on PCIE */
102 if (!of_device_is_compatible(hose->dn, "pciex"))
103 return;
104
105 /* And only on axon */
106 s = of_get_property(hose->dn, "model", NULL);
107 if (!s || strcmp(s, "Axon") != 0)
108 return;
109
110 for (i = 0; i < PCI_BRIDGE_RESOURCES; i++) {
111 dev->resource[i].start = dev->resource[i].end = 0;
112 dev->resource[i].flags = 0;
113 }
114
115 printk(KERN_DEBUG "PCI: Hiding resources on Axon PCIE RC %s\n",
116 pci_name(dev));
117}
118DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, cell_fixup_pcie_rootcomplex);
119
84static int __init cell_publish_devices(void) 120static int __init cell_publish_devices(void)
85{ 121{
86 int node; 122 int node;
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c
index ca52b587166..a977f200db8 100644
--- a/arch/powerpc/platforms/pseries/xics.c
+++ b/arch/powerpc/platforms/pseries/xics.c
@@ -763,7 +763,7 @@ void xics_request_IPIs(void)
763} 763}
764#endif /* CONFIG_SMP */ 764#endif /* CONFIG_SMP */
765 765
766void xics_teardown_cpu() 766void xics_teardown_cpu(void)
767{ 767{
768 int cpu = smp_processor_id(); 768 int cpu = smp_processor_id();
769 769
diff --git a/arch/powerpc/sysdev/bestcomm/bestcomm.c b/arch/powerpc/sysdev/bestcomm/bestcomm.c
index f589999361e..64ec7d62936 100644
--- a/arch/powerpc/sysdev/bestcomm/bestcomm.c
+++ b/arch/powerpc/sysdev/bestcomm/bestcomm.c
@@ -52,6 +52,10 @@ bcom_task_alloc(int bd_count, int bd_size, int priv_size)
52 int i, tasknum = -1; 52 int i, tasknum = -1;
53 struct bcom_task *tsk; 53 struct bcom_task *tsk;
54 54
55 /* Don't try to do anything if bestcomm init failed */
56 if (!bcom_eng)
57 return NULL;
58
55 /* Get and reserve a task num */ 59 /* Get and reserve a task num */
56 spin_lock(&bcom_eng->lock); 60 spin_lock(&bcom_eng->lock);
57 61
@@ -484,8 +488,8 @@ mpc52xx_bcom_remove(struct of_device *op)
484} 488}
485 489
486static struct of_device_id mpc52xx_bcom_of_match[] = { 490static struct of_device_id mpc52xx_bcom_of_match[] = {
487 { .type = "dma-controller", .compatible = "fsl,mpc5200-bestcomm", }, 491 { .compatible = "fsl,mpc5200-bestcomm", },
488 { .type = "dma-controller", .compatible = "mpc5200-bestcomm", }, 492 { .compatible = "mpc5200-bestcomm", },
489 {}, 493 {},
490}; 494};
491 495
diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c
index ae0dbf4c1d6..0f2dfb0aaa6 100644
--- a/arch/powerpc/sysdev/ipic.c
+++ b/arch/powerpc/sysdev/ipic.c
@@ -906,7 +906,7 @@ static int __init init_ipic_sysfs(void)
906{ 906{
907 int rc; 907 int rc;
908 908
909 if (!primary_ipic->regs) 909 if (!primary_ipic || !primary_ipic->regs)
910 return -ENODEV; 910 return -ENODEV;
911 printk(KERN_DEBUG "Registering ipic with sysfs...\n"); 911 printk(KERN_DEBUG "Registering ipic with sysfs...\n");
912 912
diff --git a/arch/s390/lib/uaccess_pt.c b/arch/s390/lib/uaccess_pt.c
index 7e8efaade2e..5efdfe9f5e7 100644
--- a/arch/s390/lib/uaccess_pt.c
+++ b/arch/s390/lib/uaccess_pt.c
@@ -406,6 +406,8 @@ int futex_atomic_cmpxchg_pt(int __user *uaddr, int oldval, int newval)
406{ 406{
407 int ret; 407 int ret;
408 408
409 if (!current->mm)
410 return -EFAULT;
409 spin_lock(&current->mm->page_table_lock); 411 spin_lock(&current->mm->page_table_lock);
410 uaddr = (int __user *) __dat_user_addr((unsigned long) uaddr); 412 uaddr = (int __user *) __dat_user_addr((unsigned long) uaddr);
411 if (!uaddr) { 413 if (!uaddr) {
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 95b7534e9e3..8d2cd1de572 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -72,9 +72,6 @@ config SYS_SUPPORTS_NUMA
72config SYS_SUPPORTS_PCI 72config SYS_SUPPORTS_PCI
73 bool 73 bool
74 74
75config ARCH_MAY_HAVE_PC_FDC
76 bool
77
78config STACKTRACE_SUPPORT 75config STACKTRACE_SUPPORT
79 def_bool y 76 def_bool y
80 77
@@ -580,6 +577,7 @@ config SH_TIMER_IRQ
580 CPU_SUBTYPE_SH7763 577 CPU_SUBTYPE_SH7763
581 default "86" if CPU_SUBTYPE_SH7619 578 default "86" if CPU_SUBTYPE_SH7619
582 default "140" if CPU_SUBTYPE_SH7206 579 default "140" if CPU_SUBTYPE_SH7206
580 default "142" if CPU_SUBTYPE_SH7203
583 default "16" 581 default "16"
584 582
585config SH_PCLK_FREQ 583config SH_PCLK_FREQ
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index c510c225144..cffc92b1bf2 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -154,7 +154,11 @@ drivers-$(CONFIG_OPROFILE) += arch/sh/oprofile/
154 154
155boot := arch/sh/boot 155boot := arch/sh/boot
156 156
157ifneq ($(KBUILD_SRC),)
157incdir-prefix := $(srctree)/include/asm-sh/ 158incdir-prefix := $(srctree)/include/asm-sh/
159else
160incdir-prefix :=
161endif
158 162
159# Update machine arch and proc symlinks if something which affects 163# Update machine arch and proc symlinks if something which affects
160# them changed. We use .arch and .mach to indicate when they were 164# them changed. We use .arch and .mach to indicate when they were
@@ -182,7 +186,7 @@ include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
182 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi 186 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
183 $(Q)rm -f include/asm-sh/mach 187 $(Q)rm -f include/asm-sh/mach
184 $(Q)for i in $(incdir-y); do \ 188 $(Q)for i in $(incdir-y); do \
185 if [ -d $(incdir-prefix)$$i ]; then \ 189 if [ -d $(srctree)/include/asm-sh/$$i ]; then \
186 echo -n ' SYMLINK include/asm-sh/mach -> '; \ 190 echo -n ' SYMLINK include/asm-sh/mach -> '; \
187 echo -e "include/asm-sh/$$i"; \ 191 echo -e "include/asm-sh/$$i"; \
188 ln -fsn $(incdir-prefix)$$i \ 192 ln -fsn $(incdir-prefix)$$i \
@@ -191,7 +195,7 @@ include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
191 if [ ! -d include/asm-sh/mach ]; then \ 195 if [ ! -d include/asm-sh/mach ]; then \
192 echo -n ' SYMLINK include/asm-sh/mach -> '; \ 196 echo -n ' SYMLINK include/asm-sh/mach -> '; \
193 echo -e 'include/asm-sh'; \ 197 echo -e 'include/asm-sh'; \
194 ln -fsn $(incdir-prefix) include/asm-sh/mach; \ 198 ln -fsn $(incdir-prefix)../asm-sh include/asm-sh/mach; \
195 fi; \ 199 fi; \
196 fi; \ 200 fi; \
197 done 201 done
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
index 59f552c1334..89b408620dc 100644
--- a/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile
@@ -32,19 +32,19 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
32$(obj)/compressed/vmlinux: FORCE 32$(obj)/compressed/vmlinux: FORCE
33 $(Q)$(MAKE) $(build)=$(obj)/compressed $@ 33 $(Q)$(MAKE) $(build)=$(obj)/compressed $@
34 34
35KERNEL_LOAD := $(shell /bin/bash -c 'printf "0x%8x" \ 35KERNEL_LOAD := $(shell /bin/bash -c 'printf "0x%08x" \
36 $$[$(CONFIG_PAGE_OFFSET) + \ 36 $$[$(CONFIG_PAGE_OFFSET) + \
37 $(CONFIG_MEMORY_START) + \ 37 $(CONFIG_MEMORY_START) + \
38 $(CONFIG_ZERO_PAGE_OFFSET)]') 38 $(CONFIG_ZERO_PAGE_OFFSET)]')
39 39
40KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%8x" \ 40KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
41 $$[$(CONFIG_PAGE_OFFSET) + \ 41 $$[$(CONFIG_PAGE_OFFSET) + \
42 $(CONFIG_MEMORY_START) + \ 42 $(CONFIG_MEMORY_START) + \
43 $(CONFIG_ZERO_PAGE_OFFSET)+0x1000]') 43 $(CONFIG_ZERO_PAGE_OFFSET)+0x1000]')
44 44
45quiet_cmd_uimage = UIMAGE $@ 45quiet_cmd_uimage = UIMAGE $@
46 cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \ 46 cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
47 -C none -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \ 47 -C gzip -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
48 -n 'Linux-$(KERNELRELEASE)' -d $< $@ 48 -n 'Linux-$(KERNELRELEASE)' -d $< $@
49 49
50$(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE 50$(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE
diff --git a/arch/sh/kernel/cpu/sh2/entry.S b/arch/sh/kernel/cpu/sh2/entry.S
index 7a26569e795..0fc89069d8c 100644
--- a/arch/sh/kernel/cpu/sh2/entry.S
+++ b/arch/sh/kernel/cpu/sh2/entry.S
@@ -267,7 +267,6 @@ ENTRY(sh_bios_handler)
267 267
268ENTRY(address_error_trap_handler) 268ENTRY(address_error_trap_handler)
269 mov r15,r4 ! regs 269 mov r15,r4 ! regs
270 add #4,r4
271 mov #OFF_PC,r0 270 mov #OFF_PC,r0
272 mov.l @(r0,r15),r6 ! pc 271 mov.l @(r0,r15),r6 ! pc
273 mov.l 1f,r0 272 mov.l 1f,r0
diff --git a/arch/sh/kernel/cpu/sh2a/fpu.c b/arch/sh/kernel/cpu/sh2a/fpu.c
index ff99562456f..5627c0b3ffa 100644
--- a/arch/sh/kernel/cpu/sh2a/fpu.c
+++ b/arch/sh/kernel/cpu/sh2a/fpu.c
@@ -13,6 +13,7 @@
13#include <linux/signal.h> 13#include <linux/signal.h>
14#include <asm/processor.h> 14#include <asm/processor.h>
15#include <asm/io.h> 15#include <asm/io.h>
16#include <asm/fpu.h>
16 17
17/* The PR (precision) bit in the FP Status Register must be clear when 18/* The PR (precision) bit in the FP Status Register must be clear when
18 * an frchg instruction is executed, otherwise the instruction is undefined. 19 * an frchg instruction is executed, otherwise the instruction is undefined.
diff --git a/arch/sh/kernel/cpu/sh4/fpu.c b/arch/sh/kernel/cpu/sh4/fpu.c
index 817f9939cda..8020796139f 100644
--- a/arch/sh/kernel/cpu/sh4/fpu.c
+++ b/arch/sh/kernel/cpu/sh4/fpu.c
@@ -16,6 +16,7 @@
16#include <asm/cpu/fpu.h> 16#include <asm/cpu/fpu.h>
17#include <asm/processor.h> 17#include <asm/processor.h>
18#include <asm/system.h> 18#include <asm/system.h>
19#include <asm/fpu.h>
19 20
20/* The PR (precision) bit in the FP Status Register must be clear when 21/* The PR (precision) bit in the FP Status Register must be clear when
21 * an frchg instruction is executed, otherwise the instruction is undefined. 22 * an frchg instruction is executed, otherwise the instruction is undefined.
diff --git a/arch/sh/kernel/cpu/sh5/fpu.c b/arch/sh/kernel/cpu/sh5/fpu.c
index 30b76a94abf..dd4f51ffb50 100644
--- a/arch/sh/kernel/cpu/sh5/fpu.c
+++ b/arch/sh/kernel/cpu/sh5/fpu.c
@@ -17,6 +17,7 @@
17#include <asm/processor.h> 17#include <asm/processor.h>
18#include <asm/user.h> 18#include <asm/user.h>
19#include <asm/io.h> 19#include <asm/io.h>
20#include <asm/fpu.h>
20 21
21/* 22/*
22 * Initially load the FPU with signalling NANS. This bit pattern 23 * Initially load the FPU with signalling NANS. This bit pattern
diff --git a/arch/sh/kernel/dump_task.c b/arch/sh/kernel/dump_task.c
index 4a8a4083ff0..1db7ce0f25d 100644
--- a/arch/sh/kernel/dump_task.c
+++ b/arch/sh/kernel/dump_task.c
@@ -1,5 +1,6 @@
1#include <linux/elfcore.h> 1#include <linux/elfcore.h>
2#include <linux/sched.h> 2#include <linux/sched.h>
3#include <asm/fpu.h>
3 4
4/* 5/*
5 * Capture the user space registers if the task is not running (in user space) 6 * Capture the user space registers if the task is not running (in user space)
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c
index 9ab1926b9d1..b98e37a1f54 100644
--- a/arch/sh/kernel/process_32.c
+++ b/arch/sh/kernel/process_32.c
@@ -25,6 +25,7 @@
25#include <asm/pgalloc.h> 25#include <asm/pgalloc.h>
26#include <asm/system.h> 26#include <asm/system.h>
27#include <asm/ubc.h> 27#include <asm/ubc.h>
28#include <asm/fpu.h>
28 29
29static int hlt_counter; 30static int hlt_counter;
30int ubc_usercnt = 0; 31int ubc_usercnt = 0;
diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c
index f6b5fbfe75c..f311551d9a0 100644
--- a/arch/sh/kernel/signal_32.c
+++ b/arch/sh/kernel/signal_32.c
@@ -29,6 +29,7 @@
29#include <asm/uaccess.h> 29#include <asm/uaccess.h>
30#include <asm/pgtable.h> 30#include <asm/pgtable.h>
31#include <asm/cacheflush.h> 31#include <asm/cacheflush.h>
32#include <asm/fpu.h>
32 33
33#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) 34#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
34 35
diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c
index 94075e1a1e6..5d039d168f5 100644
--- a/arch/sh/kernel/smp.c
+++ b/arch/sh/kernel/smp.c
@@ -179,7 +179,7 @@ void smp_send_stop(void)
179} 179}
180 180
181struct smp_fn_call_struct smp_fn_call = { 181struct smp_fn_call_struct smp_fn_call = {
182 .lock = SPIN_LOCK_UNLOCKED, 182 .lock = __SPIN_LOCK_UNLOCKED(smp_fn_call.lock),
183 .finished = ATOMIC_INIT(0), 183 .finished = ATOMIC_INIT(0),
184}; 184};
185 185
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig
index 250958d1e3c..9d4bd222949 100644
--- a/arch/sparc64/defconfig
+++ b/arch/sparc64/defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.25-rc1 3# Linux kernel version: 2.6.25-rc3
4# Sun Feb 17 22:44:12 2008 4# Wed Mar 26 04:33:35 2008
5# 5#
6CONFIG_SPARC=y 6CONFIG_SPARC=y
7CONFIG_SPARC64=y 7CONFIG_SPARC64=y
@@ -55,9 +55,11 @@ CONFIG_POSIX_MQUEUE=y
55# CONFIG_IKCONFIG is not set 55# CONFIG_IKCONFIG is not set
56CONFIG_LOG_BUF_SHIFT=18 56CONFIG_LOG_BUF_SHIFT=18
57# CONFIG_CGROUPS is not set 57# CONFIG_CGROUPS is not set
58CONFIG_GROUP_SCHED=y
58CONFIG_FAIR_GROUP_SCHED=y 59CONFIG_FAIR_GROUP_SCHED=y
59CONFIG_FAIR_USER_SCHED=y 60CONFIG_RT_GROUP_SCHED=y
60# CONFIG_FAIR_CGROUP_SCHED is not set 61CONFIG_USER_SCHED=y
62# CONFIG_CGROUP_SCHED is not set
61CONFIG_SYSFS_DEPRECATED=y 63CONFIG_SYSFS_DEPRECATED=y
62CONFIG_RELAY=y 64CONFIG_RELAY=y
63CONFIG_NAMESPACES=y 65CONFIG_NAMESPACES=y
@@ -482,6 +484,7 @@ CONFIG_SCSI_LOWLEVEL=y
482# CONFIG_SCSI_IPS is not set 484# CONFIG_SCSI_IPS is not set
483# CONFIG_SCSI_INITIO is not set 485# CONFIG_SCSI_INITIO is not set
484# CONFIG_SCSI_INIA100 is not set 486# CONFIG_SCSI_INIA100 is not set
487# CONFIG_SCSI_MVSAS is not set
485# CONFIG_SCSI_STEX is not set 488# CONFIG_SCSI_STEX is not set
486# CONFIG_SCSI_SYM53C8XX_2 is not set 489# CONFIG_SCSI_SYM53C8XX_2 is not set
487# CONFIG_SCSI_QLOGIC_1280 is not set 490# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -810,6 +813,7 @@ CONFIG_HWMON=y
810# CONFIG_SENSORS_ADM1031 is not set 813# CONFIG_SENSORS_ADM1031 is not set
811# CONFIG_SENSORS_ADM9240 is not set 814# CONFIG_SENSORS_ADM9240 is not set
812# CONFIG_SENSORS_ADT7470 is not set 815# CONFIG_SENSORS_ADT7470 is not set
816# CONFIG_SENSORS_ADT7473 is not set
813# CONFIG_SENSORS_ATXP1 is not set 817# CONFIG_SENSORS_ATXP1 is not set
814# CONFIG_SENSORS_DS1621 is not set 818# CONFIG_SENSORS_DS1621 is not set
815# CONFIG_SENSORS_I5K_AMB is not set 819# CONFIG_SENSORS_I5K_AMB is not set
diff --git a/arch/sparc64/kernel/cpu.c b/arch/sparc64/kernel/cpu.c
index dd5d28e3d79..0097c08dc60 100644
--- a/arch/sparc64/kernel/cpu.c
+++ b/arch/sparc64/kernel/cpu.c
@@ -15,6 +15,8 @@
15#include <asm/spitfire.h> 15#include <asm/spitfire.h>
16#include <asm/oplib.h> 16#include <asm/oplib.h>
17 17
18#include "entry.h"
19
18DEFINE_PER_CPU(cpuinfo_sparc, __cpu_data) = { 0 }; 20DEFINE_PER_CPU(cpuinfo_sparc, __cpu_data) = { 0 };
19 21
20struct cpu_iu_info { 22struct cpu_iu_info {
@@ -65,8 +67,6 @@ static struct cpu_iu_info linux_sparc_chips[] = {
65char *sparc_cpu_type; 67char *sparc_cpu_type;
66char *sparc_fpu_type; 68char *sparc_fpu_type;
67 69
68unsigned int fsr_storage;
69
70static void __init sun4v_cpu_probe(void) 70static void __init sun4v_cpu_probe(void)
71{ 71{
72 switch (sun4v_chip_type) { 72 switch (sun4v_chip_type) {
@@ -94,8 +94,10 @@ void __init cpu_probe(void)
94 unsigned long ver, fpu_vers, manuf, impl, fprs; 94 unsigned long ver, fpu_vers, manuf, impl, fprs;
95 int i; 95 int i;
96 96
97 if (tlb_type == hypervisor) 97 if (tlb_type == hypervisor) {
98 return sun4v_cpu_probe(); 98 sun4v_cpu_probe();
99 return;
100 }
99 101
100 fprs = fprs_read(); 102 fprs = fprs_read();
101 fprs_write(FPRS_FEF); 103 fprs_write(FPRS_FEF);
diff --git a/arch/sparc64/kernel/ds.c b/arch/sparc64/kernel/ds.c
index bd76482077b..edb74f5a118 100644
--- a/arch/sparc64/kernel/ds.c
+++ b/arch/sparc64/kernel/ds.c
@@ -972,8 +972,7 @@ static void process_ds_work(void)
972 LIST_HEAD(todo); 972 LIST_HEAD(todo);
973 973
974 spin_lock_irqsave(&ds_lock, flags); 974 spin_lock_irqsave(&ds_lock, flags);
975 list_splice(&ds_work_list, &todo); 975 list_splice_init(&ds_work_list, &todo);
976 INIT_LIST_HEAD(&ds_work_list);
977 spin_unlock_irqrestore(&ds_lock, flags); 976 spin_unlock_irqrestore(&ds_lock, flags);
978 977
979 list_for_each_entry_safe(qp, tmp, &todo, list) { 978 list_for_each_entry_safe(qp, tmp, &todo, list) {
diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S
index 6be4d2d2904..49eca4b1cf2 100644
--- a/arch/sparc64/kernel/entry.S
+++ b/arch/sparc64/kernel/entry.S
@@ -1705,6 +1705,36 @@ __flushw_user:
17052: retl 17052: retl
1706 nop 1706 nop
1707 1707
1708 /* Flush %fp and %i7 to the stack for all register
1709 * windows active inside of the cpu. This allows
1710 * show_stack_trace() to avoid using an expensive
1711 * 'flushw'.
1712 */
1713 .globl stack_trace_flush
1714 .type stack_trace_flush,#function
1715stack_trace_flush:
1716 rdpr %pstate, %o0
1717 wrpr %o0, PSTATE_IE, %pstate
1718
1719 rdpr %cwp, %g1
1720 rdpr %canrestore, %g2
1721 sub %g1, 1, %g3
1722
17231: brz,pn %g2, 2f
1724 sub %g2, 1, %g2
1725 wrpr %g3, %cwp
1726 stx %fp, [%sp + STACK_BIAS + RW_V9_I6]
1727 stx %i7, [%sp + STACK_BIAS + RW_V9_I7]
1728 ba,pt %xcc, 1b
1729 sub %g3, 1, %g3
1730
17312: wrpr %g1, %cwp
1732 wrpr %o0, %pstate
1733
1734 retl
1735 nop
1736 .size stack_trace_flush,.-stack_trace_flush
1737
1708#ifdef CONFIG_SMP 1738#ifdef CONFIG_SMP
1709 .globl hard_smp_processor_id 1739 .globl hard_smp_processor_id
1710hard_smp_processor_id: 1740hard_smp_processor_id:
diff --git a/arch/sparc64/kernel/entry.h b/arch/sparc64/kernel/entry.h
new file mode 100644
index 00000000000..4a91e9c6d31
--- /dev/null
+++ b/arch/sparc64/kernel/entry.h
@@ -0,0 +1,196 @@
1#ifndef _ENTRY_H
2#define _ENTRY_H
3
4#include <linux/kernel.h>
5#include <linux/types.h>
6#include <linux/init.h>
7
8extern char *sparc_cpu_type;
9extern char *sparc_fpu_type;
10
11extern void __init per_cpu_patch(void);
12extern void __init sun4v_patch(void);
13extern void __init boot_cpu_id_too_large(int cpu);
14extern unsigned int dcache_parity_tl1_occurred;
15extern unsigned int icache_parity_tl1_occurred;
16
17extern asmlinkage void update_perfctrs(void);
18extern asmlinkage void sparc_breakpoint(struct pt_regs *regs);
19extern void timer_interrupt(int irq, struct pt_regs *regs);
20
21extern void do_notify_resume(struct pt_regs *regs,
22 unsigned long orig_i0,
23 int restart_syscall,
24 unsigned long thread_info_flags);
25
26extern asmlinkage void syscall_trace(struct pt_regs *regs,
27 int syscall_exit_p);
28
29extern void bad_trap_tl1(struct pt_regs *regs, long lvl);
30
31extern void do_fpe_common(struct pt_regs *regs);
32extern void do_fpieee(struct pt_regs *regs);
33extern void do_fpother(struct pt_regs *regs);
34extern void do_tof(struct pt_regs *regs);
35extern void do_div0(struct pt_regs *regs);
36extern void do_illegal_instruction(struct pt_regs *regs);
37extern void mem_address_unaligned(struct pt_regs *regs,
38 unsigned long sfar,
39 unsigned long sfsr);
40extern void sun4v_do_mna(struct pt_regs *regs,
41 unsigned long addr,
42 unsigned long type_ctx);
43extern void do_privop(struct pt_regs *regs);
44extern void do_privact(struct pt_regs *regs);
45extern void do_cee(struct pt_regs *regs);
46extern void do_cee_tl1(struct pt_regs *regs);
47extern void do_dae_tl1(struct pt_regs *regs);
48extern void do_iae_tl1(struct pt_regs *regs);
49extern void do_div0_tl1(struct pt_regs *regs);
50extern void do_fpdis_tl1(struct pt_regs *regs);
51extern void do_fpieee_tl1(struct pt_regs *regs);
52extern void do_fpother_tl1(struct pt_regs *regs);
53extern void do_ill_tl1(struct pt_regs *regs);
54extern void do_irq_tl1(struct pt_regs *regs);
55extern void do_lddfmna_tl1(struct pt_regs *regs);
56extern void do_stdfmna_tl1(struct pt_regs *regs);
57extern void do_paw(struct pt_regs *regs);
58extern void do_paw_tl1(struct pt_regs *regs);
59extern void do_vaw(struct pt_regs *regs);
60extern void do_vaw_tl1(struct pt_regs *regs);
61extern void do_tof_tl1(struct pt_regs *regs);
62extern void do_getpsr(struct pt_regs *regs);
63
64extern void spitfire_insn_access_exception(struct pt_regs *regs,
65 unsigned long sfsr,
66 unsigned long sfar);
67extern void spitfire_insn_access_exception_tl1(struct pt_regs *regs,
68 unsigned long sfsr,
69 unsigned long sfar);
70extern void spitfire_data_access_exception(struct pt_regs *regs,
71 unsigned long sfsr,
72 unsigned long sfar);
73extern void spitfire_data_access_exception_tl1(struct pt_regs *regs,
74 unsigned long sfsr,
75 unsigned long sfar);
76extern void spitfire_access_error(struct pt_regs *regs,
77 unsigned long status_encoded,
78 unsigned long afar);
79
80extern void cheetah_fecc_handler(struct pt_regs *regs,
81 unsigned long afsr,
82 unsigned long afar);
83extern void cheetah_cee_handler(struct pt_regs *regs,
84 unsigned long afsr,
85 unsigned long afar);
86extern void cheetah_deferred_handler(struct pt_regs *regs,
87 unsigned long afsr,
88 unsigned long afar);
89extern void cheetah_plus_parity_error(int type, struct pt_regs *regs);
90
91extern void sun4v_insn_access_exception(struct pt_regs *regs,
92 unsigned long addr,
93 unsigned long type_ctx);
94extern void sun4v_insn_access_exception_tl1(struct pt_regs *regs,
95 unsigned long addr,
96 unsigned long type_ctx);
97extern void sun4v_data_access_exception(struct pt_regs *regs,
98 unsigned long addr,
99 unsigned long type_ctx);
100extern void sun4v_data_access_exception_tl1(struct pt_regs *regs,
101 unsigned long addr,
102 unsigned long type_ctx);
103extern void sun4v_resum_error(struct pt_regs *regs,
104 unsigned long offset);
105extern void sun4v_resum_overflow(struct pt_regs *regs);
106extern void sun4v_nonresum_error(struct pt_regs *regs,
107 unsigned long offset);
108extern void sun4v_nonresum_overflow(struct pt_regs *regs);
109
110extern unsigned long sun4v_err_itlb_vaddr;
111extern unsigned long sun4v_err_itlb_ctx;
112extern unsigned long sun4v_err_itlb_pte;
113extern unsigned long sun4v_err_itlb_error;
114
115extern void sun4v_itlb_error_report(struct pt_regs *regs, int tl);
116
117extern unsigned long sun4v_err_dtlb_vaddr;
118extern unsigned long sun4v_err_dtlb_ctx;
119extern unsigned long sun4v_err_dtlb_pte;
120extern unsigned long sun4v_err_dtlb_error;
121
122extern void sun4v_dtlb_error_report(struct pt_regs *regs, int tl);
123extern void hypervisor_tlbop_error(unsigned long err,
124 unsigned long op);
125extern void hypervisor_tlbop_error_xcall(unsigned long err,
126 unsigned long op);
127
128/* WARNING: The error trap handlers in assembly know the precise
129 * layout of the following structure.
130 *
131 * C-level handlers in traps.c use this information to log the
132 * error and then determine how to recover (if possible).
133 */
134struct cheetah_err_info {
135/*0x00*/u64 afsr;
136/*0x08*/u64 afar;
137
138 /* D-cache state */
139/*0x10*/u64 dcache_data[4]; /* The actual data */
140/*0x30*/u64 dcache_index; /* D-cache index */
141/*0x38*/u64 dcache_tag; /* D-cache tag/valid */
142/*0x40*/u64 dcache_utag; /* D-cache microtag */
143/*0x48*/u64 dcache_stag; /* D-cache snooptag */
144
145 /* I-cache state */
146/*0x50*/u64 icache_data[8]; /* The actual insns + predecode */
147/*0x90*/u64 icache_index; /* I-cache index */
148/*0x98*/u64 icache_tag; /* I-cache phys tag */
149/*0xa0*/u64 icache_utag; /* I-cache microtag */
150/*0xa8*/u64 icache_stag; /* I-cache snooptag */
151/*0xb0*/u64 icache_upper; /* I-cache upper-tag */
152/*0xb8*/u64 icache_lower; /* I-cache lower-tag */
153
154 /* E-cache state */
155/*0xc0*/u64 ecache_data[4]; /* 32 bytes from staging registers */
156/*0xe0*/u64 ecache_index; /* E-cache index */
157/*0xe8*/u64 ecache_tag; /* E-cache tag/state */
158
159/*0xf0*/u64 __pad[32 - 30];
160};
161#define CHAFSR_INVALID ((u64)-1L)
162
163/* This is allocated at boot time based upon the largest hardware
164 * cpu ID in the system. We allocate two entries per cpu, one for
165 * TL==0 logging and one for TL >= 1 logging.
166 */
167extern struct cheetah_err_info *cheetah_error_log;
168
169/* UPA nodes send interrupt packet to UltraSparc with first data reg
170 * value low 5 (7 on Starfire) bits holding the IRQ identifier being
171 * delivered. We must translate this into a non-vector IRQ so we can
172 * set the softint on this cpu.
173 *
174 * To make processing these packets efficient and race free we use
175 * an array of irq buckets below. The interrupt vector handler in
176 * entry.S feeds incoming packets into per-cpu pil-indexed lists.
177 *
178 * If you make changes to ino_bucket, please update hand coded assembler
179 * of the vectored interrupt trap handler(s) in entry.S and sun4v_ivec.S
180 */
181struct ino_bucket {
182/*0x00*/unsigned long __irq_chain_pa;
183
184 /* Virtual interrupt number assigned to this INO. */
185/*0x08*/unsigned int __virt_irq;
186/*0x0c*/unsigned int __pad;
187};
188
189extern struct ino_bucket *ivector_table;
190extern unsigned long ivector_table_pa;
191
192extern void handler_irq(int irq, struct pt_regs *regs);
193extern void init_irqwork_curcpu(void);
194extern void __cpuinit sun4v_register_mondo_queues(int this_cpu);
195
196#endif /* _ENTRY_H */
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S
index 44b105c04dd..34f8ff57c56 100644
--- a/arch/sparc64/kernel/head.S
+++ b/arch/sparc64/kernel/head.S
@@ -288,8 +288,12 @@ sun4v_chip_type:
288 /* Leave arg2 as-is, prom_mmu_ihandle_cache */ 288 /* Leave arg2 as-is, prom_mmu_ihandle_cache */
289 mov -1, %l3 289 mov -1, %l3
290 stx %l3, [%sp + 2047 + 128 + 0x28] ! arg3: mode (-1 default) 290 stx %l3, [%sp + 2047 + 128 + 0x28] ! arg3: mode (-1 default)
291 sethi %hi(8 * 1024 * 1024), %l3 291 /* 4MB align the kernel image size. */
292 stx %l3, [%sp + 2047 + 128 + 0x30] ! arg4: size (8MB) 292 set (_end - KERNBASE), %l3
293 set ((4 * 1024 * 1024) - 1), %l4
294 add %l3, %l4, %l3
295 andn %l3, %l4, %l3
296 stx %l3, [%sp + 2047 + 128 + 0x30] ! arg4: roundup(ksize, 4MB)
293 sethi %hi(KERNBASE), %l3 297 sethi %hi(KERNBASE), %l3
294 stx %l3, [%sp + 2047 + 128 + 0x38] ! arg5: vaddr (KERNBASE) 298 stx %l3, [%sp + 2047 + 128 + 0x38] ! arg5: vaddr (KERNBASE)
295 stx %g0, [%sp + 2047 + 128 + 0x40] ! arg6: empty 299 stx %g0, [%sp + 2047 + 128 + 0x40] ! arg6: empty
diff --git a/arch/sparc64/kernel/iommu.c b/arch/sparc64/kernel/iommu.c
index fbaab3497bf..756fa24eeef 100644
--- a/arch/sparc64/kernel/iommu.c
+++ b/arch/sparc64/kernel/iommu.c
@@ -516,9 +516,11 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
516 unsigned long flags, handle, prot, ctx; 516 unsigned long flags, handle, prot, ctx;
517 dma_addr_t dma_next = 0, dma_addr; 517 dma_addr_t dma_next = 0, dma_addr;
518 unsigned int max_seg_size; 518 unsigned int max_seg_size;
519 unsigned long seg_boundary_size;
519 int outcount, incount, i; 520 int outcount, incount, i;
520 struct strbuf *strbuf; 521 struct strbuf *strbuf;
521 struct iommu *iommu; 522 struct iommu *iommu;
523 unsigned long base_shift;
522 524
523 BUG_ON(direction == DMA_NONE); 525 BUG_ON(direction == DMA_NONE);
524 526
@@ -549,8 +551,11 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
549 outs->dma_length = 0; 551 outs->dma_length = 0;
550 552
551 max_seg_size = dma_get_max_seg_size(dev); 553 max_seg_size = dma_get_max_seg_size(dev);
554 seg_boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1,
555 IO_PAGE_SIZE) >> IO_PAGE_SHIFT;
556 base_shift = iommu->page_table_map_base >> IO_PAGE_SHIFT;
552 for_each_sg(sglist, s, nelems, i) { 557 for_each_sg(sglist, s, nelems, i) {
553 unsigned long paddr, npages, entry, slen; 558 unsigned long paddr, npages, entry, out_entry = 0, slen;
554 iopte_t *base; 559 iopte_t *base;
555 560
556 slen = s->length; 561 slen = s->length;
@@ -593,7 +598,9 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
593 * - allocated dma_addr isn't contiguous to previous allocation 598 * - allocated dma_addr isn't contiguous to previous allocation
594 */ 599 */
595 if ((dma_addr != dma_next) || 600 if ((dma_addr != dma_next) ||
596 (outs->dma_length + s->length > max_seg_size)) { 601 (outs->dma_length + s->length > max_seg_size) ||
602 (is_span_boundary(out_entry, base_shift,
603 seg_boundary_size, outs, s))) {
597 /* Can't merge: create a new segment */ 604 /* Can't merge: create a new segment */
598 segstart = s; 605 segstart = s;
599 outcount++; 606 outcount++;
@@ -607,6 +614,7 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
607 /* This is a new segment, fill entries */ 614 /* This is a new segment, fill entries */
608 outs->dma_address = dma_addr; 615 outs->dma_address = dma_addr;
609 outs->dma_length = slen; 616 outs->dma_length = slen;
617 out_entry = entry;
610 } 618 }
611 619
612 /* Calculate next page pointer for contiguous check */ 620 /* Calculate next page pointer for contiguous check */
@@ -626,7 +634,7 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
626iommu_map_failed: 634iommu_map_failed:
627 for_each_sg(sglist, s, nelems, i) { 635 for_each_sg(sglist, s, nelems, i) {
628 if (s->dma_length != 0) { 636 if (s->dma_length != 0) {
629 unsigned long vaddr, npages, entry, i; 637 unsigned long vaddr, npages, entry, j;
630 iopte_t *base; 638 iopte_t *base;
631 639
632 vaddr = s->dma_address & IO_PAGE_MASK; 640 vaddr = s->dma_address & IO_PAGE_MASK;
@@ -637,8 +645,8 @@ iommu_map_failed:
637 >> IO_PAGE_SHIFT; 645 >> IO_PAGE_SHIFT;
638 base = iommu->page_table + entry; 646 base = iommu->page_table + entry;
639 647
640 for (i = 0; i < npages; i++) 648 for (j = 0; j < npages; j++)
641 iopte_make_dummy(iommu, base + i); 649 iopte_make_dummy(iommu, base + j);
642 650
643 s->dma_address = DMA_ERROR_CODE; 651 s->dma_address = DMA_ERROR_CODE;
644 s->dma_length = 0; 652 s->dma_length = 0;
@@ -803,7 +811,7 @@ static void dma_4u_sync_sg_for_cpu(struct device *dev,
803 spin_unlock_irqrestore(&iommu->lock, flags); 811 spin_unlock_irqrestore(&iommu->lock, flags);
804} 812}
805 813
806const struct dma_ops sun4u_dma_ops = { 814static const struct dma_ops sun4u_dma_ops = {
807 .alloc_coherent = dma_4u_alloc_coherent, 815 .alloc_coherent = dma_4u_alloc_coherent,
808 .free_coherent = dma_4u_free_coherent, 816 .free_coherent = dma_4u_free_coherent,
809 .map_single = dma_4u_map_single, 817 .map_single = dma_4u_map_single,
diff --git a/arch/sparc64/kernel/iommu_common.h b/arch/sparc64/kernel/iommu_common.h
index 0713bd58499..f3575a614fa 100644
--- a/arch/sparc64/kernel/iommu_common.h
+++ b/arch/sparc64/kernel/iommu_common.h
@@ -12,6 +12,7 @@
12#include <linux/mm.h> 12#include <linux/mm.h>
13#include <linux/scatterlist.h> 13#include <linux/scatterlist.h>
14#include <linux/device.h> 14#include <linux/device.h>
15#include <linux/iommu-helper.h>
15 16
16#include <asm/iommu.h> 17#include <asm/iommu.h>
17#include <asm/scatterlist.h> 18#include <asm/scatterlist.h>
@@ -45,17 +46,16 @@ static inline unsigned long iommu_num_pages(unsigned long vaddr,
45 return npages; 46 return npages;
46} 47}
47 48
48static inline unsigned long calc_npages(struct scatterlist *sglist, int nelems) 49static inline int is_span_boundary(unsigned long entry,
50 unsigned long shift,
51 unsigned long boundary_size,
52 struct scatterlist *outs,
53 struct scatterlist *sg)
49{ 54{
50 unsigned long i, npages = 0; 55 unsigned long paddr = SG_ENT_PHYS_ADDRESS(outs);
51 struct scatterlist *sg; 56 int nr = iommu_num_pages(paddr, outs->dma_length + sg->length);
52 57
53 for_each_sg(sglist, sg, nelems, i) { 58 return iommu_is_span_boundary(entry, nr, shift, boundary_size);
54 unsigned long paddr = SG_ENT_PHYS_ADDRESS(sg);
55 npages += iommu_num_pages(paddr, sg->length);
56 }
57
58 return npages;
59} 59}
60 60
61extern unsigned long iommu_range_alloc(struct device *dev, 61extern unsigned long iommu_range_alloc(struct device *dev,
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index 5ec06c8c7fe..eb88bd6e674 100644
--- a/arch/sparc64/kernel/irq.c
+++ b/arch/sparc64/kernel/irq.c
@@ -44,27 +44,10 @@
44#include <asm/hypervisor.h> 44#include <asm/hypervisor.h>
45#include <asm/cacheflush.h> 45#include <asm/cacheflush.h>
46 46
47/* UPA nodes send interrupt packet to UltraSparc with first data reg 47#include "entry.h"
48 * value low 5 (7 on Starfire) bits holding the IRQ identifier being
49 * delivered. We must translate this into a non-vector IRQ so we can
50 * set the softint on this cpu.
51 *
52 * To make processing these packets efficient and race free we use
53 * an array of irq buckets below. The interrupt vector handler in
54 * entry.S feeds incoming packets into per-cpu pil-indexed lists.
55 *
56 * If you make changes to ino_bucket, please update hand coded assembler
57 * of the vectored interrupt trap handler(s) in entry.S and sun4v_ivec.S
58 */
59struct ino_bucket {
60/*0x00*/unsigned long __irq_chain_pa;
61
62 /* Virtual interrupt number assigned to this INO. */
63/*0x08*/unsigned int __virt_irq;
64/*0x0c*/unsigned int __pad;
65};
66 48
67#define NUM_IVECS (IMAP_INR + 1) 49#define NUM_IVECS (IMAP_INR + 1)
50
68struct ino_bucket *ivector_table; 51struct ino_bucket *ivector_table;
69unsigned long ivector_table_pa; 52unsigned long ivector_table_pa;
70 53
diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c
index ddca6c6c0b4..01839706bd5 100644
--- a/arch/sparc64/kernel/pci_sun4v.c
+++ b/arch/sparc64/kernel/pci_sun4v.c
@@ -335,8 +335,10 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
335 unsigned long flags, handle, prot; 335 unsigned long flags, handle, prot;
336 dma_addr_t dma_next = 0, dma_addr; 336 dma_addr_t dma_next = 0, dma_addr;
337 unsigned int max_seg_size; 337 unsigned int max_seg_size;
338 unsigned long seg_boundary_size;
338 int outcount, incount, i; 339 int outcount, incount, i;
339 struct iommu *iommu; 340 struct iommu *iommu;
341 unsigned long base_shift;
340 long err; 342 long err;
341 343
342 BUG_ON(direction == DMA_NONE); 344 BUG_ON(direction == DMA_NONE);
@@ -362,8 +364,11 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
362 iommu_batch_start(dev, prot, ~0UL); 364 iommu_batch_start(dev, prot, ~0UL);
363 365
364 max_seg_size = dma_get_max_seg_size(dev); 366 max_seg_size = dma_get_max_seg_size(dev);
367 seg_boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1,
368 IO_PAGE_SIZE) >> IO_PAGE_SHIFT;
369 base_shift = iommu->page_table_map_base >> IO_PAGE_SHIFT;
365 for_each_sg(sglist, s, nelems, i) { 370 for_each_sg(sglist, s, nelems, i) {
366 unsigned long paddr, npages, entry, slen; 371 unsigned long paddr, npages, entry, out_entry = 0, slen;
367 372
368 slen = s->length; 373 slen = s->length;
369 /* Sanity check */ 374 /* Sanity check */
@@ -406,7 +411,9 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
406 * - allocated dma_addr isn't contiguous to previous allocation 411 * - allocated dma_addr isn't contiguous to previous allocation
407 */ 412 */
408 if ((dma_addr != dma_next) || 413 if ((dma_addr != dma_next) ||
409 (outs->dma_length + s->length > max_seg_size)) { 414 (outs->dma_length + s->length > max_seg_size) ||
415 (is_span_boundary(out_entry, base_shift,
416 seg_boundary_size, outs, s))) {
410 /* Can't merge: create a new segment */ 417 /* Can't merge: create a new segment */
411 segstart = s; 418 segstart = s;
412 outcount++; 419 outcount++;
@@ -420,6 +427,7 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
420 /* This is a new segment, fill entries */ 427 /* This is a new segment, fill entries */
421 outs->dma_address = dma_addr; 428 outs->dma_address = dma_addr;
422 outs->dma_length = slen; 429 outs->dma_length = slen;
430 out_entry = entry;
423 } 431 }
424 432
425 /* Calculate next page pointer for contiguous check */ 433 /* Calculate next page pointer for contiguous check */
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
index e116e38b160..acf8c5250aa 100644
--- a/arch/sparc64/kernel/process.c
+++ b/arch/sparc64/kernel/process.c
@@ -731,9 +731,6 @@ asmlinkage int sparc_execve(struct pt_regs *regs)
731 current_thread_info()->xfsr[0] = 0; 731 current_thread_info()->xfsr[0] = 0;
732 current_thread_info()->fpsaved[0] = 0; 732 current_thread_info()->fpsaved[0] = 0;
733 regs->tstate &= ~TSTATE_PEF; 733 regs->tstate &= ~TSTATE_PEF;
734 task_lock(current);
735 current->ptrace &= ~PT_DTRACE;
736 task_unlock(current);
737 } 734 }
738out: 735out:
739 return error; 736 return error;
diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c
index 9a1ba1fe859..aaae865e793 100644
--- a/arch/sparc64/kernel/ptrace.c
+++ b/arch/sparc64/kernel/ptrace.c
@@ -35,6 +35,9 @@
35#include <asm/spitfire.h> 35#include <asm/spitfire.h>
36#include <asm/page.h> 36#include <asm/page.h>
37#include <asm/cpudata.h> 37#include <asm/cpudata.h>
38#include <asm/cacheflush.h>
39
40#include "entry.h"
38 41
39/* #define ALLOW_INIT_TRACING */ 42/* #define ALLOW_INIT_TRACING */
40 43
@@ -67,6 +70,8 @@ void flush_ptrace_access(struct vm_area_struct *vma, struct page *page,
67 if (tlb_type == hypervisor) 70 if (tlb_type == hypervisor)
68 return; 71 return;
69 72
73 preempt_disable();
74
70#ifdef DCACHE_ALIASING_POSSIBLE 75#ifdef DCACHE_ALIASING_POSSIBLE
71 /* If bit 13 of the kernel address we used to access the 76 /* If bit 13 of the kernel address we used to access the
72 * user page is the same as the virtual address that page 77 * user page is the same as the virtual address that page
@@ -105,6 +110,8 @@ void flush_ptrace_access(struct vm_area_struct *vma, struct page *page,
105 for (; start < end; start += icache_line_size) 110 for (; start < end; start += icache_line_size)
106 flushi(start); 111 flushi(start);
107 } 112 }
113
114 preempt_enable();
108} 115}
109 116
110enum sparc_regset { 117enum sparc_regset {
@@ -382,6 +389,7 @@ static const struct user_regset_view user_sparc64_view = {
382 .regsets = sparc64_regsets, .n = ARRAY_SIZE(sparc64_regsets) 389 .regsets = sparc64_regsets, .n = ARRAY_SIZE(sparc64_regsets)
383}; 390};
384 391
392#ifdef CONFIG_COMPAT
385static int genregs32_get(struct task_struct *target, 393static int genregs32_get(struct task_struct *target,
386 const struct user_regset *regset, 394 const struct user_regset *regset,
387 unsigned int pos, unsigned int count, 395 unsigned int pos, unsigned int count,
@@ -676,14 +684,18 @@ static const struct user_regset_view user_sparc32_view = {
676 .name = "sparc", .e_machine = EM_SPARC, 684 .name = "sparc", .e_machine = EM_SPARC,
677 .regsets = sparc32_regsets, .n = ARRAY_SIZE(sparc32_regsets) 685 .regsets = sparc32_regsets, .n = ARRAY_SIZE(sparc32_regsets)
678}; 686};
687#endif /* CONFIG_COMPAT */
679 688
680const struct user_regset_view *task_user_regset_view(struct task_struct *task) 689const struct user_regset_view *task_user_regset_view(struct task_struct *task)
681{ 690{
691#ifdef CONFIG_COMPAT
682 if (test_tsk_thread_flag(task, TIF_32BIT)) 692 if (test_tsk_thread_flag(task, TIF_32BIT))
683 return &user_sparc32_view; 693 return &user_sparc32_view;
694#endif
684 return &user_sparc64_view; 695 return &user_sparc64_view;
685} 696}
686 697
698#ifdef CONFIG_COMPAT
687struct compat_fps { 699struct compat_fps {
688 unsigned int regs[32]; 700 unsigned int regs[32];
689 unsigned int fsr; 701 unsigned int fsr;
@@ -798,6 +810,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
798 810
799 return ret; 811 return ret;
800} 812}
813#endif /* CONFIG_COMPAT */
801 814
802struct fps { 815struct fps {
803 unsigned int regs[64]; 816 unsigned int regs[64];
@@ -807,11 +820,14 @@ struct fps {
807long arch_ptrace(struct task_struct *child, long request, long addr, long data) 820long arch_ptrace(struct task_struct *child, long request, long addr, long data)
808{ 821{
809 const struct user_regset_view *view = task_user_regset_view(child); 822 const struct user_regset_view *view = task_user_regset_view(child);
810 struct pt_regs __user *pregs = (struct pt_regs __user *) addr;
811 unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4]; 823 unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4];
812 struct fps __user *fps = (struct fps __user *) addr; 824 struct pt_regs __user *pregs;
825 struct fps __user *fps;
813 int ret; 826 int ret;
814 827
828 pregs = (struct pt_regs __user *) (unsigned long) addr;
829 fps = (struct fps __user *) (unsigned long) addr;
830
815 switch (request) { 831 switch (request) {
816 case PTRACE_PEEKUSR: 832 case PTRACE_PEEKUSR:
817 ret = (addr != 0) ? -EIO : 0; 833 ret = (addr != 0) ? -EIO : 0;
diff --git a/arch/sparc64/kernel/setup.c b/arch/sparc64/kernel/setup.c
index d036dbe7286..6acb4c51cfe 100644
--- a/arch/sparc64/kernel/setup.c
+++ b/arch/sparc64/kernel/setup.c
@@ -51,6 +51,8 @@
51#include <net/ipconfig.h> 51#include <net/ipconfig.h>
52#endif 52#endif
53 53
54#include "entry.h"
55
54/* Used to synchronize accesses to NatSemi SUPER I/O chip configure 56/* Used to synchronize accesses to NatSemi SUPER I/O chip configure
55 * operations in asm/ns87303.h 57 * operations in asm/ns87303.h
56 */ 58 */
@@ -335,9 +337,6 @@ void __init setup_arch(char **cmdline_p)
335 337
336/* BUFFER is PAGE_SIZE bytes long. */ 338/* BUFFER is PAGE_SIZE bytes long. */
337 339
338extern char *sparc_cpu_type;
339extern char *sparc_fpu_type;
340
341extern void smp_info(struct seq_file *); 340extern void smp_info(struct seq_file *);
342extern void smp_bogo(struct seq_file *); 341extern void smp_bogo(struct seq_file *);
343extern void mmu_info(struct seq_file *); 342extern void mmu_info(struct seq_file *);
diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c
index fb13775b368..94a9d64208e 100644
--- a/arch/sparc64/kernel/signal.c
+++ b/arch/sparc64/kernel/signal.c
@@ -32,6 +32,9 @@
32#include <asm/siginfo.h> 32#include <asm/siginfo.h>
33#include <asm/visasm.h> 33#include <asm/visasm.h>
34 34
35#include "entry.h"
36#include "systbls.h"
37
35#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) 38#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
36 39
37/* {set, get}context() needed for 64-bit SparcLinux userland. */ 40/* {set, get}context() needed for 64-bit SparcLinux userland. */
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index cc454731d87..59f020d69d4 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -1,6 +1,6 @@
1/* smp.c: Sparc64 SMP support. 1/* smp.c: Sparc64 SMP support.
2 * 2 *
3 * Copyright (C) 1997, 2007 David S. Miller (davem@davemloft.net) 3 * Copyright (C) 1997, 2007, 2008 David S. Miller (davem@davemloft.net)
4 */ 4 */
5 5
6#include <linux/module.h> 6#include <linux/module.h>
@@ -30,6 +30,7 @@
30#include <asm/cpudata.h> 30#include <asm/cpudata.h>
31#include <asm/hvtramp.h> 31#include <asm/hvtramp.h>
32#include <asm/io.h> 32#include <asm/io.h>
33#include <asm/timer.h>
33 34
34#include <asm/irq.h> 35#include <asm/irq.h>
35#include <asm/irq_regs.h> 36#include <asm/irq_regs.h>
@@ -284,14 +285,17 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg)
284{ 285{
285 extern unsigned long sparc64_ttable_tl0; 286 extern unsigned long sparc64_ttable_tl0;
286 extern unsigned long kern_locked_tte_data; 287 extern unsigned long kern_locked_tte_data;
287 extern int bigkernel;
288 struct hvtramp_descr *hdesc; 288 struct hvtramp_descr *hdesc;
289 unsigned long trampoline_ra; 289 unsigned long trampoline_ra;
290 struct trap_per_cpu *tb; 290 struct trap_per_cpu *tb;
291 u64 tte_vaddr, tte_data; 291 u64 tte_vaddr, tte_data;
292 unsigned long hv_err; 292 unsigned long hv_err;
293 int i;
293 294
294 hdesc = kzalloc(sizeof(*hdesc), GFP_KERNEL); 295 hdesc = kzalloc(sizeof(*hdesc) +
296 (sizeof(struct hvtramp_mapping) *
297 num_kernel_image_mappings - 1),
298 GFP_KERNEL);
295 if (!hdesc) { 299 if (!hdesc) {
296 printk(KERN_ERR "ldom_startcpu_cpuid: Cannot allocate " 300 printk(KERN_ERR "ldom_startcpu_cpuid: Cannot allocate "
297 "hvtramp_descr.\n"); 301 "hvtramp_descr.\n");
@@ -299,7 +303,7 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg)
299 } 303 }
300 304
301 hdesc->cpu = cpu; 305 hdesc->cpu = cpu;
302 hdesc->num_mappings = (bigkernel ? 2 : 1); 306 hdesc->num_mappings = num_kernel_image_mappings;
303 307
304 tb = &trap_block[cpu]; 308 tb = &trap_block[cpu];
305 tb->hdesc = hdesc; 309 tb->hdesc = hdesc;
@@ -312,13 +316,11 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg)
312 tte_vaddr = (unsigned long) KERNBASE; 316 tte_vaddr = (unsigned long) KERNBASE;
313 tte_data = kern_locked_tte_data; 317 tte_data = kern_locked_tte_data;
314 318
315 hdesc->maps[0].vaddr = tte_vaddr; 319 for (i = 0; i < hdesc->num_mappings; i++) {
316 hdesc->maps[0].tte = tte_data; 320 hdesc->maps[i].vaddr = tte_vaddr;
317 if (bigkernel) { 321 hdesc->maps[i].tte = tte_data;
318 tte_vaddr += 0x400000; 322 tte_vaddr += 0x400000;
319 tte_data += 0x400000; 323 tte_data += 0x400000;
320 hdesc->maps[1].vaddr = tte_vaddr;
321 hdesc->maps[1].tte = tte_data;
322 } 324 }
323 325
324 trampoline_ra = kimage_addr_to_ra(hv_cpu_startup); 326 trampoline_ra = kimage_addr_to_ra(hv_cpu_startup);
diff --git a/arch/sparc64/kernel/stacktrace.c b/arch/sparc64/kernel/stacktrace.c
index 47f92a59be1..84d39e873e8 100644
--- a/arch/sparc64/kernel/stacktrace.c
+++ b/arch/sparc64/kernel/stacktrace.c
@@ -2,13 +2,15 @@
2#include <linux/stacktrace.h> 2#include <linux/stacktrace.h>
3#include <linux/thread_info.h> 3#include <linux/thread_info.h>
4#include <asm/ptrace.h> 4#include <asm/ptrace.h>
5#include <asm/stacktrace.h>
5 6
6void save_stack_trace(struct stack_trace *trace) 7void save_stack_trace(struct stack_trace *trace)
7{ 8{
8 unsigned long ksp, fp, thread_base; 9 unsigned long ksp, fp, thread_base;
9 struct thread_info *tp = task_thread_info(current); 10 struct thread_info *tp = task_thread_info(current);
10 11
11 flushw_all(); 12 stack_trace_flush();
13
12 __asm__ __volatile__( 14 __asm__ __volatile__(
13 "mov %%fp, %0" 15 "mov %%fp, %0"
14 : "=r" (ksp) 16 : "=r" (ksp)
diff --git a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c
index 134d801579f..f952745d0f3 100644
--- a/arch/sparc64/kernel/sys_sparc.c
+++ b/arch/sparc64/kernel/sys_sparc.c
@@ -1,5 +1,4 @@
1/* $Id: sys_sparc.c,v 1.57 2002/02/09 19:49:30 davem Exp $ 1/* linux/arch/sparc64/kernel/sys_sparc.c
2 * linux/arch/sparc64/kernel/sys_sparc.c
3 * 2 *
4 * This file contains various random system calls that 3 * This file contains various random system calls that
5 * have a non-standard calling sequence on the Linux/sparc 4 * have a non-standard calling sequence on the Linux/sparc
@@ -30,6 +29,9 @@
30#include <asm/perfctr.h> 29#include <asm/perfctr.h>
31#include <asm/unistd.h> 30#include <asm/unistd.h>
32 31
32#include "entry.h"
33#include "systbls.h"
34
33/* #define DEBUG_UNIMP_SYSCALL */ 35/* #define DEBUG_UNIMP_SYSCALL */
34 36
35asmlinkage unsigned long sys_getpagesize(void) 37asmlinkage unsigned long sys_getpagesize(void)
@@ -445,7 +447,8 @@ asmlinkage long sys_ipc(unsigned int call, int first, unsigned long second,
445 goto out; 447 goto out;
446 case SEMTIMEDOP: 448 case SEMTIMEDOP:
447 err = sys_semtimedop(first, ptr, (unsigned)second, 449 err = sys_semtimedop(first, ptr, (unsigned)second,
448 (const struct timespec __user *) fifth); 450 (const struct timespec __user *)
451 (unsigned long) fifth);
449 goto out; 452 goto out;
450 case SEMGET: 453 case SEMGET:
451 err = sys_semget(first, (int)second, (int)third); 454 err = sys_semget(first, (int)second, (int)third);
@@ -788,7 +791,7 @@ asmlinkage long sys_utrap_install(utrap_entry_t type,
788 } else { 791 } else {
789 if ((utrap_handler_t)current_thread_info()->utraps[type] != new_p && 792 if ((utrap_handler_t)current_thread_info()->utraps[type] != new_p &&
790 current_thread_info()->utraps[0] > 1) { 793 current_thread_info()->utraps[0] > 1) {
791 long *p = current_thread_info()->utraps; 794 unsigned long *p = current_thread_info()->utraps;
792 795
793 current_thread_info()->utraps = 796 current_thread_info()->utraps =
794 kmalloc((UT_TRAP_INSTRUCTION_31+1)*sizeof(long), 797 kmalloc((UT_TRAP_INSTRUCTION_31+1)*sizeof(long),
@@ -816,7 +819,8 @@ asmlinkage long sys_utrap_install(utrap_entry_t type,
816 return 0; 819 return 0;
817} 820}
818 821
819long sparc_memory_ordering(unsigned long model, struct pt_regs *regs) 822asmlinkage long sparc_memory_ordering(unsigned long model,
823 struct pt_regs *regs)
820{ 824{
821 if (model >= 3) 825 if (model >= 3)
822 return -EINVAL; 826 return -EINVAL;
diff --git a/arch/sparc64/kernel/sys_sparc32.c b/arch/sparc64/kernel/sys_sparc32.c
index deaba2bd053..2455fa49887 100644
--- a/arch/sparc64/kernel/sys_sparc32.c
+++ b/arch/sparc64/kernel/sys_sparc32.c
@@ -678,9 +678,6 @@ asmlinkage long sparc32_execve(struct pt_regs *regs)
678 current_thread_info()->xfsr[0] = 0; 678 current_thread_info()->xfsr[0] = 0;
679 current_thread_info()->fpsaved[0] = 0; 679 current_thread_info()->fpsaved[0] = 0;
680 regs->tstate &= ~TSTATE_PEF; 680 regs->tstate &= ~TSTATE_PEF;
681 task_lock(current);
682 current->ptrace &= ~PT_DTRACE;
683 task_unlock(current);
684 } 681 }
685out: 682out:
686 return error; 683 return error;
diff --git a/arch/sparc64/kernel/systbls.h b/arch/sparc64/kernel/systbls.h
new file mode 100644
index 00000000000..8a0d20a35d0
--- /dev/null
+++ b/arch/sparc64/kernel/systbls.h
@@ -0,0 +1,53 @@
1#ifndef _SYSTBLS_H
2#define _SYSTBLS_H
3
4#include <linux/kernel.h>
5#include <linux/types.h>
6#include <linux/utsname.h>
7#include <asm/utrap.h>
8#include <asm/signal.h>
9
10extern asmlinkage unsigned long sys_getpagesize(void);
11extern asmlinkage unsigned long sparc_brk(unsigned long brk);
12extern asmlinkage long sparc_pipe(struct pt_regs *regs);
13extern asmlinkage long sys_ipc(unsigned int call, int first,
14 unsigned long second,
15 unsigned long third,
16 void __user *ptr, long fifth);
17extern asmlinkage long sparc64_newuname(struct new_utsname __user *name);
18extern asmlinkage long sparc64_personality(unsigned long personality);
19extern asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len,
20 unsigned long prot, unsigned long flags,
21 unsigned long fd, unsigned long off);
22extern asmlinkage long sys64_munmap(unsigned long addr, size_t len);
23extern asmlinkage unsigned long sys64_mremap(unsigned long addr,
24 unsigned long old_len,
25 unsigned long new_len,
26 unsigned long flags,
27 unsigned long new_addr);
28extern asmlinkage unsigned long c_sys_nis_syscall(struct pt_regs *regs);
29extern asmlinkage long sys_getdomainname(char __user *name, int len);
30extern asmlinkage long solaris_syscall(struct pt_regs *regs);
31extern asmlinkage long sunos_syscall(struct pt_regs *regs);
32extern asmlinkage long sys_utrap_install(utrap_entry_t type,
33 utrap_handler_t new_p,
34 utrap_handler_t new_d,
35 utrap_handler_t __user *old_p,
36 utrap_handler_t __user *old_d);
37extern asmlinkage long sparc_memory_ordering(unsigned long model,
38 struct pt_regs *regs);
39extern asmlinkage long sys_rt_sigaction(int sig,
40 const struct sigaction __user *act,
41 struct sigaction __user *oact,
42 void __user *restorer,
43 size_t sigsetsize);
44extern asmlinkage long sys_perfctr(int opcode, unsigned long arg0,
45 unsigned long arg1, unsigned long arg2);
46
47extern asmlinkage void sparc64_set_context(struct pt_regs *regs);
48extern asmlinkage void sparc64_get_context(struct pt_regs *regs);
49extern asmlinkage long sys_sigpause(unsigned int set);
50extern asmlinkage long sys_sigsuspend(old_sigset_t set);
51extern void do_rt_sigreturn(struct pt_regs *regs);
52
53#endif /* _SYSTBLS_H */
diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c
index d204f1ab1d4..e5d238970c7 100644
--- a/arch/sparc64/kernel/time.c
+++ b/arch/sparc64/kernel/time.c
@@ -1,7 +1,6 @@
1/* $Id: time.c,v 1.42 2002/01/23 14:33:55 davem Exp $ 1/* time.c: UltraSparc timer and TOD clock support.
2 * time.c: UltraSparc timer and TOD clock support.
3 * 2 *
4 * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) 3 * Copyright (C) 1997, 2008 David S. Miller (davem@davemloft.net)
5 * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be) 4 * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be)
6 * 5 *
7 * Based largely on code which is: 6 * Based largely on code which is:
@@ -48,6 +47,8 @@
48#include <asm/uaccess.h> 47#include <asm/uaccess.h>
49#include <asm/irq_regs.h> 48#include <asm/irq_regs.h>
50 49
50#include "entry.h"
51
51DEFINE_SPINLOCK(mostek_lock); 52DEFINE_SPINLOCK(mostek_lock);
52DEFINE_SPINLOCK(rtc_lock); 53DEFINE_SPINLOCK(rtc_lock);
53void __iomem *mstk48t02_regs = NULL; 54void __iomem *mstk48t02_regs = NULL;
@@ -508,6 +509,37 @@ static int __init has_low_battery(void)
508 return (data1 == data2); /* Was the write blocked? */ 509 return (data1 == data2); /* Was the write blocked? */
509} 510}
510 511
512static void __init mostek_set_system_time(void __iomem *mregs)
513{
514 unsigned int year, mon, day, hour, min, sec;
515 u8 tmp;
516
517 spin_lock_irq(&mostek_lock);
518
519 /* Traditional Mostek chip. */
520 tmp = mostek_read(mregs + MOSTEK_CREG);
521 tmp |= MSTK_CREG_READ;
522 mostek_write(mregs + MOSTEK_CREG, tmp);
523
524 sec = MSTK_REG_SEC(mregs);
525 min = MSTK_REG_MIN(mregs);
526 hour = MSTK_REG_HOUR(mregs);
527 day = MSTK_REG_DOM(mregs);
528 mon = MSTK_REG_MONTH(mregs);
529 year = MSTK_CVT_YEAR( MSTK_REG_YEAR(mregs) );
530
531 xtime.tv_sec = mktime(year, mon, day, hour, min, sec);
532 xtime.tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ);
533 set_normalized_timespec(&wall_to_monotonic,
534 -xtime.tv_sec, -xtime.tv_nsec);
535
536 tmp = mostek_read(mregs + MOSTEK_CREG);
537 tmp &= ~MSTK_CREG_READ;
538 mostek_write(mregs + MOSTEK_CREG, tmp);
539
540 spin_unlock_irq(&mostek_lock);
541}
542
511/* Probe for the real time clock chip. */ 543/* Probe for the real time clock chip. */
512static void __init set_system_time(void) 544static void __init set_system_time(void)
513{ 545{
@@ -520,7 +552,6 @@ static void __init set_system_time(void)
520 unsigned long dregs = 0UL; 552 unsigned long dregs = 0UL;
521 void __iomem *bregs = 0UL; 553 void __iomem *bregs = 0UL;
522#endif 554#endif
523 u8 tmp;
524 555
525 if (!mregs && !dregs && !bregs) { 556 if (!mregs && !dregs && !bregs) {
526 prom_printf("Something wrong, clock regs not mapped yet.\n"); 557 prom_printf("Something wrong, clock regs not mapped yet.\n");
@@ -528,20 +559,11 @@ static void __init set_system_time(void)
528 } 559 }
529 560
530 if (mregs) { 561 if (mregs) {
531 spin_lock_irq(&mostek_lock); 562 mostek_set_system_time(mregs);
532 563 return;
533 /* Traditional Mostek chip. */ 564 }
534 tmp = mostek_read(mregs + MOSTEK_CREG);
535 tmp |= MSTK_CREG_READ;
536 mostek_write(mregs + MOSTEK_CREG, tmp);
537 565
538 sec = MSTK_REG_SEC(mregs); 566 if (bregs) {
539 min = MSTK_REG_MIN(mregs);
540 hour = MSTK_REG_HOUR(mregs);
541 day = MSTK_REG_DOM(mregs);
542 mon = MSTK_REG_MONTH(mregs);
543 year = MSTK_CVT_YEAR( MSTK_REG_YEAR(mregs) );
544 } else if (bregs) {
545 unsigned char val = readb(bregs + 0x0e); 567 unsigned char val = readb(bregs + 0x0e);
546 unsigned int century; 568 unsigned int century;
547 569
@@ -596,14 +618,6 @@ static void __init set_system_time(void)
596 xtime.tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ); 618 xtime.tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ);
597 set_normalized_timespec(&wall_to_monotonic, 619 set_normalized_timespec(&wall_to_monotonic,
598 -xtime.tv_sec, -xtime.tv_nsec); 620 -xtime.tv_sec, -xtime.tv_nsec);
599
600 if (mregs) {
601 tmp = mostek_read(mregs + MOSTEK_CREG);
602 tmp &= ~MSTK_CREG_READ;
603 mostek_write(mregs + MOSTEK_CREG, tmp);
604
605 spin_unlock_irq(&mostek_lock);
606 }
607} 621}
608 622
609/* davem suggests we keep this within the 4M locked kernel image */ 623/* davem suggests we keep this within the 4M locked kernel image */
@@ -1027,7 +1041,7 @@ void __init time_init(void)
1027 setup_clockevent_multiplier(clock); 1041 setup_clockevent_multiplier(clock);
1028 1042
1029 sparc64_clockevent.max_delta_ns = 1043 sparc64_clockevent.max_delta_ns =
1030 clockevent_delta2ns(0x7fffffffffffffff, &sparc64_clockevent); 1044 clockevent_delta2ns(0x7fffffffffffffffUL, &sparc64_clockevent);
1031 sparc64_clockevent.min_delta_ns = 1045 sparc64_clockevent.min_delta_ns =
1032 clockevent_delta2ns(0xF, &sparc64_clockevent); 1046 clockevent_delta2ns(0xF, &sparc64_clockevent);
1033 1047
diff --git a/arch/sparc64/kernel/trampoline.S b/arch/sparc64/kernel/trampoline.S
index 4ae2e525d68..56ff5521134 100644
--- a/arch/sparc64/kernel/trampoline.S
+++ b/arch/sparc64/kernel/trampoline.S
@@ -105,7 +105,7 @@ startup_continue:
105 wr %g2, 0, %tick_cmpr 105 wr %g2, 0, %tick_cmpr
106 106
107 /* Call OBP by hand to lock KERNBASE into i/d tlbs. 107 /* Call OBP by hand to lock KERNBASE into i/d tlbs.
108 * We lock 2 consequetive entries if we are 'bigkernel'. 108 * We lock 'num_kernel_image_mappings' consequetive entries.
109 */ 109 */
110 sethi %hi(prom_entry_lock), %g2 110 sethi %hi(prom_entry_lock), %g2
1111: ldstub [%g2 + %lo(prom_entry_lock)], %g1 1111: ldstub [%g2 + %lo(prom_entry_lock)], %g1
@@ -119,6 +119,29 @@ startup_continue:
119 add %l2, -(192 + 128), %sp 119 add %l2, -(192 + 128), %sp
120 flushw 120 flushw
121 121
122 /* Setup the loop variables:
123 * %l3: VADDR base
124 * %l4: TTE base
125 * %l5: Loop iterator, iterates from 0 to 'num_kernel_image_mappings'
126 * %l6: Number of TTE entries to map
127 * %l7: Highest TTE entry number, we count down
128 */
129 sethi %hi(KERNBASE), %l3
130 sethi %hi(kern_locked_tte_data), %l4
131 ldx [%l4 + %lo(kern_locked_tte_data)], %l4
132 clr %l5
133 sethi %hi(num_kernel_image_mappings), %l6
134 lduw [%l6 + %lo(num_kernel_image_mappings)], %l6
135 add %l6, 1, %l6
136
137 mov 15, %l7
138 BRANCH_IF_ANY_CHEETAH(g1,g5,2f)
139
140 mov 63, %l7
1412:
142
1433:
144 /* Lock into I-MMU */
122 sethi %hi(call_method), %g2 145 sethi %hi(call_method), %g2
123 or %g2, %lo(call_method), %g2 146 or %g2, %lo(call_method), %g2
124 stx %g2, [%sp + 2047 + 128 + 0x00] 147 stx %g2, [%sp + 2047 + 128 + 0x00]
@@ -132,63 +155,26 @@ startup_continue:
132 sethi %hi(prom_mmu_ihandle_cache), %g2 155 sethi %hi(prom_mmu_ihandle_cache), %g2
133 lduw [%g2 + %lo(prom_mmu_ihandle_cache)], %g2 156 lduw [%g2 + %lo(prom_mmu_ihandle_cache)], %g2
134 stx %g2, [%sp + 2047 + 128 + 0x20] 157 stx %g2, [%sp + 2047 + 128 + 0x20]
135 sethi %hi(KERNBASE), %g2
136 stx %g2, [%sp + 2047 + 128 + 0x28]
137 sethi %hi(kern_locked_tte_data), %g2
138 ldx [%g2 + %lo(kern_locked_tte_data)], %g2
139 stx %g2, [%sp + 2047 + 128 + 0x30]
140
141 mov 15, %g2
142 BRANCH_IF_ANY_CHEETAH(g1,g5,1f)
143 158
144 mov 63, %g2 159 /* Each TTE maps 4MB, convert index to offset. */
1451: 160 sllx %l5, 22, %g1
146 stx %g2, [%sp + 2047 + 128 + 0x38]
147 sethi %hi(p1275buf), %g2
148 or %g2, %lo(p1275buf), %g2
149 ldx [%g2 + 0x08], %o1
150 call %o1
151 add %sp, (2047 + 128), %o0
152 161
153 sethi %hi(bigkernel), %g2 162 add %l3, %g1, %g2
154 lduw [%g2 + %lo(bigkernel)], %g2 163 stx %g2, [%sp + 2047 + 128 + 0x28] ! VADDR
155 brz,pt %g2, do_dtlb 164 add %l4, %g1, %g2
156 nop 165 stx %g2, [%sp + 2047 + 128 + 0x30] ! TTE
157 166
158 sethi %hi(call_method), %g2 167 /* TTE index is highest minus loop index. */
159 or %g2, %lo(call_method), %g2 168 sub %l7, %l5, %g2
160 stx %g2, [%sp + 2047 + 128 + 0x00]
161 mov 5, %g2
162 stx %g2, [%sp + 2047 + 128 + 0x08]
163 mov 1, %g2
164 stx %g2, [%sp + 2047 + 128 + 0x10]
165 sethi %hi(itlb_load), %g2
166 or %g2, %lo(itlb_load), %g2
167 stx %g2, [%sp + 2047 + 128 + 0x18]
168 sethi %hi(prom_mmu_ihandle_cache), %g2
169 lduw [%g2 + %lo(prom_mmu_ihandle_cache)], %g2
170 stx %g2, [%sp + 2047 + 128 + 0x20]
171 sethi %hi(KERNBASE + 0x400000), %g2
172 stx %g2, [%sp + 2047 + 128 + 0x28]
173 sethi %hi(kern_locked_tte_data), %g2
174 ldx [%g2 + %lo(kern_locked_tte_data)], %g2
175 sethi %hi(0x400000), %g1
176 add %g2, %g1, %g2
177 stx %g2, [%sp + 2047 + 128 + 0x30]
178
179 mov 14, %g2
180 BRANCH_IF_ANY_CHEETAH(g1,g5,1f)
181
182 mov 62, %g2
1831:
184 stx %g2, [%sp + 2047 + 128 + 0x38] 169 stx %g2, [%sp + 2047 + 128 + 0x38]
170
185 sethi %hi(p1275buf), %g2 171 sethi %hi(p1275buf), %g2
186 or %g2, %lo(p1275buf), %g2 172 or %g2, %lo(p1275buf), %g2
187 ldx [%g2 + 0x08], %o1 173 ldx [%g2 + 0x08], %o1
188 call %o1 174 call %o1
189 add %sp, (2047 + 128), %o0 175 add %sp, (2047 + 128), %o0
190 176
191do_dtlb: 177 /* Lock into D-MMU */
192 sethi %hi(call_method), %g2 178 sethi %hi(call_method), %g2
193 or %g2, %lo(call_method), %g2 179 or %g2, %lo(call_method), %g2
194 stx %g2, [%sp + 2047 + 128 + 0x00] 180 stx %g2, [%sp + 2047 + 128 + 0x00]
@@ -202,65 +188,30 @@ do_dtlb:
202 sethi %hi(prom_mmu_ihandle_cache), %g2 188 sethi %hi(prom_mmu_ihandle_cache), %g2
203 lduw [%g2 + %lo(prom_mmu_ihandle_cache)], %g2 189 lduw [%g2 + %lo(prom_mmu_ihandle_cache)], %g2
204 stx %g2, [%sp + 2047 + 128 + 0x20] 190 stx %g2, [%sp + 2047 + 128 + 0x20]
205 sethi %hi(KERNBASE), %g2
206 stx %g2, [%sp + 2047 + 128 + 0x28]
207 sethi %hi(kern_locked_tte_data), %g2
208 ldx [%g2 + %lo(kern_locked_tte_data)], %g2
209 stx %g2, [%sp + 2047 + 128 + 0x30]
210 191
211 mov 15, %g2 192 /* Each TTE maps 4MB, convert index to offset. */
212 BRANCH_IF_ANY_CHEETAH(g1,g5,1f) 193 sllx %l5, 22, %g1
213 194
214 mov 63, %g2 195 add %l3, %g1, %g2
2151: 196 stx %g2, [%sp + 2047 + 128 + 0x28] ! VADDR
197 add %l4, %g1, %g2
198 stx %g2, [%sp + 2047 + 128 + 0x30] ! TTE
216 199
200 /* TTE index is highest minus loop index. */
201 sub %l7, %l5, %g2
217 stx %g2, [%sp + 2047 + 128 + 0x38] 202 stx %g2, [%sp + 2047 + 128 + 0x38]
203
218 sethi %hi(p1275buf), %g2 204 sethi %hi(p1275buf), %g2
219 or %g2, %lo(p1275buf), %g2 205 or %g2, %lo(p1275buf), %g2
220 ldx [%g2 + 0x08], %o1 206 ldx [%g2 + 0x08], %o1
221 call %o1 207 call %o1
222 add %sp, (2047 + 128), %o0 208 add %sp, (2047 + 128), %o0
223 209
224 sethi %hi(bigkernel), %g2 210 add %l5, 1, %l5
225 lduw [%g2 + %lo(bigkernel)], %g2 211 cmp %l5, %l6
226 brz,pt %g2, do_unlock 212 bne,pt %xcc, 3b
227 nop 213 nop
228 214
229 sethi %hi(call_method), %g2
230 or %g2, %lo(call_method), %g2
231 stx %g2, [%sp + 2047 + 128 + 0x00]
232 mov 5, %g2
233 stx %g2, [%sp + 2047 + 128 + 0x08]
234 mov 1, %g2
235 stx %g2, [%sp + 2047 + 128 + 0x10]
236 sethi %hi(dtlb_load), %g2
237 or %g2, %lo(dtlb_load), %g2
238 stx %g2, [%sp + 2047 + 128 + 0x18]
239 sethi %hi(prom_mmu_ihandle_cache), %g2
240 lduw [%g2 + %lo(prom_mmu_ihandle_cache)], %g2
241 stx %g2, [%sp + 2047 + 128 + 0x20]
242 sethi %hi(KERNBASE + 0x400000), %g2
243 stx %g2, [%sp + 2047 + 128 + 0x28]
244 sethi %hi(kern_locked_tte_data), %g2
245 ldx [%g2 + %lo(kern_locked_tte_data)], %g2
246 sethi %hi(0x400000), %g1
247 add %g2, %g1, %g2
248 stx %g2, [%sp + 2047 + 128 + 0x30]
249
250 mov 14, %g2
251 BRANCH_IF_ANY_CHEETAH(g1,g5,1f)
252
253 mov 62, %g2
2541:
255
256 stx %g2, [%sp + 2047 + 128 + 0x38]
257 sethi %hi(p1275buf), %g2
258 or %g2, %lo(p1275buf), %g2
259 ldx [%g2 + 0x08], %o1
260 call %o1
261 add %sp, (2047 + 128), %o0
262
263do_unlock:
264 sethi %hi(prom_entry_lock), %g2 215 sethi %hi(prom_entry_lock), %g2
265 stb %g0, [%g2 + %lo(prom_entry_lock)] 216 stb %g0, [%g2 + %lo(prom_entry_lock)]
266 membar #StoreStore | #StoreLoad 217 membar #StoreStore | #StoreLoad
@@ -269,47 +220,36 @@ do_unlock:
269 nop 220 nop
270 221
271niagara_lock_tlb: 222niagara_lock_tlb:
223 sethi %hi(KERNBASE), %l3
224 sethi %hi(kern_locked_tte_data), %l4
225 ldx [%l4 + %lo(kern_locked_tte_data)], %l4
226 clr %l5
227 sethi %hi(num_kernel_image_mappings), %l6
228 lduw [%l6 + %lo(num_kernel_image_mappings)], %l6
229 add %l6, 1, %l6
230
2311:
272 mov HV_FAST_MMU_MAP_PERM_ADDR, %o5 232 mov HV_FAST_MMU_MAP_PERM_ADDR, %o5
273 sethi %hi(KERNBASE), %o0 233 sllx %l5, 22, %g2
234 add %l3, %g2, %o0
274 clr %o1 235 clr %o1
275 sethi %hi(kern_locked_tte_data), %o2 236 add %l4, %g2, %o2
276 ldx [%o2 + %lo(kern_locked_tte_data)], %o2
277 mov HV_MMU_IMMU, %o3 237 mov HV_MMU_IMMU, %o3
278 ta HV_FAST_TRAP 238 ta HV_FAST_TRAP
279 239
280 mov HV_FAST_MMU_MAP_PERM_ADDR, %o5 240 mov HV_FAST_MMU_MAP_PERM_ADDR, %o5
281 sethi %hi(KERNBASE), %o0 241 sllx %l5, 22, %g2
242 add %l3, %g2, %o0
282 clr %o1 243 clr %o1
283 sethi %hi(kern_locked_tte_data), %o2 244 add %l4, %g2, %o2
284 ldx [%o2 + %lo(kern_locked_tte_data)], %o2
285 mov HV_MMU_DMMU, %o3 245 mov HV_MMU_DMMU, %o3
286 ta HV_FAST_TRAP 246 ta HV_FAST_TRAP
287 247
288 sethi %hi(bigkernel), %g2 248 add %l5, 1, %l5
289 lduw [%g2 + %lo(bigkernel)], %g2 249 cmp %l5, %l6
290 brz,pt %g2, after_lock_tlb 250 bne,pt %xcc, 1b
291 nop 251 nop
292 252
293 mov HV_FAST_MMU_MAP_PERM_ADDR, %o5
294 sethi %hi(KERNBASE + 0x400000), %o0
295 clr %o1
296 sethi %hi(kern_locked_tte_data), %o2
297 ldx [%o2 + %lo(kern_locked_tte_data)], %o2
298 sethi %hi(0x400000), %o3
299 add %o2, %o3, %o2
300 mov HV_MMU_IMMU, %o3
301 ta HV_FAST_TRAP
302
303 mov HV_FAST_MMU_MAP_PERM_ADDR, %o5
304 sethi %hi(KERNBASE + 0x400000), %o0
305 clr %o1
306 sethi %hi(kern_locked_tte_data), %o2
307 ldx [%o2 + %lo(kern_locked_tte_data)], %o2
308 sethi %hi(0x400000), %o3
309 add %o2, %o3, %o2
310 mov HV_MMU_DMMU, %o3
311 ta HV_FAST_TRAP
312
313after_lock_tlb: 253after_lock_tlb:
314 wrpr %g0, (PSTATE_PRIV | PSTATE_PEF), %pstate 254 wrpr %g0, (PSTATE_PRIV | PSTATE_PEF), %pstate
315 wr %g0, 0, %fprs 255 wr %g0, 0, %fprs
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c
index 007f5317c0d..96da847023f 100644
--- a/arch/sparc64/kernel/traps.c
+++ b/arch/sparc64/kernel/traps.c
@@ -42,6 +42,7 @@
42#endif 42#endif
43#include <asm/prom.h> 43#include <asm/prom.h>
44 44
45#include "entry.h"
45 46
46/* When an irrecoverable trap occurs at tl > 0, the trap entry 47/* When an irrecoverable trap occurs at tl > 0, the trap entry
47 * code logs the trap state registers at every level in the trap 48 * code logs the trap state registers at every level in the trap
@@ -77,11 +78,6 @@ static void dump_tl1_traplog(struct tl1_traplog *p)
77 } 78 }
78} 79}
79 80
80void do_call_debug(struct pt_regs *regs)
81{
82 notify_die(DIE_CALL, "debug call", regs, 0, 255, SIGINT);
83}
84
85void bad_trap(struct pt_regs *regs, long lvl) 81void bad_trap(struct pt_regs *regs, long lvl)
86{ 82{
87 char buffer[32]; 83 char buffer[32];
@@ -550,41 +546,6 @@ static unsigned long ecache_flush_physbase;
550static unsigned long ecache_flush_linesize; 546static unsigned long ecache_flush_linesize;
551static unsigned long ecache_flush_size; 547static unsigned long ecache_flush_size;
552 548
553/* WARNING: The error trap handlers in assembly know the precise
554 * layout of the following structure.
555 *
556 * C-level handlers below use this information to log the error
557 * and then determine how to recover (if possible).
558 */
559struct cheetah_err_info {
560/*0x00*/u64 afsr;
561/*0x08*/u64 afar;
562
563 /* D-cache state */
564/*0x10*/u64 dcache_data[4]; /* The actual data */
565/*0x30*/u64 dcache_index; /* D-cache index */
566/*0x38*/u64 dcache_tag; /* D-cache tag/valid */
567/*0x40*/u64 dcache_utag; /* D-cache microtag */
568/*0x48*/u64 dcache_stag; /* D-cache snooptag */
569
570 /* I-cache state */
571/*0x50*/u64 icache_data[8]; /* The actual insns + predecode */
572/*0x90*/u64 icache_index; /* I-cache index */
573/*0x98*/u64 icache_tag; /* I-cache phys tag */
574/*0xa0*/u64 icache_utag; /* I-cache microtag */
575/*0xa8*/u64 icache_stag; /* I-cache snooptag */
576/*0xb0*/u64 icache_upper; /* I-cache upper-tag */
577/*0xb8*/u64 icache_lower; /* I-cache lower-tag */
578
579 /* E-cache state */
580/*0xc0*/u64 ecache_data[4]; /* 32 bytes from staging registers */
581/*0xe0*/u64 ecache_index; /* E-cache index */
582/*0xe8*/u64 ecache_tag; /* E-cache tag/state */
583
584/*0xf0*/u64 __pad[32 - 30];
585};
586#define CHAFSR_INVALID ((u64)-1L)
587
588/* This table is ordered in priority of errors and matches the 549/* This table is ordered in priority of errors and matches the
589 * AFAR overwrite policy as well. 550 * AFAR overwrite policy as well.
590 */ 551 */
@@ -758,10 +719,6 @@ static struct afsr_error_table __jalapeno_error_table[] = {
758static struct afsr_error_table *cheetah_error_table; 719static struct afsr_error_table *cheetah_error_table;
759static unsigned long cheetah_afsr_errors; 720static unsigned long cheetah_afsr_errors;
760 721
761/* This is allocated at boot time based upon the largest hardware
762 * cpu ID in the system. We allocate two entries per cpu, one for
763 * TL==0 logging and one for TL >= 1 logging.
764 */
765struct cheetah_err_info *cheetah_error_log; 722struct cheetah_err_info *cheetah_error_log;
766 723
767static inline struct cheetah_err_info *cheetah_get_error_log(unsigned long afsr) 724static inline struct cheetah_err_info *cheetah_get_error_log(unsigned long afsr)
@@ -2102,7 +2059,7 @@ void do_div0(struct pt_regs *regs)
2102 force_sig_info(SIGFPE, &info, current); 2059 force_sig_info(SIGFPE, &info, current);
2103} 2060}
2104 2061
2105void instruction_dump (unsigned int *pc) 2062static void instruction_dump(unsigned int *pc)
2106{ 2063{
2107 int i; 2064 int i;
2108 2065
@@ -2115,7 +2072,7 @@ void instruction_dump (unsigned int *pc)
2115 printk("\n"); 2072 printk("\n");
2116} 2073}
2117 2074
2118static void user_instruction_dump (unsigned int __user *pc) 2075static void user_instruction_dump(unsigned int __user *pc)
2119{ 2076{
2120 int i; 2077 int i;
2121 unsigned int buf[9]; 2078 unsigned int buf[9];
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index b5c30416fda..f37078d9640 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -46,6 +46,7 @@
46#include <asm/prom.h> 46#include <asm/prom.h>
47#include <asm/sstate.h> 47#include <asm/sstate.h>
48#include <asm/mdesc.h> 48#include <asm/mdesc.h>
49#include <asm/cpudata.h>
49 50
50#define MAX_PHYS_ADDRESS (1UL << 42UL) 51#define MAX_PHYS_ADDRESS (1UL << 42UL)
51#define KPTE_BITMAP_CHUNK_SZ (256UL * 1024UL * 1024UL) 52#define KPTE_BITMAP_CHUNK_SZ (256UL * 1024UL * 1024UL)
@@ -166,7 +167,7 @@ unsigned long sparc64_kern_pri_context __read_mostly;
166unsigned long sparc64_kern_pri_nuc_bits __read_mostly; 167unsigned long sparc64_kern_pri_nuc_bits __read_mostly;
167unsigned long sparc64_kern_sec_context __read_mostly; 168unsigned long sparc64_kern_sec_context __read_mostly;
168 169
169int bigkernel = 0; 170int num_kernel_image_mappings;
170 171
171#ifdef CONFIG_DEBUG_DCFLUSH 172#ifdef CONFIG_DEBUG_DCFLUSH
172atomic_t dcpage_flushes = ATOMIC_INIT(0); 173atomic_t dcpage_flushes = ATOMIC_INIT(0);
@@ -572,7 +573,7 @@ static unsigned long kern_large_tte(unsigned long paddr);
572static void __init remap_kernel(void) 573static void __init remap_kernel(void)
573{ 574{
574 unsigned long phys_page, tte_vaddr, tte_data; 575 unsigned long phys_page, tte_vaddr, tte_data;
575 int tlb_ent = sparc64_highest_locked_tlbent(); 576 int i, tlb_ent = sparc64_highest_locked_tlbent();
576 577
577 tte_vaddr = (unsigned long) KERNBASE; 578 tte_vaddr = (unsigned long) KERNBASE;
578 phys_page = (prom_boot_mapping_phys_low >> 22UL) << 22UL; 579 phys_page = (prom_boot_mapping_phys_low >> 22UL) << 22UL;
@@ -582,27 +583,20 @@ static void __init remap_kernel(void)
582 583
583 /* Now lock us into the TLBs via Hypervisor or OBP. */ 584 /* Now lock us into the TLBs via Hypervisor or OBP. */
584 if (tlb_type == hypervisor) { 585 if (tlb_type == hypervisor) {
585 hypervisor_tlb_lock(tte_vaddr, tte_data, HV_MMU_DMMU); 586 for (i = 0; i < num_kernel_image_mappings; i++) {
586 hypervisor_tlb_lock(tte_vaddr, tte_data, HV_MMU_IMMU);
587 if (bigkernel) {
588 tte_vaddr += 0x400000;
589 tte_data += 0x400000;
590 hypervisor_tlb_lock(tte_vaddr, tte_data, HV_MMU_DMMU); 587 hypervisor_tlb_lock(tte_vaddr, tte_data, HV_MMU_DMMU);
591 hypervisor_tlb_lock(tte_vaddr, tte_data, HV_MMU_IMMU); 588 hypervisor_tlb_lock(tte_vaddr, tte_data, HV_MMU_IMMU);
589 tte_vaddr += 0x400000;
590 tte_data += 0x400000;
592 } 591 }
593 } else { 592 } else {
594 prom_dtlb_load(tlb_ent, tte_data, tte_vaddr); 593 for (i = 0; i < num_kernel_image_mappings; i++) {
595 prom_itlb_load(tlb_ent, tte_data, tte_vaddr); 594 prom_dtlb_load(tlb_ent - i, tte_data, tte_vaddr);
596 if (bigkernel) { 595 prom_itlb_load(tlb_ent - i, tte_data, tte_vaddr);
597 tlb_ent -= 1; 596 tte_vaddr += 0x400000;
598 prom_dtlb_load(tlb_ent, 597 tte_data += 0x400000;
599 tte_data + 0x400000,
600 tte_vaddr + 0x400000);
601 prom_itlb_load(tlb_ent,
602 tte_data + 0x400000,
603 tte_vaddr + 0x400000);
604 } 598 }
605 sparc64_highest_unlocked_tlb_ent = tlb_ent - 1; 599 sparc64_highest_unlocked_tlb_ent = tlb_ent - i;
606 } 600 }
607 if (tlb_type == cheetah_plus) { 601 if (tlb_type == cheetah_plus) {
608 sparc64_kern_pri_context = (CTX_CHEETAH_PLUS_CTX0 | 602 sparc64_kern_pri_context = (CTX_CHEETAH_PLUS_CTX0 |
@@ -1280,10 +1274,6 @@ void __cpuinit sun4v_ktsb_register(void)
1280 1274
1281/* paging_init() sets up the page tables */ 1275/* paging_init() sets up the page tables */
1282 1276
1283extern void cheetah_ecache_flush_init(void);
1284extern void sun4v_patch_tlb_handlers(void);
1285
1286extern void cpu_probe(void);
1287extern void central_probe(void); 1277extern void central_probe(void);
1288 1278
1289static unsigned long last_valid_pfn; 1279static unsigned long last_valid_pfn;
@@ -1352,12 +1342,9 @@ void __init paging_init(void)
1352 shift = kern_base + PAGE_OFFSET - ((unsigned long)KERNBASE); 1342 shift = kern_base + PAGE_OFFSET - ((unsigned long)KERNBASE);
1353 1343
1354 real_end = (unsigned long)_end; 1344 real_end = (unsigned long)_end;
1355 if ((real_end > ((unsigned long)KERNBASE + 0x400000))) 1345 num_kernel_image_mappings = DIV_ROUND_UP(real_end - KERNBASE, 1 << 22);
1356 bigkernel = 1; 1346 printk("Kernel: Using %d locked TLB entries for main kernel image.\n",
1357 if ((real_end > ((unsigned long)KERNBASE + 0x800000))) { 1347 num_kernel_image_mappings);
1358 prom_printf("paging_init: Kernel > 8MB, too large.\n");
1359 prom_halt();
1360 }
1361 1348
1362 /* Set kernel pgd to upper alias so physical page computations 1349 /* Set kernel pgd to upper alias so physical page computations
1363 * work. 1350 * work.
diff --git a/arch/sparc64/mm/tlb.c b/arch/sparc64/mm/tlb.c
index 3f10fc921b0..ae24919cba7 100644
--- a/arch/sparc64/mm/tlb.c
+++ b/arch/sparc64/mm/tlb.c
@@ -23,9 +23,7 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers) = { 0, };
23 23
24void flush_tlb_pending(void) 24void flush_tlb_pending(void)
25{ 25{
26 struct mmu_gather *mp = &__get_cpu_var(mmu_gathers); 26 struct mmu_gather *mp = &get_cpu_var(mmu_gathers);
27
28 preempt_disable();
29 27
30 if (mp->tlb_nr) { 28 if (mp->tlb_nr) {
31 flush_tsb_user(mp); 29 flush_tsb_user(mp);
@@ -42,7 +40,7 @@ void flush_tlb_pending(void)
42 mp->tlb_nr = 0; 40 mp->tlb_nr = 0;
43 } 41 }
44 42
45 preempt_enable(); 43 put_cpu_var(mmu_gathers);
46} 44}
47 45
48void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig) 46void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig)
diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
index 608152a2a05..00df126169b 100644
--- a/arch/x86/kernel/aperture_64.c
+++ b/arch/x86/kernel/aperture_64.c
@@ -18,6 +18,7 @@
18#include <linux/pci.h> 18#include <linux/pci.h>
19#include <linux/bitops.h> 19#include <linux/bitops.h>
20#include <linux/ioport.h> 20#include <linux/ioport.h>
21#include <linux/suspend.h>
21#include <asm/e820.h> 22#include <asm/e820.h>
22#include <asm/io.h> 23#include <asm/io.h>
23#include <asm/gart.h> 24#include <asm/gart.h>
@@ -76,6 +77,8 @@ static u32 __init allocate_aperture(void)
76 printk(KERN_INFO "Mapping aperture over %d KB of RAM @ %lx\n", 77 printk(KERN_INFO "Mapping aperture over %d KB of RAM @ %lx\n",
77 aper_size >> 10, __pa(p)); 78 aper_size >> 10, __pa(p));
78 insert_aperture_resource((u32)__pa(p), aper_size); 79 insert_aperture_resource((u32)__pa(p), aper_size);
80 register_nosave_region((u32)__pa(p) >> PAGE_SHIFT,
81 (u32)__pa(p+aper_size) >> PAGE_SHIFT);
79 82
80 return (u32)__pa(p); 83 return (u32)__pa(p);
81} 84}
diff --git a/arch/x86/kernel/cpu/cpufreq/speedstep-smi.c b/arch/x86/kernel/cpu/cpufreq/speedstep-smi.c
index f2b5a621d27..8a85c93bd62 100644
--- a/arch/x86/kernel/cpu/cpufreq/speedstep-smi.c
+++ b/arch/x86/kernel/cpu/cpufreq/speedstep-smi.c
@@ -63,7 +63,7 @@ static struct cpufreq_frequency_table speedstep_freqs[] = {
63 */ 63 */
64static int speedstep_smi_ownership (void) 64static int speedstep_smi_ownership (void)
65{ 65{
66 u32 command, result, magic; 66 u32 command, result, magic, dummy;
67 u32 function = GET_SPEEDSTEP_OWNER; 67 u32 function = GET_SPEEDSTEP_OWNER;
68 unsigned char magic_data[] = "Copyright (c) 1999 Intel Corporation"; 68 unsigned char magic_data[] = "Copyright (c) 1999 Intel Corporation";
69 69
@@ -73,8 +73,11 @@ static int speedstep_smi_ownership (void)
73 dprintk("trying to obtain ownership with command %x at port %x\n", command, smi_port); 73 dprintk("trying to obtain ownership with command %x at port %x\n", command, smi_port);
74 74
75 __asm__ __volatile__( 75 __asm__ __volatile__(
76 "push %%ebp\n"
76 "out %%al, (%%dx)\n" 77 "out %%al, (%%dx)\n"
77 : "=D" (result) 78 "pop %%ebp\n"
79 : "=D" (result), "=a" (dummy), "=b" (dummy), "=c" (dummy), "=d" (dummy),
80 "=S" (dummy)
78 : "a" (command), "b" (function), "c" (0), "d" (smi_port), 81 : "a" (command), "b" (function), "c" (0), "d" (smi_port),
79 "D" (0), "S" (magic) 82 "D" (0), "S" (magic)
80 : "memory" 83 : "memory"
@@ -96,7 +99,7 @@ static int speedstep_smi_ownership (void)
96 */ 99 */
97static int speedstep_smi_get_freqs (unsigned int *low, unsigned int *high) 100static int speedstep_smi_get_freqs (unsigned int *low, unsigned int *high)
98{ 101{
99 u32 command, result = 0, edi, high_mhz, low_mhz; 102 u32 command, result = 0, edi, high_mhz, low_mhz, dummy;
100 u32 state=0; 103 u32 state=0;
101 u32 function = GET_SPEEDSTEP_FREQS; 104 u32 function = GET_SPEEDSTEP_FREQS;
102 105
@@ -109,10 +112,12 @@ static int speedstep_smi_get_freqs (unsigned int *low, unsigned int *high)
109 112
110 dprintk("trying to determine frequencies with command %x at port %x\n", command, smi_port); 113 dprintk("trying to determine frequencies with command %x at port %x\n", command, smi_port);
111 114
112 __asm__ __volatile__("movl $0, %%edi\n" 115 __asm__ __volatile__(
116 "push %%ebp\n"
113 "out %%al, (%%dx)\n" 117 "out %%al, (%%dx)\n"
114 : "=a" (result), "=b" (high_mhz), "=c" (low_mhz), "=d" (state), "=D" (edi) 118 "pop %%ebp"
115 : "a" (command), "b" (function), "c" (state), "d" (smi_port), "S" (0) 119 : "=a" (result), "=b" (high_mhz), "=c" (low_mhz), "=d" (state), "=D" (edi), "=S" (dummy)
120 : "a" (command), "b" (function), "c" (state), "d" (smi_port), "S" (0), "D" (0)
116 ); 121 );
117 122
118 dprintk("result %x, low_freq %u, high_freq %u\n", result, low_mhz, high_mhz); 123 dprintk("result %x, low_freq %u, high_freq %u\n", result, low_mhz, high_mhz);
@@ -135,16 +140,18 @@ static int speedstep_smi_get_freqs (unsigned int *low, unsigned int *high)
135static int speedstep_get_state (void) 140static int speedstep_get_state (void)
136{ 141{
137 u32 function=GET_SPEEDSTEP_STATE; 142 u32 function=GET_SPEEDSTEP_STATE;
138 u32 result, state, edi, command; 143 u32 result, state, edi, command, dummy;
139 144
140 command = (smi_sig & 0xffffff00) | (smi_cmd & 0xff); 145 command = (smi_sig & 0xffffff00) | (smi_cmd & 0xff);
141 146
142 dprintk("trying to determine current setting with command %x at port %x\n", command, smi_port); 147 dprintk("trying to determine current setting with command %x at port %x\n", command, smi_port);
143 148
144 __asm__ __volatile__("movl $0, %%edi\n" 149 __asm__ __volatile__(
150 "push %%ebp\n"
145 "out %%al, (%%dx)\n" 151 "out %%al, (%%dx)\n"
146 : "=a" (result), "=b" (state), "=D" (edi) 152 "pop %%ebp\n"
147 : "a" (command), "b" (function), "c" (0), "d" (smi_port), "S" (0) 153 : "=a" (result), "=b" (state), "=D" (edi), "=c" (dummy), "=d" (dummy), "=S" (dummy)
154 : "a" (command), "b" (function), "c" (0), "d" (smi_port), "S" (0), "D" (0)
148 ); 155 );
149 156
150 dprintk("state is %x, result is %x\n", state, result); 157 dprintk("state is %x, result is %x\n", state, result);
@@ -160,7 +167,7 @@ static int speedstep_get_state (void)
160 */ 167 */
161static void speedstep_set_state (unsigned int state) 168static void speedstep_set_state (unsigned int state)
162{ 169{
163 unsigned int result = 0, command, new_state; 170 unsigned int result = 0, command, new_state, dummy;
164 unsigned long flags; 171 unsigned long flags;
165 unsigned int function=SET_SPEEDSTEP_STATE; 172 unsigned int function=SET_SPEEDSTEP_STATE;
166 unsigned int retry = 0; 173 unsigned int retry = 0;
@@ -182,10 +189,12 @@ static void speedstep_set_state (unsigned int state)
182 } 189 }
183 retry++; 190 retry++;
184 __asm__ __volatile__( 191 __asm__ __volatile__(
185 "movl $0, %%edi\n" 192 "push %%ebp\n"
186 "out %%al, (%%dx)\n" 193 "out %%al, (%%dx)\n"
187 : "=b" (new_state), "=D" (result) 194 "pop %%ebp"
188 : "a" (command), "b" (function), "c" (state), "d" (smi_port), "S" (0) 195 : "=b" (new_state), "=D" (result), "=c" (dummy), "=a" (dummy),
196 "=d" (dummy), "=S" (dummy)
197 : "a" (command), "b" (function), "c" (state), "d" (smi_port), "S" (0), "D" (0)
189 ); 198 );
190 } while ((new_state != state) && (retry <= SMI_TRIES)); 199 } while ((new_state != state) && (retry <= SMI_TRIES));
191 200
@@ -195,7 +204,7 @@ static void speedstep_set_state (unsigned int state)
195 if (new_state == state) { 204 if (new_state == state) {
196 dprintk("change to %u MHz succeeded after %u tries with result %u\n", (speedstep_freqs[new_state].frequency / 1000), retry, result); 205 dprintk("change to %u MHz succeeded after %u tries with result %u\n", (speedstep_freqs[new_state].frequency / 1000), retry, result);
197 } else { 206 } else {
198 printk(KERN_ERR "cpufreq: change failed with new_state %u and result %u\n", new_state, result); 207 printk(KERN_ERR "cpufreq: change to state %u failed with new_state %u and result %u\n", state, new_state, result);
199 } 208 }
200 209
201 return; 210 return;
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index 103d61a59b1..3e18db4cefe 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -176,12 +176,13 @@ static inline void k8_enable_fixed_iorrs(void)
176} 176}
177 177
178/** 178/**
179 * Checks and updates an fixed-range MTRR if it differs from the value it 179 * set_fixed_range - checks & updates a fixed-range MTRR if it differs from the value it should have
180 * should have. If K8 extentions are wanted, update the K8 SYSCFG MSR also. 180 * @msr: MSR address of the MTTR which should be checked and updated
181 * see AMD publication no. 24593, chapter 7.8.1, page 233 for more information 181 * @changed: pointer which indicates whether the MTRR needed to be changed
182 * \param msr MSR address of the MTTR which should be checked and updated 182 * @msrwords: pointer to the MSR values which the MSR should have
183 * \param changed pointer which indicates whether the MTRR needed to be changed 183 *
184 * \param msrwords pointer to the MSR values which the MSR should have 184 * If K8 extentions are wanted, update the K8 SYSCFG MSR also.
185 * See AMD publication no. 24593, chapter 7.8.1, page 233 for more information.
185 */ 186 */
186static void set_fixed_range(int msr, bool *changed, unsigned int *msrwords) 187static void set_fixed_range(int msr, bool *changed, unsigned int *msrwords)
187{ 188{
@@ -199,12 +200,15 @@ static void set_fixed_range(int msr, bool *changed, unsigned int *msrwords)
199 } 200 }
200} 201}
201 202
203/**
204 * generic_get_free_region - Get a free MTRR.
205 * @base: The starting (base) address of the region.
206 * @size: The size (in bytes) of the region.
207 * @replace_reg: mtrr index to be replaced; set to invalid value if none.
208 *
209 * Returns: The index of the region on success, else negative on error.
210 */
202int generic_get_free_region(unsigned long base, unsigned long size, int replace_reg) 211int generic_get_free_region(unsigned long base, unsigned long size, int replace_reg)
203/* [SUMMARY] Get a free MTRR.
204 <base> The starting (base) address of the region.
205 <size> The size (in bytes) of the region.
206 [RETURNS] The index of the region on success, else -1 on error.
207*/
208{ 212{
209 int i, max; 213 int i, max;
210 mtrr_type ltype; 214 mtrr_type ltype;
@@ -249,8 +253,8 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base,
249} 253}
250 254
251/** 255/**
252 * Checks and updates the fixed-range MTRRs if they differ from the saved set 256 * set_fixed_ranges - checks & updates the fixed-range MTRRs if they differ from the saved set
253 * \param frs pointer to fixed-range MTRR values, saved by get_fixed_ranges() 257 * @frs: pointer to fixed-range MTRR values, saved by get_fixed_ranges()
254 */ 258 */
255static int set_fixed_ranges(mtrr_type * frs) 259static int set_fixed_ranges(mtrr_type * frs)
256{ 260{
@@ -294,13 +298,13 @@ static bool set_mtrr_var_ranges(unsigned int index, struct mtrr_var_range *vr)
294 298
295static u32 deftype_lo, deftype_hi; 299static u32 deftype_lo, deftype_hi;
296 300
301/**
302 * set_mtrr_state - Set the MTRR state for this CPU.
303 *
304 * NOTE: The CPU must already be in a safe state for MTRR changes.
305 * RETURNS: 0 if no changes made, else a mask indicating what was changed.
306 */
297static unsigned long set_mtrr_state(void) 307static unsigned long set_mtrr_state(void)
298/* [SUMMARY] Set the MTRR state for this CPU.
299 <state> The MTRR state information to read.
300 <ctxt> Some relevant CPU context.
301 [NOTE] The CPU must already be in a safe state for MTRR changes.
302 [RETURNS] 0 if no changes made, else a mask indication what was changed.
303*/
304{ 308{
305 unsigned int i; 309 unsigned int i;
306 unsigned long change_mask = 0; 310 unsigned long change_mask = 0;
diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
index be83336fddb..a6450b3ae75 100644
--- a/arch/x86/kernel/cpu/mtrr/main.c
+++ b/arch/x86/kernel/cpu/mtrr/main.c
@@ -711,7 +711,8 @@ int __init mtrr_trim_uncached_memory(unsigned long end_pfn)
711 trim_size = end_pfn; 711 trim_size = end_pfn;
712 trim_size <<= PAGE_SHIFT; 712 trim_size <<= PAGE_SHIFT;
713 trim_size -= trim_start; 713 trim_size -= trim_start;
714 add_memory_region(trim_start, trim_size, E820_RESERVED); 714 update_memory_range(trim_start, trim_size, E820_RAM,
715 E820_RESERVED);
715 update_e820(); 716 update_e820();
716 return 1; 717 return 1;
717 } 718 }
diff --git a/arch/x86/kernel/e820_32.c b/arch/x86/kernel/e820_32.c
index 4e16ef4a265..80444c5c9b1 100644
--- a/arch/x86/kernel/e820_32.c
+++ b/arch/x86/kernel/e820_32.c
@@ -749,6 +749,32 @@ static int __init parse_memmap(char *arg)
749 return 0; 749 return 0;
750} 750}
751early_param("memmap", parse_memmap); 751early_param("memmap", parse_memmap);
752void __init update_memory_range(u64 start, u64 size, unsigned old_type,
753 unsigned new_type)
754{
755 int i;
756
757 BUG_ON(old_type == new_type);
758
759 for (i = 0; i < e820.nr_map; i++) {
760 struct e820entry *ei = &e820.map[i];
761 u64 final_start, final_end;
762 if (ei->type != old_type)
763 continue;
764 /* totally covered? */
765 if (ei->addr >= start && ei->size <= size) {
766 ei->type = new_type;
767 continue;
768 }
769 /* partially covered */
770 final_start = max(start, ei->addr);
771 final_end = min(start + size, ei->addr + ei->size);
772 if (final_start >= final_end)
773 continue;
774 add_memory_region(final_start, final_end - final_start,
775 new_type);
776 }
777}
752void __init update_e820(void) 778void __init update_e820(void)
753{ 779{
754 u8 nr_map; 780 u8 nr_map;
diff --git a/arch/x86/kernel/e820_64.c b/arch/x86/kernel/e820_64.c
index 9f65b4cc323..9be69712601 100644
--- a/arch/x86/kernel/e820_64.c
+++ b/arch/x86/kernel/e820_64.c
@@ -744,6 +744,33 @@ void __init finish_e820_parsing(void)
744 } 744 }
745} 745}
746 746
747void __init update_memory_range(u64 start, u64 size, unsigned old_type,
748 unsigned new_type)
749{
750 int i;
751
752 BUG_ON(old_type == new_type);
753
754 for (i = 0; i < e820.nr_map; i++) {
755 struct e820entry *ei = &e820.map[i];
756 u64 final_start, final_end;
757 if (ei->type != old_type)
758 continue;
759 /* totally covered? */
760 if (ei->addr >= start && ei->size <= size) {
761 ei->type = new_type;
762 continue;
763 }
764 /* partially covered */
765 final_start = max(start, ei->addr);
766 final_end = min(start + size, ei->addr + ei->size);
767 if (final_start >= final_end)
768 continue;
769 add_memory_region(final_start, final_end - final_start,
770 new_type);
771 }
772}
773
747void __init update_e820(void) 774void __init update_e820(void)
748{ 775{
749 u8 nr_map; 776 u8 nr_map;
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index fd8ca53943a..74d87ea85b5 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -657,7 +657,7 @@ int_msg:
657 .asciz "Unknown interrupt or fault at EIP %p %p %p\n" 657 .asciz "Unknown interrupt or fault at EIP %p %p %p\n"
658 658
659fault_msg: 659fault_msg:
660 .ascii \ 660 .asciz \
661/* fault info: */ "BUG: Int %d: CR2 %p\n" \ 661/* fault info: */ "BUG: Int %d: CR2 %p\n" \
662/* pusha regs: */ " EDI %p ESI %p EBP %p ESP %p\n" \ 662/* pusha regs: */ " EDI %p ESI %p EBP %p ESP %p\n" \
663 " EBX %p EDX %p ECX %p EAX %p\n" \ 663 " EBX %p EDX %p ECX %p EAX %p\n" \
diff --git a/arch/x86/kernel/io_delay.c b/arch/x86/kernel/io_delay.c
index c706a306155..5921e5f0a64 100644
--- a/arch/x86/kernel/io_delay.c
+++ b/arch/x86/kernel/io_delay.c
@@ -78,6 +78,14 @@ static struct dmi_system_id __initdata io_delay_0xed_port_dmi_table[] = {
78 }, 78 },
79 { 79 {
80 .callback = dmi_io_delay_0xed_port, 80 .callback = dmi_io_delay_0xed_port,
81 .ident = "HP Pavilion dv6000",
82 .matches = {
83 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
84 DMI_MATCH(DMI_BOARD_NAME, "30B8")
85 }
86 },
87 {
88 .callback = dmi_io_delay_0xed_port,
81 .ident = "HP Pavilion tx1000", 89 .ident = "HP Pavilion tx1000",
82 .matches = { 90 .matches = {
83 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"), 91 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c
index 236d2f8f7dd..576a03db451 100644
--- a/arch/x86/kernel/machine_kexec_64.c
+++ b/arch/x86/kernel/machine_kexec_64.c
@@ -233,6 +233,7 @@ NORET_TYPE void machine_kexec(struct kimage *image)
233 233
234void arch_crash_save_vmcoreinfo(void) 234void arch_crash_save_vmcoreinfo(void)
235{ 235{
236 VMCOREINFO_SYMBOL(phys_base);
236 VMCOREINFO_SYMBOL(init_level4_pgt); 237 VMCOREINFO_SYMBOL(init_level4_pgt);
237 238
238#ifdef CONFIG_NUMA 239#ifdef CONFIG_NUMA
diff --git a/arch/x86/kernel/mfgpt_32.c b/arch/x86/kernel/mfgpt_32.c
index 027fc067b39..b402c0f3f19 100644
--- a/arch/x86/kernel/mfgpt_32.c
+++ b/arch/x86/kernel/mfgpt_32.c
@@ -30,6 +30,7 @@
30 30
31#include <linux/kernel.h> 31#include <linux/kernel.h>
32#include <linux/interrupt.h> 32#include <linux/interrupt.h>
33#include <linux/module.h>
33#include <asm/geode.h> 34#include <asm/geode.h>
34 35
35static struct mfgpt_timer_t { 36static struct mfgpt_timer_t {
diff --git a/arch/x86/kernel/pci-dma_64.c b/arch/x86/kernel/pci-dma_64.c
index a82473d192a..375cb2bc45b 100644
--- a/arch/x86/kernel/pci-dma_64.c
+++ b/arch/x86/kernel/pci-dma_64.c
@@ -53,11 +53,6 @@ dma_alloc_pages(struct device *dev, gfp_t gfp, unsigned order)
53 int node; 53 int node;
54 54
55 node = dev_to_node(dev); 55 node = dev_to_node(dev);
56 if (node == -1)
57 node = numa_node_id();
58
59 if (node < first_node(node_online_map))
60 node = first_node(node_online_map);
61 56
62 page = alloc_pages_node(node, gfp, order); 57 page = alloc_pages_node(node, gfp, order);
63 return page ? page_address(page) : NULL; 58 return page ? page_address(page) : NULL;
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index d5904eef1d3..eb92ccbb350 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -600,21 +600,6 @@ static int ptrace_bts_read_record(struct task_struct *child,
600 return sizeof(ret); 600 return sizeof(ret);
601} 601}
602 602
603static int ptrace_bts_write_record(struct task_struct *child,
604 const struct bts_struct *in)
605{
606 int retval;
607
608 if (!child->thread.ds_area_msr)
609 return -ENXIO;
610
611 retval = ds_write_bts((void *)child->thread.ds_area_msr, in);
612 if (retval)
613 return retval;
614
615 return sizeof(*in);
616}
617
618static int ptrace_bts_clear(struct task_struct *child) 603static int ptrace_bts_clear(struct task_struct *child)
619{ 604{
620 if (!child->thread.ds_area_msr) 605 if (!child->thread.ds_area_msr)
@@ -657,75 +642,6 @@ static int ptrace_bts_drain(struct task_struct *child,
657 return end; 642 return end;
658} 643}
659 644
660static int ptrace_bts_realloc(struct task_struct *child,
661 int size, int reduce_size)
662{
663 unsigned long rlim, vm;
664 int ret, old_size;
665
666 if (size < 0)
667 return -EINVAL;
668
669 old_size = ds_get_bts_size((void *)child->thread.ds_area_msr);
670 if (old_size < 0)
671 return old_size;
672
673 ret = ds_free((void **)&child->thread.ds_area_msr);
674 if (ret < 0)
675 goto out;
676
677 size >>= PAGE_SHIFT;
678 old_size >>= PAGE_SHIFT;
679
680 current->mm->total_vm -= old_size;
681 current->mm->locked_vm -= old_size;
682
683 if (size == 0)
684 goto out;
685
686 rlim = current->signal->rlim[RLIMIT_AS].rlim_cur >> PAGE_SHIFT;
687 vm = current->mm->total_vm + size;
688 if (rlim < vm) {
689 ret = -ENOMEM;
690
691 if (!reduce_size)
692 goto out;
693
694 size = rlim - current->mm->total_vm;
695 if (size <= 0)
696 goto out;
697 }
698
699 rlim = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur >> PAGE_SHIFT;
700 vm = current->mm->locked_vm + size;
701 if (rlim < vm) {
702 ret = -ENOMEM;
703
704 if (!reduce_size)
705 goto out;
706
707 size = rlim - current->mm->locked_vm;
708 if (size <= 0)
709 goto out;
710 }
711
712 ret = ds_allocate((void **)&child->thread.ds_area_msr,
713 size << PAGE_SHIFT);
714 if (ret < 0)
715 goto out;
716
717 current->mm->total_vm += size;
718 current->mm->locked_vm += size;
719
720out:
721 if (child->thread.ds_area_msr)
722 set_tsk_thread_flag(child, TIF_DS_AREA_MSR);
723 else
724 clear_tsk_thread_flag(child, TIF_DS_AREA_MSR);
725
726 return ret;
727}
728
729static int ptrace_bts_config(struct task_struct *child, 645static int ptrace_bts_config(struct task_struct *child,
730 long cfg_size, 646 long cfg_size,
731 const struct ptrace_bts_config __user *ucfg) 647 const struct ptrace_bts_config __user *ucfg)
@@ -828,6 +744,91 @@ static int ptrace_bts_status(struct task_struct *child,
828 return sizeof(cfg); 744 return sizeof(cfg);
829} 745}
830 746
747
748static int ptrace_bts_write_record(struct task_struct *child,
749 const struct bts_struct *in)
750{
751 int retval;
752
753 if (!child->thread.ds_area_msr)
754 return -ENXIO;
755
756 retval = ds_write_bts((void *)child->thread.ds_area_msr, in);
757 if (retval)
758 return retval;
759
760 return sizeof(*in);
761}
762
763static int ptrace_bts_realloc(struct task_struct *child,
764 int size, int reduce_size)
765{
766 unsigned long rlim, vm;
767 int ret, old_size;
768
769 if (size < 0)
770 return -EINVAL;
771
772 old_size = ds_get_bts_size((void *)child->thread.ds_area_msr);
773 if (old_size < 0)
774 return old_size;
775
776 ret = ds_free((void **)&child->thread.ds_area_msr);
777 if (ret < 0)
778 goto out;
779
780 size >>= PAGE_SHIFT;
781 old_size >>= PAGE_SHIFT;
782
783 current->mm->total_vm -= old_size;
784 current->mm->locked_vm -= old_size;
785
786 if (size == 0)
787 goto out;
788
789 rlim = current->signal->rlim[RLIMIT_AS].rlim_cur >> PAGE_SHIFT;
790 vm = current->mm->total_vm + size;
791 if (rlim < vm) {
792 ret = -ENOMEM;
793
794 if (!reduce_size)
795 goto out;
796
797 size = rlim - current->mm->total_vm;
798 if (size <= 0)
799 goto out;
800 }
801
802 rlim = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur >> PAGE_SHIFT;
803 vm = current->mm->locked_vm + size;
804 if (rlim < vm) {
805 ret = -ENOMEM;
806
807 if (!reduce_size)
808 goto out;
809
810 size = rlim - current->mm->locked_vm;
811 if (size <= 0)
812 goto out;
813 }
814
815 ret = ds_allocate((void **)&child->thread.ds_area_msr,
816 size << PAGE_SHIFT);
817 if (ret < 0)
818 goto out;
819
820 current->mm->total_vm += size;
821 current->mm->locked_vm += size;
822
823out:
824 if (child->thread.ds_area_msr)
825 set_tsk_thread_flag(child, TIF_DS_AREA_MSR);
826 else
827 clear_tsk_thread_flag(child, TIF_DS_AREA_MSR);
828
829 return ret;
830}
831
831void ptrace_bts_take_timestamp(struct task_struct *tsk, 832void ptrace_bts_take_timestamp(struct task_struct *tsk,
832 enum bts_qualifier qualifier) 833 enum bts_qualifier qualifier)
833{ 834{
diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c
index c47208fc593..d89a648fe71 100644
--- a/arch/x86/kernel/quirks.c
+++ b/arch/x86/kernel/quirks.c
@@ -363,6 +363,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0051,
363 nvidia_force_enable_hpet); 363 nvidia_force_enable_hpet);
364 364
365/* LPC bridges */ 365/* LPC bridges */
366DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0260,
367 nvidia_force_enable_hpet);
366DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0360, 368DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0360,
367 nvidia_force_enable_hpet); 369 nvidia_force_enable_hpet);
368DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0361, 370DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0361,
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 55ceb8cdef7..484c4a80d38 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -152,6 +152,24 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
152 DMI_MATCH(DMI_BOARD_NAME, "0WF810"), 152 DMI_MATCH(DMI_BOARD_NAME, "0WF810"),
153 }, 153 },
154 }, 154 },
155 { /* Handle problems with rebooting on Dell Optiplex 745's DFF*/
156 .callback = set_bios_reboot,
157 .ident = "Dell OptiPlex 745",
158 .matches = {
159 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
160 DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
161 DMI_MATCH(DMI_BOARD_NAME, "0MM599"),
162 },
163 },
164 { /* Handle problems with rebooting on Dell Optiplex 745 with 0KW626 */
165 .callback = set_bios_reboot,
166 .ident = "Dell OptiPlex 745",
167 .matches = {
168 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
169 DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
170 DMI_MATCH(DMI_BOARD_NAME, "0KW626"),
171 },
172 },
155 { /* Handle problems with rebooting on Dell 2400's */ 173 { /* Handle problems with rebooting on Dell 2400's */
156 .callback = set_bios_reboot, 174 .callback = set_bios_reboot,
157 .ident = "Dell PowerEdge 2400", 175 .ident = "Dell PowerEdge 2400",
diff --git a/arch/x86/kernel/setup64.c b/arch/x86/kernel/setup64.c
index 309366f8f60..e24c4567709 100644
--- a/arch/x86/kernel/setup64.c
+++ b/arch/x86/kernel/setup64.c
@@ -142,14 +142,16 @@ void __init setup_per_cpu_areas(void)
142 printk(KERN_INFO "PERCPU: Allocating %lu bytes of per cpu data\n", size); 142 printk(KERN_INFO "PERCPU: Allocating %lu bytes of per cpu data\n", size);
143 for_each_cpu_mask (i, cpu_possible_map) { 143 for_each_cpu_mask (i, cpu_possible_map) {
144 char *ptr; 144 char *ptr;
145#ifndef CONFIG_NEED_MULTIPLE_NODES
146 ptr = alloc_bootmem_pages(size);
147#else
148 int node = early_cpu_to_node(i);
145 149
146 if (!NODE_DATA(early_cpu_to_node(i))) { 150 if (!node_online(node) || !NODE_DATA(node))
147 printk("cpu with no node %d, num_online_nodes %d\n",
148 i, num_online_nodes());
149 ptr = alloc_bootmem_pages(size); 151 ptr = alloc_bootmem_pages(size);
150 } else { 152 else
151 ptr = alloc_bootmem_pages_node(NODE_DATA(early_cpu_to_node(i)), size); 153 ptr = alloc_bootmem_pages_node(NODE_DATA(node), size);
152 } 154#endif
153 if (!ptr) 155 if (!ptr)
154 panic("Cannot allocate cpu data for CPU %d\n", i); 156 panic("Cannot allocate cpu data for CPU %d\n", i);
155 cpu_pda(i)->data_offset = ptr - __per_cpu_start; 157 cpu_pda(i)->data_offset = ptr - __per_cpu_start;
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
index a1d7071a51c..2b3e5d45176 100644
--- a/arch/x86/kernel/setup_32.c
+++ b/arch/x86/kernel/setup_32.c
@@ -406,8 +406,6 @@ static unsigned long __init setup_memory(void)
406 */ 406 */
407 min_low_pfn = PFN_UP(init_pg_tables_end); 407 min_low_pfn = PFN_UP(init_pg_tables_end);
408 408
409 find_max_pfn();
410
411 max_low_pfn = find_max_low_pfn(); 409 max_low_pfn = find_max_low_pfn();
412 410
413#ifdef CONFIG_HIGHMEM 411#ifdef CONFIG_HIGHMEM
@@ -764,12 +762,13 @@ void __init setup_arch(char **cmdline_p)
764 if (efi_enabled) 762 if (efi_enabled)
765 efi_init(); 763 efi_init();
766 764
767 max_low_pfn = setup_memory();
768
769 /* update e820 for memory not covered by WB MTRRs */ 765 /* update e820 for memory not covered by WB MTRRs */
766 find_max_pfn();
770 mtrr_bp_init(); 767 mtrr_bp_init();
771 if (mtrr_trim_uncached_memory(max_pfn)) 768 if (mtrr_trim_uncached_memory(max_pfn))
772 max_low_pfn = setup_memory(); 769 find_max_pfn();
770
771 max_low_pfn = setup_memory();
773 772
774#ifdef CONFIG_VMI 773#ifdef CONFIG_VMI
775 /* 774 /*
diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c
index 7637dc91c79..f4f7ecfb898 100644
--- a/arch/x86/kernel/setup_64.c
+++ b/arch/x86/kernel/setup_64.c
@@ -801,7 +801,7 @@ static void __cpuinit srat_detect_node(void)
801 /* Don't do the funky fallback heuristics the AMD version employs 801 /* Don't do the funky fallback heuristics the AMD version employs
802 for now. */ 802 for now. */
803 node = apicid_to_node[apicid]; 803 node = apicid_to_node[apicid];
804 if (node == NUMA_NO_NODE) 804 if (node == NUMA_NO_NODE || !node_online(node))
805 node = first_node(node_online_map); 805 node = first_node(node_online_map);
806 numa_set_node(cpu, node); 806 numa_set_node(cpu, node);
807 807
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index d8172aabc66..e55af12e11b 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -222,8 +222,7 @@ static int is_io_pte(unsigned long pte)
222 222
223static int is_rmap_pte(u64 pte) 223static int is_rmap_pte(u64 pte)
224{ 224{
225 return pte != shadow_trap_nonpresent_pte 225 return is_shadow_present_pte(pte);
226 && pte != shadow_notrap_nonpresent_pte;
227} 226}
228 227
229static gfn_t pse36_gfn_delta(u32 gpte) 228static gfn_t pse36_gfn_delta(u32 gpte)
@@ -893,14 +892,25 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *shadow_pte,
893 int *ptwrite, gfn_t gfn, struct page *page) 892 int *ptwrite, gfn_t gfn, struct page *page)
894{ 893{
895 u64 spte; 894 u64 spte;
896 int was_rmapped = is_rmap_pte(*shadow_pte); 895 int was_rmapped = 0;
897 int was_writeble = is_writeble_pte(*shadow_pte); 896 int was_writeble = is_writeble_pte(*shadow_pte);
897 hfn_t host_pfn = (*shadow_pte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT;
898 898
899 pgprintk("%s: spte %llx access %x write_fault %d" 899 pgprintk("%s: spte %llx access %x write_fault %d"
900 " user_fault %d gfn %lx\n", 900 " user_fault %d gfn %lx\n",
901 __FUNCTION__, *shadow_pte, pt_access, 901 __FUNCTION__, *shadow_pte, pt_access,
902 write_fault, user_fault, gfn); 902 write_fault, user_fault, gfn);
903 903
904 if (is_rmap_pte(*shadow_pte)) {
905 if (host_pfn != page_to_pfn(page)) {
906 pgprintk("hfn old %lx new %lx\n",
907 host_pfn, page_to_pfn(page));
908 rmap_remove(vcpu->kvm, shadow_pte);
909 }
910 else
911 was_rmapped = 1;
912 }
913
904 /* 914 /*
905 * We don't set the accessed bit, since we sometimes want to see 915 * We don't set the accessed bit, since we sometimes want to see
906 * whether the guest actually used the pte (in order to detect 916 * whether the guest actually used the pte (in order to detect
@@ -1402,7 +1412,7 @@ static void mmu_guess_page_from_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
1402 up_read(&current->mm->mmap_sem); 1412 up_read(&current->mm->mmap_sem);
1403 1413
1404 vcpu->arch.update_pte.gfn = gfn; 1414 vcpu->arch.update_pte.gfn = gfn;
1405 vcpu->arch.update_pte.page = gfn_to_page(vcpu->kvm, gfn); 1415 vcpu->arch.update_pte.page = page;
1406} 1416}
1407 1417
1408void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa, 1418void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 94ea724638f..8e1462880d1 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -349,8 +349,6 @@ static void update_exception_bitmap(struct kvm_vcpu *vcpu)
349 349
350static void reload_tss(void) 350static void reload_tss(void)
351{ 351{
352#ifndef CONFIG_X86_64
353
354 /* 352 /*
355 * VT restores TR but not its size. Useless. 353 * VT restores TR but not its size. Useless.
356 */ 354 */
@@ -361,7 +359,6 @@ static void reload_tss(void)
361 descs = (void *)gdt.base; 359 descs = (void *)gdt.base;
362 descs[GDT_ENTRY_TSS].type = 9; /* available TSS */ 360 descs[GDT_ENTRY_TSS].type = 9; /* available TSS */
363 load_TR_desc(); 361 load_TR_desc();
364#endif
365} 362}
366 363
367static void load_transition_efer(struct vcpu_vmx *vmx) 364static void load_transition_efer(struct vcpu_vmx *vmx)
@@ -1436,7 +1433,7 @@ static int init_rmode_tss(struct kvm *kvm)
1436 int ret = 0; 1433 int ret = 0;
1437 int r; 1434 int r;
1438 1435
1439 down_read(&current->mm->mmap_sem); 1436 down_read(&kvm->slots_lock);
1440 r = kvm_clear_guest_page(kvm, fn, 0, PAGE_SIZE); 1437 r = kvm_clear_guest_page(kvm, fn, 0, PAGE_SIZE);
1441 if (r < 0) 1438 if (r < 0)
1442 goto out; 1439 goto out;
@@ -1459,7 +1456,7 @@ static int init_rmode_tss(struct kvm *kvm)
1459 1456
1460 ret = 1; 1457 ret = 1;
1461out: 1458out:
1462 up_read(&current->mm->mmap_sem); 1459 up_read(&kvm->slots_lock);
1463 return ret; 1460 return ret;
1464} 1461}
1465 1462
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
index a104c532ff7..3335b4595ef 100644
--- a/arch/x86/lguest/boot.c
+++ b/arch/x86/lguest/boot.c
@@ -10,21 +10,19 @@
10 * (such as the example in Documentation/lguest/lguest.c) is called the 10 * (such as the example in Documentation/lguest/lguest.c) is called the
11 * Launcher. 11 * Launcher.
12 * 12 *
13 * Secondly, we only run specially modified Guests, not normal kernels. When 13 * Secondly, we only run specially modified Guests, not normal kernels: setting
14 * you set CONFIG_LGUEST to 'y' or 'm', this automatically sets 14 * CONFIG_LGUEST_GUEST to "y" compiles this file into the kernel so it knows
15 * CONFIG_LGUEST_GUEST=y, which compiles this file into the kernel so it knows 15 * how to be a Guest at boot time. This means that you can use the same kernel
16 * how to be a Guest. This means that you can use the same kernel you boot 16 * you boot normally (ie. as a Host) as a Guest.
17 * normally (ie. as a Host) as a Guest.
18 * 17 *
19 * These Guests know that they cannot do privileged operations, such as disable 18 * These Guests know that they cannot do privileged operations, such as disable
20 * interrupts, and that they have to ask the Host to do such things explicitly. 19 * interrupts, and that they have to ask the Host to do such things explicitly.
21 * This file consists of all the replacements for such low-level native 20 * This file consists of all the replacements for such low-level native
22 * hardware operations: these special Guest versions call the Host. 21 * hardware operations: these special Guest versions call the Host.
23 * 22 *
24 * So how does the kernel know it's a Guest? The Guest starts at a special 23 * So how does the kernel know it's a Guest? We'll see that later, but let's
25 * entry point marked with a magic string, which sets up a few things then 24 * just say that we end up here where we replace the native functions various
26 * calls here. We replace the native functions various "paravirt" structures 25 * "paravirt" structures with our Guest versions, then boot like normal. :*/
27 * with our Guest versions, then boot like normal. :*/
28 26
29/* 27/*
30 * Copyright (C) 2006, Rusty Russell <rusty@rustcorp.com.au> IBM Corporation. 28 * Copyright (C) 2006, Rusty Russell <rusty@rustcorp.com.au> IBM Corporation.
@@ -134,7 +132,7 @@ static void async_hcall(unsigned long call, unsigned long arg1,
134 * lguest_leave_lazy_mode(). 132 * lguest_leave_lazy_mode().
135 * 133 *
136 * So, when we're in lazy mode, we call async_hcall() to store the call for 134 * So, when we're in lazy mode, we call async_hcall() to store the call for
137 * future processing. */ 135 * future processing: */
138static void lazy_hcall(unsigned long call, 136static void lazy_hcall(unsigned long call,
139 unsigned long arg1, 137 unsigned long arg1,
140 unsigned long arg2, 138 unsigned long arg2,
@@ -147,7 +145,7 @@ static void lazy_hcall(unsigned long call,
147} 145}
148 146
149/* When lazy mode is turned off reset the per-cpu lazy mode variable and then 147/* When lazy mode is turned off reset the per-cpu lazy mode variable and then
150 * issue a hypercall to flush any stored calls. */ 148 * issue the do-nothing hypercall to flush any stored calls. */
151static void lguest_leave_lazy_mode(void) 149static void lguest_leave_lazy_mode(void)
152{ 150{
153 paravirt_leave_lazy(paravirt_get_lazy_mode()); 151 paravirt_leave_lazy(paravirt_get_lazy_mode());
@@ -164,7 +162,7 @@ static void lguest_leave_lazy_mode(void)
164 * 162 *
165 * So instead we keep an "irq_enabled" field inside our "struct lguest_data", 163 * So instead we keep an "irq_enabled" field inside our "struct lguest_data",
166 * which the Guest can update with a single instruction. The Host knows to 164 * which the Guest can update with a single instruction. The Host knows to
167 * check there when it wants to deliver an interrupt. 165 * check there before it tries to deliver an interrupt.
168 */ 166 */
169 167
170/* save_flags() is expected to return the processor state (ie. "flags"). The 168/* save_flags() is expected to return the processor state (ie. "flags"). The
@@ -196,10 +194,15 @@ static void irq_enable(void)
196/*M:003 Note that we don't check for outstanding interrupts when we re-enable 194/*M:003 Note that we don't check for outstanding interrupts when we re-enable
197 * them (or when we unmask an interrupt). This seems to work for the moment, 195 * them (or when we unmask an interrupt). This seems to work for the moment,
198 * since interrupts are rare and we'll just get the interrupt on the next timer 196 * since interrupts are rare and we'll just get the interrupt on the next timer
199 * tick, but when we turn on CONFIG_NO_HZ, we should revisit this. One way 197 * tick, but now we can run with CONFIG_NO_HZ, we should revisit this. One way
200 * would be to put the "irq_enabled" field in a page by itself, and have the 198 * would be to put the "irq_enabled" field in a page by itself, and have the
201 * Host write-protect it when an interrupt comes in when irqs are disabled. 199 * Host write-protect it when an interrupt comes in when irqs are disabled.
202 * There will then be a page fault as soon as interrupts are re-enabled. :*/ 200 * There will then be a page fault as soon as interrupts are re-enabled.
201 *
202 * A better method is to implement soft interrupt disable generally for x86:
203 * instead of disabling interrupts, we set a flag. If an interrupt does come
204 * in, we then disable them for real. This is uncommon, so we could simply use
205 * a hypercall for interrupt control and not worry about efficiency. :*/
203 206
204/*G:034 207/*G:034
205 * The Interrupt Descriptor Table (IDT). 208 * The Interrupt Descriptor Table (IDT).
@@ -212,6 +215,10 @@ static void irq_enable(void)
212static void lguest_write_idt_entry(gate_desc *dt, 215static void lguest_write_idt_entry(gate_desc *dt,
213 int entrynum, const gate_desc *g) 216 int entrynum, const gate_desc *g)
214{ 217{
218 /* The gate_desc structure is 8 bytes long: we hand it to the Host in
219 * two 32-bit chunks. The whole 32-bit kernel used to hand descriptors
220 * around like this; typesafety wasn't a big concern in Linux's early
221 * years. */
215 u32 *desc = (u32 *)g; 222 u32 *desc = (u32 *)g;
216 /* Keep the local copy up to date. */ 223 /* Keep the local copy up to date. */
217 native_write_idt_entry(dt, entrynum, g); 224 native_write_idt_entry(dt, entrynum, g);
@@ -243,7 +250,8 @@ static void lguest_load_idt(const struct desc_ptr *desc)
243 * 250 *
244 * This is the opposite of the IDT code where we have a LOAD_IDT_ENTRY 251 * This is the opposite of the IDT code where we have a LOAD_IDT_ENTRY
245 * hypercall and use that repeatedly to load a new IDT. I don't think it 252 * hypercall and use that repeatedly to load a new IDT. I don't think it
246 * really matters, but wouldn't it be nice if they were the same? 253 * really matters, but wouldn't it be nice if they were the same? Wouldn't
254 * it be even better if you were the one to send the patch to fix it?
247 */ 255 */
248static void lguest_load_gdt(const struct desc_ptr *desc) 256static void lguest_load_gdt(const struct desc_ptr *desc)
249{ 257{
@@ -298,9 +306,9 @@ static void lguest_load_tr_desc(void)
298 306
299/* The "cpuid" instruction is a way of querying both the CPU identity 307/* The "cpuid" instruction is a way of querying both the CPU identity
300 * (manufacturer, model, etc) and its features. It was introduced before the 308 * (manufacturer, model, etc) and its features. It was introduced before the
301 * Pentium in 1993 and keeps getting extended by both Intel and AMD. As you 309 * Pentium in 1993 and keeps getting extended by both Intel, AMD and others.
302 * might imagine, after a decade and a half this treatment, it is now a giant 310 * As you might imagine, after a decade and a half this treatment, it is now a
303 * ball of hair. Its entry in the current Intel manual runs to 28 pages. 311 * giant ball of hair. Its entry in the current Intel manual runs to 28 pages.
304 * 312 *
305 * This instruction even it has its own Wikipedia entry. The Wikipedia entry 313 * This instruction even it has its own Wikipedia entry. The Wikipedia entry
306 * has been translated into 4 languages. I am not making this up! 314 * has been translated into 4 languages. I am not making this up!
@@ -594,17 +602,17 @@ static unsigned long lguest_get_wallclock(void)
594 return lguest_data.time.tv_sec; 602 return lguest_data.time.tv_sec;
595} 603}
596 604
597/* The TSC is a Time Stamp Counter. The Host tells us what speed it runs at, 605/* The TSC is an Intel thing called the Time Stamp Counter. The Host tells us
598 * or 0 if it's unusable as a reliable clock source. This matches what we want 606 * what speed it runs at, or 0 if it's unusable as a reliable clock source.
599 * here: if we return 0 from this function, the x86 TSC clock will not register 607 * This matches what we want here: if we return 0 from this function, the x86
600 * itself. */ 608 * TSC clock will give up and not register itself. */
601static unsigned long lguest_cpu_khz(void) 609static unsigned long lguest_cpu_khz(void)
602{ 610{
603 return lguest_data.tsc_khz; 611 return lguest_data.tsc_khz;
604} 612}
605 613
606/* If we can't use the TSC, the kernel falls back to our "lguest_clock", where 614/* If we can't use the TSC, the kernel falls back to our lower-priority
607 * we read the time value given to us by the Host. */ 615 * "lguest_clock", where we read the time value given to us by the Host. */
608static cycle_t lguest_clock_read(void) 616static cycle_t lguest_clock_read(void)
609{ 617{
610 unsigned long sec, nsec; 618 unsigned long sec, nsec;
@@ -648,12 +656,16 @@ static struct clocksource lguest_clock = {
648static int lguest_clockevent_set_next_event(unsigned long delta, 656static int lguest_clockevent_set_next_event(unsigned long delta,
649 struct clock_event_device *evt) 657 struct clock_event_device *evt)
650{ 658{
659 /* FIXME: I don't think this can ever happen, but James tells me he had
660 * to put this code in. Maybe we should remove it now. Anyone? */
651 if (delta < LG_CLOCK_MIN_DELTA) { 661 if (delta < LG_CLOCK_MIN_DELTA) {
652 if (printk_ratelimit()) 662 if (printk_ratelimit())
653 printk(KERN_DEBUG "%s: small delta %lu ns\n", 663 printk(KERN_DEBUG "%s: small delta %lu ns\n",
654 __FUNCTION__, delta); 664 __FUNCTION__, delta);
655 return -ETIME; 665 return -ETIME;
656 } 666 }
667
668 /* Please wake us this far in the future. */
657 hcall(LHCALL_SET_CLOCKEVENT, delta, 0, 0); 669 hcall(LHCALL_SET_CLOCKEVENT, delta, 0, 0);
658 return 0; 670 return 0;
659} 671}
@@ -738,7 +750,7 @@ static void lguest_time_init(void)
738 * will not tolerate us trying to use that), the stack pointer, and the number 750 * will not tolerate us trying to use that), the stack pointer, and the number
739 * of pages in the stack. */ 751 * of pages in the stack. */
740static void lguest_load_sp0(struct tss_struct *tss, 752static void lguest_load_sp0(struct tss_struct *tss,
741 struct thread_struct *thread) 753 struct thread_struct *thread)
742{ 754{
743 lazy_hcall(LHCALL_SET_STACK, __KERNEL_DS|0x1, thread->sp0, 755 lazy_hcall(LHCALL_SET_STACK, __KERNEL_DS|0x1, thread->sp0,
744 THREAD_SIZE/PAGE_SIZE); 756 THREAD_SIZE/PAGE_SIZE);
@@ -786,9 +798,8 @@ static void lguest_safe_halt(void)
786 hcall(LHCALL_HALT, 0, 0, 0); 798 hcall(LHCALL_HALT, 0, 0, 0);
787} 799}
788 800
789/* Perhaps CRASH isn't the best name for this hypercall, but we use it to get a 801/* The SHUTDOWN hypercall takes a string to describe what's happening, and
790 * message out when we're crashing as well as elegant termination like powering 802 * an argument which says whether this to restart (reboot) the Guest or not.
791 * off.
792 * 803 *
793 * Note that the Host always prefers that the Guest speak in physical addresses 804 * Note that the Host always prefers that the Guest speak in physical addresses
794 * rather than virtual addresses, so we use __pa() here. */ 805 * rather than virtual addresses, so we use __pa() here. */
@@ -816,8 +827,9 @@ static struct notifier_block paniced = {
816/* Setting up memory is fairly easy. */ 827/* Setting up memory is fairly easy. */
817static __init char *lguest_memory_setup(void) 828static __init char *lguest_memory_setup(void)
818{ 829{
819 /* We do this here and not earlier because lockcheck barfs if we do it 830 /* We do this here and not earlier because lockcheck used to barf if we
820 * before start_kernel() */ 831 * did it before start_kernel(). I think we fixed that, so it'd be
832 * nice to move it back to lguest_init. Patch welcome... */
821 atomic_notifier_chain_register(&panic_notifier_list, &paniced); 833 atomic_notifier_chain_register(&panic_notifier_list, &paniced);
822 834
823 /* The Linux bootloader header contains an "e820" memory map: the 835 /* The Linux bootloader header contains an "e820" memory map: the
@@ -850,12 +862,19 @@ static __init int early_put_chars(u32 vtermno, const char *buf, int count)
850 return len; 862 return len;
851} 863}
852 864
865/* Rebooting also tells the Host we're finished, but the RESTART flag tells the
866 * Launcher to reboot us. */
867static void lguest_restart(char *reason)
868{
869 hcall(LHCALL_SHUTDOWN, __pa(reason), LGUEST_SHUTDOWN_RESTART, 0);
870}
871
853/*G:050 872/*G:050
854 * Patching (Powerfully Placating Performance Pedants) 873 * Patching (Powerfully Placating Performance Pedants)
855 * 874 *
856 * We have already seen that pv_ops structures let us replace simple 875 * We have already seen that pv_ops structures let us replace simple native
857 * native instructions with calls to the appropriate back end all throughout 876 * instructions with calls to the appropriate back end all throughout the
858 * the kernel. This allows the same kernel to run as a Guest and as a native 877 * kernel. This allows the same kernel to run as a Guest and as a native
859 * kernel, but it's slow because of all the indirect branches. 878 * kernel, but it's slow because of all the indirect branches.
860 * 879 *
861 * Remember that David Wheeler quote about "Any problem in computer science can 880 * Remember that David Wheeler quote about "Any problem in computer science can
@@ -908,14 +927,9 @@ static unsigned lguest_patch(u8 type, u16 clobber, void *ibuf,
908 return insn_len; 927 return insn_len;
909} 928}
910 929
911static void lguest_restart(char *reason) 930/*G:030 Once we get to lguest_init(), we know we're a Guest. The various
912{ 931 * pv_ops structures in the kernel provide points for (almost) every routine we
913 hcall(LHCALL_SHUTDOWN, __pa(reason), LGUEST_SHUTDOWN_RESTART, 0); 932 * have to override to avoid privileged instructions. */
914}
915
916/*G:030 Once we get to lguest_init(), we know we're a Guest. The pv_ops
917 * structures in the kernel provide points for (almost) every routine we have
918 * to override to avoid privileged instructions. */
919__init void lguest_init(void) 933__init void lguest_init(void)
920{ 934{
921 /* We're under lguest, paravirt is enabled, and we're running at 935 /* We're under lguest, paravirt is enabled, and we're running at
@@ -1003,9 +1017,9 @@ __init void lguest_init(void)
1003 * the normal data segment to get through booting. */ 1017 * the normal data segment to get through booting. */
1004 asm volatile ("mov %0, %%fs" : : "r" (__KERNEL_DS) : "memory"); 1018 asm volatile ("mov %0, %%fs" : : "r" (__KERNEL_DS) : "memory");
1005 1019
1006 /* The Host uses the top of the Guest's virtual address space for the 1020 /* The Host<->Guest Switcher lives at the top of our address space, and
1007 * Host<->Guest Switcher, and it tells us how big that is in 1021 * the Host told us how big it is when we made LGUEST_INIT hypercall:
1008 * lguest_data.reserve_mem, set up on the LGUEST_INIT hypercall. */ 1022 * it put the answer in lguest_data.reserve_mem */
1009 reserve_top_address(lguest_data.reserve_mem); 1023 reserve_top_address(lguest_data.reserve_mem);
1010 1024
1011 /* If we don't initialize the lock dependency checker now, it crashes 1025 /* If we don't initialize the lock dependency checker now, it crashes
@@ -1027,6 +1041,7 @@ __init void lguest_init(void)
1027 /* Math is always hard! */ 1041 /* Math is always hard! */
1028 new_cpu_data.hard_math = 1; 1042 new_cpu_data.hard_math = 1;
1029 1043
1044 /* We don't have features. We have puppies! Puppies! */
1030#ifdef CONFIG_X86_MCE 1045#ifdef CONFIG_X86_MCE
1031 mce_disabled = 1; 1046 mce_disabled = 1;
1032#endif 1047#endif
@@ -1044,10 +1059,11 @@ __init void lguest_init(void)
1044 virtio_cons_early_init(early_put_chars); 1059 virtio_cons_early_init(early_put_chars);
1045 1060
1046 /* Last of all, we set the power management poweroff hook to point to 1061 /* Last of all, we set the power management poweroff hook to point to
1047 * the Guest routine to power off. */ 1062 * the Guest routine to power off, and the reboot hook to our restart
1063 * routine. */
1048 pm_power_off = lguest_power_off; 1064 pm_power_off = lguest_power_off;
1049
1050 machine_ops.restart = lguest_restart; 1065 machine_ops.restart = lguest_restart;
1066
1051 /* Now we're set up, call start_kernel() in init/main.c and we proceed 1067 /* Now we're set up, call start_kernel() in init/main.c and we proceed
1052 * to boot as normal. It never returns. */ 1068 * to boot as normal. It never returns. */
1053 start_kernel(); 1069 start_kernel();
diff --git a/arch/x86/lguest/i386_head.S b/arch/x86/lguest/i386_head.S
index 95b6fbcded6..5c7cef34c9e 100644
--- a/arch/x86/lguest/i386_head.S
+++ b/arch/x86/lguest/i386_head.S
@@ -5,13 +5,20 @@
5#include <asm/thread_info.h> 5#include <asm/thread_info.h>
6#include <asm/processor-flags.h> 6#include <asm/processor-flags.h>
7 7
8/*G:020 This is where we begin: head.S notes that the boot header's platform 8/*G:020 Our story starts with the kernel booting into startup_32 in
9 * type field is "1" (lguest), so calls us here. 9 * arch/x86/kernel/head_32.S. It expects a boot header, which is created by
10 * the bootloader (the Launcher in our case).
11 *
12 * The startup_32 function does very little: it clears the uninitialized global
13 * C variables which we expect to be zero (ie. BSS) and then copies the boot
14 * header and kernel command line somewhere safe. Finally it checks the
15 * 'hardware_subarch' field. This was introduced in 2.6.24 for lguest and Xen:
16 * if it's set to '1' (lguest's assigned number), then it calls us here.
10 * 17 *
11 * WARNING: be very careful here! We're running at addresses equal to physical 18 * WARNING: be very careful here! We're running at addresses equal to physical
12 * addesses (around 0), not above PAGE_OFFSET as most code expectes 19 * addesses (around 0), not above PAGE_OFFSET as most code expectes
13 * (eg. 0xC0000000). Jumps are relative, so they're OK, but we can't touch any 20 * (eg. 0xC0000000). Jumps are relative, so they're OK, but we can't touch any
14 * data. 21 * data without remembering to subtract __PAGE_OFFSET!
15 * 22 *
16 * The .section line puts this code in .init.text so it will be discarded after 23 * The .section line puts this code in .init.text so it will be discarded after
17 * boot. */ 24 * boot. */
@@ -24,7 +31,7 @@ ENTRY(lguest_entry)
24 int $LGUEST_TRAP_ENTRY 31 int $LGUEST_TRAP_ENTRY
25 32
26 /* The Host put the toplevel pagetable in lguest_data.pgdir. The movsl 33 /* The Host put the toplevel pagetable in lguest_data.pgdir. The movsl
27 * instruction uses %esi implicitly as the source for the copy we' 34 * instruction uses %esi implicitly as the source for the copy we're
28 * about to do. */ 35 * about to do. */
29 movl lguest_data - __PAGE_OFFSET + LGUEST_DATA_pgdir, %esi 36 movl lguest_data - __PAGE_OFFSET + LGUEST_DATA_pgdir, %esi
30 37
diff --git a/arch/x86/mach-rdc321x/gpio.c b/arch/x86/mach-rdc321x/gpio.c
index 031269163bd..247f33d3a40 100644
--- a/arch/x86/mach-rdc321x/gpio.c
+++ b/arch/x86/mach-rdc321x/gpio.c
@@ -1,91 +1,194 @@
1/* 1/*
2 * Copyright (C) 2007, OpenWrt.org, Florian Fainelli <florian@openwrt.org> 2 * GPIO support for RDC SoC R3210/R8610
3 * RDC321x architecture specific GPIO support 3 *
4 * Copyright (C) 2007, Florian Fainelli <florian@openwrt.org>
5 * Copyright (C) 2008, Volker Weiss <dev@tintuc.de>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
4 * 20 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version.
9 */ 21 */
10 22
11#include <linux/autoconf.h> 23
12#include <linux/init.h> 24#include <linux/spinlock.h>
13#include <linux/io.h> 25#include <linux/io.h>
14#include <linux/types.h> 26#include <linux/types.h>
15#include <linux/module.h> 27#include <linux/module.h>
16#include <linux/delay.h>
17 28
29#include <asm/gpio.h>
18#include <asm/mach-rdc321x/rdc321x_defs.h> 30#include <asm/mach-rdc321x/rdc321x_defs.h>
19 31
20static inline int rdc_gpio_is_valid(unsigned gpio) 32
33/* spin lock to protect our private copy of GPIO data register plus
34 the access to PCI conf registers. */
35static DEFINE_SPINLOCK(gpio_lock);
36
37/* copy of GPIO data registers */
38static u32 gpio_data_reg1;
39static u32 gpio_data_reg2;
40
41static u32 gpio_request_data[2];
42
43
44static inline void rdc321x_conf_write(unsigned addr, u32 value)
21{ 45{
22 return (gpio <= RDC_MAX_GPIO); 46 outl((1 << 31) | (7 << 11) | addr, RDC3210_CFGREG_ADDR);
47 outl(value, RDC3210_CFGREG_DATA);
23} 48}
24 49
25static unsigned int rdc_gpio_read(unsigned gpio) 50static inline void rdc321x_conf_or(unsigned addr, u32 value)
26{ 51{
27 unsigned int val; 52 outl((1 << 31) | (7 << 11) | addr, RDC3210_CFGREG_ADDR);
28 53 value |= inl(RDC3210_CFGREG_DATA);
29 val = 0x80000000 | (7 << 11) | ((gpio&0x20?0x84:0x48)); 54 outl(value, RDC3210_CFGREG_DATA);
30 outl(val, RDC3210_CFGREG_ADDR);
31 udelay(10);
32 val = inl(RDC3210_CFGREG_DATA);
33 val |= (0x1 << (gpio & 0x1F));
34 outl(val, RDC3210_CFGREG_DATA);
35 udelay(10);
36 val = 0x80000000 | (7 << 11) | ((gpio&0x20?0x88:0x4C));
37 outl(val, RDC3210_CFGREG_ADDR);
38 udelay(10);
39 val = inl(RDC3210_CFGREG_DATA);
40
41 return val;
42} 55}
43 56
44static void rdc_gpio_write(unsigned int val) 57static inline u32 rdc321x_conf_read(unsigned addr)
45{ 58{
46 if (val) { 59 outl((1 << 31) | (7 << 11) | addr, RDC3210_CFGREG_ADDR);
47 outl(val, RDC3210_CFGREG_DATA); 60
48 udelay(10); 61 return inl(RDC3210_CFGREG_DATA);
49 }
50} 62}
51 63
52int rdc_gpio_get_value(unsigned gpio) 64/* configure pin as GPIO */
65static void rdc321x_configure_gpio(unsigned gpio)
66{
67 unsigned long flags;
68
69 spin_lock_irqsave(&gpio_lock, flags);
70 rdc321x_conf_or(gpio < 32
71 ? RDC321X_GPIO_CTRL_REG1 : RDC321X_GPIO_CTRL_REG2,
72 1 << (gpio & 0x1f));
73 spin_unlock_irqrestore(&gpio_lock, flags);
74}
75
76/* initially setup the 2 copies of the gpio data registers.
77 This function must be called by the platform setup code. */
78void __init rdc321x_gpio_setup()
79{
80 /* this might not be, what others (BIOS, bootloader, etc.)
81 wrote to these registers before, but it's a good guess. Still
82 better than just using 0xffffffff. */
83
84 gpio_data_reg1 = rdc321x_conf_read(RDC321X_GPIO_DATA_REG1);
85 gpio_data_reg2 = rdc321x_conf_read(RDC321X_GPIO_DATA_REG2);
86}
87
88/* determine, if gpio number is valid */
89static inline int rdc321x_is_gpio(unsigned gpio)
90{
91 return gpio <= RDC321X_MAX_GPIO;
92}
93
94/* request GPIO */
95int rdc_gpio_request(unsigned gpio, const char *label)
53{ 96{
54 if (rdc_gpio_is_valid(gpio)) 97 unsigned long flags;
55 return (int)rdc_gpio_read(gpio); 98
56 else 99 if (!rdc321x_is_gpio(gpio))
57 return -EINVAL; 100 return -EINVAL;
101
102 spin_lock_irqsave(&gpio_lock, flags);
103 if (gpio_request_data[(gpio & 0x20) ? 1 : 0] & (1 << (gpio & 0x1f)))
104 goto inuse;
105 gpio_request_data[(gpio & 0x20) ? 1 : 0] |= (1 << (gpio & 0x1f));
106 spin_unlock_irqrestore(&gpio_lock, flags);
107
108 return 0;
109inuse:
110 spin_unlock_irqrestore(&gpio_lock, flags);
111 return -EINVAL;
58} 112}
59EXPORT_SYMBOL(rdc_gpio_get_value); 113EXPORT_SYMBOL(rdc_gpio_request);
60 114
61void rdc_gpio_set_value(unsigned gpio, int value) 115/* release previously-claimed GPIO */
116void rdc_gpio_free(unsigned gpio)
62{ 117{
63 unsigned int val; 118 unsigned long flags;
64 119
65 if (!rdc_gpio_is_valid(gpio)) 120 if (!rdc321x_is_gpio(gpio))
66 return; 121 return;
67 122
68 val = rdc_gpio_read(gpio); 123 spin_lock_irqsave(&gpio_lock, flags);
124 gpio_request_data[(gpio & 0x20) ? 1 : 0] &= ~(1 << (gpio & 0x1f));
125 spin_unlock_irqrestore(&gpio_lock, flags);
126}
127EXPORT_SYMBOL(rdc_gpio_free);
128
129/* read GPIO pin */
130int rdc_gpio_get_value(unsigned gpio)
131{
132 u32 reg;
133 unsigned long flags;
134
135 spin_lock_irqsave(&gpio_lock, flags);
136 reg = rdc321x_conf_read(gpio < 32
137 ? RDC321X_GPIO_DATA_REG1 : RDC321X_GPIO_DATA_REG2);
138 spin_unlock_irqrestore(&gpio_lock, flags);
69 139
70 if (value) 140 return (1 << (gpio & 0x1f)) & reg ? 1 : 0;
71 val &= ~(0x1 << (gpio & 0x1F)); 141}
72 else 142EXPORT_SYMBOL(rdc_gpio_get_value);
73 val |= (0x1 << (gpio & 0x1F));
74 143
75 rdc_gpio_write(val); 144/* set GPIO pin to value */
145void rdc_gpio_set_value(unsigned gpio, int value)
146{
147 unsigned long flags;
148 u32 reg;
149
150 reg = 1 << (gpio & 0x1f);
151 if (gpio < 32) {
152 spin_lock_irqsave(&gpio_lock, flags);
153 if (value)
154 gpio_data_reg1 |= reg;
155 else
156 gpio_data_reg1 &= ~reg;
157 rdc321x_conf_write(RDC321X_GPIO_DATA_REG1, gpio_data_reg1);
158 spin_unlock_irqrestore(&gpio_lock, flags);
159 } else {
160 spin_lock_irqsave(&gpio_lock, flags);
161 if (value)
162 gpio_data_reg2 |= reg;
163 else
164 gpio_data_reg2 &= ~reg;
165 rdc321x_conf_write(RDC321X_GPIO_DATA_REG2, gpio_data_reg2);
166 spin_unlock_irqrestore(&gpio_lock, flags);
167 }
76} 168}
77EXPORT_SYMBOL(rdc_gpio_set_value); 169EXPORT_SYMBOL(rdc_gpio_set_value);
78 170
171/* configure GPIO pin as input */
79int rdc_gpio_direction_input(unsigned gpio) 172int rdc_gpio_direction_input(unsigned gpio)
80{ 173{
174 if (!rdc321x_is_gpio(gpio))
175 return -EINVAL;
176
177 rdc321x_configure_gpio(gpio);
178
81 return 0; 179 return 0;
82} 180}
83EXPORT_SYMBOL(rdc_gpio_direction_input); 181EXPORT_SYMBOL(rdc_gpio_direction_input);
84 182
183/* configure GPIO pin as output and set value */
85int rdc_gpio_direction_output(unsigned gpio, int value) 184int rdc_gpio_direction_output(unsigned gpio, int value)
86{ 185{
186 if (!rdc321x_is_gpio(gpio))
187 return -EINVAL;
188
189 gpio_set_value(gpio, value);
190 rdc321x_configure_gpio(gpio);
191
87 return 0; 192 return 0;
88} 193}
89EXPORT_SYMBOL(rdc_gpio_direction_output); 194EXPORT_SYMBOL(rdc_gpio_direction_output);
90
91
diff --git a/arch/x86/mach-rdc321x/platform.c b/arch/x86/mach-rdc321x/platform.c
index dda6024a586..a037041817c 100644
--- a/arch/x86/mach-rdc321x/platform.c
+++ b/arch/x86/mach-rdc321x/platform.c
@@ -62,6 +62,8 @@ static struct platform_device *rdc321x_devs[] = {
62 62
63static int __init rdc_board_setup(void) 63static int __init rdc_board_setup(void)
64{ 64{
65 rdc321x_gpio_setup();
66
65 return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs)); 67 return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs));
66} 68}
67 69
diff --git a/arch/x86/mach-visws/traps.c b/arch/x86/mach-visws/traps.c
index 843b67acf43..bfac6ba10f8 100644
--- a/arch/x86/mach-visws/traps.c
+++ b/arch/x86/mach-visws/traps.c
@@ -46,8 +46,9 @@ static __init void cobalt_init(void)
46 */ 46 */
47 set_fixmap(FIX_APIC_BASE, APIC_DEFAULT_PHYS_BASE); 47 set_fixmap(FIX_APIC_BASE, APIC_DEFAULT_PHYS_BASE);
48 setup_local_APIC(); 48 setup_local_APIC();
49 printk(KERN_INFO "Local APIC Version %#lx, ID %#lx\n", 49 printk(KERN_INFO "Local APIC Version %#x, ID %#x\n",
50 apic_read(APIC_LVR), apic_read(APIC_ID)); 50 (unsigned int)apic_read(APIC_LVR),
51 (unsigned int)apic_read(APIC_ID));
51 52
52 set_fixmap(FIX_CO_CPU, CO_CPU_PHYS); 53 set_fixmap(FIX_CO_CPU, CO_CPU_PHYS);
53 set_fixmap(FIX_CO_APIC, CO_APIC_PHYS); 54 set_fixmap(FIX_CO_APIC, CO_APIC_PHYS);
diff --git a/arch/x86/mm/discontig_32.c b/arch/x86/mm/discontig_32.c
index c394ca0720b..8e25e06ff73 100644
--- a/arch/x86/mm/discontig_32.c
+++ b/arch/x86/mm/discontig_32.c
@@ -324,7 +324,6 @@ unsigned long __init setup_memory(void)
324 * this space and use it to adjust the boundary between ZONE_NORMAL 324 * this space and use it to adjust the boundary between ZONE_NORMAL
325 * and ZONE_HIGHMEM. 325 * and ZONE_HIGHMEM.
326 */ 326 */
327 find_max_pfn();
328 get_memcfg_numa(); 327 get_memcfg_numa();
329 328
330 kva_pages = calculate_numa_remap_pages(); 329 kva_pages = calculate_numa_remap_pages();
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index fdc667422df..ec08d838985 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -91,12 +91,10 @@ static int is_prefetch(struct pt_regs *regs, unsigned long addr,
91 int prefetch = 0; 91 int prefetch = 0;
92 unsigned char *max_instr; 92 unsigned char *max_instr;
93 93
94#ifdef CONFIG_X86_32 94 /*
95 if (!(__supported_pte_mask & _PAGE_NX)) 95 * If it was a exec (instruction fetch) fault on NX page, then
96 return 0; 96 * do not ignore the fault:
97#endif 97 */
98
99 /* If it was a exec fault on NX page, ignore */
100 if (error_code & PF_INSTR) 98 if (error_code & PF_INSTR)
101 return 0; 99 return 0;
102 100
diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c
index 3d936f23270..9cf33d3ee5b 100644
--- a/arch/x86/mm/highmem_32.c
+++ b/arch/x86/mm/highmem_32.c
@@ -73,15 +73,15 @@ void *kmap_atomic_prot(struct page *page, enum km_type type, pgprot_t prot)
73{ 73{
74 enum fixed_addresses idx; 74 enum fixed_addresses idx;
75 unsigned long vaddr; 75 unsigned long vaddr;
76 /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */
77
78 debug_kmap_atomic_prot(type);
79 76
77 /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */
80 pagefault_disable(); 78 pagefault_disable();
81 79
82 if (!PageHighMem(page)) 80 if (!PageHighMem(page))
83 return page_address(page); 81 return page_address(page);
84 82
83 debug_kmap_atomic_prot(type);
84
85 idx = type + KM_TYPE_NR*smp_processor_id(); 85 idx = type + KM_TYPE_NR*smp_processor_id();
86 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); 86 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
87 BUG_ON(!pte_none(*(kmap_pte-idx))); 87 BUG_ON(!pte_none(*(kmap_pte-idx)));
diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c
index 4fbafb4bc2f..0b3d567e686 100644
--- a/arch/x86/mm/hugetlbpage.c
+++ b/arch/x86/mm/hugetlbpage.c
@@ -178,7 +178,7 @@ follow_huge_addr(struct mm_struct *mm, unsigned long address, int write)
178 178
179 page = &pte_page(*pte)[vpfn % (HPAGE_SIZE/PAGE_SIZE)]; 179 page = &pte_page(*pte)[vpfn % (HPAGE_SIZE/PAGE_SIZE)];
180 180
181 WARN_ON(!PageCompound(page)); 181 WARN_ON(!PageHead(page));
182 182
183 return page; 183 return page;
184} 184}
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 8fe576baa14..794895c6dcc 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -106,7 +106,7 @@ static int ioremap_change_attr(unsigned long vaddr, unsigned long size,
106 * have to convert them into an offset in a page-aligned mapping, but the 106 * have to convert them into an offset in a page-aligned mapping, but the
107 * caller shouldn't need to know that small detail. 107 * caller shouldn't need to know that small detail.
108 */ 108 */
109static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, 109static void __iomem *__ioremap(resource_size_t phys_addr, unsigned long size,
110 enum ioremap_mode mode) 110 enum ioremap_mode mode)
111{ 111{
112 unsigned long pfn, offset, last_addr, vaddr; 112 unsigned long pfn, offset, last_addr, vaddr;
@@ -137,7 +137,11 @@ static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
137 switch (mode) { 137 switch (mode) {
138 case IOR_MODE_UNCACHED: 138 case IOR_MODE_UNCACHED:
139 default: 139 default:
140 prot = PAGE_KERNEL_NOCACHE; 140 /*
141 * FIXME: we will use UC MINUS for now, as video fb drivers
142 * depend on it. Upcoming ioremap_wc() will fix this behavior.
143 */
144 prot = PAGE_KERNEL_UC_MINUS;
141 break; 145 break;
142 case IOR_MODE_CACHED: 146 case IOR_MODE_CACHED:
143 prot = PAGE_KERNEL; 147 prot = PAGE_KERNEL;
@@ -193,13 +197,13 @@ static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
193 * 197 *
194 * Must be freed with iounmap. 198 * Must be freed with iounmap.
195 */ 199 */
196void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size) 200void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
197{ 201{
198 return __ioremap(phys_addr, size, IOR_MODE_UNCACHED); 202 return __ioremap(phys_addr, size, IOR_MODE_UNCACHED);
199} 203}
200EXPORT_SYMBOL(ioremap_nocache); 204EXPORT_SYMBOL(ioremap_nocache);
201 205
202void __iomem *ioremap_cache(unsigned long phys_addr, unsigned long size) 206void __iomem *ioremap_cache(resource_size_t phys_addr, unsigned long size)
203{ 207{
204 return __ioremap(phys_addr, size, IOR_MODE_CACHED); 208 return __ioremap(phys_addr, size, IOR_MODE_CACHED);
205} 209}
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c
index 8ccfee10f5b..16b82ad34b9 100644
--- a/arch/x86/mm/numa_64.c
+++ b/arch/x86/mm/numa_64.c
@@ -221,8 +221,7 @@ void __init setup_node_bootmem(int nodeid, unsigned long start,
221 bootmap_pages<<PAGE_SHIFT, PAGE_SIZE); 221 bootmap_pages<<PAGE_SHIFT, PAGE_SIZE);
222 if (bootmap == NULL) { 222 if (bootmap == NULL) {
223 if (nodedata_phys < start || nodedata_phys >= end) 223 if (nodedata_phys < start || nodedata_phys >= end)
224 free_bootmem((unsigned long)node_data[nodeid], 224 free_bootmem(nodedata_phys, pgdat_size);
225 pgdat_size);
226 node_data[nodeid] = NULL; 225 node_data[nodeid] = NULL;
227 return; 226 return;
228 } 227 }
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 14e48b5a94b..7b79f6be4e7 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -771,7 +771,7 @@ static inline int change_page_attr_clear(unsigned long addr, int numpages,
771int set_memory_uc(unsigned long addr, int numpages) 771int set_memory_uc(unsigned long addr, int numpages)
772{ 772{
773 return change_page_attr_set(addr, numpages, 773 return change_page_attr_set(addr, numpages,
774 __pgprot(_PAGE_PCD | _PAGE_PWT)); 774 __pgprot(_PAGE_PCD));
775} 775}
776EXPORT_SYMBOL(set_memory_uc); 776EXPORT_SYMBOL(set_memory_uc);
777 777
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 8b9ee27805f..de4e6f05840 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -95,7 +95,7 @@ struct shared_info *HYPERVISOR_shared_info = (void *)&dummy_shared_info;
95 * 95 *
96 * 0: not available, 1: available 96 * 0: not available, 1: available
97 */ 97 */
98static int have_vcpu_info_placement = 0; 98static int have_vcpu_info_placement = 1;
99 99
100static void __init xen_vcpu_setup(int cpu) 100static void __init xen_vcpu_setup(int cpu)
101{ 101{
@@ -103,6 +103,7 @@ static void __init xen_vcpu_setup(int cpu)
103 int err; 103 int err;
104 struct vcpu_info *vcpup; 104 struct vcpu_info *vcpup;
105 105
106 BUG_ON(HYPERVISOR_shared_info == &dummy_shared_info);
106 per_cpu(xen_vcpu, cpu) = &HYPERVISOR_shared_info->vcpu_info[cpu]; 107 per_cpu(xen_vcpu, cpu) = &HYPERVISOR_shared_info->vcpu_info[cpu];
107 108
108 if (!have_vcpu_info_placement) 109 if (!have_vcpu_info_placement)
@@ -805,33 +806,43 @@ static __init void xen_pagetable_setup_start(pgd_t *base)
805 PFN_DOWN(__pa(xen_start_info->pt_base))); 806 PFN_DOWN(__pa(xen_start_info->pt_base)));
806} 807}
807 808
808static __init void xen_pagetable_setup_done(pgd_t *base) 809static __init void setup_shared_info(void)
809{ 810{
810 /* This will work as long as patching hasn't happened yet
811 (which it hasn't) */
812 pv_mmu_ops.alloc_pt = xen_alloc_pt;
813 pv_mmu_ops.alloc_pd = xen_alloc_pd;
814 pv_mmu_ops.release_pt = xen_release_pt;
815 pv_mmu_ops.release_pd = xen_release_pt;
816 pv_mmu_ops.set_pte = xen_set_pte;
817
818 if (!xen_feature(XENFEAT_auto_translated_physmap)) { 811 if (!xen_feature(XENFEAT_auto_translated_physmap)) {
812 unsigned long addr = fix_to_virt(FIX_PARAVIRT_BOOTMAP);
813
819 /* 814 /*
820 * Create a mapping for the shared info page. 815 * Create a mapping for the shared info page.
821 * Should be set_fixmap(), but shared_info is a machine 816 * Should be set_fixmap(), but shared_info is a machine
822 * address with no corresponding pseudo-phys address. 817 * address with no corresponding pseudo-phys address.
823 */ 818 */
824 set_pte_mfn(fix_to_virt(FIX_PARAVIRT_BOOTMAP), 819 set_pte_mfn(addr,
825 PFN_DOWN(xen_start_info->shared_info), 820 PFN_DOWN(xen_start_info->shared_info),
826 PAGE_KERNEL); 821 PAGE_KERNEL);
827 822
828 HYPERVISOR_shared_info = 823 HYPERVISOR_shared_info = (struct shared_info *)addr;
829 (struct shared_info *)fix_to_virt(FIX_PARAVIRT_BOOTMAP);
830
831 } else 824 } else
832 HYPERVISOR_shared_info = 825 HYPERVISOR_shared_info =
833 (struct shared_info *)__va(xen_start_info->shared_info); 826 (struct shared_info *)__va(xen_start_info->shared_info);
834 827
828#ifndef CONFIG_SMP
829 /* In UP this is as good a place as any to set up shared info */
830 xen_setup_vcpu_info_placement();
831#endif
832}
833
834static __init void xen_pagetable_setup_done(pgd_t *base)
835{
836 /* This will work as long as patching hasn't happened yet
837 (which it hasn't) */
838 pv_mmu_ops.alloc_pt = xen_alloc_pt;
839 pv_mmu_ops.alloc_pd = xen_alloc_pd;
840 pv_mmu_ops.release_pt = xen_release_pt;
841 pv_mmu_ops.release_pd = xen_release_pt;
842 pv_mmu_ops.set_pte = xen_set_pte;
843
844 setup_shared_info();
845
835 /* Actually pin the pagetable down, but we can't set PG_pinned 846 /* Actually pin the pagetable down, but we can't set PG_pinned
836 yet because the page structures don't exist yet. */ 847 yet because the page structures don't exist yet. */
837 { 848 {
@@ -1182,15 +1193,9 @@ asmlinkage void __init xen_start_kernel(void)
1182 x86_write_percpu(xen_cr3, __pa(pgd)); 1193 x86_write_percpu(xen_cr3, __pa(pgd));
1183 x86_write_percpu(xen_current_cr3, __pa(pgd)); 1194 x86_write_percpu(xen_current_cr3, __pa(pgd));
1184 1195
1185#ifdef CONFIG_SMP
1186 /* Don't do the full vcpu_info placement stuff until we have a 1196 /* Don't do the full vcpu_info placement stuff until we have a
1187 possible map. */ 1197 possible map and a non-dummy shared_info. */
1188 per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0]; 1198 per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0];
1189#else
1190 /* May as well do it now, since there's no good time to call
1191 it later on UP. */
1192 xen_setup_vcpu_info_placement();
1193#endif
1194 1199
1195 pv_info.kernel_rpl = 1; 1200 pv_info.kernel_rpl = 1;
1196 if (xen_feature(XENFEAT_supervisor_mode_kernel)) 1201 if (xen_feature(XENFEAT_supervisor_mode_kernel))
diff --git a/arch/x86/xen/xen-asm.S b/arch/x86/xen/xen-asm.S
index 1a43b60c0c6..6b7190449d0 100644
--- a/arch/x86/xen/xen-asm.S
+++ b/arch/x86/xen/xen-asm.S
@@ -33,12 +33,17 @@
33 events, then enter the hypervisor to get them handled. 33 events, then enter the hypervisor to get them handled.
34 */ 34 */
35ENTRY(xen_irq_enable_direct) 35ENTRY(xen_irq_enable_direct)
36 /* Clear mask and test pending */ 36 /* Unmask events */
37 andw $0x00ff, PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_pending 37 movb $0, PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_mask
38
38 /* Preempt here doesn't matter because that will deal with 39 /* Preempt here doesn't matter because that will deal with
39 any pending interrupts. The pending check may end up being 40 any pending interrupts. The pending check may end up being
40 run on the wrong CPU, but that doesn't hurt. */ 41 run on the wrong CPU, but that doesn't hurt. */
42
43 /* Test for pending */
44 testb $0xff, PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_pending
41 jz 1f 45 jz 1f
46
422: call check_events 472: call check_events
431: 481:
44ENDPATCH(xen_irq_enable_direct) 49ENDPATCH(xen_irq_enable_direct)
diff --git a/block/blk-settings.c b/block/blk-settings.c
index 1344a0ea5cc..5713f7e5cbd 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -140,7 +140,7 @@ void blk_queue_bounce_limit(struct request_queue *q, u64 dma_addr)
140 /* Assume anything <= 4GB can be handled by IOMMU. 140 /* Assume anything <= 4GB can be handled by IOMMU.
141 Actually some IOMMUs can handle everything, but I don't 141 Actually some IOMMUs can handle everything, but I don't
142 know of a way to test this here. */ 142 know of a way to test this here. */
143 if (b_pfn <= (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT)) 143 if (b_pfn < (min_t(u64, 0x100000000UL, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
144 dma = 1; 144 dma = 1;
145 q->bounce_pfn = max_low_pfn; 145 q->bounce_pfn = max_low_pfn;
146#else 146#else
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 0f962ecae91..f26da2bfcc1 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -1143,24 +1143,37 @@ static void cfq_put_queue(struct cfq_queue *cfqq)
1143} 1143}
1144 1144
1145/* 1145/*
1146 * Call func for each cic attached to this ioc. Returns number of cic's seen. 1146 * Call func for each cic attached to this ioc.
1147 */ 1147 */
1148static unsigned int 1148static void
1149call_for_each_cic(struct io_context *ioc, 1149call_for_each_cic(struct io_context *ioc,
1150 void (*func)(struct io_context *, struct cfq_io_context *)) 1150 void (*func)(struct io_context *, struct cfq_io_context *))
1151{ 1151{
1152 struct cfq_io_context *cic; 1152 struct cfq_io_context *cic;
1153 struct hlist_node *n; 1153 struct hlist_node *n;
1154 int called = 0;
1155 1154
1156 rcu_read_lock(); 1155 rcu_read_lock();
1157 hlist_for_each_entry_rcu(cic, n, &ioc->cic_list, cic_list) { 1156 hlist_for_each_entry_rcu(cic, n, &ioc->cic_list, cic_list)
1158 func(ioc, cic); 1157 func(ioc, cic);
1159 called++;
1160 }
1161 rcu_read_unlock(); 1158 rcu_read_unlock();
1159}
1160
1161static void cfq_cic_free_rcu(struct rcu_head *head)
1162{
1163 struct cfq_io_context *cic;
1164
1165 cic = container_of(head, struct cfq_io_context, rcu_head);
1166
1167 kmem_cache_free(cfq_ioc_pool, cic);
1168 elv_ioc_count_dec(ioc_count);
1169
1170 if (ioc_gone && !elv_ioc_count_read(ioc_count))
1171 complete(ioc_gone);
1172}
1162 1173
1163 return called; 1174static void cfq_cic_free(struct cfq_io_context *cic)
1175{
1176 call_rcu(&cic->rcu_head, cfq_cic_free_rcu);
1164} 1177}
1165 1178
1166static void cic_free_func(struct io_context *ioc, struct cfq_io_context *cic) 1179static void cic_free_func(struct io_context *ioc, struct cfq_io_context *cic)
@@ -1174,24 +1187,18 @@ static void cic_free_func(struct io_context *ioc, struct cfq_io_context *cic)
1174 hlist_del_rcu(&cic->cic_list); 1187 hlist_del_rcu(&cic->cic_list);
1175 spin_unlock_irqrestore(&ioc->lock, flags); 1188 spin_unlock_irqrestore(&ioc->lock, flags);
1176 1189
1177 kmem_cache_free(cfq_ioc_pool, cic); 1190 cfq_cic_free(cic);
1178} 1191}
1179 1192
1180static void cfq_free_io_context(struct io_context *ioc) 1193static void cfq_free_io_context(struct io_context *ioc)
1181{ 1194{
1182 int freed;
1183
1184 /* 1195 /*
1185 * ioc->refcount is zero here, so no more cic's are allowed to be 1196 * ioc->refcount is zero here, or we are called from elv_unregister(),
1186 * linked into this ioc. So it should be ok to iterate over the known 1197 * so no more cic's are allowed to be linked into this ioc. So it
1187 * list, we will see all cic's since no new ones are added. 1198 * should be ok to iterate over the known list, we will see all cic's
1199 * since no new ones are added.
1188 */ 1200 */
1189 freed = call_for_each_cic(ioc, cic_free_func); 1201 call_for_each_cic(ioc, cic_free_func);
1190
1191 elv_ioc_count_mod(ioc_count, -freed);
1192
1193 if (ioc_gone && !elv_ioc_count_read(ioc_count))
1194 complete(ioc_gone);
1195} 1202}
1196 1203
1197static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq) 1204static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq)
@@ -1458,15 +1465,6 @@ cfq_get_queue(struct cfq_data *cfqd, int is_sync, struct io_context *ioc,
1458 return cfqq; 1465 return cfqq;
1459} 1466}
1460 1467
1461static void cfq_cic_free(struct cfq_io_context *cic)
1462{
1463 kmem_cache_free(cfq_ioc_pool, cic);
1464 elv_ioc_count_dec(ioc_count);
1465
1466 if (ioc_gone && !elv_ioc_count_read(ioc_count))
1467 complete(ioc_gone);
1468}
1469
1470/* 1468/*
1471 * We drop cfq io contexts lazily, so we may find a dead one. 1469 * We drop cfq io contexts lazily, so we may find a dead one.
1472 */ 1470 */
@@ -2138,7 +2136,7 @@ static int __init cfq_slab_setup(void)
2138 if (!cfq_pool) 2136 if (!cfq_pool)
2139 goto fail; 2137 goto fail;
2140 2138
2141 cfq_ioc_pool = KMEM_CACHE(cfq_io_context, SLAB_DESTROY_BY_RCU); 2139 cfq_ioc_pool = KMEM_CACHE(cfq_io_context, 0);
2142 if (!cfq_ioc_pool) 2140 if (!cfq_ioc_pool)
2143 goto fail; 2141 goto fail;
2144 2142
@@ -2286,7 +2284,6 @@ static void __exit cfq_exit(void)
2286 smp_wmb(); 2284 smp_wmb();
2287 if (elv_ioc_count_read(ioc_count)) 2285 if (elv_ioc_count_read(ioc_count))
2288 wait_for_completion(ioc_gone); 2286 wait_for_completion(ioc_gone);
2289 synchronize_rcu();
2290 cfq_slab_kill(); 2287 cfq_slab_kill();
2291} 2288}
2292 2289
diff --git a/crypto/async_tx/async_xor.c b/crypto/async_tx/async_xor.c
index 7a9db353f19..1c445c7bdab 100644
--- a/crypto/async_tx/async_xor.c
+++ b/crypto/async_tx/async_xor.c
@@ -271,7 +271,7 @@ async_xor_zero_sum(struct page *dest, struct page **src_list,
271 271
272 BUG_ON(src_cnt <= 1); 272 BUG_ON(src_cnt <= 1);
273 273
274 if (device) { 274 if (device && src_cnt <= device->max_xor) {
275 dma_addr_t *dma_src = (dma_addr_t *) src_list; 275 dma_addr_t *dma_src = (dma_addr_t *) src_list;
276 unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0; 276 unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0;
277 int i; 277 int i;
diff --git a/crypto/xcbc.c b/crypto/xcbc.c
index 2feb0f239c3..b63b633e549 100644
--- a/crypto/xcbc.c
+++ b/crypto/xcbc.c
@@ -116,13 +116,11 @@ static int crypto_xcbc_digest_update2(struct hash_desc *pdesc,
116 struct crypto_xcbc_ctx *ctx = crypto_hash_ctx_aligned(parent); 116 struct crypto_xcbc_ctx *ctx = crypto_hash_ctx_aligned(parent);
117 struct crypto_cipher *tfm = ctx->child; 117 struct crypto_cipher *tfm = ctx->child;
118 int bs = crypto_hash_blocksize(parent); 118 int bs = crypto_hash_blocksize(parent);
119 unsigned int i = 0;
120 119
121 do { 120 for (;;) {
122 121 struct page *pg = sg_page(sg);
123 struct page *pg = sg_page(&sg[i]); 122 unsigned int offset = sg->offset;
124 unsigned int offset = sg[i].offset; 123 unsigned int slen = sg->length;
125 unsigned int slen = sg[i].length;
126 124
127 if (unlikely(slen > nbytes)) 125 if (unlikely(slen > nbytes))
128 slen = nbytes; 126 slen = nbytes;
@@ -182,8 +180,11 @@ static int crypto_xcbc_digest_update2(struct hash_desc *pdesc,
182 offset = 0; 180 offset = 0;
183 pg++; 181 pg++;
184 } 182 }
185 i++; 183
186 } while (nbytes>0); 184 if (!nbytes)
185 break;
186 sg = scatterwalk_sg_next(sg);
187 }
187 188
188 return 0; 189 return 0;
189} 190}
diff --git a/drivers/acpi/asus_acpi.c b/drivers/acpi/asus_acpi.c
index d25ef961415..44ad90c03c2 100644
--- a/drivers/acpi/asus_acpi.c
+++ b/drivers/acpi/asus_acpi.c
@@ -610,7 +610,7 @@ write_led(const char __user * buffer, unsigned long count,
610 (led_out) ? (hotk->status | ledmask) : (hotk->status & ~ledmask); 610 (led_out) ? (hotk->status | ledmask) : (hotk->status & ~ledmask);
611 611
612 if (invert) /* invert target value */ 612 if (invert) /* invert target value */
613 led_out = !led_out & 0x1; 613 led_out = !led_out;
614 614
615 if (!write_acpi_int(hotk->handle, ledname, led_out, NULL)) 615 if (!write_acpi_int(hotk->handle, ledname, led_out, NULL))
616 printk(KERN_WARNING "Asus ACPI: LED (%s) write failed\n", 616 printk(KERN_WARNING "Asus ACPI: LED (%s) write failed\n",
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index f6215e80980..d5729d5dc19 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -293,13 +293,12 @@ static int extract_package(struct acpi_battery *battery,
293 strncpy(ptr, (u8 *)&element->integer.value, 293 strncpy(ptr, (u8 *)&element->integer.value,
294 sizeof(acpi_integer)); 294 sizeof(acpi_integer));
295 ptr[sizeof(acpi_integer)] = 0; 295 ptr[sizeof(acpi_integer)] = 0;
296 } else return -EFAULT; 296 } else
297 *ptr = 0; /* don't have value */
297 } else { 298 } else {
298 if (element->type == ACPI_TYPE_INTEGER) { 299 int *x = (int *)((u8 *)battery + offsets[i].offset);
299 int *x = (int *)((u8 *)battery + 300 *x = (element->type == ACPI_TYPE_INTEGER) ?
300 offsets[i].offset); 301 element->integer.value : -1;
301 *x = element->integer.value;
302 } else return -EFAULT;
303 } 302 }
304 } 303 }
305 return 0; 304 return 0;
diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c
index 307cef65c24..fa44fb96fc3 100644
--- a/drivers/acpi/dock.c
+++ b/drivers/acpi/dock.c
@@ -710,6 +710,7 @@ static ssize_t write_undock(struct device *dev, struct device_attribute *attr,
710 if (!count) 710 if (!count)
711 return -EINVAL; 711 return -EINVAL;
712 712
713 begin_undock(dock_station);
713 ret = handle_eject_request(dock_station, ACPI_NOTIFY_EJECT_REQUEST); 714 ret = handle_eject_request(dock_station, ACPI_NOTIFY_EJECT_REQUEST);
714 return ret ? ret: count; 715 return ret ? ret: count;
715} 716}
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index e7e197e3a4f..7222a18a031 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -129,7 +129,6 @@ static struct acpi_ec {
129 struct mutex lock; 129 struct mutex lock;
130 wait_queue_head_t wait; 130 wait_queue_head_t wait;
131 struct list_head list; 131 struct list_head list;
132 atomic_t irq_count;
133 u8 handlers_installed; 132 u8 handlers_installed;
134} *boot_ec, *first_ec; 133} *boot_ec, *first_ec;
135 134
@@ -182,8 +181,6 @@ static int acpi_ec_wait(struct acpi_ec *ec, enum ec_event event, int force_poll)
182{ 181{
183 int ret = 0; 182 int ret = 0;
184 183
185 atomic_set(&ec->irq_count, 0);
186
187 if (unlikely(event == ACPI_EC_EVENT_OBF_1 && 184 if (unlikely(event == ACPI_EC_EVENT_OBF_1 &&
188 test_bit(EC_FLAGS_NO_OBF1_GPE, &ec->flags))) 185 test_bit(EC_FLAGS_NO_OBF1_GPE, &ec->flags)))
189 force_poll = 1; 186 force_poll = 1;
@@ -230,7 +227,6 @@ static int acpi_ec_wait(struct acpi_ec *ec, enum ec_event event, int force_poll)
230 while (time_before(jiffies, delay)) { 227 while (time_before(jiffies, delay)) {
231 if (acpi_ec_check_status(ec, event)) 228 if (acpi_ec_check_status(ec, event))
232 goto end; 229 goto end;
233 msleep(5);
234 } 230 }
235 } 231 }
236 pr_err(PREFIX "acpi_ec_wait timeout," 232 pr_err(PREFIX "acpi_ec_wait timeout,"
@@ -533,13 +529,6 @@ static u32 acpi_ec_gpe_handler(void *data)
533 struct acpi_ec *ec = data; 529 struct acpi_ec *ec = data;
534 530
535 pr_debug(PREFIX "~~~> interrupt\n"); 531 pr_debug(PREFIX "~~~> interrupt\n");
536 atomic_inc(&ec->irq_count);
537 if (atomic_read(&ec->irq_count) > 5) {
538 pr_err(PREFIX "GPE storm detected, disabling EC GPE\n");
539 acpi_disable_gpe(NULL, ec->gpe, ACPI_ISR);
540 clear_bit(EC_FLAGS_GPE_MODE, &ec->flags);
541 return ACPI_INTERRUPT_HANDLED;
542 }
543 clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags); 532 clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
544 if (test_bit(EC_FLAGS_GPE_MODE, &ec->flags)) 533 if (test_bit(EC_FLAGS_GPE_MODE, &ec->flags))
545 wake_up(&ec->wait); 534 wake_up(&ec->wait);
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index 7af414a3c63..89022a74fae 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -131,8 +131,8 @@ struct prt_quirk {
131 */ 131 */
132static struct prt_quirk prt_quirks[] = { 132static struct prt_quirk prt_quirks[] = {
133 { medion_md9580, 0, 0, 9, 'A', 133 { medion_md9580, 0, 0, 9, 'A',
134 "\\_SB_.PCI0.ISA.LNKA", 134 "\\_SB_.PCI0.ISA_.LNKA",
135 "\\_SB_.PCI0.ISA.LNKB"}, 135 "\\_SB_.PCI0.ISA_.LNKB"},
136 { dell_optiplex, 0, 0, 0xd, 'A', 136 { dell_optiplex, 0, 0, 0xd, 'A',
137 "\\_SB_.LNKB", 137 "\\_SB_.LNKB",
138 "\\_SB_.LNKA"}, 138 "\\_SB_.LNKA"},
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 6f3b217699e..788da9781f8 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -216,8 +216,10 @@ static void acpi_safe_halt(void)
216 * test NEED_RESCHED: 216 * test NEED_RESCHED:
217 */ 217 */
218 smp_mb(); 218 smp_mb();
219 if (!need_resched()) 219 if (!need_resched()) {
220 safe_halt(); 220 safe_halt();
221 local_irq_disable();
222 }
221 current_thread_info()->status |= TS_POLLING; 223 current_thread_info()->status |= TS_POLLING;
222} 224}
223 225
@@ -421,7 +423,9 @@ static void acpi_processor_idle(void)
421 else 423 else
422 acpi_safe_halt(); 424 acpi_safe_halt();
423 425
424 local_irq_enable(); 426 if (irqs_disabled())
427 local_irq_enable();
428
425 return; 429 return;
426 } 430 }
427 431
@@ -530,7 +534,9 @@ static void acpi_processor_idle(void)
530 * skew otherwise. 534 * skew otherwise.
531 */ 535 */
532 sleep_ticks = 0xFFFFFFFF; 536 sleep_ticks = 0xFFFFFFFF;
533 local_irq_enable(); 537 if (irqs_disabled())
538 local_irq_enable();
539
534 break; 540 break;
535 541
536 case ACPI_STATE_C2: 542 case ACPI_STATE_C2:
@@ -1481,7 +1487,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
1481 return 0; 1487 return 0;
1482 } 1488 }
1483 1489
1484 acpi_unlazy_tlb(smp_processor_id());
1485 /* 1490 /*
1486 * Must be done before busmaster disable as we might need to 1491 * Must be done before busmaster disable as we might need to
1487 * access HPET ! 1492 * access HPET !
@@ -1571,6 +1576,8 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
1571 return 0; 1576 return 0;
1572 } 1577 }
1573 1578
1579 acpi_unlazy_tlb(smp_processor_id());
1580
1574 /* Tell the scheduler that we are going deep-idle: */ 1581 /* Tell the scheduler that we are going deep-idle: */
1575 sched_clock_idle_sleep_event(); 1582 sched_clock_idle_sleep_event();
1576 /* 1583 /*
@@ -1686,7 +1693,9 @@ static int acpi_processor_setup_cpuidle(struct acpi_processor *pr)
1686 switch (cx->type) { 1693 switch (cx->type) {
1687 case ACPI_STATE_C1: 1694 case ACPI_STATE_C1:
1688 state->flags |= CPUIDLE_FLAG_SHALLOW; 1695 state->flags |= CPUIDLE_FLAG_SHALLOW;
1689 state->flags |= CPUIDLE_FLAG_TIME_VALID; 1696 if (cx->entry_method == ACPI_CSTATE_FFH)
1697 state->flags |= CPUIDLE_FLAG_TIME_VALID;
1698
1690 state->enter = acpi_idle_enter_c1; 1699 state->enter = acpi_idle_enter_c1;
1691 dev->safe_state = state; 1700 dev->safe_state = state;
1692 break; 1701 break;
diff --git a/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c
index a2cf3008ce6..bcf2c70fca8 100644
--- a/drivers/acpi/sbshc.c
+++ b/drivers/acpi/sbshc.c
@@ -130,7 +130,6 @@ static int acpi_smbus_transaction(struct acpi_smb_hc *hc, u8 protocol,
130 goto end; 130 goto end;
131 } 131 }
132 smb_hc_write(hc, ACPI_SMB_COMMAND, command); 132 smb_hc_write(hc, ACPI_SMB_COMMAND, command);
133 smb_hc_write(hc, ACPI_SMB_COMMAND, command);
134 if (!(protocol & 0x01)) { 133 if (!(protocol & 0x01)) {
135 smb_hc_write(hc, ACPI_SMB_BLOCK_COUNT, length); 134 smb_hc_write(hc, ACPI_SMB_BLOCK_COUNT, length);
136 for (i = 0; i < length; ++i) 135 for (i = 0; i < length; ++i)
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 57570ac4780..e6ce262b5d4 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -39,20 +39,26 @@ static int create_modalias(struct acpi_device *acpi_dev, char *modalias,
39 int size) 39 int size)
40{ 40{
41 int len; 41 int len;
42 int count;
42 43
43 if (!acpi_dev->flags.hardware_id) 44 if (!acpi_dev->flags.hardware_id && !acpi_dev->flags.compatible_ids)
44 return -ENODEV; 45 return -ENODEV;
45 46
46 len = snprintf(modalias, size, "acpi:%s:", 47 len = snprintf(modalias, size, "acpi:");
47 acpi_dev->pnp.hardware_id);
48 if (len < 0 || len >= size)
49 return -EINVAL;
50 size -= len; 48 size -= len;
51 49
50 if (acpi_dev->flags.hardware_id) {
51 count = snprintf(&modalias[len], size, "%s:",
52 acpi_dev->pnp.hardware_id);
53 if (count < 0 || count >= size)
54 return -EINVAL;
55 len += count;
56 size -= count;
57 }
58
52 if (acpi_dev->flags.compatible_ids) { 59 if (acpi_dev->flags.compatible_ids) {
53 struct acpi_compatible_id_list *cid_list; 60 struct acpi_compatible_id_list *cid_list;
54 int i; 61 int i;
55 int count;
56 62
57 cid_list = acpi_dev->pnp.cid_list; 63 cid_list = acpi_dev->pnp.cid_list;
58 for (i = 0; i < cid_list->count; i++) { 64 for (i = 0; i < cid_list->count; i++) {
diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c
index d2f71a54726..71183eea790 100644
--- a/drivers/acpi/sleep/main.c
+++ b/drivers/acpi/sleep/main.c
@@ -26,21 +26,6 @@ u8 sleep_states[ACPI_S_STATE_COUNT];
26 26
27#ifdef CONFIG_PM_SLEEP 27#ifdef CONFIG_PM_SLEEP
28static u32 acpi_target_sleep_state = ACPI_STATE_S0; 28static u32 acpi_target_sleep_state = ACPI_STATE_S0;
29static bool acpi_sleep_finish_wake_up;
30
31/*
32 * ACPI 2.0 and later want us to execute _PTS after suspending devices, so we
33 * allow the user to request that behavior by using the 'acpi_new_pts_ordering'
34 * kernel command line option that causes the following variable to be set.
35 */
36static bool new_pts_ordering;
37
38static int __init acpi_new_pts_ordering(char *str)
39{
40 new_pts_ordering = true;
41 return 1;
42}
43__setup("acpi_new_pts_ordering", acpi_new_pts_ordering);
44#endif 29#endif
45 30
46static int acpi_sleep_prepare(u32 acpi_state) 31static int acpi_sleep_prepare(u32 acpi_state)
@@ -91,14 +76,6 @@ static int acpi_pm_begin(suspend_state_t pm_state)
91 76
92 if (sleep_states[acpi_state]) { 77 if (sleep_states[acpi_state]) {
93 acpi_target_sleep_state = acpi_state; 78 acpi_target_sleep_state = acpi_state;
94 if (new_pts_ordering)
95 return 0;
96
97 error = acpi_sleep_prepare(acpi_state);
98 if (error)
99 acpi_target_sleep_state = ACPI_STATE_S0;
100 else
101 acpi_sleep_finish_wake_up = true;
102 } else { 79 } else {
103 printk(KERN_ERR "ACPI does not support this state: %d\n", 80 printk(KERN_ERR "ACPI does not support this state: %d\n",
104 pm_state); 81 pm_state);
@@ -116,14 +93,11 @@ static int acpi_pm_begin(suspend_state_t pm_state)
116 93
117static int acpi_pm_prepare(void) 94static int acpi_pm_prepare(void)
118{ 95{
119 if (new_pts_ordering) { 96 int error = acpi_sleep_prepare(acpi_target_sleep_state);
120 int error = acpi_sleep_prepare(acpi_target_sleep_state);
121 97
122 if (error) { 98 if (error) {
123 acpi_target_sleep_state = ACPI_STATE_S0; 99 acpi_target_sleep_state = ACPI_STATE_S0;
124 return error; 100 return error;
125 }
126 acpi_sleep_finish_wake_up = true;
127 } 101 }
128 102
129 return ACPI_SUCCESS(acpi_hw_disable_all_gpes()) ? 0 : -EFAULT; 103 return ACPI_SUCCESS(acpi_hw_disable_all_gpes()) ? 0 : -EFAULT;
@@ -212,7 +186,6 @@ static void acpi_pm_finish(void)
212 acpi_set_firmware_waking_vector((acpi_physical_address) 0); 186 acpi_set_firmware_waking_vector((acpi_physical_address) 0);
213 187
214 acpi_target_sleep_state = ACPI_STATE_S0; 188 acpi_target_sleep_state = ACPI_STATE_S0;
215 acpi_sleep_finish_wake_up = false;
216 189
217#ifdef CONFIG_X86 190#ifdef CONFIG_X86
218 if (init_8259A_after_S1) { 191 if (init_8259A_after_S1) {
@@ -229,11 +202,10 @@ static void acpi_pm_finish(void)
229static void acpi_pm_end(void) 202static void acpi_pm_end(void)
230{ 203{
231 /* 204 /*
232 * This is necessary in case acpi_pm_finish() is not called directly 205 * This is necessary in case acpi_pm_finish() is not called during a
233 * during a failing transition to a sleep state. 206 * failing transition to a sleep state.
234 */ 207 */
235 if (acpi_sleep_finish_wake_up) 208 acpi_target_sleep_state = ACPI_STATE_S0;
236 acpi_pm_finish();
237} 209}
238 210
239static int acpi_pm_state_valid(suspend_state_t pm_state) 211static int acpi_pm_state_valid(suspend_state_t pm_state)
@@ -285,31 +257,18 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
285#ifdef CONFIG_HIBERNATION 257#ifdef CONFIG_HIBERNATION
286static int acpi_hibernation_begin(void) 258static int acpi_hibernation_begin(void)
287{ 259{
288 int error;
289
290 acpi_target_sleep_state = ACPI_STATE_S4; 260 acpi_target_sleep_state = ACPI_STATE_S4;
291 if (new_pts_ordering)
292 return 0;
293 261
294 error = acpi_sleep_prepare(ACPI_STATE_S4); 262 return 0;
295 if (error)
296 acpi_target_sleep_state = ACPI_STATE_S0;
297 else
298 acpi_sleep_finish_wake_up = true;
299
300 return error;
301} 263}
302 264
303static int acpi_hibernation_prepare(void) 265static int acpi_hibernation_prepare(void)
304{ 266{
305 if (new_pts_ordering) { 267 int error = acpi_sleep_prepare(ACPI_STATE_S4);
306 int error = acpi_sleep_prepare(ACPI_STATE_S4);
307 268
308 if (error) { 269 if (error) {
309 acpi_target_sleep_state = ACPI_STATE_S0; 270 acpi_target_sleep_state = ACPI_STATE_S0;
310 return error; 271 return error;
311 }
312 acpi_sleep_finish_wake_up = true;
313 } 272 }
314 273
315 return ACPI_SUCCESS(acpi_hw_disable_all_gpes()) ? 0 : -EFAULT; 274 return ACPI_SUCCESS(acpi_hw_disable_all_gpes()) ? 0 : -EFAULT;
@@ -353,17 +312,15 @@ static void acpi_hibernation_finish(void)
353 acpi_set_firmware_waking_vector((acpi_physical_address) 0); 312 acpi_set_firmware_waking_vector((acpi_physical_address) 0);
354 313
355 acpi_target_sleep_state = ACPI_STATE_S0; 314 acpi_target_sleep_state = ACPI_STATE_S0;
356 acpi_sleep_finish_wake_up = false;
357} 315}
358 316
359static void acpi_hibernation_end(void) 317static void acpi_hibernation_end(void)
360{ 318{
361 /* 319 /*
362 * This is necessary in case acpi_hibernation_finish() is not called 320 * This is necessary in case acpi_hibernation_finish() is not called
363 * directly during a failing transition to the sleep state. 321 * during a failing transition to the sleep state.
364 */ 322 */
365 if (acpi_sleep_finish_wake_up) 323 acpi_target_sleep_state = ACPI_STATE_S0;
366 acpi_hibernation_finish();
367} 324}
368 325
369static int acpi_hibernation_pre_restore(void) 326static int acpi_hibernation_pre_restore(void)
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 1bc0c74f275..12fb44f1676 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -807,40 +807,11 @@ static void acpi_video_bus_find_cap(struct acpi_video_bus *video)
807static int acpi_video_bus_check(struct acpi_video_bus *video) 807static int acpi_video_bus_check(struct acpi_video_bus *video)
808{ 808{
809 acpi_status status = -ENOENT; 809 acpi_status status = -ENOENT;
810 long device_id; 810
811 struct device *dev;
812 struct acpi_device *device;
813 811
814 if (!video) 812 if (!video)
815 return -EINVAL; 813 return -EINVAL;
816 814
817 device = video->device;
818
819 status =
820 acpi_evaluate_integer(device->handle, "_ADR", NULL, &device_id);
821
822 if (!ACPI_SUCCESS(status))
823 return -ENODEV;
824
825 /* We need to attempt to determine whether the _ADR refers to a
826 PCI device or not. There's no terribly good way to do this,
827 so the best we can hope for is to assume that there'll never
828 be a video device in the host bridge */
829 if (device_id >= 0x10000) {
830 /* It looks like a PCI device. Does it exist? */
831 dev = acpi_get_physical_device(device->handle);
832 } else {
833 /* It doesn't look like a PCI device. Does its parent
834 exist? */
835 acpi_handle phandle;
836 if (acpi_get_parent(device->handle, &phandle))
837 return -ENODEV;
838 dev = acpi_get_physical_device(phandle);
839 }
840 if (!dev)
841 return -ENODEV;
842 put_device(dev);
843
844 /* Since there is no HID, CID and so on for VGA driver, we have 815 /* Since there is no HID, CID and so on for VGA driver, we have
845 * to check well known required nodes. 816 * to check well known required nodes.
846 */ 817 */
@@ -1366,37 +1337,8 @@ acpi_video_bus_write_DOS(struct file *file,
1366 1337
1367static int acpi_video_bus_add_fs(struct acpi_device *device) 1338static int acpi_video_bus_add_fs(struct acpi_device *device)
1368{ 1339{
1369 long device_id;
1370 int status;
1371 struct proc_dir_entry *entry = NULL; 1340 struct proc_dir_entry *entry = NULL;
1372 struct acpi_video_bus *video; 1341 struct acpi_video_bus *video;
1373 struct device *dev;
1374
1375 status =
1376 acpi_evaluate_integer(device->handle, "_ADR", NULL, &device_id);
1377
1378 if (!ACPI_SUCCESS(status))
1379 return -ENODEV;
1380
1381 /* We need to attempt to determine whether the _ADR refers to a
1382 PCI device or not. There's no terribly good way to do this,
1383 so the best we can hope for is to assume that there'll never
1384 be a video device in the host bridge */
1385 if (device_id >= 0x10000) {
1386 /* It looks like a PCI device. Does it exist? */
1387 dev = acpi_get_physical_device(device->handle);
1388 } else {
1389 /* It doesn't look like a PCI device. Does its parent
1390 exist? */
1391 acpi_handle phandle;
1392 if (acpi_get_parent(device->handle, &phandle))
1393 return -ENODEV;
1394 dev = acpi_get_physical_device(phandle);
1395 }
1396 if (!dev)
1397 return -ENODEV;
1398 put_device(dev);
1399
1400 1342
1401 1343
1402 video = acpi_driver_data(device); 1344 video = acpi_driver_data(device);
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index e469647330d..25aba69b59b 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -30,6 +30,7 @@ config ATA_NONSTANDARD
30config ATA_ACPI 30config ATA_ACPI
31 bool 31 bool
32 depends on ACPI && PCI 32 depends on ACPI && PCI
33 select ACPI_DOCK
33 default y 34 default y
34 help 35 help
35 This option adds support for ATA-related ACPI objects. 36 This option adds support for ATA-related ACPI objects.
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 17ee6ed985d..b1eb4e24c86 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -433,6 +433,7 @@ static const struct ata_port_info ahci_port_info[] = {
433 /* board_ahci_sb600 */ 433 /* board_ahci_sb600 */
434 { 434 {
435 AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL | 435 AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL |
436 AHCI_HFLAG_32BIT_ONLY |
436 AHCI_HFLAG_SECT255 | AHCI_HFLAG_NO_PMP), 437 AHCI_HFLAG_SECT255 | AHCI_HFLAG_NO_PMP),
437 .flags = AHCI_FLAG_COMMON, 438 .flags = AHCI_FLAG_COMMON,
438 .link_flags = AHCI_LFLAG_COMMON, 439 .link_flags = AHCI_LFLAG_COMMON,
@@ -1217,8 +1218,11 @@ static void ahci_dev_config(struct ata_device *dev)
1217{ 1218{
1218 struct ahci_host_priv *hpriv = dev->link->ap->host->private_data; 1219 struct ahci_host_priv *hpriv = dev->link->ap->host->private_data;
1219 1220
1220 if (hpriv->flags & AHCI_HFLAG_SECT255) 1221 if (hpriv->flags & AHCI_HFLAG_SECT255) {
1221 dev->max_sectors = 255; 1222 dev->max_sectors = 255;
1223 ata_dev_printk(dev, KERN_INFO,
1224 "SB600 AHCI: limiting to 255 sectors per cmd\n");
1225 }
1222} 1226}
1223 1227
1224static unsigned int ahci_dev_classify(struct ata_port *ap) 1228static unsigned int ahci_dev_classify(struct ata_port *ap)
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 4bbe31f98ef..48519887f94 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -972,7 +972,7 @@ static void ata_dev_disable_pm(struct ata_device *dev)
972void ata_lpm_schedule(struct ata_port *ap, enum link_pm policy) 972void ata_lpm_schedule(struct ata_port *ap, enum link_pm policy)
973{ 973{
974 ap->pm_policy = policy; 974 ap->pm_policy = policy;
975 ap->link.eh_info.action |= ATA_EHI_LPM; 975 ap->link.eh_info.action |= ATA_EH_LPM;
976 ap->link.eh_info.flags |= ATA_EHI_NO_AUTOPSY; 976 ap->link.eh_info.flags |= ATA_EHI_NO_AUTOPSY;
977 ata_port_schedule_eh(ap); 977 ata_port_schedule_eh(ap);
978} 978}
@@ -1416,12 +1416,12 @@ static int ata_hpa_resize(struct ata_device *dev)
1416 /* read native max address */ 1416 /* read native max address */
1417 rc = ata_read_native_max_address(dev, &native_sectors); 1417 rc = ata_read_native_max_address(dev, &native_sectors);
1418 if (rc) { 1418 if (rc) {
1419 /* If HPA isn't going to be unlocked, skip HPA 1419 /* If device aborted the command or HPA isn't going to
1420 * resizing from the next try. 1420 * be unlocked, skip HPA resizing.
1421 */ 1421 */
1422 if (!ata_ignore_hpa) { 1422 if (rc == -EACCES || !ata_ignore_hpa) {
1423 ata_dev_printk(dev, KERN_WARNING, "HPA support seems " 1423 ata_dev_printk(dev, KERN_WARNING, "HPA support seems "
1424 "broken, will skip HPA handling\n"); 1424 "broken, skipping HPA handling\n");
1425 dev->horkage |= ATA_HORKAGE_BROKEN_HPA; 1425 dev->horkage |= ATA_HORKAGE_BROKEN_HPA;
1426 1426
1427 /* we can continue if device aborted the command */ 1427 /* we can continue if device aborted the command */
@@ -2092,24 +2092,34 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class,
2092 id, sizeof(id[0]) * ATA_ID_WORDS, 0); 2092 id, sizeof(id[0]) * ATA_ID_WORDS, 0);
2093 if (err_mask) { 2093 if (err_mask) {
2094 if (err_mask & AC_ERR_NODEV_HINT) { 2094 if (err_mask & AC_ERR_NODEV_HINT) {
2095 DPRINTK("ata%u.%d: NODEV after polling detection\n", 2095 ata_dev_printk(dev, KERN_DEBUG,
2096 ap->print_id, dev->devno); 2096 "NODEV after polling detection\n");
2097 return -ENOENT; 2097 return -ENOENT;
2098 } 2098 }
2099 2099
2100 /* Device or controller might have reported the wrong 2100 if ((err_mask == AC_ERR_DEV) && (tf.feature & ATA_ABORTED)) {
2101 * device class. Give a shot at the other IDENTIFY if 2101 /* Device or controller might have reported
2102 * the current one is aborted by the device. 2102 * the wrong device class. Give a shot at the
2103 */ 2103 * other IDENTIFY if the current one is
2104 if (may_fallback && 2104 * aborted by the device.
2105 (err_mask == AC_ERR_DEV) && (tf.feature & ATA_ABORTED)) { 2105 */
2106 may_fallback = 0; 2106 if (may_fallback) {
2107 may_fallback = 0;
2107 2108
2108 if (class == ATA_DEV_ATA) 2109 if (class == ATA_DEV_ATA)
2109 class = ATA_DEV_ATAPI; 2110 class = ATA_DEV_ATAPI;
2110 else 2111 else
2111 class = ATA_DEV_ATA; 2112 class = ATA_DEV_ATA;
2112 goto retry; 2113 goto retry;
2114 }
2115
2116 /* Control reaches here iff the device aborted
2117 * both flavors of IDENTIFYs which happens
2118 * sometimes with phantom devices.
2119 */
2120 ata_dev_printk(dev, KERN_DEBUG,
2121 "both IDENTIFYs aborted, assuming NODEV\n");
2122 return -ENOENT;
2113 } 2123 }
2114 2124
2115 rc = -EIO; 2125 rc = -EIO;
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 681252fd814..a5830329eda 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2748,7 +2748,7 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
2748 ehc->i.flags &= ~ATA_EHI_SETMODE; 2748 ehc->i.flags &= ~ATA_EHI_SETMODE;
2749 } 2749 }
2750 2750
2751 if (ehc->i.action & ATA_EHI_LPM) 2751 if (ehc->i.action & ATA_EH_LPM)
2752 ata_link_for_each_dev(dev, link) 2752 ata_link_for_each_dev(dev, link)
2753 ata_dev_enable_pm(dev, ap->pm_policy); 2753 ata_dev_enable_pm(dev, ap->pm_policy);
2754 2754
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 8f0e8f2bc62..15795394b0a 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -527,6 +527,14 @@ static struct ata_queued_cmd *ata_scsi_qc_new(struct ata_device *dev,
527 return qc; 527 return qc;
528} 528}
529 529
530static void ata_qc_set_pc_nbytes(struct ata_queued_cmd *qc)
531{
532 struct scsi_cmnd *scmd = qc->scsicmd;
533
534 qc->extrabytes = scmd->request->extra_len;
535 qc->nbytes = scsi_bufflen(scmd) + qc->extrabytes;
536}
537
530/** 538/**
531 * ata_dump_status - user friendly display of error info 539 * ata_dump_status - user friendly display of error info
532 * @id: id of the port in question 540 * @id: id of the port in question
@@ -2539,7 +2547,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc)
2539 } 2547 }
2540 2548
2541 qc->tf.command = ATA_CMD_PACKET; 2549 qc->tf.command = ATA_CMD_PACKET;
2542 qc->nbytes = scsi_bufflen(scmd) + scmd->request->extra_len; 2550 ata_qc_set_pc_nbytes(qc);
2543 2551
2544 /* check whether ATAPI DMA is safe */ 2552 /* check whether ATAPI DMA is safe */
2545 if (!using_pio && ata_check_atapi_dma(qc)) 2553 if (!using_pio && ata_check_atapi_dma(qc))
@@ -2550,7 +2558,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc)
2550 * want to set it properly, and for DMA where it is 2558 * want to set it properly, and for DMA where it is
2551 * effectively meaningless. 2559 * effectively meaningless.
2552 */ 2560 */
2553 nbytes = min(scmd->request->data_len, (unsigned int)63 * 1024); 2561 nbytes = min(ata_qc_raw_nbytes(qc), (unsigned int)63 * 1024);
2554 2562
2555 /* Most ATAPI devices which honor transfer chunk size don't 2563 /* Most ATAPI devices which honor transfer chunk size don't
2556 * behave according to the spec when odd chunk size which 2564 * behave according to the spec when odd chunk size which
@@ -2876,7 +2884,7 @@ static unsigned int ata_scsi_pass_thru(struct ata_queued_cmd *qc)
2876 * TODO: find out if we need to do more here to 2884 * TODO: find out if we need to do more here to
2877 * cover scatter/gather case. 2885 * cover scatter/gather case.
2878 */ 2886 */
2879 qc->nbytes = scsi_bufflen(scmd) + scmd->request->extra_len; 2887 ata_qc_set_pc_nbytes(qc);
2880 2888
2881 /* request result TF and be quiet about device error */ 2889 /* request result TF and be quiet about device error */
2882 qc->flags |= ATA_QCFLAG_RESULT_TF | ATA_QCFLAG_QUIET; 2890 qc->flags |= ATA_QCFLAG_RESULT_TF | ATA_QCFLAG_QUIET;
diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c
index 109ddd42c26..257951d03db 100644
--- a/drivers/ata/pata_it821x.c
+++ b/drivers/ata/pata_it821x.c
@@ -564,7 +564,7 @@ static int it821x_check_atapi_dma(struct ata_queued_cmd *qc)
564 struct it821x_dev *itdev = ap->private_data; 564 struct it821x_dev *itdev = ap->private_data;
565 565
566 /* Only use dma for transfers to/from the media. */ 566 /* Only use dma for transfers to/from the media. */
567 if (qc->nbytes < 2048) 567 if (ata_qc_raw_nbytes(qc) < 2048)
568 return -EOPNOTSUPP; 568 return -EOPNOTSUPP;
569 569
570 /* No ATAPI DMA in smart mode */ 570 /* No ATAPI DMA in smart mode */
diff --git a/drivers/ata/pata_sil680.c b/drivers/ata/pata_sil680.c
index 503245a1eaf..3988e44f493 100644
--- a/drivers/ata/pata_sil680.c
+++ b/drivers/ata/pata_sil680.c
@@ -269,7 +269,11 @@ static u8 sil680_init_chip(struct pci_dev *pdev, int *try_mmio)
269 dev_dbg(&pdev->dev, "sil680: BA5_EN = %d clock = %02X\n", 269 dev_dbg(&pdev->dev, "sil680: BA5_EN = %d clock = %02X\n",
270 tmpbyte & 1, tmpbyte & 0x30); 270 tmpbyte & 1, tmpbyte & 0x30);
271 271
272 *try_mmio = (tmpbyte & 1) || pci_resource_start(pdev, 5); 272 *try_mmio = 0;
273#ifdef CONFIG_PPC
274 if (machine_is(cell))
275 *try_mmio = (tmpbyte & 1) || pci_resource_start(pdev, 5);
276#endif
273 277
274 switch(tmpbyte & 0x30) { 278 switch(tmpbyte & 0x30) {
275 case 0x00: 279 case 0x00:
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index f251a5f569d..11c1afea2db 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -46,7 +46,7 @@
46#include "sata_promise.h" 46#include "sata_promise.h"
47 47
48#define DRV_NAME "sata_promise" 48#define DRV_NAME "sata_promise"
49#define DRV_VERSION "2.11" 49#define DRV_VERSION "2.12"
50 50
51enum { 51enum {
52 PDC_MAX_PORTS = 4, 52 PDC_MAX_PORTS = 4,
@@ -145,7 +145,9 @@ static int pdc_old_sata_check_atapi_dma(struct ata_queued_cmd *qc);
145static void pdc_irq_clear(struct ata_port *ap); 145static void pdc_irq_clear(struct ata_port *ap);
146static unsigned int pdc_qc_issue_prot(struct ata_queued_cmd *qc); 146static unsigned int pdc_qc_issue_prot(struct ata_queued_cmd *qc);
147static void pdc_freeze(struct ata_port *ap); 147static void pdc_freeze(struct ata_port *ap);
148static void pdc_sata_freeze(struct ata_port *ap);
148static void pdc_thaw(struct ata_port *ap); 149static void pdc_thaw(struct ata_port *ap);
150static void pdc_sata_thaw(struct ata_port *ap);
149static void pdc_pata_error_handler(struct ata_port *ap); 151static void pdc_pata_error_handler(struct ata_port *ap);
150static void pdc_sata_error_handler(struct ata_port *ap); 152static void pdc_sata_error_handler(struct ata_port *ap);
151static void pdc_post_internal_cmd(struct ata_queued_cmd *qc); 153static void pdc_post_internal_cmd(struct ata_queued_cmd *qc);
@@ -180,8 +182,8 @@ static const struct ata_port_operations pdc_sata_ops = {
180 182
181 .qc_prep = pdc_qc_prep, 183 .qc_prep = pdc_qc_prep,
182 .qc_issue = pdc_qc_issue_prot, 184 .qc_issue = pdc_qc_issue_prot,
183 .freeze = pdc_freeze, 185 .freeze = pdc_sata_freeze,
184 .thaw = pdc_thaw, 186 .thaw = pdc_sata_thaw,
185 .error_handler = pdc_sata_error_handler, 187 .error_handler = pdc_sata_error_handler,
186 .post_internal_cmd = pdc_post_internal_cmd, 188 .post_internal_cmd = pdc_post_internal_cmd,
187 .cable_detect = pdc_sata_cable_detect, 189 .cable_detect = pdc_sata_cable_detect,
@@ -205,8 +207,8 @@ static const struct ata_port_operations pdc_old_sata_ops = {
205 207
206 .qc_prep = pdc_qc_prep, 208 .qc_prep = pdc_qc_prep,
207 .qc_issue = pdc_qc_issue_prot, 209 .qc_issue = pdc_qc_issue_prot,
208 .freeze = pdc_freeze, 210 .freeze = pdc_sata_freeze,
209 .thaw = pdc_thaw, 211 .thaw = pdc_sata_thaw,
210 .error_handler = pdc_sata_error_handler, 212 .error_handler = pdc_sata_error_handler,
211 .post_internal_cmd = pdc_post_internal_cmd, 213 .post_internal_cmd = pdc_post_internal_cmd,
212 .cable_detect = pdc_sata_cable_detect, 214 .cable_detect = pdc_sata_cable_detect,
@@ -631,6 +633,41 @@ static void pdc_qc_prep(struct ata_queued_cmd *qc)
631 } 633 }
632} 634}
633 635
636static int pdc_is_sataii_tx4(unsigned long flags)
637{
638 const unsigned long mask = PDC_FLAG_GEN_II | PDC_FLAG_4_PORTS;
639 return (flags & mask) == mask;
640}
641
642static unsigned int pdc_port_no_to_ata_no(unsigned int port_no,
643 int is_sataii_tx4)
644{
645 static const unsigned char sataii_tx4_port_remap[4] = { 3, 1, 0, 2};
646 return is_sataii_tx4 ? sataii_tx4_port_remap[port_no] : port_no;
647}
648
649static unsigned int pdc_sata_nr_ports(const struct ata_port *ap)
650{
651 return (ap->flags & PDC_FLAG_4_PORTS) ? 4 : 2;
652}
653
654static unsigned int pdc_sata_ata_port_to_ata_no(const struct ata_port *ap)
655{
656 const struct ata_host *host = ap->host;
657 unsigned int nr_ports = pdc_sata_nr_ports(ap);
658 unsigned int i;
659
660 for(i = 0; i < nr_ports && host->ports[i] != ap; ++i)
661 ;
662 BUG_ON(i >= nr_ports);
663 return pdc_port_no_to_ata_no(i, pdc_is_sataii_tx4(ap->flags));
664}
665
666static unsigned int pdc_sata_hotplug_offset(const struct ata_port *ap)
667{
668 return (ap->flags & PDC_FLAG_GEN_II) ? PDC2_SATA_PLUG_CSR : PDC_SATA_PLUG_CSR;
669}
670
634static void pdc_freeze(struct ata_port *ap) 671static void pdc_freeze(struct ata_port *ap)
635{ 672{
636 void __iomem *mmio = ap->ioaddr.cmd_addr; 673 void __iomem *mmio = ap->ioaddr.cmd_addr;
@@ -643,6 +680,29 @@ static void pdc_freeze(struct ata_port *ap)
643 readl(mmio + PDC_CTLSTAT); /* flush */ 680 readl(mmio + PDC_CTLSTAT); /* flush */
644} 681}
645 682
683static void pdc_sata_freeze(struct ata_port *ap)
684{
685 struct ata_host *host = ap->host;
686 void __iomem *host_mmio = host->iomap[PDC_MMIO_BAR];
687 unsigned int hotplug_offset = pdc_sata_hotplug_offset(ap);
688 unsigned int ata_no = pdc_sata_ata_port_to_ata_no(ap);
689 u32 hotplug_status;
690
691 /* Disable hotplug events on this port.
692 *
693 * Locking:
694 * 1) hotplug register accesses must be serialised via host->lock
695 * 2) ap->lock == &ap->host->lock
696 * 3) ->freeze() and ->thaw() are called with ap->lock held
697 */
698 hotplug_status = readl(host_mmio + hotplug_offset);
699 hotplug_status |= 0x11 << (ata_no + 16);
700 writel(hotplug_status, host_mmio + hotplug_offset);
701 readl(host_mmio + hotplug_offset); /* flush */
702
703 pdc_freeze(ap);
704}
705
646static void pdc_thaw(struct ata_port *ap) 706static void pdc_thaw(struct ata_port *ap)
647{ 707{
648 void __iomem *mmio = ap->ioaddr.cmd_addr; 708 void __iomem *mmio = ap->ioaddr.cmd_addr;
@@ -658,6 +718,26 @@ static void pdc_thaw(struct ata_port *ap)
658 readl(mmio + PDC_CTLSTAT); /* flush */ 718 readl(mmio + PDC_CTLSTAT); /* flush */
659} 719}
660 720
721static void pdc_sata_thaw(struct ata_port *ap)
722{
723 struct ata_host *host = ap->host;
724 void __iomem *host_mmio = host->iomap[PDC_MMIO_BAR];
725 unsigned int hotplug_offset = pdc_sata_hotplug_offset(ap);
726 unsigned int ata_no = pdc_sata_ata_port_to_ata_no(ap);
727 u32 hotplug_status;
728
729 pdc_thaw(ap);
730
731 /* Enable hotplug events on this port.
732 * Locking: see pdc_sata_freeze().
733 */
734 hotplug_status = readl(host_mmio + hotplug_offset);
735 hotplug_status |= 0x11 << ata_no;
736 hotplug_status &= ~(0x11 << (ata_no + 16));
737 writel(hotplug_status, host_mmio + hotplug_offset);
738 readl(host_mmio + hotplug_offset); /* flush */
739}
740
661static void pdc_common_error_handler(struct ata_port *ap, ata_reset_fn_t hardreset) 741static void pdc_common_error_handler(struct ata_port *ap, ata_reset_fn_t hardreset)
662{ 742{
663 if (!(ap->pflags & ATA_PFLAG_FROZEN)) 743 if (!(ap->pflags & ATA_PFLAG_FROZEN))
@@ -765,19 +845,6 @@ static void pdc_irq_clear(struct ata_port *ap)
765 readl(mmio + PDC_INT_SEQMASK); 845 readl(mmio + PDC_INT_SEQMASK);
766} 846}
767 847
768static int pdc_is_sataii_tx4(unsigned long flags)
769{
770 const unsigned long mask = PDC_FLAG_GEN_II | PDC_FLAG_4_PORTS;
771 return (flags & mask) == mask;
772}
773
774static unsigned int pdc_port_no_to_ata_no(unsigned int port_no,
775 int is_sataii_tx4)
776{
777 static const unsigned char sataii_tx4_port_remap[4] = { 3, 1, 0, 2};
778 return is_sataii_tx4 ? sataii_tx4_port_remap[port_no] : port_no;
779}
780
781static irqreturn_t pdc_interrupt(int irq, void *dev_instance) 848static irqreturn_t pdc_interrupt(int irq, void *dev_instance)
782{ 849{
783 struct ata_host *host = dev_instance; 850 struct ata_host *host = dev_instance;
@@ -799,6 +866,8 @@ static irqreturn_t pdc_interrupt(int irq, void *dev_instance)
799 866
800 mmio_base = host->iomap[PDC_MMIO_BAR]; 867 mmio_base = host->iomap[PDC_MMIO_BAR];
801 868
869 spin_lock(&host->lock);
870
802 /* read and clear hotplug flags for all ports */ 871 /* read and clear hotplug flags for all ports */
803 if (host->ports[0]->flags & PDC_FLAG_GEN_II) 872 if (host->ports[0]->flags & PDC_FLAG_GEN_II)
804 hotplug_offset = PDC2_SATA_PLUG_CSR; 873 hotplug_offset = PDC2_SATA_PLUG_CSR;
@@ -814,11 +883,9 @@ static irqreturn_t pdc_interrupt(int irq, void *dev_instance)
814 883
815 if (mask == 0xffffffff && hotplug_status == 0) { 884 if (mask == 0xffffffff && hotplug_status == 0) {
816 VPRINTK("QUICK EXIT 2\n"); 885 VPRINTK("QUICK EXIT 2\n");
817 return IRQ_NONE; 886 goto done_irq;
818 } 887 }
819 888
820 spin_lock(&host->lock);
821
822 mask &= 0xffff; /* only 16 tags possible */ 889 mask &= 0xffff; /* only 16 tags possible */
823 if (mask == 0 && hotplug_status == 0) { 890 if (mask == 0 && hotplug_status == 0) {
824 VPRINTK("QUICK EXIT 3\n"); 891 VPRINTK("QUICK EXIT 3\n");
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 7de543d1d0b..24198ad0197 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -19,6 +19,7 @@
19#include <linux/kdev_t.h> 19#include <linux/kdev_t.h>
20#include <linux/notifier.h> 20#include <linux/notifier.h>
21#include <linux/genhd.h> 21#include <linux/genhd.h>
22#include <linux/kallsyms.h>
22#include <asm/semaphore.h> 23#include <asm/semaphore.h>
23 24
24#include "base.h" 25#include "base.h"
@@ -68,6 +69,10 @@ static ssize_t dev_attr_show(struct kobject *kobj, struct attribute *attr,
68 69
69 if (dev_attr->show) 70 if (dev_attr->show)
70 ret = dev_attr->show(dev, dev_attr, buf); 71 ret = dev_attr->show(dev, dev_attr, buf);
72 if (ret >= (ssize_t)PAGE_SIZE) {
73 print_symbol("dev_attr_show: %s returned bad count\n",
74 (unsigned long)dev_attr->show);
75 }
71 return ret; 76 return ret;
72} 77}
73 78
diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index bf31a0170a4..9a6537f1440 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -133,6 +133,7 @@ int driver_add_kobj(struct device_driver *drv, struct kobject *kobj,
133{ 133{
134 va_list args; 134 va_list args;
135 char *name; 135 char *name;
136 int ret;
136 137
137 va_start(args, fmt); 138 va_start(args, fmt);
138 name = kvasprintf(GFP_KERNEL, fmt, args); 139 name = kvasprintf(GFP_KERNEL, fmt, args);
@@ -141,7 +142,9 @@ int driver_add_kobj(struct device_driver *drv, struct kobject *kobj,
141 if (!name) 142 if (!name)
142 return -ENOMEM; 143 return -ENOMEM;
143 144
144 return kobject_add(kobj, &drv->p->kobj, "%s", name); 145 ret = kobject_add(kobj, &drv->p->kobj, "%s", name);
146 kfree(name);
147 return ret;
145} 148}
146EXPORT_SYMBOL_GPL(driver_add_kobj); 149EXPORT_SYMBOL_GPL(driver_add_kobj);
147 150
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index b6d230b3209..0d1d2133d9b 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -44,16 +44,6 @@ config MAC_FLOPPY
44 If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple) 44 If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple)
45 floppy controller, say Y here. Most commonly found in PowerMacs. 45 floppy controller, say Y here. Most commonly found in PowerMacs.
46 46
47config BLK_DEV_PS2
48 tristate "PS/2 ESDI hard disk support"
49 depends on MCA && MCA_LEGACY && BROKEN
50 help
51 Say Y here if you have a PS/2 machine with a MCA bus and an ESDI
52 hard disk.
53
54 To compile this driver as a module, choose M here: the
55 module will be called ps2esdi.
56
57config AMIGA_Z2RAM 47config AMIGA_Z2RAM
58 tristate "Amiga Zorro II ramdisk support" 48 tristate "Amiga Zorro II ramdisk support"
59 depends on ZORRO 49 depends on ZORRO
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
index 01c972415cb..5e584306be9 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
@@ -13,7 +13,6 @@ obj-$(CONFIG_ATARI_FLOPPY) += ataflop.o
13obj-$(CONFIG_AMIGA_Z2RAM) += z2ram.o 13obj-$(CONFIG_AMIGA_Z2RAM) += z2ram.o
14obj-$(CONFIG_BLK_DEV_RAM) += brd.o 14obj-$(CONFIG_BLK_DEV_RAM) += brd.o
15obj-$(CONFIG_BLK_DEV_LOOP) += loop.o 15obj-$(CONFIG_BLK_DEV_LOOP) += loop.o
16obj-$(CONFIG_BLK_DEV_PS2) += ps2esdi.o
17obj-$(CONFIG_BLK_DEV_XD) += xd.o 16obj-$(CONFIG_BLK_DEV_XD) += xd.o
18obj-$(CONFIG_BLK_CPQ_DA) += cpqarray.o 17obj-$(CONFIG_BLK_CPQ_DA) += cpqarray.o
19obj-$(CONFIG_BLK_CPQ_CISS_DA) += cciss.o 18obj-$(CONFIG_BLK_CPQ_CISS_DA) += cciss.o
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index b53fdb0a282..60cc54368b6 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -153,6 +153,12 @@ static int sock_xmit(struct nbd_device *lo, int send, void *buf, int size,
153 struct kvec iov; 153 struct kvec iov;
154 sigset_t blocked, oldset; 154 sigset_t blocked, oldset;
155 155
156 if (unlikely(!sock)) {
157 printk(KERN_ERR "%s: Attempted %s on closed socket in sock_xmit\n",
158 lo->disk->disk_name, (send ? "send" : "recv"));
159 return -EINVAL;
160 }
161
156 /* Allow interception of SIGKILL only 162 /* Allow interception of SIGKILL only
157 * Don't allow other signals to interrupt the transmission */ 163 * Don't allow other signals to interrupt the transmission */
158 siginitsetinv(&blocked, sigmask(SIGKILL)); 164 siginitsetinv(&blocked, sigmask(SIGKILL));
diff --git a/drivers/block/ps2esdi.c b/drivers/block/ps2esdi.c
deleted file mode 100644
index 3c796e23625..00000000000
--- a/drivers/block/ps2esdi.c
+++ /dev/null
@@ -1,1079 +0,0 @@
1/* ps2esdi driver based on assembler code by Arindam Banerji,
2 written by Peter De Schrijver */
3/* Reassuring note to IBM : This driver was NOT developed by vice-versa
4 engineering the PS/2's BIOS */
5/* Dedicated to Wannes, Tofke, Ykke, Godot, Killroy and all those
6 other lovely fish out there... */
7/* This code was written during the long and boring WINA
8 elections 1994 */
9/* Thanks to Arindam Banerij for giving me the source of his driver */
10/* This code may be freely distributed and modified in any way,
11 as long as these notes remain intact */
12
13/* Revised: 05/07/94 by Arindam Banerji (axb@cse.nd.edu) */
14/* Revised: 09/08/94 by Peter De Schrijver (stud11@cc4.kuleuven.ac.be)
15 Thanks to Arindam Banerij for sending me the docs of the adapter */
16
17/* BA Modified for ThinkPad 720 by Boris Ashkinazi */
18/* (bash@vnet.ibm.com) 08/08/95 */
19
20/* Modified further for ThinkPad-720C by Uri Blumenthal */
21/* (uri@watson.ibm.com) Sep 11, 1995 */
22
23/* TODO :
24 + Timeouts
25 + Get disk parameters
26 + DMA above 16MB
27 + reset after read/write error
28 */
29
30#define DEVICE_NAME "PS/2 ESDI"
31
32#include <linux/major.h>
33#include <linux/errno.h>
34#include <linux/wait.h>
35#include <linux/interrupt.h>
36#include <linux/fs.h>
37#include <linux/kernel.h>
38#include <linux/genhd.h>
39#include <linux/ps2esdi.h>
40#include <linux/blkdev.h>
41#include <linux/mca-legacy.h>
42#include <linux/init.h>
43#include <linux/ioport.h>
44#include <linux/module.h>
45#include <linux/hdreg.h>
46
47#include <asm/system.h>
48#include <asm/io.h>
49#include <asm/dma.h>
50#include <asm/mca_dma.h>
51#include <asm/uaccess.h>
52
53#define PS2ESDI_IRQ 14
54#define MAX_HD 2
55#define MAX_RETRIES 5
56#define MAX_16BIT 65536
57#define ESDI_TIMEOUT 0xf000
58#define ESDI_STAT_TIMEOUT 4
59
60#define TYPE_0_CMD_BLK_LENGTH 2
61#define TYPE_1_CMD_BLK_LENGTH 4
62
63static void reset_ctrl(void);
64
65static int ps2esdi_geninit(void);
66
67static void do_ps2esdi_request(struct request_queue * q);
68
69static void ps2esdi_readwrite(int cmd, struct request *req);
70
71static void ps2esdi_fill_cmd_block(u_short * cmd_blk, u_short cmd,
72u_short cyl, u_short head, u_short sector, u_short length, u_char drive);
73
74static int ps2esdi_out_cmd_blk(u_short * cmd_blk);
75
76static void ps2esdi_prep_dma(char *buffer, u_short length, u_char dma_xmode);
77
78static irqreturn_t ps2esdi_interrupt_handler(int irq, void *dev_id);
79static void (*current_int_handler) (u_int) = NULL;
80static void ps2esdi_normal_interrupt_handler(u_int);
81static void ps2esdi_initial_reset_int_handler(u_int);
82static void ps2esdi_geometry_int_handler(u_int);
83static int ps2esdi_getgeo(struct block_device *bdev, struct hd_geometry *geo);
84
85static int ps2esdi_read_status_words(int num_words, int max_words, u_short * buffer);
86
87static void dump_cmd_complete_status(u_int int_ret_code);
88
89static void ps2esdi_get_device_cfg(void);
90
91static void ps2esdi_reset_timer(unsigned long unused);
92
93static u_int dma_arb_level; /* DMA arbitration level */
94
95static DECLARE_WAIT_QUEUE_HEAD(ps2esdi_int);
96
97static int no_int_yet;
98static int ps2esdi_drives;
99static u_short io_base;
100static DEFINE_TIMER(esdi_timer, ps2esdi_reset_timer, 0, 0);
101static int reset_status;
102static int ps2esdi_slot = -1;
103static int tp720esdi = 0; /* Is it Integrated ESDI of ThinkPad-720? */
104static int intg_esdi = 0; /* If integrated adapter */
105struct ps2esdi_i_struct {
106 unsigned int head, sect, cyl, wpcom, lzone, ctl;
107};
108static DEFINE_SPINLOCK(ps2esdi_lock);
109static struct request_queue *ps2esdi_queue;
110static struct request *current_req;
111
112#if 0
113#if 0 /* try both - I don't know which one is better... UB */
114static struct ps2esdi_i_struct ps2esdi_info[MAX_HD] =
115{
116 {4, 48, 1553, 0, 0, 0},
117 {0, 0, 0, 0, 0, 0}};
118#else
119static struct ps2esdi_i_struct ps2esdi_info[MAX_HD] =
120{
121 {64, 32, 161, 0, 0, 0},
122 {0, 0, 0, 0, 0, 0}};
123#endif
124#endif
125static struct ps2esdi_i_struct ps2esdi_info[MAX_HD] =
126{
127 {0, 0, 0, 0, 0, 0},
128 {0, 0, 0, 0, 0, 0}};
129
130static struct block_device_operations ps2esdi_fops =
131{
132 .owner = THIS_MODULE,
133 .getgeo = ps2esdi_getgeo,
134};
135
136static struct gendisk *ps2esdi_gendisk[2];
137
138/* initialization routine called by ll_rw_blk.c */
139static int __init ps2esdi_init(void)
140{
141
142 int error = 0;
143
144 /* register the device - pass the name and major number */
145 if (register_blkdev(PS2ESDI_MAJOR, "ed"))
146 return -EBUSY;
147
148 /* set up some global information - indicating device specific info */
149 ps2esdi_queue = blk_init_queue(do_ps2esdi_request, &ps2esdi_lock);
150 if (!ps2esdi_queue) {
151 unregister_blkdev(PS2ESDI_MAJOR, "ed");
152 return -ENOMEM;
153 }
154
155 /* some minor housekeeping - setup the global gendisk structure */
156 error = ps2esdi_geninit();
157 if (error) {
158 printk(KERN_WARNING "PS2ESDI: error initialising"
159 " device, releasing resources\n");
160 unregister_blkdev(PS2ESDI_MAJOR, "ed");
161 blk_cleanup_queue(ps2esdi_queue);
162 return error;
163 }
164 return 0;
165} /* ps2esdi_init */
166
167#ifndef MODULE
168
169module_init(ps2esdi_init);
170
171#else
172
173static int cyl[MAX_HD] = {-1,-1};
174static int head[MAX_HD] = {-1, -1};
175static int sect[MAX_HD] = {-1, -1};
176
177module_param(tp720esdi, bool, 0);
178module_param_array(cyl, int, NULL, 0);
179module_param_array(head, int, NULL, 0);
180module_param_array(sect, int, NULL, 0);
181MODULE_LICENSE("GPL");
182
183int init_module(void) {
184 int drive;
185
186 for(drive = 0; drive < MAX_HD; drive++) {
187 struct ps2esdi_i_struct *info = &ps2esdi_info[drive];
188
189 if (cyl[drive] != -1) {
190 info->cyl = info->lzone = cyl[drive];
191 info->wpcom = 0;
192 }
193 if (head[drive] != -1) {
194 info->head = head[drive];
195 info->ctl = (head[drive] > 8 ? 8 : 0);
196 }
197 if (sect[drive] != -1) info->sect = sect[drive];
198 }
199 return ps2esdi_init();
200}
201
202void
203cleanup_module(void) {
204 int i;
205 if(ps2esdi_slot) {
206 mca_mark_as_unused(ps2esdi_slot);
207 mca_set_adapter_procfn(ps2esdi_slot, NULL, NULL);
208 }
209 release_region(io_base, 4);
210 free_dma(dma_arb_level);
211 free_irq(PS2ESDI_IRQ, &ps2esdi_gendisk);
212 unregister_blkdev(PS2ESDI_MAJOR, "ed");
213 blk_cleanup_queue(ps2esdi_queue);
214 for (i = 0; i < ps2esdi_drives; i++) {
215 del_gendisk(ps2esdi_gendisk[i]);
216 put_disk(ps2esdi_gendisk[i]);
217 }
218}
219#endif /* MODULE */
220
221/* handles boot time command line parameters */
222void __init tp720_setup(char *str, int *ints)
223{
224 /* no params, just sets the tp720esdi flag if it exists */
225
226 printk("%s: TP 720 ESDI flag set\n", DEVICE_NAME);
227 tp720esdi = 1;
228}
229
230void __init ed_setup(char *str, int *ints)
231{
232 int hdind = 0;
233
234 /* handles 3 parameters only - corresponding to
235 1. Number of cylinders
236 2. Number of heads
237 3. Sectors/track
238 */
239
240 if (ints[0] != 3)
241 return;
242
243 /* print out the information - seen at boot time */
244 printk("%s: ints[0]=%d ints[1]=%d ints[2]=%d ints[3]=%d\n",
245 DEVICE_NAME, ints[0], ints[1], ints[2], ints[3]);
246
247 /* set the index into device specific information table */
248 if (ps2esdi_info[0].head != 0)
249 hdind = 1;
250
251 /* set up all the device information */
252 ps2esdi_info[hdind].head = ints[2];
253 ps2esdi_info[hdind].sect = ints[3];
254 ps2esdi_info[hdind].cyl = ints[1];
255 ps2esdi_info[hdind].wpcom = 0;
256 ps2esdi_info[hdind].lzone = ints[1];
257 ps2esdi_info[hdind].ctl = (ints[2] > 8 ? 8 : 0);
258#if 0 /* this may be needed for PS2/Mod.80, but it hurts ThinkPad! */
259 ps2esdi_drives = hdind + 1; /* increment index for the next time */
260#endif
261} /* ed_setup */
262
263static int ps2esdi_getinfo(char *buf, int slot, void *d)
264{
265 int len = 0;
266
267 len += sprintf(buf + len, "DMA Arbitration Level: %d\n",
268 dma_arb_level);
269 len += sprintf(buf + len, "IO Port: %x\n", io_base);
270 len += sprintf(buf + len, "IRQ: 14\n");
271 len += sprintf(buf + len, "Drives: %d\n", ps2esdi_drives);
272
273 return len;
274}
275
276/* ps2 esdi specific initialization - called thru the gendisk chain */
277static int __init ps2esdi_geninit(void)
278{
279 /*
280 The first part contains the initialization code
281 for the ESDI disk subsystem. All we really do
282 is search for the POS registers of the controller
283 to do some simple setup operations. First, we
284 must ensure that the controller is installed,
285 enabled, and configured as PRIMARY. Then we must
286 determine the DMA arbitration level being used by
287 the controller so we can handle data transfer
288 operations properly. If all of this works, then
289 we will set the INIT_FLAG to a non-zero value.
290 */
291
292 int slot = 0, i, reset_start, reset_end;
293 u_char status;
294 unsigned short adapterID;
295 int error = 0;
296
297 if ((slot = mca_find_adapter(INTG_ESDI_ID, 0)) != MCA_NOTFOUND) {
298 adapterID = INTG_ESDI_ID;
299 printk("%s: integrated ESDI adapter found in slot %d\n",
300 DEVICE_NAME, slot+1);
301#ifndef MODULE
302 mca_set_adapter_name(slot, "PS/2 Integrated ESDI");
303#endif
304 } else if ((slot = mca_find_adapter(NRML_ESDI_ID, 0)) != -1) {
305 adapterID = NRML_ESDI_ID;
306 printk("%s: normal ESDI adapter found in slot %d\n",
307 DEVICE_NAME, slot+1);
308 mca_set_adapter_name(slot, "PS/2 ESDI");
309 } else {
310 return -ENODEV;
311 }
312
313 ps2esdi_slot = slot;
314 mca_mark_as_used(slot);
315 mca_set_adapter_procfn(slot, (MCA_ProcFn) ps2esdi_getinfo, NULL);
316
317 /* Found the slot - read the POS register 2 to get the necessary
318 configuration and status information. POS register 2 has the
319 following information :
320 Bit Function
321 7 reserved = 0
322 6 arbitration method
323 0 - fairness enabled
324 1 - fairness disabled, linear priority assignment
325 5-2 arbitration level
326 1 alternate address
327 1 alternate address
328 0 - use addresses 0x3510 - 0x3517
329 0 adapter enable
330 */
331
332 status = mca_read_stored_pos(slot, 2);
333 /* is it enabled ? */
334 if (!(status & STATUS_ENABLED)) {
335 printk("%s: ESDI adapter disabled\n", DEVICE_NAME);
336 error = -ENODEV;
337 goto err_out1;
338 }
339 /* try to grab IRQ, and try to grab a slow IRQ if it fails, so we can
340 share with the SCSI driver */
341 if (request_irq(PS2ESDI_IRQ, ps2esdi_interrupt_handler,
342 IRQF_DISABLED | IRQF_SHARED, "PS/2 ESDI", &ps2esdi_gendisk)
343 && request_irq(PS2ESDI_IRQ, ps2esdi_interrupt_handler,
344 IRQF_SHARED, "PS/2 ESDI", &ps2esdi_gendisk)
345 ) {
346 printk("%s: Unable to get IRQ %d\n", DEVICE_NAME, PS2ESDI_IRQ);
347 error = -EBUSY;
348 goto err_out1;
349 }
350 if (status & STATUS_ALTERNATE)
351 io_base = ALT_IO_BASE;
352 else
353 io_base = PRIMARY_IO_BASE;
354
355 if (!request_region(io_base, 4, "ed")) {
356 printk(KERN_WARNING"Unable to request region 0x%x\n", io_base);
357 error = -EBUSY;
358 goto err_out2;
359 }
360 /* get the dma arbitration level */
361 dma_arb_level = (status >> 2) & 0xf;
362
363 /* BA */
364 printk("%s: DMA arbitration level : %d\n",
365 DEVICE_NAME, dma_arb_level);
366
367 LITE_ON;
368 current_int_handler = ps2esdi_initial_reset_int_handler;
369 reset_ctrl();
370 reset_status = 0;
371 reset_start = jiffies;
372 while (!reset_status) {
373 init_timer(&esdi_timer);
374 esdi_timer.expires = jiffies + HZ;
375 esdi_timer.data = 0;
376 add_timer(&esdi_timer);
377 sleep_on(&ps2esdi_int);
378 }
379 reset_end = jiffies;
380 LITE_OFF;
381 printk("%s: reset interrupt after %d jiffies, %u.%02u secs\n",
382 DEVICE_NAME, reset_end - reset_start, (reset_end - reset_start) / HZ,
383 (reset_end - reset_start) % HZ);
384
385
386 /* Integrated ESDI Disk and Controller has only one drive! */
387 if (adapterID == INTG_ESDI_ID) {/* if not "normal" PS2 ESDI adapter */
388 ps2esdi_drives = 1; /* then we have only one physical disk! */ intg_esdi = 1;
389 }
390
391
392
393 /* finally this part sets up some global data structures etc. */
394
395 ps2esdi_get_device_cfg();
396
397 /* some annoyance in the above routine returns TWO drives?
398 Is something else happining in the background?
399 Regaurdless we fix the # of drives again. AJK */
400 /* Integrated ESDI Disk and Controller has only one drive! */
401 if (adapterID == INTG_ESDI_ID) /* if not "normal" PS2 ESDI adapter */
402 ps2esdi_drives = 1; /* Not three or two, ONE DAMNIT! */
403
404 current_int_handler = ps2esdi_normal_interrupt_handler;
405
406 if (request_dma(dma_arb_level, "ed") !=0) {
407 printk(KERN_WARNING "PS2ESDI: Can't request dma-channel %d\n"
408 ,(int) dma_arb_level);
409 error = -EBUSY;
410 goto err_out3;
411 }
412 blk_queue_max_sectors(ps2esdi_queue, 128);
413
414 error = -ENOMEM;
415 for (i = 0; i < ps2esdi_drives; i++) {
416 struct gendisk *disk = alloc_disk(64);
417 if (!disk)
418 goto err_out4;
419 disk->major = PS2ESDI_MAJOR;
420 disk->first_minor = i<<6;
421 sprintf(disk->disk_name, "ed%c", 'a'+i);
422 disk->fops = &ps2esdi_fops;
423 ps2esdi_gendisk[i] = disk;
424 }
425
426 for (i = 0; i < ps2esdi_drives; i++) {
427 struct gendisk *disk = ps2esdi_gendisk[i];
428 set_capacity(disk, ps2esdi_info[i].head * ps2esdi_info[i].sect *
429 ps2esdi_info[i].cyl);
430 disk->queue = ps2esdi_queue;
431 disk->private_data = &ps2esdi_info[i];
432 add_disk(disk);
433 }
434 return 0;
435err_out4:
436 while (i--)
437 put_disk(ps2esdi_gendisk[i]);
438err_out3:
439 release_region(io_base, 4);
440err_out2:
441 free_irq(PS2ESDI_IRQ, &ps2esdi_gendisk);
442err_out1:
443 if(ps2esdi_slot) {
444 mca_mark_as_unused(ps2esdi_slot);
445 mca_set_adapter_procfn(ps2esdi_slot, NULL, NULL);
446 }
447 return error;
448}
449
450static void __init ps2esdi_get_device_cfg(void)
451{
452 u_short cmd_blk[TYPE_0_CMD_BLK_LENGTH];
453
454 /*BA */ printk("%s: Drive 0\n", DEVICE_NAME);
455 current_int_handler = ps2esdi_geometry_int_handler;
456 cmd_blk[0] = CMD_GET_DEV_CONFIG | 0x600;
457 cmd_blk[1] = 0;
458 no_int_yet = TRUE;
459 ps2esdi_out_cmd_blk(cmd_blk);
460 if (no_int_yet)
461 sleep_on(&ps2esdi_int);
462
463 if (ps2esdi_drives > 1) {
464 printk("%s: Drive 1\n", DEVICE_NAME); /*BA */
465 cmd_blk[0] = CMD_GET_DEV_CONFIG | (1 << 5) | 0x600;
466 cmd_blk[1] = 0;
467 no_int_yet = TRUE;
468 ps2esdi_out_cmd_blk(cmd_blk);
469 if (no_int_yet)
470 sleep_on(&ps2esdi_int);
471 } /* if second physical drive is present */
472 return;
473}
474
475/* strategy routine that handles most of the IO requests */
476static void do_ps2esdi_request(struct request_queue * q)
477{
478 struct request *req;
479 /* since, this routine is called with interrupts cleared - they
480 must be before it finishes */
481
482 req = elv_next_request(q);
483 if (!req)
484 return;
485
486#if 0
487 printk("%s:got request. device : %s command : %d sector : %ld count : %ld, buffer: %p\n",
488 DEVICE_NAME,
489 req->rq_disk->disk_name,
490 req->cmd, req->sector,
491 req->current_nr_sectors, req->buffer);
492#endif
493
494 /* check for above 16Mb dmas */
495 if (isa_virt_to_bus(req->buffer + req->current_nr_sectors * 512) > 16 * MB) {
496 printk("%s: DMA above 16MB not supported\n", DEVICE_NAME);
497 end_request(req, FAIL);
498 return;
499 }
500
501 if (req->sector+req->current_nr_sectors > get_capacity(req->rq_disk)) {
502 printk("Grrr. error. ps2esdi_drives: %d, %llu %llu\n",
503 ps2esdi_drives, req->sector,
504 (unsigned long long)get_capacity(req->rq_disk));
505 end_request(req, FAIL);
506 return;
507 }
508
509 switch (rq_data_dir(req)) {
510 case READ:
511 ps2esdi_readwrite(READ, req);
512 break;
513 case WRITE:
514 ps2esdi_readwrite(WRITE, req);
515 break;
516 default:
517 printk("%s: Unknown command\n", req->rq_disk->disk_name);
518 end_request(req, FAIL);
519 break;
520 } /* handle different commands */
521} /* main strategy routine */
522
523/* resets the ESDI adapter */
524static void reset_ctrl(void)
525{
526
527 u_long expire;
528 u_short status;
529
530 /* enable interrupts on the controller */
531 status = inb(ESDI_INTRPT);
532 outb((status & 0xe0) | ATT_EOI, ESDI_ATTN); /* to be sure we don't have
533 any interrupt pending... */
534 outb_p(CTRL_ENABLE_INTR, ESDI_CONTROL);
535
536 /* read the ESDI status port - if the controller is not busy,
537 simply do a soft reset (fast) - otherwise we'll have to do a
538 hard (slow) reset. */
539 if (!(inb_p(ESDI_STATUS) & STATUS_BUSY)) {
540 /*BA */ printk("%s: soft reset...\n", DEVICE_NAME);
541 outb_p(CTRL_SOFT_RESET, ESDI_ATTN);
542 }
543 /* soft reset */
544 else {
545 /*BA */
546 printk("%s: hard reset...\n", DEVICE_NAME);
547 outb_p(CTRL_HARD_RESET, ESDI_CONTROL);
548 expire = jiffies + 2*HZ;
549 while (time_before(jiffies, expire));
550 outb_p(1, ESDI_CONTROL);
551 } /* hard reset */
552
553
554} /* reset the controller */
555
556/* called by the strategy routine to handle read and write requests */
557static void ps2esdi_readwrite(int cmd, struct request *req)
558{
559 struct ps2esdi_i_struct *p = req->rq_disk->private_data;
560 unsigned block = req->sector;
561 unsigned count = req->current_nr_sectors;
562 int drive = p - ps2esdi_info;
563 u_short track, head, cylinder, sector;
564 u_short cmd_blk[TYPE_1_CMD_BLK_LENGTH];
565
566 /* do some relevant arithmatic */
567 track = block / p->sect;
568 head = track % p->head;
569 cylinder = track / p->head;
570 sector = block % p->sect;
571
572#if 0
573 printk("%s: cyl=%d head=%d sect=%d\n", DEVICE_NAME, cylinder, head, sector);
574#endif
575 /* call the routine that actually fills out a command block */
576 ps2esdi_fill_cmd_block
577 (cmd_blk,
578 (cmd == READ) ? CMD_READ : CMD_WRITE,
579 cylinder, head, sector, count, drive);
580
581 /* send the command block to the controller */
582 current_req = req;
583 spin_unlock_irq(&ps2esdi_lock);
584 if (ps2esdi_out_cmd_blk(cmd_blk)) {
585 spin_lock_irq(&ps2esdi_lock);
586 printk("%s: Controller failed\n", DEVICE_NAME);
587 if ((++req->errors) >= MAX_RETRIES)
588 end_request(req, FAIL);
589 }
590 /* check for failure to put out the command block */
591 else {
592 spin_lock_irq(&ps2esdi_lock);
593#if 0
594 printk("%s: waiting for xfer\n", DEVICE_NAME);
595#endif
596 /* turn disk lights on */
597 LITE_ON;
598 }
599
600} /* ps2esdi_readwrite */
601
602/* fill out the command block */
603static void ps2esdi_fill_cmd_block(u_short * cmd_blk, u_short cmd,
604 u_short cyl, u_short head, u_short sector, u_short length, u_char drive)
605{
606
607 cmd_blk[0] = (drive << 5) | cmd;
608 cmd_blk[1] = length;
609 cmd_blk[2] = ((cyl & 0x1f) << 11) | (head << 5) | sector;
610 cmd_blk[3] = (cyl & 0x3E0) >> 5;
611
612} /* fill out the command block */
613
614/* write a command block to the controller */
615static int ps2esdi_out_cmd_blk(u_short * cmd_blk)
616{
617
618 int i;
619 unsigned long jif;
620 u_char status;
621
622 /* enable interrupts */
623 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
624
625 /* do not write to the controller, if it is busy */
626 for (jif = jiffies + ESDI_STAT_TIMEOUT;
627 time_after(jif, jiffies) &&
628 (inb(ESDI_STATUS) & STATUS_BUSY); )
629 ;
630
631#if 0
632 printk("%s: i(1)=%ld\n", DEVICE_NAME, jif);
633#endif
634
635 /* if device is still busy - then just time out */
636 if (inb(ESDI_STATUS) & STATUS_BUSY) {
637 printk("%s: ps2esdi_out_cmd timed out (1)\n", DEVICE_NAME);
638 return ERROR;
639 } /* timeout ??? */
640 /* Set up the attention register in the controller */
641 outb(((*cmd_blk) & 0xE0) | 1, ESDI_ATTN);
642
643#if 0
644 printk("%s: sending %d words to controller\n", DEVICE_NAME, (((*cmd_blk) >> 14) + 1) << 1);
645#endif
646
647 /* one by one send each word out */
648 for (i = (((*cmd_blk) >> 14) + 1) << 1; i; i--) {
649 status = inb(ESDI_STATUS);
650 for (jif = jiffies + ESDI_STAT_TIMEOUT;
651 time_after(jif, jiffies) && (status & STATUS_BUSY) &&
652 (status & STATUS_CMD_INF); status = inb(ESDI_STATUS));
653 if ((status & (STATUS_BUSY | STATUS_CMD_INF)) == STATUS_BUSY) {
654#if 0
655 printk("%s: sending %04X\n", DEVICE_NAME, *cmd_blk);
656#endif
657 outw(*cmd_blk++, ESDI_CMD_INT);
658 } else {
659 printk("%s: ps2esdi_out_cmd timed out while sending command (status=%02X)\n",
660 DEVICE_NAME, status);
661 return ERROR;
662 }
663 } /* send all words out */
664 return OK;
665} /* send out the commands */
666
667
668/* prepare for dma - do all the necessary setup */
669static void ps2esdi_prep_dma(char *buffer, u_short length, u_char dma_xmode)
670{
671 unsigned long flags = claim_dma_lock();
672
673 mca_disable_dma(dma_arb_level);
674
675 mca_set_dma_addr(dma_arb_level, isa_virt_to_bus(buffer));
676
677 mca_set_dma_count(dma_arb_level, length * 512 / 2);
678
679 mca_set_dma_mode(dma_arb_level, dma_xmode);
680
681 mca_enable_dma(dma_arb_level);
682
683 release_dma_lock(flags);
684
685} /* prepare for dma */
686
687
688
689static irqreturn_t ps2esdi_interrupt_handler(int irq, void *dev_id)
690{
691 u_int int_ret_code;
692
693 if (inb(ESDI_STATUS) & STATUS_INTR) {
694 int_ret_code = inb(ESDI_INTRPT);
695 if (current_int_handler) {
696 /* Disable adapter interrupts till processing is finished */
697 outb(CTRL_DISABLE_INTR, ESDI_CONTROL);
698 current_int_handler(int_ret_code);
699 } else
700 printk("%s: help ! No interrupt handler.\n", DEVICE_NAME);
701 } else {
702 return IRQ_NONE;
703 }
704 return IRQ_HANDLED;
705}
706
707static void ps2esdi_initial_reset_int_handler(u_int int_ret_code)
708{
709
710 switch (int_ret_code & 0xf) {
711 case INT_RESET:
712 /*BA */
713 printk("%s: initial reset completed.\n", DEVICE_NAME);
714 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
715 wake_up(&ps2esdi_int);
716 break;
717 case INT_ATTN_ERROR:
718 printk("%s: Attention error. interrupt status : %02X\n", DEVICE_NAME,
719 int_ret_code);
720 printk("%s: status: %02x\n", DEVICE_NAME, inb(ESDI_STATUS));
721 break;
722 default:
723 printk("%s: initial reset handler received interrupt: %02X\n",
724 DEVICE_NAME, int_ret_code);
725 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
726 break;
727 }
728 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
729}
730
731
732static void ps2esdi_geometry_int_handler(u_int int_ret_code)
733{
734 u_int status, drive_num;
735 unsigned long rba;
736 int i;
737
738 drive_num = int_ret_code >> 5;
739 switch (int_ret_code & 0xf) {
740 case INT_CMD_COMPLETE:
741 for (i = ESDI_TIMEOUT; i && !(inb(ESDI_STATUS) & STATUS_STAT_AVAIL); i--);
742 if (!(inb(ESDI_STATUS) & STATUS_STAT_AVAIL)) {
743 printk("%s: timeout reading status word\n", DEVICE_NAME);
744 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
745 break;
746 }
747 status = inw(ESDI_STT_INT);
748 if ((status & 0x1F) == CMD_GET_DEV_CONFIG) {
749#define REPLY_WORDS 5 /* we already read word 0 */
750 u_short reply[REPLY_WORDS];
751
752 if (ps2esdi_read_status_words((status >> 8) - 1, REPLY_WORDS, reply)) {
753 /*BA */
754 printk("%s: Device Configuration Status for drive %u\n",
755 DEVICE_NAME, drive_num);
756
757 printk("%s: Spares/cyls: %u", DEVICE_NAME, reply[0] >> 8);
758
759 printk
760 ("Config bits: %s%s%s%s%s\n",
761 (reply[0] & CONFIG_IS) ? "Invalid Secondary, " : "",
762 ((reply[0] & CONFIG_ZD) && !(reply[0] & CONFIG_IS))
763 ? "Zero Defect, " : "Defects Present, ",
764 (reply[0] & CONFIG_SF) ? "Skewed Format, " : "",
765 (reply[0] & CONFIG_FR) ? "Removable, " : "Non-Removable, ",
766 (reply[0] & CONFIG_RT) ? "No Retries" : "Retries");
767
768 rba = reply[1] | ((unsigned long) reply[2] << 16);
769 printk("%s: Number of RBA's: %lu\n", DEVICE_NAME, rba);
770
771 printk("%s: Physical number of cylinders: %u, Sectors/Track: %u, Heads: %u\n",
772 DEVICE_NAME, reply[3], reply[4] >> 8, reply[4] & 0xff);
773
774 if (!ps2esdi_info[drive_num].head) {
775 ps2esdi_info[drive_num].head = 64;
776 ps2esdi_info[drive_num].sect = 32;
777 ps2esdi_info[drive_num].cyl = rba / (64 * 32);
778 ps2esdi_info[drive_num].wpcom = 0;
779 ps2esdi_info[drive_num].lzone = ps2esdi_info[drive_num].cyl;
780 ps2esdi_info[drive_num].ctl = 8;
781 if (tp720esdi) { /* store the retrieved parameters */
782 ps2esdi_info[0].head = reply[4] & 0Xff;
783 ps2esdi_info[0].sect = reply[4] >> 8;
784 ps2esdi_info[0].cyl = reply[3];
785 ps2esdi_info[0].wpcom = 0;
786 ps2esdi_info[0].lzone = reply[3];
787 } else {
788 if (!intg_esdi)
789 ps2esdi_drives++;
790 }
791 }
792#ifdef OBSOLETE
793 if (!ps2esdi_info[drive_num].head) {
794 ps2esdi_info[drive_num].head = reply[4] & 0Xff;
795 ps2esdi_info[drive_num].sect = reply[4] >> 8;
796 ps2esdi_info[drive_num].cyl = reply[3];
797 ps2esdi_info[drive_num].wpcom = 0;
798 ps2esdi_info[drive_num].lzone = reply[3];
799 if (tp720esdi) { /* store the retrieved parameters */
800 ps2esdi_info[0].head = reply[4] & 0Xff;
801 ps2esdi_info[0].sect = reply[4] >> 8;
802 ps2esdi_info[0].cyl = reply[3];
803 ps2esdi_info[0].wpcom = 0;
804 ps2esdi_info[0].lzone = reply[3];
805 } else {
806 ps2esdi_drives++;
807 }
808 }
809#endif
810
811 } else
812 printk("%s: failed while getting device config\n", DEVICE_NAME);
813#undef REPLY_WORDS
814 } else
815 printk("%s: command %02X unknown by geometry handler\n",
816 DEVICE_NAME, status & 0x1f);
817
818 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
819 break;
820
821 case INT_ATTN_ERROR:
822 printk("%s: Attention error. interrupt status : %02X\n", DEVICE_NAME,
823 int_ret_code);
824 printk("%s: Device not available\n", DEVICE_NAME);
825 break;
826 case INT_CMD_ECC:
827 case INT_CMD_RETRY:
828 case INT_CMD_ECC_RETRY:
829 case INT_CMD_WARNING:
830 case INT_CMD_ABORT:
831 case INT_CMD_FAILED:
832 case INT_DMA_ERR:
833 case INT_CMD_BLK_ERR:
834 /*BA */ printk("%s: Whaa. Error occurred...\n", DEVICE_NAME);
835 dump_cmd_complete_status(int_ret_code);
836 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
837 break;
838 default:
839 printk("%s: Unknown interrupt reason: %02X\n",
840 DEVICE_NAME, int_ret_code & 0xf);
841 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
842 break;
843 }
844
845 wake_up(&ps2esdi_int);
846 no_int_yet = FALSE;
847 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
848
849}
850
851static void ps2esdi_normal_interrupt_handler(u_int int_ret_code)
852{
853 unsigned long flags;
854 u_int status;
855 u_int ending;
856 int i;
857
858 switch (int_ret_code & 0x0f) {
859 case INT_TRANSFER_REQ:
860 ps2esdi_prep_dma(current_req->buffer,
861 current_req->current_nr_sectors,
862 (rq_data_dir(current_req) == READ)
863 ? MCA_DMA_MODE_16 | MCA_DMA_MODE_WRITE | MCA_DMA_MODE_XFER
864 : MCA_DMA_MODE_16 | MCA_DMA_MODE_READ);
865 outb(CTRL_ENABLE_DMA | CTRL_ENABLE_INTR, ESDI_CONTROL);
866 ending = -1;
867 break;
868
869 case INT_ATTN_ERROR:
870 printk("%s: Attention error. interrupt status : %02X\n", DEVICE_NAME,
871 int_ret_code);
872 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
873 ending = FAIL;
874 break;
875
876 case INT_CMD_COMPLETE:
877 for (i = ESDI_TIMEOUT; i && !(inb(ESDI_STATUS) & STATUS_STAT_AVAIL); i--);
878 if (!(inb(ESDI_STATUS) & STATUS_STAT_AVAIL)) {
879 printk("%s: timeout reading status word\n", DEVICE_NAME);
880 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
881 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
882 if ((++current_req->errors) >= MAX_RETRIES)
883 ending = FAIL;
884 else
885 ending = -1;
886 break;
887 }
888 status = inw(ESDI_STT_INT);
889 switch (status & 0x1F) {
890 case (CMD_READ & 0xff):
891 case (CMD_WRITE & 0xff):
892 LITE_OFF;
893 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
894 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
895 ending = SUCCES;
896 break;
897 default:
898 printk("%s: interrupt for unknown command %02X\n",
899 DEVICE_NAME, status & 0x1f);
900 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
901 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
902 ending = -1;
903 break;
904 }
905 break;
906 case INT_CMD_ECC:
907 case INT_CMD_RETRY:
908 case INT_CMD_ECC_RETRY:
909 LITE_OFF;
910 dump_cmd_complete_status(int_ret_code);
911 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
912 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
913 ending = SUCCES;
914 break;
915 case INT_CMD_WARNING:
916 case INT_CMD_ABORT:
917 case INT_CMD_FAILED:
918 case INT_DMA_ERR:
919 LITE_OFF;
920 dump_cmd_complete_status(int_ret_code);
921 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
922 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
923 if ((++current_req->errors) >= MAX_RETRIES)
924 ending = FAIL;
925 else
926 ending = -1;
927 break;
928
929 case INT_CMD_BLK_ERR:
930 dump_cmd_complete_status(int_ret_code);
931 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
932 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
933 ending = FAIL;
934 break;
935
936 case INT_CMD_FORMAT:
937 printk("%s: huh ? Who issued this format command ?\n"
938 ,DEVICE_NAME);
939 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
940 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
941 ending = -1;
942 break;
943
944 case INT_RESET:
945 /* BA printk("%s: reset completed.\n", DEVICE_NAME) */ ;
946 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
947 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
948 ending = -1;
949 break;
950
951 default:
952 printk("%s: Unknown interrupt reason: %02X\n",
953 DEVICE_NAME, int_ret_code & 0xf);
954 outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
955 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
956 ending = -1;
957 break;
958 }
959 if(ending != -1) {
960 spin_lock_irqsave(&ps2esdi_lock, flags);
961 end_request(current_req, ending);
962 current_req = NULL;
963 do_ps2esdi_request(ps2esdi_queue);
964 spin_unlock_irqrestore(&ps2esdi_lock, flags);
965 }
966} /* handle interrupts */
967
968
969
970static int ps2esdi_read_status_words(int num_words,
971 int max_words,
972 u_short * buffer)
973{
974 int i;
975
976 for (; max_words && num_words; max_words--, num_words--, buffer++) {
977 for (i = ESDI_TIMEOUT; i && !(inb(ESDI_STATUS) & STATUS_STAT_AVAIL); i--);
978 if (!(inb(ESDI_STATUS) & STATUS_STAT_AVAIL)) {
979 printk("%s: timeout reading status word\n", DEVICE_NAME);
980 return FAIL;
981 }
982 *buffer = inw(ESDI_STT_INT);
983 }
984 return SUCCES;
985}
986
987
988
989
990static void dump_cmd_complete_status(u_int int_ret_code)
991{
992#define WAIT_FOR_STATUS \
993 for(i=ESDI_TIMEOUT;i && !(inb(ESDI_STATUS) & STATUS_STAT_AVAIL);i--); \
994 if(!(inb(ESDI_STATUS) & STATUS_STAT_AVAIL)) { \
995 printk("%s: timeout reading status word\n",DEVICE_NAME); \
996 return; \
997 }
998
999 int i, word_count;
1000 u_short stat_word;
1001 u_long rba;
1002
1003 printk("%s: Device: %u, interrupt ID: %02X\n",
1004 DEVICE_NAME, int_ret_code >> 5,
1005 int_ret_code & 0xf);
1006
1007 WAIT_FOR_STATUS;
1008 stat_word = inw(ESDI_STT_INT);
1009 word_count = (stat_word >> 8) - 1;
1010 printk("%s: %u status words, command: %02X\n", DEVICE_NAME, word_count,
1011 stat_word & 0xff);
1012
1013 if (word_count--) {
1014 WAIT_FOR_STATUS;
1015 stat_word = inw(ESDI_STT_INT);
1016 printk("%s: command status code: %02X, command error code: %02X\n",
1017 DEVICE_NAME, stat_word >> 8, stat_word & 0xff);
1018 }
1019 if (word_count--) {
1020 WAIT_FOR_STATUS;
1021 stat_word = inw(ESDI_STT_INT);
1022 printk("%s: device error code: %s%s%s%s%s,%02X\n", DEVICE_NAME,
1023 (stat_word & 0x1000) ? "Ready, " : "Not Ready, ",
1024 (stat_word & 0x0800) ? "Selected, " : "Not Selected, ",
1025 (stat_word & 0x0400) ? "Write Fault, " : "",
1026 (stat_word & 0x0200) ? "Track 0, " : "",
1027 (stat_word & 0x0100) ? "Seek or command complete, " : "",
1028 stat_word >> 8);
1029 }
1030 if (word_count--) {
1031 WAIT_FOR_STATUS;
1032 stat_word = inw(ESDI_STT_INT);
1033 printk("%s: Blocks to do: %u", DEVICE_NAME, stat_word);
1034 }
1035 if (word_count -= 2) {
1036 WAIT_FOR_STATUS;
1037 rba = inw(ESDI_STT_INT);
1038 WAIT_FOR_STATUS;
1039 rba |= inw(ESDI_STT_INT) << 16;
1040 printk(", Last Cyl: %u Head: %u Sector: %u\n",
1041 (u_short) ((rba & 0x1ff80000) >> 11),
1042 (u_short) ((rba & 0x7E0) >> 5), (u_short) (rba & 0x1f));
1043 } else
1044 printk("\n");
1045
1046 if (word_count--) {
1047 WAIT_FOR_STATUS;
1048 stat_word = inw(ESDI_STT_INT);
1049 printk("%s: Blocks required ECC: %u", DEVICE_NAME, stat_word);
1050 }
1051 printk("\n");
1052
1053#undef WAIT_FOR_STATUS
1054
1055}
1056
1057static int ps2esdi_getgeo(struct block_device *bdev, struct hd_geometry *geo)
1058{
1059 struct ps2esdi_i_struct *p = bdev->bd_disk->private_data;
1060
1061 geo->heads = p->head;
1062 geo->sectors = p->sect;
1063 geo->cylinders = p->cyl;
1064 return 0;
1065}
1066
1067static void ps2esdi_reset_timer(unsigned long unused)
1068{
1069
1070 int status;
1071
1072 status = inb(ESDI_INTRPT);
1073 if ((status & 0xf) == INT_RESET) {
1074 outb((status & 0xe0) | ATT_EOI, ESDI_ATTN);
1075 outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
1076 reset_status = 1;
1077 }
1078 wake_up(&ps2esdi_int);
1079}
diff --git a/drivers/char/drm/ati_pcigart.c b/drivers/char/drm/ati_pcigart.c
index d352dbb4ccf..141f4dfa0a1 100644
--- a/drivers/char/drm/ati_pcigart.c
+++ b/drivers/char/drm/ati_pcigart.c
@@ -35,42 +35,23 @@
35 35
36# define ATI_PCIGART_PAGE_SIZE 4096 /**< PCI GART page size */ 36# define ATI_PCIGART_PAGE_SIZE 4096 /**< PCI GART page size */
37 37
38static void *drm_ati_alloc_pcigart_table(int order) 38static int drm_ati_alloc_pcigart_table(struct drm_device *dev,
39 struct drm_ati_pcigart_info *gart_info)
39{ 40{
40 unsigned long address; 41 gart_info->table_handle = drm_pci_alloc(dev, gart_info->table_size,
41 struct page *page; 42 PAGE_SIZE,
42 int i; 43 gart_info->table_mask);
43 44 if (gart_info->table_handle == NULL)
44 DRM_DEBUG("%d order\n", order); 45 return -ENOMEM;
45
46 address = __get_free_pages(GFP_KERNEL | __GFP_COMP,
47 order);
48 if (address == 0UL) {
49 return NULL;
50 }
51
52 page = virt_to_page(address);
53
54 for (i = 0; i < order; i++, page++)
55 SetPageReserved(page);
56 46
57 DRM_DEBUG("returning 0x%08lx\n", address); 47 return 0;
58 return (void *)address;
59} 48}
60 49
61static void drm_ati_free_pcigart_table(void *address, int order) 50static void drm_ati_free_pcigart_table(struct drm_device *dev,
51 struct drm_ati_pcigart_info *gart_info)
62{ 52{
63 struct page *page; 53 drm_pci_free(dev, gart_info->table_handle);
64 int i; 54 gart_info->table_handle = NULL;
65 int num_pages = 1 << order;
66 DRM_DEBUG("\n");
67
68 page = virt_to_page((unsigned long)address);
69
70 for (i = 0; i < num_pages; i++, page++)
71 ClearPageReserved(page);
72
73 free_pages((unsigned long)address, order);
74} 55}
75 56
76int drm_ati_pcigart_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info) 57int drm_ati_pcigart_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info)
@@ -78,8 +59,7 @@ int drm_ati_pcigart_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info
78 struct drm_sg_mem *entry = dev->sg; 59 struct drm_sg_mem *entry = dev->sg;
79 unsigned long pages; 60 unsigned long pages;
80 int i; 61 int i;
81 int order; 62 int max_pages;
82 int num_pages, max_pages;
83 63
84 /* we need to support large memory configurations */ 64 /* we need to support large memory configurations */
85 if (!entry) { 65 if (!entry) {
@@ -87,15 +67,7 @@ int drm_ati_pcigart_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info
87 return 0; 67 return 0;
88 } 68 }
89 69
90 order = drm_order((gart_info->table_size + (PAGE_SIZE-1)) / PAGE_SIZE);
91 num_pages = 1 << order;
92
93 if (gart_info->bus_addr) { 70 if (gart_info->bus_addr) {
94 if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) {
95 pci_unmap_single(dev->pdev, gart_info->bus_addr,
96 num_pages * PAGE_SIZE,
97 PCI_DMA_TODEVICE);
98 }
99 71
100 max_pages = (gart_info->table_size / sizeof(u32)); 72 max_pages = (gart_info->table_size / sizeof(u32));
101 pages = (entry->pages <= max_pages) 73 pages = (entry->pages <= max_pages)
@@ -112,10 +84,9 @@ int drm_ati_pcigart_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info
112 gart_info->bus_addr = 0; 84 gart_info->bus_addr = 0;
113 } 85 }
114 86
115 if (gart_info->gart_table_location == DRM_ATI_GART_MAIN 87 if (gart_info->gart_table_location == DRM_ATI_GART_MAIN &&
116 && gart_info->addr) { 88 gart_info->table_handle) {
117 drm_ati_free_pcigart_table(gart_info->addr, order); 89 drm_ati_free_pcigart_table(dev, gart_info);
118 gart_info->addr = NULL;
119 } 90 }
120 91
121 return 1; 92 return 1;
@@ -127,11 +98,10 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
127 struct drm_sg_mem *entry = dev->sg; 98 struct drm_sg_mem *entry = dev->sg;
128 void *address = NULL; 99 void *address = NULL;
129 unsigned long pages; 100 unsigned long pages;
130 u32 *pci_gart, page_base, bus_address = 0; 101 u32 *pci_gart, page_base;
102 dma_addr_t bus_address = 0;
131 int i, j, ret = 0; 103 int i, j, ret = 0;
132 int order;
133 int max_pages; 104 int max_pages;
134 int num_pages;
135 105
136 if (!entry) { 106 if (!entry) {
137 DRM_ERROR("no scatter/gather memory!\n"); 107 DRM_ERROR("no scatter/gather memory!\n");
@@ -141,36 +111,20 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
141 if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) { 111 if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) {
142 DRM_DEBUG("PCI: no table in VRAM: using normal RAM\n"); 112 DRM_DEBUG("PCI: no table in VRAM: using normal RAM\n");
143 113
144 order = drm_order((gart_info->table_size + 114 ret = drm_ati_alloc_pcigart_table(dev, gart_info);
145 (PAGE_SIZE-1)) / PAGE_SIZE); 115 if (ret) {
146 num_pages = 1 << order;
147 address = drm_ati_alloc_pcigart_table(order);
148 if (!address) {
149 DRM_ERROR("cannot allocate PCI GART page!\n"); 116 DRM_ERROR("cannot allocate PCI GART page!\n");
150 goto done; 117 goto done;
151 } 118 }
152 119
153 if (!dev->pdev) { 120 address = gart_info->table_handle->vaddr;
154 DRM_ERROR("PCI device unknown!\n"); 121 bus_address = gart_info->table_handle->busaddr;
155 goto done;
156 }
157
158 bus_address = pci_map_single(dev->pdev, address,
159 num_pages * PAGE_SIZE,
160 PCI_DMA_TODEVICE);
161 if (bus_address == 0) {
162 DRM_ERROR("unable to map PCIGART pages!\n");
163 order = drm_order((gart_info->table_size +
164 (PAGE_SIZE-1)) / PAGE_SIZE);
165 drm_ati_free_pcigart_table(address, order);
166 address = NULL;
167 goto done;
168 }
169 } else { 122 } else {
170 address = gart_info->addr; 123 address = gart_info->addr;
171 bus_address = gart_info->bus_addr; 124 bus_address = gart_info->bus_addr;
172 DRM_DEBUG("PCI: Gart Table: VRAM %08X mapped at %08lX\n", 125 DRM_DEBUG("PCI: Gart Table: VRAM %08LX mapped at %08lX\n",
173 bus_address, (unsigned long)address); 126 (unsigned long long)bus_address,
127 (unsigned long)address);
174 } 128 }
175 129
176 pci_gart = (u32 *) address; 130 pci_gart = (u32 *) address;
@@ -214,6 +168,12 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
214 } 168 }
215 } 169 }
216 170
171 if (gart_info->gart_table_location == DRM_ATI_GART_MAIN)
172 dma_sync_single_for_device(&dev->pdev->dev,
173 bus_address,
174 max_pages * sizeof(u32),
175 PCI_DMA_TODEVICE);
176
217 ret = 1; 177 ret = 1;
218 178
219#if defined(__i386__) || defined(__x86_64__) 179#if defined(__i386__) || defined(__x86_64__)
diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h
index a6789f25009..8ea9dd1717a 100644
--- a/drivers/char/drm/drmP.h
+++ b/drivers/char/drm/drmP.h
@@ -54,6 +54,7 @@
54#include <linux/pci.h> 54#include <linux/pci.h>
55#include <linux/jiffies.h> 55#include <linux/jiffies.h>
56#include <linux/smp_lock.h> /* For (un)lock_kernel */ 56#include <linux/smp_lock.h> /* For (un)lock_kernel */
57#include <linux/dma-mapping.h>
57#include <linux/mm.h> 58#include <linux/mm.h>
58#include <linux/cdev.h> 59#include <linux/cdev.h>
59#include <linux/mutex.h> 60#include <linux/mutex.h>
@@ -551,6 +552,8 @@ struct drm_ati_pcigart_info {
551 int gart_reg_if; 552 int gart_reg_if;
552 void *addr; 553 void *addr;
553 dma_addr_t bus_addr; 554 dma_addr_t bus_addr;
555 dma_addr_t table_mask;
556 struct drm_dma_handle *table_handle;
554 drm_local_map_t mapping; 557 drm_local_map_t mapping;
555 int table_size; 558 int table_size;
556}; 559};
diff --git a/drivers/char/drm/drm_fops.c b/drivers/char/drm/drm_fops.c
index 3992f73299c..f09d4b5002b 100644
--- a/drivers/char/drm/drm_fops.c
+++ b/drivers/char/drm/drm_fops.c
@@ -326,6 +326,7 @@ int drm_release(struct inode *inode, struct file *filp)
326 struct drm_file *file_priv = filp->private_data; 326 struct drm_file *file_priv = filp->private_data;
327 struct drm_device *dev = file_priv->head->dev; 327 struct drm_device *dev = file_priv->head->dev;
328 int retcode = 0; 328 int retcode = 0;
329 unsigned long irqflags;
329 330
330 lock_kernel(); 331 lock_kernel();
331 332
@@ -357,9 +358,11 @@ int drm_release(struct inode *inode, struct file *filp)
357 */ 358 */
358 359
359 do{ 360 do{
360 spin_lock(&dev->lock.spinlock); 361 spin_lock_irqsave(&dev->lock.spinlock,
362 irqflags);
361 locked = dev->lock.idle_has_lock; 363 locked = dev->lock.idle_has_lock;
362 spin_unlock(&dev->lock.spinlock); 364 spin_unlock_irqrestore(&dev->lock.spinlock,
365 irqflags);
363 if (locked) 366 if (locked)
364 break; 367 break;
365 schedule(); 368 schedule();
diff --git a/drivers/char/drm/drm_lock.c b/drivers/char/drm/drm_lock.c
index bea2a7d5b2b..12dcdd1832f 100644
--- a/drivers/char/drm/drm_lock.c
+++ b/drivers/char/drm/drm_lock.c
@@ -53,6 +53,7 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
53 DECLARE_WAITQUEUE(entry, current); 53 DECLARE_WAITQUEUE(entry, current);
54 struct drm_lock *lock = data; 54 struct drm_lock *lock = data;
55 int ret = 0; 55 int ret = 0;
56 unsigned long irqflags;
56 57
57 ++file_priv->lock_count; 58 ++file_priv->lock_count;
58 59
@@ -71,9 +72,9 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
71 return -EINVAL; 72 return -EINVAL;
72 73
73 add_wait_queue(&dev->lock.lock_queue, &entry); 74 add_wait_queue(&dev->lock.lock_queue, &entry);
74 spin_lock(&dev->lock.spinlock); 75 spin_lock_irqsave(&dev->lock.spinlock, irqflags);
75 dev->lock.user_waiters++; 76 dev->lock.user_waiters++;
76 spin_unlock(&dev->lock.spinlock); 77 spin_unlock_irqrestore(&dev->lock.spinlock, irqflags);
77 for (;;) { 78 for (;;) {
78 __set_current_state(TASK_INTERRUPTIBLE); 79 __set_current_state(TASK_INTERRUPTIBLE);
79 if (!dev->lock.hw_lock) { 80 if (!dev->lock.hw_lock) {
@@ -95,9 +96,9 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
95 break; 96 break;
96 } 97 }
97 } 98 }
98 spin_lock(&dev->lock.spinlock); 99 spin_lock_irqsave(&dev->lock.spinlock, irqflags);
99 dev->lock.user_waiters--; 100 dev->lock.user_waiters--;
100 spin_unlock(&dev->lock.spinlock); 101 spin_unlock_irqrestore(&dev->lock.spinlock, irqflags);
101 __set_current_state(TASK_RUNNING); 102 __set_current_state(TASK_RUNNING);
102 remove_wait_queue(&dev->lock.lock_queue, &entry); 103 remove_wait_queue(&dev->lock.lock_queue, &entry);
103 104
@@ -198,8 +199,9 @@ int drm_lock_take(struct drm_lock_data *lock_data,
198{ 199{
199 unsigned int old, new, prev; 200 unsigned int old, new, prev;
200 volatile unsigned int *lock = &lock_data->hw_lock->lock; 201 volatile unsigned int *lock = &lock_data->hw_lock->lock;
202 unsigned long irqflags;
201 203
202 spin_lock(&lock_data->spinlock); 204 spin_lock_irqsave(&lock_data->spinlock, irqflags);
203 do { 205 do {
204 old = *lock; 206 old = *lock;
205 if (old & _DRM_LOCK_HELD) 207 if (old & _DRM_LOCK_HELD)
@@ -211,7 +213,7 @@ int drm_lock_take(struct drm_lock_data *lock_data,
211 } 213 }
212 prev = cmpxchg(lock, old, new); 214 prev = cmpxchg(lock, old, new);
213 } while (prev != old); 215 } while (prev != old);
214 spin_unlock(&lock_data->spinlock); 216 spin_unlock_irqrestore(&lock_data->spinlock, irqflags);
215 217
216 if (_DRM_LOCKING_CONTEXT(old) == context) { 218 if (_DRM_LOCKING_CONTEXT(old) == context) {
217 if (old & _DRM_LOCK_HELD) { 219 if (old & _DRM_LOCK_HELD) {
@@ -272,15 +274,16 @@ int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context)
272{ 274{
273 unsigned int old, new, prev; 275 unsigned int old, new, prev;
274 volatile unsigned int *lock = &lock_data->hw_lock->lock; 276 volatile unsigned int *lock = &lock_data->hw_lock->lock;
277 unsigned long irqflags;
275 278
276 spin_lock(&lock_data->spinlock); 279 spin_lock_irqsave(&lock_data->spinlock, irqflags);
277 if (lock_data->kernel_waiters != 0) { 280 if (lock_data->kernel_waiters != 0) {
278 drm_lock_transfer(lock_data, 0); 281 drm_lock_transfer(lock_data, 0);
279 lock_data->idle_has_lock = 1; 282 lock_data->idle_has_lock = 1;
280 spin_unlock(&lock_data->spinlock); 283 spin_unlock_irqrestore(&lock_data->spinlock, irqflags);
281 return 1; 284 return 1;
282 } 285 }
283 spin_unlock(&lock_data->spinlock); 286 spin_unlock_irqrestore(&lock_data->spinlock, irqflags);
284 287
285 do { 288 do {
286 old = *lock; 289 old = *lock;
@@ -344,19 +347,20 @@ static int drm_notifier(void *priv)
344void drm_idlelock_take(struct drm_lock_data *lock_data) 347void drm_idlelock_take(struct drm_lock_data *lock_data)
345{ 348{
346 int ret = 0; 349 int ret = 0;
350 unsigned long irqflags;
347 351
348 spin_lock(&lock_data->spinlock); 352 spin_lock_irqsave(&lock_data->spinlock, irqflags);
349 lock_data->kernel_waiters++; 353 lock_data->kernel_waiters++;
350 if (!lock_data->idle_has_lock) { 354 if (!lock_data->idle_has_lock) {
351 355
352 spin_unlock(&lock_data->spinlock); 356 spin_unlock_irqrestore(&lock_data->spinlock, irqflags);
353 ret = drm_lock_take(lock_data, DRM_KERNEL_CONTEXT); 357 ret = drm_lock_take(lock_data, DRM_KERNEL_CONTEXT);
354 spin_lock(&lock_data->spinlock); 358 spin_lock_irqsave(&lock_data->spinlock, irqflags);
355 359
356 if (ret == 1) 360 if (ret == 1)
357 lock_data->idle_has_lock = 1; 361 lock_data->idle_has_lock = 1;
358 } 362 }
359 spin_unlock(&lock_data->spinlock); 363 spin_unlock_irqrestore(&lock_data->spinlock, irqflags);
360} 364}
361EXPORT_SYMBOL(drm_idlelock_take); 365EXPORT_SYMBOL(drm_idlelock_take);
362 366
@@ -364,8 +368,9 @@ void drm_idlelock_release(struct drm_lock_data *lock_data)
364{ 368{
365 unsigned int old, prev; 369 unsigned int old, prev;
366 volatile unsigned int *lock = &lock_data->hw_lock->lock; 370 volatile unsigned int *lock = &lock_data->hw_lock->lock;
371 unsigned long irqflags;
367 372
368 spin_lock(&lock_data->spinlock); 373 spin_lock_irqsave(&lock_data->spinlock, irqflags);
369 if (--lock_data->kernel_waiters == 0) { 374 if (--lock_data->kernel_waiters == 0) {
370 if (lock_data->idle_has_lock) { 375 if (lock_data->idle_has_lock) {
371 do { 376 do {
@@ -376,7 +381,7 @@ void drm_idlelock_release(struct drm_lock_data *lock_data)
376 lock_data->idle_has_lock = 0; 381 lock_data->idle_has_lock = 0;
377 } 382 }
378 } 383 }
379 spin_unlock(&lock_data->spinlock); 384 spin_unlock_irqrestore(&lock_data->spinlock, irqflags);
380} 385}
381EXPORT_SYMBOL(drm_idlelock_release); 386EXPORT_SYMBOL(drm_idlelock_release);
382 387
diff --git a/drivers/char/drm/drm_pciids.h b/drivers/char/drm/drm_pciids.h
index 715b361f0c2..a6a499f97e2 100644
--- a/drivers/char/drm/drm_pciids.h
+++ b/drivers/char/drm/drm_pciids.h
@@ -205,9 +205,9 @@
205 {0x1002, 0x71D6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ 205 {0x1002, 0x71D6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
206 {0x1002, 0x71DA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \ 206 {0x1002, 0x71DA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
207 {0x1002, 0x71DE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ 207 {0x1002, 0x71DE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
208 {0x1002, 0x7200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \ 208 {0x1002, 0x7200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
209 {0x1002, 0x7210, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ 209 {0x1002, 0x7210, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
210 {0x1002, 0x7211, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ 210 {0x1002, 0x7211, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
211 {0x1002, 0x7240, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \ 211 {0x1002, 0x7240, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
212 {0x1002, 0x7243, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \ 212 {0x1002, 0x7243, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
213 {0x1002, 0x7244, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \ 213 {0x1002, 0x7244, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
@@ -238,6 +238,7 @@
238 {0x1002, 0x7834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_NEW_MEMMAP}, \ 238 {0x1002, 0x7834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_NEW_MEMMAP}, \
239 {0x1002, 0x7835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ 239 {0x1002, 0x7835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
240 {0x1002, 0x791e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS690|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \ 240 {0x1002, 0x791e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS690|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \
241 {0x1002, 0x791f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS690|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \
241 {0, 0, 0} 242 {0, 0, 0}
242 243
243#define r128_PCI_IDS \ 244#define r128_PCI_IDS \
diff --git a/drivers/char/drm/drm_scatter.c b/drivers/char/drm/drm_scatter.c
index 26d8f675ed5..b2b0f3d4171 100644
--- a/drivers/char/drm/drm_scatter.c
+++ b/drivers/char/drm/drm_scatter.c
@@ -36,6 +36,15 @@
36 36
37#define DEBUG_SCATTER 0 37#define DEBUG_SCATTER 0
38 38
39static inline void *drm_vmalloc_dma(unsigned long size)
40{
41#if defined(__powerpc__) && defined(CONFIG_NOT_COHERENT_CACHE)
42 return __vmalloc(size, GFP_KERNEL, PAGE_KERNEL | _PAGE_NO_CACHE);
43#else
44 return vmalloc_32(size);
45#endif
46}
47
39void drm_sg_cleanup(struct drm_sg_mem * entry) 48void drm_sg_cleanup(struct drm_sg_mem * entry)
40{ 49{
41 struct page *page; 50 struct page *page;
@@ -104,7 +113,7 @@ int drm_sg_alloc(struct drm_device *dev, struct drm_scatter_gather * request)
104 } 113 }
105 memset((void *)entry->busaddr, 0, pages * sizeof(*entry->busaddr)); 114 memset((void *)entry->busaddr, 0, pages * sizeof(*entry->busaddr));
106 115
107 entry->virtual = vmalloc_32(pages << PAGE_SHIFT); 116 entry->virtual = drm_vmalloc_dma(pages << PAGE_SHIFT);
108 if (!entry->virtual) { 117 if (!entry->virtual) {
109 drm_free(entry->busaddr, 118 drm_free(entry->busaddr,
110 entry->pages * sizeof(*entry->busaddr), DRM_MEM_PAGES); 119 entry->pages * sizeof(*entry->busaddr), DRM_MEM_PAGES);
diff --git a/drivers/char/drm/drm_vm.c b/drivers/char/drm/drm_vm.c
index 3d65c4dcd0c..945df72a51a 100644
--- a/drivers/char/drm/drm_vm.c
+++ b/drivers/char/drm/drm_vm.c
@@ -54,13 +54,24 @@ static pgprot_t drm_io_prot(uint32_t map_type, struct vm_area_struct *vma)
54 pgprot_val(tmp) |= _PAGE_NO_CACHE; 54 pgprot_val(tmp) |= _PAGE_NO_CACHE;
55 if (map_type == _DRM_REGISTERS) 55 if (map_type == _DRM_REGISTERS)
56 pgprot_val(tmp) |= _PAGE_GUARDED; 56 pgprot_val(tmp) |= _PAGE_GUARDED;
57#endif 57#elif defined(__ia64__)
58#if defined(__ia64__)
59 if (efi_range_is_wc(vma->vm_start, vma->vm_end - 58 if (efi_range_is_wc(vma->vm_start, vma->vm_end -
60 vma->vm_start)) 59 vma->vm_start))
61 tmp = pgprot_writecombine(tmp); 60 tmp = pgprot_writecombine(tmp);
62 else 61 else
63 tmp = pgprot_noncached(tmp); 62 tmp = pgprot_noncached(tmp);
63#elif defined(__sparc__)
64 tmp = pgprot_noncached(tmp);
65#endif
66 return tmp;
67}
68
69static pgprot_t drm_dma_prot(uint32_t map_type, struct vm_area_struct *vma)
70{
71 pgprot_t tmp = vm_get_page_prot(vma->vm_flags);
72
73#if defined(__powerpc__) && defined(CONFIG_NOT_COHERENT_CACHE)
74 tmp |= _PAGE_NO_CACHE;
64#endif 75#endif
65 return tmp; 76 return tmp;
66} 77}
@@ -603,9 +614,6 @@ static int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
603 offset = dev->driver->get_reg_ofs(dev); 614 offset = dev->driver->get_reg_ofs(dev);
604 vma->vm_flags |= VM_IO; /* not in core dump */ 615 vma->vm_flags |= VM_IO; /* not in core dump */
605 vma->vm_page_prot = drm_io_prot(map->type, vma); 616 vma->vm_page_prot = drm_io_prot(map->type, vma);
606#ifdef __sparc__
607 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
608#endif
609 if (io_remap_pfn_range(vma, vma->vm_start, 617 if (io_remap_pfn_range(vma, vma->vm_start,
610 (map->offset + offset) >> PAGE_SHIFT, 618 (map->offset + offset) >> PAGE_SHIFT,
611 vma->vm_end - vma->vm_start, 619 vma->vm_end - vma->vm_start,
@@ -624,6 +632,7 @@ static int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
624 page_to_pfn(virt_to_page(map->handle)), 632 page_to_pfn(virt_to_page(map->handle)),
625 vma->vm_end - vma->vm_start, vma->vm_page_prot)) 633 vma->vm_end - vma->vm_start, vma->vm_page_prot))
626 return -EAGAIN; 634 return -EAGAIN;
635 vma->vm_page_prot = drm_dma_prot(map->type, vma);
627 /* fall through to _DRM_SHM */ 636 /* fall through to _DRM_SHM */
628 case _DRM_SHM: 637 case _DRM_SHM:
629 vma->vm_ops = &drm_vm_shm_ops; 638 vma->vm_ops = &drm_vm_shm_ops;
@@ -631,6 +640,7 @@ static int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
631 /* Don't let this area swap. Change when 640 /* Don't let this area swap. Change when
632 DRM_KERNEL advisory is supported. */ 641 DRM_KERNEL advisory is supported. */
633 vma->vm_flags |= VM_RESERVED; 642 vma->vm_flags |= VM_RESERVED;
643 vma->vm_page_prot = drm_dma_prot(map->type, vma);
634 break; 644 break;
635 case _DRM_SCATTER_GATHER: 645 case _DRM_SCATTER_GATHER:
636 vma->vm_ops = &drm_vm_sg_ops; 646 vma->vm_ops = &drm_vm_sg_ops;
diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c
index e9d6663bec7..a043bb12301 100644
--- a/drivers/char/drm/i915_dma.c
+++ b/drivers/char/drm/i915_dma.c
@@ -804,6 +804,9 @@ void i915_driver_lastclose(struct drm_device * dev)
804{ 804{
805 drm_i915_private_t *dev_priv = dev->dev_private; 805 drm_i915_private_t *dev_priv = dev->dev_private;
806 806
807 if (!dev_priv)
808 return;
809
807 if (dev_priv->agp_heap) 810 if (dev_priv->agp_heap)
808 i915_mem_takedown(&(dev_priv->agp_heap)); 811 i915_mem_takedown(&(dev_priv->agp_heap));
809 812
diff --git a/drivers/char/drm/r128_cce.c b/drivers/char/drm/r128_cce.c
index 892e0a58984..f36adbd3aaf 100644
--- a/drivers/char/drm/r128_cce.c
+++ b/drivers/char/drm/r128_cce.c
@@ -558,6 +558,7 @@ static int r128_do_init_cce(struct drm_device * dev, drm_r128_init_t * init)
558#if __OS_HAS_AGP 558#if __OS_HAS_AGP
559 if (dev_priv->is_pci) { 559 if (dev_priv->is_pci) {
560#endif 560#endif
561 dev_priv->gart_info.table_mask = DMA_BIT_MASK(32);
561 dev_priv->gart_info.gart_table_location = DRM_ATI_GART_MAIN; 562 dev_priv->gart_info.gart_table_location = DRM_ATI_GART_MAIN;
562 dev_priv->gart_info.table_size = R128_PCIGART_TABLE_SIZE; 563 dev_priv->gart_info.table_size = R128_PCIGART_TABLE_SIZE;
563 dev_priv->gart_info.addr = NULL; 564 dev_priv->gart_info.addr = NULL;
diff --git a/drivers/char/drm/r300_cmdbuf.c b/drivers/char/drm/r300_cmdbuf.c
index 0f4afc44245..f535812e405 100644
--- a/drivers/char/drm/r300_cmdbuf.c
+++ b/drivers/char/drm/r300_cmdbuf.c
@@ -729,6 +729,47 @@ static void r300_discard_buffer(struct drm_device * dev, struct drm_buf * buf)
729 buf->used = 0; 729 buf->used = 0;
730} 730}
731 731
732static void r300_cmd_wait(drm_radeon_private_t * dev_priv,
733 drm_r300_cmd_header_t header)
734{
735 u32 wait_until;
736 RING_LOCALS;
737
738 if (!header.wait.flags)
739 return;
740
741 wait_until = 0;
742
743 switch(header.wait.flags) {
744 case R300_WAIT_2D:
745 wait_until = RADEON_WAIT_2D_IDLE;
746 break;
747 case R300_WAIT_3D:
748 wait_until = RADEON_WAIT_3D_IDLE;
749 break;
750 case R300_NEW_WAIT_2D_3D:
751 wait_until = RADEON_WAIT_2D_IDLE|RADEON_WAIT_3D_IDLE;
752 break;
753 case R300_NEW_WAIT_2D_2D_CLEAN:
754 wait_until = RADEON_WAIT_2D_IDLE|RADEON_WAIT_2D_IDLECLEAN;
755 break;
756 case R300_NEW_WAIT_3D_3D_CLEAN:
757 wait_until = RADEON_WAIT_3D_IDLE|RADEON_WAIT_3D_IDLECLEAN;
758 break;
759 case R300_NEW_WAIT_2D_2D_CLEAN_3D_3D_CLEAN:
760 wait_until = RADEON_WAIT_2D_IDLE|RADEON_WAIT_2D_IDLECLEAN;
761 wait_until |= RADEON_WAIT_3D_IDLE|RADEON_WAIT_3D_IDLECLEAN;
762 break;
763 default:
764 return;
765 }
766
767 BEGIN_RING(2);
768 OUT_RING(CP_PACKET0(RADEON_WAIT_UNTIL, 0));
769 OUT_RING(wait_until);
770 ADVANCE_RING();
771}
772
732static int r300_scratch(drm_radeon_private_t *dev_priv, 773static int r300_scratch(drm_radeon_private_t *dev_priv,
733 drm_radeon_kcmd_buffer_t *cmdbuf, 774 drm_radeon_kcmd_buffer_t *cmdbuf,
734 drm_r300_cmd_header_t header) 775 drm_r300_cmd_header_t header)
@@ -909,19 +950,8 @@ int r300_do_cp_cmdbuf(struct drm_device *dev,
909 break; 950 break;
910 951
911 case R300_CMD_WAIT: 952 case R300_CMD_WAIT:
912 /* simple enough, we can do it here */
913 DRM_DEBUG("R300_CMD_WAIT\n"); 953 DRM_DEBUG("R300_CMD_WAIT\n");
914 if (header.wait.flags == 0) 954 r300_cmd_wait(dev_priv, header);
915 break; /* nothing to do */
916
917 {
918 RING_LOCALS;
919
920 BEGIN_RING(2);
921 OUT_RING(CP_PACKET0(RADEON_WAIT_UNTIL, 0));
922 OUT_RING((header.wait.flags & 0xf) << 14);
923 ADVANCE_RING();
924 }
925 break; 955 break;
926 956
927 case R300_CMD_SCRATCH: 957 case R300_CMD_SCRATCH:
diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c
index 833abc7e55f..9072e4a1894 100644
--- a/drivers/char/drm/radeon_cp.c
+++ b/drivers/char/drm/radeon_cp.c
@@ -1807,6 +1807,7 @@ static int radeon_do_init_cp(struct drm_device * dev, drm_radeon_init_t * init)
1807 } else 1807 } else
1808#endif 1808#endif
1809 { 1809 {
1810 dev_priv->gart_info.table_mask = DMA_BIT_MASK(32);
1810 /* if we have an offset set from userspace */ 1811 /* if we have an offset set from userspace */
1811 if (dev_priv->pcigart_offset_set) { 1812 if (dev_priv->pcigart_offset_set) {
1812 dev_priv->gart_info.bus_addr = 1813 dev_priv->gart_info.bus_addr =
diff --git a/drivers/char/drm/radeon_drm.h b/drivers/char/drm/radeon_drm.h
index 71e5b21fad2..aab82e121e0 100644
--- a/drivers/char/drm/radeon_drm.h
+++ b/drivers/char/drm/radeon_drm.h
@@ -225,8 +225,20 @@ typedef union {
225#define R300_CMD_WAIT 7 225#define R300_CMD_WAIT 7
226# define R300_WAIT_2D 0x1 226# define R300_WAIT_2D 0x1
227# define R300_WAIT_3D 0x2 227# define R300_WAIT_3D 0x2
228/* these two defines are DOING IT WRONG - however
229 * we have userspace which relies on using these.
230 * The wait interface is backwards compat new
231 * code should use the NEW_WAIT defines below
232 * THESE ARE NOT BIT FIELDS
233 */
228# define R300_WAIT_2D_CLEAN 0x3 234# define R300_WAIT_2D_CLEAN 0x3
229# define R300_WAIT_3D_CLEAN 0x4 235# define R300_WAIT_3D_CLEAN 0x4
236
237# define R300_NEW_WAIT_2D_3D 0x3
238# define R300_NEW_WAIT_2D_2D_CLEAN 0x4
239# define R300_NEW_WAIT_3D_3D_CLEAN 0x6
240# define R300_NEW_WAIT_2D_2D_CLEAN_3D_3D_CLEAN 0x8
241
230#define R300_CMD_SCRATCH 8 242#define R300_CMD_SCRATCH 8
231 243
232typedef union { 244typedef union {
diff --git a/drivers/char/drm/radeon_mem.c b/drivers/char/drm/radeon_mem.c
index 78b34fa7c89..4af5286a36f 100644
--- a/drivers/char/drm/radeon_mem.c
+++ b/drivers/char/drm/radeon_mem.c
@@ -88,7 +88,7 @@ static struct mem_block *alloc_block(struct mem_block *heap, int size,
88 88
89 list_for_each(p, heap) { 89 list_for_each(p, heap) {
90 int start = (p->start + mask) & ~mask; 90 int start = (p->start + mask) & ~mask;
91 if (p->file_priv == 0 && start + size <= p->start + p->size) 91 if (p->file_priv == NULL && start + size <= p->start + p->size)
92 return split_block(p, start, size, file_priv); 92 return split_block(p, start, size, file_priv);
93 } 93 }
94 94
@@ -113,7 +113,7 @@ static void free_block(struct mem_block *p)
113 /* Assumes a single contiguous range. Needs a special file_priv in 113 /* Assumes a single contiguous range. Needs a special file_priv in
114 * 'heap' to stop it being subsumed. 114 * 'heap' to stop it being subsumed.
115 */ 115 */
116 if (p->next->file_priv == 0) { 116 if (p->next->file_priv == NULL) {
117 struct mem_block *q = p->next; 117 struct mem_block *q = p->next;
118 p->size += q->size; 118 p->size += q->size;
119 p->next = q->next; 119 p->next = q->next;
@@ -121,7 +121,7 @@ static void free_block(struct mem_block *p)
121 drm_free(q, sizeof(*q), DRM_MEM_BUFS); 121 drm_free(q, sizeof(*q), DRM_MEM_BUFS);
122 } 122 }
123 123
124 if (p->prev->file_priv == 0) { 124 if (p->prev->file_priv == NULL) {
125 struct mem_block *q = p->prev; 125 struct mem_block *q = p->prev;
126 q->size += p->size; 126 q->size += p->size;
127 q->next = p->next; 127 q->next = p->next;
@@ -174,7 +174,7 @@ void radeon_mem_release(struct drm_file *file_priv, struct mem_block *heap)
174 * 'heap' to stop it being subsumed. 174 * 'heap' to stop it being subsumed.
175 */ 175 */
176 list_for_each(p, heap) { 176 list_for_each(p, heap) {
177 while (p->file_priv == 0 && p->next->file_priv == 0) { 177 while (p->file_priv == NULL && p->next->file_priv == NULL) {
178 struct mem_block *q = p->next; 178 struct mem_block *q = p->next;
179 p->size += q->size; 179 p->size += q->size;
180 p->next = q->next; 180 p->next = q->next;
diff --git a/drivers/char/drm/via_dma.c b/drivers/char/drm/via_dma.c
index 94baec692b5..7a339dba6a6 100644
--- a/drivers/char/drm/via_dma.c
+++ b/drivers/char/drm/via_dma.c
@@ -126,6 +126,8 @@ via_cmdbuf_wait(drm_via_private_t * dev_priv, unsigned int size)
126 hw_addr, cur_addr, next_addr); 126 hw_addr, cur_addr, next_addr);
127 return -1; 127 return -1;
128 } 128 }
129 if ((cur_addr < hw_addr) && (next_addr >= hw_addr))
130 msleep(1);
129 } while ((cur_addr < hw_addr) && (next_addr >= hw_addr)); 131 } while ((cur_addr < hw_addr) && (next_addr >= hw_addr));
130 return 0; 132 return 0;
131} 133}
@@ -416,27 +418,50 @@ static int via_hook_segment(drm_via_private_t * dev_priv,
416 int paused, count; 418 int paused, count;
417 volatile uint32_t *paused_at = dev_priv->last_pause_ptr; 419 volatile uint32_t *paused_at = dev_priv->last_pause_ptr;
418 uint32_t reader,ptr; 420 uint32_t reader,ptr;
421 uint32_t diff;
419 422
420 paused = 0; 423 paused = 0;
421 via_flush_write_combine(); 424 via_flush_write_combine();
422 (void) *(volatile uint32_t *)(via_get_dma(dev_priv) -1); 425 (void) *(volatile uint32_t *)(via_get_dma(dev_priv) -1);
426
423 *paused_at = pause_addr_lo; 427 *paused_at = pause_addr_lo;
424 via_flush_write_combine(); 428 via_flush_write_combine();
425 (void) *paused_at; 429 (void) *paused_at;
430
426 reader = *(dev_priv->hw_addr_ptr); 431 reader = *(dev_priv->hw_addr_ptr);
427 ptr = ((volatile char *)paused_at - dev_priv->dma_ptr) + 432 ptr = ((volatile char *)paused_at - dev_priv->dma_ptr) +
428 dev_priv->dma_offset + (uint32_t) dev_priv->agpAddr + 4; 433 dev_priv->dma_offset + (uint32_t) dev_priv->agpAddr + 4;
434
429 dev_priv->last_pause_ptr = via_get_dma(dev_priv) - 1; 435 dev_priv->last_pause_ptr = via_get_dma(dev_priv) - 1;
430 436
431 if ((ptr - reader) <= dev_priv->dma_diff ) { 437 /*
432 count = 10000000; 438 * If there is a possibility that the command reader will
433 while (!(paused = (VIA_READ(0x41c) & 0x80000000)) && count--); 439 * miss the new pause address and pause on the old one,
440 * In that case we need to program the new start address
441 * using PCI.
442 */
443
444 diff = (uint32_t) (ptr - reader) - dev_priv->dma_diff;
445 count = 10000000;
446 while(diff == 0 && count--) {
447 paused = (VIA_READ(0x41c) & 0x80000000);
448 if (paused)
449 break;
450 reader = *(dev_priv->hw_addr_ptr);
451 diff = (uint32_t) (ptr - reader) - dev_priv->dma_diff;
434 } 452 }
435 453
454 paused = VIA_READ(0x41c) & 0x80000000;
455
436 if (paused && !no_pci_fire) { 456 if (paused && !no_pci_fire) {
437 reader = *(dev_priv->hw_addr_ptr); 457 reader = *(dev_priv->hw_addr_ptr);
438 if ((ptr - reader) == dev_priv->dma_diff) { 458 diff = (uint32_t) (ptr - reader) - dev_priv->dma_diff;
439 459 diff &= (dev_priv->dma_high - 1);
460 if (diff != 0 && diff < (dev_priv->dma_high >> 1)) {
461 DRM_ERROR("Paused at incorrect address. "
462 "0x%08x, 0x%08x 0x%08x\n",
463 ptr, reader, dev_priv->dma_diff);
464 } else if (diff == 0) {
440 /* 465 /*
441 * There is a concern that these writes may stall the PCI bus 466 * There is a concern that these writes may stall the PCI bus
442 * if the GPU is not idle. However, idling the GPU first 467 * if the GPU is not idle. However, idling the GPU first
@@ -577,6 +602,7 @@ static void via_cmdbuf_jump(drm_via_private_t * dev_priv)
577 uint32_t pause_addr_lo, pause_addr_hi; 602 uint32_t pause_addr_lo, pause_addr_hi;
578 uint32_t jump_addr_lo, jump_addr_hi; 603 uint32_t jump_addr_lo, jump_addr_hi;
579 volatile uint32_t *last_pause_ptr; 604 volatile uint32_t *last_pause_ptr;
605 uint32_t dma_low_save1, dma_low_save2;
580 606
581 agp_base = dev_priv->dma_offset + (uint32_t) dev_priv->agpAddr; 607 agp_base = dev_priv->dma_offset + (uint32_t) dev_priv->agpAddr;
582 via_align_cmd(dev_priv, HC_HAGPBpID_JUMP, 0, &jump_addr_hi, 608 via_align_cmd(dev_priv, HC_HAGPBpID_JUMP, 0, &jump_addr_hi,
@@ -603,8 +629,29 @@ static void via_cmdbuf_jump(drm_via_private_t * dev_priv)
603 &pause_addr_lo, 0); 629 &pause_addr_lo, 0);
604 630
605 *last_pause_ptr = pause_addr_lo; 631 *last_pause_ptr = pause_addr_lo;
632 dma_low_save1 = dev_priv->dma_low;
606 633
607 via_hook_segment( dev_priv, jump_addr_hi, jump_addr_lo, 0); 634 /*
635 * Now, set a trap that will pause the regulator if it tries to rerun the old
636 * command buffer. (Which may happen if via_hook_segment detecs a command regulator pause
637 * and reissues the jump command over PCI, while the regulator has already taken the jump
638 * and actually paused at the current buffer end).
639 * There appears to be no other way to detect this condition, since the hw_addr_pointer
640 * does not seem to get updated immediately when a jump occurs.
641 */
642
643 last_pause_ptr =
644 via_align_cmd(dev_priv, HC_HAGPBpID_PAUSE, 0, &pause_addr_hi,
645 &pause_addr_lo, 0) - 1;
646 via_align_cmd(dev_priv, HC_HAGPBpID_PAUSE, 0, &pause_addr_hi,
647 &pause_addr_lo, 0);
648 *last_pause_ptr = pause_addr_lo;
649
650 dma_low_save2 = dev_priv->dma_low;
651 dev_priv->dma_low = dma_low_save1;
652 via_hook_segment(dev_priv, jump_addr_hi, jump_addr_lo, 0);
653 dev_priv->dma_low = dma_low_save2;
654 via_hook_segment(dev_priv, pause_addr_hi, pause_addr_lo, 0);
608} 655}
609 656
610 657
diff --git a/drivers/char/drm/via_dmablit.c b/drivers/char/drm/via_dmablit.c
index 33c5197b73c..409e00afdd0 100644
--- a/drivers/char/drm/via_dmablit.c
+++ b/drivers/char/drm/via_dmablit.c
@@ -603,7 +603,7 @@ via_build_sg_info(struct drm_device *dev, drm_via_sg_info_t *vsg, drm_via_dmabli
603 * (Not a big limitation anyway.) 603 * (Not a big limitation anyway.)
604 */ 604 */
605 605
606 if ((xfer->mem_stride - xfer->line_length) >= PAGE_SIZE) { 606 if ((xfer->mem_stride - xfer->line_length) > 2*PAGE_SIZE) {
607 DRM_ERROR("Too large system memory stride. Stride: %d, " 607 DRM_ERROR("Too large system memory stride. Stride: %d, "
608 "Length: %d\n", xfer->mem_stride, xfer->line_length); 608 "Length: %d\n", xfer->mem_stride, xfer->line_length);
609 return -EINVAL; 609 return -EINVAL;
diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
index 6bbd4fa50f3..8d6c2089d2a 100644
--- a/drivers/char/hw_random/Kconfig
+++ b/drivers/char/hw_random/Kconfig
@@ -9,7 +9,14 @@ config HW_RANDOM
9 Hardware Random Number Generator Core infrastructure. 9 Hardware Random Number Generator Core infrastructure.
10 10
11 To compile this driver as a module, choose M here: the 11 To compile this driver as a module, choose M here: the
12 module will be called rng-core. 12 module will be called rng-core. This provides a device
13 that's usually called /dev/hw_random, and which exposes one
14 of possibly several hardware random number generators.
15
16 These hardware random number generators do not feed directly
17 into the kernel's random number generator. That is usually
18 handled by the "rngd" daemon. Documentation/hw_random.txt
19 has more information.
13 20
14 If unsure, say Y. 21 If unsure, say Y.
15 22
diff --git a/drivers/char/ip2/i2lib.c b/drivers/char/ip2/i2lib.c
index d6567b32fb5..9c25320121e 100644
--- a/drivers/char/ip2/i2lib.c
+++ b/drivers/char/ip2/i2lib.c
@@ -644,12 +644,12 @@ i2QueueCommands(int type, i2ChanStrPtr pCh, int timeout, int nCommands,
644 // Normal Expected path - We still hold LOCK 644 // Normal Expected path - We still hold LOCK
645 break; /* from for()- Enough room: goto proceed */ 645 break; /* from for()- Enough room: goto proceed */
646 } 646 }
647 } 647 ip2trace(CHANN, ITRC_QUEUE, 3, 1, totalsize);
648 648 WRITE_UNLOCK_IRQRESTORE(lock_var_p, flags);
649 ip2trace (CHANN, ITRC_QUEUE, 3, 1, totalsize ); 649 } else
650 ip2trace(CHANN, ITRC_QUEUE, 3, 1, totalsize);
650 651
651 // Prepare to wait for buffers to empty 652 /* Prepare to wait for buffers to empty */
652 WRITE_UNLOCK_IRQRESTORE(lock_var_p,flags);
653 serviceOutgoingFifo(pB); // Dump what we got 653 serviceOutgoingFifo(pB); // Dump what we got
654 654
655 if (timeout == 0) { 655 if (timeout == 0) {
@@ -1830,6 +1830,8 @@ i2StripFifo(i2eBordStrPtr pB)
1830 default: // Neither packet? should be impossible 1830 default: // Neither packet? should be impossible
1831 ip2trace (ITRC_NO_PORT, ITRC_SFIFO, 5, 1, 1831 ip2trace (ITRC_NO_PORT, ITRC_SFIFO, 5, 1,
1832 PTYPE_OF(pB->i2eLeadoffWord) ); 1832 PTYPE_OF(pB->i2eLeadoffWord) );
1833 WRITE_UNLOCK_IRQRESTORE(&pB->read_fifo_spinlock,
1834 bflags);
1833 1835
1834 break; 1836 break;
1835 } // End of switch on type of packets 1837 } // End of switch on type of packets
diff --git a/drivers/char/n_tty.c b/drivers/char/n_tty.c
index 46b2a1cc8b5..0c09409fa45 100644
--- a/drivers/char/n_tty.c
+++ b/drivers/char/n_tty.c
@@ -1183,7 +1183,7 @@ static int copy_from_read_buf(struct tty_struct *tty,
1183 return retval; 1183 return retval;
1184} 1184}
1185 1185
1186extern ssize_t redirected_tty_write(struct file *, const char *, 1186extern ssize_t redirected_tty_write(struct file *, const char __user *,
1187 size_t, loff_t *); 1187 size_t, loff_t *);
1188 1188
1189/** 1189/**
diff --git a/drivers/char/nozomi.c b/drivers/char/nozomi.c
index 6d0dc5f9b6b..6a6843a0a67 100644
--- a/drivers/char/nozomi.c
+++ b/drivers/char/nozomi.c
@@ -438,7 +438,7 @@ static void read_mem32(u32 *buf, const void __iomem *mem_addr_start,
438 u32 size_bytes) 438 u32 size_bytes)
439{ 439{
440 u32 i = 0; 440 u32 i = 0;
441 const u32 *ptr = (__force u32 *) mem_addr_start; 441 const u32 __iomem *ptr = mem_addr_start;
442 u16 *buf16; 442 u16 *buf16;
443 443
444 if (unlikely(!ptr || !buf)) 444 if (unlikely(!ptr || !buf))
@@ -448,11 +448,11 @@ static void read_mem32(u32 *buf, const void __iomem *mem_addr_start,
448 switch (size_bytes) { 448 switch (size_bytes) {
449 case 2: /* 2 bytes */ 449 case 2: /* 2 bytes */
450 buf16 = (u16 *) buf; 450 buf16 = (u16 *) buf;
451 *buf16 = __le16_to_cpu(readw((void __iomem *)ptr)); 451 *buf16 = __le16_to_cpu(readw(ptr));
452 goto out; 452 goto out;
453 break; 453 break;
454 case 4: /* 4 bytes */ 454 case 4: /* 4 bytes */
455 *(buf) = __le32_to_cpu(readl((void __iomem *)ptr)); 455 *(buf) = __le32_to_cpu(readl(ptr));
456 goto out; 456 goto out;
457 break; 457 break;
458 } 458 }
@@ -461,11 +461,11 @@ static void read_mem32(u32 *buf, const void __iomem *mem_addr_start,
461 if (size_bytes - i == 2) { 461 if (size_bytes - i == 2) {
462 /* Handle 2 bytes in the end */ 462 /* Handle 2 bytes in the end */
463 buf16 = (u16 *) buf; 463 buf16 = (u16 *) buf;
464 *(buf16) = __le16_to_cpu(readw((void __iomem *)ptr)); 464 *(buf16) = __le16_to_cpu(readw(ptr));
465 i += 2; 465 i += 2;
466 } else { 466 } else {
467 /* Read 4 bytes */ 467 /* Read 4 bytes */
468 *(buf) = __le32_to_cpu(readl((void __iomem *)ptr)); 468 *(buf) = __le32_to_cpu(readl(ptr));
469 i += 4; 469 i += 4;
470 } 470 }
471 buf++; 471 buf++;
@@ -484,7 +484,7 @@ static u32 write_mem32(void __iomem *mem_addr_start, const u32 *buf,
484 u32 size_bytes) 484 u32 size_bytes)
485{ 485{
486 u32 i = 0; 486 u32 i = 0;
487 u32 *ptr = (__force u32 *) mem_addr_start; 487 u32 __iomem *ptr = mem_addr_start;
488 const u16 *buf16; 488 const u16 *buf16;
489 489
490 if (unlikely(!ptr || !buf)) 490 if (unlikely(!ptr || !buf))
@@ -494,7 +494,7 @@ static u32 write_mem32(void __iomem *mem_addr_start, const u32 *buf,
494 switch (size_bytes) { 494 switch (size_bytes) {
495 case 2: /* 2 bytes */ 495 case 2: /* 2 bytes */
496 buf16 = (const u16 *)buf; 496 buf16 = (const u16 *)buf;
497 writew(__cpu_to_le16(*buf16), (void __iomem *)ptr); 497 writew(__cpu_to_le16(*buf16), ptr);
498 return 2; 498 return 2;
499 break; 499 break;
500 case 1: /* 500 case 1: /*
@@ -502,7 +502,7 @@ static u32 write_mem32(void __iomem *mem_addr_start, const u32 *buf,
502 * so falling through.. 502 * so falling through..
503 */ 503 */
504 case 4: /* 4 bytes */ 504 case 4: /* 4 bytes */
505 writel(__cpu_to_le32(*buf), (void __iomem *)ptr); 505 writel(__cpu_to_le32(*buf), ptr);
506 return 4; 506 return 4;
507 break; 507 break;
508 } 508 }
@@ -511,11 +511,11 @@ static u32 write_mem32(void __iomem *mem_addr_start, const u32 *buf,
511 if (size_bytes - i == 2) { 511 if (size_bytes - i == 2) {
512 /* 2 bytes */ 512 /* 2 bytes */
513 buf16 = (const u16 *)buf; 513 buf16 = (const u16 *)buf;
514 writew(__cpu_to_le16(*buf16), (void __iomem *)ptr); 514 writew(__cpu_to_le16(*buf16), ptr);
515 i += 2; 515 i += 2;
516 } else { 516 } else {
517 /* 4 bytes */ 517 /* 4 bytes */
518 writel(__cpu_to_le32(*buf), (void __iomem *)ptr); 518 writel(__cpu_to_le32(*buf), ptr);
519 i += 4; 519 i += 4;
520 } 520 }
521 buf++; 521 buf++;
diff --git a/drivers/char/rio/riotable.c b/drivers/char/rio/riotable.c
index 991119c9f47..9b52892a501 100644
--- a/drivers/char/rio/riotable.c
+++ b/drivers/char/rio/riotable.c
@@ -425,8 +425,10 @@ int RIOApel(struct rio_info *p)
425 425
426 MapP = &p->RIOConnectTable[Next++]; 426 MapP = &p->RIOConnectTable[Next++];
427 MapP->HostUniqueNum = HostP->UniqueNum; 427 MapP->HostUniqueNum = HostP->UniqueNum;
428 if ((HostP->Flags & RUN_STATE) != RC_RUNNING) 428 if ((HostP->Flags & RUN_STATE) != RC_RUNNING) {
429 rio_spin_unlock_irqrestore(&HostP->HostLock, flags);
429 continue; 430 continue;
431 }
430 MapP->RtaUniqueNum = 0; 432 MapP->RtaUniqueNum = 0;
431 MapP->ID = 0; 433 MapP->ID = 0;
432 MapP->Flags = SLOT_IN_USE; 434 MapP->Flags = SLOT_IN_USE;
diff --git a/drivers/char/rio/riotty.c b/drivers/char/rio/riotty.c
index a4f0b1e3e7f..cfa54361473 100644
--- a/drivers/char/rio/riotty.c
+++ b/drivers/char/rio/riotty.c
@@ -319,6 +319,7 @@ int riotopen(struct tty_struct *tty, struct file *filp)
319 PortP->State |= RIO_WOPEN; 319 PortP->State |= RIO_WOPEN;
320 rio_spin_unlock_irqrestore(&PortP->portSem, flags); 320 rio_spin_unlock_irqrestore(&PortP->portSem, flags);
321 if (RIODelay(PortP, HUNDRED_MS) == RIO_FAIL) { 321 if (RIODelay(PortP, HUNDRED_MS) == RIO_FAIL) {
322 rio_spin_lock_irqsave(&PortP->portSem, flags);
322 /* 323 /*
323 ** ACTION: verify that this is a good thing 324 ** ACTION: verify that this is a good thing
324 ** to do here. -- ??? 325 ** to do here. -- ???
@@ -334,6 +335,7 @@ int riotopen(struct tty_struct *tty, struct file *filp)
334 func_exit(); 335 func_exit();
335 return -EINTR; 336 return -EINTR;
336 } 337 }
338 rio_spin_lock_irqsave(&PortP->portSem, flags);
337 } 339 }
338 PortP->State &= ~RIO_WOPEN; 340 PortP->State &= ~RIO_WOPEN;
339 } 341 }
@@ -493,6 +495,7 @@ int riotclose(void *ptr)
493 495
494 if (RIOShortCommand(p, PortP, CLOSE, 1, 0) == RIO_FAIL) { 496 if (RIOShortCommand(p, PortP, CLOSE, 1, 0) == RIO_FAIL) {
495 RIOPreemptiveCmd(p, PortP, FCLOSE); 497 RIOPreemptiveCmd(p, PortP, FCLOSE);
498 rio_spin_lock_irqsave(&PortP->portSem, flags);
496 goto close_end; 499 goto close_end;
497 } 500 }
498 501
@@ -508,6 +511,7 @@ int riotclose(void *ptr)
508 511
509 if (p->RIOHalted) { 512 if (p->RIOHalted) {
510 RIOClearUp(PortP); 513 RIOClearUp(PortP);
514 rio_spin_lock_irqsave(&PortP->portSem, flags);
511 goto close_end; 515 goto close_end;
512 } 516 }
513 if (RIODelay(PortP, HUNDRED_MS) == RIO_FAIL) { 517 if (RIODelay(PortP, HUNDRED_MS) == RIO_FAIL) {
diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c
index 72f289279d8..f585bc8579e 100644
--- a/drivers/char/rocket.c
+++ b/drivers/char/rocket.c
@@ -83,6 +83,7 @@
83#include <linux/pci.h> 83#include <linux/pci.h>
84#include <asm/uaccess.h> 84#include <asm/uaccess.h>
85#include <asm/atomic.h> 85#include <asm/atomic.h>
86#include <asm/unaligned.h>
86#include <linux/bitops.h> 87#include <linux/bitops.h>
87#include <linux/spinlock.h> 88#include <linux/spinlock.h>
88#include <linux/init.h> 89#include <linux/init.h>
@@ -1312,7 +1313,7 @@ static int rp_tiocmset(struct tty_struct *tty, struct file *file,
1312 if (clear & TIOCM_DTR) 1313 if (clear & TIOCM_DTR)
1313 info->channel.TxControl[3] &= ~SET_DTR; 1314 info->channel.TxControl[3] &= ~SET_DTR;
1314 1315
1315 sOutDW(info->channel.IndexAddr, *(DWord_t *) & (info->channel.TxControl[0])); 1316 out32(info->channel.IndexAddr, info->channel.TxControl);
1316 return 0; 1317 return 0;
1317} 1318}
1318 1319
@@ -1748,7 +1749,7 @@ static int rp_write(struct tty_struct *tty,
1748 1749
1749 /* Write remaining data into the port's xmit_buf */ 1750 /* Write remaining data into the port's xmit_buf */
1750 while (1) { 1751 while (1) {
1751 if (info->tty == 0) /* Seemingly obligatory check... */ 1752 if (!info->tty) /* Seemingly obligatory check... */
1752 goto end; 1753 goto end;
1753 1754
1754 c = min(count, min(XMIT_BUF_SIZE - info->xmit_cnt - 1, XMIT_BUF_SIZE - info->xmit_head)); 1755 c = min(count, min(XMIT_BUF_SIZE - info->xmit_cnt - 1, XMIT_BUF_SIZE - info->xmit_head));
@@ -2798,7 +2799,7 @@ static int sReadAiopNumChan(WordIO_t io)
2798 static Byte_t R[4] = { 0x00, 0x00, 0x34, 0x12 }; 2799 static Byte_t R[4] = { 0x00, 0x00, 0x34, 0x12 };
2799 2800
2800 /* write to chan 0 SRAM */ 2801 /* write to chan 0 SRAM */
2801 sOutDW((DWordIO_t) io + _INDX_ADDR, *((DWord_t *) & R[0])); 2802 out32((DWordIO_t) io + _INDX_ADDR, R);
2802 sOutW(io + _INDX_ADDR, 0); /* read from SRAM, chan 0 */ 2803 sOutW(io + _INDX_ADDR, 0); /* read from SRAM, chan 0 */
2803 x = sInW(io + _INDX_DATA); 2804 x = sInW(io + _INDX_DATA);
2804 sOutW(io + _INDX_ADDR, 0x4000); /* read from SRAM, chan 4 */ 2805 sOutW(io + _INDX_ADDR, 0x4000); /* read from SRAM, chan 4 */
@@ -2864,7 +2865,7 @@ static int sInitChan(CONTROLLER_T * CtlP, CHANNEL_T * ChP, int AiopNum,
2864 R[1] = RData[i + 1] + 0x10 * ChanNum; 2865 R[1] = RData[i + 1] + 0x10 * ChanNum;
2865 R[2] = RData[i + 2]; 2866 R[2] = RData[i + 2];
2866 R[3] = RData[i + 3]; 2867 R[3] = RData[i + 3];
2867 sOutDW(ChP->IndexAddr, *((DWord_t *) & R[0])); 2868 out32(ChP->IndexAddr, R);
2868 } 2869 }
2869 2870
2870 ChR = ChP->R; 2871 ChR = ChP->R;
@@ -2887,43 +2888,43 @@ static int sInitChan(CONTROLLER_T * CtlP, CHANNEL_T * ChP, int AiopNum,
2887 ChP->BaudDiv[1] = (Byte_t) ((ChOff + _BAUD) >> 8); 2888 ChP->BaudDiv[1] = (Byte_t) ((ChOff + _BAUD) >> 8);
2888 ChP->BaudDiv[2] = (Byte_t) brd9600; 2889 ChP->BaudDiv[2] = (Byte_t) brd9600;
2889 ChP->BaudDiv[3] = (Byte_t) (brd9600 >> 8); 2890 ChP->BaudDiv[3] = (Byte_t) (brd9600 >> 8);
2890 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->BaudDiv[0]); 2891 out32(ChP->IndexAddr, ChP->BaudDiv);
2891 2892
2892 ChP->TxControl[0] = (Byte_t) (ChOff + _TX_CTRL); 2893 ChP->TxControl[0] = (Byte_t) (ChOff + _TX_CTRL);
2893 ChP->TxControl[1] = (Byte_t) ((ChOff + _TX_CTRL) >> 8); 2894 ChP->TxControl[1] = (Byte_t) ((ChOff + _TX_CTRL) >> 8);
2894 ChP->TxControl[2] = 0; 2895 ChP->TxControl[2] = 0;
2895 ChP->TxControl[3] = 0; 2896 ChP->TxControl[3] = 0;
2896 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->TxControl[0]); 2897 out32(ChP->IndexAddr, ChP->TxControl);
2897 2898
2898 ChP->RxControl[0] = (Byte_t) (ChOff + _RX_CTRL); 2899 ChP->RxControl[0] = (Byte_t) (ChOff + _RX_CTRL);
2899 ChP->RxControl[1] = (Byte_t) ((ChOff + _RX_CTRL) >> 8); 2900 ChP->RxControl[1] = (Byte_t) ((ChOff + _RX_CTRL) >> 8);
2900 ChP->RxControl[2] = 0; 2901 ChP->RxControl[2] = 0;
2901 ChP->RxControl[3] = 0; 2902 ChP->RxControl[3] = 0;
2902 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->RxControl[0]); 2903 out32(ChP->IndexAddr, ChP->RxControl);
2903 2904
2904 ChP->TxEnables[0] = (Byte_t) (ChOff + _TX_ENBLS); 2905 ChP->TxEnables[0] = (Byte_t) (ChOff + _TX_ENBLS);
2905 ChP->TxEnables[1] = (Byte_t) ((ChOff + _TX_ENBLS) >> 8); 2906 ChP->TxEnables[1] = (Byte_t) ((ChOff + _TX_ENBLS) >> 8);
2906 ChP->TxEnables[2] = 0; 2907 ChP->TxEnables[2] = 0;
2907 ChP->TxEnables[3] = 0; 2908 ChP->TxEnables[3] = 0;
2908 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->TxEnables[0]); 2909 out32(ChP->IndexAddr, ChP->TxEnables);
2909 2910
2910 ChP->TxCompare[0] = (Byte_t) (ChOff + _TXCMP1); 2911 ChP->TxCompare[0] = (Byte_t) (ChOff + _TXCMP1);
2911 ChP->TxCompare[1] = (Byte_t) ((ChOff + _TXCMP1) >> 8); 2912 ChP->TxCompare[1] = (Byte_t) ((ChOff + _TXCMP1) >> 8);
2912 ChP->TxCompare[2] = 0; 2913 ChP->TxCompare[2] = 0;
2913 ChP->TxCompare[3] = 0; 2914 ChP->TxCompare[3] = 0;
2914 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->TxCompare[0]); 2915 out32(ChP->IndexAddr, ChP->TxCompare);
2915 2916
2916 ChP->TxReplace1[0] = (Byte_t) (ChOff + _TXREP1B1); 2917 ChP->TxReplace1[0] = (Byte_t) (ChOff + _TXREP1B1);
2917 ChP->TxReplace1[1] = (Byte_t) ((ChOff + _TXREP1B1) >> 8); 2918 ChP->TxReplace1[1] = (Byte_t) ((ChOff + _TXREP1B1) >> 8);
2918 ChP->TxReplace1[2] = 0; 2919 ChP->TxReplace1[2] = 0;
2919 ChP->TxReplace1[3] = 0; 2920 ChP->TxReplace1[3] = 0;
2920 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->TxReplace1[0]); 2921 out32(ChP->IndexAddr, ChP->TxReplace1);
2921 2922
2922 ChP->TxReplace2[0] = (Byte_t) (ChOff + _TXREP2); 2923 ChP->TxReplace2[0] = (Byte_t) (ChOff + _TXREP2);
2923 ChP->TxReplace2[1] = (Byte_t) ((ChOff + _TXREP2) >> 8); 2924 ChP->TxReplace2[1] = (Byte_t) ((ChOff + _TXREP2) >> 8);
2924 ChP->TxReplace2[2] = 0; 2925 ChP->TxReplace2[2] = 0;
2925 ChP->TxReplace2[3] = 0; 2926 ChP->TxReplace2[3] = 0;
2926 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->TxReplace2[0]); 2927 out32(ChP->IndexAddr, ChP->TxReplace2);
2927 2928
2928 ChP->TxFIFOPtrs = ChOff + _TXF_OUTP; 2929 ChP->TxFIFOPtrs = ChOff + _TXF_OUTP;
2929 ChP->TxFIFO = ChOff + _TX_FIFO; 2930 ChP->TxFIFO = ChOff + _TX_FIFO;
@@ -2979,7 +2980,7 @@ static void sStopRxProcessor(CHANNEL_T * ChP)
2979 R[1] = ChP->R[1]; 2980 R[1] = ChP->R[1];
2980 R[2] = 0x0a; 2981 R[2] = 0x0a;
2981 R[3] = ChP->R[3]; 2982 R[3] = ChP->R[3];
2982 sOutDW(ChP->IndexAddr, *(DWord_t *) & R[0]); 2983 out32(ChP->IndexAddr, R);
2983} 2984}
2984 2985
2985/*************************************************************************** 2986/***************************************************************************
@@ -3094,13 +3095,13 @@ static int sWriteTxPrioByte(CHANNEL_T * ChP, Byte_t Data)
3094 *WordPtr = ChP->TxPrioBuf; /* data byte address */ 3095 *WordPtr = ChP->TxPrioBuf; /* data byte address */
3095 3096
3096 DWBuf[2] = Data; /* data byte value */ 3097 DWBuf[2] = Data; /* data byte value */
3097 sOutDW(IndexAddr, *((DWord_t *) (&DWBuf[0]))); /* write it out */ 3098 out32(IndexAddr, DWBuf); /* write it out */
3098 3099
3099 *WordPtr = ChP->TxPrioCnt; /* Tx priority count address */ 3100 *WordPtr = ChP->TxPrioCnt; /* Tx priority count address */
3100 3101
3101 DWBuf[2] = PRI_PEND + 1; /* indicate 1 byte pending */ 3102 DWBuf[2] = PRI_PEND + 1; /* indicate 1 byte pending */
3102 DWBuf[3] = 0; /* priority buffer pointer */ 3103 DWBuf[3] = 0; /* priority buffer pointer */
3103 sOutDW(IndexAddr, *((DWord_t *) (&DWBuf[0]))); /* write it out */ 3104 out32(IndexAddr, DWBuf); /* write it out */
3104 } else { /* write it to Tx FIFO */ 3105 } else { /* write it to Tx FIFO */
3105 3106
3106 sWriteTxByte(sGetTxRxDataIO(ChP), Data); 3107 sWriteTxByte(sGetTxRxDataIO(ChP), Data);
@@ -3147,11 +3148,11 @@ static void sEnInterrupts(CHANNEL_T * ChP, Word_t Flags)
3147 ChP->RxControl[2] |= 3148 ChP->RxControl[2] |=
3148 ((Byte_t) Flags & (RXINT_EN | SRCINT_EN | MCINT_EN)); 3149 ((Byte_t) Flags & (RXINT_EN | SRCINT_EN | MCINT_EN));
3149 3150
3150 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->RxControl[0]); 3151 out32(ChP->IndexAddr, ChP->RxControl);
3151 3152
3152 ChP->TxControl[2] |= ((Byte_t) Flags & TXINT_EN); 3153 ChP->TxControl[2] |= ((Byte_t) Flags & TXINT_EN);
3153 3154
3154 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->TxControl[0]); 3155 out32(ChP->IndexAddr, ChP->TxControl);
3155 3156
3156 if (Flags & CHANINT_EN) { 3157 if (Flags & CHANINT_EN) {
3157 Mask = sInB(ChP->IntMask) | sBitMapSetTbl[ChP->ChanNum]; 3158 Mask = sInB(ChP->IntMask) | sBitMapSetTbl[ChP->ChanNum];
@@ -3190,9 +3191,9 @@ static void sDisInterrupts(CHANNEL_T * ChP, Word_t Flags)
3190 3191
3191 ChP->RxControl[2] &= 3192 ChP->RxControl[2] &=
3192 ~((Byte_t) Flags & (RXINT_EN | SRCINT_EN | MCINT_EN)); 3193 ~((Byte_t) Flags & (RXINT_EN | SRCINT_EN | MCINT_EN));
3193 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->RxControl[0]); 3194 out32(ChP->IndexAddr, ChP->RxControl);
3194 ChP->TxControl[2] &= ~((Byte_t) Flags & TXINT_EN); 3195 ChP->TxControl[2] &= ~((Byte_t) Flags & TXINT_EN);
3195 sOutDW(ChP->IndexAddr, *(DWord_t *) & ChP->TxControl[0]); 3196 out32(ChP->IndexAddr, ChP->TxControl);
3196 3197
3197 if (Flags & CHANINT_EN) { 3198 if (Flags & CHANINT_EN) {
3198 Mask = sInB(ChP->IntMask) & sBitMapClrTbl[ChP->ChanNum]; 3199 Mask = sInB(ChP->IntMask) & sBitMapClrTbl[ChP->ChanNum];
diff --git a/drivers/char/rocket_int.h b/drivers/char/rocket_int.h
index f3a75791b81..b01d38125a8 100644
--- a/drivers/char/rocket_int.h
+++ b/drivers/char/rocket_int.h
@@ -26,7 +26,6 @@ typedef unsigned int ByteIO_t;
26typedef unsigned int Word_t; 26typedef unsigned int Word_t;
27typedef unsigned int WordIO_t; 27typedef unsigned int WordIO_t;
28 28
29typedef unsigned long DWord_t;
30typedef unsigned int DWordIO_t; 29typedef unsigned int DWordIO_t;
31 30
32/* 31/*
@@ -38,7 +37,6 @@ typedef unsigned int DWordIO_t;
38 * instruction. 37 * instruction.
39 */ 38 */
40 39
41#ifdef ROCKET_DEBUG_IO
42static inline void sOutB(unsigned short port, unsigned char value) 40static inline void sOutB(unsigned short port, unsigned char value)
43{ 41{
44#ifdef ROCKET_DEBUG_IO 42#ifdef ROCKET_DEBUG_IO
@@ -55,12 +53,13 @@ static inline void sOutW(unsigned short port, unsigned short value)
55 outw_p(value, port); 53 outw_p(value, port);
56} 54}
57 55
58static inline void sOutDW(unsigned short port, unsigned long value) 56static inline void out32(unsigned short port, Byte_t *p)
59{ 57{
58 u32 value = le32_to_cpu(get_unaligned((__le32 *)p));
60#ifdef ROCKET_DEBUG_IO 59#ifdef ROCKET_DEBUG_IO
61 printk(KERN_DEBUG "sOutDW(%x, %lx)...\n", port, value); 60 printk(KERN_DEBUG "out32(%x, %lx)...\n", port, value);
62#endif 61#endif
63 outl_p(cpu_to_le32(value), port); 62 outl_p(value, port);
64} 63}
65 64
66static inline unsigned char sInB(unsigned short port) 65static inline unsigned char sInB(unsigned short port)
@@ -73,14 +72,6 @@ static inline unsigned short sInW(unsigned short port)
73 return inw_p(port); 72 return inw_p(port);
74} 73}
75 74
76#else /* !ROCKET_DEBUG_IO */
77#define sOutB(a, b) outb_p(b, a)
78#define sOutW(a, b) outw_p(b, a)
79#define sOutDW(port, value) outl_p(cpu_to_le32(value), port)
80#define sInB(a) (inb_p(a))
81#define sInW(a) (inw_p(a))
82#endif /* ROCKET_DEBUG_IO */
83
84/* This is used to move arrays of bytes so byte swapping isn't appropriate. */ 75/* This is used to move arrays of bytes so byte swapping isn't appropriate. */
85#define sOutStrW(port, addr, count) if (count) outsw(port, addr, count) 76#define sOutStrW(port, addr, count) if (count) outsw(port, addr, count)
86#define sInStrW(port, addr, count) if (count) insw(port, addr, count) 77#define sInStrW(port, addr, count) if (count) insw(port, addr, count)
@@ -390,7 +381,7 @@ Call: sClrBreak(ChP)
390#define sClrBreak(ChP) \ 381#define sClrBreak(ChP) \
391do { \ 382do { \
392 (ChP)->TxControl[3] &= ~SETBREAK; \ 383 (ChP)->TxControl[3] &= ~SETBREAK; \
393 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 384 out32((ChP)->IndexAddr,(ChP)->TxControl); \
394} while (0) 385} while (0)
395 386
396/*************************************************************************** 387/***************************************************************************
@@ -402,7 +393,7 @@ Call: sClrDTR(ChP)
402#define sClrDTR(ChP) \ 393#define sClrDTR(ChP) \
403do { \ 394do { \
404 (ChP)->TxControl[3] &= ~SET_DTR; \ 395 (ChP)->TxControl[3] &= ~SET_DTR; \
405 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 396 out32((ChP)->IndexAddr,(ChP)->TxControl); \
406} while (0) 397} while (0)
407 398
408/*************************************************************************** 399/***************************************************************************
@@ -415,7 +406,7 @@ Call: sClrRTS(ChP)
415do { \ 406do { \
416 if ((ChP)->rtsToggle) break; \ 407 if ((ChP)->rtsToggle) break; \
417 (ChP)->TxControl[3] &= ~SET_RTS; \ 408 (ChP)->TxControl[3] &= ~SET_RTS; \
418 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 409 out32((ChP)->IndexAddr,(ChP)->TxControl); \
419} while (0) 410} while (0)
420 411
421/*************************************************************************** 412/***************************************************************************
@@ -489,7 +480,7 @@ Call: sDisCTSFlowCtl(ChP)
489#define sDisCTSFlowCtl(ChP) \ 480#define sDisCTSFlowCtl(ChP) \
490do { \ 481do { \
491 (ChP)->TxControl[2] &= ~CTSFC_EN; \ 482 (ChP)->TxControl[2] &= ~CTSFC_EN; \
492 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 483 out32((ChP)->IndexAddr,(ChP)->TxControl); \
493} while (0) 484} while (0)
494 485
495/*************************************************************************** 486/***************************************************************************
@@ -501,7 +492,7 @@ Call: sDisIXANY(ChP)
501#define sDisIXANY(ChP) \ 492#define sDisIXANY(ChP) \
502do { \ 493do { \
503 (ChP)->R[0x0e] = 0x86; \ 494 (ChP)->R[0x0e] = 0x86; \
504 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0x0c]); \ 495 out32((ChP)->IndexAddr,&(ChP)->R[0x0c]); \
505} while (0) 496} while (0)
506 497
507/*************************************************************************** 498/***************************************************************************
@@ -515,7 +506,7 @@ Comments: Function sSetParity() can be used in place of functions sEnParity(),
515#define sDisParity(ChP) \ 506#define sDisParity(ChP) \
516do { \ 507do { \
517 (ChP)->TxControl[2] &= ~PARITY_EN; \ 508 (ChP)->TxControl[2] &= ~PARITY_EN; \
518 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 509 out32((ChP)->IndexAddr,(ChP)->TxControl); \
519} while (0) 510} while (0)
520 511
521/*************************************************************************** 512/***************************************************************************
@@ -527,7 +518,7 @@ Call: sDisRTSToggle(ChP)
527#define sDisRTSToggle(ChP) \ 518#define sDisRTSToggle(ChP) \
528do { \ 519do { \
529 (ChP)->TxControl[2] &= ~RTSTOG_EN; \ 520 (ChP)->TxControl[2] &= ~RTSTOG_EN; \
530 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 521 out32((ChP)->IndexAddr,(ChP)->TxControl); \
531 (ChP)->rtsToggle = 0; \ 522 (ChP)->rtsToggle = 0; \
532} while (0) 523} while (0)
533 524
@@ -540,7 +531,7 @@ Call: sDisRxFIFO(ChP)
540#define sDisRxFIFO(ChP) \ 531#define sDisRxFIFO(ChP) \
541do { \ 532do { \
542 (ChP)->R[0x32] = 0x0a; \ 533 (ChP)->R[0x32] = 0x0a; \
543 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0x30]); \ 534 out32((ChP)->IndexAddr,&(ChP)->R[0x30]); \
544} while (0) 535} while (0)
545 536
546/*************************************************************************** 537/***************************************************************************
@@ -567,7 +558,7 @@ Call: sDisTransmit(ChP)
567#define sDisTransmit(ChP) \ 558#define sDisTransmit(ChP) \
568do { \ 559do { \
569 (ChP)->TxControl[3] &= ~TX_ENABLE; \ 560 (ChP)->TxControl[3] &= ~TX_ENABLE; \
570 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 561 out32((ChP)->IndexAddr,(ChP)->TxControl); \
571} while (0) 562} while (0)
572 563
573/*************************************************************************** 564/***************************************************************************
@@ -579,7 +570,7 @@ Call: sDisTxSoftFlowCtl(ChP)
579#define sDisTxSoftFlowCtl(ChP) \ 570#define sDisTxSoftFlowCtl(ChP) \
580do { \ 571do { \
581 (ChP)->R[0x06] = 0x8a; \ 572 (ChP)->R[0x06] = 0x8a; \
582 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0x04]); \ 573 out32((ChP)->IndexAddr,&(ChP)->R[0x04]); \
583} while (0) 574} while (0)
584 575
585/*************************************************************************** 576/***************************************************************************
@@ -604,7 +595,7 @@ Call: sEnCTSFlowCtl(ChP)
604#define sEnCTSFlowCtl(ChP) \ 595#define sEnCTSFlowCtl(ChP) \
605do { \ 596do { \
606 (ChP)->TxControl[2] |= CTSFC_EN; \ 597 (ChP)->TxControl[2] |= CTSFC_EN; \
607 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 598 out32((ChP)->IndexAddr,(ChP)->TxControl); \
608} while (0) 599} while (0)
609 600
610/*************************************************************************** 601/***************************************************************************
@@ -616,7 +607,7 @@ Call: sEnIXANY(ChP)
616#define sEnIXANY(ChP) \ 607#define sEnIXANY(ChP) \
617do { \ 608do { \
618 (ChP)->R[0x0e] = 0x21; \ 609 (ChP)->R[0x0e] = 0x21; \
619 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0x0c]); \ 610 out32((ChP)->IndexAddr,&(ChP)->R[0x0c]); \
620} while (0) 611} while (0)
621 612
622/*************************************************************************** 613/***************************************************************************
@@ -633,7 +624,7 @@ Warnings: Before enabling parity odd or even parity should be chosen using
633#define sEnParity(ChP) \ 624#define sEnParity(ChP) \
634do { \ 625do { \
635 (ChP)->TxControl[2] |= PARITY_EN; \ 626 (ChP)->TxControl[2] |= PARITY_EN; \
636 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 627 out32((ChP)->IndexAddr,(ChP)->TxControl); \
637} while (0) 628} while (0)
638 629
639/*************************************************************************** 630/***************************************************************************
@@ -647,10 +638,10 @@ Comments: This function will disable RTS flow control and clear the RTS
647#define sEnRTSToggle(ChP) \ 638#define sEnRTSToggle(ChP) \
648do { \ 639do { \
649 (ChP)->RxControl[2] &= ~RTSFC_EN; \ 640 (ChP)->RxControl[2] &= ~RTSFC_EN; \
650 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->RxControl[0]); \ 641 out32((ChP)->IndexAddr,(ChP)->RxControl); \
651 (ChP)->TxControl[2] |= RTSTOG_EN; \ 642 (ChP)->TxControl[2] |= RTSTOG_EN; \
652 (ChP)->TxControl[3] &= ~SET_RTS; \ 643 (ChP)->TxControl[3] &= ~SET_RTS; \
653 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 644 out32((ChP)->IndexAddr,(ChP)->TxControl); \
654 (ChP)->rtsToggle = 1; \ 645 (ChP)->rtsToggle = 1; \
655} while (0) 646} while (0)
656 647
@@ -663,7 +654,7 @@ Call: sEnRxFIFO(ChP)
663#define sEnRxFIFO(ChP) \ 654#define sEnRxFIFO(ChP) \
664do { \ 655do { \
665 (ChP)->R[0x32] = 0x08; \ 656 (ChP)->R[0x32] = 0x08; \
666 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0x30]); \ 657 out32((ChP)->IndexAddr,&(ChP)->R[0x30]); \
667} while (0) 658} while (0)
668 659
669/*************************************************************************** 660/***************************************************************************
@@ -684,7 +675,7 @@ Warnings: This function must be called after valid microcode has been
684#define sEnRxProcessor(ChP) \ 675#define sEnRxProcessor(ChP) \
685do { \ 676do { \
686 (ChP)->RxControl[2] |= RXPROC_EN; \ 677 (ChP)->RxControl[2] |= RXPROC_EN; \
687 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->RxControl[0]); \ 678 out32((ChP)->IndexAddr,(ChP)->RxControl); \
688} while (0) 679} while (0)
689 680
690/*************************************************************************** 681/***************************************************************************
@@ -708,7 +699,7 @@ Call: sEnTransmit(ChP)
708#define sEnTransmit(ChP) \ 699#define sEnTransmit(ChP) \
709do { \ 700do { \
710 (ChP)->TxControl[3] |= TX_ENABLE; \ 701 (ChP)->TxControl[3] |= TX_ENABLE; \
711 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 702 out32((ChP)->IndexAddr,(ChP)->TxControl); \
712} while (0) 703} while (0)
713 704
714/*************************************************************************** 705/***************************************************************************
@@ -720,7 +711,7 @@ Call: sEnTxSoftFlowCtl(ChP)
720#define sEnTxSoftFlowCtl(ChP) \ 711#define sEnTxSoftFlowCtl(ChP) \
721do { \ 712do { \
722 (ChP)->R[0x06] = 0xc5; \ 713 (ChP)->R[0x06] = 0xc5; \
723 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0x04]); \ 714 out32((ChP)->IndexAddr,&(ChP)->R[0x04]); \
724} while (0) 715} while (0)
725 716
726/*************************************************************************** 717/***************************************************************************
@@ -927,7 +918,7 @@ Call: sSendBreak(ChP)
927#define sSendBreak(ChP) \ 918#define sSendBreak(ChP) \
928do { \ 919do { \
929 (ChP)->TxControl[3] |= SETBREAK; \ 920 (ChP)->TxControl[3] |= SETBREAK; \
930 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 921 out32((ChP)->IndexAddr,(ChP)->TxControl); \
931} while (0) 922} while (0)
932 923
933/*************************************************************************** 924/***************************************************************************
@@ -941,7 +932,7 @@ Call: sSetBaud(ChP,Divisor)
941do { \ 932do { \
942 (ChP)->BaudDiv[2] = (Byte_t)(DIVISOR); \ 933 (ChP)->BaudDiv[2] = (Byte_t)(DIVISOR); \
943 (ChP)->BaudDiv[3] = (Byte_t)((DIVISOR) >> 8); \ 934 (ChP)->BaudDiv[3] = (Byte_t)((DIVISOR) >> 8); \
944 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->BaudDiv[0]); \ 935 out32((ChP)->IndexAddr,(ChP)->BaudDiv); \
945} while (0) 936} while (0)
946 937
947/*************************************************************************** 938/***************************************************************************
@@ -953,7 +944,7 @@ Call: sSetData7(ChP)
953#define sSetData7(ChP) \ 944#define sSetData7(ChP) \
954do { \ 945do { \
955 (ChP)->TxControl[2] &= ~DATA8BIT; \ 946 (ChP)->TxControl[2] &= ~DATA8BIT; \
956 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 947 out32((ChP)->IndexAddr,(ChP)->TxControl); \
957} while (0) 948} while (0)
958 949
959/*************************************************************************** 950/***************************************************************************
@@ -965,7 +956,7 @@ Call: sSetData8(ChP)
965#define sSetData8(ChP) \ 956#define sSetData8(ChP) \
966do { \ 957do { \
967 (ChP)->TxControl[2] |= DATA8BIT; \ 958 (ChP)->TxControl[2] |= DATA8BIT; \
968 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 959 out32((ChP)->IndexAddr,(ChP)->TxControl); \
969} while (0) 960} while (0)
970 961
971/*************************************************************************** 962/***************************************************************************
@@ -977,7 +968,7 @@ Call: sSetDTR(ChP)
977#define sSetDTR(ChP) \ 968#define sSetDTR(ChP) \
978do { \ 969do { \
979 (ChP)->TxControl[3] |= SET_DTR; \ 970 (ChP)->TxControl[3] |= SET_DTR; \
980 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 971 out32((ChP)->IndexAddr,(ChP)->TxControl); \
981} while (0) 972} while (0)
982 973
983/*************************************************************************** 974/***************************************************************************
@@ -994,7 +985,7 @@ Warnings: This function has no effect unless parity is enabled with function
994#define sSetEvenParity(ChP) \ 985#define sSetEvenParity(ChP) \
995do { \ 986do { \
996 (ChP)->TxControl[2] |= EVEN_PAR; \ 987 (ChP)->TxControl[2] |= EVEN_PAR; \
997 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 988 out32((ChP)->IndexAddr,(ChP)->TxControl); \
998} while (0) 989} while (0)
999 990
1000/*************************************************************************** 991/***************************************************************************
@@ -1011,7 +1002,7 @@ Warnings: This function has no effect unless parity is enabled with function
1011#define sSetOddParity(ChP) \ 1002#define sSetOddParity(ChP) \
1012do { \ 1003do { \
1013 (ChP)->TxControl[2] &= ~EVEN_PAR; \ 1004 (ChP)->TxControl[2] &= ~EVEN_PAR; \
1014 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 1005 out32((ChP)->IndexAddr,(ChP)->TxControl); \
1015} while (0) 1006} while (0)
1016 1007
1017/*************************************************************************** 1008/***************************************************************************
@@ -1024,7 +1015,7 @@ Call: sSetRTS(ChP)
1024do { \ 1015do { \
1025 if ((ChP)->rtsToggle) break; \ 1016 if ((ChP)->rtsToggle) break; \
1026 (ChP)->TxControl[3] |= SET_RTS; \ 1017 (ChP)->TxControl[3] |= SET_RTS; \
1027 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 1018 out32((ChP)->IndexAddr,(ChP)->TxControl); \
1028} while (0) 1019} while (0)
1029 1020
1030/*************************************************************************** 1021/***************************************************************************
@@ -1050,7 +1041,7 @@ Comments: An interrupt will be generated when the trigger level is reached
1050do { \ 1041do { \
1051 (ChP)->RxControl[2] &= ~TRIG_MASK; \ 1042 (ChP)->RxControl[2] &= ~TRIG_MASK; \
1052 (ChP)->RxControl[2] |= LEVEL; \ 1043 (ChP)->RxControl[2] |= LEVEL; \
1053 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->RxControl[0]); \ 1044 out32((ChP)->IndexAddr,(ChP)->RxControl); \
1054} while (0) 1045} while (0)
1055 1046
1056/*************************************************************************** 1047/***************************************************************************
@@ -1062,7 +1053,7 @@ Call: sSetStop1(ChP)
1062#define sSetStop1(ChP) \ 1053#define sSetStop1(ChP) \
1063do { \ 1054do { \
1064 (ChP)->TxControl[2] &= ~STOP2; \ 1055 (ChP)->TxControl[2] &= ~STOP2; \
1065 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 1056 out32((ChP)->IndexAddr,(ChP)->TxControl); \
1066} while (0) 1057} while (0)
1067 1058
1068/*************************************************************************** 1059/***************************************************************************
@@ -1074,7 +1065,7 @@ Call: sSetStop2(ChP)
1074#define sSetStop2(ChP) \ 1065#define sSetStop2(ChP) \
1075do { \ 1066do { \
1076 (ChP)->TxControl[2] |= STOP2; \ 1067 (ChP)->TxControl[2] |= STOP2; \
1077 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->TxControl[0]); \ 1068 out32((ChP)->IndexAddr,(ChP)->TxControl); \
1078} while (0) 1069} while (0)
1079 1070
1080/*************************************************************************** 1071/***************************************************************************
@@ -1087,7 +1078,7 @@ Call: sSetTxXOFFChar(ChP,Ch)
1087#define sSetTxXOFFChar(ChP,CH) \ 1078#define sSetTxXOFFChar(ChP,CH) \
1088do { \ 1079do { \
1089 (ChP)->R[0x07] = (CH); \ 1080 (ChP)->R[0x07] = (CH); \
1090 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0x04]); \ 1081 out32((ChP)->IndexAddr,&(ChP)->R[0x04]); \
1091} while (0) 1082} while (0)
1092 1083
1093/*************************************************************************** 1084/***************************************************************************
@@ -1100,7 +1091,7 @@ Call: sSetTxXONChar(ChP,Ch)
1100#define sSetTxXONChar(ChP,CH) \ 1091#define sSetTxXONChar(ChP,CH) \
1101do { \ 1092do { \
1102 (ChP)->R[0x0b] = (CH); \ 1093 (ChP)->R[0x0b] = (CH); \
1103 sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0x08]); \ 1094 out32((ChP)->IndexAddr,&(ChP)->R[0x08]); \
1104} while (0) 1095} while (0)
1105 1096
1106/*************************************************************************** 1097/***************************************************************************
@@ -1113,7 +1104,7 @@ Comments: This function is used to start a Rx processor after it was
1113 will restart both the Rx processor and software input flow control. 1104 will restart both the Rx processor and software input flow control.
1114 1105
1115*/ 1106*/
1116#define sStartRxProcessor(ChP) sOutDW((ChP)->IndexAddr,*(DWord_t *)&(ChP)->R[0]) 1107#define sStartRxProcessor(ChP) out32((ChP)->IndexAddr,&(ChP)->R[0])
1117 1108
1118/*************************************************************************** 1109/***************************************************************************
1119Function: sWriteTxByte 1110Function: sWriteTxByte
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
index d73663a5232..fc555a90bb2 100644
--- a/drivers/cpuidle/cpuidle.c
+++ b/drivers/cpuidle/cpuidle.c
@@ -67,7 +67,7 @@ static void cpuidle_idle_call(void)
67 /* enter the state and update stats */ 67 /* enter the state and update stats */
68 dev->last_residency = target_state->enter(dev, target_state); 68 dev->last_residency = target_state->enter(dev, target_state);
69 dev->last_state = target_state; 69 dev->last_state = target_state;
70 target_state->time += dev->last_residency; 70 target_state->time += (unsigned long long)dev->last_residency;
71 target_state->usage++; 71 target_state->usage++;
72 72
73 /* give the governor an opportunity to reflect on the outcome */ 73 /* give the governor an opportunity to reflect on the outcome */
@@ -224,7 +224,7 @@ static void poll_idle_init(struct cpuidle_device *dev)
224 state->exit_latency = 0; 224 state->exit_latency = 0;
225 state->target_residency = 0; 225 state->target_residency = 0;
226 state->power_usage = -1; 226 state->power_usage = -1;
227 state->flags = CPUIDLE_FLAG_POLL | CPUIDLE_FLAG_TIME_VALID; 227 state->flags = CPUIDLE_FLAG_POLL;
228 state->enter = poll_idle; 228 state->enter = poll_idle;
229} 229}
230#else 230#else
diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c
index 69102ca0568..e949618b9be 100644
--- a/drivers/cpuidle/sysfs.c
+++ b/drivers/cpuidle/sysfs.c
@@ -218,6 +218,12 @@ static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
218 return sprintf(buf, "%u\n", state->_name);\ 218 return sprintf(buf, "%u\n", state->_name);\
219} 219}
220 220
221#define define_show_state_ull_function(_name) \
222static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
223{ \
224 return sprintf(buf, "%llu\n", state->_name);\
225}
226
221#define define_show_state_str_function(_name) \ 227#define define_show_state_str_function(_name) \
222static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \ 228static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
223{ \ 229{ \
@@ -228,8 +234,8 @@ static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
228 234
229define_show_state_function(exit_latency) 235define_show_state_function(exit_latency)
230define_show_state_function(power_usage) 236define_show_state_function(power_usage)
231define_show_state_function(usage) 237define_show_state_ull_function(usage)
232define_show_state_function(time) 238define_show_state_ull_function(time)
233define_show_state_str_function(name) 239define_show_state_str_function(name)
234define_show_state_str_function(desc) 240define_show_state_str_function(desc)
235 241
diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c
index 3110bf7014f..81f3f950cd7 100644
--- a/drivers/crypto/hifn_795x.c
+++ b/drivers/crypto/hifn_795x.c
@@ -392,8 +392,8 @@ static atomic_t hifn_dev_number;
392 392
393struct hifn_desc 393struct hifn_desc
394{ 394{
395 volatile u32 l; 395 volatile __le32 l;
396 volatile u32 p; 396 volatile __le32 p;
397}; 397};
398 398
399struct hifn_dma { 399struct hifn_dma {
@@ -481,10 +481,10 @@ struct hifn_device
481 481
482struct hifn_base_command 482struct hifn_base_command
483{ 483{
484 volatile u16 masks; 484 volatile __le16 masks;
485 volatile u16 session_num; 485 volatile __le16 session_num;
486 volatile u16 total_source_count; 486 volatile __le16 total_source_count;
487 volatile u16 total_dest_count; 487 volatile __le16 total_dest_count;
488}; 488};
489 489
490#define HIFN_BASE_CMD_COMP 0x0100 /* enable compression engine */ 490#define HIFN_BASE_CMD_COMP 0x0100 /* enable compression engine */
@@ -504,10 +504,10 @@ struct hifn_base_command
504 */ 504 */
505struct hifn_crypt_command 505struct hifn_crypt_command
506{ 506{
507 volatile u16 masks; 507 volatile __le16 masks;
508 volatile u16 header_skip; 508 volatile __le16 header_skip;
509 volatile u16 source_count; 509 volatile __le16 source_count;
510 volatile u16 reserved; 510 volatile __le16 reserved;
511}; 511};
512 512
513#define HIFN_CRYPT_CMD_ALG_MASK 0x0003 /* algorithm: */ 513#define HIFN_CRYPT_CMD_ALG_MASK 0x0003 /* algorithm: */
@@ -670,7 +670,7 @@ static inline u32 hifn_read_0(struct hifn_device *dev, u32 reg)
670{ 670{
671 u32 ret; 671 u32 ret;
672 672
673 ret = readl((char *)(dev->bar[0]) + reg); 673 ret = readl(dev->bar[0] + reg);
674 674
675 return ret; 675 return ret;
676} 676}
@@ -679,19 +679,19 @@ static inline u32 hifn_read_1(struct hifn_device *dev, u32 reg)
679{ 679{
680 u32 ret; 680 u32 ret;
681 681
682 ret = readl((char *)(dev->bar[1]) + reg); 682 ret = readl(dev->bar[1] + reg);
683 683
684 return ret; 684 return ret;
685} 685}
686 686
687static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val) 687static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val)
688{ 688{
689 writel(val, (char *)(dev->bar[0]) + reg); 689 writel(val, dev->bar[0] + reg);
690} 690}
691 691
692static inline void hifn_write_1(struct hifn_device *dev, u32 reg, u32 val) 692static inline void hifn_write_1(struct hifn_device *dev, u32 reg, u32 val)
693{ 693{
694 writel(val, (char *)(dev->bar[1]) + reg); 694 writel(val, dev->bar[1] + reg);
695} 695}
696 696
697static void hifn_wait_puc(struct hifn_device *dev) 697static void hifn_wait_puc(struct hifn_device *dev)
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
index ad2f938597e..72692309398 100644
--- a/drivers/dma/fsldma.c
+++ b/drivers/dma/fsldma.c
@@ -123,6 +123,11 @@ static dma_addr_t get_ndar(struct fsl_dma_chan *fsl_chan)
123 return DMA_IN(fsl_chan, &fsl_chan->reg_base->ndar, 64); 123 return DMA_IN(fsl_chan, &fsl_chan->reg_base->ndar, 64);
124} 124}
125 125
126static u32 get_bcr(struct fsl_dma_chan *fsl_chan)
127{
128 return DMA_IN(fsl_chan, &fsl_chan->reg_base->bcr, 32);
129}
130
126static int dma_is_idle(struct fsl_dma_chan *fsl_chan) 131static int dma_is_idle(struct fsl_dma_chan *fsl_chan)
127{ 132{
128 u32 sr = get_sr(fsl_chan); 133 u32 sr = get_sr(fsl_chan);
@@ -426,6 +431,9 @@ fsl_dma_prep_interrupt(struct dma_chan *chan)
426 new->async_tx.cookie = -EBUSY; 431 new->async_tx.cookie = -EBUSY;
427 new->async_tx.ack = 0; 432 new->async_tx.ack = 0;
428 433
434 /* Insert the link descriptor to the LD ring */
435 list_add_tail(&new->node, &new->async_tx.tx_list);
436
429 /* Set End-of-link to the last link descriptor of new list*/ 437 /* Set End-of-link to the last link descriptor of new list*/
430 set_ld_eol(fsl_chan, new); 438 set_ld_eol(fsl_chan, new);
431 439
@@ -701,6 +709,23 @@ static irqreturn_t fsl_dma_chan_do_interrupt(int irq, void *data)
701 if (stat & FSL_DMA_SR_TE) 709 if (stat & FSL_DMA_SR_TE)
702 dev_err(fsl_chan->dev, "Transfer Error!\n"); 710 dev_err(fsl_chan->dev, "Transfer Error!\n");
703 711
712 /* Programming Error
713 * The DMA_INTERRUPT async_tx is a NULL transfer, which will
714 * triger a PE interrupt.
715 */
716 if (stat & FSL_DMA_SR_PE) {
717 dev_dbg(fsl_chan->dev, "event: Programming Error INT\n");
718 if (get_bcr(fsl_chan) == 0) {
719 /* BCR register is 0, this is a DMA_INTERRUPT async_tx.
720 * Now, update the completed cookie, and continue the
721 * next uncompleted transfer.
722 */
723 fsl_dma_update_completed_cookie(fsl_chan);
724 fsl_chan_xfer_ld_queue(fsl_chan);
725 }
726 stat &= ~FSL_DMA_SR_PE;
727 }
728
704 /* If the link descriptor segment transfer finishes, 729 /* If the link descriptor segment transfer finishes,
705 * we will recycle the used descriptor. 730 * we will recycle the used descriptor.
706 */ 731 */
@@ -841,6 +866,11 @@ static int fsl_dma_self_test(struct fsl_dma_chan *fsl_chan)
841 tx3 = fsl_dma_prep_memcpy(chan, dma_dest, dma_src, test_size / 4, 0); 866 tx3 = fsl_dma_prep_memcpy(chan, dma_dest, dma_src, test_size / 4, 0);
842 async_tx_ack(tx3); 867 async_tx_ack(tx3);
843 868
869 /* Interrupt tx test */
870 tx1 = fsl_dma_prep_interrupt(chan);
871 async_tx_ack(tx1);
872 cookie = fsl_dma_tx_submit(tx1);
873
844 /* Test exchanging the prepared tx sort */ 874 /* Test exchanging the prepared tx sort */
845 cookie = fsl_dma_tx_submit(tx3); 875 cookie = fsl_dma_tx_submit(tx3);
846 cookie = fsl_dma_tx_submit(tx2); 876 cookie = fsl_dma_tx_submit(tx2);
diff --git a/drivers/dma/fsldma.h b/drivers/dma/fsldma.h
index ba78c42121b..6faf07ba0d0 100644
--- a/drivers/dma/fsldma.h
+++ b/drivers/dma/fsldma.h
@@ -40,6 +40,7 @@
40#define FSL_DMA_MR_EOTIE 0x00000080 40#define FSL_DMA_MR_EOTIE 0x00000080
41 41
42#define FSL_DMA_SR_CH 0x00000020 42#define FSL_DMA_SR_CH 0x00000020
43#define FSL_DMA_SR_PE 0x00000010
43#define FSL_DMA_SR_CB 0x00000004 44#define FSL_DMA_SR_CB 0x00000004
44#define FSL_DMA_SR_TE 0x00000080 45#define FSL_DMA_SR_TE 0x00000080
45#define FSL_DMA_SR_EOSI 0x00000002 46#define FSL_DMA_SR_EOSI 0x00000002
@@ -74,12 +75,15 @@
74#define FSL_DMA_DGSR_EOSI 0x02 75#define FSL_DMA_DGSR_EOSI 0x02
75#define FSL_DMA_DGSR_EOLSI 0x01 76#define FSL_DMA_DGSR_EOLSI 0x01
76 77
78typedef u64 __bitwise v64;
79typedef u32 __bitwise v32;
80
77struct fsl_dma_ld_hw { 81struct fsl_dma_ld_hw {
78 u64 __bitwise src_addr; 82 v64 src_addr;
79 u64 __bitwise dst_addr; 83 v64 dst_addr;
80 u64 __bitwise next_ln_addr; 84 v64 next_ln_addr;
81 u32 __bitwise count; 85 v32 count;
82 u32 __bitwise reserve; 86 v32 reserve;
83} __attribute__((aligned(32))); 87} __attribute__((aligned(32)));
84 88
85struct fsl_desc_sw { 89struct fsl_desc_sw {
@@ -91,13 +95,13 @@ struct fsl_desc_sw {
91} __attribute__((aligned(32))); 95} __attribute__((aligned(32)));
92 96
93struct fsl_dma_chan_regs { 97struct fsl_dma_chan_regs {
94 u32 __bitwise mr; /* 0x00 - Mode Register */ 98 u32 mr; /* 0x00 - Mode Register */
95 u32 __bitwise sr; /* 0x04 - Status Register */ 99 u32 sr; /* 0x04 - Status Register */
96 u64 __bitwise cdar; /* 0x08 - Current descriptor address register */ 100 u64 cdar; /* 0x08 - Current descriptor address register */
97 u64 __bitwise sar; /* 0x10 - Source Address Register */ 101 u64 sar; /* 0x10 - Source Address Register */
98 u64 __bitwise dar; /* 0x18 - Destination Address Register */ 102 u64 dar; /* 0x18 - Destination Address Register */
99 u32 __bitwise bcr; /* 0x20 - Byte Count Register */ 103 u32 bcr; /* 0x20 - Byte Count Register */
100 u64 __bitwise ndar; /* 0x24 - Next Descriptor Address Register */ 104 u64 ndar; /* 0x24 - Next Descriptor Address Register */
101}; 105};
102 106
103struct fsl_dma_chan; 107struct fsl_dma_chan;
@@ -150,25 +154,27 @@ struct fsl_dma_chan {
150#ifndef __powerpc64__ 154#ifndef __powerpc64__
151static u64 in_be64(const u64 __iomem *addr) 155static u64 in_be64(const u64 __iomem *addr)
152{ 156{
153 return ((u64)in_be32((u32 *)addr) << 32) | (in_be32((u32 *)addr + 1)); 157 return ((u64)in_be32((u32 __iomem *)addr) << 32) |
158 (in_be32((u32 __iomem *)addr + 1));
154} 159}
155 160
156static void out_be64(u64 __iomem *addr, u64 val) 161static void out_be64(u64 __iomem *addr, u64 val)
157{ 162{
158 out_be32((u32 *)addr, val >> 32); 163 out_be32((u32 __iomem *)addr, val >> 32);
159 out_be32((u32 *)addr + 1, (u32)val); 164 out_be32((u32 __iomem *)addr + 1, (u32)val);
160} 165}
161 166
162/* There is no asm instructions for 64 bits reverse loads and stores */ 167/* There is no asm instructions for 64 bits reverse loads and stores */
163static u64 in_le64(const u64 __iomem *addr) 168static u64 in_le64(const u64 __iomem *addr)
164{ 169{
165 return ((u64)in_le32((u32 *)addr + 1) << 32) | (in_le32((u32 *)addr)); 170 return ((u64)in_le32((u32 __iomem *)addr + 1) << 32) |
171 (in_le32((u32 __iomem *)addr));
166} 172}
167 173
168static void out_le64(u64 __iomem *addr, u64 val) 174static void out_le64(u64 __iomem *addr, u64 val)
169{ 175{
170 out_le32((u32 *)addr + 1, val >> 32); 176 out_le32((u32 __iomem *)addr + 1, val >> 32);
171 out_le32((u32 *)addr, (u32)val); 177 out_le32((u32 __iomem *)addr, (u32)val);
172} 178}
173#endif 179#endif
174 180
@@ -181,9 +187,11 @@ static void out_le64(u64 __iomem *addr, u64 val)
181 187
182#define DMA_TO_CPU(fsl_chan, d, width) \ 188#define DMA_TO_CPU(fsl_chan, d, width) \
183 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \ 189 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
184 be##width##_to_cpu(d) : le##width##_to_cpu(d)) 190 be##width##_to_cpu((__force __be##width)(v##width)d) : \
191 le##width##_to_cpu((__force __le##width)(v##width)d))
185#define CPU_TO_DMA(fsl_chan, c, width) \ 192#define CPU_TO_DMA(fsl_chan, c, width) \
186 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \ 193 (((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
187 cpu_to_be##width(c) : cpu_to_le##width(c)) 194 (__force v##width)cpu_to_be##width(c) : \
195 (__force v##width)cpu_to_le##width(c))
188 196
189#endif /* __DMA_FSLDMA_H */ 197#endif /* __DMA_FSLDMA_H */
diff --git a/drivers/dma/ioat_dca.c b/drivers/dma/ioat_dca.c
index 0fa8a98051a..9e922760b7f 100644
--- a/drivers/dma/ioat_dca.c
+++ b/drivers/dma/ioat_dca.c
@@ -98,7 +98,7 @@ struct ioat_dca_slot {
98 98
99struct ioat_dca_priv { 99struct ioat_dca_priv {
100 void __iomem *iobase; 100 void __iomem *iobase;
101 void *dca_base; 101 void __iomem *dca_base;
102 int max_requesters; 102 int max_requesters;
103 int requester_count; 103 int requester_count;
104 u8 tag_map[IOAT_TAG_MAP_LEN]; 104 u8 tag_map[IOAT_TAG_MAP_LEN];
@@ -338,7 +338,7 @@ static struct dca_ops ioat2_dca_ops = {
338 .get_tag = ioat2_dca_get_tag, 338 .get_tag = ioat2_dca_get_tag,
339}; 339};
340 340
341static int ioat2_dca_count_dca_slots(void *iobase, u16 dca_offset) 341static int ioat2_dca_count_dca_slots(void __iomem *iobase, u16 dca_offset)
342{ 342{
343 int slots = 0; 343 int slots = 0;
344 u32 req; 344 u32 req;
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index 996d61f0d46..ca6d51efd8b 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -401,7 +401,8 @@ static void ar_context_tasklet(unsigned long data)
401 401
402 if (d->res_count == 0) { 402 if (d->res_count == 0) {
403 size_t size, rest, offset; 403 size_t size, rest, offset;
404 dma_addr_t buffer_bus; 404 dma_addr_t start_bus;
405 void *start;
405 406
406 /* 407 /*
407 * This descriptor is finished and we may have a 408 * This descriptor is finished and we may have a
@@ -410,9 +411,9 @@ static void ar_context_tasklet(unsigned long data)
410 */ 411 */
411 412
412 offset = offsetof(struct ar_buffer, data); 413 offset = offsetof(struct ar_buffer, data);
413 buffer_bus = le32_to_cpu(ab->descriptor.data_address) - offset; 414 start = buffer = ab;
415 start_bus = le32_to_cpu(ab->descriptor.data_address) - offset;
414 416
415 buffer = ab;
416 ab = ab->next; 417 ab = ab->next;
417 d = &ab->descriptor; 418 d = &ab->descriptor;
418 size = buffer + PAGE_SIZE - ctx->pointer; 419 size = buffer + PAGE_SIZE - ctx->pointer;
@@ -427,7 +428,7 @@ static void ar_context_tasklet(unsigned long data)
427 buffer = handle_ar_packet(ctx, buffer); 428 buffer = handle_ar_packet(ctx, buffer);
428 429
429 dma_free_coherent(ohci->card.device, PAGE_SIZE, 430 dma_free_coherent(ohci->card.device, PAGE_SIZE,
430 buffer, buffer_bus); 431 start, start_bus);
431 ar_context_add_page(ctx); 432 ar_context_add_page(ctx);
432 } else { 433 } else {
433 buffer = ctx->pointer; 434 buffer = ctx->pointer;
diff --git a/drivers/firewire/fw-transaction.c b/drivers/firewire/fw-transaction.c
index 99529e59a0b..e6f1bda3894 100644
--- a/drivers/firewire/fw-transaction.c
+++ b/drivers/firewire/fw-transaction.c
@@ -736,6 +736,12 @@ fw_core_handle_response(struct fw_card *card, struct fw_packet *p)
736 break; 736 break;
737 } 737 }
738 738
739 /*
740 * The response handler may be executed while the request handler
741 * is still pending. Cancel the request handler.
742 */
743 card->driver->cancel_packet(card, &t->packet);
744
739 t->callback(card, rcode, data, data_length, t->callback_data); 745 t->callback(card, rcode, data, data_length, t->callback_data);
740} 746}
741EXPORT_SYMBOL(fw_core_handle_response); 747EXPORT_SYMBOL(fw_core_handle_response);
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index d73a768e176..f0b00ec1e47 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -968,7 +968,7 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
968 size--; 968 size--;
969 } 969 }
970 970
971 /* dump the report descriptor */ 971 /* dump the report */
972 dbg_hid("report %d (size %u) = ", n, size); 972 dbg_hid("report %d (size %u) = ", n, size);
973 for (i = 0; i < size; i++) 973 for (i = 0; i < size; i++)
974 dbg_hid_line(" %02x", data[i]); 974 dbg_hid_line(" %02x", data[i]);
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 5a38fb27d69..c3eb3f13e2c 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -98,18 +98,16 @@ struct hidinput_key_translation {
98 98
99static struct hidinput_key_translation apple_fn_keys[] = { 99static struct hidinput_key_translation apple_fn_keys[] = {
100 { KEY_BACKSPACE, KEY_DELETE }, 100 { KEY_BACKSPACE, KEY_DELETE },
101 { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY }, 101 { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY },
102 { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY }, 102 { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY },
103 { KEY_F3, KEY_CYCLEWINDOWS, APPLE_FLAG_FKEY }, /* Exposé */ 103 { KEY_F3, KEY_FN_F5, APPLE_FLAG_FKEY }, /* Exposé */
104 { KEY_F4, KEY_FN_F4, APPLE_FLAG_FKEY }, /* Dashboard */ 104 { KEY_F4, KEY_FN_F4, APPLE_FLAG_FKEY }, /* Dashboard */
105 { KEY_F5, KEY_FN_F5 }, 105 { KEY_F7, KEY_PREVIOUSSONG, APPLE_FLAG_FKEY },
106 { KEY_F6, KEY_FN_F6 }, 106 { KEY_F8, KEY_PLAYPAUSE, APPLE_FLAG_FKEY },
107 { KEY_F7, KEY_BACK, APPLE_FLAG_FKEY }, 107 { KEY_F9, KEY_NEXTSONG, APPLE_FLAG_FKEY },
108 { KEY_F8, KEY_PLAYPAUSE, APPLE_FLAG_FKEY }, 108 { KEY_F10, KEY_MUTE, APPLE_FLAG_FKEY },
109 { KEY_F9, KEY_FORWARD, APPLE_FLAG_FKEY }, 109 { KEY_F11, KEY_VOLUMEDOWN, APPLE_FLAG_FKEY },
110 { KEY_F10, KEY_MUTE, APPLE_FLAG_FKEY }, 110 { KEY_F12, KEY_VOLUMEUP, APPLE_FLAG_FKEY },
111 { KEY_F11, KEY_VOLUMEDOWN, APPLE_FLAG_FKEY },
112 { KEY_F12, KEY_VOLUMEUP, APPLE_FLAG_FKEY },
113 { KEY_UP, KEY_PAGEUP }, 111 { KEY_UP, KEY_PAGEUP },
114 { KEY_DOWN, KEY_PAGEDOWN }, 112 { KEY_DOWN, KEY_PAGEDOWN },
115 { KEY_LEFT, KEY_HOME }, 113 { KEY_LEFT, KEY_HOME },
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index b38e559b7a4..d95979f0e02 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -278,7 +278,7 @@ static int hid_submit_ctrl(struct hid_device *hid)
278 usbhid->urbctrl->pipe = usb_rcvctrlpipe(hid_to_usb_dev(hid), 0); 278 usbhid->urbctrl->pipe = usb_rcvctrlpipe(hid_to_usb_dev(hid), 0);
279 maxpacket = usb_maxpacket(hid_to_usb_dev(hid), usbhid->urbctrl->pipe, 0); 279 maxpacket = usb_maxpacket(hid_to_usb_dev(hid), usbhid->urbctrl->pipe, 0);
280 if (maxpacket > 0) { 280 if (maxpacket > 0) {
281 padlen = (len + maxpacket - 1) / maxpacket; 281 padlen = DIV_ROUND_UP(len, maxpacket);
282 padlen *= maxpacket; 282 padlen *= maxpacket;
283 if (padlen > usbhid->bufsize) 283 if (padlen > usbhid->bufsize)
284 padlen = usbhid->bufsize; 284 padlen = usbhid->bufsize;
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index e6d05f6b1c1..e29a057cbea 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -345,6 +345,9 @@
345#define USB_VENDOR_ID_NATIONAL_SEMICONDUCTOR 0x0400 345#define USB_VENDOR_ID_NATIONAL_SEMICONDUCTOR 0x0400
346#define USB_DEVICE_ID_N_S_HARMONY 0xc359 346#define USB_DEVICE_ID_N_S_HARMONY 0xc359
347 347
348#define USB_VENDOR_ID_NATSU 0x08b7
349#define USB_DEVICE_ID_NATSU_GAMEPAD 0x0001
350
348#define USB_VENDOR_ID_NEC 0x073e 351#define USB_VENDOR_ID_NEC 0x073e
349#define USB_DEVICE_ID_NEC_USB_GAME_PAD 0x0301 352#define USB_DEVICE_ID_NEC_USB_GAME_PAD 0x0301
350 353
@@ -426,6 +429,7 @@ static const struct hid_blacklist {
426 { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_DRIVING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, 429 { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_DRIVING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT },
427 { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FLYING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, 430 { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FLYING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT },
428 { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, 431 { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT },
432 { USB_VENDOR_ID_NATSU, USB_DEVICE_ID_NATSU_GAMEPAD, HID_QUIRK_BADPAD },
429 { USB_VENDOR_ID_NEC, USB_DEVICE_ID_NEC_USB_GAME_PAD, HID_QUIRK_BADPAD }, 433 { USB_VENDOR_ID_NEC, USB_DEVICE_ID_NEC_USB_GAME_PAD, HID_QUIRK_BADPAD },
430 { USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD, HID_QUIRK_BADPAD }, 434 { USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD, HID_QUIRK_BADPAD },
431 { USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD }, 435 { USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD },
@@ -624,7 +628,7 @@ static const struct hid_blacklist {
624 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD }, 628 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },
625 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS, HID_QUIRK_APPLE_HAS_FN }, 629 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS, HID_QUIRK_APPLE_HAS_FN },
626 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, 630 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE },
627 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE | HID_QUIRK_APPLE_ISO_KEYBOARD }, 631 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE },
628 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, 632 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE },
629 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI, HID_QUIRK_APPLE_HAS_FN }, 633 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI, HID_QUIRK_APPLE_HAS_FN },
630 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD }, 634 { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 368879ff5d8..4dc76bc45c9 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -337,8 +337,9 @@ config SENSORS_IBMPEX
337 help 337 help
338 If you say yes here you get support for the temperature and 338 If you say yes here you get support for the temperature and
339 power sensors in various IBM System X servers that support 339 power sensors in various IBM System X servers that support
340 PowerExecutive. So far this includes the x3550, x3650, x3655, 340 PowerExecutive. So far this includes the x3350, x3550, x3650,
341 x3755, and certain HS20 blades. 341 x3655, and x3755; the x3800, x3850, and x3950 models that have
342 PCI Express; and some of the HS2x, LS2x, and QS2x blades.
342 343
343 This driver can also be built as a module. If so, the module 344 This driver can also be built as a module. If so, the module
344 will be called ibmpex. 345 will be called ibmpex.
diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c
index 9c9cdb0685e..4e9b19c6732 100644
--- a/drivers/hwmon/ibmpex.c
+++ b/drivers/hwmon/ibmpex.c
@@ -327,10 +327,14 @@ static int is_temp_sensor(const char *sensor_id, int len)
327 return 0; 327 return 0;
328} 328}
329 329
330static int power_sensor_multiplier(const char *sensor_id, int len) 330static int power_sensor_multiplier(struct ibmpex_bmc_data *data,
331 const char *sensor_id, int len)
331{ 332{
332 int i; 333 int i;
333 334
335 if (data->sensor_major == 2)
336 return 1000000;
337
334 for (i = PEX_SENSOR_TYPE_LEN; i < len - 1; i++) 338 for (i = PEX_SENSOR_TYPE_LEN; i < len - 1; i++)
335 if (!memcmp(&sensor_id[i], watt_sensor_sig, PEX_MULT_LEN)) 339 if (!memcmp(&sensor_id[i], watt_sensor_sig, PEX_MULT_LEN))
336 return 1000000; 340 return 1000000;
@@ -398,14 +402,15 @@ static int ibmpex_find_sensors(struct ibmpex_bmc_data *data)
398 num_power++; 402 num_power++;
399 sensor_counter = num_power; 403 sensor_counter = num_power;
400 data->sensors[i].multiplier = 404 data->sensors[i].multiplier =
401 power_sensor_multiplier(data->rx_msg_data, 405 power_sensor_multiplier(data,
402 data->rx_msg_len); 406 data->rx_msg_data,
407 data->rx_msg_len);
403 } else if (is_temp_sensor(data->rx_msg_data, 408 } else if (is_temp_sensor(data->rx_msg_data,
404 data->rx_msg_len)) { 409 data->rx_msg_len)) {
405 sensor_type = TEMP_SENSOR; 410 sensor_type = TEMP_SENSOR;
406 num_temp++; 411 num_temp++;
407 sensor_counter = num_temp; 412 sensor_counter = num_temp;
408 data->sensors[i].multiplier = 1; 413 data->sensors[i].multiplier = 1000;
409 } else 414 } else
410 continue; 415 continue;
411 416
diff --git a/drivers/hwmon/w83781d.c b/drivers/hwmon/w83781d.c
index 5c85670e2d1..f942ecdd47c 100644
--- a/drivers/hwmon/w83781d.c
+++ b/drivers/hwmon/w83781d.c
@@ -1367,7 +1367,8 @@ w83781d_isa_probe(struct platform_device *pdev)
1367 1367
1368 /* Reserve the ISA region */ 1368 /* Reserve the ISA region */
1369 res = platform_get_resource(pdev, IORESOURCE_IO, 0); 1369 res = platform_get_resource(pdev, IORESOURCE_IO, 0);
1370 if (!request_region(res->start, W83781D_EXTENT, "w83781d")) { 1370 if (!request_region(res->start + W83781D_ADDR_REG_OFFSET, 2,
1371 "w83781d")) {
1371 err = -EBUSY; 1372 err = -EBUSY;
1372 goto exit; 1373 goto exit;
1373 } 1374 }
@@ -1415,7 +1416,7 @@ w83781d_isa_probe(struct platform_device *pdev)
1415 device_remove_file(&pdev->dev, &dev_attr_name); 1416 device_remove_file(&pdev->dev, &dev_attr_name);
1416 kfree(data); 1417 kfree(data);
1417 exit_release_region: 1418 exit_release_region:
1418 release_region(res->start, W83781D_EXTENT); 1419 release_region(res->start + W83781D_ADDR_REG_OFFSET, 2);
1419 exit: 1420 exit:
1420 return err; 1421 return err;
1421} 1422}
@@ -1429,7 +1430,7 @@ w83781d_isa_remove(struct platform_device *pdev)
1429 sysfs_remove_group(&pdev->dev.kobj, &w83781d_group); 1430 sysfs_remove_group(&pdev->dev.kobj, &w83781d_group);
1430 sysfs_remove_group(&pdev->dev.kobj, &w83781d_group_opt); 1431 sysfs_remove_group(&pdev->dev.kobj, &w83781d_group_opt);
1431 device_remove_file(&pdev->dev, &dev_attr_name); 1432 device_remove_file(&pdev->dev, &dev_attr_name);
1432 release_region(data->client.addr, W83781D_EXTENT); 1433 release_region(data->client.addr + W83781D_ADDR_REG_OFFSET, 2);
1433 kfree(data); 1434 kfree(data);
1434 1435
1435 return 0; 1436 return 0;
@@ -1797,8 +1798,17 @@ w83781d_isa_found(unsigned short address)
1797{ 1798{
1798 int val, save, found = 0; 1799 int val, save, found = 0;
1799 1800
1800 if (!request_region(address, W83781D_EXTENT, "w83781d")) 1801 /* We have to request the region in two parts because some
1802 boards declare base+4 to base+7 as a PNP device */
1803 if (!request_region(address, 4, "w83781d")) {
1804 pr_debug("w83781d: Failed to request low part of region\n");
1801 return 0; 1805 return 0;
1806 }
1807 if (!request_region(address + 4, 4, "w83781d")) {
1808 pr_debug("w83781d: Failed to request high part of region\n");
1809 release_region(address, 4);
1810 return 0;
1811 }
1802 1812
1803#define REALLY_SLOW_IO 1813#define REALLY_SLOW_IO
1804 /* We need the timeouts for at least some W83781D-like 1814 /* We need the timeouts for at least some W83781D-like
@@ -1871,7 +1881,8 @@ w83781d_isa_found(unsigned short address)
1871 val == 0x30 ? "W83782D" : "W83781D", (int)address); 1881 val == 0x30 ? "W83782D" : "W83781D", (int)address);
1872 1882
1873 release: 1883 release:
1874 release_region(address, W83781D_EXTENT); 1884 release_region(address + 4, 4);
1885 release_region(address, 4);
1875 return found; 1886 return found;
1876} 1887}
1877 1888
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 476b0bb72d6..5fa9c3c67e0 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -100,7 +100,7 @@ config I2C_AU1550
100 100
101config I2C_BLACKFIN_TWI 101config I2C_BLACKFIN_TWI
102 tristate "Blackfin TWI I2C support" 102 tristate "Blackfin TWI I2C support"
103 depends on BF534 || BF536 || BF537 || BF54x 103 depends on BF534 || BF536 || BF537
104 help 104 help
105 This is the TWI I2C device driver for Blackfin 534/536/537/54x. 105 This is the TWI I2C device driver for Blackfin 534/536/537/54x.
106 This driver can also be built as a module. If so, the module 106 This driver can also be built as a module. If so, the module
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index da6639707ea..7ba31770d77 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -128,6 +128,8 @@ struct omap_i2c_dev {
128 size_t buf_len; 128 size_t buf_len;
129 struct i2c_adapter adapter; 129 struct i2c_adapter adapter;
130 unsigned rev1:1; 130 unsigned rev1:1;
131 unsigned idle:1;
132 u16 iestate; /* Saved interrupt register */
131}; 133};
132 134
133static inline void omap_i2c_write_reg(struct omap_i2c_dev *i2c_dev, 135static inline void omap_i2c_write_reg(struct omap_i2c_dev *i2c_dev,
@@ -174,18 +176,30 @@ static void omap_i2c_put_clocks(struct omap_i2c_dev *dev)
174 } 176 }
175} 177}
176 178
177static void omap_i2c_enable_clocks(struct omap_i2c_dev *dev) 179static void omap_i2c_unidle(struct omap_i2c_dev *dev)
178{ 180{
179 if (dev->iclk != NULL) 181 if (dev->iclk != NULL)
180 clk_enable(dev->iclk); 182 clk_enable(dev->iclk);
181 clk_enable(dev->fclk); 183 clk_enable(dev->fclk);
184 if (dev->iestate)
185 omap_i2c_write_reg(dev, OMAP_I2C_IE_REG, dev->iestate);
186 dev->idle = 0;
182} 187}
183 188
184static void omap_i2c_disable_clocks(struct omap_i2c_dev *dev) 189static void omap_i2c_idle(struct omap_i2c_dev *dev)
185{ 190{
191 u16 iv;
192
193 dev->idle = 1;
194 dev->iestate = omap_i2c_read_reg(dev, OMAP_I2C_IE_REG);
195 omap_i2c_write_reg(dev, OMAP_I2C_IE_REG, 0);
196 if (dev->rev1)
197 iv = omap_i2c_read_reg(dev, OMAP_I2C_IV_REG); /* Read clears */
198 else
199 omap_i2c_write_reg(dev, OMAP_I2C_STAT_REG, dev->iestate);
200 clk_disable(dev->fclk);
186 if (dev->iclk != NULL) 201 if (dev->iclk != NULL)
187 clk_disable(dev->iclk); 202 clk_disable(dev->iclk);
188 clk_disable(dev->fclk);
189} 203}
190 204
191static int omap_i2c_init(struct omap_i2c_dev *dev) 205static int omap_i2c_init(struct omap_i2c_dev *dev)
@@ -360,7 +374,7 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
360 int i; 374 int i;
361 int r; 375 int r;
362 376
363 omap_i2c_enable_clocks(dev); 377 omap_i2c_unidle(dev);
364 378
365 if ((r = omap_i2c_wait_for_bb(dev)) < 0) 379 if ((r = omap_i2c_wait_for_bb(dev)) < 0)
366 goto out; 380 goto out;
@@ -374,7 +388,7 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
374 if (r == 0) 388 if (r == 0)
375 r = num; 389 r = num;
376out: 390out:
377 omap_i2c_disable_clocks(dev); 391 omap_i2c_idle(dev);
378 return r; 392 return r;
379} 393}
380 394
@@ -403,6 +417,9 @@ omap_i2c_rev1_isr(int this_irq, void *dev_id)
403 struct omap_i2c_dev *dev = dev_id; 417 struct omap_i2c_dev *dev = dev_id;
404 u16 iv, w; 418 u16 iv, w;
405 419
420 if (dev->idle)
421 return IRQ_NONE;
422
406 iv = omap_i2c_read_reg(dev, OMAP_I2C_IV_REG); 423 iv = omap_i2c_read_reg(dev, OMAP_I2C_IV_REG);
407 switch (iv) { 424 switch (iv) {
408 case 0x00: /* None */ 425 case 0x00: /* None */
@@ -457,6 +474,9 @@ omap_i2c_isr(int this_irq, void *dev_id)
457 u16 stat, w; 474 u16 stat, w;
458 int count = 0; 475 int count = 0;
459 476
477 if (dev->idle)
478 return IRQ_NONE;
479
460 bits = omap_i2c_read_reg(dev, OMAP_I2C_IE_REG); 480 bits = omap_i2c_read_reg(dev, OMAP_I2C_IE_REG);
461 while ((stat = (omap_i2c_read_reg(dev, OMAP_I2C_STAT_REG))) & bits) { 481 while ((stat = (omap_i2c_read_reg(dev, OMAP_I2C_STAT_REG))) & bits) {
462 dev_dbg(dev->dev, "IRQ (ISR = 0x%04x)\n", stat); 482 dev_dbg(dev->dev, "IRQ (ISR = 0x%04x)\n", stat);
@@ -575,7 +595,7 @@ omap_i2c_probe(struct platform_device *pdev)
575 if ((r = omap_i2c_get_clocks(dev)) != 0) 595 if ((r = omap_i2c_get_clocks(dev)) != 0)
576 goto err_free_mem; 596 goto err_free_mem;
577 597
578 omap_i2c_enable_clocks(dev); 598 omap_i2c_unidle(dev);
579 599
580 if (cpu_is_omap15xx()) 600 if (cpu_is_omap15xx())
581 dev->rev1 = omap_i2c_read_reg(dev, OMAP_I2C_REV_REG) < 0x20; 601 dev->rev1 = omap_i2c_read_reg(dev, OMAP_I2C_REV_REG) < 0x20;
@@ -610,7 +630,7 @@ omap_i2c_probe(struct platform_device *pdev)
610 goto err_free_irq; 630 goto err_free_irq;
611 } 631 }
612 632
613 omap_i2c_disable_clocks(dev); 633 omap_i2c_idle(dev);
614 634
615 return 0; 635 return 0;
616 636
@@ -618,7 +638,7 @@ err_free_irq:
618 free_irq(dev->irq, dev); 638 free_irq(dev->irq, dev);
619err_unuse_clocks: 639err_unuse_clocks:
620 omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0); 640 omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
621 omap_i2c_disable_clocks(dev); 641 omap_i2c_idle(dev);
622 omap_i2c_put_clocks(dev); 642 omap_i2c_put_clocks(dev);
623err_free_mem: 643err_free_mem:
624 platform_set_drvdata(pdev, NULL); 644 platform_set_drvdata(pdev, NULL);
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index fd84b2a3633..8b645c6b2cb 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -489,8 +489,8 @@ EXPORT_SYMBOL(i2c_add_adapter);
489 * Context: can sleep 489 * Context: can sleep
490 * 490 *
491 * This routine is used to declare an I2C adapter when its bus number 491 * This routine is used to declare an I2C adapter when its bus number
492 * matters. Example: for I2C adapters from system-on-chip CPUs, or 492 * matters. For example, use it for I2C adapters from system-on-chip CPUs,
493 * otherwise built in to the system's mainboard, and where i2c_board_info 493 * or otherwise built in to the system's mainboard, and where i2c_board_info
494 * is used to properly configure I2C devices. 494 * is used to properly configure I2C devices.
495 * 495 *
496 * If no devices have pre-been declared for this bus, then be sure to 496 * If no devices have pre-been declared for this bus, then be sure to
diff --git a/drivers/ide/arm/ide_arm.c b/drivers/ide/arm/ide_arm.c
index 43a70e91363..be9ff7334c5 100644
--- a/drivers/ide/arm/ide_arm.c
+++ b/drivers/ide/arm/ide_arm.c
@@ -46,3 +46,5 @@ static int __init ide_arm_init(void)
46} 46}
47 47
48module_init(ide_arm_init); 48module_init(ide_arm_init);
49
50MODULE_LICENSE("GPL");
diff --git a/drivers/ide/cris/ide-cris.c b/drivers/ide/cris/ide-cris.c
index e79bf8f9b7d..c8ffbaf29a8 100644
--- a/drivers/ide/cris/ide-cris.c
+++ b/drivers/ide/cris/ide-cris.c
@@ -1067,3 +1067,5 @@ static void cris_dma_start(ide_drive_t *drive)
1067} 1067}
1068 1068
1069module_init(init_e100_ide); 1069module_init(init_e100_ide);
1070
1071MODULE_LICENSE("GPL");
diff --git a/drivers/ide/h8300/ide-h8300.c b/drivers/ide/h8300/ide-h8300.c
index 520aec07570..4108ec4ffa7 100644
--- a/drivers/ide/h8300/ide-h8300.c
+++ b/drivers/ide/h8300/ide-h8300.c
@@ -110,6 +110,7 @@ static int __init h8300_ide_init(void)
110 ide_init_port_data(hwif, index); 110 ide_init_port_data(hwif, index);
111 ide_init_port_hw(hwif, &hw); 111 ide_init_port_hw(hwif, &hw);
112 hwif_setup(hwif); 112 hwif_setup(hwif);
113 hwif->host_flags = IDE_HFLAG_NO_IO_32BIT;
113 printk(KERN_INFO "ide%d: H8/300 generic IDE interface\n", index); 114 printk(KERN_INFO "ide%d: H8/300 generic IDE interface\n", index);
114 115
115 idx[0] = index; 116 idx[0] = index;
@@ -125,3 +126,5 @@ out_busy:
125} 126}
126 127
127module_init(h8300_ide_init); 128module_init(h8300_ide_init);
129
130MODULE_LICENSE("GPL");
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index c419266234a..e77cee0e5d6 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -595,6 +595,7 @@ u8 eighty_ninty_three (ide_drive_t *drive)
595 595
596 /* 596 /*
597 * FIXME: 597 * FIXME:
598 * - change master/slave IDENTIFY order
598 * - force bit13 (80c cable present) check also for !ivb devices 599 * - force bit13 (80c cable present) check also for !ivb devices
599 * (unless the slave device is pre-ATA3) 600 * (unless the slave device is pre-ATA3)
600 */ 601 */
@@ -657,7 +658,7 @@ int ide_driveid_update(ide_drive_t *drive)
657 local_irq_restore(flags); 658 local_irq_restore(flags);
658 return 0; 659 return 0;
659 } 660 }
660 ata_input_data(drive, id, SECTOR_WORDS); 661 hwif->ata_input_data(drive, id, SECTOR_WORDS);
661 (void)ide_read_status(drive); /* clear drive IRQ */ 662 (void)ide_read_status(drive); /* clear drive IRQ */
662 local_irq_enable(); 663 local_irq_enable();
663 local_irq_restore(flags); 664 local_irq_restore(flags);
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c
index 29e2c9719c3..7031a8dcf69 100644
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -122,7 +122,6 @@ static struct ide_pio_info {
122 const char *name; 122 const char *name;
123 int pio; 123 int pio;
124} ide_pio_blacklist [] = { 124} ide_pio_blacklist [] = {
125/* { "Conner Peripherals 1275MB - CFS1275A", 4 }, */
126 { "Conner Peripherals 540MB - CFS540A", 3 }, 125 { "Conner Peripherals 540MB - CFS540A", 3 },
127 126
128 { "WDC AC2700", 3 }, 127 { "WDC AC2700", 3 },
@@ -138,10 +137,8 @@ static struct ide_pio_info {
138 { "WDC AC1170", 1 }, 137 { "WDC AC1170", 1 },
139 { "WDC AC1210", 1 }, 138 { "WDC AC1210", 1 },
140 { "WDC AC280", 0 }, 139 { "WDC AC280", 0 },
141/* { "WDC AC21000", 4 }, */
142 { "WDC AC31000", 3 }, 140 { "WDC AC31000", 3 },
143 { "WDC AC31200", 3 }, 141 { "WDC AC31200", 3 },
144/* { "WDC AC31600", 4 }, */
145 142
146 { "Maxtor 7131 AT", 1 }, 143 { "Maxtor 7131 AT", 1 },
147 { "Maxtor 7171 AT", 1 }, 144 { "Maxtor 7171 AT", 1 },
@@ -155,13 +152,6 @@ static struct ide_pio_info {
155 { "SAMSUNG SHD-3122A", 1 }, 152 { "SAMSUNG SHD-3122A", 1 },
156 { "SAMSUNG SHD-3172A", 1 }, 153 { "SAMSUNG SHD-3172A", 1 },
157 154
158/* { "ST51080A", 4 },
159 * { "ST51270A", 4 },
160 * { "ST31220A", 4 },
161 * { "ST31640A", 4 },
162 * { "ST32140A", 4 },
163 * { "ST3780A", 4 },
164 */
165 { "ST5660A", 3 }, 155 { "ST5660A", 3 },
166 { "ST3660A", 3 }, 156 { "ST3660A", 3 },
167 { "ST3630A", 3 }, 157 { "ST3630A", 3 },
diff --git a/drivers/ide/ide-pnp.c b/drivers/ide/ide-pnp.c
index b163b2e5221..c14bb5380c2 100644
--- a/drivers/ide/ide-pnp.c
+++ b/drivers/ide/ide-pnp.c
@@ -86,3 +86,5 @@ static void __exit pnpide_exit(void)
86 86
87module_init(pnpide_init); 87module_init(pnpide_init);
88module_exit(pnpide_exit); 88module_exit(pnpide_exit);
89
90MODULE_LICENSE("GPL");
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 194ecb0049e..47a114927c3 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -774,9 +774,10 @@ static int ide_probe_port(ide_hwif_t *hwif)
774 printk(KERN_DEBUG "%s: Wait for ready failed before probe !\n", hwif->name); 774 printk(KERN_DEBUG "%s: Wait for ready failed before probe !\n", hwif->name);
775 775
776 /* 776 /*
777 * Need to probe slave device first to make it release PDIAG-. 777 * Second drive should only exist if first drive was found,
778 * but a lot of cdrom drives are configured as single slaves.
778 */ 779 */
779 for (unit = MAX_DRIVES - 1; unit >= 0; unit--) { 780 for (unit = 0; unit < MAX_DRIVES; ++unit) {
780 ide_drive_t *drive = &hwif->drives[unit]; 781 ide_drive_t *drive = &hwif->drives[unit];
781 drive->dn = (hwif->channel ? 2 : 0) + unit; 782 drive->dn = (hwif->channel ? 2 : 0) + unit;
782 (void) probe_for_drive(drive); 783 (void) probe_for_drive(drive);
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 43e0e055777..0598ecfd5f3 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -3765,11 +3765,6 @@ static int ide_tape_probe(ide_drive_t *drive)
3765 g->fops = &idetape_block_ops; 3765 g->fops = &idetape_block_ops;
3766 ide_register_region(g); 3766 ide_register_region(g);
3767 3767
3768 printk(KERN_WARNING "It is possible that this driver does not have any"
3769 " users anymore and, as a result, it will be REMOVED soon."
3770 " Please notify Bart <bzolnier@gmail.com> or Boris"
3771 " <petkovbb@gmail.com> in case you still need it.\n");
3772
3773 return 0; 3768 return 0;
3774 3769
3775out_free_tape: 3770out_free_tape:
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c
index 0518a2e948c..4c86a8d84b4 100644
--- a/drivers/ide/ide-taskfile.c
+++ b/drivers/ide/ide-taskfile.c
@@ -423,6 +423,25 @@ void task_end_request(ide_drive_t *drive, struct request *rq, u8 stat)
423} 423}
424 424
425/* 425/*
426 * We got an interrupt on a task_in case, but no errors and no DRQ.
427 *
428 * It might be a spurious irq (shared irq), but it might be a
429 * command that had no output.
430 */
431static ide_startstop_t task_in_unexpected(ide_drive_t *drive, struct request *rq, u8 stat)
432{
433 /* Command all done? */
434 if (OK_STAT(stat, READY_STAT, BUSY_STAT)) {
435 task_end_request(drive, rq, stat);
436 return ide_stopped;
437 }
438
439 /* Assume it was a spurious irq */
440 ide_set_handler(drive, &task_in_intr, WAIT_WORSTCASE, NULL);
441 return ide_started;
442}
443
444/*
426 * Handler for command with PIO data-in phase (Read/Read Multiple). 445 * Handler for command with PIO data-in phase (Read/Read Multiple).
427 */ 446 */
428static ide_startstop_t task_in_intr(ide_drive_t *drive) 447static ide_startstop_t task_in_intr(ide_drive_t *drive)
@@ -431,18 +450,17 @@ static ide_startstop_t task_in_intr(ide_drive_t *drive)
431 struct request *rq = HWGROUP(drive)->rq; 450 struct request *rq = HWGROUP(drive)->rq;
432 u8 stat = ide_read_status(drive); 451 u8 stat = ide_read_status(drive);
433 452
434 /* new way for dealing with premature shared PCI interrupts */ 453 /* Error? */
435 if (!OK_STAT(stat, DRQ_STAT, BAD_R_STAT)) { 454 if (stat & ERR_STAT)
436 if (stat & (ERR_STAT | DRQ_STAT)) 455 return task_error(drive, rq, __FUNCTION__, stat);
437 return task_error(drive, rq, __FUNCTION__, stat); 456
438 /* No data yet, so wait for another IRQ. */ 457 /* Didn't want any data? Odd. */
439 ide_set_handler(drive, &task_in_intr, WAIT_WORSTCASE, NULL); 458 if (!(stat & DRQ_STAT))
440 return ide_started; 459 return task_in_unexpected(drive, rq, stat);
441 }
442 460
443 ide_pio_datablock(drive, rq, 0); 461 ide_pio_datablock(drive, rq, 0);
444 462
445 /* If it was the last datablock check status and finish transfer. */ 463 /* Are we done? Check status and finish transfer. */
446 if (!hwif->nleft) { 464 if (!hwif->nleft) {
447 stat = wait_drive_not_busy(drive); 465 stat = wait_drive_not_busy(drive);
448 if (!OK_STAT(stat, 0, BAD_STAT)) 466 if (!OK_STAT(stat, 0, BAD_STAT))
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 9976f9d627d..fc69fe2e3ec 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -1258,7 +1258,7 @@ static int __init ide_setup(char *s)
1258 drive = &hwif->drives[unit]; 1258 drive = &hwif->drives[unit];
1259 if (strncmp(s + 4, "ide-", 4) == 0) { 1259 if (strncmp(s + 4, "ide-", 4) == 0) {
1260 strlcpy(drive->driver_req, s + 4, sizeof(drive->driver_req)); 1260 strlcpy(drive->driver_req, s + 4, sizeof(drive->driver_req));
1261 goto done; 1261 goto obsolete_option;
1262 } 1262 }
1263 switch (match_parm(&s[3], hd_words, vals, 3)) { 1263 switch (match_parm(&s[3], hd_words, vals, 3)) {
1264 case -1: /* "none" */ 1264 case -1: /* "none" */
@@ -1290,13 +1290,13 @@ static int __init ide_setup(char *s)
1290 goto done; 1290 goto done;
1291 case -12: /* "remap" */ 1291 case -12: /* "remap" */
1292 drive->remap_0_to_1 = 1; 1292 drive->remap_0_to_1 = 1;
1293 goto done; 1293 goto obsolete_option;
1294 case -13: /* "remap63" */ 1294 case -13: /* "remap63" */
1295 drive->sect0 = 63; 1295 drive->sect0 = 63;
1296 goto done; 1296 goto obsolete_option;
1297 case -14: /* "scsi" */ 1297 case -14: /* "scsi" */
1298 drive->scsi = 1; 1298 drive->scsi = 1;
1299 goto done; 1299 goto obsolete_option;
1300 case 3: /* cyl,head,sect */ 1300 case 3: /* cyl,head,sect */
1301 drive->media = ide_disk; 1301 drive->media = ide_disk;
1302 drive->ready_stat = READY_STAT; 1302 drive->ready_stat = READY_STAT;
@@ -1370,32 +1370,32 @@ static int __init ide_setup(char *s)
1370#ifdef CONFIG_BLK_DEV_ALI14XX 1370#ifdef CONFIG_BLK_DEV_ALI14XX
1371 case -17: /* "ali14xx" */ 1371 case -17: /* "ali14xx" */
1372 probe_ali14xx = 1; 1372 probe_ali14xx = 1;
1373 goto done; 1373 goto obsolete_option;
1374#endif 1374#endif
1375#ifdef CONFIG_BLK_DEV_UMC8672 1375#ifdef CONFIG_BLK_DEV_UMC8672
1376 case -16: /* "umc8672" */ 1376 case -16: /* "umc8672" */
1377 probe_umc8672 = 1; 1377 probe_umc8672 = 1;
1378 goto done; 1378 goto obsolete_option;
1379#endif 1379#endif
1380#ifdef CONFIG_BLK_DEV_DTC2278 1380#ifdef CONFIG_BLK_DEV_DTC2278
1381 case -15: /* "dtc2278" */ 1381 case -15: /* "dtc2278" */
1382 probe_dtc2278 = 1; 1382 probe_dtc2278 = 1;
1383 goto done; 1383 goto obsolete_option;
1384#endif 1384#endif
1385#ifdef CONFIG_BLK_DEV_CMD640 1385#ifdef CONFIG_BLK_DEV_CMD640
1386 case -14: /* "cmd640_vlb" */ 1386 case -14: /* "cmd640_vlb" */
1387 cmd640_vlb = 1; 1387 cmd640_vlb = 1;
1388 goto done; 1388 goto obsolete_option;
1389#endif 1389#endif
1390#ifdef CONFIG_BLK_DEV_HT6560B 1390#ifdef CONFIG_BLK_DEV_HT6560B
1391 case -13: /* "ht6560b" */ 1391 case -13: /* "ht6560b" */
1392 probe_ht6560b = 1; 1392 probe_ht6560b = 1;
1393 goto done; 1393 goto obsolete_option;
1394#endif 1394#endif
1395#ifdef CONFIG_BLK_DEV_QD65XX 1395#ifdef CONFIG_BLK_DEV_QD65XX
1396 case -12: /* "qd65xx" */ 1396 case -12: /* "qd65xx" */
1397 probe_qd65xx = 1; 1397 probe_qd65xx = 1;
1398 goto done; 1398 goto obsolete_option;
1399#endif 1399#endif
1400#ifdef CONFIG_BLK_DEV_4DRIVES 1400#ifdef CONFIG_BLK_DEV_4DRIVES
1401 case -11: /* "four" drives on one set of ports */ 1401 case -11: /* "four" drives on one set of ports */
diff --git a/drivers/ide/legacy/buddha.c b/drivers/ide/legacy/buddha.c
index 50ffa871d5e..fdd3791e465 100644
--- a/drivers/ide/legacy/buddha.c
+++ b/drivers/ide/legacy/buddha.c
@@ -241,3 +241,5 @@ fail_base2:
241} 241}
242 242
243module_init(buddha_init); 243module_init(buddha_init);
244
245MODULE_LICENSE("GPL");
diff --git a/drivers/ide/legacy/falconide.c b/drivers/ide/legacy/falconide.c
index 8949ce71bdd..e950afa5939 100644
--- a/drivers/ide/legacy/falconide.c
+++ b/drivers/ide/legacy/falconide.c
@@ -93,3 +93,5 @@ static int __init falconide_init(void)
93} 93}
94 94
95module_init(falconide_init); 95module_init(falconide_init);
96
97MODULE_LICENSE("GPL");
diff --git a/drivers/ide/legacy/gayle.c b/drivers/ide/legacy/gayle.c
index b7d81090d5d..e3b4638cc88 100644
--- a/drivers/ide/legacy/gayle.c
+++ b/drivers/ide/legacy/gayle.c
@@ -195,3 +195,5 @@ found:
195} 195}
196 196
197module_init(gayle_init); 197module_init(gayle_init);
198
199MODULE_LICENSE("GPL");
diff --git a/drivers/ide/legacy/macide.c b/drivers/ide/legacy/macide.c
index 9a79098d9eb..eaf5dbe58bc 100644
--- a/drivers/ide/legacy/macide.c
+++ b/drivers/ide/legacy/macide.c
@@ -137,3 +137,5 @@ static int __init macide_init(void)
137} 137}
138 138
139module_init(macide_init); 139module_init(macide_init);
140
141MODULE_LICENSE("GPL");
diff --git a/drivers/ide/legacy/q40ide.c b/drivers/ide/legacy/q40ide.c
index 1381b91bc31..2da28759686 100644
--- a/drivers/ide/legacy/q40ide.c
+++ b/drivers/ide/legacy/q40ide.c
@@ -153,3 +153,5 @@ static int __init q40ide_init(void)
153} 153}
154 154
155module_init(q40ide_init); 155module_init(q40ide_init);
156
157MODULE_LICENSE("GPL");
diff --git a/drivers/ide/pci/cmd640.c b/drivers/ide/pci/cmd640.c
index ec667982809..29fbc5ead03 100644
--- a/drivers/ide/pci/cmd640.c
+++ b/drivers/ide/pci/cmd640.c
@@ -881,3 +881,5 @@ module_param_named(probe_vlb, cmd640_vlb, bool, 0);
881MODULE_PARM_DESC(probe_vlb, "probe for VLB version of CMD640 chipset"); 881MODULE_PARM_DESC(probe_vlb, "probe for VLB version of CMD640 chipset");
882 882
883module_init(cmd640x_init); 883module_init(cmd640x_init);
884
885MODULE_LICENSE("GPL");
diff --git a/drivers/ide/ppc/mpc8xx.c b/drivers/ide/ppc/mpc8xx.c
index 38fbfb8d544..ebaba01c755 100644
--- a/drivers/ide/ppc/mpc8xx.c
+++ b/drivers/ide/ppc/mpc8xx.c
@@ -853,3 +853,5 @@ static int __init mpc8xx_ide_probe(void)
853} 853}
854 854
855module_init(mpc8xx_ide_probe); 855module_init(mpc8xx_ide_probe);
856
857MODULE_LICENSE("GPL");
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c
index 78c9eeb8563..d9ca52e6cda 100644
--- a/drivers/ide/ppc/pmac.c
+++ b/drivers/ide/ppc/pmac.c
@@ -1771,3 +1771,5 @@ static int __devinit pmac_ide_setup_dma(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
1771#endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */ 1771#endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */
1772 1772
1773module_init(pmac_ide_probe); 1773module_init(pmac_ide_probe);
1774
1775MODULE_LICENSE("GPL");
diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
index a58ad8a470f..781ea595037 100644
--- a/drivers/infiniband/core/addr.c
+++ b/drivers/infiniband/core/addr.c
@@ -154,7 +154,7 @@ static void addr_send_arp(struct sockaddr_in *dst_in)
154{ 154{
155 struct rtable *rt; 155 struct rtable *rt;
156 struct flowi fl; 156 struct flowi fl;
157 u32 dst_ip = dst_in->sin_addr.s_addr; 157 __be32 dst_ip = dst_in->sin_addr.s_addr;
158 158
159 memset(&fl, 0, sizeof fl); 159 memset(&fl, 0, sizeof fl);
160 fl.nl_u.ip4_u.daddr = dst_ip; 160 fl.nl_u.ip4_u.daddr = dst_ip;
@@ -169,8 +169,8 @@ static int addr_resolve_remote(struct sockaddr_in *src_in,
169 struct sockaddr_in *dst_in, 169 struct sockaddr_in *dst_in,
170 struct rdma_dev_addr *addr) 170 struct rdma_dev_addr *addr)
171{ 171{
172 u32 src_ip = src_in->sin_addr.s_addr; 172 __be32 src_ip = src_in->sin_addr.s_addr;
173 u32 dst_ip = dst_in->sin_addr.s_addr; 173 __be32 dst_ip = dst_in->sin_addr.s_addr;
174 struct flowi fl; 174 struct flowi fl;
175 struct rtable *rt; 175 struct rtable *rt;
176 struct neighbour *neigh; 176 struct neighbour *neigh;
@@ -257,7 +257,7 @@ static int addr_resolve_local(struct sockaddr_in *src_in,
257 struct rdma_dev_addr *addr) 257 struct rdma_dev_addr *addr)
258{ 258{
259 struct net_device *dev; 259 struct net_device *dev;
260 u32 src_ip = src_in->sin_addr.s_addr; 260 __be32 src_ip = src_in->sin_addr.s_addr;
261 __be32 dst_ip = dst_in->sin_addr.s_addr; 261 __be32 dst_ip = dst_in->sin_addr.s_addr;
262 int ret; 262 int ret;
263 263
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index 4df40515708..faa7ce318a6 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -393,7 +393,7 @@ static int cm_alloc_id(struct cm_id_private *cm_id_priv)
393 spin_unlock_irqrestore(&cm.lock, flags); 393 spin_unlock_irqrestore(&cm.lock, flags);
394 } while( (ret == -EAGAIN) && idr_pre_get(&cm.local_id_table, GFP_KERNEL) ); 394 } while( (ret == -EAGAIN) && idr_pre_get(&cm.local_id_table, GFP_KERNEL) );
395 395
396 cm_id_priv->id.local_id = (__force __be32) (id ^ cm.random_id_operand); 396 cm_id_priv->id.local_id = (__force __be32)id ^ cm.random_id_operand;
397 return ret; 397 return ret;
398} 398}
399 399
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 34507daaf9b..d81c156a22b 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -168,15 +168,15 @@ struct cma_work {
168union cma_ip_addr { 168union cma_ip_addr {
169 struct in6_addr ip6; 169 struct in6_addr ip6;
170 struct { 170 struct {
171 __u32 pad[3]; 171 __be32 pad[3];
172 __u32 addr; 172 __be32 addr;
173 } ip4; 173 } ip4;
174}; 174};
175 175
176struct cma_hdr { 176struct cma_hdr {
177 u8 cma_version; 177 u8 cma_version;
178 u8 ip_version; /* IP version: 7:4 */ 178 u8 ip_version; /* IP version: 7:4 */
179 __u16 port; 179 __be16 port;
180 union cma_ip_addr src_addr; 180 union cma_ip_addr src_addr;
181 union cma_ip_addr dst_addr; 181 union cma_ip_addr dst_addr;
182}; 182};
@@ -186,8 +186,8 @@ struct sdp_hh {
186 u8 sdp_version; /* Major version: 7:4 */ 186 u8 sdp_version; /* Major version: 7:4 */
187 u8 ip_version; /* IP version: 7:4 */ 187 u8 ip_version; /* IP version: 7:4 */
188 u8 sdp_specific1[10]; 188 u8 sdp_specific1[10];
189 __u16 port; 189 __be16 port;
190 __u16 sdp_specific2; 190 __be16 sdp_specific2;
191 union cma_ip_addr src_addr; 191 union cma_ip_addr src_addr;
192 union cma_ip_addr dst_addr; 192 union cma_ip_addr dst_addr;
193}; 193};
@@ -663,7 +663,7 @@ static inline int cma_any_port(struct sockaddr *addr)
663} 663}
664 664
665static int cma_get_net_info(void *hdr, enum rdma_port_space ps, 665static int cma_get_net_info(void *hdr, enum rdma_port_space ps,
666 u8 *ip_ver, __u16 *port, 666 u8 *ip_ver, __be16 *port,
667 union cma_ip_addr **src, union cma_ip_addr **dst) 667 union cma_ip_addr **src, union cma_ip_addr **dst)
668{ 668{
669 switch (ps) { 669 switch (ps) {
@@ -695,7 +695,7 @@ static int cma_get_net_info(void *hdr, enum rdma_port_space ps,
695 695
696static void cma_save_net_info(struct rdma_addr *addr, 696static void cma_save_net_info(struct rdma_addr *addr,
697 struct rdma_addr *listen_addr, 697 struct rdma_addr *listen_addr,
698 u8 ip_ver, __u16 port, 698 u8 ip_ver, __be16 port,
699 union cma_ip_addr *src, union cma_ip_addr *dst) 699 union cma_ip_addr *src, union cma_ip_addr *dst)
700{ 700{
701 struct sockaddr_in *listen4, *ip4; 701 struct sockaddr_in *listen4, *ip4;
@@ -996,7 +996,7 @@ static struct rdma_id_private *cma_new_conn_id(struct rdma_cm_id *listen_id,
996 struct rdma_cm_id *id; 996 struct rdma_cm_id *id;
997 struct rdma_route *rt; 997 struct rdma_route *rt;
998 union cma_ip_addr *src, *dst; 998 union cma_ip_addr *src, *dst;
999 __u16 port; 999 __be16 port;
1000 u8 ip_ver; 1000 u8 ip_ver;
1001 1001
1002 if (cma_get_net_info(ib_event->private_data, listen_id->ps, 1002 if (cma_get_net_info(ib_event->private_data, listen_id->ps,
@@ -1043,7 +1043,7 @@ static struct rdma_id_private *cma_new_udp_id(struct rdma_cm_id *listen_id,
1043 struct rdma_id_private *id_priv; 1043 struct rdma_id_private *id_priv;
1044 struct rdma_cm_id *id; 1044 struct rdma_cm_id *id;
1045 union cma_ip_addr *src, *dst; 1045 union cma_ip_addr *src, *dst;
1046 __u16 port; 1046 __be16 port;
1047 u8 ip_ver; 1047 u8 ip_ver;
1048 int ret; 1048 int ret;
1049 1049
@@ -1165,7 +1165,7 @@ static void cma_set_compare_data(enum rdma_port_space ps, struct sockaddr *addr,
1165{ 1165{
1166 struct cma_hdr *cma_data, *cma_mask; 1166 struct cma_hdr *cma_data, *cma_mask;
1167 struct sdp_hh *sdp_data, *sdp_mask; 1167 struct sdp_hh *sdp_data, *sdp_mask;
1168 __u32 ip4_addr; 1168 __be32 ip4_addr;
1169 struct in6_addr ip6_addr; 1169 struct in6_addr ip6_addr;
1170 1170
1171 memset(compare, 0, sizeof *compare); 1171 memset(compare, 0, sizeof *compare);
@@ -1181,12 +1181,12 @@ static void cma_set_compare_data(enum rdma_port_space ps, struct sockaddr *addr,
1181 sdp_set_ip_ver(sdp_data, 4); 1181 sdp_set_ip_ver(sdp_data, 4);
1182 sdp_set_ip_ver(sdp_mask, 0xF); 1182 sdp_set_ip_ver(sdp_mask, 0xF);
1183 sdp_data->dst_addr.ip4.addr = ip4_addr; 1183 sdp_data->dst_addr.ip4.addr = ip4_addr;
1184 sdp_mask->dst_addr.ip4.addr = ~0; 1184 sdp_mask->dst_addr.ip4.addr = htonl(~0);
1185 } else { 1185 } else {
1186 cma_set_ip_ver(cma_data, 4); 1186 cma_set_ip_ver(cma_data, 4);
1187 cma_set_ip_ver(cma_mask, 0xF); 1187 cma_set_ip_ver(cma_mask, 0xF);
1188 cma_data->dst_addr.ip4.addr = ip4_addr; 1188 cma_data->dst_addr.ip4.addr = ip4_addr;
1189 cma_mask->dst_addr.ip4.addr = ~0; 1189 cma_mask->dst_addr.ip4.addr = htonl(~0);
1190 } 1190 }
1191 break; 1191 break;
1192 case AF_INET6: 1192 case AF_INET6:
diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c
index 320f2b6ddee..99f2f2a46bf 100644
--- a/drivers/infiniband/hw/cxgb3/iwch_cm.c
+++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c
@@ -1745,7 +1745,7 @@ int iwch_accept_cr(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
1745 1745
1746 /* bind QP to EP and move to RTS */ 1746 /* bind QP to EP and move to RTS */
1747 attrs.mpa_attr = ep->mpa_attr; 1747 attrs.mpa_attr = ep->mpa_attr;
1748 attrs.max_ird = ep->ord; 1748 attrs.max_ird = ep->ird;
1749 attrs.max_ord = ep->ord; 1749 attrs.max_ord = ep->ord;
1750 attrs.llp_stream_handle = ep; 1750 attrs.llp_stream_handle = ep;
1751 attrs.next_state = IWCH_QP_STATE_RTS; 1751 attrs.next_state = IWCH_QP_STATE_RTS;
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
index 39adb267fb1..0bef878e0f6 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -40,6 +40,7 @@
40#include <linux/tcp.h> 40#include <linux/tcp.h>
41#include <linux/init.h> 41#include <linux/init.h>
42#include <linux/if_arp.h> 42#include <linux/if_arp.h>
43#include <linux/if_vlan.h>
43#include <linux/notifier.h> 44#include <linux/notifier.h>
44#include <linux/net.h> 45#include <linux/net.h>
45#include <linux/types.h> 46#include <linux/types.h>
@@ -1072,7 +1073,7 @@ static struct nes_cm_node *make_cm_node(struct nes_cm_core *cm_core,
1072 ts = current_kernel_time(); 1073 ts = current_kernel_time();
1073 cm_node->tcp_cntxt.loc_seq_num = htonl(ts.tv_nsec); 1074 cm_node->tcp_cntxt.loc_seq_num = htonl(ts.tv_nsec);
1074 cm_node->tcp_cntxt.mss = nesvnic->max_frame_size - sizeof(struct iphdr) - 1075 cm_node->tcp_cntxt.mss = nesvnic->max_frame_size - sizeof(struct iphdr) -
1075 sizeof(struct tcphdr) - ETH_HLEN; 1076 sizeof(struct tcphdr) - ETH_HLEN - VLAN_HLEN;
1076 cm_node->tcp_cntxt.rcv_nxt = 0; 1077 cm_node->tcp_cntxt.rcv_nxt = 0;
1077 /* get a unique session ID , add thread_id to an upcounter to handle race */ 1078 /* get a unique session ID , add thread_id to an upcounter to handle race */
1078 atomic_inc(&cm_core->node_cnt); 1079 atomic_inc(&cm_core->node_cnt);
diff --git a/drivers/input/apm-power.c b/drivers/input/apm-power.c
index c36d110b349..7d61a966080 100644
--- a/drivers/input/apm-power.c
+++ b/drivers/input/apm-power.c
@@ -63,8 +63,6 @@ static int apmpower_connect(struct input_handler *handler,
63 handle->handler = handler; 63 handle->handler = handler;
64 handle->name = "apm-power"; 64 handle->name = "apm-power";
65 65
66 handler->private = handle;
67
68 error = input_register_handle(handle); 66 error = input_register_handle(handle);
69 if (error) { 67 if (error) {
70 printk(KERN_ERR 68 printk(KERN_ERR
@@ -87,11 +85,10 @@ static int apmpower_connect(struct input_handler *handler,
87 return 0; 85 return 0;
88} 86}
89 87
90static void apmpower_disconnect(struct input_handle *handler) 88static void apmpower_disconnect(struct input_handle *handle)
91{ 89{
92 struct input_handle *handle = handler->private;
93
94 input_close_device(handle); 90 input_close_device(handle);
91 input_unregister_handle(handle);
95 kfree(handle); 92 kfree(handle);
96} 93}
97 94
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 0727b0a1255..b32984bc516 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -124,6 +124,7 @@ static void evdev_free(struct device *dev)
124{ 124{
125 struct evdev *evdev = container_of(dev, struct evdev, dev); 125 struct evdev *evdev = container_of(dev, struct evdev, dev);
126 126
127 input_put_device(evdev->handle.dev);
127 kfree(evdev); 128 kfree(evdev);
128} 129}
129 130
@@ -893,7 +894,7 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev,
893 evdev->exist = 1; 894 evdev->exist = 1;
894 evdev->minor = minor; 895 evdev->minor = minor;
895 896
896 evdev->handle.dev = dev; 897 evdev->handle.dev = input_get_device(dev);
897 evdev->handle.name = evdev->name; 898 evdev->handle.name = evdev->name;
898 evdev->handle.handler = handler; 899 evdev->handle.handler = handler;
899 evdev->handle.private = evdev; 900 evdev->handle.private = evdev;
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index 22b2789ef58..65d7077a75a 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -171,6 +171,7 @@ static void joydev_free(struct device *dev)
171{ 171{
172 struct joydev *joydev = container_of(dev, struct joydev, dev); 172 struct joydev *joydev = container_of(dev, struct joydev, dev);
173 173
174 input_put_device(joydev->handle.dev);
174 kfree(joydev); 175 kfree(joydev);
175} 176}
176 177
@@ -750,7 +751,7 @@ static int joydev_connect(struct input_handler *handler, struct input_dev *dev,
750 joydev->minor = minor; 751 joydev->minor = minor;
751 752
752 joydev->exist = 1; 753 joydev->exist = 1;
753 joydev->handle.dev = dev; 754 joydev->handle.dev = input_get_device(dev);
754 joydev->handle.name = joydev->name; 755 joydev->handle.name = joydev->name;
755 joydev->handle.handler = handler; 756 joydev->handle.handler = handler;
756 joydev->handle.private = joydev; 757 joydev->handle.private = joydev;
diff --git a/drivers/input/keyboard/pxa27x_keypad.c b/drivers/input/keyboard/pxa27x_keypad.c
index 6224c2fb3b6..4e651c11c1d 100644
--- a/drivers/input/keyboard/pxa27x_keypad.c
+++ b/drivers/input/keyboard/pxa27x_keypad.c
@@ -50,9 +50,9 @@
50#define KPKDI 0x0048 50#define KPKDI 0x0048
51 51
52/* bit definitions */ 52/* bit definitions */
53#define KPC_MKRN(n) ((((n) & 0x7) - 1) << 26) /* matrix key row number */ 53#define KPC_MKRN(n) ((((n) - 1) & 0x7) << 26) /* matrix key row number */
54#define KPC_MKCN(n) ((((n) & 0x7) - 1) << 23) /* matrix key column number */ 54#define KPC_MKCN(n) ((((n) - 1) & 0x7) << 23) /* matrix key column number */
55#define KPC_DKN(n) ((((n) & 0x7) - 1) << 6) /* direct key number */ 55#define KPC_DKN(n) ((((n) - 1) & 0x7) << 6) /* direct key number */
56 56
57#define KPC_AS (0x1 << 30) /* Automatic Scan bit */ 57#define KPC_AS (0x1 << 30) /* Automatic Scan bit */
58#define KPC_ASACT (0x1 << 29) /* Automatic Scan on Activity */ 58#define KPC_ASACT (0x1 << 29) /* Automatic Scan on Activity */
diff --git a/drivers/input/misc/cobalt_btns.c b/drivers/input/misc/cobalt_btns.c
index 4833b1a8262..5511ef006a6 100644
--- a/drivers/input/misc/cobalt_btns.c
+++ b/drivers/input/misc/cobalt_btns.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Cobalt button interface driver. 2 * Cobalt button interface driver.
3 * 3 *
4 * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> 4 * Copyright (C) 2007-2008 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
15 * 15 *
16 * You should have received a copy of the GNU General Public License 16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software 17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */ 19 */
20#include <linux/init.h> 20#include <linux/init.h>
21#include <linux/input-polldev.h> 21#include <linux/input-polldev.h>
@@ -55,7 +55,7 @@ static void handle_buttons(struct input_polled_dev *dev)
55 status = ~readl(bdev->reg) >> 24; 55 status = ~readl(bdev->reg) >> 24;
56 56
57 for (i = 0; i < ARRAY_SIZE(bdev->keymap); i++) { 57 for (i = 0; i < ARRAY_SIZE(bdev->keymap); i++) {
58 if (status & (1UL << i)) { 58 if (status & (1U << i)) {
59 if (++bdev->count[i] == BUTTONS_COUNT_THRESHOLD) { 59 if (++bdev->count[i] == BUTTONS_COUNT_THRESHOLD) {
60 input_event(input, EV_MSC, MSC_SCAN, i); 60 input_event(input, EV_MSC, MSC_SCAN, i);
61 input_report_key(input, bdev->keymap[i], 1); 61 input_report_key(input, bdev->keymap[i], 1);
@@ -97,16 +97,16 @@ static int __devinit cobalt_buttons_probe(struct platform_device *pdev)
97 input->name = "Cobalt buttons"; 97 input->name = "Cobalt buttons";
98 input->phys = "cobalt/input0"; 98 input->phys = "cobalt/input0";
99 input->id.bustype = BUS_HOST; 99 input->id.bustype = BUS_HOST;
100 input->cdev.dev = &pdev->dev; 100 input->dev.parent = &pdev->dev;
101 101
102 input->keycode = pdev->keymap; 102 input->keycode = bdev->keymap;
103 input->keycodemax = ARRAY_SIZE(pdev->keymap); 103 input->keycodemax = ARRAY_SIZE(bdev->keymap);
104 input->keycodesize = sizeof(unsigned short); 104 input->keycodesize = sizeof(unsigned short);
105 105
106 input_set_capability(input, EV_MSC, MSC_SCAN); 106 input_set_capability(input, EV_MSC, MSC_SCAN);
107 __set_bit(EV_KEY, input->evbit); 107 __set_bit(EV_KEY, input->evbit);
108 for (i = 0; i < ARRAY_SIZE(buttons_map); i++) 108 for (i = 0; i < ARRAY_SIZE(cobalt_map); i++)
109 __set_bit(input->keycode[i], input->keybit); 109 __set_bit(bdev->keymap[i], input->keybit);
110 __clear_bit(KEY_RESERVED, input->keybit); 110 __clear_bit(KEY_RESERVED, input->keybit);
111 111
112 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 112 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c
index d2ade7443b7..798d84c44d0 100644
--- a/drivers/input/misc/ixp4xx-beeper.c
+++ b/drivers/input/misc/ixp4xx-beeper.c
@@ -25,6 +25,7 @@
25MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); 25MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
26MODULE_DESCRIPTION("ixp4xx beeper driver"); 26MODULE_DESCRIPTION("ixp4xx beeper driver");
27MODULE_LICENSE("GPL"); 27MODULE_LICENSE("GPL");
28MODULE_ALIAS("platform:ixp4xx-beeper");
28 29
29static DEFINE_SPINLOCK(beep_lock); 30static DEFINE_SPINLOCK(beep_lock);
30 31
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index b346a3b418e..385e32bcf6a 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -116,8 +116,8 @@ static void alps_process_packet(struct psmouse *psmouse)
116 } 116 }
117 117
118 if (priv->i->flags & ALPS_FW_BK_1) { 118 if (priv->i->flags & ALPS_FW_BK_1) {
119 back = packet[2] & 4; 119 back = packet[0] & 0x10;
120 forward = packet[0] & 0x10; 120 forward = packet[2] & 4;
121 } 121 }
122 122
123 if (priv->i->flags & ALPS_FW_BK_2) { 123 if (priv->i->flags & ALPS_FW_BK_2) {
@@ -483,6 +483,7 @@ int alps_init(struct psmouse *psmouse)
483 dev2->id.vendor = 0x0002; 483 dev2->id.vendor = 0x0002;
484 dev2->id.product = PSMOUSE_ALPS; 484 dev2->id.product = PSMOUSE_ALPS;
485 dev2->id.version = 0x0000; 485 dev2->id.version = 0x0000;
486 dev2->dev.parent = &psmouse->ps2dev.serio->dev;
486 487
487 dev2->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL); 488 dev2->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
488 dev2->relbit[BIT_WORD(REL_X)] |= BIT_MASK(REL_X) | BIT_MASK(REL_Y); 489 dev2->relbit[BIT_WORD(REL_X)] |= BIT_MASK(REL_X) | BIT_MASK(REL_Y);
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index bbbe5e81adc..b989748598a 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -414,6 +414,7 @@ static void mousedev_free(struct device *dev)
414{ 414{
415 struct mousedev *mousedev = container_of(dev, struct mousedev, dev); 415 struct mousedev *mousedev = container_of(dev, struct mousedev, dev);
416 416
417 input_put_device(mousedev->handle.dev);
417 kfree(mousedev); 418 kfree(mousedev);
418} 419}
419 420
@@ -865,7 +866,7 @@ static struct mousedev *mousedev_create(struct input_dev *dev,
865 866
866 mousedev->minor = minor; 867 mousedev->minor = minor;
867 mousedev->exist = 1; 868 mousedev->exist = 1;
868 mousedev->handle.dev = dev; 869 mousedev->handle.dev = input_get_device(dev);
869 mousedev->handle.name = mousedev->name; 870 mousedev->handle.name = mousedev->name;
870 mousedev->handle.handler = handler; 871 mousedev->handle.handler = handler;
871 mousedev->handle.private = mousedev; 872 mousedev->handle.private = mousedev;
diff --git a/drivers/input/serio/i8042-snirm.h b/drivers/input/serio/i8042-snirm.h
new file mode 100644
index 00000000000..409a9341143
--- /dev/null
+++ b/drivers/input/serio/i8042-snirm.h
@@ -0,0 +1,75 @@
1#ifndef _I8042_SNIRM_H
2#define _I8042_SNIRM_H
3
4#include <asm/sni.h>
5
6/*
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 as published by
9 * the Free Software Foundation.
10 */
11
12/*
13 * Names.
14 */
15
16#define I8042_KBD_PHYS_DESC "onboard/serio0"
17#define I8042_AUX_PHYS_DESC "onboard/serio1"
18#define I8042_MUX_PHYS_DESC "onboard/serio%d"
19
20/*
21 * IRQs.
22 */
23static int i8042_kbd_irq;
24static int i8042_aux_irq;
25#define I8042_KBD_IRQ i8042_kbd_irq
26#define I8042_AUX_IRQ i8042_aux_irq
27
28static void __iomem *kbd_iobase;
29
30#define I8042_COMMAND_REG (kbd_iobase + 0x64UL)
31#define I8042_DATA_REG (kbd_iobase + 0x60UL)
32
33static inline int i8042_read_data(void)
34{
35 return readb(kbd_iobase + 0x60UL);
36}
37
38static inline int i8042_read_status(void)
39{
40 return readb(kbd_iobase + 0x64UL);
41}
42
43static inline void i8042_write_data(int val)
44{
45 writeb(val, kbd_iobase + 0x60UL);
46}
47
48static inline void i8042_write_command(int val)
49{
50 writeb(val, kbd_iobase + 0x64UL);
51}
52static inline int i8042_platform_init(void)
53{
54 /* RM200 is strange ... */
55 if (sni_brd_type == SNI_BRD_RM200) {
56 kbd_iobase = ioremap(0x16000000, 4);
57 i8042_kbd_irq = 33;
58 i8042_aux_irq = 44;
59 } else {
60 kbd_iobase = ioremap(0x14000000, 4);
61 i8042_kbd_irq = 1;
62 i8042_aux_irq = 12;
63 }
64 if (!kbd_iobase)
65 return -ENOMEM;
66
67 return 0;
68}
69
70static inline void i8042_platform_exit(void)
71{
72
73}
74
75#endif /* _I8042_SNIRM_H */
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index 662e84482c2..60931aceb82 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -277,6 +277,13 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {
277 DMI_MATCH(DMI_PRODUCT_NAME, "M636/A737 platform"), 277 DMI_MATCH(DMI_PRODUCT_NAME, "M636/A737 platform"),
278 }, 278 },
279 }, 279 },
280 {
281 .ident = "Lenovo 3000 n100",
282 .matches = {
283 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
284 DMI_MATCH(DMI_PRODUCT_VERSION, "3000 N100"),
285 },
286 },
280 { } 287 { }
281}; 288};
282 289
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
index 2763394869d..65a74cfc187 100644
--- a/drivers/input/serio/i8042.c
+++ b/drivers/input/serio/i8042.c
@@ -1151,7 +1151,6 @@ static int __devinit i8042_setup_kbd(void)
1151static int __devinit i8042_probe(struct platform_device *dev) 1151static int __devinit i8042_probe(struct platform_device *dev)
1152{ 1152{
1153 int error; 1153 int error;
1154 char param;
1155 1154
1156 error = i8042_controller_selftest(); 1155 error = i8042_controller_selftest();
1157 if (error) 1156 if (error)
@@ -1174,7 +1173,7 @@ static int __devinit i8042_probe(struct platform_device *dev)
1174 } 1173 }
1175#ifdef CONFIG_X86 1174#ifdef CONFIG_X86
1176 if (i8042_dritek) { 1175 if (i8042_dritek) {
1177 param = 0x90; 1176 char param = 0x90;
1178 error = i8042_command(&param, 0x1059); 1177 error = i8042_command(&param, 0x1059);
1179 if (error) 1178 if (error)
1180 goto out_fail; 1179 goto out_fail;
diff --git a/drivers/input/serio/i8042.h b/drivers/input/serio/i8042.h
index c972e5d03a3..cbc1beb6657 100644
--- a/drivers/input/serio/i8042.h
+++ b/drivers/input/serio/i8042.h
@@ -18,6 +18,8 @@
18#include "i8042-jazzio.h" 18#include "i8042-jazzio.h"
19#elif defined(CONFIG_SGI_HAS_I8042) 19#elif defined(CONFIG_SGI_HAS_I8042)
20#include "i8042-ip22io.h" 20#include "i8042-ip22io.h"
21#elif defined(CONFIG_SNI_RM)
22#include "i8042-snirm.h"
21#elif defined(CONFIG_PPC) 23#elif defined(CONFIG_PPC)
22#include "i8042-ppcio.h" 24#include "i8042-ppcio.h"
23#elif defined(CONFIG_SPARC) 25#elif defined(CONFIG_SPARC)
diff --git a/drivers/input/tablet/wacom.h b/drivers/input/tablet/wacom.h
index 6542edb6f76..acf9830698c 100644
--- a/drivers/input/tablet/wacom.h
+++ b/drivers/input/tablet/wacom.h
@@ -11,7 +11,7 @@
11 * Copyright (c) 2000 Daniel Egger <egger@suse.de> 11 * Copyright (c) 2000 Daniel Egger <egger@suse.de>
12 * Copyright (c) 2001 Frederic Lepied <flepied@mandrakesoft.com> 12 * Copyright (c) 2001 Frederic Lepied <flepied@mandrakesoft.com>
13 * Copyright (c) 2004 Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be> 13 * Copyright (c) 2004 Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be>
14 * Copyright (c) 2002-2007 Ping Cheng <pingc@wacom.com> 14 * Copyright (c) 2002-2008 Ping Cheng <pingc@wacom.com>
15 * 15 *
16 * ChangeLog: 16 * ChangeLog:
17 * v0.1 (vp) - Initial release 17 * v0.1 (vp) - Initial release
@@ -65,6 +65,7 @@
65 * - and wacom_wac.c deals with Wacom specific code 65 * - and wacom_wac.c deals with Wacom specific code
66 * - Support Intuos3 4x6 66 * - Support Intuos3 4x6
67 * v1.47 (pc) - Added support for Bamboo 67 * v1.47 (pc) - Added support for Bamboo
68 * v1.48 (pc) - Added support for Bamboo1, BambooFun, and Cintiq 12WX
68 */ 69 */
69 70
70/* 71/*
@@ -85,7 +86,7 @@
85/* 86/*
86 * Version Information 87 * Version Information
87 */ 88 */
88#define DRIVER_VERSION "v1.47" 89#define DRIVER_VERSION "v1.48"
89#define DRIVER_AUTHOR "Vojtech Pavlik <vojtech@ucw.cz>" 90#define DRIVER_AUTHOR "Vojtech Pavlik <vojtech@ucw.cz>"
90#define DRIVER_DESC "USB Wacom Graphire and Wacom Intuos tablet driver" 91#define DRIVER_DESC "USB Wacom Graphire and Wacom Intuos tablet driver"
91#define DRIVER_LICENSE "GPL" 92#define DRIVER_LICENSE "GPL"
@@ -125,6 +126,7 @@ extern void input_dev_i(struct input_dev *input_dev, struct wacom_wac *wacom_wac
125extern void input_dev_pl(struct input_dev *input_dev, struct wacom_wac *wacom_wac); 126extern void input_dev_pl(struct input_dev *input_dev, struct wacom_wac *wacom_wac);
126extern void input_dev_pt(struct input_dev *input_dev, struct wacom_wac *wacom_wac); 127extern void input_dev_pt(struct input_dev *input_dev, struct wacom_wac *wacom_wac);
127extern void input_dev_mo(struct input_dev *input_dev, struct wacom_wac *wacom_wac); 128extern void input_dev_mo(struct input_dev *input_dev, struct wacom_wac *wacom_wac);
129extern void input_dev_bee(struct input_dev *input_dev, struct wacom_wac *wacom_wac);
128extern __u16 wacom_le16_to_cpu(unsigned char *data); 130extern __u16 wacom_le16_to_cpu(unsigned char *data);
129extern __u16 wacom_be16_to_cpu(unsigned char *data); 131extern __u16 wacom_be16_to_cpu(unsigned char *data);
130extern struct wacom_features * get_wacom_feature(const struct usb_device_id *id); 132extern struct wacom_features * get_wacom_feature(const struct usb_device_id *id);
diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
index d64b1ea136b..41caaef8e2d 100644
--- a/drivers/input/tablet/wacom_sys.c
+++ b/drivers/input/tablet/wacom_sys.c
@@ -171,6 +171,7 @@ void input_dev_i3s(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
171 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_0) | 171 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_0) |
172 BIT_MASK(BTN_1) | BIT_MASK(BTN_2) | BIT_MASK(BTN_3); 172 BIT_MASK(BTN_1) | BIT_MASK(BTN_2) | BIT_MASK(BTN_3);
173 input_set_abs_params(input_dev, ABS_RX, 0, 4096, 0, 0); 173 input_set_abs_params(input_dev, ABS_RX, 0, 4096, 0, 0);
174 input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
174} 175}
175 176
176void input_dev_i3(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 177void input_dev_i3(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
@@ -180,6 +181,11 @@ void input_dev_i3(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
180 input_set_abs_params(input_dev, ABS_RY, 0, 4096, 0, 0); 181 input_set_abs_params(input_dev, ABS_RY, 0, 4096, 0, 0);
181} 182}
182 183
184void input_dev_bee(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
185{
186 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_8) | BIT_MASK(BTN_9);
187}
188
183void input_dev_i(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 189void input_dev_i(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
184{ 190{
185 input_dev->evbit[0] |= BIT_MASK(EV_MSC) | BIT_MASK(EV_REL); 191 input_dev->evbit[0] |= BIT_MASK(EV_MSC) | BIT_MASK(EV_REL);
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index fc03ba256f4..ffe33842143 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -163,7 +163,9 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo)
163 } 163 }
164 164
165 id = STYLUS_DEVICE_ID; 165 id = STYLUS_DEVICE_ID;
166 if (data[1] & 0x80) { /* in prox */ 166 if ((data[1] & 0x80) && ((data[1] & 0x07) || data[2] || data[3] || data[4]
167 || data[5] || data[6] || (data[7] & 0x07))) {
168 /* in prox and not a pad data */
167 169
168 switch ((data[1] >> 5) & 3) { 170 switch ((data[1] >> 5) & 3) {
169 171
@@ -233,7 +235,6 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo)
233 if (data[7] & 0xf8) { 235 if (data[7] & 0xf8) {
234 wacom_input_sync(wcombo); /* sync last event */ 236 wacom_input_sync(wcombo); /* sync last event */
235 wacom->id[1] = 1; 237 wacom->id[1] = 1;
236 wacom->serial[1] = (data[7] & 0xf8);
237 wacom_report_key(wcombo, BTN_0, (data[7] & 0x40)); 238 wacom_report_key(wcombo, BTN_0, (data[7] & 0x40));
238 wacom_report_key(wcombo, BTN_4, (data[7] & 0x80)); 239 wacom_report_key(wcombo, BTN_4, (data[7] & 0x80));
239 rw = ((data[7] & 0x18) >> 3) - ((data[7] & 0x20) >> 3); 240 rw = ((data[7] & 0x18) >> 3) - ((data[7] & 0x20) >> 3);
@@ -252,10 +253,9 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo)
252 } 253 }
253 break; 254 break;
254 case WACOM_MO: 255 case WACOM_MO:
255 if ((data[7] & 0xf8) || (data[8] & 0x80)) { 256 if ((data[7] & 0xf8) || (data[8] & 0xff)) {
256 wacom_input_sync(wcombo); /* sync last event */ 257 wacom_input_sync(wcombo); /* sync last event */
257 wacom->id[1] = 1; 258 wacom->id[1] = 1;
258 wacom->serial[1] = (data[7] & 0xf8);
259 wacom_report_key(wcombo, BTN_0, (data[7] & 0x08)); 259 wacom_report_key(wcombo, BTN_0, (data[7] & 0x08));
260 wacom_report_key(wcombo, BTN_1, (data[7] & 0x20)); 260 wacom_report_key(wcombo, BTN_1, (data[7] & 0x20));
261 wacom_report_key(wcombo, BTN_4, (data[7] & 0x10)); 261 wacom_report_key(wcombo, BTN_4, (data[7] & 0x10));
@@ -434,10 +434,12 @@ static int wacom_intuos_irq(struct wacom_wac *wacom, void *wcombo)
434 wacom_report_key(wcombo, BTN_5, (data[6] & 0x02)); 434 wacom_report_key(wcombo, BTN_5, (data[6] & 0x02));
435 wacom_report_key(wcombo, BTN_6, (data[6] & 0x04)); 435 wacom_report_key(wcombo, BTN_6, (data[6] & 0x04));
436 wacom_report_key(wcombo, BTN_7, (data[6] & 0x08)); 436 wacom_report_key(wcombo, BTN_7, (data[6] & 0x08));
437 wacom_report_key(wcombo, BTN_8, (data[5] & 0x10));
438 wacom_report_key(wcombo, BTN_9, (data[6] & 0x10));
437 wacom_report_abs(wcombo, ABS_RX, ((data[1] & 0x1f) << 8) | data[2]); 439 wacom_report_abs(wcombo, ABS_RX, ((data[1] & 0x1f) << 8) | data[2]);
438 wacom_report_abs(wcombo, ABS_RY, ((data[3] & 0x1f) << 8) | data[4]); 440 wacom_report_abs(wcombo, ABS_RY, ((data[3] & 0x1f) << 8) | data[4]);
439 441
440 if((data[5] & 0x0f) | (data[6] & 0x0f) | (data[1] & 0x1f) | 442 if ((data[5] & 0x1f) | (data[6] & 0x1f) | (data[1] & 0x1f) |
441 data[2] | (data[3] & 0x1f) | data[4]) 443 data[2] | (data[3] & 0x1f) | data[4])
442 wacom_report_key(wcombo, wacom->tool[1], 1); 444 wacom_report_key(wcombo, wacom->tool[1], 1);
443 else 445 else
@@ -481,13 +483,11 @@ static int wacom_intuos_irq(struct wacom_wac *wacom, void *wcombo)
481 if (data[1] & 0x02) { 483 if (data[1] & 0x02) {
482 /* Rotation packet */ 484 /* Rotation packet */
483 if (wacom->features->type >= INTUOS3S) { 485 if (wacom->features->type >= INTUOS3S) {
484 /* I3 marker pen rotation reported as wheel 486 /* I3 marker pen rotation */
485 * due to valuator limitation
486 */
487 t = (data[6] << 3) | ((data[7] >> 5) & 7); 487 t = (data[6] << 3) | ((data[7] >> 5) & 7);
488 t = (data[7] & 0x20) ? ((t > 900) ? ((t-1) / 2 - 1350) : 488 t = (data[7] & 0x20) ? ((t > 900) ? ((t-1) / 2 - 1350) :
489 ((t-1) / 2 + 450)) : (450 - t / 2) ; 489 ((t-1) / 2 + 450)) : (450 - t / 2) ;
490 wacom_report_abs(wcombo, ABS_WHEEL, t); 490 wacom_report_abs(wcombo, ABS_Z, t);
491 } else { 491 } else {
492 /* 4D mouse rotation packet */ 492 /* 4D mouse rotation packet */
493 t = (data[6] << 3) | ((data[7] >> 5) & 7); 493 t = (data[6] << 3) | ((data[7] >> 5) & 7);
@@ -558,6 +558,7 @@ int wacom_wac_irq(struct wacom_wac *wacom_wac, void *wcombo)
558 case INTUOS3: 558 case INTUOS3:
559 case INTUOS3L: 559 case INTUOS3L:
560 case CINTIQ: 560 case CINTIQ:
561 case WACOM_BEE:
561 return (wacom_intuos_irq(wacom_wac, wcombo)); 562 return (wacom_intuos_irq(wacom_wac, wcombo));
562 break; 563 break;
563 default: 564 default:
@@ -577,6 +578,8 @@ void wacom_init_input_dev(struct input_dev *input_dev, struct wacom_wac *wacom_w
577 case GRAPHIRE: 578 case GRAPHIRE:
578 input_dev_g(input_dev, wacom_wac); 579 input_dev_g(input_dev, wacom_wac);
579 break; 580 break;
581 case WACOM_BEE:
582 input_dev_bee(input_dev, wacom_wac);
580 case INTUOS3: 583 case INTUOS3:
581 case INTUOS3L: 584 case INTUOS3L:
582 case CINTIQ: 585 case CINTIQ:
@@ -607,12 +610,15 @@ static struct wacom_features wacom_features[] = {
607 { "Wacom Graphire3 6x8", 8, 16704, 12064, 511, 63, GRAPHIRE }, 610 { "Wacom Graphire3 6x8", 8, 16704, 12064, 511, 63, GRAPHIRE },
608 { "Wacom Graphire4 4x5", 8, 10208, 7424, 511, 63, WACOM_G4 }, 611 { "Wacom Graphire4 4x5", 8, 10208, 7424, 511, 63, WACOM_G4 },
609 { "Wacom Graphire4 6x8", 8, 16704, 12064, 511, 63, WACOM_G4 }, 612 { "Wacom Graphire4 6x8", 8, 16704, 12064, 511, 63, WACOM_G4 },
613 { "Wacom BambooFun 4x5", 9, 14760, 9225, 511, 63, WACOM_MO },
614 { "Wacom BambooFun 6x8", 9, 21648, 13530, 511, 63, WACOM_MO },
610 { "Wacom Volito", 8, 5104, 3712, 511, 63, GRAPHIRE }, 615 { "Wacom Volito", 8, 5104, 3712, 511, 63, GRAPHIRE },
611 { "Wacom PenStation2", 8, 3250, 2320, 255, 63, GRAPHIRE }, 616 { "Wacom PenStation2", 8, 3250, 2320, 255, 63, GRAPHIRE },
612 { "Wacom Volito2 4x5", 8, 5104, 3712, 511, 63, GRAPHIRE }, 617 { "Wacom Volito2 4x5", 8, 5104, 3712, 511, 63, GRAPHIRE },
613 { "Wacom Volito2 2x3", 8, 3248, 2320, 511, 63, GRAPHIRE }, 618 { "Wacom Volito2 2x3", 8, 3248, 2320, 511, 63, GRAPHIRE },
614 { "Wacom PenPartner2", 8, 3250, 2320, 255, 63, GRAPHIRE }, 619 { "Wacom PenPartner2", 8, 3250, 2320, 511, 63, GRAPHIRE },
615 { "Wacom Bamboo", 9, 14760, 9225, 511, 63, WACOM_MO }, 620 { "Wacom Bamboo", 9, 14760, 9225, 511, 63, WACOM_MO },
621 { "Wacom Bamboo1", 8, 5104, 3712, 511, 63, GRAPHIRE },
616 { "Wacom Intuos 4x5", 10, 12700, 10600, 1023, 31, INTUOS }, 622 { "Wacom Intuos 4x5", 10, 12700, 10600, 1023, 31, INTUOS },
617 { "Wacom Intuos 6x8", 10, 20320, 16240, 1023, 31, INTUOS }, 623 { "Wacom Intuos 6x8", 10, 20320, 16240, 1023, 31, INTUOS },
618 { "Wacom Intuos 9x12", 10, 30480, 24060, 1023, 31, INTUOS }, 624 { "Wacom Intuos 9x12", 10, 30480, 24060, 1023, 31, INTUOS },
@@ -643,6 +649,7 @@ static struct wacom_features wacom_features[] = {
643 { "Wacom Intuos3 6x11", 10, 54204, 31750, 1023, 63, INTUOS3 }, 649 { "Wacom Intuos3 6x11", 10, 54204, 31750, 1023, 63, INTUOS3 },
644 { "Wacom Intuos3 4x6", 10, 31496, 19685, 1023, 63, INTUOS3S }, 650 { "Wacom Intuos3 4x6", 10, 31496, 19685, 1023, 63, INTUOS3S },
645 { "Wacom Cintiq 21UX", 10, 87200, 65600, 1023, 63, CINTIQ }, 651 { "Wacom Cintiq 21UX", 10, 87200, 65600, 1023, 63, CINTIQ },
652 { "Wacom Cintiq 12WX", 10, 53020, 33440, 1023, 63, WACOM_BEE },
646 { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 31, INTUOS }, 653 { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 31, INTUOS },
647 { } 654 { }
648}; 655};
@@ -656,12 +663,15 @@ static struct usb_device_id wacom_ids[] = {
656 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x14) }, 663 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x14) },
657 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x15) }, 664 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x15) },
658 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x16) }, 665 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x16) },
666 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x17) },
667 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x18) },
659 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x60) }, 668 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x60) },
660 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x61) }, 669 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x61) },
661 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x62) }, 670 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x62) },
662 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x63) }, 671 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x63) },
663 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x64) }, 672 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x64) },
664 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x65) }, 673 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x65) },
674 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x69) },
665 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x20) }, 675 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x20) },
666 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x21) }, 676 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x21) },
667 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x22) }, 677 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x22) },
@@ -692,6 +702,7 @@ static struct usb_device_id wacom_ids[] = {
692 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB5) }, 702 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB5) },
693 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB7) }, 703 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xB7) },
694 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x3F) }, 704 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x3F) },
705 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xC6) },
695 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x47) }, 706 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x47) },
696 { } 707 { }
697}; 708};
diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h
index a302e229bb8..3342bc05847 100644
--- a/drivers/input/tablet/wacom_wac.h
+++ b/drivers/input/tablet/wacom_wac.h
@@ -25,6 +25,7 @@ enum {
25 INTUOS3, 25 INTUOS3,
26 INTUOS3L, 26 INTUOS3L,
27 CINTIQ, 27 CINTIQ,
28 WACOM_BEE,
28 WACOM_MO, 29 WACOM_MO,
29 MAX_TYPE 30 MAX_TYPE
30}; 31};
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index 58934a40f5c..57a1c28bf12 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -213,7 +213,7 @@ static int ads7846_read12_ser(struct device *dev, unsigned command)
213 struct ads7846 *ts = dev_get_drvdata(dev); 213 struct ads7846 *ts = dev_get_drvdata(dev);
214 struct ser_req *req = kzalloc(sizeof *req, GFP_KERNEL); 214 struct ser_req *req = kzalloc(sizeof *req, GFP_KERNEL);
215 int status; 215 int status;
216 int sample; 216 int uninitialized_var(sample);
217 int use_internal; 217 int use_internal;
218 218
219 if (!req) 219 if (!req)
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index 6c0a9c4761e..4c0b05852cb 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -49,13 +49,13 @@ static void gpio_led_set(struct led_classdev *led_cdev,
49 if (led_dat->active_low) 49 if (led_dat->active_low)
50 level = !level; 50 level = !level;
51 51
52 /* setting GPIOs with I2C/etc requires a preemptible task context */ 52 /* Setting GPIOs with I2C/etc requires a task context, and we don't
53 * seem to have a reliable way to know if we're already in one; so
54 * let's just assume the worst.
55 */
53 if (led_dat->can_sleep) { 56 if (led_dat->can_sleep) {
54 if (preempt_count()) { 57 led_dat->new_level = level;
55 led_dat->new_level = level; 58 schedule_work(&led_dat->work);
56 schedule_work(&led_dat->work);
57 } else
58 gpio_set_value_cansleep(led_dat->gpio, level);
59 } else 59 } else
60 gpio_set_value(led_dat->gpio, level); 60 gpio_set_value(led_dat->gpio, level);
61} 61}
@@ -79,6 +79,10 @@ static int gpio_led_probe(struct platform_device *pdev)
79 cur_led = &pdata->leds[i]; 79 cur_led = &pdata->leds[i];
80 led_dat = &leds_data[i]; 80 led_dat = &leds_data[i];
81 81
82 ret = gpio_request(cur_led->gpio, cur_led->name);
83 if (ret < 0)
84 goto err;
85
82 led_dat->cdev.name = cur_led->name; 86 led_dat->cdev.name = cur_led->name;
83 led_dat->cdev.default_trigger = cur_led->default_trigger; 87 led_dat->cdev.default_trigger = cur_led->default_trigger;
84 led_dat->gpio = cur_led->gpio; 88 led_dat->gpio = cur_led->gpio;
@@ -87,10 +91,6 @@ static int gpio_led_probe(struct platform_device *pdev)
87 led_dat->cdev.brightness_set = gpio_led_set; 91 led_dat->cdev.brightness_set = gpio_led_set;
88 led_dat->cdev.brightness = LED_OFF; 92 led_dat->cdev.brightness = LED_OFF;
89 93
90 ret = gpio_request(led_dat->gpio, led_dat->cdev.name);
91 if (ret < 0)
92 goto err;
93
94 gpio_direction_output(led_dat->gpio, led_dat->active_low); 94 gpio_direction_output(led_dat->gpio, led_dat->active_low);
95 95
96 INIT_WORK(&led_dat->work, gpio_led_work); 96 INIT_WORK(&led_dat->work, gpio_led_work);
diff --git a/drivers/lguest/Makefile b/drivers/lguest/Makefile
index 5e8272d296d..7d463c26124 100644
--- a/drivers/lguest/Makefile
+++ b/drivers/lguest/Makefile
@@ -19,3 +19,11 @@ Beer:
19 @for f in Preparation Guest Drivers Launcher Host Switcher Mastery; do echo "{==- $$f -==}"; make -s $$f; done; echo "{==-==}" 19 @for f in Preparation Guest Drivers Launcher Host Switcher Mastery; do echo "{==- $$f -==}"; make -s $$f; done; echo "{==-==}"
20Preparation Preparation! Guest Drivers Launcher Host Switcher Mastery: 20Preparation Preparation! Guest Drivers Launcher Host Switcher Mastery:
21 @sh ../../Documentation/lguest/extract $(PREFIX) `find ../../* -name '*.[chS]' -wholename '*lguest*'` 21 @sh ../../Documentation/lguest/extract $(PREFIX) `find ../../* -name '*.[chS]' -wholename '*lguest*'`
22Puppy:
23 @clear
24 @printf " __ \n (___()'\`;\n /, /\`\n \\\\\\\"--\\\\\\ \n"
25 @sleep 2; clear; printf "\n\n Sit!\n\n"; sleep 1; clear
26 @printf " __ \n ()'\`; \n /\\|\` \n / | \n(/_)_|_ \n"
27 @sleep 2; clear; printf "\n\n Stand!\n\n"; sleep 1; clear
28 @printf " __ \n ()'\`; \n /\\|\` \n /._.= \n /| / \n(_\_)_ \n"
29 @sleep 2; clear; printf "\n\n Good puppy!\n\n"; sleep 1; clear
diff --git a/drivers/lguest/core.c b/drivers/lguest/core.c
index c632c08cbbd..5eea4356d70 100644
--- a/drivers/lguest/core.c
+++ b/drivers/lguest/core.c
@@ -1,8 +1,6 @@
1/*P:400 This contains run_guest() which actually calls into the Host<->Guest 1/*P:400 This contains run_guest() which actually calls into the Host<->Guest
2 * Switcher and analyzes the return, such as determining if the Guest wants the 2 * Switcher and analyzes the return, such as determining if the Guest wants the
3 * Host to do something. This file also contains useful helper routines, and a 3 * Host to do something. This file also contains useful helper routines. :*/
4 * couple of non-obvious setup and teardown pieces which were implemented after
5 * days of debugging pain. :*/
6#include <linux/module.h> 4#include <linux/module.h>
7#include <linux/stringify.h> 5#include <linux/stringify.h>
8#include <linux/stddef.h> 6#include <linux/stddef.h>
@@ -49,8 +47,8 @@ static __init int map_switcher(void)
49 * easy. 47 * easy.
50 */ 48 */
51 49
52 /* We allocate an array of "struct page"s. map_vm_area() wants the 50 /* We allocate an array of struct page pointers. map_vm_area() wants
53 * pages in this form, rather than just an array of pointers. */ 51 * this, rather than just an array of pages. */
54 switcher_page = kmalloc(sizeof(switcher_page[0])*TOTAL_SWITCHER_PAGES, 52 switcher_page = kmalloc(sizeof(switcher_page[0])*TOTAL_SWITCHER_PAGES,
55 GFP_KERNEL); 53 GFP_KERNEL);
56 if (!switcher_page) { 54 if (!switcher_page) {
@@ -172,7 +170,7 @@ void __lgread(struct lg_cpu *cpu, void *b, unsigned long addr, unsigned bytes)
172 } 170 }
173} 171}
174 172
175/* This is the write (copy into guest) version. */ 173/* This is the write (copy into Guest) version. */
176void __lgwrite(struct lg_cpu *cpu, unsigned long addr, const void *b, 174void __lgwrite(struct lg_cpu *cpu, unsigned long addr, const void *b,
177 unsigned bytes) 175 unsigned bytes)
178{ 176{
@@ -209,9 +207,9 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user)
209 if (cpu->break_out) 207 if (cpu->break_out)
210 return -EAGAIN; 208 return -EAGAIN;
211 209
212 /* Check if there are any interrupts which can be delivered 210 /* Check if there are any interrupts which can be delivered now:
213 * now: if so, this sets up the hander to be executed when we 211 * if so, this sets up the hander to be executed when we next
214 * next run the Guest. */ 212 * run the Guest. */
215 maybe_do_interrupt(cpu); 213 maybe_do_interrupt(cpu);
216 214
217 /* All long-lived kernel loops need to check with this horrible 215 /* All long-lived kernel loops need to check with this horrible
@@ -246,8 +244,10 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user)
246 lguest_arch_handle_trap(cpu); 244 lguest_arch_handle_trap(cpu);
247 } 245 }
248 246
247 /* Special case: Guest is 'dead' but wants a reboot. */
249 if (cpu->lg->dead == ERR_PTR(-ERESTART)) 248 if (cpu->lg->dead == ERR_PTR(-ERESTART))
250 return -ERESTART; 249 return -ERESTART;
250
251 /* The Guest is dead => "No such file or directory" */ 251 /* The Guest is dead => "No such file or directory" */
252 return -ENOENT; 252 return -ENOENT;
253} 253}
diff --git a/drivers/lguest/hypercalls.c b/drivers/lguest/hypercalls.c
index 0f2cb4fd7c6..54d66f05fef 100644
--- a/drivers/lguest/hypercalls.c
+++ b/drivers/lguest/hypercalls.c
@@ -29,7 +29,7 @@
29#include "lg.h" 29#include "lg.h"
30 30
31/*H:120 This is the core hypercall routine: where the Guest gets what it wants. 31/*H:120 This is the core hypercall routine: where the Guest gets what it wants.
32 * Or gets killed. Or, in the case of LHCALL_CRASH, both. */ 32 * Or gets killed. Or, in the case of LHCALL_SHUTDOWN, both. */
33static void do_hcall(struct lg_cpu *cpu, struct hcall_args *args) 33static void do_hcall(struct lg_cpu *cpu, struct hcall_args *args)
34{ 34{
35 switch (args->arg0) { 35 switch (args->arg0) {
@@ -190,6 +190,13 @@ static void initialize(struct lg_cpu *cpu)
190 * pagetable. */ 190 * pagetable. */
191 guest_pagetable_clear_all(cpu); 191 guest_pagetable_clear_all(cpu);
192} 192}
193/*:*/
194
195/*M:013 If a Guest reads from a page (so creates a mapping) that it has never
196 * written to, and then the Launcher writes to it (ie. the output of a virtual
197 * device), the Guest will still see the old page. In practice, this never
198 * happens: why would the Guest read a page which it has never written to? But
199 * a similar scenario might one day bite us, so it's worth mentioning. :*/
193 200
194/*H:100 201/*H:100
195 * Hypercalls 202 * Hypercalls
@@ -227,7 +234,7 @@ void do_hypercalls(struct lg_cpu *cpu)
227 * However, if we are signalled or the Guest sends I/O to the 234 * However, if we are signalled or the Guest sends I/O to the
228 * Launcher, the run_guest() loop will exit without running the 235 * Launcher, the run_guest() loop will exit without running the
229 * Guest. When it comes back it would try to re-run the 236 * Guest. When it comes back it would try to re-run the
230 * hypercall. */ 237 * hypercall. Finding that bug sucked. */
231 cpu->hcall = NULL; 238 cpu->hcall = NULL;
232 } 239 }
233} 240}
diff --git a/drivers/lguest/interrupts_and_traps.c b/drivers/lguest/interrupts_and_traps.c
index 32e97c1858e..0414ddf8758 100644
--- a/drivers/lguest/interrupts_and_traps.c
+++ b/drivers/lguest/interrupts_and_traps.c
@@ -144,7 +144,6 @@ void maybe_do_interrupt(struct lg_cpu *cpu)
144 if (copy_from_user(&blk, cpu->lg->lguest_data->blocked_interrupts, 144 if (copy_from_user(&blk, cpu->lg->lguest_data->blocked_interrupts,
145 sizeof(blk))) 145 sizeof(blk)))
146 return; 146 return;
147
148 bitmap_andnot(blk, cpu->irqs_pending, blk, LGUEST_IRQS); 147 bitmap_andnot(blk, cpu->irqs_pending, blk, LGUEST_IRQS);
149 148
150 /* Find the first interrupt. */ 149 /* Find the first interrupt. */
@@ -237,9 +236,9 @@ void free_interrupts(void)
237 clear_bit(syscall_vector, used_vectors); 236 clear_bit(syscall_vector, used_vectors);
238} 237}
239 238
240/*H:220 Now we've got the routines to deliver interrupts, delivering traps 239/*H:220 Now we've got the routines to deliver interrupts, delivering traps like
241 * like page fault is easy. The only trick is that Intel decided that some 240 * page fault is easy. The only trick is that Intel decided that some traps
242 * traps should have error codes: */ 241 * should have error codes: */
243static int has_err(unsigned int trap) 242static int has_err(unsigned int trap)
244{ 243{
245 return (trap == 8 || (trap >= 10 && trap <= 14) || trap == 17); 244 return (trap == 8 || (trap >= 10 && trap <= 14) || trap == 17);
diff --git a/drivers/lguest/lguest_device.c b/drivers/lguest/lguest_device.c
index 1b2ec0bf5eb..2bc9bf7e88e 100644
--- a/drivers/lguest/lguest_device.c
+++ b/drivers/lguest/lguest_device.c
@@ -1,10 +1,10 @@
1/*P:050 Lguest guests use a very simple method to describe devices. It's a 1/*P:050 Lguest guests use a very simple method to describe devices. It's a
2 * series of device descriptors contained just above the top of normal 2 * series of device descriptors contained just above the top of normal Guest
3 * memory. 3 * memory.
4 * 4 *
5 * We use the standard "virtio" device infrastructure, which provides us with a 5 * We use the standard "virtio" device infrastructure, which provides us with a
6 * console, a network and a block driver. Each one expects some configuration 6 * console, a network and a block driver. Each one expects some configuration
7 * information and a "virtqueue" mechanism to send and receive data. :*/ 7 * information and a "virtqueue" or two to send and receive data. :*/
8#include <linux/init.h> 8#include <linux/init.h>
9#include <linux/bootmem.h> 9#include <linux/bootmem.h>
10#include <linux/lguest_launcher.h> 10#include <linux/lguest_launcher.h>
@@ -53,7 +53,7 @@ struct lguest_device {
53 * Device configurations 53 * Device configurations
54 * 54 *
55 * The configuration information for a device consists of one or more 55 * The configuration information for a device consists of one or more
56 * virtqueues, a feature bitmaks, and some configuration bytes. The 56 * virtqueues, a feature bitmap, and some configuration bytes. The
57 * configuration bytes don't really matter to us: the Launcher sets them up, and 57 * configuration bytes don't really matter to us: the Launcher sets them up, and
58 * the driver will look at them during setup. 58 * the driver will look at them during setup.
59 * 59 *
@@ -179,7 +179,7 @@ struct lguest_vq_info
179}; 179};
180 180
181/* When the virtio_ring code wants to prod the Host, it calls us here and we 181/* When the virtio_ring code wants to prod the Host, it calls us here and we
182 * make a hypercall. We hand the page number of the virtqueue so the Host 182 * make a hypercall. We hand the physical address of the virtqueue so the Host
183 * knows which virtqueue we're talking about. */ 183 * knows which virtqueue we're talking about. */
184static void lg_notify(struct virtqueue *vq) 184static void lg_notify(struct virtqueue *vq)
185{ 185{
@@ -199,7 +199,8 @@ static void lg_notify(struct virtqueue *vq)
199 * allocate its own pages and tell the Host where they are, but for lguest it's 199 * allocate its own pages and tell the Host where they are, but for lguest it's
200 * simpler for the Host to simply tell us where the pages are. 200 * simpler for the Host to simply tell us where the pages are.
201 * 201 *
202 * So we provide devices with a "find virtqueue and set it up" function. */ 202 * So we provide drivers with a "find the Nth virtqueue and set it up"
203 * function. */
203static struct virtqueue *lg_find_vq(struct virtio_device *vdev, 204static struct virtqueue *lg_find_vq(struct virtio_device *vdev,
204 unsigned index, 205 unsigned index,
205 void (*callback)(struct virtqueue *vq)) 206 void (*callback)(struct virtqueue *vq))
diff --git a/drivers/lguest/lguest_user.c b/drivers/lguest/lguest_user.c
index 2221485b077..645e6e040bf 100644
--- a/drivers/lguest/lguest_user.c
+++ b/drivers/lguest/lguest_user.c
@@ -73,7 +73,7 @@ static ssize_t read(struct file *file, char __user *user, size_t size,loff_t*o)
73 if (current != cpu->tsk) 73 if (current != cpu->tsk)
74 return -EPERM; 74 return -EPERM;
75 75
76 /* If the guest is already dead, we indicate why */ 76 /* If the Guest is already dead, we indicate why */
77 if (lg->dead) { 77 if (lg->dead) {
78 size_t len; 78 size_t len;
79 79
@@ -88,7 +88,7 @@ static ssize_t read(struct file *file, char __user *user, size_t size,loff_t*o)
88 return len; 88 return len;
89 } 89 }
90 90
91 /* If we returned from read() last time because the Guest notified, 91 /* If we returned from read() last time because the Guest sent I/O,
92 * clear the flag. */ 92 * clear the flag. */
93 if (cpu->pending_notify) 93 if (cpu->pending_notify)
94 cpu->pending_notify = 0; 94 cpu->pending_notify = 0;
@@ -97,14 +97,20 @@ static ssize_t read(struct file *file, char __user *user, size_t size,loff_t*o)
97 return run_guest(cpu, (unsigned long __user *)user); 97 return run_guest(cpu, (unsigned long __user *)user);
98} 98}
99 99
100/*L:025 This actually initializes a CPU. For the moment, a Guest is only
101 * uniprocessor, so "id" is always 0. */
100static int lg_cpu_start(struct lg_cpu *cpu, unsigned id, unsigned long start_ip) 102static int lg_cpu_start(struct lg_cpu *cpu, unsigned id, unsigned long start_ip)
101{ 103{
104 /* We have a limited number the number of CPUs in the lguest struct. */
102 if (id >= NR_CPUS) 105 if (id >= NR_CPUS)
103 return -EINVAL; 106 return -EINVAL;
104 107
108 /* Set up this CPU's id, and pointer back to the lguest struct. */
105 cpu->id = id; 109 cpu->id = id;
106 cpu->lg = container_of((cpu - id), struct lguest, cpus[0]); 110 cpu->lg = container_of((cpu - id), struct lguest, cpus[0]);
107 cpu->lg->nr_cpus++; 111 cpu->lg->nr_cpus++;
112
113 /* Each CPU has a timer it can set. */
108 init_clockdev(cpu); 114 init_clockdev(cpu);
109 115
110 /* We need a complete page for the Guest registers: they are accessible 116 /* We need a complete page for the Guest registers: they are accessible
@@ -120,11 +126,11 @@ static int lg_cpu_start(struct lg_cpu *cpu, unsigned id, unsigned long start_ip)
120 * address. */ 126 * address. */
121 lguest_arch_setup_regs(cpu, start_ip); 127 lguest_arch_setup_regs(cpu, start_ip);
122 128
123 /* Initialize the queue for the waker to wait on */ 129 /* Initialize the queue for the Waker to wait on */
124 init_waitqueue_head(&cpu->break_wq); 130 init_waitqueue_head(&cpu->break_wq);
125 131
126 /* We keep a pointer to the Launcher task (ie. current task) for when 132 /* We keep a pointer to the Launcher task (ie. current task) for when
127 * other Guests want to wake this one (inter-Guest I/O). */ 133 * other Guests want to wake this one (eg. console input). */
128 cpu->tsk = current; 134 cpu->tsk = current;
129 135
130 /* We need to keep a pointer to the Launcher's memory map, because if 136 /* We need to keep a pointer to the Launcher's memory map, because if
@@ -136,6 +142,7 @@ static int lg_cpu_start(struct lg_cpu *cpu, unsigned id, unsigned long start_ip)
136 * when the same Guest runs on the same CPU twice. */ 142 * when the same Guest runs on the same CPU twice. */
137 cpu->last_pages = NULL; 143 cpu->last_pages = NULL;
138 144
145 /* No error == success. */
139 return 0; 146 return 0;
140} 147}
141 148
@@ -182,17 +189,16 @@ static int initialize(struct file *file, const unsigned long __user *input)
182 } 189 }
183 190
184 /* Populate the easy fields of our "struct lguest" */ 191 /* Populate the easy fields of our "struct lguest" */
185 lg->mem_base = (void __user *)(long)args[0]; 192 lg->mem_base = (void __user *)args[0];
186 lg->pfn_limit = args[1]; 193 lg->pfn_limit = args[1];
187 194
188 /* This is the first cpu */ 195 /* This is the first cpu (cpu 0) and it will start booting at args[3] */
189 err = lg_cpu_start(&lg->cpus[0], 0, args[3]); 196 err = lg_cpu_start(&lg->cpus[0], 0, args[3]);
190 if (err) 197 if (err)
191 goto release_guest; 198 goto release_guest;
192 199
193 /* Initialize the Guest's shadow page tables, using the toplevel 200 /* Initialize the Guest's shadow page tables, using the toplevel
194 * address the Launcher gave us. This allocates memory, so can 201 * address the Launcher gave us. This allocates memory, so can fail. */
195 * fail. */
196 err = init_guest_pagetable(lg, args[2]); 202 err = init_guest_pagetable(lg, args[2]);
197 if (err) 203 if (err)
198 goto free_regs; 204 goto free_regs;
@@ -218,11 +224,16 @@ unlock:
218/*L:010 The first operation the Launcher does must be a write. All writes 224/*L:010 The first operation the Launcher does must be a write. All writes
219 * start with an unsigned long number: for the first write this must be 225 * start with an unsigned long number: for the first write this must be
220 * LHREQ_INITIALIZE to set up the Guest. After that the Launcher can use 226 * LHREQ_INITIALIZE to set up the Guest. After that the Launcher can use
221 * writes of other values to send interrupts. */ 227 * writes of other values to send interrupts.
228 *
229 * Note that we overload the "offset" in the /dev/lguest file to indicate what
230 * CPU number we're dealing with. Currently this is always 0, since we only
231 * support uniprocessor Guests, but you can see the beginnings of SMP support
232 * here. */
222static ssize_t write(struct file *file, const char __user *in, 233static ssize_t write(struct file *file, const char __user *in,
223 size_t size, loff_t *off) 234 size_t size, loff_t *off)
224{ 235{
225 /* Once the guest is initialized, we hold the "struct lguest" in the 236 /* Once the Guest is initialized, we hold the "struct lguest" in the
226 * file private data. */ 237 * file private data. */
227 struct lguest *lg = file->private_data; 238 struct lguest *lg = file->private_data;
228 const unsigned long __user *input = (const unsigned long __user *)in; 239 const unsigned long __user *input = (const unsigned long __user *)in;
@@ -230,6 +241,7 @@ static ssize_t write(struct file *file, const char __user *in,
230 struct lg_cpu *uninitialized_var(cpu); 241 struct lg_cpu *uninitialized_var(cpu);
231 unsigned int cpu_id = *off; 242 unsigned int cpu_id = *off;
232 243
244 /* The first value tells us what this request is. */
233 if (get_user(req, input) != 0) 245 if (get_user(req, input) != 0)
234 return -EFAULT; 246 return -EFAULT;
235 input++; 247 input++;
diff --git a/drivers/lguest/page_tables.c b/drivers/lguest/page_tables.c
index a7f64a9d67e..d93500f24fb 100644
--- a/drivers/lguest/page_tables.c
+++ b/drivers/lguest/page_tables.c
@@ -2,8 +2,8 @@
2 * previous encounters. It's functional, and as neat as it can be in the 2 * previous encounters. It's functional, and as neat as it can be in the
3 * circumstances, but be wary, for these things are subtle and break easily. 3 * circumstances, but be wary, for these things are subtle and break easily.
4 * The Guest provides a virtual to physical mapping, but we can neither trust 4 * The Guest provides a virtual to physical mapping, but we can neither trust
5 * it nor use it: we verify and convert it here to point the hardware to the 5 * it nor use it: we verify and convert it here then point the CPU to the
6 * actual Guest pages when running the Guest. :*/ 6 * converted Guest pages when running the Guest. :*/
7 7
8/* Copyright (C) Rusty Russell IBM Corporation 2006. 8/* Copyright (C) Rusty Russell IBM Corporation 2006.
9 * GPL v2 and any later version */ 9 * GPL v2 and any later version */
@@ -106,6 +106,11 @@ static unsigned long gpte_addr(pgd_t gpgd, unsigned long vaddr)
106 BUG_ON(!(pgd_flags(gpgd) & _PAGE_PRESENT)); 106 BUG_ON(!(pgd_flags(gpgd) & _PAGE_PRESENT));
107 return gpage + ((vaddr>>PAGE_SHIFT) % PTRS_PER_PTE) * sizeof(pte_t); 107 return gpage + ((vaddr>>PAGE_SHIFT) % PTRS_PER_PTE) * sizeof(pte_t);
108} 108}
109/*:*/
110
111/*M:014 get_pfn is slow; it takes the mmap sem and calls get_user_pages. We
112 * could probably try to grab batches of pages here as an optimization
113 * (ie. pre-faulting). :*/
109 114
110/*H:350 This routine takes a page number given by the Guest and converts it to 115/*H:350 This routine takes a page number given by the Guest and converts it to
111 * an actual, physical page number. It can fail for several reasons: the 116 * an actual, physical page number. It can fail for several reasons: the
@@ -113,8 +118,8 @@ static unsigned long gpte_addr(pgd_t gpgd, unsigned long vaddr)
113 * and the page is read-only, or the write flag was set and the page was 118 * and the page is read-only, or the write flag was set and the page was
114 * shared so had to be copied, but we ran out of memory. 119 * shared so had to be copied, but we ran out of memory.
115 * 120 *
116 * This holds a reference to the page, so release_pte() is careful to 121 * This holds a reference to the page, so release_pte() is careful to put that
117 * put that back. */ 122 * back. */
118static unsigned long get_pfn(unsigned long virtpfn, int write) 123static unsigned long get_pfn(unsigned long virtpfn, int write)
119{ 124{
120 struct page *page; 125 struct page *page;
@@ -532,13 +537,13 @@ static void do_set_pte(struct lg_cpu *cpu, int idx,
532 * all processes. So when the page table above that address changes, we update 537 * all processes. So when the page table above that address changes, we update
533 * all the page tables, not just the current one. This is rare. 538 * all the page tables, not just the current one. This is rare.
534 * 539 *
535 * The benefit is that when we have to track a new page table, we can copy keep 540 * The benefit is that when we have to track a new page table, we can keep all
536 * all the kernel mappings. This speeds up context switch immensely. */ 541 * the kernel mappings. This speeds up context switch immensely. */
537void guest_set_pte(struct lg_cpu *cpu, 542void guest_set_pte(struct lg_cpu *cpu,
538 unsigned long gpgdir, unsigned long vaddr, pte_t gpte) 543 unsigned long gpgdir, unsigned long vaddr, pte_t gpte)
539{ 544{
540 /* Kernel mappings must be changed on all top levels. Slow, but 545 /* Kernel mappings must be changed on all top levels. Slow, but doesn't
541 * doesn't happen often. */ 546 * happen often. */
542 if (vaddr >= cpu->lg->kernel_address) { 547 if (vaddr >= cpu->lg->kernel_address) {
543 unsigned int i; 548 unsigned int i;
544 for (i = 0; i < ARRAY_SIZE(cpu->lg->pgdirs); i++) 549 for (i = 0; i < ARRAY_SIZE(cpu->lg->pgdirs); i++)
@@ -704,12 +709,11 @@ static __init void populate_switcher_pte_page(unsigned int cpu,
704/* We've made it through the page table code. Perhaps our tired brains are 709/* We've made it through the page table code. Perhaps our tired brains are
705 * still processing the details, or perhaps we're simply glad it's over. 710 * still processing the details, or perhaps we're simply glad it's over.
706 * 711 *
707 * If nothing else, note that all this complexity in juggling shadow page 712 * If nothing else, note that all this complexity in juggling shadow page tables
708 * tables in sync with the Guest's page tables is for one reason: for most 713 * in sync with the Guest's page tables is for one reason: for most Guests this
709 * Guests this page table dance determines how bad performance will be. This 714 * page table dance determines how bad performance will be. This is why Xen
710 * is why Xen uses exotic direct Guest pagetable manipulation, and why both 715 * uses exotic direct Guest pagetable manipulation, and why both Intel and AMD
711 * Intel and AMD have implemented shadow page table support directly into 716 * have implemented shadow page table support directly into hardware.
712 * hardware.
713 * 717 *
714 * There is just one file remaining in the Host. */ 718 * There is just one file remaining in the Host. */
715 719
diff --git a/drivers/lguest/x86/core.c b/drivers/lguest/x86/core.c
index 635187812d5..5126d5d9ea0 100644
--- a/drivers/lguest/x86/core.c
+++ b/drivers/lguest/x86/core.c
@@ -17,6 +17,13 @@
17 * along with this program; if not, write to the Free Software 17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */ 19 */
20/*P:450 This file contains the x86-specific lguest code. It used to be all
21 * mixed in with drivers/lguest/core.c but several foolhardy code slashers
22 * wrestled most of the dependencies out to here in preparation for porting
23 * lguest to other architectures (see what I mean by foolhardy?).
24 *
25 * This also contains a couple of non-obvious setup and teardown pieces which
26 * were implemented after days of debugging pain. :*/
20#include <linux/kernel.h> 27#include <linux/kernel.h>
21#include <linux/start_kernel.h> 28#include <linux/start_kernel.h>
22#include <linux/string.h> 29#include <linux/string.h>
@@ -157,6 +164,8 @@ static void run_guest_once(struct lg_cpu *cpu, struct lguest_pages *pages)
157 * also simplify copy_in_guest_info(). Note that we'd still need to restore 164 * also simplify copy_in_guest_info(). Note that we'd still need to restore
158 * things when we exit to Launcher userspace, but that's fairly easy. 165 * things when we exit to Launcher userspace, but that's fairly easy.
159 * 166 *
167 * We could also try using this hooks for PGE, but that might be too expensive.
168 *
160 * The hooks were designed for KVM, but we can also put them to good use. :*/ 169 * The hooks were designed for KVM, but we can also put them to good use. :*/
161 170
162/*H:040 This is the i386-specific code to setup and run the Guest. Interrupts 171/*H:040 This is the i386-specific code to setup and run the Guest. Interrupts
@@ -182,7 +191,7 @@ void lguest_arch_run_guest(struct lg_cpu *cpu)
182 * was doing. */ 191 * was doing. */
183 run_guest_once(cpu, lguest_pages(raw_smp_processor_id())); 192 run_guest_once(cpu, lguest_pages(raw_smp_processor_id()));
184 193
185 /* Note that the "regs" pointer contains two extra entries which are 194 /* Note that the "regs" structure contains two extra entries which are
186 * not really registers: a trap number which says what interrupt or 195 * not really registers: a trap number which says what interrupt or
187 * trap made the switcher code come back, and an error code which some 196 * trap made the switcher code come back, and an error code which some
188 * traps set. */ 197 * traps set. */
@@ -293,11 +302,10 @@ void lguest_arch_handle_trap(struct lg_cpu *cpu)
293 break; 302 break;
294 case 14: /* We've intercepted a Page Fault. */ 303 case 14: /* We've intercepted a Page Fault. */
295 /* The Guest accessed a virtual address that wasn't mapped. 304 /* The Guest accessed a virtual address that wasn't mapped.
296 * This happens a lot: we don't actually set up most of the 305 * This happens a lot: we don't actually set up most of the page
297 * page tables for the Guest at all when we start: as it runs 306 * tables for the Guest at all when we start: as it runs it asks
298 * it asks for more and more, and we set them up as 307 * for more and more, and we set them up as required. In this
299 * required. In this case, we don't even tell the Guest that 308 * case, we don't even tell the Guest that the fault happened.
300 * the fault happened.
301 * 309 *
302 * The errcode tells whether this was a read or a write, and 310 * The errcode tells whether this was a read or a write, and
303 * whether kernel or userspace code. */ 311 * whether kernel or userspace code. */
@@ -342,7 +350,7 @@ void lguest_arch_handle_trap(struct lg_cpu *cpu)
342 if (!deliver_trap(cpu, cpu->regs->trapnum)) 350 if (!deliver_trap(cpu, cpu->regs->trapnum))
343 /* If the Guest doesn't have a handler (either it hasn't 351 /* If the Guest doesn't have a handler (either it hasn't
344 * registered any yet, or it's one of the faults we don't let 352 * registered any yet, or it's one of the faults we don't let
345 * it handle), it dies with a cryptic error message. */ 353 * it handle), it dies with this cryptic error message. */
346 kill_guest(cpu, "unhandled trap %li at %#lx (%#lx)", 354 kill_guest(cpu, "unhandled trap %li at %#lx (%#lx)",
347 cpu->regs->trapnum, cpu->regs->eip, 355 cpu->regs->trapnum, cpu->regs->eip,
348 cpu->regs->trapnum == 14 ? cpu->arch.last_pagefault 356 cpu->regs->trapnum == 14 ? cpu->arch.last_pagefault
@@ -375,8 +383,8 @@ void __init lguest_arch_host_init(void)
375 * The only exception is the interrupt handlers in switcher.S: their 383 * The only exception is the interrupt handlers in switcher.S: their
376 * addresses are placed in a table (default_idt_entries), so we need to 384 * addresses are placed in a table (default_idt_entries), so we need to
377 * update the table with the new addresses. switcher_offset() is a 385 * update the table with the new addresses. switcher_offset() is a
378 * convenience function which returns the distance between the builtin 386 * convenience function which returns the distance between the
379 * switcher code and the high-mapped copy we just made. */ 387 * compiled-in switcher code and the high-mapped copy we just made. */
380 for (i = 0; i < IDT_ENTRIES; i++) 388 for (i = 0; i < IDT_ENTRIES; i++)
381 default_idt_entries[i] += switcher_offset(); 389 default_idt_entries[i] += switcher_offset();
382 390
@@ -416,7 +424,7 @@ void __init lguest_arch_host_init(void)
416 state->guest_gdt_desc.address = (long)&state->guest_gdt; 424 state->guest_gdt_desc.address = (long)&state->guest_gdt;
417 425
418 /* We know where we want the stack to be when the Guest enters 426 /* We know where we want the stack to be when the Guest enters
419 * the switcher: in pages->regs. The stack grows upwards, so 427 * the Switcher: in pages->regs. The stack grows upwards, so
420 * we start it at the end of that structure. */ 428 * we start it at the end of that structure. */
421 state->guest_tss.sp0 = (long)(&pages->regs + 1); 429 state->guest_tss.sp0 = (long)(&pages->regs + 1);
422 /* And this is the GDT entry to use for the stack: we keep a 430 /* And this is the GDT entry to use for the stack: we keep a
@@ -513,8 +521,8 @@ int lguest_arch_init_hypercalls(struct lg_cpu *cpu)
513{ 521{
514 u32 tsc_speed; 522 u32 tsc_speed;
515 523
516 /* The pointer to the Guest's "struct lguest_data" is the only 524 /* The pointer to the Guest's "struct lguest_data" is the only argument.
517 * argument. We check that address now. */ 525 * We check that address now. */
518 if (!lguest_address_ok(cpu->lg, cpu->hcall->arg1, 526 if (!lguest_address_ok(cpu->lg, cpu->hcall->arg1,
519 sizeof(*cpu->lg->lguest_data))) 527 sizeof(*cpu->lg->lguest_data)))
520 return -EFAULT; 528 return -EFAULT;
@@ -546,6 +554,7 @@ int lguest_arch_init_hypercalls(struct lg_cpu *cpu)
546 554
547 return 0; 555 return 0;
548} 556}
557/*:*/
549 558
550/*L:030 lguest_arch_setup_regs() 559/*L:030 lguest_arch_setup_regs()
551 * 560 *
diff --git a/drivers/lguest/x86/switcher_32.S b/drivers/lguest/x86/switcher_32.S
index 0af8baaa0d4..3fc15318a80 100644
--- a/drivers/lguest/x86/switcher_32.S
+++ b/drivers/lguest/x86/switcher_32.S
@@ -1,6 +1,6 @@
1/*P:900 This is the Switcher: code which sits at 0xFFC00000 to do the low-level 1/*P:900 This is the Switcher: code which sits at 0xFFC00000 astride both the
2 * Guest<->Host switch. It is as simple as it can be made, but it's naturally 2 * Host and Guest to do the low-level Guest<->Host switch. It is as simple as
3 * very specific to x86. 3 * it can be made, but it's naturally very specific to x86.
4 * 4 *
5 * You have now completed Preparation. If this has whet your appetite; if you 5 * You have now completed Preparation. If this has whet your appetite; if you
6 * are feeling invigorated and refreshed then the next, more challenging stage 6 * are feeling invigorated and refreshed then the next, more challenging stage
@@ -189,7 +189,7 @@ ENTRY(switch_to_guest)
189 // Interrupts are turned back on: we are Guest. 189 // Interrupts are turned back on: we are Guest.
190 iret 190 iret
191 191
192// We treat two paths to switch back to the Host 192// We tread two paths to switch back to the Host
193// Yet both must save Guest state and restore Host 193// Yet both must save Guest state and restore Host
194// So we put the routine in a macro. 194// So we put the routine in a macro.
195#define SWITCH_TO_HOST \ 195#define SWITCH_TO_HOST \
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index b04f98df94e..835def11419 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Copyright (C) 2003 Christophe Saout <christophe@saout.de> 2 * Copyright (C) 2003 Christophe Saout <christophe@saout.de>
3 * Copyright (C) 2004 Clemens Fruhwirth <clemens@endorphin.org> 3 * Copyright (C) 2004 Clemens Fruhwirth <clemens@endorphin.org>
4 * Copyright (C) 2006-2007 Red Hat, Inc. All rights reserved. 4 * Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved.
5 * 5 *
6 * This file is released under the GPL. 6 * This file is released under the GPL.
7 */ 7 */
@@ -93,6 +93,8 @@ struct crypt_config {
93 93
94 struct workqueue_struct *io_queue; 94 struct workqueue_struct *io_queue;
95 struct workqueue_struct *crypt_queue; 95 struct workqueue_struct *crypt_queue;
96 wait_queue_head_t writeq;
97
96 /* 98 /*
97 * crypto related data 99 * crypto related data
98 */ 100 */
@@ -331,14 +333,7 @@ static void crypt_convert_init(struct crypt_config *cc,
331 ctx->idx_out = bio_out ? bio_out->bi_idx : 0; 333 ctx->idx_out = bio_out ? bio_out->bi_idx : 0;
332 ctx->sector = sector + cc->iv_offset; 334 ctx->sector = sector + cc->iv_offset;
333 init_completion(&ctx->restart); 335 init_completion(&ctx->restart);
334 /* 336 atomic_set(&ctx->pending, 1);
335 * Crypto operation can be asynchronous,
336 * ctx->pending is increased after request submission.
337 * We need to ensure that we don't call the crypt finish
338 * operation before pending got incremented
339 * (dependent on crypt submission return code).
340 */
341 atomic_set(&ctx->pending, 2);
342} 337}
343 338
344static int crypt_convert_block(struct crypt_config *cc, 339static int crypt_convert_block(struct crypt_config *cc,
@@ -411,43 +406,42 @@ static void crypt_alloc_req(struct crypt_config *cc,
411static int crypt_convert(struct crypt_config *cc, 406static int crypt_convert(struct crypt_config *cc,
412 struct convert_context *ctx) 407 struct convert_context *ctx)
413{ 408{
414 int r = 0; 409 int r;
415 410
416 while(ctx->idx_in < ctx->bio_in->bi_vcnt && 411 while(ctx->idx_in < ctx->bio_in->bi_vcnt &&
417 ctx->idx_out < ctx->bio_out->bi_vcnt) { 412 ctx->idx_out < ctx->bio_out->bi_vcnt) {
418 413
419 crypt_alloc_req(cc, ctx); 414 crypt_alloc_req(cc, ctx);
420 415
416 atomic_inc(&ctx->pending);
417
421 r = crypt_convert_block(cc, ctx, cc->req); 418 r = crypt_convert_block(cc, ctx, cc->req);
422 419
423 switch (r) { 420 switch (r) {
421 /* async */
424 case -EBUSY: 422 case -EBUSY:
425 wait_for_completion(&ctx->restart); 423 wait_for_completion(&ctx->restart);
426 INIT_COMPLETION(ctx->restart); 424 INIT_COMPLETION(ctx->restart);
427 /* fall through*/ 425 /* fall through*/
428 case -EINPROGRESS: 426 case -EINPROGRESS:
429 atomic_inc(&ctx->pending);
430 cc->req = NULL; 427 cc->req = NULL;
431 r = 0; 428 ctx->sector++;
432 /* fall through*/ 429 continue;
430
431 /* sync */
433 case 0: 432 case 0:
433 atomic_dec(&ctx->pending);
434 ctx->sector++; 434 ctx->sector++;
435 continue; 435 continue;
436 }
437 436
438 break; 437 /* error */
438 default:
439 atomic_dec(&ctx->pending);
440 return r;
441 }
439 } 442 }
440 443
441 /* 444 return 0;
442 * If there are pending crypto operation run async
443 * code. Otherwise process return code synchronously.
444 * The step of 2 ensures that async finish doesn't
445 * call crypto finish too early.
446 */
447 if (atomic_sub_return(2, &ctx->pending))
448 return -EINPROGRESS;
449
450 return r;
451} 445}
452 446
453static void dm_crypt_bio_destructor(struct bio *bio) 447static void dm_crypt_bio_destructor(struct bio *bio)
@@ -624,8 +618,10 @@ static void kcryptd_io_read(struct dm_crypt_io *io)
624static void kcryptd_io_write(struct dm_crypt_io *io) 618static void kcryptd_io_write(struct dm_crypt_io *io)
625{ 619{
626 struct bio *clone = io->ctx.bio_out; 620 struct bio *clone = io->ctx.bio_out;
621 struct crypt_config *cc = io->target->private;
627 622
628 generic_make_request(clone); 623 generic_make_request(clone);
624 wake_up(&cc->writeq);
629} 625}
630 626
631static void kcryptd_io(struct work_struct *work) 627static void kcryptd_io(struct work_struct *work)
@@ -698,7 +694,8 @@ static void kcryptd_crypt_write_convert_loop(struct dm_crypt_io *io)
698 694
699 r = crypt_convert(cc, &io->ctx); 695 r = crypt_convert(cc, &io->ctx);
700 696
701 if (r != -EINPROGRESS) { 697 if (atomic_dec_and_test(&io->ctx.pending)) {
698 /* processed, no running async crypto */
702 kcryptd_crypt_write_io_submit(io, r, 0); 699 kcryptd_crypt_write_io_submit(io, r, 0);
703 if (unlikely(r < 0)) 700 if (unlikely(r < 0))
704 return; 701 return;
@@ -706,8 +703,12 @@ static void kcryptd_crypt_write_convert_loop(struct dm_crypt_io *io)
706 atomic_inc(&io->pending); 703 atomic_inc(&io->pending);
707 704
708 /* out of memory -> run queues */ 705 /* out of memory -> run queues */
709 if (unlikely(remaining)) 706 if (unlikely(remaining)) {
707 /* wait for async crypto then reinitialize pending */
708 wait_event(cc->writeq, !atomic_read(&io->ctx.pending));
709 atomic_set(&io->ctx.pending, 1);
710 congestion_wait(WRITE, HZ/100); 710 congestion_wait(WRITE, HZ/100);
711 }
711 } 712 }
712} 713}
713 714
@@ -746,7 +747,7 @@ static void kcryptd_crypt_read_convert(struct dm_crypt_io *io)
746 747
747 r = crypt_convert(cc, &io->ctx); 748 r = crypt_convert(cc, &io->ctx);
748 749
749 if (r != -EINPROGRESS) 750 if (atomic_dec_and_test(&io->ctx.pending))
750 kcryptd_crypt_read_done(io, r); 751 kcryptd_crypt_read_done(io, r);
751 752
752 crypt_dec_pending(io); 753 crypt_dec_pending(io);
@@ -1047,6 +1048,7 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
1047 goto bad_crypt_queue; 1048 goto bad_crypt_queue;
1048 } 1049 }
1049 1050
1051 init_waitqueue_head(&cc->writeq);
1050 ti->private = cc; 1052 ti->private = cc;
1051 return 0; 1053 return 0;
1052 1054
diff --git a/drivers/md/dm-io.c b/drivers/md/dm-io.c
index b8e342fe758..8f25f628ef1 100644
--- a/drivers/md/dm-io.c
+++ b/drivers/md/dm-io.c
@@ -114,7 +114,7 @@ static void dec_count(struct io *io, unsigned int region, int error)
114 wake_up_process(io->sleeper); 114 wake_up_process(io->sleeper);
115 115
116 else { 116 else {
117 int r = io->error; 117 unsigned long r = io->error;
118 io_notify_fn fn = io->callback; 118 io_notify_fn fn = io->callback;
119 void *context = io->context; 119 void *context = io->context;
120 120
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index 51605870f89..762cb086bb7 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -753,7 +753,7 @@ out:
753 * are in the no-sync state. We have to recover these by 753 * are in the no-sync state. We have to recover these by
754 * recopying from the default mirror to all the others. 754 * recopying from the default mirror to all the others.
755 *---------------------------------------------------------------*/ 755 *---------------------------------------------------------------*/
756static void recovery_complete(int read_err, unsigned int write_err, 756static void recovery_complete(int read_err, unsigned long write_err,
757 void *context) 757 void *context)
758{ 758{
759 struct region *reg = (struct region *)context; 759 struct region *reg = (struct region *)context;
@@ -767,7 +767,7 @@ static void recovery_complete(int read_err, unsigned int write_err,
767 } 767 }
768 768
769 if (write_err) { 769 if (write_err) {
770 DMERR_LIMIT("Write error during recovery (error = 0x%x)", 770 DMERR_LIMIT("Write error during recovery (error = 0x%lx)",
771 write_err); 771 write_err);
772 /* 772 /*
773 * Bits correspond to devices (excluding default mirror). 773 * Bits correspond to devices (excluding default mirror).
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
index ae24eab8cd8..4dc8a43c034 100644
--- a/drivers/md/dm-snap.c
+++ b/drivers/md/dm-snap.c
@@ -804,7 +804,7 @@ static void commit_callback(void *context, int success)
804 * Called when the copy I/O has finished. kcopyd actually runs 804 * Called when the copy I/O has finished. kcopyd actually runs
805 * this code so don't block. 805 * this code so don't block.
806 */ 806 */
807static void copy_callback(int read_err, unsigned int write_err, void *context) 807static void copy_callback(int read_err, unsigned long write_err, void *context)
808{ 808{
809 struct dm_snap_pending_exception *pe = context; 809 struct dm_snap_pending_exception *pe = context;
810 struct dm_snapshot *s = pe->snap; 810 struct dm_snapshot *s = pe->snap;
diff --git a/drivers/md/kcopyd.c b/drivers/md/kcopyd.c
index f3831f31223..e76b52ade69 100644
--- a/drivers/md/kcopyd.c
+++ b/drivers/md/kcopyd.c
@@ -169,7 +169,7 @@ struct kcopyd_job {
169 * Error state of the job. 169 * Error state of the job.
170 */ 170 */
171 int read_err; 171 int read_err;
172 unsigned int write_err; 172 unsigned long write_err;
173 173
174 /* 174 /*
175 * Either READ or WRITE 175 * Either READ or WRITE
@@ -293,7 +293,7 @@ static int run_complete_job(struct kcopyd_job *job)
293{ 293{
294 void *context = job->context; 294 void *context = job->context;
295 int read_err = job->read_err; 295 int read_err = job->read_err;
296 unsigned int write_err = job->write_err; 296 unsigned long write_err = job->write_err;
297 kcopyd_notify_fn fn = job->fn; 297 kcopyd_notify_fn fn = job->fn;
298 struct kcopyd_client *kc = job->kc; 298 struct kcopyd_client *kc = job->kc;
299 299
@@ -396,7 +396,7 @@ static int process_jobs(struct list_head *jobs, int (*fn) (struct kcopyd_job *))
396 if (r < 0) { 396 if (r < 0) {
397 /* error this rogue job */ 397 /* error this rogue job */
398 if (job->rw == WRITE) 398 if (job->rw == WRITE)
399 job->write_err = (unsigned int) -1; 399 job->write_err = (unsigned long) -1L;
400 else 400 else
401 job->read_err = 1; 401 job->read_err = 1;
402 push(&_complete_jobs, job); 402 push(&_complete_jobs, job);
@@ -448,8 +448,8 @@ static void dispatch_job(struct kcopyd_job *job)
448} 448}
449 449
450#define SUB_JOB_SIZE 128 450#define SUB_JOB_SIZE 128
451static void segment_complete(int read_err, 451static void segment_complete(int read_err, unsigned long write_err,
452 unsigned int write_err, void *context) 452 void *context)
453{ 453{
454 /* FIXME: tidy this function */ 454 /* FIXME: tidy this function */
455 sector_t progress = 0; 455 sector_t progress = 0;
diff --git a/drivers/md/kcopyd.h b/drivers/md/kcopyd.h
index 4621ea055c0..4845f2a0c67 100644
--- a/drivers/md/kcopyd.h
+++ b/drivers/md/kcopyd.h
@@ -32,8 +32,8 @@ void kcopyd_client_destroy(struct kcopyd_client *kc);
32 * read_err is a boolean, 32 * read_err is a boolean,
33 * write_err is a bitset, with 1 bit for each destination region 33 * write_err is a bitset, with 1 bit for each destination region
34 */ 34 */
35typedef void (*kcopyd_notify_fn)(int read_err, 35typedef void (*kcopyd_notify_fn)(int read_err, unsigned long write_err,
36 unsigned int write_err, void *context); 36 void *context);
37 37
38int kcopyd_copy(struct kcopyd_client *kc, struct io_region *from, 38int kcopyd_copy(struct kcopyd_client *kc, struct io_region *from,
39 unsigned int num_dests, struct io_region *dests, 39 unsigned int num_dests, struct io_region *dests,
diff --git a/drivers/md/md.c b/drivers/md/md.c
index ccbbf63727c..61ccbd2683f 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -1864,17 +1864,6 @@ static struct rdev_sysfs_entry rdev_state =
1864__ATTR(state, S_IRUGO|S_IWUSR, state_show, state_store); 1864__ATTR(state, S_IRUGO|S_IWUSR, state_show, state_store);
1865 1865
1866static ssize_t 1866static ssize_t
1867super_show(mdk_rdev_t *rdev, char *page)
1868{
1869 if (rdev->sb_loaded && rdev->sb_size) {
1870 memcpy(page, page_address(rdev->sb_page), rdev->sb_size);
1871 return rdev->sb_size;
1872 } else
1873 return 0;
1874}
1875static struct rdev_sysfs_entry rdev_super = __ATTR_RO(super);
1876
1877static ssize_t
1878errors_show(mdk_rdev_t *rdev, char *page) 1867errors_show(mdk_rdev_t *rdev, char *page)
1879{ 1868{
1880 return sprintf(page, "%d\n", atomic_read(&rdev->corrected_errors)); 1869 return sprintf(page, "%d\n", atomic_read(&rdev->corrected_errors));
@@ -2060,7 +2049,6 @@ __ATTR(size, S_IRUGO|S_IWUSR, rdev_size_show, rdev_size_store);
2060 2049
2061static struct attribute *rdev_default_attrs[] = { 2050static struct attribute *rdev_default_attrs[] = {
2062 &rdev_state.attr, 2051 &rdev_state.attr,
2063 &rdev_super.attr,
2064 &rdev_errors.attr, 2052 &rdev_errors.attr,
2065 &rdev_slot.attr, 2053 &rdev_slot.attr,
2066 &rdev_offset.attr, 2054 &rdev_offset.attr,
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 2d6f1a51359..c574cf5efb5 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -1143,7 +1143,7 @@ static void raid5_end_read_request(struct bio * bi, int error)
1143 rdev = conf->disks[i].rdev; 1143 rdev = conf->disks[i].rdev;
1144 printk(KERN_INFO "raid5:%s: read error corrected (%lu sectors at %llu on %s)\n", 1144 printk(KERN_INFO "raid5:%s: read error corrected (%lu sectors at %llu on %s)\n",
1145 mdname(conf->mddev), STRIPE_SECTORS, 1145 mdname(conf->mddev), STRIPE_SECTORS,
1146 (unsigned long long)sh->sector + rdev->data_offset, 1146 (unsigned long long)(sh->sector + rdev->data_offset),
1147 bdevname(rdev->bdev, b)); 1147 bdevname(rdev->bdev, b));
1148 clear_bit(R5_ReadError, &sh->dev[i].flags); 1148 clear_bit(R5_ReadError, &sh->dev[i].flags);
1149 clear_bit(R5_ReWrite, &sh->dev[i].flags); 1149 clear_bit(R5_ReWrite, &sh->dev[i].flags);
@@ -1160,13 +1160,13 @@ static void raid5_end_read_request(struct bio * bi, int error)
1160 if (conf->mddev->degraded) 1160 if (conf->mddev->degraded)
1161 printk(KERN_WARNING "raid5:%s: read error not correctable (sector %llu on %s).\n", 1161 printk(KERN_WARNING "raid5:%s: read error not correctable (sector %llu on %s).\n",
1162 mdname(conf->mddev), 1162 mdname(conf->mddev),
1163 (unsigned long long)sh->sector + rdev->data_offset, 1163 (unsigned long long)(sh->sector + rdev->data_offset),
1164 bdn); 1164 bdn);
1165 else if (test_bit(R5_ReWrite, &sh->dev[i].flags)) 1165 else if (test_bit(R5_ReWrite, &sh->dev[i].flags))
1166 /* Oh, no!!! */ 1166 /* Oh, no!!! */
1167 printk(KERN_WARNING "raid5:%s: read error NOT corrected!! (sector %llu on %s).\n", 1167 printk(KERN_WARNING "raid5:%s: read error NOT corrected!! (sector %llu on %s).\n",
1168 mdname(conf->mddev), 1168 mdname(conf->mddev),
1169 (unsigned long long)sh->sector + rdev->data_offset, 1169 (unsigned long long)(sh->sector + rdev->data_offset),
1170 bdn); 1170 bdn);
1171 else if (atomic_read(&rdev->read_errors) 1171 else if (atomic_read(&rdev->read_errors)
1172 > conf->max_nr_stripes) 1172 > conf->max_nr_stripes)
diff --git a/drivers/media/common/saa7146_core.c b/drivers/media/common/saa7146_core.c
index 168a8d3a5e5..7707b8c7394 100644
--- a/drivers/media/common/saa7146_core.c
+++ b/drivers/media/common/saa7146_core.c
@@ -306,25 +306,22 @@ static irqreturn_t interrupt_hw(int irq, void *dev_id)
306 return IRQ_NONE; 306 return IRQ_NONE;
307 } 307 }
308 308
309 if( 0 != (dev->ext)) { 309 if (dev->ext) {
310 if( 0 != (dev->ext->irq_mask & isr )) { 310 if (dev->ext->irq_mask & isr) {
311 if( 0 != dev->ext->irq_func ) { 311 if (dev->ext->irq_func)
312 dev->ext->irq_func(dev, &isr); 312 dev->ext->irq_func(dev, &isr);
313 }
314 isr &= ~dev->ext->irq_mask; 313 isr &= ~dev->ext->irq_mask;
315 } 314 }
316 } 315 }
317 if (0 != (isr & (MASK_27))) { 316 if (0 != (isr & (MASK_27))) {
318 DEB_INT(("irq: RPS0 (0x%08x).\n",isr)); 317 DEB_INT(("irq: RPS0 (0x%08x).\n",isr));
319 if( 0 != dev->vv_data && 0 != dev->vv_callback) { 318 if (dev->vv_data && dev->vv_callback)
320 dev->vv_callback(dev,isr); 319 dev->vv_callback(dev,isr);
321 }
322 isr &= ~MASK_27; 320 isr &= ~MASK_27;
323 } 321 }
324 if (0 != (isr & (MASK_28))) { 322 if (0 != (isr & (MASK_28))) {
325 if( 0 != dev->vv_data && 0 != dev->vv_callback) { 323 if (dev->vv_data && dev->vv_callback)
326 dev->vv_callback(dev,isr); 324 dev->vv_callback(dev,isr);
327 }
328 isr &= ~MASK_28; 325 isr &= ~MASK_28;
329 } 326 }
330 if (0 != (isr & (MASK_16|MASK_17))) { 327 if (0 != (isr & (MASK_16|MASK_17))) {
diff --git a/drivers/media/common/saa7146_fops.c b/drivers/media/common/saa7146_fops.c
index f0703d8bc3e..171afe7da6b 100644
--- a/drivers/media/common/saa7146_fops.c
+++ b/drivers/media/common/saa7146_fops.c
@@ -272,7 +272,7 @@ static int fops_open(struct inode *inode, struct file *file)
272 272
273 result = 0; 273 result = 0;
274out: 274out:
275 if( fh != 0 && result != 0 ) { 275 if (fh && result != 0) {
276 kfree(fh); 276 kfree(fh);
277 file->private_data = NULL; 277 file->private_data = NULL;
278 } 278 }
diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c
index ed3f8268ed1..4c8b62e2c03 100644
--- a/drivers/media/dvb/dvb-core/dvb_net.c
+++ b/drivers/media/dvb/dvb-core/dvb_net.c
@@ -784,8 +784,8 @@ static int dvb_net_ts_callback(const u8 *buffer1, size_t buffer1_len,
784{ 784{
785 struct net_device *dev = feed->priv; 785 struct net_device *dev = feed->priv;
786 786
787 if (buffer2 != 0) 787 if (buffer2)
788 printk(KERN_WARNING "buffer2 not 0: %p.\n", buffer2); 788 printk(KERN_WARNING "buffer2 not NULL: %p.\n", buffer2);
789 if (buffer1_len > 32768) 789 if (buffer1_len > 32768)
790 printk(KERN_WARNING "length > 32k: %zu.\n", buffer1_len); 790 printk(KERN_WARNING "length > 32k: %zu.\n", buffer1_len);
791 /* printk("TS callback: %u bytes, %u TS cells @ %p.\n", 791 /* printk("TS callback: %u bytes, %u TS cells @ %p.\n",
diff --git a/drivers/media/dvb/dvb-usb/opera1.c b/drivers/media/dvb/dvb-usb/opera1.c
index 21935bf7059..302cc67407c 100644
--- a/drivers/media/dvb/dvb-usb/opera1.c
+++ b/drivers/media/dvb/dvb-usb/opera1.c
@@ -478,9 +478,9 @@ static int opera1_xilinx_load_firmware(struct usb_device *dev,
478 err("could not restart the USB controller CPU."); 478 err("could not restart the USB controller CPU.");
479 ret = -EINVAL; 479 ret = -EINVAL;
480 } 480 }
481 kfree(p);
482 } 481 }
483 } 482 }
483 kfree(p);
484 if (fw) { 484 if (fw) {
485 release_firmware(fw); 485 release_firmware(fw);
486 } 486 }
diff --git a/drivers/media/radio/radio-cadet.c b/drivers/media/radio/radio-cadet.c
index 34e317ced5a..57b9e3adc8f 100644
--- a/drivers/media/radio/radio-cadet.c
+++ b/drivers/media/radio/radio-cadet.c
@@ -587,6 +587,8 @@ static struct video_device cadet_radio=
587 .vidioc_s_input = vidioc_s_input, 587 .vidioc_s_input = vidioc_s_input,
588}; 588};
589 589
590#ifdef CONFIG_PNP
591
590static struct pnp_device_id cadet_pnp_devices[] = { 592static struct pnp_device_id cadet_pnp_devices[] = {
591 /* ADS Cadet AM/FM Radio Card */ 593 /* ADS Cadet AM/FM Radio Card */
592 {.id = "MSM0c24", .driver_data = 0}, 594 {.id = "MSM0c24", .driver_data = 0},
@@ -621,6 +623,10 @@ static struct pnp_driver cadet_pnp_driver = {
621 .remove = NULL, 623 .remove = NULL,
622}; 624};
623 625
626#else
627static struct pnp_driver cadet_pnp_driver;
628#endif
629
624static int cadet_probe(void) 630static int cadet_probe(void)
625{ 631{
626 static int iovals[8]={0x330,0x332,0x334,0x336,0x338,0x33a,0x33c,0x33e}; 632 static int iovals[8]={0x330,0x332,0x334,0x336,0x338,0x33a,0x33c,0x33e};
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
index 37072a21d8c..1832966f53f 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
@@ -305,7 +305,7 @@ comment "MPEG video encoders"
305 305
306config VIDEO_CX2341X 306config VIDEO_CX2341X
307 tristate "Conexant CX2341x MPEG encoders" 307 tristate "Conexant CX2341x MPEG encoders"
308 depends on VIDEO_V4L2 && EXPERIMENTAL 308 depends on VIDEO_V4L2 && EXPERIMENTAL && VIDEO_V4L2_COMMON
309 ---help--- 309 ---help---
310 Support for the Conexant CX23416 MPEG encoders 310 Support for the Conexant CX23416 MPEG encoders
311 and CX23415 MPEG encoder/decoders. 311 and CX23415 MPEG encoder/decoders.
@@ -382,7 +382,7 @@ endmenu # encoder / decoder chips
382 382
383config VIDEO_VIVI 383config VIDEO_VIVI
384 tristate "Virtual Video Driver" 384 tristate "Virtual Video Driver"
385 depends on VIDEO_V4L2 && !SPARC32 && !SPARC64 385 depends on VIDEO_DEV && VIDEO_V4L2 && !SPARC32 && !SPARC64
386 select VIDEOBUF_VMALLOC 386 select VIDEOBUF_VMALLOC
387 default n 387 default n
388 ---help--- 388 ---help---
diff --git a/drivers/media/video/adv7170.c b/drivers/media/video/adv7170.c
index cbab53fc624..fea2e723e34 100644
--- a/drivers/media/video/adv7170.c
+++ b/drivers/media/video/adv7170.c
@@ -408,7 +408,7 @@ adv7170_detect_client (struct i2c_adapter *adapter,
408 return 0; 408 return 0;
409 409
410 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 410 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
411 if (client == 0) 411 if (!client)
412 return -ENOMEM; 412 return -ENOMEM;
413 client->addr = address; 413 client->addr = address;
414 client->adapter = adapter; 414 client->adapter = adapter;
diff --git a/drivers/media/video/adv7175.c b/drivers/media/video/adv7175.c
index 0d0c554bfdf..10d4d89623f 100644
--- a/drivers/media/video/adv7175.c
+++ b/drivers/media/video/adv7175.c
@@ -426,7 +426,7 @@ adv7175_detect_client (struct i2c_adapter *adapter,
426 return 0; 426 return 0;
427 427
428 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 428 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
429 if (client == 0) 429 if (!client)
430 return -ENOMEM; 430 return -ENOMEM;
431 client->addr = address; 431 client->addr = address;
432 client->adapter = adapter; 432 client->adapter = adapter;
diff --git a/drivers/media/video/bt819.c b/drivers/media/video/bt819.c
index 12d1b9248be..e663cc045c4 100644
--- a/drivers/media/video/bt819.c
+++ b/drivers/media/video/bt819.c
@@ -524,7 +524,7 @@ bt819_detect_client (struct i2c_adapter *adapter,
524 return 0; 524 return 0;
525 525
526 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 526 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
527 if (client == 0) 527 if (!client)
528 return -ENOMEM; 528 return -ENOMEM;
529 client->addr = address; 529 client->addr = address;
530 client->adapter = adapter; 530 client->adapter = adapter;
diff --git a/drivers/media/video/bt856.c b/drivers/media/video/bt856.c
index e1028a76c04..7dee2e3235a 100644
--- a/drivers/media/video/bt856.c
+++ b/drivers/media/video/bt856.c
@@ -311,7 +311,7 @@ bt856_detect_client (struct i2c_adapter *adapter,
311 return 0; 311 return 0;
312 312
313 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 313 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
314 if (client == 0) 314 if (!client)
315 return -ENOMEM; 315 return -ENOMEM;
316 client->addr = address; 316 client->addr = address;
317 client->adapter = adapter; 317 client->adapter = adapter;
diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
index 5404fcc5276..fcf8f2d208a 100644
--- a/drivers/media/video/bt8xx/bttv-driver.c
+++ b/drivers/media/video/bt8xx/bttv-driver.c
@@ -1990,7 +1990,7 @@ static int bttv_g_frequency(struct file *file, void *priv,
1990 if (0 != err) 1990 if (0 != err)
1991 return err; 1991 return err;
1992 1992
1993 f->type = V4L2_TUNER_ANALOG_TV; 1993 f->type = btv->radio_user ? V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV;
1994 f->frequency = btv->freq; 1994 f->frequency = btv->freq;
1995 1995
1996 return 0; 1996 return 0;
@@ -2009,7 +2009,8 @@ static int bttv_s_frequency(struct file *file, void *priv,
2009 2009
2010 if (unlikely(f->tuner != 0)) 2010 if (unlikely(f->tuner != 0))
2011 return -EINVAL; 2011 return -EINVAL;
2012 if (unlikely(f->type != V4L2_TUNER_ANALOG_TV)) 2012 if (unlikely(f->type != (btv->radio_user
2013 ? V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV)))
2013 return -EINVAL; 2014 return -EINVAL;
2014 mutex_lock(&btv->lock); 2015 mutex_lock(&btv->lock);
2015 btv->freq = f->frequency; 2016 btv->freq = f->frequency;
@@ -3389,7 +3390,6 @@ static struct video_device bttv_video_template =
3389 .vidiocgmbuf = vidiocgmbuf, 3390 .vidiocgmbuf = vidiocgmbuf,
3390#endif 3391#endif
3391 .vidioc_g_crop = bttv_g_crop, 3392 .vidioc_g_crop = bttv_g_crop,
3392 .vidioc_g_crop = bttv_g_crop,
3393 .vidioc_s_crop = bttv_s_crop, 3393 .vidioc_s_crop = bttv_s_crop,
3394 .vidioc_g_fbuf = bttv_g_fbuf, 3394 .vidioc_g_fbuf = bttv_g_fbuf,
3395 .vidioc_s_fbuf = bttv_s_fbuf, 3395 .vidioc_s_fbuf = bttv_s_fbuf,
@@ -3416,6 +3416,7 @@ static int radio_open(struct inode *inode, struct file *file)
3416{ 3416{
3417 int minor = iminor(inode); 3417 int minor = iminor(inode);
3418 struct bttv *btv = NULL; 3418 struct bttv *btv = NULL;
3419 struct bttv_fh *fh;
3419 unsigned int i; 3420 unsigned int i;
3420 3421
3421 dprintk("bttv: open minor=%d\n",minor); 3422 dprintk("bttv: open minor=%d\n",minor);
@@ -3430,12 +3431,19 @@ static int radio_open(struct inode *inode, struct file *file)
3430 return -ENODEV; 3431 return -ENODEV;
3431 3432
3432 dprintk("bttv%d: open called (radio)\n",btv->c.nr); 3433 dprintk("bttv%d: open called (radio)\n",btv->c.nr);
3434
3435 /* allocate per filehandle data */
3436 fh = kmalloc(sizeof(*fh), GFP_KERNEL);
3437 if (NULL == fh)
3438 return -ENOMEM;
3439 file->private_data = fh;
3440 *fh = btv->init;
3441 v4l2_prio_open(&btv->prio, &fh->prio);
3442
3433 mutex_lock(&btv->lock); 3443 mutex_lock(&btv->lock);
3434 3444
3435 btv->radio_user++; 3445 btv->radio_user++;
3436 3446
3437 file->private_data = btv;
3438
3439 bttv_call_i2c_clients(btv,AUDC_SET_RADIO,NULL); 3447 bttv_call_i2c_clients(btv,AUDC_SET_RADIO,NULL);
3440 audio_input(btv,TVAUDIO_INPUT_RADIO); 3448 audio_input(btv,TVAUDIO_INPUT_RADIO);
3441 3449
@@ -3445,7 +3453,8 @@ static int radio_open(struct inode *inode, struct file *file)
3445 3453
3446static int radio_release(struct inode *inode, struct file *file) 3454static int radio_release(struct inode *inode, struct file *file)
3447{ 3455{
3448 struct bttv *btv = file->private_data; 3456 struct bttv_fh *fh = file->private_data;
3457 struct bttv *btv = fh->btv;
3449 struct rds_command cmd; 3458 struct rds_command cmd;
3450 3459
3451 btv->radio_user--; 3460 btv->radio_user--;
@@ -3509,8 +3518,12 @@ static int radio_enum_input(struct file *file, void *priv,
3509static int radio_g_audio(struct file *file, void *priv, 3518static int radio_g_audio(struct file *file, void *priv,
3510 struct v4l2_audio *a) 3519 struct v4l2_audio *a)
3511{ 3520{
3521 if (a->index != 0)
3522 return -EINVAL;
3523
3512 memset(a, 0, sizeof(*a)); 3524 memset(a, 0, sizeof(*a));
3513 strcpy(a->name, "Radio"); 3525 strcpy(a->name, "Radio");
3526
3514 return 0; 3527 return 0;
3515} 3528}
3516 3529
@@ -3570,7 +3583,8 @@ static int radio_g_input(struct file *filp, void *priv, unsigned int *i)
3570static ssize_t radio_read(struct file *file, char __user *data, 3583static ssize_t radio_read(struct file *file, char __user *data,
3571 size_t count, loff_t *ppos) 3584 size_t count, loff_t *ppos)
3572{ 3585{
3573 struct bttv *btv = file->private_data; 3586 struct bttv_fh *fh = file->private_data;
3587 struct bttv *btv = fh->btv;
3574 struct rds_command cmd; 3588 struct rds_command cmd;
3575 cmd.block_count = count/3; 3589 cmd.block_count = count/3;
3576 cmd.buffer = data; 3590 cmd.buffer = data;
@@ -3584,7 +3598,8 @@ static ssize_t radio_read(struct file *file, char __user *data,
3584 3598
3585static unsigned int radio_poll(struct file *file, poll_table *wait) 3599static unsigned int radio_poll(struct file *file, poll_table *wait)
3586{ 3600{
3587 struct bttv *btv = file->private_data; 3601 struct bttv_fh *fh = file->private_data;
3602 struct bttv *btv = fh->btv;
3588 struct rds_command cmd; 3603 struct rds_command cmd;
3589 cmd.instance = file; 3604 cmd.instance = file;
3590 cmd.event_list = wait; 3605 cmd.event_list = wait;
@@ -3600,6 +3615,7 @@ static const struct file_operations radio_fops =
3600 .open = radio_open, 3615 .open = radio_open,
3601 .read = radio_read, 3616 .read = radio_read,
3602 .release = radio_release, 3617 .release = radio_release,
3618 .compat_ioctl = v4l_compat_ioctl32,
3603 .ioctl = video_ioctl2, 3619 .ioctl = video_ioctl2,
3604 .llseek = no_llseek, 3620 .llseek = no_llseek,
3605 .poll = radio_poll, 3621 .poll = radio_poll,
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c
index 2d414dad5c3..dfa269838e0 100644
--- a/drivers/media/video/cx23885/cx23885-cards.c
+++ b/drivers/media/video/cx23885/cx23885-cards.c
@@ -232,6 +232,7 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data)
232 case 78631: /* WinTV-HVR1800 (PCIe, OEM, No IR, No FM, Dual channel ATSC and MPEG2 HW Encoder */ 232 case 78631: /* WinTV-HVR1800 (PCIe, OEM, No IR, No FM, Dual channel ATSC and MPEG2 HW Encoder */
233 case 79001: /* WinTV-HVR1250 (PCIe, Retail, IR, full height, ATSC and Basic analog */ 233 case 79001: /* WinTV-HVR1250 (PCIe, Retail, IR, full height, ATSC and Basic analog */
234 case 79101: /* WinTV-HVR1250 (PCIe, Retail, IR, half height, ATSC and Basic analog */ 234 case 79101: /* WinTV-HVR1250 (PCIe, Retail, IR, half height, ATSC and Basic analog */
235 case 79561: /* WinTV-HVR1250 (PCIe, OEM, No IR, half height, ATSC and Basic analog */
235 case 79571: /* WinTV-HVR1250 (PCIe, OEM, No IR, full height, ATSC and Basic analog */ 236 case 79571: /* WinTV-HVR1250 (PCIe, OEM, No IR, full height, ATSC and Basic analog */
236 case 79671: /* WinTV-HVR1250 (PCIe, OEM, No IR, half height, ATSC and Basic analog */ 237 case 79671: /* WinTV-HVR1250 (PCIe, OEM, No IR, half height, ATSC and Basic analog */
237 break; 238 break;
@@ -347,10 +348,13 @@ void cx23885_card_setup(struct cx23885_dev *dev)
347 case CX23885_BOARD_HAUPPAUGE_HVR1250: 348 case CX23885_BOARD_HAUPPAUGE_HVR1250:
348 case CX23885_BOARD_HAUPPAUGE_HVR1500: 349 case CX23885_BOARD_HAUPPAUGE_HVR1500:
349 case CX23885_BOARD_HAUPPAUGE_HVR1500Q: 350 case CX23885_BOARD_HAUPPAUGE_HVR1500Q:
351 if (dev->i2c_bus[0].i2c_rc == 0)
352 hauppauge_eeprom(dev, eeprom+0x80);
353 break;
350 case CX23885_BOARD_HAUPPAUGE_HVR1800: 354 case CX23885_BOARD_HAUPPAUGE_HVR1800:
351 case CX23885_BOARD_HAUPPAUGE_HVR1800lp: 355 case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
352 if (dev->i2c_bus[0].i2c_rc == 0) 356 if (dev->i2c_bus[0].i2c_rc == 0)
353 hauppauge_eeprom(dev, eeprom+0x80); 357 hauppauge_eeprom(dev, eeprom+0xc0);
354 break; 358 break;
355 } 359 }
356 360
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
index 8e40c7bcc06..7f10b273598 100644
--- a/drivers/media/video/cx23885/cx23885-core.c
+++ b/drivers/media/video/cx23885/cx23885-core.c
@@ -56,137 +56,6 @@ LIST_HEAD(cx23885_devlist);
56 56
57#define NO_SYNC_LINE (-1U) 57#define NO_SYNC_LINE (-1U)
58 58
59/*
60 * CX23885 Assumptions
61 * 1 line = 16 bytes of CDT
62 * cmds size = 80
63 * cdt size = 16 * linesize
64 * iqsize = 64
65 * maxlines = 6
66 *
67 * Address Space:
68 * 0x00000000 0x00008fff FIFO clusters
69 * 0x00010000 0x000104af Channel Management Data Structures
70 * 0x000104b0 0x000104ff Free
71 * 0x00010500 0x000108bf 15 channels * iqsize
72 * 0x000108c0 0x000108ff Free
73 * 0x00010900 0x00010e9f IQ's + Cluster Descriptor Tables
74 * 15 channels * (iqsize + (maxlines * linesize))
75 * 0x00010ea0 0x00010xxx Free
76 */
77
78static struct sram_channel cx23885_sram_channels[] = {
79 [SRAM_CH01] = {
80 .name = "VID A",
81 .cmds_start = 0x10000,
82 .ctrl_start = 0x105b0,
83 .cdt = 0x107b0,
84 .fifo_start = 0x40,
85 .fifo_size = 0x2800,
86 .ptr1_reg = DMA1_PTR1,
87 .ptr2_reg = DMA1_PTR2,
88 .cnt1_reg = DMA1_CNT1,
89 .cnt2_reg = DMA1_CNT2,
90 .jumponly = 1,
91 },
92 [SRAM_CH02] = {
93 .name = "ch2",
94 .cmds_start = 0x0,
95 .ctrl_start = 0x0,
96 .cdt = 0x0,
97 .fifo_start = 0x0,
98 .fifo_size = 0x0,
99 .ptr1_reg = DMA2_PTR1,
100 .ptr2_reg = DMA2_PTR2,
101 .cnt1_reg = DMA2_CNT1,
102 .cnt2_reg = DMA2_CNT2,
103 },
104 [SRAM_CH03] = {
105 .name = "TS1 B",
106 .cmds_start = 0x100A0,
107 .ctrl_start = 0x10630,
108 .cdt = 0x10870,
109 .fifo_start = 0x5000,
110 .fifo_size = 0x1000,
111 .ptr1_reg = DMA3_PTR1,
112 .ptr2_reg = DMA3_PTR2,
113 .cnt1_reg = DMA3_CNT1,
114 .cnt2_reg = DMA3_CNT2,
115 },
116 [SRAM_CH04] = {
117 .name = "ch4",
118 .cmds_start = 0x0,
119 .ctrl_start = 0x0,
120 .cdt = 0x0,
121 .fifo_start = 0x0,
122 .fifo_size = 0x0,
123 .ptr1_reg = DMA4_PTR1,
124 .ptr2_reg = DMA4_PTR2,
125 .cnt1_reg = DMA4_CNT1,
126 .cnt2_reg = DMA4_CNT2,
127 },
128 [SRAM_CH05] = {
129 .name = "ch5",
130 .cmds_start = 0x0,
131 .ctrl_start = 0x0,
132 .cdt = 0x0,
133 .fifo_start = 0x0,
134 .fifo_size = 0x0,
135 .ptr1_reg = DMA5_PTR1,
136 .ptr2_reg = DMA5_PTR2,
137 .cnt1_reg = DMA5_CNT1,
138 .cnt2_reg = DMA5_CNT2,
139 },
140 [SRAM_CH06] = {
141 .name = "TS2 C",
142 .cmds_start = 0x10140,
143 .ctrl_start = 0x10680,
144 .cdt = 0x108d0,
145 .fifo_start = 0x6000,
146 .fifo_size = 0x1000,
147 .ptr1_reg = DMA5_PTR1,
148 .ptr2_reg = DMA5_PTR2,
149 .cnt1_reg = DMA5_CNT1,
150 .cnt2_reg = DMA5_CNT2,
151 },
152 [SRAM_CH07] = {
153 .name = "ch7",
154 .cmds_start = 0x0,
155 .ctrl_start = 0x0,
156 .cdt = 0x0,
157 .fifo_start = 0x0,
158 .fifo_size = 0x0,
159 .ptr1_reg = DMA6_PTR1,
160 .ptr2_reg = DMA6_PTR2,
161 .cnt1_reg = DMA6_CNT1,
162 .cnt2_reg = DMA6_CNT2,
163 },
164 [SRAM_CH08] = {
165 .name = "ch8",
166 .cmds_start = 0x0,
167 .ctrl_start = 0x0,
168 .cdt = 0x0,
169 .fifo_start = 0x0,
170 .fifo_size = 0x0,
171 .ptr1_reg = DMA7_PTR1,
172 .ptr2_reg = DMA7_PTR2,
173 .cnt1_reg = DMA7_CNT1,
174 .cnt2_reg = DMA7_CNT2,
175 },
176 [SRAM_CH09] = {
177 .name = "ch9",
178 .cmds_start = 0x0,
179 .ctrl_start = 0x0,
180 .cdt = 0x0,
181 .fifo_start = 0x0,
182 .fifo_size = 0x0,
183 .ptr1_reg = DMA8_PTR1,
184 .ptr2_reg = DMA8_PTR2,
185 .cnt1_reg = DMA8_CNT1,
186 .cnt2_reg = DMA8_CNT2,
187 },
188};
189
190/* FIXME, these allocations will change when 59/* FIXME, these allocations will change when
191 * analog arrives. The be reviewed. 60 * analog arrives. The be reviewed.
192 * CX23887 Assumptions 61 * CX23887 Assumptions
@@ -754,6 +623,7 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
754 atomic_inc(&dev->refcount); 623 atomic_inc(&dev->refcount);
755 624
756 dev->nr = cx23885_devcount++; 625 dev->nr = cx23885_devcount++;
626 dev->sram_channels = cx23887_sram_channels;
757 sprintf(dev->name, "cx23885[%d]", dev->nr); 627 sprintf(dev->name, "cx23885[%d]", dev->nr);
758 628
759 mutex_lock(&devlist); 629 mutex_lock(&devlist);
@@ -763,13 +633,11 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
763 /* Configure the internal memory */ 633 /* Configure the internal memory */
764 if(dev->pci->device == 0x8880) { 634 if(dev->pci->device == 0x8880) {
765 dev->bridge = CX23885_BRIDGE_887; 635 dev->bridge = CX23885_BRIDGE_887;
766 dev->sram_channels = cx23887_sram_channels;
767 /* Apply a sensible clock frequency for the PCIe bridge */ 636 /* Apply a sensible clock frequency for the PCIe bridge */
768 dev->clk_freq = 25000000; 637 dev->clk_freq = 25000000;
769 } else 638 } else
770 if(dev->pci->device == 0x8852) { 639 if(dev->pci->device == 0x8852) {
771 dev->bridge = CX23885_BRIDGE_885; 640 dev->bridge = CX23885_BRIDGE_885;
772 dev->sram_channels = cx23885_sram_channels;
773 /* Apply a sensible clock frequency for the PCIe bridge */ 641 /* Apply a sensible clock frequency for the PCIe bridge */
774 dev->clk_freq = 28000000; 642 dev->clk_freq = 28000000;
775 } else 643 } else
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index e6b7f518c56..8c9a8adf52d 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -2196,6 +2196,11 @@ struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr)
2196 cx88_reset(core); 2196 cx88_reset(core);
2197 cx88_card_setup_pre_i2c(core); 2197 cx88_card_setup_pre_i2c(core);
2198 cx88_i2c_init(core, pci); 2198 cx88_i2c_init(core, pci);
2199
2200 /* load tuner module, if needed */
2201 if (TUNER_ABSENT != core->board.tuner_type)
2202 request_module("tuner");
2203
2199 cx88_call_i2c_clients (core, TUNER_SET_STANDBY, NULL); 2204 cx88_call_i2c_clients (core, TUNER_SET_STANDBY, NULL);
2200 cx88_card_setup(core); 2205 cx88_card_setup(core);
2201 cx88_ir_init(core, pci); 2206 cx88_ir_init(core, pci);
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index 7f1931aed20..227179620d1 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -1826,8 +1826,6 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
1826 cx_set(MO_PCI_INTMSK, core->pci_irqmask); 1826 cx_set(MO_PCI_INTMSK, core->pci_irqmask);
1827 1827
1828 /* load and configure helper modules */ 1828 /* load and configure helper modules */
1829 if (TUNER_ABSENT != core->board.tuner_type)
1830 request_module("tuner");
1831 1829
1832 if (core->board.audio_chip == AUDIO_CHIP_WM8775) 1830 if (core->board.audio_chip == AUDIO_CHIP_WM8775)
1833 request_module("wm8775"); 1831 request_module("wm8775");
diff --git a/drivers/media/video/dpc7146.c b/drivers/media/video/dpc7146.c
index 566e479e262..9ceb6b2f394 100644
--- a/drivers/media/video/dpc7146.c
+++ b/drivers/media/video/dpc7146.c
@@ -131,7 +131,7 @@ static int dpc_probe(struct saa7146_dev* dev)
131 device_for_each_child(&dpc->i2c_adapter.dev, dpc, dpc_check_clients); 131 device_for_each_child(&dpc->i2c_adapter.dev, dpc, dpc_check_clients);
132 132
133 /* check if all devices are present */ 133 /* check if all devices are present */
134 if( 0 == dpc->saa7111a ) { 134 if (!dpc->saa7111a) {
135 DEB_D(("dpc_v4l2.o: dpc_attach failed for this device.\n")); 135 DEB_D(("dpc_v4l2.o: dpc_attach failed for this device.\n"));
136 i2c_del_adapter(&dpc->i2c_adapter); 136 i2c_del_adapter(&dpc->i2c_adapter);
137 kfree(dpc); 137 kfree(dpc);
diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
index 7d1537cab86..c1caaa855b9 100644
--- a/drivers/media/video/em28xx/em28xx-core.c
+++ b/drivers/media/video/em28xx/em28xx-core.c
@@ -267,7 +267,7 @@ static int em28xx_write_ac97(struct em28xx *dev, u8 reg, u8 *val)
267 for (i = 0; i < 10; i++) { 267 for (i = 0; i < 10; i++) {
268 if ((ret = em28xx_read_reg(dev, AC97BUSY_REG)) < 0) 268 if ((ret = em28xx_read_reg(dev, AC97BUSY_REG)) < 0)
269 return ret; 269 return ret;
270 if (!((u8) ret) & 0x01) 270 if (!(ret & 0x01))
271 return 0; 271 return 0;
272 msleep(5); 272 msleep(5);
273 } 273 }
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c
index d42f120354e..948ca35e7ee 100644
--- a/drivers/media/video/ivtv/ivtv-driver.c
+++ b/drivers/media/video/ivtv/ivtv-driver.c
@@ -54,7 +54,6 @@
54#include "ivtv-vbi.h" 54#include "ivtv-vbi.h"
55#include "ivtv-routing.h" 55#include "ivtv-routing.h"
56#include "ivtv-gpio.h" 56#include "ivtv-gpio.h"
57#include "ivtv-yuv.h"
58 57
59#include <media/tveeprom.h> 58#include <media/tveeprom.h>
60#include <media/saa7115.h> 59#include <media/saa7115.h>
@@ -700,6 +699,9 @@ static int __devinit ivtv_init_struct1(struct ivtv *itv)
700 itv->vbi.in.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE; 699 itv->vbi.in.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
701 itv->vbi.sliced_in = &itv->vbi.in.fmt.sliced; 700 itv->vbi.sliced_in = &itv->vbi.in.fmt.sliced;
702 701
702 /* Init the sg table for osd/yuv output */
703 sg_init_table(itv->udma.SGlist, IVTV_DMA_SG_OSD_ENT);
704
703 /* OSD */ 705 /* OSD */
704 itv->osd_global_alpha_state = 1; 706 itv->osd_global_alpha_state = 1;
705 itv->osd_global_alpha = 255; 707 itv->osd_global_alpha = 255;
@@ -1053,9 +1055,6 @@ static int __devinit ivtv_probe(struct pci_dev *dev,
1053 goto free_io; 1055 goto free_io;
1054 } 1056 }
1055 1057
1056 /* Check yuv output filter table */
1057 if (itv->has_cx23415) ivtv_yuv_filter_check(itv);
1058
1059 ivtv_gpio_init(itv); 1058 ivtv_gpio_init(itv);
1060 1059
1061 /* active i2c */ 1060 /* active i2c */
diff --git a/drivers/media/video/ivtv/ivtv-firmware.c b/drivers/media/video/ivtv/ivtv-firmware.c
index 425eb106390..6dba55b7e25 100644
--- a/drivers/media/video/ivtv/ivtv-firmware.c
+++ b/drivers/media/video/ivtv/ivtv-firmware.c
@@ -22,6 +22,7 @@
22#include "ivtv-driver.h" 22#include "ivtv-driver.h"
23#include "ivtv-mailbox.h" 23#include "ivtv-mailbox.h"
24#include "ivtv-firmware.h" 24#include "ivtv-firmware.h"
25#include "ivtv-yuv.h"
25#include <linux/firmware.h> 26#include <linux/firmware.h>
26 27
27#define IVTV_MASK_SPU_ENABLE 0xFFFFFFFE 28#define IVTV_MASK_SPU_ENABLE 0xFFFFFFFE
@@ -225,11 +226,14 @@ int ivtv_firmware_init(struct ivtv *itv)
225 return 0; 226 return 0;
226 227
227 itv->dec_mbox.mbox = ivtv_search_mailbox(itv->dec_mem, IVTV_DECODER_SIZE); 228 itv->dec_mbox.mbox = ivtv_search_mailbox(itv->dec_mem, IVTV_DECODER_SIZE);
228 if (itv->dec_mbox.mbox == NULL) 229 if (itv->dec_mbox.mbox == NULL) {
229 IVTV_ERR("Decoder mailbox not found\n"); 230 IVTV_ERR("Decoder mailbox not found\n");
230 else if (itv->has_cx23415 && ivtv_vapi(itv, CX2341X_DEC_PING_FW, 0)) { 231 } else if (itv->has_cx23415 && ivtv_vapi(itv, CX2341X_DEC_PING_FW, 0)) {
231 IVTV_ERR("Decoder firmware dead!\n"); 232 IVTV_ERR("Decoder firmware dead!\n");
232 itv->dec_mbox.mbox = NULL; 233 itv->dec_mbox.mbox = NULL;
234 } else {
235 /* Firmware okay, so check yuv output filter table */
236 ivtv_yuv_filter_check(itv);
233 } 237 }
234 return itv->dec_mbox.mbox ? 0 : -ENODEV; 238 return itv->dec_mbox.mbox ? 0 : -ENODEV;
235} 239}
diff --git a/drivers/media/video/mt20xx.c b/drivers/media/video/mt20xx.c
index 58bab653330..74fd6a01d4c 100644
--- a/drivers/media/video/mt20xx.c
+++ b/drivers/media/video/mt20xx.c
@@ -647,7 +647,7 @@ struct dvb_frontend *microtune_attach(struct dvb_frontend *fe,
647 default: 647 default:
648 tuner_info("microtune %s found, not (yet?) supported, sorry :-/\n", 648 tuner_info("microtune %s found, not (yet?) supported, sorry :-/\n",
649 name); 649 name);
650 return 0; 650 return NULL;
651 } 651 }
652 652
653 strlcpy(fe->ops.tuner_ops.info.name, name, 653 strlcpy(fe->ops.tuner_ops.info.name, name,
diff --git a/drivers/media/video/mxb.c b/drivers/media/video/mxb.c
index add6d0d680b..cb5a510f925 100644
--- a/drivers/media/video/mxb.c
+++ b/drivers/media/video/mxb.c
@@ -221,9 +221,8 @@ static int mxb_probe(struct saa7146_dev* dev)
221 device_for_each_child(&mxb->i2c_adapter.dev, mxb, mxb_check_clients); 221 device_for_each_child(&mxb->i2c_adapter.dev, mxb, mxb_check_clients);
222 222
223 /* check if all devices are present */ 223 /* check if all devices are present */
224 if( 0 == mxb->tea6420_1 || 0 == mxb->tea6420_2 || 0 == mxb->tea6415c 224 if (!mxb->tea6420_1 || !mxb->tea6420_2 || !mxb->tea6415c ||
225 || 0 == mxb->tda9840 || 0 == mxb->saa7111a || 0 == mxb->tuner ) { 225 !mxb->tda9840 || !mxb->saa7111a || !mxb->tuner) {
226
227 printk("mxb: did not find all i2c devices. aborting\n"); 226 printk("mxb: did not find all i2c devices. aborting\n");
228 i2c_del_adapter(&mxb->i2c_adapter); 227 i2c_del_adapter(&mxb->i2c_adapter);
229 kfree(mxb); 228 kfree(mxb);
diff --git a/drivers/media/video/pvrusb2/pvrusb2-ctrl.c b/drivers/media/video/pvrusb2/pvrusb2-ctrl.c
index 46f156fb108..5a3e8d21a38 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-ctrl.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-ctrl.c
@@ -60,7 +60,7 @@ int pvr2_ctrl_set_mask_value(struct pvr2_ctrl *cptr,int mask,int val)
60 int ret = 0; 60 int ret = 0;
61 if (!cptr) return -EINVAL; 61 if (!cptr) return -EINVAL;
62 LOCK_TAKE(cptr->hdw->big_lock); do { 62 LOCK_TAKE(cptr->hdw->big_lock); do {
63 if (cptr->info->set_value != 0) { 63 if (cptr->info->set_value) {
64 if (cptr->info->type == pvr2_ctl_bitmask) { 64 if (cptr->info->type == pvr2_ctl_bitmask) {
65 mask &= cptr->info->def.type_bitmask.valid_bits; 65 mask &= cptr->info->def.type_bitmask.valid_bits;
66 } else if (cptr->info->type == pvr2_ctl_int) { 66 } else if (cptr->info->type == pvr2_ctl_int) {
@@ -265,7 +265,7 @@ unsigned int pvr2_ctrl_get_v4lflags(struct pvr2_ctrl *cptr)
265int pvr2_ctrl_is_writable(struct pvr2_ctrl *cptr) 265int pvr2_ctrl_is_writable(struct pvr2_ctrl *cptr)
266{ 266{
267 if (!cptr) return 0; 267 if (!cptr) return 0;
268 return cptr->info->set_value != 0; 268 return cptr->info->set_value != NULL;
269} 269}
270 270
271 271
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index 41ae980405e..d6955fa3959 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -2291,7 +2291,7 @@ static int pvr2_hdw_commit_setup(struct pvr2_hdw *hdw)
2291 2291
2292 for (idx = 0; idx < hdw->control_cnt; idx++) { 2292 for (idx = 0; idx < hdw->control_cnt; idx++) {
2293 cptr = hdw->controls + idx; 2293 cptr = hdw->controls + idx;
2294 if (cptr->info->is_dirty == 0) continue; 2294 if (!cptr->info->is_dirty) continue;
2295 if (!cptr->info->is_dirty(cptr)) continue; 2295 if (!cptr->info->is_dirty(cptr)) continue;
2296 commit_flag = !0; 2296 commit_flag = !0;
2297 2297
@@ -2646,7 +2646,7 @@ void pvr2_hdw_cpufw_set_enabled(struct pvr2_hdw *hdw,
2646 u16 address; 2646 u16 address;
2647 unsigned int pipe; 2647 unsigned int pipe;
2648 LOCK_TAKE(hdw->big_lock); do { 2648 LOCK_TAKE(hdw->big_lock); do {
2649 if ((hdw->fw_buffer == 0) == !enable_flag) break; 2649 if ((hdw->fw_buffer == NULL) == !enable_flag) break;
2650 2650
2651 if (!enable_flag) { 2651 if (!enable_flag) {
2652 pvr2_trace(PVR2_TRACE_FIRMWARE, 2652 pvr2_trace(PVR2_TRACE_FIRMWARE,
@@ -2715,7 +2715,7 @@ void pvr2_hdw_cpufw_set_enabled(struct pvr2_hdw *hdw,
2715/* Return true if we're in a mode for retrieval CPU firmware */ 2715/* Return true if we're in a mode for retrieval CPU firmware */
2716int pvr2_hdw_cpufw_get_enabled(struct pvr2_hdw *hdw) 2716int pvr2_hdw_cpufw_get_enabled(struct pvr2_hdw *hdw)
2717{ 2717{
2718 return hdw->fw_buffer != 0; 2718 return hdw->fw_buffer != NULL;
2719} 2719}
2720 2720
2721 2721
diff --git a/drivers/media/video/pvrusb2/pvrusb2-io.c b/drivers/media/video/pvrusb2/pvrusb2-io.c
index ce3c8982ffe..a9889ff96ec 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-io.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-io.c
@@ -563,7 +563,7 @@ void pvr2_stream_kill(struct pvr2_stream *sp)
563 struct pvr2_buffer *bp; 563 struct pvr2_buffer *bp;
564 mutex_lock(&sp->mutex); do { 564 mutex_lock(&sp->mutex); do {
565 pvr2_stream_internal_flush(sp); 565 pvr2_stream_internal_flush(sp);
566 while ((bp = pvr2_stream_get_ready_buffer(sp)) != 0) { 566 while ((bp = pvr2_stream_get_ready_buffer(sp)) != NULL) {
567 pvr2_buffer_set_idle(bp); 567 pvr2_buffer_set_idle(bp);
568 } 568 }
569 if (sp->buffer_total_count != sp->buffer_target_count) { 569 if (sp->buffer_total_count != sp->buffer_target_count) {
diff --git a/drivers/media/video/pvrusb2/pvrusb2-ioread.c b/drivers/media/video/pvrusb2/pvrusb2-ioread.c
index f782418afa4..c572212c9f1 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-ioread.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-ioread.c
@@ -165,7 +165,7 @@ static int pvr2_ioread_start(struct pvr2_ioread *cp)
165 if (!(cp->stream)) return 0; 165 if (!(cp->stream)) return 0;
166 pvr2_trace(PVR2_TRACE_START_STOP, 166 pvr2_trace(PVR2_TRACE_START_STOP,
167 "/*---TRACE_READ---*/ pvr2_ioread_start id=%p",cp); 167 "/*---TRACE_READ---*/ pvr2_ioread_start id=%p",cp);
168 while ((bp = pvr2_stream_get_idle_buffer(cp->stream)) != 0) { 168 while ((bp = pvr2_stream_get_idle_buffer(cp->stream)) != NULL) {
169 stat = pvr2_buffer_queue(bp); 169 stat = pvr2_buffer_queue(bp);
170 if (stat < 0) { 170 if (stat < 0) {
171 pvr2_trace(PVR2_TRACE_DATA_FLOW, 171 pvr2_trace(PVR2_TRACE_DATA_FLOW,
diff --git a/drivers/media/video/pwc/pwc-if.c b/drivers/media/video/pwc/pwc-if.c
index f991d72fe10..e0a453a6543 100644
--- a/drivers/media/video/pwc/pwc-if.c
+++ b/drivers/media/video/pwc/pwc-if.c
@@ -915,7 +915,7 @@ static void pwc_iso_stop(struct pwc_device *pdev)
915 struct urb *urb; 915 struct urb *urb;
916 916
917 urb = pdev->sbuf[i].urb; 917 urb = pdev->sbuf[i].urb;
918 if (urb != 0) { 918 if (urb) {
919 PWC_DEBUG_MEMORY("Unlinking URB %p\n", urb); 919 PWC_DEBUG_MEMORY("Unlinking URB %p\n", urb);
920 usb_kill_urb(urb); 920 usb_kill_urb(urb);
921 } 921 }
@@ -931,7 +931,7 @@ static void pwc_iso_free(struct pwc_device *pdev)
931 struct urb *urb; 931 struct urb *urb;
932 932
933 urb = pdev->sbuf[i].urb; 933 urb = pdev->sbuf[i].urb;
934 if (urb != 0) { 934 if (urb) {
935 PWC_DEBUG_MEMORY("Freeing URB\n"); 935 PWC_DEBUG_MEMORY("Freeing URB\n");
936 usb_free_urb(urb); 936 usb_free_urb(urb);
937 pdev->sbuf[i].urb = NULL; 937 pdev->sbuf[i].urb = NULL;
@@ -1759,8 +1759,7 @@ static int usb_pwc_probe(struct usb_interface *intf, const struct usb_device_id
1759 1759
1760 /* Allocate video_device structure */ 1760 /* Allocate video_device structure */
1761 pdev->vdev = video_device_alloc(); 1761 pdev->vdev = video_device_alloc();
1762 if (pdev->vdev == 0) 1762 if (!pdev->vdev) {
1763 {
1764 PWC_ERROR("Err, cannot allocate video_device struture. Failing probe."); 1763 PWC_ERROR("Err, cannot allocate video_device struture. Failing probe.");
1765 kfree(pdev); 1764 kfree(pdev);
1766 return -ENOMEM; 1765 return -ENOMEM;
diff --git a/drivers/media/video/saa7110.c b/drivers/media/video/saa7110.c
index 061134a7ba9..1df2602cd18 100644
--- a/drivers/media/video/saa7110.c
+++ b/drivers/media/video/saa7110.c
@@ -488,7 +488,7 @@ saa7110_detect_client (struct i2c_adapter *adapter,
488 return 0; 488 return 0;
489 489
490 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 490 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
491 if (client == 0) 491 if (!client)
492 return -ENOMEM; 492 return -ENOMEM;
493 client->addr = address; 493 client->addr = address;
494 client->adapter = adapter; 494 client->adapter = adapter;
@@ -496,7 +496,7 @@ saa7110_detect_client (struct i2c_adapter *adapter,
496 strlcpy(I2C_NAME(client), "saa7110", sizeof(I2C_NAME(client))); 496 strlcpy(I2C_NAME(client), "saa7110", sizeof(I2C_NAME(client)));
497 497
498 decoder = kzalloc(sizeof(struct saa7110), GFP_KERNEL); 498 decoder = kzalloc(sizeof(struct saa7110), GFP_KERNEL);
499 if (decoder == 0) { 499 if (!decoder) {
500 kfree(client); 500 kfree(client);
501 return -ENOMEM; 501 return -ENOMEM;
502 } 502 }
diff --git a/drivers/media/video/saa7111.c b/drivers/media/video/saa7111.c
index 7ae2d646d00..a0772c53bb1 100644
--- a/drivers/media/video/saa7111.c
+++ b/drivers/media/video/saa7111.c
@@ -502,7 +502,7 @@ saa7111_detect_client (struct i2c_adapter *adapter,
502 return 0; 502 return 0;
503 503
504 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 504 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
505 if (client == 0) 505 if (!client)
506 return -ENOMEM; 506 return -ENOMEM;
507 client->addr = address; 507 client->addr = address;
508 client->adapter = adapter; 508 client->adapter = adapter;
diff --git a/drivers/media/video/saa7114.c b/drivers/media/video/saa7114.c
index 677df51de1a..bf91a4faa70 100644
--- a/drivers/media/video/saa7114.c
+++ b/drivers/media/video/saa7114.c
@@ -841,7 +841,7 @@ saa7114_detect_client (struct i2c_adapter *adapter,
841 return 0; 841 return 0;
842 842
843 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 843 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
844 if (client == 0) 844 if (!client)
845 return -ENOMEM; 845 return -ENOMEM;
846 client->addr = address; 846 client->addr = address;
847 client->adapter = adapter; 847 client->adapter = adapter;
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 262830da08c..6f5744286e8 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -2484,27 +2484,28 @@ struct saa7134_board saa7134_boards[] = {
2484 .tuner_addr = ADDR_UNSET, 2484 .tuner_addr = ADDR_UNSET,
2485 .radio_addr = ADDR_UNSET, 2485 .radio_addr = ADDR_UNSET,
2486 .gpiomask = 0x080200000, 2486 .gpiomask = 0x080200000,
2487 .inputs = {{ 2487 .inputs = { {
2488 .name = name_tv, 2488 .name = name_tv,
2489 .vmux = 4, 2489 .vmux = 4,
2490 .amux = TV, 2490 .amux = TV,
2491 .tv = 1, 2491 .tv = 1,
2492 },{ 2492 }, {
2493 .name = name_comp1, 2493 .name = name_comp1,
2494 .vmux = 1, 2494 .vmux = 1,
2495 .amux = LINE2, 2495 .amux = LINE2,
2496 },{ 2496 }, {
2497 .name = name_comp2, 2497 .name = name_comp2,
2498 .vmux = 0, 2498 .vmux = 0,
2499 .amux = LINE2, 2499 .amux = LINE2,
2500 },{ 2500 }, {
2501 .name = name_svideo, 2501 .name = name_svideo,
2502 .vmux = 8, 2502 .vmux = 8,
2503 .amux = LINE2, 2503 .amux = LINE2,
2504 }}, 2504 } },
2505 .radio = { 2505 .radio = {
2506 .name = name_radio, 2506 .name = name_radio,
2507 .amux = LINE1, 2507 .amux = TV,
2508 .gpio = 0x0200000,
2508 }, 2509 },
2509 }, 2510 },
2510 [SAA7134_BOARD_ASUSTeK_P7131_DUAL] = { 2511 [SAA7134_BOARD_ASUSTeK_P7131_DUAL] = {
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
index 52baa4f7f7d..58ab163fdbd 100644
--- a/drivers/media/video/saa7134/saa7134-core.c
+++ b/drivers/media/video/saa7134/saa7134-core.c
@@ -1022,12 +1022,13 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,
1022 saa7134_i2c_register(dev); 1022 saa7134_i2c_register(dev);
1023 1023
1024 /* initialize hardware #2 */ 1024 /* initialize hardware #2 */
1025 if (TUNER_ABSENT != dev->tuner_type)
1026 request_module("tuner");
1025 saa7134_board_init2(dev); 1027 saa7134_board_init2(dev);
1028
1026 saa7134_hwinit2(dev); 1029 saa7134_hwinit2(dev);
1027 1030
1028 /* load i2c helpers */ 1031 /* load i2c helpers */
1029 if (TUNER_ABSENT != dev->tuner_type)
1030 request_module("tuner");
1031 if (card_is_empress(dev)) { 1032 if (card_is_empress(dev)) {
1032 request_module("saa6752hs"); 1033 request_module("saa6752hs");
1033 } 1034 }
diff --git a/drivers/media/video/saa7185.c b/drivers/media/video/saa7185.c
index 66cc92c0ea6..41f70440fd3 100644
--- a/drivers/media/video/saa7185.c
+++ b/drivers/media/video/saa7185.c
@@ -403,7 +403,7 @@ saa7185_detect_client (struct i2c_adapter *adapter,
403 return 0; 403 return 0;
404 404
405 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 405 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
406 if (client == 0) 406 if (!client)
407 return -ENOMEM; 407 return -ENOMEM;
408 client->addr = address; 408 client->addr = address;
409 client->adapter = adapter; 409 client->adapter = adapter;
diff --git a/drivers/media/video/tda9840.c b/drivers/media/video/tda9840.c
index ef494febb5e..bdca5d27897 100644
--- a/drivers/media/video/tda9840.c
+++ b/drivers/media/video/tda9840.c
@@ -172,7 +172,7 @@ static int detect(struct i2c_adapter *adapter, int address, int kind)
172 172
173 /* allocate memory for client structure */ 173 /* allocate memory for client structure */
174 client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL); 174 client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
175 if (0 == client) { 175 if (!client) {
176 printk("not enough kernel memory\n"); 176 printk("not enough kernel memory\n");
177 return -ENOMEM; 177 return -ENOMEM;
178 } 178 }
diff --git a/drivers/media/video/tea6415c.c b/drivers/media/video/tea6415c.c
index 523df0b8cc6..df2fad9f391 100644
--- a/drivers/media/video/tea6415c.c
+++ b/drivers/media/video/tea6415c.c
@@ -64,7 +64,7 @@ static int detect(struct i2c_adapter *adapter, int address, int kind)
64 64
65 /* allocate memory for client structure */ 65 /* allocate memory for client structure */
66 client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL); 66 client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
67 if (0 == client) { 67 if (!client) {
68 return -ENOMEM; 68 return -ENOMEM;
69 } 69 }
70 70
diff --git a/drivers/media/video/tea6420.c b/drivers/media/video/tea6420.c
index ca05cd65508..4ff6c63f723 100644
--- a/drivers/media/video/tea6420.c
+++ b/drivers/media/video/tea6420.c
@@ -101,7 +101,7 @@ static int tea6420_detect(struct i2c_adapter *adapter, int address, int kind)
101 101
102 /* allocate memory for client structure */ 102 /* allocate memory for client structure */
103 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); 103 client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
104 if (0 == client) { 104 if (!client) {
105 return -ENOMEM; 105 return -ENOMEM;
106 } 106 }
107 107
diff --git a/drivers/media/video/tvp5150.c b/drivers/media/video/tvp5150.c
index 445eba4174d..b6e24e714a2 100644
--- a/drivers/media/video/tvp5150.c
+++ b/drivers/media/video/tvp5150.c
@@ -672,7 +672,7 @@ static int tvp5150_set_vbi(struct i2c_client *c,
672 if (std == V4L2_STD_ALL) { 672 if (std == V4L2_STD_ALL) {
673 tvp5150_err("VBI can't be configured without knowing number of lines\n"); 673 tvp5150_err("VBI can't be configured without knowing number of lines\n");
674 return 0; 674 return 0;
675 } else if (std && V4L2_STD_625_50) { 675 } else if (std & V4L2_STD_625_50) {
676 /* Don't follow NTSC Line number convension */ 676 /* Don't follow NTSC Line number convension */
677 line += 3; 677 line += 3;
678 } 678 }
@@ -719,7 +719,7 @@ static int tvp5150_get_vbi(struct i2c_client *c,
719 if (std == V4L2_STD_ALL) { 719 if (std == V4L2_STD_ALL) {
720 tvp5150_err("VBI can't be configured without knowing number of lines\n"); 720 tvp5150_err("VBI can't be configured without knowing number of lines\n");
721 return 0; 721 return 0;
722 } else if (std && V4L2_STD_625_50) { 722 } else if (std & V4L2_STD_625_50) {
723 /* Don't follow NTSC Line number convension */ 723 /* Don't follow NTSC Line number convension */
724 line += 3; 724 line += 3;
725 } 725 }
@@ -1072,12 +1072,12 @@ static int tvp5150_detect_client(struct i2c_adapter *adapter,
1072 return 0; 1072 return 0;
1073 1073
1074 c = kmalloc(sizeof(struct i2c_client), GFP_KERNEL); 1074 c = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
1075 if (c == 0) 1075 if (!c)
1076 return -ENOMEM; 1076 return -ENOMEM;
1077 memcpy(c, &client_template, sizeof(struct i2c_client)); 1077 memcpy(c, &client_template, sizeof(struct i2c_client));
1078 1078
1079 core = kzalloc(sizeof(struct tvp5150), GFP_KERNEL); 1079 core = kzalloc(sizeof(struct tvp5150), GFP_KERNEL);
1080 if (core == 0) { 1080 if (!core) {
1081 kfree(c); 1081 kfree(c);
1082 return -ENOMEM; 1082 return -ENOMEM;
1083 } 1083 }
diff --git a/drivers/media/video/usbvideo/usbvideo.c b/drivers/media/video/usbvideo/usbvideo.c
index fb434b5602a..5d363be7bc7 100644
--- a/drivers/media/video/usbvideo/usbvideo.c
+++ b/drivers/media/video/usbvideo/usbvideo.c
@@ -1034,6 +1034,11 @@ int usbvideo_RegisterVideoDevice(struct uvd *uvd)
1034 info("%s: iface=%d. endpoint=$%02x paletteBits=$%08lx", 1034 info("%s: iface=%d. endpoint=$%02x paletteBits=$%08lx",
1035 __FUNCTION__, uvd->iface, uvd->video_endp, uvd->paletteBits); 1035 __FUNCTION__, uvd->iface, uvd->video_endp, uvd->paletteBits);
1036 } 1036 }
1037 if (uvd->dev == NULL) {
1038 err("%s: uvd->dev == NULL", __FUNCTION__);
1039 return -EINVAL;
1040 }
1041 uvd->vdev.dev=&(uvd->dev->dev);
1037 if (video_register_device(&uvd->vdev, VFL_TYPE_GRABBER, video_nr) == -1) { 1042 if (video_register_device(&uvd->vdev, VFL_TYPE_GRABBER, video_nr) == -1) {
1038 err("%s: video_register_device failed", __FUNCTION__); 1043 err("%s: video_register_device failed", __FUNCTION__);
1039 return -EPIPE; 1044 return -EPIPE;
@@ -1041,10 +1046,6 @@ int usbvideo_RegisterVideoDevice(struct uvd *uvd)
1041 if (uvd->debug > 1) { 1046 if (uvd->debug > 1) {
1042 info("%s: video_register_device() successful", __FUNCTION__); 1047 info("%s: video_register_device() successful", __FUNCTION__);
1043 } 1048 }
1044 if (uvd->dev == NULL) {
1045 err("%s: uvd->dev == NULL", __FUNCTION__);
1046 return -EINVAL;
1047 }
1048 1049
1049 info("%s on /dev/video%d: canvas=%s videosize=%s", 1050 info("%s on /dev/video%d: canvas=%s videosize=%s",
1050 (uvd->handle != NULL) ? uvd->handle->drvName : "???", 1051 (uvd->handle != NULL) ? uvd->handle->drvName : "???",
diff --git a/drivers/media/video/v4l1-compat.c b/drivers/media/video/v4l1-compat.c
index dcf22a3b672..50e1ff9f2be 100644
--- a/drivers/media/video/v4l1-compat.c
+++ b/drivers/media/video/v4l1-compat.c
@@ -303,7 +303,11 @@ v4l_compat_translate_ioctl(struct inode *inode,
303 { 303 {
304 struct video_capability *cap = arg; 304 struct video_capability *cap = arg;
305 305
306 cap2 = kzalloc(sizeof(*cap2),GFP_KERNEL); 306 cap2 = kzalloc(sizeof(*cap2), GFP_KERNEL);
307 if (!cap2) {
308 err = -ENOMEM;
309 break;
310 }
307 memset(cap, 0, sizeof(*cap)); 311 memset(cap, 0, sizeof(*cap));
308 memset(&fbuf2, 0, sizeof(fbuf2)); 312 memset(&fbuf2, 0, sizeof(fbuf2));
309 313
@@ -426,7 +430,11 @@ v4l_compat_translate_ioctl(struct inode *inode,
426 { 430 {
427 struct video_window *win = arg; 431 struct video_window *win = arg;
428 432
429 fmt2 = kzalloc(sizeof(*fmt2),GFP_KERNEL); 433 fmt2 = kzalloc(sizeof(*fmt2), GFP_KERNEL);
434 if (!fmt2) {
435 err = -ENOMEM;
436 break;
437 }
430 memset(win,0,sizeof(*win)); 438 memset(win,0,sizeof(*win));
431 439
432 fmt2->type = V4L2_BUF_TYPE_VIDEO_OVERLAY; 440 fmt2->type = V4L2_BUF_TYPE_VIDEO_OVERLAY;
@@ -464,7 +472,11 @@ v4l_compat_translate_ioctl(struct inode *inode,
464 struct video_window *win = arg; 472 struct video_window *win = arg;
465 int err1,err2; 473 int err1,err2;
466 474
467 fmt2 = kzalloc(sizeof(*fmt2),GFP_KERNEL); 475 fmt2 = kzalloc(sizeof(*fmt2), GFP_KERNEL);
476 if (!fmt2) {
477 err = -ENOMEM;
478 break;
479 }
468 fmt2->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 480 fmt2->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
469 drv(inode, file, VIDIOC_STREAMOFF, &fmt2->type); 481 drv(inode, file, VIDIOC_STREAMOFF, &fmt2->type);
470 err1 = drv(inode, file, VIDIOC_G_FMT, fmt2); 482 err1 = drv(inode, file, VIDIOC_G_FMT, fmt2);
@@ -586,6 +598,12 @@ v4l_compat_translate_ioctl(struct inode *inode,
586 { 598 {
587 struct video_picture *pict = arg; 599 struct video_picture *pict = arg;
588 600
601 fmt2 = kzalloc(sizeof(*fmt2), GFP_KERNEL);
602 if (!fmt2) {
603 err = -ENOMEM;
604 break;
605 }
606
589 pict->brightness = get_v4l_control(inode, file, 607 pict->brightness = get_v4l_control(inode, file,
590 V4L2_CID_BRIGHTNESS,drv); 608 V4L2_CID_BRIGHTNESS,drv);
591 pict->hue = get_v4l_control(inode, file, 609 pict->hue = get_v4l_control(inode, file,
@@ -597,7 +615,6 @@ v4l_compat_translate_ioctl(struct inode *inode,
597 pict->whiteness = get_v4l_control(inode, file, 615 pict->whiteness = get_v4l_control(inode, file,
598 V4L2_CID_WHITENESS, drv); 616 V4L2_CID_WHITENESS, drv);
599 617
600 fmt2 = kzalloc(sizeof(*fmt2),GFP_KERNEL);
601 fmt2->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 618 fmt2->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
602 err = drv(inode, file, VIDIOC_G_FMT, fmt2); 619 err = drv(inode, file, VIDIOC_G_FMT, fmt2);
603 if (err < 0) { 620 if (err < 0) {
@@ -617,6 +634,11 @@ v4l_compat_translate_ioctl(struct inode *inode,
617 struct video_picture *pict = arg; 634 struct video_picture *pict = arg;
618 int mem_err = 0, ovl_err = 0; 635 int mem_err = 0, ovl_err = 0;
619 636
637 fmt2 = kzalloc(sizeof(*fmt2), GFP_KERNEL);
638 if (!fmt2) {
639 err = -ENOMEM;
640 break;
641 }
620 memset(&fbuf2, 0, sizeof(fbuf2)); 642 memset(&fbuf2, 0, sizeof(fbuf2));
621 643
622 set_v4l_control(inode, file, 644 set_v4l_control(inode, file,
@@ -636,7 +658,6 @@ v4l_compat_translate_ioctl(struct inode *inode,
636 * different pixel formats for memory vs overlay. 658 * different pixel formats for memory vs overlay.
637 */ 659 */
638 660
639 fmt2 = kzalloc(sizeof(*fmt2),GFP_KERNEL);
640 fmt2->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 661 fmt2->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
641 err = drv(inode, file, VIDIOC_G_FMT, fmt2); 662 err = drv(inode, file, VIDIOC_G_FMT, fmt2);
642 /* If VIDIOC_G_FMT failed, then the driver likely doesn't 663 /* If VIDIOC_G_FMT failed, then the driver likely doesn't
@@ -890,7 +911,11 @@ v4l_compat_translate_ioctl(struct inode *inode,
890 { 911 {
891 struct video_mmap *mm = arg; 912 struct video_mmap *mm = arg;
892 913
893 fmt2 = kzalloc(sizeof(*fmt2),GFP_KERNEL); 914 fmt2 = kzalloc(sizeof(*fmt2), GFP_KERNEL);
915 if (!fmt2) {
916 err = -ENOMEM;
917 break;
918 }
894 memset(&buf2,0,sizeof(buf2)); 919 memset(&buf2,0,sizeof(buf2));
895 920
896 fmt2->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 921 fmt2->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
@@ -986,7 +1011,11 @@ v4l_compat_translate_ioctl(struct inode *inode,
986 { 1011 {
987 struct vbi_format *fmt = arg; 1012 struct vbi_format *fmt = arg;
988 1013
989 fmt2 = kzalloc(sizeof(*fmt2),GFP_KERNEL); 1014 fmt2 = kzalloc(sizeof(*fmt2), GFP_KERNEL);
1015 if (!fmt2) {
1016 err = -ENOMEM;
1017 break;
1018 }
990 fmt2->type = V4L2_BUF_TYPE_VBI_CAPTURE; 1019 fmt2->type = V4L2_BUF_TYPE_VBI_CAPTURE;
991 1020
992 err = drv(inode, file, VIDIOC_G_FMT, fmt2); 1021 err = drv(inode, file, VIDIOC_G_FMT, fmt2);
@@ -1018,8 +1047,11 @@ v4l_compat_translate_ioctl(struct inode *inode,
1018 break; 1047 break;
1019 } 1048 }
1020 1049
1021 fmt2 = kzalloc(sizeof(*fmt2),GFP_KERNEL); 1050 fmt2 = kzalloc(sizeof(*fmt2), GFP_KERNEL);
1022 1051 if (!fmt2) {
1052 err = -ENOMEM;
1053 break;
1054 }
1023 fmt2->type = V4L2_BUF_TYPE_VBI_CAPTURE; 1055 fmt2->type = V4L2_BUF_TYPE_VBI_CAPTURE;
1024 fmt2->fmt.vbi.samples_per_line = fmt->samples_per_line; 1056 fmt2->fmt.vbi.samples_per_line = fmt->samples_per_line;
1025 fmt2->fmt.vbi.sampling_rate = fmt->sampling_rate; 1057 fmt2->fmt.vbi.sampling_rate = fmt->sampling_rate;
diff --git a/drivers/media/video/v4l2-int-device.c b/drivers/media/video/v4l2-int-device.c
index a545dcaf857..0e4549922f2 100644
--- a/drivers/media/video/v4l2-int-device.c
+++ b/drivers/media/video/v4l2-int-device.c
@@ -156,3 +156,5 @@ int v4l2_int_ioctl_1(struct v4l2_int_device *d, int cmd, void *arg)
156 find_ioctl(d->u.slave, cmd, 156 find_ioctl(d->u.slave, cmd,
157 (v4l2_int_ioctl_func *)no_such_ioctl_1))(d, arg); 157 (v4l2_int_ioctl_func *)no_such_ioctl_1))(d, arg);
158} 158}
159
160MODULE_LICENSE("GPL");
diff --git a/drivers/media/video/zoran_driver.c b/drivers/media/video/zoran_driver.c
index dd3d7d2c8b0..fea4946ee71 100644
--- a/drivers/media/video/zoran_driver.c
+++ b/drivers/media/video/zoran_driver.c
@@ -339,7 +339,7 @@ v4l_fbuffer_alloc (struct file *file)
339 /* Use kmalloc */ 339 /* Use kmalloc */
340 340
341 mem = kmalloc(fh->v4l_buffers.buffer_size, GFP_KERNEL); 341 mem = kmalloc(fh->v4l_buffers.buffer_size, GFP_KERNEL);
342 if (mem == 0) { 342 if (!mem) {
343 dprintk(1, 343 dprintk(1,
344 KERN_ERR 344 KERN_ERR
345 "%s: v4l_fbuffer_alloc() - kmalloc for V4L buf %d failed\n", 345 "%s: v4l_fbuffer_alloc() - kmalloc for V4L buf %d failed\n",
diff --git a/drivers/media/video/zr364xx.c b/drivers/media/video/zr364xx.c
index 1b44784d0ef..04949c82365 100644
--- a/drivers/media/video/zr364xx.c
+++ b/drivers/media/video/zr364xx.c
@@ -390,7 +390,7 @@ static int read_frame(struct zr364xx_camera *cam, int framenum)
390} 390}
391 391
392 392
393static ssize_t zr364xx_read(struct file *file, char *buf, size_t cnt, 393static ssize_t zr364xx_read(struct file *file, char __user *buf, size_t cnt,
394 loff_t * ppos) 394 loff_t * ppos)
395{ 395{
396 unsigned long count = cnt; 396 unsigned long count = cnt;
diff --git a/drivers/memstick/core/memstick.c b/drivers/memstick/core/memstick.c
index de80dba12f9..946e3d3506a 100644
--- a/drivers/memstick/core/memstick.c
+++ b/drivers/memstick/core/memstick.c
@@ -276,8 +276,6 @@ void memstick_init_req_sg(struct memstick_request *mrq, unsigned char tpc,
276 mrq->need_card_int = 1; 276 mrq->need_card_int = 1;
277 else 277 else
278 mrq->need_card_int = 0; 278 mrq->need_card_int = 0;
279
280 mrq->get_int_reg = 0;
281} 279}
282EXPORT_SYMBOL(memstick_init_req_sg); 280EXPORT_SYMBOL(memstick_init_req_sg);
283 281
@@ -311,8 +309,6 @@ void memstick_init_req(struct memstick_request *mrq, unsigned char tpc,
311 mrq->need_card_int = 1; 309 mrq->need_card_int = 1;
312 else 310 else
313 mrq->need_card_int = 0; 311 mrq->need_card_int = 0;
314
315 mrq->get_int_reg = 0;
316} 312}
317EXPORT_SYMBOL(memstick_init_req); 313EXPORT_SYMBOL(memstick_init_req);
318 314
@@ -342,6 +338,7 @@ static int h_memstick_read_dev_id(struct memstick_dev *card,
342 card->id.class = id_reg.class; 338 card->id.class = id_reg.class;
343 } 339 }
344 complete(&card->mrq_complete); 340 complete(&card->mrq_complete);
341 dev_dbg(&card->dev, "if_mode = %02x\n", id_reg.if_mode);
345 return -EAGAIN; 342 return -EAGAIN;
346 } 343 }
347} 344}
@@ -422,7 +419,6 @@ static void memstick_power_on(struct memstick_host *host)
422{ 419{
423 host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_ON); 420 host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_ON);
424 host->set_param(host, MEMSTICK_INTERFACE, MEMSTICK_SERIAL); 421 host->set_param(host, MEMSTICK_INTERFACE, MEMSTICK_SERIAL);
425 msleep(1);
426} 422}
427 423
428static void memstick_check(struct work_struct *work) 424static void memstick_check(struct work_struct *work)
@@ -579,7 +575,8 @@ EXPORT_SYMBOL(memstick_suspend_host);
579void memstick_resume_host(struct memstick_host *host) 575void memstick_resume_host(struct memstick_host *host)
580{ 576{
581 mutex_lock(&host->lock); 577 mutex_lock(&host->lock);
582 host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_ON); 578 if (host->card)
579 memstick_power_on(host);
583 mutex_unlock(&host->lock); 580 mutex_unlock(&host->lock);
584 memstick_detect_change(host); 581 memstick_detect_change(host);
585} 582}
diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/mspro_block.c
index 1d637e4561d..557dbbba5cb 100644
--- a/drivers/memstick/core/mspro_block.c
+++ b/drivers/memstick/core/mspro_block.c
@@ -133,6 +133,7 @@ struct mspro_devinfo {
133struct mspro_block_data { 133struct mspro_block_data {
134 struct memstick_dev *card; 134 struct memstick_dev *card;
135 unsigned int usage_count; 135 unsigned int usage_count;
136 unsigned int caps;
136 struct gendisk *disk; 137 struct gendisk *disk;
137 struct request_queue *queue; 138 struct request_queue *queue;
138 spinlock_t q_lock; 139 spinlock_t q_lock;
@@ -577,7 +578,6 @@ static int h_mspro_block_wait_for_ced(struct memstick_dev *card,
577static int h_mspro_block_transfer_data(struct memstick_dev *card, 578static int h_mspro_block_transfer_data(struct memstick_dev *card,
578 struct memstick_request **mrq) 579 struct memstick_request **mrq)
579{ 580{
580 struct memstick_host *host = card->host;
581 struct mspro_block_data *msb = memstick_get_drvdata(card); 581 struct mspro_block_data *msb = memstick_get_drvdata(card);
582 unsigned char t_val = 0; 582 unsigned char t_val = 0;
583 struct scatterlist t_sg = { 0 }; 583 struct scatterlist t_sg = { 0 };
@@ -591,12 +591,12 @@ static int h_mspro_block_transfer_data(struct memstick_dev *card,
591 switch ((*mrq)->tpc) { 591 switch ((*mrq)->tpc) {
592 case MS_TPC_WRITE_REG: 592 case MS_TPC_WRITE_REG:
593 memstick_init_req(*mrq, MS_TPC_SET_CMD, &msb->transfer_cmd, 1); 593 memstick_init_req(*mrq, MS_TPC_SET_CMD, &msb->transfer_cmd, 1);
594 (*mrq)->get_int_reg = 1; 594 (*mrq)->need_card_int = 1;
595 return 0; 595 return 0;
596 case MS_TPC_SET_CMD: 596 case MS_TPC_SET_CMD:
597 t_val = (*mrq)->int_reg; 597 t_val = (*mrq)->int_reg;
598 memstick_init_req(*mrq, MS_TPC_GET_INT, NULL, 1); 598 memstick_init_req(*mrq, MS_TPC_GET_INT, NULL, 1);
599 if (host->caps & MEMSTICK_CAP_AUTO_GET_INT) 599 if (msb->caps & MEMSTICK_CAP_AUTO_GET_INT)
600 goto has_int_reg; 600 goto has_int_reg;
601 return 0; 601 return 0;
602 case MS_TPC_GET_INT: 602 case MS_TPC_GET_INT:
@@ -646,12 +646,12 @@ has_int_reg:
646 ? MS_TPC_READ_LONG_DATA 646 ? MS_TPC_READ_LONG_DATA
647 : MS_TPC_WRITE_LONG_DATA, 647 : MS_TPC_WRITE_LONG_DATA,
648 &t_sg); 648 &t_sg);
649 (*mrq)->get_int_reg = 1; 649 (*mrq)->need_card_int = 1;
650 return 0; 650 return 0;
651 case MS_TPC_READ_LONG_DATA: 651 case MS_TPC_READ_LONG_DATA:
652 case MS_TPC_WRITE_LONG_DATA: 652 case MS_TPC_WRITE_LONG_DATA:
653 msb->current_page++; 653 msb->current_page++;
654 if (host->caps & MEMSTICK_CAP_AUTO_GET_INT) { 654 if (msb->caps & MEMSTICK_CAP_AUTO_GET_INT) {
655 t_val = (*mrq)->int_reg; 655 t_val = (*mrq)->int_reg;
656 goto has_int_reg; 656 goto has_int_reg;
657 } else { 657 } else {
@@ -816,12 +816,13 @@ static int mspro_block_wait_for_ced(struct memstick_dev *card)
816 return card->current_mrq.error; 816 return card->current_mrq.error;
817} 817}
818 818
819static int mspro_block_switch_to_parallel(struct memstick_dev *card) 819static int mspro_block_set_interface(struct memstick_dev *card,
820 unsigned char sys_reg)
820{ 821{
821 struct memstick_host *host = card->host; 822 struct memstick_host *host = card->host;
822 struct mspro_block_data *msb = memstick_get_drvdata(card); 823 struct mspro_block_data *msb = memstick_get_drvdata(card);
823 struct mspro_param_register param = { 824 struct mspro_param_register param = {
824 .system = MEMSTICK_SYS_PAR4, 825 .system = sys_reg,
825 .data_count = 0, 826 .data_count = 0,
826 .data_address = 0, 827 .data_address = 0,
827 .tpc_param = 0 828 .tpc_param = 0
@@ -833,41 +834,70 @@ static int mspro_block_switch_to_parallel(struct memstick_dev *card)
833 sizeof(param)); 834 sizeof(param));
834 memstick_new_req(host); 835 memstick_new_req(host);
835 wait_for_completion(&card->mrq_complete); 836 wait_for_completion(&card->mrq_complete);
836 if (card->current_mrq.error) 837 return card->current_mrq.error;
837 return card->current_mrq.error; 838}
839
840static int mspro_block_switch_interface(struct memstick_dev *card)
841{
842 struct memstick_host *host = card->host;
843 struct mspro_block_data *msb = memstick_get_drvdata(card);
844 int rc = 0;
845
846 if (msb->caps & MEMSTICK_CAP_PAR4)
847 rc = mspro_block_set_interface(card, MEMSTICK_SYS_PAR4);
848 else
849 return 0;
850
851 if (rc) {
852 printk(KERN_WARNING
853 "%s: could not switch to 4-bit mode, error %d\n",
854 card->dev.bus_id, rc);
855 return 0;
856 }
838 857
839 msb->system = MEMSTICK_SYS_PAR4; 858 msb->system = MEMSTICK_SYS_PAR4;
840 host->set_param(host, MEMSTICK_INTERFACE, MEMSTICK_PAR4); 859 host->set_param(host, MEMSTICK_INTERFACE, MEMSTICK_PAR4);
860 printk(KERN_INFO "%s: switching to 4-bit parallel mode\n",
861 card->dev.bus_id);
862
863 if (msb->caps & MEMSTICK_CAP_PAR8) {
864 rc = mspro_block_set_interface(card, MEMSTICK_SYS_PAR8);
865
866 if (!rc) {
867 msb->system = MEMSTICK_SYS_PAR8;
868 host->set_param(host, MEMSTICK_INTERFACE,
869 MEMSTICK_PAR8);
870 printk(KERN_INFO
871 "%s: switching to 8-bit parallel mode\n",
872 card->dev.bus_id);
873 } else
874 printk(KERN_WARNING
875 "%s: could not switch to 8-bit mode, error %d\n",
876 card->dev.bus_id, rc);
877 }
841 878
842 card->next_request = h_mspro_block_req_init; 879 card->next_request = h_mspro_block_req_init;
843 msb->mrq_handler = h_mspro_block_default; 880 msb->mrq_handler = h_mspro_block_default;
844 memstick_init_req(&card->current_mrq, MS_TPC_GET_INT, NULL, 1); 881 memstick_init_req(&card->current_mrq, MS_TPC_GET_INT, NULL, 1);
845 memstick_new_req(card->host); 882 memstick_new_req(card->host);
846 wait_for_completion(&card->mrq_complete); 883 wait_for_completion(&card->mrq_complete);
884 rc = card->current_mrq.error;
847 885
848 if (card->current_mrq.error) { 886 if (rc) {
887 printk(KERN_WARNING
888 "%s: interface error, trying to fall back to serial\n",
889 card->dev.bus_id);
849 msb->system = MEMSTICK_SYS_SERIAL; 890 msb->system = MEMSTICK_SYS_SERIAL;
850 host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_OFF); 891 host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_OFF);
851 msleep(1000); 892 msleep(10);
852 host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_ON); 893 host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_ON);
853 host->set_param(host, MEMSTICK_INTERFACE, MEMSTICK_SERIAL); 894 host->set_param(host, MEMSTICK_INTERFACE, MEMSTICK_SERIAL);
854 895
855 if (memstick_set_rw_addr(card)) 896 rc = memstick_set_rw_addr(card);
856 return card->current_mrq.error; 897 if (!rc)
857 898 rc = mspro_block_set_interface(card, msb->system);
858 param.system = msb->system;
859
860 card->next_request = h_mspro_block_req_init;
861 msb->mrq_handler = h_mspro_block_default;
862 memstick_init_req(&card->current_mrq, MS_TPC_WRITE_REG, &param,
863 sizeof(param));
864 memstick_new_req(host);
865 wait_for_completion(&card->mrq_complete);
866
867 return -EFAULT;
868 } 899 }
869 900 return rc;
870 return 0;
871} 901}
872 902
873/* Memory allocated for attributes by this function should be freed by 903/* Memory allocated for attributes by this function should be freed by
@@ -1052,16 +1082,18 @@ static int mspro_block_init_card(struct memstick_dev *card)
1052 if (memstick_set_rw_addr(card)) 1082 if (memstick_set_rw_addr(card))
1053 return -EIO; 1083 return -EIO;
1054 1084
1055 if (host->caps & MEMSTICK_CAP_PAR4) { 1085 msb->caps = host->caps;
1056 if (mspro_block_switch_to_parallel(card)) 1086 rc = mspro_block_switch_interface(card);
1057 printk(KERN_WARNING "%s: could not switch to " 1087 if (rc)
1058 "parallel interface\n", card->dev.bus_id); 1088 return rc;
1059 }
1060 1089
1090 msleep(200);
1061 rc = mspro_block_wait_for_ced(card); 1091 rc = mspro_block_wait_for_ced(card);
1062 if (rc) 1092 if (rc)
1063 return rc; 1093 return rc;
1064 dev_dbg(&card->dev, "card activated\n"); 1094 dev_dbg(&card->dev, "card activated\n");
1095 if (msb->system != MEMSTICK_SYS_SERIAL)
1096 msb->caps |= MEMSTICK_CAP_AUTO_GET_INT;
1065 1097
1066 card->next_request = h_mspro_block_req_init; 1098 card->next_request = h_mspro_block_req_init;
1067 msb->mrq_handler = h_mspro_block_get_ro; 1099 msb->mrq_handler = h_mspro_block_get_ro;
diff --git a/drivers/memstick/host/jmb38x_ms.c b/drivers/memstick/host/jmb38x_ms.c
index 03fe8783b1e..8770a5fac3b 100644
--- a/drivers/memstick/host/jmb38x_ms.c
+++ b/drivers/memstick/host/jmb38x_ms.c
@@ -12,6 +12,7 @@
12#include <linux/spinlock.h> 12#include <linux/spinlock.h>
13#include <linux/interrupt.h> 13#include <linux/interrupt.h>
14#include <linux/pci.h> 14#include <linux/pci.h>
15#include <linux/dma-mapping.h>
15#include <linux/delay.h> 16#include <linux/delay.h>
16#include <linux/highmem.h> 17#include <linux/highmem.h>
17#include <linux/memstick.h> 18#include <linux/memstick.h>
@@ -56,8 +57,6 @@ struct jmb38x_ms_host {
56 unsigned long timeout_jiffies; 57 unsigned long timeout_jiffies;
57 struct timer_list timer; 58 struct timer_list timer;
58 struct memstick_request *req; 59 struct memstick_request *req;
59 unsigned char eject:1,
60 use_dma:1;
61 unsigned char cmd_flags; 60 unsigned char cmd_flags;
62 unsigned char io_pos; 61 unsigned char io_pos;
63 unsigned int io_word[2]; 62 unsigned int io_word[2];
@@ -94,9 +93,22 @@ struct jmb38x_ms {
94#define HOST_CONTROL_IF_PAR4 0x1 93#define HOST_CONTROL_IF_PAR4 0x1
95#define HOST_CONTROL_IF_PAR8 0x3 94#define HOST_CONTROL_IF_PAR8 0x3
96 95
96#define STATUS_BUSY 0x00080000
97#define STATUS_MS_DAT7 0x00040000
98#define STATUS_MS_DAT6 0x00020000
99#define STATUS_MS_DAT5 0x00010000
100#define STATUS_MS_DAT4 0x00008000
101#define STATUS_MS_DAT3 0x00004000
102#define STATUS_MS_DAT2 0x00002000
103#define STATUS_MS_DAT1 0x00001000
104#define STATUS_MS_DAT0 0x00000800
97#define STATUS_HAS_MEDIA 0x00000400 105#define STATUS_HAS_MEDIA 0x00000400
98#define STATUS_FIFO_EMPTY 0x00000200 106#define STATUS_FIFO_EMPTY 0x00000200
99#define STATUS_FIFO_FULL 0x00000100 107#define STATUS_FIFO_FULL 0x00000100
108#define STATUS_MS_CED 0x00000080
109#define STATUS_MS_ERR 0x00000040
110#define STATUS_MS_BRQ 0x00000020
111#define STATUS_MS_CNK 0x00000001
100 112
101#define INT_STATUS_TPC_ERR 0x00080000 113#define INT_STATUS_TPC_ERR 0x00080000
102#define INT_STATUS_CRC_ERR 0x00040000 114#define INT_STATUS_CRC_ERR 0x00040000
@@ -119,11 +131,17 @@ struct jmb38x_ms {
119#define PAD_PU_PD_ON_MS_SOCK0 0x5f8f0000 131#define PAD_PU_PD_ON_MS_SOCK0 0x5f8f0000
120#define PAD_PU_PD_ON_MS_SOCK1 0x0f0f0000 132#define PAD_PU_PD_ON_MS_SOCK1 0x0f0f0000
121 133
134#define CLOCK_CONTROL_40MHZ 0x00000001
135#define CLOCK_CONTROL_50MHZ 0x00000002
136#define CLOCK_CONTROL_60MHZ 0x00000008
137#define CLOCK_CONTROL_62_5MHZ 0x0000000c
138#define CLOCK_CONTROL_OFF 0x00000000
139
122enum { 140enum {
123 CMD_READY = 0x01, 141 CMD_READY = 0x01,
124 FIFO_READY = 0x02, 142 FIFO_READY = 0x02,
125 REG_DATA = 0x04, 143 REG_DATA = 0x04,
126 AUTO_GET_INT = 0x08 144 DMA_DATA = 0x08
127}; 145};
128 146
129static unsigned int jmb38x_ms_read_data(struct jmb38x_ms_host *host, 147static unsigned int jmb38x_ms_read_data(struct jmb38x_ms_host *host,
@@ -273,7 +291,7 @@ static int jmb38x_ms_transfer_data(struct jmb38x_ms_host *host)
273{ 291{
274 unsigned int length; 292 unsigned int length;
275 unsigned int off; 293 unsigned int off;
276 unsigned int t_size, p_off, p_cnt; 294 unsigned int t_size, p_cnt;
277 unsigned char *buf; 295 unsigned char *buf;
278 struct page *pg; 296 struct page *pg;
279 unsigned long flags = 0; 297 unsigned long flags = 0;
@@ -287,6 +305,8 @@ static int jmb38x_ms_transfer_data(struct jmb38x_ms_host *host)
287 } 305 }
288 306
289 while (length) { 307 while (length) {
308 unsigned int uninitialized_var(p_off);
309
290 if (host->req->long_data) { 310 if (host->req->long_data) {
291 pg = nth_page(sg_page(&host->req->sg), 311 pg = nth_page(sg_page(&host->req->sg),
292 off >> PAGE_SHIFT); 312 off >> PAGE_SHIFT);
@@ -364,28 +384,27 @@ static int jmb38x_ms_issue_cmd(struct memstick_host *msh)
364 cmd |= TPC_DIR; 384 cmd |= TPC_DIR;
365 if (host->req->need_card_int) 385 if (host->req->need_card_int)
366 cmd |= TPC_WAIT_INT; 386 cmd |= TPC_WAIT_INT;
367 if (host->req->get_int_reg)
368 cmd |= TPC_GET_INT;
369 387
370 data = host->req->data; 388 data = host->req->data;
371 389
372 host->use_dma = !no_dma; 390 if (!no_dma)
391 host->cmd_flags |= DMA_DATA;
373 392
374 if (host->req->long_data) { 393 if (host->req->long_data) {
375 data_len = host->req->sg.length; 394 data_len = host->req->sg.length;
376 } else { 395 } else {
377 data_len = host->req->data_len; 396 data_len = host->req->data_len;
378 host->use_dma = 0; 397 host->cmd_flags &= ~DMA_DATA;
379 } 398 }
380 399
381 if (data_len <= 8) { 400 if (data_len <= 8) {
382 cmd &= ~(TPC_DATA_SEL | 0xf); 401 cmd &= ~(TPC_DATA_SEL | 0xf);
383 host->cmd_flags |= REG_DATA; 402 host->cmd_flags |= REG_DATA;
384 cmd |= data_len & 0xf; 403 cmd |= data_len & 0xf;
385 host->use_dma = 0; 404 host->cmd_flags &= ~DMA_DATA;
386 } 405 }
387 406
388 if (host->use_dma) { 407 if (host->cmd_flags & DMA_DATA) {
389 if (1 != pci_map_sg(host->chip->pdev, &host->req->sg, 1, 408 if (1 != pci_map_sg(host->chip->pdev, &host->req->sg, 1,
390 host->req->data_dir == READ 409 host->req->data_dir == READ
391 ? PCI_DMA_FROMDEVICE 410 ? PCI_DMA_FROMDEVICE
@@ -448,13 +467,12 @@ static void jmb38x_ms_complete_cmd(struct memstick_host *msh, int last)
448 readl(host->addr + INT_STATUS)); 467 readl(host->addr + INT_STATUS));
449 dev_dbg(msh->cdev.dev, "c hstatus %08x\n", readl(host->addr + STATUS)); 468 dev_dbg(msh->cdev.dev, "c hstatus %08x\n", readl(host->addr + STATUS));
450 469
451 if (host->req->get_int_reg) { 470 host->req->int_reg = readl(host->addr + STATUS) & 0xff;
452 t_val = readl(host->addr + TPC_P0); 471
453 host->req->int_reg = (t_val & 0xff); 472 writel(0, host->addr + BLOCK);
454 } 473 writel(0, host->addr + DMA_CONTROL);
455 474
456 if (host->use_dma) { 475 if (host->cmd_flags & DMA_DATA) {
457 writel(0, host->addr + DMA_CONTROL);
458 pci_unmap_sg(host->chip->pdev, &host->req->sg, 1, 476 pci_unmap_sg(host->chip->pdev, &host->req->sg, 1,
459 host->req->data_dir == READ 477 host->req->data_dir == READ
460 ? PCI_DMA_FROMDEVICE : PCI_DMA_TODEVICE); 478 ? PCI_DMA_FROMDEVICE : PCI_DMA_TODEVICE);
@@ -506,7 +524,7 @@ static irqreturn_t jmb38x_ms_isr(int irq, void *dev_id)
506 else 524 else
507 host->req->error = -ETIME; 525 host->req->error = -ETIME;
508 } else { 526 } else {
509 if (host->use_dma) { 527 if (host->cmd_flags & DMA_DATA) {
510 if (irq_status & INT_STATUS_EOTRAN) 528 if (irq_status & INT_STATUS_EOTRAN)
511 host->cmd_flags |= FIFO_READY; 529 host->cmd_flags |= FIFO_READY;
512 } else { 530 } else {
@@ -595,19 +613,18 @@ static void jmb38x_ms_reset(struct jmb38x_ms_host *host)
595{ 613{
596 unsigned int host_ctl = readl(host->addr + HOST_CONTROL); 614 unsigned int host_ctl = readl(host->addr + HOST_CONTROL);
597 615
598 writel(host_ctl | HOST_CONTROL_RESET_REQ | HOST_CONTROL_RESET, 616 writel(HOST_CONTROL_RESET_REQ, host->addr + HOST_CONTROL);
599 host->addr + HOST_CONTROL);
600 617
601 while (HOST_CONTROL_RESET_REQ 618 while (HOST_CONTROL_RESET_REQ
602 & (host_ctl = readl(host->addr + HOST_CONTROL))) { 619 & (host_ctl = readl(host->addr + HOST_CONTROL))) {
603 ndelay(100); 620 ndelay(20);
604 dev_dbg(&host->chip->pdev->dev, "reset\n"); 621 dev_dbg(&host->chip->pdev->dev, "reset %08x\n", host_ctl);
605 } 622 }
606 623
607 writel(INT_STATUS_ALL, host->addr + INT_STATUS_ENABLE); 624 writel(HOST_CONTROL_RESET, host->addr + HOST_CONTROL);
625 mmiowb();
608 writel(INT_STATUS_ALL, host->addr + INT_SIGNAL_ENABLE); 626 writel(INT_STATUS_ALL, host->addr + INT_SIGNAL_ENABLE);
609 627 writel(INT_STATUS_ALL, host->addr + INT_STATUS_ENABLE);
610 dev_dbg(&host->chip->pdev->dev, "reset\n");
611} 628}
612 629
613static void jmb38x_ms_set_param(struct memstick_host *msh, 630static void jmb38x_ms_set_param(struct memstick_host *msh,
@@ -615,10 +632,8 @@ static void jmb38x_ms_set_param(struct memstick_host *msh,
615 int value) 632 int value)
616{ 633{
617 struct jmb38x_ms_host *host = memstick_priv(msh); 634 struct jmb38x_ms_host *host = memstick_priv(msh);
618 unsigned int host_ctl; 635 unsigned int host_ctl = readl(host->addr + HOST_CONTROL);
619 unsigned long flags; 636 unsigned int clock_ctl = CLOCK_CONTROL_40MHZ, clock_delay = 0;
620
621 spin_lock_irqsave(&host->lock, flags);
622 637
623 switch (param) { 638 switch (param) {
624 case MEMSTICK_POWER: 639 case MEMSTICK_POWER:
@@ -626,60 +641,57 @@ static void jmb38x_ms_set_param(struct memstick_host *msh,
626 jmb38x_ms_reset(host); 641 jmb38x_ms_reset(host);
627 642
628 writel(host->id ? PAD_PU_PD_ON_MS_SOCK1 643 writel(host->id ? PAD_PU_PD_ON_MS_SOCK1
629 : PAD_PU_PD_ON_MS_SOCK0, 644 : PAD_PU_PD_ON_MS_SOCK0,
630 host->addr + PAD_PU_PD); 645 host->addr + PAD_PU_PD);
631 646
632 writel(PAD_OUTPUT_ENABLE_MS, 647 writel(PAD_OUTPUT_ENABLE_MS,
633 host->addr + PAD_OUTPUT_ENABLE); 648 host->addr + PAD_OUTPUT_ENABLE);
634 649
635 host_ctl = readl(host->addr + HOST_CONTROL); 650 host_ctl = 7;
636 host_ctl |= 7; 651 host_ctl |= HOST_CONTROL_POWER_EN
637 writel(host_ctl | (HOST_CONTROL_POWER_EN 652 | HOST_CONTROL_CLOCK_EN;
638 | HOST_CONTROL_CLOCK_EN), 653 writel(host_ctl, host->addr + HOST_CONTROL);
639 host->addr + HOST_CONTROL);
640 654
641 dev_dbg(&host->chip->pdev->dev, "power on\n"); 655 dev_dbg(&host->chip->pdev->dev, "power on\n");
642 } else if (value == MEMSTICK_POWER_OFF) { 656 } else if (value == MEMSTICK_POWER_OFF) {
643 writel(readl(host->addr + HOST_CONTROL) 657 host_ctl &= ~(HOST_CONTROL_POWER_EN
644 & ~(HOST_CONTROL_POWER_EN 658 | HOST_CONTROL_CLOCK_EN);
645 | HOST_CONTROL_CLOCK_EN), 659 writel(host_ctl, host->addr + HOST_CONTROL);
646 host->addr + HOST_CONTROL);
647 writel(0, host->addr + PAD_OUTPUT_ENABLE); 660 writel(0, host->addr + PAD_OUTPUT_ENABLE);
648 writel(PAD_PU_PD_OFF, host->addr + PAD_PU_PD); 661 writel(PAD_PU_PD_OFF, host->addr + PAD_PU_PD);
649 dev_dbg(&host->chip->pdev->dev, "power off\n"); 662 dev_dbg(&host->chip->pdev->dev, "power off\n");
650 } 663 }
651 break; 664 break;
652 case MEMSTICK_INTERFACE: 665 case MEMSTICK_INTERFACE:
653 /* jmb38x_ms_reset(host); */
654
655 host_ctl = readl(host->addr + HOST_CONTROL);
656 host_ctl &= ~(3 << HOST_CONTROL_IF_SHIFT); 666 host_ctl &= ~(3 << HOST_CONTROL_IF_SHIFT);
657 /* host_ctl |= 7; */
658 667
659 if (value == MEMSTICK_SERIAL) { 668 if (value == MEMSTICK_SERIAL) {
660 host_ctl &= ~HOST_CONTROL_FAST_CLK; 669 host_ctl &= ~HOST_CONTROL_FAST_CLK;
661 host_ctl |= HOST_CONTROL_IF_SERIAL 670 host_ctl |= HOST_CONTROL_IF_SERIAL
662 << HOST_CONTROL_IF_SHIFT; 671 << HOST_CONTROL_IF_SHIFT;
663 host_ctl |= HOST_CONTROL_REI; 672 host_ctl |= HOST_CONTROL_REI;
664 writel(0, host->addr + CLOCK_DELAY); 673 clock_ctl = CLOCK_CONTROL_40MHZ;
674 clock_delay = 0;
665 } else if (value == MEMSTICK_PAR4) { 675 } else if (value == MEMSTICK_PAR4) {
666 host_ctl |= HOST_CONTROL_FAST_CLK; 676 host_ctl |= HOST_CONTROL_FAST_CLK;
667 host_ctl |= HOST_CONTROL_IF_PAR4 677 host_ctl |= HOST_CONTROL_IF_PAR4
668 << HOST_CONTROL_IF_SHIFT; 678 << HOST_CONTROL_IF_SHIFT;
669 host_ctl &= ~HOST_CONTROL_REI; 679 host_ctl &= ~HOST_CONTROL_REI;
670 writel(4, host->addr + CLOCK_DELAY); 680 clock_ctl = CLOCK_CONTROL_40MHZ;
681 clock_delay = 4;
671 } else if (value == MEMSTICK_PAR8) { 682 } else if (value == MEMSTICK_PAR8) {
672 host_ctl |= HOST_CONTROL_FAST_CLK; 683 host_ctl |= HOST_CONTROL_FAST_CLK;
673 host_ctl |= HOST_CONTROL_IF_PAR8 684 host_ctl |= HOST_CONTROL_IF_PAR8
674 << HOST_CONTROL_IF_SHIFT; 685 << HOST_CONTROL_IF_SHIFT;
675 host_ctl &= ~HOST_CONTROL_REI; 686 host_ctl &= ~HOST_CONTROL_REI;
676 writel(4, host->addr + CLOCK_DELAY); 687 clock_ctl = CLOCK_CONTROL_60MHZ;
688 clock_delay = 0;
677 } 689 }
678 writel(host_ctl, host->addr + HOST_CONTROL); 690 writel(host_ctl, host->addr + HOST_CONTROL);
691 writel(clock_ctl, host->addr + CLOCK_CONTROL);
692 writel(clock_delay, host->addr + CLOCK_DELAY);
679 break; 693 break;
680 }; 694 };
681
682 spin_unlock_irqrestore(&host->lock, flags);
683} 695}
684 696
685#ifdef CONFIG_PM 697#ifdef CONFIG_PM
@@ -772,13 +784,10 @@ static struct memstick_host *jmb38x_ms_alloc_host(struct jmb38x_ms *jm, int cnt)
772 snprintf(host->host_id, DEVICE_ID_SIZE, DRIVER_NAME ":slot%d", 784 snprintf(host->host_id, DEVICE_ID_SIZE, DRIVER_NAME ":slot%d",
773 host->id); 785 host->id);
774 host->irq = jm->pdev->irq; 786 host->irq = jm->pdev->irq;
775 host->timeout_jiffies = msecs_to_jiffies(4000); 787 host->timeout_jiffies = msecs_to_jiffies(1000);
776 msh->request = jmb38x_ms_request; 788 msh->request = jmb38x_ms_request;
777 msh->set_param = jmb38x_ms_set_param; 789 msh->set_param = jmb38x_ms_set_param;
778 /* 790
779 msh->caps = MEMSTICK_CAP_AUTO_GET_INT | MEMSTICK_CAP_PAR4
780 | MEMSTICK_CAP_PAR8;
781 */
782 msh->caps = MEMSTICK_CAP_PAR4 | MEMSTICK_CAP_PAR8; 791 msh->caps = MEMSTICK_CAP_PAR4 | MEMSTICK_CAP_PAR8;
783 792
784 setup_timer(&host->timer, jmb38x_ms_abort, (unsigned long)msh); 793 setup_timer(&host->timer, jmb38x_ms_abort, (unsigned long)msh);
diff --git a/drivers/memstick/host/tifm_ms.c b/drivers/memstick/host/tifm_ms.c
index 2b5bf52a830..8577de4ebb0 100644
--- a/drivers/memstick/host/tifm_ms.c
+++ b/drivers/memstick/host/tifm_ms.c
@@ -182,7 +182,7 @@ static unsigned int tifm_ms_transfer_data(struct tifm_ms *host)
182 struct tifm_dev *sock = host->dev; 182 struct tifm_dev *sock = host->dev;
183 unsigned int length; 183 unsigned int length;
184 unsigned int off; 184 unsigned int off;
185 unsigned int t_size, p_off, p_cnt; 185 unsigned int t_size, p_cnt;
186 unsigned char *buf; 186 unsigned char *buf;
187 struct page *pg; 187 struct page *pg;
188 unsigned long flags = 0; 188 unsigned long flags = 0;
@@ -198,6 +198,8 @@ static unsigned int tifm_ms_transfer_data(struct tifm_ms *host)
198 host->block_pos); 198 host->block_pos);
199 199
200 while (length) { 200 while (length) {
201 unsigned int uninitialized_var(p_off);
202
201 if (host->req->long_data) { 203 if (host->req->long_data) {
202 pg = nth_page(sg_page(&host->req->sg), 204 pg = nth_page(sg_page(&host->req->sg),
203 off >> PAGE_SHIFT); 205 off >> PAGE_SHIFT);
@@ -340,11 +342,20 @@ static void tifm_ms_complete_cmd(struct tifm_ms *host)
340 342
341 del_timer(&host->timer); 343 del_timer(&host->timer);
342 344
343 if (host->use_dma) 345 host->req->int_reg = readl(sock->addr + SOCK_MS_STATUS) & 0xff;
346 host->req->int_reg = (host->req->int_reg & 1)
347 | ((host->req->int_reg << 4) & 0xe0);
348
349 writel(TIFM_FIFO_INT_SETALL,
350 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR);
351 writel(TIFM_DMA_RESET, sock->addr + SOCK_DMA_CONTROL);
352
353 if (host->use_dma) {
344 tifm_unmap_sg(sock, &host->req->sg, 1, 354 tifm_unmap_sg(sock, &host->req->sg, 1,
345 host->req->data_dir == READ 355 host->req->data_dir == READ
346 ? PCI_DMA_FROMDEVICE 356 ? PCI_DMA_FROMDEVICE
347 : PCI_DMA_TODEVICE); 357 : PCI_DMA_TODEVICE);
358 }
348 359
349 writel((~TIFM_CTRL_LED) & readl(sock->addr + SOCK_CONTROL), 360 writel((~TIFM_CTRL_LED) & readl(sock->addr + SOCK_CONTROL),
350 sock->addr + SOCK_CONTROL); 361 sock->addr + SOCK_CONTROL);
@@ -424,12 +435,6 @@ static void tifm_ms_card_event(struct tifm_dev *sock)
424 else if (host_status & TIFM_MS_STAT_CRC) 435 else if (host_status & TIFM_MS_STAT_CRC)
425 host->req->error = -EILSEQ; 436 host->req->error = -EILSEQ;
426 437
427 if (host->req->error) {
428 writel(TIFM_FIFO_INT_SETALL,
429 sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR);
430 writel(TIFM_DMA_RESET, sock->addr + SOCK_DMA_CONTROL);
431 }
432
433 if (host_status & TIFM_MS_STAT_RDY) 438 if (host_status & TIFM_MS_STAT_RDY)
434 host->cmd_flags |= CMD_READY; 439 host->cmd_flags |= CMD_READY;
435 440
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 6b6df867958..c6be6eba7dc 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -1430,6 +1430,98 @@ mpt_get_product_name(u16 vendor, u16 device, u8 revision, char *prod_name)
1430 sprintf(prod_name, "%s", product_str); 1430 sprintf(prod_name, "%s", product_str);
1431} 1431}
1432 1432
1433/**
1434 * mpt_mapresources - map in memory mapped io
1435 * @ioc: Pointer to pointer to IOC adapter
1436 *
1437 **/
1438static int
1439mpt_mapresources(MPT_ADAPTER *ioc)
1440{
1441 u8 __iomem *mem;
1442 int ii;
1443 unsigned long mem_phys;
1444 unsigned long port;
1445 u32 msize;
1446 u32 psize;
1447 u8 revision;
1448 int r = -ENODEV;
1449 struct pci_dev *pdev;
1450
1451 pdev = ioc->pcidev;
1452 ioc->bars = pci_select_bars(pdev, IORESOURCE_MEM);
1453 if (pci_enable_device_mem(pdev)) {
1454 printk(MYIOC_s_ERR_FMT "pci_enable_device_mem() "
1455 "failed\n", ioc->name);
1456 return r;
1457 }
1458 if (pci_request_selected_regions(pdev, ioc->bars, "mpt")) {
1459 printk(MYIOC_s_ERR_FMT "pci_request_selected_regions() with "
1460 "MEM failed\n", ioc->name);
1461 return r;
1462 }
1463
1464 pci_read_config_byte(pdev, PCI_CLASS_REVISION, &revision);
1465
1466 if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)
1467 && !pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK)) {
1468 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT
1469 ": 64 BIT PCI BUS DMA ADDRESSING SUPPORTED\n",
1470 ioc->name));
1471 } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)
1472 && !pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK)) {
1473 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT
1474 ": 32 BIT PCI BUS DMA ADDRESSING SUPPORTED\n",
1475 ioc->name));
1476 } else {
1477 printk(MYIOC_s_WARN_FMT "no suitable DMA mask for %s\n",
1478 ioc->name, pci_name(pdev));
1479 pci_release_selected_regions(pdev, ioc->bars);
1480 return r;
1481 }
1482
1483 mem_phys = msize = 0;
1484 port = psize = 0;
1485 for (ii = 0; ii < DEVICE_COUNT_RESOURCE; ii++) {
1486 if (pci_resource_flags(pdev, ii) & PCI_BASE_ADDRESS_SPACE_IO) {
1487 if (psize)
1488 continue;
1489 /* Get I/O space! */
1490 port = pci_resource_start(pdev, ii);
1491 psize = pci_resource_len(pdev, ii);
1492 } else {
1493 if (msize)
1494 continue;
1495 /* Get memmap */
1496 mem_phys = pci_resource_start(pdev, ii);
1497 msize = pci_resource_len(pdev, ii);
1498 }
1499 }
1500 ioc->mem_size = msize;
1501
1502 mem = NULL;
1503 /* Get logical ptr for PciMem0 space */
1504 /*mem = ioremap(mem_phys, msize);*/
1505 mem = ioremap(mem_phys, msize);
1506 if (mem == NULL) {
1507 printk(MYIOC_s_ERR_FMT ": ERROR - Unable to map adapter"
1508 " memory!\n", ioc->name);
1509 return -EINVAL;
1510 }
1511 ioc->memmap = mem;
1512 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "mem = %p, mem_phys = %lx\n",
1513 ioc->name, mem, mem_phys));
1514
1515 ioc->mem_phys = mem_phys;
1516 ioc->chip = (SYSIF_REGS __iomem *)mem;
1517
1518 /* Save Port IO values in case we need to do downloadboot */
1519 ioc->pio_mem_phys = port;
1520 ioc->pio_chip = (SYSIF_REGS __iomem *)port;
1521
1522 return 0;
1523}
1524
1433/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1525/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1434/** 1526/**
1435 * mpt_attach - Install a PCI intelligent MPT adapter. 1527 * mpt_attach - Install a PCI intelligent MPT adapter.
@@ -1452,13 +1544,6 @@ int
1452mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id) 1544mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
1453{ 1545{
1454 MPT_ADAPTER *ioc; 1546 MPT_ADAPTER *ioc;
1455 u8 __iomem *mem;
1456 u8 __iomem *pmem;
1457 unsigned long mem_phys;
1458 unsigned long port;
1459 u32 msize;
1460 u32 psize;
1461 int ii;
1462 u8 cb_idx; 1547 u8 cb_idx;
1463 int r = -ENODEV; 1548 int r = -ENODEV;
1464 u8 revision; 1549 u8 revision;
@@ -1468,52 +1553,32 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
1468 struct proc_dir_entry *dent, *ent; 1553 struct proc_dir_entry *dent, *ent;
1469#endif 1554#endif
1470 1555
1471 if (mpt_debug_level)
1472 printk(KERN_INFO MYNAM ": mpt_debug_level=%xh\n", mpt_debug_level);
1473
1474 ioc = kzalloc(sizeof(MPT_ADAPTER), GFP_ATOMIC); 1556 ioc = kzalloc(sizeof(MPT_ADAPTER), GFP_ATOMIC);
1475 if (ioc == NULL) { 1557 if (ioc == NULL) {
1476 printk(KERN_ERR MYNAM ": ERROR - Insufficient memory to add adapter!\n"); 1558 printk(KERN_ERR MYNAM ": ERROR - Insufficient memory to add adapter!\n");
1477 return -ENOMEM; 1559 return -ENOMEM;
1478 } 1560 }
1479 ioc->debug_level = mpt_debug_level; 1561
1480 ioc->id = mpt_ids++; 1562 ioc->id = mpt_ids++;
1481 sprintf(ioc->name, "ioc%d", ioc->id); 1563 sprintf(ioc->name, "ioc%d", ioc->id);
1482 1564
1483 ioc->bars = pci_select_bars(pdev, IORESOURCE_MEM); 1565 /*
1484 if (pci_enable_device_mem(pdev)) { 1566 * set initial debug level
1485 printk(MYIOC_s_ERR_FMT "pci_enable_device_mem() " 1567 * (refer to mptdebug.h)
1486 "failed\n", ioc->name); 1568 *
1487 kfree(ioc); 1569 */
1488 return r; 1570 ioc->debug_level = mpt_debug_level;
1489 } 1571 if (mpt_debug_level)
1490 if (pci_request_selected_regions(pdev, ioc->bars, "mpt")) { 1572 printk(KERN_INFO "mpt_debug_level=%xh\n", mpt_debug_level);
1491 printk(MYIOC_s_ERR_FMT "pci_request_selected_regions() with "
1492 "MEM failed\n", ioc->name);
1493 kfree(ioc);
1494 return r;
1495 }
1496 1573
1497 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT ": mpt_adapter_install\n", ioc->name)); 1574 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT ": mpt_adapter_install\n", ioc->name));
1498 1575
1499 if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { 1576 ioc->pcidev = pdev;
1500 dprintk(ioc, printk(MYIOC_s_INFO_FMT 1577 if (mpt_mapresources(ioc)) {
1501 ": 64 BIT PCI BUS DMA ADDRESSING SUPPORTED\n", ioc->name));
1502 } else if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
1503 printk(MYIOC_s_WARN_FMT ": 32 BIT PCI BUS DMA ADDRESSING NOT SUPPORTED\n",
1504 ioc->name);
1505 kfree(ioc); 1578 kfree(ioc);
1506 return r; 1579 return r;
1507 } 1580 }
1508 1581
1509 if (!pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK)) {
1510 dprintk(ioc, printk(MYIOC_s_INFO_FMT
1511 ": Using 64 bit consistent mask\n", ioc->name));
1512 } else {
1513 dprintk(ioc, printk(MYIOC_s_INFO_FMT
1514 ": Not using 64 bit consistent mask\n", ioc->name));
1515 }
1516
1517 ioc->alloc_total = sizeof(MPT_ADAPTER); 1582 ioc->alloc_total = sizeof(MPT_ADAPTER);
1518 ioc->req_sz = MPT_DEFAULT_FRAME_SIZE; /* avoid div by zero! */ 1583 ioc->req_sz = MPT_DEFAULT_FRAME_SIZE; /* avoid div by zero! */
1519 ioc->reply_sz = MPT_REPLY_FRAME_SIZE; 1584 ioc->reply_sz = MPT_REPLY_FRAME_SIZE;
@@ -1551,48 +1616,9 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
1551 /* Find lookup slot. */ 1616 /* Find lookup slot. */
1552 INIT_LIST_HEAD(&ioc->list); 1617 INIT_LIST_HEAD(&ioc->list);
1553 1618
1554 mem_phys = msize = 0;
1555 port = psize = 0;
1556 for (ii=0; ii < DEVICE_COUNT_RESOURCE; ii++) {
1557 if (pci_resource_flags(pdev, ii) & PCI_BASE_ADDRESS_SPACE_IO) {
1558 if (psize)
1559 continue;
1560 /* Get I/O space! */
1561 port = pci_resource_start(pdev, ii);
1562 psize = pci_resource_len(pdev,ii);
1563 } else {
1564 if (msize)
1565 continue;
1566 /* Get memmap */
1567 mem_phys = pci_resource_start(pdev, ii);
1568 msize = pci_resource_len(pdev,ii);
1569 }
1570 }
1571 ioc->mem_size = msize;
1572
1573 mem = NULL;
1574 /* Get logical ptr for PciMem0 space */
1575 /*mem = ioremap(mem_phys, msize);*/
1576 mem = ioremap(mem_phys, msize);
1577 if (mem == NULL) {
1578 printk(MYIOC_s_ERR_FMT "Unable to map adapter memory!\n", ioc->name);
1579 kfree(ioc);
1580 return -EINVAL;
1581 }
1582 ioc->memmap = mem;
1583 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "mem = %p, mem_phys = %lx\n", ioc->name, mem, mem_phys));
1584
1585 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "facts @ %p, pfacts[0] @ %p\n", 1619 dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "facts @ %p, pfacts[0] @ %p\n",
1586 ioc->name, &ioc->facts, &ioc->pfacts[0])); 1620 ioc->name, &ioc->facts, &ioc->pfacts[0]));
1587 1621
1588 ioc->mem_phys = mem_phys;
1589 ioc->chip = (SYSIF_REGS __iomem *)mem;
1590
1591 /* Save Port IO values in case we need to do downloadboot */
1592 ioc->pio_mem_phys = port;
1593 pmem = (u8 __iomem *)port;
1594 ioc->pio_chip = (SYSIF_REGS __iomem *)pmem;
1595
1596 pci_read_config_byte(pdev, PCI_CLASS_REVISION, &revision); 1622 pci_read_config_byte(pdev, PCI_CLASS_REVISION, &revision);
1597 mpt_get_product_name(pdev->vendor, pdev->device, revision, ioc->prod_name); 1623 mpt_get_product_name(pdev->vendor, pdev->device, revision, ioc->prod_name);
1598 1624
@@ -1688,7 +1714,9 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
1688 list_del(&ioc->list); 1714 list_del(&ioc->list);
1689 if (ioc->alt_ioc) 1715 if (ioc->alt_ioc)
1690 ioc->alt_ioc->alt_ioc = NULL; 1716 ioc->alt_ioc->alt_ioc = NULL;
1691 iounmap(mem); 1717 iounmap(ioc->memmap);
1718 if (r != -5)
1719 pci_release_selected_regions(pdev, ioc->bars);
1692 kfree(ioc); 1720 kfree(ioc);
1693 pci_set_drvdata(pdev, NULL); 1721 pci_set_drvdata(pdev, NULL);
1694 return r; 1722 return r;
@@ -1784,13 +1812,10 @@ mpt_suspend(struct pci_dev *pdev, pm_message_t state)
1784 u32 device_state; 1812 u32 device_state;
1785 MPT_ADAPTER *ioc = pci_get_drvdata(pdev); 1813 MPT_ADAPTER *ioc = pci_get_drvdata(pdev);
1786 1814
1787 device_state=pci_choose_state(pdev, state); 1815 device_state = pci_choose_state(pdev, state);
1788 1816 printk(MYIOC_s_INFO_FMT "pci-suspend: pdev=0x%p, slot=%s, Entering "
1789 printk(MYIOC_s_INFO_FMT 1817 "operating state [D%d]\n", ioc->name, pdev, pci_name(pdev),
1790 "pci-suspend: pdev=0x%p, slot=%s, Entering operating state [D%d]\n", 1818 device_state);
1791 ioc->name, pdev, pci_name(pdev), device_state);
1792
1793 pci_save_state(pdev);
1794 1819
1795 /* put ioc into READY_STATE */ 1820 /* put ioc into READY_STATE */
1796 if(SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET, CAN_SLEEP)) { 1821 if(SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET, CAN_SLEEP)) {
@@ -1805,10 +1830,14 @@ mpt_suspend(struct pci_dev *pdev, pm_message_t state)
1805 /* Clear any lingering interrupt */ 1830 /* Clear any lingering interrupt */
1806 CHIPREG_WRITE32(&ioc->chip->IntStatus, 0); 1831 CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
1807 1832
1833 free_irq(ioc->pci_irq, ioc);
1834 if (mpt_msi_enable)
1835 pci_disable_msi(ioc->pcidev);
1836 ioc->pci_irq = -1;
1837 pci_save_state(pdev);
1808 pci_disable_device(pdev); 1838 pci_disable_device(pdev);
1809 pci_release_selected_regions(pdev, ioc->bars); 1839 pci_release_selected_regions(pdev, ioc->bars);
1810 pci_set_power_state(pdev, device_state); 1840 pci_set_power_state(pdev, device_state);
1811
1812 return 0; 1841 return 0;
1813} 1842}
1814 1843
@@ -1823,48 +1852,54 @@ mpt_resume(struct pci_dev *pdev)
1823 MPT_ADAPTER *ioc = pci_get_drvdata(pdev); 1852 MPT_ADAPTER *ioc = pci_get_drvdata(pdev);
1824 u32 device_state = pdev->current_state; 1853 u32 device_state = pdev->current_state;
1825 int recovery_state; 1854 int recovery_state;
1855 int err;
1826 1856
1827 printk(MYIOC_s_INFO_FMT 1857 printk(MYIOC_s_INFO_FMT "pci-resume: pdev=0x%p, slot=%s, Previous "
1828 "pci-resume: pdev=0x%p, slot=%s, Previous operating state [D%d]\n", 1858 "operating state [D%d]\n", ioc->name, pdev, pci_name(pdev),
1829 ioc->name, pdev, pci_name(pdev), device_state); 1859 device_state);
1830 1860
1831 pci_set_power_state(pdev, 0); 1861 pci_set_power_state(pdev, PCI_D0);
1862 pci_enable_wake(pdev, PCI_D0, 0);
1832 pci_restore_state(pdev); 1863 pci_restore_state(pdev);
1833 if (ioc->facts.Flags & MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT) { 1864 ioc->pcidev = pdev;
1834 ioc->bars = pci_select_bars(ioc->pcidev, IORESOURCE_MEM | 1865 err = mpt_mapresources(ioc);
1835 IORESOURCE_IO); 1866 if (err)
1836 if (pci_enable_device(pdev)) 1867 return err;
1837 return 0;
1838 } else {
1839 ioc->bars = pci_select_bars(pdev, IORESOURCE_MEM);
1840 if (pci_enable_device_mem(pdev))
1841 return 0;
1842 }
1843 if (pci_request_selected_regions(pdev, ioc->bars, "mpt"))
1844 return 0;
1845 1868
1846 /* enable interrupts */ 1869 printk(MYIOC_s_INFO_FMT "pci-resume: ioc-state=0x%x,doorbell=0x%x\n",
1847 CHIPREG_WRITE32(&ioc->chip->IntMask, MPI_HIM_DIM); 1870 ioc->name, (mpt_GetIocState(ioc, 1) >> MPI_IOC_STATE_SHIFT),
1848 ioc->active = 1; 1871 CHIPREG_READ32(&ioc->chip->Doorbell));
1849 1872
1850 printk(MYIOC_s_INFO_FMT 1873 /*
1851 "pci-resume: ioc-state=0x%x,doorbell=0x%x\n", 1874 * Errata workaround for SAS pci express:
1852 ioc->name, 1875 * Upon returning to the D0 state, the contents of the doorbell will be
1853 (mpt_GetIocState(ioc, 1) >> MPI_IOC_STATE_SHIFT), 1876 * stale data, and this will incorrectly signal to the host driver that
1854 CHIPREG_READ32(&ioc->chip->Doorbell)); 1877 * the firmware is ready to process mpt commands. The workaround is
1878 * to issue a diagnostic reset.
1879 */
1880 if (ioc->bus_type == SAS && (pdev->device ==
1881 MPI_MANUFACTPAGE_DEVID_SAS1068E || pdev->device ==
1882 MPI_MANUFACTPAGE_DEVID_SAS1064E)) {
1883 if (KickStart(ioc, 1, CAN_SLEEP) < 0) {
1884 printk(MYIOC_s_WARN_FMT "pci-resume: Cannot recover\n",
1885 ioc->name);
1886 goto out;
1887 }
1888 }
1855 1889
1856 /* bring ioc to operational state */ 1890 /* bring ioc to operational state */
1857 if ((recovery_state = mpt_do_ioc_recovery(ioc, 1891 printk(MYIOC_s_INFO_FMT "Sending mpt_do_ioc_recovery\n", ioc->name);
1858 MPT_HOSTEVENT_IOC_RECOVER, CAN_SLEEP)) != 0) { 1892 recovery_state = mpt_do_ioc_recovery(ioc, MPT_HOSTEVENT_IOC_BRINGUP,
1859 printk(MYIOC_s_INFO_FMT 1893 CAN_SLEEP);
1860 "pci-resume: Cannot recover, error:[%x]\n", 1894 if (recovery_state != 0)
1861 ioc->name, recovery_state); 1895 printk(MYIOC_s_WARN_FMT "pci-resume: Cannot recover, "
1862 } else { 1896 "error:[%x]\n", ioc->name, recovery_state);
1897 else
1863 printk(MYIOC_s_INFO_FMT 1898 printk(MYIOC_s_INFO_FMT
1864 "pci-resume: success\n", ioc->name); 1899 "pci-resume: success\n", ioc->name);
1865 } 1900 out:
1866
1867 return 0; 1901 return 0;
1902
1868} 1903}
1869#endif 1904#endif
1870 1905
@@ -1903,6 +1938,7 @@ mpt_signal_reset(u8 index, MPT_ADAPTER *ioc, int reset_phase)
1903 * -3 if READY but PrimeIOCFifos Failed 1938 * -3 if READY but PrimeIOCFifos Failed
1904 * -4 if READY but IOCInit Failed 1939 * -4 if READY but IOCInit Failed
1905 * -5 if failed to enable_device and/or request_selected_regions 1940 * -5 if failed to enable_device and/or request_selected_regions
1941 * -6 if failed to upload firmware
1906 */ 1942 */
1907static int 1943static int
1908mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag) 1944mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag)
@@ -2097,7 +2133,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag)
2097 } else { 2133 } else {
2098 printk(MYIOC_s_WARN_FMT 2134 printk(MYIOC_s_WARN_FMT
2099 "firmware upload failure!\n", ioc->name); 2135 "firmware upload failure!\n", ioc->name);
2100 ret = -5; 2136 ret = -6;
2101 } 2137 }
2102 } 2138 }
2103 } 2139 }
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c
index 0c252f60c4c..c207bda6723 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -1170,6 +1170,10 @@ mptscsih_shutdown(struct pci_dev *pdev)
1170int 1170int
1171mptscsih_suspend(struct pci_dev *pdev, pm_message_t state) 1171mptscsih_suspend(struct pci_dev *pdev, pm_message_t state)
1172{ 1172{
1173 MPT_ADAPTER *ioc = pci_get_drvdata(pdev);
1174
1175 scsi_block_requests(ioc->sh);
1176 flush_scheduled_work();
1173 mptscsih_shutdown(pdev); 1177 mptscsih_shutdown(pdev);
1174 return mpt_suspend(pdev,state); 1178 return mpt_suspend(pdev,state);
1175} 1179}
@@ -1183,7 +1187,12 @@ mptscsih_suspend(struct pci_dev *pdev, pm_message_t state)
1183int 1187int
1184mptscsih_resume(struct pci_dev *pdev) 1188mptscsih_resume(struct pci_dev *pdev)
1185{ 1189{
1186 return mpt_resume(pdev); 1190 MPT_ADAPTER *ioc = pci_get_drvdata(pdev);
1191 int rc;
1192
1193 rc = mpt_resume(pdev);
1194 scsi_unblock_requests(ioc->sh);
1195 return rc;
1187} 1196}
1188 1197
1189#endif 1198#endif
diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c
index 63fb1ff3ad1..f6f2d960cad 100644
--- a/drivers/mfd/asic3.c
+++ b/drivers/mfd/asic3.c
@@ -28,14 +28,14 @@
28static inline void asic3_write_register(struct asic3 *asic, 28static inline void asic3_write_register(struct asic3 *asic,
29 unsigned int reg, u32 value) 29 unsigned int reg, u32 value)
30{ 30{
31 iowrite16(value, (unsigned long)asic->mapping + 31 iowrite16(value, asic->mapping +
32 (reg >> asic->bus_shift)); 32 (reg >> asic->bus_shift));
33} 33}
34 34
35static inline u32 asic3_read_register(struct asic3 *asic, 35static inline u32 asic3_read_register(struct asic3 *asic,
36 unsigned int reg) 36 unsigned int reg)
37{ 37{
38 return ioread16((unsigned long)asic->mapping + 38 return ioread16(asic->mapping +
39 (reg >> asic->bus_shift)); 39 (reg >> asic->bus_shift));
40} 40}
41 41
diff --git a/drivers/misc/fujitsu-laptop.c b/drivers/misc/fujitsu-laptop.c
index 1cfd7f3f129..e2e7c05a147 100644
--- a/drivers/misc/fujitsu-laptop.c
+++ b/drivers/misc/fujitsu-laptop.c
@@ -231,7 +231,7 @@ static int acpi_fujitsu_remove(struct acpi_device *device, int type)
231 231
232 if (!device || !acpi_driver_data(device)) 232 if (!device || !acpi_driver_data(device))
233 return -EINVAL; 233 return -EINVAL;
234 fujitsu->acpi_handle = 0; 234 fujitsu->acpi_handle = NULL;
235 235
236 return 0; 236 return 0;
237} 237}
diff --git a/drivers/misc/ibmasm/module.c b/drivers/misc/ibmasm/module.c
index 4f9d4a9da98..b5f6add34b0 100644
--- a/drivers/misc/ibmasm/module.c
+++ b/drivers/misc/ibmasm/module.c
@@ -106,7 +106,7 @@ static int __devinit ibmasm_init_one(struct pci_dev *pdev, const struct pci_devi
106 sp->irq = pdev->irq; 106 sp->irq = pdev->irq;
107 sp->base_address = ioremap(pci_resource_start(pdev, 0), 107 sp->base_address = ioremap(pci_resource_start(pdev, 0),
108 pci_resource_len(pdev, 0)); 108 pci_resource_len(pdev, 0));
109 if (sp->base_address == 0) { 109 if (!sp->base_address) {
110 dev_err(sp->dev, "Failed to ioremap pci memory\n"); 110 dev_err(sp->dev, "Failed to ioremap pci memory\n");
111 result = -ENODEV; 111 result = -ENODEV;
112 goto error_ioremap; 112 goto error_ioremap;
diff --git a/drivers/misc/lkdtm.c b/drivers/misc/lkdtm.c
index c884730c5ea..1bfe5d16963 100644
--- a/drivers/misc/lkdtm.c
+++ b/drivers/misc/lkdtm.c
@@ -197,7 +197,7 @@ static int lkdtm_parse_commandline(void)
197{ 197{
198 int i; 198 int i;
199 199
200 if (cpoint_name == INVALID || cpoint_type == NONE || 200 if (cpoint_name == NULL || cpoint_type == NULL ||
201 cpoint_count < 1 || recur_count < 1) 201 cpoint_count < 1 || recur_count < 1)
202 return -EINVAL; 202 return -EINVAL;
203 203
diff --git a/drivers/mmc/core/Makefile b/drivers/mmc/core/Makefile
index 4985807257a..19a1a254a0c 100644
--- a/drivers/mmc/core/Makefile
+++ b/drivers/mmc/core/Makefile
@@ -7,7 +7,7 @@ ifeq ($(CONFIG_MMC_DEBUG),y)
7endif 7endif
8 8
9obj-$(CONFIG_MMC) += mmc_core.o 9obj-$(CONFIG_MMC) += mmc_core.o
10mmc_core-y := core.o sysfs.o bus.o host.o \ 10mmc_core-y := core.o bus.o host.o \
11 mmc.o mmc_ops.o sd.o sd_ops.o \ 11 mmc.o mmc_ops.o sd.o sd_ops.o \
12 sdio.o sdio_ops.o sdio_bus.o \ 12 sdio.o sdio_ops.o sdio_bus.o \
13 sdio_cis.o sdio_io.o sdio_irq.o 13 sdio_cis.o sdio_io.o sdio_irq.o
diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
index b0c22cad942..fd95b18e988 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -17,7 +17,6 @@
17#include <linux/mmc/card.h> 17#include <linux/mmc/card.h>
18#include <linux/mmc/host.h> 18#include <linux/mmc/host.h>
19 19
20#include "sysfs.h"
21#include "core.h" 20#include "core.h"
22#include "sdio_cis.h" 21#include "sdio_cis.h"
23#include "bus.h" 22#include "bus.h"
@@ -43,7 +42,7 @@ static ssize_t mmc_type_show(struct device *dev,
43} 42}
44 43
45static struct device_attribute mmc_dev_attrs[] = { 44static struct device_attribute mmc_dev_attrs[] = {
46 MMC_ATTR_RO(type), 45 __ATTR(type, S_IRUGO, mmc_type_show, NULL),
47 __ATTR_NULL, 46 __ATTR_NULL,
48}; 47};
49 48
@@ -189,7 +188,7 @@ static void mmc_release_card(struct device *dev)
189/* 188/*
190 * Allocate and initialise a new MMC card structure. 189 * Allocate and initialise a new MMC card structure.
191 */ 190 */
192struct mmc_card *mmc_alloc_card(struct mmc_host *host) 191struct mmc_card *mmc_alloc_card(struct mmc_host *host, struct device_type *type)
193{ 192{
194 struct mmc_card *card; 193 struct mmc_card *card;
195 194
@@ -204,6 +203,7 @@ struct mmc_card *mmc_alloc_card(struct mmc_host *host)
204 card->dev.parent = mmc_classdev(host); 203 card->dev.parent = mmc_classdev(host);
205 card->dev.bus = &mmc_bus_type; 204 card->dev.bus = &mmc_bus_type;
206 card->dev.release = mmc_release_card; 205 card->dev.release = mmc_release_card;
206 card->dev.type = type;
207 207
208 return card; 208 return card;
209} 209}
@@ -248,24 +248,10 @@ int mmc_add_card(struct mmc_card *card)
248 type, card->rca); 248 type, card->rca);
249 } 249 }
250 250
251 card->dev.uevent_suppress = 1;
252
253 ret = device_add(&card->dev); 251 ret = device_add(&card->dev);
254 if (ret) 252 if (ret)
255 return ret; 253 return ret;
256 254
257 if (card->host->bus_ops->sysfs_add) {
258 ret = card->host->bus_ops->sysfs_add(card->host, card);
259 if (ret) {
260 device_del(&card->dev);
261 return ret;
262 }
263 }
264
265 card->dev.uevent_suppress = 0;
266
267 kobject_uevent(&card->dev.kobj, KOBJ_ADD);
268
269 mmc_card_set_present(card); 255 mmc_card_set_present(card);
270 256
271 return 0; 257 return 0;
@@ -285,9 +271,6 @@ void mmc_remove_card(struct mmc_card *card)
285 printk(KERN_INFO "%s: card %04x removed\n", 271 printk(KERN_INFO "%s: card %04x removed\n",
286 mmc_hostname(card->host), card->rca); 272 mmc_hostname(card->host), card->rca);
287 } 273 }
288
289 if (card->host->bus_ops->sysfs_remove)
290 card->host->bus_ops->sysfs_remove(card->host, card);
291 device_del(&card->dev); 274 device_del(&card->dev);
292 } 275 }
293 276
diff --git a/drivers/mmc/core/bus.h b/drivers/mmc/core/bus.h
index 4f35431116a..18178766ab4 100644
--- a/drivers/mmc/core/bus.h
+++ b/drivers/mmc/core/bus.h
@@ -11,7 +11,16 @@
11#ifndef _MMC_CORE_BUS_H 11#ifndef _MMC_CORE_BUS_H
12#define _MMC_CORE_BUS_H 12#define _MMC_CORE_BUS_H
13 13
14struct mmc_card *mmc_alloc_card(struct mmc_host *host); 14#define MMC_DEV_ATTR(name, fmt, args...) \
15static ssize_t mmc_##name##_show (struct device *dev, struct device_attribute *attr, char *buf) \
16{ \
17 struct mmc_card *card = container_of(dev, struct mmc_card, dev); \
18 return sprintf(buf, fmt, args); \
19} \
20static DEVICE_ATTR(name, S_IRUGO, mmc_##name##_show, NULL)
21
22struct mmc_card *mmc_alloc_card(struct mmc_host *host,
23 struct device_type *type);
15int mmc_add_card(struct mmc_card *card); 24int mmc_add_card(struct mmc_card *card);
16void mmc_remove_card(struct mmc_card *card); 25void mmc_remove_card(struct mmc_card *card);
17 26
diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
index 39daf2fb5dc..cfa8e15b592 100644
--- a/drivers/mmc/core/core.h
+++ b/drivers/mmc/core/core.h
@@ -18,8 +18,6 @@
18struct mmc_bus_ops { 18struct mmc_bus_ops {
19 void (*remove)(struct mmc_host *); 19 void (*remove)(struct mmc_host *);
20 void (*detect)(struct mmc_host *); 20 void (*detect)(struct mmc_host *);
21 int (*sysfs_add)(struct mmc_host *, struct mmc_card *card);
22 void (*sysfs_remove)(struct mmc_host *, struct mmc_card *card);
23 void (*suspend)(struct mmc_host *); 21 void (*suspend)(struct mmc_host *);
24 void (*resume)(struct mmc_host *); 22 void (*resume)(struct mmc_host *);
25}; 23};
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 68c0e3b2f0e..3da29eef8f7 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -17,7 +17,6 @@
17#include <linux/mmc/mmc.h> 17#include <linux/mmc/mmc.h>
18 18
19#include "core.h" 19#include "core.h"
20#include "sysfs.h"
21#include "bus.h" 20#include "bus.h"
22#include "mmc_ops.h" 21#include "mmc_ops.h"
23 22
@@ -248,6 +247,44 @@ out:
248 return err; 247 return err;
249} 248}
250 249
250MMC_DEV_ATTR(cid, "%08x%08x%08x%08x\n", card->raw_cid[0], card->raw_cid[1],
251 card->raw_cid[2], card->raw_cid[3]);
252MMC_DEV_ATTR(csd, "%08x%08x%08x%08x\n", card->raw_csd[0], card->raw_csd[1],
253 card->raw_csd[2], card->raw_csd[3]);
254MMC_DEV_ATTR(date, "%02d/%04d\n", card->cid.month, card->cid.year);
255MMC_DEV_ATTR(fwrev, "0x%x\n", card->cid.fwrev);
256MMC_DEV_ATTR(hwrev, "0x%x\n", card->cid.hwrev);
257MMC_DEV_ATTR(manfid, "0x%06x\n", card->cid.manfid);
258MMC_DEV_ATTR(name, "%s\n", card->cid.prod_name);
259MMC_DEV_ATTR(oemid, "0x%04x\n", card->cid.oemid);
260MMC_DEV_ATTR(serial, "0x%08x\n", card->cid.serial);
261
262static struct attribute *mmc_std_attrs[] = {
263 &dev_attr_cid.attr,
264 &dev_attr_csd.attr,
265 &dev_attr_date.attr,
266 &dev_attr_fwrev.attr,
267 &dev_attr_hwrev.attr,
268 &dev_attr_manfid.attr,
269 &dev_attr_name.attr,
270 &dev_attr_oemid.attr,
271 &dev_attr_serial.attr,
272 NULL,
273};
274
275static struct attribute_group mmc_std_attr_group = {
276 .attrs = mmc_std_attrs,
277};
278
279static struct attribute_group *mmc_attr_groups[] = {
280 &mmc_std_attr_group,
281 NULL,
282};
283
284static struct device_type mmc_type = {
285 .groups = mmc_attr_groups,
286};
287
251/* 288/*
252 * Handle the detection and initialisation of a card. 289 * Handle the detection and initialisation of a card.
253 * 290 *
@@ -308,7 +345,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
308 /* 345 /*
309 * Allocate card structure. 346 * Allocate card structure.
310 */ 347 */
311 card = mmc_alloc_card(host); 348 card = mmc_alloc_card(host, &mmc_type);
312 if (IS_ERR(card)) { 349 if (IS_ERR(card)) {
313 err = PTR_ERR(card); 350 err = PTR_ERR(card);
314 goto err; 351 goto err;
@@ -459,53 +496,6 @@ static void mmc_detect(struct mmc_host *host)
459 } 496 }
460} 497}
461 498
462MMC_ATTR_FN(cid, "%08x%08x%08x%08x\n", card->raw_cid[0], card->raw_cid[1],
463 card->raw_cid[2], card->raw_cid[3]);
464MMC_ATTR_FN(csd, "%08x%08x%08x%08x\n", card->raw_csd[0], card->raw_csd[1],
465 card->raw_csd[2], card->raw_csd[3]);
466MMC_ATTR_FN(date, "%02d/%04d\n", card->cid.month, card->cid.year);
467MMC_ATTR_FN(fwrev, "0x%x\n", card->cid.fwrev);
468MMC_ATTR_FN(hwrev, "0x%x\n", card->cid.hwrev);
469MMC_ATTR_FN(manfid, "0x%06x\n", card->cid.manfid);
470MMC_ATTR_FN(name, "%s\n", card->cid.prod_name);
471MMC_ATTR_FN(oemid, "0x%04x\n", card->cid.oemid);
472MMC_ATTR_FN(serial, "0x%08x\n", card->cid.serial);
473
474static struct device_attribute mmc_dev_attrs[] = {
475 MMC_ATTR_RO(cid),
476 MMC_ATTR_RO(csd),
477 MMC_ATTR_RO(date),
478 MMC_ATTR_RO(fwrev),
479 MMC_ATTR_RO(hwrev),
480 MMC_ATTR_RO(manfid),
481 MMC_ATTR_RO(name),
482 MMC_ATTR_RO(oemid),
483 MMC_ATTR_RO(serial),
484 __ATTR_NULL,
485};
486
487/*
488 * Adds sysfs entries as relevant.
489 */
490static int mmc_sysfs_add(struct mmc_host *host, struct mmc_card *card)
491{
492 int ret;
493
494 ret = mmc_add_attrs(card, mmc_dev_attrs);
495 if (ret < 0)
496 return ret;
497
498 return 0;
499}
500
501/*
502 * Removes the sysfs entries added by mmc_sysfs_add().
503 */
504static void mmc_sysfs_remove(struct mmc_host *host, struct mmc_card *card)
505{
506 mmc_remove_attrs(card, mmc_dev_attrs);
507}
508
509#ifdef CONFIG_MMC_UNSAFE_RESUME 499#ifdef CONFIG_MMC_UNSAFE_RESUME
510 500
511/* 501/*
@@ -560,8 +550,6 @@ static void mmc_resume(struct mmc_host *host)
560static const struct mmc_bus_ops mmc_ops = { 550static const struct mmc_bus_ops mmc_ops = {
561 .remove = mmc_remove, 551 .remove = mmc_remove,
562 .detect = mmc_detect, 552 .detect = mmc_detect,
563 .sysfs_add = mmc_sysfs_add,
564 .sysfs_remove = mmc_sysfs_remove,
565 .suspend = mmc_suspend, 553 .suspend = mmc_suspend,
566 .resume = mmc_resume, 554 .resume = mmc_resume,
567}; 555};
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index d1c1e0f592f..7ef3b15c5e3 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -18,7 +18,6 @@
18#include <linux/mmc/sd.h> 18#include <linux/mmc/sd.h>
19 19
20#include "core.h" 20#include "core.h"
21#include "sysfs.h"
22#include "bus.h" 21#include "bus.h"
23#include "mmc_ops.h" 22#include "mmc_ops.h"
24#include "sd_ops.h" 23#include "sd_ops.h"
@@ -283,6 +282,47 @@ out:
283 return err; 282 return err;
284} 283}
285 284
285MMC_DEV_ATTR(cid, "%08x%08x%08x%08x\n", card->raw_cid[0], card->raw_cid[1],
286 card->raw_cid[2], card->raw_cid[3]);
287MMC_DEV_ATTR(csd, "%08x%08x%08x%08x\n", card->raw_csd[0], card->raw_csd[1],
288 card->raw_csd[2], card->raw_csd[3]);
289MMC_DEV_ATTR(scr, "%08x%08x\n", card->raw_scr[0], card->raw_scr[1]);
290MMC_DEV_ATTR(date, "%02d/%04d\n", card->cid.month, card->cid.year);
291MMC_DEV_ATTR(fwrev, "0x%x\n", card->cid.fwrev);
292MMC_DEV_ATTR(hwrev, "0x%x\n", card->cid.hwrev);
293MMC_DEV_ATTR(manfid, "0x%06x\n", card->cid.manfid);
294MMC_DEV_ATTR(name, "%s\n", card->cid.prod_name);
295MMC_DEV_ATTR(oemid, "0x%04x\n", card->cid.oemid);
296MMC_DEV_ATTR(serial, "0x%08x\n", card->cid.serial);
297
298
299static struct attribute *sd_std_attrs[] = {
300 &dev_attr_cid.attr,
301 &dev_attr_csd.attr,
302 &dev_attr_scr.attr,
303 &dev_attr_date.attr,
304 &dev_attr_fwrev.attr,
305 &dev_attr_hwrev.attr,
306 &dev_attr_manfid.attr,
307 &dev_attr_name.attr,
308 &dev_attr_oemid.attr,
309 &dev_attr_serial.attr,
310 NULL,
311};
312
313static struct attribute_group sd_std_attr_group = {
314 .attrs = sd_std_attrs,
315};
316
317static struct attribute_group *sd_attr_groups[] = {
318 &sd_std_attr_group,
319 NULL,
320};
321
322static struct device_type sd_type = {
323 .groups = sd_attr_groups,
324};
325
286/* 326/*
287 * Handle the detection and initialisation of a card. 327 * Handle the detection and initialisation of a card.
288 * 328 *
@@ -352,7 +392,7 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
352 /* 392 /*
353 * Allocate card structure. 393 * Allocate card structure.
354 */ 394 */
355 card = mmc_alloc_card(host); 395 card = mmc_alloc_card(host, &sd_type);
356 if (IS_ERR(card)) { 396 if (IS_ERR(card)) {
357 err = PTR_ERR(card); 397 err = PTR_ERR(card);
358 goto err; 398 goto err;
@@ -518,55 +558,6 @@ static void mmc_sd_detect(struct mmc_host *host)
518 } 558 }
519} 559}
520 560
521MMC_ATTR_FN(cid, "%08x%08x%08x%08x\n", card->raw_cid[0], card->raw_cid[1],
522 card->raw_cid[2], card->raw_cid[3]);
523MMC_ATTR_FN(csd, "%08x%08x%08x%08x\n", card->raw_csd[0], card->raw_csd[1],
524 card->raw_csd[2], card->raw_csd[3]);
525MMC_ATTR_FN(scr, "%08x%08x\n", card->raw_scr[0], card->raw_scr[1]);
526MMC_ATTR_FN(date, "%02d/%04d\n", card->cid.month, card->cid.year);
527MMC_ATTR_FN(fwrev, "0x%x\n", card->cid.fwrev);
528MMC_ATTR_FN(hwrev, "0x%x\n", card->cid.hwrev);
529MMC_ATTR_FN(manfid, "0x%06x\n", card->cid.manfid);
530MMC_ATTR_FN(name, "%s\n", card->cid.prod_name);
531MMC_ATTR_FN(oemid, "0x%04x\n", card->cid.oemid);
532MMC_ATTR_FN(serial, "0x%08x\n", card->cid.serial);
533
534static struct device_attribute mmc_sd_dev_attrs[] = {
535 MMC_ATTR_RO(cid),
536 MMC_ATTR_RO(csd),
537 MMC_ATTR_RO(scr),
538 MMC_ATTR_RO(date),
539 MMC_ATTR_RO(fwrev),
540 MMC_ATTR_RO(hwrev),
541 MMC_ATTR_RO(manfid),
542 MMC_ATTR_RO(name),
543 MMC_ATTR_RO(oemid),
544 MMC_ATTR_RO(serial),
545 __ATTR_NULL,
546};
547
548/*
549 * Adds sysfs entries as relevant.
550 */
551static int mmc_sd_sysfs_add(struct mmc_host *host, struct mmc_card *card)
552{
553 int ret;
554
555 ret = mmc_add_attrs(card, mmc_sd_dev_attrs);
556 if (ret < 0)
557 return ret;
558
559 return 0;
560}
561
562/*
563 * Removes the sysfs entries added by mmc_sysfs_add().
564 */
565static void mmc_sd_sysfs_remove(struct mmc_host *host, struct mmc_card *card)
566{
567 mmc_remove_attrs(card, mmc_sd_dev_attrs);
568}
569
570#ifdef CONFIG_MMC_UNSAFE_RESUME 561#ifdef CONFIG_MMC_UNSAFE_RESUME
571 562
572/* 563/*
@@ -621,8 +612,6 @@ static void mmc_sd_resume(struct mmc_host *host)
621static const struct mmc_bus_ops mmc_sd_ops = { 612static const struct mmc_bus_ops mmc_sd_ops = {
622 .remove = mmc_sd_remove, 613 .remove = mmc_sd_remove,
623 .detect = mmc_sd_detect, 614 .detect = mmc_sd_detect,
624 .sysfs_add = mmc_sd_sysfs_add,
625 .sysfs_remove = mmc_sd_sysfs_remove,
626 .suspend = mmc_sd_suspend, 615 .suspend = mmc_sd_suspend,
627 .resume = mmc_sd_resume, 616 .resume = mmc_sd_resume,
628}; 617};
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index 87a50f456ef..4eab79e09cc 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -287,7 +287,7 @@ int mmc_attach_sdio(struct mmc_host *host, u32 ocr)
287 /* 287 /*
288 * Allocate card structure. 288 * Allocate card structure.
289 */ 289 */
290 card = mmc_alloc_card(host); 290 card = mmc_alloc_card(host, NULL);
291 if (IS_ERR(card)) { 291 if (IS_ERR(card)) {
292 err = PTR_ERR(card); 292 err = PTR_ERR(card);
293 goto err; 293 goto err;
diff --git a/drivers/mmc/core/sysfs.c b/drivers/mmc/core/sysfs.c
deleted file mode 100644
index 00a97e70f91..00000000000
--- a/drivers/mmc/core/sysfs.c
+++ /dev/null
@@ -1,43 +0,0 @@
1/*
2 * linux/drivers/mmc/core/sysfs.c
3 *
4 * Copyright (C) 2003 Russell King, All Rights Reserved.
5 * Copyright 2007 Pierre Ossman
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 *
11 * MMC sysfs/driver model support.
12 */
13#include <linux/device.h>
14
15#include <linux/mmc/card.h>
16
17#include "sysfs.h"
18
19int mmc_add_attrs(struct mmc_card *card, struct device_attribute *attrs)
20{
21 int error = 0;
22 int i;
23
24 for (i = 0; attr_name(attrs[i]); i++) {
25 error = device_create_file(&card->dev, &attrs[i]);
26 if (error) {
27 while (--i >= 0)
28 device_remove_file(&card->dev, &attrs[i]);
29 break;
30 }
31 }
32
33 return error;
34}
35
36void mmc_remove_attrs(struct mmc_card *card, struct device_attribute *attrs)
37{
38 int i;
39
40 for (i = 0; attr_name(attrs[i]); i++)
41 device_remove_file(&card->dev, &attrs[i]);
42}
43
diff --git a/drivers/mmc/core/sysfs.h b/drivers/mmc/core/sysfs.h
deleted file mode 100644
index 4b8f670bd10..00000000000
--- a/drivers/mmc/core/sysfs.h
+++ /dev/null
@@ -1,26 +0,0 @@
1/*
2 * linux/drivers/mmc/core/sysfs.h
3 *
4 * Copyright (C) 2003 Russell King, All Rights Reserved.
5 * Copyright 2007 Pierre Ossman
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11#ifndef _MMC_CORE_SYSFS_H
12#define _MMC_CORE_SYSFS_H
13
14#define MMC_ATTR_FN(name, fmt, args...) \
15static ssize_t mmc_##name##_show (struct device *dev, struct device_attribute *attr, char *buf) \
16{ \
17 struct mmc_card *card = container_of(dev, struct mmc_card, dev);\
18 return sprintf(buf, fmt, args); \
19}
20
21#define MMC_ATTR_RO(name) __ATTR(name, S_IRUGO, mmc_##name##_show, NULL)
22
23int mmc_add_attrs(struct mmc_card *card, struct device_attribute *attrs);
24void mmc_remove_attrs(struct mmc_card *card, struct device_attribute *attrs);
25
26#endif
diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c
index eeaaa9dce6e..ad1880c6751 100644
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
@@ -408,7 +408,6 @@ static int block2mtd_setup2(const char *val)
408 if (token[1]) { 408 if (token[1]) {
409 ret = parse_num(&erase_size, token[1]); 409 ret = parse_num(&erase_size, token[1]);
410 if (ret) { 410 if (ret) {
411 kfree(name);
412 parse_err("illegal erase size"); 411 parse_err("illegal erase size");
413 } 412 }
414 } 413 }
diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c
index f00e04efbe2..bc4649a17b9 100644
--- a/drivers/mtd/maps/physmap.c
+++ b/drivers/mtd/maps/physmap.c
@@ -202,9 +202,8 @@ static int physmap_flash_suspend(struct platform_device *dev, pm_message_t state
202 int ret = 0; 202 int ret = 0;
203 int i; 203 int i;
204 204
205 if (info) 205 for (i = 0; i < MAX_RESOURCES && info->mtd[i]; i++)
206 for (i = 0; i < MAX_RESOURCES; i++) 206 ret |= info->mtd[i]->suspend(info->mtd[i]);
207 ret |= info->mtd[i]->suspend(info->mtd[i]);
208 207
209 return ret; 208 return ret;
210} 209}
@@ -214,9 +213,9 @@ static int physmap_flash_resume(struct platform_device *dev)
214 struct physmap_flash_info *info = platform_get_drvdata(dev); 213 struct physmap_flash_info *info = platform_get_drvdata(dev);
215 int i; 214 int i;
216 215
217 if (info) 216 for (i = 0; i < MAX_RESOURCES && info->mtd[i]; i++)
218 for (i = 0; i < MAX_RESOURCES; i++) 217 info->mtd[i]->resume(info->mtd[i]);
219 info->mtd[i]->resume(info->mtd[i]); 218
220 return 0; 219 return 0;
221} 220}
222 221
@@ -225,8 +224,8 @@ static void physmap_flash_shutdown(struct platform_device *dev)
225 struct physmap_flash_info *info = platform_get_drvdata(dev); 224 struct physmap_flash_info *info = platform_get_drvdata(dev);
226 int i; 225 int i;
227 226
228 for (i = 0; i < MAX_RESOURCES; i++) 227 for (i = 0; i < MAX_RESOURCES && info->mtd[i]; i++)
229 if (info && info->mtd[i]->suspend(info->mtd[i]) == 0) 228 if (info->mtd[i]->suspend(info->mtd[i]) == 0)
230 info->mtd[i]->resume(info->mtd[i]); 229 info->mtd[i]->resume(info->mtd[i]);
231} 230}
232#else 231#else
diff --git a/drivers/mtd/nand/rtc_from4.c b/drivers/mtd/nand/rtc_from4.c
index 9189ec8f243..0f6ac250f43 100644
--- a/drivers/mtd/nand/rtc_from4.c
+++ b/drivers/mtd/nand/rtc_from4.c
@@ -460,7 +460,7 @@ static int rtc_from4_errstat(struct mtd_info *mtd, struct nand_chip *this,
460 er_stat |= 1 << 1; 460 er_stat |= 1 << 1;
461 kfree(buf); 461 kfree(buf);
462 } 462 }
463 463out:
464 rtn = status; 464 rtn = status;
465 if (er_stat == 0) { /* if ECC is available */ 465 if (er_stat == 0) { /* if ECC is available */
466 rtn = (status & ~NAND_STATUS_FAIL); /* clear the error bit */ 466 rtn = (status & ~NAND_STATUS_FAIL); /* clear the error bit */
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index b09a53de1c5..d63cc93f055 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -968,7 +968,7 @@ dm9000_interrupt(int irq, void *dev_id)
968struct dm9000_rxhdr { 968struct dm9000_rxhdr {
969 u8 RxPktReady; 969 u8 RxPktReady;
970 u8 RxStatus; 970 u8 RxStatus;
971 u16 RxLen; 971 __le16 RxLen;
972} __attribute__((__packed__)); 972} __attribute__((__packed__));
973 973
974/* 974/*
diff --git a/drivers/net/fec_mpc52xx_phy.c b/drivers/net/fec_mpc52xx_phy.c
index 1837584c450..6a3ac4ea97e 100644
--- a/drivers/net/fec_mpc52xx_phy.c
+++ b/drivers/net/fec_mpc52xx_phy.c
@@ -109,7 +109,8 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of, const struct of_device_i
109 int irq = irq_of_parse_and_map(child, 0); 109 int irq = irq_of_parse_and_map(child, 0);
110 if (irq != NO_IRQ) { 110 if (irq != NO_IRQ) {
111 const u32 *id = of_get_property(child, "reg", NULL); 111 const u32 *id = of_get_property(child, "reg", NULL);
112 bus->irq[*id] = irq; 112 if (id)
113 bus->irq[*id] = irq;
113 } 114 }
114 } 115 }
115 116
diff --git a/drivers/net/plip.c b/drivers/net/plip.c
index fee3d7b1feb..1e965427b0e 100644
--- a/drivers/net/plip.c
+++ b/drivers/net/plip.c
@@ -903,17 +903,18 @@ plip_interrupt(void *dev_id)
903 struct net_local *nl; 903 struct net_local *nl;
904 struct plip_local *rcv; 904 struct plip_local *rcv;
905 unsigned char c0; 905 unsigned char c0;
906 unsigned long flags;
906 907
907 nl = netdev_priv(dev); 908 nl = netdev_priv(dev);
908 rcv = &nl->rcv_data; 909 rcv = &nl->rcv_data;
909 910
910 spin_lock_irq (&nl->lock); 911 spin_lock_irqsave (&nl->lock, flags);
911 912
912 c0 = read_status(dev); 913 c0 = read_status(dev);
913 if ((c0 & 0xf8) != 0xc0) { 914 if ((c0 & 0xf8) != 0xc0) {
914 if ((dev->irq != -1) && (net_debug > 1)) 915 if ((dev->irq != -1) && (net_debug > 1))
915 printk(KERN_DEBUG "%s: spurious interrupt\n", dev->name); 916 printk(KERN_DEBUG "%s: spurious interrupt\n", dev->name);
916 spin_unlock_irq (&nl->lock); 917 spin_unlock_irqrestore (&nl->lock, flags);
917 return; 918 return;
918 } 919 }
919 920
@@ -942,7 +943,7 @@ plip_interrupt(void *dev_id)
942 break; 943 break;
943 } 944 }
944 945
945 spin_unlock_irq(&nl->lock); 946 spin_unlock_irqrestore(&nl->lock, flags);
946} 947}
947 948
948static int 949static int
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 54c662690f6..853bce0ac47 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -4329,10 +4329,14 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state)
4329 if (!hw) 4329 if (!hw)
4330 return 0; 4330 return 0;
4331 4331
4332 del_timer_sync(&hw->watchdog_timer);
4333 cancel_work_sync(&hw->restart_work);
4334
4332 for (i = 0; i < hw->ports; i++) { 4335 for (i = 0; i < hw->ports; i++) {
4333 struct net_device *dev = hw->dev[i]; 4336 struct net_device *dev = hw->dev[i];
4334 struct sky2_port *sky2 = netdev_priv(dev); 4337 struct sky2_port *sky2 = netdev_priv(dev);
4335 4338
4339 netif_device_detach(dev);
4336 if (netif_running(dev)) 4340 if (netif_running(dev))
4337 sky2_down(dev); 4341 sky2_down(dev);
4338 4342
@@ -4383,6 +4387,8 @@ static int sky2_resume(struct pci_dev *pdev)
4383 4387
4384 for (i = 0; i < hw->ports; i++) { 4388 for (i = 0; i < hw->ports; i++) {
4385 struct net_device *dev = hw->dev[i]; 4389 struct net_device *dev = hw->dev[i];
4390
4391 netif_device_attach(dev);
4386 if (netif_running(dev)) { 4392 if (netif_running(dev)) {
4387 err = sky2_up(dev); 4393 err = sky2_up(dev);
4388 if (err) { 4394 if (err) {
diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c
index 7e1f00131f9..df56a518691 100644
--- a/drivers/net/usb/rtl8150.c
+++ b/drivers/net/usb/rtl8150.c
@@ -376,7 +376,7 @@ static int alloc_all_urbs(rtl8150_t * dev)
376 return 0; 376 return 0;
377 } 377 }
378 dev->ctrl_urb = usb_alloc_urb(0, GFP_KERNEL); 378 dev->ctrl_urb = usb_alloc_urb(0, GFP_KERNEL);
379 if (!dev->intr_urb) { 379 if (!dev->ctrl_urb) {
380 usb_free_urb(dev->rx_urb); 380 usb_free_urb(dev->rx_urb);
381 usb_free_urb(dev->tx_urb); 381 usb_free_urb(dev->tx_urb);
382 usb_free_urb(dev->intr_urb); 382 usb_free_urb(dev->intr_urb);
diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c
index 7f4836b8e71..5fa4ba0d993 100644
--- a/drivers/pci/hotplug/pciehp_core.c
+++ b/drivers/pci/hotplug/pciehp_core.c
@@ -467,7 +467,7 @@ static int pciehp_probe(struct pcie_device *dev, const struct pcie_port_service_
467 t_slot = pciehp_find_slot(ctrl, ctrl->slot_device_offset); 467 t_slot = pciehp_find_slot(ctrl, ctrl->slot_device_offset);
468 468
469 t_slot->hpc_ops->get_adapter_status(t_slot, &value); /* Check if slot is occupied */ 469 t_slot->hpc_ops->get_adapter_status(t_slot, &value); /* Check if slot is occupied */
470 if (value) { 470 if (value && pciehp_force) {
471 rc = pciehp_enable_slot(t_slot); 471 rc = pciehp_enable_slot(t_slot);
472 if (rc) /* -ENODEV: shouldn't happen, but deal with it */ 472 if (rc) /* -ENODEV: shouldn't happen, but deal with it */
473 value = 0; 473 value = 0;
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
index 977d29b3229..4cb949f0ebd 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
@@ -1097,6 +1097,8 @@ static void iommu_free_domain(struct dmar_domain *domain)
1097} 1097}
1098 1098
1099static struct iova_domain reserved_iova_list; 1099static struct iova_domain reserved_iova_list;
1100static struct lock_class_key reserved_alloc_key;
1101static struct lock_class_key reserved_rbtree_key;
1100 1102
1101static void dmar_init_reserved_ranges(void) 1103static void dmar_init_reserved_ranges(void)
1102{ 1104{
@@ -1107,6 +1109,11 @@ static void dmar_init_reserved_ranges(void)
1107 1109
1108 init_iova_domain(&reserved_iova_list, DMA_32BIT_PFN); 1110 init_iova_domain(&reserved_iova_list, DMA_32BIT_PFN);
1109 1111
1112 lockdep_set_class(&reserved_iova_list.iova_alloc_lock,
1113 &reserved_alloc_key);
1114 lockdep_set_class(&reserved_iova_list.iova_rbtree_lock,
1115 &reserved_rbtree_key);
1116
1110 /* IOAPIC ranges shouldn't be accessed by DMA */ 1117 /* IOAPIC ranges shouldn't be accessed by DMA */
1111 iova = reserve_iova(&reserved_iova_list, IOVA_PFN(IOAPIC_RANGE_START), 1118 iova = reserve_iova(&reserved_iova_list, IOVA_PFN(IOAPIC_RANGE_START),
1112 IOVA_PFN(IOAPIC_RANGE_END)); 1119 IOVA_PFN(IOAPIC_RANGE_END));
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 183fddaa38b..a4445b7210b 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -314,24 +314,6 @@ int pci_find_ht_capability(struct pci_dev *dev, int ht_cap)
314} 314}
315EXPORT_SYMBOL_GPL(pci_find_ht_capability); 315EXPORT_SYMBOL_GPL(pci_find_ht_capability);
316 316
317void pcie_wait_pending_transaction(struct pci_dev *dev)
318{
319 int pos;
320 u16 reg16;
321
322 pos = pci_find_capability(dev, PCI_CAP_ID_EXP);
323 if (!pos)
324 return;
325 while (1) {
326 pci_read_config_word(dev, pos + PCI_EXP_DEVSTA, &reg16);
327 if (!(reg16 & PCI_EXP_DEVSTA_TRPND))
328 break;
329 cpu_relax();
330 }
331
332}
333EXPORT_SYMBOL_GPL(pcie_wait_pending_transaction);
334
335/** 317/**
336 * pci_find_parent_resource - return resource region of parent bus of given region 318 * pci_find_parent_resource - return resource region of parent bus of given region
337 * @dev: PCI device structure contains resources to be searched 319 * @dev: PCI device structure contains resources to be searched
@@ -936,9 +918,6 @@ pci_disable_device(struct pci_dev *dev)
936 if (atomic_sub_return(1, &dev->enable_cnt) != 0) 918 if (atomic_sub_return(1, &dev->enable_cnt) != 0)
937 return; 919 return;
938 920
939 /* Wait for all transactions are finished before disabling the device */
940 pcie_wait_pending_transaction(dev);
941
942 pci_read_config_word(dev, PCI_COMMAND, &pci_command); 921 pci_read_config_word(dev, PCI_COMMAND, &pci_command);
943 if (pci_command & PCI_COMMAND_MASTER) { 922 if (pci_command & PCI_COMMAND_MASTER) {
944 pci_command &= ~PCI_COMMAND_MASTER; 923 pci_command &= ~PCI_COMMAND_MASTER;
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index e9a333d9855..e887aa45c9c 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -951,6 +951,12 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_e
951 * accesses to the SMBus registers, with potentially bad effects. Thus you 951 * accesses to the SMBus registers, with potentially bad effects. Thus you
952 * should be very careful when adding new entries: if SMM is accessing the 952 * should be very careful when adding new entries: if SMM is accessing the
953 * Intel SMBus, this is a very good reason to leave it hidden. 953 * Intel SMBus, this is a very good reason to leave it hidden.
954 *
955 * Likewise, many recent laptops use ACPI for thermal management. If the
956 * ACPI DSDT code accesses the SMBus, then Linux should not access it
957 * natively, and keeping the SMBus hidden is the right thing to do. If you
958 * are about to add an entry in the table below, please first disassemble
959 * the DSDT and double-check that there is no code accessing the SMBus.
954 */ 960 */
955static int asus_hides_smbus; 961static int asus_hides_smbus;
956 962
@@ -1028,11 +1034,6 @@ static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev)
1028 case 0x12bf: /* HP xw4100 */ 1034 case 0x12bf: /* HP xw4100 */
1029 asus_hides_smbus = 1; 1035 asus_hides_smbus = 1;
1030 } 1036 }
1031 else if (dev->device == PCI_DEVICE_ID_INTEL_82915GM_HB)
1032 switch (dev->subsystem_device) {
1033 case 0x099c: /* HP Compaq nx6110 */
1034 asus_hides_smbus = 1;
1035 }
1036 } else if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG)) { 1037 } else if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG)) {
1037 if (dev->device == PCI_DEVICE_ID_INTEL_82855PM_HB) 1038 if (dev->device == PCI_DEVICE_ID_INTEL_82855PM_HB)
1038 switch(dev->subsystem_device) { 1039 switch(dev->subsystem_device) {
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 125e7b7f34f..f7cb8e0758b 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -486,12 +486,7 @@ void __ref pci_bus_size_bridges(struct pci_bus *bus)
486 break; 486 break;
487 487
488 case PCI_CLASS_BRIDGE_PCI: 488 case PCI_CLASS_BRIDGE_PCI:
489 /* don't size subtractive decoding (transparent)
490 * PCI-to-PCI bridges */
491 if (bus->self->transparent)
492 break;
493 pci_bridge_check_ranges(bus); 489 pci_bridge_check_ranges(bus);
494 /* fall through */
495 default: 490 default:
496 pbus_size_io(bus); 491 pbus_size_io(bus);
497 /* If the bridge supports prefetchable range, size it 492 /* If the bridge supports prefetchable range, size it
diff --git a/drivers/pnp/isapnp/core.c b/drivers/pnp/isapnp/core.c
index 2c925b7cd93..257f5d827d8 100644
--- a/drivers/pnp/isapnp/core.c
+++ b/drivers/pnp/isapnp/core.c
@@ -88,6 +88,15 @@ MODULE_LICENSE("GPL");
88#define _LTAG_MEM32RANGE 0x85 88#define _LTAG_MEM32RANGE 0x85
89#define _LTAG_FIXEDMEM32RANGE 0x86 89#define _LTAG_FIXEDMEM32RANGE 0x86
90 90
91/*
92 * Sizes of ISAPNP logical device configuration register sets.
93 * See PNP-ISA-v1.0a.pdf, Appendix A.
94 */
95#define ISAPNP_MAX_MEM 4
96#define ISAPNP_MAX_PORT 8
97#define ISAPNP_MAX_IRQ 2
98#define ISAPNP_MAX_DMA 2
99
91static unsigned char isapnp_checksum_value; 100static unsigned char isapnp_checksum_value;
92static DEFINE_MUTEX(isapnp_cfg_mutex); 101static DEFINE_MUTEX(isapnp_cfg_mutex);
93static int isapnp_csn_count; 102static int isapnp_csn_count;
@@ -945,14 +954,14 @@ static int isapnp_read_resources(struct pnp_dev *dev,
945 954
946 dev->active = isapnp_read_byte(ISAPNP_CFG_ACTIVATE); 955 dev->active = isapnp_read_byte(ISAPNP_CFG_ACTIVATE);
947 if (dev->active) { 956 if (dev->active) {
948 for (tmp = 0; tmp < PNP_MAX_PORT; tmp++) { 957 for (tmp = 0; tmp < ISAPNP_MAX_PORT; tmp++) {
949 ret = isapnp_read_word(ISAPNP_CFG_PORT + (tmp << 1)); 958 ret = isapnp_read_word(ISAPNP_CFG_PORT + (tmp << 1));
950 if (!ret) 959 if (!ret)
951 continue; 960 continue;
952 res->port_resource[tmp].start = ret; 961 res->port_resource[tmp].start = ret;
953 res->port_resource[tmp].flags = IORESOURCE_IO; 962 res->port_resource[tmp].flags = IORESOURCE_IO;
954 } 963 }
955 for (tmp = 0; tmp < PNP_MAX_MEM; tmp++) { 964 for (tmp = 0; tmp < ISAPNP_MAX_MEM; tmp++) {
956 ret = 965 ret =
957 isapnp_read_word(ISAPNP_CFG_MEM + (tmp << 3)) << 8; 966 isapnp_read_word(ISAPNP_CFG_MEM + (tmp << 3)) << 8;
958 if (!ret) 967 if (!ret)
@@ -960,7 +969,7 @@ static int isapnp_read_resources(struct pnp_dev *dev,
960 res->mem_resource[tmp].start = ret; 969 res->mem_resource[tmp].start = ret;
961 res->mem_resource[tmp].flags = IORESOURCE_MEM; 970 res->mem_resource[tmp].flags = IORESOURCE_MEM;
962 } 971 }
963 for (tmp = 0; tmp < PNP_MAX_IRQ; tmp++) { 972 for (tmp = 0; tmp < ISAPNP_MAX_IRQ; tmp++) {
964 ret = 973 ret =
965 (isapnp_read_word(ISAPNP_CFG_IRQ + (tmp << 1)) >> 974 (isapnp_read_word(ISAPNP_CFG_IRQ + (tmp << 1)) >>
966 8); 975 8);
@@ -970,7 +979,7 @@ static int isapnp_read_resources(struct pnp_dev *dev,
970 res->irq_resource[tmp].end = ret; 979 res->irq_resource[tmp].end = ret;
971 res->irq_resource[tmp].flags = IORESOURCE_IRQ; 980 res->irq_resource[tmp].flags = IORESOURCE_IRQ;
972 } 981 }
973 for (tmp = 0; tmp < PNP_MAX_DMA; tmp++) { 982 for (tmp = 0; tmp < ISAPNP_MAX_DMA; tmp++) {
974 ret = isapnp_read_byte(ISAPNP_CFG_DMA + tmp); 983 ret = isapnp_read_byte(ISAPNP_CFG_DMA + tmp);
975 if (ret == 4) 984 if (ret == 4)
976 continue; 985 continue;
@@ -1002,14 +1011,14 @@ static int isapnp_set_resources(struct pnp_dev *dev,
1002 isapnp_cfg_begin(dev->card->number, dev->number); 1011 isapnp_cfg_begin(dev->card->number, dev->number);
1003 dev->active = 1; 1012 dev->active = 1;
1004 for (tmp = 0; 1013 for (tmp = 0;
1005 tmp < PNP_MAX_PORT 1014 tmp < ISAPNP_MAX_PORT
1006 && (res->port_resource[tmp]. 1015 && (res->port_resource[tmp].
1007 flags & (IORESOURCE_IO | IORESOURCE_UNSET)) == IORESOURCE_IO; 1016 flags & (IORESOURCE_IO | IORESOURCE_UNSET)) == IORESOURCE_IO;
1008 tmp++) 1017 tmp++)
1009 isapnp_write_word(ISAPNP_CFG_PORT + (tmp << 1), 1018 isapnp_write_word(ISAPNP_CFG_PORT + (tmp << 1),
1010 res->port_resource[tmp].start); 1019 res->port_resource[tmp].start);
1011 for (tmp = 0; 1020 for (tmp = 0;
1012 tmp < PNP_MAX_IRQ 1021 tmp < ISAPNP_MAX_IRQ
1013 && (res->irq_resource[tmp]. 1022 && (res->irq_resource[tmp].
1014 flags & (IORESOURCE_IRQ | IORESOURCE_UNSET)) == IORESOURCE_IRQ; 1023 flags & (IORESOURCE_IRQ | IORESOURCE_UNSET)) == IORESOURCE_IRQ;
1015 tmp++) { 1024 tmp++) {
@@ -1019,14 +1028,14 @@ static int isapnp_set_resources(struct pnp_dev *dev,
1019 isapnp_write_byte(ISAPNP_CFG_IRQ + (tmp << 1), irq); 1028 isapnp_write_byte(ISAPNP_CFG_IRQ + (tmp << 1), irq);
1020 } 1029 }
1021 for (tmp = 0; 1030 for (tmp = 0;
1022 tmp < PNP_MAX_DMA 1031 tmp < ISAPNP_MAX_DMA
1023 && (res->dma_resource[tmp]. 1032 && (res->dma_resource[tmp].
1024 flags & (IORESOURCE_DMA | IORESOURCE_UNSET)) == IORESOURCE_DMA; 1033 flags & (IORESOURCE_DMA | IORESOURCE_UNSET)) == IORESOURCE_DMA;
1025 tmp++) 1034 tmp++)
1026 isapnp_write_byte(ISAPNP_CFG_DMA + tmp, 1035 isapnp_write_byte(ISAPNP_CFG_DMA + tmp,
1027 res->dma_resource[tmp].start); 1036 res->dma_resource[tmp].start);
1028 for (tmp = 0; 1037 for (tmp = 0;
1029 tmp < PNP_MAX_MEM 1038 tmp < ISAPNP_MAX_MEM
1030 && (res->mem_resource[tmp]. 1039 && (res->mem_resource[tmp].
1031 flags & (IORESOURCE_MEM | IORESOURCE_UNSET)) == IORESOURCE_MEM; 1040 flags & (IORESOURCE_MEM | IORESOURCE_UNSET)) == IORESOURCE_MEM;
1032 tmp++) 1041 tmp++)
diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c
index 6aa231ef642..2dcd1960aca 100644
--- a/drivers/pnp/pnpacpi/rsparser.c
+++ b/drivers/pnp/pnpacpi/rsparser.c
@@ -85,7 +85,7 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res,
85 i < PNP_MAX_IRQ) 85 i < PNP_MAX_IRQ)
86 i++; 86 i++;
87 if (i >= PNP_MAX_IRQ && !warned) { 87 if (i >= PNP_MAX_IRQ && !warned) {
88 printk(KERN_ERR "pnpacpi: exceeded the max number of IRQ " 88 printk(KERN_WARNING "pnpacpi: exceeded the max number of IRQ "
89 "resources: %d \n", PNP_MAX_IRQ); 89 "resources: %d \n", PNP_MAX_IRQ);
90 warned = 1; 90 warned = 1;
91 return; 91 return;
@@ -187,7 +187,7 @@ static void pnpacpi_parse_allocated_dmaresource(struct pnp_resource_table *res,
187 res->dma_resource[i].start = dma; 187 res->dma_resource[i].start = dma;
188 res->dma_resource[i].end = dma; 188 res->dma_resource[i].end = dma;
189 } else if (!warned) { 189 } else if (!warned) {
190 printk(KERN_ERR "pnpacpi: exceeded the max number of DMA " 190 printk(KERN_WARNING "pnpacpi: exceeded the max number of DMA "
191 "resources: %d \n", PNP_MAX_DMA); 191 "resources: %d \n", PNP_MAX_DMA);
192 warned = 1; 192 warned = 1;
193 } 193 }
@@ -213,7 +213,7 @@ static void pnpacpi_parse_allocated_ioresource(struct pnp_resource_table *res,
213 res->port_resource[i].start = io; 213 res->port_resource[i].start = io;
214 res->port_resource[i].end = io + len - 1; 214 res->port_resource[i].end = io + len - 1;
215 } else if (!warned) { 215 } else if (!warned) {
216 printk(KERN_ERR "pnpacpi: exceeded the max number of IO " 216 printk(KERN_WARNING "pnpacpi: exceeded the max number of IO "
217 "resources: %d \n", PNP_MAX_PORT); 217 "resources: %d \n", PNP_MAX_PORT);
218 warned = 1; 218 warned = 1;
219 } 219 }
@@ -241,7 +241,7 @@ static void pnpacpi_parse_allocated_memresource(struct pnp_resource_table *res,
241 res->mem_resource[i].start = mem; 241 res->mem_resource[i].start = mem;
242 res->mem_resource[i].end = mem + len - 1; 242 res->mem_resource[i].end = mem + len - 1;
243 } else if (!warned) { 243 } else if (!warned) {
244 printk(KERN_ERR "pnpacpi: exceeded the max number of mem " 244 printk(KERN_WARNING "pnpacpi: exceeded the max number of mem "
245 "resources: %d\n", PNP_MAX_MEM); 245 "resources: %d\n", PNP_MAX_MEM);
246 warned = 1; 246 warned = 1;
247 } 247 }
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 82f5ad9c3af..9e7de63b26e 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -16,7 +16,7 @@ menuconfig RTC_CLASS
16 probably want to enable one or more of the interfaces below. 16 probably want to enable one or more of the interfaces below.
17 17
18 This driver can also be built as a module. If so, the module 18 This driver can also be built as a module. If so, the module
19 will be called rtc-class. 19 will be called rtc-core.
20 20
21if RTC_CLASS 21if RTC_CLASS
22 22
diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
index bbf10ecf416..56728a2a338 100644
--- a/drivers/rtc/rtc-at91sam9.c
+++ b/drivers/rtc/rtc-at91sam9.c
@@ -274,7 +274,7 @@ static irqreturn_t at91_rtc_interrupt(int irq, void *_rtc)
274 * SR clears it, so we must only read it in this irq handler! 274 * SR clears it, so we must only read it in this irq handler!
275 */ 275 */
276 mr = rtt_readl(rtc, MR) & (AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN); 276 mr = rtt_readl(rtc, MR) & (AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN);
277 sr = rtt_readl(rtc, SR) & mr; 277 sr = rtt_readl(rtc, SR) & (mr >> 16);
278 if (!sr) 278 if (!sr)
279 return IRQ_NONE; 279 return IRQ_NONE;
280 280
@@ -321,6 +321,10 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
321 if (!rtc) 321 if (!rtc)
322 return -ENOMEM; 322 return -ENOMEM;
323 323
324 /* platform setup code should have handled this; sigh */
325 if (!device_can_wakeup(&pdev->dev))
326 device_init_wakeup(&pdev->dev, 1);
327
324 platform_set_drvdata(pdev, rtc); 328 platform_set_drvdata(pdev, rtc);
325 rtc->rtt = (void __force __iomem *) (AT91_VA_BASE_SYS - AT91_BASE_SYS); 329 rtc->rtt = (void __force __iomem *) (AT91_VA_BASE_SYS - AT91_BASE_SYS);
326 rtc->rtt += r->start; 330 rtc->rtt += r->start;
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index c46666a2480..b9d374082b6 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -325,7 +325,7 @@ menuconfig SCSI_LOWLEVEL
325 depends on SCSI!=n 325 depends on SCSI!=n
326 default y 326 default y
327 327
328if SCSI_LOWLEVEL 328if SCSI_LOWLEVEL && SCSI
329 329
330config ISCSI_TCP 330config ISCSI_TCP
331 tristate "iSCSI Initiator over TCP/IP" 331 tristate "iSCSI Initiator over TCP/IP"
diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c
index f608d4a1d6d..792b2e807bf 100644
--- a/drivers/scsi/a100u2w.c
+++ b/drivers/scsi/a100u2w.c
@@ -674,12 +674,13 @@ static struct orc_scb *__orc_alloc_scb(struct orc_host * host)
674 for (index = 0; index < 32; index++) { 674 for (index = 0; index < 32; index++) {
675 if ((host->allocation_map[channel][i] >> index) & 0x01) { 675 if ((host->allocation_map[channel][i] >> index) & 0x01) {
676 host->allocation_map[channel][i] &= ~(1 << index); 676 host->allocation_map[channel][i] &= ~(1 << index);
677 break; 677 idx = index + 32 * i;
678 /*
679 * Translate the index to a structure instance
680 */
681 return host->scb_virt + idx;
678 } 682 }
679 } 683 }
680 idx = index + 32 * i;
681 /* Translate the index to a structure instance */
682 return (struct orc_scb *) ((unsigned long) host->scb_virt + (idx * sizeof(struct orc_scb)));
683 } 684 }
684 return NULL; 685 return NULL;
685} 686}
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index 3c2d6888bb8..8591585e5cc 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -6439,7 +6439,7 @@ static int AdvLoadMicrocode(AdvPortAddr iop_base, unsigned char *buf, int size,
6439 i += 2; 6439 i += 2;
6440 len += 2; 6440 len += 2;
6441 } else { 6441 } else {
6442 unsigned char off = buf[i] * 2; 6442 unsigned int off = buf[i] * 2;
6443 unsigned short word = (buf[off + 1] << 8) | buf[off]; 6443 unsigned short word = (buf[off + 1] << 8) | buf[off];
6444 AdvWriteWordAutoIncLram(iop_base, word); 6444 AdvWriteWordAutoIncLram(iop_base, word);
6445 len += 2; 6445 len += 2;
diff --git a/drivers/scsi/arcmsr/arcmsr.h b/drivers/scsi/arcmsr/arcmsr.h
index 0393707bdfc..3288be2e49f 100644
--- a/drivers/scsi/arcmsr/arcmsr.h
+++ b/drivers/scsi/arcmsr/arcmsr.h
@@ -341,13 +341,13 @@ struct MessageUnit_B
341 uint32_t done_qbuffer[ARCMSR_MAX_HBB_POSTQUEUE]; 341 uint32_t done_qbuffer[ARCMSR_MAX_HBB_POSTQUEUE];
342 uint32_t postq_index; 342 uint32_t postq_index;
343 uint32_t doneq_index; 343 uint32_t doneq_index;
344 uint32_t __iomem *drv2iop_doorbell_reg; 344 void __iomem *drv2iop_doorbell_reg;
345 uint32_t __iomem *drv2iop_doorbell_mask_reg; 345 void __iomem *drv2iop_doorbell_mask_reg;
346 uint32_t __iomem *iop2drv_doorbell_reg; 346 void __iomem *iop2drv_doorbell_reg;
347 uint32_t __iomem *iop2drv_doorbell_mask_reg; 347 void __iomem *iop2drv_doorbell_mask_reg;
348 uint32_t __iomem *msgcode_rwbuffer_reg; 348 void __iomem *msgcode_rwbuffer_reg;
349 uint32_t __iomem *ioctl_wbuffer_reg; 349 void __iomem *ioctl_wbuffer_reg;
350 uint32_t __iomem *ioctl_rbuffer_reg; 350 void __iomem *ioctl_rbuffer_reg;
351}; 351};
352 352
353/* 353/*
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 27ebd336409..0b2080d3357 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -493,6 +493,12 @@ int __gdth_execute(struct scsi_device *sdev, gdth_cmd_str *gdtcmd, char *cmnd,
493 if (!scp) 493 if (!scp)
494 return -ENOMEM; 494 return -ENOMEM;
495 495
496 scp->sense_buffer = kzalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL);
497 if (!scp->sense_buffer) {
498 kfree(scp);
499 return -ENOMEM;
500 }
501
496 scp->device = sdev; 502 scp->device = sdev;
497 memset(&cmndinfo, 0, sizeof(cmndinfo)); 503 memset(&cmndinfo, 0, sizeof(cmndinfo));
498 504
@@ -513,6 +519,7 @@ int __gdth_execute(struct scsi_device *sdev, gdth_cmd_str *gdtcmd, char *cmnd,
513 rval = cmndinfo.status; 519 rval = cmndinfo.status;
514 if (info) 520 if (info)
515 *info = cmndinfo.info; 521 *info = cmndinfo.info;
522 kfree(scp->sense_buffer);
516 kfree(scp); 523 kfree(scp);
517 return rval; 524 return rval;
518} 525}
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index 880c78bff0e..ed7e0a1fc34 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -218,18 +218,24 @@ int scsi_add_host(struct Scsi_Host *shost, struct device *dev)
218 218
219 get_device(&shost->shost_gendev); 219 get_device(&shost->shost_gendev);
220 220
221 if (shost->transportt->host_size && 221 if (shost->transportt->host_size) {
222 (shost->shost_data = kzalloc(shost->transportt->host_size, 222 shost->shost_data = kzalloc(shost->transportt->host_size,
223 GFP_KERNEL)) == NULL) 223 GFP_KERNEL);
224 goto out_del_classdev; 224 if (shost->shost_data == NULL) {
225 error = -ENOMEM;
226 goto out_del_classdev;
227 }
228 }
225 229
226 if (shost->transportt->create_work_queue) { 230 if (shost->transportt->create_work_queue) {
227 snprintf(shost->work_q_name, KOBJ_NAME_LEN, "scsi_wq_%d", 231 snprintf(shost->work_q_name, KOBJ_NAME_LEN, "scsi_wq_%d",
228 shost->host_no); 232 shost->host_no);
229 shost->work_q = create_singlethread_workqueue( 233 shost->work_q = create_singlethread_workqueue(
230 shost->work_q_name); 234 shost->work_q_name);
231 if (!shost->work_q) 235 if (!shost->work_q) {
236 error = -EINVAL;
232 goto out_free_shost_data; 237 goto out_free_shost_data;
238 }
233 } 239 }
234 240
235 error = scsi_sysfs_add_host(shost); 241 error = scsi_sysfs_add_host(shost);
diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c
index 31b9af22424..709a6f75ca9 100644
--- a/drivers/scsi/libsas/sas_discover.c
+++ b/drivers/scsi/libsas/sas_discover.c
@@ -295,11 +295,14 @@ static void sas_discover_domain(struct work_struct *work)
295 case FANOUT_DEV: 295 case FANOUT_DEV:
296 error = sas_discover_root_expander(dev); 296 error = sas_discover_root_expander(dev);
297 break; 297 break;
298#ifdef CONFIG_SCSI_SAS_ATA
299 case SATA_DEV: 298 case SATA_DEV:
300 case SATA_PM: 299 case SATA_PM:
300#ifdef CONFIG_SCSI_SAS_ATA
301 error = sas_discover_sata(dev); 301 error = sas_discover_sata(dev);
302 break; 302 break;
303#else
304 SAS_DPRINTK("ATA device seen but CONFIG_SCSI_SAS_ATA=N so cannot attach\n");
305 /* Fall through */
303#endif 306#endif
304 default: 307 default:
305 error = -ENXIO; 308 error = -ENXIO;
diff --git a/drivers/scsi/mvsas.c b/drivers/scsi/mvsas.c
index 5ec0665b3a3..e55b9037adb 100644
--- a/drivers/scsi/mvsas.c
+++ b/drivers/scsi/mvsas.c
@@ -37,11 +37,13 @@
37#include <linux/dma-mapping.h> 37#include <linux/dma-mapping.h>
38#include <linux/ctype.h> 38#include <linux/ctype.h>
39#include <scsi/libsas.h> 39#include <scsi/libsas.h>
40#include <scsi/scsi_tcq.h>
41#include <scsi/sas_ata.h>
40#include <asm/io.h> 42#include <asm/io.h>
41 43
42#define DRV_NAME "mvsas" 44#define DRV_NAME "mvsas"
43#define DRV_VERSION "0.5.1" 45#define DRV_VERSION "0.5.2"
44#define _MV_DUMP 0 46#define _MV_DUMP 0
45#define MVS_DISABLE_NVRAM 47#define MVS_DISABLE_NVRAM
46#define MVS_DISABLE_MSI 48#define MVS_DISABLE_MSI
47 49
@@ -52,7 +54,7 @@
52 readl(regs + MVS_##reg); \ 54 readl(regs + MVS_##reg); \
53 } while (0) 55 } while (0)
54 56
55#define MVS_ID_NOT_MAPPED 0xff 57#define MVS_ID_NOT_MAPPED 0x7f
56#define MVS_CHIP_SLOT_SZ (1U << mvi->chip->slot_width) 58#define MVS_CHIP_SLOT_SZ (1U << mvi->chip->slot_width)
57 59
58/* offset for D2H FIS in the Received FIS List Structure */ 60/* offset for D2H FIS in the Received FIS List Structure */
@@ -84,6 +86,7 @@ enum driver_configuration {
84 MVS_RX_FIS_COUNT = 17, /* Optional rx'd FISs (max 17) */ 86 MVS_RX_FIS_COUNT = 17, /* Optional rx'd FISs (max 17) */
85 87
86 MVS_QUEUE_SIZE = 30, /* Support Queue depth */ 88 MVS_QUEUE_SIZE = 30, /* Support Queue depth */
89 MVS_CAN_QUEUE = MVS_SLOTS - 1, /* SCSI Queue depth */
87}; 90};
88 91
89/* unchangeable hardware details */ 92/* unchangeable hardware details */
@@ -358,7 +361,20 @@ enum hw_register_bits {
358 361
359 /* VSR */ 362 /* VSR */
360 /* PHYMODE 6 (CDB) */ 363 /* PHYMODE 6 (CDB) */
361 PHY_MODE6_DTL_SPEED = (1U << 27), 364 PHY_MODE6_LATECLK = (1U << 29), /* Lock Clock */
365 PHY_MODE6_DTL_SPEED = (1U << 27), /* Digital Loop Speed */
366 PHY_MODE6_FC_ORDER = (1U << 26), /* Fibre Channel Mode Order*/
367 PHY_MODE6_MUCNT_EN = (1U << 24), /* u Count Enable */
368 PHY_MODE6_SEL_MUCNT_LEN = (1U << 22), /* Training Length Select */
369 PHY_MODE6_SELMUPI = (1U << 20), /* Phase Multi Select (init) */
370 PHY_MODE6_SELMUPF = (1U << 18), /* Phase Multi Select (final) */
371 PHY_MODE6_SELMUFF = (1U << 16), /* Freq Loop Multi Sel(final) */
372 PHY_MODE6_SELMUFI = (1U << 14), /* Freq Loop Multi Sel(init) */
373 PHY_MODE6_FREEZE_LOOP = (1U << 12), /* Freeze Rx CDR Loop */
374 PHY_MODE6_INT_RXFOFFS = (1U << 3), /* Rx CDR Freq Loop Enable */
375 PHY_MODE6_FRC_RXFOFFS = (1U << 2), /* Initial Rx CDR Offset */
376 PHY_MODE6_STAU_0D8 = (1U << 1), /* Rx CDR Freq Loop Saturate */
377 PHY_MODE6_RXSAT_DIS = (1U << 0), /* Saturate Ctl */
362}; 378};
363 379
364enum mvs_info_flags { 380enum mvs_info_flags {
@@ -511,7 +527,43 @@ enum status_buffer {
511}; 527};
512 528
513enum error_info_rec { 529enum error_info_rec {
514 CMD_ISS_STPD = (1U << 31), /* Cmd Issue Stopped */ 530 CMD_ISS_STPD = (1U << 31), /* Cmd Issue Stopped */
531 CMD_PI_ERR = (1U << 30), /* Protection info error. see flags2 */
532 RSP_OVER = (1U << 29), /* rsp buffer overflow */
533 RETRY_LIM = (1U << 28), /* FIS/frame retry limit exceeded */
534 UNK_FIS = (1U << 27), /* unknown FIS */
535 DMA_TERM = (1U << 26), /* DMA terminate primitive rx'd */
536 SYNC_ERR = (1U << 25), /* SYNC rx'd during frame xmit */
537 TFILE_ERR = (1U << 24), /* SATA taskfile Error bit set */
538 R_ERR = (1U << 23), /* SATA returned R_ERR prim */
539 RD_OFS = (1U << 20), /* Read DATA frame invalid offset */
540 XFER_RDY_OFS = (1U << 19), /* XFER_RDY offset error */
541 UNEXP_XFER_RDY = (1U << 18), /* unexpected XFER_RDY error */
542 DATA_OVER_UNDER = (1U << 16), /* data overflow/underflow */
543 INTERLOCK = (1U << 15), /* interlock error */
544 NAK = (1U << 14), /* NAK rx'd */
545 ACK_NAK_TO = (1U << 13), /* ACK/NAK timeout */
546 CXN_CLOSED = (1U << 12), /* cxn closed w/out ack/nak */
547 OPEN_TO = (1U << 11), /* I_T nexus lost, open cxn timeout */
548 PATH_BLOCKED = (1U << 10), /* I_T nexus lost, pathway blocked */
549 NO_DEST = (1U << 9), /* I_T nexus lost, no destination */
550 STP_RES_BSY = (1U << 8), /* STP resources busy */
551 BREAK = (1U << 7), /* break received */
552 BAD_DEST = (1U << 6), /* bad destination */
553 BAD_PROTO = (1U << 5), /* protocol not supported */
554 BAD_RATE = (1U << 4), /* cxn rate not supported */
555 WRONG_DEST = (1U << 3), /* wrong destination error */
556 CREDIT_TO = (1U << 2), /* credit timeout */
557 WDOG_TO = (1U << 1), /* watchdog timeout */
558 BUF_PAR = (1U << 0), /* buffer parity error */
559};
560
561enum error_info_rec_2 {
562 SLOT_BSY_ERR = (1U << 31), /* Slot Busy Error */
563 GRD_CHK_ERR = (1U << 14), /* Guard Check Error */
564 APP_CHK_ERR = (1U << 13), /* Application Check error */
565 REF_CHK_ERR = (1U << 12), /* Reference Check Error */
566 USR_BLK_NM = (1U << 0), /* User Block Number */
515}; 567};
516 568
517struct mvs_chip_info { 569struct mvs_chip_info {
@@ -543,28 +595,12 @@ struct mvs_cmd_hdr {
543 __le32 reserved[4]; 595 __le32 reserved[4];
544}; 596};
545 597
546struct mvs_slot_info {
547 struct sas_task *task;
548 u32 n_elem;
549 u32 tx;
550
551 /* DMA buffer for storing cmd tbl, open addr frame, status buffer,
552 * and PRD table
553 */
554 void *buf;
555 dma_addr_t buf_dma;
556#if _MV_DUMP
557 u32 cmd_size;
558#endif
559
560 void *response;
561};
562
563struct mvs_port { 598struct mvs_port {
564 struct asd_sas_port sas_port; 599 struct asd_sas_port sas_port;
565 u8 port_attached; 600 u8 port_attached;
566 u8 taskfileset; 601 u8 taskfileset;
567 u8 wide_port_phymap; 602 u8 wide_port_phymap;
603 struct list_head list;
568}; 604};
569 605
570struct mvs_phy { 606struct mvs_phy {
@@ -582,6 +618,27 @@ struct mvs_phy {
582 u32 frame_rcvd_size; 618 u32 frame_rcvd_size;
583 u8 frame_rcvd[32]; 619 u8 frame_rcvd[32];
584 u8 phy_attached; 620 u8 phy_attached;
621 enum sas_linkrate minimum_linkrate;
622 enum sas_linkrate maximum_linkrate;
623};
624
625struct mvs_slot_info {
626 struct list_head list;
627 struct sas_task *task;
628 u32 n_elem;
629 u32 tx;
630
631 /* DMA buffer for storing cmd tbl, open addr frame, status buffer,
632 * and PRD table
633 */
634 void *buf;
635 dma_addr_t buf_dma;
636#if _MV_DUMP
637 u32 cmd_size;
638#endif
639
640 void *response;
641 struct mvs_port *port;
585}; 642};
586 643
587struct mvs_info { 644struct mvs_info {
@@ -612,21 +669,14 @@ struct mvs_info {
612 669
613 const struct mvs_chip_info *chip; 670 const struct mvs_chip_info *chip;
614 671
615 unsigned long tags[MVS_SLOTS]; 672 u8 tags[MVS_SLOTS];
616 struct mvs_slot_info slot_info[MVS_SLOTS]; 673 struct mvs_slot_info slot_info[MVS_SLOTS];
617 /* further per-slot information */ 674 /* further per-slot information */
618 struct mvs_phy phy[MVS_MAX_PHYS]; 675 struct mvs_phy phy[MVS_MAX_PHYS];
619 struct mvs_port port[MVS_MAX_PHYS]; 676 struct mvs_port port[MVS_MAX_PHYS];
620 677#ifdef MVS_USE_TASKLET
621 u32 can_queue; /* per adapter */ 678 struct tasklet_struct tasklet;
622 u32 tag_out; /*Get*/ 679#endif
623 u32 tag_in; /*Give*/
624};
625
626struct mvs_queue_task {
627 struct list_head list;
628
629 void *uldd_task;
630}; 680};
631 681
632static int mvs_phy_control(struct asd_sas_phy *sas_phy, enum phy_func func, 682static int mvs_phy_control(struct asd_sas_phy *sas_phy, enum phy_func func,
@@ -641,10 +691,11 @@ static u32 mvs_read_port_irq_mask(struct mvs_info *mvi, u32 port);
641static u32 mvs_is_phy_ready(struct mvs_info *mvi, int i); 691static u32 mvs_is_phy_ready(struct mvs_info *mvi, int i);
642static void mvs_detect_porttype(struct mvs_info *mvi, int i); 692static void mvs_detect_porttype(struct mvs_info *mvi, int i);
643static void mvs_update_phyinfo(struct mvs_info *mvi, int i, int get_st); 693static void mvs_update_phyinfo(struct mvs_info *mvi, int i, int get_st);
694static void mvs_release_task(struct mvs_info *mvi, int phy_no);
644 695
645static int mvs_scan_finished(struct Scsi_Host *, unsigned long); 696static int mvs_scan_finished(struct Scsi_Host *, unsigned long);
646static void mvs_scan_start(struct Scsi_Host *); 697static void mvs_scan_start(struct Scsi_Host *);
647static int mvs_sas_slave_alloc(struct scsi_device *scsi_dev); 698static int mvs_slave_configure(struct scsi_device *sdev);
648 699
649static struct scsi_transport_template *mvs_stt; 700static struct scsi_transport_template *mvs_stt;
650 701
@@ -659,7 +710,7 @@ static struct scsi_host_template mvs_sht = {
659 .name = DRV_NAME, 710 .name = DRV_NAME,
660 .queuecommand = sas_queuecommand, 711 .queuecommand = sas_queuecommand,
661 .target_alloc = sas_target_alloc, 712 .target_alloc = sas_target_alloc,
662 .slave_configure = sas_slave_configure, 713 .slave_configure = mvs_slave_configure,
663 .slave_destroy = sas_slave_destroy, 714 .slave_destroy = sas_slave_destroy,
664 .scan_finished = mvs_scan_finished, 715 .scan_finished = mvs_scan_finished,
665 .scan_start = mvs_scan_start, 716 .scan_start = mvs_scan_start,
@@ -674,7 +725,7 @@ static struct scsi_host_template mvs_sht = {
674 .use_clustering = ENABLE_CLUSTERING, 725 .use_clustering = ENABLE_CLUSTERING,
675 .eh_device_reset_handler = sas_eh_device_reset_handler, 726 .eh_device_reset_handler = sas_eh_device_reset_handler,
676 .eh_bus_reset_handler = sas_eh_bus_reset_handler, 727 .eh_bus_reset_handler = sas_eh_bus_reset_handler,
677 .slave_alloc = mvs_sas_slave_alloc, 728 .slave_alloc = sas_slave_alloc,
678 .target_destroy = sas_target_destroy, 729 .target_destroy = sas_target_destroy,
679 .ioctl = sas_ioctl, 730 .ioctl = sas_ioctl,
680}; 731};
@@ -709,10 +760,10 @@ static void mvs_hexdump(u32 size, u8 *data, u32 baseaddr)
709 printk("\n"); 760 printk("\n");
710} 761}
711 762
763#if _MV_DUMP
712static void mvs_hba_sb_dump(struct mvs_info *mvi, u32 tag, 764static void mvs_hba_sb_dump(struct mvs_info *mvi, u32 tag,
713 enum sas_protocol proto) 765 enum sas_protocol proto)
714{ 766{
715#if _MV_DUMP
716 u32 offset; 767 u32 offset;
717 struct pci_dev *pdev = mvi->pdev; 768 struct pci_dev *pdev = mvi->pdev;
718 struct mvs_slot_info *slot = &mvi->slot_info[tag]; 769 struct mvs_slot_info *slot = &mvi->slot_info[tag];
@@ -723,14 +774,14 @@ static void mvs_hba_sb_dump(struct mvs_info *mvi, u32 tag,
723 tag); 774 tag);
724 mvs_hexdump(32, (u8 *) slot->response, 775 mvs_hexdump(32, (u8 *) slot->response,
725 (u32) slot->buf_dma + offset); 776 (u32) slot->buf_dma + offset);
726#endif
727} 777}
778#endif
728 779
729static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag, 780static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
730 enum sas_protocol proto) 781 enum sas_protocol proto)
731{ 782{
732#if _MV_DUMP 783#if _MV_DUMP
733 u32 sz, w_ptr, r_ptr; 784 u32 sz, w_ptr;
734 u64 addr; 785 u64 addr;
735 void __iomem *regs = mvi->regs; 786 void __iomem *regs = mvi->regs;
736 struct pci_dev *pdev = mvi->pdev; 787 struct pci_dev *pdev = mvi->pdev;
@@ -738,12 +789,10 @@ static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
738 789
739 /*Delivery Queue */ 790 /*Delivery Queue */
740 sz = mr32(TX_CFG) & TX_RING_SZ_MASK; 791 sz = mr32(TX_CFG) & TX_RING_SZ_MASK;
741 w_ptr = mr32(TX_PROD_IDX) & TX_RING_SZ_MASK; 792 w_ptr = slot->tx;
742 r_ptr = mr32(TX_CONS_IDX) & TX_RING_SZ_MASK;
743 addr = mr32(TX_HI) << 16 << 16 | mr32(TX_LO); 793 addr = mr32(TX_HI) << 16 << 16 | mr32(TX_LO);
744 dev_printk(KERN_DEBUG, &pdev->dev, 794 dev_printk(KERN_DEBUG, &pdev->dev,
745 "Delivery Queue Size=%04d , WRT_PTR=%04X , RD_PTR=%04X\n", 795 "Delivery Queue Size=%04d , WRT_PTR=%04X\n", sz, w_ptr);
746 sz, w_ptr, r_ptr);
747 dev_printk(KERN_DEBUG, &pdev->dev, 796 dev_printk(KERN_DEBUG, &pdev->dev,
748 "Delivery Queue Base Address=0x%llX (PA)" 797 "Delivery Queue Base Address=0x%llX (PA)"
749 "(tx_dma=0x%llX), Entry=%04d\n", 798 "(tx_dma=0x%llX), Entry=%04d\n",
@@ -751,11 +800,11 @@ static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
751 mvs_hexdump(sizeof(u32), (u8 *)(&mvi->tx[mvi->tx_prod]), 800 mvs_hexdump(sizeof(u32), (u8 *)(&mvi->tx[mvi->tx_prod]),
752 (u32) mvi->tx_dma + sizeof(u32) * w_ptr); 801 (u32) mvi->tx_dma + sizeof(u32) * w_ptr);
753 /*Command List */ 802 /*Command List */
754 addr = mr32(CMD_LIST_HI) << 16 << 16 | mr32(CMD_LIST_LO); 803 addr = mvi->slot_dma;
755 dev_printk(KERN_DEBUG, &pdev->dev, 804 dev_printk(KERN_DEBUG, &pdev->dev,
756 "Command List Base Address=0x%llX (PA)" 805 "Command List Base Address=0x%llX (PA)"
757 "(slot_dma=0x%llX), Header=%03d\n", 806 "(slot_dma=0x%llX), Header=%03d\n",
758 addr, mvi->slot_dma, tag); 807 addr, slot->buf_dma, tag);
759 dev_printk(KERN_DEBUG, &pdev->dev, "Command Header[%03d]:\n", tag); 808 dev_printk(KERN_DEBUG, &pdev->dev, "Command Header[%03d]:\n", tag);
760 /*mvs_cmd_hdr */ 809 /*mvs_cmd_hdr */
761 mvs_hexdump(sizeof(struct mvs_cmd_hdr), (u8 *)(&mvi->slot[tag]), 810 mvs_hexdump(sizeof(struct mvs_cmd_hdr), (u8 *)(&mvi->slot[tag]),
@@ -779,7 +828,7 @@ static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
779 828
780static void mvs_hba_cq_dump(struct mvs_info *mvi) 829static void mvs_hba_cq_dump(struct mvs_info *mvi)
781{ 830{
782#if _MV_DUMP 831#if (_MV_DUMP > 2)
783 u64 addr; 832 u64 addr;
784 void __iomem *regs = mvi->regs; 833 void __iomem *regs = mvi->regs;
785 struct pci_dev *pdev = mvi->pdev; 834 struct pci_dev *pdev = mvi->pdev;
@@ -788,8 +837,8 @@ static void mvs_hba_cq_dump(struct mvs_info *mvi)
788 837
789 /*Completion Queue */ 838 /*Completion Queue */
790 addr = mr32(RX_HI) << 16 << 16 | mr32(RX_LO); 839 addr = mr32(RX_HI) << 16 << 16 | mr32(RX_LO);
791 dev_printk(KERN_DEBUG, &pdev->dev, "Completion Task = 0x%08X\n", 840 dev_printk(KERN_DEBUG, &pdev->dev, "Completion Task = 0x%p\n",
792 (u32) mvi->slot_info[rx_desc & RXQ_SLOT_MASK].task); 841 mvi->slot_info[rx_desc & RXQ_SLOT_MASK].task);
793 dev_printk(KERN_DEBUG, &pdev->dev, 842 dev_printk(KERN_DEBUG, &pdev->dev,
794 "Completion List Base Address=0x%llX (PA), " 843 "Completion List Base Address=0x%llX (PA), "
795 "CQ_Entry=%04d, CQ_WP=0x%08X\n", 844 "CQ_Entry=%04d, CQ_WP=0x%08X\n",
@@ -854,34 +903,53 @@ static int pci_go_64(struct pci_dev *pdev)
854 return rc; 903 return rc;
855} 904}
856 905
906static int mvs_find_tag(struct mvs_info *mvi, struct sas_task *task, u32 *tag)
907{
908 if (task->lldd_task) {
909 struct mvs_slot_info *slot;
910 slot = (struct mvs_slot_info *) task->lldd_task;
911 *tag = slot - mvi->slot_info;
912 return 1;
913 }
914 return 0;
915}
916
857static void mvs_tag_clear(struct mvs_info *mvi, u32 tag) 917static void mvs_tag_clear(struct mvs_info *mvi, u32 tag)
858{ 918{
859 mvi->tag_in = (mvi->tag_in + 1) & (MVS_SLOTS - 1); 919 void *bitmap = (void *) &mvi->tags;
860 mvi->tags[mvi->tag_in] = tag; 920 clear_bit(tag, bitmap);
861} 921}
862 922
863static void mvs_tag_free(struct mvs_info *mvi, u32 tag) 923static void mvs_tag_free(struct mvs_info *mvi, u32 tag)
864{ 924{
865 mvi->tag_out = (mvi->tag_out - 1) & (MVS_SLOTS - 1); 925 mvs_tag_clear(mvi, tag);
926}
927
928static void mvs_tag_set(struct mvs_info *mvi, unsigned int tag)
929{
930 void *bitmap = (void *) &mvi->tags;
931 set_bit(tag, bitmap);
866} 932}
867 933
868static int mvs_tag_alloc(struct mvs_info *mvi, u32 *tag_out) 934static int mvs_tag_alloc(struct mvs_info *mvi, u32 *tag_out)
869{ 935{
870 if (mvi->tag_out != mvi->tag_in) { 936 unsigned int index, tag;
871 *tag_out = mvi->tags[mvi->tag_out]; 937 void *bitmap = (void *) &mvi->tags;
872 mvi->tag_out = (mvi->tag_out + 1) & (MVS_SLOTS - 1); 938
873 return 0; 939 index = find_first_zero_bit(bitmap, MVS_SLOTS);
874 } 940 tag = index;
875 return -EBUSY; 941 if (tag >= MVS_SLOTS)
942 return -SAS_QUEUE_FULL;
943 mvs_tag_set(mvi, tag);
944 *tag_out = tag;
945 return 0;
876} 946}
877 947
878static void mvs_tag_init(struct mvs_info *mvi) 948static void mvs_tag_init(struct mvs_info *mvi)
879{ 949{
880 int i; 950 int i;
881 for (i = 0; i < MVS_SLOTS; ++i) 951 for (i = 0; i < MVS_SLOTS; ++i)
882 mvi->tags[i] = i; 952 mvs_tag_clear(mvi, i);
883 mvi->tag_out = 0;
884 mvi->tag_in = MVS_SLOTS - 1;
885} 953}
886 954
887#ifndef MVS_DISABLE_NVRAM 955#ifndef MVS_DISABLE_NVRAM
@@ -1013,10 +1081,21 @@ err_out:
1013static void mvs_bytes_dmaed(struct mvs_info *mvi, int i) 1081static void mvs_bytes_dmaed(struct mvs_info *mvi, int i)
1014{ 1082{
1015 struct mvs_phy *phy = &mvi->phy[i]; 1083 struct mvs_phy *phy = &mvi->phy[i];
1084 struct asd_sas_phy *sas_phy = mvi->sas.sas_phy[i];
1016 1085
1017 if (!phy->phy_attached) 1086 if (!phy->phy_attached)
1018 return; 1087 return;
1019 1088
1089 if (sas_phy->phy) {
1090 struct sas_phy *sphy = sas_phy->phy;
1091
1092 sphy->negotiated_linkrate = sas_phy->linkrate;
1093 sphy->minimum_linkrate = phy->minimum_linkrate;
1094 sphy->minimum_linkrate_hw = SAS_LINK_RATE_1_5_GBPS;
1095 sphy->maximum_linkrate = phy->maximum_linkrate;
1096 sphy->maximum_linkrate_hw = SAS_LINK_RATE_3_0_GBPS;
1097 }
1098
1020 if (phy->phy_type & PORT_TYPE_SAS) { 1099 if (phy->phy_type & PORT_TYPE_SAS) {
1021 struct sas_identify_frame *id; 1100 struct sas_identify_frame *id;
1022 1101
@@ -1053,80 +1132,149 @@ static void mvs_scan_start(struct Scsi_Host *shost)
1053 } 1132 }
1054} 1133}
1055 1134
1056static int mvs_sas_slave_alloc(struct scsi_device *scsi_dev) 1135static int mvs_slave_configure(struct scsi_device *sdev)
1057{ 1136{
1058 int rc; 1137 struct domain_device *dev = sdev_to_domain_dev(sdev);
1138 int ret = sas_slave_configure(sdev);
1059 1139
1060 rc = sas_slave_alloc(scsi_dev); 1140 if (ret)
1141 return ret;
1061 1142
1062 return rc; 1143 if (dev_is_sata(dev)) {
1144 /* struct ata_port *ap = dev->sata_dev.ap; */
1145 /* struct ata_device *adev = ap->link.device; */
1146
1147 /* clamp at no NCQ for the time being */
1148 /* adev->flags |= ATA_DFLAG_NCQ_OFF; */
1149 scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, 1);
1150 }
1151 return 0;
1063} 1152}
1064 1153
1065static void mvs_int_port(struct mvs_info *mvi, int port_no, u32 events) 1154static void mvs_int_port(struct mvs_info *mvi, int phy_no, u32 events)
1066{ 1155{
1067 struct pci_dev *pdev = mvi->pdev; 1156 struct pci_dev *pdev = mvi->pdev;
1068 struct sas_ha_struct *sas_ha = &mvi->sas; 1157 struct sas_ha_struct *sas_ha = &mvi->sas;
1069 struct mvs_phy *phy = &mvi->phy[port_no]; 1158 struct mvs_phy *phy = &mvi->phy[phy_no];
1070 struct asd_sas_phy *sas_phy = &phy->sas_phy; 1159 struct asd_sas_phy *sas_phy = &phy->sas_phy;
1071 1160
1072 phy->irq_status = mvs_read_port_irq_stat(mvi, port_no); 1161 phy->irq_status = mvs_read_port_irq_stat(mvi, phy_no);
1073 /* 1162 /*
1074 * events is port event now , 1163 * events is port event now ,
1075 * we need check the interrupt status which belongs to per port. 1164 * we need check the interrupt status which belongs to per port.
1076 */ 1165 */
1077 dev_printk(KERN_DEBUG, &pdev->dev, 1166 dev_printk(KERN_DEBUG, &pdev->dev,
1078 "Port %d Event = %X\n", 1167 "Port %d Event = %X\n",
1079 port_no, phy->irq_status); 1168 phy_no, phy->irq_status);
1080 1169
1081 if (phy->irq_status & (PHYEV_POOF | PHYEV_DEC_ERR)) { 1170 if (phy->irq_status & (PHYEV_POOF | PHYEV_DEC_ERR)) {
1082 if (!mvs_is_phy_ready(mvi, port_no)) { 1171 mvs_release_task(mvi, phy_no);
1172 if (!mvs_is_phy_ready(mvi, phy_no)) {
1083 sas_phy_disconnected(sas_phy); 1173 sas_phy_disconnected(sas_phy);
1084 sas_ha->notify_phy_event(sas_phy, PHYE_LOSS_OF_SIGNAL); 1174 sas_ha->notify_phy_event(sas_phy, PHYE_LOSS_OF_SIGNAL);
1175 dev_printk(KERN_INFO, &pdev->dev,
1176 "Port %d Unplug Notice\n", phy_no);
1177
1085 } else 1178 } else
1086 mvs_phy_control(sas_phy, PHY_FUNC_LINK_RESET, NULL); 1179 mvs_phy_control(sas_phy, PHY_FUNC_LINK_RESET, NULL);
1087 } 1180 }
1088 if (!(phy->irq_status & PHYEV_DEC_ERR)) { 1181 if (!(phy->irq_status & PHYEV_DEC_ERR)) {
1089 if (phy->irq_status & PHYEV_COMWAKE) { 1182 if (phy->irq_status & PHYEV_COMWAKE) {
1090 u32 tmp = mvs_read_port_irq_mask(mvi, port_no); 1183 u32 tmp = mvs_read_port_irq_mask(mvi, phy_no);
1091 mvs_write_port_irq_mask(mvi, port_no, 1184 mvs_write_port_irq_mask(mvi, phy_no,
1092 tmp | PHYEV_SIG_FIS); 1185 tmp | PHYEV_SIG_FIS);
1093 } 1186 }
1094 if (phy->irq_status & (PHYEV_SIG_FIS | PHYEV_ID_DONE)) { 1187 if (phy->irq_status & (PHYEV_SIG_FIS | PHYEV_ID_DONE)) {
1095 phy->phy_status = mvs_is_phy_ready(mvi, port_no); 1188 phy->phy_status = mvs_is_phy_ready(mvi, phy_no);
1096 if (phy->phy_status) { 1189 if (phy->phy_status) {
1097 mvs_detect_porttype(mvi, port_no); 1190 mvs_detect_porttype(mvi, phy_no);
1098 1191
1099 if (phy->phy_type & PORT_TYPE_SATA) { 1192 if (phy->phy_type & PORT_TYPE_SATA) {
1100 u32 tmp = mvs_read_port_irq_mask(mvi, 1193 u32 tmp = mvs_read_port_irq_mask(mvi,
1101 port_no); 1194 phy_no);
1102 tmp &= ~PHYEV_SIG_FIS; 1195 tmp &= ~PHYEV_SIG_FIS;
1103 mvs_write_port_irq_mask(mvi, 1196 mvs_write_port_irq_mask(mvi,
1104 port_no, tmp); 1197 phy_no, tmp);
1105 } 1198 }
1106 1199
1107 mvs_update_phyinfo(mvi, port_no, 0); 1200 mvs_update_phyinfo(mvi, phy_no, 0);
1108 sas_ha->notify_phy_event(sas_phy, 1201 sas_ha->notify_phy_event(sas_phy,
1109 PHYE_OOB_DONE); 1202 PHYE_OOB_DONE);
1110 mvs_bytes_dmaed(mvi, port_no); 1203 mvs_bytes_dmaed(mvi, phy_no);
1111 } else { 1204 } else {
1112 dev_printk(KERN_DEBUG, &pdev->dev, 1205 dev_printk(KERN_DEBUG, &pdev->dev,
1113 "plugin interrupt but phy is gone\n"); 1206 "plugin interrupt but phy is gone\n");
1114 mvs_phy_control(sas_phy, PHY_FUNC_LINK_RESET, 1207 mvs_phy_control(sas_phy, PHY_FUNC_LINK_RESET,
1115 NULL); 1208 NULL);
1116 } 1209 }
1117 } else if (phy->irq_status & PHYEV_BROAD_CH) 1210 } else if (phy->irq_status & PHYEV_BROAD_CH) {
1211 mvs_release_task(mvi, phy_no);
1118 sas_ha->notify_port_event(sas_phy, 1212 sas_ha->notify_port_event(sas_phy,
1119 PORTE_BROADCAST_RCVD); 1213 PORTE_BROADCAST_RCVD);
1214 }
1120 } 1215 }
1121 mvs_write_port_irq_stat(mvi, port_no, phy->irq_status); 1216 mvs_write_port_irq_stat(mvi, phy_no, phy->irq_status);
1122} 1217}
1123 1218
1124static void mvs_int_sata(struct mvs_info *mvi) 1219static void mvs_int_sata(struct mvs_info *mvi)
1125{ 1220{
1126 /* FIXME */ 1221 u32 tmp;
1222 void __iomem *regs = mvi->regs;
1223 tmp = mr32(INT_STAT_SRS);
1224 mw32(INT_STAT_SRS, tmp & 0xFFFF);
1225}
1226
1227static void mvs_slot_reset(struct mvs_info *mvi, struct sas_task *task,
1228 u32 slot_idx)
1229{
1230 void __iomem *regs = mvi->regs;
1231 struct domain_device *dev = task->dev;
1232 struct asd_sas_port *sas_port = dev->port;
1233 struct mvs_port *port = mvi->slot_info[slot_idx].port;
1234 u32 reg_set, phy_mask;
1235
1236 if (!sas_protocol_ata(task->task_proto)) {
1237 reg_set = 0;
1238 phy_mask = (port->wide_port_phymap) ? port->wide_port_phymap :
1239 sas_port->phy_mask;
1240 } else {
1241 reg_set = port->taskfileset;
1242 phy_mask = sas_port->phy_mask;
1243 }
1244 mvi->tx[mvi->tx_prod] = cpu_to_le32(TXQ_MODE_I | slot_idx |
1245 (TXQ_CMD_SLOT_RESET << TXQ_CMD_SHIFT) |
1246 (phy_mask << TXQ_PHY_SHIFT) |
1247 (reg_set << TXQ_SRS_SHIFT));
1248
1249 mw32(TX_PROD_IDX, mvi->tx_prod);
1250 mvi->tx_prod = (mvi->tx_prod + 1) & (MVS_CHIP_SLOT_SZ - 1);
1251}
1252
1253static int mvs_sata_done(struct mvs_info *mvi, struct sas_task *task,
1254 u32 slot_idx, int err)
1255{
1256 struct mvs_port *port = mvi->slot_info[slot_idx].port;
1257 struct task_status_struct *tstat = &task->task_status;
1258 struct ata_task_resp *resp = (struct ata_task_resp *)tstat->buf;
1259 int stat = SAM_GOOD;
1260
1261 resp->frame_len = sizeof(struct dev_to_host_fis);
1262 memcpy(&resp->ending_fis[0],
1263 SATA_RECEIVED_D2H_FIS(port->taskfileset),
1264 sizeof(struct dev_to_host_fis));
1265 tstat->buf_valid_size = sizeof(*resp);
1266 if (unlikely(err))
1267 stat = SAS_PROTO_RESPONSE;
1268 return stat;
1127} 1269}
1128 1270
1129static void mvs_slot_free(struct mvs_info *mvi, struct sas_task *task, 1271static void mvs_slot_free(struct mvs_info *mvi, u32 rx_desc)
1272{
1273 u32 slot_idx = rx_desc & RXQ_SLOT_MASK;
1274 mvs_tag_clear(mvi, slot_idx);
1275}
1276
1277static void mvs_slot_task_free(struct mvs_info *mvi, struct sas_task *task,
1130 struct mvs_slot_info *slot, u32 slot_idx) 1278 struct mvs_slot_info *slot, u32 slot_idx)
1131{ 1279{
1132 if (!sas_protocol_ata(task->task_proto)) 1280 if (!sas_protocol_ata(task->task_proto))
@@ -1149,38 +1297,58 @@ static void mvs_slot_free(struct mvs_info *mvi, struct sas_task *task,
1149 /* do nothing */ 1297 /* do nothing */
1150 break; 1298 break;
1151 } 1299 }
1152 1300 list_del(&slot->list);
1301 task->lldd_task = NULL;
1153 slot->task = NULL; 1302 slot->task = NULL;
1154 mvs_tag_clear(mvi, slot_idx); 1303 slot->port = NULL;
1155} 1304}
1156 1305
1157static void mvs_slot_err(struct mvs_info *mvi, struct sas_task *task, 1306static int mvs_slot_err(struct mvs_info *mvi, struct sas_task *task,
1158 u32 slot_idx) 1307 u32 slot_idx)
1159{ 1308{
1160 struct mvs_slot_info *slot = &mvi->slot_info[slot_idx]; 1309 struct mvs_slot_info *slot = &mvi->slot_info[slot_idx];
1161 u64 err_dw0 = *(u32 *) slot->response; 1310 u32 err_dw0 = le32_to_cpu(*(u32 *) (slot->response));
1162 void __iomem *regs = mvi->regs; 1311 u32 err_dw1 = le32_to_cpu(*(u32 *) (slot->response + 4));
1163 u32 tmp; 1312 int stat = SAM_CHECK_COND;
1164 1313
1165 if (err_dw0 & CMD_ISS_STPD) 1314 if (err_dw1 & SLOT_BSY_ERR) {
1166 if (sas_protocol_ata(task->task_proto)) { 1315 stat = SAS_QUEUE_FULL;
1167 tmp = mr32(INT_STAT_SRS); 1316 mvs_slot_reset(mvi, task, slot_idx);
1168 mw32(INT_STAT_SRS, tmp & 0xFFFF); 1317 }
1169 } 1318 switch (task->task_proto) {
1319 case SAS_PROTOCOL_SSP:
1320 break;
1321 case SAS_PROTOCOL_SMP:
1322 break;
1323 case SAS_PROTOCOL_SATA:
1324 case SAS_PROTOCOL_STP:
1325 case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP:
1326 if (err_dw0 & TFILE_ERR)
1327 stat = mvs_sata_done(mvi, task, slot_idx, 1);
1328 break;
1329 default:
1330 break;
1331 }
1170 1332
1171 mvs_hba_sb_dump(mvi, slot_idx, task->task_proto); 1333 mvs_hexdump(16, (u8 *) slot->response, 0);
1334 return stat;
1172} 1335}
1173 1336
1174static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc) 1337static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc, u32 flags)
1175{ 1338{
1176 u32 slot_idx = rx_desc & RXQ_SLOT_MASK; 1339 u32 slot_idx = rx_desc & RXQ_SLOT_MASK;
1177 struct mvs_slot_info *slot = &mvi->slot_info[slot_idx]; 1340 struct mvs_slot_info *slot = &mvi->slot_info[slot_idx];
1178 struct sas_task *task = slot->task; 1341 struct sas_task *task = slot->task;
1179 struct task_status_struct *tstat = &task->task_status; 1342 struct task_status_struct *tstat;
1180 struct mvs_port *port = &mvi->port[task->dev->port->id]; 1343 struct mvs_port *port;
1181 bool aborted; 1344 bool aborted;
1182 void *to; 1345 void *to;
1183 1346
1347 if (unlikely(!task || !task->lldd_task))
1348 return -1;
1349
1350 mvs_hba_cq_dump(mvi);
1351
1184 spin_lock(&task->task_state_lock); 1352 spin_lock(&task->task_state_lock);
1185 aborted = task->task_state_flags & SAS_TASK_STATE_ABORTED; 1353 aborted = task->task_state_flags & SAS_TASK_STATE_ABORTED;
1186 if (!aborted) { 1354 if (!aborted) {
@@ -1190,22 +1358,27 @@ static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc)
1190 } 1358 }
1191 spin_unlock(&task->task_state_lock); 1359 spin_unlock(&task->task_state_lock);
1192 1360
1193 if (aborted) 1361 if (aborted) {
1362 mvs_slot_task_free(mvi, task, slot, slot_idx);
1363 mvs_slot_free(mvi, rx_desc);
1194 return -1; 1364 return -1;
1365 }
1195 1366
1367 port = slot->port;
1368 tstat = &task->task_status;
1196 memset(tstat, 0, sizeof(*tstat)); 1369 memset(tstat, 0, sizeof(*tstat));
1197 tstat->resp = SAS_TASK_COMPLETE; 1370 tstat->resp = SAS_TASK_COMPLETE;
1198 1371
1199 1372 if (unlikely(!port->port_attached || flags)) {
1200 if (unlikely(!port->port_attached)) { 1373 mvs_slot_err(mvi, task, slot_idx);
1201 tstat->stat = SAS_PHY_DOWN; 1374 if (!sas_protocol_ata(task->task_proto))
1375 tstat->stat = SAS_PHY_DOWN;
1202 goto out; 1376 goto out;
1203 } 1377 }
1204 1378
1205 /* error info record present */ 1379 /* error info record present */
1206 if ((rx_desc & RXQ_ERR) && (*(u64 *) slot->response)) { 1380 if (unlikely((rx_desc & RXQ_ERR) && (*(u64 *) slot->response))) {
1207 tstat->stat = SAM_CHECK_COND; 1381 tstat->stat = mvs_slot_err(mvi, task, slot_idx);
1208 mvs_slot_err(mvi, task, slot_idx);
1209 goto out; 1382 goto out;
1210 } 1383 }
1211 1384
@@ -1242,21 +1415,7 @@ static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc)
1242 case SAS_PROTOCOL_SATA: 1415 case SAS_PROTOCOL_SATA:
1243 case SAS_PROTOCOL_STP: 1416 case SAS_PROTOCOL_STP:
1244 case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP: { 1417 case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP: {
1245 struct ata_task_resp *resp = 1418 tstat->stat = mvs_sata_done(mvi, task, slot_idx, 0);
1246 (struct ata_task_resp *)tstat->buf;
1247
1248 if ((rx_desc & (RXQ_DONE | RXQ_ERR | RXQ_ATTN)) ==
1249 RXQ_DONE)
1250 tstat->stat = SAM_GOOD;
1251 else
1252 tstat->stat = SAM_CHECK_COND;
1253
1254 resp->frame_len = sizeof(struct dev_to_host_fis);
1255 memcpy(&resp->ending_fis[0],
1256 SATA_RECEIVED_D2H_FIS(port->taskfileset),
1257 sizeof(struct dev_to_host_fis));
1258 if (resp->ending_fis[2] & ATA_ERR)
1259 mvs_hexdump(16, resp->ending_fis, 0);
1260 break; 1419 break;
1261 } 1420 }
1262 1421
@@ -1266,11 +1425,34 @@ static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc)
1266 } 1425 }
1267 1426
1268out: 1427out:
1269 mvs_slot_free(mvi, task, slot, slot_idx); 1428 mvs_slot_task_free(mvi, task, slot, slot_idx);
1429 if (unlikely(tstat->stat != SAS_QUEUE_FULL))
1430 mvs_slot_free(mvi, rx_desc);
1431
1432 spin_unlock(&mvi->lock);
1270 task->task_done(task); 1433 task->task_done(task);
1434 spin_lock(&mvi->lock);
1271 return tstat->stat; 1435 return tstat->stat;
1272} 1436}
1273 1437
1438static void mvs_release_task(struct mvs_info *mvi, int phy_no)
1439{
1440 struct list_head *pos, *n;
1441 struct mvs_slot_info *slot;
1442 struct mvs_phy *phy = &mvi->phy[phy_no];
1443 struct mvs_port *port = phy->port;
1444 u32 rx_desc;
1445
1446 if (!port)
1447 return;
1448
1449 list_for_each_safe(pos, n, &port->list) {
1450 slot = container_of(pos, struct mvs_slot_info, list);
1451 rx_desc = (u32) (slot - mvi->slot_info);
1452 mvs_slot_complete(mvi, rx_desc, 1);
1453 }
1454}
1455
1274static void mvs_int_full(struct mvs_info *mvi) 1456static void mvs_int_full(struct mvs_info *mvi)
1275{ 1457{
1276 void __iomem *regs = mvi->regs; 1458 void __iomem *regs = mvi->regs;
@@ -1305,40 +1487,43 @@ static int mvs_int_rx(struct mvs_info *mvi, bool self_clear)
1305 * we don't have to stall the CPU reading that register. 1487 * we don't have to stall the CPU reading that register.
1306 * The actual RX ring is offset by one dword, due to this. 1488 * The actual RX ring is offset by one dword, due to this.
1307 */ 1489 */
1308 rx_prod_idx = mr32(RX_CONS_IDX) & RX_RING_SZ_MASK; 1490 rx_prod_idx = mvi->rx_cons;
1309 if (rx_prod_idx == 0xfff) { /* h/w hasn't touched RX ring yet */ 1491 mvi->rx_cons = le32_to_cpu(mvi->rx[0]);
1310 mvi->rx_cons = 0xfff; 1492 if (mvi->rx_cons == 0xfff) /* h/w hasn't touched RX ring yet */
1311 return 0; 1493 return 0;
1312 }
1313 1494
1314 /* The CMPL_Q may come late, read from register and try again 1495 /* The CMPL_Q may come late, read from register and try again
1315 * note: if coalescing is enabled, 1496 * note: if coalescing is enabled,
1316 * it will need to read from register every time for sure 1497 * it will need to read from register every time for sure
1317 */ 1498 */
1318 if (mvi->rx_cons == rx_prod_idx) 1499 if (mvi->rx_cons == rx_prod_idx)
1319 return 0; 1500 mvi->rx_cons = mr32(RX_CONS_IDX) & RX_RING_SZ_MASK;
1320 1501
1321 if (mvi->rx_cons == 0xfff) 1502 if (mvi->rx_cons == rx_prod_idx)
1322 mvi->rx_cons = MVS_RX_RING_SZ - 1; 1503 return 0;
1323 1504
1324 while (mvi->rx_cons != rx_prod_idx) { 1505 while (mvi->rx_cons != rx_prod_idx) {
1325 1506
1326 /* increment our internal RX consumer pointer */ 1507 /* increment our internal RX consumer pointer */
1327 mvi->rx_cons = (mvi->rx_cons + 1) & (MVS_RX_RING_SZ - 1); 1508 rx_prod_idx = (rx_prod_idx + 1) & (MVS_RX_RING_SZ - 1);
1328 1509
1329 rx_desc = le32_to_cpu(mvi->rx[mvi->rx_cons + 1]); 1510 rx_desc = le32_to_cpu(mvi->rx[rx_prod_idx + 1]);
1330
1331 mvs_hba_cq_dump(mvi);
1332 1511
1333 if (likely(rx_desc & RXQ_DONE)) 1512 if (likely(rx_desc & RXQ_DONE))
1334 mvs_slot_complete(mvi, rx_desc); 1513 mvs_slot_complete(mvi, rx_desc, 0);
1335 if (rx_desc & RXQ_ATTN) { 1514 if (rx_desc & RXQ_ATTN) {
1336 attn = true; 1515 attn = true;
1337 dev_printk(KERN_DEBUG, &pdev->dev, "ATTN %X\n", 1516 dev_printk(KERN_DEBUG, &pdev->dev, "ATTN %X\n",
1338 rx_desc); 1517 rx_desc);
1339 } else if (rx_desc & RXQ_ERR) { 1518 } else if (rx_desc & RXQ_ERR) {
1519 if (!(rx_desc & RXQ_DONE))
1520 mvs_slot_complete(mvi, rx_desc, 0);
1340 dev_printk(KERN_DEBUG, &pdev->dev, "RXQ_ERR %X\n", 1521 dev_printk(KERN_DEBUG, &pdev->dev, "RXQ_ERR %X\n",
1341 rx_desc); 1522 rx_desc);
1523 } else if (rx_desc & RXQ_SLOT_RESET) {
1524 dev_printk(KERN_DEBUG, &pdev->dev, "Slot reset[%X]\n",
1525 rx_desc);
1526 mvs_slot_free(mvi, rx_desc);
1342 } 1527 }
1343 } 1528 }
1344 1529
@@ -1348,6 +1533,23 @@ static int mvs_int_rx(struct mvs_info *mvi, bool self_clear)
1348 return 0; 1533 return 0;
1349} 1534}
1350 1535
1536#ifdef MVS_USE_TASKLET
1537static void mvs_tasklet(unsigned long data)
1538{
1539 struct mvs_info *mvi = (struct mvs_info *) data;
1540 unsigned long flags;
1541
1542 spin_lock_irqsave(&mvi->lock, flags);
1543
1544#ifdef MVS_DISABLE_MSI
1545 mvs_int_full(mvi);
1546#else
1547 mvs_int_rx(mvi, true);
1548#endif
1549 spin_unlock_irqrestore(&mvi->lock, flags);
1550}
1551#endif
1552
1351static irqreturn_t mvs_interrupt(int irq, void *opaque) 1553static irqreturn_t mvs_interrupt(int irq, void *opaque)
1352{ 1554{
1353 struct mvs_info *mvi = opaque; 1555 struct mvs_info *mvi = opaque;
@@ -1356,18 +1558,21 @@ static irqreturn_t mvs_interrupt(int irq, void *opaque)
1356 1558
1357 stat = mr32(GBL_INT_STAT); 1559 stat = mr32(GBL_INT_STAT);
1358 1560
1359 /* clear CMD_CMPLT ASAP */
1360 mw32_f(INT_STAT, CINT_DONE);
1361
1362 if (stat == 0 || stat == 0xffffffff) 1561 if (stat == 0 || stat == 0xffffffff)
1363 return IRQ_NONE; 1562 return IRQ_NONE;
1364 1563
1564 /* clear CMD_CMPLT ASAP */
1565 mw32_f(INT_STAT, CINT_DONE);
1566
1567#ifndef MVS_USE_TASKLET
1365 spin_lock(&mvi->lock); 1568 spin_lock(&mvi->lock);
1366 1569
1367 mvs_int_full(mvi); 1570 mvs_int_full(mvi);
1368 1571
1369 spin_unlock(&mvi->lock); 1572 spin_unlock(&mvi->lock);
1370 1573#else
1574 tasklet_schedule(&mvi->tasklet);
1575#endif
1371 return IRQ_HANDLED; 1576 return IRQ_HANDLED;
1372} 1577}
1373 1578
@@ -1376,12 +1581,15 @@ static irqreturn_t mvs_msi_interrupt(int irq, void *opaque)
1376{ 1581{
1377 struct mvs_info *mvi = opaque; 1582 struct mvs_info *mvi = opaque;
1378 1583
1584#ifndef MVS_USE_TASKLET
1379 spin_lock(&mvi->lock); 1585 spin_lock(&mvi->lock);
1380 1586
1381 mvs_int_rx(mvi, true); 1587 mvs_int_rx(mvi, true);
1382 1588
1383 spin_unlock(&mvi->lock); 1589 spin_unlock(&mvi->lock);
1384 1590#else
1591 tasklet_schedule(&mvi->tasklet);
1592#endif
1385 return IRQ_HANDLED; 1593 return IRQ_HANDLED;
1386} 1594}
1387#endif 1595#endif
@@ -1576,15 +1784,19 @@ static u8 mvs_assign_reg_set(struct mvs_info *mvi, struct mvs_port *port)
1576 return MVS_ID_NOT_MAPPED; 1784 return MVS_ID_NOT_MAPPED;
1577} 1785}
1578 1786
1579static u32 mvs_get_ncq_tag(struct sas_task *task) 1787static u32 mvs_get_ncq_tag(struct sas_task *task, u32 *tag)
1580{ 1788{
1581 u32 tag = 0;
1582 struct ata_queued_cmd *qc = task->uldd_task; 1789 struct ata_queued_cmd *qc = task->uldd_task;
1583 1790
1584 if (qc) 1791 if (qc) {
1585 tag = qc->tag; 1792 if (qc->tf.command == ATA_CMD_FPDMA_WRITE ||
1793 qc->tf.command == ATA_CMD_FPDMA_READ) {
1794 *tag = qc->tag;
1795 return 1;
1796 }
1797 }
1586 1798
1587 return tag; 1799 return 0;
1588} 1800}
1589 1801
1590static int mvs_task_prep_ata(struct mvs_info *mvi, 1802static int mvs_task_prep_ata(struct mvs_info *mvi,
@@ -1628,11 +1840,9 @@ static int mvs_task_prep_ata(struct mvs_info *mvi,
1628 hdr->flags = cpu_to_le32(flags); 1840 hdr->flags = cpu_to_le32(flags);
1629 1841
1630 /* FIXME: the low order order 5 bits for the TAG if enable NCQ */ 1842 /* FIXME: the low order order 5 bits for the TAG if enable NCQ */
1631 if (task->ata_task.use_ncq) { 1843 if (task->ata_task.use_ncq && mvs_get_ncq_tag(task, &hdr->tags))
1632 hdr->tags = cpu_to_le32(mvs_get_ncq_tag(task)); 1844 task->ata_task.fis.sector_count |= hdr->tags << 3;
1633 /*Fill in task file */ 1845 else
1634 task->ata_task.fis.sector_count = hdr->tags << 3;
1635 } else
1636 hdr->tags = cpu_to_le32(tag); 1846 hdr->tags = cpu_to_le32(tag);
1637 hdr->data_len = cpu_to_le32(task->total_xfer_len); 1847 hdr->data_len = cpu_to_le32(task->total_xfer_len);
1638 1848
@@ -1725,13 +1935,16 @@ static int mvs_task_prep_ssp(struct mvs_info *mvi,
1725 u32 flags; 1935 u32 flags;
1726 u32 resp_len, req_len, i, tag = tei->tag; 1936 u32 resp_len, req_len, i, tag = tei->tag;
1727 const u32 max_resp_len = SB_RFB_MAX; 1937 const u32 max_resp_len = SB_RFB_MAX;
1938 u8 phy_mask;
1728 1939
1729 slot = &mvi->slot_info[tag]; 1940 slot = &mvi->slot_info[tag];
1730 1941
1942 phy_mask = (port->wide_port_phymap) ? port->wide_port_phymap :
1943 task->dev->port->phy_mask;
1731 slot->tx = mvi->tx_prod; 1944 slot->tx = mvi->tx_prod;
1732 mvi->tx[mvi->tx_prod] = cpu_to_le32(TXQ_MODE_I | tag | 1945 mvi->tx[mvi->tx_prod] = cpu_to_le32(TXQ_MODE_I | tag |
1733 (TXQ_CMD_SSP << TXQ_CMD_SHIFT) | 1946 (TXQ_CMD_SSP << TXQ_CMD_SHIFT) |
1734 (port->wide_port_phymap << TXQ_PHY_SHIFT)); 1947 (phy_mask << TXQ_PHY_SHIFT));
1735 1948
1736 flags = MCH_RETRY; 1949 flags = MCH_RETRY;
1737 if (task->ssp_task.enable_first_burst) { 1950 if (task->ssp_task.enable_first_burst) {
@@ -1832,22 +2045,32 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags)
1832 void __iomem *regs = mvi->regs; 2045 void __iomem *regs = mvi->regs;
1833 struct mvs_task_exec_info tei; 2046 struct mvs_task_exec_info tei;
1834 struct sas_task *t = task; 2047 struct sas_task *t = task;
2048 struct mvs_slot_info *slot;
1835 u32 tag = 0xdeadbeef, rc, n_elem = 0; 2049 u32 tag = 0xdeadbeef, rc, n_elem = 0;
1836 unsigned long flags; 2050 unsigned long flags;
1837 u32 n = num, pass = 0; 2051 u32 n = num, pass = 0;
1838 2052
1839 spin_lock_irqsave(&mvi->lock, flags); 2053 spin_lock_irqsave(&mvi->lock, flags);
1840
1841 do { 2054 do {
2055 dev = t->dev;
1842 tei.port = &mvi->port[dev->port->id]; 2056 tei.port = &mvi->port[dev->port->id];
1843 2057
1844 if (!tei.port->port_attached) { 2058 if (!tei.port->port_attached) {
1845 struct task_status_struct *ts = &t->task_status; 2059 if (sas_protocol_ata(t->task_proto)) {
1846 ts->stat = SAS_PHY_DOWN; 2060 rc = SAS_PHY_DOWN;
1847 t->task_done(t); 2061 goto out_done;
1848 rc = 0; 2062 } else {
1849 goto exec_exit; 2063 struct task_status_struct *ts = &t->task_status;
2064 ts->resp = SAS_TASK_UNDELIVERED;
2065 ts->stat = SAS_PHY_DOWN;
2066 t->task_done(t);
2067 if (n > 1)
2068 t = list_entry(t->list.next,
2069 struct sas_task, list);
2070 continue;
2071 }
1850 } 2072 }
2073
1851 if (!sas_protocol_ata(t->task_proto)) { 2074 if (!sas_protocol_ata(t->task_proto)) {
1852 if (t->num_scatter) { 2075 if (t->num_scatter) {
1853 n_elem = pci_map_sg(mvi->pdev, t->scatter, 2076 n_elem = pci_map_sg(mvi->pdev, t->scatter,
@@ -1866,9 +2089,10 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags)
1866 if (rc) 2089 if (rc)
1867 goto err_out; 2090 goto err_out;
1868 2091
1869 mvi->slot_info[tag].task = t; 2092 slot = &mvi->slot_info[tag];
1870 mvi->slot_info[tag].n_elem = n_elem; 2093 t->lldd_task = NULL;
1871 memset(mvi->slot_info[tag].buf, 0, MVS_SLOT_BUF_SZ); 2094 slot->n_elem = n_elem;
2095 memset(slot->buf, 0, MVS_SLOT_BUF_SZ);
1872 tei.task = t; 2096 tei.task = t;
1873 tei.hdr = &mvi->slot[tag]; 2097 tei.hdr = &mvi->slot[tag];
1874 tei.tag = tag; 2098 tei.tag = tag;
@@ -1897,28 +2121,26 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags)
1897 if (rc) 2121 if (rc)
1898 goto err_out_tag; 2122 goto err_out_tag;
1899 2123
2124 slot->task = t;
2125 slot->port = tei.port;
2126 t->lldd_task = (void *) slot;
2127 list_add_tail(&slot->list, &slot->port->list);
1900 /* TODO: select normal or high priority */ 2128 /* TODO: select normal or high priority */
1901 2129
1902 spin_lock(&t->task_state_lock); 2130 spin_lock(&t->task_state_lock);
1903 t->task_state_flags |= SAS_TASK_AT_INITIATOR; 2131 t->task_state_flags |= SAS_TASK_AT_INITIATOR;
1904 spin_unlock(&t->task_state_lock); 2132 spin_unlock(&t->task_state_lock);
1905 2133
1906 if (n == 1) {
1907 spin_unlock_irqrestore(&mvi->lock, flags);
1908 mw32(TX_PROD_IDX, mvi->tx_prod);
1909 }
1910 mvs_hba_memory_dump(mvi, tag, t->task_proto); 2134 mvs_hba_memory_dump(mvi, tag, t->task_proto);
1911 2135
1912 ++pass; 2136 ++pass;
1913 mvi->tx_prod = (mvi->tx_prod + 1) & (MVS_CHIP_SLOT_SZ - 1); 2137 mvi->tx_prod = (mvi->tx_prod + 1) & (MVS_CHIP_SLOT_SZ - 1);
1914 2138 if (n > 1)
1915 if (n == 1) 2139 t = list_entry(t->list.next, struct sas_task, list);
1916 break;
1917
1918 t = list_entry(t->list.next, struct sas_task, list);
1919 } while (--n); 2140 } while (--n);
1920 2141
1921 return 0; 2142 rc = 0;
2143 goto out_done;
1922 2144
1923err_out_tag: 2145err_out_tag:
1924 mvs_tag_free(mvi, tag); 2146 mvs_tag_free(mvi, tag);
@@ -1928,7 +2150,7 @@ err_out:
1928 if (n_elem) 2150 if (n_elem)
1929 pci_unmap_sg(mvi->pdev, t->scatter, n_elem, 2151 pci_unmap_sg(mvi->pdev, t->scatter, n_elem,
1930 t->data_dir); 2152 t->data_dir);
1931exec_exit: 2153out_done:
1932 if (pass) 2154 if (pass)
1933 mw32(TX_PROD_IDX, (mvi->tx_prod - 1) & (MVS_CHIP_SLOT_SZ - 1)); 2155 mw32(TX_PROD_IDX, (mvi->tx_prod - 1) & (MVS_CHIP_SLOT_SZ - 1));
1934 spin_unlock_irqrestore(&mvi->lock, flags); 2156 spin_unlock_irqrestore(&mvi->lock, flags);
@@ -1937,42 +2159,59 @@ exec_exit:
1937 2159
1938static int mvs_task_abort(struct sas_task *task) 2160static int mvs_task_abort(struct sas_task *task)
1939{ 2161{
1940 int rc = 1; 2162 int rc;
1941 unsigned long flags; 2163 unsigned long flags;
1942 struct mvs_info *mvi = task->dev->port->ha->lldd_ha; 2164 struct mvs_info *mvi = task->dev->port->ha->lldd_ha;
1943 struct pci_dev *pdev = mvi->pdev; 2165 struct pci_dev *pdev = mvi->pdev;
2166 int tag;
1944 2167
1945 spin_lock_irqsave(&task->task_state_lock, flags); 2168 spin_lock_irqsave(&task->task_state_lock, flags);
1946 if (task->task_state_flags & SAS_TASK_STATE_DONE) { 2169 if (task->task_state_flags & SAS_TASK_STATE_DONE) {
1947 rc = TMF_RESP_FUNC_COMPLETE; 2170 rc = TMF_RESP_FUNC_COMPLETE;
2171 spin_unlock_irqrestore(&task->task_state_lock, flags);
1948 goto out_done; 2172 goto out_done;
1949 } 2173 }
1950 spin_unlock_irqrestore(&task->task_state_lock, flags); 2174 spin_unlock_irqrestore(&task->task_state_lock, flags);
1951 2175
1952 /*FIXME*/
1953 rc = TMF_RESP_FUNC_COMPLETE;
1954
1955 switch (task->task_proto) { 2176 switch (task->task_proto) {
1956 case SAS_PROTOCOL_SMP: 2177 case SAS_PROTOCOL_SMP:
1957 dev_printk(KERN_DEBUG, &pdev->dev, "SMP Abort! "); 2178 dev_printk(KERN_DEBUG, &pdev->dev, "SMP Abort! \n");
1958 break; 2179 break;
1959 case SAS_PROTOCOL_SSP: 2180 case SAS_PROTOCOL_SSP:
1960 dev_printk(KERN_DEBUG, &pdev->dev, "SSP Abort! "); 2181 dev_printk(KERN_DEBUG, &pdev->dev, "SSP Abort! \n");
1961 break; 2182 break;
1962 case SAS_PROTOCOL_SATA: 2183 case SAS_PROTOCOL_SATA:
1963 case SAS_PROTOCOL_STP: 2184 case SAS_PROTOCOL_STP:
1964 case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP:{ 2185 case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP:{
1965 dev_printk(KERN_DEBUG, &pdev->dev, "STP Abort! " 2186 dev_printk(KERN_DEBUG, &pdev->dev, "STP Abort! \n");
1966 "Dump D2H FIS: \n"); 2187#if _MV_DUMP
2188 dev_printk(KERN_DEBUG, &pdev->dev, "Dump D2H FIS: \n");
1967 mvs_hexdump(sizeof(struct host_to_dev_fis), 2189 mvs_hexdump(sizeof(struct host_to_dev_fis),
1968 (void *)&task->ata_task.fis, 0); 2190 (void *)&task->ata_task.fis, 0);
1969 dev_printk(KERN_DEBUG, &pdev->dev, "Dump ATAPI Cmd : \n"); 2191 dev_printk(KERN_DEBUG, &pdev->dev, "Dump ATAPI Cmd : \n");
1970 mvs_hexdump(16, task->ata_task.atapi_packet, 0); 2192 mvs_hexdump(16, task->ata_task.atapi_packet, 0);
2193#endif
2194 spin_lock_irqsave(&task->task_state_lock, flags);
2195 if (task->task_state_flags & SAS_TASK_NEED_DEV_RESET) {
2196 /* TODO */
2197 ;
2198 }
2199 spin_unlock_irqrestore(&task->task_state_lock, flags);
1971 break; 2200 break;
1972 } 2201 }
1973 default: 2202 default:
1974 break; 2203 break;
1975 } 2204 }
2205
2206 if (mvs_find_tag(mvi, task, &tag)) {
2207 spin_lock_irqsave(&mvi->lock, flags);
2208 mvs_slot_task_free(mvi, task, &mvi->slot_info[tag], tag);
2209 spin_unlock_irqrestore(&mvi->lock, flags);
2210 }
2211 if (!mvs_task_exec(task, 1, GFP_ATOMIC))
2212 rc = TMF_RESP_FUNC_COMPLETE;
2213 else
2214 rc = TMF_RESP_FUNC_FAILED;
1976out_done: 2215out_done:
1977 return rc; 2216 return rc;
1978} 2217}
@@ -2001,7 +2240,7 @@ static void mvs_free(struct mvs_info *mvi)
2001 mvi->rx_fis, mvi->rx_fis_dma); 2240 mvi->rx_fis, mvi->rx_fis_dma);
2002 if (mvi->rx) 2241 if (mvi->rx)
2003 dma_free_coherent(&mvi->pdev->dev, 2242 dma_free_coherent(&mvi->pdev->dev,
2004 sizeof(*mvi->rx) * MVS_RX_RING_SZ, 2243 sizeof(*mvi->rx) * (MVS_RX_RING_SZ + 1),
2005 mvi->rx, mvi->rx_dma); 2244 mvi->rx, mvi->rx_dma);
2006 if (mvi->slot) 2245 if (mvi->slot)
2007 dma_free_coherent(&mvi->pdev->dev, 2246 dma_free_coherent(&mvi->pdev->dev,
@@ -2109,6 +2348,9 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
2109 return NULL; 2348 return NULL;
2110 2349
2111 spin_lock_init(&mvi->lock); 2350 spin_lock_init(&mvi->lock);
2351#ifdef MVS_USE_TASKLET
2352 tasklet_init(&mvi->tasklet, mvs_tasklet, (unsigned long)mvi);
2353#endif
2112 mvi->pdev = pdev; 2354 mvi->pdev = pdev;
2113 mvi->chip = chip; 2355 mvi->chip = chip;
2114 2356
@@ -2132,6 +2374,10 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
2132 mvs_phy_init(mvi, i); 2374 mvs_phy_init(mvi, i);
2133 arr_phy[i] = &mvi->phy[i].sas_phy; 2375 arr_phy[i] = &mvi->phy[i].sas_phy;
2134 arr_port[i] = &mvi->port[i].sas_port; 2376 arr_port[i] = &mvi->port[i].sas_port;
2377 mvi->port[i].taskfileset = MVS_ID_NOT_MAPPED;
2378 mvi->port[i].wide_port_phymap = 0;
2379 mvi->port[i].port_attached = 0;
2380 INIT_LIST_HEAD(&mvi->port[i].list);
2135 } 2381 }
2136 2382
2137 SHOST_TO_SAS_HA(mvi->shost) = &mvi->sas; 2383 SHOST_TO_SAS_HA(mvi->shost) = &mvi->sas;
@@ -2148,9 +2394,10 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
2148 mvi->sas.sas_phy = arr_phy; 2394 mvi->sas.sas_phy = arr_phy;
2149 mvi->sas.sas_port = arr_port; 2395 mvi->sas.sas_port = arr_port;
2150 mvi->sas.num_phys = chip->n_phy; 2396 mvi->sas.num_phys = chip->n_phy;
2151 mvi->sas.lldd_max_execute_num = MVS_CHIP_SLOT_SZ - 1; 2397 mvi->sas.lldd_max_execute_num = 1;
2152 mvi->sas.lldd_queue_size = MVS_QUEUE_SIZE; 2398 mvi->sas.lldd_queue_size = MVS_QUEUE_SIZE;
2153 mvi->can_queue = (MVS_CHIP_SLOT_SZ >> 1) - 1; 2399 mvi->shost->can_queue = MVS_CAN_QUEUE;
2400 mvi->shost->cmd_per_lun = MVS_SLOTS / mvi->sas.num_phys;
2154 mvi->sas.lldd_ha = mvi; 2401 mvi->sas.lldd_ha = mvi;
2155 mvi->sas.core.shost = mvi->shost; 2402 mvi->sas.core.shost = mvi->shost;
2156 2403
@@ -2203,11 +2450,11 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
2203 memset(mvi->rx_fis, 0, MVS_RX_FISL_SZ); 2450 memset(mvi->rx_fis, 0, MVS_RX_FISL_SZ);
2204 2451
2205 mvi->rx = dma_alloc_coherent(&pdev->dev, 2452 mvi->rx = dma_alloc_coherent(&pdev->dev,
2206 sizeof(*mvi->rx) * MVS_RX_RING_SZ, 2453 sizeof(*mvi->rx) * (MVS_RX_RING_SZ + 1),
2207 &mvi->rx_dma, GFP_KERNEL); 2454 &mvi->rx_dma, GFP_KERNEL);
2208 if (!mvi->rx) 2455 if (!mvi->rx)
2209 goto err_out; 2456 goto err_out;
2210 memset(mvi->rx, 0, sizeof(*mvi->rx) * MVS_RX_RING_SZ); 2457 memset(mvi->rx, 0, sizeof(*mvi->rx) * (MVS_RX_RING_SZ + 1));
2211 2458
2212 mvi->rx[0] = cpu_to_le32(0xfff); 2459 mvi->rx[0] = cpu_to_le32(0xfff);
2213 mvi->rx_cons = 0xfff; 2460 mvi->rx_cons = 0xfff;
@@ -2357,7 +2604,7 @@ static void __devinit mvs_phy_hacks(struct mvs_info *mvi)
2357 mvs_cw32(regs, CMD_SAS_CTL0, tmp); 2604 mvs_cw32(regs, CMD_SAS_CTL0, tmp);
2358 2605
2359 /* workaround for WDTIMEOUT , set to 550 ms */ 2606 /* workaround for WDTIMEOUT , set to 550 ms */
2360 mvs_cw32(regs, CMD_WD_TIMER, 0xffffff); 2607 mvs_cw32(regs, CMD_WD_TIMER, 0x86470);
2361 2608
2362 /* not to halt for different port op during wideport link change */ 2609 /* not to halt for different port op during wideport link change */
2363 mvs_cw32(regs, CMD_APP_ERR_CONFIG, 0xffefbf7d); 2610 mvs_cw32(regs, CMD_APP_ERR_CONFIG, 0xffefbf7d);
@@ -2465,17 +2712,16 @@ static u32 mvs_is_phy_ready(struct mvs_info *mvi, int i)
2465{ 2712{
2466 u32 tmp; 2713 u32 tmp;
2467 struct mvs_phy *phy = &mvi->phy[i]; 2714 struct mvs_phy *phy = &mvi->phy[i];
2468 struct mvs_port *port; 2715 struct mvs_port *port = phy->port;;
2469 2716
2470 tmp = mvs_read_phy_ctl(mvi, i); 2717 tmp = mvs_read_phy_ctl(mvi, i);
2471 2718
2472 if ((tmp & PHY_READY_MASK) && !(phy->irq_status & PHYEV_POOF)) { 2719 if ((tmp & PHY_READY_MASK) && !(phy->irq_status & PHYEV_POOF)) {
2473 if (!phy->port) 2720 if (!port)
2474 phy->phy_attached = 1; 2721 phy->phy_attached = 1;
2475 return tmp; 2722 return tmp;
2476 } 2723 }
2477 2724
2478 port = phy->port;
2479 if (port) { 2725 if (port) {
2480 if (phy->phy_type & PORT_TYPE_SAS) { 2726 if (phy->phy_type & PORT_TYPE_SAS) {
2481 port->wide_port_phymap &= ~(1U << i); 2727 port->wide_port_phymap &= ~(1U << i);
@@ -2497,7 +2743,7 @@ static void mvs_update_phyinfo(struct mvs_info *mvi, int i,
2497{ 2743{
2498 struct mvs_phy *phy = &mvi->phy[i]; 2744 struct mvs_phy *phy = &mvi->phy[i];
2499 struct pci_dev *pdev = mvi->pdev; 2745 struct pci_dev *pdev = mvi->pdev;
2500 u32 tmp, j; 2746 u32 tmp;
2501 u64 tmp64; 2747 u64 tmp64;
2502 2748
2503 mvs_write_port_cfg_addr(mvi, i, PHYR_IDENTIFY); 2749 mvs_write_port_cfg_addr(mvi, i, PHYR_IDENTIFY);
@@ -2524,46 +2770,20 @@ static void mvs_update_phyinfo(struct mvs_info *mvi, int i,
2524 sas_phy->linkrate = 2770 sas_phy->linkrate =
2525 (phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >> 2771 (phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >>
2526 PHY_NEG_SPP_PHYS_LINK_RATE_MASK_OFFSET; 2772 PHY_NEG_SPP_PHYS_LINK_RATE_MASK_OFFSET;
2527 2773 phy->minimum_linkrate =
2528 /* Updated attached_sas_addr */ 2774 (phy->phy_status &
2529 mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_ADDR_HI); 2775 PHY_MIN_SPP_PHYS_LINK_RATE_MASK) >> 8;
2530 phy->att_dev_sas_addr = 2776 phy->maximum_linkrate =
2531 (u64) mvs_read_port_cfg_data(mvi, i) << 32; 2777 (phy->phy_status &
2532 2778 PHY_MAX_SPP_PHYS_LINK_RATE_MASK) >> 12;
2533 mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_ADDR_LO);
2534 phy->att_dev_sas_addr |= mvs_read_port_cfg_data(mvi, i);
2535
2536 dev_printk(KERN_DEBUG, &pdev->dev,
2537 "phy[%d] Get Attached Address 0x%llX ,"
2538 " SAS Address 0x%llX\n",
2539 i, phy->att_dev_sas_addr, phy->dev_sas_addr);
2540 dev_printk(KERN_DEBUG, &pdev->dev,
2541 "Rate = %x , type = %d\n",
2542 sas_phy->linkrate, phy->phy_type);
2543
2544#if 1
2545 /*
2546 * If the device is capable of supporting a wide port
2547 * on its phys, it may configure the phys as a wide port.
2548 */
2549 if (phy->phy_type & PORT_TYPE_SAS)
2550 for (j = 0; j < mvi->chip->n_phy && j != i; ++j) {
2551 if ((mvi->phy[j].phy_attached) &&
2552 (mvi->phy[j].phy_type & PORT_TYPE_SAS))
2553 if (phy->att_dev_sas_addr ==
2554 mvi->phy[j].att_dev_sas_addr - 1) {
2555 phy->att_dev_sas_addr =
2556 mvi->phy[j].att_dev_sas_addr;
2557 break;
2558 }
2559 }
2560
2561#endif
2562
2563 tmp64 = cpu_to_be64(phy->att_dev_sas_addr);
2564 memcpy(sas_phy->attached_sas_addr, &tmp64, SAS_ADDR_SIZE);
2565 2779
2566 if (phy->phy_type & PORT_TYPE_SAS) { 2780 if (phy->phy_type & PORT_TYPE_SAS) {
2781 /* Updated attached_sas_addr */
2782 mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_ADDR_HI);
2783 phy->att_dev_sas_addr =
2784 (u64) mvs_read_port_cfg_data(mvi, i) << 32;
2785 mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_ADDR_LO);
2786 phy->att_dev_sas_addr |= mvs_read_port_cfg_data(mvi, i);
2567 mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_DEV_INFO); 2787 mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_DEV_INFO);
2568 phy->att_dev_info = mvs_read_port_cfg_data(mvi, i); 2788 phy->att_dev_info = mvs_read_port_cfg_data(mvi, i);
2569 phy->identify.device_type = 2789 phy->identify.device_type =
@@ -2582,6 +2802,7 @@ static void mvs_update_phyinfo(struct mvs_info *mvi, int i,
2582 } else if (phy->phy_type & PORT_TYPE_SATA) { 2802 } else if (phy->phy_type & PORT_TYPE_SATA) {
2583 phy->identify.target_port_protocols = SAS_PROTOCOL_STP; 2803 phy->identify.target_port_protocols = SAS_PROTOCOL_STP;
2584 if (mvs_is_sig_fis_received(phy->irq_status)) { 2804 if (mvs_is_sig_fis_received(phy->irq_status)) {
2805 phy->att_dev_sas_addr = i; /* temp */
2585 if (phy_st & PHY_OOB_DTCTD) 2806 if (phy_st & PHY_OOB_DTCTD)
2586 sas_phy->oob_mode = SATA_OOB_MODE; 2807 sas_phy->oob_mode = SATA_OOB_MODE;
2587 phy->frame_rcvd_size = 2808 phy->frame_rcvd_size =
@@ -2591,20 +2812,34 @@ static void mvs_update_phyinfo(struct mvs_info *mvi, int i,
2591 } else { 2812 } else {
2592 dev_printk(KERN_DEBUG, &pdev->dev, 2813 dev_printk(KERN_DEBUG, &pdev->dev,
2593 "No sig fis\n"); 2814 "No sig fis\n");
2815 phy->phy_type &= ~(PORT_TYPE_SATA);
2816 goto out_done;
2594 } 2817 }
2595 } 2818 }
2819 tmp64 = cpu_to_be64(phy->att_dev_sas_addr);
2820 memcpy(sas_phy->attached_sas_addr, &tmp64, SAS_ADDR_SIZE);
2821
2822 dev_printk(KERN_DEBUG, &pdev->dev,
2823 "phy[%d] Get Attached Address 0x%llX ,"
2824 " SAS Address 0x%llX\n",
2825 i, phy->att_dev_sas_addr, phy->dev_sas_addr);
2826 dev_printk(KERN_DEBUG, &pdev->dev,
2827 "Rate = %x , type = %d\n",
2828 sas_phy->linkrate, phy->phy_type);
2829
2596 /* workaround for HW phy decoding error on 1.5g disk drive */ 2830 /* workaround for HW phy decoding error on 1.5g disk drive */
2597 mvs_write_port_vsr_addr(mvi, i, VSR_PHY_MODE6); 2831 mvs_write_port_vsr_addr(mvi, i, VSR_PHY_MODE6);
2598 tmp = mvs_read_port_vsr_data(mvi, i); 2832 tmp = mvs_read_port_vsr_data(mvi, i);
2599 if (((phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >> 2833 if (((phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >>
2600 PHY_NEG_SPP_PHYS_LINK_RATE_MASK_OFFSET) == 2834 PHY_NEG_SPP_PHYS_LINK_RATE_MASK_OFFSET) ==
2601 SAS_LINK_RATE_1_5_GBPS) 2835 SAS_LINK_RATE_1_5_GBPS)
2602 tmp &= ~PHY_MODE6_DTL_SPEED; 2836 tmp &= ~PHY_MODE6_LATECLK;
2603 else 2837 else
2604 tmp |= PHY_MODE6_DTL_SPEED; 2838 tmp |= PHY_MODE6_LATECLK;
2605 mvs_write_port_vsr_data(mvi, i, tmp); 2839 mvs_write_port_vsr_data(mvi, i, tmp);
2606 2840
2607 } 2841 }
2842out_done:
2608 if (get_st) 2843 if (get_st)
2609 mvs_write_port_irq_stat(mvi, i, phy->irq_status); 2844 mvs_write_port_irq_stat(mvi, i, phy->irq_status);
2610} 2845}
@@ -2629,6 +2864,11 @@ static void mvs_port_formed(struct asd_sas_phy *sas_phy)
2629 spin_unlock_irqrestore(&mvi->lock, flags); 2864 spin_unlock_irqrestore(&mvi->lock, flags);
2630} 2865}
2631 2866
2867static int mvs_I_T_nexus_reset(struct domain_device *dev)
2868{
2869 return TMF_RESP_FUNC_FAILED;
2870}
2871
2632static int __devinit mvs_hw_init(struct mvs_info *mvi) 2872static int __devinit mvs_hw_init(struct mvs_info *mvi)
2633{ 2873{
2634 void __iomem *regs = mvi->regs; 2874 void __iomem *regs = mvi->regs;
@@ -2790,13 +3030,12 @@ static int __devinit mvs_hw_init(struct mvs_info *mvi)
2790 /* enable CMD/CMPL_Q/RESP mode */ 3030 /* enable CMD/CMPL_Q/RESP mode */
2791 mw32(PCS, PCS_SATA_RETRY | PCS_FIS_RX_EN | PCS_CMD_EN); 3031 mw32(PCS, PCS_SATA_RETRY | PCS_FIS_RX_EN | PCS_CMD_EN);
2792 3032
2793 /* re-enable interrupts globally */
2794 mvs_hba_interrupt_enable(mvi);
2795
2796 /* enable completion queue interrupt */ 3033 /* enable completion queue interrupt */
2797 tmp = (CINT_PORT_MASK | CINT_DONE | CINT_MEM); 3034 tmp = (CINT_PORT_MASK | CINT_DONE | CINT_MEM | CINT_SRS);
2798 mw32(INT_MASK, tmp); 3035 mw32(INT_MASK, tmp);
2799 3036
3037 /* Enable SRS interrupt */
3038 mw32(INT_MASK_SRS, 0xFF);
2800 return 0; 3039 return 0;
2801} 3040}
2802 3041
@@ -2870,6 +3109,8 @@ static int __devinit mvs_pci_init(struct pci_dev *pdev,
2870 3109
2871 mvs_print_info(mvi); 3110 mvs_print_info(mvi);
2872 3111
3112 mvs_hba_interrupt_enable(mvi);
3113
2873 scsi_scan_host(mvi->shost); 3114 scsi_scan_host(mvi->shost);
2874 3115
2875 return 0; 3116 return 0;
@@ -2915,12 +3156,22 @@ static struct sas_domain_function_template mvs_transport_ops = {
2915 .lldd_execute_task = mvs_task_exec, 3156 .lldd_execute_task = mvs_task_exec,
2916 .lldd_control_phy = mvs_phy_control, 3157 .lldd_control_phy = mvs_phy_control,
2917 .lldd_abort_task = mvs_task_abort, 3158 .lldd_abort_task = mvs_task_abort,
2918 .lldd_port_formed = mvs_port_formed 3159 .lldd_port_formed = mvs_port_formed,
3160 .lldd_I_T_nexus_reset = mvs_I_T_nexus_reset,
2919}; 3161};
2920 3162
2921static struct pci_device_id __devinitdata mvs_pci_table[] = { 3163static struct pci_device_id __devinitdata mvs_pci_table[] = {
2922 { PCI_VDEVICE(MARVELL, 0x6320), chip_6320 }, 3164 { PCI_VDEVICE(MARVELL, 0x6320), chip_6320 },
2923 { PCI_VDEVICE(MARVELL, 0x6340), chip_6440 }, 3165 { PCI_VDEVICE(MARVELL, 0x6340), chip_6440 },
3166 {
3167 .vendor = PCI_VENDOR_ID_MARVELL,
3168 .device = 0x6440,
3169 .subvendor = PCI_ANY_ID,
3170 .subdevice = 0x6480,
3171 .class = 0,
3172 .class_mask = 0,
3173 .driver_data = chip_6480,
3174 },
2924 { PCI_VDEVICE(MARVELL, 0x6440), chip_6440 }, 3175 { PCI_VDEVICE(MARVELL, 0x6440), chip_6440 },
2925 { PCI_VDEVICE(MARVELL, 0x6480), chip_6480 }, 3176 { PCI_VDEVICE(MARVELL, 0x6480), chip_6480 },
2926 3177
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index ba21d97d185..f40898dc2d1 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -2162,10 +2162,15 @@ void sdev_evt_send(struct scsi_device *sdev, struct scsi_event *evt)
2162{ 2162{
2163 unsigned long flags; 2163 unsigned long flags;
2164 2164
2165#if 0
2166 /* FIXME: currently this check eliminates all media change events
2167 * for polled devices. Need to update to discriminate between AN
2168 * and polled events */
2165 if (!test_bit(evt->evt_type, sdev->supported_events)) { 2169 if (!test_bit(evt->evt_type, sdev->supported_events)) {
2166 kfree(evt); 2170 kfree(evt);
2167 return; 2171 return;
2168 } 2172 }
2173#endif
2169 2174
2170 spin_lock_irqsave(&sdev->list_lock, flags); 2175 spin_lock_irqsave(&sdev->list_lock, flags);
2171 list_add_tail(&evt->node, &sdev->event_list); 2176 list_add_tail(&evt->node, &sdev->event_list);
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 7aee64dbfbe..5fe7aaed904 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1654,6 +1654,7 @@ static int sd_probe(struct device *dev)
1654 sdkp->disk = gd; 1654 sdkp->disk = gd;
1655 sdkp->index = index; 1655 sdkp->index = index;
1656 sdkp->openers = 0; 1656 sdkp->openers = 0;
1657 sdkp->previous_state = 1;
1657 1658
1658 if (!sdp->timeout) { 1659 if (!sdp->timeout) {
1659 if (sdp->type != TYPE_MOD) 1660 if (sdp->type != TYPE_MOD)
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index 208565bdbe8..7ee86d4a761 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -623,6 +623,7 @@ static int sr_probe(struct device *dev)
623 cd->disk = disk; 623 cd->disk = disk;
624 cd->capacity = 0x1fffff; 624 cd->capacity = 0x1fffff;
625 cd->device->changed = 1; /* force recheck CD type */ 625 cd->device->changed = 1; /* force recheck CD type */
626 cd->previous_state = 1;
626 cd->use = 1; 627 cd->use = 1;
627 cd->readcd_known = 0; 628 cd->readcd_known = 0;
628 cd->readcd_cdda = 0; 629 cd->readcd_cdda = 0;
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
index a8bec498cad..f97224ce59d 100644
--- a/drivers/serial/8250_pci.c
+++ b/drivers/serial/8250_pci.c
@@ -1214,13 +1214,6 @@ static struct pciserial_board pci_boards[] __devinitdata = {
1214 .base_baud = 115200, 1214 .base_baud = 115200,
1215 .uart_offset = 8, 1215 .uart_offset = 8,
1216 }, 1216 },
1217 [pbn_b0_8_115200] = {
1218 .flags = FL_BASE0,
1219 .num_ports = 8,
1220 .base_baud = 115200,
1221 .uart_offset = 8,
1222 },
1223
1224 [pbn_b0_1_921600] = { 1217 [pbn_b0_1_921600] = {
1225 .flags = FL_BASE0, 1218 .flags = FL_BASE0,
1226 .num_ports = 1, 1219 .num_ports = 1,
diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index d57bf3e708d..430997e33fc 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -96,6 +96,7 @@
96 96
97 /* PDC registers */ 97 /* PDC registers */
98#define UART_PUT_PTCR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_PTCR) 98#define UART_PUT_PTCR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_PTCR)
99#define UART_GET_TCR(port) __raw_readl((port)->membase + ATMEL_PDC_TCR)
99#define UART_GET_PTSR(port) __raw_readl((port)->membase + ATMEL_PDC_PTSR) 100#define UART_GET_PTSR(port) __raw_readl((port)->membase + ATMEL_PDC_PTSR)
100 101
101#define UART_PUT_RPR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_RPR) 102#define UART_PUT_RPR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_RPR)
@@ -106,6 +107,7 @@
106 107
107#define UART_PUT_TPR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_TPR) 108#define UART_PUT_TPR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_TPR)
108#define UART_PUT_TCR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_TCR) 109#define UART_PUT_TCR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_TCR)
110#define UART_GET_TCR(port) __raw_readl((port)->membase + ATMEL_PDC_TCR)
109 111
110static int (*atmel_open_hook)(struct uart_port *); 112static int (*atmel_open_hook)(struct uart_port *);
111static void (*atmel_close_hook)(struct uart_port *); 113static void (*atmel_close_hook)(struct uart_port *);
@@ -562,17 +564,22 @@ static void atmel_tx_dma(struct uart_port *port)
562 struct atmel_dma_buffer *pdc = &atmel_port->pdc_tx; 564 struct atmel_dma_buffer *pdc = &atmel_port->pdc_tx;
563 int count; 565 int count;
564 566
567 /* nothing left to transmit? */
568 if (UART_GET_TCR(port))
569 return;
570
565 xmit->tail += pdc->ofs; 571 xmit->tail += pdc->ofs;
566 xmit->tail &= UART_XMIT_SIZE - 1; 572 xmit->tail &= UART_XMIT_SIZE - 1;
567 573
568 port->icount.tx += pdc->ofs; 574 port->icount.tx += pdc->ofs;
569 pdc->ofs = 0; 575 pdc->ofs = 0;
570 576
571 if (!uart_circ_empty(xmit)) { 577 /* more to transmit - setup next transfer */
572 /* more to transmit - setup next transfer */
573 578
574 /* disable PDC transmit */ 579 /* disable PDC transmit */
575 UART_PUT_PTCR(port, ATMEL_PDC_TXTDIS); 580 UART_PUT_PTCR(port, ATMEL_PDC_TXTDIS);
581
582 if (!uart_circ_empty(xmit)) {
576 dma_sync_single_for_device(port->dev, 583 dma_sync_single_for_device(port->dev,
577 pdc->dma_addr, 584 pdc->dma_addr,
578 pdc->dma_size, 585 pdc->dma_size,
@@ -586,11 +593,6 @@ static void atmel_tx_dma(struct uart_port *port)
586 /* re-enable PDC transmit and interrupts */ 593 /* re-enable PDC transmit and interrupts */
587 UART_PUT_PTCR(port, ATMEL_PDC_TXTEN); 594 UART_PUT_PTCR(port, ATMEL_PDC_TXTEN);
588 UART_PUT_IER(port, ATMEL_US_ENDTX | ATMEL_US_TXBUFE); 595 UART_PUT_IER(port, ATMEL_US_ENDTX | ATMEL_US_TXBUFE);
589 } else {
590 /* nothing left to transmit - disable the transmitter */
591
592 /* disable PDC transmit */
593 UART_PUT_PTCR(port, ATMEL_PDC_TXTDIS);
594 } 596 }
595 597
596 if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) 598 if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
@@ -1274,6 +1276,7 @@ static void atmel_console_write(struct console *co, const char *s, u_int count)
1274{ 1276{
1275 struct uart_port *port = &atmel_ports[co->index].uart; 1277 struct uart_port *port = &atmel_ports[co->index].uart;
1276 unsigned int status, imr; 1278 unsigned int status, imr;
1279 unsigned int pdc_tx;
1277 1280
1278 /* 1281 /*
1279 * First, save IMR and then disable interrupts 1282 * First, save IMR and then disable interrupts
@@ -1281,6 +1284,10 @@ static void atmel_console_write(struct console *co, const char *s, u_int count)
1281 imr = UART_GET_IMR(port); 1284 imr = UART_GET_IMR(port);
1282 UART_PUT_IDR(port, ATMEL_US_RXRDY | ATMEL_US_TXRDY); 1285 UART_PUT_IDR(port, ATMEL_US_RXRDY | ATMEL_US_TXRDY);
1283 1286
1287 /* Store PDC transmit status and disable it */
1288 pdc_tx = UART_GET_PTSR(port) & ATMEL_PDC_TXTEN;
1289 UART_PUT_PTCR(port, ATMEL_PDC_TXTDIS);
1290
1284 uart_console_write(port, s, count, atmel_console_putchar); 1291 uart_console_write(port, s, count, atmel_console_putchar);
1285 1292
1286 /* 1293 /*
@@ -1290,6 +1297,11 @@ static void atmel_console_write(struct console *co, const char *s, u_int count)
1290 do { 1297 do {
1291 status = UART_GET_CSR(port); 1298 status = UART_GET_CSR(port);
1292 } while (!(status & ATMEL_US_TXRDY)); 1299 } while (!(status & ATMEL_US_TXRDY));
1300
1301 /* Restore PDC transmit status */
1302 if (pdc_tx)
1303 UART_PUT_PTCR(port, ATMEL_PDC_TXTEN);
1304
1293 /* set interrupts back the way they were */ 1305 /* set interrupts back the way they were */
1294 UART_PUT_IER(port, imr); 1306 UART_PUT_IER(port, imr);
1295} 1307}
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index a8c116b80bf..9d244d1644e 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -414,12 +414,12 @@ static void sci_init_pins_scif(struct uart_port *port, unsigned int cflag)
414 defined(CONFIG_CPU_SUBTYPE_SH7785) 414 defined(CONFIG_CPU_SUBTYPE_SH7785)
415static inline int scif_txroom(struct uart_port *port) 415static inline int scif_txroom(struct uart_port *port)
416{ 416{
417 return SCIF_TXROOM_MAX - (sci_in(port, SCTFDR) & 0x7f); 417 return SCIF_TXROOM_MAX - (sci_in(port, SCTFDR) & 0xff);
418} 418}
419 419
420static inline int scif_rxroom(struct uart_port *port) 420static inline int scif_rxroom(struct uart_port *port)
421{ 421{
422 return sci_in(port, SCRFDR) & 0x7f; 422 return sci_in(port, SCRFDR) & 0xff;
423} 423}
424#else 424#else
425static inline int scif_txroom(struct uart_port *port) 425static inline int scif_txroom(struct uart_port *port)
diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
index 3ab313ed441..17e71d56f31 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -4,8 +4,6 @@
4 4
5menuconfig THERMAL 5menuconfig THERMAL
6 bool "Generic Thermal sysfs driver" 6 bool "Generic Thermal sysfs driver"
7 select HWMON
8 default y
9 help 7 help
10 Generic Thermal Sysfs driver offers a generic mechanism for 8 Generic Thermal Sysfs driver offers a generic mechanism for
11 thermal management. Usually it's made up of one or more thermal 9 thermal management. Usually it's made up of one or more thermal
diff --git a/drivers/thermal/thermal.c b/drivers/thermal/thermal.c
index 41bd4c805ac..8b86e53ccf7 100644
--- a/drivers/thermal/thermal.c
+++ b/drivers/thermal/thermal.c
@@ -30,10 +30,8 @@
30#include <linux/idr.h> 30#include <linux/idr.h>
31#include <linux/thermal.h> 31#include <linux/thermal.h>
32#include <linux/spinlock.h> 32#include <linux/spinlock.h>
33#include <linux/hwmon.h>
34#include <linux/hwmon-sysfs.h>
35 33
36MODULE_AUTHOR("Zhang Rui"); 34MODULE_AUTHOR("Zhang Rui")
37MODULE_DESCRIPTION("Generic thermal management sysfs support"); 35MODULE_DESCRIPTION("Generic thermal management sysfs support");
38MODULE_LICENSE("GPL"); 36MODULE_LICENSE("GPL");
39 37
@@ -58,9 +56,6 @@ static LIST_HEAD(thermal_tz_list);
58static LIST_HEAD(thermal_cdev_list); 56static LIST_HEAD(thermal_cdev_list);
59static DEFINE_MUTEX(thermal_list_lock); 57static DEFINE_MUTEX(thermal_list_lock);
60 58
61static struct device *thermal_hwmon;
62#define MAX_THERMAL_ZONES 10
63
64static int get_idr(struct idr *idr, struct mutex *lock, int *id) 59static int get_idr(struct idr *idr, struct mutex *lock, int *id)
65{ 60{
66 int err; 61 int err;
@@ -92,67 +87,7 @@ static void release_idr(struct idr *idr, struct mutex *lock, int id)
92 mutex_unlock(lock); 87 mutex_unlock(lock);
93} 88}
94 89
95/* hwmon sys I/F*/ 90/* sys I/F for thermal zone */
96static ssize_t
97name_show(struct device *dev, struct device_attribute *attr, char *buf)
98{
99 return sprintf(buf, "thermal_sys_class\n");
100}
101
102static ssize_t
103temp_input_show(struct device *dev, struct device_attribute *attr, char *buf)
104{
105 struct thermal_zone_device *tz;
106 struct sensor_device_attribute *sensor_attr
107 = to_sensor_dev_attr(attr);
108
109 list_for_each_entry(tz, &thermal_tz_list, node)
110 if (tz->id == sensor_attr->index)
111 return tz->ops->get_temp(tz, buf);
112
113 return -ENODEV;
114}
115
116static ssize_t
117temp_crit_show(struct device *dev, struct device_attribute *attr,
118 char *buf)
119{
120 struct thermal_zone_device *tz;
121 struct sensor_device_attribute *sensor_attr
122 = to_sensor_dev_attr(attr);
123
124 list_for_each_entry(tz, &thermal_tz_list, node)
125 if (tz->id == sensor_attr->index)
126 return tz->ops->get_trip_temp(tz, 0, buf);
127
128 return -ENODEV;
129}
130
131static DEVICE_ATTR(name, 0444, name_show, NULL);
132static struct sensor_device_attribute sensor_attrs[] = {
133 SENSOR_ATTR(temp1_input, 0444, temp_input_show, NULL, 0),
134 SENSOR_ATTR(temp1_crit, 0444, temp_crit_show, NULL, 0),
135 SENSOR_ATTR(temp2_input, 0444, temp_input_show, NULL, 1),
136 SENSOR_ATTR(temp2_crit, 0444, temp_crit_show, NULL, 1),
137 SENSOR_ATTR(temp3_input, 0444, temp_input_show, NULL, 2),
138 SENSOR_ATTR(temp3_crit, 0444, temp_crit_show, NULL, 2),
139 SENSOR_ATTR(temp4_input, 0444, temp_input_show, NULL, 3),
140 SENSOR_ATTR(temp4_crit, 0444, temp_crit_show, NULL, 3),
141 SENSOR_ATTR(temp5_input, 0444, temp_input_show, NULL, 4),
142 SENSOR_ATTR(temp5_crit, 0444, temp_crit_show, NULL, 4),
143 SENSOR_ATTR(temp6_input, 0444, temp_input_show, NULL, 5),
144 SENSOR_ATTR(temp6_crit, 0444, temp_crit_show, NULL, 5),
145 SENSOR_ATTR(temp7_input, 0444, temp_input_show, NULL, 6),
146 SENSOR_ATTR(temp7_crit, 0444, temp_crit_show, NULL, 6),
147 SENSOR_ATTR(temp8_input, 0444, temp_input_show, NULL, 7),
148 SENSOR_ATTR(temp8_crit, 0444, temp_crit_show, NULL, 7),
149 SENSOR_ATTR(temp9_input, 0444, temp_input_show, NULL, 8),
150 SENSOR_ATTR(temp9_crit, 0444, temp_crit_show, NULL, 8),
151 SENSOR_ATTR(temp10_input, 0444, temp_input_show, NULL, 9),
152 SENSOR_ATTR(temp10_crit, 0444, temp_crit_show, NULL, 9),
153};
154
155/* thermal zone sys I/F */
156 91
157#define to_thermal_zone(_dev) \ 92#define to_thermal_zone(_dev) \
158 container_of(_dev, struct thermal_zone_device, device) 93 container_of(_dev, struct thermal_zone_device, device)
@@ -279,7 +214,7 @@ do { \
279 device_remove_file(_dev, &trip_point_attrs[_index * 2 + 1]); \ 214 device_remove_file(_dev, &trip_point_attrs[_index * 2 + 1]); \
280} while (0) 215} while (0)
281 216
282/* cooling device sys I/F */ 217/* sys I/F for cooling device */
283#define to_cooling_device(_dev) \ 218#define to_cooling_device(_dev) \
284 container_of(_dev, struct thermal_cooling_device, device) 219 container_of(_dev, struct thermal_cooling_device, device)
285 220
@@ -512,9 +447,6 @@ struct thermal_cooling_device *thermal_cooling_device_register(char *type,
512 struct thermal_zone_device *pos; 447 struct thermal_zone_device *pos;
513 int result; 448 int result;
514 449
515 if (!type)
516 return ERR_PTR(-EINVAL);
517
518 if (strlen(type) >= THERMAL_NAME_LENGTH) 450 if (strlen(type) >= THERMAL_NAME_LENGTH)
519 return ERR_PTR(-EINVAL); 451 return ERR_PTR(-EINVAL);
520 452
@@ -545,9 +477,11 @@ struct thermal_cooling_device *thermal_cooling_device_register(char *type,
545 } 477 }
546 478
547 /* sys I/F */ 479 /* sys I/F */
548 result = device_create_file(&cdev->device, &dev_attr_cdev_type); 480 if (type) {
549 if (result) 481 result = device_create_file(&cdev->device, &dev_attr_cdev_type);
550 goto unregister; 482 if (result)
483 goto unregister;
484 }
551 485
552 result = device_create_file(&cdev->device, &dev_attr_max_state); 486 result = device_create_file(&cdev->device, &dev_attr_max_state);
553 if (result) 487 if (result)
@@ -613,8 +547,8 @@ void thermal_cooling_device_unregister(struct
613 tz->ops->unbind(tz, cdev); 547 tz->ops->unbind(tz, cdev);
614 } 548 }
615 mutex_unlock(&thermal_list_lock); 549 mutex_unlock(&thermal_list_lock);
616 550 if (cdev->type[0])
617 device_remove_file(&cdev->device, &dev_attr_cdev_type); 551 device_remove_file(&cdev->device, &dev_attr_cdev_type);
618 device_remove_file(&cdev->device, &dev_attr_max_state); 552 device_remove_file(&cdev->device, &dev_attr_max_state);
619 device_remove_file(&cdev->device, &dev_attr_cur_state); 553 device_remove_file(&cdev->device, &dev_attr_cur_state);
620 554
@@ -646,9 +580,6 @@ struct thermal_zone_device *thermal_zone_device_register(char *type,
646 int result; 580 int result;
647 int count; 581 int count;
648 582
649 if (!type)
650 return ERR_PTR(-EINVAL);
651
652 if (strlen(type) >= THERMAL_NAME_LENGTH) 583 if (strlen(type) >= THERMAL_NAME_LENGTH)
653 return ERR_PTR(-EINVAL); 584 return ERR_PTR(-EINVAL);
654 585
@@ -670,13 +601,6 @@ struct thermal_zone_device *thermal_zone_device_register(char *type,
670 kfree(tz); 601 kfree(tz);
671 return ERR_PTR(result); 602 return ERR_PTR(result);
672 } 603 }
673 if (tz->id >= MAX_THERMAL_ZONES) {
674 printk(KERN_ERR PREFIX
675 "Too many thermal zones\n");
676 release_idr(&thermal_tz_idr, &thermal_idr_lock, tz->id);
677 kfree(tz);
678 return ERR_PTR(-EINVAL);
679 }
680 604
681 strcpy(tz->type, type); 605 strcpy(tz->type, type);
682 tz->ops = ops; 606 tz->ops = ops;
@@ -691,27 +615,12 @@ struct thermal_zone_device *thermal_zone_device_register(char *type,
691 return ERR_PTR(result); 615 return ERR_PTR(result);
692 } 616 }
693 617
694 /* hwmon sys I/F */
695 result = device_create_file(thermal_hwmon,
696 &sensor_attrs[tz->id * 2].dev_attr);
697 if (result)
698 goto unregister;
699
700 if (trips > 0) {
701 char buf[40];
702 result = tz->ops->get_trip_type(tz, 0, buf);
703 if (result > 0 && !strcmp(buf, "critical\n")) {
704 result = device_create_file(thermal_hwmon,
705 &sensor_attrs[tz->id * 2 + 1].dev_attr);
706 if (result)
707 goto unregister;
708 }
709 }
710
711 /* sys I/F */ 618 /* sys I/F */
712 result = device_create_file(&tz->device, &dev_attr_type); 619 if (type) {
713 if (result) 620 result = device_create_file(&tz->device, &dev_attr_type);
714 goto unregister; 621 if (result)
622 goto unregister;
623 }
715 624
716 result = device_create_file(&tz->device, &dev_attr_temp); 625 result = device_create_file(&tz->device, &dev_attr_temp);
717 if (result) 626 if (result)
@@ -778,17 +687,8 @@ void thermal_zone_device_unregister(struct thermal_zone_device *tz)
778 tz->ops->unbind(tz, cdev); 687 tz->ops->unbind(tz, cdev);
779 mutex_unlock(&thermal_list_lock); 688 mutex_unlock(&thermal_list_lock);
780 689
781 device_remove_file(thermal_hwmon, 690 if (tz->type[0])
782 &sensor_attrs[tz->id * 2].dev_attr); 691 device_remove_file(&tz->device, &dev_attr_type);
783 if (tz->trips > 0) {
784 char buf[40];
785 if (tz->ops->get_trip_type(tz, 0, buf) > 0)
786 if (!strcmp(buf, "critical\n"))
787 device_remove_file(thermal_hwmon,
788 &sensor_attrs[tz->id * 2 + 1].dev_attr);
789 }
790
791 device_remove_file(&tz->device, &dev_attr_type);
792 device_remove_file(&tz->device, &dev_attr_temp); 692 device_remove_file(&tz->device, &dev_attr_temp);
793 if (tz->ops->get_mode) 693 if (tz->ops->get_mode)
794 device_remove_file(&tz->device, &dev_attr_mode); 694 device_remove_file(&tz->device, &dev_attr_mode);
@@ -805,19 +705,6 @@ void thermal_zone_device_unregister(struct thermal_zone_device *tz)
805 705
806EXPORT_SYMBOL(thermal_zone_device_unregister); 706EXPORT_SYMBOL(thermal_zone_device_unregister);
807 707
808static void thermal_exit(void)
809{
810 if (thermal_hwmon) {
811 device_remove_file(thermal_hwmon, &dev_attr_name);
812 hwmon_device_unregister(thermal_hwmon);
813 }
814 class_unregister(&thermal_class);
815 idr_destroy(&thermal_tz_idr);
816 idr_destroy(&thermal_cdev_idr);
817 mutex_destroy(&thermal_idr_lock);
818 mutex_destroy(&thermal_list_lock);
819}
820
821static int __init thermal_init(void) 708static int __init thermal_init(void)
822{ 709{
823 int result = 0; 710 int result = 0;
@@ -829,21 +716,17 @@ static int __init thermal_init(void)
829 mutex_destroy(&thermal_idr_lock); 716 mutex_destroy(&thermal_idr_lock);
830 mutex_destroy(&thermal_list_lock); 717 mutex_destroy(&thermal_list_lock);
831 } 718 }
832
833 thermal_hwmon = hwmon_device_register(NULL);
834 if (IS_ERR(thermal_hwmon)) {
835 result = PTR_ERR(thermal_hwmon);
836 thermal_hwmon = NULL;
837 printk(KERN_ERR PREFIX
838 "unable to register hwmon device\n");
839 thermal_exit();
840 return result;
841 }
842
843 result = device_create_file(thermal_hwmon, &dev_attr_name);
844
845 return result; 719 return result;
846} 720}
847 721
722static void __exit thermal_exit(void)
723{
724 class_unregister(&thermal_class);
725 idr_destroy(&thermal_tz_idr);
726 idr_destroy(&thermal_cdev_idr);
727 mutex_destroy(&thermal_idr_lock);
728 mutex_destroy(&thermal_list_lock);
729}
730
848subsys_initcall(thermal_init); 731subsys_initcall(thermal_init);
849module_exit(thermal_exit); 732module_exit(thermal_exit);
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c
index e8a01f26454..11759080ca5 100644
--- a/drivers/uio/uio.c
+++ b/drivers/uio/uio.c
@@ -470,6 +470,8 @@ static int uio_mmap_physical(struct vm_area_struct *vma)
470 470
471 vma->vm_flags |= VM_IO | VM_RESERVED; 471 vma->vm_flags |= VM_IO | VM_RESERVED;
472 472
473 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
474
473 return remap_pfn_range(vma, 475 return remap_pfn_range(vma,
474 vma->vm_start, 476 vma->vm_start,
475 idev->info->mem[mi].addr >> PAGE_SHIFT, 477 idev->info->mem[mi].addr >> PAGE_SHIFT,
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
index fefb92296e8..c311f67b7f0 100644
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -1206,7 +1206,10 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate)
1206 return -EINVAL; 1206 return -EINVAL;
1207 } 1207 }
1208 1208
1209 ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), 1209 if (dev->quirks & USB_QUIRK_NO_SET_INTF)
1210 ret = -EPIPE;
1211 else
1212 ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
1210 USB_REQ_SET_INTERFACE, USB_RECIP_INTERFACE, 1213 USB_REQ_SET_INTERFACE, USB_RECIP_INTERFACE,
1211 alternate, interface, NULL, 0, 5000); 1214 alternate, interface, NULL, 0, 5000);
1212 1215
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index d9d1eb19f2a..dfc5418ea10 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = {
50 /* M-Systems Flash Disk Pioneers */ 50 /* M-Systems Flash Disk Pioneers */
51 { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, 51 { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
52 52
53 /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */
54 { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF },
55
53 /* Action Semiconductor flash disk */ 56 /* Action Semiconductor flash disk */
54 { USB_DEVICE(0x10d6, 0x2200), .driver_info = 57 { USB_DEVICE(0x10d6, 0x2200), .driver_info =
55 USB_QUIRK_STRING_FETCH_255 }, 58 USB_QUIRK_STRING_FETCH_255 },
diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c
index 805602a687c..0a6feafc8d2 100644
--- a/drivers/usb/gadget/inode.c
+++ b/drivers/usb/gadget/inode.c
@@ -1458,7 +1458,7 @@ gadgetfs_setup (struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
1458 /* currently one config, two speeds */ 1458 /* currently one config, two speeds */
1459 case USB_REQ_SET_CONFIGURATION: 1459 case USB_REQ_SET_CONFIGURATION:
1460 if (ctrl->bRequestType != 0) 1460 if (ctrl->bRequestType != 0)
1461 break; 1461 goto unrecognized;
1462 if (0 == (u8) w_value) { 1462 if (0 == (u8) w_value) {
1463 value = 0; 1463 value = 0;
1464 dev->current_config = 0; 1464 dev->current_config = 0;
@@ -1505,7 +1505,7 @@ gadgetfs_setup (struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
1505 /* PXA automagically handles this request too */ 1505 /* PXA automagically handles this request too */
1506 case USB_REQ_GET_CONFIGURATION: 1506 case USB_REQ_GET_CONFIGURATION:
1507 if (ctrl->bRequestType != 0x80) 1507 if (ctrl->bRequestType != 0x80)
1508 break; 1508 goto unrecognized;
1509 *(u8 *)req->buf = dev->current_config; 1509 *(u8 *)req->buf = dev->current_config;
1510 value = min (w_length, (u16) 1); 1510 value = min (w_length, (u16) 1);
1511 break; 1511 break;
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index 40e8240b785..4e065e556e4 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -135,8 +135,6 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
135 hcd->state = HC_STATE_QUIESCING; 135 hcd->state = HC_STATE_QUIESCING;
136 } 136 }
137 ehci->command = ehci_readl(ehci, &ehci->regs->command); 137 ehci->command = ehci_readl(ehci, &ehci->regs->command);
138 if (ehci->reclaim)
139 end_unlink_async(ehci);
140 ehci_work(ehci); 138 ehci_work(ehci);
141 139
142 /* Unlike other USB host controller types, EHCI doesn't have 140 /* Unlike other USB host controller types, EHCI doesn't have
@@ -180,6 +178,9 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
180 ehci_halt (ehci); 178 ehci_halt (ehci);
181 hcd->state = HC_STATE_SUSPENDED; 179 hcd->state = HC_STATE_SUSPENDED;
182 180
181 if (ehci->reclaim)
182 end_unlink_async(ehci);
183
183 /* allow remote wakeup */ 184 /* allow remote wakeup */
184 mask = INTR_MASK; 185 mask = INTR_MASK;
185 if (!device_may_wakeup(&hcd->self.root_hub->dev)) 186 if (!device_may_wakeup(&hcd->self.root_hub->dev))
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index 3ba01664f82..72ccd56e36d 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -152,6 +152,20 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
152 break; 152 break;
153 } 153 }
154 break; 154 break;
155 case PCI_VENDOR_ID_VIA:
156 if (pdev->device == 0x3104 && (pdev->revision & 0xf0) == 0x60) {
157 u8 tmp;
158
159 /* The VT6212 defaults to a 1 usec EHCI sleep time which
160 * hogs the PCI bus *badly*. Setting bit 5 of 0x4B makes
161 * that sleep time use the conventional 10 usec.
162 */
163 pci_read_config_byte(pdev, 0x4b, &tmp);
164 if (tmp & 0x20)
165 break;
166 pci_write_config_byte(pdev, 0x4b, tmp | 0x20);
167 }
168 break;
155 } 169 }
156 170
157 ehci_reset(ehci); 171 ehci_reset(ehci);
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index dd4798ee028..33f1c1c32ed 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -467,7 +467,7 @@ static void unlink_watchdog_func(unsigned long _ohci)
467out: 467out:
468 kfree(seen); 468 kfree(seen);
469 if (ohci->eds_scheduled) 469 if (ohci->eds_scheduled)
470 mod_timer(&ohci->unlink_watchdog, round_jiffies_relative(HZ)); 470 mod_timer(&ohci->unlink_watchdog, round_jiffies(jiffies + HZ));
471done: 471done:
472 spin_unlock_irqrestore(&ohci->lock, flags); 472 spin_unlock_irqrestore(&ohci->lock, flags);
473} 473}
diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c
index 51817322232..9c9f3b59186 100644
--- a/drivers/usb/host/ohci-q.c
+++ b/drivers/usb/host/ohci-q.c
@@ -169,7 +169,7 @@ static int ed_schedule (struct ohci_hcd *ohci, struct ed *ed)
169 if (quirk_zfmicro(ohci) 169 if (quirk_zfmicro(ohci)
170 && (ed->type == PIPE_INTERRUPT) 170 && (ed->type == PIPE_INTERRUPT)
171 && !(ohci->eds_scheduled++)) 171 && !(ohci->eds_scheduled++))
172 mod_timer(&ohci->unlink_watchdog, round_jiffies_relative(HZ)); 172 mod_timer(&ohci->unlink_watchdog, round_jiffies(jiffies + HZ));
173 wmb (); 173 wmb ();
174 174
175 /* we care about rm_list when setting CLE/BLE in case the HC was at 175 /* we care about rm_list when setting CLE/BLE in case the HC was at
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
index da922dfc0dc..b6b5b2affad 100644
--- a/drivers/usb/misc/usbtest.c
+++ b/drivers/usb/misc/usbtest.c
@@ -378,6 +378,7 @@ alloc_sglist (int nents, int max, int vary)
378 sg = kmalloc (nents * sizeof *sg, GFP_KERNEL); 378 sg = kmalloc (nents * sizeof *sg, GFP_KERNEL);
379 if (!sg) 379 if (!sg)
380 return NULL; 380 return NULL;
381 sg_init_table(sg, nents);
381 382
382 for (i = 0; i < nents; i++) { 383 for (i = 0; i < nents; i++) {
383 char *buf; 384 char *buf;
@@ -390,7 +391,7 @@ alloc_sglist (int nents, int max, int vary)
390 } 391 }
391 392
392 /* kmalloc pages are always physically contiguous! */ 393 /* kmalloc pages are always physically contiguous! */
393 sg_init_one(&sg[i], buf, size); 394 sg_set_buf(&sg[i], buf, size);
394 395
395 switch (pattern) { 396 switch (pattern) {
396 case 0: 397 case 0:
diff --git a/drivers/usb/serial/cp2101.c b/drivers/usb/serial/cp2101.c
index f3ca66017a0..324bb61d68f 100644
--- a/drivers/usb/serial/cp2101.c
+++ b/drivers/usb/serial/cp2101.c
@@ -75,6 +75,7 @@ static struct usb_device_id id_table [] = {
75 { USB_DEVICE(0x10C4, 0x81E2) }, /* Lipowsky Industrie Elektronik GmbH, Baby-LIN */ 75 { USB_DEVICE(0x10C4, 0x81E2) }, /* Lipowsky Industrie Elektronik GmbH, Baby-LIN */
76 { USB_DEVICE(0x10C4, 0x81E7) }, /* Aerocomm Radio */ 76 { USB_DEVICE(0x10C4, 0x81E7) }, /* Aerocomm Radio */
77 { USB_DEVICE(0x10C4, 0x8218) }, /* Lipowsky Industrie Elektronik GmbH, HARP-1 */ 77 { USB_DEVICE(0x10C4, 0x8218) }, /* Lipowsky Industrie Elektronik GmbH, HARP-1 */
78 { USB_DEVICE(0x10c4, 0x8293) }, /* Telegesys ETRX2USB */
78 { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */ 79 { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
79 { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */ 80 { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */
80 { USB_DEVICE(0x10C4, 0xF001) }, /* Elan Digital Systems USBscope50 */ 81 { USB_DEVICE(0x10C4, 0xF001) }, /* Elan Digital Systems USBscope50 */
diff --git a/drivers/usb/serial/keyspan.h b/drivers/usb/serial/keyspan.h
index 8a0d1740152..74ce8bca3e6 100644
--- a/drivers/usb/serial/keyspan.h
+++ b/drivers/usb/serial/keyspan.h
@@ -637,6 +637,7 @@ static struct usb_serial_driver keyspan_pre_device = {
637 .description = "Keyspan - (without firmware)", 637 .description = "Keyspan - (without firmware)",
638 .id_table = keyspan_pre_ids, 638 .id_table = keyspan_pre_ids,
639 .num_interrupt_in = NUM_DONT_CARE, 639 .num_interrupt_in = NUM_DONT_CARE,
640 .num_interrupt_out = NUM_DONT_CARE,
640 .num_bulk_in = NUM_DONT_CARE, 641 .num_bulk_in = NUM_DONT_CARE,
641 .num_bulk_out = NUM_DONT_CARE, 642 .num_bulk_out = NUM_DONT_CARE,
642 .num_ports = 1, 643 .num_ports = 1,
@@ -651,6 +652,7 @@ static struct usb_serial_driver keyspan_1port_device = {
651 .description = "Keyspan 1 port adapter", 652 .description = "Keyspan 1 port adapter",
652 .id_table = keyspan_1port_ids, 653 .id_table = keyspan_1port_ids,
653 .num_interrupt_in = NUM_DONT_CARE, 654 .num_interrupt_in = NUM_DONT_CARE,
655 .num_interrupt_out = NUM_DONT_CARE,
654 .num_bulk_in = NUM_DONT_CARE, 656 .num_bulk_in = NUM_DONT_CARE,
655 .num_bulk_out = NUM_DONT_CARE, 657 .num_bulk_out = NUM_DONT_CARE,
656 .num_ports = 1, 658 .num_ports = 1,
@@ -678,6 +680,7 @@ static struct usb_serial_driver keyspan_2port_device = {
678 .description = "Keyspan 2 port adapter", 680 .description = "Keyspan 2 port adapter",
679 .id_table = keyspan_2port_ids, 681 .id_table = keyspan_2port_ids,
680 .num_interrupt_in = NUM_DONT_CARE, 682 .num_interrupt_in = NUM_DONT_CARE,
683 .num_interrupt_out = NUM_DONT_CARE,
681 .num_bulk_in = NUM_DONT_CARE, 684 .num_bulk_in = NUM_DONT_CARE,
682 .num_bulk_out = NUM_DONT_CARE, 685 .num_bulk_out = NUM_DONT_CARE,
683 .num_ports = 2, 686 .num_ports = 2,
@@ -705,6 +708,7 @@ static struct usb_serial_driver keyspan_4port_device = {
705 .description = "Keyspan 4 port adapter", 708 .description = "Keyspan 4 port adapter",
706 .id_table = keyspan_4port_ids, 709 .id_table = keyspan_4port_ids,
707 .num_interrupt_in = NUM_DONT_CARE, 710 .num_interrupt_in = NUM_DONT_CARE,
711 .num_interrupt_out = NUM_DONT_CARE,
708 .num_bulk_in = NUM_DONT_CARE, 712 .num_bulk_in = NUM_DONT_CARE,
709 .num_bulk_out = NUM_DONT_CARE, 713 .num_bulk_out = NUM_DONT_CARE,
710 .num_ports = 4, 714 .num_ports = 4,
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index ae3ec1a6400..2af778555bd 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -55,6 +55,7 @@ static struct usb_device_id id_table [] = {
55 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_DCU11) }, 55 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_DCU11) },
56 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_RSAQ3) }, 56 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_RSAQ3) },
57 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_PHAROS) }, 57 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_PHAROS) },
58 { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_ALDIGA) },
58 { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, 59 { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) },
59 { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) }, 60 { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) },
60 { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID) }, 61 { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID) },
diff --git a/drivers/usb/serial/pl2303.h b/drivers/usb/serial/pl2303.h
index 237a41f6638..10cf872e5ec 100644
--- a/drivers/usb/serial/pl2303.h
+++ b/drivers/usb/serial/pl2303.h
@@ -13,6 +13,7 @@
13#define PL2303_PRODUCT_ID_DCU11 0x1234 13#define PL2303_PRODUCT_ID_DCU11 0x1234
14#define PL2303_PRODUCT_ID_PHAROS 0xaaa0 14#define PL2303_PRODUCT_ID_PHAROS 0xaaa0
15#define PL2303_PRODUCT_ID_RSAQ3 0xaaa2 15#define PL2303_PRODUCT_ID_RSAQ3 0xaaa2
16#define PL2303_PRODUCT_ID_ALDIGA 0x0611
16 17
17#define ATEN_VENDOR_ID 0x0557 18#define ATEN_VENDOR_ID 0x0557
18#define ATEN_VENDOR_ID2 0x0547 19#define ATEN_VENDOR_ID2 0x0547
diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c
index e3d44ae8d44..ed678811e6a 100644
--- a/drivers/usb/serial/sierra.c
+++ b/drivers/usb/serial/sierra.c
@@ -14,7 +14,7 @@
14 Whom based his on the Keyspan driver by Hugh Blemings <hugh@blemings.org> 14 Whom based his on the Keyspan driver by Hugh Blemings <hugh@blemings.org>
15*/ 15*/
16 16
17#define DRIVER_VERSION "v.1.2.7" 17#define DRIVER_VERSION "v.1.2.8"
18#define DRIVER_AUTHOR "Kevin Lloyd <linux@sierrawireless.com>" 18#define DRIVER_AUTHOR "Kevin Lloyd <linux@sierrawireless.com>"
19#define DRIVER_DESC "USB Driver for Sierra Wireless USB modems" 19#define DRIVER_DESC "USB Driver for Sierra Wireless USB modems"
20 20
@@ -163,6 +163,7 @@ static struct usb_device_id id_table [] = {
163 { USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */ 163 { USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
164 { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 & AC 875U */ 164 { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 & AC 875U */
165 { USB_DEVICE(0x1199, 0x6813) }, /* Sierra Wireless MC8775 (Thinkpad internal) */ 165 { USB_DEVICE(0x1199, 0x6813) }, /* Sierra Wireless MC8775 (Thinkpad internal) */
166 { USB_DEVICE(0x1199, 0x6815) }, /* Sierra Wireless MC8775 */
166 { USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */ 167 { USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
167 { USB_DEVICE(0x1199, 0x6832) }, /* Sierra Wireless MC8780*/ 168 { USB_DEVICE(0x1199, 0x6832) }, /* Sierra Wireless MC8780*/
168 { USB_DEVICE(0x1199, 0x6833) }, /* Sierra Wireless MC8781*/ 169 { USB_DEVICE(0x1199, 0x6833) }, /* Sierra Wireless MC8781*/
@@ -196,9 +197,9 @@ struct sierra_port_private {
196 spinlock_t lock; /* lock the structure */ 197 spinlock_t lock; /* lock the structure */
197 int outstanding_urbs; /* number of out urbs in flight */ 198 int outstanding_urbs; /* number of out urbs in flight */
198 199
199 /* Input endpoints and buffer for this port */ 200 /* Input endpoints and buffers for this port */
200 struct urb *in_urbs[N_IN_URB]; 201 struct urb *in_urbs[N_IN_URB];
201 char in_buffer[N_IN_URB][IN_BUFLEN]; 202 char *in_buffer[N_IN_URB];
202 203
203 /* Settings for the port */ 204 /* Settings for the port */
204 int rts_state; /* Handshaking pins (outputs) */ 205 int rts_state; /* Handshaking pins (outputs) */
@@ -638,6 +639,15 @@ static int sierra_startup(struct usb_serial *serial)
638 return -ENOMEM; 639 return -ENOMEM;
639 } 640 }
640 spin_lock_init(&portdata->lock); 641 spin_lock_init(&portdata->lock);
642 for (j = 0; j < N_IN_URB; j++) {
643 portdata->in_buffer[j] = kmalloc(IN_BUFLEN, GFP_KERNEL);
644 if (!portdata->in_buffer[j]) {
645 for (--j; j >= 0; j--)
646 kfree(portdata->in_buffer[j]);
647 kfree(portdata);
648 return -ENOMEM;
649 }
650 }
641 651
642 usb_set_serial_port_data(port, portdata); 652 usb_set_serial_port_data(port, portdata);
643 653
@@ -681,7 +691,7 @@ static void sierra_shutdown(struct usb_serial *serial)
681 for (j = 0; j < N_IN_URB; j++) { 691 for (j = 0; j < N_IN_URB; j++) {
682 usb_kill_urb(portdata->in_urbs[j]); 692 usb_kill_urb(portdata->in_urbs[j]);
683 usb_free_urb(portdata->in_urbs[j]); 693 usb_free_urb(portdata->in_urbs[j]);
684 portdata->in_urbs[j] = NULL; 694 kfree(portdata->in_buffer[j]);
685 } 695 }
686 kfree(portdata); 696 kfree(portdata);
687 usb_set_serial_port_data(port, NULL); 697 usb_set_serial_port_data(port, NULL);
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index b517f93352e..e3d241f67af 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -265,8 +265,8 @@ static struct usb_serial_driver ti_1port_device = {
265 .description = "TI USB 3410 1 port adapter", 265 .description = "TI USB 3410 1 port adapter",
266 .usb_driver = &ti_usb_driver, 266 .usb_driver = &ti_usb_driver,
267 .id_table = ti_id_table_3410, 267 .id_table = ti_id_table_3410,
268 .num_interrupt_in = 1, 268 .num_interrupt_in = NUM_DONT_CARE,
269 .num_bulk_in = 1, 269 .num_bulk_in = NUM_DONT_CARE,
270 .num_bulk_out = 1, 270 .num_bulk_out = 1,
271 .num_ports = 1, 271 .num_ports = 1,
272 .attach = ti_startup, 272 .attach = ti_startup,
diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
index 22b3f78a388..c2b01f7c319 100644
--- a/drivers/usb/serial/visor.c
+++ b/drivers/usb/serial/visor.c
@@ -191,7 +191,7 @@ static struct usb_serial_driver handspring_device = {
191 .id_table = id_table, 191 .id_table = id_table,
192 .num_interrupt_in = NUM_DONT_CARE, 192 .num_interrupt_in = NUM_DONT_CARE,
193 .num_bulk_in = 2, 193 .num_bulk_in = 2,
194 .num_bulk_out = 2, 194 .num_bulk_out = NUM_DONT_CARE,
195 .num_ports = 2, 195 .num_ports = 2,
196 .open = visor_open, 196 .open = visor_open,
197 .close = visor_close, 197 .close = visor_close,
diff --git a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c
index 2ae1e8673b1..971d13dd5e6 100644
--- a/drivers/usb/storage/isd200.c
+++ b/drivers/usb/storage/isd200.c
@@ -1230,6 +1230,7 @@ static int isd200_get_inquiry_data( struct us_data *us )
1230 1230
1231 /* Free driver structure */ 1231 /* Free driver structure */
1232 us->extra_destructor(info); 1232 us->extra_destructor(info);
1233 kfree(info);
1233 us->extra = NULL; 1234 us->extra = NULL;
1234 us->extra_destructor = NULL; 1235 us->extra_destructor = NULL;
1235 } 1236 }
@@ -1469,6 +1470,7 @@ static void isd200_free_info_ptrs(void *info_)
1469 if (info) { 1470 if (info) {
1470 kfree(info->id); 1471 kfree(info->id);
1471 kfree(info->RegsBuf); 1472 kfree(info->RegsBuf);
1473 kfree(info->srb.sense_buffer);
1472 } 1474 }
1473} 1475}
1474 1476
@@ -1494,7 +1496,9 @@ static int isd200_init_info(struct us_data *us)
1494 kzalloc(sizeof(struct hd_driveid), GFP_KERNEL); 1496 kzalloc(sizeof(struct hd_driveid), GFP_KERNEL);
1495 info->RegsBuf = (unsigned char *) 1497 info->RegsBuf = (unsigned char *)
1496 kmalloc(sizeof(info->ATARegs), GFP_KERNEL); 1498 kmalloc(sizeof(info->ATARegs), GFP_KERNEL);
1497 if (!info->id || !info->RegsBuf) { 1499 info->srb.sense_buffer =
1500 kmalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL);
1501 if (!info->id || !info->RegsBuf || !info->srb.sense_buffer) {
1498 isd200_free_info_ptrs(info); 1502 isd200_free_info_ptrs(info);
1499 kfree(info); 1503 kfree(info);
1500 retStatus = ISD200_ERROR; 1504 retStatus = ISD200_ERROR;
diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
index 5780ed15f1a..bdd4334bed5 100644
--- a/drivers/usb/storage/transport.c
+++ b/drivers/usb/storage/transport.c
@@ -1009,7 +1009,8 @@ int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us)
1009 US_DEBUGP("Bulk Status S 0x%x T 0x%x R %u Stat 0x%x\n", 1009 US_DEBUGP("Bulk Status S 0x%x T 0x%x R %u Stat 0x%x\n",
1010 le32_to_cpu(bcs->Signature), bcs->Tag, 1010 le32_to_cpu(bcs->Signature), bcs->Tag,
1011 residue, bcs->Status); 1011 residue, bcs->Status);
1012 if (bcs->Tag != us->tag || bcs->Status > US_BULK_STAT_PHASE) { 1012 if (!(bcs->Tag == us->tag || (us->flags & US_FL_BULK_IGNORE_TAG)) ||
1013 bcs->Status > US_BULK_STAT_PHASE) {
1013 US_DEBUGP("Bulk logical error\n"); 1014 US_DEBUGP("Bulk logical error\n");
1014 return USB_STOR_TRANSPORT_ERROR; 1015 return USB_STOR_TRANSPORT_ERROR;
1015 } 1016 }
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index 99679a8cfa0..e5219a56947 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -1589,6 +1589,17 @@ UNUSUAL_DEV( 0x22b8, 0x4810, 0x0001, 0x0001,
1589 US_SC_DEVICE, US_PR_DEVICE, NULL, 1589 US_SC_DEVICE, US_PR_DEVICE, NULL,
1590 US_FL_FIX_CAPACITY), 1590 US_FL_FIX_CAPACITY),
1591 1591
1592/*
1593 * Patch by Constantin Baranov <const@tltsu.ru>
1594 * Report by Andreas Koenecke.
1595 * Motorola ROKR Z6.
1596 */
1597UNUSUAL_DEV( 0x22b8, 0x6426, 0x0101, 0x0101,
1598 "Motorola",
1599 "MSnc.",
1600 US_SC_DEVICE, US_PR_DEVICE, NULL,
1601 US_FL_FIX_INQUIRY | US_FL_FIX_CAPACITY | US_FL_BULK_IGNORE_TAG),
1602
1592/* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */ 1603/* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */
1593UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, 1604UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999,
1594 "MPIO", 1605 "MPIO",
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index e0b0580705e..1bd5fb30237 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -1893,6 +1893,20 @@ config FB_XILINX
1893 framebuffer. ML300 carries a 640*480 LCD display on the board, 1893 framebuffer. ML300 carries a 640*480 LCD display on the board,
1894 ML403 uses a standard DB15 VGA connector. 1894 ML403 uses a standard DB15 VGA connector.
1895 1895
1896config FB_METRONOME
1897 tristate "Metronome display controller support"
1898 depends on FB && ARCH_PXA && MMU
1899 select FB_SYS_FILLRECT
1900 select FB_SYS_COPYAREA
1901 select FB_SYS_IMAGEBLIT
1902 select FB_SYS_FOPS
1903 select FB_DEFERRED_IO
1904 help
1905 This enables support for the Metronome display controller. Tested
1906 with an E-Ink 800x600 display and Gumstix Connex through an AMLCD
1907 interface. Please read <file:Documentation/fb/metronomefb.txt>
1908 for more information.
1909
1896config FB_VIRTUAL 1910config FB_VIRTUAL
1897 tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)" 1911 tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
1898 depends on FB 1912 depends on FB
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 03371c78903..11c0e5e05f2 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -103,6 +103,7 @@ obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o
103obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o 103obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o
104obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o 104obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o
105obj-$(CONFIG_FB_MAXINE) += maxinefb.o 105obj-$(CONFIG_FB_MAXINE) += maxinefb.o
106obj-$(CONFIG_FB_METRONOME) += metronomefb.o
106obj-$(CONFIG_FB_S1D13XXX) += s1d13xxxfb.o 107obj-$(CONFIG_FB_S1D13XXX) += s1d13xxxfb.o
107obj-$(CONFIG_FB_IMX) += imxfb.o 108obj-$(CONFIG_FB_IMX) += imxfb.o
108obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o 109obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o
diff --git a/drivers/video/bf54x-lq043fb.c b/drivers/video/bf54x-lq043fb.c
index 986a550c043..eefba3d0e4b 100644
--- a/drivers/video/bf54x-lq043fb.c
+++ b/drivers/video/bf54x-lq043fb.c
@@ -384,7 +384,7 @@ static int bfin_bf54x_fb_mmap(struct fb_info *info, struct vm_area_struct *vma)
384 * Other flags can be set, and are documented in 384 * Other flags can be set, and are documented in
385 * include/linux/mm.h 385 * include/linux/mm.h
386 */ 386 */
387 vma->vm_flags |= VM_MAYSHARE; 387 vma->vm_flags |= VM_MAYSHARE | VM_SHARED;
388 388
389 return 0; 389 return 0;
390} 390}
diff --git a/drivers/video/bfin-t350mcqb-fb.c b/drivers/video/bfin-t350mcqb-fb.c
index a2bb2de9e02..135d6dd7e67 100644
--- a/drivers/video/bfin-t350mcqb-fb.c
+++ b/drivers/video/bfin-t350mcqb-fb.c
@@ -91,6 +91,7 @@ struct bfin_t350mcqbfb_info {
91 int lq043_open_cnt; 91 int lq043_open_cnt;
92 int irq; 92 int irq;
93 spinlock_t lock; /* lock */ 93 spinlock_t lock; /* lock */
94 u32 pseudo_pal[16];
94}; 95};
95 96
96static int nocursor; 97static int nocursor;
@@ -182,13 +183,13 @@ static void bfin_t350mcqb_config_dma(struct bfin_t350mcqbfb_info *fbi)
182 183
183} 184}
184 185
185static int bfin_t350mcqb_request_ports(int action) 186static u16 ppi0_req_8[] = {P_PPI0_CLK, P_PPI0_FS1, P_PPI0_FS2,
186{
187 u16 ppi0_req_8[] = {P_PPI0_CLK, P_PPI0_FS1, P_PPI0_FS2,
188 P_PPI0_D0, P_PPI0_D1, P_PPI0_D2, 187 P_PPI0_D0, P_PPI0_D1, P_PPI0_D2,
189 P_PPI0_D3, P_PPI0_D4, P_PPI0_D5, 188 P_PPI0_D3, P_PPI0_D4, P_PPI0_D5,
190 P_PPI0_D6, P_PPI0_D7, 0}; 189 P_PPI0_D6, P_PPI0_D7, 0};
191 190
191static int bfin_t350mcqb_request_ports(int action)
192{
192 if (action) { 193 if (action) {
193 if (peripheral_request_list(ppi0_req_8, DRIVER_NAME)) { 194 if (peripheral_request_list(ppi0_req_8, DRIVER_NAME)) {
194 printk(KERN_ERR "Requesting Peripherals faild\n"); 195 printk(KERN_ERR "Requesting Peripherals faild\n");
@@ -301,7 +302,7 @@ static int bfin_t350mcqb_fb_mmap(struct fb_info *info, struct vm_area_struct *vm
301 * Other flags can be set, and are documented in 302 * Other flags can be set, and are documented in
302 * include/linux/mm.h 303 * include/linux/mm.h
303 */ 304 */
304 vma->vm_flags |= VM_MAYSHARE; 305 vma->vm_flags |= VM_MAYSHARE | VM_SHARED;
305 306
306 return 0; 307 return 0;
307} 308}
@@ -520,16 +521,7 @@ static int __init bfin_t350mcqb_probe(struct platform_device *pdev)
520 521
521 fbinfo->fbops = &bfin_t350mcqb_fb_ops; 522 fbinfo->fbops = &bfin_t350mcqb_fb_ops;
522 523
523 fbinfo->pseudo_palette = kmalloc(sizeof(u32) * 16, GFP_KERNEL); 524 fbinfo->pseudo_palette = &info->pseudo_pal;
524 if (!fbinfo->pseudo_palette) {
525 printk(KERN_ERR DRIVER_NAME
526 "Fail to allocate pseudo_palette\n");
527
528 ret = -ENOMEM;
529 goto out4;
530 }
531
532 memset(fbinfo->pseudo_palette, 0, sizeof(u32) * 16);
533 525
534 if (fb_alloc_cmap(&fbinfo->cmap, BFIN_LCD_NBR_PALETTE_ENTRIES, 0) 526 if (fb_alloc_cmap(&fbinfo->cmap, BFIN_LCD_NBR_PALETTE_ENTRIES, 0)
535 < 0) { 527 < 0) {
@@ -537,7 +529,7 @@ static int __init bfin_t350mcqb_probe(struct platform_device *pdev)
537 "Fail to allocate colormap (%d entries)\n", 529 "Fail to allocate colormap (%d entries)\n",
538 BFIN_LCD_NBR_PALETTE_ENTRIES); 530 BFIN_LCD_NBR_PALETTE_ENTRIES);
539 ret = -EFAULT; 531 ret = -EFAULT;
540 goto out5; 532 goto out4;
541 } 533 }
542 534
543 if (bfin_t350mcqb_request_ports(1)) { 535 if (bfin_t350mcqb_request_ports(1)) {
@@ -552,11 +544,11 @@ static int __init bfin_t350mcqb_probe(struct platform_device *pdev)
552 goto out7; 544 goto out7;
553 } 545 }
554 546
555 if (request_irq(info->irq, (void *)bfin_t350mcqb_irq_error, IRQF_DISABLED, 547 ret = request_irq(info->irq, bfin_t350mcqb_irq_error, IRQF_DISABLED,
556 "PPI ERROR", info) < 0) { 548 "PPI ERROR", info);
549 if (ret < 0) {
557 printk(KERN_ERR DRIVER_NAME 550 printk(KERN_ERR DRIVER_NAME
558 ": unable to request PPI ERROR IRQ\n"); 551 ": unable to request PPI ERROR IRQ\n");
559 ret = -EFAULT;
560 goto out7; 552 goto out7;
561 } 553 }
562 554
@@ -584,8 +576,6 @@ out7:
584 bfin_t350mcqb_request_ports(0); 576 bfin_t350mcqb_request_ports(0);
585out6: 577out6:
586 fb_dealloc_cmap(&fbinfo->cmap); 578 fb_dealloc_cmap(&fbinfo->cmap);
587out5:
588 kfree(fbinfo->pseudo_palette);
589out4: 579out4:
590 dma_free_coherent(NULL, fbinfo->fix.smem_len, info->fb_buffer, 580 dma_free_coherent(NULL, fbinfo->fix.smem_len, info->fb_buffer,
591 info->dma_handle); 581 info->dma_handle);
@@ -605,6 +595,8 @@ static int bfin_t350mcqb_remove(struct platform_device *pdev)
605 struct fb_info *fbinfo = platform_get_drvdata(pdev); 595 struct fb_info *fbinfo = platform_get_drvdata(pdev);
606 struct bfin_t350mcqbfb_info *info = fbinfo->par; 596 struct bfin_t350mcqbfb_info *info = fbinfo->par;
607 597
598 unregister_framebuffer(fbinfo);
599
608 free_dma(CH_PPI); 600 free_dma(CH_PPI);
609 free_irq(info->irq, info); 601 free_irq(info->irq, info);
610 602
@@ -612,7 +604,6 @@ static int bfin_t350mcqb_remove(struct platform_device *pdev)
612 dma_free_coherent(NULL, fbinfo->fix.smem_len, info->fb_buffer, 604 dma_free_coherent(NULL, fbinfo->fix.smem_len, info->fb_buffer,
613 info->dma_handle); 605 info->dma_handle);
614 606
615 kfree(fbinfo->pseudo_palette);
616 fb_dealloc_cmap(&fbinfo->cmap); 607 fb_dealloc_cmap(&fbinfo->cmap);
617 608
618#ifndef NO_BL_SUPPORT 609#ifndef NO_BL_SUPPORT
@@ -620,10 +611,11 @@ static int bfin_t350mcqb_remove(struct platform_device *pdev)
620 backlight_device_unregister(bl_dev); 611 backlight_device_unregister(bl_dev);
621#endif 612#endif
622 613
623 unregister_framebuffer(fbinfo);
624
625 bfin_t350mcqb_request_ports(0); 614 bfin_t350mcqb_request_ports(0);
626 615
616 platform_set_drvdata(pdev, NULL);
617 framebuffer_release(fbinfo);
618
627 printk(KERN_INFO DRIVER_NAME ": Unregister LCD driver.\n"); 619 printk(KERN_INFO DRIVER_NAME ": Unregister LCD driver.\n");
628 620
629 return 0; 621 return 0;
diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c
index 0f8cfb988c9..24843fdd539 100644
--- a/drivers/video/fb_defio.c
+++ b/drivers/video/fb_defio.c
@@ -4,7 +4,7 @@
4 * Copyright (C) 2006 Jaya Kumar 4 * Copyright (C) 2006 Jaya Kumar
5 * 5 *
6 * This file is subject to the terms and conditions of the GNU General Public 6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive 7 * License. See the file COPYING in the main directory of this archive
8 * for more details. 8 * for more details.
9 */ 9 */
10 10
@@ -31,7 +31,7 @@ static int fb_deferred_io_fault(struct vm_area_struct *vma,
31 unsigned long offset; 31 unsigned long offset;
32 struct page *page; 32 struct page *page;
33 struct fb_info *info = vma->vm_private_data; 33 struct fb_info *info = vma->vm_private_data;
34 /* info->screen_base is in System RAM */ 34 /* info->screen_base is virtual memory */
35 void *screen_base = (void __force *) info->screen_base; 35 void *screen_base = (void __force *) info->screen_base;
36 36
37 offset = vmf->pgoff << PAGE_SHIFT; 37 offset = vmf->pgoff << PAGE_SHIFT;
@@ -43,6 +43,15 @@ static int fb_deferred_io_fault(struct vm_area_struct *vma,
43 return VM_FAULT_SIGBUS; 43 return VM_FAULT_SIGBUS;
44 44
45 get_page(page); 45 get_page(page);
46
47 if (vma->vm_file)
48 page->mapping = vma->vm_file->f_mapping;
49 else
50 printk(KERN_ERR "no mapping available\n");
51
52 BUG_ON(!page->mapping);
53 page->index = vmf->pgoff;
54
46 vmf->page = page; 55 vmf->page = page;
47 return 0; 56 return 0;
48} 57}
@@ -138,11 +147,20 @@ EXPORT_SYMBOL_GPL(fb_deferred_io_init);
138 147
139void fb_deferred_io_cleanup(struct fb_info *info) 148void fb_deferred_io_cleanup(struct fb_info *info)
140{ 149{
150 void *screen_base = (void __force *) info->screen_base;
141 struct fb_deferred_io *fbdefio = info->fbdefio; 151 struct fb_deferred_io *fbdefio = info->fbdefio;
152 struct page *page;
153 int i;
142 154
143 BUG_ON(!fbdefio); 155 BUG_ON(!fbdefio);
144 cancel_delayed_work(&info->deferred_work); 156 cancel_delayed_work(&info->deferred_work);
145 flush_scheduled_work(); 157 flush_scheduled_work();
158
159 /* clear out the mapping that we setup */
160 for (i = 0 ; i < info->fix.smem_len; i += PAGE_SIZE) {
161 page = vmalloc_to_page(screen_base + i);
162 page->mapping = NULL;
163 }
146} 164}
147EXPORT_SYMBOL_GPL(fb_deferred_io_cleanup); 165EXPORT_SYMBOL_GPL(fb_deferred_io_cleanup);
148 166
diff --git a/drivers/video/i810/i810_main.c b/drivers/video/i810/i810_main.c
index 1d13dd099af..a24e680d2b9 100644
--- a/drivers/video/i810/i810_main.c
+++ b/drivers/video/i810/i810_main.c
@@ -1476,7 +1476,7 @@ static int i810fb_cursor(struct fb_info *info, struct fb_cursor *cursor)
1476 struct i810fb_par *par = info->par; 1476 struct i810fb_par *par = info->par;
1477 u8 __iomem *mmio = par->mmio_start_virtual; 1477 u8 __iomem *mmio = par->mmio_start_virtual;
1478 1478
1479 if (!(par->dev_flags & LOCKUP)) 1479 if (par->dev_flags & LOCKUP)
1480 return -ENXIO; 1480 return -ENXIO;
1481 1481
1482 if (cursor->image.width > 64 || cursor->image.height > 64) 1482 if (cursor->image.width > 64 || cursor->image.height > 64)
diff --git a/drivers/video/metronomefb.c b/drivers/video/metronomefb.c
new file mode 100644
index 00000000000..e9a89fd8275
--- /dev/null
+++ b/drivers/video/metronomefb.c
@@ -0,0 +1,999 @@
1/*
2 * linux/drivers/video/metronomefb.c -- FB driver for Metronome controller
3 *
4 * Copyright (C) 2008, Jaya Kumar
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive for
8 * more details.
9 *
10 * Layout is based on skeletonfb.c by James Simmons and Geert Uytterhoeven.
11 *
12 * This work was made possible by help and equipment support from E-Ink
13 * Corporation. http://support.eink.com/community
14 *
15 * This driver is written to be used with the Metronome display controller.
16 * It was tested with an E-Ink 800x600 Vizplex EPD on a Gumstix Connex board
17 * using the Lyre interface board.
18 *
19 * General notes:
20 * - User must set metronomefb_enable=1 to enable it.
21 * - See Documentation/fb/metronomefb.txt for how metronome works.
22 */
23#include <linux/module.h>
24#include <linux/kernel.h>
25#include <linux/errno.h>
26#include <linux/string.h>
27#include <linux/mm.h>
28#include <linux/slab.h>
29#include <linux/vmalloc.h>
30#include <linux/delay.h>
31#include <linux/interrupt.h>
32#include <linux/fb.h>
33#include <linux/init.h>
34#include <linux/platform_device.h>
35#include <linux/list.h>
36#include <linux/firmware.h>
37#include <linux/dma-mapping.h>
38#include <linux/uaccess.h>
39#include <linux/irq.h>
40
41#include <asm/arch/pxa-regs.h>
42#include <asm/unaligned.h>
43
44#define DEBUG 1
45#ifdef DEBUG
46#define DPRINTK(f, a...) printk(KERN_DEBUG "%s: " f, __func__ , ## a)
47#else
48#define DPRINTK(f, a...)
49#endif
50
51
52/* Display specific information */
53#define DPY_W 832
54#define DPY_H 622
55
56struct metromem_desc {
57 u32 mFDADR0;
58 u32 mFSADR0;
59 u32 mFIDR0;
60 u32 mLDCMD0;
61};
62
63struct metromem_cmd {
64 u16 opcode;
65 u16 args[((64-2)/2)];
66 u16 csum;
67};
68
69struct metronomefb_par {
70 unsigned char *metromem;
71 struct metromem_desc *metromem_desc;
72 struct metromem_cmd *metromem_cmd;
73 unsigned char *metromem_wfm;
74 unsigned char *metromem_img;
75 u16 *metromem_img_csum;
76 u16 *csum_table;
77 int metromemsize;
78 dma_addr_t metromem_dma;
79 dma_addr_t metromem_desc_dma;
80 struct fb_info *info;
81 wait_queue_head_t waitq;
82 u8 frame_count;
83};
84
85/* frame differs from image. frame includes non-visible pixels */
86struct epd_frame {
87 int fw; /* frame width */
88 int fh; /* frame height */
89};
90
91static struct epd_frame epd_frame_table[] = {
92 {
93 .fw = 832,
94 .fh = 622
95 },
96};
97
98static struct fb_fix_screeninfo metronomefb_fix __devinitdata = {
99 .id = "metronomefb",
100 .type = FB_TYPE_PACKED_PIXELS,
101 .visual = FB_VISUAL_STATIC_PSEUDOCOLOR,
102 .xpanstep = 0,
103 .ypanstep = 0,
104 .ywrapstep = 0,
105 .line_length = DPY_W,
106 .accel = FB_ACCEL_NONE,
107};
108
109static struct fb_var_screeninfo metronomefb_var __devinitdata = {
110 .xres = DPY_W,
111 .yres = DPY_H,
112 .xres_virtual = DPY_W,
113 .yres_virtual = DPY_H,
114 .bits_per_pixel = 8,
115 .grayscale = 1,
116 .nonstd = 1,
117 .red = { 4, 3, 0 },
118 .green = { 0, 0, 0 },
119 .blue = { 0, 0, 0 },
120 .transp = { 0, 0, 0 },
121};
122
123static unsigned int metronomefb_enable;
124
125struct waveform_hdr {
126 u8 stuff[32];
127
128 u8 wmta[3];
129 u8 fvsn;
130
131 u8 luts;
132 u8 mc;
133 u8 trc;
134 u8 stuff3;
135
136 u8 endb;
137 u8 swtb;
138 u8 stuff2a[2];
139
140 u8 stuff2b[3];
141 u8 wfm_cs;
142} __attribute__ ((packed));
143
144/* main metronomefb functions */
145static u8 calc_cksum(int start, int end, u8 *mem)
146{
147 u8 tmp = 0;
148 int i;
149
150 for (i = start; i < end; i++)
151 tmp += mem[i];
152
153 return tmp;
154}
155
156static u16 calc_img_cksum(u16 *start, int length)
157{
158 u16 tmp = 0;
159
160 while (length--)
161 tmp += *start++;
162
163 return tmp;
164}
165
166/* here we decode the incoming waveform file and populate metromem */
167#define EXP_WFORM_SIZE 47001
168static int load_waveform(u8 *mem, size_t size, u8 *metromem, int m, int t,
169 u8 *frame_count)
170{
171 int tta;
172 int wmta;
173 int trn = 0;
174 int i;
175 unsigned char v;
176 u8 cksum;
177 int cksum_idx;
178 int wfm_idx, owfm_idx;
179 int mem_idx = 0;
180 struct waveform_hdr *wfm_hdr;
181
182 if (size != EXP_WFORM_SIZE) {
183 printk(KERN_ERR "Error: unexpected size %d != %d\n", size,
184 EXP_WFORM_SIZE);
185 return -EINVAL;
186 }
187
188 wfm_hdr = (struct waveform_hdr *) mem;
189
190 if (wfm_hdr->fvsn != 1) {
191 printk(KERN_ERR "Error: bad fvsn %x\n", wfm_hdr->fvsn);
192 return -EINVAL;
193 }
194 if (wfm_hdr->luts != 0) {
195 printk(KERN_ERR "Error: bad luts %x\n", wfm_hdr->luts);
196 return -EINVAL;
197 }
198 cksum = calc_cksum(32, 47, mem);
199 if (cksum != wfm_hdr->wfm_cs) {
200 printk(KERN_ERR "Error: bad cksum %x != %x\n", cksum,
201 wfm_hdr->wfm_cs);
202 return -EINVAL;
203 }
204 wfm_hdr->mc += 1;
205 wfm_hdr->trc += 1;
206 for (i = 0; i < 5; i++) {
207 if (*(wfm_hdr->stuff2a + i) != 0) {
208 printk(KERN_ERR "Error: unexpected value in padding\n");
209 return -EINVAL;
210 }
211 }
212
213 /* calculating trn. trn is something used to index into
214 the waveform. presumably selecting the right one for the
215 desired temperature. it works out the offset of the first
216 v that exceeds the specified temperature */
217 if ((sizeof(*wfm_hdr) + wfm_hdr->trc) > size)
218 return -EINVAL;
219
220 for (i = sizeof(*wfm_hdr); i <= sizeof(*wfm_hdr) + wfm_hdr->trc; i++) {
221 if (mem[i] > t) {
222 trn = i - sizeof(*wfm_hdr) - 1;
223 break;
224 }
225 }
226
227 /* check temperature range table checksum */
228 cksum_idx = sizeof(*wfm_hdr) + wfm_hdr->trc + 1;
229 if (cksum_idx > size)
230 return -EINVAL;
231 cksum = calc_cksum(sizeof(*wfm_hdr), cksum_idx, mem);
232 if (cksum != mem[cksum_idx]) {
233 printk(KERN_ERR "Error: bad temperature range table cksum"
234 " %x != %x\n", cksum, mem[cksum_idx]);
235 return -EINVAL;
236 }
237
238 /* check waveform mode table address checksum */
239 wmta = le32_to_cpu(get_unaligned((__le32 *) wfm_hdr->wmta));
240 wmta &= 0x00FFFFFF;
241 cksum_idx = wmta + m*4 + 3;
242 if (cksum_idx > size)
243 return -EINVAL;
244 cksum = calc_cksum(cksum_idx - 3, cksum_idx, mem);
245 if (cksum != mem[cksum_idx]) {
246 printk(KERN_ERR "Error: bad mode table address cksum"
247 " %x != %x\n", cksum, mem[cksum_idx]);
248 return -EINVAL;
249 }
250
251 /* check waveform temperature table address checksum */
252 tta = le32_to_cpu(get_unaligned((int *) (mem + wmta + m*4)));
253 tta &= 0x00FFFFFF;
254 cksum_idx = tta + trn*4 + 3;
255 if (cksum_idx > size)
256 return -EINVAL;
257 cksum = calc_cksum(cksum_idx - 3, cksum_idx, mem);
258 if (cksum != mem[cksum_idx]) {
259 printk(KERN_ERR "Error: bad temperature table address cksum"
260 " %x != %x\n", cksum, mem[cksum_idx]);
261 return -EINVAL;
262 }
263
264 /* here we do the real work of putting the waveform into the
265 metromem buffer. this does runlength decoding of the waveform */
266 wfm_idx = le32_to_cpu(get_unaligned((__le32 *) (mem + tta + trn*4)));
267 wfm_idx &= 0x00FFFFFF;
268 owfm_idx = wfm_idx;
269 if (wfm_idx > size)
270 return -EINVAL;
271 while (wfm_idx < size) {
272 unsigned char rl;
273 v = mem[wfm_idx++];
274 if (v == wfm_hdr->swtb) {
275 while (((v = mem[wfm_idx++]) != wfm_hdr->swtb) &&
276 wfm_idx < size)
277 metromem[mem_idx++] = v;
278
279 continue;
280 }
281
282 if (v == wfm_hdr->endb)
283 break;
284
285 rl = mem[wfm_idx++];
286 for (i = 0; i <= rl; i++)
287 metromem[mem_idx++] = v;
288 }
289
290 cksum_idx = wfm_idx;
291 if (cksum_idx > size)
292 return -EINVAL;
293 cksum = calc_cksum(owfm_idx, cksum_idx, mem);
294 if (cksum != mem[cksum_idx]) {
295 printk(KERN_ERR "Error: bad waveform data cksum"
296 " %x != %x\n", cksum, mem[cksum_idx]);
297 return -EINVAL;
298 }
299 *frame_count = (mem_idx/64);
300
301 return 0;
302}
303
304/* register offsets for gpio control */
305#define LED_GPIO_PIN 51
306#define STDBY_GPIO_PIN 48
307#define RST_GPIO_PIN 49
308#define RDY_GPIO_PIN 32
309#define ERR_GPIO_PIN 17
310#define PCBPWR_GPIO_PIN 16
311
312#define AF_SEL_GPIO_N 0x3
313#define GAFR0_U_OFFSET(pin) ((pin - 16) * 2)
314#define GAFR1_L_OFFSET(pin) ((pin - 32) * 2)
315#define GAFR1_U_OFFSET(pin) ((pin - 48) * 2)
316#define GPDR1_OFFSET(pin) (pin - 32)
317#define GPCR1_OFFSET(pin) (pin - 32)
318#define GPSR1_OFFSET(pin) (pin - 32)
319#define GPCR0_OFFSET(pin) (pin)
320#define GPSR0_OFFSET(pin) (pin)
321
322static void metronome_set_gpio_output(int pin, int val)
323{
324 u8 index;
325
326 index = pin >> 4;
327
328 switch (index) {
329 case 1:
330 if (val)
331 GPSR0 |= (1 << GPSR0_OFFSET(pin));
332 else
333 GPCR0 |= (1 << GPCR0_OFFSET(pin));
334 break;
335 case 2:
336 break;
337 case 3:
338 if (val)
339 GPSR1 |= (1 << GPSR1_OFFSET(pin));
340 else
341 GPCR1 |= (1 << GPCR1_OFFSET(pin));
342 break;
343 default:
344 printk(KERN_ERR "unimplemented\n");
345 }
346}
347
348static void __devinit metronome_init_gpio_pin(int pin, int dir)
349{
350 u8 index;
351 /* dir 0 is output, 1 is input
352 - do 2 things here:
353 - set gpio alternate function to standard gpio
354 - set gpio direction to input or output */
355
356 index = pin >> 4;
357 switch (index) {
358 case 1:
359 GAFR0_U &= ~(AF_SEL_GPIO_N << GAFR0_U_OFFSET(pin));
360
361 if (dir)
362 GPDR0 &= ~(1 << pin);
363 else
364 GPDR0 |= (1 << pin);
365 break;
366 case 2:
367 GAFR1_L &= ~(AF_SEL_GPIO_N << GAFR1_L_OFFSET(pin));
368
369 if (dir)
370 GPDR1 &= ~(1 << GPDR1_OFFSET(pin));
371 else
372 GPDR1 |= (1 << GPDR1_OFFSET(pin));
373 break;
374 case 3:
375 GAFR1_U &= ~(AF_SEL_GPIO_N << GAFR1_U_OFFSET(pin));
376
377 if (dir)
378 GPDR1 &= ~(1 << GPDR1_OFFSET(pin));
379 else
380 GPDR1 |= (1 << GPDR1_OFFSET(pin));
381 break;
382 default:
383 printk(KERN_ERR "unimplemented\n");
384 }
385}
386
387static void __devinit metronome_init_gpio_regs(void)
388{
389 metronome_init_gpio_pin(LED_GPIO_PIN, 0);
390 metronome_set_gpio_output(LED_GPIO_PIN, 0);
391
392 metronome_init_gpio_pin(STDBY_GPIO_PIN, 0);
393 metronome_set_gpio_output(STDBY_GPIO_PIN, 0);
394
395 metronome_init_gpio_pin(RST_GPIO_PIN, 0);
396 metronome_set_gpio_output(RST_GPIO_PIN, 0);
397
398 metronome_init_gpio_pin(RDY_GPIO_PIN, 1);
399
400 metronome_init_gpio_pin(ERR_GPIO_PIN, 1);
401
402 metronome_init_gpio_pin(PCBPWR_GPIO_PIN, 0);
403 metronome_set_gpio_output(PCBPWR_GPIO_PIN, 0);
404}
405
406static void metronome_disable_lcd_controller(struct metronomefb_par *par)
407{
408 LCSR = 0xffffffff; /* Clear LCD Status Register */
409 LCCR0 |= LCCR0_DIS; /* Disable LCD Controller */
410
411 /* we reset and just wait for things to settle */
412 msleep(200);
413}
414
415static void metronome_enable_lcd_controller(struct metronomefb_par *par)
416{
417 LCSR = 0xffffffff;
418 FDADR0 = par->metromem_desc_dma;
419 LCCR0 |= LCCR0_ENB;
420}
421
422static void __devinit metronome_init_lcdc_regs(struct metronomefb_par *par)
423{
424 /* here we do:
425 - disable the lcd controller
426 - setup lcd control registers
427 - setup dma descriptor
428 - reenable lcd controller
429 */
430
431 /* disable the lcd controller */
432 metronome_disable_lcd_controller(par);
433
434 /* setup lcd control registers */
435 LCCR0 = LCCR0_LDM | LCCR0_SFM | LCCR0_IUM | LCCR0_EFM | LCCR0_PAS
436 | LCCR0_QDM | LCCR0_BM | LCCR0_OUM;
437
438 LCCR1 = (epd_frame_table[0].fw/2 - 1) /* pixels per line */
439 | (27 << 10) /* hsync pulse width - 1 */
440 | (33 << 16) /* eol pixel count */
441 | (33 << 24); /* bol pixel count */
442
443 LCCR2 = (epd_frame_table[0].fh - 1) /* lines per panel */
444 | (24 << 10) /* vsync pulse width - 1 */
445 | (2 << 16) /* eof pixel count */
446 | (0 << 24); /* bof pixel count */
447
448 LCCR3 = 2 /* pixel clock divisor */
449 | (24 << 8) /* AC Bias pin freq */
450 | LCCR3_16BPP /* BPP */
451 | LCCR3_PCP; /* PCP falling edge */
452
453 /* setup dma descriptor */
454 par->metromem_desc->mFDADR0 = par->metromem_desc_dma;
455 par->metromem_desc->mFSADR0 = par->metromem_dma;
456 par->metromem_desc->mFIDR0 = 0;
457 par->metromem_desc->mLDCMD0 = epd_frame_table[0].fw
458 * epd_frame_table[0].fh;
459 /* reenable lcd controller */
460 metronome_enable_lcd_controller(par);
461}
462
463static int metronome_display_cmd(struct metronomefb_par *par)
464{
465 int i;
466 u16 cs;
467 u16 opcode;
468 static u8 borderval;
469 u8 *ptr;
470
471 /* setup display command
472 we can't immediately set the opcode since the controller
473 will try parse the command before we've set it all up
474 so we just set cs here and set the opcode at the end */
475
476 ptr = par->metromem;
477
478 if (par->metromem_cmd->opcode == 0xCC40)
479 opcode = cs = 0xCC41;
480 else
481 opcode = cs = 0xCC40;
482
483 /* set the args ( 2 bytes ) for display */
484 i = 0;
485 par->metromem_cmd->args[i] = 1 << 3 /* border update */
486 | ((borderval++ % 4) & 0x0F) << 4
487 | (par->frame_count - 1) << 8;
488 cs += par->metromem_cmd->args[i++];
489
490 /* the rest are 0 */
491 memset((u8 *) (par->metromem_cmd->args + i), 0, (32-i)*2);
492
493 par->metromem_cmd->csum = cs;
494 par->metromem_cmd->opcode = opcode; /* display cmd */
495
496 i = wait_event_interruptible_timeout(par->waitq, (GPLR1 & 0x01), HZ);
497 return i;
498}
499
500static int __devinit metronome_powerup_cmd(struct metronomefb_par *par)
501{
502 int i;
503 u16 cs;
504
505 /* setup power up command */
506 par->metromem_cmd->opcode = 0x1234; /* pwr up pseudo cmd */
507 cs = par->metromem_cmd->opcode;
508
509 /* set pwr1,2,3 to 1024 */
510 for (i = 0; i < 3; i++) {
511 par->metromem_cmd->args[i] = 1024;
512 cs += par->metromem_cmd->args[i];
513 }
514
515 /* the rest are 0 */
516 memset((u8 *) (par->metromem_cmd->args + i), 0, (32-i)*2);
517
518 par->metromem_cmd->csum = cs;
519
520 msleep(1);
521 metronome_set_gpio_output(RST_GPIO_PIN, 1);
522
523 msleep(1);
524 metronome_set_gpio_output(STDBY_GPIO_PIN, 1);
525
526 i = wait_event_timeout(par->waitq, (GPLR1 & 0x01), HZ);
527 return i;
528}
529
530static int __devinit metronome_config_cmd(struct metronomefb_par *par)
531{
532 int i;
533 u16 cs;
534
535 /* setup config command
536 we can't immediately set the opcode since the controller
537 will try parse the command before we've set it all up
538 so we just set cs here and set the opcode at the end */
539
540 cs = 0xCC10;
541
542 /* set the 12 args ( 8 bytes ) for config. see spec for meanings */
543 i = 0;
544 par->metromem_cmd->args[i] = 15 /* sdlew */
545 | 2 << 8 /* sdosz */
546 | 0 << 11 /* sdor */
547 | 0 << 12 /* sdces */
548 | 0 << 15; /* sdcer */
549 cs += par->metromem_cmd->args[i++];
550
551 par->metromem_cmd->args[i] = 42 /* gdspl */
552 | 1 << 8 /* gdr1 */
553 | 1 << 9 /* sdshr */
554 | 0 << 15; /* gdspp */
555 cs += par->metromem_cmd->args[i++];
556
557 par->metromem_cmd->args[i] = 18 /* gdspw */
558 | 0 << 15; /* dispc */
559 cs += par->metromem_cmd->args[i++];
560
561 par->metromem_cmd->args[i] = 599 /* vdlc */
562 | 0 << 11 /* dsi */
563 | 0 << 12; /* dsic */
564 cs += par->metromem_cmd->args[i++];
565
566 /* the rest are 0 */
567 memset((u8 *) (par->metromem_cmd->args + i), 0, (32-i)*2);
568
569 par->metromem_cmd->csum = cs;
570 par->metromem_cmd->opcode = 0xCC10; /* config cmd */
571
572 i = wait_event_timeout(par->waitq, (GPLR1 & 0x01), HZ);
573 return i;
574}
575
576static int __devinit metronome_init_cmd(struct metronomefb_par *par)
577{
578 int i;
579 u16 cs;
580
581 /* setup init command
582 we can't immediately set the opcode since the controller
583 will try parse the command before we've set it all up
584 so we just set cs here and set the opcode at the end */
585
586 cs = 0xCC20;
587
588 /* set the args ( 2 bytes ) for init */
589 i = 0;
590 par->metromem_cmd->args[i] = 0;
591 cs += par->metromem_cmd->args[i++];
592
593 /* the rest are 0 */
594 memset((u8 *) (par->metromem_cmd->args + i), 0, (32-i)*2);
595
596 par->metromem_cmd->csum = cs;
597 par->metromem_cmd->opcode = 0xCC20; /* init cmd */
598
599 i = wait_event_timeout(par->waitq, (GPLR1 & 0x01), HZ);
600 return i;
601}
602
603static int __devinit metronome_init_regs(struct metronomefb_par *par)
604{
605 int res;
606
607 metronome_init_gpio_regs();
608 metronome_init_lcdc_regs(par);
609
610 res = metronome_powerup_cmd(par);
611 if (res)
612 return res;
613
614 res = metronome_config_cmd(par);
615 if (res)
616 return res;
617
618 res = metronome_init_cmd(par);
619 if (res)
620 return res;
621
622 return res;
623}
624
625static void metronomefb_dpy_update(struct metronomefb_par *par)
626{
627 u16 cksum;
628 unsigned char *buf = (unsigned char __force *)par->info->screen_base;
629
630 /* copy from vm to metromem */
631 memcpy(par->metromem_img, buf, DPY_W*DPY_H);
632
633 cksum = calc_img_cksum((u16 *) par->metromem_img,
634 (epd_frame_table[0].fw * DPY_H)/2);
635 *((u16 *) (par->metromem_img) +
636 (epd_frame_table[0].fw * DPY_H)/2) = cksum;
637 metronome_display_cmd(par);
638}
639
640static u16 metronomefb_dpy_update_page(struct metronomefb_par *par, int index)
641{
642 int i;
643 u16 csum = 0;
644 u16 *buf = (u16 __force *) (par->info->screen_base + index);
645 u16 *img = (u16 *) (par->metromem_img + index);
646
647 /* swizzle from vm to metromem and recalc cksum at the same time*/
648 for (i = 0; i < PAGE_SIZE/2; i++) {
649 *(img + i) = (buf[i] << 5) & 0xE0E0;
650 csum += *(img + i);
651 }
652 return csum;
653}
654
655/* this is called back from the deferred io workqueue */
656static void metronomefb_dpy_deferred_io(struct fb_info *info,
657 struct list_head *pagelist)
658{
659 u16 cksum;
660 struct page *cur;
661 struct fb_deferred_io *fbdefio = info->fbdefio;
662 struct metronomefb_par *par = info->par;
663
664 /* walk the written page list and swizzle the data */
665 list_for_each_entry(cur, &fbdefio->pagelist, lru) {
666 cksum = metronomefb_dpy_update_page(par,
667 (cur->index << PAGE_SHIFT));
668 par->metromem_img_csum -= par->csum_table[cur->index];
669 par->csum_table[cur->index] = cksum;
670 par->metromem_img_csum += cksum;
671 }
672
673 metronome_display_cmd(par);
674}
675
676static void metronomefb_fillrect(struct fb_info *info,
677 const struct fb_fillrect *rect)
678{
679 struct metronomefb_par *par = info->par;
680
681 cfb_fillrect(info, rect);
682 metronomefb_dpy_update(par);
683}
684
685static void metronomefb_copyarea(struct fb_info *info,
686 const struct fb_copyarea *area)
687{
688 struct metronomefb_par *par = info->par;
689
690 cfb_copyarea(info, area);
691 metronomefb_dpy_update(par);
692}
693
694static void metronomefb_imageblit(struct fb_info *info,
695 const struct fb_image *image)
696{
697 struct metronomefb_par *par = info->par;
698
699 cfb_imageblit(info, image);
700 metronomefb_dpy_update(par);
701}
702
703/*
704 * this is the slow path from userspace. they can seek and write to
705 * the fb. it is based on fb_sys_write
706 */
707static ssize_t metronomefb_write(struct fb_info *info, const char __user *buf,
708 size_t count, loff_t *ppos)
709{
710 struct metronomefb_par *par = info->par;
711 unsigned long p = *ppos;
712 void *dst;
713 int err = 0;
714 unsigned long total_size;
715
716 if (info->state != FBINFO_STATE_RUNNING)
717 return -EPERM;
718
719 total_size = info->fix.smem_len;
720
721 if (p > total_size)
722 return -EFBIG;
723
724 if (count > total_size) {
725 err = -EFBIG;
726 count = total_size;
727 }
728
729 if (count + p > total_size) {
730 if (!err)
731 err = -ENOSPC;
732
733 count = total_size - p;
734 }
735
736 dst = (void __force *) (info->screen_base + p);
737
738 if (copy_from_user(dst, buf, count))
739 err = -EFAULT;
740
741 if (!err)
742 *ppos += count;
743
744 metronomefb_dpy_update(par);
745
746 return (err) ? err : count;
747}
748
749static struct fb_ops metronomefb_ops = {
750 .owner = THIS_MODULE,
751 .fb_write = metronomefb_write,
752 .fb_fillrect = metronomefb_fillrect,
753 .fb_copyarea = metronomefb_copyarea,
754 .fb_imageblit = metronomefb_imageblit,
755};
756
757static struct fb_deferred_io metronomefb_defio = {
758 .delay = HZ,
759 .deferred_io = metronomefb_dpy_deferred_io,
760};
761
762static irqreturn_t metronome_handle_irq(int irq, void *dev_id)
763{
764 struct fb_info *info = dev_id;
765 struct metronomefb_par *par = info->par;
766
767 wake_up_interruptible(&par->waitq);
768 return IRQ_HANDLED;
769}
770
771static int __devinit metronomefb_probe(struct platform_device *dev)
772{
773 struct fb_info *info;
774 int retval = -ENOMEM;
775 int videomemorysize;
776 unsigned char *videomemory;
777 struct metronomefb_par *par;
778 const struct firmware *fw_entry;
779 int cmd_size, wfm_size, img_size, padding_size, totalsize;
780 int i;
781
782 /* we have two blocks of memory.
783 info->screen_base which is vm, and is the fb used by apps.
784 par->metromem which is physically contiguous memory and
785 contains the display controller commands, waveform,
786 processed image data and padding. this is the data pulled
787 by the pxa255's LCD controller and pushed to Metronome */
788
789 videomemorysize = (DPY_W*DPY_H);
790 videomemory = vmalloc(videomemorysize);
791 if (!videomemory)
792 return retval;
793
794 memset(videomemory, 0, videomemorysize);
795
796 info = framebuffer_alloc(sizeof(struct metronomefb_par), &dev->dev);
797 if (!info)
798 goto err_vfree;
799
800 info->screen_base = (char __iomem *) videomemory;
801 info->fbops = &metronomefb_ops;
802
803 info->var = metronomefb_var;
804 info->fix = metronomefb_fix;
805 info->fix.smem_len = videomemorysize;
806 par = info->par;
807 par->info = info;
808 init_waitqueue_head(&par->waitq);
809
810 /* this table caches per page csum values. */
811 par->csum_table = vmalloc(videomemorysize/PAGE_SIZE);
812 if (!par->csum_table)
813 goto err_csum_table;
814
815 /* the metromem buffer is divided as follows:
816 command | CRC | padding
817 16kb waveform data | CRC | padding
818 image data | CRC
819 and an extra 256 bytes for dma descriptors
820 eg: IW=832 IH=622 WS=128
821 */
822
823 cmd_size = 1 * epd_frame_table[0].fw;
824 wfm_size = ((16*1024 + 2 + epd_frame_table[0].fw - 1)
825 / epd_frame_table[0].fw) * epd_frame_table[0].fw;
826 img_size = epd_frame_table[0].fh * epd_frame_table[0].fw;
827 padding_size = 4 * epd_frame_table[0].fw;
828 totalsize = cmd_size + wfm_size + img_size + padding_size;
829 par->metromemsize = PAGE_ALIGN(totalsize + 256);
830 DPRINTK("desired memory size = %d\n", par->metromemsize);
831 dev->dev.coherent_dma_mask = 0xffffffffull;
832 par->metromem = dma_alloc_writecombine(&dev->dev, par->metromemsize,
833 &par->metromem_dma, GFP_KERNEL);
834 if (!par->metromem) {
835 printk(KERN_ERR
836 "metronomefb: unable to allocate dma buffer\n");
837 goto err_vfree;
838 }
839
840 info->fix.smem_start = par->metromem_dma;
841 par->metromem_cmd = (struct metromem_cmd *) par->metromem;
842 par->metromem_wfm = par->metromem + cmd_size;
843 par->metromem_img = par->metromem + cmd_size + wfm_size;
844 par->metromem_img_csum = (u16 *) (par->metromem_img +
845 (epd_frame_table[0].fw * DPY_H));
846 DPRINTK("img offset=0x%x\n", cmd_size + wfm_size);
847 par->metromem_desc = (struct metromem_desc *) (par->metromem + cmd_size
848 + wfm_size + img_size + padding_size);
849 par->metromem_desc_dma = par->metromem_dma + cmd_size + wfm_size
850 + img_size + padding_size;
851
852 /* load the waveform in. assume mode 3, temp 31 for now */
853 /* a) request the waveform file from userspace
854 b) process waveform and decode into metromem */
855
856 retval = request_firmware(&fw_entry, "waveform.wbf", &dev->dev);
857 if (retval < 0) {
858 printk(KERN_ERR "metronomefb: couldn't get waveform\n");
859 goto err_dma_free;
860 }
861
862 retval = load_waveform((u8 *) fw_entry->data, fw_entry->size,
863 par->metromem_wfm, 3, 31, &par->frame_count);
864 if (retval < 0) {
865 printk(KERN_ERR "metronomefb: couldn't process waveform\n");
866 goto err_ld_wfm;
867 }
868 release_firmware(fw_entry);
869
870 retval = request_irq(IRQ_GPIO(RDY_GPIO_PIN), metronome_handle_irq,
871 IRQF_DISABLED, "Metronome", info);
872 if (retval) {
873 dev_err(&dev->dev, "request_irq failed: %d\n", retval);
874 goto err_ld_wfm;
875 }
876 set_irq_type(IRQ_GPIO(RDY_GPIO_PIN), IRQT_FALLING);
877
878 retval = metronome_init_regs(par);
879 if (retval < 0)
880 goto err_free_irq;
881
882 info->flags = FBINFO_FLAG_DEFAULT;
883
884 info->fbdefio = &metronomefb_defio;
885 fb_deferred_io_init(info);
886
887 retval = fb_alloc_cmap(&info->cmap, 8, 0);
888 if (retval < 0) {
889 printk(KERN_ERR "Failed to allocate colormap\n");
890 goto err_fb_rel;
891 }
892
893 /* set cmap */
894 for (i = 0; i < 8; i++)
895 info->cmap.red[i] = (((2*i)+1)*(0xFFFF))/16;
896 memcpy(info->cmap.green, info->cmap.red, sizeof(u16)*8);
897 memcpy(info->cmap.blue, info->cmap.red, sizeof(u16)*8);
898
899 retval = register_framebuffer(info);
900 if (retval < 0)
901 goto err_cmap;
902
903 platform_set_drvdata(dev, info);
904
905 printk(KERN_INFO
906 "fb%d: Metronome frame buffer device, using %dK of video"
907 " memory\n", info->node, videomemorysize >> 10);
908
909 return 0;
910
911err_cmap:
912 fb_dealloc_cmap(&info->cmap);
913err_fb_rel:
914 framebuffer_release(info);
915err_free_irq:
916 free_irq(IRQ_GPIO(RDY_GPIO_PIN), info);
917err_ld_wfm:
918 release_firmware(fw_entry);
919err_dma_free:
920 dma_free_writecombine(&dev->dev, par->metromemsize, par->metromem,
921 par->metromem_dma);
922err_csum_table:
923 vfree(par->csum_table);
924err_vfree:
925 vfree(videomemory);
926 return retval;
927}
928
929static int __devexit metronomefb_remove(struct platform_device *dev)
930{
931 struct fb_info *info = platform_get_drvdata(dev);
932
933 if (info) {
934 struct metronomefb_par *par = info->par;
935 fb_deferred_io_cleanup(info);
936 dma_free_writecombine(&dev->dev, par->metromemsize,
937 par->metromem, par->metromem_dma);
938 fb_dealloc_cmap(&info->cmap);
939 vfree(par->csum_table);
940 unregister_framebuffer(info);
941 vfree((void __force *)info->screen_base);
942 free_irq(IRQ_GPIO(RDY_GPIO_PIN), info);
943 framebuffer_release(info);
944 }
945 return 0;
946}
947
948static struct platform_driver metronomefb_driver = {
949 .probe = metronomefb_probe,
950 .remove = metronomefb_remove,
951 .driver = {
952 .name = "metronomefb",
953 },
954};
955
956static struct platform_device *metronomefb_device;
957
958static int __init metronomefb_init(void)
959{
960 int ret;
961
962 if (!metronomefb_enable) {
963 printk(KERN_ERR
964 "Use metronomefb_enable to enable the device\n");
965 return -ENXIO;
966 }
967
968 ret = platform_driver_register(&metronomefb_driver);
969 if (!ret) {
970 metronomefb_device = platform_device_alloc("metronomefb", 0);
971 if (metronomefb_device)
972 ret = platform_device_add(metronomefb_device);
973 else
974 ret = -ENOMEM;
975
976 if (ret) {
977 platform_device_put(metronomefb_device);
978 platform_driver_unregister(&metronomefb_driver);
979 }
980 }
981 return ret;
982
983}
984
985static void __exit metronomefb_exit(void)
986{
987 platform_device_unregister(metronomefb_device);
988 platform_driver_unregister(&metronomefb_driver);
989}
990
991module_param(metronomefb_enable, uint, 0);
992MODULE_PARM_DESC(metronomefb_enable, "Enable communication with Metronome");
993
994module_init(metronomefb_init);
995module_exit(metronomefb_exit);
996
997MODULE_DESCRIPTION("fbdev driver for Metronome controller");
998MODULE_AUTHOR("Jaya Kumar");
999MODULE_LICENSE("GPL");
diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
index 59a8f73dec7..c0df924766a 100644
--- a/drivers/virtio/virtio_pci.c
+++ b/drivers/virtio/virtio_pci.c
@@ -37,7 +37,7 @@ struct virtio_pci_device
37 struct pci_dev *pci_dev; 37 struct pci_dev *pci_dev;
38 38
39 /* the IO mapping for the PCI config space */ 39 /* the IO mapping for the PCI config space */
40 void *ioaddr; 40 void __iomem *ioaddr;
41 41
42 /* a list of queues so we can dispatch IRQs */ 42 /* a list of queues so we can dispatch IRQs */
43 spinlock_t lock; 43 spinlock_t lock;
@@ -111,7 +111,7 @@ static void vp_get(struct virtio_device *vdev, unsigned offset,
111 void *buf, unsigned len) 111 void *buf, unsigned len)
112{ 112{
113 struct virtio_pci_device *vp_dev = to_vp_device(vdev); 113 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
114 void *ioaddr = vp_dev->ioaddr + VIRTIO_PCI_CONFIG + offset; 114 void __iomem *ioaddr = vp_dev->ioaddr + VIRTIO_PCI_CONFIG + offset;
115 u8 *ptr = buf; 115 u8 *ptr = buf;
116 int i; 116 int i;
117 117
@@ -125,7 +125,7 @@ static void vp_set(struct virtio_device *vdev, unsigned offset,
125 const void *buf, unsigned len) 125 const void *buf, unsigned len)
126{ 126{
127 struct virtio_pci_device *vp_dev = to_vp_device(vdev); 127 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
128 void *ioaddr = vp_dev->ioaddr + VIRTIO_PCI_CONFIG + offset; 128 void __iomem *ioaddr = vp_dev->ioaddr + VIRTIO_PCI_CONFIG + offset;
129 const u8 *ptr = buf; 129 const u8 *ptr = buf;
130 int i; 130 int i;
131 131
@@ -388,6 +388,7 @@ static void __devexit virtio_pci_remove(struct pci_dev *pci_dev)
388{ 388{
389 struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev); 389 struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev);
390 390
391 unregister_virtio_device(&vp_dev->vdev);
391 free_irq(pci_dev->irq, vp_dev); 392 free_irq(pci_dev->irq, vp_dev);
392 pci_set_drvdata(pci_dev, NULL); 393 pci_set_drvdata(pci_dev, NULL);
393 pci_iounmap(pci_dev, vp_dev->ioaddr); 394 pci_iounmap(pci_dev, vp_dev->ioaddr);
diff --git a/drivers/watchdog/it8712f_wdt.c b/drivers/watchdog/it8712f_wdt.c
index 1efcad3b6fc..ca90c519259 100644
--- a/drivers/watchdog/it8712f_wdt.c
+++ b/drivers/watchdog/it8712f_wdt.c
@@ -111,15 +111,6 @@ superio_inw(int reg)
111 return val; 111 return val;
112} 112}
113 113
114static void
115superio_outw(int val, int reg)
116{
117 outb(reg++, REG);
118 outb((val >> 8) & 0xff, VAL);
119 outb(reg, REG);
120 outb(val & 0xff, VAL);
121}
122
123static inline void 114static inline void
124superio_select(int ldn) 115superio_select(int ldn)
125{ 116{
@@ -170,9 +161,8 @@ it8712f_wdt_update_margin(void)
170 superio_outb(config, WDT_CONFIG); 161 superio_outb(config, WDT_CONFIG);
171 162
172 if (revision >= 0x08) 163 if (revision >= 0x08)
173 superio_outw(units, WDT_TIMEOUT); 164 superio_outb(units >> 8, WDT_TIMEOUT + 1);
174 else 165 superio_outb(units, WDT_TIMEOUT);
175 superio_outb(units, WDT_TIMEOUT);
176} 166}
177 167
178static int 168static int
diff --git a/fs/afs/cell.c b/fs/afs/cell.c
index 970d38f3056..584bb0f9c36 100644
--- a/fs/afs/cell.c
+++ b/fs/afs/cell.c
@@ -127,14 +127,21 @@ struct afs_cell *afs_cell_create(const char *name, char *vllist)
127 127
128 _enter("%s,%s", name, vllist); 128 _enter("%s,%s", name, vllist);
129 129
130 down_write(&afs_cells_sem);
131 read_lock(&afs_cells_lock);
132 list_for_each_entry(cell, &afs_cells, link) {
133 if (strcasecmp(cell->name, name) == 0)
134 goto duplicate_name;
135 }
136 read_unlock(&afs_cells_lock);
137
130 cell = afs_cell_alloc(name, vllist); 138 cell = afs_cell_alloc(name, vllist);
131 if (IS_ERR(cell)) { 139 if (IS_ERR(cell)) {
132 _leave(" = %ld", PTR_ERR(cell)); 140 _leave(" = %ld", PTR_ERR(cell));
141 up_write(&afs_cells_sem);
133 return cell; 142 return cell;
134 } 143 }
135 144
136 down_write(&afs_cells_sem);
137
138 /* add a proc directory for this cell */ 145 /* add a proc directory for this cell */
139 ret = afs_proc_cell_setup(cell); 146 ret = afs_proc_cell_setup(cell);
140 if (ret < 0) 147 if (ret < 0)
@@ -167,6 +174,11 @@ error:
167 kfree(cell); 174 kfree(cell);
168 _leave(" = %d", ret); 175 _leave(" = %d", ret);
169 return ERR_PTR(ret); 176 return ERR_PTR(ret);
177
178duplicate_name:
179 read_unlock(&afs_cells_lock);
180 up_write(&afs_cells_sem);
181 return ERR_PTR(-EEXIST);
170} 182}
171 183
172/* 184/*
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index 5ca3625cd39..9ba16edc0af 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -573,7 +573,6 @@ extern const struct file_operations afs_mntpt_file_operations;
573 573
574extern int afs_mntpt_check_symlink(struct afs_vnode *, struct key *); 574extern int afs_mntpt_check_symlink(struct afs_vnode *, struct key *);
575extern void afs_mntpt_kill_timer(void); 575extern void afs_mntpt_kill_timer(void);
576extern void afs_umount_begin(struct vfsmount *, int);
577 576
578/* 577/*
579 * proc.c 578 * proc.c
diff --git a/fs/afs/mntpt.c b/fs/afs/mntpt.c
index a3510b8ba3e..2f5503902c3 100644
--- a/fs/afs/mntpt.c
+++ b/fs/afs/mntpt.c
@@ -283,11 +283,3 @@ void afs_mntpt_kill_timer(void)
283 cancel_delayed_work(&afs_mntpt_expiry_timer); 283 cancel_delayed_work(&afs_mntpt_expiry_timer);
284 flush_scheduled_work(); 284 flush_scheduled_work();
285} 285}
286
287/*
288 * begin unmount by attempting to remove all automounted mountpoints we added
289 */
290void afs_umount_begin(struct vfsmount *vfsmnt, int flags)
291{
292 shrink_submounts(vfsmnt, &afs_vfsmounts);
293}
diff --git a/fs/afs/super.c b/fs/afs/super.c
index 36bbce45f44..4b572b801d8 100644
--- a/fs/afs/super.c
+++ b/fs/afs/super.c
@@ -50,7 +50,6 @@ static const struct super_operations afs_super_ops = {
50 .write_inode = afs_write_inode, 50 .write_inode = afs_write_inode,
51 .destroy_inode = afs_destroy_inode, 51 .destroy_inode = afs_destroy_inode,
52 .clear_inode = afs_clear_inode, 52 .clear_inode = afs_clear_inode,
53 .umount_begin = afs_umount_begin,
54 .put_super = afs_put_super, 53 .put_super = afs_put_super,
55 .show_options = generic_show_options, 54 .show_options = generic_show_options,
56}; 55};
diff --git a/fs/aio.c b/fs/aio.c
index b74c567383b..6af92194062 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -996,6 +996,14 @@ put_rq:
996 /* everything turned out well, dispose of the aiocb. */ 996 /* everything turned out well, dispose of the aiocb. */
997 ret = __aio_put_req(ctx, iocb); 997 ret = __aio_put_req(ctx, iocb);
998 998
999 /*
1000 * We have to order our ring_info tail store above and test
1001 * of the wait list below outside the wait lock. This is
1002 * like in wake_up_bit() where clearing a bit has to be
1003 * ordered with the unlocked test.
1004 */
1005 smp_mb();
1006
999 if (waitqueue_active(&ctx->wait)) 1007 if (waitqueue_active(&ctx->wait))
1000 wake_up(&ctx->wait); 1008 wake_up(&ctx->wait);
1001 1009
diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c
index 23321889d9b..f42be069e08 100644
--- a/fs/anon_inodes.c
+++ b/fs/anon_inodes.c
@@ -81,13 +81,10 @@ int anon_inode_getfd(int *pfd, struct inode **pinode, struct file **pfile,
81 81
82 if (IS_ERR(anon_inode_inode)) 82 if (IS_ERR(anon_inode_inode))
83 return -ENODEV; 83 return -ENODEV;
84 file = get_empty_filp();
85 if (!file)
86 return -ENFILE;
87 84
88 error = get_unused_fd(); 85 error = get_unused_fd();
89 if (error < 0) 86 if (error < 0)
90 goto err_put_filp; 87 return error;
91 fd = error; 88 fd = error;
92 89
93 /* 90 /*
@@ -114,14 +111,15 @@ int anon_inode_getfd(int *pfd, struct inode **pinode, struct file **pfile,
114 dentry->d_flags &= ~DCACHE_UNHASHED; 111 dentry->d_flags &= ~DCACHE_UNHASHED;
115 d_instantiate(dentry, anon_inode_inode); 112 d_instantiate(dentry, anon_inode_inode);
116 113
117 file->f_path.mnt = mntget(anon_inode_mnt); 114 error = -ENFILE;
118 file->f_path.dentry = dentry; 115 file = alloc_file(anon_inode_mnt, dentry,
116 FMODE_READ | FMODE_WRITE, fops);
117 if (!file)
118 goto err_dput;
119 file->f_mapping = anon_inode_inode->i_mapping; 119 file->f_mapping = anon_inode_inode->i_mapping;
120 120
121 file->f_pos = 0; 121 file->f_pos = 0;
122 file->f_flags = O_RDWR; 122 file->f_flags = O_RDWR;
123 file->f_op = fops;
124 file->f_mode = FMODE_READ | FMODE_WRITE;
125 file->f_version = 0; 123 file->f_version = 0;
126 file->private_data = priv; 124 file->private_data = priv;
127 125
@@ -132,10 +130,10 @@ int anon_inode_getfd(int *pfd, struct inode **pinode, struct file **pfile,
132 *pfile = file; 130 *pfile = file;
133 return 0; 131 return 0;
134 132
133err_dput:
134 dput(dentry);
135err_put_unused_fd: 135err_put_unused_fd:
136 put_unused_fd(fd); 136 put_unused_fd(fd);
137err_put_filp:
138 put_filp(file);
139 return error; 137 return error;
140} 138}
141EXPORT_SYMBOL_GPL(anon_inode_getfd); 139EXPORT_SYMBOL_GPL(anon_inode_getfd);
diff --git a/fs/bio.c b/fs/bio.c
index 3312fcc3c09..553b5b7960a 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -1194,6 +1194,8 @@ EXPORT_SYMBOL(bio_hw_segments);
1194EXPORT_SYMBOL(bio_add_page); 1194EXPORT_SYMBOL(bio_add_page);
1195EXPORT_SYMBOL(bio_add_pc_page); 1195EXPORT_SYMBOL(bio_add_pc_page);
1196EXPORT_SYMBOL(bio_get_nr_vecs); 1196EXPORT_SYMBOL(bio_get_nr_vecs);
1197EXPORT_SYMBOL(bio_map_user);
1198EXPORT_SYMBOL(bio_unmap_user);
1197EXPORT_SYMBOL(bio_map_kern); 1199EXPORT_SYMBOL(bio_map_kern);
1198EXPORT_SYMBOL(bio_pair_release); 1200EXPORT_SYMBOL(bio_pair_release);
1199EXPORT_SYMBOL(bio_split); 1201EXPORT_SYMBOL(bio_split);
diff --git a/fs/buffer.c b/fs/buffer.c
index ddfdd2c80bf..98196327ddf 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2564,14 +2564,13 @@ int nobh_write_end(struct file *file, struct address_space *mapping,
2564 struct inode *inode = page->mapping->host; 2564 struct inode *inode = page->mapping->host;
2565 struct buffer_head *head = fsdata; 2565 struct buffer_head *head = fsdata;
2566 struct buffer_head *bh; 2566 struct buffer_head *bh;
2567 BUG_ON(fsdata != NULL && page_has_buffers(page));
2567 2568
2568 if (!PageMappedToDisk(page)) { 2569 if (unlikely(copied < len) && !page_has_buffers(page))
2569 if (unlikely(copied < len) && !page_has_buffers(page)) 2570 attach_nobh_buffers(page, head);
2570 attach_nobh_buffers(page, head); 2571 if (page_has_buffers(page))
2571 if (page_has_buffers(page)) 2572 return generic_write_end(file, mapping, pos, len,
2572 return generic_write_end(file, mapping, pos, len, 2573 copied, page, fsdata);
2573 copied, page, fsdata);
2574 }
2575 2574
2576 SetPageUptodate(page); 2575 SetPageUptodate(page);
2577 set_page_dirty(page); 2576 set_page_dirty(page);
@@ -3213,7 +3212,7 @@ static int buffer_cpu_notify(struct notifier_block *self,
3213} 3212}
3214 3213
3215/** 3214/**
3216 * bh_uptodate_or_lock: Test whether the buffer is uptodate 3215 * bh_uptodate_or_lock - Test whether the buffer is uptodate
3217 * @bh: struct buffer_head 3216 * @bh: struct buffer_head
3218 * 3217 *
3219 * Return true if the buffer is up-to-date and false, 3218 * Return true if the buffer is up-to-date and false,
@@ -3232,7 +3231,7 @@ int bh_uptodate_or_lock(struct buffer_head *bh)
3232EXPORT_SYMBOL(bh_uptodate_or_lock); 3231EXPORT_SYMBOL(bh_uptodate_or_lock);
3233 3232
3234/** 3233/**
3235 * bh_submit_read: Submit a locked buffer for reading 3234 * bh_submit_read - Submit a locked buffer for reading
3236 * @bh: struct buffer_head 3235 * @bh: struct buffer_head
3237 * 3236 *
3238 * Returns zero on success and -EIO on error. 3237 * Returns zero on success and -EIO on error.
diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c
index 7f883825341..56c924033b7 100644
--- a/fs/cifs/cifs_dfs_ref.c
+++ b/fs/cifs/cifs_dfs_ref.c
@@ -33,7 +33,6 @@ void dfs_shrink_umount_helper(struct vfsmount *vfsmnt)
33{ 33{
34 mark_mounts_for_expiry(&cifs_dfs_automount_list); 34 mark_mounts_for_expiry(&cifs_dfs_automount_list);
35 mark_mounts_for_expiry(&cifs_dfs_automount_list); 35 mark_mounts_for_expiry(&cifs_dfs_automount_list);
36 shrink_submounts(vfsmnt, &cifs_dfs_automount_list);
37} 36}
38 37
39/** 38/**
@@ -74,7 +73,7 @@ static char *cifs_get_share_name(const char *node_name)
74 pSep = memchr(UNC+2, '\\', len-2); 73 pSep = memchr(UNC+2, '\\', len-2);
75 if (!pSep) { 74 if (!pSep) {
76 cERROR(1, ("%s: no server name end in node name: %s", 75 cERROR(1, ("%s: no server name end in node name: %s",
77 __FUNCTION__, node_name)); 76 __func__, node_name));
78 kfree(UNC); 77 kfree(UNC);
79 return NULL; 78 return NULL;
80 } 79 }
@@ -84,7 +83,7 @@ static char *cifs_get_share_name(const char *node_name)
84 pSep = memchr(UNC+(pSep-UNC), '\\', len-(pSep-UNC)); 83 pSep = memchr(UNC+(pSep-UNC), '\\', len-(pSep-UNC));
85 if (!pSep) { 84 if (!pSep) {
86 cERROR(1, ("%s:2 cant find share name in node name: %s", 85 cERROR(1, ("%s:2 cant find share name in node name: %s",
87 __FUNCTION__, node_name)); 86 __func__, node_name));
88 kfree(UNC); 87 kfree(UNC);
89 return NULL; 88 return NULL;
90 } 89 }
@@ -127,7 +126,7 @@ static char *compose_mount_options(const char *sb_mountdata,
127 rc = dns_resolve_server_name_to_ip(*devname, &srvIP); 126 rc = dns_resolve_server_name_to_ip(*devname, &srvIP);
128 if (rc != 0) { 127 if (rc != 0) {
129 cERROR(1, ("%s: Failed to resolve server part of %s to IP", 128 cERROR(1, ("%s: Failed to resolve server part of %s to IP",
130 __FUNCTION__, *devname)); 129 __func__, *devname));
131 mountdata = ERR_PTR(rc); 130 mountdata = ERR_PTR(rc);
132 goto compose_mount_options_out; 131 goto compose_mount_options_out;
133 } 132 }
@@ -181,8 +180,8 @@ static char *compose_mount_options(const char *sb_mountdata,
181 } 180 }
182 } 181 }
183 182
184 /*cFYI(1,("%s: parent mountdata: %s", __FUNCTION__,sb_mountdata));*/ 183 /*cFYI(1,("%s: parent mountdata: %s", __func__,sb_mountdata));*/
185 /*cFYI(1, ("%s: submount mountdata: %s", __FUNCTION__, mountdata ));*/ 184 /*cFYI(1, ("%s: submount mountdata: %s", __func__, mountdata ));*/
186 185
187compose_mount_options_out: 186compose_mount_options_out:
188 kfree(srvIP); 187 kfree(srvIP);
@@ -302,7 +301,7 @@ cifs_dfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd)
302 int rc = 0; 301 int rc = 0;
303 struct vfsmount *mnt = ERR_PTR(-ENOENT); 302 struct vfsmount *mnt = ERR_PTR(-ENOENT);
304 303
305 cFYI(1, ("in %s", __FUNCTION__)); 304 cFYI(1, ("in %s", __func__));
306 BUG_ON(IS_ROOT(dentry)); 305 BUG_ON(IS_ROOT(dentry));
307 306
308 xid = GetXid(); 307 xid = GetXid();
@@ -336,7 +335,7 @@ cifs_dfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd)
336 len = strlen(referrals[i].node_name); 335 len = strlen(referrals[i].node_name);
337 if (len < 2) { 336 if (len < 2) {
338 cERROR(1, ("%s: Net Address path too short: %s", 337 cERROR(1, ("%s: Net Address path too short: %s",
339 __FUNCTION__, referrals[i].node_name)); 338 __func__, referrals[i].node_name));
340 rc = -EINVAL; 339 rc = -EINVAL;
341 goto out_err; 340 goto out_err;
342 } 341 }
@@ -344,7 +343,7 @@ cifs_dfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd)
344 nd->path.dentry, 343 nd->path.dentry,
345 referrals[i].node_name); 344 referrals[i].node_name);
346 cFYI(1, ("%s: cifs_dfs_do_refmount:%s , mnt:%p", 345 cFYI(1, ("%s: cifs_dfs_do_refmount:%s , mnt:%p",
347 __FUNCTION__, 346 __func__,
348 referrals[i].node_name, mnt)); 347 referrals[i].node_name, mnt));
349 348
350 /* complete mount procedure if we accured submount */ 349 /* complete mount procedure if we accured submount */
@@ -365,7 +364,7 @@ out:
365 FreeXid(xid); 364 FreeXid(xid);
366 free_dfs_info_array(referrals, num_referrals); 365 free_dfs_info_array(referrals, num_referrals);
367 kfree(full_path); 366 kfree(full_path);
368 cFYI(1, ("leaving %s" , __FUNCTION__)); 367 cFYI(1, ("leaving %s" , __func__));
369 return ERR_PTR(rc); 368 return ERR_PTR(rc);
370out_err: 369out_err:
371 path_put(&nd->path); 370 path_put(&nd->path);
diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
index f93932c2177..1cb5b0a9f2a 100644
--- a/fs/cifs/cifsacl.c
+++ b/fs/cifs/cifsacl.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * fs/cifs/cifsacl.c 2 * fs/cifs/cifsacl.c
3 * 3 *
4 * Copyright (C) International Business Machines Corp., 2007 4 * Copyright (C) International Business Machines Corp., 2007,2008
5 * Author(s): Steve French (sfrench@us.ibm.com) 5 * Author(s): Steve French (sfrench@us.ibm.com)
6 * 6 *
7 * Contains the routines for mapping CIFS/NTFS ACLs 7 * Contains the routines for mapping CIFS/NTFS ACLs
@@ -261,7 +261,7 @@ static void mode_to_access_flags(umode_t mode, umode_t bits_to_use,
261 return; 261 return;
262} 262}
263 263
264static __le16 fill_ace_for_sid(struct cifs_ace *pntace, 264static __u16 fill_ace_for_sid(struct cifs_ace *pntace,
265 const struct cifs_sid *psid, __u64 nmode, umode_t bits) 265 const struct cifs_sid *psid, __u64 nmode, umode_t bits)
266{ 266{
267 int i; 267 int i;
@@ -411,7 +411,7 @@ static void parse_dacl(struct cifs_acl *pdacl, char *end_of_acl,
411static int set_chmod_dacl(struct cifs_acl *pndacl, struct cifs_sid *pownersid, 411static int set_chmod_dacl(struct cifs_acl *pndacl, struct cifs_sid *pownersid,
412 struct cifs_sid *pgrpsid, __u64 nmode) 412 struct cifs_sid *pgrpsid, __u64 nmode)
413{ 413{
414 __le16 size = 0; 414 u16 size = 0;
415 struct cifs_acl *pnndacl; 415 struct cifs_acl *pnndacl;
416 416
417 pnndacl = (struct cifs_acl *)((char *)pndacl + sizeof(struct cifs_acl)); 417 pnndacl = (struct cifs_acl *)((char *)pndacl + sizeof(struct cifs_acl));
@@ -556,9 +556,9 @@ static int build_sec_desc(struct cifs_ntsd *pntsd, struct cifs_ntsd *pnntsd,
556 556
557/* Retrieve an ACL from the server */ 557/* Retrieve an ACL from the server */
558static struct cifs_ntsd *get_cifs_acl(u32 *pacllen, struct inode *inode, 558static struct cifs_ntsd *get_cifs_acl(u32 *pacllen, struct inode *inode,
559 const char *path) 559 const char *path, const __u16 *pfid)
560{ 560{
561 struct cifsFileInfo *open_file; 561 struct cifsFileInfo *open_file = NULL;
562 int unlock_file = FALSE; 562 int unlock_file = FALSE;
563 int xid; 563 int xid;
564 int rc = -EIO; 564 int rc = -EIO;
@@ -573,7 +573,11 @@ static struct cifs_ntsd *get_cifs_acl(u32 *pacllen, struct inode *inode,
573 return NULL; 573 return NULL;
574 574
575 xid = GetXid(); 575 xid = GetXid();
576 open_file = find_readable_file(CIFS_I(inode)); 576 if (pfid == NULL)
577 open_file = find_readable_file(CIFS_I(inode));
578 else
579 fid = *pfid;
580
577 sb = inode->i_sb; 581 sb = inode->i_sb;
578 if (sb == NULL) { 582 if (sb == NULL) {
579 FreeXid(xid); 583 FreeXid(xid);
@@ -584,7 +588,7 @@ static struct cifs_ntsd *get_cifs_acl(u32 *pacllen, struct inode *inode,
584 if (open_file) { 588 if (open_file) {
585 unlock_file = TRUE; 589 unlock_file = TRUE;
586 fid = open_file->netfid; 590 fid = open_file->netfid;
587 } else { 591 } else if (pfid == NULL) {
588 int oplock = FALSE; 592 int oplock = FALSE;
589 /* open file */ 593 /* open file */
590 rc = CIFSSMBOpen(xid, cifs_sb->tcon, path, FILE_OPEN, 594 rc = CIFSSMBOpen(xid, cifs_sb->tcon, path, FILE_OPEN,
@@ -600,10 +604,11 @@ static struct cifs_ntsd *get_cifs_acl(u32 *pacllen, struct inode *inode,
600 604
601 rc = CIFSSMBGetCIFSACL(xid, cifs_sb->tcon, fid, &pntsd, pacllen); 605 rc = CIFSSMBGetCIFSACL(xid, cifs_sb->tcon, fid, &pntsd, pacllen);
602 cFYI(1, ("GetCIFSACL rc = %d ACL len %d", rc, *pacllen)); 606 cFYI(1, ("GetCIFSACL rc = %d ACL len %d", rc, *pacllen));
603 if (unlock_file == TRUE) 607 if (unlock_file == TRUE) /* find_readable_file increments ref count */
604 atomic_dec(&open_file->wrtPending); 608 atomic_dec(&open_file->wrtPending);
605 else 609 else if (pfid == NULL) /* if opened above we have to close the handle */
606 CIFSSMBClose(xid, cifs_sb->tcon, fid); 610 CIFSSMBClose(xid, cifs_sb->tcon, fid);
611 /* else handle was passed in by caller */
607 612
608 FreeXid(xid); 613 FreeXid(xid);
609 return pntsd; 614 return pntsd;
@@ -664,14 +669,14 @@ static int set_cifs_acl(struct cifs_ntsd *pnntsd, __u32 acllen,
664} 669}
665 670
666/* Translate the CIFS ACL (simlar to NTFS ACL) for a file into mode bits */ 671/* Translate the CIFS ACL (simlar to NTFS ACL) for a file into mode bits */
667void acl_to_uid_mode(struct inode *inode, const char *path) 672void acl_to_uid_mode(struct inode *inode, const char *path, const __u16 *pfid)
668{ 673{
669 struct cifs_ntsd *pntsd = NULL; 674 struct cifs_ntsd *pntsd = NULL;
670 u32 acllen = 0; 675 u32 acllen = 0;
671 int rc = 0; 676 int rc = 0;
672 677
673 cFYI(DBG2, ("converting ACL to mode for %s", path)); 678 cFYI(DBG2, ("converting ACL to mode for %s", path));
674 pntsd = get_cifs_acl(&acllen, inode, path); 679 pntsd = get_cifs_acl(&acllen, inode, path, pfid);
675 680
676 /* if we can retrieve the ACL, now parse Access Control Entries, ACEs */ 681 /* if we can retrieve the ACL, now parse Access Control Entries, ACEs */
677 if (pntsd) 682 if (pntsd)
@@ -694,7 +699,7 @@ int mode_to_acl(struct inode *inode, const char *path, __u64 nmode)
694 cFYI(DBG2, ("set ACL from mode for %s", path)); 699 cFYI(DBG2, ("set ACL from mode for %s", path));
695 700
696 /* Get the security descriptor */ 701 /* Get the security descriptor */
697 pntsd = get_cifs_acl(&acllen, inode, path); 702 pntsd = get_cifs_acl(&acllen, inode, path, NULL);
698 703
699 /* Add three ACEs for owner, group, everyone getting rid of 704 /* Add three ACEs for owner, group, everyone getting rid of
700 other ACEs as chmod disables ACEs and set the security descriptor */ 705 other ACEs as chmod disables ACEs and set the security descriptor */
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index 0af63e6b426..7e5e0e78cd7 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -39,8 +39,8 @@ extern int smb_send(struct socket *, struct smb_hdr *,
39 unsigned int /* length */ , struct sockaddr *); 39 unsigned int /* length */ , struct sockaddr *);
40extern unsigned int _GetXid(void); 40extern unsigned int _GetXid(void);
41extern void _FreeXid(unsigned int); 41extern void _FreeXid(unsigned int);
42#define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__FUNCTION__, xid,current->fsuid)); 42#define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__func__, xid,current->fsuid));
43#define FreeXid(curr_xid) {_FreeXid(curr_xid); cFYI(1,("CIFS VFS: leaving %s (xid = %d) rc = %d",__FUNCTION__,curr_xid,(int)rc));} 43#define FreeXid(curr_xid) {_FreeXid(curr_xid); cFYI(1,("CIFS VFS: leaving %s (xid = %d) rc = %d",__func__,curr_xid,(int)rc));}
44extern char *build_path_from_dentry(struct dentry *); 44extern char *build_path_from_dentry(struct dentry *);
45extern char *build_wildcard_path_from_dentry(struct dentry *direntry); 45extern char *build_wildcard_path_from_dentry(struct dentry *direntry);
46/* extern void renew_parental_timestamps(struct dentry *direntry);*/ 46/* extern void renew_parental_timestamps(struct dentry *direntry);*/
@@ -92,11 +92,12 @@ extern struct timespec cnvrtDosUnixTm(__u16 date, __u16 time);
92extern int cifs_get_inode_info(struct inode **pinode, 92extern int cifs_get_inode_info(struct inode **pinode,
93 const unsigned char *search_path, 93 const unsigned char *search_path,
94 FILE_ALL_INFO * pfile_info, 94 FILE_ALL_INFO * pfile_info,
95 struct super_block *sb, int xid); 95 struct super_block *sb, int xid, const __u16 *pfid);
96extern int cifs_get_inode_info_unix(struct inode **pinode, 96extern int cifs_get_inode_info_unix(struct inode **pinode,
97 const unsigned char *search_path, 97 const unsigned char *search_path,
98 struct super_block *sb, int xid); 98 struct super_block *sb, int xid);
99extern void acl_to_uid_mode(struct inode *inode, const char *search_path); 99extern void acl_to_uid_mode(struct inode *inode, const char *path,
100 const __u16 *pfid);
100extern int mode_to_acl(struct inode *inode, const char *path, __u64); 101extern int mode_to_acl(struct inode *inode, const char *path, __u64);
101 102
102extern int cifs_mount(struct super_block *, struct cifs_sb_info *, char *, 103extern int cifs_mount(struct super_block *, struct cifs_sb_info *, char *,
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index 4e83b47c4b3..0f5c62ba403 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -229,7 +229,8 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
229 inode->i_sb, xid); 229 inode->i_sb, xid);
230 else { 230 else {
231 rc = cifs_get_inode_info(&newinode, full_path, 231 rc = cifs_get_inode_info(&newinode, full_path,
232 buf, inode->i_sb, xid); 232 buf, inode->i_sb, xid,
233 &fileHandle);
233 if (newinode) { 234 if (newinode) {
234 newinode->i_mode = mode; 235 newinode->i_mode = mode;
235 if ((oplock & CIFS_CREATE_ACTION) && 236 if ((oplock & CIFS_CREATE_ACTION) &&
@@ -483,7 +484,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
483 parent_dir_inode->i_sb, xid); 484 parent_dir_inode->i_sb, xid);
484 else 485 else
485 rc = cifs_get_inode_info(&newInode, full_path, NULL, 486 rc = cifs_get_inode_info(&newInode, full_path, NULL,
486 parent_dir_inode->i_sb, xid); 487 parent_dir_inode->i_sb, xid, NULL);
487 488
488 if ((rc == 0) && (newInode != NULL)) { 489 if ((rc == 0) && (newInode != NULL)) {
489 if (pTcon->nocase) 490 if (pTcon->nocase)
diff --git a/fs/cifs/dns_resolve.c b/fs/cifs/dns_resolve.c
index ef7f4382434..7cc86c41818 100644
--- a/fs/cifs/dns_resolve.c
+++ b/fs/cifs/dns_resolve.c
@@ -77,14 +77,14 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
77 /* search for server name delimiter */ 77 /* search for server name delimiter */
78 len = strlen(unc); 78 len = strlen(unc);
79 if (len < 3) { 79 if (len < 3) {
80 cFYI(1, ("%s: unc is too short: %s", __FUNCTION__, unc)); 80 cFYI(1, ("%s: unc is too short: %s", __func__, unc));
81 return -EINVAL; 81 return -EINVAL;
82 } 82 }
83 len -= 2; 83 len -= 2;
84 name = memchr(unc+2, '\\', len); 84 name = memchr(unc+2, '\\', len);
85 if (!name) { 85 if (!name) {
86 cFYI(1, ("%s: probably server name is whole unc: %s", 86 cFYI(1, ("%s: probably server name is whole unc: %s",
87 __FUNCTION__, unc)); 87 __func__, unc));
88 } else { 88 } else {
89 len = (name - unc) - 2/* leading // */; 89 len = (name - unc) - 2/* leading // */;
90 } 90 }
@@ -104,7 +104,7 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
104 if (*ip_addr) { 104 if (*ip_addr) {
105 memcpy(*ip_addr, rkey->payload.data, len); 105 memcpy(*ip_addr, rkey->payload.data, len);
106 (*ip_addr)[len] = '\0'; 106 (*ip_addr)[len] = '\0';
107 cFYI(1, ("%s: resolved: %s to %s", __FUNCTION__, 107 cFYI(1, ("%s: resolved: %s to %s", __func__,
108 rkey->description, 108 rkey->description,
109 *ip_addr 109 *ip_addr
110 )); 110 ));
@@ -114,7 +114,7 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
114 } 114 }
115 key_put(rkey); 115 key_put(rkey);
116 } else { 116 } else {
117 cERROR(1, ("%s: unable to resolve: %s", __FUNCTION__, name)); 117 cERROR(1, ("%s: unable to resolve: %s", __func__, name));
118 } 118 }
119 119
120 kfree(name); 120 kfree(name);
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index fa849c91d32..40b690073fc 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -145,7 +145,7 @@ client_can_cache:
145 full_path, inode->i_sb, xid); 145 full_path, inode->i_sb, xid);
146 else 146 else
147 rc = cifs_get_inode_info(&file->f_path.dentry->d_inode, 147 rc = cifs_get_inode_info(&file->f_path.dentry->d_inode,
148 full_path, buf, inode->i_sb, xid); 148 full_path, buf, inode->i_sb, xid, NULL);
149 149
150 if ((*oplock & 0xF) == OPLOCK_EXCLUSIVE) { 150 if ((*oplock & 0xF) == OPLOCK_EXCLUSIVE) {
151 pCifsInode->clientCanCacheAll = TRUE; 151 pCifsInode->clientCanCacheAll = TRUE;
@@ -440,7 +440,7 @@ reopen_error_exit:
440 else 440 else
441 rc = cifs_get_inode_info(&inode, 441 rc = cifs_get_inode_info(&inode,
442 full_path, NULL, inode->i_sb, 442 full_path, NULL, inode->i_sb,
443 xid); 443 xid, NULL);
444 } /* else we are writing out data to server already 444 } /* else we are writing out data to server already
445 and could deadlock if we tried to flush data, and 445 and could deadlock if we tried to flush data, and
446 since we do not know if we have data that would 446 since we do not know if we have data that would
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index 24eb4d39215..bc673c8c1e6 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -30,7 +30,7 @@
30#include "cifs_fs_sb.h" 30#include "cifs_fs_sb.h"
31 31
32 32
33static void cifs_set_ops(struct inode *inode) 33static void cifs_set_ops(struct inode *inode, const bool is_dfs_referral)
34{ 34{
35 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); 35 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb);
36 36
@@ -57,8 +57,16 @@ static void cifs_set_ops(struct inode *inode)
57 inode->i_data.a_ops = &cifs_addr_ops; 57 inode->i_data.a_ops = &cifs_addr_ops;
58 break; 58 break;
59 case S_IFDIR: 59 case S_IFDIR:
60 inode->i_op = &cifs_dir_inode_ops; 60#ifdef CONFIG_CIFS_DFS_UPCALL
61 inode->i_fop = &cifs_dir_ops; 61 if (is_dfs_referral) {
62 inode->i_op = &cifs_dfs_referral_inode_operations;
63 } else {
64#else /* NO DFS support, treat as a directory */
65 {
66#endif
67 inode->i_op = &cifs_dir_inode_ops;
68 inode->i_fop = &cifs_dir_ops;
69 }
62 break; 70 break;
63 case S_IFLNK: 71 case S_IFLNK:
64 inode->i_op = &cifs_symlink_inode_ops; 72 inode->i_op = &cifs_symlink_inode_ops;
@@ -153,6 +161,30 @@ static void cifs_unix_info_to_inode(struct inode *inode,
153 spin_unlock(&inode->i_lock); 161 spin_unlock(&inode->i_lock);
154} 162}
155 163
164static const unsigned char *cifs_get_search_path(struct cifsTconInfo *pTcon,
165 const char *search_path)
166{
167 int tree_len;
168 int path_len;
169 char *tmp_path;
170
171 if (!(pTcon->Flags & SMB_SHARE_IS_IN_DFS))
172 return search_path;
173
174 /* use full path name for working with DFS */
175 tree_len = strnlen(pTcon->treeName, MAX_TREE_SIZE + 1);
176 path_len = strnlen(search_path, MAX_PATHCONF);
177
178 tmp_path = kmalloc(tree_len+path_len+1, GFP_KERNEL);
179 if (tmp_path == NULL)
180 return search_path;
181
182 strncpy(tmp_path, pTcon->treeName, tree_len);
183 strncpy(tmp_path+tree_len, search_path, path_len);
184 tmp_path[tree_len+path_len] = 0;
185 return tmp_path;
186}
187
156int cifs_get_inode_info_unix(struct inode **pinode, 188int cifs_get_inode_info_unix(struct inode **pinode,
157 const unsigned char *search_path, struct super_block *sb, int xid) 189 const unsigned char *search_path, struct super_block *sb, int xid)
158{ 190{
@@ -161,41 +193,31 @@ int cifs_get_inode_info_unix(struct inode **pinode,
161 struct cifsTconInfo *pTcon; 193 struct cifsTconInfo *pTcon;
162 struct inode *inode; 194 struct inode *inode;
163 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); 195 struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
164 char *tmp_path; 196 const unsigned char *full_path;
197 bool is_dfs_referral = false;
165 198
166 pTcon = cifs_sb->tcon; 199 pTcon = cifs_sb->tcon;
167 cFYI(1, ("Getting info on %s", search_path)); 200 cFYI(1, ("Getting info on %s", search_path));
201
202 full_path = cifs_get_search_path(pTcon, search_path);
203
204try_again_CIFSSMBUnixQPathInfo:
168 /* could have done a find first instead but this returns more info */ 205 /* could have done a find first instead but this returns more info */
169 rc = CIFSSMBUnixQPathInfo(xid, pTcon, search_path, &findData, 206 rc = CIFSSMBUnixQPathInfo(xid, pTcon, full_path, &findData,
170 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & 207 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags &
171 CIFS_MOUNT_MAP_SPECIAL_CHR); 208 CIFS_MOUNT_MAP_SPECIAL_CHR);
172/* dump_mem("\nUnixQPathInfo return data", &findData, 209/* dump_mem("\nUnixQPathInfo return data", &findData,
173 sizeof(findData)); */ 210 sizeof(findData)); */
174 if (rc) { 211 if (rc) {
175 if (rc == -EREMOTE) { 212 if (rc == -EREMOTE && !is_dfs_referral) {
176 tmp_path = 213 is_dfs_referral = true;
177 kmalloc(strnlen(pTcon->treeName, 214 if (full_path != search_path) {
178 MAX_TREE_SIZE + 1) + 215 kfree(full_path);
179 strnlen(search_path, MAX_PATHCONF) + 1, 216 full_path = search_path;
180 GFP_KERNEL); 217 }
181 if (tmp_path == NULL) 218 goto try_again_CIFSSMBUnixQPathInfo;
182 return -ENOMEM;
183
184 /* have to skip first of the double backslash of
185 UNC name */
186 strncpy(tmp_path, pTcon->treeName, MAX_TREE_SIZE);
187 strncat(tmp_path, search_path, MAX_PATHCONF);
188 rc = connect_to_dfs_path(xid, pTcon->ses,
189 /* treename + */ tmp_path,
190 cifs_sb->local_nls,
191 cifs_sb->mnt_cifs_flags &
192 CIFS_MOUNT_MAP_SPECIAL_CHR);
193 kfree(tmp_path);
194
195 /* BB fix up inode etc. */
196 } else if (rc) {
197 return rc;
198 } 219 }
220 goto cgiiu_exit;
199 } else { 221 } else {
200 struct cifsInodeInfo *cifsInfo; 222 struct cifsInodeInfo *cifsInfo;
201 __u64 num_of_bytes = le64_to_cpu(findData.NumOfBytes); 223 __u64 num_of_bytes = le64_to_cpu(findData.NumOfBytes);
@@ -204,8 +226,10 @@ int cifs_get_inode_info_unix(struct inode **pinode,
204 /* get new inode */ 226 /* get new inode */
205 if (*pinode == NULL) { 227 if (*pinode == NULL) {
206 *pinode = new_inode(sb); 228 *pinode = new_inode(sb);
207 if (*pinode == NULL) 229 if (*pinode == NULL) {
208 return -ENOMEM; 230 rc = -ENOMEM;
231 goto cgiiu_exit;
232 }
209 /* Is an i_ino of zero legal? */ 233 /* Is an i_ino of zero legal? */
210 /* Are there sanity checks we can use to ensure that 234 /* Are there sanity checks we can use to ensure that
211 the server is really filling in that field? */ 235 the server is really filling in that field? */
@@ -237,8 +261,11 @@ int cifs_get_inode_info_unix(struct inode **pinode,
237 (unsigned long) inode->i_size, 261 (unsigned long) inode->i_size,
238 (unsigned long long)inode->i_blocks)); 262 (unsigned long long)inode->i_blocks));
239 263
240 cifs_set_ops(inode); 264 cifs_set_ops(inode, is_dfs_referral);
241 } 265 }
266cgiiu_exit:
267 if (full_path != search_path)
268 kfree(full_path);
242 return rc; 269 return rc;
243} 270}
244 271
@@ -347,15 +374,16 @@ static int get_sfu_mode(struct inode *inode,
347 374
348int cifs_get_inode_info(struct inode **pinode, 375int cifs_get_inode_info(struct inode **pinode,
349 const unsigned char *search_path, FILE_ALL_INFO *pfindData, 376 const unsigned char *search_path, FILE_ALL_INFO *pfindData,
350 struct super_block *sb, int xid) 377 struct super_block *sb, int xid, const __u16 *pfid)
351{ 378{
352 int rc = 0; 379 int rc = 0;
353 struct cifsTconInfo *pTcon; 380 struct cifsTconInfo *pTcon;
354 struct inode *inode; 381 struct inode *inode;
355 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); 382 struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
356 char *tmp_path; 383 const unsigned char *full_path = NULL;
357 char *buf = NULL; 384 char *buf = NULL;
358 int adjustTZ = FALSE; 385 int adjustTZ = FALSE;
386 bool is_dfs_referral = false;
359 387
360 pTcon = cifs_sb->tcon; 388 pTcon = cifs_sb->tcon;
361 cFYI(1, ("Getting info on %s", search_path)); 389 cFYI(1, ("Getting info on %s", search_path));
@@ -373,8 +401,12 @@ int cifs_get_inode_info(struct inode **pinode,
373 if (buf == NULL) 401 if (buf == NULL)
374 return -ENOMEM; 402 return -ENOMEM;
375 pfindData = (FILE_ALL_INFO *)buf; 403 pfindData = (FILE_ALL_INFO *)buf;
404
405 full_path = cifs_get_search_path(pTcon, search_path);
406
407try_again_CIFSSMBQPathInfo:
376 /* could do find first instead but this returns more info */ 408 /* could do find first instead but this returns more info */
377 rc = CIFSSMBQPathInfo(xid, pTcon, search_path, pfindData, 409 rc = CIFSSMBQPathInfo(xid, pTcon, full_path, pfindData,
378 0 /* not legacy */, 410 0 /* not legacy */,
379 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & 411 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags &
380 CIFS_MOUNT_MAP_SPECIAL_CHR); 412 CIFS_MOUNT_MAP_SPECIAL_CHR);
@@ -382,7 +414,7 @@ int cifs_get_inode_info(struct inode **pinode,
382 when server claims no NT SMB support and the above call 414 when server claims no NT SMB support and the above call
383 failed at least once - set flag in tcon or mount */ 415 failed at least once - set flag in tcon or mount */
384 if ((rc == -EOPNOTSUPP) || (rc == -EINVAL)) { 416 if ((rc == -EOPNOTSUPP) || (rc == -EINVAL)) {
385 rc = SMBQueryInformation(xid, pTcon, search_path, 417 rc = SMBQueryInformation(xid, pTcon, full_path,
386 pfindData, cifs_sb->local_nls, 418 pfindData, cifs_sb->local_nls,
387 cifs_sb->mnt_cifs_flags & 419 cifs_sb->mnt_cifs_flags &
388 CIFS_MOUNT_MAP_SPECIAL_CHR); 420 CIFS_MOUNT_MAP_SPECIAL_CHR);
@@ -391,31 +423,15 @@ int cifs_get_inode_info(struct inode **pinode,
391 } 423 }
392 /* dump_mem("\nQPathInfo return data",&findData, sizeof(findData)); */ 424 /* dump_mem("\nQPathInfo return data",&findData, sizeof(findData)); */
393 if (rc) { 425 if (rc) {
394 if (rc == -EREMOTE) { 426 if (rc == -EREMOTE && !is_dfs_referral) {
395 tmp_path = 427 is_dfs_referral = true;
396 kmalloc(strnlen 428 if (full_path != search_path) {
397 (pTcon->treeName, 429 kfree(full_path);
398 MAX_TREE_SIZE + 1) + 430 full_path = search_path;
399 strnlen(search_path, MAX_PATHCONF) + 1,
400 GFP_KERNEL);
401 if (tmp_path == NULL) {
402 kfree(buf);
403 return -ENOMEM;
404 } 431 }
405 432 goto try_again_CIFSSMBQPathInfo;
406 strncpy(tmp_path, pTcon->treeName, MAX_TREE_SIZE);
407 strncat(tmp_path, search_path, MAX_PATHCONF);
408 rc = connect_to_dfs_path(xid, pTcon->ses,
409 /* treename + */ tmp_path,
410 cifs_sb->local_nls,
411 cifs_sb->mnt_cifs_flags &
412 CIFS_MOUNT_MAP_SPECIAL_CHR);
413 kfree(tmp_path);
414 /* BB fix up inode etc. */
415 } else if (rc) {
416 kfree(buf);
417 return rc;
418 } 433 }
434 goto cgii_exit;
419 } else { 435 } else {
420 struct cifsInodeInfo *cifsInfo; 436 struct cifsInodeInfo *cifsInfo;
421 __u32 attr = le32_to_cpu(pfindData->Attributes); 437 __u32 attr = le32_to_cpu(pfindData->Attributes);
@@ -424,8 +440,8 @@ int cifs_get_inode_info(struct inode **pinode,
424 if (*pinode == NULL) { 440 if (*pinode == NULL) {
425 *pinode = new_inode(sb); 441 *pinode = new_inode(sb);
426 if (*pinode == NULL) { 442 if (*pinode == NULL) {
427 kfree(buf); 443 rc = -ENOMEM;
428 return -ENOMEM; 444 goto cgii_exit;
429 } 445 }
430 /* Is an i_ino of zero legal? Can we use that to check 446 /* Is an i_ino of zero legal? Can we use that to check
431 if the server supports returning inode numbers? Are 447 if the server supports returning inode numbers? Are
@@ -559,7 +575,7 @@ int cifs_get_inode_info(struct inode **pinode,
559 /* fill in 0777 bits from ACL */ 575 /* fill in 0777 bits from ACL */
560 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) { 576 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) {
561 cFYI(1, ("Getting mode bits from ACL")); 577 cFYI(1, ("Getting mode bits from ACL"));
562 acl_to_uid_mode(inode, search_path); 578 acl_to_uid_mode(inode, search_path, pfid);
563 } 579 }
564#endif 580#endif
565 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) { 581 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) {
@@ -573,8 +589,11 @@ int cifs_get_inode_info(struct inode **pinode,
573 atomic_set(&cifsInfo->inUse, 1); 589 atomic_set(&cifsInfo->inUse, 1);
574 } 590 }
575 591
576 cifs_set_ops(inode); 592 cifs_set_ops(inode, is_dfs_referral);
577 } 593 }
594cgii_exit:
595 if (full_path != search_path)
596 kfree(full_path);
578 kfree(buf); 597 kfree(buf);
579 return rc; 598 return rc;
580} 599}
@@ -603,7 +622,8 @@ struct inode *cifs_iget(struct super_block *sb, unsigned long ino)
603 if (cifs_sb->tcon->unix_ext) 622 if (cifs_sb->tcon->unix_ext)
604 rc = cifs_get_inode_info_unix(&inode, "", inode->i_sb, xid); 623 rc = cifs_get_inode_info_unix(&inode, "", inode->i_sb, xid);
605 else 624 else
606 rc = cifs_get_inode_info(&inode, "", NULL, inode->i_sb, xid); 625 rc = cifs_get_inode_info(&inode, "", NULL, inode->i_sb, xid,
626 NULL);
607 if (rc && cifs_sb->tcon->ipc) { 627 if (rc && cifs_sb->tcon->ipc) {
608 cFYI(1, ("ipc connection - fake read inode")); 628 cFYI(1, ("ipc connection - fake read inode"));
609 inode->i_mode |= S_IFDIR; 629 inode->i_mode |= S_IFDIR;
@@ -804,7 +824,7 @@ static void posix_fill_in_inode(struct inode *tmp_inode,
804 local_size = tmp_inode->i_size; 824 local_size = tmp_inode->i_size;
805 825
806 cifs_unix_info_to_inode(tmp_inode, pData, 1); 826 cifs_unix_info_to_inode(tmp_inode, pData, 1);
807 cifs_set_ops(tmp_inode); 827 cifs_set_ops(tmp_inode, false);
808 828
809 if (!S_ISREG(tmp_inode->i_mode)) 829 if (!S_ISREG(tmp_inode->i_mode))
810 return; 830 return;
@@ -936,7 +956,7 @@ mkdir_get_info:
936 inode->i_sb, xid); 956 inode->i_sb, xid);
937 else 957 else
938 rc = cifs_get_inode_info(&newinode, full_path, NULL, 958 rc = cifs_get_inode_info(&newinode, full_path, NULL,
939 inode->i_sb, xid); 959 inode->i_sb, xid, NULL);
940 960
941 if (pTcon->nocase) 961 if (pTcon->nocase)
942 direntry->d_op = &cifs_ci_dentry_ops; 962 direntry->d_op = &cifs_ci_dentry_ops;
@@ -1218,7 +1238,7 @@ int cifs_revalidate(struct dentry *direntry)
1218 } 1238 }
1219 } else { 1239 } else {
1220 rc = cifs_get_inode_info(&direntry->d_inode, full_path, NULL, 1240 rc = cifs_get_inode_info(&direntry->d_inode, full_path, NULL,
1221 direntry->d_sb, xid); 1241 direntry->d_sb, xid, NULL);
1222 if (rc) { 1242 if (rc) {
1223 cFYI(1, ("error on getting revalidate info %d", rc)); 1243 cFYI(1, ("error on getting revalidate info %d", rc));
1224/* if (rc != -ENOENT) 1244/* if (rc != -ENOENT)
@@ -1407,11 +1427,10 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs)
1407 } 1427 }
1408 cifsInode = CIFS_I(direntry->d_inode); 1428 cifsInode = CIFS_I(direntry->d_inode);
1409 1429
1410 /* BB check if we need to refresh inode from server now ? BB */ 1430 if ((attrs->ia_valid & ATTR_MTIME) || (attrs->ia_valid & ATTR_SIZE)) {
1411
1412 if (attrs->ia_valid & ATTR_SIZE) {
1413 /* 1431 /*
1414 Flush data before changing file size on server. If the 1432 Flush data before changing file size or changing the last
1433 write time of the file on the server. If the
1415 flush returns error, store it to report later and continue. 1434 flush returns error, store it to report later and continue.
1416 BB: This should be smarter. Why bother flushing pages that 1435 BB: This should be smarter. Why bother flushing pages that
1417 will be truncated anyway? Also, should we error out here if 1436 will be truncated anyway? Also, should we error out here if
@@ -1422,7 +1441,9 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs)
1422 CIFS_I(direntry->d_inode)->write_behind_rc = rc; 1441 CIFS_I(direntry->d_inode)->write_behind_rc = rc;
1423 rc = 0; 1442 rc = 0;
1424 } 1443 }
1444 }
1425 1445
1446 if (attrs->ia_valid & ATTR_SIZE) {
1426 /* To avoid spurious oplock breaks from server, in the case of 1447 /* To avoid spurious oplock breaks from server, in the case of
1427 inodes that we already have open, avoid doing path based 1448 inodes that we already have open, avoid doing path based
1428 setting of file size if we can do it by handle. 1449 setting of file size if we can do it by handle.
diff --git a/fs/cifs/link.c b/fs/cifs/link.c
index 1d6fb01b8e6..d4e7ec93285 100644
--- a/fs/cifs/link.c
+++ b/fs/cifs/link.c
@@ -205,7 +205,7 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname)
205 inode->i_sb, xid); 205 inode->i_sb, xid);
206 else 206 else
207 rc = cifs_get_inode_info(&newinode, full_path, NULL, 207 rc = cifs_get_inode_info(&newinode, full_path, NULL,
208 inode->i_sb, xid); 208 inode->i_sb, xid, NULL);
209 209
210 if (rc != 0) { 210 if (rc != 0) {
211 cFYI(1, ("Create symlink ok, getinodeinfo fail rc = %d", 211 cFYI(1, ("Create symlink ok, getinodeinfo fail rc = %d",
diff --git a/fs/dquot.c b/fs/dquot.c
index 9c7feb62eed..41b9dbd68b0 100644
--- a/fs/dquot.c
+++ b/fs/dquot.c
@@ -1522,8 +1522,8 @@ int vfs_quota_off(struct super_block *sb, int type)
1522 truncate_inode_pages(&toputinode[cnt]->i_data, 0); 1522 truncate_inode_pages(&toputinode[cnt]->i_data, 0);
1523 mutex_unlock(&toputinode[cnt]->i_mutex); 1523 mutex_unlock(&toputinode[cnt]->i_mutex);
1524 mark_inode_dirty(toputinode[cnt]); 1524 mark_inode_dirty(toputinode[cnt]);
1525 iput(toputinode[cnt]);
1526 } 1525 }
1526 iput(toputinode[cnt]);
1527 mutex_unlock(&dqopt->dqonoff_mutex); 1527 mutex_unlock(&dqopt->dqonoff_mutex);
1528 } 1528 }
1529 if (sb->s_bdev) 1529 if (sb->s_bdev)
diff --git a/fs/ecryptfs/dentry.c b/fs/ecryptfs/dentry.c
index 841a032050a..5e596583946 100644
--- a/fs/ecryptfs/dentry.c
+++ b/fs/ecryptfs/dentry.c
@@ -80,8 +80,8 @@ static void ecryptfs_d_release(struct dentry *dentry)
80{ 80{
81 if (ecryptfs_dentry_to_private(dentry)) { 81 if (ecryptfs_dentry_to_private(dentry)) {
82 if (ecryptfs_dentry_to_lower(dentry)) { 82 if (ecryptfs_dentry_to_lower(dentry)) {
83 mntput(ecryptfs_dentry_to_lower_mnt(dentry));
84 dput(ecryptfs_dentry_to_lower(dentry)); 83 dput(ecryptfs_dentry_to_lower(dentry));
84 mntput(ecryptfs_dentry_to_lower_mnt(dentry));
85 } 85 }
86 kmem_cache_free(ecryptfs_dentry_info_cache, 86 kmem_cache_free(ecryptfs_dentry_info_cache,
87 ecryptfs_dentry_to_private(dentry)); 87 ecryptfs_dentry_to_private(dentry));
diff --git a/fs/efs/inode.c b/fs/efs/inode.c
index 79e19e5958e..a8e7797b947 100644
--- a/fs/efs/inode.c
+++ b/fs/efs/inode.c
@@ -140,7 +140,7 @@ struct inode *efs_iget(struct super_block *super, unsigned long ino)
140 brelse(bh); 140 brelse(bh);
141 141
142#ifdef DEBUG 142#ifdef DEBUG
143 printk(KERN_DEBUG "EFS: read_inode(): inode %lu, extents %d, mode %o\n", 143 printk(KERN_DEBUG "EFS: efs_iget(): inode %lu, extents %d, mode %o\n",
144 inode->i_ino, in->numextents, inode->i_mode); 144 inode->i_ino, in->numextents, inode->i_mode);
145#endif 145#endif
146 146
diff --git a/fs/ext3/acl.c b/fs/ext3/acl.c
index d34e9967430..a754d184817 100644
--- a/fs/ext3/acl.c
+++ b/fs/ext3/acl.c
@@ -37,7 +37,7 @@ ext3_acl_from_disk(const void *value, size_t size)
37 return ERR_PTR(-EINVAL); 37 return ERR_PTR(-EINVAL);
38 if (count == 0) 38 if (count == 0)
39 return NULL; 39 return NULL;
40 acl = posix_acl_alloc(count, GFP_KERNEL); 40 acl = posix_acl_alloc(count, GFP_NOFS);
41 if (!acl) 41 if (!acl)
42 return ERR_PTR(-ENOMEM); 42 return ERR_PTR(-ENOMEM);
43 for (n=0; n < count; n++) { 43 for (n=0; n < count; n++) {
@@ -91,7 +91,7 @@ ext3_acl_to_disk(const struct posix_acl *acl, size_t *size)
91 91
92 *size = ext3_acl_size(acl->a_count); 92 *size = ext3_acl_size(acl->a_count);
93 ext_acl = kmalloc(sizeof(ext3_acl_header) + acl->a_count * 93 ext_acl = kmalloc(sizeof(ext3_acl_header) + acl->a_count *
94 sizeof(ext3_acl_entry), GFP_KERNEL); 94 sizeof(ext3_acl_entry), GFP_NOFS);
95 if (!ext_acl) 95 if (!ext_acl)
96 return ERR_PTR(-ENOMEM); 96 return ERR_PTR(-ENOMEM);
97 ext_acl->a_version = cpu_to_le32(EXT3_ACL_VERSION); 97 ext_acl->a_version = cpu_to_le32(EXT3_ACL_VERSION);
@@ -187,7 +187,7 @@ ext3_get_acl(struct inode *inode, int type)
187 } 187 }
188 retval = ext3_xattr_get(inode, name_index, "", NULL, 0); 188 retval = ext3_xattr_get(inode, name_index, "", NULL, 0);
189 if (retval > 0) { 189 if (retval > 0) {
190 value = kmalloc(retval, GFP_KERNEL); 190 value = kmalloc(retval, GFP_NOFS);
191 if (!value) 191 if (!value)
192 return ERR_PTR(-ENOMEM); 192 return ERR_PTR(-ENOMEM);
193 retval = ext3_xattr_get(inode, name_index, "", value, retval); 193 retval = ext3_xattr_get(inode, name_index, "", value, retval);
@@ -335,7 +335,7 @@ ext3_init_acl(handle_t *handle, struct inode *inode, struct inode *dir)
335 if (error) 335 if (error)
336 goto cleanup; 336 goto cleanup;
337 } 337 }
338 clone = posix_acl_clone(acl, GFP_KERNEL); 338 clone = posix_acl_clone(acl, GFP_NOFS);
339 error = -ENOMEM; 339 error = -ENOMEM;
340 if (!clone) 340 if (!clone)
341 goto cleanup; 341 goto cleanup;
diff --git a/fs/ext3/resize.c b/fs/ext3/resize.c
index 9397d779c43..0e97b6e07cb 100644
--- a/fs/ext3/resize.c
+++ b/fs/ext3/resize.c
@@ -485,7 +485,7 @@ static int add_new_gdb(handle_t *handle, struct inode *inode,
485 goto exit_dindj; 485 goto exit_dindj;
486 486
487 n_group_desc = kmalloc((gdb_num + 1) * sizeof(struct buffer_head *), 487 n_group_desc = kmalloc((gdb_num + 1) * sizeof(struct buffer_head *),
488 GFP_KERNEL); 488 GFP_NOFS);
489 if (!n_group_desc) { 489 if (!n_group_desc) {
490 err = -ENOMEM; 490 err = -ENOMEM;
491 ext3_warning (sb, __FUNCTION__, 491 ext3_warning (sb, __FUNCTION__,
@@ -568,7 +568,7 @@ static int reserve_backup_gdb(handle_t *handle, struct inode *inode,
568 int res, i; 568 int res, i;
569 int err; 569 int err;
570 570
571 primary = kmalloc(reserved_gdb * sizeof(*primary), GFP_KERNEL); 571 primary = kmalloc(reserved_gdb * sizeof(*primary), GFP_NOFS);
572 if (!primary) 572 if (!primary)
573 return -ENOMEM; 573 return -ENOMEM;
574 574
diff --git a/fs/ext3/xattr.c b/fs/ext3/xattr.c
index fb89c299bec..a6ea4d6a8bb 100644
--- a/fs/ext3/xattr.c
+++ b/fs/ext3/xattr.c
@@ -728,7 +728,7 @@ ext3_xattr_block_set(handle_t *handle, struct inode *inode,
728 ce = NULL; 728 ce = NULL;
729 } 729 }
730 ea_bdebug(bs->bh, "cloning"); 730 ea_bdebug(bs->bh, "cloning");
731 s->base = kmalloc(bs->bh->b_size, GFP_KERNEL); 731 s->base = kmalloc(bs->bh->b_size, GFP_NOFS);
732 error = -ENOMEM; 732 error = -ENOMEM;
733 if (s->base == NULL) 733 if (s->base == NULL)
734 goto cleanup; 734 goto cleanup;
@@ -740,7 +740,7 @@ ext3_xattr_block_set(handle_t *handle, struct inode *inode,
740 } 740 }
741 } else { 741 } else {
742 /* Allocate a buffer where we construct the new block. */ 742 /* Allocate a buffer where we construct the new block. */
743 s->base = kzalloc(sb->s_blocksize, GFP_KERNEL); 743 s->base = kzalloc(sb->s_blocksize, GFP_NOFS);
744 /* assert(header == s->base) */ 744 /* assert(header == s->base) */
745 error = -ENOMEM; 745 error = -ENOMEM;
746 if (s->base == NULL) 746 if (s->base == NULL)
diff --git a/fs/file_table.c b/fs/file_table.c
index 6d27befe2d4..986ff4ed0a7 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -83,6 +83,12 @@ int proc_nr_files(ctl_table *table, int write, struct file *filp,
83/* Find an unused file structure and return a pointer to it. 83/* Find an unused file structure and return a pointer to it.
84 * Returns NULL, if there are no more free file structures or 84 * Returns NULL, if there are no more free file structures or
85 * we run out of memory. 85 * we run out of memory.
86 *
87 * Be very careful using this. You are responsible for
88 * getting write access to any mount that you might assign
89 * to this filp, if it is opened for write. If this is not
90 * done, you will imbalance int the mount's writer count
91 * and a warning at __fput() time.
86 */ 92 */
87struct file *get_empty_filp(void) 93struct file *get_empty_filp(void)
88{ 94{
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index c0076077d33..06557679ca4 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -751,7 +751,7 @@ int generic_osync_inode(struct inode *inode, struct address_space *mapping, int
751EXPORT_SYMBOL(generic_osync_inode); 751EXPORT_SYMBOL(generic_osync_inode);
752 752
753/** 753/**
754 * writeback_acquire: attempt to get exclusive writeback access to a device 754 * writeback_acquire - attempt to get exclusive writeback access to a device
755 * @bdi: the device's backing_dev_info structure 755 * @bdi: the device's backing_dev_info structure
756 * 756 *
757 * It is a waste of resources to have more than one pdflush thread blocked on 757 * It is a waste of resources to have more than one pdflush thread blocked on
@@ -768,7 +768,7 @@ int writeback_acquire(struct backing_dev_info *bdi)
768} 768}
769 769
770/** 770/**
771 * writeback_in_progress: determine whether there is writeback in progress 771 * writeback_in_progress - determine whether there is writeback in progress
772 * @bdi: the device's backing_dev_info structure. 772 * @bdi: the device's backing_dev_info structure.
773 * 773 *
774 * Determine whether there is writeback in progress against a backing device. 774 * Determine whether there is writeback in progress against a backing device.
@@ -779,7 +779,7 @@ int writeback_in_progress(struct backing_dev_info *bdi)
779} 779}
780 780
781/** 781/**
782 * writeback_release: relinquish exclusive writeback access against a device. 782 * writeback_release - relinquish exclusive writeback access against a device.
783 * @bdi: the device's backing_dev_info structure 783 * @bdi: the device's backing_dev_info structure
784 */ 784 */
785void writeback_release(struct backing_dev_info *bdi) 785void writeback_release(struct backing_dev_info *bdi)
diff --git a/fs/hppfs/hppfs_kern.c b/fs/hppfs/hppfs_kern.c
index a1e1f0f61aa..8601d8ef3b5 100644
--- a/fs/hppfs/hppfs_kern.c
+++ b/fs/hppfs/hppfs_kern.c
@@ -1,23 +1,24 @@
1/* 1/*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
5 5
6#include <linux/fs.h> 6#include <linux/ctype.h>
7#include <linux/dcache.h>
7#include <linux/file.h> 8#include <linux/file.h>
8#include <linux/module.h> 9#include <linux/fs.h>
9#include <linux/init.h> 10#include <linux/init.h>
10#include <linux/slab.h>
11#include <linux/list.h>
12#include <linux/kernel.h> 11#include <linux/kernel.h>
13#include <linux/ctype.h> 12#include <linux/list.h>
14#include <linux/dcache.h> 13#include <linux/module.h>
14#include <linux/mount.h>
15#include <linux/slab.h>
15#include <linux/statfs.h> 16#include <linux/statfs.h>
17#include <linux/types.h>
16#include <asm/uaccess.h> 18#include <asm/uaccess.h>
17#include <asm/fcntl.h>
18#include "os.h" 19#include "os.h"
19 20
20static int init_inode(struct inode *inode, struct dentry *dentry); 21static struct inode *get_inode(struct super_block *, struct dentry *);
21 22
22struct hppfs_data { 23struct hppfs_data {
23 struct list_head list; 24 struct list_head list;
@@ -51,14 +52,14 @@ static int is_pid(struct dentry *dentry)
51 int i; 52 int i;
52 53
53 sb = dentry->d_sb; 54 sb = dentry->d_sb;
54 if((sb->s_op != &hppfs_sbops) || (dentry->d_parent != sb->s_root)) 55 if ((sb->s_op != &hppfs_sbops) || (dentry->d_parent != sb->s_root))
55 return(0); 56 return 0;
56 57
57 for(i = 0; i < dentry->d_name.len; i++){ 58 for (i = 0; i < dentry->d_name.len; i++) {
58 if(!isdigit(dentry->d_name.name[i])) 59 if (!isdigit(dentry->d_name.name[i]))
59 return(0); 60 return 0;
60 } 61 }
61 return(1); 62 return 1;
62} 63}
63 64
64static char *dentry_name(struct dentry *dentry, int extra) 65static char *dentry_name(struct dentry *dentry, int extra)
@@ -70,8 +71,8 @@ static char *dentry_name(struct dentry *dentry, int extra)
70 71
71 len = 0; 72 len = 0;
72 parent = dentry; 73 parent = dentry;
73 while(parent->d_parent != parent){ 74 while (parent->d_parent != parent) {
74 if(is_pid(parent)) 75 if (is_pid(parent))
75 len += strlen("pid") + 1; 76 len += strlen("pid") + 1;
76 else len += parent->d_name.len + 1; 77 else len += parent->d_name.len + 1;
77 parent = parent->d_parent; 78 parent = parent->d_parent;
@@ -80,12 +81,13 @@ static char *dentry_name(struct dentry *dentry, int extra)
80 root = "proc"; 81 root = "proc";
81 len += strlen(root); 82 len += strlen(root);
82 name = kmalloc(len + extra + 1, GFP_KERNEL); 83 name = kmalloc(len + extra + 1, GFP_KERNEL);
83 if(name == NULL) return(NULL); 84 if (name == NULL)
85 return NULL;
84 86
85 name[len] = '\0'; 87 name[len] = '\0';
86 parent = dentry; 88 parent = dentry;
87 while(parent->d_parent != parent){ 89 while (parent->d_parent != parent) {
88 if(is_pid(parent)){ 90 if (is_pid(parent)) {
89 seg_name = "pid"; 91 seg_name = "pid";
90 seg_len = strlen("pid"); 92 seg_len = strlen("pid");
91 } 93 }
@@ -100,27 +102,25 @@ static char *dentry_name(struct dentry *dentry, int extra)
100 parent = parent->d_parent; 102 parent = parent->d_parent;
101 } 103 }
102 strncpy(name, root, strlen(root)); 104 strncpy(name, root, strlen(root));
103 return(name); 105 return name;
104} 106}
105 107
106struct dentry_operations hppfs_dentry_ops = {
107};
108
109static int file_removed(struct dentry *dentry, const char *file) 108static int file_removed(struct dentry *dentry, const char *file)
110{ 109{
111 char *host_file; 110 char *host_file;
112 int extra, fd; 111 int extra, fd;
113 112
114 extra = 0; 113 extra = 0;
115 if(file != NULL) extra += strlen(file) + 1; 114 if (file != NULL)
115 extra += strlen(file) + 1;
116 116
117 host_file = dentry_name(dentry, extra + strlen("/remove")); 117 host_file = dentry_name(dentry, extra + strlen("/remove"));
118 if(host_file == NULL){ 118 if (host_file == NULL) {
119 printk("file_removed : allocation failed\n"); 119 printk(KERN_ERR "file_removed : allocation failed\n");
120 return(-ENOMEM); 120 return -ENOMEM;
121 } 121 }
122 122
123 if(file != NULL){ 123 if (file != NULL) {
124 strcat(host_file, "/"); 124 strcat(host_file, "/");
125 strcat(host_file, file); 125 strcat(host_file, file);
126 } 126 }
@@ -128,45 +128,11 @@ static int file_removed(struct dentry *dentry, const char *file)
128 128
129 fd = os_open_file(host_file, of_read(OPENFLAGS()), 0); 129 fd = os_open_file(host_file, of_read(OPENFLAGS()), 0);
130 kfree(host_file); 130 kfree(host_file);
131 if(fd > 0){ 131 if (fd > 0) {
132 os_close_file(fd); 132 os_close_file(fd);
133 return(1); 133 return 1;
134 }
135 return(0);
136}
137
138static void hppfs_read_inode(struct inode *ino)
139{
140 struct inode *proc_ino;
141
142 if(HPPFS_I(ino)->proc_dentry == NULL)
143 return;
144
145 proc_ino = HPPFS_I(ino)->proc_dentry->d_inode;
146 ino->i_uid = proc_ino->i_uid;
147 ino->i_gid = proc_ino->i_gid;
148 ino->i_atime = proc_ino->i_atime;
149 ino->i_mtime = proc_ino->i_mtime;
150 ino->i_ctime = proc_ino->i_ctime;
151 ino->i_ino = proc_ino->i_ino;
152 ino->i_mode = proc_ino->i_mode;
153 ino->i_nlink = proc_ino->i_nlink;
154 ino->i_size = proc_ino->i_size;
155 ino->i_blocks = proc_ino->i_blocks;
156}
157
158static struct inode *hppfs_iget(struct super_block *sb)
159{
160 struct inode *inode;
161
162 inode = iget_locked(sb, 0);
163 if (!inode)
164 return ERR_PTR(-ENOMEM);
165 if (inode->i_state & I_NEW) {
166 hppfs_read_inode(inode);
167 unlock_new_inode(inode);
168 } 134 }
169 return inode; 135 return 0;
170} 136}
171 137
172static struct dentry *hppfs_lookup(struct inode *ino, struct dentry *dentry, 138static struct dentry *hppfs_lookup(struct inode *ino, struct dentry *dentry,
@@ -177,55 +143,45 @@ static struct dentry *hppfs_lookup(struct inode *ino, struct dentry *dentry,
177 int err, deleted; 143 int err, deleted;
178 144
179 deleted = file_removed(dentry, NULL); 145 deleted = file_removed(dentry, NULL);
180 if(deleted < 0) 146 if (deleted < 0)
181 return(ERR_PTR(deleted)); 147 return ERR_PTR(deleted);
182 else if(deleted) 148 else if (deleted)
183 return(ERR_PTR(-ENOENT)); 149 return ERR_PTR(-ENOENT);
184 150
185 err = -ENOMEM; 151 err = -ENOMEM;
186 parent = HPPFS_I(ino)->proc_dentry; 152 parent = HPPFS_I(ino)->proc_dentry;
187 mutex_lock(&parent->d_inode->i_mutex); 153 mutex_lock(&parent->d_inode->i_mutex);
188 proc_dentry = d_lookup(parent, &dentry->d_name); 154 proc_dentry = d_lookup(parent, &dentry->d_name);
189 if(proc_dentry == NULL){ 155 if (proc_dentry == NULL) {
190 proc_dentry = d_alloc(parent, &dentry->d_name); 156 proc_dentry = d_alloc(parent, &dentry->d_name);
191 if(proc_dentry == NULL){ 157 if (proc_dentry == NULL) {
192 mutex_unlock(&parent->d_inode->i_mutex); 158 mutex_unlock(&parent->d_inode->i_mutex);
193 goto out; 159 goto out;
194 } 160 }
195 new = (*parent->d_inode->i_op->lookup)(parent->d_inode, 161 new = (*parent->d_inode->i_op->lookup)(parent->d_inode,
196 proc_dentry, NULL); 162 proc_dentry, NULL);
197 if(new){ 163 if (new) {
198 dput(proc_dentry); 164 dput(proc_dentry);
199 proc_dentry = new; 165 proc_dentry = new;
200 } 166 }
201 } 167 }
202 mutex_unlock(&parent->d_inode->i_mutex); 168 mutex_unlock(&parent->d_inode->i_mutex);
203 169
204 if(IS_ERR(proc_dentry)) 170 if (IS_ERR(proc_dentry))
205 return(proc_dentry); 171 return proc_dentry;
206 172
207 inode = hppfs_iget(ino->i_sb); 173 err = -ENOMEM;
208 if (IS_ERR(inode)) { 174 inode = get_inode(ino->i_sb, proc_dentry);
209 err = PTR_ERR(inode); 175 if (!inode)
210 goto out_dput; 176 goto out_dput;
211 }
212
213 err = init_inode(inode, proc_dentry);
214 if(err)
215 goto out_put;
216
217 hppfs_read_inode(inode);
218 177
219 d_add(dentry, inode); 178 d_add(dentry, inode);
220 dentry->d_op = &hppfs_dentry_ops; 179 return NULL;
221 return(NULL);
222 180
223 out_put:
224 iput(inode);
225 out_dput: 181 out_dput:
226 dput(proc_dentry); 182 dput(proc_dentry);
227 out: 183 out:
228 return(ERR_PTR(err)); 184 return ERR_PTR(err);
229} 185}
230 186
231static const struct inode_operations hppfs_file_iops = { 187static const struct inode_operations hppfs_file_iops = {
@@ -239,15 +195,16 @@ static ssize_t read_proc(struct file *file, char __user *buf, ssize_t count,
239 195
240 read = file->f_path.dentry->d_inode->i_fop->read; 196 read = file->f_path.dentry->d_inode->i_fop->read;
241 197
242 if(!is_user) 198 if (!is_user)
243 set_fs(KERNEL_DS); 199 set_fs(KERNEL_DS);
244 200
245 n = (*read)(file, buf, count, &file->f_pos); 201 n = (*read)(file, buf, count, &file->f_pos);
246 202
247 if(!is_user) 203 if (!is_user)
248 set_fs(USER_DS); 204 set_fs(USER_DS);
249 205
250 if(ppos) *ppos = file->f_pos; 206 if (ppos)
207 *ppos = file->f_pos;
251 return n; 208 return n;
252} 209}
253 210
@@ -259,24 +216,23 @@ static ssize_t hppfs_read_file(int fd, char __user *buf, ssize_t count)
259 216
260 n = -ENOMEM; 217 n = -ENOMEM;
261 new_buf = kmalloc(PAGE_SIZE, GFP_KERNEL); 218 new_buf = kmalloc(PAGE_SIZE, GFP_KERNEL);
262 if(new_buf == NULL){ 219 if (new_buf == NULL) {
263 printk("hppfs_read_file : kmalloc failed\n"); 220 printk(KERN_ERR "hppfs_read_file : kmalloc failed\n");
264 goto out; 221 goto out;
265 } 222 }
266 n = 0; 223 n = 0;
267 while(count > 0){ 224 while (count > 0) {
268 cur = min_t(ssize_t, count, PAGE_SIZE); 225 cur = min_t(ssize_t, count, PAGE_SIZE);
269 err = os_read_file(fd, new_buf, cur); 226 err = os_read_file(fd, new_buf, cur);
270 if(err < 0){ 227 if (err < 0) {
271 printk("hppfs_read : read failed, errno = %d\n", 228 printk(KERN_ERR "hppfs_read : read failed, "
272 err); 229 "errno = %d\n", err);
273 n = err; 230 n = err;
274 goto out_free; 231 goto out_free;
275 } 232 } else if (err == 0)
276 else if(err == 0)
277 break; 233 break;
278 234
279 if(copy_to_user(buf, new_buf, err)){ 235 if (copy_to_user(buf, new_buf, err)) {
280 n = -EFAULT; 236 n = -EFAULT;
281 goto out_free; 237 goto out_free;
282 } 238 }
@@ -297,35 +253,36 @@ static ssize_t hppfs_read(struct file *file, char __user *buf, size_t count,
297 loff_t off; 253 loff_t off;
298 int err; 254 int err;
299 255
300 if(hppfs->contents != NULL){ 256 if (hppfs->contents != NULL) {
301 if(*ppos >= hppfs->len) return(0); 257 if (*ppos >= hppfs->len)
258 return 0;
302 259
303 data = hppfs->contents; 260 data = hppfs->contents;
304 off = *ppos; 261 off = *ppos;
305 while(off >= sizeof(data->contents)){ 262 while (off >= sizeof(data->contents)) {
306 data = list_entry(data->list.next, struct hppfs_data, 263 data = list_entry(data->list.next, struct hppfs_data,
307 list); 264 list);
308 off -= sizeof(data->contents); 265 off -= sizeof(data->contents);
309 } 266 }
310 267
311 if(off + count > hppfs->len) 268 if (off + count > hppfs->len)
312 count = hppfs->len - off; 269 count = hppfs->len - off;
313 copy_to_user(buf, &data->contents[off], count); 270 copy_to_user(buf, &data->contents[off], count);
314 *ppos += count; 271 *ppos += count;
315 } 272 } else if (hppfs->host_fd != -1) {
316 else if(hppfs->host_fd != -1){
317 err = os_seek_file(hppfs->host_fd, *ppos); 273 err = os_seek_file(hppfs->host_fd, *ppos);
318 if(err){ 274 if (err) {
319 printk("hppfs_read : seek failed, errno = %d\n", err); 275 printk(KERN_ERR "hppfs_read : seek failed, "
320 return(err); 276 "errno = %d\n", err);
277 return err;
321 } 278 }
322 count = hppfs_read_file(hppfs->host_fd, buf, count); 279 count = hppfs_read_file(hppfs->host_fd, buf, count);
323 if(count > 0) 280 if (count > 0)
324 *ppos += count; 281 *ppos += count;
325 } 282 }
326 else count = read_proc(hppfs->proc_file, buf, count, ppos, 1); 283 else count = read_proc(hppfs->proc_file, buf, count, ppos, 1);
327 284
328 return(count); 285 return count;
329} 286}
330 287
331static ssize_t hppfs_write(struct file *file, const char __user *buf, size_t len, 288static ssize_t hppfs_write(struct file *file, const char __user *buf, size_t len,
@@ -342,7 +299,7 @@ static ssize_t hppfs_write(struct file *file, const char __user *buf, size_t len
342 err = (*write)(proc_file, buf, len, &proc_file->f_pos); 299 err = (*write)(proc_file, buf, len, &proc_file->f_pos);
343 file->f_pos = proc_file->f_pos; 300 file->f_pos = proc_file->f_pos;
344 301
345 return(err); 302 return err;
346} 303}
347 304
348static int open_host_sock(char *host_file, int *filter_out) 305static int open_host_sock(char *host_file, int *filter_out)
@@ -354,13 +311,13 @@ static int open_host_sock(char *host_file, int *filter_out)
354 strcpy(end, "/rw"); 311 strcpy(end, "/rw");
355 *filter_out = 1; 312 *filter_out = 1;
356 fd = os_connect_socket(host_file); 313 fd = os_connect_socket(host_file);
357 if(fd > 0) 314 if (fd > 0)
358 return(fd); 315 return fd;
359 316
360 strcpy(end, "/r"); 317 strcpy(end, "/r");
361 *filter_out = 0; 318 *filter_out = 0;
362 fd = os_connect_socket(host_file); 319 fd = os_connect_socket(host_file);
363 return(fd); 320 return fd;
364} 321}
365 322
366static void free_contents(struct hppfs_data *head) 323static void free_contents(struct hppfs_data *head)
@@ -368,9 +325,10 @@ static void free_contents(struct hppfs_data *head)
368 struct hppfs_data *data; 325 struct hppfs_data *data;
369 struct list_head *ele, *next; 326 struct list_head *ele, *next;
370 327
371 if(head == NULL) return; 328 if (head == NULL)
329 return;
372 330
373 list_for_each_safe(ele, next, &head->list){ 331 list_for_each_safe(ele, next, &head->list) {
374 data = list_entry(ele, struct hppfs_data, list); 332 data = list_entry(ele, struct hppfs_data, list);
375 kfree(data); 333 kfree(data);
376 } 334 }
@@ -387,8 +345,8 @@ static struct hppfs_data *hppfs_get_data(int fd, int filter,
387 345
388 err = -ENOMEM; 346 err = -ENOMEM;
389 data = kmalloc(sizeof(*data), GFP_KERNEL); 347 data = kmalloc(sizeof(*data), GFP_KERNEL);
390 if(data == NULL){ 348 if (data == NULL) {
391 printk("hppfs_get_data : head allocation failed\n"); 349 printk(KERN_ERR "hppfs_get_data : head allocation failed\n");
392 goto failed; 350 goto failed;
393 } 351 }
394 352
@@ -397,36 +355,36 @@ static struct hppfs_data *hppfs_get_data(int fd, int filter,
397 head = data; 355 head = data;
398 *size_out = 0; 356 *size_out = 0;
399 357
400 if(filter){ 358 if (filter) {
401 while((n = read_proc(proc_file, data->contents, 359 while ((n = read_proc(proc_file, data->contents,
402 sizeof(data->contents), NULL, 0)) > 0) 360 sizeof(data->contents), NULL, 0)) > 0)
403 os_write_file(fd, data->contents, n); 361 os_write_file(fd, data->contents, n);
404 err = os_shutdown_socket(fd, 0, 1); 362 err = os_shutdown_socket(fd, 0, 1);
405 if(err){ 363 if (err) {
406 printk("hppfs_get_data : failed to shut down " 364 printk(KERN_ERR "hppfs_get_data : failed to shut down "
407 "socket\n"); 365 "socket\n");
408 goto failed_free; 366 goto failed_free;
409 } 367 }
410 } 368 }
411 while(1){ 369 while (1) {
412 n = os_read_file(fd, data->contents, sizeof(data->contents)); 370 n = os_read_file(fd, data->contents, sizeof(data->contents));
413 if(n < 0){ 371 if (n < 0) {
414 err = n; 372 err = n;
415 printk("hppfs_get_data : read failed, errno = %d\n", 373 printk(KERN_ERR "hppfs_get_data : read failed, "
416 err); 374 "errno = %d\n", err);
417 goto failed_free; 375 goto failed_free;
418 } 376 } else if (n == 0)
419 else if(n == 0)
420 break; 377 break;
421 378
422 *size_out += n; 379 *size_out += n;
423 380
424 if(n < sizeof(data->contents)) 381 if (n < sizeof(data->contents))
425 break; 382 break;
426 383
427 new = kmalloc(sizeof(*data), GFP_KERNEL); 384 new = kmalloc(sizeof(*data), GFP_KERNEL);
428 if(new == 0){ 385 if (new == 0) {
429 printk("hppfs_get_data : data allocation failed\n"); 386 printk(KERN_ERR "hppfs_get_data : data allocation "
387 "failed\n");
430 err = -ENOMEM; 388 err = -ENOMEM;
431 goto failed_free; 389 goto failed_free;
432 } 390 }
@@ -435,12 +393,12 @@ static struct hppfs_data *hppfs_get_data(int fd, int filter,
435 list_add(&new->list, &data->list); 393 list_add(&new->list, &data->list);
436 data = new; 394 data = new;
437 } 395 }
438 return(head); 396 return head;
439 397
440 failed_free: 398 failed_free:
441 free_contents(head); 399 free_contents(head);
442 failed: 400 failed:
443 return(ERR_PTR(err)); 401 return ERR_PTR(err);
444} 402}
445 403
446static struct hppfs_private *hppfs_data(void) 404static struct hppfs_private *hppfs_data(void)
@@ -448,77 +406,79 @@ static struct hppfs_private *hppfs_data(void)
448 struct hppfs_private *data; 406 struct hppfs_private *data;
449 407
450 data = kmalloc(sizeof(*data), GFP_KERNEL); 408 data = kmalloc(sizeof(*data), GFP_KERNEL);
451 if(data == NULL) 409 if (data == NULL)
452 return(data); 410 return data;
453 411
454 *data = ((struct hppfs_private ) { .host_fd = -1, 412 *data = ((struct hppfs_private ) { .host_fd = -1,
455 .len = -1, 413 .len = -1,
456 .contents = NULL } ); 414 .contents = NULL } );
457 return(data); 415 return data;
458} 416}
459 417
460static int file_mode(int fmode) 418static int file_mode(int fmode)
461{ 419{
462 if(fmode == (FMODE_READ | FMODE_WRITE)) 420 if (fmode == (FMODE_READ | FMODE_WRITE))
463 return(O_RDWR); 421 return O_RDWR;
464 if(fmode == FMODE_READ) 422 if (fmode == FMODE_READ)
465 return(O_RDONLY); 423 return O_RDONLY;
466 if(fmode == FMODE_WRITE) 424 if (fmode == FMODE_WRITE)
467 return(O_WRONLY); 425 return O_WRONLY;
468 return(0); 426 return 0;
469} 427}
470 428
471static int hppfs_open(struct inode *inode, struct file *file) 429static int hppfs_open(struct inode *inode, struct file *file)
472{ 430{
473 struct hppfs_private *data; 431 struct hppfs_private *data;
474 struct dentry *proc_dentry; 432 struct dentry *proc_dentry;
433 struct vfsmount *proc_mnt;
475 char *host_file; 434 char *host_file;
476 int err, fd, type, filter; 435 int err, fd, type, filter;
477 436
478 err = -ENOMEM; 437 err = -ENOMEM;
479 data = hppfs_data(); 438 data = hppfs_data();
480 if(data == NULL) 439 if (data == NULL)
481 goto out; 440 goto out;
482 441
483 host_file = dentry_name(file->f_path.dentry, strlen("/rw")); 442 host_file = dentry_name(file->f_path.dentry, strlen("/rw"));
484 if(host_file == NULL) 443 if (host_file == NULL)
485 goto out_free2; 444 goto out_free2;
486 445
487 proc_dentry = HPPFS_I(inode)->proc_dentry; 446 proc_dentry = HPPFS_I(inode)->proc_dentry;
447 proc_mnt = inode->i_sb->s_fs_info;
488 448
489 /* XXX This isn't closed anywhere */ 449 /* XXX This isn't closed anywhere */
490 data->proc_file = dentry_open(dget(proc_dentry), NULL, 450 data->proc_file = dentry_open(dget(proc_dentry), mntget(proc_mnt),
491 file_mode(file->f_mode)); 451 file_mode(file->f_mode));
492 err = PTR_ERR(data->proc_file); 452 err = PTR_ERR(data->proc_file);
493 if(IS_ERR(data->proc_file)) 453 if (IS_ERR(data->proc_file))
494 goto out_free1; 454 goto out_free1;
495 455
496 type = os_file_type(host_file); 456 type = os_file_type(host_file);
497 if(type == OS_TYPE_FILE){ 457 if (type == OS_TYPE_FILE) {
498 fd = os_open_file(host_file, of_read(OPENFLAGS()), 0); 458 fd = os_open_file(host_file, of_read(OPENFLAGS()), 0);
499 if(fd >= 0) 459 if (fd >= 0)
500 data->host_fd = fd; 460 data->host_fd = fd;
501 else printk("hppfs_open : failed to open '%s', errno = %d\n", 461 else
502 host_file, -fd); 462 printk(KERN_ERR "hppfs_open : failed to open '%s', "
463 "errno = %d\n", host_file, -fd);
503 464
504 data->contents = NULL; 465 data->contents = NULL;
505 } 466 } else if (type == OS_TYPE_DIR) {
506 else if(type == OS_TYPE_DIR){
507 fd = open_host_sock(host_file, &filter); 467 fd = open_host_sock(host_file, &filter);
508 if(fd > 0){ 468 if (fd > 0) {
509 data->contents = hppfs_get_data(fd, filter, 469 data->contents = hppfs_get_data(fd, filter,
510 data->proc_file, 470 data->proc_file,
511 file, &data->len); 471 file, &data->len);
512 if(!IS_ERR(data->contents)) 472 if (!IS_ERR(data->contents))
513 data->host_fd = fd; 473 data->host_fd = fd;
514 } 474 } else
515 else printk("hppfs_open : failed to open a socket in " 475 printk(KERN_ERR "hppfs_open : failed to open a socket "
516 "'%s', errno = %d\n", host_file, -fd); 476 "in '%s', errno = %d\n", host_file, -fd);
517 } 477 }
518 kfree(host_file); 478 kfree(host_file);
519 479
520 file->private_data = data; 480 file->private_data = data;
521 return(0); 481 return 0;
522 482
523 out_free1: 483 out_free1:
524 kfree(host_file); 484 kfree(host_file);
@@ -526,34 +486,36 @@ static int hppfs_open(struct inode *inode, struct file *file)
526 free_contents(data->contents); 486 free_contents(data->contents);
527 kfree(data); 487 kfree(data);
528 out: 488 out:
529 return(err); 489 return err;
530} 490}
531 491
532static int hppfs_dir_open(struct inode *inode, struct file *file) 492static int hppfs_dir_open(struct inode *inode, struct file *file)
533{ 493{
534 struct hppfs_private *data; 494 struct hppfs_private *data;
535 struct dentry *proc_dentry; 495 struct dentry *proc_dentry;
496 struct vfsmount *proc_mnt;
536 int err; 497 int err;
537 498
538 err = -ENOMEM; 499 err = -ENOMEM;
539 data = hppfs_data(); 500 data = hppfs_data();
540 if(data == NULL) 501 if (data == NULL)
541 goto out; 502 goto out;
542 503
543 proc_dentry = HPPFS_I(inode)->proc_dentry; 504 proc_dentry = HPPFS_I(inode)->proc_dentry;
544 data->proc_file = dentry_open(dget(proc_dentry), NULL, 505 proc_mnt = inode->i_sb->s_fs_info;
506 data->proc_file = dentry_open(dget(proc_dentry), mntget(proc_mnt),
545 file_mode(file->f_mode)); 507 file_mode(file->f_mode));
546 err = PTR_ERR(data->proc_file); 508 err = PTR_ERR(data->proc_file);
547 if(IS_ERR(data->proc_file)) 509 if (IS_ERR(data->proc_file))
548 goto out_free; 510 goto out_free;
549 511
550 file->private_data = data; 512 file->private_data = data;
551 return(0); 513 return 0;
552 514
553 out_free: 515 out_free:
554 kfree(data); 516 kfree(data);
555 out: 517 out:
556 return(err); 518 return err;
557} 519}
558 520
559static loff_t hppfs_llseek(struct file *file, loff_t off, int where) 521static loff_t hppfs_llseek(struct file *file, loff_t off, int where)
@@ -564,13 +526,13 @@ static loff_t hppfs_llseek(struct file *file, loff_t off, int where)
564 loff_t ret; 526 loff_t ret;
565 527
566 llseek = proc_file->f_path.dentry->d_inode->i_fop->llseek; 528 llseek = proc_file->f_path.dentry->d_inode->i_fop->llseek;
567 if(llseek != NULL){ 529 if (llseek != NULL) {
568 ret = (*llseek)(proc_file, off, where); 530 ret = (*llseek)(proc_file, off, where);
569 if(ret < 0) 531 if (ret < 0)
570 return(ret); 532 return ret;
571 } 533 }
572 534
573 return(default_llseek(file, off, where)); 535 return default_llseek(file, off, where);
574} 536}
575 537
576static const struct file_operations hppfs_file_fops = { 538static const struct file_operations hppfs_file_fops = {
@@ -592,11 +554,11 @@ static int hppfs_filldir(void *d, const char *name, int size,
592{ 554{
593 struct hppfs_dirent *dirent = d; 555 struct hppfs_dirent *dirent = d;
594 556
595 if(file_removed(dirent->dentry, name)) 557 if (file_removed(dirent->dentry, name))
596 return(0); 558 return 0;
597 559
598 return((*dirent->filldir)(dirent->vfs_dirent, name, size, offset, 560 return (*dirent->filldir)(dirent->vfs_dirent, name, size, offset,
599 inode, type)); 561 inode, type);
600} 562}
601 563
602static int hppfs_readdir(struct file *file, void *ent, filldir_t filldir) 564static int hppfs_readdir(struct file *file, void *ent, filldir_t filldir)
@@ -607,7 +569,8 @@ static int hppfs_readdir(struct file *file, void *ent, filldir_t filldir)
607 struct hppfs_dirent dirent = ((struct hppfs_dirent) 569 struct hppfs_dirent dirent = ((struct hppfs_dirent)
608 { .vfs_dirent = ent, 570 { .vfs_dirent = ent,
609 .filldir = filldir, 571 .filldir = filldir,
610 .dentry = file->f_path.dentry } ); 572 .dentry = file->f_path.dentry
573 });
611 int err; 574 int err;
612 575
613 readdir = proc_file->f_path.dentry->d_inode->i_fop->readdir; 576 readdir = proc_file->f_path.dentry->d_inode->i_fop->readdir;
@@ -616,12 +579,12 @@ static int hppfs_readdir(struct file *file, void *ent, filldir_t filldir)
616 err = (*readdir)(proc_file, &dirent, hppfs_filldir); 579 err = (*readdir)(proc_file, &dirent, hppfs_filldir);
617 file->f_pos = proc_file->f_pos; 580 file->f_pos = proc_file->f_pos;
618 581
619 return(err); 582 return err;
620} 583}
621 584
622static int hppfs_fsync(struct file *file, struct dentry *dentry, int datasync) 585static int hppfs_fsync(struct file *file, struct dentry *dentry, int datasync)
623{ 586{
624 return(0); 587 return 0;
625} 588}
626 589
627static const struct file_operations hppfs_dir_fops = { 590static const struct file_operations hppfs_dir_fops = {
@@ -639,7 +602,7 @@ static int hppfs_statfs(struct dentry *dentry, struct kstatfs *sf)
639 sf->f_files = 0; 602 sf->f_files = 0;
640 sf->f_ffree = 0; 603 sf->f_ffree = 0;
641 sf->f_type = HPPFS_SUPER_MAGIC; 604 sf->f_type = HPPFS_SUPER_MAGIC;
642 return(0); 605 return 0;
643} 606}
644 607
645static struct inode *hppfs_alloc_inode(struct super_block *sb) 608static struct inode *hppfs_alloc_inode(struct super_block *sb)
@@ -647,12 +610,12 @@ static struct inode *hppfs_alloc_inode(struct super_block *sb)
647 struct hppfs_inode_info *hi; 610 struct hppfs_inode_info *hi;
648 611
649 hi = kmalloc(sizeof(*hi), GFP_KERNEL); 612 hi = kmalloc(sizeof(*hi), GFP_KERNEL);
650 if(hi == NULL) 613 if (!hi)
651 return(NULL); 614 return NULL;
652 615
653 *hi = ((struct hppfs_inode_info) { .proc_dentry = NULL }); 616 hi->proc_dentry = NULL;
654 inode_init_once(&hi->vfs_inode); 617 inode_init_once(&hi->vfs_inode);
655 return(&hi->vfs_inode); 618 return &hi->vfs_inode;
656} 619}
657 620
658void hppfs_delete_inode(struct inode *ino) 621void hppfs_delete_inode(struct inode *ino)
@@ -665,21 +628,31 @@ static void hppfs_destroy_inode(struct inode *inode)
665 kfree(HPPFS_I(inode)); 628 kfree(HPPFS_I(inode));
666} 629}
667 630
631static void hppfs_put_super(struct super_block *sb)
632{
633 mntput(sb->s_fs_info);
634}
635
668static const struct super_operations hppfs_sbops = { 636static const struct super_operations hppfs_sbops = {
669 .alloc_inode = hppfs_alloc_inode, 637 .alloc_inode = hppfs_alloc_inode,
670 .destroy_inode = hppfs_destroy_inode, 638 .destroy_inode = hppfs_destroy_inode,
671 .delete_inode = hppfs_delete_inode, 639 .delete_inode = hppfs_delete_inode,
672 .statfs = hppfs_statfs, 640 .statfs = hppfs_statfs,
641 .put_super = hppfs_put_super,
673}; 642};
674 643
675static int hppfs_readlink(struct dentry *dentry, char __user *buffer, int buflen) 644static int hppfs_readlink(struct dentry *dentry, char __user *buffer,
645 int buflen)
676{ 646{
677 struct file *proc_file; 647 struct file *proc_file;
678 struct dentry *proc_dentry; 648 struct dentry *proc_dentry;
649 struct vfsmount *proc_mnt;
679 int ret; 650 int ret;
680 651
681 proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry; 652 proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;
682 proc_file = dentry_open(dget(proc_dentry), NULL, O_RDONLY); 653 proc_mnt = dentry->d_sb->s_fs_info;
654
655 proc_file = dentry_open(dget(proc_dentry), mntget(proc_mnt), O_RDONLY);
683 if (IS_ERR(proc_file)) 656 if (IS_ERR(proc_file))
684 return PTR_ERR(proc_file); 657 return PTR_ERR(proc_file);
685 658
@@ -694,10 +667,13 @@ static void* hppfs_follow_link(struct dentry *dentry, struct nameidata *nd)
694{ 667{
695 struct file *proc_file; 668 struct file *proc_file;
696 struct dentry *proc_dentry; 669 struct dentry *proc_dentry;
670 struct vfsmount *proc_mnt;
697 void *ret; 671 void *ret;
698 672
699 proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry; 673 proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;
700 proc_file = dentry_open(dget(proc_dentry), NULL, O_RDONLY); 674 proc_mnt = dentry->d_sb->s_fs_info;
675
676 proc_file = dentry_open(dget(proc_dentry), mntget(proc_mnt), O_RDONLY);
701 if (IS_ERR(proc_file)) 677 if (IS_ERR(proc_file))
702 return proc_file; 678 return proc_file;
703 679
@@ -717,70 +693,72 @@ static const struct inode_operations hppfs_link_iops = {
717 .follow_link = hppfs_follow_link, 693 .follow_link = hppfs_follow_link,
718}; 694};
719 695
720static int init_inode(struct inode *inode, struct dentry *dentry) 696static struct inode *get_inode(struct super_block *sb, struct dentry *dentry)
721{ 697{
722 if(S_ISDIR(dentry->d_inode->i_mode)){ 698 struct inode *proc_ino = dentry->d_inode;
699 struct inode *inode = new_inode(sb);
700
701 if (!inode)
702 return ERR_PTR(-ENOMEM);
703
704 if (S_ISDIR(dentry->d_inode->i_mode)) {
723 inode->i_op = &hppfs_dir_iops; 705 inode->i_op = &hppfs_dir_iops;
724 inode->i_fop = &hppfs_dir_fops; 706 inode->i_fop = &hppfs_dir_fops;
725 } 707 } else if (S_ISLNK(dentry->d_inode->i_mode)) {
726 else if(S_ISLNK(dentry->d_inode->i_mode)){
727 inode->i_op = &hppfs_link_iops; 708 inode->i_op = &hppfs_link_iops;
728 inode->i_fop = &hppfs_file_fops; 709 inode->i_fop = &hppfs_file_fops;
729 } 710 } else {
730 else {
731 inode->i_op = &hppfs_file_iops; 711 inode->i_op = &hppfs_file_iops;
732 inode->i_fop = &hppfs_file_fops; 712 inode->i_fop = &hppfs_file_fops;
733 } 713 }
734 714
735 HPPFS_I(inode)->proc_dentry = dentry; 715 HPPFS_I(inode)->proc_dentry = dentry;
736 716
737 return(0); 717 inode->i_uid = proc_ino->i_uid;
718 inode->i_gid = proc_ino->i_gid;
719 inode->i_atime = proc_ino->i_atime;
720 inode->i_mtime = proc_ino->i_mtime;
721 inode->i_ctime = proc_ino->i_ctime;
722 inode->i_ino = proc_ino->i_ino;
723 inode->i_mode = proc_ino->i_mode;
724 inode->i_nlink = proc_ino->i_nlink;
725 inode->i_size = proc_ino->i_size;
726 inode->i_blocks = proc_ino->i_blocks;
727
728 return 0;
738} 729}
739 730
740static int hppfs_fill_super(struct super_block *sb, void *d, int silent) 731static int hppfs_fill_super(struct super_block *sb, void *d, int silent)
741{ 732{
742 struct inode *root_inode; 733 struct inode *root_inode;
743 struct file_system_type *procfs; 734 struct vfsmount *proc_mnt;
744 struct super_block *proc_sb; 735 int err = -ENOENT;
745 int err;
746 736
747 err = -ENOENT; 737 proc_mnt = do_kern_mount("proc", 0, "proc", NULL);
748 procfs = get_fs_type("proc"); 738 if (IS_ERR(proc_mnt))
749 if(procfs == NULL)
750 goto out; 739 goto out;
751 740
752 if(list_empty(&procfs->fs_supers))
753 goto out;
754
755 proc_sb = list_entry(procfs->fs_supers.next, struct super_block,
756 s_instances);
757
758 sb->s_blocksize = 1024; 741 sb->s_blocksize = 1024;
759 sb->s_blocksize_bits = 10; 742 sb->s_blocksize_bits = 10;
760 sb->s_magic = HPPFS_SUPER_MAGIC; 743 sb->s_magic = HPPFS_SUPER_MAGIC;
761 sb->s_op = &hppfs_sbops; 744 sb->s_op = &hppfs_sbops;
762 745 sb->s_fs_info = proc_mnt;
763 root_inode = hppfs_iget(sb);
764 if (IS_ERR(root_inode)) {
765 err = PTR_ERR(root_inode);
766 goto out;
767 }
768
769 err = init_inode(root_inode, proc_sb->s_root);
770 if(err)
771 goto out_put;
772 746
773 err = -ENOMEM; 747 err = -ENOMEM;
774 sb->s_root = d_alloc_root(root_inode); 748 root_inode = get_inode(sb, proc_mnt->mnt_sb->s_root);
775 if(sb->s_root == NULL) 749 if (!root_inode)
776 goto out_put; 750 goto out_mntput;
777 751
778 hppfs_read_inode(root_inode); 752 sb->s_root = d_alloc_root(root_inode);
753 if (!sb->s_root)
754 goto out_iput;
779 755
780 return(0); 756 return 0;
781 757
782 out_put: 758 out_iput:
783 iput(root_inode); 759 iput(root_inode);
760 out_mntput:
761 mntput(proc_mnt);
784 out: 762 out:
785 return(err); 763 return(err);
786} 764}
@@ -802,7 +780,7 @@ static struct file_system_type hppfs_type = {
802 780
803static int __init init_hppfs(void) 781static int __init init_hppfs(void)
804{ 782{
805 return(register_filesystem(&hppfs_type)); 783 return register_filesystem(&hppfs_type);
806} 784}
807 785
808static void __exit exit_hppfs(void) 786static void __exit exit_hppfs(void)
@@ -813,14 +791,3 @@ static void __exit exit_hppfs(void)
813module_init(init_hppfs) 791module_init(init_hppfs)
814module_exit(exit_hppfs) 792module_exit(exit_hppfs)
815MODULE_LICENSE("GPL"); 793MODULE_LICENSE("GPL");
816
817/*
818 * Overrides for Emacs so that we follow Linus's tabbing style.
819 * Emacs will notice this stuff at the end of the file and automatically
820 * adjust the settings for this buffer only. This must remain at the end
821 * of the file.
822 * ---------------------------------------------------------------------------
823 * Local variables:
824 * c-file-style: "linux"
825 * End:
826 */
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index eee9487ae47..6846785fe90 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -954,7 +954,7 @@ struct file *hugetlb_file_setup(const char *name, size_t size)
954 FMODE_WRITE | FMODE_READ, 954 FMODE_WRITE | FMODE_READ,
955 &hugetlbfs_file_operations); 955 &hugetlbfs_file_operations);
956 if (!file) 956 if (!file)
957 goto out_inode; 957 goto out_dentry; /* inode is already attached */
958 958
959 return file; 959 return file;
960 960
diff --git a/fs/isofs/compress.c b/fs/isofs/compress.c
index 37dbd640478..defb932eee9 100644
--- a/fs/isofs/compress.c
+++ b/fs/isofs/compress.c
@@ -72,6 +72,17 @@ static int zisofs_readpage(struct file *file, struct page *page)
72 offset = index & ~zisofs_block_page_mask; 72 offset = index & ~zisofs_block_page_mask;
73 blockindex = offset >> zisofs_block_page_shift; 73 blockindex = offset >> zisofs_block_page_shift;
74 maxpage = (inode->i_size + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; 74 maxpage = (inode->i_size + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
75
76 /*
77 * If this page is wholly outside i_size we just return zero;
78 * do_generic_file_read() will handle this for us
79 */
80 if (page->index >= maxpage) {
81 SetPageUptodate(page);
82 unlock_page(page);
83 return 0;
84 }
85
75 maxpage = min(zisofs_block_pages, maxpage-offset); 86 maxpage = min(zisofs_block_pages, maxpage-offset);
76 87
77 for ( i = 0 ; i < maxpage ; i++, offset++ ) { 88 for ( i = 0 ; i < maxpage ; i++, offset++ ) {
diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
index 3943a8905eb..0e081d5f32e 100644
--- a/fs/jbd/journal.c
+++ b/fs/jbd/journal.c
@@ -697,13 +697,14 @@ fail:
697 */ 697 */
698 698
699/** 699/**
700 * journal_t * journal_init_dev() - creates an initialises a journal structure 700 * journal_t * journal_init_dev() - creates and initialises a journal structure
701 * @bdev: Block device on which to create the journal 701 * @bdev: Block device on which to create the journal
702 * @fs_dev: Device which hold journalled filesystem for this journal. 702 * @fs_dev: Device which hold journalled filesystem for this journal.
703 * @start: Block nr Start of journal. 703 * @start: Block nr Start of journal.
704 * @len: Length of the journal in blocks. 704 * @len: Length of the journal in blocks.
705 * @blocksize: blocksize of journalling device 705 * @blocksize: blocksize of journalling device
706 * @returns: a newly created journal_t * 706 *
707 * Returns: a newly created journal_t *
707 * 708 *
708 * journal_init_dev creates a journal which maps a fixed contiguous 709 * journal_init_dev creates a journal which maps a fixed contiguous
709 * range of blocks on an arbitrary block device. 710 * range of blocks on an arbitrary block device.
@@ -1619,14 +1620,14 @@ static int journal_init_journal_head_cache(void)
1619{ 1620{
1620 int retval; 1621 int retval;
1621 1622
1622 J_ASSERT(journal_head_cache == 0); 1623 J_ASSERT(journal_head_cache == NULL);
1623 journal_head_cache = kmem_cache_create("journal_head", 1624 journal_head_cache = kmem_cache_create("journal_head",
1624 sizeof(struct journal_head), 1625 sizeof(struct journal_head),
1625 0, /* offset */ 1626 0, /* offset */
1626 SLAB_TEMPORARY, /* flags */ 1627 SLAB_TEMPORARY, /* flags */
1627 NULL); /* ctor */ 1628 NULL); /* ctor */
1628 retval = 0; 1629 retval = 0;
1629 if (journal_head_cache == 0) { 1630 if (!journal_head_cache) {
1630 retval = -ENOMEM; 1631 retval = -ENOMEM;
1631 printk(KERN_EMERG "JBD: no memory for journal_head cache\n"); 1632 printk(KERN_EMERG "JBD: no memory for journal_head cache\n");
1632 } 1633 }
diff --git a/fs/jbd/recovery.c b/fs/jbd/recovery.c
index 2b8edf4d6ea..43bc5e5ed06 100644
--- a/fs/jbd/recovery.c
+++ b/fs/jbd/recovery.c
@@ -478,7 +478,7 @@ static int do_one_pass(journal_t *journal,
478 memcpy(nbh->b_data, obh->b_data, 478 memcpy(nbh->b_data, obh->b_data,
479 journal->j_blocksize); 479 journal->j_blocksize);
480 if (flags & JFS_FLAG_ESCAPE) { 480 if (flags & JFS_FLAG_ESCAPE) {
481 *((__be32 *)bh->b_data) = 481 *((__be32 *)nbh->b_data) =
482 cpu_to_be32(JFS_MAGIC_NUMBER); 482 cpu_to_be32(JFS_MAGIC_NUMBER);
483 } 483 }
484 484
diff --git a/fs/jbd/revoke.c b/fs/jbd/revoke.c
index ad2eacf570c..d5f8eee7c88 100644
--- a/fs/jbd/revoke.c
+++ b/fs/jbd/revoke.c
@@ -173,13 +173,13 @@ int __init journal_init_revoke_caches(void)
173 0, 173 0,
174 SLAB_HWCACHE_ALIGN|SLAB_TEMPORARY, 174 SLAB_HWCACHE_ALIGN|SLAB_TEMPORARY,
175 NULL); 175 NULL);
176 if (revoke_record_cache == 0) 176 if (!revoke_record_cache)
177 return -ENOMEM; 177 return -ENOMEM;
178 178
179 revoke_table_cache = kmem_cache_create("revoke_table", 179 revoke_table_cache = kmem_cache_create("revoke_table",
180 sizeof(struct jbd_revoke_table_s), 180 sizeof(struct jbd_revoke_table_s),
181 0, SLAB_TEMPORARY, NULL); 181 0, SLAB_TEMPORARY, NULL);
182 if (revoke_table_cache == 0) { 182 if (!revoke_table_cache) {
183 kmem_cache_destroy(revoke_record_cache); 183 kmem_cache_destroy(revoke_record_cache);
184 revoke_record_cache = NULL; 184 revoke_record_cache = NULL;
185 return -ENOMEM; 185 return -ENOMEM;
diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c
index c6cbb6cd59b..2c9e8f5d13a 100644
--- a/fs/jbd/transaction.c
+++ b/fs/jbd/transaction.c
@@ -1426,7 +1426,8 @@ int journal_stop(handle_t *handle)
1426 return err; 1426 return err;
1427} 1427}
1428 1428
1429/**int journal_force_commit() - force any uncommitted transactions 1429/**
1430 * int journal_force_commit() - force any uncommitted transactions
1430 * @journal: journal to force 1431 * @journal: journal to force
1431 * 1432 *
1432 * For synchronous operations: force any uncommitted transactions 1433 * For synchronous operations: force any uncommitted transactions
@@ -1903,13 +1904,12 @@ zap_buffer_unlocked:
1903} 1904}
1904 1905
1905/** 1906/**
1906 * void journal_invalidatepage() 1907 * void journal_invalidatepage() - invalidate a journal page
1907 * @journal: journal to use for flush... 1908 * @journal: journal to use for flush
1908 * @page: page to flush 1909 * @page: page to flush
1909 * @offset: length of page to invalidate. 1910 * @offset: length of page to invalidate.
1910 * 1911 *
1911 * Reap page buffers containing data after offset in page. 1912 * Reap page buffers containing data after offset in page.
1912 *
1913 */ 1913 */
1914void journal_invalidatepage(journal_t *journal, 1914void journal_invalidatepage(journal_t *journal,
1915 struct page *page, 1915 struct page *page,
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index 96ba846992e..954cff001df 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -219,7 +219,7 @@ static int jbd2_journal_start_thread(journal_t *journal)
219 if (IS_ERR(t)) 219 if (IS_ERR(t))
220 return PTR_ERR(t); 220 return PTR_ERR(t);
221 221
222 wait_event(journal->j_wait_done_commit, journal->j_task != 0); 222 wait_event(journal->j_wait_done_commit, journal->j_task != NULL);
223 return 0; 223 return 0;
224} 224}
225 225
@@ -231,7 +231,7 @@ static void journal_kill_thread(journal_t *journal)
231 while (journal->j_task) { 231 while (journal->j_task) {
232 wake_up(&journal->j_wait_commit); 232 wake_up(&journal->j_wait_commit);
233 spin_unlock(&journal->j_state_lock); 233 spin_unlock(&journal->j_state_lock);
234 wait_event(journal->j_wait_done_commit, journal->j_task == 0); 234 wait_event(journal->j_wait_done_commit, journal->j_task == NULL);
235 spin_lock(&journal->j_state_lock); 235 spin_lock(&journal->j_state_lock);
236 } 236 }
237 spin_unlock(&journal->j_state_lock); 237 spin_unlock(&journal->j_state_lock);
@@ -1969,14 +1969,14 @@ static int journal_init_jbd2_journal_head_cache(void)
1969{ 1969{
1970 int retval; 1970 int retval;
1971 1971
1972 J_ASSERT(jbd2_journal_head_cache == 0); 1972 J_ASSERT(jbd2_journal_head_cache == NULL);
1973 jbd2_journal_head_cache = kmem_cache_create("jbd2_journal_head", 1973 jbd2_journal_head_cache = kmem_cache_create("jbd2_journal_head",
1974 sizeof(struct journal_head), 1974 sizeof(struct journal_head),
1975 0, /* offset */ 1975 0, /* offset */
1976 SLAB_TEMPORARY, /* flags */ 1976 SLAB_TEMPORARY, /* flags */
1977 NULL); /* ctor */ 1977 NULL); /* ctor */
1978 retval = 0; 1978 retval = 0;
1979 if (jbd2_journal_head_cache == 0) { 1979 if (!jbd2_journal_head_cache) {
1980 retval = -ENOMEM; 1980 retval = -ENOMEM;
1981 printk(KERN_EMERG "JBD: no memory for journal_head cache\n"); 1981 printk(KERN_EMERG "JBD: no memory for journal_head cache\n");
1982 } 1982 }
@@ -2002,14 +2002,14 @@ static struct journal_head *journal_alloc_journal_head(void)
2002 atomic_inc(&nr_journal_heads); 2002 atomic_inc(&nr_journal_heads);
2003#endif 2003#endif
2004 ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS); 2004 ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS);
2005 if (ret == 0) { 2005 if (!ret) {
2006 jbd_debug(1, "out of memory for journal_head\n"); 2006 jbd_debug(1, "out of memory for journal_head\n");
2007 if (time_after(jiffies, last_warning + 5*HZ)) { 2007 if (time_after(jiffies, last_warning + 5*HZ)) {
2008 printk(KERN_NOTICE "ENOMEM in %s, retrying.\n", 2008 printk(KERN_NOTICE "ENOMEM in %s, retrying.\n",
2009 __FUNCTION__); 2009 __FUNCTION__);
2010 last_warning = jiffies; 2010 last_warning = jiffies;
2011 } 2011 }
2012 while (ret == 0) { 2012 while (!ret) {
2013 yield(); 2013 yield();
2014 ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS); 2014 ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS);
2015 } 2015 }
diff --git a/fs/jbd2/recovery.c b/fs/jbd2/recovery.c
index 146411387ad..5d0405a9e7c 100644
--- a/fs/jbd2/recovery.c
+++ b/fs/jbd2/recovery.c
@@ -535,7 +535,7 @@ static int do_one_pass(journal_t *journal,
535 memcpy(nbh->b_data, obh->b_data, 535 memcpy(nbh->b_data, obh->b_data,
536 journal->j_blocksize); 536 journal->j_blocksize);
537 if (flags & JBD2_FLAG_ESCAPE) { 537 if (flags & JBD2_FLAG_ESCAPE) {
538 *((__be32 *)bh->b_data) = 538 *((__be32 *)nbh->b_data) =
539 cpu_to_be32(JBD2_MAGIC_NUMBER); 539 cpu_to_be32(JBD2_MAGIC_NUMBER);
540 } 540 }
541 541
diff --git a/fs/jbd2/revoke.c b/fs/jbd2/revoke.c
index df36f42e19e..2e1453a5e99 100644
--- a/fs/jbd2/revoke.c
+++ b/fs/jbd2/revoke.c
@@ -174,13 +174,13 @@ int __init jbd2_journal_init_revoke_caches(void)
174 0, 174 0,
175 SLAB_HWCACHE_ALIGN|SLAB_TEMPORARY, 175 SLAB_HWCACHE_ALIGN|SLAB_TEMPORARY,
176 NULL); 176 NULL);
177 if (jbd2_revoke_record_cache == 0) 177 if (!jbd2_revoke_record_cache)
178 return -ENOMEM; 178 return -ENOMEM;
179 179
180 jbd2_revoke_table_cache = kmem_cache_create("jbd2_revoke_table", 180 jbd2_revoke_table_cache = kmem_cache_create("jbd2_revoke_table",
181 sizeof(struct jbd2_revoke_table_s), 181 sizeof(struct jbd2_revoke_table_s),
182 0, SLAB_TEMPORARY, NULL); 182 0, SLAB_TEMPORARY, NULL);
183 if (jbd2_revoke_table_cache == 0) { 183 if (!jbd2_revoke_table_cache) {
184 kmem_cache_destroy(jbd2_revoke_record_cache); 184 kmem_cache_destroy(jbd2_revoke_record_cache);
185 jbd2_revoke_record_cache = NULL; 185 jbd2_revoke_record_cache = NULL;
186 return -ENOMEM; 186 return -ENOMEM;
diff --git a/fs/locks.c b/fs/locks.c
index f36f0e61558..d83fab1b77b 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1275,13 +1275,13 @@ out:
1275EXPORT_SYMBOL(__break_lease); 1275EXPORT_SYMBOL(__break_lease);
1276 1276
1277/** 1277/**
1278 * lease_get_mtime 1278 * lease_get_mtime - get the last modified time of an inode
1279 * @inode: the inode 1279 * @inode: the inode
1280 * @time: pointer to a timespec which will contain the last modified time 1280 * @time: pointer to a timespec which will contain the last modified time
1281 * 1281 *
1282 * This is to force NFS clients to flush their caches for files with 1282 * This is to force NFS clients to flush their caches for files with
1283 * exclusive leases. The justification is that if someone has an 1283 * exclusive leases. The justification is that if someone has an
1284 * exclusive lease, then they could be modifiying it. 1284 * exclusive lease, then they could be modifying it.
1285 */ 1285 */
1286void lease_get_mtime(struct inode *inode, struct timespec *time) 1286void lease_get_mtime(struct inode *inode, struct timespec *time)
1287{ 1287{
diff --git a/fs/namei.c b/fs/namei.c
index 941c8e8228c..8cf9bb9c2fc 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -106,7 +106,7 @@
106 * any extra contention... 106 * any extra contention...
107 */ 107 */
108 108
109static int link_path_walk(const char *name, struct nameidata *nd); 109static int __link_path_walk(const char *name, struct nameidata *nd);
110 110
111/* In order to reduce some races, while at the same time doing additional 111/* In order to reduce some races, while at the same time doing additional
112 * checking and hopefully speeding things up, we copy filenames to the 112 * checking and hopefully speeding things up, we copy filenames to the
@@ -563,6 +563,37 @@ walk_init_root(const char *name, struct nameidata *nd)
563 return 1; 563 return 1;
564} 564}
565 565
566/*
567 * Wrapper to retry pathname resolution whenever the underlying
568 * file system returns an ESTALE.
569 *
570 * Retry the whole path once, forcing real lookup requests
571 * instead of relying on the dcache.
572 */
573static __always_inline int link_path_walk(const char *name, struct nameidata *nd)
574{
575 struct path save = nd->path;
576 int result;
577
578 /* make sure the stuff we saved doesn't go away */
579 dget(save.dentry);
580 mntget(save.mnt);
581
582 result = __link_path_walk(name, nd);
583 if (result == -ESTALE) {
584 /* nd->path had been dropped */
585 nd->path = save;
586 dget(nd->path.dentry);
587 mntget(nd->path.mnt);
588 nd->flags |= LOOKUP_REVAL;
589 result = __link_path_walk(name, nd);
590 }
591
592 path_put(&save);
593
594 return result;
595}
596
566static __always_inline int __vfs_follow_link(struct nameidata *nd, const char *link) 597static __always_inline int __vfs_follow_link(struct nameidata *nd, const char *link)
567{ 598{
568 int res = 0; 599 int res = 0;
@@ -1020,36 +1051,6 @@ return_err:
1020 return err; 1051 return err;
1021} 1052}
1022 1053
1023/*
1024 * Wrapper to retry pathname resolution whenever the underlying
1025 * file system returns an ESTALE.
1026 *
1027 * Retry the whole path once, forcing real lookup requests
1028 * instead of relying on the dcache.
1029 */
1030static int link_path_walk(const char *name, struct nameidata *nd)
1031{
1032 struct nameidata save = *nd;
1033 int result;
1034
1035 /* make sure the stuff we saved doesn't go away */
1036 dget(save.path.dentry);
1037 mntget(save.path.mnt);
1038
1039 result = __link_path_walk(name, nd);
1040 if (result == -ESTALE) {
1041 *nd = save;
1042 dget(nd->path.dentry);
1043 mntget(nd->path.mnt);
1044 nd->flags |= LOOKUP_REVAL;
1045 result = __link_path_walk(name, nd);
1046 }
1047
1048 path_put(&save.path);
1049
1050 return result;
1051}
1052
1053static int path_walk(const char *name, struct nameidata *nd) 1054static int path_walk(const char *name, struct nameidata *nd)
1054{ 1055{
1055 current->total_link_count = 0; 1056 current->total_link_count = 0;
@@ -1364,13 +1365,13 @@ static int __lookup_one_len(const char *name, struct qstr *this,
1364} 1365}
1365 1366
1366/** 1367/**
1367 * lookup_one_len: filesystem helper to lookup single pathname component 1368 * lookup_one_len - filesystem helper to lookup single pathname component
1368 * @name: pathname component to lookup 1369 * @name: pathname component to lookup
1369 * @base: base directory to lookup from 1370 * @base: base directory to lookup from
1370 * @len: maximum length @len should be interpreted to 1371 * @len: maximum length @len should be interpreted to
1371 * 1372 *
1372 * Note that this routine is purely a helper for filesystem useage and should 1373 * Note that this routine is purely a helper for filesystem usage and should
1373 * not be called by generic code. Also note that by using this function to 1374 * not be called by generic code. Also note that by using this function the
1374 * nameidata argument is passed to the filesystem methods and a filesystem 1375 * nameidata argument is passed to the filesystem methods and a filesystem
1375 * using this helper needs to be prepared for that. 1376 * using this helper needs to be prepared for that.
1376 */ 1377 */
diff --git a/fs/namespace.c b/fs/namespace.c
index 7953c96a207..94f026ec990 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -155,15 +155,15 @@ static void __touch_mnt_namespace(struct mnt_namespace *ns)
155 } 155 }
156} 156}
157 157
158static void detach_mnt(struct vfsmount *mnt, struct nameidata *old_nd) 158static void detach_mnt(struct vfsmount *mnt, struct path *old_path)
159{ 159{
160 old_nd->path.dentry = mnt->mnt_mountpoint; 160 old_path->dentry = mnt->mnt_mountpoint;
161 old_nd->path.mnt = mnt->mnt_parent; 161 old_path->mnt = mnt->mnt_parent;
162 mnt->mnt_parent = mnt; 162 mnt->mnt_parent = mnt;
163 mnt->mnt_mountpoint = mnt->mnt_root; 163 mnt->mnt_mountpoint = mnt->mnt_root;
164 list_del_init(&mnt->mnt_child); 164 list_del_init(&mnt->mnt_child);
165 list_del_init(&mnt->mnt_hash); 165 list_del_init(&mnt->mnt_hash);
166 old_nd->path.dentry->d_mounted--; 166 old_path->dentry->d_mounted--;
167} 167}
168 168
169void mnt_set_mountpoint(struct vfsmount *mnt, struct dentry *dentry, 169void mnt_set_mountpoint(struct vfsmount *mnt, struct dentry *dentry,
@@ -174,12 +174,12 @@ void mnt_set_mountpoint(struct vfsmount *mnt, struct dentry *dentry,
174 dentry->d_mounted++; 174 dentry->d_mounted++;
175} 175}
176 176
177static void attach_mnt(struct vfsmount *mnt, struct nameidata *nd) 177static void attach_mnt(struct vfsmount *mnt, struct path *path)
178{ 178{
179 mnt_set_mountpoint(nd->path.mnt, nd->path.dentry, mnt); 179 mnt_set_mountpoint(path->mnt, path->dentry, mnt);
180 list_add_tail(&mnt->mnt_hash, mount_hashtable + 180 list_add_tail(&mnt->mnt_hash, mount_hashtable +
181 hash(nd->path.mnt, nd->path.dentry)); 181 hash(path->mnt, path->dentry));
182 list_add_tail(&mnt->mnt_child, &nd->path.mnt->mnt_mounts); 182 list_add_tail(&mnt->mnt_child, &path->mnt->mnt_mounts);
183} 183}
184 184
185/* 185/*
@@ -262,10 +262,8 @@ static struct vfsmount *clone_mnt(struct vfsmount *old, struct dentry *root,
262 /* stick the duplicate mount on the same expiry list 262 /* stick the duplicate mount on the same expiry list
263 * as the original if that was on one */ 263 * as the original if that was on one */
264 if (flag & CL_EXPIRE) { 264 if (flag & CL_EXPIRE) {
265 spin_lock(&vfsmount_lock);
266 if (!list_empty(&old->mnt_expire)) 265 if (!list_empty(&old->mnt_expire))
267 list_add(&mnt->mnt_expire, &old->mnt_expire); 266 list_add(&mnt->mnt_expire, &old->mnt_expire);
268 spin_unlock(&vfsmount_lock);
269 } 267 }
270 } 268 }
271 return mnt; 269 return mnt;
@@ -548,6 +546,7 @@ void release_mounts(struct list_head *head)
548 m = mnt->mnt_parent; 546 m = mnt->mnt_parent;
549 mnt->mnt_mountpoint = mnt->mnt_root; 547 mnt->mnt_mountpoint = mnt->mnt_root;
550 mnt->mnt_parent = mnt; 548 mnt->mnt_parent = mnt;
549 m->mnt_ghosts--;
551 spin_unlock(&vfsmount_lock); 550 spin_unlock(&vfsmount_lock);
552 dput(dentry); 551 dput(dentry);
553 mntput(m); 552 mntput(m);
@@ -572,12 +571,16 @@ void umount_tree(struct vfsmount *mnt, int propagate, struct list_head *kill)
572 __touch_mnt_namespace(p->mnt_ns); 571 __touch_mnt_namespace(p->mnt_ns);
573 p->mnt_ns = NULL; 572 p->mnt_ns = NULL;
574 list_del_init(&p->mnt_child); 573 list_del_init(&p->mnt_child);
575 if (p->mnt_parent != p) 574 if (p->mnt_parent != p) {
575 p->mnt_parent->mnt_ghosts++;
576 p->mnt_mountpoint->d_mounted--; 576 p->mnt_mountpoint->d_mounted--;
577 }
577 change_mnt_propagation(p, MS_PRIVATE); 578 change_mnt_propagation(p, MS_PRIVATE);
578 } 579 }
579} 580}
580 581
582static void shrink_submounts(struct vfsmount *mnt, struct list_head *umounts);
583
581static int do_umount(struct vfsmount *mnt, int flags) 584static int do_umount(struct vfsmount *mnt, int flags)
582{ 585{
583 struct super_block *sb = mnt->mnt_sb; 586 struct super_block *sb = mnt->mnt_sb;
@@ -650,6 +653,9 @@ static int do_umount(struct vfsmount *mnt, int flags)
650 spin_lock(&vfsmount_lock); 653 spin_lock(&vfsmount_lock);
651 event++; 654 event++;
652 655
656 if (!(flags & MNT_DETACH))
657 shrink_submounts(mnt, &umount_list);
658
653 retval = -EBUSY; 659 retval = -EBUSY;
654 if (flags & MNT_DETACH || !propagate_mount_busy(mnt, 2)) { 660 if (flags & MNT_DETACH || !propagate_mount_busy(mnt, 2)) {
655 if (!list_empty(&mnt->mnt_list)) 661 if (!list_empty(&mnt->mnt_list))
@@ -744,7 +750,7 @@ struct vfsmount *copy_tree(struct vfsmount *mnt, struct dentry *dentry,
744 int flag) 750 int flag)
745{ 751{
746 struct vfsmount *res, *p, *q, *r, *s; 752 struct vfsmount *res, *p, *q, *r, *s;
747 struct nameidata nd; 753 struct path path;
748 754
749 if (!(flag & CL_COPY_ALL) && IS_MNT_UNBINDABLE(mnt)) 755 if (!(flag & CL_COPY_ALL) && IS_MNT_UNBINDABLE(mnt))
750 return NULL; 756 return NULL;
@@ -769,14 +775,14 @@ struct vfsmount *copy_tree(struct vfsmount *mnt, struct dentry *dentry,
769 q = q->mnt_parent; 775 q = q->mnt_parent;
770 } 776 }
771 p = s; 777 p = s;
772 nd.path.mnt = q; 778 path.mnt = q;
773 nd.path.dentry = p->mnt_mountpoint; 779 path.dentry = p->mnt_mountpoint;
774 q = clone_mnt(p, p->mnt_root, flag); 780 q = clone_mnt(p, p->mnt_root, flag);
775 if (!q) 781 if (!q)
776 goto Enomem; 782 goto Enomem;
777 spin_lock(&vfsmount_lock); 783 spin_lock(&vfsmount_lock);
778 list_add_tail(&q->mnt_list, &res->mnt_list); 784 list_add_tail(&q->mnt_list, &res->mnt_list);
779 attach_mnt(q, &nd); 785 attach_mnt(q, &path);
780 spin_unlock(&vfsmount_lock); 786 spin_unlock(&vfsmount_lock);
781 } 787 }
782 } 788 }
@@ -876,11 +882,11 @@ void drop_collected_mounts(struct vfsmount *mnt)
876 * in allocations. 882 * in allocations.
877 */ 883 */
878static int attach_recursive_mnt(struct vfsmount *source_mnt, 884static int attach_recursive_mnt(struct vfsmount *source_mnt,
879 struct nameidata *nd, struct nameidata *parent_nd) 885 struct path *path, struct path *parent_path)
880{ 886{
881 LIST_HEAD(tree_list); 887 LIST_HEAD(tree_list);
882 struct vfsmount *dest_mnt = nd->path.mnt; 888 struct vfsmount *dest_mnt = path->mnt;
883 struct dentry *dest_dentry = nd->path.dentry; 889 struct dentry *dest_dentry = path->dentry;
884 struct vfsmount *child, *p; 890 struct vfsmount *child, *p;
885 891
886 if (propagate_mnt(dest_mnt, dest_dentry, source_mnt, &tree_list)) 892 if (propagate_mnt(dest_mnt, dest_dentry, source_mnt, &tree_list))
@@ -892,9 +898,9 @@ static int attach_recursive_mnt(struct vfsmount *source_mnt,
892 } 898 }
893 899
894 spin_lock(&vfsmount_lock); 900 spin_lock(&vfsmount_lock);
895 if (parent_nd) { 901 if (parent_path) {
896 detach_mnt(source_mnt, parent_nd); 902 detach_mnt(source_mnt, parent_path);
897 attach_mnt(source_mnt, nd); 903 attach_mnt(source_mnt, path);
898 touch_mnt_namespace(current->nsproxy->mnt_ns); 904 touch_mnt_namespace(current->nsproxy->mnt_ns);
899 } else { 905 } else {
900 mnt_set_mountpoint(dest_mnt, dest_dentry, source_mnt); 906 mnt_set_mountpoint(dest_mnt, dest_dentry, source_mnt);
@@ -930,7 +936,7 @@ static int graft_tree(struct vfsmount *mnt, struct nameidata *nd)
930 936
931 err = -ENOENT; 937 err = -ENOENT;
932 if (IS_ROOT(nd->path.dentry) || !d_unhashed(nd->path.dentry)) 938 if (IS_ROOT(nd->path.dentry) || !d_unhashed(nd->path.dentry))
933 err = attach_recursive_mnt(mnt, nd, NULL); 939 err = attach_recursive_mnt(mnt, &nd->path, NULL);
934out_unlock: 940out_unlock:
935 mutex_unlock(&nd->path.dentry->d_inode->i_mutex); 941 mutex_unlock(&nd->path.dentry->d_inode->i_mutex);
936 if (!err) 942 if (!err)
@@ -1059,7 +1065,8 @@ static inline int tree_contains_unbindable(struct vfsmount *mnt)
1059 */ 1065 */
1060static noinline int do_move_mount(struct nameidata *nd, char *old_name) 1066static noinline int do_move_mount(struct nameidata *nd, char *old_name)
1061{ 1067{
1062 struct nameidata old_nd, parent_nd; 1068 struct nameidata old_nd;
1069 struct path parent_path;
1063 struct vfsmount *p; 1070 struct vfsmount *p;
1064 int err = 0; 1071 int err = 0;
1065 if (!capable(CAP_SYS_ADMIN)) 1072 if (!capable(CAP_SYS_ADMIN))
@@ -1114,21 +1121,19 @@ static noinline int do_move_mount(struct nameidata *nd, char *old_name)
1114 if (p == old_nd.path.mnt) 1121 if (p == old_nd.path.mnt)
1115 goto out1; 1122 goto out1;
1116 1123
1117 err = attach_recursive_mnt(old_nd.path.mnt, nd, &parent_nd); 1124 err = attach_recursive_mnt(old_nd.path.mnt, &nd->path, &parent_path);
1118 if (err) 1125 if (err)
1119 goto out1; 1126 goto out1;
1120 1127
1121 spin_lock(&vfsmount_lock);
1122 /* if the mount is moved, it should no longer be expire 1128 /* if the mount is moved, it should no longer be expire
1123 * automatically */ 1129 * automatically */
1124 list_del_init(&old_nd.path.mnt->mnt_expire); 1130 list_del_init(&old_nd.path.mnt->mnt_expire);
1125 spin_unlock(&vfsmount_lock);
1126out1: 1131out1:
1127 mutex_unlock(&nd->path.dentry->d_inode->i_mutex); 1132 mutex_unlock(&nd->path.dentry->d_inode->i_mutex);
1128out: 1133out:
1129 up_write(&namespace_sem); 1134 up_write(&namespace_sem);
1130 if (!err) 1135 if (!err)
1131 path_put(&parent_nd.path); 1136 path_put(&parent_path);
1132 path_put(&old_nd.path); 1137 path_put(&old_nd.path);
1133 return err; 1138 return err;
1134} 1139}
@@ -1189,12 +1194,9 @@ int do_add_mount(struct vfsmount *newmnt, struct nameidata *nd,
1189 if ((err = graft_tree(newmnt, nd))) 1194 if ((err = graft_tree(newmnt, nd)))
1190 goto unlock; 1195 goto unlock;
1191 1196
1192 if (fslist) { 1197 if (fslist) /* add to the specified expiration list */
1193 /* add to the specified expiration list */
1194 spin_lock(&vfsmount_lock);
1195 list_add_tail(&newmnt->mnt_expire, fslist); 1198 list_add_tail(&newmnt->mnt_expire, fslist);
1196 spin_unlock(&vfsmount_lock); 1199
1197 }
1198 up_write(&namespace_sem); 1200 up_write(&namespace_sem);
1199 return 0; 1201 return 0;
1200 1202
@@ -1206,75 +1208,6 @@ unlock:
1206 1208
1207EXPORT_SYMBOL_GPL(do_add_mount); 1209EXPORT_SYMBOL_GPL(do_add_mount);
1208 1210
1209static void expire_mount(struct vfsmount *mnt, struct list_head *mounts,
1210 struct list_head *umounts)
1211{
1212 spin_lock(&vfsmount_lock);
1213
1214 /*
1215 * Check if mount is still attached, if not, let whoever holds it deal
1216 * with the sucker
1217 */
1218 if (mnt->mnt_parent == mnt) {
1219 spin_unlock(&vfsmount_lock);
1220 return;
1221 }
1222
1223 /*
1224 * Check that it is still dead: the count should now be 2 - as
1225 * contributed by the vfsmount parent and the mntget above
1226 */
1227 if (!propagate_mount_busy(mnt, 2)) {
1228 /* delete from the namespace */
1229 touch_mnt_namespace(mnt->mnt_ns);
1230 list_del_init(&mnt->mnt_list);
1231 mnt->mnt_ns = NULL;
1232 umount_tree(mnt, 1, umounts);
1233 spin_unlock(&vfsmount_lock);
1234 } else {
1235 /*
1236 * Someone brought it back to life whilst we didn't have any
1237 * locks held so return it to the expiration list
1238 */
1239 list_add_tail(&mnt->mnt_expire, mounts);
1240 spin_unlock(&vfsmount_lock);
1241 }
1242}
1243
1244/*
1245 * go through the vfsmounts we've just consigned to the graveyard to
1246 * - check that they're still dead
1247 * - delete the vfsmount from the appropriate namespace under lock
1248 * - dispose of the corpse
1249 */
1250static void expire_mount_list(struct list_head *graveyard, struct list_head *mounts)
1251{
1252 struct mnt_namespace *ns;
1253 struct vfsmount *mnt;
1254
1255 while (!list_empty(graveyard)) {
1256 LIST_HEAD(umounts);
1257 mnt = list_first_entry(graveyard, struct vfsmount, mnt_expire);
1258 list_del_init(&mnt->mnt_expire);
1259
1260 /* don't do anything if the namespace is dead - all the
1261 * vfsmounts from it are going away anyway */
1262 ns = mnt->mnt_ns;
1263 if (!ns || !ns->root)
1264 continue;
1265 get_mnt_ns(ns);
1266
1267 spin_unlock(&vfsmount_lock);
1268 down_write(&namespace_sem);
1269 expire_mount(mnt, mounts, &umounts);
1270 up_write(&namespace_sem);
1271 release_mounts(&umounts);
1272 mntput(mnt);
1273 put_mnt_ns(ns);
1274 spin_lock(&vfsmount_lock);
1275 }
1276}
1277
1278/* 1211/*
1279 * process a list of expirable mountpoints with the intent of discarding any 1212 * process a list of expirable mountpoints with the intent of discarding any
1280 * mountpoints that aren't in use and haven't been touched since last we came 1213 * mountpoints that aren't in use and haven't been touched since last we came
@@ -1284,10 +1217,12 @@ void mark_mounts_for_expiry(struct list_head *mounts)
1284{ 1217{
1285 struct vfsmount *mnt, *next; 1218 struct vfsmount *mnt, *next;
1286 LIST_HEAD(graveyard); 1219 LIST_HEAD(graveyard);
1220 LIST_HEAD(umounts);
1287 1221
1288 if (list_empty(mounts)) 1222 if (list_empty(mounts))
1289 return; 1223 return;
1290 1224
1225 down_write(&namespace_sem);
1291 spin_lock(&vfsmount_lock); 1226 spin_lock(&vfsmount_lock);
1292 1227
1293 /* extract from the expiration list every vfsmount that matches the 1228 /* extract from the expiration list every vfsmount that matches the
@@ -1298,16 +1233,19 @@ void mark_mounts_for_expiry(struct list_head *mounts)
1298 */ 1233 */
1299 list_for_each_entry_safe(mnt, next, mounts, mnt_expire) { 1234 list_for_each_entry_safe(mnt, next, mounts, mnt_expire) {
1300 if (!xchg(&mnt->mnt_expiry_mark, 1) || 1235 if (!xchg(&mnt->mnt_expiry_mark, 1) ||
1301 atomic_read(&mnt->mnt_count) != 1) 1236 propagate_mount_busy(mnt, 1))
1302 continue; 1237 continue;
1303
1304 mntget(mnt);
1305 list_move(&mnt->mnt_expire, &graveyard); 1238 list_move(&mnt->mnt_expire, &graveyard);
1306 } 1239 }
1307 1240 while (!list_empty(&graveyard)) {
1308 expire_mount_list(&graveyard, mounts); 1241 mnt = list_first_entry(&graveyard, struct vfsmount, mnt_expire);
1309 1242 touch_mnt_namespace(mnt->mnt_ns);
1243 umount_tree(mnt, 1, &umounts);
1244 }
1310 spin_unlock(&vfsmount_lock); 1245 spin_unlock(&vfsmount_lock);
1246 up_write(&namespace_sem);
1247
1248 release_mounts(&umounts);
1311} 1249}
1312 1250
1313EXPORT_SYMBOL_GPL(mark_mounts_for_expiry); 1251EXPORT_SYMBOL_GPL(mark_mounts_for_expiry);
@@ -1343,7 +1281,6 @@ resume:
1343 } 1281 }
1344 1282
1345 if (!propagate_mount_busy(mnt, 1)) { 1283 if (!propagate_mount_busy(mnt, 1)) {
1346 mntget(mnt);
1347 list_move_tail(&mnt->mnt_expire, graveyard); 1284 list_move_tail(&mnt->mnt_expire, graveyard);
1348 found++; 1285 found++;
1349 } 1286 }
@@ -1363,22 +1300,22 @@ resume:
1363 * process a list of expirable mountpoints with the intent of discarding any 1300 * process a list of expirable mountpoints with the intent of discarding any
1364 * submounts of a specific parent mountpoint 1301 * submounts of a specific parent mountpoint
1365 */ 1302 */
1366void shrink_submounts(struct vfsmount *mountpoint, struct list_head *mounts) 1303static void shrink_submounts(struct vfsmount *mnt, struct list_head *umounts)
1367{ 1304{
1368 LIST_HEAD(graveyard); 1305 LIST_HEAD(graveyard);
1369 int found; 1306 struct vfsmount *m;
1370
1371 spin_lock(&vfsmount_lock);
1372 1307
1373 /* extract submounts of 'mountpoint' from the expiration list */ 1308 /* extract submounts of 'mountpoint' from the expiration list */
1374 while ((found = select_submounts(mountpoint, &graveyard)) != 0) 1309 while (select_submounts(mnt, &graveyard)) {
1375 expire_mount_list(&graveyard, mounts); 1310 while (!list_empty(&graveyard)) {
1376 1311 m = list_first_entry(&graveyard, struct vfsmount,
1377 spin_unlock(&vfsmount_lock); 1312 mnt_expire);
1313 touch_mnt_namespace(mnt->mnt_ns);
1314 umount_tree(mnt, 1, umounts);
1315 }
1316 }
1378} 1317}
1379 1318
1380EXPORT_SYMBOL_GPL(shrink_submounts);
1381
1382/* 1319/*
1383 * Some copy_from_user() implementations do not return the exact number of 1320 * Some copy_from_user() implementations do not return the exact number of
1384 * bytes remaining to copy on a fault. But copy_mount_options() requires that. 1321 * bytes remaining to copy on a fault. But copy_mount_options() requires that.
@@ -1683,7 +1620,7 @@ void set_fs_pwd(struct fs_struct *fs, struct path *path)
1683 path_put(&old_pwd); 1620 path_put(&old_pwd);
1684} 1621}
1685 1622
1686static void chroot_fs_refs(struct nameidata *old_nd, struct nameidata *new_nd) 1623static void chroot_fs_refs(struct path *old_root, struct path *new_root)
1687{ 1624{
1688 struct task_struct *g, *p; 1625 struct task_struct *g, *p;
1689 struct fs_struct *fs; 1626 struct fs_struct *fs;
@@ -1695,12 +1632,12 @@ static void chroot_fs_refs(struct nameidata *old_nd, struct nameidata *new_nd)
1695 if (fs) { 1632 if (fs) {
1696 atomic_inc(&fs->count); 1633 atomic_inc(&fs->count);
1697 task_unlock(p); 1634 task_unlock(p);
1698 if (fs->root.dentry == old_nd->path.dentry 1635 if (fs->root.dentry == old_root->dentry
1699 && fs->root.mnt == old_nd->path.mnt) 1636 && fs->root.mnt == old_root->mnt)
1700 set_fs_root(fs, &new_nd->path); 1637 set_fs_root(fs, new_root);
1701 if (fs->pwd.dentry == old_nd->path.dentry 1638 if (fs->pwd.dentry == old_root->dentry
1702 && fs->pwd.mnt == old_nd->path.mnt) 1639 && fs->pwd.mnt == old_root->mnt)
1703 set_fs_pwd(fs, &new_nd->path); 1640 set_fs_pwd(fs, new_root);
1704 put_fs_struct(fs); 1641 put_fs_struct(fs);
1705 } else 1642 } else
1706 task_unlock(p); 1643 task_unlock(p);
@@ -1737,7 +1674,8 @@ asmlinkage long sys_pivot_root(const char __user * new_root,
1737 const char __user * put_old) 1674 const char __user * put_old)
1738{ 1675{
1739 struct vfsmount *tmp; 1676 struct vfsmount *tmp;
1740 struct nameidata new_nd, old_nd, parent_nd, root_parent, user_nd; 1677 struct nameidata new_nd, old_nd, user_nd;
1678 struct path parent_path, root_parent;
1741 int error; 1679 int error;
1742 1680
1743 if (!capable(CAP_SYS_ADMIN)) 1681 if (!capable(CAP_SYS_ADMIN))
@@ -1811,19 +1749,19 @@ asmlinkage long sys_pivot_root(const char __user * new_root,
1811 goto out3; 1749 goto out3;
1812 } else if (!is_subdir(old_nd.path.dentry, new_nd.path.dentry)) 1750 } else if (!is_subdir(old_nd.path.dentry, new_nd.path.dentry))
1813 goto out3; 1751 goto out3;
1814 detach_mnt(new_nd.path.mnt, &parent_nd); 1752 detach_mnt(new_nd.path.mnt, &parent_path);
1815 detach_mnt(user_nd.path.mnt, &root_parent); 1753 detach_mnt(user_nd.path.mnt, &root_parent);
1816 /* mount old root on put_old */ 1754 /* mount old root on put_old */
1817 attach_mnt(user_nd.path.mnt, &old_nd); 1755 attach_mnt(user_nd.path.mnt, &old_nd.path);
1818 /* mount new_root on / */ 1756 /* mount new_root on / */
1819 attach_mnt(new_nd.path.mnt, &root_parent); 1757 attach_mnt(new_nd.path.mnt, &root_parent);
1820 touch_mnt_namespace(current->nsproxy->mnt_ns); 1758 touch_mnt_namespace(current->nsproxy->mnt_ns);
1821 spin_unlock(&vfsmount_lock); 1759 spin_unlock(&vfsmount_lock);
1822 chroot_fs_refs(&user_nd, &new_nd); 1760 chroot_fs_refs(&user_nd.path, &new_nd.path);
1823 security_sb_post_pivotroot(&user_nd, &new_nd); 1761 security_sb_post_pivotroot(&user_nd, &new_nd);
1824 error = 0; 1762 error = 0;
1825 path_put(&root_parent.path); 1763 path_put(&root_parent);
1826 path_put(&parent_nd.path); 1764 path_put(&parent_path);
1827out2: 1765out2:
1828 mutex_unlock(&old_nd.path.dentry->d_inode->i_mutex); 1766 mutex_unlock(&old_nd.path.dentry->d_inode->i_mutex);
1829 up_write(&namespace_sem); 1767 up_write(&namespace_sem);
diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index 3d7d9631e12..5a70be589bb 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -533,7 +533,10 @@ readpage_async_filler(void *data, struct page *page)
533 533
534 if (len < PAGE_CACHE_SIZE) 534 if (len < PAGE_CACHE_SIZE)
535 zero_user_segment(page, len, PAGE_CACHE_SIZE); 535 zero_user_segment(page, len, PAGE_CACHE_SIZE);
536 nfs_pageio_add_request(desc->pgio, new); 536 if (!nfs_pageio_add_request(desc->pgio, new)) {
537 error = desc->pgio->pg_error;
538 goto out_unlock;
539 }
537 return 0; 540 return 0;
538out_error: 541out_error:
539 error = PTR_ERR(new); 542 error = PTR_ERR(new);
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index dd4dfcd632e..f9219024f31 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -589,8 +589,6 @@ static void nfs_umount_begin(struct vfsmount *vfsmnt, int flags)
589 struct nfs_server *server = NFS_SB(vfsmnt->mnt_sb); 589 struct nfs_server *server = NFS_SB(vfsmnt->mnt_sb);
590 struct rpc_clnt *rpc; 590 struct rpc_clnt *rpc;
591 591
592 shrink_submounts(vfsmnt, &nfs_automount_list);
593
594 if (!(flags & MNT_FORCE)) 592 if (!(flags & MNT_FORCE))
595 return; 593 return;
596 /* -EIO all pending I/O */ 594 /* -EIO all pending I/O */
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 80c61fdb272..bed63416a55 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -39,6 +39,7 @@ static struct nfs_page * nfs_update_request(struct nfs_open_context*,
39 unsigned int, unsigned int); 39 unsigned int, unsigned int);
40static void nfs_pageio_init_write(struct nfs_pageio_descriptor *desc, 40static void nfs_pageio_init_write(struct nfs_pageio_descriptor *desc,
41 struct inode *inode, int ioflags); 41 struct inode *inode, int ioflags);
42static void nfs_redirty_request(struct nfs_page *req);
42static const struct rpc_call_ops nfs_write_partial_ops; 43static const struct rpc_call_ops nfs_write_partial_ops;
43static const struct rpc_call_ops nfs_write_full_ops; 44static const struct rpc_call_ops nfs_write_full_ops;
44static const struct rpc_call_ops nfs_commit_ops; 45static const struct rpc_call_ops nfs_commit_ops;
@@ -288,7 +289,12 @@ static int nfs_page_async_flush(struct nfs_pageio_descriptor *pgio,
288 BUG(); 289 BUG();
289 } 290 }
290 spin_unlock(&inode->i_lock); 291 spin_unlock(&inode->i_lock);
291 nfs_pageio_add_request(pgio, req); 292 if (!nfs_pageio_add_request(pgio, req)) {
293 nfs_redirty_request(req);
294 nfs_end_page_writeback(page);
295 nfs_clear_page_tag_locked(req);
296 return pgio->pg_error;
297 }
292 return 0; 298 return 0;
293} 299}
294 300
diff --git a/fs/open.c b/fs/open.c
index 54198538b67..a4b12022eda 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -903,6 +903,18 @@ struct file *dentry_open(struct dentry *dentry, struct vfsmount *mnt, int flags)
903 int error; 903 int error;
904 struct file *f; 904 struct file *f;
905 905
906 /*
907 * We must always pass in a valid mount pointer. Historically
908 * callers got away with not passing it, but we must enforce this at
909 * the earliest possible point now to avoid strange problems deep in the
910 * filesystem stack.
911 */
912 if (!mnt) {
913 printk(KERN_WARNING "%s called with NULL vfsmount\n", __func__);
914 dump_stack();
915 return ERR_PTR(-EINVAL);
916 }
917
906 error = -ENFILE; 918 error = -ENFILE;
907 f = get_empty_filp(); 919 f = get_empty_filp();
908 if (f == NULL) { 920 if (f == NULL) {
diff --git a/fs/pipe.c b/fs/pipe.c
index 3c185b6527b..8be381bbcb5 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -957,13 +957,10 @@ struct file *create_write_pipe(void)
957 struct dentry *dentry; 957 struct dentry *dentry;
958 struct qstr name = { .name = "" }; 958 struct qstr name = { .name = "" };
959 959
960 f = get_empty_filp();
961 if (!f)
962 return ERR_PTR(-ENFILE);
963 err = -ENFILE; 960 err = -ENFILE;
964 inode = get_pipe_inode(); 961 inode = get_pipe_inode();
965 if (!inode) 962 if (!inode)
966 goto err_file; 963 goto err;
967 964
968 err = -ENOMEM; 965 err = -ENOMEM;
969 dentry = d_alloc(pipe_mnt->mnt_sb->s_root, &name); 966 dentry = d_alloc(pipe_mnt->mnt_sb->s_root, &name);
@@ -978,22 +975,24 @@ struct file *create_write_pipe(void)
978 */ 975 */
979 dentry->d_flags &= ~DCACHE_UNHASHED; 976 dentry->d_flags &= ~DCACHE_UNHASHED;
980 d_instantiate(dentry, inode); 977 d_instantiate(dentry, inode);
981 f->f_path.mnt = mntget(pipe_mnt); 978
982 f->f_path.dentry = dentry; 979 err = -ENFILE;
980 f = alloc_file(pipe_mnt, dentry, FMODE_WRITE, &write_pipe_fops);
981 if (!f)
982 goto err_dentry;
983 f->f_mapping = inode->i_mapping; 983 f->f_mapping = inode->i_mapping;
984 984
985 f->f_flags = O_WRONLY; 985 f->f_flags = O_WRONLY;
986 f->f_op = &write_pipe_fops;
987 f->f_mode = FMODE_WRITE;
988 f->f_version = 0; 986 f->f_version = 0;
989 987
990 return f; 988 return f;
991 989
990 err_dentry:
991 dput(dentry);
992 err_inode: 992 err_inode:
993 free_pipe_info(inode); 993 free_pipe_info(inode);
994 iput(inode); 994 iput(inode);
995 err_file: 995 err:
996 put_filp(f);
997 return ERR_PTR(err); 996 return ERR_PTR(err);
998} 997}
999 998
diff --git a/fs/pnode.c b/fs/pnode.c
index 05ba692bc54..1d8f5447f3f 100644
--- a/fs/pnode.c
+++ b/fs/pnode.c
@@ -225,7 +225,7 @@ out:
225 */ 225 */
226static inline int do_refcount_check(struct vfsmount *mnt, int count) 226static inline int do_refcount_check(struct vfsmount *mnt, int count)
227{ 227{
228 int mycount = atomic_read(&mnt->mnt_count); 228 int mycount = atomic_read(&mnt->mnt_count) - mnt->mnt_ghosts;
229 return (mycount > count); 229 return (mycount > count);
230} 230}
231 231
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 770de444eba..81d7d145292 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1036,6 +1036,26 @@ static const struct file_operations proc_loginuid_operations = {
1036 .read = proc_loginuid_read, 1036 .read = proc_loginuid_read,
1037 .write = proc_loginuid_write, 1037 .write = proc_loginuid_write,
1038}; 1038};
1039
1040static ssize_t proc_sessionid_read(struct file * file, char __user * buf,
1041 size_t count, loff_t *ppos)
1042{
1043 struct inode * inode = file->f_path.dentry->d_inode;
1044 struct task_struct *task = get_proc_task(inode);
1045 ssize_t length;
1046 char tmpbuf[TMPBUFLEN];
1047
1048 if (!task)
1049 return -ESRCH;
1050 length = scnprintf(tmpbuf, TMPBUFLEN, "%u",
1051 audit_get_sessionid(task));
1052 put_task_struct(task);
1053 return simple_read_from_buffer(buf, count, ppos, tmpbuf, length);
1054}
1055
1056static const struct file_operations proc_sessionid_operations = {
1057 .read = proc_sessionid_read,
1058};
1039#endif 1059#endif
1040 1060
1041#ifdef CONFIG_FAULT_INJECTION 1061#ifdef CONFIG_FAULT_INJECTION
@@ -2319,6 +2339,7 @@ static const struct pid_entry tgid_base_stuff[] = {
2319 REG("oom_adj", S_IRUGO|S_IWUSR, oom_adjust), 2339 REG("oom_adj", S_IRUGO|S_IWUSR, oom_adjust),
2320#ifdef CONFIG_AUDITSYSCALL 2340#ifdef CONFIG_AUDITSYSCALL
2321 REG("loginuid", S_IWUSR|S_IRUGO, loginuid), 2341 REG("loginuid", S_IWUSR|S_IRUGO, loginuid),
2342 REG("sessionid", S_IRUSR, sessionid),
2322#endif 2343#endif
2323#ifdef CONFIG_FAULT_INJECTION 2344#ifdef CONFIG_FAULT_INJECTION
2324 REG("make-it-fail", S_IRUGO|S_IWUSR, fault_inject), 2345 REG("make-it-fail", S_IRUGO|S_IWUSR, fault_inject),
@@ -2649,6 +2670,7 @@ static const struct pid_entry tid_base_stuff[] = {
2649 REG("oom_adj", S_IRUGO|S_IWUSR, oom_adjust), 2670 REG("oom_adj", S_IRUGO|S_IWUSR, oom_adjust),
2650#ifdef CONFIG_AUDITSYSCALL 2671#ifdef CONFIG_AUDITSYSCALL
2651 REG("loginuid", S_IWUSR|S_IRUGO, loginuid), 2672 REG("loginuid", S_IWUSR|S_IRUGO, loginuid),
2673 REG("sessionid", S_IRUSR, sessionid),
2652#endif 2674#endif
2653#ifdef CONFIG_FAULT_INJECTION 2675#ifdef CONFIG_FAULT_INJECTION
2654 REG("make-it-fail", S_IRUGO|S_IWUSR, fault_inject), 2676 REG("make-it-fail", S_IRUGO|S_IWUSR, fault_inject),
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 4206454734e..9dfb5ff2420 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -527,13 +527,21 @@ struct pagemapread {
527 char __user *out, *end; 527 char __user *out, *end;
528}; 528};
529 529
530#define PM_ENTRY_BYTES sizeof(u64) 530#define PM_ENTRY_BYTES sizeof(u64)
531#define PM_RESERVED_BITS 3 531#define PM_STATUS_BITS 3
532#define PM_RESERVED_OFFSET (64 - PM_RESERVED_BITS) 532#define PM_STATUS_OFFSET (64 - PM_STATUS_BITS)
533#define PM_RESERVED_MASK (((1LL<<PM_RESERVED_BITS)-1) << PM_RESERVED_OFFSET) 533#define PM_STATUS_MASK (((1LL << PM_STATUS_BITS) - 1) << PM_STATUS_OFFSET)
534#define PM_SPECIAL(nr) (((nr) << PM_RESERVED_OFFSET) & PM_RESERVED_MASK) 534#define PM_STATUS(nr) (((nr) << PM_STATUS_OFFSET) & PM_STATUS_MASK)
535#define PM_NOT_PRESENT PM_SPECIAL(1LL) 535#define PM_PSHIFT_BITS 6
536#define PM_SWAP PM_SPECIAL(2LL) 536#define PM_PSHIFT_OFFSET (PM_STATUS_OFFSET - PM_PSHIFT_BITS)
537#define PM_PSHIFT_MASK (((1LL << PM_PSHIFT_BITS) - 1) << PM_PSHIFT_OFFSET)
538#define PM_PSHIFT(x) (((u64) (x) << PM_PSHIFT_OFFSET) & PM_PSHIFT_MASK)
539#define PM_PFRAME_MASK ((1LL << PM_PSHIFT_OFFSET) - 1)
540#define PM_PFRAME(x) ((x) & PM_PFRAME_MASK)
541
542#define PM_PRESENT PM_STATUS(4LL)
543#define PM_SWAP PM_STATUS(2LL)
544#define PM_NOT_PRESENT PM_PSHIFT(PAGE_SHIFT)
537#define PM_END_OF_BUFFER 1 545#define PM_END_OF_BUFFER 1
538 546
539static int add_to_pagemap(unsigned long addr, u64 pfn, 547static int add_to_pagemap(unsigned long addr, u64 pfn,
@@ -574,7 +582,7 @@ static int pagemap_pte_hole(unsigned long start, unsigned long end,
574u64 swap_pte_to_pagemap_entry(pte_t pte) 582u64 swap_pte_to_pagemap_entry(pte_t pte)
575{ 583{
576 swp_entry_t e = pte_to_swp_entry(pte); 584 swp_entry_t e = pte_to_swp_entry(pte);
577 return PM_SWAP | swp_type(e) | (swp_offset(e) << MAX_SWAPFILES_SHIFT); 585 return swp_type(e) | (swp_offset(e) << MAX_SWAPFILES_SHIFT);
578} 586}
579 587
580static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, 588static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
@@ -588,9 +596,11 @@ static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
588 u64 pfn = PM_NOT_PRESENT; 596 u64 pfn = PM_NOT_PRESENT;
589 pte = pte_offset_map(pmd, addr); 597 pte = pte_offset_map(pmd, addr);
590 if (is_swap_pte(*pte)) 598 if (is_swap_pte(*pte))
591 pfn = swap_pte_to_pagemap_entry(*pte); 599 pfn = PM_PFRAME(swap_pte_to_pagemap_entry(*pte))
600 | PM_PSHIFT(PAGE_SHIFT) | PM_SWAP;
592 else if (pte_present(*pte)) 601 else if (pte_present(*pte))
593 pfn = pte_pfn(*pte); 602 pfn = PM_PFRAME(pte_pfn(*pte))
603 | PM_PSHIFT(PAGE_SHIFT) | PM_PRESENT;
594 /* unmap so we're not in atomic when we copy to userspace */ 604 /* unmap so we're not in atomic when we copy to userspace */
595 pte_unmap(pte); 605 pte_unmap(pte);
596 err = add_to_pagemap(addr, pfn, pm); 606 err = add_to_pagemap(addr, pfn, pm);
@@ -611,12 +621,20 @@ static struct mm_walk pagemap_walk = {
611/* 621/*
612 * /proc/pid/pagemap - an array mapping virtual pages to pfns 622 * /proc/pid/pagemap - an array mapping virtual pages to pfns
613 * 623 *
614 * For each page in the address space, this file contains one 64-bit 624 * For each page in the address space, this file contains one 64-bit entry
615 * entry representing the corresponding physical page frame number 625 * consisting of the following:
616 * (PFN) if the page is present. If there is a swap entry for the 626 *
617 * physical page, then an encoding of the swap file number and the 627 * Bits 0-55 page frame number (PFN) if present
618 * page's offset into the swap file are returned. If no page is 628 * Bits 0-4 swap type if swapped
619 * present at all, PM_NOT_PRESENT is returned. This allows determining 629 * Bits 5-55 swap offset if swapped
630 * Bits 55-60 page shift (page size = 1<<page shift)
631 * Bit 61 reserved for future use
632 * Bit 62 page swapped
633 * Bit 63 page present
634 *
635 * If the page is not present but in swap, then the PFN contains an
636 * encoding of the swap file number and the page's offset into the
637 * swap. Unmapped pages return a null PFN. This allows determining
620 * precisely which pages are mapped (or in swap) and comparing mapped 638 * precisely which pages are mapped (or in swap) and comparing mapped
621 * pages between processes. 639 * pages between processes.
622 * 640 *
diff --git a/fs/reiserfs/do_balan.c b/fs/reiserfs/do_balan.c
index f85c5cf4934..7ee4208793b 100644
--- a/fs/reiserfs/do_balan.c
+++ b/fs/reiserfs/do_balan.c
@@ -283,7 +283,7 @@ static int balance_leaf(struct tree_balance *tb, struct item_head *ih, /* item h
283 return balance_leaf_when_delete(tb, flag); 283 return balance_leaf_when_delete(tb, flag);
284 284
285 zeros_num = 0; 285 zeros_num = 0;
286 if (flag == M_INSERT && body == 0) 286 if (flag == M_INSERT && !body)
287 zeros_num = ih_item_len(ih); 287 zeros_num = ih_item_len(ih);
288 288
289 pos_in_item = tb->tb_path->pos_in_item; 289 pos_in_item = tb->tb_path->pos_in_item;
@@ -1728,7 +1728,7 @@ struct buffer_head *get_FEB(struct tree_balance *tb)
1728 struct buffer_info bi; 1728 struct buffer_info bi;
1729 1729
1730 for (i = 0; i < MAX_FEB_SIZE; i++) 1730 for (i = 0; i < MAX_FEB_SIZE; i++)
1731 if (tb->FEB[i] != 0) 1731 if (tb->FEB[i] != NULL)
1732 break; 1732 break;
1733 1733
1734 if (i == MAX_FEB_SIZE) 1734 if (i == MAX_FEB_SIZE)
@@ -1827,7 +1827,7 @@ int get_left_neighbor_position(struct tree_balance *tb, int h)
1827{ 1827{
1828 int Sh_position = PATH_H_POSITION(tb->tb_path, h + 1); 1828 int Sh_position = PATH_H_POSITION(tb->tb_path, h + 1);
1829 1829
1830 RFALSE(PATH_H_PPARENT(tb->tb_path, h) == 0 || tb->FL[h] == 0, 1830 RFALSE(PATH_H_PPARENT(tb->tb_path, h) == NULL || tb->FL[h] == NULL,
1831 "vs-12325: FL[%d](%p) or F[%d](%p) does not exist", 1831 "vs-12325: FL[%d](%p) or F[%d](%p) does not exist",
1832 h, tb->FL[h], h, PATH_H_PPARENT(tb->tb_path, h)); 1832 h, tb->FL[h], h, PATH_H_PPARENT(tb->tb_path, h));
1833 1833
@@ -1841,7 +1841,7 @@ int get_right_neighbor_position(struct tree_balance *tb, int h)
1841{ 1841{
1842 int Sh_position = PATH_H_POSITION(tb->tb_path, h + 1); 1842 int Sh_position = PATH_H_POSITION(tb->tb_path, h + 1);
1843 1843
1844 RFALSE(PATH_H_PPARENT(tb->tb_path, h) == 0 || tb->FR[h] == 0, 1844 RFALSE(PATH_H_PPARENT(tb->tb_path, h) == NULL || tb->FR[h] == NULL,
1845 "vs-12330: F[%d](%p) or FR[%d](%p) does not exist", 1845 "vs-12330: F[%d](%p) or FR[%d](%p) does not exist",
1846 h, PATH_H_PPARENT(tb->tb_path, h), h, tb->FR[h]); 1846 h, PATH_H_PPARENT(tb->tb_path, h), h, tb->FR[h]);
1847 1847
diff --git a/fs/reiserfs/fix_node.c b/fs/reiserfs/fix_node.c
index 0ee35c6c9b7..07d05e0842b 100644
--- a/fs/reiserfs/fix_node.c
+++ b/fs/reiserfs/fix_node.c
@@ -153,7 +153,7 @@ static void create_virtual_node(struct tree_balance *tb, int h)
153 if (vn->vn_mode == M_INSERT) { 153 if (vn->vn_mode == M_INSERT) {
154 struct virtual_item *vi = vn->vn_vi + vn->vn_affected_item_num; 154 struct virtual_item *vi = vn->vn_vi + vn->vn_affected_item_num;
155 155
156 RFALSE(vn->vn_ins_ih == 0, 156 RFALSE(vn->vn_ins_ih == NULL,
157 "vs-8040: item header of inserted item is not specified"); 157 "vs-8040: item header of inserted item is not specified");
158 vi->vi_item_len = tb->insert_size[0]; 158 vi->vi_item_len = tb->insert_size[0];
159 vi->vi_ih = vn->vn_ins_ih; 159 vi->vi_ih = vn->vn_ins_ih;
@@ -857,7 +857,8 @@ static int get_lfree(struct tree_balance *tb, int h)
857 struct buffer_head *l, *f; 857 struct buffer_head *l, *f;
858 int order; 858 int order;
859 859
860 if ((f = PATH_H_PPARENT(tb->tb_path, h)) == 0 || (l = tb->FL[h]) == 0) 860 if ((f = PATH_H_PPARENT(tb->tb_path, h)) == NULL ||
861 (l = tb->FL[h]) == NULL)
861 return 0; 862 return 0;
862 863
863 if (f == l) 864 if (f == l)
@@ -878,7 +879,8 @@ static int get_rfree(struct tree_balance *tb, int h)
878 struct buffer_head *r, *f; 879 struct buffer_head *r, *f;
879 int order; 880 int order;
880 881
881 if ((f = PATH_H_PPARENT(tb->tb_path, h)) == 0 || (r = tb->FR[h]) == 0) 882 if ((f = PATH_H_PPARENT(tb->tb_path, h)) == NULL ||
883 (r = tb->FR[h]) == NULL)
882 return 0; 884 return 0;
883 885
884 if (f == r) 886 if (f == r)
diff --git a/fs/reiserfs/lbalance.c b/fs/reiserfs/lbalance.c
index 281f8061ac5..6de060a6aa7 100644
--- a/fs/reiserfs/lbalance.c
+++ b/fs/reiserfs/lbalance.c
@@ -626,7 +626,7 @@ static void leaf_define_dest_src_infos(int shift_mode, struct tree_balance *tb,
626 "vs-10250: leaf_define_dest_src_infos: shift type is unknown (%d)", 626 "vs-10250: leaf_define_dest_src_infos: shift type is unknown (%d)",
627 shift_mode); 627 shift_mode);
628 } 628 }
629 RFALSE(src_bi->bi_bh == 0 || dest_bi->bi_bh == 0, 629 RFALSE(!src_bi->bi_bh || !dest_bi->bi_bh,
630 "vs-10260: mode==%d, source (%p) or dest (%p) buffer is initialized incorrectly", 630 "vs-10260: mode==%d, source (%p) or dest (%p) buffer is initialized incorrectly",
631 shift_mode, src_bi->bi_bh, dest_bi->bi_bh); 631 shift_mode, src_bi->bi_bh, dest_bi->bi_bh);
632} 632}
diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c
index b378eea332c..8867533cb72 100644
--- a/fs/reiserfs/namei.c
+++ b/fs/reiserfs/namei.c
@@ -452,7 +452,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th,
452 buflen = DEH_SIZE + ROUND_UP(namelen); 452 buflen = DEH_SIZE + ROUND_UP(namelen);
453 if (buflen > sizeof(small_buf)) { 453 if (buflen > sizeof(small_buf)) {
454 buffer = kmalloc(buflen, GFP_NOFS); 454 buffer = kmalloc(buflen, GFP_NOFS);
455 if (buffer == 0) 455 if (!buffer)
456 return -ENOMEM; 456 return -ENOMEM;
457 } else 457 } else
458 buffer = small_buf; 458 buffer = small_buf;
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
index eba037b3338..344b9b96cc5 100644
--- a/fs/reiserfs/xattr.c
+++ b/fs/reiserfs/xattr.c
@@ -191,28 +191,11 @@ static struct dentry *get_xa_file_dentry(const struct inode *inode,
191 dput(xadir); 191 dput(xadir);
192 if (err) 192 if (err)
193 xafile = ERR_PTR(err); 193 xafile = ERR_PTR(err);
194 return xafile;
195}
196
197/* Opens a file pointer to the attribute associated with inode */
198static struct file *open_xa_file(const struct inode *inode, const char *name,
199 int flags)
200{
201 struct dentry *xafile;
202 struct file *fp;
203
204 xafile = get_xa_file_dentry(inode, name, flags);
205 if (IS_ERR(xafile))
206 return ERR_PTR(PTR_ERR(xafile));
207 else if (!xafile->d_inode) { 194 else if (!xafile->d_inode) {
208 dput(xafile); 195 dput(xafile);
209 return ERR_PTR(-ENODATA); 196 xafile = ERR_PTR(-ENODATA);
210 } 197 }
211 198 return xafile;
212 fp = dentry_open(xafile, NULL, O_RDWR);
213 /* dentry_open dputs the dentry if it fails */
214
215 return fp;
216} 199}
217 200
218/* 201/*
@@ -228,9 +211,8 @@ static struct file *open_xa_file(const struct inode *inode, const char *name,
228 * we're called with i_mutex held, so there are no worries about the directory 211 * we're called with i_mutex held, so there are no worries about the directory
229 * changing underneath us. 212 * changing underneath us.
230 */ 213 */
231static int __xattr_readdir(struct file *filp, void *dirent, filldir_t filldir) 214static int __xattr_readdir(struct inode *inode, void *dirent, filldir_t filldir)
232{ 215{
233 struct inode *inode = filp->f_path.dentry->d_inode;
234 struct cpu_key pos_key; /* key of current position in the directory (key of directory entry) */ 216 struct cpu_key pos_key; /* key of current position in the directory (key of directory entry) */
235 INITIALIZE_PATH(path_to_entry); 217 INITIALIZE_PATH(path_to_entry);
236 struct buffer_head *bh; 218 struct buffer_head *bh;
@@ -374,23 +356,16 @@ static int __xattr_readdir(struct file *filp, void *dirent, filldir_t filldir)
374 * 356 *
375 */ 357 */
376static 358static
377int xattr_readdir(struct file *file, filldir_t filler, void *buf) 359int xattr_readdir(struct inode *inode, filldir_t filler, void *buf)
378{ 360{
379 struct inode *inode = file->f_path.dentry->d_inode; 361 int res = -ENOENT;
380 int res = -ENOTDIR;
381 if (!file->f_op || !file->f_op->readdir)
382 goto out;
383 mutex_lock_nested(&inode->i_mutex, I_MUTEX_XATTR); 362 mutex_lock_nested(&inode->i_mutex, I_MUTEX_XATTR);
384// down(&inode->i_zombie);
385 res = -ENOENT;
386 if (!IS_DEADDIR(inode)) { 363 if (!IS_DEADDIR(inode)) {
387 lock_kernel(); 364 lock_kernel();
388 res = __xattr_readdir(file, buf, filler); 365 res = __xattr_readdir(inode, buf, filler);
389 unlock_kernel(); 366 unlock_kernel();
390 } 367 }
391// up(&inode->i_zombie);
392 mutex_unlock(&inode->i_mutex); 368 mutex_unlock(&inode->i_mutex);
393 out:
394 return res; 369 return res;
395} 370}
396 371
@@ -442,7 +417,7 @@ reiserfs_xattr_set(struct inode *inode, const char *name, const void *buffer,
442 size_t buffer_size, int flags) 417 size_t buffer_size, int flags)
443{ 418{
444 int err = 0; 419 int err = 0;
445 struct file *fp; 420 struct dentry *dentry;
446 struct page *page; 421 struct page *page;
447 char *data; 422 char *data;
448 struct address_space *mapping; 423 struct address_space *mapping;
@@ -460,18 +435,18 @@ reiserfs_xattr_set(struct inode *inode, const char *name, const void *buffer,
460 xahash = xattr_hash(buffer, buffer_size); 435 xahash = xattr_hash(buffer, buffer_size);
461 436
462 open_file: 437 open_file:
463 fp = open_xa_file(inode, name, flags); 438 dentry = get_xa_file_dentry(inode, name, flags);
464 if (IS_ERR(fp)) { 439 if (IS_ERR(dentry)) {
465 err = PTR_ERR(fp); 440 err = PTR_ERR(dentry);
466 goto out; 441 goto out;
467 } 442 }
468 443
469 xinode = fp->f_path.dentry->d_inode; 444 xinode = dentry->d_inode;
470 REISERFS_I(inode)->i_flags |= i_has_xattr_dir; 445 REISERFS_I(inode)->i_flags |= i_has_xattr_dir;
471 446
472 /* we need to copy it off.. */ 447 /* we need to copy it off.. */
473 if (xinode->i_nlink > 1) { 448 if (xinode->i_nlink > 1) {
474 fput(fp); 449 dput(dentry);
475 err = reiserfs_xattr_del(inode, name); 450 err = reiserfs_xattr_del(inode, name);
476 if (err < 0) 451 if (err < 0)
477 goto out; 452 goto out;
@@ -485,7 +460,7 @@ reiserfs_xattr_set(struct inode *inode, const char *name, const void *buffer,
485 newattrs.ia_size = buffer_size; 460 newattrs.ia_size = buffer_size;
486 newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME; 461 newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME;
487 mutex_lock_nested(&xinode->i_mutex, I_MUTEX_XATTR); 462 mutex_lock_nested(&xinode->i_mutex, I_MUTEX_XATTR);
488 err = notify_change(fp->f_path.dentry, &newattrs); 463 err = notify_change(dentry, &newattrs);
489 if (err) 464 if (err)
490 goto out_filp; 465 goto out_filp;
491 466
@@ -518,15 +493,14 @@ reiserfs_xattr_set(struct inode *inode, const char *name, const void *buffer,
518 rxh->h_hash = cpu_to_le32(xahash); 493 rxh->h_hash = cpu_to_le32(xahash);
519 } 494 }
520 495
521 err = reiserfs_prepare_write(fp, page, page_offset, 496 err = reiserfs_prepare_write(NULL, page, page_offset,
522 page_offset + chunk + skip); 497 page_offset + chunk + skip);
523 if (!err) { 498 if (!err) {
524 if (buffer) 499 if (buffer)
525 memcpy(data + skip, buffer + buffer_pos, chunk); 500 memcpy(data + skip, buffer + buffer_pos, chunk);
526 err = 501 err = reiserfs_commit_write(NULL, page, page_offset,
527 reiserfs_commit_write(fp, page, page_offset, 502 page_offset + chunk +
528 page_offset + chunk + 503 skip);
529 skip);
530 } 504 }
531 unlock_page(page); 505 unlock_page(page);
532 reiserfs_put_page(page); 506 reiserfs_put_page(page);
@@ -548,7 +522,7 @@ reiserfs_xattr_set(struct inode *inode, const char *name, const void *buffer,
548 522
549 out_filp: 523 out_filp:
550 mutex_unlock(&xinode->i_mutex); 524 mutex_unlock(&xinode->i_mutex);
551 fput(fp); 525 dput(dentry);
552 526
553 out: 527 out:
554 return err; 528 return err;
@@ -562,7 +536,7 @@ reiserfs_xattr_get(const struct inode *inode, const char *name, void *buffer,
562 size_t buffer_size) 536 size_t buffer_size)
563{ 537{
564 ssize_t err = 0; 538 ssize_t err = 0;
565 struct file *fp; 539 struct dentry *dentry;
566 size_t isize; 540 size_t isize;
567 size_t file_pos = 0; 541 size_t file_pos = 0;
568 size_t buffer_pos = 0; 542 size_t buffer_pos = 0;
@@ -578,13 +552,13 @@ reiserfs_xattr_get(const struct inode *inode, const char *name, void *buffer,
578 if (get_inode_sd_version(inode) == STAT_DATA_V1) 552 if (get_inode_sd_version(inode) == STAT_DATA_V1)
579 return -EOPNOTSUPP; 553 return -EOPNOTSUPP;
580 554
581 fp = open_xa_file(inode, name, FL_READONLY); 555 dentry = get_xa_file_dentry(inode, name, FL_READONLY);
582 if (IS_ERR(fp)) { 556 if (IS_ERR(dentry)) {
583 err = PTR_ERR(fp); 557 err = PTR_ERR(dentry);
584 goto out; 558 goto out;
585 } 559 }
586 560
587 xinode = fp->f_path.dentry->d_inode; 561 xinode = dentry->d_inode;
588 isize = xinode->i_size; 562 isize = xinode->i_size;
589 REISERFS_I(inode)->i_flags |= i_has_xattr_dir; 563 REISERFS_I(inode)->i_flags |= i_has_xattr_dir;
590 564
@@ -652,7 +626,7 @@ reiserfs_xattr_get(const struct inode *inode, const char *name, void *buffer,
652 } 626 }
653 627
654 out_dput: 628 out_dput:
655 fput(fp); 629 dput(dentry);
656 630
657 out: 631 out:
658 return err; 632 return err;
@@ -742,7 +716,6 @@ reiserfs_delete_xattrs_filler(void *buf, const char *name, int namelen,
742/* This is called w/ inode->i_mutex downed */ 716/* This is called w/ inode->i_mutex downed */
743int reiserfs_delete_xattrs(struct inode *inode) 717int reiserfs_delete_xattrs(struct inode *inode)
744{ 718{
745 struct file *fp;
746 struct dentry *dir, *root; 719 struct dentry *dir, *root;
747 int err = 0; 720 int err = 0;
748 721
@@ -763,15 +736,8 @@ int reiserfs_delete_xattrs(struct inode *inode)
763 return 0; 736 return 0;
764 } 737 }
765 738
766 fp = dentry_open(dir, NULL, O_RDWR);
767 if (IS_ERR(fp)) {
768 err = PTR_ERR(fp);
769 /* dentry_open dputs the dentry if it fails */
770 goto out;
771 }
772
773 lock_kernel(); 739 lock_kernel();
774 err = xattr_readdir(fp, reiserfs_delete_xattrs_filler, dir); 740 err = xattr_readdir(dir->d_inode, reiserfs_delete_xattrs_filler, dir);
775 if (err) { 741 if (err) {
776 unlock_kernel(); 742 unlock_kernel();
777 goto out_dir; 743 goto out_dir;
@@ -791,7 +757,7 @@ int reiserfs_delete_xattrs(struct inode *inode)
791 unlock_kernel(); 757 unlock_kernel();
792 758
793 out_dir: 759 out_dir:
794 fput(fp); 760 dput(dir);
795 761
796 out: 762 out:
797 if (!err) 763 if (!err)
@@ -833,7 +799,6 @@ reiserfs_chown_xattrs_filler(void *buf, const char *name, int namelen,
833 799
834int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs) 800int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs)
835{ 801{
836 struct file *fp;
837 struct dentry *dir; 802 struct dentry *dir;
838 int err = 0; 803 int err = 0;
839 struct reiserfs_chown_buf buf; 804 struct reiserfs_chown_buf buf;
@@ -857,13 +822,6 @@ int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs)
857 goto out; 822 goto out;
858 } 823 }
859 824
860 fp = dentry_open(dir, NULL, O_RDWR);
861 if (IS_ERR(fp)) {
862 err = PTR_ERR(fp);
863 /* dentry_open dputs the dentry if it fails */
864 goto out;
865 }
866
867 lock_kernel(); 825 lock_kernel();
868 826
869 attrs->ia_valid &= (ATTR_UID | ATTR_GID | ATTR_CTIME); 827 attrs->ia_valid &= (ATTR_UID | ATTR_GID | ATTR_CTIME);
@@ -871,7 +829,7 @@ int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs)
871 buf.attrs = attrs; 829 buf.attrs = attrs;
872 buf.inode = inode; 830 buf.inode = inode;
873 831
874 err = xattr_readdir(fp, reiserfs_chown_xattrs_filler, &buf); 832 err = xattr_readdir(dir->d_inode, reiserfs_chown_xattrs_filler, &buf);
875 if (err) { 833 if (err) {
876 unlock_kernel(); 834 unlock_kernel();
877 goto out_dir; 835 goto out_dir;
@@ -881,7 +839,7 @@ int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs)
881 unlock_kernel(); 839 unlock_kernel();
882 840
883 out_dir: 841 out_dir:
884 fput(fp); 842 dput(dir);
885 843
886 out: 844 out:
887 attrs->ia_valid = ia_valid; 845 attrs->ia_valid = ia_valid;
@@ -1029,7 +987,6 @@ reiserfs_listxattr_filler(void *buf, const char *name, int namelen,
1029 */ 987 */
1030ssize_t reiserfs_listxattr(struct dentry * dentry, char *buffer, size_t size) 988ssize_t reiserfs_listxattr(struct dentry * dentry, char *buffer, size_t size)
1031{ 989{
1032 struct file *fp;
1033 struct dentry *dir; 990 struct dentry *dir;
1034 int err = 0; 991 int err = 0;
1035 struct reiserfs_listxattr_buf buf; 992 struct reiserfs_listxattr_buf buf;
@@ -1052,13 +1009,6 @@ ssize_t reiserfs_listxattr(struct dentry * dentry, char *buffer, size_t size)
1052 goto out; 1009 goto out;
1053 } 1010 }
1054 1011
1055 fp = dentry_open(dir, NULL, O_RDWR);
1056 if (IS_ERR(fp)) {
1057 err = PTR_ERR(fp);
1058 /* dentry_open dputs the dentry if it fails */
1059 goto out;
1060 }
1061
1062 buf.r_buf = buffer; 1012 buf.r_buf = buffer;
1063 buf.r_size = buffer ? size : 0; 1013 buf.r_size = buffer ? size : 0;
1064 buf.r_pos = 0; 1014 buf.r_pos = 0;
@@ -1066,7 +1016,7 @@ ssize_t reiserfs_listxattr(struct dentry * dentry, char *buffer, size_t size)
1066 1016
1067 REISERFS_I(dentry->d_inode)->i_flags |= i_has_xattr_dir; 1017 REISERFS_I(dentry->d_inode)->i_flags |= i_has_xattr_dir;
1068 1018
1069 err = xattr_readdir(fp, reiserfs_listxattr_filler, &buf); 1019 err = xattr_readdir(dir->d_inode, reiserfs_listxattr_filler, &buf);
1070 if (err) 1020 if (err)
1071 goto out_dir; 1021 goto out_dir;
1072 1022
@@ -1076,7 +1026,7 @@ ssize_t reiserfs_listxattr(struct dentry * dentry, char *buffer, size_t size)
1076 err = buf.r_pos; 1026 err = buf.r_pos;
1077 1027
1078 out_dir: 1028 out_dir:
1079 fput(fp); 1029 dput(dir);
1080 1030
1081 out: 1031 out:
1082 reiserfs_read_unlock_xattr_i(dentry->d_inode); 1032 reiserfs_read_unlock_xattr_i(dentry->d_inode);
diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
index 00b6f0a518c..3f13d491c7c 100644
--- a/fs/romfs/inode.c
+++ b/fs/romfs/inode.c
@@ -340,8 +340,9 @@ static struct dentry *
340romfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd) 340romfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
341{ 341{
342 unsigned long offset, maxoff; 342 unsigned long offset, maxoff;
343 int fslen, res; 343 long res;
344 struct inode *inode; 344 int fslen;
345 struct inode *inode = NULL;
345 char fsname[ROMFS_MAXFN]; /* XXX dynamic? */ 346 char fsname[ROMFS_MAXFN]; /* XXX dynamic? */
346 struct romfs_inode ri; 347 struct romfs_inode ri;
347 const char *name; /* got from dentry */ 348 const char *name; /* got from dentry */
@@ -351,7 +352,7 @@ romfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
351 offset = dir->i_ino & ROMFH_MASK; 352 offset = dir->i_ino & ROMFH_MASK;
352 lock_kernel(); 353 lock_kernel();
353 if (romfs_copyfrom(dir, &ri, offset, ROMFH_SIZE) <= 0) 354 if (romfs_copyfrom(dir, &ri, offset, ROMFH_SIZE) <= 0)
354 goto out; 355 goto error;
355 356
356 maxoff = romfs_maxsize(dir->i_sb); 357 maxoff = romfs_maxsize(dir->i_sb);
357 offset = be32_to_cpu(ri.spec) & ROMFH_MASK; 358 offset = be32_to_cpu(ri.spec) & ROMFH_MASK;
@@ -364,9 +365,9 @@ romfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
364 365
365 for(;;) { 366 for(;;) {
366 if (!offset || offset >= maxoff) 367 if (!offset || offset >= maxoff)
367 goto out0; 368 goto success; /* negative success */
368 if (romfs_copyfrom(dir, &ri, offset, ROMFH_SIZE) <= 0) 369 if (romfs_copyfrom(dir, &ri, offset, ROMFH_SIZE) <= 0)
369 goto out; 370 goto error;
370 371
371 /* try to match the first 16 bytes of name */ 372 /* try to match the first 16 bytes of name */
372 fslen = romfs_strnlen(dir, offset+ROMFH_SIZE, ROMFH_SIZE); 373 fslen = romfs_strnlen(dir, offset+ROMFH_SIZE, ROMFH_SIZE);
@@ -397,23 +398,14 @@ romfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
397 inode = romfs_iget(dir->i_sb, offset); 398 inode = romfs_iget(dir->i_sb, offset);
398 if (IS_ERR(inode)) { 399 if (IS_ERR(inode)) {
399 res = PTR_ERR(inode); 400 res = PTR_ERR(inode);
400 goto out; 401 goto error;
401 } 402 }
402 403
403 /* 404success:
404 * it's a bit funky, _lookup needs to return an error code 405 d_add(dentry, inode);
405 * (negative) or a NULL, both as a dentry. ENOENT should not
406 * be returned, instead we need to create a negative dentry by
407 * d_add(dentry, NULL); and return 0 as no error.
408 * (Although as I see, it only matters on writable file
409 * systems).
410 */
411
412out0: inode = NULL;
413 res = 0; 406 res = 0;
414 d_add (dentry, inode); 407error:
415 408 unlock_kernel();
416out: unlock_kernel();
417 return ERR_PTR(res); 409 return ERR_PTR(res);
418} 410}
419 411
diff --git a/fs/smbfs/smbiod.c b/fs/smbfs/smbiod.c
index fae8e85af0e..6bd9b691a46 100644
--- a/fs/smbfs/smbiod.c
+++ b/fs/smbfs/smbiod.c
@@ -206,7 +206,7 @@ int smbiod_retry(struct smb_sb_info *server)
206 206
207 smb_close_socket(server); 207 smb_close_socket(server);
208 208
209 if (pid == 0) { 209 if (!pid) {
210 /* FIXME: this is fatal, umount? */ 210 /* FIXME: this is fatal, umount? */
211 printk(KERN_ERR "smb_retry: no connection process\n"); 211 printk(KERN_ERR "smb_retry: no connection process\n");
212 server->state = CONN_RETRIED; 212 server->state = CONN_RETRIED;
diff --git a/fs/super.c b/fs/super.c
index 010446d8c40..09008dbd264 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -556,11 +556,11 @@ out:
556} 556}
557 557
558/** 558/**
559 * mark_files_ro 559 * mark_files_ro - mark all files read-only
560 * @sb: superblock in question 560 * @sb: superblock in question
561 * 561 *
562 * All files are marked read/only. We don't care about pending 562 * All files are marked read-only. We don't care about pending
563 * delete files so this should be used in 'force' mode only 563 * delete files so this should be used in 'force' mode only.
564 */ 564 */
565 565
566static void mark_files_ro(struct super_block *sb) 566static void mark_files_ro(struct super_block *sb)
@@ -945,6 +945,7 @@ do_kern_mount(const char *fstype, int flags, const char *name, void *data)
945 put_filesystem(type); 945 put_filesystem(type);
946 return mnt; 946 return mnt;
947} 947}
948EXPORT_SYMBOL_GPL(do_kern_mount);
948 949
949struct vfsmount *kern_mount_data(struct file_system_type *type, void *data) 950struct vfsmount *kern_mount_data(struct file_system_type *type, void *data)
950{ 951{
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
index a271c87c447..baa663e6938 100644
--- a/fs/sysfs/file.c
+++ b/fs/sysfs/file.c
@@ -12,6 +12,7 @@
12 12
13#include <linux/module.h> 13#include <linux/module.h>
14#include <linux/kobject.h> 14#include <linux/kobject.h>
15#include <linux/kallsyms.h>
15#include <linux/namei.h> 16#include <linux/namei.h>
16#include <linux/poll.h> 17#include <linux/poll.h>
17#include <linux/list.h> 18#include <linux/list.h>
@@ -86,7 +87,12 @@ static int fill_read_buffer(struct dentry * dentry, struct sysfs_buffer * buffer
86 * The code works fine with PAGE_SIZE return but it's likely to 87 * The code works fine with PAGE_SIZE return but it's likely to
87 * indicate truncated result or overflow in normal use cases. 88 * indicate truncated result or overflow in normal use cases.
88 */ 89 */
89 BUG_ON(count >= (ssize_t)PAGE_SIZE); 90 if (count >= (ssize_t)PAGE_SIZE) {
91 print_symbol("fill_read_buffer: %s returned bad count\n",
92 (unsigned long)ops->show);
93 /* Try to struggle along */
94 count = PAGE_SIZE - 1;
95 }
90 if (count >= 0) { 96 if (count >= 0) {
91 buffer->needs_read_fill = 0; 97 buffer->needs_read_fill = 0;
92 buffer->count = count; 98 buffer->count = count;
diff --git a/fs/ufs/balloc.c b/fs/ufs/balloc.c
index 1fca381f0ce..1e7598fb978 100644
--- a/fs/ufs/balloc.c
+++ b/fs/ufs/balloc.c
@@ -315,8 +315,8 @@ static void ufs_change_blocknr(struct inode *inode, sector_t beg,
315 } 315 }
316 316
317 UFSD(" change from %llu to %llu, pos %u\n", 317 UFSD(" change from %llu to %llu, pos %u\n",
318 (unsigned long long)pos + oldb, 318 (unsigned long long)(pos + oldb),
319 (unsigned long long)pos + newb, pos); 319 (unsigned long long)(pos + newb), pos);
320 320
321 bh->b_blocknr = newb + pos; 321 bh->b_blocknr = newb + pos;
322 unmap_underlying_metadata(bh->b_bdev, 322 unmap_underlying_metadata(bh->b_bdev,
diff --git a/include/asm-alpha/current.h b/include/asm-alpha/current.h
index 8d88a13c1be..094d285a1b3 100644
--- a/include/asm-alpha/current.h
+++ b/include/asm-alpha/current.h
@@ -3,7 +3,7 @@
3 3
4#include <linux/thread_info.h> 4#include <linux/thread_info.h>
5 5
6#define get_current() (current_thread_info()->task + 0) 6#define get_current() (current_thread_info()->task)
7#define current get_current() 7#define current get_current()
8 8
9#endif /* _ALPHA_CURRENT_H */ 9#endif /* _ALPHA_CURRENT_H */
diff --git a/include/asm-alpha/dma-mapping.h b/include/asm-alpha/dma-mapping.h
index 75a1aff5b57..db351d1296f 100644
--- a/include/asm-alpha/dma-mapping.h
+++ b/include/asm-alpha/dma-mapping.h
@@ -11,7 +11,7 @@
11#define dma_unmap_single(dev, addr, size, dir) \ 11#define dma_unmap_single(dev, addr, size, dir) \
12 pci_unmap_single(alpha_gendev_to_pci(dev), addr, size, dir) 12 pci_unmap_single(alpha_gendev_to_pci(dev), addr, size, dir)
13#define dma_alloc_coherent(dev, size, addr, gfp) \ 13#define dma_alloc_coherent(dev, size, addr, gfp) \
14 pci_alloc_consistent(alpha_gendev_to_pci(dev), size, addr) 14 __pci_alloc_consistent(alpha_gendev_to_pci(dev), size, addr, gfp)
15#define dma_free_coherent(dev, size, va, addr) \ 15#define dma_free_coherent(dev, size, va, addr) \
16 pci_free_consistent(alpha_gendev_to_pci(dev), size, va, addr) 16 pci_free_consistent(alpha_gendev_to_pci(dev), size, va, addr)
17#define dma_map_page(dev, page, off, size, dir) \ 17#define dma_map_page(dev, page, off, size, dir) \
diff --git a/include/asm-alpha/kvm.h b/include/asm-alpha/kvm.h
new file mode 100644
index 00000000000..b9daec42968
--- /dev/null
+++ b/include/asm-alpha/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_ALPHA_H
2#define __LINUX_KVM_ALPHA_H
3
4/* alpha does not support KVM */
5
6#endif
diff --git a/include/asm-alpha/pci.h b/include/asm-alpha/pci.h
index d5b10ef6436..d31fd49ff79 100644
--- a/include/asm-alpha/pci.h
+++ b/include/asm-alpha/pci.h
@@ -76,7 +76,13 @@ extern inline void pcibios_penalize_isa_irq(int irq, int active)
76 successful and sets *DMA_ADDRP to the pci side dma address as well, 76 successful and sets *DMA_ADDRP to the pci side dma address as well,
77 else DMA_ADDRP is undefined. */ 77 else DMA_ADDRP is undefined. */
78 78
79extern void *pci_alloc_consistent(struct pci_dev *, size_t, dma_addr_t *); 79extern void *__pci_alloc_consistent(struct pci_dev *, size_t,
80 dma_addr_t *, gfp_t);
81static inline void *
82pci_alloc_consistent(struct pci_dev *dev, size_t size, dma_addr_t *dma)
83{
84 return __pci_alloc_consistent(dev, size, dma, GFP_ATOMIC);
85}
80 86
81/* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must 87/* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must
82 be values that were returned from pci_alloc_consistent. SIZE must 88 be values that were returned from pci_alloc_consistent. SIZE must
diff --git a/include/asm-arm/arch-at91/at91cap9.h b/include/asm-arm/arch-at91/at91cap9.h
index 73e1fcf4a0a..bac83adb505 100644
--- a/include/asm-arm/arch-at91/at91cap9.h
+++ b/include/asm-arm/arch-at91/at91cap9.h
@@ -97,12 +97,17 @@
97#define AT91_PIOD (0xfffff800 - AT91_BASE_SYS) 97#define AT91_PIOD (0xfffff800 - AT91_BASE_SYS)
98#define AT91_PMC (0xfffffc00 - AT91_BASE_SYS) 98#define AT91_PMC (0xfffffc00 - AT91_BASE_SYS)
99#define AT91_RSTC (0xfffffd00 - AT91_BASE_SYS) 99#define AT91_RSTC (0xfffffd00 - AT91_BASE_SYS)
100#define AT91_SHDC (0xfffffd10 - AT91_BASE_SYS) 100#define AT91_SHDWC (0xfffffd10 - AT91_BASE_SYS)
101#define AT91_RTT (0xfffffd20 - AT91_BASE_SYS) 101#define AT91_RTT (0xfffffd20 - AT91_BASE_SYS)
102#define AT91_PIT (0xfffffd30 - AT91_BASE_SYS) 102#define AT91_PIT (0xfffffd30 - AT91_BASE_SYS)
103#define AT91_WDT (0xfffffd40 - AT91_BASE_SYS) 103#define AT91_WDT (0xfffffd40 - AT91_BASE_SYS)
104#define AT91_GPBR (0xfffffd50 - AT91_BASE_SYS) 104#define AT91_GPBR (0xfffffd50 - AT91_BASE_SYS)
105 105
106#define AT91_USART0 AT91CAP9_BASE_US0
107#define AT91_USART1 AT91CAP9_BASE_US1
108#define AT91_USART2 AT91CAP9_BASE_US2
109
110
106/* 111/*
107 * Internal Memory. 112 * Internal Memory.
108 */ 113 */
diff --git a/include/asm-arm/arch-omap/dsp_common.h b/include/asm-arm/arch-omap/dsp_common.h
index c61f868f24e..da97736f3ef 100644
--- a/include/asm-arm/arch-omap/dsp_common.h
+++ b/include/asm-arm/arch-omap/dsp_common.h
@@ -24,11 +24,17 @@
24#ifndef ASM_ARCH_DSP_COMMON_H 24#ifndef ASM_ARCH_DSP_COMMON_H
25#define ASM_ARCH_DSP_COMMON_H 25#define ASM_ARCH_DSP_COMMON_H
26 26
27#ifdef CONFIG_ARCH_OMAP1 27#if defined(CONFIG_ARCH_OMAP1) && defined(CONFIG_OMAP_MMU_FWK)
28extern void omap_dsp_request_mpui(void); 28extern void omap_dsp_request_mpui(void);
29extern void omap_dsp_release_mpui(void); 29extern void omap_dsp_release_mpui(void);
30extern int omap_dsp_request_mem(void); 30extern int omap_dsp_request_mem(void);
31extern int omap_dsp_release_mem(void); 31extern int omap_dsp_release_mem(void);
32#else
33static inline int omap_dsp_request_mem(void)
34{
35 return 0;
36}
37#define omap_dsp_release_mem() do {} while (0)
32#endif 38#endif
33 39
34#endif /* ASM_ARCH_DSP_COMMON_H */ 40#endif /* ASM_ARCH_DSP_COMMON_H */
diff --git a/include/asm-arm/arch-s3c2410/irqs.h b/include/asm-arm/arch-s3c2410/irqs.h
index d858b3eb554..f5435d8c376 100644
--- a/include/asm-arm/arch-s3c2410/irqs.h
+++ b/include/asm-arm/arch-s3c2410/irqs.h
@@ -85,7 +85,7 @@
85#define IRQ_EINT23 S3C2410_IRQ(51) 85#define IRQ_EINT23 S3C2410_IRQ(51)
86 86
87 87
88#define IRQ_EINT(x) S3C2410_IRQ((x >= 4) ? (IRQ_EINT4 + (x) - 4) : (S3C2410_IRQ(0) + (x))) 88#define IRQ_EINT(x) (((x) >= 4) ? (IRQ_EINT4 + (x) - 4) : (IRQ_EINT0 + (x)))
89 89
90#define IRQ_LCD_FIFO S3C2410_IRQ(52) 90#define IRQ_LCD_FIFO S3C2410_IRQ(52)
91#define IRQ_LCD_FRAME S3C2410_IRQ(53) 91#define IRQ_LCD_FRAME S3C2410_IRQ(53)
diff --git a/include/asm-arm/kvm.h b/include/asm-arm/kvm.h
new file mode 100644
index 00000000000..cb3c08cbcb9
--- /dev/null
+++ b/include/asm-arm/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_ARM_H
2#define __LINUX_KVM_ARM_H
3
4/* arm does not support KVM */
5
6#endif
diff --git a/include/asm-avr32/byteorder.h b/include/asm-avr32/byteorder.h
index 402ff4125cd..d77b48ba733 100644
--- a/include/asm-avr32/byteorder.h
+++ b/include/asm-avr32/byteorder.h
@@ -12,8 +12,14 @@ extern unsigned long __builtin_bswap_32(unsigned long x);
12extern unsigned short __builtin_bswap_16(unsigned short x); 12extern unsigned short __builtin_bswap_16(unsigned short x);
13#endif 13#endif
14 14
15/*
16 * avr32-linux-gcc versions earlier than 4.2 improperly sign-extends
17 * the result.
18 */
19#if !(__GNUC__ == 4 && __GNUC_MINOR__ < 2)
15#define __arch__swab32(x) __builtin_bswap_32(x) 20#define __arch__swab32(x) __builtin_bswap_32(x)
16#define __arch__swab16(x) __builtin_bswap_16(x) 21#define __arch__swab16(x) __builtin_bswap_16(x)
22#endif
17 23
18#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) 24#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
19# define __BYTEORDER_HAS_U64__ 25# define __BYTEORDER_HAS_U64__
diff --git a/include/asm-avr32/kvm.h b/include/asm-avr32/kvm.h
new file mode 100644
index 00000000000..8c5777020e2
--- /dev/null
+++ b/include/asm-avr32/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_AVR32_H
2#define __LINUX_KVM_AVR32_H
3
4/* avr32 does not support KVM */
5
6#endif
diff --git a/include/asm-blackfin/kvm.h b/include/asm-blackfin/kvm.h
new file mode 100644
index 00000000000..e3477d77c01
--- /dev/null
+++ b/include/asm-blackfin/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_BLACKFIN_H
2#define __LINUX_KVM_BLACKFIN_H
3
4/* blackfin does not support KVM */
5
6#endif
diff --git a/include/asm-cris/kvm.h b/include/asm-cris/kvm.h
new file mode 100644
index 00000000000..c860f51149f
--- /dev/null
+++ b/include/asm-cris/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_CRIS_H
2#define __LINUX_KVM_CRIS_H
3
4/* cris does not support KVM */
5
6#endif
diff --git a/include/asm-frv/kvm.h b/include/asm-frv/kvm.h
new file mode 100644
index 00000000000..9c8a4f08d0a
--- /dev/null
+++ b/include/asm-frv/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_FRV_H
2#define __LINUX_KVM_FRV_H
3
4/* frv does not support KVM */
5
6#endif
diff --git a/include/asm-frv/system.h b/include/asm-frv/system.h
index b400cea8148..2c57f473474 100644
--- a/include/asm-frv/system.h
+++ b/include/asm-frv/system.h
@@ -234,7 +234,7 @@ extern void free_initmem(void);
234 break; \ 234 break; \
235 \ 235 \
236 default: \ 236 default: \
237 __xg_orig = 0; \ 237 __xg_orig = (__typeof__(__xg_orig))0; \
238 asm volatile("break"); \ 238 asm volatile("break"); \
239 break; \ 239 break; \
240 } \ 240 } \
@@ -259,7 +259,7 @@ extern uint32_t __cmpxchg_32(uint32_t *v, uint32_t test, uint32_t new);
259 (__force uint32_t)__xg_test, \ 259 (__force uint32_t)__xg_test, \
260 (__force uint32_t)__xg_new); break; \ 260 (__force uint32_t)__xg_new); break; \
261 default: \ 261 default: \
262 __xg_orig = 0; \ 262 __xg_orig = (__typeof__(__xg_orig))0; \
263 asm volatile("break"); \ 263 asm volatile("break"); \
264 break; \ 264 break; \
265 } \ 265 } \
diff --git a/include/asm-generic/Kbuild.asm b/include/asm-generic/Kbuild.asm
index fd9dcfd91c3..92a6d91d0c1 100644
--- a/include/asm-generic/Kbuild.asm
+++ b/include/asm-generic/Kbuild.asm
@@ -1,3 +1,5 @@
1header-y += kvm.h
2
1ifeq ($(wildcard include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h) 3ifeq ($(wildcard include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h)
2unifdef-y += a.out.h 4unifdef-y += a.out.h
3endif 5endif
diff --git a/include/asm-h8300/kvm.h b/include/asm-h8300/kvm.h
new file mode 100644
index 00000000000..bdbed7b987e
--- /dev/null
+++ b/include/asm-h8300/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_H8300_H
2#define __LINUX_KVM_H8300_H
3
4/* h8300 does not support KVM */
5
6#endif
diff --git a/include/asm-ia64/kvm.h b/include/asm-ia64/kvm.h
new file mode 100644
index 00000000000..030d29b4b26
--- /dev/null
+++ b/include/asm-ia64/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_IA64_H
2#define __LINUX_KVM_IA64_H
3
4/* ia64 does not support KVM */
5
6#endif
diff --git a/include/asm-m32r/kvm.h b/include/asm-m32r/kvm.h
new file mode 100644
index 00000000000..99a40515b77
--- /dev/null
+++ b/include/asm-m32r/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_M32R_H
2#define __LINUX_KVM_M32R_H
3
4/* m32r does not support KVM */
5
6#endif
diff --git a/include/asm-m68k/kvm.h b/include/asm-m68k/kvm.h
new file mode 100644
index 00000000000..7ed27fce524
--- /dev/null
+++ b/include/asm-m68k/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_M68K_H
2#define __LINUX_KVM_M68K_H
3
4/* m68k does not support KVM */
5
6#endif
diff --git a/include/asm-m68knommu/kvm.h b/include/asm-m68knommu/kvm.h
new file mode 100644
index 00000000000..b49d4258dab
--- /dev/null
+++ b/include/asm-m68knommu/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_M68KNOMMU_H
2#define __LINUX_KVM_M68KNOMMU_H
3
4/* m68knommu does not support KVM */
5
6#endif
diff --git a/include/asm-mips/kvm.h b/include/asm-mips/kvm.h
new file mode 100644
index 00000000000..093a5b7f796
--- /dev/null
+++ b/include/asm-mips/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_MIPS_H
2#define __LINUX_KVM_MIPS_H
3
4/* mips does not support KVM */
5
6#endif
diff --git a/include/asm-mips/mach-au1x00/au1000.h b/include/asm-mips/mach-au1x00/au1000.h
index cb18af98964..5bb57bf2b9d 100644
--- a/include/asm-mips/mach-au1x00/au1000.h
+++ b/include/asm-mips/mach-au1x00/au1000.h
@@ -1786,6 +1786,7 @@ struct cpu_spec {
1786 char *cpu_name; 1786 char *cpu_name;
1787 unsigned char cpu_od; /* Set Config[OD] */ 1787 unsigned char cpu_od; /* Set Config[OD] */
1788 unsigned char cpu_bclk; /* Enable BCLK switching */ 1788 unsigned char cpu_bclk; /* Enable BCLK switching */
1789 unsigned char cpu_pll_wo; /* sys_cpupll reg. write-only */
1789}; 1790};
1790 1791
1791extern struct cpu_spec cpu_specs[]; 1792extern struct cpu_spec cpu_specs[];
diff --git a/include/asm-mn10300/kvm.h b/include/asm-mn10300/kvm.h
new file mode 100644
index 00000000000..f6b609ff4a5
--- /dev/null
+++ b/include/asm-mn10300/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_MN10300_H
2#define __LINUX_KVM_MN10300_H
3
4/* mn10300 does not support KVM */
5
6#endif
diff --git a/include/asm-parisc/kvm.h b/include/asm-parisc/kvm.h
new file mode 100644
index 00000000000..00cc4581254
--- /dev/null
+++ b/include/asm-parisc/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_PARISC_H
2#define __LINUX_KVM_PARISC_H
3
4/* parisc does not support KVM */
5
6#endif
diff --git a/include/asm-powerpc/kvm.h b/include/asm-powerpc/kvm.h
new file mode 100644
index 00000000000..d1b530fbf8d
--- /dev/null
+++ b/include/asm-powerpc/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_POWERPC_H
2#define __LINUX_KVM_POWERPC_H
3
4/* powerpc does not support KVM */
5
6#endif
diff --git a/include/asm-s390/kvm.h b/include/asm-s390/kvm.h
new file mode 100644
index 00000000000..573f2a35138
--- /dev/null
+++ b/include/asm-s390/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_S390_H
2#define __LINUX_KVM_S390_H
3
4/* s390 does not support KVM */
5
6#endif
diff --git a/include/asm-sh/byteorder.h b/include/asm-sh/byteorder.h
index 0eb9904b654..4c13e611756 100644
--- a/include/asm-sh/byteorder.h
+++ b/include/asm-sh/byteorder.h
@@ -11,13 +11,13 @@
11static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) 11static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
12{ 12{
13 __asm__( 13 __asm__(
14#ifdef CONFIG_SUPERH32 14#ifdef __SH5__
15 "byterev %0, %0\n\t"
16 "shari %0, 32, %0"
17#else
15 "swap.b %0, %0\n\t" 18 "swap.b %0, %0\n\t"
16 "swap.w %0, %0\n\t" 19 "swap.w %0, %0\n\t"
17 "swap.b %0, %0" 20 "swap.b %0, %0"
18#else
19 "byterev %0, %0\n\t"
20 "shari %0, 32, %0"
21#endif 21#endif
22 : "=r" (x) 22 : "=r" (x)
23 : "0" (x)); 23 : "0" (x));
@@ -28,12 +28,11 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
28static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) 28static inline __attribute_const__ __u16 ___arch__swab16(__u16 x)
29{ 29{
30 __asm__( 30 __asm__(
31#ifdef CONFIG_SUPERH32 31#ifdef __SH5__
32 "swap.b %0, %0"
33#else
34 "byterev %0, %0\n\t" 32 "byterev %0, %0\n\t"
35 "shari %0, 32, %0" 33 "shari %0, 32, %0"
36 34#else
35 "swap.b %0, %0"
37#endif 36#endif
38 : "=r" (x) 37 : "=r" (x)
39 : "0" (x)); 38 : "0" (x));
diff --git a/include/asm-sh/floppy.h b/include/asm-sh/floppy.h
deleted file mode 100644
index 59fbfdc90df..00000000000
--- a/include/asm-sh/floppy.h
+++ /dev/null
@@ -1,268 +0,0 @@
1/*
2 * Architecture specific parts of the Floppy driver
3 * include/asm-i386/floppy.h
4 *
5 * This file is subject to the terms and conditions of the GNU General Public
6 * License. See the file "COPYING" in the main directory of this archive
7 * for more details.
8 *
9 * Copyright (C) 1995
10 */
11#ifndef __ASM_SH_FLOPPY_H
12#define __ASM_SH_FLOPPY_H
13
14#include <linux/vmalloc.h>
15
16
17/*
18 * The DMA channel used by the floppy controller cannot access data at
19 * addresses >= 16MB
20 *
21 * Went back to the 1MB limit, as some people had problems with the floppy
22 * driver otherwise. It doesn't matter much for performance anyway, as most
23 * floppy accesses go through the track buffer.
24 */
25#define _CROSS_64KB(a,s,vdma) \
26(!vdma && ((unsigned long)(a)/K_64 != ((unsigned long)(a) + (s) - 1) / K_64))
27
28#define CROSS_64KB(a,s) _CROSS_64KB(a,s,use_virtual_dma & 1)
29
30
31#define SW fd_routine[use_virtual_dma&1]
32#define CSW fd_routine[can_use_virtual_dma & 1]
33
34
35#define fd_inb(port) inb_p(port)
36#define fd_outb(value,port) outb_p(value,port)
37
38#define fd_request_dma() CSW._request_dma(FLOPPY_DMA,"floppy")
39#define fd_free_dma() CSW._free_dma(FLOPPY_DMA)
40#define fd_enable_irq() enable_irq(FLOPPY_IRQ)
41#define fd_disable_irq() disable_irq(FLOPPY_IRQ)
42#define fd_free_irq() free_irq(FLOPPY_IRQ, NULL)
43#define fd_get_dma_residue() SW._get_dma_residue(FLOPPY_DMA)
44#define fd_dma_mem_alloc(size) SW._dma_mem_alloc(size)
45#define fd_dma_setup(addr, size, mode, io) SW._dma_setup(addr, size, mode, io)
46
47#define FLOPPY_CAN_FALLBACK_ON_NODMA
48
49static int virtual_dma_count;
50static int virtual_dma_residue;
51static char *virtual_dma_addr;
52static int virtual_dma_mode;
53static int doing_pdma;
54
55static void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
56{
57 register unsigned char st;
58
59#undef TRACE_FLPY_INT
60
61#ifdef TRACE_FLPY_INT
62 static int calls=0;
63 static int bytes=0;
64 static int dma_wait=0;
65#endif
66 if(!doing_pdma) {
67 floppy_interrupt(irq, dev_id, regs);
68 return;
69 }
70
71#ifdef TRACE_FLPY_INT
72 if(!calls)
73 bytes = virtual_dma_count;
74#endif
75
76 {
77 register int lcount;
78 register char *lptr;
79
80 st = 1;
81 for(lcount=virtual_dma_count, lptr=virtual_dma_addr;
82 lcount; lcount--, lptr++) {
83 st=inb(virtual_dma_port+4) & 0xa0 ;
84 if(st != 0xa0)
85 break;
86 if(virtual_dma_mode)
87 outb_p(*lptr, virtual_dma_port+5);
88 else
89 *lptr = inb_p(virtual_dma_port+5);
90 }
91 virtual_dma_count = lcount;
92 virtual_dma_addr = lptr;
93 st = inb(virtual_dma_port+4);
94 }
95
96#ifdef TRACE_FLPY_INT
97 calls++;
98#endif
99 if(st == 0x20)
100 return;
101 if(!(st & 0x20)) {
102 virtual_dma_residue += virtual_dma_count;
103 virtual_dma_count=0;
104#ifdef TRACE_FLPY_INT
105 printk("count=%x, residue=%x calls=%d bytes=%d dma_wait=%d\n",
106 virtual_dma_count, virtual_dma_residue, calls, bytes,
107 dma_wait);
108 calls = 0;
109 dma_wait=0;
110#endif
111 doing_pdma = 0;
112 floppy_interrupt(irq, dev_id, regs);
113 return;
114 }
115#ifdef TRACE_FLPY_INT
116 if(!virtual_dma_count)
117 dma_wait++;
118#endif
119}
120
121static void fd_disable_dma(void)
122{
123 if(! (can_use_virtual_dma & 1))
124 disable_dma(FLOPPY_DMA);
125 doing_pdma = 0;
126 virtual_dma_residue += virtual_dma_count;
127 virtual_dma_count=0;
128}
129
130static int vdma_request_dma(unsigned int dmanr, const char * device_id)
131{
132 return 0;
133}
134
135static void vdma_nop(unsigned int dummy)
136{
137}
138
139
140static int vdma_get_dma_residue(unsigned int dummy)
141{
142 return virtual_dma_count + virtual_dma_residue;
143}
144
145
146static int fd_request_irq(void)
147{
148 if(can_use_virtual_dma)
149 return request_irq(FLOPPY_IRQ, floppy_hardint,
150 IRQF_DISABLED, "floppy", NULL);
151 else
152 return request_irq(FLOPPY_IRQ, floppy_interrupt,
153 IRQF_DISABLED, "floppy", NULL);
154}
155
156static unsigned long dma_mem_alloc(unsigned long size)
157{
158 return __get_dma_pages(GFP_KERNEL,get_order(size));
159}
160
161
162static unsigned long vdma_mem_alloc(unsigned long size)
163{
164 return (unsigned long) vmalloc(size);
165
166}
167
168#define nodma_mem_alloc(size) vdma_mem_alloc(size)
169
170static void _fd_dma_mem_free(unsigned long addr, unsigned long size)
171{
172 if((unsigned int) addr >= (unsigned int) high_memory)
173 return vfree((void *)addr);
174 else
175 free_pages(addr, get_order(size));
176}
177
178#define fd_dma_mem_free(addr, size) _fd_dma_mem_free(addr, size)
179
180static void _fd_chose_dma_mode(char *addr, unsigned long size)
181{
182 if(can_use_virtual_dma == 2) {
183 if((unsigned int) addr >= (unsigned int) high_memory ||
184 virt_to_phys(addr) >= 0x10000000)
185 use_virtual_dma = 1;
186 else
187 use_virtual_dma = 0;
188 } else {
189 use_virtual_dma = can_use_virtual_dma & 1;
190 }
191}
192
193#define fd_chose_dma_mode(addr, size) _fd_chose_dma_mode(addr, size)
194
195
196static int vdma_dma_setup(char *addr, unsigned long size, int mode, int io)
197{
198 doing_pdma = 1;
199 virtual_dma_port = io;
200 virtual_dma_mode = (mode == DMA_MODE_WRITE);
201 virtual_dma_addr = addr;
202 virtual_dma_count = size;
203 virtual_dma_residue = 0;
204 return 0;
205}
206
207static int hard_dma_setup(char *addr, unsigned long size, int mode, int io)
208{
209#ifdef FLOPPY_SANITY_CHECK
210 if (CROSS_64KB(addr, size)) {
211 printk("DMA crossing 64-K boundary %p-%p\n", addr, addr+size);
212 return -1;
213 }
214#endif
215
216 __flush_purge_region(addr, size);
217
218 /* actual, physical DMA */
219 doing_pdma = 0;
220 clear_dma_ff(FLOPPY_DMA);
221 set_dma_mode(FLOPPY_DMA,mode);
222 set_dma_addr(FLOPPY_DMA,virt_to_phys(addr));
223 set_dma_count(FLOPPY_DMA,size);
224 enable_dma(FLOPPY_DMA);
225 return 0;
226}
227
228static struct fd_routine_l {
229 int (*_request_dma)(unsigned int dmanr, const char * device_id);
230 void (*_free_dma)(unsigned int dmanr);
231 int (*_get_dma_residue)(unsigned int dummy);
232 unsigned long (*_dma_mem_alloc) (unsigned long size);
233 int (*_dma_setup)(char *addr, unsigned long size, int mode, int io);
234} fd_routine[] = {
235 {
236 request_dma,
237 free_dma,
238 get_dma_residue,
239 dma_mem_alloc,
240 hard_dma_setup
241 },
242 {
243 vdma_request_dma,
244 vdma_nop,
245 vdma_get_dma_residue,
246 vdma_mem_alloc,
247 vdma_dma_setup
248 }
249};
250
251
252static int FDC1 = 0x3f0;
253static int FDC2 = -1;
254
255/*
256 * Floppy types are stored in the rtc's CMOS RAM and so rtc_lock
257 * is needed to prevent corrupted CMOS RAM in case "insmod floppy"
258 * coincides with another rtc CMOS user. Paul G.
259 */
260#define FLOPPY0_TYPE (4)
261#define FLOPPY1_TYPE (0)
262
263#define N_FDC 2
264#define N_DRIVE 8
265
266#define EXTRA_FLOPPY_PARAMS
267
268#endif /* __ASM_SH_FLOPPY_H */
diff --git a/include/asm-sh/fpu.h b/include/asm-sh/fpu.h
index f8429880a27..91462fea150 100644
--- a/include/asm-sh/fpu.h
+++ b/include/asm-sh/fpu.h
@@ -1,9 +1,8 @@
1#ifndef __ASM_SH_FPU_H 1#ifndef __ASM_SH_FPU_H
2#define __ASM_SH_FPU_H 2#define __ASM_SH_FPU_H
3 3
4#define SR_FD 0x00008000
5
6#ifndef __ASSEMBLY__ 4#ifndef __ASSEMBLY__
5#include <linux/preempt.h>
7#include <asm/ptrace.h> 6#include <asm/ptrace.h>
8 7
9#ifdef CONFIG_SH_FPU 8#ifdef CONFIG_SH_FPU
@@ -21,25 +20,35 @@ struct task_struct;
21 20
22extern void save_fpu(struct task_struct *__tsk, struct pt_regs *regs); 21extern void save_fpu(struct task_struct *__tsk, struct pt_regs *regs);
23#else 22#else
23
24#define release_fpu(regs) do { } while (0) 24#define release_fpu(regs) do { } while (0)
25#define grab_fpu(regs) do { } while (0) 25#define grab_fpu(regs) do { } while (0)
26#define save_fpu(tsk, regs) do { } while (0) 26
27static inline void save_fpu(struct task_struct *tsk, struct pt_regs *regs)
28{
29 clear_tsk_thread_flag(tsk, TIF_USEDFPU);
30}
27#endif 31#endif
28 32
29extern int do_fpu_inst(unsigned short, struct pt_regs *); 33extern int do_fpu_inst(unsigned short, struct pt_regs *);
30 34
31#define unlazy_fpu(tsk, regs) do { \ 35static inline void unlazy_fpu(struct task_struct *tsk, struct pt_regs *regs)
32 if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) { \ 36{
33 save_fpu(tsk, regs); \ 37 preempt_disable();
34 } \ 38 if (test_tsk_thread_flag(tsk, TIF_USEDFPU))
35} while (0) 39 save_fpu(tsk, regs);
36 40 preempt_enable();
37#define clear_fpu(tsk, regs) do { \ 41}
38 if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) { \ 42
39 clear_tsk_thread_flag(tsk, TIF_USEDFPU); \ 43static inline void clear_fpu(struct task_struct *tsk, struct pt_regs *regs)
40 release_fpu(regs); \ 44{
41 } \ 45 preempt_disable();
42} while (0) 46 if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) {
47 clear_tsk_thread_flag(tsk, TIF_USEDFPU);
48 release_fpu(regs);
49 }
50 preempt_enable();
51}
43 52
44#endif /* __ASSEMBLY__ */ 53#endif /* __ASSEMBLY__ */
45 54
diff --git a/include/asm-sh/kvm.h b/include/asm-sh/kvm.h
new file mode 100644
index 00000000000..6af51dbab2d
--- /dev/null
+++ b/include/asm-sh/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_SH_H
2#define __LINUX_KVM_SH_H
3
4/* sh does not support KVM */
5
6#endif
diff --git a/include/asm-sh/posix_types.h b/include/asm-sh/posix_types.h
index 4b9d11c9fc7..4eeb723aee7 100644
--- a/include/asm-sh/posix_types.h
+++ b/include/asm-sh/posix_types.h
@@ -4,4 +4,10 @@
4# else 4# else
5# include "posix_types_64.h" 5# include "posix_types_64.h"
6# endif 6# endif
7#else
8# ifdef __SH5__
9# include "posix_types_64.h"
10# else
11# include "posix_types_32.h"
12# endif
7#endif /* __KERNEL__ */ 13#endif /* __KERNEL__ */
diff --git a/include/asm-sh/processor.h b/include/asm-sh/processor.h
index 19fe47c1ca1..ec707b98e5b 100644
--- a/include/asm-sh/processor.h
+++ b/include/asm-sh/processor.h
@@ -2,7 +2,6 @@
2#define __ASM_SH_PROCESSOR_H 2#define __ASM_SH_PROCESSOR_H
3 3
4#include <asm/cpu-features.h> 4#include <asm/cpu-features.h>
5#include <asm/fpu.h>
6 5
7#ifndef __ASSEMBLY__ 6#ifndef __ASSEMBLY__
8/* 7/*
diff --git a/include/asm-sh/processor_32.h b/include/asm-sh/processor_32.h
index df2d5b039ef..c09305d6a9d 100644
--- a/include/asm-sh/processor_32.h
+++ b/include/asm-sh/processor_32.h
@@ -70,6 +70,7 @@ extern struct sh_cpuinfo cpu_data[];
70 */ 70 */
71#define SR_DSP 0x00001000 71#define SR_DSP 0x00001000
72#define SR_IMASK 0x000000f0 72#define SR_IMASK 0x000000f0
73#define SR_FD 0x00008000
73 74
74/* 75/*
75 * FPU structure and data 76 * FPU structure and data
diff --git a/include/asm-sh/processor_64.h b/include/asm-sh/processor_64.h
index eda4bef448e..88a2edf8fa5 100644
--- a/include/asm-sh/processor_64.h
+++ b/include/asm-sh/processor_64.h
@@ -112,6 +112,7 @@ extern struct sh_cpuinfo cpu_data[];
112#endif 112#endif
113 113
114#define SR_IMASK 0x000000f0 114#define SR_IMASK 0x000000f0
115#define SR_FD 0x00008000
115#define SR_SSTEP 0x08000000 116#define SR_SSTEP 0x08000000
116 117
117#ifndef __ASSEMBLY__ 118#ifndef __ASSEMBLY__
diff --git a/include/asm-sparc/kvm.h b/include/asm-sparc/kvm.h
new file mode 100644
index 00000000000..2e5478da381
--- /dev/null
+++ b/include/asm-sparc/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_SPARC_H
2#define __LINUX_KVM_SPARC_H
3
4/* sparc does not support KVM */
5
6#endif
diff --git a/include/asm-sparc64/backoff.h b/include/asm-sparc64/backoff.h
index dadd6c385c6..fa1fdf67e35 100644
--- a/include/asm-sparc64/backoff.h
+++ b/include/asm-sparc64/backoff.h
@@ -12,7 +12,8 @@
12 mov reg, tmp; \ 12 mov reg, tmp; \
1388: brnz,pt tmp, 88b; \ 1388: brnz,pt tmp, 88b; \
14 sub tmp, 1, tmp; \ 14 sub tmp, 1, tmp; \
15 cmp reg, BACKOFF_LIMIT; \ 15 set BACKOFF_LIMIT, tmp; \
16 cmp reg, tmp; \
16 bg,pn %xcc, label; \ 17 bg,pn %xcc, label; \
17 nop; \ 18 nop; \
18 ba,pt %xcc, label; \ 19 ba,pt %xcc, label; \
diff --git a/include/asm-sparc64/cpudata.h b/include/asm-sparc64/cpudata.h
index 542421460a1..532975ecfe1 100644
--- a/include/asm-sparc64/cpudata.h
+++ b/include/asm-sparc64/cpudata.h
@@ -86,6 +86,8 @@ extern struct trap_per_cpu trap_block[NR_CPUS];
86extern void init_cur_cpu_trap(struct thread_info *); 86extern void init_cur_cpu_trap(struct thread_info *);
87extern void setup_tba(void); 87extern void setup_tba(void);
88extern int ncpus_probed; 88extern int ncpus_probed;
89extern void __init cpu_probe(void);
90extern const struct seq_operations cpuinfo_op;
89 91
90extern unsigned long real_hard_smp_processor_id(void); 92extern unsigned long real_hard_smp_processor_id(void);
91 93
diff --git a/include/asm-sparc64/dcu.h b/include/asm-sparc64/dcu.h
index ecbed2ae548..0f704e106a1 100644
--- a/include/asm-sparc64/dcu.h
+++ b/include/asm-sparc64/dcu.h
@@ -1,26 +1,27 @@
1/* $Id: dcu.h,v 1.2 2001/03/01 23:23:33 davem Exp $ */
2#ifndef _SPARC64_DCU_H 1#ifndef _SPARC64_DCU_H
3#define _SPARC64_DCU_H 2#define _SPARC64_DCU_H
4 3
4#include <linux/const.h>
5
5/* UltraSparc-III Data Cache Unit Control Register */ 6/* UltraSparc-III Data Cache Unit Control Register */
6#define DCU_CP 0x0002000000000000 /* Physical Cache Enable w/o mmu*/ 7#define DCU_CP _AC(0x0002000000000000,UL) /* Phys Cache Enable w/o mmu */
7#define DCU_CV 0x0001000000000000 /* Virtual Cache Enable w/o mmu */ 8#define DCU_CV _AC(0x0001000000000000,UL) /* Virt Cache Enable w/o mmu */
8#define DCU_ME 0x0000800000000000 /* NC-store Merging Enable */ 9#define DCU_ME _AC(0x0000800000000000,UL) /* NC-store Merging Enable */
9#define DCU_RE 0x0000400000000000 /* RAW bypass Enable */ 10#define DCU_RE _AC(0x0000400000000000,UL) /* RAW bypass Enable */
10#define DCU_PE 0x0000200000000000 /* PCache Enable */ 11#define DCU_PE _AC(0x0000200000000000,UL) /* PCache Enable */
11#define DCU_HPE 0x0000100000000000 /* HW prefetch Enable */ 12#define DCU_HPE _AC(0x0000100000000000,UL) /* HW prefetch Enable */
12#define DCU_SPE 0x0000080000000000 /* SW prefetch Enable */ 13#define DCU_SPE _AC(0x0000080000000000,UL) /* SW prefetch Enable */
13#define DCU_SL 0x0000040000000000 /* Secondary load steering Enab */ 14#define DCU_SL _AC(0x0000040000000000,UL) /* Secondary ld-steering Enab*/
14#define DCU_WE 0x0000020000000000 /* WCache enable */ 15#define DCU_WE _AC(0x0000020000000000,UL) /* WCache enable */
15#define DCU_PM 0x000001fe00000000 /* PA Watchpoint Byte Mask */ 16#define DCU_PM _AC(0x000001fe00000000,UL) /* PA Watchpoint Byte Mask */
16#define DCU_VM 0x00000001fe000000 /* VA Watchpoint Byte Mask */ 17#define DCU_VM _AC(0x00000001fe000000,UL) /* VA Watchpoint Byte Mask */
17#define DCU_PR 0x0000000001000000 /* PA Watchpoint Read Enable */ 18#define DCU_PR _AC(0x0000000001000000,UL) /* PA Watchpoint Read Enable */
18#define DCU_PW 0x0000000000800000 /* PA Watchpoint Write Enable */ 19#define DCU_PW _AC(0x0000000000800000,UL) /* PA Watchpoint Write Enable*/
19#define DCU_VR 0x0000000000400000 /* VA Watchpoint Read Enable */ 20#define DCU_VR _AC(0x0000000000400000,UL) /* VA Watchpoint Read Enable */
20#define DCU_VW 0x0000000000200000 /* VA Watchpoint Write Enable */ 21#define DCU_VW _AC(0x0000000000200000,UL) /* VA Watchpoint Write Enable*/
21#define DCU_DM 0x0000000000000008 /* DMMU Enable */ 22#define DCU_DM _AC(0x0000000000000008,UL) /* DMMU Enable */
22#define DCU_IM 0x0000000000000004 /* IMMU Enable */ 23#define DCU_IM _AC(0x0000000000000004,UL) /* IMMU Enable */
23#define DCU_DC 0x0000000000000002 /* Data Cache Enable */ 24#define DCU_DC _AC(0x0000000000000002,UL) /* Data Cache Enable */
24#define DCU_IC 0x0000000000000001 /* Instruction Cache Enable */ 25#define DCU_IC _AC(0x0000000000000001,UL) /* Instruction Cache Enable */
25 26
26#endif /* _SPARC64_DCU_H */ 27#endif /* _SPARC64_DCU_H */
diff --git a/include/asm-sparc64/hvtramp.h b/include/asm-sparc64/hvtramp.h
index c7dd6ad056d..b2b9b947b3a 100644
--- a/include/asm-sparc64/hvtramp.h
+++ b/include/asm-sparc64/hvtramp.h
@@ -16,7 +16,7 @@ struct hvtramp_descr {
16 __u64 fault_info_va; 16 __u64 fault_info_va;
17 __u64 fault_info_pa; 17 __u64 fault_info_pa;
18 __u64 thread_reg; 18 __u64 thread_reg;
19 struct hvtramp_mapping maps[2]; 19 struct hvtramp_mapping maps[1];
20}; 20};
21 21
22extern void hv_cpu_startup(unsigned long hvdescr_pa); 22extern void hv_cpu_startup(unsigned long hvdescr_pa);
diff --git a/include/asm-sparc64/irq.h b/include/asm-sparc64/irq.h
index 30cb76b47be..0bb9bf53174 100644
--- a/include/asm-sparc64/irq.h
+++ b/include/asm-sparc64/irq.h
@@ -64,6 +64,7 @@ extern unsigned char virt_irq_alloc(unsigned int dev_handle,
64extern void virt_irq_free(unsigned int virt_irq); 64extern void virt_irq_free(unsigned int virt_irq);
65#endif 65#endif
66 66
67extern void __init init_IRQ(void);
67extern void fixup_irqs(void); 68extern void fixup_irqs(void);
68 69
69static inline void set_softint(unsigned long bits) 70static inline void set_softint(unsigned long bits)
diff --git a/include/asm-sparc64/kvm.h b/include/asm-sparc64/kvm.h
new file mode 100644
index 00000000000..380537a77bf
--- /dev/null
+++ b/include/asm-sparc64/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_SPARC64_H
2#define __LINUX_KVM_SPARC64_H
3
4/* sparc64 does not support KVM */
5
6#endif
diff --git a/include/asm-sparc64/pgtable.h b/include/asm-sparc64/pgtable.h
index 3167ccff64f..549e45266b6 100644
--- a/include/asm-sparc64/pgtable.h
+++ b/include/asm-sparc64/pgtable.h
@@ -23,9 +23,9 @@
23#include <asm/page.h> 23#include <asm/page.h>
24#include <asm/processor.h> 24#include <asm/processor.h>
25 25
26/* The kernel image occupies 0x4000000 to 0x1000000 (4MB --> 32MB). 26/* The kernel image occupies 0x4000000 to 0x6000000 (4MB --> 96MB).
27 * The page copy blockops can use 0x2000000 to 0x4000000. 27 * The page copy blockops can use 0x6000000 to 0x8000000.
28 * The TSB is mapped in the 0x4000000 to 0x6000000 range. 28 * The TSB is mapped in the 0x8000000 to 0xa000000 range.
29 * The PROM resides in an area spanning 0xf0000000 to 0x100000000. 29 * The PROM resides in an area spanning 0xf0000000 to 0x100000000.
30 * The vmalloc area spans 0x100000000 to 0x200000000. 30 * The vmalloc area spans 0x100000000 to 0x200000000.
31 * Since modules need to be in the lowest 32-bits of the address space, 31 * Since modules need to be in the lowest 32-bits of the address space,
@@ -33,8 +33,8 @@
33 * There is a single static kernel PMD which maps from 0x0 to address 33 * There is a single static kernel PMD which maps from 0x0 to address
34 * 0x400000000. 34 * 0x400000000.
35 */ 35 */
36#define TLBTEMP_BASE _AC(0x0000000002000000,UL) 36#define TLBTEMP_BASE _AC(0x0000000006000000,UL)
37#define TSBMAP_BASE _AC(0x0000000004000000,UL) 37#define TSBMAP_BASE _AC(0x0000000008000000,UL)
38#define MODULES_VADDR _AC(0x0000000010000000,UL) 38#define MODULES_VADDR _AC(0x0000000010000000,UL)
39#define MODULES_LEN _AC(0x00000000e0000000,UL) 39#define MODULES_LEN _AC(0x00000000e0000000,UL)
40#define MODULES_END _AC(0x00000000f0000000,UL) 40#define MODULES_END _AC(0x00000000f0000000,UL)
@@ -761,6 +761,8 @@ extern unsigned long get_fb_unmapped_area(struct file *filp, unsigned long,
761extern void pgtable_cache_init(void); 761extern void pgtable_cache_init(void);
762extern void sun4v_register_fault_status(void); 762extern void sun4v_register_fault_status(void);
763extern void sun4v_ktsb_register(void); 763extern void sun4v_ktsb_register(void);
764extern void __init cheetah_ecache_flush_init(void);
765extern void sun4v_patch_tlb_handlers(void);
764 766
765extern unsigned long cmdline_memory_size; 767extern unsigned long cmdline_memory_size;
766 768
diff --git a/include/asm-sparc64/processor.h b/include/asm-sparc64/processor.h
index 8da484c1982..885b6a1dcae 100644
--- a/include/asm-sparc64/processor.h
+++ b/include/asm-sparc64/processor.h
@@ -37,6 +37,9 @@
37#endif 37#endif
38 38
39#define TASK_SIZE ((unsigned long)-VPTE_SIZE) 39#define TASK_SIZE ((unsigned long)-VPTE_SIZE)
40#define TASK_SIZE_OF(tsk) \
41 (test_tsk_thread_flag(tsk,TIF_32BIT) ? \
42 (1UL << 32UL) : TASK_SIZE)
40#ifdef __KERNEL__ 43#ifdef __KERNEL__
41 44
42#define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE) 45#define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE)
diff --git a/include/asm-sparc64/spitfire.h b/include/asm-sparc64/spitfire.h
index 63b7040e813..985ea7e3199 100644
--- a/include/asm-sparc64/spitfire.h
+++ b/include/asm-sparc64/spitfire.h
@@ -63,6 +63,8 @@ extern void cheetah_enable_pcache(void);
63 SPITFIRE_HIGHEST_LOCKED_TLBENT : \ 63 SPITFIRE_HIGHEST_LOCKED_TLBENT : \
64 CHEETAH_HIGHEST_LOCKED_TLBENT) 64 CHEETAH_HIGHEST_LOCKED_TLBENT)
65 65
66extern int num_kernel_image_mappings;
67
66/* The data cache is write through, so this just invalidates the 68/* The data cache is write through, so this just invalidates the
67 * specified line. 69 * specified line.
68 */ 70 */
diff --git a/include/asm-sparc64/stacktrace.h b/include/asm-sparc64/stacktrace.h
new file mode 100644
index 00000000000..6cee39adf6d
--- /dev/null
+++ b/include/asm-sparc64/stacktrace.h
@@ -0,0 +1,6 @@
1#ifndef _SPARC64_STACKTRACE_H
2#define _SPARC64_STACKTRACE_H
3
4extern void stack_trace_flush(void);
5
6#endif /* _SPARC64_STACKTRACE_H */
diff --git a/include/asm-sparc64/timer.h b/include/asm-sparc64/timer.h
index ccbd6944886..5b779fd1f78 100644
--- a/include/asm-sparc64/timer.h
+++ b/include/asm-sparc64/timer.h
@@ -1,14 +1,13 @@
1/* $Id: timer.h,v 1.3 2000/05/09 17:40:15 davem Exp $ 1/* timer.h: System timer definitions for sun5.
2 * timer.h: System timer definitions for sun5.
3 * 2 *
4 * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) 3 * Copyright (C) 1997, 2008 David S. Miller (davem@davemloft.net)
5 */ 4 */
6 5
7#ifndef _SPARC64_TIMER_H 6#ifndef _SPARC64_TIMER_H
8#define _SPARC64_TIMER_H 7#define _SPARC64_TIMER_H
9 8
10#include <linux/types.h> 9#include <linux/types.h>
11 10#include <linux/init.h>
12 11
13struct sparc64_tick_ops { 12struct sparc64_tick_ops {
14 unsigned long (*get_tick)(void); 13 unsigned long (*get_tick)(void);
@@ -25,5 +24,7 @@ struct sparc64_tick_ops {
25extern struct sparc64_tick_ops *tick_ops; 24extern struct sparc64_tick_ops *tick_ops;
26 25
27extern unsigned long sparc64_get_clock_tick(unsigned int cpu); 26extern unsigned long sparc64_get_clock_tick(unsigned int cpu);
27extern void __devinit setup_sparc64_timer(void);
28extern void __init time_init(void);
28 29
29#endif /* _SPARC64_TIMER_H */ 30#endif /* _SPARC64_TIMER_H */
diff --git a/include/asm-um/kvm.h b/include/asm-um/kvm.h
new file mode 100644
index 00000000000..66aa7709455
--- /dev/null
+++ b/include/asm-um/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_UM_H
2#define __LINUX_KVM_UM_H
3
4/* um does not support KVM */
5
6#endif
diff --git a/include/asm-v850/kvm.h b/include/asm-v850/kvm.h
new file mode 100644
index 00000000000..3f729b79feb
--- /dev/null
+++ b/include/asm-v850/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_V850_H
2#define __LINUX_KVM_V850_H
3
4/* v850 does not support KVM */
5
6#endif
diff --git a/include/asm-x86/cmpxchg_32.h b/include/asm-x86/cmpxchg_32.h
index cea1dae288a..959fad00dff 100644
--- a/include/asm-x86/cmpxchg_32.h
+++ b/include/asm-x86/cmpxchg_32.h
@@ -269,22 +269,26 @@ static inline unsigned long cmpxchg_386(volatile void *ptr, unsigned long old,
269({ \ 269({ \
270 __typeof__(*(ptr)) __ret; \ 270 __typeof__(*(ptr)) __ret; \
271 if (likely(boot_cpu_data.x86 > 3)) \ 271 if (likely(boot_cpu_data.x86 > 3)) \
272 __ret = __cmpxchg((ptr), (unsigned long)(o), \ 272 __ret = (__typeof__(*(ptr)))__cmpxchg((ptr), \
273 (unsigned long)(n), sizeof(*(ptr))); \ 273 (unsigned long)(o), (unsigned long)(n), \
274 sizeof(*(ptr))); \
274 else \ 275 else \
275 __ret = cmpxchg_386((ptr), (unsigned long)(o), \ 276 __ret = (__typeof__(*(ptr)))cmpxchg_386((ptr), \
276 (unsigned long)(n), sizeof(*(ptr))); \ 277 (unsigned long)(o), (unsigned long)(n), \
278 sizeof(*(ptr))); \
277 __ret; \ 279 __ret; \
278}) 280})
279#define cmpxchg_local(ptr, o, n) \ 281#define cmpxchg_local(ptr, o, n) \
280({ \ 282({ \
281 __typeof__(*(ptr)) __ret; \ 283 __typeof__(*(ptr)) __ret; \
282 if (likely(boot_cpu_data.x86 > 3)) \ 284 if (likely(boot_cpu_data.x86 > 3)) \
283 __ret = __cmpxchg_local((ptr), (unsigned long)(o), \ 285 __ret = (__typeof__(*(ptr)))__cmpxchg_local((ptr), \
284 (unsigned long)(n), sizeof(*(ptr))); \ 286 (unsigned long)(o), (unsigned long)(n), \
287 sizeof(*(ptr))); \
285 else \ 288 else \
286 __ret = cmpxchg_386((ptr), (unsigned long)(o), \ 289 __ret = (__typeof__(*(ptr)))cmpxchg_386((ptr), \
287 (unsigned long)(n), sizeof(*(ptr))); \ 290 (unsigned long)(o), (unsigned long)(n), \
291 sizeof(*(ptr))); \
288 __ret; \ 292 __ret; \
289}) 293})
290#endif 294#endif
@@ -301,10 +305,12 @@ extern unsigned long long cmpxchg_486_u64(volatile void *, u64, u64);
301({ \ 305({ \
302 __typeof__(*(ptr)) __ret; \ 306 __typeof__(*(ptr)) __ret; \
303 if (likely(boot_cpu_data.x86 > 4)) \ 307 if (likely(boot_cpu_data.x86 > 4)) \
304 __ret = __cmpxchg64((ptr), (unsigned long long)(o), \ 308 __ret = (__typeof__(*(ptr)))__cmpxchg64((ptr), \
309 (unsigned long long)(o), \
305 (unsigned long long)(n)); \ 310 (unsigned long long)(n)); \
306 else \ 311 else \
307 __ret = cmpxchg_486_u64((ptr), (unsigned long long)(o), \ 312 __ret = (__typeof__(*(ptr)))cmpxchg_486_u64((ptr), \
313 (unsigned long long)(o), \
308 (unsigned long long)(n)); \ 314 (unsigned long long)(n)); \
309 __ret; \ 315 __ret; \
310}) 316})
@@ -312,10 +318,12 @@ extern unsigned long long cmpxchg_486_u64(volatile void *, u64, u64);
312({ \ 318({ \
313 __typeof__(*(ptr)) __ret; \ 319 __typeof__(*(ptr)) __ret; \
314 if (likely(boot_cpu_data.x86 > 4)) \ 320 if (likely(boot_cpu_data.x86 > 4)) \
315 __ret = __cmpxchg64_local((ptr), (unsigned long long)(o), \ 321 __ret = (__typeof__(*(ptr)))__cmpxchg64_local((ptr), \
322 (unsigned long long)(o), \
316 (unsigned long long)(n)); \ 323 (unsigned long long)(n)); \
317 else \ 324 else \
318 __ret = cmpxchg_486_u64((ptr), (unsigned long long)(o), \ 325 __ret = (__typeof__(*(ptr)))cmpxchg_486_u64((ptr), \
326 (unsigned long long)(o), \
319 (unsigned long long)(n)); \ 327 (unsigned long long)(n)); \
320 __ret; \ 328 __ret; \
321}) 329})
diff --git a/include/asm-x86/e820_32.h b/include/asm-x86/e820_32.h
index f1da7ebd190..e7207a6de3e 100644
--- a/include/asm-x86/e820_32.h
+++ b/include/asm-x86/e820_32.h
@@ -28,6 +28,8 @@ extern void find_max_pfn(void);
28extern void register_bootmem_low_pages(unsigned long max_low_pfn); 28extern void register_bootmem_low_pages(unsigned long max_low_pfn);
29extern void add_memory_region(unsigned long long start, 29extern void add_memory_region(unsigned long long start,
30 unsigned long long size, int type); 30 unsigned long long size, int type);
31extern void update_memory_range(u64 start, u64 size, unsigned old_type,
32 unsigned new_type);
31extern void e820_register_memory(void); 33extern void e820_register_memory(void);
32extern void limit_regions(unsigned long long size); 34extern void limit_regions(unsigned long long size);
33extern void print_memory_map(char *who); 35extern void print_memory_map(char *who);
diff --git a/include/asm-x86/e820_64.h b/include/asm-x86/e820_64.h
index a560c4f5d50..22ede73ae72 100644
--- a/include/asm-x86/e820_64.h
+++ b/include/asm-x86/e820_64.h
@@ -18,6 +18,8 @@ extern unsigned long find_e820_area(unsigned long start, unsigned long end,
18 unsigned size, unsigned long align); 18 unsigned size, unsigned long align);
19extern void add_memory_region(unsigned long start, unsigned long size, 19extern void add_memory_region(unsigned long start, unsigned long size,
20 int type); 20 int type);
21extern void update_memory_range(u64 start, u64 size, unsigned old_type,
22 unsigned new_type);
21extern void setup_memory_region(void); 23extern void setup_memory_region(void);
22extern void contig_e820_setup(void); 24extern void contig_e820_setup(void);
23extern unsigned long e820_end_of_ram(void); 25extern unsigned long e820_end_of_ram(void);
diff --git a/include/asm-x86/io_32.h b/include/asm-x86/io_32.h
index 58d2c45cd0b..d4d8fbd9378 100644
--- a/include/asm-x86/io_32.h
+++ b/include/asm-x86/io_32.h
@@ -114,13 +114,13 @@ static inline void * phys_to_virt(unsigned long address)
114 * If the area you are trying to map is a PCI BAR you should have a 114 * If the area you are trying to map is a PCI BAR you should have a
115 * look at pci_iomap(). 115 * look at pci_iomap().
116 */ 116 */
117extern void __iomem *ioremap_nocache(unsigned long offset, unsigned long size); 117extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
118extern void __iomem *ioremap_cache(unsigned long offset, unsigned long size); 118extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
119 119
120/* 120/*
121 * The default ioremap() behavior is non-cached: 121 * The default ioremap() behavior is non-cached:
122 */ 122 */
123static inline void __iomem *ioremap(unsigned long offset, unsigned long size) 123static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
124{ 124{
125 return ioremap_nocache(offset, size); 125 return ioremap_nocache(offset, size);
126} 126}
diff --git a/include/asm-x86/io_64.h b/include/asm-x86/io_64.h
index f64a59cc396..db0be2011a3 100644
--- a/include/asm-x86/io_64.h
+++ b/include/asm-x86/io_64.h
@@ -158,13 +158,13 @@ extern void early_iounmap(void *addr, unsigned long size);
158 * it's useful if some control registers are in such an area and write combining 158 * it's useful if some control registers are in such an area and write combining
159 * or read caching is not desirable: 159 * or read caching is not desirable:
160 */ 160 */
161extern void __iomem *ioremap_nocache(unsigned long offset, unsigned long size); 161extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
162extern void __iomem *ioremap_cache(unsigned long offset, unsigned long size); 162extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
163 163
164/* 164/*
165 * The default ioremap() behavior is non-cached: 165 * The default ioremap() behavior is non-cached:
166 */ 166 */
167static inline void __iomem *ioremap(unsigned long offset, unsigned long size) 167static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
168{ 168{
169 return ioremap_nocache(offset, size); 169 return ioremap_nocache(offset, size);
170} 170}
diff --git a/include/asm-x86/lguest_hcall.h b/include/asm-x86/lguest_hcall.h
index 758b9a5d453..f239e7069ca 100644
--- a/include/asm-x86/lguest_hcall.h
+++ b/include/asm-x86/lguest_hcall.h
@@ -27,7 +27,7 @@
27#ifndef __ASSEMBLY__ 27#ifndef __ASSEMBLY__
28#include <asm/hw_irq.h> 28#include <asm/hw_irq.h>
29 29
30/*G:031 First, how does our Guest contact the Host to ask for privileged 30/*G:031 But first, how does our Guest contact the Host to ask for privileged
31 * operations? There are two ways: the direct way is to make a "hypercall", 31 * operations? There are two ways: the direct way is to make a "hypercall",
32 * to make requests of the Host Itself. 32 * to make requests of the Host Itself.
33 * 33 *
diff --git a/include/asm-x86/mach-rdc321x/gpio.h b/include/asm-x86/mach-rdc321x/gpio.h
index db31b929b99..acce0b7d397 100644
--- a/include/asm-x86/mach-rdc321x/gpio.h
+++ b/include/asm-x86/mach-rdc321x/gpio.h
@@ -5,19 +5,20 @@ extern int rdc_gpio_get_value(unsigned gpio);
5extern void rdc_gpio_set_value(unsigned gpio, int value); 5extern void rdc_gpio_set_value(unsigned gpio, int value);
6extern int rdc_gpio_direction_input(unsigned gpio); 6extern int rdc_gpio_direction_input(unsigned gpio);
7extern int rdc_gpio_direction_output(unsigned gpio, int value); 7extern int rdc_gpio_direction_output(unsigned gpio, int value);
8 8extern int rdc_gpio_request(unsigned gpio, const char *label);
9extern void rdc_gpio_free(unsigned gpio);
10extern void __init rdc321x_gpio_setup(void);
9 11
10/* Wrappers for the arch-neutral GPIO API */ 12/* Wrappers for the arch-neutral GPIO API */
11 13
12static inline int gpio_request(unsigned gpio, const char *label) 14static inline int gpio_request(unsigned gpio, const char *label)
13{ 15{
14 /* Not yet implemented */ 16 return rdc_gpio_request(gpio, label);
15 return 0;
16} 17}
17 18
18static inline void gpio_free(unsigned gpio) 19static inline void gpio_free(unsigned gpio)
19{ 20{
20 /* Not yet implemented */ 21 rdc_gpio_free(gpio);
21} 22}
22 23
23static inline int gpio_direction_input(unsigned gpio) 24static inline int gpio_direction_input(unsigned gpio)
diff --git a/include/asm-x86/mach-rdc321x/rdc321x_defs.h b/include/asm-x86/mach-rdc321x/rdc321x_defs.h
index 838ba8f64fd..c8e9c8bed3d 100644
--- a/include/asm-x86/mach-rdc321x/rdc321x_defs.h
+++ b/include/asm-x86/mach-rdc321x/rdc321x_defs.h
@@ -3,4 +3,10 @@
3/* General purpose configuration and data registers */ 3/* General purpose configuration and data registers */
4#define RDC3210_CFGREG_ADDR 0x0CF8 4#define RDC3210_CFGREG_ADDR 0x0CF8
5#define RDC3210_CFGREG_DATA 0x0CFC 5#define RDC3210_CFGREG_DATA 0x0CFC
6#define RDC_MAX_GPIO 0x3A 6
7#define RDC321X_GPIO_CTRL_REG1 0x48
8#define RDC321X_GPIO_CTRL_REG2 0x84
9#define RDC321X_GPIO_DATA_REG1 0x4c
10#define RDC321X_GPIO_DATA_REG2 0x88
11
12#define RDC321X_MAX_GPIO 58
diff --git a/include/asm-x86/page.h b/include/asm-x86/page.h
index 1cb7c51bc29..a05b2896492 100644
--- a/include/asm-x86/page.h
+++ b/include/asm-x86/page.h
@@ -52,13 +52,13 @@ extern int page_is_ram(unsigned long pagenr);
52 52
53struct page; 53struct page;
54 54
55static void inline clear_user_page(void *page, unsigned long vaddr, 55static inline void clear_user_page(void *page, unsigned long vaddr,
56 struct page *pg) 56 struct page *pg)
57{ 57{
58 clear_page(page); 58 clear_page(page);
59} 59}
60 60
61static void inline copy_user_page(void *to, void *from, unsigned long vaddr, 61static inline void copy_user_page(void *to, void *from, unsigned long vaddr,
62 struct page *topage) 62 struct page *topage)
63{ 63{
64 copy_page(to, from); 64 copy_page(to, from);
diff --git a/include/asm-x86/pgtable.h b/include/asm-x86/pgtable.h
index 174b8773871..9cf472aeb9c 100644
--- a/include/asm-x86/pgtable.h
+++ b/include/asm-x86/pgtable.h
@@ -85,6 +85,7 @@ extern pteval_t __PAGE_KERNEL, __PAGE_KERNEL_EXEC;
85#define __PAGE_KERNEL_RX (__PAGE_KERNEL_EXEC & ~_PAGE_RW) 85#define __PAGE_KERNEL_RX (__PAGE_KERNEL_EXEC & ~_PAGE_RW)
86#define __PAGE_KERNEL_EXEC_NOCACHE (__PAGE_KERNEL_EXEC | _PAGE_PCD | _PAGE_PWT) 86#define __PAGE_KERNEL_EXEC_NOCACHE (__PAGE_KERNEL_EXEC | _PAGE_PCD | _PAGE_PWT)
87#define __PAGE_KERNEL_NOCACHE (__PAGE_KERNEL | _PAGE_PCD | _PAGE_PWT) 87#define __PAGE_KERNEL_NOCACHE (__PAGE_KERNEL | _PAGE_PCD | _PAGE_PWT)
88#define __PAGE_KERNEL_UC_MINUS (__PAGE_KERNEL | _PAGE_PCD)
88#define __PAGE_KERNEL_VSYSCALL (__PAGE_KERNEL_RX | _PAGE_USER) 89#define __PAGE_KERNEL_VSYSCALL (__PAGE_KERNEL_RX | _PAGE_USER)
89#define __PAGE_KERNEL_VSYSCALL_NOCACHE (__PAGE_KERNEL_VSYSCALL | _PAGE_PCD | _PAGE_PWT) 90#define __PAGE_KERNEL_VSYSCALL_NOCACHE (__PAGE_KERNEL_VSYSCALL | _PAGE_PCD | _PAGE_PWT)
90#define __PAGE_KERNEL_LARGE (__PAGE_KERNEL | _PAGE_PSE) 91#define __PAGE_KERNEL_LARGE (__PAGE_KERNEL | _PAGE_PSE)
@@ -101,6 +102,7 @@ extern pteval_t __PAGE_KERNEL, __PAGE_KERNEL_EXEC;
101#define PAGE_KERNEL_EXEC MAKE_GLOBAL(__PAGE_KERNEL_EXEC) 102#define PAGE_KERNEL_EXEC MAKE_GLOBAL(__PAGE_KERNEL_EXEC)
102#define PAGE_KERNEL_RX MAKE_GLOBAL(__PAGE_KERNEL_RX) 103#define PAGE_KERNEL_RX MAKE_GLOBAL(__PAGE_KERNEL_RX)
103#define PAGE_KERNEL_NOCACHE MAKE_GLOBAL(__PAGE_KERNEL_NOCACHE) 104#define PAGE_KERNEL_NOCACHE MAKE_GLOBAL(__PAGE_KERNEL_NOCACHE)
105#define PAGE_KERNEL_UC_MINUS MAKE_GLOBAL(__PAGE_KERNEL_UC_MINUS)
104#define PAGE_KERNEL_EXEC_NOCACHE MAKE_GLOBAL(__PAGE_KERNEL_EXEC_NOCACHE) 106#define PAGE_KERNEL_EXEC_NOCACHE MAKE_GLOBAL(__PAGE_KERNEL_EXEC_NOCACHE)
105#define PAGE_KERNEL_LARGE MAKE_GLOBAL(__PAGE_KERNEL_LARGE) 107#define PAGE_KERNEL_LARGE MAKE_GLOBAL(__PAGE_KERNEL_LARGE)
106#define PAGE_KERNEL_LARGE_EXEC MAKE_GLOBAL(__PAGE_KERNEL_LARGE_EXEC) 108#define PAGE_KERNEL_LARGE_EXEC MAKE_GLOBAL(__PAGE_KERNEL_LARGE_EXEC)
diff --git a/include/asm-x86/sync_bitops.h b/include/asm-x86/sync_bitops.h
index cbce08a2d13..6b775c90566 100644
--- a/include/asm-x86/sync_bitops.h
+++ b/include/asm-x86/sync_bitops.h
@@ -23,10 +23,6 @@
23 * This function is atomic and may not be reordered. See __set_bit() 23 * This function is atomic and may not be reordered. See __set_bit()
24 * if you do not require the atomic guarantees. 24 * if you do not require the atomic guarantees.
25 * 25 *
26 * Note: there are no guarantees that this function will not be reordered
27 * on non-x86 architectures, so if you are writing portable code,
28 * make sure not to rely on its reordering guarantees.
29 *
30 * Note that @nr may be almost arbitrarily large; this function is not 26 * Note that @nr may be almost arbitrarily large; this function is not
31 * restricted to acting on a single-word quantity. 27 * restricted to acting on a single-word quantity.
32 */ 28 */
@@ -61,8 +57,7 @@ static inline void sync_clear_bit(int nr, volatile unsigned long * addr)
61 * @nr: Bit to change 57 * @nr: Bit to change
62 * @addr: Address to start counting from 58 * @addr: Address to start counting from
63 * 59 *
64 * change_bit() is atomic and may not be reordered. It may be 60 * sync_change_bit() is atomic and may not be reordered.
65 * reordered on other architectures than x86.
66 * Note that @nr may be almost arbitrarily large; this function is not 61 * Note that @nr may be almost arbitrarily large; this function is not
67 * restricted to acting on a single-word quantity. 62 * restricted to acting on a single-word quantity.
68 */ 63 */
@@ -80,7 +75,6 @@ static inline void sync_change_bit(int nr, volatile unsigned long * addr)
80 * @addr: Address to count from 75 * @addr: Address to count from
81 * 76 *
82 * This operation is atomic and cannot be reordered. 77 * This operation is atomic and cannot be reordered.
83 * It may be reordered on other architectures than x86.
84 * It also implies a memory barrier. 78 * It also implies a memory barrier.
85 */ 79 */
86static inline int sync_test_and_set_bit(int nr, volatile unsigned long * addr) 80static inline int sync_test_and_set_bit(int nr, volatile unsigned long * addr)
@@ -99,7 +93,6 @@ static inline int sync_test_and_set_bit(int nr, volatile unsigned long * addr)
99 * @addr: Address to count from 93 * @addr: Address to count from
100 * 94 *
101 * This operation is atomic and cannot be reordered. 95 * This operation is atomic and cannot be reordered.
102 * It can be reorderdered on other architectures other than x86.
103 * It also implies a memory barrier. 96 * It also implies a memory barrier.
104 */ 97 */
105static inline int sync_test_and_clear_bit(int nr, volatile unsigned long * addr) 98static inline int sync_test_and_clear_bit(int nr, volatile unsigned long * addr)
diff --git a/include/asm-xtensa/kvm.h b/include/asm-xtensa/kvm.h
new file mode 100644
index 00000000000..bda4e331e98
--- /dev/null
+++ b/include/asm-xtensa/kvm.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_KVM_XTENSA_H
2#define __LINUX_KVM_XTENSA_H
3
4/* xtensa does not support KVM */
5
6#endif
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 0fac822c115..9cdd12a9e84 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -127,7 +127,6 @@ header-y += pkt_sched.h
127header-y += posix_types.h 127header-y += posix_types.h
128header-y += ppdev.h 128header-y += ppdev.h
129header-y += prctl.h 129header-y += prctl.h
130header-y += ps2esdi.h
131header-y += qnxtypes.h 130header-y += qnxtypes.h
132header-y += quotaio_v1.h 131header-y += quotaio_v1.h
133header-y += quotaio_v2.h 132header-y += quotaio_v2.h
@@ -196,7 +195,6 @@ unifdef-y += ethtool.h
196unifdef-y += eventpoll.h 195unifdef-y += eventpoll.h
197unifdef-y += signalfd.h 196unifdef-y += signalfd.h
198unifdef-y += ext2_fs.h 197unifdef-y += ext2_fs.h
199unifdef-y += ext3_fs.h
200unifdef-y += fb.h 198unifdef-y += fb.h
201unifdef-y += fcntl.h 199unifdef-y += fcntl.h
202unifdef-y += filter.h 200unifdef-y += filter.h
@@ -249,14 +247,13 @@ unifdef-y += isdn.h
249unifdef-y += isdnif.h 247unifdef-y += isdnif.h
250unifdef-y += isdn_divertif.h 248unifdef-y += isdn_divertif.h
251unifdef-y += isdn_ppp.h 249unifdef-y += isdn_ppp.h
252unifdef-y += jbd.h
253unifdef-y += joystick.h 250unifdef-y += joystick.h
254unifdef-y += kdev_t.h 251unifdef-y += kdev_t.h
255unifdef-y += kd.h 252unifdef-y += kd.h
256unifdef-y += kernelcapi.h 253unifdef-y += kernelcapi.h
257unifdef-y += kernel.h 254unifdef-y += kernel.h
258unifdef-y += keyboard.h 255unifdef-y += keyboard.h
259unifdef-$(CONFIG_HAVE_KVM) += kvm.h 256unifdef-y += kvm.h
260unifdef-y += llc.h 257unifdef-y += llc.h
261unifdef-y += loop.h 258unifdef-y += loop.h
262unifdef-y += lp.h 259unifdef-y += lp.h
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index 69c1edb9fe5..40d54731de7 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -65,6 +65,46 @@ static inline __u32 ror32(__u32 word, unsigned int shift)
65 return (word >> shift) | (word << (32 - shift)); 65 return (word >> shift) | (word << (32 - shift));
66} 66}
67 67
68/**
69 * rol16 - rotate a 16-bit value left
70 * @word: value to rotate
71 * @shift: bits to roll
72 */
73static inline __u16 rol16(__u16 word, unsigned int shift)
74{
75 return (word << shift) | (word >> (16 - shift));
76}
77
78/**
79 * ror16 - rotate a 16-bit value right
80 * @word: value to rotate
81 * @shift: bits to roll
82 */
83static inline __u16 ror16(__u16 word, unsigned int shift)
84{
85 return (word >> shift) | (word << (16 - shift));
86}
87
88/**
89 * rol8 - rotate an 8-bit value left
90 * @word: value to rotate
91 * @shift: bits to roll
92 */
93static inline __u8 rol8(__u8 word, unsigned int shift)
94{
95 return (word << shift) | (word >> (8 - shift));
96}
97
98/**
99 * ror8 - rotate an 8-bit value right
100 * @word: value to rotate
101 * @shift: bits to roll
102 */
103static inline __u8 ror8(__u8 word, unsigned int shift)
104{
105 return (word >> shift) | (word << (8 - shift));
106}
107
68static inline unsigned fls_long(unsigned long l) 108static inline unsigned fls_long(unsigned long l)
69{ 109{
70 if (sizeof(l) == 4) 110 if (sizeof(l) == 4)
diff --git a/include/linux/compat.h b/include/linux/compat.h
index a671dbff7a1..8fa7857e153 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -192,8 +192,8 @@ asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp,
192 struct compat_timeval __user *tvp); 192 struct compat_timeval __user *tvp);
193 193
194asmlinkage long compat_sys_wait4(compat_pid_t pid, 194asmlinkage long compat_sys_wait4(compat_pid_t pid,
195 compat_uint_t *stat_addr, int options, 195 compat_uint_t __user *stat_addr, int options,
196 struct compat_rusage *ru); 196 struct compat_rusage __user *ru);
197 197
198#define BITS_PER_COMPAT_LONG (8*sizeof(compat_long_t)) 198#define BITS_PER_COMPAT_LONG (8*sizeof(compat_long_t))
199 199
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h
index 6b72a458408..51e6b1e520e 100644
--- a/include/linux/cpuidle.h
+++ b/include/linux/cpuidle.h
@@ -38,8 +38,8 @@ struct cpuidle_state {
38 unsigned int power_usage; /* in mW */ 38 unsigned int power_usage; /* in mW */
39 unsigned int target_residency; /* in US */ 39 unsigned int target_residency; /* in US */
40 40
41 unsigned int usage; 41 unsigned long long usage;
42 unsigned int time; /* in US */ 42 unsigned long long time; /* in US */
43 43
44 int (*enter) (struct cpuidle_device *dev, 44 int (*enter) (struct cpuidle_device *dev,
45 struct cpuidle_state *state); 45 struct cpuidle_state *state);
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 261e43a4c87..34d44069829 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -423,7 +423,7 @@ void dma_async_device_unregister(struct dma_device *device);
423/* --- Helper iov-locking functions --- */ 423/* --- Helper iov-locking functions --- */
424 424
425struct dma_page_list { 425struct dma_page_list {
426 char *base_address; 426 char __user *base_address;
427 int nr_pages; 427 int nr_pages;
428 struct page **pages; 428 struct page **pages;
429}; 429};
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 49829988bfa..897f723bd22 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -72,6 +72,13 @@
72#define in_softirq() (softirq_count()) 72#define in_softirq() (softirq_count())
73#define in_interrupt() (irq_count()) 73#define in_interrupt() (irq_count())
74 74
75/*
76 * Are we running in atomic context? WARNING: this macro cannot
77 * always detect atomic context; in particular, it cannot know about
78 * held spinlocks in non-preemptible kernels. Thus it should not be
79 * used in the general case to determine whether sleeping is possible.
80 * Do not use in_atomic() in driver code.
81 */
75#define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != 0) 82#define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != 0)
76 83
77#ifdef CONFIG_PREEMPT 84#ifdef CONFIG_PREEMPT
diff --git a/include/linux/ide.h b/include/linux/ide.h
index a3b69c10d66..bc26b2f2735 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -26,7 +26,7 @@
26#include <asm/semaphore.h> 26#include <asm/semaphore.h>
27#include <asm/mutex.h> 27#include <asm/mutex.h>
28 28
29#if defined(CRIS) || defined(FRV) 29#if defined(CONFIG_CRIS) || defined(CONFIG_FRV)
30# define SUPPORT_VLB_SYNC 0 30# define SUPPORT_VLB_SYNC 0
31#else 31#else
32# define SUPPORT_VLB_SYNC 1 32# define SUPPORT_VLB_SYNC 1
diff --git a/include/linux/input.h b/include/linux/input.h
index 1bdc39a8c76..cae2c35d120 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -1227,12 +1227,13 @@ void input_free_device(struct input_dev *dev);
1227 1227
1228static inline struct input_dev *input_get_device(struct input_dev *dev) 1228static inline struct input_dev *input_get_device(struct input_dev *dev)
1229{ 1229{
1230 return to_input_dev(get_device(&dev->dev)); 1230 return dev ? to_input_dev(get_device(&dev->dev)) : NULL;
1231} 1231}
1232 1232
1233static inline void input_put_device(struct input_dev *dev) 1233static inline void input_put_device(struct input_dev *dev)
1234{ 1234{
1235 put_device(&dev->dev); 1235 if (dev)
1236 put_device(&dev->dev);
1236} 1237}
1237 1238
1238static inline void *input_get_drvdata(struct input_dev *dev) 1239static inline void *input_get_drvdata(struct input_dev *dev)
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h
index 1b4ccf25b4d..cac4b364cd4 100644
--- a/include/linux/iocontext.h
+++ b/include/linux/iocontext.h
@@ -2,6 +2,7 @@
2#define IOCONTEXT_H 2#define IOCONTEXT_H
3 3
4#include <linux/radix-tree.h> 4#include <linux/radix-tree.h>
5#include <linux/rcupdate.h>
5 6
6/* 7/*
7 * This is the per-process anticipatory I/O scheduler state. 8 * This is the per-process anticipatory I/O scheduler state.
@@ -54,6 +55,8 @@ struct cfq_io_context {
54 55
55 void (*dtor)(struct io_context *); /* destructor */ 56 void (*dtor)(struct io_context *); /* destructor */
56 void (*exit)(struct io_context *); /* called on task exit */ 57 void (*exit)(struct io_context *); /* called on task exit */
58
59 struct rcu_head rcu_head;
57}; 60};
58 61
59/* 62/*
diff --git a/include/linux/jbd.h b/include/linux/jbd.h
index b18fd3b9b83..423f5827218 100644
--- a/include/linux/jbd.h
+++ b/include/linux/jbd.h
@@ -348,8 +348,7 @@ static inline void jbd_unlock_bh_journal_head(struct buffer_head *bh)
348struct jbd_revoke_table_s; 348struct jbd_revoke_table_s;
349 349
350/** 350/**
351 * struct handle_s - The handle_s type is the concrete type associated with 351 * struct handle_s - this is the concrete type associated with handle_t.
352 * handle_t.
353 * @h_transaction: Which compound transaction is this update a part of? 352 * @h_transaction: Which compound transaction is this update a part of?
354 * @h_buffer_credits: Number of remaining buffers we are allowed to dirty. 353 * @h_buffer_credits: Number of remaining buffers we are allowed to dirty.
355 * @h_ref: Reference count on this handle 354 * @h_ref: Reference count on this handle
@@ -358,12 +357,7 @@ struct jbd_revoke_table_s;
358 * @h_jdata: flag to force data journaling 357 * @h_jdata: flag to force data journaling
359 * @h_aborted: flag indicating fatal error on handle 358 * @h_aborted: flag indicating fatal error on handle
360 * @h_lockdep_map: lockdep info for debugging lock problems 359 * @h_lockdep_map: lockdep info for debugging lock problems
361 **/
362
363/* Docbook can't yet cope with the bit fields, but will leave the documentation
364 * in so it can be fixed later.
365 */ 360 */
366
367struct handle_s 361struct handle_s
368{ 362{
369 /* Which compound transaction is this update a part of? */ 363 /* Which compound transaction is this update a part of? */
@@ -558,8 +552,7 @@ struct transaction_s
558}; 552};
559 553
560/** 554/**
561 * struct journal_s - The journal_s type is the concrete type associated with 555 * struct journal_s - this is the concrete type associated with journal_t.
562 * journal_t.
563 * @j_flags: General journaling state flags 556 * @j_flags: General journaling state flags
564 * @j_errno: Is there an outstanding uncleared error on the journal (from a 557 * @j_errno: Is there an outstanding uncleared error on the journal (from a
565 * prior abort)? 558 * prior abort)?
diff --git a/include/linux/lguest_launcher.h b/include/linux/lguest_launcher.h
index 589be3e1f3a..e7217dc58f3 100644
--- a/include/linux/lguest_launcher.h
+++ b/include/linux/lguest_launcher.h
@@ -16,6 +16,10 @@
16 * a new device, we simply need to write a new virtio driver and create support 16 * a new device, we simply need to write a new virtio driver and create support
17 * for it in the Launcher: this code won't need to change. 17 * for it in the Launcher: this code won't need to change.
18 * 18 *
19 * Virtio devices are also used by kvm, so we can simply reuse their optimized
20 * device drivers. And one day when everyone uses virtio, my plan will be
21 * complete. Bwahahahah!
22 *
19 * Devices are described by a simplified ID, a status byte, and some "config" 23 * Devices are described by a simplified ID, a status byte, and some "config"
20 * bytes which describe this device's configuration. This is placed by the 24 * bytes which describe this device's configuration. This is placed by the
21 * Launcher just above the top of physical memory: 25 * Launcher just above the top of physical memory:
@@ -26,7 +30,7 @@ struct lguest_device_desc {
26 /* The number of virtqueues (first in config array) */ 30 /* The number of virtqueues (first in config array) */
27 __u8 num_vq; 31 __u8 num_vq;
28 /* The number of bytes of feature bits. Multiply by 2: one for host 32 /* The number of bytes of feature bits. Multiply by 2: one for host
29 * features and one for guest acknowledgements. */ 33 * features and one for Guest acknowledgements. */
30 __u8 feature_len; 34 __u8 feature_len;
31 /* The number of bytes of the config array after virtqueues. */ 35 /* The number of bytes of the config array after virtqueues. */
32 __u8 config_len; 36 __u8 config_len;
diff --git a/include/linux/libata.h b/include/linux/libata.h
index a05f6001364..b064bfeb69e 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -295,6 +295,7 @@ enum {
295 ATA_EH_SOFTRESET = (1 << 1), 295 ATA_EH_SOFTRESET = (1 << 1),
296 ATA_EH_HARDRESET = (1 << 2), 296 ATA_EH_HARDRESET = (1 << 2),
297 ATA_EH_ENABLE_LINK = (1 << 3), 297 ATA_EH_ENABLE_LINK = (1 << 3),
298 ATA_EH_LPM = (1 << 4), /* link power management action */
298 299
299 ATA_EH_RESET_MASK = ATA_EH_SOFTRESET | ATA_EH_HARDRESET, 300 ATA_EH_RESET_MASK = ATA_EH_SOFTRESET | ATA_EH_HARDRESET,
300 ATA_EH_PERDEV_MASK = ATA_EH_REVALIDATE, 301 ATA_EH_PERDEV_MASK = ATA_EH_REVALIDATE,
@@ -304,7 +305,6 @@ enum {
304 ATA_EHI_RESUME_LINK = (1 << 1), /* resume link (reset modifier) */ 305 ATA_EHI_RESUME_LINK = (1 << 1), /* resume link (reset modifier) */
305 ATA_EHI_NO_AUTOPSY = (1 << 2), /* no autopsy */ 306 ATA_EHI_NO_AUTOPSY = (1 << 2), /* no autopsy */
306 ATA_EHI_QUIET = (1 << 3), /* be quiet */ 307 ATA_EHI_QUIET = (1 << 3), /* be quiet */
307 ATA_EHI_LPM = (1 << 4), /* link power management action */
308 308
309 ATA_EHI_DID_SOFTRESET = (1 << 16), /* already soft-reset this port */ 309 ATA_EHI_DID_SOFTRESET = (1 << 16), /* already soft-reset this port */
310 ATA_EHI_DID_HARDRESET = (1 << 17), /* already soft-reset this port */ 310 ATA_EHI_DID_HARDRESET = (1 << 17), /* already soft-reset this port */
@@ -463,6 +463,7 @@ struct ata_queued_cmd {
463 unsigned int sect_size; 463 unsigned int sect_size;
464 464
465 unsigned int nbytes; 465 unsigned int nbytes;
466 unsigned int extrabytes;
466 unsigned int curbytes; 467 unsigned int curbytes;
467 468
468 struct scatterlist *cursg; 469 struct scatterlist *cursg;
@@ -1336,6 +1337,11 @@ static inline struct ata_queued_cmd *ata_qc_from_tag(struct ata_port *ap,
1336 return NULL; 1337 return NULL;
1337} 1338}
1338 1339
1340static inline unsigned int ata_qc_raw_nbytes(struct ata_queued_cmd *qc)
1341{
1342 return qc->nbytes - min(qc->extrabytes, qc->nbytes);
1343}
1344
1339static inline void ata_tf_init(struct ata_device *dev, struct ata_taskfile *tf) 1345static inline void ata_tf_init(struct ata_device *dev, struct ata_taskfile *tf)
1340{ 1346{
1341 memset(tf, 0, sizeof(*tf)); 1347 memset(tf, 0, sizeof(*tf));
@@ -1354,7 +1360,7 @@ static inline void ata_qc_reinit(struct ata_queued_cmd *qc)
1354 qc->flags = 0; 1360 qc->flags = 0;
1355 qc->cursg = NULL; 1361 qc->cursg = NULL;
1356 qc->cursg_ofs = 0; 1362 qc->cursg_ofs = 0;
1357 qc->nbytes = qc->curbytes = 0; 1363 qc->nbytes = qc->extrabytes = qc->curbytes = 0;
1358 qc->n_elem = 0; 1364 qc->n_elem = 0;
1359 qc->err_mask = 0; 1365 qc->err_mask = 0;
1360 qc->sect_size = ATA_SECT_SIZE; 1366 qc->sect_size = ATA_SECT_SIZE;
diff --git a/include/linux/memstick.h b/include/linux/memstick.h
index b7ee2588883..3e686ec6a96 100644
--- a/include/linux/memstick.h
+++ b/include/linux/memstick.h
@@ -239,7 +239,6 @@ struct memstick_request {
239 unsigned char tpc; 239 unsigned char tpc;
240 unsigned char data_dir:1, 240 unsigned char data_dir:1,
241 need_card_int:1, 241 need_card_int:1,
242 get_int_reg:1,
243 long_data:1; 242 long_data:1;
244 unsigned char int_reg; 243 unsigned char int_reg;
245 int error; 244 int error;
diff --git a/include/linux/mount.h b/include/linux/mount.h
index 6d3047d8c91..5ee2df217cd 100644
--- a/include/linux/mount.h
+++ b/include/linux/mount.h
@@ -61,6 +61,7 @@ struct vfsmount {
61 atomic_t mnt_count; 61 atomic_t mnt_count;
62 int mnt_expiry_mark; /* true if marked for expiry */ 62 int mnt_expiry_mark; /* true if marked for expiry */
63 int mnt_pinned; 63 int mnt_pinned;
64 int mnt_ghosts;
64}; 65};
65 66
66static inline struct vfsmount *mntget(struct vfsmount *mnt) 67static inline struct vfsmount *mntget(struct vfsmount *mnt)
@@ -98,7 +99,6 @@ extern int do_add_mount(struct vfsmount *newmnt, struct nameidata *nd,
98 int mnt_flags, struct list_head *fslist); 99 int mnt_flags, struct list_head *fslist);
99 100
100extern void mark_mounts_for_expiry(struct list_head *mounts); 101extern void mark_mounts_for_expiry(struct list_head *mounts);
101extern void shrink_submounts(struct vfsmount *mountpoint, struct list_head *mounts);
102 102
103extern spinlock_t vfsmount_lock; 103extern spinlock_t vfsmount_lock;
104extern dev_t name_to_dev_t(char *name); 104extern dev_t name_to_dev_t(char *name);
diff --git a/include/linux/pci.h b/include/linux/pci.h
index b7e4b633c69..ea760e519c4 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -513,7 +513,6 @@ int pci_find_next_capability(struct pci_dev *dev, u8 pos, int cap);
513int pci_find_ext_capability(struct pci_dev *dev, int cap); 513int pci_find_ext_capability(struct pci_dev *dev, int cap);
514int pci_find_ht_capability(struct pci_dev *dev, int ht_cap); 514int pci_find_ht_capability(struct pci_dev *dev, int ht_cap);
515int pci_find_next_ht_capability(struct pci_dev *dev, int pos, int ht_cap); 515int pci_find_next_ht_capability(struct pci_dev *dev, int pos, int ht_cap);
516void pcie_wait_pending_transaction(struct pci_dev *dev);
517struct pci_bus *pci_find_next_bus(const struct pci_bus *from); 516struct pci_bus *pci_find_next_bus(const struct pci_bus *from);
518 517
519struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device, 518struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device,
@@ -884,9 +883,6 @@ static inline int pci_find_ext_capability(struct pci_dev *dev, int cap)
884 return 0; 883 return 0;
885} 884}
886 885
887static inline void pcie_wait_pending_transaction(struct pci_dev *dev)
888{ }
889
890/* Power management related routines */ 886/* Power management related routines */
891static inline int pci_save_state(struct pci_dev *dev) 887static inline int pci_save_state(struct pci_dev *dev)
892{ 888{
diff --git a/include/linux/pnp.h b/include/linux/pnp.h
index cd6332b8882..29dd55838e8 100644
--- a/include/linux/pnp.h
+++ b/include/linux/pnp.h
@@ -14,7 +14,7 @@
14#include <linux/mod_devicetable.h> 14#include <linux/mod_devicetable.h>
15 15
16#define PNP_MAX_PORT 40 16#define PNP_MAX_PORT 40
17#define PNP_MAX_MEM 12 17#define PNP_MAX_MEM 24
18#define PNP_MAX_IRQ 2 18#define PNP_MAX_IRQ 2
19#define PNP_MAX_DMA 2 19#define PNP_MAX_DMA 2
20#define PNP_NAME_LEN 50 20#define PNP_NAME_LEN 50
diff --git a/include/linux/ps2esdi.h b/include/linux/ps2esdi.h
deleted file mode 100644
index c0e050b1dfe..00000000000
--- a/include/linux/ps2esdi.h
+++ /dev/null
@@ -1,98 +0,0 @@
1#ifndef _PS2ESDI_H_
2#define _PS2ESDI_H_
3
4#define NRML_ESDI_ID 0xddff
5#define INTG_ESDI_ID 0xdf9f
6
7#define PRIMARY_IO_BASE 0x3510
8#define ALT_IO_BASE 0x3518
9
10#define ESDI_CMD_INT (io_base+0)
11#define ESDI_STT_INT (io_base+0)
12#define ESDI_CONTROL (io_base+2)
13#define ESDI_STATUS (io_base+2)
14#define ESDI_ATTN (io_base+3)
15#define ESDI_INTRPT (io_base+3)
16
17#define STATUS_ENABLED 0x01
18#define STATUS_ALTERNATE 0x02
19#define STATUS_BUSY 0x10
20#define STATUS_STAT_AVAIL 0x08
21#define STATUS_INTR 0x01
22#define STATUS_RESET_FAIL 0xea
23#define STATUS_CMD_INF 0x04
24
25#define CTRL_SOFT_RESET 0xe4
26#define CTRL_HARD_RESET 0x80
27#define CTRL_EOI 0xe2
28#define CTRL_ENABLE_DMA 0x02
29#define CTRL_ENABLE_INTR 0x01
30#define CTRL_DISABLE_INTR 0x00
31
32#define ATT_EOI 0x02
33
34/* bits of word 0 of configuration status block. more info see p.38 of tech ref */
35#define CONFIG_IS 0x10 /* Invalid Secondary */
36#define CONFIG_ZD 0x08 /* Zero Defect */
37#define CONFIG_SF 0x04 /* Skewed Format */
38#define CONFIG_FR 0x02 /* Removable */
39#define CONFIG_RT 0x01 /* Retries */
40
41#define PORT_SYS_A 0x92
42#define PORT_DMA_FN 0x18
43#define PORT_DMA_EX 0x1a
44
45#define ON (unsigned char)0x40
46#define OFF (unsigned char)~ON
47#define LITE_ON outb(inb(PORT_SYS_A) | ON,PORT_SYS_A)
48#define LITE_OFF outb((inb(PORT_SYS_A) & OFF),PORT_SYS_A)
49
50#define FAIL 0
51#define SUCCES 1
52
53#define INT_CMD_COMPLETE 0x01
54#define INT_CMD_ECC 0x03
55#define INT_CMD_RETRY 0x05
56#define INT_CMD_FORMAT 0x06
57#define INT_CMD_ECC_RETRY 0x07
58#define INT_CMD_WARNING 0x08
59#define INT_CMD_ABORT 0x09
60#define INT_RESET 0x0A
61#define INT_TRANSFER_REQ 0x0B
62#define INT_CMD_FAILED 0x0C
63#define INT_DMA_ERR 0x0D
64#define INT_CMD_BLK_ERR 0x0E
65#define INT_ATTN_ERROR 0x0F
66
67#define DMA_MASK_CHAN 0x90
68#define DMA_UNMASK_CHAN 0xA0
69#define DMA_WRITE_ADDR 0x20
70#define DMA_WRITE_TC 0x40
71#define DMA_WRITE_MODE 0x70
72
73#define CMD_GET_DEV_CONFIG 0x09
74#define CMD_READ 0x4601
75#define CMD_WRITE 0x4602
76#define DMA_READ_16 0x4C
77#define DMA_WRITE_16 0x44
78
79
80#define MB 1024*1024
81#define SECT_SIZE 512
82
83#define ERROR 1
84#define OK 0
85
86#define HDIO_GETGEO 0x0301
87
88#define FALSE 0
89#define TRUE !FALSE
90
91struct ps2esdi_geometry {
92 unsigned char heads;
93 unsigned char sectors;
94 unsigned short cylinders;
95 unsigned long start;
96};
97
98#endif /* _PS2ESDI_H_ */
diff --git a/include/linux/rcupreempt.h b/include/linux/rcupreempt.h
index 01152ed532c..d038aa6e5ee 100644
--- a/include/linux/rcupreempt.h
+++ b/include/linux/rcupreempt.h
@@ -87,15 +87,15 @@ DECLARE_PER_CPU(long, dynticks_progress_counter);
87 87
88static inline void rcu_enter_nohz(void) 88static inline void rcu_enter_nohz(void)
89{ 89{
90 smp_mb(); /* CPUs seeing ++ must see prior RCU read-side crit sects */
90 __get_cpu_var(dynticks_progress_counter)++; 91 __get_cpu_var(dynticks_progress_counter)++;
91 WARN_ON(__get_cpu_var(dynticks_progress_counter) & 0x1); 92 WARN_ON(__get_cpu_var(dynticks_progress_counter) & 0x1);
92 mb();
93} 93}
94 94
95static inline void rcu_exit_nohz(void) 95static inline void rcu_exit_nohz(void)
96{ 96{
97 mb();
98 __get_cpu_var(dynticks_progress_counter)++; 97 __get_cpu_var(dynticks_progress_counter)++;
98 smp_mb(); /* CPUs seeing ++ must see later RCU read-side crit sects */
99 WARN_ON(!(__get_cpu_var(dynticks_progress_counter) & 0x1)); 99 WARN_ON(!(__get_cpu_var(dynticks_progress_counter) & 0x1));
100} 100}
101 101
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 11d8e9a74ef..6a1e7afb099 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -790,6 +790,7 @@ struct sched_domain {
790}; 790};
791 791
792extern void partition_sched_domains(int ndoms_new, cpumask_t *doms_new); 792extern void partition_sched_domains(int ndoms_new, cpumask_t *doms_new);
793extern int arch_reinit_sched_domains(void);
793 794
794#endif /* CONFIG_SMP */ 795#endif /* CONFIG_SMP */
795 796
@@ -929,6 +930,9 @@ struct sched_entity {
929 u64 vruntime; 930 u64 vruntime;
930 u64 prev_sum_exec_runtime; 931 u64 prev_sum_exec_runtime;
931 932
933 u64 last_wakeup;
934 u64 avg_overlap;
935
932#ifdef CONFIG_SCHEDSTATS 936#ifdef CONFIG_SCHEDSTATS
933 u64 wait_start; 937 u64 wait_start;
934 u64 wait_max; 938 u64 wait_max;
@@ -1537,6 +1541,12 @@ static inline void idle_task_exit(void) {}
1537 1541
1538extern void sched_idle_next(void); 1542extern void sched_idle_next(void);
1539 1543
1544#if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP)
1545extern void wake_up_idle_cpu(int cpu);
1546#else
1547static inline void wake_up_idle_cpu(int cpu) { }
1548#endif
1549
1540#ifdef CONFIG_SCHED_DEBUG 1550#ifdef CONFIG_SCHED_DEBUG
1541extern unsigned int sysctl_sched_latency; 1551extern unsigned int sysctl_sched_latency;
1542extern unsigned int sysctl_sched_min_granularity; 1552extern unsigned int sysctl_sched_min_granularity;
diff --git a/include/linux/security.h b/include/linux/security.h
index b07357ca213..c673dfd4dff 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -57,7 +57,6 @@ extern int cap_inode_need_killpriv(struct dentry *dentry);
57extern int cap_inode_killpriv(struct dentry *dentry); 57extern int cap_inode_killpriv(struct dentry *dentry);
58extern int cap_task_post_setuid (uid_t old_ruid, uid_t old_euid, uid_t old_suid, int flags); 58extern int cap_task_post_setuid (uid_t old_ruid, uid_t old_euid, uid_t old_suid, int flags);
59extern void cap_task_reparent_to_init (struct task_struct *p); 59extern void cap_task_reparent_to_init (struct task_struct *p);
60extern int cap_task_kill(struct task_struct *p, struct siginfo *info, int sig, u32 secid);
61extern int cap_task_setscheduler (struct task_struct *p, int policy, struct sched_param *lp); 60extern int cap_task_setscheduler (struct task_struct *p, int policy, struct sched_param *lp);
62extern int cap_task_setioprio (struct task_struct *p, int ioprio); 61extern int cap_task_setioprio (struct task_struct *p, int ioprio);
63extern int cap_task_setnice (struct task_struct *p, int nice); 62extern int cap_task_setnice (struct task_struct *p, int nice);
@@ -2187,7 +2186,7 @@ static inline int security_task_kill (struct task_struct *p,
2187 struct siginfo *info, int sig, 2186 struct siginfo *info, int sig,
2188 u32 secid) 2187 u32 secid)
2189{ 2188{
2190 return cap_task_kill(p, info, sig, secid); 2189 return 0;
2191} 2190}
2192 2191
2193static inline int security_task_wait (struct task_struct *p) 2192static inline int security_task_wait (struct task_struct *p)
diff --git a/include/linux/topology.h b/include/linux/topology.h
index 2352f46160d..bd14f8b30f0 100644
--- a/include/linux/topology.h
+++ b/include/linux/topology.h
@@ -50,6 +50,8 @@
50 for_each_online_node(node) \ 50 for_each_online_node(node) \
51 if (nr_cpus_node(node)) 51 if (nr_cpus_node(node))
52 52
53void arch_update_cpu_topology(void);
54
53/* Conform to ACPI 2.0 SLIT distance definitions */ 55/* Conform to ACPI 2.0 SLIT distance definitions */
54#define LOCAL_DISTANCE 10 56#define LOCAL_DISTANCE 10
55#define REMOTE_DISTANCE 20 57#define REMOTE_DISTANCE 20
@@ -138,7 +140,6 @@
138 | SD_BALANCE_FORK \ 140 | SD_BALANCE_FORK \
139 | SD_BALANCE_EXEC \ 141 | SD_BALANCE_EXEC \
140 | SD_WAKE_AFFINE \ 142 | SD_WAKE_AFFINE \
141 | SD_WAKE_IDLE \
142 | SD_SHARE_PKG_RESOURCES\ 143 | SD_SHARE_PKG_RESOURCES\
143 | BALANCE_FOR_MC_POWER, \ 144 | BALANCE_FOR_MC_POWER, \
144 .last_balance = jiffies, \ 145 .last_balance = jiffies, \
diff --git a/include/linux/usb/quirks.h b/include/linux/usb/quirks.h
index 2692ec9389c..1f999ec8d08 100644
--- a/include/linux/usb/quirks.h
+++ b/include/linux/usb/quirks.h
@@ -9,3 +9,6 @@
9 9
10/* device can't resume correctly so reset it instead */ 10/* device can't resume correctly so reset it instead */
11#define USB_QUIRK_RESET_RESUME 0x00000002 11#define USB_QUIRK_RESET_RESUME 0x00000002
12
13/* device can't handle Set-Interface requests */
14#define USB_QUIRK_NO_SET_INTF 0x00000004
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h
index cee0623b3c7..0a40dfa44c9 100644
--- a/include/linux/usb_usual.h
+++ b/include/linux/usb_usual.h
@@ -50,7 +50,9 @@
50 US_FLAG(CAPACITY_HEURISTICS, 0x00001000) \ 50 US_FLAG(CAPACITY_HEURISTICS, 0x00001000) \
51 /* sometimes sizes is too big */ \ 51 /* sometimes sizes is too big */ \
52 US_FLAG(MAX_SECTORS_MIN,0x00002000) \ 52 US_FLAG(MAX_SECTORS_MIN,0x00002000) \
53 /* Sets max_sectors to arch min */ 53 /* Sets max_sectors to arch min */ \
54 US_FLAG(BULK_IGNORE_TAG,0x00004000) \
55 /* Ignore tag mismatch in bulk operations */
54 56
55 57
56#define US_FLAG(name, value) US_FL_##name = value , 58#define US_FLAG(name, value) US_FL_##name = value ,
diff --git a/kernel/acct.c b/kernel/acct.c
index 521dfa53cb9..91e1cfd734d 100644
--- a/kernel/acct.c
+++ b/kernel/acct.c
@@ -58,6 +58,7 @@
58#include <asm/uaccess.h> 58#include <asm/uaccess.h>
59#include <asm/div64.h> 59#include <asm/div64.h>
60#include <linux/blkdev.h> /* sector_div */ 60#include <linux/blkdev.h> /* sector_div */
61#include <linux/pid_namespace.h>
61 62
62/* 63/*
63 * These constants control the amount of freespace that suspend and 64 * These constants control the amount of freespace that suspend and
@@ -74,7 +75,7 @@ int acct_parm[3] = {4, 2, 30};
74/* 75/*
75 * External references and all of the globals. 76 * External references and all of the globals.
76 */ 77 */
77static void do_acct_process(struct file *); 78static void do_acct_process(struct pid_namespace *ns, struct file *);
78 79
79/* 80/*
80 * This structure is used so that all the data protected by lock 81 * This structure is used so that all the data protected by lock
@@ -86,6 +87,7 @@ struct acct_glbs {
86 volatile int active; 87 volatile int active;
87 volatile int needcheck; 88 volatile int needcheck;
88 struct file *file; 89 struct file *file;
90 struct pid_namespace *ns;
89 struct timer_list timer; 91 struct timer_list timer;
90}; 92};
91 93
@@ -175,9 +177,11 @@ out:
175static void acct_file_reopen(struct file *file) 177static void acct_file_reopen(struct file *file)
176{ 178{
177 struct file *old_acct = NULL; 179 struct file *old_acct = NULL;
180 struct pid_namespace *old_ns = NULL;
178 181
179 if (acct_globals.file) { 182 if (acct_globals.file) {
180 old_acct = acct_globals.file; 183 old_acct = acct_globals.file;
184 old_ns = acct_globals.ns;
181 del_timer(&acct_globals.timer); 185 del_timer(&acct_globals.timer);
182 acct_globals.active = 0; 186 acct_globals.active = 0;
183 acct_globals.needcheck = 0; 187 acct_globals.needcheck = 0;
@@ -185,6 +189,7 @@ static void acct_file_reopen(struct file *file)
185 } 189 }
186 if (file) { 190 if (file) {
187 acct_globals.file = file; 191 acct_globals.file = file;
192 acct_globals.ns = get_pid_ns(task_active_pid_ns(current));
188 acct_globals.needcheck = 0; 193 acct_globals.needcheck = 0;
189 acct_globals.active = 1; 194 acct_globals.active = 1;
190 /* It's been deleted if it was used before so this is safe */ 195 /* It's been deleted if it was used before so this is safe */
@@ -196,8 +201,9 @@ static void acct_file_reopen(struct file *file)
196 if (old_acct) { 201 if (old_acct) {
197 mnt_unpin(old_acct->f_path.mnt); 202 mnt_unpin(old_acct->f_path.mnt);
198 spin_unlock(&acct_globals.lock); 203 spin_unlock(&acct_globals.lock);
199 do_acct_process(old_acct); 204 do_acct_process(old_ns, old_acct);
200 filp_close(old_acct, NULL); 205 filp_close(old_acct, NULL);
206 put_pid_ns(old_ns);
201 spin_lock(&acct_globals.lock); 207 spin_lock(&acct_globals.lock);
202 } 208 }
203} 209}
@@ -419,7 +425,7 @@ static u32 encode_float(u64 value)
419/* 425/*
420 * do_acct_process does all actual work. Caller holds the reference to file. 426 * do_acct_process does all actual work. Caller holds the reference to file.
421 */ 427 */
422static void do_acct_process(struct file *file) 428static void do_acct_process(struct pid_namespace *ns, struct file *file)
423{ 429{
424 struct pacct_struct *pacct = &current->signal->pacct; 430 struct pacct_struct *pacct = &current->signal->pacct;
425 acct_t ac; 431 acct_t ac;
@@ -481,8 +487,10 @@ static void do_acct_process(struct file *file)
481 ac.ac_gid16 = current->gid; 487 ac.ac_gid16 = current->gid;
482#endif 488#endif
483#if ACCT_VERSION==3 489#if ACCT_VERSION==3
484 ac.ac_pid = current->tgid; 490 ac.ac_pid = task_tgid_nr_ns(current, ns);
485 ac.ac_ppid = current->real_parent->tgid; 491 rcu_read_lock();
492 ac.ac_ppid = task_tgid_nr_ns(rcu_dereference(current->real_parent), ns);
493 rcu_read_unlock();
486#endif 494#endif
487 495
488 spin_lock_irq(&current->sighand->siglock); 496 spin_lock_irq(&current->sighand->siglock);
@@ -578,6 +586,7 @@ void acct_collect(long exitcode, int group_dead)
578void acct_process(void) 586void acct_process(void)
579{ 587{
580 struct file *file = NULL; 588 struct file *file = NULL;
589 struct pid_namespace *ns;
581 590
582 /* 591 /*
583 * accelerate the common fastpath: 592 * accelerate the common fastpath:
@@ -592,8 +601,10 @@ void acct_process(void)
592 return; 601 return;
593 } 602 }
594 get_file(file); 603 get_file(file);
604 ns = get_pid_ns(acct_globals.ns);
595 spin_unlock(&acct_globals.lock); 605 spin_unlock(&acct_globals.lock);
596 606
597 do_acct_process(file); 607 do_acct_process(ns, file);
598 fput(file); 608 fput(file);
609 put_pid_ns(ns);
599} 610}
diff --git a/kernel/audit.c b/kernel/audit.c
index be55cb50363..b782b046543 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -1269,8 +1269,8 @@ static void audit_log_n_string(struct audit_buffer *ab, size_t slen,
1269 1269
1270/** 1270/**
1271 * audit_string_contains_control - does a string need to be logged in hex 1271 * audit_string_contains_control - does a string need to be logged in hex
1272 * @string - string to be checked 1272 * @string: string to be checked
1273 * @len - max length of the string to check 1273 * @len: max length of the string to check
1274 */ 1274 */
1275int audit_string_contains_control(const char *string, size_t len) 1275int audit_string_contains_control(const char *string, size_t len)
1276{ 1276{
@@ -1285,7 +1285,7 @@ int audit_string_contains_control(const char *string, size_t len)
1285/** 1285/**
1286 * audit_log_n_untrustedstring - log a string that may contain random characters 1286 * audit_log_n_untrustedstring - log a string that may contain random characters
1287 * @ab: audit_buffer 1287 * @ab: audit_buffer
1288 * @len: lenth of string (not including trailing null) 1288 * @len: length of string (not including trailing null)
1289 * @string: string to be logged 1289 * @string: string to be logged
1290 * 1290 *
1291 * This code will escape a string that is passed to it if the string 1291 * This code will escape a string that is passed to it if the string
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index e9c2fb01e89..53d86b4b0ce 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2082,7 +2082,7 @@ static int cgroup_tasks_open(struct inode *unused, struct file *file)
2082 2082
2083 kfree(pidarray); 2083 kfree(pidarray);
2084 } else { 2084 } else {
2085 ctr->buf = 0; 2085 ctr->buf = NULL;
2086 ctr->bufsz = 0; 2086 ctr->bufsz = 0;
2087 } 2087 }
2088 file->private_data = ctr; 2088 file->private_data = ctr;
@@ -2614,7 +2614,7 @@ static int proc_cgroupstats_show(struct seq_file *m, void *v)
2614 2614
2615static int cgroupstats_open(struct inode *inode, struct file *file) 2615static int cgroupstats_open(struct inode *inode, struct file *file)
2616{ 2616{
2617 return single_open(file, proc_cgroupstats_show, 0); 2617 return single_open(file, proc_cgroupstats_show, NULL);
2618} 2618}
2619 2619
2620static struct file_operations proc_cgroupstats_operations = { 2620static struct file_operations proc_cgroupstats_operations = {
diff --git a/kernel/fork.c b/kernel/fork.c
index dd249c37b3a..9c042f90157 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -394,7 +394,6 @@ void __mmdrop(struct mm_struct *mm)
394{ 394{
395 BUG_ON(mm == &init_mm); 395 BUG_ON(mm == &init_mm);
396 mm_free_pgd(mm); 396 mm_free_pgd(mm);
397 mm_free_cgroup(mm);
398 destroy_context(mm); 397 destroy_context(mm);
399 free_mm(mm); 398 free_mm(mm);
400} 399}
@@ -416,6 +415,7 @@ void mmput(struct mm_struct *mm)
416 spin_unlock(&mmlist_lock); 415 spin_unlock(&mmlist_lock);
417 } 416 }
418 put_swap_token(mm); 417 put_swap_token(mm);
418 mm_free_cgroup(mm);
419 mmdrop(mm); 419 mmdrop(mm);
420 } 420 }
421} 421}
diff --git a/kernel/futex.c b/kernel/futex.c
index 06968cd7920..e43945e995f 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -281,7 +281,7 @@ static int get_futex_key(u32 __user *uaddr, struct rw_semaphore *fshared,
281 */ 281 */
282static void get_futex_key_refs(union futex_key *key) 282static void get_futex_key_refs(union futex_key *key)
283{ 283{
284 if (key->both.ptr == 0) 284 if (key->both.ptr == NULL)
285 return; 285 return;
286 switch (key->both.offset & (FUT_OFF_INODE|FUT_OFF_MMSHARED)) { 286 switch (key->both.offset & (FUT_OFF_INODE|FUT_OFF_MMSHARED)) {
287 case FUT_OFF_INODE: 287 case FUT_OFF_INODE:
@@ -2158,7 +2158,7 @@ static struct file_system_type futex_fs_type = {
2158 .kill_sb = kill_anon_super, 2158 .kill_sb = kill_anon_super,
2159}; 2159};
2160 2160
2161static int __init init(void) 2161static int __init futex_init(void)
2162{ 2162{
2163 u32 curval; 2163 u32 curval;
2164 int i; 2164 int i;
@@ -2194,4 +2194,4 @@ static int __init init(void)
2194 2194
2195 return 0; 2195 return 0;
2196} 2196}
2197__initcall(init); 2197__initcall(futex_init);
diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
index ff90f049f8f..04ac3a9e42c 100644
--- a/kernel/futex_compat.c
+++ b/kernel/futex_compat.c
@@ -30,7 +30,7 @@ fetch_robust_entry(compat_uptr_t *uentry, struct robust_list __user **entry,
30 return 0; 30 return 0;
31} 31}
32 32
33static void __user *futex_uaddr(struct robust_list *entry, 33static void __user *futex_uaddr(struct robust_list __user *entry,
34 compat_long_t futex_offset) 34 compat_long_t futex_offset)
35{ 35{
36 compat_uptr_t base = ptr_to_compat(entry); 36 compat_uptr_t base = ptr_to_compat(entry);
diff --git a/kernel/marker.c b/kernel/marker.c
index 48a4ea5afff..005b9595459 100644
--- a/kernel/marker.c
+++ b/kernel/marker.c
@@ -104,18 +104,18 @@ void marker_probe_cb(const struct marker *mdata, void *call_private,
104 char ptype; 104 char ptype;
105 105
106 /* 106 /*
107 * disabling preemption to make sure the teardown of the callbacks can 107 * preempt_disable does two things : disabling preemption to make sure
108 * be done correctly when they are in modules and they insure RCU read 108 * the teardown of the callbacks can be done correctly when they are in
109 * coherency. 109 * modules and they insure RCU read coherency.
110 */ 110 */
111 preempt_disable(); 111 preempt_disable();
112 ptype = ACCESS_ONCE(mdata->ptype); 112 ptype = mdata->ptype;
113 if (likely(!ptype)) { 113 if (likely(!ptype)) {
114 marker_probe_func *func; 114 marker_probe_func *func;
115 /* Must read the ptype before ptr. They are not data dependant, 115 /* Must read the ptype before ptr. They are not data dependant,
116 * so we put an explicit smp_rmb() here. */ 116 * so we put an explicit smp_rmb() here. */
117 smp_rmb(); 117 smp_rmb();
118 func = ACCESS_ONCE(mdata->single.func); 118 func = mdata->single.func;
119 /* Must read the ptr before private data. They are not data 119 /* Must read the ptr before private data. They are not data
120 * dependant, so we put an explicit smp_rmb() here. */ 120 * dependant, so we put an explicit smp_rmb() here. */
121 smp_rmb(); 121 smp_rmb();
@@ -133,7 +133,7 @@ void marker_probe_cb(const struct marker *mdata, void *call_private,
133 * in the fast path, so put the explicit barrier here. 133 * in the fast path, so put the explicit barrier here.
134 */ 134 */
135 smp_read_barrier_depends(); 135 smp_read_barrier_depends();
136 multi = ACCESS_ONCE(mdata->multi); 136 multi = mdata->multi;
137 for (i = 0; multi[i].func; i++) { 137 for (i = 0; multi[i].func; i++) {
138 va_start(args, fmt); 138 va_start(args, fmt);
139 multi[i].func(multi[i].probe_private, call_private, fmt, 139 multi[i].func(multi[i].probe_private, call_private, fmt,
@@ -161,13 +161,13 @@ void marker_probe_cb_noarg(const struct marker *mdata,
161 char ptype; 161 char ptype;
162 162
163 preempt_disable(); 163 preempt_disable();
164 ptype = ACCESS_ONCE(mdata->ptype); 164 ptype = mdata->ptype;
165 if (likely(!ptype)) { 165 if (likely(!ptype)) {
166 marker_probe_func *func; 166 marker_probe_func *func;
167 /* Must read the ptype before ptr. They are not data dependant, 167 /* Must read the ptype before ptr. They are not data dependant,
168 * so we put an explicit smp_rmb() here. */ 168 * so we put an explicit smp_rmb() here. */
169 smp_rmb(); 169 smp_rmb();
170 func = ACCESS_ONCE(mdata->single.func); 170 func = mdata->single.func;
171 /* Must read the ptr before private data. They are not data 171 /* Must read the ptr before private data. They are not data
172 * dependant, so we put an explicit smp_rmb() here. */ 172 * dependant, so we put an explicit smp_rmb() here. */
173 smp_rmb(); 173 smp_rmb();
@@ -183,7 +183,7 @@ void marker_probe_cb_noarg(const struct marker *mdata,
183 * in the fast path, so put the explicit barrier here. 183 * in the fast path, so put the explicit barrier here.
184 */ 184 */
185 smp_read_barrier_depends(); 185 smp_read_barrier_depends();
186 multi = ACCESS_ONCE(mdata->multi); 186 multi = mdata->multi;
187 for (i = 0; multi[i].func; i++) 187 for (i = 0; multi[i].func; i++)
188 multi[i].func(multi[i].probe_private, call_private, fmt, 188 multi[i].func(multi[i].probe_private, call_private, fmt,
189 &args); 189 &args);
@@ -551,9 +551,9 @@ static int set_marker(struct marker_entry **entry, struct marker *elem,
551 551
552/* 552/*
553 * Disable a marker and its probe callback. 553 * Disable a marker and its probe callback.
554 * Note: only after a synchronize_sched() issued after setting elem->call to the 554 * Note: only waiting an RCU period after setting elem->call to the empty
555 * empty function insures that the original callback is not used anymore. This 555 * function insures that the original callback is not used anymore. This insured
556 * insured by preemption disabling around the call site. 556 * by preempt_disable around the call site.
557 */ 557 */
558static void disable_marker(struct marker *elem) 558static void disable_marker(struct marker *elem)
559{ 559{
@@ -565,8 +565,8 @@ static void disable_marker(struct marker *elem)
565 elem->ptype = 0; /* single probe */ 565 elem->ptype = 0; /* single probe */
566 /* 566 /*
567 * Leave the private data and id there, because removal is racy and 567 * Leave the private data and id there, because removal is racy and
568 * should be done only after a synchronize_sched(). These are never used 568 * should be done only after an RCU period. These are never used until
569 * until the next initialization anyway. 569 * the next initialization anyway.
570 */ 570 */
571} 571}
572 572
@@ -601,9 +601,6 @@ void marker_update_probe_range(struct marker *begin,
601 601
602/* 602/*
603 * Update probes, removing the faulty probes. 603 * Update probes, removing the faulty probes.
604 * Issues a synchronize_sched() when no reference to the module passed
605 * as parameter is found in the probes so the probe module can be
606 * safely unloaded from now on.
607 * 604 *
608 * Internal callback only changed before the first probe is connected to it. 605 * Internal callback only changed before the first probe is connected to it.
609 * Single probe private data can only be changed on 0 -> 1 and 2 -> 1 606 * Single probe private data can only be changed on 0 -> 1 and 2 -> 1
@@ -674,6 +671,9 @@ int marker_probe_register(const char *name, const char *format,
674 entry->rcu_pending = 1; 671 entry->rcu_pending = 1;
675 /* write rcu_pending before calling the RCU callback */ 672 /* write rcu_pending before calling the RCU callback */
676 smp_wmb(); 673 smp_wmb();
674#ifdef CONFIG_PREEMPT_RCU
675 synchronize_sched(); /* Until we have the call_rcu_sched() */
676#endif
677 call_rcu(&entry->rcu, free_old_closure); 677 call_rcu(&entry->rcu, free_old_closure);
678end: 678end:
679 mutex_unlock(&markers_mutex); 679 mutex_unlock(&markers_mutex);
@@ -717,6 +717,9 @@ int marker_probe_unregister(const char *name,
717 entry->rcu_pending = 1; 717 entry->rcu_pending = 1;
718 /* write rcu_pending before calling the RCU callback */ 718 /* write rcu_pending before calling the RCU callback */
719 smp_wmb(); 719 smp_wmb();
720#ifdef CONFIG_PREEMPT_RCU
721 synchronize_sched(); /* Until we have the call_rcu_sched() */
722#endif
720 call_rcu(&entry->rcu, free_old_closure); 723 call_rcu(&entry->rcu, free_old_closure);
721 remove_marker(name); /* Ignore busy error message */ 724 remove_marker(name); /* Ignore busy error message */
722 ret = 0; 725 ret = 0;
@@ -795,6 +798,9 @@ int marker_probe_unregister_private_data(marker_probe_func *probe,
795 entry->rcu_pending = 1; 798 entry->rcu_pending = 1;
796 /* write rcu_pending before calling the RCU callback */ 799 /* write rcu_pending before calling the RCU callback */
797 smp_wmb(); 800 smp_wmb();
801#ifdef CONFIG_PREEMPT_RCU
802 synchronize_sched(); /* Until we have the call_rcu_sched() */
803#endif
798 call_rcu(&entry->rcu, free_old_closure); 804 call_rcu(&entry->rcu, free_old_closure);
799 remove_marker(entry->name); /* Ignore busy error message */ 805 remove_marker(entry->name); /* Ignore busy error message */
800end: 806end:
diff --git a/kernel/printk.c b/kernel/printk.c
index 9adc2a473e6..c46a20a19a1 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -616,6 +616,40 @@ asmlinkage int printk(const char *fmt, ...)
616/* cpu currently holding logbuf_lock */ 616/* cpu currently holding logbuf_lock */
617static volatile unsigned int printk_cpu = UINT_MAX; 617static volatile unsigned int printk_cpu = UINT_MAX;
618 618
619/*
620 * Can we actually use the console at this time on this cpu?
621 *
622 * Console drivers may assume that per-cpu resources have
623 * been allocated. So unless they're explicitly marked as
624 * being able to cope (CON_ANYTIME) don't call them until
625 * this CPU is officially up.
626 */
627static inline int can_use_console(unsigned int cpu)
628{
629 return cpu_online(cpu) || have_callable_console();
630}
631
632/*
633 * Try to get console ownership to actually show the kernel
634 * messages from a 'printk'. Return true (and with the
635 * console_semaphore held, and 'console_locked' set) if it
636 * is successful, false otherwise.
637 *
638 * This gets called with the 'logbuf_lock' spinlock held and
639 * interrupts disabled. It should return with 'lockbuf_lock'
640 * released but interrupts still disabled.
641 */
642static int acquire_console_semaphore_for_printk(unsigned int cpu)
643{
644 int retval = 0;
645
646 if (can_use_console(cpu))
647 retval = !try_acquire_console_sem();
648 printk_cpu = UINT_MAX;
649 spin_unlock(&logbuf_lock);
650 return retval;
651}
652
619const char printk_recursion_bug_msg [] = 653const char printk_recursion_bug_msg [] =
620 KERN_CRIT "BUG: recent printk recursion!\n"; 654 KERN_CRIT "BUG: recent printk recursion!\n";
621static int printk_recursion_bug; 655static int printk_recursion_bug;
@@ -725,43 +759,22 @@ asmlinkage int vprintk(const char *fmt, va_list args)
725 log_level_unknown = 1; 759 log_level_unknown = 1;
726 } 760 }
727 761
728 if (!down_trylock(&console_sem)) { 762 /*
729 /* 763 * Try to acquire and then immediately release the
730 * We own the drivers. We can drop the spinlock and 764 * console semaphore. The release will do all the
731 * let release_console_sem() print the text, maybe ... 765 * actual magic (print out buffers, wake up klogd,
732 */ 766 * etc).
733 console_locked = 1; 767 *
734 printk_cpu = UINT_MAX; 768 * The acquire_console_semaphore_for_printk() function
735 spin_unlock(&logbuf_lock); 769 * will release 'logbuf_lock' regardless of whether it
770 * actually gets the semaphore or not.
771 */
772 if (acquire_console_semaphore_for_printk(this_cpu))
773 release_console_sem();
736 774
737 /* 775 lockdep_on();
738 * Console drivers may assume that per-cpu resources have
739 * been allocated. So unless they're explicitly marked as
740 * being able to cope (CON_ANYTIME) don't call them until
741 * this CPU is officially up.
742 */
743 if (cpu_online(smp_processor_id()) || have_callable_console()) {
744 console_may_schedule = 0;
745 release_console_sem();
746 } else {
747 /* Release by hand to avoid flushing the buffer. */
748 console_locked = 0;
749 up(&console_sem);
750 }
751 lockdep_on();
752 raw_local_irq_restore(flags);
753 } else {
754 /*
755 * Someone else owns the drivers. We drop the spinlock, which
756 * allows the semaphore holder to proceed and to call the
757 * console drivers with the output which we just produced.
758 */
759 printk_cpu = UINT_MAX;
760 spin_unlock(&logbuf_lock);
761 lockdep_on();
762out_restore_irqs: 776out_restore_irqs:
763 raw_local_irq_restore(flags); 777 raw_local_irq_restore(flags);
764 }
765 778
766 preempt_enable(); 779 preempt_enable();
767 return printed_len; 780 return printed_len;
diff --git a/kernel/relay.c b/kernel/relay.c
index d080b9d161a..d6204a48581 100644
--- a/kernel/relay.c
+++ b/kernel/relay.c
@@ -736,7 +736,7 @@ static int relay_file_open(struct inode *inode, struct file *filp)
736 kref_get(&buf->kref); 736 kref_get(&buf->kref);
737 filp->private_data = buf; 737 filp->private_data = buf;
738 738
739 return 0; 739 return nonseekable_open(inode, filp);
740} 740}
741 741
742/** 742/**
@@ -1056,6 +1056,10 @@ static struct pipe_buf_operations relay_pipe_buf_ops = {
1056 .get = generic_pipe_buf_get, 1056 .get = generic_pipe_buf_get,
1057}; 1057};
1058 1058
1059static void relay_page_release(struct splice_pipe_desc *spd, unsigned int i)
1060{
1061}
1062
1059/* 1063/*
1060 * subbuf_splice_actor - splice up to one subbuf's worth of data 1064 * subbuf_splice_actor - splice up to one subbuf's worth of data
1061 */ 1065 */
@@ -1066,7 +1070,7 @@ static int subbuf_splice_actor(struct file *in,
1066 unsigned int flags, 1070 unsigned int flags,
1067 int *nonpad_ret) 1071 int *nonpad_ret)
1068{ 1072{
1069 unsigned int pidx, poff, total_len, subbuf_pages, ret; 1073 unsigned int pidx, poff, total_len, subbuf_pages, nr_pages, ret;
1070 struct rchan_buf *rbuf = in->private_data; 1074 struct rchan_buf *rbuf = in->private_data;
1071 unsigned int subbuf_size = rbuf->chan->subbuf_size; 1075 unsigned int subbuf_size = rbuf->chan->subbuf_size;
1072 uint64_t pos = (uint64_t) *ppos; 1076 uint64_t pos = (uint64_t) *ppos;
@@ -1083,6 +1087,7 @@ static int subbuf_splice_actor(struct file *in,
1083 .partial = partial, 1087 .partial = partial,
1084 .flags = flags, 1088 .flags = flags,
1085 .ops = &relay_pipe_buf_ops, 1089 .ops = &relay_pipe_buf_ops,
1090 .spd_release = relay_page_release,
1086 }; 1091 };
1087 1092
1088 if (rbuf->subbufs_produced == rbuf->subbufs_consumed) 1093 if (rbuf->subbufs_produced == rbuf->subbufs_consumed)
@@ -1097,8 +1102,9 @@ static int subbuf_splice_actor(struct file *in,
1097 subbuf_pages = rbuf->chan->alloc_size >> PAGE_SHIFT; 1102 subbuf_pages = rbuf->chan->alloc_size >> PAGE_SHIFT;
1098 pidx = (read_start / PAGE_SIZE) % subbuf_pages; 1103 pidx = (read_start / PAGE_SIZE) % subbuf_pages;
1099 poff = read_start & ~PAGE_MASK; 1104 poff = read_start & ~PAGE_MASK;
1105 nr_pages = min_t(unsigned int, subbuf_pages, PIPE_BUFFERS);
1100 1106
1101 for (total_len = 0; spd.nr_pages < subbuf_pages; spd.nr_pages++) { 1107 for (total_len = 0; spd.nr_pages < nr_pages; spd.nr_pages++) {
1102 unsigned int this_len, this_end, private; 1108 unsigned int this_len, this_end, private;
1103 unsigned int cur_pos = read_start + total_len; 1109 unsigned int cur_pos = read_start + total_len;
1104 1110
diff --git a/kernel/sched.c b/kernel/sched.c
index d1ad69b270c..8dcdec6fe0f 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -594,18 +594,14 @@ enum {
594 SCHED_FEAT_NEW_FAIR_SLEEPERS = 1, 594 SCHED_FEAT_NEW_FAIR_SLEEPERS = 1,
595 SCHED_FEAT_WAKEUP_PREEMPT = 2, 595 SCHED_FEAT_WAKEUP_PREEMPT = 2,
596 SCHED_FEAT_START_DEBIT = 4, 596 SCHED_FEAT_START_DEBIT = 4,
597 SCHED_FEAT_TREE_AVG = 8, 597 SCHED_FEAT_HRTICK = 8,
598 SCHED_FEAT_APPROX_AVG = 16, 598 SCHED_FEAT_DOUBLE_TICK = 16,
599 SCHED_FEAT_HRTICK = 32,
600 SCHED_FEAT_DOUBLE_TICK = 64,
601}; 599};
602 600
603const_debug unsigned int sysctl_sched_features = 601const_debug unsigned int sysctl_sched_features =
604 SCHED_FEAT_NEW_FAIR_SLEEPERS * 1 | 602 SCHED_FEAT_NEW_FAIR_SLEEPERS * 1 |
605 SCHED_FEAT_WAKEUP_PREEMPT * 1 | 603 SCHED_FEAT_WAKEUP_PREEMPT * 1 |
606 SCHED_FEAT_START_DEBIT * 1 | 604 SCHED_FEAT_START_DEBIT * 1 |
607 SCHED_FEAT_TREE_AVG * 0 |
608 SCHED_FEAT_APPROX_AVG * 0 |
609 SCHED_FEAT_HRTICK * 1 | 605 SCHED_FEAT_HRTICK * 1 |
610 SCHED_FEAT_DOUBLE_TICK * 0; 606 SCHED_FEAT_DOUBLE_TICK * 0;
611 607
@@ -1056,6 +1052,49 @@ static void resched_cpu(int cpu)
1056 resched_task(cpu_curr(cpu)); 1052 resched_task(cpu_curr(cpu));
1057 spin_unlock_irqrestore(&rq->lock, flags); 1053 spin_unlock_irqrestore(&rq->lock, flags);
1058} 1054}
1055
1056#ifdef CONFIG_NO_HZ
1057/*
1058 * When add_timer_on() enqueues a timer into the timer wheel of an
1059 * idle CPU then this timer might expire before the next timer event
1060 * which is scheduled to wake up that CPU. In case of a completely
1061 * idle system the next event might even be infinite time into the
1062 * future. wake_up_idle_cpu() ensures that the CPU is woken up and
1063 * leaves the inner idle loop so the newly added timer is taken into
1064 * account when the CPU goes back to idle and evaluates the timer
1065 * wheel for the next timer event.
1066 */
1067void wake_up_idle_cpu(int cpu)
1068{
1069 struct rq *rq = cpu_rq(cpu);
1070
1071 if (cpu == smp_processor_id())
1072 return;
1073
1074 /*
1075 * This is safe, as this function is called with the timer
1076 * wheel base lock of (cpu) held. When the CPU is on the way
1077 * to idle and has not yet set rq->curr to idle then it will
1078 * be serialized on the timer wheel base lock and take the new
1079 * timer into account automatically.
1080 */
1081 if (rq->curr != rq->idle)
1082 return;
1083
1084 /*
1085 * We can set TIF_RESCHED on the idle task of the other CPU
1086 * lockless. The worst case is that the other CPU runs the
1087 * idle task through an additional NOOP schedule()
1088 */
1089 set_tsk_thread_flag(rq->idle, TIF_NEED_RESCHED);
1090
1091 /* NEED_RESCHED must be visible before we test polling */
1092 smp_mb();
1093 if (!tsk_is_polling(rq->idle))
1094 smp_send_reschedule(cpu);
1095}
1096#endif
1097
1059#else 1098#else
1060static void __resched_task(struct task_struct *p, int tif_bit) 1099static void __resched_task(struct task_struct *p, int tif_bit)
1061{ 1100{
@@ -1396,6 +1435,12 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd)
1396{ 1435{
1397 s64 delta; 1436 s64 delta;
1398 1437
1438 /*
1439 * Buddy candidates are cache hot:
1440 */
1441 if (&p->se == cfs_rq_of(&p->se)->next)
1442 return 1;
1443
1399 if (p->sched_class != &fair_sched_class) 1444 if (p->sched_class != &fair_sched_class)
1400 return 0; 1445 return 0;
1401 1446
@@ -1855,10 +1900,11 @@ out_activate:
1855 schedstat_inc(p, se.nr_wakeups_remote); 1900 schedstat_inc(p, se.nr_wakeups_remote);
1856 update_rq_clock(rq); 1901 update_rq_clock(rq);
1857 activate_task(rq, p, 1); 1902 activate_task(rq, p, 1);
1858 check_preempt_curr(rq, p);
1859 success = 1; 1903 success = 1;
1860 1904
1861out_running: 1905out_running:
1906 check_preempt_curr(rq, p);
1907
1862 p->state = TASK_RUNNING; 1908 p->state = TASK_RUNNING;
1863#ifdef CONFIG_SMP 1909#ifdef CONFIG_SMP
1864 if (p->sched_class->task_wake_up) 1910 if (p->sched_class->task_wake_up)
@@ -1892,6 +1938,8 @@ static void __sched_fork(struct task_struct *p)
1892 p->se.exec_start = 0; 1938 p->se.exec_start = 0;
1893 p->se.sum_exec_runtime = 0; 1939 p->se.sum_exec_runtime = 0;
1894 p->se.prev_sum_exec_runtime = 0; 1940 p->se.prev_sum_exec_runtime = 0;
1941 p->se.last_wakeup = 0;
1942 p->se.avg_overlap = 0;
1895 1943
1896#ifdef CONFIG_SCHEDSTATS 1944#ifdef CONFIG_SCHEDSTATS
1897 p->se.wait_start = 0; 1945 p->se.wait_start = 0;
@@ -3877,7 +3925,7 @@ need_resched_nonpreemptible:
3877 3925
3878 if (prev->state && !(preempt_count() & PREEMPT_ACTIVE)) { 3926 if (prev->state && !(preempt_count() & PREEMPT_ACTIVE)) {
3879 if (unlikely((prev->state & TASK_INTERRUPTIBLE) && 3927 if (unlikely((prev->state & TASK_INTERRUPTIBLE) &&
3880 unlikely(signal_pending(prev)))) { 3928 signal_pending(prev))) {
3881 prev->state = TASK_RUNNING; 3929 prev->state = TASK_RUNNING;
3882 } else { 3930 } else {
3883 deactivate_task(rq, prev, 1); 3931 deactivate_task(rq, prev, 1);
@@ -6802,6 +6850,10 @@ static int ndoms_cur; /* number of sched domains in 'doms_cur' */
6802 */ 6850 */
6803static cpumask_t fallback_doms; 6851static cpumask_t fallback_doms;
6804 6852
6853void __attribute__((weak)) arch_update_cpu_topology(void)
6854{
6855}
6856
6805/* 6857/*
6806 * Set up scheduler domains and groups. Callers must hold the hotplug lock. 6858 * Set up scheduler domains and groups. Callers must hold the hotplug lock.
6807 * For now this just excludes isolated cpus, but could be used to 6859 * For now this just excludes isolated cpus, but could be used to
@@ -6811,6 +6863,7 @@ static int arch_init_sched_domains(const cpumask_t *cpu_map)
6811{ 6863{
6812 int err; 6864 int err;
6813 6865
6866 arch_update_cpu_topology();
6814 ndoms_cur = 1; 6867 ndoms_cur = 1;
6815 doms_cur = kmalloc(sizeof(cpumask_t), GFP_KERNEL); 6868 doms_cur = kmalloc(sizeof(cpumask_t), GFP_KERNEL);
6816 if (!doms_cur) 6869 if (!doms_cur)
@@ -6915,7 +6968,7 @@ match2:
6915} 6968}
6916 6969
6917#if defined(CONFIG_SCHED_MC) || defined(CONFIG_SCHED_SMT) 6970#if defined(CONFIG_SCHED_MC) || defined(CONFIG_SCHED_SMT)
6918static int arch_reinit_sched_domains(void) 6971int arch_reinit_sched_domains(void)
6919{ 6972{
6920 int err; 6973 int err;
6921 6974
diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c
index 4b5e24cf2f4..ef358ba0768 100644
--- a/kernel/sched_debug.c
+++ b/kernel/sched_debug.c
@@ -288,6 +288,7 @@ void proc_sched_show_task(struct task_struct *p, struct seq_file *m)
288 PN(se.exec_start); 288 PN(se.exec_start);
289 PN(se.vruntime); 289 PN(se.vruntime);
290 PN(se.sum_exec_runtime); 290 PN(se.sum_exec_runtime);
291 PN(se.avg_overlap);
291 292
292 nr_switches = p->nvcsw + p->nivcsw; 293 nr_switches = p->nvcsw + p->nivcsw;
293 294
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index f2cc59080ef..86a93376282 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -73,13 +73,13 @@ unsigned int sysctl_sched_batch_wakeup_granularity = 10000000UL;
73 73
74/* 74/*
75 * SCHED_OTHER wake-up granularity. 75 * SCHED_OTHER wake-up granularity.
76 * (default: 10 msec * (1 + ilog(ncpus)), units: nanoseconds) 76 * (default: 5 msec * (1 + ilog(ncpus)), units: nanoseconds)
77 * 77 *
78 * This option delays the preemption effects of decoupled workloads 78 * This option delays the preemption effects of decoupled workloads
79 * and reduces their over-scheduling. Synchronous workloads will still 79 * and reduces their over-scheduling. Synchronous workloads will still
80 * have immediate wakeup/sleep latencies. 80 * have immediate wakeup/sleep latencies.
81 */ 81 */
82unsigned int sysctl_sched_wakeup_granularity = 10000000UL; 82unsigned int sysctl_sched_wakeup_granularity = 5000000UL;
83 83
84const_debug unsigned int sysctl_sched_migration_cost = 500000UL; 84const_debug unsigned int sysctl_sched_migration_cost = 500000UL;
85 85
@@ -302,11 +302,6 @@ static u64 __sched_vslice(unsigned long rq_weight, unsigned long nr_running)
302 return vslice; 302 return vslice;
303} 303}
304 304
305static u64 sched_vslice(struct cfs_rq *cfs_rq)
306{
307 return __sched_vslice(cfs_rq->load.weight, cfs_rq->nr_running);
308}
309
310static u64 sched_vslice_add(struct cfs_rq *cfs_rq, struct sched_entity *se) 305static u64 sched_vslice_add(struct cfs_rq *cfs_rq, struct sched_entity *se)
311{ 306{
312 return __sched_vslice(cfs_rq->load.weight + se->load.weight, 307 return __sched_vslice(cfs_rq->load.weight + se->load.weight,
@@ -504,15 +499,6 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
504 } else 499 } else
505 vruntime = cfs_rq->min_vruntime; 500 vruntime = cfs_rq->min_vruntime;
506 501
507 if (sched_feat(TREE_AVG)) {
508 struct sched_entity *last = __pick_last_entity(cfs_rq);
509 if (last) {
510 vruntime += last->vruntime;
511 vruntime >>= 1;
512 }
513 } else if (sched_feat(APPROX_AVG) && cfs_rq->nr_running)
514 vruntime += sched_vslice(cfs_rq)/2;
515
516 /* 502 /*
517 * The 'current' period is already promised to the current tasks, 503 * The 'current' period is already promised to the current tasks,
518 * however the extra weight of the new task will slow them down a 504 * however the extra weight of the new task will slow them down a
@@ -556,6 +542,21 @@ enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int wakeup)
556 account_entity_enqueue(cfs_rq, se); 542 account_entity_enqueue(cfs_rq, se);
557} 543}
558 544
545static void update_avg(u64 *avg, u64 sample)
546{
547 s64 diff = sample - *avg;
548 *avg += diff >> 3;
549}
550
551static void update_avg_stats(struct cfs_rq *cfs_rq, struct sched_entity *se)
552{
553 if (!se->last_wakeup)
554 return;
555
556 update_avg(&se->avg_overlap, se->sum_exec_runtime - se->last_wakeup);
557 se->last_wakeup = 0;
558}
559
559static void 560static void
560dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep) 561dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep)
561{ 562{
@@ -566,6 +567,7 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep)
566 567
567 update_stats_dequeue(cfs_rq, se); 568 update_stats_dequeue(cfs_rq, se);
568 if (sleep) { 569 if (sleep) {
570 update_avg_stats(cfs_rq, se);
569#ifdef CONFIG_SCHEDSTATS 571#ifdef CONFIG_SCHEDSTATS
570 if (entity_is_task(se)) { 572 if (entity_is_task(se)) {
571 struct task_struct *tsk = task_of(se); 573 struct task_struct *tsk = task_of(se);
@@ -980,96 +982,121 @@ static inline int wake_idle(int cpu, struct task_struct *p)
980#endif 982#endif
981 983
982#ifdef CONFIG_SMP 984#ifdef CONFIG_SMP
983static int select_task_rq_fair(struct task_struct *p, int sync) 985
986static const struct sched_class fair_sched_class;
987
988static int
989wake_affine(struct rq *rq, struct sched_domain *this_sd, struct rq *this_rq,
990 struct task_struct *p, int prev_cpu, int this_cpu, int sync,
991 int idx, unsigned long load, unsigned long this_load,
992 unsigned int imbalance)
984{ 993{
985 int cpu, this_cpu; 994 struct task_struct *curr = this_rq->curr;
986 struct rq *rq; 995 unsigned long tl = this_load;
987 struct sched_domain *sd, *this_sd = NULL; 996 unsigned long tl_per_task;
988 int new_cpu; 997
998 if (!(this_sd->flags & SD_WAKE_AFFINE))
999 return 0;
1000
1001 /*
1002 * If the currently running task will sleep within
1003 * a reasonable amount of time then attract this newly
1004 * woken task:
1005 */
1006 if (sync && curr->sched_class == &fair_sched_class) {
1007 if (curr->se.avg_overlap < sysctl_sched_migration_cost &&
1008 p->se.avg_overlap < sysctl_sched_migration_cost)
1009 return 1;
1010 }
1011
1012 schedstat_inc(p, se.nr_wakeups_affine_attempts);
1013 tl_per_task = cpu_avg_load_per_task(this_cpu);
1014
1015 /*
1016 * If sync wakeup then subtract the (maximum possible)
1017 * effect of the currently running task from the load
1018 * of the current CPU:
1019 */
1020 if (sync)
1021 tl -= current->se.load.weight;
1022
1023 if ((tl <= load && tl + target_load(prev_cpu, idx) <= tl_per_task) ||
1024 100*(tl + p->se.load.weight) <= imbalance*load) {
1025 /*
1026 * This domain has SD_WAKE_AFFINE and
1027 * p is cache cold in this domain, and
1028 * there is no bad imbalance.
1029 */
1030 schedstat_inc(this_sd, ttwu_move_affine);
1031 schedstat_inc(p, se.nr_wakeups_affine);
989 1032
990 cpu = task_cpu(p); 1033 return 1;
991 rq = task_rq(p); 1034 }
992 this_cpu = smp_processor_id(); 1035 return 0;
993 new_cpu = cpu; 1036}
994 1037
995 if (cpu == this_cpu) 1038static int select_task_rq_fair(struct task_struct *p, int sync)
996 goto out_set_cpu; 1039{
1040 struct sched_domain *sd, *this_sd = NULL;
1041 int prev_cpu, this_cpu, new_cpu;
1042 unsigned long load, this_load;
1043 struct rq *rq, *this_rq;
1044 unsigned int imbalance;
1045 int idx;
1046
1047 prev_cpu = task_cpu(p);
1048 rq = task_rq(p);
1049 this_cpu = smp_processor_id();
1050 this_rq = cpu_rq(this_cpu);
1051 new_cpu = prev_cpu;
997 1052
1053 /*
1054 * 'this_sd' is the first domain that both
1055 * this_cpu and prev_cpu are present in:
1056 */
998 for_each_domain(this_cpu, sd) { 1057 for_each_domain(this_cpu, sd) {
999 if (cpu_isset(cpu, sd->span)) { 1058 if (cpu_isset(prev_cpu, sd->span)) {
1000 this_sd = sd; 1059 this_sd = sd;
1001 break; 1060 break;
1002 } 1061 }
1003 } 1062 }
1004 1063
1005 if (unlikely(!cpu_isset(this_cpu, p->cpus_allowed))) 1064 if (unlikely(!cpu_isset(this_cpu, p->cpus_allowed)))
1006 goto out_set_cpu; 1065 goto out;
1007 1066
1008 /* 1067 /*
1009 * Check for affine wakeup and passive balancing possibilities. 1068 * Check for affine wakeup and passive balancing possibilities.
1010 */ 1069 */
1011 if (this_sd) { 1070 if (!this_sd)
1012 int idx = this_sd->wake_idx; 1071 goto out;
1013 unsigned int imbalance;
1014 unsigned long load, this_load;
1015
1016 imbalance = 100 + (this_sd->imbalance_pct - 100) / 2;
1017
1018 load = source_load(cpu, idx);
1019 this_load = target_load(this_cpu, idx);
1020
1021 new_cpu = this_cpu; /* Wake to this CPU if we can */
1022
1023 if (this_sd->flags & SD_WAKE_AFFINE) {
1024 unsigned long tl = this_load;
1025 unsigned long tl_per_task;
1026
1027 /*
1028 * Attract cache-cold tasks on sync wakeups:
1029 */
1030 if (sync && !task_hot(p, rq->clock, this_sd))
1031 goto out_set_cpu;
1032
1033 schedstat_inc(p, se.nr_wakeups_affine_attempts);
1034 tl_per_task = cpu_avg_load_per_task(this_cpu);
1035
1036 /*
1037 * If sync wakeup then subtract the (maximum possible)
1038 * effect of the currently running task from the load
1039 * of the current CPU:
1040 */
1041 if (sync)
1042 tl -= current->se.load.weight;
1043
1044 if ((tl <= load &&
1045 tl + target_load(cpu, idx) <= tl_per_task) ||
1046 100*(tl + p->se.load.weight) <= imbalance*load) {
1047 /*
1048 * This domain has SD_WAKE_AFFINE and
1049 * p is cache cold in this domain, and
1050 * there is no bad imbalance.
1051 */
1052 schedstat_inc(this_sd, ttwu_move_affine);
1053 schedstat_inc(p, se.nr_wakeups_affine);
1054 goto out_set_cpu;
1055 }
1056 }
1057 1072
1058 /* 1073 idx = this_sd->wake_idx;
1059 * Start passive balancing when half the imbalance_pct 1074
1060 * limit is reached. 1075 imbalance = 100 + (this_sd->imbalance_pct - 100) / 2;
1061 */ 1076
1062 if (this_sd->flags & SD_WAKE_BALANCE) { 1077 load = source_load(prev_cpu, idx);
1063 if (imbalance*this_load <= 100*load) { 1078 this_load = target_load(this_cpu, idx);
1064 schedstat_inc(this_sd, ttwu_move_balance); 1079
1065 schedstat_inc(p, se.nr_wakeups_passive); 1080 if (wake_affine(rq, this_sd, this_rq, p, prev_cpu, this_cpu, sync, idx,
1066 goto out_set_cpu; 1081 load, this_load, imbalance))
1067 } 1082 return this_cpu;
1083
1084 if (prev_cpu == this_cpu)
1085 goto out;
1086
1087 /*
1088 * Start passive balancing when half the imbalance_pct
1089 * limit is reached.
1090 */
1091 if (this_sd->flags & SD_WAKE_BALANCE) {
1092 if (imbalance*this_load <= 100*load) {
1093 schedstat_inc(this_sd, ttwu_move_balance);
1094 schedstat_inc(p, se.nr_wakeups_passive);
1095 return this_cpu;
1068 } 1096 }
1069 } 1097 }
1070 1098
1071 new_cpu = cpu; /* Could not wake to this_cpu. Wake to cpu instead */ 1099out:
1072out_set_cpu:
1073 return wake_idle(new_cpu, p); 1100 return wake_idle(new_cpu, p);
1074} 1101}
1075#endif /* CONFIG_SMP */ 1102#endif /* CONFIG_SMP */
@@ -1092,6 +1119,10 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p)
1092 return; 1119 return;
1093 } 1120 }
1094 1121
1122 se->last_wakeup = se->sum_exec_runtime;
1123 if (unlikely(se == pse))
1124 return;
1125
1095 cfs_rq_of(pse)->next = pse; 1126 cfs_rq_of(pse)->next = pse;
1096 1127
1097 /* 1128 /*
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 548c436a776..7f60097d443 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -141,13 +141,8 @@ static void clocksource_watchdog(unsigned long data)
141 } 141 }
142 142
143 if (!list_empty(&watchdog_list)) { 143 if (!list_empty(&watchdog_list)) {
144 /* Cycle through CPUs to check if the CPUs stay synchronized to 144 __mod_timer(&watchdog_timer,
145 * each other. */ 145 watchdog_timer.expires + WATCHDOG_INTERVAL);
146 int next_cpu = next_cpu(raw_smp_processor_id(), cpu_online_map);
147 if (next_cpu >= NR_CPUS)
148 next_cpu = first_cpu(cpu_online_map);
149 watchdog_timer.expires += WATCHDOG_INTERVAL;
150 add_timer_on(&watchdog_timer, next_cpu);
151 } 146 }
152 spin_unlock(&watchdog_lock); 147 spin_unlock(&watchdog_lock);
153} 148}
@@ -169,7 +164,7 @@ static void clocksource_check_watchdog(struct clocksource *cs)
169 if (!started && watchdog) { 164 if (!started && watchdog) {
170 watchdog_last = watchdog->read(); 165 watchdog_last = watchdog->read();
171 watchdog_timer.expires = jiffies + WATCHDOG_INTERVAL; 166 watchdog_timer.expires = jiffies + WATCHDOG_INTERVAL;
172 add_timer_on(&watchdog_timer, first_cpu(cpu_online_map)); 167 add_timer(&watchdog_timer);
173 } 168 }
174 } else { 169 } else {
175 if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS) 170 if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS)
@@ -179,7 +174,7 @@ static void clocksource_check_watchdog(struct clocksource *cs)
179 if (watchdog) 174 if (watchdog)
180 del_timer(&watchdog_timer); 175 del_timer(&watchdog_timer);
181 watchdog = cs; 176 watchdog = cs;
182 init_timer_deferrable(&watchdog_timer); 177 init_timer(&watchdog_timer);
183 watchdog_timer.function = clocksource_watchdog; 178 watchdog_timer.function = clocksource_watchdog;
184 179
185 /* Reset watchdog cycles */ 180 /* Reset watchdog cycles */
@@ -190,8 +185,7 @@ static void clocksource_check_watchdog(struct clocksource *cs)
190 watchdog_last = watchdog->read(); 185 watchdog_last = watchdog->read();
191 watchdog_timer.expires = 186 watchdog_timer.expires =
192 jiffies + WATCHDOG_INTERVAL; 187 jiffies + WATCHDOG_INTERVAL;
193 add_timer_on(&watchdog_timer, 188 add_timer(&watchdog_timer);
194 first_cpu(cpu_online_map));
195 } 189 }
196 } 190 }
197 } 191 }
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 671af612b76..a3fa587c350 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -191,8 +191,12 @@ static void change_clocksource(void)
191 191
192 tick_clock_notify(); 192 tick_clock_notify();
193 193
194 /*
195 * We're holding xtime lock and waking up klogd would deadlock
196 * us on enqueue. So no printing!
194 printk(KERN_INFO "Time: %s clocksource has been installed.\n", 197 printk(KERN_INFO "Time: %s clocksource has been installed.\n",
195 clock->name); 198 clock->name);
199 */
196} 200}
197#else 201#else
198static inline void change_clocksource(void) { } 202static inline void change_clocksource(void) { }
diff --git a/kernel/timer.c b/kernel/timer.c
index 99b00a25f88..b024106daa7 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -451,10 +451,18 @@ void add_timer_on(struct timer_list *timer, int cpu)
451 spin_lock_irqsave(&base->lock, flags); 451 spin_lock_irqsave(&base->lock, flags);
452 timer_set_base(timer, base); 452 timer_set_base(timer, base);
453 internal_add_timer(base, timer); 453 internal_add_timer(base, timer);
454 /*
455 * Check whether the other CPU is idle and needs to be
456 * triggered to reevaluate the timer wheel when nohz is
457 * active. We are protected against the other CPU fiddling
458 * with the timer by holding the timer base lock. This also
459 * makes sure that a CPU on the way to idle can not evaluate
460 * the timer wheel.
461 */
462 wake_up_idle_cpu(cpu);
454 spin_unlock_irqrestore(&base->lock, flags); 463 spin_unlock_irqrestore(&base->lock, flags);
455} 464}
456 465
457
458/** 466/**
459 * mod_timer - modify a timer's timeout 467 * mod_timer - modify a timer's timeout
460 * @timer: the timer to be modified 468 * @timer: the timer to be modified
diff --git a/lib/iomap.c b/lib/iomap.c
index db004a9ff50..dd6ca48fe6b 100644
--- a/lib/iomap.c
+++ b/lib/iomap.c
@@ -256,7 +256,7 @@ EXPORT_SYMBOL(ioport_unmap);
256 * */ 256 * */
257void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) 257void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
258{ 258{
259 unsigned long start = pci_resource_start(dev, bar); 259 resource_size_t start = pci_resource_start(dev, bar);
260 unsigned long len = pci_resource_len(dev, bar); 260 unsigned long len = pci_resource_len(dev, bar);
261 unsigned long flags = pci_resource_flags(dev, bar); 261 unsigned long flags = pci_resource_flags(dev, bar);
262 262
diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index b06185ed189..9fb6b86cf6b 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -57,7 +57,7 @@ int kobject_action_type(const char *buf, size_t count,
57 enum kobject_action action; 57 enum kobject_action action;
58 int ret = -EINVAL; 58 int ret = -EINVAL;
59 59
60 if (count && buf[count-1] == '\n') 60 if (count && (buf[count-1] == '\n' || buf[count-1] == '\0'))
61 count--; 61 count--;
62 62
63 if (!count) 63 if (!count)
diff --git a/mm/bootmem.c b/mm/bootmem.c
index f6ff4337b42..2ccea700968 100644
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -125,6 +125,7 @@ static int __init reserve_bootmem_core(bootmem_data_t *bdata,
125 BUG_ON(!size); 125 BUG_ON(!size);
126 BUG_ON(PFN_DOWN(addr) >= bdata->node_low_pfn); 126 BUG_ON(PFN_DOWN(addr) >= bdata->node_low_pfn);
127 BUG_ON(PFN_UP(addr + size) > bdata->node_low_pfn); 127 BUG_ON(PFN_UP(addr + size) > bdata->node_low_pfn);
128 BUG_ON(addr < bdata->node_boot_start);
128 129
129 sidx = PFN_DOWN(addr - bdata->node_boot_start); 130 sidx = PFN_DOWN(addr - bdata->node_boot_start);
130 eidx = PFN_UP(addr + size - bdata->node_boot_start); 131 eidx = PFN_UP(addr + size - bdata->node_boot_start);
@@ -156,21 +157,31 @@ static void __init free_bootmem_core(bootmem_data_t *bdata, unsigned long addr,
156 unsigned long sidx, eidx; 157 unsigned long sidx, eidx;
157 unsigned long i; 158 unsigned long i;
158 159
160 BUG_ON(!size);
161
162 /* out range */
163 if (addr + size < bdata->node_boot_start ||
164 PFN_DOWN(addr) > bdata->node_low_pfn)
165 return;
159 /* 166 /*
160 * round down end of usable mem, partially free pages are 167 * round down end of usable mem, partially free pages are
161 * considered reserved. 168 * considered reserved.
162 */ 169 */
163 BUG_ON(!size);
164 BUG_ON(PFN_DOWN(addr + size) > bdata->node_low_pfn);
165 170
166 if (addr < bdata->last_success) 171 if (addr >= bdata->node_boot_start && addr < bdata->last_success)
167 bdata->last_success = addr; 172 bdata->last_success = addr;
168 173
169 /* 174 /*
170 * Round up the beginning of the address. 175 * Round up to index to the range.
171 */ 176 */
172 sidx = PFN_UP(addr) - PFN_DOWN(bdata->node_boot_start); 177 if (PFN_UP(addr) > PFN_DOWN(bdata->node_boot_start))
178 sidx = PFN_UP(addr) - PFN_DOWN(bdata->node_boot_start);
179 else
180 sidx = 0;
181
173 eidx = PFN_DOWN(addr + size - bdata->node_boot_start); 182 eidx = PFN_DOWN(addr + size - bdata->node_boot_start);
183 if (eidx > bdata->node_low_pfn - PFN_DOWN(bdata->node_boot_start))
184 eidx = bdata->node_low_pfn - PFN_DOWN(bdata->node_boot_start);
174 185
175 for (i = sidx; i < eidx; i++) { 186 for (i = sidx; i < eidx; i++) {
176 if (unlikely(!test_and_clear_bit(i, bdata->node_bootmem_map))) 187 if (unlikely(!test_and_clear_bit(i, bdata->node_bootmem_map)))
@@ -421,7 +432,9 @@ int __init reserve_bootmem(unsigned long addr, unsigned long size,
421 432
422void __init free_bootmem(unsigned long addr, unsigned long size) 433void __init free_bootmem(unsigned long addr, unsigned long size)
423{ 434{
424 free_bootmem_core(NODE_DATA(0)->bdata, addr, size); 435 bootmem_data_t *bdata;
436 list_for_each_entry(bdata, &bdata_list, list)
437 free_bootmem_core(bdata, addr, size);
425} 438}
426 439
427unsigned long __init free_all_bootmem(void) 440unsigned long __init free_all_bootmem(void)
diff --git a/mm/filemap.c b/mm/filemap.c
index df343d1e634..07e9d9258b4 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -343,7 +343,7 @@ int sync_page_range(struct inode *inode, struct address_space *mapping,
343EXPORT_SYMBOL(sync_page_range); 343EXPORT_SYMBOL(sync_page_range);
344 344
345/** 345/**
346 * sync_page_range_nolock 346 * sync_page_range_nolock - write & wait on all pages in the passed range without locking
347 * @inode: target inode 347 * @inode: target inode
348 * @mapping: target address_space 348 * @mapping: target address_space
349 * @pos: beginning offset in pages to write 349 * @pos: beginning offset in pages to write
@@ -611,7 +611,10 @@ int __lock_page_killable(struct page *page)
611 sync_page_killable, TASK_KILLABLE); 611 sync_page_killable, TASK_KILLABLE);
612} 612}
613 613
614/* 614/**
615 * __lock_page_nosync - get a lock on the page, without calling sync_page()
616 * @page: the page to lock
617 *
615 * Variant of lock_page that does not require the caller to hold a reference 618 * Variant of lock_page that does not require the caller to hold a reference
616 * on the page's mapping. 619 * on the page's mapping.
617 */ 620 */
@@ -1538,9 +1541,20 @@ repeat:
1538 return page; 1541 return page;
1539} 1542}
1540 1543
1541/* 1544/**
1545 * read_cache_page_async - read into page cache, fill it if needed
1546 * @mapping: the page's address_space
1547 * @index: the page index
1548 * @filler: function to perform the read
1549 * @data: destination for read data
1550 *
1542 * Same as read_cache_page, but don't wait for page to become unlocked 1551 * Same as read_cache_page, but don't wait for page to become unlocked
1543 * after submitting it to the filler. 1552 * after submitting it to the filler.
1553 *
1554 * Read into the page cache. If a page already exists, and PageUptodate() is
1555 * not set, try to fill the page but don't wait for it to become unlocked.
1556 *
1557 * If the page does not get brought uptodate, return -EIO.
1544 */ 1558 */
1545struct page *read_cache_page_async(struct address_space *mapping, 1559struct page *read_cache_page_async(struct address_space *mapping,
1546 pgoff_t index, 1560 pgoff_t index,
diff --git a/mm/fremap.c b/mm/fremap.c
index 69a37c2bdf8..07a9c82ce1a 100644
--- a/mm/fremap.c
+++ b/mm/fremap.c
@@ -113,7 +113,7 @@ static int populate_range(struct mm_struct *mm, struct vm_area_struct *vma,
113 * mmap()/mremap() it does not create any new vmas. The new mappings are 113 * mmap()/mremap() it does not create any new vmas. The new mappings are
114 * also safe across swapout. 114 * also safe across swapout.
115 * 115 *
116 * NOTE: the 'prot' parameter right now is ignored (but must be zero), 116 * NOTE: the @prot parameter right now is ignored (but must be zero),
117 * and the vma's default protection is used. Arbitrary protections 117 * and the vma's default protection is used. Arbitrary protections
118 * might be implemented in the future. 118 * might be implemented in the future.
119 */ 119 */
diff --git a/mm/highmem.c b/mm/highmem.c
index 35d47733cde..7da4a7b6af1 100644
--- a/mm/highmem.c
+++ b/mm/highmem.c
@@ -104,8 +104,9 @@ static void flush_all_zero_pkmaps(void)
104 flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP)); 104 flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP));
105} 105}
106 106
107/* Flush all unused kmap mappings in order to remove stray 107/**
108 mappings. */ 108 * kmap_flush_unused - flush all unused kmap mappings in order to remove stray mappings
109 */
109void kmap_flush_unused(void) 110void kmap_flush_unused(void)
110{ 111{
111 spin_lock(&kmap_lock); 112 spin_lock(&kmap_lock);
@@ -163,6 +164,14 @@ start:
163 return vaddr; 164 return vaddr;
164} 165}
165 166
167/**
168 * kmap_high - map a highmem page into memory
169 * @page: &struct page to map
170 *
171 * Returns the page's virtual memory address.
172 *
173 * We cannot call this from interrupts, as it may block.
174 */
166void *kmap_high(struct page *page) 175void *kmap_high(struct page *page)
167{ 176{
168 unsigned long vaddr; 177 unsigned long vaddr;
@@ -170,8 +179,6 @@ void *kmap_high(struct page *page)
170 /* 179 /*
171 * For highmem pages, we can't trust "virtual" until 180 * For highmem pages, we can't trust "virtual" until
172 * after we have the lock. 181 * after we have the lock.
173 *
174 * We cannot call this from interrupts, as it may block
175 */ 182 */
176 spin_lock(&kmap_lock); 183 spin_lock(&kmap_lock);
177 vaddr = (unsigned long)page_address(page); 184 vaddr = (unsigned long)page_address(page);
@@ -185,6 +192,10 @@ void *kmap_high(struct page *page)
185 192
186EXPORT_SYMBOL(kmap_high); 193EXPORT_SYMBOL(kmap_high);
187 194
195/**
196 * kunmap_high - map a highmem page into memory
197 * @page: &struct page to unmap
198 */
188void kunmap_high(struct page *page) 199void kunmap_high(struct page *page)
189{ 200{
190 unsigned long vaddr; 201 unsigned long vaddr;
@@ -259,6 +270,12 @@ static struct page_address_slot *page_slot(struct page *page)
259 return &page_address_htable[hash_ptr(page, PA_HASH_ORDER)]; 270 return &page_address_htable[hash_ptr(page, PA_HASH_ORDER)];
260} 271}
261 272
273/**
274 * page_address - get the mapped virtual address of a page
275 * @page: &struct page to get the virtual address of
276 *
277 * Returns the page's virtual address.
278 */
262void *page_address(struct page *page) 279void *page_address(struct page *page)
263{ 280{
264 unsigned long flags; 281 unsigned long flags;
@@ -288,6 +305,11 @@ done:
288 305
289EXPORT_SYMBOL(page_address); 306EXPORT_SYMBOL(page_address);
290 307
308/**
309 * set_page_address - set a page's virtual address
310 * @page: &struct page to set
311 * @virtual: virtual address to use
312 */
291void set_page_address(struct page *page, void *virtual) 313void set_page_address(struct page *page, void *virtual)
292{ 314{
293 unsigned long flags; 315 unsigned long flags;
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 74c1b6b0b37..51c9e2c0164 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -401,12 +401,20 @@ static void return_unused_surplus_pages(unsigned long unused_resv_pages)
401 struct page *page; 401 struct page *page;
402 unsigned long nr_pages; 402 unsigned long nr_pages;
403 403
404 /*
405 * We want to release as many surplus pages as possible, spread
406 * evenly across all nodes. Iterate across all nodes until we
407 * can no longer free unreserved surplus pages. This occurs when
408 * the nodes with surplus pages have no free pages.
409 */
410 unsigned long remaining_iterations = num_online_nodes();
411
404 /* Uncommit the reservation */ 412 /* Uncommit the reservation */
405 resv_huge_pages -= unused_resv_pages; 413 resv_huge_pages -= unused_resv_pages;
406 414
407 nr_pages = min(unused_resv_pages, surplus_huge_pages); 415 nr_pages = min(unused_resv_pages, surplus_huge_pages);
408 416
409 while (nr_pages) { 417 while (remaining_iterations-- && nr_pages) {
410 nid = next_node(nid, node_online_map); 418 nid = next_node(nid, node_online_map);
411 if (nid == MAX_NUMNODES) 419 if (nid == MAX_NUMNODES)
412 nid = first_node(node_online_map); 420 nid = first_node(node_online_map);
@@ -424,6 +432,7 @@ static void return_unused_surplus_pages(unsigned long unused_resv_pages)
424 surplus_huge_pages--; 432 surplus_huge_pages--;
425 surplus_huge_pages_node[nid]--; 433 surplus_huge_pages_node[nid]--;
426 nr_pages--; 434 nr_pages--;
435 remaining_iterations = num_online_nodes();
427 } 436 }
428 } 437 }
429} 438}
@@ -671,9 +680,11 @@ int hugetlb_report_node_meminfo(int nid, char *buf)
671{ 680{
672 return sprintf(buf, 681 return sprintf(buf,
673 "Node %d HugePages_Total: %5u\n" 682 "Node %d HugePages_Total: %5u\n"
674 "Node %d HugePages_Free: %5u\n", 683 "Node %d HugePages_Free: %5u\n"
684 "Node %d HugePages_Surp: %5u\n",
675 nid, nr_huge_pages_node[nid], 685 nid, nr_huge_pages_node[nid],
676 nid, free_huge_pages_node[nid]); 686 nid, free_huge_pages_node[nid],
687 nid, surplus_huge_pages_node[nid]);
677} 688}
678 689
679/* Return the number pages of memory we physically have, in PAGE_SIZE units. */ 690/* Return the number pages of memory we physically have, in PAGE_SIZE units. */
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 8b9f6cae938..9b648bd6345 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1079,7 +1079,7 @@ static void mem_cgroup_move_task(struct cgroup_subsys *ss,
1079 * Only thread group leaders are allowed to migrate, the mm_struct is 1079 * Only thread group leaders are allowed to migrate, the mm_struct is
1080 * in effect owned by the leader 1080 * in effect owned by the leader
1081 */ 1081 */
1082 if (p->tgid != p->pid) 1082 if (!thread_group_leader(p))
1083 goto out; 1083 goto out;
1084 1084
1085 css_get(&mem->css); 1085 css_get(&mem->css);
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 44b2da11bf4..f255eda693b 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -37,6 +37,7 @@ static DEFINE_SPINLOCK(zone_scan_mutex);
37 * badness - calculate a numeric value for how bad this task has been 37 * badness - calculate a numeric value for how bad this task has been
38 * @p: task struct of which task we should calculate 38 * @p: task struct of which task we should calculate
39 * @uptime: current uptime in seconds 39 * @uptime: current uptime in seconds
40 * @mem: target memory controller
40 * 41 *
41 * The formula used is relatively simple and documented inline in the 42 * The formula used is relatively simple and documented inline in the
42 * function. The main rationale is that we want to select a good task 43 * function. The main rationale is that we want to select a good task
@@ -264,6 +265,9 @@ static struct task_struct *select_bad_process(unsigned long *ppoints,
264} 265}
265 266
266/** 267/**
268 * dump_tasks - dump current memory state of all system tasks
269 * @mem: target memory controller
270 *
267 * Dumps the current memory state of all system tasks, excluding kernel threads. 271 * Dumps the current memory state of all system tasks, excluding kernel threads.
268 * State information includes task's pid, uid, tgid, vm size, rss, cpu, oom_adj 272 * State information includes task's pid, uid, tgid, vm size, rss, cpu, oom_adj
269 * score, and name. 273 * score, and name.
@@ -298,7 +302,7 @@ static void dump_tasks(const struct mem_cgroup *mem)
298 } while_each_thread(g, p); 302 } while_each_thread(g, p);
299} 303}
300 304
301/** 305/*
302 * Send SIGKILL to the selected process irrespective of CAP_SYS_RAW_IO 306 * Send SIGKILL to the selected process irrespective of CAP_SYS_RAW_IO
303 * flag though it's unlikely that we select a process with CAP_SYS_RAW_IO 307 * flag though it's unlikely that we select a process with CAP_SYS_RAW_IO
304 * set. 308 * set.
@@ -504,6 +508,9 @@ void clear_zonelist_oom(struct zonelist *zonelist)
504 508
505/** 509/**
506 * out_of_memory - kill the "best" process when we run out of memory 510 * out_of_memory - kill the "best" process when we run out of memory
511 * @zonelist: zonelist pointer
512 * @gfp_mask: memory allocation flags
513 * @order: amount of memory being requested as a power of 2
507 * 514 *
508 * If we run out of memory, we have the choice between either 515 * If we run out of memory, we have the choice between either
509 * killing a random task (bad), letting the system crash (worse) 516 * killing a random task (bad), letting the system crash (worse)
diff --git a/mm/pagewalk.c b/mm/pagewalk.c
index b4f27d22da9..1cf1417ef8b 100644
--- a/mm/pagewalk.c
+++ b/mm/pagewalk.c
@@ -77,11 +77,11 @@ static int walk_pud_range(pgd_t *pgd, unsigned long addr, unsigned long end,
77 77
78/** 78/**
79 * walk_page_range - walk a memory map's page tables with a callback 79 * walk_page_range - walk a memory map's page tables with a callback
80 * @mm - memory map to walk 80 * @mm: memory map to walk
81 * @addr - starting address 81 * @addr: starting address
82 * @end - ending address 82 * @end: ending address
83 * @walk - set of callbacks to invoke for each level of the tree 83 * @walk: set of callbacks to invoke for each level of the tree
84 * @private - private data passed to the callback function 84 * @private: private data passed to the callback function
85 * 85 *
86 * Recursively walk the page table for the memory area in a VMA, 86 * Recursively walk the page table for the memory area in a VMA,
87 * calling supplied callbacks. Callbacks are called in-order (first 87 * calling supplied callbacks. Callbacks are called in-order (first
diff --git a/mm/readahead.c b/mm/readahead.c
index c9c50ca1ec3..8762e898897 100644
--- a/mm/readahead.c
+++ b/mm/readahead.c
@@ -443,9 +443,10 @@ EXPORT_SYMBOL_GPL(page_cache_sync_readahead);
443 * pagecache pages 443 * pagecache pages
444 * 444 *
445 * page_cache_async_ondemand() should be called when a page is used which 445 * page_cache_async_ondemand() should be called when a page is used which
446 * has the PG_readahead flag: this is a marker to suggest that the application 446 * has the PG_readahead flag; this is a marker to suggest that the application
447 * has used up enough of the readahead window that we should start pulling in 447 * has used up enough of the readahead window that we should start pulling in
448 * more pages. */ 448 * more pages.
449 */
449void 450void
450page_cache_async_readahead(struct address_space *mapping, 451page_cache_async_readahead(struct address_space *mapping,
451 struct file_ra_state *ra, struct file *filp, 452 struct file_ra_state *ra, struct file *filp,
diff --git a/mm/rmap.c b/mm/rmap.c
index 0c9a2df06c3..997f06907b6 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -335,6 +335,7 @@ static int page_referenced_anon(struct page *page,
335/** 335/**
336 * page_referenced_file - referenced check for object-based rmap 336 * page_referenced_file - referenced check for object-based rmap
337 * @page: the page we're checking references on. 337 * @page: the page we're checking references on.
338 * @mem_cont: target memory controller
338 * 339 *
339 * For an object-based mapped page, find all the places it is mapped and 340 * For an object-based mapped page, find all the places it is mapped and
340 * check/clear the referenced flag. This is done by following the page->mapping 341 * check/clear the referenced flag. This is done by following the page->mapping
@@ -402,6 +403,7 @@ static int page_referenced_file(struct page *page,
402 * page_referenced - test if the page was referenced 403 * page_referenced - test if the page was referenced
403 * @page: the page to test 404 * @page: the page to test
404 * @is_locked: caller holds lock on the page 405 * @is_locked: caller holds lock on the page
406 * @mem_cont: target memory controller
405 * 407 *
406 * Quick test_and_clear_referenced for all mappings to a page, 408 * Quick test_and_clear_referenced for all mappings to a page,
407 * returns the number of ptes which referenced the page. 409 * returns the number of ptes which referenced the page.
@@ -506,7 +508,7 @@ int page_mkclean(struct page *page)
506EXPORT_SYMBOL_GPL(page_mkclean); 508EXPORT_SYMBOL_GPL(page_mkclean);
507 509
508/** 510/**
509 * page_set_anon_rmap - setup new anonymous rmap 511 * __page_set_anon_rmap - setup new anonymous rmap
510 * @page: the page to add the mapping to 512 * @page: the page to add the mapping to
511 * @vma: the vm area in which the mapping is added 513 * @vma: the vm area in which the mapping is added
512 * @address: the user virtual address mapped 514 * @address: the user virtual address mapped
@@ -530,7 +532,7 @@ static void __page_set_anon_rmap(struct page *page,
530} 532}
531 533
532/** 534/**
533 * page_set_anon_rmap - sanity check anonymous rmap addition 535 * __page_check_anon_rmap - sanity check anonymous rmap addition
534 * @page: the page to add the mapping to 536 * @page: the page to add the mapping to
535 * @vma: the vm area in which the mapping is added 537 * @vma: the vm area in which the mapping is added
536 * @address: the user virtual address mapped 538 * @address: the user virtual address mapped
@@ -583,7 +585,7 @@ void page_add_anon_rmap(struct page *page,
583 } 585 }
584} 586}
585 587
586/* 588/**
587 * page_add_new_anon_rmap - add pte mapping to a new anonymous page 589 * page_add_new_anon_rmap - add pte mapping to a new anonymous page
588 * @page: the page to add the mapping to 590 * @page: the page to add the mapping to
589 * @vma: the vm area in which the mapping is added 591 * @vma: the vm area in which the mapping is added
@@ -623,6 +625,8 @@ void page_add_file_rmap(struct page *page)
623/** 625/**
624 * page_dup_rmap - duplicate pte mapping to a page 626 * page_dup_rmap - duplicate pte mapping to a page
625 * @page: the page to add the mapping to 627 * @page: the page to add the mapping to
628 * @vma: the vm area being duplicated
629 * @address: the user virtual address mapped
626 * 630 *
627 * For copy_page_range only: minimal extract from page_add_file_rmap / 631 * For copy_page_range only: minimal extract from page_add_file_rmap /
628 * page_add_anon_rmap, avoiding unnecessary tests (already checked) so it's 632 * page_add_anon_rmap, avoiding unnecessary tests (already checked) so it's
@@ -642,6 +646,7 @@ void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long
642/** 646/**
643 * page_remove_rmap - take down pte mapping from a page 647 * page_remove_rmap - take down pte mapping from a page
644 * @page: page to remove mapping from 648 * @page: page to remove mapping from
649 * @vma: the vm area in which the mapping is removed
645 * 650 *
646 * The caller needs to hold the pte lock. 651 * The caller needs to hold the pte lock.
647 */ 652 */
@@ -890,6 +895,7 @@ static int try_to_unmap_anon(struct page *page, int migration)
890/** 895/**
891 * try_to_unmap_file - unmap file page using the object-based rmap method 896 * try_to_unmap_file - unmap file page using the object-based rmap method
892 * @page: the page to unmap 897 * @page: the page to unmap
898 * @migration: migration flag
893 * 899 *
894 * Find all the mappings of a page using the mapping pointer and the vma chains 900 * Find all the mappings of a page using the mapping pointer and the vma chains
895 * contained in the address_space struct it points to. 901 * contained in the address_space struct it points to.
@@ -986,6 +992,7 @@ out:
986/** 992/**
987 * try_to_unmap - try to remove all page table mappings to a page 993 * try_to_unmap - try to remove all page table mappings to a page
988 * @page: the page to get unmapped 994 * @page: the page to get unmapped
995 * @migration: migration flag
989 * 996 *
990 * Tries to remove all the page table entries which are mapping this 997 * Tries to remove all the page table entries which are mapping this
991 * page, used in the pageout path. Caller must hold the page lock. 998 * page, used in the pageout path. Caller must hold the page lock.
diff --git a/mm/shmem.c b/mm/shmem.c
index 3372bc579e8..f514dd392cd 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -244,9 +244,8 @@ static void shmem_free_inode(struct super_block *sb)
244 } 244 }
245} 245}
246 246
247/* 247/**
248 * shmem_recalc_inode - recalculate the size of an inode 248 * shmem_recalc_inode - recalculate the size of an inode
249 *
250 * @inode: inode to recalc 249 * @inode: inode to recalc
251 * 250 *
252 * We have to calculate the free blocks since the mm can drop 251 * We have to calculate the free blocks since the mm can drop
@@ -270,9 +269,8 @@ static void shmem_recalc_inode(struct inode *inode)
270 } 269 }
271} 270}
272 271
273/* 272/**
274 * shmem_swp_entry - find the swap vector position in the info structure 273 * shmem_swp_entry - find the swap vector position in the info structure
275 *
276 * @info: info structure for the inode 274 * @info: info structure for the inode
277 * @index: index of the page to find 275 * @index: index of the page to find
278 * @page: optional page to add to the structure. Has to be preset to 276 * @page: optional page to add to the structure. Has to be preset to
@@ -374,13 +372,13 @@ static void shmem_swp_set(struct shmem_inode_info *info, swp_entry_t *entry, uns
374 } 372 }
375} 373}
376 374
377/* 375/**
378 * shmem_swp_alloc - get the position of the swap entry for the page. 376 * shmem_swp_alloc - get the position of the swap entry for the page.
379 * If it does not exist allocate the entry.
380 *
381 * @info: info structure for the inode 377 * @info: info structure for the inode
382 * @index: index of the page to find 378 * @index: index of the page to find
383 * @sgp: check and recheck i_size? skip allocation? 379 * @sgp: check and recheck i_size? skip allocation?
380 *
381 * If the entry does not exist, allocate it.
384 */ 382 */
385static swp_entry_t *shmem_swp_alloc(struct shmem_inode_info *info, unsigned long index, enum sgp_type sgp) 383static swp_entry_t *shmem_swp_alloc(struct shmem_inode_info *info, unsigned long index, enum sgp_type sgp)
386{ 384{
@@ -440,9 +438,8 @@ static swp_entry_t *shmem_swp_alloc(struct shmem_inode_info *info, unsigned long
440 return entry; 438 return entry;
441} 439}
442 440
443/* 441/**
444 * shmem_free_swp - free some swap entries in a directory 442 * shmem_free_swp - free some swap entries in a directory
445 *
446 * @dir: pointer to the directory 443 * @dir: pointer to the directory
447 * @edir: pointer after last entry of the directory 444 * @edir: pointer after last entry of the directory
448 * @punch_lock: pointer to spinlock when needed for the holepunch case 445 * @punch_lock: pointer to spinlock when needed for the holepunch case
@@ -2022,7 +2019,7 @@ static const struct inode_operations shmem_symlink_inode_operations = {
2022}; 2019};
2023 2020
2024#ifdef CONFIG_TMPFS_POSIX_ACL 2021#ifdef CONFIG_TMPFS_POSIX_ACL
2025/** 2022/*
2026 * Superblocks without xattr inode operations will get security.* xattr 2023 * Superblocks without xattr inode operations will get security.* xattr
2027 * support from the VFS "for free". As soon as we have any other xattrs 2024 * support from the VFS "for free". As soon as we have any other xattrs
2028 * like ACLs, we also need to implement the security.* handlers at 2025 * like ACLs, we also need to implement the security.* handlers at
@@ -2561,12 +2558,11 @@ out4:
2561} 2558}
2562module_init(init_tmpfs) 2559module_init(init_tmpfs)
2563 2560
2564/* 2561/**
2565 * shmem_file_setup - get an unlinked file living in tmpfs 2562 * shmem_file_setup - get an unlinked file living in tmpfs
2566 *
2567 * @name: name for dentry (to be seen in /proc/<pid>/maps 2563 * @name: name for dentry (to be seen in /proc/<pid>/maps
2568 * @size: size to be set for the file 2564 * @size: size to be set for the file
2569 * 2565 * @flags: vm_flags
2570 */ 2566 */
2571struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags) 2567struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags)
2572{ 2568{
@@ -2621,9 +2617,8 @@ put_memory:
2621 return ERR_PTR(error); 2617 return ERR_PTR(error);
2622} 2618}
2623 2619
2624/* 2620/**
2625 * shmem_zero_setup - setup a shared anonymous mapping 2621 * shmem_zero_setup - setup a shared anonymous mapping
2626 *
2627 * @vma: the vma to be mmapped is prepared by do_mmap_pgoff 2622 * @vma: the vma to be mmapped is prepared by do_mmap_pgoff
2628 */ 2623 */
2629int shmem_zero_setup(struct vm_area_struct *vma) 2624int shmem_zero_setup(struct vm_area_struct *vma)
diff --git a/mm/slab.c b/mm/slab.c
index e6c698f5567..04b308c3bc5 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1481,7 +1481,7 @@ void __init kmem_cache_init(void)
1481 list_add(&cache_cache.next, &cache_chain); 1481 list_add(&cache_cache.next, &cache_chain);
1482 cache_cache.colour_off = cache_line_size(); 1482 cache_cache.colour_off = cache_line_size();
1483 cache_cache.array[smp_processor_id()] = &initarray_cache.cache; 1483 cache_cache.array[smp_processor_id()] = &initarray_cache.cache;
1484 cache_cache.nodelists[node] = &initkmem_list3[CACHE_CACHE]; 1484 cache_cache.nodelists[node] = &initkmem_list3[CACHE_CACHE + node];
1485 1485
1486 /* 1486 /*
1487 * struct kmem_cache size depends on nr_node_ids, which 1487 * struct kmem_cache size depends on nr_node_ids, which
@@ -1602,7 +1602,7 @@ void __init kmem_cache_init(void)
1602 int nid; 1602 int nid;
1603 1603
1604 for_each_online_node(nid) { 1604 for_each_online_node(nid) {
1605 init_list(&cache_cache, &initkmem_list3[CACHE_CACHE], nid); 1605 init_list(&cache_cache, &initkmem_list3[CACHE_CACHE + nid], nid);
1606 1606
1607 init_list(malloc_sizes[INDEX_AC].cs_cachep, 1607 init_list(malloc_sizes[INDEX_AC].cs_cachep,
1608 &initkmem_list3[SIZE_AC + nid], nid); 1608 &initkmem_list3[SIZE_AC + nid], nid);
@@ -3624,12 +3624,11 @@ void *kmem_cache_alloc(struct kmem_cache *cachep, gfp_t flags)
3624EXPORT_SYMBOL(kmem_cache_alloc); 3624EXPORT_SYMBOL(kmem_cache_alloc);
3625 3625
3626/** 3626/**
3627 * kmem_ptr_validate - check if an untrusted pointer might 3627 * kmem_ptr_validate - check if an untrusted pointer might be a slab entry.
3628 * be a slab entry.
3629 * @cachep: the cache we're checking against 3628 * @cachep: the cache we're checking against
3630 * @ptr: pointer to validate 3629 * @ptr: pointer to validate
3631 * 3630 *
3632 * This verifies that the untrusted pointer looks sane: 3631 * This verifies that the untrusted pointer looks sane;
3633 * it is _not_ a guarantee that the pointer is actually 3632 * it is _not_ a guarantee that the pointer is actually
3634 * part of the slab cache in question, but it at least 3633 * part of the slab cache in question, but it at least
3635 * validates that the pointer can be dereferenced and 3634 * validates that the pointer can be dereferenced and
diff --git a/mm/slub.c b/mm/slub.c
index 96d63eb3ab1..acc975fcc8c 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1470,6 +1470,9 @@ static void *__slab_alloc(struct kmem_cache *s,
1470 void **object; 1470 void **object;
1471 struct page *new; 1471 struct page *new;
1472 1472
1473 /* We handle __GFP_ZERO in the caller */
1474 gfpflags &= ~__GFP_ZERO;
1475
1473 if (!c->page) 1476 if (!c->page)
1474 goto new_slab; 1477 goto new_slab;
1475 1478
@@ -1536,9 +1539,15 @@ new_slab:
1536 * That is only possible if certain conditions are met that are being 1539 * That is only possible if certain conditions are met that are being
1537 * checked when a slab is created. 1540 * checked when a slab is created.
1538 */ 1541 */
1539 if (!(gfpflags & __GFP_NORETRY) && (s->flags & __PAGE_ALLOC_FALLBACK)) 1542 if (!(gfpflags & __GFP_NORETRY) &&
1540 return kmalloc_large(s->objsize, gfpflags); 1543 (s->flags & __PAGE_ALLOC_FALLBACK)) {
1541 1544 if (gfpflags & __GFP_WAIT)
1545 local_irq_enable();
1546 object = kmalloc_large(s->objsize, gfpflags);
1547 if (gfpflags & __GFP_WAIT)
1548 local_irq_disable();
1549 return object;
1550 }
1542 return NULL; 1551 return NULL;
1543debug: 1552debug:
1544 if (!alloc_debug_processing(s, c->page, object, addr)) 1553 if (!alloc_debug_processing(s, c->page, object, addr))
@@ -2679,6 +2688,7 @@ void kfree(const void *x)
2679} 2688}
2680EXPORT_SYMBOL(kfree); 2689EXPORT_SYMBOL(kfree);
2681 2690
2691#if defined(CONFIG_SLUB_DEBUG) || defined(CONFIG_SLABINFO)
2682static unsigned long count_partial(struct kmem_cache_node *n) 2692static unsigned long count_partial(struct kmem_cache_node *n)
2683{ 2693{
2684 unsigned long flags; 2694 unsigned long flags;
@@ -2691,6 +2701,7 @@ static unsigned long count_partial(struct kmem_cache_node *n)
2691 spin_unlock_irqrestore(&n->list_lock, flags); 2701 spin_unlock_irqrestore(&n->list_lock, flags);
2692 return x; 2702 return x;
2693} 2703}
2704#endif
2694 2705
2695/* 2706/*
2696 * kmem_cache_shrink removes empty slabs from the partial lists and sorts 2707 * kmem_cache_shrink removes empty slabs from the partial lists and sorts
diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c
index cd75b21dd4c..99c4f36eb8a 100644
--- a/mm/sparse-vmemmap.c
+++ b/mm/sparse-vmemmap.c
@@ -76,7 +76,7 @@ pte_t * __meminit vmemmap_pte_populate(pmd_t *pmd, unsigned long addr, int node)
76 pte_t entry; 76 pte_t entry;
77 void *p = vmemmap_alloc_block(PAGE_SIZE, node); 77 void *p = vmemmap_alloc_block(PAGE_SIZE, node);
78 if (!p) 78 if (!p)
79 return 0; 79 return NULL;
80 entry = pfn_pte(__pa(p) >> PAGE_SHIFT, PAGE_KERNEL); 80 entry = pfn_pte(__pa(p) >> PAGE_SHIFT, PAGE_KERNEL);
81 set_pte_at(&init_mm, addr, pte, entry); 81 set_pte_at(&init_mm, addr, pte, entry);
82 } 82 }
@@ -89,7 +89,7 @@ pmd_t * __meminit vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node)
89 if (pmd_none(*pmd)) { 89 if (pmd_none(*pmd)) {
90 void *p = vmemmap_alloc_block(PAGE_SIZE, node); 90 void *p = vmemmap_alloc_block(PAGE_SIZE, node);
91 if (!p) 91 if (!p)
92 return 0; 92 return NULL;
93 pmd_populate_kernel(&init_mm, pmd, p); 93 pmd_populate_kernel(&init_mm, pmd, p);
94 } 94 }
95 return pmd; 95 return pmd;
@@ -101,7 +101,7 @@ pud_t * __meminit vmemmap_pud_populate(pgd_t *pgd, unsigned long addr, int node)
101 if (pud_none(*pud)) { 101 if (pud_none(*pud)) {
102 void *p = vmemmap_alloc_block(PAGE_SIZE, node); 102 void *p = vmemmap_alloc_block(PAGE_SIZE, node);
103 if (!p) 103 if (!p)
104 return 0; 104 return NULL;
105 pud_populate(&init_mm, pud, p); 105 pud_populate(&init_mm, pud, p);
106 } 106 }
107 return pud; 107 return pud;
@@ -113,7 +113,7 @@ pgd_t * __meminit vmemmap_pgd_populate(unsigned long addr, int node)
113 if (pgd_none(*pgd)) { 113 if (pgd_none(*pgd)) {
114 void *p = vmemmap_alloc_block(PAGE_SIZE, node); 114 void *p = vmemmap_alloc_block(PAGE_SIZE, node);
115 if (!p) 115 if (!p)
116 return 0; 116 return NULL;
117 pgd_populate(&init_mm, pgd, p); 117 pgd_populate(&init_mm, pgd, p);
118 } 118 }
119 return pgd; 119 return pgd;
diff --git a/mm/swap.c b/mm/swap.c
index d4ec59aa5c4..aa1139ccf3a 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -78,12 +78,11 @@ void put_page(struct page *page)
78EXPORT_SYMBOL(put_page); 78EXPORT_SYMBOL(put_page);
79 79
80/** 80/**
81 * put_pages_list(): release a list of pages 81 * put_pages_list() - release a list of pages
82 * @pages: list of pages threaded on page->lru
82 * 83 *
83 * Release a list of pages which are strung together on page.lru. Currently 84 * Release a list of pages which are strung together on page.lru. Currently
84 * used by read_cache_pages() and related error recovery code. 85 * used by read_cache_pages() and related error recovery code.
85 *
86 * @pages: list of pages threaded on page->lru
87 */ 86 */
88void put_pages_list(struct list_head *pages) 87void put_pages_list(struct list_head *pages)
89{ 88{
diff --git a/mm/swap_state.c b/mm/swap_state.c
index ec42f01a8d0..50757ee3f9f 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -115,6 +115,7 @@ void __delete_from_swap_cache(struct page *page)
115/** 115/**
116 * add_to_swap - allocate swap space for a page 116 * add_to_swap - allocate swap space for a page
117 * @page: page we want to move to swap 117 * @page: page we want to move to swap
118 * @gfp_mask: memory allocation flags
118 * 119 *
119 * Allocate swap space for the page and add the page to the 120 * Allocate swap space for the page and add the page to the
120 * swap cache. Caller needs to hold the page lock. 121 * swap cache. Caller needs to hold the page lock.
@@ -315,6 +316,7 @@ struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
315/** 316/**
316 * swapin_readahead - swap in pages in hope we need them soon 317 * swapin_readahead - swap in pages in hope we need them soon
317 * @entry: swap entry of this memory 318 * @entry: swap entry of this memory
319 * @gfp_mask: memory allocation flags
318 * @vma: user vma this address belongs to 320 * @vma: user vma this address belongs to
319 * @addr: target address for mempolicy 321 * @addr: target address for mempolicy
320 * 322 *
diff --git a/mm/tiny-shmem.c b/mm/tiny-shmem.c
index 702083638c1..ae532f50194 100644
--- a/mm/tiny-shmem.c
+++ b/mm/tiny-shmem.c
@@ -39,12 +39,11 @@ static int __init init_tmpfs(void)
39} 39}
40module_init(init_tmpfs) 40module_init(init_tmpfs)
41 41
42/* 42/**
43 * shmem_file_setup - get an unlinked file living in tmpfs 43 * shmem_file_setup - get an unlinked file living in tmpfs
44 *
45 * @name: name for dentry (to be seen in /proc/<pid>/maps 44 * @name: name for dentry (to be seen in /proc/<pid>/maps
46 * @size: size to be set for the file 45 * @size: size to be set for the file
47 * 46 * @flags: vm_flags
48 */ 47 */
49struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags) 48struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags)
50{ 49{
@@ -89,15 +88,16 @@ struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags)
89 88
90close_file: 89close_file:
91 put_filp(file); 90 put_filp(file);
91 return ERR_PTR(error);
92
92put_dentry: 93put_dentry:
93 dput(dentry); 94 dput(dentry);
94put_memory: 95put_memory:
95 return ERR_PTR(error); 96 return ERR_PTR(error);
96} 97}
97 98
98/* 99/**
99 * shmem_zero_setup - setup a shared anonymous mapping 100 * shmem_zero_setup - setup a shared anonymous mapping
100 *
101 * @vma: the vma to be mmapped is prepared by do_mmap_pgoff 101 * @vma: the vma to be mmapped is prepared by do_mmap_pgoff
102 */ 102 */
103int shmem_zero_setup(struct vm_area_struct *vma) 103int shmem_zero_setup(struct vm_area_struct *vma)
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 950c0be9ca8..ecf91f8034b 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -757,7 +757,8 @@ finished:
757 * @vma: vma to cover (map full range of vma) 757 * @vma: vma to cover (map full range of vma)
758 * @addr: vmalloc memory 758 * @addr: vmalloc memory
759 * @pgoff: number of pages into addr before first page to map 759 * @pgoff: number of pages into addr before first page to map
760 * @returns: 0 for success, -Exxx on failure 760 *
761 * Returns: 0 for success, -Exxx on failure
761 * 762 *
762 * This function checks that addr is a valid vmalloc'ed area, and 763 * This function checks that addr is a valid vmalloc'ed area, and
763 * that it is big enough to cover the vma. Will return failure if 764 * that it is big enough to cover the vma. Will return failure if
@@ -829,7 +830,8 @@ static int f(pte_t *pte, pgtable_t table, unsigned long addr, void *data)
829/** 830/**
830 * alloc_vm_area - allocate a range of kernel address space 831 * alloc_vm_area - allocate a range of kernel address space
831 * @size: size of the area 832 * @size: size of the area
832 * @returns: NULL on failure, vm_struct on success 833 *
834 * Returns: NULL on failure, vm_struct on success
833 * 835 *
834 * This function reserves a range of kernel address space, and 836 * This function reserves a range of kernel address space, and
835 * allocates pagetables to map that range. No actual mappings 837 * allocates pagetables to map that range. No actual mappings
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 45711585684..4046434046e 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -70,13 +70,6 @@ struct scan_control {
70 70
71 int order; 71 int order;
72 72
73 /*
74 * Pages that have (or should have) IO pending. If we run into
75 * a lot of these, we're better off waiting a little for IO to
76 * finish rather than scanning more pages in the VM.
77 */
78 int nr_io_pages;
79
80 /* Which cgroup do we reclaim from */ 73 /* Which cgroup do we reclaim from */
81 struct mem_cgroup *mem_cgroup; 74 struct mem_cgroup *mem_cgroup;
82 75
@@ -512,10 +505,8 @@ static unsigned long shrink_page_list(struct list_head *page_list,
512 */ 505 */
513 if (sync_writeback == PAGEOUT_IO_SYNC && may_enter_fs) 506 if (sync_writeback == PAGEOUT_IO_SYNC && may_enter_fs)
514 wait_on_page_writeback(page); 507 wait_on_page_writeback(page);
515 else { 508 else
516 sc->nr_io_pages++;
517 goto keep_locked; 509 goto keep_locked;
518 }
519 } 510 }
520 511
521 referenced = page_referenced(page, 1, sc->mem_cgroup); 512 referenced = page_referenced(page, 1, sc->mem_cgroup);
@@ -554,10 +545,8 @@ static unsigned long shrink_page_list(struct list_head *page_list,
554 if (PageDirty(page)) { 545 if (PageDirty(page)) {
555 if (sc->order <= PAGE_ALLOC_COSTLY_ORDER && referenced) 546 if (sc->order <= PAGE_ALLOC_COSTLY_ORDER && referenced)
556 goto keep_locked; 547 goto keep_locked;
557 if (!may_enter_fs) { 548 if (!may_enter_fs)
558 sc->nr_io_pages++;
559 goto keep_locked; 549 goto keep_locked;
560 }
561 if (!sc->may_writepage) 550 if (!sc->may_writepage)
562 goto keep_locked; 551 goto keep_locked;
563 552
@@ -568,10 +557,8 @@ static unsigned long shrink_page_list(struct list_head *page_list,
568 case PAGE_ACTIVATE: 557 case PAGE_ACTIVATE:
569 goto activate_locked; 558 goto activate_locked;
570 case PAGE_SUCCESS: 559 case PAGE_SUCCESS:
571 if (PageWriteback(page) || PageDirty(page)) { 560 if (PageWriteback(page) || PageDirty(page))
572 sc->nr_io_pages++;
573 goto keep; 561 goto keep;
574 }
575 /* 562 /*
576 * A synchronous write - probably a ramdisk. Go 563 * A synchronous write - probably a ramdisk. Go
577 * ahead and try to reclaim the page. 564 * ahead and try to reclaim the page.
@@ -1344,7 +1331,6 @@ static unsigned long do_try_to_free_pages(struct zone **zones, gfp_t gfp_mask,
1344 1331
1345 for (priority = DEF_PRIORITY; priority >= 0; priority--) { 1332 for (priority = DEF_PRIORITY; priority >= 0; priority--) {
1346 sc->nr_scanned = 0; 1333 sc->nr_scanned = 0;
1347 sc->nr_io_pages = 0;
1348 if (!priority) 1334 if (!priority)
1349 disable_swap_token(); 1335 disable_swap_token();
1350 nr_reclaimed += shrink_zones(priority, zones, sc); 1336 nr_reclaimed += shrink_zones(priority, zones, sc);
@@ -1379,8 +1365,7 @@ static unsigned long do_try_to_free_pages(struct zone **zones, gfp_t gfp_mask,
1379 } 1365 }
1380 1366
1381 /* Take a nap, wait for some writeback to complete */ 1367 /* Take a nap, wait for some writeback to complete */
1382 if (sc->nr_scanned && priority < DEF_PRIORITY - 2 && 1368 if (sc->nr_scanned && priority < DEF_PRIORITY - 2)
1383 sc->nr_io_pages > sc->swap_cluster_max)
1384 congestion_wait(WRITE, HZ/10); 1369 congestion_wait(WRITE, HZ/10);
1385 } 1370 }
1386 /* top priority shrink_caches still had more to do? don't OOM, then */ 1371 /* top priority shrink_caches still had more to do? don't OOM, then */
@@ -1514,7 +1499,6 @@ loop_again:
1514 if (!priority) 1499 if (!priority)
1515 disable_swap_token(); 1500 disable_swap_token();
1516 1501
1517 sc.nr_io_pages = 0;
1518 all_zones_ok = 1; 1502 all_zones_ok = 1;
1519 1503
1520 /* 1504 /*
@@ -1607,8 +1591,7 @@ loop_again:
1607 * OK, kswapd is getting into trouble. Take a nap, then take 1591 * OK, kswapd is getting into trouble. Take a nap, then take
1608 * another pass across the zones. 1592 * another pass across the zones.
1609 */ 1593 */
1610 if (total_scanned && priority < DEF_PRIORITY - 2 && 1594 if (total_scanned && priority < DEF_PRIORITY - 2)
1611 sc.nr_io_pages > sc.swap_cluster_max)
1612 congestion_wait(WRITE, HZ/10); 1595 congestion_wait(WRITE, HZ/10);
1613 1596
1614 /* 1597 /*
diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
index 4e8d4e724b9..f624dff7685 100644
--- a/net/9p/trans_fd.c
+++ b/net/9p/trans_fd.c
@@ -1520,7 +1520,7 @@ static int __init p9_trans_fd_init(void)
1520 v9fs_register_trans(&p9_unix_trans); 1520 v9fs_register_trans(&p9_unix_trans);
1521 v9fs_register_trans(&p9_fd_trans); 1521 v9fs_register_trans(&p9_fd_trans);
1522 1522
1523 return 1; 1523 return 0;
1524} 1524}
1525 1525
1526module_init(p9_trans_fd_init); 1526module_init(p9_trans_fd_init);
diff --git a/net/core/sock.c b/net/core/sock.c
index 83e11f7260f..f2ccb1620dc 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1642,7 +1642,7 @@ static void sock_def_readable(struct sock *sk, int len)
1642{ 1642{
1643 read_lock(&sk->sk_callback_lock); 1643 read_lock(&sk->sk_callback_lock);
1644 if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) 1644 if (sk->sk_sleep && waitqueue_active(sk->sk_sleep))
1645 wake_up_interruptible(sk->sk_sleep); 1645 wake_up_interruptible_sync(sk->sk_sleep);
1646 sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN); 1646 sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN);
1647 read_unlock(&sk->sk_callback_lock); 1647 read_unlock(&sk->sk_callback_lock);
1648} 1648}
@@ -1656,7 +1656,7 @@ static void sock_def_write_space(struct sock *sk)
1656 */ 1656 */
1657 if ((atomic_read(&sk->sk_wmem_alloc) << 1) <= sk->sk_sndbuf) { 1657 if ((atomic_read(&sk->sk_wmem_alloc) << 1) <= sk->sk_sndbuf) {
1658 if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) 1658 if (sk->sk_sleep && waitqueue_active(sk->sk_sleep))
1659 wake_up_interruptible(sk->sk_sleep); 1659 wake_up_interruptible_sync(sk->sk_sleep);
1660 1660
1661 /* Should agree with poll, otherwise some programs break */ 1661 /* Should agree with poll, otherwise some programs break */
1662 if (sock_writeable(sk)) 1662 if (sock_writeable(sk))
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h
index e58cc65728b..c89b797b221 100644
--- a/net/rxrpc/ar-internal.h
+++ b/net/rxrpc/ar-internal.h
@@ -23,7 +23,7 @@
23struct rxrpc_crypt { 23struct rxrpc_crypt {
24 union { 24 union {
25 u8 x[FCRYPT_BSIZE]; 25 u8 x[FCRYPT_BSIZE];
26 u32 n[2]; 26 __be32 n[2];
27 }; 27 };
28} __attribute__((aligned(8))); 28} __attribute__((aligned(8)));
29 29
diff --git a/net/rxrpc/rxkad.c b/net/rxrpc/rxkad.c
index f48434adb7c..d1c296f2d61 100644
--- a/net/rxrpc/rxkad.c
+++ b/net/rxrpc/rxkad.c
@@ -261,6 +261,7 @@ static int rxkad_secure_packet(const struct rxrpc_call *call,
261 __be32 x[2]; 261 __be32 x[2];
262 } tmpbuf __attribute__((aligned(8))); /* must all be in same page */ 262 } tmpbuf __attribute__((aligned(8))); /* must all be in same page */
263 __be32 x; 263 __be32 x;
264 u32 y;
264 int ret; 265 int ret;
265 266
266 sp = rxrpc_skb(skb); 267 sp = rxrpc_skb(skb);
@@ -292,11 +293,11 @@ static int rxkad_secure_packet(const struct rxrpc_call *call,
292 sg_init_one(&sg[1], &tmpbuf, sizeof(tmpbuf)); 293 sg_init_one(&sg[1], &tmpbuf, sizeof(tmpbuf));
293 crypto_blkcipher_encrypt_iv(&desc, &sg[0], &sg[1], sizeof(tmpbuf)); 294 crypto_blkcipher_encrypt_iv(&desc, &sg[0], &sg[1], sizeof(tmpbuf));
294 295
295 x = ntohl(tmpbuf.x[1]); 296 y = ntohl(tmpbuf.x[1]);
296 x = (x >> 16) & 0xffff; 297 y = (y >> 16) & 0xffff;
297 if (x == 0) 298 if (y == 0)
298 x = 1; /* zero checksums are not permitted */ 299 y = 1; /* zero checksums are not permitted */
299 sp->hdr.cksum = htons(x); 300 sp->hdr.cksum = htons(y);
300 301
301 switch (call->conn->security_level) { 302 switch (call->conn->security_level) {
302 case RXRPC_SECURITY_PLAIN: 303 case RXRPC_SECURITY_PLAIN:
@@ -314,7 +315,7 @@ static int rxkad_secure_packet(const struct rxrpc_call *call,
314 break; 315 break;
315 } 316 }
316 317
317 _leave(" = %d [set %hx]", ret, x); 318 _leave(" = %d [set %hx]", ret, y);
318 return ret; 319 return ret;
319} 320}
320 321
@@ -492,6 +493,7 @@ static int rxkad_verify_packet(const struct rxrpc_call *call,
492 __be32 x[2]; 493 __be32 x[2];
493 } tmpbuf __attribute__((aligned(8))); /* must all be in same page */ 494 } tmpbuf __attribute__((aligned(8))); /* must all be in same page */
494 __be32 x; 495 __be32 x;
496 u16 y;
495 __be16 cksum; 497 __be16 cksum;
496 int ret; 498 int ret;
497 499
@@ -526,12 +528,12 @@ static int rxkad_verify_packet(const struct rxrpc_call *call,
526 sg_init_one(&sg[1], &tmpbuf, sizeof(tmpbuf)); 528 sg_init_one(&sg[1], &tmpbuf, sizeof(tmpbuf));
527 crypto_blkcipher_encrypt_iv(&desc, &sg[0], &sg[1], sizeof(tmpbuf)); 529 crypto_blkcipher_encrypt_iv(&desc, &sg[0], &sg[1], sizeof(tmpbuf));
528 530
529 x = ntohl(tmpbuf.x[1]); 531 y = ntohl(tmpbuf.x[1]);
530 x = (x >> 16) & 0xffff; 532 y = (y >> 16) & 0xffff;
531 if (x == 0) 533 if (y == 0)
532 x = 1; /* zero checksums are not permitted */ 534 y = 1; /* zero checksums are not permitted */
533 535
534 cksum = htons(x); 536 cksum = htons(y);
535 if (sp->hdr.cksum != cksum) { 537 if (sp->hdr.cksum != cksum) {
536 *_abort_code = RXKADSEALEDINCON; 538 *_abort_code = RXKADSEALEDINCON;
537 _leave(" = -EPROTO [csum failed]"); 539 _leave(" = -EPROTO [csum failed]");
@@ -1001,7 +1003,8 @@ static int rxkad_verify_response(struct rxrpc_connection *conn,
1001 struct rxrpc_crypt session_key; 1003 struct rxrpc_crypt session_key;
1002 time_t expiry; 1004 time_t expiry;
1003 void *ticket; 1005 void *ticket;
1004 u32 abort_code, version, kvno, ticket_len, csum, level; 1006 u32 abort_code, version, kvno, ticket_len, level;
1007 __be32 csum;
1005 int ret; 1008 int ret;
1006 1009
1007 _enter("{%d,%x}", conn->debug_id, key_serial(conn->server_key)); 1010 _enter("{%d,%x}", conn->debug_id, key_serial(conn->server_key));
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index ab54a736486..c22d6b6f2db 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -237,14 +237,12 @@ static void rdma_set_ctxt_sge(struct svc_rdma_op_ctxt *ctxt,
237 237
238static int rdma_read_max_sge(struct svcxprt_rdma *xprt, int sge_count) 238static int rdma_read_max_sge(struct svcxprt_rdma *xprt, int sge_count)
239{ 239{
240#ifdef RDMA_TRANSPORT_IWARP
241 if ((RDMA_TRANSPORT_IWARP == 240 if ((RDMA_TRANSPORT_IWARP ==
242 rdma_node_get_transport(xprt->sc_cm_id-> 241 rdma_node_get_transport(xprt->sc_cm_id->
243 device->node_type)) 242 device->node_type))
244 && sge_count > 1) 243 && sge_count > 1)
245 return 1; 244 return 1;
246 else 245 else
247#endif
248 return min_t(int, sge_count, xprt->sc_max_sge); 246 return min_t(int, sge_count, xprt->sc_max_sge);
249} 247}
250 248
@@ -324,15 +322,6 @@ next_sge:
324 ctxt->direction = DMA_FROM_DEVICE; 322 ctxt->direction = DMA_FROM_DEVICE;
325 clear_bit(RDMACTXT_F_READ_DONE, &ctxt->flags); 323 clear_bit(RDMACTXT_F_READ_DONE, &ctxt->flags);
326 clear_bit(RDMACTXT_F_LAST_CTXT, &ctxt->flags); 324 clear_bit(RDMACTXT_F_LAST_CTXT, &ctxt->flags);
327 if ((ch+1)->rc_discrim == 0) {
328 /*
329 * Checked in sq_cq_reap to see if we need to
330 * be enqueued
331 */
332 set_bit(RDMACTXT_F_LAST_CTXT, &ctxt->flags);
333 ctxt->next = hdr_ctxt;
334 hdr_ctxt->next = head;
335 }
336 325
337 /* Prepare READ WR */ 326 /* Prepare READ WR */
338 memset(&read_wr, 0, sizeof read_wr); 327 memset(&read_wr, 0, sizeof read_wr);
@@ -350,7 +339,17 @@ next_sge:
350 rdma_set_ctxt_sge(ctxt, &sge[ch_sge_ary[ch_no].start], 339 rdma_set_ctxt_sge(ctxt, &sge[ch_sge_ary[ch_no].start],
351 &sgl_offset, 340 &sgl_offset,
352 read_wr.num_sge); 341 read_wr.num_sge);
353 342 if (((ch+1)->rc_discrim == 0) &&
343 (read_wr.num_sge == ch_sge_ary[ch_no].count)) {
344 /*
345 * Mark the last RDMA_READ with a bit to
346 * indicate all RPC data has been fetched from
347 * the client and the RPC needs to be enqueued.
348 */
349 set_bit(RDMACTXT_F_LAST_CTXT, &ctxt->flags);
350 ctxt->next = hdr_ctxt;
351 hdr_ctxt->next = head;
352 }
354 /* Post the read */ 353 /* Post the read */
355 err = svc_rdma_send(xprt, &read_wr); 354 err = svc_rdma_send(xprt, &read_wr);
356 if (err) { 355 if (err) {
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index cfc004e0441..2d20640854b 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -58,6 +58,9 @@ modules := $(patsubst %.o,%.ko, $(wildcard $(__modules:.ko=.o)))
58# Stop after building .o files if NOFINAL is set. Makes compile tests quicker 58# Stop after building .o files if NOFINAL is set. Makes compile tests quicker
59_modpost: $(if $(KBUILD_MODPOST_NOFINAL), $(modules:.ko:.o),$(modules)) 59_modpost: $(if $(KBUILD_MODPOST_NOFINAL), $(modules:.ko:.o),$(modules))
60 60
61ifneq ($(KBUILD_BUILDHOST),$(ARCH))
62 cross_build := 1
63endif
61 64
62# Step 2), invoke modpost 65# Step 2), invoke modpost
63# Includes step 3,4 66# Includes step 3,4
@@ -70,7 +73,8 @@ modpost = scripts/mod/modpost \
70 $(if $(CONFIG_DEBUG_SECTION_MISMATCH),,-S) \ 73 $(if $(CONFIG_DEBUG_SECTION_MISMATCH),,-S) \
71 $(if $(CONFIG_MARKERS),-K $(kernelmarkersfile)) \ 74 $(if $(CONFIG_MARKERS),-K $(kernelmarkersfile)) \
72 $(if $(CONFIG_MARKERS),-M $(markersfile)) \ 75 $(if $(CONFIG_MARKERS),-M $(markersfile)) \
73 $(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w) 76 $(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w) \
77 $(if $(cross_build),-c)
74 78
75quiet_cmd_modpost = MODPOST $(words $(filter-out vmlinux FORCE, $^)) modules 79quiet_cmd_modpost = MODPOST $(words $(filter-out vmlinux FORCE, $^)) modules
76 cmd_modpost = $(modpost) -s 80 cmd_modpost = $(modpost) -s
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2a7cef9726e..58a94947d65 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -9,7 +9,7 @@ use strict;
9my $P = $0; 9my $P = $0;
10$P =~ s@.*/@@g; 10$P =~ s@.*/@@g;
11 11
12my $V = '0.15'; 12my $V = '0.16';
13 13
14use Getopt::Long qw(:config no_auto_abbrev); 14use Getopt::Long qw(:config no_auto_abbrev);
15 15
@@ -18,6 +18,7 @@ my $tree = 1;
18my $chk_signoff = 1; 18my $chk_signoff = 1;
19my $chk_patch = 1; 19my $chk_patch = 1;
20my $tst_type = 0; 20my $tst_type = 0;
21my $tst_only;
21my $emacs = 0; 22my $emacs = 0;
22my $terse = 0; 23my $terse = 0;
23my $file = 0; 24my $file = 0;
@@ -44,6 +45,7 @@ GetOptions(
44 45
45 'debug=s' => \%debug, 46 'debug=s' => \%debug,
46 'test-type!' => \$tst_type, 47 'test-type!' => \$tst_type,
48 'test-only=s' => \$tst_only,
47) or exit; 49) or exit;
48 50
49my $exit = 0; 51my $exit = 0;
@@ -263,17 +265,7 @@ sub expand_tabs {
263 return $res; 265 return $res;
264} 266}
265sub copy_spacing { 267sub copy_spacing {
266 my ($str) = @_; 268 (my $res = shift) =~ tr/\t/ /c;
267
268 my $res = '';
269 for my $c (split(//, $str)) {
270 if ($c eq "\t") {
271 $res .= $c;
272 } else {
273 $res .= ' ';
274 }
275 }
276
277 return $res; 269 return $res;
278} 270}
279 271
@@ -290,53 +282,76 @@ sub line_stats {
290 return (length($line), length($white)); 282 return (length($line), length($white));
291} 283}
292 284
285my $sanitise_quote = '';
286
287sub sanitise_line_reset {
288 my ($in_comment) = @_;
289
290 if ($in_comment) {
291 $sanitise_quote = '*/';
292 } else {
293 $sanitise_quote = '';
294 }
295}
293sub sanitise_line { 296sub sanitise_line {
294 my ($line) = @_; 297 my ($line) = @_;
295 298
296 my $res = ''; 299 my $res = '';
297 my $l = ''; 300 my $l = '';
298 301
299 my $quote = '';
300 my $qlen = 0; 302 my $qlen = 0;
303 my $off = 0;
304 my $c;
301 305
302 foreach my $c (split(//, $line)) { 306 # Always copy over the diff marker.
303 # The second backslash of a pair is not a "quote". 307 $res = substr($line, 0, 1);
304 if ($l eq "\\" && $c eq "\\") { 308
305 $c = 'X'; 309 for ($off = 1; $off < length($line); $off++) {
306 } 310 $c = substr($line, $off, 1);
307 if ($l ne "\\" && ($c eq "'" || $c eq '"')) { 311
308 if ($quote eq '') { 312 # Comments we are wacking completly including the begin
309 $quote = $c; 313 # and end, all to $;.
310 $res .= $c; 314 if ($sanitise_quote eq '' && substr($line, $off, 2) eq '/*') {
311 $l = $c; 315 $sanitise_quote = '*/';
312 $qlen = 0; 316
313 next; 317 substr($res, $off, 2, "$;$;");
314 } elsif ($quote eq $c) { 318 $off++;
315 $quote = ''; 319 next;
316 }
317 } 320 }
318 if ($quote eq "'" && $qlen > 1) { 321 if (substr($line, $off, 2) eq $sanitise_quote) {
319 $quote = ''; 322 $sanitise_quote = '';
323 substr($res, $off, 2, "$;$;");
324 $off++;
325 next;
320 } 326 }
321 if ($quote && $c ne "\t") { 327
322 $res .= "X"; 328 # A \ in a string means ignore the next character.
323 $qlen++; 329 if (($sanitise_quote eq "'" || $sanitise_quote eq '"') &&
324 } else { 330 $c eq "\\") {
325 $res .= $c; 331 substr($res, $off, 2, 'XX');
332 $off++;
333 next;
326 } 334 }
335 # Regular quotes.
336 if ($c eq "'" || $c eq '"') {
337 if ($sanitise_quote eq '') {
338 $sanitise_quote = $c;
327 339
328 $l = $c; 340 substr($res, $off, 1, $c);
329 } 341 next;
342 } elsif ($sanitise_quote eq $c) {
343 $sanitise_quote = '';
344 }
345 }
330 346
331 # Clear out the comments. 347 #print "SQ:$sanitise_quote\n";
332 while ($res =~ m@(/\*.*?\*/)@g) { 348 if ($off != 0 && $sanitise_quote eq '*/' && $c ne "\t") {
333 substr($res, $-[1], $+[1] - $-[1]) = $; x ($+[1] - $-[1]); 349 substr($res, $off, 1, $;);
334 } 350 } elsif ($off != 0 && $sanitise_quote && $c ne "\t") {
335 if ($res =~ m@(/\*.*)@) { 351 substr($res, $off, 1, 'X');
336 substr($res, $-[1], $+[1] - $-[1]) = $; x ($+[1] - $-[1]); 352 } else {
337 } 353 substr($res, $off, 1, $c);
338 if ($res =~ m@^.(.*\*/)@) { 354 }
339 substr($res, $-[1], $+[1] - $-[1]) = $; x ($+[1] - $-[1]);
340 } 355 }
341 356
342 # The pathname on a #include may be surrounded by '<' and '>'. 357 # The pathname on a #include may be surrounded by '<' and '>'.
@@ -359,6 +374,7 @@ sub ctx_statement_block {
359 my $blk = ''; 374 my $blk = '';
360 my $soff = $off; 375 my $soff = $off;
361 my $coff = $off - 1; 376 my $coff = $off - 1;
377 my $coff_set = 0;
362 378
363 my $loff = 0; 379 my $loff = 0;
364 380
@@ -370,7 +386,7 @@ sub ctx_statement_block {
370 386
371 my $remainder; 387 my $remainder;
372 while (1) { 388 while (1) {
373 #warn "CSB: blk<$blk>\n"; 389 #warn "CSB: blk<$blk> remain<$remain>\n";
374 # If we are about to drop off the end, pull in more 390 # If we are about to drop off the end, pull in more
375 # context. 391 # context.
376 if ($off >= $len) { 392 if ($off >= $len) {
@@ -393,7 +409,7 @@ sub ctx_statement_block {
393 $c = substr($blk, $off, 1); 409 $c = substr($blk, $off, 1);
394 $remainder = substr($blk, $off); 410 $remainder = substr($blk, $off);
395 411
396 #warn "CSB: c<$c> type<$type> level<$level>\n"; 412 #warn "CSB: c<$c> type<$type> level<$level> remainder<$remainder> coff_set<$coff_set>\n";
397 # Statement ends at the ';' or a close '}' at the 413 # Statement ends at the ';' or a close '}' at the
398 # outermost level. 414 # outermost level.
399 if ($level == 0 && $c eq ';') { 415 if ($level == 0 && $c eq ';') {
@@ -401,10 +417,14 @@ sub ctx_statement_block {
401 } 417 }
402 418
403 # An else is really a conditional as long as its not else if 419 # An else is really a conditional as long as its not else if
404 if ($level == 0 && (!defined($p) || $p =~ /(?:\s|\})/) && 420 if ($level == 0 && $coff_set == 0 &&
405 $remainder =~ /(else)(?:\s|{)/ && 421 (!defined($p) || $p =~ /(?:\s|\}|\+)/) &&
406 $remainder !~ /else\s+if\b/) { 422 $remainder =~ /^(else)(?:\s|{)/ &&
407 $coff = $off + length($1); 423 $remainder !~ /^else\s+if\b/) {
424 $coff = $off + length($1) - 1;
425 $coff_set = 1;
426 #warn "CSB: mark coff<$coff> soff<$soff> 1<$1>\n";
427 #warn "[" . substr($blk, $soff, $coff - $soff + 1) . "]\n";
408 } 428 }
409 429
410 if (($type eq '' || $type eq '(') && $c eq '(') { 430 if (($type eq '' || $type eq '(') && $c eq '(') {
@@ -417,6 +437,8 @@ sub ctx_statement_block {
417 437
418 if ($level == 0 && $coff < $soff) { 438 if ($level == 0 && $coff < $soff) {
419 $coff = $off; 439 $coff = $off;
440 $coff_set = 1;
441 #warn "CSB: mark coff<$coff>\n";
420 } 442 }
421 } 443 }
422 if (($type eq '' || $type eq '{') && $c eq '{') { 444 if (($type eq '' || $type eq '{') && $c eq '{') {
@@ -444,7 +466,7 @@ sub ctx_statement_block {
444 #warn "STATEMENT<$statement>\n"; 466 #warn "STATEMENT<$statement>\n";
445 #warn "CONDITION<$condition>\n"; 467 #warn "CONDITION<$condition>\n";
446 468
447 #print "off<$off> loff<$loff>\n"; 469 #print "coff<$coff> soff<$off> loff<$loff>\n";
448 470
449 return ($statement, $condition, 471 return ($statement, $condition,
450 $line, $remain + 1, $off - $loff + 1, $level); 472 $line, $remain + 1, $off - $loff + 1, $level);
@@ -502,7 +524,7 @@ sub ctx_statement_full {
502 # Grab the first conditional/block pair. 524 # Grab the first conditional/block pair.
503 ($statement, $condition, $linenr, $remain, $off, $level) = 525 ($statement, $condition, $linenr, $remain, $off, $level) =
504 ctx_statement_block($linenr, $remain, $off); 526 ctx_statement_block($linenr, $remain, $off);
505 #print "F: c<$condition> s<$statement>\n"; 527 #print "F: c<$condition> s<$statement> remain<$remain>\n";
506 push(@chunks, [ $condition, $statement ]); 528 push(@chunks, [ $condition, $statement ]);
507 if (!($remain > 0 && $condition =~ /^\s*(?:\n[+-])?\s*(?:if|else|do)\b/s)) { 529 if (!($remain > 0 && $condition =~ /^\s*(?:\n[+-])?\s*(?:if|else|do)\b/s)) {
508 return ($level, $linenr, @chunks); 530 return ($level, $linenr, @chunks);
@@ -514,7 +536,7 @@ sub ctx_statement_full {
514 ($statement, $condition, $linenr, $remain, $off, $level) = 536 ($statement, $condition, $linenr, $remain, $off, $level) =
515 ctx_statement_block($linenr, $remain, $off); 537 ctx_statement_block($linenr, $remain, $off);
516 #print "C: c<$condition> s<$statement> remain<$remain>\n"; 538 #print "C: c<$condition> s<$statement> remain<$remain>\n";
517 last if (!($remain > 0 && $condition =~ /^\s*(?:\n[+-])?\s*(?:else|do)\b/s)); 539 last if (!($remain > 0 && $condition =~ /^(?:\s*\n[+-])*\s*(?:else|do)\b/s));
518 #print "C: push\n"; 540 #print "C: push\n";
519 push(@chunks, [ $condition, $statement ]); 541 push(@chunks, [ $condition, $statement ]);
520 } 542 }
@@ -668,6 +690,7 @@ sub annotate_values {
668 print "$stream\n" if ($dbg_values > 1); 690 print "$stream\n" if ($dbg_values > 1);
669 691
670 while (length($cur)) { 692 while (length($cur)) {
693 @av_paren_type = ('E') if ($#av_paren_type < 0);
671 print " <" . join('', @av_paren_type) . 694 print " <" . join('', @av_paren_type) .
672 "> <$type> " if ($dbg_values > 1); 695 "> <$type> " if ($dbg_values > 1);
673 if ($cur =~ /^(\s+)/o) { 696 if ($cur =~ /^(\s+)/o) {
@@ -804,28 +827,34 @@ sub possible {
804my $prefix = ''; 827my $prefix = '';
805 828
806sub report { 829sub report {
830 if (defined $tst_only && $_[0] !~ /\Q$tst_only\E/) {
831 return 0;
832 }
807 my $line = $prefix . $_[0]; 833 my $line = $prefix . $_[0];
808 834
809 $line = (split('\n', $line))[0] . "\n" if ($terse); 835 $line = (split('\n', $line))[0] . "\n" if ($terse);
810 836
811 push(our @report, $line); 837 push(our @report, $line);
838
839 return 1;
812} 840}
813sub report_dump { 841sub report_dump {
814 our @report; 842 our @report;
815} 843}
816sub ERROR { 844sub ERROR {
817 report("ERROR: $_[0]\n"); 845 if (report("ERROR: $_[0]\n")) {
818 our $clean = 0; 846 our $clean = 0;
819 our $cnt_error++; 847 our $cnt_error++;
848 }
820} 849}
821sub WARN { 850sub WARN {
822 report("WARNING: $_[0]\n"); 851 if (report("WARNING: $_[0]\n")) {
823 our $clean = 0; 852 our $clean = 0;
824 our $cnt_warn++; 853 our $cnt_warn++;
854 }
825} 855}
826sub CHK { 856sub CHK {
827 if ($check) { 857 if ($check && report("CHECK: $_[0]\n")) {
828 report("CHECK: $_[0]\n");
829 our $clean = 0; 858 our $clean = 0;
830 our $cnt_chk++; 859 our $cnt_chk++;
831 } 860 }
@@ -867,30 +896,76 @@ sub process {
867 my $prev_values = 'E'; 896 my $prev_values = 'E';
868 897
869 # suppression flags 898 # suppression flags
870 my $suppress_ifbraces = 0; 899 my %suppress_ifbraces;
871 900
872 # Pre-scan the patch sanitizing the lines. 901 # Pre-scan the patch sanitizing the lines.
873 # Pre-scan the patch looking for any __setup documentation. 902 # Pre-scan the patch looking for any __setup documentation.
874 # 903 #
875 my @setup_docs = (); 904 my @setup_docs = ();
876 my $setup_docs = 0; 905 my $setup_docs = 0;
906
907 sanitise_line_reset();
877 my $line; 908 my $line;
878 foreach my $rawline (@rawlines) { 909 foreach my $rawline (@rawlines) {
879 # Standardise the strings and chars within the input to 910 $linenr++;
880 # simplify matching. 911 $line = $rawline;
881 $line = sanitise_line($rawline);
882 push(@lines, $line);
883
884 ##print "==>$rawline\n";
885 ##print "-->$line\n";
886 912
887 if ($line=~/^\+\+\+\s+(\S+)/) { 913 if ($rawline=~/^\+\+\+\s+(\S+)/) {
888 $setup_docs = 0; 914 $setup_docs = 0;
889 if ($1 =~ m@Documentation/kernel-parameters.txt$@) { 915 if ($1 =~ m@Documentation/kernel-parameters.txt$@) {
890 $setup_docs = 1; 916 $setup_docs = 1;
891 } 917 }
892 next; 918 #next;
919 }
920 if ($rawline=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) {
921 $realline=$1-1;
922 if (defined $2) {
923 $realcnt=$3+1;
924 } else {
925 $realcnt=1+1;
926 }
927
928 # Guestimate if this is a continuing comment. Run
929 # the context looking for a comment "edge". If this
930 # edge is a close comment then we must be in a comment
931 # at context start.
932 my $edge;
933 for (my $ln = $linenr; $ln < ($linenr + $realcnt); $ln++) {
934 next if ($line =~ /^-/);
935 ($edge) = ($rawlines[$ln - 1] =~ m@(/\*|\*/)@);
936 last if (defined $edge);
937 }
938 if (defined $edge && $edge eq '*/') {
939 $in_comment = 1;
940 }
941
942 # Guestimate if this is a continuing comment. If this
943 # is the start of a diff block and this line starts
944 # ' *' then it is very likely a comment.
945 if (!defined $edge &&
946 $rawlines[$linenr] =~ m@^.\s* \*(?:\s|$)@)
947 {
948 $in_comment = 1;
949 }
950
951 ##print "COMMENT:$in_comment edge<$edge> $rawline\n";
952 sanitise_line_reset($in_comment);
953
954 } elsif ($realcnt) {
955 # Standardise the strings and chars within the input to
956 # simplify matching.
957 $line = sanitise_line($rawline);
893 } 958 }
959 push(@lines, $line);
960
961 if ($realcnt > 1) {
962 $realcnt-- if ($line =~ /^(?:\+| |$)/);
963 } else {
964 $realcnt = 0;
965 }
966
967 #print "==>$rawline\n";
968 #print "-->$line\n";
894 969
895 if ($setup_docs && $line =~ /^\+/) { 970 if ($setup_docs && $line =~ /^\+/) {
896 push(@setup_docs, $line); 971 push(@setup_docs, $line);
@@ -899,23 +974,17 @@ sub process {
899 974
900 $prefix = ''; 975 $prefix = '';
901 976
977 $realcnt = 0;
978 $linenr = 0;
902 foreach my $line (@lines) { 979 foreach my $line (@lines) {
903 $linenr++; 980 $linenr++;
904 981
905 my $rawline = $rawlines[$linenr - 1]; 982 my $rawline = $rawlines[$linenr - 1];
906 983
907#extract the filename as it passes
908 if ($line=~/^\+\+\+\s+(\S+)/) {
909 $realfile=$1;
910 $realfile =~ s@^[^/]*/@@;
911 $in_comment = 0;
912 next;
913 }
914#extract the line range in the file after the patch is applied 984#extract the line range in the file after the patch is applied
915 if ($line=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) { 985 if ($line=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) {
916 $is_patch = 1; 986 $is_patch = 1;
917 $first_line = $linenr + 1; 987 $first_line = $linenr + 1;
918 $in_comment = 0;
919 $realline=$1-1; 988 $realline=$1-1;
920 if (defined $2) { 989 if (defined $2) {
921 $realcnt=$3+1; 990 $realcnt=$3+1;
@@ -925,50 +994,16 @@ sub process {
925 annotate_reset(); 994 annotate_reset();
926 $prev_values = 'E'; 995 $prev_values = 'E';
927 996
928 $suppress_ifbraces = $linenr - 1; 997 %suppress_ifbraces = ();
929 next; 998 next;
930 }
931 999
932# track the line number as we move through the hunk, note that 1000# track the line number as we move through the hunk, note that
933# new versions of GNU diff omit the leading space on completely 1001# new versions of GNU diff omit the leading space on completely
934# blank context lines so we need to count that too. 1002# blank context lines so we need to count that too.
935 if ($line =~ /^( |\+|$)/) { 1003 } elsif ($line =~ /^( |\+|$)/) {
936 $realline++; 1004 $realline++;
937 $realcnt-- if ($realcnt != 0); 1005 $realcnt-- if ($realcnt != 0);
938 1006
939 # Guestimate if this is a continuing comment. Run
940 # the context looking for a comment "edge". If this
941 # edge is a close comment then we must be in a comment
942 # at context start.
943 if ($linenr == $first_line) {
944 my $edge;
945 for (my $ln = $first_line; $ln < ($linenr + $realcnt); $ln++) {
946 ($edge) = ($rawlines[$ln - 1] =~ m@(/\*|\*/)@);
947 last if (defined $edge);
948 }
949 if (defined $edge && $edge eq '*/') {
950 $in_comment = 1;
951 }
952 }
953
954 # Guestimate if this is a continuing comment. If this
955 # is the start of a diff block and this line starts
956 # ' *' then it is very likely a comment.
957 if ($linenr == $first_line and $rawline =~ m@^.\s* \*(?:\s|$)@) {
958 $in_comment = 1;
959 }
960
961 # Find the last comment edge on _this_ line.
962 $comment_edge = 0;
963 while (($rawline =~ m@(/\*|\*/)@g)) {
964 if ($1 eq '/*') {
965 $in_comment = 1;
966 } else {
967 $in_comment = 0;
968 }
969 $comment_edge = 1;
970 }
971
972 # Measure the line length and indent. 1007 # Measure the line length and indent.
973 ($length, $indent) = line_stats($rawline); 1008 ($length, $indent) = line_stats($rawline);
974 1009
@@ -977,23 +1012,36 @@ sub process {
977 ($previndent, $stashindent) = ($stashindent, $indent); 1012 ($previndent, $stashindent) = ($stashindent, $indent);
978 ($prevrawline, $stashrawline) = ($stashrawline, $rawline); 1013 ($prevrawline, $stashrawline) = ($stashrawline, $rawline);
979 1014
980 #warn "ic<$in_comment> ce<$comment_edge> line<$line>\n"; 1015 #warn "line<$line>\n";
981 1016
982 } elsif ($realcnt == 1) { 1017 } elsif ($realcnt == 1) {
983 $realcnt--; 1018 $realcnt--;
984 } 1019 }
985 1020
986#make up the handle for any error we report on this line 1021#make up the handle for any error we report on this line
1022 $prefix = "$filename:$realline: " if ($emacs && $file);
1023 $prefix = "$filename:$linenr: " if ($emacs && !$file);
1024
987 $here = "#$linenr: " if (!$file); 1025 $here = "#$linenr: " if (!$file);
988 $here = "#$realline: " if ($file); 1026 $here = "#$realline: " if ($file);
1027
1028 # extract the filename as it passes
1029 if ($line=~/^\+\+\+\s+(\S+)/) {
1030 $realfile = $1;
1031 $realfile =~ s@^[^/]*/@@;
1032
1033 if ($realfile =~ m@include/asm/@) {
1034 ERROR("do not modify files in include/asm, change architecture specific files in include/asm-<architecture>\n" . "$here$rawline\n");
1035 }
1036 next;
1037 }
1038
989 $here .= "FILE: $realfile:$realline:" if ($realcnt != 0); 1039 $here .= "FILE: $realfile:$realline:" if ($realcnt != 0);
990 1040
991 my $hereline = "$here\n$rawline\n"; 1041 my $hereline = "$here\n$rawline\n";
992 my $herecurr = "$here\n$rawline\n"; 1042 my $herecurr = "$here\n$rawline\n";
993 my $hereprev = "$here\n$prevrawline\n$rawline\n"; 1043 my $hereprev = "$here\n$prevrawline\n$rawline\n";
994 1044
995 $prefix = "$filename:$realline: " if ($emacs && $file);
996 $prefix = "$filename:$linenr: " if ($emacs && !$file);
997 $cnt_lines++ if ($realcnt != 0); 1045 $cnt_lines++ if ($realcnt != 0);
998 1046
999#check the patch for a signoff: 1047#check the patch for a signoff:
@@ -1005,7 +1053,7 @@ sub process {
1005 $herecurr); 1053 $herecurr);
1006 } 1054 }
1007 if ($line =~ /^\s*signed-off-by:\S/i) { 1055 if ($line =~ /^\s*signed-off-by:\S/i) {
1008 WARN("need space after Signed-off-by:\n" . 1056 WARN("space required after Signed-off-by:\n" .
1009 $herecurr); 1057 $herecurr);
1010 } 1058 }
1011 } 1059 }
@@ -1072,11 +1120,6 @@ sub process {
1072 WARN("CVS style keyword markers, these will _not_ be updated\n". $herecurr); 1120 WARN("CVS style keyword markers, these will _not_ be updated\n". $herecurr);
1073 } 1121 }
1074 1122
1075# The rest of our checks refer specifically to C style
1076# only apply those _outside_ comments. Only skip
1077# lines in the middle of comments.
1078 next if (!$comment_edge && $in_comment);
1079
1080# Check for potential 'bare' types 1123# Check for potential 'bare' types
1081 if ($realcnt) { 1124 if ($realcnt) {
1082 my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0); 1125 my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0);
@@ -1110,7 +1153,7 @@ sub process {
1110 my ($name_len) = length($1); 1153 my ($name_len) = length($1);
1111 1154
1112 my $ctx = $s; 1155 my $ctx = $s;
1113 substr($ctx, 0, $name_len + 1) = ''; 1156 substr($ctx, 0, $name_len + 1, '');
1114 $ctx =~ s/\)[^\)]*$//; 1157 $ctx =~ s/\)[^\)]*$//;
1115 1158
1116 for my $arg (split(/\s*,\s*/, $ctx)) { 1159 for my $arg (split(/\s*,\s*/, $ctx)) {
@@ -1151,27 +1194,33 @@ sub process {
1151 1194
1152# if/while/etc brace do not go on next line, unless defining a do while loop, 1195# if/while/etc brace do not go on next line, unless defining a do while loop,
1153# or if that brace on the next line is for something else 1196# or if that brace on the next line is for something else
1154 if ($line =~ /\b(?:(if|while|for|switch)\s*\(|do\b|else\b)/ && $line !~ /^.#/) { 1197 if ($line =~ /(.*)\b((?:if|while|for|switch)\s*\(|do\b|else\b)/ && $line !~ /^.#/) {
1198 my $pre_ctx = "$1$2";
1199
1155 my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0); 1200 my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0);
1156 my $ctx_ln = $linenr + $#ctx + 1; 1201 my $ctx_ln = $linenr + $#ctx + 1;
1157 my $ctx_cnt = $realcnt - $#ctx - 1; 1202 my $ctx_cnt = $realcnt - $#ctx - 1;
1158 my $ctx = join("\n", @ctx); 1203 my $ctx = join("\n", @ctx);
1159 1204
1205 ##warn "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n";
1206
1160 # Skip over any removed lines in the context following statement. 1207 # Skip over any removed lines in the context following statement.
1161 while ($ctx_cnt > 0 && $lines[$ctx_ln - 1] =~ /^-/) { 1208 while (defined($lines[$ctx_ln - 1]) && $lines[$ctx_ln - 1] =~ /^-/) {
1162 $ctx_ln++; 1209 $ctx_ln++;
1163 $ctx_cnt--;
1164 } 1210 }
1165 ##warn "line<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>"; 1211 ##warn "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n";
1166 1212
1167 if ($ctx !~ /{\s*/ && $ctx_cnt > 0 && $lines[$ctx_ln - 1] =~ /^\+\s*{/) { 1213 if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln -1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) {
1168 ERROR("That open brace { should be on the previous line\n" . 1214 ERROR("that open brace { should be on the previous line\n" .
1169 "$here\n$ctx\n$lines[$ctx_ln - 1]"); 1215 "$here\n$ctx\n$lines[$ctx_ln - 1]");
1170 } 1216 }
1171 if ($level == 0 && $ctx =~ /\)\s*\;\s*$/ && defined $lines[$ctx_ln - 1]) { 1217 if ($level == 0 && $pre_ctx !~ /}\s*while\s*\($/ &&
1218 $ctx =~ /\)\s*\;\s*$/ &&
1219 defined $lines[$ctx_ln - 1])
1220 {
1172 my ($nlength, $nindent) = line_stats($lines[$ctx_ln - 1]); 1221 my ($nlength, $nindent) = line_stats($lines[$ctx_ln - 1]);
1173 if ($nindent > $indent) { 1222 if ($nindent > $indent) {
1174 WARN("Trailing semicolon indicates no statements, indent implies otherwise\n" . 1223 WARN("trailing semicolon indicates no statements, indent implies otherwise\n" .
1175 "$here\n$ctx\n$lines[$ctx_ln - 1]"); 1224 "$here\n$ctx\n$lines[$ctx_ln - 1]");
1176 } 1225 }
1177 } 1226 }
@@ -1200,7 +1249,7 @@ sub process {
1200# check for initialisation to aggregates open brace on the next line 1249# check for initialisation to aggregates open brace on the next line
1201 if ($prevline =~ /$Declare\s*$Ident\s*=\s*$/ && 1250 if ($prevline =~ /$Declare\s*$Ident\s*=\s*$/ &&
1202 $line =~ /^.\s*{/) { 1251 $line =~ /^.\s*{/) {
1203 ERROR("That open brace { should be on the previous line\n" . $hereprev); 1252 ERROR("that open brace { should be on the previous line\n" . $hereprev);
1204 } 1253 }
1205 1254
1206# 1255#
@@ -1325,22 +1374,31 @@ sub process {
1325# check for spaces between functions and their parentheses. 1374# check for spaces between functions and their parentheses.
1326 while ($line =~ /($Ident)\s+\(/g) { 1375 while ($line =~ /($Ident)\s+\(/g) {
1327 my $name = $1; 1376 my $name = $1;
1328 my $ctx = substr($line, 0, $-[1]); 1377 my $ctx_before = substr($line, 0, $-[1]);
1378 my $ctx = "$ctx_before$name";
1329 1379
1330 # Ignore those directives where spaces _are_ permitted. 1380 # Ignore those directives where spaces _are_ permitted.
1331 if ($name =~ /^(?:if|for|while|switch|return|volatile|__volatile__|__attribute__|format|__extension__|Copyright|case|__asm__)$/) { 1381 if ($name =~ /^(?:
1382 if|for|while|switch|return|case|
1383 volatile|__volatile__|
1384 __attribute__|format|__extension__|
1385 asm|__asm__)$/x)
1386 {
1332 1387
1333 # cpp #define statements have non-optional spaces, ie 1388 # cpp #define statements have non-optional spaces, ie
1334 # if there is a space between the name and the open 1389 # if there is a space between the name and the open
1335 # parenthesis it is simply not a parameter group. 1390 # parenthesis it is simply not a parameter group.
1336 } elsif ($ctx =~ /^.\#\s*define\s*$/) { 1391 } elsif ($ctx_before =~ /^.\#\s*define\s*$/) {
1392
1393 # cpp #elif statement condition may start with a (
1394 } elsif ($ctx =~ /^.\#\s*elif\s*$/) {
1337 1395
1338 # If this whole things ends with a type its most 1396 # If this whole things ends with a type its most
1339 # likely a typedef for a function. 1397 # likely a typedef for a function.
1340 } elsif ("$ctx$name" =~ /$Type$/) { 1398 } elsif ($ctx =~ /$Type$/) {
1341 1399
1342 } else { 1400 } else {
1343 WARN("no space between function name and open parenthesis '('\n" . $herecurr); 1401 WARN("space prohibited between function name and open parenthesis '('\n" . $herecurr);
1344 } 1402 }
1345 } 1403 }
1346# Check operator spacing. 1404# Check operator spacing.
@@ -1359,13 +1417,21 @@ sub process {
1359 for (my $n = 0; $n < $#elements; $n += 2) { 1417 for (my $n = 0; $n < $#elements; $n += 2) {
1360 $off += length($elements[$n]); 1418 $off += length($elements[$n]);
1361 1419
1420 # Pick up the preceeding and succeeding characters.
1421 my $ca = substr($opline, 0, $off);
1422 my $cc = '';
1423 if (length($opline) >= ($off + length($elements[$n + 1]))) {
1424 $cc = substr($opline, $off + length($elements[$n + 1]));
1425 }
1426 my $cb = "$ca$;$cc";
1427
1362 my $a = ''; 1428 my $a = '';
1363 $a = 'V' if ($elements[$n] ne ''); 1429 $a = 'V' if ($elements[$n] ne '');
1364 $a = 'W' if ($elements[$n] =~ /\s$/); 1430 $a = 'W' if ($elements[$n] =~ /\s$/);
1365 $a = 'C' if ($elements[$n] =~ /$;$/); 1431 $a = 'C' if ($elements[$n] =~ /$;$/);
1366 $a = 'B' if ($elements[$n] =~ /(\[|\()$/); 1432 $a = 'B' if ($elements[$n] =~ /(\[|\()$/);
1367 $a = 'O' if ($elements[$n] eq ''); 1433 $a = 'O' if ($elements[$n] eq '');
1368 $a = 'E' if ($elements[$n] eq '' && $n == 0); 1434 $a = 'E' if ($ca =~ /^\s*$/);
1369 1435
1370 my $op = $elements[$n + 1]; 1436 my $op = $elements[$n + 1];
1371 1437
@@ -1381,14 +1447,6 @@ sub process {
1381 $c = 'E'; 1447 $c = 'E';
1382 } 1448 }
1383 1449
1384 # Pick up the preceeding and succeeding characters.
1385 my $ca = substr($opline, 0, $off);
1386 my $cc = '';
1387 if (length($opline) >= ($off + length($elements[$n + 1]))) {
1388 $cc = substr($opline, $off + length($elements[$n + 1]));
1389 }
1390 my $cb = "$ca$;$cc";
1391
1392 my $ctx = "${a}x${c}"; 1450 my $ctx = "${a}x${c}";
1393 1451
1394 my $at = "(ctx:$ctx)"; 1452 my $at = "(ctx:$ctx)";
@@ -1424,7 +1482,7 @@ sub process {
1424 } elsif ($op eq ';') { 1482 } elsif ($op eq ';') {
1425 if ($ctx !~ /.x[WEBC]/ && 1483 if ($ctx !~ /.x[WEBC]/ &&
1426 $cc !~ /^\\/ && $cc !~ /^;/) { 1484 $cc !~ /^\\/ && $cc !~ /^;/) {
1427 ERROR("need space after that '$op' $at\n" . $hereptr); 1485 ERROR("space required after that '$op' $at\n" . $hereptr);
1428 } 1486 }
1429 1487
1430 # // is a comment 1488 # // is a comment
@@ -1433,13 +1491,13 @@ sub process {
1433 # -> should have no spaces 1491 # -> should have no spaces
1434 } elsif ($op eq '->') { 1492 } elsif ($op eq '->') {
1435 if ($ctx =~ /Wx.|.xW/) { 1493 if ($ctx =~ /Wx.|.xW/) {
1436 ERROR("no spaces around that '$op' $at\n" . $hereptr); 1494 ERROR("spaces prohibited around that '$op' $at\n" . $hereptr);
1437 } 1495 }
1438 1496
1439 # , must have a space on the right. 1497 # , must have a space on the right.
1440 } elsif ($op eq ',') { 1498 } elsif ($op eq ',') {
1441 if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/) { 1499 if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/) {
1442 ERROR("need space after that '$op' $at\n" . $hereptr); 1500 ERROR("space required after that '$op' $at\n" . $hereptr);
1443 } 1501 }
1444 1502
1445 # '*' as part of a type definition -- reported already. 1503 # '*' as part of a type definition -- reported already.
@@ -1452,21 +1510,26 @@ sub process {
1452 } elsif ($op eq '!' || $op eq '~' || 1510 } elsif ($op eq '!' || $op eq '~' ||
1453 ($is_unary && ($op eq '*' || $op eq '-' || $op eq '&'))) { 1511 ($is_unary && ($op eq '*' || $op eq '-' || $op eq '&'))) {
1454 if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) { 1512 if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) {
1455 ERROR("need space before that '$op' $at\n" . $hereptr); 1513 ERROR("space required before that '$op' $at\n" . $hereptr);
1456 } 1514 }
1457 if ($ctx =~ /.xW/) { 1515 if ($ctx =~ /.xW/) {
1458 ERROR("no space after that '$op' $at\n" . $hereptr); 1516 ERROR("space prohibited after that '$op' $at\n" . $hereptr);
1459 } 1517 }
1460 1518
1461 # unary ++ and unary -- are allowed no space on one side. 1519 # unary ++ and unary -- are allowed no space on one side.
1462 } elsif ($op eq '++' or $op eq '--') { 1520 } elsif ($op eq '++' or $op eq '--') {
1463 if ($ctx !~ /[WOBC]x[^W]/ && $ctx !~ /[^W]x[WOBEC]/) { 1521 if ($ctx !~ /[WEOBC]x[^W]/ && $ctx !~ /[^W]x[WOBEC]/) {
1464 ERROR("need space one side of that '$op' $at\n" . $hereptr); 1522 ERROR("space required one side of that '$op' $at\n" . $hereptr);
1523 }
1524 if ($ctx =~ /Wx[BE]/ ||
1525 ($ctx =~ /Wx./ && $cc =~ /^;/)) {
1526 ERROR("space prohibited before that '$op' $at\n" . $hereptr);
1465 } 1527 }
1466 if ($ctx =~ /WxB/ || ($ctx =~ /Wx./ && $cc =~ /^;/)) { 1528 if ($ctx =~ /ExW/) {
1467 ERROR("no space before that '$op' $at\n" . $hereptr); 1529 ERROR("space prohibited after that '$op' $at\n" . $hereptr);
1468 } 1530 }
1469 1531
1532
1470 # << and >> may either have or not have spaces both sides 1533 # << and >> may either have or not have spaces both sides
1471 } elsif ($op eq '<<' or $op eq '>>' or 1534 } elsif ($op eq '<<' or $op eq '>>' or
1472 $op eq '&' or $op eq '^' or $op eq '|' or 1535 $op eq '&' or $op eq '^' or $op eq '|' or
@@ -1474,7 +1537,7 @@ sub process {
1474 $op eq '*' or $op eq '/' or 1537 $op eq '*' or $op eq '/' or
1475 $op eq '%') 1538 $op eq '%')
1476 { 1539 {
1477 if ($ctx !~ /VxV|WxW|VxE|WxE|VxO|Cx.|.xC/) { 1540 if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) {
1478 ERROR("need consistent spacing around '$op' $at\n" . 1541 ERROR("need consistent spacing around '$op' $at\n" .
1479 $hereptr); 1542 $hereptr);
1480 } 1543 }
@@ -1484,7 +1547,7 @@ sub process {
1484 # Ignore email addresses <foo@bar> 1547 # Ignore email addresses <foo@bar>
1485 if (!($op eq '<' && $cb =~ /$;\S+\@\S+>/) && 1548 if (!($op eq '<' && $cb =~ /$;\S+\@\S+>/) &&
1486 !($op eq '>' && $cb =~ /<\S+\@\S+$;/)) { 1549 !($op eq '>' && $cb =~ /<\S+\@\S+$;/)) {
1487 ERROR("need spaces around that '$op' $at\n" . $hereptr); 1550 ERROR("spaces required around that '$op' $at\n" . $hereptr);
1488 } 1551 }
1489 } 1552 }
1490 $off += length($elements[$n + 1]); 1553 $off += length($elements[$n + 1]);
@@ -1514,31 +1577,31 @@ sub process {
1514#need space before brace following if, while, etc 1577#need space before brace following if, while, etc
1515 if (($line =~ /\(.*\){/ && $line !~ /\($Type\){/) || 1578 if (($line =~ /\(.*\){/ && $line !~ /\($Type\){/) ||
1516 $line =~ /do{/) { 1579 $line =~ /do{/) {
1517 ERROR("need a space before the open brace '{'\n" . $herecurr); 1580 ERROR("space required before the open brace '{'\n" . $herecurr);
1518 } 1581 }
1519 1582
1520# closing brace should have a space following it when it has anything 1583# closing brace should have a space following it when it has anything
1521# on the line 1584# on the line
1522 if ($line =~ /}(?!(?:,|;|\)))\S/) { 1585 if ($line =~ /}(?!(?:,|;|\)))\S/) {
1523 ERROR("need a space after that close brace '}'\n" . $herecurr); 1586 ERROR("space required after that close brace '}'\n" . $herecurr);
1524 } 1587 }
1525 1588
1526# check spacing on square brackets 1589# check spacing on square brackets
1527 if ($line =~ /\[\s/ && $line !~ /\[\s*$/) { 1590 if ($line =~ /\[\s/ && $line !~ /\[\s*$/) {
1528 ERROR("no space after that open square bracket '['\n" . $herecurr); 1591 ERROR("space prohibited after that open square bracket '['\n" . $herecurr);
1529 } 1592 }
1530 if ($line =~ /\s\]/) { 1593 if ($line =~ /\s\]/) {
1531 ERROR("no space before that close square bracket ']'\n" . $herecurr); 1594 ERROR("space prohibited before that close square bracket ']'\n" . $herecurr);
1532 } 1595 }
1533 1596
1534# check spacing on paretheses 1597# check spacing on paretheses
1535 if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ && 1598 if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ &&
1536 $line !~ /for\s*\(\s+;/) { 1599 $line !~ /for\s*\(\s+;/) {
1537 ERROR("no space after that open parenthesis '('\n" . $herecurr); 1600 ERROR("space prohibited after that open parenthesis '('\n" . $herecurr);
1538 } 1601 }
1539 if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ && 1602 if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ &&
1540 $line !~ /for\s*\(.*;\s+\)/) { 1603 $line !~ /for\s*\(.*;\s+\)/) {
1541 ERROR("no space before that close parenthesis ')'\n" . $herecurr); 1604 ERROR("space prohibited before that close parenthesis ')'\n" . $herecurr);
1542 } 1605 }
1543 1606
1544#goto labels aren't indented, allow a single space however 1607#goto labels aren't indented, allow a single space however
@@ -1549,7 +1612,7 @@ sub process {
1549 1612
1550# Need a space before open parenthesis after if, while etc 1613# Need a space before open parenthesis after if, while etc
1551 if ($line=~/\b(if|while|for|switch)\(/) { 1614 if ($line=~/\b(if|while|for|switch)\(/) {
1552 ERROR("need a space before the open parenthesis '('\n" . $herecurr); 1615 ERROR("space required before the open parenthesis '('\n" . $herecurr);
1553 } 1616 }
1554 1617
1555# Check for illegal assignment in if conditional. 1618# Check for illegal assignment in if conditional.
@@ -1562,10 +1625,12 @@ sub process {
1562 1625
1563 # Find out what is on the end of the line after the 1626 # Find out what is on the end of the line after the
1564 # conditional. 1627 # conditional.
1565 substr($s, 0, length($c)) = ''; 1628 substr($s, 0, length($c), '');
1566 $s =~ s/\n.*//g; 1629 $s =~ s/\n.*//g;
1567 $s =~ s/$;//g; # Remove any comments 1630 $s =~ s/$;//g; # Remove any comments
1568 if (length($c) && $s !~ /^\s*({|;|)\s*\\*\s*$/) { 1631 if (length($c) && $s !~ /^\s*({|;|)\s*\\*\s*$/ &&
1632 $c !~ /^.\#\s*if/)
1633 {
1569 ERROR("trailing statements should be on next line\n" . $herecurr); 1634 ERROR("trailing statements should be on next line\n" . $herecurr);
1570 } 1635 }
1571 } 1636 }
@@ -1607,7 +1672,7 @@ sub process {
1607 1672
1608 # Find out what is on the end of the line after the 1673 # Find out what is on the end of the line after the
1609 # conditional. 1674 # conditional.
1610 substr($s, 0, length($c)) = ''; 1675 substr($s, 0, length($c), '');
1611 $s =~ s/\n.*//g; 1676 $s =~ s/\n.*//g;
1612 1677
1613 if ($s =~ /^\s*;/) { 1678 if ($s =~ /^\s*;/) {
@@ -1631,7 +1696,7 @@ sub process {
1631 if ($tree && $rawline =~ m{^.\#\s*include\s*\<asm\/(.*)\.h\>}) { 1696 if ($tree && $rawline =~ m{^.\#\s*include\s*\<asm\/(.*)\.h\>}) {
1632 my $checkfile = "$root/include/linux/$1.h"; 1697 my $checkfile = "$root/include/linux/$1.h";
1633 if (-f $checkfile && $1 ne 'irq.h') { 1698 if (-f $checkfile && $1 ne 'irq.h') {
1634 CHK("Use #include <linux/$1.h> instead of <asm/$1.h>\n" . 1699 WARN("Use #include <linux/$1.h> instead of <asm/$1.h>\n" .
1635 $herecurr); 1700 $herecurr);
1636 } 1701 }
1637 } 1702 }
@@ -1692,15 +1757,24 @@ sub process {
1692 if ($#chunks > 0 && $level == 0) { 1757 if ($#chunks > 0 && $level == 0) {
1693 my $allowed = 0; 1758 my $allowed = 0;
1694 my $seen = 0; 1759 my $seen = 0;
1695 my $herectx = $here . "\n";; 1760 my $herectx = $here . "\n";
1696 my $ln = $linenr - 1; 1761 my $ln = $linenr - 1;
1697 for my $chunk (@chunks) { 1762 for my $chunk (@chunks) {
1698 my ($cond, $block) = @{$chunk}; 1763 my ($cond, $block) = @{$chunk};
1699 1764
1700 $herectx .= "$rawlines[$ln]\n[...]\n"; 1765 # If the condition carries leading newlines, then count those as offsets.
1766 my ($whitespace) = ($cond =~ /^((?:\s*\n[+-])*\s*)/s);
1767 my $offset = statement_rawlines($whitespace) - 1;
1768
1769 #print "COND<$cond> whitespace<$whitespace> offset<$offset>\n";
1770
1771 # We have looked at and allowed this specific line.
1772 $suppress_ifbraces{$ln + $offset} = 1;
1773
1774 $herectx .= "$rawlines[$ln + $offset]\n[...]\n";
1701 $ln += statement_rawlines($block) - 1; 1775 $ln += statement_rawlines($block) - 1;
1702 1776
1703 substr($block, 0, length($cond)) = ''; 1777 substr($block, 0, length($cond), '');
1704 1778
1705 $seen++ if ($block =~ /^\s*{/); 1779 $seen++ if ($block =~ /^\s*{/);
1706 1780
@@ -1721,16 +1795,10 @@ sub process {
1721 if ($seen && !$allowed) { 1795 if ($seen && !$allowed) {
1722 WARN("braces {} are not necessary for any arm of this statement\n" . $herectx); 1796 WARN("braces {} are not necessary for any arm of this statement\n" . $herectx);
1723 } 1797 }
1724 # Either way we have looked over this whole
1725 # statement and said what needs to be said.
1726 $suppress_ifbraces = $endln;
1727 } 1798 }
1728 } 1799 }
1729 if ($linenr > $suppress_ifbraces && 1800 if (!defined $suppress_ifbraces{$linenr - 1} &&
1730 $line =~ /\b(if|while|for|else)\b/) { 1801 $line =~ /\b(if|while|for|else)\b/) {
1731 my ($level, $endln, @chunks) =
1732 ctx_statement_full($linenr, $realcnt, $-[0]);
1733
1734 my $allowed = 0; 1802 my $allowed = 0;
1735 1803
1736 # Check the pre-context. 1804 # Check the pre-context.
@@ -1738,10 +1806,15 @@ sub process {
1738 #print "APW: ALLOWED: pre<$1>\n"; 1806 #print "APW: ALLOWED: pre<$1>\n";
1739 $allowed = 1; 1807 $allowed = 1;
1740 } 1808 }
1809
1810 my ($level, $endln, @chunks) =
1811 ctx_statement_full($linenr, $realcnt, $-[0]);
1812
1741 # Check the condition. 1813 # Check the condition.
1742 my ($cond, $block) = @{$chunks[0]}; 1814 my ($cond, $block) = @{$chunks[0]};
1815 #print "CHECKING<$linenr> cond<$cond> block<$block>\n";
1743 if (defined $cond) { 1816 if (defined $cond) {
1744 substr($block, 0, length($cond)) = ''; 1817 substr($block, 0, length($cond), '');
1745 } 1818 }
1746 if (statement_lines($cond) > 1) { 1819 if (statement_lines($cond) > 1) {
1747 #print "APW: ALLOWED: cond<$cond>\n"; 1820 #print "APW: ALLOWED: cond<$cond>\n";
@@ -1759,7 +1832,7 @@ sub process {
1759 if (defined $chunks[1]) { 1832 if (defined $chunks[1]) {
1760 my ($cond, $block) = @{$chunks[1]}; 1833 my ($cond, $block) = @{$chunks[1]};
1761 if (defined $cond) { 1834 if (defined $cond) {
1762 substr($block, 0, length($cond)) = ''; 1835 substr($block, 0, length($cond), '');
1763 } 1836 }
1764 if ($block =~ /^\s*\{/) { 1837 if ($block =~ /^\s*\{/) {
1765 #print "APW: ALLOWED: chunk-1 block<$block>\n"; 1838 #print "APW: ALLOWED: chunk-1 block<$block>\n";
@@ -1882,6 +1955,28 @@ sub process {
1882 if ($line =~ /__FUNCTION__/) { 1955 if ($line =~ /__FUNCTION__/) {
1883 WARN("__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr); 1956 WARN("__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr);
1884 } 1957 }
1958
1959# check for semaphores used as mutexes
1960 if ($line =~ /\b(DECLARE_MUTEX|init_MUTEX)\s*\(/) {
1961 WARN("mutexes are preferred for single holder semaphores\n" . $herecurr);
1962 }
1963# check for semaphores used as mutexes
1964 if ($line =~ /\binit_MUTEX_LOCKED\s*\(/) {
1965 WARN("consider using a completion\n" . $herecurr);
1966 }
1967# recommend strict_strto* over simple_strto*
1968 if ($line =~ /\bsimple_(strto.*?)\s*\(/) {
1969 WARN("consider using strict_$1 in preference to simple_$1\n" . $herecurr);
1970 }
1971
1972# use of NR_CPUS is usually wrong
1973# ignore definitions of NR_CPUS and usage to define arrays as likely right
1974 if ($line =~ /\bNR_CPUS\b/ &&
1975 $line !~ /^.#\s*define\s+NR_CPUS\s+/ &&
1976 $line !~ /^.\s*$Declare\s.*\[[^\]]*NR_CPUS[^\]]*\]/)
1977 {
1978 WARN("usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc\n" . $herecurr);
1979 }
1885 } 1980 }
1886 1981
1887 # If we have no input at all, then there is nothing to report on 1982 # If we have no input at all, then there is nothing to report on
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 9ddf944cce2..348d8687b7c 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -51,11 +51,13 @@ do { \
51 sprintf(str + strlen(str), "*"); \ 51 sprintf(str + strlen(str), "*"); \
52} while(0) 52} while(0)
53 53
54unsigned int cross_build = 0;
54/** 55/**
55 * Check that sizeof(device_id type) are consistent with size of section 56 * Check that sizeof(device_id type) are consistent with size of section
56 * in .o file. If in-consistent then userspace and kernel does not agree 57 * in .o file. If in-consistent then userspace and kernel does not agree
57 * on actual size which is a bug. 58 * on actual size which is a bug.
58 * Also verify that the final entry in the table is all zeros. 59 * Also verify that the final entry in the table is all zeros.
60 * Ignore both checks if build host differ from target host and size differs.
59 **/ 61 **/
60static void device_id_check(const char *modname, const char *device_id, 62static void device_id_check(const char *modname, const char *device_id,
61 unsigned long size, unsigned long id_size, 63 unsigned long size, unsigned long id_size,
@@ -64,6 +66,8 @@ static void device_id_check(const char *modname, const char *device_id,
64 int i; 66 int i;
65 67
66 if (size % id_size || size < id_size) { 68 if (size % id_size || size < id_size) {
69 if (cross_build != 0)
70 return;
67 fatal("%s: sizeof(struct %s_device_id)=%lu is not a modulo " 71 fatal("%s: sizeof(struct %s_device_id)=%lu is not a modulo "
68 "of the size of section __mod_%s_device_table=%lu.\n" 72 "of the size of section __mod_%s_device_table=%lu.\n"
69 "Fix definition of struct %s_device_id " 73 "Fix definition of struct %s_device_id "
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 695b5d657cf..110cf243fa4 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -2026,7 +2026,7 @@ int main(int argc, char **argv)
2026 int opt; 2026 int opt;
2027 int err; 2027 int err;
2028 2028
2029 while ((opt = getopt(argc, argv, "i:I:msSo:awM:K:")) != -1) { 2029 while ((opt = getopt(argc, argv, "i:I:cmsSo:awM:K:")) != -1) {
2030 switch (opt) { 2030 switch (opt) {
2031 case 'i': 2031 case 'i':
2032 kernel_read = optarg; 2032 kernel_read = optarg;
@@ -2035,6 +2035,9 @@ int main(int argc, char **argv)
2035 module_read = optarg; 2035 module_read = optarg;
2036 external_module = 1; 2036 external_module = 1;
2037 break; 2037 break;
2038 case 'c':
2039 cross_build = 1;
2040 break;
2038 case 'm': 2041 case 'm':
2039 modversions = 1; 2042 modversions = 1;
2040 break; 2043 break;
diff --git a/scripts/mod/modpost.h b/scripts/mod/modpost.h
index 565c5872407..09f58e33d22 100644
--- a/scripts/mod/modpost.h
+++ b/scripts/mod/modpost.h
@@ -135,6 +135,7 @@ struct elf_info {
135}; 135};
136 136
137/* file2alias.c */ 137/* file2alias.c */
138extern unsigned int cross_build;
138void handle_moddevtable(struct module *mod, struct elf_info *info, 139void handle_moddevtable(struct module *mod, struct elf_info *info,
139 Elf_Sym *sym, const char *symname); 140 Elf_Sym *sym, const char *symname);
140void add_moddevtable(struct buffer *buf, struct module *mod); 141void add_moddevtable(struct buffer *buf, struct module *mod);
diff --git a/security/capability.c b/security/capability.c
index 9e99f36a8b5..2c6e06d18fa 100644
--- a/security/capability.c
+++ b/security/capability.c
@@ -40,7 +40,6 @@ static struct security_operations capability_ops = {
40 .inode_need_killpriv = cap_inode_need_killpriv, 40 .inode_need_killpriv = cap_inode_need_killpriv,
41 .inode_killpriv = cap_inode_killpriv, 41 .inode_killpriv = cap_inode_killpriv,
42 42
43 .task_kill = cap_task_kill,
44 .task_setscheduler = cap_task_setscheduler, 43 .task_setscheduler = cap_task_setscheduler,
45 .task_setioprio = cap_task_setioprio, 44 .task_setioprio = cap_task_setioprio,
46 .task_setnice = cap_task_setnice, 45 .task_setnice = cap_task_setnice,
diff --git a/security/commoncap.c b/security/commoncap.c
index bb0c095f576..06d5c9469ba 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -540,41 +540,6 @@ int cap_task_setnice (struct task_struct *p, int nice)
540 return cap_safe_nice(p); 540 return cap_safe_nice(p);
541} 541}
542 542
543int cap_task_kill(struct task_struct *p, struct siginfo *info,
544 int sig, u32 secid)
545{
546 if (info != SEND_SIG_NOINFO && (is_si_special(info) || SI_FROMKERNEL(info)))
547 return 0;
548
549 /*
550 * Running a setuid root program raises your capabilities.
551 * Killing your own setuid root processes was previously
552 * allowed.
553 * We must preserve legacy signal behavior in this case.
554 */
555 if (p->uid == current->uid)
556 return 0;
557
558 /* sigcont is permitted within same session */
559 if (sig == SIGCONT && (task_session_nr(current) == task_session_nr(p)))
560 return 0;
561
562 if (secid)
563 /*
564 * Signal sent as a particular user.
565 * Capabilities are ignored. May be wrong, but it's the
566 * only thing we can do at the moment.
567 * Used only by usb drivers?
568 */
569 return 0;
570 if (cap_issubset(p->cap_permitted, current->cap_permitted))
571 return 0;
572 if (capable(CAP_KILL))
573 return 0;
574
575 return -EPERM;
576}
577
578/* 543/*
579 * called from kernel/sys.c for prctl(PR_CABSET_DROP) 544 * called from kernel/sys.c for prctl(PR_CABSET_DROP)
580 * done without task_capability_lock() because it introduces 545 * done without task_capability_lock() because it introduces
@@ -605,11 +570,6 @@ int cap_task_setnice (struct task_struct *p, int nice)
605{ 570{
606 return 0; 571 return 0;
607} 572}
608int cap_task_kill(struct task_struct *p, struct siginfo *info,
609 int sig, u32 secid)
610{
611 return 0;
612}
613#endif 573#endif
614 574
615void cap_task_reparent_to_init (struct task_struct *p) 575void cap_task_reparent_to_init (struct task_struct *p)
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 4bf4807f2d4..c2fef7b12dc 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -800,7 +800,8 @@ static void selinux_sb_clone_mnt_opts(const struct super_block *oldsb,
800 mutex_unlock(&newsbsec->lock); 800 mutex_unlock(&newsbsec->lock);
801} 801}
802 802
803int selinux_parse_opts_str(char *options, struct security_mnt_opts *opts) 803static int selinux_parse_opts_str(char *options,
804 struct security_mnt_opts *opts)
804{ 805{
805 char *p; 806 char *p;
806 char *context = NULL, *defcontext = NULL; 807 char *context = NULL, *defcontext = NULL;
@@ -1629,6 +1630,12 @@ static inline u32 file_to_av(struct file *file)
1629 else 1630 else
1630 av |= FILE__WRITE; 1631 av |= FILE__WRITE;
1631 } 1632 }
1633 if (!av) {
1634 /*
1635 * Special file opened with flags 3 for ioctl-only use.
1636 */
1637 av = FILE__IOCTL;
1638 }
1632 1639
1633 return av; 1640 return av;
1634} 1641}
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index 0241fd35967..732ba27923c 100644
--- a/security/smack/smack_lsm.c
+++ b/security/smack/smack_lsm.c
@@ -1117,11 +1117,6 @@ static int smack_task_movememory(struct task_struct *p)
1117static int smack_task_kill(struct task_struct *p, struct siginfo *info, 1117static int smack_task_kill(struct task_struct *p, struct siginfo *info,
1118 int sig, u32 secid) 1118 int sig, u32 secid)
1119{ 1119{
1120 int rc;
1121
1122 rc = cap_task_kill(p, info, sig, secid);
1123 if (rc != 0)
1124 return rc;
1125 /* 1120 /*
1126 * Special cases where signals really ought to go through 1121 * Special cases where signals really ought to go through
1127 * in spite of policy. Stephen Smalley suggests it may 1122 * in spite of policy. Stephen Smalley suggests it may
@@ -1508,7 +1503,7 @@ static int smack_shm_associate(struct shmid_kernel *shp, int shmflg)
1508 */ 1503 */
1509static int smack_shm_shmctl(struct shmid_kernel *shp, int cmd) 1504static int smack_shm_shmctl(struct shmid_kernel *shp, int cmd)
1510{ 1505{
1511 char *ssp = smack_of_shm(shp); 1506 char *ssp;
1512 int may; 1507 int may;
1513 1508
1514 switch (cmd) { 1509 switch (cmd) {
@@ -1532,6 +1527,7 @@ static int smack_shm_shmctl(struct shmid_kernel *shp, int cmd)
1532 return -EINVAL; 1527 return -EINVAL;
1533 } 1528 }
1534 1529
1530 ssp = smack_of_shm(shp);
1535 return smk_curacc(ssp, may); 1531 return smk_curacc(ssp, may);
1536} 1532}
1537 1533
@@ -1616,7 +1612,7 @@ static int smack_sem_associate(struct sem_array *sma, int semflg)
1616 */ 1612 */
1617static int smack_sem_semctl(struct sem_array *sma, int cmd) 1613static int smack_sem_semctl(struct sem_array *sma, int cmd)
1618{ 1614{
1619 char *ssp = smack_of_sem(sma); 1615 char *ssp;
1620 int may; 1616 int may;
1621 1617
1622 switch (cmd) { 1618 switch (cmd) {
@@ -1645,6 +1641,7 @@ static int smack_sem_semctl(struct sem_array *sma, int cmd)
1645 return -EINVAL; 1641 return -EINVAL;
1646 } 1642 }
1647 1643
1644 ssp = smack_of_sem(sma);
1648 return smk_curacc(ssp, may); 1645 return smk_curacc(ssp, may);
1649} 1646}
1650 1647
@@ -1730,7 +1727,7 @@ static int smack_msg_queue_associate(struct msg_queue *msq, int msqflg)
1730 */ 1727 */
1731static int smack_msg_queue_msgctl(struct msg_queue *msq, int cmd) 1728static int smack_msg_queue_msgctl(struct msg_queue *msq, int cmd)
1732{ 1729{
1733 char *msp = smack_of_msq(msq); 1730 char *msp;
1734 int may; 1731 int may;
1735 1732
1736 switch (cmd) { 1733 switch (cmd) {
@@ -1752,6 +1749,7 @@ static int smack_msg_queue_msgctl(struct msg_queue *msq, int cmd)
1752 return -EINVAL; 1749 return -EINVAL;
1753 } 1750 }
1754 1751
1752 msp = smack_of_msq(msq);
1755 return smk_curacc(msp, may); 1753 return smk_curacc(msp, may);
1756} 1754}
1757 1755
diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c
index afe7c9b0732..cfae8afcc26 100644
--- a/security/smack/smackfs.c
+++ b/security/smack/smackfs.c
@@ -74,11 +74,6 @@ struct smk_list_entry *smack_list;
74#define SEQ_READ_FINISHED 1 74#define SEQ_READ_FINISHED 1
75 75
76/* 76/*
77 * Disable concurrent writing open() operations
78 */
79static struct semaphore smack_write_sem;
80
81/*
82 * Values for parsing cipso rules 77 * Values for parsing cipso rules
83 * SMK_DIGITLEN: Length of a digit field in a rule. 78 * SMK_DIGITLEN: Length of a digit field in a rule.
84 * SMK_CIPSOMIN: Minimum possible cipso rule length. 79 * SMK_CIPSOMIN: Minimum possible cipso rule length.
@@ -168,32 +163,7 @@ static struct seq_operations load_seq_ops = {
168 */ 163 */
169static int smk_open_load(struct inode *inode, struct file *file) 164static int smk_open_load(struct inode *inode, struct file *file)
170{ 165{
171 if ((file->f_flags & O_ACCMODE) == O_RDONLY) 166 return seq_open(file, &load_seq_ops);
172 return seq_open(file, &load_seq_ops);
173
174 if (down_interruptible(&smack_write_sem))
175 return -ERESTARTSYS;
176
177 return 0;
178}
179
180/**
181 * smk_release_load - release() for /smack/load
182 * @inode: inode structure representing file
183 * @file: "load" file pointer
184 *
185 * For a reading session, use the seq_file release
186 * implementation.
187 * Otherwise, we are at the end of a writing session so
188 * clean everything up.
189 */
190static int smk_release_load(struct inode *inode, struct file *file)
191{
192 if ((file->f_flags & O_ACCMODE) == O_RDONLY)
193 return seq_release(inode, file);
194
195 up(&smack_write_sem);
196 return 0;
197} 167}
198 168
199/** 169/**
@@ -341,7 +311,7 @@ static const struct file_operations smk_load_ops = {
341 .read = seq_read, 311 .read = seq_read,
342 .llseek = seq_lseek, 312 .llseek = seq_lseek,
343 .write = smk_write_load, 313 .write = smk_write_load,
344 .release = smk_release_load, 314 .release = seq_release,
345}; 315};
346 316
347/** 317/**
@@ -1011,7 +981,6 @@ static int __init init_smk_fs(void)
1011 } 981 }
1012 } 982 }
1013 983
1014 sema_init(&smack_write_sem, 1);
1015 smk_cipso_doi(); 984 smk_cipso_doi();
1016 smk_unlbl_ambient(NULL); 985 smk_unlbl_ambient(NULL);
1017 986
diff --git a/sound/oss/ac97_codec.c b/sound/oss/ac97_codec.c
index 87a67268076..b63839e8f9b 100644
--- a/sound/oss/ac97_codec.c
+++ b/sound/oss/ac97_codec.c
@@ -1202,3 +1202,5 @@ static int pt101_init(struct ac97_codec * codec)
1202 1202
1203EXPORT_SYMBOL(ac97_probe_codec); 1203EXPORT_SYMBOL(ac97_probe_codec);
1204 1204
1205MODULE_LICENSE("GPL");
1206
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index 569ecaca0e8..889a897d41a 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -1187,10 +1187,8 @@ static struct i2c_driver aic3x_i2c_driver = {
1187 .name = "aic3x I2C Codec", 1187 .name = "aic3x I2C Codec",
1188 .owner = THIS_MODULE, 1188 .owner = THIS_MODULE,
1189 }, 1189 },
1190 .id = I2C_DRIVERID_I2CDEV,
1191 .attach_adapter = aic3x_i2c_attach, 1190 .attach_adapter = aic3x_i2c_attach,
1192 .detach_client = aic3x_i2c_detach, 1191 .detach_client = aic3x_i2c_detach,
1193 .command = NULL,
1194}; 1192};
1195 1193
1196static struct i2c_client client_template = { 1194static struct i2c_client client_template = {